diff --git a/.travis.yml b/.travis.yml index b9a9431388bf..39f21eaded98 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,11 @@ cache: - "~/.platformio" env: - - TEST_PLATFORM="-e megaatmega2560" + - TEST_PLATFORM="megaatmega2560" + - TEST_PLATFORM="LPC1768" + - TEST_PLATFORM="DUE" + - TEST_PLATFORM="STM32F1" + - TEST_PLATFORM="teensy35" before_install: # @@ -26,6 +30,8 @@ before_install: # Publish the buildroot script folder - chmod +x ${TRAVIS_BUILD_DIR}/buildroot/bin/* - export PATH=${TRAVIS_BUILD_DIR}/buildroot/bin/:${PATH} + - chmod +x ${TRAVIS_BUILD_DIR}/buildroot/share/tests/* + - export PATH=${TRAVIS_BUILD_DIR}/buildroot/share/tests/:${PATH} install: #- pip install -U platformio @@ -43,420 +49,4 @@ before_script: - cat ${TRAVIS_BUILD_DIR}/Marlin/src/inc/_Version.h # script: - # - # Backup pins_RAMPS.h - # - - cp Marlin/src/pins/pins_RAMPS.h Marlin/src/pins/pins_RAMPS.h.backup - # - # Build with the default configurations - # - - restore_configs - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test 2 extruders (one MAX6675) and heated bed on basic RAMPS 1.4 - # Test a "Fix Mounted" Probe with Safe Homing, some arc options, - # linear bed leveling, M48, leveling debug, and firmware retraction. - # - - opt_set MOTHERBOARD BOARD_RAMPS_14_EEB - - opt_set EXTRUDERS 2 - - opt_set TEMP_SENSOR_0 -2 - - opt_set TEMP_SENSOR_1 1 - - opt_set TEMP_SENSOR_BED 1 - - opt_set POWER_SUPPLY 1 - - opt_enable PIDTEMPBED FIX_MOUNTED_PROBE Z_SAFE_HOMING - - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS - - opt_enable BLINKM PCA9632 RGB_LED NEOPIXEL_LED AUTO_POWER_CONTROL NOZZLE_PARK_FEATURE FILAMENT_RUNOUT_SENSOR - - opt_enable AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE - - opt_enable_adv ARC_P_CIRCLES ADVANCED_PAUSE_FEATURE CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS - - opt_enable_adv FWRETRACT MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CODEPENDENT_XY_HOMING - - opt_set GRID_MAX_POINTS_X 16 - - opt_set_adv FANMUX0_PIN 53 - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test a probeless build of AUTO_BED_LEVELING_UBL, with lots of extruders - # - - restore_configs - - opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO - - opt_set EXTRUDERS 5 - - opt_set TEMP_SENSOR_1 1 - - opt_set TEMP_SENSOR_2 5 - - opt_set TEMP_SENSOR_3 20 - - opt_set TEMP_SENSOR_4 999 - - opt_set TEMP_SENSOR_BED 1 - - opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 DEBUG_LEVELING_FEATURE G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT EEPROM_SETTINGS EEPROM_CHITCHAT G3D_PANEL SKEW_CORRECTION - - opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING BABYSTEP_XY LIN_ADVANCE NANODLP_Z_SYNC QUICK_HOME - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language - # - - opt_set LANGUAGE kana_utf8 - - opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE - - opt_disable SEGMENT_LEVELED_MOVES - - opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test a Servo Probe - # ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES - # - - restore_configs - - opt_enable NUM_SERVOS Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE - - opt_set NUM_SERVOS 1 - - opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS EEPROM_CHITCHAT - - opt_enable_adv NO_VOLUMETRICS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES AUTOTEMP G38_PROBE_TARGET - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test MESH_BED_LEVELING feature, with LCD - # - - restore_configs - - opt_enable MESH_BED_LEVELING G26_MESH_EDITING MESH_G28_REST_ORIGIN LCD_BED_LEVELING ULTIMAKERCONTROLLER - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test MINIRAMBO for PWM_MOTOR_CURRENT - # PROBE_MANUALLY feature, with LCD support, - # ULTIMAKERCONTROLLER, FILAMENT_LCD_DISPLAY, FILAMENT_WIDTH_SENSOR, - # PRINTCOUNTER, NOZZLE_PARK_FEATURE, NOZZLE_CLEAN_FEATURE, PCA9632, - # Z_DUAL_STEPPER_DRIVERS, Z_DUAL_ENDSTOPS, BEZIER_CURVE_SUPPORT, EXPERIMENTAL_I2CBUS, - # ADVANCED_PAUSE_FEATURE, ADVANCED_PAUSE_CONTINUOUS_PURGE, PARK_HEAD_ON_PAUSE, LCD_INFO_MENU, - # EEPROM_SETTINGS, EEPROM_CHITCHAT, M100_FREE_MEMORY_WATCHER, - # INCH_MODE_SUPPORT, TEMPERATURE_UNITS_SUPPORT - # - - restore_configs - - opt_set MOTHERBOARD BOARD_MINIRAMBO - - opt_enable PROBE_MANUALLY AUTO_BED_LEVELING_BILINEAR G26_MESH_EDITING LCD_BED_LEVELING ULTIMAKERCONTROLLER - - opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT M100_FREE_MEMORY_WATCHER M100_FREE_MEMORY_DUMPER M100_FREE_MEMORY_CORRUPTOR INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT - - opt_enable ULTIMAKERCONTROLLER SDSUPPORT - - opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PCA9632 USE_XMAX_PLUG - - opt_enable_adv BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS - - opt_enable_adv ADVANCED_PAUSE_FEATURE ADVANCED_PAUSE_CONTINUOUS_PURGE FILAMENT_LOAD_UNLOAD_GCODES PARK_HEAD_ON_PAUSE LCD_INFO_MENU M114_DETAIL - - opt_set_adv PWM_MOTOR_CURRENT {1300,1300,1250} - - opt_set_adv I2C_SLAVE_ADDRESS 63 - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Mixing Extruder with 5 steppers - # - - restore_configs - - opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO - - opt_enable MIXING_EXTRUDER - - opt_set MIXING_STEPPERS 5 - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test DUAL_X_CARRIAGE - # - - restore_configs - - opt_set MOTHERBOARD BOARD_RUMBA - - opt_set EXTRUDERS 2 - - opt_set TEMP_SENSOR_1 1 - - opt_enable USE_XMAX_PLUG - - opt_enable_adv DUAL_X_CARRIAGE - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test SPEAKER with BOARD_BQ_ZUM_MEGA_3D and BQ_LCD_SMART_CONTROLLER - # - - restore_configs - - opt_set MOTHERBOARD BOARD_BQ_ZUM_MEGA_3D - - opt_set LCD_FEEDBACK_FREQUENCY_DURATION_MS 10 - - opt_set LCD_FEEDBACK_FREQUENCY_HZ 100 - - opt_enable BQ_LCD_SMART_CONTROLLER SPEAKER - # - # Test SWITCHING_EXTRUDER - # - - restore_configs - - opt_set MOTHERBOARD BOARD_RUMBA - - opt_set EXTRUDERS 2 - - opt_enable NUM_SERVOS - - opt_set NUM_SERVOS 1 - - opt_set TEMP_SENSOR_1 1 - - opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Enable COREXY - # - - restore_configs - - opt_enable COREXY - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test many less common options - # - - restore_configs - - opt_enable COREYX - - opt_set_adv FAN_MIN_PWM 50 - - opt_set_adv FAN_KICKSTART_TIME 100 - - opt_set_adv XY_FREQUENCY_LIMIT 15 - - opt_enable_adv SHOW_TEMP_ADC_VALUES HOME_Y_BEFORE_X EMERGENCY_PARSER FAN_KICKSTART_TIME - - opt_enable_adv ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED ADVANCED_OK - - opt_enable_adv VOLUMETRIC_DEFAULT_ON NO_WORKSPACE_OFFSETS ACTION_ON_KILL - - opt_enable_adv EXTRA_FAN_SPEED FWERETRACT Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS - - opt_enable_adv MENU_ADDAUTOSTART SDCARD_SORT_ALPHA - - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER - - opt_enable FILAMENT_LCD_DISPLAY FILAMENT_WIDTH_SENSOR - - opt_enable ENDSTOP_INTERRUPTS_FEATURE FAN_SOFT_PWM SDSUPPORT - - opt_enable USE_XMAX_PLUG - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - ######## Other Standard LCD/Panels ############## - # - # ULTRA_LCD - # - - restore_configs - - opt_enable ULTRA_LCD - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # DOGLCD - # - - restore_configs - - opt_enable DOGLCD - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # MAKRPANEL - # Needs to use Melzi and Sanguino hardware - # - #- restore_configs - #- opt_enable MAKRPANEL - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # REPRAP_DISCOUNT_SMART_CONTROLLER, SDSUPPORT, BABYSTEPPING, RIGIDBOARD_V2, and DAC_MOTOR_CURRENT_DEFAULT - # - - restore_configs - - opt_set MOTHERBOARD BOARD_RIGIDBOARD_V2 - - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT BABYSTEPPING DAC_MOTOR_CURRENT_DEFAULT - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # G3D_PANEL with SDCARD_SORT_ALPHA and STATUS_MESSAGE_SCROLLING - # - - restore_configs - - opt_enable G3D_PANEL SDSUPPORT - - opt_enable_adv SDCARD_SORT_ALPHA STATUS_MESSAGE_SCROLLING SCROLL_LONG_FILENAMES - - opt_set_adv SDSORT_GCODE true - - opt_set_adv SDSORT_USES_RAM true - - opt_set_adv SDSORT_USES_STACK true - - opt_set_adv SDSORT_CACHE_NAMES true - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER with SDCARD_SORT_ALPHA and STATUS_MESSAGE_SCROLLING - # - - restore_configs - - opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT - - opt_enable_adv SDCARD_SORT_ALPHA STATUS_MESSAGE_SCROLLING SCROLL_LONG_FILENAMES LIGHTWEIGHT_UI - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # REPRAPWORLD_KEYPAD - # - # Cant find configuration details to get it to compile - #- restore_configs - #- opt_enable ULTRA_LCD REPRAPWORLD_KEYPAD REPRAPWORLD_KEYPAD_MOVE_STEP - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # RA_CONTROL_PANEL - # - - restore_configs - - opt_enable RA_CONTROL_PANEL PINS_DEBUGGING - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - ######## I2C LCD/PANELS ############## - # - # !!!ATTENTION!!! - # Most I2C configurations are failing at the moment because they require - # a different Liquid Crystal library "LiquidTWI2". - # - # LCD_SAINSMART_I2C_1602 - # - #- restore_configs - #- opt_enable LCD_SAINSMART_I2C_1602 - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # LCD_I2C_PANELOLU2 - # - #- restore_configs - #- opt_enable LCD_I2C_PANELOLU2 - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # LCD_I2C_VIKI - # - #- restore_configs - #- opt_enable LCD_I2C_VIKI - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # LCM1602 - # - - restore_configs - - opt_enable LCM1602 - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # - ######## Example Configurations ############## - # - # BQ Hephestos 2 - #- restore_configs - #- use_example_configs Hephestos_2 - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Delta Config (generic) + ABL bilinear + PROBE_MANUALLY - - use_example_configs delta/generic - - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER DELTA_CALIBRATION_MENU AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Delta Config (generic) + UBL + ALLEN_KEY + OLED_PANEL_TINYBOY2 + EEPROM_SETTINGS - # - - use_example_configs delta/generic - - opt_disable DISABLE_MIN_ENDSTOPS - - opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 Z_PROBE_ALLEN_KEY EEPROM_SETTINGS EEPROM_CHITCHAT OLED_PANEL_TINYBOY2 MESH_EDIT_GFX_OVERLAY - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Delta Config (FLSUN AC because it's complex) - # - - use_example_configs delta/FLSUN/auto_calibrate - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Makibox Config need to check board type for Teensy++ 2.0 - # - #- use_example_configs makibox - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # SCARA with TMC2130 - # - - use_example_configs SCARA - - opt_enable AUTO_BED_LEVELING_BILINEAR FIX_MOUNTED_PROBE USE_ZMIN_PLUG EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER SCARA_FEEDRATE_SCALING - - opt_enable_adv HAVE_TMC2130 X_IS_TMC2130 Y_IS_TMC2130 Z_IS_TMC2130 - - opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD SENSORLESS_HOMING - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # TMC2208 Config - # - - restore_configs - - opt_enable_adv HAVE_TMC2208 X_IS_TMC2208 Y_IS_TMC2208 Z_IS_TMC2208 - - opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD TMC_DEBUG - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # tvrrug Config need to check board type for sanguino atmega644p - # - #- use_example_configs tvrrug/Round2 - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # - ######## Board Types ############# - # - # To be added in nightly test branch - # - - - export TEST_PLATFORM="-e teensy35" - - restore_configs - - opt_set MOTHERBOARD BOARD_TEENSY35_36 - - cp Marlin/Configuration.h Marlin/src/config/default/Configuration.h - - cp Marlin/Configuration_adv.h Marlin/src/config/default/Configuration_adv.h - - cp Marlin/src/pins/pins_RAMPS.h Marlin/src/pins/pins_RAMPS.h.backup - # - # Test Teensy3.5 with default config - # - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test as many features together as possible - # - - restore_configs - - opt_set EXTRUDERS 2 - - opt_set TEMP_SENSOR_0 1 - - opt_set TEMP_SENSOR_1 5 - - opt_set TEMP_SENSOR_BED 1 - - opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT - - opt_enable FILAMENT_WIDTH_SENSOR FILAMENT_LCD_DISPLAY - - opt_enable FIX_MOUNTED_PROBE Z_SAFE_HOMING AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE - - opt_enable BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET BABYSTEP_ZPROBE_GFX_OVERLAY - - opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT M100_FREE_MEMORY_WATCHER - - opt_enable_adv ADVANCED_PAUSE_FEATURE LCD_INFO_MENU ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES SDCARD_SORT_ALPHA PARK_HEAD_ON_PAUSE - - opt_set_adv I2C_SLAVE_ADDRESS 63 - - opt_set GRID_MAX_POINTS_X 16 - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test a Sled Z Probe with Linear leveling - # - - restore_configs - - opt_enable Z_PROBE_SLED - - opt_enable AUTO_BED_LEVELING_LINEAR DEBUG_LEVELING_FEATURE EEPROM_SETTINGS - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test a Servo Probe - # - - restore_configs - - opt_enable NUM_SERVOS Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE - - opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES - # - - opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS - - opt_enable_adv EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test MESH_BED_LEVELING feature, with LCD - # - - restore_configs - - opt_enable MESH_BED_LEVELING MESH_G28_REST_ORIGIN MANUAL_BED_LEVELING ULTIMAKERCONTROLLER - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Mixing Extruder - # - - restore_configs - - opt_enable MIXING_EXTRUDER DIRECT_MIXING_IN_G1 - - opt_set MIXING_STEPPERS 2 - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test SWITCHING_EXTRUDER - # - - restore_configs - - opt_set EXTRUDERS 2 - - opt_enable NUM_SERVOS - - opt_set NUM_SERVOS 1 - - opt_set TEMP_SENSOR_1 1 - - opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Enable COREXY - # - - restore_configs - - opt_enable COREXY - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Enable COREXZ - # - - restore_configs - - opt_enable COREXZ - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Enable Z_DUAL_STEPPER_DRIVERS, Z_DUAL_ENDSTOPS - # - - restore_configs - - opt_enable_adv Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS - - pins_set RAMPS X_MAX_PIN -1 - - opt_add_adv Z2_MAX_PIN 2 - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - - ############################# - # DUE default config test - ############################# - - - export TEST_PLATFORM="-e DUE" - - restore_configs - - opt_set MOTHERBOARD BOARD_RAMPS4DUE_EFB - - opt_set BEZIER_JERK_CONTROL - - cp Marlin/Configuration.h Marlin/src/config/default/Configuration.h - - cp Marlin/Configuration_adv.h Marlin/src/config/default/Configuration_adv.h - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - - ############################# - # LPC1768 default config test - ############################# - - - export TEST_PLATFORM="-e LPC1768" - - restore_configs - - opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EFB - - cp Marlin/Configuration.h Marlin/src/config/default/Configuration.h - - cp Marlin/Configuration_adv.h Marlin/src/config/default/Configuration_adv.h - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Enable VIKI2, SDSUPPORT - # - - restore_configs - - opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EFB - - cp Marlin/Configuration.h Marlin/src/config/default/Configuration.h - - cp Marlin/Configuration_adv.h Marlin/src/config/default/Configuration_adv.h - - opt_enable VIKI2 SDSUPPORT - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} + - start_tests ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index e21b580e3f67..104a797cb034 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -544,10 +551,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +663,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +722,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +752,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +798,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +825,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +864,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +927,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1109,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1122,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1400,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1431,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1457,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1530,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1565,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1573,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1580,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1648,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1745,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1765,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1793,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1880,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 73c25edf30d2..42827a6eed4e 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/Makefile b/Marlin/Makefile index adee0b4eb9fe..bc0b85a766b8 100644 --- a/Marlin/Makefile +++ b/Marlin/Makefile @@ -64,6 +64,9 @@ HARDWARE_MOTHERBOARD ?= 11 ARDUINO_INSTALL_DIR ?= ${HOME}/Arduino 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) AVR_TOOLS_PATH ?= @@ -110,319 +113,296 @@ endif # HARDWARE_VARIANT = "arduino", "Sanguino", "Gen7", ... # MCU = "atmega1280", "Mega2560", "atmega2560", "atmega644p", ... -#Gen7 -ifeq ($(HARDWARE_MOTHERBOARD),10) -HARDWARE_VARIANT ?= Gen7 -MCU ?= atmega644 -F_CPU ?= 20000000 -else ifeq ($(HARDWARE_MOTHERBOARD),11) -HARDWARE_VARIANT ?= Gen7 -MCU ?= atmega644p -F_CPU ?= 20000000 -else ifeq ($(HARDWARE_MOTHERBOARD),12) -HARDWARE_VARIANT ?= Gen7 -MCU ?= atmega644p -F_CPU ?= 20000000 -else ifeq ($(HARDWARE_MOTHERBOARD),13) -HARDWARE_VARIANT ?= Gen7 -MCU ?= atmega1284p -F_CPU ?= 20000000 +ifeq ($(HARDWARE_MOTHERBOARD),0) -#RAMPS -else ifeq ($(HARDWARE_MOTHERBOARD),3) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),33) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),34) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),35) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),36) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),38) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),43) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),44) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),45) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),46) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),48) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 + # No motherboard selected -#RAMPS equivalents -else ifeq ($(HARDWARE_MOTHERBOARD),143) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),144) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),145) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),146) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),148) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),77) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),78) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),79) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),401) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),402) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),40) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),41) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),47) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),53) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),504) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),37) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),42) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),52) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),49) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),72) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),80) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),503) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),431) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),343) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),243) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 +# +# RAMPS 1.3 / 1.4 - ATmega1280, ATmega2560 +# -#Other ATmega1280, ATmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),111) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),112) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),2) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),21) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),200) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),70) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),701) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),703) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),704) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),302) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),303) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),304) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),305) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),21) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),999) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),310) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),321) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),74) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),75) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 +# MEGA/RAMPS up to 1.2 +else ifeq ($(HARDWARE_MOTHERBOARD),3) + +# RAMPS 1.3 (Power outputs: Hotend, Fan, Bed) +else ifeq ($(HARDWARE_MOTHERBOARD),33) +# RAMPS 1.3 (Power outputs: Hotend0, Hotend1, Bed) +else ifeq ($(HARDWARE_MOTHERBOARD),34) +# RAMPS 1.3 (Power outputs: Hotend, Fan0, Fan1) +else ifeq ($(HARDWARE_MOTHERBOARD),35) +# RAMPS 1.3 (Power outputs: Hotend0, Hotend1, Fan) +else ifeq ($(HARDWARE_MOTHERBOARD),36) +# RAMPS 1.3 (Power outputs: Spindle, Controller Fan) +else ifeq ($(HARDWARE_MOTHERBOARD),38) + +# RAMPS 1.4 (Power outputs: Hotend, Fan, Bed) +else ifeq ($(HARDWARE_MOTHERBOARD),43) +# RAMPS 1.4 (Power outputs: Hotend0, Hotend1, Bed) +else ifeq ($(HARDWARE_MOTHERBOARD),44) +# RAMPS 1.4 (Power outputs: Hotend, Fan0, Fan1) +else ifeq ($(HARDWARE_MOTHERBOARD),45) +# RAMPS 1.4 (Power outputs: Hotend0, Hotend1, Fan) +else ifeq ($(HARDWARE_MOTHERBOARD),46) +# RAMPS 1.4 (Power outputs: Spindle, Controller Fan) +else ifeq ($(HARDWARE_MOTHERBOARD),48) + +# RAMPS Plus 3DYMY (Power outputs: Hotend, Fan, Bed) +else ifeq ($(HARDWARE_MOTHERBOARD),143) +# RAMPS Plus 3DYMY (Power outputs: Hotend0, Hotend1, Bed) +else ifeq ($(HARDWARE_MOTHERBOARD),144) +# RAMPS Plus 3DYMY (Power outputs: Hotend, Fan0, Fan1) +else ifeq ($(HARDWARE_MOTHERBOARD),145) +# RAMPS Plus 3DYMY (Power outputs: Hotend0, Hotend1, Fan) +else ifeq ($(HARDWARE_MOTHERBOARD),146) +# RAMPS Plus 3DYMY (Power outputs: Spindle, Controller Fan) +else ifeq ($(HARDWARE_MOTHERBOARD),148) -#Gen6 -else ifeq ($(HARDWARE_MOTHERBOARD),5) -HARDWARE_VARIANT ?= Gen6 -MCU ?= atmega644p -else ifeq ($(HARDWARE_MOTHERBOARD),51) -HARDWARE_VARIANT ?= Gen6 -MCU ?= atmega644p +# +# RAMPS Derivatives - ATmega1280, ATmega2560 +# + +# 3Drag Controller +else ifeq ($(HARDWARE_MOTHERBOARD),77) +# Velleman K8200 Controller (derived from 3Drag Controller) +else ifeq ($(HARDWARE_MOTHERBOARD),78) +# Velleman K8400 Controller (derived from 3Drag Controller) +else ifeq ($(HARDWARE_MOTHERBOARD),79) +# 2PrintBeta BAM&DICE with STK drivers +else ifeq ($(HARDWARE_MOTHERBOARD),401) +# 2PrintBeta BAM&DICE Due with STK drivers +else ifeq ($(HARDWARE_MOTHERBOARD),402) +# MKS BASE v1.0 +else ifeq ($(HARDWARE_MOTHERBOARD),40) +# MKS v1.5 with Allegro A4982 stepper drivers +else ifeq ($(HARDWARE_MOTHERBOARD),405) +# MKS BASE 1.0 with Heroic HR4982 stepper drivers +else ifeq ($(HARDWARE_MOTHERBOARD),41) +# MKS GEN v1.3 or 1.4 +else ifeq ($(HARDWARE_MOTHERBOARD),47) +# MKS GEN L +else ifeq ($(HARDWARE_MOTHERBOARD),53) +# zrib V2.0 control board (Chinese knock off RAMPS replica) +else ifeq ($(HARDWARE_MOTHERBOARD),504) +# Felix 2.0+ Electronics Board (RAMPS like) +else ifeq ($(HARDWARE_MOTHERBOARD),37) +# Invent-A-Part RigidBoard +else ifeq ($(HARDWARE_MOTHERBOARD),42) +# Invent-A-Part RigidBoard V2 +else ifeq ($(HARDWARE_MOTHERBOARD),52) +# Sainsmart 2-in-1 board +else ifeq ($(HARDWARE_MOTHERBOARD),49) +# Ultimaker +else ifeq ($(HARDWARE_MOTHERBOARD),7) +# Ultimaker (Older electronics. Pre 1.5.4. This is rare) +else ifeq ($(HARDWARE_MOTHERBOARD),71) +MCU ?= atmega1280 +# Azteeg X3 +else ifeq ($(HARDWARE_MOTHERBOARD),67) +# Azteeg X3 Pro +else ifeq ($(HARDWARE_MOTHERBOARD),68) +# Ultimainboard 2.x (Uses TEMP_SENSOR 20) +else ifeq ($(HARDWARE_MOTHERBOARD),72) +# Rumba +else ifeq ($(HARDWARE_MOTHERBOARD),80) +# bq ZUM Mega 3D +else ifeq ($(HARDWARE_MOTHERBOARD),503) +# MakeBoard Mini v2.1.2 is a control board sold by MicroMake +else ifeq ($(HARDWARE_MOTHERBOARD),431) +# TriGorilla Anycubic version 1.3 based on RAMPS EFB +else ifeq ($(HARDWARE_MOTHERBOARD),343) +# TriGorilla Anycubic version 1.4 based on RAMPS EFB +else ifeq ($(HARDWARE_MOTHERBOARD),443) +# Creality: Ender-4, CR-8 +else ifeq ($(HARDWARE_MOTHERBOARD),243) -#Sanguinololu -else ifeq ($(HARDWARE_MOTHERBOARD),6) +# +# Other ATmega1280, ATmega2560 +# + +# Cartesio CN Controls V11 +else ifeq ($(HARDWARE_MOTHERBOARD),111) +# Cartesio CN Controls V12 +else ifeq ($(HARDWARE_MOTHERBOARD),112) +# Cheaptronic v1.0 +else ifeq ($(HARDWARE_MOTHERBOARD),2) +# Cheaptronic v2.0 +else ifeq ($(HARDWARE_MOTHERBOARD),21) +# Makerbot Mightyboard Revision E +else ifeq ($(HARDWARE_MOTHERBOARD),200) +# Megatronics +else ifeq ($(HARDWARE_MOTHERBOARD),70) +# Megatronics v2.0 +else ifeq ($(HARDWARE_MOTHERBOARD),701) +# Megatronics v3.0 +else ifeq ($(HARDWARE_MOTHERBOARD),703) +# Megatronics v3.1 +else ifeq ($(HARDWARE_MOTHERBOARD),704) +# Rambo +else ifeq ($(HARDWARE_MOTHERBOARD),301) +# Mini-Rambo +else ifeq ($(HARDWARE_MOTHERBOARD),302) +# Mini-Rambo 1.0a +else ifeq ($(HARDWARE_MOTHERBOARD),303) +# Einsy Rambo +else ifeq ($(HARDWARE_MOTHERBOARD),304) +# Einsy Retro +else ifeq ($(HARDWARE_MOTHERBOARD),305) +# Elefu Ra Board (v3) +else ifeq ($(HARDWARE_MOTHERBOARD),21) +# Leapfrog +else ifeq ($(HARDWARE_MOTHERBOARD),999) +# Mega controller +else ifeq ($(HARDWARE_MOTHERBOARD),310) +# abee Scoovo X9H +else ifeq ($(HARDWARE_MOTHERBOARD),321) +# Geeetech GT2560 Rev. A +else ifeq ($(HARDWARE_MOTHERBOARD),74) +# Geeetech GT2560 Rev. A+ (with auto level probe) +else ifeq ($(HARDWARE_MOTHERBOARD),75) + +# +# ATmega1281, ATmega2561 +# + +else ifeq ($(HARDWARE_MOTHERBOARD),702) +MCU ?= atmega1281 +else ifeq ($(HARDWARE_MOTHERBOARD),25) +MCU ?= atmega1281 + +# +# Sanguinololu and Derivatives - ATmega644P, ATmega1284P +# + +# Sanguinololu < 1.2 +else ifeq ($(HARDWARE_MOTHERBOARD),6) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega644p -else ifeq ($(HARDWARE_MOTHERBOARD),62) +# Sanguinololu 1.2 and above +else ifeq ($(HARDWARE_MOTHERBOARD),62) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega644p -else ifeq ($(HARDWARE_MOTHERBOARD),63) +# Melzi +else ifeq ($(HARDWARE_MOTHERBOARD),63) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega644p -else ifeq ($(HARDWARE_MOTHERBOARD),64) +# Melzi with ATmega1284 (MaKr3d version) +else ifeq ($(HARDWARE_MOTHERBOARD),66) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p -else ifeq ($(HARDWARE_MOTHERBOARD),65) +# Melzi Creality3D board (for CR-10 etc) +else ifeq ($(HARDWARE_MOTHERBOARD),89) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p -else ifeq ($(HARDWARE_MOTHERBOARD),66) +# Melzi Malyan M150 board +else ifeq ($(HARDWARE_MOTHERBOARD),92) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p -else ifeq ($(HARDWARE_MOTHERBOARD),69) +# Tronxy X5S +else ifeq ($(HARDWARE_MOTHERBOARD),505) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p -else ifeq ($(HARDWARE_MOTHERBOARD),89) +# STB V1.1 +else ifeq ($(HARDWARE_MOTHERBOARD),64) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p -else ifeq ($(HARDWARE_MOTHERBOARD),92) +# Azteeg X1 +else ifeq ($(HARDWARE_MOTHERBOARD),65) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p -else ifeq ($(HARDWARE_MOTHERBOARD),505) +# Anet 1.0 (Melzi clone) +else ifeq ($(HARDWARE_MOTHERBOARD),69) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p -else ifeq ($(HARDWARE_MOTHERBOARD),601) + +# +# Other ATmega644P, ATmega644, ATmega1284P +# + +# Gen3 Monolithic Electronics +else ifeq ($(HARDWARE_MOTHERBOARD),22) HARDWARE_VARIANT ?= Sanguino +MCU ?= atmega644p +# Gen3+ +else ifeq ($(HARDWARE_MOTHERBOARD),9) +HARDWARE_VARIANT ?= Sanguino +MCU ?= atmega644p +# Gen6 +else ifeq ($(HARDWARE_MOTHERBOARD),5) +HARDWARE_VARIANT ?= Gen6 +MCU ?= atmega644p +# Gen6 deluxe +else ifeq ($(HARDWARE_MOTHERBOARD),51) +HARDWARE_VARIANT ?= Gen6 +MCU ?= atmega644p +# Gen7 custom (Alfons3 Version) +else ifeq ($(HARDWARE_MOTHERBOARD),10) +HARDWARE_VARIANT ?= Gen7 +MCU ?= atmega644 +F_CPU ?= 20000000 +# Gen7 v1.1, v1.2 +else ifeq ($(HARDWARE_MOTHERBOARD),11) +HARDWARE_VARIANT ?= Gen7 +MCU ?= atmega644p +F_CPU ?= 20000000 +# Gen7 v1.3 +else ifeq ($(HARDWARE_MOTHERBOARD),12) +HARDWARE_VARIANT ?= Gen7 +MCU ?= atmega644p +F_CPU ?= 20000000 +# Gen7 v1.4 +else ifeq ($(HARDWARE_MOTHERBOARD),13) +HARDWARE_VARIANT ?= Gen7 MCU ?= atmega1284p +F_CPU ?= 20000000 +# Alpha OMCA board +else ifeq ($(HARDWARE_MOTHERBOARD),90) +HARDWARE_VARIANT ?= SanguinoA +MCU ?= atmega644 +# Final OMCA board +else ifeq ($(HARDWARE_MOTHERBOARD),91) +HARDWARE_VARIANT ?= Sanguino +MCU ?= atmega644p +# Sethi 3D_1 +else ifeq ($(HARDWARE_MOTHERBOARD),20) +HARDWARE_VARIANT ?= Sanguino +MCU ?= atmega644p -#Ultimaker -else ifeq ($(HARDWARE_MOTHERBOARD),7) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),71) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega1280 - -#ATmega1281, ATmega2561 -else ifeq ($(HARDWARE_MOTHERBOARD),702) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega1281 -else ifeq ($(HARDWARE_MOTHERBOARD),25) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega1281 +# +# Teensyduino - AT90USB1286, AT90USB1286P +# -#Teensylu -else ifeq ($(HARDWARE_MOTHERBOARD),8) +# Teensylu +else ifeq ($(HARDWARE_MOTHERBOARD),8) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 -else ifeq ($(HARDWARE_MOTHERBOARD),81) +# Printrboard (AT90USB1286) +else ifeq ($(HARDWARE_MOTHERBOARD),81) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 -else ifeq ($(HARDWARE_MOTHERBOARD),811) +# Printrboard Revision F (AT90USB1286) +else ifeq ($(HARDWARE_MOTHERBOARD),811) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 -else ifeq ($(HARDWARE_MOTHERBOARD),82) +# Brainwave (AT90USB646) +else ifeq ($(HARDWARE_MOTHERBOARD),82) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb646 -else ifeq ($(HARDWARE_MOTHERBOARD),83) +# Brainwave Pro (AT90USB1286) +else ifeq ($(HARDWARE_MOTHERBOARD),83) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 -else ifeq ($(HARDWARE_MOTHERBOARD),84) +# SAV Mk-I (AT90USB1286) +else ifeq ($(HARDWARE_MOTHERBOARD),84) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 -else ifeq ($(HARDWARE_MOTHERBOARD),88) +# Teensy++2.0 (AT90USB1286) +else ifeq ($(HARDWARE_MOTHERBOARD),85) +HARDWARE_VARIANT ?= Teensy +MCU ?= at90usb1286 +# 5DPrint D8 Driver Board +else ifeq ($(HARDWARE_MOTHERBOARD),88) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 - -#Gen3+ -else ifeq ($(HARDWARE_MOTHERBOARD),9) -HARDWARE_VARIANT ?= Sanguino -MCU ?= atmega644p - -#Gen3 Monolithic Electronics -else ifeq ($(HARDWARE_MOTHERBOARD),22) -HARDWARE_VARIANT ?= Sanguino -MCU ?= atmega644p - -#Megatronics -else ifeq ($(HARDWARE_MOTHERBOARD),70) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 - -#Alpha OMCA board -else ifeq ($(HARDWARE_MOTHERBOARD),90) -HARDWARE_VARIANT ?= SanguinoA -MCU ?= atmega644 - -#Final OMCA board -else ifeq ($(HARDWARE_MOTHERBOARD),91) -HARDWARE_VARIANT ?= Sanguino -MCU ?= atmega644p - -#Sethi 3D_1 -else ifeq ($(HARDWARE_MOTHERBOARD),20) -HARDWARE_VARIANT ?= Sanguino -MCU ?= atmega644p - -#Rambo -else ifeq ($(HARDWARE_MOTHERBOARD),301) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 - -#Azteeg -else ifeq ($(HARDWARE_MOTHERBOARD),67) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 -else ifeq ($(HARDWARE_MOTHERBOARD),68) -HARDWARE_VARIANT ?= arduino -MCU ?= atmega2560 endif @@ -431,6 +411,10 @@ endif # Set to 16Mhz if not yet set. F_CPU ?= 16000000 +# Set to arduino, ATmega2560 if not yet set. +HARDWARE_VARIANT ?= arduino +MCU ?= atmega2560 + # Arduino contained the main source code for the Arduino # Libraries, the "hardware variant" are for boards # that derives from that, and their source are present in @@ -448,6 +432,17 @@ TARGET = $(notdir $(CURDIR)) VPATH = . 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/libraries/SPI @@ -479,10 +474,10 @@ HARDWARE_SUB_VARIANT ?= mega VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/variants/$(HARDWARE_SUB_VARIANT) else ifeq ($(HARDWARE_VARIANT), Sanguino) -VPATH += $(HARDWARE_DIR)/marlin/avr/variants/sanguino +VPATH += $(ARDUINO_INSTALL_DIR)/hardware/marlin/avr/variants/sanguino else 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 LIB_SRC = wiring.c \ diff --git a/Marlin/src/HAL/Delay.h b/Marlin/src/HAL/Delay.h new file mode 100644 index 000000000000..972f1e2c18be --- /dev/null +++ b/Marlin/src/HAL/Delay.h @@ -0,0 +1,148 @@ +/** + * 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 . + * + */ + +/** + * Busy wait delay cycles routines: + * + * DELAY_CYCLES(count): Delay execution in cycles + * DELAY_NS(count): Delay execution in nanoseconds + * DELAY_US(count): Delay execution in microseconds + */ + +#ifndef MARLIN_DELAY_H +#define MARLIN_DELAY_H + +#include "../core/macros.h" + +#if defined(__arm__) || defined(__thumb__) + + // https://blueprints.launchpad.net/gcc-arm-embedded/+spec/delay-cycles + + #define nop() __asm__ __volatile__("nop;\n\t":::) + + FORCE_INLINE static void __delay_4cycles(uint32_t cy) { // +1 cycle + #if ARCH_PIPELINE_RELOAD_CYCLES < 2 + #define EXTRA_NOP_CYCLES A("nop") + #else + #define EXTRA_NOP_CYCLES "" + #endif + + __asm__ __volatile__( + A(".syntax unified") // is to prevent CM0,CM1 non-unified syntax + L("1") + A("subs %[cnt],#1") + EXTRA_NOP_CYCLES + A("bne 1b") + : [cnt]"+r"(cy) // output: +r means input+output + : // input: + : "cc" // clobbers: + ); + } + + // Delay in cycles + FORCE_INLINE static void DELAY_CYCLES(uint32_t x) { + + if (__builtin_constant_p(x)) { + #define MAXNOPS 4 + + if (x <= (MAXNOPS)) { + switch (x) { case 4: nop(); case 3: nop(); case 2: nop(); case 1: nop(); } + } + else { // because of +1 cycle inside delay_4cycles + const uint32_t rem = (x - 1) % (MAXNOPS); + switch (rem) { case 3: nop(); case 2: nop(); case 1: nop(); } + if ((x = (x - 1) / (MAXNOPS))) + __delay_4cycles(x); // if need more then 4 nop loop is more optimal + } + #undef MAXNOPS + } + else + __delay_4cycles(x / 4); + } + #undef nop + +#elif defined(__AVR__) + + #define nop() __asm__ __volatile__("nop;\n\t":::) + + FORCE_INLINE static void __delay_4cycles(uint8_t cy) { + __asm__ __volatile__( + L("1") + A("dec %[cnt]") + A("nop") + A("brne 1b") + : [cnt] "+r"(cy) // output: +r means input+output + : // input: + : "cc" // clobbers: + ); + } + + // Delay in cycles + FORCE_INLINE static void DELAY_CYCLES(uint16_t x) { + + if (__builtin_constant_p(x)) { + #define MAXNOPS 4 + + if (x <= (MAXNOPS)) { + switch (x) { case 4: nop(); case 3: nop(); case 2: nop(); case 1: nop(); } + } + else { + const uint32_t rem = (x) % (MAXNOPS); + switch (rem) { case 3: nop(); case 2: nop(); case 1: nop(); } + if ((x = (x) / (MAXNOPS))) + __delay_4cycles(x); // if need more then 4 nop loop is more optimal + } + + #undef MAXNOPS + } + else + __delay_4cycles(x / 4); + } + #undef nop + +#elif defined(ESP32) + + FORCE_INLINE static void DELAY_CYCLES(uint32_t x) { + unsigned long ccount, stop; + + __asm__ __volatile__ ( "rsr %0, ccount" : "=a" (ccount) ); + + stop = ccount + x; // This can overflow + + while (ccount < stop) { // This doesn't deal with overflows + __asm__ __volatile__ ( "rsr %0, ccount" : "=a" (ccount) ); + } + } + +#else + + #error "Unsupported MCU architecture" + +#endif + +// Delay in nanoseconds +#define DELAY_NS(x) DELAY_CYCLES( (x) * (F_CPU/1000000L) / 1000L ) + +// Delay in microseconds +#define DELAY_US(x) DELAY_CYCLES( (x) * (F_CPU/1000000L) ) + +#endif // MARLIN_DELAY_H diff --git a/Marlin/src/HAL/HAL.h b/Marlin/src/HAL/HAL.h deleted file mode 100644 index ccd0d9888f63..000000000000 --- a/Marlin/src/HAL/HAL.h +++ /dev/null @@ -1,59 +0,0 @@ -/* ************************************************************************** - - Marlin 3D Printer Firmware - Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] - Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com - - 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 . -****************************************************************************/ - -/** - * Description: HAL wrapper - * - * Supports platforms : - * ARDUINO_ARCH_SAM : For Arduino Due and other boards based on Atmel SAM3X8E - * __AVR__ : For all Atmel AVR boards - */ - -#ifndef _HAL_H -#define _HAL_H - -#include "HAL_SPI.h" - -#define CPU_32_BIT - -#ifdef __AVR__ - #undef CPU_32_BIT - #include "HAL_AVR/HAL_AVR.h" -#elif defined(ARDUINO_ARCH_SAM) - #include "HAL_DUE/HAL_Due.h" - #include "math_32bit.h" -#elif defined(__MK64FX512__) || defined(__MK66FX1M0__) - #include "HAL_TEENSY35_36/HAL_Teensy.h" - #include "math_32bit.h" -#elif defined(TARGET_LPC1768) - #include "math_32bit.h" - #include "HAL_LPC1768/HAL.h" -#elif defined(__STM32F1__) || defined(TARGET_STM32F1) - #include "math_32bit.h" - #include "HAL_STM32F1/HAL_Stm32f1.h" -#elif defined(STM32F7) - #define CPU_32_BIT - #include "math_32bit.h" - #include "HAL_STM32F7/HAL_STM32F7.h" -#else - #error "Unsupported Platform!" -#endif - -#endif // _HAL_H diff --git a/Marlin/src/HAL/HAL_AVR/HAL_AVR.cpp b/Marlin/src/HAL/HAL_AVR/HAL.cpp similarity index 97% rename from Marlin/src/HAL/HAL_AVR/HAL_AVR.cpp rename to Marlin/src/HAL/HAL_AVR/HAL.cpp index 9c69b90a864f..e69455976167 100644 --- a/Marlin/src/HAL/HAL_AVR/HAL_AVR.cpp +++ b/Marlin/src/HAL/HAL_AVR/HAL.cpp @@ -20,13 +20,6 @@ ****************************************************************************/ -/** - * Description: HAL for AVR - * - * For __AVR__ - */ - - #ifdef __AVR__ // -------------------------------------------------------------------------- @@ -34,6 +27,7 @@ // -------------------------------------------------------------------------- #include "../../inc/MarlinConfig.h" +#include "HAL.h" // -------------------------------------------------------------------------- // Externals @@ -74,9 +68,11 @@ // -------------------------------------------------------------------------- #if ENABLED(SDSUPPORT) + #include "../../sd/SdFatUtil.h" int freeMemory() { return SdFatUtil::FreeRam(); } -#else + +#else // !SDSUPPORT extern "C" { extern char __bss_end; @@ -93,7 +89,6 @@ extern "C" { } } -#endif //!SDSUPPORT - -#endif +#endif // !SDSUPPORT +#endif // __AVR__ diff --git a/Marlin/src/HAL/HAL_AVR/HAL.h b/Marlin/src/HAL/HAL_AVR/HAL.h new file mode 100644 index 000000000000..02aafc0fbdd4 --- /dev/null +++ b/Marlin/src/HAL/HAL_AVR/HAL.h @@ -0,0 +1,360 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * + * 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 . + */ + +#ifndef _HAL_AVR_H_ +#define _HAL_AVR_H_ + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include + +#include + +#include +#include +#include +#include +#include + +#include "../HAL_SPI.h" +#include "fastio_AVR.h" +#include "watchdog_AVR.h" +#include "math_AVR.h" + +#ifdef USBCON + #include "HardwareSerial.h" +#else + #include "MarlinSerial.h" +#endif + +// -------------------------------------------------------------------------- +// Defines +// -------------------------------------------------------------------------- + +//#define analogInputToDigitalPin(IO) IO + +#ifndef CRITICAL_SECTION_START + #define CRITICAL_SECTION_START unsigned char _sreg = SREG; cli() + #define CRITICAL_SECTION_END SREG = _sreg +#endif +#define ISRS_ENABLED() TEST(SREG, SREG_I) +#define ENABLE_ISRS() sei() +#define DISABLE_ISRS() cli() + +// On AVR this is in math.h? +//#define square(x) ((x)*(x)) + +// -------------------------------------------------------------------------- +// Types +// -------------------------------------------------------------------------- + +typedef uint16_t hal_timer_t; +#define HAL_TIMER_TYPE_MAX 0xFFFF + +typedef int8_t pin_t; + +#define HAL_SERVO_LIB Servo + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- + +//extern uint8_t MCUSR; + +#define NUM_SERIAL 1 + +#ifdef USBCON + #if ENABLED(BLUETOOTH) + #define MYSERIAL0 bluetoothSerial + #else + #define MYSERIAL0 Serial + #endif +#else + #define MYSERIAL0 customizedSerial +#endif + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +//void cli(void); + +//void _delay_ms(const int delay); + +inline void HAL_clear_reset_source(void) { MCUSR = 0; } +inline uint8_t HAL_get_reset_source(void) { return MCUSR; } + +extern "C" { + int freeMemory(void); +} + +// timers +#define HAL_TIMER_RATE ((F_CPU) / 8) // i.e., 2MHz or 2.5MHz + +#define STEP_TIMER_NUM 1 +#define TEMP_TIMER_NUM 0 +#define PULSE_TIMER_NUM STEP_TIMER_NUM + +#define TEMP_TIMER_FREQUENCY ((F_CPU) / 64.0 / 256.0) + +#define STEPPER_TIMER_RATE HAL_TIMER_RATE +#define STEPPER_TIMER_PRESCALE 8 +#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // Cannot be of type double + +#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer +#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE +#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US + +#define ENABLE_STEPPER_DRIVER_INTERRUPT() SBI(TIMSK1, OCIE1A) +#define DISABLE_STEPPER_DRIVER_INTERRUPT() CBI(TIMSK1, OCIE1A) +#define STEPPER_ISR_ENABLED() TEST(TIMSK1, OCIE1A) + +#define ENABLE_TEMPERATURE_INTERRUPT() SBI(TIMSK0, OCIE0B) +#define DISABLE_TEMPERATURE_INTERRUPT() CBI(TIMSK0, OCIE0B) +#define TEMPERATURE_ISR_ENABLED() TEST(TIMSK0, OCIE0B) + +FORCE_INLINE void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { + UNUSED(frequency); + switch (timer_num) { + case STEP_TIMER_NUM: + // waveform generation = 0100 = CTC + SET_WGM(1, CTC_OCRnA); + + // output mode = 00 (disconnected) + SET_COMA(1, NORMAL); + + // Set the timer pre-scaler + // Generally we use a divider of 8, resulting in a 2MHz timer + // frequency on a 16MHz MCU. If you are going to change this, be + // sure to regenerate speed_lookuptable.h with + // create_speed_lookuptable.py + SET_CS(1, PRESCALER_8); // CS 2 = 1/8 prescaler + + // Init Stepper ISR to 122 Hz for quick starting + // (F_CPU) / (STEPPER_TIMER_PRESCALE) / frequency + OCR1A = 0x4000; + TCNT1 = 0; + break; + + case TEMP_TIMER_NUM: + // Use timer0 for temperature measurement + // Interleave temperature interrupt with millies interrupt + OCR0B = 128; + break; + } +} + +#define TIMER_OCR_1 OCR1A +#define TIMER_COUNTER_1 TCNT1 + +#define TIMER_OCR_0 OCR0A +#define TIMER_COUNTER_0 TCNT0 + +#define _CAT(a, ...) a ## __VA_ARGS__ +#define HAL_timer_set_compare(timer, compare) (_CAT(TIMER_OCR_, timer) = compare) +#define HAL_timer_restrain(timer, interval_ticks) NOLESS(_CAT(TIMER_OCR_, timer), _CAT(TIMER_COUNTER_, timer) + interval_ticks) + +#define HAL_timer_get_compare(timer) _CAT(TIMER_OCR_, timer) +#define HAL_timer_get_count(timer) _CAT(TIMER_COUNTER_, timer) + +/** + * On AVR there is no hardware prioritization and preemption of + * interrupts, so this emulates it. The UART has first priority + * (otherwise, characters will be lost due to UART overflow). + * Then: Stepper, Endstops, Temperature, and -finally- all others. + */ +#define HAL_timer_isr_prologue(TIMER_NUM) +#define HAL_timer_isr_epilogue(TIMER_NUM) + +/* 18 cycles maximum latency */ +#define HAL_STEP_TIMER_ISR \ +extern "C" void TIMER1_COMPA_vect (void) __attribute__ ((signal, naked, used, externally_visible)); \ +extern "C" void TIMER1_COMPA_vect_bottom (void) asm ("TIMER1_COMPA_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \ +void TIMER1_COMPA_vect (void) { \ + __asm__ __volatile__ ( \ + A("push r16") /* 2 Save R16 */ \ + A("in r16, __SREG__") /* 1 Get SREG */ \ + A("push r16") /* 2 Save SREG into stack */ \ + A("lds r16, %[timsk0]") /* 2 Load into R0 the Temperature timer Interrupt mask register */ \ + A("push r16") /* 2 Save TIMSK0 into the stack */ \ + A("andi r16,~%[msk0]") /* 1 Disable the temperature ISR */ \ + A("sts %[timsk0], r16") /* 2 And set the new value */ \ + A("lds r16, %[timsk1]") /* 2 Load into R0 the stepper timer Interrupt mask register [TIMSK1] */ \ + A("andi r16,~%[msk1]") /* 1 Disable the stepper ISR */ \ + A("sts %[timsk1], r16") /* 2 And set the new value */ \ + A("push r16") /* 2 Save TIMSK1 into stack */ \ + A("in r16, 0x3B") /* 1 Get RAMPZ register */ \ + A("push r16") /* 2 Save RAMPZ into stack */ \ + A("in r16, 0x3C") /* 1 Get EIND register */ \ + A("push r0") /* C runtime can modify all the following registers without restoring them */ \ + A("push r1") \ + A("push r18") \ + A("push r19") \ + A("push r20") \ + A("push r21") \ + A("push r22") \ + A("push r23") \ + A("push r24") \ + A("push r25") \ + A("push r26") \ + A("push r27") \ + A("push r30") \ + A("push r31") \ + A("clr r1") /* C runtime expects this register to be 0 */ \ + A("call TIMER1_COMPA_vect_bottom") /* Call the bottom handler - No inlining allowed, otherwise registers used are not saved */ \ + A("pop r31") \ + A("pop r30") \ + A("pop r27") \ + A("pop r26") \ + A("pop r25") \ + A("pop r24") \ + A("pop r23") \ + A("pop r22") \ + A("pop r21") \ + A("pop r20") \ + A("pop r19") \ + A("pop r18") \ + A("pop r1") \ + A("pop r0") \ + A("out 0x3C, r16") /* 1 Restore EIND register */ \ + A("pop r16") /* 2 Get the original RAMPZ register value */ \ + A("out 0x3B, r16") /* 1 Restore RAMPZ register to its original value */ \ + A("pop r16") /* 2 Get the original TIMSK1 value but with stepper ISR disabled */ \ + A("ori r16,%[msk1]") /* 1 Reenable the stepper ISR */ \ + A("cli") /* 1 Disable global interrupts - Reenabling Stepper ISR can reenter amd temperature can reenter, and we want that, if it happens, after this ISR has ended */ \ + A("sts %[timsk1], r16") /* 2 And restore the old value - This reenables the stepper ISR */ \ + A("pop r16") /* 2 Get the temperature timer Interrupt mask register [TIMSK0] */ \ + A("sts %[timsk0], r16") /* 2 And restore the old value - This reenables the temperature ISR */ \ + A("pop r16") /* 2 Get the old SREG value */ \ + A("out __SREG__, r16") /* 1 And restore the SREG value */ \ + A("pop r16") /* 2 Restore R16 value */ \ + A("reti") /* 4 Return from interrupt */ \ + : \ + : [timsk0] "i" ((uint16_t)&TIMSK0), \ + [timsk1] "i" ((uint16_t)&TIMSK1), \ + [msk0] "M" ((uint8_t)(1< 7) ADCSRB = _BV(MUX5); else ADCSRB = 0; SET_ADMUX_ADCSRA(pin) +#else + #define HAL_START_ADC(pin) ADCSRB = 0; SET_ADMUX_ADCSRA(pin) +#endif + +#define HAL_READ_ADC() ADC +#define HAL_ADC_READY() !TEST(ADCSRA, ADSC) + +#define GET_PIN_MAP_PIN(index) index +#define GET_PIN_MAP_INDEX(pin) pin +#define PARSED_PIN_INDEX(code, dval) parser.intval(code, dval) + +#define HAL_SENSITIVE_PINS 0, 1 + +// AVR compatibility +#define strtof strtod + +#endif // _HAL_AVR_H_ diff --git a/Marlin/src/HAL/HAL_AVR/HAL_AVR.h b/Marlin/src/HAL/HAL_AVR/HAL_AVR.h deleted file mode 100644 index 1a5d02682a46..000000000000 --- a/Marlin/src/HAL/HAL_AVR/HAL_AVR.h +++ /dev/null @@ -1,195 +0,0 @@ -/* ************************************************************************** - - Marlin 3D Printer Firmware - Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] - - Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com - - 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 . -****************************************************************************/ - -/** - * Description: HAL for AVR - * - * For __AVR__ - */ - - -#ifndef _HAL_AVR_H_ -#define _HAL_AVR_H_ - -// -------------------------------------------------------------------------- -// Includes -// -------------------------------------------------------------------------- - -#include - -#include - -#include -#include -#include -#include -#include - -#include "fastio_AVR.h" -#include "watchdog_AVR.h" -#include "math_AVR.h" - -#ifdef USBCON - #include "HardwareSerial.h" -#else - #include "MarlinSerial.h" -#endif - -// -------------------------------------------------------------------------- -// Defines -// -------------------------------------------------------------------------- - -//#define analogInputToDigitalPin(IO) IO - -#ifndef CRITICAL_SECTION_START - #define CRITICAL_SECTION_START unsigned char _sreg = SREG; cli(); - #define CRITICAL_SECTION_END SREG = _sreg; -#endif - - -// On AVR this is in math.h? -//#define square(x) ((x)*(x)) - -// -------------------------------------------------------------------------- -// Types -// -------------------------------------------------------------------------- - -typedef uint16_t hal_timer_t; -#define HAL_TIMER_TYPE_MAX 0xFFFF - -typedef int8_t pin_t; - -#define HAL_SERVO_LIB Servo - -// -------------------------------------------------------------------------- -// Public Variables -// -------------------------------------------------------------------------- - -//extern uint8_t MCUSR; - -#define NUM_SERIAL 1 - -#ifdef USBCON - #if ENABLED(BLUETOOTH) - #define MYSERIAL0 bluetoothSerial - #else - #define MYSERIAL0 Serial - #endif -#else - #define MYSERIAL0 customizedSerial -#endif - -// -------------------------------------------------------------------------- -// Public functions -// -------------------------------------------------------------------------- - -//void cli(void); - -//void _delay_ms(const int delay); - -inline void HAL_clear_reset_source(void) { MCUSR = 0; } -inline uint8_t HAL_get_reset_source(void) { return MCUSR; } - -extern "C" { - int freeMemory(void); -} - -// eeprom -//void eeprom_write_byte(unsigned char *pos, unsigned char value); -//unsigned char eeprom_read_byte(unsigned char *pos); - - -// timers -#define HAL_TIMER_RATE ((F_CPU) / 8) // i.e., 2MHz or 2.5MHz -#define HAL_TICKS_PER_US ((HAL_STEPPER_TIMER_RATE) / 1000000) // Cannot be of type double - -#define TEMP_TIMER_FREQUENCY ((F_CPU) / 64.0 / 256.0) - -#define HAL_STEPPER_TIMER_RATE HAL_TIMER_RATE -#define STEPPER_TIMER_PRESCALE 8 - -#define STEP_TIMER_MIN_INTERVAL 8 // minimum time in µs between stepper interrupts - -#define STEP_TIMER_NUM 1 -#define TIMER_OCR_1 OCR1A -#define TIMER_COUNTER_1 TCNT1 - -#define TEMP_TIMER_NUM 0 -#define TIMER_OCR_0 OCR0A -#define TIMER_COUNTER_0 TCNT0 - -#define PULSE_TIMER_NUM TEMP_TIMER_NUM -#define PULSE_TIMER_PRESCALE 8 - -#define ENABLE_STEPPER_DRIVER_INTERRUPT() SBI(TIMSK1, OCIE1A) -#define DISABLE_STEPPER_DRIVER_INTERRUPT() CBI(TIMSK1, OCIE1A) -#define STEPPER_ISR_ENABLED() TEST(TIMSK1, OCIE1A) - -#define ENABLE_TEMPERATURE_INTERRUPT() SBI(TIMSK0, OCIE0B) -#define DISABLE_TEMPERATURE_INTERRUPT() CBI(TIMSK0, OCIE0B) - -#define HAL_timer_start(timer_num, frequency) - -#define _CAT(a, ...) a ## __VA_ARGS__ -#define HAL_timer_set_compare(timer, compare) (_CAT(TIMER_OCR_, timer) = compare) -#define HAL_timer_restrain(timer, interval_ticks) NOLESS(_CAT(TIMER_OCR_, timer), _CAT(TIMER_COUNTER_, timer) + interval_ticks) - -#define HAL_timer_get_compare(timer) _CAT(TIMER_OCR_, timer) -#define HAL_timer_get_count(timer) _CAT(TIMER_COUNTER_, timer) - -#define HAL_timer_isr_prologue(timer_num) - -#define HAL_STEP_TIMER_ISR ISR(TIMER1_COMPA_vect) -#define HAL_TEMP_TIMER_ISR ISR(TIMER0_COMPB_vect) - -#define HAL_ENABLE_ISRs() do { cli(); if (thermalManager.in_temp_isr) DISABLE_TEMPERATURE_INTERRUPT(); else ENABLE_TEMPERATURE_INTERRUPT(); ENABLE_STEPPER_DRIVER_INTERRUPT(); } while(0) - -// ADC -#ifdef DIDR2 - #define HAL_ANALOG_SELECT(pin) do{ if (pin < 8) SBI(DIDR0, pin); else SBI(DIDR2, pin & 0x07); }while(0) -#else - #define HAL_ANALOG_SELECT(pin) do{ SBI(DIDR0, pin); }while(0) -#endif - -inline void HAL_adc_init(void) { - ADCSRA = _BV(ADEN) | _BV(ADSC) | _BV(ADIF) | 0x07; - DIDR0 = 0; - #ifdef DIDR2 - DIDR2 = 0; - #endif -} - -#define SET_ADMUX_ADCSRA(pin) ADMUX = _BV(REFS0) | (pin & 0x07); SBI(ADCSRA, ADSC) -#ifdef MUX5 - #define HAL_START_ADC(pin) if (pin > 7) ADCSRB = _BV(MUX5); else ADCSRB = 0; SET_ADMUX_ADCSRA(pin) -#else - #define HAL_START_ADC(pin) ADCSRB = 0; SET_ADMUX_ADCSRA(pin) -#endif - -#define HAL_READ_ADC ADC - -#define GET_PIN_MAP_PIN(index) index -#define GET_PIN_MAP_INDEX(pin) pin -#define PARSED_PIN_INDEX(code, dval) parser.intval(code, dval) - -#define HAL_SENSITIVE_PINS 0, 1 - -#endif // _HAL_AVR_H_ diff --git a/Marlin/src/HAL/HAL_AVR/HAL_spi_AVR.cpp b/Marlin/src/HAL/HAL_AVR/HAL_spi_AVR.cpp index 87323861a095..4e4b2481829c 100644 --- a/Marlin/src/HAL/HAL_AVR/HAL_spi_AVR.cpp +++ b/Marlin/src/HAL/HAL_AVR/HAL_spi_AVR.cpp @@ -162,22 +162,15 @@ void spiBegin (void) { // away. When clock is not known, use a loop instead, which generates // shorter code. if (__builtin_constant_p(spiClock)) { - if (spiClock >= F_CPU / 2) { - clockDiv = 0; - } else if (spiClock >= F_CPU / 4) { - clockDiv = 1; - } else if (spiClock >= F_CPU / 8) { - clockDiv = 2; - } else if (spiClock >= F_CPU / 16) { - clockDiv = 3; - } else if (spiClock >= F_CPU / 32) { - clockDiv = 4; - } else if (spiClock >= F_CPU / 64) { - clockDiv = 5; - } else { - clockDiv = 6; - } - } else { + if (spiClock >= F_CPU / 2) clockDiv = 0; + else if (spiClock >= F_CPU / 4) clockDiv = 1; + else if (spiClock >= F_CPU / 8) clockDiv = 2; + else if (spiClock >= F_CPU / 16) clockDiv = 3; + else if (spiClock >= F_CPU / 32) clockDiv = 4; + else if (spiClock >= F_CPU / 64) clockDiv = 5; + else clockDiv = 6; + } + else { uint32_t clockSetting = F_CPU / 2; clockDiv = 0; while (clockDiv < 6 && spiClock < clockSetting) { @@ -187,8 +180,7 @@ void spiBegin (void) { } // Compensate for the duplicate fosc/64 - if (clockDiv == 6) - clockDiv = 7; + if (clockDiv == 6) clockDiv = 7; // Invert the SPI2X bit clockDiv ^= 0x1; diff --git a/Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp b/Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp index c15659438123..ece249776636 100644 --- a/Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp +++ b/Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp @@ -28,7 +28,9 @@ * Modified 28 September 2010 by Mark Sproul * Modified 14 February 2016 by Andreas Hardtung (added tx buffer) * Modified 01 October 2017 by Eduardo José Tagle (added XON/XOFF) + * Modified 10 June 2018 by Eduardo José Tagle (See #10991) */ + #ifdef __AVR__ // Disable HardwareSerial.cpp to support chips without a UART (Attiny, etc.) @@ -56,232 +58,317 @@ ring_buffer_r rx_buffer = { { 0 }, 0, 0 }; #if TX_BUFFER_SIZE > 0 ring_buffer_t tx_buffer = { { 0 }, 0, 0 }; - static bool _written; #endif + static bool _written; #endif #if ENABLED(SERIAL_XON_XOFF) - constexpr uint8_t XON_XOFF_CHAR_SENT = 0x80; // XON / XOFF Character was sent - constexpr uint8_t XON_XOFF_CHAR_MASK = 0x1F; // XON / XOFF character to send + constexpr uint8_t XON_XOFF_CHAR_SENT = 0x80, // XON / XOFF Character was sent + XON_XOFF_CHAR_MASK = 0x1F; // XON / XOFF character to send // XON / XOFF character definitions - constexpr uint8_t XON_CHAR = 17; - constexpr uint8_t XOFF_CHAR = 19; + constexpr uint8_t XON_CHAR = 17, XOFF_CHAR = 19; uint8_t xon_xoff_state = XON_XOFF_CHAR_SENT | XON_CHAR; #endif - void clear_command_queue(); - #if ENABLED(SERIAL_STATS_DROPPED_RX) uint8_t rx_dropped_bytes = 0; #endif + #if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS) + uint8_t rx_buffer_overruns = 0; + #endif + + #if ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS) + uint8_t rx_framing_errors = 0; + #endif + #if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) ring_buffer_pos_t rx_max_enqueued = 0; #endif + // A SW memory barrier, to ensure GCC does not overoptimize loops + #define sw_barrier() asm volatile("": : :"memory"); + #if ENABLED(EMERGENCY_PARSER) + #include "../../feature/emergency_parser.h" + #endif + + // "Atomically" read the RX head index value without disabling interrupts: + // This MUST be called with RX interrupts enabled, and CAN'T be called + // from the RX ISR itself! + FORCE_INLINE ring_buffer_pos_t atomic_read_rx_head() { + #if RX_BUFFER_SIZE > 256 + // Keep reading until 2 consecutive reads return the same value, + // meaning there was no update in-between caused by an interrupt. + // This works because serial RX interrupts happen at a slower rate + // than successive reads of a variable, so 2 consecutive reads with + // the same value means no interrupt updated it. + ring_buffer_pos_t vold, vnew = rx_buffer.head; + sw_barrier(); + do { + vold = vnew; + vnew = rx_buffer.head; + sw_barrier(); + } while (vold != vnew); + return vnew; + #else + // With an 8bit index, reads are always atomic. No need for special handling + return rx_buffer.head; + #endif + } + + #if RX_BUFFER_SIZE > 256 + static volatile bool rx_tail_value_not_stable = false; + static volatile uint16_t rx_tail_value_backup = 0; + #endif + + // Set RX tail index, taking into account the RX ISR could interrupt + // the write to this variable in the middle - So a backup strategy + // is used to ensure reads of the correct values. + // -Must NOT be called from the RX ISR - + FORCE_INLINE void atomic_set_rx_tail(ring_buffer_pos_t value) { + #if RX_BUFFER_SIZE > 256 + // Store the new value in the backup + rx_tail_value_backup = value; + sw_barrier(); + // Flag we are about to change the true value + rx_tail_value_not_stable = true; + sw_barrier(); + // Store the new value + rx_buffer.tail = value; + sw_barrier(); + // Signal the new value is completely stored into the value + rx_tail_value_not_stable = false; + sw_barrier(); + #else + rx_buffer.tail = value; + #endif + } - bool killed_by_M112; // = false + // Get the RX tail index, taking into account the read could be + // interrupting in the middle of the update of that index value + // -Called from the RX ISR - + FORCE_INLINE ring_buffer_pos_t atomic_read_rx_tail() { + #if RX_BUFFER_SIZE > 256 + // If the true index is being modified, return the backup value + if (rx_tail_value_not_stable) return rx_tail_value_backup; + #endif + // The true index is stable, return it + return rx_buffer.tail; + } - #include "../../module/stepper.h" + // (called with RX interrupts disabled) + FORCE_INLINE void store_rxd_char() { - // Currently looking for: M108, M112, M410 - // If you alter the parser please don't forget to update the capabilities in Conditionals_post.h + #if ENABLED(EMERGENCY_PARSER) + static EmergencyParser::State emergency_state; // = EP_RESET + #endif - FORCE_INLINE void emergency_parser(const uint8_t c) { + // Get the tail - Nothing can alter its value while this ISR is executing, but there's + // a chance that this ISR interrupted the main process while it was updating the index. + // The backup mechanism ensures the correct value is always returned. + const ring_buffer_pos_t t = atomic_read_rx_tail(); - static e_parser_state state = state_RESET; + // Get the head pointer - This ISR is the only one that modifies its value, so it's safe to read here + ring_buffer_pos_t h = rx_buffer.head; - switch (state) { - case state_RESET: - switch (c) { - case ' ': break; - case 'N': state = state_N; break; - case 'M': state = state_M; break; - default: state = state_IGNORE; - } - break; - - case state_N: - switch (c) { - case '0': case '1': case '2': - case '3': case '4': case '5': - case '6': case '7': case '8': - case '9': case '-': case ' ': break; - case 'M': state = state_M; break; - default: state = state_IGNORE; - } - break; - - case state_M: - switch (c) { - case ' ': break; - case '1': state = state_M1; break; - case '4': state = state_M4; break; - default: state = state_IGNORE; - } - break; + // Get the next element + ring_buffer_pos_t i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); - case state_M1: - switch (c) { - case '0': state = state_M10; break; - case '1': state = state_M11; break; - default: state = state_IGNORE; - } - break; - - case state_M10: - state = (c == '8') ? state_M108 : state_IGNORE; - break; - - case state_M11: - state = (c == '2') ? state_M112 : state_IGNORE; - break; - - case state_M4: - state = (c == '1') ? state_M41 : state_IGNORE; - break; - - case state_M41: - state = (c == '0') ? state_M410 : state_IGNORE; - break; - - case state_IGNORE: - if (c == '\n') state = state_RESET; - break; - - default: - if (c == '\n') { - switch (state) { - case state_M108: - wait_for_user = wait_for_heatup = false; - break; - case state_M112: - killed_by_M112 = true; - break; - case state_M410: - quickstop_stepper(); - break; - default: - break; - } - state = state_RESET; - } - } - } + // This must read the M_UCSRxA register before reading the received byte to detect error causes + #if ENABLED(SERIAL_STATS_DROPPED_RX) + if (TEST(M_UCSRxA, M_DORx) && !++rx_dropped_bytes) --rx_dropped_bytes; + #endif - #endif // EMERGENCY_PARSER + #if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS) + if (TEST(M_UCSRxA, M_DORx) && !++rx_buffer_overruns) --rx_buffer_overruns; + #endif - FORCE_INLINE void store_rxd_char() { + #if ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS) + if (TEST(M_UCSRxA, M_FEx) && !++rx_framing_errors) --rx_framing_errors; + #endif - const ring_buffer_pos_t h = rx_buffer.head, - i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + // Read the character from the USART + uint8_t c = M_UDRx; - // Read the character - const uint8_t c = M_UDRx; + #if ENABLED(EMERGENCY_PARSER) + emergency_parser.update(emergency_state, c); + #endif // If the character is to be stored at the index just before the tail - // (such that the head would advance to the current tail), the buffer is - // critical, so don't write the character or advance the head. - if (i != rx_buffer.tail) { + // (such that the head would advance to the current tail), the RX FIFO is + // full, so don't write the character or advance the head. + if (i != t) { rx_buffer.buffer[h] = c; - rx_buffer.head = i; - } - else { - #if ENABLED(SERIAL_STATS_DROPPED_RX) - if (!++rx_dropped_bytes) ++rx_dropped_bytes; - #endif + h = i; } + #if ENABLED(SERIAL_STATS_DROPPED_RX) + else if (!++rx_dropped_bytes) --rx_dropped_bytes; + #endif #if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) - // calculate count of bytes stored into the RX buffer - ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(rx_buffer.head - rx_buffer.tail) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + // Calculate count of bytes stored into the RX buffer + const ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(h - t) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + // Keep track of the maximum count of enqueued bytes NOLESS(rx_max_enqueued, rx_count); #endif #if ENABLED(SERIAL_XON_XOFF) - - // for high speed transfers, we can use XON/XOFF protocol to do - // software handshake and avoid overruns. + // If the last char that was sent was an XON if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XON_CHAR) { - // calculate count of bytes stored into the RX buffer - ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(rx_buffer.head - rx_buffer.tail) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + // Bytes stored into the RX buffer + const ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(h - t) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); - // if we are above 12.5% of RX buffer capacity, send XOFF before - // we run out of RX buffer space .. We need 325 bytes @ 250kbits/s to - // let the host react and stop sending bytes. This translates to 13mS - // propagation time. + // If over 12.5% of RX buffer capacity, send XOFF before running out of + // RX buffer space .. 325 bytes @ 250kbits/s needed to let the host react + // and stop sending bytes. This translates to 13mS propagation time. if (rx_count >= (RX_BUFFER_SIZE) / 8) { - // If TX interrupts are disabled and data register is empty, - // just write the byte to the data register and be done. This - // shortcut helps significantly improve the effective datarate - // at high (>500kbit/s) bitrates, where interrupt overhead - // becomes a slowdown. - if (!TEST(M_UCSRxB, M_UDRIEx) && TEST(M_UCSRxA, M_UDREx)) { - // Send an XOFF character - M_UDRx = XOFF_CHAR; - // clear the TXC bit -- "can be cleared by writing a one to its bit - // location". This makes sure flush() won't return until the bytes - // actually got written - SBI(M_UCSRxA, M_TXCx); - // And remember it was sent - xon_xoff_state = XOFF_CHAR | XON_XOFF_CHAR_SENT; + + // At this point, definitely no TX interrupt was executing, since the TX ISR can't be preempted. + // Don't enable the TX interrupt here as a means to trigger the XOFF char, because if it happens + // to be in the middle of trying to disable the RX interrupt in the main program, eventually the + // enabling of the TX interrupt could be undone. The ONLY reliable thing this can do to ensure + // the sending of the XOFF char is to send it HERE AND NOW. + + // About to send the XOFF char + xon_xoff_state = XOFF_CHAR | XON_XOFF_CHAR_SENT; + + // Wait until the TX register becomes empty and send it - Here there could be a problem + // - While waiting for the TX register to empty, the RX register could receive a new + // character. This must also handle that situation! + while (!TEST(M_UCSRxA, M_UDREx)) { + + if (TEST(M_UCSRxA,M_RXCx)) { + // A char arrived while waiting for the TX buffer to be empty - Receive and process it! + + i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + + // Read the character from the USART + c = M_UDRx; + + #if ENABLED(EMERGENCY_PARSER) + emergency_parser.update(emergency_state, c); + #endif + + // If the character is to be stored at the index just before the tail + // (such that the head would advance to the current tail), the FIFO is + // full, so don't write the character or advance the head. + if (i != t) { + rx_buffer.buffer[h] = c; + h = i; + } + #if ENABLED(SERIAL_STATS_DROPPED_RX) + else if (!++rx_dropped_bytes) --rx_dropped_bytes; + #endif + } + sw_barrier(); } - else { - // TX interrupts disabled, but buffer still not empty ... or - // TX interrupts enabled. Reenable TX ints and schedule XOFF - // character to be sent - #if TX_BUFFER_SIZE > 0 - SBI(M_UCSRxB, M_UDRIEx); - xon_xoff_state = XOFF_CHAR; - #else - // We are not using TX interrupts, we will have to send this manually - while (!TEST(M_UCSRxA, M_UDREx)) { /* nada */ }; - M_UDRx = XOFF_CHAR; - // And remember we already sent it - xon_xoff_state = XOFF_CHAR | XON_XOFF_CHAR_SENT; - #endif + + M_UDRx = XOFF_CHAR; + + // Clear the TXC bit -- "can be cleared by writing a one to its bit + // location". This makes sure flush() won't return until the bytes + // actually got written + SBI(M_UCSRxA, M_TXCx); + + // At this point there could be a race condition between the write() function + // and this sending of the XOFF char. This interrupt could happen between the + // wait to be empty TX buffer loop and the actual write of the character. Since + // the TX buffer is full because it's sending the XOFF char, the only way to be + // sure the write() function will succeed is to wait for the XOFF char to be + // completely sent. Since an extra character could be received during the wait + // it must also be handled! + while (!TEST(M_UCSRxA, M_UDREx)) { + + if (TEST(M_UCSRxA,M_RXCx)) { + // A char arrived while waiting for the TX buffer to be empty - Receive and process it! + + i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + + // Read the character from the USART + c = M_UDRx; + + #if ENABLED(EMERGENCY_PARSER) + emergency_parser.update(emergency_state, c); + #endif + + // If the character is to be stored at the index just before the tail + // (such that the head would advance to the current tail), the FIFO is + // full, so don't write the character or advance the head. + if (i != t) { + rx_buffer.buffer[h] = c; + h = i; + } + #if ENABLED(SERIAL_STATS_DROPPED_RX) + else if (!++rx_dropped_bytes) --rx_dropped_bytes; + #endif + } + sw_barrier(); } + + // At this point everything is ready. The write() function won't + // have any issues writing to the UART TX register if it needs to! } } #endif // SERIAL_XON_XOFF - #if ENABLED(EMERGENCY_PARSER) - emergency_parser(c); - #endif + // Store the new head value - The main loop will retry until the value is stable + rx_buffer.head = h; } #if TX_BUFFER_SIZE > 0 + // (called with TX irqs disabled) FORCE_INLINE void _tx_udr_empty_irq(void) { - // If interrupts are enabled, there must be more data in the output - // buffer. + + // Read positions + uint8_t t = tx_buffer.tail; + const uint8_t h = tx_buffer.head; #if ENABLED(SERIAL_XON_XOFF) - // Do a priority insertion of an XON/XOFF char, if needed. - const uint8_t state = xon_xoff_state; - if (!(state & XON_XOFF_CHAR_SENT)) { - M_UDRx = state & XON_XOFF_CHAR_MASK; - xon_xoff_state = state | XON_XOFF_CHAR_SENT; + // If an XON char is pending to be sent, do it now + if (xon_xoff_state == XON_CHAR) { + + // Send the character + M_UDRx = XON_CHAR; + + // clear the TXC bit -- "can be cleared by writing a one to its bit + // location". This makes sure flush() won't return until the bytes + // actually got written + SBI(M_UCSRxA, M_TXCx); + + // Remember we sent it. + xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; + + // If nothing else to transmit, just disable TX interrupts. + if (h == t) CBI(M_UCSRxB, M_UDRIEx); // (Non-atomic, could be reenabled by the main program, but eventually this will succeed) + + return; } - else #endif - { // Send the next byte - const uint8_t t = tx_buffer.tail, c = tx_buffer.buffer[t]; - tx_buffer.tail = (t + 1) & (TX_BUFFER_SIZE - 1); - M_UDRx = c; + + // If nothing to transmit, just disable TX interrupts. This could + // happen as the result of the non atomicity of the disabling of RX + // interrupts that could end reenabling TX interrupts as a side effect. + if (h == t) { + CBI(M_UCSRxB, M_UDRIEx); // (Non-atomic, could be reenabled by the main program, but eventually this will succeed) + return; } - // clear the TXC bit -- "can be cleared by writing a one to its bit - // location". This makes sure flush() won't return until the bytes - // actually got written + // There is something to TX, Send the next byte + const uint8_t c = tx_buffer.buffer[t]; + t = (t + 1) & (TX_BUFFER_SIZE - 1); + M_UDRx = c; + tx_buffer.tail = t; + + // Clear the TXC bit (by writing a one to its bit location). + // Ensures flush() won't return until the bytes are actually written/ SBI(M_UCSRxA, M_TXCx); - // Disable interrupts if the buffer is empty - if (tx_buffer.head == tx_buffer.tail) - CBI(M_UCSRxB, M_UDRIEx); + // Disable interrupts if there is nothing to transmit following this byte + if (h == t) CBI(M_UCSRxB, M_UDRIEx); // (Non-atomic, could be reenabled by the main program, but eventually this will succeed) } #ifdef M_USARTx_UDRE_vect @@ -325,8 +412,8 @@ SBI(M_UCSRxB, M_RXCIEx); #if TX_BUFFER_SIZE > 0 CBI(M_UCSRxB, M_UDRIEx); - _written = false; #endif + _written = false; } void MarlinSerial::end() { @@ -336,176 +423,179 @@ CBI(M_UCSRxB, M_UDRIEx); } - void MarlinSerial::checkRx(void) { - if (TEST(M_UCSRxA, M_RXCx)) { - CRITICAL_SECTION_START; - store_rxd_char(); - CRITICAL_SECTION_END; - } - } - int MarlinSerial::peek(void) { - CRITICAL_SECTION_START; - const int v = rx_buffer.head == rx_buffer.tail ? -1 : rx_buffer.buffer[rx_buffer.tail]; - CRITICAL_SECTION_END; - return v; + const ring_buffer_pos_t h = atomic_read_rx_head(), t = rx_buffer.tail; + return h == t ? -1 : rx_buffer.buffer[t]; } int MarlinSerial::read(void) { - int v; - CRITICAL_SECTION_START; - const ring_buffer_pos_t t = rx_buffer.tail; - if (rx_buffer.head == t) - v = -1; - else { - v = rx_buffer.buffer[t]; - rx_buffer.tail = (ring_buffer_pos_t)(t + 1) & (RX_BUFFER_SIZE - 1); - - #if ENABLED(SERIAL_XON_XOFF) - if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XOFF_CHAR) { - // Get count of bytes in the RX buffer - ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(rx_buffer.head - rx_buffer.tail) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); - // When below 10% of RX buffer capacity, send XON before - // running out of RX buffer bytes - if (rx_count < (RX_BUFFER_SIZE) / 10) { - xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; - CRITICAL_SECTION_END; // End critical section before returning! - writeNoHandshake(XON_CHAR); - return v; - } - } - #endif + const ring_buffer_pos_t h = atomic_read_rx_head(); + + // Read the tail. Main thread owns it, so it is safe to directly read it + ring_buffer_pos_t t = rx_buffer.tail; + + // If nothing to read, return now + if (h == t) return -1; + + // Get the next char + const int v = rx_buffer.buffer[t]; + t = (ring_buffer_pos_t)(t + 1) & (RX_BUFFER_SIZE - 1); + + // Advance tail - Making sure the RX ISR will always get an stable value, even + // if it interrupts the writing of the value of that variable in the middle. + atomic_set_rx_tail(t); + + #if ENABLED(SERIAL_XON_XOFF) + // If the XOFF char was sent, or about to be sent... + if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XOFF_CHAR) { + // Get count of bytes in the RX buffer + const ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(h - t) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + if (rx_count < (RX_BUFFER_SIZE) / 10) { + #if TX_BUFFER_SIZE > 0 + // Signal we want an XON character to be sent. + xon_xoff_state = XON_CHAR; + // Enable TX ISR. Non atomic, but it will eventually enable them + SBI(M_UCSRxB, M_UDRIEx); + #else + // If not using TX interrupts, we must send the XON char now + xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; + while (!TEST(M_UCSRxA, M_UDREx)) sw_barrier(); + M_UDRx = XON_CHAR; + #endif + } } - CRITICAL_SECTION_END; + #endif + return v; } ring_buffer_pos_t MarlinSerial::available(void) { - CRITICAL_SECTION_START; - const ring_buffer_pos_t h = rx_buffer.head, t = rx_buffer.tail; - CRITICAL_SECTION_END; + const ring_buffer_pos_t h = atomic_read_rx_head(), t = rx_buffer.tail; return (ring_buffer_pos_t)(RX_BUFFER_SIZE + h - t) & (RX_BUFFER_SIZE - 1); } void MarlinSerial::flush(void) { - // Don't change this order of operations. If the RX interrupt occurs between - // reading rx_buffer_head and updating rx_buffer_tail, the previous rx_buffer_head - // may be written to rx_buffer_tail, making the buffer appear full rather than empty. - CRITICAL_SECTION_START; - rx_buffer.head = rx_buffer.tail = 0; - clear_command_queue(); - CRITICAL_SECTION_END; + + // Set the tail to the head: + // - Read the RX head index in a safe way. (See atomic_read_rx_head.) + // - Set the tail, making sure the RX ISR will always get a stable value, even + // if it interrupts the writing of the value of that variable in the middle. + atomic_set_rx_tail(atomic_read_rx_head()); #if ENABLED(SERIAL_XON_XOFF) + // If the XOFF char was sent, or about to be sent... if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XOFF_CHAR) { - xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; - writeNoHandshake(XON_CHAR); + #if TX_BUFFER_SIZE > 0 + // Signal we want an XON character to be sent. + xon_xoff_state = XON_CHAR; + // Enable TX ISR. Non atomic, but it will eventually enable it. + SBI(M_UCSRxB, M_UDRIEx); + #else + // If not using TX interrupts, we must send the XON char now + xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; + while (!TEST(M_UCSRxA, M_UDREx)) sw_barrier(); + M_UDRx = XON_CHAR; + #endif } #endif } #if TX_BUFFER_SIZE > 0 - uint8_t MarlinSerial::availableForWrite(void) { - CRITICAL_SECTION_START; - const uint8_t h = tx_buffer.head, t = tx_buffer.tail; - CRITICAL_SECTION_END; - return (uint8_t)(TX_BUFFER_SIZE + h - t) & (TX_BUFFER_SIZE - 1); - } - void MarlinSerial::write(const uint8_t c) { - #if ENABLED(SERIAL_XON_XOFF) - const uint8_t state = xon_xoff_state; - if (!(state & XON_XOFF_CHAR_SENT)) { - // Send 2 chars: XON/XOFF, then a user-specified char - writeNoHandshake(state & XON_XOFF_CHAR_MASK); - xon_xoff_state = state | XON_XOFF_CHAR_SENT; - } - #endif - writeNoHandshake(c); - } - - void MarlinSerial::writeNoHandshake(const uint8_t c) { _written = true; - CRITICAL_SECTION_START; - bool emty = (tx_buffer.head == tx_buffer.tail); - CRITICAL_SECTION_END; - // If the buffer and the data register is empty, just write the byte - // to the data register and be done. This shortcut helps - // significantly improve the effective datarate at high (> - // 500kbit/s) bitrates, where interrupt overhead becomes a slowdown. - if (emty && TEST(M_UCSRxA, M_UDREx)) { - CRITICAL_SECTION_START; - M_UDRx = c; - SBI(M_UCSRxA, M_TXCx); - CRITICAL_SECTION_END; + + // If the TX interrupts are disabled and the data register + // is empty, just write the byte to the data register and + // be done. This shortcut helps significantly improve the + // effective datarate at high (>500kbit/s) bitrates, where + // interrupt overhead becomes a slowdown. + // Yes, there is a race condition between the sending of the + // XOFF char at the RX ISR, but it is properly handled there + if (!TEST(M_UCSRxB, M_UDRIEx) && TEST(M_UCSRxA, M_UDREx)) { + M_UDRx = c; + + // clear the TXC bit -- "can be cleared by writing a one to its bit + // location". This makes sure flush() won't return until the bytes + // actually got written + SBI(M_UCSRxA, M_TXCx); return; } + const uint8_t i = (tx_buffer.head + 1) & (TX_BUFFER_SIZE - 1); - // If the output buffer is full, there's nothing for it other than to - // wait for the interrupt handler to empty it a bit - while (i == tx_buffer.tail) { - if (!TEST(SREG, SREG_I)) { - // Interrupts are disabled, so we'll have to poll the data - // register empty flag ourselves. If it is set, pretend an - // interrupt has happened and call the handler to free up - // space for us. - if (TEST(M_UCSRxA, M_UDREx)) - _tx_udr_empty_irq(); - } - else { - // nop, the interrupt handler will free up space for us + // If global interrupts are disabled (as the result of being called from an ISR)... + if (!ISRS_ENABLED()) { + + // Make room by polling if it is possible to transmit, and do so! + while (i == tx_buffer.tail) { + + // If we can transmit another byte, do it. + if (TEST(M_UCSRxA, M_UDREx)) _tx_udr_empty_irq(); + + // Make sure compiler rereads tx_buffer.tail + sw_barrier(); } } + else { + // Interrupts are enabled, just wait until there is space + while (i == tx_buffer.tail) { sw_barrier(); } + } + // Store new char. head is always safe to move tx_buffer.buffer[tx_buffer.head] = c; - { CRITICAL_SECTION_START; - tx_buffer.head = i; - SBI(M_UCSRxB, M_UDRIEx); - CRITICAL_SECTION_END; - } - return; + tx_buffer.head = i; + + // Enable TX ISR - Non atomic, but it will eventually enable TX ISR + SBI(M_UCSRxB, M_UDRIEx); } void MarlinSerial::flushTX(void) { - // TX - // If we have never written a byte, no need to flush. This special - // case is needed since there is no way to force the TXC (transmit - // complete) bit to 1 during initialization - if (!_written) - return; + // No bytes written, no need to flush. This special case is needed since there's + // no way to force the TXC (transmit complete) bit to 1 during initialization. + if (!_written) return; - while (TEST(M_UCSRxB, M_UDRIEx) || !TEST(M_UCSRxA, M_TXCx)) { - if (!TEST(SREG, SREG_I) && TEST(M_UCSRxB, M_UDRIEx)) - // Interrupts are globally disabled, but the DR empty - // interrupt should be enabled, so poll the DR empty flag to - // prevent deadlock + // If global interrupts are disabled (as the result of being called from an ISR)... + if (!ISRS_ENABLED()) { + + // Wait until everything was transmitted - We must do polling, as interrupts are disabled + while (tx_buffer.head != tx_buffer.tail || !TEST(M_UCSRxA, M_TXCx)) { + + // If there is more space, send an extra character if (TEST(M_UCSRxA, M_UDREx)) _tx_udr_empty_irq(); + + sw_barrier(); + } + + } + else { + // Wait until everything was transmitted + while (tx_buffer.head != tx_buffer.tail || !TEST(M_UCSRxA, M_TXCx)) sw_barrier(); } - // If we get here, nothing is queued anymore (DRIE is disabled) and - // the hardware finished tranmission (TXC is set). + + // At this point nothing is queued anymore (DRIE is disabled) and + // the hardware finished transmission (TXC is set). } #else // TX_BUFFER_SIZE == 0 void MarlinSerial::write(const uint8_t c) { - #if ENABLED(SERIAL_XON_XOFF) - // Do a priority insertion of an XON/XOFF char, if needed. - const uint8_t state = xon_xoff_state; - if (!(state & XON_XOFF_CHAR_SENT)) { - writeNoHandshake(state & XON_XOFF_CHAR_MASK); - xon_xoff_state = state | XON_XOFF_CHAR_SENT; - } - #endif - writeNoHandshake(c); - } - - void MarlinSerial::writeNoHandshake(const uint8_t c) { - while (!TEST(M_UCSRxA, M_UDREx)) { /* nada */ } + _written = true; + while (!TEST(M_UCSRxA, M_UDREx)) sw_barrier(); M_UDRx = c; } + void MarlinSerial::flushTX(void) { + // No bytes written, no need to flush. This special case is needed since there's + // no way to force the TXC (transmit complete) bit to 1 during initialization. + if (!_written) return; + + // Wait until everything was transmitted + while (!TEST(M_UCSRxA, M_TXCx)) sw_barrier(); + + // At this point nothing is queued anymore (DRIE is disabled) and + // the hardware finished transmission (TXC is set). + } #endif // TX_BUFFER_SIZE == 0 /** @@ -529,13 +619,9 @@ } void MarlinSerial::print(long n, int base) { - if (base == 0) - write(n); + if (base == 0) write(n); else if (base == 10) { - if (n < 0) { - print('-'); - n = -n; - } + if (n < 0) { print('-'); n = -n; } printNumber(n, 10); } else diff --git a/Marlin/src/HAL/HAL_AVR/MarlinSerial.h b/Marlin/src/HAL/HAL_AVR/MarlinSerial.h index 5e21535e4805..8c2b3f3186e5 100644 --- a/Marlin/src/HAL/HAL_AVR/MarlinSerial.h +++ b/Marlin/src/HAL/HAL_AVR/MarlinSerial.h @@ -62,6 +62,9 @@ #define M_TXCx SERIAL_REGNAME(TXC,SERIAL_PORT,) #define M_RXCIEx SERIAL_REGNAME(RXCIE,SERIAL_PORT,) #define M_UDREx SERIAL_REGNAME(UDRE,SERIAL_PORT,) +#define M_FEx SERIAL_REGNAME(FE,SERIAL_PORT,) +#define M_DORx SERIAL_REGNAME(DOR,SERIAL_PORT,) +#define M_UPEx SERIAL_REGNAME(UPE,SERIAL_PORT,) #define M_UDRIEx SERIAL_REGNAME(UDRIE,SERIAL_PORT,) #define M_UDRx SERIAL_REGNAME(UDR,SERIAL_PORT,) #define M_UBRRxH SERIAL_REGNAME(UBRR,SERIAL_PORT,H) @@ -75,6 +78,7 @@ #define HEX 16 #define OCT 8 #define BIN 2 +#define BYTE 0 #ifndef USBCON // We're using a ring buffer (I think), in which rx_buffer_head is the index of the @@ -90,15 +94,19 @@ extern uint8_t rx_dropped_bytes; #endif - #if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) - extern ring_buffer_pos_t rx_max_enqueued; + #if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS) + extern uint8_t rx_buffer_overruns; + #endif + + #if ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS) + extern uint8_t rx_framing_errors; #endif - #if ENABLED(EMERGENCY_PARSER) - extern bool killed_by_M112; + #if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) + extern ring_buffer_pos_t rx_max_enqueued; #endif - class MarlinSerial { //: public Stream + class MarlinSerial { public: MarlinSerial() {}; @@ -108,18 +116,21 @@ static int read(void); static void flush(void); static ring_buffer_pos_t available(void); - static void checkRx(void); static void write(const uint8_t c); - #if TX_BUFFER_SIZE > 0 - static uint8_t availableForWrite(void); - static void flushTX(void); - #endif - static void writeNoHandshake(const uint8_t c); + static void flushTX(void); #if ENABLED(SERIAL_STATS_DROPPED_RX) FORCE_INLINE static uint32_t dropped() { return rx_dropped_bytes; } #endif + #if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS) + FORCE_INLINE static uint32_t buffer_overruns() { return rx_buffer_overruns; } + #endif + + #if ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS) + FORCE_INLINE static uint32_t framing_errors() { return rx_framing_errors; } + #endif + #if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) FORCE_INLINE static ring_buffer_pos_t rxMaxEnqueued() { return rx_max_enqueued; } #endif @@ -129,8 +140,8 @@ FORCE_INLINE static void print(const String& s) { for (int i = 0; i < (int)s.length(); i++) write(s[i]); } FORCE_INLINE static void print(const char* str) { write(str); } - static void print(char, int = 0); - static void print(unsigned char, int = 0); + static void print(char, int = BYTE); + static void print(unsigned char, int = BYTE); static void print(int, int = DEC); static void print(unsigned int, int = DEC); static void print(long, int = DEC); @@ -139,8 +150,8 @@ static void println(const String& s); static void println(const char[]); - static void println(char, int = 0); - static void println(unsigned char, int = 0); + static void println(char, int = BYTE); + static void println(unsigned char, int = BYTE); static void println(int, int = DEC); static void println(unsigned int, int = DEC); static void println(long, int = DEC); diff --git a/Marlin/src/HAL/HAL_AVR/SanityCheck_AVR_8_bit.h b/Marlin/src/HAL/HAL_AVR/SanityCheck.h similarity index 97% rename from Marlin/src/HAL/HAL_AVR/SanityCheck_AVR_8_bit.h rename to Marlin/src/HAL/HAL_AVR/SanityCheck.h index bcc8fb42ea3b..254da910c1e6 100644 --- a/Marlin/src/HAL/HAL_AVR/SanityCheck_AVR_8_bit.h +++ b/Marlin/src/HAL/HAL_AVR/SanityCheck.h @@ -99,7 +99,7 @@ /** * TMC2208 software UART and ENDSTOP_INTERRUPTS both use pin change interrupts (PCI) */ -#if ENABLED(HAVE_TMC2208) && ENABLED(ENDSTOP_INTERRUPTS_FEATURE) && !( \ +#if HAS_DRIVER(TMC2208) && ENABLED(ENDSTOP_INTERRUPTS_FEATURE) && !( \ defined(X_HARDWARE_SERIAL ) \ || defined(X2_HARDWARE_SERIAL) \ || defined(Y_HARDWARE_SERIAL ) \ @@ -111,7 +111,7 @@ || defined(E2_HARDWARE_SERIAL) \ || defined(E3_HARDWARE_SERIAL) \ || defined(E4_HARDWARE_SERIAL) ) - #error "select hardware UART for TMC2208 to use both TMC2208 and ENDSTOP_INTERRUPTS_FEATURE." + #error "Select hardware UART for TMC2208 to use both TMC2208 and ENDSTOP_INTERRUPTS_FEATURE." #endif #endif // _SANITYCHECK_AVR_8_BIT_H_ diff --git a/Marlin/src/HAL/HAL_AVR/endstop_interrupts.h b/Marlin/src/HAL/HAL_AVR/endstop_interrupts.h index 8bd6f0081d27..358b97f6ab4e 100644 --- a/Marlin/src/HAL/HAL_AVR/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_AVR/endstop_interrupts.h @@ -24,7 +24,7 @@ * Endstop Interrupts * * Without endstop interrupts the endstop pins must be polled continually in - * the stepper-ISR via endstops.update(), most of the time finding no change. + * the temperature-ISR via endstops.update(), most of the time finding no change. * With this feature endstops.update() is called only when we know that at * least one endstop has changed state, saving valuable CPU cycles. * @@ -40,6 +40,10 @@ #include "../../core/macros.h" #include +#include "../../module/endstops.h" + +// One ISR for all EXT-Interrupts +void endstop_ISR(void) { endstops.update(); } /** * Patch for pins_arduino.h (...\Arduino\hardware\arduino\avr\variants\mega\pins_arduino.h) @@ -75,7 +79,7 @@ // Install Pin change interrupt for a pin. Can be called multiple times. -void pciSetup(byte pin) { +void pciSetup(const int8_t pin) { SBI(*digitalPinToPCMSK(pin), digitalPinToPCMSKbit(pin)); // enable pin SBI(PCIFR, digitalPinToPCICRbit(pin)); // clear any outstanding interrupt SBI(PCICR, digitalPinToPCICRbit(pin)); // enable interrupt for the group @@ -84,19 +88,19 @@ void pciSetup(byte pin) { // Handlers for pin change interrupts #ifdef PCINT0_vect - ISR(PCINT0_vect) { endstop_ISR_worker(); } + ISR(PCINT0_vect) { endstop_ISR(); } #endif #ifdef PCINT1_vect - ISR(PCINT1_vect) { endstop_ISR_worker(); } + ISR(PCINT1_vect) { endstop_ISR(); } #endif #ifdef PCINT2_vect - ISR(PCINT2_vect) { endstop_ISR_worker(); } + ISR(PCINT2_vect) { endstop_ISR(); } #endif #ifdef PCINT3_vect - ISR(PCINT3_vect) { endstop_ISR_worker(); } + ISR(PCINT3_vect) { endstop_ISR(); } #endif void setup_endstop_interrupts( void ) { diff --git a/Marlin/src/HAL/HAL_AVR/fastio_1280.h b/Marlin/src/HAL/HAL_AVR/fastio_1280.h index 31c5b5edc654..1c65f2bde76f 100644 --- a/Marlin/src/HAL/HAL_AVR/fastio_1280.h +++ b/Marlin/src/HAL/HAL_AVR/fastio_1280.h @@ -23,8 +23,9 @@ /** * Pin mapping for the 1280 and 2560 * - * Logical Pin: 22 23 24 25 26 27 28 29 53 52 51 50 10 11 12 13 37 36 35 34 33 32 31 30 21 20 19 18 81 82 83 38 00 01 78 05 02 03 79 80 54 55 56 57 58 59 60 61 41 40 39 71 70 04 17 16 84 06 07 08 09 85 15 14 72 73 75 76 77 74 62 63 64 65 66 67 68 69 49 48 47 46 45 44 43 42 - * Port: A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2 E3 E4 E5 E6 E7 F0 F1 F2 F3 F4 F5 F6 F7 G0 G1 G2 G3 G4 G5 H0 H1 H2 H3 H4 H5 H6 H7 J0 J1 J2 J3 J4 J5 J6 J7 K0 K1 K2 K3 K4 K5 K6 K7 L0 L1 L2 L3 L4 L5 L6 L7 + * Hardware Pin : 02 03 06 07 01 05 15 16 17 18 23 24 25 26 64 63 13 12 46 45 44 43 78 77 76 75 74 73 72 71 60 59 58 57 56 55 54 53 50 70 52 51 42 41 40 39 38 37 36 35 22 21 20 19 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 04 08 09 10 11 14 27 28 29 30 31 32 33 34 47 48 49 61 62 65 66 67 68 69 79 80 81 98 99 100 + * Port : E0 E1 E4 E5 G5 E3 H3 H4 H5 H6 B4 B5 B6 B7 J1 J0 H1 H0 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 C1 C0 D7 G2 G1 G0 L7 L6 L5 L4 L3 L2 L1 L0 B3 B2 B1 B0 F0 F1 F2 F3 F4 F5 F6 F7 K0 K1 K2 K3 K4 K5 K6 K7 E2 E6 E7 xx xx H2 H7 G3 G4 xx xx xx xx xx D4 D5 D6 xx xx J2 J3 J4 J5 J6 J7 xx xx xx xx xx + * Logical Pin : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx */ #ifndef _FASTIO_1280_H_ diff --git a/Marlin/src/HAL/HAL_AVR/fastio_AVR.h b/Marlin/src/HAL/HAL_AVR/fastio_AVR.h index 70a46bad6357..a4e3c5d74de5 100644 --- a/Marlin/src/HAL/HAL_AVR/fastio_AVR.h +++ b/Marlin/src/HAL/HAL_AVR/fastio_AVR.h @@ -36,7 +36,7 @@ #define AVR_ATmega1284_FAMILY (defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) || defined(__AVR_ATmega1284P__)) #define AVR_ATmega2560_FAMILY (defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)) #define AVR_ATmega2561_FAMILY (defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__)) -#define AVR_ATmega328_FAMILY (defined(__AVR_ATmega168__) || defined(__AVR_ATmega328__) || defined(__AVR_ATmega328p__)) +#define AVR_ATmega328_FAMILY (defined(__AVR_ATmega168__) || defined(__AVR_ATmega328__) || defined(__AVR_ATmega328P__)) /** * Include Ports and Functions @@ -52,7 +52,7 @@ #elif AVR_ATmega2561_FAMILY #include "fastio_1281.h" #else - #error "Pins for this chip not defined in Arduino.h! If you have a working pins definition, please contribute!" + #error "No FastIO definition for the selected AVR Board." #endif /** @@ -63,56 +63,50 @@ * Why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html */ -#define _READ(IO) ((bool)(DIO ## IO ## _RPORT & _BV(DIO ## IO ## _PIN))) +#define _READ(IO) TEST(DIO ## IO ## _RPORT, DIO ## IO ## _PIN) -// On some boards pins > 0x100 are used. These are not converted to atomic actions. A critical section is needed. +#define _WRITE_NC(IO,V) do{ \ + if (V) SBI(DIO ## IO ## _WPORT, DIO ## IO ## _PIN); \ + else CBI(DIO ## IO ## _WPORT, DIO ## IO ## _PIN); \ +}while(0) -#define _WRITE_NC(IO, v) do { if (v) {DIO ## IO ## _WPORT |= _BV(DIO ## IO ## _PIN); } else {DIO ## IO ## _WPORT &= ~_BV(DIO ## IO ## _PIN); }; } while (0) +#define _WRITE_C(IO,V) do{ \ + uint8_t port_bits = DIO ## IO ## _WPORT; /* Get a mask from the current port bits */ \ + if (V) port_bits = ~port_bits; /* For setting bits, invert the mask */ \ + DIO ## IO ## _RPORT = port_bits & _BV(DIO ## IO ## _PIN); /* Atomically toggle the output port bits */ \ +}while(0) -#define _WRITE_C(IO, v) do { if (v) { \ - CRITICAL_SECTION_START; \ - {DIO ## IO ## _WPORT |= _BV(DIO ## IO ## _PIN); } \ - CRITICAL_SECTION_END; \ - } \ - else { \ - CRITICAL_SECTION_START; \ - {DIO ## IO ## _WPORT &= ~_BV(DIO ## IO ## _PIN); } \ - CRITICAL_SECTION_END; \ - } \ - } \ - while (0) +#define _WRITE(IO,V) do{ if (&(DIO ## IO ## _RPORT) < (uint8_t*)0x100) _WRITE_NC(IO,V); else _WRITE_C(IO,V); }while(0) -#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0) +#define _TOGGLE(IO) (DIO ## IO ## _RPORT = _BV(DIO ## IO ## _PIN)) -#define _TOGGLE(IO) do {DIO ## IO ## _RPORT ^= _BV(DIO ## IO ## _PIN); } while (0) +#define _SET_INPUT(IO) CBI(DIO ## IO ## _DDR, DIO ## IO ## _PIN) +#define _SET_OUTPUT(IO) SBI(DIO ## IO ## _DDR, DIO ## IO ## _PIN) -#define _SET_INPUT(IO) do {DIO ## IO ## _DDR &= ~_BV(DIO ## IO ## _PIN); } while (0) -#define _SET_OUTPUT(IO) do {DIO ## IO ## _DDR |= _BV(DIO ## IO ## _PIN); } while (0) +#define _GET_INPUT(IO) !TEST(DIO ## IO ## _DDR, DIO ## IO ## _PIN) +#define _GET_OUTPUT(IO) TEST(DIO ## IO ## _DDR, DIO ## IO ## _PIN) +#define _GET_TIMER(IO) DIO ## IO ## _PWM -#define _GET_INPUT(IO) ((DIO ## IO ## _DDR & _BV(DIO ## IO ## _PIN)) == 0) -#define _GET_OUTPUT(IO) ((DIO ## IO ## _DDR & _BV(DIO ## IO ## _PIN)) != 0) -#define _GET_TIMER(IO) (DIO ## IO ## _PWM) +#define READ(IO) _READ(IO) +#define WRITE(IO,V) _WRITE(IO,V) +#define TOGGLE(IO) _TOGGLE(IO) -#define READ(IO) _READ(IO) -#define WRITE(IO,V) _WRITE(IO,V) -#define TOGGLE(IO) _TOGGLE(IO) +#define SET_INPUT(IO) _SET_INPUT(IO) +#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _WRITE(IO, HIGH); }while(0) +#define SET_OUTPUT(IO) _SET_OUTPUT(IO) -#define SET_INPUT(IO) _SET_INPUT(IO) -#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _WRITE(IO, HIGH); }while(0) -#define SET_OUTPUT(IO) _SET_OUTPUT(IO) +#define GET_INPUT(IO) _GET_INPUT(IO) +#define GET_OUTPUT(IO) _GET_OUTPUT(IO) +#define GET_TIMER(IO) _GET_TIMER(IO) -#define GET_INPUT(IO) _GET_INPUT(IO) -#define GET_OUTPUT(IO) _GET_OUTPUT(IO) -#define GET_TIMER(IO) _GET_TIMER(IO) - -#define OUT_WRITE(IO, v) do{ SET_OUTPUT(IO); WRITE(IO, v); }while(0) +#define OUT_WRITE(IO,V) do{ SET_OUTPUT(IO); WRITE(IO,V); }while(0) /** * Timer and Interrupt Control */ // Waveform Generation Modes -typedef enum { +enum WaveGenMode : char { WGM_NORMAL, // 0 WGM_PWM_PC_8, // 1 WGM_PWM_PC_9, // 2 @@ -129,18 +123,18 @@ typedef enum { WGM_reserved, // 13 WGM_FAST_PWM_ICRn, // 14 COM OCnA WGM_FAST_PWM_OCRnA // 15 COM OCnA -} WaveGenMode; +}; // Compare Modes -typedef enum { +enum CompareMode : char { COM_NORMAL, // 0 COM_TOGGLE, // 1 Non-PWM: OCnx ... Both PWM (WGM 9,11,14,15): OCnA only ... else NORMAL COM_CLEAR_SET, // 2 Non-PWM: OCnx ... Fast PWM: OCnx/Bottom ... PF-FC: OCnx Up/Down COM_SET_CLEAR // 3 Non-PWM: OCnx ... Fast PWM: OCnx/Bottom ... PF-FC: OCnx Up/Down -} CompareMode; +}; // Clock Sources -typedef enum { +enum ClockSource : char { CS_NONE, // 0 CS_PRESCALER_1, // 1 CS_PRESCALER_8, // 2 @@ -149,10 +143,10 @@ typedef enum { CS_PRESCALER_1024, // 5 CS_EXT_FALLING, // 6 CS_EXT_RISING // 7 -} ClockSource; +}; // Clock Sources (Timer 2 only) -typedef enum { +enum ClockSource2 : char { CS2_NONE, // 0 CS2_PRESCALER_1, // 1 CS2_PRESCALER_8, // 2 @@ -161,7 +155,7 @@ typedef enum { CS2_PRESCALER_128, // 5 CS2_PRESCALER_256, // 6 CS2_PRESCALER_1024 // 7 -} ClockSource2; +}; // Get interrupt bits in an orderly way // Ex: cs = GET_CS(0); coma1 = GET_COM(A,1); @@ -240,7 +234,7 @@ typedef enum { * PWM availability macros */ -//find out which harware PWMs are already in use +// Determine which harware PWMs are already in use #if PIN_EXISTS(CONTROLLER_FAN) #define PWM_CHK_FAN_B(p) (p == CONTROLLER_FAN_PIN || p == E0_AUTO_FAN_PIN || p == E1_AUTO_FAN_PIN || p == E2_AUTO_FAN_PIN || p == E3_AUTO_FAN_PIN || p == E4_AUTO_FAN_PIN || p == CHAMBER_AUTO_FAN_PIN) #else @@ -253,7 +247,7 @@ typedef enum { #elif PIN_EXISTS(FAN1) #define PWM_CHK_FAN_A(p) (p == FAN_PIN || p == FAN1_PIN) #else - #define PWM_CHK_FAN_A(p) p == FAN_PIN + #define PWM_CHK_FAN_A(p) (p == FAN_PIN) #endif #else #define PWM_CHK_FAN_A(p) false @@ -273,13 +267,13 @@ typedef enum { #ifdef NUM_SERVOS #if AVR_ATmega2560_FAMILY - #define PWM_CHK_SERVO(p) ( p == 5 || NUM_SERVOS > 12 && p == 6 || NUM_SERVOS > 24 && p == 46) //PWMS 3A, 4A & 5A + #define PWM_CHK_SERVO(p) (p == 5 || (NUM_SERVOS > 12 && p == 6) || (NUM_SERVOS > 24 && p == 46)) // PWMS 3A, 4A & 5A #elif AVR_ATmega2561_FAMILY - #define PWM_CHK_SERVO(p) p == 5 //PWM3A + #define PWM_CHK_SERVO(p) (p == 5) // PWM3A #elif AVR_ATmega1284_FAMILY #define PWM_CHK_SERVO(p) false #elif AVR_AT90USB1286_FAMILY - #define PWM_CHK_SERVO(p) p == 16 //PWM3A + #define PWM_CHK_SERVO(p) (p == 16) // PWM3A #elif AVR_ATmega328_FAMILY #define PWM_CHK_SERVO(p) false #endif @@ -303,15 +297,15 @@ typedef enum { // define which hardware PWMs are available for the current CPU // all timer 1 PWMS deleted from this list because they are never available #if AVR_ATmega2560_FAMILY - #define PWM_PINS(p) ((p >= 2 && p <= 10 ) || p == 13 || p == 44 || p == 45 || p == 46 ) + #define PWM_PINS(p) ((p >= 2 && p <= 10) || p == 13 || p == 44 || p == 45 || p == 46) #elif AVR_ATmega2561_FAMILY - #define PWM_PINS(p) ((p >= 2 && p <= 6 ) || p == 9) + #define PWM_PINS(p) ((p >= 2 && p <= 6) || p == 9) #elif AVR_ATmega1284_FAMILY - #define PWM_PINS(p) (p == 3 || p == 4 || p == 14 || p == 15) + #define PWM_PINS(p) (p == 3 || p == 4 || p == 14 || p == 15) #elif AVR_AT90USB1286_FAMILY - #define PWM_PINS(p) (p == 0 || p == 1 || p == 14 || p == 15 || p == 16 || p == 24) + #define PWM_PINS(p) (p == 0 || p == 1 || p == 14 || p == 15 || p == 16 || p == 24) #elif AVR_ATmega328_FAMILY - #define PWM_PINS(p) (p == 3 || p == 5 || p == 6 || p == 11) + #define PWM_PINS(p) (p == 3 || p == 5 || p == 6 || p == 11) #else #error "unknown CPU" #endif diff --git a/Marlin/src/HAL/HAL_AVR/math_AVR.h b/Marlin/src/HAL/HAL_AVR/math_AVR.h index e0feab034f8e..6348ed8bbf9b 100644 --- a/Marlin/src/HAL/HAL_AVR/math_AVR.h +++ b/Marlin/src/HAL/HAL_AVR/math_AVR.h @@ -29,84 +29,89 @@ // intRes = longIn1 * longIn2 >> 24 // uses: -// r26 to store 0 -// r27 to store bits 16-23 of the 48bit result. The top bit is used to round the two byte result. +// A[tmp] to store 0 +// B[tmp] to store bits 16-23 of the 48bit result. The top bit is used to round the two byte result. // note that the lower two bytes and the upper byte of the 48bit result are not calculated. // this can cause the result to be out by one as the lower bytes may cause carries into the upper ones. -// B0 A0 are bits 24-39 and are the returned value -// C1 B1 A1 is longIn1 -// D2 C2 B2 A2 is longIn2 +// B A are bits 24-39 and are the returned value +// C B A is longIn1 +// D C B A is longIn2 // -#define MultiU24X32toH16(intRes, longIn1, longIn2) \ - asm volatile ( \ - "clr r26 \n\t" \ - "mul %A1, %B2 \n\t" \ - "mov r27, r1 \n\t" \ - "mul %B1, %C2 \n\t" \ - "movw %A0, r0 \n\t" \ - "mul %C1, %C2 \n\t" \ - "add %B0, r0 \n\t" \ - "mul %C1, %B2 \n\t" \ - "add %A0, r0 \n\t" \ - "adc %B0, r1 \n\t" \ - "mul %A1, %C2 \n\t" \ - "add r27, r0 \n\t" \ - "adc %A0, r1 \n\t" \ - "adc %B0, r26 \n\t" \ - "mul %B1, %B2 \n\t" \ - "add r27, r0 \n\t" \ - "adc %A0, r1 \n\t" \ - "adc %B0, r26 \n\t" \ - "mul %C1, %A2 \n\t" \ - "add r27, r0 \n\t" \ - "adc %A0, r1 \n\t" \ - "adc %B0, r26 \n\t" \ - "mul %B1, %A2 \n\t" \ - "add r27, r1 \n\t" \ - "adc %A0, r26 \n\t" \ - "adc %B0, r26 \n\t" \ - "lsr r27 \n\t" \ - "adc %A0, r26 \n\t" \ - "adc %B0, r26 \n\t" \ - "mul %D2, %A1 \n\t" \ - "add %A0, r0 \n\t" \ - "adc %B0, r1 \n\t" \ - "mul %D2, %B1 \n\t" \ - "add %B0, r0 \n\t" \ - "clr r1 \n\t" \ - : \ - "=&r" (intRes) \ - : \ - "d" (longIn1), \ - "d" (longIn2) \ - : \ - "r26" , "r27" \ - ) +static FORCE_INLINE uint16_t MultiU24X32toH16(uint32_t longIn1, uint32_t longIn2) { + register uint8_t tmp1; + register uint8_t tmp2; + register uint16_t intRes; + __asm__ __volatile__( + A("clr %[tmp1]") + A("mul %A[longIn1], %B[longIn2]") + A("mov %[tmp2], r1") + A("mul %B[longIn1], %C[longIn2]") + A("movw %A[intRes], r0") + A("mul %C[longIn1], %C[longIn2]") + A("add %B[intRes], r0") + A("mul %C[longIn1], %B[longIn2]") + A("add %A[intRes], r0") + A("adc %B[intRes], r1") + A("mul %A[longIn1], %C[longIn2]") + A("add %[tmp2], r0") + A("adc %A[intRes], r1") + A("adc %B[intRes], %[tmp1]") + A("mul %B[longIn1], %B[longIn2]") + A("add %[tmp2], r0") + A("adc %A[intRes], r1") + A("adc %B[intRes], %[tmp1]") + A("mul %C[longIn1], %A[longIn2]") + A("add %[tmp2], r0") + A("adc %A[intRes], r1") + A("adc %B[intRes], %[tmp1]") + A("mul %B[longIn1], %A[longIn2]") + A("add %[tmp2], r1") + A("adc %A[intRes], %[tmp1]") + A("adc %B[intRes], %[tmp1]") + A("lsr %[tmp2]") + A("adc %A[intRes], %[tmp1]") + A("adc %B[intRes], %[tmp1]") + A("mul %D[longIn2], %A[longIn1]") + A("add %A[intRes], r0") + A("adc %B[intRes], r1") + A("mul %D[longIn2], %B[longIn1]") + A("add %B[intRes], r0") + A("clr r1") + : [intRes] "=&r" (intRes), + [tmp1] "=&r" (tmp1), + [tmp2] "=&r" (tmp2) + : [longIn1] "d" (longIn1), + [longIn2] "d" (longIn2) + : "cc" + ); + return intRes; +} // intRes = intIn1 * intIn2 >> 16 // uses: // r26 to store 0 // r27 to store the byte 1 of the 24 bit result -#define MultiU16X8toH16(intRes, charIn1, intIn2) \ - asm volatile ( \ - "clr r26 \n\t" \ - "mul %A1, %B2 \n\t" \ - "movw %A0, r0 \n\t" \ - "mul %A1, %A2 \n\t" \ - "add %A0, r1 \n\t" \ - "adc %B0, r26 \n\t" \ - "lsr r0 \n\t" \ - "adc %A0, r26 \n\t" \ - "adc %B0, r26 \n\t" \ - "clr r1 \n\t" \ - : \ - "=&r" (intRes) \ - : \ - "d" (charIn1), \ - "d" (intIn2) \ - : \ - "r26" \ - ) - +static FORCE_INLINE uint16_t MultiU16X8toH16(uint8_t charIn1, uint16_t intIn2) { + register uint8_t tmp; + register uint16_t intRes; + __asm__ __volatile__ ( + A("clr %[tmp]") + A("mul %[charIn1], %B[intIn2]") + A("movw %A[intRes], r0") + A("mul %[charIn1], %A[intIn2]") + A("add %A[intRes], r1") + A("adc %B[intRes], %[tmp]") + A("lsr r0") + A("adc %A[intRes], %[tmp]") + A("adc %B[intRes], %[tmp]") + A("clr r1") + : [intRes] "=&r" (intRes), + [tmp] "=&r" (tmp) + : [charIn1] "d" (charIn1), + [intIn2] "d" (intIn2) + : "cc" + ); + return intRes; +} #endif // _MATH_AVR_H_ diff --git a/Marlin/src/HAL/HAL_AVR/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_AVR/persistent_store_impl.cpp index 9d5ddd1bd731..ef6fbeabd50d 100644 --- a/Marlin/src/HAL/HAL_AVR/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_AVR/persistent_store_impl.cpp @@ -9,13 +9,8 @@ namespace HAL { namespace PersistentStore { -bool access_start() { - return true; -} - -bool access_finish(){ - return true; -} +bool access_start() { return true; } +bool access_finish() { return true; } bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { while (size--) { diff --git a/Marlin/src/HAL/HAL_AVR/pinsDebug_AVR_8_bit.h b/Marlin/src/HAL/HAL_AVR/pinsDebug.h similarity index 100% rename from Marlin/src/HAL/HAL_AVR/pinsDebug_AVR_8_bit.h rename to Marlin/src/HAL/HAL_AVR/pinsDebug.h diff --git a/Marlin/src/HAL/HAL_AVR/servo_AVR.cpp b/Marlin/src/HAL/HAL_AVR/servo_AVR.cpp index 0da95d040ec5..c02dd4c203b5 100644 --- a/Marlin/src/HAL/HAL_AVR/servo_AVR.cpp +++ b/Marlin/src/HAL/HAL_AVR/servo_AVR.cpp @@ -42,8 +42,8 @@ * * write() - Set the servo angle in degrees. (Invalid angles —over MIN_PULSE_WIDTH— are treated as µs.) * writeMicroseconds() - Set the servo pulse width in microseconds. - * move(pin, angle) - Sequence of attach(pin), write(angle), delay(SERVO_DELAY). - * With DEACTIVATE_SERVOS_AFTER_MOVE it detaches after SERVO_DELAY. + * move(pin, angle) - Sequence of attach(pin), write(angle), safe_delay(servo_delay[servoIndex]). + * With DEACTIVATE_SERVOS_AFTER_MOVE it detaches after servo_delay[servoIndex]. * read() - Get the last-written servo pulse width as an angle between 0 and 180. * readMicroseconds() - Get the last-written servo pulse width in microseconds. * attached() - Return true if a servo is attached. diff --git a/Marlin/src/HAL/HAL_DUE/DebugMonitor_Due.cpp b/Marlin/src/HAL/HAL_DUE/DebugMonitor_Due.cpp index f6ee7363aac8..51064f9ba287 100644 --- a/Marlin/src/HAL/HAL_DUE/DebugMonitor_Due.cpp +++ b/Marlin/src/HAL/HAL_DUE/DebugMonitor_Due.cpp @@ -22,10 +22,12 @@ #ifdef ARDUINO_ARCH_SAM -#include "../../inc/MarlinConfig.h" -#include "../../Marlin.h" -#include "../../backtrace/unwinder.h" -#include "../../backtrace/unwmemaccess.h" +#include "../../core/macros.h" +#include "../../core/serial.h" +#include + +#include "../backtrace/unwinder.h" +#include "../backtrace/unwmemaccess.h" // Debug monitor that dumps to the Programming port all status when // an exception or WDT timeout happens - And then resets the board @@ -36,7 +38,7 @@ // state we are when running them // A SW memory barrier, to ensure GCC does not overoptimize loops -#define sw_barrier() asm volatile("": : :"memory"); +#define sw_barrier() __asm__ volatile("": : :"memory"); // (re)initialize UART0 as a monitor output to 250000,n,8,1 static void TXBegin(void) { @@ -44,6 +46,11 @@ static void TXBegin(void) { // Disable UART interrupt in NVIC NVIC_DisableIRQ( UART_IRQn ); + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); + // Disable clock pmc_disable_periph_clk( ID_UART ); @@ -66,7 +73,6 @@ static void TXBegin(void) { UART->UART_CR = UART_CR_RXEN | UART_CR_TXEN; } - // Send character through UART with no interrupts static void TX(char c) { while (!(UART->UART_SR & UART_SR_TXRDY)) { WDT_Restart(WDT); sw_barrier(); }; @@ -230,107 +236,107 @@ void HardFault_HandlerC(unsigned long *sp, unsigned long lr, unsigned long cause __attribute__((naked)) void NMI_Handler(void) { __asm__ __volatile__ ( - ".syntax unified \n" - " tst lr, #4 \n" - " ite eq \n" - " mrseq r0, msp \n" - " mrsne r0, psp \n" - " mov r1,lr \n" - " mov r2,#0 \n" - " b HardFault_HandlerC \n" + ".syntax unified" "\n\t" + A("tst lr, #4") + A("ite eq") + A("mrseq r0, msp") + A("mrsne r0, psp") + A("mov r1,lr") + A("mov r2,#0") + A("b HardFault_HandlerC") ); } __attribute__((naked)) void HardFault_Handler(void) { __asm__ __volatile__ ( - ".syntax unified \n" - " tst lr, #4 \n" - " ite eq \n" - " mrseq r0, msp \n" - " mrsne r0, psp \n" - " mov r1,lr \n" - " mov r2,#1 \n" - " b HardFault_HandlerC \n" + ".syntax unified" "\n\t" + A("tst lr, #4") + A("ite eq") + A("mrseq r0, msp") + A("mrsne r0, psp") + A("mov r1,lr") + A("mov r2,#1") + A("b HardFault_HandlerC") ); } __attribute__((naked)) void MemManage_Handler(void) { __asm__ __volatile__ ( - ".syntax unified \n" - " tst lr, #4 \n" - " ite eq \n" - " mrseq r0, msp \n" - " mrsne r0, psp \n" - " mov r1,lr \n" - " mov r2,#2 \n" - " b HardFault_HandlerC \n" + ".syntax unified" "\n\t" + A("tst lr, #4") + A("ite eq") + A("mrseq r0, msp") + A("mrsne r0, psp") + A("mov r1,lr") + A("mov r2,#2") + A("b HardFault_HandlerC") ); } __attribute__((naked)) void BusFault_Handler(void) { __asm__ __volatile__ ( - ".syntax unified \n" - " tst lr, #4 \n" - " ite eq \n" - " mrseq r0, msp \n" - " mrsne r0, psp \n" - " mov r1,lr \n" - " mov r2,#3 \n" - " b HardFault_HandlerC \n" + ".syntax unified" "\n\t" + A("tst lr, #4") + A("ite eq") + A("mrseq r0, msp") + A("mrsne r0, psp") + A("mov r1,lr") + A("mov r2,#3") + A("b HardFault_HandlerC") ); } __attribute__((naked)) void UsageFault_Handler(void) { __asm__ __volatile__ ( - ".syntax unified \n" - " tst lr, #4 \n" - " ite eq \n" - " mrseq r0, msp \n" - " mrsne r0, psp \n" - " mov r1,lr \n" - " mov r2,#4 \n" - " b HardFault_HandlerC \n" + ".syntax unified" "\n\t" + A("tst lr, #4") + A("ite eq") + A("mrseq r0, msp") + A("mrsne r0, psp") + A("mov r1,lr") + A("mov r2,#4") + A("b HardFault_HandlerC") ); } __attribute__((naked)) void DebugMon_Handler(void) { __asm__ __volatile__ ( - ".syntax unified \n" - " tst lr, #4 \n" - " ite eq \n" - " mrseq r0, msp \n" - " mrsne r0, psp \n" - " mov r1,lr \n" - " mov r2,#5 \n" - " b HardFault_HandlerC \n" + ".syntax unified" "\n\t" + A("tst lr, #4") + A("ite eq") + A("mrseq r0, msp") + A("mrsne r0, psp") + A("mov r1,lr") + A("mov r2,#5") + A("b HardFault_HandlerC") ); } /* This is NOT an exception, it is an interrupt handler - Nevertheless, the framing is the same */ __attribute__((naked)) void WDT_Handler(void) { __asm__ __volatile__ ( - ".syntax unified \n" - " tst lr, #4 \n" - " ite eq \n" - " mrseq r0, msp \n" - " mrsne r0, psp \n" - " mov r1,lr \n" - " mov r2,#6 \n" - " b HardFault_HandlerC \n" + ".syntax unified" "\n\t" + A("tst lr, #4") + A("ite eq") + A("mrseq r0, msp") + A("mrsne r0, psp") + A("mov r1,lr") + A("mov r2,#6") + A("b HardFault_HandlerC") ); } __attribute__((naked)) void RSTC_Handler(void) { __asm__ __volatile__ ( - ".syntax unified \n" - " tst lr, #4 \n" - " ite eq \n" - " mrseq r0, msp \n" - " mrsne r0, psp \n" - " mov r1,lr \n" - " mov r2,#7 \n" - " b HardFault_HandlerC \n" + ".syntax unified" "\n\t" + A("tst lr, #4") + A("ite eq") + A("mrseq r0, msp") + A("mrsne r0, psp") + A("mov r1,lr") + A("mov r2,#7") + A("b HardFault_HandlerC") ); } -#endif +#endif // ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/HAL_DUE/HAL_Due.cpp b/Marlin/src/HAL/HAL_DUE/HAL.cpp similarity index 99% rename from Marlin/src/HAL/HAL_DUE/HAL_Due.cpp rename to Marlin/src/HAL/HAL_DUE/HAL.cpp index f53e7a122e76..9d932d94dbbd 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL_Due.cpp +++ b/Marlin/src/HAL/HAL_DUE/HAL.cpp @@ -29,7 +29,7 @@ // Includes // -------------------------------------------------------------------------- -#include "../HAL.h" +#include "HAL.h" #include #include "usb/usb_task.h" diff --git a/Marlin/src/HAL/HAL_DUE/HAL_Due.h b/Marlin/src/HAL/HAL_DUE/HAL.h similarity index 93% rename from Marlin/src/HAL/HAL_DUE/HAL_Due.h rename to Marlin/src/HAL/HAL_DUE/HAL.h index 4f574ecbd26d..c0f8141e5b8f 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL_Due.h +++ b/Marlin/src/HAL/HAL_DUE/HAL.h @@ -29,10 +29,14 @@ #ifndef _HAL_DUE_H #define _HAL_DUE_H +#define CPU_32_BIT + #include #include +#include "../math_32bit.h" +#include "../HAL_SPI.h" #include "fastio_Due.h" #include "watchdog_Due.h" #include "HAL_timers_Due.h" @@ -51,8 +55,11 @@ #define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1) #endif -#define CRITICAL_SECTION_START uint32_t primask = __get_PRIMASK(); __disable_irq(); -#define CRITICAL_SECTION_END if (!primask) __enable_irq(); +#define CRITICAL_SECTION_START uint32_t primask = __get_PRIMASK(); __disable_irq() +#define CRITICAL_SECTION_END if (!primask) __enable_irq() +#define ISRS_ENABLED() (!__get_PRIMASK()) +#define ENABLE_ISRS() __enable_irq() +#define DISABLE_ISRS() __disable_irq() // On AVR this is in math.h? #define square(x) ((x)*(x)) @@ -134,7 +141,8 @@ void eeprom_update_block (const void *__src, void *__dst, size_t __n); inline void HAL_adc_init(void) {}//todo #define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) -#define HAL_READ_ADC HAL_adc_result +#define HAL_READ_ADC() HAL_adc_result +#define HAL_ADC_READY() true void HAL_adc_start_conversion(const uint8_t adc_pin); uint16_t HAL_adc_get_result(void); diff --git a/Marlin/src/HAL/HAL_DUE/HAL_spi_Due.cpp b/Marlin/src/HAL/HAL_DUE/HAL_spi_Due.cpp index 36aec941362e..84c0f8f4bf7e 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL_spi_Due.cpp +++ b/Marlin/src/HAL/HAL_DUE/HAL_spi_Due.cpp @@ -42,6 +42,7 @@ // -------------------------------------------------------------------------- #include "../../inc/MarlinConfig.h" +#include "../Delay.h" // -------------------------------------------------------------------------- // Public Variables @@ -58,66 +59,16 @@ // software SPI // -------------------------------------------------------------------------- - // set optimization so ARDUINO optimizes this file + // Make sure GCC optimizes this file. + // Note that this line triggers a bug in GCC which is fixed by casting. + // See the note below. #pragma GCC optimize (3) - /* ---------------- Delay Cycles routine -------------- */ - - /* https://blueprints.launchpad.net/gcc-arm-embedded/+spec/delay-cycles */ - - #define nop() __asm__ __volatile__("nop;\n\t":::) - - FORCE_INLINE static void __delay_4cycles(uint32_t cy) { // +1 cycle - #if ARCH_PIPELINE_RELOAD_CYCLES<2 - #define EXTRA_NOP_CYCLES "nop" - #else - #define EXTRA_NOP_CYCLES "" - #endif - - __asm__ __volatile__( - ".syntax unified" "\n\t" // is to prevent CM0,CM1 non-unified syntax - - "loop%=:" "\n\t" - " subs %[cnt],#1" "\n\t" - EXTRA_NOP_CYCLES "\n\t" - " bne loop%=" "\n\t" - : [cnt]"+r"(cy) // output: +r means input+output - : // input: - : "cc" // clobbers: - ); - } - - FORCE_INLINE static void DELAY_CYCLES(uint32_t x) { - - if (__builtin_constant_p(x)) { - - #define MAXNOPS 4 - - if (x <= (MAXNOPS)) { - switch (x) { case 4: nop(); case 3: nop(); case 2: nop(); case 1: nop(); } - } - else { // because of +1 cycle inside delay_4cycles - const uint32_t rem = (x - 1) % (MAXNOPS); - switch (rem) { case 3: nop(); case 2: nop(); case 1: nop(); } - if ((x = (x - 1) / (MAXNOPS))) - __delay_4cycles(x); // if need more then 4 nop loop is more optimal - } - } - else - __delay_4cycles(x / 4); - } - - /* ---------------- Delay in nanoseconds and in microseconds */ - - #define DELAY_NS(x) DELAY_CYCLES( (x) * (F_CPU/1000000) / 1000) - - typedef uint8_t (*pfnSpiTransfer) (uint8_t b); + typedef uint8_t (*pfnSpiTransfer)(uint8_t b); typedef void (*pfnSpiRxBlock)(uint8_t* buf, uint32_t nbyte); typedef void (*pfnSpiTxBlock)(const uint8_t* buf, uint32_t nbyte); - /* ---------------- Macros to be able to access definitions from asm */ - #define _PORT(IO) DIO ## IO ## _WPORT #define _PIN_MASK(IO) MASK(DIO ## IO ## _PIN) #define _PIN_SHIFT(IO) DIO ## IO ## _PIN @@ -138,57 +89,57 @@ /* The software SPI routine */ __asm__ __volatile__( - ".syntax unified" "\n\t" // is to prevent CM0,CM1 non-unified syntax + A(".syntax unified") // is to prevent CM0,CM1 non-unified syntax /* Bit 7 */ - " ubfx %[idx],%[txval],#7,#1" "\n\t" /* Place bit 7 in bit 0 of idx*/ + A("ubfx %[idx],%[txval],#7,#1") /* Place bit 7 in bit 0 of idx*/ - " str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[idx],%[txval],#6,#1" "\n\t" /* Place bit 6 in bit 0 of idx*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[idx],%[txval],#6,#1") /* Place bit 6 in bit 0 of idx*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 6 */ - " str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[idx],%[txval],#5,#1" "\n\t" /* Place bit 5 in bit 0 of idx*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[idx],%[txval],#5,#1") /* Place bit 5 in bit 0 of idx*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 5 */ - " str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[idx],%[txval],#4,#1" "\n\t" /* Place bit 4 in bit 0 of idx*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[idx],%[txval],#4,#1") /* Place bit 4 in bit 0 of idx*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 4 */ - " str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[idx],%[txval],#3,#1" "\n\t" /* Place bit 3 in bit 0 of idx*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[idx],%[txval],#3,#1") /* Place bit 3 in bit 0 of idx*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 3 */ - " str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[idx],%[txval],#2,#1" "\n\t" /* Place bit 2 in bit 0 of idx*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[idx],%[txval],#2,#1") /* Place bit 2 in bit 0 of idx*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 2 */ - " str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[idx],%[txval],#1,#1" "\n\t" /* Place bit 1 in bit 0 of idx*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[idx],%[txval],#1,#1") /* Place bit 1 in bit 0 of idx*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 1 */ - " str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[idx],%[txval],#0,#1" "\n\t" /* Place bit 0 in bit 0 of idx*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[idx],%[txval],#0,#1") /* Place bit 0 in bit 0 of idx*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 0 */ - " str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " nop" "\n\t" /* Result will be 0 */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[idx],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("nop") /* Result will be 0 */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ : [idx]"+r"( idx ) : [txval]"r"( bout ) , @@ -202,10 +153,10 @@ return 0; } - // Calculates the bit band alias address and returns a pointer address to word. - // addr: The byte address of bitbanding bit. - // bit: The bit position of bitbanding bit. -#define BITBAND_ADDRESS(addr, bit) \ + // Calculates the bit band alias address and returns a pointer address to word. + // addr: The byte address of bitbanding bit. + // bit: The bit position of bitbanding bit. + #define BITBAND_ADDRESS(addr, bit) \ (((uint32_t)(addr) & 0xF0000000) + 0x02000000 + ((uint32_t)(addr)&0xFFFFF)*32 + (bit)*4) // run at ~8 .. ~10Mhz - Rx version (Tx line not altered) @@ -219,55 +170,55 @@ /* The software SPI routine */ __asm__ __volatile__( - ".syntax unified" "\n\t" // is to prevent CM0,CM1 non-unified syntax + A(".syntax unified") // is to prevent CM0,CM1 non-unified syntax /* bit 7 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#7,#1" "\n\t" /* Store read bit as the bit 7 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#7,#1") /* Store read bit as the bit 7 */ /* bit 6 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#6,#1" "\n\t" /* Store read bit as the bit 6 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#6,#1") /* Store read bit as the bit 6 */ /* bit 5 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#5,#1" "\n\t" /* Store read bit as the bit 5 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#5,#1") /* Store read bit as the bit 5 */ /* bit 4 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#4,#1" "\n\t" /* Store read bit as the bit 4 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#4,#1") /* Store read bit as the bit 4 */ /* bit 3 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#3,#1" "\n\t" /* Store read bit as the bit 3 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#3,#1") /* Store read bit as the bit 3 */ /* bit 2 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#2,#1" "\n\t" /* Store read bit as the bit 2 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#2,#1") /* Store read bit as the bit 2 */ /* bit 1 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#1,#1" "\n\t" /* Store read bit as the bit 1 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#1,#1") /* Store read bit as the bit 1 */ /* bit 0 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#0,#1" "\n\t" /* Store read bit as the bit 0 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#0,#1") /* Store read bit as the bit 0 */ : [bin]"+r"(bin), [work]"+r"(work) @@ -319,8 +270,14 @@ } // Pointers to generic functions for byte transfers - static pfnSpiTransfer spiTransferTx = spiTransferX; - static pfnSpiTransfer spiTransferRx = spiTransferX; + + /** + * Note: The cast is unnecessary, but without it, this file triggers a GCC 4.8.3-2014 bug. + * Later GCC versions do not have this problem, but at this time (May 2018) Arduino still + * uses that buggy and obsolete GCC version!! + */ + static pfnSpiTransfer spiTransferRx = (pfnSpiTransfer)spiTransferX; + static pfnSpiTransfer spiTransferTx = (pfnSpiTransfer)spiTransferX; // Block transfers run at ~8 .. ~10Mhz - Tx version (Rx data discarded) static void spiTxBlock0(const uint8_t* ptr, uint32_t todo) { @@ -333,62 +290,62 @@ /* The software SPI routine */ __asm__ __volatile__( - ".syntax unified" "\n\t" // is to prevent CM0,CM1 non-unified syntax + A(".syntax unified") // is to prevent CM0,CM1 non-unified syntax - " loop%=:" "\n\t" - " ldrb.w %[txval], [%[ptr]], #1" "\n\t" /* Load value to send, increment buffer */ - " mvn %[txval],%[txval]" "\n\t" /* Negate value */ + L("loop%=") + A("ldrb.w %[txval], [%[ptr]], #1") /* Load value to send, increment buffer */ + A("mvn %[txval],%[txval]") /* Negate value */ /* Bit 7 */ - " ubfx %[work],%[txval],#7,#1" "\n\t" /* Place bit 7 in bit 0 of work*/ + A("ubfx %[work],%[txval],#7,#1") /* Place bit 7 in bit 0 of work*/ - " str %[mosi_mask],[%[mosi_port], %[work],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[work],%[txval],#6,#1" "\n\t" /* Place bit 6 in bit 0 of work*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[work],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[work],%[txval],#6,#1") /* Place bit 6 in bit 0 of work*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 6 */ - " str %[mosi_mask],[%[mosi_port], %[work],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[work],%[txval],#5,#1" "\n\t" /* Place bit 5 in bit 0 of work*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[work],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[work],%[txval],#5,#1") /* Place bit 5 in bit 0 of work*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 5 */ - " str %[mosi_mask],[%[mosi_port], %[work],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[work],%[txval],#4,#1" "\n\t" /* Place bit 4 in bit 0 of work*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[work],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[work],%[txval],#4,#1") /* Place bit 4 in bit 0 of work*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 4 */ - " str %[mosi_mask],[%[mosi_port], %[work],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[work],%[txval],#3,#1" "\n\t" /* Place bit 3 in bit 0 of work*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[work],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[work],%[txval],#3,#1") /* Place bit 3 in bit 0 of work*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 3 */ - " str %[mosi_mask],[%[mosi_port], %[work],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[work],%[txval],#2,#1" "\n\t" /* Place bit 2 in bit 0 of work*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[work],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[work],%[txval],#2,#1") /* Place bit 2 in bit 0 of work*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 2 */ - " str %[mosi_mask],[%[mosi_port], %[work],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[work],%[txval],#1,#1" "\n\t" /* Place bit 1 in bit 0 of work*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[work],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[work],%[txval],#1,#1") /* Place bit 1 in bit 0 of work*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 1 */ - " str %[mosi_mask],[%[mosi_port], %[work],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ubfx %[work],%[txval],#0,#1" "\n\t" /* Place bit 0 in bit 0 of work*/ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ + A("str %[mosi_mask],[%[mosi_port], %[work],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ubfx %[work],%[txval],#0,#1") /* Place bit 0 in bit 0 of work*/ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ /* Bit 0 */ - " str %[mosi_mask],[%[mosi_port], %[work],LSL #2]" "\n\t" /* Access the proper SODR or CODR registers based on that bit */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " subs %[todo],#1" "\n\t" /* Decrement count of pending words to send, update status */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bne.n loop%=" "\n\t" /* Repeat until done */ + A("str %[mosi_mask],[%[mosi_port], %[work],LSL #2]") /* Access the proper SODR or CODR registers based on that bit */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("subs %[todo],#1") /* Decrement count of pending words to send, update status */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bne.n loop%=") /* Repeat until done */ : [ptr]"+r" ( ptr ) , [todo]"+r" ( todo ) , @@ -411,61 +368,61 @@ /* The software SPI routine */ __asm__ __volatile__( - ".syntax unified" "\n\t" // is to prevent CM0,CM1 non-unified syntax + A(".syntax unified") // is to prevent CM0,CM1 non-unified syntax - " loop%=:" "\n\t" + L("loop%=") /* bit 7 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#7,#1" "\n\t" /* Store read bit as the bit 7 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#7,#1") /* Store read bit as the bit 7 */ /* bit 6 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#6,#1" "\n\t" /* Store read bit as the bit 6 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#6,#1") /* Store read bit as the bit 6 */ /* bit 5 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#5,#1" "\n\t" /* Store read bit as the bit 5 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#5,#1") /* Store read bit as the bit 5 */ /* bit 4 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#4,#1" "\n\t" /* Store read bit as the bit 4 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#4,#1") /* Store read bit as the bit 4 */ /* bit 3 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#3,#1" "\n\t" /* Store read bit as the bit 3 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#3,#1") /* Store read bit as the bit 3 */ /* bit 2 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#2,#1" "\n\t" /* Store read bit as the bit 2 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#2,#1") /* Store read bit as the bit 2 */ /* bit 1 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#1,#1" "\n\t" /* Store read bit as the bit 1 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#1,#1") /* Store read bit as the bit 1 */ /* bit 0 */ - " str %[sck_mask],[%[sck_port]]" "\n\t" /* SODR */ - " ldr %[work],[%[bitband_miso_port]]" "\n\t" /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ - " str %[sck_mask],[%[sck_port],#0x4]" "\n\t" /* CODR */ - " bfi %[bin],%[work],#0,#1" "\n\t" /* Store read bit as the bit 0 */ + A("str %[sck_mask],[%[sck_port]]") /* SODR */ + A("ldr %[work],[%[bitband_miso_port]]") /* PDSR on bitband area for required bit: work will be 1 or 0 based on port */ + A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ + A("bfi %[bin],%[work],#0,#1") /* Store read bit as the bit 0 */ - " subs %[todo],#1" "\n\t" /* Decrement count of pending words to send, update status */ - " strb.w %[bin], [%[ptr]], #1" "\n\t" /* Store read value into buffer, increment buffer pointer */ - " bne.n loop%=" "\n\t" /* Repeat until done */ + A("subs %[todo],#1") /* Decrement count of pending words to send, update status */ + A("strb.w %[bin], [%[ptr]], #1") /* Store read value into buffer, increment buffer pointer */ + A("bne.n loop%=") /* Repeat until done */ : [ptr]"+r"(ptr), [todo]"+r"(todo), @@ -491,8 +448,8 @@ } // Pointers to generic functions for block tranfers - static pfnSpiTxBlock spiTxBlock = spiTxBlockX; - static pfnSpiRxBlock spiRxBlock = spiRxBlockX; + static pfnSpiTxBlock spiTxBlock = (pfnSpiTxBlock)spiTxBlockX; + static pfnSpiRxBlock spiRxBlock = (pfnSpiRxBlock)spiRxBlockX; #if MB(ALLIGATOR) // control SDSS pin void spiBegin() { @@ -580,23 +537,23 @@ void spiInit(uint8_t spiRate) { switch (spiRate) { case 0: - spiTransferTx = spiTransferTx0; - spiTransferRx = spiTransferRx0; - spiTxBlock = spiTxBlock0; - spiRxBlock = spiRxBlock0; + spiTransferTx = (pfnSpiTransfer)spiTransferTx0; + spiTransferRx = (pfnSpiTransfer)spiTransferRx0; + spiTxBlock = (pfnSpiTxBlock)spiTxBlock0; + spiRxBlock = (pfnSpiRxBlock)spiRxBlock0; break; case 1: - spiTransferTx = spiTransfer1; - spiTransferRx = spiTransfer1; - spiTxBlock = spiTxBlockX; - spiRxBlock = spiRxBlockX; + spiTransferTx = (pfnSpiTransfer)spiTransfer1; + spiTransferRx = (pfnSpiTransfer)spiTransfer1; + spiTxBlock = (pfnSpiTxBlock)spiTxBlockX; + spiRxBlock = (pfnSpiRxBlock)spiRxBlockX; break; default: spiDelayCyclesX4 = (F_CPU/1000000) >> (6 - spiRate); - spiTransferTx = spiTransferX; - spiTransferRx = spiTransferX; - spiTxBlock = spiTxBlockX; - spiRxBlock = spiRxBlockX; + spiTransferTx = (pfnSpiTransfer)spiTransferX; + spiTransferRx = (pfnSpiTransfer)spiTransferX; + spiTxBlock = (pfnSpiTxBlock)spiTxBlockX; + spiRxBlock = (pfnSpiRxBlock)spiRxBlockX; break; } @@ -614,7 +571,7 @@ #pragma GCC reset_options -#else +#else // !SOFTWARE_SPI #if MB(ALLIGATOR) @@ -714,7 +671,7 @@ while ((SPI0->SPI_SR & SPI_SR_RDRF) == 0); // clear status SPI0->SPI_RDR; - //delayMicroseconds(1U); + //DELAY_US(1U); } void spiSend(const uint8_t* buf, size_t n) { @@ -724,7 +681,7 @@ while ((SPI0->SPI_SR & SPI_SR_TDRE) == 0); while ((SPI0->SPI_SR & SPI_SR_RDRF) == 0); SPI0->SPI_RDR; - //delayMicroseconds(1U); + //DELAY_US(1U); } spiSend(buf[n - 1]); } @@ -767,7 +724,7 @@ // wait for receive register while ((SPI0->SPI_SR & SPI_SR_RDRF) == 0); // get byte from receive register - //delayMicroseconds(1U); + //DELAY_US(1U); return SPI0->SPI_RDR; } @@ -797,7 +754,7 @@ SPI0->SPI_TDR = 0x000000FF | SPI_PCS(SPI_CHAN); while ((SPI0->SPI_SR & SPI_SR_RDRF) == 0); buf[i] = SPI0->SPI_RDR; - //delayMicroseconds(1U); + //DELAY_US(1U); } buf[nbyte] = spiRec(); } @@ -813,7 +770,7 @@ while ((SPI0->SPI_SR & SPI_SR_TDRE) == 0); while ((SPI0->SPI_SR & SPI_SR_RDRF) == 0); SPI0->SPI_RDR; - //delayMicroseconds(1U); + //DELAY_US(1U); } spiSend(buf[511]); } @@ -839,7 +796,7 @@ REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0); // Disable PIO on A26 and A27 - REG_PIOA_PDR = 0x0c000000; + REG_PIOA_PDR = 0x0C000000; OUT_WRITE(SDSS, 1); // Reset SPI0 (from sam lib) @@ -902,7 +859,7 @@ spiTransfer(buf[i]); } - #endif //MB(ALLIGATOR) -#endif // ENABLED(SOFTWARE_SPI) + #endif // !ALLIGATOR +#endif // !SOFTWARE_SPI #endif // ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.cpp b/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.cpp index 131318c159a5..eb23692b4479 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.cpp +++ b/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.cpp @@ -32,7 +32,7 @@ // Includes // -------------------------------------------------------------------------- -#include "../HAL.h" +#include "HAL.h" #include "HAL_timers_Due.h" @@ -61,13 +61,13 @@ // -------------------------------------------------------------------------- const tTimerConfig TimerConfig [NUM_HARDWARE_TIMERS] = { - { TC0, 0, TC0_IRQn, 0}, // 0 - [servo timer5] + { TC0, 0, TC0_IRQn, 3}, // 0 - [servo timer5] { TC0, 1, TC1_IRQn, 0}, // 1 { TC0, 2, TC2_IRQn, 0}, // 2 { TC1, 0, TC3_IRQn, 2}, // 3 - stepper { TC1, 1, TC4_IRQn, 15}, // 4 - temperature - { TC1, 2, TC5_IRQn, 0}, // 5 - [servo timer3] - { TC2, 0, TC6_IRQn, 15}, // 6 - tone + { TC1, 2, TC5_IRQn, 3}, // 5 - [servo timer3] + { TC2, 0, TC6_IRQn, 14}, // 6 - tone { TC2, 1, TC7_IRQn, 0}, // 7 { TC2, 2, TC8_IRQn, 0}, // 8 }; @@ -99,6 +99,11 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { // Disable interrupt, just in case it was already enabled NVIC_DisableIRQ(irq); + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); + // Disable timer interrupt tc->TC_CHANNEL[channel].TC_IDR = TC_IDR_CPCS; @@ -126,30 +131,28 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { } void HAL_timer_enable_interrupt(const uint8_t timer_num) { - const tTimerConfig * const pConfig = &TimerConfig[timer_num]; - pConfig->pTimerRegs->TC_CHANNEL[pConfig->channel].TC_IER = TC_IER_CPCS; + IRQn_Type irq = TimerConfig[timer_num].IRQ_Id; + NVIC_EnableIRQ(irq); } void HAL_timer_disable_interrupt(const uint8_t timer_num) { - const tTimerConfig * const pConfig = &TimerConfig[timer_num]; - pConfig->pTimerRegs->TC_CHANNEL[pConfig->channel].TC_IDR = TC_IDR_CPCS; + IRQn_Type irq = TimerConfig[timer_num].IRQ_Id; + NVIC_DisableIRQ(irq); + + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); } -bool HAL_timer_interrupt_enabled(const uint8_t timer_num) { - const tTimerConfig * const pConfig = &TimerConfig[timer_num]; - return pConfig->pTimerRegs->TC_CHANNEL[pConfig->channel].TC_IER == TC_IER_CPCS; +// missing from CMSIS: Check if interrupt is enabled or not +static bool NVIC_GetEnabledIRQ(IRQn_Type IRQn) { + return (NVIC->ISER[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F))) != 0; } -#if 0 - void HAL_timer_set_compare(const uint8_t timer_num, const uint32_t compare) { - const tTimerConfig * const pConfig = &TimerConfig[timer_num]; - TC_SetRC(pConfig->pTimerRegs, pConfig->channel, compare); - } - - void HAL_timer_isr_prologue(const uint8_t timer_num) { - const tTimerConfig * const pConfig = &TimerConfig[timer_num]; - TC_GetStatus(pConfig->pTimerRegs, pConfig->channel); - } -#endif +bool HAL_timer_interrupt_enabled(const uint8_t timer_num) { + IRQn_Type irq = TimerConfig[timer_num].IRQ_Id; + return NVIC_GetEnabledIRQ(irq); +} #endif // ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.h b/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.h index 2fbe4480fe06..871ef995e6d4 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.h +++ b/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.h @@ -43,17 +43,22 @@ typedef uint32_t hal_timer_t; #define HAL_TIMER_TYPE_MAX 0xFFFFFFFF +#define HAL_TIMER_RATE ((F_CPU) / 2) // frequency of timers peripherals + #define STEP_TIMER_NUM 3 // index of timer to use for stepper #define TEMP_TIMER_NUM 4 // index of timer to use for temperature +#define PULSE_TIMER_NUM STEP_TIMER_NUM #define TONE_TIMER_NUM 6 // index of timer to use for beeper tones -#define HAL_TIMER_RATE ((F_CPU) / 2) // frequency of timers peripherals -#define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / HAL_TICKS_PER_US) -#define HAL_STEPPER_TIMER_RATE HAL_TIMER_RATE // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) -#define HAL_TICKS_PER_US ((HAL_STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs - #define TEMP_TIMER_FREQUENCY 1000 // temperature interrupt frequency -#define STEP_TIMER_MIN_INTERVAL 8 // minimum time in µs between stepper interrupts + +#define STEPPER_TIMER_RATE HAL_TIMER_RATE // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) +#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs +#define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / STEPPER_TIMER_TICKS_PER_US) + +#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer +#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE +#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US #define ENABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_enable_interrupt(STEP_TIMER_NUM) #define DISABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_disable_interrupt(STEP_TIMER_NUM) @@ -62,15 +67,10 @@ typedef uint32_t hal_timer_t; #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_ENABLE_ISRs() do { if (thermalManager.in_temp_isr) DISABLE_TEMPERATURE_INTERRUPT(); else ENABLE_TEMPERATURE_INTERRUPT(); ENABLE_STEPPER_DRIVER_INTERRUPT(); } while(0) - #define HAL_STEP_TIMER_ISR void TC3_Handler() #define HAL_TEMP_TIMER_ISR void TC4_Handler() #define HAL_TONE_TIMER_ISR void TC6_Handler() -#define PULSE_TIMER_NUM STEP_TIMER_NUM -#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE - // -------------------------------------------------------------------------- // Types // -------------------------------------------------------------------------- @@ -119,12 +119,12 @@ void HAL_timer_enable_interrupt(const uint8_t timer_num); void HAL_timer_disable_interrupt(const uint8_t timer_num); bool HAL_timer_interrupt_enabled(const uint8_t timer_num); -//void HAL_timer_isr_prologue(const uint8_t timer_num); - FORCE_INLINE static void HAL_timer_isr_prologue(const uint8_t timer_num) { const tTimerConfig * const pConfig = &TimerConfig[timer_num]; // Reading the status register clears the interrupt flag pConfig->pTimerRegs->TC_CHANNEL[pConfig->channel].TC_SR; } +#define HAL_timer_isr_epilogue(TIMER_NUM) + #endif // _HAL_TIMERS_DUE_H diff --git a/Marlin/src/HAL/HAL_DUE/InterruptVectors_Due.cpp b/Marlin/src/HAL/HAL_DUE/InterruptVectors_Due.cpp index b10f06becc43..9b226a60da18 100644 --- a/Marlin/src/HAL/HAL_DUE/InterruptVectors_Due.cpp +++ b/Marlin/src/HAL/HAL_DUE/InterruptVectors_Due.cpp @@ -32,7 +32,7 @@ */ #ifdef ARDUINO_ARCH_SAM -#include "HAL_Due.h" +#include "HAL.h" #include "InterruptVectors_Due.h" /* The relocated Exception/Interrupt Table - According to the ARM diff --git a/Marlin/src/HAL/HAL_DUE/MarlinSerialUSB_Due.cpp b/Marlin/src/HAL/HAL_DUE/MarlinSerialUSB_Due.cpp index dc8edf9a3a24..eed4c7399983 100644 --- a/Marlin/src/HAL/HAL_DUE/MarlinSerialUSB_Due.cpp +++ b/Marlin/src/HAL/HAL_DUE/MarlinSerialUSB_Due.cpp @@ -33,6 +33,10 @@ #include "MarlinSerialUSB_Due.h" +#if ENABLED(EMERGENCY_PARSER) + #include "../../feature/emergency_parser.h" +#endif + // Imports from Atmel USB Stack/CDC implementation extern "C" { bool usb_task_cdc_isenabled(void); @@ -46,6 +50,10 @@ extern "C" { // Pending character static int pending_char = -1; +#if ENABLED(EMERGENCY_PARSER) + static EmergencyParser::State emergency_state; // = EP_RESET +#endif + // Public Methods void MarlinSerialUSB::begin(const long baud_setting) { } @@ -66,6 +74,11 @@ int MarlinSerialUSB::peek(void) { return -1; pending_char = udi_cdc_getc(); + + #if ENABLED(EMERGENCY_PARSER) + emergency_parser.update(emergency_state, (char)pending_char); + #endif + return pending_char; } @@ -84,7 +97,13 @@ int MarlinSerialUSB::read(void) { if (!udi_cdc_is_rx_ready()) return -1; - return udi_cdc_getc(); + int c = udi_cdc_getc(); + + #if ENABLED(EMERGENCY_PARSER) + emergency_parser.update(emergency_state, (char)c); + #endif + + return c; } bool MarlinSerialUSB::available(void) { diff --git a/Marlin/src/HAL/HAL_DUE/MarlinSerial_Due.cpp b/Marlin/src/HAL/HAL_DUE/MarlinSerial_Due.cpp index 4d7aa945eff3..0ff98e62ffca 100644 --- a/Marlin/src/HAL/HAL_DUE/MarlinSerial_Due.cpp +++ b/Marlin/src/HAL/HAL_DUE/MarlinSerial_Due.cpp @@ -74,15 +74,14 @@ ring_buffer_r rx_buffer = { { 0 }, 0, 0 }; #if TX_BUFFER_SIZE > 0 ring_buffer_t tx_buffer = { { 0 }, 0, 0 }; - static bool _written; #endif + static bool _written; #if ENABLED(SERIAL_XON_XOFF) - constexpr uint8_t XON_XOFF_CHAR_SENT = 0x80; // XON / XOFF Character was sent - constexpr uint8_t XON_XOFF_CHAR_MASK = 0x1F; // XON / XOFF character to send + constexpr uint8_t XON_XOFF_CHAR_SENT = 0x80, // XON / XOFF Character was sent + XON_XOFF_CHAR_MASK = 0x1F; // XON / XOFF character to send // XON / XOFF character definitions - constexpr uint8_t XON_CHAR = 17; - constexpr uint8_t XOFF_CHAR = 19; + constexpr uint8_t XON_CHAR = 17, XOFF_CHAR = 19; uint8_t xon_xoff_state = XON_XOFF_CHAR_SENT | XON_CHAR; // Validate that RX buffer size is at least 4096 bytes- According to several experiments, on @@ -99,6 +98,14 @@ uint8_t rx_dropped_bytes = 0; #endif + #if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS) + uint8_t rx_buffer_overruns = 0; + #endif + + #if ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS) + uint8_t rx_framing_errors = 0; + #endif + #if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) ring_buffer_pos_t rx_max_enqueued = 0; #endif @@ -107,215 +114,221 @@ #define sw_barrier() asm volatile("": : :"memory"); #if ENABLED(EMERGENCY_PARSER) + #include "../../feature/emergency_parser.h" + #endif - bool killed_by_M112; // = false - - // Currently looking for: M108, M112, M410 - // If you alter the parser please don't forget to update the capabilities in Conditionals_post.h - - FORCE_INLINE void emergency_parser(const uint8_t c) { - - static e_parser_state state = state_RESET; + // (called with RX interrupts disabled) + FORCE_INLINE void store_rxd_char() { - switch (state) { - case state_RESET: - switch (c) { - case ' ': break; - case 'N': state = state_N; break; - case 'M': state = state_M; break; - default: state = state_IGNORE; - } - break; - - case state_N: - switch (c) { - case '0': case '1': case '2': - case '3': case '4': case '5': - case '6': case '7': case '8': - case '9': case '-': case ' ': break; - case 'M': state = state_M; break; - default: state = state_IGNORE; - } - break; - - case state_M: - switch (c) { - case ' ': break; - case '1': state = state_M1; break; - case '4': state = state_M4; break; - default: state = state_IGNORE; - } - break; + #if ENABLED(EMERGENCY_PARSER) + static EmergencyParser::State emergency_state; // = EP_RESET + #endif - case state_M1: - switch (c) { - case '0': state = state_M10; break; - case '1': state = state_M11; break; - default: state = state_IGNORE; - } - break; - - case state_M10: - state = (c == '8') ? state_M108 : state_IGNORE; - break; - - case state_M11: - state = (c == '2') ? state_M112 : state_IGNORE; - break; - - case state_M4: - state = (c == '1') ? state_M41 : state_IGNORE; - break; - - case state_M41: - state = (c == '0') ? state_M410 : state_IGNORE; - break; - - case state_IGNORE: - if (c == '\n') state = state_RESET; - break; - - default: - if (c == '\n') { - switch (state) { - case state_M108: - wait_for_user = wait_for_heatup = false; - break; - case state_M112: - killed_by_M112 = true; - break; - case state_M410: - quickstop_stepper(); - break; - default: - break; - } - state = state_RESET; - } - } - } + // Get the tail - Nothing can alter its value while we are at this ISR + const ring_buffer_pos_t t = rx_buffer.tail; - #endif // EMERGENCY_PARSER + // Get the head pointer + ring_buffer_pos_t h = rx_buffer.head; - FORCE_INLINE void store_rxd_char() { + // Get the next element + ring_buffer_pos_t i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); - const ring_buffer_pos_t h = rx_buffer.head, - i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + // Read the character from the USART + uint8_t c = HWUART->UART_RHR; - // Read the character - const uint8_t c = HWUART->UART_RHR; + #if ENABLED(EMERGENCY_PARSER) + emergency_parser.update(emergency_state, c); + #endif // If the character is to be stored at the index just before the tail - // (such that the head would advance to the current tail), the buffer is - // critical, so don't write the character or advance the head. - if (i != rx_buffer.tail) { + // (such that the head would advance to the current tail), the RX FIFO is + // full, so don't write the character or advance the head. + if (i != t) { rx_buffer.buffer[h] = c; - rx_buffer.head = i; + h = i; } #if ENABLED(SERIAL_STATS_DROPPED_RX) - else if (!++rx_dropped_bytes) ++rx_dropped_bytes; + else if (!++rx_dropped_bytes) --rx_dropped_bytes; #endif #if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) - // calculate count of bytes stored into the RX buffer - ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(rx_buffer.head - rx_buffer.tail) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + const ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(h - t) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + // Calculate count of bytes stored into the RX buffer + // Keep track of the maximum count of enqueued bytes NOLESS(rx_max_enqueued, rx_count); #endif #if ENABLED(SERIAL_XON_XOFF) - - // for high speed transfers, we can use XON/XOFF protocol to do - // software handshake and avoid overruns. + // If the last char that was sent was an XON if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XON_CHAR) { - // calculate count of bytes stored into the RX buffer - ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(rx_buffer.head - rx_buffer.tail) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + // Bytes stored into the RX buffer + const ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(h - t) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); - // if we are above 12.5% of RX buffer capacity, send XOFF before - // we run out of RX buffer space .. We need 325 bytes @ 250kbits/s to - // let the host react and stop sending bytes. This translates to 13mS - // propagation time. + // If over 12.5% of RX buffer capacity, send XOFF before running out of + // RX buffer space .. 325 bytes @ 250kbits/s needed to let the host react + // and stop sending bytes. This translates to 13mS propagation time. if (rx_count >= (RX_BUFFER_SIZE) / 8) { - // If TX interrupts are disabled and data register is empty, - // just write the byte to the data register and be done. This - // shortcut helps significantly improve the effective datarate - // at high (>500kbit/s) bitrates, where interrupt overhead - // becomes a slowdown. - if (!(HWUART->UART_IMR & UART_IMR_TXRDY) && (HWUART->UART_SR & UART_SR_TXRDY)) { - // Send an XOFF character - HWUART->UART_THR = XOFF_CHAR; - - // And remember it was sent - xon_xoff_state = XOFF_CHAR | XON_XOFF_CHAR_SENT; + + // At this point, definitely no TX interrupt was executing, since the TX isr can't be preempted. + // Don't enable the TX interrupt here as a means to trigger the XOFF char, because if it happens + // to be in the middle of trying to disable the RX interrupt in the main program, eventually the + // enabling of the TX interrupt could be undone. The ONLY reliable thing this can do to ensure + // the sending of the XOFF char is to send it HERE AND NOW. + + // About to send the XOFF char + xon_xoff_state = XOFF_CHAR | XON_XOFF_CHAR_SENT; + + // Wait until the TX register becomes empty and send it - Here there could be a problem + // - While waiting for the TX register to empty, the RX register could receive a new + // character. This must also handle that situation! + uint32_t status; + while (!((status = HWUART->UART_SR) & UART_SR_TXRDY)) { + + if (status & UART_SR_RXRDY) { + // We received a char while waiting for the TX buffer to be empty - Receive and process it! + + i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + + // Read the character from the USART + c = HWUART->UART_RHR; + + #if ENABLED(EMERGENCY_PARSER) + emergency_parser.update(emergency_state, c); + #endif + + // If the character is to be stored at the index just before the tail + // (such that the head would advance to the current tail), the FIFO is + // full, so don't write the character or advance the head. + if (i != t) { + rx_buffer.buffer[h] = c; + h = i; + } + #if ENABLED(SERIAL_STATS_DROPPED_RX) + else if (!++rx_dropped_bytes) --rx_dropped_bytes; + #endif + } + sw_barrier(); } - else { - // TX interrupts disabled, but buffer still not empty ... or - // TX interrupts enabled. Reenable TX ints and schedule XOFF - // character to be sent - #if TX_BUFFER_SIZE > 0 - HWUART->UART_IER = UART_IER_TXRDY; - xon_xoff_state = XOFF_CHAR; - #else - // We are not using TX interrupts, we will have to send this manually - while (!(HWUART->UART_SR & UART_SR_TXRDY)) { sw_barrier(); }; - HWUART->UART_THR = XOFF_CHAR; - // And remember we already sent it - xon_xoff_state = XOFF_CHAR | XON_XOFF_CHAR_SENT; - #endif + + HWUART->UART_THR = XOFF_CHAR; + + // At this point there could be a race condition between the write() function + // and this sending of the XOFF char. This interrupt could happen between the + // wait to be empty TX buffer loop and the actual write of the character. Since + // the TX buffer is full because it's sending the XOFF char, the only way to be + // sure the write() function will succeed is to wait for the XOFF char to be + // completely sent. Since an extra character could be received during the wait + // it must also be handled! + while (!((status = HWUART->UART_SR) & UART_SR_TXRDY)) { + + if (status & UART_SR_RXRDY) { + // A char arrived while waiting for the TX buffer to be empty - Receive and process it! + + i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + + // Read the character from the USART + c = HWUART->UART_RHR; + + #if ENABLED(EMERGENCY_PARSER) + emergency_parser.update(emergency_state, c); + #endif + + // If the character is to be stored at the index just before the tail + // (such that the head would advance to the current tail), the FIFO is + // full, so don't write the character or advance the head. + if (i != t) { + rx_buffer.buffer[h] = c; + h = i; + } + #if ENABLED(SERIAL_STATS_DROPPED_RX) + else if (!++rx_dropped_bytes) --rx_dropped_bytes; + #endif + } + sw_barrier(); } + + // At this point everything is ready. The write() function won't + // have any issues writing to the UART TX register if it needs to! } } #endif // SERIAL_XON_XOFF - #if ENABLED(EMERGENCY_PARSER) - emergency_parser(c); - #endif + // Store the new head value + rx_buffer.head = h; } #if TX_BUFFER_SIZE > 0 FORCE_INLINE void _tx_thr_empty_irq(void) { - // If interrupts are enabled, there must be more data in the output - // buffer. + // Read positions + uint8_t t = tx_buffer.tail; + const uint8_t h = tx_buffer.head; #if ENABLED(SERIAL_XON_XOFF) - // Do a priority insertion of an XON/XOFF char, if needed. - const uint8_t state = xon_xoff_state; - if (!(state & XON_XOFF_CHAR_SENT)) { - HWUART->UART_THR = state & XON_XOFF_CHAR_MASK; - xon_xoff_state = state | XON_XOFF_CHAR_SENT; + // If an XON char is pending to be sent, do it now + if (xon_xoff_state == XON_CHAR) { + + // Send the character + HWUART->UART_THR = XON_CHAR; + + // Remember we sent it. + xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; + + // If nothing else to transmit, just disable TX interrupts. + if (h == t) HWUART->UART_IDR = UART_IDR_TXRDY; + + return; } - else #endif - { // Send the next byte - const uint8_t t = tx_buffer.tail, c = tx_buffer.buffer[t]; - tx_buffer.tail = (t + 1) & (TX_BUFFER_SIZE - 1); - HWUART->UART_THR = c; - } - // Disable interrupts if the buffer is empty - if (tx_buffer.head == tx_buffer.tail) + // If nothing to transmit, just disable TX interrupts. This could + // happen as the result of the non atomicity of the disabling of RX + // interrupts that could end reenabling TX interrupts as a side effect. + if (h == t) { HWUART->UART_IDR = UART_IDR_TXRDY; + return; + } + + // There is something to TX, Send the next byte + const uint8_t c = tx_buffer.buffer[t]; + t = (t + 1) & (TX_BUFFER_SIZE - 1); + HWUART->UART_THR = c; + tx_buffer.tail = t; + + // Disable interrupts if there is nothing to transmit following this byte + if (h == t) HWUART->UART_IDR = UART_IDR_TXRDY; } #endif // TX_BUFFER_SIZE > 0 static void UART_ISR(void) { - uint32_t status = HWUART->UART_SR; + const uint32_t status = HWUART->UART_SR; - // Did we receive data? - if (status & UART_SR_RXRDY) - store_rxd_char(); + // Data received? + if (status & UART_SR_RXRDY) store_rxd_char(); #if TX_BUFFER_SIZE > 0 - // Do we have something to send, and TX interrupts are enabled (meaning something to send) ? - if ((status & UART_SR_TXRDY) && (HWUART->UART_IMR & UART_IMR_TXRDY)) - _tx_thr_empty_irq(); + // Something to send, and TX interrupts are enabled (meaning something to send)? + if ((status & UART_SR_TXRDY) && (HWUART->UART_IMR & UART_IMR_TXRDY)) _tx_thr_empty_irq(); #endif // Acknowledge errors if ((status & UART_SR_OVRE) || (status & UART_SR_FRAME)) { + + #if ENABLED(SERIAL_STATS_DROPPED_RX) + if (status & UART_SR_OVRE && !++rx_dropped_bytes) --rx_dropped_bytes; + #endif + + #if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS) + if (status & UART_SR_OVRE && !++rx_buffer_overruns) --rx_buffer_overruns; + #endif + + #if ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS) + if (status & UART_SR_FRAME && !++rx_framing_errors) --rx_framing_errors; + #endif + // TODO: error reporting outside ISR HWUART->UART_CR = UART_CR_RSTSTA; } @@ -328,6 +341,11 @@ // Disable UART interrupt in NVIC NVIC_DisableIRQ( HWUART_IRQ ); + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); + // Disable clock pmc_disable_periph_clk( HWUART_IRQ_ID ); @@ -353,6 +371,11 @@ // Install interrupt handler install_isr(HWUART_IRQ, UART_ISR); + // Configure priority. We need a very high priority to avoid losing characters + // and we need to be able to preempt the Stepper ISR and everything else! + // (this could probably be fixed by using DMA with the Serial port) + NVIC_SetPriority(HWUART_IRQ, 1); + // Enable UART interrupt in NVIC NVIC_EnableIRQ(HWUART_IRQ); @@ -368,181 +391,178 @@ // Disable UART interrupt in NVIC NVIC_DisableIRQ( HWUART_IRQ ); - pmc_disable_periph_clk( HWUART_IRQ_ID ); - } + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); - void MarlinSerial::checkRx(void) { - if (HWUART->UART_SR & UART_SR_RXRDY) { - CRITICAL_SECTION_START; - store_rxd_char(); - CRITICAL_SECTION_END; - } + pmc_disable_periph_clk( HWUART_IRQ_ID ); } int MarlinSerial::peek(void) { - CRITICAL_SECTION_START; const int v = rx_buffer.head == rx_buffer.tail ? -1 : rx_buffer.buffer[rx_buffer.tail]; - CRITICAL_SECTION_END; return v; } int MarlinSerial::read(void) { - int v; - CRITICAL_SECTION_START; - const ring_buffer_pos_t t = rx_buffer.tail; - if (rx_buffer.head == t) - v = -1; - else { - v = rx_buffer.buffer[t]; - rx_buffer.tail = (ring_buffer_pos_t)(t + 1) & (RX_BUFFER_SIZE - 1); - #if ENABLED(SERIAL_XON_XOFF) - if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XOFF_CHAR) { - // Get count of bytes in the RX buffer - ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(rx_buffer.head - rx_buffer.tail) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); - // When below 10% of RX buffer capacity, send XON before - // running out of RX buffer bytes - if (rx_count < (RX_BUFFER_SIZE) / 10) { + const ring_buffer_pos_t h = rx_buffer.head; + ring_buffer_pos_t t = rx_buffer.tail; + + if (h == t) return -1; + + int v = rx_buffer.buffer[t]; + t = (ring_buffer_pos_t)(t + 1) & (RX_BUFFER_SIZE - 1); + + // Advance tail + rx_buffer.tail = t; + + #if ENABLED(SERIAL_XON_XOFF) + // If the XOFF char was sent, or about to be sent... + if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XOFF_CHAR) { + // Get count of bytes in the RX buffer + const ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(h - t) & (ring_buffer_pos_t)(RX_BUFFER_SIZE - 1); + // When below 10% of RX buffer capacity, send XON before running out of RX buffer bytes + if (rx_count < (RX_BUFFER_SIZE) / 10) { + #if TX_BUFFER_SIZE > 0 + // Signal we want an XON character to be sent. + xon_xoff_state = XON_CHAR; + // Enable TX isr. + HWUART->UART_IER = UART_IER_TXRDY; + #else + // If not using TX interrupts, we must send the XON char now xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; - CRITICAL_SECTION_END; // End critical section before returning! - writeNoHandshake(XON_CHAR); - return v; - } + while (!(HWUART->UART_SR & UART_SR_TXRDY)) sw_barrier(); + HWUART->UART_THR = XON_CHAR; + #endif } - #endif - } - CRITICAL_SECTION_END; + } + #endif + return v; } ring_buffer_pos_t MarlinSerial::available(void) { - CRITICAL_SECTION_START; const ring_buffer_pos_t h = rx_buffer.head, t = rx_buffer.tail; - CRITICAL_SECTION_END; return (ring_buffer_pos_t)(RX_BUFFER_SIZE + h - t) & (RX_BUFFER_SIZE - 1); } void MarlinSerial::flush(void) { - // Don't change this order of operations. If the RX interrupt occurs between - // reading rx_buffer_head and updating rx_buffer_tail, the previous rx_buffer_head - // may be written to rx_buffer_tail, making the buffer appear full rather than empty. - CRITICAL_SECTION_START; - rx_buffer.head = rx_buffer.tail; - CRITICAL_SECTION_END; + rx_buffer.tail = rx_buffer.head; #if ENABLED(SERIAL_XON_XOFF) if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XOFF_CHAR) { - xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; - writeNoHandshake(XON_CHAR); + #if TX_BUFFER_SIZE > 0 + // Signal we want an XON character to be sent. + xon_xoff_state = XON_CHAR; + // Enable TX isr. + HWUART->UART_IER = UART_IER_TXRDY; + #else + // If not using TX interrupts, we must send the XON char now + xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; + while (!(HWUART->UART_SR & UART_SR_TXRDY)) sw_barrier(); + HWUART->UART_THR = XON_CHAR; + #endif } #endif } #if TX_BUFFER_SIZE > 0 - - uint8_t MarlinSerial::availableForWrite(void) { - CRITICAL_SECTION_START; - const uint8_t h = tx_buffer.head, t = tx_buffer.tail; - CRITICAL_SECTION_END; - return (uint8_t)(TX_BUFFER_SIZE + h - t) & (TX_BUFFER_SIZE - 1); - } - void MarlinSerial::write(const uint8_t c) { - #if ENABLED(SERIAL_XON_XOFF) - const uint8_t state = xon_xoff_state; - if (!(state & XON_XOFF_CHAR_SENT)) { - // Send 2 chars: XON/XOFF, then a user-specified char - writeNoHandshake(state & XON_XOFF_CHAR_MASK); - xon_xoff_state = state | XON_XOFF_CHAR_SENT; - } - #endif - writeNoHandshake(c); - } - - void MarlinSerial::writeNoHandshake(const uint8_t c) { _written = true; - CRITICAL_SECTION_START; - bool emty = (tx_buffer.head == tx_buffer.tail); - CRITICAL_SECTION_END; - // If the buffer and the data register is empty, just write the byte - // to the data register and be done. This shortcut helps - // significantly improve the effective datarate at high (> - // 500kbit/s) bitrates, where interrupt overhead becomes a slowdown. - if (emty && (HWUART->UART_SR & UART_SR_TXRDY)) { - CRITICAL_SECTION_START; - HWUART->UART_THR = c; - HWUART->UART_IER = UART_IER_TXRDY; - CRITICAL_SECTION_END; + + // If the TX interrupts are disabled and the data register + // is empty, just write the byte to the data register and + // be done. This shortcut helps significantly improve the + // effective datarate at high (>500kbit/s) bitrates, where + // interrupt overhead becomes a slowdown. + // Yes, there is a race condition between the sending of the + // XOFF char at the RX isr, but it is properly handled there + if (!(HWUART->UART_IMR & UART_IMR_TXRDY) && (HWUART->UART_SR & UART_SR_TXRDY)) { + HWUART->UART_THR = c; return; } + const uint8_t i = (tx_buffer.head + 1) & (TX_BUFFER_SIZE - 1); - // If the output buffer is full, there's nothing for it other than to - // wait for the interrupt handler to empty it a bit - while (i == tx_buffer.tail) { - if (__get_PRIMASK()) { - // Interrupts are disabled, so we'll have to poll the data - // register empty flag ourselves. If it is set, pretend an - // interrupt has happened and call the handler to free up - // space for us. - if (HWUART->UART_SR & UART_SR_TXRDY) - _tx_thr_empty_irq(); - } - else { - // nop, the interrupt handler will free up space for us + // If global interrupts are disabled (as the result of being called from an ISR)... + if (!ISRS_ENABLED()) { + + // Make room by polling if it is possible to transmit, and do so! + while (i == tx_buffer.tail) { + // If we can transmit another byte, do it. + if (HWUART->UART_SR & UART_SR_TXRDY) _tx_thr_empty_irq(); + // Make sure compiler rereads tx_buffer.tail + sw_barrier(); } - sw_barrier(); + } + else { + // Interrupts are enabled, just wait until there is space + while (i == tx_buffer.tail) sw_barrier(); } + // Store new char. head is always safe to move tx_buffer.buffer[tx_buffer.head] = c; - { CRITICAL_SECTION_START; - tx_buffer.head = i; - HWUART->UART_IER = UART_IER_TXRDY; - CRITICAL_SECTION_END; - } - return; + tx_buffer.head = i; + + // Enable TX isr - Non atomic, but it will eventually enable TX isr + HWUART->UART_IER = UART_IER_TXRDY; } void MarlinSerial::flushTX(void) { // TX - // If we have never written a byte, no need to flush. - if (!_written) - return; - while ((HWUART->UART_IMR & UART_IMR_TXRDY) || !(HWUART->UART_SR & UART_SR_TXEMPTY)) { - if (__get_PRIMASK()) - if ((HWUART->UART_SR & UART_SR_TXRDY)) - _tx_thr_empty_irq(); - sw_barrier(); + // If we have never written a byte, no need to flush. This special + // case is needed since there is no way to force the TXC (transmit + // complete) bit to 1 during initialization + if (!_written) return; + + // If global interrupts are disabled (as the result of being called from an ISR)... + if (!ISRS_ENABLED()) { + + // Wait until everything was transmitted - We must do polling, as interrupts are disabled + while (tx_buffer.head != tx_buffer.tail || !(HWUART->UART_SR & UART_SR_TXEMPTY)) { + // If there is more space, send an extra character + if (HWUART->UART_SR & UART_SR_TXRDY) _tx_thr_empty_irq(); + sw_barrier(); + } + + } + else { + // Wait until everything was transmitted + while (tx_buffer.head != tx_buffer.tail || !(HWUART->UART_SR & UART_SR_TXEMPTY)) sw_barrier(); } - // If we get here, nothing is queued anymore (TX interrupts are disabled) and - // the hardware finished tranmission (TXEMPTY is set). + + // At this point nothing is queued anymore (DRIE is disabled) and + // the hardware finished transmission (TXC is set). } #else // TX_BUFFER_SIZE == 0 void MarlinSerial::write(const uint8_t c) { - #if ENABLED(SERIAL_XON_XOFF) - // Do a priority insertion of an XON/XOFF char, if needed. - const uint8_t state = xon_xoff_state; - if (!(state & XON_XOFF_CHAR_SENT)) { - writeNoHandshake(state & XON_XOFF_CHAR_MASK); - xon_xoff_state = state | XON_XOFF_CHAR_SENT; - } - #endif - writeNoHandshake(c); - } - - void MarlinSerial::writeNoHandshake(const uint8_t c) { - while (!(HWUART->UART_SR & UART_SR_TXRDY)) { sw_barrier(); }; + _written = true; + while (!(HWUART->UART_SR & UART_SR_TXRDY)) sw_barrier(); HWUART->UART_THR = c; } + void MarlinSerial::flushTX(void) { + // TX + + // No bytes written, no need to flush. This special case is needed since there's + // no way to force the TXC (transmit complete) bit to 1 during initialization. + if (!_written) return; + + // Wait until everything was transmitted + while (!(HWUART->UART_SR & UART_SR_TXEMPTY)) sw_barrier(); + + // At this point nothing is queued anymore (DRIE is disabled) and + // the hardware finished transmission (TXC is set). + } #endif // TX_BUFFER_SIZE == 0 /** - * Imports from print.h - */ + * Imports from print.h + */ void MarlinSerial::print(char c, int base) { print((long)c, base); @@ -561,13 +581,9 @@ } void MarlinSerial::print(long n, int base) { - if (base == 0) - write(n); + if (base == 0) write(n); else if (base == 10) { - if (n < 0) { - print('-'); - n = -n; - } + if (n < 0) { print('-'); n = -n; } printNumber(n, 10); } else @@ -659,9 +675,7 @@ // Round correctly so that print(1.999, 2) prints as "2.00" double rounding = 0.5; - for (uint8_t i = 0; i < digits; ++i) - rounding *= 0.1; - + for (uint8_t i = 0; i < digits; ++i) rounding *= 0.1; number += rounding; // Extract the integer part of the number and print it diff --git a/Marlin/src/HAL/HAL_DUE/MarlinSerial_Due.h b/Marlin/src/HAL/HAL_DUE/MarlinSerial_Due.h index 01dcd05d523b..2f5a07f515e4 100644 --- a/Marlin/src/HAL/HAL_DUE/MarlinSerial_Due.h +++ b/Marlin/src/HAL/HAL_DUE/MarlinSerial_Due.h @@ -70,12 +70,16 @@ extern uint8_t rx_dropped_bytes; #endif -#if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) - extern ring_buffer_pos_t rx_max_enqueued; +#if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS) + extern uint8_t rx_buffer_overruns; +#endif + +#if ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS) + extern uint8_t rx_framing_errors; #endif -#if ENABLED(EMERGENCY_PARSER) - extern bool killed_by_M112; +#if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) + extern ring_buffer_pos_t rx_max_enqueued; #endif class MarlinSerial { @@ -88,18 +92,21 @@ class MarlinSerial { static int read(void); static void flush(void); static ring_buffer_pos_t available(void); - static void checkRx(void); static void write(const uint8_t c); - #if TX_BUFFER_SIZE > 0 - static uint8_t availableForWrite(void); - static void flushTX(void); - #endif - static void writeNoHandshake(const uint8_t c); + static void flushTX(void); #if ENABLED(SERIAL_STATS_DROPPED_RX) FORCE_INLINE static uint32_t dropped() { return rx_dropped_bytes; } #endif + #if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS) + FORCE_INLINE static uint32_t buffer_overruns() { return rx_buffer_overruns; } + #endif + + #if ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS) + FORCE_INLINE static uint32_t framing_errors() { return rx_framing_errors; } + #endif + #if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) FORCE_INLINE static ring_buffer_pos_t rxMaxEnqueued() { return rx_max_enqueued; } #endif diff --git a/Marlin/src/HAL/HAL_DUE/SanityCheck_Due.h b/Marlin/src/HAL/HAL_DUE/SanityCheck.h similarity index 97% rename from Marlin/src/HAL/HAL_DUE/SanityCheck_Due.h rename to Marlin/src/HAL/HAL_DUE/SanityCheck.h index 16e07bd3b44f..f24233a859cb 100644 --- a/Marlin/src/HAL/HAL_DUE/SanityCheck_Due.h +++ b/Marlin/src/HAL/HAL_DUE/SanityCheck.h @@ -41,7 +41,7 @@ */ #define _IS_HW_SPI(P) (defined(TMC_SW_##P) && (TMC_SW_##P == MOSI_PIN || TMC_SW_##P == MISO_PIN || TMC_SW_##P == SCK_PIN)) -#if ENABLED(SDSUPPORT) && ENABLED(HAVE_TMC2130) +#if ENABLED(SDSUPPORT) && HAS_DRIVER(TMC2130) #if ENABLED(TMC_USE_SW_SPI) #if DISABLED(DUE_SOFTWARE_SPI) && (_IS_HW_SPI(MOSI) || _IS_HW_SPI(MISO) || _IS_HW_SPI(SCK)) #error "DUE hardware SPI is required but is incompatible with TMC2130 software SPI. Either disable TMC_USE_SW_SPI or use separate pins for the two SPIs." diff --git a/Marlin/src/HAL/HAL_DUE/Tone.cpp b/Marlin/src/HAL/HAL_DUE/Tone.cpp index c097e1e4caa6..55c03f5e584d 100644 --- a/Marlin/src/HAL/HAL_DUE/Tone.cpp +++ b/Marlin/src/HAL/HAL_DUE/Tone.cpp @@ -27,7 +27,7 @@ #ifdef ARDUINO_ARCH_SAM -#include "HAL_Due.h" +#include "HAL.h" #include "HAL_timers_Due.h" static pin_t tone_pin; diff --git a/Marlin/src/HAL/HAL_DUE/endstop_interrupts.h b/Marlin/src/HAL/HAL_DUE/endstop_interrupts.h index 123519642a61..42cdba19fcae 100644 --- a/Marlin/src/HAL/HAL_DUE/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_DUE/endstop_interrupts.h @@ -24,7 +24,7 @@ * Endstop Interrupts * * Without endstop interrupts the endstop pins must be polled continually in - * the stepper-ISR via endstops.update(), most of the time finding no change. + * the temperature-ISR via endstops.update(), most of the time finding no change. * With this feature endstops.update() is called only when we know that at * least one endstop has changed state, saving valuable CPU cycles. * @@ -34,8 +34,13 @@ * (Located in Marlin/buildroot/share/pin_interrupt_test/pin_interrupt_test.ino) */ - #ifndef _ENDSTOP_INTERRUPTS_H_ - #define _ENDSTOP_INTERRUPTS_H_ +#ifndef _ENDSTOP_INTERRUPTS_H_ +#define _ENDSTOP_INTERRUPTS_H_ + +#include "../../module/endstops.h" + +// One ISR for all EXT-Interrupts +void endstop_ISR(void) { endstops.update(); } /** * Endstop interrupts for Due based targets. diff --git a/Marlin/src/HAL/HAL_DUE/fastio_Due.h b/Marlin/src/HAL/HAL_DUE/fastio_Due.h index e1d3fc7563a2..bb25f4517476 100644 --- a/Marlin/src/HAL/HAL_DUE/fastio_Due.h +++ b/Marlin/src/HAL/HAL_DUE/fastio_Due.h @@ -39,6 +39,8 @@ #ifndef _FASTIO_DUE_H #define _FASTIO_DUE_H +#include + /** * Utility functions */ @@ -48,7 +50,7 @@ #define USEABLE_HARDWARE_PWM(p) ((2 <= p) && (p <= 13)) #ifndef MASK - #define MASK(PIN) (1 << PIN) + #define MASK(PIN) (1 << PIN) #endif /** @@ -59,76 +61,70 @@ * Why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html */ -/// Read a pin -#define _READ(IO) ((bool)(DIO ## IO ## _WPORT -> PIO_PDSR & (MASK(DIO ## IO ## _PIN)))) +// Read a pin +#define _READ(IO) bool(DIO ## IO ## _WPORT -> PIO_PDSR & MASK(DIO ## IO ## _PIN)) -/// Write to a pin -#define _WRITE_VAR(IO, v) do { \ - volatile Pio* port = g_APinDescription[IO].pPort; \ - uint32_t mask = g_APinDescription[IO].ulPin; \ - if (v) port->PIO_SODR = mask; \ +// Write to a pin +#define _WRITE_VAR(IO,V) do { \ + volatile Pio* port = digitalPinToPort(IO); \ + uint32_t mask = digitalPinToBitMask(IO); \ + if (V) port->PIO_SODR = mask; \ else port->PIO_CODR = mask; \ } while(0) -/// Write to a pin -#define _WRITE(IO, v) do { \ +// Write to a pin +#define _WRITE(IO,V) do { \ volatile Pio* port = (DIO ## IO ## _WPORT); \ uint32_t mask = MASK(DIO ## IO ## _PIN); \ - if (v) port->PIO_SODR = mask; \ + if (V) port->PIO_SODR = mask; \ else port->PIO_CODR = mask; \ } while(0) -/// toggle a pin -#define _TOGGLE(IO) _WRITE(IO, !READ(IO)) - -/// set pin as input -#define _SET_INPUT(IO) do{ pmc_enable_periph_clk(g_APinDescription[IO].ulPeripheralId); \ - PIO_Configure(g_APinDescription[IO].pPort, PIO_INPUT, g_APinDescription[IO].ulPin, 0); \ - }while(0) -/// set pin as output -#define _SET_OUTPUT(IO) do{ pmc_enable_periph_clk(g_APinDescription[IO].ulPeripheralId); \ - PIO_Configure(g_APinDescription[IO].pPort, _READ(IO) ? PIO_OUTPUT_1 : PIO_OUTPUT_0, \ - g_APinDescription[IO].ulPin, g_APinDescription[IO].ulPinConfiguration); \ - g_pinStatus[IO] = (g_pinStatus[IO] & 0xF0) | PIN_STATUS_DIGITAL_OUTPUT;\ - }while(0) +// Toggle a pin +#define _TOGGLE(IO) _WRITE(IO, !READ(IO)) -/// set pin as input with pullup mode -#define _PULLUP(IO, v) { pinMode(IO, v != LOW ? INPUT_PULLUP : INPUT); } +// Set pin as input +#define _SET_INPUT(IO) do{ \ + pmc_enable_periph_clk(g_APinDescription[IO].ulPeripheralId); \ + PIO_Configure(digitalPinToPort(IO), PIO_INPUT, digitalPinToBitMask(IO), 0); \ +}while(0) -/// check if pin is an input -#define _GET_INPUT(IO) -/// check if pin is an output -#define _GET_OUTPUT(IO) +// Set pin as output +#define _SET_OUTPUT(IO) do{ \ + pmc_enable_periph_clk(g_APinDescription[IO].ulPeripheralId); \ + PIO_Configure(digitalPinToPort(IO), _READ(IO) ? PIO_OUTPUT_1 : PIO_OUTPUT_0, digitalPinToBitMask(IO), g_APinDescription[IO].ulPinConfiguration); \ + g_pinStatus[IO] = (g_pinStatus[IO] & 0xF0) | PIN_STATUS_DIGITAL_OUTPUT;\ +}while(0) -/// check if pin is a timer -#define _GET_TIMER(IO) +// Set pin as input with pullup mode +#define _PULLUP(IO,V) pinMode(IO, (V) ? INPUT_PULLUP : INPUT) -/// Read a pin wrapper -#define READ(IO) _READ(IO) +// Read a pin (wrapper) +#define READ(IO) _READ(IO) -/// Write to a pin wrapper -#define WRITE_VAR(IO, v) _WRITE_VAR(IO, v) -#define WRITE(IO, v) _WRITE(IO, v) +// Write to a pin (wrapper) +#define WRITE_VAR(IO,V) _WRITE_VAR(IO,V) +#define WRITE(IO,V) _WRITE(IO,V) -/// toggle a pin wrapper -#define TOGGLE(IO) _TOGGLE(IO) +// Toggle a pin (wrapper) +#define TOGGLE(IO) _TOGGLE(IO) -/// set pin as input wrapper -#define SET_INPUT(IO) _SET_INPUT(IO) -/// set pin as input with pullup wrapper +// Set pin as input (wrapper) +#define SET_INPUT(IO) _SET_INPUT(IO) +// Set pin as input with pullup (wrapper) #define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _PULLUP(IO, HIGH); }while(0) -/// set pin as output wrapper - reads the pin and sets the output to that value -#define SET_OUTPUT(IO) _SET_OUTPUT(IO) -/// check if pin is an input wrapper -#define GET_INPUT(IO) _GET_INPUT(IO) -/// check if pin is an output wrapper -#define GET_OUTPUT(IO) _GET_OUTPUT(IO) +// Set pin as output (wrapper) - reads the pin and sets the output to that value +#define SET_OUTPUT(IO) _SET_OUTPUT(IO) -/// check if pin is a timer (wrapper) -#define GET_TIMER(IO) _GET_TIMER(IO) +// Check if pin is an input +#define GET_INPUT(IO) !(digitalPinToPort(IO)->PIO_OSR & digitalPinToBitMask(IO)) +// Check if pin is an output +#define GET_OUTPUT(IO) !!(digitalPinToPort(IO)->PIO_OSR & digitalPinToBitMask(IO)) +// Check if pin is a timer - Must be a constexpr +#define GET_TIMER(IO) ((IO) >= 2 && (IO) <= 13) // Shorthand -#define OUT_WRITE(IO, v) { SET_OUTPUT(IO); WRITE(IO, v); } +#define OUT_WRITE(IO,V) { SET_OUTPUT(IO); WRITE(IO,V); } /** * Ports and functions diff --git a/Marlin/src/HAL/HAL_DUE/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_DUE/persistent_store_impl.cpp index f5276e045c1d..aef1d79f48fc 100644 --- a/Marlin/src/HAL/HAL_DUE/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_DUE/persistent_store_impl.cpp @@ -11,14 +11,12 @@ extern void eeprom_flush(void); namespace HAL { namespace PersistentStore { -bool access_start() { - return true; -} +bool access_start() { return true; } -bool access_finish(){ -#if DISABLED(I2C_EEPROM) && DISABLED(SPI_EEPROM) - eeprom_flush(); -#endif +bool access_finish() { + #if DISABLED(I2C_EEPROM) && DISABLED(SPI_EEPROM) + eeprom_flush(); + #endif return true; } diff --git a/Marlin/src/HAL/HAL_DUE/HAL_pinsDebug_Due.h b/Marlin/src/HAL/HAL_DUE/pinsDebug.h similarity index 100% rename from Marlin/src/HAL/HAL_DUE/HAL_pinsDebug_Due.h rename to Marlin/src/HAL/HAL_DUE/pinsDebug.h diff --git a/Marlin/src/HAL/HAL_DUE/u8g_com_HAL_DUE_shared_hw_spi.cpp b/Marlin/src/HAL/HAL_DUE/u8g_com_HAL_DUE_shared_hw_spi.cpp index 98c065fba398..0dab3bb412f1 100644 --- a/Marlin/src/HAL/HAL_DUE/u8g_com_HAL_DUE_shared_hw_spi.cpp +++ b/Marlin/src/HAL/HAL_DUE/u8g_com_HAL_DUE_shared_hw_spi.cpp @@ -56,108 +56,106 @@ */ - #ifdef __SAM3X8E__ -// #include - -// #include "src/core/macros.h" -// #include "Configuration.h" -#include "../../Marlin.h" -#include "../../inc/MarlinConfig.h" - - #include - - #define SPI_FULL_SPEED 0 - #define SPI_HALF_SPEED 1 - #define SPI_QUARTER_SPEED 2 - #define SPI_EIGHTH_SPEED 3 - #define SPI_SIXTEENTH_SPEED 4 - #define SPI_SPEED_5 5 - #define SPI_SPEED_6 6 - - void spiBegin(); - void spiInit(uint8_t spiRate); - void spiSend(uint8_t b); - void spiSend(const uint8_t* buf, size_t n); +#include "../../inc/MarlinConfigPre.h" - #include - #include "../../core/macros.h" - #include "fastio_Due.h" +#if ENABLED(DOGLCD) +#include - void u8g_SetPIOutput_DUE_hw_spi(u8g_t *u8g, uint8_t pin_index) { - PIO_Configure(g_APinDescription[u8g->pin_list[pin_index]].pPort, PIO_OUTPUT_1, - g_APinDescription[u8g->pin_list[pin_index]].ulPin, g_APinDescription[u8g->pin_list[pin_index]].ulPinConfiguration); // OUTPUT - } - - void u8g_SetPILevel_DUE_hw_spi(u8g_t *u8g, uint8_t pin_index, uint8_t level) { - volatile Pio* port = g_APinDescription[u8g->pin_list[pin_index]].pPort; - uint32_t mask = g_APinDescription[u8g->pin_list[pin_index]].ulPin; - if (level) port->PIO_SODR = mask; - else port->PIO_CODR = mask; - } +#include "../../Marlin.h" - uint8_t u8g_com_HAL_DUE_shared_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +#define SPI_FULL_SPEED 0 +#define SPI_HALF_SPEED 1 +#define SPI_QUARTER_SPEED 2 +#define SPI_EIGHTH_SPEED 3 +#define SPI_SIXTEENTH_SPEED 4 +#define SPI_SPEED_5 5 +#define SPI_SPEED_6 6 + +void spiBegin(); +void spiInit(uint8_t spiRate); +void spiSend(uint8_t b); +void spiSend(const uint8_t* buf, size_t n); + +#include +#include "fastio_Due.h" + +void u8g_SetPIOutput_DUE_hw_spi(u8g_t *u8g, uint8_t pin_index) { + PIO_Configure(g_APinDescription[u8g->pin_list[pin_index]].pPort, PIO_OUTPUT_1, + g_APinDescription[u8g->pin_list[pin_index]].ulPin, g_APinDescription[u8g->pin_list[pin_index]].ulPinConfiguration); // OUTPUT +} + +void u8g_SetPILevel_DUE_hw_spi(u8g_t *u8g, uint8_t pin_index, uint8_t level) { + volatile Pio* port = g_APinDescription[u8g->pin_list[pin_index]].pPort; + uint32_t mask = g_APinDescription[u8g->pin_list[pin_index]].ulPin; + if (level) port->PIO_SODR = mask; + else port->PIO_CODR = mask; +} + +uint8_t u8g_com_HAL_DUE_shared_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) { - switch(msg) - { - case U8G_COM_MSG_STOP: - break; + case U8G_COM_MSG_STOP: + break; - case U8G_COM_MSG_INIT: - u8g_SetPILevel_DUE_hw_spi(u8g, U8G_PI_CS, 1); - u8g_SetPILevel_DUE_hw_spi(u8g, U8G_PI_A0, 1); + case U8G_COM_MSG_INIT: + u8g_SetPILevel_DUE_hw_spi(u8g, U8G_PI_CS, 1); + u8g_SetPILevel_DUE_hw_spi(u8g, U8G_PI_A0, 1); - u8g_SetPIOutput_DUE_hw_spi(u8g, U8G_PI_CS); - u8g_SetPIOutput_DUE_hw_spi(u8g, U8G_PI_A0); + u8g_SetPIOutput_DUE_hw_spi(u8g, U8G_PI_CS); + u8g_SetPIOutput_DUE_hw_spi(u8g, U8G_PI_A0); - u8g_Delay(5); + u8g_Delay(5); - spiBegin(); + spiBegin(); - #ifndef SPI_SPEED - #define SPI_SPEED SPI_FULL_SPEED // use same SPI speed as SD card - #endif - spiInit(2); + #ifndef SPI_SPEED + #define SPI_SPEED SPI_FULL_SPEED // use same SPI speed as SD card + #endif + spiInit(2); - break; + break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_SetPILevel_DUE_hw_spi(u8g, U8G_PI_A0, arg_val); - break; + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_SetPILevel_DUE_hw_spi(u8g, U8G_PI_A0, arg_val); + break; - case U8G_COM_MSG_CHIP_SELECT: - u8g_SetPILevel_DUE_hw_spi(u8g, U8G_PI_CS, (arg_val ? 0 : 1)); - break; + case U8G_COM_MSG_CHIP_SELECT: + u8g_SetPILevel_DUE_hw_spi(u8g, U8G_PI_CS, (arg_val ? 0 : 1)); + break; - case U8G_COM_MSG_RESET: - break; + case U8G_COM_MSG_RESET: + break; - case U8G_COM_MSG_WRITE_BYTE: + case U8G_COM_MSG_WRITE_BYTE: - spiSend((uint8_t)arg_val); - break; + spiSend((uint8_t)arg_val); + break; - case U8G_COM_MSG_WRITE_SEQ: { - uint8_t *ptr = (uint8_t*) arg_ptr; - while (arg_val > 0) { - spiSend(*ptr++); - arg_val--; - } + case U8G_COM_MSG_WRITE_SEQ: { + uint8_t *ptr = (uint8_t*) arg_ptr; + while (arg_val > 0) { + spiSend(*ptr++); + arg_val--; } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: { - uint8_t *ptr = (uint8_t*) arg_ptr; - while (arg_val > 0) { - spiSend(*ptr++); - arg_val--; - } + } + break; + + case U8G_COM_MSG_WRITE_SEQ_P: { + uint8_t *ptr = (uint8_t*) arg_ptr; + while (arg_val > 0) { + spiSend(*ptr++); + arg_val--; } - break; - } - return 1; + } + break; } + return 1; +} + +#endif // DOGLCD #endif //__SAM3X8E__ diff --git a/Marlin/src/HAL/HAL_DUE/u8g_com_HAL_DUE_st7920_sw_spi.cpp b/Marlin/src/HAL/HAL_DUE/u8g_com_HAL_DUE_st7920_sw_spi.cpp index e5b674d4ebde..df33f9db626a 100644 --- a/Marlin/src/HAL/HAL_DUE/u8g_com_HAL_DUE_st7920_sw_spi.cpp +++ b/Marlin/src/HAL/HAL_DUE/u8g_com_HAL_DUE_st7920_sw_spi.cpp @@ -55,9 +55,13 @@ #ifdef ARDUINO_ARCH_SAM +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(DOGLCD) + #include #include -#include "../../core/macros.h" +#include "../Delay.h" void u8g_SetPIOutput_DUE(u8g_t *u8g, uint8_t pin_index) { PIO_Configure(g_APinDescription[u8g->pin_list[pin_index]].pPort, PIO_OUTPUT_1, @@ -71,30 +75,6 @@ void u8g_SetPILevel_DUE(u8g_t *u8g, uint8_t pin_index, uint8_t level) { else port->PIO_CODR = mask; } -#define nop() __asm__ __volatile__("nop;\n\t":::) - -void __delay_4cycles(uint32_t cy) __attribute__ ((weak)); - -FORCE_INLINE void __delay_4cycles(uint32_t cy) { // +1 cycle - #if ARCH_PIPELINE_RELOAD_CYCLES<2 - #define EXTRA_NOP_CYCLES "nop" - #else - #define EXTRA_NOP_CYCLES "" - #endif - - __asm__ __volatile__( - ".syntax unified" "\n\t" // is to prevent CM0,CM1 non-unified syntax - - "loop%=:" "\n\t" - " subs %[cnt],#1" "\n\t" - EXTRA_NOP_CYCLES "\n\t" - " bne loop%=" "\n\t" - : [cnt]"+r"(cy) // output: +r means input+output - : // input: - : "cc" // clobbers: - ); -} - Pio *SCK_pPio, *MOSI_pPio; uint32_t SCK_dwMask, MOSI_dwMask; @@ -104,9 +84,9 @@ static void spiSend_sw_DUE(uint8_t val) { // 800KHz MOSI_pPio->PIO_SODR = MOSI_dwMask; else MOSI_pPio->PIO_CODR = MOSI_dwMask; - __delay_4cycles(1); + DELAY_NS(48); SCK_pPio->PIO_SODR = SCK_dwMask; - __delay_4cycles(19); // 16 dead, 17 garbage, 18/0 900kHz, 19/1 825k, 20/1 800k, 21/2 725KHz + DELAY_NS(905); // 762 dead, 810 garbage, 858/0 900kHz, 905/1 825k, 953/1 800k, 1000/2 725KHz val <<= 1; SCK_pPio->PIO_CODR = SCK_dwMask; } @@ -122,16 +102,15 @@ static void u8g_com_DUE_st7920_write_byte_sw_spi(uint8_t rs, uint8_t val) { if ( rs == 0 ) /* command */ - spiSend_sw_DUE(0x0f8); + spiSend_sw_DUE(0x0F8); else /* data */ - spiSend_sw_DUE(0x0fa); + spiSend_sw_DUE(0x0FA); - for (i = 0; i < 4; i++) // give the controller some time to process the data - u8g_10MicroDelay(); // 2 is bad, 3 is OK, 4 is safe + DELAY_US(40); // give the controller some time to process the data: 20 is bad, 30 is OK, 40 is safe } - spiSend_sw_DUE(val & 0x0f0); + spiSend_sw_DUE(val & 0x0F0); spiSend_sw_DUE(val << 4); } @@ -201,4 +180,6 @@ uint8_t u8g_com_HAL_DUE_ST7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_va return 1; } -#endif //ARDUINO_ARCH_SAM +#endif // DOGLCD + +#endif // ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/HAL_DUE/usb/compiler.h b/Marlin/src/HAL/HAL_DUE/usb/compiler.h index efc895bb1117..43895381a227 100644 --- a/Marlin/src/HAL/HAL_DUE/usb/compiler.h +++ b/Marlin/src/HAL/HAL_DUE/usb/compiler.h @@ -785,79 +785,6 @@ typedef struct //! @} - -/*! \name Mathematics - * - * The same considerations as for clz and ctz apply here but GCC does not - * provide built-in functions to access the assembly instructions abs, min and - * max and it does not produce them by itself in most cases, so two sets of - * macros are defined here: - * - Abs, Min and Max to apply to constant expressions (values known at - * compile time); - * - abs, min and max to apply to non-constant expressions (values unknown at - * compile time), abs is found in stdlib.h. - */ -//! @{ - -/*! \brief Takes the absolute value of \a a. - * - * \param a Input value. - * - * \return Absolute value of \a a. - * - * \note More optimized if only used with values known at compile time. - */ -#define Abs(a) (((a) < 0 ) ? -(a) : (a)) - -/*! \brief Takes the minimal value of \a a and \a b. - * - * \param a Input value. - * \param b Input value. - * - * \return Minimal value of \a a and \a b. - * - * \note More optimized if only used with values known at compile time. - */ -#define Min(a, b) (((a) < (b)) ? (a) : (b)) - -/*! \brief Takes the maximal value of \a a and \a b. - * - * \param a Input value. - * \param b Input value. - * - * \return Maximal value of \a a and \a b. - * - * \note More optimized if only used with values known at compile time. - */ -#define Max(a, b) (((a) > (b)) ? (a) : (b)) - -// abs() is already defined by stdlib.h - -/*! \brief Takes the minimal value of \a a and \a b. - * - * \param a Input value. - * \param b Input value. - * - * \return Minimal value of \a a and \a b. - * - * \note More optimized if only used with values unknown at compile time. - */ -#define min(a, b) Min(a, b) - -/*! \brief Takes the maximal value of \a a and \a b. - * - * \param a Input value. - * \param b Input value. - * - * \return Maximal value of \a a and \a b. - * - * \note More optimized if only used with values unknown at compile time. - */ -#define max(a, b) Max(a, b) - -//! @} - - /*! \brief Calls the routine at address \a addr. * * It generates a long call opcode. diff --git a/Marlin/src/HAL/HAL_DUE/usb/pll.h b/Marlin/src/HAL/HAL_DUE/usb/pll.h index 88545eedf65a..d3d2174870e5 100644 --- a/Marlin/src/HAL/HAL_DUE/usb/pll.h +++ b/Marlin/src/HAL/HAL_DUE/usb/pll.h @@ -74,7 +74,7 @@ extern "C" { #define PLL_UPLL_HZ 480000000 -#define PLL_COUNT 0x3fU +#define PLL_COUNT 0x3FU enum pll_source { PLL_SRC_MAINCK_4M_RC = OSC_MAINCK_4M_RC, //!< Internal 4MHz RC oscillator. diff --git a/Marlin/src/HAL/HAL_DUE/usb/spc_protocol.h b/Marlin/src/HAL/HAL_DUE/usb/spc_protocol.h index 84c4dd50a901..e5e7603c9a9e 100644 --- a/Marlin/src/HAL/HAL_DUE/usb/spc_protocol.h +++ b/Marlin/src/HAL/HAL_DUE/usb/spc_protocol.h @@ -96,13 +96,13 @@ struct scsi_inquiry_data { #define SCSI_INQ_DT_CD_DVD 0x05 //!< CD/DVD device #define SCSI_INQ_DT_OPTICAL 0x07 //!< Optical Memory #define SCSI_INQ_DT_MC 0x08 //!< Medium Changer -#define SCSI_INQ_DT_ARRAY 0x0c //!< Storage Array Controller -#define SCSI_INQ_DT_ENCLOSURE 0x0d //!< Enclosure Services -#define SCSI_INQ_DT_RBC 0x0e //!< Simplified Direct Access -#define SCSI_INQ_DT_OCRW 0x0f //!< Optical card reader/writer +#define SCSI_INQ_DT_ARRAY 0x0C //!< Storage Array Controller +#define SCSI_INQ_DT_ENCLOSURE 0x0D //!< Enclosure Services +#define SCSI_INQ_DT_RBC 0x0E //!< Simplified Direct Access +#define SCSI_INQ_DT_OCRW 0x0F //!< Optical card reader/writer #define SCSI_INQ_DT_BCC 0x10 //!< Bridge Controller Commands #define SCSI_INQ_DT_OSD 0x11 //!< Object-based Storage -#define SCSI_INQ_DT_NONE 0x1f //!< No Peripheral +#define SCSI_INQ_DT_NONE 0x1F //!< No Peripheral uint8_t flags1; //!< Flags (byte 1) #define SCSI_INQ_RMB 0x80 //!< Removable Medium uint8_t version; //!< Version @@ -213,17 +213,17 @@ enum scsi_sense_key { SCSI_SK_DATA_PROTECT = 0x7, SCSI_SK_BLANK_CHECK = 0x8, SCSI_SK_VENDOR_SPECIFIC = 0x9, - SCSI_SK_COPY_ABORTED = 0xa, - SCSI_SK_ABORTED_COMMAND = 0xb, - SCSI_SK_VOLUME_OVERFLOW = 0xd, - SCSI_SK_MISCOMPARE = 0xe, + SCSI_SK_COPY_ABORTED = 0xA, + SCSI_SK_ABORTED_COMMAND = 0xB, + SCSI_SK_VOLUME_OVERFLOW = 0xD, + SCSI_SK_MISCOMPARE = 0xE, }; /* Additional Sense Code / Additional Sense Code Qualifier pairs */ enum scsi_asc_ascq { SCSI_ASC_NO_ADDITIONAL_SENSE_INFO = 0x0000, SCSI_ASC_LU_NOT_READY_REBUILD_IN_PROGRESS = 0x0405, - SCSI_ASC_WRITE_ERROR = 0x0c00, + SCSI_ASC_WRITE_ERROR = 0x0C00, SCSI_ASC_UNRECOVERED_READ_ERROR = 0x1100, SCSI_ASC_INVALID_COMMAND_OPERATION_CODE = 0x2000, SCSI_ASC_INVALID_FIELD_IN_CDB = 0x2400, @@ -242,7 +242,7 @@ enum scsi_asc_ascq { enum scsi_spc_mode { SCSI_MS_MODE_VENDOR_SPEC = 0x00, SCSI_MS_MODE_INFEXP = 0x1C, // Informational exceptions control page - SCSI_MS_MODE_ALL = 0x3f, + SCSI_MS_MODE_ALL = 0x3F, }; /** @@ -289,7 +289,7 @@ static inline bool scsi_mode_sense_dbd_is_set(const uint8_t * cdb) static inline uint8_t scsi_mode_sense_get_page_code(const uint8_t * cdb) { - return cdb[2] & 0x3f; + return cdb[2] & 0x3F; } static inline uint8_t scsi_mode_sense_get_pc(const uint8_t * cdb) diff --git a/Marlin/src/HAL/HAL_DUE/usb/udc.c b/Marlin/src/HAL/HAL_DUE/usb/udc.c index a4521be83209..048a902d3b5e 100644 --- a/Marlin/src/HAL/HAL_DUE/usb/udc.c +++ b/Marlin/src/HAL/HAL_DUE/usb/udc.c @@ -527,7 +527,7 @@ static bool udc_req_std_dev_set_feature(void) if (!udd_is_high_speed()) { break; } - if (udd_g_ctrlreq.req.wIndex & 0xff) { + if (udd_g_ctrlreq.req.wIndex & 0xFF) { break; } // Unconfigure the device, terminating all ongoing requests @@ -618,7 +618,7 @@ static bool udc_req_std_dev_get_str_desc(void) uint8_t str_length = 0; // Link payload pointer to the string corresponding at request - switch (udd_g_ctrlreq.req.wValue & 0xff) { + switch (udd_g_ctrlreq.req.wValue & 0xFF) { case 0: udd_set_setup_payload((uint8_t *) &udc_string_desc_languageid, sizeof(udc_string_desc_languageid)); @@ -674,7 +674,7 @@ static bool udc_req_std_dev_get_descriptor(void) { uint8_t conf_num; - conf_num = udd_g_ctrlreq.req.wValue & 0xff; + conf_num = udd_g_ctrlreq.req.wValue & 0xFF; // Check descriptor ID switch ((uint8_t) (udd_g_ctrlreq.req.wValue >> 8)) { diff --git a/Marlin/src/HAL/HAL_DUE/usb/uotghs_device_due.c b/Marlin/src/HAL/HAL_DUE/usb/uotghs_device_due.c index fce050cf696a..0dfcd5ac1ff5 100644 --- a/Marlin/src/HAL/HAL_DUE/usb/uotghs_device_due.c +++ b/Marlin/src/HAL/HAL_DUE/usb/uotghs_device_due.c @@ -1904,7 +1904,7 @@ static void udd_ep_in_sent(udd_ep_id_t ep) ptr_src = &ptr_job->buf[ptr_job->buf_cnt]; nb_remain = ptr_job->buf_size - ptr_job->buf_cnt; // Fill a bank even if no data (ZLP) - nb_data = min(nb_remain, pkt_size); + nb_data = MIN(nb_remain, pkt_size); // Modify job information ptr_job->buf_cnt += nb_data; ptr_job->buf_load = nb_data; diff --git a/Marlin/src/HAL/HAL_DUE/usb/uotghs_device_due.h b/Marlin/src/HAL/HAL_DUE/usb/uotghs_device_due.h index 88e015ca37c2..1cd6914f8547 100644 --- a/Marlin/src/HAL/HAL_DUE/usb/uotghs_device_due.h +++ b/Marlin/src/HAL/HAL_DUE/usb/uotghs_device_due.h @@ -217,7 +217,7 @@ extern "C" { #define udd_raise_msof() (UOTGHS->UOTGHS_DEVIFR = UOTGHS_DEVIFR_MSOFS) #define Is_udd_msof() (Tst_bits(UOTGHS->UOTGHS_DEVISR, UOTGHS_DEVISR_MSOF)) #define udd_micro_frame_number() \ - (Rd_bitfield(UOTGHS->UOTGHS_DEVFNUM, (UOTGHS_DEVFNUM_FNUM_Msk|UOTGHS_DEVFNUM_MFNUM_Msk))) + (Rd_bitfield(UOTGHS->UOTGHS_DEVFNUM, (UOTGHS_DEVFNUM_FNUM_Msk|UOTGHS_DEVFNUM_MFNUM_Msk))) //! @} //! Manage suspend event @@ -266,10 +266,10 @@ extern "C" { #define Is_udd_endpoint_enabled(ep) (Tst_bits(UOTGHS->UOTGHS_DEVEPT, UOTGHS_DEVEPT_EPEN0 << (ep))) //! resets the selected endpoint #define udd_reset_endpoint(ep) \ - do { \ - Set_bits(UOTGHS->UOTGHS_DEVEPT, UOTGHS_DEVEPT_EPRST0 << (ep)); \ - Clr_bits(UOTGHS->UOTGHS_DEVEPT, UOTGHS_DEVEPT_EPRST0 << (ep)); \ - } while (0) + do { \ + Set_bits(UOTGHS->UOTGHS_DEVEPT, UOTGHS_DEVEPT_EPRST0 << (ep)); \ + Clr_bits(UOTGHS->UOTGHS_DEVEPT, UOTGHS_DEVEPT_EPRST0 << (ep)); \ + } while (0) //! Tests if the selected endpoint is being reset #define Is_udd_resetting_endpoint(ep) (Tst_bits(UOTGHS->UOTGHS_DEVEPT, UOTGHS_DEVEPT_EPRST0 << (ep))) @@ -290,7 +290,8 @@ extern "C" { //! Bounds given integer size to allowed range and rounds it up to the nearest //! available greater size, then applies register format of UOTGHS controller //! for endpoint size bit-field. -#define udd_format_endpoint_size(size) (32 - clz(((uint32_t)min(max(size, 8), 1024) << 1) - 1) - 1 - 3) +#undef udd_format_endpoint_size +#define udd_format_endpoint_size(size) (32 - clz(((uint32_t)MIN(MAX(size, 8), 1024) << 1) - 1) - 1 - 3) //! Configures the selected endpoint size #define udd_configure_endpoint_size(ep, size) (Wr_bitfield(UOTGHS_ARRAY(UOTGHS_DEVEPTCFG[0], ep), UOTGHS_DEVEPTCFG_EPSIZE_Msk, udd_format_endpoint_size(size))) //! Gets the configured selected endpoint size @@ -307,14 +308,14 @@ extern "C" { //! Configures selected endpoint in one step #define udd_configure_endpoint(ep, type, dir, size, bank) (\ - Wr_bits(UOTGHS_ARRAY(UOTGHS_DEVEPTCFG[0], ep), UOTGHS_DEVEPTCFG_EPTYPE_Msk |\ - UOTGHS_DEVEPTCFG_EPDIR |\ - UOTGHS_DEVEPTCFG_EPSIZE_Msk |\ - UOTGHS_DEVEPTCFG_EPBK_Msk , \ - (((uint32_t)(type) << UOTGHS_DEVEPTCFG_EPTYPE_Pos) & UOTGHS_DEVEPTCFG_EPTYPE_Msk) |\ - (((uint32_t)(dir ) << UOTGHS_DEVEPTCFG_EPDIR_Pos ) & UOTGHS_DEVEPTCFG_EPDIR) |\ - ( (uint32_t)udd_format_endpoint_size(size) << UOTGHS_DEVEPTCFG_EPSIZE_Pos) |\ - (((uint32_t)(bank) << UOTGHS_DEVEPTCFG_EPBK_Pos) & UOTGHS_DEVEPTCFG_EPBK_Msk))\ + Wr_bits(UOTGHS_ARRAY(UOTGHS_DEVEPTCFG[0], ep), UOTGHS_DEVEPTCFG_EPTYPE_Msk |\ + UOTGHS_DEVEPTCFG_EPDIR |\ + UOTGHS_DEVEPTCFG_EPSIZE_Msk |\ + UOTGHS_DEVEPTCFG_EPBK_Msk , \ + (((uint32_t)(type) << UOTGHS_DEVEPTCFG_EPTYPE_Pos) & UOTGHS_DEVEPTCFG_EPTYPE_Msk) |\ + (((uint32_t)(dir ) << UOTGHS_DEVEPTCFG_EPDIR_Pos ) & UOTGHS_DEVEPTCFG_EPDIR) |\ + ( (uint32_t)udd_format_endpoint_size(size) << UOTGHS_DEVEPTCFG_EPSIZE_Pos) |\ + (((uint32_t)(bank) << UOTGHS_DEVEPTCFG_EPBK_Pos) & UOTGHS_DEVEPTCFG_EPBK_Msk))\ ) //! Tests if current endpoint is configured #define Is_udd_endpoint_configured(ep) (Tst_bits(UOTGHS_ARRAY(UOTGHS_DEVEPTISR[0], ep), UOTGHS_DEVEPTISR_CFGOK)) @@ -540,7 +541,7 @@ extern "C" { //! @warning It is up to the user of this macro to make sure that used HSB //! addresses are identical to the DPRAM internal pointer modulo 32 bits. #define udd_get_endpoint_fifo_access(ep, scale) \ - (((volatile TPASTE2(U, scale) (*)[0x8000 / ((scale) / 8)])UOTGHS_RAM_ADDR)[(ep)]) + (((volatile TPASTE2(U, scale) (*)[0x8000 / ((scale) / 8)])UOTGHS_RAM_ADDR)[(ep)]) //! @name UOTGHS endpoint DMA drivers //! These macros manage the common features of the endpoint DMA channels. @@ -572,60 +573,60 @@ extern "C" { //! @{ //! Structure for DMA next descriptor register typedef struct { - uint32_t *NXT_DSC_ADD; + uint32_t *NXT_DSC_ADD; } uotghs_dma_nextdesc_t; //! Structure for DMA control register typedef struct { - uint32_t CHANN_ENB:1, - LDNXT_DSC:1, - END_TR_EN:1, - END_B_EN:1, - END_TR_IT:1, - END_BUFFIT:1, - DESC_LD_IT:1, - BUST_LCK:1, - reserved:8, - BUFF_LENGTH:16; + uint32_t CHANN_ENB:1, + LDNXT_DSC:1, + END_TR_EN:1, + END_B_EN:1, + END_TR_IT:1, + END_BUFFIT:1, + DESC_LD_IT:1, + BUST_LCK:1, + reserved:8, + BUFF_LENGTH:16; } uotghs_dma_control_t; //! Structure for DMA status register typedef struct { - uint32_t CHANN_ENB:1, - CHANN_ACT:1, - reserved0:2, - END_TR_ST:1, - END_BF_ST:1, - DESC_LDST:1, - reserved1:9, - BUFF_COUNT:16; + uint32_t CHANN_ENB:1, + CHANN_ACT:1, + reserved0:2, + END_TR_ST:1, + END_BF_ST:1, + DESC_LDST:1, + reserved1:9, + BUFF_COUNT:16; } uotghs_dma_status_t; //! Structure for DMA descriptor typedef struct { - union { - uint32_t nextdesc; - uotghs_dma_nextdesc_t NEXTDESC; - }; - uint32_t addr; - union { - uint32_t control; - uotghs_dma_control_t CONTROL; - }; - uint32_t reserved; + union { + uint32_t nextdesc; + uotghs_dma_nextdesc_t NEXTDESC; + }; + uint32_t addr; + union { + uint32_t control; + uotghs_dma_control_t CONTROL; + }; + uint32_t reserved; } sam_uotghs_dmadesc_t, uotghs_dmadesc_t; //! Structure for DMA registers in a channel typedef struct { - union { - uint32_t nextdesc; - uotghs_dma_nextdesc_t NEXTDESC; - }; - uint32_t addr; - union { - uint32_t control; - uotghs_dma_control_t CONTROL; - }; - union { - unsigned long status; - uotghs_dma_status_t STATUS; - }; + union { + uint32_t nextdesc; + uotghs_dma_nextdesc_t NEXTDESC; + }; + uint32_t addr; + union { + uint32_t control; + uotghs_dma_control_t CONTROL; + }; + union { + unsigned long status; + uotghs_dma_status_t STATUS; + }; } sam_uotghs_dmach_t, uotghs_dmach_t; //! DMA channel control command #define UDD_ENDPOINT_DMA_STOP_NOW (0) diff --git a/Marlin/src/HAL/HAL_DUE/usb/usb_protocol.h b/Marlin/src/HAL/HAL_DUE/usb/usb_protocol.h index dd5071a5d375..31c783f974cf 100644 --- a/Marlin/src/HAL/HAL_DUE/usb/usb_protocol.h +++ b/Marlin/src/HAL/HAL_DUE/usb/usb_protocol.h @@ -271,7 +271,7 @@ enum usb_langid { /** * \brief Mask selecting the index part of an endpoint address */ -#define USB_EP_ADDR_MASK 0x0f +#define USB_EP_ADDR_MASK 0x0F //! \brief USB address identifier typedef uint8_t usb_add_t; diff --git a/Marlin/src/HAL/HAL_DUE/usb/usb_task.c b/Marlin/src/HAL/HAL_DUE/usb/usb_task.c index 528db591c394..c9de09c11347 100644 --- a/Marlin/src/HAL/HAL_DUE/usb/usb_task.c +++ b/Marlin/src/HAL/HAL_DUE/usb/usb_task.c @@ -225,7 +225,7 @@ bool usb_task_extra_string(void) { uint8_t str_lgt = 0; // Link payload pointer to the string corresponding at request - switch (udd_g_ctrlreq.req.wValue & 0xff) { + switch (udd_g_ctrlreq.req.wValue & 0xFF) { case UDI_CDC_IAD_STRING_ID: str_lgt = sizeof(udi_cdc_name) - 1; str = udi_cdc_name; diff --git a/Marlin/src/HAL/HAL_DUE/watchdog_Due.cpp b/Marlin/src/HAL/HAL_DUE/watchdog_Due.cpp index 79081f43a2ff..3467fdd9422f 100644 --- a/Marlin/src/HAL/HAL_DUE/watchdog_Due.cpp +++ b/Marlin/src/HAL/HAL_DUE/watchdog_Due.cpp @@ -68,6 +68,11 @@ void watchdogSetup(void) { // Disable WDT interrupt (just in case, to avoid triggering it!) NVIC_DisableIRQ(WDT_IRQn); + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); + // Initialize WDT with the given parameters WDT_Enable(WDT, value); diff --git a/Marlin/src/HAL/HAL_DUE/watchdog_Due.h b/Marlin/src/HAL/HAL_DUE/watchdog_Due.h index be8afd2e81e5..57120309a3a3 100644 --- a/Marlin/src/HAL/HAL_DUE/watchdog_Due.h +++ b/Marlin/src/HAL/HAL_DUE/watchdog_Due.h @@ -25,7 +25,7 @@ // Arduino Due core now has watchdog support -#include "../HAL.h" +#include "HAL.h" // Initialize watchdog with a 4 second interrupt time void watchdog_init(); diff --git a/Marlin/src/HAL/HAL_ESP32/HAL.cpp b/Marlin/src/HAL/HAL_ESP32/HAL.cpp new file mode 100644 index 000000000000..f928d635f79f --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/HAL.cpp @@ -0,0 +1,155 @@ +/** + * 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 . + * + */ + +#ifdef ARDUINO_ARCH_ESP32 + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include "HAL.h" +#include +#include +#include + +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(WIFISUPPORT) + #include "ota.h" +#endif + +// -------------------------------------------------------------------------- +// Externals +// -------------------------------------------------------------------------- + +portMUX_TYPE spinlock = portMUX_INITIALIZER_UNLOCKED; + +// -------------------------------------------------------------------------- +// Local defines +// -------------------------------------------------------------------------- + +#define V_REF 1100 + +// -------------------------------------------------------------------------- +// Types +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Variables +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- + +uint16_t HAL_adc_result; + +// -------------------------------------------------------------------------- +// Private Variables +// -------------------------------------------------------------------------- + +esp_adc_cal_characteristics_t characteristics; + +// -------------------------------------------------------------------------- +// Function prototypes +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Private functions +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +void HAL_init(void) { + #if ENABLED(WIFISUPPORT) + OTA_init(); + #endif +} + +void HAL_idletask(void) { + #if ENABLED(WIFISUPPORT) + OTA_handle(); + #endif +} + +void HAL_clear_reset_source(void) { } + +uint8_t HAL_get_reset_source (void) { + return rtc_get_reset_reason(1); +} + +void _delay_ms(int delay_ms) { + delay(delay_ms); +} + +// return free memory between end of heap (or end bss) and whatever is current +int freeMemory() { + return ESP.getFreeHeap(); +} + +// -------------------------------------------------------------------------- +// ADC +// -------------------------------------------------------------------------- +#define ADC1_CHANNEL(pin) ADC1_GPIO##pin_CHANNEL + +adc1_channel_t get_channel(int pin) { + switch (pin) { + case 36: return ADC1_GPIO36_CHANNEL; + case 39: return ADC1_GPIO39_CHANNEL; + } + + return ADC1_CHANNEL_MAX; +} + +void HAL_adc_init() { + // Configure ADC + adc1_config_width(ADC_WIDTH_12Bit); + adc1_config_channel_atten(get_channel(36), ADC_ATTEN_11db); + adc1_config_channel_atten(get_channel(39), ADC_ATTEN_11db); + + // Calculate ADC characteristics i.e. gain and offset factors + esp_adc_cal_characterize(ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, V_REF, &characteristics); +} + +void HAL_adc_start_conversion (uint8_t adc_pin) { + uint32_t mv; + esp_adc_cal_get_voltage((adc_channel_t)get_channel(adc_pin), &characteristics, &mv); + + HAL_adc_result = mv*1023.0/3300.0; +} + +int pin_to_channel[40] = {}; +int cnt_channel = 1; +void analogWrite(int pin, int value) { + if (pin_to_channel[pin] == 0) { + ledcAttachPin(pin, cnt_channel); + ledcSetup(cnt_channel, 490, 8); + ledcWrite(cnt_channel, value); + + pin_to_channel[pin] = cnt_channel++; + } + + ledcWrite(pin_to_channel[pin], value); +} +#endif // ARDUINO_ARCH_ESP32 diff --git a/Marlin/src/HAL/HAL_ESP32/HAL.h b/Marlin/src/HAL/HAL_ESP32/HAL.h new file mode 100644 index 000000000000..28e75b332e6f --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/HAL.h @@ -0,0 +1,127 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * + * 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 . + */ + +/** + * Description: HAL for Espressif ESP32 WiFi + */ + +#ifndef _HAL_ESP32_H +#define _HAL_ESP32_H + +#define CPU_32_BIT + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include + +#undef DISABLED +#undef _BV + +#include + +#undef DISABLED +#define DISABLED(b) (!_CAT(SWITCH_ENABLED_, b)) + +#include "../math_32bit.h" +#include "../HAL_SPI.h" + +#include "fastio_ESP32.h" +#include "watchdog_ESP32.h" + +#include "HAL_timers_ESP32.h" + +// -------------------------------------------------------------------------- +// Defines +// -------------------------------------------------------------------------- + +extern portMUX_TYPE spinlock; + +#define NUM_SERIAL 1 +#define MYSERIAL0 Serial + +#define CRITICAL_SECTION_START portENTER_CRITICAL(&spinlock) +#define CRITICAL_SECTION_END portEXIT_CRITICAL(&spinlock) +#define ISRS_ENABLED() (spinlock.owner == portMUX_FREE_VAL) +#define ENABLE_ISRS() if (spinlock.owner != portMUX_FREE_VAL) portEXIT_CRITICAL(&spinlock) +#define DISABLE_ISRS() portENTER_CRITICAL(&spinlock) + + +// Fix bug in pgm_read_ptr +#undef pgm_read_ptr +#define pgm_read_ptr(addr) (*(addr)) + +// -------------------------------------------------------------------------- +// Types +// -------------------------------------------------------------------------- + +typedef int16_t pin_t; + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- + +/** result of last ADC conversion */ +extern uint16_t HAL_adc_result; + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +// clear reset reason +void HAL_clear_reset_source (void); + +// reset reason +uint8_t HAL_get_reset_source (void); + +void _delay_ms(int delay); + +int freeMemory(void); + +void analogWrite(int pin, int value); + +// EEPROM +void eeprom_write_byte(unsigned char *pos, unsigned char value); +unsigned char eeprom_read_byte(unsigned char *pos); +void eeprom_read_block (void *__dst, const void *__src, size_t __n); +void eeprom_update_block (const void *__src, void *__dst, size_t __n); + +// ADC +#define HAL_ANALOG_SELECT(pin) + +void HAL_adc_init(void); + +#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) +#define HAL_READ_ADC() HAL_adc_result +#define HAL_ADC_READY() true + +void HAL_adc_start_conversion (uint8_t adc_pin); + +#define GET_PIN_MAP_PIN(index) index +#define GET_PIN_MAP_INDEX(pin) pin +#define PARSED_PIN_INDEX(code, dval) parser.intval(code, dval) + +// Enable hooks into idle and setup for HAL +#define HAL_IDLETASK 1 +#define HAL_INIT 1 +void HAL_idletask(void); +void HAL_init(void); + +#endif // _HAL_ESP32_H diff --git a/Marlin/src/HAL/HAL_ESP32/HAL_spi_ESP32.cpp b/Marlin/src/HAL/HAL_ESP32/HAL_spi_ESP32.cpp new file mode 100644 index 000000000000..e59e1f90de7e --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/HAL_spi_ESP32.cpp @@ -0,0 +1,109 @@ +/** + * 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 + * Copyright (C) 2017 Victor Perez + * + * 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 . + * + */ + +#ifdef ARDUINO_ARCH_ESP32 + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include "HAL.h" +#include "../HAL_SPI.h" +#include "pins_arduino.h" +#include "spi_pins.h" +#include "../../core/macros.h" +#include + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- + +static SPISettings spiConfig; + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Hardware SPI +// -------------------------------------------------------------------------- + +void spiBegin() { + #if !PIN_EXISTS(SS) + #error "SS_PIN not defined!" + #endif + + WRITE(SS_PIN, HIGH); + SET_OUTPUT(SS_PIN); +} + +void spiInit(uint8_t spiRate) { + uint32_t clock; + + switch (spiRate) { + case SPI_FULL_SPEED: clock = SPI_CLOCK_DIV2 ; break; + case SPI_HALF_SPEED: clock = SPI_CLOCK_DIV4 ; break; + case SPI_QUARTER_SPEED: clock = SPI_CLOCK_DIV8 ; break; + case SPI_EIGHTH_SPEED: clock = SPI_CLOCK_DIV16; break; + case SPI_SPEED_5: clock = SPI_CLOCK_DIV32; break; + case SPI_SPEED_6: clock = SPI_CLOCK_DIV64; break; + default: clock = SPI_CLOCK_DIV2; // Default from the SPI library + } + + spiConfig = SPISettings(clock, MSBFIRST, SPI_MODE0); + SPI.begin(); +} + +uint8_t spiRec(void) { + SPI.beginTransaction(spiConfig); + uint8_t returnByte = SPI.transfer(0xFF); + SPI.endTransaction(); + return returnByte; +} + +void spiRead(uint8_t* buf, uint16_t nbyte) { + SPI.beginTransaction(spiConfig); + SPI.transferBytes(0, buf, nbyte); + SPI.endTransaction(); +} + +void spiSend(uint8_t b) { + SPI.beginTransaction(spiConfig); + SPI.transfer(b); + SPI.endTransaction(); +} + +void spiSendBlock(uint8_t token, const uint8_t* buf) { + SPI.beginTransaction(spiConfig); + SPI.transfer(token); + SPI.writeBytes(const_cast(buf), 512); + SPI.endTransaction(); +} + +void spiBeginTransaction(uint32_t spiClock, uint8_t bitOrder, uint8_t dataMode) { + spiConfig = SPISettings(spiClock, bitOrder, dataMode); + + SPI.beginTransaction(spiConfig); +} + +#endif // ARDUINO_ARCH_ESP32 diff --git a/Marlin/src/HAL/HAL_ESP32/HAL_timers_ESP32.cpp b/Marlin/src/HAL/HAL_ESP32/HAL_timers_ESP32.cpp new file mode 100644 index 000000000000..f3d444af0c58 --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/HAL_timers_ESP32.cpp @@ -0,0 +1,202 @@ +/** + * 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 . + * + */ + +#ifdef ARDUINO_ARCH_ESP32 + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include +#include "esp_types.h" +#include "soc/timer_group_struct.h" +#include "driver/periph_ctrl.h" +#include "driver/timer.h" + +#include "HAL.h" + +#include "HAL_timers_ESP32.h" + +// -------------------------------------------------------------------------- +// Externals +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Local defines +// -------------------------------------------------------------------------- + +#define NUM_HARDWARE_TIMERS 4 + +// -------------------------------------------------------------------------- +// Types +// -------------------------------------------------------------------------- + + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Private Variables +// -------------------------------------------------------------------------- + +static timg_dev_t *TG[2] = {&TIMERG0, &TIMERG1}; + +const tTimerConfig TimerConfig [NUM_HARDWARE_TIMERS] = { + { TIMER_GROUP_0, TIMER_0, STEPPER_TIMER_PRESCALE, stepTC_Handler }, // 0 - Stepper + { TIMER_GROUP_0, TIMER_1, TEMP_TIMER_PRESCALE, tempTC_Handler }, // 1 - Temperature + { TIMER_GROUP_1, TIMER_0, 1, NULL }, // 2 + { TIMER_GROUP_1, TIMER_1, 1, NULL }, // 3 +}; + +// -------------------------------------------------------------------------- +// Function prototypes +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Private functions +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +void IRAM_ATTR timer_group0_isr(void *para) { + const int timer_idx = (int)para; + + // Retrieve the interrupt status and the counter value + // from the timer that reported the interrupt + uint32_t intr_status = TIMERG0.int_st_timers.val; + TIMERG0.hw_timer[timer_idx].update = 1; + + // Clear the interrupt + if (intr_status & BIT(timer_idx)) { + switch (timer_idx) { + case TIMER_0: TIMERG0.int_clr_timers.t0 = 1; break; + case TIMER_1: TIMERG0.int_clr_timers.t1 = 1; break; + } + } + + const tTimerConfig timer = TimerConfig[timer_idx]; + timer.fn(); + + // After the alarm has been triggered + // Enable it again so it gets triggered the next time + TIMERG0.hw_timer[timer_idx].config.alarm_en = TIMER_ALARM_EN; +} + +/** + * Enable and initialize the timer + * @param timer_num timer number to initialize + * @param frequency frequency of the timer + */ +void HAL_timer_start(const uint8_t timer_num, uint32_t frequency) { + const tTimerConfig timer = TimerConfig[timer_num]; + + timer_config_t config; + config.divider = STEPPER_TIMER_PRESCALE; + config.counter_dir = TIMER_COUNT_UP; + config.counter_en = TIMER_PAUSE; + config.alarm_en = TIMER_ALARM_EN; + config.intr_type = TIMER_INTR_LEVEL; + config.auto_reload = true; + + // Select and initialize the timer + timer_init(timer.group, timer.idx, &config); + + // Timer counter initial value and auto reload on alarm + timer_set_counter_value(timer.group, timer.idx, 0x00000000ULL); + + // Configure the alam value and the interrupt on alarm + timer_set_alarm_value(timer.group, timer.idx, (HAL_TIMER_RATE) / timer.divider / frequency - 1); + + timer_enable_intr(timer.group, timer.idx); + + // TODO need to deal with timer_group1_isr + timer_isr_register(timer.group, timer.idx, timer_group0_isr, (void*)timer.idx, NULL, NULL); + + timer_start(timer.group, timer.idx); +} + +/** + * Set the upper value of the timer, when the timer reaches this upper value the + * interrupt should be triggered and the counter reset + * @param timer_num timer number to set the count to + * @param count threshold at which the interrupt is triggered + */ +void HAL_timer_set_compare(const uint8_t timer_num, hal_timer_t count) { + const tTimerConfig timer = TimerConfig[timer_num]; + timer_set_alarm_value(timer.group, timer.idx, count); +} + +/** + * Get the current upper value of the timer + * @param timer_num timer number to get the count from + * @return the timer current threshold for the alarm to be triggered + */ +hal_timer_t HAL_timer_get_compare(const uint8_t timer_num) { + const tTimerConfig timer = TimerConfig[timer_num]; + + uint64_t alarm_value; + timer_get_alarm_value(timer.group, timer.idx, &alarm_value); + + return alarm_value; +} + +/** + * Get the current counter value between 0 and the maximum count (HAL_timer_set_count) + * @param timer_num timer number to get the current count + * @return the current counter of the alarm + */ +hal_timer_t HAL_timer_get_count(const uint8_t timer_num) { + const tTimerConfig timer = TimerConfig[timer_num]; + + uint64_t counter_value; + timer_get_counter_value(timer.group, timer.idx, &counter_value); + + return counter_value; +} + +/** + * Enable timer interrupt on the timer + * @param timer_num timer number to enable interrupts on + */ +void HAL_timer_enable_interrupt(const uint8_t timer_num) { + const tTimerConfig timer = TimerConfig[timer_num]; + //timer_enable_intr(timer.group, timer.idx); +} + +/** + * Disable timer interrupt on the timer + * @param timer_num timer number to disable interrupts on + */ +void HAL_timer_disable_interrupt(const uint8_t timer_num) { + const tTimerConfig timer = TimerConfig[timer_num]; + // timer_disable_intr(timer.group, timer.idx); +} + +bool HAL_timer_interrupt_enabled(const uint8_t timer_num) { + const tTimerConfig timer = TimerConfig[timer_num]; + return TG[timer.group]->int_ena.val | BIT(timer_num); +} + +#endif // ARDUINO_ARCH_ESP32 diff --git a/Marlin/src/HAL/HAL_ESP32/HAL_timers_ESP32.h b/Marlin/src/HAL/HAL_ESP32/HAL_timers_ESP32.h new file mode 100644 index 000000000000..2ddaf2dcf05c --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/HAL_timers_ESP32.h @@ -0,0 +1,114 @@ +/** + * 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 . + * + */ + +#ifndef _HAL_TIMERS_ESP32_H +#define _HAL_TIMERS_ESP32_H + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include +#include "driver/timer.h" + +// -------------------------------------------------------------------------- +// Defines +// -------------------------------------------------------------------------- +// +#define FORCE_INLINE __attribute__((always_inline)) inline + +typedef uint64_t hal_timer_t; +#define HAL_TIMER_TYPE_MAX 0xFFFFFFFFFFFFFFFFULL + +#define STEP_TIMER_NUM 0 // index of timer to use for stepper +#define TEMP_TIMER_NUM 1 // index of timer to use for temperature +#define PULSE_TIMER_NUM STEP_TIMER_NUM + +#define HAL_TIMER_RATE APB_CLK_FREQ // frequency of timer peripherals + +#define STEPPER_TIMER_PRESCALE 40 +#define STEPPER_TIMER_RATE (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) // frequency of stepper timer, 2MHz +#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs + +#define STEP_TIMER_MIN_INTERVAL 8 // minimum time in µs between stepper interrupts + +#define TEMP_TIMER_PRESCALE 1000 // prescaler for setting Temp timer, 72Khz +#define TEMP_TIMER_FREQUENCY 1000 // temperature interrupt frequency + +#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer +#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE +#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US + +#define ENABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_enable_interrupt(STEP_TIMER_NUM) +#define DISABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_disable_interrupt(STEP_TIMER_NUM) +#define STEPPER_ISR_ENABLED() HAL_timer_interrupt_enabled(STEP_TIMER_NUM) + +#define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) +#define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) + +#define HAL_TEMP_TIMER_ISR extern "C" void tempTC_Handler(void) +#define HAL_STEP_TIMER_ISR extern "C" void stepTC_Handler(void) + +extern "C" void tempTC_Handler(void); +extern "C" void stepTC_Handler(void); + + +// -------------------------------------------------------------------------- +// Types +// -------------------------------------------------------------------------- + +typedef struct { + timer_group_t group; + timer_idx_t idx; + uint32_t divider; + void (*fn)(void); +} tTimerConfig; + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- + +extern const tTimerConfig TimerConfig[]; + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +void HAL_timer_start (const uint8_t timer_num, uint32_t frequency); +void HAL_timer_set_compare(const uint8_t timer_num, const hal_timer_t count); +hal_timer_t HAL_timer_get_compare(const uint8_t timer_num); +hal_timer_t HAL_timer_get_count(const uint8_t timer_num); + +// if counter too high then bump up compare +FORCE_INLINE static void HAL_timer_restrain(const uint8_t timer_num, const uint16_t interval_ticks) { + const hal_timer_t mincmp = HAL_timer_get_count(timer_num) + interval_ticks; + if (HAL_timer_get_compare(timer_num) < mincmp) HAL_timer_set_compare(timer_num, mincmp); +} + +void HAL_timer_enable_interrupt(const uint8_t timer_num); +void HAL_timer_disable_interrupt(const uint8_t timer_num); +bool HAL_timer_interrupt_enabled(const uint8_t timer_num); + +#define HAL_timer_isr_prologue(TIMER_NUM) +#define HAL_timer_isr_epilogue(TIMER_NUM) + +#endif // _HAL_TIMERS_ESP32_H diff --git a/Marlin/src/HAL/HAL_ESP32/SanityCheck.h b/Marlin/src/HAL/HAL_ESP32/SanityCheck.h new file mode 100644 index 000000000000..a96f665151e7 --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/SanityCheck.h @@ -0,0 +1,25 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016, 2017 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 . + * + */ + +#if ENABLED(EMERGENCY_PARSER) + #error "EMERGENCY_PARSER is not yet implemented for ESP32. Disable EMERGENCY_PARSER to continue." +#endif diff --git a/Marlin/src/HAL/HAL_ESP32/endstop_interrupts.h b/Marlin/src/HAL/HAL_ESP32/endstop_interrupts.h new file mode 100644 index 000000000000..b064f16bf53e --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/endstop_interrupts.h @@ -0,0 +1,75 @@ +/** + * 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 . + * + */ + +/** + * Endstop Interrupts + * + * Without endstop interrupts the endstop pins must be polled continually in + * the stepper-ISR via endstops.update(), most of the time finding no change. + * With this feature endstops.update() is called only when we know that at + * least one endstop has changed state, saving valuable CPU cycles. + * + * This feature only works when all used endstop pins can generate an 'external interrupt'. + * + * Test whether pins issue interrupts on your board by flashing 'pin_interrupt_test.ino'. + * (Located in Marlin/buildroot/share/pin_interrupt_test/pin_interrupt_test.ino) + */ + +#ifndef _ENDSTOP_INTERRUPTS_H_ +#define _ENDSTOP_INTERRUPTS_H_ + +#include "../../module/endstops.h" + +// One ISR for all EXT-Interrupts +void ICACHE_RAM_ATTR endstop_ISR(void) { endstops.update(); } + +void setup_endstop_interrupts(void) { + #if HAS_X_MAX + attachInterrupt(digitalPinToInterrupt(X_MAX_PIN), endstop_ISR, CHANGE); + #endif + #if HAS_X_MIN + attachInterrupt(digitalPinToInterrupt(X_MIN_PIN), endstop_ISR, CHANGE); + #endif + #if HAS_Y_MAX + attachInterrupt(digitalPinToInterrupt(Y_MAX_PIN), endstop_ISR, CHANGE); + #endif + #if HAS_Y_MIN + attachInterrupt(digitalPinToInterrupt(Y_MIN_PIN), endstop_ISR, CHANGE); + #endif + #if HAS_Z_MAX + attachInterrupt(digitalPinToInterrupt(Z_MAX_PIN), endstop_ISR, CHANGE); + #endif + #if HAS_Z_MIN + attachInterrupt(digitalPinToInterrupt(Z_MIN_PIN), endstop_ISR, CHANGE); + #endif + #if HAS_Z2_MAX + attachInterrupt(digitalPinToInterrupt(Z2_MAX_PIN), endstop_ISR, CHANGE); + #endif + #if HAS_Z2_MIN + attachInterrupt(digitalPinToInterrupt(Z2_MIN_PIN), endstop_ISR, CHANGE); + #endif + #if HAS_Z_MIN_PROBE_PIN + attachInterrupt(digitalPinToInterrupt(Z_MIN_PROBE_PIN), endstop_ISR, CHANGE); + #endif +} + +#endif //_ENDSTOP_INTERRUPTS_H_ diff --git a/Marlin/src/HAL/HAL_ESP32/fastio_ESP32.h b/Marlin/src/HAL/HAL_ESP32/fastio_ESP32.h new file mode 100644 index 000000000000..5f609c4f0c6d --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/fastio_ESP32.h @@ -0,0 +1,72 @@ +/** + * 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 . + * + */ + +#ifndef _FASTIO_ESP32_H +#define _FASTIO_ESP32_H + +/** + * Utility functions + */ + +// set pin as input +#define _SET_INPUT(IO) pinMode(IO, INPUT) + +// set pin as output +#define _SET_OUTPUT(IO) pinMode(IO, OUTPUT) + +// set pin as input with pullup mode +#define _PULLUP(IO, v) pinMode(IO, v ? INPUT_PULLUP : INPUT) + +// Read a pin wrapper +#define READ(IO) digitalRead(IO) + +// Write to a pin wrapper +#define WRITE(IO, v) digitalWrite(IO, v) + +// set pin as input wrapper +#define SET_INPUT(IO) _SET_INPUT(IO) + +// set pin as input with pullup wrapper +#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _PULLUP(IO, HIGH); }while(0) + +// set pin as output wrapper +#define SET_OUTPUT(IO) do{ _SET_OUTPUT(IO); WRITE(IO, LOW); }while(0) + +#define OUT_WRITE(IO,V) do{ _SET_OUTPUT(IO); WRITE(IO,V); }while(0) + +// +// ports and functions +// + +// UART +#define RXD 3 +#define TXD 1 + +// TWI (I2C) +#define SCL 5 +#define SDA 4 + +// +// pins +// + +#endif // _FASTIO_ESP32_H diff --git a/Marlin/src/HAL/HAL_ESP32/ota.cpp b/Marlin/src/HAL/HAL_ESP32/ota.cpp new file mode 100644 index 000000000000..b7fd1bb5c472 --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/ota.cpp @@ -0,0 +1,81 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * + * 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 . + */ + +#ifdef ARDUINO_ARCH_ESP32 + +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(WIFISUPPORT) + +#include +#include +#include +#include +#include "driver/timer.h" + +void OTA_init() { + WiFi.mode(WIFI_STA); + WiFi.begin(WIFI_SSID, WIFI_PWD); + + while (WiFi.waitForConnectResult() != WL_CONNECTED) { + Serial.println("Connection Failed! Rebooting..."); + delay(5000); + ESP.restart(); + } + + ArduinoOTA + .onStart([]() { + timer_pause(TIMER_GROUP_0, TIMER_0); + timer_pause(TIMER_GROUP_0, TIMER_1); + + // U_FLASH or U_SPIFFS + String type = (ArduinoOTA.getCommand() == U_FLASH) ? "sketch" : "filesystem"; + + // NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end() + Serial.println("Start updating " + type); + }) + .onEnd([]() { + Serial.println("\nEnd"); + }) + .onProgress([](unsigned int progress, unsigned int total) { + Serial.printf("Progress: %u%%\r", (progress / (total / 100))); + }) + .onError([](ota_error_t error) { + Serial.printf("Error[%u]: ", error); + char *str; + switch (error) { + case OTA_AUTH_ERROR: str = "Auth Failed"; break; + case OTA_BEGIN_ERROR: str = "Begin Failed"; break; + case OTA_CONNECT_ERROR: str = "Connect Failed"; break; + case OTA_RECEIVE_ERROR: str = "Receive Failed"; break; + case OTA_END_ERROR: str = "End Failed"; break; + } + Serial.println(str); + }); + + ArduinoOTA.begin(); +} + +void OTA_handle() { + ArduinoOTA.handle(); +} + +#endif // WIFISUPPORT + +#endif // ARDUINO_ARCH_ESP32 diff --git a/Marlin/src/HAL/HAL_ESP32/ota.h b/Marlin/src/HAL/HAL_ESP32/ota.h new file mode 100644 index 000000000000..4af2a74cabed --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/ota.h @@ -0,0 +1,26 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * + * 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 . + */ + +#ifndef _HAL_OTA_H +#define _HAL_OTA_H + +void OTA_init(); +void OTA_handle(); + +#endif diff --git a/Marlin/src/HAL/HAL_ESP32/servotimers.h b/Marlin/src/HAL/HAL_ESP32/servotimers.h new file mode 100644 index 000000000000..98b0b3c54eb7 --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/servotimers.h @@ -0,0 +1,21 @@ +/** + * 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 . + * + */ diff --git a/Marlin/src/HAL/HAL_ESP32/spi_pins.h b/Marlin/src/HAL/HAL_ESP32/spi_pins.h new file mode 100644 index 000000000000..ecd58b9100d6 --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/spi_pins.h @@ -0,0 +1,28 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * 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 . + * + */ + +#ifndef SPI_PINS_H_ +#define SPI_PINS_H_ + +#define SS_PIN 5 +#define SCK_PIN 18 +#define MISO_PIN 19 +#define MOSI_PIN 23 + +#endif // SPI_PINS_H_ diff --git a/Marlin/src/HAL/HAL_spi_pins.h b/Marlin/src/HAL/HAL_ESP32/watchdog_ESP32.cpp similarity index 63% rename from Marlin/src/HAL/HAL_spi_pins.h rename to Marlin/src/HAL/HAL_ESP32/watchdog_ESP32.cpp index 495d039872f7..07e00e95b472 100644 --- a/Marlin/src/HAL/HAL_spi_pins.h +++ b/Marlin/src/HAL/HAL_ESP32/watchdog_ESP32.cpp @@ -20,29 +20,22 @@ * */ -#ifndef HAL_SPI_PINS_H_ -#define HAL_SPI_PINS_H_ +#ifdef ARDUINO_ARCH_ESP32 -#ifdef ARDUINO_ARCH_SAM - #include "HAL_DUE/spi_pins.h" +#include "../../inc/MarlinConfig.h" -#elif defined(IS_32BIT_TEENSY) - #include "HAL_TEENSY35_36/spi_pins.h" +#if ENABLED(USE_WATCHDOG) -#elif defined(__AVR__) - #include "HAL_AVR/spi_pins.h" +#include "watchdog_ESP32.h" -#elif defined(TARGET_LPC1768) - #include "HAL_LPC1768/spi_pins.h" +void watchdogSetup(void) { + // do whatever. don't remove this function. +} -#elif defined(__STM32F1__) - #include "HAL_STM32F1/spi_pins.h" +void watchdog_init(void) { + // TODO +} -#elif defined(STM32F7) - #include "HAL_STM32F7/spi_pins.h" +#endif // USE_WATCHDOG -#else - #error "Unsupported Platform!" -#endif - -#endif // HAL_SPI_PINS_H_ +#endif // ARDUINO_ARCH_ESP32 diff --git a/Marlin/src/HAL/HAL_ESP32/watchdog_ESP32.h b/Marlin/src/HAL/HAL_ESP32/watchdog_ESP32.h new file mode 100644 index 000000000000..39f028727564 --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/watchdog_ESP32.h @@ -0,0 +1,32 @@ +/** + * 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 . + * + */ + +#ifndef WATCHDOG_ESP32_H +#define WATCHDOG_ESP32_H + +// Initialize watchdog with a 4 second interrupt time +void watchdog_init(); + +// Reset watchdog. +inline void watchdog_reset() {}; + +#endif // WATCHDOG_ESP32_H diff --git a/Marlin/src/HAL/HAL_LPC1768/HAL.cpp b/Marlin/src/HAL/HAL_LPC1768/HAL.cpp index 64b90ab1d5d7..b579aa620a35 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HAL.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/HAL.cpp @@ -21,12 +21,13 @@ #ifdef TARGET_LPC1768 #include "../../inc/MarlinConfig.h" +#include "../Delay.h" HalSerial usb_serial; // U8glib required functions extern "C" void u8g_xMicroDelay(uint16_t val) { - delayMicroseconds(val); + DELAY_US(val); } extern "C" void u8g_MicroDelay(void) { u8g_xMicroDelay(1); @@ -247,7 +248,7 @@ uint16_t HAL_adc_get_result(void) { data = lowpass_filter[adc_channel].update(data); #endif - return ((data >> 2) & 0x3ff); // return 10bit value as Marlin expects + return ((data >> 2) & 0x3FF); // return 10bit value as Marlin expects } #define SBIT_CNTEN 0 diff --git a/Marlin/src/HAL/HAL_LPC1768/HAL.h b/Marlin/src/HAL/HAL_LPC1768/HAL.h index 40f3a8e905b8..b26581d44356 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HAL.h +++ b/Marlin/src/HAL/HAL_LPC1768/HAL.h @@ -28,6 +28,8 @@ #ifndef _HAL_LPC1768_H_ #define _HAL_LPC1768_H_ +#define CPU_32_BIT + // -------------------------------------------------------------------------- // Includes // -------------------------------------------------------------------------- @@ -58,15 +60,23 @@ extern "C" volatile uint32_t _millis; #include #include +#include "../math_32bit.h" +#include "../HAL_SPI.h" #include "fastio.h" #include "watchdog.h" #include "serial.h" #include "HAL_timers.h" #include "HardwareSerial.h" -#define ST7920_DELAY_1 DELAY_20_NOP;DELAY_20_NOP;DELAY_20_NOP -#define ST7920_DELAY_2 DELAY_20_NOP;DELAY_20_NOP;DELAY_20_NOP;DELAY_10_NOP;DELAY_5_NOP -#define ST7920_DELAY_3 DELAY_20_NOP;DELAY_20_NOP;DELAY_20_NOP;DELAY_10_NOP;DELAY_5_NOP +#ifndef ST7920_DELAY_1 + #define ST7920_DELAY_1 DELAY_NS(600) +#endif +#ifndef ST7920_DELAY_2 + #define ST7920_DELAY_2 DELAY_NS(750) +#endif +#ifndef ST7920_DELAY_3 + #define ST7920_DELAY_3 DELAY_NS(750) +#endif extern HalSerial usb_serial; @@ -116,8 +126,11 @@ extern HalSerial usb_serial; #define NUM_SERIAL 1 #endif -#define CRITICAL_SECTION_START uint32_t primask = __get_PRIMASK(); __disable_irq(); -#define CRITICAL_SECTION_END if (!primask) __enable_irq(); +#define CRITICAL_SECTION_START uint32_t primask = __get_PRIMASK(); __disable_irq() +#define CRITICAL_SECTION_END if (!primask) __enable_irq() +#define ISRS_ENABLED() (!__get_PRIMASK()) +#define ENABLE_ISRS() __enable_irq() +#define DISABLE_ISRS() __disable_irq() //Utility functions int freeMemory(void); @@ -133,11 +146,13 @@ uint8_t spiRec(uint32_t chan); // ADC #define HAL_ANALOG_SELECT(pin) HAL_adc_enable_channel(pin) #define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) -#define HAL_READ_ADC HAL_adc_get_result() +#define HAL_READ_ADC() HAL_adc_get_result() +#define HAL_ADC_READY() HAL_adc_finished() void HAL_adc_init(void); void HAL_adc_enable_channel(int pin); void HAL_adc_start_conversion(const uint8_t adc_pin); uint16_t HAL_adc_get_result(void); +bool HAL_adc_finished(void); #endif // _HAL_LPC1768_H_ diff --git a/Marlin/src/HAL/HAL_LPC1768/HAL_spi.cpp b/Marlin/src/HAL/HAL_LPC1768/HAL_spi.cpp index 607c027e3932..c8fe029d39bc 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HAL_spi.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/HAL_spi.cpp @@ -83,14 +83,14 @@ } uint8_t spiRec() { - uint8_t b = spiTransfer(0xff); + uint8_t b = spiTransfer(0xFF); return b; } void spiRead(uint8_t*buf, uint16_t nbyte) { if (nbyte == 0) return; for (int i = 0; i < nbyte; i++) { - buf[i] = spiTransfer(0xff); + buf[i] = spiTransfer(0xFF); } } @@ -150,7 +150,7 @@ } void spiInit(uint8_t spiRate) { - + SSP_Cmd(LPC_SSP0, DISABLE); // Disable SSP0 before changing rate // table to convert Marlin spiRates (0-5 plus default) into bit rates uint32_t Marlin_speed[7]; // CPSR is always 2 Marlin_speed[0] = 8333333; //(SCR: 2) desired: 8,000,000 actual: 8,333,333 +4.2% SPI_FULL_SPEED @@ -242,6 +242,21 @@ void SPIClass::begin() { spiBegin(); } +void SPIClass::beginTransaction(SPISettings cfg) { + uint8_t spiRate; + switch(cfg.spiRate()) { + case 8000000: spiRate=0 ;break; + case 4000000: spiRate=1 ;break; + case 2000000: spiRate=2 ;break; + case 1000000: spiRate=3 ;break; + case 500000: spiRate=4 ;break; + case 250000: spiRate=5 ;break; + case 125000: spiRate=6 ;break; + default: spiRate=2; break; + } + spiInit(spiRate); +} + uint8_t SPIClass::transfer(uint8_t B) { return spiTransfer(B); } diff --git a/Marlin/src/HAL/HAL_LPC1768/HAL_timers.cpp b/Marlin/src/HAL/HAL_LPC1768/HAL_timers.cpp index 3f7507aa5ba6..3714fe1a3998 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HAL_timers.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/HAL_timers.cpp @@ -23,7 +23,7 @@ /** * Description: * - * For TARGET_LPC1768 + * Timers for LPC1768 */ #ifdef TARGET_LPC1768 @@ -32,63 +32,35 @@ #include "HAL_timers.h" void HAL_timer_init(void) { - SBI(LPC_SC->PCONP, 1); // power on timer0 - LPC_TIM0->PR = (HAL_TIMER_RATE) / (HAL_STEPPER_TIMER_RATE) - 1; // Use prescaler to set frequency if needed + SBI(LPC_SC->PCONP, SBIT_TIMER0); // Power ON Timer 0 + LPC_TIM0->PR = (HAL_TIMER_RATE) / (STEPPER_TIMER_RATE) - 1; // Use prescaler to set frequency if needed - SBI(LPC_SC->PCONP, 2); // power on timer1 + SBI(LPC_SC->PCONP, SBIT_TIMER1); // Power ON Timer 1 LPC_TIM1->PR = (HAL_TIMER_RATE) / 1000000 - 1; } void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { switch (timer_num) { case 0: - LPC_TIM0->MCR = 3; // Match on MR0, reset on MR0 - LPC_TIM0->MR0 = uint32_t(HAL_STEPPER_TIMER_RATE) / frequency; // Match value (period) to set frequency - LPC_TIM0->TCR = _BV(0); // enable - break; - case 1: - LPC_TIM1->MCR = 3; - LPC_TIM1->MR0 = uint32_t(HAL_TEMP_TIMER_RATE) / frequency; - LPC_TIM1->TCR = _BV(0); - break; - default: break; - } -} + LPC_TIM0->MCR = _BV(SBIT_MR0I) | _BV(SBIT_MR0R); // Match on MR0, reset on MR0, interrupts when NVIC enables them + LPC_TIM0->MR0 = uint32_t(STEPPER_TIMER_RATE) / frequency; // Match value (period) to set frequency + LPC_TIM0->TCR = _BV(SBIT_CNTEN); // Counter Enable -void HAL_timer_enable_interrupt(const uint8_t timer_num) { - switch (timer_num) { - case 0: - NVIC_EnableIRQ(TIMER0_IRQn); // Enable interrupt handler NVIC_SetPriority(TIMER0_IRQn, NVIC_EncodePriority(0, 1, 0)); + NVIC_EnableIRQ(TIMER0_IRQn); break; + case 1: - NVIC_EnableIRQ(TIMER1_IRQn); + LPC_TIM1->MCR = _BV(SBIT_MR0I) | _BV(SBIT_MR0R); // Match on MR0, reset on MR0, interrupts when NVIC enables them + LPC_TIM1->MR0 = uint32_t(TEMP_TIMER_RATE) / frequency; + LPC_TIM1->TCR = _BV(SBIT_CNTEN); // Counter Enable + NVIC_SetPriority(TIMER1_IRQn, NVIC_EncodePriority(0, 2, 0)); + NVIC_EnableIRQ(TIMER1_IRQn); break; - } -} - -void HAL_timer_disable_interrupt(const uint8_t timer_num) { - switch (timer_num) { - case 0: NVIC_DisableIRQ(TIMER0_IRQn); break; // disable interrupt handler - case 1: NVIC_DisableIRQ(TIMER1_IRQn); break; - } -} - -bool HAL_timer_interrupt_enabled(const uint8_t timer_num) { - switch (timer_num) { - case 0: return NVIC_GetActive(TIMER0_IRQn); - case 1: return NVIC_GetActive(TIMER1_IRQn); - } - return false; -} -void HAL_timer_isr_prologue(const uint8_t timer_num) { - switch (timer_num) { - case 0: SBI(LPC_TIM0->IR, 0); break; // Clear the Interrupt - case 1: SBI(LPC_TIM1->IR, 0); break; + default: break; } } - #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/HAL_timers.h b/Marlin/src/HAL/HAL_LPC1768/HAL_timers.h index cfbf593f517b..2113335385b9 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HAL_timers.h +++ b/Marlin/src/HAL/HAL_LPC1768/HAL_timers.h @@ -34,29 +34,55 @@ #include +#include "../../core/macros.h" + +#define SBIT_TIMER0 1 +#define SBIT_TIMER1 2 + +#define SBIT_CNTEN 0 + +#define SBIT_MR0I 0 // Timer 0 Interrupt when TC matches MR0 +#define SBIT_MR0R 1 // Timer 0 Reset TC on Match +#define SBIT_MR0S 2 // Timer 0 Stop TC and PC on Match +#define SBIT_MR1I 3 +#define SBIT_MR1R 4 +#define SBIT_MR1S 5 +#define SBIT_MR2I 6 +#define SBIT_MR2R 7 +#define SBIT_MR2S 8 +#define SBIT_MR3I 9 +#define SBIT_MR3R 10 +#define SBIT_MR3S 11 + // -------------------------------------------------------------------------- // Defines // -------------------------------------------------------------------------- -#define FORCE_INLINE __attribute__((always_inline)) inline +#define _HAL_TIMER(T) _CAT(LPC_TIM, T) +#define _HAL_TIMER_IRQ(T) TIMER##T##_IRQn +#define __HAL_TIMER_ISR(T) extern "C" void TIMER##T##_IRQHandler(void) +#define _HAL_TIMER_ISR(T) __HAL_TIMER_ISR(T) typedef uint32_t hal_timer_t; #define HAL_TIMER_TYPE_MAX 0xFFFFFFFF -#define STEP_TIMER_NUM 0 // index of timer to use for stepper -#define TEMP_TIMER_NUM 1 // index of timer to use for temperature - #define HAL_TIMER_RATE ((SystemCoreClock) / 4) // frequency of timers peripherals -#define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / HAL_TICKS_PER_US) -#define HAL_STEPPER_TIMER_RATE HAL_TIMER_RATE // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) -#define HAL_TICKS_PER_US ((HAL_STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs -#define HAL_TEMP_TIMER_RATE 1000000 + +#define STEP_TIMER_NUM 0 // Timer Index for Stepper +#define TEMP_TIMER_NUM 1 // Timer Index for Temperature +#define PULSE_TIMER_NUM STEP_TIMER_NUM +#define PWM_TIMER_NUM 3 // Timer Index for PWM + +#define TEMP_TIMER_RATE 1000000 #define TEMP_TIMER_FREQUENCY 1000 // temperature interrupt frequency -#define STEP_TIMER_MIN_INTERVAL 8 // minimum time in µs between stepper interrupts +#define STEPPER_TIMER_RATE HAL_TIMER_RATE // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) +#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs +#define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / STEPPER_TIMER_TICKS_PER_US) -#define PULSE_TIMER_NUM STEP_TIMER_NUM -#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE +#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer +#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE +#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US #define ENABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_enable_interrupt(STEP_TIMER_NUM) #define DISABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_disable_interrupt(STEP_TIMER_NUM) @@ -65,23 +91,12 @@ typedef uint32_t hal_timer_t; #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_ENABLE_ISRs() do { if (thermalManager.in_temp_isr) DISABLE_TEMPERATURE_INTERRUPT(); else ENABLE_TEMPERATURE_INTERRUPT(); ENABLE_STEPPER_DRIVER_INTERRUPT(); } while(0) - -#define HAL_STEP_TIMER_ISR extern "C" void TIMER0_IRQHandler(void) -#define HAL_TEMP_TIMER_ISR extern "C" void TIMER1_IRQHandler(void) - -// PWM timer -#define HAL_PWM_TIMER LPC_TIM3 -#define HAL_PWM_TIMER_ISR extern "C" void TIMER3_IRQHandler(void) -#define HAL_PWM_TIMER_IRQn TIMER3_IRQn +#define HAL_STEP_TIMER_ISR _HAL_TIMER_ISR(STEP_TIMER_NUM) +#define HAL_TEMP_TIMER_ISR _HAL_TIMER_ISR(TEMP_TIMER_NUM) -// -------------------------------------------------------------------------- -// Types -// -------------------------------------------------------------------------- - -// -------------------------------------------------------------------------- -// Public Variables -// -------------------------------------------------------------------------- +// Timer references by index +#define STEP_TIMER _HAL_TIMER(STEP_TIMER_NUM) +#define TEMP_TIMER _HAL_TIMER(TEMP_TIMER_NUM) // -------------------------------------------------------------------------- // Public functions @@ -91,31 +106,23 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency); FORCE_INLINE static void HAL_timer_set_compare(const uint8_t timer_num, const hal_timer_t compare) { switch (timer_num) { - case 0: - LPC_TIM0->MR0 = compare; - if (LPC_TIM0->TC > compare) - LPC_TIM0->TC = compare - 5; // generate an immediate stepper ISR - break; - case 1: - LPC_TIM1->MR0 = compare; - if (LPC_TIM1->TC > compare) - LPC_TIM1->TC = compare - 5; // make sure we don't have one extra long period - break; + case 0: STEP_TIMER->MR0 = compare; break; // Stepper Timer Match Register 0 + case 1: TEMP_TIMER->MR0 = compare; break; // Temp Timer Match Register 0 } } FORCE_INLINE static hal_timer_t HAL_timer_get_compare(const uint8_t timer_num) { switch (timer_num) { - case 0: return LPC_TIM0->MR0; - case 1: return LPC_TIM1->MR0; + case 0: return STEP_TIMER->MR0; // Stepper Timer Match Register 0 + case 1: return TEMP_TIMER->MR0; // Temp Timer Match Register 0 } return 0; } FORCE_INLINE static hal_timer_t HAL_timer_get_count(const uint8_t timer_num) { switch (timer_num) { - case 0: return LPC_TIM0->TC; - case 1: return LPC_TIM1->TC; + case 0: return STEP_TIMER->TC; // Stepper Timer Count + case 1: return TEMP_TIMER->TC; // Temp Timer Count } return 0; } @@ -125,9 +132,45 @@ FORCE_INLINE static void HAL_timer_restrain(const uint8_t timer_num, const uint1 if (HAL_timer_get_compare(timer_num) < mincmp) HAL_timer_set_compare(timer_num, mincmp); } -void HAL_timer_enable_interrupt(const uint8_t timer_num); -void HAL_timer_disable_interrupt(const uint8_t timer_num); -bool HAL_timer_interrupt_enabled(const uint8_t timer_num); -void HAL_timer_isr_prologue(const uint8_t timer_num); +FORCE_INLINE static void HAL_timer_enable_interrupt(const uint8_t timer_num) { + switch (timer_num) { + case 0: NVIC_EnableIRQ(TIMER0_IRQn); // Enable interrupt handler + case 1: NVIC_EnableIRQ(TIMER1_IRQn); // Enable interrupt handler + } +} + +FORCE_INLINE static void HAL_timer_disable_interrupt(const uint8_t timer_num) { + switch (timer_num) { + case 0: NVIC_DisableIRQ(TIMER0_IRQn); // Disable interrupt handler + case 1: NVIC_DisableIRQ(TIMER1_IRQn); // Disable interrupt handler + } + + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); +} + +// This function is missing from CMSIS +FORCE_INLINE static bool NVIC_GetEnableIRQ(IRQn_Type IRQn) { + return (NVIC->ISER[((uint32_t)IRQn) >> 5] & (1 << ((uint32_t)IRQn) & 0x1F)) != 0; +} + +FORCE_INLINE static bool HAL_timer_interrupt_enabled(const uint8_t timer_num) { + switch (timer_num) { + case 0: return NVIC_GetEnableIRQ(TIMER0_IRQn); // Check if interrupt is enabled or not + case 1: return NVIC_GetEnableIRQ(TIMER1_IRQn); // Check if interrupt is enabled or not + } + return false; +} + +FORCE_INLINE static void HAL_timer_isr_prologue(const uint8_t timer_num) { + switch (timer_num) { + case 0: SBI(STEP_TIMER->IR, SBIT_CNTEN); break; + case 1: SBI(TEMP_TIMER->IR, SBIT_CNTEN); break; + } +} + +#define HAL_timer_isr_epilogue(TIMER_NUM) -#endif // _HAL_TIMERS_DUE_H +#endif // _HAL_TIMERS_H diff --git a/Marlin/src/HAL/HAL_LPC1768/HardwareSerial.h b/Marlin/src/HAL/HAL_LPC1768/HardwareSerial.h deleted file mode 100644 index 7796257240e7..000000000000 --- a/Marlin/src/HAL/HAL_LPC1768/HardwareSerial.h +++ /dev/null @@ -1,182 +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 . - * - */ - -#ifndef HARDWARE_SERIAL_H_ -#define HARDWARE_SERIAL_H_ - -#include -#include -#include - -extern "C" { - #include - #include "lpc17xx_pinsel.h" -} - -class HardwareSerial : public Stream { -private: - LPC_UART_TypeDef *UARTx; - - uint32_t Baudrate; - uint32_t Status; - uint8_t RxBuffer[RX_BUFFER_SIZE]; - uint32_t RxQueueWritePos; - uint32_t RxQueueReadPos; - #if TX_BUFFER_SIZE > 0 - uint8_t TxBuffer[TX_BUFFER_SIZE]; - uint32_t TxQueueWritePos; - uint32_t TxQueueReadPos; - #endif - -public: - HardwareSerial(LPC_UART_TypeDef *UARTx) - : UARTx(UARTx) - , Baudrate(0) - , RxQueueWritePos(0) - , RxQueueReadPos(0) - #if TX_BUFFER_SIZE > 0 - , TxQueueWritePos(0) - , TxQueueReadPos(0) - #endif - { - } - - void begin(uint32_t baudrate); - int peek(); - int read(); - size_t write(uint8_t send); - #if TX_BUFFER_SIZE > 0 - void flushTX(); - #endif - int available(); - void flush(); - void printf(const char *format, ...); - - operator bool() { return true; } - - void IRQHandler(); - - #define DEC 10 - #define HEX 16 - #define OCT 8 - #define BIN 2 - - void print_bin(uint32_t value, uint8_t num_digits) { - uint32_t mask = 1 << (num_digits -1); - for (uint8_t i = 0; i < num_digits; i++) { - if (!(i % 4) && i) printf(" "); - if (!(i % 16) && i) printf(" "); - if (value & mask) printf("1"); - else printf("0"); - value <<= 1; - } - } - - void print(const char value[]) { - printf("%s" , value); - } - void print(char value, int nbase = 0) { - if (nbase == BIN) print_bin(value,8); - else if (nbase == OCT) printf("%3o", value); - else if (nbase == HEX) printf("%2X", value); - else if (nbase == DEC ) printf("%d", value); - else printf("%c" , value); - } - void print(unsigned char value, int nbase = 0) { - if (nbase == BIN) print_bin(value,8); - else if (nbase == OCT) printf("%3o", value); - else if (nbase == HEX) printf("%2X", value); - else printf("%u" , value); - } - void print(int value, int nbase = 0) { - if (nbase == BIN) print_bin(value,16); - else if (nbase == OCT) printf("%6o", value); - else if (nbase == HEX) printf("%4X", value); - else printf("%d", value); - } - void print(unsigned int value, int nbase = 0) { - if (nbase == BIN) print_bin(value,16); - else if (nbase == OCT) printf("%6o", value); - else if (nbase == HEX) printf("%4X", value); - else printf("%u" , value); - } - void print(long value, int nbase = 0) { - if (nbase == BIN) print_bin(value,32); - else if (nbase == OCT) printf("%11o", value); - else if (nbase == HEX) printf("%8X", value); - else printf("%ld" , value); - } - void print(unsigned long value, int nbase = 0) { - if (nbase == BIN) print_bin(value,32); - else if (nbase == OCT) printf("%11o", value); - else if (nbase == HEX) printf("%8X", value); - else printf("%lu" , value); - } - void print(float value, int round = 6) { - printf("%f" , value); - } - void print(double value, int round = 6) { - printf("%f" , value ); - } - - - - void println(const char value[]) { - printf("%s\n" , value); - } - void println(char value, int nbase = 0) { - print(value, nbase); - println(); - } - void println(unsigned char value, int nbase = 0) { - print(value, nbase); - println(); - } - void println(int value, int nbase = 0) { - print(value, nbase); - println(); - } - void println(unsigned int value, int nbase = 0) { - print(value, nbase); - println(); - } - void println(long value, int nbase = 0) { - print(value, nbase); - println(); - } - void println(unsigned long value, int nbase = 0) { - print(value, nbase); - println(); - } - void println(float value, int round = 6) { - printf("%f\n" , value ); - } - void println(double value, int round = 6) { - printf("%f\n" , value ); - } - void println(void) { - print('\n'); - } - -}; - -#endif // MARLIN_SRC_HAL_HAL_SERIAL_H_ diff --git a/Marlin/src/HAL/HAL_LPC1768/LPC1768_PWM.cpp b/Marlin/src/HAL/HAL_LPC1768/LPC1768_PWM.cpp index 3b08bfb78e98..b27d8e1f3105 100644 --- a/Marlin/src/HAL/HAL_LPC1768/LPC1768_PWM.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/LPC1768_PWM.cpp @@ -78,12 +78,14 @@ #define NUM_ISR_PWMS 20 +#define HAL_PWM_TIMER LPC_TIM3 +#define HAL_PWM_TIMER_ISR extern "C" void TIMER3_IRQHandler(void) +#define HAL_PWM_TIMER_IRQn TIMER3_IRQn #define LPC_PORT_OFFSET (0x0020) #define LPC_PIN(pin) (1UL << pin) #define LPC_GPIO(port) ((volatile LPC_GPIO_TypeDef *)(LPC_GPIO0_BASE + LPC_PORT_OFFSET * port)) - typedef struct { // holds all data needed to control/init one of the PWM channels bool active_flag; // THIS TABLE ENTRY IS ACTIVELY TOGGLING A PIN pin_t pin; @@ -213,7 +215,7 @@ void LPC1768_PWM_sort(void) { } } -bool LPC1768_PWM_attach_pin(pin_t pin, uint32_t min /* = 1 */, uint32_t max /* = (LPC_PWM1_MR0 - 1) */, uint8_t servo_index /* = 0xff */) { +bool LPC1768_PWM_attach_pin(pin_t pin, uint32_t min /* = 1 */, uint32_t max /* = (LPC_PWM1_MR0 - 1) */, uint8_t servo_index /* = 0xFF */) { pin = GET_PIN_MAP_PIN(GET_PIN_MAP_INDEX(pin & 0xFF)); // Sometimes the upper byte is garbled @@ -256,6 +258,11 @@ bool LPC1768_PWM_attach_pin(pin_t pin, uint32_t min /* = 1 */, uint32_t max /* = // OK to update the active table because the // ISR doesn't use any of the changed items + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); + if (ISR_table_update) //use work table if that's the newest temp_table = work_table; else @@ -340,6 +347,11 @@ bool LPC1768_PWM_detach_pin(pin_t pin) { //// interrupt controlled PWM code NVIC_DisableIRQ(HAL_PWM_TIMER_IRQn); + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); + if (ISR_table_update) { ISR_table_update = false; // don't update yet - have another update to do NVIC_EnableIRQ(HAL_PWM_TIMER_IRQn); // re-enable PWM interrupts @@ -426,6 +438,12 @@ bool LPC1768_PWM_write(pin_t pin, uint32_t value) { //// interrupt controlled PWM code NVIC_DisableIRQ(HAL_PWM_TIMER_IRQn); + + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); + if (!ISR_table_update) // use the most up to date table COPY_ACTIVE_TABLE; // copy active table into work table @@ -454,6 +472,11 @@ bool useable_hardware_PWM(pin_t pin) { NVIC_DisableIRQ(HAL_PWM_TIMER_IRQn); + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); + bool return_flag = false; for (uint8_t i = 0; i < NUM_ISR_PWMS; i++) // see if it's already setup if (active_table[i].pin == pin) return_flag = true; diff --git a/Marlin/src/HAL/HAL_LPC1768/LPC1768_Servo.cpp b/Marlin/src/HAL/HAL_LPC1768/LPC1768_Servo.cpp index 317433191c0a..4997c5e4bca9 100644 --- a/Marlin/src/HAL/HAL_LPC1768/LPC1768_Servo.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/LPC1768_Servo.cpp @@ -42,8 +42,8 @@ * * write() - Set the servo angle in degrees. (Invalid angles —over MIN_PULSE_WIDTH— are treated as µs.) * writeMicroseconds() - Set the servo pulse width in microseconds. - * move(pin, angle) - Sequence of attach(pin), write(angle), delay(SERVO_DELAY). - * With DEACTIVATE_SERVOS_AFTER_MOVE it detaches after SERVO_DELAY. + * move(pin, angle) - Sequence of attach(pin), write(angle), safe_delay(servo_delay[servoIndex]). + * With DEACTIVATE_SERVOS_AFTER_MOVE it detaches after servo_delay[servoIndex]. * read() - Get the last-written servo pulse width as an angle between 0 and 180. * readMicroseconds() - Get the last-written servo pulse width in microseconds. * attached() - Return true if a servo is attached. @@ -60,9 +60,11 @@ * unless DEACTIVATE_SERVOS_AFTER_MOVE is enabled and a MOVE command was issued. */ +#ifdef TARGET_LPC1768 + #include "../../inc/MarlinConfig.h" -#if HAS_SERVOS && defined(TARGET_LPC1768) +#if HAS_SERVOS #include "LPC1768_PWM.h" #include "LPC1768_Servo.h" @@ -148,7 +150,7 @@ static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); if (this->attach(0) >= 0) { // notice the pin number is zero here this->write(value); - delay(servo_delay[this->servoIndex]); + safe_delay(servo_delay[this->servoIndex]); #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) this->detach(); LPC1768_PWM_detach_pin(servo_info[this->servoIndex].Pin.nbr); // shut down the PWM signal @@ -157,4 +159,5 @@ } } -#endif // HAS_SERVOS && TARGET_LPC1768 +#endif // HAS_SERVOS +#endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/SanityCheck.h b/Marlin/src/HAL/HAL_LPC1768/SanityCheck.h index a408a6c5877e..16299696a1f5 100644 --- a/Marlin/src/HAL/HAL_LPC1768/SanityCheck.h +++ b/Marlin/src/HAL/HAL_LPC1768/SanityCheck.h @@ -66,7 +66,7 @@ #endif #endif // SPINDLE_LASER_ENABLE -#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && ENABLED(HAVE_TMC2130) && DISABLED(TMC_USE_SW_SPI) \ +#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && HAS_DRIVER(TMC2130) && DISABLED(TMC_USE_SW_SPI) \ && (MB(RAMPS_14_RE_ARM_EFB) \ || MB(RAMPS_14_RE_ARM_EEB) \ || MB(RAMPS_14_RE_ARM_EFF) \ diff --git a/Marlin/src/HAL/HAL_LPC1768/SoftwareSPI.cpp b/Marlin/src/HAL/HAL_LPC1768/SoftwareSPI.cpp index 14c01e83ba59..546a1d50f105 100644 --- a/Marlin/src/HAL/HAL_LPC1768/SoftwareSPI.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/SoftwareSPI.cpp @@ -29,10 +29,10 @@ * For TARGET_LPC1768 */ -#include "../../inc/MarlinConfig.h" - #ifdef TARGET_LPC1768 +#include "../../inc/MarlinConfig.h" + // -------------------------------------------------------------------------- // Software SPI // -------------------------------------------------------------------------- @@ -84,7 +84,7 @@ void swSpiBegin(const pin_t sck_pin, const pin_t miso_pin, const pin_t mosi_pin) uint8_t swSpiInit(const uint8_t spiRate, const pin_t sck_pin, const pin_t mosi_pin) { WRITE(mosi_pin, HIGH); WRITE(sck_pin, LOW); - return (SystemCoreClock == 120000000 ? 44 : 38) / POW(2, 6 - min(spiRate, 6)); + return (SystemCoreClock == 120000000 ? 44 : 38) / POW(2, 6 - MIN(spiRate, 6)); } #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/WInterrupts.cpp b/Marlin/src/HAL/HAL_LPC1768/WInterrupts.cpp index 3bedb71e91f0..a92a61a8fd81 100644 --- a/Marlin/src/HAL/HAL_LPC1768/WInterrupts.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/WInterrupts.cpp @@ -19,29 +19,20 @@ #ifdef TARGET_LPC1768 #include "../../inc/MarlinConfig.h" -#include -#include -//#include "HAL_timers.h" -#include "fastio.h" #define GNUM 31 typedef void (*interruptCB)(void); -static interruptCB callbacksP0[GNUM]; -static interruptCB callbacksP2[GNUM]; +static interruptCB callbacksP0[GNUM] = {}; +static interruptCB callbacksP2[GNUM] = {}; extern "C" void GpioEnableInt(const uint32_t port, const uint32_t pin, const uint32_t mode); extern "C" void GpioDisableInt(const uint32_t port, const uint32_t pin); -//void deadloop(void) {} -/* Configure PIO interrupt sources */ static void __initialize() { - for (uint8_t i = 0; i < GNUM; i++) { - callbacksP0[i] = 0; - callbacksP2[i] = 0; - } + NVIC_SetPriority(EINT3_IRQn, NVIC_EncodePriority(0, 1, 0)); NVIC_EnableIRQ(EINT3_IRQn); } @@ -54,6 +45,7 @@ void attachInterrupt(const pin_t pin, void (*callback)(void), uint32_t mode) { __initialize(); ++enabled; } + uint8_t myport = LPC1768_PIN_PORT(pin), mypin = LPC1768_PIN_PIN(pin); @@ -130,60 +122,41 @@ extern "C" void GpioDisableInt(const uint32_t port, const uint32_t pin) { } } -constexpr bool isPowerOf2(const uint16_t n) { - return IS_POWER_OF_2(n); -} - -#if 0 - extern "C" void EINT3_IRQHandler () { - LPC_GPIOINT->IO0IntClr = LPC_GPIOINT->IO2IntClr = 0xFFFFFFFF; - TOGGLE(13); - //NVIC_ClearPendingIRQ(EINT3_IRQn); +extern "C" void EINT3_IRQHandler(void) { + // Read in all current interrupt registers. We do this once as the + // GPIO interrupt registers are on the APB bus, and this is slow. + uint32_t rise0 = LPC_GPIOINT->IO0IntStatR, + fall0 = LPC_GPIOINT->IO0IntStatF, + rise2 = LPC_GPIOINT->IO2IntStatR, + fall2 = LPC_GPIOINT->IO2IntStatF; + + // Clear the interrupts ASAP + LPC_GPIOINT->IO0IntClr = LPC_GPIOINT->IO2IntClr = 0xFFFFFFFF; + NVIC_ClearPendingIRQ(EINT3_IRQn); + + while (rise0 > 0) { // If multiple pins changes happened continue as long as there are interrupts pending + const uint8_t bitloc = 31 - __CLZ(rise0); // CLZ returns number of leading zeros, 31 minus that is location of first pending interrupt + if (callbacksP0[bitloc] != NULL) callbacksP0[bitloc](); + rise0 -= _BV(bitloc); } -#else - - extern "C" void EINT3_IRQHandler(void) { - // Read in all current interrupt registers. We do this once as the - // GPIO interrupt registers are on the APB bus, and this is slow. - uint32_t rise0 = LPC_GPIOINT->IO0IntStatR, - fall0 = LPC_GPIOINT->IO0IntStatF, - rise2 = LPC_GPIOINT->IO2IntStatR, - fall2 = LPC_GPIOINT->IO2IntStatF; - // Clear the interrupts ASAP - LPC_GPIOINT->IO0IntClr = LPC_GPIOINT->IO2IntClr = 0xFFFFFFFF; - NVIC_ClearPendingIRQ(EINT3_IRQn); - - /* multiple pins changes happened.*/ - if (rise0) while (rise0 > 0) { // Continue as long as there are interrupts pending - const uint8_t bitloc = 31 - __CLZ(rise0); //CLZ returns number of leading zeros, 31 minus that is location of first pending interrupt - if (callbacksP0[bitloc] != NULL) callbacksP0[bitloc](); - rise0 -= _BV(bitloc); - } - - if (fall0) while (fall0 > 0) { - const uint8_t bitloc = 31 - __CLZ(fall0); - if (callbacksP0[bitloc] != NULL) callbacksP0[bitloc](); - fall0 -= _BV(bitloc); - } - if (rise2) while(rise2 > 0) { - const uint8_t bitloc = 31 - __CLZ(rise2); - if (callbacksP2[bitloc] != NULL) callbacksP2[bitloc](); - //LPC_GPIOINT->IO2IntClr = 1 << bitloc; - rise2 -= _BV(bitloc); - } + while (fall0 > 0) { + const uint8_t bitloc = 31 - __CLZ(fall0); + if (callbacksP0[bitloc] != NULL) callbacksP0[bitloc](); + fall0 -= _BV(bitloc); + } - if (fall2) while (fall2 > 0) { - const uint8_t bitloc = 31 - __CLZ(fall2); - if (callbacksP2[bitloc] != NULL) callbacksP2[bitloc](); - //LPC_GPIOINT->IO2IntClr = 1 << bitloc; - fall2 -= _BV(bitloc); - } - //NVIC_ClearPendingIRQ(EINT3_IRQn); - //LPC_GPIOINT->IO0IntClr = LPC_GPIOINT->IO2IntClr = 0xFFFFFFFF; - //NVIC_ClearPendingIRQ(EINT3_IRQn); + while(rise2 > 0) { + const uint8_t bitloc = 31 - __CLZ(rise2); + if (callbacksP2[bitloc] != NULL) callbacksP2[bitloc](); + rise2 -= _BV(bitloc); } -#endif + while (fall2 > 0) { + const uint8_t bitloc = 31 - __CLZ(fall2); + if (callbacksP2[bitloc] != NULL) callbacksP2[bitloc](); + fall2 -= _BV(bitloc); + } +} #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/arduino.cpp b/Marlin/src/HAL/HAL_LPC1768/arduino.cpp index 8fc7657790d5..abdc6b353903 100644 --- a/Marlin/src/HAL/HAL_LPC1768/arduino.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/arduino.cpp @@ -26,6 +26,7 @@ #include #include "../../inc/MarlinConfig.h" +#include "../Delay.h" // Interrupts void cli(void) { __disable_irq(); } // Disable @@ -40,26 +41,9 @@ uint32_t millis() { return _millis; } +// This is required for some Arduino libraries we are using void delayMicroseconds(uint32_t us) { - static const int nop_factor = (SystemCoreClock / 11000000); - static volatile int loops = 0; - - //previous ops already burned most of 1us, burn the rest - loops = nop_factor / 4; //measured at 1us - while (loops > 0) --loops; - - if (us < 2) return; - us--; - - //redirect to delay for large values, then set new delay to remainder - if (us > 1000) { - delay(us / 1000); - us = us % 1000; - } - - // burn cycles, time in interrupts will not be taken into account - loops = us * nop_factor; - while (loops > 0) --loops; + DELAY_US(us); } extern "C" void delay(const int msec) { diff --git a/Marlin/src/HAL/HAL_LPC1768/endstop_interrupts.h b/Marlin/src/HAL/HAL_LPC1768/endstop_interrupts.h index 1bb8586a28ba..48312ccc072e 100644 --- a/Marlin/src/HAL/HAL_LPC1768/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_LPC1768/endstop_interrupts.h @@ -24,7 +24,7 @@ * Endstop Interrupts * * Without endstop interrupts the endstop pins must be polled continually in - * the stepper-ISR via endstops.update(), most of the time finding no change. + * the temperature-ISR via endstops.update(), most of the time finding no change. * With this feature endstops.update() is called only when we know that at * least one endstop has changed state, saving valuable CPU cycles. * @@ -34,35 +34,67 @@ * (Located in Marlin/buildroot/share/pin_interrupt_test/pin_interrupt_test.ino) */ - #ifndef _ENDSTOP_INTERRUPTS_H_ - #define _ENDSTOP_INTERRUPTS_H_ +#ifndef _ENDSTOP_INTERRUPTS_H_ +#define _ENDSTOP_INTERRUPTS_H_ + +#include "../../module/endstops.h" + +// One ISR for all EXT-Interrupts +void endstop_ISR(void) { endstops.update(); } void setup_endstop_interrupts(void) { #if HAS_X_MAX - attachInterrupt(digitalPinToInterrupt(X_MAX_PIN), endstop_ISR, CHANGE); // assign it + #if !LPC1768_PIN_INTERRUPT_M(X_MAX_PIN) + #error "X_MAX_PIN is not an INTERRUPT capable pin." + #endif + attachInterrupt(digitalPinToInterrupt(X_MAX_PIN), endstop_ISR, CHANGE); #endif #if HAS_X_MIN + #if !LPC1768_PIN_INTERRUPT_M(X_MIN_PIN) + #error "X_MIN_PIN is not an INTERRUPT capable pin." + #endif attachInterrupt(digitalPinToInterrupt(X_MIN_PIN), endstop_ISR, CHANGE); #endif #if HAS_Y_MAX + #if !LPC1768_PIN_INTERRUPT_M(Y_MAX_PIN) + #error "Y_MAX_PIN is not an INTERRUPT capable pin." + #endif attachInterrupt(digitalPinToInterrupt(Y_MAX_PIN), endstop_ISR, CHANGE); #endif #if HAS_Y_MIN + #if !LPC1768_PIN_INTERRUPT_M(Y_MIN_PIN) + #error "Y_MIN_PIN is not an INTERRUPT capable pin." + #endif attachInterrupt(digitalPinToInterrupt(Y_MIN_PIN), endstop_ISR, CHANGE); #endif #if HAS_Z_MAX + #if !LPC1768_PIN_INTERRUPT_M(Z_MAX_PIN) + #error "Z_MAX_PIN is not an INTERRUPT capable pin." + #endif attachInterrupt(digitalPinToInterrupt(Z_MAX_PIN), endstop_ISR, CHANGE); #endif #if HAS_Z_MIN + #if !LPC1768_PIN_INTERRUPT_M(Z_MIN_PIN) + #error "Z_MIN_PIN is not an INTERRUPT capable pin." + #endif attachInterrupt(digitalPinToInterrupt(Z_MIN_PIN), endstop_ISR, CHANGE); #endif #if HAS_Z2_MAX + #if !LPC1768_PIN_INTERRUPT_M(Z2_MAX_PIN) + #error "Z2_MAX_PIN is not an INTERRUPT capable pin." + #endif attachInterrupt(digitalPinToInterrupt(Z2_MAX_PIN), endstop_ISR, CHANGE); #endif #if HAS_Z2_MIN + #if !LPC1768_PIN_INTERRUPT_M(Z2_MIN_PIN) + #error "Z2_MIN_PIN is not an INTERRUPT capable pin." + #endif attachInterrupt(digitalPinToInterrupt(Z2_MIN_PIN), endstop_ISR, CHANGE); #endif #if HAS_Z_MIN_PROBE_PIN + #if !LPC1768_PIN_INTERRUPT_M(Z_MIN_PROBE_PIN) + #error "Z_MIN_PROBE_PIN is not an INTERRUPT capable pin." + #endif attachInterrupt(digitalPinToInterrupt(Z_MIN_PROBE_PIN), endstop_ISR, CHANGE); #endif } diff --git a/Marlin/src/HAL/HAL_LPC1768/fastio.h b/Marlin/src/HAL/HAL_LPC1768/fastio.h index e19500141f8b..5f55f73c8666 100644 --- a/Marlin/src/HAL/HAL_LPC1768/fastio.h +++ b/Marlin/src/HAL/HAL_LPC1768/fastio.h @@ -55,7 +55,7 @@ bool useable_hardware_PWM(pin_t pin); #define WRITE_PIN_CLR(IO) (LPC_GPIO(LPC1768_PIN_PORT(IO))->FIOCLR = LPC_PIN(LPC1768_PIN_PIN(IO))) #define READ_PIN(IO) ((LPC_GPIO(LPC1768_PIN_PORT(IO))->FIOPIN & LPC_PIN(LPC1768_PIN_PIN(IO))) ? 1 : 0) -#define WRITE_PIN(IO, v) ((v) ? WRITE_PIN_SET(IO) : WRITE_PIN_CLR(IO)) +#define WRITE_PIN(IO,V) ((V) ? WRITE_PIN_SET(IO) : WRITE_PIN_CLR(IO)) /** * Magic I/O routines @@ -66,76 +66,66 @@ bool useable_hardware_PWM(pin_t pin); */ /// Read a pin -#define _READ(IO) READ_PIN(IO) +#define _READ(IO) READ_PIN(IO) /// Write to a pin -#define _WRITE_VAR(IO, v) digitalWrite(IO, v) +#define _WRITE_VAR(IO,V) digitalWrite(IO,V) -#define _WRITE(IO, v) WRITE_PIN(IO, v) +#define _WRITE(IO,V) WRITE_PIN(IO,V) /// toggle a pin -#define _TOGGLE(IO) _WRITE(IO, !READ(IO)) +#define _TOGGLE(IO) _WRITE(IO, !READ(IO)) /// set pin as input -#define _SET_INPUT(IO) SET_DIR_INPUT(IO) +#define _SET_INPUT(IO) SET_DIR_INPUT(IO) /// set pin as output -#define _SET_OUTPUT(IO) SET_DIR_OUTPUT(IO) +#define _SET_OUTPUT(IO) SET_DIR_OUTPUT(IO) /// set pin as input with pullup mode -#define _PULLUP(IO, v) (pinMode(IO, (v!=LOW ? INPUT_PULLUP : INPUT))) +#define _PULLUP(IO,V) pinMode(IO, (V) ? INPUT_PULLUP : INPUT) /// set pin as input with pulldown mode -#define _PULLDOWN(IO, v) (pinMode(IO, (v!=LOW ? INPUT_PULLDOWN : INPUT))) - -// hg42: all pins can be input or output (I hope) -// hg42: undefined pins create compile error (IO, is no pin) -// hg42: currently not used, but was used by pinsDebug +#define _PULLDOWN(IO,V) pinMode(IO, (V) ? INPUT_PULLDOWN : INPUT) /// check if pin is an input -#define _GET_INPUT(IO) (LPC1768_PIN_PIN(IO)>=0) +#define _GET_INPUT(IO) (LPC_GPIO(LPC1768_PIN_PORT(IO))->FIODIR & LPC_PIN(LPC1768_PIN_PIN(IO)) != 0) /// check if pin is an output -#define _GET_OUTPUT(IO) (LPC1768_PIN_PIN(IO)>=0) - -// hg42: GET_TIMER is used only to check if it's a PWM pin -// hg42: we cannot use USEABLE_HARDWARE_PWM because it uses a function that cannot be used statically -// hg42: instead use PWM bit from the #define +#define _GET_OUTPUT(IO) (LPC_GPIO(LPC1768_PIN_PORT(IO))->FIODIR & LPC_PIN(LPC1768_PIN_PIN(IO)) == 0) /// check if pin is a timer -#define _GET_TIMER(IO) TRUE // could be LPC1768_PIN_PWM(IO), but there -// hg42: could be this: -// #define _GET_TIMER(IO) LPC1768_PIN_PWM(IO) -// but this is an incomplete check (12 pins are PWMable, but only 6 can be used at the same time) +/// all gpio pins are pwm capable, either interrupt or hardware pwm controlled +#define _GET_TIMER(IO) TRUE /// Read a pin wrapper -#define READ(IO) _READ(IO) +#define READ(IO) _READ(IO) /// Write to a pin wrapper -#define WRITE_VAR(IO, v) _WRITE_VAR(IO, v) -#define WRITE(IO, v) _WRITE(IO, v) +#define WRITE_VAR(IO,V) _WRITE_VAR(IO,V) +#define WRITE(IO,V) _WRITE(IO,V) /// toggle a pin wrapper -#define TOGGLE(IO) _TOGGLE(IO) +#define TOGGLE(IO) _TOGGLE(IO) /// set pin as input wrapper -#define SET_INPUT(IO) _SET_INPUT(IO) +#define SET_INPUT(IO) _SET_INPUT(IO) /// set pin as input with pullup wrapper -#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _PULLUP(IO, HIGH); }while(0) +#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _PULLUP(IO, HIGH); }while(0) /// set pin as input with pulldown wrapper -#define SET_INPUT_PULLDOWN(IO) do{ _SET_INPUT(IO); _PULLDOWN(IO, HIGH); }while(0) +#define SET_INPUT_PULLDOWN(IO) do{ _SET_INPUT(IO); _PULLDOWN(IO, HIGH); }while(0) /// set pin as output wrapper - reads the pin and sets the output to that value -#define SET_OUTPUT(IO) do{ _WRITE(IO, _READ(IO)); _SET_OUTPUT(IO); }while(0) +#define SET_OUTPUT(IO) do{ _WRITE(IO, _READ(IO)); _SET_OUTPUT(IO); }while(0) /// check if pin is an input wrapper -#define GET_INPUT(IO) _GET_INPUT(IO) +#define GET_INPUT(IO) _GET_INPUT(IO) /// check if pin is an output wrapper -#define GET_OUTPUT(IO) _GET_OUTPUT(IO) +#define GET_OUTPUT(IO) _GET_OUTPUT(IO) /// check if pin is a timer (wrapper) -#define GET_TIMER(IO) _GET_TIMER(IO) +#define GET_TIMER(IO) _GET_TIMER(IO) // Shorthand -#define OUT_WRITE(IO, v) { SET_OUTPUT(IO); WRITE(IO, v); } +#define OUT_WRITE(IO,V) do{ SET_OUTPUT(IO); WRITE(IO,V); }while(0) #endif // _FASTIO_LPC1768_H diff --git a/Marlin/src/HAL/HAL_LPC1768/include/Arduino.h b/Marlin/src/HAL/HAL_LPC1768/include/Arduino.h index 645a9c79ed32..7bc26b1439fd 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/Arduino.h +++ b/Marlin/src/HAL/HAL_LPC1768/include/Arduino.h @@ -50,9 +50,11 @@ typedef uint8_t byte; #define PSTR(v) (v) #define PGM_P const char * +// Used for libraries, preprocessor, and constants #define min(a,b) ((a)<(b)?(a):(b)) #define max(a,b) ((a)>(b)?(a):(b)) #define abs(x) ((x)>0?(x):-(x)) + #ifndef isnan #define isnan std::isnan #endif @@ -60,11 +62,6 @@ typedef uint8_t byte; #define isinf std::isinf #endif -//not constexpr until c++14 -//#define max(v1, v2) std::max((int)v1,(int)v2) -//#define min(v1, v2) std::min((int)v1,(int)v2) -//#define abs(v) std::abs(v) - #define sq(v) ((v) * (v)) #define square(v) sq(v) #define constrain(value, arg_min, arg_max) ((value) < (arg_min) ? (arg_min) :((value) > (arg_max) ? (arg_max) : (value))) @@ -72,8 +69,8 @@ typedef uint8_t byte; //Interrupts void cli(void); // Disable void sei(void); // Enable -void attachInterrupt(uint32_t pin, void (*callback)(void), uint32_t mode); -void detachInterrupt(uint32_t pin); +void attachInterrupt(const pin_t pin, void (*callback)(void), uint32_t mode); +void detachInterrupt(const pin_t pin); extern "C" void GpioEnableInt(uint32_t port, uint32_t pin, uint32_t mode); extern "C" void GpioDisableInt(uint32_t port, uint32_t pin); @@ -95,6 +92,8 @@ extern "C" void GpioDisableInt(uint32_t port, uint32_t pin); #define vsnprintf_P vsnprintf #define strcpy_P strcpy #define snprintf_P snprintf +#define strlen_P strlen +#define strchr_P strchr // Time functions extern "C" { diff --git a/Marlin/src/HAL/HAL_LPC1768/HardwareSerial.cpp b/Marlin/src/HAL/HAL_LPC1768/include/HardwareSerial.cpp similarity index 90% rename from Marlin/src/HAL/HAL_LPC1768/HardwareSerial.cpp rename to Marlin/src/HAL/HAL_LPC1768/include/HardwareSerial.cpp index 6b575ca9d3ea..152b045d55b4 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HardwareSerial.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/include/HardwareSerial.cpp @@ -22,7 +22,6 @@ #ifdef TARGET_LPC1768 -#include "../../inc/MarlinConfig.h" #include "HardwareSerial.h" #if SERIAL_PORT == 0 || SERIAL_PORT_2 == 0 @@ -110,10 +109,23 @@ void HardwareSerial::begin(uint32_t baudrate) { UART_IntConfig(UARTx, UART_INTCFG_RBR, ENABLE); UART_IntConfig(UARTx, UART_INTCFG_RLS, ENABLE); - if (UARTx == LPC_UART0) NVIC_EnableIRQ(UART0_IRQn); - else if ((LPC_UART1_TypeDef *) UARTx == LPC_UART1) NVIC_EnableIRQ(UART1_IRQn); - else if (UARTx == LPC_UART2) NVIC_EnableIRQ(UART2_IRQn); - else if (UARTx == LPC_UART3) NVIC_EnableIRQ(UART3_IRQn); + // Set proper priority and enable interrupts + if (UARTx == LPC_UART0) { + NVIC_SetPriority(UART0_IRQn, NVIC_EncodePriority(0, 3, 0)); + NVIC_EnableIRQ(UART0_IRQn); + } + else if ((LPC_UART1_TypeDef *) UARTx == LPC_UART1) { + NVIC_SetPriority(UART1_IRQn, NVIC_EncodePriority(0, 3, 0)); + NVIC_EnableIRQ(UART1_IRQn); + } + else if (UARTx == LPC_UART2) { + NVIC_SetPriority(UART2_IRQn, NVIC_EncodePriority(0, 3, 0)); + NVIC_EnableIRQ(UART2_IRQn); + } + else if (UARTx == LPC_UART3) { + NVIC_SetPriority(UART3_IRQn, NVIC_EncodePriority(0, 3, 0)); + NVIC_EnableIRQ(UART3_IRQn); + } RxQueueWritePos = RxQueueReadPos = 0; #if TX_BUFFER_SIZE > 0 @@ -124,8 +136,8 @@ void HardwareSerial::begin(uint32_t baudrate) { Baudrate = baudrate; } -int HardwareSerial::peek() { - int byte = -1; +int16_t HardwareSerial::peek() { + int16_t byte = -1; // Temporarily lock out UART receive interrupts during this read so the UART receive // interrupt won't cause problems with the index values @@ -140,8 +152,8 @@ int HardwareSerial::peek() { return byte; } -int HardwareSerial::read() { - int byte = -1; +int16_t HardwareSerial::read() { + int16_t byte = -1; // Temporarily lock out UART receive interrupts during this read so the UART receive // interrupt won't cause problems with the index values @@ -202,7 +214,7 @@ size_t HardwareSerial::write(uint8_t send) { } #endif -int HardwareSerial::available() { +size_t HardwareSerial::available() { return (RxQueueWritePos + RX_BUFFER_SIZE - RxQueueReadPos) % RX_BUFFER_SIZE; } @@ -211,16 +223,17 @@ void HardwareSerial::flush() { RxQueueReadPos = 0; } -void HardwareSerial::printf(const char *format, ...) { +size_t HardwareSerial::printf(const char *format, ...) { char RxBuffer[256]; va_list vArgs; va_start(vArgs, format); int length = vsnprintf(RxBuffer, 256, format, vArgs); va_end(vArgs); if (length > 0 && length < 256) { - for (int i = 0; i < length; ++i) + for (size_t i = 0; i < (size_t)length; ++i) write(RxBuffer[i]); } + return length; } void HardwareSerial::IRQHandler() { @@ -248,6 +261,9 @@ void HardwareSerial::IRQHandler() { if (IIRValue == UART_IIR_INTID_RDA) { // Clear the FIFO while (UART_Receive(UARTx, &byte, 1, NONE_BLOCKING)) { + #if ENABLED(EMERGENCY_PARSER) + emergency_parser.update(emergency_state, byte); + #endif if ((RxQueueWritePos + 1) % RX_BUFFER_SIZE != RxQueueReadPos) { RxBuffer[RxQueueWritePos] = byte; RxQueueWritePos = (RxQueueWritePos + 1) % RX_BUFFER_SIZE; diff --git a/Marlin/src/HAL/HAL_LPC1768/include/HardwareSerial.h b/Marlin/src/HAL/HAL_LPC1768/include/HardwareSerial.h new file mode 100644 index 000000000000..f3bd2f6b428a --- /dev/null +++ b/Marlin/src/HAL/HAL_LPC1768/include/HardwareSerial.h @@ -0,0 +1,91 @@ +/** + * 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 . + * + */ + +#ifndef HARDWARE_SERIAL_H_ +#define HARDWARE_SERIAL_H_ + +#include "../../../inc/MarlinConfigPre.h" +#if ENABLED(EMERGENCY_PARSER) + #include "../../../feature/emergency_parser.h" +#endif + +#include +#include +#include + +extern "C" { + #include + #include "lpc17xx_pinsel.h" +} + +class HardwareSerial : public Stream { +private: + LPC_UART_TypeDef *UARTx; + + uint32_t Baudrate; + uint32_t Status; + uint8_t RxBuffer[RX_BUFFER_SIZE]; + uint32_t RxQueueWritePos; + uint32_t RxQueueReadPos; + #if TX_BUFFER_SIZE > 0 + uint8_t TxBuffer[TX_BUFFER_SIZE]; + uint32_t TxQueueWritePos; + uint32_t TxQueueReadPos; + #endif + #if ENABLED(EMERGENCY_PARSER) + EmergencyParser::State emergency_state; + #endif + +public: + HardwareSerial(LPC_UART_TypeDef *UARTx) + : UARTx(UARTx) + , Baudrate(0) + , RxQueueWritePos(0) + , RxQueueReadPos(0) + #if TX_BUFFER_SIZE > 0 + , TxQueueWritePos(0) + , TxQueueReadPos(0) + #endif + #if ENABLED(EMERGENCY_PARSER) + , emergency_state(EmergencyParser::State::EP_RESET) + #endif + { + } + + void begin(uint32_t baudrate); + int16_t peek(); + int16_t read(); + size_t write(uint8_t send); + #if TX_BUFFER_SIZE > 0 + void flushTX(); + #endif + size_t available(); + void flush(); + size_t printf(const char *format, ...); + + operator bool() { return true; } + + void IRQHandler(); + +}; + +#endif // MARLIN_SRC_HAL_HAL_SERIAL_H_ diff --git a/Marlin/src/HAL/HAL_LPC1768/include/SPI.h b/Marlin/src/HAL/HAL_LPC1768/include/SPI.h index 7de136633c39..bcd2d7b54f60 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/SPI.h +++ b/Marlin/src/HAL/HAL_LPC1768/include/SPI.h @@ -31,13 +31,16 @@ class SPISettings { public: - SPISettings(int a, int b, int c) {}; + SPISettings(uint32_t speed, int, int) : spi_speed(speed) {}; + uint32_t spiRate() { return spi_speed; } + private: + uint32_t spi_speed; }; class SPIClass { public: void begin(); - void beginTransaction(SPISettings foo) {}; + void beginTransaction(SPISettings); void endTransaction() {}; uint8_t transfer(uint8_t data); uint16_t transfer16(uint16_t data); diff --git a/Marlin/src/HAL/HAL_LPC1768/SoftwareSerial.cpp b/Marlin/src/HAL/HAL_LPC1768/include/SoftwareSerial.cpp similarity index 93% rename from Marlin/src/HAL/HAL_LPC1768/SoftwareSerial.cpp rename to Marlin/src/HAL/HAL_LPC1768/include/SoftwareSerial.cpp index 8b6ac025db42..607ea9dcb2f6 100644 --- a/Marlin/src/HAL/HAL_LPC1768/SoftwareSerial.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/include/SoftwareSerial.cpp @@ -36,12 +36,13 @@ // Includes // //#include -#include "../../inc/MarlinConfig.h" +#include "../../../inc/MarlinConfig.h" +#include "../../Delay.h" #include #include #include #include -#include "fastio.h" +#include "../fastio.h" #include "SoftwareSerial.h" void GpioEnableInt(uint32_t port, uint32_t pin, uint32_t mode); @@ -66,7 +67,7 @@ typedef struct _DELAY_TABLE { static const DELAY_TABLE table[] = { //baud |rxcenter|rxintra |rxstop |tx { 250000, 2, 4, 4, 4, }, //Done but not good due to instruction cycle error { 115200, 4, 8, 8, 8, }, //Done but not good due to instruction cycle error //{ 74880, 69, 139, 62, 162, }, // estimation -// { 57600, 100, 185, 1, 208, }, // Done but not good due to instruction cycle error + //{ 57600, 100, 185, 1, 208, }, // Done but not good due to instruction cycle error //{ 38400, 13, 26, 26, 26, }, // Done //{ 19200, 26, 52, 52, 52, }, // Done { 9600, 52, 104, 104, 104, }, // Done //{ 4800, 104, 208, 208, 208, }, @@ -78,28 +79,9 @@ static const DELAY_TABLE table[] = { // Private methods // -#if 0 -/* static */ -inline void SoftwareSerial::tunedDelay(const uint32_t count) { - - asm volatile( - - "mov r3, %[loopsPerMicrosecond] \n\t" //load the initial loop counter - "1: \n\t" - "sub r3, r3, #1 \n\t" - "bne 1b \n\t" - - ://empty output list - :[loopsPerMicrosecond] "r" (count) - :"r3", "cc" //clobber list - ); - -} -#else inline void SoftwareSerial::tunedDelay(const uint32_t count) { - delayMicroseconds(count); + DELAY_US(count); } -#endif // This function sets the current object as the "listening" // one and returns true if it replaces another @@ -271,7 +253,7 @@ void SoftwareSerial::end() { // Read data from buffer -int SoftwareSerial::read() { +int16_t SoftwareSerial::read() { if (!isListening()) return -1; // Empty buffer? @@ -283,7 +265,7 @@ int SoftwareSerial::read() { return d; } -int SoftwareSerial::available() { +size_t SoftwareSerial::available() { if (!isListening()) return 0; return (_receive_buffer_tail + _SS_MAX_RX_BUFF - _receive_buffer_head) % _SS_MAX_RX_BUFF; @@ -332,7 +314,7 @@ void SoftwareSerial::flush() { sei(); } -int SoftwareSerial::peek() { +int16_t SoftwareSerial::peek() { if (!isListening()) return -1; diff --git a/Marlin/src/HAL/HAL_LPC1768/SoftwareSerial.h b/Marlin/src/HAL/HAL_LPC1768/include/SoftwareSerial.h similarity index 98% rename from Marlin/src/HAL/HAL_LPC1768/SoftwareSerial.h rename to Marlin/src/HAL/HAL_LPC1768/include/SoftwareSerial.h index 93df76b53a1a..f208e14b0546 100644 --- a/Marlin/src/HAL/HAL_LPC1768/SoftwareSerial.h +++ b/Marlin/src/HAL/HAL_LPC1768/include/SoftwareSerial.h @@ -93,11 +93,11 @@ class SoftwareSerial : public Stream bool isListening() { return this == active_object; } bool stopListening(); bool overflow() { bool ret = _buffer_overflow; if (ret) _buffer_overflow = false; return ret; } - int peek(); + int16_t peek(); virtual size_t write(uint8_t byte); - virtual int read(); - virtual int available(); + virtual int16_t read(); + virtual size_t available(); virtual void flush(); operator bool() { return true; } diff --git a/Marlin/src/HAL/HAL_LPC1768/include/Wire.cpp b/Marlin/src/HAL/HAL_LPC1768/include/Wire.cpp index fa8149f53578..28e1fa9b56a2 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/Wire.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/include/Wire.cpp @@ -118,12 +118,12 @@ uint8_t TwoWire::requestFrom(uint8_t address, uint8_t quantity) { // perform blocking read into buffer I2C_M_SETUP_Type transferMCfg; transferMCfg.sl_addr7bit = address >> 1; // not sure about the right shift - transferMCfg.tx_data = NULL; - transferMCfg.tx_length = 0; - transferMCfg.rx_data = rxBuffer; - transferMCfg.rx_length = quantity; - transferMCfg.retransmissions_max = 3; - I2C_MasterTransferData(I2CDEV_M, &transferMCfg, I2C_TRANSFER_POLLING); + transferMCfg.tx_data = NULL; + transferMCfg.tx_length = 0; + transferMCfg.rx_data = rxBuffer; + transferMCfg.rx_length = quantity; + transferMCfg.retransmissions_max = 3; + I2C_MasterTransferData(I2CDEV_M, &transferMCfg, I2C_TRANSFER_POLLING); // set rx buffer iterator vars rxBufferIndex = 0; @@ -154,11 +154,11 @@ uint8_t TwoWire::endTransmission(void) { // transmit buffer (blocking) I2C_M_SETUP_Type transferMCfg; transferMCfg.sl_addr7bit = txAddress >> 1; // not sure about the right shift - transferMCfg.tx_data = txBuffer; - transferMCfg.tx_length = txBufferLength; - transferMCfg.rx_data = NULL; - transferMCfg.rx_length = 0; - transferMCfg.retransmissions_max = 3; + transferMCfg.tx_data = txBuffer; + transferMCfg.tx_length = txBufferLength; + transferMCfg.rx_data = NULL; + transferMCfg.rx_length = 0; + transferMCfg.retransmissions_max = 3; Status status = I2C_MasterTransferData(I2CDEV_M, &transferMCfg, I2C_TRANSFER_POLLING); // reset tx buffer iterator vars diff --git a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c index 3c2bb87c4cd9..6c46c89b0c2e 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c +++ b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c @@ -23,6 +23,8 @@ // adapted from I2C/master/master.c example // https://www-users.cs.york.ac.uk/~pcc/MCP/HAPR-Course-web/CMSIS/examples/html/master_8c_source.html +#ifdef TARGET_LPC1768 + #include "../../../inc/MarlinConfigPre.h" #if MB(MKS_SBASE) @@ -135,3 +137,4 @@ uint8_t digipot_mcp4451_send_byte(uint8_t data) { #endif #endif // MB(MKS_SBASE) +#endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/include/pinmapping.h b/Marlin/src/HAL/HAL_LPC1768/include/pinmapping.h index 11fdf5cc3a08..de727b8bdea8 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/pinmapping.h +++ b/Marlin/src/HAL/HAL_LPC1768/include/pinmapping.h @@ -267,7 +267,7 @@ constexpr pin_t adc_pin_table[] = { // Get the digital pin for an analog index pin_t analogInputToDigitalPin(const int8_t p); - +#define digitalPinToInterrupt(pin) (pin) // Return the index of a pin number // The pin number given here is in the form ppp:nnnnn int16_t GET_PIN_MAP_INDEX(const pin_t pin); @@ -283,6 +283,7 @@ bool PWM_PIN(const pin_t p); // Test whether the pin is interruptable bool INTERRUPT_PIN(const pin_t p); +#define LPC1768_PIN_INTERRUPT_M(pin) (((pin >> 8) & 0b1) != 0) // Get the pin number at the given index pin_t GET_PIN_MAP_PIN(const int16_t ind); diff --git a/Marlin/src/HAL/HAL_LPC1768/include/serial.h b/Marlin/src/HAL/HAL_LPC1768/include/serial.h index b0c4b27cd769..3fe8a8cb1dca 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/serial.h +++ b/Marlin/src/HAL/HAL_LPC1768/include/serial.h @@ -23,178 +23,138 @@ #ifndef _HAL_SERIAL_H_ #define _HAL_SERIAL_H_ +#include "../../../inc/MarlinConfigPre.h" +#if ENABLED(EMERGENCY_PARSER) + #include "../../../feature/emergency_parser.h" +#endif + #include #include - -extern "C" { -#include -} +#include /** * Generic RingBuffer * T type of the buffer array * S size of the buffer (must be power of 2) - * - * todo: optimise */ + template class RingBuffer { public: - RingBuffer() { index_read = index_write = 0; } - uint32_t available() volatile { return buffer_mask & (index_write - index_read); } - uint32_t free() volatile { return buffer_size - available(); } - bool empty() volatile { return (buffer_mask & index_read) == (buffer_mask & index_write); } - bool full() volatile { return index_read == buffer_mask & (index_write + 1); } - void clear() volatile { index_read = index_write = 0; } - bool peek(T *value) volatile { - if (value == 0 || available() == 0) - return false; - *value = buffer[buffer_mask & index_read]; + RingBuffer() {index_read = index_write = 0;} + + uint32_t available() {return mask(index_write - index_read);} + uint32_t free() {return buffer_size - available();} + bool empty() {return index_read == index_write;} + bool full() {return next(index_write) == index_read;} + void clear() {index_read = index_write = 0;} + + bool peek(T *const value) { + if (value == nullptr || empty()) return false; + *value = buffer[index_read]; return true; } - int read() volatile { - if ((buffer_mask & index_read) == (buffer_mask & index_write)) return -1; - T val = buffer[buffer_mask & index_read]; - ++index_read; - return val; + + uint32_t read(T *const value) { + if (value == nullptr || empty()) return 0; + *value = buffer[index_read]; + index_read = next(index_read); + return 1; } - bool write(T value) volatile { - uint32_t next_head = buffer_mask & (index_write + 1); - if (next_head != index_read) { - buffer[buffer_mask & index_write] = value; - index_write = next_head; - return true; - } - return false; + + uint32_t write(T value) { + uint32_t next_head = next(index_write); + if (next_head == index_read) return 0; // buffer full + buffer[index_write] = value; + index_write = next_head; + return 1; } private: + inline uint32_t mask(uint32_t val) { + return val & buffer_mask; + } + + inline uint32_t next(uint32_t val) { + return mask(val + 1); + } + static const uint32_t buffer_size = S; static const uint32_t buffer_mask = buffer_size - 1; - volatile T buffer[buffer_size]; + T buffer[buffer_size]; volatile uint32_t index_write; volatile uint32_t index_read; }; -class HalSerial { +/** + * Serial Interface Class + * Data is injected directly into, and consumed from, the fifo buffers + */ + +class HalSerial: public Print { public: - HalSerial() { host_connected = false; } - void begin(int32_t baud) { - } + #if ENABLED(EMERGENCY_PARSER) + EmergencyParser::State emergency_state; + #endif - int peek() { + HalSerial() : host_connected(false) { } + virtual ~HalSerial() { } + + operator bool() { return host_connected; } + + void begin(int32_t baud) { } + + int16_t peek() { uint8_t value; return receive_buffer.peek(&value) ? value : -1; } - int read() { return receive_buffer.read(); } - - size_t write(char c) { return host_connected ? transmit_buffer.write((uint8_t)c) : 0; } + int16_t read() { + uint8_t value; + return receive_buffer.read(&value) ? value : -1; + } - operator bool() { return host_connected; } + size_t write(const uint8_t c) { + if (!host_connected) return 0; // Do not fill buffer when host disconnected + while (transmit_buffer.write(c) == 0) { // Block until there is free room in buffer + if (!host_connected) return 0; // Break infinite loop on host disconect + } + return 1; + } - uint16_t available() { - return (uint16_t)receive_buffer.available(); + size_t available() { + return (size_t)receive_buffer.available(); } - void flush() { receive_buffer.clear(); } + void flush() { + receive_buffer.clear(); + } - uint8_t availableForWrite(void){ + uint8_t availableForWrite(void) { return transmit_buffer.free() > 255 ? 255 : (uint8_t)transmit_buffer.free(); } - void flushTX(void){ - if (host_connected) - while (transmit_buffer.available()) { /* nada */ } + void flushTX(void) { + while (transmit_buffer.available() && host_connected) { /* nada */} } - void printf(const char *format, ...) { + size_t printf(const char *format, ...) { static char buffer[256]; va_list vArgs; va_start(vArgs, format); int length = vsnprintf((char *) buffer, 256, (char const *) format, vArgs); va_end(vArgs); + size_t i = 0; if (length > 0 && length < 256) { - if (host_connected) { - for (int i = 0; i < length;) { - if (transmit_buffer.write(buffer[i])) { - ++i; - } - } + while (i < (size_t)length && host_connected) { + i += transmit_buffer.write(buffer[i]); } } + return i; } - #define DEC 10 - #define HEX 16 - #define OCT 8 - #define BIN 2 - - void print_bin(uint32_t value, uint8_t num_digits) { - uint32_t mask = 1 << (num_digits -1); - for (uint8_t i = 0; i < num_digits; i++) { - if (!(i % 4) && i) write(' '); - if (!(i % 16) && i) write(' '); - if (value & mask) write('1'); - else write('0'); - value <<= 1; - } - } - - void print(const char value[]) { printf("%s" , value); } - void print(char value, int nbase = 0) { - if (nbase == BIN) print_bin(value, 8); - else if (nbase == OCT) printf("%3o", value); - else if (nbase == HEX) printf("%2X", value); - else if (nbase == DEC ) printf("%d", value); - else printf("%c" , value); - } - void print(unsigned char value, int nbase = 0) { - if (nbase == BIN) print_bin(value, 8); - else if (nbase == OCT) printf("%3o", value); - else if (nbase == HEX) printf("%2X", value); - else printf("%u" , value); - } - void print(int value, int nbase = 0) { - if (nbase == BIN) print_bin(value, 16); - else if (nbase == OCT) printf("%6o", value); - else if (nbase == HEX) printf("%4X", value); - else printf("%d", value); - } - void print(unsigned int value, int nbase = 0) { - if (nbase == BIN) print_bin(value, 16); - else if (nbase == OCT) printf("%6o", value); - else if (nbase == HEX) printf("%4X", value); - else printf("%u" , value); - } - void print(long value, int nbase = 0) { - if (nbase == BIN) print_bin(value, 32); - else if (nbase == OCT) printf("%11o", value); - else if (nbase == HEX) printf("%8X", value); - else printf("%ld" , value); - } - void print(unsigned long value, int nbase = 0) { - if (nbase == BIN) print_bin(value, 32); - else if (nbase == OCT) printf("%11o", value); - else if (nbase == HEX) printf("%8X", value); - else printf("%lu" , value); - } - void print(float value, int round = 6) { printf("%f" , value); } - void print(double value, int round = 6) { printf("%f" , value); } - - void println(const char value[]) { printf("%s\n" , value); } - void println(char value, int nbase = 0) { print(value, nbase); println(); } - void println(unsigned char value, int nbase = 0) { print(value, nbase); println(); } - void println(int value, int nbase = 0) { print(value, nbase); println(); } - void println(unsigned int value, int nbase = 0) { print(value, nbase); println(); } - void println(long value, int nbase = 0) { print(value, nbase); println(); } - void println(unsigned long value, int nbase = 0) { print(value, nbase); println(); } - void println(float value, int round = 6) { printf("%f\n" , value); } - void println(double value, int round = 6) { printf("%f\n" , value); } - void println(void) { print('\n'); } - - volatile RingBuffer receive_buffer; - volatile RingBuffer transmit_buffer; + RingBuffer receive_buffer; + RingBuffer transmit_buffer; volatile bool host_connected; }; diff --git a/Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py b/Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py index 53e500898463..44ded586fe27 100644 --- a/Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py +++ b/Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py @@ -9,10 +9,10 @@ "-mcpu=cortex-m3", "-mthumb", - "-ffreestanding", "-fsigned-char", "-fno-move-loop-invariants", "-fno-strict-aliasing", + "-fsingle-precision-constant", "--specs=nano.specs", "--specs=nosys.specs", @@ -22,6 +22,7 @@ # For MarlinFirmware/U8glib-HAL "-IMarlin/src/HAL/HAL_LPC1768/u8g", + "-DU8G_HAL_LINKS", "-MMD", "-MP", @@ -48,12 +49,12 @@ "-fno-threadsafe-statics" ], LINKFLAGS=[ + "-Wl,-Tframeworks/CMSIS/LPC1768/system/LPC1768.ld,--gc-sections", "-Os", "-mcpu=cortex-m3", - "-ffreestanding", "-mthumb", "--specs=nano.specs", "--specs=nosys.specs", - "-u_printf_float", + "-u_printf_float" ], ) diff --git a/Marlin/src/HAL/HAL_LPC1768/main.cpp b/Marlin/src/HAL/HAL_LPC1768/main.cpp index 1d4dde091e23..5f4e672f385b 100644 --- a/Marlin/src/HAL/HAL_LPC1768/main.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/main.cpp @@ -35,53 +35,52 @@ extern "C" { #include "LPC1768_PWM.h" static __INLINE uint32_t SysTick_Config(uint32_t ticks) { - if (ticks > SysTick_LOAD_RELOAD_Msk) - return (1); /* Reload value impossible */ + if (ticks > SysTick_LOAD_RELOAD_Msk) return 1; - SysTick->LOAD = (ticks & SysTick_LOAD_RELOAD_Msk) - 1; /* set reload register */ - NVIC_SetPriority(SysTick_IRQn, NVIC_EncodePriority(0, 0, 0)); /* set Priority for Cortex-M3 System Interrupts */ - SysTick->VAL = 0; /* Load the SysTick Counter Value */ + SysTick->LOAD = (ticks & SysTick_LOAD_RELOAD_Msk) - 1; // Set reload register + SysTick->VAL = 0; // Load the SysTick Counter Value SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | - SysTick_CTRL_TICKINT_Msk | - SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ - return (0); /* Function successful */ + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; // Enable SysTick IRQ and SysTick Timer + + NVIC_SetPriority(SysTick_IRQn, NVIC_EncodePriority(0, 0, 0)); // Set Priority for Cortex-M3 System Interrupts + return 0; } extern "C" { -extern void disk_timerproc(void); -volatile uint32_t _millis; -void SysTick_Handler(void) { - ++_millis; - disk_timerproc(); /* Disk timer process */ -} -} + extern int isLPC1769(); + extern void disk_timerproc(void); + volatile uint32_t _millis; -// runs after clock init and before global static constructors -extern "C" void SystemPostInit() { - _millis = 0; // initialise the millisecond counter value; - SysTick_Config(SystemCoreClock / 1000); // start millisecond global counter - GPIO_SetDir(4, 1UL << 28, 1); - - for (int i = 0; i < 4; ++i) { - GPIO_SetValue(4, 1UL << 28); - delay(100); - GPIO_ClearValue(4, 1UL << 28); - delay(100); + void SysTick_Handler(void) { + ++_millis; + disk_timerproc(); } -} - -// detect 17x[4-8] (100MHz) or 17x9 (120MHz) -static bool isLPC1769() { - #define IAP_LOCATION 0x1FFF1FF1 - uint32_t command[1]; - uint32_t result[5]; - typedef void (*IAP)(uint32_t*, uint32_t*); - IAP iap = (IAP) IAP_LOCATION; - command[0] = 54; - iap(command, result); + // Runs after clock init and before global static constructors + void SystemPostInit() { + _millis = 0; // Initialise the millisecond counter value; + SysTick_Config(SystemCoreClock / 1000); // Start millisecond global counter - return ((result[1] & 0x00100000) != 0); + // Runs before setup() need to configure LED_PIN and use to indicate succsessful bootloader execution + #if PIN_EXISTS(LED) + SET_DIR_OUTPUT(LED_PIN); + WRITE_PIN_CLR(LED_PIN); + + //MKS-SBASE has 3 other LEDS the bootloader uses during flashing, clear them + SET_DIR_OUTPUT(P1_19); + WRITE_PIN_CLR(P1_19); + SET_DIR_OUTPUT(P1_20); + WRITE_PIN_CLR(P1_20); + SET_DIR_OUTPUT(P1_21); + WRITE_PIN_CLR(P1_21); + + for (int i = 0; i < 6; ++i) { + TOGGLE(LED_PIN); + delay(100); + } + #endif + } } extern uint32_t MSC_SD_Init(uint8_t pdrv); @@ -96,7 +95,6 @@ int main(void) { const uint32_t usb_timeout = millis() + 2000; while (!USB_Configuration && PENDING(millis(), usb_timeout)) { delay(50); - #if PIN_EXISTS(LED) TOGGLE(LED_PIN); // Flash fast while USB initialisation completes #endif @@ -107,7 +105,7 @@ int main(void) { #if NUM_SERIAL > 1 MYSERIAL1.begin(BAUDRATE); #endif - SERIAL_PRINTF("\n\n%s (%dMhz) UART0 Initialised\n", isLPC1769() ? "LPC1769" : "LPC1768", SystemCoreClock / 1000000); + SERIAL_PRINTF("\n\necho:%s (%dMhz) Initialised\n", isLPC1769() ? "LPC1769" : "LPC1768", SystemCoreClock / 1000000); SERIAL_FLUSHTX(); #endif diff --git a/Marlin/src/HAL/HAL_LPC1768/pinsDebug_LPC1768.h b/Marlin/src/HAL/HAL_LPC1768/pinsDebug.h similarity index 100% rename from Marlin/src/HAL/HAL_LPC1768/pinsDebug_LPC1768.h rename to Marlin/src/HAL/HAL_LPC1768/pinsDebug.h diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_hw_spi.cpp b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_hw_spi.cpp index 07255aed21b4..9cd913f74312 100644 --- a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_hw_spi.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_hw_spi.cpp @@ -55,11 +55,11 @@ #ifdef TARGET_LPC1768 -//#include +#include "../../inc/MarlinConfigPre.h" -//#include "src/core/macros.h" -//#include "Configuration.h" +#if ENABLED(DOGLCD) +//#include #include #define SPI_FULL_SPEED 0 @@ -132,4 +132,6 @@ uint8_t u8g_com_HAL_LPC1768_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, return 1; } -#endif //TARGET_LPC1768 +#endif // DOGLCD + +#endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp index ed12b2c20fcd..06399d39472c 100644 --- a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp @@ -77,113 +77,127 @@ #ifdef TARGET_LPC1768 - #include - - #define I2C_SLA (0x3c*2) - //#define I2C_CMD_MODE 0x080 - #define I2C_CMD_MODE 0x000 - #define I2C_DATA_MODE 0x040 - - //#define U8G_I2C_OPT_FAST 16 - - uint8_t u8g_com_ssd_I2C_start_sequence(u8g_t *u8g) { - /* are we requested to set the a0 state? */ - if (u8g->pin_list[U8G_PI_SET_A0] == 0) return 1; - - /* setup bus, might be a repeated start */ - if (u8g_i2c_start(I2C_SLA) == 0) - return 0; - if (u8g->pin_list[U8G_PI_A0_STATE] == 0 ) { - if (u8g_i2c_send_byte(I2C_CMD_MODE) == 0) return 0; - } - else if (u8g_i2c_send_byte(I2C_DATA_MODE) == 0) - return 0; - - u8g->pin_list[U8G_PI_SET_A0] = 0; - return 1; - } +#include "../../inc/MarlinConfigPre.h" - uint8_t u8g_com_HAL_LPC1768_ssd_hw_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) { - switch(msg) { - case U8G_COM_MSG_INIT: - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCL, HIGH); - //u8g_com_arduino_digital_write(u8g, U8G_PI_SDA, HIGH); - //u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: unknown mode */ - - u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]); - u8g_com_ssd_I2C_start_sequence(u8g); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - /* Currently disabled, but it could be enable. Previous restrictions have been removed */ - /* u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); */ - break; - - case U8G_COM_MSG_CHIP_SELECT: - u8g->pin_list[U8G_PI_A0_STATE] = 0; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again, also forces start condition */ - if (arg_val == 0 ) { - /* disable chip, send stop condition */ - u8g_i2c_stop(); +#if ENABLED(DOGLCD) + +#include + +#define I2C_SLA (0x3C*2) +//#define I2C_CMD_MODE 0x080 +#define I2C_CMD_MODE 0x000 +#define I2C_DATA_MODE 0x040 + +//#define U8G_I2C_OPT_FAST 16 + +uint8_t u8g_com_ssd_I2C_start_sequence(u8g_t *u8g) { + /* are we requested to set the a0 state? */ + if (u8g->pin_list[U8G_PI_SET_A0] == 0) return 1; + + /* setup bus, might be a repeated start */ + if (u8g_i2c_start(I2C_SLA) == 0) + return 0; + if (u8g->pin_list[U8G_PI_A0_STATE] == 0 ) { + if (u8g_i2c_send_byte(I2C_CMD_MODE) == 0) return 0; + } + else if (u8g_i2c_send_byte(I2C_DATA_MODE) == 0) + return 0; + + u8g->pin_list[U8G_PI_SET_A0] = 0; + return 1; +} + +uint8_t u8g_com_HAL_LPC1768_ssd_hw_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) { + switch(msg) { + case U8G_COM_MSG_INIT: + //u8g_com_arduino_digital_write(u8g, U8G_PI_SCL, HIGH); + //u8g_com_arduino_digital_write(u8g, U8G_PI_SDA, HIGH); + //u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: unknown mode */ + + u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]); + u8g_com_ssd_I2C_start_sequence(u8g); + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + /* Currently disabled, but it could be enable. Previous restrictions have been removed */ + /* u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); */ + break; + + case U8G_COM_MSG_CHIP_SELECT: + u8g->pin_list[U8G_PI_A0_STATE] = 0; + u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again, also forces start condition */ + if (arg_val == 0 ) { + /* disable chip, send stop condition */ + u8g_i2c_stop(); + } + else { + /* enable, do nothing: any byte writing will trigger the i2c start */ + } + break; + + case U8G_COM_MSG_WRITE_BYTE: + //u8g->pin_list[U8G_PI_SET_A0] = 1; + //if (u8g_com_arduino_ssd_start_sequence(u8g) == 0) + // return u8g_i2c_stop(), 0; + if (u8g_i2c_send_byte(arg_val) == 0) { + u8g_i2c_stop(); + return 0; + } + // u8g_i2c_stop(); + break; + + case U8G_COM_MSG_WRITE_SEQ: { + //u8g->pin_list[U8G_PI_SET_A0] = 1; + if (u8g_com_ssd_I2C_start_sequence(u8g) == 0) { + u8g_i2c_stop(); + return 0; } - else { - /* enable, do nothing: any byte writing will trigger the i2c start */ + + register uint8_t *ptr = (uint8_t *)arg_ptr; + while (arg_val > 0) { + if (u8g_i2c_send_byte(*ptr++) == 0) { + u8g_i2c_stop(); + return 0; + } + arg_val--; } - break; + } + // u8g_i2c_stop(); + break; - case U8G_COM_MSG_WRITE_BYTE: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - //if (u8g_com_arduino_ssd_start_sequence(u8g) == 0) - // return u8g_i2c_stop(), 0; - if (u8g_i2c_send_byte(arg_val) == 0) - return u8g_i2c_stop(), 0; - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ: { + case U8G_COM_MSG_WRITE_SEQ_P: { //u8g->pin_list[U8G_PI_SET_A0] = 1; - if (u8g_com_ssd_I2C_start_sequence(u8g) == 0) - return u8g_i2c_stop(), 0; - - register uint8_t *ptr = (uint8_t *)arg_ptr; - while (arg_val > 0) { - if (u8g_i2c_send_byte(*ptr++) == 0) - return u8g_i2c_stop(), 0; - arg_val--; - } + if (u8g_com_ssd_I2C_start_sequence(u8g) == 0) { + u8g_i2c_stop(); + return 0; } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: { - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if (u8g_com_ssd_I2C_start_sequence(u8g) == 0) - return u8g_i2c_stop(), 0; - - register uint8_t *ptr = (uint8_t *)arg_ptr; - while (arg_val > 0) { - if (u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0) - return 0; - ptr++; - arg_val--; - } + + register uint8_t *ptr = (uint8_t *)arg_ptr; + while (arg_val > 0) { + if (u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0) + return 0; + ptr++; + arg_val--; } - // u8g_i2c_stop(); - break; + } + // u8g_i2c_stop(); + break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again */ + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again */ - u8g_i2c_start(0); // send slave address and write bit - u8g_i2c_send_byte(arg_val ? 0x40 : 0x80); // Write to ? Graphics DRAM mode : Command mode - break; + u8g_i2c_start(0); // send slave address and write bit + u8g_i2c_send_byte(arg_val ? 0x40 : 0x80); // Write to ? Graphics DRAM mode : Command mode + break; - } // switch - return 1; - } + } // switch + return 1; +} + +#endif // DOGLCD #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_ssd_sw_i2c.cpp under construction b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_ssd_sw_i2c.cpp under construction index 5101ee13cd1b..80c8da7239a0 100644 --- a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_ssd_sw_i2c.cpp under construction +++ b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_ssd_sw_i2c.cpp under construction @@ -61,17 +61,20 @@ #ifdef TARGET_LPC1768 - #include +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(DOGLCD) + +#include -void delayMicroseconds(uint32_t us); //void pinMode(int16_t pin, uint8_t mode); //void digitalWrite(int16_t pin, uint8_t pin_status); - #define I2C_SLA (0x3c*2) - //#define I2C_CMD_MODE 0x080 - #define I2C_CMD_MODE 0x000 - #define I2C_DATA_MODE 0x040 +#define I2C_SLA (0x3C*2) +//#define I2C_CMD_MODE 0x080 +#define I2C_CMD_MODE 0x000 +#define I2C_DATA_MODE 0x040 //static uint8_t I2C_speed; // 3 - 400KHz, 13 - 100KHz //#define SPEED_400KHz 3 @@ -122,13 +125,13 @@ uint8_t u8g_i2c_start_sw(uint8_t sla) { // assert start condition and then send LPC_GPIO(SDA_port_HAL_LPC1768_sw_I2C)->FIOCLR = LPC_PIN(SDA_pin_HAL_LPC1768_sw_I2C); LPC_GPIO(SCL_port_HAL_LPC1768_sw_I2C)->FIOCLR = LPC_PIN(SCL_pin_HAL_LPC1768_sw_I2C); - delayMicroseconds(2); + DELAY_US(2); LPC_GPIO(SCL_port_HAL_LPC1768_sw_I2C)->FIOSET = LPC_PIN(SCL_pin_HAL_LPC1768_sw_I2C); - delayMicroseconds(2); + DELAY_US(2); LPC_GPIO(SDA_port_HAL_LPC1768_sw_I2C)->FIOSET = LPC_PIN(SDA_pin_HAL_LPC1768_sw_I2C); - delayMicroseconds(2); + DELAY_US(2); LPC_GPIO(SDA_port_HAL_LPC1768_sw_I2C)->FIOCLR = LPC_PIN(SDA_pin_HAL_LPC1768_sw_I2C); - delayMicroseconds(2); + DELAY_US(2); LPC_GPIO(SCL_port_HAL_LPC1768_sw_I2C)->FIOCLR = LPC_PIN(SCL_pin_HAL_LPC1768_sw_I2C); u8g_i2c_send_byte_sw(I2C_SLA); // send slave address with write bit @@ -246,4 +249,6 @@ uint8_t u8g_com_HAL_LPC1768_ssd_sw_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_v return 1; } -#endif // TARGET_LPC1768 +#endif // DOGLCD + +#endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp index a1c7f7a3c5bd..c61fa4a8cefa 100644 --- a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp @@ -55,103 +55,99 @@ #ifdef TARGET_LPC1768 - //#include - //#include "src/core/macros.h" - //#include "Configuration.h" +#include "../../inc/MarlinConfigPre.h" - #include +#if ENABLED(DOGLCD) - #define SPI_FULL_SPEED 0 - #define SPI_HALF_SPEED 1 - #define SPI_QUARTER_SPEED 2 - #define SPI_EIGHTH_SPEED 3 - #define SPI_SIXTEENTH_SPEED 4 - #define SPI_SPEED_5 5 - #define SPI_SPEED_6 6 +//#include +#include +#include "../Delay.h" +#define SPI_FULL_SPEED 0 +#define SPI_HALF_SPEED 1 +#define SPI_QUARTER_SPEED 2 +#define SPI_EIGHTH_SPEED 3 +#define SPI_SIXTEENTH_SPEED 4 +#define SPI_SPEED_5 5 +#define SPI_SPEED_6 6 - void spiBegin(); - void spiInit(uint8_t spiRate); - void spiSend(uint8_t b); - void spiSend(const uint8_t* buf, size_t n); +void spiBegin(); +void spiInit(uint8_t spiRate); +void spiSend(uint8_t b); +void spiSend(const uint8_t* buf, size_t n); +static uint8_t rs_last_state = 255; - static uint8_t rs_last_state = 255; +static void u8g_com_LPC1768_st7920_write_byte_hw_spi(uint8_t rs, uint8_t val) { - static void u8g_com_LPC1768_st7920_write_byte_hw_spi(uint8_t rs, uint8_t val) - { - uint8_t i; + if ( rs != rs_last_state) { // time to send a command/data byte + rs_last_state = rs; - if ( rs != rs_last_state) { // time to send a command/data byte - rs_last_state = rs; + if ( rs == 0 ) + /* command */ + spiSend(0x0F8); + else + /* data */ + spiSend(0x0FA); - if ( rs == 0 ) - /* command */ - spiSend(0x0f8); - else - /* data */ - spiSend(0x0fa); - - for( i = 0; i < 4; i++ ) // give the controller some time to process the data - u8g_10MicroDelay(); // 2 is bad, 3 is OK, 4 is safe - } - - spiSend(val & 0x0f0); - spiSend(val << 4); + DELAY_US(40); // give the controller some time to process the data: 20 is bad, 30 is OK, 40 is safe } - - uint8_t u8g_com_HAL_LPC1768_ST7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) - { - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_SetPILevel(u8g, U8G_PI_CS, 0); - u8g_SetPIOutput(u8g, U8G_PI_CS); - u8g_Delay(5); - spiBegin(); - spiInit(SPI_EIGHTH_SPEED); // ST7920 max speed is about 1.1 MHz - u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - - case U8G_COM_MSG_CHIP_SELECT: - u8g_SetPILevel(u8g, U8G_PI_CS, arg_val); //note: the st7920 has an active high chip select - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_LPC1768_st7920_write_byte_hw_spi(u8g->pin_list[U8G_PI_A0_STATE], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: { - uint8_t *ptr = (uint8_t*) arg_ptr; - while (arg_val > 0) { - u8g_com_LPC1768_st7920_write_byte_hw_spi(u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - arg_val--; - } + spiSend(val & 0x0F0); + spiSend(val << 4); +} + +uint8_t u8g_com_HAL_LPC1768_ST7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) { + switch(msg) { + case U8G_COM_MSG_INIT: + u8g_SetPILevel(u8g, U8G_PI_CS, 0); + u8g_SetPIOutput(u8g, U8G_PI_CS); + u8g_Delay(5); + spiBegin(); + spiInit(SPI_EIGHTH_SPEED); // ST7920 max speed is about 1.1 MHz + u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + break; + + case U8G_COM_MSG_CHIP_SELECT: + u8g_SetPILevel(u8g, U8G_PI_CS, arg_val); //note: the st7920 has an active high chip select + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_LPC1768_st7920_write_byte_hw_spi(u8g->pin_list[U8G_PI_A0_STATE], arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: { + uint8_t *ptr = (uint8_t*) arg_ptr; + while (arg_val > 0) { + u8g_com_LPC1768_st7920_write_byte_hw_spi(u8g->pin_list[U8G_PI_A0_STATE], *ptr++); + arg_val--; } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: { - uint8_t *ptr = (uint8_t*) arg_ptr; - while (arg_val > 0) { - u8g_com_LPC1768_st7920_write_byte_hw_spi(u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - arg_val--; - } + } + break; + + case U8G_COM_MSG_WRITE_SEQ_P: { + uint8_t *ptr = (uint8_t*) arg_ptr; + while (arg_val > 0) { + u8g_com_LPC1768_st7920_write_byte_hw_spi(u8g->pin_list[U8G_PI_A0_STATE], *ptr++); + arg_val--; } - break; - } - return 1; + } + break; } + return 1; +} + +#endif // DOGLCD -#endif // TARGET_LPC1768 +#endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_sw_spi.cpp b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_sw_spi.cpp index 89502a3d7190..700ed5946320 100644 --- a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_sw_spi.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_sw_spi.cpp @@ -55,97 +55,101 @@ #ifdef TARGET_LPC1768 - #include - #include "SoftwareSPI.h" +#include "../../inc/MarlinConfigPre.h" - #define SPI_SPEED 3 // About 1 MHz +#if ENABLED(DOGLCD) - static pin_t SCK_pin_ST7920_HAL, MOSI_pin_ST7920_HAL_HAL; - static uint8_t SPI_speed = 0; - static uint8_t rs_last_state = 255; +#include +#include "SoftwareSPI.h" +#include "../Delay.h" - static void u8g_com_LPC1768_st7920_write_byte_sw_spi(uint8_t rs, uint8_t val) - { - uint8_t i; +#define SPI_SPEED 3 // About 1 MHz + +static pin_t SCK_pin_ST7920_HAL, MOSI_pin_ST7920_HAL_HAL; +static uint8_t SPI_speed = 0; +static uint8_t rs_last_state = 255; - if ( rs != rs_last_state) { // time to send a command/data byte - rs_last_state = rs; +static void u8g_com_LPC1768_st7920_write_byte_sw_spi(uint8_t rs, uint8_t val) { - if ( rs == 0 ) - /* command */ - swSpiTransfer(0x0f8, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL); - else - /* data */ - swSpiTransfer(0x0fa, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL); + if (rs != rs_last_state) { // time to send a command/data byte + rs_last_state = rs; - for( i = 0; i < 4; i++ ) // give the controller some time to process the data - u8g_10MicroDelay(); // 2 is bad, 3 is OK, 4 is safe - } + if (rs == 0) + /* command */ + swSpiTransfer(0x0F8, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL); + else + /* data */ + swSpiTransfer(0x0FA, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL); - swSpiTransfer(val & 0x0f0, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL); - swSpiTransfer(val << 4, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL); + DELAY_US(40); // give the controller some time to process the data: 20 is bad, 30 is OK, 40 is safe } - uint8_t u8g_com_HAL_LPC1768_ST7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) + swSpiTransfer(val & 0x0F0, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL); + swSpiTransfer(val << 4, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL); +} + +uint8_t u8g_com_HAL_LPC1768_ST7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) { - switch(msg) - { - case U8G_COM_MSG_INIT: - SCK_pin_ST7920_HAL = u8g->pin_list[U8G_PI_SCK]; - MOSI_pin_ST7920_HAL_HAL = u8g->pin_list[U8G_PI_MOSI]; - - u8g_SetPIOutput(u8g, U8G_PI_CS); - u8g_SetPIOutput(u8g, U8G_PI_SCK); - u8g_SetPIOutput(u8g, U8G_PI_MOSI); - u8g_Delay(5); - - SPI_speed = swSpiInit(SPI_SPEED, SCK_pin_ST7920_HAL, MOSI_pin_ST7920_HAL_HAL); - - u8g_SetPILevel(u8g, U8G_PI_CS, 0); - u8g_SetPILevel(u8g, U8G_PI_SCK, 0); - u8g_SetPILevel(u8g, U8G_PI_MOSI, 0); - - u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if (U8G_PIN_NONE != u8g->pin_list[U8G_PI_RESET]) u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - - case U8G_COM_MSG_CHIP_SELECT: - if (U8G_PIN_NONE != u8g->pin_list[U8G_PI_CS]) u8g_SetPILevel(u8g, U8G_PI_CS, arg_val); //note: the st7920 has an active high chip select - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_LPC1768_st7920_write_byte_sw_spi(u8g->pin_list[U8G_PI_A0_STATE], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: { - uint8_t *ptr = (uint8_t*) arg_ptr; - while (arg_val > 0) { - u8g_com_LPC1768_st7920_write_byte_sw_spi(u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - arg_val--; - } + case U8G_COM_MSG_INIT: + SCK_pin_ST7920_HAL = u8g->pin_list[U8G_PI_SCK]; + MOSI_pin_ST7920_HAL_HAL = u8g->pin_list[U8G_PI_MOSI]; + + u8g_SetPIOutput(u8g, U8G_PI_CS); + u8g_SetPIOutput(u8g, U8G_PI_SCK); + u8g_SetPIOutput(u8g, U8G_PI_MOSI); + u8g_Delay(5); + + SPI_speed = swSpiInit(SPI_SPEED, SCK_pin_ST7920_HAL, MOSI_pin_ST7920_HAL_HAL); + + u8g_SetPILevel(u8g, U8G_PI_CS, 0); + u8g_SetPILevel(u8g, U8G_PI_SCK, 0); + u8g_SetPILevel(u8g, U8G_PI_MOSI, 0); + + u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + if (U8G_PIN_NONE != u8g->pin_list[U8G_PI_RESET]) u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + break; + + case U8G_COM_MSG_CHIP_SELECT: + if (U8G_PIN_NONE != u8g->pin_list[U8G_PI_CS]) u8g_SetPILevel(u8g, U8G_PI_CS, arg_val); //note: the st7920 has an active high chip select + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_LPC1768_st7920_write_byte_sw_spi(u8g->pin_list[U8G_PI_A0_STATE], arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: { + uint8_t *ptr = (uint8_t*) arg_ptr; + while (arg_val > 0) { + u8g_com_LPC1768_st7920_write_byte_sw_spi(u8g->pin_list[U8G_PI_A0_STATE], *ptr++); + arg_val--; } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: { - uint8_t *ptr = (uint8_t*) arg_ptr; - while (arg_val > 0) { - u8g_com_LPC1768_st7920_write_byte_sw_spi(u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - arg_val--; - } + } + break; + + case U8G_COM_MSG_WRITE_SEQ_P: { + uint8_t *ptr = (uint8_t*) arg_ptr; + while (arg_val > 0) { + u8g_com_LPC1768_st7920_write_byte_sw_spi(u8g->pin_list[U8G_PI_A0_STATE], *ptr++); + arg_val--; } - break; - } - return 1; + } + break; } + return 1; +} + +#endif // DOGLCD -#endif //TARGET_LPC1768 +#endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_sw_spi.cpp b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_sw_spi.cpp index 64a4dd99c330..533ebda37cee 100644 --- a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_sw_spi.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_sw_spi.cpp @@ -55,6 +55,10 @@ #ifdef TARGET_LPC1768 +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(DOGLCD) + #include #include "SoftwareSPI.h" @@ -120,4 +124,6 @@ uint8_t u8g_com_HAL_LPC1768_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, return 1; } +#endif // DOGLCD + #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py b/Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py new file mode 100644 index 000000000000..aa24cacc45f7 --- /dev/null +++ b/Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py @@ -0,0 +1,148 @@ +# +# sets output_port +# if target_filename is found then that drive is used +# else if target_drive is found then that drive is used +# + +target_filename = "FIRMWARE.CUR" +target_drive = "REARM" + +import os +import platform +current_OS = platform.system() + +#env_vars = subprocess.check_output('platformio run -t envdump') +#env_vars = env_vars.split('\n') +#for env in env_vars: +# print env +#exit(0) + +build_type = os.environ.get("BUILD_TYPE", 'Not Set') +if build_type == 'upload' or build_type == 'traceback' or build_type == 'Not Set' : + + if current_OS == 'Windows': + + # + # platformio.ini will accept this for a Windows upload port designation: 'upload_port = L:' + # Windows - doesn't care about the disk's name, only cares about the drive letter + # + + # + # get all drives on this computer + # + + import subprocess + + driveStr = subprocess.check_output("fsutil fsinfo drives") # typical result (string): 'Drives: C:\ D:\ E:\ F:\ G:\ H:\ I:\ J:\ K:\ L:\ M:\ Y:\ Z:\' + driveStr = driveStr.strip().lstrip('Drives: ') # typical result (string): 'C:\ D:\ E:\ F:\ G:\ H:\ I:\ J:\ K:\ L:\ M:\ Y:\ Z:\' + drives = driveStr.split() # typical result (array of stings): ['C:\\', 'D:\\', 'E:\\', 'F:\\', 'G:\\', 'H:\\', 'I:\\', 'J:\\', 'K:\\', 'L:\\', 'M:\\', 'Y:\\', 'Z:\\'] + + upload_disk = 'Disk not found' + target_file_found = False + target_drive_found = False + for drive in drives: + final_drive_name = drive.strip().rstrip('\\') # typical result (string): 'C:' + try: + volume_info = subprocess.check_output('cmd /C dir ' + final_drive_name, stderr=subprocess.STDOUT) + except Exception as e: + continue + else: + if target_drive in volume_info and target_file_found == False: # set upload if not found target file yet + target_drive_found = True + upload_disk = final_drive_name + if target_filename in volume_info: + if target_file_found == False: + upload_disk = final_drive_name + target_file_found = True + + # + # set upload_port to drive if found + # + + if target_file_found == True or target_drive_found == True: + Import("env") + env.Replace( + UPLOAD_PORT = upload_disk + ) + print 'upload disk: ' , upload_disk + else: + print '\nUnable to find destination disk. File must be copied manually. \n' + + + if current_OS == 'Linux': + + # + # platformio.ini will accept this for a Linux upload port designation: 'upload_port = /media/media_name/drive' + # + + upload_disk = 'Disk not found' + target_file_found = False + target_drive_found = False + medias = os.listdir('/media') # + for media in medias: + drives = os.listdir('/media/' + media) # + if target_drive in drives and target_file_found == False: # set upload if not found target file yet + target_drive_found = True + upload_disk = '/media/' + media + '/' + target_drive + '/' + for drive in drives: + try: + files = os.listdir('/media/' + media + '/' + drive ) + except: + continue + else: + if target_filename in files: + if target_file_found == False: + upload_disk = '/media/' + media + '/' + drive + '/' + target_file_found = True + + # + # set upload_port to drive if found + # + + if target_file_found == True or target_drive_found == True: + Import("env") + env.Replace( + UPLOAD_FLAGS = "-P$UPLOAD_PORT", + UPLOAD_PORT = upload_disk + ) + print 'upload disk: ' , upload_disk + else: + print '\nUnable to find destination disk. File must be copied manually. \n' + + + if current_OS == 'Darwin': # MAC + + # + # platformio.ini will accept this for a OSX upload port designation: 'upload_port = /media/media_name/drive' + # + + import os + upload_disk = 'Disk not found' + drives = os.listdir('/Volumes') # human readable names + target_file_found = False + target_drive_found = False + if target_drive in drives and target_file_found == False: # set upload if not found target file yet + target_drive_found = True + upload_disk = '/Volumes/' + target_drive + '/' + for drive in drives: + try: + filenames = os.listdir('/Volumes/' + drive + '/') # will get an error if the drive is protected + except: + continue + else: + if target_filename in filenames: + if target_file_found == False: + upload_disk = '/Volumes/' + drive + '/' + target_file_found = True + # + # set upload_port to drive if found + # + + if target_file_found == True or target_drive_found == True: + Import("env") + env.Replace( + UPLOAD_PORT = upload_disk + ) + print '\nupload disk: ' , upload_disk, '\n' + else: + print '\nUnable to find destination disk. File must be copied manually. \n' diff --git a/Marlin/src/HAL/HAL_LPC1768/watchdog.cpp b/Marlin/src/HAL/HAL_LPC1768/watchdog.cpp index 0c7f31bed066..589e05ebd602 100644 --- a/Marlin/src/HAL/HAL_LPC1768/watchdog.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/watchdog.cpp @@ -50,6 +50,9 @@ void watchdog_reset() { #endif } +#else + void HAL_clear_reset_source(void) {} + uint8_t HAL_get_reset_source(void) { return RST_POWER_ON; } #endif // USE_WATCHDOG #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL.cpp b/Marlin/src/HAL/HAL_STM32F1/HAL.cpp new file mode 100644 index 000000000000..95dbb0a502dd --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F1/HAL.cpp @@ -0,0 +1,279 @@ +/** + * Marlin 3D Printer Firmware + * + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * Copyright (c) 2017 Victor Perez + * + * 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 . + * + */ + +/** + * HAL for stm32duino.com based on Libmaple and compatible (STM32F1) + */ + +#ifdef __STM32F1__ + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include "HAL.h" +#include + +// -------------------------------------------------------------------------- +// Externals +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Types +// -------------------------------------------------------------------------- + +#define __I +#define __IO + typedef struct + { + __I uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IO uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ + __IO uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ + __IO uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IO uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IO uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + __IO uint8_t SHP[12]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registers (4-7, 8-11, 12-15) */ + __IO uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ + __IO uint32_t CFSR; /*!< Offset: 0x028 (R/W) Configurable Fault Status Register */ + __IO uint32_t HFSR; /*!< Offset: 0x02C (R/W) HardFault Status Register */ + __IO uint32_t DFSR; /*!< Offset: 0x030 (R/W) Debug Fault Status Register */ + __IO uint32_t MMFAR; /*!< Offset: 0x034 (R/W) MemManage Fault Address Register */ + __IO uint32_t BFAR; /*!< Offset: 0x038 (R/W) BusFault Address Register */ + __IO uint32_t AFSR; /*!< Offset: 0x03C (R/W) Auxiliary Fault Status Register */ + __I uint32_t PFR[2]; /*!< Offset: 0x040 (R/ ) Processor Feature Register */ + __I uint32_t DFR; /*!< Offset: 0x048 (R/ ) Debug Feature Register */ + __I uint32_t ADR; /*!< Offset: 0x04C (R/ ) Auxiliary Feature Register */ + __I uint32_t MMFR[4]; /*!< Offset: 0x050 (R/ ) Memory Model Feature Register */ + __I uint32_t ISAR[5]; /*!< Offset: 0x060 (R/ ) Instruction Set Attributes Register */ + uint32_t RESERVED0[5]; + __IO uint32_t CPACR; /*!< Offset: 0x088 (R/W) Coprocessor Access Control Register */ + } SCB_Type; + +// -------------------------------------------------------------------------- +// Variables +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Local defines +// -------------------------------------------------------------------------- +#define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ +#define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + +#define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16 /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_PRIGROUP_Pos 8 /*!< SCB AIRCR: PRIGROUP Position */ +#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- +USBSerial SerialUSB; + +uint16_t HAL_adc_result; + +// -------------------------------------------------------------------------- +// Private Variables +// -------------------------------------------------------------------------- +STM32ADC adc(ADC1); + +uint8 adc_pins[] = { + #if HAS_TEMP_ADC_0 + TEMP_0_PIN, + #endif + #if HAS_TEMP_ADC_1 + TEMP_1_PIN + #endif + #if HAS_TEMP_ADC_2 + TEMP_2_PIN, + #endif + #if HAS_TEMP_ADC_3 + TEMP_3_PIN, + #endif + #if HAS_TEMP_ADC_4 + TEMP_4_PIN, + #endif + #if HAS_HEATED_BED + TEMP_BED_PIN, + #endif + #if ENABLED(FILAMENT_WIDTH_SENSOR) + FILWIDTH_PIN, + #endif +}; + +enum TEMP_PINS : char { + #if HAS_TEMP_ADC_0 + TEMP_0, + #endif + #if HAS_TEMP_ADC_1 + TEMP_1, + #endif + #if HAS_TEMP_ADC_2 + TEMP_2, + #endif + #if HAS_TEMP_ADC_3 + TEMP_3, + #endif + #if HAS_TEMP_ADC_4 + TEMP_4, + #endif + #if HAS_HEATED_BED + TEMP_BED, + #endif + #if ENABLED(FILAMENT_WIDTH_SENSOR) + FILWIDTH, + #endif + ADC_PIN_COUNT +}; + +uint16_t HAL_adc_results[ADC_PIN_COUNT]; + + +// -------------------------------------------------------------------------- +// Function prototypes +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Private functions +// -------------------------------------------------------------------------- +static void NVIC_SetPriorityGrouping(uint32_t PriorityGroup) { + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07); /* only values 0..7 are used */ + + reg_value = SCB->AIRCR; /* read old register configuration */ + reg_value &= ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FA << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << 8)); /* Insert write key and priorty group */ + SCB->AIRCR = reg_value; +} + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +void HAL_init(void) { + NVIC_SetPriorityGrouping(0x3); +} + +/* VGPV Done with defines +// disable interrupts +void cli(void) { noInterrupts(); } + +// enable interrupts +void sei(void) { interrupts(); } +*/ + +void HAL_clear_reset_source(void) { } + +/** + * TODO: Check this and change or remove. + * currently returns 1 that's equal to poweron reset. + */ +uint8_t HAL_get_reset_source(void) { return 1; } + +void _delay_ms(const int delay_ms) { delay(delay_ms); } + +extern "C" { + extern unsigned int _ebss; // end of bss section +} + +/** + * TODO: Change this to correct it for libmaple + */ + +// return free memory between end of heap (or end bss) and whatever is current + +/* +#include "wirish/syscalls.c" +//extern caddr_t _sbrk(int incr); +#ifndef CONFIG_HEAP_END +extern char _lm_heap_end; +#define CONFIG_HEAP_END ((caddr_t)&_lm_heap_end) +#endif + +extern "C" { + static int freeMemory() { + char top = 't'; + return &top - reinterpret_cast(sbrk(0)); + } + int freeMemory() { + int free_memory; + int heap_end = (int)_sbrk(0); + free_memory = ((int)&free_memory) - ((int)heap_end); + return free_memory; + } +} +*/ + +// -------------------------------------------------------------------------- +// ADC +// -------------------------------------------------------------------------- +// Init the AD in continuous capture mode +void HAL_adc_init(void) { + // configure the ADC + adc.calibrate(); + adc.setSampleRate(ADC_SMPR_41_5); // ? + adc.setPins(adc_pins, ADC_PIN_COUNT); + adc.setDMA(HAL_adc_results, (uint16_t)ADC_PIN_COUNT, (uint32_t)(DMA_MINC_MODE | DMA_CIRC_MODE), (void (*)())NULL); + adc.setScanMode(); + adc.setContinuous(); + adc.startConversion(); +} + +void HAL_adc_start_conversion(const uint8_t adc_pin) { + TEMP_PINS pin_index; + switch (adc_pin) { + #if HAS_TEMP_ADC_0 + case TEMP_0_PIN: pin_index = TEMP_0; break; + #endif + #if HAS_TEMP_ADC_1 + case TEMP_1_PIN: pin_index = TEMP_1; break; + #endif + #if HAS_TEMP_ADC_2 + case TEMP_2_PIN: pin_index = TEMP_2; break; + #endif + #if HAS_TEMP_ADC_3 + case TEMP_3_PIN: pin_index = TEMP_3; break; + #endif + #if HAS_TEMP_ADC_4 + case TEMP_4_PIN: pin_index = TEMP_4; break; + #endif + #if HAS_HEATED_BED + case TEMP_BED_PIN: pin_index = TEMP_BED; break; + #endif + #if ENABLED(FILAMENT_WIDTH_SENSOR) + case FILWIDTH_PIN: pin_index = FILWIDTH; break; + #endif + } + HAL_adc_result = (HAL_adc_results[(int)pin_index] >> 2) & 0x3FF; // shift to get 10 bits only. +} + +uint16_t HAL_adc_get_result(void) { + return HAL_adc_result; +} + +#endif // __STM32F1__ diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL_Stm32f1.h b/Marlin/src/HAL/HAL_STM32F1/HAL.h similarity index 92% rename from Marlin/src/HAL/HAL_STM32F1/HAL_Stm32f1.h rename to Marlin/src/HAL/HAL_STM32F1/HAL.h index fdbb5a53c07a..8d459b1dbb6d 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_Stm32f1.h +++ b/Marlin/src/HAL/HAL_STM32F1/HAL.h @@ -28,6 +28,7 @@ #ifndef _HAL_STM32F1_H #define _HAL_STM32F1_H +#define CPU_32_BIT #undef DEBUG_NONE #ifndef vsnprintf_P @@ -39,7 +40,7 @@ // -------------------------------------------------------------------------- #include - +#include #include // -------------------------------------------------------------------------- @@ -55,6 +56,9 @@ // Includes // -------------------------------------------------------------------------- +#include "../math_32bit.h" +#include "../HAL_SPI.h" + #include "fastio_Stm32f1.h" #include "watchdog_Stm32f1.h" @@ -104,6 +108,10 @@ extern USBSerial SerialUSB; #define NUM_SERIAL 1 #endif +// Use HAL_init() to set interrupt grouping. +#define HAL_INIT +void HAL_init(); + /** * TODO: review this to return 1 for pins that are not analog input */ @@ -111,8 +119,11 @@ extern USBSerial SerialUSB; #define analogInputToDigitalPin(p) (p) #endif -#define CRITICAL_SECTION_START noInterrupts(); -#define CRITICAL_SECTION_END interrupts(); +#define CRITICAL_SECTION_START uint32_t primask = __get_primask(); (void)__iCliRetVal() +#define CRITICAL_SECTION_END if (!primask) (void)__iSeiRetVal() +#define ISRS_ENABLED() (!__get_primask()) +#define ENABLE_ISRS() ((void)__iSeiRetVal()) +#define DISABLE_ISRS() ((void)__iCliRetVal()) // On AVR this is in math.h? #define square(x) ((x)*(x)) @@ -213,7 +224,8 @@ void eeprom_update_block (const void *__src, void *__dst, size_t __n); void HAL_adc_init(void); #define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) -#define HAL_READ_ADC HAL_adc_result +#define HAL_READ_ADC() HAL_adc_result +#define HAL_ADC_READY() true void HAL_adc_start_conversion(const uint8_t adc_pin); diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL_Servo_Stm32f1.cpp b/Marlin/src/HAL/HAL_STM32F1/HAL_Servo_Stm32f1.cpp index 2dea5131b849..fe293d50d41c 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_Servo_Stm32f1.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/HAL_Servo_Stm32f1.cpp @@ -39,9 +39,11 @@ int8_t libServo::attach(const int pin, const int min, const int max) { } void libServo::move(const int value) { + constexpr uint16_t servo_delay[] = SERVO_DELAY; + static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); if (this->attach(0) >= 0) { this->write(value); - delay(SERVO_DELAY); + safe_delay(servo_delay[this->servoIndex]); #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) this->detach(); #endif diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL_Servo_Stm32f1.h b/Marlin/src/HAL/HAL_STM32F1/HAL_Servo_Stm32f1.h index c035ba755e75..c27f7bd07659 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_Servo_Stm32f1.h +++ b/Marlin/src/HAL/HAL_STM32F1/HAL_Servo_Stm32f1.h @@ -24,6 +24,7 @@ #ifndef HAL_SERVO_STM32F1_H #define HAL_SERVO_STM32F1_H +// Path needed, otherwise HAL version is used #include <../../libraries/Servo/src/Servo.h> // Inherit and expand on the official library diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp b/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp index d0985eb23d8c..59835829a783 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp @@ -36,7 +36,7 @@ // Includes // -------------------------------------------------------------------------- -#include "../HAL.h" +#include "HAL.h" #include "../HAL_SPI.h" #include "pins_arduino.h" #include "spi_pins.h" @@ -54,6 +54,7 @@ static SPISettings spiConfig; // -------------------------------------------------------------------------- #if ENABLED(SOFTWARE_SPI) + // -------------------------------------------------------------------------- // Software SPI // -------------------------------------------------------------------------- @@ -95,14 +96,13 @@ void spiBegin() { void spiInit(uint8_t spiRate) { uint8_t clock; switch (spiRate) { - case SPI_FULL_SPEED: clock = SPI_CLOCK_DIV2 ; break; - case SPI_HALF_SPEED: clock = SPI_CLOCK_DIV4 ; break; - case SPI_QUARTER_SPEED: clock = SPI_CLOCK_DIV8 ; break; - case SPI_EIGHTH_SPEED: clock = SPI_CLOCK_DIV16; break; - case SPI_SPEED_5: clock = SPI_CLOCK_DIV32; break; - case SPI_SPEED_6: clock = SPI_CLOCK_DIV64; break; - default: - clock = SPI_CLOCK_DIV2; // Default from the SPI library + case SPI_FULL_SPEED: clock = SPI_CLOCK_DIV2 ; break; + case SPI_HALF_SPEED: clock = SPI_CLOCK_DIV4 ; break; + case SPI_QUARTER_SPEED: clock = SPI_CLOCK_DIV8 ; break; + case SPI_EIGHTH_SPEED: clock = SPI_CLOCK_DIV16; break; + case SPI_SPEED_5: clock = SPI_CLOCK_DIV32; break; + case SPI_SPEED_6: clock = SPI_CLOCK_DIV64; break; + default: clock = SPI_CLOCK_DIV2; // Default from the SPI library } spiConfig = SPISettings(clock, MSBFIRST, SPI_MODE0); SPI.begin(); @@ -168,7 +168,6 @@ void spiSendBlock(uint8_t token, const uint8_t* buf) { /** Begin SPI transaction, set clock, bit order, data mode */ void spiBeginTransaction(uint32_t spiClock, uint8_t bitOrder, uint8_t dataMode) { spiConfig = SPISettings(spiClock, (BitOrder)bitOrder, dataMode); - SPI.beginTransaction(spiConfig); } diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL_timers_Stm32f1.cpp b/Marlin/src/HAL/HAL_STM32F1/HAL_timers_Stm32f1.cpp index 21b703367192..5c9f5e893e7d 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_timers_Stm32f1.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/HAL_timers_Stm32f1.cpp @@ -30,7 +30,7 @@ // Includes // -------------------------------------------------------------------------- -#include "../HAL.h" +#include "HAL.h" #include "HAL_timers_Stm32f1.h" @@ -109,7 +109,11 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { */ break; } - nvic_irq_set_priority(irq_num, 0xF); // this is the lowest settable priority, but should still be over USB + + /** + * Give the Stepper ISR a higher priority (lower number) + * so it automatically preempts the Temperature ISR. + */ switch (timer_num) { case STEP_TIMER_NUM: @@ -117,8 +121,9 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { timer_set_count(STEP_TIMER_DEV, 0); timer_set_prescaler(STEP_TIMER_DEV, (uint16)(STEPPER_TIMER_PRESCALE - 1)); timer_set_reload(STEP_TIMER_DEV, 0xFFFF); - timer_set_compare(STEP_TIMER_DEV, STEP_TIMER_CHAN, min(HAL_TIMER_TYPE_MAX, (HAL_STEPPER_TIMER_RATE / frequency))); + timer_set_compare(STEP_TIMER_DEV, STEP_TIMER_CHAN, MIN(HAL_TIMER_TYPE_MAX, (STEPPER_TIMER_RATE / frequency))); timer_attach_interrupt(STEP_TIMER_DEV, STEP_TIMER_CHAN, stepTC_Handler); + nvic_irq_set_priority(irq_num, 1); timer_generate_update(STEP_TIMER_DEV); timer_resume(STEP_TIMER_DEV); break; @@ -127,8 +132,9 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { timer_set_count(TEMP_TIMER_DEV, 0); timer_set_prescaler(TEMP_TIMER_DEV, (uint16)(TEMP_TIMER_PRESCALE - 1)); timer_set_reload(TEMP_TIMER_DEV, 0xFFFF); - timer_set_compare(TEMP_TIMER_DEV, TEMP_TIMER_CHAN, min(HAL_TIMER_TYPE_MAX, ((F_CPU / TEMP_TIMER_PRESCALE) / frequency))); + timer_set_compare(TEMP_TIMER_DEV, TEMP_TIMER_CHAN, MIN(HAL_TIMER_TYPE_MAX, ((F_CPU / TEMP_TIMER_PRESCALE) / frequency))); timer_attach_interrupt(TEMP_TIMER_DEV, TEMP_TIMER_CHAN, tempTC_Handler); + nvic_irq_set_priority(irq_num, 2); timer_generate_update(TEMP_TIMER_DEV); timer_resume(TEMP_TIMER_DEV); break; @@ -166,48 +172,48 @@ bool HAL_timer_interrupt_enabled(const uint8_t timer_num) { timer_dev* get_timer_dev(int number) { switch (number) { #if STM32_HAVE_TIMER(1) - case 1: return &timer1; + case 1: return &timer1; #endif #if STM32_HAVE_TIMER(2) - case 2: return &timer2; + case 2: return &timer2; #endif #if STM32_HAVE_TIMER(3) - case 3: return &timer3; + case 3: return &timer3; #endif #if STM32_HAVE_TIMER(4) - case 4: return &timer4; + case 4: return &timer4; #endif #if STM32_HAVE_TIMER(5) - case 5: return &timer5; + case 5: return &timer5; #endif #if STM32_HAVE_TIMER(6) - case 6: return &timer6; + case 6: return &timer6; #endif #if STM32_HAVE_TIMER(7) - case 7: return &timer7; + case 7: return &timer7; #endif #if STM32_HAVE_TIMER(8) - case 8: return &timer8; + case 8: return &timer8; #endif #if STM32_HAVE_TIMER(9) - case 9: return &timer9; + case 9: return &timer9; #endif #if STM32_HAVE_TIMER(10) - case 10: return &timer10; + case 10: return &timer10; #endif #if STM32_HAVE_TIMER(11) - case 11: return &timer11; + case 11: return &timer11; #endif #if STM32_HAVE_TIMER(12) - case 12: return &timer12; + case 12: return &timer12; #endif #if STM32_HAVE_TIMER(13) - case 13: return &timer14; + case 13: return &timer14; #endif #if STM32_HAVE_TIMER(14) - case 14: return &timer14; + case 14: return &timer14; #endif - } + } } #endif // __STM32F1__ diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL_timers_Stm32f1.h b/Marlin/src/HAL/HAL_STM32F1/HAL_timers_Stm32f1.h index effd528695a9..132cf4d22fb2 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_timers_Stm32f1.h +++ b/Marlin/src/HAL/HAL_STM32F1/HAL_timers_Stm32f1.h @@ -47,37 +47,34 @@ typedef uint16_t hal_timer_t; #define HAL_TIMER_TYPE_MAX 0xFFFF +#define HAL_TIMER_RATE (F_CPU) // frequency of timers peripherals + +#define STEP_TIMER_CHAN 1 // Channel of the timer to use for compare and interrupts +#define TEMP_TIMER_CHAN 1 // Channel of the timer to use for compare and interrupts + #if defined(MCU_STM32F103CB) || defined(MCU_STM32F103C8) #define STEP_TIMER_NUM 4 // For C8/CB boards, use timer 4 #else #define STEP_TIMER_NUM 5 // for other boards, five is fine. #endif - -#define STEP_TIMER_CHAN 1 // Channel of the timer to use for compare and interrupts #define TEMP_TIMER_NUM 2 // index of timer to use for temperature -#define TEMP_TIMER_CHAN 1 // Channel of the timer to use for compare and interrupts - -timer_dev* get_timer_dev(int number); - -#define TIMER_DEV(num) get_timer_dev(num) - -#define STEP_TIMER_DEV TIMER_DEV(STEP_TIMER_NUM) -#define TEMP_TIMER_DEV TIMER_DEV(TEMP_TIMER_NUM) - -//STM32_HAVE_TIMER(n); - -#define HAL_TIMER_RATE (F_CPU) // frequency of timers peripherals -#define STEPPER_TIMER_PRESCALE 18 // prescaler for setting stepper timer, 4Mhz -#define HAL_STEPPER_TIMER_RATE (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) -#define HAL_TICKS_PER_US ((HAL_STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs - #define PULSE_TIMER_NUM STEP_TIMER_NUM -#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE #define TEMP_TIMER_PRESCALE 1000 // prescaler for setting Temp timer, 72Khz #define TEMP_TIMER_FREQUENCY 1000 // temperature interrupt frequency -#define STEP_TIMER_MIN_INTERVAL 8 // minimum time in µs between stepper interrupts +#define STEPPER_TIMER_PRESCALE 18 // prescaler for setting stepper timer, 4Mhz +#define STEPPER_TIMER_RATE (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) // frequency of stepper timer +#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs + +#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer +#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE +#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US + +timer_dev* get_timer_dev(int number); +#define TIMER_DEV(num) get_timer_dev(num) +#define STEP_TIMER_DEV TIMER_DEV(STEP_TIMER_NUM) +#define TEMP_TIMER_DEV TIMER_DEV(TEMP_TIMER_NUM) #define ENABLE_STEPPER_DRIVER_INTERRUPT() timer_enable_irq(STEP_TIMER_DEV, STEP_TIMER_CHAN) #define DISABLE_STEPPER_DRIVER_INTERRUPT() timer_disable_irq(STEP_TIMER_DEV, STEP_TIMER_CHAN) @@ -88,7 +85,6 @@ timer_dev* get_timer_dev(int number); #define HAL_timer_get_count(timer_num) timer_get_count(TIMER_DEV(timer_num)) -#define HAL_ENABLE_ISRs() do { if (thermalManager.in_temp_isr)DISABLE_TEMPERATURE_INTERRUPT(); else ENABLE_TEMPERATURE_INTERRUPT(); ENABLE_STEPPER_DRIVER_INTERRUPT(); } while(0) // TODO change this @@ -131,7 +127,7 @@ bool HAL_timer_interrupt_enabled(const uint8_t timer_num); */ FORCE_INLINE static void HAL_timer_set_compare(const uint8_t timer_num, const hal_timer_t compare) { - //compare = min(compare, HAL_TIMER_TYPE_MAX); + //compare = MIN(compare, HAL_TIMER_TYPE_MAX); switch (timer_num) { case STEP_TIMER_NUM: timer_set_compare(STEP_TIMER_DEV, STEP_TIMER_CHAN, compare); @@ -175,4 +171,6 @@ FORCE_INLINE static void HAL_timer_isr_prologue(const uint8_t timer_num) { } } +#define HAL_timer_isr_epilogue(TIMER_NUM) + #endif // _HAL_TIMERS_STM32F1_H diff --git a/Marlin/src/HAL/HAL_STM32F1/SanityCheck_Stm32f1.h b/Marlin/src/HAL/HAL_STM32F1/SanityCheck.h similarity index 95% rename from Marlin/src/HAL/HAL_STM32F1/SanityCheck_Stm32f1.h rename to Marlin/src/HAL/HAL_STM32F1/SanityCheck.h index 19127efdf920..40917f03fe43 100644 --- a/Marlin/src/HAL/HAL_STM32F1/SanityCheck_Stm32f1.h +++ b/Marlin/src/HAL/HAL_STM32F1/SanityCheck.h @@ -66,3 +66,7 @@ #endif #endif #endif // SPINDLE_LASER_ENABLE + +#if ENABLED(EMERGENCY_PARSER) + #error "EMERGENCY_PARSER is not yet implemented for STM32F1. Disable EMERGENCY_PARSER to continue." +#endif diff --git a/Marlin/src/HAL/HAL_STM32F1/endstop_interrupts.h b/Marlin/src/HAL/HAL_STM32F1/endstop_interrupts.h index df68cf08173d..27ef0a487c6f 100644 --- a/Marlin/src/HAL/HAL_STM32F1/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_STM32F1/endstop_interrupts.h @@ -36,7 +36,7 @@ * Endstop Interrupts * * Without endstop interrupts the endstop pins must be polled continually in - * the stepper-ISR via endstops.update(), most of the time finding no change. + * the temperature-ISR via endstops.update(), most of the time finding no change. * With this feature endstops.update() is called only when we know that at * least one endstop has changed state, saving valuable CPU cycles. * @@ -49,41 +49,37 @@ #ifndef _ENDSTOP_INTERRUPTS_H_ #define _ENDSTOP_INTERRUPTS_H_ +#include "../../module/endstops.h" + +// One ISR for all EXT-Interrupts +void endstop_ISR(void) { endstops.update(); } + void setup_endstop_interrupts(void) { #if HAS_X_MAX - SET_INPUT(X_MAX_PIN); attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE); // assign it #endif #if HAS_X_MIN - SET_INPUT(X_MIN_PIN); attachInterrupt(X_MIN_PIN, endstop_ISR, CHANGE); #endif #if HAS_Y_MAX - SET_INPUT(Y_MAX_PIN); attachInterrupt(Y_MAX_PIN, endstop_ISR, CHANGE); #endif #if HAS_Y_MIN - SET_INPUT(Y_MIN_PIN); attachInterrupt(Y_MIN_PIN, endstop_ISR, CHANGE); #endif #if HAS_Z_MAX - SET_INPUT(Z_MAX_PIN); attachInterrupt(Z_MAX_PIN, endstop_ISR, CHANGE); #endif #if HAS_Z_MIN - SET_INPUT(Z_MIN_PIN); attachInterrupt(Z_MIN_PIN, endstop_ISR, CHANGE); #endif #if HAS_Z2_MAX - SET_INPUT(Z2_MAX_PIN); attachInterrupt(Z2_MAX_PIN, endstop_ISR, CHANGE); #endif #if HAS_Z2_MIN - SET_INPUT(Z2_MIN_PIN); attachInterrupt(Z2_MIN_PIN, endstop_ISR, CHANGE); #endif #if HAS_Z_MIN_PROBE_PIN - SET_INPUT(Z_MIN_PROBE_PIN); attachInterrupt(Z_MIN_PROBE_PIN, endstop_ISR, CHANGE); #endif } diff --git a/Marlin/src/HAL/HAL_STM32F1/fastio_Stm32f1.h b/Marlin/src/HAL/HAL_STM32F1/fastio_Stm32f1.h index 1ebf9e85571a..d6683e36eeef 100644 --- a/Marlin/src/HAL/HAL_STM32F1/fastio_Stm32f1.h +++ b/Marlin/src/HAL/HAL_STM32F1/fastio_Stm32f1.h @@ -32,23 +32,24 @@ #include #define READ(IO) (PIN_MAP[IO].gpio_device->regs->IDR & (1U << PIN_MAP[IO].gpio_bit) ? HIGH : LOW) -#define WRITE(IO, v) (PIN_MAP[IO].gpio_device->regs->BSRR = (1U << PIN_MAP[IO].gpio_bit) << (16 * !(bool)v)) +#define WRITE(IO,V) (PIN_MAP[IO].gpio_device->regs->BSRR = (1U << PIN_MAP[IO].gpio_bit) << (16 * !(bool)V)) #define TOGGLE(IO) (PIN_MAP[IO].gpio_device->regs->ODR = PIN_MAP[IO].gpio_device->regs->ODR ^ (1U << PIN_MAP[IO].gpio_bit)) -#define WRITE_VAR(IO, v) WRITE(io, v) +#define WRITE_VAR(IO,V) WRITE(IO,V) -#define _GET_MODE(IO) (gpio_get_mode(PIN_MAP[IO].gpio_device, PIN_MAP[IO].gpio_bit)) -#define _SET_MODE(IO,M) do{ gpio_set_mode(PIN_MAP[IO].gpio_device, PIN_MAP[IO].gpio_bit, M); } while (0) +#define _GET_MODE(IO) gpio_get_mode(PIN_MAP[IO].gpio_device, PIN_MAP[IO].gpio_bit) +#define _SET_MODE(IO,M) gpio_set_mode(PIN_MAP[IO].gpio_device, PIN_MAP[IO].gpio_bit, M) #define _SET_OUTPUT(IO) _SET_MODE(IO, GPIO_OUTPUT_PP) +#define OUT_WRITE(IO,V) do{ _SET_OUTPUT(IO); WRITE(IO,V); }while(0) + #define SET_INPUT(IO) _SET_MODE(IO, GPIO_INPUT_FLOATING) #define SET_INPUT_PULLUP(IO) _SET_MODE(IO, GPIO_INPUT_PU) -#define SET_OUTPUT(IO) do{ _SET_OUTPUT(IO); WRITE(IO, LOW); }while(0) +#define SET_OUTPUT(IO) OUT_WRITE(IO,LOW) #define GET_INPUT(IO) (_GET_MODE(IO) == GPIO_INPUT_FLOATING || _GET_MODE(IO) == GPIO_INPUT_ANALOG || _GET_MODE(IO) == GPIO_INPUT_PU || _GET_MODE(IO) == GPIO_INPUT_PD) #define GET_OUTPUT(IO) (_GET_MODE(IO) == GPIO_OUTPUT_PP) #define GET_TIMER(IO) (PIN_MAP[IO].timer_device != NULL) -#define OUT_WRITE(IO, v) { _SET_OUTPUT(IO); WRITE(IO, v); } /** * TODO: Write a macro to test if PIN is PWM or not. */ diff --git a/Marlin/src/HAL/HAL_STM32F1/persistent_store_flash.cpp b/Marlin/src/HAL/HAL_STM32F1/persistent_store_flash.cpp index dff51229648d..15472368e44d 100644 --- a/Marlin/src/HAL/HAL_STM32F1/persistent_store_flash.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/persistent_store_flash.cpp @@ -42,17 +42,19 @@ namespace HAL { namespace PersistentStore { -// Store settings in the last two pages -// Flash pages must be erased before writing, so keep track. -bool firstWrite = false; -uint32_t pageBase = EEPROM_START_ADDRESS; +namespace { + // Store settings in the last two pages + // Flash pages must be erased before writing, so keep track. + bool firstWrite = false; + uint32_t pageBase = EEPROM_START_ADDRESS; +} bool access_start() { firstWrite = true; return true; } -bool access_finish(){ +bool access_finish() { FLASH_Lock(); firstWrite = false; return true; @@ -64,9 +66,9 @@ bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { if (firstWrite) { FLASH_Unlock(); status = FLASH_ErasePage(EEPROM_PAGE0_BASE); - if (status != FLASH_COMPLETE) return false; + if (status != FLASH_COMPLETE) return true; status = FLASH_ErasePage(EEPROM_PAGE1_BASE); - if (status != FLASH_COMPLETE) return false; + if (status != FLASH_COMPLETE) return true; firstWrite = false; } @@ -76,7 +78,7 @@ bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { uint16_t* wordBuffer = (uint16_t *)value; while (wordsToWrite) { status = FLASH_ProgramHalfWord(pageBase + pos + (i * 2), wordBuffer[i]); - if (status != FLASH_COMPLETE) return false; + if (status != FLASH_COMPLETE) return true; wordsToWrite--; i++; } @@ -85,15 +87,15 @@ bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { if (size & 1) { uint16_t temp = value[size - 1]; status = FLASH_ProgramHalfWord(pageBase + pos + i, temp); - if (status != FLASH_COMPLETE) return false; + if (status != FLASH_COMPLETE) return true; } crc16(crc, value, size); pos += ((size + 1) & ~1); - return true; + return false; } -void read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing/*=true*/) { +bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing/*=true*/) { for (uint16_t i = 0; i < size; i++) { byte* accessPoint = (byte*)(pageBase + pos + i); uint8_t c = *accessPoint; @@ -101,6 +103,7 @@ void read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const boo crc16(crc, &c, 1); } pos += ((size + 1) & ~1); + return false; } } // PersistentStore diff --git a/Marlin/src/HAL/HAL_STM32F1/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_STM32F1/persistent_store_impl.cpp index bff46100855c..a64eab076fb1 100644 --- a/Marlin/src/HAL/HAL_STM32F1/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/persistent_store_impl.cpp @@ -44,37 +44,35 @@ namespace HAL { namespace PersistentStore { -#define CONFIG_FILE_NAME "eeprom.dat" #define HAL_STM32F1_EEPROM_SIZE 4096 char HAL_STM32F1_eeprom_content[HAL_STM32F1_EEPROM_SIZE]; +char eeprom_filename[] = "eeprom.dat"; + bool access_start() { if (!card.cardOK) return false; int16_t bytes_read = 0; - const char eeprom_zero = 0xFF; - card.openFile((char *)CONFIG_FILE_NAME,true); - bytes_read = card.read (HAL_STM32F1_eeprom_content, HAL_STM32F1_EEPROM_SIZE); - if (bytes_read == -1) return false; - for (; bytes_read < HAL_STM32F1_EEPROM_SIZE; bytes_read++) { + constexpr char eeprom_zero = 0xFF; + card.openFile(eeprom_filename, true); + bytes_read = card.read(HAL_STM32F1_eeprom_content, HAL_STM32F1_EEPROM_SIZE); + if (bytes_read < 0) return false; + for (; bytes_read < HAL_STM32F1_EEPROM_SIZE; bytes_read++) HAL_STM32F1_eeprom_content[bytes_read] = eeprom_zero; - } card.closefile(); return true; } -bool access_finish(){ +bool access_finish() { if (!card.cardOK) return false; - int16_t bytes_written = 0; - card.openFile((char *)CONFIG_FILE_NAME,true); - bytes_written = card.write (HAL_STM32F1_eeprom_content, HAL_STM32F1_EEPROM_SIZE); + card.openFile(eeprom_filename, true); + int16_t bytes_written = card.write(HAL_STM32F1_eeprom_content, HAL_STM32F1_EEPROM_SIZE); card.closefile(); return (bytes_written == HAL_STM32F1_EEPROM_SIZE); } bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { - for (int i = 0; i < size; i++) { - HAL_STM32F1_eeprom_content [pos + i] = value[i]; - } + for (int i = 0; i < size; i++) + HAL_STM32F1_eeprom_content[pos + i] = value[i]; crc16(crc, value, size); pos += size; return false; diff --git a/Marlin/src/HAL/HAL_STM32F1/pinsDebug.h b/Marlin/src/HAL/HAL_STM32F1/pinsDebug.h new file mode 100644 index 000000000000..e5022f79a482 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F1/pinsDebug.h @@ -0,0 +1 @@ +#error Debug pins is not supported on this Platform! diff --git a/Marlin/src/HAL/HAL_STM32F4/EEPROM_Emul/eeprom_emul.cpp b/Marlin/src/HAL/HAL_STM32F4/EEPROM_Emul/eeprom_emul.cpp new file mode 100644 index 000000000000..26ab2fc92c22 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/EEPROM_Emul/eeprom_emul.cpp @@ -0,0 +1,571 @@ +/** + ****************************************************************************** + * @file EEPROM/EEPROM_Emulation/src/eeprom.c + * @author MCD Application Team + * @version V1.2.6 + * @date 04-November-2016 + * @brief This file provides all the EEPROM emulation firmware functions. + ****************************************************************************** + * @attention + * + *

© Copyright © 2016 STMicroelectronics International N.V. + * All rights reserved.

+ * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted, provided that the following conditions are met: + * + * 1. Redistribution of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of other + * contributors to this software may be used to endorse or promote products + * derived from this software without specific written permission. + * 4. This software, including modifications and/or derivative works of this + * software, must execute solely and exclusively on microcontroller or + * microprocessor devices manufactured by or for STMicroelectronics. + * 5. Redistribution and use of this software other than as permitted under + * this license is void and will automatically terminate your rights under + * this license. + * + * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A + * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY + * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT + * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ +/** @addtogroup EEPROM_Emulation + * @{ + */ +#if defined(STM32F4) || defined(STM32F4xx) + +/* Includes ------------------------------------------------------------------*/ +#include "eeprom_emul.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ + +/* Global variable used to store variable value in read sequence */ +uint16_t DataVar = 0; + +/* Virtual address defined by the user: 0xFFFF value is prohibited */ +uint16_t VirtAddVarTab[NB_OF_VAR]; + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +static HAL_StatusTypeDef EE_Format(void); +static uint16_t EE_FindValidPage(uint8_t Operation); +static uint16_t EE_VerifyPageFullWriteVariable(uint16_t VirtAddress, uint16_t Data); +static uint16_t EE_PageTransfer(uint16_t VirtAddress, uint16_t Data); +static uint16_t EE_VerifyPageFullyErased(uint32_t Address); + +/** + * @brief Restore the pages to a known good state in case of page's status + * corruption after a power loss. + * @param None. + * @retval - Flash error code: on write Flash error + * - FLASH_COMPLETE: on success + */ +uint16_t EE_Initialise(void) { + uint16_t PageStatus0 = 6, PageStatus1 = 6; + uint16_t VarIdx = 0; + uint16_t EepromStatus = 0, ReadStatus = 0; + int16_t x = -1; + HAL_StatusTypeDef FlashStatus; + uint32_t SectorError = 0; + FLASH_EraseInitTypeDef pEraseInit; + + + /* Get Page0 status */ + PageStatus0 = (*(__IO uint16_t*)PAGE0_BASE_ADDRESS); + /* Get Page1 status */ + PageStatus1 = (*(__IO uint16_t*)PAGE1_BASE_ADDRESS); + + pEraseInit.TypeErase = TYPEERASE_SECTORS; + pEraseInit.Sector = PAGE0_ID; + pEraseInit.NbSectors = 1; + pEraseInit.VoltageRange = VOLTAGE_RANGE; + + /* Check for invalid header states and repair if necessary */ + switch (PageStatus0) { + case ERASED: + if (PageStatus1 == VALID_PAGE) { /* Page0 erased, Page1 valid */ + /* Erase Page0 */ + if(!EE_VerifyPageFullyErased(PAGE0_BASE_ADDRESS)) { + FlashStatus = HAL_FLASHEx_Erase(&pEraseInit, &SectorError); + /* If erase operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) { + return FlashStatus; + } + } + } + else if (PageStatus1 == RECEIVE_DATA) { /* Page0 erased, Page1 receive */ + /* Erase Page0 */ + if (!EE_VerifyPageFullyErased(PAGE0_BASE_ADDRESS)) { + FlashStatus = HAL_FLASHEx_Erase(&pEraseInit, &SectorError); + /* If erase operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + } + /* Mark Page1 as valid */ + FlashStatus = HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, PAGE1_BASE_ADDRESS, VALID_PAGE); + /* If program operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + } + else { /* First EEPROM access (Page0&1 are erased) or invalid state -> format EEPROM */ + /* Erase both Page0 and Page1 and set Page0 as valid page */ + FlashStatus = EE_Format(); + /* If erase/program operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + } + break; + + case RECEIVE_DATA: + if (PageStatus1 == VALID_PAGE) { /* Page0 receive, Page1 valid */ + /* Transfer data from Page1 to Page0 */ + for (VarIdx = 0; VarIdx < NB_OF_VAR; VarIdx++) { + if (( *(__IO uint16_t*)(PAGE0_BASE_ADDRESS + 6)) == VirtAddVarTab[VarIdx]) + x = VarIdx; + if (VarIdx != x) { + /* Read the last variables' updates */ + ReadStatus = EE_ReadVariable(VirtAddVarTab[VarIdx], &DataVar); + /* In case variable corresponding to the virtual address was found */ + if (ReadStatus != 0x1) { + /* Transfer the variable to the Page0 */ + EepromStatus = EE_VerifyPageFullWriteVariable(VirtAddVarTab[VarIdx], DataVar); + /* If program operation was failed, a Flash error code is returned */ + if (EepromStatus != HAL_OK) return EepromStatus; + } + } + } + /* Mark Page0 as valid */ + FlashStatus = HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, PAGE0_BASE_ADDRESS, VALID_PAGE); + /* If program operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + pEraseInit.Sector = PAGE1_ID; + pEraseInit.NbSectors = 1; + pEraseInit.VoltageRange = VOLTAGE_RANGE; + /* Erase Page1 */ + if (!EE_VerifyPageFullyErased(PAGE1_BASE_ADDRESS)) { + FlashStatus = HAL_FLASHEx_Erase(&pEraseInit, &SectorError); + /* If erase operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + } + } + else if (PageStatus1 == ERASED) { /* Page0 receive, Page1 erased */ + pEraseInit.Sector = PAGE1_ID; + pEraseInit.NbSectors = 1; + pEraseInit.VoltageRange = VOLTAGE_RANGE; + /* Erase Page1 */ + if (!EE_VerifyPageFullyErased(PAGE1_BASE_ADDRESS)) { + FlashStatus = HAL_FLASHEx_Erase(&pEraseInit, &SectorError); + /* If erase operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + } + /* Mark Page0 as valid */ + FlashStatus = HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, PAGE0_BASE_ADDRESS, VALID_PAGE); + /* If program operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + } + else { /* Invalid state -> format eeprom */ + /* Erase both Page0 and Page1 and set Page0 as valid page */ + FlashStatus = EE_Format(); + /* If erase/program operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + } + break; + + case VALID_PAGE: + if (PageStatus1 == VALID_PAGE) { /* Invalid state -> format eeprom */ + /* Erase both Page0 and Page1 and set Page0 as valid page */ + FlashStatus = EE_Format(); + /* If erase/program operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + } + else if (PageStatus1 == ERASED) { /* Page0 valid, Page1 erased */ + pEraseInit.Sector = PAGE1_ID; + pEraseInit.NbSectors = 1; + pEraseInit.VoltageRange = VOLTAGE_RANGE; + /* Erase Page1 */ + if (!EE_VerifyPageFullyErased(PAGE1_BASE_ADDRESS)) { + FlashStatus = HAL_FLASHEx_Erase(&pEraseInit, &SectorError); + /* If erase operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + } + } + else { /* Page0 valid, Page1 receive */ + /* Transfer data from Page0 to Page1 */ + for (VarIdx = 0; VarIdx < NB_OF_VAR; VarIdx++) { + if ((*(__IO uint16_t*)(PAGE1_BASE_ADDRESS + 6)) == VirtAddVarTab[VarIdx]) + x = VarIdx; + + if (VarIdx != x) { + /* Read the last variables' updates */ + ReadStatus = EE_ReadVariable(VirtAddVarTab[VarIdx], &DataVar); + /* In case variable corresponding to the virtual address was found */ + if (ReadStatus != 0x1) { + /* Transfer the variable to the Page1 */ + EepromStatus = EE_VerifyPageFullWriteVariable(VirtAddVarTab[VarIdx], DataVar); + /* If program operation was failed, a Flash error code is returned */ + if (EepromStatus != HAL_OK) return EepromStatus; + } + } + } + /* Mark Page1 as valid */ + FlashStatus = HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, PAGE1_BASE_ADDRESS, VALID_PAGE); + /* If program operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + pEraseInit.Sector = PAGE0_ID; + pEraseInit.NbSectors = 1; + pEraseInit.VoltageRange = VOLTAGE_RANGE; + /* Erase Page0 */ + if (!EE_VerifyPageFullyErased(PAGE0_BASE_ADDRESS)) { + FlashStatus = HAL_FLASHEx_Erase(&pEraseInit, &SectorError); + /* If erase operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + } + } + break; + + default: /* Any other state -> format eeprom */ + /* Erase both Page0 and Page1 and set Page0 as valid page */ + FlashStatus = EE_Format(); + /* If erase/program operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + break; + } + + return HAL_OK; +} + +/** + * @brief Verify if specified page is fully erased. + * @param Address: page address + * This parameter can be one of the following values: + * @arg PAGE0_BASE_ADDRESS: Page0 base address + * @arg PAGE1_BASE_ADDRESS: Page1 base address + * @retval page fully erased status: + * - 0: if Page not erased + * - 1: if Page erased + */ +uint16_t EE_VerifyPageFullyErased(uint32_t Address) { + uint32_t ReadStatus = 1; + uint16_t AddressValue = 0x5555; + /* Check each active page address starting from end */ + while (Address <= PAGE0_END_ADDRESS) { + /* Get the current location content to be compared with virtual address */ + AddressValue = (*(__IO uint16_t*)Address); + /* Compare the read address with the virtual address */ + if (AddressValue != ERASED) { + /* In case variable value is read, reset ReadStatus flag */ + ReadStatus = 0; + break; + } + /* Next address location */ + Address += 4; + } + /* Return ReadStatus value: (0: Page not erased, 1: Sector erased) */ + return ReadStatus; +} + +/** + * @brief Returns the last stored variable data, if found, which correspond to + * the passed virtual address + * @param VirtAddress: Variable virtual address + * @param Data: Global variable contains the read variable value + * @retval Success or error status: + * - 0: if variable was found + * - 1: if the variable was not found + * - NO_VALID_PAGE: if no valid page was found. + */ +uint16_t EE_ReadVariable(uint16_t VirtAddress, uint16_t* Data) { + uint16_t ValidPage = PAGE0; + uint16_t AddressValue = 0x5555, ReadStatus = 1; + uint32_t Address = EEPROM_START_ADDRESS, PageStartAddress = EEPROM_START_ADDRESS; + + /* Get active Page for read operation */ + ValidPage = EE_FindValidPage(READ_FROM_VALID_PAGE); + + /* Check if there is no valid page */ + if (ValidPage == NO_VALID_PAGE) return NO_VALID_PAGE; + + /* Get the valid Page start Address */ + PageStartAddress = (uint32_t)(EEPROM_START_ADDRESS + (uint32_t)(ValidPage * PAGE_SIZE)); + + /* Get the valid Page end Address */ + Address = (uint32_t)((EEPROM_START_ADDRESS - 2) + (uint32_t)((1 + ValidPage) * PAGE_SIZE)); + + /* Check each active page address starting from end */ + while (Address > (PageStartAddress + 2)) { + /* Get the current location content to be compared with virtual address */ + AddressValue = (*(__IO uint16_t*)Address); + + /* Compare the read address with the virtual address */ + if (AddressValue == VirtAddress) { + /* Get content of Address-2 which is variable value */ + *Data = (*(__IO uint16_t*)(Address - 2)); + /* In case variable value is read, reset ReadStatus flag */ + ReadStatus = 0; + break; + } + else /* Next address location */ + Address -= 4; + } + /* Return ReadStatus value: (0: variable exist, 1: variable doesn't exist) */ + return ReadStatus; +} + +/** + * @brief Writes/upadtes variable data in EEPROM. + * @param VirtAddress: Variable virtual address + * @param Data: 16 bit data to be written + * @retval Success or error status: + * - FLASH_COMPLETE: on success + * - PAGE_FULL: if valid page is full + * - NO_VALID_PAGE: if no valid page was found + * - Flash error code: on write Flash error + */ +uint16_t EE_WriteVariable(uint16_t VirtAddress, uint16_t Data) { + /* Write the variable virtual address and value in the EEPROM */ + uint16_t Status = EE_VerifyPageFullWriteVariable(VirtAddress, Data); + + /* In case the EEPROM active page is full */ + if (Status == PAGE_FULL) /* Perform Page transfer */ + Status = EE_PageTransfer(VirtAddress, Data); + + /* Return last operation status */ + return Status; +} + +/** + * @brief Erases PAGE and PAGE1 and writes VALID_PAGE header to PAGE + * @param None + * @retval Status of the last operation (Flash write or erase) done during + * EEPROM formating + */ +static HAL_StatusTypeDef EE_Format(void) { + HAL_StatusTypeDef FlashStatus = HAL_OK; + uint32_t SectorError = 0; + FLASH_EraseInitTypeDef pEraseInit; + + pEraseInit.TypeErase = FLASH_TYPEERASE_SECTORS; + pEraseInit.Sector = PAGE0_ID; + pEraseInit.NbSectors = 1; + pEraseInit.VoltageRange = VOLTAGE_RANGE; + /* Erase Page0 */ + if (!EE_VerifyPageFullyErased(PAGE0_BASE_ADDRESS)) { + FlashStatus = HAL_FLASHEx_Erase(&pEraseInit, &SectorError); + /* If erase operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + } + /* Set Page0 as valid page: Write VALID_PAGE at Page0 base address */ + FlashStatus = HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, PAGE0_BASE_ADDRESS, VALID_PAGE); + /* If program operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + + pEraseInit.Sector = PAGE1_ID; + /* Erase Page1 */ + if (!EE_VerifyPageFullyErased(PAGE1_BASE_ADDRESS)) { + FlashStatus = HAL_FLASHEx_Erase(&pEraseInit, &SectorError); + /* If erase operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + } + + return HAL_OK; +} + +/** + * @brief Find valid Page for write or read operation + * @param Operation: operation to achieve on the valid page. + * This parameter can be one of the following values: + * @arg READ_FROM_VALID_PAGE: read operation from valid page + * @arg WRITE_IN_VALID_PAGE: write operation from valid page + * @retval Valid page number (PAGE or PAGE1) or NO_VALID_PAGE in case + * of no valid page was found + */ +static uint16_t EE_FindValidPage(uint8_t Operation) { + uint16_t PageStatus0 = 6, PageStatus1 = 6; + + /* Get Page0 actual status */ + PageStatus0 = (*(__IO uint16_t*)PAGE0_BASE_ADDRESS); + + /* Get Page1 actual status */ + PageStatus1 = (*(__IO uint16_t*)PAGE1_BASE_ADDRESS); + + /* Write or read operation */ + switch (Operation) { + case WRITE_IN_VALID_PAGE: /* ---- Write operation ---- */ + if (PageStatus1 == VALID_PAGE) { + /* Page0 receiving data */ + if (PageStatus0 == RECEIVE_DATA) return PAGE0; /* Page0 valid */ + else return PAGE1; /* Page1 valid */ + } + else if (PageStatus0 == VALID_PAGE) { + /* Page1 receiving data */ + if (PageStatus1 == RECEIVE_DATA) return PAGE1; /* Page1 valid */ + else return PAGE0; /* Page0 valid */ + } + else + return NO_VALID_PAGE; /* No valid Page */ + + case READ_FROM_VALID_PAGE: /* ---- Read operation ---- */ + if (PageStatus0 == VALID_PAGE) + return PAGE0; /* Page0 valid */ + else if (PageStatus1 == VALID_PAGE) + return PAGE1; /* Page1 valid */ + else + return NO_VALID_PAGE; /* No valid Page */ + + default: + return PAGE0; /* Page0 valid */ + } +} + +/** + * @brief Verify if active page is full and Writes variable in EEPROM. + * @param VirtAddress: 16 bit virtual address of the variable + * @param Data: 16 bit data to be written as variable value + * @retval Success or error status: + * - FLASH_COMPLETE: on success + * - PAGE_FULL: if valid page is full + * - NO_VALID_PAGE: if no valid page was found + * - Flash error code: on write Flash error + */ +static uint16_t EE_VerifyPageFullWriteVariable(uint16_t VirtAddress, uint16_t Data) { + HAL_StatusTypeDef FlashStatus = HAL_OK; + uint16_t ValidPage = PAGE0; + uint32_t Address = EEPROM_START_ADDRESS, PageEndAddress = EEPROM_START_ADDRESS+PAGE_SIZE; + + /* Get valid Page for write operation */ + ValidPage = EE_FindValidPage(WRITE_IN_VALID_PAGE); + + /* Check if there is no valid page */ + if (ValidPage == NO_VALID_PAGE) return NO_VALID_PAGE; + + /* Get the valid Page start Address */ + Address = (uint32_t)(EEPROM_START_ADDRESS + (uint32_t)(ValidPage * PAGE_SIZE)); + + /* Get the valid Page end Address */ + PageEndAddress = (uint32_t)((EEPROM_START_ADDRESS - 1) + (uint32_t)((ValidPage + 1) * PAGE_SIZE)); + + /* Check each active page address starting from begining */ + while (Address < PageEndAddress) { + /* Verify if Address and Address+2 contents are 0xFFFFFFFF */ + if ((*(__IO uint32_t*)Address) == 0xFFFFFFFF) { + /* Set variable data */ + FlashStatus = HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, Address, Data); + /* If program operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + /* Set variable virtual address */ + FlashStatus = HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, Address + 2, VirtAddress); + /* Return program operation status */ + return FlashStatus; + } + else /* Next address location */ + Address += 4; + } + + /* Return PAGE_FULL in case the valid page is full */ + return PAGE_FULL; +} + +/** + * @brief Transfers last updated variables data from the full Page to + * an empty one. + * @param VirtAddress: 16 bit virtual address of the variable + * @param Data: 16 bit data to be written as variable value + * @retval Success or error status: + * - FLASH_COMPLETE: on success + * - PAGE_FULL: if valid page is full + * - NO_VALID_PAGE: if no valid page was found + * - Flash error code: on write Flash error + */ +static uint16_t EE_PageTransfer(uint16_t VirtAddress, uint16_t Data) { + HAL_StatusTypeDef FlashStatus = HAL_OK; + uint32_t NewPageAddress = EEPROM_START_ADDRESS; + uint16_t OldPageId=0; + uint16_t ValidPage = PAGE0, VarIdx = 0; + uint16_t EepromStatus = 0, ReadStatus = 0; + uint32_t SectorError = 0; + FLASH_EraseInitTypeDef pEraseInit; + + /* Get active Page for read operation */ + ValidPage = EE_FindValidPage(READ_FROM_VALID_PAGE); + + if (ValidPage == PAGE1) { /* Page1 valid */ + /* New page address where variable will be moved to */ + NewPageAddress = PAGE0_BASE_ADDRESS; + /* Old page ID where variable will be taken from */ + OldPageId = PAGE1_ID; + } + else if (ValidPage == PAGE0) { /* Page0 valid */ + /* New page address where variable will be moved to */ + NewPageAddress = PAGE1_BASE_ADDRESS; + /* Old page ID where variable will be taken from */ + OldPageId = PAGE0_ID; + } + else + return NO_VALID_PAGE; /* No valid Page */ + + /* Set the new Page status to RECEIVE_DATA status */ + FlashStatus = HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, NewPageAddress, RECEIVE_DATA); + /* If program operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + + /* Write the variable passed as parameter in the new active page */ + EepromStatus = EE_VerifyPageFullWriteVariable(VirtAddress, Data); + /* If program operation was failed, a Flash error code is returned */ + if (EepromStatus != HAL_OK) return EepromStatus; + + /* Transfer process: transfer variables from old to the new active page */ + for (VarIdx = 0; VarIdx < NB_OF_VAR; VarIdx++) { + if (VirtAddVarTab[VarIdx] != VirtAddress) { /* Check each variable except the one passed as parameter */ + /* Read the other last variable updates */ + ReadStatus = EE_ReadVariable(VirtAddVarTab[VarIdx], &DataVar); + /* In case variable corresponding to the virtual address was found */ + if (ReadStatus != 0x1) { + /* Transfer the variable to the new active page */ + EepromStatus = EE_VerifyPageFullWriteVariable(VirtAddVarTab[VarIdx], DataVar); + /* If program operation was failed, a Flash error code is returned */ + if (EepromStatus != HAL_OK) return EepromStatus; + } + } + } + + pEraseInit.TypeErase = TYPEERASE_SECTORS; + pEraseInit.Sector = OldPageId; + pEraseInit.NbSectors = 1; + pEraseInit.VoltageRange = VOLTAGE_RANGE; + + /* Erase the old Page: Set old Page status to ERASED status */ + FlashStatus = HAL_FLASHEx_Erase(&pEraseInit, &SectorError); + /* If erase operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + + /* Set new Page status to VALID_PAGE status */ + FlashStatus = HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, NewPageAddress, VALID_PAGE); + /* If program operation was failed, a Flash error code is returned */ + if (FlashStatus != HAL_OK) return FlashStatus; + + /* Return last operation flash status */ + return FlashStatus; +} + +#endif // STM32F4 || STM32F4xx + +/** + * @} + */ + +/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/Marlin/src/HAL/HAL_STM32F4/EEPROM_Emul/eeprom_emul.h b/Marlin/src/HAL/HAL_STM32F4/EEPROM_Emul/eeprom_emul.h new file mode 100644 index 000000000000..476baee92fb7 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/EEPROM_Emul/eeprom_emul.h @@ -0,0 +1,117 @@ +/** + ****************************************************************************** + * @file EEPROM/EEPROM_Emulation/inc/eeprom.h + * @author MCD Application Team + * @version V1.2.6 + * @date 04-November-2016 + * @brief This file contains all the functions prototypes for the EEPROM + * emulation firmware library. + ****************************************************************************** + * @attention + * + *

© Copyright � 2016 STMicroelectronics International N.V. + * All rights reserved.

+ * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted, provided that the following conditions are met: + * + * 1. Redistribution of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of other + * contributors to this software may be used to endorse or promote products + * derived from this software without specific written permission. + * 4. This software, including modifications and/or derivative works of this + * software, must execute solely and exclusively on microcontroller or + * microprocessor devices manufactured by or for STMicroelectronics. + * 5. Redistribution and use of this software other than as permitted under + * this license is void and will automatically terminate your rights under + * this license. + * + * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A + * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY + * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT + * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __EEEPROM_EMUL_H +#define __EEEPROM_EMUL_H + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- +#include "../../../inc/MarlinConfig.h" +#include "../HAL.h" + +/* Exported constants --------------------------------------------------------*/ +/* EEPROM emulation firmware error codes */ +#define EE_OK (uint32_t)HAL_OK +#define EE_ERROR (uint32_t)HAL_ERROR +#define EE_BUSY (uint32_t)HAL_BUSY +#define EE_TIMEOUT (uint32_t)HAL_TIMEOUT + +/* Define the size of the sectors to be used */ +#define PAGE_SIZE (uint32_t)0x4000 /* Page size = 16KByte */ + +/* Device voltage range supposed to be [2.7V to 3.6V], the operation will + be done by word */ +#define VOLTAGE_RANGE (uint8_t)VOLTAGE_RANGE_3 + +/* EEPROM start address in Flash */ +#define EEPROM_START_ADDRESS ((uint32_t)0x08078000) /* EEPROM emulation start address: + after 480KByte of used Flash memory */ + +/* Pages 0 and 1 base and end addresses */ +#define PAGE0_BASE_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS + 0x0000)) +#define PAGE0_END_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS + (PAGE_SIZE - 1))) +#define PAGE0_ID FLASH_SECTOR_1 + +#define PAGE1_BASE_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS + 0x4000)) +#define PAGE1_END_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS + (2 * PAGE_SIZE - 1))) +#define PAGE1_ID FLASH_SECTOR_2 + +/* Used Flash pages for EEPROM emulation */ +#define PAGE0 ((uint16_t)0x0000) +#define PAGE1 ((uint16_t)0x0001) /* Page nb between PAGE0_BASE_ADDRESS & PAGE1_BASE_ADDRESS*/ + +/* No valid page define */ +#define NO_VALID_PAGE ((uint16_t)0x00AB) + +/* Page status definitions */ +#define ERASED ((uint16_t)0xFFFF) /* Page is empty */ +#define RECEIVE_DATA ((uint16_t)0xEEEE) /* Page is marked to receive data */ +#define VALID_PAGE ((uint16_t)0x0000) /* Page containing valid data */ + +/* Valid pages in read and write defines */ +#define READ_FROM_VALID_PAGE ((uint8_t)0x00) +#define WRITE_IN_VALID_PAGE ((uint8_t)0x01) + +/* Page full define */ +#define PAGE_FULL ((uint8_t)0x80) + +/* Variables' number */ +#define NB_OF_VAR ((uint16_t)4096) + +/* Exported types ------------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +uint16_t EE_Initialise(void); +uint16_t EE_ReadVariable(uint16_t VirtAddress, uint16_t* Data); +uint16_t EE_WriteVariable(uint16_t VirtAddress, uint16_t Data); + +#endif /* __EEEPROM_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Marlin/src/HAL/HAL_STM32F4/EmulatedEeprom.cpp b/Marlin/src/HAL/HAL_STM32F4/EmulatedEeprom.cpp new file mode 100644 index 000000000000..b76de3dbe81e --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/EmulatedEeprom.cpp @@ -0,0 +1,143 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * 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 . + * + */ + +#if defined(STM32F4) || defined(STM32F4xx) + +/** + * Description: functions for I2C connected external EEPROM. + * Not platform dependent. + */ + +#include "../../inc/MarlinConfig.h" + +#if ENABLED(EEPROM_SETTINGS) && DISABLED(I2C_EEPROM) && DISABLED(SPI_EEPROM) + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include "HAL.h" +#include "EEPROM_Emul/eeprom_emul.h" + + +// -------------------------------------------------------------------------- +// Externals +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Local defines +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Types +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Variables +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Private Variables +// -------------------------------------------------------------------------- +static bool eeprom_initialised = false; +// -------------------------------------------------------------------------- +// Function prototypes +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Private functions +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +// FLASH_FLAG_PGSERR (Programming Sequence Error) was renamed to +// FLASH_FLAG_ERSERR (Erasing Sequence Error) in STM32F4 +// #define FLASH_FLAG_PGSERR FLASH_FLAG_ERSERR + +// -------------------------------------------------------------------------- +// EEPROM +// -------------------------------------------------------------------------- + + +void eeprom_init() { + if (!eeprom_initialised) { + HAL_FLASH_Unlock(); + + __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR |FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR); + + /* EEPROM Init */ + if (EE_Initialise() != EE_OK) + for (;;) HAL_Delay(1); // Spin forever until watchdog reset + + HAL_FLASH_Lock(); + eeprom_initialised = true; + } +} + +void eeprom_write_byte(unsigned char *pos, unsigned char value) { + uint16_t eeprom_address = (unsigned) pos; + + eeprom_init(); + + HAL_FLASH_Unlock(); + __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR |FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR); + + if (EE_WriteVariable(eeprom_address, (uint16_t) value) != EE_OK) + for (;;) HAL_Delay(1); // Spin forever until watchdog reset + + HAL_FLASH_Lock(); +} + +unsigned char eeprom_read_byte(unsigned char *pos) { + uint16_t data = 0xFF; + uint16_t eeprom_address = (unsigned)pos; + + eeprom_init(); + + if (EE_ReadVariable(eeprom_address, &data) != EE_OK) { + return (unsigned char)data; + } + return (unsigned char)data; +} + +void eeprom_read_block(void *__dst, const void *__src, size_t __n) { + uint16_t data = 0xFF; + uint16_t eeprom_address = (unsigned) __src; + + eeprom_init(); + + for (uint8_t c = 0; c < __n; c++) { + EE_ReadVariable(eeprom_address+c, &data); + *((uint8_t*)__dst + c) = data; + } +} + +void eeprom_update_block(const void *__src, void *__dst, size_t __n) { + +} + +#endif // ENABLED(EEPROM_SETTINGS) && DISABLED(I2C_EEPROM) && DISABLED(SPI_EEPROM) +#endif // STM32F4 || STM32F4xx + diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL_Stm32f1.cpp b/Marlin/src/HAL/HAL_STM32F4/HAL.cpp similarity index 62% rename from Marlin/src/HAL/HAL_STM32F1/HAL_Stm32f1.cpp rename to Marlin/src/HAL/HAL_STM32F4/HAL.cpp index d47b960ab57b..c79af5859a0c 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_Stm32f1.cpp +++ b/Marlin/src/HAL/HAL_STM32F4/HAL.cpp @@ -21,18 +21,13 @@ * */ -/** - * HAL for stm32duino.com based on Libmaple and compatible (STM32F1) - */ - -#ifdef __STM32F1__ +#if defined(STM32F4) || defined(STM32F4xx) // -------------------------------------------------------------------------- // Includes // -------------------------------------------------------------------------- -#include "../HAL.h" -#include +#include "HAL.h" //#include @@ -55,66 +50,12 @@ // -------------------------------------------------------------------------- // Public Variables // -------------------------------------------------------------------------- -USBSerial SerialUSB; uint16_t HAL_adc_result; // -------------------------------------------------------------------------- // Private Variables // -------------------------------------------------------------------------- -STM32ADC adc(ADC1); - -uint8 adc_pins[] = { - #if HAS_TEMP_0 - TEMP_0_PIN, - #endif - #if HAS_TEMP_1 - TEMP_1_PIN - #endif - #if HAS_TEMP_2 - TEMP_2_PIN, - #endif - #if HAS_TEMP_3 - TEMP_3_PIN, - #endif - #if HAS_TEMP_4 - TEMP_4_PIN, - #endif - #if HAS_TEMP_BED - TEMP_BED_PIN, - #endif - #if ENABLED(FILAMENT_WIDTH_SENSOR) - FILWIDTH_PIN, - #endif -}; - -enum TEMP_PINS : char { - #if HAS_TEMP_0 - TEMP_0, - #endif - #if HAS_TEMP_1 - TEMP_1, - #endif - #if HAS_TEMP_2 - TEMP_2, - #endif - #if HAS_TEMP_3 - TEMP_3, - #endif - #if HAS_TEMP_4 - TEMP_4, - #endif - #if HAS_TEMP_BED - TEMP_BED, - #endif - #if ENABLED(FILAMENT_WIDTH_SENSOR) - FILWIDTH, - #endif - ADC_PIN_COUNT -}; - -uint16_t HAL_adc_results[ADC_PIN_COUNT]; - // -------------------------------------------------------------------------- // Function prototypes @@ -136,13 +77,16 @@ void cli(void) { noInterrupts(); } void sei(void) { interrupts(); } */ -void HAL_clear_reset_source(void) { } +void HAL_clear_reset_source(void) { __HAL_RCC_CLEAR_RESET_FLAGS(); } -/** - * TODO: Check this and change or remove. - * currently returns 1 that's equal to poweron reset. - */ -uint8_t HAL_get_reset_source(void) { return 1; } +uint8_t HAL_get_reset_source (void) { + if (__HAL_RCC_GET_FLAG(RCC_FLAG_IWDGRST) != RESET) return RST_WATCHDOG; + + if (__HAL_RCC_GET_FLAG(RCC_FLAG_SFTRST) != RESET) return RST_SOFTWARE; + if (__HAL_RCC_GET_FLAG(RCC_FLAG_PINRST) != RESET) return RST_EXTERNAL; + if (__HAL_RCC_GET_FLAG(RCC_FLAG_PORRST) != RESET) return RST_POWER_ON; + return 0; +} void _delay_ms(const int delay_ms) { delay(delay_ms); } @@ -150,10 +94,6 @@ extern "C" { extern unsigned int _ebss; // end of bss section } -/** - * TODO: Change this to correct it for libmaple - */ - // return free memory between end of heap (or end bss) and whatever is current /* @@ -181,48 +121,13 @@ extern "C" { // -------------------------------------------------------------------------- // ADC // -------------------------------------------------------------------------- -// Init the AD in continuous capture mode -void HAL_adc_init(void) { - // configure the ADC - adc.calibrate(); - adc.setSampleRate(ADC_SMPR_41_5); // ? - adc.setPins(adc_pins, ADC_PIN_COUNT); - adc.setDMA(HAL_adc_results, (uint16_t)ADC_PIN_COUNT, (uint32_t)(DMA_MINC_MODE | DMA_CIRC_MODE), (void (*)())NULL); - adc.setScanMode(); - adc.setContinuous(); - adc.startConversion(); -} void HAL_adc_start_conversion(const uint8_t adc_pin) { - TEMP_PINS pin_index; - switch (adc_pin) { - #if HAS_TEMP_0 - case TEMP_0_PIN: pin_index = TEMP_0; break; - #endif - #if HAS_TEMP_1 - case TEMP_1_PIN: pin_index = TEMP_1; break; - #endif - #if HAS_TEMP_2 - case TEMP_2_PIN: pin_index = TEMP_2; break; - #endif - #if HAS_TEMP_3 - case TEMP_3_PIN: pin_index = TEMP_3; break; - #endif - #if HAS_TEMP_4 - case TEMP_4_PIN: pin_index = TEMP_4; break; - #endif - #if HAS_TEMP_BED - case TEMP_BED_PIN: pin_index = TEMP_BED; break; - #endif - #if ENABLED(FILAMENT_WIDTH_SENSOR) - case FILWIDTH_PIN: pin_index = FILWIDTH; break; - #endif - } - HAL_adc_result = (HAL_adc_results[(int)pin_index] >> 2) & 0x3FF; // shift to get 10 bits only. + HAL_adc_result = analogRead(adc_pin); } uint16_t HAL_adc_get_result(void) { return HAL_adc_result; } -#endif // __STM32F1__ +#endif // STM32F4 || STM32F4xx diff --git a/Marlin/src/HAL/HAL_STM32F4/HAL.h b/Marlin/src/HAL/HAL_STM32F4/HAL.h new file mode 100644 index 000000000000..b5beefbfe191 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/HAL.h @@ -0,0 +1,256 @@ +/** + * Marlin 3D Printer Firmware + * + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * Copyright (c) 2017 Victor Perez + * + * 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 . + * + */ + +#ifndef _HAL_STM32F4_H +#define _HAL_STM32F4_H + +#define CPU_32_BIT +#undef DEBUG_NONE + +#ifndef vsnprintf_P + #define vsnprintf_P vsnprintf +#endif + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include + +#include "Arduino.h" + +#ifdef USBCON + #include +#endif + +#include "../math_32bit.h" +#include "../HAL_SPI.h" +#include "fastio_STM32F4.h" +#include "watchdog_STM32F4.h" + +#include "HAL_timers_STM32F4.h" + +// -------------------------------------------------------------------------- +// Defines +// -------------------------------------------------------------------------- + +//Serial override +//extern HalSerial usb_serial; + +#if SERIAL_PORT == 0 + #error "Serial port 0 does not exist" +#endif + +#if !WITHIN(SERIAL_PORT, -1, 6) + #error "SERIAL_PORT must be from -1 to 6" +#endif +#if SERIAL_PORT == -1 + #define MYSERIAL0 SerialUSB +#elif SERIAL_PORT == 1 + #define MYSERIAL0 SerialUART1 +#elif SERIAL_PORT == 2 + #define MYSERIAL0 SerialUART2 +#elif SERIAL_PORT == 3 + #define MYSERIAL0 SerialUART3 +#elif SERIAL_PORT == 4 + #define MYSERIAL0 SerialUART4 +#elif SERIAL_PORT == 5 + #define MYSERIAL0 SerialUART5 +#elif SERIAL_PORT == 6 + #define MYSERIAL0 SerialUART6 +#endif + +#ifdef SERIAL_PORT_2 + #if SERIAL_PORT_2 == 0 + #error "Serial port 0 does not exist" + #endif + + #if !WITHIN(SERIAL_PORT_2, -1, 6) + #error "SERIAL_PORT_2 must be from -1 to 6" + #elif SERIAL_PORT_2 == SERIAL_PORT + #error "SERIAL_PORT_2 must be different than SERIAL_PORT" + #endif + #define NUM_SERIAL 2 + #if SERIAL_PORT_2 == -1 + #define MYSERIAL1 SerialUSB + #elif SERIAL_PORT_2 == 1 + #define MYSERIAL1 SerialUART1 + #elif SERIAL_PORT_2 == 2 + #define MYSERIAL1 SerialUART2 + #elif SERIAL_PORT_2 == 3 + #define MYSERIAL1 SerialUART3 + #elif SERIAL_PORT_2 == 4 + #define MYSERIAL1 SerialUART4 + #elif SERIAL_PORT_2 == 5 + #define MYSERIAL1 SerialUART5 + #elif SERIAL_PORT_2 == 6 + #define MYSERIAL1 SerialUART6 + #endif +#else + #define NUM_SERIAL 1 +#endif + +#define _BV(b) (1 << (b)) + +/** + * TODO: review this to return 1 for pins that are not analog input + */ +#ifndef analogInputToDigitalPin + #define analogInputToDigitalPin(p) (p) +#endif + +#define CRITICAL_SECTION_START uint32_t primask = __get_PRIMASK(); __disable_irq() +#define CRITICAL_SECTION_END if (!primask) __enable_irq() +#define ISRS_ENABLED() (!__get_PRIMASK()) +#define ENABLE_ISRS() __enable_irq() +#define DISABLE_ISRS() __disable_irq() + +// On AVR this is in math.h? +#define square(x) ((x)*(x)) + +#ifndef strncpy_P + #define strncpy_P(dest, src, num) strncpy((dest), (src), (num)) +#endif + +// Fix bug in pgm_read_ptr +#undef pgm_read_ptr +#define pgm_read_ptr(addr) (*(addr)) + +#define RST_POWER_ON 1 +#define RST_EXTERNAL 2 +#define RST_BROWN_OUT 4 +#define RST_WATCHDOG 8 +#define RST_JTAG 16 +#define RST_SOFTWARE 32 +#define RST_BACKUP 64 + +// -------------------------------------------------------------------------- +// Types +// -------------------------------------------------------------------------- + +typedef int8_t pin_t; + +#define HAL_SERVO_LIB libServo + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- + +/** result of last ADC conversion */ +extern uint16_t HAL_adc_result; + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +// Disable interrupts +#define cli() do { DISABLE_TEMPERATURE_INTERRUPT(); DISABLE_STEPPER_DRIVER_INTERRUPT(); } while(0) + +// Enable interrupts +#define sei() do { ENABLE_TEMPERATURE_INTERRUPT(); ENABLE_STEPPER_DRIVER_INTERRUPT(); } while(0) + +// Memory related +#define __bss_end __bss_end__ + +/** clear reset reason */ +void HAL_clear_reset_source (void); + +/** reset reason */ +uint8_t HAL_get_reset_source (void); + +void _delay_ms(const int delay); + +/* +extern "C" { + int freeMemory(void); +} +*/ + +extern "C" char* _sbrk(int incr); + +/* +static int freeMemory() { + volatile int top; + top = (int)((char*)&top - reinterpret_cast(_sbrk(0))); + return top; +} +*/ + +static int freeMemory() { + volatile char top; + return &top - reinterpret_cast(_sbrk(0)); +} + +// SPI: Extended functions which take a channel number (hardware SPI only) +/** Write single byte to specified SPI channel */ +void spiSend(uint32_t chan, byte b); +/** Write buffer to specified SPI channel */ +void spiSend(uint32_t chan, const uint8_t* buf, size_t n); +/** Read single byte from specified SPI channel */ +uint8_t spiRec(uint32_t chan); + + +// EEPROM + +/** + * TODO: Write all this eeprom stuff. Can emulate eeprom in flash as last resort. + * Wire library should work for i2c eeproms. + */ +void eeprom_write_byte(unsigned char *pos, unsigned char value); +unsigned char eeprom_read_byte(unsigned char *pos); +void eeprom_read_block (void *__dst, const void *__src, size_t __n); +void eeprom_update_block (const void *__src, void *__dst, size_t __n); + +// ADC + +#define HAL_ANALOG_SELECT(pin) pinMode(pin, INPUT) + +inline void HAL_adc_init(void) {} + +#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) +#define HAL_READ_ADC() HAL_adc_result +#define HAL_ADC_READY() true + +void HAL_adc_start_conversion(const uint8_t adc_pin); + +uint16_t HAL_adc_get_result(void); + +/* Todo: Confirm none of this is needed. +uint16_t HAL_getAdcReading(uint8_t chan); + +void HAL_startAdcConversion(uint8_t chan); +uint8_t HAL_pinToAdcChannel(int pin); + +uint16_t HAL_getAdcFreerun(uint8_t chan, bool wait_for_conversion = false); +//uint16_t HAL_getAdcSuperSample(uint8_t chan); + +void HAL_enable_AdcFreerun(void); +//void HAL_disable_AdcFreerun(uint8_t chan); + +*/ + +#define GET_PIN_MAP_PIN(index) index +#define GET_PIN_MAP_INDEX(pin) pin +#define PARSED_PIN_INDEX(code, dval) parser.intval(code, dval) + +#endif // _HAL_STM32F4_H diff --git a/Marlin/src/HAL/HAL_STM32F4/HAL_Servo_STM32F4.cpp b/Marlin/src/HAL/HAL_STM32F4/HAL_Servo_STM32F4.cpp new file mode 100644 index 000000000000..2877e88d54b7 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/HAL_Servo_STM32F4.cpp @@ -0,0 +1,53 @@ +/** + * 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 + * Copyright (C) 2017 Victor Perez + * + * 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 . + * + */ + +#if defined(STM32F4) || defined(STM32F4xx) + +#include "../../inc/MarlinConfig.h" + +#if HAS_SERVOS + +#include "HAL_Servo_STM32F4.h" + +int8_t libServo::attach(const int pin) { + return Servo::attach(pin); +} + +int8_t libServo::attach(const int pin, const int min, const int max) { + return Servo::attach(pin, min, max); +} + +void libServo::move(const int value) { + constexpr uint16_t servo_delay[] = SERVO_DELAY; + static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); + if (this->attach(0) >= 0) { + this->write(value); + safe_delay(servo_delay[this->servoIndex]); + #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) + this->detach(); + #endif + } +} +#endif // HAS_SERVOS + +#endif // STM32F4 || STM32F4xx diff --git a/Marlin/src/HAL/HAL_SanityCheck.h b/Marlin/src/HAL/HAL_STM32F4/HAL_Servo_STM32F4.h similarity index 62% rename from Marlin/src/HAL/HAL_SanityCheck.h rename to Marlin/src/HAL/HAL_STM32F4/HAL_Servo_STM32F4.h index 7f5400d4267b..b68910387c09 100644 --- a/Marlin/src/HAL/HAL_SanityCheck.h +++ b/Marlin/src/HAL/HAL_STM32F4/HAL_Servo_STM32F4.h @@ -4,6 +4,7 @@ * * Based on Sprinter and grbl. * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm + * Copyright (C) 2017 Victor Perez * * 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 @@ -20,28 +21,21 @@ * */ -#ifndef HAL_SANITYCHECK_H +#ifndef HAL_SERVO_STM32F4_H +#define HAL_SERVO_STM32F4_H -#ifdef __AVR__ - #include "HAL_AVR/SanityCheck_AVR_8_bit.h" +#include - #elif defined(ARDUINO_ARCH_SAM) - #include "HAL_DUE/SanityCheck_Due.h" +// Inherit and expand on the official library +class libServo : public Servo { +public: + int8_t attach(const int pin); + int8_t attach(const int pin, const int min, const int max); + void move(const int value); +private: + uint16_t min_ticks; + uint16_t max_ticks; + uint8_t servoIndex; // index into the channel data for this servo +}; - #elif IS_32BIT_TEENSY - #include "HAL_TEENSY35_36/SanityCheck_Teensy_35_36.h" - - #elif defined(TARGET_LPC1768) - #include "HAL_LPC1768/SanityCheck.h" - - #elif defined(__STM32F1__) - #include "HAL_STM32F1/SanityCheck_Stm32f1.h" - - #elif defined(STM32F7) - #include "HAL_STM32F7/SanityCheck_STM32F7.h" - -#else - #error Unsupported Platform! -#endif - -#endif +#endif // HAL_SERVO_STM32F4_H diff --git a/Marlin/src/HAL/HAL_STM32F4/HAL_spi_STM32F4.cpp b/Marlin/src/HAL/HAL_STM32F4/HAL_spi_STM32F4.cpp new file mode 100644 index 000000000000..606d43f7f91e --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/HAL_spi_STM32F4.cpp @@ -0,0 +1,176 @@ +/** + * 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 + * Copyright (C) 2017 Victor Perez + * + * 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 . + * + */ + +/** + * Software SPI functions originally from Arduino Sd2Card Library + * Copyright (C) 2009 by William Greiman + */ + +/** + * Adapted to the STM32F4 HAL + */ + +#if defined(STM32F4) || defined(STM32F4xx) + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include "HAL.h" +#include "../HAL_SPI.h" +#include "pins_arduino.h" +#include "spi_pins.h" +#include "../../core/macros.h" +#include + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- + +static SPISettings spiConfig; + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +#if ENABLED(SOFTWARE_SPI) + + // -------------------------------------------------------------------------- + // Software SPI + // -------------------------------------------------------------------------- + #error "Software SPI not supported for STM32F4. Use hardware SPI." + +#else + +// -------------------------------------------------------------------------- +// Hardware SPI +// -------------------------------------------------------------------------- + +/** + * VGPV SPI speed start and F_CPU/2, by default 72/2 = 36Mhz + */ + +/** + * @brief Begin SPI port setup + * + * @return Nothing + * + * @details Only configures SS pin since libmaple creates and initialize the SPI object + */ +void spiBegin(void) { + #if !PIN_EXISTS(SS) + #error SS_PIN not defined! + #endif + + OUT_WRITE(SS_PIN, HIGH); +} + +/** Configure SPI for specified SPI speed */ +void spiInit(uint8_t spiRate) { + // Use datarates Marlin uses + uint32_t clock; + switch (spiRate) { + case SPI_FULL_SPEED: clock = 20000000; break; // 13.9mhz=20000000 6.75mhz=10000000 3.38mhz=5000000 .833mhz=1000000 + case SPI_HALF_SPEED: clock = 5000000; break; + case SPI_QUARTER_SPEED: clock = 2500000; break; + case SPI_EIGHTH_SPEED: clock = 1250000; break; + case SPI_SPEED_5: clock = 625000; break; + case SPI_SPEED_6: clock = 300000; break; + default: clock = 4000000; // Default from the SPI libarary + } + spiConfig = SPISettings(clock, MSBFIRST, SPI_MODE0); + SPI.begin(); +} + +/** + * @brief Receives a single byte from the SPI port. + * + * @return Byte received + * + * @details + */ +uint8_t spiRec(void) { + SPI.beginTransaction(spiConfig); + uint8_t returnByte = SPI.transfer(0xFF); + SPI.endTransaction(); + return returnByte; +} + +/** + * @brief Receives a number of bytes from the SPI port to a buffer + * + * @param buf Pointer to starting address of buffer to write to. + * @param nbyte Number of bytes to receive. + * @return Nothing + * + * @details Uses DMA + */ +void spiRead(uint8_t* buf, uint16_t nbyte) { + SPI.beginTransaction(spiConfig); + + #ifdef STM32GENERIC + SPI.dmaTransfer(0, const_cast(buf), nbyte); + #else + SPI.transfer((uint8_t*)buf, nbyte); + #endif + + SPI.endTransaction(); +} + +/** + * @brief Sends a single byte on SPI port + * + * @param b Byte to send + * + * @details + */ +void spiSend(uint8_t b) { + SPI.beginTransaction(spiConfig); + SPI.transfer(b); + SPI.endTransaction(); +} + +/** + * @brief Write token and then write from 512 byte buffer to SPI (for SD card) + * + * @param buf Pointer with buffer start address + * @return Nothing + * + * @details Use DMA + */ +void spiSendBlock(uint8_t token, const uint8_t* buf) { + SPI.beginTransaction(spiConfig); + SPI.transfer(token); + + #ifdef STM32GENERIC + SPI.dmaSend(const_cast(buf), 512); + #else + SPI.transfer((uint8_t*)buf, (uint8_t*)0, 512); + #endif + + SPI.endTransaction(); +} + +#endif // SOFTWARE_SPI + +#endif // STM32F4 || STM32F4xx diff --git a/Marlin/src/HAL/HAL_STM32F4/HAL_timers_STM32F4.cpp b/Marlin/src/HAL/HAL_STM32F4/HAL_timers_STM32F4.cpp new file mode 100644 index 000000000000..d03bf4c09b54 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/HAL_timers_STM32F4.cpp @@ -0,0 +1,159 @@ +/** + * Marlin 3D Printer Firmware + * + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * + * 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 . + * + */ + +#if defined(STM32F4) || defined(STM32F4xx) + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include "HAL.h" + +#include "HAL_timers_STM32F4.h" + +// -------------------------------------------------------------------------- +// Externals +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Local defines +// -------------------------------------------------------------------------- + +#define NUM_HARDWARE_TIMERS 2 +#define STEP_TIMER_IRQ_ID TIM5_IRQn +#define TEMP_TIMER_IRQ_ID TIM7_IRQn + +//#define PRESCALER 1 +// -------------------------------------------------------------------------- +// Types +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Private Variables +// -------------------------------------------------------------------------- + +stm32f4_timer_t TimerHandle[NUM_HARDWARE_TIMERS]; + +// -------------------------------------------------------------------------- +// Function prototypes +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Private functions +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +bool timers_initialised[NUM_HARDWARE_TIMERS] = {false}; + +void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { + + if (!timers_initialised[timer_num]) { + constexpr uint32_t step_prescaler = STEPPER_TIMER_PRESCALE - 1, + temp_prescaler = TEMP_TIMER_PRESCALE - 1; + switch (timer_num) { + case STEP_TIMER_NUM: + // STEPPER TIMER TIM5 - use a 32bit timer + #ifdef STM32GENERIC + __HAL_RCC_TIM5_CLK_ENABLE(); + TimerHandle[timer_num].handle.Instance = TIM5; + TimerHandle[timer_num].handle.Init.Prescaler = step_prescaler; + TimerHandle[timer_num].handle.Init.CounterMode = TIM_COUNTERMODE_UP; + TimerHandle[timer_num].handle.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + TimerHandle[timer_num].callback = (uint32_t)TC5_Handler; + #else + TimerHandle[timer_num].timer = TIM5; + TimerHandle[timer_num].irqHandle = TC5_Handler; + TimerHandleInit(&TimerHandle[timer_num], (((HAL_TIMER_RATE) / step_prescaler) / frequency) - 1, step_prescaler); + #endif + HAL_NVIC_SetPriority(STEP_TIMER_IRQ_ID, 6, 0); + break; + + case TEMP_TIMER_NUM: + // TEMP TIMER TIM7 - any available 16bit Timer (1 already used for PWM) + #ifdef STM32GENERIC + __HAL_RCC_TIM7_CLK_ENABLE(); + TimerHandle[timer_num].handle.Instance = TIM7; + TimerHandle[timer_num].handle.Init.Prescaler = temp_prescaler; + TimerHandle[timer_num].handle.Init.CounterMode = TIM_COUNTERMODE_UP; + TimerHandle[timer_num].handle.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + TimerHandle[timer_num].callback = (uint32_t)TC7_Handler; + #else + TimerHandle[timer_num].timer = TIM7; + TimerHandle[timer_num].irqHandle = TC7_Handler; + TimerHandleInit(&TimerHandle[timer_num], (((HAL_TIMER_RATE) / temp_prescaler) / frequency) - 1, temp_prescaler); + #endif + HAL_NVIC_SetPriority(TEMP_TIMER_IRQ_ID, 2, 0); + break; + } + timers_initialised[timer_num] = true; + } + + #ifdef STM32GENERIC + TimerHandle[timer_num].handle.Init.Period = (((HAL_TIMER_RATE) / TimerHandle[timer_num].handle.Init.Prescaler) / frequency) - 1; + if (HAL_TIM_Base_Init(&TimerHandle[timer_num].handle) == HAL_OK) + HAL_TIM_Base_Start_IT(&TimerHandle[timer_num].handle); + #endif +} + +#ifdef STM32GENERIC + extern "C" void TIM5_IRQHandler() { + ((void(*)(void))TimerHandle[0].callback)(); + } + extern "C" void TIM7_IRQHandler() { + ((void(*)(void))TimerHandle[1].callback)(); + } +#endif + +void HAL_timer_enable_interrupt(const uint8_t timer_num) { + switch (timer_num) { + case STEP_TIMER_NUM: HAL_NVIC_EnableIRQ(STEP_TIMER_IRQ_ID); break; + case TEMP_TIMER_NUM: HAL_NVIC_EnableIRQ(TEMP_TIMER_IRQ_ID); break; + } +} + +void HAL_timer_disable_interrupt(const uint8_t timer_num) { + switch (timer_num) { + case STEP_TIMER_NUM: HAL_NVIC_DisableIRQ(STEP_TIMER_IRQ_ID); break; + case TEMP_TIMER_NUM: HAL_NVIC_DisableIRQ(TEMP_TIMER_IRQ_ID); break; + } + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); +} + +bool HAL_timer_interrupt_enabled(const uint8_t timer_num) { + switch (timer_num) { + case STEP_TIMER_NUM: return NVIC->ISER[(uint32_t)((int32_t)STEP_TIMER_IRQ_ID) >> 5] & (uint32_t)(1 << ((uint32_t)((int32_t)STEP_TIMER_IRQ_ID) & (uint32_t)0x1F)); + case TEMP_TIMER_NUM: return NVIC->ISER[(uint32_t)((int32_t)TEMP_TIMER_IRQ_ID) >> 5] & (uint32_t)(1 << ((uint32_t)((int32_t)TEMP_TIMER_IRQ_ID) & (uint32_t)0x1F)); + } + return false; +} + +#endif // STM32F4 || STM32F4xx diff --git a/Marlin/src/HAL/HAL_STM32F4/HAL_timers_STM32F4.h b/Marlin/src/HAL/HAL_STM32F4/HAL_timers_STM32F4.h new file mode 100644 index 000000000000..943550d13fdc --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/HAL_timers_STM32F4.h @@ -0,0 +1,140 @@ +/** + * Marlin 3D Printer Firmware + * + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2017 Victor Perez + * + * 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 . + * + */ + +#ifndef _HAL_TIMERS_STM32F4_H +#define _HAL_TIMERS_STM32F4_H + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include + +// -------------------------------------------------------------------------- +// Defines +// -------------------------------------------------------------------------- + +#define FORCE_INLINE __attribute__((always_inline)) inline + +#define hal_timer_t uint32_t // TODO: One is 16-bit, one 32-bit - does this need to be checked? +#define HAL_TIMER_TYPE_MAX 0xFFFF + +#define HAL_TIMER_RATE (HAL_RCC_GetSysClockFreq() / 2) // frequency of timer peripherals + +#define STEP_TIMER_NUM 0 // index of timer to use for stepper +#define TEMP_TIMER_NUM 1 // index of timer to use for temperature +#define PULSE_TIMER_NUM STEP_TIMER_NUM + +#define TEMP_TIMER_PRESCALE 1000 // prescaler for setting Temp timer, 72Khz +#define TEMP_TIMER_FREQUENCY 1000 // temperature interrupt frequency + +#define STEPPER_TIMER_PRESCALE 54 // was 40,prescaler for setting stepper timer, 2Mhz +#define STEPPER_TIMER_RATE (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) // frequency of stepper timer +#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs + +#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer +#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE +#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US + +#define ENABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_enable_interrupt(STEP_TIMER_NUM) +#define DISABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_disable_interrupt(STEP_TIMER_NUM) +#define STEPPER_ISR_ENABLED() HAL_timer_interrupt_enabled(STEP_TIMER_NUM) + +#define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) +#define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) + +// TODO change this + +#ifdef STM32GENERIC + extern void TC5_Handler(); + extern void TC7_Handler(); + #define HAL_STEP_TIMER_ISR void TC5_Handler() + #define HAL_TEMP_TIMER_ISR void TC7_Handler() +#else + extern void TC5_Handler(stimer_t *htim); + extern void TC7_Handler(stimer_t *htim); + #define HAL_STEP_TIMER_ISR void TC5_Handler(stimer_t *htim) + #define HAL_TEMP_TIMER_ISR void TC7_Handler(stimer_t *htim) +#endif + + +// -------------------------------------------------------------------------- +// Types +// -------------------------------------------------------------------------- + +#ifdef STM32GENERIC + typedef struct { + TIM_HandleTypeDef handle; + uint32_t callback; + } tTimerConfig; + typedef tTimerConfig stm32f4_timer_t; +#else + typedef stimer_t stm32f4_timer_t; +#endif + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- + +extern stm32f4_timer_t TimerHandle[]; + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency); +void HAL_timer_enable_interrupt(const uint8_t timer_num); +void HAL_timer_disable_interrupt(const uint8_t timer_num); +bool HAL_timer_interrupt_enabled(const uint8_t timer_num); + +FORCE_INLINE static uint32_t HAL_timer_get_count(const uint8_t timer_num) { + return __HAL_TIM_GET_COUNTER(&TimerHandle[timer_num].handle); +} + +FORCE_INLINE static void HAL_timer_set_compare(const uint8_t timer_num, const uint32_t compare) { + __HAL_TIM_SET_AUTORELOAD(&TimerHandle[timer_num].handle, compare); + if (HAL_timer_get_count(timer_num) >= compare) + TimerHandle[timer_num].handle.Instance->EGR |= TIM_EGR_UG; // Generate an immediate update interrupt +} + +FORCE_INLINE static hal_timer_t HAL_timer_get_compare(const uint8_t timer_num) { + return __HAL_TIM_GET_AUTORELOAD(&TimerHandle[timer_num].handle); +} + +FORCE_INLINE static void HAL_timer_restrain(const uint8_t timer_num, const uint16_t interval_ticks) { + const hal_timer_t mincmp = HAL_timer_get_count(timer_num) + interval_ticks; + if (HAL_timer_get_compare(timer_num) < mincmp) + HAL_timer_set_compare(timer_num, mincmp); +} + +#ifdef STM32GENERIC + FORCE_INLINE static void HAL_timer_isr_prologue(const uint8_t timer_num) { + if (__HAL_TIM_GET_FLAG(&TimerHandle[timer_num].handle, TIM_FLAG_UPDATE) == SET) + __HAL_TIM_CLEAR_FLAG(&TimerHandle[timer_num].handle, TIM_FLAG_UPDATE); + } +#else + #define HAL_timer_isr_prologue(TIMER_NUM) +#endif + +#define HAL_timer_isr_epilogue(TIMER_NUM) + +#endif // _HAL_TIMERS_STM32F4_H diff --git a/Marlin/src/HAL/HAL_STM32F4/README.md b/Marlin/src/HAL/HAL_STM32F4/README.md new file mode 100644 index 000000000000..10396e875b88 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/README.md @@ -0,0 +1,12 @@ +# This HAL is for the STM32F407 MCU used with STM32Generic Arduino core by danieleff. + +# Arduino core is located at: + +https://github.com/danieleff/STM32GENERIC + +Unzip it into [Arduino]/hardware folder + +# This HAL is in development. + +This HAL is a modified version of Chris Barr's Picoprint STM32F4 HAL. + diff --git a/Marlin/src/HAL/HAL_STM32F7/SanityCheck_STM32F7.h b/Marlin/src/HAL/HAL_STM32F4/SanityCheck.h similarity index 96% rename from Marlin/src/HAL/HAL_STM32F7/SanityCheck_STM32F7.h rename to Marlin/src/HAL/HAL_STM32F4/SanityCheck.h index 8799c4eca793..605eb9cb1589 100644 --- a/Marlin/src/HAL/HAL_STM32F7/SanityCheck_STM32F7.h +++ b/Marlin/src/HAL/HAL_STM32F4/SanityCheck.h @@ -64,3 +64,7 @@ #endif #endif #endif // SPINDLE_LASER_ENABLE + +#if ENABLED(EMERGENCY_PARSER) + #error "EMERGENCY_PARSER is not yet implemented for STM32F4. Disable EMERGENCY_PARSER to continue." +#endif diff --git a/Marlin/src/HAL/HAL_STM32F4/endstop_interrupts.h b/Marlin/src/HAL/HAL_STM32F4/endstop_interrupts.h new file mode 100644 index 000000000000..2ccfd570663c --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/endstop_interrupts.h @@ -0,0 +1,62 @@ +/** + * 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 + * Copyright (C) 2017 Victor Perez + * + * 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 . + * + */ + +#ifndef _ENDSTOP_INTERRUPTS_H_ +#define _ENDSTOP_INTERRUPTS_H_ + +#include "../../module/endstops.h" + +// One ISR for all EXT-Interrupts +void endstop_ISR(void) { endstops.update(); } + +void setup_endstop_interrupts(void) { + #if HAS_X_MAX + attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE); + #endif + #if HAS_X_MIN + attachInterrupt(X_MIN_PIN, endstop_ISR, CHANGE); + #endif + #if HAS_Y_MAX + attachInterrupt(Y_MAX_PIN, endstop_ISR, CHANGE); + #endif + #if HAS_Y_MIN + attachInterrupt(Y_MIN_PIN, endstop_ISR, CHANGE); + #endif + #if HAS_Z_MAX + attachInterrupt(Z_MAX_PIN, endstop_ISR, CHANGE); + #endif + #if HAS_Z_MIN + attachInterrupt(Z_MIN_PIN, endstop_ISR, CHANGE); + #endif + #if HAS_Z2_MAX + attachInterrupt(Z2_MAX_PIN, endstop_ISR, CHANGE); + #endif + #if HAS_Z2_MIN + attachInterrupt(Z2_MIN_PIN, endstop_ISR, CHANGE); + #endif + #if HAS_Z_MIN_PROBE_PIN + attachInterrupt(Z_MIN_PROBE_PIN, endstop_ISR, CHANGE); + #endif +} + +#endif //_ENDSTOP_INTERRUPTS_H_ diff --git a/Marlin/src/HAL/HAL_STM32F4/fastio_STM32F4.h b/Marlin/src/HAL/HAL_STM32F4/fastio_STM32F4.h new file mode 100644 index 000000000000..e185344dc2e7 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/fastio_STM32F4.h @@ -0,0 +1,150 @@ +/** + * 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 + * Copyright (C) 2017 Victor Perez + * + * 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 . + * + */ + +/** + * Fast I/O interfaces for STM32F4 + * These use GPIO functions instead of Direct Port Manipulation, as on AVR. + */ + +#ifndef _FASTIO_STM32F4_H +#define _FASTIO_STM32F4_H + +#define _BV(b) (1 << (b)) + +#define USEABLE_HARDWARE_PWM(p) true + +#define READ(IO) digitalRead(IO) +#define WRITE(IO,V) digitalWrite(IO,V) +#define WRITE_VAR(IO,V) WRITE(IO,V) + +#define _GET_MODE(IO) +#define _SET_MODE(IO,M) pinMode(IO, M) +#define _SET_OUTPUT(IO) pinMode(IO, OUTPUT) /*!< Output Push Pull Mode & GPIO_NOPULL */ + +#define OUT_WRITE(IO,V) do{ _SET_OUTPUT(IO); WRITE(IO,V); }while(0) + +#define SET_INPUT(IO) _SET_MODE(IO, INPUT) /*!< Input Floating Mode */ +#define SET_INPUT_PULLUP(IO) _SET_MODE(IO, INPUT_PULLUP) /*!< Input with Pull-up activation */ +#define SET_INPUT_PULLDOWN(IO) _SET_MODE(IO, INPUT_PULLDOWN) /*!< Input with Pull-down activation */ +#define SET_OUTPUT(IO) OUT_WRITE(IO, LOW) + +#define TOGGLE(IO) OUT_WRITE(IO, !READ(IO)) + +#define GET_INPUT(IO) +#define GET_OUTPUT(IO) +#define GET_TIMER(IO) + +#define PORTA 0 +#define PORTB 1 +#define PORTC 2 +#define PORTD 3 +#define PORTE 4 + +#define _STM32_PIN(_PORT,_PIN) ((PORT##_PORT * 16) + _PIN) + +#define PA0 _STM32_PIN(A, 0) +#define PA1 _STM32_PIN(A, 1) +#define PA2 _STM32_PIN(A, 2) +#define PA3 _STM32_PIN(A, 3) +#define PA4 _STM32_PIN(A, 4) +#define PA5 _STM32_PIN(A, 5) +#define PA6 _STM32_PIN(A, 6) +#define PA7 _STM32_PIN(A, 7) +#define PA8 _STM32_PIN(A, 8) +#define PA9 _STM32_PIN(A, 9) +#define PA10 _STM32_PIN(A, 10) +#define PA11 _STM32_PIN(A, 11) +#define PA12 _STM32_PIN(A, 12) +#define PA13 _STM32_PIN(A, 13) +#define PA14 _STM32_PIN(A, 14) +#define PA15 _STM32_PIN(A, 15) + +#define PB0 _STM32_PIN(B, 0) +#define PB1 _STM32_PIN(B, 1) +#define PB2 _STM32_PIN(B, 2) +#define PB3 _STM32_PIN(B, 3) +#define PB4 _STM32_PIN(B, 4) +#define PB5 _STM32_PIN(B, 5) +#define PB6 _STM32_PIN(B, 6) +#define PB7 _STM32_PIN(B, 7) +#define PB8 _STM32_PIN(B, 8) +#define PB9 _STM32_PIN(B, 9) +#define PB10 _STM32_PIN(B, 10) +#define PB11 _STM32_PIN(B, 11) +#define PB12 _STM32_PIN(B, 12) +#define PB13 _STM32_PIN(B, 13) +#define PB14 _STM32_PIN(B, 14) +#define PB15 _STM32_PIN(B, 15) + +#define PC0 _STM32_PIN(C, 0) +#define PC1 _STM32_PIN(C, 1) +#define PC2 _STM32_PIN(C, 2) +#define PC3 _STM32_PIN(C, 3) +#define PC4 _STM32_PIN(C, 4) +#define PC5 _STM32_PIN(C, 5) +#define PC6 _STM32_PIN(C, 6) +#define PC7 _STM32_PIN(C, 7) +#define PC8 _STM32_PIN(C, 8) +#define PC9 _STM32_PIN(C, 9) +#define PC10 _STM32_PIN(C, 10) +#define PC11 _STM32_PIN(C, 11) +#define PC12 _STM32_PIN(C, 12) +#define PC13 _STM32_PIN(C, 13) +#define PC14 _STM32_PIN(C, 14) +#define PC15 _STM32_PIN(C, 15) + +#define PD0 _STM32_PIN(D, 0) +#define PD1 _STM32_PIN(D, 1) +#define PD2 _STM32_PIN(D, 2) +#define PD3 _STM32_PIN(D, 3) +#define PD4 _STM32_PIN(D, 4) +#define PD5 _STM32_PIN(D, 5) +#define PD6 _STM32_PIN(D, 6) +#define PD7 _STM32_PIN(D, 7) +#define PD8 _STM32_PIN(D, 8) +#define PD9 _STM32_PIN(D, 9) +#define PD10 _STM32_PIN(D, 10) +#define PD11 _STM32_PIN(D, 11) +#define PD12 _STM32_PIN(D, 12) +#define PD13 _STM32_PIN(D, 13) +#define PD14 _STM32_PIN(D, 14) +#define PD15 _STM32_PIN(D, 15) + +#define PE0 _STM32_PIN(E, 0) +#define PE1 _STM32_PIN(E, 1) +#define PE2 _STM32_PIN(E, 2) +#define PE3 _STM32_PIN(E, 3) +#define PE4 _STM32_PIN(E, 4) +#define PE5 _STM32_PIN(E, 5) +#define PE6 _STM32_PIN(E, 6) +#define PE7 _STM32_PIN(E, 7) +#define PE8 _STM32_PIN(E, 8) +#define PE9 _STM32_PIN(E, 9) +#define PE10 _STM32_PIN(E, 10) +#define PE11 _STM32_PIN(E, 11) +#define PE12 _STM32_PIN(E, 12) +#define PE13 _STM32_PIN(E, 13) +#define PE14 _STM32_PIN(E, 14) +#define PE15 _STM32_PIN(E, 15) + +#endif // _FASTIO_STM32F4_H diff --git a/Marlin/src/HAL/HAL_STM32F4/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_STM32F4/persistent_store_impl.cpp new file mode 100644 index 000000000000..a896bded3047 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/persistent_store_impl.cpp @@ -0,0 +1,74 @@ +/** + * Marlin 3D Printer Firmware + * + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * Copyright (c) 2016 Victor Perez victor_pv@hotmail.com + * + * 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 . + * + */ + +#if defined(STM32F4) || defined(STM32F4xx) + +#include "../persistent_store_api.h" + +#include "../../inc/MarlinConfig.h" + +#if ENABLED(EEPROM_SETTINGS) + +namespace HAL { +namespace PersistentStore { + +bool access_start() { return true; } +bool access_finish() { return true; } + +bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { + while (size--) { + uint8_t * const p = (uint8_t * const)pos; + uint8_t v = *value; + // EEPROM has only ~100,000 write cycles, + // so only write bytes that have changed! + if (v != eeprom_read_byte(p)) { + eeprom_write_byte(p, v); + if (eeprom_read_byte(p) != v) { + SERIAL_ECHO_START(); + SERIAL_ECHOLNPGM(MSG_ERR_EEPROM_WRITE); + return true; + } + } + crc16(crc, &v, 1); + pos++; + value++; + }; + return false; +} + +bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing) { + do { + uint8_t c = eeprom_read_byte((unsigned char*)pos); + if (writing) *value = c; + crc16(crc, &c, 1); + pos++; + value++; + } while (--size); + return false; +} + +} // PersistentStore +} // HAL + +#endif // EEPROM_SETTINGS +#endif // STM32F4 || STM32F4xx diff --git a/Marlin/src/HAL/HAL_STM32F4/pinsDebug.h b/Marlin/src/HAL/HAL_STM32F4/pinsDebug.h new file mode 100644 index 000000000000..e5022f79a482 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/pinsDebug.h @@ -0,0 +1 @@ +#error Debug pins is not supported on this Platform! diff --git a/Marlin/src/HAL/HAL_STM32F4/spi_pins.h b/Marlin/src/HAL/HAL_STM32F4/spi_pins.h new file mode 100644 index 000000000000..f178ac8107fe --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/spi_pins.h @@ -0,0 +1,41 @@ +/** +* Marlin 3D Printer Firmware +* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] +* +* 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 . +* +*/ + +#ifndef SPI_PINS_H_ +#define SPI_PINS_H_ + + +/** + * Define SPI Pins: SCK, MISO, MOSI, SS + * + */ +#ifndef SCK_PIN + #define SCK_PIN PA5 +#endif +#ifndef MISO_PIN + #define MISO_PIN PA6 +#endif +#ifndef MOSI_PIN + #define MOSI_PIN PA7 +#endif +#ifndef SS_PIN + #define SS_PIN PA8 +#endif + +#endif // SPI_PINS_H_ diff --git a/Marlin/src/HAL/HAL_STM32F4/watchdog_STM32F4.cpp b/Marlin/src/HAL/HAL_STM32F4/watchdog_STM32F4.cpp new file mode 100644 index 000000000000..f5dd6bdfae84 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/watchdog_STM32F4.cpp @@ -0,0 +1,57 @@ +/** + * 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 . + * + */ + +#if defined(STM32F4) || defined(STM32F4xx) + +#include "../../inc/MarlinConfig.h" + +#if ENABLED(USE_WATCHDOG) + + #include "watchdog_STM32F4.h" + + IWDG_HandleTypeDef hiwdg; + + void watchdog_init() { + hiwdg.Instance = IWDG; + hiwdg.Init.Prescaler = IWDG_PRESCALER_32; //32kHz LSI clock and 32x prescalar = 1024Hz IWDG clock + hiwdg.Init.Reload = 4095; //4095 counts = 4 seconds at 1024Hz + if (HAL_IWDG_Init(&hiwdg) != HAL_OK) { + //Error_Handler(); + } + } + + void watchdog_reset() { + /* Refresh IWDG: reload counter */ + if (HAL_IWDG_Refresh(&hiwdg) != HAL_OK) { + /* Refresh Error */ + //Error_Handler(); + } + else { + #if PIN_EXISTS(LED) + TOGGLE(LED_PIN); // heart beat indicator + #endif + } + } + +#endif // USE_WATCHDOG + +#endif // STM32F4 || STM32F4xx diff --git a/Marlin/src/HAL/HAL_STM32F4/watchdog_STM32F4.h b/Marlin/src/HAL/HAL_STM32F4/watchdog_STM32F4.h new file mode 100644 index 000000000000..89295a78e166 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/watchdog_STM32F4.h @@ -0,0 +1,33 @@ +/** + * 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 . + * + */ + +#ifndef WATCHDOG_STM32F4_H +#define WATCHDOG_STM32F4_H + +#include "../../inc/MarlinConfig.h" + +extern IWDG_HandleTypeDef hiwdg; + +void watchdog_init(); +void watchdog_reset(); + +#endif // WATCHDOG_STM32F1_H diff --git a/Marlin/src/HAL/HAL_STM32F7/EEPROM_Emul/eeprom_emul.h b/Marlin/src/HAL/HAL_STM32F7/EEPROM_Emul/eeprom_emul.h index 93d3322f15ec..d5c54985f568 100644 --- a/Marlin/src/HAL/HAL_STM32F7/EEPROM_Emul/eeprom_emul.h +++ b/Marlin/src/HAL/HAL_STM32F7/EEPROM_Emul/eeprom_emul.h @@ -9,7 +9,7 @@ ****************************************************************************** * @attention * - *

© Copyright 2016 STMicroelectronics International N.V. + *

© Copyright © 2016 STMicroelectronics International N.V. * All rights reserved.

* * Redistribution and use in source and binary forms, with or without @@ -54,7 +54,7 @@ // Includes // -------------------------------------------------------------------------- #include "../../../inc/MarlinConfig.h" -#include "../../HAL.h" +#include "../HAL.h" /* Exported constants --------------------------------------------------------*/ /* EEPROM emulation firmware error codes */ diff --git a/Marlin/src/HAL/HAL_STM32F7/EmulatedEeprom.cpp b/Marlin/src/HAL/HAL_STM32F7/EmulatedEeprom.cpp index c3cf6ee7ca11..390ff35de587 100644 --- a/Marlin/src/HAL/HAL_STM32F7/EmulatedEeprom.cpp +++ b/Marlin/src/HAL/HAL_STM32F7/EmulatedEeprom.cpp @@ -30,7 +30,7 @@ // Includes // -------------------------------------------------------------------------- -#include "../HAL.h" +#include "HAL.h" #include "EEPROM_Emul/eeprom_emul.h" diff --git a/Marlin/src/HAL/HAL_STM32F7/HAL_STM32F7.cpp b/Marlin/src/HAL/HAL_STM32F7/HAL.cpp similarity index 99% rename from Marlin/src/HAL/HAL_STM32F7/HAL_STM32F7.cpp rename to Marlin/src/HAL/HAL_STM32F7/HAL.cpp index 04d0192dfd00..a5c4f394290c 100644 --- a/Marlin/src/HAL/HAL_STM32F7/HAL_STM32F7.cpp +++ b/Marlin/src/HAL/HAL_STM32F7/HAL.cpp @@ -28,7 +28,7 @@ // Includes // -------------------------------------------------------------------------- -#include "../HAL.h" +#include "HAL.h" //#include diff --git a/Marlin/src/HAL/HAL_STM32F7/HAL_STM32F7.h b/Marlin/src/HAL/HAL_STM32F7/HAL.h similarity index 93% rename from Marlin/src/HAL/HAL_STM32F7/HAL_STM32F7.h rename to Marlin/src/HAL/HAL_STM32F7/HAL.h index 814c21096fb5..c594392d881e 100644 --- a/Marlin/src/HAL/HAL_STM32F7/HAL_STM32F7.h +++ b/Marlin/src/HAL/HAL_STM32F7/HAL.h @@ -21,11 +21,10 @@ * */ - - #ifndef _HAL_STM32F7_H #define _HAL_STM32F7_H +#define CPU_32_BIT #undef DEBUG_NONE #ifndef vsnprintf_P @@ -40,6 +39,9 @@ #include "Arduino.h" +#include "../math_32bit.h" +#include "../HAL_SPI.h" + #include "fastio_STM32F7.h" #include "watchdog_STM32F7.h" @@ -107,8 +109,11 @@ #define analogInputToDigitalPin(p) (p) #endif -#define CRITICAL_SECTION_START noInterrupts(); -#define CRITICAL_SECTION_END interrupts(); +#define CRITICAL_SECTION_START uint32_t primask = __get_PRIMASK(); __disable_irq() +#define CRITICAL_SECTION_END if (!primask) __enable_irq() +#define ISRS_ENABLED() (!__get_PRIMASK()) +#define ENABLE_ISRS() __enable_irq() +#define DISABLE_ISRS() __disable_irq() // On AVR this is in math.h? #define square(x) ((x)*(x)) @@ -209,7 +214,8 @@ void eeprom_update_block (const void *__src, void *__dst, size_t __n); inline void HAL_adc_init(void) {} #define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) -#define HAL_READ_ADC HAL_adc_result +#define HAL_READ_ADC() HAL_adc_result +#define HAL_ADC_READY() true void HAL_adc_start_conversion(const uint8_t adc_pin); diff --git a/Marlin/src/HAL/HAL_STM32F7/HAL_Servo_STM32F7.cpp b/Marlin/src/HAL/HAL_STM32F7/HAL_Servo_STM32F7.cpp index 87ebde5be998..43d95e905914 100644 --- a/Marlin/src/HAL/HAL_STM32F7/HAL_Servo_STM32F7.cpp +++ b/Marlin/src/HAL/HAL_STM32F7/HAL_Servo_STM32F7.cpp @@ -39,9 +39,11 @@ int8_t libServo::attach(const int pin, const int min, const int max) { } void libServo::move(const int value) { + constexpr uint16_t servo_delay[] = SERVO_DELAY; + static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); if (this->attach(0) >= 0) { this->write(value); - delay(SERVO_DELAY); + safe_delay(servo_delay[this->servoIndex]); #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) this->detach(); #endif diff --git a/Marlin/src/HAL/HAL_STM32F7/HAL_spi_STM32F7.cpp b/Marlin/src/HAL/HAL_STM32F7/HAL_spi_STM32F7.cpp index 623cfb9fa3eb..db595eeeb247 100644 --- a/Marlin/src/HAL/HAL_STM32F7/HAL_spi_STM32F7.cpp +++ b/Marlin/src/HAL/HAL_STM32F7/HAL_spi_STM32F7.cpp @@ -36,7 +36,7 @@ // Includes // -------------------------------------------------------------------------- -#include "../HAL.h" +#include "HAL.h" #include "../HAL_SPI.h" #include "pins_arduino.h" #include "spi_pins.h" diff --git a/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.cpp b/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.cpp index 3678d33de0f7..9454b71c812f 100644 --- a/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.cpp +++ b/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.cpp @@ -26,7 +26,7 @@ // Includes // -------------------------------------------------------------------------- -#include "../HAL.h" +#include "HAL.h" #include "HAL_timers_STM32F7.h" @@ -127,6 +127,11 @@ void HAL_timer_enable_interrupt(const uint8_t timer_num) { void HAL_timer_disable_interrupt(const uint8_t timer_num) { HAL_NVIC_DisableIRQ(timerConfig[timer_num].IRQ_Id); + + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); } hal_timer_t HAL_timer_get_compare(const uint8_t timer_num) { diff --git a/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.h b/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.h index 7990614b027a..a97bad75fba2 100644 --- a/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.h +++ b/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.h @@ -38,21 +38,22 @@ #define hal_timer_t uint32_t // TODO: One is 16-bit, one 32-bit - does this need to be checked? #define HAL_TIMER_TYPE_MAX 0xFFFF -#define STEP_TIMER_NUM 0 // index of timer to use for stepper -#define TEMP_TIMER_NUM 1 // index of timer to use for temperature - #define HAL_TIMER_RATE (HAL_RCC_GetSysClockFreq() / 2) // frequency of timer peripherals -#define STEPPER_TIMER_PRESCALE 54 // was 40,prescaler for setting stepper timer, 2Mhz -#define HAL_STEPPER_TIMER_RATE (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) -#define HAL_TICKS_PER_US ((HAL_STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs +#define STEP_TIMER_NUM 0 // index of timer to use for stepper +#define TEMP_TIMER_NUM 1 // index of timer to use for temperature #define PULSE_TIMER_NUM STEP_TIMER_NUM -#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE -#define TEMP_TIMER_PRESCALE 1000 // prescaler for setting Temp timer, 72Khz #define TEMP_TIMER_FREQUENCY 1000 // temperature interrupt frequency +#define TEMP_TIMER_PRESCALE 1000 // prescaler for setting Temp timer, 72Khz + +#define STEPPER_TIMER_PRESCALE 54 // was 40,prescaler for setting stepper timer, 2Mhz +#define STEPPER_TIMER_RATE (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) // frequency of stepper timer +#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs -#define STEP_TIMER_MIN_INTERVAL 8 // minimum time in µs between stepper interrupts +#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer +#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE +#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US #define ENABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_enable_interrupt(STEP_TIMER_NUM) #define DISABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_disable_interrupt(STEP_TIMER_NUM) @@ -60,7 +61,6 @@ #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_ENABLE_ISRs() do { if (thermalManager.in_temp_isr)DISABLE_TEMPERATURE_INTERRUPT(); else ENABLE_TEMPERATURE_INTERRUPT(); ENABLE_STEPPER_DRIVER_INTERRUPT(); } while(0) // TODO change this @@ -99,5 +99,6 @@ uint32_t HAL_timer_get_count(const uint8_t timer_num); void HAL_timer_restrain(const uint8_t timer_num, const uint16_t interval_ticks); void HAL_timer_isr_prologue(const uint8_t timer_num); +#define HAL_timer_isr_epilogue(TIMER_NUM) #endif // _HAL_TIMERS_STM32F7_H diff --git a/Marlin/src/HAL/HAL_STM32F7/SanityCheck.h b/Marlin/src/HAL/HAL_STM32F7/SanityCheck.h new file mode 100644 index 000000000000..5bd0793a4d2f --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F7/SanityCheck.h @@ -0,0 +1,70 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016, 2017 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 . + * + */ + +/** + * Test Re-ARM specific configuration values for errors at compile-time. + */ +#if ENABLED(SPINDLE_LASER_ENABLE) + #if !PIN_EXISTS(SPINDLE_LASER_ENABLE) + #error "SPINDLE_LASER_ENABLE requires SPINDLE_LASER_ENABLE_PIN." + #elif SPINDLE_DIR_CHANGE && !PIN_EXISTS(SPINDLE_DIR) + #error "SPINDLE_DIR_PIN not defined." + #elif ENABLED(SPINDLE_LASER_PWM) && PIN_EXISTS(SPINDLE_LASER_PWM) + #if !PWM_PIN(SPINDLE_LASER_PWM_PIN) + #error "SPINDLE_LASER_PWM_PIN not assigned to a PWM pin." + #elif !(SPINDLE_LASER_PWM_PIN == 4 || SPINDLE_LASER_PWM_PIN == 6 || SPINDLE_LASER_PWM_PIN == 11) + #error "SPINDLE_LASER_PWM_PIN must use SERVO0, SERVO1 or SERVO3 connector" + #elif SPINDLE_LASER_POWERUP_DELAY < 1 + #error "SPINDLE_LASER_POWERUP_DELAY must be greater than 0." + #elif SPINDLE_LASER_POWERDOWN_DELAY < 1 + #error "SPINDLE_LASER_POWERDOWN_DELAY must be greater than 0." + #elif !defined(SPINDLE_LASER_PWM_INVERT) + #error "SPINDLE_LASER_PWM_INVERT missing." + #elif !defined(SPEED_POWER_SLOPE) || !defined(SPEED_POWER_INTERCEPT) || !defined(SPEED_POWER_MIN) || !defined(SPEED_POWER_MAX) + #error "SPINDLE_LASER_PWM equation constant(s) missing." + #elif PIN_EXISTS(CASE_LIGHT) && SPINDLE_LASER_PWM_PIN == CASE_LIGHT_PIN + #error "SPINDLE_LASER_PWM_PIN is used by CASE_LIGHT_PIN." + #elif PIN_EXISTS(E0_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E0_AUTO_FAN_PIN + #error "SPINDLE_LASER_PWM_PIN is used by E0_AUTO_FAN_PIN." + #elif PIN_EXISTS(E1_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E1_AUTO_FAN_PIN + #error "SPINDLE_LASER_PWM_PIN is used by E1_AUTO_FAN_PIN." + #elif PIN_EXISTS(E2_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E2_AUTO_FAN_PIN + #error "SPINDLE_LASER_PWM_PIN is used by E2_AUTO_FAN_PIN." + #elif PIN_EXISTS(E3_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E3_AUTO_FAN_PIN + #error "SPINDLE_LASER_PWM_PIN is used by E3_AUTO_FAN_PIN." + #elif PIN_EXISTS(E4_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E4_AUTO_FAN_PIN + #error "SPINDLE_LASER_PWM_PIN is used by E4_AUTO_FAN_PIN." + #elif PIN_EXISTS(FAN) && SPINDLE_LASER_PWM_PIN == FAN_PIN + #error "SPINDLE_LASER_PWM_PIN is used FAN_PIN." + #elif PIN_EXISTS(FAN1) && SPINDLE_LASER_PWM_PIN == FAN1_PIN + #error "SPINDLE_LASER_PWM_PIN is used FAN1_PIN." + #elif PIN_EXISTS(FAN2) && SPINDLE_LASER_PWM_PIN == FAN2_PIN + #error "SPINDLE_LASER_PWM_PIN is used FAN2_PIN." + #elif PIN_EXISTS(CONTROLLERFAN) && SPINDLE_LASER_PWM_PIN == CONTROLLERFAN_PIN + #error "SPINDLE_LASER_PWM_PIN is used by CONTROLLERFAN_PIN." + #endif + #endif +#endif // SPINDLE_LASER_ENABLE + +#if ENABLED(EMERGENCY_PARSER) + #error "EMERGENCY_PARSER is not yet implemented for STM32F7. Disable EMERGENCY_PARSER to continue." +#endif diff --git a/Marlin/src/HAL/HAL_STM32F7/TMC2660.cpp b/Marlin/src/HAL/HAL_STM32F7/TMC2660.cpp index 667ec47e20f0..71562425b98f 100644 --- a/Marlin/src/HAL/HAL_STM32F7/TMC2660.cpp +++ b/Marlin/src/HAL/HAL_STM32F7/TMC2660.cpp @@ -68,7 +68,7 @@ //definitions for the chopper config register #define CHOPPER_MODE_STANDARD 0x0ul #define CHOPPER_MODE_T_OFF_FAST_DECAY 0x4000ul -#define T_OFF_PATTERN 0xful +#define T_OFF_PATTERN 0xFul #define RANDOM_TOFF_TIME 0x2000ul #define BLANK_TIMING_PATTERN 0x18000ul #define BLANK_TIMING_SHIFT 15 @@ -85,7 +85,7 @@ #define CURRENT_DOWN_STEP_SPEED_PATTERN 0x6000ul #define SE_MAX_PATTERN 0xF00ul #define SE_CURRENT_STEP_WIDTH_PATTERN 0x60ul -#define SE_MIN_PATTERN 0xful +#define SE_MIN_PATTERN 0xFul //definitions for stall guard2 current register #define STALL_GUARD_FILTER_ENABLED 0x10000ul @@ -237,7 +237,7 @@ unsigned int TMC26XStepper::getSpeed(void) { return this->speed; } */ char TMC26XStepper::step(int steps_to_move) { if (this->steps_left == 0) { - this->steps_left = abs(steps_to_move); // how many steps to take + this->steps_left = ABS(steps_to_move); // how many steps to take // determine direction based on whether steps_to_move is + or -: if (steps_to_move > 0) @@ -257,7 +257,7 @@ char TMC26XStepper::move(void) { // rem if (time >= this->next_step_time) { - if (abs(time - this->last_step_time) > this->step_delay) { + if (ABS(time - this->last_step_time) > this->step_delay) { // increment or decrement the step number, // depending on direction: if (this->direction == 1) @@ -297,8 +297,8 @@ char TMC26XStepper::stop(void) { void TMC26XStepper::setCurrent(unsigned int current) { unsigned char current_scaling = 0; //calculate the current scaling from the max current setting (in mA) - double mASetting = (double)current, - resistor_value = (double)this->resistor; + float mASetting = (float)current, + resistor_value = (float)this->resistor; // remove vsense flag this->driver_configuration_register_value &= ~(VSENSE); // Derived from I = (cs + 1) / 32 * (Vsense / Rsense) @@ -340,8 +340,8 @@ void TMC26XStepper::setCurrent(unsigned int current) { unsigned int TMC26XStepper::getCurrent(void) { // Calculate the current according to the datasheet to be on the safe side. // This is not the fastest but the most accurate and illustrative way. - double result = (double)(stall_guard2_current_register_value & CURRENT_SCALING_PATTERN), - resistor_value = (double)this->resistor, + float result = (float)(stall_guard2_current_register_value & CURRENT_SCALING_PATTERN), + resistor_value = (float)this->resistor, voltage = (driver_configuration_register_value & VSENSE) ? 0.165 : 0.31; result = (result + 1.0) / 32.0 * voltage / resistor_value * sq(1000.0); return (unsigned int)result; @@ -739,8 +739,8 @@ unsigned char TMC26XStepper::getCurrentCSReading(void) { } unsigned int TMC26XStepper::getCurrentCurrent(void) { - double result = (double)getCurrentCSReading(), - resistor_value = (double)this->resistor, + float result = (float)getCurrentCSReading(), + resistor_value = (float)this->resistor, voltage = (driver_configuration_register_value & VSENSE)? 0.165 : 0.31; result = (result + 1.0) / 32.0 * voltage / resistor_value * sq(1000.0); return (unsigned int)result; diff --git a/Marlin/src/HAL/HAL_STM32F7/endstop_interrupts.h b/Marlin/src/HAL/HAL_STM32F7/endstop_interrupts.h index 9317ae4385ae..5b2cdb3a9e03 100644 --- a/Marlin/src/HAL/HAL_STM32F7/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_STM32F7/endstop_interrupts.h @@ -26,41 +26,37 @@ #ifndef _ENDSTOP_INTERRUPTS_H_ #define _ENDSTOP_INTERRUPTS_H_ +#include "../../module/endstops.h" + +// One ISR for all EXT-Interrupts +void endstop_ISR(void) { endstops.update(); } + void setup_endstop_interrupts(void) { #if HAS_X_MAX - pinMode(X_MAX_PIN, INPUT); - attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE); // assign it + attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE); #endif #if HAS_X_MIN - pinMode(X_MIN_PIN, INPUT); attachInterrupt(X_MIN_PIN, endstop_ISR, CHANGE); #endif #if HAS_Y_MAX - pinMode(Y_MAX_PIN, INPUT); attachInterrupt(Y_MAX_PIN, endstop_ISR, CHANGE); #endif #if HAS_Y_MIN - pinMode(Y_MIN_PIN, INPUT); attachInterrupt(Y_MIN_PIN, endstop_ISR, CHANGE); #endif #if HAS_Z_MAX - pinMode(Z_MAX_PIN, INPUT); attachInterrupt(Z_MAX_PIN, endstop_ISR, CHANGE); #endif #if HAS_Z_MIN - pinMode(Z_MIN_PIN, INPUT); attachInterrupt(Z_MIN_PIN, endstop_ISR, CHANGE); #endif #if HAS_Z2_MAX - pinMode(Z2_MAX_PIN, INPUT); attachInterrupt(Z2_MAX_PIN, endstop_ISR, CHANGE); #endif #if HAS_Z2_MIN - pinMode(Z2_MIN_PIN, INPUT); attachInterrupt(Z2_MIN_PIN, endstop_ISR, CHANGE); #endif #if HAS_Z_MIN_PROBE_PIN - pinMode(Z_MIN_PROBE_PIN, INPUT); attachInterrupt(Z_MIN_PROBE_PIN, endstop_ISR, CHANGE); #endif } diff --git a/Marlin/src/HAL/HAL_STM32F7/fastio_STM32F7.h b/Marlin/src/HAL/HAL_STM32F7/fastio_STM32F7.h index dd8ca1e57952..2d82530b894a 100644 --- a/Marlin/src/HAL/HAL_STM32F7/fastio_STM32F7.h +++ b/Marlin/src/HAL/HAL_STM32F7/fastio_STM32F7.h @@ -31,24 +31,154 @@ #define _BV(b) (1 << (b)) -#define READ(IO) digitalRead(IO) -#define WRITE(IO, v) digitalWrite(IO,v) -#define TOGGLE(IO) do{ _SET_OUTPUT(IO); digitalWrite(IO,!digitalRead(IO)); }while(0) -#define WRITE_VAR(IO, v) digitalWrite(IO,v) +#define READ(IO) digitalRead(IO) +#define WRITE(IO,V) digitalWrite(IO,V) +#define WRITE_VAR(IO,V) WRITE(IO,V) #define _GET_MODE(IO) -#define _SET_MODE(IO,M) pinMode(IO, M) -#define _SET_OUTPUT(IO) pinMode(IO, OUTPUT) /*!< Output Push Pull Mode & GPIO_NOPULL */ +#define _SET_MODE(IO,M) pinMode(IO, M) +#define _SET_OUTPUT(IO) pinMode(IO, OUTPUT) /*!< Output Push Pull Mode & GPIO_NOPULL */ -#define SET_INPUT(IO) _SET_MODE(IO, INPUT) /*!< Input Floating Mode */ -#define SET_INPUT_PULLUP(IO) _SET_MODE(IO, INPUT_PULLUP) /*!< Input with Pull-up activation */ -#define SET_INPUT_PULLDOW(IO) _SET_MODE(IO, INPUT_PULLDOWN) /*!< Input with Pull-down activation */ -#define SET_OUTPUT(IO) do{ _SET_OUTPUT(IO); WRITE(IO, LOW); }while(0) +#define OUT_WRITE(IO,V) do{ _SET_OUTPUT(IO); WRITE(IO,V); }while(0) + +#define SET_INPUT(IO) _SET_MODE(IO, INPUT) /*!< Input Floating Mode */ +#define SET_INPUT_PULLUP(IO) _SET_MODE(IO, INPUT_PULLUP) /*!< Input with Pull-up activation */ +#define SET_INPUT_PULLDOWN(IO) _SET_MODE(IO, INPUT_PULLDOWN) /*!< Input with Pull-down activation */ +#define SET_OUTPUT(IO) OUT_WRITE(IO, LOW) + +#define TOGGLE(IO) OUT_WRITE(IO, !READ(IO)) #define GET_INPUT(IO) #define GET_OUTPUT(IO) #define GET_TIMER(IO) -#define OUT_WRITE(IO, v) { _SET_OUTPUT(IO); WRITE(IO, v); } +#define PORTA 0 +#define PORTB 1 +#define PORTC 2 +#define PORTD 3 +#define PORTE 4 +#define PORTF 5 +#define PORTG 6 + +#define _STM32_PIN(_PORT,_PIN) ((PORT##_PORT * 16) + _PIN) + +#define PA0 _STM32_PIN(A, 0) +#define PA1 _STM32_PIN(A, 1) +#define PA2 _STM32_PIN(A, 2) +#define PA3 _STM32_PIN(A, 3) +#define PA4 _STM32_PIN(A, 4) +#define PA5 _STM32_PIN(A, 5) +#define PA6 _STM32_PIN(A, 6) +#define PA7 _STM32_PIN(A, 7) +#define PA8 _STM32_PIN(A, 8) +#define PA9 _STM32_PIN(A, 9) +#define PA10 _STM32_PIN(A, 10) +#define PA11 _STM32_PIN(A, 11) +#define PA12 _STM32_PIN(A, 12) +#define PA13 _STM32_PIN(A, 13) +#define PA14 _STM32_PIN(A, 14) +#define PA15 _STM32_PIN(A, 15) + +#define PB0 _STM32_PIN(B, 0) +#define PB1 _STM32_PIN(B, 1) +#define PB2 _STM32_PIN(B, 2) +#define PB3 _STM32_PIN(B, 3) +#define PB4 _STM32_PIN(B, 4) +#define PB5 _STM32_PIN(B, 5) +#define PB6 _STM32_PIN(B, 6) +#define PB7 _STM32_PIN(B, 7) +#define PB8 _STM32_PIN(B, 8) +#define PB9 _STM32_PIN(B, 9) +#define PB10 _STM32_PIN(B, 10) +#define PB11 _STM32_PIN(B, 11) +#define PB12 _STM32_PIN(B, 12) +#define PB13 _STM32_PIN(B, 13) +#define PB14 _STM32_PIN(B, 14) +#define PB15 _STM32_PIN(B, 15) + +#define PC0 _STM32_PIN(C, 0) +#define PC1 _STM32_PIN(C, 1) +#define PC2 _STM32_PIN(C, 2) +#define PC3 _STM32_PIN(C, 3) +#define PC4 _STM32_PIN(C, 4) +#define PC5 _STM32_PIN(C, 5) +#define PC6 _STM32_PIN(C, 6) +#define PC7 _STM32_PIN(C, 7) +#define PC8 _STM32_PIN(C, 8) +#define PC9 _STM32_PIN(C, 9) +#define PC10 _STM32_PIN(C, 10) +#define PC11 _STM32_PIN(C, 11) +#define PC12 _STM32_PIN(C, 12) +#define PC13 _STM32_PIN(C, 13) +#define PC14 _STM32_PIN(C, 14) +#define PC15 _STM32_PIN(C, 15) + +#define PD0 _STM32_PIN(D, 0) +#define PD1 _STM32_PIN(D, 1) +#define PD2 _STM32_PIN(D, 2) +#define PD3 _STM32_PIN(D, 3) +#define PD4 _STM32_PIN(D, 4) +#define PD5 _STM32_PIN(D, 5) +#define PD6 _STM32_PIN(D, 6) +#define PD7 _STM32_PIN(D, 7) +#define PD8 _STM32_PIN(D, 8) +#define PD9 _STM32_PIN(D, 9) +#define PD10 _STM32_PIN(D, 10) +#define PD11 _STM32_PIN(D, 11) +#define PD12 _STM32_PIN(D, 12) +#define PD13 _STM32_PIN(D, 13) +#define PD14 _STM32_PIN(D, 14) +#define PD15 _STM32_PIN(D, 15) + +#define PE0 _STM32_PIN(E, 0) +#define PE1 _STM32_PIN(E, 1) +#define PE2 _STM32_PIN(E, 2) +#define PE3 _STM32_PIN(E, 3) +#define PE4 _STM32_PIN(E, 4) +#define PE5 _STM32_PIN(E, 5) +#define PE6 _STM32_PIN(E, 6) +#define PE7 _STM32_PIN(E, 7) +#define PE8 _STM32_PIN(E, 8) +#define PE9 _STM32_PIN(E, 9) +#define PE10 _STM32_PIN(E, 10) +#define PE11 _STM32_PIN(E, 11) +#define PE12 _STM32_PIN(E, 12) +#define PE13 _STM32_PIN(E, 13) +#define PE14 _STM32_PIN(E, 14) +#define PE15 _STM32_PIN(E, 15) + +#define PF0 _STM32_PIN(F, 0) +#define PF1 _STM32_PIN(F, 1) +#define PF2 _STM32_PIN(F, 2) +#define PF3 _STM32_PIN(F, 3) +#define PF4 _STM32_PIN(F, 4) +#define PF5 _STM32_PIN(F, 5) +#define PF6 _STM32_PIN(F, 6) +#define PF7 _STM32_PIN(F, 7) +#define PF8 _STM32_PIN(F, 8) +#define PF9 _STM32_PIN(F, 9) +#define PF10 _STM32_PIN(F, 10) +#define PF11 _STM32_PIN(F, 11) +#define PF12 _STM32_PIN(F, 12) +#define PF13 _STM32_PIN(F, 13) +#define PF14 _STM32_PIN(F, 14) +#define PF15 _STM32_PIN(F, 15) + +#define PG0 _STM32_PIN(G, 0) +#define PG1 _STM32_PIN(G, 1) +#define PG2 _STM32_PIN(G, 2) +#define PG3 _STM32_PIN(G, 3) +#define PG4 _STM32_PIN(G, 4) +#define PG5 _STM32_PIN(G, 5) +#define PG6 _STM32_PIN(G, 6) +#define PG7 _STM32_PIN(G, 7) +#define PG8 _STM32_PIN(G, 8) +#define PG9 _STM32_PIN(G, 9) +#define PG10 _STM32_PIN(G, 10) +#define PG11 _STM32_PIN(G, 11) +#define PG12 _STM32_PIN(G, 12) +#define PG13 _STM32_PIN(G, 13) +#define PG14 _STM32_PIN(G, 14) +#define PG15 _STM32_PIN(G, 15) #endif // _FASTIO_STM32F7_H diff --git a/Marlin/src/HAL/HAL_STM32F7/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_STM32F7/persistent_store_impl.cpp index ac4c3e794792..0cd37b9533da 100644 --- a/Marlin/src/HAL/HAL_STM32F7/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_STM32F7/persistent_store_impl.cpp @@ -33,13 +33,8 @@ namespace HAL { namespace PersistentStore { -bool access_start() { - return true; -} - -bool access_finish(){ - return true; -} +bool access_start() { return true; } +bool access_finish() { return true; } bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { while (size--) { diff --git a/Marlin/src/HAL/HAL_STM32F7/pinsDebug.h b/Marlin/src/HAL/HAL_STM32F7/pinsDebug.h new file mode 100644 index 000000000000..e5022f79a482 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F7/pinsDebug.h @@ -0,0 +1 @@ +#error Debug pins is not supported on this Platform! diff --git a/Marlin/src/HAL/HAL_STM32F7/spi_pins.h b/Marlin/src/HAL/HAL_STM32F7/spi_pins.h index 15bb48c19167..2d1e96ec592c 100644 --- a/Marlin/src/HAL/HAL_STM32F7/spi_pins.h +++ b/Marlin/src/HAL/HAL_STM32F7/spi_pins.h @@ -20,14 +20,13 @@ #ifndef SPI_PINS_H_ #define SPI_PINS_H_ - /** * Define SPI Pins: SCK, MISO, MOSI, SS * */ -#define SCK_PIN _STM32_PIN(PORTA, 5) -#define MISO_PIN _STM32_PIN(PORTA, 6) -#define MOSI_PIN _STM32_PIN(PORTA, 7) -#define SS_PIN _STM32_PIN(PORTA, 8) +#define SCK_PIN PA5 +#define MISO_PIN PA6 +#define MOSI_PIN PA7 +#define SS_PIN PA8 #endif // SPI_PINS_H_ diff --git a/Marlin/src/HAL/HAL_STM32F7/watchdog_STM32F7.h b/Marlin/src/HAL/HAL_STM32F7/watchdog_STM32F7.h index ffdb1e092ef2..977f0f9b7e54 100644 --- a/Marlin/src/HAL/HAL_STM32F7/watchdog_STM32F7.h +++ b/Marlin/src/HAL/HAL_STM32F7/watchdog_STM32F7.h @@ -1,24 +1,24 @@ /** -* 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 . -* -*/ + * 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 . + * + */ #ifndef WATCHDOG_STM32F7_H #define WATCHDOG_STM32F7_H diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_Teensy.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp similarity index 98% rename from Marlin/src/HAL/HAL_TEENSY35_36/HAL_Teensy.cpp rename to Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp index 2a94a19099e6..5bd3369e439a 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_Teensy.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp @@ -25,7 +25,8 @@ #if defined(__MK64FX512__) || defined(__MK66FX1M0__) -#include "../HAL.h" +#include "HAL.h" +#include "../Delay.h" #include diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_Teensy.h b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.h similarity index 70% rename from Marlin/src/HAL/HAL_TEENSY35_36/HAL_Teensy.h rename to Marlin/src/HAL/HAL_TEENSY35_36/HAL.h index ff9814710007..6a11bf93c943 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_Teensy.h +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.h @@ -1,23 +1,24 @@ -/* ************************************************************************** - - Marlin 3D Printer Firmware - Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] - Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com - Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com - - 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 . -****************************************************************************/ +/** + * Marlin 3D Printer Firmware + * + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * + * 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 . + * + */ /** * Description: HAL for Teensy 3.5 and Teensy 3.6 @@ -26,6 +27,8 @@ #ifndef _HAL_TEENSY_H #define _HAL_TEENSY_H +#define CPU_32_BIT + // -------------------------------------------------------------------------- // Includes // -------------------------------------------------------------------------- @@ -39,6 +42,9 @@ #undef sq #define sq(x) ((x)*(x)) +#include "../math_32bit.h" +#include "../HAL_SPI.h" + #include "fastio_Teensy.h" #include "watchdog_Teensy.h" @@ -46,6 +52,10 @@ #include +#define ST7920_DELAY_1 DELAY_NS(600) +#define ST7920_DELAY_2 DELAY_NS(750) +#define ST7920_DELAY_3 DELAY_NS(750) + // -------------------------------------------------------------------------- // Defines // -------------------------------------------------------------------------- @@ -79,8 +89,11 @@ typedef int8_t pin_t; #define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1) #endif -#define CRITICAL_SECTION_START unsigned char _sreg = SREG; cli(); -#define CRITICAL_SECTION_END SREG = _sreg; +#define CRITICAL_SECTION_START uint32_t primask = __get_PRIMASK(); __disable_irq() +#define CRITICAL_SECTION_END if (!primask) __enable_irq() +#define ISRS_ENABLED() (!__get_PRIMASK()) +#define ENABLE_ISRS() __enable_irq() +#define DISABLE_ISRS() __disable_irq() #undef sq #define sq(x) ((x)*(x)) @@ -129,7 +142,8 @@ uint8_t spiRec(uint32_t chan); void HAL_adc_init(); #define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) -#define HAL_READ_ADC HAL_adc_get_result() +#define HAL_READ_ADC() HAL_adc_get_result() +#define HAL_ADC_READY() true #define HAL_ANALOG_SELECT(pin) NOOP; diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_Servo_Teensy.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_Servo_Teensy.cpp index f8905fc1e31a..ff56036ccd7a 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_Servo_Teensy.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_Servo_Teensy.cpp @@ -1,25 +1,36 @@ #if defined(__MK64FX512__) || defined(__MK66FX1M0__) -#include "HAL_Servo_Teensy.h" #include "../../inc/MarlinConfig.h" +#if HAS_SERVOS + +#include "HAL_Servo_Teensy.h" + +uint8_t servoPin[MAX_SERVOS] = { 0 }; + int8_t libServo::attach(const int pin) { if (this->servoIndex >= MAX_SERVOS) return -1; - return Servo::attach(pin); + if (pin > 0) servoPin[this->servoIndex] = pin; + return Servo::attach(servoPin[this->servoIndex]); } int8_t libServo::attach(const int pin, const int min, const int max) { - return Servo::attach(pin, min, max); + if (pin > 0) servoPin[this->servoIndex] = pin; + return Servo::attach(servoPin[this->servoIndex], min, max); } void libServo::move(const int value) { + constexpr uint16_t servo_delay[] = SERVO_DELAY; + static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); if (this->attach(0) >= 0) { this->write(value); - delay(SERVO_DELAY); + safe_delay(servo_delay[this->servoIndex]); #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) this->detach(); #endif } } +#endif // HAS_SERVOS + #endif // __MK64FX512__ || __MK66FX1M0__ diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_spi_Teensy.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_spi_Teensy.cpp index 3d52302fb502..3be0fdd3afd2 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_spi_Teensy.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_spi_Teensy.cpp @@ -1,6 +1,6 @@ #if defined(__MK64FX512__) || defined(__MK66FX1M0__) -#include "../HAL.h" +#include "HAL.h" #include #include #include "spi_pins.h" diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.cpp index 03bf9dadd6b2..d31d9ddf671d 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.cpp @@ -26,9 +26,25 @@ #if defined(__MK64FX512__) || defined(__MK66FX1M0__) -#include "../HAL.h" +#include "HAL.h" #include "HAL_timers_Teensy.h" +/** \brief Instruction Synchronization Barrier + Instruction Synchronization Barrier flushes the pipeline in the processor, + so that all instructions following the ISB are fetched from cache or + memory, after the instruction has been completed. +*/ +FORCE_INLINE static void __ISB(void) { + __asm__ __volatile__("isb 0xF":::"memory"); +} + +/** \brief Data Synchronization Barrier + This function acts as a special kind of Data Memory Barrier. + It completes when all explicit memory accesses before this instruction complete. +*/ +FORCE_INLINE static void __DSB(void) { + __asm__ __volatile__("dsb 0xF":::"memory"); +} void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { switch (timer_num) { @@ -65,6 +81,11 @@ void HAL_timer_disable_interrupt(const uint8_t timer_num) { case 0: NVIC_DISABLE_IRQ(IRQ_FTM0); break; case 1: NVIC_DISABLE_IRQ(IRQ_FTM1); break; } + + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + __DSB(); + __ISB(); } bool HAL_timer_interrupt_enabled(const uint8_t timer_num) { diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.h b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.h index 102e840b17df..5fed19e31380 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.h +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.h @@ -43,9 +43,6 @@ typedef uint32_t hal_timer_t; #define HAL_TIMER_TYPE_MAX 0xFFFFFFFF -#define STEP_TIMER_NUM 0 -#define TEMP_TIMER_NUM 1 - #define FTM0_TIMER_PRESCALE 8 #define FTM1_TIMER_PRESCALE 4 #define FTM0_TIMER_PRESCALE_BITS 0b011 @@ -54,19 +51,21 @@ typedef uint32_t hal_timer_t; #define FTM0_TIMER_RATE (F_BUS / FTM0_TIMER_PRESCALE) // 60MHz / 8 = 7500kHz #define FTM1_TIMER_RATE (F_BUS / FTM1_TIMER_PRESCALE) // 60MHz / 4 = 15MHz -#define STEPPER_TIMER STEP_TIMER_NUM // Alias? -#define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / HAL_TICKS_PER_US) +#define HAL_TIMER_RATE (FTM0_TIMER_RATE) +#define STEP_TIMER_NUM 0 +#define TEMP_TIMER_NUM 1 #define PULSE_TIMER_NUM STEP_TIMER_NUM -#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE -#define HAL_TIMER_RATE (FTM0_TIMER_RATE) -#define HAL_STEPPER_TIMER_RATE HAL_TIMER_RATE -#define HAL_TICKS_PER_US ((HAL_STEPPER_TIMER_RATE) / 1000000) +#define TEMP_TIMER_FREQUENCY 1000 -#define TEMP_TIMER_FREQUENCY 1000 +#define STEPPER_TIMER_RATE HAL_TIMER_RATE +#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) +#define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / STEPPER_TIMER_TICKS_PER_US) -#define STEP_TIMER_MIN_INTERVAL 8 // minimum time in µs between stepper interrupts +#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer +#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE +#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US #define ENABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_enable_interrupt(STEP_TIMER_NUM) #define DISABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_disable_interrupt(STEP_TIMER_NUM) @@ -78,8 +77,6 @@ typedef uint32_t hal_timer_t; #define HAL_STEP_TIMER_ISR extern "C" void ftm0_isr(void) //void TC3_Handler() #define HAL_TEMP_TIMER_ISR extern "C" void ftm1_isr(void) //void TC4_Handler() -#define HAL_ENABLE_ISRs() do { if (thermalManager.in_temp_isr) DISABLE_TEMPERATURE_INTERRUPT(); else ENABLE_TEMPERATURE_INTERRUPT(); ENABLE_STEPPER_DRIVER_INTERRUPT(); } while(0) - void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency); FORCE_INLINE static void HAL_timer_set_compare(const uint8_t timer_num, const hal_timer_t compare) { @@ -115,5 +112,6 @@ void HAL_timer_disable_interrupt(const uint8_t timer_num); bool HAL_timer_interrupt_enabled(const uint8_t timer_num); void HAL_timer_isr_prologue(const uint8_t timer_num); +#define HAL_timer_isr_epilogue(TIMER_NUM) #endif // _HAL_TIMERS_TEENSY_H diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/SanityCheck_Teensy_35_36.h b/Marlin/src/HAL/HAL_TEENSY35_36/SanityCheck.h similarity index 86% rename from Marlin/src/HAL/HAL_TEENSY35_36/SanityCheck_Teensy_35_36.h rename to Marlin/src/HAL/HAL_TEENSY35_36/SanityCheck.h index b4791bdb808f..c8a9ee9bdf15 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/SanityCheck_Teensy_35_36.h +++ b/Marlin/src/HAL/HAL_TEENSY35_36/SanityCheck.h @@ -24,6 +24,6 @@ * Test TEENSY35_36 specific configuration values for errors at compile-time. */ -/** - * Require gcc 4.7 or newer (first included with Arduino 1.6.8) for C++11 features. - */ +#if ENABLED(EMERGENCY_PARSER) + #error "EMERGENCY_PARSER is not yet implemented for Teensy 3.5/3.6. Disable EMERGENCY_PARSER to continue." +#endif diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/endstop_interrupts.h b/Marlin/src/HAL/HAL_TEENSY35_36/endstop_interrupts.h index 0652c2997a38..00e1b8b38ac1 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_TEENSY35_36/endstop_interrupts.h @@ -24,7 +24,7 @@ * Endstop Interrupts * * Without endstop interrupts the endstop pins must be polled continually in - * the stepper-ISR via endstops.update(), most of the time finding no change. + * the temperature-ISR via endstops.update(), most of the time finding no change. * With this feature endstops.update() is called only when we know that at * least one endstop has changed state, saving valuable CPU cycles. * @@ -34,8 +34,13 @@ * (Located in Marlin/buildroot/share/pin_interrupt_test/pin_interrupt_test.ino) */ - #ifndef _ENDSTOP_INTERRUPTS_H_ - #define _ENDSTOP_INTERRUPTS_H_ +#ifndef _ENDSTOP_INTERRUPTS_H_ +#define _ENDSTOP_INTERRUPTS_H_ + +#include "../../module/endstops.h" + +// One ISR for all EXT-Interrupts +void endstop_ISR(void) { endstops.update(); } /** * Endstop interrupts for Due based targets. diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/fastio_Teensy.h b/Marlin/src/HAL/HAL_TEENSY35_36/fastio_Teensy.h index ce31ed206a70..4d31310d8d41 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/fastio_Teensy.h +++ b/Marlin/src/HAL/HAL_TEENSY35_36/fastio_Teensy.h @@ -30,7 +30,7 @@ #define _FASTIO_TEENSY_H #ifndef MASK - #define MASK(PIN) (1 << PIN) + #define MASK(PIN) (1 << PIN) #endif #define GPIO_BITBAND_ADDR(reg, bit) (((uint32_t)&(reg) - 0x40000000) * 32 + (bit) * 4 + 0x42000000) @@ -44,38 +44,47 @@ * Why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html */ -#define _READ(p) ((bool)(CORE_PIN ## p ## _PINREG & CORE_PIN ## p ## _BITMASK)) -#define _WRITE(p, v) do { if (v) CORE_PIN ## p ## _PORTSET = CORE_PIN ## p ## _BITMASK; \ - else CORE_PIN ## p ## _PORTCLEAR = CORE_PIN ## p ## _BITMASK; } while (0) -#define _TOGGLE(p) (*(&(CORE_PIN ## p ## _PORTCLEAR)+1) = CORE_PIN ## p ## _BITMASK) -#define _SET_INPUT(p) do { CORE_PIN ## p ## _CONFIG = PORT_PCR_MUX(1); \ - GPIO_BITBAND(CORE_PIN ## p ## _DDRREG , CORE_PIN ## p ## _BIT) = 0; \ - } while (0) -#define _SET_OUTPUT(p) do { CORE_PIN ## p ## _CONFIG = PORT_PCR_MUX(1)|PORT_PCR_SRE|PORT_PCR_DSE; \ - GPIO_BITBAND(CORE_PIN ## p ## _DDRREG , CORE_PIN ## p ## _BIT) = 1; \ - } while (0) +#define _READ(p) bool(CORE_PIN ## p ## _PINREG & CORE_PIN ## p ## _BITMASK) -//#define _PULLUP(IO, v) { pinMode(IO, (v!=LOW ? INPUT_PULLUP : INPUT)); } +#define _WRITE(P,V) do{ \ + if (V) CORE_PIN ## P ## _PORTSET = CORE_PIN ## P ## _BITMASK; \ + else CORE_PIN ## P ## _PORTCLEAR = CORE_PIN ## P ## _BITMASK; \ +}while(0) -#define _GET_INPUT(p) ((CORE_PIN ## p ## _DDRREG & CORE_PIN ## p ## _BITMASK) == 0) -#define _GET_OUTPUT(p) ((CORE_PIN ## p ## _DDRREG & CORE_PIN ## p ## _BITMASK) == 0) +#define _TOGGLE(P) (*(&(CORE_PIN ## P ## _PORTCLEAR)+1) = CORE_PIN ## P ## _BITMASK) -//#define _GET_TIMER(IO) +#define _SET_INPUT(P) do{ \ + CORE_PIN ## P ## _CONFIG = PORT_PCR_MUX(1); \ + GPIO_BITBAND(CORE_PIN ## P ## _DDRREG , CORE_PIN ## P ## _BIT) = 0; \ +}while(0) -#define READ(IO) _READ(IO) +#define _SET_OUTPUT(P) do{ \ + CORE_PIN ## P ## _CONFIG = PORT_PCR_MUX(1)|PORT_PCR_SRE|PORT_PCR_DSE; \ + GPIO_BITBAND(CORE_PIN ## P ## _DDRREG , CORE_PIN ## P ## _BIT) = 1; \ +}while(0) -#define WRITE_VAR(IO, v) _WRITE_VAR(IO, v) -#define WRITE(IO, v) _WRITE(IO, v) -#define TOGGLE(IO) _TOGGLE(IO) +#define _SET_INPUT_PULLUP(P) do{ \ + CORE_PIN ## P ## _CONFIG = PORT_PCR_MUX(1) | PORT_PCR_PE | PORT_PCR_PS; \ + GPIO_BITBAND(CORE_PIN ## P ## _DDRREG , CORE_PIN ## P ## _BIT) = 0; \ +}while(0) -#define SET_INPUT(IO) _SET_INPUT(IO) -#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _WRITE(IO, HIGH); }while(0) -#define SET_OUTPUT(IO) _SET_OUTPUT(IO) +#define _GET_INPUT(P) ((CORE_PIN ## P ## _DDRREG & CORE_PIN ## P ## _BITMASK) == 0) +#define _GET_OUTPUT(P) ((CORE_PIN ## P ## _DDRREG & CORE_PIN ## P ## _BITMASK) == 0) -#define GET_INPUT(IO) _GET_INPUT(IO) -#define GET_OUTPUT(IO) _GET_OUTPUT(IO) +#define READ(IO) _READ(IO) -#define OUT_WRITE(IO, v) { SET_OUTPUT(IO); WRITE(IO, v); } +#define WRITE_VAR(IO,V) _WRITE_VAR(IO,V) +#define WRITE(IO,V) _WRITE(IO,V) +#define TOGGLE(IO) _TOGGLE(IO) + +#define SET_INPUT(IO) _SET_INPUT(IO) +#define SET_INPUT_PULLUP(IO) _SET_INPUT_PULLUP(IO) +#define SET_OUTPUT(IO) _SET_OUTPUT(IO) + +#define GET_INPUT(IO) _GET_INPUT(IO) +#define GET_OUTPUT(IO) _GET_OUTPUT(IO) + +#define OUT_WRITE(IO,V) do{ SET_OUTPUT(IO); WRITE(IO,V); }while(0) /** * Ports, functions, and pins diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_impl.cpp index be0604dae24c..550d2a851e6f 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_impl.cpp @@ -9,13 +9,8 @@ namespace HAL { namespace PersistentStore { -bool access_start() { - return true; -} - -bool access_finish() { - return true; -} +bool access_start() { return true; } +bool access_finish() { return true; } bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { while (size--) { diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_pinsDebug_Teensy.h b/Marlin/src/HAL/HAL_TEENSY35_36/pinsDebug.h similarity index 100% rename from Marlin/src/HAL/HAL_TEENSY35_36/HAL_pinsDebug_Teensy.h rename to Marlin/src/HAL/HAL_TEENSY35_36/pinsDebug.h diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/watchdog_Teensy.h b/Marlin/src/HAL/HAL_TEENSY35_36/watchdog_Teensy.h index a286f4fc98bb..ca05dd225a72 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/watchdog_Teensy.h +++ b/Marlin/src/HAL/HAL_TEENSY35_36/watchdog_Teensy.h @@ -23,7 +23,7 @@ #ifndef WATCHDOG_TEENSY_H #define WATCHDOG_TEENSY_H -#include "../HAL.h" +#include "HAL.h" // Arduino Due core now has watchdog support diff --git a/Marlin/src/HAL/HAL_endstop_interrupts.h b/Marlin/src/HAL/HAL_endstop_interrupts.h deleted file mode 100644 index 6a13090ca0ee..000000000000 --- a/Marlin/src/HAL/HAL_endstop_interrupts.h +++ /dev/null @@ -1,63 +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 . - * - */ - -#ifndef HAL_ENDSTOP_INTERRUPTS_H_ -#define HAL_ENDSTOP_INTERRUPTS_H_ - -volatile uint8_t e_hit = 0; // Different from 0 when the endstops should be tested in detail. - // Must be reset to 0 by the test function when finished. - -// This is what is really done inside the interrupts. -FORCE_INLINE void endstop_ISR_worker( void ) { - e_hit = 2; // Because the detection of a e-stop hit has a 1 step debouncer it has to be called at least twice. -} - -// One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstop_ISR_worker(); } - -#ifdef __AVR__ - - #include "HAL_AVR/endstop_interrupts.h" - -#elif defined(ARDUINO_ARCH_SAM) - - #include "HAL_DUE/endstop_interrupts.h" - -#elif IS_32BIT_TEENSY - - #include "HAL_TEENSY35_36/endstop_interrupts.h" - -#elif defined(__STM32F1__) - - #include "HAL_STM32F1/endstop_interrupts.h" - -#elif defined(STM32F7) - - #include "HAL_STM32F7/endstop_interrupts.h" - -#else - - #error Unsupported Platform! - -#endif - -#endif /* HAL_ENDSTOP_INTERRUPTS_H_ */ diff --git a/Marlin/src/HAL/I2cEeprom.cpp b/Marlin/src/HAL/I2cEeprom.cpp index 27fa0062d876..874b99c80a35 100644 --- a/Marlin/src/HAL/I2cEeprom.cpp +++ b/Marlin/src/HAL/I2cEeprom.cpp @@ -33,7 +33,7 @@ // Includes // -------------------------------------------------------------------------- -#include "HAL.h" +#include HAL_PATH(., HAL.h) #include // -------------------------------------------------------------------------- diff --git a/Marlin/src/HAL/SpiEeprom.cpp b/Marlin/src/HAL/SpiEeprom.cpp index f15978b686c3..6d36d1ca7e47 100644 --- a/Marlin/src/HAL/SpiEeprom.cpp +++ b/Marlin/src/HAL/SpiEeprom.cpp @@ -29,7 +29,7 @@ #if ENABLED(SPI_EEPROM) -#include "HAL.h" +#include HAL_PATH(., HAL.h) #define CMD_WREN 6 // WREN #define CMD_READ 2 // WRITE diff --git a/Marlin/src/backtrace/backtrace.cpp b/Marlin/src/HAL/backtrace/backtrace.cpp similarity index 96% rename from Marlin/src/backtrace/backtrace.cpp rename to Marlin/src/HAL/backtrace/backtrace.cpp index 737626744c6c..4a688b369c77 100644 --- a/Marlin/src/backtrace/backtrace.cpp +++ b/Marlin/src/HAL/backtrace/backtrace.cpp @@ -26,7 +26,9 @@ #include "unwinder.h" #include "unwmemaccess.h" -#include "../Marlin.h" + +#include "../../core/serial.h" +#include // Dump a backtrace entry static bool UnwReportOut(void* ctx, const UnwReport* bte) { @@ -66,7 +68,7 @@ static const UnwindCallbacks UnwCallbacks = { void backtrace(void) { UnwindFrame btf; - uint32_t sp,lr,pc; + uint32_t sp = 0, lr = 0, pc = 0; // Capture the values of the registers to perform the traceback __asm__ __volatile__ ( diff --git a/Marlin/src/backtrace/backtrace.h b/Marlin/src/HAL/backtrace/backtrace.h similarity index 100% rename from Marlin/src/backtrace/backtrace.h rename to Marlin/src/HAL/backtrace/backtrace.h diff --git a/Marlin/src/backtrace/unwarm.cpp b/Marlin/src/HAL/backtrace/unwarm.cpp similarity index 98% rename from Marlin/src/backtrace/unwarm.cpp rename to Marlin/src/HAL/backtrace/unwarm.cpp index 3257e1f44b84..f6d85b708b54 100644 --- a/Marlin/src/backtrace/unwarm.cpp +++ b/Marlin/src/HAL/backtrace/unwarm.cpp @@ -80,7 +80,7 @@ void UnwInitState(UnwState * const state, /**< Pointer to structure to fill. // Detect if function names are available static int __attribute__ ((noinline)) has_function_names(void) { uint32_t flag_word = ((uint32_t*)(((uint32_t)(&has_function_names)) & (-4))) [-1]; - return ((flag_word & 0xff000000) == 0xff000000) ? 1 : 0; + return ((flag_word & 0xFF000000) == 0xFF000000) ? 1 : 0; } /** @@ -171,5 +171,5 @@ bool UnwMemReadRegister(UnwState * const state, const uint32_t addr, RegData * c } else return false; // Not in the hash, and failed to read from memory } -#endif +#endif // __arm__ || __thumb__ diff --git a/Marlin/src/backtrace/unwarm.h b/Marlin/src/HAL/backtrace/unwarm.h similarity index 98% rename from Marlin/src/backtrace/unwarm.h rename to Marlin/src/HAL/backtrace/unwarm.h index 4e4e07e332a5..8ecdeba8a55e 100644 --- a/Marlin/src/backtrace/unwarm.h +++ b/Marlin/src/HAL/backtrace/unwarm.h @@ -104,7 +104,7 @@ typedef struct { * Macros **************************************************************************/ -#define M_IsOriginValid(v) (((v) & 0x7f) ? true : false) +#define M_IsOriginValid(v) (((v) & 0x7F) ? true : false) #define M_Origin2Str(v) ((v) ? "VALID" : "INVALID") #if defined(UNW_DEBUG) @@ -140,8 +140,4 @@ bool UnwMemWriteRegister(UnwState * const state, const uint32_t addr, const RegD bool UnwMemReadRegister(UnwState * const state, const uint32_t addr, RegData * const reg); void UnwMemHashGC(UnwState * const state); -#endif /* UNWARM_H */ - -/* END OF FILE */ - - +#endif // UNWARM_H diff --git a/Marlin/src/backtrace/unwarm_arm.cpp b/Marlin/src/HAL/backtrace/unwarm_arm.cpp similarity index 99% rename from Marlin/src/backtrace/unwarm_arm.cpp rename to Marlin/src/HAL/backtrace/unwarm_arm.cpp index 692c6a9699ee..09528885f706 100644 --- a/Marlin/src/backtrace/unwarm_arm.cpp +++ b/Marlin/src/HAL/backtrace/unwarm_arm.cpp @@ -593,4 +593,5 @@ UnwResult UnwStartArm(UnwState * const state) { return UNWIND_UNSUPPORTED; } -#endif + +#endif // __arm__ || __thumb__ diff --git a/Marlin/src/backtrace/unwarm_thumb.cpp b/Marlin/src/HAL/backtrace/unwarm_thumb.cpp similarity index 92% rename from Marlin/src/backtrace/unwarm_thumb.cpp rename to Marlin/src/HAL/backtrace/unwarm_thumb.cpp index f2edc137243f..a4afbeaf8de0 100644 --- a/Marlin/src/backtrace/unwarm_thumb.cpp +++ b/Marlin/src/HAL/backtrace/unwarm_thumb.cpp @@ -28,7 +28,7 @@ static int32_t signExtend11(uint16_t value) { if(value & 0x400) { - value |= 0xfffff800; + value |= 0xFFFFF800; } return value; @@ -66,7 +66,7 @@ UnwResult UnwStartThumb(UnwState * const state) { /* * Detect 32bit thumb instructions */ - if ((instr & 0xe000) == 0xe000 && (instr & 0x1800) != 0) { + if ((instr & 0xE000) == 0xE000 && (instr & 0x1800) != 0) { uint16_t instr2; /* Check next address */ @@ -83,7 +83,7 @@ UnwResult UnwStartThumb(UnwState * const state) { * Load/Store multiple: Only interpret * PUSH and POP */ - if ((instr & 0xfe6f) == 0xe82d) { + if ((instr & 0xFE6F) == 0xE82D) { bool L = (instr & 0x10) ? true : false; uint16_t rList = instr2; @@ -171,7 +171,7 @@ UnwResult UnwStartThumb(UnwState * const state) { /* * PUSH register */ - else if (instr == 0xf84d && (instr2 & 0x0fff) == 0x0d04) { + else if (instr == 0xF84D && (instr2 & 0x0FFF) == 0x0D04) { uint8_t r = instr2 >> 12; /* Store to memory: PUSH */ @@ -187,7 +187,7 @@ UnwResult UnwStartThumb(UnwState * const state) { /* * POP register */ - else if (instr == 0xf85d && (instr2 & 0x0fff) == 0x0b04) { + else if (instr == 0xF85D && (instr2 & 0x0FFF) == 0x0B04) { uint8_t r = instr2 >> 12; /* Load from memory: POP */ @@ -246,7 +246,7 @@ UnwResult UnwStartThumb(UnwState * const state) { /* * TBB / TBH */ - else if ((instr & 0xfff0) == 0xe8d0 && (instr2 & 0xffe0) == 0xf000) { + else if ((instr & 0xFFF0) == 0xE8D0 && (instr2 & 0xFFE0) == 0xF000) { /* We are only interested in * the forms * TBB [PC, ...] @@ -254,11 +254,10 @@ UnwResult UnwStartThumb(UnwState * const state) { * as those are used by the C compiler to implement * the switch clauses */ - uint8_t rn = instr & 0xf; - uint8_t rm = instr2 & 0xf; + uint8_t rn = instr & 0xF; bool H = (instr2 & 0x10) ? true : false; - UnwPrintd5("TB%c [r%d,r%d%s]\n", H ? 'H' : 'B', rn, rm, H ? ",LSL #1" : ""); + UnwPrintd5("TB%c [r%d,r%d%s]\n", H ? 'H' : 'B', rn, (instr2 & 0xF), H ? ",LSL #1" : ""); // We are only interested if the RN is the PC. Let's choose the 1st destination if (rn == 15) { @@ -280,19 +279,19 @@ UnwResult UnwStartThumb(UnwState * const state) { /* * Unconditional branch */ - else if ((instr & 0xf800) == 0xf000 && (instr2 & 0xd000) == 0x9000) { + else if ((instr & 0xF800) == 0xF000 && (instr2 & 0xD000) == 0x9000) { uint32_t v; uint8_t S = (instr & 0x400) >> 10; - uint16_t imm10 = (instr & 0x3ff); + uint16_t imm10 = (instr & 0x3FF); uint8_t J1 = (instr2 & 0x2000) >> 13; uint8_t J2 = (instr2 & 0x0800) >> 11; - uint16_t imm11 = (instr2 & 0x7ff); + uint16_t imm11 = (instr2 & 0x7FF); uint8_t I1 = J1 ^ S ^ 1; uint8_t I2 = J2 ^ S ^ 1; uint32_t imm32 = (S << 24) | (I1 << 23) | (I2 << 22) |(imm10 << 12) | (imm11 << 1); - if (S) imm32 |= 0xfe000000; + if (S) imm32 |= 0xFE000000; UnwPrintd2("B %d \n", imm32); @@ -321,18 +320,18 @@ UnwResult UnwStartThumb(UnwState * const state) { /* * Branch with link */ - else if ((instr & 0xf800) == 0xf000 && (instr2 & 0xd000) == 0xd000) { + else if ((instr & 0xF800) == 0xF000 && (instr2 & 0xD000) == 0xD000) { uint8_t S = (instr & 0x400) >> 10; - uint16_t imm10 = (instr & 0x3ff); + uint16_t imm10 = (instr & 0x3FF); uint8_t J1 = (instr2 & 0x2000) >> 13; uint8_t J2 = (instr2 & 0x0800) >> 11; - uint16_t imm11 = (instr2 & 0x7ff); + uint16_t imm11 = (instr2 & 0x7FF); uint8_t I1 = J1 ^ S ^ 1; uint8_t I2 = J2 ^ S ^ 1; uint32_t imm32 = (S << 24) | (I1 << 23) | (I2 << 22) |(imm10 << 12) | (imm11 << 1); - if (S) imm32 |= 0xfe000000; + if (S) imm32 |= 0xFE000000; UnwPrintd2("BL %d \n", imm32); @@ -377,18 +376,18 @@ UnwResult UnwStartThumb(UnwState * const state) { /* * Conditional branches. Usually not taken, unless infinite loop is detected */ - else if ((instr & 0xf800) == 0xf000 && (instr2 & 0xd000) == 0x8000) { + else if ((instr & 0xF800) == 0xF000 && (instr2 & 0xD000) == 0x8000) { uint8_t S = (instr & 0x400) >> 10; - uint16_t imm6 = (instr & 0x3f); + uint16_t imm6 = (instr & 0x3F); uint8_t J1 = (instr2 & 0x2000) >> 13; uint8_t J2 = (instr2 & 0x0800) >> 11; - uint16_t imm11 = (instr2 & 0x7ff); + uint16_t imm11 = (instr2 & 0x7FF); uint8_t I1 = J1 ^ S ^ 1; uint8_t I2 = J2 ^ S ^ 1; uint32_t imm32 = (S << 20) | (I1 << 19) | (I2 << 18) |(imm6 << 12) | (imm11 << 1); - if (S) imm32 |= 0xffe00000; + if (S) imm32 |= 0xFFE00000; UnwPrintd2("Bcond %d\n", imm32); @@ -412,9 +411,9 @@ UnwResult UnwStartThumb(UnwState * const state) { * PC-relative load * LDR Rd,[PC, #+/-imm] */ - else if((instr & 0xff7f) == 0xf85f) { - uint8_t rt = (instr2 & 0xf000) >> 12; - uint8_t imm12 = (instr2 & 0x0fff); + else if((instr & 0xFF7F) == 0xF85F) { + uint8_t rt = (instr2 & 0xF000) >> 12; + uint8_t imm12 = (instr2 & 0x0FFF); bool A = (instr & 0x80) ? true : false; uint32_t address; @@ -434,10 +433,10 @@ UnwResult UnwStartThumb(UnwState * const state) { * We are only interested when destination is PC. * LDR Rt,[Rn , #n] */ - else if ((instr & 0xfff0) == 0xf8d0) { - uint8_t rn = (instr & 0xf); - uint8_t rt = (instr2 & 0xf000) >> 12; - uint16_t imm12 = (instr2 & 0xfff); + else if ((instr & 0xFFF0) == 0xF8D0) { + uint8_t rn = (instr & 0xF); + uint8_t rt = (instr2 & 0xF000) >> 12; + uint16_t imm12 = (instr2 & 0xFFF); /* If destination is PC and we don't know the source value, then fail */ if (!M_IsOriginValid(state->regData[rn].o)) { @@ -456,10 +455,10 @@ UnwResult UnwStartThumb(UnwState * const state) { * LDR Rt,[Rn], #+/-n] * LDR Rt,[Rn, #+/-n]! */ - else if ((instr & 0xfff0) == 0xf850 && (instr2 & 0x0800) == 0x0800) { - uint8_t rn = (instr & 0xf); - uint8_t rt = (instr2 & 0xf000) >> 12; - uint16_t imm8 = (instr2 & 0xff); + else if ((instr & 0xFFF0) == 0xF850 && (instr2 & 0x0800) == 0x0800) { + uint8_t rn = (instr & 0xF); + uint8_t rt = (instr2 & 0xF000) >> 12; + uint16_t imm8 = (instr2 & 0xFF); bool P = (instr2 & 0x400) ? true : false; bool U = (instr2 & 0x200) ? true : false; bool W = (instr2 & 0x100) ? true : false; @@ -493,10 +492,10 @@ UnwResult UnwStartThumb(UnwState * const state) { * ldr Rt, [Rn, Rm, lsl #x] * Where Rt is PC, Rn value is known, Rm is not known or unknown */ - else if ((instr & 0xfff0) == 0xf850 && (instr2 & 0x0fc0) == 0x0000) { - uint8_t rn = (instr & 0xf); - uint8_t rt = (instr2 & 0xf000) >> 12; - uint8_t rm = (instr2 & 0xf); + else if ((instr & 0xFFF0) == 0xF850 && (instr2 & 0x0FC0) == 0x0000) { + uint8_t rn = (instr & 0xF); + uint8_t rt = (instr2 & 0xF000) >> 12; + uint8_t rm = (instr2 & 0xF); uint8_t imm2 = (instr2 & 0x30) >> 4; if (!M_IsOriginValid(state->regData[rn].o) || @@ -534,10 +533,10 @@ UnwResult UnwStartThumb(UnwState * const state) { * LSR Rd, Rs, #Offset5 * ASR Rd, Rs, #Offset5 */ - else if((instr & 0xe000) == 0x0000 && (instr & 0x1800) != 0x1800) { + else if((instr & 0xE000) == 0x0000 && (instr & 0x1800) != 0x1800) { bool signExtend; uint8_t op = (instr & 0x1800) >> 11; - uint8_t offset5 = (instr & 0x07c0) >> 6; + uint8_t offset5 = (instr & 0x07C0) >> 6; uint8_t rs = (instr & 0x0038) >> 3; uint8_t rd = (instr & 0x0007); @@ -562,7 +561,7 @@ UnwResult UnwStartThumb(UnwState * const state) { signExtend = (state->regData[rs].v & 0x8000) ? true : false; state->regData[rd].v = state->regData[rs].v >> offset5; if(signExtend) { - state->regData[rd].v |= 0xffffffff << (32 - offset5); + state->regData[rd].v |= 0xFFFFFFFF << (32 - offset5); } state->regData[rd].o = state->regData[rs].o; state->regData[rd].o |= REG_VAL_ARITHMETIC; @@ -575,10 +574,10 @@ UnwResult UnwStartThumb(UnwState * const state) { * SUB Rd, Rs, Rn * SUB Rd, Rs, #Offset3 */ - else if((instr & 0xf800) == 0x1800) { + else if((instr & 0xF800) == 0x1800) { bool I = (instr & 0x0400) ? true : false; bool op = (instr & 0x0200) ? true : false; - uint8_t rn = (instr & 0x01c0) >> 6; + uint8_t rn = (instr & 0x01C0) >> 6; uint8_t rs = (instr & 0x0038) >> 3; uint8_t rd = (instr & 0x0007); @@ -627,11 +626,11 @@ UnwResult UnwStartThumb(UnwState * const state) { * ADD Rd, #Offset8 * SUB Rd, #Offset8 */ - else if((instr & 0xe000) == 0x2000) { + else if((instr & 0xE000) == 0x2000) { uint8_t op = (instr & 0x1800) >> 11; uint8_t rd = (instr & 0x0700) >> 8; - uint8_t offset8 = (instr & 0x00ff); + uint8_t offset8 = (instr & 0x00FF); switch(op) { case 0: /* MOV */ @@ -676,8 +675,8 @@ UnwResult UnwStartThumb(UnwState * const state) { * BIC Rd, Rs * MVN Rd, Rs */ - else if((instr & 0xfc00) == 0x4000) { - uint8_t op = (instr & 0x03c0) >> 6; + else if((instr & 0xFC00) == 0x4000) { + uint8_t op = (instr & 0x03C0) >> 6; uint8_t rs = (instr & 0x0038) >> 3; uint8_t rd = (instr & 0x0007); @@ -741,7 +740,7 @@ UnwResult UnwStartThumb(UnwState * const state) { case 4: /* ASR */ if(state->regData[rd].v & 0x80000000) { state->regData[rd].v >>= state->regData[rs].v; - state->regData[rd].v |= 0xffffffff << (32 - state->regData[rs].v); + state->regData[rd].v |= 0xFFFFFFFF << (32 - state->regData[rs].v); } else { state->regData[rd].v >>= state->regData[rs].v; @@ -826,7 +825,7 @@ UnwResult UnwStartThumb(UnwState * const state) { * CMP Hd, Rs * MOV Hd, Hs */ - else if((instr & 0xfc00) == 0x4400) { + else if((instr & 0xFC00) == 0x4400) { uint8_t op = (instr & 0x0300) >> 8; bool h1 = (instr & 0x0080) ? true: false; bool h2 = (instr & 0x0040) ? true: false; @@ -894,9 +893,9 @@ UnwResult UnwStartThumb(UnwState * const state) { /* Format 9: PC-relative load * LDR Rd,[PC, #imm] */ - else if((instr & 0xf800) == 0x4800) { + else if((instr & 0xF800) == 0x4800) { uint8_t rd = (instr & 0x0700) >> 8; - uint8_t word8 = (instr & 0x00ff); + uint8_t word8 = (instr & 0x00FF); uint32_t address; /* Compute load address, adding a word to account for prefetch */ @@ -912,8 +911,8 @@ UnwResult UnwStartThumb(UnwState * const state) { * ADD sp,#+imm * ADD sp,#-imm */ - else if((instr & 0xff00) == 0xB000) { - uint8_t value = (instr & 0x7f) * 4; + else if((instr & 0xFF00) == 0xB000) { + uint8_t value = (instr & 0x7F) * 4; /* Check the negative bit */ if((instr & 0x80) != 0) { @@ -931,10 +930,10 @@ UnwResult UnwStartThumb(UnwState * const state) { * POP {Rlist} * POP {Rlist, PC} */ - else if((instr & 0xf600) == 0xb400) { + else if((instr & 0xF600) == 0xB400) { bool L = (instr & 0x0800) ? true : false; bool R = (instr & 0x0100) ? true : false; - uint8_t rList = (instr & 0x00ff); + uint8_t rList = (instr & 0x00FF); if(L) { uint8_t r; @@ -1038,9 +1037,9 @@ UnwResult UnwStartThumb(UnwState * const state) { * Conditional branches * Bcond */ - else if((instr & 0xf000) == 0xd000) { - int32_t branchValue = (instr & 0xff); - if (branchValue & 0x80) branchValue |= 0xffffff00; + else if((instr & 0xF000) == 0xD000) { + int32_t branchValue = (instr & 0xFF); + if (branchValue & 0x80) branchValue |= 0xFFFFFF00; /* Branch distance is twice that specified in the instruction. */ branchValue *= 2; @@ -1067,9 +1066,9 @@ UnwResult UnwStartThumb(UnwState * const state) { /* Format 18: unconditional branch * B label */ - else if((instr & 0xf800) == 0xe000) { + else if((instr & 0xF800) == 0xE000) { uint32_t v; - int32_t branchValue = signExtend11(instr & 0x07ff); + int32_t branchValue = signExtend11(instr & 0x07FF); /* Branch distance is twice that specified in the instruction. */ branchValue *= 2; @@ -1125,5 +1124,4 @@ UnwResult UnwStartThumb(UnwState * const state) { return UNWIND_SUCCESS; } -#endif - +#endif // __arm__ || __thumb__ diff --git a/Marlin/src/backtrace/unwarmbytab.cpp b/Marlin/src/HAL/backtrace/unwarmbytab.cpp similarity index 85% rename from Marlin/src/backtrace/unwarmbytab.cpp rename to Marlin/src/HAL/backtrace/unwarmbytab.cpp index 9827f25f6569..db49dcad7f83 100644 --- a/Marlin/src/backtrace/unwarmbytab.cpp +++ b/Marlin/src/HAL/backtrace/unwarmbytab.cpp @@ -29,7 +29,7 @@ void __aeabi_unwind_cpp_pr2(void) {}; static inline __attribute__((always_inline)) uint32_t prel31_to_addr(const uint32_t *prel31) { uint32_t offset = (((uint32_t)(*prel31)) << 1) >> 1; - return ((uint32_t)prel31 + offset) & 0x7fffffff; + return ((uint32_t)prel31 + offset) & 0x7FFFFFFF; } static const UnwTabEntry *UnwTabSearchIndex(const UnwTabEntry *start, const UnwTabEntry *end, uint32_t ip) { @@ -54,8 +54,8 @@ static const char *UnwTabGetFunctionName(const UnwindCallbacks *cb, uint32_t add if (!cb->readW(address-4,&flag_word)) return NULL; - if ((flag_word & 0xff000000) == 0xff000000) { - return (const char *)(address - 4 - (flag_word & 0x00ffffff)); + if ((flag_word & 0xFF000000) == 0xFF000000) { + return (const char *)(address - 4 - (flag_word & 0x00FFFFFF)); } return NULL; } @@ -77,7 +77,7 @@ static int UnwTabGetNextInstruction(const UnwindCallbacks *cb, UnwTabState *ucb) uint32_t v = 0; if (!cb->readW(ucb->current, &v)) return -1; - instruction = (v >> (ucb->byte << 3)) & 0xff; + instruction = (v >> (ucb->byte << 3)) & 0xFF; /* Move the next byte */ --ucb->byte; @@ -104,12 +104,12 @@ static UnwResult UnwTabStateInit(const UnwindCallbacks *cb, UnwTabState *ucb, ui if (!cb->readW(instructions, &v)) return UNWIND_DREAD_W_FAIL; - if ((v & 0xff000000) == 0x80000000) { + if ((v & 0xFF000000) == 0x80000000) { ucb->remaining = 3; ucb->byte = 2; /* Is a long unwind description */ - } else if ((v & 0xff000000) == 0x81000000) { - ucb->remaining = ((v & 0x00ff0000) >> 14) + 2; + } else if ((v & 0xFF000000) == 0x81000000) { + ucb->remaining = ((v & 0x00FF0000) >> 14) + 2; ucb->byte = 1; } else return UNWIND_UNSUPPORTED_DWARF_PERSONALITY; @@ -129,7 +129,6 @@ static UnwResult UnwTabStateInit(const UnwindCallbacks *cb, UnwTabState *ucb, ui */ static UnwResult UnwTabExecuteInstructions(const UnwindCallbacks *cb, UnwTabState *ucb) { - UnwResult err; int instruction; uint32_t mask; uint32_t reg; @@ -138,15 +137,15 @@ static UnwResult UnwTabExecuteInstructions(const UnwindCallbacks *cb, UnwTabStat /* Consume all instruction byte */ while ((instruction = UnwTabGetNextInstruction(cb, ucb)) != -1) { - if ((instruction & 0xc0) == 0x00) { // ARM_EXIDX_CMD_DATA_POP + if ((instruction & 0xC0) == 0x00) { // ARM_EXIDX_CMD_DATA_POP /* vsp = vsp + (xxxxxx << 2) + 4 */ - ucb->vrs[13] += ((instruction & 0x3f) << 2) + 4; + ucb->vrs[13] += ((instruction & 0x3F) << 2) + 4; } else - if ((instruction & 0xc0) == 0x40) { // ARM_EXIDX_CMD_DATA_PUSH + if ((instruction & 0xC0) == 0x40) { // ARM_EXIDX_CMD_DATA_PUSH /* vsp = vsp - (xxxxxx << 2) - 4 */ - ucb->vrs[13] -= ((instruction & 0x3f) << 2) - 4; + ucb->vrs[13] -= ((instruction & 0x3F) << 2) - 4; } else - if ((instruction & 0xf0) == 0x80) { + if ((instruction & 0xF0) == 0x80) { /* pop under mask {r15-r12},{r11-r4} or refuse to unwind */ instruction = instruction << 8 | UnwTabGetNextInstruction(cb, ucb); @@ -156,7 +155,7 @@ static UnwResult UnwTabExecuteInstructions(const UnwindCallbacks *cb, UnwTabStat /* Pop registers using mask */ // ARM_EXIDX_CMD_REG_POP vsp = ucb->vrs[13]; - mask = instruction & 0xfff; + mask = instruction & 0xFFF; reg = 4; while (mask) { @@ -176,17 +175,17 @@ static UnwResult UnwTabExecuteInstructions(const UnwindCallbacks *cb, UnwTabStat ucb->vrs[13] = vsp; } else - if ((instruction & 0xf0) == 0x90 && // ARM_EXIDX_CMD_REG_TO_SP - instruction != 0x9d && - instruction != 0x9f) { + if ((instruction & 0xF0) == 0x90 && // ARM_EXIDX_CMD_REG_TO_SP + instruction != 0x9D && + instruction != 0x9F) { /* vsp = r[nnnn] */ - ucb->vrs[13] = ucb->vrs[instruction & 0x0f]; + ucb->vrs[13] = ucb->vrs[instruction & 0x0F]; } else - if ((instruction & 0xf0) == 0xa0) { // ARM_EXIDX_CMD_REG_POP + if ((instruction & 0xF0) == 0xA0) { // ARM_EXIDX_CMD_REG_POP /* pop r4-r[4+nnn] or pop r4-r[4+nnn], r14*/ vsp = ucb->vrs[13]; - for (reg = 4; reg <= (instruction & 0x07) + 4; ++reg) { + for (reg = 4; reg <= uint32_t((instruction & 0x07) + 4); ++reg) { uint32_t v; if (!cb->readW(vsp,&v)) return UNWIND_DREAD_W_FAIL; @@ -206,7 +205,7 @@ static UnwResult UnwTabExecuteInstructions(const UnwindCallbacks *cb, UnwTabStat ucb->vrs[13] = vsp; } else - if (instruction == 0xb0) { // ARM_EXIDX_CMD_FINISH + if (instruction == 0xB0) { // ARM_EXIDX_CMD_FINISH /* finished */ if (ucb->vrs[15] == 0) ucb->vrs[15] = ucb->vrs[14]; @@ -215,7 +214,7 @@ static UnwResult UnwTabExecuteInstructions(const UnwindCallbacks *cb, UnwTabStat return UNWIND_SUCCESS; } else - if (instruction == 0xb1) { // ARM_EXIDX_CMD_REG_POP + if (instruction == 0xB1) { // ARM_EXIDX_CMD_REG_POP /* pop register under mask {r3,r2,r1,r0} */ vsp = ucb->vrs[13]; mask = UnwTabGetNextInstruction(cb, ucb); @@ -236,14 +235,14 @@ static UnwResult UnwTabExecuteInstructions(const UnwindCallbacks *cb, UnwTabStat ucb->vrs[13] = (uint32_t)vsp; } else - if (instruction == 0xb2) { // ARM_EXIDX_CMD_DATA_POP + if (instruction == 0xB2) { // ARM_EXIDX_CMD_DATA_POP /* vps = vsp + 0x204 + (uleb128 << 2) */ ucb->vrs[13] += 0x204 + (UnwTabGetNextInstruction(cb, ucb) << 2); } else - if (instruction == 0xb3 || // ARM_EXIDX_CMD_VFP_POP - instruction == 0xc8 || - instruction == 0xc9) { + if (instruction == 0xB3 || // ARM_EXIDX_CMD_VFP_POP + instruction == 0xC8 || + instruction == 0xC9) { /* pop VFP double-precision registers */ vsp = ucb->vrs[13]; @@ -256,12 +255,12 @@ static UnwResult UnwTabExecuteInstructions(const UnwindCallbacks *cb, UnwTabStat ucb->vrs[14] = v; vsp += 4; - if (instruction == 0xc8) { + if (instruction == 0xC8) { /* D[16+sssss]-D[16+ssss+cccc] */ ucb->vrs[14] |= 1 << 16; } - if (instruction != 0xb3) { + if (instruction != 0xB3) { /* D[sssss]-D[ssss+cccc] */ ucb->vrs[14] |= 1 << 17; } @@ -269,13 +268,13 @@ static UnwResult UnwTabExecuteInstructions(const UnwindCallbacks *cb, UnwTabStat ucb->vrs[13] = vsp; } else - if ((instruction & 0xf8) == 0xb8 || - (instruction & 0xf8) == 0xd0) { + if ((instruction & 0xF8) == 0xB8 || + (instruction & 0xF8) == 0xD0) { /* Pop VFP double precision registers D[8]-D[8+nnn] */ ucb->vrs[14] = 0x80 | (instruction & 0x07); - if ((instruction & 0xf8) == 0xd0) { + if ((instruction & 0xF8) == 0xD0) { ucb->vrs[14] = 1 << 17; } @@ -291,7 +290,7 @@ static inline __attribute__((always_inline)) uint32_t read_psp(void) { /* Read the current PSP and return its value as a pointer */ uint32_t psp; - __asm volatile ( + __asm__ volatile ( " mrs %0, psp \n" : "=r" (psp) : : ); @@ -337,7 +336,7 @@ static UnwResult UnwTabUnwindFrame(const UnwindCallbacks *cb, UnwindFrame *frame /* Check for exception return */ /* TODO Test with other ARM processors to verify this method. */ - if ((ucb.vrs[15] & 0xf0000000) == 0xf0000000) { + if ((ucb.vrs[15] & 0xF0000000) == 0xF0000000) { /* According to the Cortex Programming Manual (p.44), the stack address is always 8-byte aligned (Cortex-M7). Depending on where the exception came from (MSP or PSP), we need the right SP value to work with. @@ -354,20 +353,20 @@ static UnwResult UnwTabUnwindFrame(const UnwindCallbacks *cb, UnwindFrame *frame If we need to start from the PSP, we need to go up exactly 6 words to find the PC. See the ARMv7-M Architecture Reference Manual p.594 and Cortex-M7 Processor Programming Manual p.44/p.45 for details. */ - if ((ucb.vrs[15] & 0xc) == 0) { - /* Return to Handler Mode: MSP (0xffffff-1) */ + if ((ucb.vrs[15] & 0xC) == 0) { + /* Return to Handler Mode: MSP (0xFFFFFF-1) */ stack = ucb.vrs[13]; /* The PC is always 2 words down from the MSP, if it was a non-floating-point exception */ stack -= 2*4; - /* If there was a VFP exception (0xffffffe1), the PC is located another 18 words down */ - if ((ucb.vrs[15] & 0xf0) == 0xe0) { + /* If there was a VFP exception (0xFFFFFFE1), the PC is located another 18 words down */ + if ((ucb.vrs[15] & 0xF0) == 0xE0) { stack -= 18*4; } } else { - /* Return to Thread Mode: PSP (0xffffff-d) */ + /* Return to Thread Mode: PSP (0xFFFFFF-d) */ stack = read_psp(); /* The PC is always 6 words up from the PSP */ @@ -423,7 +422,7 @@ UnwResult UnwindByTableStart(UnwindFrame* frame, const UnwindCallbacks *cb, void const UnwTabEntry *index = UnwTabSearchIndex(__exidx_start, __exidx_end, frame->pc); /* Clear last bit (Thumb indicator) */ - frame->pc &= 0xfffffffeU; + frame->pc &= 0xFFFFFFFEU; /* Generate the backtrace information */ entry.address = frame->pc; @@ -439,5 +438,4 @@ UnwResult UnwindByTableStart(UnwindFrame* frame, const UnwindCallbacks *cb, void return err; } -#endif - +#endif // __arm__ || __thumb__ diff --git a/Marlin/src/backtrace/unwarmbytab.h b/Marlin/src/HAL/backtrace/unwarmbytab.h similarity index 97% rename from Marlin/src/backtrace/unwarmbytab.h rename to Marlin/src/HAL/backtrace/unwarmbytab.h index a17a6f7d669a..527d3a6c727d 100644 --- a/Marlin/src/backtrace/unwarmbytab.h +++ b/Marlin/src/HAL/backtrace/unwarmbytab.h @@ -31,6 +31,4 @@ typedef struct { UnwResult UnwindByTableStart(UnwindFrame* frame, const UnwindCallbacks *cb, void *data); -#endif - -/* END OF FILE */ +#endif // UNWARMBYTAB_H diff --git a/Marlin/src/backtrace/unwarmmem.cpp b/Marlin/src/HAL/backtrace/unwarmmem.cpp similarity index 96% rename from Marlin/src/backtrace/unwarmmem.cpp rename to Marlin/src/HAL/backtrace/unwarmmem.cpp index bac3c8989725..7453fdb8dbb6 100644 --- a/Marlin/src/backtrace/unwarmmem.cpp +++ b/Marlin/src/HAL/backtrace/unwarmmem.cpp @@ -19,7 +19,6 @@ #include "unwarmmem.h" #include "unwarm.h" - #define M_IsIdxUsed(a, v) (((a)[v >> 3] & (1 << (v & 0x7))) ? true : false) #define M_SetIdxUsed(a, v) ((a)[v >> 3] |= (1 << (v & 0x7))) #define M_ClrIdxUsed(a, v) ((a)[v >> 3] &= ~(1 << (v & 0x7))) @@ -91,9 +90,9 @@ bool UnwMemHashWrite(MemData * const memData, uint32_t addr, uint32_t val, bool M_SetIdxUsed(memData->tracked, i); } else { -#if defined(UNW_DEBUG) - memData->v[i] = 0xdeadbeef; -#endif + #if defined(UNW_DEBUG) + memData->v[i] = 0xDEADBEEF; + #endif M_ClrIdxUsed(memData->tracked, i); } @@ -115,4 +114,5 @@ void UnwMemHashGC(UnwState * const state) { } } } -#endif + +#endif // __arm__ || __thumb__ diff --git a/Marlin/src/backtrace/unwarmmem.h b/Marlin/src/HAL/backtrace/unwarmmem.h similarity index 100% rename from Marlin/src/backtrace/unwarmmem.h rename to Marlin/src/HAL/backtrace/unwarmmem.h diff --git a/Marlin/src/backtrace/unwinder.cpp b/Marlin/src/HAL/backtrace/unwinder.cpp similarity index 100% rename from Marlin/src/backtrace/unwinder.cpp rename to Marlin/src/HAL/backtrace/unwinder.cpp diff --git a/Marlin/src/backtrace/unwinder.h b/Marlin/src/HAL/backtrace/unwinder.h similarity index 100% rename from Marlin/src/backtrace/unwinder.h rename to Marlin/src/HAL/backtrace/unwinder.h diff --git a/Marlin/src/backtrace/unwmemaccess.cpp b/Marlin/src/HAL/backtrace/unwmemaccess.cpp similarity index 92% rename from Marlin/src/backtrace/unwmemaccess.cpp rename to Marlin/src/HAL/backtrace/unwmemaccess.cpp index f7041d52d62b..b939be8803fa 100644 --- a/Marlin/src/backtrace/unwmemaccess.cpp +++ b/Marlin/src/HAL/backtrace/unwmemaccess.cpp @@ -62,6 +62,17 @@ #define END_FLASH_ADDR 0x00080000 #endif +#if defined(STM32F4) || defined(STM32F4xx) +// For STM32F407VET +// SRAM (0x20000000 - 0x20030000) (192kb) +// FLASH (0x08000000 - 0x08080000) (512kb) +// +#define START_SRAM_ADDR 0x20000000 +#define END_SRAM_ADDR 0x20030000 +#define START_FLASH_ADDR 0x08000000 +#define END_FLASH_ADDR 0x08080000 +#endif + #ifdef STM32F7 // For STM32F765 in BORG // SRAM (0x20000000 - 0x20080000) (512kb) diff --git a/Marlin/src/backtrace/unwmemaccess.h b/Marlin/src/HAL/backtrace/unwmemaccess.h similarity index 100% rename from Marlin/src/backtrace/unwmemaccess.h rename to Marlin/src/HAL/backtrace/unwmemaccess.h diff --git a/Marlin/src/HAL/math_32bit.h b/Marlin/src/HAL/math_32bit.h index 98b6a55f9f10..a59d221369bf 100644 --- a/Marlin/src/HAL/math_32bit.h +++ b/Marlin/src/HAL/math_32bit.h @@ -23,11 +23,13 @@ #ifndef MATH_32BIT_H #define MATH_32BIT_H +#include "../core/macros.h" + /** * Math helper functions for 32 bit CPUs */ - -#define MultiU32X32toH32(intRes, longIn1, longIn2) intRes = ((uint64_t)longIn1 * longIn2 + 0x80000000) >> 32 -#define MultiU32X24toH32(intRes, longIn1, longIn2) intRes = ((uint64_t)longIn1 * longIn2 + 0x00800000) >> 24 +static FORCE_INLINE uint32_t MultiU32X24toH32(uint32_t longIn1, uint32_t longIn2) { + return ((uint64_t)longIn1 * longIn2 + 0x00800000) >> 24; +} #endif // MATH_32BIT_H diff --git a/Marlin/src/HAL/platforms.h b/Marlin/src/HAL/platforms.h new file mode 100644 index 000000000000..1410b21f9c6d --- /dev/null +++ b/Marlin/src/HAL/platforms.h @@ -0,0 +1,32 @@ +#ifndef _HAL_PLATFORMS_H_ +#define _HAL_PLATFORMS_H_ + +#ifndef HAL_PLATFORM + +#ifdef __AVR__ + #define HAL_PLATFORM HAL_AVR +#elif defined(ARDUINO_ARCH_SAM) + #define HAL_PLATFORM HAL_DUE +#elif defined(__MK64FX512__) || defined(__MK66FX1M0__) + #define HAL_PLATFORM HAL_TEENSY35_36 +#elif defined(TARGET_LPC1768) + #define HAL_PLATFORM HAL_LPC1768 +#elif defined(__STM32F1__) || defined(TARGET_STM32F1) + #define HAL_PLATFORM HAL_STM32F1 +#elif defined(STM32F4) || defined(STM32F4xx) + #define HAL_PLATFORM HAL_STM32F4 +#elif defined(STM32F7) + #define HAL_PLATFORM HAL_STM32F7 +#elif defined(ARDUINO_ARCH_ESP32) + #define HAL_PLATFORM HAL_ESP32 +#else + #error "Unsupported Platform!" +#endif + +#endif // HAL_PLATFORM + +#define XSTR_(M) #M +#define XSTR(M) XSTR_(M) +#define HAL_PATH(PATH, NAME) XSTR(PATH/HAL_PLATFORM/NAME) + +#endif // _HAL_PLATFORMS_H_ diff --git a/Marlin/src/HAL/servo.cpp b/Marlin/src/HAL/servo.cpp index 26cf9533b4e8..a49aac0f998a 100644 --- a/Marlin/src/HAL/servo.cpp +++ b/Marlin/src/HAL/servo.cpp @@ -42,8 +42,8 @@ * * write() - Set the servo angle in degrees. (Invalid angles —over MIN_PULSE_WIDTH— are treated as µs.) * writeMicroseconds() - Set the servo pulse width in microseconds. - * move(pin, angle) - Sequence of attach(pin), write(angle), delay(SERVO_DELAY). - * With DEACTIVATE_SERVOS_AFTER_MOVE it detaches after SERVO_DELAY. + * move(pin, angle) - Sequence of attach(pin), write(angle), safe_delay(servo_delay[servoIndex]). + * With DEACTIVATE_SERVOS_AFTER_MOVE it detaches after servo_delay[servoIndex]. * read() - Get the last-written servo pulse width as an angle between 0 and 180. * readMicroseconds() - Get the last-written servo pulse width in microseconds. * attached() - Return true if a servo is attached. @@ -51,10 +51,9 @@ * */ - #include "../inc/MarlinConfig.h" -#if HAS_SERVOS && !(IS_32BIT_TEENSY || defined(TARGET_LPC1768)) +#if HAS_SERVOS && !(IS_32BIT_TEENSY || defined(TARGET_LPC1768) || defined(STM32F4) || defined(STM32F4xx)) //#include #include "servo.h" @@ -99,7 +98,7 @@ int8_t Servo::attach(const int pin, const int min, const int max) { if (pin > 0) servo_info[this->servoIndex].Pin.nbr = pin; pinMode(servo_info[this->servoIndex].Pin.nbr, OUTPUT); // set servo pin to output - // todo min/max check: abs(min - MIN_PULSE_WIDTH) /4 < 128 + // todo min/max check: ABS(min - MIN_PULSE_WIDTH) /4 < 128 this->min = (MIN_PULSE_WIDTH - min) / 4; //resolution of min/max is 4 uS this->max = (MAX_PULSE_WIDTH - max) / 4; @@ -160,4 +159,3 @@ void Servo::move(const int value) { } #endif // HAS_SERVOS - diff --git a/Marlin/src/HAL/servo.h b/Marlin/src/HAL/servo.h index 7c521da0b589..5df396efd6fb 100644 --- a/Marlin/src/HAL/servo.h +++ b/Marlin/src/HAL/servo.h @@ -74,7 +74,8 @@ #elif defined(TARGET_LPC1768) #include "HAL_LPC1768/LPC1768_Servo.h" - +#elif defined(STM32F4) || defined(STM32F4xx) + #include "HAL_STM32F4/HAL_Servo_STM32F4.h" #else #include diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp index 7648a1a7b3ea..5e46d86fdc34 100644 --- a/Marlin/src/Marlin.cpp +++ b/Marlin/src/Marlin.cpp @@ -95,10 +95,6 @@ #include "feature/I2CPositionEncoder.h" #endif -#if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) - #include "HAL/HAL_endstop_interrupts.h" -#endif - #if HAS_TRINAMIC #include "feature/tmc_util.h" #endif @@ -126,6 +122,10 @@ #include "feature/pause.h" #endif +#if ENABLED(POWER_LOSS_RECOVERY) + #include "feature/power_loss_recovery.h" +#endif + #if ENABLED(FILAMENT_RUNOUT_SENSOR) #include "feature/runout.h" #endif @@ -142,7 +142,7 @@ #include "feature/fanmux.h" #endif -#if (ENABLED(SWITCHING_EXTRUDER) && !DONT_SWITCH) || ENABLED(SWITCHING_NOZZLE) || ENABLED(PARKING_EXTRUDER) +#if DO_SWITCH_EXTRUDER || ENABLED(SWITCHING_NOZZLE) || ENABLED(PARKING_EXTRUDER) #include "module/tool_change.h" #endif @@ -161,7 +161,7 @@ bool Running = true; * Flags that the position is known in each linear axis. Set when homed. * Cleared whenever a stepper powers off, potentially losing its position. */ -bool axis_homed[XYZ] = { false }, axis_known_position[XYZ] = { false }; +uint8_t axis_homed, axis_known_position; // = 0 #if ENABLED(TEMPERATURE_UNITS_SUPPORT) TempUnit input_temp_units = TEMPUNIT_C; @@ -200,10 +200,6 @@ millis_t max_inactive_time, // = 0 bool chdkActive; // = false; #endif -#if ENABLED(PID_EXTRUSION_SCALING) - int lpq_len = 20; -#endif - #if ENABLED(I2C_POSITION_ENCODERS) I2CPositionEncodersMgr I2CPEM; #endif @@ -268,9 +264,14 @@ bool pin_is_protected(const pin_t pin) { return false; } +void protected_pin_err() { + SERIAL_ERROR_START(); + SERIAL_ERRORLNPGM(MSG_ERR_PROTECTED_PIN); +} + void quickstop_stepper() { - stepper.quick_stop(); - stepper.synchronize(); + planner.quick_stop(); + planner.synchronize(); set_current_from_steppers_for_axis(ALL_AXES); SYNC_PLAN_POSITION_KINEMATIC(); } @@ -431,8 +432,16 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) { && !planner.has_blocks_queued() ) { #if ENABLED(SWITCHING_EXTRUDER) - const bool oldstatus = E0_ENABLE_READ; - enable_E0(); + bool oldstatus; + switch (active_extruder) { + default: oldstatus = E0_ENABLE_READ; enable_E0(); break; + #if E_STEPPERS > 1 + case 2: case 3: oldstatus = E1_ENABLE_READ; enable_E1(); break; + #if E_STEPPERS > 2 + case 4: oldstatus = E2_ENABLE_READ; enable_E2(); break; + #endif // E_STEPPERS > 2 + #endif // E_STEPPERS > 1 + } #else // !SWITCHING_EXTRUDER bool oldstatus; switch (active_extruder) { @@ -457,10 +466,19 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) { planner.buffer_line_kinematic(current_position, MMM_TO_MMS(EXTRUDER_RUNOUT_SPEED), active_extruder); current_position[E_AXIS] = olde; planner.set_e_position_mm(olde); - stepper.synchronize(); + planner.synchronize(); + #if ENABLED(SWITCHING_EXTRUDER) - E0_ENABLE_WRITE(oldstatus); - #else + switch (active_extruder) { + default: oldstatus = E0_ENABLE_WRITE(oldstatus); break; + #if E_STEPPERS > 1 + case 2: case 3: oldstatus = E1_ENABLE_WRITE(oldstatus); break; + #if E_STEPPERS > 2 + case 4: oldstatus = E2_ENABLE_WRITE(oldstatus); break; + #endif // E_STEPPERS > 2 + #endif // E_STEPPERS > 1 + } + #else // !SWITCHING_EXTRUDER switch (active_extruder) { case 0: E0_ENABLE_WRITE(oldstatus); break; #if E_STEPPERS > 1 @@ -518,7 +536,7 @@ void idle( ) { #if ENABLED(MAX7219_DEBUG) Max7219_idle_tasks(); - #endif // MAX7219_DEBUG + #endif lcd_update(); @@ -684,23 +702,27 @@ void setup() { #if NUM_SERIAL > 0 uint32_t serial_connect_timeout = millis() + 1000UL; - while(!MYSERIAL0 && PENDING(millis(), serial_connect_timeout)) { /*nada*/ } + while (!MYSERIAL0 && PENDING(millis(), serial_connect_timeout)) { /*nada*/ } #if NUM_SERIAL > 1 serial_connect_timeout = millis() + 1000UL; - while(!MYSERIAL1 && PENDING(millis(), serial_connect_timeout)) { /*nada*/ } + while (!MYSERIAL1 && PENDING(millis(), serial_connect_timeout)) { /*nada*/ } #endif #endif SERIAL_PROTOCOLLNPGM("start"); SERIAL_ECHO_START(); - #if ENABLED(HAVE_TMC2130) + #if HAS_DRIVER(TMC2130) tmc_init_cs_pins(); #endif - #if ENABLED(HAVE_TMC2208) + #if HAS_DRIVER(TMC2208) tmc2208_serial_begin(); #endif + #ifdef BOARD_INIT + BOARD_INIT(); + #endif + // Check startup - does nothing if bootloader sets MCUSR to 0 byte mcu = HAL_get_reset_source(); if (mcu & 1) SERIAL_ECHOLNPGM(MSG_POWERUP); @@ -748,7 +770,9 @@ void setup() { print_job_timer.init(); // Initial setup of print job timer - stepper.init(); // Initialize stepper, this enables interrupts! + endstops.init(); // Init endstops and pullups + + stepper.init(); // Init stepper. This enables interrupts! #if HAS_SERVOS servo_init(); @@ -837,7 +861,7 @@ void setup() { #endif lcd_init(); - LCD_MESSAGEPGM(WELCOME_MSG); + lcd_reset_status(); #if ENABLED(SHOW_BOOTSCREEN) lcd_bootscreen(); @@ -860,11 +884,7 @@ void setup() { i2c.onRequest(i2c_on_request); #endif - #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) - setup_endstop_interrupts(); - #endif - - #if ENABLED(SWITCHING_EXTRUDER) && !DONT_SWITCH + #if DO_SWITCH_EXTRUDER move_extruder_servo(0); // Initialize extruder servo #endif @@ -876,6 +896,10 @@ void setup() { pe_magnet_init(); #endif + #if ENABLED(POWER_LOSS_RECOVERY) + check_print_job_recovery(); + #endif + #if ENABLED(USE_WATCHDOG) // Reinit watchdog after HAL_get_reset_source call watchdog_init(); #endif @@ -886,21 +910,42 @@ void setup() { * * - Save or log commands to SD * - Process available commands (if not saving) - * - Call heater manager - * - Call inactivity manager * - Call endstop manager - * - Call LCD update + * - Call inactivity manager */ void loop() { - #if ENABLED(SDSUPPORT) - card.checkautostart(false); - #endif - for (;;) { + + #if ENABLED(SDSUPPORT) + card.checkautostart(); + #endif + + #if ENABLED(SDSUPPORT) && ENABLED(ULTIPANEL) + if (abort_sd_printing) { + abort_sd_printing = false; + card.stopSDPrint( + #if SD_RESORT + true + #endif + ); + clear_command_queue(); + quickstop_stepper(); + print_job_timer.stop(); + thermalManager.disable_all_heaters(); + #if FAN_COUNT > 0 + for (uint8_t i = 0; i < FAN_COUNT; i++) fanSpeeds[i] = 0; + #endif + wait_for_heatup = false; + #if ENABLED(POWER_LOSS_RECOVERY) + card.removeJobRecoveryFile(); + #endif + } + #endif // SDSUPPORT && ULTIPANEL + if (commands_in_queue < BUFSIZE) get_available_commands(); advance_command_queue(); - endstops.report_state(); + endstops.event_handler(); idle(); } } diff --git a/Marlin/src/Marlin.h b/Marlin/src/Marlin.h index 48f3ffede9f1..7c919f9e0377 100644 --- a/Marlin/src/Marlin.h +++ b/Marlin/src/Marlin.h @@ -44,10 +44,10 @@ void manage_inactivity(const bool ignore_stepper_queue=false); #if HAS_X2_ENABLE #define enable_X() do{ X_ENABLE_WRITE( X_ENABLE_ON); X2_ENABLE_WRITE( X_ENABLE_ON); }while(0) - #define disable_X() do{ X_ENABLE_WRITE(!X_ENABLE_ON); X2_ENABLE_WRITE(!X_ENABLE_ON); axis_known_position[X_AXIS] = false; }while(0) + #define disable_X() do{ X_ENABLE_WRITE(!X_ENABLE_ON); X2_ENABLE_WRITE(!X_ENABLE_ON); CBI(axis_known_position, X_AXIS); }while(0) #elif HAS_X_ENABLE #define enable_X() X_ENABLE_WRITE( X_ENABLE_ON) - #define disable_X() do{ X_ENABLE_WRITE(!X_ENABLE_ON); axis_known_position[X_AXIS] = false; }while(0) + #define disable_X() do{ X_ENABLE_WRITE(!X_ENABLE_ON); CBI(axis_known_position, X_AXIS); }while(0) #else #define enable_X() NOOP #define disable_X() NOOP @@ -55,10 +55,10 @@ void manage_inactivity(const bool ignore_stepper_queue=false); #if HAS_Y2_ENABLE #define enable_Y() do{ Y_ENABLE_WRITE( Y_ENABLE_ON); Y2_ENABLE_WRITE(Y_ENABLE_ON); }while(0) - #define disable_Y() do{ Y_ENABLE_WRITE(!Y_ENABLE_ON); Y2_ENABLE_WRITE(!Y_ENABLE_ON); axis_known_position[Y_AXIS] = false; }while(0) + #define disable_Y() do{ Y_ENABLE_WRITE(!Y_ENABLE_ON); Y2_ENABLE_WRITE(!Y_ENABLE_ON); CBI(axis_known_position, Y_AXIS); }while(0) #elif HAS_Y_ENABLE #define enable_Y() Y_ENABLE_WRITE( Y_ENABLE_ON) - #define disable_Y() do{ Y_ENABLE_WRITE(!Y_ENABLE_ON); axis_known_position[Y_AXIS] = false; }while(0) + #define disable_Y() do{ Y_ENABLE_WRITE(!Y_ENABLE_ON); CBI(axis_known_position, Y_AXIS); }while(0) #else #define enable_Y() NOOP #define disable_Y() NOOP @@ -66,10 +66,10 @@ void manage_inactivity(const bool ignore_stepper_queue=false); #if HAS_Z2_ENABLE #define enable_Z() do{ Z_ENABLE_WRITE( Z_ENABLE_ON); Z2_ENABLE_WRITE(Z_ENABLE_ON); }while(0) - #define disable_Z() do{ Z_ENABLE_WRITE(!Z_ENABLE_ON); Z2_ENABLE_WRITE(!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }while(0) + #define disable_Z() do{ Z_ENABLE_WRITE(!Z_ENABLE_ON); Z2_ENABLE_WRITE(!Z_ENABLE_ON); CBI(axis_known_position, Z_AXIS); }while(0) #elif HAS_Z_ENABLE #define enable_Z() Z_ENABLE_WRITE( Z_ENABLE_ON) - #define disable_Z() do{ Z_ENABLE_WRITE(!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }while(0) + #define disable_Z() do{ Z_ENABLE_WRITE(!Z_ENABLE_ON); CBI(axis_known_position, Z_AXIS); }while(0) #else #define enable_Z() NOOP #define disable_Z() NOOP @@ -156,8 +156,6 @@ void manage_inactivity(const bool ignore_stepper_queue=false); /** * The axis order in all axis related arrays is X, Y, Z, E */ -#define _AXIS(AXIS) AXIS ##_AXIS - void enable_all_steppers(); void disable_e_stepper(const uint8_t e); void disable_e_steppers(); @@ -171,8 +169,12 @@ extern bool Running; inline bool IsRunning() { return Running; } inline bool IsStopped() { return !Running; } -extern bool axis_known_position[XYZ]; -extern bool axis_homed[XYZ]; +extern uint8_t axis_homed, axis_known_position; + +constexpr uint8_t xyz_bits = _BV(X_AXIS) | _BV(Y_AXIS) | _BV(Z_AXIS); +FORCE_INLINE bool all_axes_homed() { return (axis_homed & xyz_bits) == xyz_bits; } +FORCE_INLINE bool all_axes_known() { return (axis_known_position & xyz_bits) == xyz_bits; } + extern volatile bool wait_for_heatup; #if HAS_RESUME_CONTINUE @@ -183,11 +185,6 @@ extern volatile bool wait_for_heatup; extern bool suspend_auto_report; #endif -#if ENABLED(AUTO_BED_LEVELING_UBL) - typedef struct { double A, B, D; } linear_fit; - linear_fit* lsf_linear_fit(double x[], double y[], double z[], const int); -#endif - // Inactivity shutdown timer extern millis_t max_inactive_time, stepper_inactive_time; @@ -207,10 +204,6 @@ extern millis_t max_inactive_time, stepper_inactive_time; extern uint8_t controllerFanSpeed; #endif -#if ENABLED(PID_EXTRUSION_SCALING) - extern int lpq_len; -#endif - #if HAS_POWER_SWITCH extern bool powersupply_on; #define PSU_PIN_ON() do{ OUT_WRITE(PS_ON_PIN, PS_ON_AWAKE); powersupply_on = true; }while(0) @@ -225,6 +218,7 @@ extern millis_t max_inactive_time, stepper_inactive_time; #endif bool pin_is_protected(const pin_t pin); +void protected_pin_err(); #if HAS_SUICIDE inline void suicide() { OUT_WRITE(SUICIDE_PIN, LOW); } diff --git a/Marlin/src/config/default/Configuration.h b/Marlin/src/config/default/Configuration.h index e21b580e3f67..104a797cb034 100644 --- a/Marlin/src/config/default/Configuration.h +++ b/Marlin/src/config/default/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -544,10 +551,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +663,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +722,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +752,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +798,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +825,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +864,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +927,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1109,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1122,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1400,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1431,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1457,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1530,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1565,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1573,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1580,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1648,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1745,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1765,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1793,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1880,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/default/Configuration_adv.h b/Marlin/src/config/default/Configuration_adv.h index 73c25edf30d2..42827a6eed4e 100644 --- a/Marlin/src/config/default/Configuration_adv.h +++ b/Marlin/src/config/default/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h index 2f97787a681e..6afa4a76f1d8 100644 --- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h +++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 7 #define TEMP_SENSOR_1 0 @@ -466,15 +468,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -562,12 +569,29 @@ #define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -636,15 +660,14 @@ #define DEFAULT_EJERK 10.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -696,6 +719,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -725,6 +749,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -768,10 +795,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -795,6 +822,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -833,9 +861,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -899,6 +924,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1077,8 +1106,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1090,6 +1119,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1363,11 +1397,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1395,19 +1428,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1434,6 +1454,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1498,12 +1527,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1527,40 +1562,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1569,28 +1570,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1598,39 +1577,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1677,6 +1645,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1697,25 +1742,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1731,6 +1762,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1752,6 +1790,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1811,7 +1877,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h index dda086f023f2..57a17b091896 100644 --- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h +++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,4,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 4, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h b/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h index 98b9149a8cb9..0c5044e8ca8d 100644 --- a/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h +++ b/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 800 @@ -536,18 +543,58 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +663,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +722,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +752,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +798,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +825,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +864,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +927,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1109,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1122,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1400,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1431,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1457,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1530,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1565,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1573,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1580,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1648,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1745,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1765,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1793,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1880,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Anet/A6/Configuration.h b/Marlin/src/config/examples/Anet/A6/Configuration.h index db6b8479a17d..25530a465c7a 100644 --- a/Marlin/src/config/examples/Anet/A6/Configuration.h +++ b/Marlin/src/config/examples/Anet/A6/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,14 +310,14 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ -#define TEMP_SENSOR_0 5 +#define TEMP_SENSOR_0 11 #define TEMP_SENSOR_1 0 #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 -#define TEMP_SENSOR_BED 5 +#define TEMP_SENSOR_BED 11 #define TEMP_SENSOR_CHAMBER 0 // Dummy thermistor constant temperature readings, for use with 998 and 999 @@ -466,15 +468,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -556,18 +563,58 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. #define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -664,15 +711,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -724,6 +770,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -753,6 +800,9 @@ * readings with inductive probes and piezo sensors. */ #define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif #define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -818,10 +868,10 @@ #define XY_PROBE_SPEED 8000 //#define XY_PROBE_SPEED 6000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 3) // The number of probes to perform at each point. @@ -846,10 +896,12 @@ #if 1 // 0 for less clearance #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #else #define Z_CLEARANCE_DEPLOY_PROBE 5 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 3 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 3 // Z position after probing is done #endif @@ -892,9 +944,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -993,6 +1042,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1195,8 +1248,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1208,6 +1261,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1495,11 +1553,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1527,19 +1584,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1566,6 +1610,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1630,12 +1683,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1659,40 +1718,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1701,30 +1726,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -// Note: Details on connecting to the Anet V1.0 controller are in the file pins_ANET_10.h -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1732,39 +1733,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1811,6 +1801,85 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +// Note: Details on connecting to the Anet V1.0 controller are in the file pins_ANET_10.h +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1831,25 +1900,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1865,6 +1920,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1886,6 +1948,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1945,7 +2035,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h index 2cfef537af8f..24b3ddb2087a 100644 --- a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Anet/A8/Configuration.h b/Marlin/src/config/examples/Anet/A8/Configuration.h index fe142bb2a81c..243004e9ce4d 100644 --- a/Marlin/src/config/examples/Anet/A8/Configuration.h +++ b/Marlin/src/config/examples/Anet/A8/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -269,6 +269,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -278,6 +279,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -309,7 +311,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -453,15 +455,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 160 // 160 guards against false tripping when the extruder fan kicks on. -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -555,6 +562,23 @@ // This will remove the need to poll the interrupt pins, saving many CPU cycles. #define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -623,15 +647,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -683,6 +706,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -712,6 +736,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -755,10 +782,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 6000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -782,6 +809,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -820,9 +848,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -886,6 +911,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -992,10 +1021,10 @@ #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION 15 - //#define RIGHT_PROBE_BED_POSITION 190 - //#define FRONT_PROBE_BED_POSITION 15 - //#define BACK_PROBE_BED_POSITION 170 + //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE) + //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE) // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1018,17 +1047,6 @@ #endif -#elif ENABLED(AUTO_BED_LEVELING_3POINT) - - // 3 arbitrary points to probe. - // A simple cross-product is used to estimate the plane of the bed. - #define PROBE_PT_1_X 20 - #define PROBE_PT_1_Y 160 - #define PROBE_PT_2_X 20 - #define PROBE_PT_2_Y 10 - #define PROBE_PT_3_X 180 - #define PROBE_PT_3_Y 10 - #elif ENABLED(AUTO_BED_LEVELING_UBL) //=========================================================================== @@ -1066,17 +1084,17 @@ * Override if the automatically selected points are inadequate. */ #if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 + #define PROBE_PT_1_X 20 + #define PROBE_PT_1_Y 160 + #define PROBE_PT_2_X 20 + #define PROBE_PT_2_Y 10 + #define PROBE_PT_3_X 180 + #define PROBE_PT_3_Y 10 #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1088,6 +1106,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1361,11 +1384,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1393,19 +1415,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1432,6 +1441,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1496,12 +1514,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1525,40 +1549,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1567,30 +1557,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -// Note: Details on connecting to the Anet V1.0 controller are in the file pins_ANET_10.h -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1598,39 +1564,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // #define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1677,6 +1632,85 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +// Note: Details on connecting to the Anet V1.0 controller are in the file pins_ANET_10.h +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1697,25 +1731,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1731,6 +1751,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1752,6 +1779,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1811,7 +1866,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h index c5505b52f6e0..afc683101513 100644 --- a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h b/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h index 88524909dfed..0a6c03a48d33 100644 --- a/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h +++ b/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 1 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -544,10 +551,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +663,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +722,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +752,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +798,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +825,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +864,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +927,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1109,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1122,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,13 +1400,12 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1431,6 @@ */ #define DISPLAY_CHARSET_HD44780 CYRILLIC -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1457,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1530,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1513,12 +1571,6 @@ // //#define MAKRPANEL -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - // // Activate one of these if you have a Panucatt Devices // Viki 2.0 or mini Viki with Graphic LCD @@ -1533,14 +1585,6 @@ // //#define ELB_FULL_GRAPHIC_CONTROLLER -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1593,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1600,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1668,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1765,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1785,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1813,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1900,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h b/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h index 73c25edf30d2..42827a6eed4e 100644 --- a/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h +++ b/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h index c9d9e3a8146f..791202ee1e3a 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h +++ b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ //#define PREVENT_COLD_EXTRUSION //#define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -536,18 +543,35 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. -const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. -const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. -const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. -const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. -const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. -const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +640,14 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +699,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +729,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +775,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 9000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 10 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +841,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +904,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1086,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1099,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Add a menu item to move between bed corners for manual bed adjustment #define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1377,10 @@ 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: * - * en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1408,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1434,15 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1507,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1542,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1550,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1557,28 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1625,83 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1722,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1742,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1770,34 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1857,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h index 876c65115d58..05727fcc91c1 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h +++ b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h index ab8ee1344e96..c6625526b798 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h +++ b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 5 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -536,18 +543,35 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. -const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. -const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. -const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. -const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. -const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. -const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +640,14 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +699,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +729,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +775,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 10 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 10 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +841,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +904,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1086,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1099,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Add a menu item to move between bed corners for manual bed adjustment #define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1377,10 @@ 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: * - * en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1408,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1434,15 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1507,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1542,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1550,6 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1557,28 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1625,83 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1722,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1742,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1770,34 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1857,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h index 3ab4e3ad04cd..840e7fb76748 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h +++ b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration.h index 1e4cfe38c655..8aaeee32f4a8 100644 --- a/Marlin/src/config/examples/BQ/Hephestos/Configuration.h +++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -434,15 +436,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -536,6 +543,23 @@ // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -604,15 +628,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -664,6 +687,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -693,6 +717,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -736,10 +763,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -763,6 +790,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -801,9 +829,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -867,6 +892,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1045,8 +1074,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1058,6 +1087,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1331,11 +1365,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1363,19 +1396,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1402,6 +1422,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1466,12 +1495,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1495,40 +1530,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1537,28 +1538,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1566,39 +1545,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1645,6 +1613,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1665,25 +1710,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1699,6 +1730,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1720,6 +1758,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1779,7 +1845,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h index d4b91e781c4f..3592978455f0 100644 --- a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h index 2fc4df580ee3..be28e9ee6b13 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h @@ -95,7 +95,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -122,7 +122,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -276,6 +276,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -285,6 +286,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -316,7 +318,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 70 #define TEMP_SENSOR_1 0 @@ -341,7 +343,7 @@ #define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. // Bed temperature must be close to target for this long before M190 returns success -#define TEMP_BED_RESIDENCY_TIME 0 // (seconds) +#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) #define TEMP_BED_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one #define TEMP_BED_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. @@ -358,12 +360,12 @@ // When temperature exceeds max temp, your heater will be switched off. // This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! // You should use MINTEMP for thermistor short/failure protection. -#define HEATER_0_MAXTEMP 275 +#define HEATER_0_MAXTEMP 230 #define HEATER_1_MAXTEMP 275 #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 -#define BED_MAXTEMP 110 +#define BED_MAXTEMP 100 //=========================================================================== //============================= PID Settings ================================ @@ -382,13 +384,13 @@ //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) // Set/get with gcode: M301 E[extruder number, 0-2] - #define PID_FUNCTIONAL_RANGE 50 // If the temperature difference between the target temperature and the actual temperature - // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. // Tuned PID values using M303 - #define DEFAULT_Kp 19.18 - #define DEFAULT_Ki 1.36 - #define DEFAULT_Kd 67.42 + #define DEFAULT_Kp 23.75 + #define DEFAULT_Ki 2.12 + #define DEFAULT_Kd 66.63 // BQ firmware stock PID values //#define DEFAULT_Kp 10.7 @@ -447,15 +449,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -545,10 +552,50 @@ #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. #define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -574,14 +621,14 @@ * Override with M92 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { 160, 160, 8000, 210.02 } +#define DEFAULT_AXIS_STEPS_PER_UNIT { 160, 160, 8000, 218.77 } /** * Default Max Feed Rate (mm/s) * Override with M203 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_MAX_FEEDRATE { 167, 167, 3.3, 167 } +#define DEFAULT_MAX_FEEDRATE { 300, 300, 3, 120 } /** * Default Max Acceleration (change/s) change = mm/s @@ -589,7 +636,7 @@ * Override with M201 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 100, 3000 } +#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 3000 } /** * Default Acceleration (change/s) change = mm/s @@ -599,9 +646,9 @@ * M204 R Retract Acceleration * M204 T Travel Acceleration */ -#define DEFAULT_ACCELERATION 1000 // X, Y, Z and E acceleration for printing moves -#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts -#define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves +#define DEFAULT_ACCELERATION 900 // X, Y, Z and E acceleration for printing moves +#define DEFAULT_RETRACT_ACCELERATION 1300 // E acceleration for retracts +#define DEFAULT_TRAVEL_ACCELERATION 1500 // X, Y, Z acceleration for travel (non printing) moves /** * Default Jerk (mm/s) @@ -611,21 +658,20 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 10.0 -#define DEFAULT_YJERK 10.0 +#define DEFAULT_XJERK 5.0 +#define DEFAULT_YJERK 5.0 #define DEFAULT_ZJERK 0.3 -#define DEFAULT_EJERK 1.0 +#define DEFAULT_EJERK 10.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -677,6 +723,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -706,6 +753,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -741,7 +791,7 @@ */ #define X_PROBE_OFFSET_FROM_EXTRUDER 34 // X offset: -left +right [of the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 15 // Y offset: -front +behind [the nozzle] -#define Z_PROBE_OFFSET_FROM_EXTRUDER -4 // Z offset: -below +above [the nozzle] +#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 10 @@ -749,10 +799,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -776,16 +826,17 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 2 // Z Clearance between probe points -//#define Z_AFTER_PROBING 2 // Z position after probing is done +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes +//#define Z_AFTER_PROBING 5 // Z position after probing is done -#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping +#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping // For M851 give a range for adjusting the Z probe offset -#define Z_PROBE_OFFSET_RANGE_MIN -5.5 -#define Z_PROBE_OFFSET_RANGE_MAX -3 +#define Z_PROBE_OFFSET_RANGE_MIN -20 +#define Z_PROBE_OFFSET_RANGE_MAX 20 // Enable the M48 repeatability test to test probe accuracy -#define Z_MIN_PROBE_REPEATABILITY_TEST +//#define Z_MIN_PROBE_REPEATABILITY_TEST // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // :{ 0:'Low', 1:'High' } @@ -814,9 +865,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -828,11 +876,11 @@ // @section homing -//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed +#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed //#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off. -#define Z_HOMING_HEIGHT 5 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ... +//#define Z_HOMING_HEIGHT 3 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ... // Be sure you have this distance over your Z_MAX_POS in case. // Direction of endstops when homing; 1=MAX, -1=MIN @@ -880,6 +928,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -893,7 +945,6 @@ #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. - //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. #define FILAMENT_RUNOUT_SCRIPT "M600" #endif @@ -973,8 +1024,8 @@ #if ENABLED(G26_MESH_VALIDATION) #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool. - #define MESH_TEST_HOTEND_TEMP 205.0 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool. - #define MESH_TEST_BED_TEMP 60.0 // (°C) Default bed temperature for the G26 Mesh Validation Tool. + #define MESH_TEST_HOTEND_TEMP 185.0 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool. + #define MESH_TEST_BED_TEMP 50.0 // (°C) Default bed temperature for the G26 Mesh Validation Tool. #endif #endif @@ -982,8 +1033,8 @@ #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR) // Set the number of grid points per dimension. - #define GRID_MAX_POINTS_X 3 - #define GRID_MAX_POINTS_Y 4 + #define GRID_MAX_POINTS_X 5 + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X // Set the boundaries for probing (where the probe can reach). //#define LEFT_PROBE_BED_POSITION X_MIN_POS + (X_PROBE_OFFSET_FROM_EXTRUDER) @@ -998,7 +1049,7 @@ // Beyond the probed grid, continue the implied tilt? // Default is to maintain the height of the nearest edge. - //#define EXTRAPOLATE_BEYOND_GRID + #define EXTRAPOLATE_BEYOND_GRID // // Experimental Subdivision of the grid by Catmull-Rom method. @@ -1012,17 +1063,6 @@ #endif -#elif ENABLED(AUTO_BED_LEVELING_3POINT) - - // 3 arbitrary points to probe. - // A simple cross-product is used to estimate the plane of the bed. - #define PROBE_PT_1_X X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER - #define PROBE_PT_1_Y Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER - #define PROBE_PT_2_X X_MAX_POS - (X_PROBE_OFFSET_FROM_EXTRUDER) - #define PROBE_PT_2_Y Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER - #define PROBE_PT_3_X ((X_MIN_POS + X_MAX_POS) / 2) - #define PROBE_PT_3_Y Y_MAX_POS - (Y_PROBE_OFFSET_FROM_EXTRUDER) - #elif ENABLED(AUTO_BED_LEVELING_UBL) //=========================================================================== @@ -1069,8 +1109,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1082,11 +1122,16 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. */ -//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" +#define Z_PROBE_END_SCRIPT "G27 P0" // @section homing @@ -1117,8 +1162,8 @@ #endif // Homing speeds (mm/m) -#define HOMING_FEEDRATE_XY (60*60) -#define HOMING_FEEDRATE_Z 120 +#define HOMING_FEEDRATE_XY (50*60) +#define HOMING_FEEDRATE_Z ( 4*60) // @section calibrate @@ -1202,7 +1247,7 @@ // every couple of seconds when it can't accept commands. // #define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages -#define DEFAULT_KEEPALIVE_INTERVAL 10 // Number of seconds between "busy" messages. Set with M113. +#define DEFAULT_KEEPALIVE_INTERVAL 5 // Number of seconds between "busy" messages. Set with M113. #define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating // @@ -1223,12 +1268,12 @@ // @section temperature // Preheat Constants -#define PREHEAT_1_TEMP_HOTEND 205 +#define PREHEAT_1_TEMP_HOTEND 180 #define PREHEAT_1_TEMP_BED 50 #define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 -#define PREHEAT_2_TEMP_HOTEND 245 -#define PREHEAT_2_TEMP_BED 50 +#define PREHEAT_2_TEMP_HOTEND 210 +#define PREHEAT_2_TEMP_BED 60 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** @@ -1289,7 +1334,7 @@ * Attention: EXPERIMENTAL. G-code arguments may change. * */ -#define NOZZLE_CLEAN_FEATURE +//#define NOZZLE_CLEAN_FEATURE #if ENABLED(NOZZLE_CLEAN_FEATURE) // Default number of pattern repetitions @@ -1299,8 +1344,8 @@ #define NOZZLE_CLEAN_TRIANGLES 3 // Specify positions as { X, Y, Z } - #define NOZZLE_CLEAN_START_POINT { X_MIN_POS + 10, Y_MAX_POS - 9, (Z_MIN_POS + 0.5)} - #define NOZZLE_CLEAN_END_POINT { X_MIN_POS + 90, Y_MAX_POS - 0, (Z_MIN_POS + 0.5)} + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_END_POINT {100, 60, (Z_MIN_POS + 1)} // Circular pattern radius #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5 @@ -1310,7 +1355,7 @@ #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT // Moves the nozzle to the initial position - //#define NOZZLE_CLEAN_GOBACK + #define NOZZLE_CLEAN_GOBACK #endif /** @@ -1355,11 +1400,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1387,19 +1431,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1424,7 +1455,16 @@ * * Use CRC checks and retries on the SD communication. */ -#define SD_CHECK_AND_RETRY +//#define SD_CHECK_AND_RETRY + +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS // // ENCODER SETTINGS @@ -1432,13 +1472,13 @@ // This option overrides the default number of encoder pulses needed to // produce one step. Should be increased for high-resolution encoders. // -//#define ENCODER_PULSES_PER_STEP 4 +#define ENCODER_PULSES_PER_STEP 1 // // Use this option to override the number of step signals required to // move between next/prev menu items. // -//#define ENCODER_STEPS_PER_MENU_ITEM 1 +#define ENCODER_STEPS_PER_MENU_ITEM 5 /** * Encoder Direction Options @@ -1490,12 +1530,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1519,40 +1565,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1561,28 +1573,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1590,39 +1580,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1669,6 +1648,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1689,25 +1745,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1723,6 +1765,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1744,6 +1793,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1751,7 +1828,7 @@ // @section extras // Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino -//#define FAST_PWM_FAN +#define FAST_PWM_FAN // Use software PWM to drive the fan, as for the heaters. This uses a very low frequency // which is not as annoying as with the hardware PWM. On the other hand, if this frequency @@ -1803,7 +1880,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h index ebc53c35cc82..d5f94fb7ba65 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h @@ -172,20 +172,22 @@ // Extruder runout prevention. // If the machine is idle and the temperature over MINTEMP // then extrude some filament every couple of SECONDS. -#define EXTRUDER_RUNOUT_PREVENT +//#define EXTRUDER_RUNOUT_PREVENT #if ENABLED(EXTRUDER_RUNOUT_PREVENT) - #define EXTRUDER_RUNOUT_MINTEMP 170 - #define EXTRUDER_RUNOUT_SECONDS 60 + #define EXTRUDER_RUNOUT_MINTEMP 190 + #define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm #endif // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -204,12 +206,22 @@ // When first starting the main fan, run it at full speed for the // given number of milliseconds. This gets the fan spinning reliably // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) -//#define FAN_KICKSTART_TIME 100 +#define FAN_KICKSTART_TIME 800 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -367,7 +379,7 @@ // Homing hits each endstop, retracts by these distances, then does a slower bump. #define X_HOME_BUMP_MM 5 #define Y_HOME_BUMP_MM 5 -#define Z_HOME_BUMP_MM 2 +#define Z_HOME_BUMP_MM 1 #define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) #define QUICK_HOME // If homing includes X and Y, do a diagonal move initially @@ -393,10 +405,10 @@ // Default stepper release if idle. Set to 0 to deactivate. // Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. // Time can be set by M18 and M84. -#define DEFAULT_STEPPER_DEACTIVE_TIME 120 -#define DISABLE_INACTIVE_X true -#define DISABLE_INACTIVE_Y true -#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DEFAULT_STEPPER_DEACTIVE_TIME 300 +#define DISABLE_INACTIVE_X false +#define DISABLE_INACTIVE_Y false +#define DISABLE_INACTIVE_Z false // set to false if the nozzle will fall down on your printed part when print has finished. #define DISABLE_INACTIVE_E true #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate @@ -407,7 +419,7 @@ // @section lcd #if ENABLED(ULTIPANEL) - #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel //#define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder #endif @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -453,7 +481,15 @@ * M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2 */ //#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps -#define DIGIPOT_MOTOR_CURRENT { 150, 170, 180, 190, 180 } // Values 0-255 (bq ZUM Mega 3D (default): X = 150 [~1.17A]; Y = 170 [~1.33A]; Z = 180 [~1.41A]; E0 = 190 [~1.49A]) + +#define DIGIPOT_MOTOR_CURRENT { 170, 170, 180, 190, 180 } // Values 0-255 + // + // bq ZUM Mega 3D defaults: + // X = 150 [~1.17A] + // Y = 170 [~1.33A] + // Z = 180 [~1.41A] + // E0 = 190 [~1.49A] + //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis // Use an I2C based DIGIPOT (e.g., Azteeg X3 Pro) @@ -472,7 +508,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -481,20 +517,17 @@ //=============================Additional Features=========================== //=========================================================================== -//#define ENCODER_RATE_MULTIPLIER // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly -//#define ENCODER_10X_STEPS_PER_SEC 75 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value -//#define ENCODER_100X_STEPS_PER_SEC 160 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value +#define ENCODER_RATE_MULTIPLIER // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly +#define ENCODER_10X_STEPS_PER_SEC 30 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value +#define ENCODER_100X_STEPS_PER_SEC 50 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value //#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ -//#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again +#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again // @section lcd // Include a page of printer information in the LCD Main Menu -#define LCD_INFO_MENU - -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS +//#define LCD_INFO_MENU // Scroll a longer status message into view #define STATUS_MESSAGE_SCROLLING @@ -503,7 +536,7 @@ #define LCD_DECIMAL_SMALL_XY // The timeout (in ms) to return to the status screen from sub-menus -//#define LCD_TIMEOUT_TO_STATUS 15000 +#define LCD_TIMEOUT_TO_STATUS 60000 // Add an 'M73' G-code to set the current percentage //#define LCD_SET_PROGRESS_MANUALLY @@ -545,8 +578,8 @@ // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER). #define SD_DETECT_INVERTED - #define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished - #define SD_FINISHED_RELEASECOMMAND "M104 S0\nM84 X Y Z E" // You might want to keep the z enabled so your bed stays in place. + #define SD_FINISHED_STEPPERRELEASE false // Disable steppers when SD Print is finished + #define SD_FINISHED_RELEASECOMMAND "G27 P0" // You might want to keep the z enabled so your bed stays in place. // Reverse SD sort to show "more recent" files first, according to the card's FAT. // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended. @@ -555,6 +588,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -594,7 +641,7 @@ #endif // This allows hosts to request long names for files and folders with M33 - #define LONG_FILENAME_HOST_SUPPORT + //#define LONG_FILENAME_HOST_SUPPORT // Enable this option to scroll long filenames in the SD card menu //#define SCROLL_LONG_FILENAMES @@ -637,18 +684,18 @@ //#define DOGM_SD_PERCENT // Enable to save many cycles by drawing a hollow frame on the Info Screen - #define XYZ_HOLLOW_FRAME + //#define XYZ_HOLLOW_FRAME // Enable to save many cycles by drawing a hollow frame on Menu Screens #define MENU_HOLLOW_FRAME // A bigger font is available for edit items. Costs 3120 bytes of PROGMEM. // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. - #define USE_BIG_EDIT_FONT + //#define USE_BIG_EDIT_FONT // A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM. // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. - #define USE_SMALL_INFOFONT + //#define USE_SMALL_INFOFONT // Enable this option and reduce the value to optimize screen updates. // The normal delay is 10µs. Use the lowest value that still gives a reliable display. @@ -700,16 +747,16 @@ * * Warning: Does not respect endstops! */ -//#define BABYSTEPPING +#define BABYSTEPPING #if ENABLED(BABYSTEPPING) - //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! - #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way - #define BABYSTEP_MULTIPLICATOR 1 // Babysteps are very small. Increase for faster motion. - //#define BABYSTEP_ZPROBE_OFFSET // Enable to combine M851 and Babystepping - //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. - #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. - // Note: Extra time may be added to mitigate controller latency. - //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor + //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! + #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way + #define BABYSTEP_MULTIPLICATOR 2 // Babysteps are very small. Increase for faster motion. + //#define BABYSTEP_ZPROBE_OFFSET // Enable to combine M851 and Babystepping + //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. + #define DOUBLECLICK_MAX_INTERVAL 1500 // Maximum interval between clicks, in milliseconds. + // Note: Extra time may be added to mitigate controller latency. + //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor #endif // @section extruder @@ -746,12 +793,36 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // // G2/G3 Arc Support // -#define ARC_SUPPORT // Disable this feature to save ~3226 bytes +//#define ARC_SUPPORT // Disable this feature to save ~3226 bytes #if ENABLED(ARC_SUPPORT) #define MM_PER_ARC_SEGMENT 1 // Length of each arc segment #define N_ARC_CORRECTION 25 // Number of intertpolated segments between corrections @@ -772,10 +843,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -791,7 +898,7 @@ // The number of linear motions that can be in the plan at any give time. // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering. #if ENABLED(SDSUPPORT) - #define BLOCK_BUFFER_SIZE 32 // SD,LCD,Buttons take more memory, block buffer needs to be smaller + #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller #else #define BLOCK_BUFFER_SIZE 64 // maximize block buffer #endif @@ -837,13 +944,13 @@ // enter the serial receive buffer, so they cannot be blocked. // Currently handles M108, M112, M410 // Does not work on boards using AT90USB (USBCON) processors! -#define EMERGENCY_PARSER +//#define EMERGENCY_PARSER // Bad Serial-connections can miss a received command by sending an 'ok' // Therefore some clients abort after 30 seconds in a timeout. // Some other clients start sending commands while receiving a 'wait'. // This "wait" is only sent when the buffer is empty. 1 second is a good value here. -//#define NO_TIMEOUTS 1000 // Milliseconds +#define NO_TIMEOUTS 1000 // Milliseconds // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. #define ADVANCED_OK @@ -900,61 +1007,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1101,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1271,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1329,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1635,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1676,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/README.md b/Marlin/src/config/examples/BQ/Hephestos_2/README.md index cbe9965eed70..ab28487e2d9d 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/README.md +++ b/Marlin/src/config/examples/BQ/Hephestos_2/README.md @@ -1,22 +1,29 @@ # Example Configuration for BQ [Hephestos 2](http://www.bq.com/uk/hephestos-2) -This configuration file is based on the original configuration file shipped with the heavily modified Marlin fork by BQ. The original firmware and configuration file can be found at [BQ Github repository](https://github.com/bq/Marlin). +Based on the original configuration file shipped with the heavily modified Marlin fork by BQ. +The forked firmware and configuration files can be found at the [BQ Github repository](https://github.com/bq/Marlin). -NOTE: The look and feel of the Hephestos 2 while navigating the LCD menu will change by using the original Marlin firmware. +NOTE: The look and feel of the LCD menu will change dramatically when using the original Marlin firmware. ## Changelog - * 2016/03/01 - Initial release + * 2018/05/30 - Configuration updated to the latest Marlin version (43a55a9af). + ABL Bilinear 5x5 is active by default. - * 2016/03/21 - Activated 4-point auto leveling by default - Updated miscellaneous z-probe values + * 2017/07/06 - Configuration updated to the latest Marlin version and added support for the + official BQ heated bed upgrade kit. - * 2016/06/21 - Disabled hot bed related options - Activated software endstops - SD printing now disables the heater when finished + * 2016/12/13 - Configuration updated to the latest Marlin version. - * 2016/07/13 - Update the `DEFAULT_AXIS_STEPS_PER_UNIT` for the Z axis - Increased the `DEFAULT_XYJERK` + * 2016/07/13 - Configuration updated to the latest Marlin version. - * 2016/12/13 - Configuration updated. + * 2016/06/21 - Disabled heated bed related options, activated software endstops and SD printing now + disables the heater when finishes printing. - * 2017/07/06 - Configuration updated to the latest Marlin version. - Added support for the official BQ heated bed kit. + * 2016/03/21 - Activated 4-point auto leveling by default and updated miscellaneous z-probe values. + + * 2016/03/01 - The first release of Marlin's configuration file for the + BQ Hephestos 2 3D printer. + + +## Support +This configuration should work easily with the stock Hephestos 2, nevertheless if you encounter any +issues you may contact me on [Github](https://github.com/jbrazio), [Twitter](https://twitter.com/jbrazio) or by mail. diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/_Bootscreen.h b/Marlin/src/config/examples/BQ/Hephestos_2/_Bootscreen.h index 3ba0129ea90a..0e771c0c7f7b 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/_Bootscreen.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/_Bootscreen.h @@ -30,38 +30,39 @@ * http://marlinfw.org/tools/u8glib/converter.html */ -#define CUSTOM_BOOTSCREEN_BMPWIDTH 62 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 64 const unsigned char custom_start_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00001111,B11110000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00011111,B11111000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00011111,B11111000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00011111,B11111000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00011111,B11111000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00011111,B11111000,B00000000,B00000000,B00000000, - B00000000,B00000011,B11000000,B00001111,B11110000,B00000111,B10000000,B00000000, - B00000000,B00000111,B11100000,B00000111,B11100000,B00001111,B11000000,B00000000, - B00000000,B00001111,B11110000,B00000011,B11000000,B00011111,B11100000,B00000000, - B00000000,B00011111,B11111000,B00000000,B00000000,B00111111,B11110000,B00000000, - B00000000,B00011111,B11111000,B00000000,B00000000,B00111111,B11110000,B00000000, - B00000000,B00011111,B11111000,B00000000,B00000000,B00111111,B11110000,B00000000, - B00000000,B00011111,B11111000,B00000000,B00000000,B00111111,B11110000,B00000000, - B00000000,B00011111,B11111000,B00000000,B00000000,B00111111,B11110000,B00000000, - B00000000,B00001111,B11110000,B00000000,B00000000,B00011111,B11100000,B00000000, - B00000000,B00000111,B11100000,B00000000,B00000000,B00001111,B11000000,B00000000, - B00000000,B00000011,B11000000,B00000000,B00000000,B00000111,B10000000,B00000000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000011,B11110000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00001111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00001111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11111000,B00000111,B11111000,B00000111,B11000000,B00000000, + B00000000,B00000001,B11111100,B00000011,B11110000,B00001111,B11100000,B00000000, + B00000000,B00000011,B11111110,B00000000,B11000000,B00011111,B11110000,B00000000, + B00000000,B00000011,B11111110,B00000000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00000011,B11111110,B00000000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00000011,B11111110,B00000000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00000011,B11111100,B00000000,B00000000,B00001111,B11100000,B00000000, + B00000000,B00000001,B11111000,B00000000,B00000000,B00001111,B11100000,B00000000, + B00000000,B00000000,B01110000,B00000000,B00000000,B00000011,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111100, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111100, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111100, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111100, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111100, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111100, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111100, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111100, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, @@ -69,32 +70,31 @@ const unsigned char custom_start_bmp[] PROGMEM = { B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00001111,B10000000,B00000000,B00000000,B01110000,B00000000,B00000000,B00000000, + B00011111,B11000000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000, + B00111111,B11000000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000, + B00111111,B11100000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000, + B00111111,B11100000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000, + B00111111,B11100000,B00000000,B00000000,B01111011,B11000000,B00001111,B00000000, + B00111111,B11000000,B00000000,B00000000,B01111111,B11110000,B00111111,B11000000, + B00011111,B10000000,B00000000,B00000000,B01111111,B11111000,B01111111,B11100000, + B00001111,B00000000,B00000000,B00000000,B01111110,B11111100,B11111001,B11110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00111100,B11100000,B11110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00111100,B11100000,B11110000, + B00000000,B00000000,B00000000,B00000000,B01111100,B01111100,B11111001,B11110000, + B00000000,B00000000,B00000000,B00000000,B00011111,B11111000,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00001111,B11110000,B01111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00011111,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, - B00011110,B00000000,B00000000,B00000000,B11110000,B00000000,B00000000,B00000000, - B00111111,B00000000,B00000000,B00000000,B11110000,B00000000,B00000000,B00000000, - B01111111,B10000000,B00000000,B00000000,B11110000,B00000000,B00000000,B00000000, - B11111111,B11000000,B00000000,B00000000,B11110000,B00000000,B00000000,B00000000, - B11111111,B11000000,B00000000,B00000000,B11110000,B00000000,B00000000,B00000000, - B11111111,B11000000,B00000000,B00000000,B11110000,B00000000,B00000000,B00000000, - B11111111,B11000000,B00000000,B00000000,B11110111,B11000000,B00011111,B10000000, - B11111111,B11000000,B00000000,B00000000,B11111111,B11110000,B01111111,B11000000, - B01111111,B10000000,B00000000,B00000000,B11111111,B11111000,B11111111,B11100000, - B00111111,B00000000,B00000000,B00000000,B11111100,B11111000,B11110000,B11111000, - B00011110,B00000000,B00000000,B00000000,B11111000,B01111101,B11100000,B01111000, - B00000000,B00000000,B00000000,B00000000,B11110000,B00111101,B11100000,B01111000, - B00000000,B00000000,B00000000,B00000000,B11110000,B00111101,B11100000,B01111000, - B00000000,B00000000,B00000000,B00000000,B11110000,B00111101,B11100000,B01111000, - B00000000,B00000000,B00000000,B00000000,B11110000,B00111101,B11100000,B01111000, - B00000000,B00000000,B00000000,B00000000,B11110000,B00111101,B11100000,B01111000, - B00000000,B00000000,B00000000,B00000000,B11110000,B00111101,B11100000,B01111000, - B00000000,B00000000,B00000000,B00000000,B11111000,B01111001,B11110000,B11111000, - B00000000,B00000000,B00000000,B00000000,B11111111,B11111000,B11111111,B11111000, - B00000000,B00000000,B00000000,B00000000,B00111111,B11110000,B01111111,B11111000, - B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00111111,B11111000, - B00000000,B00000000,B00000000,B00000000,B00000011,B10000000,B00001110,B01111000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000 + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 }; diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration.h index d1638c8e12ef..a737bdf75c80 100644 --- a/Marlin/src/config/examples/BQ/WITBOX/Configuration.h +++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -434,15 +436,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -536,6 +543,23 @@ // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -604,15 +628,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -664,6 +687,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -693,6 +717,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -736,10 +763,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -763,6 +790,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -801,9 +829,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -867,6 +892,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1045,8 +1074,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1058,6 +1087,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1331,11 +1365,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1363,19 +1396,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1402,6 +1422,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1466,12 +1495,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1495,40 +1530,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1537,28 +1538,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1566,39 +1545,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1645,6 +1613,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1665,25 +1710,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1699,6 +1730,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1720,6 +1758,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1779,7 +1845,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h index d4b91e781c4f..3592978455f0 100644 --- a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Cartesio/Configuration.h b/Marlin/src/config/examples/Cartesio/Configuration.h index 0ee435c57f8f..699921218727 100644 --- a/Marlin/src/config/examples/Cartesio/Configuration.h +++ b/Marlin/src/config/examples/Cartesio/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -269,6 +269,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -278,6 +279,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -309,7 +311,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 -1 #define TEMP_SENSOR_1 -1 @@ -445,15 +447,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -541,12 +548,29 @@ #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -615,15 +639,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -675,6 +698,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -704,6 +728,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -747,10 +774,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -774,6 +801,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -812,9 +840,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -878,6 +903,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1056,8 +1085,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1069,6 +1098,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1342,11 +1376,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1374,19 +1407,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1413,6 +1433,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1477,12 +1506,18 @@ #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 #define LCD_FEEDBACK_FREQUENCY_HZ 1000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1506,40 +1541,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1548,28 +1549,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -#define REPRAPWORLD_KEYPAD -#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1577,39 +1556,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1656,6 +1624,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1676,25 +1721,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1710,6 +1741,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1731,6 +1769,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +#define REPRAPWORLD_KEYPAD +#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1790,7 +1856,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Cartesio/Configuration_adv.h b/Marlin/src/config/examples/Cartesio/Configuration_adv.h index ddefdc979322..be9c6033db04 100644 --- a/Marlin/src/config/examples/Cartesio/Configuration_adv.h +++ b/Marlin/src/config/examples/Cartesio/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 3.0 -#define TEMP_SENSOR_AD595_GAIN 2.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 1 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - //#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 1 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + //#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Creality/CR-10/Configuration.h b/Marlin/src/config/examples/Creality/CR-10/Configuration.h index e3d870de7451..23b40f86afd8 100755 --- a/Marlin/src/config/examples/Creality/CR-10/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -456,15 +458,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 1000 @@ -554,10 +561,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -626,15 +673,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -686,6 +732,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -715,6 +762,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -758,10 +808,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -785,6 +835,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 10 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 10 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -823,9 +874,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -889,6 +937,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1067,8 +1119,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1080,6 +1132,11 @@ // Add a menu item to move between bed corners for manual bed adjustment #define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1353,11 +1410,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1385,19 +1441,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1424,6 +1467,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1488,12 +1540,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1517,40 +1575,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1559,28 +1583,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1588,39 +1590,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1667,6 +1658,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1687,25 +1755,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1721,6 +1775,13 @@ // #define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1742,6 +1803,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1801,7 +1890,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h index c63eed831836..f2ada46ae439 100755 --- a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view #define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ #define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 420 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 8 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 120 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 6 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - #define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 420 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 8 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 120 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 6 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + #define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1583,27 +1630,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1621,4 +1671,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration.h index 0718b250d3a1..7a4e7505de21 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -134,6 +134,10 @@ // Please choose the name from boards.h that matches your setup #ifndef MOTHERBOARD #define MOTHERBOARD BOARD_RAMPS_14_EFB + #define PIN_EXP1 65 // A11 + #define PIN_EXP2 66 // A12 + #define PIN_EXP3 11 // SERVO0_PIN + #define PIN_EXP4 12 // PS_ON_PIN #endif // Optional custom name for your RepStrap or other custom machine @@ -268,6 +272,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +282,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +314,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +452,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 435 @@ -544,10 +555,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +667,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +726,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ #define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +756,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +802,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +829,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +868,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +931,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1058,8 +1114,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ #define LCD_BED_LEVELING @@ -1071,6 +1127,11 @@ // Add a menu item to move between bed corners for manual bed adjustment #define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1344,11 +1405,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1376,19 +1436,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1415,6 +1462,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1479,12 +1535,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1508,40 +1570,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1550,28 +1578,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1579,39 +1585,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1658,6 +1653,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1678,25 +1750,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1712,6 +1770,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1733,6 +1798,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1792,7 +1885,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h index e4d1446af1fc..c9b808e6bcf4 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu #define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view #define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,60 +999,55 @@ */ #define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 41 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 430 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 41 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 430 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 20 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 4 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 0 // (mm) An unretract is done, then this length is purged. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 6 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - #define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 41 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 430 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 41 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 430 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 20 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 4 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 0 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 6 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + #define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -999,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1202,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1273,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1579,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1617,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Creality/CR-10S/_Statusscreen.h b/Marlin/src/config/examples/Creality/CR-10S/_Statusscreen.h index c956a55a710f..30264c6defe6 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/_Statusscreen.h +++ b/Marlin/src/config/examples/Creality/CR-10S/_Statusscreen.h @@ -36,7 +36,10 @@ #define STATUS_SCREEN_BED_TEXT_X (HOTENDS > 1 ? 81 : 73) -#define FAN_ANIM_FRAMES 3 +// Can also be overridden in Configuration.h +#ifndef FAN_ANIM_FRAMES + #define FAN_ANIM_FRAMES 3 +#endif #define STATUS_SCREEN_FAN_TEXT_X (FAN_ANIM_FRAMES == 3 ? 103 : 105) #define STATUS_SCREEN_FAN_TEXT_Y (FAN_ANIM_FRAMES > 2 ? 28 : 27) diff --git a/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h b/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h index 3e1264e483c2..475fdaef9f88 100644 --- a/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h @@ -96,7 +96,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -123,7 +123,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -277,6 +277,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -286,6 +287,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -317,7 +319,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -465,15 +467,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 1000 @@ -563,10 +570,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -635,15 +682,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -695,6 +741,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -724,6 +771,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -767,10 +817,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -794,6 +844,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -832,9 +883,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -898,6 +946,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1076,8 +1128,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1089,6 +1141,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1362,11 +1419,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1394,19 +1450,6 @@ */ #define DISPLAY_CHARSET_HD44780 WESTERN -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1433,6 +1476,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1497,12 +1549,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1526,40 +1584,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1568,28 +1592,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1597,39 +1599,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1676,6 +1667,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1696,25 +1764,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1730,6 +1784,13 @@ // #define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1751,6 +1812,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1810,7 +1899,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h index 18efa670302c..ab87a5e5bf2c 100644 --- a/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu #define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view #define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 420 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 8 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 120 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 6 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - #define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 420 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 8 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 120 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 6 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + #define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Creality/CR-8/Configuration.h b/Marlin/src/config/examples/Creality/CR-8/Configuration.h index 60a77c0a9d55..080a8ef80489 100644 --- a/Marlin/src/config/examples/Creality/CR-8/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-8/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -456,15 +458,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 190 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 500 @@ -554,10 +561,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -626,15 +673,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -686,6 +732,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ #define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -715,6 +762,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -758,10 +808,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -785,6 +835,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -823,9 +874,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -889,6 +937,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1067,8 +1119,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ #define LCD_BED_LEVELING @@ -1080,6 +1132,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1353,11 +1410,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1385,19 +1441,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1424,6 +1467,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1488,12 +1540,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1517,40 +1575,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1559,28 +1583,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1588,39 +1590,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1667,6 +1658,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1687,25 +1755,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1721,6 +1775,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1742,6 +1803,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1801,7 +1890,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h index 6423ce0e5c37..e8a56d519aa2 100644 --- a/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view #define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,60 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -999,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1202,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1273,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1579,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1617,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Creality/Ender-2/Configuration.h b/Marlin/src/config/examples/Creality/Ender-2/Configuration.h index d2e42decf6b8..f6d246a53b56 100644 --- a/Marlin/src/config/examples/Creality/Ender-2/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-2/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -450,15 +452,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -548,10 +555,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -620,15 +667,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -680,6 +726,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -709,6 +756,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -752,10 +802,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -779,6 +829,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -817,9 +868,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -847,8 +895,8 @@ // @section machine // The size of the print bed -#define X_BED_SIZE 320 -#define Y_BED_SIZE 320 +#define X_BED_SIZE 150 +#define Y_BED_SIZE 150 // Travel limits (mm) after homing, corresponding to endstop positions. #define X_MIN_POS 0 @@ -856,7 +904,7 @@ #define Z_MIN_POS 0 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE -#define Z_MAX_POS 420 +#define Z_MAX_POS 200 /** * Software Endstops @@ -883,6 +931,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1061,8 +1113,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1074,6 +1126,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1347,11 +1404,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1379,19 +1435,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1418,6 +1461,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1482,12 +1534,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1511,40 +1569,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1553,28 +1577,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1582,39 +1584,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1661,6 +1652,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1681,25 +1749,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1715,6 +1769,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1736,6 +1797,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1795,7 +1884,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h index 15b10fbac44b..feca0632133e 100644 --- a/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Creality/Ender-3/Configuration.h b/Marlin/src/config/examples/Creality/Ender-3/Configuration.h new file mode 100644 index 000000000000..d963848db846 --- /dev/null +++ b/Marlin/src/config/examples/Creality/Ender-3/Configuration.h @@ -0,0 +1,1957 @@ +/** + * 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 . + * + */ + +/** + * Configuration.h + * + * Basic settings such as: + * + * - Type of electronics + * - Type of temperature sensor + * - Printer geometry + * - Endstop configuration + * - LCD controller + * - Extra features + * + * Advanced settings can be found in Configuration_adv.h + * + */ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H +#define CONFIGURATION_H_VERSION 020000 + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== + +/** + * Here are some standard links for getting your machine calibrated: + * + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 + */ + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer start with one of the configuration files in the +// config/examples/delta directory and customize for your machine. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a SCARA printer start with the configuration files in +// config/examples/SCARA and customize for your machine. +// + +// @section info + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_CONFIG_H_AUTHOR "(thisiskeithb, Ender-3)" // Who made the changes. +#define SHOW_BOOTSCREEN +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 + +/** + * *** VENDORS PLEASE READ *** + * + * Marlin allows you to add a custom boot image for Graphical LCDs. + * With this option Marlin will first show your custom screen followed + * by the standard Marlin logo with version number and web URL. + * + * We encourage you to take advantage of this new feature and we also + * respectfully request that you retain the unmodified Marlin boot screen. + */ + +// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +#define SHOW_CUSTOM_BOOTSCREEN + +// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +#define CUSTOM_STATUS_SCREEN_IMAGE + +// @section machine + +/** + * Select the serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +#define SERIAL_PORT 0 + +/** + * Select a secondary serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Serial port -1 is the USB emulated serial port, if available. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +//#define SERIAL_PORT_2 -1 + +/** + * This setting determines the communication speed of the printer. + * + * 250000 works in most cases, but you might try a lower speed if + * you commonly experience drop-outs during host printing. + * You may try up to 1000000 to speed up SD file transfer. + * + * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] + */ +#define BAUDRATE 115200 + +// Enable the Bluetooth serial interface on AT90USB devices +//#define BLUETOOTH + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_MELZI_CREALITY +#endif + +// Optional custom name for your RepStrap or other custom machine +// Displayed in the LCD "Ready" message +#define CUSTOM_MACHINE_NAME "Ender-3" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// @section extruder + +// This defines the number of extruders +// :[1, 2, 3, 4, 5] +#define EXTRUDERS 1 + +// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc. +#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 + +// For Cyclops or any "multi-extruder" that shares a single nozzle. +//#define SINGLENOZZLE + +/** + * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. + * + * This device allows one stepper driver on a control board to drive + * two to eight stepper motors, one at a time, in a manner suitable + * for extruders. + * + * This option only allows the multiplexer to switch on tool-change. + * Additional options to configure custom E moves are pending. + */ +//#define MK2_MULTIPLEXER +#if ENABLED(MK2_MULTIPLEXER) + // Override the default DIO selector pins here, if needed. + // Some pins files may provide defaults for these pins. + //#define E_MUX0_PIN 40 // Always Required + //#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers + //#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers +#endif + +// A dual extruder that uses a single stepper motor +//#define SWITCHING_EXTRUDER +#if ENABLED(SWITCHING_EXTRUDER) + #define SWITCHING_EXTRUDER_SERVO_NR 0 + #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3] + #if EXTRUDERS > 3 + #define SWITCHING_EXTRUDER_E23_SERVO_NR 1 + #endif +#endif + +// A dual-nozzle that uses a servomotor to raise/lower one of the nozzles +//#define SWITCHING_NOZZLE +#if ENABLED(SWITCHING_NOZZLE) + #define SWITCHING_NOZZLE_SERVO_NR 0 + #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1 + //#define HOTEND_OFFSET_Z { 0.0, 0.0 } +#endif + +/** + * Two separate X-carriages with extruders that connect to a moving part + * via a magnetic docking mechanism. Requires SOL1_PIN and SOL2_PIN. + */ +//#define PARKING_EXTRUDER +#if ENABLED(PARKING_EXTRUDER) + #define PARKING_EXTRUDER_SOLENOIDS_INVERT // If enabled, the solenoid is NOT magnetized with applied voltage + #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW // LOW or HIGH pin signal energizes the coil + #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250 // Delay (ms) for magnetic field. No delay if 0 or not defined. + #define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders + #define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder + #define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking + #define HOTEND_OFFSET_Z { 0.0, 1.3 } // Z-offsets of the two hotends. The first must be 0. +#endif + +/** + * "Mixing Extruder" + * - Adds a new code, M165, to set the current mix factors. + * - Extends the stepping routines to move multiple steppers in proportion to the mix. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. + * - This implementation supports only a single extruder. + * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation + */ +//#define MIXING_EXTRUDER +#if ENABLED(MIXING_EXTRUDER) + #define MIXING_STEPPERS 2 // Number of steppers in your mixing extruder + #define MIXING_VIRTUAL_TOOLS 16 // Use the Virtual Tool method with M163 and M164 + //#define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands +#endif + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +//#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis +//#define HOTEND_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +// @section machine + +/** + * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN + * + * 0 = No Power Switch + * 1 = ATX + * 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) + * + * :{ 0:'No power switch', 1:'ATX', 2:'X-Box 360' } + */ +#define POWER_SUPPLY 0 + +#if POWER_SUPPLY > 0 + // Enable this option to leave the PSU off at startup. + // Power to steppers and heaters will need to be turned on with M80. + //#define PS_DEFAULT_OFF + + //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin + #if ENABLED(AUTO_POWER_CONTROL) + #define AUTO_POWER_FANS // Turn on PSU if fans need power + #define AUTO_POWER_E_FANS + #define AUTO_POWER_CONTROLLERFAN + #define POWER_TIMEOUT 30 + #endif + +#endif + +// @section temperature + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== + +/** + * --NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table + * + * Temperature sensors available: + * + * -4 : thermocouple with AD8495 + * -3 : thermocouple with MAX31855 (only for sensor 0) + * -2 : thermocouple with MAX6675 (only for sensor 0) + * -1 : thermocouple with AD595 + * 0 : not used + * 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup) + * 2 : 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) + * 3 : Mendel-parts thermistor (4.7k pullup) + * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! + * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor + * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) + * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) + * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) + * 8 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) + * 9 : 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) + * 10 : 100k RS thermistor 198-961 (4.7k pullup) + * 11 : 100k beta 3950 1% thermistor (4.7k pullup) + * 12 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) + * 13 : 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" + * 15 : 100k thermistor calibration for JGAurora A5 hotend + * 20 : the PT100 circuit found in the Ultimainboard V2.x + * 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 + * 66 : 4.7M High Temperature thermistor from Dyze Design + * 70 : the 100K thermistor found in the bq Hephestos 2 + * 75 : 100k Generic Silicon Heat Pad with NTC 100K MGB18-104F39050L32 thermistor + * + * 1k ohm pullup tables - This is atypical, and requires changing out the 4.7k pullup for 1k. + * (but gives greater accuracy and more stable PID) + * 51 : 100k thermistor - EPCOS (1k pullup) + * 52 : 200k thermistor - ATC Semitec 204GT-2 (1k pullup) + * 55 : 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) + * + * 1047 : Pt1000 with 4k7 pullup + * 1010 : Pt1000 with 1k pullup (non standard) + * 147 : Pt100 with 4k7 pullup + * 110 : Pt100 with 1k pullup (non standard) + * + * Use these for Testing or Development purposes. NEVER for production machine. + * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. + * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. + * + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + */ +#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_BED 1 +#define TEMP_SENSOR_CHAMBER 0 + +// Dummy thermistor constant temperature readings, for use with 998 and 999 +#define DUMMY_THERMISTOR_998_VALUE 25 +#define DUMMY_THERMISTOR_999_VALUE 100 + +// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings +// from the two sensors differ too much the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Extruder temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// Bed temperature must be close to target for this long before M190 returns success +#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) +#define TEMP_BED_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_BED_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define HEATER_4_MINTEMP 5 +#define BED_MINTEMP 5 + +// When temperature exceeds max temp, your heater will be switched off. +// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! +// You should use MINTEMP for thermistor short/failure protection. +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define HEATER_4_MAXTEMP 275 +#define BED_MAXTEMP 125 + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#define PID_K1 0.95 // Smoothing factor within any PID loop +#if ENABLED(PIDTEMP) + #define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result. + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + + // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it + // Creality Ender-3 + #define DEFAULT_Kp 21.73 + #define DEFAULT_Ki 1.54 + #define DEFAULT_Kd 76.55 + + // Ultimaker + //#define DEFAULT_Kp 22.2 + //#define DEFAULT_Ki 1.08 + //#define DEFAULT_Kd 114 + + // MakerGear + //#define DEFAULT_Kp 7.0 + //#define DEFAULT_Ki 0.1 + //#define DEFAULT_Kd 12 + + // Mendel Parts V9 on 12V + //#define DEFAULT_Kp 63.0 + //#define DEFAULT_Ki 2.25 + //#define DEFAULT_Kd 440 + +#endif // PIDTEMP + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== + +/** + * PID Bed Heating + * + * If this option is enabled set PID constants below. + * If this option is disabled, bang-bang will be used and BED_LIMIT_SWITCHING will enable hysteresis. + * + * The PID frequency will be the same as the extruder PWM. + * If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz, + * which is fine for driving a square wave into a resistive load and does not significantly + * impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W + * heater. If your configuration is significantly different than this and you don't understand + * the issues involved, don't use bed PID until someone else verifies that your hardware works. + */ +//#define PIDTEMPBED + +//#define BED_LIMIT_SWITCHING + +/** + * Max Bed Power + * Applies to all forms of bed control (PID, bang-bang, and bang-bang with hysteresis). + * When set to any value below 255, enables a form of PWM to the bed that acts like a divider + * so don't use it unless you are OK with PWM on your bed. (See the comment on enabling PIDTEMPBED) + */ +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +#if ENABLED(PIDTEMPBED) + + //#define PID_BED_DEBUG // Sends debug data to the serial port. + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from pidautotune + //#define DEFAULT_bedKp 97.1 + //#define DEFAULT_bedKi 1.41 + //#define DEFAULT_bedKd 1675.16 + + // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + +// @section extruder + +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ +#define PREVENT_COLD_EXTRUSION +#define EXTRUDE_MINTEMP 170 + +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ +#define PREVENT_LENGTHY_EXTRUDE +#define EXTRUDE_MAXLENGTH 200 + +//=========================================================================== +//======================== Thermal Runaway Protection ======================= +//=========================================================================== + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * If you get "Thermal Runaway" or "Heating failed" errors the + * details can be tuned in Configuration_adv.h + */ + +#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders +#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// @section machine + +// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics +// either in the usual order or reversed +//#define COREXY +//#define COREXZ +//#define COREYZ +//#define COREYX +//#define COREZX +//#define COREZY + +//=========================================================================== +//============================== Endstop Settings =========================== +//=========================================================================== + +// @section homing + +// Specify here all the endstop connectors that are connected to any endstop or probe. +// Almost all printers will be using one per axis. Probes will use one or more of the +// extra connectors. Leave undefined any used for non-endstop and non-probe purposes. +#define USE_XMIN_PLUG +#define USE_YMIN_PLUG +#define USE_ZMIN_PLUG +//#define USE_XMAX_PLUG +//#define USE_YMAX_PLUG +//#define USE_ZMAX_PLUG + +// Enable pullup for all endstops to prevent a floating state +#define ENDSTOPPULLUPS +#if DISABLED(ENDSTOPPULLUPS) + // Disable ENDSTOPPULLUPS to set pullups individually + //#define ENDSTOPPULLUP_XMAX + //#define ENDSTOPPULLUP_YMAX + //#define ENDSTOPPULLUP_ZMAX + //#define ENDSTOPPULLUP_XMIN + //#define ENDSTOPPULLUP_YMIN + //#define ENDSTOPPULLUP_ZMIN + //#define ENDSTOPPULLUP_ZMIN_PROBE +#endif + +// Enable pulldown for all endstops to prevent a floating state +//#define ENDSTOPPULLDOWNS +#if DISABLED(ENDSTOPPULLDOWNS) + // Disable ENDSTOPPULLDOWNS to set pulldowns individually + //#define ENDSTOPPULLDOWN_XMAX + //#define ENDSTOPPULLDOWN_YMAX + //#define ENDSTOPPULLDOWN_ZMAX + //#define ENDSTOPPULLDOWN_XMIN + //#define ENDSTOPPULLDOWN_YMIN + //#define ENDSTOPPULLDOWN_ZMIN + //#define ENDSTOPPULLDOWN_ZMIN_PROBE +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. + +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + +// Enable this feature if all enabled endstop pins are interrupt-capable. +// This will remove the need to poll the interrupt pins, saving many CPU cycles. +//#define ENDSTOP_INTERRUPTS_FEATURE + +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + +//============================================================================= +//============================== Movement Settings ============================ +//============================================================================= +// @section motion + +/** + * Default Settings + * + * These settings can be reset by M502 + * + * Note that if EEPROM is enabled, saved values will override these. + */ + +/** + * With this option each E stepper can have its own factors for the + * following movement settings. If fewer factors are given than the + * total number of extruders, the last value applies to the rest. + */ +//#define DISTINCT_E_FACTORS + +/** + * Default Axis Steps Per Unit (steps/mm) + * Override with M92 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 } + +/** + * Default Max Feed Rate (mm/s) + * Override with M203 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } + +/** + * Default Max Acceleration (change/s) change = mm/s + * (Maximum start speed for accelerated moves) + * Override with M201 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } + +/** + * Default Acceleration (change/s) change = mm/s + * Override with M204 + * + * M204 P Acceleration + * M204 R Retract Acceleration + * M204 T Travel Acceleration + */ +#define DEFAULT_ACCELERATION 500 // X, Y, Z and E acceleration for printing moves +#define DEFAULT_RETRACT_ACCELERATION 500 // E acceleration for retracts +#define DEFAULT_TRAVEL_ACCELERATION 500 // X, Y, Z acceleration for travel (non printing) moves + +/** + * Default Jerk (mm/s) + * Override with M205 X Y Z E + * + * "Jerk" specifies the minimum speed change that requires acceleration. + * When changing speed and direction, if the difference is less than the + * value set here, it may happen instantaneously. + */ +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 +#define DEFAULT_EJERK 5.0 + +/** + * S-Curve Acceleration + * + * This option eliminates vibration during printing by fitting a Bézier + * curve to move acceleration, producing much smoother direction changes. + * + * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained + */ +//#define S_CURVE_ACCELERATION + +//=========================================================================== +//============================= Z Probe Options ============================= +//=========================================================================== +// @section probes + +// +// See http://marlinfw.org/docs/configuration/probes.html +// + +/** + * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + * + * Enable this option for a probe connected to the Z Min endstop pin. + */ +#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + +/** + * Z_MIN_PROBE_ENDSTOP + * + * Enable this option for a probe connected to any pin except Z-Min. + * (By default Marlin assumes the Z-Max endstop pin.) + * To use a custom Z Probe pin, set Z_MIN_PROBE_PIN below. + * + * - The simplest option is to use a free endstop connector. + * - Use 5V for powered (usually inductive) sensors. + * + * - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin: + * - For simple switches connect... + * - normally-closed switches to GND and D32. + * - normally-open switches to 5V and D32. + * + * WARNING: Setting the wrong pin may have unexpected and potentially + * disastrous consequences. Use with caution and do your homework. + * + */ +//#define Z_MIN_PROBE_ENDSTOP + +/** + * Probe Type + * + * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. + * Activate one of these to use Auto Bed Leveling below. + */ + +/** + * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. + * Use G29 repeatedly, adjusting the Z height at each point with movement commands + * or (with LCD_BED_LEVELING) the LCD controller. + */ +//#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 + +/** + * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. + * (e.g., an inductive probe or a nozzle-based probe-switch.) + */ +//#define FIX_MOUNTED_PROBE + +/** + * Z Servo Probe, such as an endstop switch on a rotating arm. + */ +//#define Z_PROBE_SERVO_NR 0 // Defaults to SERVO 0 connector. +//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles + +/** + * The BLTouch probe uses a Hall effect sensor and emulates a servo. + */ +//#define BLTOUCH +#if ENABLED(BLTOUCH) + //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed +#endif + +/** + * Enable one or more of the following if probing seems unreliable. + * Heaters and/or fans can be disabled during probing to minimize electrical + * noise. A delay can also be added to allow noise and vibration to settle. + * These options are most useful for the BLTouch probe, but may also improve + * readings with inductive probes and piezo sensors. + */ +//#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif +//#define PROBING_FANS_OFF // Turn fans off when probing +//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors + +// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) +//#define SOLENOID_PROBE + +// A sled-mounted probe like those designed by Charles Bell. +//#define Z_PROBE_SLED +//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + +// +// For Z_PROBE_ALLEN_KEY see the Delta example configurations. +// + +/** + * Z Probe to nozzle (X,Y) offset, relative to (0, 0). + * X and Y offsets must be integers. + * + * In the following example the X and Y offsets are both positive: + * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 + * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * +-- BACK ---+ + * | | + * L | (+) P | R <-- probe (20,20) + * E | | I + * F | (-) N (+) | G <-- nozzle (10,10) + * T | | H + * | (-) | T + * | | + * O-- FRONT --+ + * (0,0) + */ +#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] +#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] +#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + +// Certain types of probes need to stay away from edges +#define MIN_PROBE_EDGE 10 + +// X and Y axis travel speed (mm/m) between probes +#define XY_PROBE_SPEED 8000 + +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) +#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z + +// Feedrate (mm/m) for the "accurate" probe of each point +#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) + +// The number of probes to perform at each point. +// Set to 2 for a fast/slow probe, using the second probe result. +// Set to 3 or more for slow probes, averaging the results. +//#define MULTIPLE_PROBING 2 + +/** + * Z probes require clearance when deploying, stowing, and moving between + * probe points to avoid hitting the bed and other hardware. + * Servo-mounted probes require extra space for the arm to rotate. + * Inductive probes need space to keep from triggering early. + * + * Use these settings to specify the distance (mm) to raise the probe (or + * lower the bed). The values set here apply over and above any (negative) + * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * Only integer values >= 1 are valid here. + * + * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. + * But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle. + */ +#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow +#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes +//#define Z_AFTER_PROBING 5 // Z position after probing is done + +#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping + +// For M851 give a range for adjusting the Z probe offset +#define Z_PROBE_OFFSET_RANGE_MIN -20 +#define Z_PROBE_OFFSET_RANGE_MAX 20 + +// Enable the M48 repeatability test to test probe accuracy +//#define Z_MIN_PROBE_REPEATABILITY_TEST + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +// :{ 0:'Low', 1:'High' } +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis stepper immediately when it's not being used. +// WARNING: When motors turn off there is a chance of losing position accuracy! +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define DISABLE_REDUCED_ACCURACY_WARNING + +// @section extruder + +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER false // Keep only the active extruder enabled. + +// @section machine + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR true +#define INVERT_Y_DIR true +#define INVERT_Z_DIR false + +// @section extruder + +// For direct drive extruder v9 set to true, for geared extruder set to false. +#define INVERT_E0_DIR true +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false +#define INVERT_E4_DIR false + +// @section homing + +//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed + +//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off. + +//#define Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ... + // Be sure you have this distance over your Z_MAX_POS in case. + +// Direction of endstops when homing; 1=MAX, -1=MIN +// :[-1,1] +#define X_HOME_DIR -1 +#define Y_HOME_DIR -1 +#define Z_HOME_DIR -1 + +// @section machine + +// The size of the print bed +#define X_BED_SIZE 220 +#define Y_BED_SIZE 220 + +// Travel limits (mm) after homing, corresponding to endstop positions. +#define X_MIN_POS 0 +#define Y_MIN_POS 0 +#define Z_MIN_POS 0 +#define X_MAX_POS X_BED_SIZE +#define Y_MAX_POS Y_BED_SIZE +#define Z_MAX_POS 250 + +/** + * Software Endstops + * + * - Prevent moves outside the set machine bounds. + * - Individual axes can be disabled, if desired. + * - X and Y only apply to Cartesian robots. + * - Use 'M211' to set software endstops on/off or report current state + */ + +// Min software endstops constrain movement within minimum coordinate bounds +#define MIN_SOFTWARE_ENDSTOPS +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) + #define MIN_SOFTWARE_ENDSTOP_X + #define MIN_SOFTWARE_ENDSTOP_Y + #define MIN_SOFTWARE_ENDSTOP_Z +#endif + +// Max software endstops constrain movement within maximum coordinate bounds +#define MAX_SOFTWARE_ENDSTOPS +#if ENABLED(MAX_SOFTWARE_ENDSTOPS) + #define MAX_SOFTWARE_ENDSTOP_X + #define MAX_SOFTWARE_ENDSTOP_Y + #define MAX_SOFTWARE_ENDSTOP_Z +#endif + +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + +/** + * Filament Runout Sensors + * Mechanical or opto endstops are used to check for the presence of filament. + * + * RAMPS-based boards use SERVO3_PIN for the first runout sensor. + * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. + * By default the firmware assumes HIGH=FILAMENT PRESENT. + */ +//#define FILAMENT_RUNOUT_SENSOR +#if ENABLED(FILAMENT_RUNOUT_SENSOR) + #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. + #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. + //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. + #define FILAMENT_RUNOUT_SCRIPT "M600" +#endif + +//=========================================================================== +//=============================== Bed Leveling ============================== +//=========================================================================== +// @section calibrate + +/** + * Choose one of the options below to enable G29 Bed Leveling. The parameters + * and behavior of G29 will change depending on your selection. + * + * If using a Probe for Z Homing, enable Z_SAFE_HOMING also! + * + * - AUTO_BED_LEVELING_3POINT + * Probe 3 arbitrary points on the bed (that aren't collinear) + * You specify the XY coordinates of all 3 points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_LINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_BILINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a mesh, best for large or uneven beds. + * + * - AUTO_BED_LEVELING_UBL (Unified Bed Leveling) + * A comprehensive bed leveling system combining the features and benefits + * of other systems. UBL also includes integrated Mesh Generation, Mesh + * Validation and Mesh Editing systems. + * + * - MESH_BED_LEVELING + * Probe a grid manually + * The result is a mesh, suitable for large or uneven beds. (See BILINEAR.) + * For machines without a probe, Mesh Bed Leveling provides a method to perform + * leveling in steps so you can manually adjust the Z height at each grid-point. + * With an LCD controller the process is guided step-by-step. + */ +//#define AUTO_BED_LEVELING_3POINT +//#define AUTO_BED_LEVELING_LINEAR +//#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL +//#define MESH_BED_LEVELING + +/** + * Normally G28 leaves leveling disabled on completion. Enable + * this option to have G28 restore the prior leveling state. + */ +//#define RESTORE_LEVELING_AFTER_G28 + +/** + * Enable detailed logging of G28, G29, M48, etc. + * Turn on with the command 'M111 S32'. + * NOTE: Requires a lot of PROGMEM! + */ +//#define DEBUG_LEVELING_FEATURE + +#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL) + // Gradually reduce leveling correction until a set height is reached, + // at which point movement will be level to the machine's XY plane. + // The height can be set with M420 Z + #define ENABLE_LEVELING_FADE_HEIGHT + + // For Cartesian machines, instead of dividing moves on mesh boundaries, + // split up moves into short segments like a Delta. This follows the + // contours of the bed more closely than edge-to-edge straight moves. + #define SEGMENT_LEVELED_MOVES + #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one) + + /** + * Enable the G26 Mesh Validation Pattern tool. + */ + //#define G26_MESH_VALIDATION + #if ENABLED(G26_MESH_VALIDATION) + #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. + #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool. + #define MESH_TEST_HOTEND_TEMP 205.0 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool. + #define MESH_TEST_BED_TEMP 60.0 // (°C) Default bed temperature for the G26 Mesh Validation Tool. + #endif + +#endif + +#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Set the number of grid points per dimension. + #define GRID_MAX_POINTS_X 3 + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + // Set the boundaries for probing (where the probe can reach). + //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE) + //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE) + + // Probe along the Y axis, advancing X after each column + //#define PROBE_Y_FIRST + + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Beyond the probed grid, continue the implied tilt? + // Default is to maintain the height of the nearest edge. + //#define EXTRAPOLATE_BEYOND_GRID + + // + // Experimental Subdivision of the grid by Catmull-Rom method. + // Synthesizes intermediate points to produce a more detailed mesh. + // + //#define ABL_BILINEAR_SUBDIVISION + #if ENABLED(ABL_BILINEAR_SUBDIVISION) + // Number of subdivisions between probe points + #define BILINEAR_SUBDIVISIONS 3 + #endif + + #endif + +#elif ENABLED(AUTO_BED_LEVELING_UBL) + + //=========================================================================== + //========================= Unified Bed Leveling ============================ + //=========================================================================== + + //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh + + #define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle + #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 + + //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used + // as the Z-Height correction value. + +#elif ENABLED(MESH_BED_LEVELING) + + //=========================================================================== + //=================================== Mesh ================================== + //=========================================================================== + + #define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS + +#endif // BED_LEVELING + +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. + */ +//#define LCD_BED_LEVELING + +#if ENABLED(LCD_BED_LEVELING) + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. + #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment +#endif + +// Add a menu item to move between bed corners for manual bed adjustment +//#define LEVEL_BED_CORNERS + +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + +/** + * Commands to execute at the end of G29 probing. + * Useful to retract or move the Z probe out of the way. + */ +//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" + + +// @section homing + +// The center of the bed is at (X=0, Y=0) +//#define BED_CENTER_AT_0_0 + +// Manually set the home position. Leave these undefined for automatic settings. +// For DELTA this is the top-center of the Cartesian print volume. +//#define MANUAL_X_HOME_POS 0 +//#define MANUAL_Y_HOME_POS 0 +//#define MANUAL_Z_HOME_POS 0 + +// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. +// +// With this feature enabled: +// +// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. +// - If stepper drivers time out, it will need X and Y homing again before Z homing. +// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28). +// - Prevent Z homing when the Z probe is outside bed area. +// +//#define Z_SAFE_HOMING + +#if ENABLED(Z_SAFE_HOMING) + #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28). +#endif + +// Homing speeds (mm/m) +#define HOMING_FEEDRATE_XY (50*60) +#define HOMING_FEEDRATE_Z (4*60) + +// @section calibrate + +/** + * Bed Skew Compensation + * + * This feature corrects for misalignment in the XYZ axes. + * + * Take the following steps to get the bed skew in the XY plane: + * 1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185) + * 2. For XY_DIAG_AC measure the diagonal A to C + * 3. For XY_DIAG_BD measure the diagonal B to D + * 4. For XY_SIDE_AD measure the edge A to D + * + * Marlin automatically computes skew factors from these measurements. + * Skew factors may also be computed and set manually: + * + * - Compute AB : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2 + * - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD))) + * + * If desired, follow the same procedure for XZ and YZ. + * Use these diagrams for reference: + * + * Y Z Z + * ^ B-------C ^ B-------C ^ B-------C + * | / / | / / | / / + * | / / | / / | / / + * | A-------D | A-------D | A-------D + * +-------------->X +-------------->X +-------------->Y + * XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR + */ +//#define SKEW_CORRECTION + +#if ENABLED(SKEW_CORRECTION) + // Input all length measurements here: + #define XY_DIAG_AC 282.8427124746 + #define XY_DIAG_BD 282.8427124746 + #define XY_SIDE_AD 200 + + // Or, set the default skew factors directly here + // to override the above measurements: + #define XY_SKEW_FACTOR 0.0 + + //#define SKEW_CORRECTION_FOR_Z + #if ENABLED(SKEW_CORRECTION_FOR_Z) + #define XZ_DIAG_AC 282.8427124746 + #define XZ_DIAG_BD 282.8427124746 + #define YZ_DIAG_AC 282.8427124746 + #define YZ_DIAG_BD 282.8427124746 + #define YZ_SIDE_AD 200 + #define XZ_SKEW_FACTOR 0.0 + #define YZ_SKEW_FACTOR 0.0 + #endif + + // Enable this option for M852 to set skew at runtime + //#define SKEW_CORRECTION_GCODE +#endif + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// @section extras + +// +// EEPROM +// +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters in EEPROM +// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +// +#define EEPROM_SETTINGS // Enable for M500 and M501 commands +//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release! +#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. + +// +// Host Keepalive +// +// When enabled Marlin will send a busy status message to the host +// every couple of seconds when it can't accept commands. +// +#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages +#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113. +#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating + +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // Add M100 (Free Memory Watcher) to debug memory usage + +// +// G20/G21 Inch mode support +// +//#define INCH_MODE_SUPPORT + +// +// M149 Set temperature units support +// +//#define TEMPERATURE_UNITS_SUPPORT + +// @section temperature + +// Preheat Constants +#define PREHEAT_1_TEMP_HOTEND 185 +#define PREHEAT_1_TEMP_BED 45 +#define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255 + +#define PREHEAT_2_TEMP_HOTEND 240 +#define PREHEAT_2_TEMP_BED 0 +#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 + +/** + * Nozzle Park + * + * Park the nozzle at the given XYZ position on idle or G27. + * + * The "P" parameter controls the action applied to the Z axis: + * + * P0 (Default) If Z is below park Z raise the nozzle. + * P1 Raise the nozzle always to Z-park height. + * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. + */ +//#define NOZZLE_PARK_FEATURE + +#if ENABLED(NOZZLE_PARK_FEATURE) + // Specify a park position as { X, Y, Z } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) +#endif + +/** + * Clean Nozzle Feature -- EXPERIMENTAL + * + * Adds the G12 command to perform a nozzle cleaning process. + * + * Parameters: + * P Pattern + * S Strokes / Repetitions + * T Triangles (P1 only) + * + * Patterns: + * P0 Straight line (default). This process requires a sponge type material + * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) + * between the start / end points. + * + * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the + * number of zig-zag triangles to do. "S" defines the number of strokes. + * Zig-zags are done in whichever is the narrower dimension. + * For example, "G12 P1 S1 T3" will execute: + * + * -- + * | (X0, Y1) | /\ /\ /\ | (X1, Y1) + * | | / \ / \ / \ | + * A | | / \ / \ / \ | + * | | / \ / \ / \ | + * | (X0, Y0) | / \/ \/ \ | (X1, Y0) + * -- +--------------------------------+ + * |________|_________|_________| + * T1 T2 T3 + * + * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. + * "R" specifies the radius. "S" specifies the stroke count. + * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. + * + * Caveats: The ending Z should be the same as starting Z. + * Attention: EXPERIMENTAL. G-code arguments may change. + * + */ +//#define NOZZLE_CLEAN_FEATURE + +#if ENABLED(NOZZLE_CLEAN_FEATURE) + // Default number of pattern repetitions + #define NOZZLE_CLEAN_STROKES 12 + + // Default number of triangles + #define NOZZLE_CLEAN_TRIANGLES 3 + + // Specify positions as { X, Y, Z } + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_END_POINT {100, 60, (Z_MIN_POS + 1)} + + // Circular pattern radius + #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5 + // Circular pattern circle fragments number + #define NOZZLE_CLEAN_CIRCLE_FN 10 + // Middle point of circle + #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT + + // Moves the nozzle to the initial position + #define NOZZLE_CLEAN_GOBACK +#endif + +/** + * Print Job Timer + * + * Automatically start and stop the print job timer on M104/M109/M190. + * + * M104 (hotend, no wait) - high temp = none, low temp = stop timer + * M109 (hotend, wait) - high temp = start timer, low temp = stop timer + * M190 (bed, wait) - high temp = start timer, low temp = none + * + * The timer can also be controlled with the following commands: + * + * M75 - Start the print job timer + * M76 - Pause the print job timer + * M77 - Stop the print job timer + */ +#define PRINTJOB_TIMER_AUTOSTART + +/** + * Print Counter + * + * Track statistical data such as: + * + * - Total print jobs + * - Total successful print jobs + * - Total failed print jobs + * - Total time printing + * + * View the current statistics with M78. + */ +//#define PRINTCOUNTER + +//============================================================================= +//============================= LCD and SD support ============================ +//============================================================================= + +// @section lcd + +/** + * LCD LANGUAGE + * + * Select the language to display on the LCD. These languages are available: + * + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', '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 + +/** + * LCD Character Set + * + * Note: This option is NOT applicable to Graphical Displays. + * + * All character-based LCDs provide ASCII plus one of these + * language extensions: + * + * - JAPANESE ... the most common + * - WESTERN ... with more accented characters + * - CYRILLIC ... for the Russian language + * + * To determine the language extension installed on your controller: + * + * - Compile and upload with LCD_LANGUAGE set to 'test' + * - Click the controller to view the LCD menu + * - The LCD will display Japanese, Western, or Cyrillic text + * + * See http://marlinfw.org/docs/development/lcd_language.html + * + * :['JAPANESE', 'WESTERN', 'CYRILLIC'] + */ +#define DISPLAY_CHARSET_HD44780 WESTERN + +/** + * SD CARD + * + * SD Card support is disabled by default. If your controller has an SD slot, + * you must uncomment the following option or it won't work. + * + */ +#define SDSUPPORT + +/** + * SD CARD: SPI SPEED + * + * Enable one of the following items for a slower SPI transfer speed. + * This may be required to resolve "volume init" errors. + */ +//#define SPI_SPEED SPI_HALF_SPEED +//#define SPI_SPEED SPI_QUARTER_SPEED +//#define SPI_SPEED SPI_EIGHTH_SPEED + +/** + * SD CARD: ENABLE CRC + * + * Use CRC checks and retries on the SD communication. + */ +//#define SD_CHECK_AND_RETRY + +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + +// +// ENCODER SETTINGS +// +// This option overrides the default number of encoder pulses needed to +// produce one step. Should be increased for high-resolution encoders. +// +//#define ENCODER_PULSES_PER_STEP 4 + +// +// Use this option to override the number of step signals required to +// move between next/prev menu items. +// +//#define ENCODER_STEPS_PER_MENU_ITEM 1 + +/** + * Encoder Direction Options + * + * Test your encoder's behavior first with both options disabled. + * + * Reversed Value Edit and Menu Nav? Enable REVERSE_ENCODER_DIRECTION. + * Reversed Menu Navigation only? Enable REVERSE_MENU_DIRECTION. + * Reversed Value Editing only? Enable BOTH options. + */ + +// +// This option reverses the encoder direction everywhere. +// +// Set this option if CLOCKWISE causes values to DECREASE +// +//#define REVERSE_ENCODER_DIRECTION + +// +// This option reverses the encoder direction for navigating LCD menus. +// +// If CLOCKWISE normally moves DOWN this makes it go UP. +// If CLOCKWISE normally moves UP this makes it go DOWN. +// +//#define REVERSE_MENU_DIRECTION + +// +// Individual Axis Homing +// +// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. +// +//#define INDIVIDUAL_AXIS_HOMING_MENU + +// +// SPEAKER/BUZZER +// +// If you have a speaker that can produce tones, enable it here. +// By default Marlin assumes you have a buzzer with a fixed frequency. +// +#define SPEAKER + +// +// The duration and frequency for the UI feedback sound. +// Set these to 0 to disable audio feedback in the LCD menus. +// +// Note: Test audio output with the G-Code: +// M300 S P +// +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 +//#define LCD_FEEDBACK_FREQUENCY_HZ 5000 + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + +// +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +// +// Note: Usually sold with a white PCB. +// +//#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// +// Original RADDS LCD Display+Encoder+SDCardReader +// http://doku.radds.org/dokumentation/lcd-display/ +// +//#define RADDS_DISPLAY + +// +// ULTIMAKER Controller. +// +//#define ULTIMAKERCONTROLLER + +// +// ULTIPANEL as seen on Thingiverse. +// +//#define ULTIPANEL + +// +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +// +//#define PANEL_ONE + +// +// GADGETS3D G3D LCD/SD Controller +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +// +// Note: Usually sold with a blue PCB. +// +//#define G3D_PANEL + +// +// RigidBot Panel V1.0 +// http://www.inventapart.com/ +// +//#define RIGIDBOT_PANEL + +// +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html +// +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 + +// +// ANET and Tronxy 20x4 Controller +// +//#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. + // This LCD is known to be susceptible to electrical interference + // which scrambles the display. Pressing any button clears it up. + // This is a LCD2004 display with 5 analog buttons. + +// +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. +// +//#define ULTRA_LCD + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= + +// +// CONTROLLER TYPE: I2C +// +// Note: These controllers require the installation of Arduino's LiquidCrystal_I2C +// library. For more info: https://github.com/kiyoshigawa/LiquidCrystal_I2C +// + +// +// Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// +//#define RA_CONTROL_PANEL + +// +// Sainsmart (YwRobot) LCD Displays +// +// These require F.Malpartida's LiquidCrystal_I2C library +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home +// +//#define LCD_SAINSMART_I2C_1602 +//#define LCD_SAINSMART_I2C_2004 + +// +// Generic LCM1602 LCD adapter +// +//#define LCM1602 + +// +// PANELOLU2 LCD with status LEDs, +// separate encoder and click inputs. +// +// Note: This controller requires Arduino's LiquidTWI2 library v1.2.3 or later. +// For more info: https://github.com/lincomatic/LiquidTWI2 +// +// Note: The PANELOLU2 encoder click input can either be directly connected to +// a pin (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). +// +//#define LCD_I2C_PANELOLU2 + +// +// Panucatt VIKI LCD with status LEDs, +// integrated click & L/R/U/D buttons, separate encoder inputs. +// +//#define LCD_I2C_VIKI + +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + +// +// SSD1306 OLED full graphics generic display +// +//#define U8GLIB_SSD1306 + +// +// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules +// +//#define SAV_3DGLCD +#if ENABLED(SAV_3DGLCD) + //#define U8GLIB_SSD1306 + #define U8GLIB_SH1106 +#endif + +// +// Original Ulticontroller from Ultimaker 2 printer with SSD1309 I2C display and encoder +// https://github.com/Ultimaker/Ultimaker2/tree/master/1249_Ulticontroller_Board_(x1) +// +//#define ULTI_CONTROLLER + +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + +// +// MKS MINI12864 with graphic controller and SD support +// http://reprap.org/wiki/MKS_MINI_12864 +// +//#define MKS_MINI_12864 + +// +// Factory display for Creality CR-10 +// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html +// +// This is RAMPS-compatible using a single 10-pin connector. +// (For CR-10 owners who want to replace the Melzi Creality board but retain the display) +// +#define CR10_STOCKDISPLAY + +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + +// +// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER +// http://reprap.org/wiki/MKS_12864OLED +// +// Tiny, but very sharp OLED display +// +//#define MKS_12864OLED // Uses the SH1106 controller (default) +//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller + +// +// AZSMZ 12864 LCD with SD +// https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html +// +//#define AZSMZ_12864 + +// +// Silvergate GLCD controller +// http://github.com/android444/Silvergate +// +//#define SILVER_GATE_GLCD_CONTROLLER + +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + +//============================================================================= +//=============================== Extra Features ============================== +//============================================================================= + +// @section extras + +// Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can +// be used to mitigate the associated resolution loss. If enabled, +// some of the PWM cycles are stretched so on average the desired +// duty cycle is attained. +//#define SOFT_PWM_DITHER + +// Temperature status LEDs that display the hotend and bed temperature. +// If all hotends, bed temperature, and target temperature are under 54C +// then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) +//#define TEMP_STAT_LEDS + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +//#define PHOTOGRAPH_PIN 23 + +// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder +//#define BARICUDA + +// Support for BlinkM/CyzRgb +//#define BLINKM + +// Support for PCA9632 PWM LED driver +//#define PCA9632 + +/** + * RGB LED / LED Strip Control + * + * Enable support for an RGB LED connected to 5V digital pins, or + * an RGB Strip connected to MOSFETs controlled by digital pins. + * + * Adds the M150 command to set the LED (or LED strip) color. + * If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of + * luminance values can be set from 0 to 255. + * For Neopixel LED an overall brightness parameter is also available. + * + * *** CAUTION *** + * LED Strips require a MOSFET Chip between PWM lines and LEDs, + * as the Arduino cannot handle the current the LEDs will require. + * Failure to follow this precaution can destroy your Arduino! + * NOTE: A separate 5V power supply is required! The Neopixel LED needs + * more current than the Arduino 5V linear regulator can produce. + * *** CAUTION *** + * + * LED Type. Enable only one of the following two options. + * + */ +//#define RGB_LED +//#define RGBW_LED + +#if ENABLED(RGB_LED) || ENABLED(RGBW_LED) + #define RGB_LED_R_PIN 34 + #define RGB_LED_G_PIN 43 + #define RGB_LED_B_PIN 35 + #define RGB_LED_W_PIN -1 +#endif + +// Support for Adafruit Neopixel LED driver +//#define NEOPIXEL_LED +#if ENABLED(NEOPIXEL_LED) + #define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h) + #define NEOPIXEL_PIN 4 // LED driving pin on motherboard 4 => D4 (EXP2-5 on Printrboard) / 30 => PC7 (EXP3-13 on Rumba) + #define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip + #define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once. + #define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255) + //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup +#endif + +/** + * Printer Event LEDs + * + * During printing, the LEDs will reflect the printer status: + * + * - Gradually change from blue to violet as the heated bed gets to target temp + * - Gradually change from violet to red as the hotend gets to temperature + * - Change to white to illuminate work surface + * - Change to green once print has finished + * - Turn off after the print has finished and the user has pushed a button + */ +#if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED) + #define PRINTER_EVENT_LEDS +#endif + +/** + * R/C SERVO support + * Sponsored by TrinityLabs, Reworked by codexmas + */ + +/** + * Number of servos + * + * For some servo-related options NUM_SERVOS will be set automatically. + * Set this manually if there are extra servos needing manual control. + * Leave undefined or set to 0 to entirely disable the servo subsystem. + */ +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// 300ms is a good value but you can try less delay. +// If the servo can't reach the requested position, increase it. +#define SERVO_DELAY { 300 } + +// Servo deactivation +// +// With this option servos are powered only during movement, then turned off to prevent jitter. +//#define DEACTIVATE_SERVOS_AFTER_MOVE + +#endif // CONFIGURATION_H diff --git a/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h new file mode 100644 index 000000000000..48b166eac7ea --- /dev/null +++ b/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h @@ -0,0 +1,1683 @@ +/** + * 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 . + * + */ + +/** + * Configuration_adv.h + * + * Advanced settings. + * Only change these if you know exactly what you're doing. + * Some of these settings can damage your printer if improperly set! + * + * Basic settings can be found in Configuration.h + * + */ +#ifndef CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H_VERSION 020000 + +// @section temperature + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +// +// Hephestos 2 24V heated bed upgrade kit. +// https://store.bq.com/en/heated-bed-kit-hephestos2 +// +//#define HEPHESTOS2_HEATED_BED_KIT +#if ENABLED(HEPHESTOS2_HEATED_BED_KIT) + #undef TEMP_SENSOR_BED + #define TEMP_SENSOR_BED 70 + #define HEATER_BED_INVERTING true +#endif + +#if DISABLED(PIDTEMPBED) + #define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control + #if ENABLED(BED_LIMIT_SWITCHING) + #define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS + #endif +#endif + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * The solution: Once the temperature reaches the target, start observing. + * If the temperature stays too far below the target (hysteresis) for too + * long (period), the firmware will halt the machine as a safety precaution. + * + * If you get false positives for "Thermal Runaway", increase + * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD + */ +#if ENABLED(THERMAL_PROTECTION_HOTENDS) + #define THERMAL_PROTECTION_PERIOD 40 // Seconds + #define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius + + /** + * Whenever an M104, M109, or M303 increases the target temperature, the + * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature + * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and + * requires a hard reset. This test restarts with any M104/M109/M303, but only + * if the current temperature is far enough below the target for a reliable + * test. + * + * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD + * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set + * below 2. + */ + #define WATCH_TEMP_PERIOD 20 // Seconds + #define WATCH_TEMP_INCREASE 2 // Degrees Celsius +#endif + +/** + * Thermal Protection parameters for the bed are just as above for hotends. + */ +#if ENABLED(THERMAL_PROTECTION_BED) + #define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius + + /** + * As described above, except for the bed (M140/M190/M303). + */ + #define WATCH_BED_TEMP_PERIOD 60 // Seconds + #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius +#endif + +#if ENABLED(PIDTEMP) + // this adds an experimental additional term to the heating power, proportional to the extrusion speed. + // if Kc is chosen well, the additional required power due to increased melting should be compensated. + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) + #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) + #define LPQ_MAX_LEN 50 + #endif +#endif + +/** + * Automatic Temperature: + * The hotend target temperature is calculated by all the buffered lines of gcode. + * The maximum buffered steps/sec of the extruder motor is called "se". + * Start autotemp mode with M109 S B F + * The target temperature is set to mintemp+factor*se[steps/sec] and is limited by + * mintemp and maxtemp. Turn this off by executing M109 without F* + * Also, if the temperature is set to a value below mintemp, it will not be changed by autotemp. + * On an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode + */ +#define AUTOTEMP +#if ENABLED(AUTOTEMP) + #define AUTOTEMP_OLDWEIGHT 0.98 +#endif + +// Show extra position information in M114 +//#define M114_DETAIL + +// Show Temperature ADC value +// Enable for M105 to include ADC values read from temperature sensors. +//#define SHOW_TEMP_ADC_VALUES + +/** + * High Temperature Thermistor Support + * + * Thermistors able to support high temperature tend to have a hard time getting + * good readings at room and lower temperatures. This means HEATER_X_RAW_LO_TEMP + * will probably be caught when the heating element first turns on during the + * preheating process, which will trigger a min_temp_error as a safety measure + * and force stop everything. + * To circumvent this limitation, we allow for a preheat time (during which, + * min_temp_error won't be triggered) and add a min_temp buffer to handle + * aberrant readings. + * + * If you want to enable this feature for your hotend thermistor(s) + * uncomment and set values > 0 in the constants below + */ + +// The number of consecutive low temperature errors that can occur +// before a min_temp_error is triggered. (Shouldn't be more than 10.) +//#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0 + +// The number of milliseconds a hotend will preheat before starting to check +// the temperature. This value should NOT be set to the time it takes the +// hot end to reach the target temperature, but the time it takes to reach +// the minimum temperature your thermistor can read. The lower the better/safer. +// This shouldn't need to be more than 30 seconds (30000) +//#define MILLISECONDS_PREHEAT_TIME 0 + +// @section extruder + +// Extruder runout prevention. +// If the machine is idle and the temperature over MINTEMP +// then extrude some filament every couple of SECONDS. +//#define EXTRUDER_RUNOUT_PREVENT +#if ENABLED(EXTRUDER_RUNOUT_PREVENT) + #define EXTRUDER_RUNOUT_MINTEMP 190 + #define EXTRUDER_RUNOUT_SECONDS 30 + #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m + #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm +#endif + +// @section temperature + +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 + +/** + * Controller Fan + * To cool down the stepper drivers and MOSFETs. + * + * The fan will turn on automatically whenever any stepper is enabled + * and turn off after a set period after all steppers are turned off. + */ +//#define USE_CONTROLLER_FAN +#if ENABLED(USE_CONTROLLER_FAN) + //#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan + #define CONTROLLERFAN_SECS 60 // Duration in seconds for the fan to run after all motors are disabled + #define CONTROLLERFAN_SPEED 255 // 255 == full speed +#endif + +// When first starting the main fan, run it at full speed for the +// given number of milliseconds. This gets the fan spinning reliably +// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) +//#define FAN_KICKSTART_TIME 100 + +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ +//#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 + +// @section extruder + +/** + * Extruder cooling fans + * + * Extruder auto fans automatically turn on when their extruders' + * temperatures go above EXTRUDER_AUTO_FAN_TEMPERATURE. + * + * Your board's pins file specifies the recommended pins. Override those here + * or set to -1 to disable completely. + * + * Multiple extruders can be assigned to the same pin in which case + * the fan will turn on when any selected extruder is above the threshold. + */ +#define E0_AUTO_FAN_PIN -1 +#define E1_AUTO_FAN_PIN -1 +#define E2_AUTO_FAN_PIN -1 +#define E3_AUTO_FAN_PIN -1 +#define E4_AUTO_FAN_PIN -1 +#define CHAMBER_AUTO_FAN_PIN -1 +#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 +#define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed + +/** + * Part-Cooling Fan Multiplexer + * + * This feature allows you to digitally multiplex the fan output. + * The multiplexer is automatically switched at tool-change. + * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans. + */ +#define FANMUX0_PIN -1 +#define FANMUX1_PIN -1 +#define FANMUX2_PIN -1 + +/** + * M355 Case Light on-off / brightness + */ +//#define CASE_LIGHT_ENABLE +#if ENABLED(CASE_LIGHT_ENABLE) + //#define CASE_LIGHT_PIN 4 // Override the default pin if needed + #define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW + #define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on + #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105 // Set default power-up brightness (0-255, requires PWM pin) + //#define MENU_ITEM_CASE_LIGHT // Add a Case Light option to the LCD main menu + //#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED. + #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) + #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White } + #endif +#endif + +//=========================================================================== +//============================ Mechanical Settings ========================== +//=========================================================================== + +// @section homing + +// If you want endstops to stay on (by default) even when not homing +// enable this option. Override at any time with M120, M121. +//#define ENDSTOPS_ALWAYS_ON_DEFAULT + +// @section extras + +//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats. + +/** + * Dual Steppers / Dual Endstops + * + * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes. + * + * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to + * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop + * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug + * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'. + * + * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors + * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error + * in X2. Dual endstop offsets can be set at runtime with 'M666 X Y Z'. + */ + +//#define X_DUAL_STEPPER_DRIVERS +#if ENABLED(X_DUAL_STEPPER_DRIVERS) + #define INVERT_X2_VS_X_DIR true // Set 'true' if X motors should rotate in opposite directions + //#define X_DUAL_ENDSTOPS + #if ENABLED(X_DUAL_ENDSTOPS) + #define X2_USE_ENDSTOP _XMAX_ + #define X_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Y_DUAL_STEPPER_DRIVERS +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + #define INVERT_Y2_VS_Y_DIR true // Set 'true' if Y motors should rotate in opposite directions + //#define Y_DUAL_ENDSTOPS + #if ENABLED(Y_DUAL_ENDSTOPS) + #define Y2_USE_ENDSTOP _YMAX_ + #define Y_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Z_DUAL_STEPPER_DRIVERS +#if ENABLED(Z_DUAL_STEPPER_DRIVERS) + //#define Z_DUAL_ENDSTOPS + #if ENABLED(Z_DUAL_ENDSTOPS) + #define Z2_USE_ENDSTOP _XMAX_ + #define Z_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +// Enable this for dual x-carriage printers. +// A dual x-carriage design has the advantage that the inactive extruder can be parked which +// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage +// allowing faster printing speeds. Connect your X2 stepper to the first unused E plug. +//#define DUAL_X_CARRIAGE +#if ENABLED(DUAL_X_CARRIAGE) + // Configuration for second X-carriage + // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop; + // the second x-carriage always homes to the maximum endstop. + #define X2_MIN_POS 80 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage + #define X2_MAX_POS 353 // set maximum to the distance between toolheads when both heads are homed + #define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position + #define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position + // However: In this mode the HOTEND_OFFSET_X value for the second extruder provides a software + // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops + // without modifying the firmware (through the "M218 T1 X???" command). + // Remember: you should set the second extruder x-offset to 0 in your slicer. + + // There are a few selectable movement modes for dual x-carriages using M605 S + // Mode 0 (DXC_FULL_CONTROL_MODE): Full control. The slicer has full control over both x-carriages and can achieve optimal travel results + // as long as it supports dual x-carriages. (M605 S0) + // Mode 1 (DXC_AUTO_PARK_MODE) : Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so + // that additional slicer support is not required. (M605 S1) + // Mode 2 (DXC_DUPLICATION_MODE) : Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all + // actions of the first x-carriage. This allows the printer to print 2 arbitrary items at + // once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm]) + + // This is the default power-up mode which can be later using M605. + #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_FULL_CONTROL_MODE + + // Default settings in "Auto-park Mode" + #define TOOLCHANGE_PARK_ZLIFT 0.2 // the distance to raise Z axis when parking an extruder + #define TOOLCHANGE_UNPARK_ZLIFT 1 // the distance to raise Z axis when unparking an extruder + + // Default x offset in duplication mode (typically set to half print bed width) + #define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif // DUAL_X_CARRIAGE + +// Activate a solenoid on the active extruder with M380. Disable all with M381. +// Define SOL0_PIN, SOL1_PIN, etc., for each extruder that has a solenoid. +//#define EXT_SOLENOID + +// @section homing + +// Homing hits each endstop, retracts by these distances, then does a slower bump. +#define X_HOME_BUMP_MM 5 +#define Y_HOME_BUMP_MM 5 +#define Z_HOME_BUMP_MM 2 +#define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) +#define QUICK_HOME // If homing includes X and Y, do a diagonal move initially + +// When G28 is called, this option will make Y home before X +//#define HOME_Y_BEFORE_X + +// Enable this if X or Y can't home without homing the other axis first. +//#define CODEPENDENT_XY_HOMING + +// @section machine + +#define AXIS_RELATIVE_MODES {false, false, false, false} + +// Allow duplication mode with a basic dual-nozzle extruder +//#define DUAL_NOZZLE_DUPLICATION_MODE + +// By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +// Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. +#define DEFAULT_STEPPER_DEACTIVE_TIME 120 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +//#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated + +// @section lcd + +#if ENABLED(ULTIPANEL) + #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 0} // Feedrates for manual moves along X, Y, Z, E from panel + #define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder +#endif + +// @section extras + +// minimum time in microseconds that a movement needs to take if the buffer is emptied. +#define DEFAULT_MINSEGMENTTIME 20000 + +// If defined the movements slow down when the look ahead buffer is only half full +#define SLOWDOWN + +// Frequency limit +// See nophead's blog for more info +// Not working O +//#define XY_FREQUENCY_LIMIT 15 + +// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end +// of the buffer and all stops. This should not be much greater than zero and should only be changed +// if unwanted behavior is observed on a user's machine when running at very slow speeds. +#define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) + +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] + +/** + * @section stepper motor current + * + * Some boards have a means of setting the stepper motor current via firmware. + * + * The power on motor currents are set by: + * PWM_MOTOR_CURRENT - used by MINIRAMBO & ULTIMAIN_2 + * known compatible chips: A4982 + * DIGIPOT_MOTOR_CURRENT - used by BQ_ZUM_MEGA_3D, RAMBO & SCOOVO_X9H + * known compatible chips: AD5206 + * DAC_MOTOR_CURRENT_DEFAULT - used by PRINTRBOARD_REVF & RIGIDBOARD_V2 + * known compatible chips: MCP4728 + * DIGIPOT_I2C_MOTOR_CURRENTS - used by 5DPRINT, AZTEEG_X3_PRO, MIGHTYBOARD_REVE + * known compatible chips: MCP4451, MCP4018 + * + * Motor currents can also be set by M907 - M910 and by the LCD. + * M907 - applies to all. + * M908 - BQ_ZUM_MEGA_3D, RAMBO, PRINTRBOARD_REVF, RIGIDBOARD_V2 & SCOOVO_X9H + * M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2 + */ +//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps +//#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) +//#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis + +// Use an I2C based DIGIPOT (e.g., Azteeg X3 Pro) +//#define DIGIPOT_I2C +#if ENABLED(DIGIPOT_I2C) && !defined(DIGIPOT_I2C_ADDRESS_A) + /** + * Common slave addresses: + * + * A (A shifted) B (B shifted) IC + * Smoothie 0x2C (0x58) 0x2D (0x5A) MCP4451 + * AZTEEG_X3_PRO 0x2C (0x58) 0x2E (0x5C) MCP4451 + * MIGHTYBOARD_REVE 0x2F (0x5E) MCP4018 + */ + #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT + #define DIGIPOT_I2C_ADDRESS_B 0x2D // unshifted slave address for second DIGIPOT +#endif + +//#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 +// Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. +// These correspond to the physical drivers, so be mindful if the order is changed. +#define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +#define ENCODER_RATE_MULTIPLIER // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly +#define ENCODER_10X_STEPS_PER_SEC 75 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value +#define ENCODER_100X_STEPS_PER_SEC 160 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value + +//#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ +#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again + +// @section lcd + +// Include a page of printer information in the LCD Main Menu +#define LCD_INFO_MENU + +// Scroll a longer status message into view +#define STATUS_MESSAGE_SCROLLING + +// On the Info Screen, display XY with one decimal place when possible +//#define LCD_DECIMAL_SMALL_XY + +// The timeout (in ms) to return to the status screen from sub-menus +//#define LCD_TIMEOUT_TO_STATUS 15000 + +// Add an 'M73' G-code to set the current percentage +//#define LCD_SET_PROGRESS_MANUALLY + +#if ENABLED(SDSUPPORT) || ENABLED(LCD_SET_PROGRESS_MANUALLY) + //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing + #if ENABLED(LCD_PROGRESS_BAR) + #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar + #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message + #define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever) + //#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it + //#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar + #endif +#endif // SDSUPPORT || LCD_SET_PROGRESS_MANUALLY + +/** + * LED Control Menu + * Enable this feature to add LED Control to the LCD menu + */ +//#define LED_CONTROL_MENU +#if ENABLED(LED_CONTROL_MENU) + #define LED_COLOR_PRESETS // Enable the Preset Color menu option + #if ENABLED(LED_COLOR_PRESETS) + #define LED_USER_PRESET_RED 255 // User defined RED value + #define LED_USER_PRESET_GREEN 128 // User defined GREEN value + #define LED_USER_PRESET_BLUE 0 // User defined BLUE value + #define LED_USER_PRESET_WHITE 255 // User defined WHITE value + #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity + //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup + #endif +#endif // LED_CONTROL_MENU + +#if ENABLED(SDSUPPORT) + + // Some RAMPS and other boards don't detect when an SD card is inserted. You can work + // around this by connecting a push button or single throw switch to the pin defined + // as SD_DETECT_PIN in your board's pins definitions. + // This setting should be disabled unless you are using a push button, pulling the pin to ground. + // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER). + #define SD_DETECT_INVERTED + + #define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished + #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place. + + // Reverse SD sort to show "more recent" files first, according to the card's FAT. + // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended. + #define SDCARD_RATHERRECENTFIRST + + // Add an option in the menu to run all auto#.g files + //#define MENU_ADDAUTOSTART + + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + + /** + * Sort SD file listings in alphabetical order. + * + * With this option enabled, items on SD cards will be sorted + * by name for easier navigation. + * + * By default... + * + * - Use the slowest -but safest- method for sorting. + * - Folders are sorted to the top. + * - The sort key is statically allocated. + * - No added G-code (M34) support. + * - 40 item sorting limit. (Items after the first 40 are unsorted.) + * + * SD sorting uses static allocation (as set by SDSORT_LIMIT), allowing the + * compiler to calculate the worst-case usage and throw an error if the SRAM + * limit is exceeded. + * + * - SDSORT_USES_RAM provides faster sorting via a static directory buffer. + * - SDSORT_USES_STACK does the same, but uses a local stack-based buffer. + * - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!) + * - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!) + */ + //#define SDCARD_SORT_ALPHA + + // SD Card Sorting options + #if ENABLED(SDCARD_SORT_ALPHA) + #define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256). Costs 27 bytes each. + #define FOLDER_SORTING -1 // -1=above 0=none 1=below + #define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 g-code. + #define SDSORT_USES_RAM false // Pre-allocate a static array for faster pre-sorting. + #define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.) + #define SDSORT_CACHE_NAMES false // Keep sorted items in RAM longer for speedy performance. Most expensive option. + #define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use! + #define SDSORT_CACHE_VFATS 2 // Maximum number of 13-byte VFAT entries to use for sorting. + // Note: Only affects SCROLL_LONG_FILENAMES with SDSORT_CACHE_NAMES but not SDSORT_DYNAMIC_RAM. + #endif + + // This allows hosts to request long names for files and folders with M33 + //#define LONG_FILENAME_HOST_SUPPORT + + // Enable this option to scroll long filenames in the SD card menu + #define SCROLL_LONG_FILENAMES + + /** + * This option allows you to abort SD printing when any endstop is triggered. + * This feature must be enabled with "M540 S1" or from the LCD menu. + * To have any effect, endstops must be enabled during SD printing. + */ + //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + + /** + * This option makes it easier to print the same SD Card file again. + * On print completion the LCD Menu will open with the file selected. + * You can just click to start the print, or navigate elsewhere. + */ + //#define SD_REPRINT_LAST_SELECTED_FILE + + /** + * Auto-report SdCard status with M27 S + */ + //#define AUTO_REPORT_SD_STATUS + +#endif // SDSUPPORT + +/** + * Additional options for Graphical Displays + * + * Use the optimizations here to improve printing performance, + * which can be adversely affected by graphical display drawing, + * especially when doing several short moves, and when printing + * on DELTA and SCARA machines. + * + * Some of these options may result in the display lagging behind + * controller events, as there is a trade-off between reliable + * printing performance versus fast display updates. + */ +#if ENABLED(DOGLCD) + // Show SD percentage next to the progress bar + //#define DOGM_SD_PERCENT + + // Enable to save many cycles by drawing a hollow frame on the Info Screen + #define XYZ_HOLLOW_FRAME + + // Enable to save many cycles by drawing a hollow frame on Menu Screens + #define MENU_HOLLOW_FRAME + + // A bigger font is available for edit items. Costs 3120 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_BIG_EDIT_FONT + + // A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_SMALL_INFOFONT + + // Enable this option and reduce the value to optimize screen updates. + // The normal delay is 10µs. Use the lowest value that still gives a reliable display. + //#define DOGM_SPI_DELAY_US 5 + + // Swap the CW/CCW indicators in the graphics overlay + //#define OVERLAY_GFX_REVERSE + + #if ENABLED(U8GLIB_ST7920) + /** + * ST7920-based LCDs can emulate a 16 x 4 character display using + * the ST7920 character-generator for very fast screen updates. + * Enable LIGHTWEIGHT_UI to use this special display mode. + * + * Since LIGHTWEIGHT_UI has limited space, the position and status + * message occupy the same line. Set STATUS_EXPIRE_SECONDS to the + * length of time to display the status message before clearing. + * + * Set STATUS_EXPIRE_SECONDS to zero to never clear the status. + * This will prevent position updates from being displayed. + */ + //#define LIGHTWEIGHT_UI + #if ENABLED(LIGHTWEIGHT_UI) + #define STATUS_EXPIRE_SECONDS 20 + #endif + #endif + +#endif // DOGLCD + +// @section safety + +// The hardware watchdog should reset the microcontroller disabling all outputs, +// in case the firmware gets stuck and doesn't do temperature regulation. +#define USE_WATCHDOG + +#if ENABLED(USE_WATCHDOG) + // If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on. + // The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset. + // However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled. + //#define WATCHDOG_RESET_MANUAL +#endif + +// @section lcd + +/** + * Babystepping enables movement of the axes by tiny increments without changing + * the current position values. This feature is used primarily to adjust the Z + * axis in the first layer of a print in real-time. + * + * Warning: Does not respect endstops! + */ +#define BABYSTEPPING +#if ENABLED(BABYSTEPPING) + //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! + #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way + #define BABYSTEP_MULTIPLICATOR 1 // Babysteps are very small. Increase for faster motion. + //#define BABYSTEP_ZPROBE_OFFSET // Enable to combine M851 and Babystepping + #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. + #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. + // Note: Extra time may be added to mitigate controller latency. + //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor +#endif + +// @section extruder + +/** + * Linear Pressure Control v1.5 + * + * Assumption: advance [steps] = k * (delta velocity [steps/s]) + * K=0 means advance disabled. + * + * NOTE: K values for LIN_ADVANCE 1.5 differ from earlier versions! + * + * Set K around 0.22 for 3mm PLA Direct Drive with ~6.5cm between the drive gear and heatbreak. + * Larger K values will be needed for flexible filament and greater distances. + * If this algorithm produces a higher speed offset than the extruder can handle (compared to E jerk) + * print acceleration will be reduced during the affected moves to keep within the limit. + * + * See http://marlinfw.org/docs/features/lin_advance.html for full instructions. + * Mention @Sebastianv650 on GitHub to alert the author of any issues. + */ +//#define LIN_ADVANCE +#if ENABLED(LIN_ADVANCE) + #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed + //#define LA_DEBUG // If enabled, this will generate debug information output over USB. +#endif + +// @section leveling + +#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL) + // Override the mesh area if the automatic (max) area is too large + //#define MESH_MIN_X MESH_INSET + //#define MESH_MIN_Y MESH_INSET + //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET) + //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) +#endif + +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + +// @section extras + +// +// G2/G3 Arc Support +// +#define ARC_SUPPORT // Disable this feature to save ~3226 bytes +#if ENABLED(ARC_SUPPORT) + #define MM_PER_ARC_SEGMENT 1 // Length of each arc segment + #define N_ARC_CORRECTION 25 // Number of intertpolated segments between corrections + //#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles + //#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes +#endif + +// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes. +//#define BEZIER_CURVE_SUPPORT + +// G38.2 and G38.3 Probe Target +// Set MULTIPLE_PROBING if you want G38 to double touch +//#define G38_PROBE_TARGET +#if ENABLED(G38_PROBE_TARGET) + #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move) +#endif + +// Moves (or segments) with fewer steps than this will be joined with the next move +#define MIN_STEPS_PER_SEGMENT 6 + +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 + +// @section temperature + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//================================= Buffers ================================= +//=========================================================================== + +// @section hidden + +// The number of linear motions that can be in the plan at any give time. +// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering. +#if ENABLED(SDSUPPORT) + #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller +#else + #define BLOCK_BUFFER_SIZE 16 // maximize block buffer +#endif + +// @section serial + +// The ASCII buffer for serial input +#define MAX_CMD_SIZE 96 +#define BUFSIZE 4 + +// Transmission to Host Buffer Size +// To save 386 bytes of PROGMEM (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0. +// To buffer a simple "ok" you need 4 bytes. +// For ADVANCED_OK (M105) you need 32 bytes. +// For debug-echo: 128 bytes for the optimal speed. +// Other output doesn't need to be that speedy. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256] +#define TX_BUFFER_SIZE 0 + +// Host Receive Buffer Size +// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough. +// To use flow control, set this buffer size to at least 1024 bytes. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048] +//#define RX_BUFFER_SIZE 1024 + +#if RX_BUFFER_SIZE >= 1024 + // Enable to have the controller send XON/XOFF control characters to + // the host to signal the RX buffer is becoming full. + //#define SERIAL_XON_XOFF +#endif + +#if ENABLED(SDSUPPORT) + // Enable this option to collect and display the maximum + // RX queue usage after transferring a file to SD. + //#define SERIAL_STATS_MAX_RX_QUEUED + + // Enable this option to collect and display the number + // of dropped bytes after a file transfer to SD. + //#define SERIAL_STATS_DROPPED_RX +#endif + +// Enable an emergency-command parser to intercept certain commands as they +// enter the serial receive buffer, so they cannot be blocked. +// Currently handles M108, M112, M410 +// Does not work on boards using AT90USB (USBCON) processors! +//#define EMERGENCY_PARSER + +// Bad Serial-connections can miss a received command by sending an 'ok' +// Therefore some clients abort after 30 seconds in a timeout. +// Some other clients start sending commands while receiving a 'wait'. +// This "wait" is only sent when the buffer is empty. 1 second is a good value here. +//#define NO_TIMEOUTS 1000 // Milliseconds + +// Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. +//#define ADVANCED_OK + +// @section extras + +/** + * Firmware-based and LCD-controlled retract + * + * Add G10 / G11 commands for automatic firmware-based retract / recover. + * Use M207 and M208 to define parameters for retract / recover. + * + * Use M209 to enable or disable auto-retract. + * With auto-retract enabled, all G1 E moves within the set range + * will be converted to firmware-based retract/recover moves. + * + * Be sure to turn off auto-retract during filament change. + * + * Note that M207 / M208 / M209 settings are saved to EEPROM. + * + */ +//#define FWRETRACT // ONLY PARTIALLY TESTED +#if ENABLED(FWRETRACT) + #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over + #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define RETRACT_LENGTH 3 // Default retract length (positive mm) + #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change + #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) + #define RETRACT_ZLIFT 0 // Default retract Z-lift + #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) + #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) +#endif + +/** + * Extra Fan Speed + * Adds a secondary fan speed for each print-cooling fan. + * 'M106 P T3-255' : Set a secondary speed for + * 'M106 P T2' : Use the set secondary speed + * 'M106 P T1' : Restore the previous fan speed + */ +//#define EXTRA_FAN_SPEED + +/** + * Advanced Pause + * Experimental feature for filament change support and for parking the nozzle when paused. + * Adds the GCode M600 for initiating filament change. + * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. + * + * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. + * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. + */ +//#define ADVANCED_PAUSE_FEATURE +#if ENABLED(ADVANCED_PAUSE_FEATURE) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) +#endif + +// @section tmc + +/** + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper + */ +#if HAS_DRIVER(TMC26X) + + #define X_MAX_CURRENT 1000 // in mA + #define X_SENSE_RESISTOR 91 // in mOhms + #define X_MICROSTEPS 16 // number of microsteps + + #define X2_MAX_CURRENT 1000 + #define X2_SENSE_RESISTOR 91 + #define X2_MICROSTEPS 16 + + #define Y_MAX_CURRENT 1000 + #define Y_SENSE_RESISTOR 91 + #define Y_MICROSTEPS 16 + + #define Y2_MAX_CURRENT 1000 + #define Y2_SENSE_RESISTOR 91 + #define Y2_MICROSTEPS 16 + + #define Z_MAX_CURRENT 1000 + #define Z_SENSE_RESISTOR 91 + #define Z_MICROSTEPS 16 + + #define Z2_MAX_CURRENT 1000 + #define Z2_SENSE_RESISTOR 91 + #define Z2_MICROSTEPS 16 + + #define E0_MAX_CURRENT 1000 + #define E0_SENSE_RESISTOR 91 + #define E0_MICROSTEPS 16 + + #define E1_MAX_CURRENT 1000 + #define E1_SENSE_RESISTOR 91 + #define E1_MICROSTEPS 16 + + #define E2_MAX_CURRENT 1000 + #define E2_SENSE_RESISTOR 91 + #define E2_MICROSTEPS 16 + + #define E3_MAX_CURRENT 1000 + #define E3_SENSE_RESISTOR 91 + #define E3_MICROSTEPS 16 + + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + +#endif // TMC26X + +// @section tmc_smart + +/** + * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to + * the hardware SPI interface on your board and define the required CS pins + * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). + * You may also use software SPI if you wish to use general purpose IO pins. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * To use the reading capabilities, also connect #_SERIAL_RX_PIN + * to PDN_UART without a resistor. + * The drivers can also be used with hardware serial. + * + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper + */ +#if HAS_TRINAMIC + + #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 + #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current + #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 + + #define X_CURRENT 800 // rms current in mA. Multiply by 1.41 for peak current. + #define X_MICROSTEPS 16 // 0..256 + + #define Y_CURRENT 800 + #define Y_MICROSTEPS 16 + + #define Z_CURRENT 800 + #define Z_MICROSTEPS 16 + + #define X2_CURRENT 800 + #define X2_MICROSTEPS 16 + + #define Y2_CURRENT 800 + #define Y2_MICROSTEPS 16 + + #define Z2_CURRENT 800 + #define Z2_MICROSTEPS 16 + + #define E0_CURRENT 800 + #define E0_MICROSTEPS 16 + + #define E1_CURRENT 800 + #define E1_MICROSTEPS 16 + + #define E2_CURRENT 800 + #define E2_MICROSTEPS 16 + + #define E3_CURRENT 800 + #define E3_MICROSTEPS 16 + + #define E4_CURRENT 800 + #define E4_MICROSTEPS 16 + + /** + * Use software SPI for TMC2130. + * The default SW SPI pins are defined the respective pins files, + * but you can override or define them here. + */ + //#define TMC_USE_SW_SPI + //#define TMC_SW_MOSI -1 + //#define TMC_SW_MISO -1 + //#define TMC_SW_SCK -1 + + /** + * Use Trinamic's ultra quiet stepping mode. + * When disabled, Marlin will use spreadCycle stepping mode. + */ + #define STEALTHCHOP + + /** + * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions, + * like overtemperature and short to ground. TMC2208 requires hardware serial. + * In the case of overtemperature Marlin can decrease the driver current until error condition clears. + * Other detected conditions can be used to stop the current print. + * Relevant g-codes: + * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. + * M911 - Report stepper driver overtemperature pre-warn condition. + * M912 - Clear stepper driver overtemperature pre-warn condition flag. + * M122 S0/1 - Report driver parameters (Requires TMC_DEBUG) + */ + //#define MONITOR_DRIVER_STATUS + + #if ENABLED(MONITOR_DRIVER_STATUS) + #define CURRENT_STEP_DOWN 50 // [mA] + #define REPORT_CURRENT_CHANGE + #define STOP_ON_ERROR + #endif + + /** + * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD. + * This mode allows for faster movements at the expense of higher noise levels. + * STEALTHCHOP needs to be enabled. + * M913 X/Y/Z/E to live tune the setting + */ + //#define HYBRID_THRESHOLD + + #define X_HYBRID_THRESHOLD 100 // [mm/s] + #define X2_HYBRID_THRESHOLD 100 + #define Y_HYBRID_THRESHOLD 100 + #define Y2_HYBRID_THRESHOLD 100 + #define Z_HYBRID_THRESHOLD 3 + #define Z2_HYBRID_THRESHOLD 3 + #define E0_HYBRID_THRESHOLD 30 + #define E1_HYBRID_THRESHOLD 30 + #define E2_HYBRID_THRESHOLD 30 + #define E3_HYBRID_THRESHOLD 30 + #define E4_HYBRID_THRESHOLD 30 + + /** + * Use stallGuard2 to sense an obstacle and trigger an endstop. + * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. + * X, Y, and Z homing will always be done in spreadCycle mode. + * + * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. + * Higher values make the system LESS sensitive. + * Lower value make the system MORE sensitive. + * Too low values can lead to false positives, while too high values will collide the axis without triggering. + * It is advised to set X/Y/Z_HOME_BUMP_MM to 0. + * M914 X/Y/Z to live tune the setting + */ + //#define SENSORLESS_HOMING // TMC2130 only + + #if ENABLED(SENSORLESS_HOMING) + #define X_HOMING_SENSITIVITY 8 + #define Y_HOMING_SENSITIVITY 8 + #define Z_HOMING_SENSITIVITY 8 + #endif + + /** + * Enable M122 debugging command for TMC stepper drivers. + * M122 S0/1 will enable continous reporting. + */ + //#define TMC_DEBUG + + /** + * M915 Z Axis Calibration + * + * - Adjust Z stepper current, + * - Drive the Z axis to its physical maximum, and + * - Home Z to account for the lost steps. + * + * Use M915 Snn to specify the current. + * Use M925 Znn to add extra Z height to Z_MAX_POS. + */ + //#define TMC_Z_CALIBRATION + #if ENABLED(TMC_Z_CALIBRATION) + #define CALIBRATION_CURRENT 250 + #define CALIBRATION_EXTRA_HEIGHT 10 + #endif + + /** + * You can set your own advanced settings by filling in predefined functions. + * A list of available functions can be found on the library github page + * https://github.com/teemuatlut/TMC2130Stepper + * https://github.com/teemuatlut/TMC2208Stepper + * + * Example: + * #define TMC_ADV() { \ + * stepperX.diag0_temp_prewarn(1); \ + * stepperY.interpolate(0); \ + * } + */ + #define TMC_ADV() { } + +#endif // TMC2130 || TMC2208 + +// @section L6470 + +/** + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 + */ +#if HAS_DRIVER(L6470) + + #define X_MICROSTEPS 16 // number of microsteps + #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off + #define X_STALLCURRENT 1500 // current in mA where the driver will detect a stall + + #define X2_MICROSTEPS 16 + #define X2_OVERCURRENT 2000 + #define X2_STALLCURRENT 1500 + + #define Y_MICROSTEPS 16 + #define Y_OVERCURRENT 2000 + #define Y_STALLCURRENT 1500 + + #define Y2_MICROSTEPS 16 + #define Y2_OVERCURRENT 2000 + #define Y2_STALLCURRENT 1500 + + #define Z_MICROSTEPS 16 + #define Z_OVERCURRENT 2000 + #define Z_STALLCURRENT 1500 + + #define Z2_MICROSTEPS 16 + #define Z2_OVERCURRENT 2000 + #define Z2_STALLCURRENT 1500 + + #define E0_MICROSTEPS 16 + #define E0_OVERCURRENT 2000 + #define E0_STALLCURRENT 1500 + + #define E1_MICROSTEPS 16 + #define E1_OVERCURRENT 2000 + #define E1_STALLCURRENT 1500 + + #define E2_MICROSTEPS 16 + #define E2_OVERCURRENT 2000 + #define E2_STALLCURRENT 1500 + + #define E3_MICROSTEPS 16 + #define E3_OVERCURRENT 2000 + #define E3_STALLCURRENT 1500 + + #define E4_MICROSTEPS 16 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + +#endif // L6470 + +/** + * TWI/I2C BUS + * + * This feature is an EXPERIMENTAL feature so it shall not be used on production + * machines. Enabling this will allow you to send and receive I2C data from slave + * devices on the bus. + * + * ; Example #1 + * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) + * ; It uses multiple M260 commands with one B arg + * M260 A99 ; Target slave address + * M260 B77 ; M + * M260 B97 ; a + * M260 B114 ; r + * M260 B108 ; l + * M260 B105 ; i + * M260 B110 ; n + * M260 S1 ; Send the current buffer + * + * ; Example #2 + * ; Request 6 bytes from slave device with address 0x63 (99) + * M261 A99 B5 + * + * ; Example #3 + * ; Example serial output of a M261 request + * echo:i2c-reply: from:99 bytes:5 data:hello + */ + +// @section i2cbus + +//#define EXPERIMENTAL_I2CBUS +#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave + +// @section extras + +/** + * Spindle & Laser control + * + * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and + * to set spindle speed, spindle direction, and laser power. + * + * SuperPid is a router/spindle speed controller used in the CNC milling community. + * Marlin can be used to turn the spindle on and off. It can also be used to set + * the spindle speed from 5,000 to 30,000 RPM. + * + * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V + * hardware PWM pin for the speed control and a pin for the rotation direction. + * + * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details. + */ +//#define SPINDLE_LASER_ENABLE +#if ENABLED(SPINDLE_LASER_ENABLE) + + #define SPINDLE_LASER_ENABLE_INVERT false // set to "true" if the on/off function is reversed + #define SPINDLE_LASER_PWM true // set to true if your controller supports setting the speed/power + #define SPINDLE_LASER_PWM_INVERT true // set to "true" if the speed/power goes up when you want it to go slower + #define SPINDLE_LASER_POWERUP_DELAY 5000 // delay in milliseconds to allow the spindle/laser to come up to speed/power + #define SPINDLE_LASER_POWERDOWN_DELAY 5000 // delay in milliseconds to allow the spindle to stop + #define SPINDLE_DIR_CHANGE true // set to true if your spindle controller supports changing spindle direction + #define SPINDLE_INVERT_DIR false + #define SPINDLE_STOP_ON_DIR_CHANGE true // set to true if Marlin should stop the spindle before changing rotation direction + + /** + * The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power + * + * SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT + * where PWM duty cycle varies from 0 to 255 + * + * set the following for your controller (ALL MUST BE SET) + */ + + #define SPEED_POWER_SLOPE 118.4 + #define SPEED_POWER_INTERCEPT 0 + #define SPEED_POWER_MIN 5000 + #define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM + + //#define SPEED_POWER_SLOPE 0.3922 + //#define SPEED_POWER_INTERCEPT 0 + //#define SPEED_POWER_MIN 10 + //#define SPEED_POWER_MAX 100 // 0-100% +#endif + +/** + * Filament Width Sensor + * + * Measures the filament width in real-time and adjusts + * flow rate to compensate for any irregularities. + * + * Also allows the measured filament diameter to set the + * extrusion rate, so the slicer only has to specify the + * volume. + * + * Only a single extruder is supported at this time. + * + * 34 RAMPS_14 : Analog input 5 on the AUX2 connector + * 81 PRINTRBOARD : Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 RAMBO : Analog input 3 + * + * Note: May require analog pins to be defined for other boards. + */ +//#define FILAMENT_WIDTH_SENSOR + +#if ENABLED(FILAMENT_WIDTH_SENSOR) + #define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor. :[0,1,2,3,4] + #define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber + + #define FILWIDTH_ERROR_MARGIN 1.0 // (mm) If a measurement differs too much from nominal width ignore it + #define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM. + + #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially + + // Display filament width on the LCD status line. Status messages will expire after 5 seconds. + //#define FILAMENT_LCD_DISPLAY +#endif + +/** + * CNC Coordinate Systems + * + * Enables G53 and G54-G59.3 commands to select coordinate systems + * and G92.1 to reset the workspace to native machine space. + */ +//#define CNC_COORDINATE_SYSTEMS + +/** + * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins + */ +//#define PINS_DEBUGGING + +/** + * Auto-report temperatures with M155 S + */ +#define AUTO_REPORT_TEMPERATURES + +/** + * Include capabilities in M115 output + */ +#define EXTENDED_CAPABILITIES_REPORT + +/** + * Disable all Volumetric extrusion options + */ +//#define NO_VOLUMETRICS + +#if DISABLED(NO_VOLUMETRICS) + /** + * Volumetric extrusion default state + * Activate to make volumetric extrusion the default method, + * with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter. + * + * M200 D0 to disable, M200 Dn to set a new diameter. + */ + //#define VOLUMETRIC_DEFAULT_ON +#endif + +/** + * Enable this option for a leaner build of Marlin that removes all + * workspace offsets, simplifying coordinate transformations, leveling, etc. + * + * - M206 and M428 are disabled. + * - G92 will revert to its behavior from Marlin 1.0. + */ +//#define NO_WORKSPACE_OFFSETS + +/** + * Set the number of proportional font spaces required to fill up a typical character space. + * This can help to better align the output of commands like `G29 O` Mesh Output. + * + * For clients that use a fixed-width font (like OctoPrint), leave this set to 1.0. + * Otherwise, adjust according to your client and font. + */ +#define PROPORTIONAL_FONT_RATIO 1.0 + +/** + * Spend 28 bytes of SRAM to optimize the GCode parser + */ +#define FASTER_GCODE_PARSER + +/** + * User-defined menu items that execute custom GCode + */ +//#define CUSTOM_USER_MENUS +#if ENABLED(CUSTOM_USER_MENUS) + #define USER_SCRIPT_DONE "M117 User Script Done" + #define USER_SCRIPT_AUDIBLE_FEEDBACK + //#define USER_SCRIPT_RETURN // Return to status screen after a script + + #define USER_DESC_1 "Home & UBL Info" + #define USER_GCODE_1 "G28\nG29 W" + + #define USER_DESC_2 "Preheat for PLA" + #define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) + + #define USER_DESC_3 "Preheat for ABS" + #define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) + + #define USER_DESC_4 "Heat Bed/Home/Level" + #define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29" + + #define USER_DESC_5 "Home & Info" + #define USER_GCODE_5 "G28\nM503" +#endif + +/** + * Specify an action command to send to the host when the printer is killed. + * Will be sent in the form '//action:ACTION_ON_KILL', e.g. '//action:poweroff'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_KILL "poweroff" + +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + +//=========================================================================== +//====================== I2C Position Encoder Settings ====================== +//=========================================================================== + +/** + * I2C position encoders for closed loop control. + * Developed by Chris Barr at Aus3D. + * + * Wiki: http://wiki.aus3d.com.au/Magnetic_Encoder + * Github: https://github.com/Aus3D/MagneticEncoder + * + * Supplier: http://aus3d.com.au/magnetic-encoder-module + * Alternative Supplier: http://reliabuild3d.com/ + * + * Reilabuild encoders have been modified to improve reliability. + */ + +//#define I2C_POSITION_ENCODERS +#if ENABLED(I2C_POSITION_ENCODERS) + + #define I2CPE_ENCODER_CNT 1 // The number of encoders installed; max of 5 + // encoders supported currently. + + #define I2CPE_ENC_1_ADDR I2CPE_PRESET_ADDR_X // I2C address of the encoder. 30-200. + #define I2CPE_ENC_1_AXIS X_AXIS // Axis the encoder module is installed on. _AXIS. + #define I2CPE_ENC_1_TYPE I2CPE_ENC_TYPE_LINEAR // Type of encoder: I2CPE_ENC_TYPE_LINEAR -or- + // I2CPE_ENC_TYPE_ROTARY. + #define I2CPE_ENC_1_TICKS_UNIT 2048 // 1024 for magnetic strips with 2mm poles; 2048 for + // 1mm poles. For linear encoders this is ticks / mm, + // for rotary encoders this is ticks / revolution. + //#define I2CPE_ENC_1_TICKS_REV (16 * 200) // Only needed for rotary encoders; number of stepper + // steps per full revolution (motor steps/rev * microstepping) + //#define I2CPE_ENC_1_INVERT // Invert the direction of axis travel. + #define I2CPE_ENC_1_EC_METHOD I2CPE_ECM_MICROSTEP // Type of error error correction. + #define I2CPE_ENC_1_EC_THRESH 0.10 // Threshold size for error (in mm) above which the + // printer will attempt to correct the error; errors + // smaller than this are ignored to minimize effects of + // measurement noise / latency (filter). + + #define I2CPE_ENC_2_ADDR I2CPE_PRESET_ADDR_Y // Same as above, but for encoder 2. + #define I2CPE_ENC_2_AXIS Y_AXIS + #define I2CPE_ENC_2_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_ENC_2_TICKS_UNIT 2048 + //#define I2CPE_ENC_2_TICKS_REV (16 * 200) + //#define I2CPE_ENC_2_INVERT + #define I2CPE_ENC_2_EC_METHOD I2CPE_ECM_MICROSTEP + #define I2CPE_ENC_2_EC_THRESH 0.10 + + #define I2CPE_ENC_3_ADDR I2CPE_PRESET_ADDR_Z // Encoder 3. Add additional configuration options + #define I2CPE_ENC_3_AXIS Z_AXIS // as above, or use defaults below. + + #define I2CPE_ENC_4_ADDR I2CPE_PRESET_ADDR_E // Encoder 4. + #define I2CPE_ENC_4_AXIS E_AXIS + + #define I2CPE_ENC_5_ADDR 34 // Encoder 5. + #define I2CPE_ENC_5_AXIS E_AXIS + + // Default settings for encoders which are enabled, but without settings configured above. + #define I2CPE_DEF_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_DEF_ENC_TICKS_UNIT 2048 + #define I2CPE_DEF_TICKS_REV (16 * 200) + #define I2CPE_DEF_EC_METHOD I2CPE_ECM_NONE + #define I2CPE_DEF_EC_THRESH 0.1 + + //#define I2CPE_ERR_THRESH_ABORT 100.0 // Threshold size for error (in mm) error on any given + // axis after which the printer will abort. Comment out to + // disable abort behaviour. + + #define I2CPE_TIME_TRUSTED 10000 // After an encoder fault, there must be no further fault + // for this amount of time (in ms) before the encoder + // is trusted again. + + /** + * Position is checked every time a new command is executed from the buffer but during long moves, + * this setting determines the minimum update time between checks. A value of 100 works well with + * error rolling average when attempting to correct only for skips and not for vibration. + */ + #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks. + + // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. + #define I2CPE_ERR_ROLLING_AVERAGE + +#endif // I2C_POSITION_ENCODERS + +/** + * MAX7219 Debug Matrix + * + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. + */ +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 + + /** + * Sample debug features + * If you add more debug displays, be careful to avoid conflicts! + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row + + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row + // If you experience stuttering, reboots, etc. this option can reveal how + // tweaks made to the configuration are affecting the printer in real-time. +#endif + +/** + * NanoDLP Sync support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + */ +//#define NANODLP_Z_SYNC +#if ENABLED(NANODLP_Z_SYNC) + //#define NANODLP_ALL_AXIS // Enables "Z_move_comp" output on any axis move. + // Default behaviour is limited to Z axis only. +#endif + +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + +#endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Creality/Ender-3/README.md b/Marlin/src/config/examples/Creality/Ender-3/README.md new file mode 100644 index 000000000000..e64f3ec3d298 --- /dev/null +++ b/Marlin/src/config/examples/Creality/Ender-3/README.md @@ -0,0 +1,18 @@ +# Creality Ender Support + +This branch is a reverse-engineered version based on the unpublished firmware from Creality. It is **not** the authoritative source, but has been carefully re-built by looking at their firmware and inferring the base version and configuration they used. The basis is the firmware version from "Jul 31 2017 10:16:30". It is based on Marlin 1.0.1, because + +* 1.0.0 had very different serial output in `setup()` and overall code structure. +* 1.0.2 changed the `VERSION_STRING` to include a leading space, and `lcd_init` uses `SET_INPUT` instead of `pinMode`. + +Configurations were found by seeing what code was compiled into the firmware, and constants used there. + +For U8Glib, at least version 1.14 and at most 1.17 is used, because + +* 1.12 didn't have the extra speed argument to u8g_InitCom. +* 1.13 didn't have the soft reset instruction for UC1701 initialization. +* 1.18 has a new directory structure. + +## Bitmaps + +The bootscreen and custom status screens come from Creality's firmware. diff --git a/Marlin/src/config/examples/Creality/Ender-3/_Bootscreen.h b/Marlin/src/config/examples/Creality/Ender-3/_Bootscreen.h new file mode 100644 index 000000000000..11be930e9c92 --- /dev/null +++ b/Marlin/src/config/examples/Creality/Ender-3/_Bootscreen.h @@ -0,0 +1,96 @@ +/** + * 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 . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * http://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/Marlin/src/config/examples/Creality/Ender-3/_Statusscreen.h b/Marlin/src/config/examples/Creality/Ender-3/_Statusscreen.h new file mode 100644 index 000000000000..95e8298c3e06 --- /dev/null +++ b/Marlin/src/config/examples/Creality/Ender-3/_Statusscreen.h @@ -0,0 +1,130 @@ +/** + * 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 . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * http://marlinfw.org/tools/u8glib/converter.html + */ + +#define STATUS_SCREENWIDTH 128 +#define STATUS_SCREEN_HOTEND_TEXT_X(E) (38 + (E) * 20) +#define STATUS_SCREEN_BED_TEXT_X (HOTENDS > 1 ? 81 : 73) +#define STATUS_SCREEN_FAN_TEXT_X 103 + +//============================================ + +#if HOTENDS < 2 + + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, + B11111000,B00000001,B10000000,B00000000,B00001100,B00011111,B11100000,B00000000,B00000000,B00001000,B00100000,B10000000,B00000000,B00101110,B00110001,B11010000, + B01001000,B00000000,B10000000,B00000000,B00010010,B00111111,B11110000,B00000000,B00000000,B00000100,B00010000,B01000000,B00000000,B00101111,B01111011,B11010000, + B01000011,B11000011,B10001100,B11010000,B00000010,B00111111,B11110000,B00000000,B00000000,B00000100,B00010000,B01000000,B00000000,B00101111,B01111011,B11010000, + B01110001,B00100100,B10010010,B01100111,B11001100,B00111111,B11110000,B00000000,B00000000,B00001000,B00100000,B10000000,B00000000,B00101110,B00110001,B11010000, + B01000001,B00100100,B10011110,B01000000,B00000010,B00011111,B11100000,B00000000,B00000000,B00010000,B01000001,B00000000,B00000000,B00101100,B00000000,B11010000, + B01001001,B00100100,B10010000,B01000000,B00010010,B00011111,B11100000,B00000000,B00000000,B00100000,B10000010,B00000000,B00000000,B00100000,B00110000,B00010000, + B11111011,B10110011,B11001110,B11100000,B00001100,B00111111,B11110000,B00000000,B00000000,B00100000,B10000010,B00000000,B00000000,B00100000,B01111000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11110000,B00000000,B00000000,B00010000,B01000001,B00000000,B00000000,B00100000,B11111100,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11110000,B00000000,B00000000,B00001000,B00100000,B10000000,B00000000,B00110000,B11111100,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110011,B10000111,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, + B11111000,B00000001,B10000000,B00000000,B00001100,B00011111,B11100000,B00000000,B00000000,B00001000,B00100000,B10000000,B00000000,B00100000,B00110000,B00010000, + B01001000,B00000000,B10000000,B00000000,B00010010,B00111111,B11110000,B00000000,B00000000,B00000100,B00010000,B01000000,B00000000,B00100000,B01111000,B00010000, + B01000011,B11000011,B10001100,B11010000,B00000010,B00111111,B11110000,B00000000,B00000000,B00000100,B00010000,B01000000,B00000000,B00100000,B01111000,B00010000, + B01110001,B00100100,B10010010,B01100111,B11001100,B00111111,B11110000,B00000000,B00000000,B00001000,B00100000,B10000000,B00000000,B00100000,B00110000,B00010000, + B01000001,B00100100,B10011110,B01000000,B00000010,B00011111,B11100000,B00000000,B00000000,B00010000,B01000001,B00000000,B00000000,B00101111,B00000011,B11010000, + B01001001,B00100100,B10010000,B01000000,B00010010,B00011111,B11100000,B00000000,B00000000,B00100000,B10000010,B00000000,B00000000,B00101111,B10000111,B11010000, + B11111011,B10110011,B11001110,B11100000,B00001100,B00111111,B11110000,B00000000,B00000000,B00100000,B10000010,B00000000,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11110000,B00000000,B00000000,B00010000,B01000001,B00000000,B00000000,B00100111,B10000111,B10010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11110000,B00000000,B00000000,B00001000,B00100000,B10000000,B00000000,B00110011,B10000111,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000 + }; + +#else // HOTENDS >= 2 + + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, + B11111000,B00000001,B10000000,B00000000,B00001100,B00011111,B11100000,B00000001,B11111110,B00000000,B00001000,B00100000,B10000000,B00101110,B00110001,B11010000, + B01001000,B00000000,B10000000,B00000000,B00010010,B00111110,B11110000,B00000011,B11001111,B00000000,B00000100,B00010000,B01000000,B00101111,B01111011,B11010000, + B01000011,B11000011,B10001100,B11010000,B00000010,B00111100,B11110000,B00000011,B10110111,B00000000,B00000100,B00010000,B01000000,B00101111,B01111011,B11010000, + B01110001,B00100100,B10010010,B01100111,B11001100,B00111010,B11110000,B00000011,B11110111,B00000000,B00001000,B00100000,B10000000,B00101110,B00110001,B11010000, + B01000001,B00100100,B10011110,B01000000,B00000010,B00011110,B11100000,B00000001,B11101110,B00000000,B00010000,B01000001,B00000000,B00101100,B00000000,B11010000, + B01001001,B00100100,B10010000,B01000000,B00010010,B00011110,B11100000,B00000001,B11011110,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, + B11111011,B10110011,B11001110,B11100000,B00001100,B00111110,B11110000,B00000011,B10111111,B00000000,B00100000,B10000010,B00000000,B00100000,B01111000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B11110000,B00000011,B10000111,B00000000,B00010000,B01000001,B00000000,B00100000,B11111100,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11110000,B00000011,B11111111,B00000000,B00001000,B00100000,B10000000,B00110000,B11111100,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11000000,B00000000,B11111100,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B00000000,B01111000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00000000,B00000000,B00110000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110011,B10000111,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, + B11111000,B00000001,B10000000,B00000000,B00001100,B00011111,B11100000,B00000001,B11111110,B00000000,B00001000,B00100000,B10000000,B00100000,B00110000,B00010000, + B01001000,B00000000,B10000000,B00000000,B00010010,B00111110,B11110000,B00000011,B11001111,B00000000,B00000100,B00010000,B01000000,B00100000,B01111000,B00010000, + B01000011,B11000011,B10001100,B11010000,B00000010,B00111100,B11110000,B00000011,B10110111,B00000000,B00000100,B00010000,B01000000,B00100000,B01111000,B00010000, + B01110001,B00100100,B10010010,B01100111,B11001100,B00111010,B11110000,B00000011,B11110111,B00000000,B00001000,B00100000,B10000000,B00100000,B00110000,B00010000, + B01000001,B00100100,B10011110,B01000000,B00000010,B00011110,B11100000,B00000001,B11101110,B00000000,B00010000,B01000001,B00000000,B00101111,B00000011,B11010000, + B01001001,B00100100,B10010000,B01000000,B00010010,B00011110,B11100000,B00000001,B11011110,B00000000,B00100000,B10000010,B00000000,B00101111,B10000111,B11010000, + B11111011,B10110011,B11001110,B11100000,B00001100,B00111110,B11110000,B00000011,B10111111,B00000000,B00100000,B10000010,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B11110000,B00000011,B10000111,B00000000,B00010000,B01000001,B00000000,B00100111,B10000111,B10010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11110000,B00000011,B11111111,B00000000,B00001000,B00100000,B10000000,B00110011,B10000111,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11000000,B00000000,B11111100,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B00000000,B01111000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00000000,B00000000,B00110000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 + }; + +#endif // HOTENDS >= 2 diff --git a/Marlin/src/config/examples/Creality/Ender-4/Configuration.h b/Marlin/src/config/examples/Creality/Ender-4/Configuration.h index 09dbb0e1333e..511c6ece9ab5 100644 --- a/Marlin/src/config/examples/Creality/Ender-4/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-4/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -456,15 +458,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 190 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 500 @@ -554,10 +561,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -626,15 +673,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -686,6 +732,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ #define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -715,6 +762,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -758,10 +808,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -785,6 +835,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -823,9 +874,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -889,6 +937,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1067,8 +1119,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ #define LCD_BED_LEVELING @@ -1080,6 +1132,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1353,11 +1410,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1385,19 +1441,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1424,6 +1467,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1488,12 +1540,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1517,40 +1575,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1559,28 +1583,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1588,39 +1590,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1667,6 +1658,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1687,25 +1755,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1721,6 +1775,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1742,6 +1803,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1801,7 +1890,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h index 65f6557b09ef..e8a56d519aa2 100644 --- a/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view #define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Einstart-S/Configuration.h b/Marlin/src/config/examples/Einstart-S/Configuration.h new file mode 100644 index 000000000000..7222773dba98 --- /dev/null +++ b/Marlin/src/config/examples/Einstart-S/Configuration.h @@ -0,0 +1,1945 @@ +/** + * 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 . + * + */ + +/** + * Configuration.h + * + * Basic settings such as: + * + * - Type of electronics + * - Type of temperature sensor + * - Printer geometry + * - Endstop configuration + * - LCD controller + * - Extra features + * + * Advanced settings can be found in Configuration_adv.h + * + */ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H +#define CONFIGURATION_H_VERSION 020000 + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== + +/** + * Here are some standard links for getting your machine calibrated: + * + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 + */ + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer start with one of the configuration files in the +// config/examples/delta directory and customize for your machine. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a SCARA printer start with the configuration files in +// config/examples/SCARA and customize for your machine. +// + +// @section info + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_CONFIG_H_AUTHOR "elsie tech corp" // Who made the changes. +#define SHOW_BOOTSCREEN +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 + +/** + * *** VENDORS PLEASE READ *** + * + * Marlin allows you to add a custom boot image for Graphical LCDs. + * With this option Marlin will first show your custom screen followed + * by the standard Marlin logo with version number and web URL. + * + * We encourage you to take advantage of this new feature and we also + * respecfully request that you retain the unmodified Marlin boot screen. + */ + +// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +//#define SHOW_CUSTOM_BOOTSCREEN + +// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +//#define CUSTOM_STATUS_SCREEN_IMAGE + +// @section machine + +/** + * Select the serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +#define SERIAL_PORT 0 + +/** + * Select a secondary serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Serial port -1 is the USB emulated serial port, if available. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +//#define SERIAL_PORT_2 -1 + +/** + * This setting determines the communication speed of the printer. + * + * 250000 works in most cases, but you might try a lower speed if + * you commonly experience drop-outs during host printing. + * You may try up to 1000000 to speed up SD file transfer. + * + * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] + */ +#define BAUDRATE 250000 + +// Enable the Bluetooth serial interface on AT90USB devices +//#define BLUETOOTH + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_EINSTART_S +#endif + +// Optional custom name for your RepStrap or other custom machine +// Displayed in the LCD "Ready" message +#define CUSTOM_MACHINE_NAME "The Shining" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// @section extruder + +// This defines the number of extruders +// :[1, 2, 3, 4, 5] +#define EXTRUDERS 1 + +// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc. +#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 + +// For Cyclops or any "multi-extruder" that shares a single nozzle. +//#define SINGLENOZZLE + +/** + * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. + * + * This device allows one stepper driver on a control board to drive + * two to eight stepper motors, one at a time, in a manner suitable + * for extruders. + * + * This option only allows the multiplexer to switch on tool-change. + * Additional options to configure custom E moves are pending. + */ +//#define MK2_MULTIPLEXER +#if ENABLED(MK2_MULTIPLEXER) + // Override the default DIO selector pins here, if needed. + // Some pins files may provide defaults for these pins. + //#define E_MUX0_PIN 40 // Always Required + //#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers + //#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers +#endif + +// A dual extruder that uses a single stepper motor +//#define SWITCHING_EXTRUDER +#if ENABLED(SWITCHING_EXTRUDER) + #define SWITCHING_EXTRUDER_SERVO_NR 0 + #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3] + #if EXTRUDERS > 3 + #define SWITCHING_EXTRUDER_E23_SERVO_NR 1 + #endif +#endif + +// A dual-nozzle that uses a servomotor to raise/lower one of the nozzles +//#define SWITCHING_NOZZLE +#if ENABLED(SWITCHING_NOZZLE) + #define SWITCHING_NOZZLE_SERVO_NR 0 + #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1 + //#define HOTEND_OFFSET_Z { 0.0, 0.0 } +#endif + +/** + * Two separate X-carriages with extruders that connect to a moving part + * via a magnetic docking mechanism. Requires SOL1_PIN and SOL2_PIN. + */ +//#define PARKING_EXTRUDER +#if ENABLED(PARKING_EXTRUDER) + #define PARKING_EXTRUDER_SOLENOIDS_INVERT // If enabled, the solenoid is NOT magnetized with applied voltage + #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW // LOW or HIGH pin signal energizes the coil + #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250 // Delay (ms) for magnetic field. No delay if 0 or not defined. + #define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders + #define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder + #define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking + #define HOTEND_OFFSET_Z { 0.0, 1.3 } // Z-offsets of the two hotends. The first must be 0. +#endif + +/** + * "Mixing Extruder" + * - Adds a new code, M165, to set the current mix factors. + * - Extends the stepping routines to move multiple steppers in proportion to the mix. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. + * - This implementation supports only a single extruder. + * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation + */ +//#define MIXING_EXTRUDER +#if ENABLED(MIXING_EXTRUDER) + #define MIXING_STEPPERS 2 // Number of steppers in your mixing extruder + #define MIXING_VIRTUAL_TOOLS 16 // Use the Virtual Tool method with M163 and M164 + //#define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands +#endif + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +//#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis +//#define HOTEND_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +// @section machine + +/** + * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN + * + * 0 = No Power Switch + * 1 = ATX + * 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) + * + * :{ 0:'No power switch', 1:'ATX', 2:'X-Box 360' } + */ +#define POWER_SUPPLY 0 + +#if POWER_SUPPLY > 0 + // Enable this option to leave the PSU off at startup. + // Power to steppers and heaters will need to be turned on with M80. + //#define PS_DEFAULT_OFF + + //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin + #if ENABLED(AUTO_POWER_CONTROL) + #define AUTO_POWER_FANS // Turn on PSU if fans need power + #define AUTO_POWER_E_FANS + #define AUTO_POWER_CONTROLLERFAN + #define POWER_TIMEOUT 30 + #endif + +#endif + +// @section temperature + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== + +/** + * --NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table + * + * Temperature sensors available: + * + * -4 : thermocouple with AD8495 + * -3 : thermocouple with MAX31855 (only for sensor 0) + * -2 : thermocouple with MAX6675 (only for sensor 0) + * -1 : thermocouple with AD595 + * 0 : not used + * 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup) + * 2 : 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) + * 3 : Mendel-parts thermistor (4.7k pullup) + * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! + * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor + * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) + * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) + * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) + * 8 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) + * 9 : 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) + * 10 : 100k RS thermistor 198-961 (4.7k pullup) + * 11 : 100k beta 3950 1% thermistor (4.7k pullup) + * 12 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) + * 13 : 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" + * 15 : 100k thermistor calibration for JGAurora A5 hotend + * 20 : the PT100 circuit found in the Ultimainboard V2.x + * 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 + * 66 : 4.7M High Temperature thermistor from Dyze Design + * 70 : the 100K thermistor found in the bq Hephestos 2 + * 75 : 100k Generic Silicon Heat Pad with NTC 100K MGB18-104F39050L32 thermistor + * + * 1k ohm pullup tables - This is atypical, and requires changing out the 4.7k pullup for 1k. + * (but gives greater accuracy and more stable PID) + * 51 : 100k thermistor - EPCOS (1k pullup) + * 52 : 200k thermistor - ATC Semitec 204GT-2 (1k pullup) + * 55 : 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) + * + * 1047 : Pt1000 with 4k7 pullup + * 1010 : Pt1000 with 1k pullup (non standard) + * 147 : Pt100 with 4k7 pullup + * 110 : Pt100 with 1k pullup (non standard) + * + * Use these for Testing or Development purposes. NEVER for production machine. + * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. + * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. + * + * 666 : Custom table generated for 200K thermistor with 10k pullup on Einstart S + * + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + */ +#define TEMP_SENSOR_0 666 +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_BED 0 +#define TEMP_SENSOR_CHAMBER 0 + +// Dummy thermistor constant temperature readings, for use with 998 and 999 +#define DUMMY_THERMISTOR_998_VALUE 25 +#define DUMMY_THERMISTOR_999_VALUE 100 + +// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings +// from the two sensors differ too much the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Extruder temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// Bed temperature must be close to target for this long before M190 returns success +#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) +#define TEMP_BED_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_BED_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define HEATER_4_MINTEMP 5 +#define BED_MINTEMP 5 + +// When temperature exceeds max temp, your heater will be switched off. +// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! +// You should use MINTEMP for thermistor short/failure protection. +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define HEATER_4_MAXTEMP 275 +#define BED_MAXTEMP 150 + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#define PID_K1 0.95 // Smoothing factor within any PID loop +#if ENABLED(PIDTEMP) + //#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result. + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + + // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it + + // Einstart S + // Autotune M303 S180 C8 + #define DEFAULT_Kp 15.31 + #define DEFAULT_Ki 0.93 + #define DEFAULT_Kd 63.03 + + // Ultimaker + //#define DEFAULT_Kp 22.2 + //#define DEFAULT_Ki 1.08 + //#define DEFAULT_Kd 114 + + // MakerGear + //#define DEFAULT_Kp 7.0 + //#define DEFAULT_Ki 0.1 + //#define DEFAULT_Kd 12 + + // Mendel Parts V9 on 12V + //#define DEFAULT_Kp 63.0 + //#define DEFAULT_Ki 2.25 + //#define DEFAULT_Kd 440 + +#endif // PIDTEMP + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== + +/** + * PID Bed Heating + * + * If this option is enabled set PID constants below. + * If this option is disabled, bang-bang will be used and BED_LIMIT_SWITCHING will enable hysteresis. + * + * The PID frequency will be the same as the extruder PWM. + * If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz, + * which is fine for driving a square wave into a resistive load and does not significantly + * impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W + * heater. If your configuration is significantly different than this and you don't understand + * the issues involved, don't use bed PID until someone else verifies that your hardware works. + */ +//#define PIDTEMPBED + +//#define BED_LIMIT_SWITCHING + +/** + * Max Bed Power + * Applies to all forms of bed control (PID, bang-bang, and bang-bang with hysteresis). + * When set to any value below 255, enables a form of PWM to the bed that acts like a divider + * so don't use it unless you are OK with PWM on your bed. (See the comment on enabling PIDTEMPBED) + */ +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +#if ENABLED(PIDTEMPBED) + + //#define PID_BED_DEBUG // Sends debug data to the serial port. + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from pidautotune + //#define DEFAULT_bedKp 97.1 + //#define DEFAULT_bedKi 1.41 + //#define DEFAULT_bedKd 1675.16 + + // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + +// @section extruder + +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ +#define PREVENT_COLD_EXTRUSION +#define EXTRUDE_MINTEMP 170 + +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ +#define PREVENT_LENGTHY_EXTRUDE +#define EXTRUDE_MAXLENGTH 200 + +//=========================================================================== +//======================== Thermal Runaway Protection ======================= +//=========================================================================== + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * If you get "Thermal Runaway" or "Heating failed" errors the + * details can be tuned in Configuration_adv.h + */ + +#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders +#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// @section machine + +// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics +// either in the usual order or reversed +//#define COREXY +//#define COREXZ +//#define COREYZ +//#define COREYX +//#define COREZX +//#define COREZY + +//=========================================================================== +//============================== Endstop Settings =========================== +//=========================================================================== + +// @section homing + +// Specify here all the endstop connectors that are connected to any endstop or probe. +// Almost all printers will be using one per axis. Probes will use one or more of the +// extra connectors. Leave undefined any used for non-endstop and non-probe purposes. +#define USE_XMIN_PLUG +#define USE_YMIN_PLUG +//#define USE_ZMIN_PLUG +//#define USE_XMAX_PLUG +//#define USE_YMAX_PLUG +#define USE_ZMAX_PLUG + +// Enable pullup for all endstops to prevent a floating state +#define ENDSTOPPULLUPS +#if DISABLED(ENDSTOPPULLUPS) + // Disable ENDSTOPPULLUPS to set pullups individually + //#define ENDSTOPPULLUP_XMAX + //#define ENDSTOPPULLUP_YMAX + //#define ENDSTOPPULLUP_ZMAX + //#define ENDSTOPPULLUP_XMIN + //#define ENDSTOPPULLUP_YMIN + //#define ENDSTOPPULLUP_ZMIN + //#define ENDSTOPPULLUP_ZMIN_PROBE +#endif + +// Enable pulldown for all endstops to prevent a floating state +//#define ENDSTOPPULLDOWNS +#if DISABLED(ENDSTOPPULLDOWNS) + // Disable ENDSTOPPULLDOWNS to set pulldowns individually + //#define ENDSTOPPULLDOWN_XMAX + //#define ENDSTOPPULLDOWN_YMAX + //#define ENDSTOPPULLDOWN_ZMAX + //#define ENDSTOPPULLDOWN_XMIN + //#define ENDSTOPPULLDOWN_YMIN + //#define ENDSTOPPULLDOWN_ZMIN + //#define ENDSTOPPULLDOWN_ZMIN_PROBE +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +//#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +//#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +//#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +//#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. + +#define X_STOP_INVERTING true +#define Y_STOP_INVERTING true +#define Z_STOP_INVERTING true + +// Enable this feature if all enabled endstop pins are interrupt-capable. +// This will remove the need to poll the interrupt pins, saving many CPU cycles. +//#define ENDSTOP_INTERRUPTS_FEATURE + +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + +//============================================================================= +//============================== Movement Settings ============================ +//============================================================================= +// @section motion + +/** + * Default Settings + * + * These settings can be reset by M502 + * + * Note that if EEPROM is enabled, saved values will override these. + */ + +/** + * With this option each E stepper can have its own factors for the + * following movement settings. If fewer factors are given than the + * total number of extruders, the last value applies to the rest. + */ +//#define DISTINCT_E_FACTORS + +/** + * Default Axis Steps Per Unit (steps/mm) + * Override with M92 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 80, 96.337120 } + +/** + * Default Max Feed Rate (mm/s) + * Override with M203 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } + +/** + * Default Max Acceleration (change/s) change = mm/s + * (Maximum start speed for accelerated moves) + * Override with M201 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_MAX_ACCELERATION { 2000, 2000, 100, 10000 } + +/** + * Default Acceleration (change/s) change = mm/s + * Override with M204 + * + * M204 P Acceleration + * M204 R Retract Acceleration + * M204 T Travel Acceleration + */ +#define DEFAULT_ACCELERATION 2000 // X, Y, Z and E acceleration for printing moves +#define DEFAULT_RETRACT_ACCELERATION 2000 // E acceleration for retracts +#define DEFAULT_TRAVEL_ACCELERATION 2000 // X, Y, Z acceleration for travel (non printing) moves + +/** + * Default Jerk (mm/s) + * Override with M205 X Y Z E + * + * "Jerk" specifies the minimum speed change that requires acceleration. + * When changing speed and direction, if the difference is less than the + * value set here, it may happen instantaneously. + */ +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 +#define DEFAULT_EJERK 5.0 + +/** + * S-Curve Acceleration + * + * This option eliminates vibration during printing by fitting a Bézier + * curve to move acceleration, producing much smoother direction changes. + * + * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained + */ +#define S_CURVE_ACCELERATION + +//=========================================================================== +//============================= Z Probe Options ============================= +//=========================================================================== +// @section probes + +// +// See http://marlinfw.org/docs/configuration/probes.html +// + +/** + * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + * + * Enable this option for a probe connected to the Z Min endstop pin. + */ +//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + +/** + * Z_MIN_PROBE_ENDSTOP + * + * Enable this option for a probe connected to any pin except Z-Min. + * (By default Marlin assumes the Z-Max endstop pin.) + * To use a custom Z Probe pin, set Z_MIN_PROBE_PIN below. + * + * - The simplest option is to use a free endstop connector. + * - Use 5V for powered (usually inductive) sensors. + * + * - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin: + * - For simple switches connect... + * - normally-closed switches to GND and D32. + * - normally-open switches to 5V and D32. + * + * WARNING: Setting the wrong pin may have unexpected and potentially + * disastrous consequences. Use with caution and do your homework. + * + */ +//#define Z_MIN_PROBE_ENDSTOP + +/** + * Probe Type + * + * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. + * Activate one of these to use Auto Bed Leveling below. + */ + +/** + * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. + * Use G29 repeatedly, adjusting the Z height at each point with movement commands + * or (with LCD_BED_LEVELING) the LCD controller. + */ +//#define PROBE_MANUALLY + +/** + * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. + * (e.g., an inductive probe or a nozzle-based probe-switch.) + */ +//#define FIX_MOUNTED_PROBE + +/** + * Z Servo Probe, such as an endstop switch on a rotating arm. + */ +//#define Z_PROBE_SERVO_NR 0 // Defaults to SERVO 0 connector. +//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles + +/** + * The BLTouch probe uses a Hall effect sensor and emulates a servo. + */ +//#define BLTOUCH +#if ENABLED(BLTOUCH) + //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed +#endif + +/** + * Enable one or more of the following if probing seems unreliable. + * Heaters and/or fans can be disabled during probing to minimize electrical + * noise. A delay can also be added to allow noise and vibration to settle. + * These options are most useful for the BLTouch probe, but may also improve + * readings with inductive probes and piezo sensors. + */ +//#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif +//#define PROBING_FANS_OFF // Turn fans off when probing +//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors + +// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) +//#define SOLENOID_PROBE + +// A sled-mounted probe like those designed by Charles Bell. +//#define Z_PROBE_SLED +//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + +// +// For Z_PROBE_ALLEN_KEY see the Delta example configurations. +// + +/** + * Z Probe to nozzle (X,Y) offset, relative to (0, 0). + * X and Y offsets must be integers. + * + * In the following example the X and Y offsets are both positive: + * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 + * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * +-- BACK ---+ + * | | + * L | (+) P | R <-- probe (20,20) + * E | | I + * F | (-) N (+) | G <-- nozzle (10,10) + * T | | H + * | (-) | T + * | | + * O-- FRONT --+ + * (0,0) + */ +#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] +#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] +#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + +// Certain types of probes need to stay away from edges +#define MIN_PROBE_EDGE 10 + +// X and Y axis travel speed (mm/m) between probes +#define XY_PROBE_SPEED 8000 + +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) +#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z + +// Feedrate (mm/m) for the "accurate" probe of each point +#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) + +// The number of probes to perform at each point. +// Set to 2 for a fast/slow probe, using the second probe result. +// Set to 3 or more for slow probes, averaging the results. +//#define MULTIPLE_PROBING 2 + +/** + * Z probes require clearance when deploying, stowing, and moving between + * probe points to avoid hitting the bed and other hardware. + * Servo-mounted probes require extra space for the arm to rotate. + * Inductive probes need space to keep from triggering early. + * + * Use these settings to specify the distance (mm) to raise the probe (or + * lower the bed). The values set here apply over and above any (negative) + * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * Only integer values >= 1 are valid here. + * + * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. + * But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle. + */ +#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow +#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +//#define Z_AFTER_PROBING 5 // Z position after probing is done + +#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping + +// For M851 give a range for adjusting the Z probe offset +#define Z_PROBE_OFFSET_RANGE_MIN -20 +#define Z_PROBE_OFFSET_RANGE_MAX 20 + +// Enable the M48 repeatability test to test probe accuracy +//#define Z_MIN_PROBE_REPEATABILITY_TEST + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +// :{ 0:'Low', 1:'High' } +#define X_ENABLE_ON 1 +#define Y_ENABLE_ON 1 +#define Z_ENABLE_ON 1 +#define E_ENABLE_ON 1 // For all extruders + +// Disables axis stepper immediately when it's not being used. +// WARNING: When motors turn off there is a chance of losing position accuracy! +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define DISABLE_REDUCED_ACCURACY_WARNING + +// @section extruder + +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER true // Keep only the active extruder enabled. + +// @section machine + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR true +#define INVERT_Y_DIR false +#define INVERT_Z_DIR true + +// @section extruder + +// For direct drive extruder v9 set to true, for geared extruder set to false. +#define INVERT_E0_DIR false +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false +#define INVERT_E4_DIR false + +// @section homing + +//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed + +#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off. + +//#define Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ... + // Be sure you have this distance over your Z_MAX_POS in case. + +// Direction of endstops when homing; 1=MAX, -1=MIN +// :[-1,1] +#define X_HOME_DIR -1 +#define Y_HOME_DIR -1 +#define Z_HOME_DIR 1 + +// @section machine + +// The size of the print bed +#define X_BED_SIZE 160 +#define Y_BED_SIZE 160 + +// Travel limits (mm) after homing, corresponding to endstop positions. +#define X_MIN_POS 0 +#define Y_MIN_POS 0 +#define Z_MIN_POS 0 +#define X_MAX_POS X_BED_SIZE +#define Y_MAX_POS Y_BED_SIZE +#define Z_MAX_POS 165 + +/** + * Software Endstops + * + * - Prevent moves outside the set machine bounds. + * - Individual axes can be disabled, if desired. + * - X and Y only apply to Cartesian robots. + * - Use 'M211' to set software endstops on/off or report current state + */ + +// Min software endstops constrain movement within minimum coordinate bounds +#define MIN_SOFTWARE_ENDSTOPS +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) + #define MIN_SOFTWARE_ENDSTOP_X + #define MIN_SOFTWARE_ENDSTOP_Y + #define MIN_SOFTWARE_ENDSTOP_Z +#endif + +// Max software endstops constrain movement within maximum coordinate bounds +#define MAX_SOFTWARE_ENDSTOPS +#if ENABLED(MAX_SOFTWARE_ENDSTOPS) + #define MAX_SOFTWARE_ENDSTOP_X + #define MAX_SOFTWARE_ENDSTOP_Y + #define MAX_SOFTWARE_ENDSTOP_Z +#endif + +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + +/** + * Filament Runout Sensors + * Mechanical or opto endstops are used to check for the presence of filament. + * + * RAMPS-based boards use SERVO3_PIN for the first runout sensor. + * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. + * By default the firmware assumes HIGH=FILAMENT PRESENT. + */ +//#define FILAMENT_RUNOUT_SENSOR +#if ENABLED(FILAMENT_RUNOUT_SENSOR) + #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. + #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. + //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. + #define FILAMENT_RUNOUT_SCRIPT "M600" +#endif + +//=========================================================================== +//=============================== Bed Leveling ============================== +//=========================================================================== +// @section calibrate + +/** + * Choose one of the options below to enable G29 Bed Leveling. The parameters + * and behavior of G29 will change depending on your selection. + * + * If using a Probe for Z Homing, enable Z_SAFE_HOMING also! + * + * - AUTO_BED_LEVELING_3POINT + * Probe 3 arbitrary points on the bed (that aren't collinear) + * You specify the XY coordinates of all 3 points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_LINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_BILINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a mesh, best for large or uneven beds. + * + * - AUTO_BED_LEVELING_UBL (Unified Bed Leveling) + * A comprehensive bed leveling system combining the features and benefits + * of other systems. UBL also includes integrated Mesh Generation, Mesh + * Validation and Mesh Editing systems. + * + * - MESH_BED_LEVELING + * Probe a grid manually + * The result is a mesh, suitable for large or uneven beds. (See BILINEAR.) + * For machines without a probe, Mesh Bed Leveling provides a method to perform + * leveling in steps so you can manually adjust the Z height at each grid-point. + * With an LCD controller the process is guided step-by-step. + */ +//#define AUTO_BED_LEVELING_3POINT +//#define AUTO_BED_LEVELING_LINEAR +//#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL +//#define MESH_BED_LEVELING + +/** + * Normally G28 leaves leveling disabled on completion. Enable + * this option to have G28 restore the prior leveling state. + */ +//#define RESTORE_LEVELING_AFTER_G28 + +/** + * Enable detailed logging of G28, G29, M48, etc. + * Turn on with the command 'M111 S32'. + * NOTE: Requires a lot of PROGMEM! + */ +//#define DEBUG_LEVELING_FEATURE + +#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL) + // Gradually reduce leveling correction until a set height is reached, + // at which point movement will be level to the machine's XY plane. + // The height can be set with M420 Z + #define ENABLE_LEVELING_FADE_HEIGHT + + // For Cartesian machines, instead of dividing moves on mesh boundaries, + // split up moves into short segments like a Delta. This follows the + // contours of the bed more closely than edge-to-edge straight moves. + #define SEGMENT_LEVELED_MOVES + #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one) + + /** + * Enable the G26 Mesh Validation Pattern tool. + */ + //#define G26_MESH_VALIDATION + #if ENABLED(G26_MESH_VALIDATION) + #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. + #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool. + #define MESH_TEST_HOTEND_TEMP 205.0 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool. + #define MESH_TEST_BED_TEMP 60.0 // (°C) Default bed temperature for the G26 Mesh Validation Tool. + #endif + +#endif + +#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Set the number of grid points per dimension. + #define GRID_MAX_POINTS_X 3 + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + // Set the boundaries for probing (where the probe can reach). + //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE) + //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE) + + // Probe along the Y axis, advancing X after each column + //#define PROBE_Y_FIRST + + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Beyond the probed grid, continue the implied tilt? + // Default is to maintain the height of the nearest edge. + //#define EXTRAPOLATE_BEYOND_GRID + + // + // Experimental Subdivision of the grid by Catmull-Rom method. + // Synthesizes intermediate points to produce a more detailed mesh. + // + //#define ABL_BILINEAR_SUBDIVISION + #if ENABLED(ABL_BILINEAR_SUBDIVISION) + // Number of subdivisions between probe points + #define BILINEAR_SUBDIVISIONS 3 + #endif + + #endif + +#elif ENABLED(AUTO_BED_LEVELING_UBL) + + //=========================================================================== + //========================= Unified Bed Leveling ============================ + //=========================================================================== + + //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh + + #define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle + #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 + + //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used + // as the Z-Height correction value. + +#elif ENABLED(MESH_BED_LEVELING) + + //=========================================================================== + //=================================== Mesh ================================== + //=========================================================================== + + #define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS + +#endif // BED_LEVELING + +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. + */ +//#define LCD_BED_LEVELING + +#if ENABLED(LCD_BED_LEVELING) + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. + #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment +#endif + +// Add a menu item to move between bed corners for manual bed adjustment +//#define LEVEL_BED_CORNERS + +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + +/** + * Commands to execute at the end of G29 probing. + * Useful to retract or move the Z probe out of the way. + */ +//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" + + +// @section homing + +// The center of the bed is at (X=0, Y=0) +//#define BED_CENTER_AT_0_0 + +// Manually set the home position. Leave these undefined for automatic settings. +// For DELTA this is the top-center of the Cartesian print volume. +//#define MANUAL_X_HOME_POS 0 +//#define MANUAL_Y_HOME_POS 0 +//#define MANUAL_Z_HOME_POS 0 + +// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. +// +// With this feature enabled: +// +// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. +// - If stepper drivers time out, it will need X and Y homing again before Z homing. +// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28). +// - Prevent Z homing when the Z probe is outside bed area. +// +//#define Z_SAFE_HOMING + +#if ENABLED(Z_SAFE_HOMING) + #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28). +#endif + +// Homing speeds (mm/m) +#define HOMING_FEEDRATE_XY (50*60) +#define HOMING_FEEDRATE_Z (4*60) + +// @section calibrate + +/** + * Bed Skew Compensation + * + * This feature corrects for misalignment in the XYZ axes. + * + * Take the following steps to get the bed skew in the XY plane: + * 1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185) + * 2. For XY_DIAG_AC measure the diagonal A to C + * 3. For XY_DIAG_BD measure the diagonal B to D + * 4. For XY_SIDE_AD measure the edge A to D + * + * Marlin automatically computes skew factors from these measurements. + * Skew factors may also be computed and set manually: + * + * - Compute AB : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2 + * - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD))) + * + * If desired, follow the same procedure for XZ and YZ. + * Use these diagrams for reference: + * + * Y Z Z + * ^ B-------C ^ B-------C ^ B-------C + * | / / | / / | / / + * | / / | / / | / / + * | A-------D | A-------D | A-------D + * +-------------->X +-------------->X +-------------->Y + * XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR + */ +//#define SKEW_CORRECTION + +#if ENABLED(SKEW_CORRECTION) + // Input all length measurements here: + #define XY_DIAG_AC 282.8427124746 + #define XY_DIAG_BD 282.8427124746 + #define XY_SIDE_AD 200 + + // Or, set the default skew factors directly here + // to override the above measurements: + #define XY_SKEW_FACTOR 0.0 + + //#define SKEW_CORRECTION_FOR_Z + #if ENABLED(SKEW_CORRECTION_FOR_Z) + #define XZ_DIAG_AC 282.8427124746 + #define XZ_DIAG_BD 282.8427124746 + #define YZ_DIAG_AC 282.8427124746 + #define YZ_DIAG_BD 282.8427124746 + #define YZ_SIDE_AD 200 + #define XZ_SKEW_FACTOR 0.0 + #define YZ_SKEW_FACTOR 0.0 + #endif + + // Enable this option for M852 to set skew at runtime + //#define SKEW_CORRECTION_GCODE +#endif + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// @section extras + +// +// EEPROM +// +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters in EEPROM +// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +// +#define EEPROM_SETTINGS // Enable for M500 and M501 commands +//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release! +#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. + +// +// Host Keepalive +// +// When enabled Marlin will send a busy status message to the host +// every couple of seconds when it can't accept commands. +// +#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages +#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113. +#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating + +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // Add M100 (Free Memory Watcher) to debug memory usage + +// +// G20/G21 Inch mode support +// +//#define INCH_MODE_SUPPORT + +// +// M149 Set temperature units support +// +//#define TEMPERATURE_UNITS_SUPPORT + +// @section temperature + +// Preheat Constants +#define PREHEAT_1_TEMP_HOTEND 180 +#define PREHEAT_1_TEMP_BED 70 +#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 + +#define PREHEAT_2_TEMP_HOTEND 240 +#define PREHEAT_2_TEMP_BED 110 +#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 + +/** + * Nozzle Park + * + * Park the nozzle at the given XYZ position on idle or G27. + * + * The "P" parameter controls the action applied to the Z axis: + * + * P0 (Default) If Z is below park Z raise the nozzle. + * P1 Raise the nozzle always to Z-park height. + * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. + */ +//#define NOZZLE_PARK_FEATURE + +#if ENABLED(NOZZLE_PARK_FEATURE) + // Specify a park position as { X, Y, Z } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) +#endif + +/** + * Clean Nozzle Feature -- EXPERIMENTAL + * + * Adds the G12 command to perform a nozzle cleaning process. + * + * Parameters: + * P Pattern + * S Strokes / Repetitions + * T Triangles (P1 only) + * + * Patterns: + * P0 Straight line (default). This process requires a sponge type material + * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) + * between the start / end points. + * + * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the + * number of zig-zag triangles to do. "S" defines the number of strokes. + * Zig-zags are done in whichever is the narrower dimension. + * For example, "G12 P1 S1 T3" will execute: + * + * -- + * | (X0, Y1) | /\ /\ /\ | (X1, Y1) + * | | / \ / \ / \ | + * A | | / \ / \ / \ | + * | | / \ / \ / \ | + * | (X0, Y0) | / \/ \/ \ | (X1, Y0) + * -- +--------------------------------+ + * |________|_________|_________| + * T1 T2 T3 + * + * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. + * "R" specifies the radius. "S" specifies the stroke count. + * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. + * + * Caveats: The ending Z should be the same as starting Z. + * Attention: EXPERIMENTAL. G-code arguments may change. + * + */ +//#define NOZZLE_CLEAN_FEATURE + +#if ENABLED(NOZZLE_CLEAN_FEATURE) + // Default number of pattern repetitions + #define NOZZLE_CLEAN_STROKES 12 + + // Default number of triangles + #define NOZZLE_CLEAN_TRIANGLES 3 + + // Specify positions as { X, Y, Z } + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_END_POINT {100, 60, (Z_MIN_POS + 1)} + + // Circular pattern radius + #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5 + // Circular pattern circle fragments number + #define NOZZLE_CLEAN_CIRCLE_FN 10 + // Middle point of circle + #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT + + // Moves the nozzle to the initial position + #define NOZZLE_CLEAN_GOBACK +#endif + +/** + * Print Job Timer + * + * Automatically start and stop the print job timer on M104/M109/M190. + * + * M104 (hotend, no wait) - high temp = none, low temp = stop timer + * M109 (hotend, wait) - high temp = start timer, low temp = stop timer + * M190 (bed, wait) - high temp = start timer, low temp = none + * + * The timer can also be controlled with the following commands: + * + * M75 - Start the print job timer + * M76 - Pause the print job timer + * M77 - Stop the print job timer + */ +#define PRINTJOB_TIMER_AUTOSTART + +/** + * Print Counter + * + * Track statistical data such as: + * + * - Total print jobs + * - Total successful print jobs + * - Total failed print jobs + * - Total time printing + * + * View the current statistics with M78. + */ +//#define PRINTCOUNTER + +//============================================================================= +//============================= LCD and SD support ============================ +//============================================================================= + +// @section lcd + +/** + * LCD LANGUAGE + * + * Select the language to display on the LCD. These languages are available: + * + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', '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 + +/** + * LCD Character Set + * + * Note: This option is NOT applicable to Graphical Displays. + * + * All character-based LCDs provide ASCII plus one of these + * language extensions: + * + * - JAPANESE ... the most common + * - WESTERN ... with more accented characters + * - CYRILLIC ... for the Russian language + * + * To determine the language extension installed on your controller: + * + * - Compile and upload with LCD_LANGUAGE set to 'test' + * - Click the controller to view the LCD menu + * - The LCD will display Japanese, Western, or Cyrillic text + * + * See http://marlinfw.org/docs/development/lcd_language.html + * + * :['JAPANESE', 'WESTERN', 'CYRILLIC'] + */ +#define DISPLAY_CHARSET_HD44780 JAPANESE + +/** + * SD CARD + * + * SD Card support is disabled by default. If your controller has an SD slot, + * you must uncomment the following option or it won't work. + * + */ +#define SDSUPPORT + +/** + * SD CARD: SPI SPEED + * + * Enable one of the following items for a slower SPI transfer speed. + * This may be required to resolve "volume init" errors. + */ +//#define SPI_SPEED SPI_HALF_SPEED +//#define SPI_SPEED SPI_QUARTER_SPEED +//#define SPI_SPEED SPI_EIGHTH_SPEED + +/** + * SD CARD: ENABLE CRC + * + * Use CRC checks and retries on the SD communication. + */ +//#define SD_CHECK_AND_RETRY + +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + +// +// ENCODER SETTINGS +// +// This option overrides the default number of encoder pulses needed to +// produce one step. Should be increased for high-resolution encoders. +// +//#define ENCODER_PULSES_PER_STEP 4 + +// +// Use this option to override the number of step signals required to +// move between next/prev menu items. +// +//#define ENCODER_STEPS_PER_MENU_ITEM 1 + +/** + * Encoder Direction Options + * + * Test your encoder's behavior first with both options disabled. + * + * Reversed Value Edit and Menu Nav? Enable REVERSE_ENCODER_DIRECTION. + * Reversed Menu Navigation only? Enable REVERSE_MENU_DIRECTION. + * Reversed Value Editing only? Enable BOTH options. + */ + +// +// This option reverses the encoder direction everywhere. +// +// Set this option if CLOCKWISE causes values to DECREASE +// +//#define REVERSE_ENCODER_DIRECTION + +// +// This option reverses the encoder direction for navigating LCD menus. +// +// If CLOCKWISE normally moves DOWN this makes it go UP. +// If CLOCKWISE normally moves UP this makes it go DOWN. +// +//#define REVERSE_MENU_DIRECTION + +// +// Individual Axis Homing +// +// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. +// +//#define INDIVIDUAL_AXIS_HOMING_MENU + +// +// SPEAKER/BUZZER +// +// If you have a speaker that can produce tones, enable it here. +// By default Marlin assumes you have a buzzer with a fixed frequency. +// +//#define SPEAKER + +// +// The duration and frequency for the UI feedback sound. +// Set these to 0 to disable audio feedback in the LCD menus. +// +// Note: Test audio output with the G-Code: +// M300 S P +// +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 +//#define LCD_FEEDBACK_FREQUENCY_HZ 5000 + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + +// +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +// +// Note: Usually sold with a white PCB. +// +//#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// +// Original RADDS LCD Display+Encoder+SDCardReader +// http://doku.radds.org/dokumentation/lcd-display/ +// +//#define RADDS_DISPLAY + +// +// ULTIMAKER Controller. +// +//#define ULTIMAKERCONTROLLER + +// +// ULTIPANEL as seen on Thingiverse. +// +//#define ULTIPANEL + +// +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +// +//#define PANEL_ONE + +// +// GADGETS3D G3D LCD/SD Controller +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +// +// Note: Usually sold with a blue PCB. +// +//#define G3D_PANEL + +// +// RigidBot Panel V1.0 +// http://www.inventapart.com/ +// +//#define RIGIDBOT_PANEL + +// +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html +// +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 + +// +// ANET and Tronxy 20x4 Controller +// +//#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. + // This LCD is known to be susceptible to electrical interference + // which scrambles the display. Pressing any button clears it up. + // This is a LCD2004 display with 5 analog buttons. + +// +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. +// +//#define ULTRA_LCD + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= + +// +// CONTROLLER TYPE: I2C +// +// Note: These controllers require the installation of Arduino's LiquidCrystal_I2C +// library. For more info: https://github.com/kiyoshigawa/LiquidCrystal_I2C +// + +// +// Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// +//#define RA_CONTROL_PANEL + +// +// Sainsmart (YwRobot) LCD Displays +// +// These require F.Malpartida's LiquidCrystal_I2C library +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home +// +//#define LCD_SAINSMART_I2C_1602 +//#define LCD_SAINSMART_I2C_2004 + +// +// Generic LCM1602 LCD adapter +// +//#define LCM1602 + +// +// PANELOLU2 LCD with status LEDs, +// separate encoder and click inputs. +// +// Note: This controller requires Arduino's LiquidTWI2 library v1.2.3 or later. +// For more info: https://github.com/lincomatic/LiquidTWI2 +// +// Note: The PANELOLU2 encoder click input can either be directly connected to +// a pin (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). +// +//#define LCD_I2C_PANELOLU2 + +// +// Panucatt VIKI LCD with status LEDs, +// integrated click & L/R/U/D buttons, separate encoder inputs. +// +//#define LCD_I2C_VIKI + +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + +// +// SSD1306 OLED full graphics generic display +// +//#define U8GLIB_SSD1306 + +// +// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules +// +//#define SAV_3DGLCD +#if ENABLED(SAV_3DGLCD) + #define U8GLIB_SSD1306 + //#define U8GLIB_SH1106 +#endif + +// +// Original Ulticontroller from Ultimaker 2 printer with SSD1309 I2C display and encoder +// https://github.com/Ultimaker/Ultimaker2/tree/master/1249_Ulticontroller_Board_(x1) +// +//#define ULTI_CONTROLLER + +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + +// +// MKS MINI12864 with graphic controller and SD support +// http://reprap.org/wiki/MKS_MINI_12864 +// +//#define MKS_MINI_12864 + +// +// Factory display for Creality CR-10 +// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html +// +// This is RAMPS-compatible using a single 10-pin connector. +// (For CR-10 owners who want to replace the Melzi Creality board but retain the display) +// +//#define CR10_STOCKDISPLAY + +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + +// +// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER +// http://reprap.org/wiki/MKS_12864OLED +// +// Tiny, but very sharp OLED display +// +//#define MKS_12864OLED // Uses the SH1106 controller (default) +//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller + +// +// AZSMZ 12864 LCD with SD +// https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html +// +//#define AZSMZ_12864 + +// +// Silvergate GLCD controller +// http://github.com/android444/Silvergate +// +//#define SILVER_GATE_GLCD_CONTROLLER + +// +// Einstart S OLED SSD1306 +// +#define U8GLIB_SH1106_EINSTART + +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 + +//============================================================================= +//=============================== Extra Features ============================== +//============================================================================= + +// @section extras + +// Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can +// be used to mitigate the associated resolution loss. If enabled, +// some of the PWM cycles are stretched so on average the desired +// duty cycle is attained. +//#define SOFT_PWM_DITHER + +// Temperature status LEDs that display the hotend and bed temperature. +// If all hotends, bed temperature, and target temperature are under 54C +// then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) +//#define TEMP_STAT_LEDS + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +//#define PHOTOGRAPH_PIN 23 + +// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder +//#define BARICUDA + +// Support for BlinkM/CyzRgb +//#define BLINKM + +// Support for PCA9632 PWM LED driver +//#define PCA9632 + +/** + * RGB LED / LED Strip Control + * + * Enable support for an RGB LED connected to 5V digital pins, or + * an RGB Strip connected to MOSFETs controlled by digital pins. + * + * Adds the M150 command to set the LED (or LED strip) color. + * If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of + * luminance values can be set from 0 to 255. + * For Neopixel LED an overall brightness parameter is also available. + * + * *** CAUTION *** + * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * as the Arduino cannot handle the current the LEDs will require. + * Failure to follow this precaution can destroy your Arduino! + * NOTE: A separate 5V power supply is required! The Neopixel LED needs + * more current than the Arduino 5V linear regulator can produce. + * *** CAUTION *** + * + * LED Type. Enable only one of the following two options. + * + */ +//#define RGB_LED +//#define RGBW_LED + +#if ENABLED(RGB_LED) || ENABLED(RGBW_LED) + #define RGB_LED_R_PIN 34 + #define RGB_LED_G_PIN 43 + #define RGB_LED_B_PIN 35 + #define RGB_LED_W_PIN -1 +#endif + +// Support for Adafruit Neopixel LED driver +//#define NEOPIXEL_LED +#if ENABLED(NEOPIXEL_LED) + #define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h) + #define NEOPIXEL_PIN 4 // LED driving pin on motherboard 4 => D4 (EXP2-5 on Printrboard) / 30 => PC7 (EXP3-13 on Rumba) + #define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip + #define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once. + #define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255) + //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup +#endif + +/** + * Printer Event LEDs + * + * During printing, the LEDs will reflect the printer status: + * + * - Gradually change from blue to violet as the heated bed gets to target temp + * - Gradually change from violet to red as the hotend gets to temperature + * - Change to white to illuminate work surface + * - Change to green once print has finished + * - Turn off after the print has finished and the user has pushed a button + */ +#if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED) + #define PRINTER_EVENT_LEDS +#endif + +/** + * R/C SERVO support + * Sponsored by TrinityLabs, Reworked by codexmas + */ + +/** + * Number of servos + * + * For some servo-related options NUM_SERVOS will be set automatically. + * Set this manually if there are extra servos needing manual control. + * Leave undefined or set to 0 to entirely disable the servo subsystem. + */ +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// 300ms is a good value but you can try less delay. +// If the servo can't reach the requested position, increase it. +#define SERVO_DELAY { 300 } + +// Servo deactivation +// +// With this option servos are powered only during movement, then turned off to prevent jitter. +//#define DEACTIVATE_SERVOS_AFTER_MOVE + +#endif // CONFIGURATION_H diff --git a/Marlin/src/config/examples/Einstart-S/Configuration_adv.h b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h new file mode 100644 index 000000000000..964a2c104aec --- /dev/null +++ b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h @@ -0,0 +1,1728 @@ +/** + * 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 . + * + */ + +/** + * Configuration_adv.h + * + * Advanced settings. + * Only change these if you know exactly what you're doing. + * Some of these settings can damage your printer if improperly set! + * + * Basic settings can be found in Configuration.h + * + */ +#ifndef CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H_VERSION 020000 + +// @section temperature + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +// +// Hephestos 2 24V heated bed upgrade kit. +// https://store.bq.com/en/heated-bed-kit-hephestos2 +// +//#define HEPHESTOS2_HEATED_BED_KIT +#if ENABLED(HEPHESTOS2_HEATED_BED_KIT) + #undef TEMP_SENSOR_BED + #define TEMP_SENSOR_BED 70 + #define HEATER_BED_INVERTING true +#endif + +#if DISABLED(PIDTEMPBED) + #define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control + #if ENABLED(BED_LIMIT_SWITCHING) + #define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS + #endif +#endif + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * The solution: Once the temperature reaches the target, start observing. + * If the temperature stays too far below the target (hysteresis) for too + * long (period), the firmware will halt the machine as a safety precaution. + * + * If you get false positives for "Thermal Runaway", increase + * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD + */ +#if ENABLED(THERMAL_PROTECTION_HOTENDS) + #define THERMAL_PROTECTION_PERIOD 40 // Seconds + #define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius + + /** + * Whenever an M104, M109, or M303 increases the target temperature, the + * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature + * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and + * requires a hard reset. This test restarts with any M104/M109/M303, but only + * if the current temperature is far enough below the target for a reliable + * test. + * + * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD + * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set + * below 2. + */ + #define WATCH_TEMP_PERIOD 20 // Seconds + #define WATCH_TEMP_INCREASE 2 // Degrees Celsius +#endif + +/** + * Thermal Protection parameters for the bed are just as above for hotends. + */ +#if ENABLED(THERMAL_PROTECTION_BED) + #define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius + + /** + * As described above, except for the bed (M140/M190/M303). + */ + #define WATCH_BED_TEMP_PERIOD 60 // Seconds + #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius +#endif + +#if ENABLED(PIDTEMP) + // this adds an experimental additional term to the heating power, proportional to the extrusion speed. + // if Kc is chosen well, the additional required power due to increased melting should be compensated. + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) + #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) + #define LPQ_MAX_LEN 50 + #endif +#endif + +/** + * Automatic Temperature: + * The hotend target temperature is calculated by all the buffered lines of gcode. + * The maximum buffered steps/sec of the extruder motor is called "se". + * Start autotemp mode with M109 S B F + * The target temperature is set to mintemp+factor*se[steps/sec] and is limited by + * mintemp and maxtemp. Turn this off by executing M109 without F* + * Also, if the temperature is set to a value below mintemp, it will not be changed by autotemp. + * On an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode + */ +#define AUTOTEMP +#if ENABLED(AUTOTEMP) + #define AUTOTEMP_OLDWEIGHT 0.98 +#endif + +// Show extra position information in M114 +//#define M114_DETAIL + +// Show Temperature ADC value +// Enable for M105 to include ADC values read from temperature sensors. +//#define SHOW_TEMP_ADC_VALUES + +/** + * High Temperature Thermistor Support + * + * Thermistors able to support high temperature tend to have a hard time getting + * good readings at room and lower temperatures. This means HEATER_X_RAW_LO_TEMP + * will probably be caught when the heating element first turns on during the + * preheating process, which will trigger a min_temp_error as a safety measure + * and force stop everything. + * To circumvent this limitation, we allow for a preheat time (during which, + * min_temp_error won't be triggered) and add a min_temp buffer to handle + * aberrant readings. + * + * If you want to enable this feature for your hotend thermistor(s) + * uncomment and set values > 0 in the constants below + */ + +// The number of consecutive low temperature errors that can occur +// before a min_temp_error is triggered. (Shouldn't be more than 10.) +//#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0 + +// The number of milliseconds a hotend will preheat before starting to check +// the temperature. This value should NOT be set to the time it takes the +// hot end to reach the target temperature, but the time it takes to reach +// the minimum temperature your thermistor can read. The lower the better/safer. +// This shouldn't need to be more than 30 seconds (30000) +//#define MILLISECONDS_PREHEAT_TIME 0 + +// @section extruder + +// Extruder runout prevention. +// If the machine is idle and the temperature over MINTEMP +// then extrude some filament every couple of SECONDS. +//#define EXTRUDER_RUNOUT_PREVENT +#if ENABLED(EXTRUDER_RUNOUT_PREVENT) + #define EXTRUDER_RUNOUT_MINTEMP 190 + #define EXTRUDER_RUNOUT_SECONDS 30 + #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m + #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm +#endif + +// @section temperature + +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 + +/** + * Controller Fan + * To cool down the stepper drivers and MOSFETs. + * + * The fan will turn on automatically whenever any stepper is enabled + * and turn off after a set period after all steppers are turned off. + */ +//#define USE_CONTROLLER_FAN +#if ENABLED(USE_CONTROLLER_FAN) + //#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan + #define CONTROLLERFAN_SECS 60 // Duration in seconds for the fan to run after all motors are disabled + #define CONTROLLERFAN_SPEED 255 // 255 == full speed +#endif + +// When first starting the main fan, run it at full speed for the +// given number of milliseconds. This gets the fan spinning reliably +// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) +//#define FAN_KICKSTART_TIME 100 + +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ +//#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 + +// @section extruder + +/** + * Extruder cooling fans + * + * Extruder auto fans automatically turn on when their extruders' + * temperatures go above EXTRUDER_AUTO_FAN_TEMPERATURE. + * + * Your board's pins file specifies the recommended pins. Override those here + * or set to -1 to disable completely. + * + * Multiple extruders can be assigned to the same pin in which case + * the fan will turn on when any selected extruder is above the threshold. + */ +#define E0_AUTO_FAN_PIN -1 +#define E1_AUTO_FAN_PIN -1 +#define E2_AUTO_FAN_PIN -1 +#define E3_AUTO_FAN_PIN -1 +#define E4_AUTO_FAN_PIN -1 +#define CHAMBER_AUTO_FAN_PIN -1 +#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 +#define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed + +/** + * Part-Cooling Fan Multiplexer + * + * This feature allows you to digitally multiplex the fan output. + * The multiplexer is automatically switched at tool-change. + * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans. + */ +#define FANMUX0_PIN -1 +#define FANMUX1_PIN -1 +#define FANMUX2_PIN -1 + +/** + * M355 Case Light on-off / brightness + */ +//#define CASE_LIGHT_ENABLE +#if ENABLED(CASE_LIGHT_ENABLE) + //#define CASE_LIGHT_PIN 4 // Override the default pin if needed + #define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW + #define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on + #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105 // Set default power-up brightness (0-255, requires PWM pin) + //#define MENU_ITEM_CASE_LIGHT // Add a Case Light option to the LCD main menu + //#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED. + #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) + #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White } + #endif +#endif + +//=========================================================================== +//============================ Mechanical Settings ========================== +//=========================================================================== + +// @section homing + +// If you want endstops to stay on (by default) even when not homing +// enable this option. Override at any time with M120, M121. +//#define ENDSTOPS_ALWAYS_ON_DEFAULT + +// @section extras + +//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats. + +/** + * Dual Steppers / Dual Endstops + * + * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes. + * + * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to + * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop + * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug + * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'. + * + * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors + * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error + * in X2. Dual endstop offsets can be set at runtime with 'M666 X Y Z'. + */ + +//#define X_DUAL_STEPPER_DRIVERS +#if ENABLED(X_DUAL_STEPPER_DRIVERS) + #define INVERT_X2_VS_X_DIR true // Set 'true' if X motors should rotate in opposite directions + //#define X_DUAL_ENDSTOPS + #if ENABLED(X_DUAL_ENDSTOPS) + #define X2_USE_ENDSTOP _XMAX_ + #define X_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Y_DUAL_STEPPER_DRIVERS +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + #define INVERT_Y2_VS_Y_DIR true // Set 'true' if Y motors should rotate in opposite directions + //#define Y_DUAL_ENDSTOPS + #if ENABLED(Y_DUAL_ENDSTOPS) + #define Y2_USE_ENDSTOP _YMAX_ + #define Y_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Z_DUAL_STEPPER_DRIVERS +#if ENABLED(Z_DUAL_STEPPER_DRIVERS) + //#define Z_DUAL_ENDSTOPS + #if ENABLED(Z_DUAL_ENDSTOPS) + #define Z2_USE_ENDSTOP _XMAX_ + #define Z_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +// Enable this for dual x-carriage printers. +// A dual x-carriage design has the advantage that the inactive extruder can be parked which +// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage +// allowing faster printing speeds. Connect your X2 stepper to the first unused E plug. +//#define DUAL_X_CARRIAGE +#if ENABLED(DUAL_X_CARRIAGE) + // Configuration for second X-carriage + // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop; + // the second x-carriage always homes to the maximum endstop. + #define X2_MIN_POS 80 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage + #define X2_MAX_POS 353 // set maximum to the distance between toolheads when both heads are homed + #define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position + #define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position + // However: In this mode the HOTEND_OFFSET_X value for the second extruder provides a software + // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops + // without modifying the firmware (through the "M218 T1 X???" command). + // Remember: you should set the second extruder x-offset to 0 in your slicer. + + // There are a few selectable movement modes for dual x-carriages using M605 S + // Mode 0 (DXC_FULL_CONTROL_MODE): Full control. The slicer has full control over both x-carriages and can achieve optimal travel results + // as long as it supports dual x-carriages. (M605 S0) + // Mode 1 (DXC_AUTO_PARK_MODE) : Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so + // that additional slicer support is not required. (M605 S1) + // Mode 2 (DXC_DUPLICATION_MODE) : Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all + // actions of the first x-carriage. This allows the printer to print 2 arbitrary items at + // once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm]) + + // This is the default power-up mode which can be later using M605. + #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_FULL_CONTROL_MODE + + // Default settings in "Auto-park Mode" + #define TOOLCHANGE_PARK_ZLIFT 0.2 // the distance to raise Z axis when parking an extruder + #define TOOLCHANGE_UNPARK_ZLIFT 1 // the distance to raise Z axis when unparking an extruder + + // Default x offset in duplication mode (typically set to half print bed width) + #define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif // DUAL_X_CARRIAGE + +// Activate a solenoid on the active extruder with M380. Disable all with M381. +// Define SOL0_PIN, SOL1_PIN, etc., for each extruder that has a solenoid. +//#define EXT_SOLENOID + +// @section homing + +// Homing hits each endstop, retracts by these distances, then does a slower bump. +#define X_HOME_BUMP_MM 5 +#define Y_HOME_BUMP_MM 5 +#define Z_HOME_BUMP_MM 2 +#define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) +//#define QUICK_HOME // If homing includes X and Y, do a diagonal move initially + +// When G28 is called, this option will make Y home before X +//#define HOME_Y_BEFORE_X + +// Enable this if X or Y can't home without homing the other axis first. +//#define CODEPENDENT_XY_HOMING + +// @section machine + +#define AXIS_RELATIVE_MODES {false, false, false, false} + +// Allow duplication mode with a basic dual-nozzle extruder +//#define DUAL_NOZZLE_DUPLICATION_MODE + +// By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +// Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. +#define DEFAULT_STEPPER_DEACTIVE_TIME 120 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +//#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated + +// @section lcd + +#if ENABLED(ULTIPANEL) + #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel + #define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder +#endif + +// @section extras + +// minimum time in microseconds that a movement needs to take if the buffer is emptied. +#define DEFAULT_MINSEGMENTTIME 20000 + +// If defined the movements slow down when the look ahead buffer is only half full +#define SLOWDOWN + +// Frequency limit +// See nophead's blog for more info +// Not working O +//#define XY_FREQUENCY_LIMIT 15 + +// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end +// of the buffer and all stops. This should not be much greater than zero and should only be changed +// if unwanted behavior is observed on a user's machine when running at very slow speeds. +#define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) + +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] + +/** + * @section stepper motor current + * + * Some boards have a means of setting the stepper motor current via firmware. + * + * The power on motor currents are set by: + * PWM_MOTOR_CURRENT - used by MINIRAMBO & ULTIMAIN_2 + * known compatible chips: A4982 + * DIGIPOT_MOTOR_CURRENT - used by BQ_ZUM_MEGA_3D, RAMBO & SCOOVO_X9H + * known compatible chips: AD5206 + * DAC_MOTOR_CURRENT_DEFAULT - used by PRINTRBOARD_REVF & RIGIDBOARD_V2 + * known compatible chips: MCP4728 + * DIGIPOT_I2C_MOTOR_CURRENTS - used by 5DPRINT, AZTEEG_X3_PRO, MIGHTYBOARD_REVE + * known compatible chips: MCP4451, MCP4018 + * + * Motor currents can also be set by M907 - M910 and by the LCD. + * M907 - applies to all. + * M908 - BQ_ZUM_MEGA_3D, RAMBO, PRINTRBOARD_REVF, RIGIDBOARD_V2 & SCOOVO_X9H + * M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2 + */ +//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps +//#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) +//#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis + +// Use an I2C based DIGIPOT (e.g., Azteeg X3 Pro) +//#define DIGIPOT_I2C +#if ENABLED(DIGIPOT_I2C) && !defined(DIGIPOT_I2C_ADDRESS_A) + /** + * Common slave addresses: + * + * A (A shifted) B (B shifted) IC + * Smoothie 0x2C (0x58) 0x2D (0x5A) MCP4451 + * AZTEEG_X3_PRO 0x2C (0x58) 0x2E (0x5C) MCP4451 + * MIGHTYBOARD_REVE 0x2F (0x5E) MCP4018 + */ + #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT + #define DIGIPOT_I2C_ADDRESS_B 0x2D // unshifted slave address for second DIGIPOT +#endif + +//#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 +// Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. +// These correspond to the physical drivers, so be mindful if the order is changed. +#define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +#define ENCODER_RATE_MULTIPLIER // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly +#define ENCODER_10X_STEPS_PER_SEC 75 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value +#define ENCODER_100X_STEPS_PER_SEC 160 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value + +//#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ +#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again + +// @section lcd + +// Include a page of printer information in the LCD Main Menu +//#define LCD_INFO_MENU + +// Scroll a longer status message into view +//#define STATUS_MESSAGE_SCROLLING + +// On the Info Screen, display XY with one decimal place when possible +//#define LCD_DECIMAL_SMALL_XY + +// The timeout (in ms) to return to the status screen from sub-menus +//#define LCD_TIMEOUT_TO_STATUS 15000 + +// Add an 'M73' G-code to set the current percentage +//#define LCD_SET_PROGRESS_MANUALLY + +#if ENABLED(SDSUPPORT) || ENABLED(LCD_SET_PROGRESS_MANUALLY) + //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing + #if ENABLED(LCD_PROGRESS_BAR) + #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar + #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message + #define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever) + //#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it + //#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar + #endif +#endif // SDSUPPORT || LCD_SET_PROGRESS_MANUALLY + +/** + * LED Control Menu + * Enable this feature to add LED Control to the LCD menu + */ +//#define LED_CONTROL_MENU +#if ENABLED(LED_CONTROL_MENU) + #define LED_COLOR_PRESETS // Enable the Preset Color menu option + #if ENABLED(LED_COLOR_PRESETS) + #define LED_USER_PRESET_RED 255 // User defined RED value + #define LED_USER_PRESET_GREEN 128 // User defined GREEN value + #define LED_USER_PRESET_BLUE 0 // User defined BLUE value + #define LED_USER_PRESET_WHITE 255 // User defined WHITE value + #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity + //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup + #endif +#endif // LED_CONTROL_MENU + +#if ENABLED(SDSUPPORT) + + // Some RAMPS and other boards don't detect when an SD card is inserted. You can work + // around this by connecting a push button or single throw switch to the pin defined + // as SD_DETECT_PIN in your board's pins definitions. + // This setting should be disabled unless you are using a push button, pulling the pin to ground. + // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER). + #define SD_DETECT_INVERTED + + #define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished + #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place. + + // Reverse SD sort to show "more recent" files first, according to the card's FAT. + // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended. + #define SDCARD_RATHERRECENTFIRST + + // Add an option in the menu to run all auto#.g files + //#define MENU_ADDAUTOSTART + + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + + /** + * Sort SD file listings in alphabetical order. + * + * With this option enabled, items on SD cards will be sorted + * by name for easier navigation. + * + * By default... + * + * - Use the slowest -but safest- method for sorting. + * - Folders are sorted to the top. + * - The sort key is statically allocated. + * - No added G-code (M34) support. + * - 40 item sorting limit. (Items after the first 40 are unsorted.) + * + * SD sorting uses static allocation (as set by SDSORT_LIMIT), allowing the + * compiler to calculate the worst-case usage and throw an error if the SRAM + * limit is exceeded. + * + * - SDSORT_USES_RAM provides faster sorting via a static directory buffer. + * - SDSORT_USES_STACK does the same, but uses a local stack-based buffer. + * - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!) + * - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!) + */ + //#define SDCARD_SORT_ALPHA + + // SD Card Sorting options + #if ENABLED(SDCARD_SORT_ALPHA) + #define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256). Costs 27 bytes each. + #define FOLDER_SORTING -1 // -1=above 0=none 1=below + #define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 g-code. + #define SDSORT_USES_RAM false // Pre-allocate a static array for faster pre-sorting. + #define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.) + #define SDSORT_CACHE_NAMES false // Keep sorted items in RAM longer for speedy performance. Most expensive option. + #define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use! + #define SDSORT_CACHE_VFATS 2 // Maximum number of 13-byte VFAT entries to use for sorting. + // Note: Only affects SCROLL_LONG_FILENAMES with SDSORT_CACHE_NAMES but not SDSORT_DYNAMIC_RAM. + #endif + + // This allows hosts to request long names for files and folders with M33 + //#define LONG_FILENAME_HOST_SUPPORT + + // Enable this option to scroll long filenames in the SD card menu + //#define SCROLL_LONG_FILENAMES + + /** + * This option allows you to abort SD printing when any endstop is triggered. + * This feature must be enabled with "M540 S1" or from the LCD menu. + * To have any effect, endstops must be enabled during SD printing. + */ + //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + + /** + * This option makes it easier to print the same SD Card file again. + * On print completion the LCD Menu will open with the file selected. + * You can just click to start the print, or navigate elsewhere. + */ + //#define SD_REPRINT_LAST_SELECTED_FILE + + /** + * Auto-report SdCard status with M27 S + */ + //#define AUTO_REPORT_SD_STATUS + +#endif // SDSUPPORT + +/** + * Additional options for Graphical Displays + * + * Use the optimizations here to improve printing performance, + * which can be adversely affected by graphical display drawing, + * especially when doing several short moves, and when printing + * on DELTA and SCARA machines. + * + * Some of these options may result in the display lagging behind + * controller events, as there is a trade-off between reliable + * printing performance versus fast display updates. + */ +#if ENABLED(DOGLCD) + // Show SD percentage next to the progress bar + //#define DOGM_SD_PERCENT + + // Enable to save many cycles by drawing a hollow frame on the Info Screen + #define XYZ_HOLLOW_FRAME + + // Enable to save many cycles by drawing a hollow frame on Menu Screens + #define MENU_HOLLOW_FRAME + + // A bigger font is available for edit items. Costs 3120 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_BIG_EDIT_FONT + + // A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_SMALL_INFOFONT + + // Enable this option and reduce the value to optimize screen updates. + // The normal delay is 10µs. Use the lowest value that still gives a reliable display. + //#define DOGM_SPI_DELAY_US 5 + + // Swap the CW/CCW indicators in the graphics overlay + //#define OVERLAY_GFX_REVERSE + + #if ENABLED(U8GLIB_ST7920) + /** + * ST7920-based LCDs can emulate a 16 x 4 character display using + * the ST7920 character-generator for very fast screen updates. + * Enable LIGHTWEIGHT_UI to use this special display mode. + * + * Since LIGHTWEIGHT_UI has limited space, the position and status + * message occupy the same line. Set STATUS_EXPIRE_SECONDS to the + * length of time to display the status message before clearing. + * + * Set STATUS_EXPIRE_SECONDS to zero to never clear the status. + * This will prevent position updates from being displayed. + */ + //#define LIGHTWEIGHT_UI + #if ENABLED(LIGHTWEIGHT_UI) + #define STATUS_EXPIRE_SECONDS 20 + #endif + #endif + +#endif // DOGLCD + +// @section safety + +// The hardware watchdog should reset the microcontroller disabling all outputs, +// in case the firmware gets stuck and doesn't do temperature regulation. +#define USE_WATCHDOG + +#if ENABLED(USE_WATCHDOG) + // If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on. + // The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset. + // However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled. + //#define WATCHDOG_RESET_MANUAL +#endif + +// @section lcd + +/** + * Babystepping enables movement of the axes by tiny increments without changing + * the current position values. This feature is used primarily to adjust the Z + * axis in the first layer of a print in real-time. + * + * Warning: Does not respect endstops! + */ +//#define BABYSTEPPING +#if ENABLED(BABYSTEPPING) + //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! + #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way + #define BABYSTEP_MULTIPLICATOR 1 // Babysteps are very small. Increase for faster motion. + //#define BABYSTEP_ZPROBE_OFFSET // Enable to combine M851 and Babystepping + //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. + #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. + // Note: Extra time may be added to mitigate controller latency. + //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor +#endif + +// @section extruder + +/** + * Linear Pressure Control v1.5 + * + * Assumption: advance [steps] = k * (delta velocity [steps/s]) + * K=0 means advance disabled. + * + * NOTE: K values for LIN_ADVANCE 1.5 differ from earlier versions! + * + * Set K around 0.22 for 3mm PLA Direct Drive with ~6.5cm between the drive gear and heatbreak. + * Larger K values will be needed for flexible filament and greater distances. + * If this algorithm produces a higher speed offset than the extruder can handle (compared to E jerk) + * print acceleration will be reduced during the affected moves to keep within the limit. + * + * See http://marlinfw.org/docs/features/lin_advance.html for full instructions. + * Mention @Sebastianv650 on GitHub to alert the author of any issues. + */ +//#define LIN_ADVANCE +#if ENABLED(LIN_ADVANCE) + #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed + //#define LA_DEBUG // If enabled, this will generate debug information output over USB. +#endif + +// @section leveling + +#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL) + // Override the mesh area if the automatic (max) area is too large + //#define MESH_MIN_X MESH_INSET + //#define MESH_MIN_Y MESH_INSET + //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET) + //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) +#endif + +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + +// @section extras + +// +// G2/G3 Arc Support +// +#define ARC_SUPPORT // Disable this feature to save ~3226 bytes +#if ENABLED(ARC_SUPPORT) + #define MM_PER_ARC_SEGMENT 1 // Length of each arc segment + #define N_ARC_CORRECTION 25 // Number of intertpolated segments between corrections + //#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles + //#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes +#endif + +// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes. +//#define BEZIER_CURVE_SUPPORT + +// G38.2 and G38.3 Probe Target +// Set MULTIPLE_PROBING if you want G38 to double touch +//#define G38_PROBE_TARGET +#if ENABLED(G38_PROBE_TARGET) + #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move) +#endif + +// Moves (or segments) with fewer steps than this will be joined with the next move +#define MIN_STEPS_PER_SEGMENT 6 + +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + *15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + */ +#define MINIMUM_STEPPER_DIR_DELAY 0 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + */ +#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + */ +#define MAXIMUM_STEPPER_RATE 250000 + +// @section temperature + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//================================= Buffers ================================= +//=========================================================================== + +// @section hidden + +// The number of linear motions that can be in the plan at any give time. +// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering. +#if ENABLED(SDSUPPORT) + #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller +#else + #define BLOCK_BUFFER_SIZE 16 // maximize block buffer +#endif + +// @section serial + +// The ASCII buffer for serial input +#define MAX_CMD_SIZE 96 +#define BUFSIZE 4 + +// Transmission to Host Buffer Size +// To save 386 bytes of PROGMEM (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0. +// To buffer a simple "ok" you need 4 bytes. +// For ADVANCED_OK (M105) you need 32 bytes. +// For debug-echo: 128 bytes for the optimal speed. +// Other output doesn't need to be that speedy. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256] +#define TX_BUFFER_SIZE 0 + +// Host Receive Buffer Size +// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough. +// To use flow control, set this buffer size to at least 1024 bytes. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048] +//#define RX_BUFFER_SIZE 1024 + +#if RX_BUFFER_SIZE >= 1024 + // Enable to have the controller send XON/XOFF control characters to + // the host to signal the RX buffer is becoming full. + //#define SERIAL_XON_XOFF +#endif + +#if ENABLED(SDSUPPORT) + // Enable this option to collect and display the maximum + // RX queue usage after transferring a file to SD. + //#define SERIAL_STATS_MAX_RX_QUEUED + + // Enable this option to collect and display the number + // of dropped bytes after a file transfer to SD. + //#define SERIAL_STATS_DROPPED_RX +#endif + +// Enable an emergency-command parser to intercept certain commands as they +// enter the serial receive buffer, so they cannot be blocked. +// Currently handles M108, M112, M410 +// Does not work on boards using AT90USB (USBCON) processors! +//#define EMERGENCY_PARSER + +// Bad Serial-connections can miss a received command by sending an 'ok' +// Therefore some clients abort after 30 seconds in a timeout. +// Some other clients start sending commands while receiving a 'wait'. +// This "wait" is only sent when the buffer is empty. 1 second is a good value here. +//#define NO_TIMEOUTS 1000 // Milliseconds + +// Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. +//#define ADVANCED_OK + +// @section extras + +/** + * Firmware-based and LCD-controlled retract + * + * Add G10 / G11 commands for automatic firmware-based retract / recover. + * Use M207 and M208 to define parameters for retract / recover. + * + * Use M209 to enable or disable auto-retract. + * With auto-retract enabled, all G1 E moves within the set range + * will be converted to firmware-based retract/recover moves. + * + * Be sure to turn off auto-retract during filament change. + * + * Note that M207 / M208 / M209 settings are saved to EEPROM. + * + */ +//#define FWRETRACT // ONLY PARTIALLY TESTED +#if ENABLED(FWRETRACT) + #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over + #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define RETRACT_LENGTH 3 // Default retract length (positive mm) + #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change + #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) + #define RETRACT_ZLIFT 0 // Default retract Z-lift + #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) + #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) +#endif + +/** + * Extra Fan Speed + * Adds a secondary fan speed for each print-cooling fan. + * 'M106 P T3-255' : Set a secondary speed for + * 'M106 P T2' : Use the set secondary speed + * 'M106 P T1' : Restore the previous fan speed + */ +//#define EXTRA_FAN_SPEED + +/** + * Advanced Pause + * Experimental feature for filament change support and for parking the nozzle when paused. + * Adds the GCode M600 for initiating filament change. + * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. + * + * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. + * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. + */ +//#define ADVANCED_PAUSE_FEATURE +#if ENABLED(ADVANCED_PAUSE_FEATURE) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) +#endif + +// @section tmc + +/** + * Enable this section if you have TMC26X motor drivers. + * You will need to import the TMC26XStepper library into the Arduino IDE for this + * (https://github.com/trinamic/TMC26XStepper.git) + */ +//#define HAVE_TMC26X +#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! + //#define X_IS_TMC26X + //#define X2_IS_TMC26X + //#define Y_IS_TMC26X + //#define Y2_IS_TMC26X + //#define Z_IS_TMC26X + //#define Z2_IS_TMC26X + //#define E0_IS_TMC26X + //#define E1_IS_TMC26X + //#define E2_IS_TMC26X + //#define E3_IS_TMC26X + //#define E4_IS_TMC26X + + #define X_MAX_CURRENT 1000 // in mA + #define X_SENSE_RESISTOR 91 // in mOhms + #define X_MICROSTEPS 16 // number of microsteps + + #define X2_MAX_CURRENT 1000 + #define X2_SENSE_RESISTOR 91 + #define X2_MICROSTEPS 16 + + #define Y_MAX_CURRENT 1000 + #define Y_SENSE_RESISTOR 91 + #define Y_MICROSTEPS 16 + + #define Y2_MAX_CURRENT 1000 + #define Y2_SENSE_RESISTOR 91 + #define Y2_MICROSTEPS 16 + + #define Z_MAX_CURRENT 1000 + #define Z_SENSE_RESISTOR 91 + #define Z_MICROSTEPS 16 + + #define Z2_MAX_CURRENT 1000 + #define Z2_SENSE_RESISTOR 91 + #define Z2_MICROSTEPS 16 + + #define E0_MAX_CURRENT 1000 + #define E0_SENSE_RESISTOR 91 + #define E0_MICROSTEPS 16 + + #define E1_MAX_CURRENT 1000 + #define E1_SENSE_RESISTOR 91 + #define E1_MICROSTEPS 16 + + #define E2_MAX_CURRENT 1000 + #define E2_SENSE_RESISTOR 91 + #define E2_MICROSTEPS 16 + + #define E3_MAX_CURRENT 1000 + #define E3_SENSE_RESISTOR 91 + #define E3_MICROSTEPS 16 + + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + +#endif + +// @section tmc_smart + +/** + * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. + * + * You'll also need the TMC2130Stepper Arduino library + * (https://github.com/teemuatlut/TMC2130Stepper). + * + * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to + * the hardware SPI interface on your board and define the required CS pins + * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). + * You may also use software SPI if you wish to use general purpose IO pins. + */ +//#define HAVE_TMC2130 +#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! + //#define X_IS_TMC2130 + //#define X2_IS_TMC2130 + //#define Y_IS_TMC2130 + //#define Y2_IS_TMC2130 + //#define Z_IS_TMC2130 + //#define Z2_IS_TMC2130 + //#define E0_IS_TMC2130 + //#define E1_IS_TMC2130 + //#define E2_IS_TMC2130 + //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 +#endif + +/** + * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. + * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * To use the reading capabilities, also connect #_SERIAL_RX_PIN + * to PDN_UART without a resistor. + * The drivers can also be used with hardware serial. + * + * You'll also need the TMC2208Stepper Arduino library + * (https://github.com/teemuatlut/TMC2208Stepper). + */ +//#define HAVE_TMC2208 +#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! + //#define X_IS_TMC2208 + //#define X2_IS_TMC2208 + //#define Y_IS_TMC2208 + //#define Y2_IS_TMC2208 + //#define Z_IS_TMC2208 + //#define Z2_IS_TMC2208 + //#define E0_IS_TMC2208 + //#define E1_IS_TMC2208 + //#define E2_IS_TMC2208 + //#define E3_IS_TMC2208 + //#define E4_IS_TMC2208 +#endif + +#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) + + #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 + #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current + #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 + + #define X_CURRENT 800 // rms current in mA. Multiply by 1.41 for peak current. + #define X_MICROSTEPS 16 // 0..256 + + #define Y_CURRENT 800 + #define Y_MICROSTEPS 16 + + #define Z_CURRENT 800 + #define Z_MICROSTEPS 16 + + #define X2_CURRENT 800 + #define X2_MICROSTEPS 16 + + #define Y2_CURRENT 800 + #define Y2_MICROSTEPS 16 + + #define Z2_CURRENT 800 + #define Z2_MICROSTEPS 16 + + #define E0_CURRENT 800 + #define E0_MICROSTEPS 16 + + #define E1_CURRENT 800 + #define E1_MICROSTEPS 16 + + #define E2_CURRENT 800 + #define E2_MICROSTEPS 16 + + #define E3_CURRENT 800 + #define E3_MICROSTEPS 16 + + #define E4_CURRENT 800 + #define E4_MICROSTEPS 16 + + /** + * Use software SPI for TMC2130. + * The default SW SPI pins are defined the respective pins files, + * but you can override or define them here. + */ + //#define TMC_USE_SW_SPI + //#define TMC_SW_MOSI -1 + //#define TMC_SW_MISO -1 + //#define TMC_SW_SCK -1 + + /** + * Use Trinamic's ultra quiet stepping mode. + * When disabled, Marlin will use spreadCycle stepping mode. + */ + #define STEALTHCHOP + + /** + * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions, + * like overtemperature and short to ground. TMC2208 requires hardware serial. + * In the case of overtemperature Marlin can decrease the driver current until error condition clears. + * Other detected conditions can be used to stop the current print. + * Relevant g-codes: + * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. + * M911 - Report stepper driver overtemperature pre-warn condition. + * M912 - Clear stepper driver overtemperature pre-warn condition flag. + * M122 S0/1 - Report driver parameters (Requires TMC_DEBUG) + */ + //#define MONITOR_DRIVER_STATUS + + #if ENABLED(MONITOR_DRIVER_STATUS) + #define CURRENT_STEP_DOWN 50 // [mA] + #define REPORT_CURRENT_CHANGE + #define STOP_ON_ERROR + #endif + + /** + * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD. + * This mode allows for faster movements at the expense of higher noise levels. + * STEALTHCHOP needs to be enabled. + * M913 X/Y/Z/E to live tune the setting + */ + //#define HYBRID_THRESHOLD + + #define X_HYBRID_THRESHOLD 100 // [mm/s] + #define X2_HYBRID_THRESHOLD 100 + #define Y_HYBRID_THRESHOLD 100 + #define Y2_HYBRID_THRESHOLD 100 + #define Z_HYBRID_THRESHOLD 3 + #define Z2_HYBRID_THRESHOLD 3 + #define E0_HYBRID_THRESHOLD 30 + #define E1_HYBRID_THRESHOLD 30 + #define E2_HYBRID_THRESHOLD 30 + #define E3_HYBRID_THRESHOLD 30 + #define E4_HYBRID_THRESHOLD 30 + + /** + * Use stallGuard2 to sense an obstacle and trigger an endstop. + * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. + * X, Y, and Z homing will always be done in spreadCycle mode. + * + * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. + * Higher values make the system LESS sensitive. + * Lower value make the system MORE sensitive. + * Too low values can lead to false positives, while too high values will collide the axis without triggering. + * It is advised to set X/Y/Z_HOME_BUMP_MM to 0. + * M914 X/Y/Z to live tune the setting + */ + //#define SENSORLESS_HOMING // TMC2130 only + + #if ENABLED(SENSORLESS_HOMING) + #define X_HOMING_SENSITIVITY 8 + #define Y_HOMING_SENSITIVITY 8 + #define Z_HOMING_SENSITIVITY 8 + #endif + + /** + * Enable M122 debugging command for TMC stepper drivers. + * M122 S0/1 will enable continous reporting. + */ + //#define TMC_DEBUG + + /** + * M915 Z Axis Calibration + * + * - Adjust Z stepper current, + * - Drive the Z axis to its physical maximum, and + * - Home Z to account for the lost steps. + * + * Use M915 Snn to specify the current. + * Use M925 Znn to add extra Z height to Z_MAX_POS. + */ + //#define TMC_Z_CALIBRATION + #if ENABLED(TMC_Z_CALIBRATION) + #define CALIBRATION_CURRENT 250 + #define CALIBRATION_EXTRA_HEIGHT 10 + #endif + + /** + * You can set your own advanced settings by filling in predefined functions. + * A list of available functions can be found on the library github page + * https://github.com/teemuatlut/TMC2130Stepper + * https://github.com/teemuatlut/TMC2208Stepper + * + * Example: + * #define TMC_ADV() { \ + * stepperX.diag0_temp_prewarn(1); \ + * stepperY.interpolate(0); \ + * } + */ + #define TMC_ADV() { } + +#endif // TMC2130 || TMC2208 + +// @section L6470 + +/** + * Enable this section if you have L6470 motor drivers. + * You need to import the L6470 library into the Arduino IDE for this. + * (https://github.com/ameyer/Arduino-L6470) + */ + +//#define HAVE_L6470DRIVER +#if ENABLED(HAVE_L6470DRIVER) + + //#define X_IS_L6470 + //#define X2_IS_L6470 + //#define Y_IS_L6470 + //#define Y2_IS_L6470 + //#define Z_IS_L6470 + //#define Z2_IS_L6470 + //#define E0_IS_L6470 + //#define E1_IS_L6470 + //#define E2_IS_L6470 + //#define E3_IS_L6470 + //#define E4_IS_L6470 + + #define X_MICROSTEPS 16 // number of microsteps + #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off + #define X_STALLCURRENT 1500 // current in mA where the driver will detect a stall + + #define X2_MICROSTEPS 16 + #define X2_OVERCURRENT 2000 + #define X2_STALLCURRENT 1500 + + #define Y_MICROSTEPS 16 + #define Y_OVERCURRENT 2000 + #define Y_STALLCURRENT 1500 + + #define Y2_MICROSTEPS 16 + #define Y2_OVERCURRENT 2000 + #define Y2_STALLCURRENT 1500 + + #define Z_MICROSTEPS 16 + #define Z_OVERCURRENT 2000 + #define Z_STALLCURRENT 1500 + + #define Z2_MICROSTEPS 16 + #define Z2_OVERCURRENT 2000 + #define Z2_STALLCURRENT 1500 + + #define E0_MICROSTEPS 16 + #define E0_OVERCURRENT 2000 + #define E0_STALLCURRENT 1500 + + #define E1_MICROSTEPS 16 + #define E1_OVERCURRENT 2000 + #define E1_STALLCURRENT 1500 + + #define E2_MICROSTEPS 16 + #define E2_OVERCURRENT 2000 + #define E2_STALLCURRENT 1500 + + #define E3_MICROSTEPS 16 + #define E3_OVERCURRENT 2000 + #define E3_STALLCURRENT 1500 + + #define E4_MICROSTEPS 16 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + +#endif + +/** + * TWI/I2C BUS + * + * This feature is an EXPERIMENTAL feature so it shall not be used on production + * machines. Enabling this will allow you to send and receive I2C data from slave + * devices on the bus. + * + * ; Example #1 + * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) + * ; It uses multiple M260 commands with one B arg + * M260 A99 ; Target slave address + * M260 B77 ; M + * M260 B97 ; a + * M260 B114 ; r + * M260 B108 ; l + * M260 B105 ; i + * M260 B110 ; n + * M260 S1 ; Send the current buffer + * + * ; Example #2 + * ; Request 6 bytes from slave device with address 0x63 (99) + * M261 A99 B5 + * + * ; Example #3 + * ; Example serial output of a M261 request + * echo:i2c-reply: from:99 bytes:5 data:hello + */ + +// @section i2cbus + +//#define EXPERIMENTAL_I2CBUS +#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave + +// @section extras + +/** + * Spindle & Laser control + * + * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and + * to set spindle speed, spindle direction, and laser power. + * + * SuperPid is a router/spindle speed controller used in the CNC milling community. + * Marlin can be used to turn the spindle on and off. It can also be used to set + * the spindle speed from 5,000 to 30,000 RPM. + * + * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V + * hardware PWM pin for the speed control and a pin for the rotation direction. + * + * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details. + */ +//#define SPINDLE_LASER_ENABLE +#if ENABLED(SPINDLE_LASER_ENABLE) + + #define SPINDLE_LASER_ENABLE_INVERT false // set to "true" if the on/off function is reversed + #define SPINDLE_LASER_PWM true // set to true if your controller supports setting the speed/power + #define SPINDLE_LASER_PWM_INVERT true // set to "true" if the speed/power goes up when you want it to go slower + #define SPINDLE_LASER_POWERUP_DELAY 5000 // delay in milliseconds to allow the spindle/laser to come up to speed/power + #define SPINDLE_LASER_POWERDOWN_DELAY 5000 // delay in milliseconds to allow the spindle to stop + #define SPINDLE_DIR_CHANGE true // set to true if your spindle controller supports changing spindle direction + #define SPINDLE_INVERT_DIR false + #define SPINDLE_STOP_ON_DIR_CHANGE true // set to true if Marlin should stop the spindle before changing rotation direction + + /** + * The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power + * + * SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT + * where PWM duty cycle varies from 0 to 255 + * + * set the following for your controller (ALL MUST BE SET) + */ + + #define SPEED_POWER_SLOPE 118.4 + #define SPEED_POWER_INTERCEPT 0 + #define SPEED_POWER_MIN 5000 + #define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM + + //#define SPEED_POWER_SLOPE 0.3922 + //#define SPEED_POWER_INTERCEPT 0 + //#define SPEED_POWER_MIN 10 + //#define SPEED_POWER_MAX 100 // 0-100% +#endif + +/** + * Filament Width Sensor + * + * Measures the filament width in real-time and adjusts + * flow rate to compensate for any irregularities. + * + * Also allows the measured filament diameter to set the + * extrusion rate, so the slicer only has to specify the + * volume. + * + * Only a single extruder is supported at this time. + * + * 34 RAMPS_14 : Analog input 5 on the AUX2 connector + * 81 PRINTRBOARD : Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 RAMBO : Analog input 3 + * + * Note: May require analog pins to be defined for other boards. + */ +//#define FILAMENT_WIDTH_SENSOR + +#if ENABLED(FILAMENT_WIDTH_SENSOR) + #define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor. :[0,1,2,3,4] + #define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber + + #define FILWIDTH_ERROR_MARGIN 1.0 // (mm) If a measurement differs too much from nominal width ignore it + #define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM. + + #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially + + // Display filament width on the LCD status line. Status messages will expire after 5 seconds. + //#define FILAMENT_LCD_DISPLAY +#endif + +/** + * CNC Coordinate Systems + * + * Enables G53 and G54-G59.3 commands to select coordinate systems + * and G92.1 to reset the workspace to native machine space. + */ +//#define CNC_COORDINATE_SYSTEMS + +/** + * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins + */ +//#define PINS_DEBUGGING + +/** + * Auto-report temperatures with M155 S + */ +#define AUTO_REPORT_TEMPERATURES + +/** + * Include capabilities in M115 output + */ +#define EXTENDED_CAPABILITIES_REPORT + +/** + * Disable all Volumetric extrusion options + */ +//#define NO_VOLUMETRICS + +#if DISABLED(NO_VOLUMETRICS) + /** + * Volumetric extrusion default state + * Activate to make volumetric extrusion the default method, + * with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter. + * + * M200 D0 to disable, M200 Dn to set a new diameter. + */ + //#define VOLUMETRIC_DEFAULT_ON +#endif + +/** + * Enable this option for a leaner build of Marlin that removes all + * workspace offsets, simplifying coordinate transformations, leveling, etc. + * + * - M206 and M428 are disabled. + * - G92 will revert to its behavior from Marlin 1.0. + */ +//#define NO_WORKSPACE_OFFSETS + +/** + * Set the number of proportional font spaces required to fill up a typical character space. + * This can help to better align the output of commands like `G29 O` Mesh Output. + * + * For clients that use a fixed-width font (like OctoPrint), leave this set to 1.0. + * Otherwise, adjust according to your client and font. + */ +#define PROPORTIONAL_FONT_RATIO 1.0 + +/** + * Spend 28 bytes of SRAM to optimize the GCode parser + */ +#define FASTER_GCODE_PARSER + +/** + * User-defined menu items that execute custom GCode + */ +//#define CUSTOM_USER_MENUS +#if ENABLED(CUSTOM_USER_MENUS) + #define USER_SCRIPT_DONE "M117 User Script Done" + #define USER_SCRIPT_AUDIBLE_FEEDBACK + //#define USER_SCRIPT_RETURN // Return to status screen after a script + + #define USER_DESC_1 "Home & UBL Info" + #define USER_GCODE_1 "G28\nG29 W" + + #define USER_DESC_2 "Preheat for PLA" + #define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) + + #define USER_DESC_3 "Preheat for ABS" + #define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) + + #define USER_DESC_4 "Heat Bed/Home/Level" + #define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29" + + #define USER_DESC_5 "Home & Info" + #define USER_GCODE_5 "G28\nM503" +#endif + +/** + * Specify an action command to send to the host when the printer is killed. + * Will be sent in the form '//action:ACTION_ON_KILL', e.g. '//action:poweroff'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_KILL "poweroff" + +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + +//=========================================================================== +//====================== I2C Position Encoder Settings ====================== +//=========================================================================== + +/** + * I2C position encoders for closed loop control. + * Developed by Chris Barr at Aus3D. + * + * Wiki: http://wiki.aus3d.com.au/Magnetic_Encoder + * Github: https://github.com/Aus3D/MagneticEncoder + * + * Supplier: http://aus3d.com.au/magnetic-encoder-module + * Alternative Supplier: http://reliabuild3d.com/ + * + * Reilabuild encoders have been modified to improve reliability. + */ + +//#define I2C_POSITION_ENCODERS +#if ENABLED(I2C_POSITION_ENCODERS) + + #define I2CPE_ENCODER_CNT 1 // The number of encoders installed; max of 5 + // encoders supported currently. + + #define I2CPE_ENC_1_ADDR I2CPE_PRESET_ADDR_X // I2C address of the encoder. 30-200. + #define I2CPE_ENC_1_AXIS X_AXIS // Axis the encoder module is installed on. _AXIS. + #define I2CPE_ENC_1_TYPE I2CPE_ENC_TYPE_LINEAR // Type of encoder: I2CPE_ENC_TYPE_LINEAR -or- + // I2CPE_ENC_TYPE_ROTARY. + #define I2CPE_ENC_1_TICKS_UNIT 2048 // 1024 for magnetic strips with 2mm poles; 2048 for + // 1mm poles. For linear encoders this is ticks / mm, + // for rotary encoders this is ticks / revolution. + //#define I2CPE_ENC_1_TICKS_REV (16 * 200) // Only needed for rotary encoders; number of stepper + // steps per full revolution (motor steps/rev * microstepping) + //#define I2CPE_ENC_1_INVERT // Invert the direction of axis travel. + #define I2CPE_ENC_1_EC_METHOD I2CPE_ECM_MICROSTEP // Type of error error correction. + #define I2CPE_ENC_1_EC_THRESH 0.10 // Threshold size for error (in mm) above which the + // printer will attempt to correct the error; errors + // smaller than this are ignored to minimize effects of + // measurement noise / latency (filter). + + #define I2CPE_ENC_2_ADDR I2CPE_PRESET_ADDR_Y // Same as above, but for encoder 2. + #define I2CPE_ENC_2_AXIS Y_AXIS + #define I2CPE_ENC_2_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_ENC_2_TICKS_UNIT 2048 + //#define I2CPE_ENC_2_TICKS_REV (16 * 200) + //#define I2CPE_ENC_2_INVERT + #define I2CPE_ENC_2_EC_METHOD I2CPE_ECM_MICROSTEP + #define I2CPE_ENC_2_EC_THRESH 0.10 + + #define I2CPE_ENC_3_ADDR I2CPE_PRESET_ADDR_Z // Encoder 3. Add additional configuration options + #define I2CPE_ENC_3_AXIS Z_AXIS // as above, or use defaults below. + + #define I2CPE_ENC_4_ADDR I2CPE_PRESET_ADDR_E // Encoder 4. + #define I2CPE_ENC_4_AXIS E_AXIS + + #define I2CPE_ENC_5_ADDR 34 // Encoder 5. + #define I2CPE_ENC_5_AXIS E_AXIS + + // Default settings for encoders which are enabled, but without settings configured above. + #define I2CPE_DEF_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_DEF_ENC_TICKS_UNIT 2048 + #define I2CPE_DEF_TICKS_REV (16 * 200) + #define I2CPE_DEF_EC_METHOD I2CPE_ECM_NONE + #define I2CPE_DEF_EC_THRESH 0.1 + + //#define I2CPE_ERR_THRESH_ABORT 100.0 // Threshold size for error (in mm) error on any given + // axis after which the printer will abort. Comment out to + // disable abort behaviour. + + #define I2CPE_TIME_TRUSTED 10000 // After an encoder fault, there must be no further fault + // for this amount of time (in ms) before the encoder + // is trusted again. + + /** + * Position is checked every time a new command is executed from the buffer but during long moves, + * this setting determines the minimum update time between checks. A value of 100 works well with + * error rolling average when attempting to correct only for skips and not for vibration. + */ + #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks. + + // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. + #define I2CPE_ERR_ROLLING_AVERAGE + +#endif // I2C_POSITION_ENCODERS + +/** + * MAX7219 Debug Matrix + * + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. + */ +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + + /** + * Sample debug features + * If you add more debug displays, be careful to avoid conflicts! + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row + + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row + // If you experience stuttering, reboots, etc. this option can reveal how + // tweaks made to the configuration are affecting the printer in real-time. +#endif + +/** + * NanoDLP Sync support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + */ +//#define NANODLP_Z_SYNC +#if ENABLED(NANODLP_Z_SYNC) + //#define NANODLP_ALL_AXIS // Enables "Z_move_comp" output on any axis move. + // Default behaviour is limited to Z axis only. +#endif + +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + +#endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Einstart-S/readme.md b/Marlin/src/config/examples/Einstart-S/readme.md new file mode 100644 index 000000000000..56635ec7a0cf --- /dev/null +++ b/Marlin/src/config/examples/Einstart-S/readme.md @@ -0,0 +1,152 @@ +## Einstart S Machine Notes + +The Einstart S is a commercial machine that ships with a proprietary firmware and "licensed" slicer program which requires the original SD card or license file (.lic/.reg) from support in order to function. The impetus for the port was that I acquired the machine on the weekend when tech support was closed. + +## Specifications: + + - Powder coated, formed steel enclosure + - Machined Aluminum internal axis support frame + - Genuine matched HIWIN rails on all axis + - Genuine Minebea NEMA17 motors (200 steps/rev) + - THC7128 3A Stepper Drivers (configured for 16 microsteps, loud) + - 160x160 magnetically coupled non-heated bed + - PLA Only Direct Drive extruder + - SH1106 OLED Display w/ Cardinal navigation + - 9533 I2C PWM RGB LED Chassis illumination + - Onboard SD-Card Support + +## Initial modifications + +### Bootloader/Marlin installation + +This machine probably doesn't ship with the arduino boot loader, so unless you reflow a 2560 on there to replace the atmega1280 like I did (to preserve the original firmware), you'll need to use ISP to do an initial firmware load and/or bootloader flash! + +It's not that bad though, you can just buy an ISP programmer with the appropriate header, or build an ISP programmer using the Arduino ISP sketch (wiring is easier if you use the "old style wiring" which utilizes the following pinout: (see the comments in the ArduinoISP sketch). + +I used an arduino Nano and a header I had lying around, but you could do the same with a nano and some dupont headers cut and soldered to the board, and taped/glued into a header. + +Triple check your pinouts, it shouldn't fry if connected backwards but if your pinout is wrong you're going to struggle for sure. + +#### ArduinoISP Sketch pinout for 10pin ISP header using "old style wiring": + +See the comments in the ArduinoISP sketch under File:Examples:ArduinoISP + +1 MOSI D11 +2 5v Vcc +3 N/C +4 GND +5 RES D10 +6 N/C +7 SCK D13 +8 N/C +9 MISO D12 +10 GND GND + +#### Einstart Motherboard ISP Header Pinout + +The 10 pin ISP Header is located to the right of the ATMEGA chip, just above the long LCD header. + +#### ISP Diagram + +<--- Face of chassis + +MOSI ( 1 ) ( 2 ) Vcc + N/C ( 3 ) ( 4 ) GND + RST ( 5 ) ( 6 ) GND + SCK ( 7 ) ( 8 ) GND +MISO ( 9 ) (10 ) GND + +Component Plugs ---> + +### Motherboard Diagram + + |1234|1234|1234|1234|12|12|12|12|12|12|12|12|12|12|123|12|1234| + --------------------------------------------------------------- +| XMOT YMOT ZMOT EMOT EF HB HE PF ZS YS XS PS BT ET PT1 TC VBRG | +| ===== ====== [DC| +|====== ====== ____ ISP IC1__ ___| +| |1280| ::::: | | |USB| +| |____| 1 |__| |___| +| BUTTON |SD | +| GDLRUO LCD |___| +|________________________[......][....................]_________| + +Legend: + +XMOT X-Motor +YMOT Y-Motor +ZMOT Z-Motor +EMOT E-Motor +EF Extruder Fan +HB Heated Bed (PWM) +HE Hot End (PWM) +PF Part Fan (PWM) +ZS Z-Endstop (Max) +YS Y-Endstop (Min) +XS X-Endstop (Min) +PS SPST Switch to enable DC 24v +BT Bed Thermistor (header not populated) +ET Extruder Thermistor +PT1 PT100 Thermocouple (not populated) +TC Thermocouple (not populated) +VBRG LED Output from PCA5933 +BUTTONS +G GND (buttons are pulled low on activation) +D DOWN +L LEFT +R RIGHT +U UP +O OK (MIDDLE) + +## Uploading Marlin firmware to a stock Einstart S + +### Summary: + +Make, buy or steal a 10 pin ISP programmer and select the appropriate programmer option via Tools:Programmer in Arduino IDE, use the Sketch:Upload Using Programmer command or Shift-Ctrl-U (vs Ctrl-U to upload via serial). + +### Detailed procedure: + +You can either load Marlin directly via ISP programmer (easiest, but requires opening the chassis every time you want to change/update firmware) or, just program the bootloader which will enable later uploads via USB. HOWEVER, to actually upload the sketch you will need one of the following: + + - ISP programming header (ArduinoISP sketch, pinout below) + - OR + - Install bootloader on atmega1280 to enable native USB uploads (also requires ISP). + - AND + - Connect button between RESET and GND on ISP header, release post compile just before upload starts. + - OR + - Install permanent modification described below, requires no button press during upload. + +### Permanent modification to enable USB uploads via Arduino IDE + +As a permanent modification to enable direct USB upload from the arduino IDE, you would need to flash the boot loader using ISP first; but then you can solder a wire or 100n capacaitor between the DTR line on the FTDI to the reset line, which is conveniently located in several places on the board. + +#### FTDI Chip Diagram (IC1) + + ______ + TXD --|1 28|--OSCO + DTR --|2 27|--OSCI + RTS --|3 26|--TEST + VCCIO--|4 25|--AGND + RXD --|5 24|--N/C + RI --|6 23|--CBUS0 + GND --|7 22|--CBUS1 + N/C --|8 21|--GND + DSR --|9 20|--Vcc + DCD --|10 19|--RES + CTS --|11 18|--GND + CBUS4--|12 17|--3V3 + CBUS2--|13 16|--USBDM + CBUS3--|14 15|--USBDP + |______| + +#### Arduino Reset Circuit + + DTR-----||----GND----/\/\/\/----Vcc + 100nf 10k + +With this modification you no longer need the reset button and you can program directly from the Arduino IDE. + +### Power notes during flashing. + +You do NOT need power connected when flashing via ISP. +You DO need power when flashing via USB Serial but you MUST time the release of the reset line to allow the upload unless you've performed the permanent modification. \ No newline at end of file diff --git a/Marlin/src/config/examples/Felix/Configuration.h b/Marlin/src/config/examples/Felix/Configuration.h index 545522045e55..8aeadeb90af3 100644 --- a/Marlin/src/config/examples/Felix/Configuration.h +++ b/Marlin/src/config/examples/Felix/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -427,15 +429,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -525,10 +532,50 @@ #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -598,15 +645,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -658,6 +704,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -687,6 +734,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -730,10 +780,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -757,6 +807,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -795,9 +846,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -861,6 +909,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1039,8 +1091,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1052,6 +1104,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1325,11 +1382,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1357,19 +1413,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1396,6 +1439,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1460,12 +1512,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1489,40 +1547,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1531,28 +1555,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1560,39 +1562,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1639,6 +1630,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1659,25 +1727,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1693,6 +1747,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1714,6 +1775,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1773,7 +1862,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Felix/Configuration_adv.h b/Marlin/src/config/examples/Felix/Configuration_adv.h index 6fb4725e6a14..a72348067f50 100644 --- a/Marlin/src/config/examples/Felix/Configuration_adv.h +++ b/Marlin/src/config/examples/Felix/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Felix/DUAL/Configuration.h b/Marlin/src/config/examples/Felix/DUAL/Configuration.h index 17250f5242fc..a1fd1a9fce94 100644 --- a/Marlin/src/config/examples/Felix/DUAL/Configuration.h +++ b/Marlin/src/config/examples/Felix/DUAL/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 1 @@ -427,15 +429,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -525,10 +532,50 @@ #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -598,15 +645,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -658,6 +704,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -687,6 +734,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -730,10 +780,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -757,6 +807,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -795,9 +846,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -861,6 +909,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1039,8 +1091,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1052,6 +1104,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1325,11 +1382,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1357,19 +1413,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1396,6 +1439,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1460,12 +1512,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1489,40 +1547,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1531,28 +1555,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1560,39 +1562,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1639,6 +1630,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1659,25 +1727,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1693,6 +1747,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1714,6 +1775,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1773,7 +1862,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h index 54a0495fdd65..d273ae8c7067 100644 --- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h +++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -451,15 +453,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -553,6 +560,23 @@ // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -622,15 +646,14 @@ #define DEFAULT_EJERK 4.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -682,6 +705,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -711,6 +735,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -754,10 +781,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 7500 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -781,6 +808,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 3 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 3 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 3 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -819,9 +847,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -885,6 +910,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -991,10 +1020,10 @@ #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X // Set the boundaries for probing (where the probe can reach). - //#define LEFT_PROBE_BED_POSITION (X_MIN_POS + 33) - //#define RIGHT_PROBE_BED_POSITION (X_MAX_POS - 37) - //#define FRONT_PROBE_BED_POSITION (Y_MIN_POS + 7) - //#define BACK_PROBE_BED_POSITION (Y_MAX_POS - 12) + //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE) + //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE) // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST @@ -1017,17 +1046,6 @@ #endif -#elif ENABLED(AUTO_BED_LEVELING_3POINT) - - // 3 arbitrary points to probe. - // A simple cross-product is used to estimate the plane of the bed. - #define PROBE_PT_1_X 39 - #define PROBE_PT_1_Y 170 - #define PROBE_PT_2_X 39 - #define PROBE_PT_2_Y 10 - #define PROBE_PT_3_X 170 - #define PROBE_PT_3_Y 10 - #elif ENABLED(AUTO_BED_LEVELING_UBL) //=========================================================================== @@ -1038,14 +1056,7 @@ #define MESH_INSET 0 // Set Mesh bounds as an inset region of the bed #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. - #define GRID_MAX_POINTS_Y 10 - - #define PROBE_PT_1_X 45 // Probing points for 3-Point leveling of the mesh - #define PROBE_PT_1_Y 170 - #define PROBE_PT_2_X 45 - #define PROBE_PT_2_Y 25 - #define PROBE_PT_3_X 180 - #define PROBE_PT_3_Y 25 + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 @@ -1072,17 +1083,17 @@ * Override if the automatically selected points are inadequate. */ #if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 + #define PROBE_PT_1_X 45 + #define PROBE_PT_1_Y 170 + #define PROBE_PT_2_X 45 + #define PROBE_PT_2_Y 25 + #define PROBE_PT_3_X 180 + #define PROBE_PT_3_Y 25 #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1094,6 +1105,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1367,11 +1383,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1399,19 +1414,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1438,6 +1440,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1502,12 +1513,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1531,40 +1548,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1573,28 +1556,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1602,39 +1563,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1681,6 +1631,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1701,25 +1728,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1735,6 +1748,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1756,6 +1776,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1815,7 +1863,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h index 51c485a6d5fd..3aa686217f4e 100644 --- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h +++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ #define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,11 +1627,8 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ #define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) @@ -1592,23 +1636,28 @@ #define MAX7219_DIN_PIN 57 // on RAMPS #define MAX7219_LOAD_PIN 44 // on RAMPS -//#define MAX7219_CLK_PIN 77 // on Re-ARM // Configuration of the 3 pins to control the display -//#define MAX7219_DIN_PIN 78 // on Re-ARM -//#define MAX7219_LOAD_PIN 79 // on Re-ARM +//#define MAX7219_CLK_PIN P1_04 // on Re-ARM ENET_TX_EN J12-10 +//#define MAX7219_DIN_PIN P1_00 // on Re-ARM ENET_TXD0 J12-11 +//#define MAX7219_LOAD_PIN P1_01 // on Re-ARM ENET_TXD1 J12-12 -//#define MAX7219_CLK_PIN 30 // for RAMPS E1 // Configuration of the 3 pins to control the display -//#define MAX7219_DIN_PIN 34 // for RAMPS E1 -//#define MAX7219_LOAD_PIN 36 // for RAMPS E1 +//#define MAX7219_CLK_PIN P4_29 // for RAMPS E1 on Re-ARM E1_ENABLE_PIN P4_29 +//#define MAX7219_DIN_PIN P2_13 // for RAMPS E1 on Re-ARM E1_DIR_PIN P2_13 +//#define MAX7219_LOAD_PIN P2_08 // for RAMPS E1 on Re-ARM E1_STEP_PIN P2_08 + #define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 2 // Number of Max7219 units in chain. + #define MAX7219_ROTATE -90 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1626,4 +1675,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h b/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h index 835517cb217b..701bfff164e6 100644 --- a/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -461,15 +463,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -559,10 +566,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -631,15 +678,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -691,6 +737,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -720,6 +767,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -763,10 +813,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -790,6 +840,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -828,9 +879,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -894,6 +942,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1072,8 +1124,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1085,6 +1137,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1358,11 +1415,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1390,19 +1446,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1429,6 +1472,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1493,12 +1545,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1522,40 +1580,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1564,28 +1588,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1593,39 +1595,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1672,6 +1663,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1692,25 +1760,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1726,6 +1780,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1747,6 +1808,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1806,7 +1895,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h b/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h index 33669e37d16e..b21b159e1184 100644 --- a/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 300 @@ -544,10 +551,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +663,14 @@ #define DEFAULT_EJERK 4.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +722,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +752,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +798,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +825,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 6 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 6 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +864,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +927,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1109,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1122,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1400,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1431,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1457,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1530,18 @@ #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 #define LCD_FEEDBACK_FREQUENCY_HZ 1000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1565,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1573,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1580,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1648,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1745,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1765,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1793,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1880,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h index b4e227732ac6..1f63eaae3dfe 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -461,15 +463,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -559,10 +566,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -631,15 +678,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -692,6 +738,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -721,6 +768,9 @@ * readings with inductive probes and piezo sensors. */ #define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif #define PROBING_FANS_OFF // Turn fans off when probing #define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -764,10 +814,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST (20*60) -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -791,6 +841,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -829,9 +880,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -895,6 +943,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1073,8 +1125,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1086,6 +1138,11 @@ // Add a menu item to move between bed corners for manual bed adjustment #define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1359,11 +1416,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1391,19 +1447,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1430,6 +1473,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1494,12 +1546,18 @@ #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 #define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1523,40 +1581,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1565,28 +1589,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1594,39 +1596,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1673,6 +1664,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1693,25 +1761,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1727,6 +1781,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1748,6 +1809,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1807,7 +1896,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h index 89a02442dc85..226911d180d4 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -461,15 +463,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -559,10 +566,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -631,15 +678,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -691,6 +737,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ #define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -720,6 +767,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -763,10 +813,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST (20*60) -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -790,6 +840,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -828,9 +879,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -894,6 +942,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1072,8 +1124,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ #define LCD_BED_LEVELING @@ -1085,6 +1137,11 @@ // Add a menu item to move between bed corners for manual bed adjustment #define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1358,11 +1415,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1390,19 +1446,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1429,6 +1472,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1493,12 +1545,18 @@ #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 #define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1522,40 +1580,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1564,28 +1588,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1593,39 +1595,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1672,6 +1663,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1692,25 +1760,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1726,6 +1780,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1747,6 +1808,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1806,7 +1895,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h new file mode 100644 index 000000000000..794f9e617679 --- /dev/null +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h @@ -0,0 +1,1953 @@ +/** + * 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 . + * + */ + +/** + * Configuration.h + * + * Basic settings such as: + * + * - Type of electronics + * - Type of temperature sensor + * - Printer geometry + * - Endstop configuration + * - LCD controller + * - Extra features + * + * Advanced settings can be found in Configuration_adv.h + * + */ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H +#define CONFIGURATION_H_VERSION 020000 + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== + +/** + * Here are some standard links for getting your machine calibrated: + * + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 + */ + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer start with one of the configuration files in the +// config/examples/delta directory and customize for your machine. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a SCARA printer start with the configuration files in +// config/examples/SCARA and customize for your machine. +// + +// @section info + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_CONFIG_H_AUTHOR "(Phr3d13, default config)" // Who made the changes. +#define SHOW_BOOTSCREEN +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 + +/** + * *** VENDORS PLEASE READ *** + * + * Marlin allows you to add a custom boot image for Graphical LCDs. + * With this option Marlin will first show your custom screen followed + * by the standard Marlin logo with version number and web URL. + * + * We encourage you to take advantage of this new feature and we also + * respectfully request that you retain the unmodified Marlin boot screen. + */ + +// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +//#define SHOW_CUSTOM_BOOTSCREEN + +// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +//#define CUSTOM_STATUS_SCREEN_IMAGE + +// @section machine + +/** + * Select the serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +#define SERIAL_PORT 0 + +/** + * Select a secondary serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Serial port -1 is the USB emulated serial port, if available. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +//#define SERIAL_PORT_2 -1 + +/** + * This setting determines the communication speed of the printer. + * + * 250000 works in most cases, but you might try a lower speed if + * you commonly experience drop-outs during host printing. + * You may try up to 1000000 to speed up SD file transfer. + * + * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] + */ +#define BAUDRATE 250000 + +// Enable the Bluetooth serial interface on AT90USB devices +//#define BLUETOOTH + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_GT2560_REV_A +#endif + +// Optional custom name for your RepStrap or other custom machine +// Displayed in the LCD "Ready" message +#define CUSTOM_MACHINE_NAME "Pro C" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// @section extruder + +// This defines the number of extruders +// :[1, 2, 3, 4, 5] +#define EXTRUDERS 2 + +// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc. +#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 + +// For Cyclops or any "multi-extruder" that shares a single nozzle. +//#define SINGLENOZZLE + +/** + * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. + * + * This device allows one stepper driver on a control board to drive + * two to eight stepper motors, one at a time, in a manner suitable + * for extruders. + * + * This option only allows the multiplexer to switch on tool-change. + * Additional options to configure custom E moves are pending. + */ +//#define MK2_MULTIPLEXER +#if ENABLED(MK2_MULTIPLEXER) + // Override the default DIO selector pins here, if needed. + // Some pins files may provide defaults for these pins. + //#define E_MUX0_PIN 40 // Always Required + //#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers + //#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers +#endif + +// A dual extruder that uses a single stepper motor +//#define SWITCHING_EXTRUDER +#if ENABLED(SWITCHING_EXTRUDER) + #define SWITCHING_EXTRUDER_SERVO_NR 0 + #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3] + #if EXTRUDERS > 3 + #define SWITCHING_EXTRUDER_E23_SERVO_NR 1 + #endif +#endif + +// A dual-nozzle that uses a servomotor to raise/lower one of the nozzles +//#define SWITCHING_NOZZLE +#if ENABLED(SWITCHING_NOZZLE) + #define SWITCHING_NOZZLE_SERVO_NR 0 + #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1 + //#define HOTEND_OFFSET_Z { 0.0, 0.0 } +#endif + +/** + * Two separate X-carriages with extruders that connect to a moving part + * via a magnetic docking mechanism. Requires SOL1_PIN and SOL2_PIN. + */ +//#define PARKING_EXTRUDER +#if ENABLED(PARKING_EXTRUDER) + #define PARKING_EXTRUDER_SOLENOIDS_INVERT // If enabled, the solenoid is NOT magnetized with applied voltage + #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW // LOW or HIGH pin signal energizes the coil + #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250 // Delay (ms) for magnetic field. No delay if 0 or not defined. + #define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders + #define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder + #define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking + #define HOTEND_OFFSET_Z { 0.0, 1.3 } // Z-offsets of the two hotends. The first must be 0. +#endif + +/** + * "Mixing Extruder" + * - Adds a new code, M165, to set the current mix factors. + * - Extends the stepping routines to move multiple steppers in proportion to the mix. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. + * - This implementation supports only a single extruder. + * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation + */ +//#define MIXING_EXTRUDER +#if ENABLED(MIXING_EXTRUDER) + #define MIXING_STEPPERS 2 // Number of steppers in your mixing extruder + #define MIXING_VIRTUAL_TOOLS 16 // Use the Virtual Tool method with M163 and M164 + //#define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands +#endif + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +#define HOTEND_OFFSET_X {0.0, 32.00} // (in mm) for each extruder, offset of the hotend on the X axis +//#define HOTEND_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +// @section machine + +/** + * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN + * + * 0 = No Power Switch + * 1 = ATX + * 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) + * + * :{ 0:'No power switch', 1:'ATX', 2:'X-Box 360' } + */ +#define POWER_SUPPLY 0 + +#if POWER_SUPPLY > 0 + // Enable this option to leave the PSU off at startup. + // Power to steppers and heaters will need to be turned on with M80. + //#define PS_DEFAULT_OFF + + //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin + #if ENABLED(AUTO_POWER_CONTROL) + #define AUTO_POWER_FANS // Turn on PSU if fans need power + #define AUTO_POWER_E_FANS + #define AUTO_POWER_CONTROLLERFAN + #define POWER_TIMEOUT 30 + #endif + +#endif + +// @section temperature + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== + +/** + * --NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table + * + * Temperature sensors available: + * + * -4 : thermocouple with AD8495 + * -3 : thermocouple with MAX31855 (only for sensor 0) + * -2 : thermocouple with MAX6675 (only for sensor 0) + * -1 : thermocouple with AD595 + * 0 : not used + * 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup) + * 2 : 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) + * 3 : Mendel-parts thermistor (4.7k pullup) + * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! + * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor + * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) + * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) + * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) + * 8 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) + * 9 : 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) + * 10 : 100k RS thermistor 198-961 (4.7k pullup) + * 11 : 100k beta 3950 1% thermistor (4.7k pullup) + * 12 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) + * 13 : 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" + * 15 : 100k thermistor calibration for JGAurora A5 hotend + * 20 : the PT100 circuit found in the Ultimainboard V2.x + * 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 + * 66 : 4.7M High Temperature thermistor from Dyze Design + * 70 : the 100K thermistor found in the bq Hephestos 2 + * 75 : 100k Generic Silicon Heat Pad with NTC 100K MGB18-104F39050L32 thermistor + * + * 1k ohm pullup tables - This is atypical, and requires changing out the 4.7k pullup for 1k. + * (but gives greater accuracy and more stable PID) + * 51 : 100k thermistor - EPCOS (1k pullup) + * 52 : 200k thermistor - ATC Semitec 204GT-2 (1k pullup) + * 55 : 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) + * + * 1047 : Pt1000 with 4k7 pullup + * 1010 : Pt1000 with 1k pullup (non standard) + * 147 : Pt100 with 4k7 pullup + * 110 : Pt100 with 1k pullup (non standard) + * + * Use these for Testing or Development purposes. NEVER for production machine. + * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. + * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. + * + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + */ +#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_1 1 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_BED 1 +#define TEMP_SENSOR_CHAMBER 0 + +// Dummy thermistor constant temperature readings, for use with 998 and 999 +#define DUMMY_THERMISTOR_998_VALUE 25 +#define DUMMY_THERMISTOR_999_VALUE 100 + +// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings +// from the two sensors differ too much the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Extruder temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// Bed temperature must be close to target for this long before M190 returns success +#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) +#define TEMP_BED_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_BED_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define HEATER_4_MINTEMP 5 +#define BED_MINTEMP 5 + +// When temperature exceeds max temp, your heater will be switched off. +// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! +// You should use MINTEMP for thermistor short/failure protection. +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define HEATER_4_MAXTEMP 275 +#define BED_MAXTEMP 150 + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#define PID_K1 0.95 // Smoothing factor within any PID loop +#if ENABLED(PIDTEMP) + //#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result. + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + + // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it + + // Ultimaker + #define DEFAULT_Kp 22.2 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114 + + // MakerGear + //#define DEFAULT_Kp 7.0 + //#define DEFAULT_Ki 0.1 + //#define DEFAULT_Kd 12 + + // Mendel Parts V9 on 12V + //#define DEFAULT_Kp 63.0 + //#define DEFAULT_Ki 2.25 + //#define DEFAULT_Kd 440 + +#endif // PIDTEMP + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== + +/** + * PID Bed Heating + * + * If this option is enabled set PID constants below. + * If this option is disabled, bang-bang will be used and BED_LIMIT_SWITCHING will enable hysteresis. + * + * The PID frequency will be the same as the extruder PWM. + * If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz, + * which is fine for driving a square wave into a resistive load and does not significantly + * impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W + * heater. If your configuration is significantly different than this and you don't understand + * the issues involved, don't use bed PID until someone else verifies that your hardware works. + */ +//#define PIDTEMPBED + +//#define BED_LIMIT_SWITCHING + +/** + * Max Bed Power + * Applies to all forms of bed control (PID, bang-bang, and bang-bang with hysteresis). + * When set to any value below 255, enables a form of PWM to the bed that acts like a divider + * so don't use it unless you are OK with PWM on your bed. (See the comment on enabling PIDTEMPBED) + */ +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +#if ENABLED(PIDTEMPBED) + + //#define PID_BED_DEBUG // Sends debug data to the serial port. + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from pidautotune + //#define DEFAULT_bedKp 97.1 + //#define DEFAULT_bedKi 1.41 + //#define DEFAULT_bedKd 1675.16 + + // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + +// @section extruder + +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ +#define PREVENT_COLD_EXTRUSION +#define EXTRUDE_MINTEMP 170 + +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ +#define PREVENT_LENGTHY_EXTRUDE +#define EXTRUDE_MAXLENGTH 200 + +//=========================================================================== +//======================== Thermal Runaway Protection ======================= +//=========================================================================== + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * If you get "Thermal Runaway" or "Heating failed" errors the + * details can be tuned in Configuration_adv.h + */ + +#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders +#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// @section machine + +// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics +// either in the usual order or reversed +//#define COREXY +//#define COREXZ +//#define COREYZ +//#define COREYX +//#define COREZX +//#define COREZY + +//=========================================================================== +//============================== Endstop Settings =========================== +//=========================================================================== + +// @section homing + +// Specify here all the endstop connectors that are connected to any endstop or probe. +// Almost all printers will be using one per axis. Probes will use one or more of the +// extra connectors. Leave undefined any used for non-endstop and non-probe purposes. +#define USE_XMIN_PLUG +#define USE_YMIN_PLUG +#define USE_ZMIN_PLUG +//#define USE_XMAX_PLUG +//#define USE_YMAX_PLUG +//#define USE_ZMAX_PLUG + +// Enable pullup for all endstops to prevent a floating state +#define ENDSTOPPULLUPS +#if DISABLED(ENDSTOPPULLUPS) + // Disable ENDSTOPPULLUPS to set pullups individually + //#define ENDSTOPPULLUP_XMAX + //#define ENDSTOPPULLUP_YMAX + //#define ENDSTOPPULLUP_ZMAX + //#define ENDSTOPPULLUP_XMIN + //#define ENDSTOPPULLUP_YMIN + //#define ENDSTOPPULLUP_ZMIN + //#define ENDSTOPPULLUP_ZMIN_PROBE +#endif + +// Enable pulldown for all endstops to prevent a floating state +//#define ENDSTOPPULLDOWNS +#if DISABLED(ENDSTOPPULLDOWNS) + // Disable ENDSTOPPULLDOWNS to set pulldowns individually + //#define ENDSTOPPULLDOWN_XMAX + //#define ENDSTOPPULLDOWN_YMAX + //#define ENDSTOPPULLDOWN_ZMAX + //#define ENDSTOPPULLDOWN_XMIN + //#define ENDSTOPPULLDOWN_YMIN + //#define ENDSTOPPULLDOWN_ZMIN + //#define ENDSTOPPULLDOWN_ZMIN_PROBE +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. + +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + +// Enable this feature if all enabled endstop pins are interrupt-capable. +// This will remove the need to poll the interrupt pins, saving many CPU cycles. +//#define ENDSTOP_INTERRUPTS_FEATURE + +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + +//============================================================================= +//============================== Movement Settings ============================ +//============================================================================= +// @section motion + +/** + * Default Settings + * + * These settings can be reset by M502 + * + * Note that if EEPROM is enabled, saved values will override these. + */ + +/** + * With this option each E stepper can have its own factors for the + * following movement settings. If fewer factors are given than the + * total number of extruders, the last value applies to the rest. + */ +#define DISTINCT_E_FACTORS + +/** + * Default Axis Steps Per Unit (steps/mm) + * Override with M92 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 2560, 95, 95 } + +/** + * Default Max Feed Rate (mm/s) + * Override with M203 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } + +/** + * Default Max Acceleration (change/s) change = mm/s + * (Maximum start speed for accelerated moves) + * Override with M201 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } + +/** + * Default Acceleration (change/s) change = mm/s + * Override with M204 + * + * M204 P Acceleration + * M204 R Retract Acceleration + * M204 T Travel Acceleration + */ +#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves +#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts +#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves + +/** + * Default Jerk (mm/s) + * Override with M205 X Y Z E + * + * "Jerk" specifies the minimum speed change that requires acceleration. + * When changing speed and direction, if the difference is less than the + * value set here, it may happen instantaneously. + */ +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 +#define DEFAULT_EJERK 5.0 + +/** + * S-Curve Acceleration + * + * This option eliminates vibration during printing by fitting a Bézier + * curve to move acceleration, producing much smoother direction changes. + * + * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained + */ +//#define S_CURVE_ACCELERATION + +//=========================================================================== +//============================= Z Probe Options ============================= +//=========================================================================== +// @section probes + +// +// See http://marlinfw.org/docs/configuration/probes.html +// + +/** + * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + * + * Enable this option for a probe connected to the Z Min endstop pin. + */ +#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + +/** + * Z_MIN_PROBE_ENDSTOP + * + * Enable this option for a probe connected to any pin except Z-Min. + * (By default Marlin assumes the Z-Max endstop pin.) + * To use a custom Z Probe pin, set Z_MIN_PROBE_PIN below. + * + * - The simplest option is to use a free endstop connector. + * - Use 5V for powered (usually inductive) sensors. + * + * - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin: + * - For simple switches connect... + * - normally-closed switches to GND and D32. + * - normally-open switches to 5V and D32. + * + * WARNING: Setting the wrong pin may have unexpected and potentially + * disastrous consequences. Use with caution and do your homework. + * + */ +//#define Z_MIN_PROBE_ENDSTOP + +/** + * Probe Type + * + * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. + * Activate one of these to use Auto Bed Leveling below. + */ + +/** + * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. + * Use G29 repeatedly, adjusting the Z height at each point with movement commands + * or (with LCD_BED_LEVELING) the LCD controller. + */ +//#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 + +/** + * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. + * (e.g., an inductive probe or a nozzle-based probe-switch.) + */ +//#define FIX_MOUNTED_PROBE + +/** + * Z Servo Probe, such as an endstop switch on a rotating arm. + */ +//#define Z_PROBE_SERVO_NR 0 // Defaults to SERVO 0 connector. +//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles + +/** + * The BLTouch probe uses a Hall effect sensor and emulates a servo. + */ +//#define BLTOUCH +#if ENABLED(BLTOUCH) + //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed +#endif + +/** + * Enable one or more of the following if probing seems unreliable. + * Heaters and/or fans can be disabled during probing to minimize electrical + * noise. A delay can also be added to allow noise and vibration to settle. + * These options are most useful for the BLTouch probe, but may also improve + * readings with inductive probes and piezo sensors. + */ +//#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif +//#define PROBING_FANS_OFF // Turn fans off when probing +//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors + +// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) +//#define SOLENOID_PROBE + +// A sled-mounted probe like those designed by Charles Bell. +//#define Z_PROBE_SLED +//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + +// +// For Z_PROBE_ALLEN_KEY see the Delta example configurations. +// + +/** + * Z Probe to nozzle (X,Y) offset, relative to (0, 0). + * X and Y offsets must be integers. + * + * In the following example the X and Y offsets are both positive: + * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 + * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * +-- BACK ---+ + * | | + * L | (+) P | R <-- probe (20,20) + * E | | I + * F | (-) N (+) | G <-- nozzle (10,10) + * T | | H + * | (-) | T + * | | + * O-- FRONT --+ + * (0,0) + */ +#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] +#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] +#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + +// Certain types of probes need to stay away from edges +#define MIN_PROBE_EDGE 10 + +// X and Y axis travel speed (mm/m) between probes +#define XY_PROBE_SPEED 8000 + +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) +#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z + +// Feedrate (mm/m) for the "accurate" probe of each point +#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) + +// The number of probes to perform at each point. +// Set to 2 for a fast/slow probe, using the second probe result. +// Set to 3 or more for slow probes, averaging the results. +//#define MULTIPLE_PROBING 2 + +/** + * Z probes require clearance when deploying, stowing, and moving between + * probe points to avoid hitting the bed and other hardware. + * Servo-mounted probes require extra space for the arm to rotate. + * Inductive probes need space to keep from triggering early. + * + * Use these settings to specify the distance (mm) to raise the probe (or + * lower the bed). The values set here apply over and above any (negative) + * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * Only integer values >= 1 are valid here. + * + * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. + * But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle. + */ +#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow +#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes +//#define Z_AFTER_PROBING 5 // Z position after probing is done + +#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping + +// For M851 give a range for adjusting the Z probe offset +#define Z_PROBE_OFFSET_RANGE_MIN -20 +#define Z_PROBE_OFFSET_RANGE_MAX 20 + +// Enable the M48 repeatability test to test probe accuracy +//#define Z_MIN_PROBE_REPEATABILITY_TEST + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +// :{ 0:'Low', 1:'High' } +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis stepper immediately when it's not being used. +// WARNING: When motors turn off there is a chance of losing position accuracy! +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define DISABLE_REDUCED_ACCURACY_WARNING + +// @section extruder + +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER true // Keep only the active extruder enabled. + +// @section machine + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR true +#define INVERT_Y_DIR false +#define INVERT_Z_DIR false + +// @section extruder + +// For direct drive extruder v9 set to true, for geared extruder set to false. +#define INVERT_E0_DIR true +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false +#define INVERT_E4_DIR false + +// @section homing + +//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed + +//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off. + +//#define Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ... + // Be sure you have this distance over your Z_MAX_POS in case. + +// Direction of endstops when homing; 1=MAX, -1=MIN +// :[-1,1] +#define X_HOME_DIR -1 +#define Y_HOME_DIR -1 +#define Z_HOME_DIR -1 + +// @section machine + +// The size of the print bed +#define X_BED_SIZE 200 +#define Y_BED_SIZE 200 + +// Travel limits (mm) after homing, corresponding to endstop positions. +#define X_MIN_POS 0 +#define Y_MIN_POS 0 +#define Z_MIN_POS 0 +#define X_MAX_POS X_BED_SIZE +#define Y_MAX_POS Y_BED_SIZE +#define Z_MAX_POS 180 + +/** + * Software Endstops + * + * - Prevent moves outside the set machine bounds. + * - Individual axes can be disabled, if desired. + * - X and Y only apply to Cartesian robots. + * - Use 'M211' to set software endstops on/off or report current state + */ + +// Min software endstops constrain movement within minimum coordinate bounds +#define MIN_SOFTWARE_ENDSTOPS +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) + #define MIN_SOFTWARE_ENDSTOP_X + #define MIN_SOFTWARE_ENDSTOP_Y + #define MIN_SOFTWARE_ENDSTOP_Z +#endif + +// Max software endstops constrain movement within maximum coordinate bounds +#define MAX_SOFTWARE_ENDSTOPS +#if ENABLED(MAX_SOFTWARE_ENDSTOPS) + #define MAX_SOFTWARE_ENDSTOP_X + #define MAX_SOFTWARE_ENDSTOP_Y + #define MAX_SOFTWARE_ENDSTOP_Z +#endif + +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + +/** + * Filament Runout Sensors + * Mechanical or opto endstops are used to check for the presence of filament. + * + * RAMPS-based boards use SERVO3_PIN for the first runout sensor. + * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. + * By default the firmware assumes HIGH=FILAMENT PRESENT. + */ +//#define FILAMENT_RUNOUT_SENSOR +#if ENABLED(FILAMENT_RUNOUT_SENSOR) + #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. + #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. + //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. + #define FILAMENT_RUNOUT_SCRIPT "M600" +#endif + +//=========================================================================== +//=============================== Bed Leveling ============================== +//=========================================================================== +// @section calibrate + +/** + * Choose one of the options below to enable G29 Bed Leveling. The parameters + * and behavior of G29 will change depending on your selection. + * + * If using a Probe for Z Homing, enable Z_SAFE_HOMING also! + * + * - AUTO_BED_LEVELING_3POINT + * Probe 3 arbitrary points on the bed (that aren't collinear) + * You specify the XY coordinates of all 3 points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_LINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_BILINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a mesh, best for large or uneven beds. + * + * - AUTO_BED_LEVELING_UBL (Unified Bed Leveling) + * A comprehensive bed leveling system combining the features and benefits + * of other systems. UBL also includes integrated Mesh Generation, Mesh + * Validation and Mesh Editing systems. + * + * - MESH_BED_LEVELING + * Probe a grid manually + * The result is a mesh, suitable for large or uneven beds. (See BILINEAR.) + * For machines without a probe, Mesh Bed Leveling provides a method to perform + * leveling in steps so you can manually adjust the Z height at each grid-point. + * With an LCD controller the process is guided step-by-step. + */ +//#define AUTO_BED_LEVELING_3POINT +//#define AUTO_BED_LEVELING_LINEAR +//#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL +//#define MESH_BED_LEVELING + +/** + * Normally G28 leaves leveling disabled on completion. Enable + * this option to have G28 restore the prior leveling state. + */ +//#define RESTORE_LEVELING_AFTER_G28 + +/** + * Enable detailed logging of G28, G29, M48, etc. + * Turn on with the command 'M111 S32'. + * NOTE: Requires a lot of PROGMEM! + */ +//#define DEBUG_LEVELING_FEATURE + +#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL) + // Gradually reduce leveling correction until a set height is reached, + // at which point movement will be level to the machine's XY plane. + // The height can be set with M420 Z + #define ENABLE_LEVELING_FADE_HEIGHT + + // For Cartesian machines, instead of dividing moves on mesh boundaries, + // split up moves into short segments like a Delta. This follows the + // contours of the bed more closely than edge-to-edge straight moves. + #define SEGMENT_LEVELED_MOVES + #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one) + + /** + * Enable the G26 Mesh Validation Pattern tool. + */ + //#define G26_MESH_VALIDATION + #if ENABLED(G26_MESH_VALIDATION) + #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. + #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool. + #define MESH_TEST_HOTEND_TEMP 205.0 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool. + #define MESH_TEST_BED_TEMP 60.0 // (°C) Default bed temperature for the G26 Mesh Validation Tool. + #endif + +#endif + +#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Set the number of grid points per dimension. + #define GRID_MAX_POINTS_X 3 + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + // Set the boundaries for probing (where the probe can reach). + //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE) + //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE) + + // Probe along the Y axis, advancing X after each column + //#define PROBE_Y_FIRST + + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Beyond the probed grid, continue the implied tilt? + // Default is to maintain the height of the nearest edge. + //#define EXTRAPOLATE_BEYOND_GRID + + // + // Experimental Subdivision of the grid by Catmull-Rom method. + // Synthesizes intermediate points to produce a more detailed mesh. + // + //#define ABL_BILINEAR_SUBDIVISION + #if ENABLED(ABL_BILINEAR_SUBDIVISION) + // Number of subdivisions between probe points + #define BILINEAR_SUBDIVISIONS 3 + #endif + + #endif + +#elif ENABLED(AUTO_BED_LEVELING_UBL) + + //=========================================================================== + //========================= Unified Bed Leveling ============================ + //=========================================================================== + + //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh + + #define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle + #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 + + //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used + // as the Z-Height correction value. + +#elif ENABLED(MESH_BED_LEVELING) + + //=========================================================================== + //=================================== Mesh ================================== + //=========================================================================== + + #define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS + +#endif // BED_LEVELING + +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. + */ +//#define LCD_BED_LEVELING + +#if ENABLED(LCD_BED_LEVELING) + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. + #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment +#endif + +// Add a menu item to move between bed corners for manual bed adjustment +//#define LEVEL_BED_CORNERS + +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + +/** + * Commands to execute at the end of G29 probing. + * Useful to retract or move the Z probe out of the way. + */ +//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" + + +// @section homing + +// The center of the bed is at (X=0, Y=0) +//#define BED_CENTER_AT_0_0 + +// Manually set the home position. Leave these undefined for automatic settings. +// For DELTA this is the top-center of the Cartesian print volume. +//#define MANUAL_X_HOME_POS 0 +//#define MANUAL_Y_HOME_POS 0 +//#define MANUAL_Z_HOME_POS 0 + +// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. +// +// With this feature enabled: +// +// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. +// - If stepper drivers time out, it will need X and Y homing again before Z homing. +// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28). +// - Prevent Z homing when the Z probe is outside bed area. +// +//#define Z_SAFE_HOMING + +#if ENABLED(Z_SAFE_HOMING) + #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28). +#endif + +// Homing speeds (mm/m) +#define HOMING_FEEDRATE_XY (50*60) +#define HOMING_FEEDRATE_Z (4*60) + +// @section calibrate + +/** + * Bed Skew Compensation + * + * This feature corrects for misalignment in the XYZ axes. + * + * Take the following steps to get the bed skew in the XY plane: + * 1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185) + * 2. For XY_DIAG_AC measure the diagonal A to C + * 3. For XY_DIAG_BD measure the diagonal B to D + * 4. For XY_SIDE_AD measure the edge A to D + * + * Marlin automatically computes skew factors from these measurements. + * Skew factors may also be computed and set manually: + * + * - Compute AB : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2 + * - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD))) + * + * If desired, follow the same procedure for XZ and YZ. + * Use these diagrams for reference: + * + * Y Z Z + * ^ B-------C ^ B-------C ^ B-------C + * | / / | / / | / / + * | / / | / / | / / + * | A-------D | A-------D | A-------D + * +-------------->X +-------------->X +-------------->Y + * XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR + */ +//#define SKEW_CORRECTION + +#if ENABLED(SKEW_CORRECTION) + // Input all length measurements here: + #define XY_DIAG_AC 282.8427124746 + #define XY_DIAG_BD 282.8427124746 + #define XY_SIDE_AD 200 + + // Or, set the default skew factors directly here + // to override the above measurements: + #define XY_SKEW_FACTOR 0.0 + + //#define SKEW_CORRECTION_FOR_Z + #if ENABLED(SKEW_CORRECTION_FOR_Z) + #define XZ_DIAG_AC 282.8427124746 + #define XZ_DIAG_BD 282.8427124746 + #define YZ_DIAG_AC 282.8427124746 + #define YZ_DIAG_BD 282.8427124746 + #define YZ_SIDE_AD 200 + #define XZ_SKEW_FACTOR 0.0 + #define YZ_SKEW_FACTOR 0.0 + #endif + + // Enable this option for M852 to set skew at runtime + //#define SKEW_CORRECTION_GCODE +#endif + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// @section extras + +// +// EEPROM +// +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters in EEPROM +// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +// +#define EEPROM_SETTINGS // Enable for M500 and M501 commands +//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release! +#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. + +// +// Host Keepalive +// +// When enabled Marlin will send a busy status message to the host +// every couple of seconds when it can't accept commands. +// +#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages +#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113. +#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating + +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // Add M100 (Free Memory Watcher) to debug memory usage + +// +// G20/G21 Inch mode support +// +//#define INCH_MODE_SUPPORT + +// +// M149 Set temperature units support +// +//#define TEMPERATURE_UNITS_SUPPORT + +// @section temperature + +// Preheat Constants +#define PREHEAT_1_TEMP_HOTEND 200 +#define PREHEAT_1_TEMP_BED 65 +#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 + +#define PREHEAT_2_TEMP_HOTEND 235 +#define PREHEAT_2_TEMP_BED 95 +#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 + +/** + * Nozzle Park + * + * Park the nozzle at the given XYZ position on idle or G27. + * + * The "P" parameter controls the action applied to the Z axis: + * + * P0 (Default) If Z is below park Z raise the nozzle. + * P1 Raise the nozzle always to Z-park height. + * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. + */ +#define NOZZLE_PARK_FEATURE + +#if ENABLED(NOZZLE_PARK_FEATURE) + // Specify a park position as { X, Y, Z } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) +#endif + +/** + * Clean Nozzle Feature -- EXPERIMENTAL + * + * Adds the G12 command to perform a nozzle cleaning process. + * + * Parameters: + * P Pattern + * S Strokes / Repetitions + * T Triangles (P1 only) + * + * Patterns: + * P0 Straight line (default). This process requires a sponge type material + * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) + * between the start / end points. + * + * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the + * number of zig-zag triangles to do. "S" defines the number of strokes. + * Zig-zags are done in whichever is the narrower dimension. + * For example, "G12 P1 S1 T3" will execute: + * + * -- + * | (X0, Y1) | /\ /\ /\ | (X1, Y1) + * | | / \ / \ / \ | + * A | | / \ / \ / \ | + * | | / \ / \ / \ | + * | (X0, Y0) | / \/ \/ \ | (X1, Y0) + * -- +--------------------------------+ + * |________|_________|_________| + * T1 T2 T3 + * + * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. + * "R" specifies the radius. "S" specifies the stroke count. + * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. + * + * Caveats: The ending Z should be the same as starting Z. + * Attention: EXPERIMENTAL. G-code arguments may change. + * + */ +//#define NOZZLE_CLEAN_FEATURE + +#if ENABLED(NOZZLE_CLEAN_FEATURE) + // Default number of pattern repetitions + #define NOZZLE_CLEAN_STROKES 12 + + // Default number of triangles + #define NOZZLE_CLEAN_TRIANGLES 3 + + // Specify positions as { X, Y, Z } + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_END_POINT {100, 60, (Z_MIN_POS + 1)} + + // Circular pattern radius + #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5 + // Circular pattern circle fragments number + #define NOZZLE_CLEAN_CIRCLE_FN 10 + // Middle point of circle + #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT + + // Moves the nozzle to the initial position + #define NOZZLE_CLEAN_GOBACK +#endif + +/** + * Print Job Timer + * + * Automatically start and stop the print job timer on M104/M109/M190. + * + * M104 (hotend, no wait) - high temp = none, low temp = stop timer + * M109 (hotend, wait) - high temp = start timer, low temp = stop timer + * M190 (bed, wait) - high temp = start timer, low temp = none + * + * The timer can also be controlled with the following commands: + * + * M75 - Start the print job timer + * M76 - Pause the print job timer + * M77 - Stop the print job timer + */ +#define PRINTJOB_TIMER_AUTOSTART + +/** + * Print Counter + * + * Track statistical data such as: + * + * - Total print jobs + * - Total successful print jobs + * - Total failed print jobs + * - Total time printing + * + * View the current statistics with M78. + */ +#define PRINTCOUNTER + +//============================================================================= +//============================= LCD and SD support ============================ +//============================================================================= + +// @section lcd + +/** + * LCD LANGUAGE + * + * Select the language to display on the LCD. These languages are available: + * + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', '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 + +/** + * LCD Character Set + * + * Note: This option is NOT applicable to Graphical Displays. + * + * All character-based LCDs provide ASCII plus one of these + * language extensions: + * + * - JAPANESE ... the most common + * - WESTERN ... with more accented characters + * - CYRILLIC ... for the Russian language + * + * To determine the language extension installed on your controller: + * + * - Compile and upload with LCD_LANGUAGE set to 'test' + * - Click the controller to view the LCD menu + * - The LCD will display Japanese, Western, or Cyrillic text + * + * See http://marlinfw.org/docs/development/lcd_language.html + * + * :['JAPANESE', 'WESTERN', 'CYRILLIC'] + */ +#define DISPLAY_CHARSET_HD44780 JAPANESE + +/** + * SD CARD + * + * SD Card support is disabled by default. If your controller has an SD slot, + * you must uncomment the following option or it won't work. + * + */ +#define SDSUPPORT + +/** + * SD CARD: SPI SPEED + * + * Enable one of the following items for a slower SPI transfer speed. + * This may be required to resolve "volume init" errors. + */ +//#define SPI_SPEED SPI_HALF_SPEED +//#define SPI_SPEED SPI_QUARTER_SPEED +//#define SPI_SPEED SPI_EIGHTH_SPEED + +/** + * SD CARD: ENABLE CRC + * + * Use CRC checks and retries on the SD communication. + */ +//#define SD_CHECK_AND_RETRY + +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + +// +// ENCODER SETTINGS +// +// This option overrides the default number of encoder pulses needed to +// produce one step. Should be increased for high-resolution encoders. +// +//#define ENCODER_PULSES_PER_STEP 4 + +// +// Use this option to override the number of step signals required to +// move between next/prev menu items. +// +//#define ENCODER_STEPS_PER_MENU_ITEM 1 + +/** + * Encoder Direction Options + * + * Test your encoder's behavior first with both options disabled. + * + * Reversed Value Edit and Menu Nav? Enable REVERSE_ENCODER_DIRECTION. + * Reversed Menu Navigation only? Enable REVERSE_MENU_DIRECTION. + * Reversed Value Editing only? Enable BOTH options. + */ + +// +// This option reverses the encoder direction everywhere. +// +// Set this option if CLOCKWISE causes values to DECREASE +// +//#define REVERSE_ENCODER_DIRECTION + +// +// This option reverses the encoder direction for navigating LCD menus. +// +// If CLOCKWISE normally moves DOWN this makes it go UP. +// If CLOCKWISE normally moves UP this makes it go DOWN. +// +//#define REVERSE_MENU_DIRECTION + +// +// Individual Axis Homing +// +// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. +// +//#define INDIVIDUAL_AXIS_HOMING_MENU + +// +// SPEAKER/BUZZER +// +// If you have a speaker that can produce tones, enable it here. +// By default Marlin assumes you have a buzzer with a fixed frequency. +// +#define SPEAKER + +// +// The duration and frequency for the UI feedback sound. +// Set these to 0 to disable audio feedback in the LCD menus. +// +// Note: Test audio output with the G-Code: +// M300 S P +// +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 +//#define LCD_FEEDBACK_FREQUENCY_HZ 5000 + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + +// +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +// +// Note: Usually sold with a white PCB. +// +#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// +// Original RADDS LCD Display+Encoder+SDCardReader +// http://doku.radds.org/dokumentation/lcd-display/ +// +//#define RADDS_DISPLAY + +// +// ULTIMAKER Controller. +// +//#define ULTIMAKERCONTROLLER + +// +// ULTIPANEL as seen on Thingiverse. +// +//#define ULTIPANEL + +// +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +// +//#define PANEL_ONE + +// +// GADGETS3D G3D LCD/SD Controller +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +// +// Note: Usually sold with a blue PCB. +// +//#define G3D_PANEL + +// +// RigidBot Panel V1.0 +// http://www.inventapart.com/ +// +//#define RIGIDBOT_PANEL + +// +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html +// +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 + +// +// ANET and Tronxy 20x4 Controller +// +//#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. + // This LCD is known to be susceptible to electrical interference + // which scrambles the display. Pressing any button clears it up. + // This is a LCD2004 display with 5 analog buttons. + +// +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. +// +//#define ULTRA_LCD + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= + +// +// CONTROLLER TYPE: I2C +// +// Note: These controllers require the installation of Arduino's LiquidCrystal_I2C +// library. For more info: https://github.com/kiyoshigawa/LiquidCrystal_I2C +// + +// +// Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// +//#define RA_CONTROL_PANEL + +// +// Sainsmart (YwRobot) LCD Displays +// +// These require F.Malpartida's LiquidCrystal_I2C library +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home +// +//#define LCD_SAINSMART_I2C_1602 +//#define LCD_SAINSMART_I2C_2004 + +// +// Generic LCM1602 LCD adapter +// +//#define LCM1602 + +// +// PANELOLU2 LCD with status LEDs, +// separate encoder and click inputs. +// +// Note: This controller requires Arduino's LiquidTWI2 library v1.2.3 or later. +// For more info: https://github.com/lincomatic/LiquidTWI2 +// +// Note: The PANELOLU2 encoder click input can either be directly connected to +// a pin (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). +// +//#define LCD_I2C_PANELOLU2 + +// +// Panucatt VIKI LCD with status LEDs, +// integrated click & L/R/U/D buttons, separate encoder inputs. +// +//#define LCD_I2C_VIKI + +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + +// +// SSD1306 OLED full graphics generic display +// +//#define U8GLIB_SSD1306 + +// +// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules +// +//#define SAV_3DGLCD +#if ENABLED(SAV_3DGLCD) + //#define U8GLIB_SSD1306 + #define U8GLIB_SH1106 +#endif + +// +// Original Ulticontroller from Ultimaker 2 printer with SSD1309 I2C display and encoder +// https://github.com/Ultimaker/Ultimaker2/tree/master/1249_Ulticontroller_Board_(x1) +// +//#define ULTI_CONTROLLER + +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + +// +// MKS MINI12864 with graphic controller and SD support +// http://reprap.org/wiki/MKS_MINI_12864 +// +//#define MKS_MINI_12864 + +// +// Factory display for Creality CR-10 +// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html +// +// This is RAMPS-compatible using a single 10-pin connector. +// (For CR-10 owners who want to replace the Melzi Creality board but retain the display) +// +//#define CR10_STOCKDISPLAY + +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + +// +// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER +// http://reprap.org/wiki/MKS_12864OLED +// +// Tiny, but very sharp OLED display +// +//#define MKS_12864OLED // Uses the SH1106 controller (default) +//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller + +// +// AZSMZ 12864 LCD with SD +// https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html +// +//#define AZSMZ_12864 + +// +// Silvergate GLCD controller +// http://github.com/android444/Silvergate +// +//#define SILVER_GATE_GLCD_CONTROLLER + +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + +//============================================================================= +//=============================== Extra Features ============================== +//============================================================================= + +// @section extras + +// Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can +// be used to mitigate the associated resolution loss. If enabled, +// some of the PWM cycles are stretched so on average the desired +// duty cycle is attained. +//#define SOFT_PWM_DITHER + +// Temperature status LEDs that display the hotend and bed temperature. +// If all hotends, bed temperature, and target temperature are under 54C +// then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) +//#define TEMP_STAT_LEDS + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +//#define PHOTOGRAPH_PIN 23 + +// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder +//#define BARICUDA + +// Support for BlinkM/CyzRgb +//#define BLINKM + +// Support for PCA9632 PWM LED driver +//#define PCA9632 + +/** + * RGB LED / LED Strip Control + * + * Enable support for an RGB LED connected to 5V digital pins, or + * an RGB Strip connected to MOSFETs controlled by digital pins. + * + * Adds the M150 command to set the LED (or LED strip) color. + * If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of + * luminance values can be set from 0 to 255. + * For Neopixel LED an overall brightness parameter is also available. + * + * *** CAUTION *** + * LED Strips require a MOSFET Chip between PWM lines and LEDs, + * as the Arduino cannot handle the current the LEDs will require. + * Failure to follow this precaution can destroy your Arduino! + * NOTE: A separate 5V power supply is required! The Neopixel LED needs + * more current than the Arduino 5V linear regulator can produce. + * *** CAUTION *** + * + * LED Type. Enable only one of the following two options. + * + */ +//#define RGB_LED +//#define RGBW_LED + +#if ENABLED(RGB_LED) || ENABLED(RGBW_LED) + #define RGB_LED_R_PIN 34 + #define RGB_LED_G_PIN 43 + #define RGB_LED_B_PIN 35 + #define RGB_LED_W_PIN -1 +#endif + +// Support for Adafruit Neopixel LED driver +//#define NEOPIXEL_LED +#if ENABLED(NEOPIXEL_LED) + #define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h) + #define NEOPIXEL_PIN 4 // LED driving pin on motherboard 4 => D4 (EXP2-5 on Printrboard) / 30 => PC7 (EXP3-13 on Rumba) + #define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip + #define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once. + #define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255) + //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup +#endif + +/** + * Printer Event LEDs + * + * During printing, the LEDs will reflect the printer status: + * + * - Gradually change from blue to violet as the heated bed gets to target temp + * - Gradually change from violet to red as the hotend gets to temperature + * - Change to white to illuminate work surface + * - Change to green once print has finished + * - Turn off after the print has finished and the user has pushed a button + */ +#if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED) + #define PRINTER_EVENT_LEDS +#endif + +/** + * R/C SERVO support + * Sponsored by TrinityLabs, Reworked by codexmas + */ + +/** + * Number of servos + * + * For some servo-related options NUM_SERVOS will be set automatically. + * Set this manually if there are extra servos needing manual control. + * Leave undefined or set to 0 to entirely disable the servo subsystem. + */ +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// 300ms is a good value but you can try less delay. +// If the servo can't reach the requested position, increase it. +#define SERVO_DELAY { 300 } + +// Servo deactivation +// +// With this option servos are powered only during movement, then turned off to prevent jitter. +//#define DEACTIVATE_SERVOS_AFTER_MOVE + +#endif // CONFIGURATION_H diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h new file mode 100644 index 000000000000..18a7483cbc2a --- /dev/null +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h @@ -0,0 +1,1681 @@ +/** + * 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 . + * + */ + +/** + * Configuration_adv.h + * + * Advanced settings. + * Only change these if you know exactly what you're doing. + * Some of these settings can damage your printer if improperly set! + * + * Basic settings can be found in Configuration.h + * + */ +#ifndef CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H_VERSION 020000 + +// @section temperature + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +// +// Hephestos 2 24V heated bed upgrade kit. +// https://store.bq.com/en/heated-bed-kit-hephestos2 +// +//#define HEPHESTOS2_HEATED_BED_KIT +#if ENABLED(HEPHESTOS2_HEATED_BED_KIT) + #undef TEMP_SENSOR_BED + #define TEMP_SENSOR_BED 70 + #define HEATER_BED_INVERTING true +#endif + +#if DISABLED(PIDTEMPBED) + #define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control + #if ENABLED(BED_LIMIT_SWITCHING) + #define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS + #endif +#endif + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * The solution: Once the temperature reaches the target, start observing. + * If the temperature stays too far below the target (hysteresis) for too + * long (period), the firmware will halt the machine as a safety precaution. + * + * If you get false positives for "Thermal Runaway", increase + * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD + */ +#if ENABLED(THERMAL_PROTECTION_HOTENDS) + #define THERMAL_PROTECTION_PERIOD 40 // Seconds + #define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius + + /** + * Whenever an M104, M109, or M303 increases the target temperature, the + * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature + * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and + * requires a hard reset. This test restarts with any M104/M109/M303, but only + * if the current temperature is far enough below the target for a reliable + * test. + * + * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD + * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set + * below 2. + */ + #define WATCH_TEMP_PERIOD 20 // Seconds + #define WATCH_TEMP_INCREASE 2 // Degrees Celsius +#endif + +/** + * Thermal Protection parameters for the bed are just as above for hotends. + */ +#if ENABLED(THERMAL_PROTECTION_BED) + #define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius + + /** + * As described above, except for the bed (M140/M190/M303). + */ + #define WATCH_BED_TEMP_PERIOD 60 // Seconds + #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius +#endif + +#if ENABLED(PIDTEMP) + // this adds an experimental additional term to the heating power, proportional to the extrusion speed. + // if Kc is chosen well, the additional required power due to increased melting should be compensated. + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) + #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) + #define LPQ_MAX_LEN 50 + #endif +#endif + +/** + * Automatic Temperature: + * The hotend target temperature is calculated by all the buffered lines of gcode. + * The maximum buffered steps/sec of the extruder motor is called "se". + * Start autotemp mode with M109 S B F + * The target temperature is set to mintemp+factor*se[steps/sec] and is limited by + * mintemp and maxtemp. Turn this off by executing M109 without F* + * Also, if the temperature is set to a value below mintemp, it will not be changed by autotemp. + * On an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode + */ +#define AUTOTEMP +#if ENABLED(AUTOTEMP) + #define AUTOTEMP_OLDWEIGHT 0.98 +#endif + +// Show extra position information in M114 +//#define M114_DETAIL + +// Show Temperature ADC value +// Enable for M105 to include ADC values read from temperature sensors. +//#define SHOW_TEMP_ADC_VALUES + +/** + * High Temperature Thermistor Support + * + * Thermistors able to support high temperature tend to have a hard time getting + * good readings at room and lower temperatures. This means HEATER_X_RAW_LO_TEMP + * will probably be caught when the heating element first turns on during the + * preheating process, which will trigger a min_temp_error as a safety measure + * and force stop everything. + * To circumvent this limitation, we allow for a preheat time (during which, + * min_temp_error won't be triggered) and add a min_temp buffer to handle + * aberrant readings. + * + * If you want to enable this feature for your hotend thermistor(s) + * uncomment and set values > 0 in the constants below + */ + +// The number of consecutive low temperature errors that can occur +// before a min_temp_error is triggered. (Shouldn't be more than 10.) +//#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0 + +// The number of milliseconds a hotend will preheat before starting to check +// the temperature. This value should NOT be set to the time it takes the +// hot end to reach the target temperature, but the time it takes to reach +// the minimum temperature your thermistor can read. The lower the better/safer. +// This shouldn't need to be more than 30 seconds (30000) +//#define MILLISECONDS_PREHEAT_TIME 0 + +// @section extruder + +// Extruder runout prevention. +// If the machine is idle and the temperature over MINTEMP +// then extrude some filament every couple of SECONDS. +//#define EXTRUDER_RUNOUT_PREVENT +#if ENABLED(EXTRUDER_RUNOUT_PREVENT) + #define EXTRUDER_RUNOUT_MINTEMP 190 + #define EXTRUDER_RUNOUT_SECONDS 30 + #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m + #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm +#endif + +// @section temperature + +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 + +/** + * Controller Fan + * To cool down the stepper drivers and MOSFETs. + * + * The fan will turn on automatically whenever any stepper is enabled + * and turn off after a set period after all steppers are turned off. + */ +//#define USE_CONTROLLER_FAN +#if ENABLED(USE_CONTROLLER_FAN) + //#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan + #define CONTROLLERFAN_SECS 60 // Duration in seconds for the fan to run after all motors are disabled + #define CONTROLLERFAN_SPEED 255 // 255 == full speed +#endif + +// When first starting the main fan, run it at full speed for the +// given number of milliseconds. This gets the fan spinning reliably +// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) +//#define FAN_KICKSTART_TIME 100 + +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ +//#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 + +// @section extruder + +/** + * Extruder cooling fans + * + * Extruder auto fans automatically turn on when their extruders' + * temperatures go above EXTRUDER_AUTO_FAN_TEMPERATURE. + * + * Your board's pins file specifies the recommended pins. Override those here + * or set to -1 to disable completely. + * + * Multiple extruders can be assigned to the same pin in which case + * the fan will turn on when any selected extruder is above the threshold. + */ +#define E0_AUTO_FAN_PIN -1 +#define E1_AUTO_FAN_PIN -1 +#define E2_AUTO_FAN_PIN -1 +#define E3_AUTO_FAN_PIN -1 +#define E4_AUTO_FAN_PIN -1 +#define CHAMBER_AUTO_FAN_PIN -1 +#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 +#define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed + +/** + * Part-Cooling Fan Multiplexer + * + * This feature allows you to digitally multiplex the fan output. + * The multiplexer is automatically switched at tool-change. + * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans. + */ +#define FANMUX0_PIN -1 +#define FANMUX1_PIN -1 +#define FANMUX2_PIN -1 + +/** + * M355 Case Light on-off / brightness + */ +//#define CASE_LIGHT_ENABLE +#if ENABLED(CASE_LIGHT_ENABLE) + //#define CASE_LIGHT_PIN 4 // Override the default pin if needed + #define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW + #define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on + #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105 // Set default power-up brightness (0-255, requires PWM pin) + //#define MENU_ITEM_CASE_LIGHT // Add a Case Light option to the LCD main menu + //#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED. + #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) + #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White } + #endif +#endif + +//=========================================================================== +//============================ Mechanical Settings ========================== +//=========================================================================== + +// @section homing + +// If you want endstops to stay on (by default) even when not homing +// enable this option. Override at any time with M120, M121. +//#define ENDSTOPS_ALWAYS_ON_DEFAULT + +// @section extras + +//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats. + +/** + * Dual Steppers / Dual Endstops + * + * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes. + * + * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to + * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop + * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug + * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'. + * + * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors + * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error + * in X2. Dual endstop offsets can be set at runtime with 'M666 X Y Z'. + */ + +//#define X_DUAL_STEPPER_DRIVERS +#if ENABLED(X_DUAL_STEPPER_DRIVERS) + #define INVERT_X2_VS_X_DIR true // Set 'true' if X motors should rotate in opposite directions + //#define X_DUAL_ENDSTOPS + #if ENABLED(X_DUAL_ENDSTOPS) + #define X2_USE_ENDSTOP _XMAX_ + #define X_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Y_DUAL_STEPPER_DRIVERS +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + #define INVERT_Y2_VS_Y_DIR true // Set 'true' if Y motors should rotate in opposite directions + //#define Y_DUAL_ENDSTOPS + #if ENABLED(Y_DUAL_ENDSTOPS) + #define Y2_USE_ENDSTOP _YMAX_ + #define Y_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Z_DUAL_STEPPER_DRIVERS +#if ENABLED(Z_DUAL_STEPPER_DRIVERS) + //#define Z_DUAL_ENDSTOPS + #if ENABLED(Z_DUAL_ENDSTOPS) + #define Z2_USE_ENDSTOP _XMAX_ + #define Z_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +// Enable this for dual x-carriage printers. +// A dual x-carriage design has the advantage that the inactive extruder can be parked which +// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage +// allowing faster printing speeds. Connect your X2 stepper to the first unused E plug. +//#define DUAL_X_CARRIAGE +#if ENABLED(DUAL_X_CARRIAGE) + // Configuration for second X-carriage + // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop; + // the second x-carriage always homes to the maximum endstop. + #define X2_MIN_POS 80 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage + #define X2_MAX_POS 353 // set maximum to the distance between toolheads when both heads are homed + #define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position + #define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position + // However: In this mode the HOTEND_OFFSET_X value for the second extruder provides a software + // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops + // without modifying the firmware (through the "M218 T1 X???" command). + // Remember: you should set the second extruder x-offset to 0 in your slicer. + + // There are a few selectable movement modes for dual x-carriages using M605 S + // Mode 0 (DXC_FULL_CONTROL_MODE): Full control. The slicer has full control over both x-carriages and can achieve optimal travel results + // as long as it supports dual x-carriages. (M605 S0) + // Mode 1 (DXC_AUTO_PARK_MODE) : Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so + // that additional slicer support is not required. (M605 S1) + // Mode 2 (DXC_DUPLICATION_MODE) : Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all + // actions of the first x-carriage. This allows the printer to print 2 arbitrary items at + // once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm]) + + // This is the default power-up mode which can be later using M605. + #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_FULL_CONTROL_MODE + + // Default settings in "Auto-park Mode" + #define TOOLCHANGE_PARK_ZLIFT 0.2 // the distance to raise Z axis when parking an extruder + #define TOOLCHANGE_UNPARK_ZLIFT 1 // the distance to raise Z axis when unparking an extruder + + // Default x offset in duplication mode (typically set to half print bed width) + #define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif // DUAL_X_CARRIAGE + +// Activate a solenoid on the active extruder with M380. Disable all with M381. +// Define SOL0_PIN, SOL1_PIN, etc., for each extruder that has a solenoid. +//#define EXT_SOLENOID + +// @section homing + +// Homing hits each endstop, retracts by these distances, then does a slower bump. +#define X_HOME_BUMP_MM 5 +#define Y_HOME_BUMP_MM 5 +#define Z_HOME_BUMP_MM 2 +#define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) +//#define QUICK_HOME // If homing includes X and Y, do a diagonal move initially + +// When G28 is called, this option will make Y home before X +//#define HOME_Y_BEFORE_X + +// Enable this if X or Y can't home without homing the other axis first. +//#define CODEPENDENT_XY_HOMING + +// @section machine + +#define AXIS_RELATIVE_MODES {false, false, false, false} + +// Allow duplication mode with a basic dual-nozzle extruder +//#define DUAL_NOZZLE_DUPLICATION_MODE + +// By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +// Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. +#define DEFAULT_STEPPER_DEACTIVE_TIME 120 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +//#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated + +// @section lcd + +#if ENABLED(ULTIPANEL) + #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel + #define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder +#endif + +// @section extras + +// minimum time in microseconds that a movement needs to take if the buffer is emptied. +#define DEFAULT_MINSEGMENTTIME 20000 + +// If defined the movements slow down when the look ahead buffer is only half full +#define SLOWDOWN + +// Frequency limit +// See nophead's blog for more info +// Not working O +//#define XY_FREQUENCY_LIMIT 15 + +// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end +// of the buffer and all stops. This should not be much greater than zero and should only be changed +// if unwanted behavior is observed on a user's machine when running at very slow speeds. +#define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) + +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] + +/** + * @section stepper motor current + * + * Some boards have a means of setting the stepper motor current via firmware. + * + * The power on motor currents are set by: + * PWM_MOTOR_CURRENT - used by MINIRAMBO & ULTIMAIN_2 + * known compatible chips: A4982 + * DIGIPOT_MOTOR_CURRENT - used by BQ_ZUM_MEGA_3D, RAMBO & SCOOVO_X9H + * known compatible chips: AD5206 + * DAC_MOTOR_CURRENT_DEFAULT - used by PRINTRBOARD_REVF & RIGIDBOARD_V2 + * known compatible chips: MCP4728 + * DIGIPOT_I2C_MOTOR_CURRENTS - used by 5DPRINT, AZTEEG_X3_PRO, MIGHTYBOARD_REVE + * known compatible chips: MCP4451, MCP4018 + * + * Motor currents can also be set by M907 - M910 and by the LCD. + * M907 - applies to all. + * M908 - BQ_ZUM_MEGA_3D, RAMBO, PRINTRBOARD_REVF, RIGIDBOARD_V2 & SCOOVO_X9H + * M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2 + */ +//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps +//#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) +//#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis + +// Use an I2C based DIGIPOT (e.g., Azteeg X3 Pro) +//#define DIGIPOT_I2C +#if ENABLED(DIGIPOT_I2C) && !defined(DIGIPOT_I2C_ADDRESS_A) + /** + * Common slave addresses: + * + * A (A shifted) B (B shifted) IC + * Smoothie 0x2C (0x58) 0x2D (0x5A) MCP4451 + * AZTEEG_X3_PRO 0x2C (0x58) 0x2E (0x5C) MCP4451 + * MIGHTYBOARD_REVE 0x2F (0x5E) MCP4018 + */ + #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT + #define DIGIPOT_I2C_ADDRESS_B 0x2D // unshifted slave address for second DIGIPOT +#endif + +//#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 +// Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. +// These correspond to the physical drivers, so be mindful if the order is changed. +#define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +#define ENCODER_RATE_MULTIPLIER // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly +#define ENCODER_10X_STEPS_PER_SEC 75 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value +#define ENCODER_100X_STEPS_PER_SEC 160 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value + +//#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ +#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again + +// @section lcd + +// Include a page of printer information in the LCD Main Menu +#define LCD_INFO_MENU + +// Scroll a longer status message into view +#define STATUS_MESSAGE_SCROLLING + +// On the Info Screen, display XY with one decimal place when possible +//#define LCD_DECIMAL_SMALL_XY + +// The timeout (in ms) to return to the status screen from sub-menus +//#define LCD_TIMEOUT_TO_STATUS 15000 + +// Add an 'M73' G-code to set the current percentage +//#define LCD_SET_PROGRESS_MANUALLY + +#if ENABLED(SDSUPPORT) || ENABLED(LCD_SET_PROGRESS_MANUALLY) + //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing + #if ENABLED(LCD_PROGRESS_BAR) + #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar + #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message + #define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever) + //#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it + //#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar + #endif +#endif // SDSUPPORT || LCD_SET_PROGRESS_MANUALLY + +/** + * LED Control Menu + * Enable this feature to add LED Control to the LCD menu + */ +//#define LED_CONTROL_MENU +#if ENABLED(LED_CONTROL_MENU) + #define LED_COLOR_PRESETS // Enable the Preset Color menu option + #if ENABLED(LED_COLOR_PRESETS) + #define LED_USER_PRESET_RED 255 // User defined RED value + #define LED_USER_PRESET_GREEN 128 // User defined GREEN value + #define LED_USER_PRESET_BLUE 0 // User defined BLUE value + #define LED_USER_PRESET_WHITE 255 // User defined WHITE value + #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity + //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup + #endif +#endif // LED_CONTROL_MENU + +#if ENABLED(SDSUPPORT) + + // Some RAMPS and other boards don't detect when an SD card is inserted. You can work + // around this by connecting a push button or single throw switch to the pin defined + // as SD_DETECT_PIN in your board's pins definitions. + // This setting should be disabled unless you are using a push button, pulling the pin to ground. + // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER). + #define SD_DETECT_INVERTED + + #define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished + #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place. + + // Reverse SD sort to show "more recent" files first, according to the card's FAT. + // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended. + #define SDCARD_RATHERRECENTFIRST + + // Add an option in the menu to run all auto#.g files + //#define MENU_ADDAUTOSTART + + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + + /** + * Sort SD file listings in alphabetical order. + * + * With this option enabled, items on SD cards will be sorted + * by name for easier navigation. + * + * By default... + * + * - Use the slowest -but safest- method for sorting. + * - Folders are sorted to the top. + * - The sort key is statically allocated. + * - No added G-code (M34) support. + * - 40 item sorting limit. (Items after the first 40 are unsorted.) + * + * SD sorting uses static allocation (as set by SDSORT_LIMIT), allowing the + * compiler to calculate the worst-case usage and throw an error if the SRAM + * limit is exceeded. + * + * - SDSORT_USES_RAM provides faster sorting via a static directory buffer. + * - SDSORT_USES_STACK does the same, but uses a local stack-based buffer. + * - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!) + * - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!) + */ + //#define SDCARD_SORT_ALPHA + + // SD Card Sorting options + #if ENABLED(SDCARD_SORT_ALPHA) + #define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256). Costs 27 bytes each. + #define FOLDER_SORTING -1 // -1=above 0=none 1=below + #define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 g-code. + #define SDSORT_USES_RAM false // Pre-allocate a static array for faster pre-sorting. + #define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.) + #define SDSORT_CACHE_NAMES false // Keep sorted items in RAM longer for speedy performance. Most expensive option. + #define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use! + #define SDSORT_CACHE_VFATS 2 // Maximum number of 13-byte VFAT entries to use for sorting. + // Note: Only affects SCROLL_LONG_FILENAMES with SDSORT_CACHE_NAMES but not SDSORT_DYNAMIC_RAM. + #endif + + // This allows hosts to request long names for files and folders with M33 + #define LONG_FILENAME_HOST_SUPPORT + + // Enable this option to scroll long filenames in the SD card menu + #define SCROLL_LONG_FILENAMES + + /** + * This option allows you to abort SD printing when any endstop is triggered. + * This feature must be enabled with "M540 S1" or from the LCD menu. + * To have any effect, endstops must be enabled during SD printing. + */ + //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + + /** + * This option makes it easier to print the same SD Card file again. + * On print completion the LCD Menu will open with the file selected. + * You can just click to start the print, or navigate elsewhere. + */ + //#define SD_REPRINT_LAST_SELECTED_FILE + + /** + * Auto-report SdCard status with M27 S + */ + //#define AUTO_REPORT_SD_STATUS + +#endif // SDSUPPORT + +/** + * Additional options for Graphical Displays + * + * Use the optimizations here to improve printing performance, + * which can be adversely affected by graphical display drawing, + * especially when doing several short moves, and when printing + * on DELTA and SCARA machines. + * + * Some of these options may result in the display lagging behind + * controller events, as there is a trade-off between reliable + * printing performance versus fast display updates. + */ +#if ENABLED(DOGLCD) + // Show SD percentage next to the progress bar + //#define DOGM_SD_PERCENT + + // Enable to save many cycles by drawing a hollow frame on the Info Screen + #define XYZ_HOLLOW_FRAME + + // Enable to save many cycles by drawing a hollow frame on Menu Screens + #define MENU_HOLLOW_FRAME + + // A bigger font is available for edit items. Costs 3120 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_BIG_EDIT_FONT + + // A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_SMALL_INFOFONT + + // Enable this option and reduce the value to optimize screen updates. + // The normal delay is 10µs. Use the lowest value that still gives a reliable display. + //#define DOGM_SPI_DELAY_US 5 + + // Swap the CW/CCW indicators in the graphics overlay + //#define OVERLAY_GFX_REVERSE + + #if ENABLED(U8GLIB_ST7920) + /** + * ST7920-based LCDs can emulate a 16 x 4 character display using + * the ST7920 character-generator for very fast screen updates. + * Enable LIGHTWEIGHT_UI to use this special display mode. + * + * Since LIGHTWEIGHT_UI has limited space, the position and status + * message occupy the same line. Set STATUS_EXPIRE_SECONDS to the + * length of time to display the status message before clearing. + * + * Set STATUS_EXPIRE_SECONDS to zero to never clear the status. + * This will prevent position updates from being displayed. + */ + //#define LIGHTWEIGHT_UI + #if ENABLED(LIGHTWEIGHT_UI) + #define STATUS_EXPIRE_SECONDS 20 + #endif + #endif + +#endif // DOGLCD + +// @section safety + +// The hardware watchdog should reset the microcontroller disabling all outputs, +// in case the firmware gets stuck and doesn't do temperature regulation. +#define USE_WATCHDOG + +#if ENABLED(USE_WATCHDOG) + // If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on. + // The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset. + // However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled. + //#define WATCHDOG_RESET_MANUAL +#endif + +// @section lcd + +/** + * Babystepping enables movement of the axes by tiny increments without changing + * the current position values. This feature is used primarily to adjust the Z + * axis in the first layer of a print in real-time. + * + * Warning: Does not respect endstops! + */ +#define BABYSTEPPING +#if ENABLED(BABYSTEPPING) + //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! + #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way + #define BABYSTEP_MULTIPLICATOR 1 // Babysteps are very small. Increase for faster motion. + //#define BABYSTEP_ZPROBE_OFFSET // Enable to combine M851 and Babystepping + //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. + #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. + // Note: Extra time may be added to mitigate controller latency. + //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor +#endif + +// @section extruder + +/** + * Linear Pressure Control v1.5 + * + * Assumption: advance [steps] = k * (delta velocity [steps/s]) + * K=0 means advance disabled. + * + * NOTE: K values for LIN_ADVANCE 1.5 differ from earlier versions! + * + * Set K around 0.22 for 3mm PLA Direct Drive with ~6.5cm between the drive gear and heatbreak. + * Larger K values will be needed for flexible filament and greater distances. + * If this algorithm produces a higher speed offset than the extruder can handle (compared to E jerk) + * print acceleration will be reduced during the affected moves to keep within the limit. + * + * See http://marlinfw.org/docs/features/lin_advance.html for full instructions. + * Mention @Sebastianv650 on GitHub to alert the author of any issues. + */ +#define LIN_ADVANCE +#if ENABLED(LIN_ADVANCE) + #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed + //#define LA_DEBUG // If enabled, this will generate debug information output over USB. +#endif + +// @section leveling + +#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL) + // Override the mesh area if the automatic (max) area is too large + //#define MESH_MIN_X MESH_INSET + //#define MESH_MIN_Y MESH_INSET + //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET) + //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) +#endif + +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + +// @section extras + +// +// G2/G3 Arc Support +// +#define ARC_SUPPORT // Disable this feature to save ~3226 bytes +#if ENABLED(ARC_SUPPORT) + #define MM_PER_ARC_SEGMENT 1 // Length of each arc segment + #define N_ARC_CORRECTION 25 // Number of intertpolated segments between corrections + //#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles + //#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes +#endif + +// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes. +//#define BEZIER_CURVE_SUPPORT + +// G38.2 and G38.3 Probe Target +// Set MULTIPLE_PROBING if you want G38 to double touch +//#define G38_PROBE_TARGET +#if ENABLED(G38_PROBE_TARGET) + #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move) +#endif + +// Moves (or segments) with fewer steps than this will be joined with the next move +#define MIN_STEPS_PER_SEGMENT 6 + +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 + +// @section temperature + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//================================= Buffers ================================= +//=========================================================================== + +// @section hidden + +// The number of linear motions that can be in the plan at any give time. +// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering. +#if ENABLED(SDSUPPORT) + #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller +#else + #define BLOCK_BUFFER_SIZE 16 // maximize block buffer +#endif + +// @section serial + +// The ASCII buffer for serial input +#define MAX_CMD_SIZE 96 +#define BUFSIZE 4 + +// Transmission to Host Buffer Size +// To save 386 bytes of PROGMEM (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0. +// To buffer a simple "ok" you need 4 bytes. +// For ADVANCED_OK (M105) you need 32 bytes. +// For debug-echo: 128 bytes for the optimal speed. +// Other output doesn't need to be that speedy. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256] +#define TX_BUFFER_SIZE 0 + +// Host Receive Buffer Size +// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough. +// To use flow control, set this buffer size to at least 1024 bytes. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048] +//#define RX_BUFFER_SIZE 1024 + +#if RX_BUFFER_SIZE >= 1024 + // Enable to have the controller send XON/XOFF control characters to + // the host to signal the RX buffer is becoming full. + //#define SERIAL_XON_XOFF +#endif + +#if ENABLED(SDSUPPORT) + // Enable this option to collect and display the maximum + // RX queue usage after transferring a file to SD. + //#define SERIAL_STATS_MAX_RX_QUEUED + + // Enable this option to collect and display the number + // of dropped bytes after a file transfer to SD. + //#define SERIAL_STATS_DROPPED_RX +#endif + +// Enable an emergency-command parser to intercept certain commands as they +// enter the serial receive buffer, so they cannot be blocked. +// Currently handles M108, M112, M410 +// Does not work on boards using AT90USB (USBCON) processors! +//#define EMERGENCY_PARSER + +// Bad Serial-connections can miss a received command by sending an 'ok' +// Therefore some clients abort after 30 seconds in a timeout. +// Some other clients start sending commands while receiving a 'wait'. +// This "wait" is only sent when the buffer is empty. 1 second is a good value here. +//#define NO_TIMEOUTS 1000 // Milliseconds + +// Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. +//#define ADVANCED_OK + +// @section extras + +/** + * Firmware-based and LCD-controlled retract + * + * Add G10 / G11 commands for automatic firmware-based retract / recover. + * Use M207 and M208 to define parameters for retract / recover. + * + * Use M209 to enable or disable auto-retract. + * With auto-retract enabled, all G1 E moves within the set range + * will be converted to firmware-based retract/recover moves. + * + * Be sure to turn off auto-retract during filament change. + * + * Note that M207 / M208 / M209 settings are saved to EEPROM. + * + */ +//#define FWRETRACT // ONLY PARTIALLY TESTED +#if ENABLED(FWRETRACT) + #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over + #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define RETRACT_LENGTH 3 // Default retract length (positive mm) + #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change + #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) + #define RETRACT_ZLIFT 0 // Default retract Z-lift + #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) + #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) +#endif + +/** + * Extra Fan Speed + * Adds a secondary fan speed for each print-cooling fan. + * 'M106 P T3-255' : Set a secondary speed for + * 'M106 P T2' : Use the set secondary speed + * 'M106 P T1' : Restore the previous fan speed + */ +//#define EXTRA_FAN_SPEED + +/** + * Advanced Pause + * Experimental feature for filament change support and for parking the nozzle when paused. + * Adds the GCode M600 for initiating filament change. + * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. + * + * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. + * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. + */ +#define ADVANCED_PAUSE_FEATURE +#if ENABLED(ADVANCED_PAUSE_FEATURE) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) +#endif + +// @section tmc + +/** + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper + */ +#if HAS_DRIVER(TMC26X) + + #define X_MAX_CURRENT 1000 // in mA + #define X_SENSE_RESISTOR 91 // in mOhms + #define X_MICROSTEPS 16 // number of microsteps + + #define X2_MAX_CURRENT 1000 + #define X2_SENSE_RESISTOR 91 + #define X2_MICROSTEPS 16 + + #define Y_MAX_CURRENT 1000 + #define Y_SENSE_RESISTOR 91 + #define Y_MICROSTEPS 16 + + #define Y2_MAX_CURRENT 1000 + #define Y2_SENSE_RESISTOR 91 + #define Y2_MICROSTEPS 16 + + #define Z_MAX_CURRENT 1000 + #define Z_SENSE_RESISTOR 91 + #define Z_MICROSTEPS 16 + + #define Z2_MAX_CURRENT 1000 + #define Z2_SENSE_RESISTOR 91 + #define Z2_MICROSTEPS 16 + + #define E0_MAX_CURRENT 1000 + #define E0_SENSE_RESISTOR 91 + #define E0_MICROSTEPS 16 + + #define E1_MAX_CURRENT 1000 + #define E1_SENSE_RESISTOR 91 + #define E1_MICROSTEPS 16 + + #define E2_MAX_CURRENT 1000 + #define E2_SENSE_RESISTOR 91 + #define E2_MICROSTEPS 16 + + #define E3_MAX_CURRENT 1000 + #define E3_SENSE_RESISTOR 91 + #define E3_MICROSTEPS 16 + + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + +#endif // TMC26X + +// @section tmc_smart + +/** + * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to + * the hardware SPI interface on your board and define the required CS pins + * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). + * You may also use software SPI if you wish to use general purpose IO pins. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * To use the reading capabilities, also connect #_SERIAL_RX_PIN + * to PDN_UART without a resistor. + * The drivers can also be used with hardware serial. + * + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper + */ +#if HAS_TRINAMIC + + #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 + #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current + #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 + + #define X_CURRENT 800 // rms current in mA. Multiply by 1.41 for peak current. + #define X_MICROSTEPS 16 // 0..256 + + #define Y_CURRENT 800 + #define Y_MICROSTEPS 16 + + #define Z_CURRENT 800 + #define Z_MICROSTEPS 16 + + #define X2_CURRENT 800 + #define X2_MICROSTEPS 16 + + #define Y2_CURRENT 800 + #define Y2_MICROSTEPS 16 + + #define Z2_CURRENT 800 + #define Z2_MICROSTEPS 16 + + #define E0_CURRENT 800 + #define E0_MICROSTEPS 16 + + #define E1_CURRENT 800 + #define E1_MICROSTEPS 16 + + #define E2_CURRENT 800 + #define E2_MICROSTEPS 16 + + #define E3_CURRENT 800 + #define E3_MICROSTEPS 16 + + #define E4_CURRENT 800 + #define E4_MICROSTEPS 16 + + /** + * Use software SPI for TMC2130. + * The default SW SPI pins are defined the respective pins files, + * but you can override or define them here. + */ + //#define TMC_USE_SW_SPI + //#define TMC_SW_MOSI -1 + //#define TMC_SW_MISO -1 + //#define TMC_SW_SCK -1 + + /** + * Use Trinamic's ultra quiet stepping mode. + * When disabled, Marlin will use spreadCycle stepping mode. + */ + #define STEALTHCHOP + + /** + * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions, + * like overtemperature and short to ground. TMC2208 requires hardware serial. + * In the case of overtemperature Marlin can decrease the driver current until error condition clears. + * Other detected conditions can be used to stop the current print. + * Relevant g-codes: + * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. + * M911 - Report stepper driver overtemperature pre-warn condition. + * M912 - Clear stepper driver overtemperature pre-warn condition flag. + * M122 S0/1 - Report driver parameters (Requires TMC_DEBUG) + */ + //#define MONITOR_DRIVER_STATUS + + #if ENABLED(MONITOR_DRIVER_STATUS) + #define CURRENT_STEP_DOWN 50 // [mA] + #define REPORT_CURRENT_CHANGE + #define STOP_ON_ERROR + #endif + + /** + * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD. + * This mode allows for faster movements at the expense of higher noise levels. + * STEALTHCHOP needs to be enabled. + * M913 X/Y/Z/E to live tune the setting + */ + //#define HYBRID_THRESHOLD + + #define X_HYBRID_THRESHOLD 100 // [mm/s] + #define X2_HYBRID_THRESHOLD 100 + #define Y_HYBRID_THRESHOLD 100 + #define Y2_HYBRID_THRESHOLD 100 + #define Z_HYBRID_THRESHOLD 3 + #define Z2_HYBRID_THRESHOLD 3 + #define E0_HYBRID_THRESHOLD 30 + #define E1_HYBRID_THRESHOLD 30 + #define E2_HYBRID_THRESHOLD 30 + #define E3_HYBRID_THRESHOLD 30 + #define E4_HYBRID_THRESHOLD 30 + + /** + * Use stallGuard2 to sense an obstacle and trigger an endstop. + * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. + * X, Y, and Z homing will always be done in spreadCycle mode. + * + * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. + * Higher values make the system LESS sensitive. + * Lower value make the system MORE sensitive. + * Too low values can lead to false positives, while too high values will collide the axis without triggering. + * It is advised to set X/Y/Z_HOME_BUMP_MM to 0. + * M914 X/Y/Z to live tune the setting + */ + //#define SENSORLESS_HOMING // TMC2130 only + + #if ENABLED(SENSORLESS_HOMING) + #define X_HOMING_SENSITIVITY 8 + #define Y_HOMING_SENSITIVITY 8 + #define Z_HOMING_SENSITIVITY 8 + #endif + + /** + * Enable M122 debugging command for TMC stepper drivers. + * M122 S0/1 will enable continous reporting. + */ + //#define TMC_DEBUG + + /** + * M915 Z Axis Calibration + * + * - Adjust Z stepper current, + * - Drive the Z axis to its physical maximum, and + * - Home Z to account for the lost steps. + * + * Use M915 Snn to specify the current. + * Use M925 Znn to add extra Z height to Z_MAX_POS. + */ + //#define TMC_Z_CALIBRATION + #if ENABLED(TMC_Z_CALIBRATION) + #define CALIBRATION_CURRENT 250 + #define CALIBRATION_EXTRA_HEIGHT 10 + #endif + + /** + * You can set your own advanced settings by filling in predefined functions. + * A list of available functions can be found on the library github page + * https://github.com/teemuatlut/TMC2130Stepper + * https://github.com/teemuatlut/TMC2208Stepper + * + * Example: + * #define TMC_ADV() { \ + * stepperX.diag0_temp_prewarn(1); \ + * stepperY.interpolate(0); \ + * } + */ + #define TMC_ADV() { } + +#endif // TMC2130 || TMC2208 + +// @section L6470 + +/** + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 + */ +#if HAS_DRIVER(L6470) + + #define X_MICROSTEPS 16 // number of microsteps + #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off + #define X_STALLCURRENT 1500 // current in mA where the driver will detect a stall + + #define X2_MICROSTEPS 16 + #define X2_OVERCURRENT 2000 + #define X2_STALLCURRENT 1500 + + #define Y_MICROSTEPS 16 + #define Y_OVERCURRENT 2000 + #define Y_STALLCURRENT 1500 + + #define Y2_MICROSTEPS 16 + #define Y2_OVERCURRENT 2000 + #define Y2_STALLCURRENT 1500 + + #define Z_MICROSTEPS 16 + #define Z_OVERCURRENT 2000 + #define Z_STALLCURRENT 1500 + + #define Z2_MICROSTEPS 16 + #define Z2_OVERCURRENT 2000 + #define Z2_STALLCURRENT 1500 + + #define E0_MICROSTEPS 16 + #define E0_OVERCURRENT 2000 + #define E0_STALLCURRENT 1500 + + #define E1_MICROSTEPS 16 + #define E1_OVERCURRENT 2000 + #define E1_STALLCURRENT 1500 + + #define E2_MICROSTEPS 16 + #define E2_OVERCURRENT 2000 + #define E2_STALLCURRENT 1500 + + #define E3_MICROSTEPS 16 + #define E3_OVERCURRENT 2000 + #define E3_STALLCURRENT 1500 + + #define E4_MICROSTEPS 16 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + +#endif // L6470 + +/** + * TWI/I2C BUS + * + * This feature is an EXPERIMENTAL feature so it shall not be used on production + * machines. Enabling this will allow you to send and receive I2C data from slave + * devices on the bus. + * + * ; Example #1 + * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) + * ; It uses multiple M260 commands with one B arg + * M260 A99 ; Target slave address + * M260 B77 ; M + * M260 B97 ; a + * M260 B114 ; r + * M260 B108 ; l + * M260 B105 ; i + * M260 B110 ; n + * M260 S1 ; Send the current buffer + * + * ; Example #2 + * ; Request 6 bytes from slave device with address 0x63 (99) + * M261 A99 B5 + * + * ; Example #3 + * ; Example serial output of a M261 request + * echo:i2c-reply: from:99 bytes:5 data:hello + */ + +// @section i2cbus + +//#define EXPERIMENTAL_I2CBUS +#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave + +// @section extras + +/** + * Spindle & Laser control + * + * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and + * to set spindle speed, spindle direction, and laser power. + * + * SuperPid is a router/spindle speed controller used in the CNC milling community. + * Marlin can be used to turn the spindle on and off. It can also be used to set + * the spindle speed from 5,000 to 30,000 RPM. + * + * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V + * hardware PWM pin for the speed control and a pin for the rotation direction. + * + * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details. + */ +//#define SPINDLE_LASER_ENABLE +#if ENABLED(SPINDLE_LASER_ENABLE) + + #define SPINDLE_LASER_ENABLE_INVERT false // set to "true" if the on/off function is reversed + #define SPINDLE_LASER_PWM true // set to true if your controller supports setting the speed/power + #define SPINDLE_LASER_PWM_INVERT true // set to "true" if the speed/power goes up when you want it to go slower + #define SPINDLE_LASER_POWERUP_DELAY 5000 // delay in milliseconds to allow the spindle/laser to come up to speed/power + #define SPINDLE_LASER_POWERDOWN_DELAY 5000 // delay in milliseconds to allow the spindle to stop + #define SPINDLE_DIR_CHANGE true // set to true if your spindle controller supports changing spindle direction + #define SPINDLE_INVERT_DIR false + #define SPINDLE_STOP_ON_DIR_CHANGE true // set to true if Marlin should stop the spindle before changing rotation direction + + /** + * The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power + * + * SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT + * where PWM duty cycle varies from 0 to 255 + * + * set the following for your controller (ALL MUST BE SET) + */ + + #define SPEED_POWER_SLOPE 118.4 + #define SPEED_POWER_INTERCEPT 0 + #define SPEED_POWER_MIN 5000 + #define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM + + //#define SPEED_POWER_SLOPE 0.3922 + //#define SPEED_POWER_INTERCEPT 0 + //#define SPEED_POWER_MIN 10 + //#define SPEED_POWER_MAX 100 // 0-100% +#endif + +/** + * Filament Width Sensor + * + * Measures the filament width in real-time and adjusts + * flow rate to compensate for any irregularities. + * + * Also allows the measured filament diameter to set the + * extrusion rate, so the slicer only has to specify the + * volume. + * + * Only a single extruder is supported at this time. + * + * 34 RAMPS_14 : Analog input 5 on the AUX2 connector + * 81 PRINTRBOARD : Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 RAMBO : Analog input 3 + * + * Note: May require analog pins to be defined for other boards. + */ +//#define FILAMENT_WIDTH_SENSOR + +#if ENABLED(FILAMENT_WIDTH_SENSOR) + #define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor. :[0,1,2,3,4] + #define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber + + #define FILWIDTH_ERROR_MARGIN 1.0 // (mm) If a measurement differs too much from nominal width ignore it + #define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM. + + #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially + + // Display filament width on the LCD status line. Status messages will expire after 5 seconds. + //#define FILAMENT_LCD_DISPLAY +#endif + +/** + * CNC Coordinate Systems + * + * Enables G53 and G54-G59.3 commands to select coordinate systems + * and G92.1 to reset the workspace to native machine space. + */ +//#define CNC_COORDINATE_SYSTEMS + +/** + * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins + */ +//#define PINS_DEBUGGING + +/** + * Auto-report temperatures with M155 S + */ +#define AUTO_REPORT_TEMPERATURES + +/** + * Include capabilities in M115 output + */ +#define EXTENDED_CAPABILITIES_REPORT + +/** + * Disable all Volumetric extrusion options + */ +//#define NO_VOLUMETRICS + +#if DISABLED(NO_VOLUMETRICS) + /** + * Volumetric extrusion default state + * Activate to make volumetric extrusion the default method, + * with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter. + * + * M200 D0 to disable, M200 Dn to set a new diameter. + */ + //#define VOLUMETRIC_DEFAULT_ON +#endif + +/** + * Enable this option for a leaner build of Marlin that removes all + * workspace offsets, simplifying coordinate transformations, leveling, etc. + * + * - M206 and M428 are disabled. + * - G92 will revert to its behavior from Marlin 1.0. + */ +//#define NO_WORKSPACE_OFFSETS + +/** + * Set the number of proportional font spaces required to fill up a typical character space. + * This can help to better align the output of commands like `G29 O` Mesh Output. + * + * For clients that use a fixed-width font (like OctoPrint), leave this set to 1.0. + * Otherwise, adjust according to your client and font. + */ +#define PROPORTIONAL_FONT_RATIO 1.0 + +/** + * Spend 28 bytes of SRAM to optimize the GCode parser + */ +#define FASTER_GCODE_PARSER + +/** + * User-defined menu items that execute custom GCode + */ +//#define CUSTOM_USER_MENUS +#if ENABLED(CUSTOM_USER_MENUS) + #define USER_SCRIPT_DONE "M117 User Script Done" + #define USER_SCRIPT_AUDIBLE_FEEDBACK + //#define USER_SCRIPT_RETURN // Return to status screen after a script + + #define USER_DESC_1 "Home & UBL Info" + #define USER_GCODE_1 "G28\nG29 W" + + #define USER_DESC_2 "Preheat for PLA" + #define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) + + #define USER_DESC_3 "Preheat for ABS" + #define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) + + #define USER_DESC_4 "Heat Bed/Home/Level" + #define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29" + + #define USER_DESC_5 "Home & Info" + #define USER_GCODE_5 "G28\nM503" +#endif + +/** + * Specify an action command to send to the host when the printer is killed. + * Will be sent in the form '//action:ACTION_ON_KILL', e.g. '//action:poweroff'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_KILL "poweroff" + +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + +//=========================================================================== +//====================== I2C Position Encoder Settings ====================== +//=========================================================================== + +/** + * I2C position encoders for closed loop control. + * Developed by Chris Barr at Aus3D. + * + * Wiki: http://wiki.aus3d.com.au/Magnetic_Encoder + * Github: https://github.com/Aus3D/MagneticEncoder + * + * Supplier: http://aus3d.com.au/magnetic-encoder-module + * Alternative Supplier: http://reliabuild3d.com/ + * + * Reilabuild encoders have been modified to improve reliability. + */ + +//#define I2C_POSITION_ENCODERS +#if ENABLED(I2C_POSITION_ENCODERS) + + #define I2CPE_ENCODER_CNT 1 // The number of encoders installed; max of 5 + // encoders supported currently. + + #define I2CPE_ENC_1_ADDR I2CPE_PRESET_ADDR_X // I2C address of the encoder. 30-200. + #define I2CPE_ENC_1_AXIS X_AXIS // Axis the encoder module is installed on. _AXIS. + #define I2CPE_ENC_1_TYPE I2CPE_ENC_TYPE_LINEAR // Type of encoder: I2CPE_ENC_TYPE_LINEAR -or- + // I2CPE_ENC_TYPE_ROTARY. + #define I2CPE_ENC_1_TICKS_UNIT 2048 // 1024 for magnetic strips with 2mm poles; 2048 for + // 1mm poles. For linear encoders this is ticks / mm, + // for rotary encoders this is ticks / revolution. + //#define I2CPE_ENC_1_TICKS_REV (16 * 200) // Only needed for rotary encoders; number of stepper + // steps per full revolution (motor steps/rev * microstepping) + //#define I2CPE_ENC_1_INVERT // Invert the direction of axis travel. + #define I2CPE_ENC_1_EC_METHOD I2CPE_ECM_MICROSTEP // Type of error error correction. + #define I2CPE_ENC_1_EC_THRESH 0.10 // Threshold size for error (in mm) above which the + // printer will attempt to correct the error; errors + // smaller than this are ignored to minimize effects of + // measurement noise / latency (filter). + + #define I2CPE_ENC_2_ADDR I2CPE_PRESET_ADDR_Y // Same as above, but for encoder 2. + #define I2CPE_ENC_2_AXIS Y_AXIS + #define I2CPE_ENC_2_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_ENC_2_TICKS_UNIT 2048 + //#define I2CPE_ENC_2_TICKS_REV (16 * 200) + //#define I2CPE_ENC_2_INVERT + #define I2CPE_ENC_2_EC_METHOD I2CPE_ECM_MICROSTEP + #define I2CPE_ENC_2_EC_THRESH 0.10 + + #define I2CPE_ENC_3_ADDR I2CPE_PRESET_ADDR_Z // Encoder 3. Add additional configuration options + #define I2CPE_ENC_3_AXIS Z_AXIS // as above, or use defaults below. + + #define I2CPE_ENC_4_ADDR I2CPE_PRESET_ADDR_E // Encoder 4. + #define I2CPE_ENC_4_AXIS E_AXIS + + #define I2CPE_ENC_5_ADDR 34 // Encoder 5. + #define I2CPE_ENC_5_AXIS E_AXIS + + // Default settings for encoders which are enabled, but without settings configured above. + #define I2CPE_DEF_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_DEF_ENC_TICKS_UNIT 2048 + #define I2CPE_DEF_TICKS_REV (16 * 200) + #define I2CPE_DEF_EC_METHOD I2CPE_ECM_NONE + #define I2CPE_DEF_EC_THRESH 0.1 + + //#define I2CPE_ERR_THRESH_ABORT 100.0 // Threshold size for error (in mm) error on any given + // axis after which the printer will abort. Comment out to + // disable abort behaviour. + + #define I2CPE_TIME_TRUSTED 10000 // After an encoder fault, there must be no further fault + // for this amount of time (in ms) before the encoder + // is trusted again. + + /** + * Position is checked every time a new command is executed from the buffer but during long moves, + * this setting determines the minimum update time between checks. A value of 100 works well with + * error rolling average when attempting to correct only for skips and not for vibration. + */ + #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks. + + // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. + #define I2CPE_ERR_ROLLING_AVERAGE + +#endif // I2C_POSITION_ENCODERS + +/** + * MAX7219 Debug Matrix + * + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. + */ +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + + /** + * Sample debug features + * If you add more debug displays, be careful to avoid conflicts! + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row + + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row + // If you experience stuttering, reboots, etc. this option can reveal how + // tweaks made to the configuration are affecting the printer in real-time. +#endif + +/** + * NanoDLP Sync support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + */ +//#define NANODLP_Z_SYNC +#if ENABLED(NANODLP_Z_SYNC) + //#define NANODLP_ALL_AXIS // Enables "Z_move_comp" output on any axis move. + // Default behaviour is limited to Z axis only. +#endif + +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + +#endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h new file mode 100644 index 000000000000..b07e556582eb --- /dev/null +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h @@ -0,0 +1,1953 @@ +/** + * 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 . + * + */ + +/** + * Configuration.h + * + * Basic settings such as: + * + * - Type of electronics + * - Type of temperature sensor + * - Printer geometry + * - Endstop configuration + * - LCD controller + * - Extra features + * + * Advanced settings can be found in Configuration_adv.h + * + */ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H +#define CONFIGURATION_H_VERSION 020000 + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== + +/** + * Here are some standard links for getting your machine calibrated: + * + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 + */ + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer start with one of the configuration files in the +// config/examples/delta directory and customize for your machine. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a SCARA printer start with the configuration files in +// config/examples/SCARA and customize for your machine. +// + +// @section info + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_CONFIG_H_AUTHOR "(Phr3d13, default config)" // Who made the changes. +#define SHOW_BOOTSCREEN +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 + +/** + * *** VENDORS PLEASE READ *** + * + * Marlin allows you to add a custom boot image for Graphical LCDs. + * With this option Marlin will first show your custom screen followed + * by the standard Marlin logo with version number and web URL. + * + * We encourage you to take advantage of this new feature and we also + * respectfully request that you retain the unmodified Marlin boot screen. + */ + +// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +//#define SHOW_CUSTOM_BOOTSCREEN + +// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +//#define CUSTOM_STATUS_SCREEN_IMAGE + +// @section machine + +/** + * Select the serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +#define SERIAL_PORT 0 + +/** + * Select a secondary serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Serial port -1 is the USB emulated serial port, if available. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +//#define SERIAL_PORT_2 -1 + +/** + * This setting determines the communication speed of the printer. + * + * 250000 works in most cases, but you might try a lower speed if + * you commonly experience drop-outs during host printing. + * You may try up to 1000000 to speed up SD file transfer. + * + * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] + */ +#define BAUDRATE 250000 + +// Enable the Bluetooth serial interface on AT90USB devices +//#define BLUETOOTH + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_GT2560_REV_A_PLUS +#endif + +// Optional custom name for your RepStrap or other custom machine +// Displayed in the LCD "Ready" message +#define CUSTOM_MACHINE_NAME "Pro W" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// @section extruder + +// This defines the number of extruders +// :[1, 2, 3, 4, 5] +#define EXTRUDERS 1 + +// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc. +#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 + +// For Cyclops or any "multi-extruder" that shares a single nozzle. +//#define SINGLENOZZLE + +/** + * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. + * + * This device allows one stepper driver on a control board to drive + * two to eight stepper motors, one at a time, in a manner suitable + * for extruders. + * + * This option only allows the multiplexer to switch on tool-change. + * Additional options to configure custom E moves are pending. + */ +//#define MK2_MULTIPLEXER +#if ENABLED(MK2_MULTIPLEXER) + // Override the default DIO selector pins here, if needed. + // Some pins files may provide defaults for these pins. + //#define E_MUX0_PIN 40 // Always Required + //#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers + //#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers +#endif + +// A dual extruder that uses a single stepper motor +//#define SWITCHING_EXTRUDER +#if ENABLED(SWITCHING_EXTRUDER) + #define SWITCHING_EXTRUDER_SERVO_NR 0 + #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3] + #if EXTRUDERS > 3 + #define SWITCHING_EXTRUDER_E23_SERVO_NR 1 + #endif +#endif + +// A dual-nozzle that uses a servomotor to raise/lower one of the nozzles +//#define SWITCHING_NOZZLE +#if ENABLED(SWITCHING_NOZZLE) + #define SWITCHING_NOZZLE_SERVO_NR 0 + #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1 + //#define HOTEND_OFFSET_Z { 0.0, 0.0 } +#endif + +/** + * Two separate X-carriages with extruders that connect to a moving part + * via a magnetic docking mechanism. Requires SOL1_PIN and SOL2_PIN. + */ +//#define PARKING_EXTRUDER +#if ENABLED(PARKING_EXTRUDER) + #define PARKING_EXTRUDER_SOLENOIDS_INVERT // If enabled, the solenoid is NOT magnetized with applied voltage + #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW // LOW or HIGH pin signal energizes the coil + #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250 // Delay (ms) for magnetic field. No delay if 0 or not defined. + #define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders + #define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder + #define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking + #define HOTEND_OFFSET_Z { 0.0, 1.3 } // Z-offsets of the two hotends. The first must be 0. +#endif + +/** + * "Mixing Extruder" + * - Adds a new code, M165, to set the current mix factors. + * - Extends the stepping routines to move multiple steppers in proportion to the mix. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. + * - This implementation supports only a single extruder. + * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation + */ +//#define MIXING_EXTRUDER +#if ENABLED(MIXING_EXTRUDER) + #define MIXING_STEPPERS 2 // Number of steppers in your mixing extruder + #define MIXING_VIRTUAL_TOOLS 16 // Use the Virtual Tool method with M163 and M164 + //#define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands +#endif + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +//#define HOTEND_OFFSET_X {0.0, 32.00} // (in mm) for each extruder, offset of the hotend on the X axis +//#define HOTEND_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +// @section machine + +/** + * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN + * + * 0 = No Power Switch + * 1 = ATX + * 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) + * + * :{ 0:'No power switch', 1:'ATX', 2:'X-Box 360' } + */ +#define POWER_SUPPLY 0 + +#if POWER_SUPPLY > 0 + // Enable this option to leave the PSU off at startup. + // Power to steppers and heaters will need to be turned on with M80. + //#define PS_DEFAULT_OFF + + //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin + #if ENABLED(AUTO_POWER_CONTROL) + #define AUTO_POWER_FANS // Turn on PSU if fans need power + #define AUTO_POWER_E_FANS + #define AUTO_POWER_CONTROLLERFAN + #define POWER_TIMEOUT 30 + #endif + +#endif + +// @section temperature + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== + +/** + * --NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table + * + * Temperature sensors available: + * + * -4 : thermocouple with AD8495 + * -3 : thermocouple with MAX31855 (only for sensor 0) + * -2 : thermocouple with MAX6675 (only for sensor 0) + * -1 : thermocouple with AD595 + * 0 : not used + * 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup) + * 2 : 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) + * 3 : Mendel-parts thermistor (4.7k pullup) + * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! + * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor + * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) + * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) + * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) + * 8 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) + * 9 : 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) + * 10 : 100k RS thermistor 198-961 (4.7k pullup) + * 11 : 100k beta 3950 1% thermistor (4.7k pullup) + * 12 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) + * 13 : 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" + * 15 : 100k thermistor calibration for JGAurora A5 hotend + * 20 : the PT100 circuit found in the Ultimainboard V2.x + * 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 + * 66 : 4.7M High Temperature thermistor from Dyze Design + * 70 : the 100K thermistor found in the bq Hephestos 2 + * 75 : 100k Generic Silicon Heat Pad with NTC 100K MGB18-104F39050L32 thermistor + * + * 1k ohm pullup tables - This is atypical, and requires changing out the 4.7k pullup for 1k. + * (but gives greater accuracy and more stable PID) + * 51 : 100k thermistor - EPCOS (1k pullup) + * 52 : 200k thermistor - ATC Semitec 204GT-2 (1k pullup) + * 55 : 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) + * + * 1047 : Pt1000 with 4k7 pullup + * 1010 : Pt1000 with 1k pullup (non standard) + * 147 : Pt100 with 4k7 pullup + * 110 : Pt100 with 1k pullup (non standard) + * + * Use these for Testing or Development purposes. NEVER for production machine. + * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. + * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. + * + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + */ +#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_BED 1 +#define TEMP_SENSOR_CHAMBER 0 + +// Dummy thermistor constant temperature readings, for use with 998 and 999 +#define DUMMY_THERMISTOR_998_VALUE 25 +#define DUMMY_THERMISTOR_999_VALUE 100 + +// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings +// from the two sensors differ too much the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Extruder temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// Bed temperature must be close to target for this long before M190 returns success +#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) +#define TEMP_BED_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_BED_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define HEATER_4_MINTEMP 5 +#define BED_MINTEMP 5 + +// When temperature exceeds max temp, your heater will be switched off. +// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! +// You should use MINTEMP for thermistor short/failure protection. +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define HEATER_4_MAXTEMP 275 +#define BED_MAXTEMP 150 + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#define PID_K1 0.95 // Smoothing factor within any PID loop +#if ENABLED(PIDTEMP) + //#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result. + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + + // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it + + // Ultimaker + #define DEFAULT_Kp 22.2 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114 + + // MakerGear + //#define DEFAULT_Kp 7.0 + //#define DEFAULT_Ki 0.1 + //#define DEFAULT_Kd 12 + + // Mendel Parts V9 on 12V + //#define DEFAULT_Kp 63.0 + //#define DEFAULT_Ki 2.25 + //#define DEFAULT_Kd 440 + +#endif // PIDTEMP + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== + +/** + * PID Bed Heating + * + * If this option is enabled set PID constants below. + * If this option is disabled, bang-bang will be used and BED_LIMIT_SWITCHING will enable hysteresis. + * + * The PID frequency will be the same as the extruder PWM. + * If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz, + * which is fine for driving a square wave into a resistive load and does not significantly + * impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W + * heater. If your configuration is significantly different than this and you don't understand + * the issues involved, don't use bed PID until someone else verifies that your hardware works. + */ +//#define PIDTEMPBED + +//#define BED_LIMIT_SWITCHING + +/** + * Max Bed Power + * Applies to all forms of bed control (PID, bang-bang, and bang-bang with hysteresis). + * When set to any value below 255, enables a form of PWM to the bed that acts like a divider + * so don't use it unless you are OK with PWM on your bed. (See the comment on enabling PIDTEMPBED) + */ +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +#if ENABLED(PIDTEMPBED) + + //#define PID_BED_DEBUG // Sends debug data to the serial port. + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from pidautotune + //#define DEFAULT_bedKp 97.1 + //#define DEFAULT_bedKi 1.41 + //#define DEFAULT_bedKd 1675.16 + + // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + +// @section extruder + +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ +#define PREVENT_COLD_EXTRUSION +#define EXTRUDE_MINTEMP 170 + +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ +#define PREVENT_LENGTHY_EXTRUDE +#define EXTRUDE_MAXLENGTH 200 + +//=========================================================================== +//======================== Thermal Runaway Protection ======================= +//=========================================================================== + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * If you get "Thermal Runaway" or "Heating failed" errors the + * details can be tuned in Configuration_adv.h + */ + +#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders +#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// @section machine + +// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics +// either in the usual order or reversed +//#define COREXY +//#define COREXZ +//#define COREYZ +//#define COREYX +//#define COREZX +//#define COREZY + +//=========================================================================== +//============================== Endstop Settings =========================== +//=========================================================================== + +// @section homing + +// Specify here all the endstop connectors that are connected to any endstop or probe. +// Almost all printers will be using one per axis. Probes will use one or more of the +// extra connectors. Leave undefined any used for non-endstop and non-probe purposes. +#define USE_XMIN_PLUG +#define USE_YMIN_PLUG +#define USE_ZMIN_PLUG +//#define USE_XMAX_PLUG +//#define USE_YMAX_PLUG +//#define USE_ZMAX_PLUG + +// Enable pullup for all endstops to prevent a floating state +#define ENDSTOPPULLUPS +#if DISABLED(ENDSTOPPULLUPS) + // Disable ENDSTOPPULLUPS to set pullups individually + //#define ENDSTOPPULLUP_XMAX + //#define ENDSTOPPULLUP_YMAX + //#define ENDSTOPPULLUP_ZMAX + //#define ENDSTOPPULLUP_XMIN + //#define ENDSTOPPULLUP_YMIN + //#define ENDSTOPPULLUP_ZMIN + //#define ENDSTOPPULLUP_ZMIN_PROBE +#endif + +// Enable pulldown for all endstops to prevent a floating state +//#define ENDSTOPPULLDOWNS +#if DISABLED(ENDSTOPPULLDOWNS) + // Disable ENDSTOPPULLDOWNS to set pulldowns individually + //#define ENDSTOPPULLDOWN_XMAX + //#define ENDSTOPPULLDOWN_YMAX + //#define ENDSTOPPULLDOWN_ZMAX + //#define ENDSTOPPULLDOWN_XMIN + //#define ENDSTOPPULLDOWN_YMIN + //#define ENDSTOPPULLDOWN_ZMIN + //#define ENDSTOPPULLDOWN_ZMIN_PROBE +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. + +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + +// Enable this feature if all enabled endstop pins are interrupt-capable. +// This will remove the need to poll the interrupt pins, saving many CPU cycles. +//#define ENDSTOP_INTERRUPTS_FEATURE + +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + +//============================================================================= +//============================== Movement Settings ============================ +//============================================================================= +// @section motion + +/** + * Default Settings + * + * These settings can be reset by M502 + * + * Note that if EEPROM is enabled, saved values will override these. + */ + +/** + * With this option each E stepper can have its own factors for the + * following movement settings. If fewer factors are given than the + * total number of extruders, the last value applies to the rest. + */ +//#define DISTINCT_E_FACTORS + +/** + * Default Axis Steps Per Unit (steps/mm) + * Override with M92 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 2560, 95 } + +/** + * Default Max Feed Rate (mm/s) + * Override with M203 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } + +/** + * Default Max Acceleration (change/s) change = mm/s + * (Maximum start speed for accelerated moves) + * Override with M201 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } + +/** + * Default Acceleration (change/s) change = mm/s + * Override with M204 + * + * M204 P Acceleration + * M204 R Retract Acceleration + * M204 T Travel Acceleration + */ +#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves +#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts +#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves + +/** + * Default Jerk (mm/s) + * Override with M205 X Y Z E + * + * "Jerk" specifies the minimum speed change that requires acceleration. + * When changing speed and direction, if the difference is less than the + * value set here, it may happen instantaneously. + */ +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 +#define DEFAULT_EJERK 5.0 + +/** + * S-Curve Acceleration + * + * This option eliminates vibration during printing by fitting a Bézier + * curve to move acceleration, producing much smoother direction changes. + * + * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained + */ +//#define S_CURVE_ACCELERATION + +//=========================================================================== +//============================= Z Probe Options ============================= +//=========================================================================== +// @section probes + +// +// See http://marlinfw.org/docs/configuration/probes.html +// + +/** + * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + * + * Enable this option for a probe connected to the Z Min endstop pin. + */ +#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + +/** + * Z_MIN_PROBE_ENDSTOP + * + * Enable this option for a probe connected to any pin except Z-Min. + * (By default Marlin assumes the Z-Max endstop pin.) + * To use a custom Z Probe pin, set Z_MIN_PROBE_PIN below. + * + * - The simplest option is to use a free endstop connector. + * - Use 5V for powered (usually inductive) sensors. + * + * - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin: + * - For simple switches connect... + * - normally-closed switches to GND and D32. + * - normally-open switches to 5V and D32. + * + * WARNING: Setting the wrong pin may have unexpected and potentially + * disastrous consequences. Use with caution and do your homework. + * + */ +//#define Z_MIN_PROBE_ENDSTOP + +/** + * Probe Type + * + * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. + * Activate one of these to use Auto Bed Leveling below. + */ + +/** + * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. + * Use G29 repeatedly, adjusting the Z height at each point with movement commands + * or (with LCD_BED_LEVELING) the LCD controller. + */ +//#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 + +/** + * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. + * (e.g., an inductive probe or a nozzle-based probe-switch.) + */ +//#define FIX_MOUNTED_PROBE + +/** + * Z Servo Probe, such as an endstop switch on a rotating arm. + */ +//#define Z_PROBE_SERVO_NR 0 // Defaults to SERVO 0 connector. +//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles + +/** + * The BLTouch probe uses a Hall effect sensor and emulates a servo. + */ +//#define BLTOUCH +#if ENABLED(BLTOUCH) + //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed +#endif + +/** + * Enable one or more of the following if probing seems unreliable. + * Heaters and/or fans can be disabled during probing to minimize electrical + * noise. A delay can also be added to allow noise and vibration to settle. + * These options are most useful for the BLTouch probe, but may also improve + * readings with inductive probes and piezo sensors. + */ +//#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif +//#define PROBING_FANS_OFF // Turn fans off when probing +//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors + +// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) +//#define SOLENOID_PROBE + +// A sled-mounted probe like those designed by Charles Bell. +//#define Z_PROBE_SLED +//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + +// +// For Z_PROBE_ALLEN_KEY see the Delta example configurations. +// + +/** + * Z Probe to nozzle (X,Y) offset, relative to (0, 0). + * X and Y offsets must be integers. + * + * In the following example the X and Y offsets are both positive: + * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 + * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * +-- BACK ---+ + * | | + * L | (+) P | R <-- probe (20,20) + * E | | I + * F | (-) N (+) | G <-- nozzle (10,10) + * T | | H + * | (-) | T + * | | + * O-- FRONT --+ + * (0,0) + */ +#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] +#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] +#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + +// Certain types of probes need to stay away from edges +#define MIN_PROBE_EDGE 10 + +// X and Y axis travel speed (mm/m) between probes +#define XY_PROBE_SPEED 8000 + +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) +#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z + +// Feedrate (mm/m) for the "accurate" probe of each point +#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) + +// The number of probes to perform at each point. +// Set to 2 for a fast/slow probe, using the second probe result. +// Set to 3 or more for slow probes, averaging the results. +//#define MULTIPLE_PROBING 2 + +/** + * Z probes require clearance when deploying, stowing, and moving between + * probe points to avoid hitting the bed and other hardware. + * Servo-mounted probes require extra space for the arm to rotate. + * Inductive probes need space to keep from triggering early. + * + * Use these settings to specify the distance (mm) to raise the probe (or + * lower the bed). The values set here apply over and above any (negative) + * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * Only integer values >= 1 are valid here. + * + * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. + * But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle. + */ +#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow +#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes +//#define Z_AFTER_PROBING 5 // Z position after probing is done + +#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping + +// For M851 give a range for adjusting the Z probe offset +#define Z_PROBE_OFFSET_RANGE_MIN -20 +#define Z_PROBE_OFFSET_RANGE_MAX 20 + +// Enable the M48 repeatability test to test probe accuracy +//#define Z_MIN_PROBE_REPEATABILITY_TEST + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +// :{ 0:'Low', 1:'High' } +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis stepper immediately when it's not being used. +// WARNING: When motors turn off there is a chance of losing position accuracy! +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define DISABLE_REDUCED_ACCURACY_WARNING + +// @section extruder + +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER true // Keep only the active extruder enabled. + +// @section machine + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR true +#define INVERT_Y_DIR true +#define INVERT_Z_DIR false + +// @section extruder + +// For direct drive extruder v9 set to true, for geared extruder set to false. +#define INVERT_E0_DIR true +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false +#define INVERT_E4_DIR false + +// @section homing + +//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed + +//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off. + +//#define Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ... + // Be sure you have this distance over your Z_MAX_POS in case. + +// Direction of endstops when homing; 1=MAX, -1=MIN +// :[-1,1] +#define X_HOME_DIR -1 +#define Y_HOME_DIR -1 +#define Z_HOME_DIR -1 + +// @section machine + +// The size of the print bed +#define X_BED_SIZE 200 +#define Y_BED_SIZE 200 + +// Travel limits (mm) after homing, corresponding to endstop positions. +#define X_MIN_POS 0 +#define Y_MIN_POS 0 +#define Z_MIN_POS 0 +#define X_MAX_POS X_BED_SIZE +#define Y_MAX_POS Y_BED_SIZE +#define Z_MAX_POS 180 + +/** + * Software Endstops + * + * - Prevent moves outside the set machine bounds. + * - Individual axes can be disabled, if desired. + * - X and Y only apply to Cartesian robots. + * - Use 'M211' to set software endstops on/off or report current state + */ + +// Min software endstops constrain movement within minimum coordinate bounds +#define MIN_SOFTWARE_ENDSTOPS +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) + #define MIN_SOFTWARE_ENDSTOP_X + #define MIN_SOFTWARE_ENDSTOP_Y + #define MIN_SOFTWARE_ENDSTOP_Z +#endif + +// Max software endstops constrain movement within maximum coordinate bounds +#define MAX_SOFTWARE_ENDSTOPS +#if ENABLED(MAX_SOFTWARE_ENDSTOPS) + #define MAX_SOFTWARE_ENDSTOP_X + #define MAX_SOFTWARE_ENDSTOP_Y + #define MAX_SOFTWARE_ENDSTOP_Z +#endif + +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + +/** + * Filament Runout Sensors + * Mechanical or opto endstops are used to check for the presence of filament. + * + * RAMPS-based boards use SERVO3_PIN for the first runout sensor. + * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. + * By default the firmware assumes HIGH=FILAMENT PRESENT. + */ +//#define FILAMENT_RUNOUT_SENSOR +#if ENABLED(FILAMENT_RUNOUT_SENSOR) + #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. + #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. + //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. + #define FILAMENT_RUNOUT_SCRIPT "M600" +#endif + +//=========================================================================== +//=============================== Bed Leveling ============================== +//=========================================================================== +// @section calibrate + +/** + * Choose one of the options below to enable G29 Bed Leveling. The parameters + * and behavior of G29 will change depending on your selection. + * + * If using a Probe for Z Homing, enable Z_SAFE_HOMING also! + * + * - AUTO_BED_LEVELING_3POINT + * Probe 3 arbitrary points on the bed (that aren't collinear) + * You specify the XY coordinates of all 3 points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_LINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_BILINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a mesh, best for large or uneven beds. + * + * - AUTO_BED_LEVELING_UBL (Unified Bed Leveling) + * A comprehensive bed leveling system combining the features and benefits + * of other systems. UBL also includes integrated Mesh Generation, Mesh + * Validation and Mesh Editing systems. + * + * - MESH_BED_LEVELING + * Probe a grid manually + * The result is a mesh, suitable for large or uneven beds. (See BILINEAR.) + * For machines without a probe, Mesh Bed Leveling provides a method to perform + * leveling in steps so you can manually adjust the Z height at each grid-point. + * With an LCD controller the process is guided step-by-step. + */ +//#define AUTO_BED_LEVELING_3POINT +//#define AUTO_BED_LEVELING_LINEAR +//#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL +//#define MESH_BED_LEVELING + +/** + * Normally G28 leaves leveling disabled on completion. Enable + * this option to have G28 restore the prior leveling state. + */ +//#define RESTORE_LEVELING_AFTER_G28 + +/** + * Enable detailed logging of G28, G29, M48, etc. + * Turn on with the command 'M111 S32'. + * NOTE: Requires a lot of PROGMEM! + */ +//#define DEBUG_LEVELING_FEATURE + +#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL) + // Gradually reduce leveling correction until a set height is reached, + // at which point movement will be level to the machine's XY plane. + // The height can be set with M420 Z + #define ENABLE_LEVELING_FADE_HEIGHT + + // For Cartesian machines, instead of dividing moves on mesh boundaries, + // split up moves into short segments like a Delta. This follows the + // contours of the bed more closely than edge-to-edge straight moves. + #define SEGMENT_LEVELED_MOVES + #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one) + + /** + * Enable the G26 Mesh Validation Pattern tool. + */ + //#define G26_MESH_VALIDATION + #if ENABLED(G26_MESH_VALIDATION) + #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. + #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool. + #define MESH_TEST_HOTEND_TEMP 205.0 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool. + #define MESH_TEST_BED_TEMP 60.0 // (°C) Default bed temperature for the G26 Mesh Validation Tool. + #endif + +#endif + +#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Set the number of grid points per dimension. + #define GRID_MAX_POINTS_X 3 + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + // Set the boundaries for probing (where the probe can reach). + //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE) + //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE) + + // Probe along the Y axis, advancing X after each column + //#define PROBE_Y_FIRST + + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Beyond the probed grid, continue the implied tilt? + // Default is to maintain the height of the nearest edge. + //#define EXTRAPOLATE_BEYOND_GRID + + // + // Experimental Subdivision of the grid by Catmull-Rom method. + // Synthesizes intermediate points to produce a more detailed mesh. + // + //#define ABL_BILINEAR_SUBDIVISION + #if ENABLED(ABL_BILINEAR_SUBDIVISION) + // Number of subdivisions between probe points + #define BILINEAR_SUBDIVISIONS 3 + #endif + + #endif + +#elif ENABLED(AUTO_BED_LEVELING_UBL) + + //=========================================================================== + //========================= Unified Bed Leveling ============================ + //=========================================================================== + + //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh + + #define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle + #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 + + //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used + // as the Z-Height correction value. + +#elif ENABLED(MESH_BED_LEVELING) + + //=========================================================================== + //=================================== Mesh ================================== + //=========================================================================== + + #define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS + +#endif // BED_LEVELING + +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. + */ +//#define LCD_BED_LEVELING + +#if ENABLED(LCD_BED_LEVELING) + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. + #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment +#endif + +// Add a menu item to move between bed corners for manual bed adjustment +//#define LEVEL_BED_CORNERS + +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + +/** + * Commands to execute at the end of G29 probing. + * Useful to retract or move the Z probe out of the way. + */ +//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" + + +// @section homing + +// The center of the bed is at (X=0, Y=0) +//#define BED_CENTER_AT_0_0 + +// Manually set the home position. Leave these undefined for automatic settings. +// For DELTA this is the top-center of the Cartesian print volume. +//#define MANUAL_X_HOME_POS 0 +//#define MANUAL_Y_HOME_POS 0 +//#define MANUAL_Z_HOME_POS 0 + +// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. +// +// With this feature enabled: +// +// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. +// - If stepper drivers time out, it will need X and Y homing again before Z homing. +// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28). +// - Prevent Z homing when the Z probe is outside bed area. +// +//#define Z_SAFE_HOMING + +#if ENABLED(Z_SAFE_HOMING) + #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28). +#endif + +// Homing speeds (mm/m) +#define HOMING_FEEDRATE_XY (50*60) +#define HOMING_FEEDRATE_Z (4*60) + +// @section calibrate + +/** + * Bed Skew Compensation + * + * This feature corrects for misalignment in the XYZ axes. + * + * Take the following steps to get the bed skew in the XY plane: + * 1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185) + * 2. For XY_DIAG_AC measure the diagonal A to C + * 3. For XY_DIAG_BD measure the diagonal B to D + * 4. For XY_SIDE_AD measure the edge A to D + * + * Marlin automatically computes skew factors from these measurements. + * Skew factors may also be computed and set manually: + * + * - Compute AB : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2 + * - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD))) + * + * If desired, follow the same procedure for XZ and YZ. + * Use these diagrams for reference: + * + * Y Z Z + * ^ B-------C ^ B-------C ^ B-------C + * | / / | / / | / / + * | / / | / / | / / + * | A-------D | A-------D | A-------D + * +-------------->X +-------------->X +-------------->Y + * XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR + */ +//#define SKEW_CORRECTION + +#if ENABLED(SKEW_CORRECTION) + // Input all length measurements here: + #define XY_DIAG_AC 282.8427124746 + #define XY_DIAG_BD 282.8427124746 + #define XY_SIDE_AD 200 + + // Or, set the default skew factors directly here + // to override the above measurements: + #define XY_SKEW_FACTOR 0.0 + + //#define SKEW_CORRECTION_FOR_Z + #if ENABLED(SKEW_CORRECTION_FOR_Z) + #define XZ_DIAG_AC 282.8427124746 + #define XZ_DIAG_BD 282.8427124746 + #define YZ_DIAG_AC 282.8427124746 + #define YZ_DIAG_BD 282.8427124746 + #define YZ_SIDE_AD 200 + #define XZ_SKEW_FACTOR 0.0 + #define YZ_SKEW_FACTOR 0.0 + #endif + + // Enable this option for M852 to set skew at runtime + //#define SKEW_CORRECTION_GCODE +#endif + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// @section extras + +// +// EEPROM +// +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters in EEPROM +// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +// +#define EEPROM_SETTINGS // Enable for M500 and M501 commands +//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release! +#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. + +// +// Host Keepalive +// +// When enabled Marlin will send a busy status message to the host +// every couple of seconds when it can't accept commands. +// +#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages +#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113. +#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating + +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // Add M100 (Free Memory Watcher) to debug memory usage + +// +// G20/G21 Inch mode support +// +//#define INCH_MODE_SUPPORT + +// +// M149 Set temperature units support +// +//#define TEMPERATURE_UNITS_SUPPORT + +// @section temperature + +// Preheat Constants +#define PREHEAT_1_TEMP_HOTEND 200 +#define PREHEAT_1_TEMP_BED 65 +#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 + +#define PREHEAT_2_TEMP_HOTEND 235 +#define PREHEAT_2_TEMP_BED 95 +#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 + +/** + * Nozzle Park + * + * Park the nozzle at the given XYZ position on idle or G27. + * + * The "P" parameter controls the action applied to the Z axis: + * + * P0 (Default) If Z is below park Z raise the nozzle. + * P1 Raise the nozzle always to Z-park height. + * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. + */ +#define NOZZLE_PARK_FEATURE + +#if ENABLED(NOZZLE_PARK_FEATURE) + // Specify a park position as { X, Y, Z } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) +#endif + +/** + * Clean Nozzle Feature -- EXPERIMENTAL + * + * Adds the G12 command to perform a nozzle cleaning process. + * + * Parameters: + * P Pattern + * S Strokes / Repetitions + * T Triangles (P1 only) + * + * Patterns: + * P0 Straight line (default). This process requires a sponge type material + * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) + * between the start / end points. + * + * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the + * number of zig-zag triangles to do. "S" defines the number of strokes. + * Zig-zags are done in whichever is the narrower dimension. + * For example, "G12 P1 S1 T3" will execute: + * + * -- + * | (X0, Y1) | /\ /\ /\ | (X1, Y1) + * | | / \ / \ / \ | + * A | | / \ / \ / \ | + * | | / \ / \ / \ | + * | (X0, Y0) | / \/ \/ \ | (X1, Y0) + * -- +--------------------------------+ + * |________|_________|_________| + * T1 T2 T3 + * + * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. + * "R" specifies the radius. "S" specifies the stroke count. + * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. + * + * Caveats: The ending Z should be the same as starting Z. + * Attention: EXPERIMENTAL. G-code arguments may change. + * + */ +//#define NOZZLE_CLEAN_FEATURE + +#if ENABLED(NOZZLE_CLEAN_FEATURE) + // Default number of pattern repetitions + #define NOZZLE_CLEAN_STROKES 12 + + // Default number of triangles + #define NOZZLE_CLEAN_TRIANGLES 3 + + // Specify positions as { X, Y, Z } + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_END_POINT {100, 60, (Z_MIN_POS + 1)} + + // Circular pattern radius + #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5 + // Circular pattern circle fragments number + #define NOZZLE_CLEAN_CIRCLE_FN 10 + // Middle point of circle + #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT + + // Moves the nozzle to the initial position + #define NOZZLE_CLEAN_GOBACK +#endif + +/** + * Print Job Timer + * + * Automatically start and stop the print job timer on M104/M109/M190. + * + * M104 (hotend, no wait) - high temp = none, low temp = stop timer + * M109 (hotend, wait) - high temp = start timer, low temp = stop timer + * M190 (bed, wait) - high temp = start timer, low temp = none + * + * The timer can also be controlled with the following commands: + * + * M75 - Start the print job timer + * M76 - Pause the print job timer + * M77 - Stop the print job timer + */ +#define PRINTJOB_TIMER_AUTOSTART + +/** + * Print Counter + * + * Track statistical data such as: + * + * - Total print jobs + * - Total successful print jobs + * - Total failed print jobs + * - Total time printing + * + * View the current statistics with M78. + */ +#define PRINTCOUNTER + +//============================================================================= +//============================= LCD and SD support ============================ +//============================================================================= + +// @section lcd + +/** + * LCD LANGUAGE + * + * Select the language to display on the LCD. These languages are available: + * + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', '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 + +/** + * LCD Character Set + * + * Note: This option is NOT applicable to Graphical Displays. + * + * All character-based LCDs provide ASCII plus one of these + * language extensions: + * + * - JAPANESE ... the most common + * - WESTERN ... with more accented characters + * - CYRILLIC ... for the Russian language + * + * To determine the language extension installed on your controller: + * + * - Compile and upload with LCD_LANGUAGE set to 'test' + * - Click the controller to view the LCD menu + * - The LCD will display Japanese, Western, or Cyrillic text + * + * See http://marlinfw.org/docs/development/lcd_language.html + * + * :['JAPANESE', 'WESTERN', 'CYRILLIC'] + */ +#define DISPLAY_CHARSET_HD44780 JAPANESE + +/** + * SD CARD + * + * SD Card support is disabled by default. If your controller has an SD slot, + * you must uncomment the following option or it won't work. + * + */ +#define SDSUPPORT + +/** + * SD CARD: SPI SPEED + * + * Enable one of the following items for a slower SPI transfer speed. + * This may be required to resolve "volume init" errors. + */ +//#define SPI_SPEED SPI_HALF_SPEED +//#define SPI_SPEED SPI_QUARTER_SPEED +//#define SPI_SPEED SPI_EIGHTH_SPEED + +/** + * SD CARD: ENABLE CRC + * + * Use CRC checks and retries on the SD communication. + */ +//#define SD_CHECK_AND_RETRY + +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + +// +// ENCODER SETTINGS +// +// This option overrides the default number of encoder pulses needed to +// produce one step. Should be increased for high-resolution encoders. +// +//#define ENCODER_PULSES_PER_STEP 4 + +// +// Use this option to override the number of step signals required to +// move between next/prev menu items. +// +//#define ENCODER_STEPS_PER_MENU_ITEM 1 + +/** + * Encoder Direction Options + * + * Test your encoder's behavior first with both options disabled. + * + * Reversed Value Edit and Menu Nav? Enable REVERSE_ENCODER_DIRECTION. + * Reversed Menu Navigation only? Enable REVERSE_MENU_DIRECTION. + * Reversed Value Editing only? Enable BOTH options. + */ + +// +// This option reverses the encoder direction everywhere. +// +// Set this option if CLOCKWISE causes values to DECREASE +// +//#define REVERSE_ENCODER_DIRECTION + +// +// This option reverses the encoder direction for navigating LCD menus. +// +// If CLOCKWISE normally moves DOWN this makes it go UP. +// If CLOCKWISE normally moves UP this makes it go DOWN. +// +//#define REVERSE_MENU_DIRECTION + +// +// Individual Axis Homing +// +// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. +// +//#define INDIVIDUAL_AXIS_HOMING_MENU + +// +// SPEAKER/BUZZER +// +// If you have a speaker that can produce tones, enable it here. +// By default Marlin assumes you have a buzzer with a fixed frequency. +// +#define SPEAKER + +// +// The duration and frequency for the UI feedback sound. +// Set these to 0 to disable audio feedback in the LCD menus. +// +// Note: Test audio output with the G-Code: +// M300 S P +// +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 +//#define LCD_FEEDBACK_FREQUENCY_HZ 5000 + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + +// +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +// +// Note: Usually sold with a white PCB. +// +#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// +// Original RADDS LCD Display+Encoder+SDCardReader +// http://doku.radds.org/dokumentation/lcd-display/ +// +//#define RADDS_DISPLAY + +// +// ULTIMAKER Controller. +// +//#define ULTIMAKERCONTROLLER + +// +// ULTIPANEL as seen on Thingiverse. +// +//#define ULTIPANEL + +// +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +// +//#define PANEL_ONE + +// +// GADGETS3D G3D LCD/SD Controller +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +// +// Note: Usually sold with a blue PCB. +// +//#define G3D_PANEL + +// +// RigidBot Panel V1.0 +// http://www.inventapart.com/ +// +//#define RIGIDBOT_PANEL + +// +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html +// +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 + +// +// ANET and Tronxy 20x4 Controller +// +//#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. + // This LCD is known to be susceptible to electrical interference + // which scrambles the display. Pressing any button clears it up. + // This is a LCD2004 display with 5 analog buttons. + +// +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. +// +//#define ULTRA_LCD + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= + +// +// CONTROLLER TYPE: I2C +// +// Note: These controllers require the installation of Arduino's LiquidCrystal_I2C +// library. For more info: https://github.com/kiyoshigawa/LiquidCrystal_I2C +// + +// +// Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// +//#define RA_CONTROL_PANEL + +// +// Sainsmart (YwRobot) LCD Displays +// +// These require F.Malpartida's LiquidCrystal_I2C library +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home +// +//#define LCD_SAINSMART_I2C_1602 +//#define LCD_SAINSMART_I2C_2004 + +// +// Generic LCM1602 LCD adapter +// +//#define LCM1602 + +// +// PANELOLU2 LCD with status LEDs, +// separate encoder and click inputs. +// +// Note: This controller requires Arduino's LiquidTWI2 library v1.2.3 or later. +// For more info: https://github.com/lincomatic/LiquidTWI2 +// +// Note: The PANELOLU2 encoder click input can either be directly connected to +// a pin (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). +// +//#define LCD_I2C_PANELOLU2 + +// +// Panucatt VIKI LCD with status LEDs, +// integrated click & L/R/U/D buttons, separate encoder inputs. +// +//#define LCD_I2C_VIKI + +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + +// +// SSD1306 OLED full graphics generic display +// +//#define U8GLIB_SSD1306 + +// +// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules +// +//#define SAV_3DGLCD +#if ENABLED(SAV_3DGLCD) + //#define U8GLIB_SSD1306 + #define U8GLIB_SH1106 +#endif + +// +// Original Ulticontroller from Ultimaker 2 printer with SSD1309 I2C display and encoder +// https://github.com/Ultimaker/Ultimaker2/tree/master/1249_Ulticontroller_Board_(x1) +// +//#define ULTI_CONTROLLER + +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + +// +// MKS MINI12864 with graphic controller and SD support +// http://reprap.org/wiki/MKS_MINI_12864 +// +//#define MKS_MINI_12864 + +// +// Factory display for Creality CR-10 +// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html +// +// This is RAMPS-compatible using a single 10-pin connector. +// (For CR-10 owners who want to replace the Melzi Creality board but retain the display) +// +//#define CR10_STOCKDISPLAY + +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + +// +// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER +// http://reprap.org/wiki/MKS_12864OLED +// +// Tiny, but very sharp OLED display +// +//#define MKS_12864OLED // Uses the SH1106 controller (default) +//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller + +// +// AZSMZ 12864 LCD with SD +// https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html +// +//#define AZSMZ_12864 + +// +// Silvergate GLCD controller +// http://github.com/android444/Silvergate +// +//#define SILVER_GATE_GLCD_CONTROLLER + +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + +//============================================================================= +//=============================== Extra Features ============================== +//============================================================================= + +// @section extras + +// Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can +// be used to mitigate the associated resolution loss. If enabled, +// some of the PWM cycles are stretched so on average the desired +// duty cycle is attained. +//#define SOFT_PWM_DITHER + +// Temperature status LEDs that display the hotend and bed temperature. +// If all hotends, bed temperature, and target temperature are under 54C +// then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) +//#define TEMP_STAT_LEDS + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +//#define PHOTOGRAPH_PIN 23 + +// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder +//#define BARICUDA + +// Support for BlinkM/CyzRgb +//#define BLINKM + +// Support for PCA9632 PWM LED driver +//#define PCA9632 + +/** + * RGB LED / LED Strip Control + * + * Enable support for an RGB LED connected to 5V digital pins, or + * an RGB Strip connected to MOSFETs controlled by digital pins. + * + * Adds the M150 command to set the LED (or LED strip) color. + * If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of + * luminance values can be set from 0 to 255. + * For Neopixel LED an overall brightness parameter is also available. + * + * *** CAUTION *** + * LED Strips require a MOSFET Chip between PWM lines and LEDs, + * as the Arduino cannot handle the current the LEDs will require. + * Failure to follow this precaution can destroy your Arduino! + * NOTE: A separate 5V power supply is required! The Neopixel LED needs + * more current than the Arduino 5V linear regulator can produce. + * *** CAUTION *** + * + * LED Type. Enable only one of the following two options. + * + */ +//#define RGB_LED +//#define RGBW_LED + +#if ENABLED(RGB_LED) || ENABLED(RGBW_LED) + #define RGB_LED_R_PIN 34 + #define RGB_LED_G_PIN 43 + #define RGB_LED_B_PIN 35 + #define RGB_LED_W_PIN -1 +#endif + +// Support for Adafruit Neopixel LED driver +//#define NEOPIXEL_LED +#if ENABLED(NEOPIXEL_LED) + #define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h) + #define NEOPIXEL_PIN 4 // LED driving pin on motherboard 4 => D4 (EXP2-5 on Printrboard) / 30 => PC7 (EXP3-13 on Rumba) + #define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip + #define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once. + #define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255) + //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup +#endif + +/** + * Printer Event LEDs + * + * During printing, the LEDs will reflect the printer status: + * + * - Gradually change from blue to violet as the heated bed gets to target temp + * - Gradually change from violet to red as the hotend gets to temperature + * - Change to white to illuminate work surface + * - Change to green once print has finished + * - Turn off after the print has finished and the user has pushed a button + */ +#if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED) + #define PRINTER_EVENT_LEDS +#endif + +/** + * R/C SERVO support + * Sponsored by TrinityLabs, Reworked by codexmas + */ + +/** + * Number of servos + * + * For some servo-related options NUM_SERVOS will be set automatically. + * Set this manually if there are extra servos needing manual control. + * Leave undefined or set to 0 to entirely disable the servo subsystem. + */ +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// 300ms is a good value but you can try less delay. +// If the servo can't reach the requested position, increase it. +#define SERVO_DELAY { 300 } + +// Servo deactivation +// +// With this option servos are powered only during movement, then turned off to prevent jitter. +//#define DEACTIVATE_SERVOS_AFTER_MOVE + +#endif // CONFIGURATION_H diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h new file mode 100644 index 000000000000..18a7483cbc2a --- /dev/null +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h @@ -0,0 +1,1681 @@ +/** + * 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 . + * + */ + +/** + * Configuration_adv.h + * + * Advanced settings. + * Only change these if you know exactly what you're doing. + * Some of these settings can damage your printer if improperly set! + * + * Basic settings can be found in Configuration.h + * + */ +#ifndef CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H_VERSION 020000 + +// @section temperature + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +// +// Hephestos 2 24V heated bed upgrade kit. +// https://store.bq.com/en/heated-bed-kit-hephestos2 +// +//#define HEPHESTOS2_HEATED_BED_KIT +#if ENABLED(HEPHESTOS2_HEATED_BED_KIT) + #undef TEMP_SENSOR_BED + #define TEMP_SENSOR_BED 70 + #define HEATER_BED_INVERTING true +#endif + +#if DISABLED(PIDTEMPBED) + #define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control + #if ENABLED(BED_LIMIT_SWITCHING) + #define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS + #endif +#endif + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * The solution: Once the temperature reaches the target, start observing. + * If the temperature stays too far below the target (hysteresis) for too + * long (period), the firmware will halt the machine as a safety precaution. + * + * If you get false positives for "Thermal Runaway", increase + * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD + */ +#if ENABLED(THERMAL_PROTECTION_HOTENDS) + #define THERMAL_PROTECTION_PERIOD 40 // Seconds + #define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius + + /** + * Whenever an M104, M109, or M303 increases the target temperature, the + * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature + * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and + * requires a hard reset. This test restarts with any M104/M109/M303, but only + * if the current temperature is far enough below the target for a reliable + * test. + * + * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD + * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set + * below 2. + */ + #define WATCH_TEMP_PERIOD 20 // Seconds + #define WATCH_TEMP_INCREASE 2 // Degrees Celsius +#endif + +/** + * Thermal Protection parameters for the bed are just as above for hotends. + */ +#if ENABLED(THERMAL_PROTECTION_BED) + #define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius + + /** + * As described above, except for the bed (M140/M190/M303). + */ + #define WATCH_BED_TEMP_PERIOD 60 // Seconds + #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius +#endif + +#if ENABLED(PIDTEMP) + // this adds an experimental additional term to the heating power, proportional to the extrusion speed. + // if Kc is chosen well, the additional required power due to increased melting should be compensated. + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) + #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) + #define LPQ_MAX_LEN 50 + #endif +#endif + +/** + * Automatic Temperature: + * The hotend target temperature is calculated by all the buffered lines of gcode. + * The maximum buffered steps/sec of the extruder motor is called "se". + * Start autotemp mode with M109 S B F + * The target temperature is set to mintemp+factor*se[steps/sec] and is limited by + * mintemp and maxtemp. Turn this off by executing M109 without F* + * Also, if the temperature is set to a value below mintemp, it will not be changed by autotemp. + * On an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode + */ +#define AUTOTEMP +#if ENABLED(AUTOTEMP) + #define AUTOTEMP_OLDWEIGHT 0.98 +#endif + +// Show extra position information in M114 +//#define M114_DETAIL + +// Show Temperature ADC value +// Enable for M105 to include ADC values read from temperature sensors. +//#define SHOW_TEMP_ADC_VALUES + +/** + * High Temperature Thermistor Support + * + * Thermistors able to support high temperature tend to have a hard time getting + * good readings at room and lower temperatures. This means HEATER_X_RAW_LO_TEMP + * will probably be caught when the heating element first turns on during the + * preheating process, which will trigger a min_temp_error as a safety measure + * and force stop everything. + * To circumvent this limitation, we allow for a preheat time (during which, + * min_temp_error won't be triggered) and add a min_temp buffer to handle + * aberrant readings. + * + * If you want to enable this feature for your hotend thermistor(s) + * uncomment and set values > 0 in the constants below + */ + +// The number of consecutive low temperature errors that can occur +// before a min_temp_error is triggered. (Shouldn't be more than 10.) +//#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0 + +// The number of milliseconds a hotend will preheat before starting to check +// the temperature. This value should NOT be set to the time it takes the +// hot end to reach the target temperature, but the time it takes to reach +// the minimum temperature your thermistor can read. The lower the better/safer. +// This shouldn't need to be more than 30 seconds (30000) +//#define MILLISECONDS_PREHEAT_TIME 0 + +// @section extruder + +// Extruder runout prevention. +// If the machine is idle and the temperature over MINTEMP +// then extrude some filament every couple of SECONDS. +//#define EXTRUDER_RUNOUT_PREVENT +#if ENABLED(EXTRUDER_RUNOUT_PREVENT) + #define EXTRUDER_RUNOUT_MINTEMP 190 + #define EXTRUDER_RUNOUT_SECONDS 30 + #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m + #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm +#endif + +// @section temperature + +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 + +/** + * Controller Fan + * To cool down the stepper drivers and MOSFETs. + * + * The fan will turn on automatically whenever any stepper is enabled + * and turn off after a set period after all steppers are turned off. + */ +//#define USE_CONTROLLER_FAN +#if ENABLED(USE_CONTROLLER_FAN) + //#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan + #define CONTROLLERFAN_SECS 60 // Duration in seconds for the fan to run after all motors are disabled + #define CONTROLLERFAN_SPEED 255 // 255 == full speed +#endif + +// When first starting the main fan, run it at full speed for the +// given number of milliseconds. This gets the fan spinning reliably +// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) +//#define FAN_KICKSTART_TIME 100 + +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ +//#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 + +// @section extruder + +/** + * Extruder cooling fans + * + * Extruder auto fans automatically turn on when their extruders' + * temperatures go above EXTRUDER_AUTO_FAN_TEMPERATURE. + * + * Your board's pins file specifies the recommended pins. Override those here + * or set to -1 to disable completely. + * + * Multiple extruders can be assigned to the same pin in which case + * the fan will turn on when any selected extruder is above the threshold. + */ +#define E0_AUTO_FAN_PIN -1 +#define E1_AUTO_FAN_PIN -1 +#define E2_AUTO_FAN_PIN -1 +#define E3_AUTO_FAN_PIN -1 +#define E4_AUTO_FAN_PIN -1 +#define CHAMBER_AUTO_FAN_PIN -1 +#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 +#define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed + +/** + * Part-Cooling Fan Multiplexer + * + * This feature allows you to digitally multiplex the fan output. + * The multiplexer is automatically switched at tool-change. + * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans. + */ +#define FANMUX0_PIN -1 +#define FANMUX1_PIN -1 +#define FANMUX2_PIN -1 + +/** + * M355 Case Light on-off / brightness + */ +//#define CASE_LIGHT_ENABLE +#if ENABLED(CASE_LIGHT_ENABLE) + //#define CASE_LIGHT_PIN 4 // Override the default pin if needed + #define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW + #define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on + #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105 // Set default power-up brightness (0-255, requires PWM pin) + //#define MENU_ITEM_CASE_LIGHT // Add a Case Light option to the LCD main menu + //#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED. + #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) + #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White } + #endif +#endif + +//=========================================================================== +//============================ Mechanical Settings ========================== +//=========================================================================== + +// @section homing + +// If you want endstops to stay on (by default) even when not homing +// enable this option. Override at any time with M120, M121. +//#define ENDSTOPS_ALWAYS_ON_DEFAULT + +// @section extras + +//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats. + +/** + * Dual Steppers / Dual Endstops + * + * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes. + * + * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to + * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop + * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug + * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'. + * + * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors + * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error + * in X2. Dual endstop offsets can be set at runtime with 'M666 X Y Z'. + */ + +//#define X_DUAL_STEPPER_DRIVERS +#if ENABLED(X_DUAL_STEPPER_DRIVERS) + #define INVERT_X2_VS_X_DIR true // Set 'true' if X motors should rotate in opposite directions + //#define X_DUAL_ENDSTOPS + #if ENABLED(X_DUAL_ENDSTOPS) + #define X2_USE_ENDSTOP _XMAX_ + #define X_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Y_DUAL_STEPPER_DRIVERS +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + #define INVERT_Y2_VS_Y_DIR true // Set 'true' if Y motors should rotate in opposite directions + //#define Y_DUAL_ENDSTOPS + #if ENABLED(Y_DUAL_ENDSTOPS) + #define Y2_USE_ENDSTOP _YMAX_ + #define Y_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Z_DUAL_STEPPER_DRIVERS +#if ENABLED(Z_DUAL_STEPPER_DRIVERS) + //#define Z_DUAL_ENDSTOPS + #if ENABLED(Z_DUAL_ENDSTOPS) + #define Z2_USE_ENDSTOP _XMAX_ + #define Z_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +// Enable this for dual x-carriage printers. +// A dual x-carriage design has the advantage that the inactive extruder can be parked which +// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage +// allowing faster printing speeds. Connect your X2 stepper to the first unused E plug. +//#define DUAL_X_CARRIAGE +#if ENABLED(DUAL_X_CARRIAGE) + // Configuration for second X-carriage + // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop; + // the second x-carriage always homes to the maximum endstop. + #define X2_MIN_POS 80 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage + #define X2_MAX_POS 353 // set maximum to the distance between toolheads when both heads are homed + #define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position + #define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position + // However: In this mode the HOTEND_OFFSET_X value for the second extruder provides a software + // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops + // without modifying the firmware (through the "M218 T1 X???" command). + // Remember: you should set the second extruder x-offset to 0 in your slicer. + + // There are a few selectable movement modes for dual x-carriages using M605 S + // Mode 0 (DXC_FULL_CONTROL_MODE): Full control. The slicer has full control over both x-carriages and can achieve optimal travel results + // as long as it supports dual x-carriages. (M605 S0) + // Mode 1 (DXC_AUTO_PARK_MODE) : Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so + // that additional slicer support is not required. (M605 S1) + // Mode 2 (DXC_DUPLICATION_MODE) : Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all + // actions of the first x-carriage. This allows the printer to print 2 arbitrary items at + // once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm]) + + // This is the default power-up mode which can be later using M605. + #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_FULL_CONTROL_MODE + + // Default settings in "Auto-park Mode" + #define TOOLCHANGE_PARK_ZLIFT 0.2 // the distance to raise Z axis when parking an extruder + #define TOOLCHANGE_UNPARK_ZLIFT 1 // the distance to raise Z axis when unparking an extruder + + // Default x offset in duplication mode (typically set to half print bed width) + #define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif // DUAL_X_CARRIAGE + +// Activate a solenoid on the active extruder with M380. Disable all with M381. +// Define SOL0_PIN, SOL1_PIN, etc., for each extruder that has a solenoid. +//#define EXT_SOLENOID + +// @section homing + +// Homing hits each endstop, retracts by these distances, then does a slower bump. +#define X_HOME_BUMP_MM 5 +#define Y_HOME_BUMP_MM 5 +#define Z_HOME_BUMP_MM 2 +#define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) +//#define QUICK_HOME // If homing includes X and Y, do a diagonal move initially + +// When G28 is called, this option will make Y home before X +//#define HOME_Y_BEFORE_X + +// Enable this if X or Y can't home without homing the other axis first. +//#define CODEPENDENT_XY_HOMING + +// @section machine + +#define AXIS_RELATIVE_MODES {false, false, false, false} + +// Allow duplication mode with a basic dual-nozzle extruder +//#define DUAL_NOZZLE_DUPLICATION_MODE + +// By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +// Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. +#define DEFAULT_STEPPER_DEACTIVE_TIME 120 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +//#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated + +// @section lcd + +#if ENABLED(ULTIPANEL) + #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel + #define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder +#endif + +// @section extras + +// minimum time in microseconds that a movement needs to take if the buffer is emptied. +#define DEFAULT_MINSEGMENTTIME 20000 + +// If defined the movements slow down when the look ahead buffer is only half full +#define SLOWDOWN + +// Frequency limit +// See nophead's blog for more info +// Not working O +//#define XY_FREQUENCY_LIMIT 15 + +// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end +// of the buffer and all stops. This should not be much greater than zero and should only be changed +// if unwanted behavior is observed on a user's machine when running at very slow speeds. +#define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) + +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] + +/** + * @section stepper motor current + * + * Some boards have a means of setting the stepper motor current via firmware. + * + * The power on motor currents are set by: + * PWM_MOTOR_CURRENT - used by MINIRAMBO & ULTIMAIN_2 + * known compatible chips: A4982 + * DIGIPOT_MOTOR_CURRENT - used by BQ_ZUM_MEGA_3D, RAMBO & SCOOVO_X9H + * known compatible chips: AD5206 + * DAC_MOTOR_CURRENT_DEFAULT - used by PRINTRBOARD_REVF & RIGIDBOARD_V2 + * known compatible chips: MCP4728 + * DIGIPOT_I2C_MOTOR_CURRENTS - used by 5DPRINT, AZTEEG_X3_PRO, MIGHTYBOARD_REVE + * known compatible chips: MCP4451, MCP4018 + * + * Motor currents can also be set by M907 - M910 and by the LCD. + * M907 - applies to all. + * M908 - BQ_ZUM_MEGA_3D, RAMBO, PRINTRBOARD_REVF, RIGIDBOARD_V2 & SCOOVO_X9H + * M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2 + */ +//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps +//#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) +//#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis + +// Use an I2C based DIGIPOT (e.g., Azteeg X3 Pro) +//#define DIGIPOT_I2C +#if ENABLED(DIGIPOT_I2C) && !defined(DIGIPOT_I2C_ADDRESS_A) + /** + * Common slave addresses: + * + * A (A shifted) B (B shifted) IC + * Smoothie 0x2C (0x58) 0x2D (0x5A) MCP4451 + * AZTEEG_X3_PRO 0x2C (0x58) 0x2E (0x5C) MCP4451 + * MIGHTYBOARD_REVE 0x2F (0x5E) MCP4018 + */ + #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT + #define DIGIPOT_I2C_ADDRESS_B 0x2D // unshifted slave address for second DIGIPOT +#endif + +//#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 +// Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. +// These correspond to the physical drivers, so be mindful if the order is changed. +#define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +#define ENCODER_RATE_MULTIPLIER // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly +#define ENCODER_10X_STEPS_PER_SEC 75 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value +#define ENCODER_100X_STEPS_PER_SEC 160 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value + +//#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ +#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again + +// @section lcd + +// Include a page of printer information in the LCD Main Menu +#define LCD_INFO_MENU + +// Scroll a longer status message into view +#define STATUS_MESSAGE_SCROLLING + +// On the Info Screen, display XY with one decimal place when possible +//#define LCD_DECIMAL_SMALL_XY + +// The timeout (in ms) to return to the status screen from sub-menus +//#define LCD_TIMEOUT_TO_STATUS 15000 + +// Add an 'M73' G-code to set the current percentage +//#define LCD_SET_PROGRESS_MANUALLY + +#if ENABLED(SDSUPPORT) || ENABLED(LCD_SET_PROGRESS_MANUALLY) + //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing + #if ENABLED(LCD_PROGRESS_BAR) + #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar + #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message + #define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever) + //#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it + //#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar + #endif +#endif // SDSUPPORT || LCD_SET_PROGRESS_MANUALLY + +/** + * LED Control Menu + * Enable this feature to add LED Control to the LCD menu + */ +//#define LED_CONTROL_MENU +#if ENABLED(LED_CONTROL_MENU) + #define LED_COLOR_PRESETS // Enable the Preset Color menu option + #if ENABLED(LED_COLOR_PRESETS) + #define LED_USER_PRESET_RED 255 // User defined RED value + #define LED_USER_PRESET_GREEN 128 // User defined GREEN value + #define LED_USER_PRESET_BLUE 0 // User defined BLUE value + #define LED_USER_PRESET_WHITE 255 // User defined WHITE value + #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity + //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup + #endif +#endif // LED_CONTROL_MENU + +#if ENABLED(SDSUPPORT) + + // Some RAMPS and other boards don't detect when an SD card is inserted. You can work + // around this by connecting a push button or single throw switch to the pin defined + // as SD_DETECT_PIN in your board's pins definitions. + // This setting should be disabled unless you are using a push button, pulling the pin to ground. + // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER). + #define SD_DETECT_INVERTED + + #define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished + #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place. + + // Reverse SD sort to show "more recent" files first, according to the card's FAT. + // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended. + #define SDCARD_RATHERRECENTFIRST + + // Add an option in the menu to run all auto#.g files + //#define MENU_ADDAUTOSTART + + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + + /** + * Sort SD file listings in alphabetical order. + * + * With this option enabled, items on SD cards will be sorted + * by name for easier navigation. + * + * By default... + * + * - Use the slowest -but safest- method for sorting. + * - Folders are sorted to the top. + * - The sort key is statically allocated. + * - No added G-code (M34) support. + * - 40 item sorting limit. (Items after the first 40 are unsorted.) + * + * SD sorting uses static allocation (as set by SDSORT_LIMIT), allowing the + * compiler to calculate the worst-case usage and throw an error if the SRAM + * limit is exceeded. + * + * - SDSORT_USES_RAM provides faster sorting via a static directory buffer. + * - SDSORT_USES_STACK does the same, but uses a local stack-based buffer. + * - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!) + * - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!) + */ + //#define SDCARD_SORT_ALPHA + + // SD Card Sorting options + #if ENABLED(SDCARD_SORT_ALPHA) + #define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256). Costs 27 bytes each. + #define FOLDER_SORTING -1 // -1=above 0=none 1=below + #define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 g-code. + #define SDSORT_USES_RAM false // Pre-allocate a static array for faster pre-sorting. + #define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.) + #define SDSORT_CACHE_NAMES false // Keep sorted items in RAM longer for speedy performance. Most expensive option. + #define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use! + #define SDSORT_CACHE_VFATS 2 // Maximum number of 13-byte VFAT entries to use for sorting. + // Note: Only affects SCROLL_LONG_FILENAMES with SDSORT_CACHE_NAMES but not SDSORT_DYNAMIC_RAM. + #endif + + // This allows hosts to request long names for files and folders with M33 + #define LONG_FILENAME_HOST_SUPPORT + + // Enable this option to scroll long filenames in the SD card menu + #define SCROLL_LONG_FILENAMES + + /** + * This option allows you to abort SD printing when any endstop is triggered. + * This feature must be enabled with "M540 S1" or from the LCD menu. + * To have any effect, endstops must be enabled during SD printing. + */ + //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + + /** + * This option makes it easier to print the same SD Card file again. + * On print completion the LCD Menu will open with the file selected. + * You can just click to start the print, or navigate elsewhere. + */ + //#define SD_REPRINT_LAST_SELECTED_FILE + + /** + * Auto-report SdCard status with M27 S + */ + //#define AUTO_REPORT_SD_STATUS + +#endif // SDSUPPORT + +/** + * Additional options for Graphical Displays + * + * Use the optimizations here to improve printing performance, + * which can be adversely affected by graphical display drawing, + * especially when doing several short moves, and when printing + * on DELTA and SCARA machines. + * + * Some of these options may result in the display lagging behind + * controller events, as there is a trade-off between reliable + * printing performance versus fast display updates. + */ +#if ENABLED(DOGLCD) + // Show SD percentage next to the progress bar + //#define DOGM_SD_PERCENT + + // Enable to save many cycles by drawing a hollow frame on the Info Screen + #define XYZ_HOLLOW_FRAME + + // Enable to save many cycles by drawing a hollow frame on Menu Screens + #define MENU_HOLLOW_FRAME + + // A bigger font is available for edit items. Costs 3120 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_BIG_EDIT_FONT + + // A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_SMALL_INFOFONT + + // Enable this option and reduce the value to optimize screen updates. + // The normal delay is 10µs. Use the lowest value that still gives a reliable display. + //#define DOGM_SPI_DELAY_US 5 + + // Swap the CW/CCW indicators in the graphics overlay + //#define OVERLAY_GFX_REVERSE + + #if ENABLED(U8GLIB_ST7920) + /** + * ST7920-based LCDs can emulate a 16 x 4 character display using + * the ST7920 character-generator for very fast screen updates. + * Enable LIGHTWEIGHT_UI to use this special display mode. + * + * Since LIGHTWEIGHT_UI has limited space, the position and status + * message occupy the same line. Set STATUS_EXPIRE_SECONDS to the + * length of time to display the status message before clearing. + * + * Set STATUS_EXPIRE_SECONDS to zero to never clear the status. + * This will prevent position updates from being displayed. + */ + //#define LIGHTWEIGHT_UI + #if ENABLED(LIGHTWEIGHT_UI) + #define STATUS_EXPIRE_SECONDS 20 + #endif + #endif + +#endif // DOGLCD + +// @section safety + +// The hardware watchdog should reset the microcontroller disabling all outputs, +// in case the firmware gets stuck and doesn't do temperature regulation. +#define USE_WATCHDOG + +#if ENABLED(USE_WATCHDOG) + // If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on. + // The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset. + // However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled. + //#define WATCHDOG_RESET_MANUAL +#endif + +// @section lcd + +/** + * Babystepping enables movement of the axes by tiny increments without changing + * the current position values. This feature is used primarily to adjust the Z + * axis in the first layer of a print in real-time. + * + * Warning: Does not respect endstops! + */ +#define BABYSTEPPING +#if ENABLED(BABYSTEPPING) + //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! + #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way + #define BABYSTEP_MULTIPLICATOR 1 // Babysteps are very small. Increase for faster motion. + //#define BABYSTEP_ZPROBE_OFFSET // Enable to combine M851 and Babystepping + //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. + #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. + // Note: Extra time may be added to mitigate controller latency. + //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor +#endif + +// @section extruder + +/** + * Linear Pressure Control v1.5 + * + * Assumption: advance [steps] = k * (delta velocity [steps/s]) + * K=0 means advance disabled. + * + * NOTE: K values for LIN_ADVANCE 1.5 differ from earlier versions! + * + * Set K around 0.22 for 3mm PLA Direct Drive with ~6.5cm between the drive gear and heatbreak. + * Larger K values will be needed for flexible filament and greater distances. + * If this algorithm produces a higher speed offset than the extruder can handle (compared to E jerk) + * print acceleration will be reduced during the affected moves to keep within the limit. + * + * See http://marlinfw.org/docs/features/lin_advance.html for full instructions. + * Mention @Sebastianv650 on GitHub to alert the author of any issues. + */ +#define LIN_ADVANCE +#if ENABLED(LIN_ADVANCE) + #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed + //#define LA_DEBUG // If enabled, this will generate debug information output over USB. +#endif + +// @section leveling + +#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL) + // Override the mesh area if the automatic (max) area is too large + //#define MESH_MIN_X MESH_INSET + //#define MESH_MIN_Y MESH_INSET + //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET) + //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) +#endif + +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + +// @section extras + +// +// G2/G3 Arc Support +// +#define ARC_SUPPORT // Disable this feature to save ~3226 bytes +#if ENABLED(ARC_SUPPORT) + #define MM_PER_ARC_SEGMENT 1 // Length of each arc segment + #define N_ARC_CORRECTION 25 // Number of intertpolated segments between corrections + //#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles + //#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes +#endif + +// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes. +//#define BEZIER_CURVE_SUPPORT + +// G38.2 and G38.3 Probe Target +// Set MULTIPLE_PROBING if you want G38 to double touch +//#define G38_PROBE_TARGET +#if ENABLED(G38_PROBE_TARGET) + #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move) +#endif + +// Moves (or segments) with fewer steps than this will be joined with the next move +#define MIN_STEPS_PER_SEGMENT 6 + +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 + +// @section temperature + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//================================= Buffers ================================= +//=========================================================================== + +// @section hidden + +// The number of linear motions that can be in the plan at any give time. +// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering. +#if ENABLED(SDSUPPORT) + #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller +#else + #define BLOCK_BUFFER_SIZE 16 // maximize block buffer +#endif + +// @section serial + +// The ASCII buffer for serial input +#define MAX_CMD_SIZE 96 +#define BUFSIZE 4 + +// Transmission to Host Buffer Size +// To save 386 bytes of PROGMEM (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0. +// To buffer a simple "ok" you need 4 bytes. +// For ADVANCED_OK (M105) you need 32 bytes. +// For debug-echo: 128 bytes for the optimal speed. +// Other output doesn't need to be that speedy. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256] +#define TX_BUFFER_SIZE 0 + +// Host Receive Buffer Size +// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough. +// To use flow control, set this buffer size to at least 1024 bytes. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048] +//#define RX_BUFFER_SIZE 1024 + +#if RX_BUFFER_SIZE >= 1024 + // Enable to have the controller send XON/XOFF control characters to + // the host to signal the RX buffer is becoming full. + //#define SERIAL_XON_XOFF +#endif + +#if ENABLED(SDSUPPORT) + // Enable this option to collect and display the maximum + // RX queue usage after transferring a file to SD. + //#define SERIAL_STATS_MAX_RX_QUEUED + + // Enable this option to collect and display the number + // of dropped bytes after a file transfer to SD. + //#define SERIAL_STATS_DROPPED_RX +#endif + +// Enable an emergency-command parser to intercept certain commands as they +// enter the serial receive buffer, so they cannot be blocked. +// Currently handles M108, M112, M410 +// Does not work on boards using AT90USB (USBCON) processors! +//#define EMERGENCY_PARSER + +// Bad Serial-connections can miss a received command by sending an 'ok' +// Therefore some clients abort after 30 seconds in a timeout. +// Some other clients start sending commands while receiving a 'wait'. +// This "wait" is only sent when the buffer is empty. 1 second is a good value here. +//#define NO_TIMEOUTS 1000 // Milliseconds + +// Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. +//#define ADVANCED_OK + +// @section extras + +/** + * Firmware-based and LCD-controlled retract + * + * Add G10 / G11 commands for automatic firmware-based retract / recover. + * Use M207 and M208 to define parameters for retract / recover. + * + * Use M209 to enable or disable auto-retract. + * With auto-retract enabled, all G1 E moves within the set range + * will be converted to firmware-based retract/recover moves. + * + * Be sure to turn off auto-retract during filament change. + * + * Note that M207 / M208 / M209 settings are saved to EEPROM. + * + */ +//#define FWRETRACT // ONLY PARTIALLY TESTED +#if ENABLED(FWRETRACT) + #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over + #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define RETRACT_LENGTH 3 // Default retract length (positive mm) + #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change + #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) + #define RETRACT_ZLIFT 0 // Default retract Z-lift + #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) + #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) +#endif + +/** + * Extra Fan Speed + * Adds a secondary fan speed for each print-cooling fan. + * 'M106 P T3-255' : Set a secondary speed for + * 'M106 P T2' : Use the set secondary speed + * 'M106 P T1' : Restore the previous fan speed + */ +//#define EXTRA_FAN_SPEED + +/** + * Advanced Pause + * Experimental feature for filament change support and for parking the nozzle when paused. + * Adds the GCode M600 for initiating filament change. + * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. + * + * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. + * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. + */ +#define ADVANCED_PAUSE_FEATURE +#if ENABLED(ADVANCED_PAUSE_FEATURE) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) +#endif + +// @section tmc + +/** + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper + */ +#if HAS_DRIVER(TMC26X) + + #define X_MAX_CURRENT 1000 // in mA + #define X_SENSE_RESISTOR 91 // in mOhms + #define X_MICROSTEPS 16 // number of microsteps + + #define X2_MAX_CURRENT 1000 + #define X2_SENSE_RESISTOR 91 + #define X2_MICROSTEPS 16 + + #define Y_MAX_CURRENT 1000 + #define Y_SENSE_RESISTOR 91 + #define Y_MICROSTEPS 16 + + #define Y2_MAX_CURRENT 1000 + #define Y2_SENSE_RESISTOR 91 + #define Y2_MICROSTEPS 16 + + #define Z_MAX_CURRENT 1000 + #define Z_SENSE_RESISTOR 91 + #define Z_MICROSTEPS 16 + + #define Z2_MAX_CURRENT 1000 + #define Z2_SENSE_RESISTOR 91 + #define Z2_MICROSTEPS 16 + + #define E0_MAX_CURRENT 1000 + #define E0_SENSE_RESISTOR 91 + #define E0_MICROSTEPS 16 + + #define E1_MAX_CURRENT 1000 + #define E1_SENSE_RESISTOR 91 + #define E1_MICROSTEPS 16 + + #define E2_MAX_CURRENT 1000 + #define E2_SENSE_RESISTOR 91 + #define E2_MICROSTEPS 16 + + #define E3_MAX_CURRENT 1000 + #define E3_SENSE_RESISTOR 91 + #define E3_MICROSTEPS 16 + + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + +#endif // TMC26X + +// @section tmc_smart + +/** + * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to + * the hardware SPI interface on your board and define the required CS pins + * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). + * You may also use software SPI if you wish to use general purpose IO pins. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * To use the reading capabilities, also connect #_SERIAL_RX_PIN + * to PDN_UART without a resistor. + * The drivers can also be used with hardware serial. + * + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper + */ +#if HAS_TRINAMIC + + #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 + #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current + #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 + + #define X_CURRENT 800 // rms current in mA. Multiply by 1.41 for peak current. + #define X_MICROSTEPS 16 // 0..256 + + #define Y_CURRENT 800 + #define Y_MICROSTEPS 16 + + #define Z_CURRENT 800 + #define Z_MICROSTEPS 16 + + #define X2_CURRENT 800 + #define X2_MICROSTEPS 16 + + #define Y2_CURRENT 800 + #define Y2_MICROSTEPS 16 + + #define Z2_CURRENT 800 + #define Z2_MICROSTEPS 16 + + #define E0_CURRENT 800 + #define E0_MICROSTEPS 16 + + #define E1_CURRENT 800 + #define E1_MICROSTEPS 16 + + #define E2_CURRENT 800 + #define E2_MICROSTEPS 16 + + #define E3_CURRENT 800 + #define E3_MICROSTEPS 16 + + #define E4_CURRENT 800 + #define E4_MICROSTEPS 16 + + /** + * Use software SPI for TMC2130. + * The default SW SPI pins are defined the respective pins files, + * but you can override or define them here. + */ + //#define TMC_USE_SW_SPI + //#define TMC_SW_MOSI -1 + //#define TMC_SW_MISO -1 + //#define TMC_SW_SCK -1 + + /** + * Use Trinamic's ultra quiet stepping mode. + * When disabled, Marlin will use spreadCycle stepping mode. + */ + #define STEALTHCHOP + + /** + * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions, + * like overtemperature and short to ground. TMC2208 requires hardware serial. + * In the case of overtemperature Marlin can decrease the driver current until error condition clears. + * Other detected conditions can be used to stop the current print. + * Relevant g-codes: + * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. + * M911 - Report stepper driver overtemperature pre-warn condition. + * M912 - Clear stepper driver overtemperature pre-warn condition flag. + * M122 S0/1 - Report driver parameters (Requires TMC_DEBUG) + */ + //#define MONITOR_DRIVER_STATUS + + #if ENABLED(MONITOR_DRIVER_STATUS) + #define CURRENT_STEP_DOWN 50 // [mA] + #define REPORT_CURRENT_CHANGE + #define STOP_ON_ERROR + #endif + + /** + * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD. + * This mode allows for faster movements at the expense of higher noise levels. + * STEALTHCHOP needs to be enabled. + * M913 X/Y/Z/E to live tune the setting + */ + //#define HYBRID_THRESHOLD + + #define X_HYBRID_THRESHOLD 100 // [mm/s] + #define X2_HYBRID_THRESHOLD 100 + #define Y_HYBRID_THRESHOLD 100 + #define Y2_HYBRID_THRESHOLD 100 + #define Z_HYBRID_THRESHOLD 3 + #define Z2_HYBRID_THRESHOLD 3 + #define E0_HYBRID_THRESHOLD 30 + #define E1_HYBRID_THRESHOLD 30 + #define E2_HYBRID_THRESHOLD 30 + #define E3_HYBRID_THRESHOLD 30 + #define E4_HYBRID_THRESHOLD 30 + + /** + * Use stallGuard2 to sense an obstacle and trigger an endstop. + * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. + * X, Y, and Z homing will always be done in spreadCycle mode. + * + * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. + * Higher values make the system LESS sensitive. + * Lower value make the system MORE sensitive. + * Too low values can lead to false positives, while too high values will collide the axis without triggering. + * It is advised to set X/Y/Z_HOME_BUMP_MM to 0. + * M914 X/Y/Z to live tune the setting + */ + //#define SENSORLESS_HOMING // TMC2130 only + + #if ENABLED(SENSORLESS_HOMING) + #define X_HOMING_SENSITIVITY 8 + #define Y_HOMING_SENSITIVITY 8 + #define Z_HOMING_SENSITIVITY 8 + #endif + + /** + * Enable M122 debugging command for TMC stepper drivers. + * M122 S0/1 will enable continous reporting. + */ + //#define TMC_DEBUG + + /** + * M915 Z Axis Calibration + * + * - Adjust Z stepper current, + * - Drive the Z axis to its physical maximum, and + * - Home Z to account for the lost steps. + * + * Use M915 Snn to specify the current. + * Use M925 Znn to add extra Z height to Z_MAX_POS. + */ + //#define TMC_Z_CALIBRATION + #if ENABLED(TMC_Z_CALIBRATION) + #define CALIBRATION_CURRENT 250 + #define CALIBRATION_EXTRA_HEIGHT 10 + #endif + + /** + * You can set your own advanced settings by filling in predefined functions. + * A list of available functions can be found on the library github page + * https://github.com/teemuatlut/TMC2130Stepper + * https://github.com/teemuatlut/TMC2208Stepper + * + * Example: + * #define TMC_ADV() { \ + * stepperX.diag0_temp_prewarn(1); \ + * stepperY.interpolate(0); \ + * } + */ + #define TMC_ADV() { } + +#endif // TMC2130 || TMC2208 + +// @section L6470 + +/** + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 + */ +#if HAS_DRIVER(L6470) + + #define X_MICROSTEPS 16 // number of microsteps + #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off + #define X_STALLCURRENT 1500 // current in mA where the driver will detect a stall + + #define X2_MICROSTEPS 16 + #define X2_OVERCURRENT 2000 + #define X2_STALLCURRENT 1500 + + #define Y_MICROSTEPS 16 + #define Y_OVERCURRENT 2000 + #define Y_STALLCURRENT 1500 + + #define Y2_MICROSTEPS 16 + #define Y2_OVERCURRENT 2000 + #define Y2_STALLCURRENT 1500 + + #define Z_MICROSTEPS 16 + #define Z_OVERCURRENT 2000 + #define Z_STALLCURRENT 1500 + + #define Z2_MICROSTEPS 16 + #define Z2_OVERCURRENT 2000 + #define Z2_STALLCURRENT 1500 + + #define E0_MICROSTEPS 16 + #define E0_OVERCURRENT 2000 + #define E0_STALLCURRENT 1500 + + #define E1_MICROSTEPS 16 + #define E1_OVERCURRENT 2000 + #define E1_STALLCURRENT 1500 + + #define E2_MICROSTEPS 16 + #define E2_OVERCURRENT 2000 + #define E2_STALLCURRENT 1500 + + #define E3_MICROSTEPS 16 + #define E3_OVERCURRENT 2000 + #define E3_STALLCURRENT 1500 + + #define E4_MICROSTEPS 16 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + +#endif // L6470 + +/** + * TWI/I2C BUS + * + * This feature is an EXPERIMENTAL feature so it shall not be used on production + * machines. Enabling this will allow you to send and receive I2C data from slave + * devices on the bus. + * + * ; Example #1 + * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) + * ; It uses multiple M260 commands with one B arg + * M260 A99 ; Target slave address + * M260 B77 ; M + * M260 B97 ; a + * M260 B114 ; r + * M260 B108 ; l + * M260 B105 ; i + * M260 B110 ; n + * M260 S1 ; Send the current buffer + * + * ; Example #2 + * ; Request 6 bytes from slave device with address 0x63 (99) + * M261 A99 B5 + * + * ; Example #3 + * ; Example serial output of a M261 request + * echo:i2c-reply: from:99 bytes:5 data:hello + */ + +// @section i2cbus + +//#define EXPERIMENTAL_I2CBUS +#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave + +// @section extras + +/** + * Spindle & Laser control + * + * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and + * to set spindle speed, spindle direction, and laser power. + * + * SuperPid is a router/spindle speed controller used in the CNC milling community. + * Marlin can be used to turn the spindle on and off. It can also be used to set + * the spindle speed from 5,000 to 30,000 RPM. + * + * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V + * hardware PWM pin for the speed control and a pin for the rotation direction. + * + * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details. + */ +//#define SPINDLE_LASER_ENABLE +#if ENABLED(SPINDLE_LASER_ENABLE) + + #define SPINDLE_LASER_ENABLE_INVERT false // set to "true" if the on/off function is reversed + #define SPINDLE_LASER_PWM true // set to true if your controller supports setting the speed/power + #define SPINDLE_LASER_PWM_INVERT true // set to "true" if the speed/power goes up when you want it to go slower + #define SPINDLE_LASER_POWERUP_DELAY 5000 // delay in milliseconds to allow the spindle/laser to come up to speed/power + #define SPINDLE_LASER_POWERDOWN_DELAY 5000 // delay in milliseconds to allow the spindle to stop + #define SPINDLE_DIR_CHANGE true // set to true if your spindle controller supports changing spindle direction + #define SPINDLE_INVERT_DIR false + #define SPINDLE_STOP_ON_DIR_CHANGE true // set to true if Marlin should stop the spindle before changing rotation direction + + /** + * The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power + * + * SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT + * where PWM duty cycle varies from 0 to 255 + * + * set the following for your controller (ALL MUST BE SET) + */ + + #define SPEED_POWER_SLOPE 118.4 + #define SPEED_POWER_INTERCEPT 0 + #define SPEED_POWER_MIN 5000 + #define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM + + //#define SPEED_POWER_SLOPE 0.3922 + //#define SPEED_POWER_INTERCEPT 0 + //#define SPEED_POWER_MIN 10 + //#define SPEED_POWER_MAX 100 // 0-100% +#endif + +/** + * Filament Width Sensor + * + * Measures the filament width in real-time and adjusts + * flow rate to compensate for any irregularities. + * + * Also allows the measured filament diameter to set the + * extrusion rate, so the slicer only has to specify the + * volume. + * + * Only a single extruder is supported at this time. + * + * 34 RAMPS_14 : Analog input 5 on the AUX2 connector + * 81 PRINTRBOARD : Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 RAMBO : Analog input 3 + * + * Note: May require analog pins to be defined for other boards. + */ +//#define FILAMENT_WIDTH_SENSOR + +#if ENABLED(FILAMENT_WIDTH_SENSOR) + #define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor. :[0,1,2,3,4] + #define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber + + #define FILWIDTH_ERROR_MARGIN 1.0 // (mm) If a measurement differs too much from nominal width ignore it + #define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM. + + #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially + + // Display filament width on the LCD status line. Status messages will expire after 5 seconds. + //#define FILAMENT_LCD_DISPLAY +#endif + +/** + * CNC Coordinate Systems + * + * Enables G53 and G54-G59.3 commands to select coordinate systems + * and G92.1 to reset the workspace to native machine space. + */ +//#define CNC_COORDINATE_SYSTEMS + +/** + * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins + */ +//#define PINS_DEBUGGING + +/** + * Auto-report temperatures with M155 S + */ +#define AUTO_REPORT_TEMPERATURES + +/** + * Include capabilities in M115 output + */ +#define EXTENDED_CAPABILITIES_REPORT + +/** + * Disable all Volumetric extrusion options + */ +//#define NO_VOLUMETRICS + +#if DISABLED(NO_VOLUMETRICS) + /** + * Volumetric extrusion default state + * Activate to make volumetric extrusion the default method, + * with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter. + * + * M200 D0 to disable, M200 Dn to set a new diameter. + */ + //#define VOLUMETRIC_DEFAULT_ON +#endif + +/** + * Enable this option for a leaner build of Marlin that removes all + * workspace offsets, simplifying coordinate transformations, leveling, etc. + * + * - M206 and M428 are disabled. + * - G92 will revert to its behavior from Marlin 1.0. + */ +//#define NO_WORKSPACE_OFFSETS + +/** + * Set the number of proportional font spaces required to fill up a typical character space. + * This can help to better align the output of commands like `G29 O` Mesh Output. + * + * For clients that use a fixed-width font (like OctoPrint), leave this set to 1.0. + * Otherwise, adjust according to your client and font. + */ +#define PROPORTIONAL_FONT_RATIO 1.0 + +/** + * Spend 28 bytes of SRAM to optimize the GCode parser + */ +#define FASTER_GCODE_PARSER + +/** + * User-defined menu items that execute custom GCode + */ +//#define CUSTOM_USER_MENUS +#if ENABLED(CUSTOM_USER_MENUS) + #define USER_SCRIPT_DONE "M117 User Script Done" + #define USER_SCRIPT_AUDIBLE_FEEDBACK + //#define USER_SCRIPT_RETURN // Return to status screen after a script + + #define USER_DESC_1 "Home & UBL Info" + #define USER_GCODE_1 "G28\nG29 W" + + #define USER_DESC_2 "Preheat for PLA" + #define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) + + #define USER_DESC_3 "Preheat for ABS" + #define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) + + #define USER_DESC_4 "Heat Bed/Home/Level" + #define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29" + + #define USER_DESC_5 "Home & Info" + #define USER_GCODE_5 "G28\nM503" +#endif + +/** + * Specify an action command to send to the host when the printer is killed. + * Will be sent in the form '//action:ACTION_ON_KILL', e.g. '//action:poweroff'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_KILL "poweroff" + +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + +//=========================================================================== +//====================== I2C Position Encoder Settings ====================== +//=========================================================================== + +/** + * I2C position encoders for closed loop control. + * Developed by Chris Barr at Aus3D. + * + * Wiki: http://wiki.aus3d.com.au/Magnetic_Encoder + * Github: https://github.com/Aus3D/MagneticEncoder + * + * Supplier: http://aus3d.com.au/magnetic-encoder-module + * Alternative Supplier: http://reliabuild3d.com/ + * + * Reilabuild encoders have been modified to improve reliability. + */ + +//#define I2C_POSITION_ENCODERS +#if ENABLED(I2C_POSITION_ENCODERS) + + #define I2CPE_ENCODER_CNT 1 // The number of encoders installed; max of 5 + // encoders supported currently. + + #define I2CPE_ENC_1_ADDR I2CPE_PRESET_ADDR_X // I2C address of the encoder. 30-200. + #define I2CPE_ENC_1_AXIS X_AXIS // Axis the encoder module is installed on. _AXIS. + #define I2CPE_ENC_1_TYPE I2CPE_ENC_TYPE_LINEAR // Type of encoder: I2CPE_ENC_TYPE_LINEAR -or- + // I2CPE_ENC_TYPE_ROTARY. + #define I2CPE_ENC_1_TICKS_UNIT 2048 // 1024 for magnetic strips with 2mm poles; 2048 for + // 1mm poles. For linear encoders this is ticks / mm, + // for rotary encoders this is ticks / revolution. + //#define I2CPE_ENC_1_TICKS_REV (16 * 200) // Only needed for rotary encoders; number of stepper + // steps per full revolution (motor steps/rev * microstepping) + //#define I2CPE_ENC_1_INVERT // Invert the direction of axis travel. + #define I2CPE_ENC_1_EC_METHOD I2CPE_ECM_MICROSTEP // Type of error error correction. + #define I2CPE_ENC_1_EC_THRESH 0.10 // Threshold size for error (in mm) above which the + // printer will attempt to correct the error; errors + // smaller than this are ignored to minimize effects of + // measurement noise / latency (filter). + + #define I2CPE_ENC_2_ADDR I2CPE_PRESET_ADDR_Y // Same as above, but for encoder 2. + #define I2CPE_ENC_2_AXIS Y_AXIS + #define I2CPE_ENC_2_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_ENC_2_TICKS_UNIT 2048 + //#define I2CPE_ENC_2_TICKS_REV (16 * 200) + //#define I2CPE_ENC_2_INVERT + #define I2CPE_ENC_2_EC_METHOD I2CPE_ECM_MICROSTEP + #define I2CPE_ENC_2_EC_THRESH 0.10 + + #define I2CPE_ENC_3_ADDR I2CPE_PRESET_ADDR_Z // Encoder 3. Add additional configuration options + #define I2CPE_ENC_3_AXIS Z_AXIS // as above, or use defaults below. + + #define I2CPE_ENC_4_ADDR I2CPE_PRESET_ADDR_E // Encoder 4. + #define I2CPE_ENC_4_AXIS E_AXIS + + #define I2CPE_ENC_5_ADDR 34 // Encoder 5. + #define I2CPE_ENC_5_AXIS E_AXIS + + // Default settings for encoders which are enabled, but without settings configured above. + #define I2CPE_DEF_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_DEF_ENC_TICKS_UNIT 2048 + #define I2CPE_DEF_TICKS_REV (16 * 200) + #define I2CPE_DEF_EC_METHOD I2CPE_ECM_NONE + #define I2CPE_DEF_EC_THRESH 0.1 + + //#define I2CPE_ERR_THRESH_ABORT 100.0 // Threshold size for error (in mm) error on any given + // axis after which the printer will abort. Comment out to + // disable abort behaviour. + + #define I2CPE_TIME_TRUSTED 10000 // After an encoder fault, there must be no further fault + // for this amount of time (in ms) before the encoder + // is trusted again. + + /** + * Position is checked every time a new command is executed from the buffer but during long moves, + * this setting determines the minimum update time between checks. A value of 100 works well with + * error rolling average when attempting to correct only for skips and not for vibration. + */ + #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks. + + // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. + #define I2CPE_ERR_ROLLING_AVERAGE + +#endif // I2C_POSITION_ENCODERS + +/** + * MAX7219 Debug Matrix + * + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. + */ +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + + /** + * Sample debug features + * If you add more debug displays, be careful to avoid conflicts! + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row + + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row + // If you experience stuttering, reboots, etc. this option can reveal how + // tweaks made to the configuration are affecting the printer in real-time. +#endif + +/** + * NanoDLP Sync support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + */ +//#define NANODLP_Z_SYNC +#if ENABLED(NANODLP_Z_SYNC) + //#define NANODLP_ALL_AXIS // Enables "Z_move_comp" output on any axis move. + // Default behaviour is limited to Z axis only. +#endif + +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + +#endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h b/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h index 776e4d78b815..a18577f838e9 100644 --- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h +++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -450,15 +452,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -540,18 +547,35 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -620,15 +644,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -680,6 +703,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -709,6 +733,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -752,10 +779,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -779,6 +806,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -817,9 +845,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -883,6 +908,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1061,8 +1090,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1074,6 +1103,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1347,11 +1381,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1379,19 +1412,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1418,6 +1438,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1482,12 +1511,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1511,40 +1546,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1553,28 +1554,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1582,39 +1561,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1661,6 +1629,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1681,25 +1726,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1715,6 +1746,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1736,6 +1774,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1795,7 +1861,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h index 4da8e3b6cc0f..49f8c2b2cae3 100644 --- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h +++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/JGAurora/A5/Configuration.h b/Marlin/src/config/examples/JGAurora/A5/Configuration.h index fdba3bbea7eb..28d1eaa8319b 100644 --- a/Marlin/src/config/examples/JGAurora/A5/Configuration.h +++ b/Marlin/src/config/examples/JGAurora/A5/Configuration.h @@ -92,7 +92,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -119,7 +119,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -273,6 +273,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -282,6 +283,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -313,14 +315,14 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 15 // manual calibration of thermistor in JGAurora A5 hotend #define TEMP_SENSOR_1 0 #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 -#define TEMP_SENSOR_BED 1 // measured to be satisfactorily accurate on centre of bed within +/- 1 degC. +#define TEMP_SENSOR_BED 1 // measured to be satisfactorily accurate on center of bed within +/- 1 degC. #define TEMP_SENSOR_CHAMBER 0 // Dummy thermistor constant temperature readings, for use with 998 and 999 @@ -458,15 +460,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 1000 @@ -548,18 +555,58 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -628,15 +675,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -688,6 +734,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -717,6 +764,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -760,10 +810,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -787,6 +837,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -825,9 +876,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -891,6 +939,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1068,8 +1120,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ #define LCD_BED_LEVELING @@ -1081,6 +1133,11 @@ // Add a menu item to move between bed corners for manual bed adjustment #define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1354,11 +1411,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1386,19 +1442,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1425,6 +1468,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1489,12 +1541,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1518,40 +1576,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1560,28 +1584,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1589,39 +1591,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1668,6 +1659,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1688,25 +1756,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1722,6 +1776,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1743,6 +1804,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1802,7 +1891,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h index 3e29f5b75295..26253ef14d1c 100644 --- a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h +++ b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ #define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 6 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - #define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 6 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + #define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/MakerParts/Configuration.h b/Marlin/src/config/examples/MakerParts/Configuration.h index cedbd546e223..123173c71e93 100644 --- a/Marlin/src/config/examples/MakerParts/Configuration.h +++ b/Marlin/src/config/examples/MakerParts/Configuration.h @@ -107,7 +107,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -134,7 +134,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 0 +//#define SERIAL_PORT_2 0 /** * This setting determines the communication speed of the printer. @@ -288,6 +288,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -297,6 +298,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -328,7 +330,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -466,15 +468,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -556,18 +563,35 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -608,7 +632,7 @@ * Override with M201 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_MAX_ACCELERATION { MAX_XYAXIS_ACCEL, MAX_XYAXIS_ACCEL, 100, 200 } +#define DEFAULT_MAX_ACCELERATION { MAX_XYAXIS_ACCEL, MAX_XYAXIS_ACCEL, 10, 200 } /** * Default Acceleration (change/s) change = mm/s @@ -636,15 +660,14 @@ #define DEFAULT_EJERK 8.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -696,6 +719,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -725,6 +749,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -768,10 +795,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -795,6 +822,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -833,9 +861,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -899,6 +924,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1077,8 +1106,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1090,6 +1119,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1363,13 +1397,12 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1395,19 +1428,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1434,6 +1454,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1498,12 +1527,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1527,40 +1562,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1569,28 +1570,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1598,39 +1577,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1677,6 +1645,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1697,25 +1742,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1731,6 +1762,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1752,6 +1790,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1811,7 +1877,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/MakerParts/Configuration_adv.h b/Marlin/src/config/examples/MakerParts/Configuration_adv.h index b6d08a3e80c9..78af6477466f 100644 --- a/Marlin/src/config/examples/MakerParts/Configuration_adv.h +++ b/Marlin/src/config/examples/MakerParts/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu #define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view #define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -763,7 +826,7 @@ #define BEZIER_CURVE_SUPPORT // G38.2 and G38.3 Probe Target -// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch +// Set MULTIPLE_PROBING if you want G38 to double touch //#define G38_PROBE_TARGET #if ENABLED(G38_PROBE_TARGET) #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move) @@ -772,11 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs -#define STEPPER_DIRECTION_DELAY 2 // (µs) Delay between dir and step +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -901,61 +999,55 @@ */ #define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1001,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1204,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1275,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1581,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1619,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration.h b/Marlin/src/config/examples/Malyan/M150/Configuration.h index 034e2bab1496..5133bf509d0c 100644 --- a/Marlin/src/config/examples/Malyan/M150/Configuration.h +++ b/Marlin/src/config/examples/Malyan/M150/Configuration.h @@ -92,7 +92,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -119,7 +119,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -273,6 +273,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -282,6 +283,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -313,7 +315,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -454,15 +456,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -545,18 +552,35 @@ // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -636,15 +660,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -696,6 +719,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -725,6 +749,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -772,10 +799,10 @@ // X and Y axis travel speed (mm/m) between probes //#define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) //#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point //#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -799,6 +826,7 @@ */ //#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow //#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -837,9 +865,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -903,6 +928,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1039,17 +1068,6 @@ #endif -#elif ENABLED(AUTO_BED_LEVELING_3POINT) - - // 3 arbitrary points to probe. - // A simple cross-product is used to estimate the plane of the bed. - #define PROBE_PT_1_X 50 - #define PROBE_PT_1_Y 150 - #define PROBE_PT_2_X 50 - #define PROBE_PT_2_Y 50 - #define PROBE_PT_3_X 150 - #define PROBE_PT_3_Y 50 - #elif ENABLED(AUTO_BED_LEVELING_UBL) //=========================================================================== @@ -1087,17 +1105,17 @@ * Override if the automatically selected points are inadequate. */ #if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 + #define PROBE_PT_1_X 50 + #define PROBE_PT_1_Y 150 + #define PROBE_PT_2_X 50 + #define PROBE_PT_2_Y 50 + #define PROBE_PT_3_X 150 + #define PROBE_PT_3_Y 50 #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1109,6 +1127,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1382,11 +1405,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1414,19 +1436,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1453,6 +1462,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1517,12 +1535,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1546,40 +1570,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1588,28 +1578,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1617,39 +1585,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1696,6 +1653,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1716,25 +1750,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1750,6 +1770,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1771,6 +1798,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1830,7 +1885,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h index d0a15cd45cdd..5e55db423360 100644 --- a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Malyan/M200/Configuration.h b/Marlin/src/config/examples/Malyan/M200/Configuration.h index dac1f574d273..9b3005498b65 100644 --- a/Marlin/src/config/examples/Malyan/M200/Configuration.h +++ b/Marlin/src/config/examples/Malyan/M200/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 11 #define TEMP_SENSOR_1 0 @@ -445,15 +447,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -535,18 +542,58 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -615,15 +662,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -675,6 +721,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -704,6 +751,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -747,10 +797,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -774,6 +824,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -812,9 +863,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -878,6 +926,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1056,8 +1108,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1069,6 +1121,11 @@ // Add a menu item to move between bed corners for manual bed adjustment #define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1342,11 +1399,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1374,19 +1430,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1413,6 +1456,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1477,12 +1529,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1506,40 +1564,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1548,28 +1572,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1577,39 +1579,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1656,6 +1647,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1676,25 +1744,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1710,6 +1764,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1731,6 +1792,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1790,7 +1879,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h index b1b0af1914d5..4b8eadb5cd20 100644 --- a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h b/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h index 3b6942b98928..098b149ee638 100644 --- a/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h +++ b/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -544,10 +551,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -620,15 +667,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -680,6 +726,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -709,6 +756,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -752,10 +802,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -779,6 +829,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -817,9 +868,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -883,6 +931,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1061,8 +1113,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ #define LCD_BED_LEVELING @@ -1074,6 +1126,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1347,11 +1404,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1379,19 +1435,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1418,6 +1461,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1482,12 +1534,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1511,40 +1569,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1553,28 +1577,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1582,39 +1584,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1661,6 +1652,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1681,25 +1749,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1715,6 +1769,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1736,6 +1797,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1795,7 +1884,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h index a254db2d8602..f5b1ef7fdabd 100644 --- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h +++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -538,16 +545,33 @@ // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). #define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -620,15 +644,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -680,6 +703,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -709,6 +733,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -752,10 +779,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -779,6 +806,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -817,9 +845,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -883,6 +908,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1061,8 +1090,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1074,6 +1103,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1347,11 +1381,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1379,19 +1412,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1418,6 +1438,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1482,12 +1511,18 @@ #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 #define LCD_FEEDBACK_FREQUENCY_HZ 1000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1511,40 +1546,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1553,28 +1554,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1582,39 +1561,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1661,6 +1629,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1681,25 +1726,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1715,6 +1746,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1736,6 +1774,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1795,7 +1861,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h index 28adbc867f3b..c6fe2c7b852d 100644 --- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h +++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Mks/Sbase/000-README_RepRap_Discount_Full_Graphic_Smart_Controller.txt b/Marlin/src/config/examples/Mks/Sbase/000-README_RepRap_Discount_Full_Graphic_Smart_Controller.txt index e5c51b7a5cb5..1ec5e7fd7ad8 100644 --- a/Marlin/src/config/examples/Mks/Sbase/000-README_RepRap_Discount_Full_Graphic_Smart_Controller.txt +++ b/Marlin/src/config/examples/Mks/Sbase/000-README_RepRap_Discount_Full_Graphic_Smart_Controller.txt @@ -25,3 +25,14 @@ An octopus cable something like the Adafruit 1199 will simply the construction o Adafruit 10-pin IDC Socket Rainbow Breakout Cable [1199] https://www.adafruit.com/product/1199 + + +///////////////////////////////////////////////////////////////////// + +27 APR 2018 + +If you also want a functional SD_DETECT_PIN then you'll need to also move the following pin: + + used to go to P0.27 to J8-5 + +if you decide to use a different pin then the pins_MKS_SBASE.h file will need to be modified. diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration.h b/Marlin/src/config/examples/Mks/Sbase/Configuration.h index 08c6b856df57..51dff291a9c0 100644 --- a/Marlin/src/config/examples/Mks/Sbase/Configuration.h +++ b/Marlin/src/config/examples/Mks/Sbase/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -105,7 +105,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT 0 +#define SERIAL_PORT -1 /** * Select a secondary serial port on the board to use for communication with the host. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 0 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -538,16 +545,33 @@ // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). #define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +640,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +699,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +729,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +775,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +802,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +841,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +904,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1086,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1099,11 @@ // Add a menu item to move between bed corners for manual bed adjustment #define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1377,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1408,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1434,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1507,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1542,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1550,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1557,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1625,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1722,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1742,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1770,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1857,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h index 50a7a6cacd74..272fc057fa86 100644 --- a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h +++ b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -473,7 +501,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 5 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 +#define DIGIPOT_I2C_NUM_CHANNELS 5 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.2, 1.2, 1.2, 1.2, 1.2 } // MKS SBASE: 5 @@ -494,9 +522,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -556,6 +581,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -754,6 +793,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -780,10 +843,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 4 // (µs) +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -908,61 +1007,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1008,62 +1101,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1211,32 +1271,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1282,7 +1329,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1588,27 +1635,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1626,4 +1676,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h b/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h index 1f48ae435abf..f0217ec30a8c 100644 --- a/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h +++ b/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -544,10 +551,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -620,7 +667,7 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ #define DEFAULT_MAX_Z_FEEDRATE 3.3 // older Huxley has problem with speeds > 3.3 mm/s on z axis -#define DEFAULT_MAX_FEEDRATE { 200, 200, DEFAULT_MAX_Z_FEEDRATE, 25 } +#define DEFAULT_MAX_FEEDRATE { 200, 200, DEFAULT_MAX_Z_FEEDRATE, 25 } /** * Default Max Acceleration (change/s) change = mm/s @@ -656,15 +703,14 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -716,6 +762,7 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -745,6 +792,9 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -788,10 +838,10 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -815,6 +865,7 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -853,9 +904,6 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -928,6 +976,10 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1106,8 +1158,8 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1119,6 +1171,11 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1392,11 +1449,10 @@ 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: * - * en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, es_utf8, eu, fi, fr, fr_utf8, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1424,19 +1480,6 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1463,6 +1506,15 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1527,12 +1579,18 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1556,40 +1614,6 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1598,28 +1622,6 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1627,39 +1629,28 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1706,6 +1697,83 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1726,25 +1794,11 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1760,6 +1814,13 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1781,6 +1842,34 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1840,7 +1929,7 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h b/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h index e0de50780f6f..1dd0e41fe50a 100644 --- a/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -542,12 +549,29 @@ #define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +640,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +699,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +729,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +775,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +802,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +841,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +904,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1086,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1099,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1377,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1408,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1434,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1507,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1542,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1550,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -#define REPRAPWORLD_KEYPAD -#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1557,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1625,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1722,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1742,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1770,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +#define REPRAPWORLD_KEYPAD +#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1857,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/RigidBot/Configuration.h b/Marlin/src/config/examples/RigidBot/Configuration.h index 62d21fcad7a1..5379744fd608 100644 --- a/Marlin/src/config/examples/RigidBot/Configuration.h +++ b/Marlin/src/config/examples/RigidBot/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -271,6 +271,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -280,6 +281,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -311,7 +313,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 // DGlass3D = 5; RigidBot = 1; 3DSv6 = 5 #define TEMP_SENSOR_1 0 @@ -442,15 +444,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -538,12 +545,29 @@ #define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -614,15 +638,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -674,6 +697,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -703,6 +727,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -746,10 +773,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -773,6 +800,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -811,9 +839,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -877,6 +902,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1055,8 +1084,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1068,6 +1097,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1341,11 +1375,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1373,19 +1406,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1412,6 +1432,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1476,12 +1505,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1505,40 +1540,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1547,30 +1548,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -// RigidBoard: To rewire this for a RigidBot see http://rigidtalk.com/wiki/index.php?title=LCD_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1555,28 @@ #define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1623,85 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +// RigidBoard: To rewire this for a RigidBot see http://rigidtalk.com/wiki/index.php?title=LCD_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1722,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1742,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1770,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1857,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/RigidBot/Configuration_adv.h b/Marlin/src/config/examples/RigidBot/Configuration_adv.h index 9d132923a145..2e87ca37a1cb 100644 --- a/Marlin/src/config/examples/RigidBot/Configuration_adv.h +++ b/Marlin/src/config/examples/RigidBot/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/SCARA/Configuration.h b/Marlin/src/config/examples/SCARA/Configuration.h index 4c14be017316..50497c9ba521 100644 --- a/Marlin/src/config/examples/SCARA/Configuration.h +++ b/Marlin/src/config/examples/SCARA/Configuration.h @@ -118,7 +118,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -145,7 +145,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -299,6 +299,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -308,6 +309,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -339,7 +341,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -459,15 +461,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -515,23 +522,23 @@ // Specify here all the endstop connectors that are connected to any endstop or probe. // Almost all printers will be using one per axis. Probes will use one or more of the // extra connectors. Leave undefined any used for non-endstop and non-probe purposes. -#define USE_XMIN_PLUG -#define USE_YMIN_PLUG +//#define USE_XMIN_PLUG +//#define USE_YMIN_PLUG #define USE_ZMIN_PLUG -//#define USE_XMAX_PLUG -//#define USE_YMAX_PLUG +#define USE_XMAX_PLUG +#define USE_YMAX_PLUG //#define USE_ZMAX_PLUG // Enable pullup for all endstops to prevent a floating state //#define ENDSTOPPULLUPS #if DISABLED(ENDSTOPPULLUPS) // Disable ENDSTOPPULLUPS to set pullups individually - //#define ENDSTOPPULLUP_XMAX - //#define ENDSTOPPULLUP_YMAX - #define ENDSTOPPULLUP_ZMAX // open pin, inverted - #define ENDSTOPPULLUP_XMIN // open pin, inverted - #define ENDSTOPPULLUP_YMIN // open pin, inverted - //#define ENDSTOPPULLUP_ZMIN + #define ENDSTOPPULLUP_XMAX + #define ENDSTOPPULLUP_YMAX + //#define ENDSTOPPULLUP_ZMAX // open pin, inverted + //#define ENDSTOPPULLUP_XMIN // open pin, inverted + //#define ENDSTOPPULLUP_YMIN // open pin, inverted + #define ENDSTOPPULLUP_ZMIN //#define ENDSTOPPULLUP_ZMIN_PROBE #endif @@ -555,12 +562,29 @@ #define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -629,15 +653,14 @@ #define DEFAULT_EJERK 3.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -689,6 +712,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -718,6 +742,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -761,10 +788,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -788,6 +815,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -826,9 +854,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -892,6 +917,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1070,8 +1099,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1083,6 +1112,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1356,11 +1390,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1388,19 +1421,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1427,6 +1447,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1491,12 +1520,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1520,40 +1555,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1562,28 +1563,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1591,39 +1570,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1670,6 +1638,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1690,25 +1735,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1724,6 +1755,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1745,6 +1783,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1804,7 +1870,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/SCARA/Configuration_adv.h b/Marlin/src/config/examples/SCARA/Configuration_adv.h index e40e1ae580dc..95cd966b242f 100644 --- a/Marlin/src/config/examples/SCARA/Configuration_adv.h +++ b/Marlin/src/config/examples/SCARA/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/STM32F10/Configuration.h b/Marlin/src/config/examples/STM32F10/Configuration.h index ed00628c0c31..76efc90bb987 100644 --- a/Marlin/src/config/examples/STM32F10/Configuration.h +++ b/Marlin/src/config/examples/STM32F10/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #warning temp_sensor set to 998/999 (fake) #define TEMP_SENSOR_0 999 @@ -447,15 +449,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -541,15 +548,55 @@ #define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. -#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -617,17 +664,15 @@ #define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 - /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -679,6 +724,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -708,6 +754,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -751,10 +800,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -778,6 +827,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -816,9 +866,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -882,6 +929,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1060,8 +1111,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1073,6 +1124,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1346,11 +1402,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1378,19 +1433,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1417,6 +1459,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1481,12 +1532,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1510,40 +1567,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1552,28 +1575,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1581,39 +1582,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1660,6 +1650,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1680,25 +1747,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1714,6 +1767,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1735,6 +1795,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1794,7 +1882,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/STM32F4/Configuration.h b/Marlin/src/config/examples/STM32F4/Configuration.h new file mode 100644 index 000000000000..00fb09416b98 --- /dev/null +++ b/Marlin/src/config/examples/STM32F4/Configuration.h @@ -0,0 +1,1953 @@ +/** + * 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 . + * + */ + +/** + * Configuration.h + * + * Basic settings such as: + * + * - Type of electronics + * - Type of temperature sensor + * - Printer geometry + * - Endstop configuration + * - LCD controller + * - Extra features + * + * Advanced settings can be found in Configuration_adv.h + * + */ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H +#define CONFIGURATION_H_VERSION 020000 + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== + +/** + * Here are some standard links for getting your machine calibrated: + * + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 + */ + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer start with one of the configuration files in the +// config/examples/delta directory and customize for your machine. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a SCARA printer start with the configuration files in +// config/examples/SCARA and customize for your machine. +// + +// @section info + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. +#define SHOW_BOOTSCREEN +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 + +/** + * *** VENDORS PLEASE READ *** + * + * Marlin allows you to add a custom boot image for Graphical LCDs. + * With this option Marlin will first show your custom screen followed + * by the standard Marlin logo with version number and web URL. + * + * We encourage you to take advantage of this new feature and we also + * respectfully request that you retain the unmodified Marlin boot screen. + */ + +// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +//#define SHOW_CUSTOM_BOOTSCREEN + +// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +//#define CUSTOM_STATUS_SCREEN_IMAGE + +// @section machine + +/** + * Select the serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +#define SERIAL_PORT -1 + +/** + * Select a secondary serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Serial port -1 is the USB emulated serial port, if available. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +////#define SERIAL_PORT_2 -1 + +/** + * This setting determines the communication speed of the printer. + * + * 250000 works in most cases, but you might try a lower speed if + * you commonly experience drop-outs during host printing. + * You may try up to 1000000 to speed up SD file transfer. + * + * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] + */ +#define BAUDRATE 250000 + +// Enable the Bluetooth serial interface on AT90USB devices +//#define BLUETOOTH + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_STM32F4 +#endif + +// Optional custom name for your RepStrap or other custom machine +// Displayed in the LCD "Ready" message +//#define CUSTOM_MACHINE_NAME "3D Printer" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// @section extruder + +// This defines the number of extruders +// :[1, 2, 3, 4, 5] +#define EXTRUDERS 1 + +// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc. +#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 + +// For Cyclops or any "multi-extruder" that shares a single nozzle. +//#define SINGLENOZZLE + +/** + * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. + * + * This device allows one stepper driver on a control board to drive + * two to eight stepper motors, one at a time, in a manner suitable + * for extruders. + * + * This option only allows the multiplexer to switch on tool-change. + * Additional options to configure custom E moves are pending. + */ +//#define MK2_MULTIPLEXER +#if ENABLED(MK2_MULTIPLEXER) + // Override the default DIO selector pins here, if needed. + // Some pins files may provide defaults for these pins. + //#define E_MUX0_PIN 40 // Always Required + //#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers + //#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers +#endif + +// A dual extruder that uses a single stepper motor +//#define SWITCHING_EXTRUDER +#if ENABLED(SWITCHING_EXTRUDER) + #define SWITCHING_EXTRUDER_SERVO_NR 0 + #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3] + #if EXTRUDERS > 3 + #define SWITCHING_EXTRUDER_E23_SERVO_NR 1 + #endif +#endif + +// A dual-nozzle that uses a servomotor to raise/lower one of the nozzles +//#define SWITCHING_NOZZLE +#if ENABLED(SWITCHING_NOZZLE) + #define SWITCHING_NOZZLE_SERVO_NR 0 + #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1 + //#define HOTEND_OFFSET_Z { 0.0, 0.0 } +#endif + +/** + * Two separate X-carriages with extruders that connect to a moving part + * via a magnetic docking mechanism. Requires SOL1_PIN and SOL2_PIN. + */ +//#define PARKING_EXTRUDER +#if ENABLED(PARKING_EXTRUDER) + #define PARKING_EXTRUDER_SOLENOIDS_INVERT // If enabled, the solenoid is NOT magnetized with applied voltage + #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW // LOW or HIGH pin signal energizes the coil + #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250 // Delay (ms) for magnetic field. No delay if 0 or not defined. + #define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders + #define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder + #define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking + #define HOTEND_OFFSET_Z { 0.0, 1.3 } // Z-offsets of the two hotends. The first must be 0. +#endif + +/** + * "Mixing Extruder" + * - Adds a new code, M165, to set the current mix factors. + * - Extends the stepping routines to move multiple steppers in proportion to the mix. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. + * - This implementation supports only a single extruder. + * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation + */ +//#define MIXING_EXTRUDER +#if ENABLED(MIXING_EXTRUDER) + #define MIXING_STEPPERS 2 // Number of steppers in your mixing extruder + #define MIXING_VIRTUAL_TOOLS 16 // Use the Virtual Tool method with M163 and M164 + //#define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands +#endif + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +//#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis +//#define HOTEND_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +// @section machine + +/** + * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN + * + * 0 = No Power Switch + * 1 = ATX + * 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) + * + * :{ 0:'No power switch', 1:'ATX', 2:'X-Box 360' } + */ +#define POWER_SUPPLY 0 + +#if POWER_SUPPLY > 0 + // Enable this option to leave the PSU off at startup. + // Power to steppers and heaters will need to be turned on with M80. + //#define PS_DEFAULT_OFF + + //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin + #if ENABLED(AUTO_POWER_CONTROL) + #define AUTO_POWER_FANS // Turn on PSU if fans need power + #define AUTO_POWER_E_FANS + #define AUTO_POWER_CONTROLLERFAN + #define POWER_TIMEOUT 30 + #endif + +#endif + +// @section temperature + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== + +/** + * --NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table + * + * Temperature sensors available: + * + * -4 : thermocouple with AD8495 + * -3 : thermocouple with MAX31855 (only for sensor 0) + * -2 : thermocouple with MAX6675 (only for sensor 0) + * -1 : thermocouple with AD595 + * 0 : not used + * 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup) + * 2 : 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) + * 3 : Mendel-parts thermistor (4.7k pullup) + * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! + * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor + * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) + * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) + * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) + * 8 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) + * 9 : 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) + * 10 : 100k RS thermistor 198-961 (4.7k pullup) + * 11 : 100k beta 3950 1% thermistor (4.7k pullup) + * 12 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) + * 13 : 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" + * 15 : 100k thermistor calibration for JGAurora A5 hotend + * 20 : the PT100 circuit found in the Ultimainboard V2.x + * 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 + * 66 : 4.7M High Temperature thermistor from Dyze Design + * 70 : the 100K thermistor found in the bq Hephestos 2 + * 75 : 100k Generic Silicon Heat Pad with NTC 100K MGB18-104F39050L32 thermistor + * + * 1k ohm pullup tables - This is atypical, and requires changing out the 4.7k pullup for 1k. + * (but gives greater accuracy and more stable PID) + * 51 : 100k thermistor - EPCOS (1k pullup) + * 52 : 200k thermistor - ATC Semitec 204GT-2 (1k pullup) + * 55 : 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) + * + * 1047 : Pt1000 with 4k7 pullup + * 1010 : Pt1000 with 1k pullup (non standard) + * 147 : Pt100 with 4k7 pullup + * 110 : Pt100 with 1k pullup (non standard) + * + * Use these for Testing or Development purposes. NEVER for production machine. + * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. + * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. + * + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + */ +#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_BED 0 +#define TEMP_SENSOR_CHAMBER 0 + +// Dummy thermistor constant temperature readings, for use with 998 and 999 +#define DUMMY_THERMISTOR_998_VALUE 25 +#define DUMMY_THERMISTOR_999_VALUE 100 + +// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings +// from the two sensors differ too much the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Extruder temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// Bed temperature must be close to target for this long before M190 returns success +#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) +#define TEMP_BED_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_BED_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define HEATER_4_MINTEMP 5 +#define BED_MINTEMP 5 + +// When temperature exceeds max temp, your heater will be switched off. +// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! +// You should use MINTEMP for thermistor short/failure protection. +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define HEATER_4_MAXTEMP 275 +#define BED_MAXTEMP 150 + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#define PID_K1 0.95 // Smoothing factor within any PID loop +#if ENABLED(PIDTEMP) + //#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result. + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + + // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it + + // Ultimaker + #define DEFAULT_Kp 22.2 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114 + + // MakerGear + //#define DEFAULT_Kp 7.0 + //#define DEFAULT_Ki 0.1 + //#define DEFAULT_Kd 12 + + // Mendel Parts V9 on 12V + //#define DEFAULT_Kp 63.0 + //#define DEFAULT_Ki 2.25 + //#define DEFAULT_Kd 440 + +#endif // PIDTEMP + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== + +/** + * PID Bed Heating + * + * If this option is enabled set PID constants below. + * If this option is disabled, bang-bang will be used and BED_LIMIT_SWITCHING will enable hysteresis. + * + * The PID frequency will be the same as the extruder PWM. + * If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz, + * which is fine for driving a square wave into a resistive load and does not significantly + * impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W + * heater. If your configuration is significantly different than this and you don't understand + * the issues involved, don't use bed PID until someone else verifies that your hardware works. + */ +//#define PIDTEMPBED + +//#define BED_LIMIT_SWITCHING + +/** + * Max Bed Power + * Applies to all forms of bed control (PID, bang-bang, and bang-bang with hysteresis). + * When set to any value below 255, enables a form of PWM to the bed that acts like a divider + * so don't use it unless you are OK with PWM on your bed. (See the comment on enabling PIDTEMPBED) + */ +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +#if ENABLED(PIDTEMPBED) + + //#define PID_BED_DEBUG // Sends debug data to the serial port. + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from pidautotune + //#define DEFAULT_bedKp 97.1 + //#define DEFAULT_bedKi 1.41 + //#define DEFAULT_bedKd 1675.16 + + // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + +// @section extruder + +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ +#define PREVENT_COLD_EXTRUSION +#define EXTRUDE_MINTEMP 170 + +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ +#define PREVENT_LENGTHY_EXTRUDE +#define EXTRUDE_MAXLENGTH 200 + +//=========================================================================== +//======================== Thermal Runaway Protection ======================= +//=========================================================================== + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * If you get "Thermal Runaway" or "Heating failed" errors the + * details can be tuned in Configuration_adv.h + */ + +#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders +#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// @section machine + +// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics +// either in the usual order or reversed +//#define COREXY +//#define COREXZ +//#define COREYZ +//#define COREYX +//#define COREZX +//#define COREZY + +//=========================================================================== +//============================== Endstop Settings =========================== +//=========================================================================== + +// @section homing + +// Specify here all the endstop connectors that are connected to any endstop or probe. +// Almost all printers will be using one per axis. Probes will use one or more of the +// extra connectors. Leave undefined any used for non-endstop and non-probe purposes. +#define USE_XMIN_PLUG +#define USE_YMIN_PLUG +#define USE_ZMIN_PLUG +//#define USE_XMAX_PLUG +//#define USE_YMAX_PLUG +//#define USE_ZMAX_PLUG + +// Enable pullup for all endstops to prevent a floating state +#define ENDSTOPPULLUPS +#if DISABLED(ENDSTOPPULLUPS) + // Disable ENDSTOPPULLUPS to set pullups individually + //#define ENDSTOPPULLUP_XMAX + //#define ENDSTOPPULLUP_YMAX + //#define ENDSTOPPULLUP_ZMAX + //#define ENDSTOPPULLUP_XMIN + //#define ENDSTOPPULLUP_YMIN + //#define ENDSTOPPULLUP_ZMIN + //#define ENDSTOPPULLUP_ZMIN_PROBE +#endif + +// Enable pulldown for all endstops to prevent a floating state +//#define ENDSTOPPULLDOWNS +#if DISABLED(ENDSTOPPULLDOWNS) + // Disable ENDSTOPPULLDOWNS to set pulldowns individually + //#define ENDSTOPPULLDOWN_XMAX + //#define ENDSTOPPULLDOWN_YMAX + //#define ENDSTOPPULLDOWN_ZMAX + //#define ENDSTOPPULLDOWN_XMIN + //#define ENDSTOPPULLDOWN_YMIN + //#define ENDSTOPPULLDOWN_ZMIN + //#define ENDSTOPPULLDOWN_ZMIN_PROBE +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. + +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + +// Enable this feature if all enabled endstop pins are interrupt-capable. +// This will remove the need to poll the interrupt pins, saving many CPU cycles. +//#define ENDSTOP_INTERRUPTS_FEATURE + +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + +//============================================================================= +//============================== Movement Settings ============================ +//============================================================================= +// @section motion + +/** + * Default Settings + * + * These settings can be reset by M502 + * + * Note that if EEPROM is enabled, saved values will override these. + */ + +/** + * With this option each E stepper can have its own factors for the + * following movement settings. If fewer factors are given than the + * total number of extruders, the last value applies to the rest. + */ +//#define DISTINCT_E_FACTORS + +/** + * Default Axis Steps Per Unit (steps/mm) + * Override with M92 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 } + +/** + * Default Max Feed Rate (mm/s) + * Override with M203 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } + +/** + * Default Max Acceleration (change/s) change = mm/s + * (Maximum start speed for accelerated moves) + * Override with M201 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } + +/** + * Default Acceleration (change/s) change = mm/s + * Override with M204 + * + * M204 P Acceleration + * M204 R Retract Acceleration + * M204 T Travel Acceleration + */ +#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves +#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts +#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves + +/** + * Default Jerk (mm/s) + * Override with M205 X Y Z E + * + * "Jerk" specifies the minimum speed change that requires acceleration. + * When changing speed and direction, if the difference is less than the + * value set here, it may happen instantaneously. + */ +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 +#define DEFAULT_EJERK 5.0 + +/** + * S-Curve Acceleration + * + * This option eliminates vibration during printing by fitting a Bézier + * curve to move acceleration, producing much smoother direction changes. + * + * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained + */ +//#define S_CURVE_ACCELERATION + +//=========================================================================== +//============================= Z Probe Options ============================= +//=========================================================================== +// @section probes + +// +// See http://marlinfw.org/docs/configuration/probes.html +// + +/** + * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + * + * Enable this option for a probe connected to the Z Min endstop pin. + */ +#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + +/** + * Z_MIN_PROBE_ENDSTOP + * + * Enable this option for a probe connected to any pin except Z-Min. + * (By default Marlin assumes the Z-Max endstop pin.) + * To use a custom Z Probe pin, set Z_MIN_PROBE_PIN below. + * + * - The simplest option is to use a free endstop connector. + * - Use 5V for powered (usually inductive) sensors. + * + * - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin: + * - For simple switches connect... + * - normally-closed switches to GND and D32. + * - normally-open switches to 5V and D32. + * + * WARNING: Setting the wrong pin may have unexpected and potentially + * disastrous consequences. Use with caution and do your homework. + * + */ +//#define Z_MIN_PROBE_ENDSTOP + +/** + * Probe Type + * + * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. + * Activate one of these to use Auto Bed Leveling below. + */ + +/** + * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. + * Use G29 repeatedly, adjusting the Z height at each point with movement commands + * or (with LCD_BED_LEVELING) the LCD controller. + */ +//#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 + +/** + * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. + * (e.g., an inductive probe or a nozzle-based probe-switch.) + */ +//#define FIX_MOUNTED_PROBE + +/** + * Z Servo Probe, such as an endstop switch on a rotating arm. + */ +//#define Z_PROBE_SERVO_NR 0 // Defaults to SERVO 0 connector. +//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles + +/** + * The BLTouch probe uses a Hall effect sensor and emulates a servo. + */ +//#define BLTOUCH +#if ENABLED(BLTOUCH) + //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed +#endif + +/** + * Enable one or more of the following if probing seems unreliable. + * Heaters and/or fans can be disabled during probing to minimize electrical + * noise. A delay can also be added to allow noise and vibration to settle. + * These options are most useful for the BLTouch probe, but may also improve + * readings with inductive probes and piezo sensors. + */ +//#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif +//#define PROBING_FANS_OFF // Turn fans off when probing +//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors + +// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) +//#define SOLENOID_PROBE + +// A sled-mounted probe like those designed by Charles Bell. +//#define Z_PROBE_SLED +//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + +// +// For Z_PROBE_ALLEN_KEY see the Delta example configurations. +// + +/** + * Z Probe to nozzle (X,Y) offset, relative to (0, 0). + * X and Y offsets must be integers. + * + * In the following example the X and Y offsets are both positive: + * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 + * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * +-- BACK ---+ + * | | + * L | (+) P | R <-- probe (20,20) + * E | | I + * F | (-) N (+) | G <-- nozzle (10,10) + * T | | H + * | (-) | T + * | | + * O-- FRONT --+ + * (0,0) + */ +#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] +#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] +#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] + +// Certain types of probes need to stay away from edges +#define MIN_PROBE_EDGE 10 + +// X and Y axis travel speed (mm/m) between probes +#define XY_PROBE_SPEED 8000 + +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) +#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z + +// Feedrate (mm/m) for the "accurate" probe of each point +#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) + +// The number of probes to perform at each point. +// Set to 2 for a fast/slow probe, using the second probe result. +// Set to 3 or more for slow probes, averaging the results. +//#define MULTIPLE_PROBING 2 + +/** + * Z probes require clearance when deploying, stowing, and moving between + * probe points to avoid hitting the bed and other hardware. + * Servo-mounted probes require extra space for the arm to rotate. + * Inductive probes need space to keep from triggering early. + * + * Use these settings to specify the distance (mm) to raise the probe (or + * lower the bed). The values set here apply over and above any (negative) + * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * Only integer values >= 1 are valid here. + * + * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. + * But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle. + */ +#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow +#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes +//#define Z_AFTER_PROBING 5 // Z position after probing is done + +#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping + +// For M851 give a range for adjusting the Z probe offset +#define Z_PROBE_OFFSET_RANGE_MIN -20 +#define Z_PROBE_OFFSET_RANGE_MAX 20 + +// Enable the M48 repeatability test to test probe accuracy +//#define Z_MIN_PROBE_REPEATABILITY_TEST + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +// :{ 0:'Low', 1:'High' } +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis stepper immediately when it's not being used. +// WARNING: When motors turn off there is a chance of losing position accuracy! +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define DISABLE_REDUCED_ACCURACY_WARNING + +// @section extruder + +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER true // Keep only the active extruder enabled. + +// @section machine + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR false +#define INVERT_Y_DIR true +#define INVERT_Z_DIR false + +// @section extruder + +// For direct drive extruder v9 set to true, for geared extruder set to false. +#define INVERT_E0_DIR false +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false +#define INVERT_E4_DIR false + +// @section homing + +//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed + +//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off. + +//#define Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ... + // Be sure you have this distance over your Z_MAX_POS in case. + +// Direction of endstops when homing; 1=MAX, -1=MIN +// :[-1,1] +#define X_HOME_DIR -1 +#define Y_HOME_DIR -1 +#define Z_HOME_DIR -1 + +// @section machine + +// The size of the print bed +#define X_BED_SIZE 200 +#define Y_BED_SIZE 200 + +// Travel limits (mm) after homing, corresponding to endstop positions. +#define X_MIN_POS 0 +#define Y_MIN_POS 0 +#define Z_MIN_POS 0 +#define X_MAX_POS X_BED_SIZE +#define Y_MAX_POS Y_BED_SIZE +#define Z_MAX_POS 200 + +/** + * Software Endstops + * + * - Prevent moves outside the set machine bounds. + * - Individual axes can be disabled, if desired. + * - X and Y only apply to Cartesian robots. + * - Use 'M211' to set software endstops on/off or report current state + */ + +// Min software endstops constrain movement within minimum coordinate bounds +#define MIN_SOFTWARE_ENDSTOPS +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) + #define MIN_SOFTWARE_ENDSTOP_X + #define MIN_SOFTWARE_ENDSTOP_Y + #define MIN_SOFTWARE_ENDSTOP_Z +#endif + +// Max software endstops constrain movement within maximum coordinate bounds +#define MAX_SOFTWARE_ENDSTOPS +#if ENABLED(MAX_SOFTWARE_ENDSTOPS) + #define MAX_SOFTWARE_ENDSTOP_X + #define MAX_SOFTWARE_ENDSTOP_Y + #define MAX_SOFTWARE_ENDSTOP_Z +#endif + +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + +/** + * Filament Runout Sensors + * Mechanical or opto endstops are used to check for the presence of filament. + * + * RAMPS-based boards use SERVO3_PIN for the first runout sensor. + * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. + * By default the firmware assumes HIGH=FILAMENT PRESENT. + */ +//#define FILAMENT_RUNOUT_SENSOR +#if ENABLED(FILAMENT_RUNOUT_SENSOR) + #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. + #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. + //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. + #define FILAMENT_RUNOUT_SCRIPT "M600" +#endif + +//=========================================================================== +//=============================== Bed Leveling ============================== +//=========================================================================== +// @section calibrate + +/** + * Choose one of the options below to enable G29 Bed Leveling. The parameters + * and behavior of G29 will change depending on your selection. + * + * If using a Probe for Z Homing, enable Z_SAFE_HOMING also! + * + * - AUTO_BED_LEVELING_3POINT + * Probe 3 arbitrary points on the bed (that aren't collinear) + * You specify the XY coordinates of all 3 points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_LINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_BILINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a mesh, best for large or uneven beds. + * + * - AUTO_BED_LEVELING_UBL (Unified Bed Leveling) + * A comprehensive bed leveling system combining the features and benefits + * of other systems. UBL also includes integrated Mesh Generation, Mesh + * Validation and Mesh Editing systems. + * + * - MESH_BED_LEVELING + * Probe a grid manually + * The result is a mesh, suitable for large or uneven beds. (See BILINEAR.) + * For machines without a probe, Mesh Bed Leveling provides a method to perform + * leveling in steps so you can manually adjust the Z height at each grid-point. + * With an LCD controller the process is guided step-by-step. + */ +//#define AUTO_BED_LEVELING_3POINT +//#define AUTO_BED_LEVELING_LINEAR +//#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL +//#define MESH_BED_LEVELING + +/** + * Normally G28 leaves leveling disabled on completion. Enable + * this option to have G28 restore the prior leveling state. + */ +//#define RESTORE_LEVELING_AFTER_G28 + +/** + * Enable detailed logging of G28, G29, M48, etc. + * Turn on with the command 'M111 S32'. + * NOTE: Requires a lot of PROGMEM! + */ +//#define DEBUG_LEVELING_FEATURE + +#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL) + // Gradually reduce leveling correction until a set height is reached, + // at which point movement will be level to the machine's XY plane. + // The height can be set with M420 Z + #define ENABLE_LEVELING_FADE_HEIGHT + + // For Cartesian machines, instead of dividing moves on mesh boundaries, + // split up moves into short segments like a Delta. This follows the + // contours of the bed more closely than edge-to-edge straight moves. + #define SEGMENT_LEVELED_MOVES + #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one) + + /** + * Enable the G26 Mesh Validation Pattern tool. + */ + //#define G26_MESH_VALIDATION + #if ENABLED(G26_MESH_VALIDATION) + #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. + #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool. + #define MESH_TEST_HOTEND_TEMP 205.0 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool. + #define MESH_TEST_BED_TEMP 60.0 // (°C) Default bed temperature for the G26 Mesh Validation Tool. + #endif + +#endif + +#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Set the number of grid points per dimension. + #define GRID_MAX_POINTS_X 3 + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + // Set the boundaries for probing (where the probe can reach). + //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE) + //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE) + + // Probe along the Y axis, advancing X after each column + //#define PROBE_Y_FIRST + + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Beyond the probed grid, continue the implied tilt? + // Default is to maintain the height of the nearest edge. + //#define EXTRAPOLATE_BEYOND_GRID + + // + // Experimental Subdivision of the grid by Catmull-Rom method. + // Synthesizes intermediate points to produce a more detailed mesh. + // + //#define ABL_BILINEAR_SUBDIVISION + #if ENABLED(ABL_BILINEAR_SUBDIVISION) + // Number of subdivisions between probe points + #define BILINEAR_SUBDIVISIONS 3 + #endif + + #endif + +#elif ENABLED(AUTO_BED_LEVELING_UBL) + + //=========================================================================== + //========================= Unified Bed Leveling ============================ + //=========================================================================== + + //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh + + #define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle + #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 + + //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used + // as the Z-Height correction value. + +#elif ENABLED(MESH_BED_LEVELING) + + //=========================================================================== + //=================================== Mesh ================================== + //=========================================================================== + + #define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS + +#endif // BED_LEVELING + +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. + */ +//#define LCD_BED_LEVELING + +#if ENABLED(LCD_BED_LEVELING) + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. + #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment +#endif + +// Add a menu item to move between bed corners for manual bed adjustment +//#define LEVEL_BED_CORNERS + +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + +/** + * Commands to execute at the end of G29 probing. + * Useful to retract or move the Z probe out of the way. + */ +//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" + + +// @section homing + +// The center of the bed is at (X=0, Y=0) +//#define BED_CENTER_AT_0_0 + +// Manually set the home position. Leave these undefined for automatic settings. +// For DELTA this is the top-center of the Cartesian print volume. +//#define MANUAL_X_HOME_POS 0 +//#define MANUAL_Y_HOME_POS 0 +//#define MANUAL_Z_HOME_POS 0 + +// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. +// +// With this feature enabled: +// +// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. +// - If stepper drivers time out, it will need X and Y homing again before Z homing. +// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28). +// - Prevent Z homing when the Z probe is outside bed area. +// +//#define Z_SAFE_HOMING + +#if ENABLED(Z_SAFE_HOMING) + #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28). +#endif + +// Homing speeds (mm/m) +#define HOMING_FEEDRATE_XY (50*60) +#define HOMING_FEEDRATE_Z (4*60) + +// @section calibrate + +/** + * Bed Skew Compensation + * + * This feature corrects for misalignment in the XYZ axes. + * + * Take the following steps to get the bed skew in the XY plane: + * 1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185) + * 2. For XY_DIAG_AC measure the diagonal A to C + * 3. For XY_DIAG_BD measure the diagonal B to D + * 4. For XY_SIDE_AD measure the edge A to D + * + * Marlin automatically computes skew factors from these measurements. + * Skew factors may also be computed and set manually: + * + * - Compute AB : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2 + * - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD))) + * + * If desired, follow the same procedure for XZ and YZ. + * Use these diagrams for reference: + * + * Y Z Z + * ^ B-------C ^ B-------C ^ B-------C + * | / / | / / | / / + * | / / | / / | / / + * | A-------D | A-------D | A-------D + * +-------------->X +-------------->X +-------------->Y + * XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR + */ +//#define SKEW_CORRECTION + +#if ENABLED(SKEW_CORRECTION) + // Input all length measurements here: + #define XY_DIAG_AC 282.8427124746 + #define XY_DIAG_BD 282.8427124746 + #define XY_SIDE_AD 200 + + // Or, set the default skew factors directly here + // to override the above measurements: + #define XY_SKEW_FACTOR 0.0 + + //#define SKEW_CORRECTION_FOR_Z + #if ENABLED(SKEW_CORRECTION_FOR_Z) + #define XZ_DIAG_AC 282.8427124746 + #define XZ_DIAG_BD 282.8427124746 + #define YZ_DIAG_AC 282.8427124746 + #define YZ_DIAG_BD 282.8427124746 + #define YZ_SIDE_AD 200 + #define XZ_SKEW_FACTOR 0.0 + #define YZ_SKEW_FACTOR 0.0 + #endif + + // Enable this option for M852 to set skew at runtime + //#define SKEW_CORRECTION_GCODE +#endif + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// @section extras + +// +// EEPROM +// +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters in EEPROM +// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +// +//#define EEPROM_SETTINGS // Enable for M500 and M501 commands +//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release! +#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. + +// +// Host Keepalive +// +// When enabled Marlin will send a busy status message to the host +// every couple of seconds when it can't accept commands. +// +#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages +#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113. +#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating + +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // Add M100 (Free Memory Watcher) to debug memory usage + +// +// G20/G21 Inch mode support +// +//#define INCH_MODE_SUPPORT + +// +// M149 Set temperature units support +// +//#define TEMPERATURE_UNITS_SUPPORT + +// @section temperature + +// Preheat Constants +#define PREHEAT_1_TEMP_HOTEND 180 +#define PREHEAT_1_TEMP_BED 70 +#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 + +#define PREHEAT_2_TEMP_HOTEND 240 +#define PREHEAT_2_TEMP_BED 110 +#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 + +/** + * Nozzle Park + * + * Park the nozzle at the given XYZ position on idle or G27. + * + * The "P" parameter controls the action applied to the Z axis: + * + * P0 (Default) If Z is below park Z raise the nozzle. + * P1 Raise the nozzle always to Z-park height. + * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. + */ +//#define NOZZLE_PARK_FEATURE + +#if ENABLED(NOZZLE_PARK_FEATURE) + // Specify a park position as { X, Y, Z } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) +#endif + +/** + * Clean Nozzle Feature -- EXPERIMENTAL + * + * Adds the G12 command to perform a nozzle cleaning process. + * + * Parameters: + * P Pattern + * S Strokes / Repetitions + * T Triangles (P1 only) + * + * Patterns: + * P0 Straight line (default). This process requires a sponge type material + * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) + * between the start / end points. + * + * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the + * number of zig-zag triangles to do. "S" defines the number of strokes. + * Zig-zags are done in whichever is the narrower dimension. + * For example, "G12 P1 S1 T3" will execute: + * + * -- + * | (X0, Y1) | /\ /\ /\ | (X1, Y1) + * | | / \ / \ / \ | + * A | | / \ / \ / \ | + * | | / \ / \ / \ | + * | (X0, Y0) | / \/ \/ \ | (X1, Y0) + * -- +--------------------------------+ + * |________|_________|_________| + * T1 T2 T3 + * + * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. + * "R" specifies the radius. "S" specifies the stroke count. + * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. + * + * Caveats: The ending Z should be the same as starting Z. + * Attention: EXPERIMENTAL. G-code arguments may change. + * + */ +//#define NOZZLE_CLEAN_FEATURE + +#if ENABLED(NOZZLE_CLEAN_FEATURE) + // Default number of pattern repetitions + #define NOZZLE_CLEAN_STROKES 12 + + // Default number of triangles + #define NOZZLE_CLEAN_TRIANGLES 3 + + // Specify positions as { X, Y, Z } + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_END_POINT {100, 60, (Z_MIN_POS + 1)} + + // Circular pattern radius + #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5 + // Circular pattern circle fragments number + #define NOZZLE_CLEAN_CIRCLE_FN 10 + // Middle point of circle + #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT + + // Moves the nozzle to the initial position + #define NOZZLE_CLEAN_GOBACK +#endif + +/** + * Print Job Timer + * + * Automatically start and stop the print job timer on M104/M109/M190. + * + * M104 (hotend, no wait) - high temp = none, low temp = stop timer + * M109 (hotend, wait) - high temp = start timer, low temp = stop timer + * M190 (bed, wait) - high temp = start timer, low temp = none + * + * The timer can also be controlled with the following commands: + * + * M75 - Start the print job timer + * M76 - Pause the print job timer + * M77 - Stop the print job timer + */ +#define PRINTJOB_TIMER_AUTOSTART + +/** + * Print Counter + * + * Track statistical data such as: + * + * - Total print jobs + * - Total successful print jobs + * - Total failed print jobs + * - Total time printing + * + * View the current statistics with M78. + */ +//#define PRINTCOUNTER + +//============================================================================= +//============================= LCD and SD support ============================ +//============================================================================= + +// @section lcd + +/** + * LCD LANGUAGE + * + * Select the language to display on the LCD. These languages are available: + * + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, tr, uk, zh_CN, zh_TW, test + * + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', '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 + +/** + * LCD Character Set + * + * Note: This option is NOT applicable to Graphical Displays. + * + * All character-based LCDs provide ASCII plus one of these + * language extensions: + * + * - JAPANESE ... the most common + * - WESTERN ... with more accented characters + * - CYRILLIC ... for the Russian language + * + * To determine the language extension installed on your controller: + * + * - Compile and upload with LCD_LANGUAGE set to 'test' + * - Click the controller to view the LCD menu + * - The LCD will display Japanese, Western, or Cyrillic text + * + * See http://marlinfw.org/docs/development/lcd_language.html + * + * :['JAPANESE', 'WESTERN', 'CYRILLIC'] + */ +#define DISPLAY_CHARSET_HD44780 JAPANESE + +/** + * SD CARD + * + * SD Card support is disabled by default. If your controller has an SD slot, + * you must uncomment the following option or it won't work. + * + */ +//#define SDSUPPORT + +/** + * SD CARD: SPI SPEED + * + * Enable one of the following items for a slower SPI transfer speed. + * This may be required to resolve "volume init" errors. + */ +//#define SPI_SPEED SPI_HALF_SPEED +//#define SPI_SPEED SPI_QUARTER_SPEED +//#define SPI_SPEED SPI_EIGHTH_SPEED + +/** + * SD CARD: ENABLE CRC + * + * Use CRC checks and retries on the SD communication. + */ +//#define SD_CHECK_AND_RETRY + +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + +// +// ENCODER SETTINGS +// +// This option overrides the default number of encoder pulses needed to +// produce one step. Should be increased for high-resolution encoders. +// +//#define ENCODER_PULSES_PER_STEP 4 + +// +// Use this option to override the number of step signals required to +// move between next/prev menu items. +// +//#define ENCODER_STEPS_PER_MENU_ITEM 1 + +/** + * Encoder Direction Options + * + * Test your encoder's behavior first with both options disabled. + * + * Reversed Value Edit and Menu Nav? Enable REVERSE_ENCODER_DIRECTION. + * Reversed Menu Navigation only? Enable REVERSE_MENU_DIRECTION. + * Reversed Value Editing only? Enable BOTH options. + */ + +// +// This option reverses the encoder direction everywhere. +// +// Set this option if CLOCKWISE causes values to DECREASE +// +//#define REVERSE_ENCODER_DIRECTION + +// +// This option reverses the encoder direction for navigating LCD menus. +// +// If CLOCKWISE normally moves DOWN this makes it go UP. +// If CLOCKWISE normally moves UP this makes it go DOWN. +// +//#define REVERSE_MENU_DIRECTION + +// +// Individual Axis Homing +// +// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. +// +//#define INDIVIDUAL_AXIS_HOMING_MENU + +// +// SPEAKER/BUZZER +// +// If you have a speaker that can produce tones, enable it here. +// By default Marlin assumes you have a buzzer with a fixed frequency. +// +//#define SPEAKER + +// +// The duration and frequency for the UI feedback sound. +// Set these to 0 to disable audio feedback in the LCD menus. +// +// Note: Test audio output with the G-Code: +// M300 S P +// +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 +//#define LCD_FEEDBACK_FREQUENCY_HZ 5000 + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + +// +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +// +// Note: Usually sold with a white PCB. +// +//#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// +// Original RADDS LCD Display+Encoder+SDCardReader +// http://doku.radds.org/dokumentation/lcd-display/ +// +//#define RADDS_DISPLAY + +// +// ULTIMAKER Controller. +// +//#define ULTIMAKERCONTROLLER + +// +// ULTIPANEL as seen on Thingiverse. +// +//#define ULTIPANEL + +// +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +// +//#define PANEL_ONE + +// +// GADGETS3D G3D LCD/SD Controller +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +// +// Note: Usually sold with a blue PCB. +// +//#define G3D_PANEL + +// +// RigidBot Panel V1.0 +// http://www.inventapart.com/ +// +//#define RIGIDBOT_PANEL + +// +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html +// +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 + +// +// ANET and Tronxy 20x4 Controller +// +//#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. + // This LCD is known to be susceptible to electrical interference + // which scrambles the display. Pressing any button clears it up. + // This is a LCD2004 display with 5 analog buttons. + +// +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. +// +//#define ULTRA_LCD + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= + +// +// CONTROLLER TYPE: I2C +// +// Note: These controllers require the installation of Arduino's LiquidCrystal_I2C +// library. For more info: https://github.com/kiyoshigawa/LiquidCrystal_I2C +// + +// +// Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// +//#define RA_CONTROL_PANEL + +// +// Sainsmart (YwRobot) LCD Displays +// +// These require F.Malpartida's LiquidCrystal_I2C library +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home +// +//#define LCD_SAINSMART_I2C_1602 +//#define LCD_SAINSMART_I2C_2004 + +// +// Generic LCM1602 LCD adapter +// +//#define LCM1602 + +// +// PANELOLU2 LCD with status LEDs, +// separate encoder and click inputs. +// +// Note: This controller requires Arduino's LiquidTWI2 library v1.2.3 or later. +// For more info: https://github.com/lincomatic/LiquidTWI2 +// +// Note: The PANELOLU2 encoder click input can either be directly connected to +// a pin (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). +// +//#define LCD_I2C_PANELOLU2 + +// +// Panucatt VIKI LCD with status LEDs, +// integrated click & L/R/U/D buttons, separate encoder inputs. +// +//#define LCD_I2C_VIKI + +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + +// +// SSD1306 OLED full graphics generic display +// +//#define U8GLIB_SSD1306 + +// +// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules +// +//#define SAV_3DGLCD +#if ENABLED(SAV_3DGLCD) + //#define U8GLIB_SSD1306 + #define U8GLIB_SH1106 +#endif + +// +// Original Ulticontroller from Ultimaker 2 printer with SSD1309 I2C display and encoder +// https://github.com/Ultimaker/Ultimaker2/tree/master/1249_Ulticontroller_Board_(x1) +// +//#define ULTI_CONTROLLER + +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + +// +// MKS MINI12864 with graphic controller and SD support +// http://reprap.org/wiki/MKS_MINI_12864 +// +//#define MKS_MINI_12864 + +// +// Factory display for Creality CR-10 +// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html +// +// This is RAMPS-compatible using a single 10-pin connector. +// (For CR-10 owners who want to replace the Melzi Creality board but retain the display) +// +//#define CR10_STOCKDISPLAY + +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + +// +// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER +// http://reprap.org/wiki/MKS_12864OLED +// +// Tiny, but very sharp OLED display +// +//#define MKS_12864OLED // Uses the SH1106 controller (default) +//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller + +// +// AZSMZ 12864 LCD with SD +// https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html +// +//#define AZSMZ_12864 + +// +// Silvergate GLCD controller +// http://github.com/android444/Silvergate +// +//#define SILVER_GATE_GLCD_CONTROLLER + +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + +//============================================================================= +//=============================== Extra Features ============================== +//============================================================================= + +// @section extras + +// Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can +// be used to mitigate the associated resolution loss. If enabled, +// some of the PWM cycles are stretched so on average the desired +// duty cycle is attained. +//#define SOFT_PWM_DITHER + +// Temperature status LEDs that display the hotend and bed temperature. +// If all hotends, bed temperature, and target temperature are under 54C +// then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) +//#define TEMP_STAT_LEDS + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +//#define PHOTOGRAPH_PIN 23 + +// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder +//#define BARICUDA + +// Support for BlinkM/CyzRgb +//#define BLINKM + +// Support for PCA9632 PWM LED driver +//#define PCA9632 + +/** + * RGB LED / LED Strip Control + * + * Enable support for an RGB LED connected to 5V digital pins, or + * an RGB Strip connected to MOSFETs controlled by digital pins. + * + * Adds the M150 command to set the LED (or LED strip) color. + * If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of + * luminance values can be set from 0 to 255. + * For Neopixel LED an overall brightness parameter is also available. + * + * *** CAUTION *** + * LED Strips require a MOSFET Chip between PWM lines and LEDs, + * as the Arduino cannot handle the current the LEDs will require. + * Failure to follow this precaution can destroy your Arduino! + * NOTE: A separate 5V power supply is required! The Neopixel LED needs + * more current than the Arduino 5V linear regulator can produce. + * *** CAUTION *** + * + * LED Type. Enable only one of the following two options. + * + */ +//#define RGB_LED +//#define RGBW_LED + +#if ENABLED(RGB_LED) || ENABLED(RGBW_LED) + #define RGB_LED_R_PIN 34 + #define RGB_LED_G_PIN 43 + #define RGB_LED_B_PIN 35 + #define RGB_LED_W_PIN -1 +#endif + +// Support for Adafruit Neopixel LED driver +//#define NEOPIXEL_LED +#if ENABLED(NEOPIXEL_LED) + #define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h) + #define NEOPIXEL_PIN 4 // LED driving pin on motherboard 4 => D4 (EXP2-5 on Printrboard) / 30 => PC7 (EXP3-13 on Rumba) + #define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip + #define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once. + #define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255) + //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup +#endif + +/** + * Printer Event LEDs + * + * During printing, the LEDs will reflect the printer status: + * + * - Gradually change from blue to violet as the heated bed gets to target temp + * - Gradually change from violet to red as the hotend gets to temperature + * - Change to white to illuminate work surface + * - Change to green once print has finished + * - Turn off after the print has finished and the user has pushed a button + */ +#if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED) + #define PRINTER_EVENT_LEDS +#endif + +/** + * R/C SERVO support + * Sponsored by TrinityLabs, Reworked by codexmas + */ + +/** + * Number of servos + * + * For some servo-related options NUM_SERVOS will be set automatically. + * Set this manually if there are extra servos needing manual control. + * Leave undefined or set to 0 to entirely disable the servo subsystem. + */ +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// 300ms is a good value but you can try less delay. +// If the servo can't reach the requested position, increase it. +#define SERVO_DELAY { 300 } + +// Servo deactivation +// +// With this option servos are powered only during movement, then turned off to prevent jitter. +//#define DEACTIVATE_SERVOS_AFTER_MOVE + +#endif // CONFIGURATION_H diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration.h b/Marlin/src/config/examples/Sanguinololu/Configuration.h index f0de939a66a7..a8ec8b1df994 100644 --- a/Marlin/src/config/examples/Sanguinololu/Configuration.h +++ b/Marlin/src/config/examples/Sanguinololu/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -544,10 +551,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -647,15 +694,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -707,6 +753,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -736,6 +783,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -779,10 +829,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -806,6 +856,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -844,9 +895,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -910,6 +958,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1088,8 +1140,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1101,6 +1153,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1374,11 +1431,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1406,19 +1462,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1445,6 +1488,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1509,12 +1561,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1538,40 +1596,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1580,28 +1604,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1609,39 +1611,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1688,6 +1679,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1708,25 +1776,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1742,6 +1796,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1763,6 +1824,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1822,7 +1911,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h index 57aef8ac50ed..60aeebe4aa5d 100644 --- a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h +++ b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/TheBorg/Configuration.h b/Marlin/src/config/examples/TheBorg/Configuration.h index 015c685c2cca..8da6fa860e32 100644 --- a/Marlin/src/config/examples/TheBorg/Configuration.h +++ b/Marlin/src/config/examples/TheBorg/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 5 +//#define SERIAL_PORT_2 5 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -536,18 +543,35 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +640,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +699,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +729,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +775,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +802,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 5 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +841,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +904,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1086,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1099,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1377,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1408,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1434,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1507,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1542,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1550,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1557,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1625,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1722,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1742,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1770,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1857,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/TheBorg/Configuration_adv.h b/Marlin/src/config/examples/TheBorg/Configuration_adv.h index b8384ca71c5e..0057e1e7220a 100644 --- a/Marlin/src/config/examples/TheBorg/Configuration_adv.h +++ b/Marlin/src/config/examples/TheBorg/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,163 +999,123 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -#define HAVE_TMC26X - -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - #define X_IS_TMC26X - //#define X2_IS_TMC26X - #define Y_IS_TMC26X - //#define Y2_IS_TMC26X - #define Z_IS_TMC26X - #define Z2_IS_TMC26X - #define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X - - #define X_MAX_CURRENT 1200 // in mA - #define X_SENSE_RESISTOR 50 // in mOhms - #define X_MICROSTEPS 32 // number of microsteps - - #define X2_MAX_CURRENT 1200 - #define X2_SENSE_RESISTOR 50 - #define X2_MICROSTEPS 32 - - #define Y_MAX_CURRENT 1200 - #define Y_SENSE_RESISTOR 50 - #define Y_MICROSTEPS 32 - - #define Y2_MAX_CURRENT 1200 - #define Y2_SENSE_RESISTOR 50 - #define Y2_MICROSTEPS 32 - - #define Z_MAX_CURRENT 1200 - #define Z_SENSE_RESISTOR 50 - #define Z_MICROSTEPS 32 - - #define Z2_MAX_CURRENT 1200 - #define Z2_SENSE_RESISTOR 50 - #define Z2_MICROSTEPS 32 - - #define E0_MAX_CURRENT 1200 - #define E0_SENSE_RESISTOR 50 - #define E0_MICROSTEPS 32 - - #define E1_MAX_CURRENT 1200 - #define E1_SENSE_RESISTOR 50 - #define E1_MICROSTEPS 32 - - #define E2_MAX_CURRENT 1200 - #define E2_SENSE_RESISTOR 50 - #define E2_MICROSTEPS 32 - - #define E3_MAX_CURRENT 1200 - #define E3_SENSE_RESISTOR 50 - #define E3_MICROSTEPS 32 - - #define E4_MAX_CURRENT 1200 - #define E4_SENSE_RESISTOR 50 - #define E4_MICROSTEPS 32 +#if HAS_DRIVER(TMC26X) -#endif + #define X_MAX_CURRENT 1000 // in mA + #define X_SENSE_RESISTOR 91 // in mOhms + #define X_MICROSTEPS 16 // number of microsteps + + #define X2_MAX_CURRENT 1000 + #define X2_SENSE_RESISTOR 91 + #define X2_MICROSTEPS 16 + + #define Y_MAX_CURRENT 1000 + #define Y_SENSE_RESISTOR 91 + #define Y_MICROSTEPS 16 + + #define Y2_MAX_CURRENT 1000 + #define Y2_SENSE_RESISTOR 91 + #define Y2_MICROSTEPS 16 + + #define Z_MAX_CURRENT 1000 + #define Z_SENSE_RESISTOR 91 + #define Z_MICROSTEPS 16 + + #define Z2_MAX_CURRENT 1000 + #define Z2_SENSE_RESISTOR 91 + #define Z2_MICROSTEPS 16 + + #define E0_MAX_CURRENT 1000 + #define E0_SENSE_RESISTOR 91 + #define E0_MICROSTEPS 16 + + #define E1_MAX_CURRENT 1000 + #define E1_SENSE_RESISTOR 91 + #define E1_MICROSTEPS 16 + + #define E2_MAX_CURRENT 1000 + #define E2_SENSE_RESISTOR 91 + #define E2_MICROSTEPS 16 + + #define E3_MAX_CURRENT 1000 + #define E3_SENSE_RESISTOR 91 + #define E3_MICROSTEPS 16 + + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1204,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1275,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1581,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1619,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration.h b/Marlin/src/config/examples/TinyBoy2/Configuration.h index 3e6a8c5d6a71..5b9e13ea0312 100644 --- a/Marlin/src/config/examples/TinyBoy2/Configuration.h +++ b/Marlin/src/config/examples/TinyBoy2/Configuration.h @@ -103,7 +103,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -130,7 +130,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -290,6 +290,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -299,6 +300,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -330,7 +332,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -496,15 +498,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -588,16 +595,56 @@ // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). #define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. -#define ENDSTOP_INTERRUPTS_FEATURE +//#define ENDSTOP_INTERRUPTS_FEATURE + +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER //============================================================================= //============================== Movement Settings ============================ @@ -667,15 +714,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -727,6 +773,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -756,6 +803,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -799,10 +849,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -826,6 +876,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -864,9 +915,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba steppers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -935,6 +983,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1113,8 +1165,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1126,6 +1178,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1399,11 +1456,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1431,19 +1487,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1470,6 +1513,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1534,12 +1586,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1563,40 +1621,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1605,28 +1629,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1634,39 +1636,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1713,6 +1704,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1733,25 +1801,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // #define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1767,6 +1821,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1788,6 +1849,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1847,7 +1936,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h index b98980310d3c..e0b9ad5573d7 100644 --- a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h +++ b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu #define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Tronxy/X1/Configuration.h b/Marlin/src/config/examples/Tronxy/X1/Configuration.h index 4cd2255acb72..759178b03388 100644 --- a/Marlin/src/config/examples/Tronxy/X1/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X1/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 11 #define TEMP_SENSOR_1 0 @@ -366,7 +368,7 @@ #define PIDTEMP #define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current #define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current -#define PID_K1 0.95 // Smoothing factor within the PID +#define PID_K1 0.95 // Smoothing factor within any PID loop #if ENABLED(PIDTEMP) //#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result. //#define PID_DEBUG // Sends debug data to the serial port. @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -536,18 +543,58 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +663,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +722,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +752,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +798,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +825,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +864,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +927,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -968,7 +1020,7 @@ /** * Enable the G26 Mesh Validation Pattern tool. */ - #define G26_MESH_VALIDATION // Enable G26 mesh validation + #define G26_MESH_VALIDATION #if ENABLED(G26_MESH_VALIDATION) #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool. @@ -1057,8 +1109,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1122,11 @@ // Add a menu item to move between bed corners for manual bed adjustment #define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1400,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1431,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1457,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1530,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1565,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1573,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1580,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // #define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1648,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1745,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1765,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1793,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1880,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Tronxy/X3A/Configuration.h b/Marlin/src/config/examples/Tronxy/X3A/Configuration.h new file mode 100644 index 000000000000..c6c64da3e4b8 --- /dev/null +++ b/Marlin/src/config/examples/Tronxy/X3A/Configuration.h @@ -0,0 +1,1935 @@ +/** + * 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 . + * + */ + +/** + * Configuration.h + * + * Basic settings such as: + * + * - Type of electronics + * - Type of temperature sensor + * - Printer geometry + * - Endstop configuration + * - LCD controller + * - Extra features + * + * Advanced settings can be found in Configuration_adv.h + * + */ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H +#define CONFIGURATION_H_VERSION 020000 + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== + +/** + * Here are some standard links for getting your machine calibrated: + * + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 + */ + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer start with one of the configuration files in the +// config/examples/delta directory and customize for your machine. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a SCARA printer start with the configuration files in +// config/examples/SCARA and customize for your machine. +// + +// @section info + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_CONFIG_H_AUTHOR "(Schullebernd, Tronxy X3A)" // Who made the changes. +#define SHOW_BOOTSCREEN +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 + +/** + * *** VENDORS PLEASE READ *** + * + * Marlin allows you to add a custom boot image for Graphical LCDs. + * With this option Marlin will first show your custom screen followed + * by the standard Marlin logo with version number and web URL. + * + * We encourage you to take advantage of this new feature and we also + * respectfully request that you retain the unmodified Marlin boot screen. + */ + +// Enable to show the bitmap in Marlin/_Bootscreen.h on startup. +//#define SHOW_CUSTOM_BOOTSCREEN + +// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. +//#define CUSTOM_STATUS_SCREEN_IMAGE + +// @section machine + +/** + * Select the serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +#define SERIAL_PORT 0 + +/** + * Select a secondary serial port on the board to use for communication with the host. + * This allows the connection of wireless adapters (for instance) to non-default port pins. + * Serial port -1 is the USB emulated serial port, if available. + * + * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] + */ +//#define SERIAL_PORT_2 -1 + +/** + * This setting determines the communication speed of the printer. + * + * 250000 works in most cases, but you might try a lower speed if + * you commonly experience drop-outs during host printing. + * You may try up to 1000000 to speed up SD file transfer. + * + * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] + */ +#define BAUDRATE 250000 + +// Enable the Bluetooth serial interface on AT90USB devices +//#define BLUETOOTH + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_MELZI //63 +#endif + +// Optional custom name for your RepStrap or other custom machine +// Displayed in the LCD "Ready" message +#define CUSTOM_MACHINE_NAME "Tronxy X3A" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// @section extruder + +// This defines the number of extruders +// :[1, 2, 3, 4, 5] +#define EXTRUDERS 1 + +// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc. +#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 + +// For Cyclops or any "multi-extruder" that shares a single nozzle. +//#define SINGLENOZZLE + +/** + * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. + * + * This device allows one stepper driver on a control board to drive + * two to eight stepper motors, one at a time, in a manner suitable + * for extruders. + * + * This option only allows the multiplexer to switch on tool-change. + * Additional options to configure custom E moves are pending. + */ +//#define MK2_MULTIPLEXER +#if ENABLED(MK2_MULTIPLEXER) + // Override the default DIO selector pins here, if needed. + // Some pins files may provide defaults for these pins. + //#define E_MUX0_PIN 40 // Always Required + //#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers + //#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers +#endif + +// A dual extruder that uses a single stepper motor +//#define SWITCHING_EXTRUDER +#if ENABLED(SWITCHING_EXTRUDER) + #define SWITCHING_EXTRUDER_SERVO_NR 0 + #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3] + #if EXTRUDERS > 3 + #define SWITCHING_EXTRUDER_E23_SERVO_NR 1 + #endif +#endif + +// A dual-nozzle that uses a servomotor to raise/lower one of the nozzles +//#define SWITCHING_NOZZLE +#if ENABLED(SWITCHING_NOZZLE) + #define SWITCHING_NOZZLE_SERVO_NR 0 + #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1 + //#define HOTEND_OFFSET_Z { 0.0, 0.0 } +#endif + +/** + * Two separate X-carriages with extruders that connect to a moving part + * via a magnetic docking mechanism. Requires SOL1_PIN and SOL2_PIN. + */ +//#define PARKING_EXTRUDER +#if ENABLED(PARKING_EXTRUDER) + #define PARKING_EXTRUDER_SOLENOIDS_INVERT // If enabled, the solenoid is NOT magnetized with applied voltage + #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW // LOW or HIGH pin signal energizes the coil + #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250 // Delay (ms) for magnetic field. No delay if 0 or not defined. + #define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders + #define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder + #define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking + #define HOTEND_OFFSET_Z { 0.0, 1.3 } // Z-offsets of the two hotends. The first must be 0. +#endif + +/** + * "Mixing Extruder" + * - Adds a new code, M165, to set the current mix factors. + * - Extends the stepping routines to move multiple steppers in proportion to the mix. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. + * - This implementation supports only a single extruder. + * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation + */ +//#define MIXING_EXTRUDER +#if ENABLED(MIXING_EXTRUDER) + #define MIXING_STEPPERS 2 // Number of steppers in your mixing extruder + #define MIXING_VIRTUAL_TOOLS 16 // Use the Virtual Tool method with M163 and M164 + //#define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands +#endif + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +//#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis +//#define HOTEND_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +// @section machine + +/** + * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN + * + * 0 = No Power Switch + * 1 = ATX + * 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) + * + * :{ 0:'No power switch', 1:'ATX', 2:'X-Box 360' } + */ +#define POWER_SUPPLY 0 + +#if POWER_SUPPLY > 0 + // Enable this option to leave the PSU off at startup. + // Power to steppers and heaters will need to be turned on with M80. + //#define PS_DEFAULT_OFF + + //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin + #if ENABLED(AUTO_POWER_CONTROL) + #define AUTO_POWER_FANS // Turn on PSU if fans need power + #define AUTO_POWER_E_FANS + #define AUTO_POWER_CONTROLLERFAN + #define POWER_TIMEOUT 30 + #endif + +#endif + +// @section temperature + +//=========================================================================== +//============================= Thermal Settings ============================ +//=========================================================================== + +/** + * --NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table + * + * Temperature sensors available: + * + * -4 : thermocouple with AD8495 + * -3 : thermocouple with MAX31855 (only for sensor 0) + * -2 : thermocouple with MAX6675 (only for sensor 0) + * -1 : thermocouple with AD595 + * 0 : not used + * 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup) + * 2 : 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) + * 3 : Mendel-parts thermistor (4.7k pullup) + * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! + * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor + * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) + * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) + * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) + * 8 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) + * 9 : 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) + * 10 : 100k RS thermistor 198-961 (4.7k pullup) + * 11 : 100k beta 3950 1% thermistor (4.7k pullup) + * 12 : 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) + * 13 : 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" + * 15 : 100k thermistor calibration for JGAurora A5 hotend + * 20 : the PT100 circuit found in the Ultimainboard V2.x + * 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 + * 66 : 4.7M High Temperature thermistor from Dyze Design + * 70 : the 100K thermistor found in the bq Hephestos 2 + * 75 : 100k Generic Silicon Heat Pad with NTC 100K MGB18-104F39050L32 thermistor + * + * 1k ohm pullup tables - This is atypical, and requires changing out the 4.7k pullup for 1k. + * (but gives greater accuracy and more stable PID) + * 51 : 100k thermistor - EPCOS (1k pullup) + * 52 : 200k thermistor - ATC Semitec 204GT-2 (1k pullup) + * 55 : 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) + * + * 1047 : Pt1000 with 4k7 pullup + * 1010 : Pt1000 with 1k pullup (non standard) + * 147 : Pt100 with 4k7 pullup + * 110 : Pt100 with 1k pullup (non standard) + * + * Use these for Testing or Development purposes. NEVER for production machine. + * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. + * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. + * + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + */ +#define TEMP_SENSOR_0 6 +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_3 0 +#define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_BED 501 +#define TEMP_SENSOR_CHAMBER 0 + +// Dummy thermistor constant temperature readings, for use with 998 and 999 +#define DUMMY_THERMISTOR_998_VALUE 25 +#define DUMMY_THERMISTOR_999_VALUE 100 + +// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings +// from the two sensors differ too much the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Extruder temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// Bed temperature must be close to target for this long before M190 returns success +#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) +#define TEMP_BED_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_BED_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define HEATER_3_MINTEMP 5 +#define HEATER_4_MINTEMP 5 +#define BED_MINTEMP 5 + +// When temperature exceeds max temp, your heater will be switched off. +// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! +// You should use MINTEMP for thermistor short/failure protection. +#define HEATER_0_MAXTEMP 275 +#define HEATER_1_MAXTEMP 275 +#define HEATER_2_MAXTEMP 275 +#define HEATER_3_MAXTEMP 275 +#define HEATER_4_MAXTEMP 275 +#define BED_MAXTEMP 130 + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#define PID_K1 0.95 // Smoothing factor within any PID loop +#if ENABLED(PIDTEMP) + //#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result. + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + + // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it + + // Ultimaker + #define DEFAULT_Kp 22.2 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114 + + // MakerGear + //#define DEFAULT_Kp 7.0 + //#define DEFAULT_Ki 0.1 + //#define DEFAULT_Kd 12 + + // Mendel Parts V9 on 12V + //#define DEFAULT_Kp 63.0 + //#define DEFAULT_Ki 2.25 + //#define DEFAULT_Kd 440 + +#endif // PIDTEMP + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== + +/** + * PID Bed Heating + * + * If this option is enabled set PID constants below. + * If this option is disabled, bang-bang will be used and BED_LIMIT_SWITCHING will enable hysteresis. + * + * The PID frequency will be the same as the extruder PWM. + * If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz, + * which is fine for driving a square wave into a resistive load and does not significantly + * impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W + * heater. If your configuration is significantly different than this and you don't understand + * the issues involved, don't use bed PID until someone else verifies that your hardware works. + */ +//#define PIDTEMPBED + +#define BED_LIMIT_SWITCHING + +/** + * Max Bed Power + * Applies to all forms of bed control (PID, bang-bang, and bang-bang with hysteresis). + * When set to any value below 255, enables a form of PWM to the bed that acts like a divider + * so don't use it unless you are OK with PWM on your bed. (See the comment on enabling PIDTEMPBED) + */ +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +#if ENABLED(PIDTEMPBED) + + //#define PID_BED_DEBUG // Sends debug data to the serial port. + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + + //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + //from pidautotune + //#define DEFAULT_bedKp 97.1 + //#define DEFAULT_bedKi 1.41 + //#define DEFAULT_bedKd 1675.16 + + // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + +// @section extruder + +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ +#define PREVENT_COLD_EXTRUSION +#define EXTRUDE_MINTEMP 170 + +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ +#define PREVENT_LENGTHY_EXTRUDE +#define EXTRUDE_MAXLENGTH 210 + +//=========================================================================== +//======================== Thermal Runaway Protection ======================= +//=========================================================================== + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * If you get "Thermal Runaway" or "Heating failed" errors the + * details can be tuned in Configuration_adv.h + */ + +#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders +#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed + +//=========================================================================== +//============================= Mechanical Settings ========================= +//=========================================================================== + +// @section machine + +// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics +// either in the usual order or reversed +//#define COREXY +//#define COREXZ +//#define COREYZ +//#define COREYX +//#define COREZX +//#define COREZY + +//=========================================================================== +//============================== Endstop Settings =========================== +//=========================================================================== + +// @section homing + +// Specify here all the endstop connectors that are connected to any endstop or probe. +// Almost all printers will be using one per axis. Probes will use one or more of the +// extra connectors. Leave undefined any used for non-endstop and non-probe purposes. +#define USE_XMIN_PLUG +#define USE_YMIN_PLUG +#define USE_ZMIN_PLUG +//#define USE_XMAX_PLUG +//#define USE_YMAX_PLUG +//#define USE_ZMAX_PLUG + +// Enable pullup for all endstops to prevent a floating state +#define ENDSTOPPULLUPS +#if DISABLED(ENDSTOPPULLUPS) + // Disable ENDSTOPPULLUPS to set pullups individually + //#define ENDSTOPPULLUP_XMAX + //#define ENDSTOPPULLUP_YMAX + //#define ENDSTOPPULLUP_ZMAX + //#define ENDSTOPPULLUP_XMIN + //#define ENDSTOPPULLUP_YMIN + //#define ENDSTOPPULLUP_ZMIN + //#define ENDSTOPPULLUP_ZMIN_PROBE +#endif + +// Enable pulldown for all endstops to prevent a floating state +//#define ENDSTOPPULLDOWNS +#if DISABLED(ENDSTOPPULLDOWNS) + // Disable ENDSTOPPULLDOWNS to set pulldowns individually + //#define ENDSTOPPULLDOWN_XMAX + //#define ENDSTOPPULLDOWN_YMAX + //#define ENDSTOPPULLDOWN_ZMAX + //#define ENDSTOPPULLDOWN_XMIN + //#define ENDSTOPPULLDOWN_YMIN + //#define ENDSTOPPULLDOWN_ZMIN + //#define ENDSTOPPULLDOWN_ZMIN_PROBE +#endif + +// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. + +// Enable this feature if all enabled endstop pins are interrupt-capable. +// This will remove the need to poll the interrupt pins, saving many CPU cycles. +//#define ENDSTOP_INTERRUPTS_FEATURE + +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + +//============================================================================= +//============================== Movement Settings ============================ +//============================================================================= +// @section motion + +/** + * Default Settings + * + * These settings can be reset by M502 + * + * Note that if EEPROM is enabled, saved values will override these. + */ + +/** + * With this option each E stepper can have its own factors for the + * following movement settings. If fewer factors are given than the + * total number of extruders, the last value applies to the rest. + */ +//#define DISTINCT_E_FACTORS + +/** + * Default Axis Steps Per Unit (steps/mm) + * Override with M92 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 400, 90 } + +/** + * Default Max Feed Rate (mm/s) + * Override with M203 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_MAX_FEEDRATE { 400, 400, 4, 50 } + +/** + * Default Max Acceleration (change/s) change = mm/s + * (Maximum start speed for accelerated moves) + * Override with M201 + * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + */ +#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 1500, 5000 } + +/** + * Default Acceleration (change/s) change = mm/s + * Override with M204 + * + * M204 P Acceleration + * M204 R Retract Acceleration + * M204 T Travel Acceleration + */ +#define DEFAULT_ACCELERATION 1000 // X, Y, Z and E acceleration for printing moves +#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts +#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves + +/** + * Default Jerk (mm/s) + * Override with M205 X Y Z E + * + * "Jerk" specifies the minimum speed change that requires acceleration. + * When changing speed and direction, if the difference is less than the + * value set here, it may happen instantaneously. + */ +#define DEFAULT_XJERK 15.0 +#define DEFAULT_YJERK 15.0 +#define DEFAULT_ZJERK 0.4 +#define DEFAULT_EJERK 5.0 + +/** + * S-Curve Acceleration + * + * This option eliminates vibration during printing by fitting a Bézier + * curve to move acceleration, producing much smoother direction changes. + * + * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained + */ +//#define S_CURVE_ACCELERATION + +//=========================================================================== +//============================= Z Probe Options ============================= +//=========================================================================== +// @section probes + +// +// See http://marlinfw.org/docs/configuration/probes.html +// + +/** + * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + * + * Enable this option for a probe connected to the Z Min endstop pin. + */ +#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN + +/** + * Z_MIN_PROBE_ENDSTOP + * + * Enable this option for a probe connected to any pin except Z-Min. + * (By default Marlin assumes the Z-Max endstop pin.) + * To use a custom Z Probe pin, set Z_MIN_PROBE_PIN below. + * + * - The simplest option is to use a free endstop connector. + * - Use 5V for powered (usually inductive) sensors. + * + * - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin: + * - For simple switches connect... + * - normally-closed switches to GND and D32. + * - normally-open switches to 5V and D32. + * + * WARNING: Setting the wrong pin may have unexpected and potentially + * disastrous consequences. Use with caution and do your homework. + * + */ +//#define Z_MIN_PROBE_ENDSTOP + +/** + * Probe Type + * + * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. + * Activate one of these to use Auto Bed Leveling below. + */ + +/** + * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. + * Use G29 repeatedly, adjusting the Z height at each point with movement commands + * or (with LCD_BED_LEVELING) the LCD controller. + */ +//#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 + +/** + * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. + * (e.g., an inductive probe or a nozzle-based probe-switch.) + */ +#define FIX_MOUNTED_PROBE + +/** + * Z Servo Probe, such as an endstop switch on a rotating arm. + */ +//#define Z_PROBE_SERVO_NR 0 // Defaults to SERVO 0 connector. +//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles + +/** + * The BLTouch probe uses a Hall effect sensor and emulates a servo. + */ +//#define BLTOUCH +#if ENABLED(BLTOUCH) + //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed +#endif + +/** + * Enable one or more of the following if probing seems unreliable. + * Heaters and/or fans can be disabled during probing to minimize electrical + * noise. A delay can also be added to allow noise and vibration to settle. + * These options are most useful for the BLTouch probe, but may also improve + * readings with inductive probes and piezo sensors. + */ +//#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif +//#define PROBING_FANS_OFF // Turn fans off when probing +//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors + +// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) +//#define SOLENOID_PROBE + +// A sled-mounted probe like those designed by Charles Bell. +//#define Z_PROBE_SLED +//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + +// +// For Z_PROBE_ALLEN_KEY see the Delta example configurations. +// + +/** + * Z Probe to nozzle (X,Y) offset, relative to (0, 0). + * X and Y offsets must be integers. + * + * In the following example the X and Y offsets are both positive: + * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 + * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 + * + * +-- BACK ---+ + * | | + * L | (+) P | R <-- probe (20,20) + * E | | I + * F | (-) N (+) | G <-- nozzle (10,10) + * T | | H + * | (-) | T + * | | + * O-- FRONT --+ + * (0,0) + */ +#define X_PROBE_OFFSET_FROM_EXTRUDER -32 // X offset: -left +right [of the nozzle] +#define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle] +#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.5 // Z offset: -below +above [the nozzle] + +// Certain types of probes need to stay away from edges +#define MIN_PROBE_EDGE 50 + +// X and Y axis travel speed (mm/m) between probes +#define XY_PROBE_SPEED 6000 + +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) +#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z + +// Feedrate (mm/m) for the "accurate" probe of each point +#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) + +// The number of probes to perform at each point. +// Set to 2 for a fast/slow probe, using the second probe result. +// Set to 3 or more for slow probes, averaging the results. +#define MULTIPLE_PROBING 2 + +/** + * Z probes require clearance when deploying, stowing, and moving between + * probe points to avoid hitting the bed and other hardware. + * Servo-mounted probes require extra space for the arm to rotate. + * Inductive probes need space to keep from triggering early. + * + * Use these settings to specify the distance (mm) to raise the probe (or + * lower the bed). The values set here apply over and above any (negative) + * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. + * Only integer values >= 1 are valid here. + * + * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. + * But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle. + */ +#define Z_CLEARANCE_DEPLOY_PROBE 5 // Z Clearance for Deploy/Stow +#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes +#define Z_AFTER_PROBING 5 // Z position after probing is done + +#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping + +// For M851 give a range for adjusting the Z probe offset +#define Z_PROBE_OFFSET_RANGE_MIN -20 +#define Z_PROBE_OFFSET_RANGE_MAX 20 + +// Enable the M48 repeatability test to test probe accuracy +//#define Z_MIN_PROBE_REPEATABILITY_TEST + +// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 +// :{ 0:'Low', 1:'High' } +#define X_ENABLE_ON 0 +#define Y_ENABLE_ON 0 +#define Z_ENABLE_ON 0 +#define E_ENABLE_ON 0 // For all extruders + +// Disables axis stepper immediately when it's not being used. +// WARNING: When motors turn off there is a chance of losing position accuracy! +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false +// Warn on display about possibly reduced accuracy +//#define DISABLE_REDUCED_ACCURACY_WARNING + +// @section extruder + +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER true // Keep only the active extruder enabled. + +// @section machine + +// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. +#define INVERT_X_DIR false +#define INVERT_Y_DIR false +#define INVERT_Z_DIR true + +// @section extruder + +// For direct drive extruder v9 set to true, for geared extruder set to false. +#define INVERT_E0_DIR false +#define INVERT_E1_DIR false +#define INVERT_E2_DIR false +#define INVERT_E3_DIR false +#define INVERT_E4_DIR false + +// @section homing + +//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed + +//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off. + +//#define Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ... + // Be sure you have this distance over your Z_MAX_POS in case. + +// Direction of endstops when homing; 1=MAX, -1=MIN +// :[-1,1] +#define X_HOME_DIR -1 +#define Y_HOME_DIR -1 +#define Z_HOME_DIR -1 + +// @section machine + +// The size of the print bed +#define X_BED_SIZE 220 +#define Y_BED_SIZE 220 + +// Tronxy X3A specific offsets +#define TRONXY_X_BED_OFFSET -17 +#define TRONXY_Y_BED_OFFSET -25 + +// Travel limits (mm) after homing, corresponding to endstop positions. +#define X_MIN_POS TRONXY_X_BED_OFFSET +#define Y_MIN_POS TRONXY_Y_BED_OFFSET +#define Z_MIN_POS 0 +#define X_MAX_POS X_BED_SIZE - (2 * TRONXY_X_BED_OFFSET) +#define Y_MAX_POS Y_BED_SIZE - (TRONXY_Y_BED_OFFSET + 5) +#define Z_MAX_POS 316 + +/** + * Software Endstops + * + * - Prevent moves outside the set machine bounds. + * - Individual axes can be disabled, if desired. + * - X and Y only apply to Cartesian robots. + * - Use 'M211' to set software endstops on/off or report current state + */ + +// Min software endstops constrain movement within minimum coordinate bounds +#define MIN_SOFTWARE_ENDSTOPS +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) + #define MIN_SOFTWARE_ENDSTOP_X + #define MIN_SOFTWARE_ENDSTOP_Y + #define MIN_SOFTWARE_ENDSTOP_Z +#endif + +// Max software endstops constrain movement within maximum coordinate bounds +#define MAX_SOFTWARE_ENDSTOPS +#if ENABLED(MAX_SOFTWARE_ENDSTOPS) + #define MAX_SOFTWARE_ENDSTOP_X + #define MAX_SOFTWARE_ENDSTOP_Y + #define MAX_SOFTWARE_ENDSTOP_Z +#endif + +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + +/** + * Filament Runout Sensors + * Mechanical or opto endstops are used to check for the presence of filament. + * + * RAMPS-based boards use SERVO3_PIN for the first runout sensor. + * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. + * By default the firmware assumes HIGH=FILAMENT PRESENT. + */ +//#define FILAMENT_RUNOUT_SENSOR +#if ENABLED(FILAMENT_RUNOUT_SENSOR) + #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. + #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. + //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. + #define FILAMENT_RUNOUT_SCRIPT "M600" +#endif + +//=========================================================================== +//=============================== Bed Leveling ============================== +//=========================================================================== +// @section calibrate + +/** + * Choose one of the options below to enable G29 Bed Leveling. The parameters + * and behavior of G29 will change depending on your selection. + * + * If using a Probe for Z Homing, enable Z_SAFE_HOMING also! + * + * - AUTO_BED_LEVELING_3POINT + * Probe 3 arbitrary points on the bed (that aren't collinear) + * You specify the XY coordinates of all 3 points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_LINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a single tilted plane. Best for a flat bed. + * + * - AUTO_BED_LEVELING_BILINEAR + * Probe several points in a grid. + * You specify the rectangle and the density of sample points. + * The result is a mesh, best for large or uneven beds. + * + * - AUTO_BED_LEVELING_UBL (Unified Bed Leveling) + * A comprehensive bed leveling system combining the features and benefits + * of other systems. UBL also includes integrated Mesh Generation, Mesh + * Validation and Mesh Editing systems. + * + * - MESH_BED_LEVELING + * Probe a grid manually + * The result is a mesh, suitable for large or uneven beds. (See BILINEAR.) + * For machines without a probe, Mesh Bed Leveling provides a method to perform + * leveling in steps so you can manually adjust the Z height at each grid-point. + * With an LCD controller the process is guided step-by-step. + */ +//#define AUTO_BED_LEVELING_3POINT +#define AUTO_BED_LEVELING_LINEAR +//#define AUTO_BED_LEVELING_BILINEAR +//#define AUTO_BED_LEVELING_UBL +//#define MESH_BED_LEVELING + +/** + * Normally G28 leaves leveling disabled on completion. Enable + * this option to have G28 restore the prior leveling state. + */ +//#define RESTORE_LEVELING_AFTER_G28 + +/** + * Enable detailed logging of G28, G29, M48, etc. + * Turn on with the command 'M111 S32'. + * NOTE: Requires a lot of PROGMEM! + */ +//#define DEBUG_LEVELING_FEATURE + +#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL) + // Gradually reduce leveling correction until a set height is reached, + // at which point movement will be level to the machine's XY plane. + // The height can be set with M420 Z + #define ENABLE_LEVELING_FADE_HEIGHT + + // For Cartesian machines, instead of dividing moves on mesh boundaries, + // split up moves into short segments like a Delta. This follows the + // contours of the bed more closely than edge-to-edge straight moves. + #define SEGMENT_LEVELED_MOVES + #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one) + + /** + * Enable the G26 Mesh Validation Pattern tool. + */ + //#define G26_MESH_VALIDATION + #if ENABLED(G26_MESH_VALIDATION) + #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. + #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool. + #define MESH_TEST_HOTEND_TEMP 205.0 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool. + #define MESH_TEST_BED_TEMP 60.0 // (°C) Default bed temperature for the G26 Mesh Validation Tool. + #endif + +#endif + +#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Set the number of grid points per dimension. + #define GRID_MAX_POINTS_X 3 + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + // Set the boundaries for probing (where the probe can reach). + //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE) + //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE + //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE) + + // Probe along the Y axis, advancing X after each column + //#define PROBE_Y_FIRST + + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + + // Beyond the probed grid, continue the implied tilt? + // Default is to maintain the height of the nearest edge. + //#define EXTRAPOLATE_BEYOND_GRID + + // + // Experimental Subdivision of the grid by Catmull-Rom method. + // Synthesizes intermediate points to produce a more detailed mesh. + // + //#define ABL_BILINEAR_SUBDIVISION + #if ENABLED(ABL_BILINEAR_SUBDIVISION) + // Number of subdivisions between probe points + #define BILINEAR_SUBDIVISIONS 3 + #endif + + #endif + +#elif ENABLED(AUTO_BED_LEVELING_UBL) + + //=========================================================================== + //========================= Unified Bed Leveling ============================ + //=========================================================================== + + //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh + + #define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle + #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 + + //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used + // as the Z-Height correction value. + +#elif ENABLED(MESH_BED_LEVELING) + + //=========================================================================== + //=================================== Mesh ================================== + //=========================================================================== + + #define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed + #define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited. + #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X + + //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS + +#endif // BED_LEVELING + +/** + * Points to probe for all 3-point Leveling procedures. + * Override if the automatically selected points are inadequate. + */ +#if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL) + //#define PROBE_PT_1_X 15 + //#define PROBE_PT_1_Y 180 + //#define PROBE_PT_2_X 15 + //#define PROBE_PT_2_Y 20 + //#define PROBE_PT_3_X 170 + //#define PROBE_PT_3_Y 20 +#endif + +/** + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. + */ +//#define LCD_BED_LEVELING + +#if ENABLED(LCD_BED_LEVELING) + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. + #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment +#endif + +// Add a menu item to move between bed corners for manual bed adjustment +//#define LEVEL_BED_CORNERS + +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + +/** + * Commands to execute at the end of G29 probing. + * Useful to retract or move the Z probe out of the way. + */ +//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" + + +// @section homing + +// The center of the bed is at (X=0, Y=0) +//#define BED_CENTER_AT_0_0 + +// Manually set the home position. Leave these undefined for automatic settings. +// For DELTA this is the top-center of the Cartesian print volume. +#define MANUAL_X_HOME_POS TRONXY_X_BED_OFFSET // The X3A has a standard X offset (17mm) between the left endstop and bed left bed edge +#define MANUAL_Y_HOME_POS TRONXY_Y_BED_OFFSET // The X3A has a standard Y offset (25mm) between the y endstop and the front bet edge +#define MANUAL_Z_HOME_POS 0 + +// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. +// +// With this feature enabled: +// +// - Allow Z homing only after X and Y homing AND stepper drivers still enabled. +// - If stepper drivers time out, it will need X and Y homing again before Z homing. +// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28). +// - Prevent Z homing when the Z probe is outside bed area. +// +#define Z_SAFE_HOMING + +#if ENABLED(Z_SAFE_HOMING) + #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28). +#endif + +// Homing speeds (mm/m) +#define HOMING_FEEDRATE_XY (100*60) +#define HOMING_FEEDRATE_Z (4*60) + +// @section calibrate + +/** + * Bed Skew Compensation + * + * This feature corrects for misalignment in the XYZ axes. + * + * Take the following steps to get the bed skew in the XY plane: + * 1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185) + * 2. For XY_DIAG_AC measure the diagonal A to C + * 3. For XY_DIAG_BD measure the diagonal B to D + * 4. For XY_SIDE_AD measure the edge A to D + * + * Marlin automatically computes skew factors from these measurements. + * Skew factors may also be computed and set manually: + * + * - Compute AB : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2 + * - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD))) + * + * If desired, follow the same procedure for XZ and YZ. + * Use these diagrams for reference: + * + * Y Z Z + * ^ B-------C ^ B-------C ^ B-------C + * | / / | / / | / / + * | / / | / / | / / + * | A-------D | A-------D | A-------D + * +-------------->X +-------------->X +-------------->Y + * XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR + */ +//#define SKEW_CORRECTION + +#if ENABLED(SKEW_CORRECTION) + // Input all length measurements here: + #define XY_DIAG_AC 282.8427124746 + #define XY_DIAG_BD 282.8427124746 + #define XY_SIDE_AD 200 + + // Or, set the default skew factors directly here + // to override the above measurements: + #define XY_SKEW_FACTOR 0.0 + + //#define SKEW_CORRECTION_FOR_Z + #if ENABLED(SKEW_CORRECTION_FOR_Z) + #define XZ_DIAG_AC 282.8427124746 + #define XZ_DIAG_BD 282.8427124746 + #define YZ_DIAG_AC 282.8427124746 + #define YZ_DIAG_BD 282.8427124746 + #define YZ_SIDE_AD 200 + #define XZ_SKEW_FACTOR 0.0 + #define YZ_SKEW_FACTOR 0.0 + #endif + + // Enable this option for M852 to set skew at runtime + //#define SKEW_CORRECTION_GCODE +#endif + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= + +// @section extras + +// +// EEPROM +// +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters in EEPROM +// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +// +#define EEPROM_SETTINGS // Enable for M500 and M501 commands +//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release! +//#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. + +// +// Host Keepalive +// +// When enabled Marlin will send a busy status message to the host +// every couple of seconds when it can't accept commands. +// +#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages +#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113. +#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating + +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // Add M100 (Free Memory Watcher) to debug memory usage + +// +// G20/G21 Inch mode support +// +//#define INCH_MODE_SUPPORT + +// +// M149 Set temperature units support +// +//#define TEMPERATURE_UNITS_SUPPORT + +// @section temperature + +// Preheat Constants +#define PREHEAT_1_TEMP_HOTEND 210 +#define PREHEAT_1_TEMP_BED 60 +#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 + +#define PREHEAT_2_TEMP_HOTEND 225 +#define PREHEAT_2_TEMP_BED 85 +#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 + +/** + * Nozzle Park + * + * Park the nozzle at the given XYZ position on idle or G27. + * + * The "P" parameter controls the action applied to the Z axis: + * + * P0 (Default) If Z is below park Z raise the nozzle. + * P1 Raise the nozzle always to Z-park height. + * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. + */ +//#define NOZZLE_PARK_FEATURE + +#if ENABLED(NOZZLE_PARK_FEATURE) + // Specify a park position as { X, Y, Z } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) +#endif + +/** + * Clean Nozzle Feature -- EXPERIMENTAL + * + * Adds the G12 command to perform a nozzle cleaning process. + * + * Parameters: + * P Pattern + * S Strokes / Repetitions + * T Triangles (P1 only) + * + * Patterns: + * P0 Straight line (default). This process requires a sponge type material + * at a fixed bed location. "S" specifies strokes (i.e. back-forth motions) + * between the start / end points. + * + * P1 Zig-zag pattern between (X0, Y0) and (X1, Y1), "T" specifies the + * number of zig-zag triangles to do. "S" defines the number of strokes. + * Zig-zags are done in whichever is the narrower dimension. + * For example, "G12 P1 S1 T3" will execute: + * + * -- + * | (X0, Y1) | /\ /\ /\ | (X1, Y1) + * | | / \ / \ / \ | + * A | | / \ / \ / \ | + * | | / \ / \ / \ | + * | (X0, Y0) | / \/ \/ \ | (X1, Y0) + * -- +--------------------------------+ + * |________|_________|_________| + * T1 T2 T3 + * + * P2 Circular pattern with middle at NOZZLE_CLEAN_CIRCLE_MIDDLE. + * "R" specifies the radius. "S" specifies the stroke count. + * Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT. + * + * Caveats: The ending Z should be the same as starting Z. + * Attention: EXPERIMENTAL. G-code arguments may change. + * + */ +//#define NOZZLE_CLEAN_FEATURE + +#if ENABLED(NOZZLE_CLEAN_FEATURE) + // Default number of pattern repetitions + #define NOZZLE_CLEAN_STROKES 12 + + // Default number of triangles + #define NOZZLE_CLEAN_TRIANGLES 3 + + // Specify positions as { X, Y, Z } + #define NOZZLE_CLEAN_START_POINT { 30, 30, (Z_MIN_POS + 1)} + #define NOZZLE_CLEAN_END_POINT {100, 60, (Z_MIN_POS + 1)} + + // Circular pattern radius + #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5 + // Circular pattern circle fragments number + #define NOZZLE_CLEAN_CIRCLE_FN 10 + // Middle point of circle + #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT + + // Moves the nozzle to the initial position + #define NOZZLE_CLEAN_GOBACK +#endif + +/** + * Print Job Timer + * + * Automatically start and stop the print job timer on M104/M109/M190. + * + * M104 (hotend, no wait) - high temp = none, low temp = stop timer + * M109 (hotend, wait) - high temp = start timer, low temp = stop timer + * M190 (bed, wait) - high temp = start timer, low temp = none + * + * The timer can also be controlled with the following commands: + * + * M75 - Start the print job timer + * M76 - Pause the print job timer + * M77 - Stop the print job timer + */ +#define PRINTJOB_TIMER_AUTOSTART + +/** + * Print Counter + * + * Track statistical data such as: + * + * - Total print jobs + * - Total successful print jobs + * - Total failed print jobs + * - Total time printing + * + * View the current statistics with M78. + */ +//#define PRINTCOUNTER + +//============================================================================= +//============================= LCD and SD support ============================ +//============================================================================= + +// @section lcd + +/** + * LCD LANGUAGE + * + * Select the language to display on the LCD. These languages are available: + * + * en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, + * gl, hr, it, jp-kana, nl, pl, pt, pt-br, ru, sk, + * tr, uk, zh_CN, zh_TW, 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 + +/** + * LCD Character Set + * + * Note: This option is NOT applicable to Graphical Displays. + * + * All character-based LCDs provide ASCII plus one of these + * language extensions: + * + * - JAPANESE ... the most common + * - WESTERN ... with more accented characters + * - CYRILLIC ... for the Russian language + * + * To determine the language extension installed on your controller: + * + * - Compile and upload with LCD_LANGUAGE set to 'test' + * - Click the controller to view the LCD menu + * - The LCD will display Japanese, Western, or Cyrillic text + * + * See http://marlinfw.org/docs/development/lcd_language.html + * + * :['JAPANESE', 'WESTERN', 'CYRILLIC'] + */ +#define DISPLAY_CHARSET_HD44780 JAPANESE + +/** + * SD CARD + * + * SD Card support is disabled by default. If your controller has an SD slot, + * you must uncomment the following option or it won't work. + * + */ +#define SDSUPPORT + +/** + * SD CARD: SPI SPEED + * + * Enable one of the following items for a slower SPI transfer speed. + * This may be required to resolve "volume init" errors. + */ +//#define SPI_SPEED SPI_HALF_SPEED +//#define SPI_SPEED SPI_QUARTER_SPEED +//#define SPI_SPEED SPI_EIGHTH_SPEED + +/** + * SD CARD: ENABLE CRC + * + * Use CRC checks and retries on the SD communication. + */ +//#define SD_CHECK_AND_RETRY + +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + +// +// ENCODER SETTINGS +// +// This option overrides the default number of encoder pulses needed to +// produce one step. Should be increased for high-resolution encoders. +// +//#define ENCODER_PULSES_PER_STEP 4 + +// +// Use this option to override the number of step signals required to +// move between next/prev menu items. +// +//#define ENCODER_STEPS_PER_MENU_ITEM 1 + +/** + * Encoder Direction Options + * + * Test your encoder's behavior first with both options disabled. + * + * Reversed Value Edit and Menu Nav? Enable REVERSE_ENCODER_DIRECTION. + * Reversed Menu Navigation only? Enable REVERSE_MENU_DIRECTION. + * Reversed Value Editing only? Enable BOTH options. + */ + +// +// This option reverses the encoder direction everywhere. +// +// Set this option if CLOCKWISE causes values to DECREASE +// +//#define REVERSE_ENCODER_DIRECTION + +// +// This option reverses the encoder direction for navigating LCD menus. +// +// If CLOCKWISE normally moves DOWN this makes it go UP. +// If CLOCKWISE normally moves UP this makes it go DOWN. +// +//#define REVERSE_MENU_DIRECTION + +// +// Individual Axis Homing +// +// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. +// +//#define INDIVIDUAL_AXIS_HOMING_MENU + +// +// SPEAKER/BUZZER +// +// If you have a speaker that can produce tones, enable it here. +// By default Marlin assumes you have a buzzer with a fixed frequency. +// +//#define SPEAKER + +// +// The duration and frequency for the UI feedback sound. +// Set these to 0 to disable audio feedback in the LCD menus. +// +// Note: Test audio output with the G-Code: +// M300 S P +// +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 +//#define LCD_FEEDBACK_FREQUENCY_HZ 5000 + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + +// +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +// +// Note: Usually sold with a white PCB. +// +//#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// +// Original RADDS LCD Display+Encoder+SDCardReader +// http://doku.radds.org/dokumentation/lcd-display/ +// +//#define RADDS_DISPLAY + +// +// ULTIMAKER Controller. +// +//#define ULTIMAKERCONTROLLER + +// +// ULTIPANEL as seen on Thingiverse. +// +//#define ULTIPANEL + +// +// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) +// http://reprap.org/wiki/PanelOne +// +//#define PANEL_ONE + +// +// GADGETS3D G3D LCD/SD Controller +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +// +// Note: Usually sold with a blue PCB. +// +//#define G3D_PANEL + +// +// RigidBot Panel V1.0 +// http://www.inventapart.com/ +// +//#define RIGIDBOT_PANEL + +// +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html +// +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 + +// +// ANET and Tronxy 20x4 Controller +// +#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. + // This LCD is known to be susceptible to electrical interference + // which scrambles the display. Pressing any button clears it up. + // This is a LCD2004 display with 5 analog buttons. + +// +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. +// +//#define ULTRA_LCD + +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= + +// +// CONTROLLER TYPE: I2C +// +// Note: These controllers require the installation of Arduino's LiquidCrystal_I2C +// library. For more info: https://github.com/kiyoshigawa/LiquidCrystal_I2C +// + +// +// Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// +//#define RA_CONTROL_PANEL + +// +// Sainsmart (YwRobot) LCD Displays +// +// These require F.Malpartida's LiquidCrystal_I2C library +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home +// +//#define LCD_SAINSMART_I2C_1602 +//#define LCD_SAINSMART_I2C_2004 + +// +// Generic LCM1602 LCD adapter +// +//#define LCM1602 + +// +// PANELOLU2 LCD with status LEDs, +// separate encoder and click inputs. +// +// Note: This controller requires Arduino's LiquidTWI2 library v1.2.3 or later. +// For more info: https://github.com/lincomatic/LiquidTWI2 +// +// Note: The PANELOLU2 encoder click input can either be directly connected to +// a pin (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). +// +//#define LCD_I2C_PANELOLU2 + +// +// Panucatt VIKI LCD with status LEDs, +// integrated click & L/R/U/D buttons, separate encoder inputs. +// +//#define LCD_I2C_VIKI + +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + +// +// SSD1306 OLED full graphics generic display +// +//#define U8GLIB_SSD1306 + +// +// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules +// +//#define SAV_3DGLCD +#if ENABLED(SAV_3DGLCD) + //#define U8GLIB_SSD1306 + #define U8GLIB_SH1106 +#endif + +// +// Original Ulticontroller from Ultimaker 2 printer with SSD1309 I2C display and encoder +// https://github.com/Ultimaker/Ultimaker2/tree/master/1249_Ulticontroller_Board_(x1) +// +//#define ULTI_CONTROLLER + +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + +// +// MKS MINI12864 with graphic controller and SD support +// http://reprap.org/wiki/MKS_MINI_12864 +// +//#define MKS_MINI_12864 + +// +// Factory display for Creality CR-10 +// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html +// +// This is RAMPS-compatible using a single 10-pin connector. +// (For CR-10 owners who want to replace the Melzi Creality board but retain the display) +// +//#define CR10_STOCKDISPLAY + +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + +// +// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER +// http://reprap.org/wiki/MKS_12864OLED +// +// Tiny, but very sharp OLED display +// +//#define MKS_12864OLED // Uses the SH1106 controller (default) +//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller + +// +// AZSMZ 12864 LCD with SD +// https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html +// +//#define AZSMZ_12864 + +// +// Silvergate GLCD controller +// http://github.com/android444/Silvergate +// +//#define SILVER_GATE_GLCD_CONTROLLER + +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + +//============================================================================= +//=============================== Extra Features ============================== +//============================================================================= + +// @section extras + +// Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not as annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can +// be used to mitigate the associated resolution loss. If enabled, +// some of the PWM cycles are stretched so on average the desired +// duty cycle is attained. +//#define SOFT_PWM_DITHER + +// Temperature status LEDs that display the hotend and bed temperature. +// If all hotends, bed temperature, and target temperature are under 54C +// then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) +//#define TEMP_STAT_LEDS + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +//#define PHOTOGRAPH_PIN 23 + +// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder +//#define BARICUDA + +// Support for BlinkM/CyzRgb +//#define BLINKM + +// Support for PCA9632 PWM LED driver +//#define PCA9632 + +/** + * RGB LED / LED Strip Control + * + * Enable support for an RGB LED connected to 5V digital pins, or + * an RGB Strip connected to MOSFETs controlled by digital pins. + * + * Adds the M150 command to set the LED (or LED strip) color. + * If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of + * luminance values can be set from 0 to 255. + * For Neopixel LED an overall brightness parameter is also available. + * + * *** CAUTION *** + * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * as the Arduino cannot handle the current the LEDs will require. + * Failure to follow this precaution can destroy your Arduino! + * NOTE: A separate 5V power supply is required! The Neopixel LED needs + * more current than the Arduino 5V linear regulator can produce. + * *** CAUTION *** + * + * LED Type. Enable only one of the following two options. + * + */ +//#define RGB_LED +//#define RGBW_LED + +#if ENABLED(RGB_LED) || ENABLED(RGBW_LED) + #define RGB_LED_R_PIN 34 + #define RGB_LED_G_PIN 43 + #define RGB_LED_B_PIN 35 + #define RGB_LED_W_PIN -1 +#endif + +// Support for Adafruit Neopixel LED driver +//#define NEOPIXEL_LED +#if ENABLED(NEOPIXEL_LED) + #define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h) + #define NEOPIXEL_PIN 4 // LED driving pin on motherboard 4 => D4 (EXP2-5 on Printrboard) / 30 => PC7 (EXP3-13 on Rumba) + #define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip + #define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once. + #define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255) + //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup +#endif + +/** + * Printer Event LEDs + * + * During printing, the LEDs will reflect the printer status: + * + * - Gradually change from blue to violet as the heated bed gets to target temp + * - Gradually change from violet to red as the hotend gets to temperature + * - Change to white to illuminate work surface + * - Change to green once print has finished + * - Turn off after the print has finished and the user has pushed a button + */ +#if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED) + #define PRINTER_EVENT_LEDS +#endif + +/** + * R/C SERVO support + * Sponsored by TrinityLabs, Reworked by codexmas + */ + +/** + * Number of servos + * + * For some servo-related options NUM_SERVOS will be set automatically. + * Set this manually if there are extra servos needing manual control. + * Leave undefined or set to 0 to entirely disable the servo subsystem. + */ +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle. +// 300ms is a good value but you can try less delay. +// If the servo can't reach the requested position, increase it. +#define SERVO_DELAY { 300 } + +// Servo deactivation +// +// With this option servos are powered only during movement, then turned off to prevent jitter. +//#define DEACTIVATE_SERVOS_AFTER_MOVE + +#endif // CONFIGURATION_H diff --git a/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h new file mode 100644 index 000000000000..8b72335a0d28 --- /dev/null +++ b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h @@ -0,0 +1,1683 @@ +/** + * 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 . + * + */ + +/** + * Configuration_adv.h + * + * Advanced settings. + * Only change these if you know exactly what you're doing. + * Some of these settings can damage your printer if improperly set! + * + * Basic settings can be found in Configuration.h + * + */ +#ifndef CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H_VERSION 020000 + +// @section temperature + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +// +// Hephestos 2 24V heated bed upgrade kit. +// https://store.bq.com/en/heated-bed-kit-hephestos2 +// +//#define HEPHESTOS2_HEATED_BED_KIT +#if ENABLED(HEPHESTOS2_HEATED_BED_KIT) + #undef TEMP_SENSOR_BED + #define TEMP_SENSOR_BED 70 + #define HEATER_BED_INVERTING true +#endif + +#if DISABLED(PIDTEMPBED) + #define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control + #if ENABLED(BED_LIMIT_SWITCHING) + #define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS + #endif +#endif + +/** + * Thermal Protection provides additional protection to your printer from damage + * and fire. Marlin always includes safe min and max temperature ranges which + * protect against a broken or disconnected thermistor wire. + * + * The issue: If a thermistor falls out, it will report the much lower + * temperature of the air in the room, and the the firmware will keep + * the heater on. + * + * The solution: Once the temperature reaches the target, start observing. + * If the temperature stays too far below the target (hysteresis) for too + * long (period), the firmware will halt the machine as a safety precaution. + * + * If you get false positives for "Thermal Runaway", increase + * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD + */ +#if ENABLED(THERMAL_PROTECTION_HOTENDS) + #define THERMAL_PROTECTION_PERIOD 40 // Seconds + #define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius + + /** + * Whenever an M104, M109, or M303 increases the target temperature, the + * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature + * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and + * requires a hard reset. This test restarts with any M104/M109/M303, but only + * if the current temperature is far enough below the target for a reliable + * test. + * + * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD + * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set + * below 2. + */ + #define WATCH_TEMP_PERIOD 40 // Seconds + #define WATCH_TEMP_INCREASE 10 // Degrees Celsius +#endif + +/** + * Thermal Protection parameters for the bed are just as above for hotends. + */ +#if ENABLED(THERMAL_PROTECTION_BED) + #define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 10 // Degrees Celsius + + /** + * As described above, except for the bed (M140/M190/M303). + */ + #define WATCH_BED_TEMP_PERIOD 60 // Seconds + #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius +#endif + +#if ENABLED(PIDTEMP) + // this adds an experimental additional term to the heating power, proportional to the extrusion speed. + // if Kc is chosen well, the additional required power due to increased melting should be compensated. + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) + #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) + #define LPQ_MAX_LEN 50 + #endif +#endif + +/** + * Automatic Temperature: + * The hotend target temperature is calculated by all the buffered lines of gcode. + * The maximum buffered steps/sec of the extruder motor is called "se". + * Start autotemp mode with M109 S B F + * The target temperature is set to mintemp+factor*se[steps/sec] and is limited by + * mintemp and maxtemp. Turn this off by executing M109 without F* + * Also, if the temperature is set to a value below mintemp, it will not be changed by autotemp. + * On an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode + */ +#define AUTOTEMP +#if ENABLED(AUTOTEMP) + #define AUTOTEMP_OLDWEIGHT 0.98 +#endif + +// Show extra position information in M114 +//#define M114_DETAIL + +// Show Temperature ADC value +// Enable for M105 to include ADC values read from temperature sensors. +//#define SHOW_TEMP_ADC_VALUES + +/** + * High Temperature Thermistor Support + * + * Thermistors able to support high temperature tend to have a hard time getting + * good readings at room and lower temperatures. This means HEATER_X_RAW_LO_TEMP + * will probably be caught when the heating element first turns on during the + * preheating process, which will trigger a min_temp_error as a safety measure + * and force stop everything. + * To circumvent this limitation, we allow for a preheat time (during which, + * min_temp_error won't be triggered) and add a min_temp buffer to handle + * aberrant readings. + * + * If you want to enable this feature for your hotend thermistor(s) + * uncomment and set values > 0 in the constants below + */ + +// The number of consecutive low temperature errors that can occur +// before a min_temp_error is triggered. (Shouldn't be more than 10.) +//#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0 + +// The number of milliseconds a hotend will preheat before starting to check +// the temperature. This value should NOT be set to the time it takes the +// hot end to reach the target temperature, but the time it takes to reach +// the minimum temperature your thermistor can read. The lower the better/safer. +// This shouldn't need to be more than 30 seconds (30000) +//#define MILLISECONDS_PREHEAT_TIME 0 + +// @section extruder + +// Extruder runout prevention. +// If the machine is idle and the temperature over MINTEMP +// then extrude some filament every couple of SECONDS. +//#define EXTRUDER_RUNOUT_PREVENT +#if ENABLED(EXTRUDER_RUNOUT_PREVENT) + #define EXTRUDER_RUNOUT_MINTEMP 190 + #define EXTRUDER_RUNOUT_SECONDS 30 + #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m + #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm +#endif + +// @section temperature + +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 + +/** + * Controller Fan + * To cool down the stepper drivers and MOSFETs. + * + * The fan will turn on automatically whenever any stepper is enabled + * and turn off after a set period after all steppers are turned off. + */ +//#define USE_CONTROLLER_FAN +#if ENABLED(USE_CONTROLLER_FAN) + //#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan + #define CONTROLLERFAN_SECS 60 // Duration in seconds for the fan to run after all motors are disabled + #define CONTROLLERFAN_SPEED 255 // 255 == full speed +#endif + +// When first starting the main fan, run it at full speed for the +// given number of milliseconds. This gets the fan spinning reliably +// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) +//#define FAN_KICKSTART_TIME 100 + +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ +//#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 + +// @section extruder + +/** + * Extruder cooling fans + * + * Extruder auto fans automatically turn on when their extruders' + * temperatures go above EXTRUDER_AUTO_FAN_TEMPERATURE. + * + * Your board's pins file specifies the recommended pins. Override those here + * or set to -1 to disable completely. + * + * Multiple extruders can be assigned to the same pin in which case + * the fan will turn on when any selected extruder is above the threshold. + */ +#define E0_AUTO_FAN_PIN -1 +#define E1_AUTO_FAN_PIN -1 +#define E2_AUTO_FAN_PIN -1 +#define E3_AUTO_FAN_PIN -1 +#define E4_AUTO_FAN_PIN -1 +#define CHAMBER_AUTO_FAN_PIN -1 +#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 +#define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed + +/** + * Part-Cooling Fan Multiplexer + * + * This feature allows you to digitally multiplex the fan output. + * The multiplexer is automatically switched at tool-change. + * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans. + */ +#define FANMUX0_PIN -1 +#define FANMUX1_PIN -1 +#define FANMUX2_PIN -1 + +/** + * M355 Case Light on-off / brightness + */ +//#define CASE_LIGHT_ENABLE +#if ENABLED(CASE_LIGHT_ENABLE) + //#define CASE_LIGHT_PIN 4 // Override the default pin if needed + #define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW + #define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on + #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105 // Set default power-up brightness (0-255, requires PWM pin) + //#define MENU_ITEM_CASE_LIGHT // Add a Case Light option to the LCD main menu + //#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED. + #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) + #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White } + #endif +#endif + +//=========================================================================== +//============================ Mechanical Settings ========================== +//=========================================================================== + +// @section homing + +// If you want endstops to stay on (by default) even when not homing +// enable this option. Override at any time with M120, M121. +//#define ENDSTOPS_ALWAYS_ON_DEFAULT + +// @section extras + +//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats. + +/** + * Dual Steppers / Dual Endstops + * + * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes. + * + * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to + * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop + * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug + * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'. + * + * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors + * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error + * in X2. Dual endstop offsets can be set at runtime with 'M666 X Y Z'. + */ + +//#define X_DUAL_STEPPER_DRIVERS +#if ENABLED(X_DUAL_STEPPER_DRIVERS) + #define INVERT_X2_VS_X_DIR true // Set 'true' if X motors should rotate in opposite directions + //#define X_DUAL_ENDSTOPS + #if ENABLED(X_DUAL_ENDSTOPS) + #define X2_USE_ENDSTOP _XMAX_ + #define X_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Y_DUAL_STEPPER_DRIVERS +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + #define INVERT_Y2_VS_Y_DIR true // Set 'true' if Y motors should rotate in opposite directions + //#define Y_DUAL_ENDSTOPS + #if ENABLED(Y_DUAL_ENDSTOPS) + #define Y2_USE_ENDSTOP _YMAX_ + #define Y_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +//#define Z_DUAL_STEPPER_DRIVERS +#if ENABLED(Z_DUAL_STEPPER_DRIVERS) + //#define Z_DUAL_ENDSTOPS + #if ENABLED(Z_DUAL_ENDSTOPS) + #define Z2_USE_ENDSTOP _XMAX_ + #define Z_DUAL_ENDSTOPS_ADJUSTMENT 0 + #endif +#endif + +// Enable this for dual x-carriage printers. +// A dual x-carriage design has the advantage that the inactive extruder can be parked which +// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage +// allowing faster printing speeds. Connect your X2 stepper to the first unused E plug. +//#define DUAL_X_CARRIAGE +#if ENABLED(DUAL_X_CARRIAGE) + // Configuration for second X-carriage + // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop; + // the second x-carriage always homes to the maximum endstop. + #define X2_MIN_POS 80 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage + #define X2_MAX_POS 353 // set maximum to the distance between toolheads when both heads are homed + #define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position + #define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position + // However: In this mode the HOTEND_OFFSET_X value for the second extruder provides a software + // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops + // without modifying the firmware (through the "M218 T1 X???" command). + // Remember: you should set the second extruder x-offset to 0 in your slicer. + + // There are a few selectable movement modes for dual x-carriages using M605 S + // Mode 0 (DXC_FULL_CONTROL_MODE): Full control. The slicer has full control over both x-carriages and can achieve optimal travel results + // as long as it supports dual x-carriages. (M605 S0) + // Mode 1 (DXC_AUTO_PARK_MODE) : Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so + // that additional slicer support is not required. (M605 S1) + // Mode 2 (DXC_DUPLICATION_MODE) : Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all + // actions of the first x-carriage. This allows the printer to print 2 arbitrary items at + // once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm]) + + // This is the default power-up mode which can be later using M605. + #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_FULL_CONTROL_MODE + + // Default settings in "Auto-park Mode" + #define TOOLCHANGE_PARK_ZLIFT 0.2 // the distance to raise Z axis when parking an extruder + #define TOOLCHANGE_UNPARK_ZLIFT 1 // the distance to raise Z axis when unparking an extruder + + // Default x offset in duplication mode (typically set to half print bed width) + #define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif // DUAL_X_CARRIAGE + +// Activate a solenoid on the active extruder with M380. Disable all with M381. +// Define SOL0_PIN, SOL1_PIN, etc., for each extruder that has a solenoid. +//#define EXT_SOLENOID + +// @section homing + +// Homing hits each endstop, retracts by these distances, then does a slower bump. +#define X_HOME_BUMP_MM 5 +#define Y_HOME_BUMP_MM 5 +#define Z_HOME_BUMP_MM 2 +#define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) +//#define QUICK_HOME // If homing includes X and Y, do a diagonal move initially + +// When G28 is called, this option will make Y home before X +//#define HOME_Y_BEFORE_X + +// Enable this if X or Y can't home without homing the other axis first. +//#define CODEPENDENT_XY_HOMING + +// @section machine + +#define AXIS_RELATIVE_MODES {false, false, false, false} + +// Allow duplication mode with a basic dual-nozzle extruder +//#define DUAL_NOZZLE_DUPLICATION_MODE + +// By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +// Default stepper release if idle. Set to 0 to deactivate. +// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. +// Time can be set by M18 and M84. +#define DEFAULT_STEPPER_DEACTIVE_TIME 120 +#define DISABLE_INACTIVE_X true +#define DISABLE_INACTIVE_Y true +#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_E true + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +//#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated + +// @section lcd + +#if ENABLED(ULTIPANEL) + #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel + #define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder +#endif + +// @section extras + +// minimum time in microseconds that a movement needs to take if the buffer is emptied. +#define DEFAULT_MINSEGMENTTIME 20000 + +// If defined the movements slow down when the look ahead buffer is only half full +#define SLOWDOWN + +// Frequency limit +// See nophead's blog for more info +// Not working O +//#define XY_FREQUENCY_LIMIT 15 + +// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end +// of the buffer and all stops. This should not be much greater than zero and should only be changed +// if unwanted behavior is observed on a user's machine when running at very slow speeds. +#define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) + +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] + +/** + * @section stepper motor current + * + * Some boards have a means of setting the stepper motor current via firmware. + * + * The power on motor currents are set by: + * PWM_MOTOR_CURRENT - used by MINIRAMBO & ULTIMAIN_2 + * known compatible chips: A4982 + * DIGIPOT_MOTOR_CURRENT - used by BQ_ZUM_MEGA_3D, RAMBO & SCOOVO_X9H + * known compatible chips: AD5206 + * DAC_MOTOR_CURRENT_DEFAULT - used by PRINTRBOARD_REVF & RIGIDBOARD_V2 + * known compatible chips: MCP4728 + * DIGIPOT_I2C_MOTOR_CURRENTS - used by 5DPRINT, AZTEEG_X3_PRO, MIGHTYBOARD_REVE + * known compatible chips: MCP4451, MCP4018 + * + * Motor currents can also be set by M907 - M910 and by the LCD. + * M907 - applies to all. + * M908 - BQ_ZUM_MEGA_3D, RAMBO, PRINTRBOARD_REVF, RIGIDBOARD_V2 & SCOOVO_X9H + * M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2 + */ +//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps +//#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) +//#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis + +// Use an I2C based DIGIPOT (e.g., Azteeg X3 Pro) +//#define DIGIPOT_I2C +#if ENABLED(DIGIPOT_I2C) && !defined(DIGIPOT_I2C_ADDRESS_A) + /** + * Common slave addresses: + * + * A (A shifted) B (B shifted) IC + * Smoothie 0x2C (0x58) 0x2D (0x5A) MCP4451 + * AZTEEG_X3_PRO 0x2C (0x58) 0x2E (0x5C) MCP4451 + * MIGHTYBOARD_REVE 0x2F (0x5E) MCP4018 + */ + #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT + #define DIGIPOT_I2C_ADDRESS_B 0x2D // unshifted slave address for second DIGIPOT +#endif + +//#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 +// Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. +// These correspond to the physical drivers, so be mindful if the order is changed. +#define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +#define ENCODER_RATE_MULTIPLIER // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly +#define ENCODER_10X_STEPS_PER_SEC 75 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value +#define ENCODER_100X_STEPS_PER_SEC 160 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value + +//#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ +#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again + +// @section lcd + +// Include a page of printer information in the LCD Main Menu +//#define LCD_INFO_MENU + +// Scroll a longer status message into view +//#define STATUS_MESSAGE_SCROLLING + +// On the Info Screen, display XY with one decimal place when possible +//#define LCD_DECIMAL_SMALL_XY + +// The timeout (in ms) to return to the status screen from sub-menus +//#define LCD_TIMEOUT_TO_STATUS 15000 + +// Add an 'M73' G-code to set the current percentage +//#define LCD_SET_PROGRESS_MANUALLY + +#if ENABLED(SDSUPPORT) || ENABLED(LCD_SET_PROGRESS_MANUALLY) + //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing + #if ENABLED(LCD_PROGRESS_BAR) + #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar + #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message + #define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever) + //#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it + //#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar + #endif +#endif // SDSUPPORT || LCD_SET_PROGRESS_MANUALLY + +/** + * LED Control Menu + * Enable this feature to add LED Control to the LCD menu + */ +//#define LED_CONTROL_MENU +#if ENABLED(LED_CONTROL_MENU) + #define LED_COLOR_PRESETS // Enable the Preset Color menu option + #if ENABLED(LED_COLOR_PRESETS) + #define LED_USER_PRESET_RED 255 // User defined RED value + #define LED_USER_PRESET_GREEN 128 // User defined GREEN value + #define LED_USER_PRESET_BLUE 0 // User defined BLUE value + #define LED_USER_PRESET_WHITE 255 // User defined WHITE value + #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity + //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup + #endif +#endif // LED_CONTROL_MENU + +#if ENABLED(SDSUPPORT) + + // Some RAMPS and other boards don't detect when an SD card is inserted. You can work + // around this by connecting a push button or single throw switch to the pin defined + // as SD_DETECT_PIN in your board's pins definitions. + // This setting should be disabled unless you are using a push button, pulling the pin to ground. + // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER). + #define SD_DETECT_INVERTED + + #define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished + #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place. + + // Reverse SD sort to show "more recent" files first, according to the card's FAT. + // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended. + #define SDCARD_RATHERRECENTFIRST + + // Add an option in the menu to run all auto#.g files + //#define MENU_ADDAUTOSTART + + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + + /** + * Sort SD file listings in alphabetical order. + * + * With this option enabled, items on SD cards will be sorted + * by name for easier navigation. + * + * By default... + * + * - Use the slowest -but safest- method for sorting. + * - Folders are sorted to the top. + * - The sort key is statically allocated. + * - No added G-code (M34) support. + * - 40 item sorting limit. (Items after the first 40 are unsorted.) + * + * SD sorting uses static allocation (as set by SDSORT_LIMIT), allowing the + * compiler to calculate the worst-case usage and throw an error if the SRAM + * limit is exceeded. + * + * - SDSORT_USES_RAM provides faster sorting via a static directory buffer. + * - SDSORT_USES_STACK does the same, but uses a local stack-based buffer. + * - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!) + * - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!) + */ + //#define SDCARD_SORT_ALPHA + + // SD Card Sorting options + #if ENABLED(SDCARD_SORT_ALPHA) + #define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256). Costs 27 bytes each. + #define FOLDER_SORTING -1 // -1=above 0=none 1=below + #define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 g-code. + #define SDSORT_USES_RAM false // Pre-allocate a static array for faster pre-sorting. + #define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.) + #define SDSORT_CACHE_NAMES false // Keep sorted items in RAM longer for speedy performance. Most expensive option. + #define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use! + #define SDSORT_CACHE_VFATS 2 // Maximum number of 13-byte VFAT entries to use for sorting. + // Note: Only affects SCROLL_LONG_FILENAMES with SDSORT_CACHE_NAMES but not SDSORT_DYNAMIC_RAM. + #endif + + // This allows hosts to request long names for files and folders with M33 + //#define LONG_FILENAME_HOST_SUPPORT + + // Enable this option to scroll long filenames in the SD card menu + //#define SCROLL_LONG_FILENAMES + + /** + * This option allows you to abort SD printing when any endstop is triggered. + * This feature must be enabled with "M540 S1" or from the LCD menu. + * To have any effect, endstops must be enabled during SD printing. + */ + //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + + /** + * This option makes it easier to print the same SD Card file again. + * On print completion the LCD Menu will open with the file selected. + * You can just click to start the print, or navigate elsewhere. + */ + //#define SD_REPRINT_LAST_SELECTED_FILE + + /** + * Auto-report SdCard status with M27 S + */ + //#define AUTO_REPORT_SD_STATUS + +#endif // SDSUPPORT + +/** + * Additional options for Graphical Displays + * + * Use the optimizations here to improve printing performance, + * which can be adversely affected by graphical display drawing, + * especially when doing several short moves, and when printing + * on DELTA and SCARA machines. + * + * Some of these options may result in the display lagging behind + * controller events, as there is a trade-off between reliable + * printing performance versus fast display updates. + */ +#if ENABLED(DOGLCD) + // Show SD percentage next to the progress bar + //#define DOGM_SD_PERCENT + + // Enable to save many cycles by drawing a hollow frame on the Info Screen + #define XYZ_HOLLOW_FRAME + + // Enable to save many cycles by drawing a hollow frame on Menu Screens + #define MENU_HOLLOW_FRAME + + // A bigger font is available for edit items. Costs 3120 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_BIG_EDIT_FONT + + // A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM. + // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. + //#define USE_SMALL_INFOFONT + + // Enable this option and reduce the value to optimize screen updates. + // The normal delay is 10µs. Use the lowest value that still gives a reliable display. + //#define DOGM_SPI_DELAY_US 5 + + // Swap the CW/CCW indicators in the graphics overlay + //#define OVERLAY_GFX_REVERSE + + #if ENABLED(U8GLIB_ST7920) + /** + * ST7920-based LCDs can emulate a 16 x 4 character display using + * the ST7920 character-generator for very fast screen updates. + * Enable LIGHTWEIGHT_UI to use this special display mode. + * + * Since LIGHTWEIGHT_UI has limited space, the position and status + * message occupy the same line. Set STATUS_EXPIRE_SECONDS to the + * length of time to display the status message before clearing. + * + * Set STATUS_EXPIRE_SECONDS to zero to never clear the status. + * This will prevent position updates from being displayed. + */ + //#define LIGHTWEIGHT_UI + #if ENABLED(LIGHTWEIGHT_UI) + #define STATUS_EXPIRE_SECONDS 20 + #endif + #endif + +#endif // DOGLCD + +// @section safety + +// The hardware watchdog should reset the microcontroller disabling all outputs, +// in case the firmware gets stuck and doesn't do temperature regulation. +#define USE_WATCHDOG + +#if ENABLED(USE_WATCHDOG) + // If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on. + // The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset. + // However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled. + //#define WATCHDOG_RESET_MANUAL +#endif + +// @section lcd + +/** + * Babystepping enables movement of the axes by tiny increments without changing + * the current position values. This feature is used primarily to adjust the Z + * axis in the first layer of a print in real-time. + * + * Warning: Does not respect endstops! + */ +//#define BABYSTEPPING +#if ENABLED(BABYSTEPPING) + //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! + #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way + #define BABYSTEP_MULTIPLICATOR 1 // Babysteps are very small. Increase for faster motion. + //#define BABYSTEP_ZPROBE_OFFSET // Enable to combine M851 and Babystepping + //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. + #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. + // Note: Extra time may be added to mitigate controller latency. + //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor +#endif + +// @section extruder + +/** + * Linear Pressure Control v1.5 + * + * Assumption: advance [steps] = k * (delta velocity [steps/s]) + * K=0 means advance disabled. + * + * NOTE: K values for LIN_ADVANCE 1.5 differ from earlier versions! + * + * Set K around 0.22 for 3mm PLA Direct Drive with ~6.5cm between the drive gear and heatbreak. + * Larger K values will be needed for flexible filament and greater distances. + * If this algorithm produces a higher speed offset than the extruder can handle (compared to E jerk) + * print acceleration will be reduced during the affected moves to keep within the limit. + * + * See http://marlinfw.org/docs/features/lin_advance.html for full instructions. + * Mention @Sebastianv650 on GitHub to alert the author of any issues. + */ +//#define LIN_ADVANCE +#if ENABLED(LIN_ADVANCE) + #define LIN_ADVANCE_K 0.22 // Unit: mm compression per 1mm/s extruder speed + //#define LA_DEBUG // If enabled, this will generate debug information output over USB. +#endif + +// @section leveling + +#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL) + // Override the mesh area if the automatic (max) area is too large + //#define MESH_MIN_X MESH_INSET + //#define MESH_MIN_Y MESH_INSET + //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET) + //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) +#endif + +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + +// @section extras + +// +// G2/G3 Arc Support +// +#define ARC_SUPPORT // Disable this feature to save ~3226 bytes +#if ENABLED(ARC_SUPPORT) + #define MM_PER_ARC_SEGMENT 1 // Length of each arc segment + #define N_ARC_CORRECTION 25 // Number of intertpolated segments between corrections + //#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles + //#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes +#endif + +// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes. +//#define BEZIER_CURVE_SUPPORT + +// G38.2 and G38.3 Probe Target +// Set MULTIPLE_PROBING if you want G38 to double touch +//#define G38_PROBE_TARGET +#if ENABLED(G38_PROBE_TARGET) + #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move) +#endif + +// Moves (or segments) with fewer steps than this will be joined with the next move +#define MIN_STEPS_PER_SEGMENT 6 + +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 + +// @section temperature + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//================================= Buffers ================================= +//=========================================================================== + +// @section hidden + +// The number of linear motions that can be in the plan at any give time. +// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering. +#if ENABLED(SDSUPPORT) + #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller +#else + #define BLOCK_BUFFER_SIZE 16 // maximize block buffer +#endif + +// @section serial + +// The ASCII buffer for serial input +#define MAX_CMD_SIZE 96 +#define BUFSIZE 4 + +// Transmission to Host Buffer Size +// To save 386 bytes of PROGMEM (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0. +// To buffer a simple "ok" you need 4 bytes. +// For ADVANCED_OK (M105) you need 32 bytes. +// For debug-echo: 128 bytes for the optimal speed. +// Other output doesn't need to be that speedy. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256] +#define TX_BUFFER_SIZE 0 + +// Host Receive Buffer Size +// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough. +// To use flow control, set this buffer size to at least 1024 bytes. +// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048] +//#define RX_BUFFER_SIZE 1024 + +#if RX_BUFFER_SIZE >= 1024 + // Enable to have the controller send XON/XOFF control characters to + // the host to signal the RX buffer is becoming full. + //#define SERIAL_XON_XOFF +#endif + +#if ENABLED(SDSUPPORT) + // Enable this option to collect and display the maximum + // RX queue usage after transferring a file to SD. + //#define SERIAL_STATS_MAX_RX_QUEUED + + // Enable this option to collect and display the number + // of dropped bytes after a file transfer to SD. + //#define SERIAL_STATS_DROPPED_RX +#endif + +// Enable an emergency-command parser to intercept certain commands as they +// enter the serial receive buffer, so they cannot be blocked. +// Currently handles M108, M112, M410 +// Does not work on boards using AT90USB (USBCON) processors! +//#define EMERGENCY_PARSER + +// Bad Serial-connections can miss a received command by sending an 'ok' +// Therefore some clients abort after 30 seconds in a timeout. +// Some other clients start sending commands while receiving a 'wait'. +// This "wait" is only sent when the buffer is empty. 1 second is a good value here. +//#define NO_TIMEOUTS 1000 // Milliseconds + +// Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. +//#define ADVANCED_OK + +// @section extras + +/** + * Firmware-based and LCD-controlled retract + * + * Add G10 / G11 commands for automatic firmware-based retract / recover. + * Use M207 and M208 to define parameters for retract / recover. + * + * Use M209 to enable or disable auto-retract. + * With auto-retract enabled, all G1 E moves within the set range + * will be converted to firmware-based retract/recover moves. + * + * Be sure to turn off auto-retract during filament change. + * + * Note that M207 / M208 / M209 settings are saved to EEPROM. + * + */ +//#define FWRETRACT // ONLY PARTIALLY TESTED +#if ENABLED(FWRETRACT) + #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over + #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion + #define RETRACT_LENGTH 3 // Default retract length (positive mm) + #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change + #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) + #define RETRACT_ZLIFT 0 // Default retract Z-lift + #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) + #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) + #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) + #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) +#endif + +/** + * Extra Fan Speed + * Adds a secondary fan speed for each print-cooling fan. + * 'M106 P T3-255' : Set a secondary speed for + * 'M106 P T2' : Use the set secondary speed + * 'M106 P T1' : Restore the previous fan speed + */ +//#define EXTRA_FAN_SPEED + +/** + * Advanced Pause + * Experimental feature for filament change support and for parking the nozzle when paused. + * Adds the GCode M600 for initiating filament change. + * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. + * + * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. + * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. + */ +//#define ADVANCED_PAUSE_FEATURE +#if ENABLED(ADVANCED_PAUSE_FEATURE) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) +#endif + +// @section tmc + +/** + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper + */ +#if HAS_DRIVER(TMC26X) + + #define X_MAX_CURRENT 1000 // in mA + #define X_SENSE_RESISTOR 91 // in mOhms + #define X_MICROSTEPS 16 // number of microsteps + + #define X2_MAX_CURRENT 1000 + #define X2_SENSE_RESISTOR 91 + #define X2_MICROSTEPS 16 + + #define Y_MAX_CURRENT 1000 + #define Y_SENSE_RESISTOR 91 + #define Y_MICROSTEPS 16 + + #define Y2_MAX_CURRENT 1000 + #define Y2_SENSE_RESISTOR 91 + #define Y2_MICROSTEPS 16 + + #define Z_MAX_CURRENT 1000 + #define Z_SENSE_RESISTOR 91 + #define Z_MICROSTEPS 16 + + #define Z2_MAX_CURRENT 1000 + #define Z2_SENSE_RESISTOR 91 + #define Z2_MICROSTEPS 16 + + #define E0_MAX_CURRENT 1000 + #define E0_SENSE_RESISTOR 91 + #define E0_MICROSTEPS 16 + + #define E1_MAX_CURRENT 1000 + #define E1_SENSE_RESISTOR 91 + #define E1_MICROSTEPS 16 + + #define E2_MAX_CURRENT 1000 + #define E2_SENSE_RESISTOR 91 + #define E2_MICROSTEPS 16 + + #define E3_MAX_CURRENT 1000 + #define E3_SENSE_RESISTOR 91 + #define E3_MICROSTEPS 16 + + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + +#endif // TMC26X + +// @section tmc_smart + +/** + * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to + * the hardware SPI interface on your board and define the required CS pins + * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). + * You may also use software SPI if you wish to use general purpose IO pins. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * To use the reading capabilities, also connect #_SERIAL_RX_PIN + * to PDN_UART without a resistor. + * The drivers can also be used with hardware serial. + * + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper + */ +#if HAS_TRINAMIC + + #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 + #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current + #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 + + #define X_CURRENT 800 // rms current in mA. Multiply by 1.41 for peak current. + #define X_MICROSTEPS 16 // 0..256 + + #define Y_CURRENT 800 + #define Y_MICROSTEPS 16 + + #define Z_CURRENT 800 + #define Z_MICROSTEPS 16 + + #define X2_CURRENT 800 + #define X2_MICROSTEPS 16 + + #define Y2_CURRENT 800 + #define Y2_MICROSTEPS 16 + + #define Z2_CURRENT 800 + #define Z2_MICROSTEPS 16 + + #define E0_CURRENT 800 + #define E0_MICROSTEPS 16 + + #define E1_CURRENT 800 + #define E1_MICROSTEPS 16 + + #define E2_CURRENT 800 + #define E2_MICROSTEPS 16 + + #define E3_CURRENT 800 + #define E3_MICROSTEPS 16 + + #define E4_CURRENT 800 + #define E4_MICROSTEPS 16 + + /** + * Use software SPI for TMC2130. + * The default SW SPI pins are defined the respective pins files, + * but you can override or define them here. + */ + //#define TMC_USE_SW_SPI + //#define TMC_SW_MOSI -1 + //#define TMC_SW_MISO -1 + //#define TMC_SW_SCK -1 + + /** + * Use Trinamic's ultra quiet stepping mode. + * When disabled, Marlin will use spreadCycle stepping mode. + */ + #define STEALTHCHOP + + /** + * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions, + * like overtemperature and short to ground. TMC2208 requires hardware serial. + * In the case of overtemperature Marlin can decrease the driver current until error condition clears. + * Other detected conditions can be used to stop the current print. + * Relevant g-codes: + * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. + * M911 - Report stepper driver overtemperature pre-warn condition. + * M912 - Clear stepper driver overtemperature pre-warn condition flag. + * M122 S0/1 - Report driver parameters (Requires TMC_DEBUG) + */ + //#define MONITOR_DRIVER_STATUS + + #if ENABLED(MONITOR_DRIVER_STATUS) + #define CURRENT_STEP_DOWN 50 // [mA] + #define REPORT_CURRENT_CHANGE + #define STOP_ON_ERROR + #endif + + /** + * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD. + * This mode allows for faster movements at the expense of higher noise levels. + * STEALTHCHOP needs to be enabled. + * M913 X/Y/Z/E to live tune the setting + */ + //#define HYBRID_THRESHOLD + + #define X_HYBRID_THRESHOLD 100 // [mm/s] + #define X2_HYBRID_THRESHOLD 100 + #define Y_HYBRID_THRESHOLD 100 + #define Y2_HYBRID_THRESHOLD 100 + #define Z_HYBRID_THRESHOLD 3 + #define Z2_HYBRID_THRESHOLD 3 + #define E0_HYBRID_THRESHOLD 30 + #define E1_HYBRID_THRESHOLD 30 + #define E2_HYBRID_THRESHOLD 30 + #define E3_HYBRID_THRESHOLD 30 + #define E4_HYBRID_THRESHOLD 30 + + /** + * Use stallGuard2 to sense an obstacle and trigger an endstop. + * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. + * X, Y, and Z homing will always be done in spreadCycle mode. + * + * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. + * Higher values make the system LESS sensitive. + * Lower value make the system MORE sensitive. + * Too low values can lead to false positives, while too high values will collide the axis without triggering. + * It is advised to set X/Y/Z_HOME_BUMP_MM to 0. + * M914 X/Y/Z to live tune the setting + */ + //#define SENSORLESS_HOMING // TMC2130 only + + #if ENABLED(SENSORLESS_HOMING) + #define X_HOMING_SENSITIVITY 8 + #define Y_HOMING_SENSITIVITY 8 + #define Z_HOMING_SENSITIVITY 8 + #endif + + /** + * Enable M122 debugging command for TMC stepper drivers. + * M122 S0/1 will enable continous reporting. + */ + //#define TMC_DEBUG + + /** + * M915 Z Axis Calibration + * + * - Adjust Z stepper current, + * - Drive the Z axis to its physical maximum, and + * - Home Z to account for the lost steps. + * + * Use M915 Snn to specify the current. + * Use M925 Znn to add extra Z height to Z_MAX_POS. + */ + //#define TMC_Z_CALIBRATION + #if ENABLED(TMC_Z_CALIBRATION) + #define CALIBRATION_CURRENT 250 + #define CALIBRATION_EXTRA_HEIGHT 10 + #endif + + /** + * You can set your own advanced settings by filling in predefined functions. + * A list of available functions can be found on the library github page + * https://github.com/teemuatlut/TMC2130Stepper + * https://github.com/teemuatlut/TMC2208Stepper + * + * Example: + * #define TMC_ADV() { \ + * stepperX.diag0_temp_prewarn(1); \ + * stepperY.interpolate(0); \ + * } + */ + #define TMC_ADV() { } + +#endif // TMC2130 || TMC2208 + +// @section L6470 + +/** + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 + */ +#if HAS_DRIVER(L6470) + + #define X_MICROSTEPS 16 // number of microsteps + #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off + #define X_STALLCURRENT 1500 // current in mA where the driver will detect a stall + + #define X2_MICROSTEPS 16 + #define X2_OVERCURRENT 2000 + #define X2_STALLCURRENT 1500 + + #define Y_MICROSTEPS 16 + #define Y_OVERCURRENT 2000 + #define Y_STALLCURRENT 1500 + + #define Y2_MICROSTEPS 16 + #define Y2_OVERCURRENT 2000 + #define Y2_STALLCURRENT 1500 + + #define Z_MICROSTEPS 16 + #define Z_OVERCURRENT 2000 + #define Z_STALLCURRENT 1500 + + #define Z2_MICROSTEPS 16 + #define Z2_OVERCURRENT 2000 + #define Z2_STALLCURRENT 1500 + + #define E0_MICROSTEPS 16 + #define E0_OVERCURRENT 2000 + #define E0_STALLCURRENT 1500 + + #define E1_MICROSTEPS 16 + #define E1_OVERCURRENT 2000 + #define E1_STALLCURRENT 1500 + + #define E2_MICROSTEPS 16 + #define E2_OVERCURRENT 2000 + #define E2_STALLCURRENT 1500 + + #define E3_MICROSTEPS 16 + #define E3_OVERCURRENT 2000 + #define E3_STALLCURRENT 1500 + + #define E4_MICROSTEPS 16 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + +#endif // L6470 + +/** + * TWI/I2C BUS + * + * This feature is an EXPERIMENTAL feature so it shall not be used on production + * machines. Enabling this will allow you to send and receive I2C data from slave + * devices on the bus. + * + * ; Example #1 + * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) + * ; It uses multiple M260 commands with one B arg + * M260 A99 ; Target slave address + * M260 B77 ; M + * M260 B97 ; a + * M260 B114 ; r + * M260 B108 ; l + * M260 B105 ; i + * M260 B110 ; n + * M260 S1 ; Send the current buffer + * + * ; Example #2 + * ; Request 6 bytes from slave device with address 0x63 (99) + * M261 A99 B5 + * + * ; Example #3 + * ; Example serial output of a M261 request + * echo:i2c-reply: from:99 bytes:5 data:hello + */ + +// @section i2cbus + +//#define EXPERIMENTAL_I2CBUS +#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave + +// @section extras + +/** + * Spindle & Laser control + * + * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and + * to set spindle speed, spindle direction, and laser power. + * + * SuperPid is a router/spindle speed controller used in the CNC milling community. + * Marlin can be used to turn the spindle on and off. It can also be used to set + * the spindle speed from 5,000 to 30,000 RPM. + * + * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V + * hardware PWM pin for the speed control and a pin for the rotation direction. + * + * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details. + */ +//#define SPINDLE_LASER_ENABLE +#if ENABLED(SPINDLE_LASER_ENABLE) + + #define SPINDLE_LASER_ENABLE_INVERT false // set to "true" if the on/off function is reversed + #define SPINDLE_LASER_PWM true // set to true if your controller supports setting the speed/power + #define SPINDLE_LASER_PWM_INVERT true // set to "true" if the speed/power goes up when you want it to go slower + #define SPINDLE_LASER_POWERUP_DELAY 5000 // delay in milliseconds to allow the spindle/laser to come up to speed/power + #define SPINDLE_LASER_POWERDOWN_DELAY 5000 // delay in milliseconds to allow the spindle to stop + #define SPINDLE_DIR_CHANGE true // set to true if your spindle controller supports changing spindle direction + #define SPINDLE_INVERT_DIR false + #define SPINDLE_STOP_ON_DIR_CHANGE true // set to true if Marlin should stop the spindle before changing rotation direction + + /** + * The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power + * + * SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT + * where PWM duty cycle varies from 0 to 255 + * + * set the following for your controller (ALL MUST BE SET) + */ + + #define SPEED_POWER_SLOPE 118.4 + #define SPEED_POWER_INTERCEPT 0 + #define SPEED_POWER_MIN 5000 + #define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM + + //#define SPEED_POWER_SLOPE 0.3922 + //#define SPEED_POWER_INTERCEPT 0 + //#define SPEED_POWER_MIN 10 + //#define SPEED_POWER_MAX 100 // 0-100% +#endif + +/** + * Filament Width Sensor + * + * Measures the filament width in real-time and adjusts + * flow rate to compensate for any irregularities. + * + * Also allows the measured filament diameter to set the + * extrusion rate, so the slicer only has to specify the + * volume. + * + * Only a single extruder is supported at this time. + * + * 34 RAMPS_14 : Analog input 5 on the AUX2 connector + * 81 PRINTRBOARD : Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 RAMBO : Analog input 3 + * + * Note: May require analog pins to be defined for other boards. + */ +//#define FILAMENT_WIDTH_SENSOR + +#if ENABLED(FILAMENT_WIDTH_SENSOR) + #define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor. :[0,1,2,3,4] + #define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber + + #define FILWIDTH_ERROR_MARGIN 1.0 // (mm) If a measurement differs too much from nominal width ignore it + #define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM. + + #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially + + // Display filament width on the LCD status line. Status messages will expire after 5 seconds. + //#define FILAMENT_LCD_DISPLAY +#endif + +/** + * CNC Coordinate Systems + * + * Enables G53 and G54-G59.3 commands to select coordinate systems + * and G92.1 to reset the workspace to native machine space. + */ +//#define CNC_COORDINATE_SYSTEMS + +/** + * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins + */ +//#define PINS_DEBUGGING + +/** + * Auto-report temperatures with M155 S + */ +#define AUTO_REPORT_TEMPERATURES + +/** + * Include capabilities in M115 output + */ +#define EXTENDED_CAPABILITIES_REPORT + +/** + * Disable all Volumetric extrusion options + */ +//#define NO_VOLUMETRICS + +#if DISABLED(NO_VOLUMETRICS) + /** + * Volumetric extrusion default state + * Activate to make volumetric extrusion the default method, + * with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter. + * + * M200 D0 to disable, M200 Dn to set a new diameter. + */ + //#define VOLUMETRIC_DEFAULT_ON +#endif + +/** + * Enable this option for a leaner build of Marlin that removes all + * workspace offsets, simplifying coordinate transformations, leveling, etc. + * + * - M206 and M428 are disabled. + * - G92 will revert to its behavior from Marlin 1.0. + */ +//#define NO_WORKSPACE_OFFSETS + +/** + * Set the number of proportional font spaces required to fill up a typical character space. + * This can help to better align the output of commands like `G29 O` Mesh Output. + * + * For clients that use a fixed-width font (like OctoPrint), leave this set to 1.0. + * Otherwise, adjust according to your client and font. + */ +#define PROPORTIONAL_FONT_RATIO 1.0 + +/** + * Spend 28 bytes of SRAM to optimize the GCode parser + */ +#define FASTER_GCODE_PARSER + +/** + * User-defined menu items that execute custom GCode + */ +//#define CUSTOM_USER_MENUS +#if ENABLED(CUSTOM_USER_MENUS) + #define USER_SCRIPT_DONE "M117 User Script Done" + #define USER_SCRIPT_AUDIBLE_FEEDBACK + //#define USER_SCRIPT_RETURN // Return to status screen after a script + + #define USER_DESC_1 "Home & UBL Info" + #define USER_GCODE_1 "G28\nG29 W" + + #define USER_DESC_2 "Preheat for PLA" + #define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) + + #define USER_DESC_3 "Preheat for ABS" + #define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) + + #define USER_DESC_4 "Heat Bed/Home/Level" + #define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29" + + #define USER_DESC_5 "Home & Info" + #define USER_GCODE_5 "G28\nM503" +#endif + +/** + * Specify an action command to send to the host when the printer is killed. + * Will be sent in the form '//action:ACTION_ON_KILL', e.g. '//action:poweroff'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_KILL "poweroff" + +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + +//=========================================================================== +//====================== I2C Position Encoder Settings ====================== +//=========================================================================== + +/** + * I2C position encoders for closed loop control. + * Developed by Chris Barr at Aus3D. + * + * Wiki: http://wiki.aus3d.com.au/Magnetic_Encoder + * Github: https://github.com/Aus3D/MagneticEncoder + * + * Supplier: http://aus3d.com.au/magnetic-encoder-module + * Alternative Supplier: http://reliabuild3d.com/ + * + * Reilabuild encoders have been modified to improve reliability. + */ + +//#define I2C_POSITION_ENCODERS +#if ENABLED(I2C_POSITION_ENCODERS) + + #define I2CPE_ENCODER_CNT 1 // The number of encoders installed; max of 5 + // encoders supported currently. + + #define I2CPE_ENC_1_ADDR I2CPE_PRESET_ADDR_X // I2C address of the encoder. 30-200. + #define I2CPE_ENC_1_AXIS X_AXIS // Axis the encoder module is installed on. _AXIS. + #define I2CPE_ENC_1_TYPE I2CPE_ENC_TYPE_LINEAR // Type of encoder: I2CPE_ENC_TYPE_LINEAR -or- + // I2CPE_ENC_TYPE_ROTARY. + #define I2CPE_ENC_1_TICKS_UNIT 2048 // 1024 for magnetic strips with 2mm poles; 2048 for + // 1mm poles. For linear encoders this is ticks / mm, + // for rotary encoders this is ticks / revolution. + //#define I2CPE_ENC_1_TICKS_REV (16 * 200) // Only needed for rotary encoders; number of stepper + // steps per full revolution (motor steps/rev * microstepping) + //#define I2CPE_ENC_1_INVERT // Invert the direction of axis travel. + #define I2CPE_ENC_1_EC_METHOD I2CPE_ECM_MICROSTEP // Type of error error correction. + #define I2CPE_ENC_1_EC_THRESH 0.10 // Threshold size for error (in mm) above which the + // printer will attempt to correct the error; errors + // smaller than this are ignored to minimize effects of + // measurement noise / latency (filter). + + #define I2CPE_ENC_2_ADDR I2CPE_PRESET_ADDR_Y // Same as above, but for encoder 2. + #define I2CPE_ENC_2_AXIS Y_AXIS + #define I2CPE_ENC_2_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_ENC_2_TICKS_UNIT 2048 + //#define I2CPE_ENC_2_TICKS_REV (16 * 200) + //#define I2CPE_ENC_2_INVERT + #define I2CPE_ENC_2_EC_METHOD I2CPE_ECM_MICROSTEP + #define I2CPE_ENC_2_EC_THRESH 0.10 + + #define I2CPE_ENC_3_ADDR I2CPE_PRESET_ADDR_Z // Encoder 3. Add additional configuration options + #define I2CPE_ENC_3_AXIS Z_AXIS // as above, or use defaults below. + + #define I2CPE_ENC_4_ADDR I2CPE_PRESET_ADDR_E // Encoder 4. + #define I2CPE_ENC_4_AXIS E_AXIS + + #define I2CPE_ENC_5_ADDR 34 // Encoder 5. + #define I2CPE_ENC_5_AXIS E_AXIS + + // Default settings for encoders which are enabled, but without settings configured above. + #define I2CPE_DEF_TYPE I2CPE_ENC_TYPE_LINEAR + #define I2CPE_DEF_ENC_TICKS_UNIT 2048 + #define I2CPE_DEF_TICKS_REV (16 * 200) + #define I2CPE_DEF_EC_METHOD I2CPE_ECM_NONE + #define I2CPE_DEF_EC_THRESH 0.1 + + //#define I2CPE_ERR_THRESH_ABORT 100.0 // Threshold size for error (in mm) error on any given + // axis after which the printer will abort. Comment out to + // disable abort behaviour. + + #define I2CPE_TIME_TRUSTED 10000 // After an encoder fault, there must be no further fault + // for this amount of time (in ms) before the encoder + // is trusted again. + + /** + * Position is checked every time a new command is executed from the buffer but during long moves, + * this setting determines the minimum update time between checks. A value of 100 works well with + * error rolling average when attempting to correct only for skips and not for vibration. + */ + #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks. + + // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. + #define I2CPE_ERR_ROLLING_AVERAGE + +#endif // I2C_POSITION_ENCODERS + +/** + * MAX7219 Debug Matrix + * + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. + */ +//#define MAX7219_DEBUG +#if ENABLED(MAX7219_DEBUG) + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 + + /** + * Sample debug features + * If you add more debug displays, be careful to avoid conflicts! + */ + #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row + + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row + // If you experience stuttering, reboots, etc. this option can reveal how + // tweaks made to the configuration are affecting the printer in real-time. +#endif + +/** + * NanoDLP Sync support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + */ +//#define NANODLP_Z_SYNC +#if ENABLED(NANODLP_Z_SYNC) + //#define NANODLP_ALL_AXIS // Enables "Z_move_comp" output on any axis move. + // Default behaviour is limited to Z axis only. +#endif + +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + +#endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Tronxy/X5S/Configuration.h b/Marlin/src/config/examples/Tronxy/X5S/Configuration.h index 291d7fdf955f..46ad95f9a01a 100644 --- a/Marlin/src/config/examples/Tronxy/X5S/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X5S/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 600 @@ -536,18 +543,35 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +640,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +699,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ #define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +729,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +775,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +802,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +841,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +904,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1086,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1099,11 @@ // Add a menu item to move between bed corners for manual bed adjustment #define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1100,8 +1134,8 @@ #define Z_SAFE_HOMING #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28). #endif // Homing speeds (mm/m) @@ -1343,11 +1377,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1408,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1434,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1507,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1542,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1550,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1557,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1625,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1722,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1742,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1770,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1857,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Tronxy/XY100/Configuration.h b/Marlin/src/config/examples/Tronxy/XY100/Configuration.h index 6fee980eb5ad..3d19372b3ca8 100644 --- a/Marlin/src/config/examples/Tronxy/XY100/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/XY100/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -457,15 +459,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -547,18 +554,58 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -627,15 +674,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -687,6 +733,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -716,6 +763,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -759,10 +809,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -786,6 +836,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -824,9 +875,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -890,6 +938,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1068,8 +1120,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1081,6 +1133,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1354,11 +1411,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1386,19 +1442,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1425,6 +1468,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1489,12 +1541,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1518,40 +1576,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1560,28 +1584,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1589,39 +1591,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // #define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1668,6 +1659,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1688,25 +1756,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1722,6 +1776,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1743,6 +1804,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1802,7 +1891,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h index c357c13a7ea4..34b0e60cfd3b 100644 --- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h +++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -544,10 +551,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE TMC2130 +#define Y_DRIVER_TYPE TMC2130 +#define Z_DRIVER_TYPE TMC2130 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE TMC2130 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +663,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +722,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +752,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +798,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +825,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +864,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +927,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1109,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1122,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1400,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1431,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1457,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1530,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1565,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1573,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1580,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1648,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1745,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1765,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1793,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1880,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h index 2988ceeb8dc0..cc818c17496d 100644 --- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h +++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration.h b/Marlin/src/config/examples/Velleman/K8200/Configuration.h index 0e92c34d36bf..97215c9b15cc 100644 --- a/Marlin/src/config/examples/Velleman/K8200/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8200/Configuration.h @@ -103,7 +103,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -130,7 +130,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -288,6 +288,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -297,6 +298,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -328,7 +330,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -476,15 +478,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -574,10 +581,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -645,15 +692,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -705,6 +751,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -734,6 +781,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -777,10 +827,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -804,6 +854,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -842,9 +893,6 @@ #define INVERT_Y_DIR false // K8200: false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -909,6 +957,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1087,8 +1139,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1100,6 +1152,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1376,11 +1433,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1408,19 +1464,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE // K8200: for Display VM8201 // this is the most common hardware -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1447,6 +1490,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1511,12 +1563,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1540,40 +1598,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1582,28 +1606,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1611,39 +1613,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1690,6 +1681,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1710,25 +1778,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1744,6 +1798,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1767,6 +1828,34 @@ #endif // K8200_VM8201 +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1826,7 +1915,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h index 2124fc4385b5..19da7a3e6221 100644 --- a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h @@ -195,10 +195,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -442,8 +444,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -485,7 +503,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -506,9 +524,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -568,6 +583,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -759,6 +788,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -785,10 +838,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -913,61 +1002,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1013,62 +1096,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1216,32 +1266,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1287,7 +1324,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1593,27 +1630,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1631,4 +1671,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration.h b/Marlin/src/config/examples/Velleman/K8400/Configuration.h index 4b4be502eb08..cf35acc3885f 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8400/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -548,6 +555,23 @@ // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +640,14 @@ #define DEFAULT_EJERK 20.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +699,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +729,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +775,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +802,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +841,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -844,11 +869,11 @@ // The size of the print bed #define X_BED_SIZE 200 -#define Y_BED_SIZE 200 +#define Y_BED_SIZE 180 // Travel limits (mm) after homing, corresponding to endstop positions. #define X_MIN_POS 0 -#define Y_MIN_POS 20 +#define Y_MIN_POS 0 #define Z_MIN_POS 0 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE @@ -879,6 +904,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1086,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1099,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1377,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1408,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1434,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1507,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1542,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1550,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1557,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1625,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1722,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1742,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1770,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1857,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs @@ -1801,13 +1867,14 @@ * LED Type. Enable only one of the following two options. * */ -//#define RGB_LED +//#define RGB_LED // Enable for the Velleman RGB LED Add-on. https://www.velleman.eu/products/view/?id=430100 //#define RGBW_LED #if ENABLED(RGB_LED) || ENABLED(RGBW_LED) - #define RGB_LED_R_PIN 34 - #define RGB_LED_G_PIN 43 - #define RGB_LED_B_PIN 35 + // Pin defines for the RGB LED Add-on. + #define RGB_LED_R_PIN 41 + #define RGB_LED_G_PIN 40 + #define RGB_LED_B_PIN 12 #define RGB_LED_W_PIN -1 #endif diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h index 49adb6a0ef32..0d189a84dbfc 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 5 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 600 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 100 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 5 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 600 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 100 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=18 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h b/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h index 03f4831fb065..d5dcea666e17 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 5 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -548,6 +555,23 @@ // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +640,14 @@ #define DEFAULT_EJERK 20.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +699,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +729,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +775,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +802,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +841,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -844,11 +869,11 @@ // The size of the print bed #define X_BED_SIZE 200 -#define Y_BED_SIZE 200 +#define Y_BED_SIZE 180 // Travel limits (mm) after homing, corresponding to endstop positions. #define X_MIN_POS 0 -#define Y_MIN_POS 20 +#define Y_MIN_POS 0 #define Z_MIN_POS 0 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE @@ -879,6 +904,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1086,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1099,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1377,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1408,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1434,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1507,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1507,40 +1542,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1550,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1557,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1625,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1722,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1742,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1770,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1857,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs @@ -1801,13 +1867,14 @@ * LED Type. Enable only one of the following two options. * */ -//#define RGB_LED +//#define RGB_LED // Enable for the Velleman RGB LED Add-on. https://www.velleman.eu/products/view/?id=430100 //#define RGBW_LED #if ENABLED(RGB_LED) || ENABLED(RGBW_LED) - #define RGB_LED_R_PIN 34 - #define RGB_LED_G_PIN 43 - #define RGB_LED_B_PIN 35 + // Pin defines for the RGB LED Add-on. + #define RGB_LED_R_PIN 41 + #define RGB_LED_G_PIN 40 + #define RGB_LED_B_PIN 12 #define RGB_LED_W_PIN -1 #endif diff --git a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h index 23ced8f3058b..e1fb3214d347 100644 --- a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h +++ b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 20 #define TEMP_SENSOR_1 0 @@ -456,15 +458,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -546,18 +553,58 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -626,15 +673,14 @@ #define DEFAULT_EJERK 1.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -686,6 +732,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -715,6 +762,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -758,10 +808,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -785,6 +835,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -823,9 +874,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -889,6 +937,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -909,7 +961,7 @@ //=========================================================================== //=============================== Bed Leveling ============================== //=========================================================================== -// @section bedlevel +// @section calibrate /** * Choose one of the options below to enable G29 Bed Leveling. The parameters @@ -1036,6 +1088,9 @@ #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 + //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used + // as the Z-Height correction value. + #elif ENABLED(MESH_BED_LEVELING) //=========================================================================== @@ -1064,8 +1119,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1077,6 +1132,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1350,11 +1410,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1382,19 +1441,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1421,6 +1467,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1485,12 +1540,18 @@ #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 5 #define LCD_FEEDBACK_FREQUENCY_HZ 1000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1514,40 +1575,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1556,28 +1583,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1585,39 +1590,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1664,6 +1658,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1687,25 +1758,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1721,6 +1778,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1742,6 +1806,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1801,7 +1893,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h index 48bc8b9f1817..6414c4fc96fb 100644 --- a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h +++ b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -474,7 +502,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -495,9 +523,6 @@ // Include a page of printer information in the LCD Main Menu #define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -557,6 +582,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -748,6 +787,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -774,10 +837,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -902,61 +1001,55 @@ */ #define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1002,62 +1095,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1205,32 +1265,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1276,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1582,27 +1629,28 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1620,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/adafruit/ST7565/Configuration.h b/Marlin/src/config/examples/adafruit/ST7565/Configuration.h index 02af2438bce2..a5b8763b118b 100644 --- a/Marlin/src/config/examples/adafruit/ST7565/Configuration.h +++ b/Marlin/src/config/examples/adafruit/ST7565/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -544,10 +551,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -616,15 +663,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -676,6 +722,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -705,6 +752,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -748,10 +798,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -775,6 +825,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -813,9 +864,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -879,6 +927,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1057,8 +1109,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1070,6 +1122,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1343,11 +1400,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1375,19 +1431,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1414,6 +1457,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1478,12 +1530,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1513,34 +1571,6 @@ // //#define MAKRPANEL -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1549,28 +1579,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1578,39 +1586,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1657,6 +1654,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1677,25 +1751,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1711,6 +1771,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1732,6 +1799,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1791,7 +1886,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h index 17e6d888f361..5b7a29d28e9e 100644 --- a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -456,15 +458,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 300 @@ -516,6 +523,9 @@ // and processor overload (too many expensive sqrt calls). #define DELTA_SEGMENTS_PER_SECOND 160 + // Convert feedrates to apply to the Effector instead of the Carriages + #define DELTA_FEEDRATE_SCALING + // After homing move down to a height where XY movement is unconstrained //#define DELTA_HOME_TO_SAFE_ZONE @@ -532,19 +542,13 @@ #if ENABLED(DELTA_AUTO_CALIBRATION) // set the default number of probe points : n*n (1 -> 7) #define DELTA_CALIBRATION_DEFAULT_POINTS 4 - - // Enable and set these values based on results of 'G33 A' - //#define H_FACTOR 1.01 - //#define R_FACTOR 2.61 - //#define A_FACTOR 0.87 - #endif #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU) - // Set the radius for the calibration probe points - max 0.9 * DELTA_PRINTABLE_RADIUS for non-eccentric probes + // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS for non-eccentric probes #define DELTA_CALIBRATION_RADIUS 73.5 // mm // Set the steprate for papertest probing - #define PROBE_MANUALLY_STEP 0.025 + #define PROBE_MANUALLY_STEP 0.05 // mm #endif // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). @@ -621,12 +625,29 @@ #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -653,7 +674,15 @@ * Override with M92 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 100 } // default steps per unit for Kossel (GT2, 20 tooth) +// variables to calculate steps +#define XYZ_FULL_STEPS_PER_ROTATION 200 +#define XYZ_MICROSTEPS 16 +#define XYZ_BELT_PITCH 2 +#define XYZ_PULLEY_TEETH 16 + +// delta speeds must be the same on xyz +#define DEFAULT_XYZ_STEPS_PER_UNIT ((XYZ_FULL_STEPS_PER_ROTATION) * (XYZ_MICROSTEPS) / double(XYZ_BELT_PITCH) / double(XYZ_PULLEY_TEETH)) +#define DEFAULT_AXIS_STEPS_PER_UNIT { DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, 100 } // default steps per unit for Kossel (GT2, 20 tooth) /** * Default Max Feed Rate (mm/s) @@ -696,15 +725,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -756,6 +784,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -785,6 +814,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -828,10 +860,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 5000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST) / 6 // The number of probes to perform at each point. @@ -905,6 +937,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 5 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 2 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 2 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -943,9 +976,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -1009,6 +1039,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1142,17 +1176,6 @@ #endif -#elif ENABLED(AUTO_BED_LEVELING_3POINT) - - // 3 arbitrary points to probe. - // A simple cross-product is used to estimate the plane of the bed. - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 - #elif ENABLED(AUTO_BED_LEVELING_UBL) //=========================================================================== @@ -1165,13 +1188,6 @@ #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 - #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 @@ -1206,8 +1222,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1219,6 +1235,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1382,7 +1403,7 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } - #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), 0, 20 } #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif @@ -1491,11 +1512,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1523,19 +1543,6 @@ */ #define DISPLAY_CHARSET_HD44780 WESTERN -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1562,6 +1569,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1627,12 +1643,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1656,40 +1678,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1698,28 +1686,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1727,39 +1693,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1806,6 +1761,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1826,25 +1858,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1860,6 +1878,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1881,6 +1906,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1940,7 +1993,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h index aa9f18e734fa..c33fe28ef127 100644 --- a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -431,8 +443,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -474,7 +502,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -495,9 +523,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -557,6 +582,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -748,6 +787,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -774,10 +837,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -902,61 +1001,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1002,62 +1095,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1205,32 +1265,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1276,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1582,27 +1629,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1620,4 +1670,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h index b63d1c595e29..f9cc2063f101 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -456,15 +458,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 300 @@ -516,6 +523,9 @@ // and processor overload (too many expensive sqrt calls). #define DELTA_SEGMENTS_PER_SECOND 160 + // Convert feedrates to apply to the Effector instead of the Carriages + #define DELTA_FEEDRATE_SCALING + // After homing move down to a height where XY movement is unconstrained //#define DELTA_HOME_TO_SAFE_ZONE @@ -532,19 +542,13 @@ #if ENABLED(DELTA_AUTO_CALIBRATION) // set the default number of probe points : n*n (1 -> 7) #define DELTA_CALIBRATION_DEFAULT_POINTS 7 - - // Enable and set these values based on results of 'G33 A' - //#define H_FACTOR 1.01 - //#define R_FACTOR 2.61 - //#define A_FACTOR 0.87 - #endif #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU) - // Set the radius for the calibration probe points - max 0.9 * DELTA_PRINTABLE_RADIUS for non-eccentric probes + // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS for non-eccentric probes #define DELTA_CALIBRATION_RADIUS 63 // mm // Set the steprate for papertest probing - #define PROBE_MANUALLY_STEP 0.025 + #define PROBE_MANUALLY_STEP 0.05 // mm #endif // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). @@ -621,12 +625,29 @@ #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. -#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. +#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -653,7 +674,15 @@ * Override with M92 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 100 } // default steps per unit for Kossel (GT2, 20 tooth) +// variables to calculate steps +#define XYZ_FULL_STEPS_PER_ROTATION 200 +#define XYZ_MICROSTEPS 16 +#define XYZ_BELT_PITCH 2 +#define XYZ_PULLEY_TEETH 16 + +// delta speeds must be the same on xyz +#define DEFAULT_XYZ_STEPS_PER_UNIT ((XYZ_FULL_STEPS_PER_ROTATION) * (XYZ_MICROSTEPS) / double(XYZ_BELT_PITCH) / double(XYZ_PULLEY_TEETH)) +#define DEFAULT_AXIS_STEPS_PER_UNIT { DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, 100 } // default steps per unit for Kossel (GT2, 20 tooth) /** * Default Max Feed Rate (mm/s) @@ -696,15 +725,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -756,6 +784,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -785,6 +814,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -828,10 +860,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 5000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST) / 6 // The number of probes to perform at each point. @@ -866,8 +898,7 @@ #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED #define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20 - // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 + #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED @@ -905,6 +936,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 5 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 2 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 2 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -943,9 +975,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -1009,6 +1038,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1188,8 +1221,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1201,6 +1234,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1364,7 +1402,7 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } - #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), 0, 20 } #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif @@ -1473,11 +1511,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1505,19 +1542,6 @@ */ #define DISPLAY_CHARSET_HD44780 WESTERN -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1544,6 +1568,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1609,12 +1642,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1638,40 +1677,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1680,28 +1685,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1709,39 +1692,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1788,6 +1760,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1808,25 +1857,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1842,6 +1877,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1863,6 +1905,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1922,7 +1992,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h index 76a91d0ddaa2..83ff604e7505 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -431,8 +443,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -474,7 +502,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -495,9 +523,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -557,6 +582,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -748,6 +787,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -774,10 +837,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -902,61 +1001,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1002,62 +1095,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1205,32 +1265,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1276,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1582,27 +1629,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1620,4 +1670,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h index f48ca4cfea31..369dd65ff8fc 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -456,15 +458,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 175 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 300 @@ -516,6 +523,9 @@ // and processor overload (too many expensive sqrt calls). #define DELTA_SEGMENTS_PER_SECOND 160 + // Convert feedrates to apply to the Effector instead of the Carriages + #define DELTA_FEEDRATE_SCALING + // After homing move down to a height where XY movement is unconstrained //#define DELTA_HOME_TO_SAFE_ZONE @@ -532,19 +542,13 @@ #if ENABLED(DELTA_AUTO_CALIBRATION) // set the default number of probe points : n*n (1 -> 7) #define DELTA_CALIBRATION_DEFAULT_POINTS 4 - - // Enable and set these values based on results of 'G33 A' - //#define H_FACTOR 1.01 - //#define R_FACTOR 2.61 - //#define A_FACTOR 0.87 - #endif #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU) - // Set the radius for the calibration probe points - max 0.9 * DELTA_PRINTABLE_RADIUS for non-eccentric probes + // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS for non-eccentric probes #define DELTA_CALIBRATION_RADIUS 73.5 // mm // Set the steprate for papertest probing - #define PROBE_MANUALLY_STEP 0.025 + #define PROBE_MANUALLY_STEP 0.05 // mm #endif // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). @@ -623,10 +627,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -653,7 +697,15 @@ * Override with M92 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 90 } // default steps per unit for Kossel (GT2, 20 tooth) +// variables to calculate steps +#define XYZ_FULL_STEPS_PER_ROTATION 200 +#define XYZ_MICROSTEPS 16 +#define XYZ_BELT_PITCH 2 +#define XYZ_PULLEY_TEETH 16 + +// delta speeds must be the same on xyz +#define DEFAULT_XYZ_STEPS_PER_UNIT ((XYZ_FULL_STEPS_PER_ROTATION) * (XYZ_MICROSTEPS) / double(XYZ_BELT_PITCH) / double(XYZ_PULLEY_TEETH)) +#define DEFAULT_AXIS_STEPS_PER_UNIT { DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, 90 } // default steps per unit for Kossel (GT2, 20 tooth) /** * Default Max Feed Rate (mm/s) @@ -696,15 +748,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -756,6 +807,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -785,6 +837,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -828,10 +883,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 2000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -866,8 +921,7 @@ #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED #define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20 - // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 + #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED @@ -905,6 +959,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 50 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -943,9 +998,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -1009,6 +1061,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1111,6 +1167,7 @@ #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR) // Set the number of grid points per dimension. + // Works best with 5 or more points in each dimension. #define GRID_MAX_POINTS_X 9 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X @@ -1187,8 +1244,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1200,6 +1257,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1363,7 +1425,7 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } - #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), 0, 20 } #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif @@ -1472,11 +1534,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1504,19 +1565,6 @@ */ #define DISPLAY_CHARSET_HD44780 WESTERN -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1543,6 +1591,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1607,12 +1664,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1636,40 +1699,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1678,28 +1707,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1707,39 +1714,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1786,6 +1782,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1806,25 +1879,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1840,6 +1899,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1861,6 +1927,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1920,7 +2014,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h index d85257726455..fe3b08ba6b5a 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -431,8 +443,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -474,7 +502,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -495,9 +523,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -557,6 +582,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -748,6 +787,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -774,10 +837,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -902,61 +1001,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1002,62 +1095,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1205,32 +1265,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1276,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1582,27 +1629,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1620,4 +1670,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h b/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h index 37d5c4236f5d..f9bb2a615f00 100644 --- a/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h +++ b/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h @@ -92,7 +92,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -119,7 +119,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -138,7 +138,7 @@ // The following define selects which electronics board you have. // Please choose the name from boards.h that matches your setup #ifndef MOTHERBOARD - #define MOTHERBOARD BOARD_MKS_13 + #define MOTHERBOARD BOARD_MKS_GEN_13 #endif // Optional custom name for your RepStrap or other custom machine @@ -273,6 +273,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -282,6 +283,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -313,7 +315,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -461,15 +463,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -521,6 +528,9 @@ // and processor overload (too many expensive sqrt calls). #define DELTA_SEGMENTS_PER_SECOND 200 + // Convert feedrates to apply to the Effector instead of the Carriages + #define DELTA_FEEDRATE_SCALING + // After homing move down to a height where XY movement is unconstrained //#define DELTA_HOME_TO_SAFE_ZONE @@ -537,19 +547,13 @@ #if ENABLED(DELTA_AUTO_CALIBRATION) // set the default number of probe points : n*n (1 -> 7) #define DELTA_CALIBRATION_DEFAULT_POINTS 4 - - // Enable and set these values based on results of 'G33 A' - //#define H_FACTOR 1.01 - //#define R_FACTOR 2.61 - //#define A_FACTOR 0.87 - #endif #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU) - // Set the radius for the calibration probe points - max 0.9 * DELTA_PRINTABLE_RADIUS for non-eccentric probes + // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS for non-eccentric probes #define DELTA_CALIBRATION_RADIUS 121.5 // mm // Set the steprate for papertest probing - #define PROBE_MANUALLY_STEP 0.025 + #define PROBE_MANUALLY_STEP 0.05 // mm #endif // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). @@ -632,6 +636,23 @@ // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -658,7 +679,15 @@ * Override with M92 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 95 } // default steps per unit for Kossel (GT2, 20 tooth) +// variables to calculate steps +#define XYZ_FULL_STEPS_PER_ROTATION 200 +#define XYZ_MICROSTEPS 16 +#define XYZ_BELT_PITCH 2 +#define XYZ_PULLEY_TEETH 16 + +// delta speeds must be the same on xyz +#define DEFAULT_XYZ_STEPS_PER_UNIT ((XYZ_FULL_STEPS_PER_ROTATION) * (XYZ_MICROSTEPS) / double(XYZ_BELT_PITCH) / double(XYZ_PULLEY_TEETH)) +#define DEFAULT_AXIS_STEPS_PER_UNIT { DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, 95 } // default steps per unit for Kossel (GT2, 20 tooth) /** * Default Max Feed Rate (mm/s) @@ -701,15 +730,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -761,6 +789,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -790,6 +819,9 @@ * readings with inductive probes and piezo sensors. */ #define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif #define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -833,10 +865,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 4000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST (HOMING_FEEDRATE_Z / 4) -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 4) // The number of probes to perform at each point. @@ -907,6 +939,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -945,9 +978,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -1011,6 +1041,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1144,17 +1178,6 @@ #endif -#elif ENABLED(AUTO_BED_LEVELING_3POINT) - - // 3 arbitrary points to probe. - // A simple cross-product is used to estimate the plane of the bed. - #define PROBE_PT_1_X -116 - #define PROBE_PT_1_Y -67.5 - #define PROBE_PT_2_X 116 - #define PROBE_PT_2_Y -67.5 - #define PROBE_PT_3_X 0 - #define PROBE_PT_3_Y 135 - #elif ENABLED(AUTO_BED_LEVELING_UBL) //=========================================================================== @@ -1192,17 +1215,17 @@ * Override if the automatically selected points are inadequate. */ #if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 + #define PROBE_PT_1_X -116 + #define PROBE_PT_1_Y -67.5 + #define PROBE_PT_2_X 116 + #define PROBE_PT_2_Y -67.5 + #define PROBE_PT_3_X 0 + #define PROBE_PT_3_Y 135 #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1214,6 +1237,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1377,7 +1405,7 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } - #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), 0, 20 } #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif @@ -1486,11 +1514,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1518,19 +1545,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1557,6 +1571,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1621,12 +1644,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1650,40 +1679,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1692,28 +1687,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1721,39 +1694,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1800,6 +1762,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1820,25 +1859,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1854,6 +1879,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1875,6 +1907,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1934,7 +1994,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/delta/generic/Configuration.h b/Marlin/src/config/examples/delta/generic/Configuration.h index e76648db323d..e6360aa25003 100644 --- a/Marlin/src/config/examples/delta/generic/Configuration.h +++ b/Marlin/src/config/examples/delta/generic/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 -1 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -506,6 +513,9 @@ // and processor overload (too many expensive sqrt calls). #define DELTA_SEGMENTS_PER_SECOND 200 + // Convert feedrates to apply to the Effector instead of the Carriages + #define DELTA_FEEDRATE_SCALING + // After homing move down to a height where XY movement is unconstrained //#define DELTA_HOME_TO_SAFE_ZONE @@ -522,19 +532,13 @@ #if ENABLED(DELTA_AUTO_CALIBRATION) // set the default number of probe points : n*n (1 -> 7) #define DELTA_CALIBRATION_DEFAULT_POINTS 4 - - // Enable and set these values based on results of 'G33 A' - //#define H_FACTOR 1.01 - //#define R_FACTOR 2.61 - //#define A_FACTOR 0.87 - #endif #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU) - // Set the radius for the calibration probe points - max 0.9 * DELTA_PRINTABLE_RADIUS for non-eccentric probes + // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS for non-eccentric probes #define DELTA_CALIBRATION_RADIUS 121.5 // mm // Set the steprate for papertest probing - #define PROBE_MANUALLY_STEP 0.025 + #define PROBE_MANUALLY_STEP 0.05 // mm #endif // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). @@ -617,6 +621,23 @@ // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -643,7 +664,15 @@ * Override with M92 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 80, 760*1.1 } // default steps per unit for Kossel (GT2, 20 tooth) +// variables to calculate steps +#define XYZ_FULL_STEPS_PER_ROTATION 200 +#define XYZ_MICROSTEPS 16 +#define XYZ_BELT_PITCH 2 +#define XYZ_PULLEY_TEETH 20 + +// delta speeds must be the same on xyz +#define DEFAULT_XYZ_STEPS_PER_UNIT ((XYZ_FULL_STEPS_PER_ROTATION) * (XYZ_MICROSTEPS) / double(XYZ_BELT_PITCH) / double(XYZ_PULLEY_TEETH)) +#define DEFAULT_AXIS_STEPS_PER_UNIT { DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, 760*1.1 } // default steps per unit for Kossel (GT2, 20 tooth) /** * Default Max Feed Rate (mm/s) @@ -686,15 +715,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -746,6 +774,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -775,6 +804,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -818,10 +850,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 4000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -892,6 +924,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -930,9 +963,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -996,6 +1026,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1175,8 +1209,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1188,6 +1222,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1351,7 +1390,7 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } - #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), 0, 20 } #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif @@ -1460,11 +1499,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1492,19 +1530,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1531,6 +1556,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1595,12 +1629,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1624,40 +1664,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1666,28 +1672,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1695,39 +1679,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1774,6 +1747,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1794,25 +1844,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1828,6 +1864,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1849,6 +1892,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1908,7 +1979,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/delta/generic/Configuration_adv.h b/Marlin/src/config/examples/delta/generic/Configuration_adv.h index d85257726455..fe3b08ba6b5a 100644 --- a/Marlin/src/config/examples/delta/generic/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/generic/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -431,8 +443,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -474,7 +502,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -495,9 +523,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -557,6 +582,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -748,6 +787,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -774,10 +837,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -902,61 +1001,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1002,62 +1095,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1205,32 +1265,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1276,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1582,27 +1629,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1620,4 +1670,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/delta/kossel_mini/Configuration.h b/Marlin/src/config/examples/delta/kossel_mini/Configuration.h index 93cf1a8c58bb..eed168e1846f 100644 --- a/Marlin/src/config/examples/delta/kossel_mini/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 7 #define TEMP_SENSOR_1 0 @@ -446,15 +448,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -506,6 +513,9 @@ // and processor overload (too many expensive sqrt calls). #define DELTA_SEGMENTS_PER_SECOND 200 + // Convert feedrates to apply to the Effector instead of the Carriages + #define DELTA_FEEDRATE_SCALING + // After homing move down to a height where XY movement is unconstrained //#define DELTA_HOME_TO_SAFE_ZONE @@ -522,19 +532,13 @@ #if ENABLED(DELTA_AUTO_CALIBRATION) // set the default number of probe points : n*n (1 -> 7) #define DELTA_CALIBRATION_DEFAULT_POINTS 4 - - // Enable and set these values based on results of 'G33 A' - //#define H_FACTOR 1.01 - //#define R_FACTOR 2.61 - //#define A_FACTOR 0.87 - #endif #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU) - // Set the radius for the calibration probe points - max 0.9 * DELTA_PRINTABLE_RADIUS for non-eccentric probes + // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS for non-eccentric probes #define DELTA_CALIBRATION_RADIUS 78.0 // mm // Set the steprate for papertest probing - #define PROBE_MANUALLY_STEP 0.025 + #define PROBE_MANUALLY_STEP 0.05 // mm #endif // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). @@ -613,10 +617,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -643,7 +687,15 @@ * Override with M92 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 80, 760*1.1 } // default steps per unit for Kossel (GT2, 20 tooth) +// variables to calculate steps +#define XYZ_FULL_STEPS_PER_ROTATION 200 +#define XYZ_MICROSTEPS 16 +#define XYZ_BELT_PITCH 2 +#define XYZ_PULLEY_TEETH 20 + +// delta speeds must be the same on xyz +#define DEFAULT_XYZ_STEPS_PER_UNIT ((XYZ_FULL_STEPS_PER_ROTATION) * (XYZ_MICROSTEPS) / double(XYZ_BELT_PITCH) / double(XYZ_PULLEY_TEETH)) +#define DEFAULT_AXIS_STEPS_PER_UNIT { DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, 760*1.1 } // default steps per unit for Kossel (GT2, 20 tooth) /** * Default Max Feed Rate (mm/s) @@ -686,15 +738,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -746,6 +797,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -775,6 +827,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -818,10 +873,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 4000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -856,8 +911,7 @@ #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED #define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20 - // Move the probe into position - #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 + #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0 #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0 #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED @@ -895,6 +949,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 50 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -933,9 +988,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -999,6 +1051,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1178,8 +1234,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1191,6 +1247,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1354,7 +1415,7 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } - #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), 0, 20 } #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif @@ -1463,11 +1524,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1495,19 +1555,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1534,6 +1581,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1598,12 +1654,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1627,40 +1689,6 @@ // #define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1669,28 +1697,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1698,39 +1704,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1777,6 +1772,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1797,25 +1869,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1831,6 +1889,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1852,6 +1917,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1911,7 +2004,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h index d85257726455..fe3b08ba6b5a 100644 --- a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -431,8 +443,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -474,7 +502,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -495,9 +523,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -557,6 +582,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -748,6 +787,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -774,10 +837,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -902,61 +1001,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1002,62 +1095,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1205,32 +1265,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1276,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1582,27 +1629,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1620,4 +1670,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/delta/kossel_pro/Configuration.h b/Marlin/src/config/examples/delta/kossel_pro/Configuration.h index f6ffad1c56ff..aad17a7c86c2 100644 --- a/Marlin/src/config/examples/delta/kossel_pro/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_pro/Configuration.h @@ -91,7 +91,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -118,7 +118,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -272,6 +272,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -281,6 +282,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -312,7 +314,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -432,15 +434,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -492,6 +499,9 @@ // and processor overload (too many expensive sqrt calls). #define DELTA_SEGMENTS_PER_SECOND 160 + // Convert feedrates to apply to the Effector instead of the Carriages + #define DELTA_FEEDRATE_SCALING + // After homing move down to a height where XY movement is unconstrained //#define DELTA_HOME_TO_SAFE_ZONE @@ -508,19 +518,13 @@ #if ENABLED(DELTA_AUTO_CALIBRATION) // set the default number of probe points : n*n (1 -> 7) #define DELTA_CALIBRATION_DEFAULT_POINTS 4 - - // Enable and set these values based on results of 'G33 A' - //#define H_FACTOR 1.01 - //#define R_FACTOR 2.61 - //#define A_FACTOR 0.87 - #endif #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU) - // Set the radius for the calibration probe points - max 0.9 * DELTA_PRINTABLE_RADIUS for non-eccentric probes + // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS for non-eccentric probes #define DELTA_CALIBRATION_RADIUS 110.0 // mm // Set the steprate for papertest probing - #define PROBE_MANUALLY_STEP 0.025 + #define PROBE_MANUALLY_STEP 0.05 // mm #endif // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). @@ -599,10 +603,50 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -636,7 +680,15 @@ * Override with M92 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { XYZ_STEPS, XYZ_STEPS, XYZ_STEPS, 184.8 } +// variables to calculate steps +#define XYZ_FULL_STEPS_PER_ROTATION 200 +#define XYZ_MICROSTEPS 32 +#define XYZ_BELT_PITCH 2 +#define XYZ_PULLEY_TEETH 20 + +// delta speeds must be the same on xyz +#define DEFAULT_XYZ_STEPS_PER_UNIT ((XYZ_FULL_STEPS_PER_ROTATION) * (XYZ_MICROSTEPS) / double(XYZ_BELT_PITCH) / double(XYZ_PULLEY_TEETH)) +#define DEFAULT_AXIS_STEPS_PER_UNIT { DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, 184.8 } // default steps per unit for Kossel (GT2, 20 tooth) /** * Default Max Feed Rate (mm/s) @@ -679,15 +731,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -739,6 +790,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -768,6 +820,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -814,10 +869,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -894,6 +949,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 100 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -933,9 +989,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -999,6 +1052,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1178,8 +1235,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1191,6 +1248,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1354,7 +1416,7 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } - #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), 0, 20 } #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif @@ -1463,11 +1525,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1495,19 +1556,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1534,6 +1582,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1598,12 +1655,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1627,40 +1690,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1669,28 +1698,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1698,39 +1705,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1777,6 +1773,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1797,25 +1870,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1831,6 +1890,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1852,6 +1918,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1911,7 +2005,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h index 8679bb32aa0c..8d771fe40c42 100644 --- a/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h @@ -187,10 +187,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -211,10 +213,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -436,8 +448,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -479,7 +507,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -500,9 +528,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -562,6 +587,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -753,6 +792,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -779,10 +842,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -907,61 +1006,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1007,62 +1100,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1210,32 +1270,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1281,7 +1328,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1587,27 +1634,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1625,4 +1675,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/delta/kossel_xl/Configuration.h b/Marlin/src/config/examples/delta/kossel_xl/Configuration.h index 4997a8aa14de..f68396106ca7 100644 --- a/Marlin/src/config/examples/delta/kossel_xl/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -450,15 +452,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -510,6 +517,9 @@ // and processor overload (too many expensive sqrt calls). #define DELTA_SEGMENTS_PER_SECOND 160 + // Convert feedrates to apply to the Effector instead of the Carriages + #define DELTA_FEEDRATE_SCALING + // After homing move down to a height where XY movement is unconstrained //#define DELTA_HOME_TO_SAFE_ZONE @@ -526,19 +536,13 @@ #if ENABLED(DELTA_AUTO_CALIBRATION) // set the default number of probe points : n*n (1 -> 7) #define DELTA_CALIBRATION_DEFAULT_POINTS 4 - - // Enable and set these values based on results of 'G33 A' - //#define H_FACTOR 1.01 - //#define R_FACTOR 2.61 - //#define A_FACTOR 0.87 - #endif #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU) - // Set the radius for the calibration probe points - max 0.9 * DELTA_PRINTABLE_RADIUS for non-eccentric probes + // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS for non-eccentric probes #define DELTA_CALIBRATION_RADIUS 121.5 // mm // Set the steprate for papertest probing - #define PROBE_MANUALLY_STEP 0.025 + #define PROBE_MANUALLY_STEP 0.05 // mm #endif // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). @@ -617,24 +621,55 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= // @section motion -// variables to calculate steps -#define XYZ_FULL_STEPS_PER_ROTATION 200 -#define XYZ_MICROSTEPS 16 -#define XYZ_BELT_PITCH 2 -#define XYZ_PULLEY_TEETH 16 - -// delta speeds must be the same on xyz -#define XYZ_STEPS (XYZ_FULL_STEPS_PER_ROTATION * XYZ_MICROSTEPS / double(XYZ_BELT_PITCH) / double(XYZ_PULLEY_TEETH)) - /** * Default Settings * @@ -655,7 +690,15 @@ * Override with M92 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { XYZ_STEPS, XYZ_STEPS, XYZ_STEPS, 158 } // default steps per unit for PowerWasp +// variables to calculate steps +#define XYZ_FULL_STEPS_PER_ROTATION 200 +#define XYZ_MICROSTEPS 16 +#define XYZ_BELT_PITCH 2 +#define XYZ_PULLEY_TEETH 16 + +// delta speeds must be the same on xyz +#define DEFAULT_XYZ_STEPS_PER_UNIT ((XYZ_FULL_STEPS_PER_ROTATION) * (XYZ_MICROSTEPS) / double(XYZ_BELT_PITCH) / double(XYZ_PULLEY_TEETH)) +#define DEFAULT_AXIS_STEPS_PER_UNIT { DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, 158 } // default steps per unit for PowerWasp /** * Default Max Feed Rate (mm/s) @@ -698,15 +741,14 @@ #define DEFAULT_EJERK 20.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -758,6 +800,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -787,6 +830,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -830,10 +876,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -904,6 +950,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 20 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 10 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 10 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -942,9 +989,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -1008,6 +1052,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1187,8 +1235,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1200,6 +1248,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1363,7 +1416,7 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } - #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), 0, 20 } #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif @@ -1472,11 +1525,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1504,19 +1556,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1543,6 +1582,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1607,12 +1655,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1636,40 +1690,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1678,28 +1698,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1707,39 +1705,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1786,6 +1773,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1806,25 +1870,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1840,6 +1890,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1861,6 +1918,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1920,7 +2005,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h index 90e6b273fdc0..78987d2a6b75 100644 --- a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -431,8 +443,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -474,7 +502,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -495,9 +523,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -557,6 +582,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -748,6 +787,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -774,10 +837,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -902,61 +1001,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1002,62 +1095,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1205,32 +1265,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1276,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1582,27 +1629,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1620,4 +1670,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h index 2391a686e6a2..d8a755e0113b 100644 --- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h +++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -273,6 +273,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -282,6 +283,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -313,7 +315,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -459,15 +461,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -557,9 +564,49 @@ #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. -#define ENDSTOP_INTERRUPTS_FEATURE +//#define ENDSTOP_INTERRUPTS_FEATURE + +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER //============================================================================= //============================== Movement Settings ============================ @@ -629,15 +676,14 @@ #define DEFAULT_EJERK 4.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -689,6 +735,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -718,6 +765,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -761,10 +811,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 7500 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -788,6 +838,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 6 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 6 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -826,9 +877,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -893,6 +941,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1037,13 +1089,6 @@ #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - #define PROBE_PT_1_X 53 // Probing points for 3-Point leveling of the mesh - #define PROBE_PT_1_Y 323 - #define PROBE_PT_2_X 53 - #define PROBE_PT_2_Y 63 - #define PROBE_PT_3_X 348 - #define PROBE_PT_3_Y 211 - #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 @@ -1069,17 +1114,17 @@ * Override if the automatically selected points are inadequate. */ #if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL) - //#define PROBE_PT_1_X 15 - //#define PROBE_PT_1_Y 180 - //#define PROBE_PT_2_X 15 - //#define PROBE_PT_2_Y 20 - //#define PROBE_PT_3_X 170 - //#define PROBE_PT_3_Y 20 + #define PROBE_PT_1_X 53 + #define PROBE_PT_1_Y 323 + #define PROBE_PT_2_X 53 + #define PROBE_PT_2_Y 63 + #define PROBE_PT_3_X 348 + #define PROBE_PT_3_Y 211 #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1091,6 +1136,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1364,11 +1414,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1396,19 +1445,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1435,6 +1471,15 @@ */ #define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1499,12 +1544,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1528,40 +1579,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1570,28 +1587,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1599,39 +1594,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1678,6 +1662,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1698,25 +1759,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1732,6 +1779,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1753,6 +1807,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1812,7 +1894,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h index d67bad7d7876..7f68f960ceeb 100644 --- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h +++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ #define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ #define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + #define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 2 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 180 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/makibox/Configuration.h b/Marlin/src/config/examples/makibox/Configuration.h index 0ec0b635c149..57ec8ee58808 100644 --- a/Marlin/src/config/examples/makibox/Configuration.h +++ b/Marlin/src/config/examples/makibox/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 @@ -449,15 +451,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -547,10 +554,50 @@ #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -619,15 +666,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -679,6 +725,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -708,6 +755,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -751,10 +801,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -778,6 +828,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -816,9 +867,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -882,6 +930,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1060,8 +1112,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1073,6 +1125,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1346,11 +1403,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1378,19 +1434,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1417,6 +1460,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1481,12 +1533,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1510,40 +1568,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1552,28 +1576,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1581,39 +1583,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1660,6 +1651,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1680,25 +1748,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1714,6 +1768,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1735,6 +1796,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1794,7 +1883,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/makibox/Configuration_adv.h b/Marlin/src/config/examples/makibox/Configuration_adv.h index 336ac91352f5..2c2fb3dab0e9 100644 --- a/Marlin/src/config/examples/makibox/Configuration_adv.h +++ b/Marlin/src/config/examples/makibox/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 4 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 4 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.7, 1.7, 1.7, 1.7 } // 5DPRINT @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/stm32f103ret6/Configuration.h b/Marlin/src/config/examples/stm32f103ret6/Configuration.h index d8dec87f8161..fb18c0721f18 100644 --- a/Marlin/src/config/examples/stm32f103ret6/Configuration.h +++ b/Marlin/src/config/examples/stm32f103ret6/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #warning temp_sensor set to 998/999 (fake) #define TEMP_SENSOR_0 999 @@ -447,15 +449,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -541,15 +548,55 @@ #define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. -#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -606,7 +653,7 @@ /** * Default Jerk (mm/s) - * Override with M205 X Y Z EM + * Override with M205 X Y Z E * * "Jerk" specifies the minimum speed change that requires acceleration. * When changing speed and direction, if the difference is less than the @@ -618,15 +665,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -678,6 +724,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -707,7 +754,11 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing +//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) //#define SOLENOID_PROBE @@ -749,10 +800,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -776,6 +827,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -814,9 +866,6 @@ #define INVERT_Y_DIR true #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -880,6 +929,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1058,8 +1111,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1071,6 +1124,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1197,7 +1255,7 @@ // // M100 Free Memory Watcher // -//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose +//#define M100_FREE_MEMORY_WATCHER // Add M100 (Free Memory Watcher) to debug memory usage // // G20/G21 Inch mode support @@ -1344,11 +1402,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1376,19 +1433,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1415,6 +1459,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1479,12 +1532,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1508,40 +1567,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1550,28 +1575,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1579,39 +1582,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1658,6 +1650,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1678,25 +1747,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1712,6 +1767,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1733,6 +1795,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1792,7 +1882,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration.h index f088255f4cab..dd59302c2ba3 100644 --- a/Marlin/src/config/examples/tvrrug/Round2/Configuration.h +++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 5 #define TEMP_SENSOR_1 0 @@ -435,15 +437,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -537,6 +544,23 @@ // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -611,15 +635,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -671,6 +694,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -700,6 +724,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -743,10 +770,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -770,6 +797,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -808,9 +836,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR true -// Enable this option for Toshiba stepper drivers -#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -874,6 +899,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1052,8 +1081,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1065,6 +1094,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1338,11 +1372,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1370,19 +1403,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1409,6 +1429,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1473,12 +1502,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1502,40 +1537,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1544,28 +1545,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1573,39 +1552,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1652,6 +1620,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1672,25 +1717,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1706,6 +1737,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1727,6 +1765,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1786,7 +1852,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h index 0703b8420af8..997bf647f51a 100644 --- a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -472,7 +500,7 @@ #endif //#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO @@ -493,9 +521,6 @@ // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -555,6 +580,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -746,6 +785,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -772,10 +835,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -900,61 +999,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1000,62 +1093,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1203,32 +1263,19 @@ * stepperY.interpolate(0); \ * } */ - #define TMC_ADV() { } + #define TMC_ADV() { } #endif // TMC2130 || TMC2208 // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1274,7 +1321,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1580,27 +1627,30 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=180 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1618,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/wt150/Configuration.h b/Marlin/src/config/examples/wt150/Configuration.h index 40efe5912df3..57b090552537 100644 --- a/Marlin/src/config/examples/wt150/Configuration.h +++ b/Marlin/src/config/examples/wt150/Configuration.h @@ -87,7 +87,7 @@ * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also - * respecfully request that you retain the unmodified Marlin boot screen. + * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. @@ -114,7 +114,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#define SERIAL_PORT_2 -1 +//#define SERIAL_PORT_2 -1 /** * This setting determines the communication speed of the printer. @@ -268,6 +268,7 @@ * * Temperature sensors available: * + * -4 : thermocouple with AD8495 * -3 : thermocouple with MAX31855 (only for sensor 0) * -2 : thermocouple with MAX6675 (only for sensor 0) * -1 : thermocouple with AD595 @@ -277,6 +278,7 @@ * 3 : Mendel-parts thermistor (4.7k pullup) * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup) + * 501 : 100K Zonestar (Tronxy X3A) Thermistor * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) * 71 : 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) @@ -308,7 +310,7 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. * - * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } + * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" } */ #define TEMP_SENSOR_0 -2 #define TEMP_SENSOR_1 0 @@ -451,15 +453,20 @@ // @section extruder -// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP. -// It also enables the M302 command to set the minimum extrusion temperature -// or to allow moving the extruder regardless of the hotend temperature. -// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** +/** + * Prevent extrusion if the temperature is below EXTRUDE_MINTEMP. + * Add M302 to set the minimum extrusion temperature and/or turn + * cold extrusion prevention on and off. + * + * *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** + */ #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 -// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. -// Note that for Bowden Extruders a too-small value here may prevent loading. +/** + * Prevent a single extrusion longer than EXTRUDE_MAXLENGTH. + * Note: For Bowden Extruders make this large enough to allow load/unload. + */ #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 200 @@ -541,18 +548,58 @@ #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). -#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. -#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. -#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. +#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. +/** + * Specify Stepper Driver types + * The options are used to determine driver pulse timings as well as more advanced functionality. + * Stepper timing options can be overridden in Configuration_adv.h + * + * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] + */ +#define X_DRIVER_TYPE A4988 +#define Y_DRIVER_TYPE A4988 +#define Z_DRIVER_TYPE A4988 +#define X2_DRIVER_TYPE A4988 +#define Y2_DRIVER_TYPE A4988 +#define Z2_DRIVER_TYPE A4988 +#define E0_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE A4988 +#define E2_DRIVER_TYPE A4988 +#define E3_DRIVER_TYPE A4988 +#define E4_DRIVER_TYPE A4988 + // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE +/** + * Endstop Noise Filter + * + * Enable this option if endstops falsely trigger due to noise. + * NOTE: Enabling this feature means adds an error of +/-0.2mm, so homing + * will end up at a slightly different position on each G28. This will also + * reduce accuracy of some bed probes. + * For mechanical switches, the better approach to reduce noise is to install + * a 100 nanofarads ceramic capacitor in parallel with the switch, making it + * essentially noise-proof without sacrificing accuracy. + * This option also increases MCU load when endstops or the probe are enabled. + * So this is not recommended. USE AT YOUR OWN RISK. + * (This feature is not required for common micro-switches mounted on PCBs + * based on the Makerbot design, since they already include the 100nF capacitor.) + */ +//#define ENDSTOP_NOISE_FILTER + //============================================================================= //============================== Movement Settings ============================ //============================================================================= @@ -621,15 +668,14 @@ #define DEFAULT_EJERK 5.0 /** - * Realtime Jerk Control + * S-Curve Acceleration * * This option eliminates vibration during printing by fitting a Bézier * curve to move acceleration, producing much smoother direction changes. - * Because this is computationally-intensive, a 32-bit MCU is required. * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -//#define BEZIER_JERK_CONTROL +//#define S_CURVE_ACCELERATION //=========================================================================== //============================= Z Probe Options ============================= @@ -681,6 +727,7 @@ * or (with LCD_BED_LEVELING) the LCD controller. */ //#define PROBE_MANUALLY +//#define MANUAL_PROBE_START_Z 0.2 /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -710,6 +757,9 @@ * readings with inductive probes and piezo sensors. */ //#define PROBING_HEATERS_OFF // Turn heaters off when probing +#if ENABLED(PROBING_HEATERS_OFF) + //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) +#endif //#define PROBING_FANS_OFF // Turn fans off when probing //#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors @@ -753,10 +803,10 @@ // X and Y axis travel speed (mm/m) between probes #define XY_PROBE_SPEED 8000 -// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Speed for the "accurate" probe of each point +// Feedrate (mm/m) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) // The number of probes to perform at each point. @@ -780,6 +830,7 @@ */ #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes //#define Z_AFTER_PROBING 5 // Z position after probing is done #define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping @@ -818,9 +869,6 @@ #define INVERT_Y_DIR false #define INVERT_Z_DIR false -// Enable this option for Toshiba stepper drivers -//#define CONFIG_STEPPERS_TOSHIBA - // @section extruder // For direct drive extruder v9 set to true, for geared extruder set to false. @@ -884,6 +932,10 @@ #define MAX_SOFTWARE_ENDSTOP_Z #endif +#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS) + //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD +#endif + /** * Filament Runout Sensors * Mechanical or opto endstops are used to check for the presence of filament. @@ -1062,8 +1114,8 @@ #endif /** - * Use the LCD controller for bed leveling - * Requires MESH_BED_LEVELING or PROBE_MANUALLY + * Add a bed leveling sub-menu for ABL or MBL. + * Include a guided procedure if manual probing is enabled. */ //#define LCD_BED_LEVELING @@ -1075,6 +1127,11 @@ // Add a menu item to move between bed corners for manual bed adjustment //#define LEVEL_BED_CORNERS +#if ENABLED(LEVEL_BED_CORNERS) + #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling + //#define LEVEL_CENTER_TOO // Move to the center after the last corner +#endif + /** * Commands to execute at the end of G29 probing. * Useful to retract or move the Z probe out of the way. @@ -1348,11 +1405,10 @@ * * 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, - * gl, hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, - * tr, uk, zh_CN, zh_TW, test + * en, an, bg, ca, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it, + * jp-kana, nl, pl, pt, pt-br, ru, sk, 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', '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 @@ -1380,19 +1436,6 @@ */ #define DISPLAY_CHARSET_HD44780 JAPANESE -/** - * LCD TYPE - * - * Enable ULTRA_LCD for a 16x2, 16x4, 20x2, or 20x4 character-based LCD. - * Enable DOGLCD for a 128x64 (ST7565R) Full Graphical Display. - * (These options will be enabled automatically for most displays.) - * - * IMPORTANT: The U8glib library is required for Full Graphic Display! - * https://github.com/olikraus/U8glib_Arduino - */ -//#define ULTRA_LCD // Character based -//#define DOGLCD // Full graphics display - /** * SD CARD * @@ -1419,6 +1462,15 @@ */ //#define SD_CHECK_AND_RETRY +/** + * LCD Menu Items + * + * Disable all menus and only display the Status Screen, or + * just remove some extraneous menu items to recover space. + */ +//#define NO_LCD_MENUS +//#define SLIM_LCD_MENUS + // // ENCODER SETTINGS // @@ -1483,12 +1535,18 @@ //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 +//============================================================================= +//======================== LCD / Controller Selection ========================= +//======================== (Character-based LCDs) ========================= +//============================================================================= + // -// CONTROLLER TYPE: Standard +// RepRapDiscount Smart Controller. +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // -// Marlin supports a wide variety of controllers. -// Enable one of the following options to specify your controller. +// Note: Usually sold with a white PCB. // +//#define REPRAP_DISCOUNT_SMART_CONTROLLER // // Original RADDS LCD Display+Encoder+SDCardReader @@ -1512,40 +1570,6 @@ // //#define PANEL_ONE -// -// MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel -// -//#define MAKRPANEL - -// -// ReprapWorld Graphical LCD -// https://reprapworld.com/?products_details&products_id/1218 -// -//#define REPRAPWORLD_GRAPHICAL_LCD - -// -// Activate one of these if you have a Panucatt Devices -// Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com -// -//#define VIKI2 -//#define miniVIKI - -// -// Adafruit ST7565 Full Graphic Controller. -// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ -// -//#define ELB_FULL_GRAPHIC_CONTROLLER - -// -// RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller -// -// Note: Usually sold with a white PCB. -// -//#define REPRAP_DISCOUNT_SMART_CONTROLLER - // // GADGETS3D G3D LCD/SD Controller // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel @@ -1554,28 +1578,6 @@ // //#define G3D_PANEL -// -// RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller -// -#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - -// -// MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel -// -//#define MINIPANEL - -// -// RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 -// -// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key -// is pressed, a value of 10.0 means 10mm per click. -// -//#define REPRAPWORLD_KEYPAD -//#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 - // // RigidBot Panel V1.0 // http://www.inventapart.com/ @@ -1583,39 +1585,28 @@ //#define RIGIDBOT_PANEL // -// BQ LCD Smart Controller shipped by -// default with the BQ Hephestos 2 and Witbox 2. -// -//#define BQ_LCD_SMART_CONTROLLER - -// -// Cartesio UI -// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller +// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html // -//#define CARTESIO_UI +//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 // -// ANET and Tronxy Controller supported displays. +// ANET and Tronxy 20x4 Controller // //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. // This LCD is known to be susceptible to electrical interference // which scrambles the display. Pressing any button clears it up. // This is a LCD2004 display with 5 analog buttons. -//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 - // A clone of the RepRapDiscount full graphics display but with - // different pins/wiring (see pins_ANET_10.h). - // -// LCD for Melzi Card with Graphical LCD +// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // -//#define LCD_FOR_MELZI +//#define ULTRA_LCD -// -// LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled -// -//#define MALYAN_LCD +//============================================================================= +//======================== LCD / Controller Selection ========================= +//===================== (I2C and Shift-Register LCDs) ===================== +//============================================================================= // // CONTROLLER TYPE: I2C @@ -1662,6 +1653,83 @@ // //#define LCD_I2C_VIKI +// +// CONTROLLER TYPE: Shift register panels +// + +// +// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH +// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// +//#define SAV_3DLCD + +//============================================================================= +//======================= LCD / Controller Selection ======================= +//========================= (Graphical LCDs) ======================== +//============================================================================= + +// +// CONTROLLER TYPE: Graphical 128x64 (DOGM) +// +// IMPORTANT: The U8glib library is required for Graphical Display! +// https://github.com/olikraus/U8glib_Arduino +// + +// +// RepRapDiscount FULL GRAPHIC Smart Controller +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + +// +// Activate one of these if you have a Panucatt Devices +// Viki 2.0 or mini Viki with Graphic LCD +// http://panucatt.com +// +//#define VIKI2 +//#define miniVIKI + +// +// MakerLab Mini Panel with graphic +// controller and SD support - http://reprap.org/wiki/Mini_panel +// +//#define MINIPANEL + +// +// MaKr3d Makr-Panel with graphic controller and SD support. +// http://reprap.org/wiki/MaKr3d_MaKrPanel +// +//#define MAKRPANEL + +// +// Adafruit ST7565 Full Graphic Controller. +// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +//#define ELB_FULL_GRAPHIC_CONTROLLER + +// +// BQ LCD Smart Controller shipped by +// default with the BQ Hephestos 2 and Witbox 2. +// +//#define BQ_LCD_SMART_CONTROLLER + +// +// Cartesio UI +// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface +// +//#define CARTESIO_UI + +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // SSD1306 OLED full graphics generic display // @@ -1682,25 +1750,11 @@ // //#define ULTI_CONTROLLER -// -// CONTROLLER TYPE: Shift register panels -// -// 2 wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD -// -//#define SAV_3DLCD - // // TinyBoy2 128x64 OLED / Encoder Panel // //#define OLED_PANEL_TINYBOY2 -// -// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller -// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html -// -//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 - // // MKS MINI12864 with graphic controller and SD support // http://reprap.org/wiki/MKS_MINI_12864 @@ -1716,6 +1770,13 @@ // //#define CR10_STOCKDISPLAY +// +// ANET and Tronxy Graphical Controller +// +//#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 + // A clone of the RepRapDiscount full graphics display but with + // different pins/wiring (see pins_ANET_10.h). + // // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER // http://reprap.org/wiki/MKS_12864OLED @@ -1737,6 +1798,34 @@ // //#define SILVER_GATE_GLCD_CONTROLLER +//============================================================================= +//============================ Other Controllers ============================ +//============================================================================= + +// +// CONTROLLER TYPE: Standalone / Serial +// + +// +// LCD for Malyan M200 printers. +// This requires SDSUPPORT to be enabled +// +//#define MALYAN_LCD + +// +// CONTROLLER TYPE: Keypad / Add-on +// + +// +// RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// +// REPRAPWORLD_KEYPAD_MOVE_STEP sets how much should the robot move when a key +// is pressed, a value of 10.0 means 10mm per click. +// +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= @@ -1796,7 +1885,7 @@ * For Neopixel LED an overall brightness parameter is also available. * * *** CAUTION *** - * LED Strips require a MOFSET Chip between PWM lines and LEDs, + * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! * NOTE: A separate 5V power supply is required! The Neopixel LED needs diff --git a/Marlin/src/config/examples/wt150/Configuration_adv.h b/Marlin/src/config/examples/wt150/Configuration_adv.h index c7150b848e1d..5b0ce763a3d8 100644 --- a/Marlin/src/config/examples/wt150/Configuration_adv.h +++ b/Marlin/src/config/examples/wt150/Configuration_adv.h @@ -182,10 +182,12 @@ // @section temperature -//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements. -//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET" -#define TEMP_SENSOR_AD595_OFFSET 0.0 -#define TEMP_SENSOR_AD595_GAIN 1.0 +// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. +// The final temperature is calculated as (measuredTemp * GAIN) + OFFSET. +#define TEMP_SENSOR_AD595_OFFSET 0.0 +#define TEMP_SENSOR_AD595_GAIN 1.0 +#define TEMP_SENSOR_AD8495_OFFSET 0.0 +#define TEMP_SENSOR_AD8495_GAIN 1.0 /** * Controller Fan @@ -206,10 +208,20 @@ // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) //#define FAN_KICKSTART_TIME 100 -// This defines the minimal speed for the main fan, run in PWM mode -// to enable uncomment and set minimal PWM speed for reliable running (1-255) -// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM +/** + * PWM Fan Scaling + * + * Define the min/max speeds for PWM fans (as set with M106). + * + * With these options the M106 0-255 value range is scaled to a subset + * to ensure that the fan has enough power to spin, or to run lower + * current fans with higher current. (e.g., 5V/12V fans with 12V/24V) + * Value 0 always turns off the fan. + * + * Define one or both of these to override the default 0-255 range. + */ //#define FAN_MIN_PWM 50 +//#define FAN_MAX_PWM 128 // @section extruder @@ -429,8 +441,24 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) +// +// Use Junction Deviation instead of traditional Jerk Limiting +// +//#define JUNCTION_DEVIATION +#if ENABLED(JUNCTION_DEVIATION) + #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge +#endif + +/** + * Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies + * below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible + * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the + * lowest stepping frequencies. + */ +//#define ADAPTIVE_STEP_SMOOTHING + // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -473,7 +501,7 @@ #endif #define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster -#define DIGIPOT_I2C_NUM_CHANNELS 5 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 +#define DIGIPOT_I2C_NUM_CHANNELS 5 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5 // Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS. // These correspond to the physical drivers, so be mindful if the order is changed. #define DIGIPOT_I2C_MOTOR_CURRENTS { 0.22, 0.22, 0.39, 0.42, 0.42 } // MIGHTYBOARD_REVE @@ -494,9 +522,6 @@ // Include a page of printer information in the LCD Main Menu #define LCD_INFO_MENU -// Leave out seldom-used LCD menu items to recover some Program Memory -//#define SLIM_LCD_MENUS - // Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING @@ -556,6 +581,20 @@ // Add an option in the menu to run all auto#.g files //#define MENU_ADDAUTOSTART + /** + * Continue after Power-Loss (Creality3D) + * + * Store the current state to the SD Card at the start of each layer + * during SD printing. If the recovery file is found at boot time, present + * an option on the LCD screen to continue the print from the last-known + * point in the file. + */ + //#define POWER_LOSS_RECOVERY + #if ENABLED(POWER_LOSS_RECOVERY) + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #endif + /** * Sort SD file listings in alphabetical order. * @@ -747,6 +786,30 @@ //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif +/** + * Repeatedly attempt G29 leveling until it succeeds. + * Stop after G29_MAX_RETRIES attempts. + */ +//#define G29_RETRY_AND_RECOVER +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_MAX_RETRIES 3 + #define G29_HALT_ON_FAILURE + /** + * Specify the GCODE commands that will be executed when leveling succeeds, + * between attempts, and after the maximum number of retries have been tried. + */ + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" + /** + * Specify an action command to send to the host on a recovery attempt or failure. + * Will be sent in the form '//action:ACTION_ON_G29_FAILURE', e.g. '//action:probe_failed'. + * The host must be configured to handle the action command. + */ + #define G29_ACTION_ON_RECOVER "probe_rewipe" + #define G29_ACTION_ON_FAILURE "probe_failed" +#endif + // @section extras // @@ -773,10 +836,46 @@ // Moves (or segments) with fewer steps than this will be joined with the next move #define MIN_STEPS_PER_SEGMENT 6 -// The minimum pulse width (in µs) for stepping a stepper. -// Set this if you find stepping unreliable, or if using a very fast CPU. -// 0 is OK for AVR, 0 is OK for A4989 drivers, 2 is needed for DRV8825 drivers -#define MINIMUM_STEPPER_PULSE 2 // (µs) DRV8825 on 32bit CPUs +/** + * Minimum delay after setting the stepper DIR (in ns) + * 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire) + * 20 : Minimum for TMC2xxx drivers + * 200 : Minimum for A4988 drivers + * 500 : Minimum for LV8729 drivers (guess, no info in datasheet) + * 650 : Minimum for DRV8825 drivers + * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) + * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_DIR_DELAY 650 + +/** + * Minimum stepper driver pulse width (in µs) + * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers + * 1 : Minimum for A4988 stepper drivers + * 1 : Minimum for LV8729 stepper drivers + * 2 : Minimum for DRV8825 stepper drivers + * 3 : Minimum for TB6600 stepper drivers + * 30 : Minimum for TB6560 stepper drivers + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MINIMUM_STEPPER_PULSE 2 + +/** + * Maximum stepping rate (in Hz) the stepper driver allows + * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) + * 500000 : Maximum for A4988 stepper driver + * 400000 : Maximum for TMC2xxx stepper drivers + * 250000 : Maximum for DRV8825 stepper driver + * 150000 : Maximum for TB6600 stepper driver + * 130000 : Maximum for LV8729 stepper driver + * 15000 : Maximum for TB6560 stepper driver + * + * Override the default value based on the driver type set in Configuration.h. + */ +//#define MAXIMUM_STEPPER_RATE 250000 // @section temperature @@ -901,61 +1000,55 @@ */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. - // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. - // For Bowden, the full length of the tube and nozzle. - // For direct drive, the full length of the nozzle. - #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. - // Set to 0 for manual extrusion. - // Filament can be extruded repeatedly from the Filament Change menu - // until extrusion is consistent, and to purge old filament. - - // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. - //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. - - #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. - #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - - //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. + #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. + #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. + #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. + + // Filament Unload does a Retract, Delay, and Purge first: + #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. + + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change + + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc /** - * Enable this section if you have TMC26X motor drivers. - * You will need to import the TMC26XStepper library into the Arduino IDE for this - * (https://github.com/trinamic/TMC26XStepper.git) + * TMC26X Stepper Driver options + * + * The TMC26XStepper library is required for this stepper driver. + * https://github.com/trinamic/TMC26XStepper */ -//#define HAVE_TMC26X -#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory! - //#define X_IS_TMC26X - //#define X2_IS_TMC26X - //#define Y_IS_TMC26X - //#define Y2_IS_TMC26X - //#define Z_IS_TMC26X - //#define Z2_IS_TMC26X - //#define E0_IS_TMC26X - //#define E1_IS_TMC26X - //#define E2_IS_TMC26X - //#define E3_IS_TMC26X - //#define E4_IS_TMC26X +#if HAS_DRIVER(TMC26X) #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -1001,62 +1094,29 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 -#endif +#endif // TMC26X // @section tmc_smart /** - * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. - * - * You'll also need the TMC2130Stepper Arduino library - * (https://github.com/teemuatlut/TMC2130Stepper). - * * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). * You may also use software SPI if you wish to use general purpose IO pins. - */ -//#define HAVE_TMC2130 -#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2130 - //#define X2_IS_TMC2130 - //#define Y_IS_TMC2130 - //#define Y2_IS_TMC2130 - //#define Z_IS_TMC2130 - //#define Z2_IS_TMC2130 - //#define E0_IS_TMC2130 - //#define E1_IS_TMC2130 - //#define E2_IS_TMC2130 - //#define E3_IS_TMC2130 - //#define E4_IS_TMC2130 -#endif - -/** - * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers. - * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. + * + * The TMC2130Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2130Stepper + * + * To use TMC2208 stepper UART-configurable stepper drivers + * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor. * To use the reading capabilities, also connect #_SERIAL_RX_PIN * to PDN_UART without a resistor. * The drivers can also be used with hardware serial. * - * You'll also need the TMC2208Stepper Arduino library - * (https://github.com/teemuatlut/TMC2208Stepper). + * The TMC2208Stepper library is required for this stepper driver. + * https://github.com/teemuatlut/TMC2208Stepper */ -//#define HAVE_TMC2208 -#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory! - //#define X_IS_TMC2208 - //#define X2_IS_TMC2208 - //#define Y_IS_TMC2208 - //#define Y2_IS_TMC2208 - //#define Z_IS_TMC2208 - //#define Z2_IS_TMC2208 - //#define E0_IS_TMC2208 - //#define E1_IS_TMC2208 - //#define E2_IS_TMC2208 - //#define E3_IS_TMC2208 - //#define E4_IS_TMC2208 -#endif - -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current @@ -1211,25 +1271,12 @@ // @section L6470 /** - * Enable this section if you have L6470 motor drivers. - * You need to import the L6470 library into the Arduino IDE for this. - * (https://github.com/ameyer/Arduino-L6470) + * L6470 Stepper Driver options + * + * The Arduino-L6470 library is required for this stepper driver. + * https://github.com/ameyer/Arduino-L6470 */ - -//#define HAVE_L6470DRIVER -#if ENABLED(HAVE_L6470DRIVER) - - //#define X_IS_L6470 - //#define X2_IS_L6470 - //#define Y_IS_L6470 - //#define Y2_IS_L6470 - //#define Z_IS_L6470 - //#define Z2_IS_L6470 - //#define E0_IS_L6470 - //#define E1_IS_L6470 - //#define E2_IS_L6470 - //#define E3_IS_L6470 - //#define E4_IS_L6470 +#if HAS_DRIVER(L6470) #define X_MICROSTEPS 16 // number of microsteps #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off @@ -1275,7 +1322,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1581,27 +1628,29 @@ /** * MAX7219 Debug Matrix * - * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip, which can be used as a status - * display. Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. - * - * Fully assembled MAX7219 boards can be found on the internet for under $2(US). - * For example, see https://www.ebay.com/sch/i.html?_nkw=332349290049 + * Add support for a low-cost 8x8 LED Matrix based on the Max7219 chip as a realtime status display. + * Requires 3 signal wires. Some useful debug options are included to demonstrate its usage. */ //#define MAX7219_DEBUG #if ENABLED(MAX7219_DEBUG) - #define MAX7219_CLK_PIN 64 // 77 on Re-ARM // Configuration of the 3 pins to control the display - #define MAX7219_DIN_PIN 57 // 78 on Re-ARM - #define MAX7219_LOAD_PIN 44 // 79 on Re-ARM - + #define MAX7219_CLK_PIN 64 + #define MAX7219_DIN_PIN 57 + #define MAX7219_LOAD_PIN 44 + + //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix + #define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) + #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. + #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) + // connector at: right=0 bottom=-90 top=90 left=18 /** * Sample debug features * If you add more debug displays, be careful to avoid conflicts! */ #define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning - #define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row - #define MAX7219_DEBUG_STEPPER_QUEUE 0 // Show the current stepper queue depth on this and the next LED matrix row + #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how // tweaks made to the configuration are affecting the printer in real-time. #endif @@ -1619,4 +1668,16 @@ // Default behaviour is limited to Z axis only. #endif +/** + * WiFi Support (Espressif ESP32 WiFi) + */ +//#define WIFISUPPORT +#if ENABLED(WIFISUPPORT) + #define WIFI_SSID "Wifi SSID" + #define WIFI_PWD "Wifi Password" +#endif + +// Enable Marlin dev mode which adds some special commands +//#define MARLIN_DEV_MODE + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index 248f74cb6c42..0d15bb9cbc40 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -58,9 +58,10 @@ #define BOARD_K8400 79 // Velleman K8400 Controller (derived from 3Drag Controller) #define BOARD_BAM_DICE 401 // 2PrintBeta BAM&DICE with STK drivers #define BOARD_BAM_DICE_DUE 402 // 2PrintBeta BAM&DICE Due with STK drivers -#define BOARD_MKS_BASE 40 // MKS BASE 1.0 +#define BOARD_MKS_BASE 40 // MKS BASE v1.0 +#define BOARD_MKS_BASE_15 405 // MKS v1.5 with Allegro A4982 stepper drivers #define BOARD_MKS_BASE_HEROIC 41 // MKS BASE 1.0 with Heroic HR4982 stepper drivers -#define BOARD_MKS_13 47 // MKS v1.3 or 1.4 (maybe higher) +#define BOARD_MKS_GEN_13 47 // MKS GEN v1.3 or 1.4 #define BOARD_MKS_GEN_L 53 // MKS GEN L #define BOARD_ZRIB_V20 504 // zrib V2.0 control board (Chinese knock off RAMPS replica) #define BOARD_FELIX2 37 // Felix 2.0+ Electronics Board (RAMPS like) @@ -75,7 +76,8 @@ #define BOARD_RUMBA 80 // Rumba #define BOARD_BQ_ZUM_MEGA_3D 503 // bq ZUM Mega 3D #define BOARD_MAKEBOARD_MINI 431 // MakeBoard Mini v2.1.2 is a control board sold by MicroMake -#define BOARD_TRIGORILLA 343 // TriGorilla Anycubic version 1.3 based on RAMPS EFB +#define BOARD_TRIGORILLA_13 343 // TriGorilla Anycubic version 1.3 based on RAMPS EFB +#define BOARD_TRIGORILLA_14 443 // TriGorilla Anycubic version 1.4 based on RAMPS EFB #define BOARD_RAMPS_ENDER_4 243 // Creality: Ender-4, CR-8 // @@ -102,6 +104,7 @@ #define BOARD_SCOOVO_X9H 321 // abee Scoovo X9H #define BOARD_GT2560_REV_A 74 // Geeetech GT2560 Rev. A #define BOARD_GT2560_REV_A_PLUS 75 // Geeetech GT2560 Rev. A+ (with auto level probe) +#define BOARD_EINSTART_S 666 // Einstart retrofit // // ATmega1281, ATmega2561 @@ -123,6 +126,7 @@ #define BOARD_MELZI_TRONXY 505 // Tronxy X5S #define BOARD_STB_11 64 // STB V1.1 #define BOARD_AZTEEG_X1 65 // Azteeg X1 +#define BOARD_ANET_10 69 // Anet 1.0 (Melzi clone) // // Other ATmega644P, ATmega644, ATmega1284P @@ -139,7 +143,6 @@ #define BOARD_OMCA_A 90 // Alpha OMCA board #define BOARD_OMCA 91 // Final OMCA board #define BOARD_SETHI 20 // Sethi 3D_1 -#define BOARD_ANET_10 69 // Anet 1.0 (Melzi clone) // // Teensyduino - AT90USB1286, AT90USB1286P @@ -151,7 +154,7 @@ #define BOARD_BRAINWAVE 82 // Brainwave (AT90USB646) #define BOARD_BRAINWAVE_PRO 85 // Brainwave Pro (AT90USB1286) #define BOARD_SAV_MKI 83 // SAV Mk-I (AT90USB1286) -#define BOARD_TEENSY2 84 // Teensy++2.0 (AT90USB1286) - CLI compile: HARDWARE_MOTHERBOARD=84 make +#define BOARD_TEENSY2 84 // Teensy++2.0 (AT90USB1286) #define BOARD_5DPRINT 88 // 5DPrint D8 Driver Board // @@ -174,6 +177,7 @@ // // SAM3X8E ARM Cortex M3 // + #define BOARD_DUE3DOM 1411 // DUE3DOM for Arduino DUE #define BOARD_DUE3DOM_MINI 1412 // DUE3DOM MINI for Arduino DUE #define BOARD_RADDS 1502 // RADDS @@ -194,26 +198,40 @@ #define BOARD_RAMPS4DUE_EFF 1545 // RAMPS4DUE (Power outputs: Hotend, Fan0, Fan1) #define BOARD_RAMPS4DUE_EEF 1546 // RAMPS4DUE (Power outputs: Hotend0, Hotend1, Fan) #define BOARD_RAMPS4DUE_SF 1548 // RAMPS4DUE (Power outputs: Spindle, Controller Fan) -#define BOARD_RURAMPS4D 1550 // RuRAMPS4Duo v1 (Power outputs: Hotend0, Hotend2, Hotend2, Fan0, Fan1, Bed) +#define BOARD_RURAMPS4D_11 1550 // RuRAMPS4Duo v1.1 (Power outputs: Hotend0, Hotend1, Hotend2, Fan0, Fan1, Bed) +#define BOARD_RURAMPS4D_13 1551 // RuRAMPS4Duo v1.3 (Power outputs: Hotend0, Hotend1, Hotend2, Fan0, Fan1, Bed) #define BOARD_ULTRATRONICS_PRO 1560 // ReprapWorld Ultratronics Pro V1.0 #define BOARD_ARCHIM2 1590 // UltiMachine Archim2 (with TMC2130 drivers) #define BOARD_ALLIGATOR 1602 // Alligator Board R2 // -// ARM Cortex M4 +// STM32 ARM Cortex-M3 // -#define BOARD_TEENSY35_36 841 // Teensy3.5 and Teensy3.6 -#define BOARD_STM32F1R 1800 // STM3R Libmaple based STM32F1 controller + +#define BOARD_STM32F1R 1800 // STM32R Libmaple based STM32F1 controller #define BOARD_MALYAN_M200 1801 // STM32C8T6 Libmaple based stm32f1 controller -#define BOARD_BEAST 1802 // STM32FxxxVxT6 Libmaple based stm32f4 controller #define BOARD_STM3R_MINI 1803 // STM32 Libmaple based stm32f1 controller +#define BOARD_GTM32_PRO_VB 1805 // STM32f103VET6 controller + +// +// STM32 ARM Cortex-M4F +// + +#define BOARD_TEENSY35_36 841 // Teensy3.5 and Teensy3.6 +#define BOARD_BEAST 1802 // STM32FxxxVxT6 Libmaple based stm32f4 controller +#define BOARD_STM32F4 1804 // STM32 STM32GENERIC based STM32F4 controller // // ARM Cortex M7 // + #define BOARD_THE_BORG 1860 // THE-BORG (Power outputs: Hotend0, Hotend1, Bed, Fan) +// +// Espressif ESP32 WiFi +// +#define BOARD_ESP32 1900 -#define MB(board) (MOTHERBOARD==BOARD_##board) +#define MB(board) (defined(BOARD_##board) && MOTHERBOARD==BOARD_##board) #endif // __BOARDS_H diff --git a/Marlin/src/core/drivers.h b/Marlin/src/core/drivers.h new file mode 100644 index 000000000000..dbbeaeb428ee --- /dev/null +++ b/Marlin/src/core/drivers.h @@ -0,0 +1,102 @@ +/** + * 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 . + * + */ +#pragma once + +#include "../inc/MarlinConfigPre.h" + +#define A4988 0x001 +#define DRV8825 0x002 +#define LV8729 0x003 +#define L6470 0x104 +#define TB6560 0x005 +#define TB6600 0x006 +#define TMC2100 0x007 +#define TMC2130 0x108 +#define TMC2130_STANDALONE 0x008 +#define TMC2208 0x109 +#define TMC2208_STANDALONE 0x009 +#define TMC26X 0x10A +#define TMC26X_STANDALONE 0x00A +#define TMC2660 0x10B +#define TMC2660_STANDALONE 0x00B + +#define AXIS_DRIVER_TYPE(A,T) ( defined(A##_DRIVER_TYPE) && (A##_DRIVER_TYPE == T) ) + +#define AXIS_DRIVER_TYPE_X(T) AXIS_DRIVER_TYPE(X,T) +#define AXIS_DRIVER_TYPE_Y(T) AXIS_DRIVER_TYPE(Y,T) +#define AXIS_DRIVER_TYPE_Z(T) AXIS_DRIVER_TYPE(Z,T) + +#if ENABLED(X_DUAL_STEPPER_DRIVERS) || ENABLED(DUAL_X_CARRIAGE) + #define AXIS_DRIVER_TYPE_X2(T) AXIS_DRIVER_TYPE(X2,T) +#else + #define AXIS_DRIVER_TYPE_X2(T) false +#endif +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + #define AXIS_DRIVER_TYPE_Y2(T) AXIS_DRIVER_TYPE(Y2,T) +#else + #define AXIS_DRIVER_TYPE_Y2(T) false +#endif +#if ENABLED(Z_DUAL_STEPPER_DRIVERS) + #define AXIS_DRIVER_TYPE_Z2(T) AXIS_DRIVER_TYPE(Z2,T) +#else + #define AXIS_DRIVER_TYPE_Z2(T) false +#endif +#if E_STEPPERS > 0 + #define AXIS_DRIVER_TYPE_E0(T) AXIS_DRIVER_TYPE(E0,T) +#else + #define AXIS_DRIVER_TYPE_E0(T) false +#endif +#if E_STEPPERS > 1 + #define AXIS_DRIVER_TYPE_E1(T) AXIS_DRIVER_TYPE(E1,T) +#else + #define AXIS_DRIVER_TYPE_E1(T) false +#endif +#if E_STEPPERS > 2 + #define AXIS_DRIVER_TYPE_E2(T) AXIS_DRIVER_TYPE(E2,T) +#else + #define AXIS_DRIVER_TYPE_E2(T) false +#endif +#if E_STEPPERS > 3 + #define AXIS_DRIVER_TYPE_E3(T) AXIS_DRIVER_TYPE(E3,T) +#else + #define AXIS_DRIVER_TYPE_E3(T) false +#endif +#if E_STEPPERS > 4 + #define AXIS_DRIVER_TYPE_E4(T) AXIS_DRIVER_TYPE(E4,T) +#else + #define AXIS_DRIVER_TYPE_E4(T) false +#endif + +#define HAS_DRIVER(T) (AXIS_DRIVER_TYPE_X(T) || AXIS_DRIVER_TYPE_X2(T) || \ + AXIS_DRIVER_TYPE_Y(T) || AXIS_DRIVER_TYPE_Y2(T) || \ + AXIS_DRIVER_TYPE_Z(T) || AXIS_DRIVER_TYPE_Z2(T) || \ + AXIS_DRIVER_TYPE_E0(T) || AXIS_DRIVER_TYPE_E1(T) || \ + AXIS_DRIVER_TYPE_E2(T) || AXIS_DRIVER_TYPE_E3(T) || \ + AXIS_DRIVER_TYPE_E4(T) ) + +// Test for supported TMC drivers that require advanced configuration +// Does not match standalone configurations +#define HAS_TRINAMIC ( HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2660) ) + +#define AXIS_IS_TMC(A) ( AXIS_DRIVER_TYPE_##A(TMC2130) || \ + AXIS_DRIVER_TYPE_##A(TMC2208) || \ + AXIS_DRIVER_TYPE_##A(TMC2660) ) diff --git a/Marlin/src/core/enum.h b/Marlin/src/core/enum.h index 8101b9aeab5d..d9a3cd18c2e7 100644 --- a/Marlin/src/core/enum.h +++ b/Marlin/src/core/enum.h @@ -26,10 +26,9 @@ /** * Axis indices as enumerated constants * - * Special axis: - * - A_AXIS and B_AXIS are used by COREXY printers - * - X_HEAD and Y_HEAD is used for systems that don't have a 1:1 relationship - * between X_AXIS and X Head movement, like CoreXY bots + * - X_AXIS, Y_AXIS, and Z_AXIS should be used for axes in Cartesian space + * - A_AXIS, B_AXIS, and C_AXIS should be used for Steppers, corresponding to XYZ on Cartesians + * - X_HEAD, Y_HEAD, and Z_HEAD should be used for Steppers on Core kinematics */ enum AxisEnum : unsigned char { X_AXIS = 0, @@ -46,8 +45,8 @@ enum AxisEnum : unsigned char { NO_AXIS = 0xFF }; -#define LOOP_S_LE_N(VAR, S, N) for (uint8_t VAR=S; VAR<=N; VAR++) -#define LOOP_S_L_N(VAR, S, N) for (uint8_t VAR=S; VAR0)-(a<0)) #define IS_POWER_OF_2(x) ((x) && !((x) & ((x) - 1))) -// Macros to contrain values -#define NOLESS(v,n) do{ if (v < n) v = n; }while(0) -#define NOMORE(v,n) do{ if (v > n) v = n; }while(0) -#define LIMIT(v,n1,n2) do{ if (v < n1) v = n1; else if (v > n2) v = n2; }while(0) +// Macros to constrain values +// Avoid double evaluation of arguments to NOMORE/NOLESS/LIMIT +#undef NOMORE +#undef NOLESS +#undef LIMIT +#ifdef __cplusplus + + // C++11 solution that is standards compliant. + template static inline constexpr void NOLESS(V& v, const N n) { + if (v < n) v = n; + } + template static inline constexpr void NOMORE(V& v, const N n) { + if (v > n) v = n; + } + template static inline constexpr void LIMIT(V& v, const N1 n1, const N2 n2) { + if (v < n1) v = n1; + else if (v > n2) v = n2; + } + +#else + + // Using GCC extensions, but Travis GCC version does not like it and gives + // "error: statement-expressions are not allowed outside functions nor in template-argument lists" + #define NOLESS(v, n) \ + do { \ + __typeof__(n) _n = (n); \ + if (v < _n) v = _n; \ + } while(0) + + #define NOMORE(v, n) \ + do { \ + __typeof__(n) _n = (n); \ + if (v > _n) v = _n; \ + } while(0) + + #define LIMIT(v, n1, n2) \ + do { \ + __typeof__(n1) _n1 = (n1); \ + __typeof__(n2) _n2 = (n2); \ + if (v < _n1) v = _n1; \ + else if (v > _n2) v = _n2; \ + } while(0) + +#endif // Macros to support option testing #define _CAT(a, ...) a ## __VA_ARGS__ @@ -134,9 +143,11 @@ #define SWITCH_ENABLED_true 1 #define SWITCH_ENABLED_0 0 #define SWITCH_ENABLED_1 1 +#define SWITCH_ENABLED_0x0 0 +#define SWITCH_ENABLED_0x1 1 #define SWITCH_ENABLED_ 1 #define ENABLED(b) _CAT(SWITCH_ENABLED_, b) -#define DISABLED(b) (!_CAT(SWITCH_ENABLED_, b)) +#define DISABLED(b) !ENABLED(b) #define WITHIN(V,L,H) ((V) >= (L) && (V) <= (H)) #define NUMERIC(a) WITHIN(a, '0', '9') @@ -145,7 +156,7 @@ #define DECIMAL_SIGNED(a) (DECIMAL(a) || (a) == '-' || (a) == '+') #define COUNT(a) (sizeof(a)/sizeof(*a)) #define ZERO(a) memset(a,0,sizeof(a)) -#define COPY(a,b) memcpy(a,b,min(sizeof(a),sizeof(b))) +#define COPY(a,b) memcpy(a,b,MIN(sizeof(a),sizeof(b))) // Macros for initializing arrays #define ARRAY_6(v1, v2, v3, v4, v5, v6, ...) { v1, v2, v3, v4, v5, v6 } @@ -189,38 +200,74 @@ #define PENDING(NOW,SOON) ((long)(NOW-(SOON))<0) #define ELAPSED(NOW,SOON) (!PENDING(NOW,SOON)) -#define MMM_TO_MMS(MM_M) ((MM_M)/60.0) -#define MMS_TO_MMM(MM_S) ((MM_S)*60.0) +#define MMM_TO_MMS(MM_M) ((MM_M)/60.0f) +#define MMS_TO_MMM(MM_S) ((MM_S)*60.0f) #define NOOP do{} while(0) #define CEILING(x,y) (((x) + (y) - 1) / (y)) -#define MIN3(a, b, c) min(min(a, b), c) -#define MIN4(a, b, c, d) min(MIN3(a, b, c), d) -#define MIN5(a, b, c, d, e) min(MIN4(a, b, c, d), e) -#define MAX3(a, b, c) max(max(a, b), c) -#define MAX4(a, b, c, d) max(MAX3(a, b, c), d) -#define MAX5(a, b, c, d, e) max(MAX4(a, b, c, d), e) +// Avoid double evaluation of arguments on MIN/MAX/ABS +#undef MIN +#undef MAX +#undef ABS +#ifdef __cplusplus + + // C++11 solution that is standards compliant. Return type is deduced automatically + template static inline constexpr auto MIN(const L lhs, const R rhs) -> decltype(lhs + rhs) { + return lhs < rhs ? lhs : rhs; + } + template static inline constexpr auto MAX(const L lhs, const R rhs) -> decltype(lhs + rhs){ + return lhs > rhs ? lhs : rhs; + } + template static inline constexpr const T ABS(const T v) { + return v >= 0 ? v : -v; + } +#else + + // Using GCC extensions, but Travis GCC version does not like it and gives + // "error: statement-expressions are not allowed outside functions nor in template-argument lists" + #define MIN(a, b) \ + ({__typeof__(a) _a = (a); \ + __typeof__(b) _b = (b); \ + _a < _b ? _a : _b;}) + + #define MAX(a, b) \ + ({__typeof__(a) _a = (a); \ + __typeof__(b) _b = (b); \ + _a > _b ? _a : _b;}) + + #define ABS(a) \ + ({__typeof__(a) _a = (a); \ + _a >= 0 ? _a : -_a;}) + +#endif + +#define MIN3(a, b, c) MIN(MIN(a, b), c) +#define MIN4(a, b, c, d) MIN(MIN3(a, b, c), d) +#define MIN5(a, b, c, d, e) MIN(MIN4(a, b, c, d), e) +#define MAX3(a, b, c) MAX(MAX(a, b), c) +#define MAX4(a, b, c, d) MAX(MAX3(a, b, c), d) +#define MAX5(a, b, c, d, e) MAX(MAX4(a, b, c, d), e) -#define UNEAR_ZERO(x) ((x) < 0.000001) -#define NEAR_ZERO(x) WITHIN(x, -0.000001, 0.000001) +#define UNEAR_ZERO(x) ((x) < 0.000001f) +#define NEAR_ZERO(x) WITHIN(x, -0.000001f, 0.000001f) #define NEAR(x,y) NEAR_ZERO((x)-(y)) -#define RECIPROCAL(x) (NEAR_ZERO(x) ? 0.0 : 1.0 / (x)) -#define FIXFLOAT(f) (f + 0.00001) +#define RECIPROCAL(x) (NEAR_ZERO(x) ? 0 : (1 / float(x))) +#define FIXFLOAT(f) (f + (f < 0 ? -0.00005f : 0.00005f)) // // Maths macros that can be overridden by HAL // -#define ATAN2(y, x) atan2(y, x) -#define FABS(x) fabs(x) -#define POW(x, y) pow(x, y) -#define SQRT(x) sqrt(x) -#define CEIL(x) ceil(x) -#define FLOOR(x) floor(x) -#define LROUND(x) lround(x) -#define FMOD(x, y) fmod(x, y) +#define ATAN2(y, x) atan2f(y, x) +#define POW(x, y) powf(x, y) +#define SQRT(x) sqrtf(x) +#define RSQRT(x) (1 / sqrtf(x)) +#define CEIL(x) ceilf(x) +#define FLOOR(x) floorf(x) +#define LROUND(x) lroundf(x) +#define FMOD(x, y) fmodf(x, y) #define HYPOT(x,y) SQRT(HYPOT2(x,y)) -#endif //__MACROS_H +#endif // _CORE_MACROS_H_ diff --git a/Marlin/src/core/serial.cpp b/Marlin/src/core/serial.cpp index f7b9dbf61dd2..d53d730c6e8a 100644 --- a/Marlin/src/core/serial.cpp +++ b/Marlin/src/core/serial.cpp @@ -61,6 +61,8 @@ void serial_spaces(uint8_t count) { count *= (PROPORTIONAL_FONT_RATIO); while (c #if ENABLED(DEBUG_LEVELING_FEATURE) + #include "enum.h" + void print_xyz(const char* prefix, const char* suffix, const float x, const float y, const float z) { serialprintPGM(prefix); SERIAL_CHAR('('); @@ -75,10 +77,4 @@ void serial_spaces(uint8_t count) { count *= (PROPORTIONAL_FONT_RATIO); while (c print_xyz(prefix, suffix, xyz[X_AXIS], xyz[Y_AXIS], xyz[Z_AXIS]); } - #if HAS_ABL - void print_xyz(const char* prefix, const char* suffix, const vector_3 &xyz) { - print_xyz(prefix, suffix, xyz.x, xyz.y, xyz.z); - } - #endif - #endif diff --git a/Marlin/src/core/serial.h b/Marlin/src/core/serial.h index f25791324a1f..bbabdb70e368 100644 --- a/Marlin/src/core/serial.h +++ b/Marlin/src/core/serial.h @@ -23,11 +23,8 @@ #ifndef __SERIAL_H__ #define __SERIAL_H__ -#include "../inc/MarlinConfig.h" - -#if HAS_ABL && ENABLED(DEBUG_LEVELING_FEATURE) - #include "../libs/vector_3.h" -#endif +#include "../inc/MarlinConfigPre.h" +#include HAL_PATH(../HAL, HAL.h) /** * Define debug bit-masks @@ -44,23 +41,6 @@ enum DebugFlags : unsigned char { DEBUG_ALL = 0xFF }; -#if ENABLED(EMERGENCY_PARSER) - enum e_parser_state : char { - state_RESET, - state_N, - state_M, - state_M1, - state_M10, - state_M108, - state_M11, - state_M112, - state_M4, - state_M41, - state_M410, - state_IGNORE // to '\n' - }; -#endif - extern uint8_t marlin_debug_flags; #define DEBUGGING(F) (marlin_debug_flags & (DEBUG_## F)) @@ -260,9 +240,6 @@ void serialprintPGM(const char* str); #if ENABLED(DEBUG_LEVELING_FEATURE) void print_xyz(const char* prefix, const char* suffix, const float x, const float y, const float z); void print_xyz(const char* prefix, const char* suffix, const float xyz[]); - #if HAS_ABL - void print_xyz(const char* prefix, const char* suffix, const vector_3 &xyz); - #endif #define DEBUG_POS(SUFFIX,VAR) do { print_xyz(PSTR(" " STRINGIFY(VAR) "="), PSTR(" : " SUFFIX "\n"), VAR); } while(0) #endif diff --git a/Marlin/src/core/utility.cpp b/Marlin/src/core/utility.cpp index d8873173efcc..7ec3fde5e8a7 100644 --- a/Marlin/src/core/utility.cpp +++ b/Marlin/src/core/utility.cpp @@ -41,14 +41,14 @@ void safe_delay(millis_t ms) { uint8_t *ptr = (uint8_t *)data; while (cnt--) { *crc = (uint16_t)(*crc ^ (uint16_t)(((uint16_t)*ptr++) << 8)); - for (uint8_t x = 0; x < 8; x++) + for (uint8_t i = 0; i < 8; i++) *crc = (uint16_t)((*crc & 0x8000) ? ((uint16_t)(*crc << 1) ^ 0x1021) : (*crc << 1)); } } #endif // EEPROM_SETTINGS -#if ENABLED(ULTRA_LCD) +#if ENABLED(ULTRA_LCD) || ENABLED(DEBUG_LEVELING_FEATURE) char conv[8] = { 0 }; @@ -58,193 +58,190 @@ void safe_delay(millis_t ms) { #define MINUSOR(n, alt) (n >= 0 ? (alt) : (n = -n, '-')) // Convert unsigned int to string 123 format - char* i8tostr3(const uint8_t xx) { - conv[4] = RJDIGIT(xx, 100); - conv[5] = RJDIGIT(xx, 10); - conv[6] = DIGIMOD(xx, 1); + char* i8tostr3(const uint8_t i) { + conv[4] = RJDIGIT(i, 100); + conv[5] = RJDIGIT(i, 10); + conv[6] = DIGIMOD(i, 1); return &conv[4]; } // Convert signed int to rj string with 123 or -12 format - char* itostr3(const int x) { - int xx = x; - conv[4] = MINUSOR(xx, RJDIGIT(xx, 100)); - conv[5] = RJDIGIT(xx, 10); - conv[6] = DIGIMOD(xx, 1); + char* itostr3(int i) { + conv[4] = MINUSOR(i, RJDIGIT(i, 100)); + conv[5] = RJDIGIT(i, 10); + conv[6] = DIGIMOD(i, 1); return &conv[4]; } // Convert unsigned int to lj string with 123 format - char* itostr3left(const int xx) { + char* itostr3left(const int i) { char *str = &conv[6]; - *str = DIGIMOD(xx, 1); - if (xx >= 10) { - *(--str) = DIGIMOD(xx, 10); - if (xx >= 100) - *(--str) = DIGIMOD(xx, 100); + *str = DIGIMOD(i, 1); + if (i >= 10) { + *(--str) = DIGIMOD(i, 10); + if (i >= 100) + *(--str) = DIGIMOD(i, 100); } return str; } // Convert signed int to rj string with 1234, _123, -123, _-12, or __-1 format - char *itostr4sign(const int x) { - const bool neg = x < 0; - const int xx = neg ? -x : x; - if (x >= 1000) { - conv[3] = DIGIMOD(xx, 1000); - conv[4] = DIGIMOD(xx, 100); - conv[5] = DIGIMOD(xx, 10); + char* itostr4sign(const int i) { + const bool neg = i < 0; + const int ii = neg ? -i : i; + if (i >= 1000) { + conv[3] = DIGIMOD(ii, 1000); + conv[4] = DIGIMOD(ii, 100); + conv[5] = DIGIMOD(ii, 10); + } + else if (ii >= 100) { + conv[3] = neg ? '-' : ' '; + conv[4] = DIGIMOD(ii, 100); + conv[5] = DIGIMOD(ii, 10); } else { - if (xx >= 100) { - conv[3] = neg ? '-' : ' '; - conv[4] = DIGIMOD(xx, 100); - conv[5] = DIGIMOD(xx, 10); + conv[3] = ' '; + conv[4] = ' '; + if (ii >= 10) { + conv[4] = neg ? '-' : ' '; + conv[5] = DIGIMOD(ii, 10); } else { - conv[3] = ' '; - conv[4] = ' '; - if (xx >= 10) { - conv[4] = neg ? '-' : ' '; - conv[5] = DIGIMOD(xx, 10); - } - else { - conv[5] = neg ? '-' : ' '; - } + conv[5] = neg ? '-' : ' '; } } - conv[6] = DIGIMOD(xx, 1); + conv[6] = DIGIMOD(ii, 1); return &conv[3]; } // Convert unsigned float to string with 1.23 format - char* ftostr12ns(const float &x) { - const long xx = (x < 0 ? -x : x) * 100; - conv[3] = DIGIMOD(xx, 100); + char* ftostr12ns(const float &f) { + const long i = ((f < 0 ? -f : f) * 1000 + 5) / 10; + conv[3] = DIGIMOD(i, 100); conv[4] = '.'; - conv[5] = DIGIMOD(xx, 10); - conv[6] = DIGIMOD(xx, 1); + conv[5] = DIGIMOD(i, 10); + conv[6] = DIGIMOD(i, 1); return &conv[3]; } // Convert signed float to fixed-length string with 023.45 / -23.45 format - char *ftostr32(const float &x) { - long xx = x * 100; - conv[1] = MINUSOR(xx, DIGIMOD(xx, 10000)); - conv[2] = DIGIMOD(xx, 1000); - conv[3] = DIGIMOD(xx, 100); + char* ftostr52(const float &f) { + long i = (f * 1000 + (f < 0 ? -5: 5)) / 10; + conv[1] = MINUSOR(i, DIGIMOD(i, 10000)); + conv[2] = DIGIMOD(i, 1000); + conv[3] = DIGIMOD(i, 100); conv[4] = '.'; - conv[5] = DIGIMOD(xx, 10); - conv[6] = DIGIMOD(xx, 1); + conv[5] = DIGIMOD(i, 10); + conv[6] = DIGIMOD(i, 1); return &conv[1]; } #if ENABLED(LCD_DECIMAL_SMALL_XY) // Convert float to rj string with 1234, _123, -123, _-12, 12.3, _1.2, or -1.2 format - char *ftostr4sign(const float &fx) { - const int x = fx * 10; - if (!WITHIN(x, -99, 999)) return itostr4sign((int)fx); - const bool neg = x < 0; - const int xx = neg ? -x : x; - conv[3] = neg ? '-' : (xx >= 100 ? DIGIMOD(xx, 100) : ' '); - conv[4] = DIGIMOD(xx, 10); + char* ftostr4sign(const float &f) { + const int i = (f * 100 + (f < 0 ? -5: 5)) / 10; + if (!WITHIN(i, -99, 999)) return itostr4sign((int)f); + const bool neg = i < 0; + const int ii = neg ? -i : i; + conv[3] = neg ? '-' : (ii >= 100 ? DIGIMOD(ii, 100) : ' '); + conv[4] = DIGIMOD(ii, 10); conv[5] = '.'; - conv[6] = DIGIMOD(xx, 1); + conv[6] = DIGIMOD(ii, 1); return &conv[3]; } #endif // LCD_DECIMAL_SMALL_XY // Convert float to fixed-length string with +123.4 / -123.4 format - char* ftostr41sign(const float &x) { - int xx = x * 10; - conv[1] = MINUSOR(xx, '+'); - conv[2] = DIGIMOD(xx, 1000); - conv[3] = DIGIMOD(xx, 100); - conv[4] = DIGIMOD(xx, 10); + char* ftostr41sign(const float &f) { + int i = (f * 100 + (f < 0 ? -5: 5)) / 10; + conv[1] = MINUSOR(i, '+'); + conv[2] = DIGIMOD(i, 1000); + conv[3] = DIGIMOD(i, 100); + conv[4] = DIGIMOD(i, 10); conv[5] = '.'; - conv[6] = DIGIMOD(xx, 1); + conv[6] = DIGIMOD(i, 1); return &conv[1]; } // Convert signed float to string (6 digit) with -1.234 / _0.000 / +1.234 format - char* ftostr43sign(const float &x, char plus/*=' '*/) { - long xx = x * 1000; - conv[1] = xx ? MINUSOR(xx, plus) : ' '; - conv[2] = DIGIMOD(xx, 1000); + char* ftostr43sign(const float &f, char plus/*=' '*/) { + long i = (f * 10000 + (f < 0 ? -5: 5)) / 10; + conv[1] = i ? MINUSOR(i, plus) : ' '; + conv[2] = DIGIMOD(i, 1000); conv[3] = '.'; - conv[4] = DIGIMOD(xx, 100); - conv[5] = DIGIMOD(xx, 10); - conv[6] = DIGIMOD(xx, 1); + conv[4] = DIGIMOD(i, 100); + conv[5] = DIGIMOD(i, 10); + conv[6] = DIGIMOD(i, 1); return &conv[1]; } // Convert unsigned float to rj string with 12345 format - char* ftostr5rj(const float &x) { - const long xx = x < 0 ? -x : x; - conv[2] = RJDIGIT(xx, 10000); - conv[3] = RJDIGIT(xx, 1000); - conv[4] = RJDIGIT(xx, 100); - conv[5] = RJDIGIT(xx, 10); - conv[6] = DIGIMOD(xx, 1); + char* ftostr5rj(const float &f) { + const long i = ((f < 0 ? -f : f) * 10 + 5) / 10; + conv[2] = RJDIGIT(i, 10000); + conv[3] = RJDIGIT(i, 1000); + conv[4] = RJDIGIT(i, 100); + conv[5] = RJDIGIT(i, 10); + conv[6] = DIGIMOD(i, 1); return &conv[2]; } // Convert signed float to string with +1234.5 format - char* ftostr51sign(const float &x) { - long xx = x * 10; - conv[0] = MINUSOR(xx, '+'); - conv[1] = DIGIMOD(xx, 10000); - conv[2] = DIGIMOD(xx, 1000); - conv[3] = DIGIMOD(xx, 100); - conv[4] = DIGIMOD(xx, 10); + char* ftostr51sign(const float &f) { + long i = (f * 100 + (f < 0 ? -5: 5)) / 10; + conv[0] = MINUSOR(i, '+'); + conv[1] = DIGIMOD(i, 10000); + conv[2] = DIGIMOD(i, 1000); + conv[3] = DIGIMOD(i, 100); + conv[4] = DIGIMOD(i, 10); conv[5] = '.'; - conv[6] = DIGIMOD(xx, 1); + conv[6] = DIGIMOD(i, 1); return conv; } // Convert signed float to string with +123.45 format - char* ftostr52sign(const float &x) { - long xx = x * 100; - conv[0] = MINUSOR(xx, '+'); - conv[1] = DIGIMOD(xx, 10000); - conv[2] = DIGIMOD(xx, 1000); - conv[3] = DIGIMOD(xx, 100); + char* ftostr52sign(const float &f) { + long i = (f * 1000 + (f < 0 ? -5: 5)) / 10; + conv[0] = MINUSOR(i, '+'); + conv[1] = DIGIMOD(i, 10000); + conv[2] = DIGIMOD(i, 1000); + conv[3] = DIGIMOD(i, 100); conv[4] = '.'; - conv[5] = DIGIMOD(xx, 10); - conv[6] = DIGIMOD(xx, 1); + conv[5] = DIGIMOD(i, 10); + conv[6] = DIGIMOD(i, 1); return conv; } // Convert unsigned float to string with 1234.56 format omitting trailing zeros - char* ftostr62rj(const float &x) { - const long xx = (x < 0 ? -x : x) * 100; - conv[0] = RJDIGIT(xx, 100000); - conv[1] = RJDIGIT(xx, 10000); - conv[2] = RJDIGIT(xx, 1000); - conv[3] = DIGIMOD(xx, 100); + char* ftostr62rj(const float &f) { + const long i = ((f < 0 ? -f : f) * 1000 + 5) / 10; + conv[0] = RJDIGIT(i, 100000); + conv[1] = RJDIGIT(i, 10000); + conv[2] = RJDIGIT(i, 1000); + conv[3] = DIGIMOD(i, 100); conv[4] = '.'; - conv[5] = DIGIMOD(xx, 10); - conv[6] = DIGIMOD(xx, 1); + conv[5] = DIGIMOD(i, 10); + conv[6] = DIGIMOD(i, 1); return conv; } // Convert signed float to space-padded string with -_23.4_ format - char* ftostr52sp(const float &x) { - long xx = x * 100; + char* ftostr52sp(const float &f) { + long i = (f * 1000 + (f < 0 ? -5: 5)) / 10; uint8_t dig; - conv[1] = MINUSOR(xx, RJDIGIT(xx, 10000)); - conv[2] = RJDIGIT(xx, 1000); - conv[3] = DIGIMOD(xx, 100); + conv[1] = MINUSOR(i, RJDIGIT(i, 10000)); + conv[2] = RJDIGIT(i, 1000); + conv[3] = DIGIMOD(i, 100); - if ((dig = xx % 10)) { // second digit after decimal point? + if ((dig = i % 10)) { // second digit after decimal point? conv[4] = '.'; - conv[5] = DIGIMOD(xx, 10); + conv[5] = DIGIMOD(i, 10); conv[6] = DIGIT(dig); } else { - if ((dig = (xx / 10) % 10)) { // first digit after decimal point? + if ((dig = (i / 10) % 10)) { // first digit after decimal point? conv[4] = '.'; conv[5] = DIGIT(dig); } @@ -307,9 +304,17 @@ void safe_delay(millis_t ms) { SERIAL_ECHOPGM(" (Aligned With"); #endif #if Y_PROBE_OFFSET_FROM_EXTRUDER > 0 - SERIAL_ECHOPGM("-Back"); + #if IS_SCARA + SERIAL_ECHOPGM("-Distal"); + #else + SERIAL_ECHOPGM("-Back"); + #endif #elif Y_PROBE_OFFSET_FROM_EXTRUDER < 0 - SERIAL_ECHOPGM("-Front"); + #if IS_SCARA + SERIAL_ECHOPGM("-Proximal"); + #else + SERIAL_ECHOPGM("-Front"); + #endif #elif X_PROBE_OFFSET_FROM_EXTRUDER != 0 SERIAL_ECHOPGM("-Center"); #endif @@ -341,9 +346,9 @@ void safe_delay(millis_t ms) { #endif #if ABL_PLANAR const float diff[XYZ] = { - stepper.get_axis_position_mm(X_AXIS) - current_position[X_AXIS], - stepper.get_axis_position_mm(Y_AXIS) - current_position[Y_AXIS], - stepper.get_axis_position_mm(Z_AXIS) - current_position[Z_AXIS] + planner.get_axis_position_mm(X_AXIS) - current_position[X_AXIS], + planner.get_axis_position_mm(Y_AXIS) - current_position[Y_AXIS], + planner.get_axis_position_mm(Z_AXIS) - current_position[Z_AXIS] }; SERIAL_ECHOPGM("ABL Adjustment X"); if (diff[X_AXIS] > 0) SERIAL_CHAR('+'); @@ -381,7 +386,11 @@ void safe_delay(millis_t ms) { SERIAL_ECHOPGM("Mesh Bed Leveling"); if (planner.leveling_active) { SERIAL_ECHOLNPGM(" (enabled)"); - SERIAL_ECHOPAIR("MBL Adjustment Z", ftostr43sign(mbl.get_z(current_position[X_AXIS], current_position[Y_AXIS], 1.0), '+')); + SERIAL_ECHOPAIR("MBL Adjustment Z", ftostr43sign(mbl.get_z(current_position[X_AXIS], current_position[Y_AXIS] + #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) + , 1.0 + #endif + ), '+')); #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) if (planner.z_fade_height) { SERIAL_ECHOPAIR(" (", ftostr43sign( diff --git a/Marlin/src/core/utility.h b/Marlin/src/core/utility.h index 56931a7a0c4d..f4f2e7cf8065 100644 --- a/Marlin/src/core/utility.h +++ b/Marlin/src/core/utility.h @@ -57,13 +57,13 @@ void safe_delay(millis_t ms); char* itostr3left(const int xx); // Convert signed int to rj string with _123, -123, _-12, or __-1 format - char *itostr4sign(const int x); + char* itostr4sign(const int x); // Convert unsigned float to string with 1.23 format char* ftostr12ns(const float &x); // Convert signed float to fixed-length string with 023.45 / -23.45 format - char* ftostr32(const float &x); + char* ftostr52(const float &x); // Convert float to fixed-length string with +123.4 / -123.4 format char* ftostr41sign(const float &x); @@ -87,14 +87,14 @@ void safe_delay(millis_t ms); char* ftostr62rj(const float &x); // Convert float to rj string with 123 or -12 format - FORCE_INLINE char *ftostr3(const float &x) { return itostr3((int)x); } + FORCE_INLINE char* ftostr3(const float &x) { return itostr3(int(x + (x < 0 ? -0.5f : 0.5f))); } #if ENABLED(LCD_DECIMAL_SMALL_XY) // Convert float to rj string with 1234, _123, 12.3, _1.2, -123, _-12, or -1.2 format - char *ftostr4sign(const float &fx); + char* ftostr4sign(const float &fx); #else // Convert float to rj string with 1234, _123, -123, __12, _-12, ___1, or __-1 format - FORCE_INLINE char *ftostr4sign(const float &x) { return itostr4sign((int)x); } + FORCE_INLINE char* ftostr4sign(const float &x) { return itostr4sign(int(x + (x < 0 ? -0.5f : 0.5f))); } #endif #endif // ULTRA_LCD diff --git a/Marlin/src/feature/I2CPositionEncoder.cpp b/Marlin/src/feature/I2CPositionEncoder.cpp index 7c80ff3a390d..d817f1400c6a 100644 --- a/Marlin/src/feature/I2CPositionEncoder.cpp +++ b/Marlin/src/feature/I2CPositionEncoder.cpp @@ -99,15 +99,15 @@ void I2CPositionEncoder::update() { //the encoder likely lost its place when the error occured, so we'll reset and use the printer's //idea of where it the axis is to re-initialise - float position = stepper.get_axis_position_mm(encoderAxis); - int32_t positionInTicks = position * get_ticks_unit(); + const float pos = planner.get_axis_position_mm(encoderAxis); + int32_t positionInTicks = pos * get_ticks_unit(); //shift position from previous to current position zeroOffset -= (positionInTicks - get_position()); #ifdef I2CPE_DEBUG SERIAL_ECHOPGM("Current position is "); - SERIAL_ECHOLN(position); + SERIAL_ECHOLN(pos); SERIAL_ECHOPGM("Position in encoder ticks is "); SERIAL_ECHOLN(positionInTicks); @@ -134,7 +134,7 @@ void I2CPositionEncoder::update() { #ifdef I2CPE_EC_THRESH_PROPORTIONAL const millis_t deltaTime = positionTime - lastPositionTime; - const uint32_t distance = abs(position - lastPosition), + const uint32_t distance = ABS(position - lastPosition), speed = distance / deltaTime; const float threshold = constrain((speed / 50), 1, 50) * ecThreshold; #else @@ -150,7 +150,7 @@ void I2CPositionEncoder::update() { LOOP_L_N(i, I2CPE_ERR_ARRAY_SIZE) { sum += err[i]; - if (i) diffSum += abs(err[i-1] - err[i]); + if (i) diffSum += ABS(err[i-1] - err[i]); } const int32_t error = int32_t(sum / (I2CPE_ERR_ARRAY_SIZE + 1)); //calculate average for error @@ -163,7 +163,7 @@ void I2CPositionEncoder::update() { //SERIAL_ECHOLN(error); #ifdef I2CPE_ERR_THRESH_ABORT - if (labs(error) > I2CPE_ERR_THRESH_ABORT * planner.axis_steps_per_mm[encoderAxis]) { + if (ABS(error) > I2CPE_ERR_THRESH_ABORT * planner.axis_steps_per_mm[encoderAxis]) { //kill("Significant Error"); SERIAL_ECHOPGM("Axis error greater than set threshold, aborting!"); SERIAL_ECHOLN(error); @@ -175,13 +175,13 @@ void I2CPositionEncoder::update() { if (errIdx == 0) { // In order to correct for "error" but avoid correcting for noise and non-skips // it must be > threshold and have a difference average of < 10 and be < 2000 steps - if (labs(error) > threshold * planner.axis_steps_per_mm[encoderAxis] && - diffSum < 10 * (I2CPE_ERR_ARRAY_SIZE - 1) && labs(error) < 2000) { // Check for persistent error (skip) + if (ABS(error) > threshold * planner.axis_steps_per_mm[encoderAxis] && + diffSum < 10 * (I2CPE_ERR_ARRAY_SIZE - 1) && ABS(error) < 2000) { // Check for persistent error (skip) errPrst[errPrstIdx++] = error; // Error must persist for I2CPE_ERR_PRST_ARRAY_SIZE error cycles. This also serves to improve the average accuracy if (errPrstIdx >= I2CPE_ERR_PRST_ARRAY_SIZE) { float sumP = 0; LOOP_L_N(i, I2CPE_ERR_PRST_ARRAY_SIZE) sumP += errPrst[i]; - const int32_t errorP = int32_t(sumP * (1.0 / (I2CPE_ERR_PRST_ARRAY_SIZE))); + const int32_t errorP = int32_t(sumP * (1.0f / (I2CPE_ERR_PRST_ARRAY_SIZE))); SERIAL_ECHO(axis_codes[encoderAxis]); SERIAL_ECHOPAIR(" - err detected: ", errorP * planner.steps_to_mm[encoderAxis]); SERIAL_ECHOLNPGM("mm; correcting!"); @@ -193,14 +193,14 @@ void I2CPositionEncoder::update() { errPrstIdx = 0; } #else - if (labs(error) > threshold * planner.axis_steps_per_mm[encoderAxis]) { + if (ABS(error) > threshold * planner.axis_steps_per_mm[encoderAxis]) { //SERIAL_ECHOLN(error); //SERIAL_ECHOLN(position); thermalManager.babystepsTodo[encoderAxis] = -LROUND(error / 2); } #endif - if (labs(error) > I2CPE_ERR_CNT_THRESH * planner.axis_steps_per_mm[encoderAxis]) { + if (ABS(error) > I2CPE_ERR_CNT_THRESH * planner.axis_steps_per_mm[encoderAxis]) { const millis_t ms = millis(); if (ELAPSED(ms, nextErrorCountTime)) { SERIAL_ECHOPAIR("Large error on ", axis_codes[encoderAxis]); @@ -254,11 +254,11 @@ bool I2CPositionEncoder::passes_test(const bool report) { float I2CPositionEncoder::get_axis_error_mm(const bool report) { float target, actual, error; - target = stepper.get_axis_position_mm(encoderAxis); + target = planner.get_axis_position_mm(encoderAxis); actual = mm_from_count(position); error = actual - target; - if (labs(error) > 10000) error = 0; // ? + if (ABS(error) > 10000) error = 0; // ? if (report) { SERIAL_ECHO(axis_codes[encoderAxis]); @@ -293,7 +293,7 @@ int32_t I2CPositionEncoder::get_axis_error_steps(const bool report) { error = (encoderCountInStepperTicksScaled - target); //suppress discontinuities (might be caused by bad I2C readings...?) - bool suppressOutput = (labs(error - errorPrev) > 100); + const bool suppressOutput = (ABS(error - errorPrev) > 100); if (report) { SERIAL_ECHO(axis_codes[encoderAxis]); @@ -349,18 +349,18 @@ bool I2CPositionEncoder::test_axis() { ec = false; LOOP_NA(i) { - startCoord[i] = stepper.get_axis_position_mm((AxisEnum)i); - endCoord[i] = stepper.get_axis_position_mm((AxisEnum)i); + startCoord[i] = planner.get_axis_position_mm((AxisEnum)i); + endCoord[i] = planner.get_axis_position_mm((AxisEnum)i); } startCoord[encoderAxis] = startPosition; endCoord[encoderAxis] = endPosition; - stepper.synchronize(); + planner.synchronize(); - planner.buffer_line(startCoord[X_AXIS],startCoord[Y_AXIS],startCoord[Z_AXIS], - stepper.get_axis_position_mm(E_AXIS), feedrate, 0); - stepper.synchronize(); + planner.buffer_line(startCoord[X_AXIS], startCoord[Y_AXIS], startCoord[Z_AXIS], + planner.get_axis_position_mm(E_AXIS), feedrate, 0); + planner.synchronize(); // if the module isn't currently trusted, wait until it is (or until it should be if things are working) if (!trusted) { @@ -371,8 +371,8 @@ bool I2CPositionEncoder::test_axis() { if (trusted) { // if trusted, commence test planner.buffer_line(endCoord[X_AXIS], endCoord[Y_AXIS], endCoord[Z_AXIS], - stepper.get_axis_position_mm(E_AXIS), feedrate, 0); - stepper.synchronize(); + planner.get_axis_position_mm(E_AXIS), feedrate, 0); + planner.synchronize(); } return trusted; @@ -408,34 +408,34 @@ void I2CPositionEncoder::calibrate_steps_mm(const uint8_t iter) { travelDistance = endDistance - startDistance; LOOP_NA(i) { - startCoord[i] = stepper.get_axis_position_mm((AxisEnum)i); - endCoord[i] = stepper.get_axis_position_mm((AxisEnum)i); + startCoord[i] = planner.get_axis_position_mm((AxisEnum)i); + endCoord[i] = planner.get_axis_position_mm((AxisEnum)i); } startCoord[encoderAxis] = startDistance; endCoord[encoderAxis] = endDistance; - LOOP_L_N(i, iter) { - stepper.synchronize(); + planner.synchronize(); - planner.buffer_line(startCoord[X_AXIS],startCoord[Y_AXIS],startCoord[Z_AXIS], - stepper.get_axis_position_mm(E_AXIS), feedrate, 0); - stepper.synchronize(); + LOOP_L_N(i, iter) { + planner.buffer_line(startCoord[X_AXIS], startCoord[Y_AXIS], startCoord[Z_AXIS], + planner.get_axis_position_mm(E_AXIS), feedrate, 0); + planner.synchronize(); delay(250); startCount = get_position(); //do_blocking_move_to(endCoord[X_AXIS],endCoord[Y_AXIS],endCoord[Z_AXIS]); - planner.buffer_line(endCoord[X_AXIS],endCoord[Y_AXIS],endCoord[Z_AXIS], - stepper.get_axis_position_mm(E_AXIS), feedrate, 0); - stepper.synchronize(); + planner.buffer_line(endCoord[X_AXIS], endCoord[Y_AXIS], endCoord[Z_AXIS], + planner.get_axis_position_mm(E_AXIS), feedrate, 0); + planner.synchronize(); //Read encoder distance delay(250); stopCount = get_position(); - travelledDistance = mm_from_count(abs(stopCount - startCount)); + travelledDistance = mm_from_count(ABS(stopCount - startCount)); SERIAL_ECHOPAIR("Attempted to travel: ", travelDistance); SERIAL_ECHOLNPGM("mm."); diff --git a/Marlin/src/feature/I2CPositionEncoder.h b/Marlin/src/feature/I2CPositionEncoder.h index 4ed5c7883605..224e0da8b22d 100644 --- a/Marlin/src/feature/I2CPositionEncoder.h +++ b/Marlin/src/feature/I2CPositionEncoder.h @@ -133,16 +133,12 @@ class I2CPositionEncoder { nextErrorCountTime = 0, lastErrorTime; - //double positionMm; //calculate - #if ENABLED(I2CPE_ERR_ROLLING_AVERAGE) uint8_t errIdx = 0, errPrstIdx = 0; int err[I2CPE_ERR_ARRAY_SIZE] = { 0 }, errPrst[I2CPE_ERR_PRST_ARRAY_SIZE] = { 0 }; #endif - //float positionMm; //calculate - public: void init(const uint8_t address, const AxisEnum axis); void reset(); diff --git a/Marlin/src/feature/Max7219_Debug_LEDs.cpp b/Marlin/src/feature/Max7219_Debug_LEDs.cpp index 62fa049c89ac..d9e7a8964319 100644 --- a/Marlin/src/feature/Max7219_Debug_LEDs.cpp +++ b/Marlin/src/feature/Max7219_Debug_LEDs.cpp @@ -22,11 +22,9 @@ /** * This module is off by default, but can be enabled to facilitate the display of - * extra debug information during code development. It assumes the existence of a - * Max7219 LED Matrix. A suitable device can be obtained on eBay similar to this: - * http://www.ebay.com/itm/191781645249 for under $2.00 including shipping. + * extra debug information during code development. * - * Just connect up +5v and GND to give it power, then connect up the pins assigned + * Just connect up 5V and GND to give it power, then connect up the pins assigned * in Configuration_adv.h. For example, on the Re-ARM you could use: * * #define MAX7219_CLK_PIN 77 @@ -35,324 +33,527 @@ * * Max7219_init() is called automatically at startup, and then there are a number of * support functions available to control the LEDs in the 8x8 grid. - * - * void Max7219_init(); - * void Max7219_PutByte(uint8_t data); - * void Max7219(uint8_t reg, uint8_t data); - * void Max7219_LED_On(uint8_t col, uint8_t row); - * void Max7219_LED_Off(uint8_t col, uint8_t row); - * void Max7219_LED_Toggle(uint8_t col, uint8_t row); - * void Max7219_Clear_Row(uint8_t row); - * void Max7219_Clear_Column(uint8_t col); - * void Max7219_Set_Row(uint8_t row, uint8_t val); - * void Max7219_Set_2_Rows(uint8_t row, uint16_t val); - * void Max7219_Set_4_Rows(uint8_t row, uint32_t val); - * void Max7219_Set_Column(uint8_t col, uint8_t val); - * void Max7219_idle_tasks(); */ -#include "../inc/MarlinConfig.h" +#include "../inc/MarlinConfigPre.h" #if ENABLED(MAX7219_DEBUG) +#define MAX7219_ERRORS // Disable to save 406 bytes of Program Memory + #include "Max7219_Debug_LEDs.h" #include "../module/planner.h" #include "../module/stepper.h" #include "../Marlin.h" +#include "../HAL/Delay.h" -static uint8_t LEDs[8] = { 0 }; +uint8_t LEDs[8 * (MAX7219_NUMBER_UNITS)] = { 0 }; + +#ifndef MAX7219_ROTATE + #define MAX7219_ROTATE 0 +#endif #ifdef CPU_32_BIT - #define MS_DELAY() delayMicroseconds(7) // 32-bit processors need a delay to stabilize the signal + // Approximate a 1µs delay on 32-bit ARM + #define SIG_DELAY() DELAY_US(1) #else - #define MS_DELAY() DELAY_3_NOP + // Delay for 0.1875µs (16MHz AVR) or 0.15µs (20MHz AVR) + #define SIG_DELAY() DELAY_NS(188) #endif void Max7219_PutByte(uint8_t data) { - CRITICAL_SECTION_START + #ifndef CPU_32_BIT + CRITICAL_SECTION_START; + #endif for (uint8_t i = 8; i--;) { - MS_DELAY(); + SIG_DELAY(); WRITE(MAX7219_CLK_PIN, LOW); // tick - MS_DELAY(); + SIG_DELAY(); WRITE(MAX7219_DIN_PIN, (data & 0x80) ? HIGH : LOW); // send 1 or 0 based on data bit - MS_DELAY(); + SIG_DELAY(); WRITE(MAX7219_CLK_PIN, HIGH); // tock - MS_DELAY(); + SIG_DELAY(); data <<= 1; } - CRITICAL_SECTION_END + #ifndef CPU_32_BIT + CRITICAL_SECTION_END; + #endif +} +void Max7219_pulse_load() { + SIG_DELAY(); + WRITE(MAX7219_LOAD_PIN, LOW); // tell the chip to load the data + SIG_DELAY(); + WRITE(MAX7219_LOAD_PIN, HIGH); + SIG_DELAY(); } void Max7219(const uint8_t reg, const uint8_t data) { - MS_DELAY(); - CRITICAL_SECTION_START - WRITE(MAX7219_LOAD_PIN, LOW); // begin - MS_DELAY(); + SIG_DELAY(); + #ifndef CPU_32_BIT + CRITICAL_SECTION_START; + #endif + SIG_DELAY(); Max7219_PutByte(reg); // specify register - MS_DELAY(); + SIG_DELAY(); Max7219_PutByte(data); // put data - MS_DELAY(); - WRITE(MAX7219_LOAD_PIN, LOW); // and tell the chip to load the data - MS_DELAY(); - WRITE(MAX7219_LOAD_PIN, HIGH); - CRITICAL_SECTION_END - MS_DELAY(); + CRITICAL_SECTION_END; } -void Max7219_LED_Set(const uint8_t col, const uint8_t row, const bool on) { - if (row > 7 || col > 7) { - SERIAL_ECHOPAIR("??? Max7219_LED_Set(", (int)row); - SERIAL_ECHOPAIR(",", (int)col); - SERIAL_ECHOLNPGM(")"); - return; +#if ENABLED(MAX7219_NUMERIC) + + // Draw an integer with optional leading zeros and optional decimal point + void Max7219_Print(const uint8_t start, int16_t value, uint8_t size, const bool leadzero=false, bool dec=false) { + constexpr uint8_t led_numeral[10] = { 0x7E, 0x60, 0x6D, 0x79, 0x63, 0x5B, 0x5F, 0x70, 0x7F, 0x7A }, + led_decimal = 0x80, led_minus = 0x01; + + bool blank = false, neg = value < 0; + if (neg) value *= -1; + while (size--) { + const bool minus = neg && blank; + if (minus) neg = false; + Max7219( + max7219_reg_digit0 + start + size, + minus ? led_minus : blank ? 0x00 : led_numeral[value % 10] | (dec ? led_decimal : 0x00) + ); + Max7219_pulse_load(); // tell the chips to load the clocked out data + value /= 10; + if (!value && !leadzero) blank = true; + dec = false; + } } - if (TEST(LEDs[row], col) == on) return; // if LED is already on/off, leave alone - if (on) SBI(LEDs[row], col); else CBI(LEDs[row], col); - Max7219(8 - row, LEDs[row]); -} -void Max7219_LED_On(const uint8_t col, const uint8_t row) { - if (row > 7 || col > 7) { - SERIAL_ECHOPAIR("??? Max7219_LED_On(", (int)col); - SERIAL_ECHOPAIR(",", (int)row); - SERIAL_ECHOLNPGM(")"); - return; + // Draw a float with a decimal point and optional digits + void Max7219_Print(const uint8_t start, const float value, const uint8_t pre_size, const uint8_t post_size, const bool leadzero=false) { + if (pre_size) Max7219_Print(start, value, pre_size, leadzero, !!post_size); + if (post_size) { + const int16_t after = ABS(value) * (10 ^ post_size); + Max7219_Print(start + pre_size, after, post_size, true); + } } - Max7219_LED_Set(col, row, true); + +#endif // MAX7219_NUMERIC + +inline void Max7219_Error(const char * const func, const int32_t v1, const int32_t v2=-1) { + #if ENABLED(MAX7219_ERRORS) + SERIAL_ECHOPGM("??? "); + serialprintPGM(func); + SERIAL_CHAR('('); + SERIAL_ECHO(v1); + if (v2 > 0) SERIAL_ECHOPAIR(", ", v2); + SERIAL_CHAR(')'); + SERIAL_EOL(); + #else + UNUSED(func); UNUSED(v1); UNUSED(v2); + #endif } -void Max7219_LED_Off(const uint8_t col, const uint8_t row) { - if (row > 7 || col > 7) { - SERIAL_ECHOPAIR("??? Max7219_LED_Off(", (int)row); - SERIAL_ECHOPAIR(",", (int)col); - SERIAL_ECHOLNPGM(")"); - return; +/** + * uint32_t flipped(const uint32_t bits, const uint8_t n_bytes) operates on the number + * of bytes specified in n_bytes. The lower order bits of the supplied bits are flipped. + * flipped( x, 1) flips the low 8 bits of x. + * flipped( x, 2) flips the low 16 bits of x. + * flipped( x, 3) flips the low 24 bits of x. + * flipped( x, 4) flips the low 32 bits of x. + */ + +inline uint32_t flipped(const uint32_t bits, const uint8_t n_bytes) { + uint32_t mask = 1, outbits = 0; + for (uint8_t b = 0; b < n_bytes * 8; b++) { + outbits = (outbits << 1); + if (bits & mask) + outbits |= 1; + mask <<= 1; } - Max7219_LED_Set(col, row, false); + return outbits; } -void Max7219_LED_Toggle(const uint8_t col, const uint8_t row) { - if (row > 7 || col > 7) { - SERIAL_ECHOPAIR("??? Max7219_LED_Toggle(", (int)row); - SERIAL_ECHOPAIR(",", (int)col); - SERIAL_ECHOLNPGM(")"); - return; - } - if (TEST(LEDs[row], col)) - Max7219_LED_Off(col, row); - else - Max7219_LED_On(col, row); +// Modify a single LED bit and send the changed line +void Max7219_LED_Set(const uint8_t x, const uint8_t y, const bool on) { + if (x > (MAX7219_X_LEDS - 1) || y > (MAX7219_Y_LEDS - 1)) return Max7219_Error(PSTR("Max7219_LED_Set"), x, y); + if (BIT_7219(x, y) == on) return; + XOR_7219(x, y); + SEND_7219(MAX7219_UPDATE_AXIS); } -void Max7219_Clear_Column(const uint8_t col) { - if (col > 7) { - SERIAL_ECHOPAIR("??? Max7219_Clear_Column(", (int)col); - SERIAL_ECHOLNPGM(")"); - return; +void Max7219_LED_On(const uint8_t x, const uint8_t y) { + if (x > (MAX7219_X_LEDS - 1) || y > (MAX7219_Y_LEDS - 1)) return Max7219_Error(PSTR("Max7219_LED_On"), x, y); + Max7219_LED_Set(x, y, true); +} + +void Max7219_LED_Off(const uint8_t x, const uint8_t y) { + if (x > (MAX7219_X_LEDS - 1) || y > (MAX7219_Y_LEDS - 1)) return Max7219_Error(PSTR("Max7219_LED_Off"), x, y); + Max7219_LED_Set(x, y, false); +} + +void Max7219_LED_Toggle(const uint8_t x, const uint8_t y) { + if (x > (MAX7219_X_LEDS - 1) || y > (MAX7219_Y_LEDS - 1)) return Max7219_Error(PSTR("Max7219_LED_Toggle"), x, y); + Max7219_LED_Set(x, y, !BIT_7219(x, y)); +} + +inline void _Max7219_Set_Digit_Segments(const uint8_t digit, const uint8_t val) { + LEDs[digit] = val; + SEND_7219(digit); +} + +/** + * void Max7219_Set_Row( const uint8_t col, const uint32_t val) plots the low order bits of + * val to the specified row of the Max7219 matrix. With 4 Max7219 units in the chain, it + * is possible to display an entire 32-bit number with one call to the function (if appropriately + * orientated). + */ +void Max7219_Set_Row(const uint8_t row, const uint32_t val) { + if (row >= MAX7219_Y_LEDS) return Max7219_Error(PSTR("Max7219_Set_Row"), row); + uint32_t mask = 0x0000001; + for (uint8_t x = 0; x < MAX7219_X_LEDS; x++) { + if (val & mask) + SET_PIXEL_7219((MAX7219_X_LEDS-1-x), row); + else + CLEAR_PIXEL_7219((MAX7219_X_LEDS-1-x), row); + mask <<= 1; } - LEDs[col] = 0; - Max7219(8 - col, LEDs[col]); + + #if _ROT == 90 || _ROT == 270 + for (uint8_t x = 0; x < 8; x++) + SEND_7219(x); // force all columns out to the Max7219 chips and strobe them + #else + SEND_7219(row); // force the single column out to the Max7219 chips and strobe them + #endif } void Max7219_Clear_Row(const uint8_t row) { - if (row > 7) { - SERIAL_ECHOPAIR("??? Max7219_Clear_Row(", (int)row); - SERIAL_ECHOLNPGM(")"); - return; - } - for (uint8_t c = 0; c <= 7; c++) - Max7219_LED_Off(c, row); + if (row > 7) return Max7219_Error(PSTR("Max7219_Clear_Row"), row); + #if _ROT == 90 || _ROT == 270 + for (uint8_t col = 0; col < 8; col++) Max7219_LED_Off(col, row); + #else + _Max7219_Set_Digit_Segments(row, 0); + #endif } -void Max7219_Set_Row(const uint8_t row, const uint8_t val) { - if (row > 7) { - SERIAL_ECHOPAIR("??? Max7219_Set_Row(", (int)row); - SERIAL_ECHOPAIR(",", (int)val); - SERIAL_ECHOLNPGM(")"); - return; - } - for (uint8_t b = 0; b <= 7; b++) - if (TEST(val, b)) - Max7219_LED_On(7 - b, row); +/** + * void Max7219_Set_Column( const uint8_t col, const uint32_t val) plots the low order bits of + * val to the specified column of the Max7219 matrix. With 4 Max7219 units in the chain, it + * is possible to display an entire 32-bit number with one call to the function (if appropriately + * orientated). + */ +void Max7219_Set_Column(const uint8_t col, const uint32_t val) { + if (col >= MAX7219_X_LEDS) return Max7219_Error(PSTR("Max7219_Set_Column"), col); + uint32_t mask = 0x0000001; + for (uint8_t y = 0; y < MAX7219_Y_LEDS; y++) { + if (val & mask) + SET_PIXEL_7219(col, MAX7219_Y_LEDS-1-y); else - Max7219_LED_Off(7 - b, row); + CLEAR_PIXEL_7219(col, MAX7219_Y_LEDS-1-y); + mask <<= 1; + } + #if _ROT == 90 || _ROT == 270 + SEND_7219(col); // force the column out to the Max7219 chips and strobe them + #else + for (uint8_t yy = 0; yy < 8; yy++) + SEND_7219(yy); // force all columns out to the Max7219 chips and strobe them + #endif } -void Max7219_Set_2_Rows(const uint8_t row, const uint16_t val) { - if (row > 6) { - SERIAL_ECHOPAIR("??? Max7219_Set_2_Rows(", (int)row); - SERIAL_ECHOPAIR(",", (int)val); - SERIAL_ECHOLNPGM(")"); - return; - } - Max7219_Set_Row(row + 1, (val >> 8) & 0xFF); - Max7219_Set_Row(row + 0, (val ) & 0xFF); +void Max7219_Clear_Column(const uint8_t col) { + if (col >= MAX7219_X_LEDS) return Max7219_Error(PSTR("Max7219_Clear_Column"), col); + + for (uint8_t yy = 0; yy < MAX7219_Y_LEDS; yy++) + CLEAR_PIXEL_7219(col, yy); + + #if _ROT == 90 || _ROT == 270 + SEND_7219(col); // force the column out to the Max7219 chips and strobe them + #else + for (uint8_t y = 0; y < 8; y++) + SEND_7219(y); // force all columns out to the Max7219 chips and strobe them + #endif } -void Max7219_Set_4_Rows(const uint8_t row, const uint32_t val) { - if (row > 4) { - SERIAL_ECHOPAIR("??? Max7219_Set_4_Rows(", (int)row); - SERIAL_ECHOPAIR(",", (long)val); - SERIAL_ECHOLNPGM(")"); - return; +void Max7219_Clear() { + for (uint8_t i = 0; i <= 7; i++) { // Clear LED bitmap + for (uint8_t j = 0; j < MAX7219_NUMBER_UNITS; j++) + LEDs[i + j * 8] = 0x00; + SEND_7219(i); } - Max7219_Set_Row(row + 3, (val >> 24) & 0xFF); - Max7219_Set_Row(row + 2, (val >> 16) & 0xFF); - Max7219_Set_Row(row + 1, (val >> 8) & 0xFF); - Max7219_Set_Row(row + 0, (val ) & 0xFF); + } -void Max7219_Set_Column(const uint8_t col, const uint8_t val) { - if (col > 7) { - SERIAL_ECHOPAIR("??? Max7219_Column(", (int)col); - SERIAL_ECHOPAIR(",", (int)val); - SERIAL_ECHOLNPGM(")"); - return; - } - LEDs[col] = val; - Max7219(8 - col, LEDs[col]); +void Max7219_Set_Rows_16bits(const uint8_t y, uint32_t val) { + #if MAX7219_X_LEDS == 8 + if (y > MAX7219_Y_LEDS - 2) return Max7219_Error(PSTR("Max7219_Set_Rows_16bits"), y, val); + Max7219_Set_Row(y + 1, val); val >>= 8; + Max7219_Set_Row(y + 0, val); + #else // at least 16 bits on each row + if (y > MAX7219_Y_LEDS - 1) return Max7219_Error(PSTR("Max7219_Set_Rows_16bits"), y, val); + Max7219_Set_Row(y, val); + #endif +} + +void Max7219_Set_Rows_32bits(const uint8_t y, uint32_t val) { + #if MAX7219_X_LEDS == 8 + if (y > MAX7219_Y_LEDS - 4) return Max7219_Error(PSTR("Max7219_Set_Rows_32bits"), y, val); + Max7219_Set_Row(y + 3, val); val >>= 8; + Max7219_Set_Row(y + 2, val); val >>= 8; + Max7219_Set_Row(y + 1, val); val >>= 8; + Max7219_Set_Row(y + 0, val); + #elif MAX7219_X_LEDS == 16 + if (y > MAX7219_Y_LEDS - 2) return Max7219_Error(PSTR("Max7219_Set_Rows_32bits"), y, val); + Max7219_Set_Row(y + 1, val); val >>= 16; + Max7219_Set_Row(y + 0, val); + #else // at least 24 bits on each row. In the 3 matrix case, just display the low 24 bits + if (y > MAX7219_Y_LEDS - 1) return Max7219_Error(PSTR("Max7219_Set_Rows_32bits"), y, val); + Max7219_Set_Row(y, val); + #endif +} + +void Max7219_Set_Columns_16bits(const uint8_t x, uint32_t val) { + #if MAX7219_Y_LEDS == 8 + if (x > MAX7219_X_LEDS - 2) return Max7219_Error(PSTR("Max7219_Set_Columns_16bits"), x, val); + Max7219_Set_Column(x + 0, val); val >>= 8; + Max7219_Set_Column(x + 1, val); + #else // at least 16 bits in each column + if (x > MAX7219_X_LEDS - 1) return Max7219_Error(PSTR("Max7219_Set_Columns_16bits"), x, val); + Max7219_Set_Column(x, val); + #endif +} + +void Max7219_Set_Columns_32bits(const uint8_t x, uint32_t val) { + #if MAX7219_Y_LEDS == 8 + if (x > MAX7219_X_LEDS - 4) return Max7219_Error(PSTR("Max7219_Set_Rows_32bits"), x, val); + Max7219_Set_Column(x + 3, val); val >>= 8; + Max7219_Set_Column(x + 2, val); val >>= 8; + Max7219_Set_Column(x + 1, val); val >>= 8; + Max7219_Set_Column(x + 0, val); + #elif MAX7219_Y_LEDS == 16 + if (x > MAX7219_X_LEDS - 2) return Max7219_Error(PSTR("Max7219_Set_Rows_32bits"), x, val); + Max7219_Set_Column(x + 1, val); val >>= 16; + Max7219_Set_Column(x + 0, val); + #else // at least 24 bits on each row. In the 3 matrix case, just display the low 24 bits + if (x > MAX7219_X_LEDS - 1) return Max7219_Error(PSTR("Max7219_Set_Rows_32bits"), x, val); + Max7219_Set_Column(x, val); + #endif } void Max7219_register_setup() { - //initiation of the max 7219 - Max7219(max7219_reg_scanLimit, 0x07); - Max7219(max7219_reg_decodeMode, 0x00); // using an led matrix (not digits) - Max7219(max7219_reg_shutdown, 0x01); // not in shutdown mode - Max7219(max7219_reg_displayTest, 0x00); // no display test - Max7219(max7219_reg_intensity, 0x01 & 0x0F); // the first 0x0F is the value you can set + // Initialize the Max7219 + for (uint8_t i = 0; i < MAX7219_NUMBER_UNITS; i++) + Max7219(max7219_reg_scanLimit, 0x07); + Max7219_pulse_load(); // tell the chips to load the clocked out data + + for (uint8_t i = 0; i < MAX7219_NUMBER_UNITS; i++) + Max7219(max7219_reg_decodeMode, 0x00); // using an led matrix (not digits) + Max7219_pulse_load(); // tell the chips to load the clocked out data + + for (uint8_t i = 0; i < MAX7219_NUMBER_UNITS; i++) + Max7219(max7219_reg_shutdown, 0x01); // not in shutdown mode + Max7219_pulse_load(); // tell the chips to load the clocked out data + + for (uint8_t i = 0; i < MAX7219_NUMBER_UNITS; i++) + Max7219(max7219_reg_displayTest, 0x00); // no display test + Max7219_pulse_load(); // tell the chips to load the clocked out data + + for (uint8_t i = 0; i < MAX7219_NUMBER_UNITS; i++) + Max7219(max7219_reg_intensity, 0x01 & 0x0F); // the first 0x0F is the value you can set // range: 0x00 to 0x0F + Max7219_pulse_load(); // tell the chips to load the clocked out data } -void Max7219_init() { - uint8_t i, x, y; +#ifdef MAX7219_INIT_TEST +#if (MAX7219_INIT_TEST + 0) == 2 + + inline void Max7219_spiral(const bool on, const uint16_t del) { + constexpr int8_t way[] = { 1, 0, 0, 1, -1, 0, 0, -1 }; + int8_t px = 0, py = 0, dir = 0; + for (uint8_t i = MAX7219_X_LEDS * MAX7219_Y_LEDS; i--;) { + Max7219_LED_Set(px, py, on); + delay(del); + const int8_t x = px + way[dir], y = py + way[dir + 1]; + if (!WITHIN(x, 0, MAX7219_X_LEDS-1) || !WITHIN(y, 0, MAX7219_Y_LEDS-1) || BIT_7219(x, y) == on) dir = (dir + 2) & 0x7; + px += way[dir]; py += way[dir + 1]; + } + } +#else + + inline void Max7219_sweep(const int8_t dir, const uint16_t ms, const bool on) { + uint8_t x = dir > 0 ? 0 : MAX7219_X_LEDS-1; + for (uint8_t i = MAX7219_X_LEDS; i--; x += dir) { + Max7219_Set_Column(x, on ? 0xFFFFFFFF : 0x00000000); + delay(ms); + } + } + +#endif +#endif // MAX7219_INIT_TEST + +void Max7219_init() { SET_OUTPUT(MAX7219_DIN_PIN); SET_OUTPUT(MAX7219_CLK_PIN); - OUT_WRITE(MAX7219_LOAD_PIN, HIGH); delay(1); Max7219_register_setup(); - for (i = 0; i <= 7; i++) { // empty registers, turn all LEDs off + for (uint8_t i = 0; i <= 7; i++) { // Empty registers to turn all LEDs off LEDs[i] = 0x00; - Max7219(i + 1, 0); + Max7219(max7219_reg_digit0 + i, 0); + Max7219_pulse_load(); // tell the chips to load the clocked out data } - for (x = 0; x <= 7; x++) // Do an aesthetically pleasing pattern to fully test - for (y = 0; y <= 7; y++) { // the Max7219 module and LEDs. First, turn them - Max7219_LED_On(y, x); // all on. - delay(3); - } + #ifdef MAX7219_INIT_TEST + #if (MAX7219_INIT_TEST + 0) == 2 + Max7219_spiral(true, 8); + delay(150); + Max7219_spiral(false, 8); + #else + // Do an aesthetically-pleasing pattern to fully test the Max7219 module and LEDs. + // Light up and turn off columns, both forward and backward. + Max7219_sweep(1, 20, true); + Max7219_sweep(1, 20, false); + delay(150); + Max7219_sweep(-1, 20, true); + Max7219_sweep(-1, 20, false); + #endif + #endif +} - for (x = 0; x <= 7; x++) // Now, turn them all off. - for (y = 0; y <= 7; y++) { - Max7219_LED_Off(y, x); - delay(3); // delay() is OK here. Max7219_init() is only called from - } // setup() and nothing is running yet. +/** + * This code demonstrates some simple debugging using a single 8x8 LED Matrix. If your feature could + * benefit from matrix display, add its code here. Very little processing is required, so the 7219 is + * ideal for debugging when realtime feedback is important but serial output can't be used. + */ - delay(150); +// Apply changes to update a marker +inline void Max7219_Mark16(const uint8_t y, const uint8_t v1, const uint8_t v2) { + #if MAX7219_X_LEDS == 8 + #if MAX7219_Y_LEDS == 8 + Max7219_LED_Off(v1 & 0x7, y + (v1 >= 8)); + Max7219_LED_On(v2 & 0x7, y + (v2 >= 8)); + #else + Max7219_LED_Off(y, v1 & 0xF); // The Max7219 Y-Axis has at least 16 LED's. So use a single column + Max7219_LED_On(y, v2 & 0xF); + #endif + #else // LED matrix has at least 16 LED's on the X-Axis. Use single line of LED's + Max7219_LED_Off(v1 & 0xf, y); + Max7219_LED_On(v2 & 0xf, y); + #endif +} - for (x = 8; x--;) // Now, do the same thing from the opposite direction - for (y = 0; y <= 7; y++) { - Max7219_LED_On(y, x); - delay(2); - } +// Apply changes to update a tail-to-head range +inline void Max7219_Range16(const uint8_t y, const uint8_t ot, const uint8_t nt, const uint8_t oh, const uint8_t nh) { + #if MAX7219_X_LEDS == 8 + #if MAX7219_Y_LEDS == 8 + if (ot != nt) for (uint8_t n = ot & 0xF; n != (nt & 0xF) && n != (nh & 0xF); n = (n + 1) & 0xF) + Max7219_LED_Off(n & 0x7, y + (n >= 8)); + if (oh != nh) for (uint8_t n = (oh + 1) & 0xF; n != ((nh + 1) & 0xF); n = (n + 1) & 0xF) + Max7219_LED_On(n & 0x7, y + (n >= 8)); + #else // The Max7219 Y-Axis has at least 16 LED's. So use a single column + if (ot != nt) for (uint8_t n = ot & 0xF; n != (nt & 0xF) && n != (nh & 0xF); n = (n + 1) & 0xF) + Max7219_LED_Off(y, n & 0xF); + if (oh != nh) for (uint8_t n = (oh + 1) & 0xF; n != ((nh + 1) & 0xF); n = (n + 1) & 0xF) + Max7219_LED_On(y, n & 0xF); + #endif + #else // LED matrix has at least 16 LED's on the X-Axis. Use single line of LED's + if (ot != nt) for (uint8_t n = ot & 0xF; n != (nt & 0xF) && n != (nh & 0xF); n = (n + 1) & 0xF) + Max7219_LED_Off(n & 0xf, y); + if (oh != nh) for (uint8_t n = (oh + 1) & 0xF; n != ((nh + 1) & 0xF); n = (n + 1) & 0xF) + Max7219_LED_On(n & 0xf, y); + #endif +} - for (x = 8; x--;) - for (y = 0; y <= 7; y++) { - Max7219_LED_Off(y, x); - delay(2); - } +// Apply changes to update a quantity +inline void Max7219_Quantity16(const uint8_t y, const uint8_t ov, const uint8_t nv) { + for (uint8_t i = MIN(nv, ov); i < MAX(nv, ov); i++) + #if MAX7219_X_LEDS == 8 + #if MAX7219_Y_LEDS == 8 + Max7219_LED_Set(i >> 1, y + (i & 1), nv >= ov); // single 8x8 LED matrix. Use two lines to get 16 LED's + #else + Max7219_LED_Set(y, i, nv >= ov); // The Max7219 Y-Axis has at least 16 LED's. So use a single column + #endif + #else + Max7219_LED_Set(i, y, nv >= ov); // LED matrix has at least 16 LED's on the X-Axis. Use single line of LED's + #endif } -/** - * These are sample debug features to demonstrate the usage of the 8x8 LED Matrix for debug purposes. - * There is very little CPU burden added to the system by displaying information within the idle() - * task. - * - * But with that said, if your debugging can be facilitated by making calls into the library from - * other places in the code, feel free to do it. The CPU burden for a few calls to toggle an LED - * or clear a row is not very significant. - */ void Max7219_idle_tasks() { - #if MAX7219_DEBUG_STEPPER_HEAD || MAX7219_DEBUG_STEPPER_TAIL || MAX7219_DEBUG_STEPPER_QUEUE - CRITICAL_SECTION_START - #if MAX7219_DEBUG_STEPPER_HEAD || MAX7219_DEBUG_STEPPER_QUEUE + #define MAX7219_USE_HEAD (defined(MAX7219_DEBUG_PLANNER_HEAD) || defined(MAX7219_DEBUG_PLANNER_QUEUE)) + #define MAX7219_USE_TAIL (defined(MAX7219_DEBUG_PLANNER_TAIL) || defined(MAX7219_DEBUG_PLANNER_QUEUE)) + #if MAX7219_USE_HEAD || MAX7219_USE_TAIL + #ifndef CPU_32_BIT + CRITICAL_SECTION_START; + #endif + #if MAX7219_USE_HEAD const uint8_t head = planner.block_buffer_head; #endif - #if MAX7219_DEBUG_STEPPER_TAIL || MAX7219_DEBUG_STEPPER_QUEUE + #if MAX7219_USE_TAIL const uint8_t tail = planner.block_buffer_tail; #endif - CRITICAL_SECTION_END + #ifndef CPU_32_BIT + CRITICAL_SECTION_END; + #endif #endif - - static uint16_t refresh_cnt = 0; // The Max7219 circuit boards available for several dollars on eBay - if (refresh_cnt++ > 50000) { // are vulnerable to electrical noise, especially with long wires - Max7219_register_setup(); // next to high current wires. If the display becomes corrupted due - Max7219_LED_Toggle(7, 0); // to electrical noise, this will fix it within a couple of seconds. - refresh_cnt = 0; - } #if ENABLED(MAX7219_DEBUG_PRINTER_ALIVE) + static uint8_t refresh_cnt; // = 0 + constexpr uint16_t refresh_limit = 5; static millis_t next_blink = 0; - if (ELAPSED(millis(), next_blink)) { - Max7219_LED_Toggle(7, 7); - next_blink = millis() + 750; - } + const millis_t ms = millis(); + const bool do_blink = ELAPSED(ms, next_blink); + #else + static uint16_t refresh_cnt; // = 0 + constexpr bool do_blink = true; + constexpr uint16_t refresh_limit = 50000; #endif - #ifdef MAX7219_DEBUG_STEPPER_HEAD - static int16_t last_head_cnt = 0; - if (last_head_cnt != head) { - if (last_head_cnt < 8) - Max7219_LED_Off(MAX7219_DEBUG_STEPPER_HEAD, last_head_cnt); - else - Max7219_LED_Off(MAX7219_DEBUG_STEPPER_HEAD + 1, last_head_cnt - 8); + // Some Max7219 units are vulnerable to electrical noise, especially + // with long wires next to high current wires. If the display becomes + // corrupted, this will fix it within a couple seconds. + if (do_blink && ++refresh_cnt >= refresh_limit) { + refresh_cnt = 0; + Max7219_register_setup(); + } - last_head_cnt = head; - if (head < 8) - Max7219_LED_On(MAX7219_DEBUG_STEPPER_HEAD, head); - else - Max7219_LED_On(MAX7219_DEBUG_STEPPER_HEAD + 1, head - 8); + #if ENABLED(MAX7219_DEBUG_PRINTER_ALIVE) + if (do_blink) { + Max7219_LED_Toggle(MAX7219_X_LEDS - 1, MAX7219_Y_LEDS - 1); + next_blink = ms + 1000; } #endif - #ifdef MAX7219_DEBUG_STEPPER_TAIL - static int16_t last_tail_cnt = 0; - if (last_tail_cnt != tail) { - if (last_tail_cnt < 8) - Max7219_LED_Off(MAX7219_DEBUG_STEPPER_TAIL, last_tail_cnt); - else - Max7219_LED_Off(MAX7219_DEBUG_STEPPER_TAIL + 1, last_tail_cnt - 8); + #if defined(MAX7219_DEBUG_PLANNER_HEAD) && defined(MAX7219_DEBUG_PLANNER_TAIL) && MAX7219_DEBUG_PLANNER_HEAD == MAX7219_DEBUG_PLANNER_TAIL + static int16_t last_head_cnt = 0xF, last_tail_cnt = 0xF; + + if (last_head_cnt != head || last_tail_cnt != tail) { + Max7219_Range16(MAX7219_DEBUG_PLANNER_HEAD, last_tail_cnt, tail, last_head_cnt, head); + last_head_cnt = head; last_tail_cnt = tail; - if (tail < 8) - Max7219_LED_On(MAX7219_DEBUG_STEPPER_TAIL, tail); - else - Max7219_LED_On(MAX7219_DEBUG_STEPPER_TAIL + 1, tail - 8); } + + #else + + #ifdef MAX7219_DEBUG_PLANNER_HEAD + static int16_t last_head_cnt = 0x1; + if (last_head_cnt != head) { + Max7219_Mark16(MAX7219_DEBUG_PLANNER_HEAD, last_head_cnt, head); + last_head_cnt = head; + } + #endif + + #ifdef MAX7219_DEBUG_PLANNER_TAIL + static int16_t last_tail_cnt = 0x1; + if (last_tail_cnt != tail) { + Max7219_Mark16(MAX7219_DEBUG_PLANNER_TAIL, last_tail_cnt, tail); + last_tail_cnt = tail; + } + #endif + #endif - #ifdef MAX7219_DEBUG_STEPPER_QUEUE + #ifdef MAX7219_DEBUG_PLANNER_QUEUE static int16_t last_depth = 0; - int16_t current_depth = head - tail; - if (current_depth != last_depth) { // usually, no update will be needed. - if (current_depth < 0) current_depth += BLOCK_BUFFER_SIZE; - NOMORE(current_depth, BLOCK_BUFFER_SIZE); - NOMORE(current_depth, 16); // if the BLOCK_BUFFER_SIZE is greater than 16, two lines - // of LEDs is enough to see if the buffer is draining - - const uint8_t st = min(current_depth, last_depth), - en = max(current_depth, last_depth); - if (current_depth < last_depth) - for (uint8_t i = st; i <= en; i++) // clear the highest order LEDs - Max7219_LED_Off(MAX7219_DEBUG_STEPPER_QUEUE + (i & 1), i / 2); - else - for (uint8_t i = st; i <= en; i++) // set the LEDs to current depth - Max7219_LED_On(MAX7219_DEBUG_STEPPER_QUEUE + (i & 1), i / 2); - + const int16_t current_depth = (head - tail + BLOCK_BUFFER_SIZE) & (BLOCK_BUFFER_SIZE - 1) & 0xF; + if (current_depth != last_depth) { + Max7219_Quantity16(MAX7219_DEBUG_PLANNER_QUEUE, last_depth, current_depth); last_depth = current_depth; } #endif diff --git a/Marlin/src/feature/Max7219_Debug_LEDs.h b/Marlin/src/feature/Max7219_Debug_LEDs.h index 3beccb0ea8b8..e550a2906df4 100644 --- a/Marlin/src/feature/Max7219_Debug_LEDs.h +++ b/Marlin/src/feature/Max7219_Debug_LEDs.h @@ -22,11 +22,9 @@ /** * This module is off by default, but can be enabled to facilitate the display of - * extra debug information during code development. It assumes the existence of a - * Max7219 LED Matrix. A suitable device can be obtained on eBay similar to this: - * http://www.ebay.com/itm/191781645249 for under $2.00 including shipping. + * extra debug information during code development. * - * Just connect up +5v and GND to give it power, then connect up the pins assigned + * Just connect up 5V and GND to give it power, then connect up the pins assigned * in Configuration_adv.h. For example, on the Re-ARM you could use: * * #define MAX7219_CLK_PIN 77 @@ -36,27 +34,18 @@ * Max7219_init() is called automatically at startup, and then there are a number of * support functions available to control the LEDs in the 8x8 grid. * - * void Max7219_init(); - * void Max7219_PutByte(uint8_t data); - * void Max7219(uint8_t reg, uint8_t data); - * void Max7219_LED_Set(uint8_t row, uint8_t col, bool on); - * void Max7219_LED_On(uint8_t col, uint8_t row); - * void Max7219_LED_Off(uint8_t col, uint8_t row); - * void Max7219_LED_Toggle(uint8_t row, uint8_t col); - * void Max7219_Clear_Row(uint8_t row); - * void Max7219_Clear_Column(uint8_t col); - * void Max7219_Set_Row(uint8_t row, uint8_t val); - * void Max7219_Set_2_Rows(uint8_t row, uint16_t val); - * void Max7219_Set_4_Rows(uint8_t row, uint32_t val); - * void Max7219_Set_Column(uint8_t col, uint8_t val); - * void Max7219_idle_tasks(); + * If you are using the Max7219 matrix for firmware debug purposes in time sensitive + * areas of the code, please be aware that the orientation (rotation) of the display can + * affect the speed. The Max7219 can update a single column fairly fast. It is much + * faster to do a Max7219_Set_Column() with a rotation of 90 or 270 degrees than to do + * a Max7219_Set_Row(). The opposite is true for rotations of 0 or 180 degrees. */ #ifndef __MAX7219_DEBUG_LEDS_H__ #define __MAX7219_DEBUG_LEDS_H__ // -// define max7219 registers +// MAX7219 registers // #define max7219_reg_noop 0x00 #define max7219_reg_digit0 0x01 @@ -68,23 +57,91 @@ #define max7219_reg_digit6 0x07 #define max7219_reg_digit7 0x08 -#define max7219_reg_intensity 0x0A -#define max7219_reg_displayTest 0x0F #define max7219_reg_decodeMode 0x09 +#define max7219_reg_intensity 0x0A #define max7219_reg_scanLimit 0x0B #define max7219_reg_shutdown 0x0C +#define max7219_reg_displayTest 0x0F void Max7219_init(); void Max7219_PutByte(uint8_t data); +void Max7219_pulse_load(); + +// Set a single register (e.g., a whole native row) void Max7219(const uint8_t reg, const uint8_t data); -void Max7219_LED_Set(const uint8_t row, const uint8_t col, const bool on); -void Max7219_LED_On(const uint8_t row, const uint8_t col); -void Max7219_LED_Off(const uint8_t row, const uint8_t col); -void Max7219_LED_Toggle(const uint8_t row, const uint8_t col); -void Max7219_Clear_Row(const uint8_t row); + +// Set a single LED by XY coordinate +void Max7219_LED_Set(const uint8_t x, const uint8_t y, const bool on); +void Max7219_LED_On(const uint8_t x, const uint8_t y); +void Max7219_LED_Off(const uint8_t x, const uint8_t y); +void Max7219_LED_Toggle(const uint8_t x, const uint8_t y); + +// Set all LEDs in a single column +void Max7219_Set_Column(const uint8_t col, const uint32_t val); void Max7219_Clear_Column(const uint8_t col); -void Max7219_Set_Row(const uint8_t row, const uint8_t val); -void Max7219_Set_Column(const uint8_t col, const uint8_t val); + +// Set all LEDs in a single row +void Max7219_Set_Row(const uint8_t row, const uint32_t val); +void Max7219_Clear_Row(const uint8_t row); + +// 16 and 32 bit versions of Row and Column functions +// Multiple rows and columns will be used to display the value if +// the array of matrix LED's is too narrow to accomplish the goal +void Max7219_Set_Rows_16bits(const uint8_t y, uint32_t val); +void Max7219_Set_Rows_32bits(const uint8_t y, uint32_t val); +void Max7219_Set_Columns_16bits(const uint8_t x, uint32_t val); +void Max7219_Set_Columns_32bits(const uint8_t x, uint32_t val); + +// Quickly clear the whole matrix +void Max7219_Clear(); + +// Apply custom code to update the matrix void Max7219_idle_tasks(); +#ifndef MAX7219_ROTATE + #define MAX7219_ROTATE 0 +#endif +#define _ROT ((MAX7219_ROTATE + 360) % 360) +#if _ROT == 0 + #define MAX7219_UPDATE_AXIS y // Fast line update axis for this orientation of the matrix display + #define MAX7219_Y_LEDS 8 + #define MAX7219_X_LEDS (MAX7219_Y_LEDS * (MAX7219_NUMBER_UNITS)) + #define XOR_7219(x, y) LEDs[(x & 0xF8) + y] ^= _BV(7 - (x & 0x07)) + #define SET_PIXEL_7219(x, y) LEDs[(x & 0xF8) + y] |= _BV(7 - (x & 0x07)) + #define CLEAR_PIXEL_7219(x, y) LEDs[(x & 0xF8) + y] &= (_BV(7 - (x & 0x07)) ^ 0xFF) + #define BIT_7219(x, y) TEST(LEDs[(x & 0xF8) + y], 7 - (x & 0x07)) + #define SEND_7219(R) do {for(int8_t jj = 0; jj < MAX7219_NUMBER_UNITS; jj++) Max7219(max7219_reg_digit0 + (R & 0x7), LEDs[(R & 0x7) + jj * 8]); Max7219_pulse_load(); } while (0); +#elif _ROT == 90 + #define MAX7219_UPDATE_AXIS x // Fast line update axis for this orientation of the matrix display + #define MAX7219_X_LEDS 8 + #define MAX7219_Y_LEDS (MAX7219_X_LEDS * (MAX7219_NUMBER_UNITS)) + #define XOR_7219(x, y) LEDs[x + ((MAX7219_Y_LEDS - 1 - y) & 0xF8)] ^= _BV((y & 0x7)) + #define SET_PIXEL_7219(x, y) LEDs[x + ((MAX7219_Y_LEDS - 1 - y) & 0xF8)] |= _BV((y & 0x7)) + #define CLEAR_PIXEL_7219(x, y) LEDs[x + ((MAX7219_Y_LEDS - 1 - y) & 0xF8)] &= (_BV((y & 0x7)) ^ 0xFF) + #define BIT_7219(x, y) TEST(LEDs[x + ((MAX7219_Y_LEDS - 1 - y) & 0xF8)], (y & 0x7)) + #define SEND_7219(R) do {for(int8_t jj = 0; jj < MAX7219_NUMBER_UNITS; jj++) Max7219(max7219_reg_digit0 + (R & 0x7), LEDs[(R & 0x7) + jj * 8]); Max7219_pulse_load(); } while (0); +#elif _ROT == 180 + #define MAX7219_UPDATE_AXIS y // Fast line update axis for this orientation of the matrix display + #define MAX7219_Y_LEDS 8 + #define MAX7219_X_LEDS (MAX7219_Y_LEDS * (MAX7219_NUMBER_UNITS)) + #define XOR_7219(x, y) LEDs[y + (MAX7219_X_LEDS - 1 - (x)) & 0xF8] ^= _BV((x & 0x07)) + #define SET_PIXEL_7219(x, y) LEDs[y + (MAX7219_X_LEDS - 1 - (x)) & 0xF8] |= _BV((x & 0x07)) + #define CLEAR_PIXEL_7219(x, y) LEDs[y + (MAX7219_X_LEDS - 1 - (x)) & 0xF8] &= (_BV((x & 0x07)) ^ 0xFF) + #define BIT_7219(x, y) TEST(LEDs[y + (MAX7219_X_LEDS - 1 - (x)) & 0xF8], ((x & 0x07))) + #define SEND_7219(R) do {for(int8_t jj = 0; jj < MAX7219_NUMBER_UNITS; jj++) Max7219(max7219_reg_digit7 - (R & 0x7), LEDs[(R & 0x7) + jj * 8]); Max7219_pulse_load(); } while (0); +#elif _ROT == 270 + #define MAX7219_UPDATE_AXIS x // Fast line update axis for this orientation of the matrix display + #define MAX7219_X_LEDS 8 + #define MAX7219_Y_LEDS (MAX7219_X_LEDS * (MAX7219_NUMBER_UNITS)) + #define XOR_7219(x, y) LEDs[x + (y & 0xF8)] ^= _BV(7 - (y & 0x7)) + #define SET_PIXEL_7219(x, y) LEDs[x + (y & 0xF8)] |= _BV(7 - (y & 0x7)) + #define CLEAR_PIXEL_7219(x, y) LEDs[x + (y & 0xF8)] &= (_BV(7 - (y & 0x7)) ^ 0xFF) + #define BIT_7219(x, y) TEST(LEDs[x + (y & 0xF8)], 7 - (y & 0x7)) + #define SEND_7219(R) do {for(int8_t jj = 0; jj < MAX7219_NUMBER_UNITS; jj++) Max7219(max7219_reg_digit7 - (R & 0x7), LEDs[(R & 0x7) + jj * 8]); Max7219_pulse_load(); } while (0); +#else + #error "MAX7219_ROTATE must be a multiple of +/- 90°." +#endif + +extern uint8_t LEDs[8*MAX7219_NUMBER_UNITS]; + #endif // __MAX7219_DEBUG_LEDS_H__ diff --git a/Marlin/src/feature/bedlevel/abl/abl.cpp b/Marlin/src/feature/bedlevel/abl/abl.cpp index 6362608622f0..4b7658f8d32b 100644 --- a/Marlin/src/feature/bedlevel/abl/abl.cpp +++ b/Marlin/src/feature/bedlevel/abl/abl.cpp @@ -295,7 +295,7 @@ float bilinear_z_offset(const float raw[XYZ]) { #endif gridx = gx; - nextx = min(gridx + 1, ABL_BG_POINTS_X - 1); + nextx = MIN(gridx + 1, ABL_BG_POINTS_X - 1); } if (last_y != ry || last_gridx != gridx) { @@ -312,7 +312,7 @@ float bilinear_z_offset(const float raw[XYZ]) { #endif gridy = gy; - nexty = min(gridy + 1, ABL_BG_POINTS_Y - 1); + nexty = MIN(gridy + 1, ABL_BG_POINTS_Y - 1); } if (last_gridx != gridx || last_gridy != gridy) { @@ -336,7 +336,7 @@ float bilinear_z_offset(const float raw[XYZ]) { /* static float last_offset = 0; - if (FABS(last_offset - offset) > 0.2) { + if (ABS(last_offset - offset) > 0.2) { SERIAL_ECHOPGM("Sudden Shift at "); SERIAL_ECHOPAIR("x=", rx); SERIAL_ECHOPAIR(" / ", bilinear_grid_spacing[X_AXIS]); @@ -362,7 +362,7 @@ float bilinear_z_offset(const float raw[XYZ]) { #if IS_CARTESIAN && DISABLED(SEGMENT_LEVELED_MOVES) - #define CELL_INDEX(A,V) ((V - bilinear_start[A##_AXIS]) * ABL_BG_FACTOR(A##_AXIS)) + #define CELL_INDEX(A,V) ((V - bilinear_start[_AXIS(A)]) * ABL_BG_FACTOR(_AXIS(A))) /** * Prepare a bilinear-leveled linear move on Cartesian, @@ -386,10 +386,10 @@ float bilinear_z_offset(const float raw[XYZ]) { return; } - #define LINE_SEGMENT_END(A) (current_position[A ##_AXIS] + (destination[A ##_AXIS] - current_position[A ##_AXIS]) * normalized_dist) + #define LINE_SEGMENT_END(A) (current_position[_AXIS(A)] + (destination[_AXIS(A)] - current_position[_AXIS(A)]) * normalized_dist) float normalized_dist, end[XYZE]; - const int8_t gcx = max(cx1, cx2), gcy = max(cy1, cy2); + const int8_t gcx = MAX(cx1, cx2), gcy = MAX(cy1, cy2); // Crosses on the X and not already split on this X? // The x_splits flags are insurance against rounding errors. diff --git a/Marlin/src/feature/bedlevel/bedlevel.cpp b/Marlin/src/feature/bedlevel/bedlevel.cpp index ea1284efc003..99887d361d9e 100644 --- a/Marlin/src/feature/bedlevel/bedlevel.cpp +++ b/Marlin/src/feature/bedlevel/bedlevel.cpp @@ -53,7 +53,7 @@ bool leveling_is_valid() { #elif ENABLED(AUTO_BED_LEVELING_BILINEAR) !!bilinear_grid_spacing[X_AXIS] #elif ENABLED(AUTO_BED_LEVELING_UBL) - true + ubl.mesh_is_valid() #else // 3POINT, LINEAR true #endif @@ -99,7 +99,21 @@ void set_bed_leveling_enabled(const bool enable/*=true*/) { planner.unapply_leveling(current_position); } #else - planner.leveling_active = enable; // just flip the bit, current_position will be wrong until next move. + // UBL equivalents for apply/unapply_leveling + #if ENABLED(SKEW_CORRECTION) + float pos[XYZ] = { current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] }; + planner.skew(pos[X_AXIS], pos[Y_AXIS], pos[Z_AXIS]); + #else + const float (&pos)[XYZE] = current_position; + #endif + if (planner.leveling_active) { + current_position[Z_AXIS] += ubl.get_z_correction(pos[X_AXIS], pos[Y_AXIS]); + planner.leveling_active = false; + } + else { + planner.leveling_active = true; + current_position[Z_AXIS] -= ubl.get_z_correction(pos[X_AXIS], pos[Y_AXIS]); + } #endif #else // OLDSCHOOL_ABL @@ -252,7 +266,14 @@ void reset_bed_level() { void _manual_goto_xy(const float &rx, const float &ry) { - #if MANUAL_PROBE_HEIGHT > 0 + #ifdef MANUAL_PROBE_START_Z + #if MANUAL_PROBE_HEIGHT > 0 + do_blocking_move_to(rx, ry, MANUAL_PROBE_HEIGHT); + do_blocking_move_to_z(MAX(0,MANUAL_PROBE_START_Z)); + #else + do_blocking_move_to(rx, ry, MAX(0,MANUAL_PROBE_START_Z)); + #endif + #elif MANUAL_PROBE_HEIGHT > 0 const float prev_z = current_position[Z_AXIS]; do_blocking_move_to(rx, ry, MANUAL_PROBE_HEIGHT); do_blocking_move_to_z(prev_z); diff --git a/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp b/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp index 800630c6ba28..36812b6355c8 100644 --- a/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp +++ b/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp @@ -73,10 +73,10 @@ return; } - #define MBL_SEGMENT_END(A) (current_position[A ##_AXIS] + (destination[A ##_AXIS] - current_position[A ##_AXIS]) * normalized_dist) + #define MBL_SEGMENT_END(A) (current_position[_AXIS(A)] + (destination[_AXIS(A)] - current_position[_AXIS(A)]) * normalized_dist) float normalized_dist, end[XYZE]; - const int8_t gcx = max(cx1, cx2), gcy = max(cy1, cy2); + const int8_t gcx = MAX(cx1, cx2), gcy = MAX(cy1, cy2); // Crosses on the X and not already split on this X? // The x_splits flags are insurance against rounding errors. diff --git a/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.h b/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.h index 7f2d5c0aa10e..5b68edefe55c 100644 --- a/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.h +++ b/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.h @@ -72,22 +72,22 @@ class mesh_bed_leveling { } static int8_t cell_index_x(const float &x) { - int8_t cx = (x - (MESH_MIN_X)) * (1.0 / (MESH_X_DIST)); + int8_t cx = (x - (MESH_MIN_X)) * (1.0f / (MESH_X_DIST)); return constrain(cx, 0, (GRID_MAX_POINTS_X) - 2); } static int8_t cell_index_y(const float &y) { - int8_t cy = (y - (MESH_MIN_Y)) * (1.0 / (MESH_Y_DIST)); + int8_t cy = (y - (MESH_MIN_Y)) * (1.0f / (MESH_Y_DIST)); return constrain(cy, 0, (GRID_MAX_POINTS_Y) - 2); } static int8_t probe_index_x(const float &x) { - int8_t px = (x - (MESH_MIN_X) + 0.5 * (MESH_X_DIST)) * (1.0 / (MESH_X_DIST)); + int8_t px = (x - (MESH_MIN_X) + 0.5f * (MESH_X_DIST)) * (1.0f / (MESH_X_DIST)); return WITHIN(px, 0, GRID_MAX_POINTS_X - 1) ? px : -1; } static int8_t probe_index_y(const float &y) { - int8_t py = (y - (MESH_MIN_Y) + 0.5 * (MESH_Y_DIST)) * (1.0 / (MESH_Y_DIST)); + int8_t py = (y - (MESH_MIN_Y) + 0.5f * (MESH_Y_DIST)) * (1.0f / (MESH_Y_DIST)); return WITHIN(py, 0, GRID_MAX_POINTS_Y - 1) ? py : -1; } @@ -114,9 +114,8 @@ class mesh_bed_leveling { ; } - // Support functions, which may be embedded in the class later #if IS_CARTESIAN && DISABLED(SEGMENT_LEVELED_MOVES) - void line_to_destination(const float fr_mm_s, uint8_t x_splits=0xFF, uint8_t y_splits=0xFF); + static void line_to_destination(const float fr_mm_s, uint8_t x_splits=0xFF, uint8_t y_splits=0xFF); #endif }; diff --git a/Marlin/src/feature/bedlevel/ubl/ubl.cpp b/Marlin/src/feature/bedlevel/ubl/ubl.cpp index 2ddca1a86b37..143d7a0fcc79 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl.cpp @@ -51,7 +51,7 @@ ) { if (!leveling_is_valid()) return; SERIAL_ECHO_START_P(port); - SERIAL_ECHOLNPGM_P(port, " G29 I 999"); + SERIAL_ECHOLNPGM_P(port, " G29 I99"); for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) if (!isnan(z_values[x][y])) { @@ -59,9 +59,7 @@ SERIAL_ECHOPAIR_P(port, " M421 I", x); SERIAL_ECHOPAIR_P(port, " J", y); SERIAL_ECHOPGM_P(port, " Z"); - SERIAL_ECHO_F_P(port, z_values[x][y], 6); - SERIAL_ECHOPAIR_P(port, " ; X", LOGICAL_X_POSITION(mesh_index_to_xpos(x))); - SERIAL_ECHOPAIR_P(port, ", Y", LOGICAL_Y_POSITION(mesh_index_to_ypos(y))); + SERIAL_ECHO_F_P(port, z_values[x][y], 2); SERIAL_EOL_P(port); safe_delay(75); // Prevent Printrun from exploding } @@ -83,15 +81,6 @@ safe_delay(50); } - static void serial_echo_xy(const int16_t x, const int16_t y) { - SERIAL_CHAR('('); - SERIAL_ECHO(x); - SERIAL_CHAR(','); - SERIAL_ECHO(y); - SERIAL_CHAR(')'); - safe_delay(10); - } - #if ENABLED(UBL_DEVEL_DEBUGGING) static void debug_echo_axis(const AxisEnum axis) { @@ -189,78 +178,109 @@ } } - // display_map() currently produces three different mesh map types - // 0 : suitable for PronterFace and Repetier's serial console - // 1 : .CSV file suitable for importation into various spread sheets - // 2 : disply of the map data on a RepRap Graphical LCD Panel + static void serial_echo_xy(const uint8_t sp, const int16_t x, const int16_t y) { + SERIAL_ECHO_SP(sp); + SERIAL_CHAR('('); + if (x < 100) { SERIAL_CHAR(' '); if (x < 10) SERIAL_CHAR(' '); } + SERIAL_ECHO(x); + SERIAL_CHAR(','); + if (y < 100) { SERIAL_CHAR(' '); if (y < 10) SERIAL_CHAR(' '); } + SERIAL_ECHO(y); + SERIAL_CHAR(')'); + safe_delay(5); + } + + static void serial_echo_column_labels(const uint8_t sp) { + SERIAL_ECHO_SP(7); + for (int8_t i = 0; i < GRID_MAX_POINTS_X; i++) { + if (i < 10) SERIAL_CHAR(' '); + SERIAL_ECHO(i); + SERIAL_ECHO_SP(sp); + } + safe_delay(10); + } + /** + * Produce one of these mesh maps: + * 0: Human-readable + * 1: CSV format for spreadsheet import + * 2: TODO: Display on Graphical LCD + * 4: Compact Human-Readable + */ void unified_bed_leveling::display_map(const int map_type) { #if HAS_AUTO_REPORTING || ENABLED(HOST_KEEPALIVE_FEATURE) suspend_auto_report = true; #endif - constexpr uint8_t spaces = 8 * (GRID_MAX_POINTS_X - 2); + constexpr uint8_t eachsp = 1 + 6 + 1, // [-3.567] + twixt = eachsp * (GRID_MAX_POINTS_X) - 9 * 2; // Leading 4sp, Coordinates 9sp each - SERIAL_PROTOCOLPGM("\nBed Topography Report"); - if (map_type == 0) { - SERIAL_PROTOCOLPGM(":\n\n"); - serial_echo_xy(0, GRID_MAX_POINTS_Y - 1); - SERIAL_ECHO_SP(spaces + 3); - serial_echo_xy(GRID_MAX_POINTS_X - 1, GRID_MAX_POINTS_Y - 1); - SERIAL_EOL(); - serial_echo_xy(MESH_MIN_X, MESH_MAX_Y); - SERIAL_ECHO_SP(spaces); - serial_echo_xy(MESH_MAX_X, MESH_MAX_Y); + const bool human = !(map_type & 0x3), csv = map_type == 1, lcd = map_type == 2, comp = map_type & 0x4; + + SERIAL_ECHOPGM("\nBed Topography Report"); + if (human) { + SERIAL_ECHOPGM(":\n\n"); + serial_echo_xy(4, MESH_MIN_X, MESH_MAX_Y); + serial_echo_xy(twixt, MESH_MAX_X, MESH_MAX_Y); SERIAL_EOL(); + serial_echo_column_labels(eachsp - 2); } else { - SERIAL_PROTOCOLPGM(" for "); - serialprintPGM(map_type == 1 ? PSTR("CSV:\n\n") : PSTR("LCD:\n\n")); + SERIAL_ECHOPGM(" for "); + serialprintPGM(csv ? PSTR("CSV:\n") : PSTR("LCD:\n")); } const float current_xi = get_cell_index_x(current_position[X_AXIS] + (MESH_X_DIST) / 2.0), current_yi = get_cell_index_y(current_position[Y_AXIS] + (MESH_Y_DIST) / 2.0); + if (!lcd) SERIAL_EOL(); for (int8_t j = GRID_MAX_POINTS_Y - 1; j >= 0; j--) { + + // Row Label (J index) + if (human) { + if (j < 10) SERIAL_CHAR(' '); + SERIAL_ECHO(j); + SERIAL_ECHOPGM(" |"); + } + + // Row Values (I indexes) for (uint8_t i = 0; i < GRID_MAX_POINTS_X; i++) { - const bool is_current = i == current_xi && j == current_yi; - // is the nozzle here? then mark the number - if (map_type == 0) SERIAL_CHAR(is_current ? '[' : ' '); + // Opening Brace or Space + const bool is_current = i == current_xi && j == current_yi; + if (human) SERIAL_CHAR(is_current ? '[' : ' '); + // Z Value at current I, J const float f = z_values[i][j]; - if (isnan(f)) { - serialprintPGM(map_type == 0 ? PSTR(" . ") : PSTR("NAN")); + if (lcd) { + // TODO: Display on Graphical LCD } - else if (map_type <= 1) { - // if we don't do this, the columns won't line up nicely - if (map_type == 0 && f >= 0.0) SERIAL_CHAR(' '); - SERIAL_PROTOCOL_F(f, 3); + else if (isnan(f)) + serialprintPGM(human ? PSTR(" . ") : PSTR("NAN")); + else if (human || csv) { + if (human && f >= 0.0) SERIAL_CHAR(f > 0 ? '+' : ' '); // Space for positive ('-' for negative) + SERIAL_ECHO_F(f, 3); // Positive: 5 digits, Negative: 6 digits } - idle(); - if (map_type == 1 && i < GRID_MAX_POINTS_X - 1) SERIAL_CHAR(','); + if (csv && i < GRID_MAX_POINTS_X - 1) SERIAL_CHAR('\t'); + + // Closing Brace or Space + if (human) SERIAL_CHAR(is_current ? ']' : ' '); + SERIAL_FLUSHTX(); - safe_delay(15); - if (map_type == 0) { - SERIAL_CHAR(is_current ? ']' : ' '); - SERIAL_CHAR(' '); - } - } - SERIAL_EOL(); - if (j && map_type == 0) { // we want the (0,0) up tight against the block of numbers - SERIAL_CHAR(' '); - SERIAL_EOL(); + idle(); } + if (!lcd) SERIAL_EOL(); + + // A blank line between rows (unless compact) + if (j && human && !comp) SERIAL_ECHOLNPGM(" |"); } - if (map_type == 0) { - serial_echo_xy(MESH_MIN_X, MESH_MIN_Y); - SERIAL_ECHO_SP(spaces + 4); - serial_echo_xy(MESH_MAX_X, MESH_MIN_Y); + if (human) { + serial_echo_column_labels(eachsp - 2); + SERIAL_EOL(); + serial_echo_xy(4, MESH_MIN_X, MESH_MIN_Y); + serial_echo_xy(twixt, MESH_MAX_X, MESH_MIN_Y); SERIAL_EOL(); - serial_echo_xy(0, 0); - SERIAL_ECHO_SP(spaces + 5); - serial_echo_xy(GRID_MAX_POINTS_X - 1, 0); SERIAL_EOL(); } diff --git a/Marlin/src/feature/bedlevel/ubl/ubl.h b/Marlin/src/feature/bedlevel/ubl/ubl.h index 9de087c3bf54..cbd5ed4bf6bb 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl.h +++ b/Marlin/src/feature/bedlevel/ubl/ubl.h @@ -56,7 +56,6 @@ extern uint8_t ubl_cnt; /////////////////////////////////////////////////////////////////////////////////////////////////////// #if ENABLED(ULTRA_LCD) - extern char lcd_status_message[]; void lcd_quick_feedback(const bool clear_buttons); #endif @@ -89,7 +88,6 @@ class unified_bed_leveling { #endif static bool g29_parameter_parsing() _O0; - static void find_mean_mesh_height(); static void shift_mesh_height(); static void probe_entire_mesh(const float &rx, const float &ry, const bool do_ubl_mesh_map, const bool stow_probe, const bool do_furthest) _O0; static void tilt_mesh_based_on_3pts(const float &z1, const float &z2, const float &z3); @@ -124,7 +122,8 @@ class unified_bed_leveling { static mesh_index_pair find_furthest_invalid_mesh_point() _O0; static void reset(); static void invalidate(); - static void set_all_mesh_points_to_value(const float); + static void set_all_mesh_points_to_value(const float value); + static void adjust_mesh_to_mean(const bool cflag, const float value); static bool sanity_check(); static void G29() _O0; // O0 for no optimization @@ -169,14 +168,14 @@ class unified_bed_leveling { FORCE_INLINE static void set_z(const int8_t px, const int8_t py, const float &z) { z_values[px][py] = z; } static int8_t get_cell_index_x(const float &x) { - const int8_t cx = (x - (MESH_MIN_X)) * (1.0 / (MESH_X_DIST)); + const int8_t cx = (x - (MESH_MIN_X)) * (1.0f / (MESH_X_DIST)); return constrain(cx, 0, (GRID_MAX_POINTS_X) - 1); // -1 is appropriate if we want all movement to the X_MAX } // position. But with this defined this way, it is possible // to extrapolate off of this point even further out. Probably // that is OK because something else should be keeping that from // happening and should not be worried about at this level. static int8_t get_cell_index_y(const float &y) { - const int8_t cy = (y - (MESH_MIN_Y)) * (1.0 / (MESH_Y_DIST)); + const int8_t cy = (y - (MESH_MIN_Y)) * (1.0f / (MESH_Y_DIST)); return constrain(cy, 0, (GRID_MAX_POINTS_Y) - 1); // -1 is appropriate if we want all movement to the Y_MAX } // position. But with this defined this way, it is possible // to extrapolate off of this point even further out. Probably @@ -184,12 +183,12 @@ class unified_bed_leveling { // happening and should not be worried about at this level. static int8_t find_closest_x_index(const float &x) { - const int8_t px = (x - (MESH_MIN_X) + (MESH_X_DIST) * 0.5) * (1.0 / (MESH_X_DIST)); + const int8_t px = (x - (MESH_MIN_X) + (MESH_X_DIST) * 0.5) * (1.0f / (MESH_X_DIST)); return WITHIN(px, 0, GRID_MAX_POINTS_X - 1) ? px : -1; } static int8_t find_closest_y_index(const float &y) { - const int8_t py = (y - (MESH_MIN_Y) + (MESH_Y_DIST) * 0.5) * (1.0 / (MESH_Y_DIST)); + const int8_t py = (y - (MESH_MIN_Y) + (MESH_Y_DIST) * 0.5) * (1.0f / (MESH_Y_DIST)); return WITHIN(py, 0, GRID_MAX_POINTS_Y - 1) ? py : -1; } @@ -239,10 +238,10 @@ class unified_bed_leveling { ); } - const float xratio = (rx0 - mesh_index_to_xpos(x1_i)) * (1.0 / (MESH_X_DIST)), + const float xratio = (rx0 - mesh_index_to_xpos(x1_i)) * (1.0f / (MESH_X_DIST)), z1 = z_values[x1_i][yi]; - return z1 + xratio * (z_values[min(x1_i, GRID_MAX_POINTS_X - 2) + 1][yi] - z1); // Don't allow x1_i+1 to be past the end of the array + return z1 + xratio * (z_values[MIN(x1_i, GRID_MAX_POINTS_X - 2) + 1][yi] - z1); // Don't allow x1_i+1 to be past the end of the array // If it is, it is clamped to the last element of the // z_values[][] array and no correction is applied. } @@ -273,10 +272,10 @@ class unified_bed_leveling { ); } - const float yratio = (ry0 - mesh_index_to_ypos(y1_i)) * (1.0 / (MESH_Y_DIST)), + const float yratio = (ry0 - mesh_index_to_ypos(y1_i)) * (1.0f / (MESH_Y_DIST)), z1 = z_values[xi][y1_i]; - return z1 + yratio * (z_values[xi][min(y1_i, GRID_MAX_POINTS_Y - 2) + 1] - z1); // Don't allow y1_i+1 to be past the end of the array + return z1 + yratio * (z_values[xi][MIN(y1_i, GRID_MAX_POINTS_Y - 2) + 1] - z1); // Don't allow y1_i+1 to be past the end of the array // If it is, it is clamped to the last element of the // z_values[][] array and no correction is applied. } @@ -302,11 +301,11 @@ class unified_bed_leveling { const float z1 = calc_z0(rx0, mesh_index_to_xpos(cx), z_values[cx][cy], - mesh_index_to_xpos(cx + 1), z_values[min(cx, GRID_MAX_POINTS_X - 2) + 1][cy]); + mesh_index_to_xpos(cx + 1), z_values[MIN(cx, GRID_MAX_POINTS_X - 2) + 1][cy]); const float z2 = calc_z0(rx0, - mesh_index_to_xpos(cx), z_values[cx][min(cy, GRID_MAX_POINTS_Y - 2) + 1], - mesh_index_to_xpos(cx + 1), z_values[min(cx, GRID_MAX_POINTS_X - 2) + 1][min(cy, GRID_MAX_POINTS_Y - 2) + 1]); + mesh_index_to_xpos(cx), z_values[cx][MIN(cy, GRID_MAX_POINTS_Y - 2) + 1], + mesh_index_to_xpos(cx + 1), z_values[MIN(cx, GRID_MAX_POINTS_X - 2) + 1][MIN(cy, GRID_MAX_POINTS_Y - 2) + 1]); float z0 = calc_z0(ry0, mesh_index_to_ypos(cy), z1, @@ -363,17 +362,11 @@ class unified_bed_leveling { static void line_to_destination_cartesian(const float &fr, const uint8_t e); #endif - #define _CMPZ(a,b) (z_values[a][b] == z_values[a][b+1]) - #define CMPZ(a) (_CMPZ(a, 0) && _CMPZ(a, 1)) - #define ZZER(a) (z_values[a][0] == 0) - - FORCE_INLINE bool mesh_is_valid() { - return !( - ( CMPZ(0) && CMPZ(1) && CMPZ(2) // adjacent z values all equal? - && ZZER(0) && ZZER(1) && ZZER(2) // all zero at the edge? - ) - || isnan(z_values[0][0]) - ); + inline static bool mesh_is_valid() { + for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) + for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) + if (isnan(z_values[x][y])) return false; + return true; } }; // class unified_bed_leveling diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp index ceefbb1569b3..654b4c193c22 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp @@ -41,7 +41,9 @@ #include "../../../feature/bedlevel/bedlevel.h" #include "../../../libs/least_squares_fit.h" -#include "../../../feature/Max7219_Debug_LEDs.h" + #if ENABLED(DUAL_X_CARRIAGE) + #include "../../../module/tool_change.h" + #endif #include @@ -54,9 +56,6 @@ void _lcd_ubl_output_map_lcd(); #endif - extern float meshedit_done; - extern long babysteps_done; - #define SIZE_OF_LITTLE_RAISE 1 #define BIG_RAISE_NOT_NEEDED 0 @@ -70,8 +69,8 @@ unified_bed_leveling::g29_y_flag; float unified_bed_leveling::g29_x_pos, unified_bed_leveling::g29_y_pos, - unified_bed_leveling::g29_card_thickness = 0.0, - unified_bed_leveling::g29_constant = 0.0; + unified_bed_leveling::g29_card_thickness = 0, + unified_bed_leveling::g29_constant = 0; #if HAS_BED_PROBE int unified_bed_leveling::g29_grid_size; @@ -210,8 +209,8 @@ * adhesion. * * P4 moves to the closest Mesh Point (and/or the given X Y), raises the nozzle above the mesh height - * by the given 'H' offset (or default Z_CLEARANCE_BETWEEN_PROBES), and waits while the controller is - * used to adjust the nozzle height. On click the displayed height is saved in the mesh. + * by the given 'H' offset (or default 0), and waits while the controller is used to adjust the nozzle + * height. On click the displayed height is saved in the mesh. * * Start Phase 4 at a specific location with X and Y. Adjust a specific number of Mesh Points with * the 'R' (Repeat) parameter. (If 'R' is left out, the whole matrix is assumed.) This command can be @@ -252,9 +251,7 @@ * for subsequent Load and Store operations. Valid storage slot numbers begin at 0 and * extend to a limit related to the available EEPROM storage. * - * S -1 Store Store the current Mesh as a print out that is suitable to be feed back into the system - * at a later date. The GCode output can be saved and later replayed by the host software - * to reconstruct the current mesh on another machine. + * S -1 Store Print the current Mesh as G-code that can be used to restore the mesh anytime. * * T Topology Display the Mesh Map Topology. * 'T' can be used alone (e.g., G29 T) or in combination with most of the other commands. @@ -299,13 +296,17 @@ void unified_bed_leveling::G29() { - if (g29_parameter_parsing()) return; // abort if parsing the simple parameters causes a problem, + if (g29_parameter_parsing()) return; // Abort on parameter error + + const int8_t p_val = parser.intval('P', -1); + const bool may_move = p_val == 1 || p_val == 2 || p_val == 4 || parser.seen('J'); // Check for commands that require the printer to be homed - if (axis_unhomed_error()) { - const int8_t p_val = parser.intval('P', -1); - if (p_val == 1 || p_val == 2 || p_val == 4 || parser.seen('J')) - gcode.home_all_axes(); + if (may_move) { + #if ENABLED(DUAL_X_CARRIAGE) + if (active_extruder != 0) tool_change(0); + #endif + if (axis_unhomed_error()) gcode.home_all_axes(); } // Invalidate Mesh Points. This command is a little bit asymmetrical because @@ -349,23 +350,23 @@ case 0: for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) { // Create a bowl shape - similar to for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) { // a poorly calibrated Delta. - const float p1 = 0.5 * (GRID_MAX_POINTS_X) - x, - p2 = 0.5 * (GRID_MAX_POINTS_Y) - y; - z_values[x][y] += 2.0 * HYPOT(p1, p2); + const float p1 = 0.5f * (GRID_MAX_POINTS_X) - x, + p2 = 0.5f * (GRID_MAX_POINTS_Y) - y; + z_values[x][y] += 2.0f * HYPOT(p1, p2); } } break; case 1: for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) { // Create a diagonal line several Mesh cells thick that is raised - z_values[x][x] += 9.999; - z_values[x][x + (x < GRID_MAX_POINTS_Y - 1) ? 1 : -1] += 9.999; // We want the altered line several mesh points thick + z_values[x][x] += 9.999f; + z_values[x][x + (x < GRID_MAX_POINTS_Y - 1) ? 1 : -1] += 9.999f; // We want the altered line several mesh points thick } break; case 2: // Allow the user to specify the height because 10mm is a little extreme in some cases. for (uint8_t x = (GRID_MAX_POINTS_X) / 3; x < 2 * (GRID_MAX_POINTS_X) / 3; x++) // Create a rectangular raised area in for (uint8_t y = (GRID_MAX_POINTS_Y) / 3; y < 2 * (GRID_MAX_POINTS_Y) / 3; y++) // the center of the bed - z_values[x][y] += parser.seen('C') ? g29_constant : 9.99; + z_values[x][y] += parser.seen('C') ? g29_constant : 9.99f; break; } } @@ -384,7 +385,7 @@ tilt_mesh_based_on_probed_grid(true /* true says to do 3-Point leveling */ ); restore_ubl_active_state_and_leave(); } - do_blocking_move_to_xy(0.5 * (MESH_MAX_X - (MESH_MIN_X)), 0.5 * (MESH_MAX_Y - (MESH_MIN_Y))); + do_blocking_move_to_xy(0.5f * (MESH_MAX_X - (MESH_MIN_X)), 0.5f * (MESH_MAX_Y - (MESH_MIN_Y))); report_current_position(); } @@ -456,7 +457,7 @@ if (parser.seen('B')) { g29_card_thickness = parser.has_value() ? parser.value_float() : measure_business_card_thickness((float) Z_CLEARANCE_BETWEEN_PROBES); - if (FABS(g29_card_thickness) > 1.5) { + if (ABS(g29_card_thickness) > 1.5f) { SERIAL_PROTOCOLLNPGM("?Error in Business Card measurement."); return; } @@ -512,7 +513,7 @@ } else { const float cvf = parser.value_float(); - switch ((int)truncf(cvf * 10.0) - 30) { // 3.1 -> 1 + switch ((int)truncf(cvf * 10.0f) - 30) { // 3.1 -> 1 #if ENABLED(UBL_G29_P31) case 1: { @@ -522,8 +523,8 @@ // P3.12 100X distance weighting // P3.13 1000X distance weighting, approaches simple average of nearest points - const float weight_power = (cvf - 3.10) * 100.0, // 3.12345 -> 2.345 - weight_factor = weight_power ? POW(10.0, weight_power) : 0; + const float weight_power = (cvf - 3.10f) * 100.0f, // 3.12345 -> 2.345 + weight_factor = weight_power ? POW(10.0f, weight_power) : 0; smart_fill_wlsf(weight_factor); } break; @@ -546,7 +547,7 @@ #endif break; - case 5: find_mean_mesh_height(); break; + case 5: adjust_mesh_to_mean(g29_c_flag, g29_constant); break; case 6: shift_mesh_height(); break; } @@ -628,16 +629,16 @@ #if ENABLED(NEWPANEL) lcd_reset_alert_level(); - LCD_MESSAGEPGM(""); lcd_quick_feedback(true); + lcd_reset_status(); lcd_external_control = false; #endif return; } - void unified_bed_leveling::find_mean_mesh_height() { - float sum = 0.0; + void unified_bed_leveling::adjust_mesh_to_mean(const bool cflag, const float value) { + float sum = 0; int n = 0; for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) @@ -651,7 +652,7 @@ // // Sum the squares of difference from mean // - float sum_of_diff_squared = 0.0; + float sum_of_diff_squared = 0; for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) if (!isnan(z_values[x][y])) @@ -667,11 +668,11 @@ SERIAL_ECHO_F(sigma, 6); SERIAL_EOL(); - if (g29_c_flag) + if (cflag) for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) if (!isnan(z_values[x][y])) - z_values[x][y] -= mean + g29_constant; + z_values[x][y] -= mean + value; } void unified_bed_leveling::shift_mesh_height() { @@ -758,7 +759,7 @@ STOW_PROBE(); - #if Z_AFTER_PROBING + #ifdef Z_AFTER_PROBING move_z_after_probing(); #endif @@ -789,7 +790,7 @@ float unified_bed_leveling::measure_point_with_encoder() { KEEPALIVE_STATE(PAUSED_FOR_USER); - move_z_with_encoder(0.01); + move_z_with_encoder(0.01f); KEEPALIVE_STATE(IN_HANDLER); return current_position[Z_AXIS]; } @@ -800,9 +801,9 @@ lcd_external_control = true; save_ubl_active_state_and_disable(); // Disable bed level correction for probing - do_blocking_move_to(0.5 * (MESH_MAX_X - (MESH_MIN_X)), 0.5 * (MESH_MAX_Y - (MESH_MIN_Y)), in_height); - //, min(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS]) / 2.0); - stepper.synchronize(); + do_blocking_move_to(0.5f * (MESH_MAX_X - (MESH_MIN_X)), 0.5f * (MESH_MAX_Y - (MESH_MIN_Y)), in_height); + //, MIN(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS]) * 0.5f); + planner.synchronize(); SERIAL_PROTOCOLPGM("Place shim under nozzle"); LCD_MESSAGEPGM(MSG_UBL_BC_INSERT); @@ -811,7 +812,7 @@ const float z1 = measure_point_with_encoder(); do_blocking_move_to_z(current_position[Z_AXIS] + SIZE_OF_LITTLE_RAISE); - stepper.synchronize(); + planner.synchronize(); SERIAL_PROTOCOLPGM("Remove shim"); LCD_MESSAGEPGM(MSG_UBL_BC_REMOVE); @@ -821,7 +822,7 @@ do_blocking_move_to_z(current_position[Z_AXIS] + Z_CLEARANCE_BETWEEN_PROBES); - const float thickness = abs(z1 - z2); + const float thickness = ABS(z1 - z2); if (g29_verbose_level > 1) { SERIAL_PROTOCOLPGM("Business Card is "); @@ -877,8 +878,8 @@ serialprintPGM(parser.seen('B') ? PSTR(MSG_UBL_BC_INSERT) : PSTR(MSG_UBL_BC_INSERT2)); - const float z_step = 0.01; // existing behavior: 0.01mm per click, occasionally step - //const float z_step = 1.0 / planner.axis_steps_per_mm[Z_AXIS]; // approx one step each click + const float z_step = 0.01f; // existing behavior: 0.01mm per click, occasionally step + //const float z_step = planner.steps_to_mm[Z_AXIS]; // approx one step each click move_z_with_encoder(z_step); @@ -916,7 +917,7 @@ lcd_quick_feedback(true); #endif - g29_constant = 0.0; + g29_constant = 0; g29_repetition_cnt = 0; g29_x_flag = parser.seenval('X'); @@ -1007,7 +1008,7 @@ #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) if (parser.seenval('F')) { const float fh = parser.value_float(); - if (!WITHIN(fh, 0.0, 100.0)) { + if (!WITHIN(fh, 0, 100)) { SERIAL_PROTOCOLLNPGM("?(F)ade height for Bed Level Correction not plausible.\n"); return UBL_ERR; } @@ -1083,7 +1084,7 @@ SERIAL_EOL(); #endif - find_mean_mesh_height(); + adjust_mesh_to_mean(g29_c_flag, g29_constant); #if HAS_BED_PROBE SERIAL_PROTOCOLPGM("zprobe_zoffset: "); @@ -1229,7 +1230,7 @@ mesh_index_pair out_mesh; out_mesh.x_index = out_mesh.y_index = -1; - out_mesh.distance = -99999.99; + out_mesh.distance = -99999.99f; for (int8_t i = 0; i < GRID_MAX_POINTS_X; i++) { for (int8_t j = 0; j < GRID_MAX_POINTS_Y; j++) { @@ -1245,7 +1246,7 @@ found_a_NAN = true; int8_t closest_x = -1, closest_y = -1; - float d1, d2 = 99999.9; + float d1, d2 = 99999.9f; for (int8_t k = 0; k < GRID_MAX_POINTS_X; k++) { for (int8_t l = 0; l < GRID_MAX_POINTS_Y; l++) { if (!isnan(z_values[k][l])) { @@ -1255,7 +1256,7 @@ // last half of the mesh (when every unprobed mesh point is one index // from a probed location). - d1 = HYPOT(i - k, j - l) + (1.0 / ((millis() % 47) + 13)); + d1 = HYPOT(i - k, j - l) + (1.0f / ((millis() % 47) + 13)); if (d1 < d2) { // found a closer distance from invalid mesh point at (i,j) to defined mesh point at (k,l) d2 = d1; // found a closer location with @@ -1282,7 +1283,7 @@ if (!found_a_real && found_a_NAN) { // if the mesh is totally unpopulated, start the probing out_mesh.x_index = GRID_MAX_POINTS_X / 2; out_mesh.y_index = GRID_MAX_POINTS_Y / 2; - out_mesh.distance = 1.0; + out_mesh.distance = 1; } return out_mesh; } @@ -1290,13 +1291,13 @@ mesh_index_pair unified_bed_leveling::find_closest_mesh_point_of_type(const MeshPointType type, const float &rx, const float &ry, const bool probe_as_reference, uint16_t bits[16]) { mesh_index_pair out_mesh; out_mesh.x_index = out_mesh.y_index = -1; - out_mesh.distance = -99999.9; + out_mesh.distance = -99999.9f; // Get our reference position. Either the nozzle or probe location. const float px = rx - (probe_as_reference == USE_PROBE_AS_REFERENCE ? X_PROBE_OFFSET_FROM_EXTRUDER : 0), py = ry - (probe_as_reference == USE_PROBE_AS_REFERENCE ? Y_PROBE_OFFSET_FROM_EXTRUDER : 0); - float best_so_far = 99999.99; + float best_so_far = 99999.99f; for (int8_t i = 0; i < GRID_MAX_POINTS_X; i++) { for (int8_t j = 0; j < GRID_MAX_POINTS_Y; j++) { @@ -1323,7 +1324,7 @@ // factor in the distance from the current location for the normal case // so the nozzle isn't running all over the bed. - distance += HYPOT(current_position[X_AXIS] - mx, current_position[Y_AXIS] - my) * 0.1; + distance += HYPOT(current_position[X_AXIS] - mx, current_position[Y_AXIS] - my) * 0.1f; if (distance < best_so_far) { best_so_far = distance; // We found a closer location with out_mesh.x_index = i; // the specified type of mesh value. @@ -1351,9 +1352,8 @@ g29_repetition_cnt = 1; // do exactly one mesh location. Otherwise use what the parser decided. #if ENABLED(UBL_MESH_EDIT_MOVES_Z) - const bool is_offset = parser.seen('H'); - const float h_offset = is_offset ? parser.value_linear_units() : Z_CLEARANCE_BETWEEN_PROBES; - if (is_offset && !WITHIN(h_offset, 0, 10)) { + const float h_offset = parser.seenval('H') ? parser.value_linear_units() : 0; + if (!WITHIN(h_offset, 0, 10)) { SERIAL_PROTOCOLLNPGM("Offset out of bounds. (0 to 10mm)\n"); return; } @@ -1369,63 +1369,63 @@ save_ubl_active_state_and_disable(); LCD_MESSAGEPGM(MSG_UBL_FINE_TUNE_MESH); + lcd_external_control = true; // Take over control of the LCD encoder - do_blocking_move_to(rx, ry, Z_CLEARANCE_BETWEEN_PROBES); + do_blocking_move_to(rx, ry, Z_CLEARANCE_BETWEEN_PROBES); // Move to the given XY with probe clearance + + #if ENABLED(UBL_MESH_EDIT_MOVES_Z) + do_blocking_move_to_z(h_offset); // Move Z to the given 'H' offset + #endif uint16_t not_done[16]; memset(not_done, 0xFF, sizeof(not_done)); do { location = find_closest_mesh_point_of_type(SET_IN_BITMAP, rx, ry, USE_NOZZLE_AS_REFERENCE, not_done); - if (location.x_index < 0) break; // stop when we can't find any more reachable points. + if (location.x_index < 0) break; // Stop when there are no more reachable points - bitmap_clear(not_done, location.x_index, location.y_index); // Mark this location as 'adjusted' so we will find a - // different location the next time through the loop + bitmap_clear(not_done, location.x_index, location.y_index); // Mark this location as 'adjusted' so a new + // location is used on the next loop const float rawx = mesh_index_to_xpos(location.x_index), rawy = mesh_index_to_ypos(location.y_index); - if (!position_is_reachable(rawx, rawy)) // SHOULD NOT OCCUR because find_closest_mesh_point_of_type will only return reachable - break; + if (!position_is_reachable(rawx, rawy)) break; // SHOULD NOT OCCUR because find_closest_mesh_point_of_type will only return reachable - do_blocking_move_to(rawx, rawy, Z_CLEARANCE_BETWEEN_PROBES); // Move the nozzle to the edit point + do_blocking_move_to(rawx, rawy, Z_CLEARANCE_BETWEEN_PROBES); // Move the nozzle to the edit point with probe clearance + + #if ENABLED(UBL_MESH_EDIT_MOVES_Z) + do_blocking_move_to_z(h_offset); // Move Z to the given 'H' offset before editing + #endif KEEPALIVE_STATE(PAUSED_FOR_USER); - lcd_external_control = true; - if (do_ubl_mesh_map) display_map(g29_map_type); // show the user which point is being adjusted + if (do_ubl_mesh_map) display_map(g29_map_type); // Display the current point lcd_refresh(); float new_z = z_values[location.x_index][location.y_index]; - if (isnan(new_z)) new_z = 0.0; // Set invalid mesh points to 0.0 so they can be edited - new_z = FLOOR(new_z * 1000.0) * 0.001; // Chop off digits after the 1000ths place + if (isnan(new_z)) new_z = 0; // Invalid points begin at 0 + new_z = FLOOR(new_z * 1000) * 0.001f; // Chop off digits after the 1000ths place lcd_mesh_edit_setup(new_z); do { new_z = lcd_mesh_edit(); #if ENABLED(UBL_MESH_EDIT_MOVES_Z) - do_blocking_move_to_z(h_offset + new_z); // Move the nozzle as the point is edited + do_blocking_move_to_z(h_offset + new_z); // Move the nozzle as the point is edited #endif idle(); - SERIAL_FLUSH(); // Prevent host M105 buffer overrun. + SERIAL_FLUSH(); // Prevent host M105 buffer overrun. } while (!is_lcd_clicked()); - if (!lcd_map_control) lcd_return_to_status(); + if (!lcd_map_control) lcd_return_to_status(); // Just editing a single point? Return to status - // The technique used here generates a race condition for the encoder click. - // It could get detected in lcd_mesh_edit (actually _lcd_mesh_fine_tune) or here. - // Let's work on specifying a proper API for the LCD ASAP, OK? - lcd_external_control = true; - - if (click_and_hold(abort_fine_tune)) - goto FINE_TUNE_EXIT; - - safe_delay(20); // We don't want any switch noise. + if (click_and_hold(abort_fine_tune)) goto FINE_TUNE_EXIT; // If the click is held down, abort editing - z_values[location.x_index][location.y_index] = new_z; + z_values[location.x_index][location.y_index] = new_z; // Save the updated Z value + safe_delay(20); // No switch noise lcd_refresh(); } while (location.x_index >= 0 && --g29_repetition_cnt > 0); @@ -1465,7 +1465,7 @@ if (z_values[x1][y1] < z_values[x2][y2]) // Angled downward? z_values[x][y] = z_values[x1][y1]; // Use nearest (maybe a little too high.) else - z_values[x][y] = 2.0 * z_values[x1][y1] - z_values[x2][y2]; // Angled upward... + z_values[x][y] = 2.0f * z_values[x1][y1] - z_values[x2][y2]; // Angled upward... return true; } return false; @@ -1502,18 +1502,20 @@ #if HAS_BED_PROBE + #include "../../../libs/vector_3.h" + void unified_bed_leveling::tilt_mesh_based_on_probed_grid(const bool do_3_pt_leveling) { - constexpr int16_t x_min = max(MIN_PROBE_X, MESH_MIN_X), - x_max = min(MAX_PROBE_X, MESH_MAX_X), - y_min = max(MIN_PROBE_Y, MESH_MIN_Y), - y_max = min(MAX_PROBE_Y, MESH_MAX_Y); + constexpr int16_t x_min = MAX(MIN_PROBE_X, MESH_MIN_X), + x_max = MIN(MAX_PROBE_X, MESH_MAX_X), + y_min = MAX(MIN_PROBE_Y, MESH_MIN_Y), + y_max = MIN(MAX_PROBE_Y, MESH_MAX_Y); bool abort_flag = false; float measured_z; - const float dx = float(x_max - x_min) / (g29_grid_size - 1.0), - dy = float(y_max - y_min) / (g29_grid_size - 1.0); + const float dx = float(x_max - x_min) / (g29_grid_size - 1), + dy = float(y_max - y_min) / (g29_grid_size - 1); struct linear_fit_data lsf_results; @@ -1565,6 +1567,11 @@ } } + STOW_PROBE(); + #ifdef Z_AFTER_PROBING + move_z_after_probing(); + #endif + if (abort_flag) { SERIAL_ECHOPGM("?Error probing point. Aborting operation.\n"); return; @@ -1610,22 +1617,28 @@ SERIAL_EOL(); } #endif - + if (g29_verbose_level > 3) { + serial_spaces(16); + SERIAL_ECHOLNPAIR("Corrected_Z=", measured_z); + } incremental_LSF(&lsf_results, rx, ry, measured_z); } } zig_zag ^= true; } - } + STOW_PROBE(); + #ifdef Z_AFTER_PROBING + move_z_after_probing(); + #endif if (abort_flag || finish_incremental_LSF(&lsf_results)) { SERIAL_ECHOPGM("Could not complete LSF!"); return; } - vector_3 normal = vector_3(lsf_results.A, lsf_results.B, 1.0000).get_normal(); + vector_3 normal = vector_3(lsf_results.A, lsf_results.B, 1).get_normal(); if (g29_verbose_level > 2) { SERIAL_ECHOPGM("bed plane normal = ["); @@ -1704,7 +1717,7 @@ * The only difference is just 3 points are used in the calculations. That fact guarantees * each probed point should have an exact match when a get_z_correction() for that location * is calculated. The Z error between the probed point locations and the get_z_correction() - * numbers for those locations should be 0.000 + * numbers for those locations should be 0. */ #if 0 float t, t1, d; @@ -1734,13 +1747,13 @@ SERIAL_EOL(); t = normal.x * (Z_SAFE_HOMING_X_POINT) + normal.y * (Z_SAFE_HOMING_Y_POINT); - d = t + normal.z * 0.000; + d = t + normal.z * 0; SERIAL_ECHOPGM("D from home location with Z=0 : "); SERIAL_ECHO_F(d, 6); SERIAL_EOL(); t = normal.x * (Z_SAFE_HOMING_X_POINT) + normal.y * (Z_SAFE_HOMING_Y_POINT); - d = t + get_z_correction(Z_SAFE_HOMING_X_POINT, Z_SAFE_HOMING_Y_POINT); // normal.z * 0.000; + d = t + get_z_correction(Z_SAFE_HOMING_X_POINT, Z_SAFE_HOMING_Y_POINT); // normal.z * 0; SERIAL_ECHOPGM("D from home location using mesh value for Z: "); SERIAL_ECHO_F(d, 6); @@ -1771,7 +1784,7 @@ SERIAL_ECHOPGM("Extrapolating mesh..."); - const float weight_scaled = weight_factor * max(MESH_X_DIST, MESH_Y_DIST); + const float weight_scaled = weight_factor * MAX(MESH_X_DIST, MESH_Y_DIST); for (uint8_t jx = 0; jx < GRID_MAX_POINTS_X; jx++) for (uint8_t jy = 0; jy < GRID_MAX_POINTS_Y; jy++) @@ -1791,7 +1804,7 @@ if (TEST(bitmap[jx], jy)) { const float ry = mesh_index_to_ypos(jy), rz = z_values[jx][jy], - w = 1.0 + weight_scaled / HYPOT((rx - px), (ry - py)); + w = 1 + weight_scaled / HYPOT((rx - px), (ry - py)); incremental_WLSF(&lsf_results, rx, ry, rz, w); } } diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp index 8e8b5256d79f..85ed86838eb8 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp @@ -75,19 +75,16 @@ debug_current_and_destination(PSTR("Start of ubl.line_to_destination_cartesian()")); } - if (cell_start_xi == cell_dest_xi && cell_start_yi == cell_dest_yi) { // if the whole move is within the same cell, - /** - * we don't need to break up the move - * - * If we are moving off the print bed, we are going to allow the move at this level. - * But we detect it and isolate it. For now, we just pass along the request. - */ + // A move within the same cell needs no splitting + if (cell_start_xi == cell_dest_xi && cell_start_yi == cell_dest_yi) { + // For a move off the bed, use a constant Z raise if (!WITHIN(cell_dest_xi, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(cell_dest_yi, 0, GRID_MAX_POINTS_Y - 1)) { // Note: There is no Z Correction in this case. We are off the grid and don't know what // a reasonable correction would be. If the user has specified a UBL_Z_RAISE_WHEN_OFF_MESH // value, that will be used instead of a calculated (Bi-Linear interpolation) correction. + const float z_raise = 0.0 #ifdef UBL_Z_RAISE_WHEN_OFF_MESH + UBL_Z_RAISE_WHEN_OFF_MESH @@ -104,16 +101,8 @@ FINAL_MOVE: - /** - * Optimize some floating point operations here. We could call float get_z_correction(float x0, float y0) to - * generate the correction for us. But we can lighten the load on the CPU by doing a modified version of the function. - * We are going to only calculate the amount we are from the first mesh line towards the second mesh line once. - * We will use this fraction in both of the original two Z Height calculations for the bi-linear interpolation. And, - * instead of doing a generic divide of the distance, we know the distance is MESH_X_DIST so we can use the preprocessor - * to create a 1-over number for us. That will allow us to do a floating point multiply instead of a floating point divide. - */ - - const float xratio = (end[X_AXIS] - mesh_index_to_xpos(cell_dest_xi)) * (1.0 / (MESH_X_DIST)); + // The distance is always MESH_X_DIST so multiply by the constant reciprocal. + const float xratio = (end[X_AXIS] - mesh_index_to_xpos(cell_dest_xi)) * (1.0f / (MESH_X_DIST)); float z1 = z_values[cell_dest_xi ][cell_dest_yi ] + xratio * (z_values[cell_dest_xi + 1][cell_dest_yi ] - z_values[cell_dest_xi][cell_dest_yi ]), @@ -122,22 +111,13 @@ if (cell_dest_xi >= GRID_MAX_POINTS_X - 1) z1 = z2 = 0.0; - // we are done with the fractional X distance into the cell. Now with the two Z-Heights we have calculated, we - // are going to apply the Y-Distance into the cell to interpolate the final Z correction. - - const float yratio = (end[Y_AXIS] - mesh_index_to_ypos(cell_dest_yi)) * (1.0 / (MESH_Y_DIST)); - float z0 = cell_dest_yi < GRID_MAX_POINTS_Y - 1 ? (z1 + (z2 - z1) * yratio) * planner.fade_scaling_factor_for_z(end[Z_AXIS]) : 0.0; + // X cell-fraction done. Interpolate the two Z offsets with the Y fraction for the final Z offset. + const float yratio = (end[Y_AXIS] - mesh_index_to_ypos(cell_dest_yi)) * (1.0f / (MESH_Y_DIST)), + z0 = cell_dest_yi < GRID_MAX_POINTS_Y - 1 ? (z1 + (z2 - z1) * yratio) * planner.fade_scaling_factor_for_z(end[Z_AXIS]) : 0.0; - /** - * If part of the Mesh is undefined, it will show up as NAN - * in z_values[][] and propagate through the - * calculations. If our correction is NAN, we throw it out - * because part of the Mesh is undefined and we don't have the - * information we need to complete the height correction. - */ - if (isnan(z0)) z0 = 0.0; - - planner.buffer_segment(end[X_AXIS], end[Y_AXIS], end[Z_AXIS] + z0, end[E_AXIS], feed_rate, extruder); + // Undefined parts of the Mesh in z_values[][] are NAN. + // Replace NAN corrections with 0.0 to prevent NAN propagation. + planner.buffer_segment(end[X_AXIS], end[Y_AXIS], end[Z_AXIS] + (isnan(z0) ? 0.0 : z0), end[E_AXIS], feed_rate, extruder); if (g26_debug_flag) debug_current_and_destination(PSTR("FINAL_MOVE in ubl.line_to_destination_cartesian()")); @@ -147,11 +127,8 @@ } /** - * If we get here, we are processing a move that crosses at least one Mesh Line. We will check - * for the simple case of just crossing X or just crossing Y Mesh Lines after we get all the details - * of the move figured out. We can process the easy case of just crossing an X or Y Mesh Line with less - * computation and in fact most lines are of this nature. We will check for that in the following - * blocks of code: + * Past this point the move is known to cross one or more mesh lines. Check for the most common + * case - crossing only one X or Y line - after details are worked out to reduce computation. */ const float dx = end[X_AXIS] - start[X_AXIS], @@ -167,12 +144,11 @@ dyi = cell_start_yi == cell_dest_yi ? 0 : down_flag ? -1 : 1; /** - * Compute the scaling factor for the extruder for each partial move. - * We need to watch out for zero length moves because it will cause us to - * have an infinate scaling factor. We are stuck doing a floating point - * divide to get our scaling factor, but after that, we just multiply by this - * number. We also pick our scaling factor based on whether the X or Y - * component is larger. We use the biggest of the two to preserve precision. + * Compute the extruder scaling factor for each partial move, checking for + * zero-length moves that would result in an infinite scaling factor. + * A float divide is required for this, but then it just multiplies. + * Also select a scaling factor based on the larger of the X and Y + * components. The larger of the two is used to preserve precision. */ const bool use_x_dist = adx > ady; @@ -192,43 +168,37 @@ const bool inf_normalized_flag = (isinf(e_normalized_dist) != 0), inf_m_flag = (isinf(m) != 0); + /** - * This block handles vertical lines. These are lines that stay within the same - * X Cell column. They do not need to be perfectly vertical. They just can - * not cross into another X Cell column. + * Handle vertical lines that stay within one column. + * These need not be perfectly vertical. */ - if (dxi == 0) { // Check for a vertical line - current_yi += down_flag; // Line is heading down, we just want to go to the bottom + if (dxi == 0) { // Vertical line? + current_yi += down_flag; // Line going down? Just go to the bottom. while (current_yi != cell_dest_yi + down_flag) { current_yi += dyi; const float next_mesh_line_y = mesh_index_to_ypos(current_yi); /** - * if the slope of the line is infinite, we won't do the calculations - * else, we know the next X is the same so we can recover and continue! - * Calculate X at the next Y mesh line + * Skip the calculations for an infinite slope. + * For others the next X is the same so this can continue. + * Calculate X at the next Y mesh line. */ const float rx = inf_m_flag ? start[X_AXIS] : (next_mesh_line_y - c) / m; float z0 = z_correction_for_x_on_horizontal_mesh_line(rx, current_xi, current_yi) * planner.fade_scaling_factor_for_z(end[Z_AXIS]); - /** - * If part of the Mesh is undefined, it will show up as NAN - * in z_values[][] and propagate through the - * calculations. If our correction is NAN, we throw it out - * because part of the Mesh is undefined and we don't have the - * information we need to complete the height correction. - */ + // Undefined parts of the Mesh in z_values[][] are NAN. + // Replace NAN corrections with 0.0 to prevent NAN propagation. if (isnan(z0)) z0 = 0.0; const float ry = mesh_index_to_ypos(current_yi); /** - * Without this check, it is possible for the algorithm to generate a zero length move in the case - * where the line is heading down and it is starting right on a Mesh Line boundary. For how often that - * happens, it might be best to remove the check and always 'schedule' the move because - * the planner.buffer_segment() routine will filter it if that happens. + * Without this check, it's possible to generate a zero length move, as in the case where + * the line is heading down, starting exactly on a mesh line boundary. Since this is rare + * it might be fine to remove this check and let planner.buffer_segment() filter it out. */ if (ry != start[Y_AXIS]) { if (!inf_normalized_flag) { @@ -248,9 +218,7 @@ if (g26_debug_flag) debug_current_and_destination(PSTR("vertical move done in ubl.line_to_destination_cartesian()")); - // - // Check if we are at the final destination. Usually, we won't be, but if it is on a Y Mesh Line, we are done. - // + // At the final destination? Usually not, but when on a Y Mesh Line it's completed. if (current_position[X_AXIS] != end[X_AXIS] || current_position[Y_AXIS] != end[Y_AXIS]) goto FINAL_MOVE; @@ -259,16 +227,11 @@ } /** - * - * This block handles horizontal lines. These are lines that stay within the same - * Y Cell row. They do not need to be perfectly horizontal. They just can - * not cross into another Y Cell row. - * + * Handle horizontal lines that stay within one row. + * These need not be perfectly horizontal. */ - - if (dyi == 0) { // Check for a horizontal line - current_xi += left_flag; // Line is heading left, we just want to go to the left - // edge of this cell for the first move. + if (dyi == 0) { // Horizontal line? + current_xi += left_flag; // Heading left? Just go to the left edge of the cell for the first move. while (current_xi != cell_dest_xi + left_flag) { current_xi += dxi; const float next_mesh_line_x = mesh_index_to_xpos(current_xi), @@ -277,22 +240,16 @@ float z0 = z_correction_for_y_on_vertical_mesh_line(ry, current_xi, current_yi) * planner.fade_scaling_factor_for_z(end[Z_AXIS]); - /** - * If part of the Mesh is undefined, it will show up as NAN - * in z_values[][] and propagate through the - * calculations. If our correction is NAN, we throw it out - * because part of the Mesh is undefined and we don't have the - * information we need to complete the height correction. - */ + // Undefined parts of the Mesh in z_values[][] are NAN. + // Replace NAN corrections with 0.0 to prevent NAN propagation. if (isnan(z0)) z0 = 0.0; const float rx = mesh_index_to_xpos(current_xi); /** - * Without this check, it is possible for the algorithm to generate a zero length move in the case - * where the line is heading left and it is starting right on a Mesh Line boundary. For how often - * that happens, it might be best to remove the check and always 'schedule' the move because - * the planner.buffer_segment() routine will filter it if that happens. + * Without this check, it's possible to generate a zero length move, as in the case where + * the line is heading left, starting exactly on a mesh line boundary. Since this is rare + * it might be fine to remove this check and let planner.buffer_segment() filter it out. */ if (rx != start[X_AXIS]) { if (!inf_normalized_flag) { @@ -305,7 +262,8 @@ z_position = end[Z_AXIS]; } - planner.buffer_segment(rx, ry, z_position + z0, e_position, feed_rate, extruder); + if (!planner.buffer_segment(rx, ry, z_position + z0, e_position, feed_rate, extruder)) + break; } //else printf("FIRST MOVE PRUNED "); } @@ -321,7 +279,7 @@ /** * - * This block handles the generic case of a line crossing both X and Y Mesh lines. + * Handle the generic case of a line crossing both X and Y Mesh lines. * */ @@ -334,7 +292,7 @@ current_xi += left_flag; current_yi += down_flag; - while (xi_cnt > 0 || yi_cnt > 0) { + while (xi_cnt || yi_cnt) { const float next_mesh_line_x = mesh_index_to_xpos(current_xi + dxi), next_mesh_line_y = mesh_index_to_ypos(current_yi + dyi), @@ -349,13 +307,8 @@ float z0 = z_correction_for_x_on_horizontal_mesh_line(rx, current_xi - left_flag, current_yi + dyi) * planner.fade_scaling_factor_for_z(end[Z_AXIS]); - /** - * If part of the Mesh is undefined, it will show up as NAN - * in z_values[][] and propagate through the - * calculations. If our correction is NAN, we throw it out - * because part of the Mesh is undefined and we don't have the - * information we need to complete the height correction. - */ + // Undefined parts of the Mesh in z_values[][] are NAN. + // Replace NAN corrections with 0.0 to prevent NAN propagation. if (isnan(z0)) z0 = 0.0; if (!inf_normalized_flag) { @@ -367,7 +320,8 @@ e_position = end[E_AXIS]; z_position = end[Z_AXIS]; } - planner.buffer_segment(rx, next_mesh_line_y, z_position + z0, e_position, feed_rate, extruder); + if (!planner.buffer_segment(rx, next_mesh_line_y, z_position + z0, e_position, feed_rate, extruder)) + break; current_yi += dyi; yi_cnt--; } @@ -376,13 +330,8 @@ float z0 = z_correction_for_y_on_vertical_mesh_line(ry, current_xi + dxi, current_yi - down_flag) * planner.fade_scaling_factor_for_z(end[Z_AXIS]); - /** - * If part of the Mesh is undefined, it will show up as NAN - * in z_values[][] and propagate through the - * calculations. If our correction is NAN, we throw it out - * because part of the Mesh is undefined and we don't have the - * information we need to complete the height correction. - */ + // Undefined parts of the Mesh in z_values[][] are NAN. + // Replace NAN corrections with 0.0 to prevent NAN propagation. if (isnan(z0)) z0 = 0.0; if (!inf_normalized_flag) { @@ -395,12 +344,13 @@ z_position = end[Z_AXIS]; } - planner.buffer_segment(next_mesh_line_x, ry, z_position + z0, e_position, feed_rate, extruder); + if (!planner.buffer_segment(next_mesh_line_x, ry, z_position + z0, e_position, feed_rate, extruder)) + break; current_xi += dxi; xi_cnt--; } - if (xi_cnt < 0 || yi_cnt < 0) break; // we've gone too far, so exit the loop and move on to FINAL_MOVE + if (xi_cnt < 0 || yi_cnt < 0) break; // Too far! Exit the loop and go to FINAL_MOVE } if (g26_debug_flag) @@ -440,11 +390,11 @@ inverse_kinematics(raw); // this writes delta[ABC] from raw[XYZE] // should move the feedrate scaling to scara inverse_kinematics - const float adiff = FABS(delta[A_AXIS] - scara_oldA), - bdiff = FABS(delta[B_AXIS] - scara_oldB); + const float adiff = ABS(delta[A_AXIS] - scara_oldA), + bdiff = ABS(delta[B_AXIS] - scara_oldB); scara_oldA = delta[A_AXIS]; scara_oldB = delta[B_AXIS]; - float s_feedrate = max(adiff, bdiff) * scara_feed_factor; + float s_feedrate = MAX(adiff, bdiff) * scara_feed_factor; planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], in_raw[E_AXIS], s_feedrate, active_extruder); @@ -490,19 +440,19 @@ #if IS_KINEMATIC const float seconds = cartesian_xy_mm / feedrate; // seconds to move xy distance at requested rate uint16_t segments = lroundf(delta_segments_per_second * seconds), // preferred number of segments for distance @ feedrate - seglimit = lroundf(cartesian_xy_mm * (1.0 / (DELTA_SEGMENT_MIN_LENGTH))); // number of segments at minimum segment length + seglimit = lroundf(cartesian_xy_mm * (1.0f / (DELTA_SEGMENT_MIN_LENGTH))); // number of segments at minimum segment length NOMORE(segments, seglimit); // limit to minimum segment length (fewer segments) #else - uint16_t segments = lroundf(cartesian_xy_mm * (1.0 / (DELTA_SEGMENT_MIN_LENGTH))); // cartesian fixed segment length + uint16_t segments = lroundf(cartesian_xy_mm * (1.0f / (DELTA_SEGMENT_MIN_LENGTH))); // cartesian fixed segment length #endif - NOLESS(segments, 1); // must have at least one segment - const float inv_segments = 1.0 / segments; // divide once, multiply thereafter + NOLESS(segments, 1U); // must have at least one segment + const float inv_segments = 1.0f / segments; // divide once, multiply thereafter #if IS_SCARA // scale the feed rate from mm/s to degrees/s scara_feed_factor = cartesian_xy_mm * inv_segments * feedrate; - scara_oldA = stepper.get_axis_position_degrees(A_AXIS); - scara_oldB = stepper.get_axis_position_degrees(B_AXIS); + scara_oldA = planner.get_axis_position_degrees(A_AXIS); + scara_oldB = planner.get_axis_position_degrees(B_AXIS); #endif const float diff[XYZE] = { @@ -550,8 +500,8 @@ // in top of loop and again re-find same adjacent cell and use it, just less efficient // for mesh inset area. - int8_t cell_xi = (raw[X_AXIS] - (MESH_MIN_X)) * (1.0 / (MESH_X_DIST)), - cell_yi = (raw[Y_AXIS] - (MESH_MIN_Y)) * (1.0 / (MESH_Y_DIST)); + int8_t cell_xi = (raw[X_AXIS] - (MESH_MIN_X)) * (1.0f / (MESH_X_DIST)), + cell_yi = (raw[Y_AXIS] - (MESH_MIN_Y)) * (1.0f / (MESH_Y_DIST)); cell_xi = constrain(cell_xi, 0, (GRID_MAX_POINTS_X) - 1); cell_yi = constrain(cell_yi, 0, (GRID_MAX_POINTS_Y) - 1); @@ -572,15 +522,15 @@ float cx = raw[X_AXIS] - x0, // cell-relative x and y cy = raw[Y_AXIS] - y0; - const float z_xmy0 = (z_x1y0 - z_x0y0) * (1.0 / (MESH_X_DIST)), // z slope per x along y0 (lower left to lower right) - z_xmy1 = (z_x1y1 - z_x0y1) * (1.0 / (MESH_X_DIST)); // z slope per x along y1 (upper left to upper right) + const float z_xmy0 = (z_x1y0 - z_x0y0) * (1.0f / (MESH_X_DIST)), // z slope per x along y0 (lower left to lower right) + z_xmy1 = (z_x1y1 - z_x0y1) * (1.0f / (MESH_X_DIST)); // z slope per x along y1 (upper left to upper right) float z_cxy0 = z_x0y0 + z_xmy0 * cx; // z height along y0 at cx (changes for each cx in cell) const float z_cxy1 = z_x0y1 + z_xmy1 * cx, // z height along y1 at cx z_cxyd = z_cxy1 - z_cxy0; // z height difference along cx from y0 to y1 - float z_cxym = z_cxyd * (1.0 / (MESH_Y_DIST)); // z slope per y along cx from y0 to y1 (changes for each cx in cell) + float z_cxym = z_cxyd * (1.0f / (MESH_Y_DIST)); // z slope per y along cx from y0 to y1 (changes for each cx in cell) // float z_cxcy = z_cxy0 + z_cxym * cy; // interpolated mesh z height along cx at cy (do inside the segment loop) @@ -589,7 +539,7 @@ // each change by a constant for fixed segment lengths. const float z_sxy0 = z_xmy0 * diff[X_AXIS], // per-segment adjustment to z_cxy0 - z_sxym = (z_xmy1 - z_xmy0) * (1.0 / (MESH_Y_DIST)) * diff[X_AXIS]; // per-segment adjustment to z_cxym + z_sxym = (z_xmy1 - z_xmy0) * (1.0f / (MESH_Y_DIST)) * diff[X_AXIS]; // per-segment adjustment to z_cxym for (;;) { // for all segments within this mesh cell diff --git a/Marlin/src/feature/controllerfan.cpp b/Marlin/src/feature/controllerfan.cpp index 6a770b6607fe..e1d6fc5ef4b3 100644 --- a/Marlin/src/feature/controllerfan.cpp +++ b/Marlin/src/feature/controllerfan.cpp @@ -35,7 +35,10 @@ void controllerfan_update() { const millis_t ms = millis(); if (ELAPSED(ms, nextMotorCheck)) { nextMotorCheck = ms + 2500UL; // Not a time critical function, so only check every 2.5s - if (X_ENABLE_READ == X_ENABLE_ON || Y_ENABLE_READ == Y_ENABLE_ON || Z_ENABLE_READ == Z_ENABLE_ON || thermalManager.soft_pwm_amount_bed > 0 + if (X_ENABLE_READ == X_ENABLE_ON || Y_ENABLE_READ == Y_ENABLE_ON || Z_ENABLE_READ == Z_ENABLE_ON + #if HAS_HEATED_BED + || thermalManager.soft_pwm_amount_bed > 0 + #endif || E0_ENABLE_READ == E_ENABLE_ON // If any of the drivers are enabled... #if E_STEPPERS > 1 || E1_ENABLE_READ == E_ENABLE_ON diff --git a/Marlin/src/feature/dac/dac_dac084s085.cpp b/Marlin/src/feature/dac/dac_dac084s085.cpp index e1aeb7e4386d..934b3165bd14 100644 --- a/Marlin/src/feature/dac/dac_dac084s085.cpp +++ b/Marlin/src/feature/dac/dac_dac084s085.cpp @@ -12,6 +12,7 @@ #include "../../Marlin.h" #include "../../module/stepper.h" +#include "../../HAL/Delay.h" dac084s085::dac084s085() { } @@ -27,11 +28,11 @@ void dac084s085::begin() { spiBegin(); //init onboard DAC - delayMicroseconds(2U); + DELAY_US(2); WRITE(DAC0_SYNC, LOW); - delayMicroseconds(2U); + DELAY_US(2); WRITE(DAC0_SYNC, HIGH); - delayMicroseconds(2U); + DELAY_US(2); WRITE(DAC0_SYNC, LOW); spiSend(SPI_CHAN_DAC, externalDac_buf, COUNT(externalDac_buf)); @@ -39,11 +40,11 @@ void dac084s085::begin() { #if EXTRUDERS > 1 //init Piggy DAC - delayMicroseconds(2U); + DELAY_US(2); WRITE(DAC1_SYNC, LOW); - delayMicroseconds(2U); + DELAY_US(2); WRITE(DAC1_SYNC, HIGH); - delayMicroseconds(2U); + DELAY_US(2); WRITE(DAC1_SYNC, LOW); spiSend(SPI_CHAN_DAC, externalDac_buf, COUNT(externalDac_buf)); @@ -66,20 +67,20 @@ void dac084s085::setValue(const uint8_t channel, const uint8_t value) { if (channel > 3) { // DAC Piggy E1,E2,E3 WRITE(DAC1_SYNC, LOW); - delayMicroseconds(2U); + DELAY_US(2); WRITE(DAC1_SYNC, HIGH); - delayMicroseconds(2U); + DELAY_US(2); WRITE(DAC1_SYNC, LOW); } else { // DAC onboard X,Y,Z,E0 WRITE(DAC0_SYNC, LOW); - delayMicroseconds(2U); + DELAY_US(2); WRITE(DAC0_SYNC, HIGH); - delayMicroseconds(2U); + DELAY_US(2); WRITE(DAC0_SYNC, LOW); } - delayMicroseconds(2U); + DELAY_US(2); spiSend(SPI_CHAN_DAC, externalDac_buf, COUNT(externalDac_buf)); } diff --git a/Marlin/src/feature/dac/stepper_dac.cpp b/Marlin/src/feature/dac/stepper_dac.cpp index 458eb61f1ad4..b5ea77a029f8 100644 --- a/Marlin/src/feature/dac/stepper_dac.cpp +++ b/Marlin/src/feature/dac/stepper_dac.cpp @@ -91,8 +91,8 @@ void dac_current_raw(uint8_t channel, uint16_t val) { mcp4728_simpleCommand(UPDATE); } -static float dac_perc(int8_t n) { return 100.0 * mcp4728_getValue(dac_order[n]) * (1.0 / (DAC_STEPPER_MAX)); } -static float dac_amps(int8_t n) { return mcp4728_getDrvPct(dac_order[n]) * (DAC_STEPPER_MAX) * 0.125 * (1.0 / (DAC_STEPPER_SENSE)); } +static float dac_perc(int8_t n) { return 100.0 * mcp4728_getValue(dac_order[n]) * (1.0f / (DAC_STEPPER_MAX)); } +static float dac_amps(int8_t n) { return mcp4728_getDrvPct(dac_order[n]) * (DAC_STEPPER_MAX) * 0.125 * (1.0f / (DAC_STEPPER_SENSE)); } uint8_t dac_current_get_percent(AxisEnum axis) { return mcp4728_getDrvPct(dac_order[axis]); } void dac_current_set_percents(const uint8_t pct[XYZE]) { diff --git a/Marlin/src/feature/digipot/digipot_mcp4018.cpp b/Marlin/src/feature/digipot/digipot_mcp4018.cpp index 5ae24188fd4b..e59c3d52696e 100644 --- a/Marlin/src/feature/digipot/digipot_mcp4018.cpp +++ b/Marlin/src/feature/digipot/digipot_mcp4018.cpp @@ -87,7 +87,7 @@ static void i2c_send(const uint8_t channel, const byte v) { // This is for the MCP4018 I2C based digipot void digipot_i2c_set_current(const uint8_t channel, const float current) { - i2c_send(channel, current_to_wiper(min(max(current, 0.0f), float(DIGIPOT_A4988_MAX_CURRENT)))); + i2c_send(channel, current_to_wiper(MIN(MAX(current, 0), float(DIGIPOT_A4988_MAX_CURRENT)))); } void digipot_i2c_init() { diff --git a/Marlin/src/feature/digipot/digipot_mcp4451.cpp b/Marlin/src/feature/digipot/digipot_mcp4451.cpp index 2d6ab3147e8d..4609a2c2172d 100644 --- a/Marlin/src/feature/digipot/digipot_mcp4451.cpp +++ b/Marlin/src/feature/digipot/digipot_mcp4451.cpp @@ -69,7 +69,7 @@ void digipot_i2c_set_current(const uint8_t channel, const float current) { // Set actual wiper value byte addresses[4] = { 0x00, 0x10, 0x60, 0x70 }; - i2c_send(addr, addresses[channel & 0x3], current_to_wiper(min((float) max(current, 0.0f), DIGIPOT_I2C_MAX_CURRENT))); + i2c_send(addr, addresses[channel & 0x3], current_to_wiper(MIN((float) MAX(current, 0), DIGIPOT_I2C_MAX_CURRENT))); } void digipot_i2c_init() { diff --git a/Marlin/src/feature/emergency_parser.cpp b/Marlin/src/feature/emergency_parser.cpp new file mode 100644 index 000000000000..3c9cbf12e56a --- /dev/null +++ b/Marlin/src/feature/emergency_parser.cpp @@ -0,0 +1,39 @@ +/** + * 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 . + * + */ + +/** + * emergency_parser.cpp - Intercept special commands directly in the serial stream + */ + +#include "../inc/MarlinConfigPre.h" + +#if ENABLED(EMERGENCY_PARSER) + +#include "emergency_parser.h" + +// Static data members +bool EmergencyParser::killed_by_M112; // = false + +// Global instance +EmergencyParser emergency_parser; + +#endif // EMERGENCY_PARSER diff --git a/Marlin/src/feature/emergency_parser.h b/Marlin/src/feature/emergency_parser.h new file mode 100644 index 000000000000..127b5c20daf2 --- /dev/null +++ b/Marlin/src/feature/emergency_parser.h @@ -0,0 +1,143 @@ +/** + * 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 . + * + */ + +/** + * emergency_parser.h - Intercept special commands directly in the serial stream + */ + +#ifndef _EMERGENCY_PARSER_H_ +#define _EMERGENCY_PARSER_H_ + +// External references +extern volatile bool wait_for_user, wait_for_heatup; +void quickstop_stepper(); + +class EmergencyParser { + +public: + + // Currently looking for: M108, M112, M410 + enum State : char { + EP_RESET, + EP_N, + EP_M, + EP_M1, + EP_M10, + EP_M108, + EP_M11, + EP_M112, + EP_M4, + EP_M41, + EP_M410, + EP_IGNORE // to '\n' + }; + + static bool killed_by_M112; + + EmergencyParser() {} + + __attribute__((always_inline)) inline + static void update(State &state, const uint8_t c) { + + switch (state) { + case EP_RESET: + switch (c) { + case ' ': break; + case 'N': state = EP_N; break; + case 'M': state = EP_M; break; + default: state = EP_IGNORE; + } + break; + + case EP_N: + switch (c) { + case '0': case '1': case '2': + case '3': case '4': case '5': + case '6': case '7': case '8': + case '9': case '-': case ' ': break; + case 'M': state = EP_M; break; + default: state = EP_IGNORE; + } + break; + + case EP_M: + switch (c) { + case ' ': break; + case '1': state = EP_M1; break; + case '4': state = EP_M4; break; + default: state = EP_IGNORE; + } + break; + + case EP_M1: + switch (c) { + case '0': state = EP_M10; break; + case '1': state = EP_M11; break; + default: state = EP_IGNORE; + } + break; + + case EP_M10: + state = (c == '8') ? EP_M108 : EP_IGNORE; + break; + + case EP_M11: + state = (c == '2') ? EP_M112 : EP_IGNORE; + break; + + case EP_M4: + state = (c == '1') ? EP_M41 : EP_IGNORE; + break; + + case EP_M41: + state = (c == '0') ? EP_M410 : EP_IGNORE; + break; + + case EP_IGNORE: + if (c == '\n') state = EP_RESET; + break; + + default: + if (c == '\n') { + switch (state) { + case EP_M108: + wait_for_user = wait_for_heatup = false; + break; + case EP_M112: + killed_by_M112 = true; + break; + case EP_M410: + quickstop_stepper(); + break; + default: + break; + } + state = EP_RESET; + } + } + } + +}; + +extern EmergencyParser emergency_parser; + +#endif // _EMERGENCY_PARSER_H_ diff --git a/Marlin/src/feature/fwretract.cpp b/Marlin/src/feature/fwretract.cpp index ab070884024e..bc26a97371d1 100644 --- a/Marlin/src/feature/fwretract.cpp +++ b/Marlin/src/feature/fwretract.cpp @@ -108,7 +108,7 @@ void FWRetract::retract(const bool retracting // G11 priority to recover the long retract if activated if (!retracting) swapping = retracted_swap[active_extruder]; #else - const bool swapping = false; + constexpr bool swapping = false; #endif /* // debugging @@ -118,61 +118,58 @@ void FWRetract::retract(const bool retracting for (uint8_t i = 0; i < EXTRUDERS; ++i) { SERIAL_ECHOPAIR("retracted[", i); SERIAL_ECHOLNPAIR("] ", retracted[i]); - SERIAL_ECHOPAIR("retracted_swap[", i); - SERIAL_ECHOLNPAIR("] ", retracted_swap[i]); + #if EXTRUDERS > 1 + SERIAL_ECHOPAIR("retracted_swap[", i); + SERIAL_ECHOLNPAIR("] ", retracted_swap[i]); + #endif } SERIAL_ECHOLNPAIR("current_position[z] ", current_position[Z_AXIS]); + SERIAL_ECHOLNPAIR("current_position[e] ", current_position[E_AXIS]); SERIAL_ECHOLNPAIR("hop_amount ", hop_amount); //*/ - const float old_feedrate_mm_s = feedrate_mm_s; + const float old_feedrate_mm_s = feedrate_mm_s, + renormalize = RECIPROCAL(planner.e_factor[active_extruder]), + base_retract = swapping ? swap_retract_length : retract_length, + old_z = current_position[Z_AXIS], + old_e = current_position[E_AXIS]; // The current position will be the destination for E and Z moves set_destination_from_current(); - stepper.synchronize(); // Wait for buffered moves to complete - - const float renormalize = 1.0 / planner.e_factor[active_extruder]; if (retracting) { // Retract by moving from a faux E position back to the current E position feedrate_mm_s = retract_feedrate_mm_s; - current_position[E_AXIS] += (swapping ? swap_retract_length : retract_length) * renormalize; - sync_plan_position_e(); - prepare_move_to_destination(); + destination[E_AXIS] -= base_retract * renormalize; + prepare_move_to_destination(); // set_current_to_destination // Is a Z hop set, and has the hop not yet been done? - // No double zlifting - // Feedrate to the max if (retract_zlift > 0.01 && !hop_amount) { // Apply hop only once - const float old_z = current_position[Z_AXIS]; hop_amount += retract_zlift; // Add to the hop total (again, only once) destination[Z_AXIS] += retract_zlift; // Raise Z by the zlift (M207 Z) amount feedrate_mm_s = planner.max_feedrate_mm_s[Z_AXIS]; // Maximum Z feedrate - prepare_move_to_destination(); // Raise up - current_position[Z_AXIS] = old_z; // Spoof the Z position in the planner - SYNC_PLAN_POSITION_KINEMATIC(); + prepare_move_to_destination(); // Raise up, set_current_to_destination } } else { // If a hop was done and Z hasn't changed, undo the Z hop if (hop_amount) { - current_position[Z_AXIS] += hop_amount; // Set actual Z (due to the prior hop) - SYNC_PLAN_POSITION_KINEMATIC(); // Spoof the Z position in the planner + current_position[Z_AXIS] += hop_amount; // Restore the actual Z position + SYNC_PLAN_POSITION_KINEMATIC(); // Unspoof the position planner feedrate_mm_s = planner.max_feedrate_mm_s[Z_AXIS]; // Z feedrate to max - prepare_move_to_destination(); // Lower Z and update current_position + prepare_move_to_destination(); // Lower Z, set_current_to_destination hop_amount = 0.0; // Clear the hop amount } - // A retract multiplier has been added here to get faster swap recovery + destination[E_AXIS] += (base_retract + (swapping ? swap_retract_recover_length : retract_recover_length)) * renormalize; feedrate_mm_s = swapping ? swap_retract_recover_feedrate_mm_s : retract_recover_feedrate_mm_s; - - const float move_e = swapping ? swap_retract_length + swap_retract_recover_length : retract_length + retract_recover_length; - current_position[E_AXIS] -= move_e * renormalize; - sync_plan_position_e(); - prepare_move_to_destination(); // Recover E + prepare_move_to_destination(); // Recover E, set_current_to_destination } feedrate_mm_s = old_feedrate_mm_s; // Restore original feedrate + current_position[Z_AXIS] = old_z; // Restore Z and E positions + current_position[E_AXIS] = old_e; + SYNC_PLAN_POSITION_KINEMATIC(); // As if the move never took place retracted[active_extruder] = retracting; // Active extruder now retracted / recovered @@ -188,10 +185,13 @@ void FWRetract::retract(const bool retracting for (uint8_t i = 0; i < EXTRUDERS; ++i) { SERIAL_ECHOPAIR("retracted[", i); SERIAL_ECHOLNPAIR("] ", retracted[i]); - SERIAL_ECHOPAIR("retracted_swap[", i); - SERIAL_ECHOLNPAIR("] ", retracted_swap[i]); + #if EXTRUDERS > 1 + SERIAL_ECHOPAIR("retracted_swap[", i); + SERIAL_ECHOLNPAIR("] ", retracted_swap[i]); + #endif } SERIAL_ECHOLNPAIR("current_position[z] ", current_position[Z_AXIS]); + SERIAL_ECHOLNPAIR("current_position[e] ", current_position[E_AXIS]); SERIAL_ECHOLNPAIR("hop_amount ", hop_amount); //*/ diff --git a/Marlin/src/feature/leds/tempstat.cpp b/Marlin/src/feature/leds/tempstat.cpp index 8f2be49f2a1d..5ab0d2efab4e 100644 --- a/Marlin/src/feature/leds/tempstat.cpp +++ b/Marlin/src/feature/leds/tempstat.cpp @@ -37,7 +37,7 @@ void handle_status_leds(void) { if (ELAPSED(millis(), next_status_led_update_ms)) { next_status_led_update_ms += 500; // Update every 0.5s float max_temp = 0.0; - #if HAS_TEMP_BED + #if HAS_HEATED_BED max_temp = MAX3(max_temp, thermalManager.degTargetBed(), thermalManager.degBed()); #endif HOTEND_LOOP() diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp index 0c5b74293476..62e66122ef6a 100644 --- a/Marlin/src/feature/pause.cpp +++ b/Marlin/src/feature/pause.cpp @@ -121,8 +121,8 @@ static void do_pause_e_move(const float &length, const float &fr) { set_destination_from_current(); destination[E_AXIS] += length / planner.e_factor[active_extruder]; planner.buffer_line_kinematic(destination, fr, active_extruder); - stepper.synchronize(); set_current_from_destination(); + planner.synchronize(); } /** @@ -137,7 +137,7 @@ static void do_pause_e_move(const float &length, const float &fr) { * * Returns 'true' if load was completed, 'false' for abort */ -bool load_filament(const float &load_length/*=0*/, const float &purge_length/*=0*/, const int8_t max_beep_count/*=0*/, +bool load_filament(const float &slow_load_length/*=0*/, const float &fast_load_length/*=0*/, const float &purge_length/*=0*/, const int8_t max_beep_count/*=0*/, const bool show_lcd/*=false*/, const bool pause_for_user/*=false*/, const AdvancedPauseMode mode/*=ADVANCED_PAUSE_MODE_PAUSE_PRINT*/ ) { @@ -184,8 +184,22 @@ bool load_filament(const float &load_length/*=0*/, const float &purge_length/*=0 lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_LOAD, mode); #endif - // Load filament - if (load_length) do_pause_e_move(load_length, FILAMENT_CHANGE_LOAD_FEEDRATE); + // Slow Load filament + if (slow_load_length) do_pause_e_move(slow_load_length, FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE); + + // Fast Load Filament + if (fast_load_length) { + #if FILAMENT_CHANGE_FAST_LOAD_ACCEL > 0 + const float saved_acceleration = planner.retract_acceleration; + planner.retract_acceleration = FILAMENT_CHANGE_FAST_LOAD_ACCEL; + #endif + + do_pause_e_move(fast_load_length, FILAMENT_CHANGE_FAST_LOAD_FEEDRATE); + + #if FILAMENT_CHANGE_FAST_LOAD_ACCEL > 0 + planner.retract_acceleration = saved_acceleration; + #endif + } #if ENABLED(ADVANCED_PAUSE_CONTINUOUS_PURGE) @@ -196,7 +210,7 @@ bool load_filament(const float &load_length/*=0*/, const float &purge_length/*=0 wait_for_user = true; for (float purge_count = purge_length; purge_count > 0 && wait_for_user; --purge_count) - do_pause_e_move(1, ADVANCED_PAUSE_EXTRUDE_FEEDRATE); + do_pause_e_move(1, ADVANCED_PAUSE_PURGE_FEEDRATE); wait_for_user = false; #else @@ -210,7 +224,7 @@ bool load_filament(const float &load_length/*=0*/, const float &purge_length/*=0 #endif // Extrude filament to get into hotend - do_pause_e_move(purge_length, ADVANCED_PAUSE_EXTRUDE_FEEDRATE); + do_pause_e_move(purge_length, ADVANCED_PAUSE_PURGE_FEEDRATE); } // Show "Purge More" / "Resume" menu and wait for reply @@ -233,7 +247,7 @@ bool load_filament(const float &load_length/*=0*/, const float &purge_length/*=0 #endif ); - #endif + #endif return true; } @@ -277,8 +291,17 @@ bool unload_filament(const float &unload_length, const bool show_lcd/*=false*/, do_pause_e_move(FILAMENT_UNLOAD_RETRACT_LENGTH + FILAMENT_UNLOAD_PURGE_LENGTH, planner.max_feedrate_mm_s[E_AXIS]); // Unload filament + #if FILAMENT_CHANGE_UNLOAD_ACCEL > 0 + const float saved_acceleration = planner.retract_acceleration; + planner.retract_acceleration = FILAMENT_CHANGE_UNLOAD_ACCEL; + #endif + do_pause_e_move(unload_length, FILAMENT_CHANGE_UNLOAD_FEEDRATE); + #if FILAMENT_CHANGE_FAST_LOAD_ACCEL > 0 + planner.retract_acceleration = saved_acceleration; + #endif + // Disable extruders steppers for manual filament changing (only on boards that have separate ENABLE_PINS) #if E0_ENABLE_PIN != X_ENABLE_PIN && E1_ENABLE_PIN != Y_ENABLE_PIN disable_e_stepper(active_extruder); @@ -343,21 +366,19 @@ bool pause_print(const float &retract, const point_t &park_point, const float &u #endif print_job_timer.pause(); - // Wait for synchronize steppers - stepper.synchronize(); - // Save current position COPY(resume_position, current_position); + // Wait for buffered blocks to complete + planner.synchronize(); + // Initial retract before move to filament change position if (retract && thermalManager.hotEnoughToExtrude(active_extruder)) do_pause_e_move(retract, PAUSE_PARK_RETRACT_FEEDRATE); - #if ENABLED(NO_MOTION_BEFORE_HOMING) - if (!axis_unhomed_error()) - #endif - // Park the nozzle by moving up by z_lift and then moving to (x_pos, y_pos) - Nozzle::park(2, park_point); + // Park the nozzle by moving up by z_lift and then moving to (x_pos, y_pos) + if (!axis_unhomed_error()) + Nozzle::park(2, park_point); // Unload the filament if (unload_length) @@ -477,7 +498,7 @@ void wait_for_filament_reload(const int8_t max_beep_count/*=0*/) { * - Send host action for resume, if configured * - Resume the current SD print job, if any */ -void resume_print(const float &load_length/*=0*/, const float &purge_length/*=ADVANCED_PAUSE_EXTRUDE_LENGTH*/, const int8_t max_beep_count/*=0*/) { +void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_length/*=0*/, const float &purge_length/*=ADVANCED_PAUSE_PURGE_LENGTH*/, const int8_t max_beep_count/*=0*/) { if (!did_pause_print) return; // Re-enable the heaters if they timed out @@ -489,7 +510,7 @@ void resume_print(const float &load_length/*=0*/, const float &purge_length/*=AD if (nozzle_timed_out || thermalManager.hotEnoughToExtrude(active_extruder)) { // Load the new filament - load_filament(load_length, purge_length, max_beep_count, true, nozzle_timed_out); + load_filament(slow_load_length, fast_load_length, purge_length, max_beep_count, true, nozzle_timed_out); } #if ENABLED(ULTIPANEL) @@ -503,18 +524,19 @@ void resume_print(const float &load_length/*=0*/, const float &purge_length/*=AD if (fwretract.retracted[active_extruder]) do_pause_e_move(-fwretract.retract_length, fwretract.retract_feedrate_mm_s); #endif + // If resume_position is negative if (resume_position[E_AXIS] < 0) do_pause_e_move(resume_position[E_AXIS], PAUSE_PARK_RETRACT_FEEDRATE); // Move XY to starting position, then Z do_blocking_move_to_xy(resume_position[X_AXIS], resume_position[Y_AXIS], NOZZLE_PARK_XY_FEEDRATE); - // Set Z_AXIS to saved position + // Move Z_AXIS to saved position do_blocking_move_to_z(resume_position[Z_AXIS], NOZZLE_PARK_Z_FEEDRATE); // Now all extrusion positions are resumed and ready to be confirmed // Set extruder to saved position - planner.set_e_position_mm(destination[E_AXIS] = current_position[E_AXIS] = resume_position[E_AXIS]); + planner.set_e_position_mm((destination[E_AXIS] = current_position[E_AXIS] = resume_position[E_AXIS])); #if ENABLED(FILAMENT_RUNOUT_SENSOR) runout.reset(); diff --git a/Marlin/src/feature/pause.h b/Marlin/src/feature/pause.h index b2e9e2709533..c920fd599f18 100644 --- a/Marlin/src/feature/pause.h +++ b/Marlin/src/feature/pause.h @@ -71,9 +71,9 @@ bool pause_print(const float &retract, const point_t &park_point, const float &u void wait_for_filament_reload(const int8_t max_beep_count=0); -void resume_print(const float &load_length=0, const float &extrude_length=ADVANCED_PAUSE_EXTRUDE_LENGTH, const int8_t max_beep_count=0); +void resume_print(const float &slow_load_length=0, const float &fast_load_length=0, const float &extrude_length=ADVANCED_PAUSE_PURGE_LENGTH, const int8_t max_beep_count=0); -bool load_filament(const float &load_length=0, const float &extrude_length=0, const int8_t max_beep_count=0, const bool show_lcd=false, +bool load_filament(const float &slow_load_length=0, const float &fast_load_length=0, const float &extrude_length=0, const int8_t max_beep_count=0, const bool show_lcd=false, const bool pause_for_user=false, const AdvancedPauseMode mode=ADVANCED_PAUSE_MODE_PAUSE_PRINT); bool unload_filament(const float &unload_length, const bool show_lcd=false, const AdvancedPauseMode mode=ADVANCED_PAUSE_MODE_PAUSE_PRINT); diff --git a/Marlin/src/feature/power.cpp b/Marlin/src/feature/power.cpp index 72b2504cc052..0365980db5a7 100644 --- a/Marlin/src/feature/power.cpp +++ b/Marlin/src/feature/power.cpp @@ -50,8 +50,10 @@ bool Power::is_power_needed() { if (controllerFanSpeed > 0) return true; #endif - if (X_ENABLE_READ == X_ENABLE_ON || Y_ENABLE_READ == Y_ENABLE_ON || Z_ENABLE_READ == Z_ENABLE_ON || - thermalManager.soft_pwm_amount_bed > 0 + if (X_ENABLE_READ == X_ENABLE_ON || Y_ENABLE_READ == Y_ENABLE_ON || Z_ENABLE_READ == Z_ENABLE_ON + #if HAS_HEATED_BED + || thermalManager.soft_pwm_amount_bed > 0 + #endif || E0_ENABLE_READ == E_ENABLE_ON // If any of the drivers are enabled... #if E_STEPPERS > 1 || E1_ENABLE_READ == E_ENABLE_ON @@ -87,16 +89,18 @@ void Power::check() { void Power::power_on() { lastPowerOn = millis(); - PSU_PIN_ON(); + if (!powersupply_on) { + PSU_PIN_ON(); - #if HAS_TRINAMIC - delay(100); // Wait for power to settle - restore_stepper_drivers(); - #endif + #if HAS_TRINAMIC + delay(100); // Wait for power to settle + restore_stepper_drivers(); + #endif + } } void Power::power_off() { - PSU_PIN_OFF(); + if (powersupply_on) PSU_PIN_OFF(); } #endif // AUTO_POWER_CONTROL diff --git a/Marlin/src/feature/power_loss_recovery.cpp b/Marlin/src/feature/power_loss_recovery.cpp new file mode 100644 index 000000000000..095858837385 --- /dev/null +++ b/Marlin/src/feature/power_loss_recovery.cpp @@ -0,0 +1,285 @@ +/** + * 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 . + * + */ + +/** + * power_loss_recovery.cpp - Resume an SD print after power-loss + */ + +#include "../inc/MarlinConfigPre.h" + +#if ENABLED(POWER_LOSS_RECOVERY) + +#include "power_loss_recovery.h" + +#include "../lcd/ultralcd.h" +#include "../gcode/queue.h" +#include "../module/planner.h" +#include "../module/printcounter.h" +#include "../module/temperature.h" +#include "../sd/cardreader.h" +#include "../core/serial.h" + +// Recovery data +job_recovery_info_t job_recovery_info; +JobRecoveryPhase job_recovery_phase = JOB_RECOVERY_IDLE; +uint8_t job_recovery_commands_count; //=0 +char job_recovery_commands[BUFSIZE + APPEND_CMD_COUNT][MAX_CMD_SIZE]; +// Extern +extern uint8_t active_extruder, commands_in_queue, cmd_queue_index_r; + +#if ENABLED(DEBUG_POWER_LOSS_RECOVERY) + void debug_print_job_recovery(const bool recovery) { + SERIAL_PROTOCOLLNPGM("---- Job Recovery Info ----"); + SERIAL_PROTOCOLPAIR("valid_head:", int(job_recovery_info.valid_head)); + SERIAL_PROTOCOLLNPAIR(" valid_foot:", int(job_recovery_info.valid_foot)); + if (job_recovery_info.valid_head) { + if (job_recovery_info.valid_head == job_recovery_info.valid_foot) { + SERIAL_PROTOCOLPGM("current_position: "); + LOOP_XYZE(i) { + SERIAL_PROTOCOL(job_recovery_info.current_position[i]); + if (i < E_AXIS) SERIAL_CHAR(','); + } + SERIAL_EOL(); + SERIAL_PROTOCOLLNPAIR("feedrate: ", job_recovery_info.feedrate); + + #if HOTENDS > 1 + SERIAL_PROTOCOLLNPAIR("active_hotend: ", int(job_recovery_info.active_hotend)); + #endif + + SERIAL_PROTOCOLPGM("target_temperature: "); + HOTEND_LOOP() { + SERIAL_PROTOCOL(job_recovery_info.target_temperature[e]); + if (e < HOTENDS - 1) SERIAL_CHAR(','); + } + SERIAL_EOL(); + + #if HAS_HEATED_BED + SERIAL_PROTOCOLLNPAIR("target_temperature_bed: ", job_recovery_info.target_temperature_bed); + #endif + + #if FAN_COUNT + SERIAL_PROTOCOLPGM("fanSpeeds: "); + for (int8_t i = 0; i < FAN_COUNT; i++) { + SERIAL_PROTOCOL(job_recovery_info.fanSpeeds[i]); + if (i < FAN_COUNT - 1) SERIAL_CHAR(','); + } + SERIAL_EOL(); + #endif + + #if HAS_LEVELING + SERIAL_PROTOCOLPAIR("leveling: ", int(job_recovery_info.leveling)); + SERIAL_PROTOCOLLNPAIR(" fade: ", int(job_recovery_info.fade)); + #endif + SERIAL_PROTOCOLLNPAIR("cmd_queue_index_r: ", int(job_recovery_info.cmd_queue_index_r)); + SERIAL_PROTOCOLLNPAIR("commands_in_queue: ", int(job_recovery_info.commands_in_queue)); + if (recovery) + for (uint8_t i = 0; i < job_recovery_commands_count; i++) SERIAL_PROTOCOLLNPAIR("> ", job_recovery_commands[i]); + else + for (uint8_t i = 0; i < job_recovery_info.commands_in_queue; i++) SERIAL_PROTOCOLLNPAIR("> ", job_recovery_info.command_queue[i]); + SERIAL_PROTOCOLLNPAIR("sd_filename: ", job_recovery_info.sd_filename); + SERIAL_PROTOCOLLNPAIR("sdpos: ", job_recovery_info.sdpos); + SERIAL_PROTOCOLLNPAIR("print_job_elapsed: ", job_recovery_info.print_job_elapsed); + } + else + SERIAL_PROTOCOLLNPGM("INVALID DATA"); + } + SERIAL_PROTOCOLLNPGM("---------------------------"); + } +#endif // DEBUG_POWER_LOSS_RECOVERY + +/** + * Check for Print Job Recovery during setup() + * + * If a saved state exists, populate job_recovery_commands with + * commands to restore the machine state and continue the file. + */ +void check_print_job_recovery() { + memset(&job_recovery_info, 0, sizeof(job_recovery_info)); + ZERO(job_recovery_commands); + + if (!card.cardOK) card.initsd(); + + if (card.cardOK) { + + #if ENABLED(DEBUG_POWER_LOSS_RECOVERY) + SERIAL_PROTOCOLLNPAIR("Init job recovery info. Size: ", int(sizeof(job_recovery_info))); + #endif + + if (card.jobRecoverFileExists()) { + card.openJobRecoveryFile(true); + card.loadJobRecoveryInfo(); + card.closeJobRecoveryFile(); + //card.removeJobRecoveryFile(); + + if (job_recovery_info.valid_head && job_recovery_info.valid_head == job_recovery_info.valid_foot) { + + uint8_t ind = 0; + + #if HAS_LEVELING + strcpy_P(job_recovery_commands[ind++], PSTR("M420 S0 Z0")); // Leveling off before G92 or G28 + #endif + + strcpy_P(job_recovery_commands[ind++], PSTR("G92.0 Z0")); // Ensure Z is equal to 0 + strcpy_P(job_recovery_commands[ind++], PSTR("G1 Z2")); // Raise Z by 2mm (we hope!) + strcpy_P(job_recovery_commands[ind++], PSTR("G28 R0" + #if ENABLED(MARLIN_DEV_MODE) + " S" + #elif !IS_KINEMATIC + " X Y" // Home X and Y for Cartesian + #endif + )); + + char str_1[16], str_2[16]; + + #if HAS_LEVELING + if (job_recovery_info.fade || job_recovery_info.leveling) { + // Restore leveling state before G92 sets Z + // This ensures the steppers correspond to the native Z + dtostrf(job_recovery_info.fade, 1, 1, str_1); + sprintf_P(job_recovery_commands[ind++], PSTR("M420 S%i Z%s"), int(job_recovery_info.leveling), str_1); + } + #endif + + dtostrf(job_recovery_info.current_position[Z_AXIS] + 2, 1, 3, str_1); + dtostrf(job_recovery_info.current_position[E_AXIS] + #if ENABLED(SAVE_EACH_CMD_MODE) + - 5 + #endif + , 1, 3, str_2 + ); + sprintf_P(job_recovery_commands[ind++], PSTR("G92.0 Z%s E%s"), str_1, str_2); // Current Z + 2 and E + + uint8_t r = job_recovery_info.cmd_queue_index_r, c = job_recovery_info.commands_in_queue; + while (c--) { + strcpy(job_recovery_commands[ind++], job_recovery_info.command_queue[r]); + r = (r + 1) % BUFSIZE; + } + + if (job_recovery_info.sd_filename[0] == '/') job_recovery_info.sd_filename[0] = ' '; + sprintf_P(job_recovery_commands[ind++], PSTR("M23 %s"), job_recovery_info.sd_filename); + sprintf_P(job_recovery_commands[ind++], PSTR("M24 S%ld T%ld"), job_recovery_info.sdpos, job_recovery_info.print_job_elapsed); + + job_recovery_commands_count = ind; + + #if ENABLED(DEBUG_POWER_LOSS_RECOVERY) + debug_print_job_recovery(true); + #endif + } + else { + if (job_recovery_info.valid_head != job_recovery_info.valid_foot) + LCD_ALERTMESSAGEPGM("INVALID DATA"); + memset(&job_recovery_info, 0, sizeof(job_recovery_info)); + } + } + } +} + +/** + * Save the current machine state to the power-loss recovery file + */ +void save_job_recovery_info() { + #if SAVE_INFO_INTERVAL_MS > 0 + static millis_t next_save_ms; // = 0; // Init on reset + millis_t ms = millis(); + #endif + if ( + // Save on every command + #if ENABLED(SAVE_EACH_CMD_MODE) + true + #else + // Save if power loss pin is triggered + #if PIN_EXISTS(POWER_LOSS) + READ(POWER_LOSS_PIN) == POWER_LOSS_STATE || + #endif + // Save if interval is elapsed + #if SAVE_INFO_INTERVAL_MS > 0 + ELAPSED(ms, next_save_ms) || + #endif + // Save on every new Z height + (current_position[Z_AXIS] > 0 && current_position[Z_AXIS] > job_recovery_info.current_position[Z_AXIS]) + #endif + ) { + #if SAVE_INFO_INTERVAL_MS > 0 + next_save_ms = ms + SAVE_INFO_INTERVAL_MS; + #endif + + // Head and foot will match if valid data was saved + if (!++job_recovery_info.valid_head) ++job_recovery_info.valid_head; // non-zero in sequence + job_recovery_info.valid_foot = job_recovery_info.valid_head; + + // Machine state + COPY(job_recovery_info.current_position, current_position); + job_recovery_info.feedrate = feedrate_mm_s; + + #if HOTENDS > 1 + job_recovery_info.active_hotend = active_extruder; + #endif + + COPY(job_recovery_info.target_temperature, thermalManager.target_temperature); + + #if HAS_HEATED_BED + job_recovery_info.target_temperature_bed = thermalManager.target_temperature_bed; + #endif + + #if FAN_COUNT + COPY(job_recovery_info.fanSpeeds, fanSpeeds); + #endif + + #if HAS_LEVELING + job_recovery_info.leveling = planner.leveling_active; + job_recovery_info.fade = ( + #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) + planner.z_fade_height + #else + 0 + #endif + ); + #endif + + // Commands in the queue + job_recovery_info.cmd_queue_index_r = cmd_queue_index_r; + job_recovery_info.commands_in_queue = commands_in_queue; + COPY(job_recovery_info.command_queue, command_queue); + + // Elapsed print job time + job_recovery_info.print_job_elapsed = print_job_timer.duration(); + + // SD file position + card.getAbsFilename(job_recovery_info.sd_filename); + job_recovery_info.sdpos = card.getIndex(); + + #if ENABLED(DEBUG_POWER_LOSS_RECOVERY) + SERIAL_PROTOCOLLNPGM("Saving..."); + debug_print_job_recovery(false); + #endif + + card.openJobRecoveryFile(false); + (void)card.saveJobRecoveryInfo(); + + // If power-loss pin was triggered, write just once then kill + #if PIN_EXISTS(POWER_LOSS) + if (READ(POWER_LOSS_PIN) == POWER_LOSS_STATE) kill(MSG_POWER_LOSS_RECOVERY); + #endif + } +} + +#endif // POWER_LOSS_RECOVERY diff --git a/Marlin/src/feature/power_loss_recovery.h b/Marlin/src/feature/power_loss_recovery.h new file mode 100644 index 000000000000..46a8fd52de3e --- /dev/null +++ b/Marlin/src/feature/power_loss_recovery.h @@ -0,0 +1,99 @@ +/** + * 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 . + * + */ + +/** + * power_loss_recovery.h - Resume an SD print after power-loss + */ + +#ifndef _POWER_LOSS_RECOVERY_H_ +#define _POWER_LOSS_RECOVERY_H_ + +#include "../sd/cardreader.h" +#include "../core/types.h" +#include "../inc/MarlinConfigPre.h" + +#define SAVE_INFO_INTERVAL_MS 0 +//#define SAVE_EACH_CMD_MODE +//#define DEBUG_POWER_LOSS_RECOVERY + +typedef struct { + uint8_t valid_head; + + // Machine state + float current_position[NUM_AXIS], feedrate; + + #if HOTENDS > 1 + uint8_t active_hotend; + #endif + + int16_t target_temperature[HOTENDS]; + + #if HAS_HEATED_BED + int16_t target_temperature_bed; + #endif + + #if FAN_COUNT + int16_t fanSpeeds[FAN_COUNT]; + #endif + + #if HAS_LEVELING + bool leveling; + float fade; + #endif + + // Command queue + uint8_t cmd_queue_index_r, commands_in_queue; + char command_queue[BUFSIZE][MAX_CMD_SIZE]; + + // SD Filename and position + char sd_filename[MAXPATHNAMELENGTH]; + uint32_t sdpos; + + // Job elapsed time + millis_t print_job_elapsed; + + uint8_t valid_foot; +} job_recovery_info_t; + +extern job_recovery_info_t job_recovery_info; + +enum JobRecoveryPhase : unsigned char { + JOB_RECOVERY_IDLE, + JOB_RECOVERY_MAYBE, + JOB_RECOVERY_YES, + JOB_RECOVERY_DONE +}; +extern JobRecoveryPhase job_recovery_phase; + +#if HAS_LEVELING + #define APPEND_CMD_COUNT 9 +#else + #define APPEND_CMD_COUNT 7 +#endif + +extern char job_recovery_commands[BUFSIZE + APPEND_CMD_COUNT][MAX_CMD_SIZE]; +extern uint8_t job_recovery_commands_count; + +void check_print_job_recovery(); +void save_job_recovery_info(); + +#endif // _POWER_LOSS_RECOVERY_H_ diff --git a/Marlin/src/feature/runout.h b/Marlin/src/feature/runout.h index 37b4dbfba5b3..47bd2cf7b855 100644 --- a/Marlin/src/feature/runout.h +++ b/Marlin/src/feature/runout.h @@ -48,7 +48,7 @@ class FilamentRunoutSensor { if ((IS_SD_PRINTING || print_job_timer.isRunning()) && check() && !filament_ran_out) { filament_ran_out = true; enqueue_and_echo_commands_P(PSTR(FILAMENT_RUNOUT_SCRIPT)); - stepper.synchronize(); + planner.synchronize(); } } private: diff --git a/Marlin/src/feature/snmm.cpp b/Marlin/src/feature/snmm.cpp index e9ef540d626d..e8c04f219780 100644 --- a/Marlin/src/feature/snmm.cpp +++ b/Marlin/src/feature/snmm.cpp @@ -27,7 +27,7 @@ #include "../module/stepper.h" void select_multiplexed_stepper(const uint8_t e) { - stepper.synchronize(); + planner.synchronize(); disable_e_steppers(); WRITE(E_MUX0_PIN, TEST(e, 0) ? HIGH : LOW); WRITE(E_MUX1_PIN, TEST(e, 1) ? HIGH : LOW); diff --git a/Marlin/src/feature/tmc_util.cpp b/Marlin/src/feature/tmc_util.cpp index d0a53c1c5506..c7d6cacb1072 100644 --- a/Marlin/src/feature/tmc_util.cpp +++ b/Marlin/src/feature/tmc_util.cpp @@ -52,7 +52,7 @@ bool report_tmc_status = false; bool is_ot; bool is_error; }; - #if ENABLED(HAVE_TMC2130) + #if HAS_DRIVER(TMC2130) static uint32_t get_pwm_scale(TMC2130Stepper &st) { return st.PWM_SCALE(); } static uint8_t get_status_response(TMC2130Stepper &st) { return st.status_response & 0xF; } static TMC_driver_data get_driver_data(TMC2130Stepper &st) { @@ -70,7 +70,7 @@ bool report_tmc_status = false; return data; } #endif - #if ENABLED(HAVE_TMC2208) + #if HAS_DRIVER(TMC2208) static uint32_t get_pwm_scale(TMC2208Stepper &st) { return st.pwm_scale_sum(); } static uint8_t get_status_response(TMC2208Stepper &st) { uint32_t drv_status = st.DRV_STATUS(); @@ -159,21 +159,21 @@ bool report_tmc_status = false; } } - #define HAS_HW_COMMS(ST) ENABLED(ST##_IS_TMC2130)|| (ENABLED(ST##_IS_TMC2208) && defined(ST##_HARDWARE_SERIAL)) + #define HAS_HW_COMMS(ST) AXIS_DRIVER_TYPE(ST, TMC2130) || (AXIS_DRIVER_TYPE(ST, TMC2208) && defined(ST##_HARDWARE_SERIAL)) void monitor_tmc_driver() { static millis_t next_cOT = 0; if (ELAPSED(millis(), next_cOT)) { next_cOT = millis() + 500; - #if HAS_HW_COMMS(X) || ENABLED(IS_TRAMS) + #if HAS_HW_COMMS(X) static uint8_t x_otpw_cnt = 0; monitor_tmc_driver(stepperX, TMC_X, x_otpw_cnt); #endif - #if HAS_HW_COMMS(Y) || ENABLED(IS_TRAMS) + #if HAS_HW_COMMS(Y) static uint8_t y_otpw_cnt = 0; monitor_tmc_driver(stepperY, TMC_Y, y_otpw_cnt); #endif - #if HAS_HW_COMMS(Z) || ENABLED(IS_TRAMS) + #if HAS_HW_COMMS(Z) static uint8_t z_otpw_cnt = 0; monitor_tmc_driver(stepperZ, TMC_Z, z_otpw_cnt); #endif @@ -189,7 +189,7 @@ bool report_tmc_status = false; static uint8_t z2_otpw_cnt = 0; monitor_tmc_driver(stepperZ2, TMC_Z, z2_otpw_cnt); #endif - #if HAS_HW_COMMS(E0) || ENABLED(IS_TRAMS) + #if HAS_HW_COMMS(E0) static uint8_t e0_otpw_cnt = 0; monitor_tmc_driver(stepperE0, TMC_E0, e0_otpw_cnt); #endif @@ -217,12 +217,12 @@ bool report_tmc_status = false; #endif // MONITOR_DRIVER_STATUS void _tmc_say_axis(const TMC_AxisEnum axis) { - const static char ext_X[] PROGMEM = "X", ext_Y[] PROGMEM = "Y", ext_Z[] PROGMEM = "Z", + static const char ext_X[] PROGMEM = "X", ext_Y[] PROGMEM = "Y", ext_Z[] PROGMEM = "Z", ext_X2[] PROGMEM = "X2", ext_Y2[] PROGMEM = "Y2", ext_Z2[] PROGMEM = "Z2", ext_E0[] PROGMEM = "E0", ext_E1[] PROGMEM = "E1", ext_E2[] PROGMEM = "E2", ext_E3[] PROGMEM = "E3", ext_E4[] PROGMEM = "E4"; - const static char* const tmc_axes[] PROGMEM = { ext_X, ext_Y, ext_Z, ext_X2, ext_Y2, ext_Z2, ext_E0, ext_E1, ext_E2, ext_E3, ext_E4 }; + static const char* const tmc_axes[] PROGMEM = { ext_X, ext_Y, ext_Z, ext_X2, ext_Y2, ext_Z2, ext_E0, ext_E1, ext_E2, ext_E3, ext_E4 }; serialprintPGM((char*)pgm_read_ptr(&tmc_axes[axis])); } @@ -311,7 +311,7 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { SERIAL_EOL(); } - #if ENABLED(HAVE_TMC2130) + #if HAS_DRIVER(TMC2130) static void tmc_status(TMC2130Stepper &st, const TMC_debug_enum i) { switch (i) { case TMC_PWM_SCALE: SERIAL_PRINT(st.PWM_SCALE(), DEC); break; @@ -331,7 +331,7 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { } #endif - #if ENABLED(HAVE_TMC2208) + #if HAS_DRIVER(TMC2208) static void tmc_status(TMC2208Stepper &st, const TMC_debug_enum i) { switch (i) { case TMC_TSTEP: { uint32_t data = 0; st.TSTEP(&data); SERIAL_PROTOCOL(data); break; } @@ -385,7 +385,10 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { break; case TMC_TPWMTHRS_MMS: { uint32_t tpwmthrs_val = st.TPWMTHRS(); - tpwmthrs_val ? SERIAL_ECHO(12650000UL * st.microsteps() / (256 * tpwmthrs_val * spmm)) : (void)SERIAL_CHAR('-'); + if (tpwmthrs_val) + SERIAL_ECHO(12650000UL * st.microsteps() / (256 * tpwmthrs_val * spmm)); + else + SERIAL_CHAR('-'); } break; case TMC_OTPW: serialprintPGM(st.otpw() ? PSTR("true") : PSTR("false")); break; @@ -417,52 +420,52 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { } static void tmc_debug_loop(const TMC_debug_enum i) { - #if X_IS_TRINAMIC + #if AXIS_IS_TMC(X) tmc_status(stepperX, TMC_X, i, planner.axis_steps_per_mm[X_AXIS]); #endif - #if X2_IS_TRINAMIC + #if AXIS_IS_TMC(X2) tmc_status(stepperX2, TMC_X2, i, planner.axis_steps_per_mm[X_AXIS]); #endif - #if Y_IS_TRINAMIC + #if AXIS_IS_TMC(Y) tmc_status(stepperY, TMC_Y, i, planner.axis_steps_per_mm[Y_AXIS]); #endif - #if Y2_IS_TRINAMIC + #if AXIS_IS_TMC(Y2) tmc_status(stepperY2, TMC_Y2, i, planner.axis_steps_per_mm[Y_AXIS]); #endif - #if Z_IS_TRINAMIC + #if AXIS_IS_TMC(Z) tmc_status(stepperZ, TMC_Z, i, planner.axis_steps_per_mm[Z_AXIS]); #endif - #if Z2_IS_TRINAMIC + #if AXIS_IS_TMC(Z2) tmc_status(stepperZ2, TMC_Z2, i, planner.axis_steps_per_mm[Z_AXIS]); #endif - #if E0_IS_TRINAMIC + #if AXIS_IS_TMC(E0) tmc_status(stepperE0, TMC_E0, i, planner.axis_steps_per_mm[E_AXIS]); #endif - #if E1_IS_TRINAMIC + #if AXIS_IS_TMC(E1) tmc_status(stepperE1, TMC_E1, i, planner.axis_steps_per_mm[E_AXIS #if ENABLED(DISTINCT_E_FACTORS) + 1 #endif ]); #endif - #if E2_IS_TRINAMIC + #if AXIS_IS_TMC(E2) tmc_status(stepperE2, TMC_E2, i, planner.axis_steps_per_mm[E_AXIS #if ENABLED(DISTINCT_E_FACTORS) + 2 #endif ]); #endif - #if E3_IS_TRINAMIC + #if AXIS_IS_TMC(E3) tmc_status(stepperE3, TMC_E3, i, planner.axis_steps_per_mm[E_AXIS #if ENABLED(DISTINCT_E_FACTORS) + 3 #endif ]); #endif - #if E4_IS_TRINAMIC + #if AXIS_IS_TMC(E4) tmc_status(stepperE4, TMC_E4, i, planner.axis_steps_per_mm[E_AXIS #if ENABLED(DISTINCT_E_FACTORS) + 4 @@ -474,40 +477,40 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { } static void drv_status_loop(const TMC_drv_status_enum i) { - #if X_IS_TRINAMIC + #if AXIS_IS_TMC(X) tmc_parse_drv_status(stepperX, TMC_X, i); #endif - #if X2_IS_TRINAMIC + #if AXIS_IS_TMC(X2) tmc_parse_drv_status(stepperX2, TMC_X2, i); #endif - #if Y_IS_TRINAMIC + #if AXIS_IS_TMC(Y) tmc_parse_drv_status(stepperY, TMC_Y, i); #endif - #if Y2_IS_TRINAMIC + #if AXIS_IS_TMC(Y2) tmc_parse_drv_status(stepperY2, TMC_Y2, i); #endif - #if Z_IS_TRINAMIC + #if AXIS_IS_TMC(Z) tmc_parse_drv_status(stepperZ, TMC_Z, i); #endif - #if Z2_IS_TRINAMIC + #if AXIS_IS_TMC(Z2) tmc_parse_drv_status(stepperZ2, TMC_Z2, i); #endif - #if E0_IS_TRINAMIC + #if AXIS_IS_TMC(E0) tmc_parse_drv_status(stepperE0, TMC_E0, i); #endif - #if E1_IS_TRINAMIC + #if AXIS_IS_TMC(E1) tmc_parse_drv_status(stepperE1, TMC_E1, i); #endif - #if E2_IS_TRINAMIC + #if AXIS_IS_TMC(E2) tmc_parse_drv_status(stepperE2, TMC_E2, i); #endif - #if E3_IS_TRINAMIC + #if AXIS_IS_TMC(E3) tmc_parse_drv_status(stepperE3, TMC_E3, i); #endif - #if E4_IS_TRINAMIC + #if AXIS_IS_TMC(E4) tmc_parse_drv_status(stepperE4, TMC_E4, i); #endif @@ -533,7 +536,7 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { TMC_REPORT("Run current", TMC_IRUN); TMC_REPORT("Hold current", TMC_IHOLD); TMC_REPORT("CS actual\t", TMC_CS_ACTUAL); - TMC_REPORT("PWM scale", TMC_PWM_SCALE); + TMC_REPORT("PWM scale\t", TMC_PWM_SCALE); TMC_REPORT("vsense\t", TMC_VSENSE); TMC_REPORT("stealthChop", TMC_STEALTHCHOP); TMC_REPORT("msteps\t", TMC_MICROSTEPS); @@ -550,7 +553,7 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { TMC_REPORT("Stallguard thrs", TMC_SGT); DRV_REPORT("DRVSTATUS", TMC_DRV_CODES); - #if ENABLED(HAVE_TMC2130) + #if HAS_DRIVER(TMC2130) DRV_REPORT("stallguard\t", TMC_STALLGUARD); DRV_REPORT("sg_result\t", TMC_SG_RESULT); DRV_REPORT("fsactive\t", TMC_FSACTIVE); @@ -562,7 +565,7 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { DRV_REPORT("s2ga\t", TMC_S2GA); DRV_REPORT("otpw\t", TMC_DRV_OTPW); DRV_REPORT("ot\t", TMC_OT); - #if ENABLED(HAVE_TMC2208) + #if HAS_DRIVER(TMC2208) DRV_REPORT("157C\t", TMC_T157); DRV_REPORT("150C\t", TMC_T150); DRV_REPORT("143C\t", TMC_T143); @@ -578,9 +581,9 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { #if ENABLED(SENSORLESS_HOMING) - void tmc_sensorless_homing(TMC2130Stepper &st, bool enable/*=true*/) { + void tmc_sensorless_homing(TMC2130Stepper &st, const bool enable/*=true*/) { + st.coolstep_min_speed(enable ? 1024UL * 1024UL - 1UL : 0); #if ENABLED(STEALTHCHOP) - st.coolstep_min_speed(enable ? 1024UL * 1024UL - 1UL : 0); st.stealthChop(!enable); #endif st.diag1_stall(enable ? 1 : 0); @@ -588,43 +591,43 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { #endif // SENSORLESS_HOMING -#if ENABLED(HAVE_TMC2130) +#if HAS_DRIVER(TMC2130) #define SET_CS_PIN(st) OUT_WRITE(st##_CS_PIN, HIGH) void tmc_init_cs_pins() { - #if ENABLED(X_IS_TMC2130) + #if AXIS_DRIVER_TYPE(X, TMC2130) SET_CS_PIN(X); #endif - #if ENABLED(Y_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Y, TMC2130) SET_CS_PIN(Y); #endif - #if ENABLED(Z_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Z, TMC2130) SET_CS_PIN(Z); #endif - #if ENABLED(X2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(X2, TMC2130) SET_CS_PIN(X2); #endif - #if ENABLED(Y2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Y2, TMC2130) SET_CS_PIN(Y2); #endif - #if ENABLED(Z2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Z2, TMC2130) SET_CS_PIN(Z2); #endif - #if ENABLED(E0_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E0, TMC2130) SET_CS_PIN(E0); #endif - #if ENABLED(E1_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E1, TMC2130) SET_CS_PIN(E1); #endif - #if ENABLED(E2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E2, TMC2130) SET_CS_PIN(E2); #endif - #if ENABLED(E3_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E3, TMC2130) SET_CS_PIN(E3); #endif - #if ENABLED(E4_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E4, TMC2130) SET_CS_PIN(E4); #endif } -#endif // HAVE_TMC2130 +#endif // TMC2130 #endif // HAS_TRINAMIC diff --git a/Marlin/src/feature/tmc_util.h b/Marlin/src/feature/tmc_util.h index 5ddbad232978..6f11955ac543 100644 --- a/Marlin/src/feature/tmc_util.h +++ b/Marlin/src/feature/tmc_util.h @@ -25,11 +25,11 @@ #include "../inc/MarlinConfigPre.h" -#if ENABLED(HAVE_TMC2130) +#if HAS_DRIVER(TMC2130) #include #endif -#if ENABLED(HAVE_TMC2208) +#if HAS_DRIVER(TMC2208) #include #endif @@ -53,7 +53,7 @@ void tmc_get_current(TMC &st, const TMC_AxisEnum axis) { _tmc_say_current(axis, st.getCurrent()); } template -void tmc_set_current(TMC &st, const TMC_AxisEnum axis, const int mA) { +void tmc_set_current(TMC &st, const int mA) { st.setCurrent(mA, R_SENSE, HOLD_MULTIPLIER); } template @@ -70,7 +70,7 @@ void tmc_get_pwmthrs(TMC &st, const TMC_AxisEnum axis, const uint16_t spmm) { _tmc_say_pwmthrs(axis, _tmc_thrs(st.microsteps(), st.TPWMTHRS(), spmm)); } template -void tmc_set_pwmthrs(TMC &st, const TMC_AxisEnum axis, const int32_t thrs, const uint32_t spmm) { +void tmc_set_pwmthrs(TMC &st, const int32_t thrs, const uint32_t spmm) { st.TPWMTHRS(_tmc_thrs(st.microsteps(), thrs, spmm)); } template @@ -78,7 +78,7 @@ void tmc_get_sgt(TMC &st, const TMC_AxisEnum axis) { _tmc_say_sgt(axis, st.sgt()); } template -void tmc_set_sgt(TMC &st, const TMC_AxisEnum axis, const int8_t sgt_val) { +void tmc_set_sgt(TMC &st, const int8_t sgt_val) { st.sgt(sgt_val); } @@ -97,10 +97,10 @@ void monitor_tmc_driver(); * Defined here because of limitations with templates and headers. */ #if ENABLED(SENSORLESS_HOMING) - void tmc_sensorless_homing(TMC2130Stepper &st, bool enable=true); + void tmc_sensorless_homing(TMC2130Stepper &st, const bool enable=true); #endif -#if ENABLED(HAVE_TMC2130) +#if HAS_DRIVER(TMC2130) void tmc_init_cs_pins(); #endif diff --git a/Marlin/src/gcode/bedlevel/G26.cpp b/Marlin/src/gcode/bedlevel/G26.cpp index 6f2748d3981f..cbccdee89b87 100644 --- a/Marlin/src/gcode/bedlevel/G26.cpp +++ b/Marlin/src/gcode/bedlevel/G26.cpp @@ -56,6 +56,10 @@ #define G26_OK false #define G26_ERR true +#if ENABLED(ARC_SUPPORT) + void plan_arc(const float (&cart)[XYZE], const float (&offset)[2], const uint8_t clockwise); +#endif + /** * G26 Mesh Validation Tool * @@ -131,10 +135,6 @@ // External references -#if ENABLED(ULTRA_LCD) - extern char lcd_status_message[]; -#endif - // Private functions static uint16_t circle_flags[16], horizontal_mesh_line_flags[16], vertical_mesh_line_flags[16]; @@ -156,7 +156,7 @@ int16_t g26_bed_temp, int8_t g26_prime_flag; -#if ENABLED(NEWPANEL) +#if ENABLED(ULTIPANEL) /** * If the LCD is clicked, cancel, wait for release, return true @@ -219,9 +219,9 @@ mesh_index_pair find_closest_circle_to_print(const float &X, const float &Y) { void G26_line_to_destination(const float &feed_rate) { const float save_feedrate = feedrate_mm_s; - feedrate_mm_s = feed_rate; // use specified feed rate + feedrate_mm_s = feed_rate; prepare_move_to_destination(); // will ultimately call ubl.line_to_destination_cartesian or ubl.prepare_linear_move_to for UBL_SEGMENTED - feedrate_mm_s = save_feedrate; // restore global feed rate + feedrate_mm_s = save_feedrate; } void move_to(const float &rx, const float &ry, const float &z, const float &e_delta) { @@ -240,8 +240,6 @@ void move_to(const float &rx, const float &ry, const float &z, const float &e_de destination[E_AXIS] = current_position[E_AXIS]; G26_line_to_destination(feed_value); - - stepper.synchronize(); set_destination_from_current(); } @@ -256,8 +254,6 @@ void move_to(const float &rx, const float &ry, const float &z, const float &e_de destination[E_AXIS] += e_delta; G26_line_to_destination(feed_value); - - stepper.synchronize(); set_destination_from_current(); } @@ -305,7 +301,7 @@ void print_line_from_here_to_there(const float &sx, const float &sy, const float // If the end point of the line is closer to the nozzle, flip the direction, // moving from the end to the start. On very small lines the optimization isn't worth it. - if (dist_end < dist_start && (INTERSECTION_CIRCLE_RADIUS) < FABS(line_length)) + if (dist_end < dist_start && (INTERSECTION_CIRCLE_RADIUS) < ABS(line_length)) return print_line_from_here_to_there(ex, ey, ez, sx, sy, sz); // Decide whether to retract & bump @@ -331,7 +327,7 @@ inline bool look_for_lines_to_connect() { for (uint8_t i = 0; i < GRID_MAX_POINTS_X; i++) { for (uint8_t j = 0; j < GRID_MAX_POINTS_Y; j++) { - #if ENABLED(NEWPANEL) + #if ENABLED(ULTIPANEL) if (user_canceled()) return true; // Check if the user wants to stop the Mesh Validation #endif @@ -417,17 +413,19 @@ inline bool look_for_lines_to_connect() { */ inline bool turn_on_heaters() { millis_t next = millis() + 5000UL; - #if HAS_TEMP_BED + #if HAS_HEATED_BED #if ENABLED(ULTRA_LCD) if (g26_bed_temp > 25) { lcd_setstatusPGM(PSTR("G26 Heating Bed."), 99); lcd_quick_feedback(true); - lcd_external_control = true; + #if ENABLED(ULTIPANEL) + lcd_external_control = true; + #endif #endif thermalManager.setTargetBed(g26_bed_temp); - while (abs(thermalManager.degBed() - g26_bed_temp) > 3) { + while (ABS(thermalManager.degBed() - g26_bed_temp) > 3) { - #if ENABLED(NEWPANEL) + #if ENABLED(ULTIPANEL) if (is_lcd_clicked()) return exit_from_g26(); #endif @@ -448,9 +446,9 @@ inline bool turn_on_heaters() { // Start heating the nozzle and wait for it to reach temperature. thermalManager.setTargetHotend(g26_hotend_temp, 0); - while (abs(thermalManager.degHotend(0) - g26_hotend_temp) > 3) { + while (ABS(thermalManager.degHotend(0) - g26_hotend_temp) > 3) { - #if ENABLED(NEWPANEL) + #if ENABLED(ULTIPANEL) if (is_lcd_clicked()) return exit_from_g26(); #endif @@ -476,7 +474,7 @@ inline bool turn_on_heaters() { */ inline bool prime_nozzle() { - #if ENABLED(NEWPANEL) + #if ENABLED(ULTIPANEL) float Total_Prime = 0.0; if (g26_prime_flag == -1) { // The user wants to control how much filament gets purged @@ -497,19 +495,15 @@ inline bool prime_nozzle() { if (Total_Prime >= EXTRUDE_MAXLENGTH) return G26_ERR; #endif G26_line_to_destination(planner.max_feedrate_mm_s[E_AXIS] / 15.0); - - stepper.synchronize(); // Without this synchronize, the purge is more consistent, + set_destination_from_current(); + planner.synchronize(); // Without this synchronize, the purge is more consistent, // but because the planner has a buffer, we won't be able // to stop as quickly. So we put up with the less smooth // action to give the user a more responsive 'Stop'. - set_destination_from_current(); - idle(); } wait_for_release(); - strcpy_P(lcd_status_message, PSTR("Done Priming")); // Hack to get the message up. May be obsolete. - lcd_setstatusPGM(PSTR("Done Priming"), 99); lcd_quick_feedback(true); lcd_external_control = false; @@ -524,7 +518,6 @@ inline bool prime_nozzle() { set_destination_from_current(); destination[E_AXIS] += g26_prime_length; G26_line_to_destination(planner.max_feedrate_mm_s[E_AXIS] / 15.0); - stepper.synchronize(); set_destination_from_current(); retract_filament(destination); } @@ -624,7 +617,7 @@ void GcodeSuite::G26() { if (parser.seen('P')) { if (!parser.has_value()) { - #if ENABLED(NEWPANEL) + #if ENABLED(ULTIPANEL) g26_prime_flag = -1; #else SERIAL_PROTOCOLLNPGM("?Prime length must be specified when not using an LCD."); @@ -669,7 +662,7 @@ void GcodeSuite::G26() { } int16_t g26_repeats; - #if ENABLED(NEWPANEL) + #if ENABLED(ULTIPANEL) g26_repeats = parser.intval('R', GRID_MAX_POINTS + 1); #else if (!parser.seen('R')) { @@ -698,7 +691,6 @@ void GcodeSuite::G26() { if (current_position[Z_AXIS] < Z_CLEARANCE_BETWEEN_PROBES) { do_blocking_move_to_z(Z_CLEARANCE_BETWEEN_PROBES); - stepper.synchronize(); set_current_from_destination(); } @@ -729,27 +721,31 @@ void GcodeSuite::G26() { move_to(destination, 0.0); move_to(destination, g26_ooze_amount); - #if ENABLED(ULTRA_LCD) + #if ENABLED(ULTIPANEL) lcd_external_control = true; #endif //debug_current_and_destination(PSTR("Starting G26 Mesh Validation Pattern.")); - /** - * Pre-generate radius offset values at 30 degree intervals to reduce CPU load. - */ - #define A_INT 30 - #define _ANGS (360 / A_INT) - #define A_CNT (_ANGS / 2) - #define _IND(A) ((A + _ANGS * 8) % _ANGS) - #define _COS(A) (trig_table[_IND(A) % A_CNT] * (_IND(A) >= A_CNT ? -1 : 1)) - #define _SIN(A) (-_COS((A + A_CNT / 2) % _ANGS)) - #if A_CNT & 1 - #error "A_CNT must be a positive value. Please change A_INT." - #endif - float trig_table[A_CNT]; - for (uint8_t i = 0; i < A_CNT; i++) - trig_table[i] = INTERSECTION_CIRCLE_RADIUS * cos(RADIANS(i * A_INT)); + #if DISABLED(ARC_SUPPORT) + + /** + * Pre-generate radius offset values at 30 degree intervals to reduce CPU load. + */ + #define A_INT 30 + #define _ANGS (360 / A_INT) + #define A_CNT (_ANGS / 2) + #define _IND(A) ((A + _ANGS * 8) % _ANGS) + #define _COS(A) (trig_table[_IND(A) % A_CNT] * (_IND(A) >= A_CNT ? -1 : 1)) + #define _SIN(A) (-_COS((A + A_CNT / 2) % _ANGS)) + #if A_CNT & 1 + #error "A_CNT must be a positive value. Please change A_INT." + #endif + float trig_table[A_CNT]; + for (uint8_t i = 0; i < A_CNT; i++) + trig_table[i] = INTERSECTION_CIRCLE_RADIUS * cos(RADIANS(i * A_INT)); + + #endif // !ARC_SUPPORT mesh_index_pair location; do { @@ -767,54 +763,128 @@ void GcodeSuite::G26() { // Determine where to start and end the circle, // which is always drawn counter-clockwise. const uint8_t xi = location.x_index, yi = location.y_index; - const bool f = yi == 0, r = xi >= GRID_MAX_POINTS_X - 1, b = yi >= GRID_MAX_POINTS_Y - 1; - int8_t start_ind = -2, end_ind = 9; // Assume a full circle (from 5:00 to 5:00) - if (xi == 0) { // Left edge? Just right half. - start_ind = f ? 0 : -3; // 03:00 to 12:00 for front-left - end_ind = b ? 0 : 2; // 06:00 to 03:00 for back-left - } - else if (r) { // Right edge? Just left half. - start_ind = b ? 6 : 3; // 12:00 to 09:00 for front-right - end_ind = f ? 5 : 8; // 09:00 to 06:00 for back-right - } - else if (f) { // Front edge? Just back half. - start_ind = 0; // 03:00 - end_ind = 5; // 09:00 - } - else if (b) { // Back edge? Just front half. - start_ind = 6; // 09:00 - end_ind = 11; // 03:00 - } + const bool f = yi == 0, r = xi >= GRID_MAX_POINTS_X - 1, b = yi >= GRID_MAX_POINTS_Y - 1; + + #if ENABLED(ARC_SUPPORT) + + #define ARC_LENGTH(quarters) (INTERSECTION_CIRCLE_RADIUS * M_PI * (quarters) / 2) + float sx = circle_x + INTERSECTION_CIRCLE_RADIUS, // default to full circle + ex = circle_x + INTERSECTION_CIRCLE_RADIUS, + sy = circle_y, ey = circle_y, + arc_length = ARC_LENGTH(4); + + // Figure out where to start and end the arc - we always print counterclockwise + if (xi == 0) { // left edge + sx = f ? circle_x + INTERSECTION_CIRCLE_RADIUS : circle_x; + ex = b ? circle_x + INTERSECTION_CIRCLE_RADIUS : circle_x; + sy = f ? circle_y : circle_y - INTERSECTION_CIRCLE_RADIUS; + ey = b ? circle_y : circle_y + INTERSECTION_CIRCLE_RADIUS; + arc_length = (f || b) ? ARC_LENGTH(1) : ARC_LENGTH(2); + } + else if (r) { // right edge + sx = b ? circle_x - INTERSECTION_CIRCLE_RADIUS : circle_x; + ex = f ? circle_x - INTERSECTION_CIRCLE_RADIUS : circle_x; + sy = b ? circle_y : circle_y + INTERSECTION_CIRCLE_RADIUS; + ey = f ? circle_y : circle_y - INTERSECTION_CIRCLE_RADIUS; + arc_length = (f || b) ? ARC_LENGTH(1) : ARC_LENGTH(2); + } + else if (f) { + sx = circle_x + INTERSECTION_CIRCLE_RADIUS; + ex = circle_x - INTERSECTION_CIRCLE_RADIUS; + sy = ey = circle_y; + arc_length = ARC_LENGTH(2); + } + else if (b) { + sx = circle_x - INTERSECTION_CIRCLE_RADIUS; + ex = circle_x + INTERSECTION_CIRCLE_RADIUS; + sy = ey = circle_y; + arc_length = ARC_LENGTH(2); + } + const float arc_offset[2] = { + circle_x - sx, + circle_y - sy + }; + + const float dx_s = current_position[X_AXIS] - sx, // find our distance from the start of the actual circle + dy_s = current_position[Y_AXIS] - sy, + dist_start = HYPOT2(dx_s, dy_s); + const float endpoint[XYZE] = { + ex, ey, + g26_layer_height, + current_position[E_AXIS] + (arc_length * g26_e_axis_feedrate * g26_extrusion_multiplier) + }; + + if (dist_start > 2.0) { + retract_filament(destination); + //todo: parameterize the bump height with a define + move_to(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] + 0.500, 0.0); // Z bump to minimize scraping + move_to(sx, sy, g26_layer_height + 0.500, 0.0); // Get to the starting point with no extrusion while bumped + } - for (int8_t ind = start_ind; ind <= end_ind; ind++) { + move_to(sx, sy, g26_layer_height, 0.0); // Get to the starting point with no extrusion / un-Z bump - #if ENABLED(NEWPANEL) - if (user_canceled()) goto LEAVE; // Check if the user wants to stop the Mesh Validation + recover_filament(destination); + const float save_feedrate = feedrate_mm_s; + feedrate_mm_s = PLANNER_XY_FEEDRATE() / 10.0; + plan_arc(endpoint, arc_offset, false); // Draw a counter-clockwise arc + feedrate_mm_s = save_feedrate; + set_destination_from_current(); + #if ENABLED(ULTIPANEL) + if (user_canceled()) goto LEAVE; // Check if the user wants to stop the Mesh Validation #endif - float rx = circle_x + _COS(ind), // For speed, these are now a lookup table entry - ry = circle_y + _SIN(ind), - xe = circle_x + _COS(ind + 1), - ye = circle_y + _SIN(ind + 1); - - #if IS_KINEMATIC - // Check to make sure this segment is entirely on the bed, skip if not. - if (!position_is_reachable(rx, ry) || !position_is_reachable(xe, ye)) continue; - #else // not, we need to skip - rx = constrain(rx, X_MIN_POS + 1, X_MAX_POS - 1); // This keeps us from bumping the endstops - ry = constrain(ry, Y_MIN_POS + 1, Y_MAX_POS - 1); - xe = constrain(xe, X_MIN_POS + 1, X_MAX_POS - 1); - ye = constrain(ye, Y_MIN_POS + 1, Y_MAX_POS - 1); - #endif + #else // !ARC_SUPPORT + int8_t start_ind = -2, end_ind = 9; // Assume a full circle (from 5:00 to 5:00) + if (xi == 0) { // Left edge? Just right half. + start_ind = f ? 0 : -3; // 03:00 to 12:00 for front-left + end_ind = b ? 0 : 2; // 06:00 to 03:00 for back-left + } + else if (r) { // Right edge? Just left half. + start_ind = b ? 6 : 3; // 12:00 to 09:00 for front-right + end_ind = f ? 5 : 8; // 09:00 to 06:00 for back-right + } + else if (f) { // Front edge? Just back half. + start_ind = 0; // 03:00 + end_ind = 5; // 09:00 + } + else if (b) { // Back edge? Just front half. + start_ind = 6; // 09:00 + end_ind = 11; // 03:00 + } - print_line_from_here_to_there(rx, ry, g26_layer_height, xe, ye, g26_layer_height); - SERIAL_FLUSH(); // Prevent host M105 buffer overrun. - } - if (look_for_lines_to_connect()) - goto LEAVE; + for (int8_t ind = start_ind; ind <= end_ind; ind++) { + + #if ENABLED(ULTIPANEL) + if (user_canceled()) goto LEAVE; // Check if the user wants to stop the Mesh Validation + #endif + + float rx = circle_x + _COS(ind), // For speed, these are now a lookup table entry + ry = circle_y + _SIN(ind), + xe = circle_x + _COS(ind + 1), + ye = circle_y + _SIN(ind + 1); + + #if IS_KINEMATIC + // Check to make sure this segment is entirely on the bed, skip if not. + if (!position_is_reachable(rx, ry) || !position_is_reachable(xe, ye)) continue; + #else // not, we need to skip + rx = constrain(rx, X_MIN_POS + 1, X_MAX_POS - 1); // This keeps us from bumping the endstops + ry = constrain(ry, Y_MIN_POS + 1, Y_MAX_POS - 1); + xe = constrain(xe, X_MIN_POS + 1, X_MAX_POS - 1); + ye = constrain(ye, Y_MIN_POS + 1, Y_MAX_POS - 1); + #endif + + print_line_from_here_to_there(rx, ry, g26_layer_height, xe, ye, g26_layer_height); + SERIAL_FLUSH(); // Prevent host M105 buffer overrun. + } + + #endif // !ARC_SUPPORT + + if (look_for_lines_to_connect()) goto LEAVE; } + SERIAL_FLUSH(); // Prevent host M105 buffer overrun. + } while (--g26_repeats && location.x_index >= 0 && location.y_index >= 0); LEAVE: @@ -834,12 +904,12 @@ void GcodeSuite::G26() { move_to(destination, 0); // Move back to the starting position //debug_current_and_destination(PSTR("done doing X/Y move.")); - #if ENABLED(ULTRA_LCD) + #if ENABLED(ULTIPANEL) lcd_external_control = false; // Give back control of the LCD Panel! #endif if (!g26_keep_heaters_on) { - #if HAS_TEMP_BED + #if HAS_HEATED_BED thermalManager.setTargetBed(0); #endif thermalManager.setTargetHotend(0, 0); diff --git a/Marlin/src/gcode/bedlevel/M420.cpp b/Marlin/src/gcode/bedlevel/M420.cpp index 1af94893edee..bdf33a0a284f 100644 --- a/Marlin/src/gcode/bedlevel/M420.cpp +++ b/Marlin/src/gcode/bedlevel/M420.cpp @@ -32,6 +32,8 @@ #include "../../module/configuration_store.h" #endif +//#define M420_C_USE_MEAN + /** * M420: Enable/Disable Bed Leveling and/or set the Z fade height. * @@ -42,8 +44,19 @@ * With AUTO_BED_LEVELING_UBL only: * * L[index] Load UBL mesh from index (0 is default) + * T[map] 0:Human-readable 1:CSV 2:"LCD" 4:Compact + * + * With mesh-based leveling only: + * + * C Center mesh on the mean of the lowest and highest */ void GcodeSuite::M420() { + const bool seen_S = parser.seen('S'); + bool to_enable = seen_S ? parser.value_bool() : planner.leveling_active; + + // If disabling leveling do it right away + // (Don't disable for just M420 or M420 V) + if (seen_S && !to_enable) set_bed_leveling_enabled(false); const float oldpos[] = { current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] }; @@ -52,6 +65,8 @@ void GcodeSuite::M420() { // L to load a mesh from the EEPROM if (parser.seen('L')) { + set_bed_leveling_enabled(false); + #if ENABLED(EEPROM_SETTINGS) const int8_t storage_slot = parser.has_value() ? parser.value_int() : ubl.storage_slot; const int16_t a = settings.calc_num_meshes(); @@ -80,13 +95,73 @@ void GcodeSuite::M420() { // L or V display the map info if (parser.seen('L') || parser.seen('V')) { - ubl.display_map(0); // Currently only supports one map type - SERIAL_ECHOLNPAIR("ubl.mesh_is_valid = ", ubl.mesh_is_valid()); - SERIAL_ECHOLNPAIR("ubl.storage_slot = ", ubl.storage_slot); + ubl.display_map(parser.byteval('T')); + SERIAL_ECHOPGM("Mesh is "); + if (!ubl.mesh_is_valid()) SERIAL_ECHOPGM("in"); + SERIAL_ECHOLNPAIR("valid\nStorage slot: ", ubl.storage_slot); } #endif // AUTO_BED_LEVELING_UBL + #if HAS_MESH + + #if ENABLED(MESH_BED_LEVELING) + #define Z_VALUES(X,Y) mbl.z_values[X][Y] + #else + #define Z_VALUES(X,Y) z_values[X][Y] + #endif + + // Subtract the given value or the mean from all mesh values + if (leveling_is_valid() && parser.seen('C')) { + const float cval = parser.value_float(); + #if ENABLED(AUTO_BED_LEVELING_UBL) + + set_bed_leveling_enabled(false); + ubl.adjust_mesh_to_mean(true, cval); + + #else + + #if ENABLED(M420_C_USE_MEAN) + + // Get the sum and average of all mesh values + float mesh_sum = 0; + for (uint8_t x = GRID_MAX_POINTS_X; x--;) + for (uint8_t y = GRID_MAX_POINTS_Y; y--;) + mesh_sum += Z_VALUES(x, y); + const float zmean = mesh_sum / float(GRID_MAX_POINTS); + + #else + + // Find the low and high mesh values + float lo_val = 100, hi_val = -100; + for (uint8_t x = GRID_MAX_POINTS_X; x--;) + for (uint8_t y = GRID_MAX_POINTS_Y; y--;) { + const float z = Z_VALUES(x, y); + NOMORE(lo_val, z); + NOLESS(hi_val, z); + } + // Take the mean of the lowest and highest + const float zmean = (lo_val + hi_val) / 2.0 + cval; + + #endif + + // If not very close to 0, adjust the mesh + if (!NEAR_ZERO(zmean)) { + set_bed_leveling_enabled(false); + // Subtract the mean from all values + for (uint8_t x = GRID_MAX_POINTS_X; x--;) + for (uint8_t y = GRID_MAX_POINTS_Y; y--;) + Z_VALUES(x, y) -= zmean; + #if ENABLED(ABL_BILINEAR_SUBDIVISION) + bed_level_virt_interpolate(); + #endif + } + + #endif + } + + #endif // HAS_MESH + // V to print the matrix or mesh if (parser.seen('V')) { #if ABL_PLANAR @@ -110,21 +185,17 @@ void GcodeSuite::M420() { if (parser.seen('Z')) set_z_fade_height(parser.value_linear_units(), false); #endif - bool to_enable = false; - if (parser.seen('S')) { - to_enable = parser.value_bool(); - set_bed_leveling_enabled(to_enable); - } - - const bool new_status = planner.leveling_active; + // Enable leveling if specified, or if previously active + set_bed_leveling_enabled(to_enable); - if (to_enable && !new_status) { + // Error if leveling failed to enable or reenable + if (to_enable && !planner.leveling_active) { SERIAL_ERROR_START(); SERIAL_ERRORLNPGM(MSG_ERR_M420_FAILED); } SERIAL_ECHO_START(); - SERIAL_ECHOLNPAIR("Bed Leveling ", new_status ? MSG_ON : MSG_OFF); + SERIAL_ECHOLNPAIR("Bed Leveling ", planner.leveling_active ? MSG_ON : MSG_OFF); #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) SERIAL_ECHO_START(); @@ -140,4 +211,4 @@ void GcodeSuite::M420() { report_current_position(); } -#endif // HAS_LEVELING \ No newline at end of file +#endif // HAS_LEVELING diff --git a/Marlin/src/gcode/bedlevel/abl/G29.cpp b/Marlin/src/gcode/bedlevel/abl/G29.cpp index 66d17e1f3520..c711b9deed54 100644 --- a/Marlin/src/gcode/bedlevel/abl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/abl/G29.cpp @@ -44,6 +44,10 @@ #include "../../../libs/least_squares_fit.h" #endif +#if ABL_PLANAR + #include "../../../libs/vector_3.h" +#endif + #if ABL_GRID #if ENABLED(PROBE_Y_FIRST) #define PR_OUTER_VAR xCount @@ -58,12 +62,20 @@ #endif #endif +#if ENABLED(G29_RETRY_AND_RECOVER) + #define G29_RETURN(b) return b; +#else + #define G29_RETURN(b) return; +#endif + /** * G29: Detailed Z probe, probes the bed at 3 or more points. * Will fail if the printer has not been homed with G28. * * Enhanced G29 Auto Bed Leveling Probe Routine * + * O Auto-level only if needed + * * D Dry-Run mode. Just evaluate the bed Topology - Don't apply * or alter the bed level data. Useful to check the topology * after a first run of G29. @@ -130,7 +142,7 @@ * There's no extra effect if you have a fixed Z probe. * */ -void GcodeSuite::G29() { +G29_TYPE GcodeSuite::G29() { #if ENABLED(DEBUG_LEVELING_FEATURE) || ENABLED(PROBE_MANUALLY) const bool seenQ = parser.seen('Q'); @@ -148,7 +160,7 @@ void GcodeSuite::G29() { } marlin_debug_flags = old_debug_flags; #if DISABLED(PROBE_MANUALLY) - if (seenQ) return; + if (seenQ) G29_RETURN(false); #endif #endif @@ -168,7 +180,17 @@ void GcodeSuite::G29() { ; // Don't allow auto-leveling without homing first - if (axis_unhomed_error()) return; + if (axis_unhomed_error()) G29_RETURN(false); + + if (!no_action && planner.leveling_active && parser.boolval('O')) { // Auto-level only if needed + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) { + SERIAL_ECHOLNPGM("> Auto-level not needed, skip"); + SERIAL_ECHOLNPGM("<<< G29"); + } + #endif + G29_RETURN(false); + } // Define local vars 'static' for manual probing, 'auto' otherwise #if ENABLED(PROBE_MANUALLY) @@ -252,6 +274,10 @@ void GcodeSuite::G29() { */ if (!g29_in_progress) { + #if ENABLED(DUAL_X_CARRIAGE) + if (active_extruder != 0) tool_change(0); + #endif + #if ENABLED(PROBE_MANUALLY) || ENABLED(AUTO_BED_LEVELING_LINEAR) abl_probe_index = -1; #endif @@ -265,14 +291,14 @@ void GcodeSuite::G29() { if (!leveling_is_valid()) { SERIAL_ERROR_START(); SERIAL_ERRORLNPGM("No bilinear grid"); - return; + G29_RETURN(false); } const float rz = parser.seenval('Z') ? RAW_Z_POSITION(parser.value_linear_units()) : current_position[Z_AXIS]; if (!WITHIN(rz, -10, 10)) { SERIAL_ERROR_START(); SERIAL_ERRORLNPGM("Bad Z value"); - return; + G29_RETURN(false); } const float rx = RAW_X_POSITION(parser.linearval('X', NAN)), @@ -296,7 +322,7 @@ void GcodeSuite::G29() { set_bed_leveling_enabled(abl_should_enable); if (abl_should_enable) report_current_position(); } - return; + G29_RETURN(false); } // parser.seen('W') #else @@ -308,13 +334,13 @@ void GcodeSuite::G29() { // Jettison bed leveling data if (!seen_w && parser.seen('J')) { reset_bed_level(); - return; + G29_RETURN(false); } verbose_level = parser.intval('V'); if (!WITHIN(verbose_level, 0, 4)) { SERIAL_PROTOCOLLNPGM("?(V)erbose level is implausible (0-4)."); - return; + G29_RETURN(false); } dryrun = parser.boolval('D') @@ -335,11 +361,11 @@ void GcodeSuite::G29() { if (!WITHIN(abl_grid_points_x, 2, GRID_MAX_POINTS_X)) { SERIAL_PROTOCOLLNPGM("?Probe points (X) is implausible (2-" STRINGIFY(GRID_MAX_POINTS_X) ")."); - return; + G29_RETURN(false); } if (!WITHIN(abl_grid_points_y, 2, GRID_MAX_POINTS_Y)) { SERIAL_PROTOCOLLNPGM("?Probe points (Y) is implausible (2-" STRINGIFY(GRID_MAX_POINTS_Y) ")."); - return; + G29_RETURN(false); } abl_points = abl_grid_points_x * abl_grid_points_y; @@ -360,10 +386,19 @@ void GcodeSuite::G29() { front_probe_bed_position = parser.seenval('F') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : FRONT_PROBE_BED_POSITION; back_probe_bed_position = parser.seenval('B') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : BACK_PROBE_BED_POSITION; - if ( !position_is_reachable_by_probe(left_probe_bed_position, front_probe_bed_position) - || !position_is_reachable_by_probe(right_probe_bed_position, back_probe_bed_position)) { + if ( + #if IS_SCARA || ENABLED(DELTA) + !position_is_reachable_by_probe(left_probe_bed_position, 0) + || !position_is_reachable_by_probe(right_probe_bed_position, 0) + || !position_is_reachable_by_probe(0, front_probe_bed_position) + || !position_is_reachable_by_probe(0, back_probe_bed_position) + #else + !position_is_reachable_by_probe(left_probe_bed_position, front_probe_bed_position) + || !position_is_reachable_by_probe(right_probe_bed_position, back_probe_bed_position) + #endif + ) { SERIAL_PROTOCOLLNPGM("? (L,R,F,B) out of bounds."); - return; + G29_RETURN(false); } // probe at the points of a lattice grid @@ -378,7 +413,7 @@ void GcodeSuite::G29() { SERIAL_EOL(); } - stepper.synchronize(); + planner.synchronize(); // Disable auto bed leveling during G29. // Be formal so G29 can be done successively without G28. @@ -388,7 +423,7 @@ void GcodeSuite::G29() { // Deploy the probe. Probe will raise if needed. if (DEPLOY_PROBE()) { set_bed_leveling_enabled(abl_should_enable); - return; + G29_RETURN(false); } #endif @@ -458,20 +493,22 @@ void GcodeSuite::G29() { if (verbose_level || seenQ) { SERIAL_PROTOCOLPGM("Manual G29 "); if (g29_in_progress) { - SERIAL_PROTOCOLPAIR("point ", min(abl_probe_index + 1, abl_points)); + SERIAL_PROTOCOLPAIR("point ", MIN(abl_probe_index + 1, abl_points)); SERIAL_PROTOCOLLNPAIR(" of ", abl_points); } else SERIAL_PROTOCOLLNPGM("idle"); } - if (no_action) return; + if (no_action) G29_RETURN(false); if (abl_probe_index == 0) { - // For the initial G29 save software endstop state + // For the initial G29 S2 save software endstop state #if HAS_SOFTWARE_ENDSTOPS enable_soft_endstops = soft_endstops_enabled; #endif + // Move close to the bed before the first point + do_blocking_move_to_z(0); } else { @@ -553,7 +590,7 @@ void GcodeSuite::G29() { // If G29 is not completed, they will not be re-enabled soft_endstops_enabled = false; #endif - return; + G29_RETURN(false); } else { @@ -579,7 +616,7 @@ void GcodeSuite::G29() { // If G29 is not completed, they will not be re-enabled soft_endstops_enabled = false; #endif - return; + G29_RETURN(false); } else { @@ -934,8 +971,8 @@ void GcodeSuite::G29() { #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPAIR("Z Probe End Script: ", Z_PROBE_END_SCRIPT); #endif + planner.synchronize(); enqueue_and_echo_commands_P(PSTR(Z_PROBE_END_SCRIPT)); - stepper.synchronize(); #endif // Auto Bed Leveling is complete! Enable if possible. @@ -954,11 +991,13 @@ void GcodeSuite::G29() { if (planner.leveling_active) SYNC_PLAN_POSITION_KINEMATIC(); - #if HAS_BED_PROBE && Z_AFTER_PROBING + #if HAS_BED_PROBE && defined(Z_AFTER_PROBING) move_z_after_probing(); #endif report_current_position(); + + G29_RETURN(isnan(measured_z)); } #endif // OLDSCHOOL_ABL diff --git a/Marlin/src/gcode/bedlevel/mbl/G29.cpp b/Marlin/src/gcode/bedlevel/mbl/G29.cpp index 87dcb5659f94..8c970e89b0c4 100644 --- a/Marlin/src/gcode/bedlevel/mbl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/mbl/G29.cpp @@ -69,7 +69,7 @@ void GcodeSuite::G29() { static bool enable_soft_endstops; #endif - const MeshLevelingState state = (MeshLevelingState)parser.byteval('S', (int8_t)MeshReport); + MeshLevelingState state = (MeshLevelingState)parser.byteval('S', (int8_t)MeshReport); if (!WITHIN(state, 0, 5)) { SERIAL_PROTOCOLLNPGM("S out of range (0-5)."); return; @@ -90,8 +90,11 @@ void GcodeSuite::G29() { case MeshStart: mbl.reset(); mbl_probe_index = 0; - enqueue_and_echo_commands_P(lcd_wait_for_move ? PSTR("G29 S2") : PSTR("G28\nG29 S2")); - break; + if (!lcd_wait_for_move) { + enqueue_and_echo_commands_P(PSTR("G28\nG29 S2")); + return; + } + state = MeshNext; case MeshNext: if (mbl_probe_index < 0) { @@ -104,9 +107,11 @@ void GcodeSuite::G29() { // For the initial G29 S2 save software endstop state enable_soft_endstops = soft_endstops_enabled; #endif + // Move close to the bed before the first point + do_blocking_move_to_z(0); } else { - // For G29 S2 after adjusting Z. + // Save Z for the previous mesh position mbl.set_zigzag_z(mbl_probe_index - 1, current_position[Z_AXIS]); #if HAS_SOFTWARE_ENDSTOPS soft_endstops_enabled = enable_soft_endstops; @@ -114,22 +119,20 @@ void GcodeSuite::G29() { } // If there's another point to sample, move there with optional lift. if (mbl_probe_index < GRID_MAX_POINTS) { - mbl.zigzag(mbl_probe_index, px, py); - _manual_goto_xy(mbl.index_to_xpos[px], mbl.index_to_ypos[py]); - #if HAS_SOFTWARE_ENDSTOPS // Disable software endstops to allow manual adjustment // If G29 is not completed, they will not be re-enabled soft_endstops_enabled = false; #endif - mbl_probe_index++; + mbl.zigzag(mbl_probe_index++, px, py); + _manual_goto_xy(mbl.index_to_xpos[px], mbl.index_to_ypos[py]); } else { // One last "return to the bed" (as originally coded) at completion - current_position[Z_AXIS] = Z_MIN_POS + MANUAL_PROBE_HEIGHT; + current_position[Z_AXIS] = MANUAL_PROBE_HEIGHT; line_to_current_position(); - stepper.synchronize(); + planner.synchronize(); // After recording the last point, activate home and activate mbl_probe_index = -1; @@ -141,10 +144,10 @@ void GcodeSuite::G29() { set_bed_leveling_enabled(true); #if ENABLED(MESH_G28_REST_ORIGIN) - current_position[Z_AXIS] = Z_MIN_POS; + current_position[Z_AXIS] = 0; set_destination_from_current(); buffer_line_to_destination(homing_feedrate(Z_AXIS)); - stepper.synchronize(); + planner.synchronize(); #endif #if ENABLED(LCD_BED_LEVELING) @@ -201,8 +204,8 @@ void GcodeSuite::G29() { } // switch(state) - if (state == MeshStart || state == MeshNext) { - SERIAL_PROTOCOLPAIR("MBL G29 point ", min(mbl_probe_index, GRID_MAX_POINTS)); + if (state == MeshNext) { + SERIAL_PROTOCOLPAIR("MBL G29 point ", MIN(mbl_probe_index, GRID_MAX_POINTS)); SERIAL_PROTOCOLLNPAIR(" of ", int(GRID_MAX_POINTS)); } diff --git a/Marlin/src/gcode/bedlevel/ubl/M421.cpp b/Marlin/src/gcode/bedlevel/ubl/M421.cpp index 72a9aa9039c0..e8597eee22cd 100644 --- a/Marlin/src/gcode/bedlevel/ubl/M421.cpp +++ b/Marlin/src/gcode/bedlevel/ubl/M421.cpp @@ -37,6 +37,7 @@ * Usage: * M421 I J Z * M421 I J Q + * M421 I J N * M421 C Z * M421 C Q */ @@ -45,6 +46,7 @@ void GcodeSuite::M421() { const bool hasI = ix >= 0, hasJ = iy >= 0, hasC = parser.seen('C'), + hasN = parser.seen('N'), hasZ = parser.seen('Z'), hasQ = !hasZ && parser.seen('Q'); @@ -54,7 +56,7 @@ void GcodeSuite::M421() { iy = location.y_index; } - if (int(hasC) + int(hasI && hasJ) != 1 || !(hasZ || hasQ)) { + if (int(hasC) + int(hasI && hasJ) != 1 || !(hasZ || hasQ || hasN)) { SERIAL_ERROR_START(); SERIAL_ERRORLNPGM(MSG_ERR_M421_PARAMETERS); } @@ -63,7 +65,7 @@ void GcodeSuite::M421() { SERIAL_ERRORLNPGM(MSG_ERR_MESH_XY); } else - ubl.z_values[ix][iy] = parser.value_linear_units() + (hasQ ? ubl.z_values[ix][iy] : 0); + ubl.z_values[ix][iy] = hasN ? NAN : parser.value_linear_units() + (hasQ ? ubl.z_values[ix][iy] : 0); } #endif // AUTO_BED_LEVELING_UBL diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp index 0416ad6d41f7..c512edde0c1d 100644 --- a/Marlin/src/gcode/calibrate/G28.cpp +++ b/Marlin/src/gcode/calibrate/G28.cpp @@ -39,7 +39,7 @@ #include "../../feature/tmc_util.h" #endif -#if HOMING_Z_WITH_PROBE +#if HOMING_Z_WITH_PROBE || ENABLED(BLTOUCH) #include "../../module/probe.h" #endif @@ -64,7 +64,7 @@ const float mlx = max_length(X_AXIS), mly = max_length(Y_AXIS), mlratio = mlx > mly ? mly / mlx : mlx / mly, - fr_mm_s = min(homing_feedrate(X_AXIS), homing_feedrate(Y_AXIS)) * SQRT(sq(mlratio) + 1.0); + fr_mm_s = MIN(homing_feedrate(X_AXIS), homing_feedrate(Y_AXIS)) * SQRT(sq(mlratio) + 1.0); #if ENABLED(SENSORLESS_HOMING) sensorless_homing_per_axis(X_AXIS); @@ -72,7 +72,9 @@ #endif do_blocking_move_to_xy(1.5 * mlx * x_axis_home_dir, 1.5 * mly * home_dir(Y_AXIS), fr_mm_s); - endstops.hit_on_purpose(); // clear endstop hit flags + + endstops.validate_homing_move(); + current_position[X_AXIS] = current_position[Y_AXIS] = 0.0; #if ENABLED(SENSORLESS_HOMING) @@ -88,7 +90,7 @@ inline void home_z_safely() { // Disallow Z homing if X or Y are unknown - if (!axis_known_position[X_AXIS] || !axis_known_position[Y_AXIS]) { + if (!TEST(axis_known_position, X_AXIS) || !TEST(axis_known_position, Y_AXIS)) { LCD_MESSAGEPGM(MSG_ERR_Z_HOMING); SERIAL_ECHO_START(); SERIAL_ECHOLNPGM(MSG_ERR_Z_HOMING); @@ -129,7 +131,7 @@ #endif do_blocking_move_to_xy(destination[X_AXIS], destination[Y_AXIS]); - HOMEAXIS(Z); + homeaxis(Z_AXIS); } else { LCD_MESSAGEPGM(MSG_ZPROBE_OUT); @@ -152,7 +154,11 @@ * None Home to all axes with no parameters. * With QUICK_HOME enabled XY will home together, then Z. * - * Cartesian parameters + * O Home only if position is unknown + * + * Rn Raise by n mm/inches before homing + * + * Cartesian/SCARA parameters * * X Home to the X endstop * Y Home to the Y endstop @@ -168,8 +174,31 @@ void GcodeSuite::G28(const bool always_home_all) { } #endif + #if ENABLED(MARLIN_DEV_MODE) + if (parser.seen('S')) { + LOOP_XYZ(a) set_axis_is_at_home((AxisEnum)a); + SYNC_PLAN_POSITION_KINEMATIC(); + SERIAL_ECHOLNPGM("Simulated Homing"); + report_current_position(); + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< G28"); + #endif + return; + } + #endif + + if (all_axes_known() && parser.boolval('O')) { // home only if needed + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) { + SERIAL_ECHOLNPGM("> homing not needed, skip"); + SERIAL_ECHOLNPGM("<<< G28"); + } + #endif + return; + } + // Wait for planner moves to finish! - stepper.synchronize(); + planner.synchronize(); // Cancel the active G29 session #if ENABLED(PROBE_MANUALLY) @@ -188,6 +217,10 @@ void GcodeSuite::G28(const bool always_home_all) { workspace_plane = PLANE_XY; #endif + #if ENABLED(BLTOUCH) + bltouch_init(); + #endif + // Always home with tool 0 active #if HOTENDS > 1 #if DISABLED(DELTA) || ENABLED(DELTA_HOME_TO_SAFE_ZONE) @@ -222,15 +255,16 @@ void GcodeSuite::G28(const bool always_home_all) { #if Z_HOME_DIR > 0 // If homing away from BED do Z first - if (home_all || homeZ) HOMEAXIS(Z); + if (home_all || homeZ) homeaxis(Z_AXIS); #endif - #if ENABLED(UNKNOWN_Z_NO_RAISE) - const float z_homing_height = axis_known_position[Z_AXIS] ? Z_HOMING_HEIGHT : 0; - #else - constexpr float z_homing_height = Z_HOMING_HEIGHT; - #endif + const float z_homing_height = ( + #if ENABLED(UNKNOWN_Z_NO_RAISE) + !TEST(axis_known_position, Z_AXIS) ? 0 : + #endif + (parser.seenval('R') ? parser.value_linear_units() : Z_HOMING_HEIGHT) + ); if (z_homing_height && (home_all || homeX || homeY)) { // Raise Z before homing any other axes and z is not already high enough (never lower z) @@ -259,7 +293,7 @@ void GcodeSuite::G28(const bool always_home_all) { #if ENABLED(CODEPENDENT_XY_HOMING) || homeX #endif - ) HOMEAXIS(Y); + ) homeaxis(Y_AXIS); #endif @@ -274,14 +308,14 @@ void GcodeSuite::G28(const bool always_home_all) { // Always home the 2nd (right) extruder first active_extruder = 1; - HOMEAXIS(X); + homeaxis(X_AXIS); // Remember this extruder's position for later tool change inactive_extruder_x_pos = current_position[X_AXIS]; // Home the 1st (left) extruder active_extruder = 0; - HOMEAXIS(X); + homeaxis(X_AXIS); // Consider the active extruder to be parked COPY(raised_parked_position, current_position); @@ -290,14 +324,14 @@ void GcodeSuite::G28(const bool always_home_all) { #else - HOMEAXIS(X); + homeaxis(X_AXIS); #endif } // Home Y (after X) #if DISABLED(HOME_Y_BEFORE_X) - if (home_all || homeY) HOMEAXIS(Y); + if (home_all || homeY) homeaxis(Y_AXIS); #endif // Home Z last if homing towards the bed @@ -306,12 +340,14 @@ void GcodeSuite::G28(const bool always_home_all) { #if ENABLED(Z_SAFE_HOMING) home_z_safely(); #else - HOMEAXIS(Z); + homeaxis(Z_AXIS); + #endif + + #if HOMING_Z_WITH_PROBE && defined(Z_AFTER_PROBING) + move_z_after_probing(); #endif + } // home_all || homeZ - #if HOMING_Z_WITH_PROBE && Z_AFTER_PROBING - move_z_after_probing(); - #endif #endif // Z_HOME_DIR < 0 SYNC_PLAN_POSITION_KINEMATIC(); diff --git a/Marlin/src/gcode/calibrate/G33.cpp b/Marlin/src/gcode/calibrate/G33.cpp index 72f4a01067aa..404da70d4f0b 100644 --- a/Marlin/src/gcode/calibrate/G33.cpp +++ b/Marlin/src/gcode/calibrate/G33.cpp @@ -26,12 +26,15 @@ #include "../gcode.h" #include "../../module/delta.h" -#include "../../module/probe.h" #include "../../module/motion.h" #include "../../module/stepper.h" #include "../../module/endstops.h" #include "../../lcd/ultralcd.h" +#if HAS_BED_PROBE + #include "../../module/probe.h" +#endif + #if HOTENDS > 1 #include "../../module/tool_change.h" #endif @@ -43,7 +46,7 @@ constexpr uint8_t _7P_STEP = 1, // 7-point step - to change number of calibration points _4P_STEP = _7P_STEP * 2, // 4-point step NPP = _7P_STEP * 6; // number of calibration points on the radius -enum CalEnum : char { // the 7 main calibration points - add definitions if needed +enum CalEnum : char { // the 7 main calibration points - add definitions if needed CEN = 0, __A = 1, _AB = __A + _7P_STEP, @@ -60,7 +63,52 @@ enum CalEnum : char { // the 7 main calibration po #define LOOP_CAL_RAD(VAR) LOOP_CAL_PT(VAR, __A, _7P_STEP) #define LOOP_CAL_ACT(VAR, _4P, _OP) LOOP_CAL_PT(VAR, _OP ? _AB : __A, _4P ? _4P_STEP : _7P_STEP) -static void print_signed_float(const char * const prefix, const float &f) { +#if HOTENDS > 1 + const uint8_t old_tool_index = active_extruder; + #define AC_CLEANUP() ac_cleanup(old_tool_index) +#else + #define AC_CLEANUP() ac_cleanup() +#endif + +float lcd_probe_pt(const float &rx, const float &ry); + +void ac_home() { + endstops.enable(true); + home_delta(); + endstops.not_homing(); +} + +void ac_setup(const bool reset_bed) { + #if HOTENDS > 1 + tool_change(0, 0, true); + #endif + + planner.synchronize(); + setup_for_endstop_or_probe_move(); + + #if HAS_LEVELING + if (reset_bed) reset_bed_level(); // After full calibration bed-level data is no longer valid + #endif +} + +void ac_cleanup( + #if HOTENDS > 1 + const uint8_t old_tool_index + #endif +) { + #if ENABLED(DELTA_HOME_TO_SAFE_ZONE) + do_blocking_move_to_z(delta_clip_start_height); + #endif + #if HAS_BED_PROBE + STOW_PROBE(); + #endif + clean_up_after_endstop_or_probe_move(); + #if HOTENDS > 1 + tool_change(old_tool_index, 0, true); + #endif +} + +void print_signed_float(const char * const prefix, const float &f) { SERIAL_PROTOCOLPGM(" "); serialprintPGM(prefix); SERIAL_PROTOCOLCHAR(':'); @@ -68,7 +116,10 @@ static void print_signed_float(const char * const prefix, const float &f) { SERIAL_PROTOCOL_F(f, 2); } -static void print_G33_settings(const bool end_stops, const bool tower_angles) { +/** + * - Print the delta settings + */ +static void print_calibration_settings(const bool end_stops, const bool tower_angles) { SERIAL_PROTOCOLPAIR(".Height:", delta_height); if (end_stops) { print_signed_float(PSTR("Ex"), delta_endstop_adj[A_AXIS]); @@ -89,16 +140,25 @@ static void print_G33_settings(const bool end_stops, const bool tower_angles) { if ((!end_stops && tower_angles) || (end_stops && !tower_angles)) { // XOR SERIAL_PROTOCOLPAIR(" Radius:", delta_radius); } + #if HAS_BED_PROBE + if (!end_stops && !tower_angles) { + SERIAL_PROTOCOL_SP(30); + print_signed_float(PSTR("Offset"), zprobe_zoffset); + } + #endif SERIAL_EOL(); } -static void print_G33_results(const float z_at_pt[NPP + 1], const bool tower_points, const bool opposite_points) { +/** + * - Print the probe results + */ +static void print_calibration_results(const float z_pt[NPP + 1], const bool tower_points, const bool opposite_points) { SERIAL_PROTOCOLPGM(". "); - print_signed_float(PSTR("c"), z_at_pt[CEN]); + print_signed_float(PSTR("c"), z_pt[CEN]); if (tower_points) { - print_signed_float(PSTR(" x"), z_at_pt[__A]); - print_signed_float(PSTR(" y"), z_at_pt[__B]); - print_signed_float(PSTR(" z"), z_at_pt[__C]); + print_signed_float(PSTR(" x"), z_pt[__A]); + print_signed_float(PSTR(" y"), z_pt[__B]); + print_signed_float(PSTR(" z"), z_pt[__C]); } if (tower_points && opposite_points) { SERIAL_EOL(); @@ -106,50 +166,63 @@ static void print_G33_results(const float z_at_pt[NPP + 1], const bool tower_poi SERIAL_PROTOCOL_SP(13); } if (opposite_points) { - print_signed_float(PSTR("yz"), z_at_pt[_BC]); - print_signed_float(PSTR("zx"), z_at_pt[_CA]); - print_signed_float(PSTR("xy"), z_at_pt[_AB]); + print_signed_float(PSTR("yz"), z_pt[_BC]); + print_signed_float(PSTR("zx"), z_pt[_CA]); + print_signed_float(PSTR("xy"), z_pt[_AB]); } SERIAL_EOL(); } /** - * After G33: - * - Move to the print ceiling (DELTA_HOME_TO_SAFE_ZONE only) - * - Stow the probe - * - Restore endstops state - * - Select the old tool, if needed + * - Calculate the standard deviation from the zero plane */ -static void G33_cleanup( - #if HOTENDS > 1 - const uint8_t old_tool_index - #endif -) { - #if ENABLED(DELTA_HOME_TO_SAFE_ZONE) - do_blocking_move_to_z(delta_clip_start_height); - #endif - STOW_PROBE(); - clean_up_after_endstop_or_probe_move(); - #if HOTENDS > 1 - tool_change(old_tool_index, 0, true); - #endif +static float std_dev_points(float z_pt[NPP + 1], const bool _0p_cal, const bool _1p_cal, const bool _4p_cal, const bool _4p_opp) { + if (!_0p_cal) { + float S2 = sq(z_pt[CEN]); + int16_t N = 1; + if (!_1p_cal) { // std dev from zero plane + LOOP_CAL_ACT(rad, _4p_cal, _4p_opp) { + S2 += sq(z_pt[rad]); + N++; + } + return LROUND(SQRT(S2 / N) * 1000.0) / 1000.0 + 0.00001; + } + } + return 0.00001; } -inline float calibration_probe(const float nx, const float ny, const bool stow) { +/** + * - Probe a point + */ +static float calibration_probe(const float &nx, const float &ny, const bool stow, const bool set_up) { #if HAS_BED_PROBE - return probe_pt(nx, ny, stow ? PROBE_PT_STOW : PROBE_PT_RAISE, 0, true); + return probe_pt(nx, ny, set_up ? PROBE_PT_BIG_RAISE : stow ? PROBE_PT_STOW : PROBE_PT_RAISE, 0, false); #else UNUSED(stow); + UNUSED(set_up); return lcd_probe_pt(nx, ny); #endif } -static float probe_G33_points(float z_at_pt[NPP + 1], const int8_t probe_points, const bool towers_set, const bool stow_after_each) { +#if HAS_BED_PROBE + static float probe_z_shift(const float center) { + STOW_PROBE(); + endstops.enable_z_probe(false); + float z_shift = lcd_probe_pt(0, 0) - center; + endstops.enable_z_probe(true); + return z_shift; + } +#endif + +/** + * - Probe a grid + */ +static bool probe_calibration_points(float z_pt[NPP + 1], const int8_t probe_points, const bool towers_set, const bool stow_after_each, const bool set_up) { const bool _0p_calibration = probe_points == 0, - _1p_calibration = probe_points == 1, + _1p_calibration = probe_points == 1 || probe_points == -1, _4p_calibration = probe_points == 2, _4p_opposite_points = _4p_calibration && !towers_set, - _7p_calibration = probe_points >= 3 || probe_points == 0, + _7p_calibration = probe_points >= 3, _7p_no_intermediates = probe_points == 3, _7p_1_intermediates = probe_points == 4, _7p_2_intermediates = probe_points == 5, @@ -159,28 +232,28 @@ static float probe_G33_points(float z_at_pt[NPP + 1], const int8_t probe_points, _7p_11_intermediates = probe_points == 9, _7p_14_intermediates = probe_points == 10, _7p_intermed_points = probe_points >= 4, - _7p_6_centre = probe_points >= 5 && probe_points <= 7, - _7p_9_centre = probe_points >= 8; + _7p_6_center = probe_points >= 5 && probe_points <= 7, + _7p_9_center = probe_points >= 8; - LOOP_CAL_ALL(axis) z_at_pt[axis] = 0.0; + LOOP_CAL_ALL(rad) z_pt[rad] = 0.0; if (!_0p_calibration) { if (!_7p_no_intermediates && !_7p_4_intermediates && !_7p_11_intermediates) { // probe the center - z_at_pt[CEN] += calibration_probe(0, 0, stow_after_each); - if (isnan(z_at_pt[CEN])) return NAN; + z_pt[CEN] += calibration_probe(0, 0, stow_after_each, set_up); + if (isnan(z_pt[CEN])) return false; } if (_7p_calibration) { // probe extra center points - const float start = _7p_9_centre ? _CA + _7P_STEP / 3.0 : _7p_6_centre ? _CA : __C, - steps = _7p_9_centre ? _4P_STEP / 3.0 : _7p_6_centre ? _7P_STEP : _4P_STEP; - I_LOOP_CAL_PT(axis, start, steps) { - const float a = RADIANS(210 + (360 / NPP) * (axis - 1)), + const float start = _7p_9_center ? float(_CA) + _7P_STEP / 3.0 : _7p_6_center ? float(_CA) : float(__C), + steps = _7p_9_center ? _4P_STEP / 3.0 : _7p_6_center ? _7P_STEP : _4P_STEP; + I_LOOP_CAL_PT(rad, start, steps) { + const float a = RADIANS(210 + (360 / NPP) * (rad - 1)), r = delta_calibration_radius * 0.1; - z_at_pt[CEN] += calibration_probe(cos(a) * r, sin(a) * r, stow_after_each); - if (isnan(z_at_pt[CEN])) return NAN; + z_pt[CEN] += calibration_probe(cos(a) * r, sin(a) * r, stow_after_each, set_up); + if (isnan(z_pt[CEN])) return false; } - z_at_pt[CEN] /= float(_7p_2_intermediates ? 7 : probe_points); + z_pt[CEN] /= float(_7p_2_intermediates ? 7 : probe_points); } if (!_1p_calibration) { // probe the radius @@ -195,182 +268,150 @@ static float probe_G33_points(float z_at_pt[NPP + 1], const int8_t probe_points, _7p_no_intermediates ? _7P_STEP : // 1r * 6 + 3c = 9 _4P_STEP; // .5r * 6 + 1c = 4 bool zig_zag = true; - F_LOOP_CAL_PT(axis, start, _7p_9_centre ? steps * 3 : steps) { - const int8_t offset = _7p_9_centre ? 1 : 0; - for (int8_t circle = -offset; circle <= offset; circle++) { - const float a = RADIANS(210 + (360 / NPP) * (axis - 1)), - r = delta_calibration_radius * (1 + 0.1 * (zig_zag ? circle : - circle)), - interpol = fmod(axis, 1); - const float z_temp = calibration_probe(cos(a) * r, sin(a) * r, stow_after_each); - if (isnan(z_temp)) return NAN; + F_LOOP_CAL_PT(rad, start, _7p_9_center ? steps * 3 : steps) { + const int8_t offset = _7p_9_center ? 2 : 0; + for (int8_t circle = 0; circle <= offset; circle++) { + const float a = RADIANS(210 + (360 / NPP) * (rad - 1)), + r = delta_calibration_radius * (1 - 0.1 * (zig_zag ? offset - circle : circle)), + interpol = fmod(rad, 1); + const float z_temp = calibration_probe(cos(a) * r, sin(a) * r, stow_after_each, set_up); + if (isnan(z_temp)) return false; // split probe point to neighbouring calibration points - z_at_pt[uint8_t(round(axis - interpol + NPP - 1)) % NPP + 1] += z_temp * sq(cos(RADIANS(interpol * 90))); - z_at_pt[uint8_t(round(axis - interpol)) % NPP + 1] += z_temp * sq(sin(RADIANS(interpol * 90))); + z_pt[uint8_t(LROUND(rad - interpol + NPP - 1)) % NPP + 1] += z_temp * sq(cos(RADIANS(interpol * 90))); + z_pt[uint8_t(LROUND(rad - interpol)) % NPP + 1] += z_temp * sq(sin(RADIANS(interpol * 90))); } zig_zag = !zig_zag; } if (_7p_intermed_points) - LOOP_CAL_RAD(axis) - z_at_pt[axis] /= _7P_STEP / steps; - } + LOOP_CAL_RAD(rad) + z_pt[rad] /= _7P_STEP / steps; - float S1 = z_at_pt[CEN], - S2 = sq(z_at_pt[CEN]); - int16_t N = 1; - if (!_1p_calibration) { // std dev from zero plane - LOOP_CAL_ACT(axis, _4p_calibration, _4p_opposite_points) { - S1 += z_at_pt[axis]; - S2 += sq(z_at_pt[axis]); - N++; - } - return round(SQRT(S2 / N) * 1000.0) / 1000.0 + 0.00001; + do_blocking_move_to_xy(0.0, 0.0); } } - - return 0.00001; + return true; } -#if HAS_BED_PROBE +/** + * kinematics routines and auto tune matrix scaling parameters: + * see https://github.com/LVD-AC/Marlin-AC/tree/1.1.x-AC/documentation for + * - formulae for approximative forward kinematics in the end-stop displacement matrix + * - definition of the matrix scaling parameters + */ +static void reverse_kinematics_probe_points(float z_pt[NPP + 1], float mm_at_pt_axis[NPP + 1][ABC]) { + float pos[XYZ] = { 0.0 }; + + LOOP_CAL_ALL(rad) { + const float a = RADIANS(210 + (360 / NPP) * (rad - 1)), + r = (rad == CEN ? 0.0 : delta_calibration_radius); + pos[X_AXIS] = cos(a) * r; + pos[Y_AXIS] = sin(a) * r; + pos[Z_AXIS] = z_pt[rad]; + inverse_kinematics(pos); + LOOP_XYZ(axis) mm_at_pt_axis[rad][axis] = delta[axis]; + } +} - static bool G33_auto_tune() { - float z_at_pt[NPP + 1] = { 0.0 }, - z_at_pt_base[NPP + 1] = { 0.0 }, - z_temp, h_fac = 0.0, r_fac = 0.0, a_fac = 0.0, norm = 0.8; +static void forward_kinematics_probe_points(float mm_at_pt_axis[NPP + 1][ABC], float z_pt[NPP + 1]) { + const float r_quot = delta_calibration_radius / delta_radius; + + #define ZPP(N,I,A) ((1 / 3.0 + r_quot * (N) / 3.0 ) * mm_at_pt_axis[I][A]) + #define Z00(I, A) ZPP( 0, I, A) + #define Zp1(I, A) ZPP(+1, I, A) + #define Zm1(I, A) ZPP(-1, I, A) + #define Zp2(I, A) ZPP(+2, I, A) + #define Zm2(I, A) ZPP(-2, I, A) + + z_pt[CEN] = Z00(CEN, A_AXIS) + Z00(CEN, B_AXIS) + Z00(CEN, C_AXIS); + z_pt[__A] = Zp2(__A, A_AXIS) + Zm1(__A, B_AXIS) + Zm1(__A, C_AXIS); + z_pt[__B] = Zm1(__B, A_AXIS) + Zp2(__B, B_AXIS) + Zm1(__B, C_AXIS); + z_pt[__C] = Zm1(__C, A_AXIS) + Zm1(__C, B_AXIS) + Zp2(__C, C_AXIS); + z_pt[_BC] = Zm2(_BC, A_AXIS) + Zp1(_BC, B_AXIS) + Zp1(_BC, C_AXIS); + z_pt[_CA] = Zp1(_CA, A_AXIS) + Zm2(_CA, B_AXIS) + Zp1(_CA, C_AXIS); + z_pt[_AB] = Zp1(_AB, A_AXIS) + Zp1(_AB, B_AXIS) + Zm2(_AB, C_AXIS); +} - #define ZP(N,I) ((N) * z_at_pt[I]) - #define Z06(I) ZP(6, I) - #define Z03(I) ZP(3, I) - #define Z02(I) ZP(2, I) - #define Z01(I) ZP(1, I) - #define Z32(I) ZP(3/2, I) +static void calc_kinematics_diff_probe_points(float z_pt[NPP + 1], float delta_e[ABC], float delta_r, float delta_t[ABC]) { + const float z_center = z_pt[CEN]; + float diff_mm_at_pt_axis[NPP + 1][ABC], + new_mm_at_pt_axis[NPP + 1][ABC]; - SERIAL_PROTOCOLPGM("AUTO TUNE baseline"); - SERIAL_EOL(); - if (isnan(probe_G33_points(z_at_pt_base, 3, true, false))) return false; - print_G33_results(z_at_pt_base, true, true); + reverse_kinematics_probe_points(z_pt, diff_mm_at_pt_axis); - LOOP_XYZ(axis) { - delta_endstop_adj[axis] -= 1.0; - recalc_delta_settings(); + delta_radius += delta_r; + LOOP_XYZ(axis) delta_tower_angle_trim[axis] += delta_t[axis]; + recalc_delta_settings(); + reverse_kinematics_probe_points(z_pt, new_mm_at_pt_axis); - endstops.enable(true); - if (!home_delta()) return false; - endstops.not_homing(); + LOOP_XYZ(axis) LOOP_CAL_ALL(rad) diff_mm_at_pt_axis[rad][axis] -= new_mm_at_pt_axis[rad][axis] + delta_e[axis]; + forward_kinematics_probe_points(diff_mm_at_pt_axis, z_pt); - SERIAL_PROTOCOLPGM("Tuning E"); - SERIAL_CHAR(tolower(axis_codes[axis])); - SERIAL_EOL(); + LOOP_CAL_RAD(rad) z_pt[rad] -= z_pt[CEN] - z_center; + z_pt[CEN] = z_center; - if (isnan(probe_G33_points(z_at_pt, 3, true, false))) return false; - LOOP_CAL_ALL(axis) z_at_pt[axis] -= z_at_pt_base[axis]; - print_G33_results(z_at_pt, true, true); - delta_endstop_adj[axis] += 1.0; - recalc_delta_settings(); - switch (axis) { - case A_AXIS : - h_fac += 4.0 / (Z03(CEN) +Z01(__A) +Z32(_CA) +Z32(_AB)); // Offset by X-tower end-stop - break; - case B_AXIS : - h_fac += 4.0 / (Z03(CEN) +Z01(__B) +Z32(_BC) +Z32(_AB)); // Offset by Y-tower end-stop - break; - case C_AXIS : - h_fac += 4.0 / (Z03(CEN) +Z01(__C) +Z32(_BC) +Z32(_CA) ); // Offset by Z-tower end-stop - break; - } - } - h_fac /= 3.0; - h_fac *= norm; // Normalize to 1.02 for Kossel mini - - for (int8_t zig_zag = -1; zig_zag < 2; zig_zag += 2) { - delta_radius += 1.0 * zig_zag; - recalc_delta_settings(); - - endstops.enable(true); - if (!home_delta()) return false; - endstops.not_homing(); - - SERIAL_PROTOCOLPGM("Tuning R"); - SERIAL_PROTOCOL(zig_zag == -1 ? "-" : "+"); - SERIAL_EOL(); - if (isnan(probe_G33_points(z_at_pt, 3, true, false))) return false; - LOOP_CAL_ALL(axis) z_at_pt[axis] -= z_at_pt_base[axis]; - print_G33_results(z_at_pt, true, true); - delta_radius -= 1.0 * zig_zag; - recalc_delta_settings(); - r_fac -= zig_zag * 6.0 / (Z03(__A) +Z03(__B) +Z03(__C) +Z03(_BC) +Z03(_CA) +Z03(_AB)); // Offset by delta radius - } - r_fac /= 2.0; - r_fac *= 3 * norm; // Normalize to 2.25 for Kossel mini - - LOOP_XYZ(axis) { - delta_tower_angle_trim[axis] += 1.0; - delta_endstop_adj[(axis + 1) % 3] -= 1.0 / 4.5; - delta_endstop_adj[(axis + 2) % 3] += 1.0 / 4.5; - z_temp = MAX3(delta_endstop_adj[A_AXIS], delta_endstop_adj[B_AXIS], delta_endstop_adj[C_AXIS]); - delta_height -= z_temp; - LOOP_XYZ(axis) delta_endstop_adj[axis] -= z_temp; - recalc_delta_settings(); + delta_radius -= delta_r; + LOOP_XYZ(axis) delta_tower_angle_trim[axis] -= delta_t[axis]; + recalc_delta_settings(); +} - endstops.enable(true); - if (!home_delta()) return false; - endstops.not_homing(); +static float auto_tune_h() { + const float r_quot = delta_calibration_radius / delta_radius; + float h_fac = 0.0; - SERIAL_PROTOCOLPGM("Tuning T"); - SERIAL_CHAR(tolower(axis_codes[axis])); - SERIAL_EOL(); + h_fac = r_quot / (2.0 / 3.0); + h_fac = 1.0f / h_fac; // (2/3)/CR + return h_fac; +} - if (isnan(probe_G33_points(z_at_pt, 3, true, false))) return false; - LOOP_CAL_ALL(axis) z_at_pt[axis] -= z_at_pt_base[axis]; - print_G33_results(z_at_pt, true, true); +static float auto_tune_r() { + const float diff = 0.01; + float r_fac = 0.0, + z_pt[NPP + 1] = { 0.0 }, + delta_e[ABC] = {0.0}, + delta_r = {0.0}, + delta_t[ABC] = {0.0}; + + delta_r = diff; + calc_kinematics_diff_probe_points(z_pt, delta_e, delta_r, delta_t); + r_fac = -(z_pt[__A] + z_pt[__B] + z_pt[__C] + z_pt[_BC] + z_pt[_CA] + z_pt[_AB]) / 6.0; + r_fac = diff / r_fac / 3.0; // 1/(3*delta_Z) + return r_fac; +} - delta_tower_angle_trim[axis] -= 1.0; - delta_endstop_adj[(axis+1) % 3] += 1.0/4.5; - delta_endstop_adj[(axis+2) % 3] -= 1.0/4.5; - z_temp = MAX3(delta_endstop_adj[A_AXIS], delta_endstop_adj[B_AXIS], delta_endstop_adj[C_AXIS]); - delta_height -= z_temp; - LOOP_XYZ(axis) delta_endstop_adj[axis] -= z_temp; - recalc_delta_settings(); - switch (axis) { - case A_AXIS : - a_fac += 4.0 / ( Z06(__B) -Z06(__C) +Z06(_CA) -Z06(_AB)); // Offset by alpha tower angle - break; - case B_AXIS : - a_fac += 4.0 / (-Z06(__A) +Z06(__C) -Z06(_BC) +Z06(_AB)); // Offset by beta tower angle - break; - case C_AXIS : - a_fac += 4.0 / (Z06(__A) -Z06(__B) +Z06(_BC) -Z06(_CA) ); // Offset by gamma tower angle - break; - } - } - a_fac /= 3.0; - a_fac *= norm; // Normalize to 0.83 for Kossel mini - - endstops.enable(true); - if (!home_delta()) return false; - endstops.not_homing(); - print_signed_float(PSTR( "H_FACTOR: "), h_fac); - print_signed_float(PSTR(" R_FACTOR: "), r_fac); - print_signed_float(PSTR(" A_FACTOR: "), a_fac); - SERIAL_EOL(); - SERIAL_PROTOCOLPGM("Copy these values to Configuration.h"); - SERIAL_EOL(); - return true; +static float auto_tune_a() { + const float diff = 0.01; + float a_fac = 0.0, + z_pt[NPP + 1] = { 0.0 }, + delta_e[ABC] = {0.0}, + delta_r = {0.0}, + delta_t[ABC] = {0.0}; + + LOOP_XYZ(axis) { + LOOP_XYZ(axis_2) delta_t[axis_2] = 0.0; + delta_t[axis] = diff; + calc_kinematics_diff_probe_points(z_pt, delta_e, delta_r, delta_t); + a_fac += z_pt[uint8_t((axis * _4P_STEP) - _7P_STEP + NPP) % NPP + 1] / 6.0; + a_fac -= z_pt[uint8_t((axis * _4P_STEP) + 1 + _7P_STEP)] / 6.0; } - -#endif // HAS_BED_PROBE + a_fac = diff / a_fac / 3.0; // 1/(3*delta_Z) + return a_fac; +} /** * G33 - Delta '1-4-7-point' Auto-Calibration - * Calibrate height, endstops, delta radius, and tower angles. + * Calibrate height, z_offset, endstops, delta radius, and tower angles. * * Parameters: * + * S Setup mode; disables probe protection + * * Pn Number of probe points: - * P0 No probe. Normalize only. - * P1 Probe center and set height only. - * P2 Probe center and towers. Set height, endstops and delta radius. - * P3 Probe all positions: center, towers and opposite towers. Set all. - * P4-P10 Probe all positions + at different intermediate locations and average them. + * P-1 Checks the z_offset with a center probe and paper test. + * P0 Normalizes calibration. + * P1 Calibrates height only with center probe. + * P2 Probe center and towers. Calibrate height, endstops and delta radius. + * P3 Probe all positions: center, towers and opposite towers. Calibrate all. + * P4-P10 Probe all positions at different intermediate locations and average them. * * T Don't calibrate tower angle corrections * @@ -378,8 +419,6 @@ static float probe_G33_points(float z_at_pt[NPP + 1], const int8_t probe_points, * * Fn Force to run at least n iterations and take the best result * - * A Auto-tune calibration factors (set in Configuration.h) - * * Vn Verbose level: * V0 Dry-run mode. Report settings and probe results. No calibration. * V1 Report start and end settings only @@ -390,19 +429,22 @@ static float probe_G33_points(float z_at_pt[NPP + 1], const int8_t probe_points, */ void GcodeSuite::G33() { - const int8_t probe_points = parser.intval('P', DELTA_CALIBRATION_DEFAULT_POINTS); - if (!WITHIN(probe_points, 0, 10)) { - SERIAL_PROTOCOLLNPGM("?(P)oints is implausible (0-10)."); - return; - } + const bool set_up = + #if HAS_BED_PROBE + parser.seen('S'); + #else + false; + #endif - const int8_t verbose_level = parser.byteval('V', 1); - if (!WITHIN(verbose_level, 0, 3)) { - SERIAL_PROTOCOLLNPGM("?(V)erbose level is implausible (0-3)."); + const int8_t probe_points = set_up ? 2 : parser.intval('P', DELTA_CALIBRATION_DEFAULT_POINTS); + if (!WITHIN(probe_points, -1, 10)) { + SERIAL_PROTOCOLLNPGM("?(P)oints is implausible (-1 - 10)."); return; } - const float calibration_precision = parser.floatval('C', 0.0); + const bool towers_set = !parser.seen('T'); + + const float calibration_precision = set_up ? Z_CLEARANCE_BETWEEN_PROBES / 5.0 : parser.floatval('C', 0.0); if (calibration_precision < 0) { SERIAL_PROTOCOLLNPGM("?(C)alibration precision is implausible (>=0)."); return; @@ -410,36 +452,52 @@ void GcodeSuite::G33() { const int8_t force_iterations = parser.intval('F', 0); if (!WITHIN(force_iterations, 0, 30)) { - SERIAL_PROTOCOLLNPGM("?(F)orce iteration is implausible (0-30)."); + SERIAL_PROTOCOLLNPGM("?(F)orce iteration is implausible (0 - 30)."); + return; + } + + const int8_t verbose_level = parser.byteval('V', 1); + if (!WITHIN(verbose_level, 0, 3)) { + SERIAL_PROTOCOLLNPGM("?(V)erbose level is implausible (0 - 3)."); return; } - const bool towers_set = !parser.boolval('T'), - auto_tune = parser.boolval('A'), - stow_after_each = parser.boolval('E'), - _0p_calibration = probe_points == 0, - _1p_calibration = probe_points == 1, + const bool stow_after_each = parser.seen('E'); + + if (set_up) { + delta_height = 999.99; + delta_radius = DELTA_PRINTABLE_RADIUS; + ZERO(delta_endstop_adj); + ZERO(delta_tower_angle_trim); + recalc_delta_settings(); + } + + const bool _0p_calibration = probe_points == 0, + _1p_calibration = probe_points == 1 || probe_points == -1, _4p_calibration = probe_points == 2, - _7p_9_centre = probe_points >= 8, - _tower_results = (_4p_calibration && towers_set) - || probe_points >= 3 || probe_points == 0, - _opposite_results = (_4p_calibration && !towers_set) - || probe_points >= 3 || probe_points == 0, - _endstop_results = probe_points != 1, - _angle_results = (probe_points >= 3 || probe_points == 0) && towers_set; - const static char save_message[] PROGMEM = "Save with M500 and/or copy to Configuration.h"; + _4p_opposite_points = _4p_calibration && !towers_set, + _7p_9_center = probe_points >= 8, + _tower_results = (_4p_calibration && towers_set) || probe_points >= 3, + _opposite_results = (_4p_calibration && !towers_set) || probe_points >= 3, + _endstop_results = probe_points != 1 && probe_points != -1 && probe_points != 0, + _angle_results = probe_points >= 3 && towers_set; + static const char save_message[] PROGMEM = "Save with M500 and/or copy to Configuration.h"; int8_t iterations = 0; float test_precision, zero_std_dev = (verbose_level ? 999.0 : 0.0), // 0.0 in dry-run mode : forced end zero_std_dev_min = zero_std_dev, + zero_std_dev_old = zero_std_dev, + h_factor, + r_factor, + a_factor, e_old[ABC] = { delta_endstop_adj[A_AXIS], delta_endstop_adj[B_AXIS], delta_endstop_adj[C_AXIS] }, - dr_old = delta_radius, - zh_old = delta_height, - ta_old[ABC] = { + r_old = delta_radius, + h_old = delta_height, + a_old[ABC] = { delta_tower_angle_trim[A_AXIS], delta_tower_angle_trim[B_AXIS], delta_tower_angle_trim[C_AXIS] @@ -447,10 +505,10 @@ void GcodeSuite::G33() { SERIAL_PROTOCOLLNPGM("G33 Auto Calibrate"); - if (!_1p_calibration && !_0p_calibration) { // test if the outer radius is reachable + if (!_1p_calibration && !_0p_calibration) { // test if the outer radius is reachable LOOP_CAL_RAD(axis) { const float a = RADIANS(210 + (360 / NPP) * (axis - 1)), - r = delta_calibration_radius * (1 + (_7p_9_centre ? 0.1 : 0.0)); + r = delta_calibration_radius; if (!position_is_reachable(cos(a) * r, sin(a) * r)) { SERIAL_PROTOCOLLNPGM("?(M665 B)ed radius is implausible."); return; @@ -458,159 +516,133 @@ void GcodeSuite::G33() { } } - stepper.synchronize(); - #if HAS_LEVELING - reset_bed_level(); // After calibration bed-level data is no longer valid - #endif - - #if HOTENDS > 1 - const uint8_t old_tool_index = active_extruder; - tool_change(0, 0, true); - #define G33_CLEANUP() G33_cleanup(old_tool_index) - #else - #define G33_CLEANUP() G33_cleanup() - #endif - - setup_for_endstop_or_probe_move(); - endstops.enable(true); - if (!_0p_calibration) { - if (!home_delta()) - return; - endstops.not_homing(); - } - - if (auto_tune) { - #if HAS_BED_PROBE - G33_auto_tune(); - #else - SERIAL_PROTOCOLLNPGM("A probe is needed for auto-tune"); - #endif - G33_CLEANUP(); - return; - } - // Report settings - - PGM_P checkingac = PSTR("Checking... AC"); // TODO: Make translatable string + const char* checkingac = PSTR("Checking... AC"); serialprintPGM(checkingac); if (verbose_level == 0) SERIAL_PROTOCOLPGM(" (DRY-RUN)"); + if (set_up) SERIAL_PROTOCOLPGM(" (SET-UP)"); SERIAL_EOL(); lcd_setstatusPGM(checkingac); - print_G33_settings(_endstop_results, _angle_results); + print_calibration_settings(_endstop_results, _angle_results); - do { + ac_setup(!_0p_calibration && !_1p_calibration); - float z_at_pt[NPP + 1] = { 0.0 }; + if (!_0p_calibration) ac_home(); + + do { // start iterations - test_precision = zero_std_dev; + float z_at_pt[NPP + 1] = { 0.0 }; + test_precision = zero_std_dev_old != 999.0 ? (zero_std_dev + zero_std_dev_old) / 2 : zero_std_dev; iterations++; // Probe the points - - zero_std_dev = probe_G33_points(z_at_pt, probe_points, towers_set, stow_after_each); - if (isnan(zero_std_dev)) { - SERIAL_PROTOCOLPGM("Correct delta_radius with M665 R or end-stops with M666 X Y Z"); - SERIAL_EOL(); - return G33_CLEANUP(); + zero_std_dev_old = zero_std_dev; + if (!probe_calibration_points(z_at_pt, probe_points, towers_set, stow_after_each, set_up)) { + SERIAL_PROTOCOLLNPGM("Correct delta settings with M665 and M666"); + return AC_CLEANUP(); } + zero_std_dev = std_dev_points(z_at_pt, _0p_calibration, _1p_calibration, _4p_calibration, _4p_opposite_points); // Solve matrices if ((zero_std_dev < test_precision || iterations <= force_iterations) && zero_std_dev > calibration_precision) { + + #if !HAS_BED_PROBE + test_precision = 0.00; // forced end + #endif + if (zero_std_dev < zero_std_dev_min) { + // set roll-back point COPY(e_old, delta_endstop_adj); - dr_old = delta_radius; - zh_old = delta_height; - COPY(ta_old, delta_tower_angle_trim); + r_old = delta_radius; + h_old = delta_height; + COPY(a_old, delta_tower_angle_trim); } - float e_delta[ABC] = { 0.0 }, r_delta = 0.0, t_delta[ABC] = { 0.0 }; - const float r_diff = delta_radius - delta_calibration_radius, - h_factor = 1 / 6.0 * - #ifdef H_FACTOR - (H_FACTOR), // Set in Configuration.h - #else - (1.00 + r_diff * 0.001), // 1.02 for r_diff = 20mm - #endif - r_factor = 1 / 6.0 * - #ifdef R_FACTOR - -(R_FACTOR), // Set in Configuration.h - #else - -(1.75 + 0.005 * r_diff + 0.001 * sq(r_diff)), // 2.25 for r_diff = 20mm - #endif - a_factor = 1 / 6.0 * - #ifdef A_FACTOR - (A_FACTOR); // Set in Configuration.h - #else - (66.66 / delta_calibration_radius); // 0.83 for cal_rd = 80mm - #endif - - #define ZP(N,I) ((N) * z_at_pt[I]) - #define Z6(I) ZP(6, I) + float e_delta[ABC] = { 0.0 }, + r_delta = 0.0, + t_delta[ABC] = { 0.0 }; + + /** + * convergence matrices: + * see https://github.com/LVD-AC/Marlin-AC/tree/1.1.x-AC/documentation for + * - definition of the matrix scaling parameters + * - matrices for 4 and 7 point calibration + */ + #define ZP(N,I) ((N) * z_at_pt[I] / 4.0) // 4.0 = divider to normalize to integers + #define Z12(I) ZP(12, I) #define Z4(I) ZP(4, I) #define Z2(I) ZP(2, I) #define Z1(I) ZP(1, I) + #define Z0(I) ZP(0, I) - #if !HAS_BED_PROBE - test_precision = 0.00; // forced end - #endif + // calculate factors + const float cr_old = delta_calibration_radius; + if (_7p_9_center) delta_calibration_radius *= 0.9; + h_factor = auto_tune_h(); + r_factor = auto_tune_r(); + a_factor = auto_tune_a(); + delta_calibration_radius = cr_old; switch (probe_points) { + case -1: + #if HAS_BED_PROBE + zprobe_zoffset += probe_z_shift(z_at_pt[CEN]); + #endif + case 0: test_precision = 0.00; // forced end break; case 1: test_precision = 0.00; // forced end - LOOP_XYZ(axis) e_delta[axis] = Z1(CEN); + LOOP_XYZ(axis) e_delta[axis] = +Z4(CEN); break; case 2: - if (towers_set) { - e_delta[A_AXIS] = (Z6(CEN) +Z4(__A) -Z2(__B) -Z2(__C)) * h_factor; - e_delta[B_AXIS] = (Z6(CEN) -Z2(__A) +Z4(__B) -Z2(__C)) * h_factor; - e_delta[C_AXIS] = (Z6(CEN) -Z2(__A) -Z2(__B) +Z4(__C)) * h_factor; - r_delta = (Z6(CEN) -Z2(__A) -Z2(__B) -Z2(__C)) * r_factor; + if (towers_set) { // see 4 point calibration (towers) matrix + e_delta[A_AXIS] = (+Z4(__A) -Z2(__B) -Z2(__C)) * h_factor +Z4(CEN); + e_delta[B_AXIS] = (-Z2(__A) +Z4(__B) -Z2(__C)) * h_factor +Z4(CEN); + e_delta[C_AXIS] = (-Z2(__A) -Z2(__B) +Z4(__C)) * h_factor +Z4(CEN); + r_delta = (+Z4(__A) +Z4(__B) +Z4(__C) -Z12(CEN)) * r_factor; } - else { - e_delta[A_AXIS] = (Z6(CEN) -Z4(_BC) +Z2(_CA) +Z2(_AB)) * h_factor; - e_delta[B_AXIS] = (Z6(CEN) +Z2(_BC) -Z4(_CA) +Z2(_AB)) * h_factor; - e_delta[C_AXIS] = (Z6(CEN) +Z2(_BC) +Z2(_CA) -Z4(_AB)) * h_factor; - r_delta = (Z6(CEN) -Z2(_BC) -Z2(_CA) -Z2(_AB)) * r_factor; + else { // see 4 point calibration (opposites) matrix + e_delta[A_AXIS] = (-Z4(_BC) +Z2(_CA) +Z2(_AB)) * h_factor +Z4(CEN); + e_delta[B_AXIS] = (+Z2(_BC) -Z4(_CA) +Z2(_AB)) * h_factor +Z4(CEN); + e_delta[C_AXIS] = (+Z2(_BC) +Z2(_CA) -Z4(_AB)) * h_factor +Z4(CEN); + r_delta = (+Z4(_BC) +Z4(_CA) +Z4(_AB) -Z12(CEN)) * r_factor; } break; - default: - e_delta[A_AXIS] = (Z6(CEN) +Z2(__A) -Z1(__B) -Z1(__C) -Z2(_BC) +Z1(_CA) +Z1(_AB)) * h_factor; - e_delta[B_AXIS] = (Z6(CEN) -Z1(__A) +Z2(__B) -Z1(__C) +Z1(_BC) -Z2(_CA) +Z1(_AB)) * h_factor; - e_delta[C_AXIS] = (Z6(CEN) -Z1(__A) -Z1(__B) +Z2(__C) +Z1(_BC) +Z1(_CA) -Z2(_AB)) * h_factor; - r_delta = (Z6(CEN) -Z1(__A) -Z1(__B) -Z1(__C) -Z1(_BC) -Z1(_CA) -Z1(_AB)) * r_factor; - - if (towers_set) { - t_delta[A_AXIS] = ( -Z4(__B) +Z4(__C) -Z4(_CA) +Z4(_AB)) * a_factor; - t_delta[B_AXIS] = ( Z4(__A) -Z4(__C) +Z4(_BC) -Z4(_AB)) * a_factor; - t_delta[C_AXIS] = (-Z4(__A) +Z4(__B) -Z4(_BC) +Z4(_CA) ) * a_factor; - e_delta[A_AXIS] += (t_delta[B_AXIS] - t_delta[C_AXIS]) / 4.5; - e_delta[B_AXIS] += (t_delta[C_AXIS] - t_delta[A_AXIS]) / 4.5; - e_delta[C_AXIS] += (t_delta[A_AXIS] - t_delta[B_AXIS]) / 4.5; + default: // see 7 point calibration (towers & opposites) matrix + e_delta[A_AXIS] = (+Z2(__A) -Z1(__B) -Z1(__C) -Z2(_BC) +Z1(_CA) +Z1(_AB)) * h_factor +Z4(CEN); + e_delta[B_AXIS] = (-Z1(__A) +Z2(__B) -Z1(__C) +Z1(_BC) -Z2(_CA) +Z1(_AB)) * h_factor +Z4(CEN); + e_delta[C_AXIS] = (-Z1(__A) -Z1(__B) +Z2(__C) +Z1(_BC) +Z1(_CA) -Z2(_AB)) * h_factor +Z4(CEN); + r_delta = (+Z2(__A) +Z2(__B) +Z2(__C) +Z2(_BC) +Z2(_CA) +Z2(_AB) -Z12(CEN)) * r_factor; + + if (towers_set) { // see 7 point tower angle calibration (towers & opposites) matrix + t_delta[A_AXIS] = (+Z0(__A) -Z4(__B) +Z4(__C) +Z0(_BC) -Z4(_CA) +Z4(_AB) +Z0(CEN)) * a_factor; + t_delta[B_AXIS] = (+Z4(__A) +Z0(__B) -Z4(__C) +Z4(_BC) +Z0(_CA) -Z4(_AB) +Z0(CEN)) * a_factor; + t_delta[C_AXIS] = (-Z4(__A) +Z4(__B) +Z0(__C) -Z4(_BC) +Z4(_CA) +Z0(_AB) +Z0(CEN)) * a_factor; } break; } - LOOP_XYZ(axis) delta_endstop_adj[axis] += e_delta[axis]; delta_radius += r_delta; LOOP_XYZ(axis) delta_tower_angle_trim[axis] += t_delta[axis]; } - else if (zero_std_dev >= test_precision) { // step one back + else if (zero_std_dev >= test_precision) { + // roll back COPY(delta_endstop_adj, e_old); - delta_radius = dr_old; - delta_height = zh_old; - COPY(delta_tower_angle_trim, ta_old); + delta_radius = r_old; + delta_height = h_old; + COPY(delta_tower_angle_trim, a_old); } if (verbose_level != 0) { // !dry run + // normalise angles to least squares if (_angle_results) { float a_sum = 0.0; @@ -628,15 +660,15 @@ void GcodeSuite::G33() { // print report - if (verbose_level > 2) - print_G33_results(z_at_pt, _tower_results, _opposite_results); + if (verbose_level == 3) + print_calibration_results(z_at_pt, _tower_results, _opposite_results); - if (verbose_level != 0) { // !dry run - if ((zero_std_dev >= test_precision && iterations > force_iterations) || zero_std_dev <= calibration_precision) { // end iterations + if (verbose_level != 0) { // !dry run + if ((zero_std_dev >= test_precision && iterations > force_iterations) || zero_std_dev <= calibration_precision) { // end iterations SERIAL_PROTOCOLPGM("Calibration OK"); SERIAL_PROTOCOL_SP(32); #if HAS_BED_PROBE - if (zero_std_dev >= test_precision && !_1p_calibration) + if (zero_std_dev >= test_precision && !_1p_calibration && !_0p_calibration) SERIAL_PROTOCOLPGM("rolling back."); else #endif @@ -648,15 +680,15 @@ void GcodeSuite::G33() { char mess[21]; strcpy_P(mess, PSTR("Calibration sd:")); if (zero_std_dev_min < 1) - sprintf_P(&mess[15], PSTR("0.%03i"), (int)round(zero_std_dev_min * 1000.0)); + sprintf_P(&mess[15], PSTR("0.%03i"), (int)LROUND(zero_std_dev_min * 1000.0)); else - sprintf_P(&mess[15], PSTR("%03i.x"), (int)round(zero_std_dev_min)); + sprintf_P(&mess[15], PSTR("%03i.x"), (int)LROUND(zero_std_dev_min)); lcd_setstatus(mess); - print_G33_settings(_endstop_results, _angle_results); + print_calibration_settings(_endstop_results, _angle_results); serialprintPGM(save_message); SERIAL_EOL(); } - else { // !end iterations + else { // !end iterations char mess[15]; if (iterations < 31) sprintf_P(mess, PSTR("Iteration : %02i"), (int)iterations); @@ -669,11 +701,11 @@ void GcodeSuite::G33() { SERIAL_EOL(); lcd_setstatus(mess); if (verbose_level > 1) - print_G33_settings(_endstop_results, _angle_results); + print_calibration_settings(_endstop_results, _angle_results); } } - else { // dry run - PGM_P enddryrun = PSTR("End DRY-RUN"); + else { // dry run + const char *enddryrun = PSTR("End DRY-RUN"); serialprintPGM(enddryrun); SERIAL_PROTOCOL_SP(35); SERIAL_PROTOCOLPGM("std dev:"); @@ -684,21 +716,16 @@ void GcodeSuite::G33() { strcpy_P(mess, enddryrun); strcpy_P(&mess[11], PSTR(" sd:")); if (zero_std_dev < 1) - sprintf_P(&mess[15], PSTR("0.%03i"), (int)round(zero_std_dev * 1000.0)); + sprintf_P(&mess[15], PSTR("0.%03i"), (int)LROUND(zero_std_dev * 1000.0)); else - sprintf_P(&mess[15], PSTR("%03i.x"), (int)round(zero_std_dev)); + sprintf_P(&mess[15], PSTR("%03i.x"), (int)LROUND(zero_std_dev)); lcd_setstatus(mess); } - - endstops.enable(true); - if (!home_delta()) - return; - endstops.not_homing(); - + ac_home(); } while (((zero_std_dev < test_precision && iterations < 31) || iterations <= force_iterations) && zero_std_dev > calibration_precision); - G33_CLEANUP(); + AC_CLEANUP(); } #endif // DELTA_AUTO_CALIBRATION diff --git a/Marlin/src/gcode/calibrate/M100.cpp b/Marlin/src/gcode/calibrate/M100.cpp index 8b01f85d3b58..fe6e58689709 100644 --- a/Marlin/src/gcode/calibrate/M100.cpp +++ b/Marlin/src/gcode/calibrate/M100.cpp @@ -25,6 +25,7 @@ #if ENABLED(M100_FREE_MEMORY_WATCHER) #include "../gcode.h" +#include "../queue.h" #include "../../libs/hex_print_routines.h" #include "../../Marlin.h" // for idle() @@ -59,8 +60,6 @@ #define TEST_BYTE ((char) 0xE5) -extern char command_queue[BUFSIZE][MAX_CMD_SIZE]; - extern char* __brkval; extern size_t __heap_start, __heap_end, __flp; extern char __bss_end; diff --git a/Marlin/src/gcode/calibrate/M48.cpp b/Marlin/src/gcode/calibrate/M48.cpp index 14efec5e009e..dd646961f729 100644 --- a/Marlin/src/gcode/calibrate/M48.cpp +++ b/Marlin/src/gcode/calibrate/M48.cpp @@ -111,7 +111,7 @@ void GcodeSuite::M48() { setup_for_endstop_or_probe_move(); - double mean = 0.0, sigma = 0.0, min = 99999.9, max = -99999.9, sample_set[n_samples]; + float mean = 0.0, sigma = 0.0, min = 99999.9, max = -99999.9, sample_set[n_samples]; // Move to the first point, deploy, and probe const float t = probe_pt(X_probe_location, Y_probe_location, raise_after, verbose_level); @@ -129,7 +129,7 @@ void GcodeSuite::M48() { (int) (0.1250000000 * (DELTA_PRINTABLE_RADIUS)), (int) (0.3333333333 * (DELTA_PRINTABLE_RADIUS)) #else - (int) 5.0, (int) (0.125 * min(X_BED_SIZE, Y_BED_SIZE)) + (int) 5.0, (int) (0.125 * MIN(X_BED_SIZE, Y_BED_SIZE)) #endif ); @@ -142,7 +142,7 @@ void GcodeSuite::M48() { } for (uint8_t l = 0; l < n_legs - 1; l++) { - double delta_angle; + float delta_angle; if (schizoid_flag) // The points of a 5 point star are 72 degrees apart. We need to @@ -199,7 +199,7 @@ void GcodeSuite::M48() { /** * Get the current mean for the data points we have so far */ - double sum = 0.0; + float sum = 0.0; for (uint8_t j = 0; j <= n; j++) sum += sample_set[j]; mean = sum / (n + 1); diff --git a/Marlin/src/gcode/calibrate/M665.cpp b/Marlin/src/gcode/calibrate/M665.cpp index 902556460df8..75d01b849af2 100644 --- a/Marlin/src/gcode/calibrate/M665.cpp +++ b/Marlin/src/gcode/calibrate/M665.cpp @@ -40,7 +40,7 @@ * B = delta calibration radius * X = Alpha (Tower 1) angle trim * Y = Beta (Tower 2) angle trim - * Z = Rotate A and B by this angle + * Z = Gamma (Tower 3) angle trim */ void GcodeSuite::M665() { if (parser.seen('H')) delta_height = parser.value_linear_units(); diff --git a/Marlin/src/gcode/config/M200-M205.cpp b/Marlin/src/gcode/config/M200-M205.cpp index 1537710d4e44..cd45047be60f 100644 --- a/Marlin/src/gcode/config/M200-M205.cpp +++ b/Marlin/src/gcode/config/M200-M205.cpp @@ -40,7 +40,7 @@ // setting any extruder filament size disables volumetric on the assumption that // slicers either generate in extruder values as cubic mm or as as filament feeds // for all extruders - if ( (parser.volumetric_enabled = (parser.value_linear_units() != 0.0)) ) + if ( (parser.volumetric_enabled = (parser.value_linear_units() != 0)) ) planner.set_filament_size(target_extruder, parser.value_linear_units()); } planner.calculate_volumetric_multipliers(); @@ -118,26 +118,41 @@ void GcodeSuite::M204() { /** * M205: Set Advanced Settings * + * B = Min Segment Time (µs) * S = Min Feed Rate (units/s) * T = Min Travel Feed Rate (units/s) - * B = Min Segment Time (µs) * X = Max X Jerk (units/sec^2) * Y = Max Y Jerk (units/sec^2) * Z = Max Z Jerk (units/sec^2) * E = Max E Jerk (units/sec^2) + * J = Junction Deviation (mm) (Requires JUNCTION_DEVIATION) */ void GcodeSuite::M205() { + if (parser.seen('B')) planner.min_segment_time_us = parser.value_ulong(); if (parser.seen('S')) planner.min_feedrate_mm_s = parser.value_linear_units(); if (parser.seen('T')) planner.min_travel_feedrate_mm_s = parser.value_linear_units(); - if (parser.seen('B')) planner.min_segment_time_us = parser.value_ulong(); - if (parser.seen('X')) planner.max_jerk[X_AXIS] = parser.value_linear_units(); - if (parser.seen('Y')) planner.max_jerk[Y_AXIS] = parser.value_linear_units(); - if (parser.seen('Z')) { - planner.max_jerk[Z_AXIS] = parser.value_linear_units(); - #if HAS_MESH - if (planner.max_jerk[Z_AXIS] <= 0.1) - SERIAL_ECHOLNPGM("WARNING! Low Z Jerk may lead to unwanted pauses."); - #endif - } - if (parser.seen('E')) planner.max_jerk[E_AXIS] = parser.value_linear_units(); + #if ENABLED(JUNCTION_DEVIATION) + if (parser.seen('J')) { + const float junc_dev = parser.value_linear_units(); + if (WITHIN(junc_dev, 0.01f, 0.3f)) { + planner.junction_deviation_mm = junc_dev; + planner.recalculate_max_e_jerk(); + } + else { + SERIAL_ERROR_START(); + SERIAL_ERRORLNPGM("?J out of range (0.01 to 0.3)"); + } + } + #else + if (parser.seen('X')) planner.max_jerk[X_AXIS] = parser.value_linear_units(); + if (parser.seen('Y')) planner.max_jerk[Y_AXIS] = parser.value_linear_units(); + if (parser.seen('Z')) { + planner.max_jerk[Z_AXIS] = parser.value_linear_units(); + #if HAS_MESH + if (planner.max_jerk[Z_AXIS] <= 0.1f) + SERIAL_ECHOLNPGM("WARNING! Low Z Jerk may lead to unwanted pauses."); + #endif + } + if (parser.seen('E')) planner.max_jerk[E_AXIS] = parser.value_linear_units(); + #endif } diff --git a/Marlin/src/gcode/config/M218.cpp b/Marlin/src/gcode/config/M218.cpp index 69452e347ca7..47910e07450c 100644 --- a/Marlin/src/gcode/config/M218.cpp +++ b/Marlin/src/gcode/config/M218.cpp @@ -37,7 +37,7 @@ * T * X * Y - * Z - Available with DUAL_X_CARRIAGE and SWITCHING_NOZZLE + * Z - Available with DUAL_X_CARRIAGE, SWITCHING_NOZZLE and PARKING_EXTRUDER */ void GcodeSuite::M218() { if (get_target_extruder_from_command() || target_extruder == 0) return; @@ -52,7 +52,7 @@ void GcodeSuite::M218() { report = false; } - #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(SWITCHING_NOZZLE) || ENABLED(PARKING_EXTRUDER) + #if HAS_HOTEND_OFFSET_Z if (parser.seenval('Z')) { hotend_offset[Z_AXIS][target_extruder] = parser.value_linear_units(); report = false; @@ -67,7 +67,7 @@ void GcodeSuite::M218() { SERIAL_ECHO(hotend_offset[X_AXIS][e]); SERIAL_CHAR(','); SERIAL_ECHO(hotend_offset[Y_AXIS][e]); - #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(SWITCHING_NOZZLE) || ENABLED(PARKING_EXTRUDER) + #if HAS_HOTEND_OFFSET_Z SERIAL_CHAR(','); SERIAL_ECHO(hotend_offset[Z_AXIS][e]); #endif diff --git a/Marlin/src/gcode/config/M221.cpp b/Marlin/src/gcode/config/M221.cpp index 7d6c64343689..e5d4204f5e35 100644 --- a/Marlin/src/gcode/config/M221.cpp +++ b/Marlin/src/gcode/config/M221.cpp @@ -32,4 +32,12 @@ void GcodeSuite::M221() { planner.flow_percentage[target_extruder] = parser.value_int(); planner.refresh_e_factor(target_extruder); } + else { + SERIAL_ECHO_START(); + SERIAL_CHAR('E'); + SERIAL_CHAR('0' + target_extruder); + SERIAL_ECHOPAIR(" Flow: ", planner.flow_percentage[target_extruder]); + SERIAL_CHAR('%'); + SERIAL_EOL(); + } } diff --git a/Marlin/src/gcode/config/M301.cpp b/Marlin/src/gcode/config/M301.cpp index 9d876224fcb1..f61896ac7306 100644 --- a/Marlin/src/gcode/config/M301.cpp +++ b/Marlin/src/gcode/config/M301.cpp @@ -37,7 +37,7 @@ * With PID_EXTRUSION_SCALING: * * C[float] Kc term - * L[float] LPQ length + * L[int] LPQ length */ void GcodeSuite::M301() { @@ -51,8 +51,9 @@ void GcodeSuite::M301() { if (parser.seen('D')) PID_PARAM(Kd, e) = scalePID_d(parser.value_float()); #if ENABLED(PID_EXTRUSION_SCALING) if (parser.seen('C')) PID_PARAM(Kc, e) = parser.value_float(); - if (parser.seen('L')) lpq_len = parser.value_float(); - NOMORE(lpq_len, LPQ_MAX_LEN); + if (parser.seenval('L')) thermalManager.lpq_len = parser.value_int(); + NOMORE(thermalManager.lpq_len, LPQ_MAX_LEN); + NOLESS(thermalManager.lpq_len, 0); #endif thermalManager.updatePID(); diff --git a/Marlin/src/gcode/config/M43.cpp b/Marlin/src/gcode/config/M43.cpp index c00046802268..e9d36efd6783 100644 --- a/Marlin/src/gcode/config/M43.cpp +++ b/Marlin/src/gcode/config/M43.cpp @@ -35,7 +35,7 @@ #endif inline void toggle_pins() { - const bool I_flag = parser.boolval('I'); + const bool ignore_protection = parser.boolval('I'); const int repeat = parser.intval('R', 1), start = PARSED_PIN_INDEX('S', 0), end = PARSED_PIN_INDEX('E', NUM_DIGITAL_PINS - 1), @@ -43,14 +43,14 @@ inline void toggle_pins() { for (uint8_t i = start; i <= end; i++) { pin_t pin = GET_PIN_MAP_PIN(i); - //report_pin_state_extended(pin, I_flag, false); + //report_pin_state_extended(pin, ignore_protection, false); if (!VALID_PIN(pin)) continue; - if (!I_flag && pin_is_protected(pin)) { - report_pin_state_extended(pin, I_flag, true, "Untouched "); + if (!ignore_protection && pin_is_protected(pin)) { + report_pin_state_extended(pin, ignore_protection, true, "Untouched "); SERIAL_EOL(); } else { - report_pin_state_extended(pin, I_flag, true, "Pulsing "); + report_pin_state_extended(pin, ignore_protection, true, "Pulsing "); #if AVR_AT90USB1286_FAMILY // Teensy IDEs don't know about these pins so must use FASTIO if (pin == TEENSY_E2) { SET_OUTPUT(TEENSY_E2); @@ -275,7 +275,7 @@ void GcodeSuite::M43() { for (uint8_t i = first_pin; i <= last_pin; i++) { pin_t pin = GET_PIN_MAP_PIN(i); if (!VALID_PIN(pin)) continue; - if (pin_is_protected(pin) && !ignore_protection) continue; + if (!ignore_protection && pin_is_protected(pin)) continue; pinMode(pin, INPUT_PULLUP); delay(1); /* @@ -295,7 +295,7 @@ void GcodeSuite::M43() { for (uint8_t i = first_pin; i <= last_pin; i++) { pin_t pin = GET_PIN_MAP_PIN(i); if (!VALID_PIN(pin)) continue; - if (pin_is_protected(pin) && !ignore_protection) continue; + if (!ignore_protection && pin_is_protected(pin)) continue; const byte val = /* IS_ANALOG(pin) diff --git a/Marlin/src/gcode/config/M540.cpp b/Marlin/src/gcode/config/M540.cpp index 498aa9e76f8b..d55425803092 100644 --- a/Marlin/src/gcode/config/M540.cpp +++ b/Marlin/src/gcode/config/M540.cpp @@ -33,7 +33,7 @@ void GcodeSuite::M540() { if (parser.seen('S')) - stepper.abort_on_endstop_hit = parser.value_bool(); + planner.abort_on_endstop_hit = parser.value_bool(); } diff --git a/Marlin/src/gcode/config/M92.cpp b/Marlin/src/gcode/config/M92.cpp index 25c79fe0b82e..310b754aa39c 100644 --- a/Marlin/src/gcode/config/M92.cpp +++ b/Marlin/src/gcode/config/M92.cpp @@ -37,9 +37,11 @@ void GcodeSuite::M92() { if (parser.seen(axis_codes[i])) { if (i == E_AXIS) { const float value = parser.value_per_axis_unit((AxisEnum)(E_AXIS + TARGET_EXTRUDER)); - if (value < 20.0) { + if (value < 20) { float factor = planner.axis_steps_per_mm[E_AXIS + TARGET_EXTRUDER] / value; // increase e constants if M92 E14 is given for netfab. - planner.max_jerk[E_AXIS] *= factor; + #if DISABLED(JUNCTION_DEVIATION) + planner.max_jerk[E_AXIS] *= factor; + #endif planner.max_feedrate_mm_s[E_AXIS + TARGET_EXTRUDER] *= factor; planner.max_acceleration_steps_per_s2[E_AXIS + TARGET_EXTRUDER] *= factor; } diff --git a/Marlin/src/gcode/control/M111.cpp b/Marlin/src/gcode/control/M111.cpp index 1850ed2db8a9..96587a1fc13f 100644 --- a/Marlin/src/gcode/control/M111.cpp +++ b/Marlin/src/gcode/control/M111.cpp @@ -28,7 +28,7 @@ void GcodeSuite::M111() { if (parser.seen('S')) marlin_debug_flags = parser.byteval('S'); - const static char str_debug_1[] PROGMEM = MSG_DEBUG_ECHO, + static const char str_debug_1[] PROGMEM = MSG_DEBUG_ECHO, str_debug_2[] PROGMEM = MSG_DEBUG_INFO, str_debug_4[] PROGMEM = MSG_DEBUG_ERRORS, str_debug_8[] PROGMEM = MSG_DEBUG_DRYRUN, @@ -38,7 +38,7 @@ void GcodeSuite::M111() { #endif ; - const static char* const debug_strings[] PROGMEM = { + static const char* const debug_strings[] PROGMEM = { str_debug_1, str_debug_2, str_debug_4, str_debug_8, str_debug_16 #if ENABLED(DEBUG_LEVELING_FEATURE) , str_debug_32 @@ -58,6 +58,23 @@ void GcodeSuite::M111() { } else { SERIAL_ECHOPGM(MSG_DEBUG_OFF); + #if !defined(__AVR__) || !defined(USBCON) + #if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS) + SERIAL_ECHOPAIR("\nBuffer Overruns: ", customizedSerial.buffer_overruns()); + #endif + + #if ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS) + SERIAL_ECHOPAIR("\nFraming Errors: ", customizedSerial.framing_errors()); + #endif + + #if ENABLED(SERIAL_STATS_DROPPED_RX) + SERIAL_ECHOPAIR("\nDropped bytes: ", customizedSerial.dropped()); + #endif + + #if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) + SERIAL_ECHOPAIR("\nMax RX Queue Size: ", customizedSerial.rxMaxEnqueued()); + #endif + #endif // !defined(__AVR__) || !defined(USBCON) } SERIAL_EOL(); } diff --git a/Marlin/src/gcode/control/M17_M18_M84.cpp b/Marlin/src/gcode/control/M17_M18_M84.cpp index 34da0b10497f..c428a878777d 100644 --- a/Marlin/src/gcode/control/M17_M18_M84.cpp +++ b/Marlin/src/gcode/control/M17_M18_M84.cpp @@ -47,10 +47,10 @@ void GcodeSuite::M18_M84() { else { bool all_axis = !(parser.seen('X') || parser.seen('Y') || parser.seen('Z') || parser.seen('E')); if (all_axis) { - stepper.finish_and_disable(); + planner.finish_and_disable(); } else { - stepper.synchronize(); + planner.synchronize(); if (parser.seen('X')) disable_X(); if (parser.seen('Y')) disable_Y(); if (parser.seen('Z')) disable_Z(); diff --git a/Marlin/src/gcode/control/M226.cpp b/Marlin/src/gcode/control/M226.cpp index 889bac118c1c..59071aadf332 100644 --- a/Marlin/src/gcode/control/M226.cpp +++ b/Marlin/src/gcode/control/M226.cpp @@ -33,27 +33,20 @@ void GcodeSuite::M226() { pin_state = parser.intval('S', -1); // required pin state - default is inverted const pin_t pin = GET_PIN_MAP_PIN(pin_number); - if (WITHIN(pin_state, -1, 1) && pin > -1 && !pin_is_protected(pin)) { - - int target = LOW; - - stepper.synchronize(); - - pinMode(pin, INPUT); - switch (pin_state) { - case 1: - target = HIGH; - break; - case 0: - target = LOW; - break; - case -1: - target = !digitalRead(pin); - break; + if (WITHIN(pin_state, -1, 1) && pin > -1) { + if (pin_is_protected(pin)) + protected_pin_err(); + else { + int target = LOW; + planner.synchronize(); + pinMode(pin, INPUT); + switch (pin_state) { + case 1: target = HIGH; break; + case 0: target = LOW; break; + case -1: target = !digitalRead(pin); break; + } + while (digitalRead(pin) != target) idle(); } - - while (digitalRead(pin) != target) idle(); - } // pin_state -1 0 1 && pin > -1 } // parser.seen('P') } diff --git a/Marlin/src/gcode/control/M3-M5.cpp b/Marlin/src/gcode/control/M3-M5.cpp index 1fea7e56f1b3..213d17450a07 100644 --- a/Marlin/src/gcode/control/M3-M5.cpp +++ b/Marlin/src/gcode/control/M3-M5.cpp @@ -79,7 +79,7 @@ inline void ocr_val_mode() { void GcodeSuite::M3_M4(bool is_M3) { - stepper.synchronize(); // wait until previous movement commands (G0/G0/G2/G3) have completed before playing with the spindle + planner.synchronize(); // wait until previous movement commands (G0/G0/G2/G3) have completed before playing with the spindle #if SPINDLE_DIR_CHANGE const bool rotation_dir = (is_M3 != SPINDLE_INVERT_DIR); if (SPINDLE_STOP_ON_DIR_CHANGE \ @@ -107,12 +107,12 @@ void GcodeSuite::M3_M4(bool is_M3) { delay_for_power_down(); } else { - int16_t ocr_val = (spindle_laser_power - (SPEED_POWER_INTERCEPT)) * (1.0 / (SPEED_POWER_SLOPE)); // convert RPM to PWM duty cycle + int16_t ocr_val = (spindle_laser_power - (SPEED_POWER_INTERCEPT)) * (1.0f / (SPEED_POWER_SLOPE)); // convert RPM to PWM duty cycle NOMORE(ocr_val, 255); // limit to max the Atmel PWM will support if (spindle_laser_power <= SPEED_POWER_MIN) - ocr_val = (SPEED_POWER_MIN - (SPEED_POWER_INTERCEPT)) * (1.0 / (SPEED_POWER_SLOPE)); // minimum setting + ocr_val = (SPEED_POWER_MIN - (SPEED_POWER_INTERCEPT)) * (1.0f / (SPEED_POWER_SLOPE)); // minimum setting if (spindle_laser_power >= SPEED_POWER_MAX) - ocr_val = (SPEED_POWER_MAX - (SPEED_POWER_INTERCEPT)) * (1.0 / (SPEED_POWER_SLOPE)); // limit to max RPM + ocr_val = (SPEED_POWER_MAX - (SPEED_POWER_INTERCEPT)) * (1.0f / (SPEED_POWER_SLOPE)); // limit to max RPM if (SPINDLE_LASER_PWM_INVERT) ocr_val = 255 - ocr_val; WRITE(SPINDLE_LASER_ENABLE_PIN, SPINDLE_LASER_ENABLE_INVERT); // turn spindle on (active low) analogWrite(SPINDLE_LASER_PWM_PIN, ocr_val & 0xFF); // only write low byte @@ -129,7 +129,7 @@ void GcodeSuite::M3_M4(bool is_M3) { * M5 turn off spindle */ void GcodeSuite::M5() { - stepper.synchronize(); + planner.synchronize(); WRITE(SPINDLE_LASER_ENABLE_PIN, !SPINDLE_LASER_ENABLE_INVERT); #if ENABLED(SPINDLE_LASER_PWM) analogWrite(SPINDLE_LASER_PWM_PIN, SPINDLE_LASER_PWM_INVERT ? 255 : 0); diff --git a/Marlin/src/gcode/control/M400.cpp b/Marlin/src/gcode/control/M400.cpp index 0cd1049591e7..f55f626d098e 100644 --- a/Marlin/src/gcode/control/M400.cpp +++ b/Marlin/src/gcode/control/M400.cpp @@ -28,6 +28,6 @@ */ void GcodeSuite::M400() { - stepper.synchronize(); + planner.synchronize(); } diff --git a/Marlin/src/gcode/control/M42.cpp b/Marlin/src/gcode/control/M42.cpp index 5b0a53682016..f197b6e37f26 100644 --- a/Marlin/src/gcode/control/M42.cpp +++ b/Marlin/src/gcode/control/M42.cpp @@ -41,11 +41,8 @@ void GcodeSuite::M42() { if (pin_index < 0) return; const pin_t pin = GET_PIN_MAP_PIN(pin_index); - if (pin_is_protected(pin)) { - SERIAL_ERROR_START(); - SERIAL_ERRORLNPGM(MSG_ERR_PROTECTED_PIN); - return; - } + + if (pin_is_protected(pin)) return protected_pin_err(); pinMode(pin, OUTPUT); digitalWrite(pin, pin_status); diff --git a/Marlin/src/gcode/control/M605.cpp b/Marlin/src/gcode/control/M605.cpp index 4cfa571990be..13ab424603ef 100644 --- a/Marlin/src/gcode/control/M605.cpp +++ b/Marlin/src/gcode/control/M605.cpp @@ -43,14 +43,14 @@ * Note: the X axis should be homed after changing dual x-carriage mode. */ void GcodeSuite::M605() { - stepper.synchronize(); + planner.synchronize(); if (parser.seen('S')) dual_x_carriage_mode = (DualXMode)parser.value_byte(); switch (dual_x_carriage_mode) { case DXC_FULL_CONTROL_MODE: case DXC_AUTO_PARK_MODE: break; case DXC_DUPLICATION_MODE: - if (parser.seen('X')) duplicate_extruder_x_offset = max(parser.value_linear_units(), X2_MIN_POS - x_home_pos(0)); + if (parser.seen('X')) duplicate_extruder_x_offset = MAX(parser.value_linear_units(), X2_MIN_POS - x_home_pos(0)); if (parser.seen('R')) duplicate_extruder_temp_offset = parser.value_celsius_diff(); SERIAL_ECHO_START(); SERIAL_ECHOPGM(MSG_HOTEND_OFFSET); @@ -75,7 +75,7 @@ #elif ENABLED(DUAL_NOZZLE_DUPLICATION_MODE) void GcodeSuite::M605() { - stepper.synchronize(); + planner.synchronize(); extruder_duplication_enabled = parser.intval('S') == (int)DXC_DUPLICATION_MODE; SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR(MSG_DUPLICATION_MODE, extruder_duplication_enabled ? MSG_ON : MSG_OFF); diff --git a/Marlin/src/gcode/control/M80_M81.cpp b/Marlin/src/gcode/control/M80_M81.cpp index 59ae933221c7..4047049f548e 100644 --- a/Marlin/src/gcode/control/M80_M81.cpp +++ b/Marlin/src/gcode/control/M80_M81.cpp @@ -41,13 +41,13 @@ #endif // Could be moved to a feature, but this is all the data - bool powersupply_on = + bool powersupply_on = ( #if ENABLED(PS_DEFAULT_OFF) false #else true #endif - ; + ); #if HAS_TRINAMIC #include "../../feature/tmc_util.h" @@ -82,7 +82,7 @@ #endif #if ENABLED(ULTIPANEL) - LCD_MESSAGEPGM(WELCOME_MSG); + lcd_reset_status(); #endif } @@ -95,7 +95,7 @@ */ void GcodeSuite::M81() { thermalManager.disable_all_heaters(); - stepper.finish_and_disable(); + planner.finish_and_disable(); #if FAN_COUNT > 0 for (uint8_t i = 0; i < FAN_COUNT; i++) fanSpeeds[i] = 0; @@ -108,7 +108,6 @@ void GcodeSuite::M81() { safe_delay(1000); // Wait 1 second before switching off #if HAS_SUICIDE - stepper.synchronize(); suicide(); #elif HAS_POWER_SWITCH PSU_OFF(); diff --git a/Marlin/src/gcode/feature/advance/M900.cpp b/Marlin/src/gcode/feature/advance/M900.cpp index dd286e0475c8..3627869a0685 100644 --- a/Marlin/src/gcode/feature/advance/M900.cpp +++ b/Marlin/src/gcode/feature/advance/M900.cpp @@ -37,7 +37,7 @@ void GcodeSuite::M900() { if (parser.seenval('K')) { const float newK = parser.floatval('K'); if (WITHIN(newK, 0, 10)) { - stepper.synchronize(); + planner.synchronize(); planner.extruder_advance_K = newK; } else diff --git a/Marlin/src/gcode/feature/leds/M7219.cpp b/Marlin/src/gcode/feature/leds/M7219.cpp new file mode 100644 index 000000000000..62edcecea6c1 --- /dev/null +++ b/Marlin/src/gcode/feature/leds/M7219.cpp @@ -0,0 +1,81 @@ +/** + * 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 . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if ENABLED(MAX7219_GCODE) + +#include "../../gcode.h" +#include "../../../feature/Max7219_Debug_LEDs.h" + +/** + * M7219: Control the Max7219 LED matrix + * + * I - Initialize (clear) the matrix + * F - Fill the matrix (set all bits) + * P - Dump the LEDs[] array values + * C - Set a column to the 8-bit value V + * R - Set a row to the 8-bit value V + * X - X position of an LED to set or toggle + * Y - Y position of an LED to set or toggle + * V - The potentially 32-bit value or on/off state to set + * (for example: a chain of 4 Max7219 devices can have 32 bit + * rows or columns depending upon rotation) + */ +void GcodeSuite::M7219() { + if (parser.seen('I')) + Max7219_Clear(); + + if (parser.seen('F')) + for (uint8_t x = 0; x < MAX7219_X_LEDS; x++) + Max7219_Set_Column(x, 0xFFFFFFFF); + + if (parser.seenval('R')) { + const uint32_t r = parser.value_int(); + Max7219_Set_Row(r, parser.ulongval('V')); + return; + } + else if (parser.seenval('C')) { + const uint32_t c = parser.value_int(); + Max7219_Set_Column(c, parser.ulongval('V')); + return; + } + + if (parser.seenval('X') || parser.seenval('Y')) { + const uint8_t x = parser.byteval('X'), y = parser.byteval('Y'); + if (parser.seenval('V')) + Max7219_LED_Set(x, y, parser.boolval('V')); + else + Max7219_LED_Toggle(x, y); + } + + if (parser.seen('P')) { + for (uint8_t x = 0; x < COUNT(LEDs); x++) { + SERIAL_ECHOPAIR("LEDs[", x); + SERIAL_ECHOPAIR("]=", LEDs[x]); + SERIAL_EOL(); + } + return; + } +} + +#endif // MAX7219_GCODE diff --git a/Marlin/src/gcode/feature/pause/M125.cpp b/Marlin/src/gcode/feature/pause/M125.cpp index f25b0907da71..fbba475f2a53 100644 --- a/Marlin/src/gcode/feature/pause/M125.cpp +++ b/Marlin/src/gcode/feature/pause/M125.cpp @@ -50,7 +50,7 @@ */ void GcodeSuite::M125() { // Initial retract before move to filament change position - const float retract = -FABS(parser.seen('L') ? parser.value_axis_units(E_AXIS) : 0 + const float retract = -ABS(parser.seen('L') ? parser.value_axis_units(E_AXIS) : 0 #ifdef PAUSE_PARK_RETRACT_LENGTH + (PAUSE_PARK_RETRACT_LENGTH) #endif diff --git a/Marlin/src/gcode/feature/pause/M600.cpp b/Marlin/src/gcode/feature/pause/M600.cpp index 2a34f5baa4d1..be03c736c9c9 100644 --- a/Marlin/src/gcode/feature/pause/M600.cpp +++ b/Marlin/src/gcode/feature/pause/M600.cpp @@ -74,31 +74,34 @@ void GcodeSuite::M600() { #endif // Initial retract before move to filament change position - const float retract = -FABS(parser.seen('E') ? parser.value_axis_units(E_AXIS) : 0 + const float retract = -ABS(parser.seen('E') ? parser.value_axis_units(E_AXIS) : 0 #ifdef PAUSE_PARK_RETRACT_LENGTH + (PAUSE_PARK_RETRACT_LENGTH) #endif ); + // Lift Z axis + if (parser.seenval('Z')) park_point.z = parser.linearval('Z'); + // Move XY axes to filament change position or given position if (parser.seenval('X')) park_point.x = parser.linearval('X'); if (parser.seenval('Y')) park_point.y = parser.linearval('Y'); - // Lift Z axis - if (parser.seenval('Z')) park_point.z = parser.linearval('Z'); - #if HOTENDS > 1 && DISABLED(DUAL_X_CARRIAGE) && DISABLED(DELTA) park_point.x += (active_extruder ? hotend_offset[X_AXIS][active_extruder] : 0); park_point.y += (active_extruder ? hotend_offset[Y_AXIS][active_extruder] : 0); #endif // Unload filament - const float unload_length = -FABS(parser.seen('U') ? parser.value_axis_units(E_AXIS) + const float unload_length = -ABS(parser.seen('U') ? parser.value_axis_units(E_AXIS) : filament_change_unload_length[active_extruder]); - // Load filament - const float load_length = FABS(parser.seen('L') ? parser.value_axis_units(E_AXIS) - : filament_change_load_length[active_extruder]); + // Slow load filament + constexpr float slow_load_length = FILAMENT_CHANGE_SLOW_LOAD_LENGTH; + + // Fast load filament + const float fast_load_length = ABS(parser.seen('L') ? parser.value_axis_units(E_AXIS) + : filament_change_load_length[active_extruder]); const int beep_count = parser.intval('B', #ifdef FILAMENT_CHANGE_ALERT_BEEPS @@ -112,7 +115,7 @@ void GcodeSuite::M600() { if (pause_print(retract, park_point, unload_length, true)) { wait_for_filament_reload(beep_count); - resume_print(load_length, ADVANCED_PAUSE_EXTRUDE_LENGTH, beep_count); + resume_print(slow_load_length, fast_load_length, ADVANCED_PAUSE_PURGE_LENGTH, beep_count); } #if EXTRUDERS > 1 diff --git a/Marlin/src/gcode/feature/pause/M603.cpp b/Marlin/src/gcode/feature/pause/M603.cpp index 3ac44cc7b967..a6231c3169a9 100644 --- a/Marlin/src/gcode/feature/pause/M603.cpp +++ b/Marlin/src/gcode/feature/pause/M603.cpp @@ -47,7 +47,7 @@ void GcodeSuite::M603() { // Unload length if (parser.seen('U')) { - filament_change_unload_length[target_extruder] = FABS(parser.value_axis_units(E_AXIS)); + filament_change_unload_length[target_extruder] = ABS(parser.value_axis_units(E_AXIS)); #if ENABLED(PREVENT_LENGTHY_EXTRUDE) NOMORE(filament_change_unload_length[target_extruder], EXTRUDE_MAXLENGTH); #endif @@ -55,7 +55,7 @@ void GcodeSuite::M603() { // Load length if (parser.seen('L')) { - filament_change_load_length[target_extruder] = FABS(parser.value_axis_units(E_AXIS)); + filament_change_load_length[target_extruder] = ABS(parser.value_axis_units(E_AXIS)); #if ENABLED(PREVENT_LENGTHY_EXTRUDE) NOMORE(filament_change_load_length[target_extruder], EXTRUDE_MAXLENGTH); #endif diff --git a/Marlin/src/gcode/feature/pause/M701_M702.cpp b/Marlin/src/gcode/feature/pause/M701_M702.cpp index 301890cc455f..d9b4175cea36 100644 --- a/Marlin/src/gcode/feature/pause/M701_M702.cpp +++ b/Marlin/src/gcode/feature/pause/M701_M702.cpp @@ -41,9 +41,9 @@ /** * M701: Load filament * - * T[extruder] - Optional extruder number. Current extruder if omitted. - * Z[distance] - Move the Z axis by this distance - * L[distance] - Extrude distance for insertion (positive value) (manual reload) + * T - Optional extruder number. Current extruder if omitted. + * Z - Move the Z axis by this distance + * L - Extrude distance for insertion (positive value) (manual reload) * * Default values are used for omitted arguments. */ @@ -60,10 +60,6 @@ void GcodeSuite::M701() { // Z axis lift if (parser.seenval('Z')) park_point.z = parser.linearval('Z'); - // Load filament - const float load_length = FABS(parser.seen('L') ? parser.value_axis_units(E_AXIS) : - filament_change_load_length[target_extruder]); - // Show initial "wait for load" message #if ENABLED(ULTIPANEL) lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_LOAD, ADVANCED_PAUSE_MODE_LOAD_FILAMENT, target_extruder); @@ -78,14 +74,18 @@ void GcodeSuite::M701() { // Lift Z axis if (park_point.z > 0) - do_blocking_move_to_z(min(current_position[Z_AXIS] + park_point.z, Z_MAX_POS), NOZZLE_PARK_Z_FEEDRATE); + do_blocking_move_to_z(MIN(current_position[Z_AXIS] + park_point.z, Z_MAX_POS), NOZZLE_PARK_Z_FEEDRATE); - load_filament(load_length, ADVANCED_PAUSE_EXTRUDE_LENGTH, FILAMENT_CHANGE_ALERT_BEEPS, true, - thermalManager.wait_for_heating(target_extruder), ADVANCED_PAUSE_MODE_LOAD_FILAMENT); + // Load filament + constexpr float slow_load_length = FILAMENT_CHANGE_SLOW_LOAD_LENGTH; + const float fast_load_length = ABS(parser.seen('L') ? parser.value_axis_units(E_AXIS) + : filament_change_load_length[active_extruder]); + load_filament(slow_load_length, fast_load_length, ADVANCED_PAUSE_PURGE_LENGTH, FILAMENT_CHANGE_ALERT_BEEPS, + true, thermalManager.wait_for_heating(target_extruder), ADVANCED_PAUSE_MODE_LOAD_FILAMENT); // Restore Z axis if (park_point.z > 0) - do_blocking_move_to_z(max(current_position[Z_AXIS] - park_point.z, Z_MIN_POS), NOZZLE_PARK_Z_FEEDRATE); + do_blocking_move_to_z(MAX(current_position[Z_AXIS] - park_point.z, 0), NOZZLE_PARK_Z_FEEDRATE); #if EXTRUDERS > 1 // Restore toolhead if it was changed @@ -102,10 +102,10 @@ void GcodeSuite::M701() { /** * M702: Unload filament * - * T[extruder] - Optional extruder number. If omitted, current extruder + * T - Optional extruder number. If omitted, current extruder * (or ALL extruders with FILAMENT_UNLOAD_ALL_EXTRUDERS). - * Z[distance] - Move the Z axis by this distance - * U[distance] - Retract distance for removal (manual reload) + * Z - Move the Z axis by this distance + * U - Retract distance for removal (manual reload) * * Default values are used for omitted arguments. */ @@ -136,7 +136,7 @@ void GcodeSuite::M702() { // Lift Z axis if (park_point.z > 0) - do_blocking_move_to_z(min(current_position[Z_AXIS] + park_point.z, Z_MAX_POS), NOZZLE_PARK_Z_FEEDRATE); + do_blocking_move_to_z(MIN(current_position[Z_AXIS] + park_point.z, Z_MAX_POS), NOZZLE_PARK_Z_FEEDRATE); // Unload filament #if EXTRUDERS > 1 && ENABLED(FILAMENT_UNLOAD_ALL_EXTRUDERS) @@ -150,7 +150,7 @@ void GcodeSuite::M702() { #endif { // Unload length - const float unload_length = -FABS(parser.seen('U') ? parser.value_axis_units(E_AXIS) : + const float unload_length = -ABS(parser.seen('U') ? parser.value_axis_units(E_AXIS) : filament_change_unload_length[target_extruder]); unload_filament(unload_length, true, ADVANCED_PAUSE_MODE_UNLOAD_FILAMENT); @@ -158,7 +158,7 @@ void GcodeSuite::M702() { // Restore Z axis if (park_point.z > 0) - do_blocking_move_to_z(max(current_position[Z_AXIS] - park_point.z, Z_MIN_POS), NOZZLE_PARK_Z_FEEDRATE); + do_blocking_move_to_z(MAX(current_position[Z_AXIS] - park_point.z, 0), NOZZLE_PARK_Z_FEEDRATE); #if EXTRUDERS > 1 // Restore toolhead if it was changed diff --git a/Marlin/src/gcode/feature/trinamic/M906.cpp b/Marlin/src/gcode/feature/trinamic/M906.cpp index 8ba6453339b9..22d9a3f90a03 100644 --- a/Marlin/src/gcode/feature/trinamic/M906.cpp +++ b/Marlin/src/gcode/feature/trinamic/M906.cpp @@ -34,7 +34,7 @@ */ void GcodeSuite::M906() { #define TMC_SAY_CURRENT(Q) tmc_get_current(stepper##Q, TMC_##Q) - #define TMC_SET_CURRENT(Q) tmc_set_current(stepper##Q, TMC_##Q, value) + #define TMC_SET_CURRENT(Q) tmc_set_current(stepper##Q, value) bool report = true; const uint8_t index = parser.byteval('I'); @@ -42,45 +42,45 @@ void GcodeSuite::M906() { report = false; switch (i) { case X_AXIS: - #if X_IS_TRINAMIC + #if AXIS_IS_TMC(X) if (index == 0) TMC_SET_CURRENT(X); #endif - #if X2_IS_TRINAMIC + #if AXIS_IS_TMC(X2) if (index == 1) TMC_SET_CURRENT(X2); #endif break; case Y_AXIS: - #if Y_IS_TRINAMIC + #if AXIS_IS_TMC(Y) if (index == 0) TMC_SET_CURRENT(Y); #endif - #if Y2_IS_TRINAMIC + #if AXIS_IS_TMC(Y2) if (index == 1) TMC_SET_CURRENT(Y2); #endif break; case Z_AXIS: - #if Z_IS_TRINAMIC + #if AXIS_IS_TMC(Z) if (index == 0) TMC_SET_CURRENT(Z); #endif - #if Z2_IS_TRINAMIC + #if AXIS_IS_TMC(Z2) if (index == 1) TMC_SET_CURRENT(Z2); #endif break; case E_AXIS: { if (get_target_extruder_from_command()) return; switch (target_extruder) { - #if E0_IS_TRINAMIC + #if AXIS_IS_TMC(E0) case 0: TMC_SET_CURRENT(E0); break; #endif - #if E1_IS_TRINAMIC + #if AXIS_IS_TMC(E1) case 1: TMC_SET_CURRENT(E1); break; #endif - #if E2_IS_TRINAMIC + #if AXIS_IS_TMC(E2) case 2: TMC_SET_CURRENT(E2); break; #endif - #if E3_IS_TRINAMIC + #if AXIS_IS_TMC(E3) case 3: TMC_SET_CURRENT(E3); break; #endif - #if E4_IS_TRINAMIC + #if AXIS_IS_TMC(E4) case 4: TMC_SET_CURRENT(E4); break; #endif } @@ -88,48 +88,40 @@ void GcodeSuite::M906() { } } - if (report) LOOP_XYZE(i) switch (i) { - case X_AXIS: - #if X_IS_TRINAMIC - TMC_SAY_CURRENT(X); - #endif - #if X2_IS_TRINAMIC - TMC_SAY_CURRENT(X2); - #endif - break; - case Y_AXIS: - #if Y_IS_TRINAMIC - TMC_SAY_CURRENT(Y); - #endif - #if Y2_IS_TRINAMIC - TMC_SAY_CURRENT(Y2); - #endif - break; - case Z_AXIS: - #if Z_IS_TRINAMIC - TMC_SAY_CURRENT(Z); - #endif - #if Z2_IS_TRINAMIC - TMC_SAY_CURRENT(Z2); - #endif - break; - case E_AXIS: - #if E0_IS_TRINAMIC - TMC_SAY_CURRENT(E0); - #endif - #if E1_IS_TRINAMIC - TMC_SAY_CURRENT(E1); - #endif - #if E2_IS_TRINAMIC - TMC_SAY_CURRENT(E2); - #endif - #if E3_IS_TRINAMIC - TMC_SAY_CURRENT(E3); - #endif - #if E4_IS_TRINAMIC - TMC_SAY_CURRENT(E4); - #endif - break; + if (report) { + #if AXIS_IS_TMC(X) + TMC_SAY_CURRENT(X); + #endif + #if AXIS_IS_TMC(X2) + TMC_SAY_CURRENT(X2); + #endif + #if AXIS_IS_TMC(Y) + TMC_SAY_CURRENT(Y); + #endif + #if AXIS_IS_TMC(Y2) + TMC_SAY_CURRENT(Y2); + #endif + #if AXIS_IS_TMC(Z) + TMC_SAY_CURRENT(Z); + #endif + #if AXIS_IS_TMC(Z2) + TMC_SAY_CURRENT(Z2); + #endif + #if AXIS_IS_TMC(E0) + TMC_SAY_CURRENT(E0); + #endif + #if AXIS_IS_TMC(E1) + TMC_SAY_CURRENT(E1); + #endif + #if AXIS_IS_TMC(E2) + TMC_SAY_CURRENT(E2); + #endif + #if AXIS_IS_TMC(E3) + TMC_SAY_CURRENT(E3); + #endif + #if AXIS_IS_TMC(E4) + TMC_SAY_CURRENT(E4); + #endif } } diff --git a/Marlin/src/gcode/feature/trinamic/M911-M915.cpp b/Marlin/src/gcode/feature/trinamic/M911-M915.cpp index c86b59fa6cd1..6ba9ee5e99a4 100644 --- a/Marlin/src/gcode/feature/trinamic/M911-M915.cpp +++ b/Marlin/src/gcode/feature/trinamic/M911-M915.cpp @@ -30,49 +30,116 @@ #include "../../../module/planner.h" #include "../../queue.h" +#define M91x_USE(ST) (AXIS_DRIVER_TYPE(ST, TMC2130) || (AXIS_DRIVER_TYPE(ST, TMC2208) && PIN_EXISTS(ST##_SERIAL_RX))) +#define M91x_USE_E(N) (E_STEPPERS > N && M91x_USE(E##N)) + /** * M911: Report TMC stepper driver overtemperature pre-warn flag - * The flag is held by the library and persist until manually cleared by M912 + * This flag is held by the library, persisting until cleared by M912 */ void GcodeSuite::M911() { - #if ENABLED(X_IS_TMC2130) || (ENABLED(X_IS_TMC2208) && PIN_EXISTS(X_SERIAL_RX)) || ENABLED(IS_TRAMS) + #if M91x_USE(X) tmc_report_otpw(stepperX, TMC_X); #endif - #if ENABLED(Y_IS_TMC2130) || (ENABLED(Y_IS_TMC2208) && PIN_EXISTS(Y_SERIAL_RX)) || ENABLED(IS_TRAMS) + #if M91x_USE(X2) + tmc_report_otpw(stepperX2, TMC_X2); + #endif + #if M91x_USE(Y) tmc_report_otpw(stepperY, TMC_Y); #endif - #if ENABLED(Z_IS_TMC2130) || (ENABLED(Z_IS_TMC2208) && PIN_EXISTS(Z_SERIAL_RX)) || ENABLED(IS_TRAMS) + #if M91x_USE(Y2) + tmc_report_otpw(stepperY2, TMC_Y2); + #endif + #if M91x_USE(Z) tmc_report_otpw(stepperZ, TMC_Z); #endif - #if ENABLED(E0_IS_TMC2130) || (ENABLED(E0_IS_TMC2208) && PIN_EXISTS(E0_SERIAL_RX)) || ENABLED(IS_TRAMS) + #if M91x_USE(Z2) + tmc_report_otpw(stepperZ2, TMC_Z2); + #endif + #if M91x_USE_E(0) tmc_report_otpw(stepperE0, TMC_E0); #endif + #if M91x_USE_E(1) + tmc_report_otpw(stepperE1, TMC_E1); + #endif + #if M91x_USE_E(2) + tmc_report_otpw(stepperE2, TMC_E2); + #endif + #if M91x_USE_E(3) + tmc_report_otpw(stepperE3, TMC_E3); + #endif + #if M91x_USE_E(4) + tmc_report_otpw(stepperE4, TMC_E4); + #endif } /** * M912: Clear TMC stepper driver overtemperature pre-warn flag held by the library + * Specify one or more axes with X, Y, Z, X1, Y1, Z1, X2, Y2, Z2, and E[index]. + * If no axes are given, clear all. + * + * Examples: + * M912 X ; clear X and X2 + * M912 X1 ; clear X1 only + * M912 X2 ; clear X2 only + * M912 X E ; clear X, X2, and all E + * M912 E1 ; clear E1 only */ void GcodeSuite::M912() { - const bool clearX = parser.seen(axis_codes[X_AXIS]), clearY = parser.seen(axis_codes[Y_AXIS]), clearZ = parser.seen(axis_codes[Z_AXIS]), clearE = parser.seen(axis_codes[E_AXIS]), - clearAll = (!clearX && !clearY && !clearZ && !clearE) || (clearX && clearY && clearZ && clearE); - #if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS) || (ENABLED(X_IS_TMC2208) && PIN_EXISTS(X_SERIAL_RX)) - if (clearX || clearAll) tmc_clear_otpw(stepperX, TMC_X); - #endif - #if ENABLED(X2_IS_TMC2130) || (ENABLED(X2_IS_TMC2208) && PIN_EXISTS(X_SERIAL_RX)) - if (clearX || clearAll) tmc_clear_otpw(stepperX, TMC_X); - #endif + const bool hasX = parser.seen(axis_codes[X_AXIS]), + hasY = parser.seen(axis_codes[Y_AXIS]), + hasZ = parser.seen(axis_codes[Z_AXIS]), + hasE = parser.seen(axis_codes[E_AXIS]), + hasNone = !hasX && !hasY && !hasZ && !hasE; - #if ENABLED(Y_IS_TMC2130) || (ENABLED(Y_IS_TMC2208) && PIN_EXISTS(Y_SERIAL_RX)) - if (clearY || clearAll) tmc_clear_otpw(stepperY, TMC_Y); - #endif + #if M91x_USE(X) || M91x_USE(X2) + const uint8_t xval = parser.byteval(axis_codes[X_AXIS], 10); + #if M91x_USE(X) + if (hasNone || xval == 1 || (hasX && xval == 10)) tmc_clear_otpw(stepperX, TMC_X); + #endif + #if M91x_USE(X2) + if (hasNone || xval == 2 || (hasX && xval == 10)) tmc_clear_otpw(stepperX2, TMC_X2); + #endif + #endif - #if ENABLED(Z_IS_TMC2130) || (ENABLED(Z_IS_TMC2208) && PIN_EXISTS(Z_SERIAL_RX)) - if (clearZ || clearAll) tmc_clear_otpw(stepperZ, TMC_Z); - #endif + #if M91x_USE(Y) || M91x_USE(Y2) + const uint8_t yval = parser.byteval(axis_codes[Y_AXIS], 10); + #if M91x_USE(Y) + if (hasNone || yval == 1 || (hasY && yval == 10)) tmc_clear_otpw(stepperY, TMC_Y); + #endif + #if M91x_USE(Y2) + if (hasNone || yval == 2 || (hasY && yval == 10)) tmc_clear_otpw(stepperY2, TMC_Y2); + #endif + #endif - #if ENABLED(E0_IS_TMC2130) || (ENABLED(E0_IS_TMC2208) && PIN_EXISTS(E0_SERIAL_RX)) - if (clearE || clearAll) tmc_clear_otpw(stepperE0, TMC_E0); - #endif + #if M91x_USE(Z) || M91x_USE(Z2) + const uint8_t zval = parser.byteval(axis_codes[Z_AXIS], 10); + #if M91x_USE(Z) + if (hasNone || zval == 1 || (hasZ && zval == 10)) tmc_clear_otpw(stepperZ, TMC_Z); + #endif + #if M91x_USE(Z2) + if (hasNone || zval == 2 || (hasZ && zval == 10)) tmc_clear_otpw(stepperZ2, TMC_Z2); + #endif + #endif + + #if M91x_USE_E(0) || M91x_USE_E(1) || M91x_USE_E(2) || M91x_USE_E(3) || M91x_USE_E(4) + const uint8_t eval = parser.byteval(axis_codes[E_AXIS], 10); + #if M91x_USE_E(0) + if (hasNone || eval == 0 || (hasE && eval == 10)) tmc_clear_otpw(stepperE0, TMC_E0); + #endif + #if M91x_USE_E(1) + if (hasNone || eval == 1 || (hasE && eval == 10)) tmc_clear_otpw(stepperE1, TMC_E1); + #endif + #if M91x_USE_E(2) + if (hasNone || eval == 2 || (hasE && eval == 10)) tmc_clear_otpw(stepperE2, TMC_E2); + #endif + #if M91x_USE_E(3) + if (hasNone || eval == 3 || (hasE && eval == 10)) tmc_clear_otpw(stepperE3, TMC_E3); + #endif + #if M91x_USE_E(4) + if (hasNone || eval == 4 || (hasE && eval == 10)) tmc_clear_otpw(stepperE4, TMC_E4); + #endif + #endif } /** @@ -80,10 +147,10 @@ void GcodeSuite::M912() { */ #if ENABLED(HYBRID_THRESHOLD) void GcodeSuite::M913() { - #define TMC_SAY_PWMTHRS(P,Q) tmc_get_pwmthrs(stepper##Q, TMC_##Q, planner.axis_steps_per_mm[P##_AXIS]) - #define TMC_SET_PWMTHRS(P,Q) tmc_set_pwmthrs(stepper##Q, TMC_##Q, value, planner.axis_steps_per_mm[P##_AXIS]) + #define TMC_SAY_PWMTHRS(A,Q) tmc_get_pwmthrs(stepper##Q, TMC_##Q, planner.axis_steps_per_mm[_AXIS(A)]) + #define TMC_SET_PWMTHRS(A,Q) tmc_set_pwmthrs(stepper##Q, value, planner.axis_steps_per_mm[_AXIS(A)]) #define TMC_SAY_PWMTHRS_E(E) do{ const uint8_t extruder = E; tmc_get_pwmthrs(stepperE##E, TMC_E##E, planner.axis_steps_per_mm[E_AXIS_N]); }while(0) - #define TMC_SET_PWMTHRS_E(E) do{ const uint8_t extruder = E; tmc_set_pwmthrs(stepperE##E, TMC_E##E, value, planner.axis_steps_per_mm[E_AXIS_N]); }while(0) + #define TMC_SET_PWMTHRS_E(E) do{ const uint8_t extruder = E; tmc_set_pwmthrs(stepperE##E, value, planner.axis_steps_per_mm[E_AXIS_N]); }while(0) bool report = true; const uint8_t index = parser.byteval('I'); @@ -91,45 +158,45 @@ void GcodeSuite::M912() { report = false; switch (i) { case X_AXIS: - #if X_IS_TRINAMIC - if (index == 0) TMC_SET_PWMTHRS(X,X); + #if AXIS_HAS_STEALTHCHOP(X) + if (index < 2) TMC_SET_PWMTHRS(X,X); #endif - #if X2_IS_TRINAMIC - if (index == 1) TMC_SET_PWMTHRS(X,X2); + #if AXIS_HAS_STEALTHCHOP(X2) + if (!(index & 1)) TMC_SET_PWMTHRS(X,X2); #endif break; case Y_AXIS: - #if Y_IS_TRINAMIC - if (index == 0) TMC_SET_PWMTHRS(Y,Y); + #if AXIS_HAS_STEALTHCHOP(Y) + if (index < 2) TMC_SET_PWMTHRS(Y,Y); #endif - #if Y2_IS_TRINAMIC - if (index == 1) TMC_SET_PWMTHRS(Y,Y2); + #if AXIS_HAS_STEALTHCHOP(Y2) + if (!(index & 1)) TMC_SET_PWMTHRS(Y,Y2); #endif break; case Z_AXIS: - #if Z_IS_TRINAMIC - if (index == 0) TMC_SET_PWMTHRS(Z,Z); + #if AXIS_HAS_STEALTHCHOP(Z) + if (index < 2) TMC_SET_PWMTHRS(Z,Z); #endif - #if Z2_IS_TRINAMIC - if (index == 1) TMC_SET_PWMTHRS(Z,Z2); + #if AXIS_HAS_STEALTHCHOP(Z2) + if (!(index & 1)) TMC_SET_PWMTHRS(Z,Z2); #endif break; case E_AXIS: { if (get_target_extruder_from_command()) return; switch (target_extruder) { - #if E0_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(E0) case 0: TMC_SET_PWMTHRS_E(0); break; #endif - #if E_STEPPERS > 1 && E1_IS_TRINAMIC + #if E_STEPPERS > 1 && AXIS_HAS_STEALTHCHOP(E1) case 1: TMC_SET_PWMTHRS_E(1); break; #endif - #if E_STEPPERS > 2 && E2_IS_TRINAMIC + #if E_STEPPERS > 2 && AXIS_HAS_STEALTHCHOP(E2) case 2: TMC_SET_PWMTHRS_E(2); break; #endif - #if E_STEPPERS > 3 && E3_IS_TRINAMIC + #if E_STEPPERS > 3 && AXIS_HAS_STEALTHCHOP(E3) case 3: TMC_SET_PWMTHRS_E(3); break; #endif - #if E_STEPPERS > 4 && E4_IS_TRINAMIC + #if E_STEPPERS > 4 && AXIS_HAS_STEALTHCHOP(E4) case 4: TMC_SET_PWMTHRS_E(4); break; #endif } @@ -137,48 +204,40 @@ void GcodeSuite::M912() { } } - if (report) LOOP_XYZE(i) switch (i) { - case X_AXIS: - #if X_IS_TRINAMIC - TMC_SAY_PWMTHRS(X,X); - #endif - #if X2_IS_TRINAMIC - TMC_SAY_PWMTHRS(X,X2); - #endif - break; - case Y_AXIS: - #if Y_IS_TRINAMIC - TMC_SAY_PWMTHRS(Y,Y); - #endif - #if Y2_IS_TRINAMIC - TMC_SAY_PWMTHRS(Y,Y2); - #endif - break; - case Z_AXIS: - #if Z_IS_TRINAMIC - TMC_SAY_PWMTHRS(Z,Z); - #endif - #if Z2_IS_TRINAMIC - TMC_SAY_PWMTHRS(Z,Z2); - #endif - break; - case E_AXIS: - #if E0_IS_TRINAMIC - TMC_SAY_PWMTHRS_E(0); - #endif - #if E_STEPPERS > 1 && E1_IS_TRINAMIC - TMC_SAY_PWMTHRS_E(1); - #endif - #if E_STEPPERS > 2 && E2_IS_TRINAMIC - TMC_SAY_PWMTHRS_E(2); - #endif - #if E_STEPPERS > 3 && E3_IS_TRINAMIC - TMC_SAY_PWMTHRS_E(3); - #endif - #if E_STEPPERS > 4 && E4_IS_TRINAMIC - TMC_SAY_PWMTHRS_E(4); - #endif - break; + if (report) { + #if AXIS_HAS_STEALTHCHOP(X) + TMC_SAY_PWMTHRS(X,X); + #endif + #if AXIS_HAS_STEALTHCHOP(X2) + TMC_SAY_PWMTHRS(X,X2); + #endif + #if AXIS_HAS_STEALTHCHOP(Y) + TMC_SAY_PWMTHRS(Y,Y); + #endif + #if AXIS_HAS_STEALTHCHOP(Y2) + TMC_SAY_PWMTHRS(Y,Y2); + #endif + #if AXIS_HAS_STEALTHCHOP(Z) + TMC_SAY_PWMTHRS(Z,Z); + #endif + #if AXIS_HAS_STEALTHCHOP(Z2) + TMC_SAY_PWMTHRS(Z,Z2); + #endif + #if AXIS_HAS_STEALTHCHOP(E0) + TMC_SAY_PWMTHRS_E(0); + #endif + #if E_STEPPERS > 1 && AXIS_HAS_STEALTHCHOP(E1) + TMC_SAY_PWMTHRS_E(1); + #endif + #if E_STEPPERS > 2 && AXIS_HAS_STEALTHCHOP(E2) + TMC_SAY_PWMTHRS_E(2); + #endif + #if E_STEPPERS > 3 && AXIS_HAS_STEALTHCHOP(E3) + TMC_SAY_PWMTHRS_E(3); + #endif + #if E_STEPPERS > 4 && AXIS_HAS_STEALTHCHOP(E4) + TMC_SAY_PWMTHRS_E(4); + #endif } } #endif // HYBRID_THRESHOLD @@ -189,66 +248,72 @@ void GcodeSuite::M912() { #if ENABLED(SENSORLESS_HOMING) void GcodeSuite::M914() { #define TMC_SAY_SGT(Q) tmc_get_sgt(stepper##Q, TMC_##Q) - #define TMC_SET_SGT(Q) tmc_set_sgt(stepper##Q, TMC_##Q, value) + #define TMC_SET_SGT(Q) tmc_set_sgt(stepper##Q, value) bool report = true; const uint8_t index = parser.byteval('I'); LOOP_XYZ(i) if (parser.seen(axis_codes[i])) { - const int8_t value = (int8_t)constrain(parser.value_int(), -63, 64); + const int8_t value = (int8_t)constrain(parser.value_int(), -64, 63); report = false; switch (i) { - case X_AXIS: - #if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS) - if (index == 0) TMC_SET_SGT(X); - #endif - #if ENABLED(X2_IS_TMC2130) - if (index == 1) TMC_SET_SGT(X2); - #endif - break; - case Y_AXIS: - #if ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS) - if (index == 0) TMC_SET_SGT(Y); - #endif - #if ENABLED(Y2_IS_TMC2130) - if (index == 1) TMC_SET_SGT(Y2); - #endif - break; - case Z_AXIS: - #if ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS) - if (index == 0) TMC_SET_SGT(Z); - #endif - #if ENABLED(Z2_IS_TMC2130) - if (index == 1) TMC_SET_SGT(Z2); - #endif - break; + #if X_SENSORLESS + case X_AXIS: + #if AXIS_HAS_STALLGUARD(X) + if (index < 2) TMC_SET_SGT(X); + #endif + #if AXIS_HAS_STALLGUARD(X2) + if (!(index & 1)) TMC_SET_SGT(X2); + #endif + break; + #endif + #if Y_SENSORLESS + case Y_AXIS: + #if AXIS_HAS_STALLGUARD(Y) + if (index < 2) TMC_SET_SGT(Y); + #endif + #if AXIS_HAS_STALLGUARD(Y2) + if (!(index & 1)) TMC_SET_SGT(Y2); + #endif + break; + #endif + #if Z_SENSORLESS + case Z_AXIS: + #if AXIS_HAS_STALLGUARD(Z) + if (index < 2) TMC_SET_SGT(Z); + #endif + #if AXIS_HAS_STALLGUARD(Z2) + if (!(index & 1)) TMC_SET_SGT(Z2); + #endif + break; + #endif } } - if (report) LOOP_XYZ(i) switch (i) { - case X_AXIS: - #if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS) + if (report) { + #if X_SENSORLESS + #if AXIS_HAS_STALLGUARD(X) TMC_SAY_SGT(X); #endif - #if ENABLED(X2_IS_TMC2130) + #if AXIS_HAS_STALLGUARD(X2) TMC_SAY_SGT(X2); #endif - break; - case Y_AXIS: - #if ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS) + #endif + #if Y_SENSORLESS + #if AXIS_HAS_STALLGUARD(Y) TMC_SAY_SGT(Y); #endif - #if ENABLED(Y2_IS_TMC2130) + #if AXIS_HAS_STALLGUARD(Y2) TMC_SAY_SGT(Y2); #endif - break; - case Z_AXIS: - #if ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS) + #endif + #if Z_SENSORLESS + #if AXIS_HAS_STALLGUARD(Z) TMC_SAY_SGT(Z); #endif - #if ENABLED(Z2_IS_TMC2130) + #if AXIS_HAS_STALLGUARD(Z2) TMC_SAY_SGT(Z2); #endif - break; + #endif } } #endif // SENSORLESS_HOMING @@ -261,16 +326,16 @@ void GcodeSuite::M912() { const uint16_t _rms = parser.seenval('S') ? parser.value_int() : CALIBRATION_CURRENT, _z = parser.seenval('Z') ? parser.value_linear_units() : CALIBRATION_EXTRA_HEIGHT; - if (!axis_known_position[Z_AXIS]) { + if (!TEST(axis_known_position, Z_AXIS)) { SERIAL_ECHOLNPGM("\nPlease home Z axis first"); return; } - #if Z_IS_TRINAMIC + #if AXIS_IS_TMC(Z) const uint16_t Z_current_1 = stepperZ.getCurrent(); stepperZ.setCurrent(_rms, R_SENSE, HOLD_MULTIPLIER); #endif - #if Z2_IS_TRINAMIC + #if AXIS_IS_TMC(Z2) const uint16_t Z2_current_1 = stepperZ2.getCurrent(); stepperZ2.setCurrent(_rms, R_SENSE, HOLD_MULTIPLIER); #endif @@ -281,10 +346,10 @@ void GcodeSuite::M912() { do_blocking_move_to_z(Z_MAX_POS+_z); - #if Z_IS_TRINAMIC + #if AXIS_IS_TMC(Z) stepperZ.setCurrent(Z_current_1, R_SENSE, HOLD_MULTIPLIER); #endif - #if Z2_IS_TRINAMIC + #if AXIS_IS_TMC(Z2) stepperZ2.setCurrent(Z2_current_1, R_SENSE, HOLD_MULTIPLIER); #endif diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index a218baf86440..4708e4cfe968 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -103,7 +103,7 @@ void GcodeSuite::get_destination_from_command() { destination[i] = current_position[i]; } - if (parser.linearval('F') > 0.0) + if (parser.linearval('F') > 0) feedrate_mm_s = MMM_TO_MMS(parser.value_feedrate()); #if ENABLED(PRINTCOUNTER) @@ -125,6 +125,47 @@ void GcodeSuite::dwell(millis_t time) { while (PENDING(millis(), time)) idle(); } +/** + * When G29_RETRY_AND_RECOVER is enabled, call G29() in + * a loop with recovery and retry handling. + */ +#if HAS_LEVELING && ENABLED(G29_RETRY_AND_RECOVER) + + #ifndef G29_MAX_RETRIES + #define G29_MAX_RETRIES 0 + #endif + + void GcodeSuite::G29_with_retry() { + uint8_t retries = G29_MAX_RETRIES; + while (G29()) { // G29 should return true for failed probes ONLY + if (retries--) { + #ifdef G29_ACTION_ON_RECOVER + SERIAL_ECHOLNPGM("//action:" G29_ACTION_ON_RECOVER); + #endif + #ifdef G29_RECOVER_COMMANDS + process_subcommands_now_P(PSTR(G29_RECOVER_COMMANDS)); + #endif + } + else { + #ifdef G29_FAILURE_COMMANDS + process_subcommands_now_P(PSTR(G29_FAILURE_COMMANDS)); + #endif + #ifdef G29_ACTION_ON_FAILURE + SERIAL_ECHOLNPGM("//action:" G29_ACTION_ON_FAILURE); + #endif + #if ENABLED(G29_HALT_ON_FAILURE) + kill(PSTR(MSG_ERR_PROBING_FAILED)); + #endif + return; + } + } + #ifdef G29_SUCCESS_COMMANDS + process_subcommands_now_P(PSTR(G29_SUCCESS_COMMANDS)); + #endif + } + +#endif // HAS_LEVELING && G29_RETRY_AND_RECOVER + // // Placeholders for non-migrated codes // @@ -135,527 +176,442 @@ void GcodeSuite::dwell(millis_t time) { /** * Process the parsed command and dispatch it to its handler */ -void GcodeSuite::process_parsed_command() { +void GcodeSuite::process_parsed_command( + #if ENABLED(USE_EXECUTE_COMMANDS_IMMEDIATE) + const bool no_ok + #endif +) { KEEPALIVE_STATE(IN_HANDLER); // Handle a known G, M, or T switch (parser.command_letter) { case 'G': switch (parser.codenum) { - // G0, G1 - case 0: - case 1: - #if IS_SCARA - G0_G1(parser.codenum == 0); - #else - G0_G1(); - #endif - break; + case 0: case 1: G0_G1( // G0: Fast Move, G1: Linear Move + #if IS_SCARA + parser.codenum == 0 + #endif + ); + break; - // G2, G3 #if ENABLED(ARC_SUPPORT) && DISABLED(SCARA) - case 2: // G2: CW ARC - case 3: // G3: CCW ARC - G2_G3(parser.codenum == 2); - break; + case 2: case 3: G2_G3(parser.codenum == 2); break; // G2: CW ARC, G3: CCW ARC #endif - // G4 Dwell - case 4: - G4(); - break; + case 4: G4(); break; // G4: Dwell #if ENABLED(BEZIER_CURVE_SUPPORT) - case 5: // G5: Cubic B_spline - G5(); - break; - #endif // BEZIER_CURVE_SUPPORT + case 5: G5(); break; // G5: Cubic B_spline + #endif #if ENABLED(FWRETRACT) - case 10: // G10: retract - G10(); - break; - case 11: // G11: retract_recover - G11(); - break; - #endif // FWRETRACT + case 10: G10(); break; // G10: Retract / Swap Retract + case 11: G11(); break; // G11: Recover / Swap Recover + #endif #if ENABLED(NOZZLE_CLEAN_FEATURE) - case 12: - G12(); // G12: Nozzle Clean - break; - #endif // NOZZLE_CLEAN_FEATURE + case 12: G12(); break; // G12: Nozzle Clean + #endif #if ENABLED(CNC_WORKSPACE_PLANES) - case 17: // G17: Select Plane XY - G17(); - break; - case 18: // G18: Select Plane ZX - G18(); - break; - case 19: // G19: Select Plane YZ - G19(); - break; - #endif // CNC_WORKSPACE_PLANES + case 17: G17(); break; // G17: Select Plane XY + case 18: G18(); break; // G18: Select Plane ZX + case 19: G19(); break; // G19: Select Plane YZ + #endif #if ENABLED(INCH_MODE_SUPPORT) - case 20: // G20: Inch Mode - G20(); - break; - - case 21: // G21: MM Mode - G21(); - break; - #endif // INCH_MODE_SUPPORT + case 20: G20(); break; // G20: Inch Mode + case 21: G21(); break; // G21: MM Mode + #endif #if ENABLED(G26_MESH_VALIDATION) - case 26: // G26: Mesh Validation Pattern generation - G26(); - break; - #endif // AUTO_BED_LEVELING_UBL + case 26: G26(); break; // G26: Mesh Validation Pattern generation + #endif #if ENABLED(NOZZLE_PARK_FEATURE) - case 27: // G27: Nozzle Park - G27(); - break; - #endif // NOZZLE_PARK_FEATURE + case 27: G27(); break; // G27: Nozzle Park + #endif - case 28: // G28: Home all axes, one at a time - G28(false); - break; + case 28: G28(false); break; // G28: Home all axes, one at a time #if HAS_LEVELING - case 29: // G29 Detailed Z probe, probes the bed at 3 or more points, - // or provides access to the UBL System if enabled. - G29(); + case 29: // G29: Bed leveling calibration + #if ENABLED(G29_RETRY_AND_RECOVER) + G29_with_retry(); + #else + G29(); + #endif break; #endif // HAS_LEVELING #if HAS_BED_PROBE - - case 30: // G30 Single Z probe - G30(); - break; - + case 30: G30(); break; // G30: Single Z probe #if ENABLED(Z_PROBE_SLED) - - case 31: // G31: dock the sled - G31(); - break; - - case 32: // G32: undock the sled - G32(); - break; - - #endif // Z_PROBE_SLED - - #endif // HAS_BED_PROBE + case 31: G31(); break; // G31: dock the sled + case 32: G32(); break; // G32: undock the sled + #endif + #endif #if ENABLED(DELTA_AUTO_CALIBRATION) - case 33: // G33: Delta Auto-Calibration - G33(); - break; - #endif // DELTA_AUTO_CALIBRATION + case 33: G33(); break; // G33: Delta Auto-Calibration + #endif #if ENABLED(G38_PROBE_TARGET) - case 38: // G38.2 & G38.3 + case 38: // G38.2 & G38.3 if (parser.subcode == 2 || parser.subcode == 3) G38(parser.subcode == 2); break; #endif - case 90: // G90 - relative_mode = false; - break; - case 91: // G91 - relative_mode = true; - break; + case 90: relative_mode = false; break; // G90: Relative Mode + case 91: relative_mode = true; break; // G91: Absolute Mode - case 92: // G92 - Set current axis position(s) - G92(); - break; + case 92: G92(); break; // G92: Set current axis position(s) #if HAS_MESH - case 42: G42(); break; // G42: Coordinated move to a mesh point + case 42: G42(); break; // G42: Coordinated move to a mesh point #endif #if ENABLED(DEBUG_GCODE_PARSER) - case 800: - parser.debug(); // GCode Parser Test for G - break; + case 800: parser.debug(); break; // G800: GCode Parser Test for G #endif + + default: parser.unknown_command_error(); break; } break; case 'M': switch (parser.codenum) { #if HAS_RESUME_CONTINUE - case 0: // M0: Unconditional stop - Wait for user button press on LCD - case 1: // M1: Conditional stop - Wait for user button press on LCD - M0_M1(); - break; - #endif // ULTIPANEL + case 0: // M0: Unconditional stop - Wait for user button press on LCD + case 1: M0_M1(); break; // M1: Conditional stop - Wait for user button press on LCD + #endif #if ENABLED(SPINDLE_LASER_ENABLE) - // These synchronize with movement commands... - case 3: M3_M4(true ); break; // M3: turn spindle/laser on, set laser/spindle power/speed, set rotation direction CW - case 4: M3_M4(false); break; // M4: turn spindle/laser on, set laser/spindle power/speed, set rotation direction CCW - case 5: M5(); break; // M5 - turn spindle/laser off + case 3: M3_M4(true ); break; // M3: turn spindle/laser on, set laser/spindle power/speed, set rotation direction CW + case 4: M3_M4(false); break; // M4: turn spindle/laser on, set laser/spindle power/speed, set rotation direction CCW + case 5: M5(); break; // M5 - turn spindle/laser off #endif - case 17: // M17: Enable all stepper motors - M17(); - break; + case 17: M17(); break; // M17: Enable all stepper motors #if ENABLED(SDSUPPORT) - case 20: M20(); break; // M20: list SD card - case 21: M21(); break; // M21: init SD card - case 22: M22(); break; // M22: release SD card - case 23: M23(); break; // M23: Select file - case 24: M24(); break; // M24: Start SD print - case 25: M25(); break; // M25: Pause SD print - case 26: M26(); break; // M26: Set SD index - case 27: M27(); break; // M27: Get SD status - case 28: M28(); break; // M28: Start SD write - case 29: M29(); break; // M29: Stop SD write - case 30: M30(); break; // M30 Delete File - case 32: M32(); break; // M32: Select file and start SD print + case 20: M20(); break; // M20: list SD card + case 21: M21(); break; // M21: init SD card + case 22: M22(); break; // M22: release SD card + case 23: M23(); break; // M23: Select file + case 24: M24(); break; // M24: Start SD print + case 25: M25(); break; // M25: Pause SD print + case 26: M26(); break; // M26: Set SD index + case 27: M27(); break; // M27: Get SD status + case 28: M28(); break; // M28: Start SD write + case 29: M29(); break; // M29: Stop SD write + case 30: M30(); break; // M30 Delete File + case 32: M32(); break; // M32: Select file and start SD print #if ENABLED(LONG_FILENAME_HOST_SUPPORT) - case 33: M33(); break; // M33: Get the long full path to a file or folder + case 33: M33(); break; // M33: Get the long full path to a file or folder #endif #if ENABLED(SDCARD_SORT_ALPHA) && ENABLED(SDSORT_GCODE) - case 34: M34(); break; // M34: Set SD card sorting options + case 34: M34(); break; // M34: Set SD card sorting options #endif - case 928: M928(); break; // M928: Start SD write + case 928: M928(); break; // M928: Start SD write #endif // SDSUPPORT - case 31: M31(); break; // M31: Report time since the start of SD print or last M109 - - case 42: M42(); break; // M42: Change pin state + case 31: M31(); break; // M31: Report time since the start of SD print or last M109 + case 42: M42(); break; // M42: Change pin state #if ENABLED(PINS_DEBUGGING) - case 43: M43(); break; // M43: Read pin state + case 43: M43(); break; // M43: Read pin state #endif #if ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST) - case 48: M48(); break; // M48: Z probe repeatability test + case 48: M48(); break; // M48: Z probe repeatability test #endif #if ENABLED(G26_MESH_VALIDATION) - case 49: M49(); break; // M49: Turn on or off G26 debug flag for verbose output + case 49: M49(); break; // M49: Turn on or off G26 debug flag for verbose output #endif #if ENABLED(ULTRA_LCD) && ENABLED(LCD_SET_PROGRESS_MANUALLY) - case 73: M73(); break; // M73: Set progress percentage (for display on LCD) + case 73: M73(); break; // M73: Set progress percentage (for display on LCD) #endif - case 75: M75(); break; // M75: Start print timer - case 76: M76(); break; // M76: Pause print timer - case 77: M77(); break; // M77: Stop print timer + case 75: M75(); break; // M75: Start print timer + case 76: M76(); break; // M76: Pause print timer + case 77: M77(); break; // M77: Stop print timer #if ENABLED(PRINTCOUNTER) - case 78: M78(); break; // M78: Show print statistics + case 78: M78(); break; // M78: Show print statistics #endif #if ENABLED(M100_FREE_MEMORY_WATCHER) - case 100: M100(); break; // M100: Free Memory Report + case 100: M100(); break; // M100: Free Memory Report #endif - case 104: M104(); break; // M104: Set hot end temperature - case 109: M109(); break; // M109: Wait for hotend temperature to reach target - - case 110: M110(); break; // M110: Set Current Line Number - - case 111: M111(); break; // M111: Set debug level + case 104: M104(); break; // M104: Set hot end temperature + case 109: M109(); break; // M109: Wait for hotend temperature to reach target + case 110: M110(); break; // M110: Set Current Line Number + case 111: M111(); break; // M111: Set debug level #if DISABLED(EMERGENCY_PARSER) - case 108: M108(); break; // M108: Cancel Waiting - case 112: M112(); break; // M112: Emergency Stop - case 410: M410(); break; // M410: Quickstop - Abort all the planned moves. + case 108: M108(); break; // M108: Cancel Waiting + case 112: M112(); break; // M112: Emergency Stop + case 410: M410(); break; // M410: Quickstop - Abort all the planned moves. #endif #if ENABLED(HOST_KEEPALIVE_FEATURE) - case 113: M113(); break; // M113: Set Host Keepalive interval + case 113: M113(); break; // M113: Set Host Keepalive interval #endif - #if HAS_HEATER_BED && HAS_TEMP_BED - case 140: M140(); break; // M140: Set bed temperature - case 190: M190(); break; // M190: Wait for bed temperature to reach target + #if HAS_HEATED_BED + case 140: M140(); break; // M140: Set bed temperature + case 190: M190(); break; // M190: Wait for bed temperature to reach target #endif - case 105: // M105: Report current temperature - M105(); - KEEPALIVE_STATE(NOT_BUSY); - return; // "ok" already printed + case 105: M105(); KEEPALIVE_STATE(NOT_BUSY); return; // M105: Report Temperatures (and say "ok") #if ENABLED(AUTO_REPORT_TEMPERATURES) && HAS_TEMP_SENSOR - case 155: M155(); break; // M155: Set temperature auto-report interval + case 155: M155(); break; // M155: Set temperature auto-report interval #endif #if FAN_COUNT > 0 - case 106: M106(); break; // M106: Fan On - case 107: M107(); break; // M107: Fan Off + case 106: M106(); break; // M106: Fan On + case 107: M107(); break; // M107: Fan Off #endif #if ENABLED(PARK_HEAD_ON_PAUSE) - case 125: M125(); break; // M125: Store current position and move to filament change position + case 125: M125(); break; // M125: Store current position and move to filament change position #endif #if ENABLED(BARICUDA) // PWM for HEATER_1_PIN #if HAS_HEATER_1 - case 126: M126(); break; // M126: valve open - case 127: M127(); break; // M127: valve closed + case 126: M126(); break; // M126: valve open + case 127: M127(); break; // M127: valve closed #endif // PWM for HEATER_2_PIN #if HAS_HEATER_2 - case 128: M128(); break; // M128: valve open - case 129: M129(); break; // M129: valve closed + case 128: M128(); break; // M128: valve open + case 129: M129(); break; // M129: valve closed #endif #endif // BARICUDA #if HAS_POWER_SWITCH - case 80: M80(); break; // M80: Turn on Power Supply - #endif - - case 81: M81(); break; // M81: Turn off Power, including Power Supply, if possible - - case 82: M82(); break; // M82: Set E axis normal mode (same as other axes) - case 83: M83(); break; // M83: Set E axis relative mode - - case 18: // M18 => M84 - case 84: M18_M84(); break; // M84: Disable all steppers or set timeout - case 85: M85(); break; // M85: Set inactivity stepper shutdown timeout - - case 92: M92(); break; // M92: Set the steps-per-unit for one or more axes - - case 114: M114(); break; // M114: Report current position - - case 115: M115(); break; // M115: Report capabilities - - case 117: M117(); break; // M117: Set LCD message text, if possible - case 118: M118(); break; // M118: Display a message in the host console - - case 119: M119(); break; // M119: Report endstop states - case 120: M120(); break; // M120: Enable endstops - case 121: M121(); break; // M121: Disable endstops + case 80: M80(); break; // M80: Turn on Power Supply + #endif + case 81: M81(); break; // M81: Turn off Power, including Power Supply, if possible + + case 82: M82(); break; // M82: Set E axis normal mode (same as other axes) + case 83: M83(); break; // M83: Set E axis relative mode + case 18: case 84: M18_M84(); break; // M18/M84: Disable Steppers / Set Timeout + case 85: M85(); break; // M85: Set inactivity stepper shutdown timeout + case 92: M92(); break; // M92: Set the steps-per-unit for one or more axes + case 114: M114(); break; // M114: Report current position + case 115: M115(); break; // M115: Report capabilities + case 117: M117(); break; // M117: Set LCD message text, if possible + case 118: M118(); break; // M118: Display a message in the host console + case 119: M119(); break; // M119: Report endstop states + case 120: M120(); break; // M120: Enable endstops + case 121: M121(); break; // M121: Disable endstops #if ENABLED(ULTIPANEL) - case 145: M145(); break; // M145: Set material heatup parameters + case 145: M145(); break; // M145: Set material heatup parameters #endif #if ENABLED(TEMPERATURE_UNITS_SUPPORT) - case 149: M149(); break; // M149: Set temperature units + case 149: M149(); break; // M149: Set temperature units #endif #if HAS_COLOR_LEDS - case 150: M150(); break; // M150: Set Status LED Color + case 150: M150(); break; // M150: Set Status LED Color #endif #if ENABLED(MIXING_EXTRUDER) - case 163: M163(); break; // M163: Set a component weight for mixing extruder + case 163: M163(); break; // M163: Set a component weight for mixing extruder #if MIXING_VIRTUAL_TOOLS > 1 - case 164: M164(); break; // M164: Save current mix as a virtual extruder + case 164: M164(); break; // M164: Save current mix as a virtual extruder #endif #if ENABLED(DIRECT_MIXING_IN_G1) - case 165: M165(); break; // M165: Set multiple mix weights + case 165: M165(); break; // M165: Set multiple mix weights #endif #endif #if DISABLED(NO_VOLUMETRICS) - case 200: M200(); break; // M200: Set filament diameter, E to cubic units + case 200: M200(); break; // M200: Set filament diameter, E to cubic units #endif - case 201: M201(); break; // M201: Set max acceleration for print moves (units/s^2) + case 201: M201(); break; // M201: Set max acceleration for print moves (units/s^2) #if 0 - case 202: M202(); break; // Not used for Sprinter/grbl gen6 + case 202: M202(); break; // M202: Not used for Sprinter/grbl gen6 #endif - case 203: M203(); break; // M203: Set max feedrate (units/sec) - case 204: M204(); break; // M204: Set acceleration - case 205: M205(); break; // M205: Set advanced settings + case 203: M203(); break; // M203: Set max feedrate (units/sec) + case 204: M204(); break; // M204: Set acceleration + case 205: M205(); break; // M205: Set advanced settings #if HAS_M206_COMMAND - case 206: M206(); break; // M206: Set home offsets + case 206: M206(); break; // M206: Set home offsets #endif #if ENABLED(DELTA) - case 665: M665(); break; // M665: Set delta configurations + case 665: M665(); break; // M665: Set delta configurations #endif #if ENABLED(DELTA) || ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS) - case 666: M666(); break; // M666: Set delta or dual endstop adjustment + case 666: M666(); break; // M666: Set delta or dual endstop adjustment #endif #if ENABLED(FWRETRACT) - case 207: M207(); break; // M207: Set Retract Length, Feedrate, and Z lift - case 208: M208(); break; // M208: Set Recover (unretract) Additional Length and Feedrate - case 209: if (MIN_AUTORETRACT <= MAX_AUTORETRACT) M209(); break; // M209: Turn Automatic Retract Detection on/off + case 207: M207(); break; // M207: Set Retract Length, Feedrate, and Z lift + case 208: M208(); break; // M208: Set Recover (unretract) Additional Length and Feedrate + case 209: + if (MIN_AUTORETRACT <= MAX_AUTORETRACT) M209(); // M209: Turn Automatic Retract Detection on/off + break; #endif - case 211: M211(); break; // M211: Enable, Disable, and/or Report software endstops + case 211: M211(); break; // M211: Enable, Disable, and/or Report software endstops #if HOTENDS > 1 - case 218: // M218: Set a tool offset - M218(); - break; + case 218: M218(); break; // M218: Set a tool offset #endif - case 220: M220(); break; // M220: Set Feedrate Percentage: S ("FR" on your LCD) - - case 221: // M221: Set Flow Percentage - M221(); - break; - - case 226: M226(); break; // M226: Wait until a pin reaches a state + case 220: M220(); break; // M220: Set Feedrate Percentage: S ("FR" on your LCD) + case 221: M221(); break; // M221: Set Flow Percentage + case 226: M226(); break; // M226: Wait until a pin reaches a state #if HAS_SERVOS - case 280: M280(); break; // M280: Set servo position absolute + case 280: M280(); break; // M280: Set servo position absolute #endif #if ENABLED(BABYSTEPPING) - case 290: M290(); break; // M290: Babystepping + case 290: M290(); break; // M290: Babystepping #endif #if HAS_BUZZER - case 300: M300(); break; // M300: Play beep tone + case 300: M300(); break; // M300: Play beep tone #endif #if ENABLED(PIDTEMP) - case 301: M301(); break; // M301: Set hotend PID parameters + case 301: M301(); break; // M301: Set hotend PID parameters #endif #if ENABLED(PIDTEMPBED) - case 304: M304(); break; // M304: Set bed PID parameters + case 304: M304(); break; // M304: Set bed PID parameters #endif #if defined(CHDK) || HAS_PHOTOGRAPH - case 240: M240(); break; // M240: Trigger a camera by emulating a Canon RC-1 : http://www.doc-diy.net/photo/rc-1_hacked/ + case 240: M240(); break; // M240: Trigger a camera by emulating a Canon RC-1 : http://www.doc-diy.net/photo/rc-1_hacked/ #endif #if HAS_LCD_CONTRAST - case 250: M250(); break; // M250: Set LCD contrast + case 250: M250(); break; // M250: Set LCD contrast #endif #if ENABLED(EXPERIMENTAL_I2CBUS) - case 260: M260(); break; // M260: Send data to an i2c slave - case 261: M261(); break; // M261: Request data from an i2c slave + case 260: M260(); break; // M260: Send data to an i2c slave + case 261: M261(); break; // M261: Request data from an i2c slave #endif #if ENABLED(PREVENT_COLD_EXTRUSION) - case 302: M302(); break; // M302: Allow cold extrudes (set the minimum extrude temperature) + case 302: M302(); break; // M302: Allow cold extrudes (set the minimum extrude temperature) #endif - case 303: // M303: PID autotune - M303(); - break; + case 303: M303(); break; // M303: PID autotune #if ENABLED(MORGAN_SCARA) - case 360: if (M360()) return; break; // M360: SCARA Theta pos1 - case 361: if (M361()) return; break; // M361: SCARA Theta pos2 - case 362: if (M362()) return; break; // M362: SCARA Psi pos1 - case 363: if (M363()) return; break; // M363: SCARA Psi pos2 - case 364: if (M364()) return; break; // M364: SCARA Psi pos3 (90 deg to Theta) + case 360: if (M360()) return; break; // M360: SCARA Theta pos1 + case 361: if (M361()) return; break; // M361: SCARA Theta pos2 + case 362: if (M362()) return; break; // M362: SCARA Psi pos1 + case 363: if (M363()) return; break; // M363: SCARA Psi pos2 + case 364: if (M364()) return; break; // M364: SCARA Psi pos3 (90 deg to Theta) #endif #if ENABLED(EXT_SOLENOID) - case 380: M380(); break; // M380: Activate solenoid on active extruder - case 381: M381(); break; // M381: Disable all solenoids + case 380: M380(); break; // M380: Activate solenoid on active extruder + case 381: M381(); break; // M381: Disable all solenoids #endif - case 400: M400(); break; // M400: Finish all moves + case 400: M400(); break; // M400: Finish all moves #if HAS_BED_PROBE - case 401: M401(); break; // M401: Deploy probe - case 402: M402(); break; // M402: Stow probe + case 401: M401(); break; // M401: Deploy probe + case 402: M402(); break; // M402: Stow probe #endif #if ENABLED(FILAMENT_WIDTH_SENSOR) - case 404: // M404: Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or display nominal filament width - M404(); - break; - case 405: // M405: Turn on filament sensor for control - M405(); - break; - case 406: // M406: Turn off filament sensor for control - M406(); - break; - case 407: // M407: Display measured filament diameter - M407(); - break; - #endif // FILAMENT_WIDTH_SENSOR + case 404: M404(); break; // M404: Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or display nominal filament width + case 405: M405(); break; // M405: Turn on filament sensor for control + case 406: M406(); break; // M406: Turn off filament sensor for control + case 407: M407(); break; // M407: Display measured filament diameter + #endif #if HAS_LEVELING - case 420: // M420: Enable/Disable Bed Leveling - M420(); - break; + case 420: M420(); break; // M420: Enable/Disable Bed Leveling #endif #if HAS_MESH - case 421: // M421: Set a Mesh Bed Leveling Z coordinate - M421(); - break; + case 421: M421(); break; // M421: Set a Mesh Bed Leveling Z coordinate #endif #if HAS_M206_COMMAND - case 428: M428(); break; // M428: Apply current_position to home_offset + case 428: M428(); break; // M428: Apply current_position to home_offset #endif - case 500: M500(); break; // M500: Store settings in EEPROM - case 501: M501(); break; // M501: Read settings from EEPROM - case 502: M502(); break; // M502: Revert to default settings + case 500: M500(); break; // M500: Store settings in EEPROM + case 501: M501(); break; // M501: Read settings from EEPROM + case 502: M502(); break; // M502: Revert to default settings #if DISABLED(DISABLE_M503) - case 503: M503(); break; // M503: print settings currently in memory + case 503: M503(); break; // M503: print settings currently in memory #endif #if ENABLED(EEPROM_SETTINGS) - case 504: M504(); break; // M504: Validate EEPROM contents + case 504: M504(); break; // M504: Validate EEPROM contents #endif #if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) - case 540: M540(); break; // M540: Set abort on endstop hit for SD printing + case 540: M540(); break; // M540: Set abort on endstop hit for SD printing #endif #if HAS_BED_PROBE - case 851: // M851: Set Z Probe Z Offset - M851(); - break; - #endif // HAS_BED_PROBE + case 851: M851(); break; // M851: Set Z Probe Z Offset + #endif #if ENABLED(SKEW_CORRECTION_GCODE) - case 852: // M852: Set Skew factors - M852(); - break; + case 852: M852(); break; // M852: Set Skew factors #endif #if ENABLED(ADVANCED_PAUSE_FEATURE) - case 600: M600(); break; // M600: Pause for Filament Change - case 603: M603(); break; // M603: Configure Filament Change - #endif // ADVANCED_PAUSE_FEATURE + case 600: M600(); break; // M600: Pause for Filament Change + case 603: M603(); break; // M603: Configure Filament Change + #endif #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE) - case 605: M605(); break; // M605: Set Dual X Carriage movement mode + case 605: M605(); break; // M605: Set Dual X Carriage movement mode #endif #if ENABLED(FILAMENT_LOAD_UNLOAD_GCODES) - case 701: M701(); break; // M701: Load Filament - case 702: M702(); break; // M702: Unload Filament + case 701: M701(); break; // M701: Load Filament + case 702: M702(); break; // M702: Unload Filament + #endif + + #if ENABLED(MAX7219_GCODE) + case 7219: M7219(); break; // M7219: Set LEDs, columns, and rows #endif #if ENABLED(LIN_ADVANCE) - case 900: M900(); break; // M900: Set advance K factor. + case 900: M900(); break; // M900: Set advance K factor. #endif #if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM || ENABLED(DIGIPOT_I2C) || ENABLED(DAC_STEPPER_CURRENT) - case 907: M907(); break; // M907: Set digital trimpot motor current using axis codes. + case 907: M907(); break; // M907: Set digital trimpot motor current using axis codes. #if HAS_DIGIPOTSS || ENABLED(DAC_STEPPER_CURRENT) - case 908: M908(); break; // M908: Control digital trimpot directly. - #if ENABLED(DAC_STEPPER_CURRENT) // As with Printrbot RevF - case 909: M909(); break; // M909: Print digipot/DAC current value - case 910: M910(); break; // M910: Commit digipot/DAC value to external EEPROM + case 908: M908(); break; // M908: Control digital trimpot directly. + #if ENABLED(DAC_STEPPER_CURRENT) + case 909: M909(); break; // M909: Print digipot/DAC current value + case 910: M910(); break; // M910: Commit digipot/DAC value to external EEPROM #endif #endif #endif @@ -664,58 +620,61 @@ void GcodeSuite::process_parsed_command() { #if ENABLED(TMC_DEBUG) case 122: M122(); break; #endif - case 906: M906(); break; // M906: Set motor current in milliamps using axis codes X, Y, Z, E - case 911: M911(); break; // M911: Report TMC2130 prewarn triggered flags - case 912: M912(); break; // M912: Clear TMC2130 prewarn triggered flags + case 906: M906(); break; // M906: Set motor current in milliamps using axis codes X, Y, Z, E + case 911: M911(); break; // M911: Report TMC2130 prewarn triggered flags + case 912: M912(); break; // M912: Clear TMC2130 prewarn triggered flags #if ENABLED(HYBRID_THRESHOLD) - case 913: M913(); break; // M913: Set HYBRID_THRESHOLD speed. + case 913: M913(); break; // M913: Set HYBRID_THRESHOLD speed. #endif #if ENABLED(SENSORLESS_HOMING) - case 914: M914(); break; // M914: Set SENSORLESS_HOMING sensitivity. + case 914: M914(); break; // M914: Set SENSORLESS_HOMING sensitivity. #endif #if ENABLED(TMC_Z_CALIBRATION) - case 915: M915(); break; // M915: TMC Z axis calibration. + case 915: M915(); break; // M915: TMC Z axis calibration. #endif #endif #if HAS_MICROSTEPS - case 350: M350(); break; // M350: Set microstepping mode. Warning: Steps per unit remains unchanged. S code sets stepping mode for all drivers. - case 351: M351(); break; // M351: Toggle MS1 MS2 pins directly, S# determines MS1 or MS2, X# sets the pin high/low. + case 350: M350(); break; // M350: Set microstepping mode. Warning: Steps per unit remains unchanged. S code sets stepping mode for all drivers. + case 351: M351(); break; // M351: Toggle MS1 MS2 pins directly, S# determines MS1 or MS2, X# sets the pin high/low. #endif - case 355: M355(); break; // M355: Set case light brightness + case 355: M355(); break; // M355: Set case light brightness #if ENABLED(DEBUG_GCODE_PARSER) - case 800: - parser.debug(); // GCode Parser Test for M - break; + case 800: parser.debug(); break; // M800: GCode Parser Test for M #endif #if ENABLED(I2C_POSITION_ENCODERS) - case 860: M860(); break; // M860: Report encoder module position - case 861: M861(); break; // M861: Report encoder module status - case 862: M862(); break; // M862: Perform axis test - case 863: M863(); break; // M863: Calibrate steps/mm - case 864: M864(); break; // M864: Change module address - case 865: M865(); break; // M865: Check module firmware version - case 866: M866(); break; // M866: Report axis error count - case 867: M867(); break; // M867: Toggle error correction - case 868: M868(); break; // M868: Set error correction threshold - case 869: M869(); break; // M869: Report axis error - #endif - - case 999: M999(); break; // M999: Restart after being Stopped + case 860: M860(); break; // M860: Report encoder module position + case 861: M861(); break; // M861: Report encoder module status + case 862: M862(); break; // M862: Perform axis test + case 863: M863(); break; // M863: Calibrate steps/mm + case 864: M864(); break; // M864: Change module address + case 865: M865(); break; // M865: Check module firmware version + case 866: M866(); break; // M866: Report axis error count + case 867: M867(); break; // M867: Toggle error correction + case 868: M868(); break; // M868: Set error correction threshold + case 869: M869(); break; // M869: Report axis error + #endif + + case 999: M999(); break; // M999: Restart after being Stopped + + default: parser.unknown_command_error(); break; } break; - case 'T': T(parser.codenum); break; // Tn: Tool Change + case 'T': T(parser.codenum); break; // Tn: Tool Change default: parser.unknown_command_error(); } KEEPALIVE_STATE(NOT_BUSY); - ok_to_send(); + #if ENABLED(USE_EXECUTE_COMMANDS_IMMEDIATE) + if (!no_ok) + #endif + ok_to_send(); } /** @@ -734,13 +693,41 @@ void GcodeSuite::process_next_command() { #endif } - reset_stepper_timeout(); // Keep steppers powered - // Parse the next command in the queue parser.parse(current_command); process_parsed_command(); } +#if ENABLED(USE_EXECUTE_COMMANDS_IMMEDIATE) + /** + * Run a series of commands, bypassing the command queue to allow + * G-code "macros" to be called from within other G-code handlers. + */ + void GcodeSuite::process_subcommands_now_P(const char *pgcode) { + // Save the parser state + char * const saved_cmd = parser.command_ptr; + + // Process individual commands in string + while (pgm_read_byte_near(pgcode)) { + // Break up string at '\n' delimiters + const char *delim = strchr_P(pgcode, '\n'); + size_t len = delim ? delim - pgcode : strlen_P(pgcode); + char cmd[len + 1]; + strncpy_P(cmd, pgcode, len); + cmd[len] = '\0'; + pgcode += len; + if (delim) pgcode++; + + // Parse the next command in the string + parser.parse(cmd); + process_parsed_command(true); + } + + // Restore the parser state + parser.parse(saved_cmd); + } +#endif + #if ENABLED(HOST_KEEPALIVE_FEATURE) /** diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index eebcc4f23536..2130b1636e19 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -132,7 +132,7 @@ * M119 - Report endstops status. * M120 - Enable endstops detection. * M121 - Disable endstops detection. - * M122 - Debug stepper (Requires HAVE_TMC2130 or HAVE_TMC2208) + * M122 - Debug stepper (Requires at least one _DRIVER_TYPE defined as TMC2130/TMC2208/TMC2660) * M125 - Save current position and move to filament change position. (Requires PARK_HEAD_ON_PAUSE) * M126 - Solenoid Air Valve Open. (Requires BARICUDA) * M127 - Solenoid Air Valve Closed. (Requires BARICUDA) @@ -192,7 +192,7 @@ * M407 - Display measured filament diameter in millimeters. (Requires FILAMENT_WIDTH_SENSOR) * M410 - Quickstop. Abort all planned moves. * M420 - Enable/Disable Leveling (with current values) S1=enable S0=disable (Requires MESH_BED_LEVELING or ABL) - * M421 - Set a single Z coordinate in the Mesh Leveling grid. X Y Z (Requires MESH_BED_LEVELING or AUTO_BED_LEVELING_UBL) + * M421 - Set a single Z coordinate in the Mesh Leveling grid. X Y Z (Requires MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, or AUTO_BED_LEVELING_UBL) * M428 - Set the home_offset based on the current_position. Nearest edge applies. (Disabled by NO_WORKSPACE_OFFSETS or DELTA) * M500 - Store parameters in EEPROM. (Requires EEPROM_SETTINGS) * M501 - Restore parameters from EEPROM. (Requires EEPROM_SETTINGS) @@ -202,7 +202,7 @@ * M600 - Pause for filament change: "M600 X Y Z E L". (Requires ADVANCED_PAUSE_FEATURE) * M603 - Configure filament change: "M603 T U L". (Requires ADVANCED_PAUSE_FEATURE) * M605 - Set Dual X-Carriage movement mode: "M605 S [X] [R]". (Requires DUAL_X_CARRIAGE) - * M665 - Set delta configurations: "M665 L R S A B C I J K" (Requires DELTA) + * M665 - Set delta configurations: "M665 H L R S B X Y Z (Requires DELTA) * M666 - Set/get offsets for delta (Requires DELTA) or dual endstops (Requires [XYZ]_DUAL_ENDSTOPS). * M701 - Load filament (requires FILAMENT_LOAD_UNLOAD_GCODES) * M702 - Unload filament (requires FILAMENT_LOAD_UNLOAD_GCODES) @@ -219,13 +219,13 @@ * M868 - Report or set position encoder module error correction threshold. * M869 - Report position encoder module error. * M900 - Get or Set Linear Advance K-factor. (Requires LIN_ADVANCE) - * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. (Requires HAVE_TMC2130 or HAVE_TMC2208) + * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. (Requires at least one _DRIVER_TYPE defined as TMC2130/TMC2208/TMC2660) * M907 - Set digital trimpot motor current using axis codes. (Requires a board with digital trimpots) * M908 - Control digital trimpot directly. (Requires DAC_STEPPER_CURRENT or DIGIPOTSS_PIN) * M909 - Print digipot/DAC current value. (Requires DAC_STEPPER_CURRENT) * M910 - Commit digipot/DAC value to external EEPROM via I2C. (Requires DAC_STEPPER_CURRENT) - * M911 - Report stepper driver overtemperature pre-warn condition. (Requires HAVE_TMC2130 or HAVE_TMC2208) - * M912 - Clear stepper driver overtemperature pre-warn condition flag. (Requires HAVE_TMC2130 or HAVE_TMC2208) + * M911 - Report stepper driver overtemperature pre-warn condition. (Requires at least one _DRIVER_TYPE defined as TMC2130/TMC2208/TMC2660) + * M912 - Clear stepper driver overtemperature pre-warn condition flag. (Requires at least one _DRIVER_TYPE defined as TMC2130/TMC2208/TMC2660) * M913 - Set HYBRID_THRESHOLD speed. (Requires HYBRID_THRESHOLD) * M914 - Set SENSORLESS_HOMING sensitivity. (Requires SENSORLESS_HOMING) * @@ -285,9 +285,17 @@ class GcodeSuite { static bool get_target_extruder_from_command(); static void get_destination_from_command(); - static void process_parsed_command(); + static void process_parsed_command( + #if ENABLED(USE_EXECUTE_COMMANDS_IMMEDIATE) + const bool no_ok = false + #endif + ); static void process_next_command(); + #if ENABLED(USE_EXECUTE_COMMANDS_IMMEDIATE) + static void process_subcommands_now_P(const char *pgcode); + #endif + FORCE_INLINE static void home_all_axes() { G28(true); } /** @@ -379,7 +387,13 @@ class GcodeSuite { static void G28(const bool always_home_all); #if HAS_LEVELING - static void G29(); + #if ENABLED(G29_RETRY_AND_RECOVER) + static void G29_with_retry(); + #define G29_TYPE bool + #else + #define G29_TYPE void + #endif + static G29_TYPE G29(); #endif #if HAS_BED_PROBE @@ -536,7 +550,7 @@ class GcodeSuite { #endif #endif - #if HAS_HEATER_BED && HAS_TEMP_BED + #if HAS_HEATED_BED static void M140(); static void M190(); #endif @@ -716,6 +730,10 @@ class GcodeSuite { static void M702(); #endif + #if ENABLED(MAX7219_GCODE) + static void M7219(); + #endif + #if HAS_BED_PROBE static void M851(); #endif diff --git a/Marlin/src/gcode/geometry/G53-G59.cpp b/Marlin/src/gcode/geometry/G53-G59.cpp index d2a89a4858a4..09708c03ea45 100644 --- a/Marlin/src/gcode/geometry/G53-G59.cpp +++ b/Marlin/src/gcode/geometry/G53-G59.cpp @@ -33,7 +33,7 @@ */ bool GcodeSuite::select_coordinate_system(const int8_t _new) { if (active_coordinate_system == _new) return false; - stepper.synchronize(); + planner.synchronize(); float old_offset[XYZ] = { 0 }, new_offset[XYZ] = { 0 }; if (WITHIN(active_coordinate_system, 0, MAX_COORDINATE_SYSTEMS - 1)) COPY(old_offset, coordinate_system[active_coordinate_system]); diff --git a/Marlin/src/gcode/geometry/G92.cpp b/Marlin/src/gcode/geometry/G92.cpp index 0b10aab5b8c3..933a6e1cdb83 100644 --- a/Marlin/src/gcode/geometry/G92.cpp +++ b/Marlin/src/gcode/geometry/G92.cpp @@ -33,8 +33,6 @@ */ void GcodeSuite::G92() { - stepper.synchronize(); - #if ENABLED(CNC_COORDINATE_SYSTEMS) switch (parser.subcode) { case 1: @@ -94,10 +92,8 @@ void GcodeSuite::G92() { COPY(coordinate_system[active_coordinate_system], position_shift); #endif - if (didXYZ) - SYNC_PLAN_POSITION_KINEMATIC(); - else if (didE) - sync_plan_position_e(); + if (didXYZ) SYNC_PLAN_POSITION_KINEMATIC(); + else if (didE) sync_plan_position_e(); report_current_position(); } diff --git a/Marlin/src/gcode/host/M114.cpp b/Marlin/src/gcode/host/M114.cpp index 5ca83eedaaab..e273c4e10185 100644 --- a/Marlin/src/gcode/host/M114.cpp +++ b/Marlin/src/gcode/host/M114.cpp @@ -43,8 +43,6 @@ void report_current_position_detail() { - stepper.synchronize(); - SERIAL_PROTOCOLPGM("\nLogical:"); const float logical[XYZ] = { LOGICAL_X_POSITION(current_position[X_AXIS]), @@ -79,6 +77,8 @@ report_xyz(delta); #endif + planner.synchronize(); + SERIAL_PROTOCOLPGM("Stepper:"); LOOP_XYZE(i) { SERIAL_CHAR(' '); @@ -90,8 +90,8 @@ #if IS_SCARA const float deg[XYZ] = { - stepper.get_axis_position_degrees(A_AXIS), - stepper.get_axis_position_degrees(B_AXIS) + planner.get_axis_position_degrees(A_AXIS), + planner.get_axis_position_degrees(B_AXIS) }; SERIAL_PROTOCOLPGM("Degrees:"); report_xyze(deg, 2); @@ -99,7 +99,7 @@ SERIAL_PROTOCOLPGM("FromStp:"); get_cartesian_from_steppers(); // writes cartes[XYZ] (with forward kinematics) - const float from_steppers[XYZE] = { cartes[X_AXIS], cartes[Y_AXIS], cartes[Z_AXIS], stepper.get_axis_position_mm(E_AXIS) }; + const float from_steppers[XYZE] = { cartes[X_AXIS], cartes[Y_AXIS], cartes[Z_AXIS], planner.get_axis_position_mm(E_AXIS) }; report_xyze(from_steppers); const float diff[XYZE] = { @@ -126,6 +126,6 @@ void GcodeSuite::M114() { } #endif - stepper.synchronize(); + planner.synchronize(); report_current_position(); } diff --git a/Marlin/src/gcode/host/M115.cpp b/Marlin/src/gcode/host/M115.cpp index 007f21343b2c..c828e519e0d2 100644 --- a/Marlin/src/gcode/host/M115.cpp +++ b/Marlin/src/gcode/host/M115.cpp @@ -146,5 +146,12 @@ void GcodeSuite::M115() { #endif ); + // THERMAL_PROTECTION + cap_line(PSTR("THERMAL_PROTECTION") + #if ENABLED(THERMAL_PROTECTION_HOTENDS) && ENABLED(THERMAL_PROTECTION_BED) + , true + #endif + ); + #endif // EXTENDED_CAPABILITIES_REPORT } diff --git a/Marlin/src/gcode/host/M118.cpp b/Marlin/src/gcode/host/M118.cpp index aadf2d06c5ef..1bd132a3a6fa 100644 --- a/Marlin/src/gcode/host/M118.cpp +++ b/Marlin/src/gcode/host/M118.cpp @@ -25,11 +25,20 @@ /** * M118: Display a message in the host console. * - * A1 Append '// ' for an action command, as in OctoPrint + * A1 Prepend '// ' for an action command, as in OctoPrint * E1 Have the host 'echo:' the text */ void GcodeSuite::M118() { - if (parser.seenval('E') && parser.value_bool()) SERIAL_ECHO_START(); - if (parser.seenval('A') && parser.value_bool()) SERIAL_ECHOPGM("// "); - SERIAL_ECHOLN(parser.string_arg); + bool hasE = false, hasA = false; + char *p = parser.string_arg; + for (uint8_t i = 2; i--;) + if ((p[0] == 'A' || p[0] == 'E') && p[1] == '1') { + if (p[0] == 'A') hasA = true; + if (p[0] == 'E') hasE = true; + p += 2; + while (*p == ' ') ++p; + } + if (hasE) SERIAL_ECHO_START(); + if (hasA) SERIAL_ECHOPGM("// "); + SERIAL_ECHOLN(p); } diff --git a/Marlin/src/gcode/lcd/M0_M1.cpp b/Marlin/src/gcode/lcd/M0_M1.cpp index 31ae41892c70..7563f85ff691 100644 --- a/Marlin/src/gcode/lcd/M0_M1.cpp +++ b/Marlin/src/gcode/lcd/M0_M1.cpp @@ -58,6 +58,8 @@ void GcodeSuite::M0_M1() { const bool has_message = !hasP && !hasS && args && *args; + planner.synchronize(); + #if ENABLED(ULTIPANEL) if (has_message) @@ -81,18 +83,12 @@ void GcodeSuite::M0_M1() { KEEPALIVE_STATE(PAUSED_FOR_USER); wait_for_user = true; - stepper.synchronize(); - if (ms > 0) { ms += millis(); // wait until this time for a click while (PENDING(millis(), ms) && wait_for_user) idle(); } - else { - #if ENABLED(ULTIPANEL) - if (lcd_detected()) - #endif - while (wait_for_user) idle(); - } + else + while (wait_for_user) idle(); #if ENABLED(PRINTER_EVENT_LEDS) && ENABLED(SDSUPPORT) if (lights_off_after_print) { @@ -102,9 +98,7 @@ void GcodeSuite::M0_M1() { #endif #if ENABLED(ULTIPANEL) - if (lcd_detected()) { - IS_SD_PRINTING ? LCD_MESSAGEPGM(MSG_RESUMING) : LCD_MESSAGEPGM(WELCOME_MSG); - } + lcd_reset_status(); #endif wait_for_user = false; diff --git a/Marlin/src/gcode/lcd/M300.cpp b/Marlin/src/gcode/lcd/M300.cpp index 847efc9c4097..0e56587934a6 100644 --- a/Marlin/src/gcode/lcd/M300.cpp +++ b/Marlin/src/gcode/lcd/M300.cpp @@ -37,7 +37,7 @@ void GcodeSuite::M300() { uint16_t duration = parser.ushortval('P', 1000); // Limits the tone duration to 0-5 seconds. - NOMORE(duration, 5000); + NOMORE(duration, 5000U); BUZZ(duration, frequency); } diff --git a/Marlin/src/gcode/motion/G0_G1.cpp b/Marlin/src/gcode/motion/G0_G1.cpp index 46a4cf826bc4..b0e088b8215c 100644 --- a/Marlin/src/gcode/motion/G0_G1.cpp +++ b/Marlin/src/gcode/motion/G0_G1.cpp @@ -61,7 +61,7 @@ void GcodeSuite::G0_G1( if (fwretract.autoretract_enabled && parser.seen('E') && !(parser.seen('X') || parser.seen('Y') || parser.seen('Z'))) { const float echange = destination[E_AXIS] - current_position[E_AXIS]; // Is this a retract or recover move? - if (WITHIN(FABS(echange), MIN_AUTORETRACT, MAX_AUTORETRACT) && fwretract.retracted[active_extruder] == (echange > 0.0)) { + if (WITHIN(ABS(echange), MIN_AUTORETRACT, MAX_AUTORETRACT) && fwretract.retracted[active_extruder] == (echange > 0.0)) { current_position[E_AXIS] = destination[E_AXIS]; // Hide a G1-based retract/recover from calculations sync_plan_position_e(); // AND from the planner return fwretract.retract(echange < 0.0); // Firmware-based retract/recover (double-retract ignored) @@ -84,7 +84,7 @@ void GcodeSuite::G0_G1( #define _MOVE_SYNC parser.seenval('Z') // Only for Z move #endif if (_MOVE_SYNC) { - stepper.synchronize(); + planner.synchronize(); SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP); } #endif diff --git a/Marlin/src/gcode/motion/G2_G3.cpp b/Marlin/src/gcode/motion/G2_G3.cpp index 046f8db862ee..09e920846ce0 100644 --- a/Marlin/src/gcode/motion/G2_G3.cpp +++ b/Marlin/src/gcode/motion/G2_G3.cpp @@ -35,7 +35,7 @@ #include "../../module/scara.h" #endif -#if ENABLED(SCARA_FEEDRATE_SCALING) && ENABLED(AUTO_BED_LEVELING_BILINEAR) +#if HAS_FEEDRATE_SCALING && ENABLED(AUTO_BED_LEVELING_BILINEAR) #include "../../feature/bedlevel/abl/abl.h" #endif @@ -91,8 +91,8 @@ void plan_arc( angular_travel = RADIANS(360); const float flat_mm = radius * angular_travel, - mm_of_travel = linear_travel ? HYPOT(flat_mm, linear_travel) : FABS(flat_mm); - if (mm_of_travel < 0.001) return; + mm_of_travel = linear_travel ? HYPOT(flat_mm, linear_travel) : ABS(flat_mm); + if (mm_of_travel < 0.001f) return; uint16_t segments = FLOOR(mm_of_travel / (MM_PER_ARC_SEGMENT)); if (segments == 0) segments = 1; @@ -129,7 +129,7 @@ void plan_arc( linear_per_segment = linear_travel / segments, extruder_per_segment = extruder_travel / segments, sin_T = theta_per_segment, - cos_T = 1 - 0.5 * sq(theta_per_segment); // Small angle approximation + cos_T = 1 - 0.5f * sq(theta_per_segment); // Small angle approximation // Initialize the linear axis raw[l_axis] = current_position[l_axis]; @@ -141,12 +141,16 @@ void plan_arc( millis_t next_idle_ms = millis() + 200UL; - #if ENABLED(SCARA_FEEDRATE_SCALING) + #if HAS_FEEDRATE_SCALING // SCARA needs to scale the feed rate from mm/s to degrees/s - const float inv_segment_length = 1.0 / (MM_PER_ARC_SEGMENT), + const float inv_segment_length = 1.0f / float(MM_PER_ARC_SEGMENT), inverse_secs = inv_segment_length * fr_mm_s; float oldA = planner.position_float[A_AXIS], - oldB = planner.position_float[B_AXIS]; + oldB = planner.position_float[B_AXIS] + #if ENABLED(DELTA_FEEDRATE_SCALING) + , oldC = planner.position_float[C_AXIS] + #endif + ; #endif #if N_ARC_CORRECTION > 1 @@ -192,33 +196,57 @@ void plan_arc( clamp_to_software_endstops(raw); + #if HAS_FEEDRATE_SCALING + inverse_kinematics(raw); + ADJUST_DELTA(raw); + #endif + #if ENABLED(SCARA_FEEDRATE_SCALING) // For SCARA scale the feed rate from mm/s to degrees/s // i.e., Complete the angular vector in the given time. - inverse_kinematics(raw); - ADJUST_DELTA(raw); - planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], HYPOT(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB) * inverse_secs, active_extruder); + if (!planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], HYPOT(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB) * inverse_secs, active_extruder)) + break; oldA = delta[A_AXIS]; oldB = delta[B_AXIS]; + #elif ENABLED(DELTA_FEEDRATE_SCALING) + // For DELTA scale the feed rate from Effector mm/s to Carriage mm/s + // i.e., Complete the linear vector in the given time. + if (!planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], raw[E_AXIS], SQRT(sq(delta[A_AXIS] - oldA) + sq(delta[B_AXIS] - oldB) + sq(delta[C_AXIS] - oldC)) * inverse_secs, active_extruder)) + break; + oldA = delta[A_AXIS]; oldB = delta[B_AXIS]; oldC = delta[C_AXIS]; + #elif HAS_UBL_AND_CURVES + float pos[XYZ] = { raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS] }; + planner.apply_leveling(pos); + if (!planner.buffer_segment(pos[X_AXIS], pos[Y_AXIS], pos[Z_AXIS], raw[E_AXIS], fr_mm_s, active_extruder)) + break; #else - planner.buffer_line_kinematic(raw, fr_mm_s, active_extruder); + if (!planner.buffer_line_kinematic(raw, fr_mm_s, active_extruder)) + break; #endif } // Ensure last segment arrives at target location. - #if ENABLED(SCARA_FEEDRATE_SCALING) + #if HAS_FEEDRATE_SCALING inverse_kinematics(cart); ADJUST_DELTA(cart); + #endif + + #if ENABLED(SCARA_FEEDRATE_SCALING) const float diff2 = HYPOT2(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB); if (diff2) planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], cart[Z_AXIS], cart[E_AXIS], SQRT(diff2) * inverse_secs, active_extruder); + #elif ENABLED(DELTA_FEEDRATE_SCALING) + const float diff2 = sq(delta[A_AXIS] - oldA) + sq(delta[B_AXIS] - oldB) + sq(delta[C_AXIS] - oldC); + if (diff2) + planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], cart[E_AXIS], SQRT(diff2) * inverse_secs, active_extruder); + #elif HAS_UBL_AND_CURVES + float pos[XYZ] = { cart[X_AXIS], cart[Y_AXIS], cart[Z_AXIS] }; + planner.apply_leveling(pos); + planner.buffer_segment(pos[X_AXIS], pos[Y_AXIS], pos[Z_AXIS], cart[E_AXIS], fr_mm_s, active_extruder); #else planner.buffer_line_kinematic(cart, fr_mm_s, active_extruder); #endif - // As far as the parser is concerned, the position is now == target. In reality the - // motion control system might still be processing the action and the real tool position - // in any intermediate location. - set_current_from_destination(); + COPY(current_position, cart); } // plan_arc /** @@ -261,19 +289,20 @@ void GcodeSuite::G2_G3(const bool clockwise) { relative_mode = relative_mode_backup; #endif - float arc_offset[2] = { 0.0, 0.0 }; + float arc_offset[2] = { 0, 0 }; if (parser.seenval('R')) { const float r = parser.value_linear_units(), p1 = current_position[X_AXIS], q1 = current_position[Y_AXIS], p2 = destination[X_AXIS], q2 = destination[Y_AXIS]; if (r && (p2 != p1 || q2 != q1)) { - const float e = clockwise ^ (r < 0) ? -1 : 1, // clockwise -1/1, counterclockwise 1/-1 - dx = p2 - p1, dy = q2 - q1, // X and Y differences - d = HYPOT(dx, dy), // Linear distance between the points - h = SQRT(sq(r) - sq(d * 0.5)), // Distance to the arc pivot-point - mx = (p1 + p2) * 0.5, my = (q1 + q2) * 0.5, // Point between the two points - sx = -dy / d, sy = dx / d, // Slope of the perpendicular bisector - cx = mx + e * h * sx, cy = my + e * h * sy; // Pivot-point of the arc + const float e = clockwise ^ (r < 0) ? -1 : 1, // clockwise -1/1, counterclockwise 1/-1 + dx = p2 - p1, dy = q2 - q1, // X and Y differences + d = HYPOT(dx, dy), // Linear distance between the points + dinv = 1/d, // Inverse of d + h = SQRT(sq(r) - sq(d * 0.5f)), // Distance to the arc pivot-point + mx = (p1 + p2) * 0.5f, my = (q1 + q2) * 0.5f,// Point between the two points + sx = -dy * dinv, sy = dx * dinv, // Slope of the perpendicular bisector + cx = mx + e * h * sx, cy = my + e * h * sy; // Pivot-point of the arc arc_offset[0] = cx - p1; arc_offset[1] = cy - q1; } diff --git a/Marlin/src/gcode/motion/G4.cpp b/Marlin/src/gcode/motion/G4.cpp index ff17cb6aa250..7d53cb030482 100644 --- a/Marlin/src/gcode/motion/G4.cpp +++ b/Marlin/src/gcode/motion/G4.cpp @@ -33,7 +33,7 @@ void GcodeSuite::G4() { if (parser.seenval('P')) dwell_ms = parser.value_millis(); // milliseconds to wait if (parser.seenval('S')) dwell_ms = parser.value_millis_from_seconds(); // seconds to wait - stepper.synchronize(); + planner.synchronize(); #if ENABLED(NANODLP_Z_SYNC) SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP); #endif diff --git a/Marlin/src/gcode/motion/G5.cpp b/Marlin/src/gcode/motion/G5.cpp index 684646941597..8cd70da15d38 100644 --- a/Marlin/src/gcode/motion/G5.cpp +++ b/Marlin/src/gcode/motion/G5.cpp @@ -27,13 +27,9 @@ #include "../../module/motion.h" #include "../../module/planner_bezier.h" -void plan_cubic_move(const float (&offset)[4]) { - cubic_b_spline(current_position, destination, offset, MMS_SCALED(feedrate_mm_s), active_extruder); - - // As far as the parser is concerned, the position is now == destination. In reality the - // motion control system might still be processing the action and the real tool position - // in any intermediate location. - set_current_from_destination(); +void plan_cubic_move(const float (&cart)[XYZE], const float (&offset)[4]) { + cubic_b_spline(current_position, cart, offset, MMS_SCALED(feedrate_mm_s), active_extruder); + COPY(current_position, cart); } /** @@ -69,7 +65,7 @@ void GcodeSuite::G5() { parser.linearval('Q') }; - plan_cubic_move(offset); + plan_cubic_move(destination, offset); } } diff --git a/Marlin/src/gcode/parser.cpp b/Marlin/src/gcode/parser.cpp index 339e225d52c8..392532646ce5 100644 --- a/Marlin/src/gcode/parser.cpp +++ b/Marlin/src/gcode/parser.cpp @@ -155,7 +155,7 @@ void GCodeParser::parse(char *p) { #endif // Only use string_arg for these M codes - if (letter == 'M') switch (codenum) { case 23: case 28: case 30: case 117: case 928: string_arg = p; return; default: break; } + if (letter == 'M') switch (codenum) { case 23: case 28: case 30: case 117: case 118: case 928: string_arg = p; return; default: break; } #if ENABLED(DEBUG_GCODE_PARSER) const bool debug = codenum == 800; diff --git a/Marlin/src/gcode/parser.h b/Marlin/src/gcode/parser.h index 378435c0f2c0..82843d622665 100644 --- a/Marlin/src/gcode/parser.h +++ b/Marlin/src/gcode/parser.h @@ -85,7 +85,7 @@ class GCodeParser { #endif #if ENABLED(DEBUG_GCODE_PARSER) - void debug(); + static void debug(); #endif // Reset is done before parsing @@ -145,7 +145,7 @@ class GCodeParser { // Code is found in the string. If not found, value_ptr is unchanged. // This allows "if (seen('A')||seen('B'))" to use the last-found value. static bool seen(const char c) { - const char *p = strchr(command_args, c); + char *p = strchr(command_args, c); const bool b = !!p; if (b) value_ptr = valid_float(&p[1]) ? &p[1] : (char*)NULL; return b; @@ -186,15 +186,15 @@ class GCodeParser { if (c == '\0' || c == ' ') break; if (c == 'E' || c == 'e') { *e = '\0'; - const float ret = strtod(value_ptr, NULL); + const float ret = strtof(value_ptr, NULL); *e = c; return ret; } ++e; } - return strtod(value_ptr, NULL); + return strtof(value_ptr, NULL); } - return 0.0; + return 0; } // Code value as a long or ulong @@ -203,7 +203,7 @@ class GCodeParser { // Code value for use as time FORCE_INLINE static millis_t value_millis() { return value_ulong(); } - FORCE_INLINE static millis_t value_millis_from_seconds() { return value_float() * 1000UL; } + FORCE_INLINE static millis_t value_millis_from_seconds() { return (millis_t)(value_float() * 1000); } // Reduce to fewer bits FORCE_INLINE static int16_t value_int() { return (int16_t)value_long(); } @@ -217,17 +217,20 @@ class GCodeParser { #if ENABLED(INCH_MODE_SUPPORT) + // Init linear units by constructor + GCodeParser() { set_input_linear_units(LINEARUNIT_MM); } + inline static void set_input_linear_units(const LinearUnit units) { switch (units) { case LINEARUNIT_INCH: - linear_unit_factor = 25.4; + linear_unit_factor = 25.4f; break; case LINEARUNIT_MM: default: - linear_unit_factor = 1.0; + linear_unit_factor = 1; break; } - volumetric_unit_factor = POW(linear_unit_factor, 3.0); + volumetric_unit_factor = POW(linear_unit_factor, 3); } inline static float axis_unit_factor(const AxisEnum axis) { @@ -261,9 +264,9 @@ class GCodeParser { inline static float to_temp_units(const float &f) { switch (input_temp_units) { case TEMPUNIT_F: - return f * 0.5555555556 + 32.0; + return f * 0.5555555556f + 32; case TEMPUNIT_K: - return f + 273.15; + return f + 273.15f; case TEMPUNIT_C: default: return f; @@ -276,9 +279,9 @@ class GCodeParser { const float f = value_float(); switch (input_temp_units) { case TEMPUNIT_F: - return (f - 32.0) * 0.5555555556; + return (f - 32) * 0.5555555556f; case TEMPUNIT_K: - return f - 273.15; + return f - 273.15f; case TEMPUNIT_C: default: return f; @@ -288,7 +291,7 @@ class GCodeParser { inline static float value_celsius_diff() { switch (input_temp_units) { case TEMPUNIT_F: - return value_float() * 0.5555555556; + return value_float() * 0.5555555556f; case TEMPUNIT_C: case TEMPUNIT_K: default: @@ -309,14 +312,14 @@ class GCodeParser { // Provide simple value accessors with default option FORCE_INLINE static float floatval(const char c, const float dval=0.0) { return seenval(c) ? value_float() : dval; } - FORCE_INLINE static bool boolval(const char c) { return seenval(c) ? value_bool() : seen(c); } + FORCE_INLINE static bool boolval(const char c, const bool dval=false) { return seenval(c) ? value_bool() : (seen(c) ? true : dval); } FORCE_INLINE static uint8_t byteval(const char c, const uint8_t dval=0) { return seenval(c) ? value_byte() : dval; } FORCE_INLINE static int16_t intval(const char c, const int16_t dval=0) { return seenval(c) ? value_int() : dval; } FORCE_INLINE static uint16_t ushortval(const char c, const uint16_t dval=0) { return seenval(c) ? value_ushort() : dval; } FORCE_INLINE static int32_t longval(const char c, const int32_t dval=0) { return seenval(c) ? value_long() : dval; } FORCE_INLINE static uint32_t ulongval(const char c, const uint32_t dval=0) { return seenval(c) ? value_ulong() : dval; } - FORCE_INLINE static float linearval(const char c, const float dval=0.0) { return seenval(c) ? value_linear_units() : dval; } - FORCE_INLINE static float celsiusval(const char c, const float dval=0.0) { return seenval(c) ? value_celsius() : dval; } + FORCE_INLINE static float linearval(const char c, const float dval=0) { return seenval(c) ? value_linear_units() : dval; } + FORCE_INLINE static float celsiusval(const char c, const float dval=0){ return seenval(c) ? value_celsius() : dval; } }; diff --git a/Marlin/src/gcode/probe/G30.cpp b/Marlin/src/gcode/probe/G30.cpp index c1bb0a214d1b..0c8472e05c7f 100644 --- a/Marlin/src/gcode/probe/G30.cpp +++ b/Marlin/src/gcode/probe/G30.cpp @@ -36,7 +36,7 @@ * * X Probe X position (default current X) * Y Probe Y position (default current Y) - * E Engage the probe for each probe + * E Engage the probe for each probe (default 1) */ void GcodeSuite::G30() { const float xpos = parser.linearval('X', current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER), @@ -51,18 +51,18 @@ void GcodeSuite::G30() { setup_for_endstop_or_probe_move(); - const ProbePtRaise raise_after = parser.boolval('E') ? PROBE_PT_STOW : PROBE_PT_NONE; + const ProbePtRaise raise_after = parser.boolval('E', true) ? PROBE_PT_STOW : PROBE_PT_NONE; const float measured_z = probe_pt(xpos, ypos, raise_after, 1); if (!isnan(measured_z)) { - SERIAL_PROTOCOLPAIR("Bed X: ", FIXFLOAT(xpos)); - SERIAL_PROTOCOLPAIR(" Y: ", FIXFLOAT(ypos)); - SERIAL_PROTOCOLLNPAIR(" Z: ", FIXFLOAT(measured_z)); + SERIAL_PROTOCOLPAIR_F("Bed X: ", xpos); + SERIAL_PROTOCOLPAIR_F(" Y: ", ypos); + SERIAL_PROTOCOLLNPAIR_F(" Z: ", measured_z); } clean_up_after_endstop_or_probe_move(); - #if Z_AFTER_PROBING + #ifdef Z_AFTER_PROBING if (raise_after == PROBE_PT_STOW) move_z_after_probing(); #endif diff --git a/Marlin/src/gcode/probe/G38.cpp b/Marlin/src/gcode/probe/G38.cpp index adc0d491d41c..bdbb635ef38c 100644 --- a/Marlin/src/gcode/probe/G38.cpp +++ b/Marlin/src/gcode/probe/G38.cpp @@ -39,19 +39,19 @@ static bool G38_run_probe() { // Get direction of move and retract float retract_mm[XYZ]; LOOP_XYZ(i) { - float dist = destination[i] - current_position[i]; - retract_mm[i] = FABS(dist) < G38_MINIMUM_MOVE ? 0 : home_bump_mm((AxisEnum)i) * (dist > 0 ? -1 : 1); + const float dist = destination[i] - current_position[i]; + retract_mm[i] = ABS(dist) < G38_MINIMUM_MOVE ? 0 : home_bump_mm((AxisEnum)i) * (dist > 0 ? -1 : 1); } #endif - stepper.synchronize(); // wait until the machine is idle + planner.synchronize(); // wait until the machine is idle // Move until destination reached or target hit endstops.enable(true); G38_move = true; G38_endstop_hit = false; prepare_move_to_destination(); - stepper.synchronize(); + planner.synchronize(); G38_move = false; endstops.hit_on_purpose(); @@ -68,7 +68,7 @@ static bool G38_run_probe() { LOOP_XYZ(i) destination[i] += retract_mm[i]; endstops.enable(false); prepare_move_to_destination(); - stepper.synchronize(); + planner.synchronize(); feedrate_mm_s /= 4; @@ -78,7 +78,7 @@ static bool G38_run_probe() { endstops.enable(true); G38_move = true; prepare_move_to_destination(); - stepper.synchronize(); + planner.synchronize(); G38_move = false; set_current_from_steppers_for_axis(ALL_AXES); @@ -105,7 +105,7 @@ void GcodeSuite::G38(const bool is_38_2) { // If any axis has enough movement, do the move LOOP_XYZ(i) - if (FABS(destination[i] - current_position[i]) >= G38_MINIMUM_MOVE) { + if (ABS(destination[i] - current_position[i]) >= G38_MINIMUM_MOVE) { if (!parser.seenval('F')) feedrate_mm_s = homing_feedrate((AxisEnum)i); // If G38.2 fails throw an error if (!G38_run_probe() && is_38_2) { diff --git a/Marlin/src/gcode/probe/M401_M402.cpp b/Marlin/src/gcode/probe/M401_M402.cpp index 9beef47302d2..1e81e6b4a75e 100644 --- a/Marlin/src/gcode/probe/M401_M402.cpp +++ b/Marlin/src/gcode/probe/M401_M402.cpp @@ -41,7 +41,7 @@ void GcodeSuite::M401() { */ void GcodeSuite::M402() { STOW_PROBE(); - #if Z_AFTER_PROBING + #ifdef Z_AFTER_PROBING move_z_after_probing(); #endif report_current_position(); diff --git a/Marlin/src/gcode/queue.cpp b/Marlin/src/gcode/queue.cpp index 169aa3add54c..9bf161e20084 100644 --- a/Marlin/src/gcode/queue.cpp +++ b/Marlin/src/gcode/queue.cpp @@ -37,6 +37,10 @@ #include "../feature/leds/leds.h" #endif +#if ENABLED(POWER_LOSS_RECOVERY) + #include "../feature/power_loss_recovery.h" +#endif + /** * GCode line number handling. Hosts may opt to include line numbers when * sending commands to Marlin, and lines will be checked for sequentiality. @@ -115,7 +119,7 @@ inline void _commit_command(bool say_ok * Return true if the command was successfully added. * Return false for a full buffer, or if the 'command' is a comment. */ -inline bool _enqueuecommand(const char* cmd, bool say_ok +inline bool _enqueuecommand(const char* cmd, bool say_ok=false #if NUM_SERIAL > 1 , int16_t port = -1 #endif @@ -133,8 +137,8 @@ inline bool _enqueuecommand(const char* cmd, bool say_ok /** * Enqueue with Serial Echo */ -bool enqueue_and_echo_command(const char* cmd, bool say_ok/*=false*/) { - if (_enqueuecommand(cmd, say_ok)) { +bool enqueue_and_echo_command(const char* cmd) { + if (_enqueuecommand(cmd)) { SERIAL_ECHO_START(); SERIAL_ECHOPAIR(MSG_ENQUEUEING, cmd); SERIAL_CHAR('"'); @@ -176,14 +180,14 @@ void enqueue_and_echo_commands_P(const char * const pgcode) { /** * Enqueue and return only when commands are actually enqueued */ - void enqueue_and_echo_command_now(const char* cmd, bool say_ok/*=false*/) { - while (!enqueue_and_echo_command(cmd, say_ok)) idle(); + void enqueue_and_echo_command_now(const char* cmd) { + while (!enqueue_and_echo_command(cmd)) idle(); } #if HAS_LCD_QUEUE_NOW /** * Enqueue from program memory and return only when commands are actually enqueued */ - void enqueue_and_echo_commands_P_now(const char * const pgcode) { + void enqueue_and_echo_commands_now_P(const char * const pgcode) { enqueue_and_echo_commands_P(pgcode); while (drain_injected_commands_P()) idle(); } @@ -454,7 +458,6 @@ inline void get_serial_commands() { leds.set_off(); #endif #endif // PRINTER_EVENT_LEDS - card.checkautostart(true); } } else if (n == -1) { @@ -486,6 +489,22 @@ inline void get_serial_commands() { } } + #if ENABLED(POWER_LOSS_RECOVERY) + + inline bool drain_job_recovery_commands() { + static uint8_t job_recovery_commands_index = 0; // Resets on reboot + if (job_recovery_commands_count) { + if (_enqueuecommand(job_recovery_commands[job_recovery_commands_index])) { + ++job_recovery_commands_index; + if (!--job_recovery_commands_count) job_recovery_phase = JOB_RECOVERY_DONE; + } + return true; + } + return false; + } + + #endif + #endif // SDSUPPORT /** @@ -501,6 +520,11 @@ void get_available_commands() { get_serial_commands(); + #if ENABLED(POWER_LOSS_RECOVERY) + // Commands for power-loss recovery take precedence + if (job_recovery_phase == JOB_RECOVERY_YES && drain_job_recovery_commands()) return; + #endif + #if ENABLED(SDSUPPORT) get_sdcard_commands(); #endif @@ -543,8 +567,12 @@ void advance_command_queue() { ok_to_send(); } } - else + else { gcode.process_next_command(); + #if ENABLED(POWER_LOSS_RECOVERY) + if (card.cardOK && card.sdprinting) save_job_recovery_info(); + #endif + } #else diff --git a/Marlin/src/gcode/queue.h b/Marlin/src/gcode/queue.h index 68e9de65aa1d..5b37f14ae034 100644 --- a/Marlin/src/gcode/queue.h +++ b/Marlin/src/gcode/queue.h @@ -95,21 +95,21 @@ void enqueue_and_echo_commands_P(const char * const pgcode); /** * Enqueue with Serial Echo */ -bool enqueue_and_echo_command(const char* cmd, bool say_ok=false); +bool enqueue_and_echo_command(const char* cmd); -#define HAS_LCD_QUEUE_NOW (ENABLED(ULTIPANEL) && (ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(PID_AUTOTUNE_MENU) || ENABLED(ADVANCED_PAUSE_FEATURE))) +#define HAS_LCD_QUEUE_NOW (ENABLED(MALYAN_LCD) || (ENABLED(ULTIPANEL) && (ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(PID_AUTOTUNE_MENU) || ENABLED(ADVANCED_PAUSE_FEATURE)))) #define HAS_QUEUE_NOW (ENABLED(SDSUPPORT) || HAS_LCD_QUEUE_NOW) #if HAS_QUEUE_NOW /** * Enqueue and return only when commands are actually enqueued */ - void enqueue_and_echo_command_now(const char* cmd, bool say_ok=false); + void enqueue_and_echo_command_now(const char* cmd); #if HAS_LCD_QUEUE_NOW /** * Enqueue from program memory and return only when commands are actually enqueued */ - void enqueue_and_echo_commands_P_now(const char * const cmd); + void enqueue_and_echo_commands_now_P(const char * const cmd); #endif #endif diff --git a/Marlin/src/gcode/sdcard/M20-M30_M32-M34_M928.cpp b/Marlin/src/gcode/sdcard/M20-M30_M32-M34_M928.cpp index 59d45492a639..6a982b74b0ac 100644 --- a/Marlin/src/gcode/sdcard/M20-M30_M32-M34_M928.cpp +++ b/Marlin/src/gcode/sdcard/M20-M30_M32-M34_M928.cpp @@ -29,13 +29,16 @@ #include "../../module/printcounter.h" #include "../../module/stepper.h" +#if ENABLED(POWER_LOSS_RECOVERY) + #include "../../feature/power_loss_recovery.h" +#endif + #if ENABLED(PARK_HEAD_ON_PAUSE) #include "../../feature/pause.h" - #include "../queue.h" #endif -#if NUM_SERIAL > 1 - #include "../../gcode/queue.h" +#if ENABLED(PARK_HEAD_ON_PAUSE) || NUM_SERIAL > 1 + #include "../queue.h" #endif /** @@ -69,6 +72,9 @@ void GcodeSuite::M22() { card.release(); } * M23: Open a file */ void GcodeSuite::M23() { + #if ENABLED(POWER_LOSS_RECOVERY) + card.removeJobRecoveryFile(); + #endif // Simplify3D includes the size, so zero out all spaces (#7227) for (char *fn = parser.string_arg; *fn; ++fn) if (*fn == ' ') *fn = '\0'; card.openFile(parser.string_arg, true); @@ -82,8 +88,18 @@ void GcodeSuite::M24() { resume_print(); #endif + #if ENABLED(POWER_LOSS_RECOVERY) + if (parser.seenval('S')) card.setIndex(parser.value_long()); + #endif + card.startFileprint(); - print_job_timer.start(); + + #if ENABLED(POWER_LOSS_RECOVERY) + if (parser.seenval('T')) + print_job_timer.resume(parser.value_long()); + else + #endif + print_job_timer.start(); } /** @@ -172,7 +188,7 @@ void GcodeSuite::M30() { * */ void GcodeSuite::M32() { - if (card.sdprinting) stepper.synchronize(); + if (card.sdprinting) planner.synchronize(); if (card.cardOK) { const bool call_procedure = parser.boolval('P'); diff --git a/Marlin/src/gcode/temperature/M104_M109.cpp b/Marlin/src/gcode/temperature/M104_M109.cpp index 3a33425ad53b..61099aa208b0 100644 --- a/Marlin/src/gcode/temperature/M104_M109.cpp +++ b/Marlin/src/gcode/temperature/M104_M109.cpp @@ -64,20 +64,11 @@ void GcodeSuite::M104() { * standby mode, for instance in a dual extruder setup, without affecting * the running print timer. */ - if (parser.value_celsius() <= (EXTRUDE_MINTEMP) / 2) { + if (temp <= (EXTRUDE_MINTEMP) / 2) { print_job_timer.stop(); - LCD_MESSAGEPGM(WELCOME_MSG); + lcd_reset_status(); } #endif - - #if ENABLED(ULTRA_LCD) - if (parser.value_celsius() > thermalManager.degHotend(e)) - #if HOTENDS > 1 - lcd_status_printf_P(0, PSTR("E%i " MSG_HEATING), e + 1); - #else - LCD_MESSAGEPGM("E " MSG_HEATING); - #endif - #endif } #if ENABLED(AUTOTEMP) @@ -124,7 +115,7 @@ void GcodeSuite::M109() { */ if (parser.value_celsius() <= (EXTRUDE_MINTEMP) / 2) { print_job_timer.stop(); - LCD_MESSAGEPGM(WELCOME_MSG); + lcd_reset_status(); } else print_job_timer.start(); @@ -216,7 +207,7 @@ void GcodeSuite::M109() { #if TEMP_RESIDENCY_TIME > 0 - const float temp_diff = FABS(target_temp - temp); + const float temp_diff = ABS(target_temp - temp); if (!residency_start_ms) { // Start the TEMP_RESIDENCY_TIME timer when we reach target temp for the first time. @@ -234,7 +225,7 @@ void GcodeSuite::M109() { // break after MIN_COOLING_SLOPE_TIME seconds // if the temperature did not drop at least MIN_COOLING_SLOPE_DEG if (!next_cool_check_ms || ELAPSED(now, next_cool_check_ms)) { - if (old_temp - temp < MIN_COOLING_SLOPE_DEG) break; + if (old_temp - temp < float(MIN_COOLING_SLOPE_DEG)) break; next_cool_check_ms = now + 1000UL * MIN_COOLING_SLOPE_TIME; old_temp = temp; } @@ -243,7 +234,7 @@ void GcodeSuite::M109() { } while (wait_for_heatup && TEMP_CONDITIONS); if (wait_for_heatup) { - lcd_setstatusPGM(wants_to_cool ? PSTR(MSG_COOLING_COMPLETE) : PSTR(MSG_HEATING_COMPLETE)); + lcd_reset_status(); #if ENABLED(PRINTER_EVENT_LEDS) leds.set_white(); #endif diff --git a/Marlin/src/gcode/temperature/M106_M107.cpp b/Marlin/src/gcode/temperature/M106_M107.cpp index dccf3234bfbb..b8bdc03d6169 100644 --- a/Marlin/src/gcode/temperature/M106_M107.cpp +++ b/Marlin/src/gcode/temperature/M106_M107.cpp @@ -55,14 +55,14 @@ void GcodeSuite::M106() { fanSpeeds[p] = new_fanSpeeds[p]; break; default: - new_fanSpeeds[p] = min(t, 255); + new_fanSpeeds[p] = MIN(t, 255); break; } return; } #endif // EXTRA_FAN_SPEED const uint16_t s = parser.ushortval('S', 255); - fanSpeeds[p] = min(s, 255); + fanSpeeds[p] = MIN(s, 255U); } } diff --git a/Marlin/src/gcode/temperature/M140_M190.cpp b/Marlin/src/gcode/temperature/M140_M190.cpp index d17f47f6671f..c51c643288e0 100644 --- a/Marlin/src/gcode/temperature/M140_M190.cpp +++ b/Marlin/src/gcode/temperature/M140_M190.cpp @@ -22,7 +22,7 @@ #include "../../inc/MarlinConfig.h" -#if HAS_HEATER_BED && HAS_TEMP_BED +#if HAS_HEATED_BED #include "../gcode.h" #include "../../module/temperature.h" @@ -82,7 +82,7 @@ void GcodeSuite::M190() { #define TEMP_BED_CONDITIONS (wants_to_cool ? thermalManager.isCoolingBed() : thermalManager.isHeatingBed()) #endif - float target_temp = -1.0, old_temp = 9999.0; + float target_temp = -1, old_temp = 9999; bool wants_to_cool = false; wait_for_heatup = true; millis_t now, next_temp_ms = 0, next_cool_check_ms = 0; @@ -145,7 +145,7 @@ void GcodeSuite::M190() { #if TEMP_BED_RESIDENCY_TIME > 0 - const float temp_diff = FABS(target_temp - temp); + const float temp_diff = ABS(target_temp - temp); if (!residency_start_ms) { // Start the TEMP_BED_RESIDENCY_TIME timer when we reach target temp for the first time. @@ -163,7 +163,7 @@ void GcodeSuite::M190() { // Break after MIN_COOLING_SLOPE_TIME_BED seconds // if the temperature did not drop at least MIN_COOLING_SLOPE_DEG_BED if (!next_cool_check_ms || ELAPSED(now, next_cool_check_ms)) { - if (old_temp - temp < MIN_COOLING_SLOPE_DEG_BED) break; + if (old_temp - temp < float(MIN_COOLING_SLOPE_DEG_BED)) break; next_cool_check_ms = now + 1000UL * MIN_COOLING_SLOPE_TIME_BED; old_temp = temp; } @@ -171,10 +171,10 @@ void GcodeSuite::M190() { } while (wait_for_heatup && TEMP_BED_CONDITIONS); - if (wait_for_heatup) LCD_MESSAGEPGM(MSG_BED_DONE); + if (wait_for_heatup) lcd_reset_status(); #if DISABLED(BUSY_WHILE_HEATING) KEEPALIVE_STATE(IN_HANDLER); #endif } -#endif // HAS_HEATER_BED && HAS_TEMP_BED +#endif // HAS_HEATED_BED diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index 707be5fcfaf9..608225ca4f37 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -120,13 +120,13 @@ #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER #ifndef ST7920_DELAY_1 - #define ST7920_DELAY_1 DELAY_2_NOP + #define ST7920_DELAY_1 DELAY_NS(125) #endif #ifndef ST7920_DELAY_2 - #define ST7920_DELAY_2 DELAY_2_NOP + #define ST7920_DELAY_2 DELAY_NS(125) #endif #ifndef ST7920_DELAY_3 - #define ST7920_DELAY_3 DELAY_2_NOP + #define ST7920_DELAY_3 DELAY_NS(125) #endif #elif ENABLED(MKS_12864OLED) @@ -201,6 +201,18 @@ #endif #endif +/** + * SPI PANELS + */ + + // Einstart OLED has Cardinal nav via pins defined in pins_EINSTART-S.h + #if ENABLED(U8GLIB_SH1106_EINSTART) + #define ULTRA_LCD + #define DOGLCD + #define ULTIPANEL + #define NEWPANEL + #endif + /** * I2C PANELS */ @@ -299,6 +311,10 @@ #endif #endif +#if ENABLED(NO_LCD_MENUS) + #undef ULTIPANEL +#endif + #if ENABLED(ULTIPANEL) #define NEWPANEL // Disable this if you actually have no click-encoder panel #define ULTRA_LCD @@ -318,7 +334,7 @@ #endif #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 #define LCD_STR_REFRESH "\x01" #define LCD_STR_FOLDER "\x02" @@ -384,13 +400,7 @@ #define BOOTSCREEN_TIMEOUT 2500 #endif -#define HAS_DEBUG_MENU ENABLED(LCD_PROGRESS_BAR_TEST) - -// MK2 Multiplexer forces SINGLENOZZLE and kills DISABLE_INACTIVE_EXTRUDER -#if ENABLED(MK2_MULTIPLEXER) - #define SINGLENOZZLE - #undef DISABLE_INACTIVE_EXTRUDER -#endif +#define HAS_DEBUG_MENU (ENABLED(ULTIPANEL) && ENABLED(LCD_PROGRESS_BAR_TEST)) /** * Extruders have some combination of stepper motors and hotends @@ -402,36 +412,17 @@ * E_MANUAL - Number of E steppers for LCD move options * */ -#if ENABLED(SINGLENOZZLE) || ENABLED(MIXING_EXTRUDER) // One hotend, one thermistor, no XY offset - #define HOTENDS 1 - #undef TEMP_SENSOR_1_AS_REDUNDANT - #undef HOTEND_OFFSET_X - #undef HOTEND_OFFSET_Y -#else // Two hotends - #define HOTENDS EXTRUDERS - #if ENABLED(SWITCHING_NOZZLE) && !defined(HOTEND_OFFSET_Z) - #define HOTEND_OFFSET_Z { 0 } - #endif -#endif - -#define HOTEND_LOOP() for (int8_t e = 0; e < HOTENDS; e++) - -#if HOTENDS == 1 - #define HOTEND_INDEX 0 -#else - #define HOTEND_INDEX e -#endif - #if ENABLED(SWITCHING_EXTRUDER) // One stepper for every two EXTRUDERS #if EXTRUDERS > 4 #define E_STEPPERS 3 - #define E_MANUAL 3 #elif EXTRUDERS > 2 #define E_STEPPERS 2 - #define E_MANUAL 2 #else #define E_STEPPERS 1 #endif + #if DISABLED(SWITCHING_NOZZLE) + #define HOTENDS E_STEPPERS + #endif #define E_MANUAL EXTRUDERS #elif ENABLED(MIXING_EXTRUDER) #define E_STEPPERS MIXING_STEPPERS @@ -441,6 +432,32 @@ #define E_MANUAL EXTRUDERS #endif +// No inactive extruders with MK2_MULTIPLEXER or SWITCHING_NOZZLE +#if ENABLED(MK2_MULTIPLEXER) || ENABLED(SWITCHING_NOZZLE) + #undef DISABLE_INACTIVE_EXTRUDER +#endif + +// MK2 Multiplexer forces SINGLENOZZLE +#if ENABLED(MK2_MULTIPLEXER) + #define SINGLENOZZLE +#endif + +#if ENABLED(SINGLENOZZLE) || ENABLED(MIXING_EXTRUDER) // One hotend, one thermistor, no XY offset + #undef HOTENDS + #define HOTENDS 1 + #undef TEMP_SENSOR_1_AS_REDUNDANT + #undef HOTEND_OFFSET_X + #undef HOTEND_OFFSET_Y +#endif + +#ifndef HOTENDS + #define HOTENDS EXTRUDERS +#endif + +#define HOTEND_LOOP() for (int8_t e = 0; e < HOTENDS; e++) + +#define DO_SWITCH_EXTRUDER (ENABLED(SWITCHING_EXTRUDER) && (DISABLED(SWITCHING_NOZZLE) || SWITCHING_EXTRUDER_SERVO_NR != SWITCHING_NOZZLE_SERVO_NR)) + /** * DISTINCT_E_FACTORS affects how some E factors are accessed */ @@ -500,18 +517,22 @@ #define HAS_Z_SERVO_PROBE (defined(Z_PROBE_SERVO_NR) && Z_PROBE_SERVO_NR >= 0) /** - * Set a flag for any enabled probe + * Set flags for enabled probes */ -#define PROBE_SELECTED (ENABLED(PROBE_MANUALLY) || ENABLED(FIX_MOUNTED_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_SERVO_PROBE || ENABLED(Z_PROBE_SLED) || ENABLED(SOLENOID_PROBE)) +#define HAS_BED_PROBE (ENABLED(FIX_MOUNTED_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_SERVO_PROBE || ENABLED(Z_PROBE_SLED) || ENABLED(SOLENOID_PROBE)) +#define PROBE_SELECTED (HAS_BED_PROBE || ENABLED(PROBE_MANUALLY) || ENABLED(MESH_BED_LEVELING)) -/** - * Clear probe pin settings when no probe is selected - */ -#if !PROBE_SELECTED || ENABLED(PROBE_MANUALLY) +#if !HAS_BED_PROBE + // Clear probe pin settings when no probe is selected #undef Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #undef Z_MIN_PROBE_ENDSTOP +#elif ENABLED(Z_PROBE_ALLEN_KEY) + // Extra test for Allen Key Probe + #define PROBE_IS_TRIGGERED_WHEN_STOWED_TEST #endif +#define HOMING_Z_WITH_PROBE (HAS_BED_PROBE && Z_HOME_DIR < 0 && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) + #define HAS_SOFTWARE_ENDSTOPS (ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS)) #define HAS_RESUME_CONTINUE (ENABLED(NEWPANEL) || ENABLED(EMERGENCY_PARSER)) #define HAS_COLOR_LEDS (ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED)) diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index 13f9d3d776fc..03214b3c1dab 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -35,6 +35,16 @@ || MB(SCOOVO_X9H) \ ) +#ifdef TEENSYDUINO + #undef max + #define max(a,b) ((a)>(b)?(a):(b)) + #undef min + #define min(a,b) ((a)<(b)?(a):(b)) + + #undef NOT_A_PIN // Override Teensyduino legacy CapSense define work-around + #define NOT_A_PIN 0 // For PINS_DEBUGGING +#endif + #define IS_SCARA (ENABLED(MORGAN_SCARA) || ENABLED(MAKERARM_SCARA)) #define IS_KINEMATIC (ENABLED(DELTA) || IS_SCARA) #define IS_CARTESIAN !IS_KINEMATIC @@ -166,11 +176,6 @@ #define DELTA_HEIGHT Z_HOME_POS #endif -/** - * Auto Bed Leveling and Z Probe Repeatability Test - */ -#define HOMING_Z_WITH_PROBE (HAS_BED_PROBE && Z_HOME_DIR < 0 && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) - /** * Z Sled Probe requires Z_SAFE_HOMING */ @@ -210,22 +215,6 @@ #define DEFAULT_KEEPALIVE_INTERVAL 2 #endif -#ifdef CPU_32_BIT - /** - * Hidden options for developer - */ - // Double stepping starts at STEP_DOUBLER_FREQUENCY + 1, quad stepping starts at STEP_DOUBLER_FREQUENCY * 2 + 1 - #ifndef STEP_DOUBLER_FREQUENCY - #if ENABLED(LIN_ADVANCE) - #define STEP_DOUBLER_FREQUENCY 60000 // Hz - #else - #define STEP_DOUBLER_FREQUENCY 80000 // Hz - #endif - #endif - // Disable double / quad stepping - //#define DISABLE_MULTI_STEPPING -#endif - /** * Provide a MAX_AUTORETRACT for older configs */ @@ -233,23 +222,6 @@ #define MAX_AUTORETRACT 99 #endif -/** - * MAX_STEP_FREQUENCY differs for TOSHIBA - */ -#if ENABLED(CONFIG_STEPPERS_TOSHIBA) - #ifdef CPU_32_BIT - #define MAX_STEP_FREQUENCY STEP_DOUBLER_FREQUENCY // Max step frequency for Toshiba Stepper Controllers, 96kHz is close to maximum for an Arduino Due - #else - #define MAX_STEP_FREQUENCY 10000 // Max step frequency for Toshiba Stepper Controllers - #endif -#else - #ifdef CPU_32_BIT - #define MAX_STEP_FREQUENCY (STEP_DOUBLER_FREQUENCY * 4) // Max step frequency for the Due is approx. 330kHz - #else - #define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step) - #endif -#endif - // MS1 MS2 Stepper Driver Microstepping mode table #define MICROSTEP1 LOW,LOW #if ENABLED(HEROIC_STEPPER_DRIVERS) @@ -310,7 +282,9 @@ /** * Temp Sensor defines */ -#if TEMP_SENSOR_0 == -3 +#if TEMP_SENSOR_0 == -4 + #define HEATER_0_USES_AD8495 +#elif TEMP_SENSOR_0 == -3 #define HEATER_0_USES_MAX6675 #define MAX6675_IS_MAX31855 #define MAX6675_TMIN -270 @@ -329,8 +303,12 @@ #define HEATER_0_USES_THERMISTOR #endif -#if TEMP_SENSOR_1 <= -2 - #error "MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_1" +#if TEMP_SENSOR_1 == -4 + #define HEATER_1_USES_AD8495 +#elif TEMP_SENSOR_1 == -3 + #error "MAX31855 Thermocouples (-3) not supported for TEMP_SENSOR_1." +#elif TEMP_SENSOR_1 == -2 + #error "MAX6675 Thermocouples (-2) not supported for TEMP_SENSOR_1." #elif TEMP_SENSOR_1 == -1 #define HEATER_1_USES_AD595 #elif TEMP_SENSOR_1 == 0 @@ -341,8 +319,12 @@ #define HEATER_1_USES_THERMISTOR #endif -#if TEMP_SENSOR_2 <= -2 - #error "MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_2" +#if TEMP_SENSOR_2 == -4 + #define HEATER_2_USES_AD8495 +#elif TEMP_SENSOR_2 == -3 + #error "MAX31855 Thermocouples (-3) not supported for TEMP_SENSOR_2." +#elif TEMP_SENSOR_2 == -2 + #error "MAX6675 Thermocouples (-2) not supported for TEMP_SENSOR_2." #elif TEMP_SENSOR_2 == -1 #define HEATER_2_USES_AD595 #elif TEMP_SENSOR_2 == 0 @@ -353,8 +335,12 @@ #define HEATER_2_USES_THERMISTOR #endif -#if TEMP_SENSOR_3 <= -2 - #error "MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_3" +#if TEMP_SENSOR_3 == -4 + #define HEATER_3_USES_AD8495 +#elif TEMP_SENSOR_3 == -3 + #error "MAX31855 Thermocouples (-3) not supported for TEMP_SENSOR_3." +#elif TEMP_SENSOR_3 == -2 + #error "MAX6675 Thermocouples (-2) not supported for TEMP_SENSOR_3." #elif TEMP_SENSOR_3 == -1 #define HEATER_3_USES_AD595 #elif TEMP_SENSOR_3 == 0 @@ -365,8 +351,12 @@ #define HEATER_3_USES_THERMISTOR #endif -#if TEMP_SENSOR_4 <= -2 - #error "MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_4" +#if TEMP_SENSOR_4 == -4 + #define HEATER_4_USES_AD8495 +#elif TEMP_SENSOR_4 == -3 + #error "MAX31855 Thermocouples (-3) not supported for TEMP_SENSOR_4." +#elif TEMP_SENSOR_4 == -2 + #error "MAX6675 Thermocouples (-2) not supported for TEMP_SENSOR_4." #elif TEMP_SENSOR_4 == -1 #define HEATER_4_USES_AD595 #elif TEMP_SENSOR_4 == 0 @@ -377,40 +367,41 @@ #define HEATER_4_USES_THERMISTOR #endif -#if TEMP_SENSOR_BED <= -2 - #error "MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_BED" +#if TEMP_SENSOR_BED == -4 + #define HEATER_BED_USES_AD8495 +#elif TEMP_SENSOR_BED == -3 + #error "MAX31855 Thermocouples (-3) not supported for TEMP_SENSOR_BED." +#elif TEMP_SENSOR_BED == -2 + #error "MAX6675 Thermocouples (-2) not supported for TEMP_SENSOR_BED." #elif TEMP_SENSOR_BED == -1 - #define BED_USES_AD595 + #define HEATER_BED_USES_AD595 #elif TEMP_SENSOR_BED == 0 #undef BED_MINTEMP #undef BED_MAXTEMP #elif TEMP_SENSOR_BED > 0 #define THERMISTORBED TEMP_SENSOR_BED - #define BED_USES_THERMISTOR + #define HEATER_BED_USES_THERMISTOR #endif -#if TEMP_SENSOR_CHAMBER <= -2 - #error "MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_CHAMBER" +#if TEMP_SENSOR_CHAMBER == -4 + #define HEATER_CHAMBER_USES_AD8495 +#elif TEMP_SENSOR_CHAMBER == -3 + #error "MAX31855 Thermocouples (-3) not supported for TEMP_SENSOR_CHAMBER." +#elif TEMP_SENSOR_CHAMBER == -2 + #error "MAX6675 Thermocouples (-2) not supported for TEMP_SENSOR_CHAMBER." #elif TEMP_SENSOR_CHAMBER == -1 - #define CHAMBER_USES_AD595 + #define HEATER_CHAMBER_USES_AD595 #elif TEMP_SENSOR_CHAMBER > 0 #define THERMISTORCHAMBER TEMP_SENSOR_CHAMBER - #define CHAMBER_USES_THERMISTOR + #define HEATER_CHAMBER_USES_THERMISTOR #endif -#ifdef __SAM3X8E__ - #define HEATER_USES_AD595 (ENABLED(HEATER_0_USES_AD595) || ENABLED(HEATER_1_USES_AD595) || ENABLED(HEATER_2_USES_AD595) || ENABLED(HEATER_3_USES_AD595)) -#endif - -/** - * Flags for PID handling - */ -#define HAS_PID_HEATING (ENABLED(PIDTEMP) || ENABLED(PIDTEMPBED)) -#define HAS_PID_FOR_BOTH (ENABLED(PIDTEMP) && ENABLED(PIDTEMPBED)) +#define HOTEND_USES_THERMISTOR (ENABLED(HEATER_0_USES_THERMISTOR) || ENABLED(HEATER_1_USES_THERMISTOR) || ENABLED(HEATER_2_USES_THERMISTOR) || ENABLED(HEATER_3_USES_THERMISTOR) || ENABLED(HEATER_4_USES_THERMISTOR)) /** * Default hotend offsets, if not defined */ +#define HAS_HOTEND_OFFSET_Z (HOTENDS > 1 && (ENABLED(DUAL_X_CARRIAGE) || ENABLED(SWITCHING_NOZZLE) || ENABLED(PARKING_EXTRUDER))) #if HOTENDS > 1 #ifndef HOTEND_OFFSET_X #define HOTEND_OFFSET_X { 0 } // X offsets for each extruder @@ -418,7 +409,7 @@ #ifndef HOTEND_OFFSET_Y #define HOTEND_OFFSET_Y { 0 } // Y offsets for each extruder #endif - #if !defined(HOTEND_OFFSET_Z) && (ENABLED(DUAL_X_CARRIAGE) || ENABLED(SWITCHING_NOZZLE)) + #if HAS_HOTEND_OFFSET_Z && !defined(HOTEND_OFFSET_Z) #define HOTEND_OFFSET_Z { 0 } #endif #endif @@ -435,6 +426,63 @@ #define ARRAY_BY_HOTENDS(...) ARRAY_N(HOTENDS, __VA_ARGS__) #define ARRAY_BY_HOTENDS1(v1) ARRAY_BY_HOTENDS(v1, v1, v1, v1, v1, v1) +/** + * Driver Timings + * NOTE: Driver timing order is longest-to-shortest duration. + * Preserve this ordering when adding new drivers. + */ +#ifndef MINIMUM_STEPPER_DIR_DELAY + #if HAS_DRIVER(TB6560) + #define MINIMUM_STEPPER_DIR_DELAY 15000 + #elif HAS_DRIVER(TB6600) + #define MINIMUM_STEPPER_DIR_DELAY 1500 + #elif HAS_DRIVER(DRV8825) + #define MINIMUM_STEPPER_DIR_DELAY 650 + #elif HAS_DRIVER(LV8729) + #define MINIMUM_STEPPER_DIR_DELAY 500 + #elif HAS_DRIVER(A4988) + #define MINIMUM_STEPPER_DIR_DELAY 200 + #elif HAS_TRINAMIC || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE) + #define MINIMUM_STEPPER_DIR_DELAY 20 + #else + #define MINIMUM_STEPPER_DIR_DELAY 0 // Expect at least 10µS since one Stepper ISR must transpire + #endif +#endif + +#ifndef MINIMUM_STEPPER_PULSE + #if HAS_DRIVER(TB6560) + #define MINIMUM_STEPPER_PULSE 30 + #elif HAS_DRIVER(TB6600) + #define MINIMUM_STEPPER_PULSE 3 + #elif HAS_DRIVER(DRV8825) + #define MINIMUM_STEPPER_PULSE 2 + #elif HAS_DRIVER(A4988) || HAS_DRIVER(LV8729) + #define MINIMUM_STEPPER_PULSE 1 + #elif HAS_TRINAMIC || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE) + #define MINIMUM_STEPPER_PULSE 0 + #else + #define MINIMUM_STEPPER_PULSE 2 + #endif +#endif + +#ifndef MAXIMUM_STEPPER_RATE + #if HAS_DRIVER(TB6560) + #define MAXIMUM_STEPPER_RATE 15000 + #elif HAS_DRIVER(LV8729) + #define MAXIMUM_STEPPER_RATE 130000 + #elif HAS_DRIVER(TB6600) + #define MAXIMUM_STEPPER_RATE 150000 + #elif HAS_DRIVER(DRV8825) + #define MAXIMUM_STEPPER_RATE 250000 + #elif HAS_TRINAMIC || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE) + #define MAXIMUM_STEPPER_RATE 400000 + #elif HAS_DRIVER(A4988) + #define MAXIMUM_STEPPER_RATE 500000 + #else + #define MAXIMUM_STEPPER_RATE 250000 + #endif +#endif + /** * X_DUAL_ENDSTOPS endstop reassignment */ @@ -666,24 +714,27 @@ #define HAS_X2_ENABLE (PIN_EXISTS(X2_ENABLE)) #define HAS_X2_DIR (PIN_EXISTS(X2_DIR)) #define HAS_X2_STEP (PIN_EXISTS(X2_STEP)) -#define HAS_Y_MICROSTEPS (PIN_EXISTS(Y_MS1)) +#define HAS_X2_MICROSTEPS (PIN_EXISTS(X2_MS1)) #define HAS_Y_ENABLE (PIN_EXISTS(Y_ENABLE)) #define HAS_Y_DIR (PIN_EXISTS(Y_DIR)) #define HAS_Y_STEP (PIN_EXISTS(Y_STEP)) -#define HAS_Z_MICROSTEPS (PIN_EXISTS(Z_MS1)) +#define HAS_Y_MICROSTEPS (PIN_EXISTS(Y_MS1)) #define HAS_Y2_ENABLE (PIN_EXISTS(Y2_ENABLE)) #define HAS_Y2_DIR (PIN_EXISTS(Y2_DIR)) #define HAS_Y2_STEP (PIN_EXISTS(Y2_STEP)) +#define HAS_Y2_MICROSTEPS (PIN_EXISTS(Y2_MS1)) #define HAS_Z_ENABLE (PIN_EXISTS(Z_ENABLE)) #define HAS_Z_DIR (PIN_EXISTS(Z_DIR)) #define HAS_Z_STEP (PIN_EXISTS(Z_STEP)) +#define HAS_Z_MICROSTEPS (PIN_EXISTS(Z_MS1)) #define HAS_Z2_ENABLE (PIN_EXISTS(Z2_ENABLE)) #define HAS_Z2_DIR (PIN_EXISTS(Z2_DIR)) #define HAS_Z2_STEP (PIN_EXISTS(Z2_STEP)) +#define HAS_Z2_MICROSTEPS (PIN_EXISTS(Z2_MS1)) // Extruder steppers and solenoids #define HAS_E0_ENABLE (PIN_EXISTS(E0_ENABLE)) @@ -717,36 +768,29 @@ #define HAS_SOLENOID_4 (PIN_EXISTS(SOL4)) // Trinamic Stepper Drivers -#define HAS_TRINAMIC (ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) || ENABLED(IS_TRAMS)) -#define X_IS_TRINAMIC (ENABLED( X_IS_TMC2130) || ENABLED( X_IS_TMC2208) || ENABLED(IS_TRAMS)) -#define X2_IS_TRINAMIC (ENABLED(X2_IS_TMC2130) || ENABLED(X2_IS_TMC2208)) -#define Y_IS_TRINAMIC (ENABLED( Y_IS_TMC2130) || ENABLED( Y_IS_TMC2208) || ENABLED(IS_TRAMS)) -#define Y2_IS_TRINAMIC (ENABLED(Y2_IS_TMC2130) || ENABLED(Y2_IS_TMC2208)) -#define Z_IS_TRINAMIC (ENABLED( Z_IS_TMC2130) || ENABLED( Z_IS_TMC2208) || ENABLED(IS_TRAMS)) -#define Z2_IS_TRINAMIC (ENABLED(Z2_IS_TMC2130) || ENABLED(Z2_IS_TMC2208)) -#define E0_IS_TRINAMIC (ENABLED(E0_IS_TMC2130) || ENABLED(E0_IS_TMC2208) || ENABLED(IS_TRAMS)) -#define E1_IS_TRINAMIC (ENABLED(E1_IS_TMC2130) || ENABLED(E1_IS_TMC2208)) -#define E2_IS_TRINAMIC (ENABLED(E2_IS_TMC2130) || ENABLED(E2_IS_TMC2208)) -#define E3_IS_TRINAMIC (ENABLED(E3_IS_TMC2130) || ENABLED(E3_IS_TMC2208)) -#define E4_IS_TRINAMIC (ENABLED(E4_IS_TMC2130) || ENABLED(E4_IS_TMC2208)) - -// Disable Z axis sensorless homing if a probe is used to home the Z axis +#define HAS_STEALTHCHOP (HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2208)) +#define HAS_STALLGUARD (HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2660)) +#define AXIS_HAS_STEALTHCHOP(ST) ( AXIS_DRIVER_TYPE(ST, TMC2130) || AXIS_DRIVER_TYPE(ST, TMC2208) ) +#define AXIS_HAS_STALLGUARD(ST) ( AXIS_DRIVER_TYPE(ST, TMC2130) || AXIS_DRIVER_TYPE(ST, TMC2660) ) + #if ENABLED(SENSORLESS_HOMING) - #define X_SENSORLESS (ENABLED(X_IS_TMC2130) && defined(X_HOMING_SENSITIVITY)) - #define Y_SENSORLESS (ENABLED(Y_IS_TMC2130) && defined(Y_HOMING_SENSITIVITY)) - #define Z_SENSORLESS (ENABLED(Z_IS_TMC2130) && defined(Z_HOMING_SENSITIVITY)) + // Disable Z axis sensorless homing if a probe is used to home the Z axis #if HOMING_Z_WITH_PROBE #undef Z_HOMING_SENSITIVITY #endif + #define X_SENSORLESS (AXIS_HAS_STALLGUARD(X) && defined(X_HOMING_SENSITIVITY)) + #define Y_SENSORLESS (AXIS_HAS_STALLGUARD(Y) && defined(Y_HOMING_SENSITIVITY)) + #define Z_SENSORLESS (AXIS_HAS_STALLGUARD(Z) && defined(Z_HOMING_SENSITIVITY)) #endif // Endstops and bed probe -#define HAS_X_MIN (PIN_EXISTS(X_MIN) && !IS_X2_ENDSTOP(X,MIN) && !IS_Y2_ENDSTOP(X,MIN) && !IS_Z2_OR_PROBE(X,MIN)) -#define HAS_X_MAX (PIN_EXISTS(X_MAX) && !IS_X2_ENDSTOP(X,MAX) && !IS_Y2_ENDSTOP(X,MAX) && !IS_Z2_OR_PROBE(X,MAX)) -#define HAS_Y_MIN (PIN_EXISTS(Y_MIN) && !IS_X2_ENDSTOP(Y,MIN) && !IS_Y2_ENDSTOP(Y,MIN) && !IS_Z2_OR_PROBE(Y,MIN)) -#define HAS_Y_MAX (PIN_EXISTS(Y_MAX) && !IS_X2_ENDSTOP(Y,MAX) && !IS_Y2_ENDSTOP(Y,MAX) && !IS_Z2_OR_PROBE(Y,MAX)) -#define HAS_Z_MIN (PIN_EXISTS(Z_MIN) && !IS_X2_ENDSTOP(Z,MIN) && !IS_Y2_ENDSTOP(Z,MIN) && !IS_Z2_OR_PROBE(Z,MIN)) -#define HAS_Z_MAX (PIN_EXISTS(Z_MAX) && !IS_X2_ENDSTOP(Z,MAX) && !IS_Y2_ENDSTOP(Z,MAX) && !IS_Z2_OR_PROBE(Z,MAX)) +#define HAS_STOP_TEST(A,M) (PIN_EXISTS(A##_##M) && !IS_X2_ENDSTOP(A,M) && !IS_Y2_ENDSTOP(A,M) && !IS_Z2_OR_PROBE(A,M)) +#define HAS_X_MIN HAS_STOP_TEST(X,MIN) +#define HAS_X_MAX HAS_STOP_TEST(X,MAX) +#define HAS_Y_MIN HAS_STOP_TEST(Y,MIN) +#define HAS_Y_MAX HAS_STOP_TEST(Y,MAX) +#define HAS_Z_MIN HAS_STOP_TEST(Z,MIN) +#define HAS_Z_MAX HAS_STOP_TEST(Z,MAX) #define HAS_X2_MIN (PIN_EXISTS(X2_MIN)) #define HAS_X2_MAX (PIN_EXISTS(X2_MAX)) #define HAS_Y2_MIN (PIN_EXISTS(Y2_MIN)) @@ -755,16 +799,19 @@ #define HAS_Z2_MAX (PIN_EXISTS(Z2_MAX)) #define HAS_Z_MIN_PROBE_PIN (PIN_EXISTS(Z_MIN_PROBE)) -// Thermistors -#define HAS_TEMP_0 (PIN_EXISTS(TEMP_0) && TEMP_SENSOR_0 != 0 && TEMP_SENSOR_0 > -2) -#define HAS_TEMP_1 (PIN_EXISTS(TEMP_1) && TEMP_SENSOR_1 != 0 && TEMP_SENSOR_1 > -2) -#define HAS_TEMP_2 (PIN_EXISTS(TEMP_2) && TEMP_SENSOR_2 != 0 && TEMP_SENSOR_2 > -2) -#define HAS_TEMP_3 (PIN_EXISTS(TEMP_3) && TEMP_SENSOR_3 != 0 && TEMP_SENSOR_3 > -2) -#define HAS_TEMP_4 (PIN_EXISTS(TEMP_4) && TEMP_SENSOR_4 != 0 && TEMP_SENSOR_4 > -2) -#define HAS_TEMP_HOTEND (HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675)) -#define HAS_TEMP_BED (PIN_EXISTS(TEMP_BED) && TEMP_SENSOR_BED != 0 && TEMP_SENSOR_BED > -2) -#define HAS_TEMP_CHAMBER (PIN_EXISTS(TEMP_CHAMBER) && TEMP_SENSOR_CHAMBER != 0 && TEMP_SENSOR_CHAMBER > -2) -#define HAS_TEMP_SENSOR (HAS_TEMP_HOTEND || HAS_TEMP_BED || HAS_TEMP_CHAMBER) +// ADC Temp Sensors (Thermistor or Thermocouple with amplifier ADC interface) +#define HAS_ADC_TEST(P) (PIN_EXISTS(TEMP_##P) && TEMP_SENSOR_##P != 0 && DISABLED(HEATER_##P##_USES_MAX6675)) +#define HAS_TEMP_ADC_0 HAS_ADC_TEST(0) +#define HAS_TEMP_ADC_1 HAS_ADC_TEST(1) +#define HAS_TEMP_ADC_2 HAS_ADC_TEST(2) +#define HAS_TEMP_ADC_3 HAS_ADC_TEST(3) +#define HAS_TEMP_ADC_4 HAS_ADC_TEST(4) +#define HAS_TEMP_ADC_BED HAS_ADC_TEST(BED) +#define HAS_TEMP_ADC_CHAMBER HAS_ADC_TEST(CHAMBER) + +#define HAS_TEMP_HOTEND (HAS_TEMP_ADC_0 || ENABLED(HEATER_0_USES_MAX6675)) +#define HAS_TEMP_BED HAS_TEMP_ADC_BED +#define HAS_TEMP_CHAMBER HAS_TEMP_ADC_CHAMBER // Heaters #define HAS_HEATER_0 (PIN_EXISTS(HEATER_0)) @@ -774,8 +821,19 @@ #define HAS_HEATER_4 (PIN_EXISTS(HEATER_4)) #define HAS_HEATER_BED (PIN_EXISTS(HEATER_BED)) +// Shorthand for common combinations +#define HAS_HEATED_BED (HAS_TEMP_BED && HAS_HEATER_BED) +#define HAS_TEMP_SENSOR (HAS_TEMP_HOTEND || HAS_HEATED_BED || HAS_TEMP_CHAMBER) + +// PID heating +#if !HAS_HEATED_BED + #undef PIDTEMPBED +#endif +#define HAS_PID_HEATING (ENABLED(PIDTEMP) || ENABLED(PIDTEMPBED)) +#define HAS_PID_FOR_BOTH (ENABLED(PIDTEMP) && ENABLED(PIDTEMPBED)) + // Thermal protection -#define HAS_THERMALLY_PROTECTED_BED (ENABLED(THERMAL_PROTECTION_BED) && HAS_TEMP_BED && HAS_HEATER_BED) +#define HAS_THERMALLY_PROTECTED_BED (HAS_HEATED_BED && ENABLED(THERMAL_PROTECTION_BED)) #define WATCH_HOTENDS (ENABLED(THERMAL_PROTECTION_HOTENDS) && WATCH_TEMP_PERIOD > 0) #define WATCH_THE_BED (HAS_THERMALLY_PROTECTED_BED && WATCH_BED_TEMP_PERIOD > 0) @@ -810,11 +868,15 @@ #define HAS_CONTROLLER_FAN (PIN_EXISTS(CONTROLLER_FAN)) // Servos -#define HAS_SERVOS (defined(NUM_SERVOS) && NUM_SERVOS > 0) #define HAS_SERVO_0 (PIN_EXISTS(SERVO0)) #define HAS_SERVO_1 (PIN_EXISTS(SERVO1)) #define HAS_SERVO_2 (PIN_EXISTS(SERVO2)) #define HAS_SERVO_3 (PIN_EXISTS(SERVO3)) +#define HAS_SERVOS (defined(NUM_SERVOS) && NUM_SERVOS > 0) + +#if HAS_SERVOS && !defined(Z_PROBE_SERVO_NR) + #define Z_PROBE_SERVO_NR -1 +#endif // Sensors #define HAS_FILAMENT_WIDTH_SENSOR (PIN_EXISTS(FILWIDTH)) @@ -897,7 +959,7 @@ /** * Heated bed requires settings */ -#if HAS_HEATER_BED +#if HAS_HEATED_BED #ifndef MAX_BED_POWER #define MAX_BED_POWER 255 #endif @@ -938,19 +1000,20 @@ #define HAS_FANMUX PIN_EXISTS(FANMUX0) /** - * Servos and probes + * MIN/MAX fan PWM scaling */ - -#if HAS_SERVOS - #ifndef Z_PROBE_SERVO_NR - #define Z_PROBE_SERVO_NR -1 - #endif +#ifndef FAN_MIN_PWM + #define FAN_MIN_PWM 0 #endif - -#define HAS_BED_PROBE (PROBE_SELECTED && DISABLED(PROBE_MANUALLY)) - -#if ENABLED(Z_PROBE_ALLEN_KEY) - #define PROBE_IS_TRIGGERED_WHEN_STOWED_TEST +#ifndef FAN_MAX_PWM + #define FAN_MAX_PWM 255 +#endif +#if FAN_MIN_PWM < 0 || FAN_MIN_PWM > 255 + #error "FAN_MIN_PWM must be a value from 0 to 255." +#elif FAN_MAX_PWM < 0 || FAN_MAX_PWM > 255 + #error "FAN_MAX_PWM must be a value from 0 to 255." +#elif FAN_MIN_PWM > FAN_MAX_PWM + #error "FAN_MIN_PWM must be less than or equal to FAN_MAX_PWM." #endif /** @@ -1038,6 +1101,12 @@ #define HAS_MESH (ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(MESH_BED_LEVELING)) #define PLANNER_LEVELING (OLDSCHOOL_ABL || ENABLED(MESH_BED_LEVELING) || UBL_SEGMENTED || ENABLED(SKEW_CORRECTION)) #define HAS_PROBING_PROCEDURE (HAS_ABL || ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST)) +#define HAS_UBL_AND_CURVES (ENABLED(AUTO_BED_LEVELING_UBL) && !PLANNER_LEVELING && (ENABLED(ARC_SUPPORT) || ENABLED(BEZIER_CURVE_SUPPORT))) +#define HAS_FEEDRATE_SCALING (ENABLED(SCARA_FEEDRATE_SCALING) || ENABLED(DELTA_FEEDRATE_SCALING)) + +#if ENABLED(AUTO_BED_LEVELING_UBL) + #undef LCD_BED_LEVELING +#endif /** * Heater & Fan Pausing @@ -1048,6 +1117,10 @@ #define QUIET_PROBING (HAS_BED_PROBE && (ENABLED(PROBING_HEATERS_OFF) || ENABLED(PROBING_FANS_OFF) || DELAY_BEFORE_PROBING > 0)) #define HEATER_IDLE_HANDLER (ENABLED(ADVANCED_PAUSE_FEATURE) || ENABLED(PROBING_HEATERS_OFF)) +#if ENABLED(ADVANCED_PAUSE_FEATURE) && !defined(FILAMENT_CHANGE_SLOW_LOAD_LENGTH) + #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 +#endif + /** * Only constrain Z on DELTA / SCARA machines */ @@ -1112,10 +1185,10 @@ #else // Boundaries for Cartesian probing based on bed limits - #define _MIN_PROBE_X (max(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) - #define _MIN_PROBE_Y (max(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) - #define _MAX_PROBE_X (min(X_MAX_BED - (MIN_PROBE_EDGE), X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) - #define _MAX_PROBE_Y (min(Y_MAX_BED - (MIN_PROBE_EDGE), Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) + #define _MIN_PROBE_X (MAX(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) + #define _MIN_PROBE_Y (MAX(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) + #define _MAX_PROBE_X (MIN(X_MAX_BED - (MIN_PROBE_EDGE), X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) + #define _MAX_PROBE_Y (MIN(Y_MAX_BED - (MIN_PROBE_EDGE), Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) #endif @@ -1152,15 +1225,15 @@ #else // Boundaries for Cartesian probing based on set limits #if ENABLED(AUTO_BED_LEVELING_UBL) - #define _MESH_MIN_X (max(X_MIN_BED + MESH_INSET, X_MIN_POS)) // UBL is careful not to probe off the bed. It does not - #define _MESH_MIN_Y (max(Y_MIN_BED + MESH_INSET, Y_MIN_POS)) // need *_PROBE_OFFSET_FROM_EXTRUDER in the mesh dimensions - #define _MESH_MAX_X (min(X_MAX_BED - (MESH_INSET), X_MAX_POS)) - #define _MESH_MAX_Y (min(Y_MAX_BED - (MESH_INSET), Y_MAX_POS)) + #define _MESH_MIN_X (MAX(X_MIN_BED + MESH_INSET, X_MIN_POS)) // UBL is careful not to probe off the bed. It does not + #define _MESH_MIN_Y (MAX(Y_MIN_BED + MESH_INSET, Y_MIN_POS)) // need *_PROBE_OFFSET_FROM_EXTRUDER in the mesh dimensions + #define _MESH_MAX_X (MIN(X_MAX_BED - (MESH_INSET), X_MAX_POS)) + #define _MESH_MAX_Y (MIN(Y_MAX_BED - (MESH_INSET), Y_MAX_POS)) #else - #define _MESH_MIN_X (max(X_MIN_BED + MESH_INSET, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) - #define _MESH_MIN_Y (max(Y_MIN_BED + MESH_INSET, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) - #define _MESH_MAX_X (min(X_MAX_BED - (MESH_INSET), X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) - #define _MESH_MAX_Y (min(Y_MAX_BED - (MESH_INSET), Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) + #define _MESH_MIN_X (MAX(X_MIN_BED + MESH_INSET, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) + #define _MESH_MIN_Y (MAX(Y_MIN_BED + MESH_INSET, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) + #define _MESH_MAX_X (MIN(X_MAX_BED - (MESH_INSET), X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER)) + #define _MESH_MAX_Y (MIN(Y_MAX_BED - (MESH_INSET), Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER)) #endif #endif @@ -1284,21 +1357,18 @@ #define Z_HOMING_HEIGHT Z_CLEARANCE_BETWEEN_PROBES #endif #endif -#ifndef Z_CLEARANCE_BETWEEN_PROBES - #define Z_CLEARANCE_BETWEEN_PROBES Z_HOMING_HEIGHT -#endif -#if Z_CLEARANCE_BETWEEN_PROBES > Z_HOMING_HEIGHT - #define MANUAL_PROBE_HEIGHT Z_CLEARANCE_BETWEEN_PROBES -#else - #define MANUAL_PROBE_HEIGHT Z_HOMING_HEIGHT -#endif -// Stepper pulse duration, in cycles -#define STEP_PULSE_CYCLES ((MINIMUM_STEPPER_PULSE) * CYCLES_PER_MICROSECOND) -#ifdef CPU_32_BIT - // Add additional delay for between direction signal and pulse signal of stepper - #ifndef STEPPER_DIRECTION_DELAY - #define STEPPER_DIRECTION_DELAY 0 // time in microseconds +#if PROBE_SELECTED + #ifndef Z_CLEARANCE_BETWEEN_PROBES + #define Z_CLEARANCE_BETWEEN_PROBES Z_HOMING_HEIGHT + #endif + #if Z_CLEARANCE_BETWEEN_PROBES > Z_HOMING_HEIGHT + #define MANUAL_PROBE_HEIGHT Z_CLEARANCE_BETWEEN_PROBES + #else + #define MANUAL_PROBE_HEIGHT Z_HOMING_HEIGHT + #endif + #ifndef Z_CLEARANCE_MULTI_PROBE + #define Z_CLEARANCE_MULTI_PROBE Z_CLEARANCE_BETWEEN_PROBES #endif #endif @@ -1326,7 +1396,7 @@ #define GRID_MAX_POINTS ((GRID_MAX_POINTS_X) * (GRID_MAX_POINTS_Y)) // Add commands that need sub-codes to this list -#define USE_GCODE_SUBCODES ENABLED(G38_PROBE_TARGET) || ENABLED(CNC_COORDINATE_SYSTEMS) +#define USE_GCODE_SUBCODES ENABLED(G38_PROBE_TARGET) || ENABLED(CNC_COORDINATE_SYSTEMS) || ENABLED(POWER_LOSS_RECOVERY) // Parking Extruder #if ENABLED(PARKING_EXTRUDER) @@ -1338,36 +1408,6 @@ #endif #endif -// Use float instead of double. Needs profiling. -#if defined(ARDUINO_ARCH_SAM) && ENABLED(DELTA_FAST_SQRT) - #undef ATAN2 - #undef FABS - #undef POW - #undef SQRT - #undef CEIL - #undef FLOOR - #undef LROUND - #undef FMOD - #define ATAN2(y, x) atan2f(y, x) - #define FABS(x) fabsf(x) - #define POW(x, y) powf(x, y) - #define SQRT(x) sqrtf(x) - #define CEIL(x) ceilf(x) - #define FLOOR(x) floorf(x) - #define LROUND(x) lroundf(x) - #define FMOD(x, y) fmodf(x, y) -#endif - -#ifdef TEENSYDUINO - #undef max - #define max(a,b) ((a)>(b)?(a):(b)) - #undef min - #define min(a,b) ((a)<(b)?(a):(b)) - - #undef NOT_A_PIN // Override Teensyduino legacy CapSense define work-around - #define NOT_A_PIN 0 // For PINS_DEBUGGING -#endif - // Number of VFAT entries used. Each entry has 13 UTF-16 characters #if ENABLED(SCROLL_LONG_FILENAMES) #define MAX_VFAT_ENTRIES (5) @@ -1440,4 +1480,8 @@ // If platform requires early initialization of watchdog to properly boot #define EARLY_WATCHDOG (ENABLED(USE_WATCHDOG) && defined(ARDUINO_ARCH_SAM)) +#if ENABLED(G29_RETRY_AND_RECOVER) + #define USE_EXECUTE_COMMANDS_IMMEDIATE +#endif + #endif // CONDITIONALS_POST_H diff --git a/Marlin/src/inc/MarlinConfig.h b/Marlin/src/inc/MarlinConfig.h index 1e4a96e5149b..539726e4056e 100644 --- a/Marlin/src/inc/MarlinConfig.h +++ b/Marlin/src/inc/MarlinConfig.h @@ -25,14 +25,18 @@ #include "MarlinConfigPre.h" -#include "../HAL/HAL.h" +#include HAL_PATH(../HAL, HAL.h) + #include "../pins/pins.h" + #if defined(__AVR__) && !defined(USBCON) #define HardwareSerial_h // trick to disable the standard HWserial #endif + #include "Conditionals_post.h" #include "SanityCheck.h" -#include "../HAL/HAL_SanityCheck.h" + +#include HAL_PATH(../HAL, SanityCheck.h) // Include all core headers #include "../core/enum.h" diff --git a/Marlin/src/inc/MarlinConfigPre.h b/Marlin/src/inc/MarlinConfigPre.h index fb7258fb0a83..c29de37c9646 100644 --- a/Marlin/src/inc/MarlinConfigPre.h +++ b/Marlin/src/inc/MarlinConfigPre.h @@ -23,14 +23,15 @@ #ifndef _MARLIN_CONFIGPRE_H_ #define _MARLIN_CONFIGPRE_H_ +#include "../HAL/platforms.h" #include "../core/boards.h" #include "../core/macros.h" +#include "../core/types.h" #include "Version.h" #include "../../Configuration.h" +#include "../core/drivers.h" #include "Conditionals_LCD.h" #include "../../Configuration_adv.h" #include "Conditionals_adv.h" -#include "../core/types.h" - #endif // _MARLIN_CONFIGPRE_H_ diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 8af08e09cec0..2dcac8015da2 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -42,18 +42,21 @@ * the bleeding-edge source code, but sometimes this is not enough. This check * forces a minimum config file revision. Otherwise Marlin will not build. */ -#if !defined(CONFIGURATION_H_VERSION) || CONFIGURATION_H_VERSION < REQUIRED_CONFIGURATION_H_VERSION +#define HEXIFY(H) _CAT(0x,H) +#if !defined(CONFIGURATION_H_VERSION) || HEXIFY(CONFIGURATION_H_VERSION) < HEXIFY(REQUIRED_CONFIGURATION_H_VERSION) #error "You are using an old Configuration.h file, update it before building Marlin." #endif -#if !defined(CONFIGURATION_ADV_H_VERSION) || CONFIGURATION_ADV_H_VERSION < REQUIRED_CONFIGURATION_ADV_H_VERSION +#if !defined(CONFIGURATION_ADV_H_VERSION) || HEXIFY(CONFIGURATION_ADV_H_VERSION) < HEXIFY(REQUIRED_CONFIGURATION_ADV_H_VERSION) #error "You are using an old Configuration_adv.h file, update it before building Marlin." #endif /** * Warnings for old configurations */ -#if !defined(X_BED_SIZE) || !defined(Y_BED_SIZE) +#ifndef MOTHERBOARD + #error "MOTHERBOARD is required. Please update your configuration." +#elif !defined(X_BED_SIZE) || !defined(Y_BED_SIZE) #error "X_BED_SIZE and Y_BED_SIZE are now required! Please update your configuration." #elif WATCH_TEMP_PERIOD > 500 #error "WATCH_TEMP_PERIOD now uses seconds instead of milliseconds." @@ -99,8 +102,6 @@ #error "Z_ENDSTOP_SERVO_NR is now Z_PROBE_SERVO_NR. Please update your configuration." #elif defined(DEFAULT_XYJERK) #error "DEFAULT_XYJERK is deprecated. Use DEFAULT_XJERK and DEFAULT_YJERK instead." -#elif ENABLED(BEZIER_JERK_CONTROL) && !defined(CPU_32_BIT) - #error "BEZIER_JERK_CONTROL is computationally intensive and requires a 32-bit board." #elif defined(XY_TRAVEL_SPEED) #error "XY_TRAVEL_SPEED is deprecated. Use XY_PROBE_SPEED instead." #elif defined(PROBE_SERVO_DEACTIVATION_DELAY) @@ -132,9 +133,13 @@ #elif defined(FILAMENT_CHANGE_RETRACT_LENGTH) #error "FILAMENT_CHANGE_RETRACT_LENGTH is now PAUSE_PARK_RETRACT_LENGTH. Please update your configuration." #elif defined(FILAMENT_CHANGE_EXTRUDE_FEEDRATE) - #error "FILAMENT_CHANGE_EXTRUDE_FEEDRATE is now ADVANCED_PAUSE_EXTRUDE_FEEDRATE. Please update your configuration." + #error "FILAMENT_CHANGE_EXTRUDE_FEEDRATE is now ADVANCED_PAUSE_PURGE_FEEDRATE. Please update your configuration." +#elif defined(ADVANCED_PAUSE_EXTRUDE_FEEDRATE) + #error "ADVANCED_PAUSE_EXTRUDE_FEEDRATE is now ADVANCED_PAUSE_PURGE_FEEDRATE. Please update your configuration." #elif defined(FILAMENT_CHANGE_EXTRUDE_LENGTH) - #error "FILAMENT_CHANGE_EXTRUDE_LENGTH is now ADVANCED_PAUSE_EXTRUDE_LENGTH. Please update your configuration." + #error "FILAMENT_CHANGE_EXTRUDE_LENGTH is now ADVANCED_PAUSE_PURGE_LENGTH. Please update your configuration." +#elif defined(ADVANCED_PAUSE_EXTRUDE_LENGTH) + #error "ADVANCED_PAUSE_EXTRUDE_LENGTH is now ADVANCED_PAUSE_PURGE_LENGTH. Please update your configuration." #elif defined(FILAMENT_CHANGE_NOZZLE_TIMEOUT) #error "FILAMENT_CHANGE_NOZZLE_TIMEOUT is now PAUSE_PARK_NOZZLE_TIMEOUT. Please update your configuration." #elif defined(FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS) @@ -179,6 +184,8 @@ #error "MANUAL_PROBE_Z_RANGE is now LCD_PROBE_Z_RANGE. Please update your configuration." #elif !defined(MIN_STEPS_PER_SEGMENT) #error Please replace "const int dropsegments" with "#define MIN_STEPS_PER_SEGMENT" (and increase by 1) in Configuration_adv.h. +#elif MIN_STEPS_PER_SEGMENT <= 0 + #error "MIN_STEPS_PER_SEGMENT must be at least 1. Please update your Configuration_adv.h." #elif defined(PREVENT_DANGEROUS_EXTRUDE) #error "PREVENT_DANGEROUS_EXTRUDE is now PREVENT_COLD_EXTRUSION. Please update your configuration." #elif defined(SCARA) @@ -258,12 +265,59 @@ #elif defined(MEASURED_LOWER_LIMIT) || defined(MEASURED_UPPER_LIMIT) #error "MEASURED_(UPPER|LOWER)_LIMIT is now FILWIDTH_ERROR_MARGIN. Please update your configuration." #elif defined(HAVE_TMCDRIVER) - #error "HAVE_TMCDRIVER is now HAVE_TMC26X. Please update your Configuration_adv.h." + #error "HAVE_TMCDRIVER is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h." +#elif defined(HAVE_TMC26X) + #error "HAVE_TMC26X is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h." +#elif defined(HAVE_TMC2130) + #error "HAVE_TMC2130 is now [AXIS]_DRIVER_TYPE TMC2130. Please update your Configuration.h." +#elif defined(HAVE_L6470DRIVER) + #error "HAVE_L6470DRIVER is now [AXIS]_DRIVER_TYPE L6470. Please update your Configuration.h." #elif defined(X_IS_TMC) || defined(X2_IS_TMC) || defined(Y_IS_TMC) || defined(Y2_IS_TMC) || defined(Z_IS_TMC) || defined(Z2_IS_TMC) \ || defined(E0_IS_TMC) || defined(E1_IS_TMC) || defined(E2_IS_TMC) || defined(E3_IS_TMC) || defined(E4_IS_TMC) - #error "[AXIS]_IS_TMC is now [AXIS]_IS_TMC26X. Please update your Configuration_adv.h." + #error "[AXIS]_IS_TMC is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h." +#elif defined(X_IS_TMC26X) || defined(X2_IS_TMC26X) || defined(Y_IS_TMC26X) || defined(Y2_IS_TMC26X) || defined(Z_IS_TMC26X) || defined(Z2_IS_TMC26X) \ + || defined(E0_IS_TMC26X) || defined(E1_IS_TMC26X) || defined(E2_IS_TMC26X) || defined(E3_IS_TMC26X) || defined(E4_IS_TMC26X) + #error "[AXIS]_IS_TMC26X is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h." +#elif defined(X_IS_TMC2130) || defined(X2_IS_TMC2130) || defined(Y_IS_TMC2130) || defined(Y2_IS_TMC2130) || defined(Z_IS_TMC2130) || defined(Z2_IS_TMC2130) \ + || defined(E0_IS_TMC2130) || defined(E1_IS_TMC2130) || defined(E2_IS_TMC2130) || defined(E3_IS_TMC2130) || defined(E4_IS_TMC2130) + #error "[AXIS]_IS_TMC2130 is now [AXIS]_DRIVER_TYPE TMC2130. Please update your Configuration.h." +#elif defined(X_IS_TMC2208) || defined(X2_IS_TMC2208) || defined(Y_IS_TMC2208) || defined(Y2_IS_TMC2208) || defined(Z_IS_TMC2208) || defined(Z2_IS_TMC2208) \ + || defined(E0_IS_TMC2208) || defined(E1_IS_TMC2208) || defined(E2_IS_TMC2208) || defined(E3_IS_TMC2208) || defined(E4_IS_TMC2208) + #error "[AXIS]_IS_TMC2208 is now [AXIS]_DRIVER_TYPE TMC2208. Please update your Configuration.h." +#elif defined(X_IS_L6470) || defined(X2_IS_L6470) || defined(Y_IS_L6470) || defined(Y2_IS_L6470) || defined(Z_IS_L6470) || defined(Z2_IS_L6470) \ + || defined(E0_IS_L6470) || defined(E1_IS_L6470) || defined(E2_IS_L6470) || defined(E3_IS_L6470) || defined(E4_IS_L6470) + #error "[AXIS]_IS_L6470 is now [AXIS]_DRIVER_TYPE L6470. Please update your Configuration.h." #elif defined(AUTOMATIC_CURRENT_CONTROL) #error "AUTOMATIC_CURRENT_CONTROL is now MONITOR_DRIVER_STATUS. Please update your configuration." +#elif defined(FILAMENT_CHANGE_LOAD_LENGTH) + #error "FILAMENT_CHANGE_LOAD_LENGTH is now FILAMENT_CHANGE_FAST_LOAD_LENGTH. Please update your configuration." +#elif ENABLED(LEVEL_BED_CORNERS) && !defined(LEVEL_CORNERS_INSET) + #error "LEVEL_BED_CORNERS requires a LEVEL_CORNERS_INSET value. Please update your Configuration.h." +#elif defined(BEZIER_JERK_CONTROL) + #error "BEZIER_JERK_CONTROL is now S_CURVE_ACCELERATION. Please update your configuration." +#elif defined(JUNCTION_DEVIATION_FACTOR) + #error "JUNCTION_DEVIATION_FACTOR is now JUNCTION_DEVIATION_MM. Please update your configuration." +#elif defined(JUNCTION_ACCELERATION_FACTOR) + #error "JUNCTION_ACCELERATION_FACTOR is obsolete. Delete it from Configuration_adv.h." +#elif defined(JUNCTION_ACCELERATION) + #error "JUNCTION_ACCELERATION is obsolete. Delete it from Configuration_adv.h." +#elif defined(MAX7219_DEBUG_STEPPER_HEAD) + #error "MAX7219_DEBUG_STEPPER_HEAD is now MAX7219_DEBUG_PLANNER_HEAD. Please update your configuration." +#elif defined(MAX7219_DEBUG_STEPPER_TAIL) + #error "MAX7219_DEBUG_STEPPER_TAIL is now MAX7219_DEBUG_PLANNER_TAIL. Please update your configuration." +#elif defined(MAX7219_DEBUG_STEPPER_QUEUE) + #error "MAX7219_DEBUG_STEPPER_QUEUE is now MAX7219_DEBUG_PLANNER_QUEUE. Please update your configuration." +#endif + +#define BOARD_MKS_13 -47 +#define BOARD_TRIGORILLA -343 +#define BOARD_RURAMPS4D -1550 +#if MB(MKS_13) + #error "BOARD_MKS_13 has been renamed BOARD_MKS_GEN_13. Please update your configuration." +#elif MB(BOARD_TRIGORILLA) + #error "BOARD_TRIGORILLA has been renamed BOARD_TRIGORILLA_13. Please update your configuration." +#elif MB(BOARD_RURAMPS4D) + #error "BOARD_RURAMPS4D has been renamed BOARD_RURAMPS4D_11. Please update your configuration." #endif /** @@ -306,6 +360,10 @@ #error "Set SERIAL_PORT to the port on your board. Usually this is 0." #endif +#if SERIAL_PORT_2 && NUM_SERIAL < 2 + #error "SERIAL_PORT_2 is not supported for your MOTHERBOARD. Disable it to continue." +#endif + /** * Dual Stepper Drivers */ @@ -448,7 +506,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #elif ENABLED(BABYSTEP_ZPROBE_OFFSET) && !HAS_BED_PROBE #error "BABYSTEP_ZPROBE_OFFSET requires a probe." #elif ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) && !ENABLED(DOGLCD) - #error "BABYSTEP_ZPROBE_GFX_OVERLAY requires a DOGLCD." + #error "BABYSTEP_ZPROBE_GFX_OVERLAY requires a Graphical LCD." #elif ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) && !ENABLED(BABYSTEP_ZPROBE_OFFSET) #error "BABYSTEP_ZPROBE_GFX_OVERLAY requires a BABYSTEP_ZPROBE_OFFSET." #endif @@ -493,8 +551,10 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #error "ADVANCED_PAUSE_FEATURE requires NOZZLE_PARK_FEATURE." #elif ENABLED(PREVENT_LENGTHY_EXTRUDE) && FILAMENT_CHANGE_UNLOAD_LENGTH > EXTRUDE_MAXLENGTH #error "FILAMENT_CHANGE_UNLOAD_LENGTH must be less than or equal to EXTRUDE_MAXLENGTH." - #elif ENABLED(PREVENT_LENGTHY_EXTRUDE) && FILAMENT_CHANGE_LOAD_LENGTH > EXTRUDE_MAXLENGTH - #error "FILAMENT_CHANGE_LOAD_LENGTH must be less than or equal to EXTRUDE_MAXLENGTH." + #elif ENABLED(PREVENT_LENGTHY_EXTRUDE) && FILAMENT_CHANGE_SLOW_LOAD_LENGTH > EXTRUDE_MAXLENGTH + #error "FILAMENT_CHANGE_SLOW_LOAD_LENGTH must be less than or equal to EXTRUDE_MAXLENGTH." + #elif ENABLED(PREVENT_LENGTHY_EXTRUDE) && FILAMENT_CHANGE_FAST_LOAD_LENGTH > EXTRUDE_MAXLENGTH + #error "FILAMENT_CHANGE_FAST_LOAD_LENGTH must be less than or equal to EXTRUDE_MAXLENGTH." #endif #endif @@ -784,6 +844,9 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #error "Z_PROBE_LOW_POINT must be less than or equal to 0." #endif + static_assert(int(X_PROBE_OFFSET_FROM_EXTRUDER) == (X_PROBE_OFFSET_FROM_EXTRUDER), "X_PROBE_OFFSET_FROM_EXTRUDER must be an integer value."); + static_assert(int(Y_PROBE_OFFSET_FROM_EXTRUDER) == (Y_PROBE_OFFSET_FROM_EXTRUDER), "Y_PROBE_OFFSET_FROM_EXTRUDER must be an integer value."); + #else /** @@ -897,14 +960,18 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #error "MESH_EDIT_GFX_OVERLAY requires AUTO_BED_LEVELING_UBL and a Graphical LCD." #endif +#if ENABLED(G29_RETRY_AND_RECOVER) && HAS_LEVELING && !OLDSCHOOL_ABL + #error "G29_RETRY_AND_RECOVER currently only supports ABL" +#endif + /** * LCD_BED_LEVELING requirements */ #if ENABLED(LCD_BED_LEVELING) #if DISABLED(ULTIPANEL) #error "LCD_BED_LEVELING requires an LCD controller." - #elif !(ENABLED(MESH_BED_LEVELING) || (OLDSCHOOL_ABL && ENABLED(PROBE_MANUALLY))) - #error "LCD_BED_LEVELING requires MESH_BED_LEVELING or ABL with PROBE_MANUALLY." + #elif !(ENABLED(MESH_BED_LEVELING) || OLDSCHOOL_ABL) + #error "LCD_BED_LEVELING requires MESH_BED_LEVELING or AUTO_BED_LEVELING." #endif #endif @@ -928,15 +995,11 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, */ #if ENABLED(Z_SAFE_HOMING) #if HAS_BED_PROBE - static_assert(WITHIN(Z_SAFE_HOMING_X_POINT, MIN_PROBE_X, MAX_PROBE_X), - "Z_SAFE_HOMING_X_POINT is outside the probe region."); - static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, MIN_PROBE_Y, MAX_PROBE_Y), - "Z_SAFE_HOMING_Y_POINT is outside the probe region."); + static_assert(WITHIN(Z_SAFE_HOMING_X_POINT, MIN_PROBE_X, MAX_PROBE_X), "Z_SAFE_HOMING_X_POINT is outside the probe region."); + static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, MIN_PROBE_Y, MAX_PROBE_Y), "Z_SAFE_HOMING_Y_POINT is outside the probe region."); #else - static_assert(WITHIN(Z_SAFE_HOMING_X_POINT, X_MIN_POS, X_MAX_POS), - "Z_SAFE_HOMING_X_POINT can't be reached by the nozzle."); - static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, Y_MIN_POS, Y_MAX_POS), - "Z_SAFE_HOMING_Y_POINT can't be reached by the nozzle."); + static_assert(WITHIN(Z_SAFE_HOMING_X_POINT, X_MIN_POS, X_MAX_POS), "Z_SAFE_HOMING_X_POINT can't be reached by the nozzle."); + static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, Y_MIN_POS, Y_MAX_POS), "Z_SAFE_HOMING_Y_POINT can't be reached by the nozzle."); #endif #endif // Z_SAFE_HOMING @@ -974,8 +1037,12 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, /** * SAV_3DGLCD display options */ -#if ENABLED(U8GLIB_SSD1306) && ENABLED(U8GLIB_SH1106) - #error "Only enable one SAV_3DGLCD display type: U8GLIB_SSD1306 or U8GLIB_SH1106." +#if ENABLED(SAV_3DGLCD) + #if DISABLED(U8GLIB_SSD1306) && DISABLED(U8GLIB_SH1106) + #error "Enable a SAV_3DGLCD display type: U8GLIB_SSD1306 or U8GLIB_SH1106." + #elif ENABLED(U8GLIB_SSD1306) && ENABLED(U8GLIB_SH1106) + #error "Only enable one SAV_3DGLCD display type: U8GLIB_SSD1306 or U8GLIB_SH1106." + #endif #endif /** @@ -1128,6 +1195,13 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #error "TEMP_STAT_LEDS requires STAT_LED_RED_PIN or STAT_LED_BLUE_PIN, preferably both." #endif +/** + * LED Control Menu + */ +#if ENABLED(LED_CONTROL_MENU) && !HAS_COLOR_LEDS + #error "LED_CONTROL_MENU requires BLINKM, RGB_LED, RGBW_LED, PCA9632, or NEOPIXEL_LED." +#endif + /** * Basic 2-nozzle duplication mode */ @@ -1207,18 +1281,18 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #if ENABLED(X_DUAL_ENDSTOPS) #if !X2_USE_ENDSTOP #error "You must set X2_USE_ENDSTOP with X_DUAL_ENDSTOPS." - #elif X2_USE_ENDSTOP == _X_MIN_ && DISABLED(USE_XMIN_PLUG) - #error "USE_XMIN_PLUG is required when X2_USE_ENDSTOP is _X_MIN_." - #elif X2_USE_ENDSTOP == _X_MAX_ && DISABLED(USE_XMAX_PLUG) - #error "USE_XMAX_PLUG is required when X2_USE_ENDSTOP is _X_MAX_." - #elif X2_USE_ENDSTOP == _Y_MIN_ && DISABLED(USE_YMIN_PLUG) - #error "USE_YMIN_PLUG is required when X2_USE_ENDSTOP is _Y_MIN_." - #elif X2_USE_ENDSTOP == _Y_MAX_ && DISABLED(USE_YMAX_PLUG) - #error "USE_YMAX_PLUG is required when X2_USE_ENDSTOP is _Y_MAX_." - #elif X2_USE_ENDSTOP == _Z_MIN_ && DISABLED(USE_ZMIN_PLUG) - #error "USE_ZMIN_PLUG is required when X2_USE_ENDSTOP is _Z_MIN_." - #elif X2_USE_ENDSTOP == _Z_MAX_ && DISABLED(USE_ZMAX_PLUG) - #error "USE_ZMAX_PLUG is required when X2_USE_ENDSTOP is _Z_MAX_." + #elif X2_USE_ENDSTOP == _XMIN_ && DISABLED(USE_XMIN_PLUG) + #error "USE_XMIN_PLUG is required when X2_USE_ENDSTOP is _XMIN_." + #elif X2_USE_ENDSTOP == _XMAX_ && DISABLED(USE_XMAX_PLUG) + #error "USE_XMAX_PLUG is required when X2_USE_ENDSTOP is _XMAX_." + #elif X2_USE_ENDSTOP == _YMIN_ && DISABLED(USE_YMIN_PLUG) + #error "USE_YMIN_PLUG is required when X2_USE_ENDSTOP is _YMIN_." + #elif X2_USE_ENDSTOP == _YMAX_ && DISABLED(USE_YMAX_PLUG) + #error "USE_YMAX_PLUG is required when X2_USE_ENDSTOP is _YMAX_." + #elif X2_USE_ENDSTOP == _ZMIN_ && DISABLED(USE_ZMIN_PLUG) + #error "USE_ZMIN_PLUG is required when X2_USE_ENDSTOP is _ZMIN_." + #elif X2_USE_ENDSTOP == _ZMAX_ && DISABLED(USE_ZMAX_PLUG) + #error "USE_ZMAX_PLUG is required when X2_USE_ENDSTOP is _ZMAX_." #elif !HAS_X2_MIN && !HAS_X2_MAX #error "X2_USE_ENDSTOP has been assigned to a nonexistent endstop!" #elif ENABLED(DELTA) @@ -1228,18 +1302,18 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #if ENABLED(Y_DUAL_ENDSTOPS) #if !Y2_USE_ENDSTOP #error "You must set Y2_USE_ENDSTOP with Y_DUAL_ENDSTOPS." - #elif Y2_USE_ENDSTOP == _X_MIN_ && DISABLED(USE_XMIN_PLUG) - #error "USE_XMIN_PLUG is required when Y2_USE_ENDSTOP is _X_MIN_." - #elif Y2_USE_ENDSTOP == _X_MAX_ && DISABLED(USE_XMAX_PLUG) - #error "USE_XMAX_PLUG is required when Y2_USE_ENDSTOP is _X_MAX_." - #elif Y2_USE_ENDSTOP == _Y_MIN_ && DISABLED(USE_YMIN_PLUG) - #error "USE_YMIN_PLUG is required when Y2_USE_ENDSTOP is _Y_MIN_." - #elif Y2_USE_ENDSTOP == _Y_MAX_ && DISABLED(USE_YMAX_PLUG) - #error "USE_YMAX_PLUG is required when Y2_USE_ENDSTOP is _Y_MAX_." - #elif Y2_USE_ENDSTOP == _Z_MIN_ && DISABLED(USE_ZMIN_PLUG) - #error "USE_ZMIN_PLUG is required when Y2_USE_ENDSTOP is _Z_MIN_." - #elif Y2_USE_ENDSTOP == _Z_MAX_ && DISABLED(USE_ZMAX_PLUG) - #error "USE_ZMAX_PLUG is required when Y2_USE_ENDSTOP is _Z_MAX_." + #elif Y2_USE_ENDSTOP == _XMIN_ && DISABLED(USE_XMIN_PLUG) + #error "USE_XMIN_PLUG is required when Y2_USE_ENDSTOP is _XMIN_." + #elif Y2_USE_ENDSTOP == _XMAX_ && DISABLED(USE_XMAX_PLUG) + #error "USE_XMAX_PLUG is required when Y2_USE_ENDSTOP is _XMAX_." + #elif Y2_USE_ENDSTOP == _YMIN_ && DISABLED(USE_YMIN_PLUG) + #error "USE_YMIN_PLUG is required when Y2_USE_ENDSTOP is _YMIN_." + #elif Y2_USE_ENDSTOP == _YMAX_ && DISABLED(USE_YMAX_PLUG) + #error "USE_YMAX_PLUG is required when Y2_USE_ENDSTOP is _YMAX_." + #elif Y2_USE_ENDSTOP == _ZMIN_ && DISABLED(USE_ZMIN_PLUG) + #error "USE_ZMIN_PLUG is required when Y2_USE_ENDSTOP is _ZMIN_." + #elif Y2_USE_ENDSTOP == _ZMAX_ && DISABLED(USE_ZMAX_PLUG) + #error "USE_ZMAX_PLUG is required when Y2_USE_ENDSTOP is _ZMAX_." #elif !HAS_Y2_MIN && !HAS_Y2_MAX #error "Y2_USE_ENDSTOP has been assigned to a nonexistent endstop!" #elif ENABLED(DELTA) @@ -1249,18 +1323,18 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #if ENABLED(Z_DUAL_ENDSTOPS) #if !Z2_USE_ENDSTOP #error "You must set Z2_USE_ENDSTOP with Z_DUAL_ENDSTOPS." - #elif Z2_USE_ENDSTOP == _X_MIN_ && DISABLED(USE_XMIN_PLUG) - #error "USE_XMIN_PLUG is required when Z2_USE_ENDSTOP is _X_MIN_." - #elif Z2_USE_ENDSTOP == _X_MAX_ && DISABLED(USE_XMAX_PLUG) - #error "USE_XMAX_PLUG is required when Z2_USE_ENDSTOP is _X_MAX_." - #elif Z2_USE_ENDSTOP == _Y_MIN_ && DISABLED(USE_YMIN_PLUG) - #error "USE_YMIN_PLUG is required when Z2_USE_ENDSTOP is _Y_MIN_." - #elif Z2_USE_ENDSTOP == _Y_MAX_ && DISABLED(USE_YMAX_PLUG) - #error "USE_YMAX_PLUG is required when Z2_USE_ENDSTOP is _Y_MAX_." - #elif Z2_USE_ENDSTOP == _Z_MIN_ && DISABLED(USE_ZMIN_PLUG) - #error "USE_ZMIN_PLUG is required when Z2_USE_ENDSTOP is _Z_MIN_." - #elif Z2_USE_ENDSTOP == _Z_MAX_ && DISABLED(USE_ZMAX_PLUG) - #error "USE_ZMAX_PLUG is required when Z2_USE_ENDSTOP is _Z_MAX_." + #elif Z2_USE_ENDSTOP == _XMIN_ && DISABLED(USE_XMIN_PLUG) + #error "USE_XMIN_PLUG is required when Z2_USE_ENDSTOP is _XMIN_." + #elif Z2_USE_ENDSTOP == _XMAX_ && DISABLED(USE_XMAX_PLUG) + #error "USE_XMAX_PLUG is required when Z2_USE_ENDSTOP is _XMAX_." + #elif Z2_USE_ENDSTOP == _YMIN_ && DISABLED(USE_YMIN_PLUG) + #error "USE_YMIN_PLUG is required when Z2_USE_ENDSTOP is _YMIN_." + #elif Z2_USE_ENDSTOP == _YMAX_ && DISABLED(USE_YMAX_PLUG) + #error "USE_YMAX_PLUG is required when Z2_USE_ENDSTOP is _YMAX_." + #elif Z2_USE_ENDSTOP == _ZMIN_ && DISABLED(USE_ZMIN_PLUG) + #error "USE_ZMIN_PLUG is required when Z2_USE_ENDSTOP is _ZMIN_." + #elif Z2_USE_ENDSTOP == _ZMAX_ && DISABLED(USE_ZMAX_PLUG) + #error "USE_ZMAX_PLUG is required when Z2_USE_ENDSTOP is _ZMAX_." #elif !HAS_Z2_MIN && !HAS_Z2_MAX #error "Z2_USE_ENDSTOP has been assigned to a nonexistent endstop!" #elif ENABLED(DELTA) @@ -1401,122 +1475,36 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #endif /** - * Make sure HAVE_TMC26X is warranted + * Check existing CS pins against enabled TMC SPI drivers. */ -#if ENABLED(HAVE_TMC26X) && !( \ - ENABLED( X_IS_TMC26X ) \ - || ENABLED( X2_IS_TMC26X ) \ - || ENABLED( Y_IS_TMC26X ) \ - || ENABLED( Y2_IS_TMC26X ) \ - || ENABLED( Z_IS_TMC26X ) \ - || ENABLED( Z2_IS_TMC26X ) \ - || ENABLED( E0_IS_TMC26X ) \ - || ENABLED( E1_IS_TMC26X ) \ - || ENABLED( E2_IS_TMC26X ) \ - || ENABLED( E3_IS_TMC26X ) \ - || ENABLED( E4_IS_TMC26X ) \ - ) - #error "HAVE_TMC26X requires at least one TMC26X stepper to be set." -#endif - -/** - * Make sure HAVE_TMC2130 is warranted - */ -#if ENABLED(HAVE_TMC2130) - #if !( ENABLED( X_IS_TMC2130 ) \ - || ENABLED( X2_IS_TMC2130 ) \ - || ENABLED( Y_IS_TMC2130 ) \ - || ENABLED( Y2_IS_TMC2130 ) \ - || ENABLED( Z_IS_TMC2130 ) \ - || ENABLED( Z2_IS_TMC2130 ) \ - || ENABLED( E0_IS_TMC2130 ) \ - || ENABLED( E1_IS_TMC2130 ) \ - || ENABLED( E2_IS_TMC2130 ) \ - || ENABLED( E3_IS_TMC2130 ) \ - || ENABLED( E4_IS_TMC2130 ) ) - #error "HAVE_TMC2130 requires at least one TMC2130 stepper to be set." - #elif ENABLED(HYBRID_THRESHOLD) && DISABLED(STEALTHCHOP) - #error "Enable STEALTHCHOP to use HYBRID_THRESHOLD." - #endif - - #if ENABLED(X_IS_TMC2130) && !PIN_EXISTS(X_CS) - #error "X_CS_PIN is required for X_IS_TMC2130. Define X_CS_PIN in Configuration_adv.h." - #elif ENABLED(X2_IS_TMC2130) && !PIN_EXISTS(X2_CS) - #error "X2_CS_PIN is required for X2_IS_TMC2130. Define X2_CS_PIN in Configuration_adv.h." - #elif ENABLED(Y_IS_TMC2130) && !PIN_EXISTS(Y_CS) - #error "Y_CS_PIN is required for Y_IS_TMC2130. Define Y_CS_PIN in Configuration_adv.h." - #elif ENABLED(Y2_IS_TMC2130) && !PIN_EXISTS(Y2_CS) - #error "Y2_CS_PIN is required for Y2_IS_TMC2130. Define Y2_CS_PIN in Configuration_adv.h." - #elif ENABLED(Z_IS_TMC2130) && !PIN_EXISTS(Z_CS) - #error "Z_CS_PIN is required for Z_IS_TMC2130. Define Z_CS_PIN in Configuration_adv.h." - #elif ENABLED(Z2_IS_TMC2130) && !PIN_EXISTS(Z2_CS) - #error "Z2_CS_PIN is required for Z2_IS_TMC2130. Define Z2_CS_PIN in Configuration_adv.h." - #elif ENABLED(E0_IS_TMC2130) && !PIN_EXISTS(E0_CS) - #error "E0_CS_PIN is required for E0_IS_TMC2130. Define E0_CS_PIN in Configuration_adv.h." - #elif ENABLED(E1_IS_TMC2130) && !PIN_EXISTS(E1_CS) - #error "E1_CS_PIN is required for E1_IS_TMC2130. Define E1_CS_PIN in Configuration_adv.h." - #elif ENABLED(E2_IS_TMC2130) && !PIN_EXISTS(E2_CS) - #error "E2_CS_PIN is required for E2_IS_TMC2130. Define E2_CS_PIN in Configuration_adv.h." - #elif ENABLED(E3_IS_TMC2130) && !PIN_EXISTS(E3_CS) - #error "E3_CS_PIN is required for E3_IS_TMC2130. Define E3_CS_PIN in Configuration_adv.h." - #elif ENABLED(E4_IS_TMC2130) && !PIN_EXISTS(E4_CS) - #error "E4_CS_PIN is required for E4_IS_TMC2130. Define E4_CS_PIN in Configuration_adv.h." - #endif - - #if ENABLED(SENSORLESS_HOMING) - // Require STEALTHCHOP for SENSORLESS_HOMING on DELTA as the transition from spreadCycle to stealthChop - // is necessary in order to reset the stallGuard indication between the initial movement of all three - // towers to +Z and the individual homing of each tower. This restriction can be removed once a means of - // clearing the stallGuard activated status is found. - #if ENABLED(DELTA) && !ENABLED(STEALTHCHOP) - #error "SENSORLESS_HOMING on DELTA currently requires STEALTHCHOP." - #elif X_HOME_DIR == -1 && DISABLED(X_MIN_ENDSTOP_INVERTING) - #error "SENSORLESS_HOMING requires X_MIN_ENDSTOP_INVERTING when homing to X_MIN." - #elif X_HOME_DIR == 1 && DISABLED(X_MAX_ENDSTOP_INVERTING) - #error "SENSORLESS_HOMING requires X_MAX_ENDSTOP_INVERTING when homing to X_MAX." - #elif Y_HOME_DIR == -1 && DISABLED(Y_MIN_ENDSTOP_INVERTING) - #error "SENSORLESS_HOMING requires Y_MIN_ENDSTOP_INVERTING when homing to Y_MIN." - #elif Y_HOME_DIR == 1 && DISABLED(Y_MAX_ENDSTOP_INVERTING) - #error "SENSORLESS_HOMING requires Y_MAX_ENDSTOP_INVERTING when homing to Y_MAX." - #endif - #endif - - // Sensorless homing is required for both combined steppers in an H-bot - #if CORE_IS_XY && X_SENSORLESS != Y_SENSORLESS - #error "CoreXY requires both X and Y to use sensorless homing if either does." - #elif CORE_IS_XZ && X_SENSORLESS != Z_SENSORLESS - #error "CoreXZ requires both X and Z to use sensorless homing if either does." - #elif CORE_IS_YZ && Y_SENSORLESS != Z_SENSORLESS - #error "CoreYZ requires both Y and Z to use sensorless homing if either does." - #endif - -#elif ENABLED(SENSORLESS_HOMING) - - #error "SENSORLESS_HOMING requires TMC2130 stepper drivers." - -#endif - -/** - * Make sure HAVE_TMC2208 is warranted - */ -#if ENABLED(HAVE_TMC2208) && !( \ - ENABLED( X_IS_TMC2208 ) \ - || ENABLED( X2_IS_TMC2208 ) \ - || ENABLED( Y_IS_TMC2208 ) \ - || ENABLED( Y2_IS_TMC2208 ) \ - || ENABLED( Z_IS_TMC2208 ) \ - || ENABLED( Z2_IS_TMC2208 ) \ - || ENABLED( E0_IS_TMC2208 ) \ - || ENABLED( E1_IS_TMC2208 ) \ - || ENABLED( E2_IS_TMC2208 ) \ - || ENABLED( E3_IS_TMC2208 ) ) - #error "HAVE_TMC2208 requires at least one TMC2208 stepper to be set." +#if AXIS_DRIVER_TYPE(X, TMC2130) && !PIN_EXISTS(X_CS) + #error "X_CS_PIN is required for TMC2130. Define X_CS_PIN in Configuration_adv.h." +#elif AXIS_DRIVER_TYPE(X2, TMC2130) && !PIN_EXISTS(X2_CS) + #error "X2_CS_PIN is required for X2. Define X2_CS_PIN in Configuration_adv.h." +#elif AXIS_DRIVER_TYPE(Y, TMC2130) && !PIN_EXISTS(Y_CS) + #error "Y_CS_PIN is required for TMC2130. Define Y_CS_PIN in Configuration_adv.h." +#elif AXIS_DRIVER_TYPE(Y2, TMC2130) && !PIN_EXISTS(Y2_CS) + #error "Y2_CS_PIN is required for TMC2130. Define Y2_CS_PIN in Configuration_adv.h." +#elif AXIS_DRIVER_TYPE(Z, TMC2130) && !PIN_EXISTS(Z_CS) + #error "Z_CS_PIN is required for TMC2130. Define Z_CS_PIN in Configuration_adv.h." +#elif AXIS_DRIVER_TYPE(Z2, TMC2130) && !PIN_EXISTS(Z2_CS) + #error "Z2_CS_PIN is required for TMC2130. Define Z2_CS_PIN in Configuration_adv.h." +#elif AXIS_DRIVER_TYPE(E0, TMC2130) && !PIN_EXISTS(E0_CS) + #error "E0_CS_PIN is required for TMC2130. Define E0_CS_PIN in Configuration_adv.h." +#elif AXIS_DRIVER_TYPE(E1, TMC2130) && !PIN_EXISTS(E1_CS) + #error "E1_CS_PIN is required for TMC2130. Define E1_CS_PIN in Configuration_adv.h." +#elif AXIS_DRIVER_TYPE(E2, TMC2130) && !PIN_EXISTS(E2_CS) + #error "E2_CS_PIN is required for TMC2130. Define E2_CS_PIN in Configuration_adv.h." +#elif AXIS_DRIVER_TYPE(E3, TMC2130) && !PIN_EXISTS(E3_CS) + #error "E3_CS_PIN is required for TMC2130. Define E3_CS_PIN in Configuration_adv.h." +#elif AXIS_DRIVER_TYPE(E4, TMC2130) && !PIN_EXISTS(E4_CS) + #error "E4_CS_PIN is required for TMC2130. Define E4_CS_PIN in Configuration_adv.h." #endif /** * TMC2208 software UART and ENDSTOP_INTERRUPTS both use pin change interrupts (PCI) */ -#if ENABLED(HAVE_TMC2208) && ENABLED(ENDSTOP_INTERRUPTS_FEATURE) && !( \ +#if HAS_DRIVER(TMC2208) && ENABLED(ENDSTOP_INTERRUPTS_FEATURE) && !( \ defined(X_HARDWARE_SERIAL ) \ || defined(X2_HARDWARE_SERIAL) \ || defined(Y_HARDWARE_SERIAL ) \ @@ -1531,113 +1519,52 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #error "select hardware UART for TMC2208 to use both TMC2208 and ENDSTOP_INTERRUPTS_FEATURE." #endif -#if ENABLED(HYBRID_THRESHOLD) && DISABLED(STEALTHCHOP) - #error "Enable STEALTHCHOP to use HYBRID_THRESHOLD." -#endif - -#if ENABLED(TMC_Z_CALIBRATION) && !Z_IS_TRINAMIC && !Z2_IS_TRINAMIC - #error "TMC_Z_CALIBRATION requires at least one TMC driver on Z axis" +#if ENABLED(SENSORLESS_HOMING) + // Require STEALTHCHOP for SENSORLESS_HOMING on DELTA as the transition from spreadCycle to stealthChop + // is necessary in order to reset the stallGuard indication between the initial movement of all three + // towers to +Z and the individual homing of each tower. This restriction can be removed once a means of + // clearing the stallGuard activated status is found. + #if ENABLED(DELTA) && !ENABLED(STEALTHCHOP) + #error "SENSORLESS_HOMING on DELTA currently requires STEALTHCHOP." + #elif X_SENSORLESS && X_HOME_DIR == -1 && (DISABLED(X_MIN_ENDSTOP_INVERTING) || DISABLED(ENDSTOPPULLUP_XMIN)) + #error "SENSORLESS_HOMING requires X_MIN_ENDSTOP_INVERTING and ENDSTOPPULLUP_XMIN when homing to X_MIN." + #elif X_SENSORLESS && X_HOME_DIR == 1 && (DISABLED(X_MAX_ENDSTOP_INVERTING) || DISABLED(ENDSTOPPULLUP_XMAX)) + #error "SENSORLESS_HOMING requires X_MAX_ENDSTOP_INVERTING and ENDSTOPPULLUP_XMAX when homing to X_MAX." + #elif Y_SENSORLESS && Y_HOME_DIR == -1 && (DISABLED(Y_MIN_ENDSTOP_INVERTING) || DISABLED(ENDSTOPPULLUP_YMIN)) + #error "SENSORLESS_HOMING requires Y_MIN_ENDSTOP_INVERTING and ENDSTOPPULLUP_YMIN when homing to Y_MIN." + #elif Y_SENSORLESS && Y_HOME_DIR == 1 && (DISABLED(Y_MAX_ENDSTOP_INVERTING) || DISABLED(ENDSTOPPULLUP_YMAX)) + #error "SENSORLESS_HOMING requires Y_MAX_ENDSTOP_INVERTING and ENDSTOPPULLUP_YMAX when homing to Y_MAX." + #elif Z_SENSORLESS && Z_HOME_DIR == -1 && (DISABLED(Z_MIN_ENDSTOP_INVERTING) || DISABLED(ENDSTOPPULLUP_ZMIN)) + #error "SENSORLESS_HOMING requires Z_MIN_ENDSTOP_INVERTING and ENDSTOPPULLUP_ZMIN when homing to Z_MIN." + #elif Z_SENSORLESS && Z_HOME_DIR == 1 && (DISABLED(Z_MAX_ENDSTOP_INVERTING) || DISABLED(ENDSTOPPULLUP_ZMAX)) + #error "SENSORLESS_HOMING requires Z_MAX_ENDSTOP_INVERTING and ENDSTOPPULLUP_ZMAX when homing to Z_MAX." + #elif ENABLED(ENDSTOP_NOISE_FILTER) + #error "SENSORLESS_HOMING is incompatible with ENDSTOP_NOISE_FILTER." + #endif #endif -/** - * Make sure HAVE_L6470DRIVER is warranted - */ -#if ENABLED(HAVE_L6470DRIVER) && !( \ - ENABLED( X_IS_L6470 ) \ - || ENABLED( X2_IS_L6470 ) \ - || ENABLED( Y_IS_L6470 ) \ - || ENABLED( Y2_IS_L6470 ) \ - || ENABLED( Z_IS_L6470 ) \ - || ENABLED( Z2_IS_L6470 ) \ - || ENABLED( E0_IS_L6470 ) \ - || ENABLED( E1_IS_L6470 ) \ - || ENABLED( E2_IS_L6470 ) \ - || ENABLED( E3_IS_L6470 ) \ - || ENABLED( E4_IS_L6470 ) \ - ) - #error "HAVE_L6470DRIVER requires at least one L6470 stepper to be set." +// Sensorless homing is required for both combined steppers in an H-bot +#if CORE_IS_XY && X_SENSORLESS != Y_SENSORLESS + #error "CoreXY requires both X and Y to use sensorless homing if either does." +#elif CORE_IS_XZ && X_SENSORLESS != Z_SENSORLESS + #error "CoreXZ requires both X and Z to use sensorless homing if either does." +#elif CORE_IS_YZ && Y_SENSORLESS != Z_SENSORLESS + #error "CoreYZ requires both Y and Z to use sensorless homing if either does." #endif -/** - * Check that each axis has only one driver selected - */ -#if 1 < 0 \ - + ENABLED(X_IS_TMC26X) \ - + ENABLED(X_IS_TMC2130) \ - + ENABLED(X_IS_TMC2208) \ - + ENABLED(X_IS_L6470) - #error "Please enable only one stepper driver for the X axis." -#endif -#if 1 < 0 \ - + ENABLED(X2_IS_TMC26X) \ - + ENABLED(X2_IS_TMC2130) \ - + ENABLED(X2_IS_TMC2208) \ - + ENABLED(X2_IS_L6470) - #error "Please enable only one stepper driver for the X2 axis." -#endif -#if 1 < 0 \ - + ENABLED(Y_IS_TMC26X) \ - + ENABLED(Y_IS_TMC2130) \ - + ENABLED(Y_IS_TMC2208) \ - + ENABLED(Y_IS_L6470) - #error "Please enable only one stepper driver for the Y axis." -#endif -#if 1 < 0 \ - + ENABLED(Y2_IS_TMC26X) \ - + ENABLED(Y2_IS_TMC2130) \ - + ENABLED(Y2_IS_TMC2208) \ - + ENABLED(Y2_IS_L6470) - #error "Please enable only one stepper driver for the Y2 axis." -#endif -#if 1 < 0 \ - + ENABLED(Z_IS_TMC26X) \ - + ENABLED(Z_IS_TMC2130) \ - + ENABLED(Z_IS_TMC2208) \ - + ENABLED(Z_IS_L6470) - #error "Please enable only one stepper driver for the Z axis." -#endif -#if 1 < 0 \ - + ENABLED(Z2_IS_TMC26X) \ - + ENABLED(Z2_IS_TMC2130) \ - + ENABLED(Z2_IS_TMC2208) \ - + ENABLED(Z2_IS_L6470) - #error "Please enable only one stepper driver for the Z2 axis." -#endif -#if 1 < 0 \ - + ENABLED(E0_IS_TMC26X) \ - + ENABLED(E0_IS_TMC2130) \ - + ENABLED(E0_IS_TMC2208) \ - + ENABLED(E0_IS_L6470) - #error "Please enable only one stepper driver for the E0 axis." -#endif -#if 1 < 0 \ - + ENABLED(E1_IS_TMC26X) \ - + ENABLED(E1_IS_TMC2130) \ - + ENABLED(E1_IS_TMC2208) \ - + ENABLED(E1_IS_L6470) - #error "Please enable only one stepper driver for the E1 axis." -#endif -#if 1 < 0 \ - + ENABLED(E2_IS_TMC26X) \ - + ENABLED(E2_IS_TMC2130) \ - + ENABLED(E2_IS_TMC2208) \ - + ENABLED(E2_IS_L6470) - #error "Please enable only one stepper driver for the E2 axis." +#if ENABLED(HYBRID_THRESHOLD) && DISABLED(STEALTHCHOP) + #error "Enable STEALTHCHOP to use HYBRID_THRESHOLD." #endif -#if 1 < 0 \ - + ENABLED(E3_IS_TMC26X) \ - + ENABLED(E3_IS_TMC2130) \ - + ENABLED(E3_IS_TMC2208) \ - + ENABLED(E3_IS_L6470) - #error "Please enable only one stepper driver for the E3 axis." +#if ENABLED(TMC_Z_CALIBRATION) && !AXIS_IS_TMC(Z) && !AXIS_IS_TMC(Z2) + #error "TMC_Z_CALIBRATION requires at least one TMC driver on Z axis" #endif -#if 1 < 0 \ - + ENABLED(E4_IS_TMC26X) \ - + ENABLED(E4_IS_TMC2130) \ - + ENABLED(E4_IS_TMC2208) \ - + ENABLED(E4_IS_L6470) - #error "Please enable only one stepper driver for the E4 axis." + +#if ENABLED(SENSORLESS_HOMING) && !HAS_STALLGUARD + #error "SENSORLESS_HOMING requires TMC2130 or TMC2660 stepper drivers." #endif +#if ENABLED(STEALTHCHOP) && !HAS_STEALTHCHOP + #error "STEALTHCHOP requires TMC2130 or TMC2208 stepper drivers." + #endif /** * Digipot requirement @@ -1692,4 +1619,12 @@ static_assert(COUNT(sanity_arr_3) <= XYZE_N, "DEFAULT_MAX_ACCELERATION has too m #endif #endif +#if ENABLED(POWER_LOSS_RECOVERY) && !ENABLED(ULTIPANEL) + #error "POWER_LOSS_RECOVERY currently requires an LCD Controller." +#endif + +#if ENABLED(FAST_PWM_FAN) && !(defined(ARDUINO) && !defined(ARDUINO_ARCH_SAM)) + #error "FAST_PWM_FAN only supported by 8 bit CPUs." +#endif + #endif // _SANITYCHECK_H_ diff --git a/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h b/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h index e2a90a4390cb..1f3c28042103 100644 --- a/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h +++ b/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h @@ -28,13 +28,16 @@ uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); #define U8G_COM_HAL_SW_SPI_FN u8g_com_arduino_sw_spi_fn - uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); - #define U8G_COM_HAL_HW_SPI_FN u8g_com_arduino_hw_spi_fn - #ifdef __SAM3X8E__ + uint8_t u8g_com_HAL_DUE_shared_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); + #define U8G_COM_HAL_HW_SPI_FN u8g_com_HAL_DUE_shared_hw_spi_fn + uint8_t u8g_com_HAL_DUE_ST7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); #define U8G_COM_ST7920_HAL_SW_SPI u8g_com_HAL_DUE_ST7920_sw_spi_fn #else + uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); + #define U8G_COM_HAL_HW_SPI_FN u8g_com_arduino_hw_spi_fn + uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); #define U8G_COM_ST7920_HAL_SW_SPI u8g_com_arduino_st7920_spi_fn #endif diff --git a/Marlin/src/lcd/dogm/dogm_bitmaps.h b/Marlin/src/lcd/dogm/dogm_bitmaps.h index 7411c8a95325..d138aa75a5d0 100644 --- a/Marlin/src/lcd/dogm/dogm_bitmaps.h +++ b/Marlin/src/lcd/dogm/dogm_bitmaps.h @@ -21,7 +21,7 @@ */ /** - * Standard Marlin Boot Screen bitmaps + * Standard Marlin Boot and Status Screen bitmaps * * Use the Marlin Bitmap Converter to make your own: * http://marlinfw.org/tools/u8glib/converter.html @@ -131,386 +131,926 @@ #if ENABLED(CUSTOM_STATUS_SCREEN_IMAGE) - // This file must define STATUS_SCREENWIDTH and status_screen{0,1}_bmp. + // This file must define STATUS_SCREENWIDTH and status_screen[012]_bmp. // It can also define STATUS_SCREEN_X, STATUS_SCREEN_{BED,FAN}_TEXT_X and // STATUS_SCREEN_HOTEND_TEXT_X(i) to modify draw locations. #include "../../../_Statusscreen.h" -#elif HAS_TEMP_BED - - #define STATUS_SCREEN_X ( 8 + (HOTENDS ? 0 : 64)) - #define STATUS_SCREENWIDTH (120 - (HOTENDS ? 0 : 64)) - - #if HOTENDS == 0 - const unsigned char status_screen0_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, - B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, - B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, - B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, - B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, - B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, - B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, - B00000000,B01000001,B00000100,B00000000,B00101100,B00000000,B11010000, - B00000000,B10000010,B00001000,B00000000,B00100000,B00110000,B00010000, - B00000000,B10000010,B00001000,B00000000,B00100000,B01111000,B00010000, - B00000000,B01000001,B00000100,B00000000,B00100000,B11111100,B00010000, - B00000000,B00100000,B10000010,B00000000,B00110000,B11111100,B00110000, - B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, - B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 - }; - const unsigned char status_screen1_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, - B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, - B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, - B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, - B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, - B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, - B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, - B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, - B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, - B00000000,B01000001,B00000100,B00000000,B00101111,B00000011,B11010000, - B00000000,B10000010,B00001000,B00000000,B00101111,B10000111,B11010000, - B00000000,B10000010,B00001000,B00000000,B00100111,B10000111,B10010000, - B00000000,B01000001,B00000100,B00000000,B00100011,B10000111,B00010000, - B00000000,B00100000,B10000010,B00000000,B00110001,B10000110,B00110000, - B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, - B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 - }; +#else // !CUSTOM_STATUS_SCREEN_IMAGE - #elif HOTENDS == 1 - - const unsigned char status_screen0_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, - B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, - B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00101100,B00000000,B11010000, - B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100000,B00110000,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100000,B01111000,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00100000,B11111100,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110000,B11111100,B00110000, - B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, - B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 - }; - const unsigned char status_screen1_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, - B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, - B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00101111,B00000011,B11010000, - B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00101111,B10000111,B11010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100111,B10000111,B10010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00100011,B10000111,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110001,B10000110,B00110000, - B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, - B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 - }; + // Can also be overridden in Configuration.h + // If you can afford it, try the 3-frame fan animation! + #ifndef FAN_ANIM_FRAMES + #define FAN_ANIM_FRAMES 2 + #endif - #elif HOTENDS == 2 - - const unsigned char status_screen0_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, - B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, - B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, - B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, - B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, - B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00101100,B00000000,B11010000, - B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100000,B00110000,B00010000, - B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100000,B01111000,B00010000, - B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00100000,B11111100,B00010000, - B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110000,B11111100,B00110000, - B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, - B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 - }; - const unsigned char status_screen1_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, - B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, - B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, - B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, - B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, - B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00101111,B00000011,B11010000, - B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00101111,B10000111,B11010000, - B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100111,B10000111,B10010000, - B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00100011,B10000111,B00010000, - B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110001,B10000110,B00110000, - B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, - B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 - }; + #if HAS_HEATED_BED - #else // HOTENDS > 2 - - const unsigned char status_screen0_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, - B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, - B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, - B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, - B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, - B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B01000001,B00000100,B00000000,B00101100,B00000000,B11010000, - B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B10000010,B00001000,B00000000,B00100000,B00110000,B00010000, - B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B10000010,B00001000,B00000000,B00100000,B01111000,B00010000, - B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B01000001,B00000100,B00000000,B00100000,B11111100,B00010000, - B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00100000,B10000010,B00000000,B00110000,B11111100,B00110000, - B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, - B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 - }; - const unsigned char status_screen1_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, - B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, - B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, - B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, - B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, - B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B01000001,B00000100,B00000000,B00101111,B00000011,B11010000, - B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B10000010,B00001000,B00000000,B00101111,B10000111,B11010000, - B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B10000010,B00001000,B00000000,B00100111,B10000111,B10010000, - B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B01000001,B00000100,B00000000,B00100011,B10000111,B00010000, - B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00100000,B10000010,B00000000,B00110001,B10000110,B00110000, - B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, - B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 - }; - #endif // HOTENDS - -#else // !HAS_TEMP_BED - - #define STATUS_SCREEN_X ( 8 + (HOTENDS ? 0 : 96)) - #define STATUS_SCREENWIDTH (120 - (HOTENDS ? 0 : 96)) - - #if HOTENDS == 0 - const unsigned char status_screen0_bmp[] PROGMEM = { - B00111111,B11111111,B11110000, - B00111000,B00000000,B01110000, - B00110000,B11111100,B00110000, - B00100000,B11111100,B00010000, - B00100000,B01111000,B00010000, - B00100000,B00110000,B00010000, - B00101100,B00000000,B11010000, - B00101110,B00110001,B11010000, - B00101111,B01111011,B11010000, - B00101111,B01111011,B11010000, - B00101110,B00110001,B11010000, - B00101100,B00000000,B11010000, - B00100000,B00110000,B00010000, - B00100000,B01111000,B00010000, - B00100000,B11111100,B00010000, - B00110000,B11111100,B00110000, - B00111000,B00000000,B01110000, - B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000 - }; - const unsigned char status_screen1_bmp[] PROGMEM = { - B00111111,B11111111,B11110000, - B00111000,B00000000,B01110000, - B00110001,B10000110,B00110000, - B00100011,B10000111,B00010000, - B00100111,B10000111,B10010000, - B00101111,B10000111,B11010000, - B00101111,B00000011,B11010000, - B00100000,B00110000,B00010000, - B00100000,B01111000,B00010000, - B00100000,B01111000,B00010000, - B00100000,B00110000,B00010000, - B00101111,B00000011,B11010000, - B00101111,B10000111,B11010000, - B00100111,B10000111,B10010000, - B00100011,B10000111,B00010000, - B00110001,B10000110,B00110000, - B00111000,B00000000,B01110000, - B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000 - }; + #define STATUS_SCREEN_X ( 8 + (HOTENDS ? 0 : 64)) + #define STATUS_SCREENWIDTH (120 - (HOTENDS ? 0 : 64)) - #elif HOTENDS == 1 - - const unsigned char status_screen0_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, - B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00110001,B11010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B01111011,B11010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B01111011,B11010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00110001,B11010000, - B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, - B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, - B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 - }; - const unsigned char status_screen1_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, - B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, - B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, - B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, - B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 - }; + #if HOTENDS == 0 - #elif HOTENDS == 2 - - const unsigned char status_screen0_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, - B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00110001,B11010000, - B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B01111011,B11010000, - B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B01111011,B11010000, - B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00110001,B11010000, - B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, - B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, - B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, - B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 - }; - const unsigned char status_screen1_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, - B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, - B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, - B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, - B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, - B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, - B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 - }; + #if FAN_ANIM_FRAMES == 3 + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00111110,B00000000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00101111,B11000111,B11101000, + B00000000,B00000000,B00000000,B00000000,B00100111,B11000111,B11001000, + B00000000,B00100000,B10000010,B00000000,B00100001,B11111111,B00001000, + B00000000,B00010000,B01000001,B00000000,B00100000,B01111100,B00001000, + B00000000,B00010000,B01000001,B00000000,B00100000,B01111100,B00001000, + B00000000,B00100000,B10000010,B00000000,B00100000,B01111100,B00001000, + B00000000,B01000001,B00000100,B00000000,B00100001,B11111111,B00001000, + B00000000,B10000010,B00001000,B00000000,B00100111,B11000111,B11001000, + B00000000,B10000010,B00001000,B00000000,B00101111,B11000111,B11101000, + B00000000,B01000001,B00000100,B00000000,B00110111,B10000011,B11011000, + B00000000,B00100000,B10000010,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00000000,B11111111,B11111111,B11000000,B00111110,B00000000,B11111000, + B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00111110,B00110000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00000000,B00000000,B00000000,B00000000,B00110001,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00110000,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00100000,B11110000,B01101000, + B00000000,B00000000,B00000000,B00000000,B00100000,B00110001,B11101000, + B00000000,B00100000,B10000010,B00000000,B00100000,B00111001,B11101000, + B00000000,B00010000,B01000001,B00000000,B00100000,B01111111,B11111000, + B00000000,B00010000,B01000001,B00000000,B00111111,B11111111,B11111000, + B00000000,B00100000,B10000010,B00000000,B00111111,B11111100,B00001000, + B00000000,B01000001,B00000100,B00000000,B00101111,B00111000,B00001000, + B00000000,B10000010,B00001000,B00000000,B00101110,B00011000,B00001000, + B00000000,B10000010,B00001000,B00000000,B00101100,B00011110,B00001000, + B00000000,B01000001,B00000100,B00000000,B00110000,B00011110,B00011000, + B00000000,B00100000,B10000010,B00000000,B00110000,B00011111,B00011000, + B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00000000,B11111111,B11111111,B11000000,B00111110,B00011000,B11111000, + B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen2_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00111110,B00011000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00000000,B00000000,B00000000,B00000000,B00110000,B00011111,B10011000, + B00000000,B00000000,B00000000,B00000000,B00110100,B00011111,B00011000, + B00000000,B00000000,B00000000,B00000000,B00101110,B00011110,B00001000, + B00000000,B00000000,B00000000,B00000000,B00101111,B00011100,B00001000, + B00000000,B00100000,B10000010,B00000000,B00101111,B10111000,B00001000, + B00000000,B00010000,B01000001,B00000000,B00111111,B11111100,B00001000, + B00000000,B00010000,B01000001,B00000000,B00111111,B11111111,B11111000, + B00000000,B00100000,B10000010,B00000000,B00100000,B01111111,B11111000, + B00000000,B01000001,B00000100,B00000000,B00100000,B00111011,B11101000, + B00000000,B10000010,B00001000,B00000000,B00100000,B01110001,B11101000, + B00000000,B10000010,B00001000,B00000000,B00100000,B11110000,B11101000, + B00000000,B01000001,B00000100,B00000000,B00110001,B11110000,B01011000, + B00000000,B00100000,B10000010,B00000000,B00110011,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00000000,B11111111,B11111111,B11000000,B00111110,B00110000,B11111000, + B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11111000 + }; + #else + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, + B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, + B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, + B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, + B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, + B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, + B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, + B00000000,B01000001,B00000100,B00000000,B00101100,B00000000,B11010000, + B00000000,B10000010,B00001000,B00000000,B00100000,B00110000,B00010000, + B00000000,B10000010,B00001000,B00000000,B00100000,B01111000,B00010000, + B00000000,B01000001,B00000100,B00000000,B00100000,B11111100,B00010000, + B00000000,B00100000,B10000010,B00000000,B00110000,B11111100,B00110000, + B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, + B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, + B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, + B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, + B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, + B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, + B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, + B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, + B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, + B00000000,B01000001,B00000100,B00000000,B00101111,B00000011,B11010000, + B00000000,B10000010,B00001000,B00000000,B00101111,B10000111,B11010000, + B00000000,B10000010,B00001000,B00000000,B00100111,B10000111,B10010000, + B00000000,B01000001,B00000100,B00000000,B00100011,B10000111,B00010000, + B00000000,B00100000,B10000010,B00000000,B00110001,B10000110,B00110000, + B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, + B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 + }; + #endif - #else // HOTENDS > 2 - - const unsigned char status_screen0_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, - B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00101110,B00110001,B11010000, - B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00101111,B01111011,B11010000, - B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00101111,B01111011,B11010000, - B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00101110,B00110001,B11010000, - B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, - B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, - B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, - B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 - }; - const unsigned char status_screen1_bmp[] PROGMEM = { - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, - B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, - B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, - B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, - B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, - B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, - B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, - B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, - B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, - B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, - B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, - B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 - }; + #elif HOTENDS == 1 - #endif // HOTENDS + #if FAN_ANIM_FRAMES == 3 + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00000000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B11000111,B11101000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B11000111,B11001000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100001,B11111111,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111100,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111100,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B01111100,B00001000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00100001,B11111111,B00001000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100111,B11000111,B11001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00101111,B11000111,B11101000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00110111,B10000011,B11011000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110111,B10000011,B11011000, + B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111110,B00000000,B11111000, + B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00110000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11110000,B01101000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110001,B11101000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B00111001,B11101000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111111,B11111000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00111111,B11111111,B11111000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00111111,B11111100,B00001000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00101111,B00111000,B00001000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00101110,B00011000,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00101100,B00011110,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00110000,B00011110,B00011000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110000,B00011111,B00011000, + B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111110,B00011000,B11111000, + B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen2_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00011000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B00011111,B10011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110100,B00011111,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00011110,B00001000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00011100,B00001000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00101111,B10111000,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00111111,B11111100,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00111111,B11111111,B11111000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B01111111,B11111000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00100000,B00111011,B11101000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100000,B01110001,B11101000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100000,B11110000,B11101000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00110001,B11110000,B01011000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110011,B11110000,B00011000, + B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111110,B00110000,B11111000, + B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11111000 + }; + #else + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00101100,B00000000,B11010000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100000,B00110000,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100000,B01111000,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00100000,B11111100,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110000,B11111100,B00110000, + B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, + B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00101111,B00000011,B11010000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00101111,B10000111,B11010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100111,B10000111,B10010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00100011,B10000111,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110001,B10000110,B00110000, + B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, + B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 + }; + #endif -#endif // !HAS_TEMP_BED + #elif HOTENDS == 2 -#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) || ENABLED(MESH_EDIT_GFX_OVERLAY) + #if FAN_ANIM_FRAMES == 3 + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00000000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B11000111,B11101000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B11000111,B11001000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100001,B11111111,B00001000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111100,B00001000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111100,B00001000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B01111100,B00001000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00100001,B11111111,B00001000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100111,B11000111,B11001000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00101111,B11000111,B11101000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00110111,B10000011,B11011000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110111,B10000011,B11011000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111110,B00000000,B11111000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00110000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11110000,B01101000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110001,B11101000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B00111001,B11101000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111111,B11111000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00111111,B11111111,B11111000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00111111,B11111100,B00001000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00101111,B00111000,B00001000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00101110,B00011000,B00001000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00101100,B00011110,B00001000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00110000,B00011110,B00011000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110000,B00011111,B00011000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111110,B00011000,B11111000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen2_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00011000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B00011111,B10011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110100,B00011111,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00011110,B00001000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00011100,B00001000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00101111,B10111000,B00001000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00111111,B11111100,B00001000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00111111,B11111111,B11111000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B01111111,B11111000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00100000,B00111011,B11101000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100000,B01110001,B11101000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100000,B11110000,B11101000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00110001,B11110000,B01011000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110011,B11110000,B00011000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111110,B00110000,B11111000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11111000 + }; + #else + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00101100,B00000000,B11010000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100000,B00110000,B00010000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100000,B01111000,B00010000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00100000,B11111100,B00010000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110000,B11111100,B00110000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00101111,B00000011,B11010000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00101111,B10000111,B11010000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B10000010,B00001000,B00000000,B00100111,B10000111,B10010000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B01000001,B00000100,B00000000,B00100011,B10000111,B00010000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,B00110001,B10000110,B00110000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 + }; + #endif + + #else // HOTENDS > 2 + + #if FAN_ANIM_FRAMES == 3 + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00000000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B11000111,B11101000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B11000111,B11001000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00100000,B10000010,B00000000,B00100001,B11111111,B00001000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111100,B00001000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111100,B00001000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00100000,B10000010,B00000000,B00100000,B01111100,B00001000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B01000001,B00000100,B00000000,B00100001,B11111111,B00001000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B10000010,B00001000,B00000000,B00100111,B11000111,B11001000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B10000010,B00001000,B00000000,B00101111,B11000111,B11101000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B01000001,B00000100,B00000000,B00110111,B10000011,B11011000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00100000,B10000010,B00000000,B00110111,B10000011,B11011000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B11111111,B11111111,B11000000,B00111110,B00000000,B11111000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00110000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11110000,B01101000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110001,B11101000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00100000,B10000010,B00000000,B00100000,B00111001,B11101000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111111,B11111000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00010000,B01000001,B00000000,B00111111,B11111111,B11111000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00100000,B10000010,B00000000,B00111111,B11111100,B00001000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B01000001,B00000100,B00000000,B00101111,B00111000,B00001000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B10000010,B00001000,B00000000,B00101110,B00011000,B00001000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B10000010,B00001000,B00000000,B00101100,B00011110,B00001000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B01000001,B00000100,B00000000,B00110000,B00011110,B00011000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00100000,B10000010,B00000000,B00110000,B00011111,B00011000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B11111111,B11111111,B11000000,B00111110,B00011000,B11111000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen2_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00011000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B00011111,B10011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110100,B00011111,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00011110,B00001000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00011100,B00001000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00100000,B10000010,B00000000,B00101111,B10111000,B00001000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00010000,B01000001,B00000000,B00111111,B11111100,B00001000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00010000,B01000001,B00000000,B00111111,B11111111,B11111000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00100000,B10000010,B00000000,B00100000,B01111111,B11111000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B01000001,B00000100,B00000000,B00100000,B00111011,B11101000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B10000010,B00001000,B00000000,B00100000,B01110001,B11101000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B10000010,B00001000,B00000000,B00100000,B11110000,B11101000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B01000001,B00000100,B00000000,B00110001,B11110000,B01011000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00100000,B10000010,B00000000,B00110011,B11110000,B00011000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B11111111,B11111111,B11000000,B00111110,B00110000,B11111000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11111000 + }; + #else + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00010000,B01000001,B00000000,B00101111,B01111011,B11010000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00100000,B10000010,B00000000,B00101110,B00110001,B11010000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B01000001,B00000100,B00000000,B00101100,B00000000,B11010000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B10000010,B00001000,B00000000,B00100000,B00110000,B00010000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B10000010,B00001000,B00000000,B00100000,B01111000,B00010000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B01000001,B00000100,B00000000,B00100000,B11111100,B00010000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00100000,B10000010,B00000000,B00110000,B11111100,B00110000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00010000,B01000001,B00000000,B00100000,B01111000,B00010000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00100000,B10000010,B00000000,B00100000,B00110000,B00010000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B01000001,B00000100,B00000000,B00101111,B00000011,B11010000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B10000010,B00001000,B00000000,B00101111,B10000111,B11010000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B10000010,B00001000,B00000000,B00100111,B10000111,B10010000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B01000001,B00000100,B00000000,B00100011,B10000111,B00010000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00100000,B10000010,B00000000,B00110001,B10000110,B00110000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B11111111,B11111111,B11000000,B00111111,B11111111,B11110000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000 + }; + #endif + + #endif // HOTENDS + #else // !HAS_HEATED_BED + + #define STATUS_SCREEN_X ( 8 + (HOTENDS ? 0 : 96)) + #define STATUS_SCREENWIDTH (120 - (HOTENDS ? 0 : 96)) + + #if HOTENDS == 0 + + #if FAN_ANIM_FRAMES == 3 + const unsigned char status_screen0_bmp[] PROGMEM = { + B00111111,B11111111,B11111000, + B00111110,B00000000,B11111000, + B00111001,B00000001,B00111000, + B00110111,B10000011,B11011000, + B00110111,B10000011,B11011000, + B00101111,B11000111,B11101000, + B00100111,B11000111,B11001000, + B00100001,B11111111,B00001000, + B00100000,B01111100,B00001000, + B00100000,B01111100,B00001000, + B00100000,B01111100,B00001000, + B00100001,B11111111,B00001000, + B00100111,B11000111,B11001000, + B00101111,B11000111,B11101000, + B00110111,B10000011,B11011000, + B00110111,B10000011,B11011000, + B00111001,B00000001,B00111000, + B00111110,B00000000,B11111000, + B00111111,B11111111,B11111000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00111111,B11111111,B11111000, + B00111110,B00110000,B11111000, + B00111001,B11110000,B00111000, + B00110001,B11110000,B00011000, + B00110000,B11110000,B00011000, + B00100000,B11110000,B01101000, + B00100000,B00110001,B11101000, + B00100000,B00111001,B11101000, + B00100000,B01111111,B11111000, + B00111111,B11111111,B11111000, + B00111111,B11111100,B00001000, + B00101111,B00111000,B00001000, + B00101110,B00011000,B00001000, + B00101100,B00011110,B00001000, + B00110000,B00011110,B00011000, + B00110000,B00011111,B00011000, + B00111000,B00011111,B00111000, + B00111110,B00011000,B11111000, + B00111111,B11111111,B11111000 + }; + const unsigned char status_screen2_bmp[] PROGMEM = { + B00111111,B11111111,B11111000, + B00111110,B00011000,B11111000, + B00111000,B00011111,B00111000, + B00110000,B00011111,B10011000, + B00110100,B00011111,B00011000, + B00101110,B00011110,B00001000, + B00101111,B00011100,B00001000, + B00101111,B10111000,B00001000, + B00111111,B11111100,B00001000, + B00111111,B11111111,B11111000, + B00100000,B01111111,B11111000, + B00100000,B00111011,B11101000, + B00100000,B01110001,B11101000, + B00100000,B11110000,B11101000, + B00110001,B11110000,B01011000, + B00110011,B11110000,B00011000, + B00111001,B11110000,B00111000, + B00111110,B00110000,B11111000, + B00111111,B11111111,B11111000 + }; + #else + const unsigned char status_screen0_bmp[] PROGMEM = { + B00111111,B11111111,B11110000, + B00111000,B00000000,B01110000, + B00110000,B11111100,B00110000, + B00100000,B11111100,B00010000, + B00100000,B01111000,B00010000, + B00100000,B00110000,B00010000, + B00101100,B00000000,B11010000, + B00101110,B00110001,B11010000, + B00101111,B01111011,B11010000, + B00101111,B01111011,B11010000, + B00101110,B00110001,B11010000, + B00101100,B00000000,B11010000, + B00100000,B00110000,B00010000, + B00100000,B01111000,B00010000, + B00100000,B11111100,B00010000, + B00110000,B11111100,B00110000, + B00111000,B00000000,B01110000, + B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00111111,B11111111,B11110000, + B00111000,B00000000,B01110000, + B00110001,B10000110,B00110000, + B00100011,B10000111,B00010000, + B00100111,B10000111,B10010000, + B00101111,B10000111,B11010000, + B00101111,B00000011,B11010000, + B00100000,B00110000,B00010000, + B00100000,B01111000,B00010000, + B00100000,B01111000,B00010000, + B00100000,B00110000,B00010000, + B00101111,B00000011,B11010000, + B00101111,B10000111,B11010000, + B00100111,B10000111,B10010000, + B00100011,B10000111,B00010000, + B00110001,B10000110,B00110000, + B00111000,B00000000,B01110000, + B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000 + }; + #endif + + #elif HOTENDS == 1 + + #if FAN_ANIM_FRAMES == 3 + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00000000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B11000111,B11101000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B11000111,B11001000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100001,B11111111,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111100,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111100,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111100,B00001000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100001,B11111111,B00001000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B11000111,B11001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B11000111,B11101000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00000000,B11111000, + B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00110000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11110000,B01101000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110001,B11101000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00111001,B11101000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111111,B11111000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111100,B00001000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00111000,B00001000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00011000,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00011110,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B00011110,B00011000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B00011111,B00011000, + B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00011000,B11111000, + B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen2_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00011000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B00011111,B10011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110100,B00011111,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00011110,B00001000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00011100,B00001000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10111000,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111100,B00001000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111111,B11111000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00111011,B11101000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01110001,B11101000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11110000,B11101000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B11110000,B01011000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110011,B11110000,B00011000, + B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00110000,B11111000, + B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000 + }; + #else + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00110001,B11010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B01111011,B11010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B01111011,B11010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00110001,B11010000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, + B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, + B00111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, + B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + }; + #endif + + #elif HOTENDS == 2 + + #if FAN_ANIM_FRAMES == 3 + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00000000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B11000111,B11101000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B11000111,B11001000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100001,B11111111,B00001000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111100,B00001000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111100,B00001000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111100,B00001000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100001,B11111111,B00001000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B11000111,B11001000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B11000111,B11101000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00000000,B11111000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00110000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11110000,B01101000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110001,B11101000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00111001,B11101000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111111,B11111000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111100,B00001000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00111000,B00001000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00011000,B00001000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00011110,B00001000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B00011110,B00011000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B00011111,B00011000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00011000,B11111000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen2_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00011000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B00011111,B10011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110100,B00011111,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00011110,B00001000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00011100,B00001000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10111000,B00001000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111100,B00001000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111111,B11111000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00111011,B11101000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01110001,B11101000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11110000,B11101000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B11110000,B01011000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110011,B11110000,B00011000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00110000,B11111000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000 + }; + #else + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00110001,B11010000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B01111011,B11010000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B01111011,B11010000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00110001,B11010000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + }; + #endif + + #else // HOTENDS > 2 + + #if FAN_ANIM_FRAMES == 3 + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00000000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B11000111,B11101000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B11000111,B11001000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00100001,B11111111,B00001000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111100,B00001000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111100,B00001000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111100,B00001000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00000000,B00000000,B00000000,B00100001,B11111111,B00001000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00000000,B00000000,B00000000,B00100111,B11000111,B11001000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00101111,B11000111,B11101000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00110111,B10000011,B11011000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000001,B00111000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00000000,B11111000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00110000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11110000,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11110000,B01101000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110001,B11101000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00100000,B00111001,B11101000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111111,B11111000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111100,B00001000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00000000,B00000000,B00000000,B00101111,B00111000,B00001000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00000000,B00000000,B00000000,B00101110,B00011000,B00001000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00101100,B00011110,B00001000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00110000,B00011110,B00011000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00110000,B00011111,B00011000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00011000,B11111000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000 + }; + const unsigned char status_screen2_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00011000,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00011111,B00111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B00011111,B10011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110100,B00011111,B00011000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101110,B00011110,B00001000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00011100,B00001000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00101111,B10111000,B00001000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111100,B00001000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111111,B11111000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00000000,B00000000,B00000000,B00100000,B00111011,B11101000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00000000,B00000000,B00000000,B00100000,B01110001,B11101000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B11110000,B11101000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00110001,B11110000,B01011000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00110011,B11110000,B00011000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111001,B11110000,B00111000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00111110,B00110000,B11111000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000 + }; + #else + const unsigned char status_screen0_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00101110,B00110001,B11010000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00101111,B01111011,B11010000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00101111,B01111011,B11010000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00101110,B00110001,B11010000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00000000,B00000000,B00000000,B00101100,B00000000,B11010000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B11111100,B00010000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00110000,B11111100,B00110000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, + B00111111,B11000000,B00000000,B00011111,B11100000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B01111101,B11100000,B00000000,B00111100,B11110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B01111001,B11100000,B00000000,B00111011,B01110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B01111000,B00010000, + B01110101,B11100000,B00000000,B00111111,B01110000,B00000000,B00111111,B01110000,B00000000,B00000000,B00000000,B00000000,B00100000,B00110000,B00010000, + B00111101,B11000000,B00000000,B00011110,B11100000,B00000000,B00011100,B11100000,B00000000,B00000000,B00000000,B00000000,B00101111,B00000011,B11010000, + B00111101,B11000000,B00000000,B00011101,B11100000,B00000000,B00011111,B01100000,B00000000,B00000000,B00000000,B00000000,B00101111,B10000111,B11010000, + B01111101,B11100000,B00000000,B00111011,B11110000,B00000000,B00111011,B01110000,B00000000,B00000000,B00000000,B00000000,B00100111,B10000111,B10010000, + B01111101,B11100000,B00000000,B00111000,B01110000,B00000000,B00111100,B11110000,B00000000,B00000000,B00000000,B00000000,B00100011,B10000111,B00010000, + B01111111,B11100000,B00000000,B00111111,B11110000,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00110001,B10000110,B00110000, + B00011111,B10000000,B00000000,B00001111,B11000000,B00000000,B00001111,B11000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B01110000, + B00001111,B00000000,B00000000,B00000111,B10000000,B00000000,B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000, + B00000110,B00000000,B00000000,B00000011,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + }; + #endif + + #endif // HOTENDS + + #endif // !HAS_HEATED_BED + +#endif // !CUSTOM_STATUS_SCREEN_IMAGE + +#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) || ENABLED(MESH_EDIT_GFX_OVERLAY) const unsigned char cw_bmp[] PROGMEM = { B00000011,B11111000,B00000000, @@ -610,6 +1150,11 @@ #define CUSTOM_BOOTSCREEN_BMPHEIGHT (sizeof(custom_start_bmp) / (CUSTOM_BOOTSCREEN_BMP_BYTEWIDTH)) #endif +#ifndef FAN_ANIM_FRAMES + #define FAN_ANIM_FRAMES 2 +#elif FAN_ANIM_FRAMES > 3 + #error "Only 3 fan animation frames currently supported." +#endif #ifndef STATUS_SCREEN_X #define STATUS_SCREEN_X 0 #endif @@ -632,12 +1177,7 @@ #define STATUS_SCREEN_FAN_TEXT_X 104 #endif #ifndef STATUS_SCREEN_FAN_TEXT_Y - #define STATUS_SCREEN_FAN_TEXT_Y 27 -#endif -#ifndef FAN_ANIM_FRAMES - #define FAN_ANIM_FRAMES 2 -#elif FAN_ANIM_FRAMES > 4 - #error "Only 4 fan animation frames currently supported." + #define STATUS_SCREEN_FAN_TEXT_Y (FAN_ANIM_FRAMES > 2 ? 28 : 27) #endif #define BMP_SIZE (STATUS_BMP_BYTEWIDTH) * (STATUS_SCREENHEIGHT) diff --git a/Marlin/src/lcd/dogm/dogm_font_data_HD44780_C.h b/Marlin/src/lcd/dogm/dogm_font_data_HD44780_C.h deleted file mode 100644 index 21d4aaabe28d..000000000000 --- a/Marlin/src/lcd/dogm/dogm_font_data_HD44780_C.h +++ /dev/null @@ -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 . - * - */ - -/** - 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 -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 -}; diff --git a/Marlin/src/lcd/dogm/dogm_font_data_HD44780_J.h b/Marlin/src/lcd/dogm/dogm_font_data_HD44780_J.h deleted file mode 100644 index e4884c7cbce4..000000000000 --- a/Marlin/src/lcd/dogm/dogm_font_data_HD44780_J.h +++ /dev/null @@ -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 . - * - */ - -/** - 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 -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 -}; diff --git a/Marlin/src/lcd/dogm/dogm_font_data_HD44780_W.h b/Marlin/src/lcd/dogm/dogm_font_data_HD44780_W.h deleted file mode 100644 index 86b4bf4bffe0..000000000000 --- a/Marlin/src/lcd/dogm/dogm_font_data_HD44780_W.h +++ /dev/null @@ -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 . - * - */ - -/** - 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 -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 -}; diff --git a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1.h b/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1.h index 8a108fb75c22..26e93f3a36f8 100644 --- a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1.h +++ b/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1.h @@ -19,264 +19,288 @@ * along with this program. If not, see . * */ - -/** - 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 #if defined(__AVR__) && ENABLED(NOT_EXTENDED_ISO10646_1_5X7) + // reduced font (only symbols 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") = { - 0,6,9,0,254,7,1,146,3,33,32,127,255,7,255,7, - 255,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128, - 128,128,0,128,3,2,2,6,1,5,160,160,5,7,7,6, - 0,0,80,80,248,80,248,80,80,5,7,7,6,0,0,32, - 120,160,112,40,240,32,5,7,7,6,0,0,192,200,16,32, - 64,152,24,5,7,7,6,0,0,96,144,160,64,168,144,104, - 2,3,3,6,1,4,192,64,128,3,7,7,6,1,0,32, - 64,128,128,128,64,32,3,7,7,6,1,0,128,64,32,32, - 32,64,128,5,5,5,6,0,1,32,168,112,168,32,5,5, - 5,6,0,1,32,32,248,32,32,2,3,3,6,2,255,192, - 64,128,5,1,1,6,0,3,248,2,2,2,6,2,0,192, - 192,5,5,5,6,0,1,8,16,32,64,128,5,7,7,6, - 0,0,112,136,136,136,136,136,112,3,7,7,6,1,0,64, - 192,64,64,64,64,224,5,7,7,6,0,0,112,136,8,112, - 128,128,248,5,7,7,6,0,0,248,16,32,16,8,8,240, - 5,7,7,6,0,0,16,48,80,144,248,16,16,5,7,7, - 6,0,0,248,128,240,8,8,136,112,5,7,7,6,0,0, - 112,128,128,240,136,136,112,5,7,7,6,0,0,248,8,16, - 32,32,32,32,5,7,7,6,0,0,112,136,136,112,136,136, - 112,5,7,7,6,0,0,112,136,136,120,8,8,112,2,5, - 5,6,2,0,192,192,0,192,192,2,6,6,6,2,255,192, - 192,0,192,64,128,4,7,7,6,0,0,16,32,64,128,64, - 32,16,5,3,3,6,0,2,248,0,248,4,7,7,6,1, - 0,128,64,32,16,32,64,128,5,7,7,6,0,0,112,136, - 8,16,32,0,32,5,7,7,6,0,0,112,136,8,104,168, - 168,112,5,7,7,6,0,0,112,136,136,248,136,136,136,5, - 7,7,6,0,0,240,136,136,240,136,136,240,5,7,7,6, - 0,0,112,136,128,128,128,136,112,5,7,7,6,0,0,240, - 136,136,136,136,136,240,5,7,7,6,0,0,248,128,128,240, - 128,128,248,5,7,7,6,0,0,248,128,128,240,128,128,128, - 5,7,7,6,0,0,112,136,128,184,136,136,112,5,7,7, - 6,0,0,136,136,136,248,136,136,136,1,7,7,6,2,0, - 128,128,128,128,128,128,128,5,7,7,6,0,0,56,16,16, - 16,16,144,96,5,7,7,6,0,0,136,144,160,192,160,144, - 136,5,7,7,6,0,0,128,128,128,128,128,128,248,5,7, - 7,6,0,0,136,216,168,136,136,136,136,5,7,7,6,0, - 0,136,136,200,168,152,136,136,5,7,7,6,0,0,112,136, - 136,136,136,136,112,5,7,7,6,0,0,240,136,136,240,128, - 128,128,5,7,7,6,0,0,112,136,136,136,168,144,104,5, - 7,7,6,0,0,240,136,136,240,160,144,136,5,7,7,6, - 0,0,120,128,128,112,8,8,240,5,7,7,6,0,0,248, - 32,32,32,32,32,32,5,7,7,6,0,0,136,136,136,136, - 136,136,112,5,7,7,6,0,0,136,136,136,136,136,80,32, - 5,7,7,6,0,0,136,136,136,136,136,168,80,5,7,7, - 6,0,0,136,136,80,32,80,136,136,5,7,7,6,0,0, - 136,136,136,80,32,32,32,5,7,7,6,0,0,248,8,16, - 32,64,128,248,3,7,7,6,1,0,224,128,128,128,128,128, - 224,5,5,5,6,0,1,128,64,32,16,8,3,7,7,6, - 1,0,224,32,32,32,32,32,224,5,3,3,6,0,4,32, - 80,136,5,1,1,6,0,0,248,2,2,2,6,2,5,128, - 64,5,5,5,6,0,0,112,8,120,136,120,5,7,7,6, - 0,0,128,128,176,200,136,136,240,5,5,5,6,0,0,112, - 128,128,136,112,5,7,7,6,0,0,8,8,104,152,136,136, - 120,5,5,5,6,0,0,112,136,248,128,112,5,7,7,6, - 0,0,48,72,224,64,64,64,64,5,6,6,6,0,255,112, - 136,136,120,8,112,5,7,7,6,0,0,128,128,176,200,136, - 136,136,1,7,7,6,2,0,128,0,128,128,128,128,128,3, - 8,8,6,1,255,32,0,32,32,32,32,160,64,4,7,7, - 6,0,0,128,128,144,160,192,160,144,3,7,7,6,1,0, - 192,64,64,64,64,64,224,5,5,5,6,0,0,208,168,168, - 168,168,5,5,5,6,0,0,176,200,136,136,136,5,5,5, - 6,0,0,112,136,136,136,112,5,6,6,6,0,255,240,136, - 136,240,128,128,5,6,6,6,0,255,120,136,136,120,8,8, - 5,5,5,6,0,0,176,200,128,128,128,5,5,5,6,0, - 0,112,128,112,8,240,4,7,7,6,0,0,64,64,224,64, - 64,64,48,5,5,5,6,0,0,136,136,136,152,104,5,5, - 5,6,0,0,136,136,136,80,32,5,5,5,6,0,0,136, - 136,168,168,80,5,5,5,6,0,0,136,80,32,80,136,5, - 6,6,6,0,255,136,136,136,120,8,112,5,5,5,6,0, - 0,248,16,32,64,248,3,7,7,6,1,0,32,64,64,128, - 64,64,32,1,7,7,6,2,0,128,128,128,128,128,128,128, - 3,7,7,6,1,0,128,64,64,32,64,64,128,5,2,2, - 6,0,2,104,144,0,0,0,6,0,0}; +/* + Fontname: -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 + Copyright: Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 5 h=10 x= 5 y= 5 dx= 6 dy= 0 ascent= 8 len=10 + Font Bounding box w= 6 h=12 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent = 8 descent=-2 +*/ +const u8g_fntpgm_uint8_t ISO10646_1_5x7[1328] U8G_FONT_SECTION("ISO10646_1_5x7") = { + 0x00,0x06,0x0c,0x00,0xfe,0x07,0x02,0x29,0x03,0xbf,0x01,0x7f,0xfe,0x08,0xfe,0x08, + 0xfe,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05, + 0x08,0x08,0x06,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05, + 0x06,0x00,0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, + 0xf8,0x20,0x20,0x20,0x20,0xe0,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa8, + 0xb8,0x88,0x88,0x70,0x20,0x05,0x09,0x09,0x06,0x00,0xff,0xe0,0x80,0xc0,0xb0,0xa8, + 0x28,0x30,0x28,0x28,0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88, + 0x88,0xa8,0xf8,0x05,0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8, + 0xa8,0x88,0x70,0x03,0x03,0x03,0x06,0x00,0x03,0x40,0xa0,0x40,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0x00,0x00,0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80, + 0x80,0x80,0x80,0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xa0,0xa0,0xa0,0x05,0x06, + 0x06,0x06,0x00,0x00,0x50,0xf8,0x50,0x50,0xf8,0x50,0x05,0x09,0x09,0x06,0x00,0xff, + 0x20,0x70,0xa8,0xa0,0x70,0x28,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc8, + 0xc8,0x10,0x20,0x40,0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xa0,0xa0,0x40, + 0xa8,0x90,0x68,0x01,0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06, + 0x01,0xff,0x20,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01, + 0xff,0x80,0x40,0x40,0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00, + 0x20,0xa8,0x70,0x20,0x70,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8, + 0x20,0x20,0x02,0x03,0x03,0x06,0x01,0xff,0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00, + 0x03,0xf8,0x02,0x02,0x02,0x06,0x01,0x00,0xc0,0xc0,0x05,0x07,0x07,0x06,0x00,0x00, + 0x08,0x10,0x10,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98, + 0xa8,0xc8,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0x40, + 0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x05,0x07, + 0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00, + 0x00,0x10,0x30,0x50,0x90,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80, + 0xf0,0x08,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xf0,0x88, + 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x10,0x20,0x20,0x20,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xc0, + 0xc0,0x00,0xc0,0xc0,0x02,0x06,0x06,0x06,0x01,0xff,0xc0,0xc0,0x00,0xc0,0x40,0x80, + 0x03,0x05,0x05,0x06,0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00, + 0x02,0xf8,0x00,0xf8,0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x10,0x20,0x20,0x00,0x20,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0xb8,0xa8,0xb8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70, + 0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70, + 0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x05,0x07,0x07, + 0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00, + 0xf8,0x80,0x80,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80, + 0x80,0x98,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88, + 0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07, + 0x07,0x06,0x00,0x00,0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00, + 0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80, + 0x80,0x80,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88, + 0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06, + 0x00,0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70, + 0x88,0x88,0x88,0xa8,0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0, + 0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07, + 0x06,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00, + 0x88,0x88,0x88,0x88,0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88, + 0x88,0xa8,0xa8,0x50,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88, + 0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07, + 0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x03,0x09,0x09,0x06,0x01, + 0xff,0xe0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xe0,0x05,0x07,0x07,0x06,0x00,0x00, + 0x80,0x40,0x40,0x20,0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05, + 0x01,0x01,0x06,0x00,0xfe,0xf8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05, + 0x05,0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00, + 0x80,0x80,0xf0,0x88,0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80, + 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x05, + 0x05,0x05,0x06,0x00,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00, + 0x30,0x48,0x40,0xe0,0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88, + 0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88,0x88,0x88, + 0x88,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x04,0x09, + 0x09,0x06,0x01,0xfe,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07, + 0x06,0x00,0x00,0x80,0x80,0x88,0x90,0xe0,0x90,0x88,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,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88, + 0x88,0x88,0xf0,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x88,0x88,0x88,0x78, + 0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05, + 0x06,0x00,0x00,0x78,0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20, + 0xf8,0x20,0x20,0x20,0x18,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,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05, + 0x05,0x06,0x00,0x00,0xf8,0x10,0x20,0x40,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0x20, + 0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xff,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40, + 0x40,0x20,0x40,0x40,0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xa8,0x90,0xff + }; #else + // extended (original) font (symbols 1 - 255) - // extended (original) font (sysmbols 32 - 255) - const u8g_fntpgm_uint8_t ISO10646_1_5x7[2592] U8G_SECTION(".progmem.ISO10646_1_5x7") = { - 0, 6, 9, 0, 254, 7, 1, 146, 3, 33, 32, 255, 255, 8, 255, 7, - 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, 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 - }; +/* + Fontname: -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 + Copyright: Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 6 h=10 x= 5 y= 7 dx= 6 dy= 0 ascent=10 len=10 + Font Bounding box w= 6 h=12 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent =10 descent=-2 +*/ +const u8g_fntpgm_uint8_t ISO10646_1_5x7[2651] U8G_FONT_SECTION("ISO10646_1_5x7") = { + 0x00,0x06,0x0c,0x00,0xfe,0x07,0x02,0x29,0x03,0xbf,0x01,0xff,0xfe,0x0a,0xfe,0x08, + 0xfe,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05, + 0x08,0x08,0x06,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05, + 0x06,0x00,0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, + 0xf8,0x20,0x20,0x20,0x20,0xe0,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa8, + 0xb8,0x88,0x88,0x70,0x20,0x05,0x09,0x09,0x06,0x00,0xff,0xe0,0x80,0xc0,0xb0,0xa8, + 0x28,0x30,0x28,0x28,0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88, + 0x88,0xa8,0xf8,0x05,0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8, + 0xa8,0x88,0x70,0x03,0x03,0x03,0x06,0x00,0x03,0x40,0xa0,0x40,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0x00,0x00,0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80, + 0x80,0x80,0x80,0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xa0,0xa0,0xa0,0x05,0x06, + 0x06,0x06,0x00,0x00,0x50,0xf8,0x50,0x50,0xf8,0x50,0x05,0x09,0x09,0x06,0x00,0xff, + 0x20,0x70,0xa8,0xa0,0x70,0x28,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc8, + 0xc8,0x10,0x20,0x40,0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xa0,0xa0,0x40, + 0xa8,0x90,0x68,0x01,0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06, + 0x01,0xff,0x20,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01, + 0xff,0x80,0x40,0x40,0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00, + 0x20,0xa8,0x70,0x20,0x70,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8, + 0x20,0x20,0x02,0x03,0x03,0x06,0x01,0xff,0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00, + 0x03,0xf8,0x02,0x02,0x02,0x06,0x01,0x00,0xc0,0xc0,0x05,0x07,0x07,0x06,0x00,0x00, + 0x08,0x10,0x10,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98, + 0xa8,0xc8,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0x40, + 0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x05,0x07, + 0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00, + 0x00,0x10,0x30,0x50,0x90,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80, + 0xf0,0x08,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xf0,0x88, + 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x10,0x20,0x20,0x20,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xc0, + 0xc0,0x00,0xc0,0xc0,0x02,0x06,0x06,0x06,0x01,0xff,0xc0,0xc0,0x00,0xc0,0x40,0x80, + 0x03,0x05,0x05,0x06,0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00, + 0x02,0xf8,0x00,0xf8,0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x10,0x20,0x20,0x00,0x20,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0xb8,0xa8,0xb8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70, + 0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70, + 0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x05,0x07,0x07, + 0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00, + 0xf8,0x80,0x80,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80, + 0x80,0x98,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88, + 0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07, + 0x07,0x06,0x00,0x00,0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00, + 0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80, + 0x80,0x80,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88, + 0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06, + 0x00,0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70, + 0x88,0x88,0x88,0xa8,0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0, + 0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07, + 0x06,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00, + 0x88,0x88,0x88,0x88,0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88, + 0x88,0xa8,0xa8,0x50,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88, + 0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07, + 0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x03,0x09,0x09,0x06,0x01, + 0xff,0xe0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xe0,0x05,0x07,0x07,0x06,0x00,0x00, + 0x80,0x40,0x40,0x20,0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05, + 0x01,0x01,0x06,0x00,0xfe,0xf8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05, + 0x05,0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00, + 0x80,0x80,0xf0,0x88,0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80, + 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x05, + 0x05,0x05,0x06,0x00,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00, + 0x30,0x48,0x40,0xe0,0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88, + 0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88,0x88,0x88, + 0x88,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x04,0x09, + 0x09,0x06,0x01,0xfe,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07, + 0x06,0x00,0x00,0x80,0x80,0x88,0x90,0xe0,0x90,0x88,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,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88, + 0x88,0x88,0xf0,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x88,0x88,0x88,0x78, + 0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05, + 0x06,0x00,0x00,0x78,0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20, + 0xf8,0x20,0x20,0x20,0x18,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,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05, + 0x05,0x06,0x00,0x00,0xf8,0x10,0x20,0x40,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0x20, + 0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xff,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40, + 0x40,0x20,0x40,0x40,0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xa8,0x90,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,0xff, + 0x00,0x00,0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80, + 0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xff,0x20,0x70,0xa8,0xa0,0xa8,0x70,0x20, + 0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40,0xe0,0x40,0x48,0xb0,0x05,0x05,0x05, + 0x06,0x00,0x00,0xa8,0x50,0x88,0x50,0xa8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x50, + 0xf8,0x20,0xf8,0x20,0x20,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x00,0x80, + 0x80,0x80,0x04,0x08,0x08,0x06,0x01,0x00,0x70,0x80,0x60,0x90,0x90,0x60,0x10,0xe0, + 0x03,0x01,0x01,0x06,0x01,0x07,0xa0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xb4, + 0xa4,0xb4,0x84,0x78,0x03,0x05,0x05,0x06,0x01,0x04,0x60,0xa0,0x60,0x00,0xe0,0x05, + 0x05,0x05,0x06,0x00,0x00,0x28,0x50,0xa0,0x50,0x28,0x05,0x03,0x03,0x06,0x00,0x01, + 0xf8,0x08,0x08,0x03,0x01,0x01,0x06,0x01,0x03,0xe0,0x06,0x07,0x07,0x06,0x00,0x00, + 0x78,0x84,0xb4,0xa4,0xa4,0x84,0x78,0x05,0x01,0x01,0x06,0x00,0x07,0xf8,0x04,0x04, + 0x04,0x06,0x01,0x05,0x60,0x90,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20, + 0xf8,0x20,0x20,0x00,0xf8,0x03,0x05,0x05,0x06,0x01,0x05,0x40,0xa0,0x20,0x40,0xe0, + 0x03,0x05,0x05,0x06,0x01,0x05,0xc0,0x20,0x40,0x20,0xc0,0x03,0x03,0x03,0x06,0x01, + 0x05,0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x98,0xe8,0x80, + 0x80,0x05,0x08,0x08,0x06,0x00,0x00,0x78,0xe8,0xe8,0xe8,0x68,0x28,0x28,0x28,0x02, + 0x02,0x02,0x06,0x02,0x03,0xc0,0xc0,0x03,0x02,0x02,0x06,0x01,0xfe,0x20,0xc0,0x03, + 0x05,0x05,0x06,0x01,0x05,0x40,0xc0,0x40,0x40,0xe0,0x03,0x05,0x05,0x06,0x01,0x05, + 0x40,0xa0,0x40,0x00,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xa0,0x50,0x28,0x50,0xa0, + 0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0xc0,0x48,0x50,0x60,0x50,0xb0,0x50,0x78,0x10, + 0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0xc0,0x48,0x50,0x60,0x50,0xa8,0x08,0x10,0x38, + 0x05,0x0a,0x0a,0x06,0x00,0x00,0xc0,0x20,0x48,0x30,0xe0,0x50,0xb0,0x50,0x78,0x10, + 0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x00,0x20,0x20,0x40,0x88,0x70,0x05,0x0a,0x0a, + 0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a, + 0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a, + 0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a, + 0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x09,0x09, + 0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06, + 0x00,0x00,0x20,0x50,0x20,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06, + 0x00,0x00,0x78,0xa0,0xa0,0xf0,0xa0,0xa0,0xb8,0x05,0x09,0x09,0x06,0x00,0xfe,0x70, + 0x88,0x80,0x80,0x80,0x88,0x70,0x10,0x60,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20, + 0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20, + 0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50, + 0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00, + 0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x03,0x0a,0x0a,0x06,0x01,0x00,0x80,0x40,0x00, + 0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x03,0x0a,0x0a,0x06,0x01,0x00,0x20,0x40,0x00, + 0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x03,0x0a,0x0a,0x06,0x01,0x00,0x40,0xa0,0x00, + 0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x03,0x09,0x09,0x06,0x01,0x00,0xa0,0x00,0xe0, + 0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x48,0x48,0xe8, + 0x48,0x48,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x68,0xb0,0x00,0x88,0x88,0xc8,0xa8, + 0x98,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0x88,0x88, + 0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0x88, + 0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0x88, + 0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x88,0x88,0x88, + 0x88,0x88,0x70,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x88, + 0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x01,0x88,0x50,0x20,0x50,0x88,0x05,0x09,0x09, + 0x06,0x00,0xff,0x08,0x70,0x98,0xa8,0xa8,0xa8,0xc8,0x70,0x80,0x05,0x0a,0x0a,0x06, + 0x00,0x00,0x40,0x20,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06, + 0x00,0x00,0x10,0x20,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06, + 0x00,0x00,0x20,0x50,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x09,0x09,0x06, + 0x00,0x00,0x50,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00, + 0x00,0x10,0x20,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x04,0x07,0x07,0x06,0x01, + 0x00,0x80,0xe0,0x90,0x90,0x90,0xe0,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88, + 0x90,0xa0,0x90,0x88,0xb0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x08, + 0x78,0x88,0x78,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x08,0x78,0x88, + 0x78,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x08,0x78,0x88,0x78,0x05, + 0x08,0x08,0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07, + 0x06,0x00,0x00,0x50,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06,0x00,0x00, + 0x20,0x50,0x20,0x70,0x08,0x78,0x88,0x78,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x28, + 0x70,0xa0,0x78,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x80,0x88,0x70,0x10,0x60, + 0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x08, + 0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x08,0x08,0x06, + 0x00,0x00,0x20,0x50,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00, + 0x50,0x00,0x70,0x88,0xf0,0x80,0x70,0x03,0x08,0x08,0x06,0x01,0x00,0x80,0x40,0x00, + 0xc0,0x40,0x40,0x40,0xe0,0x03,0x08,0x08,0x06,0x01,0x00,0x20,0x40,0x00,0xc0,0x40, + 0x40,0x40,0xe0,0x03,0x08,0x08,0x06,0x01,0x00,0x40,0xa0,0x00,0xc0,0x40,0x40,0x40, + 0xe0,0x03,0x07,0x07,0x06,0x01,0x00,0xa0,0x00,0xc0,0x40,0x40,0x40,0xe0,0x05,0x09, + 0x09,0x06,0x00,0x00,0x50,0x20,0x50,0x08,0x78,0x88,0x88,0x88,0x70,0x05,0x08,0x08, + 0x06,0x00,0x00,0x68,0xb0,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x08,0x08,0x06,0x00, + 0x00,0x40,0x20,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10, + 0x20,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00, + 0x70,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0xb0,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,0x05,0x05,0x06,0x00, + 0x00,0x78,0x98,0xa8,0xc8,0xf0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x88, + 0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x88,0x88,0x88, + 0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x88,0x88,0x88,0x88,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a, + 0x06,0x00,0xfe,0x10,0x20,0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x09,0x09, + 0x06,0x00,0xfe,0x80,0x80,0xf0,0x88,0x88,0x88,0xf0,0x80,0x80,0x05,0x09,0x09,0x06, + 0x00,0xfe,0x50,0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80}; #endif diff --git a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1_PL.h b/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1_PL.h deleted file mode 100644 index 47b0bbb0659a..000000000000 --- a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1_PL.h +++ /dev/null @@ -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 -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}; diff --git a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1_tr.h b/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1_tr.h deleted file mode 100644 index e32f59f95841..000000000000 --- a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1_tr.h +++ /dev/null @@ -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 . - * - */ - -/* - 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 -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}; diff --git a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_5_Cyrillic.h b/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_5_Cyrillic.h deleted file mode 100644 index 75e779fd0f64..000000000000 --- a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_5_Cyrillic.h +++ /dev/null @@ -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 . - * - */ - -/** - 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 -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 -}; diff --git a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_CN.h b/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_CN.h deleted file mode 100644 index 11fdb2240b01..000000000000 --- a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_CN.h +++ /dev/null @@ -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 . - * - */ - -/** - 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 -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 -}; diff --git a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_CZ.h b/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_CZ.h deleted file mode 100644 index 671ad8ea2da2..000000000000 --- a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_CZ.h +++ /dev/null @@ -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 -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 - }; diff --git a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_Greek.h b/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_Greek.h deleted file mode 100644 index efe44f3cc156..000000000000 --- a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_Greek.h +++ /dev/null @@ -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 . - * - */ - -/* - 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 -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}; diff --git a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_Kana.h b/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_Kana.h deleted file mode 100644 index 69683740c3a4..000000000000 --- a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_Kana.h +++ /dev/null @@ -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 . - * - */ - -/** - 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 -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 -}; diff --git a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_SK.h b/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_SK.h deleted file mode 100644 index 7a460858d890..000000000000 --- a/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_SK.h +++ /dev/null @@ -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 -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}; diff --git a/Marlin/src/lcd/dogm/dogm_font_data_Marlin_symbols.h b/Marlin/src/lcd/dogm/dogm_font_data_Marlin_symbols.h deleted file mode 100644 index ad9b983b20d6..000000000000 --- a/Marlin/src/lcd/dogm/dogm_font_data_Marlin_symbols.h +++ /dev/null @@ -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 . - * - */ - -/** - 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 -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 -}; diff --git a/Marlin/src/lcd/dogm/language_data_an.h b/Marlin/src/lcd/dogm/language_data_an.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_an.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_bg.h b/Marlin/src/lcd/dogm/language_data_bg.h new file mode 100644 index 000000000000..5ea82240aaaa --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_bg.h @@ -0,0 +1,77 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_8_144_149[96] U8G_FONT_SECTION("fontpage_8_144_149") = { + 0x00,0x06,0x0c,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,0xf0,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,0x80, + 0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xff,0x30,0x50,0x50,0x50,0x50, + 0x50,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,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x98,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x70,0x08,0x88,0x70,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,0x0c,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,0x38,0x48,0x48,0x48,0x48,0x48,0x88,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,0x88, + 0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0xa8,0x70,0x20 + }; +const u8g_fntpgm_uint8_t fontpage_8_166_166[32] U8G_FONT_SECTION("fontpage_8_166_166") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x07,0xfe,0x00, + 0x00,0x05,0x09,0x09,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0xf8,0x08,0x08 + }; +const u8g_fntpgm_uint8_t fontpage_8_175_195[260] U8G_FONT_SECTION("fontpage_8_175_195") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xc3,0x00,0x08,0xfe,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,0x70, + 0x80,0xf0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf0,0x88,0xf0,0x88, + 0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06, + 0x00,0xff,0x30,0x50,0x50,0x50,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, + 0xf0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0x70,0x20,0x70,0xa8,0x05,0x05, + 0x05,0x06,0x00,0x00,0x70,0x88,0x30,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x88, + 0x98,0xa8,0xc8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x88,0x98,0xa8, + 0xc8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x05,0x05, + 0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,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,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0,0x80, + 0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x05,0x05,0x05,0x06, + 0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88, + 0x88,0x78,0x08,0x70}; +const u8g_fntpgm_uint8_t fontpage_8_197_200[63] U8G_FONT_SECTION("fontpage_8_197_200") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc8,0x00,0x05,0xfe,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07,0x07,0x06, + 0x00,0xfe,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x88, + 0x88,0x78,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,0x0c,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,0x0c,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,0x04,0x05,0x05,0x06, + 0x01,0x00,0x70,0x90,0x70,0x50,0x90}; + +#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), // 'ю' -- 'я' +}; diff --git a/Marlin/src/lcd/dogm/language_data_ca.h b/Marlin/src/lcd/dogm/language_data_ca.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_ca.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_cz.h b/Marlin/src/lcd/dogm/language_data_cz.h new file mode 100644 index 000000000000..5858e707b454 --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_cz.h @@ -0,0 +1,52 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_2_140_141[47] U8G_FONT_SECTION("fontpage_2_140_141") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8d,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x80,0x80,0x88, + 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x88,0x70}; +const u8g_fntpgm_uint8_t fontpage_2_143_143[33] U8G_FONT_SECTION("fontpage_2_143_143") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x0a,0x00,0x00, + 0x00,0x06,0x0a,0x0a,0x06,0x00,0x00,0x14,0x08,0x00,0x08,0x08,0x78,0x88,0x88,0x88, + 0x78}; +const u8g_fntpgm_uint8_t fontpage_2_155_155[31] U8G_FONT_SECTION("fontpage_2_155_155") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0xf0,0x80,0x70}; +const u8g_fntpgm_uint8_t fontpage_2_200_200[31] U8G_FONT_SECTION("fontpage_2_200_200") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xb0,0xc8,0x88,0x88,0x88}; +const u8g_fntpgm_uint8_t fontpage_2_216_217[47] U8G_FONT_SECTION("fontpage_2_216_217") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd9,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90, + 0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xb0,0xc8,0x80,0x80,0x80}; +const u8g_fntpgm_uint8_t fontpage_2_225_225[31] U8G_FONT_SECTION("fontpage_2_225_225") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x78,0x80,0x70,0x08,0xf0}; +const u8g_fntpgm_uint8_t fontpage_2_229_229[33] U8G_FONT_SECTION("fontpage_2_229_229") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x20,0x20,0xf8,0x20,0x20,0x20, + 0x18}; +const u8g_fntpgm_uint8_t fontpage_2_239_239[31] U8G_FONT_SECTION("fontpage_2_239_239") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x20,0x88,0x88,0x88,0x88,0x70}; +const u8g_fntpgm_uint8_t fontpage_2_253_254[47] U8G_FONT_SECTION("fontpage_2_253_254") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfe,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x08,0x10,0x20,0x40,0x80, + 0xf8,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,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), // 'Ž' -- 'ž' +}; diff --git a/Marlin/src/lcd/dogm/language_data_da.h b/Marlin/src/lcd/dogm/language_data_da.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_da.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_de.h b/Marlin/src/lcd/dogm/language_data_de.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_de.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_el-gr.h b/Marlin/src/lcd/dogm/language_data_el-gr.h new file mode 100644 index 000000000000..558ea2fa6842 --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_el-gr.h @@ -0,0 +1,86 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_7_136_136[33] U8G_FONT_SECTION("fontpage_7_136_136") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x80,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80, + 0xf8}; +const u8g_fntpgm_uint8_t fontpage_7_145_157[186] U8G_FONT_SECTION("fontpage_7_145_157") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x9d,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, + 0x00,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,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,0xf8,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,0x20,0x50,0x50,0x88,0x88,0x88, + 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07,0x07, + 0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88}; +const u8g_fntpgm_uint8_t fontpage_7_159_161[56] U8G_FONT_SECTION("fontpage_7_159_161") = { + 0x00,0x06,0x0c,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,0x88,0x88,0x88,0x88,0x88,0x88,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,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa3,0xa7,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x40,0x20,0x10,0x20,0x40,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,0x20,0x70, + 0xa8,0xa8,0xa8,0x70,0x20,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,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xaf,0x00,0x08,0xfe,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x68,0x90,0x90,0x90,0x68,0x05, + 0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x60,0x88,0x70,0x05,0x0a,0x0a, + 0x06,0x00,0xfe,0x10,0x20,0x00,0xb0,0xc8,0x88,0x88,0x88,0x08,0x08,0x03,0x08,0x08, + 0x06,0x01,0x00,0x40,0x80,0x00,0x80,0x80,0x80,0xa0,0x40}; +const u8g_fntpgm_uint8_t fontpage_7_177_199[303] U8G_FONT_SECTION("fontpage_7_177_199") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xc7,0x00,0x09,0xfe,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x68,0x90,0x90,0x90,0x68,0x05,0x09,0x09,0x06, + 0x00,0xfe,0x60,0x90,0x90,0xb0,0x88,0x88,0xf0,0x80,0x80,0x05,0x07,0x07,0x06,0x00, + 0xfe,0x88,0x88,0x50,0x50,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x80, + 0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x60,0x88,0x70, + 0x05,0x08,0x08,0x06,0x00,0xff,0xf8,0x20,0x40,0x40,0x40,0x30,0x08,0x30,0x05,0x07, + 0x07,0x06,0x00,0xfe,0xb0,0xc8,0x88,0x88,0x88,0x08,0x08,0x04,0x07,0x07,0x06,0x01, + 0x00,0x60,0x90,0x90,0xf0,0x90,0x90,0x60,0x03,0x05,0x05,0x06,0x02,0x00,0x80,0x80, + 0x80,0xa0,0x40,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x09, + 0x09,0x06,0x00,0x00,0x80,0x40,0x40,0x20,0x20,0x50,0x50,0x88,0x88,0x05,0x07,0x07, + 0x06,0x00,0xfe,0x88,0x88,0x88,0x98,0xe8,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00, + 0x88,0x88,0x50,0x50,0x20,0x05,0x09,0x09,0x06,0x00,0xfe,0xf8,0x20,0x40,0x70,0x80, + 0x80,0x70,0x08,0x10,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x06, + 0x05,0x05,0x06,0x00,0x00,0xf8,0x50,0x50,0x54,0x48,0x05,0x07,0x07,0x06,0x00,0xfe, + 0x70,0x88,0x88,0xc8,0xb0,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x80, + 0x80,0x70,0x08,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x90,0x88,0x88,0x70,0x05, + 0x05,0x05,0x06,0x00,0x00,0xf8,0x20,0x20,0x28,0x10,0x05,0x05,0x05,0x06,0x00,0x00, + 0x90,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0x10,0xa8,0xa8,0xa8,0x70, + 0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x50,0x20,0x50,0x88,0x88}; +const u8g_fntpgm_uint8_t fontpage_7_201_201[28] U8G_FONT_SECTION("fontpage_7_201_201") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x05,0x00,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x50,0x88,0xa8,0xa8,0x50}; +const u8g_fntpgm_uint8_t fontpage_7_204_206[59] U8G_FONT_SECTION("fontpage_7_204_206") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xce,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0x88,0x70,0x05, + 0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x90,0x88,0x88,0x88,0x70,0x05,0x08,0x08, + 0x06,0x00,0x00,0x10,0x20,0x00,0x50,0x88,0xa8,0xa8,0x50}; +const u8g_fntpgm_uint8_t fontpage_64_166_166[24] U8G_FONT_SECTION("fontpage_64_166_166") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x01,0x00,0x00, + 0x00,0x05,0x01,0x01,0x06,0x00,0x00,0xa8}; + +#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), // '…' -- '…' +}; diff --git a/Marlin/src/lcd/dogm/language_data_el.h b/Marlin/src/lcd/dogm/language_data_el.h new file mode 100644 index 000000000000..1c7e810f6d0b --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_el.h @@ -0,0 +1,90 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_7_136_136[33] U8G_FONT_SECTION("fontpage_7_136_136") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x80,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80, + 0xf8}; +const u8g_fntpgm_uint8_t fontpage_7_145_157[186] U8G_FONT_SECTION("fontpage_7_145_157") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x9d,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, + 0x00,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,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,0xf8,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,0x20,0x50,0x50,0x88,0x88,0x88, + 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07,0x07, + 0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88}; +const u8g_fntpgm_uint8_t fontpage_7_159_161[56] U8G_FONT_SECTION("fontpage_7_159_161") = { + 0x00,0x06,0x0c,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,0x88,0x88,0x88,0x88,0x88,0x88,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,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa3,0xa7,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x40,0x20,0x10,0x20,0x40,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,0x20,0x70, + 0xa8,0xa8,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50, + 0x88,0x88}; +const u8g_fntpgm_uint8_t fontpage_7_169_169[30] U8G_FONT_SECTION("fontpage_7_169_169") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xa9,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x50,0xd8}; +const u8g_fntpgm_uint8_t fontpage_7_172_175[75] U8G_FONT_SECTION("fontpage_7_172_175") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xaf,0x00,0x08,0xfe,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x68,0x90,0x90,0x90,0x68,0x05, + 0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x60,0x88,0x70,0x05,0x0a,0x0a, + 0x06,0x00,0xfe,0x10,0x20,0x00,0xb0,0xc8,0x88,0x88,0x88,0x08,0x08,0x03,0x08,0x08, + 0x06,0x01,0x00,0x40,0x80,0x00,0x80,0x80,0x80,0xa0,0x40}; +const u8g_fntpgm_uint8_t fontpage_7_177_199[303] U8G_FONT_SECTION("fontpage_7_177_199") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xc7,0x00,0x09,0xfe,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x68,0x90,0x90,0x90,0x68,0x05,0x09,0x09,0x06, + 0x00,0xfe,0x60,0x90,0x90,0xb0,0x88,0x88,0xf0,0x80,0x80,0x05,0x07,0x07,0x06,0x00, + 0xfe,0x88,0x88,0x50,0x50,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x80, + 0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x60,0x88,0x70, + 0x05,0x08,0x08,0x06,0x00,0xff,0xf8,0x20,0x40,0x40,0x40,0x30,0x08,0x30,0x05,0x07, + 0x07,0x06,0x00,0xfe,0xb0,0xc8,0x88,0x88,0x88,0x08,0x08,0x04,0x07,0x07,0x06,0x01, + 0x00,0x60,0x90,0x90,0xf0,0x90,0x90,0x60,0x03,0x05,0x05,0x06,0x02,0x00,0x80,0x80, + 0x80,0xa0,0x40,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x09, + 0x09,0x06,0x00,0x00,0x80,0x40,0x40,0x20,0x20,0x50,0x50,0x88,0x88,0x05,0x07,0x07, + 0x06,0x00,0xfe,0x88,0x88,0x88,0x98,0xe8,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00, + 0x88,0x88,0x50,0x50,0x20,0x05,0x09,0x09,0x06,0x00,0xfe,0xf8,0x20,0x40,0x70,0x80, + 0x80,0x70,0x08,0x10,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x06, + 0x05,0x05,0x06,0x00,0x00,0xf8,0x50,0x50,0x54,0x48,0x05,0x07,0x07,0x06,0x00,0xfe, + 0x70,0x88,0x88,0xc8,0xb0,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x80, + 0x80,0x70,0x08,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x90,0x88,0x88,0x70,0x05, + 0x05,0x05,0x06,0x00,0x00,0xf8,0x20,0x20,0x28,0x10,0x05,0x05,0x05,0x06,0x00,0x00, + 0x90,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0x10,0xa8,0xa8,0xa8,0x70, + 0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x50,0x20,0x50,0x88,0x88}; +const u8g_fntpgm_uint8_t fontpage_7_201_201[28] U8G_FONT_SECTION("fontpage_7_201_201") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x05,0x00,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x50,0x88,0xa8,0xa8,0x50}; +const u8g_fntpgm_uint8_t fontpage_7_204_206[59] U8G_FONT_SECTION("fontpage_7_204_206") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xce,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0x88,0x70,0x05, + 0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x90,0x88,0x88,0x88,0x70,0x05,0x08,0x08, + 0x06,0x00,0x00,0x10,0x20,0x00,0x50,0x88,0xa8,0xa8,0x50}; +const u8g_fntpgm_uint8_t fontpage_64_166_166[24] U8G_FONT_SECTION("fontpage_64_166_166") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x01,0x00,0x00, + 0x00,0x05,0x01,0x01,0x06,0x00,0x00,0xa8}; + +#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), // '…' -- '…' +}; diff --git a/Marlin/src/lcd/dogm/language_data_en.h b/Marlin/src/lcd/dogm/language_data_en.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_en.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_es.h b/Marlin/src/lcd/dogm/language_data_es.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_es.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_eu.h b/Marlin/src/lcd/dogm/language_data_eu.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_eu.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_fi.h b/Marlin/src/lcd/dogm/language_data_fi.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_fi.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_fr.h b/Marlin/src/lcd/dogm/language_data_fr.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_fr.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_gl.h b/Marlin/src/lcd/dogm/language_data_gl.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_gl.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_hr.h b/Marlin/src/lcd/dogm/language_data_hr.h new file mode 100644 index 000000000000..88254cdc6752 --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_hr.h @@ -0,0 +1,32 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_2_135_135[31] U8G_FONT_SECTION("fontpage_2_135_135") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x80,0x88,0x70}; +const u8g_fntpgm_uint8_t fontpage_2_140_141[47] U8G_FONT_SECTION("fontpage_2_140_141") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8d,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x80,0x80,0x88, + 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x88,0x70}; +const u8g_fntpgm_uint8_t fontpage_2_145_145[31] U8G_FONT_SECTION("fontpage_2_145_145") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x08,0x00,0x00, + 0x00,0x06,0x08,0x08,0x06,0x00,0x00,0x08,0x1c,0x08,0x78,0x88,0x88,0x88,0x78}; +const u8g_fntpgm_uint8_t fontpage_2_225_225[31] U8G_FONT_SECTION("fontpage_2_225_225") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x78,0x80,0x70,0x08,0xf0}; +const u8g_fntpgm_uint8_t fontpage_2_254_254[31] U8G_FONT_SECTION("fontpage_2_254_254") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfe,0xfe,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,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), // 'ž' -- 'ž' +}; diff --git a/Marlin/src/lcd/dogm/language_data_it.h b/Marlin/src/lcd/dogm/language_data_it.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_it.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_jp-kana.h b/Marlin/src/lcd/dogm/language_data_jp-kana.h new file mode 100644 index 000000000000..2a2229e27e77 --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_jp-kana.h @@ -0,0 +1,116 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_97_161_164[61] U8G_FONT_SECTION("fontpage_97_161_164") = { + 0x00,0x06,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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), // 'ー' -- 'ー' +}; diff --git a/Marlin/src/lcd/dogm/language_data_nl.h b/Marlin/src/lcd/dogm/language_data_nl.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_nl.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_pl.h b/Marlin/src/lcd/dogm/language_data_pl.h new file mode 100644 index 000000000000..2f2e48e4b090 --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_pl.h @@ -0,0 +1,39 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_2_133_133[30] U8G_FONT_SECTION("fontpage_2_133_133") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x05,0xfe,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x08,0x78,0x88,0x78,0x20,0x30}; +const u8g_fntpgm_uint8_t fontpage_2_135_135[31] U8G_FONT_SECTION("fontpage_2_135_135") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x80,0x88,0x70}; +const u8g_fntpgm_uint8_t fontpage_2_153_153[30] U8G_FONT_SECTION("fontpage_2_153_153") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x05,0xfe,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0xf0,0x80,0x70,0x20,0x30}; +const u8g_fntpgm_uint8_t fontpage_2_193_196[73] U8G_FONT_SECTION("fontpage_2_193_196") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc1,0xc4,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0x60,0xc0,0x40,0x40,0x78,0x03,0x07, + 0x07,0x06,0x01,0x00,0xc0,0x40,0x60,0xc0,0x40,0x40,0xe0,0x05,0x0a,0x0a,0x06,0x00, + 0x00,0x10,0x20,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x08,0x08,0x06,0x00, + 0x00,0x10,0x20,0x00,0xb0,0xc8,0x88,0x88,0x88}; +const u8g_fntpgm_uint8_t fontpage_2_218_219[47] U8G_FONT_SECTION("fontpage_2_218_219") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xda,0xdb,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x80,0x70,0x08,0x88, + 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x78,0x80,0x70,0x08,0xf0}; +const u8g_fntpgm_uint8_t fontpage_2_252_252[30] U8G_FONT_SECTION("fontpage_2_252_252") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfc,0xfc,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x00,0xf8,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), // 'ż' -- 'ż' +}; diff --git a/Marlin/src/lcd/dogm/language_data_pt-br.h b/Marlin/src/lcd/dogm/language_data_pt-br.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_pt-br.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_pt.h b/Marlin/src/lcd/dogm/language_data_pt.h new file mode 100644 index 000000000000..51210a43947e --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_pt.h @@ -0,0 +1,9 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {}; diff --git a/Marlin/src/lcd/dogm/language_data_ru.h b/Marlin/src/lcd/dogm/language_data_ru.h new file mode 100644 index 000000000000..43650b54dd02 --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_ru.h @@ -0,0 +1,78 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_8_144_152[135] U8G_FONT_SECTION("fontpage_8_144_152") = { + 0x00,0x06,0x0c,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,0xf0,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,0x80, + 0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xff,0x30,0x50,0x50,0x50,0x50, + 0x50,0xf8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8, + 0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0x70,0x20,0x70,0xa8,0xa8,0x05,0x07,0x07, + 0x06,0x00,0x00,0x70,0x88,0x08,0x70,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00, + 0x88,0x88,0x98,0xa8,0xc8,0x88,0x88}; +const u8g_fntpgm_uint8_t fontpage_8_154_168[214] U8G_FONT_SECTION("fontpage_8_154_168") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0xa8,0x00,0x07,0xfe,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x48,0x48,0x88,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,0x88, + 0x78,0x08,0x70,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,0x09,0x09, + 0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x07,0x07,0x06, + 0x00,0x00,0x88,0x88,0x88,0x78,0x08,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,0x0c,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,0x04,0x07, + 0x07,0x06,0x01,0x00,0x80,0x80,0x80,0xe0,0x90,0x90,0xe0,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x08,0x78,0x08,0x88,0x70}; +const u8g_fntpgm_uint8_t fontpage_8_175_201[334] U8G_FONT_SECTION("fontpage_8_175_201") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xc9,0x00,0x08,0xfe,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,0x70, + 0x80,0xf0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf0,0x88,0xf0,0x88, + 0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06, + 0x00,0xff,0x30,0x50,0x50,0x50,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, + 0xf0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0x70,0x20,0x70,0xa8,0x05,0x05, + 0x05,0x06,0x00,0x00,0x70,0x88,0x30,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x88, + 0x98,0xa8,0xc8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x88,0x98,0xa8, + 0xc8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x05,0x05, + 0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,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,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0,0x80, + 0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x05,0x05,0x05,0x06, + 0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88, + 0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xfe,0x20,0x20,0x70,0xa8,0xa8,0xa8, + 0x70,0x20,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, + 0x07,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x05,0x05,0x06,0x00, + 0x00,0x88,0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8, + 0xf8,0x05,0x07,0x07,0x06,0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xf8,0x08,0x08}; +const u8g_fntpgm_uint8_t fontpage_8_203_207[72] U8G_FONT_SECTION("fontpage_8_203_207") = { + 0x00,0x06,0x0c,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,0x04,0x05,0x05,0x06, + 0x01,0x00,0x80,0x80,0xe0,0x90,0xe0,0x04,0x05,0x05,0x06,0x01,0x00,0xe0,0x10,0x70, + 0x10,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x04,0x05,0x05, + 0x06,0x01,0x00,0x70,0x90,0x70,0x50,0x90}; +const u8g_fntpgm_uint8_t fontpage_8_209_209[30] U8G_FONT_SECTION("fontpage_8_209_209") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0xf0,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), // 'ё' -- 'ё' +}; diff --git a/Marlin/src/lcd/dogm/language_data_sk.h b/Marlin/src/lcd/dogm/language_data_sk.h new file mode 100644 index 000000000000..37e10057c376 --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_sk.h @@ -0,0 +1,60 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_2_140_143[79] U8G_FONT_SECTION("fontpage_2_140_143") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8f,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x80,0x80,0x88, + 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x88,0x70,0x05, + 0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x06, + 0x0a,0x0a,0x06,0x00,0x00,0x14,0x08,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78}; +const u8g_fntpgm_uint8_t fontpage_2_185_186[49] U8G_FONT_SECTION("fontpage_2_185_186") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xba,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0x80,0x80,0x80,0x80,0x80,0x80, + 0xf8,0x03,0x0a,0x0a,0x06,0x01,0x00,0x20,0x40,0x00,0xc0,0x40,0x40,0x40,0x40,0x40, + 0xe0}; +const u8g_fntpgm_uint8_t fontpage_2_189_190[49] U8G_FONT_SECTION("fontpage_2_189_190") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xbe,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x80,0x80,0x80,0x80,0x80,0x80, + 0xf8,0x03,0x0a,0x0a,0x06,0x01,0x00,0xa0,0x40,0x00,0xc0,0x40,0x40,0x40,0x40,0x40, + 0xe0}; +const u8g_fntpgm_uint8_t fontpage_2_199_200[47] U8G_FONT_SECTION("fontpage_2_199_200") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc8,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88, + 0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xb0,0xc8,0x88,0x88,0x88}; +const u8g_fntpgm_uint8_t fontpage_2_212_213[47] U8G_FONT_SECTION("fontpage_2_212_213") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd5,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90, + 0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0xb0,0xc8,0x80,0x80,0x80}; +const u8g_fntpgm_uint8_t fontpage_2_224_225[47] U8G_FONT_SECTION("fontpage_2_224_225") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe1,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x70,0x08,0x88, + 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x78,0x80,0x70,0x08,0xf0}; +const u8g_fntpgm_uint8_t fontpage_2_228_229[49] U8G_FONT_SECTION("fontpage_2_228_229") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe5,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x20,0x20,0x20,0x20,0x20, + 0x20,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x20,0x20,0xf8,0x20,0x20,0x20, + 0x18}; +const u8g_fntpgm_uint8_t fontpage_2_239_239[31] U8G_FONT_SECTION("fontpage_2_239_239") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x20,0x88,0x88,0x88,0x88,0x70}; +const u8g_fntpgm_uint8_t fontpage_2_253_254[47] U8G_FONT_SECTION("fontpage_2_253_254") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfe,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x08,0x10,0x20,0x40,0x80, + 0xf8,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,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, 185, 186, fontpage_2_185_186), // 'Ĺ' -- 'ĺ' + FONTDATA_ITEM(2, 189, 190, fontpage_2_189_190), // 'Ľ' -- 'ľ' + FONTDATA_ITEM(2, 199, 200, fontpage_2_199_200), // 'Ň' -- 'ň' + FONTDATA_ITEM(2, 212, 213, fontpage_2_212_213), // 'Ŕ' -- 'ŕ' + FONTDATA_ITEM(2, 224, 225, fontpage_2_224_225), // 'Š' -- 'š' + FONTDATA_ITEM(2, 228, 229, fontpage_2_228_229), // 'Ť' -- 'ť' + FONTDATA_ITEM(2, 239, 239, fontpage_2_239_239), // 'ů' -- 'ů' + FONTDATA_ITEM(2, 253, 254, fontpage_2_253_254), // 'Ž' -- 'ž' +}; diff --git a/Marlin/src/lcd/dogm/language_data_test.h b/Marlin/src/lcd/dogm/language_data_test.h new file mode 100644 index 000000000000..875071abea58 --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_test.h @@ -0,0 +1,225 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_8_128_255[1677] U8G_FONT_SECTION("fontpage_8_128_255") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x00,0x0a,0xfe,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80, + 0xf8,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8, + 0x05,0x09,0x09,0x06,0x00,0xfe,0xe0,0x40,0x40,0x70,0x48,0x48,0x48,0x08,0x30,0x05, + 0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0xf0,0x80,0x88,0x70,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,0x09,0x09,0x06,0x01,0x00,0xa0,0x00,0xe0,0x40, + 0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x38,0x10,0x10,0x10,0x10, + 0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x60,0xa0,0xa0,0xb0,0xa8,0xa8,0xb0,0x05, + 0x07,0x07,0x06,0x00,0x00,0xa0,0xa0,0xa0,0xf0,0xa8,0xa8,0xb0,0x05,0x07,0x07,0x06, + 0x00,0x00,0xe0,0x40,0x40,0x70,0x48,0x48,0x48,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10, + 0x20,0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40, + 0x20,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x88, + 0x70,0x00,0x88,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xfe,0x88, + 0x88,0x88,0x88,0x88,0x88,0xf8,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88, + 0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,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,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06, + 0x00,0xff,0x30,0x50,0x50,0x50,0x50,0x50,0xf8,0x88,0x05,0x07,0x07,0x06,0x00,0x00, + 0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0x70, + 0x20,0x70,0xa8,0xa8,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x70,0x08,0x88, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x0a, + 0x0a,0x06,0x00,0x00,0x88,0x70,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00, + 0x00,0x38,0x48,0x48,0x48,0x48,0x48,0x88,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,0x88,0x78,0x08,0x70, + 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,0x09,0x09,0x06,0x00,0xfe, + 0x90,0x90,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0x88, + 0x88,0x88,0x78,0x08,0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8, + 0xa8,0xa8,0xf8,0x05,0x09,0x09,0x06,0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xf8, + 0x08,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,0x04,0x07,0x07,0x06, + 0x01,0x00,0x80,0x80,0x80,0xe0,0x90,0x90,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70, + 0x88,0x08,0x78,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,0x70,0x80,0xf0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf0,0x88, + 0xf0,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x80,0x80,0x80,0x80,0x05,0x06, + 0x06,0x06,0x00,0xff,0x30,0x50,0x50,0x50,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00, + 0x70,0x88,0xf0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0x70,0x20,0x70,0xa8, + 0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x30,0x88,0x70,0x05,0x05,0x05,0x06,0x00, + 0x00,0x88,0x98,0xa8,0xc8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x88, + 0x98,0xa8,0xc8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05, + 0x05,0x05,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,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,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88, + 0xf0,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x05,0x05, + 0x05,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe,0x88, + 0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xfe,0x20,0x20,0x70,0xa8, + 0xa8,0xa8,0x70,0x20,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88, + 0x05,0x07,0x07,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x05,0x05, + 0x06,0x00,0x00,0x88,0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8, + 0xa8,0xa8,0xf8,0x05,0x07,0x07,0x06,0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xf8,0x08,0x08, + 0x05,0x05,0x05,0x06,0x00,0x00,0xc0,0x40,0x70,0x48,0x70,0x05,0x05,0x05,0x06,0x00, + 0x00,0x88,0x88,0xc8,0xa8,0xc8,0x04,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0xe0,0x90, + 0xe0,0x04,0x05,0x05,0x06,0x01,0x00,0xe0,0x10,0x70,0x10,0xe0,0x05,0x05,0x05,0x06, + 0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x04,0x05,0x05,0x06,0x01,0x00,0x70,0x90,0x70, + 0x50,0x90,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xf0,0x80,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x09,0x09, + 0x06,0x00,0xfe,0x40,0xe0,0x40,0x70,0x48,0x48,0x48,0x08,0x10,0x05,0x08,0x08,0x06, + 0x00,0x00,0x10,0x20,0x00,0xf8,0x80,0x80,0x80,0x80,0x04,0x05,0x05,0x06,0x01,0x00, + 0x70,0x80,0xe0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x80,0x70,0x08,0xf0, + 0x03,0x06,0x06,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0xe0,0x03,0x06,0x06,0x06, + 0x01,0x00,0xa0,0x00,0xc0,0x40,0x40,0xe0,0x04,0x08,0x08,0x06,0x01,0xfe,0x10,0x00, + 0x30,0x10,0x10,0x10,0x90,0x60,0x05,0x05,0x05,0x06,0x00,0x00,0x60,0xa0,0xb0,0xa8, + 0xb0,0x05,0x05,0x05,0x06,0x00,0x00,0xa0,0xa0,0xf0,0xa8,0xb0,0x05,0x07,0x07,0x06, + 0x00,0x00,0x40,0xe0,0x40,0x70,0x48,0x48,0x48,0x04,0x08,0x08,0x06,0x01,0x00,0x20, + 0x40,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00, + 0x88,0x98,0xa8,0xc8,0x88,0x05,0x0a,0x0a,0x06,0x00,0xfe,0x88,0x70,0x00,0x88,0x88, + 0x88,0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x88,0xf8, + 0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x88,0x88,0xa8,0xa8,0xa8,0x50,0x05, + 0x05,0x05,0x06,0x00,0x00,0x50,0x88,0xa8,0xa8,0x50,0x05,0x07,0x07,0x06,0x00,0x00, + 0x40,0xf0,0x40,0x70,0x48,0x48,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xf0, + 0x40,0x70,0x48,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x98,0xa0,0xa0,0xf8,0xa0,0xa0, + 0x98,0x05,0x05,0x05,0x06,0x00,0x00,0x98,0xa0,0xf8,0xa0,0x98,0x05,0x07,0x07,0x06, + 0x00,0x00,0x20,0x50,0x50,0x88,0xf8,0xa8,0xa8,0x05,0x06,0x06,0x06,0x00,0x00,0x20, + 0x50,0x50,0x88,0xf8,0xa8,0x05,0x07,0x07,0x06,0x00,0x00,0x90,0x90,0xb8,0xf8,0xb8, + 0xb8,0xb8,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0x90,0xf8,0xb8,0xb8,0x05,0x08,0x08, + 0x06,0x00,0x00,0xf8,0x88,0x50,0x50,0x70,0xa8,0xa8,0xa8,0x05,0x06,0x06,0x06,0x00, + 0x00,0xf8,0x88,0x50,0x70,0xa8,0xa8,0x06,0x08,0x08,0x06,0x00,0x00,0xfc,0xc4,0xa8, + 0x90,0xf8,0xb8,0xb8,0xa8,0x06,0x06,0x06,0x06,0x00,0x00,0xfc,0xa8,0x90,0xf8,0xb8, + 0xa8,0x05,0x0c,0x0c,0x06,0x00,0xfe,0x50,0x20,0x00,0x70,0x88,0x08,0x30,0x08,0x08, + 0x70,0x80,0x70,0x05,0x0a,0x0a,0x06,0x00,0xfe,0x50,0x20,0x00,0x70,0x88,0x30,0x08, + 0x70,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0x70,0x20,0x20,0x20, + 0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0x70,0x20,0x20,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, + 0xf8,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0x90,0x50,0x50,0x50,0x20, + 0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x90,0x50,0x50,0x20,0x05,0x0a,0x0a,0x06,0x00, + 0x00,0x90,0x48,0x00,0x88,0x90,0x90,0x50,0x50,0x50,0x20,0x05,0x08,0x08,0x06,0x00, + 0x00,0x90,0x48,0x00,0x88,0x90,0x50,0x50,0x20,0x05,0x09,0x09,0x06,0x00,0xfe,0x40, + 0xa0,0xa0,0xb8,0xb8,0xb8,0x58,0x08,0x10,0x05,0x07,0x07,0x06,0x00,0xfe,0x58,0xb8, + 0xb8,0xb8,0x58,0x08,0x10,0x05,0x0a,0x0a,0x06,0x00,0xff,0x20,0x70,0xa8,0x88,0x88, + 0x88,0x88,0xa8,0x70,0x20,0x05,0x08,0x08,0x06,0x00,0xff,0x20,0x70,0xa8,0x88,0x88, + 0xa8,0x70,0x20,0x05,0x09,0x09,0x06,0x00,0x00,0x70,0x00,0x20,0x20,0x88,0x88,0x88, + 0xa8,0x50,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x00,0x20,0xa8,0x88,0xa8,0x50,0x05, + 0x0a,0x0a,0x06,0x00,0x00,0xf8,0xa8,0x00,0x50,0x88,0x88,0xa8,0xa8,0xa8,0x50,0x05, + 0x08,0x08,0x06,0x00,0x00,0xf8,0xa8,0x00,0x50,0x88,0xa8,0xa8,0x50}; +const u8g_fntpgm_uint8_t fontpage_97_129_191[870] U8G_FONT_SECTION("fontpage_97_129_191") = { + 0x00,0x06,0x0c,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,0x0c,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), // 'チ' -- 'ヿ' +}; diff --git a/Marlin/src/lcd/dogm/language_data_tr.h b/Marlin/src/lcd/dogm/language_data_tr.h new file mode 100644 index 000000000000..23850ecfd768 --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_tr.h @@ -0,0 +1,25 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_2_159_159[33] U8G_FONT_SECTION("fontpage_2_159_159") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x08,0xfe,0x00, + 0x00,0x05,0x0a,0x0a,0x06,0x00,0xfe,0x88,0x70,0x00,0x70,0x88,0x88,0x88,0x78,0x08, + 0x70}; +const u8g_fntpgm_uint8_t fontpage_2_176_177[43] U8G_FONT_SECTION("fontpage_2_176_177") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb1,0x00,0x09,0x00,0x00, + 0x00,0x03,0x09,0x09,0x06,0x01,0x00,0x40,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0, + 0x03,0x05,0x05,0x06,0x01,0x00,0xc0,0x40,0x40,0x40,0xe0}; +const u8g_fntpgm_uint8_t fontpage_2_223_223[30] U8G_FONT_SECTION("fontpage_2_223_223") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x05,0xfe,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x80,0x70,0x08,0xf0,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), // 'ş' -- 'ş' +}; diff --git a/Marlin/src/lcd/dogm/language_data_uk.h b/Marlin/src/lcd/dogm/language_data_uk.h new file mode 100644 index 000000000000..9886e41d2e48 --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_uk.h @@ -0,0 +1,93 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_8_134_134[30] U8G_FONT_SECTION("fontpage_8_134_134") = { + 0x00,0x06,0x0c,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,0x0c,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,0xf0,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,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x94,0x95,0x00,0x07,0xff,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0xff,0x30,0x50,0x50,0x50,0x50,0x50,0xf8,0x88,0x05, + 0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8}; +const u8g_fntpgm_uint8_t fontpage_8_151_154[72] U8G_FONT_SECTION("fontpage_8_151_154") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x9a,0x00,0x0a,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x70,0x08,0x88,0x70,0x05,0x07, + 0x07,0x06,0x00,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00, + 0x00,0x88,0x70,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,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,0x0c,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,0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x20, + 0x70,0xa8,0xa8,0xa8,0x70,0x20}; +const u8g_fntpgm_uint8_t fontpage_8_166_166[32] U8G_FONT_SECTION("fontpage_8_166_166") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x07,0xfe,0x00, + 0x00,0x05,0x09,0x09,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0xf8,0x08,0x08 + }; +const u8g_fntpgm_uint8_t fontpage_8_168_168[30] U8G_FONT_SECTION("fontpage_8_168_168") = { + 0x00,0x06,0x0c,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[321] U8G_FONT_SECTION("fontpage_8_176_201") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xc9,0x00,0x08,0xfe,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x80,0xf0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf0, + 0x88,0xf0,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x80,0x80,0x80,0x80,0x05, + 0x06,0x06,0x06,0x00,0xff,0x30,0x50,0x50,0x50,0xf8,0x88,0x05,0x05,0x05,0x06,0x00, + 0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0x70,0x20,0x70, + 0xa8,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x30,0x88,0x70,0x05,0x05,0x05,0x06, + 0x00,0x00,0x88,0x98,0xa8,0xc8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00, + 0x88,0x98,0xa8,0xc8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0,0x90, + 0x05,0x05,0x05,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,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,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88, + 0x88,0xf0,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x05, + 0x05,0x05,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe, + 0x88,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xfe,0x20,0x20,0x70, + 0xa8,0xa8,0xa8,0x70,0x20,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50, + 0x88,0x05,0x07,0x07,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x05, + 0x05,0x06,0x00,0x00,0x88,0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8, + 0xa8,0xa8,0xa8,0xf8,0x05,0x07,0x07,0x06,0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xf8,0x08, + 0x08}; +const u8g_fntpgm_uint8_t fontpage_8_204_204[28] U8G_FONT_SECTION("fontpage_8_204_204") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x05,0x00,0x00, + 0x00,0x04,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0xe0,0x90,0xe0}; +const u8g_fntpgm_uint8_t fontpage_8_206_207[39] U8G_FONT_SECTION("fontpage_8_206_207") = { + 0x00,0x06,0x0c,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,0x04,0x05,0x05,0x06, + 0x01,0x00,0x70,0x90,0x70,0x50,0x90}; +const u8g_fntpgm_uint8_t fontpage_8_212_212[28] U8G_FONT_SECTION("fontpage_8_212_212") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x05,0x00,0x00, + 0x00,0x04,0x05,0x05,0x06,0x01,0x00,0x70,0x80,0xe0,0x80,0x70}; +const u8g_fntpgm_uint8_t fontpage_8_214_214[29] U8G_FONT_SECTION("fontpage_8_214_214") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd6,0xd6,0x00,0x06,0x00,0x00, + 0x00,0x03,0x06,0x06,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0xe0}; + +#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), // 'і' -- 'і' +}; diff --git a/Marlin/src/lcd/dogm/language_data_zh_CN.h b/Marlin/src/lcd/dogm/language_data_zh_CN.h new file mode 100644 index 000000000000..e2e8788577f5 --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_zh_CN.h @@ -0,0 +1,1289 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_69_191_191[28] U8G_FONT_SECTION("fontpage_69_191_191") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x05,0x00,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x08,0x18,0x28,0x48,0xf8}; +const u8g_fntpgm_uint8_t fontpage_156_128_128[27] U8G_FONT_SECTION("fontpage_156_128_128") = { + 0x00,0x06,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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), // ':' -- ':' +}; diff --git a/Marlin/src/lcd/dogm/language_data_zh_TW.h b/Marlin/src/lcd/dogm/language_data_zh_TW.h new file mode 100644 index 000000000000..478eb92eaa5d --- /dev/null +++ b/Marlin/src/lcd/dogm/language_data_zh_TW.h @@ -0,0 +1,1367 @@ +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include + +const u8g_fntpgm_uint8_t fontpage_69_191_191[28] U8G_FONT_SECTION("fontpage_69_191_191") = { + 0x00,0x06,0x0c,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x05,0x00,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x08,0x18,0x28,0x48,0xf8}; +const u8g_fntpgm_uint8_t fontpage_156_128_128[27] U8G_FONT_SECTION("fontpage_156_128_128") = { + 0x00,0x06,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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,0x0c,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), // ':' -- ':' +}; diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.h b/Marlin/src/lcd/dogm/status_screen_DOGM.h index d4856fb8edad..d8d8b252d811 100644 --- a/Marlin/src/lcd/dogm/status_screen_DOGM.h +++ b/Marlin/src/lcd/dogm/status_screen_DOGM.h @@ -31,9 +31,9 @@ FORCE_INLINE void _draw_centered_temp(const int16_t temp, const uint8_t x, const uint8_t y) { const char * const str = itostr3(temp); - u8g.setPrintPos(x - (str[0] != ' ' ? 0 : str[1] != ' ' ? 1 : 2) * DOG_CHAR_WIDTH / 2, y); - lcd_print(str); - lcd_printPGM(PSTR(LCD_STR_DEGREE " ")); + lcd_moveto(x - (str[0] != ' ' ? 0 : str[1] != ' ' ? 1 : 2) * DOG_CHAR_WIDTH / 2, y); + lcd_put_u8str(str); + lcd_put_u8str_P(PSTR(LCD_STR_DEGREE " ")); } #ifndef HEAT_INDICATOR_X @@ -45,7 +45,7 @@ FORCE_INLINE void _draw_heater_status(const uint8_t x, const int8_t heater, cons UNUSED(blink); #endif - #if HAS_TEMP_BED + #if HAS_HEATED_BED const bool isBed = heater < 0; #else constexpr bool isBed = false; @@ -53,48 +53,70 @@ FORCE_INLINE void _draw_heater_status(const uint8_t x, const int8_t heater, cons if (PAGE_UNDER(7)) { #if HEATER_IDLE_HANDLER - const bool is_idle = (!isBed ? thermalManager.is_heater_idle(heater) : - #if HAS_TEMP_BED - thermalManager.is_bed_idle() - #else - false + const bool is_idle = ( + #if HAS_HEATED_BED + isBed ? thermalManager.is_bed_idle() : #endif + thermalManager.is_heater_idle(heater) ); if (blink || !is_idle) #endif - _draw_centered_temp((isBed ? thermalManager.degTargetBed() : thermalManager.degTargetHotend(heater)) + 0.5, x, 7); } - - if (PAGE_CONTAINS(21, 28)) - _draw_centered_temp((isBed ? thermalManager.degBed() : thermalManager.degHotend(heater)) + 0.5, x, 28); - - if (PAGE_CONTAINS(17, 20)) { - const uint8_t h = isBed ? 7 : HEAT_INDICATOR_X, - y = isBed ? 18 : 17; - if (isBed ? thermalManager.isHeatingBed() : thermalManager.isHeatingHotend(heater)) { - u8g.setColorIndex(0); // white on black - u8g.drawBox(x + h, y, 2, 2); - u8g.setColorIndex(1); // black on white - } - else { - u8g.drawBox(x + h, y, 2, 2); + _draw_centered_temp(0.5 + ( + #if HAS_HEATED_BED + isBed ? thermalManager.degTargetBed() : + #endif + thermalManager.degTargetHotend(heater) + ), x, 7 + ); + } + + if (PAGE_CONTAINS(21, 28)) { + _draw_centered_temp(0.5f + ( + #if HAS_HEATED_BED + isBed ? thermalManager.degBed() : + #endif + thermalManager.degHotend(heater) + ), x, 28 + ); + + if (PAGE_CONTAINS(17, 20)) { + const uint8_t h = isBed ? 7 : HEAT_INDICATOR_X, + y = isBed ? 18 : 17; + if ( + #if HAS_HEATED_BED + isBed ? thermalManager.isHeatingBed() : + #endif + thermalManager.isHeatingHotend(heater) + ) { + u8g.setColorIndex(0); // white on black + u8g.drawBox(x + h, y, 2, 2); + u8g.setColorIndex(1); // black on white + } + else + u8g.drawBox(x + h, y, 2, 2); } } } -FORCE_INLINE void _draw_axis_label(const AxisEnum axis, const char* const pstr, const bool blink) { +// +// Before homing, blink '123' <-> '???'. +// Homed but unknown... '123' <-> ' '. +// Homed and known, display constantly. +// +FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const bool blink) { if (blink) - lcd_printPGM(pstr); + lcd_put_u8str(value); else { - if (!axis_homed[axis]) - u8g.print('?'); + if (!TEST(axis_homed, axis)) + while (const char c = *value++) lcd_put_wchar(c <= '.' ? c : '?'); else { #if DISABLED(HOME_AFTER_DEACTIVATE) && DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) - if (!axis_known_position[axis]) - u8g.print(' '); + if (!TEST(axis_known_position, axis)) + lcd_put_u8str_P(axis == Z_AXIS ? PSTR(" ") : PSTR(" ")); else #endif - lcd_printPGM(pstr); + lcd_put_u8str(value); } } } @@ -102,36 +124,77 @@ FORCE_INLINE void _draw_axis_label(const AxisEnum axis, const char* const pstr, inline void lcd_implementation_status_message(const bool blink) { #if ENABLED(STATUS_MESSAGE_SCROLLING) static bool last_blink = false; - const uint8_t slen = lcd_strlen(lcd_status_message); - const char *stat = lcd_status_message + status_scroll_pos; - if (slen <= LCD_WIDTH) - lcd_print_utf(stat); // The string isn't scrolling + + // Get the UTF8 character count of the string + uint8_t slen = utf8_strlen(lcd_status_message); + + // If the string fits into the LCD, just print it and do not scroll it + if (slen <= LCD_WIDTH) { + + // The string isn't scrolling and may not fill the screen + lcd_put_u8str(lcd_status_message); + + // Fill the rest with spaces + while (slen < LCD_WIDTH) { + lcd_put_wchar(' '); + ++slen; + } + } else { - if (status_scroll_pos <= slen - LCD_WIDTH) - lcd_print_utf(stat); // The string fills the screen + // String is larger than the available space in screen. + + // Get a pointer to the next valid UTF8 character + const char *stat = lcd_status_message + status_scroll_offset; + + // Get the string remaining length + const uint8_t rlen = utf8_strlen(stat); + + // If we have enough characters to display + if (rlen >= LCD_WIDTH) { + // The remaining string fills the screen - Print it + lcd_put_u8str_max(stat, LCD_PIXEL_WIDTH); + } else { - uint8_t chars = LCD_WIDTH; - if (status_scroll_pos < slen) { // First string still visible - lcd_print_utf(stat); // The string leaves space - chars -= slen - status_scroll_pos; // Amount of space left - } - u8g.print('.'); // Always at 1+ spaces left, draw a dot - if (--chars) { - if (status_scroll_pos < slen + 1) // Draw a second dot if there's space - --chars, u8g.print('.'); - if (chars) lcd_print_utf(lcd_status_message, chars); // Print a second copy of the message + // The remaining string does not completely fill the screen + lcd_put_u8str_max(stat, LCD_PIXEL_WIDTH); // The string leaves space + uint8_t chars = LCD_WIDTH - rlen; // Amount of space left in characters + + lcd_put_wchar('.'); // Always at 1+ spaces left, draw a dot + if (--chars) { // Draw a second dot if there's space + lcd_put_wchar('.'); + if (--chars) { + // Print a second copy of the message + lcd_put_u8str_max(lcd_status_message, LCD_PIXEL_WIDTH - ((rlen+2) * DOG_CHAR_WIDTH)); + } } } if (last_blink != blink) { last_blink = blink; - // Skip any non-printing bytes - if (status_scroll_pos < slen) while (!PRINTABLE(lcd_status_message[status_scroll_pos])) status_scroll_pos++; - if (++status_scroll_pos >= slen + 2) status_scroll_pos = 0; + + // Adjust by complete UTF8 characters + if (status_scroll_offset < slen) { + status_scroll_offset++; + while (!START_OF_UTF8_CHAR(lcd_status_message[status_scroll_offset])) + status_scroll_offset++; + } + else + status_scroll_offset = 0; } } #else UNUSED(blink); - lcd_print_utf(lcd_status_message); + + // Get the UTF8 character count of the string + uint8_t slen = utf8_strlen(lcd_status_message); + + // Just print the string to the LCD + lcd_put_u8str_max(lcd_status_message, LCD_PIXEL_WIDTH); + + // Fill the rest with spaces if there are missing spaces + while (slen < LCD_WIDTH) { + lcd_put_wchar(' '); + ++slen; + } #endif } @@ -199,18 +262,18 @@ static void lcd_implementation_status_screen() { HOTEND_LOOP() _draw_heater_status(STATUS_SCREEN_HOTEND_TEXT_X(e), e, blink); // Heated bed - #if HOTENDS < 4 && HAS_TEMP_BED + #if HOTENDS < 4 && HAS_HEATED_BED _draw_heater_status(STATUS_SCREEN_BED_TEXT_X, -1, blink); #endif #if HAS_FAN0 - if (PAGE_CONTAINS(20, 27)) { + if (PAGE_CONTAINS(STATUS_SCREEN_FAN_TEXT_Y - 7, STATUS_SCREEN_FAN_TEXT_Y)) { // Fan const int16_t per = ((fanSpeeds[0] + 1) * 100) / 256; if (per) { - u8g.setPrintPos(STATUS_SCREEN_FAN_TEXT_X, STATUS_SCREEN_FAN_TEXT_Y); - lcd_print(itostr3(per)); - u8g.print('%'); + lcd_moveto(STATUS_SCREEN_FAN_TEXT_X, STATUS_SCREEN_FAN_TEXT_Y); + lcd_put_u8str(itostr3(per)); + lcd_put_wchar('%'); } } #endif @@ -268,9 +331,9 @@ static void lcd_implementation_status_screen() { #if ENABLED(DOGM_SD_PERCENT) if (PAGE_CONTAINS(41, 48)) { // Percent complete - u8g.setPrintPos(55, 48); - u8g.print(itostr3(progress_bar_percent)); - u8g.print('%'); + lcd_moveto(55, 48); + lcd_put_u8str(itostr3(progress_bar_percent)); + lcd_put_wchar('%'); } #endif } @@ -290,8 +353,8 @@ static void lcd_implementation_status_screen() { duration_t elapsed = print_job_timer.duration(); bool has_days = (elapsed.value >= 60*60*24L); uint8_t len = elapsed.toDigital(buffer, has_days); - u8g.setPrintPos(SD_DURATION_X, 48); - lcd_print(buffer); + lcd_moveto(SD_DURATION_X, 48); + lcd_put_u8str(buffer); } #endif // SDSUPPORT || LCD_SET_PROGRESS_MANUALLY @@ -314,10 +377,6 @@ static void lcd_implementation_status_screen() { #define XYZ_FRAME_HEIGHT INFO_FONT_HEIGHT + 1 #endif - // Before homing the axis letters are blinking 'X' <-> '?'. - // When axis is homed but axis_known_position is false the axis letters are blinking 'X' <-> ' '. - // When everything is ok you see a constant 'X'. - static char xstring[5], ystring[5], zstring[7]; #if ENABLED(FILAMENT_LCD_DISPLAY) static char wstring[5], mstring[4]; @@ -327,7 +386,7 @@ static void lcd_implementation_status_screen() { if (page.page == 0) { strcpy(xstring, ftostr4sign(LOGICAL_X_POSITION(current_position[X_AXIS]))); strcpy(ystring, ftostr4sign(LOGICAL_Y_POSITION(current_position[Y_AXIS]))); - strcpy(zstring, ftostr52sp(FIXFLOAT(LOGICAL_Z_POSITION(current_position[Z_AXIS])))); + strcpy(zstring, ftostr52sp(LOGICAL_Z_POSITION(current_position[Z_AXIS]))); #if ENABLED(FILAMENT_LCD_DISPLAY) strcpy(wstring, ftostr12ns(filament_width_meas)); strcpy(mstring, itostr3(100.0 * ( @@ -353,20 +412,20 @@ static void lcd_implementation_status_screen() { u8g.setColorIndex(0); // white on black #endif - u8g.setPrintPos(0 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE); - _draw_axis_label(X_AXIS, PSTR(MSG_X), blink); - u8g.setPrintPos(0 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE); - lcd_print(xstring); + lcd_moveto(0 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE); + lcd_put_wchar('X'); + lcd_moveto(0 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE); + _draw_axis_value(X_AXIS, xstring, blink); - u8g.setPrintPos(1 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE); - _draw_axis_label(Y_AXIS, PSTR(MSG_Y), blink); - u8g.setPrintPos(1 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE); - lcd_print(ystring); + lcd_moveto(1 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE); + lcd_put_wchar('Y'); + lcd_moveto(1 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE); + _draw_axis_value(Y_AXIS, ystring, blink); - u8g.setPrintPos(2 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE); - _draw_axis_label(Z_AXIS, PSTR(MSG_Z), blink); - u8g.setPrintPos(2 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE); - lcd_print(zstring); + lcd_moveto(2 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE); + lcd_put_wchar('Z'); + lcd_moveto(2 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE); + _draw_axis_value(Z_AXIS, zstring, blink); #if DISABLED(XYZ_HOLLOW_FRAME) u8g.setColorIndex(1); // black on white @@ -380,28 +439,28 @@ static void lcd_implementation_status_screen() { if (PAGE_CONTAINS(51 - INFO_FONT_HEIGHT, 49)) { lcd_setFont(FONT_MENU); - u8g.setPrintPos(3, 50); - lcd_print(LCD_STR_FEEDRATE[0]); + lcd_moveto(3, 50); + lcd_put_wchar(LCD_STR_FEEDRATE[0]); lcd_setFont(FONT_STATUSMENU); - u8g.setPrintPos(12, 50); - lcd_print(itostr3(feedrate_percentage)); - u8g.print('%'); + lcd_moveto(12, 50); + lcd_put_u8str(itostr3(feedrate_percentage)); + lcd_put_wchar('%'); // // Filament sensor display if SD is disabled // #if ENABLED(FILAMENT_LCD_DISPLAY) && DISABLED(SDSUPPORT) - u8g.setPrintPos(56, 50); - lcd_print(wstring); - u8g.setPrintPos(102, 50); - lcd_print(mstring); - u8g.print('%'); + lcd_moveto(56, 50); + lcd_put_u8str(wstring); + lcd_moveto(102, 50); + lcd_put_u8str(mstring); + lcd_put_wchar('%'); lcd_setFont(FONT_MENU); - u8g.setPrintPos(47, 50); - lcd_print(LCD_STR_FILAM_DIA); - u8g.setPrintPos(93, 50); - lcd_print(LCD_STR_FILAM_MUL); + lcd_moveto(47, 50); + lcd_put_wchar(LCD_STR_FILAM_DIA[0]); // lcd_put_u8str_P(PSTR(LCD_STR_FILAM_DIA)); + lcd_moveto(93, 50); + lcd_put_wchar(LCD_STR_FILAM_MUL[0]); #endif } @@ -412,20 +471,20 @@ static void lcd_implementation_status_screen() { #define STATUS_BASELINE (55 + INFO_FONT_HEIGHT) 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 (PENDING(millis(), previous_lcd_status_ms + 5000UL)) { //Display both Status message line and Filament display on the last line lcd_implementation_status_message(blink); } else { - lcd_printPGM(PSTR(LCD_STR_FILAM_DIA)); - u8g.print(':'); - lcd_print(wstring); - lcd_printPGM(PSTR(" " LCD_STR_FILAM_MUL)); - u8g.print(':'); - lcd_print(mstring); - u8g.print('%'); + lcd_put_u8str_P(PSTR(LCD_STR_FILAM_DIA)); + lcd_put_wchar(':'); + lcd_put_u8str(wstring); + lcd_put_u8str_P(PSTR(" " LCD_STR_FILAM_MUL)); + lcd_put_wchar(':'); + lcd_put_u8str(mstring); + lcd_put_wchar('%'); } #else lcd_implementation_status_message(blink); diff --git a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h index 125e1868f689..23a7f1a10a6e 100644 --- a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h +++ b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h @@ -525,12 +525,12 @@ void ST7920_Lite_Status_Screen::draw_heat_icon(const bool whichIcon, const bool static struct { bool E1_show_target : 1; bool E2_show_target : 1; - #if HAS_HEATER_BED + #if HAS_HEATED_BED bool bed_show_target : 1; #endif } display_state = { true, true - #if HAS_HEATER_BED + #if HAS_HEATED_BED , true #endif }; @@ -569,7 +569,7 @@ void ST7920_Lite_Status_Screen::draw_extruder_2_temp(const int16_t temp, const i display_state.E2_show_target = show_target; } -#if HAS_HEATER_BED +#if HAS_HEATED_BED void ST7920_Lite_Status_Screen::draw_bed_temp(const int16_t temp, const int16_t target, bool forceUpdate) { const bool show_target = target && FAR(temp, target); draw_temps(2 @@ -615,36 +615,71 @@ void ST7920_Lite_Status_Screen::draw_feedrate_percentage(const uint8_t percentag void ST7920_Lite_Status_Screen::draw_status_message(const char *str) { set_ddram_address(DDRAM_LINE_4); begin_data(); + const uint8_t lcd_len = 16; #if ENABLED(STATUS_MESSAGE_SCROLLING) - const uint8_t lcd_len = 16; - const uint8_t padding = 2; - uint8_t str_len = strlen(str); - // Trim whitespace at the end of the str, as for some reason - // messages like "Card Inserted" are padded with many spaces - while (str_len && str[str_len - 1] == ' ') str_len--; + uint8_t slen = utf8_strlen(str); - if (str_len <= lcd_len) { - // It all fits on the LCD without scrolling + // If the string fits into the LCD, just print it and do not scroll it + if (slen <= lcd_len) { + + // The string isn't scrolling and may not fill the screen write_str(str); + + // Fill the rest with spaces + while (slen < lcd_len) { + write_byte(' '); + ++slen; + } } else { - // Print the message repeatedly until covering the LCD - uint8_t c = status_scroll_pos; - for (uint8_t n = 0; n < lcd_len; n++) { - write_byte(c < str_len ? str[c] : ' '); - c++; - c %= str_len + padding; // Wrap around + // String is larger than the available space in screen. + + // Get a pointer to the next valid UTF8 character + const char *stat = str + status_scroll_offset; + + // Get the string remaining length + const uint8_t rlen = utf8_strlen(stat); + + // If we have enough characters to display + if (rlen >= lcd_len) { + // The remaining string fills the screen - Print it + write_str(stat, lcd_len); + } + else { + // The remaining string does not completely fill the screen + write_str(stat); // The string leaves space + uint8_t chars = lcd_len - rlen; // Amount of space left in characters + + write_byte('.'); // Always at 1+ spaces left, draw a dot + if (--chars) { // Draw a second dot if there's space + write_byte('.'); + if (--chars) + write_str(str, chars); // Print a second copy of the message + } } - // Scroll the message - if (status_scroll_pos == str_len + padding) - status_scroll_pos = 0; + // Adjust by complete UTF8 characters + if (status_scroll_offset < slen) { + status_scroll_offset++; + while (!START_OF_UTF8_CHAR(str[status_scroll_offset])) + status_scroll_offset++; + } else - status_scroll_pos++; + status_scroll_offset = 0; } #else - write_str(str, 16); + // Get the UTF8 character count of the string + uint8_t slen = utf8_strlen(str); + + // Just print the string to the LCD + write_str(str, lcd_len); + + // Fill the rest with spaces if there are missing spaces + while (slen < lcd_len) { + write_byte(' '); + ++slen; + } #endif } @@ -680,7 +715,7 @@ bool ST7920_Lite_Status_Screen::indicators_changed() { #if EXTRUDERS == 2 const int16_t extruder_2_target = thermalManager.degTargetHotend(1); #endif - #if HAS_HEATER_BED + #if HAS_HEATED_BED const int16_t bed_target = thermalManager.degTargetBed(); #endif static uint16_t last_checksum = 0; @@ -688,7 +723,7 @@ bool ST7920_Lite_Status_Screen::indicators_changed() { #if EXTRUDERS == 2 ^ extruder_2_target #endif - #if HAS_HEATER_BED + #if HAS_HEATED_BED ^ bed_target #endif ; @@ -709,7 +744,7 @@ void ST7920_Lite_Status_Screen::update_indicators(const bool forceUpdate) { const int16_t extruder_2_temp = thermalManager.degHotend(1), extruder_2_target = thermalManager.degTargetHotend(1); #endif - #if HAS_HEATER_BED + #if HAS_HEATED_BED const int16_t bed_temp = thermalManager.degBed(), bed_target = thermalManager.degTargetBed(); #endif @@ -718,7 +753,7 @@ void ST7920_Lite_Status_Screen::update_indicators(const bool forceUpdate) { #if EXTRUDERS == 2 draw_extruder_2_temp(extruder_2_temp, extruder_2_target, forceUpdate); #endif - #if HAS_HEATER_BED + #if HAS_HEATED_BED draw_bed_temp(bed_temp, bed_target, forceUpdate); #endif draw_fan_speed(fan_speed); @@ -727,7 +762,7 @@ void ST7920_Lite_Status_Screen::update_indicators(const bool forceUpdate) { // Update the fan and bed animations if (fan_speed > 0) draw_fan_icon(blink); - #if HAS_HEATER_BED + #if HAS_HEATED_BED if (bed_target > 0) draw_heat_icon(blink, true); else @@ -792,7 +827,7 @@ void ST7920_Lite_Status_Screen::update_status_or_position(bool forceUpdate) { */ if (forceUpdate || status_changed()) { #if ENABLED(STATUS_MESSAGE_SCROLLING) - status_scroll_pos = 0; + status_scroll_offset = 0; #endif #if STATUS_EXPIRE_SECONDS countdown = lcd_status_message[0] ? STATUS_EXPIRE_SECONDS : 0; @@ -833,9 +868,7 @@ void ST7920_Lite_Status_Screen::update_status_or_position(bool forceUpdate) { #if ENABLED(DISABLE_REDUCED_ACCURACY_WARNING) true #else - axis_known_position[X_AXIS] && - axis_known_position[Y_AXIS] && - axis_known_position[Z_AXIS] + all_axes_known() #endif ); } diff --git a/Marlin/src/lcd/dogm/u8g_dev_ssd1306_sh1106_128x64_I2C.cpp b/Marlin/src/lcd/dogm/u8g_dev_ssd1306_sh1106_128x64_I2C.cpp index 486015cd1d71..3249068299ea 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_ssd1306_sh1106_128x64_I2C.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_ssd1306_sh1106_128x64_I2C.cpp @@ -65,7 +65,7 @@ * beginning. */ -#include "../../inc/MarlinConfig.h" +#include "../../inc/MarlinConfigPre.h" #if ENABLED(DOGLCD) @@ -123,13 +123,13 @@ uint8_t u8g_dev_sh1106_128x64_2x_2_wire_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t m u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); u8g_SetAddress(u8g, dev, 0); // instruction mode u8g_WriteEscSeqP_2_wire(u8g, dev, u8g_dev_sh1106_128x64_data_start_2_wire); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); // select current page + u8g_WriteByte(u8g, dev, 0x0B0 | (pb->p.page*2)); // select current page u8g_SetAddress(u8g, dev, 1); // data mode u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *) pb->buf); u8g_SetChipSelect(u8g, dev, 0); u8g_SetAddress(u8g, dev, 0); // instruction mode u8g_WriteEscSeqP_2_wire(u8g, dev, u8g_dev_sh1106_128x64_data_start_2_wire); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); // select current page + u8g_WriteByte(u8g, dev, 0x0B0 | (pb->p.page*2+1)); // select current page u8g_SetAddress(u8g, dev, 1); // data mode u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); u8g_SetChipSelect(u8g, dev, 0); @@ -191,13 +191,13 @@ uint8_t u8g_dev_ssd1306_128x64_2x_2_wire_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); u8g_SetAddress(u8g, dev, 0); // instruction mode u8g_WriteEscSeqP_2_wire(u8g, dev, u8g_dev_ssd1306_128x64_data_start_2_wire); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); // select current page + u8g_WriteByte(u8g, dev, 0x0B0 | (pb->p.page*2)); // select current page u8g_SetAddress(u8g, dev, 1); // data mode u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *) pb->buf); u8g_SetChipSelect(u8g, dev, 0); u8g_SetAddress(u8g, dev, 0); // instruction mode u8g_WriteEscSeqP_2_wire(u8g, dev, u8g_dev_ssd1306_128x64_data_start_2_wire); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); // select current page + u8g_WriteByte(u8g, dev, 0x0B0 | (pb->p.page*2+1)); // select current page u8g_SetAddress(u8g, dev, 1); // data mode u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); u8g_SetChipSelect(u8g, dev, 0); @@ -250,25 +250,25 @@ uint8_t u8g_WriteEscSeqP_2_wire(u8g_t *u8g, u8g_dev_t *dev, const uint8_t *esc_s else if (value == 254) { break; } - else if (value >= 0x0f0) { + else if (value >= 0x0F0) { /* not yet used, do nothing */ } - else if (value >= 0xe0 ) { - u8g_SetAddress(u8g, dev, value & 0x0f); + else if (value >= 0xE0 ) { + u8g_SetAddress(u8g, dev, value & 0x0F); } - else if (value >= 0xd0) { - u8g_SetChipSelect(u8g, dev, value & 0x0f); + else if (value >= 0xD0) { + u8g_SetChipSelect(u8g, dev, value & 0x0F); } - else if (value >= 0xc0) { + else if (value >= 0xC0) { u8g_SetResetLow(u8g, dev); - value &= 0x0f; + value &= 0x0F; value <<= 4; value+=2; u8g_Delay(value); u8g_SetResetHigh(u8g, dev); u8g_Delay(value); } - else if (value >= 0xbe) { /* not yet implemented */ + else if (value >= 0xBE) { /* not yet implemented */ /* u8g_SetVCC(u8g, dev, value & 0x01); */ } else if (value <= 127) { diff --git a/Marlin/src/lcd/dogm/u8g_dev_st7565_64128n_HAL.cpp b/Marlin/src/lcd/dogm/u8g_dev_st7565_64128n_HAL.cpp index 70b43e6fe7d8..515ac32f6cb9 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_st7565_64128n_HAL.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_st7565_64128n_HAL.cpp @@ -65,77 +65,90 @@ #define HEIGHT 64 #define PAGE_HEIGHT 8 +#define ST7565_ADC_REVERSE(N) (0xA0 | ((N) & 0x1)) +#define ST7565_BIAS_MODE(N) (0xA2 | ((N) & 0x1)) +#define ST7565_ALL_PIX(N) (0xA4 | ((N) & 0x1)) +#define ST7565_INVERTED(N) (0xA6 | ((N) & 0x1)) +#define ST7565_ON(N) (0xAE | ((N) & 0x1)) +#define ST7565_OUT_MODE(N) (0xC0 | ((N) & 0x1) << 3) +#define ST7565_POWER_CONTROL(N) (0x28 | (N)) +#define ST7565_V0_RATIO(N) (0x10 | ((N) & 0x7)) // Specific to Displaytech 64128N? (ST7565 is 0x20 | N) +#define ST7565_CONTRAST(N) (0x81), (N) + +#define ST7565_COLUMN_ADR(N) (0x10 | (((N) >> 4) & 0xF)), ((N) & 0xF) +#define ST7565_PAGE_ADR(N) (0xB0 | (N)) +#define ST7565_START_LINE(N) (0x40 | (N)) +#define ST7565_SLEEP_MODE() (0xAC) +#define ST7565_NOOP() (0xE3) + /* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ static const uint8_t u8g_dev_st7565_64128n_HAL_init_seq[] PROGMEM = { - U8G_ESC_CS(0), // disable chip - U8G_ESC_ADR(0), // instruction mode - U8G_ESC_CS(1), // enable chip - U8G_ESC_RST(15), // do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x0A2, // 0x0a2: LCD bias 1/9 (according to Displaytech 64128N datasheet) - 0x0A0, // Normal ADC Select (according to Displaytech 64128N datasheet) + U8G_ESC_CS(0), // disable chip + U8G_ESC_ADR(0), // instruction mode + U8G_ESC_CS(1), // enable chip + U8G_ESC_RST(15), // do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - 0x0c8, // common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 - 0x040, // Display start line for Displaytech 64128N + ST7565_BIAS_MODE(0), // 0xA2: LCD bias 1/9 (according to Displaytech 64128N datasheet) + ST7565_ADC_REVERSE(0), // Normal ADC Select (according to Displaytech 64128N datasheet) - 0x028 | 0x04, // power control: turn on voltage converter - U8G_ESC_DLY(50), // delay 50 ms + ST7565_OUT_MODE(1), // common output mode: set scan direction normal operation/SHL Select, 0xC0 --> SHL = 0, normal, 0xC8 --> SHL = 1 + ST7565_START_LINE(0), // Display start line for Displaytech 64128N - 0x028 | 0x06, // power control: turn on voltage regulator - U8G_ESC_DLY(50), // delay 50 ms + ST7565_POWER_CONTROL(0x4), // power control: turn on voltage converter + U8G_ESC_DLY(50), // delay 50 ms - 0x028 | 0x07, // power control: turn on voltage follower - U8G_ESC_DLY(50), // delay 50 ms + ST7565_POWER_CONTROL(0x6), // power control: turn on voltage regulator + U8G_ESC_DLY(50), // delay 50 ms - 0x010, // Set V0 voltage resistor ratio. Setting for controlling brightness of Displaytech 64128N + ST7565_POWER_CONTROL(0x7), // power control: turn on voltage follower + U8G_ESC_DLY(50), // delay 50 ms - 0x0a6, // display normal, bit val 0: LCD pixel off. + ST7565_V0_RATIO(0), // Set V0 voltage resistor ratio. Setting for controlling brightness of Displaytech 64128N - 0x081, // set contrast - 0x01e, // Contrast value. Setting for controlling brightness of Displaytech 64128N + ST7565_INVERTED(0), // display normal, bit val 0: LCD pixel off. + ST7565_CONTRAST(0x1E), // Contrast value. Setting for controlling brightness of Displaytech 64128N - 0x0af, // display on + ST7565_ON(1), // display on - U8G_ESC_DLY(100), // delay 100 ms - 0x0a5, // display all points, ST7565 - U8G_ESC_DLY(100), // delay 100 ms - U8G_ESC_DLY(100), // delay 100 ms - 0x0a4, // normal display - U8G_ESC_CS(0), // disable chip - U8G_ESC_END // end of sequence + U8G_ESC_DLY(100), // delay 100 ms + ST7565_ALL_PIX(1), // display all points, ST7565 + U8G_ESC_DLY(100), // delay 100 ms + U8G_ESC_DLY(100), // delay 100 ms + ST7565_ALL_PIX(0), // normal display + U8G_ESC_CS(0), // disable chip + U8G_ESC_END // end of sequence }; static const uint8_t u8g_dev_st7565_64128n_HAL_data_start[] PROGMEM = { - U8G_ESC_ADR(0), // instruction mode - U8G_ESC_CS(1), // enable chip - 0x010, // set upper 4 bit of the col adr to 0x10 - 0x000, // set lower 4 bit of the col adr to 0x00. Changed for DisplayTech 64128N - U8G_ESC_END // end of sequence + U8G_ESC_ADR(0), // instruction mode + U8G_ESC_CS(1), // enable chip + ST7565_COLUMN_ADR(0x00), // high 4 bits to 0, low 4 bits to 0. Changed for DisplayTech 64128N + U8G_ESC_END // end of sequence }; static const uint8_t u8g_dev_st7565_64128n_HAL_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), // instruction mode - U8G_ESC_CS(1), // enable chip - 0x0ac, // static indicator off - 0x000, // indicator register set (not sure if this is required) - 0x0ae, // display off - 0x0a5, // all points on - U8G_ESC_CS(0), // disable chip, bugfix 12 nov 2014 - U8G_ESC_END // end of sequence + U8G_ESC_ADR(0), // instruction mode + U8G_ESC_CS(1), // enable chip + ST7565_SLEEP_MODE(), // static indicator off + //0x00, // indicator register set (not sure if this is required) + ST7565_ON(0), // display off + ST7565_ALL_PIX(1), // all points on + U8G_ESC_CS(0), // disable chip, bugfix 12 nov 2014 + U8G_ESC_END // end of sequence }; static const uint8_t u8g_dev_st7565_64128n_HAL_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), // instruction mode - U8G_ESC_CS(1), // enable chip - 0x0a4, // all points off - 0x0af, // display on - U8G_ESC_DLY(50), // delay 50 ms - U8G_ESC_CS(0), // disable chip, bugfix 12 nov 2014 - U8G_ESC_END // end of sequence + U8G_ESC_ADR(0), // instruction mode + U8G_ESC_CS(1), // enable chip + ST7565_ALL_PIX(0), // all points off + ST7565_ON(1), // display on + U8G_ESC_DLY(50), // delay 50 ms + U8G_ESC_CS(0), // disable chip, bugfix 12 nov 2014 + U8G_ESC_END // end of sequence }; -uint8_t u8g_dev_st7565_64128n_HAL_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) { +uint8_t u8g_dev_st7565_64128n_HAL_fn(u8g_t *u8g, u8g_dev_t *dev, const uint8_t msg, void *arg) { switch(msg) { case U8G_DEV_MSG_INIT: u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); @@ -146,17 +159,16 @@ uint8_t u8g_dev_st7565_64128n_HAL_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, vo case U8G_DEV_MSG_PAGE_NEXT: { u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_HAL_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ + u8g_WriteByte(u8g, dev, ST7565_PAGE_ADR(pb->p.page)); /* select current page (ST7565R) */ u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; + if (!u8g_pb_WriteBuffer(pb, u8g, dev)) return 0; u8g_SetChipSelect(u8g, dev, 0); } break; case U8G_DEV_MSG_CONTRAST: u8g_SetChipSelect(u8g, dev, 1); u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, 0x81); u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); u8g_SetChipSelect(u8g, dev, 0); return 1; @@ -170,7 +182,7 @@ uint8_t u8g_dev_st7565_64128n_HAL_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, vo return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); } -uint8_t u8g_dev_st7565_64128n_HAL_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) { +uint8_t u8g_dev_st7565_64128n_HAL_2x_fn(u8g_t *u8g, u8g_dev_t *dev, const uint8_t msg, void *arg) { switch(msg) { case U8G_DEV_MSG_INIT: u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); @@ -182,13 +194,13 @@ uint8_t u8g_dev_st7565_64128n_HAL_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_HAL_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ + u8g_WriteByte(u8g, dev, ST7565_PAGE_ADR(2 * pb->p.page)); /* select current page (ST7565R) */ u8g_SetAddress(u8g, dev, 1); /* data mode */ u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)pb->buf); u8g_SetChipSelect(u8g, dev, 0); u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_HAL_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ + u8g_WriteByte(u8g, dev, ST7565_PAGE_ADR(2 * pb->p.page + 1)); /* select current page (ST7565R) */ u8g_SetAddress(u8g, dev, 1); /* data mode */ u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); u8g_SetChipSelect(u8g, dev, 0); @@ -197,7 +209,7 @@ uint8_t u8g_dev_st7565_64128n_HAL_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, case U8G_DEV_MSG_CONTRAST: u8g_SetChipSelect(u8g, dev, 1); u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, 0x81); u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); u8g_SetChipSelect(u8g, dev, 0); return 1; @@ -211,7 +223,6 @@ uint8_t u8g_dev_st7565_64128n_HAL_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); } - U8G_PB_DEV(u8g_dev_st7565_64128n_HAL_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_HAL_fn, U8G_COM_HAL_SW_SPI_FN); uint8_t u8g_dev_st7565_64128n_HAL_2x_buf[WIDTH*2] U8G_NOCOMMON ; diff --git a/Marlin/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp b/Marlin/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp index 40111fe3c8ec..86a9fd110b86 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp @@ -53,7 +53,7 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "../../inc/MarlinConfig.h" +#include "../../inc/MarlinConfigPre.h" #if ENABLED(DOGLCD) @@ -75,7 +75,7 @@ static const uint8_t u8g_dev_st7920_128x64_HAL_init_seq[] PROGMEM = { U8G_ESC_DLY(50), // delay 50 ms 0x038, // 8 Bit interface (DL=1), basic instruction set (RE=0) - 0x00c, // display on, cursor & blink off; 0x08: all off + 0x00C, // display on, cursor & blink off; 0x08: all off 0x006, // Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift 0x002, // disable scroll, enable CGRAM adress 0x001, // clear RAM, needs 1.6 ms @@ -125,7 +125,7 @@ uint8_t u8g_dev_st7920_128x64_HAL_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, vo ptr = (uint8_t *)pb->buf; for (i = 0; i < 8; i ++) { u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ + u8g_WriteByte(u8g, dev, 0x03E ); /* enable extended mode */ if (y < 32) { u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ @@ -170,7 +170,7 @@ uint8_t u8g_dev_st7920_128x64_HAL_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, ptr = (uint8_t *)pb->buf; for (i = 0; i < 32; i ++) { u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ + u8g_WriteByte(u8g, dev, 0x03E ); /* enable extended mode */ if (y < 32) { u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ diff --git a/Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp b/Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp index f7ff3aca0b87..e58bb34fae94 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp @@ -57,7 +57,7 @@ */ -#include "../../inc/MarlinConfig.h" +#include "../../inc/MarlinConfigPre.h" #if ENABLED(DOGLCD) @@ -75,27 +75,27 @@ static const uint8_t u8g_dev_uc1701_mini12864_HAL_init_seq[] PROGMEM = { U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ U8G_ESC_CS(1), /* enable chip */ - 0x0e2, /* soft reset */ + 0x0E2, /* soft reset */ 0x040, /* set display start line to 0 */ - 0x0a0, /* ADC set to reverse */ - 0x0c8, /* common output mode */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ + 0x0A0, /* ADC set to reverse */ + 0x0C8, /* common output mode */ + 0x0A6, /* display normal, bit val 0: LCD pixel off. */ + 0x0A2, /* LCD bias 1/9 */ + 0x02F, /* all power control circuits on */ + 0x0F8, /* set booster ratio to */ 0x000, /* 4x */ 0x023, /* set V0 voltage resistor ratio to large */ 0x081, /* set contrast */ 0x027, /* contrast value */ - 0x0ac, /* indicator */ + 0x0AC, /* indicator */ 0x000, /* disable */ - 0x0af, /* display on */ + 0x0AF, /* display on */ U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ + 0x0A5, /* display all points, ST7565 */ U8G_ESC_DLY(100), /* delay 100 ms */ U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ + 0x0A4, /* normal display */ U8G_ESC_CS(0), /* disable chip */ U8G_ESC_END /* end of sequence */ }; @@ -108,10 +108,8 @@ static const uint8_t u8g_dev_uc1701_mini12864_HAL_data_start[] PROGMEM = { U8G_ESC_END /* end of sequence */ }; -uint8_t u8g_dev_uc1701_mini12864_HAL_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { +uint8_t u8g_dev_uc1701_mini12864_HAL_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) { + switch(msg) { case U8G_DEV_MSG_INIT: u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_init_seq); @@ -122,7 +120,7 @@ uint8_t u8g_dev_uc1701_mini12864_HAL_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, { u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page */ + u8g_WriteByte(u8g, dev, 0x0B0 | pb->p.page); /* select current page */ u8g_SetAddress(u8g, dev, 1); /* data mode */ if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) return 0; @@ -140,10 +138,8 @@ uint8_t u8g_dev_uc1701_mini12864_HAL_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); } -uint8_t u8g_dev_uc1701_mini12864_HAL_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { +uint8_t u8g_dev_uc1701_mini12864_HAL_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) { + switch(msg) { case U8G_DEV_MSG_INIT: u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_init_seq); @@ -155,13 +151,13 @@ uint8_t u8g_dev_uc1701_mini12864_HAL_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t m u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page */ + u8g_WriteByte(u8g, dev, 0x0B0 | (2*pb->p.page)); /* select current page */ u8g_SetAddress(u8g, dev, 1); /* data mode */ u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)pb->buf); u8g_SetChipSelect(u8g, dev, 0); u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page */ + u8g_WriteByte(u8g, dev, 0x0B0 | (2*pb->p.page+1)); /* select current page */ u8g_SetAddress(u8g, dev, 1); /* data mode */ u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); u8g_SetChipSelect(u8g, dev, 0); diff --git a/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp b/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp index 91692eb622a9..8e176b8a0104 100644 --- a/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp +++ b/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp @@ -29,6 +29,8 @@ #if !(defined(U8G_HAL_LINKS) || defined(__SAM3X8E__)) +#include "../../HAL/Delay.h" + #define ST7920_CLK_PIN LCD_PINS_D4 #define ST7920_DAT_PIN LCD_PINS_ENABLE #define ST7920_CS_PIN LCD_PINS_RS @@ -46,30 +48,34 @@ #pragma GCC optimize (3) // If you want you can define your own set of delays in Configuration.h -//#define ST7920_DELAY_1 DELAY_0_NOP -//#define ST7920_DELAY_2 DELAY_0_NOP -//#define ST7920_DELAY_3 DELAY_0_NOP +//#define ST7920_DELAY_1 DELAY_NS(0) +//#define ST7920_DELAY_2 DELAY_NS(0) +//#define ST7920_DELAY_3 DELAY_NS(0) #if F_CPU >= 20000000 - #define CPU_ST7920_DELAY_1 DELAY_0_NOP - #define CPU_ST7920_DELAY_2 DELAY_0_NOP - #define CPU_ST7920_DELAY_3 DELAY_1_NOP + #define CPU_ST7920_DELAY_1 DELAY_NS(0) + #define CPU_ST7920_DELAY_2 DELAY_NS(0) + #define CPU_ST7920_DELAY_3 DELAY_NS(50) #elif MB(3DRAG) || MB(K8200) || MB(K8400) || MB(SILVER_GATE) - #define CPU_ST7920_DELAY_1 DELAY_0_NOP - #define CPU_ST7920_DELAY_2 DELAY_3_NOP - #define CPU_ST7920_DELAY_3 DELAY_0_NOP + #define CPU_ST7920_DELAY_1 DELAY_NS(0) + #define CPU_ST7920_DELAY_2 DELAY_NS(188) + #define CPU_ST7920_DELAY_3 DELAY_NS(0) #elif MB(MINIRAMBO) - #define CPU_ST7920_DELAY_1 DELAY_0_NOP - #define CPU_ST7920_DELAY_2 DELAY_4_NOP - #define CPU_ST7920_DELAY_3 DELAY_0_NOP + #define CPU_ST7920_DELAY_1 DELAY_NS(0) + #define CPU_ST7920_DELAY_2 DELAY_NS(250) + #define CPU_ST7920_DELAY_3 DELAY_NS(0) #elif MB(RAMBO) - #define CPU_ST7920_DELAY_1 DELAY_0_NOP - #define CPU_ST7920_DELAY_2 DELAY_0_NOP - #define CPU_ST7920_DELAY_3 DELAY_0_NOP + #define CPU_ST7920_DELAY_1 DELAY_NS(0) + #define CPU_ST7920_DELAY_2 DELAY_NS(0) + #define CPU_ST7920_DELAY_3 DELAY_NS(0) +#elif MB(BQ_ZUM_MEGA_3D) + #define CPU_ST7920_DELAY_1 DELAY_NS(0) + #define CPU_ST7920_DELAY_2 DELAY_NS(0) + #define CPU_ST7920_DELAY_3 DELAY_NS(189) #elif F_CPU == 16000000 - #define CPU_ST7920_DELAY_1 DELAY_0_NOP - #define CPU_ST7920_DELAY_2 DELAY_0_NOP - #define CPU_ST7920_DELAY_3 DELAY_1_NOP + #define CPU_ST7920_DELAY_1 DELAY_NS(0) + #define CPU_ST7920_DELAY_2 DELAY_NS(0) + #define CPU_ST7920_DELAY_3 DELAY_NS(63) #else #error "No valid condition for delays in 'ultralcd_st7920_u8glib_rrd.h'" #endif @@ -101,10 +107,10 @@ static void ST7920_SWSPI_SND_8BIT(uint8_t val) { ST7920_SND_BIT; // 8 } -#if defined(DOGM_SPI_DELAY_US) && DOGM_SPI_DELAY_US > 0 - #define U8G_DELAY() delayMicroseconds(DOGM_SPI_DELAY_US) +#if DOGM_SPI_DELAY_US > 0 + #define U8G_DELAY() DELAY_US(DOGM_SPI_DELAY_US) #else - #define U8G_DELAY() u8g_10MicroDelay() + #define U8G_DELAY() DELAY_US(10) #endif #define ST7920_CS() { WRITE(ST7920_CS_PIN,1); U8G_DELAY(); } diff --git a/Marlin/src/lcd/fontutils.cpp b/Marlin/src/lcd/fontutils.cpp new file mode 100644 index 000000000000..08afb2ed8ac3 --- /dev/null +++ b/Marlin/src/lcd/fontutils.cpp @@ -0,0 +1,183 @@ +/** + * @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/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); +} + +/** + * @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; + + if (num_data < 1) { + *ret_idx = 0; + return -1; + } + + 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; + return -1; +} + +/* This function gets the character at the pstart position, interpreting UTF8 multybyte sequences + and returns the pointer to the next character */ +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; + + 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)) + for (; 0x80 == (0xC0 & valcur); ) { p++; valcur = cb_read_byte(p); } + else + for (; ((0xFE & valcur) > 0xFC); ) { p++; valcur = cb_read_byte(p); } + + if (pval) *pval = val; + + return p; +} + +static inline uint8_t utf8_strlen_cb(const char *pstart, read_byte_cb_t cb_read_byte) { + + uint8_t cnt = 0; + uint8_t *pnext = (uint8_t *)pstart; + for (;;) { + wchar_t ch; + pnext = get_utf8_value_cb(pnext, cb_read_byte, &ch); + if (!ch) break; + cnt++; + } + return cnt; +} + +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); +} + diff --git a/Marlin/src/lcd/fontutils.h b/Marlin/src/lcd/fontutils.h new file mode 100644 index 000000000000..b2eca477a3b1 --- /dev/null +++ b/Marlin/src/lcd/fontutils.h @@ -0,0 +1,49 @@ +/** + * @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 + +#include +#include +#include "../core/macros.h" +#include // wchar_t +#include // uint32_t + +// read a byte from ROM or RAM +typedef uint8_t (*read_byte_cb_t)(uint8_t * str); + +uint8_t read_byte_ram(uint8_t * str); +uint8_t read_byte_rom(uint8_t * str); + +// 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; + +#ifndef NUM_ARRAY + #define NUM_ARRAY(a) (sizeof(a)/sizeof((a)[0])) +#endif + +typedef uint16_t pixel_len_t; +#define PIXEL_LEN_NOLIMIT ((pixel_len_t)(-1)) + +/* Perform binary search */ +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); + +/* Get the character, decoding multibyte UTF8 characters and returning a pointer to the start of the next UTF8 character */ +uint8_t* get_utf8_value_cb(uint8_t *pstart, read_byte_cb_t cb_read_byte, wchar_t *pval); + +/* Returns lenght of string in CHARACTERS, NOT BYTES */ +uint8_t utf8_strlen(const char *pstart); +uint8_t utf8_strlen_P(const char *pstart); + +#endif // _FONT_UTILS_H diff --git a/Marlin/src/lcd/language/language_an.h b/Marlin/src/lcd/language/language_an.h index d34ed5ac67ca..679ed1cf3f93 100644 --- a/Marlin/src/lcd/language/language_an.h +++ b/Marlin/src/lcd/language/language_an.h @@ -44,6 +44,7 @@ #define MSG_AUTO_HOME_X _UxGT("Orichen X") #define MSG_AUTO_HOME_Y _UxGT("Orichen Y") #define MSG_AUTO_HOME_Z _UxGT("Orichen Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Calibrar Z") #define MSG_LEVEL_BED_HOMING _UxGT("Orichen XYZ") #define MSG_LEVEL_BED_WAITING _UxGT("Encetar (pretar)") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Vinient punto") @@ -149,7 +150,6 @@ #define MSG_NO_CARD _UxGT("No i hai tarcheta") #define MSG_DWELL _UxGT("Reposo...") #define MSG_USERWAIT _UxGT("Aguardand ordines") -#define MSG_RESUMING _UxGT("Contin. impresion") #define MSG_PRINT_ABORTED _UxGT("Impres. cancelada") #define MSG_NO_MOVE _UxGT("Sin movimiento") #define MSG_KILLED _UxGT("Aturada d'emerch.") @@ -189,9 +189,7 @@ #define MSG_SHORT_HOUR _UxGT("h") #define MSG_SHORT_MINUTE _UxGT("m") #define MSG_HEATING _UxGT("Calentando...") -#define MSG_HEATING_COMPLETE _UxGT("Calentamiento listo") #define MSG_BED_HEATING _UxGT("Calentando base...") -#define MSG_BED_DONE _UxGT("Base calient") #define MSG_DELTA_CALIBRATE _UxGT("Calibracion Delta") #define MSG_DELTA_CALIBRATE_X _UxGT("Calibrar X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrar Y") diff --git a/Marlin/src/lcd/language/language_bg.h b/Marlin/src/lcd/language/language_bg.h index 5c25f3ea03b2..cd86dbe6b2ab 100644 --- a/Marlin/src/lcd/language/language_bg.h +++ b/Marlin/src/lcd/language/language_bg.h @@ -30,7 +30,6 @@ #ifndef LANGUAGE_BG_H #define LANGUAGE_BG_H -#define MAPPER_D0D1 // For Cyrillic #define DISPLAY_CHARSET_ISO10646_5 #define CHARSIZE 2 @@ -41,6 +40,7 @@ #define MSG_AUTOSTART _UxGT("Автостарт") #define MSG_DISABLE_STEPPERS _UxGT("Изкл. двигатели") #define MSG_AUTO_HOME _UxGT("Паркиране") +#define MSG_TMC_Z_CALIBRATION _UxGT("Калибровка Z") #define MSG_SET_HOME_OFFSETS _UxGT("Задай Начало") #define MSG_SET_ORIGIN _UxGT("Изходна точка") #define MSG_PREHEAT_1 _UxGT("Подгряване PLA") @@ -119,7 +119,6 @@ #define MSG_NO_CARD _UxGT("Няма карта") #define MSG_DWELL _UxGT("Почивка...") #define MSG_USERWAIT _UxGT("Изчакване") -#define MSG_RESUMING _UxGT("Продълж. печата") #define MSG_PRINT_ABORTED _UxGT("Печатът е прекъснат") #define MSG_NO_MOVE _UxGT("Няма движение") #define MSG_KILLED _UxGT("УБИТО.") diff --git a/Marlin/src/lcd/language/language_ca.h b/Marlin/src/lcd/language/language_ca.h index b13c79140815..31007b735273 100644 --- a/Marlin/src/lcd/language/language_ca.h +++ b/Marlin/src/lcd/language/language_ca.h @@ -30,8 +30,6 @@ #ifndef LANGUAGE_CA_H #define LANGUAGE_CA_H -#define MAPPER_C2C3 // because of "ó" -#define DISPLAY_CHARSET_ISO10646_1 #define CHARSIZE 2 #define WELCOME_MSG MACHINE_NAME _UxGT(" preparada.") @@ -47,6 +45,7 @@ #define MSG_AUTO_HOME_X _UxGT("X a origen") #define MSG_AUTO_HOME_Y _UxGT("Y a origen") #define MSG_AUTO_HOME_Z _UxGT("Z a origen") +#define MSG_TMC_Z_CALIBRATION _UxGT("Calibra Z") #define MSG_LEVEL_BED_HOMING _UxGT("Origen XYZ") #define MSG_LEVEL_BED_WAITING _UxGT("Premeu per iniciar") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Següent punt") @@ -153,7 +152,6 @@ #define MSG_NO_CARD _UxGT("No hi ha targeta") #define MSG_DWELL _UxGT("En repos...") #define MSG_USERWAIT _UxGT("Esperant usuari..") -#define MSG_RESUMING _UxGT("Reprenent imp.") #define MSG_PRINT_ABORTED _UxGT("Imp. cancelada") #define MSG_NO_MOVE _UxGT("Sense moviment.") #define MSG_KILLED _UxGT("MATAT.") @@ -192,9 +190,7 @@ #define MSG_SHORT_HOUR _UxGT("h") // One character only #define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_HEATING _UxGT("Escalfant...") -#define MSG_HEATING_COMPLETE _UxGT("Escalfament fet.") -#define MSG_BED_HEATING _UxGT("Escalfant llit") -#define MSG_BED_DONE _UxGT("Llit fet.") +#define MSG_BED_HEATING _UxGT("Escalfant llit...") #define MSG_DELTA_CALIBRATE _UxGT("Calibratge Delta") #define MSG_DELTA_CALIBRATE_X _UxGT("Calibra X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Calibra Y") diff --git a/Marlin/src/lcd/language/language_cn.h b/Marlin/src/lcd/language/language_cn.h deleted file mode 100644 index 40c330d1a557..000000000000 --- a/Marlin/src/lcd/language/language_cn.h +++ /dev/null @@ -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 . - * - */ - -/** - * 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 diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h index f99e82ac0a2b..4a30f928d617 100644 --- a/Marlin/src/lcd/language/language_cz.h +++ b/Marlin/src/lcd/language/language_cz.h @@ -22,6 +22,7 @@ /** * Czech + * UTF-8 for Graphical Display * * LCD Menu Messages * See also http://marlinfw.org/docs/development/lcd_language.html @@ -31,158 +32,159 @@ * http://www.zahradniksebavi.cz * */ -#ifndef LANGUAGE_CZ_H -#define LANGUAGE_CZ_H +#ifndef LANGUAGE_CZ_UTF_H +#define LANGUAGE_CZ_UTF_H -#define DISPLAY_CHARSET_ISO10646_1 +#define DISPLAY_CHARSET_ISO10646_CZ +#define CHARSIZE 2 -#define WELCOME_MSG MACHINE_NAME _UxGT(" pripraven.") -#define MSG_BACK _UxGT("Zpet") -#define MSG_SD_INSERTED _UxGT("Karta vlozena") +#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("Hlavni nabidka") +#define MSG_MAIN _UxGT("Hlavní nabídka") #define MSG_AUTOSTART _UxGT("Autostart") #define MSG_DISABLE_STEPPERS _UxGT("Uvolnit motory") -#define MSG_DEBUG_MENU _UxGT("Nabidka ladeni") -#define MSG_PROGRESS_BAR_TEST _UxGT("Test uk.prubehu") -#define MSG_AUTO_HOME _UxGT("Domovska pozice") -#define MSG_AUTO_HOME_X _UxGT("Domu osa X") -#define MSG_AUTO_HOME_Y _UxGT("Domu osa Y") -#define MSG_AUTO_HOME_Z _UxGT("Domu osa Z") -#define MSG_LEVEL_BED_HOMING _UxGT("Mereni podlozky") -#define MSG_LEVEL_BED_WAITING _UxGT("Kliknutim spustte") -#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Dalsi bod") -#define MSG_LEVEL_BED_DONE _UxGT("Mereni hotovo!") -#define MSG_Z_FADE_HEIGHT _UxGT("Vyska srovnavani") +#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_TMC_Z_CALIBRATION _UxGT("Kalibrovat 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 pocatek") -#define MSG_PREHEAT_1 _UxGT("Zahrat PLA") +#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(" 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_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_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_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_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_COOLDOWN _UxGT("Zchladit") -#define MSG_SWITCH_PS_ON _UxGT("Zapnout napajeni") -#define MSG_SWITCH_PS_OFF _UxGT("Vypnout napajeni") -#define MSG_EXTRUDE _UxGT("Vytlacit (extr.)") -#define MSG_RETRACT _UxGT("Zatlacit (retr.)") +#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 podlozku") -#define MSG_LEVEL_BED _UxGT("Vyrovnat podlozku") +#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("Dalsi roh") -#define MSG_EDITING_STOPPED _UxGT("Konec uprav site") +#define MSG_NEXT_CORNER _UxGT("Další roh") +#define MSG_EDITING_STOPPED _UxGT("Konec úprav sítě") -#define MSG_UBL_DOING_G29 _UxGT("Provadim G29") -#define MSG_UBL_UNHOMED _UxGT("Prejedte domu") -#define MSG_UBL_TOOLS _UxGT("UBL nastroje") +#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("Manualni sit bodu") -#define MSG_UBL_BC_INSERT _UxGT("Vlozte kartu, zmerte") -#define MSG_UBL_BC_INSERT2 _UxGT("Zmerte") -#define MSG_UBL_BC_REMOVE _UxGT("Odstrante a zmerte") -#define MSG_UBL_MOVING_TO_NEXT _UxGT("Presoun na dalsi") +#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 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_SET_HOTEND_TEMP _UxGT("Teplota hotendu") #define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP -#define MSG_UBL_MESH_EDIT _UxGT("Uprava site bodu") -#define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Upravit vlastni sit") -#define MSG_UBL_FINE_TUNE_MESH _UxGT("Doladit sit bodu") -#define MSG_UBL_DONE_EDITING_MESH _UxGT("Konec uprav site") -#define MSG_UBL_BUILD_CUSTOM_MESH _UxGT("Vlastni sit") -#define MSG_UBL_BUILD_MESH_MENU _UxGT("Vytvorit sit") -#define MSG_UBL_BUILD_PLA_MESH _UxGT("Sit bodu PLA") -#define MSG_UBL_BUILD_ABS_MESH _UxGT("Sit bodu ABS") -#define MSG_UBL_BUILD_COLD_MESH _UxGT("Studena sit bodu") -#define MSG_UBL_MESH_HEIGHT_ADJUST _UxGT("Upravit vysku site") -#define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Vyska") -#define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Zkontrolovat sit") -#define MSG_UBL_VALIDATE_PLA_MESH _UxGT("Kontrola site PLA") -#define MSG_UBL_VALIDATE_ABS_MESH _UxGT("Kontrola site ABS") -#define MSG_UBL_VALIDATE_CUSTOM_MESH _UxGT("Kontrola vlast. site") -#define MSG_UBL_CONTINUE_MESH _UxGT("Pokracovat v siti") -#define MSG_UBL_MESH_LEVELING _UxGT("Sitove rovnani") -#define MSG_UBL_3POINT_MESH_LEVELING _UxGT("3-bodove rovnani") -#define MSG_UBL_GRID_MESH_LEVELING _UxGT("Mrizkove rovnani") -#define MSG_UBL_MESH_LEVEL _UxGT("Srovnat podlozku") -#define MSG_UBL_SIDE_POINTS _UxGT("Postranni body") -#define MSG_UBL_MAP_TYPE _UxGT("Typ site bodu") -#define MSG_UBL_OUTPUT_MAP _UxGT("Exportovat sit") +#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("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_EDIT_MESH_MENU _UxGT("Upravit sit dobu") -#define MSG_UBL_FILLIN_AMOUNT _UxGT("Hustota mrizky") -#define MSG_UBL_MANUAL_FILLIN _UxGT("Rucni hustota") -#define MSG_UBL_SMART_FILLIN _UxGT("Chytra hustota") -#define MSG_UBL_FILLIN_MESH _UxGT("Zaplnit mrizku") -#define MSG_UBL_INVALIDATE_ALL _UxGT("Zrusit vsechno") -#define MSG_UBL_INVALIDATE_CLOSEST _UxGT("Zrusit posledni") -#define MSG_UBL_FINE_TUNE_ALL _UxGT("Upravit vsechny") -#define MSG_UBL_FINE_TUNE_CLOSEST _UxGT("Upravit posledni") -#define MSG_UBL_STORAGE_MESH_MENU _UxGT("Uloziste siti") -#define MSG_UBL_STORAGE_SLOT _UxGT("Pametovy slot") -#define MSG_UBL_LOAD_MESH _UxGT("Nacist sit bodu") -#define MSG_UBL_SAVE_MESH _UxGT("Ulozit sit bodu") -#define MSG_MESH_LOADED _UxGT("Sit %i nactena") -#define MSG_NO_STORAGE _UxGT("Nedostatek mista") -#define MSG_MESH_SAVED _UxGT("Sit %i ulozena") -#define MSG_UBL_SAVE_ERROR _UxGT("Err: Ulozit UBL") +#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 Postupne") +#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Postupně") -#define MSG_LED_CONTROL _UxGT("LED Nastaveni") -#define MSG_LEDS_ON _UxGT("Svetla Zap") -#define MSG_LEDS_OFF _UxGT("Svetla Vyp") -#define MSG_LED_PRESETS _UxGT("Svetla Predvolby") -#define MSG_SET_LEDS_RED _UxGT("Cervena") -#define MSG_SET_LEDS_ORANGE _UxGT("Oranzova") -#define MSG_SET_LEDS_YELLOW _UxGT("Zluta") -#define MSG_SET_LEDS_GREEN _UxGT("Zelena") -#define MSG_SET_LEDS_BLUE _UxGT("Modra") +#define MSG_LED_CONTROL _UxGT("LED Nastavení") +#define MSG_LEDS _UxGT("Světla") +#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("Fialova") -#define MSG_SET_LEDS_WHITE _UxGT("Bila") -#define MSG_SET_LEDS_DEFAULT _UxGT("Vychozi") -#define MSG_CUSTOM_LEDS _UxGT("Vlastni svetla") -#define MSG_INTENSITY_R _UxGT("Cervena intenzita") -#define MSG_INTENSITY_G _UxGT("Zelena intezita") -#define MSG_INTENSITY_B _UxGT("Modra intenzita") -#define MSG_INTENSITY_W _UxGT("Bila intenzita") +#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("Vlastni prikazy") +#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("Extruder") +#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("Vyska podl.") +#define MSG_BED_Z _UxGT("Výška podl.") #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_EXTRA_FAN_SPEED _UxGT("Rychlost ex. vent.") -#define MSG_FLOW _UxGT("Prutok") -#define MSG_CONTROL _UxGT("Ovladani") +#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") @@ -213,55 +215,54 @@ #define MSG_ACCELERATION _UxGT("Akcelerace") #define MSG_AMAX _UxGT("Amax ") #define MSG_A_RETRACT _UxGT("A-retrakt") -#define MSG_A_TRAVEL _UxGT("A-prejezd") -#define MSG_STEPS_PER_MM _UxGT("Kroku/mm") +#define MSG_A_TRAVEL _UxGT("A-přejezd") +#define MSG_STEPS_PER_MM _UxGT("Kroků/mm") #if IS_KINEMATIC - #define MSG_ASTEPS _UxGT("Akroku/mm") - #define MSG_BSTEPS _UxGT("Bkroku/mm") - #define MSG_CSTEPS _UxGT("Ckroku/mm") + #define MSG_ASTEPS _UxGT("Akroků/mm") + #define MSG_BSTEPS _UxGT("Bkroků/mm") + #define MSG_CSTEPS _UxGT("Ckroků/mm") #else - #define MSG_ASTEPS _UxGT("Xkroku/mm") - #define MSG_BSTEPS _UxGT("Ykroku/mm") - #define MSG_CSTEPS _UxGT("Zkroku/mm") + #define MSG_ASTEPS _UxGT("Xkroků/mm") + #define MSG_BSTEPS _UxGT("Ykroků/mm") + #define MSG_CSTEPS _UxGT("Zkroků/mm") #endif -#define MSG_ESTEPS _UxGT("Ekroku/mm") -#define MSG_E1STEPS _UxGT("E1kroku/mm") -#define MSG_E2STEPS _UxGT("E2kroku/mm") -#define MSG_E3STEPS _UxGT("E3kroku/mm") -#define MSG_E4STEPS _UxGT("E4kroku/mm") -#define MSG_E5STEPS _UxGT("E5kroku/mm") +#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("Zavest 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("Ulozit nastaveni") -#define MSG_LOAD_EEPROM _UxGT("Nacist nastaveni") -#define MSG_RESTORE_FAILSAFE _UxGT("Obnovit vychozi") +#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("Priprava tisku") -#define MSG_TUNE _UxGT("Doladeni tisku") +#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("Zadna SD karta") -#define MSG_DWELL _UxGT("Uspano...") -#define MSG_USERWAIT _UxGT("Cekani na uziv...") +#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("Obnovovani tisku") -#define MSG_PRINT_ABORTED _UxGT("Tisk zrusen") -#define MSG_NO_MOVE _UxGT("Zadny pohyb.") -#define MSG_KILLED _UxGT("PRERUSENO. ") +#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("Vymena Re.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") @@ -269,134 +270,132 @@ #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("Vymenit filament") -#define MSG_FILAMENTLOAD _UxGT("Zavest filament") +#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 vse") +#define MSG_FILAMENTUNLOAD_ALL _UxGT("Vysunout vše") -#define MSG_INIT_SDCARD _UxGT("Nacist SD kartu") -#define MSG_CNG_SDCARD _UxGT("Vymenit SD kartu") +#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 zkoseni") +#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("Domu") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST _UxGT("prvni") +#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 zahrivani") +#define MSG_HEATING_FAILED_LCD _UxGT("Chyba zahřívání") #define MSG_ERR_REDUNDANT_TEMP _UxGT("REDUND. TEPLOTA") -#define MSG_THERMAL_RUNAWAY _UxGT("TEPLOTNI SKOK") -#define MSG_ERR_MAXTEMP _UxGT("VYSOKA TEPLOTA") -#define MSG_ERR_MINTEMP _UxGT("NIZKA 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("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_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_HOUR _UxGT("h") #define MSG_SHORT_MINUTE _UxGT("m") -#define MSG_HEATING _UxGT("Zahrivani...") -#define MSG_HEATING_COMPLETE _UxGT("Zahrati hotovo.") -#define MSG_BED_HEATING _UxGT("Zahrivani podl.") -#define MSG_BED_DONE _UxGT("Podlozka hotova.") +#define MSG_HEATING _UxGT("Zahřívání...") +#define MSG_BED_HEATING _UxGT("Zahřívání podl...") #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 Stred") -#define MSG_DELTA_SETTINGS _UxGT("Delta nastaveni") +#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.vysku delty") +#define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Nast.výšku delty") #define MSG_DELTA_DIAG_ROD _UxGT("Diag rameno") -#define MSG_DELTA_HEIGHT _UxGT("Vyska") -#define MSG_DELTA_RADIUS _UxGT("Polomer") -#define MSG_INFO_MENU _UxGT("O tiskarne") -#define MSG_INFO_PRINTER_MENU _UxGT("Info o tiskarne") -#define MSG_3POINT_LEVELING _UxGT("3-bodove rovnani") -#define MSG_LINEAR_LEVELING _UxGT("Linearni rovnani") -#define MSG_BILINEAR_LEVELING _UxGT("Bilinearni rovnani") +#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("Mrizkove rovnani") +#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("Extrudery") +#define MSG_INFO_EXTRUDERS _UxGT("Extrudéry") #define MSG_INFO_BAUDRATE _UxGT("Rychlost") #define MSG_INFO_PROTOCOL _UxGT("Protokol") -#define MSG_CASE_LIGHT _UxGT("Osvetleni") -#define MSG_CASE_LIGHT_BRIGHTNESS _UxGT("Jas svetla") +#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("Pocet tisku") - #define MSG_INFO_COMPLETED_PRINTS _UxGT("Dokonceno") - #define MSG_INFO_PRINT_TIME _UxGT("Celkovy cas") - #define MSG_INFO_PRINT_LONGEST _UxGT("Nejdelsi tisk") - #define MSG_INFO_PRINT_FILAMENT _UxGT("Celkem vytlaceno") + #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("Cas") - #define MSG_INFO_PRINT_LONGEST _UxGT("Nejdelsi") - #define MSG_INFO_PRINT_FILAMENT _UxGT("Vytlaceno") + #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("Buzeni motoru") +#define MSG_DRIVE_STRENGTH _UxGT("Buzení 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_LOAD _UxGT("ZAVEDENI FILAMENTU") -#define MSG_FILAMENT_CHANGE_HEADER_UNLOAD _UxGT("VYSUNUTI FILAMENTU") -#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("MOZNOSTI OBNOVENI:") -#define MSG_FILAMENT_CHANGE_OPTION_PURGE _UxGT("Vytlacit vic") +#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("Parkovani selhalo") +#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 studeny") +#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("Cekejte prosim") - #define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("na zahajeni") - #define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("vymeny filamentu") - #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Cekejte prosim") + #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("Vlozte filament") - #define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("a stisknete") - #define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("tlacitko...") - #define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Kliknete pro") - #define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("nahrati trysky") - #define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Cekejte prosim") - #define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("na nahrati tr.") - #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Cekejte prosim") - #define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("na zavedeni") + #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("Vyckejte na") - #define MSG_FILAMENT_CHANGE_PURGE_2 _UxGT("vytlaceni") - #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Cekejte prosim") - #define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("na pokracovani") + #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("Cekejte...") - #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Vysouvani...") - #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Vlozte, kliknete") - #define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Nahrivani...") - #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Zavadeni...") - #define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Vytlacovani...") - #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Pokracovani...") + #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_H +#endif // LANGUAGE_CZ_UTF_H diff --git a/Marlin/src/lcd/language/language_cz_utf8.h b/Marlin/src/lcd/language/language_cz_utf8.h deleted file mode 100644 index 51eb2d14c3ec..000000000000 --- a/Marlin/src/lcd/language/language_cz_utf8.h +++ /dev/null @@ -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 . - * - */ - -/** - * 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 diff --git a/Marlin/src/lcd/language/language_da.h b/Marlin/src/lcd/language/language_da.h index 8d443e161ae0..0782b9653129 100644 --- a/Marlin/src/lcd/language/language_da.h +++ b/Marlin/src/lcd/language/language_da.h @@ -30,7 +30,6 @@ #ifndef LANGUAGE_DA_H #define LANGUAGE_DA_H -#define MAPPER_C2C3 #define DISPLAY_CHARSET_ISO10646_1 #define CHARSIZE 2 @@ -45,6 +44,7 @@ #define MSG_AUTO_HOME_X _UxGT("Home X") #define MSG_AUTO_HOME_Y _UxGT("Home Y") #define MSG_AUTO_HOME_Z _UxGT("Home Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Kalibrer Z") #define MSG_LEVEL_BED_HOMING _UxGT("Homing XYZ") #define MSG_LEVEL_BED_WAITING _UxGT("Klik når du er klar") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Næste punkt") @@ -150,7 +150,6 @@ #define MSG_NO_CARD _UxGT("Intet SD kort") #define MSG_DWELL _UxGT("Dvale...") #define MSG_USERWAIT _UxGT("Venter på bruger...") -#define MSG_RESUMING _UxGT("Forsætter printet") #define MSG_PRINT_ABORTED _UxGT("Print annulleret") #define MSG_NO_MOVE _UxGT("Ingen bevægelse.") #define MSG_KILLED _UxGT("DRÆBT. ") @@ -190,9 +189,7 @@ #define MSG_SHORT_HOUR _UxGT("h") // Kun et bogstav #define MSG_SHORT_MINUTE _UxGT("m") // Kun et bogstav #define MSG_HEATING _UxGT("Opvarmer...") -#define MSG_HEATING_COMPLETE _UxGT("Opvarmet") -#define MSG_BED_HEATING _UxGT("Opvarmer plade") -#define MSG_BED_DONE _UxGT("Plade opvarmet") +#define MSG_BED_HEATING _UxGT("Opvarmer plade...") #define MSG_DELTA_CALIBRATE _UxGT("Delta Kalibrering") #define MSG_DELTA_CALIBRATE_X _UxGT("Kalibrer X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibrer Y") diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h index 8660bf969967..75d1d7aa2a9a 100644 --- a/Marlin/src/lcd/language/language_de.h +++ b/Marlin/src/lcd/language/language_de.h @@ -30,8 +30,6 @@ #ifndef LANGUAGE_DE_H #define LANGUAGE_DE_H -#define MAPPER_C2C3 -#define DISPLAY_CHARSET_ISO10646_1 #define CHARSIZE 2 #define THIS_LANGUAGES_SPECIAL_SYMBOLS _UxGT("ÄäÖöÜüß²³") @@ -50,6 +48,7 @@ #define MSG_AUTO_HOME_X _UxGT("Home X") #define MSG_AUTO_HOME_Y _UxGT("Home Y") #define MSG_AUTO_HOME_Z _UxGT("Home Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Kalibriere Z") #define MSG_LEVEL_BED_HOMING _UxGT("Home XYZ") #define MSG_LEVEL_BED_WAITING _UxGT("Klick für Start") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Nächste Koordinate") @@ -171,7 +170,6 @@ #define MSG_DWELL _UxGT("Warten...") #define MSG_USERWAIT _UxGT("Warte auf Nutzer") #define MSG_PRINT_PAUSED _UxGT("Druck pausiert") -#define MSG_RESUMING _UxGT("Druckfortsetzung") #define MSG_PRINT_ABORTED _UxGT("Druck abgebrochen") #define MSG_NO_MOVE _UxGT("Motoren eingeschaltet") #define MSG_KILLED _UxGT("ABGEBROCHEN") @@ -220,9 +218,7 @@ #define MSG_SHORT_HOUR _UxGT("h") // One character only #define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_HEATING _UxGT("Extr. heizt...") -#define MSG_HEATING_COMPLETE _UxGT("Extr. aufgeheizt") #define MSG_BED_HEATING _UxGT("Bett heizt...") -#define MSG_BED_DONE _UxGT("Bett aufgeheizt") #define MSG_DELTA_CALIBRATE _UxGT("Delta kalibrieren") #define MSG_DELTA_CALIBRATE_X _UxGT("Kalibriere X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibriere Y") @@ -314,8 +310,7 @@ #define MSG_UBL_STEP_BY_STEP_MENU _UxGT("Schrittweises UBL") #define MSG_LED_CONTROL _UxGT("LED Kontrolle") -#define MSG_LEDS_ON _UxGT("Licht an") -#define MSG_LEDS_OFF _UxGT("Licht aus") +#define MSG_LEDS _UxGT("Licht") #define MSG_LED_PRESETS _UxGT("Licht Einstellungen") #define MSG_SET_LEDS_RED _UxGT("Rot") #define MSG_SET_LEDS_ORANGE _UxGT("Orange") diff --git a/Marlin/src/lcd/language/language_el-gr.h b/Marlin/src/lcd/language/language_el-gr.h index ad2895cfdb12..04a1198f3216 100644 --- a/Marlin/src/lcd/language/language_el-gr.h +++ b/Marlin/src/lcd/language/language_el-gr.h @@ -30,7 +30,6 @@ #ifndef LANGUAGE_EL_GR_H #define LANGUAGE_EL_GR_H -#define MAPPER_CECF #define DISPLAY_CHARSET_ISO10646_GREEK #define CHARSIZE 2 @@ -45,6 +44,7 @@ #define MSG_AUTO_HOME_X _UxGT("Αρχικό σημείο X") #define MSG_AUTO_HOME_Y _UxGT("Αρχικό σημείο Y") #define MSG_AUTO_HOME_Z _UxGT("Αρχικό σημείο Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Βαθμονόμηση Z") #define MSG_LEVEL_BED_HOMING _UxGT("Επαναφορά στο αρχικό σημείο ΧΥΖ") #define MSG_LEVEL_BED_WAITING _UxGT("Κάντε κλικ για να ξεκινήσετε") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Επόμενο σημείο") @@ -147,9 +147,8 @@ #define MSG_STOP_PRINT _UxGT("Διακοπή εκτύπωσης") #define MSG_CARD_MENU _UxGT("Εκτύπωση από SD") #define MSG_NO_CARD _UxGT("Δεν βρέθηκε SD") -#define MSG_DWELL _UxGT("Αναστολή λειτουργίας...") +#define MSG_DWELL _UxGT("Αναστολή λειτουργίας…") #define MSG_USERWAIT _UxGT("Αναμονή για χρήστη…") -#define MSG_RESUMING _UxGT("Συνεχίζεται η εκτύπωση") #define MSG_PRINT_ABORTED _UxGT("Διακόπτεται η εκτύπωση") #define MSG_NO_MOVE _UxGT("Καμία κίνηση.") #define MSG_KILLED _UxGT("ΤΕΡΜΑΤΙΣΜΟΣ. ") @@ -181,9 +180,7 @@ #define MSG_ERR_MAXTEMP_BED _UxGT("Λάθος: ΜΕΓΙΣΤΗ ΘΕΡΜΟΤΗΤΑ ΚΛΙΝΗΣ") #define MSG_ERR_MINTEMP_BED _UxGT("Λάθος: ΕΛΑΧΙΣΤΗ ΘΕΡΜΟΤΗΤΑ ΚΛΙΝΗΣ") #define MSG_HEATING _UxGT("Θερμαίνεται…") -#define MSG_HEATING_COMPLETE _UxGT("Η θέρμανση ολοκληρώθηκε.") -#define MSG_BED_HEATING _UxGT("Θέρμανση κλίνης.") -#define MSG_BED_DONE _UxGT("Η κλίνη ολοκληρώθηκε.") +#define MSG_BED_HEATING _UxGT("Θέρμανση κλίνης…") #define MSG_DELTA_CALIBRATE _UxGT("Βαθμονόμηση Delta") #define MSG_DELTA_CALIBRATE_X _UxGT("Βαθμονόμηση X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Βαθμονόμηση Y") diff --git a/Marlin/src/lcd/language/language_el.h b/Marlin/src/lcd/language/language_el.h index 5211fbe576cb..2a900983083f 100644 --- a/Marlin/src/lcd/language/language_el.h +++ b/Marlin/src/lcd/language/language_el.h @@ -30,7 +30,6 @@ #ifndef LANGUAGE_EL_H #define LANGUAGE_EL_H -#define MAPPER_CECF #define DISPLAY_CHARSET_ISO10646_GREEK #define CHARSIZE 2 @@ -45,6 +44,7 @@ #define MSG_AUTO_HOME_X _UxGT("Αρχικό σημείο X") #define MSG_AUTO_HOME_Y _UxGT("Αρχικό σημείο Y") #define MSG_AUTO_HOME_Z _UxGT("Αρχικό σημείο Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Βαθμονόμηση Z") #define MSG_LEVEL_BED_HOMING _UxGT("Επαναφορά Επ. Εκτύπωσης") //SHORTEN #define MSG_LEVEL_BED_WAITING _UxGT("Επιπεδοποίηση επ. Εκτύπωσης περιμενει") //SHORTEN #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Επόμενο σημείο") @@ -149,7 +149,6 @@ #define MSG_NO_CARD _UxGT("Δεν βρέθηκε SD") #define MSG_DWELL _UxGT("Αναστολή λειτουργίας") #define MSG_USERWAIT _UxGT("Αναμονή για χρήστη") -#define MSG_RESUMING _UxGT("Συνεχίζεται η εκτύπωση") //SHORTEN #define MSG_PRINT_ABORTED _UxGT("Διακόπτεται η εκτύπωση") //SHORTEN #define MSG_NO_MOVE _UxGT("Καμία κίνηση.") #define MSG_KILLED _UxGT("ΤΕΡΜΑΤΙΣΜΟΣ. ") @@ -182,9 +181,7 @@ #define MSG_ERR_MINTEMP_BED _UxGT("ΕΛΑΧΙΣΤΗ ΘΕΡΜΟΚΡΑΣΙΑΣ ΕΠ. ΕΚΤΥΠΩΣΗΣ") //SHORTEN #define MSG_HALTED _UxGT("H εκτύπωση διακόπηκε") #define MSG_HEATING _UxGT("Θερμαίνεται…") -#define MSG_HEATING_COMPLETE _UxGT("Η θέρμανση ολοκληρώθηκε.") //SHORTEN #define MSG_BED_HEATING _UxGT("Θέρμανση ΕΠ. Εκτύπωσης") //SHORTEN -#define MSG_BED_DONE _UxGT("Η Επ. Εκτύπωσης ολοκληρώθηκε") //SHORTEN #define MSG_DELTA_CALIBRATE _UxGT("Βαθμονόμηση Delta") #define MSG_DELTA_CALIBRATE_X _UxGT("Βαθμονόμηση X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Βαθμονόμηση Y") diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index b5f2d770ebf7..577171b0df0a 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -55,6 +55,9 @@ #ifndef MSG_LCD_ENDSTOPS #define MSG_LCD_ENDSTOPS _UxGT("Endstops") // Max length 8 characters #endif +#ifndef MSG_LCD_SOFT_ENDSTOPS + #define MSG_LCD_SOFT_ENDSTOPS _UxGT("Soft Endstops") +#endif #ifndef MSG_MAIN #define MSG_MAIN _UxGT("Main") #endif @@ -82,6 +85,9 @@ #ifndef MSG_AUTO_HOME_Z #define MSG_AUTO_HOME_Z _UxGT("Home Z") #endif +#ifndef MSG_TMC_Z_CALIBRATION + #define MSG_TMC_Z_CALIBRATION _UxGT("Calibrate Z") +#endif #ifndef MSG_LEVEL_BED_HOMING #define MSG_LEVEL_BED_HOMING _UxGT("Homing XYZ") #endif @@ -368,11 +374,8 @@ #ifndef MSG_LED_CONTROL #define MSG_LED_CONTROL _UxGT("LED Control") #endif -#ifndef MSG_LEDS_ON - #define MSG_LEDS_ON _UxGT("Lights On") -#endif -#ifndef MSG_LEDS_OFF - #define MSG_LEDS_OFF _UxGT("Lights Off") +#ifndef MSG_LEDS + #define MSG_LEDS _UxGT("Lights") #endif #ifndef MSG_LED_PRESETS #define MSG_LED_PRESETS _UxGT("Light Presets") @@ -537,6 +540,9 @@ #ifndef MSG_VE_JERK #define MSG_VE_JERK _UxGT("Ve-jerk") #endif +#ifndef MSG_JUNCTION_DEVIATION + #define MSG_JUNCTION_DEVIATION _UxGT("Junction Dev") +#endif #ifndef MSG_VELOCITY #define MSG_VELOCITY _UxGT("Velocity") #endif @@ -663,6 +669,9 @@ #ifndef MSG_STOP_PRINT #define MSG_STOP_PRINT _UxGT("Stop print") #endif +#ifndef MSG_POWER_LOSS_RECOVERY + #define MSG_POWER_LOSS_RECOVERY _UxGT("Power-Loss Recovery") +#endif #ifndef MSG_CARD_MENU #define MSG_CARD_MENU _UxGT("Print from SD") #endif @@ -678,8 +687,8 @@ #ifndef MSG_PRINT_PAUSED #define MSG_PRINT_PAUSED _UxGT("Print paused") #endif -#ifndef MSG_RESUMING - #define MSG_RESUMING _UxGT("Resuming print") +#ifndef MSG_PRINTING + #define MSG_PRINTING _UxGT("Printing...") #endif #ifndef MSG_PRINT_ABORTED #define MSG_PRINT_ABORTED _UxGT("Print aborted") @@ -739,7 +748,7 @@ #define MSG_CNG_SDCARD _UxGT("Change SD card") #endif #ifndef MSG_ZPROBE_OUT - #define MSG_ZPROBE_OUT _UxGT("Z probe out. bed") + #define MSG_ZPROBE_OUT _UxGT("Z Probe past bed") #endif #ifndef MSG_SKEW_FACTOR #define MSG_SKEW_FACTOR _UxGT("Skew Factor") @@ -766,7 +775,7 @@ #define MSG_FIRST _UxGT("first") #endif #ifndef MSG_ZPROBE_ZOFFSET - #define MSG_ZPROBE_ZOFFSET _UxGT("Z Offset") + #define MSG_ZPROBE_ZOFFSET _UxGT("Probe Z Offset") #endif #ifndef MSG_BABYSTEP_X #define MSG_BABYSTEP_X _UxGT("Babystep X") @@ -828,23 +837,14 @@ #ifndef MSG_HEATING #define MSG_HEATING _UxGT("Heating...") #endif -#ifndef MSG_HEATING_COMPLETE - #define MSG_HEATING_COMPLETE _UxGT("Heating done.") -#endif #ifndef MSG_COOLING #define MSG_COOLING _UxGT("Cooling...") #endif -#ifndef MSG_COOLING_COMPLETE - #define MSG_COOLING_COMPLETE _UxGT("Cooling done.") -#endif #ifndef MSG_BED_HEATING - #define MSG_BED_HEATING _UxGT("Bed heating.") + #define MSG_BED_HEATING _UxGT("Bed heating...") #endif #ifndef MSG_BED_COOLING - #define MSG_BED_COOLING _UxGT("Bed cooling.") -#endif -#ifndef MSG_BED_DONE - #define MSG_BED_DONE _UxGT("Bed done.") + #define MSG_BED_COOLING _UxGT("Bed cooling...") #endif #ifndef MSG_DELTA_CALIBRATE #define MSG_DELTA_CALIBRATE _UxGT("Delta Calibration") @@ -870,6 +870,9 @@ #ifndef MSG_DELTA_HEIGHT_CALIBRATE #define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Set Delta Height") #endif +#ifndef MSG_DELTA_Z_OFFSET_CALIBRATE + #define MSG_DELTA_Z_OFFSET_CALIBRATE _UxGT("Probe Z-offset") +#endif #ifndef MSG_DELTA_DIAG_ROD #define MSG_DELTA_DIAG_ROD _UxGT("Diag Rod") #endif diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h index f5a7097f6183..101f38220b88 100644 --- a/Marlin/src/lcd/language/language_es.h +++ b/Marlin/src/lcd/language/language_es.h @@ -27,53 +27,54 @@ * See also http://marlinfw.org/docs/development/lcd_language.html * */ -#ifndef LANGUAGE_ES_H -#define LANGUAGE_ES_H +#ifndef LANGUAGE_ES_UTF_H +#define LANGUAGE_ES_UTF_H #define DISPLAY_CHARSET_ISO10646_1 -#define NOT_EXTENDED_ISO10646_1_5X7 #define CHARSIZE 2 + #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_REMOVED _UxGT("Tarjeta retirada") #define MSG_LCD_ENDSTOPS _UxGT("Endstops") // Max length 8 characters -#define MSG_MAIN _UxGT("Menu principal") -#define MSG_AUTOSTART _UxGT("Inicio automatico") +#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("Menu depurar") +#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_TMC_Z_CALIBRATION _UxGT("Calibrar 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("Nivelacion lista!") +#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_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("Plataforma") -#define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1 _UxGT("Config") +#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_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("Plataforma") -#define MSG_PREHEAT_2_SETTINGS MSG_PREHEAT_2 _UxGT("Config") +#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 plataforma") -#define MSG_LEVEL_BED _UxGT("Nivelar plataforma") +#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") @@ -84,9 +85,9 @@ #define MSG_MOVE_1MM _UxGT("Mover 1mm") #define MSG_MOVE_10MM _UxGT("Mover 10mm") #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_BED _UxGT("Plataforma") +#define MSG_BED _UxGT("Cama") #define MSG_FAN_SPEED _UxGT("Ventilador") #define MSG_FLOW _UxGT("Flujo") #define MSG_CONTROL _UxGT("Control") @@ -101,17 +102,11 @@ #define MSG_PID_D _UxGT("PID-D") #define MSG_PID_C _UxGT("PID-C") #define MSG_SELECT _UxGT("Seleccionar") -#define MSG_ACC _UxGT("Aceleracion") +#define MSG_ACC _UxGT("Aceleración") #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_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") @@ -121,15 +116,9 @@ #define MSG_A_RETRACT _UxGT("Acel. retrac.") #define MSG_A_TRAVEL _UxGT("Acel. Viaje") #define MSG_STEPS_PER_MM _UxGT("Pasos/mm") -#if IS_KINEMATIC - #define MSG_ASTEPS _UxGT("A pasos/mm") - #define MSG_BSTEPS _UxGT("B 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_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") @@ -147,18 +136,17 @@ #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("Informacion") +#define MSG_WATCH _UxGT("Información") #define MSG_PREPARE _UxGT("Preparar") #define MSG_TUNE _UxGT("Ajustar") -#define MSG_PAUSE_PRINT _UxGT("Pausar impresion") -#define MSG_RESUME_PRINT _UxGT("Reanudar impresion") -#define MSG_STOP_PRINT _UxGT("Detener impresion") -#define MSG_CARD_MENU _UxGT("Menu de SD") +#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 ordenes") -#define MSG_RESUMING _UxGT("Resumiendo impre.") -#define MSG_PRINT_ABORTED _UxGT("Impresion cancelada") +#define MSG_USERWAIT _UxGT("Esperando órdenes") +#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") @@ -169,7 +157,7 @@ #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("Retraccion Auto.") +#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") @@ -177,7 +165,7 @@ #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("inic.") +#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") @@ -186,10 +174,10 @@ #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 Maxima") -#define MSG_ERR_MINTEMP _UxGT("Error: Temp Minima") -#define MSG_ERR_MAXTEMP_BED _UxGT("Error: Temp Max Plat") -#define MSG_ERR_MINTEMP_BED _UxGT("Error: Temp Min Plat") +#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") @@ -197,19 +185,17 @@ #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 Plat...") -#define MSG_BED_DONE _UxGT("Plataforma Caliente") -#define MSG_DELTA_CALIBRATE _UxGT("Calibracion Delta") +#define MSG_BED_HEATING _UxGT("Calentando Cama...") +#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 Calibracion") +#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("Estadisticas Imp.") +#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") @@ -218,36 +204,38 @@ #define MSG_CASE_LIGHT _UxGT("Luz cabina") #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_PRINT_TIME _UxGT("Tiempo total de imp.") - #define MSG_INFO_PRINT_LONGEST _UxGT("Impresion mas larga") - #define MSG_INFO_PRINT_FILAMENT _UxGT("Total de Extrusion") + #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("Mas larga") - #define MSG_INFO_PRINT_FILAMENT _UxGT("Extrusion") + #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 minima") -#define MSG_INFO_MAX_TEMP _UxGT("Temperatura maxima") +#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_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_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 boton") +#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("y presione el botón") #if LCD_HEIGHT >= 4 // Up to 3 lines allowed @@ -264,11 +252,13 @@ #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 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_HEATING_1 _UxGT("Calentando boquilla") #define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("Espere por favor") -#endif // LANGUAGE_ES_H +#endif // LANGUAGE_ES_UTF_H diff --git a/Marlin/src/lcd/language/language_es_utf8.h b/Marlin/src/lcd/language/language_es_utf8.h deleted file mode 100644 index 0fcdaa8f10b2..000000000000 --- a/Marlin/src/lcd/language/language_es_utf8.h +++ /dev/null @@ -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 . - * - */ - -/** - * 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 diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h index bfe489309df2..999855ef3700 100644 --- a/Marlin/src/lcd/language/language_eu.h +++ b/Marlin/src/lcd/language/language_eu.h @@ -47,6 +47,7 @@ #define MSG_AUTO_HOME_X _UxGT("X jatorrira") #define MSG_AUTO_HOME_Y _UxGT("Y jatorrira") #define MSG_AUTO_HOME_Z _UxGT("Z jatorrira") +#define MSG_TMC_Z_CALIBRATION _UxGT("Kalibratu Z") #define MSG_LEVEL_BED_HOMING _UxGT("XYZ hasieraratzen") #define MSG_LEVEL_BED_WAITING _UxGT("Klik egin hasteko") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Hurrengo Puntua") @@ -142,8 +143,7 @@ //#define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Z-Offset Stopped") //#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("Step-By-Step UBL") #define MSG_LED_CONTROL _UxGT("LED ezarpenak") -#define MSG_LEDS_ON _UxGT("Argiak piztu") -#define MSG_LEDS_OFF _UxGT("Argiak itzali") +#define MSG_LEDS _UxGT("Argiak") #define MSG_LED_PRESETS _UxGT("Argi aurrehautaketak") #define MSG_SET_LEDS_RED _UxGT("Gorria") #define MSG_SET_LEDS_ORANGE _UxGT("Laranja") @@ -249,7 +249,6 @@ #define MSG_DWELL _UxGT("Lo egin...") #define MSG_USERWAIT _UxGT("Aginduak zain...") #define MSG_PRINT_PAUSED _UxGT("Inprim. geldi.") -#define MSG_RESUMING _UxGT("Inprim. jarraitu.") #define MSG_PRINT_ABORTED _UxGT("Inprim. deusezta.") #define MSG_NO_MOVE _UxGT("Mugimendu gabe.") #define MSG_KILLED _UxGT("AKABATUTA. ") @@ -297,9 +296,7 @@ #define MSG_SHORT_HOUR _UxGT("h") // One character only #define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_HEATING _UxGT("Berotzen...") -#define MSG_HEATING_COMPLETE _UxGT("Berotzea prest.") -#define MSG_BED_HEATING _UxGT("Ohea Berotzen.") -#define MSG_BED_DONE _UxGT("Ohea Berotuta.") +#define MSG_BED_HEATING _UxGT("Ohea Berotzen...") #define MSG_DELTA_CALIBRATE _UxGT("Delta Kalibraketa") #define MSG_DELTA_CALIBRATE_X _UxGT("Kalibratu X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibratu Y") diff --git a/Marlin/src/lcd/language/language_fi.h b/Marlin/src/lcd/language/language_fi.h index aa5013f94949..4a79946f94e7 100644 --- a/Marlin/src/lcd/language/language_fi.h +++ b/Marlin/src/lcd/language/language_fi.h @@ -30,7 +30,6 @@ #ifndef LANGUAGE_FI_H #define LANGUAGE_FI_H -#define MAPPER_C2C3 #define DISPLAY_CHARSET_ISO10646_1 #define CHARSIZE 2 @@ -41,6 +40,7 @@ #define MSG_AUTOSTART _UxGT("Automaatti") #define MSG_DISABLE_STEPPERS _UxGT("Vapauta moottorit") #define MSG_AUTO_HOME _UxGT("Aja referenssiin") +#define MSG_TMC_Z_CALIBRATION _UxGT("Kalibroi Z") #define MSG_LEVEL_BED_HOMING _UxGT("Homing XYZ") #define MSG_LEVEL_BED_WAITING _UxGT("Click to Begin") #define MSG_LEVEL_BED_DONE _UxGT("Leveling Done!") @@ -140,7 +140,6 @@ #define MSG_NO_CARD _UxGT("Ei korttia") #define MSG_DWELL _UxGT("Nukkumassa...") #define MSG_USERWAIT _UxGT("Odotet. valintaa") -#define MSG_RESUMING _UxGT("Jatke. tulostusta") #define MSG_PRINT_ABORTED _UxGT("Print aborted") #define MSG_NO_MOVE _UxGT("Ei liiketta.") #define MSG_KILLED _UxGT("KILLED. ") diff --git a/Marlin/src/lcd/language/language_fr.h b/Marlin/src/lcd/language/language_fr.h index 5eec8054e85f..dbff74c3489a 100644 --- a/Marlin/src/lcd/language/language_fr.h +++ b/Marlin/src/lcd/language/language_fr.h @@ -27,83 +27,84 @@ * See also http://marlinfw.org/docs/development/lcd_language.html * */ -#ifndef LANGUAGE_FR_H -#define LANGUAGE_FR_H +#ifndef LANGUAGE_FR_UTF_H +#define LANGUAGE_FR_UTF_H -#define MAPPER_NON -#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_SD_INSERTED _UxGT("Carte inseree") -#define MSG_SD_REMOVED _UxGT("Carte retiree") -#define MSG_LCD_ENDSTOPS _UxGT("Butees") // Max length 8 characters +#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("Arreter moteurs") +#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_TMC_Z_CALIBRATION _UxGT("Calibrer Z") #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 a niveau OK!") -#define MSG_Z_FADE_HEIGHT _UxGT("Hauteur lissee") -#define MSG_SET_HOME_OFFSETS _UxGT("Regl. decal. origine") -#define MSG_HOME_OFFSETS_APPLIED _UxGT("Decalages appliques") -#define MSG_SET_ORIGIN _UxGT("Regler origine") -#define MSG_PREHEAT_1 _UxGT("Prechauffage PLA") -#define MSG_PREHEAT_1_N _UxGT("Prechauff. PLA ") -#define MSG_PREHEAT_1_ALL _UxGT("Prech. PLA Tout") +#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("Prech. PLA lit") -#define MSG_PREHEAT_1_SETTINGS _UxGT("Regl. prech. PLA") -#define MSG_PREHEAT_2 _UxGT("Prechauffage ABS") -#define MSG_PREHEAT_2_N _UxGT("Prechauff. ABS ") -#define MSG_PREHEAT_2_ALL _UxGT("Prech. ABS Tout") +#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("Prech. ABS lit") -#define MSG_PREHEAT_2_SETTINGS _UxGT("Regl. prech. ABS") +#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("Deplacer un axe") -#define MSG_BED_LEVELING _UxGT("Regl. Niv. lit") -#define MSG_LEVEL_BED _UxGT("Regl. Niv. lit") +#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("Arret edit. maillage") +#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 unifie") +#define MSG_UBL_LEVEL_BED _UxGT("Niveau lit unifié") #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_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_ACTIVATE_MESH _UxGT("Activer l'UBL") -#define MSG_UBL_DEACTIVATE_MESH _UxGT("Desactiver l'UBL") -#define MSG_UBL_SET_BED_TEMP _UxGT("Temperature lit") +#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("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_MESH_EDIT _UxGT("Editer maille") #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_BUILD_CUSTOM_MESH _UxGT("Creer maille perso") -#define MSG_UBL_BUILD_MESH_MENU _UxGT("Creer maille") -#define MSG_UBL_BUILD_PLA_MESH _UxGT("Creer maille PLA") -#define MSG_UBL_BUILD_ABS_MESH _UxGT("Creer maille ABS") -#define MSG_UBL_BUILD_COLD_MESH _UxGT("Creer maille froide") +#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") @@ -112,13 +113,13 @@ #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 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_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_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_BACKUP _UxGT("Voir pour sauveg.") #define MSG_UBL_INFO_UBL _UxGT("Voir info UBL") @@ -128,25 +129,24 @@ #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 pres") -#define MSG_UBL_FINE_TUNE_ALL _UxGT("Reglage fin (tous)") -#define MSG_UBL_FINE_TUNE_CLOSEST _UxGT("Reglage fin (proche)") +#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 memoire") +#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 memoire") +#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("Decal. Z arrete") -#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Pas a pas") +#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("Controle LED") -#define MSG_LEDS_ON _UxGT("Lumiere ON") -#define MSG_LEDS_OFF _UxGT("Lumiere OFF") -#define MSG_LED_PRESETS _UxGT("Preregl. LED.") +#define MSG_LED_CONTROL _UxGT("Contrôle LED") +#define MSG_LEDS _UxGT("Lumière") +#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") @@ -157,21 +157,21 @@ #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("Intensite rouge") -#define MSG_INTENSITY_G _UxGT("Intensite vert") -#define MSG_INTENSITY_B _UxGT("Intensite bleu") -#define MSG_INTENSITY_W _UxGT("Intensite blanc") -#define MSG_LED_BRIGHTNESS _UxGT("Luminosite") +#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("Deplacement...") -#define MSG_FREE_XY _UxGT("Debloquer XY") -#define MSG_MOVE_X _UxGT("Depl. X") -#define MSG_MOVE_Y _UxGT("Depl. Y") -#define MSG_MOVE_Z _UxGT("Depl. Z") +#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("Depl. 0.1mm") -#define MSG_MOVE_1MM _UxGT("Depl. 1mm") -#define MSG_MOVE_10MM _UxGT("Depl. 10mm") +#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") @@ -180,19 +180,19 @@ #define MSG_EXTRA_FAN_SPEED _UxGT("Extra V ventil.") #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_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("Arret") +#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("Selectionner") -#define MSG_ACC _UxGT("Acceleration") +#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") @@ -204,14 +204,14 @@ #define MSG_VC_JERK _UxGT("Vz jerk") #endif #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_VMIN _UxGT("Vmin ") -#define MSG_VTRAV_MIN _UxGT("V depl. min") -#define MSG_ACCELERATION _UxGT("Acceleration") +#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 Depl.") +#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") @@ -228,65 +228,64 @@ #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("Temperature") +#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("Decharger mm") +#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 defauts") +#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("Preparer") -#define MSG_TUNE _UxGT("Regler") +#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("Arreter 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. Annulee") -#define MSG_NO_MOVE _UxGT("Moteurs bloques.") +#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("STOPPE.") +#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. Rapp. 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("Decharger fil.") -#define MSG_FILAMENTUNLOAD_ALL _UxGT("Decharger tout") +#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 ecart") +#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("Deployer 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("Decalage Z") +#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("Butee abandon") +#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.") @@ -296,22 +295,20 @@ #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. STOPPEE") -#define MSG_PLEASE_RESET _UxGT("RaZ. SVP") +#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 terminee") -#define MSG_BED_HEATING _UxGT("Lit en chauffe..") -#define MSG_BED_DONE _UxGT("Chauffe lit terminee") +#define MSG_BED_HEATING _UxGT("Lit en chauffe...") #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("Reglages Delta") +#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") @@ -320,10 +317,10 @@ #define MSG_INFO_MENU _UxGT("Infos imprimante") #define MSG_INFO_PRINTER_MENU _UxGT("Infos imprimante") -#define MSG_3POINT_LEVELING _UxGT("Niveau a 3 points") -#define MSG_LINEAR_LEVELING _UxGT("Niveau lineaire") -#define MSG_BILINEAR_LEVELING _UxGT("Niveau bilineaire") -#define MSG_UBL_LEVELING _UxGT("Niveau lit unifie") +#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") @@ -331,18 +328,18 @@ #define MSG_INFO_EXTRUDERS _UxGT("Extrudeurs") #define MSG_INFO_BAUDRATE _UxGT("Baud") #define MSG_INFO_PROTOCOL _UxGT("Protocole") -#define MSG_CASE_LIGHT _UxGT("Lumiere caisson") -#define MSG_CASE_LIGHT_BRIGHTNESS _UxGT("Luminosite") +#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("Terminees") + #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("Terminees") + #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") @@ -368,12 +365,12 @@ #if LCD_HEIGHT >= 4 // 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_3 _UxGT("changer") #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Attente de") - #define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("decharger filament") - #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserer filament") + #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...") @@ -381,7 +378,7 @@ #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_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") @@ -390,9 +387,9 @@ // 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("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_RESUME_1 _UxGT("Reprise...") #endif // LCD_HEIGHT < 4 -#endif // LANGUAGE_FR_H +#endif // LANGUAGE_FR_UTF_H diff --git a/Marlin/src/lcd/language/language_fr_utf8.h b/Marlin/src/lcd/language/language_fr_utf8.h deleted file mode 100644 index dbc4e24daf4c..000000000000 --- a/Marlin/src/lcd/language/language_fr_utf8.h +++ /dev/null @@ -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 . - * - */ - -/** - * 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 diff --git a/Marlin/src/lcd/language/language_gl.h b/Marlin/src/lcd/language/language_gl.h index 87ae72e7d8fa..960cc8cacea5 100644 --- a/Marlin/src/lcd/language/language_gl.h +++ b/Marlin/src/lcd/language/language_gl.h @@ -30,7 +30,6 @@ #ifndef LANGUAGE_GL_H #define LANGUAGE_GL_H -#define MAPPER_C2C3 #define DISPLAY_CHARSET_ISO10646_1 #define NOT_EXTENDED_ISO10646_1_5X7 @@ -45,6 +44,7 @@ #define MSG_AUTO_HOME_X _UxGT("Ir orixe X") #define MSG_AUTO_HOME_Y _UxGT("Ir orixe Y") #define MSG_AUTO_HOME_Z _UxGT("Ir orixe Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Calibrar Z") #define MSG_LEVEL_BED_HOMING _UxGT("Ir orixes XYZ") #define MSG_LEVEL_BED_WAITING _UxGT("Prema pulsador") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Seguinte punto") @@ -149,7 +149,6 @@ #define MSG_NO_CARD _UxGT("Sen tarxeta SD") #define MSG_DWELL _UxGT("En repouso...") #define MSG_USERWAIT _UxGT("A espera...") -#define MSG_RESUMING _UxGT("Imprimindo...") #define MSG_PRINT_ABORTED _UxGT("Impre. cancelada") #define MSG_NO_MOVE _UxGT("Sen movemento.") #define MSG_KILLED _UxGT("PROGRAMA MORTO") @@ -189,9 +188,7 @@ #define MSG_SHORT_HOUR _UxGT("h") // One character only #define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_HEATING _UxGT("Quentando...") -#define MSG_HEATING_COMPLETE _UxGT("Xa esta quente") -#define MSG_BED_HEATING _UxGT("Quentando cama") -#define MSG_BED_DONE _UxGT("Cama esta quente") +#define MSG_BED_HEATING _UxGT("Quentando cama...") #define MSG_DELTA_CALIBRATE _UxGT("Calibracion Delta") #define MSG_DELTA_CALIBRATE_X _UxGT("Calibrar X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Calibrar Y") @@ -255,4 +252,3 @@ #endif // LCD_HEIGHT < 4 #endif // LANGUAGE_GL_H - diff --git a/Marlin/src/lcd/language/language_hr.h b/Marlin/src/lcd/language/language_hr.h index 7395718beba3..efdeae8b5b8f 100644 --- a/Marlin/src/lcd/language/language_hr.h +++ b/Marlin/src/lcd/language/language_hr.h @@ -44,6 +44,7 @@ #define MSG_AUTO_HOME_X _UxGT("Home-aj X") #define MSG_AUTO_HOME_Y _UxGT("Home-aj Y") #define MSG_AUTO_HOME_Z _UxGT("Home-aj Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Kalibriraj Z") #define MSG_LEVEL_BED_HOMING _UxGT("Home-aj XYZ") #define MSG_LEVEL_BED_WAITING _UxGT("Klikni za početak") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Sljedeća točka") @@ -148,7 +149,6 @@ #define MSG_NO_CARD _UxGT("Nema SD kartice") #define MSG_DWELL _UxGT("Sleep...") #define MSG_USERWAIT _UxGT("Čekaj korisnika...") -#define MSG_RESUMING _UxGT("Nastavljam print") #define MSG_PRINT_ABORTED _UxGT("Print otkazan") #define MSG_NO_MOVE _UxGT("No move.") #define MSG_KILLED _UxGT("KILLED. ") @@ -188,9 +188,7 @@ #define MSG_SHORT_HOUR _UxGT("h") // One character only #define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_HEATING _UxGT("Grijanje...") -#define MSG_HEATING_COMPLETE _UxGT("Grijanje gotovo.") -#define MSG_BED_HEATING _UxGT("Grijanje Bed-a.") -#define MSG_BED_DONE _UxGT("Bed gotov.") +#define MSG_BED_HEATING _UxGT("Grijanje Bed-a...") #define MSG_DELTA_CALIBRATE _UxGT("Delta Kalibracija") #define MSG_DELTA_CALIBRATE_X _UxGT("Kalibriraj X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibriraj Y") diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index 9f1874c1be65..d19f8a20b511 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -30,7 +30,6 @@ #ifndef LANGUAGE_IT_H #define LANGUAGE_IT_H -#define MAPPER_C2C3 #define DISPLAY_CHARSET_ISO10646_1 #define WELCOME_MSG MACHINE_NAME _UxGT(" pronto.") @@ -47,6 +46,7 @@ #define MSG_AUTO_HOME_X _UxGT("Home asse X") #define MSG_AUTO_HOME_Y _UxGT("Home asse Y") #define MSG_AUTO_HOME_Z _UxGT("Home asse Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Calibra Z") #define MSG_LEVEL_BED_HOMING _UxGT("Home assi XYZ") #define MSG_LEVEL_BED_WAITING _UxGT("Premi per iniziare") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Punto successivo") @@ -56,13 +56,13 @@ #define MSG_HOME_OFFSETS_APPLIED _UxGT("Offset applicato") #define MSG_SET_ORIGIN _UxGT("Imposta Origine") #define MSG_PREHEAT_1 _UxGT("Preriscalda PLA") -#define MSG_PREHEAT_1_N _UxGT("Prerisc.PLA ") +#define MSG_PREHEAT_1_N _UxGT("Preris.PLA ") #define MSG_PREHEAT_1_ALL MSG_PREHEAT_1_N _UxGT("Tutto") #define MSG_PREHEAT_1_END MSG_PREHEAT_1_N _UxGT("Ugello") #define MSG_PREHEAT_1_BEDONLY MSG_PREHEAT_1_N _UxGT("Piatto") #define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1_N _UxGT("conf") #define MSG_PREHEAT_2 _UxGT("Preriscalda ABS") -#define MSG_PREHEAT_2_N _UxGT("Prerisc.ABS ") +#define MSG_PREHEAT_2_N _UxGT("Preris.ABS ") #define MSG_PREHEAT_2_ALL MSG_PREHEAT_2_N _UxGT("Tutto") #define MSG_PREHEAT_2_END MSG_PREHEAT_2_N _UxGT("Ugello") #define MSG_PREHEAT_2_BEDONLY MSG_PREHEAT_2_N _UxGT("Piatto") @@ -144,8 +144,7 @@ #define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL passo passo") #define MSG_LED_CONTROL _UxGT("Controllo LED") -#define MSG_LEDS_ON _UxGT("Luci On") -#define MSG_LEDS_OFF _UxGT("Luci Off") +#define MSG_LEDS _UxGT("Luci") #define MSG_LED_PRESETS _UxGT("Preset luci") #define MSG_SET_LEDS_RED _UxGT("Rosso") #define MSG_SET_LEDS_ORANGE _UxGT("Arancione") @@ -252,7 +251,6 @@ #define MSG_DWELL _UxGT("Sospensione...") #define MSG_USERWAIT _UxGT("Premi tasto..") #define MSG_PRINT_PAUSED _UxGT("Stampa sospesa") -#define MSG_RESUMING _UxGT("Riprendi Stampa") #define MSG_PRINT_ABORTED _UxGT("Stampa annullata") #define MSG_NO_MOVE _UxGT("Nessun Movimento") #define MSG_KILLED _UxGT("UCCISO. ") @@ -301,12 +299,10 @@ #define MSG_SHORT_HOUR _UxGT("h") // One character only #define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_HEATING _UxGT("Riscaldamento...") -#define MSG_HEATING_COMPLETE _UxGT("Risc. completato") #define MSG_COOLING _UxGT("Raffreddamento..") #define MSG_COOLING_COMPLETE _UxGT("Raff.completato.") #define MSG_BED_HEATING _UxGT("Risc. piatto...") #define MSG_BED_COOLING _UxGT("Raffr. piatto...") -#define MSG_BED_DONE _UxGT("Piatto pronto") #define MSG_DELTA_CALIBRATE _UxGT("Calibraz. Delta") #define MSG_DELTA_CALIBRATE_X _UxGT("Calibra X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Calibra Y") diff --git a/Marlin/src/lcd/language/language_kana_utf8.h b/Marlin/src/lcd/language/language_jp-kana.h similarity index 97% rename from Marlin/src/lcd/language/language_kana_utf8.h rename to Marlin/src/lcd/language/language_jp-kana.h index 448fe9595890..eedfa20cd6fc 100644 --- a/Marlin/src/lcd/language/language_kana_utf8.h +++ b/Marlin/src/lcd/language/language_jp-kana.h @@ -32,7 +32,6 @@ #ifndef LANGUAGE_KANA_UTF_H #define LANGUAGE_KANA_UTF_H -#define MAPPER_E382E383 #define DISPLAY_CHARSET_ISO10646_KANA #define CHARSIZE 3 @@ -53,6 +52,7 @@ #define MSG_AUTO_HOME_X _UxGT("Xジク ゲンテンフッキ") // "Home X" #define MSG_AUTO_HOME_Y _UxGT("Yジク ゲンテンフッキ") // "Home Y" #define MSG_AUTO_HOME_Z _UxGT("Zジク ゲンテンフッキ") // "Home Z" +#define MSG_TMC_Z_CALIBRATION _UxGT("Zジク コウセイ") #define MSG_LEVEL_BED_HOMING _UxGT("ゲンテンフッキチュウ") // "Homing XYZ" #define MSG_LEVEL_BED_WAITING _UxGT("レベリングカイシ") // "Click to Begin" #define MSG_LEVEL_BED_NEXT_POINT _UxGT("ツギノソクテイテンヘ") // "Next Point" @@ -144,7 +144,6 @@ #define MSG_NO_CARD _UxGT("SDカードガアリマセン") // "No SD card" #define MSG_DWELL _UxGT("キュウシ") // "Sleep..." #define MSG_USERWAIT _UxGT("シバラクオマチクダサイ") // "Wait for user..." -#define MSG_RESUMING _UxGT("プリントサイカイ") // "Resuming print" #define MSG_PRINT_ABORTED _UxGT("プリントガチュウシサレマシタ") // "Print aborted" #define MSG_NO_MOVE _UxGT("ウゴキマセン") // "No move." #define MSG_KILLED _UxGT("ヒジョウテイシ") // "KILLED. " @@ -184,9 +183,7 @@ #define MSG_SHORT_HOUR _UxGT("h") // One character only #define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_HEATING _UxGT("カネツチュウ") // "Heating..." -#define MSG_HEATING_COMPLETE _UxGT("カネツカンリョウ") // "Heating done." -#define MSG_BED_HEATING _UxGT("ベッド カネツチュウ") // "Bed Heating." -#define MSG_BED_DONE _UxGT("ベッド カネツカンリョウ") // "Bed done." +#define MSG_BED_HEATING _UxGT("ベッド カネツチュウ") // "Bed Heating..." #define MSG_DELTA_CALIBRATE _UxGT("デルタ コウセイ") // "Delta Calibration" #define MSG_DELTA_CALIBRATE_X _UxGT("Xジク コウセイ") // "Calibrate X" #define MSG_DELTA_CALIBRATE_Y _UxGT("Yジク コウセイ") // "Calibrate Y" diff --git a/Marlin/src/lcd/language/language_kana.h b/Marlin/src/lcd/language/language_kana.h deleted file mode 100644 index 0832a373294b..000000000000 --- a/Marlin/src/lcd/language/language_kana.h +++ /dev/null @@ -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 . - * - */ - -/** - * 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 diff --git a/Marlin/src/lcd/language/language_nl.h b/Marlin/src/lcd/language/language_nl.h index 42f32baac459..128bceaf41a2 100644 --- a/Marlin/src/lcd/language/language_nl.h +++ b/Marlin/src/lcd/language/language_nl.h @@ -47,6 +47,7 @@ #define MSG_AUTO_HOME_X _UxGT("Home X") #define MSG_AUTO_HOME_Y _UxGT("Home Y") #define MSG_AUTO_HOME_Z _UxGT("Home Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Kalibreer Z") #define MSG_LEVEL_BED_HOMING _UxGT("Homing XYZ") #define MSG_LEVEL_BED_WAITING _UxGT("Klik voor begin") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Volgende Plaats") @@ -156,7 +157,6 @@ #define MSG_NO_CARD _UxGT("Geen SD kaart") #define MSG_DWELL _UxGT("Slapen...") #define MSG_USERWAIT _UxGT("Wachten...") -#define MSG_RESUMING _UxGT("Print hervatten") #define MSG_PRINT_ABORTED _UxGT("Print afgebroken") #define MSG_NO_MOVE _UxGT("Geen beweging.") #define MSG_KILLED _UxGT("Afgebroken. ") @@ -196,9 +196,7 @@ #define MSG_SHORT_HOUR _UxGT("h") // One character only #define MSG_SHORT_MINUTE _UxGT("m") // One character only #define MSG_HEATING _UxGT("Voorwarmen...") -#define MSG_HEATING_COMPLETE _UxGT("Voorverw. kompl.") -#define MSG_BED_HEATING _UxGT("Bed voorverw.") -#define MSG_BED_DONE _UxGT("Bed is voorverw.") +#define MSG_BED_HEATING _UxGT("Bed voorverw...") #define MSG_DELTA_CALIBRATE _UxGT("Delta Calibratie") #define MSG_DELTA_CALIBRATE_X _UxGT("Kalibreer X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibreer Y") diff --git a/Marlin/src/lcd/language/language_pl-DOGM.h b/Marlin/src/lcd/language/language_pl-DOGM.h deleted file mode 100644 index b8ce0338ebbb..000000000000 --- a/Marlin/src/lcd/language/language_pl-DOGM.h +++ /dev/null @@ -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 . - * - */ - -/** - * 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 diff --git a/Marlin/src/lcd/language/language_pl-HD44780.h b/Marlin/src/lcd/language/language_pl-HD44780.h deleted file mode 100644 index 6e2a69edf0dd..000000000000 --- a/Marlin/src/lcd/language/language_pl-HD44780.h +++ /dev/null @@ -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 . - * - */ - -/** - * 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 diff --git a/Marlin/src/lcd/language/language_pl.h b/Marlin/src/lcd/language/language_pl.h index 3bc792714bed..6ac55ff47e7b 100644 --- a/Marlin/src/lcd/language/language_pl.h +++ b/Marlin/src/lcd/language/language_pl.h @@ -21,25 +21,236 @@ */ /** - * Polish - * - * LCD Menu Messages - * See also http://marlinfw.org/docs/development/lcd_language.html - * + * Polish for DOGM display - includes accented characters */ -#ifndef LANGUAGE_PL_H -#define LANGUAGE_PL_H -#define MAPPER_C3C4C5_PL +#ifndef LANGUAGE_PL_DOGM_H +#define LANGUAGE_PL_DOGM_H + #define DISPLAY_CHARSET_ISO10646_PL -/** - * One version with accented characters and one without - */ -#if ENABLED(DOGLCD) - #include "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_TMC_Z_CALIBRATION _UxGT("Kalibruj 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 - #include "language_pl-HD44780.h" + #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_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_BED_HEATING _UxGT("Rozgrzewanie stołu...") +#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_H +#endif // LANGUAGE_PL_DOGM_H diff --git a/Marlin/src/lcd/language/language_pt-br.h b/Marlin/src/lcd/language/language_pt-br.h index 86ea01e4d9e6..0d7ffe84c4a6 100644 --- a/Marlin/src/lcd/language/language_pt-br.h +++ b/Marlin/src/lcd/language/language_pt-br.h @@ -22,163 +22,364 @@ /** * Portuguese (Brazil) + * UTF-8 for Graphical Display * * LCD Menu Messages * See also http://marlinfw.org/docs/development/lcd_language.html * */ -#ifndef LANGUAGE_PT_BR_H -#define LANGUAGE_PT_BR_H - -#define DISPLAY_CHARSET_ISO10646_1 -#define NOT_EXTENDED_ISO10646_1_5X7 - -#define WELCOME_MSG MACHINE_NAME " pronto." -#define MSG_SD_INSERTED "Cartao inserido" -#define MSG_SD_REMOVED "Cartao removido" -#define MSG_MAIN "Menu principal" -#define MSG_AUTOSTART "Autostart" -#define MSG_DISABLE_STEPPERS "Desabi. motores" -#define MSG_AUTO_HOME "Ir para origen" -#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 "Ajustar Jogo" -#define MSG_HOME_OFFSETS_APPLIED "Offsets applied" -#define MSG_SET_ORIGIN "Ajustar orig." -#define MSG_PREHEAT_1 "Pre-aquecer PLA" -#define MSG_PREHEAT_1_N "Pre-aquecer PLA" -#define MSG_PREHEAT_1_ALL "Pre-aq.Todo PLA" -#define MSG_PREHEAT_1_BEDONLY "Pre-aq. PLA " LCD_STR_THERMOMETER "Base" -#define MSG_PREHEAT_1_SETTINGS "Ajustar PLA" -#define MSG_PREHEAT_2 "Pre-aquecer ABS" -#define MSG_PREHEAT_2_N "Pre-aquecer ABS" -#define MSG_PREHEAT_2_ALL "Pre-aq.Todo ABS" -#define MSG_PREHEAT_2_BEDONLY "Pre-aq. ABS " LCD_STR_THERMOMETER "Base" -#define MSG_PREHEAT_2_SETTINGS "Ajustar ABS" -#define MSG_COOLDOWN "Esfriar" -#define MSG_SWITCH_PS_ON "Ligar" -#define MSG_SWITCH_PS_OFF "Desligar" -#define MSG_EXTRUDE "Extrudar" -#define MSG_RETRACT "Retrair" -#define MSG_MOVE_AXIS "Mover eixo" -#define MSG_MOVE_X "Mover X" -#define MSG_MOVE_Y "Mover Y" -#define MSG_MOVE_Z "Mover Z" -#define MSG_MOVE_E "Mover Extrusor" -#define MSG_MOVE_01MM "Mover 0.1mm" -#define MSG_MOVE_1MM "Mover 1mm" -#define MSG_MOVE_10MM "Mover 10mm" -#define MSG_SPEED "Velocidade" -#define MSG_BED_Z "Base Z" -#define MSG_NOZZLE LCD_STR_THERMOMETER " Bocal" -#define MSG_BED LCD_STR_THERMOMETER " Base" -#define MSG_FAN_SPEED "Vel. Ventoinha" -#define MSG_FLOW "Fluxo" -#define MSG_CONTROL "Controle" -#define MSG_MIN LCD_STR_THERMOMETER " Min" -#define MSG_MAX LCD_STR_THERMOMETER " Max" -#define MSG_FACTOR LCD_STR_THERMOMETER " Fact" -#define MSG_AUTOTEMP "Temp. Automatica" -#define MSG_ON "Ligado " -#define MSG_OFF "Desligado" -#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 "Acc" -#define MSG_JERK "Jogo" -#if IS_KINEMATIC - #define MSG_VA_JERK "jogo VA" - #define MSG_VB_JERK "jogo VB" - #define MSG_VC_JERK "jogo VC" +#ifndef LANGUAGE_PT_BR_UTF_H +#define LANGUAGE_PT_BR_UTF_H + +// Put characters here that should be displayed with M117 +//_UxGT("áãàçÉéêíóõ") + +#define CHARSIZE 2 + +#define WELCOME_MSG MACHINE_NAME _UxGT(" pronto.") + +#define MSG_BACK _UxGT("Voltar") +#define MSG_SD_INSERTED _UxGT("Cartão inserido") +#define MSG_SD_REMOVED _UxGT("Cartão removido") +#define MSG_LCD_ENDSTOPS _UxGT("Finais") +#define MSG_MAIN _UxGT("Menu principal") +#define MSG_AUTOSTART _UxGT("Autostart") +#define MSG_DISABLE_STEPPERS _UxGT("Desabi. motores") +#define MSG_DEBUG_MENU _UxGT("Menu Debug") +#define MSG_PROGRESS_BAR_TEST _UxGT("Testar Barra de Prog")//resso +#define MSG_AUTO_HOME_X _UxGT("Ir na origem X") +#define MSG_AUTO_HOME_Y _UxGT("Ir na origem Y") +#define MSG_AUTO_HOME_Z _UxGT("Ir na origem Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Calibrar Z") +#define MSG_AUTO_HOME _UxGT("Ir na origem XYZ") +#define MSG_LEVEL_BED_HOMING _UxGT("Indo para origem") +#define MSG_LEVEL_BED_WAITING _UxGT("Clique para Iniciar") +#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Próximo Ponto") +#define MSG_LEVEL_BED_DONE _UxGT("Fim nivelação!") +#define MSG_Z_FADE_HEIGHT _UxGT("Suavizar altura") +#define MSG_SET_HOME_OFFSETS _UxGT("Compensar origem") +#define MSG_HOME_OFFSETS_APPLIED _UxGT("Alteração feita") +#define MSG_SET_ORIGIN _UxGT("Ajustar Origem") +#define MSG_PREHEAT_1 _UxGT("Pre-aquecer PLA") +#define MSG_PREHEAT_1_N MSG_PREHEAT_1 _UxGT(" ") +#define MSG_PREHEAT_1_ALL _UxGT("Pre-aq.Todo PLA") +#define MSG_PREHEAT_1_END _UxGT("Pre-aq.Extrusora") +#define MSG_PREHEAT_1_BEDONLY _UxGT("Pre-aq.Mesa PLA") +#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.Mesa ABS") +#define MSG_PREHEAT_2_END _UxGT("Pre-aq.Extrusora") +#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("Extrusar") +#define MSG_RETRACT _UxGT("Retrair") +#define MSG_MOVE_AXIS _UxGT("Mover eixo") +#define MSG_BED_LEVELING _UxGT("Nivelação Mesa") +#define MSG_LEVEL_BED _UxGT("Nivelar Mesa") +#define MSG_LEVEL_CORNERS _UxGT("Nivelar Cantos") +#define MSG_NEXT_CORNER _UxGT("Próximo Canto") +#define MSG_EDITING_STOPPED _UxGT("Fim da Edição") + +#define MSG_USER_MENU _UxGT("Comando customizado") +#define MSG_UBL_DOING_G29 _UxGT("Executando G29") +#define MSG_UBL_UNHOMED _UxGT("Fora da Origam") +#define MSG_UBL_TOOLS _UxGT("Ferramentas UBL") +#define MSG_UBL_LEVEL_BED _UxGT("Unified Bed Leveling") +#define MSG_UBL_MANUAL_MESH _UxGT("Fazer malha manual") +#define MSG_UBL_BC_INSERT _UxGT("Calçar e calibrar") +#define MSG_UBL_BC_INSERT2 _UxGT("Medir") +#define MSG_UBL_BC_REMOVE _UxGT("Remover e calibrar") + +#define MSG_UBL_MOVING_TO_NEXT _UxGT("Indo para o Próximo") +#define MSG_UBL_ACTIVATE_MESH _UxGT("Ativar UBL") +#define MSG_UBL_DEACTIVATE_MESH _UxGT("Desativar UBL") +#define MSG_UBL_SET_BED_TEMP _UxGT("Temp. Mesa") +#define MSG_UBL_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP +#define MSG_UBL_SET_HOTEND_TEMP _UxGT("Temp. Extrusora") +#define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP +#define MSG_UBL_MESH_EDIT _UxGT("Editar Malha") +#define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Editar Malha Custom") +#define MSG_UBL_FINE_TUNE_MESH _UxGT("Ajuste Fino da Malha") +#define MSG_UBL_DONE_EDITING_MESH _UxGT("Fim da Edição") +#define MSG_UBL_BUILD_CUSTOM_MESH _UxGT("Montar Customi") +#define MSG_UBL_BUILD_MESH_MENU _UxGT("Montar ") +#define MSG_UBL_BUILD_PLA_MESH _UxGT("Montar PLA") +#define MSG_UBL_BUILD_ABS_MESH _UxGT("Montar ABS") +#define MSG_UBL_BUILD_COLD_MESH _UxGT("Montar fria") +#define MSG_UBL_MESH_HEIGHT_ADJUST _UxGT("Ajustar Altura") +#define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Tamanho da Elevação") +#define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Validar Malha") +#define MSG_UBL_VALIDATE_PLA_MESH _UxGT("Checar PLA") +#define MSG_UBL_VALIDATE_ABS_MESH _UxGT("Checar ABS") +#define MSG_UBL_VALIDATE_CUSTOM_MESH _UxGT("Validar Malha Custom") +#define MSG_UBL_CONTINUE_MESH _UxGT("Continuar Malha") +#define MSG_UBL_MESH_LEVELING _UxGT("Nivelação da Malha") +#define MSG_UBL_3POINT_MESH_LEVELING _UxGT("Nivelação 3 pontos") +#define MSG_UBL_GRID_MESH_LEVELING _UxGT("Nivelação Grid") +#define MSG_UBL_MESH_LEVEL _UxGT("Nivelar Malha") +#define MSG_UBL_SIDE_POINTS _UxGT("Cantos") +#define MSG_UBL_MAP_TYPE _UxGT("Tipo de Mapa") +#define MSG_UBL_OUTPUT_MAP _UxGT("Salvar Mapa da Malha") +#define MSG_UBL_OUTPUT_MAP_HOST _UxGT("Enviar Para Host") +#define MSG_UBL_OUTPUT_MAP_CSV _UxGT("Salvar Malha CSV") +#define MSG_UBL_OUTPUT_MAP_BACKUP _UxGT("Salvar Backup") +#define MSG_UBL_INFO_UBL _UxGT("Informação do UBL") +#define MSG_UBL_EDIT_MESH_MENU _UxGT("Editar Malha") +#define MSG_UBL_FILLIN_AMOUNT _UxGT("Qtd de Enchimento") +#define MSG_UBL_MANUAL_FILLIN _UxGT("Enchimento Manual") +#define MSG_UBL_SMART_FILLIN _UxGT("Enchimento Smart") +#define MSG_UBL_FILLIN_MESH _UxGT("Preencher malha") +#define MSG_UBL_INVALIDATE_ALL _UxGT("Invalidar tudo") +#define MSG_UBL_INVALIDATE_CLOSEST _UxGT("Invalidar próximo") +#define MSG_UBL_FINE_TUNE_ALL _UxGT("Ajuste Fino de Todos") +#define MSG_UBL_FINE_TUNE_CLOSEST _UxGT("Ajuar Mais Próximo") +#define MSG_UBL_STORAGE_MESH_MENU _UxGT("Armazenamento Malha") +#define MSG_UBL_STORAGE_SLOT _UxGT("Slot de Memória") +#define MSG_UBL_LOAD_MESH _UxGT("Ler Malha") +#define MSG_UBL_SAVE_MESH _UxGT("Salvar Malha") +#define MSG_MESH_LOADED _UxGT("Malha %i carregada") +#define MSG_MESH_SAVED _UxGT("Malha %i salva") +#define MSG_NO_STORAGE _UxGT("Sem armazenamento") +#define MSG_UBL_SAVE_ERROR _UxGT("Erro ao salvar UBL") +#define MSG_UBL_RESTORE_ERROR _UxGT("Erro no restauro UBL") +#define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Compensação Z parou") +#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL passo a passo") +#define MSG_LED_CONTROL _UxGT("Controle do LED") +#define MSG_LEDS _UxGT("Luz") +#define MSG_LED_PRESETS _UxGT("Configuração da Luz") +#define MSG_SET_LEDS_RED _UxGT("Luz Vermelha") +#define MSG_SET_LEDS_ORANGE _UxGT("Luz Laranja") +#define MSG_SET_LEDS_YELLOW _UxGT("Luz Amarela") +#define MSG_SET_LEDS_GREEN _UxGT("Luz Verde") +#define MSG_SET_LEDS_BLUE _UxGT("Luz Azul") +#define MSG_SET_LEDS_INDIGO _UxGT("Luz Indigo") +#define MSG_SET_LEDS_VIOLET _UxGT("Luz Violeta") +#define MSG_SET_LEDS_WHITE _UxGT("Luz Branca") +#define MSG_SET_LEDS_DEFAULT _UxGT("Luz Padrão") +#define MSG_CUSTOM_LEDS _UxGT("Luz Customizada") +#define MSG_INTENSITY_R _UxGT("Intensidade Vermelho") +#define MSG_INTENSITY_G _UxGT("Intensidade Verde") +#define MSG_INTENSITY_B _UxGT("Intensidade Azul") +#define MSG_INTENSITY_W _UxGT("Intensidade Branco") +#define MSG_LED_BRIGHTNESS _UxGT("Brilho") + +#define MSG_MOVING _UxGT("Movendo...") +#define MSG_FREE_XY _UxGT("Liberar 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("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("Bocal") +#define MSG_BED _UxGT("Mesa") +#define MSG_FAN_SPEED _UxGT("Vel. Ventoinha") +#define MSG_FLOW _UxGT("Vazão") +#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(" Fator") +#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_SELECT _UxGT("Selecionar") +#define MSG_ACC _UxGT("Acel.") +#define MSG_JERK _UxGT("Jogo") +#if IS_SCARA + #define MSG_VA_JERK _UxGT("jogo VA") + #define MSG_VB_JERK _UxGT("jogo VB") + #define MSG_VC_JERK _UxGT("jogo VZ") +#elif IS_DELTA + #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 "jogo VX" - #define MSG_VB_JERK "jogo VY" - #define MSG_VC_JERK "jogo VZ" + #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 "jogo VE" -#define MSG_VMAX " Vmax " -#define MSG_VMIN "Vmin" -#define MSG_VTRAV_MIN "VTrav min" -#define MSG_AMAX "Amax " -#define MSG_A_RETRACT "Retrair A" -#define MSG_A_TRAVEL "A-movimento" -#define MSG_STEPS_PER_MM "Passo/mm" -#if IS_KINEMATIC - #define MSG_ASTEPS "A/mm" - #define MSG_BSTEPS "B/mm" - #define MSG_CSTEPS "C/mm" +#define MSG_VE_JERK _UxGT("jogo VE") +#define MSG_VELOCITY _UxGT("Velocidade") +#define MSG_VMAX _UxGT("Vmax ") +#define MSG_VMIN _UxGT("Vmin") +#define MSG_VTRAV_MIN _UxGT("VDeslocamento min") +#define MSG_AMAX _UxGT("Amax ") +#define MSG_A_RETRACT _UxGT("Retrair A") +#define MSG_A_TRAVEL _UxGT("Movimento A") +#define MSG_STEPS_PER_MM _UxGT("Passo/mm") +#if IS_SCARA + #define MSG_ASTEPS _UxGT("Passo A/deg") + #define MSG_BSTEPS _UxGT("Passo B/deg") + #define MSG_CSTEPS _UxGT("Passo Z/mm") +#elif IS_DELTA + #define MSG_ASTEPS _UxGT("Passo A/mm") + #define MSG_BSTEPS _UxGT("Passo B/mm") + #define MSG_CSTEPS _UxGT("Passo C/mm") #else - #define MSG_ASTEPS "X/mm" - #define MSG_BSTEPS "Y/mm" - #define MSG_CSTEPS "Z/mm" + #define MSG_ASTEPS _UxGT("Passo X/mm") + #define MSG_BSTEPS _UxGT("Passo Y/mm") + #define MSG_CSTEPS _UxGT("Passo 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("Extrusão em mm3") +#define MSG_FILAMENT_DIAM _UxGT("Diâmetro Fil.") +#define MSG_ADVANCE_K _UxGT("Avançar K") +#define MSG_CONTRAST _UxGT("Contraste") +#define MSG_STORE_EEPROM _UxGT("Salvar Configuração") +#define MSG_LOAD_EEPROM _UxGT("Ler Configuração") +#define MSG_RESTORE_FAILSAFE _UxGT("Restauro seguro") +#define MSG_INIT_EEPROM _UxGT("Iniciar EEPROM") +#define MSG_REFRESH LCD_STR_REFRESH _UxGT(" Atualização") +#define MSG_WATCH _UxGT("Informações") +#define MSG_PREPARE _UxGT("Preparar") +#define MSG_TUNE _UxGT("Ajustar") +#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("ZzZzZz...") +#define MSG_USERWAIT _UxGT("Clique para retomar") +#define MSG_PRINT_ABORTED _UxGT("Impressão Abortada") +#define MSG_NO_MOVE _UxGT("Sem movimento") +#define MSG_KILLED _UxGT("PARADA DE EMERGÊNCIA") +#define MSG_STOPPED _UxGT("PAROU. ") +#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("Saltar 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ática") +#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("Sonda fora da mesa") +#define MSG_SKEW_FACTOR _UxGT("Fator de Cisalho") +#define MSG_BLTOUCH _UxGT("BLTouch") +#define MSG_BLTOUCH_SELFTEST _UxGT("Testar BLTouch") +#define MSG_BLTOUCH_RESET _UxGT("Reiniciar BLTouch") +#define MSG_BLTOUCH_DEPLOY _UxGT("Implantar BLTouch") +#define MSG_BLTOUCH_STOW _UxGT("Condicionar BLTouch") + +#define MSG_HOME _UxGT("Home") +#define MSG_FIRST _UxGT("Primeiro") +#define MSG_ZPROBE_ZOFFSET _UxGT("Compensar Sonda em 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("Erro:Temp Redundante") +#define MSG_THERMAL_RUNAWAY _UxGT("ESCAPE TÉRMICO") +#define MSG_ERR_MAXTEMP _UxGT("Erro:Temp Máxima") +#define MSG_ERR_MINTEMP _UxGT("Erro:Temp Mínima") +#define MSG_ERR_MAXTEMP_BED _UxGT("Erro:Temp Mesa Máx") +#define MSG_ERR_MINTEMP_BED _UxGT("Erro:Temp Mesa Mín") +#define MSG_HEATING _UxGT("Aquecendo...") +#define MSG_BED_HEATING _UxGT("Aquecendo base...") +#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") + +#define MSG_DELTA_SETTINGS _UxGT("Configuração Delta") +#define MSG_DELTA_AUTO_CALIBRATE _UxGT("Auto-Calibração") +#define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Calibrar Altura") +#define MSG_DELTA_DIAG_ROD _UxGT("Haste Diagonal") +#define MSG_DELTA_HEIGHT _UxGT("Altura") +#define MSG_DELTA_RADIUS _UxGT("Raio") +#define MSG_INFO_MENU _UxGT("Sobre") +#define MSG_INFO_PRINTER_MENU _UxGT("Impressora") +#define MSG_3POINT_LEVELING _UxGT("Nivelamento 3 pontos") +#define MSG_LINEAR_LEVELING _UxGT("Nivelamento Linear") +#define MSG_BILINEAR_LEVELING _UxGT("Nivelamento Bilinear") +#define MSG_UBL_LEVELING _UxGT("Nivelamento UBL") +#define MSG_MESH_LEVELING _UxGT("Nivelamento da Malha") +#define MSG_INFO_STATS_MENU _UxGT("Estatísticas") +#define MSG_INFO_BOARD_MENU _UxGT("Info. da Placa") +#define MSG_INFO_THERMISTOR_MENU _UxGT("Thermistors") +#define MSG_INFO_EXTRUDERS _UxGT("Extrusoras") +#define MSG_INFO_BAUDRATE _UxGT("Frequência Baud") +#define MSG_INFO_PROTOCOL _UxGT("Protocolo") +#define MSG_CASE_LIGHT _UxGT("Luz da Estrutura") +#define MSG_CASE_LIGHT_BRIGHTNESS _UxGT("Intensidade Brilho") +#define MSG_INFO_PRINT_COUNT _UxGT("Qtd de Impressões") +#define MSG_INFO_COMPLETED_PRINTS _UxGT("Fim") +#define MSG_INFO_PRINT_TIME _UxGT("Tempo de Impressão") +#define MSG_INFO_PRINT_LONGEST _UxGT("Trabalho Mais longo") +#define MSG_INFO_PRINT_FILAMENT _UxGT("Total Depositado") +#define MSG_INFO_MIN_TEMP _UxGT("Temp Min") +#define MSG_INFO_MAX_TEMP _UxGT("Temp Max") +#define MSG_INFO_PSU _UxGT("PSU") +#define MSG_DRIVE_STRENGTH _UxGT("Força do Motor") +#define MSG_DAC_PERCENT _UxGT("Driver %") +#define MSG_DAC_EEPROM_WRITE _UxGT("Escrever Eeprom DAC") + +#define MSG_FILAMENT_CHANGE_HEADER _UxGT("Troca de Filamento") +#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("Config. de Retomada") +#define MSG_FILAMENT_CHANGE_OPTION_EXTRUDE _UxGT("Extrusar Mais") +#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Continuar Impressão") +#define MSG_FILAMENT_CHANGE_MINTEMP _UxGT("Temp. Mínima é ") +#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Bocal: ") +#define MSG_ERR_HOMING_FAILED _UxGT("Falha ao ir à origem") +#define MSG_ERR_PROBING_FAILED _UxGT("Falha ao sondar") + +#if LCD_HEIGHT >= 4 + #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Esperando o") + #define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("inicio da") + #define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("troca de Filamento") + + #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Esperando") + #define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("remoção de filamento") + + #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Coloque Filamento") + #define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("pressione o botão") + #define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("para continuar...") + + #define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Pressione o botão") + #define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("p/ Aquecer o Bocal") + + #define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Aquecendo o Bocal") + #define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("Aguarde...") + + #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Esperando") + #define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("filamento") + + #define MSG_FILAMENT_CHANGE_EXTRUDE_1 _UxGT("Esperando extrusão") + #define MSG_FILAMENT_CHANGE_EXTRUDE_2 _UxGT("de filamento") + + #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Esperando impressão") + #define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("continuar") +#else // LCD_HEIGHT < 4 + #define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Aguarde...") + #define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Ejetando...") + #define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insira e Clique") + #define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Aquecendo...") + #define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Carregando...") + #define MSG_FILAMENT_CHANGE_EXTRUDE_1 _UxGT("Extrusando...") + #define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Continuando...") #endif -#define MSG_ESTEPS "E/mm" -#define MSG_E1STEPS "E1/mm" -#define MSG_E2STEPS "E2/mm" -#define MSG_E3STEPS "E3/mm" -#define MSG_E4STEPS "E4/mm" -#define MSG_E5STEPS "E5/mm" -#define MSG_TEMPERATURE "Temperatura" -#define MSG_MOTION "Movimento" -#define MSG_FILAMENT "Filamento" -#define MSG_VOLUMETRIC_ENABLED "Extr. em mm3" -#define MSG_FILAMENT_DIAM "Diametro Fil." -#define MSG_CONTRAST "Contraste" -#define MSG_STORE_EEPROM "Salvar" -#define MSG_LOAD_EEPROM "Ler" -#define MSG_RESTORE_FAILSAFE "Rest. de emerg." -#define MSG_REFRESH LCD_STR_REFRESH " Restaurar" -#define MSG_WATCH "Monitorar" -#define MSG_PREPARE "Preparar" -#define MSG_TUNE "Afinar" -#define MSG_PAUSE_PRINT "Pausar impressao" -#define MSG_RESUME_PRINT "Resumir impressao" -#define MSG_STOP_PRINT "Parar impressao" -#define MSG_CARD_MENU "Imprimir do SD" -#define MSG_NO_CARD "Sem cartao SD" -#define MSG_DWELL "Repouso..." -#define MSG_USERWAIT "Esperando ordem" -#define MSG_RESUMING "Resumindo Impres." -#define MSG_PRINT_ABORTED "Impres. Abortada." -#define MSG_NO_MOVE "Sem movimento" -#define MSG_KILLED "PARADA DE EMERG." -#define MSG_STOPPED "PARADA. " -#define MSG_CONTROL_RETRACT "Retrair mm" -#define MSG_CONTROL_RETRACT_SWAP "Retrair Troca mm" -#define MSG_CONTROL_RETRACTF "Retrair V" -#define MSG_CONTROL_RETRACT_ZLIFT "Levantar mm" -#define MSG_CONTROL_RETRACT_RECOVER "Des Retrair mm" -#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Des RetTroca mm" -#define MSG_CONTROL_RETRACT_RECOVERF "Des Retrair V" -#define MSG_AUTORETRACT "Retracao Autom." -#define MSG_FILAMENTCHANGE "Trocar Filamento" -#define MSG_INIT_SDCARD "Iniciar SD" -#define MSG_CNG_SDCARD "Trocar SD" -#define MSG_ZPROBE_OUT "Son. fora da mesa" -#define MSG_HOME "Home" // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST "first" -#define MSG_ZPROBE_ZOFFSET "Deslocamento no Z" -#define MSG_BABYSTEP_X "Passinho X" -#define MSG_BABYSTEP_Y "Passinho Y" -#define MSG_BABYSTEP_Z "Passinho Z" -#define MSG_ENDSTOP_ABORT "Fim de Curso" -#define MSG_HEATING_FAILED_LCD "Aquecimento falhou" -#define MSG_ERR_REDUNDANT_TEMP "Err: REDUNDANT TEMP" -#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY" -#define MSG_ERR_MAXTEMP "Err: T Maxima" -#define MSG_ERR_MINTEMP "Err: T Minima" -#define MSG_ERR_MAXTEMP_BED "Err: T Base Maxima" -#define MSG_ERR_MINTEMP_BED "Err: T Base Minima" -#define MSG_HEATING "Aquecendo..." -#define MSG_HEATING_COMPLETE "Aquecida." -#define MSG_BED_HEATING "Aquecendo base.." -#define MSG_BED_DONE "Base aquecida." -#define MSG_DELTA_CALIBRATE "Calibrar Delta" -#define MSG_DELTA_CALIBRATE_X "Calibrar X" -#define MSG_DELTA_CALIBRATE_Y "Calibrar Y" -#define MSG_DELTA_CALIBRATE_Z "Calibrar Z" -#define MSG_DELTA_CALIBRATE_CENTER "Calibrar Centro" - -#endif // LANGUAGE_PT_BR_H + +#endif // LANGUAGE_PT_BR_UTF_H diff --git a/Marlin/src/lcd/language/language_pt-br_utf8.h b/Marlin/src/lcd/language/language_pt-br_utf8.h deleted file mode 100644 index 458500a3cebb..000000000000 --- a/Marlin/src/lcd/language/language_pt-br_utf8.h +++ /dev/null @@ -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 . - * - */ - -/** - * 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 diff --git a/Marlin/src/lcd/language/language_pt.h b/Marlin/src/lcd/language/language_pt.h index b14a290d14fa..a3e1256f6aec 100644 --- a/Marlin/src/lcd/language/language_pt.h +++ b/Marlin/src/lcd/language/language_pt.h @@ -22,169 +22,168 @@ /** * Portuguese + * UTF-8 for Graphical Display * * LCD Menu Messages * See also http://marlinfw.org/docs/development/lcd_language.html * */ -#ifndef LANGUAGE_PT_H -#define LANGUAGE_PT_H +#ifndef LANGUAGE_PT_UTF_H +#define LANGUAGE_PT_UTF_H #define DISPLAY_CHARSET_ISO10646_1 -#define NOT_EXTENDED_ISO10646_1_5X7 +#define CHARSIZE 2 -#define WELCOME_MSG MACHINE_NAME " pronta." -#define MSG_SD_INSERTED "Cartao inserido" -#define MSG_SD_REMOVED "Cartao removido" -#define MSG_MAIN "Menu principal" -#define MSG_AUTOSTART "Autostart" -#define MSG_DISABLE_STEPPERS "Desactivar motores" -#define MSG_AUTO_HOME "Ir para origem" -#define MSG_AUTO_HOME_X "Ir para origem X" -#define MSG_AUTO_HOME_Y "Ir para origem Y" -#define MSG_AUTO_HOME_Z "Ir para origem Z" -#define MSG_LEVEL_BED_HOMING "Indo para origem" -#define MSG_LEVEL_BED_WAITING "Click para iniciar" -#define MSG_LEVEL_BED_NEXT_POINT "Proximo ponto" -#define MSG_LEVEL_BED_DONE "Pronto !" -#define MSG_SET_HOME_OFFSETS "Definir desvio" -#define MSG_HOME_OFFSETS_APPLIED "Offsets applied" -#define MSG_SET_ORIGIN "Definir origem" -#define MSG_PREHEAT_1 "Pre-aquecer PLA" -#define MSG_PREHEAT_1_N "Pre-aquecer PLA" -#define MSG_PREHEAT_1_ALL "Pre-aq. PLA Tudo" -#define MSG_PREHEAT_1_BEDONLY "Pre-aq. PLA " LCD_STR_THERMOMETER "Base" -#define MSG_PREHEAT_1_SETTINGS "Definicoes PLA" -#define MSG_PREHEAT_2 "Pre-aquecer ABS" -#define MSG_PREHEAT_2_N "Pre-aquecer ABS " -#define MSG_PREHEAT_2_ALL "Pre-aq. ABS Tudo" -#define MSG_PREHEAT_2_BEDONLY "Pre-aq. ABS " LCD_STR_THERMOMETER "Base" -#define MSG_PREHEAT_2_SETTINGS "Definicoes ABS" -#define MSG_COOLDOWN "Arrefecer" -#define MSG_SWITCH_PS_ON "Ligar" -#define MSG_SWITCH_PS_OFF "Desligar" -#define MSG_EXTRUDE "Extrudir" -#define MSG_RETRACT "Retrair" -#define MSG_MOVE_AXIS "Mover eixo" -#define MSG_MOVE_X "Mover X" -#define MSG_MOVE_Y "Mover Y" -#define MSG_MOVE_Z "Mover Z" -#define MSG_MOVE_E "Mover Extrusor" -#define MSG_MOVE_01MM "Mover 0.1mm" -#define MSG_MOVE_1MM "Mover 1mm" -#define MSG_MOVE_10MM "Mover 10mm" -#define MSG_SPEED "Velocidade" -#define MSG_BED_Z "Base Z" -#define MSG_NOZZLE LCD_STR_THERMOMETER " Bico" -#define MSG_BED LCD_STR_THERMOMETER " Base" -#define MSG_FAN_SPEED "Vel. ventoinha" -#define MSG_FLOW "Fluxo" -#define MSG_CONTROL "Controlo" -#define MSG_MIN LCD_STR_THERMOMETER " Min" -#define MSG_MAX LCD_STR_THERMOMETER " Max" -#define MSG_FACTOR LCD_STR_THERMOMETER " Fact" -#define MSG_AUTOTEMP "Temp. Automatica" -#define MSG_ON "On " -#define MSG_OFF "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_ACC "Acc" -#define MSG_JERK "Jerk" +#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_TMC_Z_CALIBRATION _UxGT("Calibrar 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 "Va-jerk" - #define MSG_VB_JERK "Vb-jerk" - #define MSG_VC_JERK "Vc-jerk" + #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 "Vx-jerk" - #define MSG_VB_JERK "Vy-jerk" - #define MSG_VC_JERK "Vz-jerk" + #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 "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-retraccao" -#define MSG_A_TRAVEL "A-movimento" -#define MSG_STEPS_PER_MM "Passo/mm" +#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 "A passo/mm" - #define MSG_BSTEPS "B passo/mm" - #define MSG_CSTEPS "C passo/mm" + #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 "X passo/mm" - #define MSG_BSTEPS "Y passo/mm" - #define MSG_CSTEPS "Z passo/mm" + #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 "E passo/mm" -#define MSG_E1STEPS "E1 passo/mm" -#define MSG_E2STEPS "E2 passo/mm" -#define MSG_E3STEPS "E3 passo/mm" -#define MSG_E4STEPS "E4 passo/mm" -#define MSG_E5STEPS "E5 passo/mm" -#define MSG_TEMPERATURE "Temperatura" -#define MSG_MOTION "Movimento" -#define MSG_FILAMENT "Filamento" -#define MSG_VOLUMETRIC_ENABLED "E em mm3" -#define MSG_FILAMENT_DIAM "Fil. Diam." -#define MSG_CONTRAST "Contraste" -#define MSG_STORE_EEPROM "Guardar na memoria" -#define MSG_LOAD_EEPROM "Carregar da memoria" -#define MSG_RESTORE_FAILSAFE "Rest. de emergen." -#define MSG_REFRESH LCD_STR_REFRESH " Recarregar" -#define MSG_WATCH "Monitorizar" -#define MSG_PREPARE "Preparar" -#define MSG_TUNE "Afinar" -#define MSG_PAUSE_PRINT "Pausar impressao" -#define MSG_RESUME_PRINT "Retomar impressao" -#define MSG_STOP_PRINT "Parar impressao" -#define MSG_CARD_MENU "Imprimir do SD" -#define MSG_NO_CARD "Sem cartao SD" -#define MSG_DWELL "Em espera..." -#define MSG_USERWAIT "A espera de ordem" -#define MSG_RESUMING "Retomando impressao" -#define MSG_PRINT_ABORTED "Impressao cancelada" -#define MSG_NO_MOVE "Sem movimento" -#define MSG_KILLED "EMERGENCIA. " -#define MSG_STOPPED "PARADO. " -#define MSG_CONTROL_RETRACT " Retrair mm" -#define MSG_CONTROL_RETRACT_SWAP "Troca Retrair mm" -#define MSG_CONTROL_RETRACTF " Retrair V" -#define MSG_CONTROL_RETRACT_ZLIFT " Levantar mm" -#define MSG_CONTROL_RETRACT_RECOVER " DesRet mm" -#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Troca DesRet mm" -#define MSG_CONTROL_RETRACT_RECOVERF " DesRet V" -#define MSG_AUTORETRACT " AutoRetr." -#define MSG_FILAMENTCHANGE "Trocar filamento" -#define MSG_INIT_SDCARD "Inici. cartao SD" -#define MSG_CNG_SDCARD "Trocar cartao SD" -#define MSG_ZPROBE_OUT "Sensor fora/base" -#define MSG_HOME "Home" // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST -#define MSG_FIRST "first" -#define MSG_ZPROBE_ZOFFSET "Desvio Z" -#define MSG_BABYSTEP_X "Babystep X" -#define MSG_BABYSTEP_Y "Babystep Y" -#define MSG_BABYSTEP_Z "Babystep Z" -#define MSG_ENDSTOP_ABORT "Fim de curso" -#define MSG_HEATING_FAILED_LCD "Aquecimento falhou" -#define MSG_ERR_REDUNDANT_TEMP "Err: REDUNDANT TEMP" -#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY" -#define MSG_ERR_MAXTEMP "Err: T Maxima" -#define MSG_ERR_MINTEMP "Err: T Minima" -#define MSG_ERR_MAXTEMP_BED "Err: T Base Maxima" -#define MSG_ERR_MINTEMP_BED "Err: T Base Minima" -#define MSG_HEATING "Aquecendo..." -#define MSG_HEATING_COMPLETE "Aquecida." -#define MSG_BED_HEATING "Aquecendo base.." -#define MSG_BED_DONE "Base aquecida." -#define MSG_DELTA_CALIBRATE "Calibracao Delta" -#define MSG_DELTA_CALIBRATE_X "Calibrar X" -#define MSG_DELTA_CALIBRATE_Y "Calibrar Y" -#define MSG_DELTA_CALIBRATE_Z "Calibrar Z" -#define MSG_DELTA_CALIBRATE_CENTER "Calibrar Centro" +#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_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_BED_HEATING _UxGT("Aquecendo base...") +#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 "Fim de curso" +#define MSG_LCD_ENDSTOPS _UxGT("Fim de curso") -#endif // LANGUAGE_PT_H +#endif // LANGUAGE_PT_UTF_H diff --git a/Marlin/src/lcd/language/language_pt_utf8.h b/Marlin/src/lcd/language/language_pt_utf8.h deleted file mode 100644 index 5933bcba77ae..000000000000 --- a/Marlin/src/lcd/language/language_pt_utf8.h +++ /dev/null @@ -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 . - * - */ - -/** - * 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 diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h index cdb0380f5bea..1f419607bdc8 100644 --- a/Marlin/src/lcd/language/language_ru.h +++ b/Marlin/src/lcd/language/language_ru.h @@ -30,7 +30,6 @@ #ifndef LANGUAGE_RU_H #define LANGUAGE_RU_H -#define MAPPER_D0D1 // For Cyrillic #define DISPLAY_CHARSET_ISO10646_5 #define CHARSIZE 2 @@ -39,6 +38,7 @@ #define MSG_SD_INSERTED _UxGT("Карта вставлена") #define MSG_SD_REMOVED _UxGT("Карта извлечена") #define MSG_LCD_ENDSTOPS _UxGT("Эндстопы") // Max length 8 characters +#define MSG_LCD_SOFT_ENDSTOPS _UxGT("Прогр. эндстопы") #define MSG_MAIN _UxGT("Меню") #define MSG_AUTOSTART _UxGT("Автостарт") #define MSG_DISABLE_STEPPERS _UxGT("Выкл. двигатели") @@ -48,6 +48,7 @@ #define MSG_AUTO_HOME_X _UxGT("Парковка X") #define MSG_AUTO_HOME_Y _UxGT("Парковка Y") #define MSG_AUTO_HOME_Z _UxGT("Парковка Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Калибровать Z") #define MSG_LEVEL_BED_HOMING _UxGT("Нулевое положение") #define MSG_LEVEL_BED_WAITING _UxGT("Нажмите чтобы начать") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Следующая точка") @@ -144,8 +145,7 @@ #define MSG_UBL_STEP_BY_STEP_MENU _UxGT("Пошаговое UBL") #define MSG_LED_CONTROL _UxGT("Настройки LED") -#define MSG_LEDS_ON _UxGT("Включить подсветку") -#define MSG_LEDS_OFF _UxGT("Выключить подсветку") +#define MSG_LEDS _UxGT("Подсветку") #define MSG_LED_PRESETS _UxGT("Предустановки света") #define MSG_SET_LEDS_RED _UxGT("Красный свет") #define MSG_SET_LEDS_ORANGE _UxGT("Оранжевый свет") @@ -252,7 +252,6 @@ #define MSG_DWELL _UxGT("Сон...") #define MSG_USERWAIT _UxGT("Продолжить...") #define MSG_PRINT_PAUSED _UxGT("Печать на паузе") -#define MSG_RESUMING _UxGT("Возобновление...") #define MSG_PRINT_ABORTED _UxGT("Печать отменена") #define MSG_NO_MOVE _UxGT("Нет движения.") #define MSG_KILLED _UxGT("УБИТО. ") @@ -302,12 +301,10 @@ #define MSG_SHORT_HOUR _UxGT("ч") // One character only #define MSG_SHORT_MINUTE _UxGT("м") // One character only #define MSG_HEATING _UxGT("Нагрев...") -#define MSG_HEATING_COMPLETE _UxGT("Нагрев выполнен") #define MSG_COOLING _UxGT("Охлаждение...") #define MSG_COOLING_COMPLETE _UxGT("Охлаждение выполнено") -#define MSG_BED_HEATING _UxGT("Нагрев стола") -#define MSG_BED_COOLING _UxGT("Охлаждение стола") -#define MSG_BED_DONE _UxGT("Стол разогрет") +#define MSG_BED_HEATING _UxGT("Нагрев стола...") +#define MSG_BED_COOLING _UxGT("Охлаждение стола...") #define MSG_DELTA_CALIBRATE _UxGT("Калибровка Delta") #define MSG_DELTA_CALIBRATE_X _UxGT("Калибровать X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Калибровать Y") @@ -316,6 +313,7 @@ #define MSG_DELTA_SETTINGS _UxGT("Настройки Delta") #define MSG_DELTA_AUTO_CALIBRATE _UxGT("Авто калибровка") #define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Задать высоту Delta") +#define MSG_DELTA_Z_OFFSET_CALIBRATE _UxGT("Задать Z-смещение") #define MSG_DELTA_DIAG_ROD _UxGT("Диаг. стержень") #define MSG_DELTA_HEIGHT _UxGT("Высота") #define MSG_DELTA_RADIUS _UxGT("Радиус") diff --git a/Marlin/src/lcd/language/language_sk_utf8.h b/Marlin/src/lcd/language/language_sk.h similarity index 97% rename from Marlin/src/lcd/language/language_sk_utf8.h rename to Marlin/src/lcd/language/language_sk.h index e8c3f8c5edba..a7ff8a7bc47e 100644 --- a/Marlin/src/lcd/language/language_sk_utf8.h +++ b/Marlin/src/lcd/language/language_sk.h @@ -34,7 +34,12 @@ #ifndef LANGUAGE_SK_UTF_H #define LANGUAGE_SK_UTF_H -#define MAPPER_C3C4C5_SK +// Put characters here that should be displayed with M117 +//_UxGT("aäAÄaáAÁeéEÉiíIÍlĺLĹ") +//_UxGT("oóOÓoôOÔrŕRŔuúUÚyýYÝ") +//_UxGT("cčCČdďDĎlľLĽnňNŇsšSŠ") +//_UxGT("tťTŤzžZŽ") + #define DISPLAY_CHARSET_ISO10646_SK #define CHARSIZE 2 @@ -43,6 +48,7 @@ #define MSG_SD_INSERTED _UxGT("Karta vložená") #define MSG_SD_REMOVED _UxGT("Karta vybratá") #define MSG_LCD_ENDSTOPS _UxGT("Endstopy") // max 8 znakov +#define MSG_LCD_SOFT_ENDSTOPS _UxGT("Soft.endstopy") #define MSG_MAIN _UxGT("Hlavná ponuka") #define MSG_AUTOSTART _UxGT("Autoštart") #define MSG_DISABLE_STEPPERS _UxGT("Uvolniť motory") @@ -52,6 +58,7 @@ #define MSG_AUTO_HOME_X _UxGT("Domov os X") #define MSG_AUTO_HOME_Y _UxGT("Domov os Y") #define MSG_AUTO_HOME_Z _UxGT("Domov os Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Kalibrovať Z") #define MSG_LEVEL_BED_HOMING _UxGT("Meranie podložky") #define MSG_LEVEL_BED_WAITING _UxGT("Kliknutím spusťte") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Ďalší bod") @@ -148,8 +155,7 @@ #define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Postupne") #define MSG_LED_CONTROL _UxGT("Nastavenie LED") -#define MSG_LEDS_ON _UxGT("Zapnúť svetlo") -#define MSG_LEDS_OFF _UxGT("Vypnúť svetlo") +#define MSG_LEDS _UxGT("Svetlo") #define MSG_LED_PRESETS _UxGT("Prednastavené farby") #define MSG_SET_LEDS_RED _UxGT("Červená") #define MSG_SET_LEDS_ORANGE _UxGT("Oranžová") @@ -208,6 +214,7 @@ #define MSG_VC_JERK _UxGT("Vz-skok") #endif #define MSG_VE_JERK _UxGT("Ve-skok") +#define MSG_JUNCTION_DEVIATION _UxGT("Junction Dev") #define MSG_VELOCITY _UxGT("Rýchlosť") #define MSG_VMAX _UxGT("Vmax ") #define MSG_VMIN _UxGT("Vmin") @@ -255,9 +262,9 @@ #define MSG_CARD_MENU _UxGT("Tlačiť z SD") #define MSG_NO_CARD _UxGT("Žiadna SD karta") #define MSG_DWELL _UxGT("Spím...") -#define MSG_USERWAIT _UxGT("Čakám...") +#define MSG_USERWAIT _UxGT("Kliknutím pokrač.") #define MSG_PRINT_PAUSED _UxGT("Tlač pozastavená") -#define MSG_RESUMING _UxGT("Obnovovanie tlače") +#define MSG_PRINTING _UxGT("Tlačím...") #define MSG_PRINT_ABORTED _UxGT("Tlač zrušená") #define MSG_NO_MOVE _UxGT("Žiadny pohyb.") #define MSG_KILLED _UxGT("PRERUŠENÉ. ") @@ -308,12 +315,9 @@ #define MSG_SHORT_HOUR _UxGT("h") #define MSG_SHORT_MINUTE _UxGT("m") #define MSG_HEATING _UxGT("Ohrev...") -#define MSG_HEATING_COMPLETE _UxGT("Ohrev prebehol.") #define MSG_COOLING _UxGT("Ochladzovanie...") -#define MSG_COOLING_COMPLETE _UxGT("Ochladzovanie prebehlo.") -#define MSG_BED_HEATING _UxGT("Ohrev podl.") -#define MSG_BED_COOLING _UxGT("Ochladzovanie podl.") -#define MSG_BED_DONE _UxGT("Podložka hotová.") +#define MSG_BED_HEATING _UxGT("Ohrev podl...") +#define MSG_BED_COOLING _UxGT("Ochladzovanie podl...") #define MSG_DELTA_CALIBRATE _UxGT("Delta Kalibrácia") #define MSG_DELTA_CALIBRATE_X _UxGT("Kalibrovať X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibrovať Y") @@ -322,6 +326,7 @@ #define MSG_DELTA_SETTINGS _UxGT("Delta nastavenia") #define MSG_DELTA_AUTO_CALIBRATE _UxGT("Autokalibrácia") #define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Nast.výšku delty") +#define MSG_DELTA_Z_OFFSET_CALIBRATE _UxGT("Offset sondy Z") #define MSG_DELTA_DIAG_ROD _UxGT("Diag rameno") #define MSG_DELTA_HEIGHT _UxGT("Výška") #define MSG_DELTA_RADIUS _UxGT("Polomer") diff --git a/Marlin/src/lcd/language/language_test.h b/Marlin/src/lcd/language/language_test.h index 6bd6ca1693b4..32805f11a3fc 100644 --- a/Marlin/src/lcd/language/language_test.h +++ b/Marlin/src/lcd/language/language_test.h @@ -46,11 +46,6 @@ // Kanji (an other Japanese symbol set) uses far more than two codepages. So currently I don't see a chance to map the Unicodes. Its not // impossible to have a close to direct mapping but will need giant conversion tables and fonts (we don't want to have in a embedded system). -//#define MAPPER_C2C3 // For most European languages when language file is in utf8 -//#define MAPPER_D0D1 // For Cyrillic -//#define MAPPER_E382E383 // For Katakana -//#define MAPPER_NON // For direct ascii codes. Fall back mapper - if no other is defined. - // Select the better font for full graphic displays. //#define DISPLAY_CHARSET_ISO10646_1 diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h index c0a01aaeee53..7b15a57000de 100644 --- a/Marlin/src/lcd/language/language_tr.h +++ b/Marlin/src/lcd/language/language_tr.h @@ -30,14 +30,9 @@ #ifndef LANGUAGE_TR_H #define LANGUAGE_TR_H -#define MAPPER_C2C3_TR #define DISPLAY_CHARSET_ISO10646_TR #define CHARSIZE 2 -#if DISABLED(DOGLCD) - #error "Turkish needs a graphical display." -#endif - #define WELCOME_MSG MACHINE_NAME _UxGT(" hazır.") // hazır. #define MSG_SD_INSERTED _UxGT("SD Yerleşti.") // SD Yerleşti. #define MSG_SD_REMOVED _UxGT("SD Çıkarıldı.") // SD Çıkarıldı. @@ -52,6 +47,7 @@ #define MSG_AUTO_HOME_X _UxGT("X Sıfırla") // X Sıfırla #define MSG_AUTO_HOME_Y _UxGT("Y Sıfırla") // Y Sıfırla #define MSG_AUTO_HOME_Z _UxGT("Z Sıfırla") // Z Sıfırla +#define MSG_TMC_Z_CALIBRATION _UxGT("Ayarla Z") #define MSG_LEVEL_BED_HOMING _UxGT("XYZ Sıfırlanıyor") // XYZ Sıfırlanıyor #define MSG_LEVEL_BED_WAITING _UxGT("Başlatmak için tıkla") // Başlatmak için tıkla #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Sıradaki Nokta") // Sıradaki Nokta @@ -161,7 +157,6 @@ #define MSG_NO_CARD _UxGT("SD Kart Yok") // SD Kart Yok #define MSG_DWELL _UxGT("Uyku...") // Uyku... #define MSG_USERWAIT _UxGT("Operatör bekleniyor...") // Operatör bekleniyor... -#define MSG_RESUMING _UxGT("Baskı Sürdürülüyor") // Baskı Sürdürülüyor #define MSG_PRINT_ABORTED _UxGT("Baskı Durduruldu") // Baskı Durduruldu #define MSG_NO_MOVE _UxGT("İşlem yok.") // İşlem yok. #define MSG_KILLED _UxGT("Kilitlendi. ") // Kilitlendi. @@ -201,9 +196,7 @@ #define MSG_SHORT_HOUR _UxGT("S") // One character only // S #define MSG_SHORT_MINUTE _UxGT("D") // One character only // D #define MSG_HEATING _UxGT("Isınıyor...") // Isınıyor... -#define MSG_HEATING_COMPLETE _UxGT("Isınma tamam.") // Isınma tamam. -#define MSG_BED_HEATING _UxGT("Tabla Isınıyor.") // Tabla Isınıyor. -#define MSG_BED_DONE _UxGT("Tabla hazır.") // Tabla hazır. +#define MSG_BED_HEATING _UxGT("Tabla Isınıyor...") // Tabla Isınıyor... #define MSG_DELTA_CALIBRATE _UxGT("Delta Kalibrasyonu") // Delta Kalibrasyonu #define MSG_DELTA_CALIBRATE_X _UxGT("Ayarla X") // Ayarla X #define MSG_DELTA_CALIBRATE_Y _UxGT("Ayarla Y") // Ayarla Y diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h index ea316187fa76..384a90c669e1 100644 --- a/Marlin/src/lcd/language/language_uk.h +++ b/Marlin/src/lcd/language/language_uk.h @@ -30,7 +30,6 @@ #ifndef LANGUAGE_UK_H #define LANGUAGE_UK_H -#define MAPPER_D0D1 // For Cyrillic #define DISPLAY_CHARSET_ISO10646_5 #define CHARSIZE 2 @@ -45,6 +44,7 @@ #define MSG_AUTO_HOME_X _UxGT("Паркування X") #define MSG_AUTO_HOME_Y _UxGT("Паркування Y") #define MSG_AUTO_HOME_Z _UxGT("Паркування Z") +#define MSG_TMC_Z_CALIBRATION _UxGT("Калібрування Z") #define MSG_LEVEL_BED_HOMING _UxGT("Паркування XYZ") #define MSG_LEVEL_BED_WAITING _UxGT("Почати") #define MSG_LEVEL_BED_NEXT_POINT _UxGT("Слідуюча Точка") @@ -149,7 +149,6 @@ #define MSG_NO_CARD _UxGT("Відсутня SD карт.") #define MSG_DWELL _UxGT("Сплячка...") #define MSG_USERWAIT _UxGT("Очікування дій...") -#define MSG_RESUMING _UxGT("Відновлення друку") #define MSG_PRINT_ABORTED _UxGT("Друк скасовано") #define MSG_NO_MOVE _UxGT("Немає руху.") #define MSG_KILLED _UxGT("ПЕРЕРВАНО. ") @@ -176,9 +175,7 @@ #define MSG_SHORT_HOUR _UxGT("г") // One character only #define MSG_SHORT_MINUTE _UxGT("х") // One character only #define MSG_HEATING _UxGT("Нагрівання...") -#define MSG_HEATING_COMPLETE _UxGT("Нагріто.") -#define MSG_BED_HEATING _UxGT("Нагрівання столу.") -#define MSG_BED_DONE _UxGT("Стіл нагрітий.") +#define MSG_BED_HEATING _UxGT("Нагрівання столу...") #define MSG_DELTA_CALIBRATE _UxGT("Калібр. Delta") #define MSG_DELTA_CALIBRATE_X _UxGT("Калібрування X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Калібрування Y") diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h index 432bd75c0824..6cf63f6e1d90 100644 --- a/Marlin/src/lcd/language/language_zh_CN.h +++ b/Marlin/src/lcd/language/language_zh_CN.h @@ -30,6 +30,8 @@ #ifndef LANGUAGE_ZH_CN_H #define LANGUAGE_ZH_CN_H +//#define TALL_FONT_CORRECTION (1) + #define CHARSIZE 3 #define WELCOME_MSG MACHINE_NAME _UxGT("已就绪.") //" ready." @@ -46,6 +48,7 @@ #define MSG_AUTO_HOME_X _UxGT("回X原位") //"Home X" #define MSG_AUTO_HOME_Y _UxGT("回Y原位") //"Home Y" #define MSG_AUTO_HOME_Z _UxGT("回Z原位") //"Home Z" +#define MSG_TMC_Z_CALIBRATION _UxGT("⊿校准Z") #define MSG_LEVEL_BED_HOMING _UxGT("平台调平XYZ归原位") //"Homing XYZ" #define MSG_LEVEL_BED_WAITING _UxGT("单击开始热床调平") //"Click to Begin" #define MSG_LEVEL_BED_NEXT_POINT _UxGT("下个热床调平点") //"Next Point" @@ -141,8 +144,7 @@ #define MSG_UBL_STEP_BY_STEP_MENU _UxGT("一步步UBL") // "Step-By-Step UBL" #define MSG_LED_CONTROL _UxGT("灯管控制") // "LED Control") -#define MSG_LEDS_ON _UxGT("灯亮") // "Lights On") -#define MSG_LEDS_OFF _UxGT("灯灭") // "Lights Off") +#define MSG_LEDS _UxGT("灯") // "Lights") #define MSG_LED_PRESETS _UxGT("灯预置") // "Light Presets") #define MSG_SET_LEDS_RED _UxGT("红") // "Red") #define MSG_SET_LEDS_ORANGE _UxGT("橙") // "Orange") @@ -249,7 +251,6 @@ #define MSG_DWELL _UxGT("休眠中 ...") //"Sleep..." #define MSG_USERWAIT _UxGT("点击继续 ...") //"Click to resume..." #define MSG_PRINT_PAUSED _UxGT("暫停打印") // "Print paused" -#define MSG_RESUMING _UxGT("恢复打印中") //"Resuming print" #define MSG_PRINT_ABORTED _UxGT("已取消打印") //"Print aborted" #define MSG_NO_MOVE _UxGT("无移动") //"No move." #define MSG_KILLED _UxGT("已杀掉") //"KILLED. " @@ -297,9 +298,7 @@ #define MSG_SHORT_HOUR _UxGT("时") //"h" // One character only #define MSG_SHORT_MINUTE _UxGT("分") //"m" // One character only #define MSG_HEATING _UxGT("加热中 ...") //"Heating..." -#define MSG_HEATING_COMPLETE _UxGT("加热完成") //"Heating done." -#define MSG_BED_HEATING _UxGT("加热热床中") //"Bed Heating." -#define MSG_BED_DONE _UxGT("完成加热热床") //"Bed done." +#define MSG_BED_HEATING _UxGT("加热热床中 ...") //"Bed Heating..." #define MSG_DELTA_CALIBRATE _UxGT("⊿校准") //"Delta Calibration" #define MSG_DELTA_CALIBRATE_X _UxGT("⊿校准X") //"Calibrate X" #define MSG_DELTA_CALIBRATE_Y _UxGT("⊿校准Y") //"Calibrate Y" diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h index 39af29450e42..8455843773e2 100644 --- a/Marlin/src/lcd/language/language_zh_TW.h +++ b/Marlin/src/lcd/language/language_zh_TW.h @@ -30,6 +30,8 @@ #ifndef LANGUAGE_ZH_TW_H #define LANGUAGE_ZH_TW_H +//#define TALL_FONT_CORRECTION (1) + #define CHARSIZE 3 #define WELCOME_MSG MACHINE_NAME _UxGT("已就緒.") //" ready." @@ -46,6 +48,7 @@ #define MSG_AUTO_HOME_X _UxGT("回X原點") //"Home X" #define MSG_AUTO_HOME_Y _UxGT("回Y原點") //"Home Y" #define MSG_AUTO_HOME_Z _UxGT("回Z原點") //"Home Z" +#define MSG_TMC_Z_CALIBRATION _UxGT("⊿校準Z") #define MSG_LEVEL_BED_HOMING _UxGT("平台調平XYZ歸原點") //"Homing XYZ" #define MSG_LEVEL_BED_WAITING _UxGT("單擊開始熱床調平") //"Click to Begin" #define MSG_LEVEL_BED_NEXT_POINT _UxGT("下個熱床調平點") //"Next Point" @@ -141,8 +144,7 @@ #define MSG_UBL_STEP_BY_STEP_MENU _UxGT("一步步UBL") // "Step-By-Step UBL" #define MSG_LED_CONTROL _UxGT("灯管控制") // "LED Control") -#define MSG_LEDS_ON _UxGT("灯亮") // "Lights On") -#define MSG_LEDS_OFF _UxGT("灯灭") // "Lights Off") +#define MSG_LEDS _UxGT("灯") // "Lights") #define MSG_LED_PRESETS _UxGT("灯预置") // "Light Presets") #define MSG_SET_LEDS_RED _UxGT("红") // "Red") #define MSG_SET_LEDS_ORANGE _UxGT("橙") // "Orange") @@ -249,7 +251,6 @@ #define MSG_DWELL _UxGT("休眠 ...") //"Sleep..." #define MSG_USERWAIT _UxGT("點擊繼續 ...") //"Click to resume..." #define MSG_PRINT_PAUSED _UxGT("列印已暫停") // "Print paused" -#define MSG_RESUMING _UxGT("恢復列印中") //"Resuming print" #define MSG_PRINT_ABORTED _UxGT("已取消列印") //"Print aborted" #define MSG_NO_MOVE _UxGT("無移動") //"No move." #define MSG_KILLED _UxGT("已砍掉") //"KILLED. " @@ -297,9 +298,7 @@ #define MSG_SHORT_HOUR _UxGT("時") //"h" // One character only #define MSG_SHORT_MINUTE _UxGT("分") //"m" // One character only #define MSG_HEATING _UxGT("加熱中 ...") //"Heating..." -#define MSG_HEATING_COMPLETE _UxGT("加熱完成") //"Heating done." -#define MSG_BED_HEATING _UxGT("加熱熱床中") //"Bed Heating." -#define MSG_BED_DONE _UxGT("完成加熱熱床") //"Bed done." +#define MSG_BED_HEATING _UxGT("加熱熱床中 ...") //"Bed Heating..." #define MSG_DELTA_CALIBRATE _UxGT("⊿校準") //"Delta Calibration" #define MSG_DELTA_CALIBRATE_X _UxGT("⊿校準X") //"Calibrate X" #define MSG_DELTA_CALIBRATE_Y _UxGT("⊿校準Y") //"Calibrate Y" diff --git a/Marlin/src/lcd/lcdprint.h b/Marlin/src/lcd/lcdprint.h new file mode 100644 index 000000000000..c26640165285 --- /dev/null +++ b/Marlin/src/lcd/lcdprint.h @@ -0,0 +1,58 @@ +/** + * @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 START_OF_UTF8_CHAR(C) (((C) & 0xC0u) != 0x80u) + +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_P(const char * utf8_str_P, pixel_len_t max_length); + +void lcd_moveto(int col, int row); + +inline int lcd_put_u8str_P(const char *str) { return lcd_put_u8str_max_P(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 diff --git a/Marlin/src/lcd/lcdprint_hd44780.cpp b/Marlin/src/lcd/lcdprint_hd44780.cpp new file mode 100644 index 000000000000..03bc70fd3233 --- /dev/null +++ b/Marlin/src/lcd/lcdprint_hd44780.cpp @@ -0,0 +1,1044 @@ +/** + * @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 +#include "fontutils.h" +#include "lcdprint.h" + +#include "ultralcd_common_HD44780.h" +#ifndef LCD_CLASS + #include + #define LCD_CLASS LiquidCrystal +#endif +extern LCD_CLASS lcd; +LCD_CLASS *plcd = &lcd; + +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 + {IV('А'), 'A', 0}, // 0410 + {IV('Б'), 'b', 0}, // 0411 + {IV('В'), 'B', 0}, // 0412 + {IV('Г'), 'T', 0}, // 0413 + {IV('Д'), 'Q', 0}, // 0414 + {IV('Е'), 'E', 0}, // 0415 + {IV('Ж'), '*', 0}, // 0416 + {IV('З'), 'E', 0}, // 0417 + {IV('И'), 'N', 0}, // 0418 + {IV('Й'), 'N', 0}, // 0419 + {IV('К'), 'K', 0}, // 041A + {IV('Л'), 'T', 0}, // 041B + {IV('М'), 'M', 0}, // 041C + {IV('Н'), 'H', 0}, // 041D + {IV('О'), 'O', 0}, // 041E + {IV('П'), 'n', 0}, // 041F + {IV('Р'), 'P', 0}, // 0420 + {IV('С'), 'C', 0}, // 0421 + {IV('Т'), 'T', 0}, // 0422 + {IV('У'), 'Y', 0}, + {IV('Ф'), 'o', 0}, + {IV('Х'), 'X', 0}, + {IV('Ц'), 'U', 0}, + {IV('Ч'), 'y', 0}, + {IV('Ш'), 'W', 0}, + {IV('Щ'), 'W', 0}, + {IV('Ъ'), 'b', 0}, + {IV('Ы'), 'b', '|'}, + {IV('Ь'), 'b'}, + {IV('Э'), 'e'}, + {IV('Ю'), '|', 'O'}, + {IV('Я'), '9', '|'}, // 042F + + {IV('а'), 'a', 0}, // 0430 + {IV('б'), '6', 0}, // 0431 + {IV('в'), 'B', 0}, // 0432, + {IV('г'), 'r', 0}, // 0433 + {IV('д'), 'a', 0}, // 0434, + {IV('е'), 'e', 0}, // 0435 + {IV('ж'), '*', 0}, // 0436 + {IV('з'), 'e', 0}, // 0437, + {IV('и'), 'u', 0}, // 0438 + {IV('й'), 'u', 0}, // 0439, + {IV('к'), 'k', 0}, // 043A + {IV('л'), 'n', 0}, + {IV('м'), 'm', 0}, + {IV('н'), 'H', 0}, + {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}, + {IV('ч'), 'y', 0}, + {IV('ш'), 'w', 0}, + {IV('щ'), 'w', 0}, + {IV('ъ'), 'b', 0}, + {IV('ы'), 'b', '|'}, + {IV('ь'), 'b', 0}, + {IV('э'), 'e', 0}, + {IV('ю'), '|', 'o'}, + {IV('я'), 'g', 0}, // 044F + {IV('ё'), 'e', 0}, // 0451 + + {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) { + if (v1->uchar < v2->uchar) + return -1; + else if (v1->uchar > v2->uchar) + return 1; + 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) { + plcd->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 *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) { + plcd->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) { + hd44780_charmap_t localval; + // found + memcpy_P(&localval, copy_address, sizeof(localval)); + plcd->write(localval.idx); + if (max_length >= 2 && localval.idx2 > 0) { + plcd->write(localval.idx2); + return 2; + } + return 1; + } + + // Not found, print '?' instead + plcd->write((uint8_t)'?'); + return 1; +} + +/** +* @brief Draw a UTF-8 string +* +* @param utf8_str : the UTF-8 string +* @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, uint8_t (*cb_read_byte)(uint8_t * str), pixel_len_t max_length) { + pixel_len_t ret = 0; + uint8_t *p = (uint8_t *)utf8_str; + while (ret < max_length) { + wchar_t ch = 0; + p = get_utf8_value_cb(p, cb_read_byte, &ch); + if (!ch) break; + 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) { + return lcd_put_u8str_max_cb(utf8_str, read_byte_ram, max_length); +} + +int lcd_put_u8str_max_P(const char * utf8_str_P, pixel_len_t max_length) { + return lcd_put_u8str_max_cb(utf8_str_P, read_byte_rom, max_length); +} + +#endif // DOGLCD +#endif // ULTRA_LCD diff --git a/Marlin/src/lcd/lcdprint_u8g.cpp b/Marlin/src/lcd/lcdprint_u8g.cpp new file mode 100644 index 000000000000..39ac8acc3002 --- /dev/null +++ b/Marlin/src/lcd/lcdprint_u8g.cpp @@ -0,0 +1,65 @@ +/** + * @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" + +#if ENABLED(DOGLCD) + +#include +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()); +} + +void lcd_moveto(int col, int row) { + _lcd_setcursor(col, row); +} + +// return < 0 on error +// return the advanced pixels +int lcd_put_wchar_max(wchar_t c, pixel_len_t max_length) { + if (c < 256) { + _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); + 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); + pu8g->setPrintPos(x + ret, y); + return ret; +} + +int lcd_put_u8str_max_P(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); + pu8g->setPrintPos(x + ret, y); + return ret; +} + +#endif // DOGLCD diff --git a/Marlin/src/lcd/malyanlcd.cpp b/Marlin/src/lcd/malyanlcd.cpp index 2292abd1b1a2..d02a3302444c 100644 --- a/Marlin/src/lcd/malyanlcd.cpp +++ b/Marlin/src/lcd/malyanlcd.cpp @@ -45,8 +45,6 @@ #if ENABLED(MALYAN_LCD) -#include "../sd/cardreader.h" -#include "../sd/SdFatConfig.h" #include "../module/temperature.h" #include "../module/planner.h" #include "../module/stepper.h" @@ -60,6 +58,13 @@ #include "../Marlin.h" +#if ENABLED(SDSUPPORT) + #include "../sd/cardreader.h" + #include "../sd/SdFatConfig.h" +#else + #define LONG_FILENAME_LENGTH 0 +#endif + // On the Malyan M200, this will be Serial1. On a RAMPS board, // it might not be. #define LCD_SERIAL Serial1 @@ -72,10 +77,13 @@ // Track incoming command bytes from the LCD int inbound_count; +// For sending print completion messages +bool last_printing_status = false; + // Everything written needs the high bit set. void write_to_lcd_P(const char * const message) { char encoded_message[MAX_CURLY_COMMAND]; - uint8_t message_length = min(strlen_P(message), sizeof(encoded_message)); + uint8_t message_length = MIN(strlen_P(message), sizeof(encoded_message)); for (uint8_t i = 0; i < message_length; i++) encoded_message[i] = pgm_read_byte(&message[i]) | 0x80; @@ -85,7 +93,7 @@ void write_to_lcd_P(const char * const message) { void write_to_lcd(const char * const message) { char encoded_message[MAX_CURLY_COMMAND]; - const uint8_t message_length = min(strlen(message), sizeof(encoded_message)); + const uint8_t message_length = MIN(strlen(message), sizeof(encoded_message)); for (uint8_t i = 0; i < message_length; i++) encoded_message[i] = message[i] | 0x80; @@ -101,22 +109,23 @@ void write_to_lcd(const char * const message) { * {C:P050} * Set temp for bed to 50 * + * {C:S09} set feedrate to 90 %. + * {C:S12} set feedrate to 120 %. + * * the command portion begins after the : */ void process_lcd_c_command(const char* command) { switch (command[0]) { + case 'C': { + int raw_feedrate = atoi(command + 1); + feedrate_percentage = raw_feedrate * 10; + feedrate_percentage = constrain(feedrate_percentage, 10, 999); + } break; case 'T': { - // M104 S - char cmd[20]; - sprintf_P(cmd, PSTR("M104 S%s"), command + 1); - enqueue_and_echo_command_now(cmd, false); + thermalManager.setTargetHotend(atoi(command + 1), 0); } break; - case 'P': { - // M140 S - char cmd[20]; - sprintf_P(cmd, PSTR("M140 S%s"), command + 1); - enqueue_and_echo_command_now(cmd, false); + thermalManager.setTargetBed(atoi(command + 1)); } break; default: @@ -135,8 +144,6 @@ void process_lcd_c_command(const char* command) { void process_lcd_eb_command(const char* command) { char elapsed_buffer[10]; duration_t elapsed; - bool has_days; - uint8_t len; switch (command[0]) { case '0': { elapsed = print_job_timer.duration(); @@ -147,9 +154,17 @@ void process_lcd_eb_command(const char* command) { PSTR("{T0:%03.0f/%03i}{T1:000/000}{TP:%03.0f/%03i}{TQ:%03i}{TT:%s}"), thermalManager.degHotend(0), thermalManager.degTargetHotend(0), - thermalManager.degBed(), - thermalManager.degTargetBed(), - card.percentDone(), + #if HAS_HEATED_BED + thermalManager.degBed(), + thermalManager.degTargetBed(), + #else + 0, 0, + #endif + #if ENABLED(SDSUPPORT) + card.percentDone(), + #else + 0, + #endif elapsed_buffer); write_to_lcd(message_buffer); } break; @@ -178,8 +193,8 @@ void process_lcd_j_command(const char* command) { case 'E': // enable or disable steppers // switch to relative - enqueue_and_echo_command_now("G91"); - enqueue_and_echo_command_now(steppers_enabled ? "M18" : "M17"); + enqueue_and_echo_commands_now_P(PSTR("G91")); + enqueue_and_echo_commands_now_P(steppers_enabled ? PSTR("M18") : PSTR("M17")); steppers_enabled = !steppers_enabled; break; case 'A': @@ -226,51 +241,56 @@ void process_lcd_p_command(const char* command) { switch (command[0]) { case 'X': - // cancel print - write_to_lcd_P(PSTR("{SYS:CANCELING}")); - card.stopSDPrint( - #if SD_RESORT - true + #if ENABLED(SDSUPPORT) + // cancel print + write_to_lcd_P(PSTR("{SYS:CANCELING}")); + last_printing_status = false; + card.stopSDPrint( + #if SD_RESORT + true + #endif + ); + clear_command_queue(); + quickstop_stepper(); + print_job_timer.stop(); + thermalManager.disable_all_heaters(); + #if FAN_COUNT > 0 + for (uint8_t i = 0; i < FAN_COUNT; i++) fanSpeeds[i] = 0; #endif - ); - clear_command_queue(); - quickstop_stepper(); - print_job_timer.stop(); - thermalManager.disable_all_heaters(); - #if FAN_COUNT > 0 - for (uint8_t i = 0; i < FAN_COUNT; i++) fanSpeeds[i] = 0; + wait_for_heatup = false; + write_to_lcd_P(PSTR("{SYS:STARTED}")); #endif - wait_for_heatup = false; - write_to_lcd_P(PSTR("{SYS:STARTED}")); break; case 'H': // Home all axis - enqueue_and_echo_command_now("G28"); + enqueue_and_echo_commands_now_P(PSTR("G28")); break; default: { - // Print file 000 - a three digit number indicating which - // file to print in the SD card. If it's a directory, - // then switch to the directory. - - // Find the name of the file to print. - // It's needed to echo the PRINTFILE option. - // The {S:L} command should've ensured the SD card was mounted. - card.getfilename(atoi(command)); - - // There may be a difference in how V1 and V2 LCDs handle subdirectory - // prints. Investigate more. This matches the V1 motion controller actions - // but the V2 LCD switches to "print" mode on {SYS:DIR} response. - if (card.filenameIsDir) { - card.chdir(card.filename); - write_to_lcd_P(PSTR("{SYS:DIR}")); - } - else { - char message_buffer[MAX_CURLY_COMMAND]; - sprintf_P(message_buffer, PSTR("{PRINTFILE:%s}"), card.filename); - write_to_lcd(message_buffer); - write_to_lcd_P(PSTR("{SYS:BUILD}")); - card.openAndPrintFile(card.filename); - } + #if ENABLED(SDSUPPORT) + // Print file 000 - a three digit number indicating which + // file to print in the SD card. If it's a directory, + // then switch to the directory. + + // Find the name of the file to print. + // It's needed to echo the PRINTFILE option. + // The {S:L} command should've ensured the SD card was mounted. + card.getfilename(atoi(command)); + + // There may be a difference in how V1 and V2 LCDs handle subdirectory + // prints. Investigate more. This matches the V1 motion controller actions + // but the V2 LCD switches to "print" mode on {SYS:DIR} response. + if (card.filenameIsDir) { + card.chdir(card.filename); + write_to_lcd_P(PSTR("{SYS:DIR}")); + } + else { + char message_buffer[MAX_CURLY_COMMAND]; + sprintf_P(message_buffer, PSTR("{PRINTFILE:%s}"), card.longest_filename()); + write_to_lcd(message_buffer); + write_to_lcd_P(PSTR("{SYS:BUILD}")); + card.openAndPrintFile(card.filename); + } + #endif } break; // default } // switch } @@ -295,34 +315,40 @@ void process_lcd_s_command(const char* command) { char message_buffer[MAX_CURLY_COMMAND]; sprintf_P(message_buffer, PSTR("{T0:%03.0f/%03i}{T1:000/000}{TP:%03.0f/%03i}"), thermalManager.degHotend(0), thermalManager.degTargetHotend(0), - thermalManager.degBed(), thermalManager.degTargetBed() + #if HAS_HEATED_BED + thermalManager.degBed(), thermalManager.degTargetBed() + #else + 0, 0 + #endif ); write_to_lcd(message_buffer); } break; case 'H': // Home all axis - enqueue_and_echo_command("G28", false); + enqueue_and_echo_command("G28"); break; case 'L': { - if (!card.cardOK) card.initsd(); - - // A more efficient way to do this would be to - // implement a callback in the ls_SerialPrint code, but - // that requires changes to the core cardreader class that - // would not benefit the majority of users. Since one can't - // select a file for printing during a print, there's - // little reason not to do it this way. - char message_buffer[MAX_CURLY_COMMAND]; - uint16_t file_count = card.get_num_Files(); - for (uint16_t i = 0; i < file_count; i++) { - card.getfilename(i); - sprintf_P(message_buffer, card.filenameIsDir ? PSTR("{DIR:%s}") : PSTR("{FILE:%s}"), card.filename); - write_to_lcd(message_buffer); - } - - write_to_lcd_P(PSTR("{SYS:OK}")); + #if ENABLED(SDSUPPORT) + if (!card.cardOK) card.initsd(); + + // A more efficient way to do this would be to + // implement a callback in the ls_SerialPrint code, but + // that requires changes to the core cardreader class that + // would not benefit the majority of users. Since one can't + // select a file for printing during a print, there's + // little reason not to do it this way. + char message_buffer[MAX_CURLY_COMMAND]; + uint16_t file_count = card.get_num_Files(); + for (uint16_t i = 0; i < file_count; i++) { + card.getfilename(i); + sprintf_P(message_buffer, card.filenameIsDir ? PSTR("{DIR:%s}") : PSTR("{FILE:%s}"), card.longest_filename()); + write_to_lcd(message_buffer); + } + + write_to_lcd_P(PSTR("{SYS:OK}")); + #endif } break; default: @@ -374,7 +400,7 @@ void process_lcd_command(const char* command) { /** * UC means connected. * UD means disconnected - * The stock firmware considers USB initialied as "connected." + * The stock firmware considers USB initialized as "connected." */ void update_usb_status(const bool forceUpdate) { static bool last_usb_connected_status = false; @@ -382,7 +408,7 @@ void update_usb_status(const bool forceUpdate) { // appears to use the usb discovery status. // This is more logical. if (last_usb_connected_status != Serial || forceUpdate) { - last_usb_connected_status = Serial; + last_usb_connected_status = Serial; write_to_lcd_P(last_usb_connected_status ? PSTR("{R:UC}\r\n") : PSTR("{R:UD}\r\n")); } } @@ -411,15 +437,24 @@ void lcd_update() { } } - // If there's a print in progress, we need to emit the status as - // {TQ:} - if (card.sdprinting) { - // We also need to send: T:-2538.0 E:0 - // I have no idea what this means. - char message_buffer[10]; - sprintf_P(message_buffer, PSTR("{TQ:%03i}"), card.percentDone()); - write_to_lcd(message_buffer); - } + #if ENABLED(SDSUPPORT) + // The way last printing status works is simple: + // The UI needs to see at least one TQ which is not 100% + // and then when the print is complete, one which is. + static uint8_t last_percent_done = 100; + + // If there was a print in progress, we need to emit the final + // print status as {TQ:100}. Reset last percent done so a new print will + // issue a percent of 0. + const uint8_t percent_done = card.sdprinting ? card.percentDone() : last_printing_status ? 100 : 0; + if (percent_done != last_percent_done) { + char message_buffer[10]; + sprintf_P(message_buffer, PSTR("{TQ:%03i}"), percent_done); + write_to_lcd(message_buffer); + last_percent_done = percent_done; + last_printing_status = card.sdprinting; + } + #endif } /** diff --git a/Marlin/src/lcd/thermistornames.h b/Marlin/src/lcd/thermistornames.h index 24186f7deb2a..02f2bfe0a9f1 100644 --- a/Marlin/src/lcd/thermistornames.h +++ b/Marlin/src/lcd/thermistornames.h @@ -32,7 +32,9 @@ #undef THERMISTOR_NAME // Thermcouples -#if THERMISTOR_ID == -3 +#if THERMISTOR_ID == -4 + #define THERMISTOR_NAME "AD8495" +#elif THERMISTOR_ID == -3 #define THERMISTOR_NAME "MAX31855" #elif THERMISTOR_ID == -2 #define THERMISTOR_NAME "MAX6675" @@ -92,6 +94,8 @@ #define THERMISTOR_NAME "PT100 4K7" #elif THERMISTOR_ID == 110 #define THERMISTOR_NAME "PT100 1K" +#elif THERMISTOR_ID == 666 + #define THERMISTOR_NAME "Einstart S" // High Temperature thermistors #elif THERMISTOR_ID == 66 diff --git a/Marlin/src/lcd/u8g_fontutf8.cpp b/Marlin/src/lcd/u8g_fontutf8.cpp new file mode 100644 index 000000000000..b79d9906ebb3 --- /dev/null +++ b/Marlin/src/lcd/u8g_fontutf8.cpp @@ -0,0 +1,320 @@ +/** + * @file u8g_fontutf8.cpp + * @brief font api for u8g lib + * @author Yunhui Fu (yhfudev@gmail.com) + * @version 1.0 + * @date 2015-02-19 + * @copyright GPL/BSD + */ + +#include "../inc/MarlinConfigPre.h" + +#if ENABLED(DOGLCD) + +#include +#include "fontutils.h" +#include "u8g_fontutf8.h" + +//////////////////////////////////////////////////////////// +typedef void font_t; + +/** + * @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); + +//////////////////////////////////////////////////////////// +/* return v1 - v2 */ +static int fontinfo_compare(uxg_fontinfo_t * v1, uxg_fontinfo_t * 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_P(&localval, fntinfo + idx, sizeof(localval)); + return fontinfo_compare(&localval, (uxg_fontinfo_t*)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 = {(uint16_t)(val / 128), (uint8_t)(val % 128 + 128), (uint8_t)(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_P(&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 = (font_t*)fontgroup_find(group, val); + if (!fntpqm) { + // Unknown char, use default font + buf[0] = (uint8_t)(val & 0xFF); + fntpqm = fnt_default; + } + 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 + } + + 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, read_byte_cb_t cb_read_byte, void * userdata, fontgroup_cb_draw_t cb_draw_ram) { + uint8_t *p = (uint8_t*)utf8_msg; + for (;;) { + wchar_t val = 0; + p = get_utf8_value_cb(p, cb_read_byte, &val); + if (!val) break; + fontgroup_drawwchar(group, fnt_default, val, userdata, cb_draw_ram); + } +} + +//////////////////////////////////////////////////////////// +static bool flag_fontgroup_was_inited = false; +static font_group_t g_fontgroup_root = {NULL, 0}; + +/** + * @brief check if font is loaded + */ +static inline bool uxg_Utf8FontIsInited(void) { return flag_fontgroup_was_inited; } + +int uxg_SetUtf8Fonts (const uxg_fontinfo_t * fntinfo, int number) { + flag_fontgroup_was_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 = (_uxg_drawu8_data_t*)userdata; + + if (pdata->fnt_prev != fnt_current) { + u8g_SetFont(pdata->pu8g, (const u8g_fntpgm_uint8_t*)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)) + return 1; + pdata->adv += u8g_DrawStr(pdata->pu8g, pdata->x + pdata->adv, pdata->y, (char*) msg); + 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, (const u8g_pgm_uint8_t *)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, (const u8g_fntpgm_uint8_t*)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, (const u8g_pgm_uint8_t *)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, read_byte_ram, (void*)&data, fontgroup_cb_draw_u8g); + u8g_SetFont(pu8g, (const u8g_fntpgm_uint8_t*)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()) { + u8g_DrawStrP(pu8g, x, y, (const u8g_pgm_uint8_t *)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, read_byte_rom, (void*)&data, fontgroup_cb_draw_u8g); + u8g_SetFont(pu8g, (const u8g_fntpgm_uint8_t*)fnt_default); + + 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 = (_uxg_drawu8_data_t*)userdata; + + if (pdata->fnt_prev != fnt_current) { + u8g_SetFont(pdata->pu8g, (const u8g_fntpgm_uint8_t*)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()) return -1; + + memset(&data, 0, sizeof(data)); + data.pu8g = pu8g; + data.adv = 0; + fontgroup_drawstring(group, fnt_default, utf8_msg, read_byte_ram, (void*)&data, fontgroup_cb_draw_u8gstrlen); + u8g_SetFont(pu8g, (const u8g_fntpgm_uint8_t*)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()) return -1; + + memset(&data, 0, sizeof(data)); + data.pu8g = pu8g; + data.adv = 0; + fontgroup_drawstring(group, fnt_default, utf8_msg, read_byte_rom, (void*)&data, fontgroup_cb_draw_u8gstrlen); + u8g_SetFont(pu8g, (const u8g_fntpgm_uint8_t*)fnt_default); + return data.adv; +} + +#endif // DOGLCD diff --git a/Marlin/src/lcd/u8g_fontutf8.h b/Marlin/src/lcd/u8g_fontutf8.h new file mode 100644 index 000000000000..80522784c057 --- /dev/null +++ b/Marlin/src/lcd/u8g_fontutf8.h @@ -0,0 +1,40 @@ +/** + * @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 +#include "fontutils.h" + +// 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; + +int uxg_SetUtf8Fonts (const uxg_fontinfo_t * fntinfo, int number); // fntinfo is type of PROGMEM + +unsigned int uxg_DrawWchar (u8g_t *pu8g, unsigned int x, unsigned int y, wchar_t ch, pixel_len_t max_length); + +unsigned int uxg_DrawUtf8Str (u8g_t *pu8g, unsigned int x, unsigned int y, const char *utf8_msg, pixel_len_t max_length); +unsigned int uxg_DrawUtf8StrP (u8g_t *pu8g, unsigned int x, unsigned int y, const char *utf8_msg, pixel_len_t max_length); + +int uxg_GetUtf8StrPixelWidth(u8g_t *pu8g, const char *utf8_msg); +int uxg_GetUtf8StrPixelWidthP(u8g_t *pu8g, const char *utf8_msg); + +#define uxg_GetFont(puxg) ((puxg)->font) + +#endif // _UXG_FONTUTF8_H diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index 69c014280c9d..64610e044bea 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -24,6 +24,8 @@ #if ENABLED(ULTRA_LCD) +#include + #include "ultralcd.h" #include "../sd/cardreader.h" @@ -43,6 +45,10 @@ #include "../feature/pause.h" #endif +#if ENABLED(POWER_LOSS_RECOVERY) + #include "../feature/power_loss_recovery.h" +#endif + #if ENABLED(PRINTCOUNTER) && ENABLED(LCD_INFO_MENU) #include "../libs/duration_t.h" #endif @@ -68,43 +74,26 @@ #include "../libs/buzzer.h" #endif -#if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION) - bool lcd_external_control; // = false -#endif - -// Initialized by settings.load() -int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2]; - -#if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT) - millis_t previous_lcd_status_ms = 0; -#endif - -#if ENABLED(BABYSTEPPING) - long babysteps_done = 0; - #if ENABLED(BABYSTEP_ZPROBE_OFFSET) - static void lcd_babystep_zoffset(); - #else - static void lcd_babystep_z(); - #endif -#endif - -uint8_t lcd_status_update_delay = 1, // First update one loop delayed - lcd_status_message_level; // Higher level blocks lower level - #if ENABLED(STATUS_MESSAGE_SCROLLING) #if LONG_FILENAME_LENGTH > CHARSIZE * 2 * (LCD_WIDTH) #define MAX_MESSAGE_LENGTH LONG_FILENAME_LENGTH #else #define MAX_MESSAGE_LENGTH CHARSIZE * 2 * (LCD_WIDTH) #endif - uint8_t status_scroll_pos = 0; + uint8_t status_scroll_offset = 0; #else #define MAX_MESSAGE_LENGTH CHARSIZE * (LCD_WIDTH) #endif char lcd_status_message[MAX_MESSAGE_LENGTH + 1]; +uint8_t lcd_status_update_delay = 1, // First update one loop delayed + lcd_status_message_level; // Higher level blocks lower level -#if ENABLED(SCROLL_LONG_FILENAMES) +#if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT) + millis_t previous_lcd_status_ms = 0; +#endif + +#if ENABLED(ULTIPANEL) && ENABLED(SCROLL_LONG_FILENAMES) uint8_t filename_scroll_pos, filename_scroll_max, filename_scroll_hash; #endif @@ -114,12 +103,22 @@ char lcd_status_message[MAX_MESSAGE_LENGTH + 1]; #if ENABLED(DOGLCD) #include "ultralcd_impl_DOGM.h" - #include + bool drawing_screen, first_page; // = false #else #include "ultralcd_impl_HD44780.h" + constexpr bool first_page = true; #endif +// The main status screen +void lcd_status_screen(); + +millis_t next_lcd_update_ms; + +uint8_t lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; // Set when the LCD needs to draw, decrements after every draw. Set to 2 in LCD routines so the LCD gets at least 1 full redraw (first redraw is partial) +uint16_t max_display_update_time = 0; + #if ENABLED(ULTIPANEL) + #define DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(_type, _name, _strFunc) \ inline void lcd_implementation_drawmenu_setting_edit_ ## _name (const bool sel, const uint8_t row, const char* pstr, const char* pstr2, _type * const data, ...) { \ UNUSED(pstr2); \ @@ -137,39 +136,16 @@ char lcd_status_message[MAX_MESSAGE_LENGTH + 1]; DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(int16_t, int3, itostr3); DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(uint8_t, int8, i8tostr3); DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float3, ftostr3); - DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float32, ftostr32); + DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float52, ftostr52); DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float43, ftostr43sign); DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float5, ftostr5rj); DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float51, ftostr51sign); - DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float52, ftostr52sign); + DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float52sign, ftostr52sign); DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float62, ftostr62rj); DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(uint32_t, long5, ftostr5rj); #define lcd_implementation_drawmenu_setting_edit_bool(sel, row, pstr, pstr2, data) DRAW_BOOL_SETTING(sel, row, pstr, data) #define lcd_implementation_drawmenu_setting_edit_callback_bool(sel, row, pstr, pstr2, data, callback) DRAW_BOOL_SETTING(sel, row, pstr, data) #define lcd_implementation_drawmenu_setting_edit_accessor_bool(sel, row, pstr, pstr2, pget, pset) DRAW_BOOL_SETTING(sel, row, pstr, data) -#endif // ULTIPANEL - -// The main status screen -void lcd_status_screen(); - -millis_t next_lcd_update_ms; - -uint8_t lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; // Set when the LCD needs to draw, decrements after every draw. Set to 2 in LCD routines so the LCD gets at least 1 full redraw (first redraw is partial) -uint16_t max_display_update_time = 0; - -#if ENABLED(DOGLCD) - bool drawing_screen, // = false - first_page; -#else - constexpr bool first_page = true; -#endif - -#if ENABLED(DAC_STEPPER_CURRENT) - #include "../feature/dac/stepper_dac.h" //was dac_mcp4728.h MarlinMain uses stepper dac for the m-codes - uint8_t driverPercent[XYZE]; -#endif - -#if ENABLED(ULTIPANEL) #ifndef TALL_FONT_CORRECTION #define TALL_FONT_CORRECTION 0 @@ -178,6 +154,27 @@ uint16_t max_display_update_time = 0; bool no_reentry = false; constexpr int8_t menu_bottom = LCD_HEIGHT - (TALL_FONT_CORRECTION); + // Initialized by settings.load() + int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2]; + + #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION) + bool lcd_external_control; // = false + #endif + + #if ENABLED(BABYSTEPPING) + long babysteps_done = 0; + #if ENABLED(BABYSTEP_ZPROBE_OFFSET) + static void lcd_babystep_zoffset(); + #else + static void lcd_babystep_z(); + #endif + #endif + + #if ENABLED(DAC_STEPPER_CURRENT) + #include "../feature/dac/stepper_dac.h" //was dac_mcp4728.h MarlinMain uses stepper dac for the m-codes + uint8_t driverPercent[XYZE]; + #endif + //////////////////////////////////////////// ///////////////// Menu Tree //////////////// //////////////////////////////////////////// @@ -261,17 +258,17 @@ uint16_t max_display_update_time = 0; void menu_edit_callback_ ## _name(); \ void _menu_action_setting_edit_ ## _name(const char * const pstr, _type* const ptr, const _type minValue, const _type maxValue); \ void menu_action_setting_edit_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue); \ - void menu_action_setting_edit_callback_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue, const screenFunc_t callback, const bool live=false); \ + void menu_action_setting_edit_callback_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue, const screenFunc_t callback=NULL, const bool live=false); \ typedef void _name##_void DECLARE_MENU_EDIT_TYPE(int16_t, int3); DECLARE_MENU_EDIT_TYPE(uint8_t, int8); DECLARE_MENU_EDIT_TYPE(float, float3); - DECLARE_MENU_EDIT_TYPE(float, float32); + DECLARE_MENU_EDIT_TYPE(float, float52); DECLARE_MENU_EDIT_TYPE(float, float43); DECLARE_MENU_EDIT_TYPE(float, float5); DECLARE_MENU_EDIT_TYPE(float, float51); - DECLARE_MENU_EDIT_TYPE(float, float52); + DECLARE_MENU_EDIT_TYPE(float, float52sign); DECLARE_MENU_EDIT_TYPE(float, float62); DECLARE_MENU_EDIT_TYPE(uint32_t, long5); @@ -280,8 +277,8 @@ uint16_t max_display_update_time = 0; #if ENABLED(SDSUPPORT) void lcd_sdcard_menu(); - void menu_action_sdfile(const char* filename, char* longFilename); - void menu_action_sddirectory(const char* filename, char* longFilename); + void menu_action_sdfile(CardReader &theCard); + void menu_action_sddirectory(CardReader &theCard); #endif //////////////////////////////////////////// @@ -482,7 +479,7 @@ uint16_t max_display_update_time = 0; #if IS_KINEMATIC bool processing_manual_move = false; - float manual_move_offset = 0.0; + float manual_move_offset = 0; #else constexpr bool processing_manual_move = false; #endif @@ -507,6 +504,11 @@ uint16_t max_display_update_time = 0; void lcd_goto_screen(screenFunc_t screen, const uint32_t encoder/*=0*/) { if (currentScreen != screen) { + #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) + // Shadow for editing the fade height + new_z_fade_height = planner.z_fade_height; + #endif + #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING) && ENABLED(BABYSTEPPING) static millis_t doubleclick_expire_ms = 0; // Going to lcd_main_menu from status screen? Remember first click time. @@ -515,7 +517,7 @@ uint16_t max_display_update_time = 0; if (currentScreen == lcd_status_screen) doubleclick_expire_ms = millis() + DOUBLECLICK_MAX_INTERVAL; } - else if (screen == lcd_status_screen && currentScreen == lcd_main_menu && PENDING(millis(), doubleclick_expire_ms)) + else if (screen == lcd_status_screen && currentScreen == lcd_main_menu && PENDING(millis(), doubleclick_expire_ms) && (planner.movesplanned() || IS_SD_PRINTING)) screen = #if ENABLED(BABYSTEP_ZPROBE_OFFSET) lcd_babystep_zoffset @@ -573,7 +575,7 @@ uint16_t max_display_update_time = 0; no_reentry = true; const screenFunc_t old_screen = currentScreen; lcd_goto_screen(_lcd_synchronize); - stepper.synchronize(); // idle() is called until moves complete + planner.synchronize(); // idle() is called until moves complete no_reentry = false; lcd_goto_screen(old_screen); } @@ -632,7 +634,7 @@ uint16_t max_display_update_time = 0; screen_changed = false; } if (screen_items > 0 && encoderLine >= screen_items - limit) { - encoderLine = max(0, screen_items - limit); + encoderLine = MAX(0, screen_items - limit); encoderPosition = encoderLine * (ENCODER_STEPS_PER_MENU_ITEM); } if (is_menu) { @@ -754,7 +756,27 @@ void lcd_status_screen() { lcd_implementation_status_screen(); } -void lcd_reset_status() { lcd_setstatusPGM(PSTR(""), -1); } +/** + * Reset the status message + */ +void lcd_reset_status() { + static const char paused[] PROGMEM = MSG_PRINT_PAUSED; + static const char printing[] PROGMEM = MSG_PRINTING; + static const char welcome[] PROGMEM = WELCOME_MSG; + const char *msg; + if (print_job_timer.isPaused()) + msg = paused; + #if ENABLED(SDSUPPORT) + else if (card.sdprinting) + return lcd_setstatus(card.longest_filename(), true); + #endif + else if (print_job_timer.isRunning()) + msg = printing; + else + msg = welcome; + + lcd_setstatusPGM(msg, -1); +} /** * @@ -767,36 +789,44 @@ void kill_screen(const char* lcd_msg) { lcd_kill_screen(); } -#if ENABLED(ULTIPANEL) +/** + * + * Audio feedback for controller clicks + * + */ +void lcd_buzz(const long duration, const uint16_t freq) { + #if ENABLED(LCD_USE_I2C_BUZZER) + lcd.buzz(duration, freq); + #elif PIN_EXISTS(BEEPER) + buzzer.tone(duration, freq); + #else + UNUSED(duration); UNUSED(freq); + #endif +} - /** - * - * Audio feedback for controller clicks - * - */ - void lcd_buzz(const long duration, const uint16_t freq) { - #if ENABLED(LCD_USE_I2C_BUZZER) - lcd.buzz(duration, freq); - #elif PIN_EXISTS(BEEPER) - buzzer.tone(duration, freq); - #else - UNUSED(duration); UNUSED(freq); - #endif - } +void lcd_quick_feedback(const bool clear_buttons) { - void lcd_quick_feedback(const bool clear_buttons) { - lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; + #if ENABLED(ULTIPANEL) + lcd_refresh(); if (clear_buttons) buttons = 0; next_button_update_ms = millis() + 500; + #else + UNUSED(clear_buttons); + #endif + + // Buzz and wait. The delay is needed for buttons to settle! + lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ); - // Buzz and wait. The delay is needed for buttons to settle! - lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ); + #if ENABLED(ULTIPANEL) #if ENABLED(LCD_USE_I2C_BUZZER) delay(10); #elif PIN_EXISTS(BEEPER) for (int8_t i = 5; i--;) { buzzer.tick(); delay(2); } #endif - } + #endif +} + +#if ENABLED(ULTIPANEL) void lcd_completion_feedback(const bool good/*=true*/) { if (good) { @@ -823,7 +853,7 @@ void kill_screen(const char* lcd_msg) { #if ENABLED(PARK_HEAD_ON_PAUSE) enqueue_and_echo_commands_P(PSTR("M125")); #endif - lcd_setstatusPGM(PSTR(MSG_PRINT_PAUSED), -1); + lcd_reset_status(); } void lcd_sdcard_resume() { @@ -836,26 +866,91 @@ void kill_screen(const char* lcd_msg) { lcd_reset_status(); } + bool abort_sd_printing; // =false + void lcd_sdcard_stop() { - card.stopSDPrint( - #if SD_RESORT - true - #endif - ); - clear_command_queue(); - quickstop_stepper(); - print_job_timer.stop(); - thermalManager.disable_all_heaters(); - #if FAN_COUNT > 0 - for (uint8_t i = 0; i < FAN_COUNT; i++) fanSpeeds[i] = 0; - #endif - wait_for_heatup = false; + wait_for_heatup = wait_for_user = false; + abort_sd_printing = true; lcd_setstatusPGM(PSTR(MSG_PRINT_ABORTED), -1); lcd_return_to_status(); } #endif // SDSUPPORT + #if ENABLED(POWER_LOSS_RECOVERY) + + static void lcd_power_loss_recovery_resume() { + char cmd[20]; + + // Return to status now + lcd_return_to_status(); + + // Turn leveling off and home + enqueue_and_echo_commands_P(PSTR("M420 S0\nG28" + #if ENABLED(MARLIN_DEV_MODE) + " S" + #elif !IS_KINEMATIC + " X Y" + #endif + )); + + #if HAS_HEATED_BED + const int16_t bt = job_recovery_info.target_temperature_bed; + if (bt) { + // Restore the bed temperature + sprintf_P(cmd, PSTR("M190 S%i"), bt); + enqueue_and_echo_command(cmd); + } + #endif + + // Restore all hotend temperatures + HOTEND_LOOP() { + const int16_t et = job_recovery_info.target_temperature[e]; + if (et) { + #if HOTENDS > 1 + sprintf_P(cmd, PSTR("T%i"), e); + enqueue_and_echo_command(cmd); + #endif + sprintf_P(cmd, PSTR("M109 S%i"), et); + enqueue_and_echo_command(cmd); + } + } + + #if HOTENDS > 1 + sprintf_P(cmd, PSTR("T%i"), job_recovery_info.active_hotend); + enqueue_and_echo_command(cmd); + #endif + + // Restore print cooling fan speeds + for (uint8_t i = 0; i < FAN_COUNT; i++) { + int16_t f = job_recovery_info.fanSpeeds[i]; + if (f) { + sprintf_P(cmd, PSTR("M106 P%i S%i"), i, f); + enqueue_and_echo_command(cmd); + } + } + + // Start draining the job recovery command queue + job_recovery_phase = JOB_RECOVERY_YES; + } + + static void lcd_power_loss_recovery_cancel() { + card.removeJobRecoveryFile(); + card.autostart_index = 0; + lcd_return_to_status(); + } + + static void lcd_job_recovery_menu() { + defer_return_to_status = true; + START_MENU(); + STATIC_ITEM(MSG_POWER_LOSS_RECOVERY); + MENU_ITEM(function, MSG_RESUME_PRINT, lcd_power_loss_recovery_resume); + MENU_ITEM(function, MSG_STOP_PRINT, lcd_power_loss_recovery_cancel); + END_MENU(); + } + + #endif // POWER_LOSS_RECOVERY + #if ENABLED(MENU_ITEM_CASE_LIGHT) #include "../feature/caselight.h" @@ -907,9 +1002,9 @@ void kill_screen(const char* lcd_msg) { bar_percent = constrain(bar_percent, 0, 100); encoderPosition = 0; lcd_implementation_drawmenu_static(0, PSTR(MSG_PROGRESS_BAR_TEST), true, true); - lcd.setCursor((LCD_WIDTH) / 2 - 2, LCD_HEIGHT - 2); - lcd.print(itostr3(bar_percent)); lcd.write('%'); - lcd.setCursor(0, LCD_HEIGHT - 1); lcd_draw_progress_bar(bar_percent); + lcd_moveto((LCD_WIDTH) / 2 - 2, LCD_HEIGHT - 2); + lcd_put_u8str(int(bar_percent)); lcd_put_wchar('%'); + lcd_moveto(0, LCD_HEIGHT - 1); lcd_draw_progress_bar(bar_percent); } void _progress_bar_test() { @@ -998,13 +1093,6 @@ void kill_screen(const char* lcd_msg) { * */ - #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - void _lcd_goto_tune_menu() { - lcd_goto_screen(lcd_tune_menu); - new_z_fade_height = planner.z_fade_height; - } - #endif - void lcd_main_menu() { START_MENU(); MENU_BACK(MSG_WATCH); @@ -1031,18 +1119,11 @@ void kill_screen(const char* lcd_msg) { MENU_ITEM_EDIT_CALLBACK(bool, MSG_CASE_LIGHT, (bool*)&case_light_on, update_case_light); #endif - if (planner.movesplanned() || IS_SD_PRINTING) { - MENU_ITEM(submenu, MSG_TUNE, - #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - _lcd_goto_tune_menu - #else - lcd_tune_menu - #endif - ); - } - else { + if (planner.movesplanned() || IS_SD_PRINTING) + MENU_ITEM(submenu, MSG_TUNE, lcd_tune_menu); + else MENU_ITEM(submenu, MSG_PREPARE, lcd_prepare_menu); - } + MENU_ITEM(submenu, MSG_CONTROL, lcd_control_menu); #if ENABLED(SDSUPPORT) @@ -1204,13 +1285,13 @@ void kill_screen(const char* lcd_msg) { ubl_encoderPosition = (ubl.encoder_diff > 0) ? 1 : -1; ubl.encoder_diff = 0; - mesh_edit_accumulator += float(ubl_encoderPosition) * 0.005 / 2.0; + mesh_edit_accumulator += float(ubl_encoderPosition) * 0.005f * 0.5f; mesh_edit_value = mesh_edit_accumulator; encoderPosition = 0; lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT; - const int32_t rounded = (int32_t)(mesh_edit_value * 1000.0); - mesh_edit_value = float(rounded - (rounded % 5L)) / 1000.0; + const int32_t rounded = (int32_t)(mesh_edit_value * 1000); + mesh_edit_value = float(rounded - (rounded % 5L)) / 1000; } if (lcdDrawUpdate) { @@ -1327,13 +1408,20 @@ void kill_screen(const char* lcd_msg) { // MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_percentage, 10, 999); + // // Manual bed leveling, Bed Z: + // #if ENABLED(MESH_BED_LEVELING) && ENABLED(LCD_BED_LEVELING) MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1); #endif - #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); + + // + // Leveling Fade Height + // + #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) && DISABLED(SLIM_LCD_MENUS) + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float3, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0, 100, _lcd_set_z_fade_height); #endif + // // Nozzle: // Nozzle [1-4]: @@ -1357,7 +1445,7 @@ void kill_screen(const char* lcd_msg) { // // Bed: // - #if HAS_TEMP_BED + #if HAS_HEATED_BED MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_BED, &thermalManager.target_temperature_bed, 0, BED_MAXTEMP - 15, watch_temp_callback_bed); #endif @@ -1494,8 +1582,8 @@ void kill_screen(const char* lcd_msg) { * */ void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb, const int16_t fan) { - if (temph > 0) thermalManager.setTargetHotend(min(heater_maxtemp[endnum], temph), endnum); - #if TEMP_SENSOR_BED != 0 + if (temph > 0) thermalManager.setTargetHotend(MIN(heater_maxtemp[endnum], temph), endnum); + #if HAS_HEATED_BED if (tempb >= 0) thermalManager.setTargetBed(tempb); #else UNUSED(tempb); @@ -1512,10 +1600,10 @@ void kill_screen(const char* lcd_msg) { lcd_return_to_status(); } - #if TEMP_SENSOR_0 != 0 + #if HAS_TEMP_HOTEND void lcd_preheat_m1_e0_only() { _lcd_preheat(0, lcd_preheat_hotend_temp[0], -1, lcd_preheat_fan_speed[0]); } void lcd_preheat_m2_e0_only() { _lcd_preheat(0, lcd_preheat_hotend_temp[1], -1, lcd_preheat_fan_speed[1]); } - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED void lcd_preheat_m1_e0() { _lcd_preheat(0, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); } void lcd_preheat_m2_e0() { _lcd_preheat(0, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); } #endif @@ -1524,28 +1612,28 @@ void kill_screen(const char* lcd_msg) { #if HOTENDS > 1 void lcd_preheat_m1_e1_only() { _lcd_preheat(1, lcd_preheat_hotend_temp[0], -1, lcd_preheat_fan_speed[0]); } void lcd_preheat_m2_e1_only() { _lcd_preheat(1, lcd_preheat_hotend_temp[1], -1, lcd_preheat_fan_speed[1]); } - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED void lcd_preheat_m1_e1() { _lcd_preheat(1, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); } void lcd_preheat_m2_e1() { _lcd_preheat(1, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); } #endif #if HOTENDS > 2 void lcd_preheat_m1_e2_only() { _lcd_preheat(2, lcd_preheat_hotend_temp[0], -1, lcd_preheat_fan_speed[0]); } void lcd_preheat_m2_e2_only() { _lcd_preheat(2, lcd_preheat_hotend_temp[1], -1, lcd_preheat_fan_speed[1]); } - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED void lcd_preheat_m1_e2() { _lcd_preheat(2, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); } void lcd_preheat_m2_e2() { _lcd_preheat(2, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); } #endif #if HOTENDS > 3 void lcd_preheat_m1_e3_only() { _lcd_preheat(3, lcd_preheat_hotend_temp[0], -1, lcd_preheat_fan_speed[0]); } void lcd_preheat_m2_e3_only() { _lcd_preheat(3, lcd_preheat_hotend_temp[1], -1, lcd_preheat_fan_speed[1]); } - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED void lcd_preheat_m1_e3() { _lcd_preheat(3, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); } void lcd_preheat_m2_e3() { _lcd_preheat(3, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); } #endif #if HOTENDS > 4 void lcd_preheat_m1_e4_only() { _lcd_preheat(4, lcd_preheat_hotend_temp[0], -1, lcd_preheat_fan_speed[0]); } void lcd_preheat_m2_e4_only() { _lcd_preheat(4, lcd_preheat_hotend_temp[1], -1, lcd_preheat_fan_speed[1]); } - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED void lcd_preheat_m1_e4() { _lcd_preheat(4, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); } void lcd_preheat_m2_e4() { _lcd_preheat(4, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); } #endif @@ -1566,7 +1654,7 @@ void kill_screen(const char* lcd_msg) { #endif // HOTENDS > 3 #endif // HOTENDS > 2 #endif // HOTENDS > 1 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED lcd_preheat_m1_e0(); #else lcd_preheat_m1_e0_only(); @@ -1585,7 +1673,7 @@ void kill_screen(const char* lcd_msg) { #endif // HOTENDS > 3 #endif // HOTENDS > 2 #endif // HOTENDS > 1 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED lcd_preheat_m2_e0(); #else lcd_preheat_m2_e0_only(); @@ -1594,25 +1682,25 @@ void kill_screen(const char* lcd_msg) { #endif // HOTENDS > 1 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED void lcd_preheat_m1_bedonly() { _lcd_preheat(0, 0, lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); } void lcd_preheat_m2_bedonly() { _lcd_preheat(0, 0, lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); } #endif - #if TEMP_SENSOR_0 != 0 && (TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_4 != 0 || TEMP_SENSOR_BED != 0) + #if HAS_TEMP_HOTEND || HAS_HEATED_BED void lcd_preheat_m1_menu() { START_MENU(); MENU_BACK(MSG_PREPARE); #if HOTENDS == 1 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0); MENU_ITEM(function, MSG_PREHEAT_1_END, lcd_preheat_m1_e0_only); #else MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0_only); #endif - #else - #if TEMP_SENSOR_BED != 0 + #elif HOTENDS > 1 + #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H1, lcd_preheat_m1_e0); MENU_ITEM(function, MSG_PREHEAT_1_END " " MSG_E1, lcd_preheat_m1_e0_only); MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H2, lcd_preheat_m1_e1); @@ -1622,21 +1710,21 @@ void kill_screen(const char* lcd_msg) { MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H2, lcd_preheat_m1_e1_only); #endif #if HOTENDS > 2 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H3, lcd_preheat_m1_e2); MENU_ITEM(function, MSG_PREHEAT_1_END " " MSG_E3, lcd_preheat_m1_e2_only); #else MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H3, lcd_preheat_m1_e2_only); #endif #if HOTENDS > 3 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H4, lcd_preheat_m1_e3); MENU_ITEM(function, MSG_PREHEAT_1_END " " MSG_E4, lcd_preheat_m1_e3_only); #else MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H4, lcd_preheat_m1_e3_only); #endif #if HOTENDS > 4 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H5, lcd_preheat_m1_e4); MENU_ITEM(function, MSG_PREHEAT_1_END " " MSG_E5, lcd_preheat_m1_e4_only); #else @@ -1647,7 +1735,7 @@ void kill_screen(const char* lcd_msg) { #endif // HOTENDS > 2 MENU_ITEM(function, MSG_PREHEAT_1_ALL, lcd_preheat_m1_all); #endif // HOTENDS > 1 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_1_BEDONLY, lcd_preheat_m1_bedonly); #endif END_MENU(); @@ -1657,14 +1745,14 @@ void kill_screen(const char* lcd_msg) { START_MENU(); MENU_BACK(MSG_PREPARE); #if HOTENDS == 1 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0); MENU_ITEM(function, MSG_PREHEAT_2_END, lcd_preheat_m2_e0_only); #else MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0_only); #endif - #else - #if TEMP_SENSOR_BED != 0 + #elif HOTENDS > 1 + #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H1, lcd_preheat_m2_e0); MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E1, lcd_preheat_m2_e0_only); MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H2, lcd_preheat_m2_e1); @@ -1674,21 +1762,21 @@ void kill_screen(const char* lcd_msg) { MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H2, lcd_preheat_m2_e1_only); #endif #if HOTENDS > 2 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H3, lcd_preheat_m2_e2); MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E3, lcd_preheat_m2_e2_only); #else MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H3, lcd_preheat_m2_e2_only); #endif #if HOTENDS > 3 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H4, lcd_preheat_m2_e3); MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E4, lcd_preheat_m2_e3_only); #else MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H4, lcd_preheat_m2_e3_only); #endif #if HOTENDS > 4 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H5, lcd_preheat_m2_e4); MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E5, lcd_preheat_m2_e4_only); #else @@ -1699,13 +1787,13 @@ void kill_screen(const char* lcd_msg) { #endif // HOTENDS > 2 MENU_ITEM(function, MSG_PREHEAT_2_ALL, lcd_preheat_m2_all); #endif // HOTENDS > 1 - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2_BEDONLY, lcd_preheat_m2_bedonly); #endif END_MENU(); } - #endif // TEMP_SENSOR_0 && (TEMP_SENSOR_1 || TEMP_SENSOR_2 || TEMP_SENSOR_3 || TEMP_SENSOR_4 || TEMP_SENSOR_BED) + #endif // HAS_TEMP_HOTEND || HAS_HEATED_BED void lcd_cooldown() { #if FAN_COUNT > 0 @@ -1729,7 +1817,7 @@ void kill_screen(const char* lcd_msg) { void lcd_enqueue_commands_P(const char * const cmd) { no_reentry = true; - enqueue_and_echo_commands_P_now(cmd); + enqueue_and_echo_commands_now_P(cmd); no_reentry = false; } @@ -1737,11 +1825,7 @@ void kill_screen(const char* lcd_msg) { #if ENABLED(SDSUPPORT) && ENABLED(MENU_ADDAUTOSTART) - void lcd_autostart_sd() { - card.autostart_index = 0; - card.setroot(); - card.checkautostart(true); - } + void lcd_autostart_sd() { card.beginautostart(); } #endif @@ -1760,27 +1844,43 @@ void kill_screen(const char* lcd_msg) { line_to_z(4.0); switch (bed_corner) { case 0: - current_position[X_AXIS] = X_MIN_BED + 10; - current_position[Y_AXIS] = Y_MIN_BED + 10; + current_position[X_AXIS] = X_MIN_BED + LEVEL_CORNERS_INSET; + current_position[Y_AXIS] = Y_MIN_BED + LEVEL_CORNERS_INSET; break; case 1: - current_position[X_AXIS] = X_MAX_BED - 10; + current_position[X_AXIS] = X_MAX_BED - LEVEL_CORNERS_INSET; break; case 2: - current_position[Y_AXIS] = Y_MAX_BED - 10; + current_position[Y_AXIS] = Y_MAX_BED - LEVEL_CORNERS_INSET; break; case 3: - current_position[X_AXIS] = X_MIN_BED + 10; + current_position[X_AXIS] = X_MIN_BED + LEVEL_CORNERS_INSET; break; + #if ENABLED(LEVEL_CENTER_TOO) + case 4: + current_position[X_AXIS] = X_CENTER; + current_position[Y_AXIS] = Y_CENTER; + break; + #endif } planner.buffer_line_kinematic(current_position, MMM_TO_MMS(manual_feedrate_mm_m[X_AXIS]), active_extruder); line_to_z(0.0); - if (++bed_corner > 3) bed_corner = 0; + if (++bed_corner > 3 + #if ENABLED(LEVEL_CENTER_TOO) + + 1 + #endif + ) bed_corner = 0; } void _lcd_corner_submenu() { START_MENU(); - MENU_ITEM(function, MSG_NEXT_CORNER, _lcd_goto_next_corner); + MENU_ITEM(function, + #if ENABLED(LEVEL_CENTER_TOO) + MSG_LEVEL_BED_NEXT_POINT + #else + MSG_NEXT_CORNER + #endif + , _lcd_goto_next_corner); MENU_ITEM(function, MSG_BACK, lcd_goto_previous_menu_no_defer); END_MENU(); } @@ -1794,7 +1894,7 @@ void kill_screen(const char* lcd_msg) { #endif // LEVEL_BED_CORNERS - #if ENABLED(LCD_BED_LEVELING) + #if ENABLED(LCD_BED_LEVELING) && (ENABLED(PROBE_MANUALLY) || ENABLED(MESH_BED_LEVELING)) /** * @@ -1830,7 +1930,7 @@ void kill_screen(const char* lcd_msg) { if (!lcd_wait_for_move) { #if MANUAL_PROBE_HEIGHT > 0 && DISABLED(MESH_BED_LEVELING) // Display "Done" screen and wait for moves to complete - line_to_z(Z_MIN_POS + MANUAL_PROBE_HEIGHT); + line_to_z(MANUAL_PROBE_HEIGHT); lcd_synchronize(PSTR(MSG_LEVEL_BED_DONE)); #endif lcd_goto_previous_menu_no_defer(); @@ -1861,10 +1961,10 @@ void kill_screen(const char* lcd_msg) { // lcd_wait_for_move = true; lcd_goto_screen(_lcd_level_bed_done); - #if ENABLED(PROBE_MANUALLY) - enqueue_and_echo_commands_P(PSTR("G29 V1")); - #elif ENABLED(MESH_BED_LEVELING) + #if ENABLED(MESH_BED_LEVELING) enqueue_and_echo_commands_P(PSTR("G29 S2")); + #elif ENABLED(PROBE_MANUALLY) + enqueue_and_echo_commands_P(PSTR("G29 V1")); #endif } else @@ -1878,7 +1978,7 @@ void kill_screen(const char* lcd_msg) { // if (encoderPosition) { const float z = current_position[Z_AXIS] + float((int32_t)encoderPosition) * (MBL_Z_STEP); - line_to_z(constrain(z, -(LCD_PROBE_Z_RANGE) * 0.5, (LCD_PROBE_Z_RANGE) * 0.5)); + line_to_z(constrain(z, -(LCD_PROBE_Z_RANGE) * 0.5f, (LCD_PROBE_Z_RANGE) * 0.5f)); lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT; encoderPosition = 0; } @@ -1888,7 +1988,7 @@ void kill_screen(const char* lcd_msg) { // if (lcdDrawUpdate) { const float v = current_position[Z_AXIS]; - lcd_implementation_drawedit(PSTR(MSG_MOVE_Z), ftostr43sign(v + (v < 0 ? -0.0001 : 0.0001), '+')); + lcd_implementation_drawedit(PSTR(MSG_MOVE_Z), ftostr43sign(v + (v < 0 ? -0.0001f : 0.0001f), '+')); } } @@ -1913,10 +2013,10 @@ void kill_screen(const char* lcd_msg) { // G29 Records Z, moves, and signals when it pauses lcd_wait_for_move = true; - #if ENABLED(PROBE_MANUALLY) - enqueue_and_echo_commands_P(PSTR("G29 V1")); - #elif ENABLED(MESH_BED_LEVELING) + #if ENABLED(MESH_BED_LEVELING) enqueue_and_echo_commands_P(manual_probe_index ? PSTR("G29 S2") : PSTR("G29 S1")); + #elif ENABLED(PROBE_MANUALLY) + enqueue_and_echo_commands_P(PSTR("G29 V1")); #endif } @@ -1938,8 +2038,7 @@ void kill_screen(const char* lcd_msg) { void _lcd_level_bed_homing() { if (lcdDrawUpdate) lcd_implementation_drawedit(PSTR(MSG_LEVEL_BED_HOMING), NULL); lcdDrawUpdate = LCDVIEW_CALL_NO_REDRAW; - if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) - lcd_goto_screen(_lcd_level_bed_homing_done); + if (all_axes_homed()) lcd_goto_screen(_lcd_level_bed_homing_done); } #if ENABLED(PROBE_MANUALLY) @@ -1951,92 +2050,15 @@ void kill_screen(const char* lcd_msg) { */ void _lcd_level_bed_continue() { defer_return_to_status = true; - axis_homed[X_AXIS] = axis_homed[Y_AXIS] = axis_homed[Z_AXIS] = false; + axis_homed = 0; lcd_goto_screen(_lcd_level_bed_homing); enqueue_and_echo_commands_P(PSTR("G28")); } - static bool new_level_state; - void _lcd_toggle_bed_leveling() { set_bed_leveling_enabled(new_level_state); } - - /** - * Step 1: Bed Level entry-point - * - * << Prepare - * Auto Home (if homing needed) - * Leveling On/Off (if data exists, and homed) - * Fade Height: --- (Req: ENABLE_LEVELING_FADE_HEIGHT) - * Mesh Z Offset: --- (Req: MESH_BED_LEVELING) - * Z Probe Offset: --- (Req: HAS_BED_PROBE, Opt: BABYSTEP_ZPROBE_OFFSET) - * Level Bed > - * Level Corners > (if homed) - * Load Settings (Req: EEPROM_SETTINGS) - * Save Settings (Req: EEPROM_SETTINGS) - */ - void lcd_bed_leveling() { - START_MENU(); - MENU_BACK(MSG_PREPARE); - - #if DISABLED(MESH_BED_LEVELING) - if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS])) - MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28")); - else - #endif - if (leveling_is_valid()) { - new_level_state = planner.leveling_active; - MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling); - } - - #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); - #endif - - // - // MBL Z Offset - // - #if ENABLED(MESH_BED_LEVELING) - MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1); - #endif - - #if ENABLED(BABYSTEP_ZPROBE_OFFSET) - MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); - #elif HAS_BED_PROBE - MENU_ITEM_EDIT(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); - #endif - - MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue); - - #if ENABLED(LEVEL_BED_CORNERS) - // Move to the next corner for leveling - if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) - MENU_ITEM(submenu, MSG_LEVEL_CORNERS, _lcd_level_bed_corners); - #endif - - #if ENABLED(EEPROM_SETTINGS) - MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings); - MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings); - #endif - END_MENU(); - } - - #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - void _lcd_goto_bed_leveling() { - lcd_goto_screen(lcd_bed_leveling); - new_z_fade_height = planner.z_fade_height; - } - #endif - #elif ENABLED(AUTO_BED_LEVELING_UBL) void _lcd_ubl_level_bed(); - #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - void _lcd_goto_ubl_level_bed() { - lcd_goto_screen(_lcd_ubl_level_bed); - new_z_fade_height = planner.z_fade_height; - } - #endif - static int16_t ubl_storage_slot = 0, custom_hotend_temp = 190, side_points = 3, @@ -2046,7 +2068,7 @@ void kill_screen(const char* lcd_msg) { x_plot = 0, y_plot = 0; - #if HAS_TEMP_BED + #if HAS_HEATED_BED static int16_t custom_bed_temp = 50; #endif @@ -2056,7 +2078,7 @@ void kill_screen(const char* lcd_msg) { void _lcd_ubl_build_custom_mesh() { char UBL_LCD_GCODE[20]; enqueue_and_echo_commands_P(PSTR("G28")); - #if HAS_TEMP_BED + #if HAS_HEATED_BED sprintf_P(UBL_LCD_GCODE, PSTR("M190 S%i"), custom_bed_temp); lcd_enqueue_command(UBL_LCD_GCODE); #endif @@ -2077,7 +2099,7 @@ void kill_screen(const char* lcd_msg) { START_MENU(); MENU_BACK(MSG_UBL_BUILD_MESH_MENU); MENU_ITEM_EDIT(int3, MSG_UBL_CUSTOM_HOTEND_TEMP, &custom_hotend_temp, EXTRUDE_MINTEMP, (HEATER_0_MAXTEMP - 10)); - #if HAS_TEMP_BED + #if HAS_HEATED_BED MENU_ITEM_EDIT(int3, MSG_UBL_CUSTOM_BED_TEMP, &custom_bed_temp, BED_MINTEMP, (BED_MAXTEMP - 15)); #endif MENU_ITEM(function, MSG_UBL_BUILD_CUSTOM_MESH, _lcd_ubl_build_custom_mesh); @@ -2091,7 +2113,7 @@ void kill_screen(const char* lcd_msg) { char UBL_LCD_GCODE[16]; const int ind = ubl_height_amount > 0 ? 9 : 10; strcpy_P(UBL_LCD_GCODE, PSTR("G29 P6 C -")); - sprintf_P(&UBL_LCD_GCODE[ind], PSTR(".%i"), abs(ubl_height_amount)); + sprintf_P(&UBL_LCD_GCODE[ind], PSTR(".%i"), ABS(ubl_height_amount)); lcd_enqueue_command(UBL_LCD_GCODE); } @@ -2136,7 +2158,7 @@ void kill_screen(const char* lcd_msg) { void _lcd_ubl_validate_custom_mesh() { char UBL_LCD_GCODE[24]; const int temp = - #if HAS_TEMP_BED + #if HAS_HEATED_BED custom_bed_temp #else 0 @@ -2159,7 +2181,7 @@ void kill_screen(const char* lcd_msg) { void _lcd_ubl_validate_mesh() { START_MENU(); MENU_BACK(MSG_UBL_TOOLS); - #if HAS_TEMP_BED + #if HAS_HEATED_BED MENU_ITEM(gcode, MSG_UBL_VALIDATE_PLA_MESH, PSTR("G28\nG26 C B" STRINGIFY(PREHEAT_1_TEMP_BED) " H" STRINGIFY(PREHEAT_1_TEMP_HOTEND) " P")); MENU_ITEM(gcode, MSG_UBL_VALIDATE_ABS_MESH, PSTR("G28\nG26 C B" STRINGIFY(PREHEAT_2_TEMP_BED) " H" STRINGIFY(PREHEAT_2_TEMP_HOTEND) " P")); #else @@ -2263,7 +2285,7 @@ void kill_screen(const char* lcd_msg) { void _lcd_ubl_build_mesh() { START_MENU(); MENU_BACK(MSG_UBL_TOOLS); - #if HAS_TEMP_BED + #if HAS_HEATED_BED MENU_ITEM(gcode, MSG_UBL_BUILD_PLA_MESH, PSTR( "G28\n" "M190 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\n" @@ -2358,7 +2380,7 @@ void kill_screen(const char* lcd_msg) { defer_return_to_status = true; if (lcdDrawUpdate) lcd_implementation_drawmenu_static(LCD_HEIGHT < 3 ? 0 : (LCD_HEIGHT > 4 ? 2 : 1), PSTR(MSG_LEVEL_BED_HOMING)); lcdDrawUpdate = LCDVIEW_CALL_NO_REDRAW; - if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) { + if (all_axes_homed()) { ubl.lcd_map_control = true; // Return to the map screen lcd_goto_screen(_lcd_ubl_output_map_lcd); } @@ -2392,12 +2414,10 @@ void kill_screen(const char* lcd_msg) { void _lcd_do_nothing() {} void _lcd_hard_stop() { - stepper.quick_stop(); const screenFunc_t old_screen = currentScreen; currentScreen = _lcd_do_nothing; - while (planner.movesplanned()) idle(); + planner.quick_stop(); currentScreen = old_screen; - stepper.cleaning_buffer_counter = 0; set_current_from_steppers_for_axis(ALL_AXES); sync_plan_position(); } @@ -2405,16 +2425,13 @@ void kill_screen(const char* lcd_msg) { void _lcd_ubl_output_map_lcd() { static int16_t step_scaler = 0; - if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS])) - return lcd_goto_screen(_lcd_ubl_map_homing); - if (use_click()) return _lcd_ubl_map_lcd_edit_cmd(); ENCODER_DIRECTION_NORMAL(); if (encoderPosition) { step_scaler += (int32_t)encoderPosition; x_plot += step_scaler / (ENCODER_STEPS_PER_MENU_ITEM); - if (abs(step_scaler) >= ENCODER_STEPS_PER_MENU_ITEM) step_scaler = 0; + if (ABS(step_scaler) >= ENCODER_STEPS_PER_MENU_ITEM) step_scaler = 0; encoderPosition = 0; lcdDrawUpdate = LCDVIEW_REDRAW_NOW; } @@ -2454,8 +2471,8 @@ void kill_screen(const char* lcd_msg) { * UBL Homing before LCD map */ void _lcd_ubl_output_map_lcd_cmd() { - if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS])) { - axis_homed[X_AXIS] = axis_homed[Y_AXIS] = axis_homed[Z_AXIS] = false; + if (!all_axes_known()) { + axis_homed = 0; enqueue_and_echo_commands_P(PSTR("G28")); } lcd_goto_screen(_lcd_ubl_map_homing); @@ -2551,13 +2568,92 @@ void kill_screen(const char* lcd_msg) { MENU_ITEM(submenu, MSG_UBL_TOOLS, _lcd_ubl_tools_menu); MENU_ITEM(gcode, MSG_UBL_INFO_UBL, PSTR("G29 W")); #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float3, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0, 100, _lcd_set_z_fade_height); #endif END_MENU(); } #endif // AUTO_BED_LEVELING_UBL + + #if ENABLED(LCD_BED_LEVELING) || (HAS_LEVELING && DISABLED(SLIM_LCD_MENUS)) + void _lcd_toggle_bed_leveling() { set_bed_leveling_enabled(!planner.leveling_active); } + #endif + + #if ENABLED(LCD_BED_LEVELING) + + /** + * Step 1: Bed Level entry-point + * + * << Prepare + * Auto Home (if homing needed) + * Leveling On/Off (if data exists, and homed) + * Fade Height: --- (Req: ENABLE_LEVELING_FADE_HEIGHT) + * Mesh Z Offset: --- (Req: MESH_BED_LEVELING) + * Z Probe Offset: --- (Req: HAS_BED_PROBE, Opt: BABYSTEP_ZPROBE_OFFSET) + * Level Bed > + * Level Corners > (if homed) + * Load Settings (Req: EEPROM_SETTINGS) + * Save Settings (Req: EEPROM_SETTINGS) + */ + void lcd_bed_leveling() { + START_MENU(); + MENU_BACK(MSG_PREPARE); + + const bool is_homed = all_axes_known(); + + // Auto Home if not using manual probing + #if DISABLED(PROBE_MANUALLY) && DISABLED(MESH_BED_LEVELING) + if (!is_homed) MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28")); + #endif + + // Level Bed + #if ENABLED(PROBE_MANUALLY) || ENABLED(MESH_BED_LEVELING) + // Manual leveling uses a guided procedure + MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue); + #else + // Automatic leveling can just run the G-code + MENU_ITEM(gcode, MSG_LEVEL_BED, is_homed ? PSTR("G29") : PSTR("G28\nG29")); + #endif + + // Homed and leveling is valid? Then leveling can be toggled. + if (is_homed && leveling_is_valid()) { + bool new_level_state = planner.leveling_active; + MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling); + } + + // Z Fade Height + #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float3, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0, 100, _lcd_set_z_fade_height); + #endif + + // + // MBL Z Offset + // + #if ENABLED(MESH_BED_LEVELING) + MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1); + #endif + + #if ENABLED(BABYSTEP_ZPROBE_OFFSET) + MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); + #elif HAS_BED_PROBE + MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); + #endif + + #if ENABLED(LEVEL_BED_CORNERS) + // Move to the next corner for leveling + if (all_axes_homed()) MENU_ITEM(submenu, MSG_LEVEL_CORNERS, _lcd_level_bed_corners); + #endif + + #if ENABLED(EEPROM_SETTINGS) + MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings); + MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings); + #endif + END_MENU(); + } + + #endif // LCD_BED_LEVELING + /** * * "Prepare" submenu @@ -2576,7 +2672,7 @@ void kill_screen(const char* lcd_msg) { // Move Axis // #if ENABLED(DELTA) - if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) + if (all_axes_homed()) #endif MENU_ITEM(submenu, MSG_MOVE_AXIS, lcd_move_menu); @@ -2590,34 +2686,44 @@ void kill_screen(const char* lcd_msg) { MENU_ITEM(gcode, MSG_AUTO_HOME_Z, PSTR("G28 Z")); #endif + // + // TMC Z Calibration + // + #if ENABLED(TMC_Z_CALIBRATION) + MENU_ITEM(gcode, MSG_TMC_Z_CALIBRATION, PSTR("G28\nM915")); + #endif + // // Level Bed // #if ENABLED(AUTO_BED_LEVELING_UBL) - MENU_ITEM(submenu, MSG_UBL_LEVEL_BED, - #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - _lcd_goto_ubl_level_bed - #else - _lcd_ubl_level_bed - #endif - ); + + MENU_ITEM(submenu, MSG_UBL_LEVEL_BED, _lcd_ubl_level_bed); + #elif ENABLED(LCD_BED_LEVELING) + #if ENABLED(PROBE_MANUALLY) if (!g29_in_progress) #endif - MENU_ITEM(submenu, MSG_BED_LEVELING, - #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - _lcd_goto_bed_leveling - #else - lcd_bed_leveling - #endif - ); - #elif PLANNER_LEVELING && DISABLED(PROBE_MANUALLY) && DISABLED(SLIM_LCD_MENUS) - MENU_ITEM(gcode, MSG_BED_LEVELING, PSTR("G28\nG29")); + MENU_ITEM(submenu, MSG_BED_LEVELING, lcd_bed_leveling); + + #elif HAS_LEVELING && DISABLED(SLIM_LCD_MENUS) + + #if DISABLED(PROBE_MANUALLY) + MENU_ITEM(gcode, MSG_LEVEL_BED, PSTR("G28\nG29")); + #endif + if (leveling_is_valid()) { + bool new_level_state = planner.leveling_active; + MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling); + } + #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float3, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0, 100, _lcd_set_z_fade_height); + #endif + #endif #if ENABLED(LEVEL_BED_CORNERS) && DISABLED(LCD_BED_LEVELING) - if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) + if (all_axes_homed()) MENU_ITEM(function, MSG_LEVEL_CORNERS, _lcd_level_bed_corners); #endif @@ -2649,14 +2755,14 @@ void kill_screen(const char* lcd_msg) { } #endif // ADVANCED_PAUSE_FEATURE - #if TEMP_SENSOR_0 != 0 + #if HAS_TEMP_HOTEND // // Cooldown // bool has_heat = false; HOTEND_LOOP() if (thermalManager.target_temperature[HOTEND_INDEX]) { has_heat = true; break; } - #if HAS_TEMP_BED + #if HAS_HEATED_BED if (thermalManager.target_temperature_bed) has_heat = true; #endif if (has_heat) MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown); @@ -2664,7 +2770,7 @@ void kill_screen(const char* lcd_msg) { // // Preheat for Material 1 and 2 // - #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_4 != 0 || TEMP_SENSOR_BED != 0 + #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_4 != 0 || HAS_HEATED_BED MENU_ITEM(submenu, MSG_PREHEAT_1, lcd_preheat_m1_menu); MENU_ITEM(submenu, MSG_PREHEAT_2, lcd_preheat_m2_menu); #else @@ -2672,7 +2778,7 @@ void kill_screen(const char* lcd_msg) { MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0_only); #endif - #endif // TEMP_SENSOR_0 != 0 + #endif // HAS_TEMP_HOTEND // // BLTouch Self-Test and Reset @@ -2712,29 +2818,22 @@ void kill_screen(const char* lcd_msg) { float move_menu_scale; - #if ENABLED(DELTA_CALIBRATION_MENU) || (ENABLED(DELTA_AUTO_CALIBRATION) && !HAS_BED_PROBE) + #if ENABLED(DELTA_CALIBRATION_MENU) || ENABLED(DELTA_AUTO_CALIBRATION) void lcd_move_z(); void _man_probe_pt(const float &rx, const float &ry) { - #if HAS_LEVELING - reset_bed_level(); // After calibration bed-level data is no longer valid - #endif - - line_to_z((Z_CLEARANCE_BETWEEN_PROBES) + (DELTA_PRINTABLE_RADIUS) / 5); - current_position[X_AXIS] = rx; - current_position[Y_AXIS] = ry; - line_to_current_z(); - line_to_z(Z_CLEARANCE_BETWEEN_PROBES); + do_blocking_move_to_z(Z_CLEARANCE_BETWEEN_PROBES); + do_blocking_move_to_xy(rx, ry); lcd_synchronize(); - move_menu_scale = PROBE_MANUALLY_STEP; + move_menu_scale = MAX(PROBE_MANUALLY_STEP, MIN_STEPS_PER_SEGMENT / float(DEFAULT_XYZ_STEPS_PER_UNIT)); lcd_goto_screen(lcd_move_z); } - #endif // DELTA_CALIBRATION_MENU || (DELTA_AUTO_CALIBRATION && !HAS_BED_PROBE) + #endif // DELTA_CALIBRATION_MENU || DELTA_AUTO_CALIBRATION - #if ENABLED(DELTA_AUTO_CALIBRATION) && !HAS_BED_PROBE + #if ENABLED(DELTA_AUTO_CALIBRATION) float lcd_probe_pt(const float &rx, const float &ry) { _man_probe_pt(rx, ry); @@ -2747,22 +2846,18 @@ void kill_screen(const char* lcd_msg) { return current_position[Z_AXIS]; } - #endif // DELTA_AUTO_CALIBRATION && !HAS_BED_PROBE + #endif // DELTA_AUTO_CALIBRATION #if ENABLED(DELTA_CALIBRATION_MENU) void _lcd_calibrate_homing() { if (lcdDrawUpdate) lcd_implementation_drawmenu_static(LCD_HEIGHT >= 4 ? 1 : 0, PSTR(MSG_LEVEL_BED_HOMING)); lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT; - if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) + if (all_axes_homed()) lcd_goto_previous_menu(); } void _lcd_delta_calibrate_home() { - #if HAS_LEVELING - reset_bed_level(); // After calibration bed-level data is no longer valid - #endif - enqueue_and_echo_commands_P(PSTR("G28")); lcd_goto_screen(_lcd_calibrate_homing); } @@ -2776,18 +2871,25 @@ void kill_screen(const char* lcd_msg) { #if ENABLED(DELTA_CALIBRATION_MENU) || ENABLED(DELTA_AUTO_CALIBRATION) + void _recalc_delta_settings() { + #if HAS_LEVELING + reset_bed_level(); // After changing kinematics bed-level data is no longer valid + #endif + recalc_delta_settings(); + } + void lcd_delta_settings() { START_MENU(); MENU_BACK(MSG_DELTA_CALIBRATE); - MENU_ITEM_EDIT_CALLBACK(float52, MSG_DELTA_DIAG_ROD, &delta_diagonal_rod, delta_diagonal_rod - 5.0, delta_diagonal_rod + 5.0, recalc_delta_settings); - MENU_ITEM_EDIT_CALLBACK(float52, MSG_DELTA_HEIGHT, &delta_height, delta_height - 10.0, delta_height + 10.0, recalc_delta_settings); - MENU_ITEM_EDIT_CALLBACK(float43, "Ex", &delta_endstop_adj[A_AXIS], -5.0, 5.0, recalc_delta_settings); - MENU_ITEM_EDIT_CALLBACK(float43, "Ey", &delta_endstop_adj[B_AXIS], -5.0, 5.0, recalc_delta_settings); - MENU_ITEM_EDIT_CALLBACK(float43, "Ez", &delta_endstop_adj[C_AXIS], -5.0, 5.0, recalc_delta_settings); - MENU_ITEM_EDIT_CALLBACK(float52, MSG_DELTA_RADIUS, &delta_radius, delta_radius - 5.0, delta_radius + 5.0, recalc_delta_settings); - MENU_ITEM_EDIT_CALLBACK(float43, "Tx", &delta_tower_angle_trim[A_AXIS], -5.0, 5.0, recalc_delta_settings); - MENU_ITEM_EDIT_CALLBACK(float43, "Ty", &delta_tower_angle_trim[B_AXIS], -5.0, 5.0, recalc_delta_settings); - MENU_ITEM_EDIT_CALLBACK(float43, "Tz", &delta_tower_angle_trim[C_AXIS], -5.0, 5.0, recalc_delta_settings); + MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_HEIGHT, &delta_height, delta_height - 10, delta_height + 10, _recalc_delta_settings); + MENU_ITEM_EDIT_CALLBACK(float43, "Ex", &delta_endstop_adj[A_AXIS], -5, 5, _recalc_delta_settings); + MENU_ITEM_EDIT_CALLBACK(float43, "Ey", &delta_endstop_adj[B_AXIS], -5, 5, _recalc_delta_settings); + MENU_ITEM_EDIT_CALLBACK(float43, "Ez", &delta_endstop_adj[C_AXIS], -5, 5, _recalc_delta_settings); + MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_RADIUS, &delta_radius, delta_radius - 5, delta_radius + 5, _recalc_delta_settings); + MENU_ITEM_EDIT_CALLBACK(float43, "Tx", &delta_tower_angle_trim[A_AXIS], -5, 5, _recalc_delta_settings); + MENU_ITEM_EDIT_CALLBACK(float43, "Ty", &delta_tower_angle_trim[B_AXIS], -5, 5, _recalc_delta_settings); + MENU_ITEM_EDIT_CALLBACK(float43, "Tz", &delta_tower_angle_trim[C_AXIS], -5, 5, _recalc_delta_settings); + MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_DIAG_ROD, &delta_diagonal_rod, delta_diagonal_rod - 5, delta_diagonal_rod + 5, _recalc_delta_settings); END_MENU(); } @@ -2797,6 +2899,7 @@ void kill_screen(const char* lcd_msg) { #if ENABLED(DELTA_AUTO_CALIBRATION) MENU_ITEM(gcode, MSG_DELTA_AUTO_CALIBRATE, PSTR("G33")); MENU_ITEM(gcode, MSG_DELTA_HEIGHT_CALIBRATE, PSTR("G33 P1")); + MENU_ITEM(gcode, MSG_DELTA_Z_OFFSET_CALIBRATE, PSTR("G33 P-1")); #if ENABLED(EEPROM_SETTINGS) MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings); MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings); @@ -2805,7 +2908,7 @@ void kill_screen(const char* lcd_msg) { MENU_ITEM(submenu, MSG_DELTA_SETTINGS, lcd_delta_settings); #if ENABLED(DELTA_CALIBRATION_MENU) MENU_ITEM(submenu, MSG_AUTO_HOME, _lcd_delta_calibrate_home); - if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) { + if (all_axes_homed()) { MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_X, _goto_tower_x); MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_Y, _goto_tower_y); MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_Z, _goto_tower_z); @@ -2842,7 +2945,7 @@ void kill_screen(const char* lcd_msg) { destination[manual_move_axis] += manual_move_offset; // Reset for the next move - manual_move_offset = 0.0; + manual_move_offset = 0; manual_move_axis = (int8_t)NO_AXIS; // DELTA and SCARA machines use segmented moves, which could fill the planner during the call to @@ -2882,7 +2985,7 @@ void kill_screen(const char* lcd_msg) { #endif manual_move_e_index = eindex >= 0 ? eindex : active_extruder; #endif - manual_move_start_time = millis() + (move_menu_scale < 0.99 ? 0UL : 250UL); // delay for bigger moves + manual_move_start_time = millis() + (move_menu_scale < 0.99f ? 0UL : 250UL); // delay for bigger moves manual_move_axis = (int8_t)axis; } @@ -2944,14 +3047,16 @@ void kill_screen(const char* lcd_msg) { const float diff = float((int32_t)encoderPosition) * move_menu_scale; #if IS_KINEMATIC manual_move_offset += diff; - // Limit only when trying to move towards the limit - if ((int32_t)encoderPosition < 0) NOLESS(manual_move_offset, min - current_position[axis]); - if ((int32_t)encoderPosition > 0) NOMORE(manual_move_offset, max - current_position[axis]); + if ((int32_t)encoderPosition < 0) + NOLESS(manual_move_offset, min - current_position[axis]); + else + NOMORE(manual_move_offset, max - current_position[axis]); #else current_position[axis] += diff; - // Limit only when trying to move towards the limit - if ((int32_t)encoderPosition < 0) NOLESS(current_position[axis], min); - if ((int32_t)encoderPosition > 0) NOMORE(current_position[axis], max); + if ((int32_t)encoderPosition < 0) + NOLESS(current_position[axis], min); + else + NOMORE(current_position[axis], max); #endif manual_move_to_current(axis); @@ -2964,7 +3069,7 @@ void kill_screen(const char* lcd_msg) { + manual_move_offset #endif , axis); - lcd_implementation_drawedit(name, move_menu_scale >= 0.1 ? ftostr41sign(pos) : ftostr43sign(pos)); + lcd_implementation_drawedit(name, move_menu_scale >= 0.1f ? ftostr41sign(pos) : ftostr43sign(pos)); } } void lcd_move_x() { _lcd_move_xyz(PSTR(MSG_MOVE_X), X_AXIS); } @@ -3049,9 +3154,9 @@ void kill_screen(const char* lcd_msg) { move_menu_scale = scale; lcd_goto_screen(_manual_move_func_ptr); } - void lcd_move_menu_10mm() { _goto_manual_move(10.0); } - void lcd_move_menu_1mm() { _goto_manual_move( 1.0); } - void lcd_move_menu_01mm() { _goto_manual_move( 0.1); } + void lcd_move_menu_10mm() { _goto_manual_move(10); } + void lcd_move_menu_1mm() { _goto_manual_move( 1); } + void lcd_move_menu_01mm() { _goto_manual_move( 0.1f); } void _lcd_move_distance_menu(const AxisEnum axis, const screenFunc_t func) { _manual_move_func_ptr = func; @@ -3099,7 +3204,7 @@ void kill_screen(const char* lcd_msg) { */ #if IS_KINEMATIC || ENABLED(NO_MOTION_BEFORE_HOMING) - #define _MOVE_XYZ_ALLOWED (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) + #define _MOVE_XYZ_ALLOWED (all_axes_homed()) #else #define _MOVE_XYZ_ALLOWED true #endif @@ -3118,6 +3223,10 @@ void kill_screen(const char* lcd_msg) { START_MENU(); MENU_BACK(MSG_PREPARE); + #if HAS_SOFTWARE_ENDSTOPS && ENABLED(SOFT_ENDSTOPS_MENU_ITEM) + MENU_ITEM_EDIT(bool, MSG_LCD_SOFT_ENDSTOPS, &soft_endstops_enabled); + #endif + if (_MOVE_XYZ_ALLOWED) { if (_MOVE_XY_ALLOWED) { MENU_ITEM(submenu, MSG_MOVE_X, lcd_move_get_x_amount); @@ -3133,7 +3242,7 @@ void kill_screen(const char* lcd_msg) { else MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28")); - #if ENABLED(SWITCHING_EXTRUDER) + #if ENABLED(SWITCHING_EXTRUDER) || ENABLED(SWITCHING_NOZZLE) #if EXTRUDERS == 4 switch (active_extruder) { @@ -3165,20 +3274,36 @@ void kill_screen(const char* lcd_msg) { #endif - MENU_ITEM(submenu, MSG_MOVE_E, lcd_move_get_e_amount); - #if E_MANUAL > 1 - MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E1, lcd_move_get_e0_amount); - MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E2, lcd_move_get_e1_amount); - #if E_MANUAL > 2 + #if ENABLED(SWITCHING_EXTRUDER) || ENABLED(SWITCHING_NOZZLE) + + // Only the current... + MENU_ITEM(submenu, MSG_MOVE_E, lcd_move_get_e_amount); + // ...and the non-switching + #if E_MANUAL == 5 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount); + #elif E_MANUAL == 3 MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E3, lcd_move_get_e2_amount); - #if E_MANUAL > 3 - MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E4, lcd_move_get_e3_amount); - #if E_MANUAL > 4 - MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount); - #endif // E_MANUAL > 4 - #endif // E_MANUAL > 3 - #endif // E_MANUAL > 2 - #endif // E_MANUAL > 1 + #endif + + #else + + // Independent extruders with one E-stepper per hotend + MENU_ITEM(submenu, MSG_MOVE_E, lcd_move_get_e_amount); + #if E_MANUAL > 1 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E1, lcd_move_get_e0_amount); + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E2, lcd_move_get_e1_amount); + #if E_MANUAL > 2 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E3, lcd_move_get_e2_amount); + #if E_MANUAL > 3 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E4, lcd_move_get_e3_amount); + #if E_MANUAL > 4 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount); + #endif // E_MANUAL > 4 + #endif // E_MANUAL > 3 + #endif // E_MANUAL > 2 + #endif // E_MANUAL > 1 + + #endif END_MENU(); } @@ -3198,7 +3323,7 @@ void kill_screen(const char* lcd_msg) { lcd_completion_feedback(); } - #if ENABLED(EEPROM_SETTINGS) + #if ENABLED(EEPROM_SETTINGS) && DISABLED(SLIM_LCD_MENUS) static void lcd_init_eeprom() { lcd_completion_feedback(settings.init_eeprom()); @@ -3223,7 +3348,7 @@ void kill_screen(const char* lcd_msg) { #if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE) MENU_ITEM(submenu, MSG_FILAMENT, lcd_control_filament_menu); #elif ENABLED(LIN_ADVANCE) - MENU_ITEM_EDIT(float32, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999); + MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999); #endif #if HAS_LCD_CONTRAST @@ -3373,7 +3498,7 @@ void kill_screen(const char* lcd_msg) { // // Bed: // - #if HAS_TEMP_BED + #if HAS_HEATED_BED MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_BED, &thermalManager.target_temperature_bed, 0, BED_MAXTEMP - 15, watch_temp_callback_bed); #endif @@ -3404,11 +3529,11 @@ void kill_screen(const char* lcd_msg) { // // Autotemp, Min, Max, Fact // - #if ENABLED(AUTOTEMP) && (TEMP_SENSOR_0 != 0) + #if ENABLED(AUTOTEMP) && HAS_TEMP_HOTEND MENU_ITEM_EDIT(bool, MSG_AUTOTEMP, &planner.autotemp_enabled); - MENU_ITEM_EDIT(float3, MSG_MIN, &planner.autotemp_min, 0, HEATER_0_MAXTEMP - 15); - MENU_ITEM_EDIT(float3, MSG_MAX, &planner.autotemp_max, 0, HEATER_0_MAXTEMP - 15); - MENU_ITEM_EDIT(float32, MSG_FACTOR, &planner.autotemp_factor, 0.0, 1.0); + MENU_ITEM_EDIT(float3, MSG_MIN, &planner.autotemp_min, 0, float(HEATER_0_MAXTEMP) - 15); + MENU_ITEM_EDIT(float3, MSG_MAX, &planner.autotemp_max, 0, float(HEATER_0_MAXTEMP) - 15); + MENU_ITEM_EDIT(float52, MSG_FACTOR, &planner.autotemp_factor, 0, 1); #endif // @@ -3424,9 +3549,9 @@ void kill_screen(const char* lcd_msg) { #define _PID_BASE_MENU_ITEMS(ELABEL, eindex) \ raw_Ki = unscalePID_i(PID_PARAM(Ki, eindex)); \ raw_Kd = unscalePID_d(PID_PARAM(Kd, eindex)); \ - MENU_ITEM_EDIT(float52, MSG_PID_P ELABEL, &PID_PARAM(Kp, eindex), 1, 9990); \ - MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_I ELABEL, &raw_Ki, 0.01, 9990, copy_and_scalePID_i_E ## eindex); \ - MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_D ELABEL, &raw_Kd, 1, 9990, copy_and_scalePID_d_E ## eindex) + MENU_ITEM_EDIT(float52sign, MSG_PID_P ELABEL, &PID_PARAM(Kp, eindex), 1, 9990); \ + MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_PID_I ELABEL, &raw_Ki, 0.01f, 9990, copy_and_scalePID_i_E ## eindex); \ + MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_PID_D ELABEL, &raw_Kd, 1, 9990, copy_and_scalePID_d_E ## eindex) #if ENABLED(PID_EXTRUSION_SCALING) #define _PID_MENU_ITEMS(ELABEL, eindex) \ @@ -3490,8 +3615,8 @@ void kill_screen(const char* lcd_msg) { #define MINTEMP_ALL MIN3(HEATER_0_MINTEMP, HEATER_1_MINTEMP, HEATER_2_MINTEMP) #define MAXTEMP_ALL MAX3(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP) #elif HOTENDS > 1 - #define MINTEMP_ALL min(HEATER_0_MINTEMP, HEATER_1_MINTEMP) - #define MAXTEMP_ALL max(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP) + #define MINTEMP_ALL MIN(HEATER_0_MINTEMP, HEATER_1_MINTEMP) + #define MAXTEMP_ALL MAX(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP) #else #define MINTEMP_ALL HEATER_0_MINTEMP #define MAXTEMP_ALL HEATER_0_MAXTEMP @@ -3499,10 +3624,10 @@ void kill_screen(const char* lcd_msg) { START_MENU(); MENU_BACK(MSG_TEMPERATURE); MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &lcd_preheat_fan_speed[material], 0, 255); - #if TEMP_SENSOR_0 != 0 + #if HAS_TEMP_HOTEND MENU_ITEM_EDIT(int3, MSG_NOZZLE, &lcd_preheat_hotend_temp[material], MINTEMP_ALL, MAXTEMP_ALL - 15); #endif - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED MENU_ITEM_EDIT(int3, MSG_BED, &lcd_preheat_bed_temp[material], BED_MINTEMP, BED_MAXTEMP - 15); #endif #if ENABLED(EEPROM_SETTINGS) @@ -3547,7 +3672,7 @@ void kill_screen(const char* lcd_msg) { if (e == active_extruder) _planner_refresh_positioning(); else - planner.steps_to_mm[E_AXIS + e] = 1.0 / planner.axis_steps_per_mm[E_AXIS + e]; + planner.steps_to_mm[E_AXIS + e] = 1.0f / planner.axis_steps_per_mm[E_AXIS + e]; } void _planner_refresh_e0_positioning() { _planner_refresh_e_positioning(0); } void _planner_refresh_e1_positioning() { _planner_refresh_e_positioning(1); } @@ -3568,32 +3693,32 @@ void kill_screen(const char* lcd_msg) { MENU_BACK(MSG_MOTION); // M203 Max Feedrate - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_A, &planner.max_feedrate_mm_s[A_AXIS], 1, 999); - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_B, &planner.max_feedrate_mm_s[B_AXIS], 1, 999); - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_C, &planner.max_feedrate_mm_s[C_AXIS], 1, 999); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_A, &planner.max_feedrate_mm_s[A_AXIS], 1, 999); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_B, &planner.max_feedrate_mm_s[B_AXIS], 1, 999); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_C, &planner.max_feedrate_mm_s[C_AXIS], 1, 999); #if ENABLED(DISTINCT_E_FACTORS) - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.max_feedrate_mm_s[E_AXIS + active_extruder], 1, 999); - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E1, &planner.max_feedrate_mm_s[E_AXIS], 1, 999); - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E2, &planner.max_feedrate_mm_s[E_AXIS + 1], 1, 999); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.max_feedrate_mm_s[E_AXIS + active_extruder], 1, 999); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E1, &planner.max_feedrate_mm_s[E_AXIS], 1, 999); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E2, &planner.max_feedrate_mm_s[E_AXIS + 1], 1, 999); #if E_STEPPERS > 2 - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E3, &planner.max_feedrate_mm_s[E_AXIS + 2], 1, 999); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E3, &planner.max_feedrate_mm_s[E_AXIS + 2], 1, 999); #if E_STEPPERS > 3 - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E4, &planner.max_feedrate_mm_s[E_AXIS + 3], 1, 999); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E4, &planner.max_feedrate_mm_s[E_AXIS + 3], 1, 999); #if E_STEPPERS > 4 - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E5, &planner.max_feedrate_mm_s[E_AXIS + 4], 1, 999); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E5, &planner.max_feedrate_mm_s[E_AXIS + 4], 1, 999); #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 #else - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.max_feedrate_mm_s[E_AXIS], 1, 999); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.max_feedrate_mm_s[E_AXIS], 1, 999); #endif // M205 S Min Feedrate - MENU_ITEM_EDIT(float3, MSG_VMIN, &planner.min_feedrate_mm_s, 0, 999); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMIN, &planner.min_feedrate_mm_s, 0, 999); // M205 T Min Travel Feedrate - MENU_ITEM_EDIT(float3, MSG_VTRAV_MIN, &planner.min_travel_feedrate_mm_s, 0, 999); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VTRAV_MIN, &planner.min_travel_feedrate_mm_s, 0, 999); END_MENU(); } @@ -3604,34 +3729,34 @@ void kill_screen(const char* lcd_msg) { MENU_BACK(MSG_MOTION); // M204 P Acceleration - MENU_ITEM_EDIT(float5, MSG_ACC, &planner.acceleration, 10, 99000); + MENU_MULTIPLIER_ITEM_EDIT(float5, MSG_ACC, &planner.acceleration, 10, 99000); // M204 R Retract Acceleration - MENU_ITEM_EDIT(float5, MSG_A_RETRACT, &planner.retract_acceleration, 100, 99000); + MENU_MULTIPLIER_ITEM_EDIT(float5, MSG_A_RETRACT, &planner.retract_acceleration, 100, 99000); // M204 T Travel Acceleration - MENU_ITEM_EDIT(float5, MSG_A_TRAVEL, &planner.travel_acceleration, 100, 99000); + MENU_MULTIPLIER_ITEM_EDIT(float5, MSG_A_TRAVEL, &planner.travel_acceleration, 100, 99000); // M201 settings - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_A, &planner.max_acceleration_mm_per_s2[A_AXIS], 100, 99000, _reset_acceleration_rates); - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_B, &planner.max_acceleration_mm_per_s2[B_AXIS], 100, 99000, _reset_acceleration_rates); - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_C, &planner.max_acceleration_mm_per_s2[C_AXIS], 10, 99000, _reset_acceleration_rates); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_A, &planner.max_acceleration_mm_per_s2[A_AXIS], 100, 99000, _reset_acceleration_rates); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_B, &planner.max_acceleration_mm_per_s2[B_AXIS], 100, 99000, _reset_acceleration_rates); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_C, &planner.max_acceleration_mm_per_s2[C_AXIS], 10, 99000, _reset_acceleration_rates); #if ENABLED(DISTINCT_E_FACTORS) - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &planner.max_acceleration_mm_per_s2[E_AXIS + active_extruder], 100, 99000, _reset_acceleration_rates); - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E1, &planner.max_acceleration_mm_per_s2[E_AXIS], 100, 99000, _reset_e0_acceleration_rate); - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E2, &planner.max_acceleration_mm_per_s2[E_AXIS + 1], 100, 99000, _reset_e1_acceleration_rate); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &planner.max_acceleration_mm_per_s2[E_AXIS + active_extruder], 100, 99000, _reset_acceleration_rates); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E1, &planner.max_acceleration_mm_per_s2[E_AXIS], 100, 99000, _reset_e0_acceleration_rate); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E2, &planner.max_acceleration_mm_per_s2[E_AXIS + 1], 100, 99000, _reset_e1_acceleration_rate); #if E_STEPPERS > 2 - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E3, &planner.max_acceleration_mm_per_s2[E_AXIS + 2], 100, 99000, _reset_e2_acceleration_rate); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E3, &planner.max_acceleration_mm_per_s2[E_AXIS + 2], 100, 99000, _reset_e2_acceleration_rate); #if E_STEPPERS > 3 - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E4, &planner.max_acceleration_mm_per_s2[E_AXIS + 3], 100, 99000, _reset_e3_acceleration_rate); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E4, &planner.max_acceleration_mm_per_s2[E_AXIS + 3], 100, 99000, _reset_e3_acceleration_rate); #if E_STEPPERS > 4 - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E5, &planner.max_acceleration_mm_per_s2[E_AXIS + 4], 100, 99000, _reset_e4_acceleration_rate); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E5, &planner.max_acceleration_mm_per_s2[E_AXIS + 4], 100, 99000, _reset_e4_acceleration_rate); #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 #else - MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &planner.max_acceleration_mm_per_s2[E_AXIS], 100, 99000, _reset_acceleration_rates); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &planner.max_acceleration_mm_per_s2[E_AXIS], 100, 99000, _reset_acceleration_rates); #endif END_MENU(); @@ -3642,14 +3767,18 @@ void kill_screen(const char* lcd_msg) { START_MENU(); MENU_BACK(MSG_MOTION); - MENU_ITEM_EDIT(float3, MSG_VA_JERK, &planner.max_jerk[A_AXIS], 1, 990); - MENU_ITEM_EDIT(float3, MSG_VB_JERK, &planner.max_jerk[B_AXIS], 1, 990); - #if ENABLED(DELTA) - MENU_ITEM_EDIT(float3, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 1, 990); + #if ENABLED(JUNCTION_DEVIATION) + MENU_ITEM_EDIT_CALLBACK(float43, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm, 0.01f, 0.3f, planner.recalculate_max_e_jerk); #else - MENU_ITEM_EDIT(float52, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 0.1, 990); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VA_JERK, &planner.max_jerk[A_AXIS], 1, 990); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VB_JERK, &planner.max_jerk[B_AXIS], 1, 990); + #if ENABLED(DELTA) + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 1, 990); + #else + MENU_MULTIPLIER_ITEM_EDIT(float52sign, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 0.1f, 990); + #endif + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990); #endif - MENU_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990); END_MENU(); } @@ -3698,7 +3827,7 @@ void kill_screen(const char* lcd_msg) { #if ENABLED(BABYSTEP_ZPROBE_OFFSET) MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); #elif HAS_BED_PROBE - MENU_ITEM_EDIT(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); + MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); #endif #if DISABLED(SLIM_LCD_MENUS) @@ -3719,7 +3848,7 @@ void kill_screen(const char* lcd_msg) { // M540 S - Abort on endstop hit when SD printing #if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) - MENU_ITEM_EDIT(bool, MSG_ENDSTOP_ABORT, &stepper.abort_on_endstop_hit); + MENU_ITEM_EDIT(bool, MSG_ENDSTOP_ABORT, &planner.abort_on_endstop_hit); #endif END_MENU(); @@ -3736,7 +3865,7 @@ void kill_screen(const char* lcd_msg) { MENU_BACK(MSG_CONTROL); #if ENABLED(LIN_ADVANCE) - MENU_ITEM_EDIT(float32, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999); + MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999); #endif #if DISABLED(NO_VOLUMETRICS) @@ -3744,17 +3873,17 @@ void kill_screen(const char* lcd_msg) { if (parser.volumetric_enabled) { #if EXTRUDERS == 1 - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[0], 1.5, 3.25, planner.calculate_volumetric_multipliers); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[0], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); #else // EXTRUDERS > 1 - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5, 3.25, planner.calculate_volumetric_multipliers); - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E1, &planner.filament_size[0], 1.5, 3.25, planner.calculate_volumetric_multipliers); - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E2, &planner.filament_size[1], 1.5, 3.25, planner.calculate_volumetric_multipliers); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E1, &planner.filament_size[0], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E2, &planner.filament_size[1], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); #if EXTRUDERS > 2 - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E3, &planner.filament_size[2], 1.5, 3.25, planner.calculate_volumetric_multipliers); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E3, &planner.filament_size[2], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); #if EXTRUDERS > 3 - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E4, &planner.filament_size[3], 1.5, 3.25, planner.calculate_volumetric_multipliers); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E4, &planner.filament_size[3], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); #if EXTRUDERS > 4 - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E5, &planner.filament_size[4], 1.5, 3.25, planner.calculate_volumetric_multipliers); + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E5, &planner.filament_size[4], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -3767,39 +3896,39 @@ void kill_screen(const char* lcd_msg) { #if ENABLED(PREVENT_LENGTHY_EXTRUDE) EXTRUDE_MAXLENGTH #else - 999.0f + 999 #endif ; #if EXTRUDERS == 1 - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD, &filament_change_unload_length[0], 0.0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD, &filament_change_unload_length[0], 0, extrude_maxlength); #else // EXTRUDERS > 1 - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD, &filament_change_unload_length[active_extruder], 0.0, extrude_maxlength); - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E1, &filament_change_unload_length[0], 0.0, extrude_maxlength); - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E2, &filament_change_unload_length[1], 0.0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD, &filament_change_unload_length[active_extruder], 0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E1, &filament_change_unload_length[0], 0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E2, &filament_change_unload_length[1], 0, extrude_maxlength); #if EXTRUDERS > 2 - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E3, &filament_change_unload_length[2], 0.0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E3, &filament_change_unload_length[2], 0, extrude_maxlength); #if EXTRUDERS > 3 - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E4, &filament_change_unload_length[3], 0.0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E4, &filament_change_unload_length[3], 0, extrude_maxlength); #if EXTRUDERS > 4 - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E5, &filament_change_unload_length[4], 0.0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E5, &filament_change_unload_length[4], 0, extrude_maxlength); #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 #endif // EXTRUDERS > 1 #if EXTRUDERS == 1 - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD, &filament_change_load_length[0], 0.0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD, &filament_change_load_length[0], 0, extrude_maxlength); #else // EXTRUDERS > 1 - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD, &filament_change_load_length[active_extruder], 0.0, extrude_maxlength); - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E1, &filament_change_load_length[0], 0.0, extrude_maxlength); - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E2, &filament_change_load_length[1], 0.0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD, &filament_change_load_length[active_extruder], 0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E1, &filament_change_load_length[0], 0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E2, &filament_change_load_length[1], 0, extrude_maxlength); #if EXTRUDERS > 2 - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E3, &filament_change_load_length[2], 0.0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E3, &filament_change_load_length[2], 0, extrude_maxlength); #if EXTRUDERS > 3 - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E4, &filament_change_load_length[3], 0.0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E4, &filament_change_load_length[3], 0, extrude_maxlength); #if EXTRUDERS > 4 - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E5, &filament_change_load_length[4], 0.0, extrude_maxlength); + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E5, &filament_change_load_length[4], 0, extrude_maxlength); #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -3821,15 +3950,15 @@ void kill_screen(const char* lcd_msg) { START_MENU(); MENU_BACK(MSG_CONTROL); MENU_ITEM_EDIT_CALLBACK(bool, MSG_AUTORETRACT, &fwretract.autoretract_enabled, fwretract.refresh_autoretract); - MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT, &fwretract.retract_length, 0, 100); + MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT, &fwretract.retract_length, 0, 100); #if EXTRUDERS > 1 - MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_SWAP, &fwretract.swap_retract_length, 0, 100); + MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT_SWAP, &fwretract.swap_retract_length, 0, 100); #endif MENU_ITEM_EDIT(float3, MSG_CONTROL_RETRACTF, &fwretract.retract_feedrate_mm_s, 1, 999); - MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_ZLIFT, &fwretract.retract_zlift, 0, 999); - MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_RECOVER, &fwretract.retract_recover_length, -100, 100); + MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT_ZLIFT, &fwretract.retract_zlift, 0, 999); + MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT_RECOVER, &fwretract.retract_recover_length, -100, 100); #if EXTRUDERS > 1 - MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_RECOVER_SWAP, &fwretract.swap_retract_recover_length, -100, 100); + MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT_RECOVER_SWAP, &fwretract.swap_retract_recover_length, -100, 100); #endif MENU_ITEM_EDIT(float3, MSG_CONTROL_RETRACT_RECOVERF, &fwretract.retract_recover_feedrate_mm_s, 1, 999); #if EXTRUDERS > 1 @@ -3853,7 +3982,7 @@ void kill_screen(const char* lcd_msg) { encoderPosition = card.updir() ? ENCODER_STEPS_PER_MENU_ITEM : 0; encoderTopLine = 0; screen_changed = true; - lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; + lcd_refresh(); } /** @@ -3920,9 +4049,9 @@ void kill_screen(const char* lcd_msg) { #endif if (card.filenameIsDir) - MENU_ITEM(sddirectory, MSG_CARD_MENU, card.filename, card.longFilename); + MENU_ITEM(sddirectory, MSG_CARD_MENU, card); else - MENU_ITEM(sdfile, MSG_CARD_MENU, card.filename, card.longFilename); + MENU_ITEM(sdfile, MSG_CARD_MENU, card); } else { MENU_ITEM_DUMMY(); @@ -4020,7 +4149,7 @@ void kill_screen(const char* lcd_msg) { STATIC_ITEM(MSG_INFO_MAX_TEMP ": " STRINGIFY(HEATER_4_MAXTEMP), false); #endif - #if TEMP_SENSOR_BED != 0 + #if HAS_HEATED_BED #undef THERMISTOR_ID #define THERMISTOR_ID TEMP_SENSOR_BED #include "thermistornames.h" @@ -4144,10 +4273,8 @@ void kill_screen(const char* lcd_msg) { void lcd_led_menu() { START_MENU(); MENU_BACK(MSG_MAIN); - if (leds.lights_on) - MENU_ITEM(function, MSG_LEDS_OFF, leds.toggle); - else - MENU_ITEM(function, MSG_LEDS_ON, leds.toggle); + bool led_on = leds.lights_on; + MENU_ITEM_EDIT_CALLBACK(bool, MSG_LEDS, &led_on, leds.toggle); MENU_ITEM(function, MSG_SET_LEDS_DEFAULT, leds.set_default); #if ENABLED(LED_COLOR_PRESETS) MENU_ITEM(submenu, MSG_LED_PRESETS, lcd_led_presets_menu); @@ -4590,7 +4717,7 @@ void kill_screen(const char* lcd_msg) { #if LCD_HEIGHT > _FC_LINES_G + 1 STATIC_ITEM(" "); #endif - HOTEND_STATUS_ITEM(); + HOTEND_STATUS_ITEM(); END_SCREEN(); } @@ -4645,7 +4772,7 @@ void kill_screen(const char* lcd_msg) { case ADVANCED_PAUSE_MESSAGE_OPTION: advanced_pause_menu_response = ADVANCED_PAUSE_RESPONSE_WAIT_FOR; return lcd_advanced_pause_option_menu; #if ENABLED(ADVANCED_PAUSE_CONTINUOUS_PURGE) - case ADVANCED_PAUSE_MESSAGE_CONTINUOUS_PURGE: return lcd_advanced_pause_continuous_purge_menu; + case ADVANCED_PAUSE_MESSAGE_CONTINUOUS_PURGE: return lcd_advanced_pause_continuous_purge_menu; #endif case ADVANCED_PAUSE_MESSAGE_STATUS: default: break; @@ -4701,21 +4828,19 @@ void kill_screen(const char* lcd_msg) { if ((int32_t)encoderPosition < 0) encoderPosition = 0; \ if ((int32_t)encoderPosition > maxEditValue) encoderPosition = maxEditValue; \ if (lcdDrawUpdate) \ - lcd_implementation_drawedit(editLabel, _strFunc(((_type)((int32_t)encoderPosition + minEditValue)) * (1.0 / _scale))); \ + lcd_implementation_drawedit(editLabel, _strFunc(((_type)((int32_t)encoderPosition + minEditValue)) * (1.0f / _scale))); \ if (lcd_clicked || (liveEdit && lcdDrawUpdate)) { \ - _type value = ((_type)((int32_t)encoderPosition + minEditValue)) * (1.0 / _scale); \ + _type value = ((_type)((int32_t)encoderPosition + minEditValue)) * (1.0f / _scale); \ if (editValue != NULL) *((_type*)editValue) = value; \ - if (liveEdit) (*callbackFunc)(); \ + if (callbackFunc && (liveEdit || lcd_clicked)) (*callbackFunc)(); \ if (lcd_clicked) lcd_goto_previous_menu(); \ } \ return use_click(); \ } \ void menu_edit_ ## _name() { _menu_edit_ ## _name(); } \ - void menu_edit_callback_ ## _name() { if (_menu_edit_ ## _name()) (*callbackFunc)(); } \ void _menu_action_setting_edit_ ## _name(const char * const pstr, _type* const ptr, const _type minValue, const _type maxValue) { \ lcd_save_previous_screen(); \ - \ - lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; \ + lcd_refresh(); \ \ editLabel = pstr; \ editValue = ptr; \ @@ -4723,28 +4848,27 @@ void kill_screen(const char* lcd_msg) { maxEditValue = maxValue * _scale - minEditValue; \ encoderPosition = (*ptr) * _scale - minEditValue; \ } \ - void menu_action_setting_edit_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue) { \ - _menu_action_setting_edit_ ## _name(pstr, ptr, minValue, maxValue); \ - currentScreen = menu_edit_ ## _name; \ - } \ void menu_action_setting_edit_callback_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue, const screenFunc_t callback, const bool live) { \ _menu_action_setting_edit_ ## _name(pstr, ptr, minValue, maxValue); \ - currentScreen = menu_edit_callback_ ## _name; \ + currentScreen = menu_edit_ ## _name; \ callbackFunc = callback; \ liveEdit = live; \ } \ - typedef void _name + FORCE_INLINE void menu_action_setting_edit_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue) { \ + menu_action_setting_edit_callback_ ## _name(pstr, ptr, minValue, maxValue); \ + } \ + typedef void _name##_void - DEFINE_MENU_EDIT_TYPE(uint32_t, long5, ftostr5rj, 0.01); DEFINE_MENU_EDIT_TYPE(int16_t, int3, itostr3, 1); DEFINE_MENU_EDIT_TYPE(uint8_t, int8, i8tostr3, 1); - DEFINE_MENU_EDIT_TYPE(float, float3, ftostr3, 1.0); - DEFINE_MENU_EDIT_TYPE(float, float32, ftostr32, 100.0); - DEFINE_MENU_EDIT_TYPE(float, float43, ftostr43sign, 1000.0); - DEFINE_MENU_EDIT_TYPE(float, float5, ftostr5rj, 0.01); - DEFINE_MENU_EDIT_TYPE(float, float51, ftostr51sign, 10.0); - DEFINE_MENU_EDIT_TYPE(float, float52, ftostr52sign, 100.0); - DEFINE_MENU_EDIT_TYPE(float, float62, ftostr62rj, 100.0); + DEFINE_MENU_EDIT_TYPE(float, float3, ftostr3, 1); + DEFINE_MENU_EDIT_TYPE(float, float52, ftostr52, 100); + DEFINE_MENU_EDIT_TYPE(float, float43, ftostr43sign, 1000); + DEFINE_MENU_EDIT_TYPE(float, float5, ftostr5rj, 0.01f); + DEFINE_MENU_EDIT_TYPE(float, float51, ftostr51sign, 10); + DEFINE_MENU_EDIT_TYPE(float, float52sign, ftostr52sign, 100); + DEFINE_MENU_EDIT_TYPE(float, float62, ftostr62rj, 100); + DEFINE_MENU_EDIT_TYPE(uint32_t, long5, ftostr5rj, 0.01f); /** * @@ -4818,7 +4942,7 @@ void kill_screen(const char* lcd_msg) { if (REPRAPWORLD_KEYPAD_MOVE_Z_UP) reprapworld_keypad_move_z_up(); #endif - if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) { + if (all_axes_homed()) { #if ENABLED(DELTA) || Z_HOME_DIR != -1 if (REPRAPWORLD_KEYPAD_MOVE_Z_UP) reprapworld_keypad_move_z_up(); #endif @@ -4848,30 +4972,29 @@ void kill_screen(const char* lcd_msg) { #if ENABLED(SDSUPPORT) - void menu_action_sdfile(const char* filename, char* longFilename) { + void menu_action_sdfile(CardReader &theCard) { #if ENABLED(SD_REPRINT_LAST_SELECTED_FILE) last_sdfile_encoderPosition = encoderPosition; // Save which file was selected for later use #endif - UNUSED(longFilename); - card.openAndPrintFile(filename); + card.openAndPrintFile(theCard.filename); lcd_return_to_status(); + lcd_reset_status(); } - void menu_action_sddirectory(const char* filename, char* longFilename) { - UNUSED(longFilename); - card.chdir(filename); + void menu_action_sddirectory(CardReader &theCard) { + card.chdir(theCard.filename); encoderTopLine = 0; encoderPosition = 2 * ENCODER_STEPS_PER_MENU_ITEM; screen_changed = true; #if ENABLED(DOGLCD) drawing_screen = false; #endif - lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; + lcd_refresh(); } #endif // SDSUPPORT - void menu_action_setting_edit_bool(const char* pstr, bool* ptr) { UNUSED(pstr); *ptr ^= true; lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; } + void menu_action_setting_edit_bool(const char* pstr, bool* ptr) { UNUSED(pstr); *ptr ^= true; lcd_refresh(); } void menu_action_setting_edit_callback_bool(const char* pstr, bool* ptr, screenFunc_t callback) { menu_action_setting_edit_bool(pstr, ptr); (*callback)(); @@ -4943,24 +5066,6 @@ void lcd_init() { #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() { static uint8_t blink = 0; static millis_t next_blink_ms = 0; @@ -5042,27 +5147,30 @@ void lcd_update() { } #endif - #endif + #endif // ULTIPANEL #if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT) - const bool sd_status = IS_SD_INSERTED; + const uint8_t sd_status = (uint8_t)IS_SD_INSERTED; if (sd_status != lcd_sd_status && lcd_detected()) { - bool old_sd_status = lcd_sd_status; // prevent re-entry to this block! + uint8_t old_sd_status = lcd_sd_status; // prevent re-entry to this block! lcd_sd_status = sd_status; if (sd_status) { - safe_delay(1000); // some boards need a delay or the LCD won't show the new status + safe_delay(500); // Some boards need a delay to get settled card.initsd(); - if (old_sd_status != 2) LCD_MESSAGEPGM(MSG_SD_INSERTED); + if (old_sd_status == 2) + card.beginautostart(); // Initial boot + else + LCD_MESSAGEPGM(MSG_SD_INSERTED); } else { card.release(); if (old_sd_status != 2) LCD_MESSAGEPGM(MSG_SD_REMOVED); } - lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; + lcd_refresh(); lcd_implementation_init( // to maybe revive the LCD if static electricity killed it. #if ENABLED(LCD_PROGRESS_BAR) currentScreen == lcd_status_screen ? CHARSET_INFO : CHARSET_MENU @@ -5072,6 +5180,13 @@ void lcd_update() { #endif // SDSUPPORT && SD_DETECT_PIN + #if ENABLED(POWER_LOSS_RECOVERY) + if (job_recovery_commands_count && job_recovery_phase == JOB_RECOVERY_IDLE) { + lcd_goto_screen(lcd_job_recovery_menu); + job_recovery_phase = JOB_RECOVERY_MAYBE; // Waiting for a response + } + #endif + const millis_t ms = millis(); if (ELAPSED(ms, next_lcd_update_ms) #if ENABLED(DOGLCD) @@ -5102,7 +5217,7 @@ void lcd_update() { #endif - const bool encoderPastThreshold = (abs(encoderDiff) >= ENCODER_PULSES_PER_STEP); + const bool encoderPastThreshold = (ABS(encoderDiff) >= ENCODER_PULSES_PER_STEP); if (encoderPastThreshold || lcd_clicked) { if (encoderPastThreshold) { int32_t encoderMultiplier = 1; @@ -5110,12 +5225,12 @@ void lcd_update() { #if ENABLED(ENCODER_RATE_MULTIPLIER) if (encoderRateMultiplierEnabled) { - int32_t encoderMovementSteps = abs(encoderDiff) / ENCODER_PULSES_PER_STEP; + int32_t encoderMovementSteps = ABS(encoderDiff) / ENCODER_PULSES_PER_STEP; if (lastEncoderMovementMillis) { // Note that the rate is always calculated between two passes through the // loop and that the abs of the encoderDiff value is tracked. - float encoderStepRate = float(encoderMovementSteps) / float(ms - lastEncoderMovementMillis) * 1000.0; + float encoderStepRate = float(encoderMovementSteps) / float(ms - lastEncoderMovementMillis) * 1000; if (encoderStepRate >= ENCODER_100X_STEPS_PER_SEC) encoderMultiplier = 100; else if (encoderStepRate >= ENCODER_10X_STEPS_PER_SEC) encoderMultiplier = 10; @@ -5159,7 +5274,7 @@ void lcd_update() { lcdDrawUpdate = LCDVIEW_REDRAW_NOW; } - #if ENABLED(SCROLL_LONG_FILENAMES) + #if ENABLED(ULTIPANEL) && ENABLED(SCROLL_LONG_FILENAMES) // If scrolling of long file names is enabled and we are in the sd card menu, // cause a refresh to occur until all the text has scrolled into view. if (currentScreen == lcd_sdcard_menu && filename_scroll_pos < filename_scroll_max && !lcd_status_update_delay--) { @@ -5273,30 +5388,8 @@ void lcd_update() { } // ELAPSED(ms, next_lcd_update_ms) } -inline void pad_message_string() { - uint8_t i = 0, j = 0; - char c; - lcd_status_message[MAX_MESSAGE_LENGTH] = '\0'; - while ((c = lcd_status_message[i]) && j < LCD_WIDTH) { - if (PRINTABLE(c)) j++; - i++; - } - if (true - #if ENABLED(STATUS_MESSAGE_SCROLLING) - && j < LCD_WIDTH - #endif - ) { - // pad with spaces to fill up the line - while (j++ < LCD_WIDTH) lcd_status_message[i++] = ' '; - // chop off at the edge - lcd_status_message[i] = '\0'; - } -} - void lcd_finishstatus(const bool persist=false) { - pad_message_string(); - #if !(ENABLED(LCD_PROGRESS_BAR) && (PROGRESS_MSG_EXPIRE > 0)) UNUSED(persist); #endif @@ -5307,14 +5400,14 @@ void lcd_finishstatus(const bool persist=false) { expire_status_ms = persist ? 0 : progress_bar_ms + PROGRESS_MSG_EXPIRE; #endif #endif - lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; + lcd_refresh(); #if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT) previous_lcd_status_ms = millis(); //get status message to show up for a while #endif #if ENABLED(STATUS_MESSAGE_SCROLLING) - status_scroll_pos = 0; + status_scroll_offset = 0; #endif } @@ -5326,7 +5419,26 @@ bool lcd_hasstatus() { return (lcd_status_message[0] != '\0'); } void lcd_setstatus(const char * const message, const bool persist) { if (lcd_status_message_level > 0) return; - strncpy(lcd_status_message, message, MAX_MESSAGE_LENGTH); + + // Here we have a problem. The message is encoded in UTF8, so + // arbitrarily cutting it will be a problem. We MUST be sure + // that there is no cutting in the middle of a multibyte character! + + // Get a pointer to the null terminator + const char* pend = message + strlen(message); + + // If length of supplied UTF8 string is greater than + // our buffer size, start cutting whole UTF8 chars + while ((pend - message) > MAX_MESSAGE_LENGTH) { + --pend; + while (!START_OF_UTF8_CHAR(*pend)) --pend; + }; + + // At this point, we have the proper cut point. Use it + uint8_t maxLen = pend - message; + strncpy(lcd_status_message, message, maxLen); + lcd_status_message[maxLen] = '\0'; + lcd_finishstatus(persist); } @@ -5334,7 +5446,26 @@ void lcd_setstatusPGM(const char * const message, int8_t level) { if (level < 0) level = lcd_status_message_level = 0; if (level < lcd_status_message_level) return; lcd_status_message_level = level; - strncpy_P(lcd_status_message, message, MAX_MESSAGE_LENGTH); + + // Here we have a problem. The message is encoded in UTF8, so + // arbitrarily cutting it will be a problem. We MUST be sure + // that there is no cutting in the middle of a multibyte character! + + // Get a pointer to the null terminator + const char* pend = message + strlen_P(message); + + // If length of supplied UTF8 string is greater than + // our buffer size, start cutting whole UTF8 chars + while ((pend - message) > MAX_MESSAGE_LENGTH) { + --pend; + while (!START_OF_UTF8_CHAR(pgm_read_byte(pend))) --pend; + }; + + // At this point, we have the proper cut point. Use it + uint8_t maxLen = pend - message; + strncpy_P(lcd_status_message, message, maxLen); + lcd_status_message[maxLen] = '\0'; + lcd_finishstatus(level > 0); } @@ -5408,11 +5539,9 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; } #if BUTTON_EXISTS(EN1) if (BUTTON_PRESSED(EN1)) newbutton |= EN_A; #endif - #if BUTTON_EXISTS(EN2) if (BUTTON_PRESSED(EN2)) newbutton |= EN_B; #endif - #if BUTTON_EXISTS(ENC) if (BUTTON_PRESSED(ENC)) newbutton |= EN_C; #endif diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/ultralcd.h index c9373fd0b45d..229f4cbce15d 100644 --- a/Marlin/src/lcd/ultralcd.h +++ b/Marlin/src/lcd/ultralcd.h @@ -28,6 +28,13 @@ #if ENABLED(ULTRA_LCD) || ENABLED(MALYAN_LCD) void lcd_init(); bool lcd_detected(); + void lcd_update(); + void lcd_setalertstatusPGM(const char* message); +#else + inline void lcd_init() {} + inline bool lcd_detected() { return true; } + inline void lcd_update() {} + inline void lcd_setalertstatusPGM(const char* message) { UNUSED(message); } #endif #if ENABLED(ULTRA_LCD) @@ -38,28 +45,12 @@ #include "../feature/pause.h" #endif - #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION) - extern bool lcd_external_control; - #else - constexpr bool lcd_external_control = false; - #endif - - extern int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2]; - - #if ENABLED(LCD_BED_LEVELING) - extern bool lcd_wait_for_move; - #else - constexpr bool lcd_wait_for_move = false; - #endif - - int16_t lcd_strlen(const char* s); - int16_t lcd_strlen_P(const char* s); - void lcd_update(); bool lcd_hasstatus(); void lcd_setstatus(const char* message, const bool persist=false); void lcd_setstatusPGM(const char* message, const int8_t level=0); void lcd_setalertstatusPGM(const char* message); void lcd_reset_alert_level(); + void lcd_reset_status(); void lcd_status_printf_P(const uint8_t level, const char * const fmt, ...); void lcd_kill_screen(); void kill_screen(const char* lcd_msg); @@ -71,6 +62,8 @@ void lcd_buzz(const long duration, const uint16_t freq); #endif + void lcd_quick_feedback(const bool clear_buttons); // Audible feedback for a button click - could also be visual + #if ENABLED(LCD_PROGRESS_BAR) && PROGRESS_MSG_EXPIRE > 0 void dontExpireStatus(); #endif @@ -96,7 +89,7 @@ #define BUTTON_EXISTS(BN) (defined(BTN_## BN) && BTN_## BN >= 0) #define BUTTON_PRESSED(BN) !READ(BTN_## BN) - #if ENABLED(ULTIPANEL) + #if ENABLED(ULTIPANEL) // LCD with a click-wheel input extern bool defer_return_to_status; @@ -104,30 +97,22 @@ typedef void (*screenFunc_t)(); typedef void (*menuAction_t)(); - void lcd_goto_screen(screenFunc_t screen, const uint32_t encoder=0); - - // Encoder click is directly connected - - #define BLEN_A 0 - #define BLEN_B 1 + extern int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2]; - #define EN_A (_BV(BLEN_A)) - #define EN_B (_BV(BLEN_B)) - - #if BUTTON_EXISTS(ENC) - #define BLEN_C 2 - #define EN_C (_BV(BLEN_C)) + #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION) + extern bool lcd_external_control; + #else + constexpr bool lcd_external_control = false; #endif - #if BUTTON_EXISTS(BACK) - #define BLEN_D 3 - #define EN_D _BV(BLEN_D) - #define LCD_BACK_CLICKED (buttons & EN_D) + #if ENABLED(LCD_BED_LEVELING) + extern bool lcd_wait_for_move; + #else + constexpr bool lcd_wait_for_move = false; #endif - extern volatile uint8_t buttons; // The last-checked buttons in a bit array. - void lcd_buttons_update(); - void lcd_quick_feedback(const bool clear_buttons); // Audible feedback for a button click - could also be visual + void lcd_goto_screen(screenFunc_t screen, const uint32_t encoder=0); + void lcd_completion_feedback(const bool good=true); #if ENABLED(ADVANCED_PAUSE_FEATURE) @@ -135,7 +120,7 @@ void lcd_advanced_pause_show_message(const AdvancedPauseMessage message, const AdvancedPauseMode mode=ADVANCED_PAUSE_MODE_PAUSE_PRINT, const uint8_t extruder=active_extruder); - #endif // ADVANCED_PAUSE_FEATURE + #endif #if ENABLED(G26_MESH_VALIDATION) void lcd_chirp(); @@ -148,14 +133,6 @@ float lcd_z_offset_edit(); #endif - #if ENABLED(DELTA_AUTO_CALIBRATION) && !HAS_BED_PROBE - float lcd_probe_pt(const float &rx, const float &ry); - #endif - - #else - - inline void lcd_buttons_update() {} - #endif #if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT) @@ -203,12 +180,6 @@ #define REPRAPWORLD_KEYPAD_MOVE_HOME (buttons_reprapworld_keypad & KEYPAD_HOME) #define REPRAPWORLD_KEYPAD_MOVE_MENU (buttons_reprapworld_keypad & KEYPAD_EN_C) - #if BUTTON_EXISTS(ENC) - #define LCD_CLICKED ((buttons & EN_C) || REPRAPWORLD_KEYPAD_MOVE_MENU) - #else - #define LCD_CLICKED REPRAPWORLD_KEYPAD_MOVE_MENU - #endif - #define REPRAPWORLD_KEYPAD_PRESSED (buttons_reprapworld_keypad & ( \ EN_REPRAPWORLD_KEYPAD_F3 | \ EN_REPRAPWORLD_KEYPAD_F2 | \ @@ -220,14 +191,6 @@ EN_REPRAPWORLD_KEYPAD_LEFT) \ ) - #elif ENABLED(NEWPANEL) - - #define LCD_CLICKED (buttons & EN_C) - - #else - - #define LCD_CLICKED false - #endif #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION) @@ -235,29 +198,68 @@ void wait_for_release(); #endif -#else // no LCD +#else // MALYAN_LCD or no LCD constexpr bool lcd_wait_for_move = false; - inline void lcd_init() {} - inline bool lcd_detected() { return true; } - inline void lcd_update() {} inline void lcd_refresh() {} - inline void lcd_buttons_update() {} inline bool lcd_hasstatus() { return false; } inline void lcd_setstatus(const char* const message, const bool persist=false) { UNUSED(message); UNUSED(persist); } inline void lcd_setstatusPGM(const char* const message, const int8_t level=0) { UNUSED(message); UNUSED(level); } inline void lcd_status_printf_P(const uint8_t level, const char * const fmt, ...) { UNUSED(level); UNUSED(fmt); } - inline void lcd_setalertstatusPGM(const char* message) { UNUSED(message); } inline void lcd_reset_alert_level() {} + inline void lcd_reset_status() {} #endif // ULTRA_LCD +#if ENABLED(ULTIPANEL) + + #if ENABLED(NEWPANEL) // Uses digital switches, not a shift register + + // Wheel spin pins where BA is 00, 10, 11, 01 (1 bit always changes) + #define BLEN_A 0 + #define BLEN_B 1 + + #define EN_A _BV(BLEN_A) + #define EN_B _BV(BLEN_B) + + #if BUTTON_EXISTS(ENC) + #define BLEN_C 2 + #define EN_C _BV(BLEN_C) + #endif + + #if BUTTON_EXISTS(BACK) + #define BLEN_D 3 + #define EN_D _BV(BLEN_D) + #define LCD_BACK_CLICKED (buttons & EN_D) + #endif + + #endif // NEWPANEL + + extern volatile uint8_t buttons; // The last-checked buttons in a bit array. + void lcd_buttons_update(); + +#else + + inline void lcd_buttons_update() {} + +#endif + +#if ENABLED(REPRAPWORLD_KEYPAD) + #ifdef EN_C + #define LCD_CLICKED ((buttons & EN_C) || REPRAPWORLD_KEYPAD_MOVE_MENU) + #else + #define LCD_CLICKED REPRAPWORLD_KEYPAD_MOVE_MENU + #endif +#elif defined(EN_C) + #define LCD_CLICKED (buttons & EN_C) +#else + #define LCD_CLICKED false +#endif + #define LCD_MESSAGEPGM(x) lcd_setstatusPGM(PSTR(x)) #define LCD_ALERTMESSAGEPGM(x) lcd_setalertstatusPGM(PSTR(x)) -void lcd_reset_status(); - // For i2c define BUZZ to use lcd_buzz #if ENABLED(LCD_USE_I2C_BUZZER) #define BUZZ(d,f) lcd_buzz(d, f) @@ -267,4 +269,10 @@ void lcd_reset_status(); void lcd_reselect_last_file(); #endif +#if ENABLED(ULTIPANEL) && ENABLED(SDSUPPORT) + extern bool abort_sd_printing; +#else + constexpr bool abort_sd_printing = false; +#endif + #endif // ULTRALCD_H diff --git a/Marlin/src/lcd/ultralcd_common_HD44780.h b/Marlin/src/lcd/ultralcd_common_HD44780.h new file mode 100644 index 000000000000..970dbbf35a20 --- /dev/null +++ b/Marlin/src/lcd/ultralcd_common_HD44780.h @@ -0,0 +1,199 @@ +/** + * 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 . + * + */ + +#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 + +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 + #include + #include + #define LCD_CLASS LiquidCrystal_I2C + +#elif ENABLED(LCD_I2C_TYPE_MCP23017) + // For the LED indicators (which may be mapped to different events 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 + #include + #define LCD_CLASS LiquidTWI2 + +#elif ENABLED(LCD_I2C_TYPE_MCP23008) + #include + #include + #define LCD_CLASS LiquidTWI2 + +#elif ENABLED(LCD_I2C_TYPE_PCA8574) + #include + #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 + #include + #define LCD_CLASS LiquidCrystal_SR + +#elif ENABLED(LCM1602) + #include + #include + #include + #define LCD_CLASS LiquidCrystal_I2C + +#else + // Standard directly connected LCD implementations + #include + #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 diff --git a/Marlin/src/lcd/ultralcd_impl_DOGM.h b/Marlin/src/lcd/ultralcd_impl_DOGM.h index 5917ec310a6d..30054f09de2c 100644 --- a/Marlin/src/lcd/ultralcd_impl_DOGM.h +++ b/Marlin/src/lcd/ultralcd_impl_DOGM.h @@ -59,6 +59,10 @@ #endif #include + +#include "fontutils.h" +#include "u8g_fontutf8.h" + #include "dogm/HAL_LCD_class_defines.h" #if ENABLED(AUTO_BED_LEVELING_UBL) @@ -80,57 +84,13 @@ #define INFO_FONT_HEIGHT 8 #endif -#include "dogm/dogm_font_data_Marlin_symbols.h" // The Marlin special symbols -#define FONT_SPECIAL_NAME Marlin_symbols - -#if DISABLED(SIMULATE_ROMFONT) - #if ENABLED(DISPLAY_CHARSET_ISO10646_1) - #include "dogm/dogm_font_data_ISO10646_1.h" - #define FONT_MENU_NAME ISO10646_1_5x7 - #elif ENABLED(DISPLAY_CHARSET_ISO10646_PL) - #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 +// The Marlin special symbols is now in the dogm_font_data_ISO10646_1.h +#define FONT_SPECIAL_NAME ISO10646_1_5x7 + +#include LANGUAGE_DATA_INCL(LCD_LANGUAGE) + +#include "dogm/dogm_font_data_ISO10646_1.h" +#define FONT_MENU_NAME ISO10646_1_5x7 //#define FONT_STATUSMENU_NAME FONT_MENU_NAME @@ -160,7 +120,7 @@ // LCD selection #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) - #ifdef DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN) && (LCD_PINS_ENABLE == MOSI_PIN) + #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN) && (LCD_PINS_ENABLE == MOSI_PIN) U8GLIB_ST7920_128X64_4X u8g(LCD_PINS_RS); // 2 stripes, HW SPI (shared with SD card) #else U8GLIB_ST7920_128X64_4X u8g(LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS); // Original u8glib device. 2 stripes, SW SPI @@ -221,12 +181,17 @@ // The MINIPanel display //U8GLIB_MINI12864 u8g(DOGLCD_CS, DOGLCD_A0); // 8 stripes U8GLIB_MINI12864_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 stripes +#elif ENABLED(U8GLIB_SH1106_EINSTART) + // Connected via motherboard header + U8GLIB_SH1106_128X64 u8g(DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, LCD_PINS_DC, LCD_PINS_RS); #else // for regular DOGM128 display with HW-SPI //U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 8 stripes U8GLIB_DOGM128_2X u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 4 stripes #endif +U8GLIB *pu8g = &u8g; + #ifndef LCD_PIXEL_WIDTH #define LCD_PIXEL_WIDTH 128 #endif @@ -234,7 +199,7 @@ #define LCD_PIXEL_HEIGHT 64 #endif -#include "utf_mapper.h" +#include "lcdprint.h" int16_t lcd_contrast; // Initialized by settings.load() static char currentfont = 0; @@ -249,48 +214,11 @@ u8g_page_t &page = ((u8g_pb_t *)((u8g.getU8g())->dev->dev_mem))->p; static void lcd_setFont(const char font_nr) { switch (font_nr) { 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_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; - 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) @@ -400,6 +328,8 @@ static void lcd_implementation_init() { #elif ENABLED(LCD_SCREEN_ROT_270) u8g.setRot270(); // Rotate screen by 270° #endif + + uxg_SetUtf8Fonts (g_fontinfo, NUM_ARRAY(g_fontinfo)); } // The kill screen is displayed for unrecoverable conditions @@ -411,12 +341,12 @@ void lcd_kill_screen() { u8g.firstPage(); do { lcd_setFont(FONT_MENU); - u8g.setPrintPos(0, h4 * 1); - lcd_print_utf(lcd_status_message); - u8g.setPrintPos(0, h4 * 2); - lcd_printPGM_utf(PSTR(MSG_HALTED)); - u8g.setPrintPos(0, h4 * 3); - lcd_printPGM_utf(PSTR(MSG_PLEASE_RESET)); + lcd_moveto(0, h4 * 1); + lcd_put_u8str(lcd_status_message); + lcd_moveto(0, h4 * 2); + lcd_put_u8str_P(PSTR(MSG_HALTED)); + lcd_moveto(0, h4 * 3); + lcd_put_u8str_P(PSTR(MSG_PLEASE_RESET)); } while (u8g.nextPage()); } @@ -435,25 +365,25 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop if (!PAGE_CONTAINS(row_y1 + 1, row_y2 + 2)) return; - u8g.setPrintPos(LCD_PIXEL_WIDTH - 11 * (DOG_CHAR_WIDTH), row_y2); - lcd_print('E'); - lcd_print((char)('1' + extruder)); - lcd_print(' '); - lcd_print(itostr3(thermalManager.degHotend(extruder))); - lcd_print('/'); + lcd_moveto(LCD_PIXEL_WIDTH - 11 * (DOG_CHAR_WIDTH), row_y2); + lcd_put_wchar('E'); + lcd_put_wchar((char)('1' + extruder)); + lcd_put_wchar(' '); + lcd_put_u8str(itostr3(thermalManager.degHotend(extruder))); + lcd_put_wchar('/'); 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 // 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_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 ENABLED(MENU_HOLLOW_FRAME) @@ -470,51 +400,46 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop u8g.setColorIndex(1); // unmarked text is black on white } #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 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; - int8_t n = LCD_WIDTH - (START_COL); + if (center && !valstr) { + int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2; + while (--pad >= 0) { lcd_put_wchar(' '); n--; } + } + n -= lcd_put_u8str_max_P(pstr, n); + if (NULL != valstr) { + n -= lcd_put_u8str_max(valstr, n); + } - if (center && !valstr) { - 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++; + while (n - DOG_CHAR_WIDTH > 0) { n -= lcd_put_wchar(' '); } } - if (valstr) while (n > 0 && (c = *valstr)) { - n -= lcd_print_and_count(c); - valstr++; - } - while (n-- > 0) u8g.print(' '); } // 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) { UNUSED(pre_char); - lcd_implementation_mark_as_selected(row, isSelected); - - if (!PAGE_CONTAINS(row_y1, row_y2)) return; - - uint8_t n = LCD_WIDTH - (START_COL) - 2; - while (char c = pgm_read_byte(pstr)) { - n -= lcd_print_and_count(c); - pstr++; + if (lcd_implementation_mark_as_selected(row, isSelected)) { + uint8_t n = LCD_WIDTH - (START_COL) - 2; + n *= DOG_CHAR_WIDTH; + n -= lcd_put_u8str_max_P(pstr, n); + while (n - DOG_CHAR_WIDTH > 0) { n -= lcd_put_wchar(' '); } + lcd_moveto(LCD_PIXEL_WIDTH - (DOG_CHAR_WIDTH), row_y2); + lcd_put_wchar(post_char); + 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 @@ -525,22 +450,16 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop // 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) { - - lcd_implementation_mark_as_selected(row, isSelected); - - if (!PAGE_CONTAINS(row_y1, row_y2)) return; - - const uint8_t vallen = (pgm ? lcd_strlen_P(data) : (lcd_strlen((char*)data))); - uint8_t n = LCD_WIDTH - (START_COL) - 2 - vallen; - - while (char c = pgm_read_byte(pstr)) { - n -= lcd_print_and_count(c); - pstr++; + if (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; + n *= DOG_CHAR_WIDTH; + n -= lcd_put_u8str_max_P(pstr, n); + lcd_put_wchar(':'); + while (n - DOG_CHAR_WIDTH > 0) { n -= lcd_put_wchar(' '); } + lcd_moveto(LCD_PIXEL_WIDTH - (DOG_CHAR_WIDTH) * vallen, row_y2); + if (pgm) lcd_put_u8str_P(data); else lcd_put_u8str((char*)data); } - 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 @@ -551,8 +470,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)) void lcd_implementation_drawedit(const char* const pstr, const char* const value=NULL) { - const uint8_t labellen = lcd_strlen_P(pstr), - vallen = lcd_strlen(value); + const uint8_t labellen = utf8_strlen_P(pstr), + vallen = utf8_strlen(value); uint8_t rows = (labellen > LCD_WIDTH - 2 - vallen) ? 2 : 1; @@ -582,27 +501,27 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop bool onpage = PAGE_CONTAINS(baseline + 1 - (DOG_CHAR_HEIGHT_EDIT), baseline); if (onpage) { - u8g.setPrintPos(0, baseline); - lcd_printPGM_utf(pstr); + lcd_moveto(0, baseline); + lcd_put_u8str_P(pstr); } if (value != NULL) { - u8g.print(':'); + lcd_put_wchar(':'); if (rows == 2) { baseline += segmentHeight; onpage = PAGE_CONTAINS(baseline + 1 - (DOG_CHAR_HEIGHT_EDIT), baseline); } if (onpage) { - u8g.setPrintPos(((lcd_width - 1) - (vallen + 1)) * char_width, baseline); // Right-justified, leaving padded by spaces - u8g.print(' '); // overwrite char if value gets shorter - lcd_print(value); + lcd_moveto(((lcd_width - 1) - (vallen + 1)) * char_width, baseline); // Right-justified, leaving padded by spaces + lcd_put_wchar(' '); // overwrite char if value gets shorter + lcd_put_u8str(value); } } } #if ENABLED(SDSUPPORT) - static void _drawmenu_sd(const bool isSelected, const uint8_t row, const char* const pstr, const char* filename, char* const longFilename, const bool isDir) { + static void _drawmenu_sd(const bool isSelected, const uint8_t row, const char* const pstr, CardReader &theCard, const bool isDir) { UNUSED(pstr); lcd_implementation_mark_as_selected(row, isSelected); @@ -610,39 +529,36 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop if (!PAGE_CONTAINS(row_y1, row_y2)) return; constexpr uint8_t maxlen = LCD_WIDTH - (START_COL) - 1; - const char *outstr = longFilename[0] ? longFilename : filename; - if (longFilename[0]) { + const char *outstr = theCard.longest_filename(); + if (theCard.longFilename[0]) { #if ENABLED(SCROLL_LONG_FILENAMES) if (isSelected) { uint8_t name_hash = row; for (uint8_t l = FILENAME_LENGTH; l--;) - name_hash = ((name_hash << 1) | (name_hash >> 7)) ^ filename[l]; // rotate, xor + name_hash = ((name_hash << 1) | (name_hash >> 7)) ^ theCard.filename[l]; // rotate, xor if (filename_scroll_hash != name_hash) { // If the hash changed... 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(theCard.longFilename) - maxlen); // Update the scroll limit filename_scroll_pos = 0; // Reset scroll to the start lcd_status_update_delay = 8; // Don't scroll right away } outstr += filename_scroll_pos; } #else - longFilename[maxlen] = '\0'; // cutoff at screen edge + theCard.longFilename[maxlen] = '\0'; // cutoff at screen edge #endif } - if (isDir) lcd_print(LCD_STR_FOLDER[0]); + if (isDir) lcd_put_wchar(LCD_STR_FOLDER[0]); - char c; - uint8_t n = maxlen; - while (n && (c = *outstr)) { - n -= lcd_print_and_count(c); - ++outstr; - } - while (n) { --n; u8g.print(' '); } + int n; + n = lcd_put_u8str_max(outstr, maxlen * (DOG_CHAR_WIDTH)); + n = maxlen * (DOG_CHAR_WIDTH) - n; + while (n - DOG_CHAR_WIDTH > 0) { n -= lcd_put_wchar(' '); } } - #define lcd_implementation_drawmenu_sdfile(sel, row, pstr, filename, longFilename) _drawmenu_sd(sel, row, pstr, filename, longFilename, false) - #define lcd_implementation_drawmenu_sddirectory(sel, row, pstr, filename, longFilename) _drawmenu_sd(sel, row, pstr, filename, longFilename, true) + #define lcd_implementation_drawmenu_sdfile(sel, row, pstr, theCard) _drawmenu_sd(sel, row, pstr, theCard, false) + #define lcd_implementation_drawmenu_sddirectory(sel, row, pstr, theCard) _drawmenu_sd(sel, row, pstr, theCard, true) #endif // SDSUPPORT @@ -705,30 +621,30 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop // Show X and Y positions at top of screen u8g.setColorIndex(1); if (PAGE_UNDER(7)) { - u8g.setPrintPos(5, 7); - lcd_print("X:"); - lcd_print(ftostr32(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x_plot])))); - u8g.setPrintPos(74, 7); - lcd_print("Y:"); - lcd_print(ftostr32(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[y_plot])))); + lcd_moveto(5, 7); + lcd_put_u8str("X:"); + lcd_put_u8str(ftostr52(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x_plot])))); + lcd_moveto(74, 7); + lcd_put_u8str("Y:"); + lcd_put_u8str(ftostr52(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[y_plot])))); } // Print plot position if (PAGE_CONTAINS(LCD_PIXEL_HEIGHT - (INFO_FONT_HEIGHT - 1), LCD_PIXEL_HEIGHT)) { - u8g.setPrintPos(5, LCD_PIXEL_HEIGHT); - lcd_print('('); + lcd_moveto(5, LCD_PIXEL_HEIGHT); + lcd_put_wchar('('); u8g.print(x_plot); - lcd_print(','); + lcd_put_wchar(','); u8g.print(y_plot); - lcd_print(')'); + lcd_put_wchar(')'); // Show the location value - u8g.setPrintPos(74, LCD_PIXEL_HEIGHT); - lcd_print("Z:"); + lcd_moveto(74, LCD_PIXEL_HEIGHT); + lcd_put_u8str("Z:"); 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 - lcd_printPGM(PSTR(" -----")); + lcd_put_u8str_P(PSTR(" -----")); } } diff --git a/Marlin/src/lcd/ultralcd_impl_HD44780.h b/Marlin/src/lcd/ultralcd_impl_HD44780.h index 26e06c890361..61437f5c3fb3 100644 --- a/Marlin/src/lcd/ultralcd_impl_HD44780.h +++ b/Marlin/src/lcd/ultralcd_impl_HD44780.h @@ -28,133 +28,14 @@ * 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 - -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< - #include - #include - #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); #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 - #include - #define LCD_CLASS LiquidTWI2 #if ENABLED(DETECT_DEVICE) LCD_CLASS lcd(LCD_I2C_ADDRESS, 1); #else @@ -162,9 +43,6 @@ extern volatile uint8_t buttons; //an extended version of the last checked butt #endif #elif ENABLED(LCD_I2C_TYPE_MCP23008) - #include - #include - #define LCD_CLASS LiquidTWI2 #if ENABLED(DETECT_DEVICE) LCD_CLASS lcd(LCD_I2C_ADDRESS, 1); #else @@ -172,43 +50,33 @@ extern volatile uint8_t buttons; //an extended version of the last checked butt #endif #elif ENABLED(LCD_I2C_TYPE_PCA8574) - #include - #define LCD_CLASS LiquidCrystal_I2C LCD_CLASS lcd(LCD_I2C_ADDRESS, LCD_WIDTH, LCD_HEIGHT); // 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 - #include - #define LCD_CLASS LiquidCrystal_SR #if PIN_EXISTS(SR_STROBE) LCD_CLASS lcd(SR_DATA_PIN, SR_CLK_PIN, SR_STROBE_PIN); #else LCD_CLASS lcd(SR_DATA_PIN, SR_CLK_PIN); #endif + #elif ENABLED(LCM1602) - #include - #include - #include - #define LCD_CLASS LiquidCrystal_I2C LCD_CLASS lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); + #else // Standard directly connected LCD implementations - #include - #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 #endif -#include "utf_mapper.h" +#include "fontutils.h" +#include "lcdprint.h" #if ENABLED(LCD_PROGRESS_BAR) static millis_t progress_bar_ms = 0; // Start millis of the current progress bar cycle #if PROGRESS_MSG_EXPIRE > 0 static millis_t expire_status_ms = 0; // millis at which to expire the status message #endif - #define LCD_STR_PROGRESS "\x03\x04\x05" #endif #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); } -enum HD44780CharSet : char { - CHARSET_MENU, - CHARSET_INFO, - CHARSET_BOOT -}; - static void lcd_set_custom_characters( #if ENABLED(LCD_PROGRESS_BAR) || ENABLED(SHOW_BOOTSCREEN) const uint8_t screen_charset=CHARSET_INFO @@ -476,46 +338,60 @@ static void lcd_implementation_init( 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) void lcd_erase_line(const int16_t line) { - lcd.setCursor(0, line); + lcd_moveto(0, line); 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 - 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}; - int16_t n = max(lcd_strlen_P(text) - len, 0); - for (int16_t i = 0; i <= n; i++) { - strncpy_P(tmp, text + i, min(len, LCD_WIDTH)); - lcd.setCursor(col, line); - lcd_print(tmp); - delay(time / max(n, 1)); + void lcd_scroll(const uint8_t col, const uint8_t line, const char* const text, const uint8_t len, const int16_t time) { + uint8_t slen = utf8_strlen_P(text); + if (slen < len) { + // Fits into, + lcd_moveto(col, line); + lcd_put_u8str_max_P(text, len); + while (slen < len) { + lcd_put_wchar(' '); + ++slen; + } + safe_delay(time); + } + else { + const char* p = text; + int dly = time / MAX(slen, 1); + for (uint8_t i = 0; i <= slen; i++) { + + // Go to the correct place + lcd_moveto(col, line); + + // Print the text + lcd_put_u8str_max_P(p, len); + + // Fill with spaces + uint8_t ix = slen - i; + while (ix < len) { + lcd_put_wchar(' '); + ++ix; + } + + // Delay + safe_delay(dly); + + // Advance to the next UTF8 valid position + p++; + while (!START_OF_UTF8_CHAR(pgm_read_byte(p))) p++; + } } } static void logo_lines(const char* const extra) { - int16_t indent = (LCD_WIDTH - 8 - lcd_strlen_P(extra)) / 2; - lcd.setCursor(indent, 0); lcd.print('\x00'); lcd_printPGM(PSTR( "------" )); lcd.write('\x01'); - lcd.setCursor(indent, 1); lcd_printPGM(PSTR("|Marlin|")); lcd_printPGM(extra); - lcd.setCursor(indent, 2); lcd.write('\x02'); lcd_printPGM(PSTR( "------" )); lcd.write('\x03'); + int16_t indent = (LCD_WIDTH - 8 - utf8_strlen_P(extra)) / 2; + lcd_moveto(indent, 0); lcd_put_wchar('\x00'); lcd_put_u8str_P(PSTR( "------" )); lcd_put_wchar('\x01'); + lcd_moveto(indent, 1); lcd_put_u8str_P(PSTR("|Marlin|")); lcd_put_u8str_P(extra); + lcd_moveto(indent, 2); lcd_put_wchar('\x02'); lcd_put_u8str_P(PSTR( "------" )); lcd_put_wchar('\x03'); } void lcd_bootscreen() { @@ -526,9 +402,9 @@ void lcd_printPGM_utf(const char *str, uint8_t n=LCD_WIDTH) { #define CENTER_OR_SCROLL(STRING,DELAY) \ lcd_erase_line(3); \ - if (strlen(STRING) <= LCD_WIDTH) { \ - lcd.setCursor((LCD_WIDTH - lcd_strlen_P(PSTR(STRING))) / 2, 3); \ - lcd_printPGM_utf(PSTR(STRING)); \ + if (utf8_strlen(STRING) <= LCD_WIDTH) { \ + lcd_moveto((LCD_WIDTH - utf8_strlen_P(PSTR(STRING))) / 2, 3); \ + lcd_put_u8str_P(PSTR(STRING)); \ safe_delay(DELAY); \ } \ else { \ @@ -539,7 +415,7 @@ void lcd_printPGM_utf(const char *str, uint8_t n=LCD_WIDTH) { // // 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 // @@ -570,7 +446,7 @@ void lcd_printPGM_utf(const char *str, uint8_t n=LCD_WIDTH) { // // 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)); safe_delay(2000); } @@ -595,74 +471,78 @@ void lcd_printPGM_utf(const char *str, uint8_t n=LCD_WIDTH) { #endif // SHOW_BOOTSCREEN void lcd_kill_screen() { - lcd.setCursor(0, 0); - lcd_print_utf(lcd_status_message); + lcd_moveto(0, 0); + lcd_put_u8str(lcd_status_message); #if LCD_HEIGHT < 4 - lcd.setCursor(0, 2); + lcd_moveto(0, 2); #else - lcd.setCursor(0, 2); - lcd_printPGM_utf(PSTR(MSG_HALTED)); - lcd.setCursor(0, 3); + lcd_moveto(0, 2); + lcd_put_u8str_P(PSTR(MSG_HALTED)); + lcd_moveto(0, 3); #endif - lcd_printPGM_utf(PSTR(MSG_PLEASE_RESET)); + lcd_put_u8str_P(PSTR(MSG_PLEASE_RESET)); } -FORCE_INLINE void _draw_axis_label(const AxisEnum axis, const char* const pstr, const bool blink) { +// +// Before homing, blink '123' <-> '???'. +// Homed but unknown... '123' <-> ' '. +// Homed and known, display constantly. +// +FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const bool blink) { + lcd_put_wchar('X' + uint8_t(axis)); if (blink) - lcd_printPGM(pstr); + lcd_put_u8str(value); else { - if (!axis_homed[axis]) - lcd.write('?'); + if (!TEST(axis_homed, axis)) + while (const char c = *value++) lcd_put_wchar(c <= '.' ? c : '?'); else { #if DISABLED(HOME_AFTER_DEACTIVATE) && DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) - if (!axis_known_position[axis]) - lcd.write(' '); + if (!TEST(axis_known_position, axis)) + lcd_put_u8str_P(axis == Z_AXIS ? PSTR(" ") : PSTR(" ")); else #endif - lcd_printPGM(pstr); + lcd_put_u8str(value); } } } FORCE_INLINE void _draw_heater_status(const int8_t heater, const char prefix, const bool blink) { - #if TEMP_SENSOR_BED + #if HAS_HEATED_BED const bool isBed = heater < 0; + const float t1 = (isBed ? thermalManager.degBed() : thermalManager.degHotend(heater)), + t2 = (isBed ? thermalManager.degTargetBed() : thermalManager.degTargetHotend(heater)); #else - constexpr bool isBed = false; + const float t1 = thermalManager.degHotend(heater), t2 = thermalManager.degTargetHotend(heater); #endif - const float t1 = (isBed ? thermalManager.degBed() : thermalManager.degHotend(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.write('/'); + lcd_put_u8str(itostr3(t1 + 0.5)); + lcd_put_wchar('/'); #if !HEATER_IDLE_HANDLER UNUSED(blink); #else - const bool is_idle = (!isBed ? thermalManager.is_heater_idle(heater) : - #if HAS_TEMP_BED - thermalManager.is_bed_idle() - #else - false + const bool is_idle = ( + #if HAS_HEATED_BED + isBed ? thermalManager.is_bed_idle() : #endif + thermalManager.is_heater_idle(heater) ); if (!blink && is_idle) { - lcd.write(' '); - if (t2 >= 10) lcd.write(' '); - if (t2 >= 100) lcd.write(' '); + lcd_put_wchar(' '); + if (t2 >= 10) lcd_put_wchar(' '); + if (t2 >= 100) lcd_put_wchar(' '); } else #endif - lcd.print(itostr3left(t2 + 0.5)); + lcd_put_u8str(itostr3left(t2 + 0.5)); if (prefix >= 0) { - lcd.print((char)LCD_DEGREE_CHAR); - lcd.write(' '); - if (t2 < 10) lcd.write(' '); + lcd_put_wchar(LCD_DEGREE_CHAR); + lcd_put_wchar(' '); + if (t2 < 10) lcd_put_wchar(' '); } } @@ -682,7 +562,7 @@ FORCE_INLINE void _draw_heater_status(const int8_t heater, const char prefix, co b = LCD_STR_PROGRESS[rem - 1]; msg[i] = b; } - lcd.print(msg); + lcd_put_u8str(msg); } #endif // LCD_PROGRESS_BAR @@ -717,7 +597,7 @@ static void lcd_implementation_status_screen() { // Line 1 // - lcd.setCursor(0, 0); + lcd_moveto(0, 0); #if LCD_WIDTH < 20 @@ -729,18 +609,18 @@ static void lcd_implementation_status_screen() { // // Hotend 1 or Bed Temperature // - #if HOTENDS > 1 || TEMP_SENSOR_BED + #if HOTENDS > 1 || HAS_HEATED_BED - lcd.setCursor(8, 0); + lcd_moveto(8, 0); #if HOTENDS > 1 - lcd.print((char)LCD_STR_THERMOMETER[0]); + lcd_put_wchar((char)LCD_STR_THERMOMETER[0]); _draw_heater_status(1, -1, blink); #else - lcd.print((char)LCD_BEDTEMP_CHAR); + lcd_put_wchar((char)LCD_BEDTEMP_CHAR); _draw_heater_status(-1, -1, blink); #endif - #endif // HOTENDS > 1 || TEMP_SENSOR_BED + #endif // HOTENDS > 1 || HAS_HEATED_BED #else // LCD_WIDTH >= 20 @@ -752,8 +632,8 @@ static void lcd_implementation_status_screen() { // // Hotend 1 or Bed Temperature // - #if HOTENDS > 1 || TEMP_SENSOR_BED - lcd.setCursor(10, 0); + #if HOTENDS > 1 || HAS_HEATED_BED + lcd_moveto(10, 0); #if HOTENDS > 1 _draw_heater_status(1, LCD_STR_THERMOMETER[0], blink); #else @@ -765,7 +645,7 @@ static void lcd_implementation_status_screen() { ), blink); #endif - #endif // HOTENDS > 1 || TEMP_SENSOR_BED != 0 + #endif // HOTENDS > 1 || HAS_HEATED_BED #endif // LCD_WIDTH >= 20 @@ -778,27 +658,27 @@ static void lcd_implementation_status_screen() { #if LCD_WIDTH < 20 #if ENABLED(SDSUPPORT) - lcd.setCursor(0, 2); - lcd_printPGM(PSTR("SD")); + lcd_moveto(0, 2); + lcd_put_u8str_P(PSTR("SD")); if (IS_SD_PRINTING) - lcd.print(itostr3(card.percentDone())); + lcd_put_u8str(itostr3(card.percentDone())); else - lcd_printPGM(PSTR("---")); - lcd.write('%'); + lcd_put_u8str_P(PSTR("---")); + lcd_put_wchar('%'); #endif // SDSUPPORT #else // LCD_WIDTH >= 20 - lcd.setCursor(0, 1); + lcd_moveto(0, 1); // If the first line has two extruder temps, // show more temperatures on the next line - #if HOTENDS > 2 || (HOTENDS > 1 && TEMP_SENSOR_BED) + #if HOTENDS > 2 || (HOTENDS > 1 && HAS_HEATED_BED) #if HOTENDS > 2 _draw_heater_status(2, LCD_STR_THERMOMETER[0], blink); - lcd.setCursor(10, 1); + lcd_moveto(10, 1); #endif _draw_heater_status(-1, ( @@ -808,29 +688,23 @@ static void lcd_implementation_status_screen() { LCD_BEDTEMP_CHAR ), blink); - #else // HOTENDS <= 2 && (HOTENDS <= 1 || !TEMP_SENSOR_BED) - // Before homing the axis letters are blinking 'X' <-> '?'. - // When axis is homed but axis_known_position is false the axis letters are blinking 'X' <-> ' '. - // When everything is ok you see a constant 'X'. + #else // HOTENDS <= 2 && (HOTENDS <= 1 || !HAS_HEATED_BED) - _draw_axis_label(X_AXIS, PSTR(MSG_X), blink); - lcd.print(ftostr4sign(LOGICAL_X_POSITION(current_position[X_AXIS]))); + _draw_axis_value(X_AXIS, ftostr4sign(LOGICAL_X_POSITION(current_position[X_AXIS])), blink); - lcd.write(' '); + lcd_put_wchar(' '); - _draw_axis_label(Y_AXIS, PSTR(MSG_Y), blink); - lcd.print(ftostr4sign(LOGICAL_Y_POSITION(current_position[Y_AXIS]))); + _draw_axis_value(Y_AXIS, ftostr4sign(LOGICAL_Y_POSITION(current_position[Y_AXIS])), blink); - #endif // HOTENDS <= 2 && (HOTENDS <= 1 || !TEMP_SENSOR_BED) + #endif // HOTENDS <= 2 && (HOTENDS <= 1 || !HAS_HEATED_BED) #endif // LCD_WIDTH >= 20 - lcd.setCursor(LCD_WIDTH - 8, 1); - _draw_axis_label(Z_AXIS, PSTR(MSG_Z), blink); - lcd.print(ftostr52sp(FIXFLOAT(LOGICAL_Z_POSITION(current_position[Z_AXIS])))); + lcd_moveto(LCD_WIDTH - 8, 1); + _draw_axis_value(Z_AXIS, ftostr52sp(LOGICAL_Z_POSITION(current_position[Z_AXIS])), blink); - #if HAS_LEVELING && !TEMP_SENSOR_BED - lcd.write(planner.leveling_active || blink ? '_' : ' '); + #if HAS_LEVELING && !HAS_HEATED_BED + lcd_put_wchar(planner.leveling_active || blink ? '_' : ' '); #endif #endif // LCD_HEIGHT > 2 @@ -841,20 +715,20 @@ static void lcd_implementation_status_screen() { #if LCD_HEIGHT > 3 - lcd.setCursor(0, 2); - lcd.print((char)LCD_FEEDRATE_CHAR); - lcd.print(itostr3(feedrate_percentage)); - lcd.write('%'); + lcd_moveto(0, 2); + lcd_put_wchar(LCD_FEEDRATE_CHAR); + lcd_put_u8str(itostr3(feedrate_percentage)); + lcd_put_wchar('%'); #if LCD_WIDTH >= 20 && ENABLED(SDSUPPORT) - lcd.setCursor(7, 2); - lcd_printPGM(PSTR("SD")); + lcd_moveto(7, 2); + lcd_put_u8str_P(PSTR("SD")); if (IS_SD_PRINTING) - lcd.print(itostr3(card.percentDone())); + lcd_put_u8str(itostr3(card.percentDone())); else - lcd_printPGM(PSTR("---")); - lcd.write('%'); + lcd_put_u8str_P(PSTR("---")); + lcd_put_wchar('%'); #endif // LCD_WIDTH >= 20 && SDSUPPORT @@ -862,9 +736,9 @@ static void lcd_implementation_status_screen() { duration_t elapsed = print_job_timer.duration(); uint8_t len = elapsed.toDigital(buffer); - lcd.setCursor(LCD_WIDTH - len - 1, 2); - lcd.print((char)LCD_CLOCK_CHAR); - lcd_print(buffer); + lcd_moveto(LCD_WIDTH - len - 1, 2); + lcd_put_wchar(LCD_CLOCK_CHAR); + lcd_put_u8str(buffer); #endif // LCD_HEIGHT > 3 @@ -873,7 +747,7 @@ static void lcd_implementation_status_screen() { // 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) @@ -890,16 +764,16 @@ static void lcd_implementation_status_screen() { // Show Filament Diameter and Volumetric Multiplier % // After allowing lcd_status_message to show for 5 seconds if (ELAPSED(millis(), previous_lcd_status_ms + 5000UL)) { - lcd_printPGM(PSTR("Dia ")); - lcd.print(ftostr12ns(filament_width_meas)); - lcd_printPGM(PSTR(" V")); - lcd.print(itostr3(100.0 * ( + lcd_put_u8str_P(PSTR("Dia ")); + lcd_put_u8str(ftostr12ns(filament_width_meas)); + lcd_put_u8str_P(PSTR(" V")); + lcd_put_u8str(itostr3(100.0 * ( parser.volumetric_enabled ? planner.volumetric_area_nominal / planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] : planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] ) )); - lcd.write('%'); + lcd_put_wchar('%'); return; } @@ -907,35 +781,76 @@ static void lcd_implementation_status_screen() { #if ENABLED(STATUS_MESSAGE_SCROLLING) static bool last_blink = false; - const uint8_t slen = lcd_strlen(lcd_status_message); - const char *stat = lcd_status_message + status_scroll_pos; - if (slen <= LCD_WIDTH) - lcd_print_utf(stat); // The string isn't scrolling + + // Get the UTF8 character count of the string + uint8_t slen = utf8_strlen(lcd_status_message); + + // If the string fits into the LCD, just print it and do not scroll it + if (slen <= LCD_WIDTH) { + + // The string isn't scrolling and may not fill the screen + lcd_put_u8str(lcd_status_message); + + // Fill the rest with spaces + while (slen < LCD_WIDTH) { + lcd_put_wchar(' '); + ++slen; + } + } else { - if (status_scroll_pos <= slen - LCD_WIDTH) - lcd_print_utf(stat); // The string fills the screen + // String is larger than the available space in screen. + + // Get a pointer to the next valid UTF8 character + const char *stat = lcd_status_message + status_scroll_offset; + + // Get the string remaining length + const uint8_t rlen = utf8_strlen(stat); + + // If we have enough characters to display + if (rlen >= LCD_WIDTH) { + // The remaining string fills the screen - Print it + lcd_put_u8str_max(stat, LCD_WIDTH); + } else { - uint8_t chars = LCD_WIDTH; - if (status_scroll_pos < slen) { // First string still visible - lcd_print_utf(stat); // The string leaves space - chars -= slen - status_scroll_pos; // Amount of space left - } - lcd.write('.'); // Always at 1+ spaces left, draw a dot - if (--chars) { - if (status_scroll_pos < slen + 1) // Draw a second dot if there's space - --chars, lcd.write('.'); - if (chars) lcd_print_utf(lcd_status_message, chars); // Print a second copy of the message + + // The remaining string does not completely fill the screen + lcd_put_u8str_max(stat, LCD_WIDTH); // The string leaves space + uint8_t chars = LCD_WIDTH - rlen; // Amount of space left in characters + + lcd_put_wchar('.'); // Always at 1+ spaces left, draw a dot + if (--chars) { // Draw a second dot if there's space + lcd_put_wchar('.'); + if (--chars) + lcd_put_u8str_max(lcd_status_message, chars); // Print a second copy of the message } } if (last_blink != blink) { last_blink = blink; - // Skip any non-printing bytes - if (status_scroll_pos < slen) while (!PRINTABLE(lcd_status_message[status_scroll_pos])) status_scroll_pos++; - if (++status_scroll_pos >= slen + 2) status_scroll_pos = 0; + + // Adjust by complete UTF8 characters + if (status_scroll_offset < slen) { + status_scroll_offset++; + while (!START_OF_UTF8_CHAR(lcd_status_message[status_scroll_offset])) + status_scroll_offset++; + } + else + status_scroll_offset = 0; } } #else - lcd_print_utf(lcd_status_message); + UNUSED(blink); + + // Get the UTF8 character count of the string + uint8_t slen = utf8_strlen(lcd_status_message); + + // Just print the string to the LCD + lcd_put_u8str_max(lcd_status_message, LCD_WIDTH); + + // Fill the rest with spaces if there are missing spaces + while (slen < LCD_WIDTH) { + lcd_put_wchar(' '); + ++slen; + } #endif } @@ -945,7 +860,7 @@ static void lcd_implementation_status_screen() { static void lcd_implementation_hotend_status(const uint8_t row, const uint8_t extruder=active_extruder) { 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()); } } @@ -954,123 +869,103 @@ 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) { UNUSED(invert); - char c; int8_t n = LCD_WIDTH; - lcd.setCursor(0, row); + lcd_moveto(0, row); if (center && !valstr) { - int8_t pad = (LCD_WIDTH - lcd_strlen_P(pstr)) / 2; - while (--pad >= 0) { lcd.write(' '); n--; } - } - while (n > 0 && (c = pgm_read_byte(pstr))) { - n -= charset_mapper(c); - pstr++; + int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2; + while (--pad >= 0) { lcd_put_wchar(' '); n--; } } - if (valstr) while (n > 0 && (c = *valstr)) { - n -= charset_mapper(c); - valstr++; - } - while (n-- > 0) lcd.write(' '); + n -= lcd_put_u8str_max_P(pstr, n); + if (valstr) n -= lcd_put_u8str_max(valstr, n); + for (; n > 0; --n) lcd_put_wchar(' '); } 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; - lcd.setCursor(0, row); - lcd.print(sel ? pre_char : ' '); - while ((c = pgm_read_byte(pstr)) && n > 0) { - n -= charset_mapper(c); - pstr++; - } - while (n--) lcd.write(' '); - lcd.print(post_char); + lcd_moveto(0, row); + lcd_put_wchar(sel ? pre_char : ' '); + n -= lcd_put_u8str_max_P(pstr, n); + while (n--) lcd_put_wchar(' '); + lcd_put_wchar(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) { - char c; - uint8_t n = LCD_WIDTH - 2 - lcd_strlen(data); - lcd.setCursor(0, row); - lcd.print(sel ? pre_char : ' '); - while ((c = pgm_read_byte(pstr)) && n > 0) { - n -= charset_mapper(c); - pstr++; - } - lcd.write(':'); - while (n--) lcd.write(' '); - lcd_print(data); + uint8_t n = LCD_WIDTH - 2 - utf8_strlen(data); + lcd_moveto(0, row); + lcd_put_wchar(sel ? pre_char : ' '); + n -= lcd_put_u8str_max_P(pstr, n); + lcd_put_wchar(':'); + while (n--) lcd_put_wchar(' '); + lcd_put_u8str(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 - lcd_strlen_P(data); - lcd.setCursor(0, row); - lcd.print(sel ? pre_char : ' '); - while ((c = pgm_read_byte(pstr)) && n > 0) { - n -= charset_mapper(c); - pstr++; - } - lcd.write(':'); - while (n--) lcd.write(' '); - lcd_printPGM(data); + uint8_t n = LCD_WIDTH - 2 - utf8_strlen_P(data); + lcd_moveto(0, row); + lcd_put_wchar(sel ? pre_char : ' '); + n -= lcd_put_u8str_max_P(pstr, n); + lcd_put_wchar(':'); + while (n--) lcd_put_wchar(' '); + lcd_put_u8str_P(data); } #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)) void lcd_implementation_drawedit(const char* pstr, const char* const value=NULL) { - lcd.setCursor(1, 1); - lcd_printPGM_utf(pstr); + lcd_moveto(1, 1); + lcd_put_u8str_P(pstr); if (value != NULL) { - lcd.write(':'); - 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 - lcd.setCursor((LCD_WIDTH - 1) - (lcd_strlen(value) + 1), valrow); // Right-justified, padded by spaces - lcd.write(' '); // overwrite char if value gets shorter - lcd_print(value); + lcd_put_wchar(':'); + int len = utf8_strlen(value); + 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_moveto((LCD_WIDTH - 1) - (len + 1), valrow); // Right-justified, padded by spaces + lcd_put_wchar(' '); // overwrite char if value gets shorter + lcd_put_u8str(value); } } #if ENABLED(SDSUPPORT) - 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, CardReader &theCard, const uint8_t concat, const char post_char) { UNUSED(pstr); - lcd.setCursor(0, row); - lcd.print(sel ? '>' : ' '); + lcd_moveto(0, row); + lcd_put_wchar(sel ? '>' : ' '); uint8_t n = LCD_WIDTH - concat; - const char *outstr = longFilename[0] ? longFilename : filename; - if (longFilename[0]) { + const char *outstr = theCard.longest_filename(); + if (theCard.longFilename[0]) { #if ENABLED(SCROLL_LONG_FILENAMES) if (sel) { uint8_t name_hash = row; for (uint8_t l = FILENAME_LENGTH; l--;) - name_hash = ((name_hash << 1) | (name_hash >> 7)) ^ filename[l]; // rotate, xor + name_hash = ((name_hash << 1) | (name_hash >> 7)) ^ theCard.filename[l]; // rotate, xor if (filename_scroll_hash != name_hash) { // If the hash changed... 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(theCard.longFilename) - n); // Update the scroll limit filename_scroll_pos = 0; // Reset scroll to the start lcd_status_update_delay = 8; // Don't scroll right away } outstr += filename_scroll_pos; } #else - longFilename[n] = '\0'; // cutoff at screen edge + theCard.longFilename[n] = '\0'; // cutoff at screen edge #endif } - char c; - while (n && (c = *outstr)) { - n -= charset_mapper(c); - ++outstr; - } - while (n) { --n; lcd.write(' '); } + lcd_moveto(0, row); + lcd_put_wchar(sel ? '>' : ' '); + n -= lcd_put_u8str_max(outstr, n); - 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) { - lcd_implementation_drawmenu_sd(sel, row, pstr, filename, longFilename, 2, ' '); + static void lcd_implementation_drawmenu_sdfile(const bool sel, const uint8_t row, const char* pstr, CardReader &theCard) { + lcd_implementation_drawmenu_sd(sel, row, pstr, theCard, 2, ' '); } - static void lcd_implementation_drawmenu_sddirectory(const bool sel, const uint8_t row, const char* pstr, const char* filename, char* const longFilename) { - lcd_implementation_drawmenu_sd(sel, row, pstr, filename, longFilename, 2, LCD_STR_FOLDER[0]); + static void lcd_implementation_drawmenu_sddirectory(const bool sel, const uint8_t row, const char* pstr, CardReader &theCard) { + lcd_implementation_drawmenu_sd(sel, row, pstr, theCard, 2, LCD_STR_FOLDER[0]); } #endif // SDSUPPORT @@ -1216,7 +1111,7 @@ static void lcd_implementation_status_screen() { #define _LCD_W_POS 12 #define _PLOT_X 1 #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 _YLABEL(X,Y) _LABEL("Y:",X,Y) #define _ZLABEL(X,Y) _LABEL("Z:",X,Y) @@ -1224,7 +1119,7 @@ static void lcd_implementation_status_screen() { #define _LCD_W_POS 8 #define _PLOT_X 0 #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 _YLABEL(X,Y) _LABEL('Y',X,Y) #define _ZLABEL(X,Y) _LABEL('Z',X,Y) @@ -1236,12 +1131,12 @@ static void lcd_implementation_status_screen() { * Show X and Y positions */ _XLABEL(_PLOT_X, 0); - lcd.print(ftostr32(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x])))); + lcd_put_u8str(ftostr52(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x])))); _YLABEL(_LCD_W_POS, 0); - lcd.print(ftostr32(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[inverted_y])))); + lcd_put_u8str(ftostr52(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 @@ -1288,18 +1183,18 @@ static void lcd_implementation_status_screen() { n_cols = right_edge / (ULTRA_X_PIXELS_PER_CHAR) + 1; for (i = 0; i < n_cols; i++) { - lcd.setCursor(i, 0); - lcd.print((char)0x00); // top line of the box + lcd_moveto(i, 0); + lcd_put_wchar((char)0x00); // top line of the box - lcd.setCursor(i, n_rows - 1); - lcd.write(0x01); // bottom line of the box + lcd_moveto(i, n_rows - 1); + lcd_put_wchar(0x01); // bottom line of the box } for (j = 0; j < n_rows; j++) { - lcd.setCursor(0, j); - lcd.write(0x02); // Left edge of the box - lcd.setCursor(n_cols - 1, j); - lcd.write(0x03); // right edge of the box + lcd_moveto(0, j); + lcd_put_wchar(0x02); // Left edge of the box + lcd_moveto(n_cols - 1, j); + lcd_put_wchar(0x03); // right edge of the box } /** @@ -1309,10 +1204,10 @@ static void lcd_implementation_status_screen() { k = pixels_per_y_mesh_pnt * (GRID_MAX_POINTS_Y) + 2; l = (ULTRA_Y_PIXELS_PER_CHAR) * n_rows; if (l > k && l - k >= (ULTRA_Y_PIXELS_PER_CHAR) / 2) { - lcd.setCursor(0, n_rows - 1); // left edge of the box - lcd.write(' '); - lcd.setCursor(n_cols - 1, n_rows - 1); // right edge of the box - lcd.write(' '); + lcd_moveto(0, n_rows - 1); // left edge of the box + lcd_put_wchar(' '); + lcd_moveto(n_cols - 1, n_rows - 1); // right edge of the box + lcd_put_wchar(' '); } clear_custom_char(&new_char); @@ -1357,7 +1252,7 @@ static void lcd_implementation_status_screen() { //dump_custom_char("at entry:", &new_char); clear_custom_char(&new_char); - const uint8_t ypix = min(upper_left.y_pixel_offset + pixels_per_y_mesh_pnt, ULTRA_Y_PIXELS_PER_CHAR); + const uint8_t ypix = MIN(upper_left.y_pixel_offset + pixels_per_y_mesh_pnt, ULTRA_Y_PIXELS_PER_CHAR); for (j = upper_left.y_pixel_offset; j < ypix; j++) { i = upper_left.x_pixel_mask; for (k = 0; k < pixels_per_x_mesh_pnt; k++) { @@ -1371,8 +1266,8 @@ static void lcd_implementation_status_screen() { //dump_custom_char("after add edges", &new_char); lcd.createChar(4, (uint8_t*)&new_char); - lcd.setCursor(upper_left.column, upper_left.row); - lcd.write(0x04); + lcd_moveto(upper_left.column, upper_left.row); + lcd_put_wchar(0x04); //dump_custom_char("after lcd update:", &new_char); /** @@ -1393,8 +1288,8 @@ static void lcd_implementation_status_screen() { lcd.createChar(5, (uint8_t *) &new_char); - lcd.setCursor(lower_right.column, upper_left.row); - lcd.write(0x05); + lcd_moveto(lower_right.column, upper_left.row); + lcd_put_wchar(0x05); } /** @@ -1414,8 +1309,8 @@ static void lcd_implementation_status_screen() { add_edges_to_custom_char(&new_char, &upper_left, &lower_right, &bottom_right_corner, LOWER_LEFT); lcd.createChar(6, (uint8_t *) &new_char); - lcd.setCursor(upper_left.column, lower_right.row); - lcd.write(0x06); + lcd_moveto(upper_left.column, lower_right.row); + lcd_put_wchar(0x06); } /** @@ -1439,8 +1334,8 @@ static void lcd_implementation_status_screen() { add_edges_to_custom_char(&new_char, &upper_left, &lower_right, &bottom_right_corner, LOWER_RIGHT); lcd.createChar(7, (uint8_t*)&new_char); - lcd.setCursor(lower_right.column, lower_right.row); - lcd.write(0x07); + lcd_moveto(lower_right.column, lower_right.row); + lcd_put_wchar(0x07); } #endif @@ -1448,12 +1343,12 @@ static void lcd_implementation_status_screen() { /** * Print plot position */ - lcd.setCursor(_LCD_W_POS, 0); - lcd.write('('); - lcd.print(x); - lcd.write(','); - lcd.print(inverted_y); - lcd.write(')'); + lcd_moveto(_LCD_W_POS, 0); + lcd_put_wchar('('); + lcd_put_u8str(itostr3(x)); + lcd_put_wchar(','); + lcd_put_u8str(itostr3(inverted_y)); + lcd_put_wchar(')'); #if LCD_HEIGHT <= 3 // 16x2 or 20x2 display @@ -1462,9 +1357,9 @@ static void lcd_implementation_status_screen() { */ _ZLABEL(_LCD_W_POS, 1); 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 - lcd_printPGM(PSTR(" -----")); + lcd_put_u8str_P(PSTR(" -----")); #else // 16x4 or 20x4 display @@ -1472,18 +1367,18 @@ static void lcd_implementation_status_screen() { * Show all values at right of screen */ _XLABEL(_LCD_W_POS, 1); - lcd.print(ftostr32(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x])))); + lcd_put_u8str(ftostr52(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x])))); _YLABEL(_LCD_W_POS, 2); - lcd.print(ftostr32(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[inverted_y])))); + lcd_put_u8str(ftostr52(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[inverted_y])))); /** * Show the location value */ _ZLABEL(_LCD_W_POS, 3); 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 - lcd_printPGM(PSTR(" -----")); + lcd_put_u8str_P(PSTR(" -----")); #endif // LCD_HEIGHT > 3 } diff --git a/Marlin/src/lcd/utf_mapper.h b/Marlin/src/lcd/utf_mapper.h deleted file mode 100644 index 71f55040281c..000000000000 --- a/Marlin/src/lcd/utf_mapper.h +++ /dev/null @@ -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 . - * - */ - -#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 diff --git a/Marlin/src/libs/least_squares_fit.cpp b/Marlin/src/libs/least_squares_fit.cpp index 94588a0df516..6d7fc580d8a7 100644 --- a/Marlin/src/libs/least_squares_fit.cpp +++ b/Marlin/src/libs/least_squares_fit.cpp @@ -58,7 +58,7 @@ int finish_incremental_LSF(struct linear_fit_data *lsf) { lsf->xzbar = lsf->xzbar / N - lsf->xbar * lsf->zbar; const float DD = lsf->x2bar * lsf->y2bar - sq(lsf->xybar); - if (FABS(DD) <= 1e-10 * (lsf->max_absx + lsf->max_absy)) + if (ABS(DD) <= 1e-10 * (lsf->max_absx + lsf->max_absy)) return 1; lsf->A = (lsf->yzbar * lsf->xybar - lsf->xzbar * lsf->y2bar) / DD; diff --git a/Marlin/src/libs/least_squares_fit.h b/Marlin/src/libs/least_squares_fit.h index b45bc23f3dcc..cbd42d2c6b52 100644 --- a/Marlin/src/libs/least_squares_fit.h +++ b/Marlin/src/libs/least_squares_fit.h @@ -63,8 +63,8 @@ void inline incremental_WLSF(struct linear_fit_data *lsf, const float &x, const lsf->xzbar += w * x * z; lsf->yzbar += w * y * z; lsf->N += w; - lsf->max_absx = max(FABS(w * x), lsf->max_absx); - lsf->max_absy = max(FABS(w * y), lsf->max_absy); + lsf->max_absx = MAX(ABS(w * x), lsf->max_absx); + lsf->max_absy = MAX(ABS(w * y), lsf->max_absy); } void inline incremental_LSF(struct linear_fit_data *lsf, const float &x, const float &y, const float &z) { @@ -77,8 +77,8 @@ void inline incremental_LSF(struct linear_fit_data *lsf, const float &x, const f lsf->xybar += x * y; lsf->xzbar += x * z; lsf->yzbar += y * z; - lsf->max_absx = max(FABS(x), lsf->max_absx); - lsf->max_absy = max(FABS(y), lsf->max_absy); + lsf->max_absx = MAX(ABS(x), lsf->max_absx); + lsf->max_absy = MAX(ABS(y), lsf->max_absy); lsf->N += 1.0; } diff --git a/Marlin/src/libs/nozzle.cpp b/Marlin/src/libs/nozzle.cpp index 9d62cf391240..fd845685d8e3 100644 --- a/Marlin/src/libs/nozzle.cpp +++ b/Marlin/src/libs/nozzle.cpp @@ -79,7 +79,7 @@ do_blocking_move_to(start.x, start.y, start.z); const uint8_t zigs = objects << 1; - const bool horiz = FABS(diffx) >= FABS(diffy); // Do a horizontal wipe? + const bool horiz = ABS(diffx) >= ABS(diffy); // Do a horizontal wipe? const float P = (horiz ? diffx : diffy) / zigs; // Period of each zig / zag const point_t *side; for (uint8_t j = 0; j < strokes; j++) { @@ -172,11 +172,11 @@ break; case 2: // Raise by Z-park height - do_blocking_move_to_z(min(current_position[Z_AXIS] + park.z, Z_MAX_POS), fr_z); + do_blocking_move_to_z(MIN(current_position[Z_AXIS] + park.z, Z_MAX_POS), fr_z); break; default: // Raise to at least the Z-park height - do_blocking_move_to_z(max(park.z, current_position[Z_AXIS]), fr_z); + do_blocking_move_to_z(MAX(park.z, current_position[Z_AXIS]), fr_z); } do_blocking_move_to_xy(park.x, park.y, fr_xy); diff --git a/Marlin/src/libs/softspi.h b/Marlin/src/libs/softspi.h index b3afcc11d418..e3a28fdc736c 100644 --- a/Marlin/src/libs/softspi.h +++ b/Marlin/src/libs/softspi.h @@ -639,7 +639,7 @@ class DigitalPin { //------------------------------------------------------------------------------ /** Nop for timing. */ -#define nop asm volatile ("nop\n\t") +#define nop __asm__ volatile ("nop") //------------------------------------------------------------------------------ /** Pin Mode for MISO is input.*/ const bool MISO_MODE = false; diff --git a/Marlin/src/libs/stopwatch.cpp b/Marlin/src/libs/stopwatch.cpp index cc9268645ee1..2817190aa6c0 100644 --- a/Marlin/src/libs/stopwatch.cpp +++ b/Marlin/src/libs/stopwatch.cpp @@ -71,6 +71,15 @@ bool Stopwatch::start() { else return false; } +void Stopwatch::resume(const millis_t duration) { + #if ENABLED(DEBUG_STOPWATCH) + Stopwatch::debug(PSTR("resume")); + #endif + + reset(); + if ((accumulator = duration)) state = RUNNING; +} + void Stopwatch::reset() { #if ENABLED(DEBUG_STOPWATCH) Stopwatch::debug(PSTR("reset")); @@ -82,16 +91,8 @@ void Stopwatch::reset() { accumulator = 0; } -bool Stopwatch::isRunning() { - return (state == RUNNING) ? true : false; -} - -bool Stopwatch::isPaused() { - return (state == PAUSED) ? true : false; -} - millis_t Stopwatch::duration() { - return (((isRunning()) ? millis() : stopTimestamp) + return ((isRunning() ? millis() : stopTimestamp) - startTimestamp) / 1000UL + accumulator; } diff --git a/Marlin/src/libs/stopwatch.h b/Marlin/src/libs/stopwatch.h index 3afff31ed04b..69efe0c3a222 100644 --- a/Marlin/src/libs/stopwatch.h +++ b/Marlin/src/libs/stopwatch.h @@ -54,29 +54,35 @@ class Stopwatch { FORCE_INLINE static void init() { reset(); } /** - * @brief Stops the stopwatch - * @details Stops the running timer, it will silently ignore the request if - * no timer is currently running. - * @return true is method was successful + * @brief Stop the stopwatch + * @details Stop the running timer, it will silently ignore the request if + * no timer is currently running. + * @return true on success */ static bool stop(); /** * @brief Pause the stopwatch * @details Pause the running timer, it will silently ignore the request if - * no timer is currently running. - * @return true is method was successful + * no timer is currently running. + * @return true on success */ static bool pause(); /** * @brief Start the stopwatch * @details Start the timer, it will silently ignore the request if the - * timer is already running. - * @return true is method was successful + * timer is already running. + * @return true on success */ static bool start(); + /** + * @brief Resume the stopwatch + * @details Resume a timer from a given duration + */ + static void resume(const millis_t duration); + /** * @brief Reset the stopwatch * @details Reset all settings to their default values. @@ -88,14 +94,14 @@ class Stopwatch { * @details Return true if the timer is currently running, false otherwise. * @return true if stopwatch is running */ - static bool isRunning(); + FORCE_INLINE static bool isRunning() { return state == RUNNING; } /** * @brief Check if the timer is paused * @details Return true if the timer is currently paused, false otherwise. * @return true if stopwatch is paused */ - static bool isPaused(); + FORCE_INLINE static bool isPaused() { return state == PAUSED; } /** * @brief Get the running time diff --git a/Marlin/src/libs/vector_3.cpp b/Marlin/src/libs/vector_3.cpp index 8506cb977b3e..e4fe0afaac06 100644 --- a/Marlin/src/libs/vector_3.cpp +++ b/Marlin/src/libs/vector_3.cpp @@ -41,7 +41,7 @@ #include "../inc/MarlinConfig.h" -#if HAS_ABL +#if ABL_PLANAR || ENABLED(AUTO_BED_LEVELING_UBL) #include "vector_3.h" @@ -69,7 +69,7 @@ vector_3 vector_3::get_normal() { float vector_3::get_length() { return SQRT(sq(x) + sq(y) + sq(z)); } void vector_3::normalize() { - const float inv_length = 1.0 / get_length(); + const float inv_length = RSQRT(sq(x) + sq(y) + sq(z)); x *= inv_length; y *= inv_length; z *= inv_length; diff --git a/Marlin/src/module/configuration_store.cpp b/Marlin/src/module/configuration_store.cpp index ac64ccf37eb0..8af22648b6c6 100644 --- a/Marlin/src/module/configuration_store.cpp +++ b/Marlin/src/module/configuration_store.cpp @@ -37,7 +37,7 @@ */ // Change EEPROM version if the structure changes -#define EEPROM_VERSION "V54" +#define EEPROM_VERSION "V55" #define EEPROM_OFFSET 100 // Check the integrity of data offsets. @@ -77,7 +77,7 @@ #if HAS_TRINAMIC #include "stepper_indirection.h" #include "../feature/tmc_util.h" - #define TMC_GET_PWMTHRS(P,Q) _tmc_thrs(stepper##Q.microsteps(), stepper##Q.TPWMTHRS(), planner.axis_steps_per_mm[P##_AXIS]) + #define TMC_GET_PWMTHRS(A,Q) _tmc_thrs(stepper##Q.microsteps(), stepper##Q.TPWMTHRS(), planner.axis_steps_per_mm[_AXIS(A)]) #endif #if ENABLED(FWRETRACT) @@ -88,6 +88,10 @@ #include "../feature/pause.h" #endif +#if ENABLED(PID_EXTRUSION_SCALING) + #define LPQ_LEN thermalManager.lpq_len +#endif + #pragma pack(push, 1) // No padding between variables typedef struct PID { float Kp, Ki, Kd; } PID; @@ -108,16 +112,17 @@ typedef struct SettingsDataStruct { // uint8_t esteppers; // XYZE_N - XYZ + uint32_t planner_max_acceleration_mm_per_s2[XYZE_N], // M201 XYZE planner.max_acceleration_mm_per_s2[XYZE_N] + planner_min_segment_time_us; // M205 B planner.min_segment_time_us float planner_axis_steps_per_mm[XYZE_N], // M92 XYZE planner.axis_steps_per_mm[XYZE_N] - planner_max_feedrate_mm_s[XYZE_N]; // M203 XYZE planner.max_feedrate_mm_s[XYZE_N] - uint32_t planner_max_acceleration_mm_per_s2[XYZE_N]; // M201 XYZE planner.max_acceleration_mm_per_s2[XYZE_N] - float planner_acceleration, // M204 P planner.acceleration + planner_max_feedrate_mm_s[XYZE_N], // M203 XYZE planner.max_feedrate_mm_s[XYZE_N] + planner_acceleration, // M204 P planner.acceleration planner_retract_acceleration, // M204 R planner.retract_acceleration planner_travel_acceleration, // M204 T planner.travel_acceleration planner_min_feedrate_mm_s, // M205 S planner.min_feedrate_mm_s - planner_min_travel_feedrate_mm_s; // M205 T planner.min_travel_feedrate_mm_s - uint32_t planner_min_segment_time_us; // M205 B planner.min_segment_time_us - float planner_max_jerk[XYZE]; // M205 XYZE planner.max_jerk[XYZE] + planner_min_travel_feedrate_mm_s, // M205 T planner.min_travel_feedrate_mm_s + planner_max_jerk[XYZE], // M205 XYZE planner.max_jerk[XYZE] + planner_junction_deviation_mm; // M205 J planner.junction_deviation_mm float home_offset[XYZ]; // M206 XYZ @@ -198,7 +203,7 @@ typedef struct SettingsDataStruct { // PIDC hotendPID[MAX_EXTRUDERS]; // M301 En PIDC / M303 En U - int lpq_len; // M301 L + int16_t lpq_len; // M301 L // // PIDTEMPBED @@ -325,6 +330,10 @@ void MarlinSettings::postprocess() { fwretract.refresh_autoretract(); #endif + #if ENABLED(JUNCTION_DEVIATION) && ENABLED(LIN_ADVANCE) + planner.recalculate_max_e_jerk(); + #endif + // Refresh steps_to_mm with the reciprocal of axis_steps_per_mm // and init stepper.count[], planner.position[] with current_position planner.refresh_positioning(); @@ -375,7 +384,7 @@ void MarlinSettings::postprocess() { * M500 - Store Configuration */ bool MarlinSettings::save(PORTARG_SOLO) { - float dummy = 0.0f; + float dummy = 0; char ver[4] = "ERR"; uint16_t working_crc = 0; @@ -397,17 +406,25 @@ void MarlinSettings::postprocess() { const uint8_t esteppers = COUNT(planner.axis_steps_per_mm) - XYZ; EEPROM_WRITE(esteppers); + EEPROM_WRITE(planner.max_acceleration_mm_per_s2); + EEPROM_WRITE(planner.min_segment_time_us); EEPROM_WRITE(planner.axis_steps_per_mm); EEPROM_WRITE(planner.max_feedrate_mm_s); - EEPROM_WRITE(planner.max_acceleration_mm_per_s2); - EEPROM_WRITE(planner.acceleration); EEPROM_WRITE(planner.retract_acceleration); EEPROM_WRITE(planner.travel_acceleration); EEPROM_WRITE(planner.min_feedrate_mm_s); EEPROM_WRITE(planner.min_travel_feedrate_mm_s); - EEPROM_WRITE(planner.min_segment_time_us); - EEPROM_WRITE(planner.max_jerk); + + #if ENABLED(JUNCTION_DEVIATION) + const float planner_max_jerk[] = { float(DEFAULT_XJERK), float(DEFAULT_YJERK), float(DEFAULT_ZJERK), float(DEFAULT_EJERK) }; + EEPROM_WRITE(planner_max_jerk); + EEPROM_WRITE(planner.junction_deviation_mm); + #else + EEPROM_WRITE(planner.max_jerk); + dummy = 0.02f; + EEPROM_WRITE(dummy); + #endif _FIELD_TEST(home_offset); @@ -449,7 +466,7 @@ void MarlinSettings::postprocess() { EEPROM_WRITE(mesh_num_y); EEPROM_WRITE(mbl.z_values); #else // For disabled MBL write a default mesh - dummy = 0.0f; + dummy = 0; const uint8_t mesh_num_x = 3, mesh_num_y = 3; EEPROM_WRITE(dummy); // z_offset EEPROM_WRITE(mesh_num_x); @@ -471,7 +488,7 @@ void MarlinSettings::postprocess() { #if ABL_PLANAR EEPROM_WRITE(planner.bed_level_matrix); #else - dummy = 0.0; + dummy = 0; for (uint8_t q = 9; q--;) EEPROM_WRITE(dummy); #endif @@ -495,7 +512,7 @@ void MarlinSettings::postprocess() { // For disabled Bilinear Grid write an empty 3x3 grid const uint8_t grid_max_x = 3, grid_max_y = 3; const int bilinear_start[2] = { 0 }, bilinear_grid_spacing[2] = { 0 }; - dummy = 0.0f; + dummy = 0; EEPROM_WRITE(grid_max_x); EEPROM_WRITE(grid_max_y); EEPROM_WRITE(bilinear_grid_spacing); @@ -533,7 +550,7 @@ void MarlinSettings::postprocess() { _FIELD_TEST(x_endstop_adj); // Write dual endstops in X, Y, Z order. Unused = 0.0 - dummy = 0.0f; + dummy = 0; #if ENABLED(X_DUAL_ENDSTOPS) EEPROM_WRITE(endstops.x_endstop_adj); // 1 float #else @@ -585,7 +602,7 @@ void MarlinSettings::postprocess() { { dummy = DUMMY_PID_VALUE; // When read, will not change the existing value EEPROM_WRITE(dummy); // Kp - dummy = 0.0f; + dummy = 0; for (uint8_t q = 3; q--;) EEPROM_WRITE(dummy); // Ki, Kd, Kc } @@ -594,9 +611,9 @@ void MarlinSettings::postprocess() { _FIELD_TEST(lpq_len); #if DISABLED(PID_EXTRUSION_SCALING) - int lpq_len = 20; + const int16_t LPQ_LEN = 20; #endif - EEPROM_WRITE(lpq_len); + EEPROM_WRITE(LPQ_LEN); #if DISABLED(PIDTEMPBED) dummy = DUMMY_PID_VALUE; @@ -664,57 +681,57 @@ void MarlinSettings::postprocess() { uint16_t tmc_stepper_current[TMC_AXES] = { #if HAS_TRINAMIC - #if X_IS_TRINAMIC + #if AXIS_IS_TMC(X) stepperX.getCurrent(), #else 0, #endif - #if Y_IS_TRINAMIC + #if AXIS_IS_TMC(Y) stepperY.getCurrent(), #else 0, #endif - #if Z_IS_TRINAMIC + #if AXIS_IS_TMC(Z) stepperZ.getCurrent(), #else 0, #endif - #if X2_IS_TRINAMIC + #if AXIS_IS_TMC(X2) stepperX2.getCurrent(), #else 0, #endif - #if Y2_IS_TRINAMIC + #if AXIS_IS_TMC(Y2) stepperY2.getCurrent(), #else 0, #endif - #if Z2_IS_TRINAMIC + #if AXIS_IS_TMC(Z2) stepperZ2.getCurrent(), #else 0, #endif - #if E0_IS_TRINAMIC + #if AXIS_IS_TMC(E0) stepperE0.getCurrent(), #else 0, #endif - #if E1_IS_TRINAMIC + #if AXIS_IS_TMC(E1) stepperE1.getCurrent(), #else 0, #endif - #if E2_IS_TRINAMIC + #if AXIS_IS_TMC(E2) stepperE2.getCurrent(), #else 0, #endif - #if E3_IS_TRINAMIC + #if AXIS_IS_TMC(E3) stepperE3.getCurrent(), #else 0, #endif - #if E4_IS_TRINAMIC + #if AXIS_IS_TMC(E4) stepperE4.getCurrent() #else 0 @@ -733,57 +750,57 @@ void MarlinSettings::postprocess() { uint32_t tmc_hybrid_threshold[TMC_AXES] = { #if ENABLED(HYBRID_THRESHOLD) - #if X_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(X) TMC_GET_PWMTHRS(X, X), #else X_HYBRID_THRESHOLD, #endif - #if Y_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(Y) TMC_GET_PWMTHRS(Y, Y), #else Y_HYBRID_THRESHOLD, #endif - #if Z_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(Z) TMC_GET_PWMTHRS(Z, Z), #else Z_HYBRID_THRESHOLD, #endif - #if X2_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(X2) TMC_GET_PWMTHRS(X, X2), #else X2_HYBRID_THRESHOLD, #endif - #if Y2_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(Y2) TMC_GET_PWMTHRS(Y, Y2), #else Y2_HYBRID_THRESHOLD, #endif - #if Z2_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(Z2) TMC_GET_PWMTHRS(Z, Z2), #else Z2_HYBRID_THRESHOLD, #endif - #if E0_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(E0) TMC_GET_PWMTHRS(E, E0), #else E0_HYBRID_THRESHOLD, #endif - #if E1_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(E1) TMC_GET_PWMTHRS(E, E1), #else E1_HYBRID_THRESHOLD, #endif - #if E2_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(E2) TMC_GET_PWMTHRS(E, E2), #else E2_HYBRID_THRESHOLD, #endif - #if E3_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(E3) TMC_GET_PWMTHRS(E, E3), #else E3_HYBRID_THRESHOLD, #endif - #if E4_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(E4) TMC_GET_PWMTHRS(E, E4) #else E4_HYBRID_THRESHOLD @@ -801,17 +818,17 @@ void MarlinSettings::postprocess() { // int16_t tmc_sgt[XYZ] = { #if ENABLED(SENSORLESS_HOMING) - #if defined(X_HOMING_SENSITIVITY) && (ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS)) + #if X_SENSORLESS stepperX.sgt(), #else 0, #endif - #if defined(Y_HOMING_SENSITIVITY) && (ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS)) + #if Y_SENSORLESS stepperY.sgt(), #else 0, #endif - #if defined(Z_HOMING_SENSITIVITY) && (ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS)) + #if Z_SENSORLESS stepperZ.sgt() #else 0 @@ -831,7 +848,7 @@ void MarlinSettings::postprocess() { #if ENABLED(LIN_ADVANCE) EEPROM_WRITE(planner.extruder_advance_K); #else - dummy = 0.0f; + dummy = 0; EEPROM_WRITE(dummy); #endif @@ -853,7 +870,7 @@ void MarlinSettings::postprocess() { #if ENABLED(CNC_COORDINATE_SYSTEMS) EEPROM_WRITE(gcode.coordinate_system); // 27 floats #else - dummy = 0.0f; + dummy = 0; for (uint8_t q = MAX_COORDINATE_SYSTEMS * XYZ; q--;) EEPROM_WRITE(dummy); #endif @@ -868,7 +885,7 @@ void MarlinSettings::postprocess() { EEPROM_WRITE(planner.xz_skew_factor); EEPROM_WRITE(planner.yz_skew_factor); #else - dummy = 0.0f; + dummy = 0; for (uint8_t q = 3; q--;) EEPROM_WRITE(dummy); #endif @@ -888,7 +905,7 @@ void MarlinSettings::postprocess() { EEPROM_WRITE(dummy); } #else - dummy = 0.0f; + dummy = 0; for (uint8_t q = MAX_EXTRUDERS * 2; q--;) EEPROM_WRITE(dummy); #endif @@ -954,7 +971,6 @@ void MarlinSettings::postprocess() { SERIAL_ECHOPAIR_P(port, "(EEPROM=", stored_ver); SERIAL_ECHOLNPGM_P(port, " Marlin=" EEPROM_VERSION ")"); #endif - if (!validating) reset(); eeprom_error = true; } else { @@ -977,17 +993,20 @@ void MarlinSettings::postprocess() { // Get only the number of E stepper parameters previously stored // Any steppers added later are set to their defaults - const float def1[] = DEFAULT_AXIS_STEPS_PER_UNIT, def2[] = DEFAULT_MAX_FEEDRATE; - const uint32_t def3[] = DEFAULT_MAX_ACCELERATION; - float tmp1[XYZ + esteppers], tmp2[XYZ + esteppers]; - uint32_t tmp3[XYZ + esteppers]; - EEPROM_READ(tmp1); - EEPROM_READ(tmp2); - EEPROM_READ(tmp3); + const uint32_t def1[] = DEFAULT_MAX_ACCELERATION; + const float def2[] = DEFAULT_AXIS_STEPS_PER_UNIT, def3[] = DEFAULT_MAX_FEEDRATE; + + uint32_t tmp1[XYZ + esteppers]; + EEPROM_READ(tmp1); // max_acceleration_mm_per_s2 + EEPROM_READ(planner.min_segment_time_us); + + float tmp2[XYZ + esteppers], tmp3[XYZ + esteppers]; + EEPROM_READ(tmp2); // axis_steps_per_mm + EEPROM_READ(tmp3); // max_feedrate_mm_s if (!validating) LOOP_XYZE_N(i) { - planner.axis_steps_per_mm[i] = i < XYZ + esteppers ? tmp1[i] : def1[i < COUNT(def1) ? i : COUNT(def1) - 1]; - planner.max_feedrate_mm_s[i] = i < XYZ + esteppers ? tmp2[i] : def2[i < COUNT(def2) ? i : COUNT(def2) - 1]; - planner.max_acceleration_mm_per_s2[i] = i < XYZ + esteppers ? tmp3[i] : def3[i < COUNT(def3) ? i : COUNT(def3) - 1]; + planner.max_acceleration_mm_per_s2[i] = i < XYZ + esteppers ? tmp1[i] : def1[i < COUNT(def1) ? i : COUNT(def1) - 1]; + planner.axis_steps_per_mm[i] = i < XYZ + esteppers ? tmp2[i] : def2[i < COUNT(def2) ? i : COUNT(def2) - 1]; + planner.max_feedrate_mm_s[i] = i < XYZ + esteppers ? tmp3[i] : def3[i < COUNT(def3) ? i : COUNT(def3) - 1]; } EEPROM_READ(planner.acceleration); @@ -995,8 +1014,14 @@ void MarlinSettings::postprocess() { EEPROM_READ(planner.travel_acceleration); EEPROM_READ(planner.min_feedrate_mm_s); EEPROM_READ(planner.min_travel_feedrate_mm_s); - EEPROM_READ(planner.min_segment_time_us); - EEPROM_READ(planner.max_jerk); + + #if ENABLED(JUNCTION_DEVIATION) + for (uint8_t q = 4; q--;) EEPROM_READ(dummy); + EEPROM_READ(planner.junction_deviation_mm); + #else + EEPROM_READ(planner.max_jerk); + EEPROM_READ(dummy); + #endif // // Home Offset (M206) @@ -1200,9 +1225,9 @@ void MarlinSettings::postprocess() { _FIELD_TEST(lpq_len); #if DISABLED(PID_EXTRUSION_SCALING) - int lpq_len; + int16_t LPQ_LEN; #endif - EEPROM_READ(lpq_len); + EEPROM_READ(LPQ_LEN); // // Heated Bed PID @@ -1286,37 +1311,37 @@ void MarlinSettings::postprocess() { uint16_t currents[TMC_AXES]; EEPROM_READ(currents); if (!validating) { - #if X_IS_TRINAMIC + #if AXIS_IS_TMC(X) SET_CURR(X); #endif - #if Y_IS_TRINAMIC + #if AXIS_IS_TMC(Y) SET_CURR(Y); #endif - #if Z_IS_TRINAMIC + #if AXIS_IS_TMC(Z) SET_CURR(Z); #endif - #if X2_IS_TRINAMIC + #if AXIS_IS_TMC(X2) SET_CURR(X2); #endif - #if Y2_IS_TRINAMIC + #if AXIS_IS_TMC(Y2) SET_CURR(Y2); #endif - #if Z2_IS_TRINAMIC + #if AXIS_IS_TMC(Z2) SET_CURR(Z2); #endif - #if E0_IS_TRINAMIC + #if AXIS_IS_TMC(E0) SET_CURR(E0); #endif - #if E1_IS_TRINAMIC + #if AXIS_IS_TMC(E1) SET_CURR(E1); #endif - #if E2_IS_TRINAMIC + #if AXIS_IS_TMC(E2) SET_CURR(E2); #endif - #if E3_IS_TRINAMIC + #if AXIS_IS_TMC(E3) SET_CURR(E3); #endif - #if E4_IS_TRINAMIC + #if AXIS_IS_TMC(E4) SET_CURR(E4); #endif } @@ -1326,41 +1351,41 @@ void MarlinSettings::postprocess() { #endif #if ENABLED(HYBRID_THRESHOLD) - #define TMC_SET_PWMTHRS(P,Q) tmc_set_pwmthrs(stepper##Q, TMC_##Q, tmc_hybrid_threshold[TMC_##Q], planner.axis_steps_per_mm[P##_AXIS]) + #define TMC_SET_PWMTHRS(A,Q) tmc_set_pwmthrs(stepper##Q, tmc_hybrid_threshold[TMC_##Q], planner.axis_steps_per_mm[_AXIS(A)]) uint32_t tmc_hybrid_threshold[TMC_AXES]; EEPROM_READ(tmc_hybrid_threshold); if (!validating) { - #if X_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(X) TMC_SET_PWMTHRS(X, X); #endif - #if Y_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(Y) TMC_SET_PWMTHRS(Y, Y); #endif - #if Z_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(Z) TMC_SET_PWMTHRS(Z, Z); #endif - #if X2_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(X2) TMC_SET_PWMTHRS(X, X2); #endif - #if Y2_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(Y2) TMC_SET_PWMTHRS(Y, Y2); #endif - #if Z2_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(Z2) TMC_SET_PWMTHRS(Z, Z2); #endif - #if E0_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(E0) TMC_SET_PWMTHRS(E, E0); #endif - #if E1_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(E1) TMC_SET_PWMTHRS(E, E1); #endif - #if E2_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(E2) TMC_SET_PWMTHRS(E, E2); #endif - #if E3_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(E3) TMC_SET_PWMTHRS(E, E3); #endif - #if E4_IS_TRINAMIC + #if AXIS_HAS_STEALTHCHOP(E4) TMC_SET_PWMTHRS(E, E4); #endif } @@ -1380,26 +1405,26 @@ void MarlinSettings::postprocess() { #if ENABLED(SENSORLESS_HOMING) if (!validating) { #ifdef X_HOMING_SENSITIVITY - #if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS) + #if AXIS_HAS_STALLGUARD(X) stepperX.sgt(tmc_sgt[0]); #endif - #if ENABLED(X2_IS_TMC2130) + #if AXIS_HAS_STALLGUARD(X2) stepperX2.sgt(tmc_sgt[0]); #endif #endif #ifdef Y_HOMING_SENSITIVITY - #if ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS) + #if AXIS_HAS_STALLGUARD(Y) stepperY.sgt(tmc_sgt[1]); #endif - #if ENABLED(Y2_IS_TMC2130) + #if AXIS_HAS_STALLGUARD(Y2) stepperY2.sgt(tmc_sgt[1]); #endif #endif #ifdef Z_HOMING_SENSITIVITY - #if ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS) + #if AXIS_HAS_STALLGUARD(Z) stepperZ.sgt(tmc_sgt[2]); #endif - #if ENABLED(Z2_IS_TMC2130) + #if AXIS_HAS_STALLGUARD(Z2) stepperZ2.sgt(tmc_sgt[2]); #endif #endif @@ -1511,14 +1536,12 @@ void MarlinSettings::postprocess() { #endif } - if (!validating) { - if (eeprom_error) reset(); else postprocess(); - } + if (!validating && !eeprom_error) postprocess(); #if ENABLED(AUTO_BED_LEVELING_UBL) - ubl.report_state(); - if (!validating) { + ubl.report_state(); + if (!ubl.sanity_check()) { SERIAL_EOL_P(port); #if ENABLED(EEPROM_CHITCHAT) @@ -1584,7 +1607,7 @@ void MarlinSettings::postprocess() { } #endif - int16_t MarlinSettings::meshes_start_index() { + uint16_t MarlinSettings::meshes_start_index() { return (datasize() + EEPROM_OFFSET + 32) & 0xFFF8; // Pad the end of configuration data so it can float up // or down a little bit without disrupting the mesh data } @@ -1702,16 +1725,21 @@ void MarlinSettings::reset(PORTARG_SOLO) { planner.max_acceleration_mm_per_s2[i] = pgm_read_dword_near(&tmp3[i < COUNT(tmp3) ? i : COUNT(tmp3) - 1]); } + planner.min_segment_time_us = DEFAULT_MINSEGMENTTIME; planner.acceleration = DEFAULT_ACCELERATION; planner.retract_acceleration = DEFAULT_RETRACT_ACCELERATION; planner.travel_acceleration = DEFAULT_TRAVEL_ACCELERATION; planner.min_feedrate_mm_s = DEFAULT_MINIMUMFEEDRATE; planner.min_travel_feedrate_mm_s = DEFAULT_MINTRAVELFEEDRATE; - planner.min_segment_time_us = DEFAULT_MINSEGMENTTIME; - planner.max_jerk[X_AXIS] = DEFAULT_XJERK; - planner.max_jerk[Y_AXIS] = DEFAULT_YJERK; - planner.max_jerk[Z_AXIS] = DEFAULT_ZJERK; - planner.max_jerk[E_AXIS] = DEFAULT_EJERK; + + #if ENABLED(JUNCTION_DEVIATION) + planner.junction_deviation_mm = float(JUNCTION_DEVIATION_MM); + #else + planner.max_jerk[X_AXIS] = DEFAULT_XJERK; + planner.max_jerk[Y_AXIS] = DEFAULT_YJERK; + planner.max_jerk[Z_AXIS] = DEFAULT_ZJERK; + planner.max_jerk[E_AXIS] = DEFAULT_EJERK; + #endif #if HAS_HOME_OFFSET ZERO(home_offset); @@ -1807,7 +1835,7 @@ void MarlinSettings::reset(PORTARG_SOLO) { HOTEND_LOOP() #endif { - PID_PARAM(Kp, e) = DEFAULT_Kp; + PID_PARAM(Kp, e) = float(DEFAULT_Kp); PID_PARAM(Ki, e) = scalePID_i(DEFAULT_Ki); PID_PARAM(Kd, e) = scalePID_d(DEFAULT_Kd); #if ENABLED(PID_EXTRUSION_SCALING) @@ -1815,7 +1843,7 @@ void MarlinSettings::reset(PORTARG_SOLO) { #endif } #if ENABLED(PID_EXTRUSION_SCALING) - lpq_len = 20; // default last-position-queue size + thermalManager.lpq_len = 20; // default last-position-queue size #endif #endif // PIDTEMP @@ -1876,9 +1904,9 @@ void MarlinSettings::reset(PORTARG_SOLO) { #endif #if ENABLED(ADVANCED_PAUSE_FEATURE) - for (uint8_t e = 0; e < E_STEPPERS; e++) { + for (uint8_t e = 0; e < EXTRUDERS; e++) { filament_change_unload_length[e] = FILAMENT_CHANGE_UNLOAD_LENGTH; - filament_change_load_length[e] = FILAMENT_CHANGE_LOAD_LENGTH; + filament_change_load_length[e] = FILAMENT_CHANGE_FAST_LOAD_LENGTH; } #endif @@ -1895,12 +1923,12 @@ void MarlinSettings::reset(PORTARG_SOLO) { #define CONFIG_ECHO_START do{ if (!forReplay) SERIAL_ECHO_START_P(port); }while(0) #if HAS_TRINAMIC - void say_M906(PORTARG_SOLO) { SERIAL_ECHOPGM_P(port, " M906 "); } + void say_M906(PORTARG_SOLO) { SERIAL_ECHOPGM_P(port, " M906"); } #if ENABLED(HYBRID_THRESHOLD) - void say_M913(PORTARG_SOLO) { SERIAL_ECHOPGM_P(port, " M913 "); } + void say_M913(PORTARG_SOLO) { SERIAL_ECHOPGM_P(port, " M913"); } #endif #if ENABLED(SENSORLESS_HOMING) - void say_M914(PORTARG_SOLO) { SERIAL_ECHOPGM_P(port, " M914 "); } + void say_M914(PORTARG_SOLO) { SERIAL_ECHOPGM_P(port, " M914"); } #endif #endif @@ -1908,6 +1936,26 @@ void MarlinSettings::reset(PORTARG_SOLO) { void say_M603(PORTARG_SOLO) { SERIAL_ECHOPGM_P(port, " M603 "); } #endif + inline void say_units( + #if NUM_SERIAL > 1 + const int8_t port, + #endif + const bool colon + ) { + serialprintPGM_P(port, + #if ENABLED(INCH_MODE_SUPPORT) + parser.linear_unit_factor != 1.0 ? PSTR(" (in)") : + #endif + PSTR(" (mm)") + ); + if (colon) SERIAL_ECHOLNPGM_P(port, ":"); + } + #if NUM_SERIAL > 1 + #define SAY_UNITS_P(PORT, COLON) say_units(PORT, COLON) + #else + #define SAY_UNITS_P(PORT, COLON) say_units(COLON) + #endif + /** * M503 - Report current settings in RAM * @@ -1927,13 +1975,15 @@ void MarlinSettings::reset(PORTARG_SOLO) { #define VOLUMETRIC_UNIT(N) (float(N) / (parser.volumetric_enabled ? parser.volumetric_unit_factor : parser.linear_unit_factor)) SERIAL_ECHOPGM_P(port, " G2"); SERIAL_CHAR_P(port, parser.linear_unit_factor == 1.0 ? '1' : '0'); - SERIAL_ECHOPGM_P(port, " ; Units in "); - serialprintPGM_P(port, parser.linear_unit_factor == 1.0 ? PSTR("mm\n") : PSTR("inches\n")); + SERIAL_ECHOPGM_P(port, " ;"); + SAY_UNITS_P(port, false); #else #define LINEAR_UNIT(N) (N) #define VOLUMETRIC_UNIT(N) (N) - SERIAL_ECHOLNPGM_P(port, " G21 ; Units in mm"); + SERIAL_ECHOPGM_P(port, " G21 ; Units in mm"); + SAY_UNITS_P(port, false); #endif + SERIAL_EOL_P(port); #if ENABLED(ULTIPANEL) @@ -2071,16 +2121,32 @@ void MarlinSettings::reset(PORTARG_SOLO) { if (!forReplay) { CONFIG_ECHO_START; - SERIAL_ECHOLNPGM_P(port, "Advanced: S T B X Z E"); + SERIAL_ECHOPGM_P(port, "Advanced: B S T"); + #if ENABLED(JUNCTION_DEVIATION) + SERIAL_ECHOPGM_P(port, " J"); + #else + SERIAL_ECHOPGM_P(port, " X Y Z"); + #endif + #if DISABLED(JUNCTION_DEVIATION) || ENABLED(LIN_ADVANCE) + SERIAL_ECHOPGM_P(port, " E"); + #endif + SERIAL_EOL_P(port); } CONFIG_ECHO_START; - SERIAL_ECHOPAIR_P(port, " M205 S", LINEAR_UNIT(planner.min_feedrate_mm_s)); + SERIAL_ECHOPAIR_P(port, " M205 B", LINEAR_UNIT(planner.min_segment_time_us)); + SERIAL_ECHOPAIR_P(port, " S", LINEAR_UNIT(planner.min_feedrate_mm_s)); SERIAL_ECHOPAIR_P(port, " T", LINEAR_UNIT(planner.min_travel_feedrate_mm_s)); - SERIAL_ECHOPAIR_P(port, " B", planner.min_segment_time_us); - SERIAL_ECHOPAIR_P(port, " X", LINEAR_UNIT(planner.max_jerk[X_AXIS])); - SERIAL_ECHOPAIR_P(port, " Y", LINEAR_UNIT(planner.max_jerk[Y_AXIS])); - SERIAL_ECHOPAIR_P(port, " Z", LINEAR_UNIT(planner.max_jerk[Z_AXIS])); - SERIAL_ECHOLNPAIR_P(port, " E", LINEAR_UNIT(planner.max_jerk[E_AXIS])); + + #if ENABLED(JUNCTION_DEVIATION) + SERIAL_ECHOPAIR_P(port, " J", LINEAR_UNIT(planner.junction_deviation_mm)); + #else + SERIAL_ECHOPAIR_P(port, " X", LINEAR_UNIT(planner.max_jerk[X_AXIS])); + SERIAL_ECHOPAIR_P(port, " Y", LINEAR_UNIT(planner.max_jerk[Y_AXIS])); + SERIAL_ECHOPAIR_P(port, " Z", LINEAR_UNIT(planner.max_jerk[Z_AXIS])); + SERIAL_ECHOPAIR_P(port, " E", LINEAR_UNIT(planner.max_jerk[E_AXIS])); + #endif + + SERIAL_EOL_P(port); #if HAS_M206_COMMAND if (!forReplay) { @@ -2103,7 +2169,7 @@ void MarlinSettings::reset(PORTARG_SOLO) { SERIAL_ECHOPAIR_P(port, " M218 T", (int)e); SERIAL_ECHOPAIR_P(port, " X", LINEAR_UNIT(hotend_offset[X_AXIS][e])); SERIAL_ECHOPAIR_P(port, " Y", LINEAR_UNIT(hotend_offset[Y_AXIS][e])); - #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(SWITCHING_NOZZLE) ||ENABLED(PARKING_EXTRUDER) + #if HAS_HOTEND_OFFSET_Z SERIAL_ECHOPAIR_P(port, " Z", LINEAR_UNIT(hotend_offset[Z_AXIS][e])); #endif SERIAL_EOL_P(port); @@ -2171,16 +2237,16 @@ void MarlinSettings::reset(PORTARG_SOLO) { SERIAL_ECHOLNPGM_P(port, " meshes.\n"); } - ubl.report_current_mesh(PORTVAR_SOLO); - +// ubl.report_current_mesh(PORTVAR_SOLO); // This is too verbose for large mesh's. A better (more terse) + // solution needs to be found. #elif ENABLED(AUTO_BED_LEVELING_BILINEAR) if (leveling_is_valid()) { for (uint8_t py = 0; py < GRID_MAX_POINTS_Y; py++) { for (uint8_t px = 0; px < GRID_MAX_POINTS_X; px++) { CONFIG_ECHO_START; - SERIAL_ECHOPAIR_P(port, " G29 W I", (int)px + 1); - SERIAL_ECHOPAIR_P(port, " J", (int)py + 1); + SERIAL_ECHOPAIR_P(port, " G29 W I", (int)px); + SERIAL_ECHOPAIR_P(port, " J", (int)py); SERIAL_ECHOPGM_P(port, " Z"); SERIAL_ECHO_F_P(port, LINEAR_UNIT(z_values[px][py]), 5); SERIAL_EOL_P(port); @@ -2269,7 +2335,7 @@ void MarlinSettings::reset(PORTARG_SOLO) { SERIAL_ECHOPAIR_P(port, " D", unscalePID_d(PID_PARAM(Kd, e))); #if ENABLED(PID_EXTRUSION_SCALING) SERIAL_ECHOPAIR_P(port, " C", PID_PARAM(Kc, e)); - if (e == 0) SERIAL_ECHOPAIR_P(port, " L", lpq_len); + if (e == 0) SERIAL_ECHOPAIR_P(port, " L", thermalManager.lpq_len); #endif SERIAL_EOL_P(port); } @@ -2284,7 +2350,7 @@ void MarlinSettings::reset(PORTARG_SOLO) { SERIAL_ECHOPAIR_P(port, " D", unscalePID_d(PID_PARAM(Kd, 0))); #if ENABLED(PID_EXTRUSION_SCALING) SERIAL_ECHOPAIR_P(port, " C", PID_PARAM(Kc, 0)); - SERIAL_ECHOPAIR_P(port, " L", lpq_len); + SERIAL_ECHOPAIR_P(port, " L", thermalManager.lpq_len); #endif SERIAL_EOL_P(port); } @@ -2345,7 +2411,8 @@ void MarlinSettings::reset(PORTARG_SOLO) { #if HAS_BED_PROBE if (!forReplay) { CONFIG_ECHO_START; - SERIAL_ECHOLNPGM_P(port, "Z-Probe Offset (mm):"); + SERIAL_ECHOPGM_P(port, "Z-Probe Offset (mm):"); + SAY_UNITS_P(port, true); } CONFIG_ECHO_START; SERIAL_ECHOLNPAIR_P(port, " M851 Z", LINEAR_UNIT(zprobe_zoffset)); @@ -2378,56 +2445,63 @@ void MarlinSettings::reset(PORTARG_SOLO) { #if HAS_TRINAMIC /** - * TMC2130 / TMC2208 / TRAMS stepper driver current + * TMC2130 / TMC2208 stepper driver current */ if (!forReplay) { CONFIG_ECHO_START; SERIAL_ECHOLNPGM_P(port, "Stepper driver current:"); } CONFIG_ECHO_START; - #if X_IS_TRINAMIC + #if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "X", stepperX.getCurrent()); #endif - #if X2_IS_TRINAMIC - say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "I1 X", stepperX2.getCurrent()); + #if AXIS_IS_TMC(X) + SERIAL_ECHOPAIR_P(port, " X", stepperX.getCurrent()); #endif - #if Y_IS_TRINAMIC - say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "Y", stepperY.getCurrent()); + #if AXIS_IS_TMC(Y) + SERIAL_ECHOPAIR_P(port, " Y", stepperY.getCurrent()); #endif - #if Y2_IS_TRINAMIC - say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "I1 Y", stepperY2.getCurrent()); + #if AXIS_IS_TMC(Z) + SERIAL_ECHOPAIR_P(port, " Z", stepperZ.getCurrent()); #endif - #if Z_IS_TRINAMIC - say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "Z", stepperZ.getCurrent()); + #if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z) + SERIAL_EOL_P(port); #endif - #if Z2_IS_TRINAMIC + #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "I1 Z", stepperZ2.getCurrent()); + SERIAL_ECHOPGM_P(port, " I1"); + #endif + #if AXIS_IS_TMC(X2) + SERIAL_ECHOPAIR_P(port, " X", stepperX2.getCurrent()); + #endif + #if AXIS_IS_TMC(Y2) + SERIAL_ECHOPAIR_P(port, " Y", stepperY2.getCurrent()); + #endif + #if AXIS_IS_TMC(Z2) + SERIAL_ECHOPAIR_P(port, " Z", stepperZ2.getCurrent()); + #endif + #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2) + SERIAL_EOL_P(port); #endif - #if E0_IS_TRINAMIC + #if AXIS_IS_TMC(E0) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "T0 E", stepperE0.getCurrent()); + SERIAL_ECHOLNPAIR_P(port, " T0 E", stepperE0.getCurrent()); #endif - #if E_STEPPERS > 1 && E1_IS_TRINAMIC + #if E_STEPPERS > 1 && AXIS_IS_TMC(E1) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "T1 E", stepperE1.getCurrent()); + SERIAL_ECHOLNPAIR_P(port, " T1 E", stepperE1.getCurrent()); #endif - #if E_STEPPERS > 2 && E2_IS_TRINAMIC + #if E_STEPPERS > 2 && AXIS_IS_TMC(E2) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "T2 E", stepperE2.getCurrent()); + SERIAL_ECHOLNPAIR_P(port, " T2 E", stepperE2.getCurrent()); #endif - #if E_STEPPERS > 3 && E3_IS_TRINAMIC + #if E_STEPPERS > 3 && AXIS_IS_TMC(E3) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "T3 E", stepperE3.getCurrent()); + SERIAL_ECHOLNPAIR_P(port, " T3 E", stepperE3.getCurrent()); #endif - #if E_STEPPERS > 4 && E4_IS_TRINAMIC + #if E_STEPPERS > 4 && AXIS_IS_TMC(E4) say_M906(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "T4 E", stepperE4.getCurrent()); + SERIAL_ECHOLNPAIR_P(port, " T4 E", stepperE4.getCurrent()); #endif SERIAL_EOL_P(port); @@ -2440,49 +2514,56 @@ void MarlinSettings::reset(PORTARG_SOLO) { SERIAL_ECHOLNPGM_P(port, "Hybrid Threshold:"); } CONFIG_ECHO_START; - #if X_IS_TRINAMIC + #if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z) say_M913(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "X", TMC_GET_PWMTHRS(X, X)); #endif - #if X2_IS_TRINAMIC - say_M913(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "I1 X", TMC_GET_PWMTHRS(X, X2)); + #if AXIS_IS_TMC(X) + SERIAL_ECHOPAIR_P(port, " X", TMC_GET_PWMTHRS(X, X)); #endif - #if Y_IS_TRINAMIC - say_M913(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "Y", TMC_GET_PWMTHRS(Y, Y)); + #if AXIS_IS_TMC(Y) + SERIAL_ECHOPAIR_P(port, " Y", TMC_GET_PWMTHRS(Y, Y)); #endif - #if Y2_IS_TRINAMIC - say_M913(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "I1 Y", TMC_GET_PWMTHRS(Y, Y2)); + #if AXIS_IS_TMC(Z) + SERIAL_ECHOPAIR_P(port, " Z", TMC_GET_PWMTHRS(Z, Z)); #endif - #if Z_IS_TRINAMIC - say_M913(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "Z", TMC_GET_PWMTHRS(Z, Z)); + #if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z) + SERIAL_EOL_P(port); #endif - #if Z2_IS_TRINAMIC + #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2) say_M913(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "I1 Z", TMC_GET_PWMTHRS(Z, Z2)); + SERIAL_ECHOPGM_P(port, " I1"); + #endif + #if AXIS_IS_TMC(X2) + SERIAL_ECHOPAIR_P(port, " X", TMC_GET_PWMTHRS(X, X2)); + #endif + #if AXIS_IS_TMC(Y2) + SERIAL_ECHOPAIR_P(port, " Y", TMC_GET_PWMTHRS(Y, Y2)); + #endif + #if AXIS_IS_TMC(Z2) + SERIAL_ECHOPAIR_P(port, " Z", TMC_GET_PWMTHRS(Z, Z2)); + #endif + #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2) + SERIAL_EOL_P(port); #endif - #if E0_IS_TRINAMIC + #if AXIS_IS_TMC(E0) say_M913(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "T0 E", TMC_GET_PWMTHRS(E, E0)); + SERIAL_ECHOLNPAIR_P(port, " T0 E", TMC_GET_PWMTHRS(E, E0)); #endif - #if E_STEPPERS > 1 && E1_IS_TRINAMIC + #if E_STEPPERS > 1 && AXIS_IS_TMC(E1) say_M913(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "T1 E", TMC_GET_PWMTHRS(E, E1)); + SERIAL_ECHOLNPAIR_P(port, " T1 E", TMC_GET_PWMTHRS(E, E1)); #endif - #if E_STEPPERS > 2 && E2_IS_TRINAMIC + #if E_STEPPERS > 2 && AXIS_IS_TMC(E2) say_M913(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "T2 E", TMC_GET_PWMTHRS(E, E2)); + SERIAL_ECHOLNPAIR_P(port, " T2 E", TMC_GET_PWMTHRS(E, E2)); #endif - #if E_STEPPERS > 3 && E3_IS_TRINAMIC + #if E_STEPPERS > 3 && AXIS_IS_TMC(E3) say_M913(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "T3 E", TMC_GET_PWMTHRS(E, E3)); + SERIAL_ECHOLNPAIR_P(port, " T3 E", TMC_GET_PWMTHRS(E, E3)); #endif - #if E_STEPPERS > 4 && E4_IS_TRINAMIC + #if E_STEPPERS > 4 && AXIS_IS_TMC(E4) say_M913(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "T4 E", TMC_GET_PWMTHRS(E, E4)); + SERIAL_ECHOLNPAIR_P(port, " T4 E", TMC_GET_PWMTHRS(E, E4)); #endif SERIAL_EOL_P(port); #endif // HYBRID_THRESHOLD @@ -2496,38 +2577,39 @@ void MarlinSettings::reset(PORTARG_SOLO) { SERIAL_ECHOLNPGM_P(port, "Sensorless homing threshold:"); } CONFIG_ECHO_START; - #ifdef X_HOMING_SENSITIVITY - #if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS) - say_M914(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "X", stepperX.sgt()); + #if X_SENSORLESS || Y_SENSORLESS || Z_SENSORLESS + say_M914(PORTVAR_SOLO); + #if X_SENSORLESS + SERIAL_ECHOPAIR_P(port, " X", stepperX.sgt()); #endif - #if ENABLED(X2_IS_TMC2130) - say_M914(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "I1 X", stepperX2.sgt()); + #if Y_SENSORLESS + SERIAL_ECHOPAIR_P(port, " Y", stepperY.sgt()); #endif - #endif - #ifdef Y_HOMING_SENSITIVITY - #if ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS) - say_M914(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "Y", stepperY.sgt()); - #endif - #if ENABLED(Y2_IS_TMC2130) - say_M914(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "I1 Y", stepperY2.sgt()); + #if Z_SENSORLESS + SERIAL_ECHOPAIR_P(port, " Z", stepperZ.sgt()); #endif + SERIAL_EOL_P(port); #endif - #ifdef Z_HOMING_SENSITIVITY - #if ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS) - say_M914(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "Z", stepperZ.sgt()); + + #define HAS_X2_SENSORLESS (defined(X_HOMING_SENSITIVITY) && AXIS_HAS_STALLGUARD(X2)) + #define HAS_Y2_SENSORLESS (defined(Y_HOMING_SENSITIVITY) && AXIS_HAS_STALLGUARD(Y2)) + #define HAS_Z2_SENSORLESS (defined(Z_HOMING_SENSITIVITY) && AXIS_HAS_STALLGUARD(Z2)) + #if HAS_X2_SENSORLESS || HAS_Y2_SENSORLESS || HAS_Z2_SENSORLESS + say_M914(PORTVAR_SOLO); + SERIAL_ECHOPGM_P(port, " I1"); + #if HAS_X2_SENSORLESS + SERIAL_ECHOPAIR_P(port, " X", stepperX2.sgt()); + #endif + #if HAS_Y2_SENSORLESS + SERIAL_ECHOPAIR_P(port, " Y", stepperY2.sgt()); #endif - #if ENABLED(Z2_IS_TMC2130) - say_M914(PORTVAR_SOLO); - SERIAL_ECHOLNPAIR_P(port, "I1 Z", stepperZ2.sgt()); + #if HAS_Z2_SENSORLESS + SERIAL_ECHOPAIR_P(port, " Z", stepperZ2.sgt()); #endif + SERIAL_EOL_P(port); #endif - SERIAL_EOL_P(port); - #endif + + #endif // SENSORLESS_HOMING #endif // HAS_TRINAMIC diff --git a/Marlin/src/module/configuration_store.h b/Marlin/src/module/configuration_store.h index 0a8ca90f1f07..b093c9965dcd 100644 --- a/Marlin/src/module/configuration_store.h +++ b/Marlin/src/module/configuration_store.h @@ -45,15 +45,16 @@ class MarlinSettings { static bool save(PORTINIT_SOLO); // Return 'true' if data was saved FORCE_INLINE static bool init_eeprom() { - bool success = true; reset(); #if ENABLED(EEPROM_SETTINGS) - success = save(); + const bool success = save(); #if ENABLED(EEPROM_CHITCHAT) if (success) report(); #endif + return success; + #else + return true; #endif - return success; } #if ENABLED(EEPROM_SETTINGS) @@ -62,8 +63,8 @@ class MarlinSettings { #if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system // That can store is enabled - static int16_t meshes_start_index(); - FORCE_INLINE static int16_t meshes_end_index() { return meshes_end; } + static uint16_t meshes_start_index(); + FORCE_INLINE static uint16_t meshes_end_index() { return meshes_end; } static uint16_t calc_num_meshes(); static int mesh_slot_offset(const int8_t slot); static void store_mesh(const int8_t slot); @@ -97,8 +98,8 @@ class MarlinSettings { #if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system // That can store is enabled - static constexpr int16_t meshes_end = E2END - 128; // 128 is a placeholder for the size of the MAT; the MAT will always - // live at the very end of the eeprom + static constexpr uint16_t meshes_end = E2END - 128; // 128 is a placeholder for the size of the MAT; the MAT will always + // live at the very end of the eeprom #endif diff --git a/Marlin/src/module/delta.cpp b/Marlin/src/module/delta.cpp index 62b3888f2b03..308eed106f56 100644 --- a/Marlin/src/module/delta.cpp +++ b/Marlin/src/module/delta.cpp @@ -32,7 +32,7 @@ #include "motion.h" // For homing: -#include "stepper.h" +#include "planner.h" #include "endstops.h" #include "../lcd/ultralcd.h" #include "../Marlin.h" @@ -73,7 +73,7 @@ void recalc_delta_settings() { delta_diagonal_rod_2_tower[B_AXIS] = sq(delta_diagonal_rod + drt[B_AXIS]); delta_diagonal_rod_2_tower[C_AXIS] = sq(delta_diagonal_rod + drt[C_AXIS]); update_software_endstops(Z_AXIS); - axis_homed[X_AXIS] = axis_homed[Y_AXIS] = axis_homed[Z_AXIS] = false; + axis_homed = 0; } /** @@ -90,31 +90,8 @@ void recalc_delta_settings() { * * - Disable the home_offset (M206) and/or position_shift (G92) * features to remove up to 12 float additions. - * - * - Use a fast-inverse-sqrt function and add the reciprocal. - * (see above) */ -#if ENABLED(DELTA_FAST_SQRT) && defined(__AVR__) - /** - * Fast inverse sqrt from Quake III Arena - * See: https://en.wikipedia.org/wiki/Fast_inverse_square_root - */ - float Q_rsqrt(float number) { - long i; - float x2, y; - const float threehalfs = 1.5f; - x2 = number * 0.5f; - y = number; - i = * ( long * ) &y; // evil floating point bit level hacking - i = 0x5F3759DF - ( i >> 1 ); // what the f***? - y = * ( float * ) &i; - y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration - // y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed - return y; - } -#endif - #define DELTA_DEBUG(VAR) do { \ SERIAL_ECHOPAIR("cartesian X:", VAR[X_AXIS]); \ SERIAL_ECHOPAIR(" Y:", VAR[Y_AXIS]); \ @@ -150,7 +127,7 @@ float delta_safe_distance_from_top() { float centered_extent = delta[A_AXIS]; cartesian[Y_AXIS] = DELTA_PRINTABLE_RADIUS; inverse_kinematics(cartesian); - return FABS(centered_extent - delta[A_AXIS]); + return ABS(centered_extent - delta[A_AXIS]); } /** @@ -178,55 +155,55 @@ float delta_safe_distance_from_top() { * * The result is stored in the cartes[] array. */ -void forward_kinematics_DELTA(float z1, float z2, float z3) { +void forward_kinematics_DELTA(const float &z1, const float &z2, const float &z3) { // Create a vector in old coordinates along x axis of new coordinate - float p12[3] = { delta_tower[B_AXIS][X_AXIS] - delta_tower[A_AXIS][X_AXIS], delta_tower[B_AXIS][Y_AXIS] - delta_tower[A_AXIS][Y_AXIS], z2 - z1 }; + const float p12[3] = { delta_tower[B_AXIS][X_AXIS] - delta_tower[A_AXIS][X_AXIS], delta_tower[B_AXIS][Y_AXIS] - delta_tower[A_AXIS][Y_AXIS], z2 - z1 }, - // Get the Magnitude of vector. - float d = SQRT( sq(p12[0]) + sq(p12[1]) + sq(p12[2]) ); + // Get the reciprocal of Magnitude of vector. + d2 = sq(p12[0]) + sq(p12[1]) + sq(p12[2]), inv_d = RSQRT(d2), - // Create unit vector by dividing by magnitude. - float ex[3] = { p12[0] / d, p12[1] / d, p12[2] / d }; + // Create unit vector by multiplying by the inverse of the magnitude. + ex[3] = { p12[0] * inv_d, p12[1] * inv_d, p12[2] * inv_d }, // Get the vector from the origin of the new system to the third point. - float p13[3] = { delta_tower[C_AXIS][X_AXIS] - delta_tower[A_AXIS][X_AXIS], delta_tower[C_AXIS][Y_AXIS] - delta_tower[A_AXIS][Y_AXIS], z3 - z1 }; + p13[3] = { delta_tower[C_AXIS][X_AXIS] - delta_tower[A_AXIS][X_AXIS], delta_tower[C_AXIS][Y_AXIS] - delta_tower[A_AXIS][Y_AXIS], z3 - z1 }, // Use the dot product to find the component of this vector on the X axis. - float i = ex[0] * p13[0] + ex[1] * p13[1] + ex[2] * p13[2]; + i = ex[0] * p13[0] + ex[1] * p13[1] + ex[2] * p13[2], // Create a vector along the x axis that represents the x component of p13. - float iex[3] = { ex[0] * i, ex[1] * i, ex[2] * i }; + iex[3] = { ex[0] * i, ex[1] * i, ex[2] * i }; // Subtract the X component from the original vector leaving only Y. We use the // variable that will be the unit vector after we scale it. float ey[3] = { p13[0] - iex[0], p13[1] - iex[1], p13[2] - iex[2] }; - // The magnitude of Y component - float j = SQRT( sq(ey[0]) + sq(ey[1]) + sq(ey[2]) ); + // The magnitude and the inverse of the magnitude of Y component + const float j2 = sq(ey[0]) + sq(ey[1]) + sq(ey[2]), inv_j = RSQRT(j2); // Convert to a unit vector - ey[0] /= j; ey[1] /= j; ey[2] /= j; + ey[0] *= inv_j; ey[1] *= inv_j; ey[2] *= inv_j; // The cross product of the unit x and y is the unit z // float[] ez = vectorCrossProd(ex, ey); - float ez[3] = { + const float ez[3] = { ex[1] * ey[2] - ex[2] * ey[1], ex[2] * ey[0] - ex[0] * ey[2], ex[0] * ey[1] - ex[1] * ey[0] - }; + }, // We now have the d, i and j values defined in Wikipedia. // Plug them into the equations defined in Wikipedia for Xnew, Ynew and Znew - float Xnew = (delta_diagonal_rod_2_tower[A_AXIS] - delta_diagonal_rod_2_tower[B_AXIS] + sq(d)) / (d * 2), - Ynew = ((delta_diagonal_rod_2_tower[A_AXIS] - delta_diagonal_rod_2_tower[C_AXIS] + HYPOT2(i, j)) / 2 - i * Xnew) / j, - Znew = SQRT(delta_diagonal_rod_2_tower[A_AXIS] - HYPOT2(Xnew, Ynew)); + Xnew = (delta_diagonal_rod_2_tower[A_AXIS] - delta_diagonal_rod_2_tower[B_AXIS] + d2) * inv_d * 0.5, + Ynew = ((delta_diagonal_rod_2_tower[A_AXIS] - delta_diagonal_rod_2_tower[C_AXIS] + sq(i) + j2) * 0.5 - i * Xnew) * inv_j, + Znew = SQRT(delta_diagonal_rod_2_tower[A_AXIS] - HYPOT2(Xnew, Ynew)); // Start from the origin of the old coordinates and add vectors in the // old coords that represent the Xnew, Ynew and Znew to find the point // in the old system. cartes[X_AXIS] = delta_tower[A_AXIS][X_AXIS] + ex[0] * Xnew + ey[0] * Ynew - ez[0] * Znew; cartes[Y_AXIS] = delta_tower[A_AXIS][Y_AXIS] + ex[1] * Xnew + ey[1] * Ynew - ez[1] * Znew; - cartes[Z_AXIS] = z1 + ex[2] * Xnew + ey[2] * Ynew - ez[2] * Znew; + cartes[Z_AXIS] = z1 + ex[2] * Xnew + ey[2] * Ynew - ez[2] * Znew; } #if ENABLED(SENSORLESS_HOMING) @@ -241,7 +218,7 @@ void forward_kinematics_DELTA(float z1, float z2, float z3) { * A delta can only safely home all axes at the same time * This is like quick_home_xy() but for 3 towers. */ -bool home_delta() { +void home_delta() { #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) DEBUG_POS(">>> home_delta", current_position); #endif @@ -258,29 +235,20 @@ bool home_delta() { current_position[X_AXIS] = current_position[Y_AXIS] = current_position[Z_AXIS] = (delta_height + 10); feedrate_mm_s = homing_feedrate(X_AXIS); line_to_current_position(); - stepper.synchronize(); + planner.synchronize(); // Re-enable stealthChop if used. Disable diag1 pin on driver. #if ENABLED(SENSORLESS_HOMING) delta_sensorless_homing(false); #endif - // If an endstop was not hit, then damage can occur if homing is continued. - // This can occur if the delta height not set correctly. - if (!(Endstops::endstop_hit_bits & (_BV(X_MAX) | _BV(Y_MAX) | _BV(Z_MAX)))) { - LCD_MESSAGEPGM(MSG_ERR_HOMING_FAILED); - SERIAL_ERROR_START(); - SERIAL_ERRORLNPGM(MSG_ERR_HOMING_FAILED); - return false; - } - - endstops.hit_on_purpose(); // clear endstop hit flags + endstops.validate_homing_move(); // At least one carriage has reached the top. // Now re-home each carriage separately. - HOMEAXIS(A); - HOMEAXIS(B); - HOMEAXIS(C); + homeaxis(A_AXIS); + homeaxis(B_AXIS); + homeaxis(C_AXIS); // Set all carriages to their home positions // Do this here all at once for Delta, because @@ -293,8 +261,6 @@ bool home_delta() { #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) DEBUG_POS("<<< home_delta", current_position); #endif - - return true; } #endif // DELTA diff --git a/Marlin/src/module/delta.h b/Marlin/src/module/delta.h index 59c01981fca1..2dde72f801e7 100644 --- a/Marlin/src/module/delta.h +++ b/Marlin/src/module/delta.h @@ -64,26 +64,15 @@ void recalc_delta_settings(); * (see above) */ -#if ENABLED(DELTA_FAST_SQRT) && defined(__AVR__) - /** - * Fast inverse sqrt from Quake III Arena - * See: https://en.wikipedia.org/wiki/Fast_inverse_square_root - */ - float Q_rsqrt(float number); - #define _SQRT(n) (1.0f / Q_rsqrt(n)) -#else - #define _SQRT(n) SQRT(n) -#endif - // Macro to obtain the Z position of an individual tower -#define DELTA_Z(V,T) V[Z_AXIS] + _SQRT( \ +#define DELTA_Z(V,T) V[Z_AXIS] + SQRT( \ delta_diagonal_rod_2_tower[T] - HYPOT2( \ delta_tower[T][X_AXIS] - V[X_AXIS], \ delta_tower[T][Y_AXIS] - V[Y_AXIS] \ ) \ ) -#define DELTA_IK(V) do { \ +#define DELTA_IK(V) do { \ delta[A_AXIS] = DELTA_Z(V, A_AXIS); \ delta[B_AXIS] = DELTA_Z(V, B_AXIS); \ delta[C_AXIS] = DELTA_Z(V, C_AXIS); \ @@ -122,12 +111,12 @@ float delta_safe_distance_from_top(); * * The result is stored in the cartes[] array. */ -void forward_kinematics_DELTA(float z1, float z2, float z3); +void forward_kinematics_DELTA(const float &z1, const float &z2, const float &z3); -FORCE_INLINE void forward_kinematics_DELTA(float point[ABC]) { +FORCE_INLINE void forward_kinematics_DELTA(const float (&point)[ABC]) { forward_kinematics_DELTA(point[A_AXIS], point[B_AXIS], point[C_AXIS]); } -bool home_delta(); +void home_delta(); #endif // __DELTA_H__ diff --git a/Marlin/src/module/endstops.cpp b/Marlin/src/module/endstops.cpp index c7bb167b29a4..cecd30353134 100644 --- a/Marlin/src/module/endstops.cpp +++ b/Marlin/src/module/endstops.cpp @@ -32,18 +32,23 @@ #include "../module/temperature.h" #include "../lcd/ultralcd.h" -// TEST_ENDSTOP: test the old and the current status of an endstop -#define TEST_ENDSTOP(ENDSTOP) (TEST(current_endstop_bits & old_endstop_bits, ENDSTOP)) +#if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) + #include HAL_PATH(../HAL, endstop_interrupts.h) +#endif Endstops endstops; // public: bool Endstops::enabled, Endstops::enabled_globally; // Initialized by settings.load() -volatile char Endstops::endstop_hit_bits; // use X_MIN, Y_MIN, Z_MIN and Z_MIN_PROBE as BIT value +volatile uint8_t Endstops::hit_state; + +Endstops::esbits_t Endstops::live_state = 0; -Endstops::esbits_t Endstops::current_endstop_bits = 0, - Endstops::old_endstop_bits = 0; +#if ENABLED(ENDSTOP_NOISE_FILTER) + Endstops::esbits_t Endstops::validated_live_state; + uint8_t Endstops::endstop_poll_count; +#endif #if HAS_BED_PROBE volatile bool Endstops::z_probe_enabled = false; @@ -196,10 +201,91 @@ void Endstops::init() { #endif #endif + #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) + setup_endstop_interrupts(); + #endif + + // Enable endstops + enable_globally( + #if ENABLED(ENDSTOPS_ALWAYS_ON_DEFAULT) + true + #else + false + #endif + ); + } // Endstops::init -void Endstops::report_state() { - if (endstop_hit_bits) { +// Called at ~1KHz from Temperature ISR: Poll endstop state if required +void Endstops::poll() { + + #if ENABLED(PINS_DEBUGGING) + run_monitor(); // report changes in endstop status + #endif + + #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) && ENABLED(ENDSTOP_NOISE_FILTER) + if (endstop_poll_count) update(); + #elif DISABLED(ENDSTOP_INTERRUPTS_FEATURE) || ENABLED(ENDSTOP_NOISE_FILTER) + update(); + #endif +} + +void Endstops::enable_globally(const bool onoff) { + enabled_globally = enabled = onoff; + + #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) + update(); + #endif +} + +// Enable / disable endstop checking +void Endstops::enable(const bool onoff) { + enabled = onoff; + + #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) + update(); + #endif +} + +// Disable / Enable endstops based on ENSTOPS_ONLY_FOR_HOMING and global enable +void Endstops::not_homing() { + enabled = enabled_globally; + + #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) + update(); + #endif +} + +// If the last move failed to trigger an endstop, call kill +void Endstops::validate_homing_move() { + if (trigger_state()) hit_on_purpose(); + else kill(PSTR(MSG_ERR_HOMING_FAILED)); +} + +// Enable / disable endstop z-probe checking +#if HAS_BED_PROBE + void Endstops::enable_z_probe(const bool onoff) { + z_probe_enabled = onoff; + + #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) + update(); + #endif + } +#endif + +#if ENABLED(PINS_DEBUGGING) + void Endstops::run_monitor() { + if (!monitor_flag) return; + static uint8_t monitor_count = 16; // offset this check from the others + monitor_count += _BV(1); // 15 Hz + monitor_count &= 0x7F; + if (!monitor_count) monitor(); // report changes in endstop status + } +#endif + +void Endstops::event_handler() { + static uint8_t prev_hit_state; // = 0 + if (hit_state && hit_state != prev_hit_state) { #if ENABLED(ULTRA_LCD) char chrX = ' ', chrY = ' ', chrZ = ' ', chrP = ' '; #define _SET_STOP_CHAR(A,C) (chr## A = C) @@ -208,11 +294,11 @@ void Endstops::report_state() { #endif #define _ENDSTOP_HIT_ECHO(A,C) do{ \ - SERIAL_ECHOPAIR(" " STRINGIFY(A) ":", stepper.triggered_position_mm(A ##_AXIS)); \ + SERIAL_ECHOPAIR(" " STRINGIFY(A) ":", planner.triggered_position_mm(_AXIS(A))); \ _SET_STOP_CHAR(A,C); }while(0) #define _ENDSTOP_HIT_TEST(A,C) \ - if (TEST(endstop_hit_bits, A ##_MIN) || TEST(endstop_hit_bits, A ##_MAX)) \ + if (TEST(hit_state, A ##_MIN) || TEST(hit_state, A ##_MAX)) \ _ENDSTOP_HIT_ECHO(A,C) #define ENDSTOP_HIT_TEST_X() _ENDSTOP_HIT_TEST(X,'X') @@ -227,7 +313,7 @@ void Endstops::report_state() { #if ENABLED(Z_MIN_PROBE_ENDSTOP) #define P_AXIS Z_AXIS - if (TEST(endstop_hit_bits, Z_MIN_PROBE)) _ENDSTOP_HIT_ECHO(P, 'P'); + if (TEST(hit_state, Z_MIN_PROBE)) _ENDSTOP_HIT_ECHO(P, 'P'); #endif SERIAL_EOL(); @@ -235,10 +321,8 @@ void Endstops::report_state() { lcd_status_printf_P(0, PSTR(MSG_LCD_ENDSTOPS " %c %c %c %c"), chrX, chrY, chrZ, chrP); #endif - hit_on_purpose(); - #if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) && ENABLED(SDSUPPORT) - if (stepper.abort_on_endstop_hit) { + if (planner.abort_on_endstop_hit) { card.sdprinting = false; card.closefile(); quickstop_stepper(); @@ -246,6 +330,7 @@ void Endstops::report_state() { } #endif } + prev_hit_state = hit_state; } // Endstops::report_state void Endstops::M119() { @@ -300,274 +385,281 @@ void Endstops::M119() { #endif } // Endstops::M119 -#if ENABLED(X_DUAL_ENDSTOPS) - void Endstops::test_dual_x_endstops(const EndstopEnum es1, const EndstopEnum es2) { - const byte x_test = TEST_ENDSTOP(es1) | (TEST_ENDSTOP(es2) << 1); // bit 0 for X, bit 1 for X2 - if (x_test && stepper.current_block->steps[X_AXIS] > 0) { - SBI(endstop_hit_bits, X_MIN); - if (!stepper.performing_homing || (x_test == 0x3)) //if not performing home or if both endstops were trigged during homing... - stepper.kill_current_block(); - } - } -#endif -#if ENABLED(Y_DUAL_ENDSTOPS) - void Endstops::test_dual_y_endstops(const EndstopEnum es1, const EndstopEnum es2) { - const byte y_test = TEST_ENDSTOP(es1) | (TEST_ENDSTOP(es2) << 1); // bit 0 for Y, bit 1 for Y2 - if (y_test && stepper.current_block->steps[Y_AXIS] > 0) { - SBI(endstop_hit_bits, Y_MIN); - if (!stepper.performing_homing || (y_test == 0x3)) //if not performing home or if both endstops were trigged during homing... - stepper.kill_current_block(); - } - } -#endif -#if ENABLED(Z_DUAL_ENDSTOPS) - void Endstops::test_dual_z_endstops(const EndstopEnum es1, const EndstopEnum es2) { - const byte z_test = TEST_ENDSTOP(es1) | (TEST_ENDSTOP(es2) << 1); // bit 0 for Z, bit 1 for Z2 - if (z_test && stepper.current_block->steps[Z_AXIS] > 0) { - SBI(endstop_hit_bits, Z_MIN); - if (!stepper.performing_homing || (z_test == 0x3)) //if not performing home or if both endstops were trigged during homing... - stepper.kill_current_block(); - } - } -#endif +// The following routines are called from an ISR context. It could be the temperature ISR, the +// endstop ISR or the Stepper ISR. + +#define _ENDSTOP(AXIS, MINMAX) AXIS ##_## MINMAX +#define _ENDSTOP_PIN(AXIS, MINMAX) AXIS ##_## MINMAX ##_PIN +#define _ENDSTOP_INVERTING(AXIS, MINMAX) AXIS ##_## MINMAX ##_ENDSTOP_INVERTING -// Check endstops - Called from ISR! +// Check endstops - Could be called from Temperature ISR! void Endstops::update() { - #define _ENDSTOP(AXIS, MINMAX) AXIS ##_## MINMAX - #define _ENDSTOP_PIN(AXIS, MINMAX) AXIS ##_## MINMAX ##_PIN - #define _ENDSTOP_INVERTING(AXIS, MINMAX) AXIS ##_## MINMAX ##_ENDSTOP_INVERTING - #define _ENDSTOP_HIT(AXIS, MINMAX) SBI(endstop_hit_bits, _ENDSTOP(AXIS, MINMAX)) - - #define SET_BIT(N,B,TF) do{ if (TF) SBI(N,B); else CBI(N,B); }while(0) - // UPDATE_ENDSTOP_BIT: set the current endstop bits for an endstop to its status - #define UPDATE_ENDSTOP_BIT(AXIS, MINMAX) SET_BIT(current_endstop_bits, _ENDSTOP(AXIS, MINMAX), (READ(_ENDSTOP_PIN(AXIS, MINMAX)) != _ENDSTOP_INVERTING(AXIS, MINMAX))) - // COPY_BIT: copy the value of SRC_BIT to DST_BIT in DST - #define COPY_BIT(DST, SRC_BIT, DST_BIT) SET_BIT(DST, DST_BIT, TEST(DST, SRC_BIT)) - - #define UPDATE_ENDSTOP(AXIS,MINMAX) do { \ - UPDATE_ENDSTOP_BIT(AXIS, MINMAX); \ - if (TEST_ENDSTOP(_ENDSTOP(AXIS, MINMAX))) { \ - _ENDSTOP_HIT(AXIS, MINMAX); \ - stepper.endstop_triggered(_AXIS(AXIS)); \ - } \ - }while(0) + #if DISABLED(ENDSTOP_NOISE_FILTER) + if (!abort_enabled()) return; + #endif + + #define UPDATE_ENDSTOP_BIT(AXIS, MINMAX) SET_BIT_TO(live_state, _ENDSTOP(AXIS, MINMAX), (READ(_ENDSTOP_PIN(AXIS, MINMAX)) != _ENDSTOP_INVERTING(AXIS, MINMAX))) + #define COPY_LIVE_STATE(SRC_BIT, DST_BIT) SET_BIT_TO(live_state, DST_BIT, TEST(live_state, SRC_BIT)) #if ENABLED(G38_PROBE_TARGET) && PIN_EXISTS(Z_MIN_PROBE) && !(CORE_IS_XY || CORE_IS_XZ) // If G38 command is active check Z_MIN_PROBE for ALL movement - if (G38_move) { - UPDATE_ENDSTOP_BIT(Z, MIN_PROBE); - if (TEST_ENDSTOP(_ENDSTOP(Z, MIN_PROBE))) { - if (stepper.current_block->steps[_AXIS(X)] > 0) { _ENDSTOP_HIT(X, MIN); stepper.endstop_triggered(_AXIS(X)); } - else if (stepper.current_block->steps[_AXIS(Y)] > 0) { _ENDSTOP_HIT(Y, MIN); stepper.endstop_triggered(_AXIS(Y)); } - else if (stepper.current_block->steps[_AXIS(Z)] > 0) { _ENDSTOP_HIT(Z, MIN); stepper.endstop_triggered(_AXIS(Z)); } - G38_endstop_hit = true; - } - } + if (G38_move) UPDATE_ENDSTOP_BIT(Z, MIN_PROBE); #endif - /** - * Define conditions for checking endstops - */ - - #if IS_CORE - #define S_(N) stepper.current_block->steps[CORE_AXIS_##N] - #define D_(N) stepper.motor_direction(CORE_AXIS_##N) + // With Dual X, endstops are only checked in the homing direction for the active extruder + #if ENABLED(DUAL_X_CARRIAGE) + #define E0_ACTIVE stepper.movement_extruder() == 0 + #define X_MIN_TEST ((X_HOME_DIR < 0 && E0_ACTIVE) || (X2_HOME_DIR < 0 && !E0_ACTIVE)) + #define X_MAX_TEST ((X_HOME_DIR > 0 && E0_ACTIVE) || (X2_HOME_DIR > 0 && !E0_ACTIVE)) + #else + #define X_MIN_TEST true + #define X_MAX_TEST true #endif + // Use HEAD for core axes, AXIS for others #if CORE_IS_XY || CORE_IS_XZ - /** - * Head direction in -X axis for CoreXY and CoreXZ bots. - * - * If steps differ, both axes are moving. - * If DeltaA == -DeltaB, the movement is only in the 2nd axis (Y or Z, handled below) - * If DeltaA == DeltaB, the movement is only in the 1st axis (X) - */ - #if ENABLED(COREXY) || ENABLED(COREXZ) - #define X_CMP == - #else - #define X_CMP != - #endif - #define X_MOVE_TEST ( S_(1) != S_(2) || (S_(1) > 0 && D_(1) X_CMP D_(2)) ) #define X_AXIS_HEAD X_HEAD #else - #define X_MOVE_TEST stepper.current_block->steps[X_AXIS] > 0 #define X_AXIS_HEAD X_AXIS #endif - #if CORE_IS_XY || CORE_IS_YZ - /** - * Head direction in -Y axis for CoreXY / CoreYZ bots. - * - * If steps differ, both axes are moving - * If DeltaA == DeltaB, the movement is only in the 1st axis (X or Y) - * If DeltaA == -DeltaB, the movement is only in the 2nd axis (Y or Z) - */ - #if ENABLED(COREYX) || ENABLED(COREYZ) - #define Y_CMP == - #else - #define Y_CMP != - #endif - #define Y_MOVE_TEST ( S_(1) != S_(2) || (S_(1) > 0 && D_(1) Y_CMP D_(2)) ) #define Y_AXIS_HEAD Y_HEAD #else - #define Y_MOVE_TEST stepper.current_block->steps[Y_AXIS] > 0 #define Y_AXIS_HEAD Y_AXIS #endif - #if CORE_IS_XZ || CORE_IS_YZ - /** - * Head direction in -Z axis for CoreXZ or CoreYZ bots. - * - * If steps differ, both axes are moving - * If DeltaA == DeltaB, the movement is only in the 1st axis (X or Y, already handled above) - * If DeltaA == -DeltaB, the movement is only in the 2nd axis (Z) - */ - #if ENABLED(COREZX) || ENABLED(COREZY) - #define Z_CMP == - #else - #define Z_CMP != - #endif - #define Z_MOVE_TEST ( S_(1) != S_(2) || (S_(1) > 0 && D_(1) Z_CMP D_(2)) ) #define Z_AXIS_HEAD Z_HEAD #else - #define Z_MOVE_TEST stepper.current_block->steps[Z_AXIS] > 0 #define Z_AXIS_HEAD Z_AXIS #endif - // With Dual X, endstops are only checked in the homing direction for the active extruder - #if ENABLED(DUAL_X_CARRIAGE) - #define E0_ACTIVE stepper.current_block->active_extruder == 0 - #define X_MIN_TEST ((X_HOME_DIR < 0 && E0_ACTIVE) || (X2_HOME_DIR < 0 && !E0_ACTIVE)) - #define X_MAX_TEST ((X_HOME_DIR > 0 && E0_ACTIVE) || (X2_HOME_DIR > 0 && !E0_ACTIVE)) - #else - #define X_MIN_TEST true - #define X_MAX_TEST true - #endif - /** - * Check and update endstops according to conditions + * Check and update endstops */ - if (stepper.current_block) { - - if (X_MOVE_TEST) { - if (stepper.motor_direction(X_AXIS_HEAD)) { // -direction - #if HAS_X_MIN - #if ENABLED(X_DUAL_ENDSTOPS) - UPDATE_ENDSTOP_BIT(X, MIN); - #if HAS_X2_MIN - UPDATE_ENDSTOP_BIT(X2, MIN); - #else - COPY_BIT(current_endstop_bits, X_MIN, X2_MIN); - #endif - test_dual_x_endstops(X_MIN, X2_MIN); - #else - if (X_MIN_TEST) UPDATE_ENDSTOP(X, MIN); - #endif - #endif + #if HAS_X_MIN + #if ENABLED(X_DUAL_ENDSTOPS) + UPDATE_ENDSTOP_BIT(X, MIN); + #if HAS_X2_MIN + UPDATE_ENDSTOP_BIT(X2, MIN); + #else + COPY_LIVE_STATE(X_MIN, X2_MIN); + #endif + #else + UPDATE_ENDSTOP_BIT(X, MIN); + #endif + #endif + + #if HAS_X_MAX + #if ENABLED(X_DUAL_ENDSTOPS) + UPDATE_ENDSTOP_BIT(X, MAX); + #if HAS_X2_MAX + UPDATE_ENDSTOP_BIT(X2, MAX); + #else + COPY_LIVE_STATE(X_MAX, X2_MAX); + #endif + #else + UPDATE_ENDSTOP_BIT(X, MAX); + #endif + #endif + + #if HAS_Y_MIN + #if ENABLED(Y_DUAL_ENDSTOPS) + UPDATE_ENDSTOP_BIT(Y, MIN); + #if HAS_Y2_MIN + UPDATE_ENDSTOP_BIT(Y2, MIN); + #else + COPY_LIVE_STATE(Y_MIN, Y2_MIN); + #endif + #else + UPDATE_ENDSTOP_BIT(Y, MIN); + #endif + #endif + + #if HAS_Y_MAX + #if ENABLED(Y_DUAL_ENDSTOPS) + UPDATE_ENDSTOP_BIT(Y, MAX); + #if HAS_Y2_MAX + UPDATE_ENDSTOP_BIT(Y2, MAX); + #else + COPY_LIVE_STATE(Y_MAX, Y2_MAX); + #endif + #else + UPDATE_ENDSTOP_BIT(Y, MAX); + #endif + #endif + + #if HAS_Z_MIN + #if ENABLED(Z_DUAL_ENDSTOPS) + UPDATE_ENDSTOP_BIT(Z, MIN); + #if HAS_Z2_MIN + UPDATE_ENDSTOP_BIT(Z2, MIN); + #else + COPY_LIVE_STATE(Z_MIN, Z2_MIN); + #endif + #elif ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) + UPDATE_ENDSTOP_BIT(Z, MIN); + #elif Z_HOME_DIR < 0 + UPDATE_ENDSTOP_BIT(Z, MIN); + #endif + #endif + + // When closing the gap check the enabled probe + #if ENABLED(Z_MIN_PROBE_ENDSTOP) + UPDATE_ENDSTOP_BIT(Z, MIN_PROBE); + #endif + + #if HAS_Z_MAX + // Check both Z dual endstops + #if ENABLED(Z_DUAL_ENDSTOPS) + UPDATE_ENDSTOP_BIT(Z, MAX); + #if HAS_Z2_MAX + UPDATE_ENDSTOP_BIT(Z2, MAX); + #else + COPY_LIVE_STATE(Z_MAX, Z2_MAX); + #endif + #elif DISABLED(Z_MIN_PROBE_ENDSTOP) || Z_MAX_PIN != Z_MIN_PROBE_PIN + // If this pin isn't the bed probe it's the Z endstop + UPDATE_ENDSTOP_BIT(Z, MAX); + #endif + #endif + + #if ENABLED(ENDSTOP_NOISE_FILTER) + /** + * Filtering out noise on endstops requires a delayed decision. Let's assume, due to noise, + * that 50% of endstop signal samples are good and 50% are bad (assuming normal distribution + * of random noise). Then the first sample has a 50% chance to be good or bad. The 2nd sample + * also has a 50% chance to be good or bad. The chances of 2 samples both being bad becomes + * 50% of 50%, or 25%. That was the previous implementation of Marlin endstop handling. It + * reduces chances of bad readings in half, at the cost of 1 extra sample period, but chances + * still exist. The only way to reduce them further is to increase the number of samples. + * To reduce the chance to 1% (1/128th) requires 7 samples (adding 7ms of delay). + */ + static esbits_t old_live_state; + if (old_live_state != live_state) { + endstop_poll_count = 7; + old_live_state = live_state; + } + else if (endstop_poll_count && !--endstop_poll_count) + validated_live_state = live_state; + + if (!abort_enabled()) return; + + #endif + + // Test the current status of an endstop + #define TEST_ENDSTOP(ENDSTOP) (TEST(state(), ENDSTOP)) + + // Record endstop was hit + #define _ENDSTOP_HIT(AXIS, MINMAX) SBI(hit_state, _ENDSTOP(AXIS, MINMAX)) + + // Call the endstop triggered routine for single endstops + #define PROCESS_ENDSTOP(AXIS,MINMAX) do { \ + if (TEST_ENDSTOP(_ENDSTOP(AXIS, MINMAX))) { \ + _ENDSTOP_HIT(AXIS, MINMAX); \ + planner.endstop_triggered(_AXIS(AXIS)); \ + } \ + }while(0) + + // Call the endstop triggered routine for dual endstops + #define PROCESS_DUAL_ENDSTOP(AXIS1, AXIS2, MINMAX) do { \ + const byte dual_hit = TEST_ENDSTOP(_ENDSTOP(AXIS1, MINMAX)) | (TEST_ENDSTOP(_ENDSTOP(AXIS2, MINMAX)) << 1); \ + if (dual_hit) { \ + _ENDSTOP_HIT(AXIS1, MINMAX); \ + /* if not performing home or if both endstops were trigged during homing... */ \ + if (!stepper.homing_dual_axis || dual_hit == 0b11) \ + planner.endstop_triggered(_AXIS(AXIS1)); \ + } \ + }while(0) + + #if ENABLED(G38_PROBE_TARGET) && PIN_EXISTS(Z_MIN_PROBE) && !(CORE_IS_XY || CORE_IS_XZ) + // If G38 command is active check Z_MIN_PROBE for ALL movement + if (G38_move) { + if (TEST_ENDSTOP(_ENDSTOP(Z, MIN_PROBE))) { + if (stepper.axis_is_moving(X_AXIS)) { _ENDSTOP_HIT(X, MIN); planner.endstop_triggered(X_AXIS); } + else if (stepper.axis_is_moving(Y_AXIS)) { _ENDSTOP_HIT(Y, MIN); planner.endstop_triggered(Y_AXIS); } + else if (stepper.axis_is_moving(Z_AXIS)) { _ENDSTOP_HIT(Z, MIN); planner.endstop_triggered(Z_AXIS); } + G38_endstop_hit = true; } - else { // +direction - #if HAS_X_MAX - #if ENABLED(X_DUAL_ENDSTOPS) - UPDATE_ENDSTOP_BIT(X, MAX); - #if HAS_X2_MAX - UPDATE_ENDSTOP_BIT(X2, MAX); - #else - COPY_BIT(current_endstop_bits, X_MAX, X2_MAX); - #endif - test_dual_x_endstops(X_MAX, X2_MAX); - #else - if (X_MAX_TEST) UPDATE_ENDSTOP(X, MAX); - #endif + } + #endif + + // Now, we must signal, after validation, if an endstop limit is pressed or not + if (stepper.axis_is_moving(X_AXIS)) { + if (stepper.motor_direction(X_AXIS_HEAD)) { // -direction + #if HAS_X_MIN + #if ENABLED(X_DUAL_ENDSTOPS) + PROCESS_DUAL_ENDSTOP(X, X2, MIN); + #else + if (X_MIN_TEST) PROCESS_ENDSTOP(X, MIN); #endif - } + #endif + } + else { // +direction + #if HAS_X_MAX + #if ENABLED(X_DUAL_ENDSTOPS) + PROCESS_DUAL_ENDSTOP(X, X2, MAX); + #else + if (X_MAX_TEST) PROCESS_ENDSTOP(X, MAX); + #endif + #endif } + } - if (Y_MOVE_TEST) { - if (stepper.motor_direction(Y_AXIS_HEAD)) { // -direction - #if HAS_Y_MIN - #if ENABLED(Y_DUAL_ENDSTOPS) - UPDATE_ENDSTOP_BIT(Y, MIN); - #if HAS_Y2_MIN - UPDATE_ENDSTOP_BIT(Y2, MIN); - #else - COPY_BIT(current_endstop_bits, Y_MIN, Y2_MIN); - #endif - test_dual_y_endstops(Y_MIN, Y2_MIN); - #else - UPDATE_ENDSTOP(Y, MIN); - #endif + if (stepper.axis_is_moving(Y_AXIS)) { + if (stepper.motor_direction(Y_AXIS_HEAD)) { // -direction + #if HAS_Y_MIN + #if ENABLED(Y_DUAL_ENDSTOPS) + PROCESS_DUAL_ENDSTOP(Y, Y2, MIN); + #else + PROCESS_ENDSTOP(Y, MIN); #endif - } - else { // +direction - #if HAS_Y_MAX - #if ENABLED(Y_DUAL_ENDSTOPS) - UPDATE_ENDSTOP_BIT(Y, MAX); - #if HAS_Y2_MAX - UPDATE_ENDSTOP_BIT(Y2, MAX); - #else - COPY_BIT(current_endstop_bits, Y_MAX, Y2_MAX); - #endif - test_dual_y_endstops(Y_MAX, Y2_MAX); - #else - UPDATE_ENDSTOP(Y, MAX); - #endif + #endif + } + else { // +direction + #if HAS_Y_MAX + #if ENABLED(Y_DUAL_ENDSTOPS) + PROCESS_DUAL_ENDSTOP(Y, Y2, MAX); + #else + PROCESS_ENDSTOP(Y, MAX); #endif - } + #endif } + } - if (Z_MOVE_TEST) { - if (stepper.motor_direction(Z_AXIS_HEAD)) { // Z -direction. Gantry down, bed up. - #if HAS_Z_MIN - #if ENABLED(Z_DUAL_ENDSTOPS) - UPDATE_ENDSTOP_BIT(Z, MIN); - #if HAS_Z2_MIN - UPDATE_ENDSTOP_BIT(Z2, MIN); - #else - COPY_BIT(current_endstop_bits, Z_MIN, Z2_MIN); - #endif - test_dual_z_endstops(Z_MIN, Z2_MIN); + if (stepper.axis_is_moving(Z_AXIS)) { + if (stepper.motor_direction(Z_AXIS_HEAD)) { // Z -direction. Gantry down, bed up. + #if HAS_Z_MIN + #if ENABLED(Z_DUAL_ENDSTOPS) + PROCESS_DUAL_ENDSTOP(Z, Z2, MIN); + #else + #if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) + if (z_probe_enabled) PROCESS_ENDSTOP(Z, MIN); + #elif ENABLED(Z_MIN_PROBE_ENDSTOP) + if (!z_probe_enabled) PROCESS_ENDSTOP(Z, MIN); #else - #if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) - if (z_probe_enabled) UPDATE_ENDSTOP(Z, MIN); - #else - UPDATE_ENDSTOP(Z, MIN); - #endif + PROCESS_ENDSTOP(Z, MIN); #endif #endif + #endif - // When closing the gap check the enabled probe - #if ENABLED(Z_MIN_PROBE_ENDSTOP) - if (z_probe_enabled) { - UPDATE_ENDSTOP(Z, MIN_PROBE); - if (TEST_ENDSTOP(Z_MIN_PROBE)) SBI(endstop_hit_bits, Z_MIN_PROBE); - } - #endif - } - else { // Z +direction. Gantry up, bed down. - #if HAS_Z_MAX - // Check both Z dual endstops - #if ENABLED(Z_DUAL_ENDSTOPS) - UPDATE_ENDSTOP_BIT(Z, MAX); - #if HAS_Z2_MAX - UPDATE_ENDSTOP_BIT(Z2, MAX); - #else - COPY_BIT(current_endstop_bits, Z_MAX, Z2_MAX); - #endif - test_dual_z_endstops(Z_MAX, Z2_MAX); + // When closing the gap check the enabled probe + #if ENABLED(Z_MIN_PROBE_ENDSTOP) + if (z_probe_enabled) PROCESS_ENDSTOP(Z, MIN_PROBE); + #endif + } + else { // Z +direction. Gantry up, bed down. + #if HAS_Z_MAX + #if ENABLED(Z_DUAL_ENDSTOPS) + PROCESS_DUAL_ENDSTOP(Z, Z2, MAX); + #elif DISABLED(Z_MIN_PROBE_ENDSTOP) || Z_MAX_PIN != Z_MIN_PROBE_PIN // If this pin is not hijacked for the bed probe // then it belongs to the Z endstop - #elif DISABLED(Z_MIN_PROBE_ENDSTOP) || Z_MAX_PIN != Z_MIN_PROBE_PIN - UPDATE_ENDSTOP(Z, MAX); - #endif + PROCESS_ENDSTOP(Z, MAX); #endif - } + #endif } - - } // stepper.current_block - - old_endstop_bits = current_endstop_bits; - + } } // Endstops::update() #if ENABLED(PINS_DEBUGGING) @@ -586,96 +678,96 @@ void Endstops::update() { */ void Endstops::monitor() { - static uint16_t old_endstop_bits_local = 0; + static uint16_t old_live_state_local = 0; static uint8_t local_LED_status = 0; - uint16_t current_endstop_bits_local = 0; + uint16_t live_state_local = 0; #if HAS_X_MIN - if (READ(X_MIN_PIN)) SBI(current_endstop_bits_local, X_MIN); + if (READ(X_MIN_PIN)) SBI(live_state_local, X_MIN); #endif #if HAS_X_MAX - if (READ(X_MAX_PIN)) SBI(current_endstop_bits_local, X_MAX); + if (READ(X_MAX_PIN)) SBI(live_state_local, X_MAX); #endif #if HAS_Y_MIN - if (READ(Y_MIN_PIN)) SBI(current_endstop_bits_local, Y_MIN); + if (READ(Y_MIN_PIN)) SBI(live_state_local, Y_MIN); #endif #if HAS_Y_MAX - if (READ(Y_MAX_PIN)) SBI(current_endstop_bits_local, Y_MAX); + if (READ(Y_MAX_PIN)) SBI(live_state_local, Y_MAX); #endif #if HAS_Z_MIN - if (READ(Z_MIN_PIN)) SBI(current_endstop_bits_local, Z_MIN); + if (READ(Z_MIN_PIN)) SBI(live_state_local, Z_MIN); #endif #if HAS_Z_MAX - if (READ(Z_MAX_PIN)) SBI(current_endstop_bits_local, Z_MAX); + if (READ(Z_MAX_PIN)) SBI(live_state_local, Z_MAX); #endif #if HAS_Z_MIN_PROBE_PIN - if (READ(Z_MIN_PROBE_PIN)) SBI(current_endstop_bits_local, Z_MIN_PROBE); + if (READ(Z_MIN_PROBE_PIN)) SBI(live_state_local, Z_MIN_PROBE); #endif #if HAS_X2_MIN - if (READ(X2_MIN_PIN)) SBI(current_endstop_bits_local, X2_MIN); + if (READ(X2_MIN_PIN)) SBI(live_state_local, X2_MIN); #endif #if HAS_X2_MAX - if (READ(X2_MAX_PIN)) SBI(current_endstop_bits_local, X2_MAX); + if (READ(X2_MAX_PIN)) SBI(live_state_local, X2_MAX); #endif #if HAS_Y2_MIN - if (READ(Y2_MIN_PIN)) SBI(current_endstop_bits_local, Y2_MIN); + if (READ(Y2_MIN_PIN)) SBI(live_state_local, Y2_MIN); #endif #if HAS_Y2_MAX - if (READ(Y2_MAX_PIN)) SBI(current_endstop_bits_local, Y2_MAX); + if (READ(Y2_MAX_PIN)) SBI(live_state_local, Y2_MAX); #endif #if HAS_Z2_MIN - if (READ(Z2_MIN_PIN)) SBI(current_endstop_bits_local, Z2_MIN); + if (READ(Z2_MIN_PIN)) SBI(live_state_local, Z2_MIN); #endif #if HAS_Z2_MAX - if (READ(Z2_MAX_PIN)) SBI(current_endstop_bits_local, Z2_MAX); + if (READ(Z2_MAX_PIN)) SBI(live_state_local, Z2_MAX); #endif - uint16_t endstop_change = current_endstop_bits_local ^ old_endstop_bits_local; + uint16_t endstop_change = live_state_local ^ old_live_state_local; if (endstop_change) { #if HAS_X_MIN - if (TEST(endstop_change, X_MIN)) SERIAL_PROTOCOLPAIR(" X_MIN:", TEST(current_endstop_bits_local, X_MIN)); + if (TEST(endstop_change, X_MIN)) SERIAL_PROTOCOLPAIR(" X_MIN:", TEST(live_state_local, X_MIN)); #endif #if HAS_X_MAX - if (TEST(endstop_change, X_MAX)) SERIAL_PROTOCOLPAIR(" X_MAX:", TEST(current_endstop_bits_local, X_MAX)); + if (TEST(endstop_change, X_MAX)) SERIAL_PROTOCOLPAIR(" X_MAX:", TEST(live_state_local, X_MAX)); #endif #if HAS_Y_MIN - if (TEST(endstop_change, Y_MIN)) SERIAL_PROTOCOLPAIR(" Y_MIN:", TEST(current_endstop_bits_local, Y_MIN)); + if (TEST(endstop_change, Y_MIN)) SERIAL_PROTOCOLPAIR(" Y_MIN:", TEST(live_state_local, Y_MIN)); #endif #if HAS_Y_MAX - if (TEST(endstop_change, Y_MAX)) SERIAL_PROTOCOLPAIR(" Y_MAX:", TEST(current_endstop_bits_local, Y_MAX)); + if (TEST(endstop_change, Y_MAX)) SERIAL_PROTOCOLPAIR(" Y_MAX:", TEST(live_state_local, Y_MAX)); #endif #if HAS_Z_MIN - if (TEST(endstop_change, Z_MIN)) SERIAL_PROTOCOLPAIR(" Z_MIN:", TEST(current_endstop_bits_local, Z_MIN)); + if (TEST(endstop_change, Z_MIN)) SERIAL_PROTOCOLPAIR(" Z_MIN:", TEST(live_state_local, Z_MIN)); #endif #if HAS_Z_MAX - if (TEST(endstop_change, Z_MAX)) SERIAL_PROTOCOLPAIR(" Z_MAX:", TEST(current_endstop_bits_local, Z_MAX)); + if (TEST(endstop_change, Z_MAX)) SERIAL_PROTOCOLPAIR(" Z_MAX:", TEST(live_state_local, Z_MAX)); #endif #if HAS_Z_MIN_PROBE_PIN - if (TEST(endstop_change, Z_MIN_PROBE)) SERIAL_PROTOCOLPAIR(" PROBE:", TEST(current_endstop_bits_local, Z_MIN_PROBE)); + if (TEST(endstop_change, Z_MIN_PROBE)) SERIAL_PROTOCOLPAIR(" PROBE:", TEST(live_state_local, Z_MIN_PROBE)); #endif #if HAS_X2_MIN - if (TEST(endstop_change, X2_MIN)) SERIAL_PROTOCOLPAIR(" X2_MIN:", TEST(current_endstop_bits_local, X2_MIN)); + if (TEST(endstop_change, X2_MIN)) SERIAL_PROTOCOLPAIR(" X2_MIN:", TEST(live_state_local, X2_MIN)); #endif #if HAS_X2_MAX - if (TEST(endstop_change, X2_MAX)) SERIAL_PROTOCOLPAIR(" X2_MAX:", TEST(current_endstop_bits_local, X2_MAX)); + if (TEST(endstop_change, X2_MAX)) SERIAL_PROTOCOLPAIR(" X2_MAX:", TEST(live_state_local, X2_MAX)); #endif #if HAS_Y2_MIN - if (TEST(endstop_change, Y2_MIN)) SERIAL_PROTOCOLPAIR(" Y2_MIN:", TEST(current_endstop_bits_local, Y2_MIN)); + if (TEST(endstop_change, Y2_MIN)) SERIAL_PROTOCOLPAIR(" Y2_MIN:", TEST(live_state_local, Y2_MIN)); #endif #if HAS_Y2_MAX - if (TEST(endstop_change, Y2_MAX)) SERIAL_PROTOCOLPAIR(" Y2_MAX:", TEST(current_endstop_bits_local, Y2_MAX)); + if (TEST(endstop_change, Y2_MAX)) SERIAL_PROTOCOLPAIR(" Y2_MAX:", TEST(live_state_local, Y2_MAX)); #endif #if HAS_Z2_MIN - if (TEST(endstop_change, Z2_MIN)) SERIAL_PROTOCOLPAIR(" Z2_MIN:", TEST(current_endstop_bits_local, Z2_MIN)); + if (TEST(endstop_change, Z2_MIN)) SERIAL_PROTOCOLPAIR(" Z2_MIN:", TEST(live_state_local, Z2_MIN)); #endif #if HAS_Z2_MAX - if (TEST(endstop_change, Z2_MAX)) SERIAL_PROTOCOLPAIR(" Z2_MAX:", TEST(current_endstop_bits_local, Z2_MAX)); + if (TEST(endstop_change, Z2_MAX)) SERIAL_PROTOCOLPAIR(" Z2_MAX:", TEST(live_state_local, Z2_MAX)); #endif SERIAL_PROTOCOLPGM("\n\n"); analogWrite(LED_PIN, local_LED_status); local_LED_status ^= 255; - old_endstop_bits_local = current_endstop_bits_local; + old_live_state_local = live_state_local; } } diff --git a/Marlin/src/module/endstops.h b/Marlin/src/module/endstops.h index 5ff5af4548aa..a72c9cfd9c81 100644 --- a/Marlin/src/module/endstops.h +++ b/Marlin/src/module/endstops.h @@ -51,7 +51,6 @@ class Endstops { public: static bool enabled, enabled_globally; - static volatile char endstop_hit_bits; // use X_MIN, Y_MIN, Z_MIN and Z_MIN_PROBE as BIT value #if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS) typedef uint16_t esbits_t; @@ -65,20 +64,20 @@ class Endstops { static float z_endstop_adj; #endif #else - typedef byte esbits_t; + typedef uint8_t esbits_t; #endif - static esbits_t current_endstop_bits, old_endstop_bits; + private: + static esbits_t live_state; + static volatile uint8_t hit_state; // Use X_MIN, Y_MIN, Z_MIN and Z_MIN_PROBE as BIT index - Endstops() { - enable_globally( - #if ENABLED(ENDSTOPS_ALWAYS_ON_DEFAULT) - true - #else - false - #endif - ); - }; + #if ENABLED(ENDSTOP_NOISE_FILTER) + static esbits_t validated_live_state; + static uint8_t endstop_poll_count; // Countdown from threshold for polling + #endif + + public: + Endstops() {}; /** * Initialize the endstop pins @@ -86,14 +85,50 @@ class Endstops { static void init(); /** - * Update the endstops bits from the pins + * Are endstops or the probe set to abort the move? + */ + FORCE_INLINE static bool abort_enabled() { + return (enabled + #if HAS_BED_PROBE + || z_probe_enabled + #endif + ); + } + + /** + * Periodic call to poll endstops if required. Called from temperature ISR + */ + static void poll(); + + /** + * Update endstops bits from the pins. Apply filtering to get a verified state. + * If abort_enabled() and moving towards a triggered switch, abort the current move. + * Called from ISR contexts. */ static void update(); /** - * Print an error message reporting the position when the endstops were last hit. + * Get Endstop hit state. */ - static void report_state(); //call from somewhere to create an serial error message with the locations the endstops where hit, in case they were triggered + FORCE_INLINE static uint8_t trigger_state() { return hit_state; } + + /** + * Get current endstops state + */ + FORCE_INLINE static esbits_t state() { + return + #if ENABLED(ENDSTOP_NOISE_FILTER) + validated_live_state + #else + live_state + #endif + ; + } + + /** + * Report endstop hits to serial. Called from loop(). + */ + static void event_handler(); /** * Report endstop positions in response to M119 @@ -101,55 +136,34 @@ class Endstops { static void M119(); // Enable / disable endstop checking globally - static void enable_globally(bool onoff=true) { enabled_globally = enabled = onoff; } + static void enable_globally(const bool onoff=true); // Enable / disable endstop checking - static void enable(bool onoff=true) { enabled = onoff; } + static void enable(const bool onoff=true); // Disable / Enable endstops based on ENSTOPS_ONLY_FOR_HOMING and global enable - static void not_homing() { enabled = enabled_globally; } + static void not_homing(); + + // If the last move failed to trigger an endstop, call kill + static void validate_homing_move(); // Clear endstops (i.e., they were hit intentionally) to suppress the report - static void hit_on_purpose() { endstop_hit_bits = 0; } + FORCE_INLINE static void hit_on_purpose() { hit_state = 0; } // Enable / disable endstop z-probe checking #if HAS_BED_PROBE static volatile bool z_probe_enabled; - static void enable_z_probe(bool onoff=true) { z_probe_enabled = onoff; } + static void enable_z_probe(const bool onoff=true); #endif // Debugging of endstops #if ENABLED(PINS_DEBUGGING) static bool monitor_flag; static void monitor(); - FORCE_INLINE static void run_monitor() { - if (!monitor_flag) return; - static uint8_t monitor_count = 16; // offset this check from the others - monitor_count += _BV(1); // 15 Hz - monitor_count &= 0x7F; - if (!monitor_count) monitor(); // report changes in endstop status - } - #endif - - private: - - #if ENABLED(X_DUAL_ENDSTOPS) - static void test_dual_x_endstops(const EndstopEnum es1, const EndstopEnum es2); - #endif - #if ENABLED(Y_DUAL_ENDSTOPS) - static void test_dual_y_endstops(const EndstopEnum es1, const EndstopEnum es2); - #endif - #if ENABLED(Z_DUAL_ENDSTOPS) - static void test_dual_z_endstops(const EndstopEnum es1, const EndstopEnum es2); + static void run_monitor(); #endif }; extern Endstops endstops; -#if HAS_BED_PROBE - #define ENDSTOPS_ENABLED (endstops.enabled || endstops.z_probe_enabled) -#else - #define ENDSTOPS_ENABLED endstops.enabled -#endif - #endif // __ENDSTOPS_H__ diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp index 76e5f3483e2e..1cb57688e988 100644 --- a/Marlin/src/module/motion.cpp +++ b/Marlin/src/module/motion.cpp @@ -77,15 +77,15 @@ bool relative_mode; // = false; * Used by 'buffer_line_to_current_position' to do a move after changing it. * Used by 'SYNC_PLAN_POSITION_KINEMATIC' to update 'planner.position'. */ -float current_position[XYZE] = { 0.0 }; +float current_position[XYZE] = { 0 }; /** * Cartesian Destination * The destination for a move, filled in by G-code movement commands, * and expected by functions like 'prepare_move_to_destination'. - * Set with 'gcode_get_destination' or 'set_destination_from_current'. + * Set with 'get_destination_from_command' or 'set_destination_from_current'. */ -float destination[XYZE] = { 0.0 }; +float destination[XYZE] = { 0 }; // The active extruder (tool). Set with T command. @@ -100,7 +100,7 @@ uint8_t active_extruder; // = 0; // no other feedrate is specified. Overridden for special moves. // Set by the last G0 through G5 command's "F" parameter. // Functions that override this for custom moves *must always* restore it! -float feedrate_mm_s = MMM_TO_MMS(1500.0); +float feedrate_mm_s = MMM_TO_MMS(1500.0f); int16_t feedrate_percentage = 100; @@ -193,21 +193,21 @@ void sync_plan_position_e() { planner.set_e_position_mm(current_position[E_AXIS] void get_cartesian_from_steppers() { #if ENABLED(DELTA) forward_kinematics_DELTA( - stepper.get_axis_position_mm(A_AXIS), - stepper.get_axis_position_mm(B_AXIS), - stepper.get_axis_position_mm(C_AXIS) + planner.get_axis_position_mm(A_AXIS), + planner.get_axis_position_mm(B_AXIS), + planner.get_axis_position_mm(C_AXIS) ); #else #if IS_SCARA forward_kinematics_SCARA( - stepper.get_axis_position_degrees(A_AXIS), - stepper.get_axis_position_degrees(B_AXIS) + planner.get_axis_position_degrees(A_AXIS), + planner.get_axis_position_degrees(B_AXIS) ); #else - cartes[X_AXIS] = stepper.get_axis_position_mm(X_AXIS); - cartes[Y_AXIS] = stepper.get_axis_position_mm(Y_AXIS); + cartes[X_AXIS] = planner.get_axis_position_mm(X_AXIS); + cartes[Y_AXIS] = planner.get_axis_position_mm(Y_AXIS); #endif - cartes[Z_AXIS] = stepper.get_axis_position_mm(Z_AXIS); + cartes[Z_AXIS] = planner.get_axis_position_mm(Z_AXIS); #endif } @@ -396,13 +396,13 @@ void do_blocking_move_to(const float rx, const float ry, const float rz, const f #endif - stepper.synchronize(); - feedrate_mm_s = old_feedrate_mm_s; #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< do_blocking_move_to"); #endif + + planner.synchronize(); } void do_blocking_move_to_x(const float &rx, const float &fr_mm_s/*=0.0*/) { do_blocking_move_to(rx, current_position[Y_AXIS], current_position[Z_AXIS], fr_mm_s); @@ -509,7 +509,7 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, * but may produce jagged lines. Try 0.5mm, 1.0mm, and 2.0mm * and compare the difference. */ - #define SCARA_MIN_SEGMENT_LENGTH 0.5 + #define SCARA_MIN_SEGMENT_LENGTH 0.5f #endif /** @@ -552,7 +552,7 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, float cartesian_mm = SQRT(sq(xdiff) + sq(ydiff) + sq(zdiff)); // If the move is very short, check the E move distance - if (UNEAR_ZERO(cartesian_mm)) cartesian_mm = FABS(ediff); + if (UNEAR_ZERO(cartesian_mm)) cartesian_mm = ABS(ediff); // No E move either? Game over. if (UNEAR_ZERO(cartesian_mm)) return true; @@ -566,14 +566,14 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, // For SCARA enforce a minimum segment size #if IS_SCARA - NOMORE(segments, cartesian_mm * (1.0 / SCARA_MIN_SEGMENT_LENGTH)); + NOMORE(segments, cartesian_mm * (1.0f / float(SCARA_MIN_SEGMENT_LENGTH))); #endif // At least one segment is required - NOLESS(segments, 1); + NOLESS(segments, 1U); // The approximate length of each segment - const float inv_segments = 1.0 / float(segments), + const float inv_segments = 1.0f / float(segments), segment_distance[XYZE] = { xdiff * inv_segments, ydiff * inv_segments, @@ -581,7 +581,7 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, ediff * inv_segments }; - #if DISABLED(SCARA_FEEDRATE_SCALING) + #if !HAS_FEEDRATE_SCALING const float cartesian_segment_mm = cartesian_mm * inv_segments; #endif @@ -589,22 +589,25 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, SERIAL_ECHOPAIR("mm=", cartesian_mm); SERIAL_ECHOPAIR(" seconds=", seconds); SERIAL_ECHOPAIR(" segments=", segments); - #if DISABLED(SCARA_FEEDRATE_SCALING) - SERIAL_ECHOLNPAIR(" segment_mm=", cartesian_segment_mm); - #else - SERIAL_EOL(); + #if !HAS_FEEDRATE_SCALING + SERIAL_ECHOPAIR(" segment_mm=", cartesian_segment_mm); #endif + SERIAL_EOL(); //*/ - #if ENABLED(SCARA_FEEDRATE_SCALING) + #if HAS_FEEDRATE_SCALING // SCARA needs to scale the feed rate from mm/s to degrees/s // i.e., Complete the angular vector in the given time. const float segment_length = cartesian_mm * inv_segments, - inv_segment_length = 1.0 / segment_length, // 1/mm/segs + inv_segment_length = 1.0f / segment_length, // 1/mm/segs inverse_secs = inv_segment_length * _feedrate_mm_s; float oldA = planner.position_float[A_AXIS], - oldB = planner.position_float[B_AXIS]; + oldB = planner.position_float[B_AXIS] + #if ENABLED(DELTA_FEEDRATE_SCALING) + , oldC = planner.position_float[C_AXIS] + #endif + ; /* SERIAL_ECHOPGM("Scaled kinematic move: "); @@ -613,11 +616,15 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, SERIAL_ECHOPAIR(") _feedrate_mm_s=", _feedrate_mm_s); SERIAL_ECHOPAIR(" inverse_secs=", inverse_secs); SERIAL_ECHOPAIR(" oldA=", oldA); - SERIAL_ECHOLNPAIR(" oldB=", oldB); + SERIAL_ECHOPAIR(" oldB=", oldB); + #if ENABLED(DELTA_FEEDRATE_SCALING) + SERIAL_ECHOPAIR(" oldC=", oldC); + #endif + SERIAL_EOL(); safe_delay(5); //*/ #endif - + // Get the current position as starting point float raw[XYZE]; COPY(raw, current_position); @@ -644,7 +651,8 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, #if ENABLED(SCARA_FEEDRATE_SCALING) // For SCARA scale the feed rate from mm/s to degrees/s // i.e., Complete the angular vector in the given time. - planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], HYPOT(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB) * inverse_secs, active_extruder); + if (!planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], HYPOT(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB) * inverse_secs, active_extruder)) + break; /* SERIAL_ECHO(segments); SERIAL_ECHOPAIR(": X=", raw[X_AXIS]); SERIAL_ECHOPAIR(" Y=", raw[Y_AXIS]); @@ -653,22 +661,51 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, safe_delay(5); //*/ oldA = delta[A_AXIS]; oldB = delta[B_AXIS]; + #elif ENABLED(DELTA_FEEDRATE_SCALING) + // For DELTA scale the feed rate from Effector mm/s to Carriage mm/s + // i.e., Complete the linear vector in the given time. + if (!planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], raw[E_AXIS], SQRT(sq(delta[A_AXIS] - oldA) + sq(delta[B_AXIS] - oldB) + sq(delta[C_AXIS] - oldC)) * inverse_secs, active_extruder)) + break; + /* + SERIAL_ECHO(segments); + SERIAL_ECHOPAIR(": X=", raw[X_AXIS]); SERIAL_ECHOPAIR(" Y=", raw[Y_AXIS]); + SERIAL_ECHOPAIR(" A=", delta[A_AXIS]); SERIAL_ECHOPAIR(" B=", delta[B_AXIS]); SERIAL_ECHOPAIR(" C=", delta[C_AXIS]); + SERIAL_ECHOLNPAIR(" F", SQRT(sq(delta[A_AXIS] - oldA) + sq(delta[B_AXIS] - oldB) + sq(delta[C_AXIS] - oldC)) * inverse_secs * 60); + safe_delay(5); + //*/ + oldA = delta[A_AXIS]; oldB = delta[B_AXIS]; oldC = delta[C_AXIS]; #else - planner.buffer_line(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], raw[E_AXIS], _feedrate_mm_s, active_extruder, cartesian_segment_mm); + if (!planner.buffer_line(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], raw[E_AXIS], _feedrate_mm_s, active_extruder, cartesian_segment_mm)) + break; #endif } // Ensure last segment arrives at target location. - #if ENABLED(SCARA_FEEDRATE_SCALING) + #if HAS_FEEDRATE_SCALING inverse_kinematics(rtarget); ADJUST_DELTA(rtarget); + #endif + + #if ENABLED(SCARA_FEEDRATE_SCALING) const float diff2 = HYPOT2(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB); if (diff2) { planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], rtarget[Z_AXIS], rtarget[E_AXIS], SQRT(diff2) * inverse_secs, active_extruder); /* SERIAL_ECHOPAIR("final: A=", delta[A_AXIS]); SERIAL_ECHOPAIR(" B=", delta[B_AXIS]); SERIAL_ECHOPAIR(" adiff=", delta[A_AXIS] - oldA); SERIAL_ECHOPAIR(" bdiff=", delta[B_AXIS] - oldB); - SERIAL_ECHOLNPAIR(" F", (SQRT(diff2) * inverse_secs) * 60); + SERIAL_ECHOLNPAIR(" F", SQRT(diff2) * inverse_secs * 60); + SERIAL_EOL(); + safe_delay(5); + //*/ + } + #elif ENABLED(DELTA_FEEDRATE_SCALING) + const float diff2 = sq(delta[A_AXIS] - oldA) + sq(delta[B_AXIS] - oldB) + sq(delta[C_AXIS] - oldC); + if (diff2) { + planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], rtarget[E_AXIS], SQRT(diff2) * inverse_secs, active_extruder); + /* + SERIAL_ECHOPAIR("final: A=", delta[A_AXIS]); SERIAL_ECHOPAIR(" B=", delta[B_AXIS]); SERIAL_ECHOPAIR(" C=", delta[C_AXIS]); + SERIAL_ECHOPAIR(" adiff=", delta[A_AXIS] - oldA); SERIAL_ECHOPAIR(" bdiff=", delta[B_AXIS] - oldB); SERIAL_ECHOPAIR(" cdiff=", delta[C_AXIS] - oldC); + SERIAL_ECHOLNPAIR(" F", SQRT(diff2) * inverse_secs * 60); SERIAL_EOL(); safe_delay(5); //*/ @@ -710,16 +747,16 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, // If the move is very short, check the E move distance // No E move either? Game over. float cartesian_mm = SQRT(sq(xdiff) + sq(ydiff) + sq(zdiff)); - if (UNEAR_ZERO(cartesian_mm)) cartesian_mm = FABS(ediff); + if (UNEAR_ZERO(cartesian_mm)) cartesian_mm = ABS(ediff); if (UNEAR_ZERO(cartesian_mm)) return; // The length divided by the segment size // At least one segment is required uint16_t segments = cartesian_mm / segment_size; - NOLESS(segments, 1); + NOLESS(segments, 1U); // The approximate length of each segment - const float inv_segments = 1.0 / float(segments), + const float inv_segments = 1.0f / float(segments), cartesian_segment_mm = cartesian_mm * inv_segments, segment_distance[XYZE] = { xdiff * inv_segments, @@ -745,7 +782,8 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, idle(); } LOOP_XYZE(i) raw[i] += segment_distance[i]; - planner.buffer_line_kinematic(raw, fr_mm_s, active_extruder, cartesian_segment_mm); + if (!planner.buffer_line_kinematic(raw, fr_mm_s, active_extruder, cartesian_segment_mm)) + break; } // Since segment_distance is only approximate, @@ -779,7 +817,7 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, */ if (current_position[X_AXIS] != destination[X_AXIS] || current_position[Y_AXIS] != destination[Y_AXIS]) { #if ENABLED(MESH_BED_LEVELING) - mesh_line_to_destination(MMS_SCALED(feedrate_mm_s)); + mbl.line_to_destination(MMS_SCALED(feedrate_mm_s)); #elif ENABLED(AUTO_BED_LEVELING_BILINEAR) bilinear_line_to_destination(MMS_SCALED(feedrate_mm_s)); #endif @@ -847,14 +885,14 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, } // unpark extruder: 1) raise, 2) move into starting XY position, 3) lower for (uint8_t i = 0; i < 3; i++) - planner.buffer_line( + if (!planner.buffer_line( i == 0 ? raised_parked_position[X_AXIS] : current_position[X_AXIS], i == 0 ? raised_parked_position[Y_AXIS] : current_position[Y_AXIS], i == 2 ? current_position[Z_AXIS] : raised_parked_position[Z_AXIS], current_position[E_AXIS], i == 1 ? PLANNER_XY_FEEDRATE() : planner.max_feedrate_mm_s[Z_AXIS], - active_extruder - ); + active_extruder) + ) break; delayed_move_time = 0; active_extruder_parked = false; #if ENABLED(DEBUG_LEVELING_FEATURE) @@ -870,19 +908,14 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS }, } #endif // move duplicate extruder into correct duplication position. - planner.set_position_mm( - inactive_extruder_x_pos, - current_position[Y_AXIS], - current_position[Z_AXIS], - current_position[E_AXIS] - ); - planner.buffer_line( + planner.set_position_mm(inactive_extruder_x_pos, current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); + if (!planner.buffer_line( current_position[X_AXIS] + duplicate_extruder_x_offset, current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], - planner.max_feedrate_mm_s[X_AXIS], 1 - ); + planner.max_feedrate_mm_s[X_AXIS], 1) + ) break; + planner.synchronize(); SYNC_PLAN_POSITION_KINEMATIC(); - stepper.synchronize(); extruder_duplication_enabled = true; active_extruder_parked = false; #if ENABLED(DEBUG_LEVELING_FEATURE) @@ -926,7 +959,7 @@ void prepare_move_to_destination() { } #endif // PREVENT_COLD_EXTRUSION #if ENABLED(PREVENT_LENGTHY_EXTRUDE) - if (FABS(destination[E_AXIS] - current_position[E_AXIS]) * planner.e_factor[active_extruder] > (EXTRUDE_MAXLENGTH)) { + if (ABS(destination[E_AXIS] - current_position[E_AXIS]) * planner.e_factor[active_extruder] > (EXTRUDE_MAXLENGTH)) { current_position[E_AXIS] = destination[E_AXIS]; // Behave as if the move really took place, but ignore E part SERIAL_ECHO_START(); SERIAL_ECHOLNPGM(MSG_ERR_LONG_EXTRUDE_STOP); @@ -958,13 +991,13 @@ void prepare_move_to_destination() { bool axis_unhomed_error(const bool x/*=true*/, const bool y/*=true*/, const bool z/*=true*/) { #if ENABLED(HOME_AFTER_DEACTIVATE) - const bool xx = x && !axis_known_position[X_AXIS], - yy = y && !axis_known_position[Y_AXIS], - zz = z && !axis_known_position[Z_AXIS]; + const bool xx = x && !TEST(axis_known_position, X_AXIS), + yy = y && !TEST(axis_known_position, Y_AXIS), + zz = z && !TEST(axis_known_position, Z_AXIS); #else - const bool xx = x && !axis_homed[X_AXIS], - yy = y && !axis_homed[Y_AXIS], - zz = z && !axis_homed[Z_AXIS]; + const bool xx = x && !TEST(axis_homed, X_AXIS), + yy = y && !TEST(axis_homed, Y_AXIS), + zz = z && !TEST(axis_homed, Z_AXIS); #endif if (xx || yy || zz) { SERIAL_ECHO_START(); @@ -985,9 +1018,12 @@ void prepare_move_to_destination() { #endif // HAS_AXIS_UNHOMED_ERR /** - * The homing feedrate may vary + * Homing bump feedrate (mm/s) */ inline float get_homing_bump_feedrate(const AxisEnum axis) { + #if HOMING_Z_WITH_PROBE + if (axis == Z_AXIS) return MMM_TO_MMS(Z_PROBE_SPEED_SLOW); + #endif static const uint8_t homing_bump_divisor[] PROGMEM = HOMING_BUMP_DIVISOR; uint8_t hbd = pgm_read_byte(&homing_bump_divisor[axis]); if (hbd < 1) { @@ -1050,9 +1086,24 @@ static void do_homing_move(const AxisEnum axis, const float distance, const floa if (DEBUGGING(LEVELING)) { SERIAL_ECHOPAIR(">>> do_homing_move(", axis_codes[axis]); SERIAL_ECHOPAIR(", ", distance); - SERIAL_ECHOPAIR(", ", fr_mm_s); - SERIAL_CHAR(')'); - SERIAL_EOL(); + SERIAL_ECHOPGM(", "); + if (fr_mm_s) + SERIAL_ECHO(fr_mm_s); + else { + SERIAL_ECHOPAIR("[", homing_feedrate(axis)); + SERIAL_CHAR(']'); + } + SERIAL_ECHOLNPGM(")"); + } + #endif + + #if HOMING_Z_WITH_PROBE && HAS_HEATED_BED && ENABLED(WAIT_FOR_BED_HEATER) + // Wait for bed to heat back up between probing points + if (axis == Z_AXIS && distance < 0 && thermalManager.isHeatingBed()) { + serialprintPGM(msg_wait_for_bed_heating); + LCD_MESSAGEPGM(MSG_BED_HEATING); + while (thermalManager.isHeatingBed()) safe_delay(200); + lcd_reset_status(); } #endif @@ -1066,16 +1117,9 @@ static void do_homing_move(const AxisEnum axis, const float distance, const floa if (is_home_dir) { - if (axis == Z_AXIS) { - #if HOMING_Z_WITH_PROBE - #if ENABLED(BLTOUCH) - set_bltouch_deployed(true); - #endif - #if QUIET_PROBING - probing_pause(true); - #endif - #endif - } + #if HOMING_Z_WITH_PROBE && QUIET_PROBING + if (axis == Z_AXIS) probing_pause(true); + #endif // Disable stealthChop if used. Enable diag1 pin on driver. #if ENABLED(SENSORLESS_HOMING) @@ -1093,26 +1137,19 @@ static void do_homing_move(const AxisEnum axis, const float distance, const floa planner.buffer_line(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], current_position[E_AXIS], fr_mm_s ? fr_mm_s : homing_feedrate(axis), active_extruder); #else sync_plan_position(); - current_position[axis] = distance; + current_position[axis] = distance; // Set delta/cartesian axes directly planner.buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], fr_mm_s ? fr_mm_s : homing_feedrate(axis), active_extruder); #endif - stepper.synchronize(); + planner.synchronize(); if (is_home_dir) { - if (axis == Z_AXIS) { - #if HOMING_Z_WITH_PROBE - #if QUIET_PROBING - probing_pause(false); - #endif - #if ENABLED(BLTOUCH) - set_bltouch_deployed(false); - #endif - #endif - } + #if HOMING_Z_WITH_PROBE && QUIET_PROBING + if (axis == Z_AXIS) probing_pause(false); + #endif - endstops.hit_on_purpose(); + endstops.validate_homing_move(); // Re-enable stealthChop if used. Disable diag1 pin on driver. #if ENABLED(SENSORLESS_HOMING) @@ -1156,7 +1193,8 @@ void set_axis_is_at_home(const AxisEnum axis) { } #endif - axis_known_position[axis] = axis_homed[axis] = true; + SBI(axis_known_position, axis); + SBI(axis_homed, axis); #if HAS_POSITION_SHIFT position_shift[axis] = 0; @@ -1238,7 +1276,7 @@ void homeaxis(const AxisEnum axis) { if (axis != Z_AXIS) { BUZZ(100, 880); return; } #else #define CAN_HOME(A) \ - (axis == A##_AXIS && ((A##_MIN_PIN > -1 && A##_HOME_DIR < 0) || (A##_MAX_PIN > -1 && A##_HOME_DIR > 0))) + (axis == _AXIS(A) && ((A##_MIN_PIN > -1 && A##_HOME_DIR < 0) || (A##_MAX_PIN > -1 && A##_HOME_DIR > 0))) if (!CAN_HOME(X) && !CAN_HOME(Y) && !CAN_HOME(Z)) return; #endif @@ -1250,11 +1288,12 @@ void homeaxis(const AxisEnum axis) { } #endif - const int axis_home_dir = + const int axis_home_dir = ( #if ENABLED(DUAL_X_CARRIAGE) - (axis == X_AXIS) ? x_home_dir(active_extruder) : + axis == X_AXIS ? x_home_dir(active_extruder) : #endif - home_dir(axis); + home_dir(axis) + ); // Homing Z towards the bed? Deploy the Z probe or endstop. #if HOMING_Z_WITH_PROBE @@ -1262,26 +1301,36 @@ void homeaxis(const AxisEnum axis) { #endif // Set flags for X, Y, Z motor locking - #if ENABLED(X_DUAL_ENDSTOPS) - if (axis == X_AXIS) stepper.set_homing_flag_x(true); - #endif - #if ENABLED(Y_DUAL_ENDSTOPS) - if (axis == Y_AXIS) stepper.set_homing_flag_y(true); - #endif - #if ENABLED(Z_DUAL_ENDSTOPS) - if (axis == Z_AXIS) stepper.set_homing_flag_z(true); + #if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS) + switch (axis) { + #if ENABLED(X_DUAL_ENDSTOPS) + case X_AXIS: + #endif + #if ENABLED(Y_DUAL_ENDSTOPS) + case Y_AXIS: + #endif + #if ENABLED(Z_DUAL_ENDSTOPS) + case Z_AXIS: + #endif + stepper.set_homing_dual_axis(true); + default: break; + } #endif // Fast move towards endstop until triggered #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Home 1 Fast:"); #endif - do_homing_move(axis, 1.5 * max_length(axis) * axis_home_dir); + do_homing_move(axis, 1.5f * max_length(axis) * axis_home_dir); + #if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH) + // BLTOUCH needs to be stowed after trigger to let rearm itself + if (axis == Z_AXIS) set_bltouch_deployed(false); + #endif // When homing Z with probe respect probe clearance const float bump = axis_home_dir * ( #if HOMING_Z_WITH_PROBE - (axis == Z_AXIS) ? max(Z_CLEARANCE_BETWEEN_PROBES, home_bump_mm(Z_AXIS)) : + (axis == Z_AXIS && (Z_HOME_BUMP_MM)) ? MAX(Z_CLEARANCE_BETWEEN_PROBES, Z_HOME_BUMP_MM) : #endif home_bump_mm(axis) ); @@ -1292,50 +1341,65 @@ void homeaxis(const AxisEnum axis) { #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Move Away:"); #endif - do_homing_move(axis, -bump); + do_homing_move(axis, -bump + #if HOMING_Z_WITH_PROBE + , axis == Z_AXIS ? MMM_TO_MMS(Z_PROBE_SPEED_FAST) : 0.0 + #endif + ); // Slow move towards endstop until triggered #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Home 2 Slow:"); #endif + + #if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH) + // BLTOUCH needs to deploy everytime + if (axis == Z_AXIS && set_bltouch_deployed(true)) return; + #endif do_homing_move(axis, 2 * bump, get_homing_bump_feedrate(axis)); } + // Put away the Z probe + #if HOMING_Z_WITH_PROBE + if (axis == Z_AXIS && STOW_PROBE()) return; + #endif + #if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS) const bool pos_dir = axis_home_dir > 0; #if ENABLED(X_DUAL_ENDSTOPS) if (axis == X_AXIS) { - const bool lock_x1 = pos_dir ? (endstops.x_endstop_adj > 0) : (endstops.x_endstop_adj < 0); - float adj = FABS(endstops.x_endstop_adj); - if (pos_dir) adj = -adj; - if (lock_x1) stepper.set_x_lock(true); else stepper.set_x2_lock(true); - do_homing_move(axis, adj); - if (lock_x1) stepper.set_x_lock(false); else stepper.set_x2_lock(false); - stepper.set_homing_flag_x(false); + const float adj = ABS(endstops.x_endstop_adj); + if (adj) { + if (pos_dir ? (endstops.x_endstop_adj > 0) : (endstops.x_endstop_adj < 0)) stepper.set_x_lock(true); else stepper.set_x2_lock(true); + do_homing_move(axis, pos_dir ? -adj : adj); + stepper.set_x_lock(false); + stepper.set_x2_lock(false); + } } #endif #if ENABLED(Y_DUAL_ENDSTOPS) if (axis == Y_AXIS) { - const bool lock_y1 = pos_dir ? (endstops.y_endstop_adj > 0) : (endstops.y_endstop_adj < 0); - float adj = FABS(endstops.y_endstop_adj); - if (pos_dir) adj = -adj; - if (lock_y1) stepper.set_y_lock(true); else stepper.set_y2_lock(true); - do_homing_move(axis, adj); - if (lock_y1) stepper.set_y_lock(false); else stepper.set_y2_lock(false); - stepper.set_homing_flag_y(false); + const float adj = ABS(endstops.y_endstop_adj); + if (adj) { + if (pos_dir ? (endstops.y_endstop_adj > 0) : (endstops.y_endstop_adj < 0)) stepper.set_y_lock(true); else stepper.set_y2_lock(true); + do_homing_move(axis, pos_dir ? -adj : adj); + stepper.set_y_lock(false); + stepper.set_y2_lock(false); + } } #endif #if ENABLED(Z_DUAL_ENDSTOPS) if (axis == Z_AXIS) { - const bool lock_z1 = pos_dir ? (endstops.z_endstop_adj > 0) : (endstops.z_endstop_adj < 0); - float adj = FABS(endstops.z_endstop_adj); - if (pos_dir) adj = -adj; - if (lock_z1) stepper.set_z_lock(true); else stepper.set_z2_lock(true); - do_homing_move(axis, adj); - if (lock_z1) stepper.set_z_lock(false); else stepper.set_z2_lock(false); - stepper.set_homing_flag_z(false); + const float adj = ABS(endstops.z_endstop_adj); + if (adj) { + if (pos_dir ? (endstops.z_endstop_adj > 0) : (endstops.z_endstop_adj < 0)) stepper.set_z_lock(true); else stepper.set_z2_lock(true); + do_homing_move(axis, pos_dir ? -adj : adj); + stepper.set_z_lock(false); + stepper.set_z2_lock(false); + } } #endif + stepper.set_homing_dual_axis(false); #endif #if IS_SCARA @@ -1349,12 +1413,12 @@ void homeaxis(const AxisEnum axis) { // so here it re-homes each tower in turn. // Delta homing treats the axes as normal linear axes. - // retrace by the amount specified in delta_endstop_adj + additional 0.1mm in order to have minimum steps + // retrace by the amount specified in delta_endstop_adj + additional dist in order to have minimum steps if (delta_endstop_adj[axis] * Z_HOME_DIR <= 0) { #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("delta_endstop_adj:"); #endif - do_homing_move(axis, delta_endstop_adj[axis] - 0.1 * Z_HOME_DIR); + do_homing_move(axis, delta_endstop_adj[axis] - (MIN_STEPS_PER_SEGMENT + 1) * planner.steps_to_mm[axis] * Z_HOME_DIR); } #else @@ -1372,15 +1436,9 @@ void homeaxis(const AxisEnum axis) { #endif - // Put away the Z probe - #if HOMING_Z_WITH_PROBE - if (axis == Z_AXIS && STOW_PROBE()) return; - #endif - - // Clear z_lift if homing the Z axis + // Clear retracted status if homing the Z axis #if ENABLED(FWRETRACT) - if (axis == Z_AXIS) - fwretract.hop_amount = 0.0; + if (axis == Z_AXIS) fwretract.hop_amount = 0.0; #endif #if ENABLED(DEBUG_LEVELING_FEATURE) @@ -1412,7 +1470,7 @@ void homeaxis(const AxisEnum axis) { if (axis == X_AXIS) { // In Dual X mode hotend_offset[X] is T1's home position - float dual_max_x = max(hotend_offset[X_AXIS][1], X2_MAX_POS); + float dual_max_x = MAX(hotend_offset[X_AXIS][1], X2_MAX_POS); if (active_extruder != 0) { // T1 can move from X2_MIN_POS to X2_MAX_POS or X2 home position (whichever is larger) @@ -1423,7 +1481,7 @@ void homeaxis(const AxisEnum axis) { // In Duplication Mode, T0 can move as far left as X_MIN_POS // but not so far to the right that T1 would move past the end soft_endstop_min[X_AXIS] = base_min_pos(X_AXIS); - soft_endstop_max[X_AXIS] = min(base_max_pos(X_AXIS), dual_max_x - duplicate_extruder_x_offset); + soft_endstop_max[X_AXIS] = MIN(base_max_pos(X_AXIS), dual_max_x - duplicate_extruder_x_offset); } else { // In other modes, T0 can move from X_MIN_POS to X_MAX_POS @@ -1454,12 +1512,12 @@ void homeaxis(const AxisEnum axis) { #endif #if ENABLED(DELTA) - switch(axis) { + switch (axis) { #if HAS_SOFTWARE_ENDSTOPS case X_AXIS: case Y_AXIS: // Get a minimum radius for clamping - soft_endstop_radius = MIN3(FABS(max(soft_endstop_min[X_AXIS], soft_endstop_min[Y_AXIS])), soft_endstop_max[X_AXIS], soft_endstop_max[Y_AXIS]); + soft_endstop_radius = MIN3(ABS(MAX(soft_endstop_min[X_AXIS], soft_endstop_min[Y_AXIS])), soft_endstop_max[X_AXIS], soft_endstop_max[Y_AXIS]); soft_endstop_radius_2 = sq(soft_endstop_radius); break; #endif diff --git a/Marlin/src/module/motion.h b/Marlin/src/module/motion.h index 486677c4d90e..78646a9f45cd 100644 --- a/Marlin/src/module/motion.h +++ b/Marlin/src/module/motion.h @@ -71,7 +71,7 @@ extern float feedrate_mm_s; * Feedrate scaling and conversion */ extern int16_t feedrate_percentage; -#define MMS_SCALED(MM_S) ((MM_S)*feedrate_percentage*0.01) +#define MMS_SCALED(MM_S) ((MM_S)*feedrate_percentage*0.01f) extern uint8_t active_extruder; @@ -141,7 +141,7 @@ void line_to_current_position(); void buffer_line_to_destination(const float fr_mm_s); #if IS_KINEMATIC - void prepare_uninterpolated_move_to_destination(const float fr_mm_s=0.0); + void prepare_uninterpolated_move_to_destination(const float fr_mm_s=0); #endif void prepare_move_to_destination(); @@ -149,10 +149,10 @@ void prepare_move_to_destination(); /** * Blocking movement and shorthand functions */ -void do_blocking_move_to(const float rx, const float ry, const float rz, const float &fr_mm_s=0.0); -void do_blocking_move_to_x(const float &rx, const float &fr_mm_s=0.0); -void do_blocking_move_to_z(const float &rz, const float &fr_mm_s=0.0); -void do_blocking_move_to_xy(const float &rx, const float &ry, const float &fr_mm_s=0.0); +void do_blocking_move_to(const float rx, const float ry, const float rz, const float &fr_mm_s=0); +void do_blocking_move_to_x(const float &rx, const float &fr_mm_s=0); +void do_blocking_move_to_z(const float &rz, const float &fr_mm_s=0); +void do_blocking_move_to_xy(const float &rx, const float &ry, const float &fr_mm_s=0); void setup_for_endstop_or_probe_move(); void clean_up_after_endstop_or_probe_move(); @@ -189,7 +189,6 @@ void clean_up_after_endstop_or_probe_move(); void set_axis_is_at_home(const AxisEnum axis); void homeaxis(const AxisEnum axis); -#define HOMEAXIS(LETTER) homeaxis(LETTER##_AXIS) #if ENABLED(SENSORLESS_HOMING) void sensorless_homing_per_axis(const AxisEnum axis, const bool enable=true); @@ -260,7 +259,7 @@ void homeaxis(const AxisEnum axis); // Note: This won't work on SCARA since the probe offset rotates with the arm. inline bool position_is_reachable_by_probe(const float &rx, const float &ry) { return position_is_reachable(rx - (X_PROBE_OFFSET_FROM_EXTRUDER), ry - (Y_PROBE_OFFSET_FROM_EXTRUDER)) - && position_is_reachable(rx, ry, FABS(MIN_PROBE_EDGE)); + && position_is_reachable(rx, ry, ABS(MIN_PROBE_EDGE)); } #endif @@ -269,8 +268,8 @@ void homeaxis(const AxisEnum axis); // Return true if the given position is within the machine bounds. inline bool position_is_reachable(const float &rx, const float &ry) { // Add 0.001 margin to deal with float imprecision - return WITHIN(rx, X_MIN_POS - 0.001, X_MAX_POS + 0.001) - && WITHIN(ry, Y_MIN_POS - 0.001, Y_MAX_POS + 0.001); + return WITHIN(rx, X_MIN_POS - 0.001f, X_MAX_POS + 0.001f) + && WITHIN(ry, Y_MIN_POS - 0.001f, Y_MAX_POS + 0.001f); } #if HAS_BED_PROBE @@ -283,8 +282,8 @@ void homeaxis(const AxisEnum axis); */ inline bool position_is_reachable_by_probe(const float &rx, const float &ry) { return position_is_reachable(rx - (X_PROBE_OFFSET_FROM_EXTRUDER), ry - (Y_PROBE_OFFSET_FROM_EXTRUDER)) - && WITHIN(rx, MIN_PROBE_X - 0.001, MAX_PROBE_X + 0.001) - && WITHIN(ry, MIN_PROBE_Y - 0.001, MAX_PROBE_Y + 0.001); + && WITHIN(rx, MIN_PROBE_X - 0.001f, MAX_PROBE_X + 0.001f) + && WITHIN(ry, MIN_PROBE_Y - 0.001f, MAX_PROBE_Y + 0.001f); } #endif diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index cd95bb04f979..22fda4ab9865 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -56,6 +56,10 @@ * * IntersectionDistance[s1_, s2_, a_, d_] := (2 a d - s1^2 + s2^2)/(4 a) * + * -- + * + * The fast inverse function needed for Bézier interpolation for AVR + * was designed, written and tested by Eduardo José Tagle on April/2018 */ #include "planner.h" @@ -88,6 +92,10 @@ #include "../feature/power.h" #endif +// Delay for delivery of first block to the stepper ISR, if the queue contains 2 or +// fewer movements. The delay is measured in milliseconds, and must be less than 250ms +#define BLOCK_DELAY_FOR_1ST_MOVE 100 + Planner planner; // public: @@ -96,40 +104,60 @@ Planner planner; * A ring buffer of moves described in steps */ block_t Planner::block_buffer[BLOCK_BUFFER_SIZE]; -volatile uint8_t Planner::block_buffer_head = 0, // Index of the next block to be pushed - Planner::block_buffer_tail = 0; +volatile uint8_t Planner::block_buffer_head, // Index of the next block to be pushed + Planner::block_buffer_nonbusy, // Index of the first non-busy block + Planner::block_buffer_planned, // Index of the optimally planned block + Planner::block_buffer_tail; // Index of the busy block, if any +uint16_t Planner::cleaning_buffer_counter; // A counter to disable queuing of blocks +uint8_t Planner::delay_before_delivering; // This counter delays delivery of blocks when queue becomes empty to allow the opportunity of merging blocks + +uint32_t Planner::max_acceleration_mm_per_s2[XYZE_N], // (mm/s^2) M201 XYZE + Planner::max_acceleration_steps_per_s2[XYZE_N], // (steps/s^2) Derived from mm_per_s2 + Planner::min_segment_time_us; // (µs) M205 B + +float Planner::max_feedrate_mm_s[XYZE_N], // (mm/s) M203 XYZE - Max speeds + Planner::axis_steps_per_mm[XYZE_N], // (steps) M92 XYZE - Steps per millimeter + Planner::steps_to_mm[XYZE_N], // (mm) Millimeters per step + Planner::min_feedrate_mm_s, // (mm/s) M205 S - Minimum linear feedrate + Planner::acceleration, // (mm/s^2) M204 S - Normal acceleration. DEFAULT ACCELERATION for all printing moves. + Planner::retract_acceleration, // (mm/s^2) M204 R - Retract acceleration. Filament pull-back and push-forward while standing still in the other axes + Planner::travel_acceleration, // (mm/s^2) M204 T - Travel acceleration. DEFAULT ACCELERATION for all NON printing moves. + Planner::min_travel_feedrate_mm_s; // (mm/s) M205 T - Minimum travel feedrate + +#if ENABLED(JUNCTION_DEVIATION) + float Planner::junction_deviation_mm; // (mm) M205 J + #if ENABLED(LIN_ADVANCE) + #if ENABLED(DISTINCT_E_FACTORS) + float Planner::max_e_jerk[EXTRUDERS]; // Calculated from junction_deviation_mm + #else + float Planner::max_e_jerk; + #endif + #endif +#else + float Planner::max_jerk[XYZE]; // (mm/s^2) M205 XYZE - The largest speed change requiring no acceleration. +#endif -float Planner::max_feedrate_mm_s[XYZE_N], // Max speeds in mm per second - Planner::axis_steps_per_mm[XYZE_N], - Planner::steps_to_mm[XYZE_N]; +#if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) + bool Planner::abort_on_endstop_hit = false; +#endif #if ENABLED(DISTINCT_E_FACTORS) uint8_t Planner::last_extruder = 0; // Respond to extruder change + #define _EINDEX (E_AXIS + active_extruder) +#else + #define _EINDEX E_AXIS #endif int16_t Planner::flow_percentage[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(100); // Extrusion factor for each extruder -float Planner::e_factor[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(1.0); // The flow percentage and volumetric multiplier combine to scale E movement +float Planner::e_factor[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(1.0f); // The flow percentage and volumetric multiplier combine to scale E movement #if DISABLED(NO_VOLUMETRICS) float Planner::filament_size[EXTRUDERS], // diameter of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder - Planner::volumetric_area_nominal = CIRCLE_AREA((DEFAULT_NOMINAL_FILAMENT_DIA) * 0.5), // Nominal cross-sectional area + Planner::volumetric_area_nominal = CIRCLE_AREA((float(DEFAULT_NOMINAL_FILAMENT_DIA)) * 0.5f), // Nominal cross-sectional area Planner::volumetric_multiplier[EXTRUDERS]; // Reciprocal of cross-sectional area of filament (in mm^2). Pre-calculated to reduce computation in the planner #endif -uint32_t Planner::max_acceleration_steps_per_s2[XYZE_N], - Planner::max_acceleration_mm_per_s2[XYZE_N]; // Use M201 to override by software - -uint32_t Planner::min_segment_time_us; - -// Initialized by settings.load() -float Planner::min_feedrate_mm_s, - Planner::acceleration, // Normal acceleration mm/s^2 DEFAULT ACCELERATION for all printing moves. M204 SXXXX - Planner::retract_acceleration, // Retract acceleration mm/s^2 filament pull-back and push-forward while standing still in the other axes M204 TXXXX - Planner::travel_acceleration, // Travel acceleration mm/s^2 DEFAULT ACCELERATION for all NON printing moves. M204 MXXXX - Planner::max_jerk[XYZE], // The largest speed change requiring no acceleration - Planner::min_travel_feedrate_mm_s; - #if HAS_LEVELING bool Planner::leveling_active = false; // Flag that auto bed leveling is enabled #if ABL_PLANAR @@ -160,7 +188,7 @@ float Planner::min_feedrate_mm_s, #if ENABLED(AUTOTEMP) float Planner::autotemp_max = 250, Planner::autotemp_min = 210, - Planner::autotemp_factor = 0.1; + Planner::autotemp_factor = 0.1f; bool Planner::autotemp_enabled = false; #endif @@ -171,7 +199,7 @@ int32_t Planner::position[NUM_AXIS] = { 0 }; uint32_t Planner::cutoff_long; float Planner::previous_speed[NUM_AXIS], - Planner::previous_nominal_speed; + Planner::previous_nominal_speed_sqr; #if ENABLED(DISABLE_INACTIVE_EXTRUDER) uint8_t Planner::g_uc_extruder_last_move[EXTRUDERS] = { 0 }; @@ -203,111 +231,658 @@ float Planner::previous_speed[NUM_AXIS], Planner::Planner() { init(); } void Planner::init() { - block_buffer_head = block_buffer_tail = 0; ZERO(position); #if HAS_POSITION_FLOAT ZERO(position_float); #endif ZERO(previous_speed); - previous_nominal_speed = 0.0; + previous_nominal_speed_sqr = 0; #if ABL_PLANAR bed_level_matrix.set_to_identity(); #endif + clear_block_buffer(); + delay_before_delivering = 0; } +#if ENABLED(S_CURVE_ACCELERATION) + + #ifdef __AVR__ + /** + * This routine returns 0x1000000 / d, getting the inverse as fast as possible. + * A fast-converging iterative Newton-Raphson method can reach full precision in + * just 1 iteration, and takes 211 cycles (worst case; the mean case is less, up + * to 30 cycles for small divisors), instead of the 500 cycles a normal division + * would take. + * + * Inspired by the following page: + * https://stackoverflow.com/questions/27801397/newton-raphson-division-with-big-integers + * + * Suppose we want to calculate floor(2 ^ k / B) where B is a positive integer + * Then, B must be <= 2^k, otherwise, the quotient is 0. + * + * The Newton - Raphson iteration for x = B / 2 ^ k yields: + * q[n + 1] = q[n] * (2 - q[n] * B / 2 ^ k) + * + * This can be rearranged to: + * q[n + 1] = q[n] * (2 ^ (k + 1) - q[n] * B) >> k + * + * Each iteration requires only integer multiplications and bit shifts. + * It doesn't necessarily converge to floor(2 ^ k / B) but in the worst case + * it eventually alternates between floor(2 ^ k / B) and ceil(2 ^ k / B). + * So it checks for this case and extracts floor(2 ^ k / B). + * + * A simple but important optimization for this approach is to truncate + * multiplications (i.e., calculate only the higher bits of the product) in the + * early iterations of the Newton - Raphson method. This is done so the results + * of the early iterations are far from the quotient. Then it doesn't matter if + * they are done inaccurately. + * It's important to pick a good starting value for x. Knowing how many + * digits the divisor has, it can be estimated: + * + * 2^k / x = 2 ^ log2(2^k / x) + * 2^k / x = 2 ^(log2(2^k)-log2(x)) + * 2^k / x = 2 ^(k*log2(2)-log2(x)) + * 2^k / x = 2 ^ (k-log2(x)) + * 2^k / x >= 2 ^ (k-floor(log2(x))) + * floor(log2(x)) is simply the index of the most significant bit set. + * + * If this estimation can be improved even further the number of iterations can be + * reduced a lot, saving valuable execution time. + * The paper "Software Integer Division" by Thomas L.Rodeheffer, Microsoft + * Research, Silicon Valley,August 26, 2008, available at + * https://www.microsoft.com/en-us/research/wp-content/uploads/2008/08/tr-2008-141.pdf + * suggests, for its integer division algorithm, using a table to supply the first + * 8 bits of precision, then, due to the quadratic convergence nature of the + * Newton-Raphon iteration, just 2 iterations should be enough to get maximum + * precision of the division. + * By precomputing values of inverses for small denominator values, just one + * Newton-Raphson iteration is enough to reach full precision. + * This code uses the top 9 bits of the denominator as index. + * + * The AVR assembly function implements this C code using the data below: + * + * // For small divisors, it is best to directly retrieve the results + * if (d <= 110) return pgm_read_dword(&small_inv_tab[d]); + * + * // Compute initial estimation of 0x1000000/x - + * // Get most significant bit set on divider + * uint8_t idx = 0; + * uint32_t nr = d; + * if (!(nr & 0xFF0000)) { + * nr <<= 8; idx += 8; + * if (!(nr & 0xFF0000)) { nr <<= 8; idx += 8; } + * } + * if (!(nr & 0xF00000)) { nr <<= 4; idx += 4; } + * if (!(nr & 0xC00000)) { nr <<= 2; idx += 2; } + * if (!(nr & 0x800000)) { nr <<= 1; idx += 1; } + * + * // Isolate top 9 bits of the denominator, to be used as index into the initial estimation table + * uint32_t tidx = nr >> 15, // top 9 bits. bit8 is always set + * ie = inv_tab[tidx & 0xFF] + 256, // Get the table value. bit9 is always set + * x = idx <= 8 ? (ie >> (8 - idx)) : (ie << (idx - 8)); // Position the estimation at the proper place + * + * x = uint32_t((x * uint64_t(_BV(25) - x * d)) >> 24); // Refine estimation by newton-raphson. 1 iteration is enough + * const uint32_t r = _BV(24) - x * d; // Estimate remainder + * if (r >= d) x++; // Check whether to adjust result + * return uint32_t(x); // x holds the proper estimation + * + */ + static uint32_t get_period_inverse(uint32_t d) { + + static const uint8_t inv_tab[256] PROGMEM = { + 255,253,252,250,248,246,244,242,240,238,236,234,233,231,229,227, + 225,224,222,220,218,217,215,213,212,210,208,207,205,203,202,200, + 199,197,195,194,192,191,189,188,186,185,183,182,180,179,178,176, + 175,173,172,170,169,168,166,165,164,162,161,160,158,157,156,154, + 153,152,151,149,148,147,146,144,143,142,141,139,138,137,136,135, + 134,132,131,130,129,128,127,126,125,123,122,121,120,119,118,117, + 116,115,114,113,112,111,110,109,108,107,106,105,104,103,102,101, + 100,99,98,97,96,95,94,93,92,91,90,89,88,88,87,86, + 85,84,83,82,81,80,80,79,78,77,76,75,74,74,73,72, + 71,70,70,69,68,67,66,66,65,64,63,62,62,61,60,59, + 59,58,57,56,56,55,54,53,53,52,51,50,50,49,48,48, + 47,46,46,45,44,43,43,42,41,41,40,39,39,38,37,37, + 36,35,35,34,33,33,32,32,31,30,30,29,28,28,27,27, + 26,25,25,24,24,23,22,22,21,21,20,19,19,18,18,17, + 17,16,15,15,14,14,13,13,12,12,11,10,10,9,9,8, + 8,7,7,6,6,5,5,4,4,3,3,2,2,1,0,0 + }; + + // For small denominators, it is cheaper to directly store the result. + // For bigger ones, just ONE Newton-Raphson iteration is enough to get + // maximum precision we need + static const uint32_t small_inv_tab[111] PROGMEM = { + 16777216,16777216,8388608,5592405,4194304,3355443,2796202,2396745,2097152,1864135,1677721,1525201,1398101,1290555,1198372,1118481, + 1048576,986895,932067,883011,838860,798915,762600,729444,699050,671088,645277,621378,599186,578524,559240,541200, + 524288,508400,493447,479349,466033,453438,441505,430185,419430,409200,399457,390167,381300,372827,364722,356962, + 349525,342392,335544,328965,322638,316551,310689,305040,299593,294337,289262,284359,279620,275036,270600,266305, + 262144,258111,254200,250406,246723,243148,239674,236298,233016,229824,226719,223696,220752,217885,215092,212369, + 209715,207126,204600,202135,199728,197379,195083,192841,190650,188508,186413,184365,182361,180400,178481,176602, + 174762,172960,171196,169466,167772,166111,164482,162885,161319,159783,158275,156796,155344,153919,152520 + }; + + // For small divisors, it is best to directly retrieve the results + if (d <= 110) return pgm_read_dword(&small_inv_tab[d]); + + register uint8_t r8 = d & 0xFF, + r9 = (d >> 8) & 0xFF, + r10 = (d >> 16) & 0xFF, + r2,r3,r4,r5,r6,r7,r11,r12,r13,r14,r15,r16,r17,r18; + register const uint8_t* ptab = inv_tab; + + __asm__ __volatile__( + // %8:%7:%6 = interval + // r31:r30: MUST be those registers, and they must point to the inv_tab + + A("clr %13") // %13 = 0 + + // Now we must compute + // result = 0xFFFFFF / d + // %8:%7:%6 = interval + // %16:%15:%14 = nr + // %13 = 0 + + // A plain division of 24x24 bits should take 388 cycles to complete. We will + // use Newton-Raphson for the calculation, and will strive to get way less cycles + // for the same result - Using C division, it takes 500cycles to complete . + + A("clr %3") // idx = 0 + A("mov %14,%6") + A("mov %15,%7") + A("mov %16,%8") // nr = interval + A("tst %16") // nr & 0xFF0000 == 0 ? + A("brne 2f") // No, skip this + A("mov %16,%15") + A("mov %15,%14") // nr <<= 8, %14 not needed + A("subi %3,-8") // idx += 8 + A("tst %16") // nr & 0xFF0000 == 0 ? + A("brne 2f") // No, skip this + A("mov %16,%15") // nr <<= 8, %14 not needed + A("clr %15") // We clear %14 + A("subi %3,-8") // idx += 8 + + // here %16 != 0 and %16:%15 contains at least 9 MSBits, or both %16:%15 are 0 + L("2") + A("cpi %16,0x10") // (nr & 0xF00000) == 0 ? + A("brcc 3f") // No, skip this + A("swap %15") // Swap nibbles + A("swap %16") // Swap nibbles. Low nibble is 0 + A("mov %14, %15") + A("andi %14,0x0F") // Isolate low nibble + A("andi %15,0xF0") // Keep proper nibble in %15 + A("or %16, %14") // %16:%15 <<= 4 + A("subi %3,-4") // idx += 4 + + L("3") + A("cpi %16,0x40") // (nr & 0xC00000) == 0 ? + A("brcc 4f") // No, skip this + A("add %15,%15") + A("adc %16,%16") + A("add %15,%15") + A("adc %16,%16") // %16:%15 <<= 2 + A("subi %3,-2") // idx += 2 + + L("4") + A("cpi %16,0x80") // (nr & 0x800000) == 0 ? + A("brcc 5f") // No, skip this + A("add %15,%15") + A("adc %16,%16") // %16:%15 <<= 1 + A("inc %3") // idx += 1 + + // Now %16:%15 contains its MSBit set to 1, or %16:%15 is == 0. We are now absolutely sure + // we have at least 9 MSBits available to enter the initial estimation table + L("5") + A("add %15,%15") + A("adc %16,%16") // %16:%15 = tidx = (nr <<= 1), we lose the top MSBit (always set to 1, %16 is the index into the inverse table) + A("add r30,%16") // Only use top 8 bits + A("adc r31,%13") // r31:r30 = inv_tab + (tidx) + A("lpm %14, Z") // %14 = inv_tab[tidx] + A("ldi %15, 1") // %15 = 1 %15:%14 = inv_tab[tidx] + 256 + + // We must scale the approximation to the proper place + A("clr %16") // %16 will always be 0 here + A("subi %3,8") // idx == 8 ? + A("breq 6f") // yes, no need to scale + A("brcs 7f") // If C=1, means idx < 8, result was negative! + + // idx > 8, now %3 = idx - 8. We must perform a left shift. idx range:[1-8] + A("sbrs %3,0") // shift by 1bit position? + A("rjmp 8f") // No + A("add %14,%14") + A("adc %15,%15") // %15:16 <<= 1 + L("8") + A("sbrs %3,1") // shift by 2bit position? + A("rjmp 9f") // No + A("add %14,%14") + A("adc %15,%15") + A("add %14,%14") + A("adc %15,%15") // %15:16 <<= 1 + L("9") + A("sbrs %3,2") // shift by 4bits position? + A("rjmp 16f") // No + A("swap %15") // Swap nibbles. lo nibble of %15 will always be 0 + A("swap %14") // Swap nibbles + A("mov %12,%14") + A("andi %12,0x0F") // isolate low nibble + A("andi %14,0xF0") // and clear it + A("or %15,%12") // %15:%16 <<= 4 + L("16") + A("sbrs %3,3") // shift by 8bits position? + A("rjmp 6f") // No, we are done + A("mov %16,%15") + A("mov %15,%14") + A("clr %14") + A("jmp 6f") + + // idx < 8, now %3 = idx - 8. Get the count of bits + L("7") + A("neg %3") // %3 = -idx = count of bits to move right. idx range:[1...8] + A("sbrs %3,0") // shift by 1 bit position ? + A("rjmp 10f") // No, skip it + A("asr %15") // (bit7 is always 0 here) + A("ror %14") + L("10") + A("sbrs %3,1") // shift by 2 bit position ? + A("rjmp 11f") // No, skip it + A("asr %15") // (bit7 is always 0 here) + A("ror %14") + A("asr %15") // (bit7 is always 0 here) + A("ror %14") + L("11") + A("sbrs %3,2") // shift by 4 bit position ? + A("rjmp 12f") // No, skip it + A("swap %15") // Swap nibbles + A("andi %14, 0xF0") // Lose the lowest nibble + A("swap %14") // Swap nibbles. Upper nibble is 0 + A("or %14,%15") // Pass nibble from upper byte + A("andi %15, 0x0F") // And get rid of that nibble + L("12") + A("sbrs %3,3") // shift by 8 bit position ? + A("rjmp 6f") // No, skip it + A("mov %14,%15") + A("clr %15") + L("6") // %16:%15:%14 = initial estimation of 0x1000000 / d + + // Now, we must refine the estimation present on %16:%15:%14 using 1 iteration + // of Newton-Raphson. As it has a quadratic convergence, 1 iteration is enough + // to get more than 18bits of precision (the initial table lookup gives 9 bits of + // precision to start from). 18bits of precision is all what is needed here for result + + // %8:%7:%6 = d = interval + // %16:%15:%14 = x = initial estimation of 0x1000000 / d + // %13 = 0 + // %3:%2:%1:%0 = working accumulator + + // Compute 1<<25 - x*d. Result should never exceed 25 bits and should always be positive + A("clr %0") + A("clr %1") + A("clr %2") + A("ldi %3,2") // %3:%2:%1:%0 = 0x2000000 + A("mul %6,%14") // r1:r0 = LO(d) * LO(x) + A("sub %0,r0") + A("sbc %1,r1") + A("sbc %2,%13") + A("sbc %3,%13") // %3:%2:%1:%0 -= LO(d) * LO(x) + A("mul %7,%14") // r1:r0 = MI(d) * LO(x) + A("sub %1,r0") + A("sbc %2,r1" ) + A("sbc %3,%13") // %3:%2:%1:%0 -= MI(d) * LO(x) << 8 + A("mul %8,%14") // r1:r0 = HI(d) * LO(x) + A("sub %2,r0") + A("sbc %3,r1") // %3:%2:%1:%0 -= MIL(d) * LO(x) << 16 + A("mul %6,%15") // r1:r0 = LO(d) * MI(x) + A("sub %1,r0") + A("sbc %2,r1") + A("sbc %3,%13") // %3:%2:%1:%0 -= LO(d) * MI(x) << 8 + A("mul %7,%15") // r1:r0 = MI(d) * MI(x) + A("sub %2,r0") + A("sbc %3,r1") // %3:%2:%1:%0 -= MI(d) * MI(x) << 16 + A("mul %8,%15") // r1:r0 = HI(d) * MI(x) + A("sub %3,r0") // %3:%2:%1:%0 -= MIL(d) * MI(x) << 24 + A("mul %6,%16") // r1:r0 = LO(d) * HI(x) + A("sub %2,r0") + A("sbc %3,r1") // %3:%2:%1:%0 -= LO(d) * HI(x) << 16 + A("mul %7,%16") // r1:r0 = MI(d) * HI(x) + A("sub %3,r0") // %3:%2:%1:%0 -= MI(d) * HI(x) << 24 + // %3:%2:%1:%0 = (1<<25) - x*d [169] + + // We need to multiply that result by x, and we are only interested in the top 24bits of that multiply + + // %16:%15:%14 = x = initial estimation of 0x1000000 / d + // %3:%2:%1:%0 = (1<<25) - x*d = acc + // %13 = 0 + + // result = %11:%10:%9:%5:%4 + A("mul %14,%0") // r1:r0 = LO(x) * LO(acc) + A("mov %4,r1") + A("clr %5") + A("clr %9") + A("clr %10") + A("clr %11") // %11:%10:%9:%5:%4 = LO(x) * LO(acc) >> 8 + A("mul %15,%0") // r1:r0 = MI(x) * LO(acc) + A("add %4,r0") + A("adc %5,r1") + A("adc %9,%13") + A("adc %10,%13") + A("adc %11,%13") // %11:%10:%9:%5:%4 += MI(x) * LO(acc) + A("mul %16,%0") // r1:r0 = HI(x) * LO(acc) + A("add %5,r0") + A("adc %9,r1") + A("adc %10,%13") + A("adc %11,%13") // %11:%10:%9:%5:%4 += MI(x) * LO(acc) << 8 + + A("mul %14,%1") // r1:r0 = LO(x) * MIL(acc) + A("add %4,r0") + A("adc %5,r1") + A("adc %9,%13") + A("adc %10,%13") + A("adc %11,%13") // %11:%10:%9:%5:%4 = LO(x) * MIL(acc) + A("mul %15,%1") // r1:r0 = MI(x) * MIL(acc) + A("add %5,r0") + A("adc %9,r1") + A("adc %10,%13") + A("adc %11,%13") // %11:%10:%9:%5:%4 += MI(x) * MIL(acc) << 8 + A("mul %16,%1") // r1:r0 = HI(x) * MIL(acc) + A("add %9,r0") + A("adc %10,r1") + A("adc %11,%13") // %11:%10:%9:%5:%4 += MI(x) * MIL(acc) << 16 + + A("mul %14,%2") // r1:r0 = LO(x) * MIH(acc) + A("add %5,r0") + A("adc %9,r1") + A("adc %10,%13") + A("adc %11,%13") // %11:%10:%9:%5:%4 = LO(x) * MIH(acc) << 8 + A("mul %15,%2") // r1:r0 = MI(x) * MIH(acc) + A("add %9,r0") + A("adc %10,r1") + A("adc %11,%13") // %11:%10:%9:%5:%4 += MI(x) * MIH(acc) << 16 + A("mul %16,%2") // r1:r0 = HI(x) * MIH(acc) + A("add %10,r0") + A("adc %11,r1") // %11:%10:%9:%5:%4 += MI(x) * MIH(acc) << 24 + + A("mul %14,%3") // r1:r0 = LO(x) * HI(acc) + A("add %9,r0") + A("adc %10,r1") + A("adc %11,%13") // %11:%10:%9:%5:%4 = LO(x) * HI(acc) << 16 + A("mul %15,%3") // r1:r0 = MI(x) * HI(acc) + A("add %10,r0") + A("adc %11,r1") // %11:%10:%9:%5:%4 += MI(x) * HI(acc) << 24 + A("mul %16,%3") // r1:r0 = HI(x) * HI(acc) + A("add %11,r0") // %11:%10:%9:%5:%4 += MI(x) * HI(acc) << 32 + + // At this point, %11:%10:%9 contains the new estimation of x. + + // Finally, we must correct the result. Estimate remainder as + // (1<<24) - x*d + // %11:%10:%9 = x + // %8:%7:%6 = d = interval" "\n\t" + A("ldi %3,1") + A("clr %2") + A("clr %1") + A("clr %0") // %3:%2:%1:%0 = 0x1000000 + A("mul %6,%9") // r1:r0 = LO(d) * LO(x) + A("sub %0,r0") + A("sbc %1,r1") + A("sbc %2,%13") + A("sbc %3,%13") // %3:%2:%1:%0 -= LO(d) * LO(x) + A("mul %7,%9") // r1:r0 = MI(d) * LO(x) + A("sub %1,r0") + A("sbc %2,r1") + A("sbc %3,%13") // %3:%2:%1:%0 -= MI(d) * LO(x) << 8 + A("mul %8,%9") // r1:r0 = HI(d) * LO(x) + A("sub %2,r0") + A("sbc %3,r1") // %3:%2:%1:%0 -= MIL(d) * LO(x) << 16 + A("mul %6,%10") // r1:r0 = LO(d) * MI(x) + A("sub %1,r0") + A("sbc %2,r1") + A("sbc %3,%13") // %3:%2:%1:%0 -= LO(d) * MI(x) << 8 + A("mul %7,%10") // r1:r0 = MI(d) * MI(x) + A("sub %2,r0") + A("sbc %3,r1") // %3:%2:%1:%0 -= MI(d) * MI(x) << 16 + A("mul %8,%10") // r1:r0 = HI(d) * MI(x) + A("sub %3,r0") // %3:%2:%1:%0 -= MIL(d) * MI(x) << 24 + A("mul %6,%11") // r1:r0 = LO(d) * HI(x) + A("sub %2,r0") + A("sbc %3,r1") // %3:%2:%1:%0 -= LO(d) * HI(x) << 16 + A("mul %7,%11") // r1:r0 = MI(d) * HI(x) + A("sub %3,r0") // %3:%2:%1:%0 -= MI(d) * HI(x) << 24 + // %3:%2:%1:%0 = r = (1<<24) - x*d + // %8:%7:%6 = d = interval + + // Perform the final correction + A("sub %0,%6") + A("sbc %1,%7") + A("sbc %2,%8") // r -= d + A("brcs 14f") // if ( r >= d) + + // %11:%10:%9 = x + A("ldi %3,1") + A("add %9,%3") + A("adc %10,%13") + A("adc %11,%13") // x++ + L("14") + + // Estimation is done. %11:%10:%9 = x + A("clr __zero_reg__") // Make C runtime happy + // [211 cycles total] + : "=r" (r2), + "=r" (r3), + "=r" (r4), + "=d" (r5), + "=r" (r6), + "=r" (r7), + "+r" (r8), + "+r" (r9), + "+r" (r10), + "=d" (r11), + "=r" (r12), + "=r" (r13), + "=d" (r14), + "=d" (r15), + "=d" (r16), + "=d" (r17), + "=d" (r18), + "+z" (ptab) + : + : "r0", "r1", "cc" + ); + + // Return the result + return r11 | (uint16_t(r12) << 8) | (uint32_t(r13) << 16); + } + #else + // All other 32-bit MPUs can easily do inverse using hardware division, + // so we don't need to reduce precision or to use assembly language at all. + // This routine, for all other archs, returns 0x100000000 / d ~= 0xFFFFFFFF / d + static FORCE_INLINE uint32_t get_period_inverse(const uint32_t d) { + return d ? 0xFFFFFFFF / d : 0xFFFFFFFF; + } + #endif +#endif + #define MINIMAL_STEP_RATE 120 /** * Calculate trapezoid parameters, multiplying the entry- and exit-speeds * by the provided factors. + ** + * ############ VERY IMPORTANT ############ + * NOTE that the PRECONDITION to call this function is that the block is + * NOT BUSY and it is marked as RECALCULATE. That WARRANTIES the Stepper ISR + * is not and will not use the block while we modify it, so it is safe to + * alter its values. */ void Planner::calculate_trapezoid_for_block(block_t* const block, const float &entry_factor, const float &exit_factor) { + uint32_t initial_rate = CEIL(block->nominal_rate * entry_factor), final_rate = CEIL(block->nominal_rate * exit_factor); // (steps per second) // Limit minimal step rate (Otherwise the timer will overflow.) - NOLESS(initial_rate, MINIMAL_STEP_RATE); - NOLESS(final_rate, MINIMAL_STEP_RATE); + NOLESS(initial_rate, uint32_t(MINIMAL_STEP_RATE)); + NOLESS(final_rate, uint32_t(MINIMAL_STEP_RATE)); - #if ENABLED(BEZIER_JERK_CONTROL) + #if ENABLED(S_CURVE_ACCELERATION) uint32_t cruise_rate = initial_rate; #endif const int32_t accel = block->acceleration_steps_per_s2; // Steps required for acceleration, deceleration to/from nominal rate - int32_t accelerate_steps = CEIL(estimate_acceleration_distance(initial_rate, block->nominal_rate, accel)), - decelerate_steps = FLOOR(estimate_acceleration_distance(block->nominal_rate, final_rate, -accel)), + uint32_t accelerate_steps = CEIL(estimate_acceleration_distance(initial_rate, block->nominal_rate, accel)), + decelerate_steps = FLOOR(estimate_acceleration_distance(block->nominal_rate, final_rate, -accel)); // Steps between acceleration and deceleration, if any - plateau_steps = block->step_event_count - accelerate_steps - decelerate_steps; + int32_t plateau_steps = block->step_event_count - accelerate_steps - decelerate_steps; // Does accelerate_steps + decelerate_steps exceed step_event_count? // Then we can't possibly reach the nominal rate, there will be no cruising. // Use intersection_distance() to calculate accel / braking time in order to // reach the final_rate exactly at the end of this block. if (plateau_steps < 0) { - accelerate_steps = CEIL(intersection_distance(initial_rate, final_rate, accel, block->step_event_count)); - NOLESS(accelerate_steps, 0); // Check limits due to numerical round-off - accelerate_steps = min((uint32_t)accelerate_steps, block->step_event_count);//(We can cast here to unsigned, because the above line ensures that we are above zero) + const float accelerate_steps_float = CEIL(intersection_distance(initial_rate, final_rate, accel, block->step_event_count)); + accelerate_steps = MIN(uint32_t(MAX(accelerate_steps_float, 0)), block->step_event_count); plateau_steps = 0; - #if ENABLED(BEZIER_JERK_CONTROL) + #if ENABLED(S_CURVE_ACCELERATION) // We won't reach the cruising rate. Let's calculate the speed we will reach cruise_rate = final_speed(initial_rate, accel, accelerate_steps); #endif } - #if ENABLED(BEZIER_JERK_CONTROL) + #if ENABLED(S_CURVE_ACCELERATION) else // We have some plateau time, so the cruise rate will be the nominal rate cruise_rate = block->nominal_rate; #endif - // block->accelerate_until = accelerate_steps; - // block->decelerate_after = accelerate_steps+plateau_steps; - - #if ENABLED(BEZIER_JERK_CONTROL) + #if ENABLED(S_CURVE_ACCELERATION) // Jerk controlled speed requires to express speed versus time, NOT steps - int32_t acceleration_time = ((float)(cruise_rate - initial_rate) / accel) * HAL_STEPPER_TIMER_RATE, - deceleration_time = ((float)(cruise_rate - final_rate) / accel) * HAL_STEPPER_TIMER_RATE; + uint32_t acceleration_time = ((float)(cruise_rate - initial_rate) / accel) * (STEPPER_TIMER_RATE), + deceleration_time = ((float)(cruise_rate - final_rate) / accel) * (STEPPER_TIMER_RATE); + + // And to offload calculations from the ISR, we also calculate the inverse of those times here + uint32_t acceleration_time_inverse = get_period_inverse(acceleration_time); + uint32_t deceleration_time_inverse = get_period_inverse(deceleration_time); #endif - CRITICAL_SECTION_START; // Fill variables used by the stepper in a critical section - if (!TEST(block->flag, BLOCK_BIT_BUSY)) { // Don't update variables if block is busy. - block->accelerate_until = accelerate_steps; - block->decelerate_after = accelerate_steps + plateau_steps; - block->initial_rate = initial_rate; - #if ENABLED(BEZIER_JERK_CONTROL) - block->acceleration_time = acceleration_time; - block->deceleration_time = deceleration_time; - block->cruise_rate = cruise_rate; - #endif - block->final_rate = final_rate; - } - CRITICAL_SECTION_END; + // Store new block parameters + block->accelerate_until = accelerate_steps; + block->decelerate_after = accelerate_steps + plateau_steps; + block->initial_rate = initial_rate; + #if ENABLED(S_CURVE_ACCELERATION) + block->acceleration_time = acceleration_time; + block->deceleration_time = deceleration_time; + block->acceleration_time_inverse = acceleration_time_inverse; + block->deceleration_time_inverse = deceleration_time_inverse; + block->cruise_rate = cruise_rate; + #endif + block->final_rate = final_rate; } -// "Junction jerk" in this context is the immediate change in speed at the junction of two blocks. -// This method will calculate the junction jerk as the euclidean distance between the nominal -// velocities of the respective blocks. -//inline float junction_jerk(block_t *before, block_t *after) { -// return SQRT( -// POW((before->speed_x-after->speed_x), 2)+POW((before->speed_y-after->speed_y), 2)); -//} - +/* PLANNER SPEED DEFINITION + +--------+ <- current->nominal_speed + / \ + current->entry_speed -> + \ + | + <- next->entry_speed (aka exit speed) + +-------------+ + time --> + + Recalculates the motion plan according to the following basic guidelines: + + 1. Go over every feasible block sequentially in reverse order and calculate the junction speeds + (i.e. current->entry_speed) such that: + a. No junction speed exceeds the pre-computed maximum junction speed limit or nominal speeds of + neighboring blocks. + b. A block entry speed cannot exceed one reverse-computed from its exit speed (next->entry_speed) + with a maximum allowable deceleration over the block travel distance. + c. The last (or newest appended) block is planned from a complete stop (an exit speed of zero). + 2. Go over every block in chronological (forward) order and dial down junction speed values if + a. The exit speed exceeds the one forward-computed from its entry speed with the maximum allowable + acceleration over the block travel distance. + + When these stages are complete, the planner will have maximized the velocity profiles throughout the all + of the planner blocks, where every block is operating at its maximum allowable acceleration limits. In + other words, for all of the blocks in the planner, the plan is optimal and no further speed improvements + are possible. If a new block is added to the buffer, the plan is recomputed according to the said + guidelines for a new optimal plan. + + To increase computational efficiency of these guidelines, a set of planner block pointers have been + created to indicate stop-compute points for when the planner guidelines cannot logically make any further + changes or improvements to the plan when in normal operation and new blocks are streamed and added to the + planner buffer. For example, if a subset of sequential blocks in the planner have been planned and are + bracketed by junction velocities at their maximums (or by the first planner block as well), no new block + added to the planner buffer will alter the velocity profiles within them. So we no longer have to compute + them. Or, if a set of sequential blocks from the first block in the planner (or a optimal stop-compute + point) are all accelerating, they are all optimal and can not be altered by a new block added to the + planner buffer, as this will only further increase the plan speed to chronological blocks until a maximum + junction velocity is reached. However, if the operational conditions of the plan changes from infrequently + used feed holds or feedrate overrides, the stop-compute pointers will be reset and the entire plan is + recomputed as stated in the general guidelines. + + Planner buffer index mapping: + - block_buffer_tail: Points to the beginning of the planner buffer. First to be executed or being executed. + - block_buffer_head: Points to the buffer block after the last block in the buffer. Used to indicate whether + the buffer is full or empty. As described for standard ring buffers, this block is always empty. + - block_buffer_planned: Points to the first buffer block after the last optimally planned block for normal + streaming operating conditions. Use for planning optimizations by avoiding recomputing parts of the + planner buffer that don't change with the addition of a new block, as describe above. In addition, + this block can never be less than block_buffer_tail and will always be pushed forward and maintain + this requirement when encountered by the Planner::discard_current_block() routine during a cycle. + + NOTE: Since the planner only computes on what's in the planner buffer, some motions with lots of short + line segments, like G2/3 arcs or complex curves, may seem to move slow. This is because there simply isn't + enough combined distance traveled in the entire buffer to accelerate up to the nominal speed and then + decelerate to a complete stop at the end of the buffer, as stated by the guidelines. If this happens and + becomes an annoyance, there are a few simple solutions: (1) Maximize the machine acceleration. The planner + will be able to compute higher velocity profiles within the same combined distance. (2) Maximize line + motion(s) distance per block to a desired tolerance. The more combined distance the planner has to use, + the faster it can go. (3) Maximize the planner buffer size. This also will increase the combined distance + for the planner to compute over. It also increases the number of computations the planner has to perform + to compute an optimal plan, so select carefully. +*/ // The kernel called by recalculate() when scanning the plan from last to first entry. void Planner::reverse_pass_kernel(block_t* const current, const block_t * const next) { - if (!current || !next) return; - // If entry speed is already at the maximum entry speed, no need to recheck. Block is cruising. - // If not, block in state of acceleration or deceleration. Reset entry speed to maximum and - // check for maximum allowable speed reductions to ensure maximum possible planned speed. - float max_entry_speed = current->max_entry_speed; - if (current->entry_speed != max_entry_speed) { - // If nominal length true, max junction speed is guaranteed to be reached. Only compute - // for max allowable speed if block is decelerating and nominal length is false. - current->entry_speed = (TEST(current->flag, BLOCK_BIT_NOMINAL_LENGTH) || max_entry_speed <= next->entry_speed) - ? max_entry_speed - : min(max_entry_speed, max_allowable_speed(-current->acceleration, next->entry_speed, current->millimeters)); - SBI(current->flag, BLOCK_BIT_RECALCULATE); + if (current) { + // If entry speed is already at the maximum entry speed, and there was no change of speed + // in the next block, there is no need to recheck. Block is cruising and there is no need to + // compute anything for this block, + // If not, block entry speed needs to be recalculated to ensure maximum possible planned speed. + const float max_entry_speed_sqr = current->max_entry_speed_sqr; + + // Compute maximum entry speed decelerating over the current block from its exit speed. + // If not at the maximum entry speed, or the previous block entry speed changed + if (current->entry_speed_sqr != max_entry_speed_sqr || (next && TEST(next->flag, BLOCK_BIT_RECALCULATE))) { + + // If nominal length true, max junction speed is guaranteed to be reached. + // If a block can de/ac-celerate from nominal speed to zero within the length of the block, then + // the current block and next block junction speeds are guaranteed to always be at their maximum + // junction speeds in deceleration and acceleration, respectively. This is due to how the current + // block nominal speed limits both the current and next maximum junction speeds. Hence, in both + // the reverse and forward planners, the corresponding block junction speed will always be at the + // the maximum junction speed and may always be ignored for any speed reduction checks. + + const float new_entry_speed_sqr = TEST(current->flag, BLOCK_BIT_NOMINAL_LENGTH) + ? max_entry_speed_sqr + : MIN(max_entry_speed_sqr, max_allowable_speed_sqr(-current->acceleration, next ? next->entry_speed_sqr : sq(float(MINIMUM_PLANNER_SPEED)), current->millimeters)); + if (current->entry_speed_sqr != new_entry_speed_sqr) { + + // Need to recalculate the block speed - Mark it now, so the stepper + // ISR does not consume the block before being recalculated + SBI(current->flag, BLOCK_BIT_RECALCULATE); + + // But there is an inherent race condition here, as the block may have + // become BUSY just before being marked RECALCULATE, so check for that! + if (stepper.is_block_busy(current)) { + // Block became busy. Clear the RECALCULATE flag (no point in + // recalculating BUSY blocks). And don't set its speed, as it can't + // be updated at this time. + CBI(current->flag, BLOCK_BIT_RECALCULATE); + } + else { + // Block is not BUSY so this is ahead of the Stepper ISR: + // Just Set the new entry speed. + current->entry_speed_sqr = new_entry_speed_sqr; + } + } + } } } @@ -316,49 +891,97 @@ void Planner::reverse_pass_kernel(block_t* const current, const block_t * const * Once in reverse and once forward. This implements the reverse pass. */ void Planner::reverse_pass() { - if (movesplanned() > 2) { - const uint8_t endnr = BLOCK_MOD(block_buffer_tail + 1); // tail is running. tail+1 shouldn't be altered because it's connected to the running block. - uint8_t blocknr = prev_block_index(block_buffer_head); - block_t* current = &block_buffer[blocknr]; - - // Last/newest block in buffer: - const float max_entry_speed = current->max_entry_speed; - if (current->entry_speed != max_entry_speed) { - // If nominal length true, max junction speed is guaranteed to be reached. Only compute - // for max allowable speed if block is decelerating and nominal length is false. - current->entry_speed = TEST(current->flag, BLOCK_BIT_NOMINAL_LENGTH) - ? max_entry_speed - : min(max_entry_speed, max_allowable_speed(-current->acceleration, MINIMUM_PLANNER_SPEED, current->millimeters)); - SBI(current->flag, BLOCK_BIT_RECALCULATE); - } + // Initialize block index to the last block in the planner buffer. + uint8_t block_index = prev_block_index(block_buffer_head); + + // Read the index of the last buffer planned block. + // The ISR may change it so get a stable local copy. + uint8_t planned_block_index = block_buffer_planned; - do { - const block_t * const next = current; - blocknr = prev_block_index(blocknr); - current = &block_buffer[blocknr]; + // If there was a race condition and block_buffer_planned was incremented + // or was pointing at the head (queue empty) break loop now and avoid + // planning already consumed blocks + if (planned_block_index == block_buffer_head) return; + + // Reverse Pass: Coarsely maximize all possible deceleration curves back-planning from the last + // block in buffer. Cease planning when the last optimal planned or tail pointer is reached. + // NOTE: Forward pass will later refine and correct the reverse pass to create an optimal plan. + const block_t *next = NULL; + while (block_index != planned_block_index) { + + // Perform the reverse pass + block_t *current = &block_buffer[block_index]; + + // Only consider non sync blocks + if (!TEST(current->flag, BLOCK_BIT_SYNC_POSITION)) { reverse_pass_kernel(current, next); - } while (blocknr != endnr); + next = current; + } + + // Advance to the next + block_index = prev_block_index(block_index); + + // The ISR could advance the block_buffer_planned while we were doing the reverse pass. + // We must try to avoid using an already consumed block as the last one - So follow + // changes to the pointer and make sure to limit the loop to the currently busy block + while (planned_block_index != block_buffer_planned) { + + // If we reached the busy block or an already processed block, break the loop now + if (block_index == planned_block_index) return; + + // Advance the pointer, following the busy block + planned_block_index = next_block_index(planned_block_index); + } } } // The kernel called by recalculate() when scanning the plan from first to last entry. -void Planner::forward_pass_kernel(const block_t * const previous, block_t* const current) { - if (!previous) return; - - // If the previous block is an acceleration block, but it is not long enough to complete the - // full speed change within the block, we need to adjust the entry speed accordingly. Entry - // speeds have already been reset, maximized, and reverse planned by reverse planner. - // If nominal length is true, max junction speed is guaranteed to be reached. No need to recheck. - if (!TEST(previous->flag, BLOCK_BIT_NOMINAL_LENGTH)) { - if (previous->entry_speed < current->entry_speed) { - float entry_speed = min(current->entry_speed, - max_allowable_speed(-previous->acceleration, previous->entry_speed, previous->millimeters)); - // Check for junction speed change - if (current->entry_speed != entry_speed) { - current->entry_speed = entry_speed; +void Planner::forward_pass_kernel(const block_t* const previous, block_t* const current, const uint8_t block_index) { + if (previous) { + // If the previous block is an acceleration block, too short to complete the full speed + // change, adjust the entry speed accordingly. Entry speeds have already been reset, + // maximized, and reverse-planned. If nominal length is set, max junction speed is + // guaranteed to be reached. No need to recheck. + if (!TEST(previous->flag, BLOCK_BIT_NOMINAL_LENGTH) && + previous->entry_speed_sqr < current->entry_speed_sqr) { + + // Compute the maximum allowable speed + const float new_entry_speed_sqr = max_allowable_speed_sqr(-previous->acceleration, previous->entry_speed_sqr, previous->millimeters); + + // If true, current block is full-acceleration and we can move the planned pointer forward. + if (new_entry_speed_sqr < current->entry_speed_sqr) { + + // Mark we need to recompute the trapezoidal shape, and do it now, + // so the stepper ISR does not consume the block before being recalculated SBI(current->flag, BLOCK_BIT_RECALCULATE); + + // But there is an inherent race condition here, as the block maybe + // became BUSY, just before it was marked as RECALCULATE, so check + // if that is the case! + if (stepper.is_block_busy(current)) { + // Block became busy. Clear the RECALCULATE flag (no point in + // recalculating BUSY blocks and don't set its speed, as it can't + // be updated at this time. + CBI(current->flag, BLOCK_BIT_RECALCULATE); + } + else { + // Block is not BUSY, we won the race against the Stepper ISR: + + // Always <= max_entry_speed_sqr. Backward pass sets this. + current->entry_speed_sqr = new_entry_speed_sqr; // Always <= max_entry_speed_sqr. Backward pass sets this. + + // Set optimal plan pointer. + block_buffer_planned = block_index; + } } } + + // Any block set at its maximum entry speed also creates an optimal plan up to this + // point in the buffer. When the plan is bracketed by either the beginning of the + // buffer and a maximum entry speed or two maximum entry speeds, every block in between + // cannot logically be further improved. Hence, we don't have to recompute them anymore. + if (current->entry_speed_sqr == current->max_entry_speed_sqr) + block_buffer_planned = block_index; } } @@ -367,15 +990,37 @@ void Planner::forward_pass_kernel(const block_t * const previous, block_t* const * Once in reverse and once forward. This implements the forward pass. */ void Planner::forward_pass() { - block_t* block[3] = { NULL, NULL, NULL }; - for (uint8_t b = block_buffer_tail; b != block_buffer_head; b = next_block_index(b)) { - block[0] = block[1]; - block[1] = block[2]; - block[2] = &block_buffer[b]; - forward_pass_kernel(block[0], block[1]); + // Forward Pass: Forward plan the acceleration curve from the planned pointer onward. + // Also scans for optimal plan breakpoints and appropriately updates the planned pointer. + + // Begin at buffer planned pointer. Note that block_buffer_planned can be modified + // by the stepper ISR, so read it ONCE. It it guaranteed that block_buffer_planned + // will never lead head, so the loop is safe to execute. Also note that the forward + // pass will never modify the values at the tail. + uint8_t block_index = block_buffer_planned; + + block_t *current; + const block_t * previous = NULL; + while (block_index != block_buffer_head) { + + // Perform the forward pass + current = &block_buffer[block_index]; + + // Skip SYNC blocks + if (!TEST(current->flag, BLOCK_BIT_SYNC_POSITION)) { + // If there's no previous block or the previous block is not + // BUSY (thus, modifiable) run the forward_pass_kernel. Otherwise, + // the previous block became BUSY, so assume the current block's + // entry speed can't be altered (since that would also require + // updating the exit speed of the previous block). + if (!previous || !stepper.is_block_busy(previous)) + forward_pass_kernel(previous, current, block_index); + previous = current; + } + // Advance to the previous + block_index = next_block_index(block_index); } - forward_pass_kernel(block[1], block[2]); } /** @@ -384,72 +1029,119 @@ void Planner::forward_pass() { * recalculate() after updating the blocks. */ void Planner::recalculate_trapezoids() { - int8_t block_index = block_buffer_tail; - block_t *current, *next = NULL; + // The tail may be changed by the ISR so get a local copy. + uint8_t block_index = block_buffer_tail, + head_block_index = block_buffer_head; + // Since there could be a sync block in the head of the queue, and the + // next loop must not recalculate the head block (as it needs to be + // specially handled), scan backwards to the first non-SYNC block. + while (head_block_index != block_index) { + + // Go back (head always point to the first free block) + const uint8_t prev_index = prev_block_index(head_block_index); + + // Get the pointer to the block + block_t *prev = &block_buffer[prev_index]; + + // If not dealing with a sync block, we are done. The last block is not a SYNC block + if (!TEST(prev->flag, BLOCK_BIT_SYNC_POSITION)) break; + + // Examine the previous block. This and all following are SYNC blocks + head_block_index = prev_index; + } + + // Go from the tail (currently executed block) to the first block, without including it) + block_t *current = NULL, *next = NULL; + float current_entry_speed = 0.0, next_entry_speed = 0.0; + while (block_index != head_block_index) { - while (block_index != block_buffer_head) { - current = next; next = &block_buffer[block_index]; - if (current) { - // Recalculate if current block entry or exit junction speed has changed. - if (TEST(current->flag, BLOCK_BIT_RECALCULATE) || TEST(next->flag, BLOCK_BIT_RECALCULATE)) { - // NOTE: Entry and exit factors always > 0 by all previous logic operations. - const float nomr = 1.0 / current->nominal_speed; - calculate_trapezoid_for_block(current, current->entry_speed * nomr, next->entry_speed * nomr); - #if ENABLED(LIN_ADVANCE) - if (current->use_advance_lead) { - const float comp = current->e_D_ratio * extruder_advance_K * axis_steps_per_mm[E_AXIS]; - current->max_adv_steps = current->nominal_speed * comp; - current->final_adv_steps = next->entry_speed * comp; + + // Skip sync blocks + if (!TEST(next->flag, BLOCK_BIT_SYNC_POSITION)) { + next_entry_speed = SQRT(next->entry_speed_sqr); + + if (current) { + // Recalculate if current block entry or exit junction speed has changed. + if (TEST(current->flag, BLOCK_BIT_RECALCULATE) || TEST(next->flag, BLOCK_BIT_RECALCULATE)) { + + // Mark the current block as RECALCULATE, to protect it from the Stepper ISR running it. + // Note that due to the above condition, there's a chance the current block isn't marked as + // RECALCULATE yet, but the next one is. That's the reason for the following line. + SBI(current->flag, BLOCK_BIT_RECALCULATE); + + // But there is an inherent race condition here, as the block maybe + // became BUSY, just before it was marked as RECALCULATE, so check + // if that is the case! + if (!stepper.is_block_busy(current)) { + // Block is not BUSY, we won the race against the Stepper ISR: + + // NOTE: Entry and exit factors always > 0 by all previous logic operations. + const float current_nominal_speed = SQRT(current->nominal_speed_sqr), + nomr = 1.0f / current_nominal_speed; + calculate_trapezoid_for_block(current, current_entry_speed * nomr, next_entry_speed * nomr); + #if ENABLED(LIN_ADVANCE) + if (current->use_advance_lead) { + const float comp = current->e_D_ratio * extruder_advance_K * axis_steps_per_mm[E_AXIS]; + current->max_adv_steps = current_nominal_speed * comp; + current->final_adv_steps = next_entry_speed * comp; + } + #endif } - #endif - CBI(current->flag, BLOCK_BIT_RECALCULATE); // Reset current only to ensure next trapezoid is computed + + // Reset current only to ensure next trapezoid is computed - The + // stepper is free to use the block from now on. + CBI(current->flag, BLOCK_BIT_RECALCULATE); + } } + + current = next; + current_entry_speed = next_entry_speed; } + block_index = next_block_index(block_index); } + // Last/newest block in buffer. Exit speed is set with MINIMUM_PLANNER_SPEED. Always recalculated. if (next) { - const float nomr = 1.0 / next->nominal_speed; - calculate_trapezoid_for_block(next, next->entry_speed * nomr, (MINIMUM_PLANNER_SPEED) * nomr); - #if ENABLED(LIN_ADVANCE) - if (next->use_advance_lead) { - const float comp = next->e_D_ratio * extruder_advance_K * axis_steps_per_mm[E_AXIS]; - next->max_adv_steps = next->nominal_speed * comp; - next->final_adv_steps = (MINIMUM_PLANNER_SPEED) * comp; - } - #endif + + // Mark the next(last) block as RECALCULATE, to prevent the Stepper ISR running it. + // As the last block is always recalculated here, there is a chance the block isn't + // marked as RECALCULATE yet. That's the reason for the following line. + SBI(next->flag, BLOCK_BIT_RECALCULATE); + + // But there is an inherent race condition here, as the block maybe + // became BUSY, just before it was marked as RECALCULATE, so check + // if that is the case! + if (!stepper.is_block_busy(current)) { + // Block is not BUSY, we won the race against the Stepper ISR: + + const float next_nominal_speed = SQRT(next->nominal_speed_sqr), + nomr = 1.0f / next_nominal_speed; + calculate_trapezoid_for_block(next, next_entry_speed * nomr, float(MINIMUM_PLANNER_SPEED) * nomr); + #if ENABLED(LIN_ADVANCE) + if (next->use_advance_lead) { + const float comp = next->e_D_ratio * extruder_advance_K * axis_steps_per_mm[E_AXIS]; + next->max_adv_steps = next_nominal_speed * comp; + next->final_adv_steps = (MINIMUM_PLANNER_SPEED) * comp; + } + #endif + } + + // Reset next only to ensure its trapezoid is computed - The stepper is free to use + // the block from now on. CBI(next->flag, BLOCK_BIT_RECALCULATE); } } -/** - * Recalculate the motion plan according to the following algorithm: - * - * 1. Go over every block in reverse order... - * - * Calculate a junction speed reduction (block_t.entry_factor) so: - * - * a. The junction jerk is within the set limit, and - * - * b. No speed reduction within one block requires faster - * deceleration than the one, true constant acceleration. - * - * 2. Go over every block in chronological order... - * - * Dial down junction speed reduction values if: - * a. The speed increase within one block would require faster - * acceleration than the one, true constant acceleration. - * - * After that, all blocks will have an entry_factor allowing all speed changes to - * be performed using only the one, true constant acceleration, and where no junction - * jerk is jerkier than the set limit, Jerky. Finally it will: - * - * 3. Recalculate "trapezoids" for all blocks. - */ void Planner::recalculate() { - reverse_pass(); - forward_pass(); + // Initialize block index to the last block in the planner buffer. + const uint8_t block_index = prev_block_index(block_buffer_head); + // If there is just one block, no planning can be done. Avoid it! + if (block_index != block_buffer_planned) { + reverse_pass(); + forward_pass(); + } recalculate_trapezoids(); } @@ -465,14 +1157,14 @@ void Planner::recalculate() { for (uint8_t b = block_buffer_tail; b != block_buffer_head; b = next_block_index(b)) { block_t* block = &block_buffer[b]; if (block->steps[X_AXIS] || block->steps[Y_AXIS] || block->steps[Z_AXIS]) { - float se = (float)block->steps[E_AXIS] / block->step_event_count * block->nominal_speed; // mm/sec; + const float se = (float)block->steps[E_AXIS] / block->step_event_count * SQRT(block->nominal_speed_sqr); // mm/sec; NOLESS(high, se); } } float t = autotemp_min + high * autotemp_factor; t = constrain(t, autotemp_min, autotemp_max); - if (t < oldt) t = t * (1 - (AUTOTEMP_OLDWEIGHT)) + oldt * (AUTOTEMP_OLDWEIGHT); + if (t < oldt) t = t * (1 - float(AUTOTEMP_OLDWEIGHT)) + oldt * float(AUTOTEMP_OLDWEIGHT); oldt = t; thermalManager.setTargetHotend(t, 0); } @@ -575,8 +1267,8 @@ void Planner::check_axes_activity() { #endif // FAN_KICKSTART_TIME > 0 - #ifdef FAN_MIN_PWM - #define CALC_FAN_SPEED(f) (tail_fan_speed[f] ? ( FAN_MIN_PWM + (tail_fan_speed[f] * (255 - FAN_MIN_PWM)) / 255 ) : 0) + #if FAN_MIN_PWM != 0 || FAN_MAX_PWM != 255 + #define CALC_FAN_SPEED(f) (tail_fan_speed[f] ? map(tail_fan_speed[f], 1, 255, FAN_MIN_PWM, FAN_MAX_PWM) : 0) #else #define CALC_FAN_SPEED(f) tail_fan_speed[f] #endif @@ -627,7 +1319,7 @@ void Planner::check_axes_activity() { * Return 1.0 with volumetric off or a diameter of 0.0. */ inline float calculate_volumetric_multiplier(const float &diameter) { - return (parser.volumetric_enabled && diameter) ? 1.0 / CIRCLE_AREA(diameter * 0.5) : 1.0; + return (parser.volumetric_enabled && diameter) ? 1.0f / CIRCLE_AREA(diameter * 0.5f) : 1; } /** @@ -651,18 +1343,18 @@ void Planner::check_axes_activity() { */ void Planner::calculate_volumetric_for_width_sensor(const int8_t encoded_ratio) { // Reconstitute the nominal/measured ratio - const float nom_meas_ratio = 1.0 + 0.01 * encoded_ratio, + const float nom_meas_ratio = 1 + 0.01f * encoded_ratio, ratio_2 = sq(nom_meas_ratio); volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] = parser.volumetric_enabled - ? ratio_2 / CIRCLE_AREA(filament_width_nominal * 0.5) // Volumetric uses a true volumetric multiplier + ? ratio_2 / CIRCLE_AREA(filament_width_nominal * 0.5f) // Volumetric uses a true volumetric multiplier : ratio_2; // Linear squares the ratio, which scales the volume refresh_e_factor(FILAMENT_SENSOR_EXTRUDER_NUM); } #endif -#if PLANNER_LEVELING +#if PLANNER_LEVELING || HAS_UBL_AND_CURVES /** * rx, ry, rz - Cartesian positions in mm * Leveled XYZ on completion @@ -714,6 +1406,10 @@ void Planner::check_axes_activity() { #endif } +#endif + +#if PLANNER_LEVELING + void Planner::unapply_leveling(float raw[XYZ]) { if (leveling_active) { @@ -762,16 +1458,160 @@ void Planner::check_axes_activity() { #endif // PLANNER_LEVELING +void Planner::quick_stop() { + + // Remove all the queued blocks. Note that this function is NOT + // called from the Stepper ISR, so we must consider tail as readonly! + // that is why we set head to tail - But there is a race condition that + // must be handled: The tail could change between the read and the assignment + // so this must be enclosed in a critical section + + const bool was_enabled = STEPPER_ISR_ENABLED(); + if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); + + // Drop all queue entries + block_buffer_nonbusy = block_buffer_planned = block_buffer_head = block_buffer_tail; + + // Restart the block delay for the first movement - As the queue was + // forced to empty, there's no risk the ISR will touch this. + delay_before_delivering = BLOCK_DELAY_FOR_1ST_MOVE; + + #if ENABLED(ULTRA_LCD) + // Clear the accumulated runtime + clear_block_buffer_runtime(); + #endif + + // Make sure to drop any attempt of queuing moves for at least 1 second + cleaning_buffer_counter = 1000; + + // Reenable Stepper ISR + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); + + // And stop the stepper ISR + stepper.quick_stop(); +} + +void Planner::endstop_triggered(const AxisEnum axis) { + // Record stepper position and discard the current block + stepper.endstop_triggered(axis); +} + +float Planner::triggered_position_mm(const AxisEnum axis) { + return stepper.triggered_position(axis) * steps_to_mm[axis]; +} + +void Planner::finish_and_disable() { + while (has_blocks_queued() || cleaning_buffer_counter) idle(); + disable_all_steppers(); +} + +/** + * Get an axis position according to stepper position(s) + * For CORE machines apply translation from ABC to XYZ. + */ +float Planner::get_axis_position_mm(const AxisEnum axis) { + float axis_steps; + #if IS_CORE + // Requesting one of the "core" axes? + if (axis == CORE_AXIS_1 || axis == CORE_AXIS_2) { + + // Protect the access to the position. + const bool was_enabled = STEPPER_ISR_ENABLED(); + if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); + + // ((a1+a2)+(a1-a2))/2 -> (a1+a2+a1-a2)/2 -> (a1+a1)/2 -> a1 + // ((a1+a2)-(a1-a2))/2 -> (a1+a2-a1+a2)/2 -> (a2+a2)/2 -> a2 + axis_steps = 0.5f * ( + axis == CORE_AXIS_2 ? CORESIGN(stepper.position(CORE_AXIS_1) - stepper.position(CORE_AXIS_2)) + : stepper.position(CORE_AXIS_1) + stepper.position(CORE_AXIS_2) + ); + + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); + } + else + axis_steps = stepper.position(axis); + #else + axis_steps = stepper.position(axis); + #endif + return axis_steps * steps_to_mm[axis]; +} + +/** + * Block until all buffered steps are executed / cleaned + */ +void Planner::synchronize() { while (has_blocks_queued() || cleaning_buffer_counter) idle(); } + /** * Planner::_buffer_steps * - * Add a new linear movement to the buffer (in terms of steps). + * Add a new linear movement to the planner queue (in terms of steps). * * target - target position in steps units * fr_mm_s - (target) speed of the move * extruder - target extruder + * millimeters - the length of the movement, if known + * + * Returns true if movement was properly queued, false otherwise */ -void Planner::_buffer_steps(const int32_t (&target)[XYZE] +bool Planner::_buffer_steps(const int32_t (&target)[XYZE] + #if HAS_POSITION_FLOAT + , const float (&target_float)[XYZE] + #endif + , float fr_mm_s, const uint8_t extruder, const float &millimeters +) { + + // If we are cleaning, do not accept queuing of movements + if (cleaning_buffer_counter) return false; + + // Wait for the next available block + uint8_t next_buffer_head; + block_t * const block = get_next_free_block(next_buffer_head); + + // Fill the block with the specified movement + if (!_populate_block(block, false, target + #if HAS_POSITION_FLOAT + , target_float + #endif + , fr_mm_s, extruder, millimeters + )) { + // Movement was not queued, probably because it was too short. + // Simply accept that as movement queued and done + return true; + } + + // If this is the first added movement, reload the delay, otherwise, cancel it. + if (block_buffer_head == block_buffer_tail) { + // If it was the first queued block, restart the 1st block delivery delay, to + // give the planner an opportunity to queue more movements and plan them + // As there are no queued movements, the Stepper ISR will not touch this + // variable, so there is no risk setting this here (but it MUST be done + // before the following line!!) + delay_before_delivering = BLOCK_DELAY_FOR_1ST_MOVE; + } + + // Move buffer head + block_buffer_head = next_buffer_head; + + // Recalculate and optimize trapezoidal speed profiles + recalculate(); + + // Movement successfully queued! + return true; +} + +/** + * Planner::_populate_block + * + * Fills a new linear movement in the block (in terms of steps). + * + * target - target position in steps units + * fr_mm_s - (target) speed of the move + * extruder - target extruder + * + * Returns true is movement is acceptable, false otherwise + */ +bool Planner::_populate_block(block_t * const block, bool split_move, + const int32_t (&target)[XYZE] #if HAS_POSITION_FLOAT , const float (&target_float)[XYZE] #endif @@ -785,7 +1625,7 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] int32_t de = target[E_AXIS] - position[E_AXIS]; /* <-- add a slash to enable - SERIAL_ECHOPAIR(" _buffer_steps FR:", fr_mm_s); + SERIAL_ECHOPAIR(" _populate_block FR:", fr_mm_s); SERIAL_ECHOPAIR(" A:", target[A_AXIS]); SERIAL_ECHOPAIR(" (", da); SERIAL_ECHOPAIR(" steps) B:", target[B_AXIS]); @@ -811,7 +1651,7 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] } #endif // PREVENT_COLD_EXTRUSION #if ENABLED(PREVENT_LENGTHY_EXTRUDE) - if (labs(de * e_factor[extruder]) > (int32_t)axis_steps_per_mm[E_AXIS_N] * (EXTRUDE_MAXLENGTH)) { // It's not important to get max. extrusion length in a precision < 1mm, so save some cycles and cast to int + if (ABS(de * e_factor[extruder]) > (int32_t)axis_steps_per_mm[E_AXIS_N] * (EXTRUDE_MAXLENGTH)) { // It's not important to get max. extrusion length in a precision < 1mm, so save some cycles and cast to int position[E_AXIS] = target[E_AXIS]; // Behave as if the move really took place, but ignore E part #if HAS_POSITION_FLOAT position_float[E_AXIS] = target_float[E_AXIS]; @@ -852,17 +1692,7 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] if (de < 0) SBI(dm, E_AXIS); const float esteps_float = de * e_factor[extruder]; - const int32_t esteps = abs(esteps_float) + 0.5; - - // Calculate the buffer head after we push this byte - const uint8_t next_buffer_head = next_block_index(block_buffer_head); - - // If the buffer is full: good! That means we are well ahead of the robot. - // Rest here until there is room in the buffer. - while (block_buffer_tail == next_buffer_head) idle(); - - // Prepare to set up new block - block_t* block = &block_buffer[block_buffer_head]; + const uint32_t esteps = ABS(esteps_float) + 0.5f; // Clear all flags, including the "busy" bit block->flag = 0x00; @@ -873,38 +1703,44 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] // Number of steps for each axis // See http://www.corexy.com/theory.html #if CORE_IS_XY - block->steps[A_AXIS] = labs(da + db); - block->steps[B_AXIS] = labs(da - db); - block->steps[Z_AXIS] = labs(dc); + block->steps[A_AXIS] = ABS(da + db); + block->steps[B_AXIS] = ABS(da - db); + block->steps[Z_AXIS] = ABS(dc); #elif CORE_IS_XZ - block->steps[A_AXIS] = labs(da + dc); - block->steps[Y_AXIS] = labs(db); - block->steps[C_AXIS] = labs(da - dc); + block->steps[A_AXIS] = ABS(da + dc); + block->steps[Y_AXIS] = ABS(db); + block->steps[C_AXIS] = ABS(da - dc); #elif CORE_IS_YZ - block->steps[X_AXIS] = labs(da); - block->steps[B_AXIS] = labs(db + dc); - block->steps[C_AXIS] = labs(db - dc); + block->steps[X_AXIS] = ABS(da); + block->steps[B_AXIS] = ABS(db + dc); + block->steps[C_AXIS] = ABS(db - dc); #elif IS_SCARA - block->steps[A_AXIS] = labs(da); - block->steps[B_AXIS] = labs(db); - block->steps[Z_AXIS] = labs(dc); + block->steps[A_AXIS] = ABS(da); + block->steps[B_AXIS] = ABS(db); + block->steps[Z_AXIS] = ABS(dc); #else // default non-h-bot planning - block->steps[A_AXIS] = labs(da); - block->steps[B_AXIS] = labs(db); - block->steps[C_AXIS] = labs(dc); + block->steps[A_AXIS] = ABS(da); + block->steps[B_AXIS] = ABS(db); + block->steps[C_AXIS] = ABS(dc); #endif block->steps[E_AXIS] = esteps; block->step_event_count = MAX4(block->steps[A_AXIS], block->steps[B_AXIS], block->steps[C_AXIS], esteps); // Bail if this is a zero-length block - if (block->step_event_count < MIN_STEPS_PER_SEGMENT) return; + if (block->step_event_count < MIN_STEPS_PER_SEGMENT) return false; - // For a mixing extruder, get a magnified step_event_count for each + // For a mixing extruder, get a magnified esteps for each #if ENABLED(MIXING_EXTRUDER) for (uint8_t i = 0; i < MIXING_STEPPERS; i++) - block->mix_event_count[i] = mixing_factor[i] * block->step_event_count; + block->mix_steps[i] = mixing_factor[i] * ( + #if ENABLED(LIN_ADVANCE) + esteps + #else + block->step_event_count + #endif + ); #endif #if FAN_COUNT > 0 @@ -1093,7 +1929,7 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] delta_mm[E_AXIS] = esteps_float * steps_to_mm[E_AXIS_N]; if (block->steps[A_AXIS] < MIN_STEPS_PER_SEGMENT && block->steps[B_AXIS] < MIN_STEPS_PER_SEGMENT && block->steps[C_AXIS] < MIN_STEPS_PER_SEGMENT) { - block->millimeters = FABS(delta_mm[E_AXIS]); + block->millimeters = ABS(delta_mm[E_AXIS]); } else if (!millimeters) { block->millimeters = SQRT( @@ -1117,12 +1953,13 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] // Example: At 120mm/s a 60mm move takes 0.5s. So this will give 2.0. float inverse_secs = fr_mm_s * inverse_millimeters; - const uint8_t moves_queued = movesplanned(); + // Get the number of non busy movements in queue (non busy means that they can be altered) + const uint8_t moves_queued = nonbusy_movesplanned(); // Slow down when the buffer starts to empty, rather than wait at the corner for a buffer refill #if ENABLED(SLOWDOWN) || ENABLED(ULTRA_LCD) || defined(XY_FREQUENCY_LIMIT) // Segment time im micro seconds - uint32_t segment_time_us = LROUND(1000000.0 / inverse_secs); + uint32_t segment_time_us = LROUND(1000000.0f / inverse_secs); #endif #if ENABLED(SLOWDOWN) @@ -1130,7 +1967,7 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] if (segment_time_us < min_segment_time_us) { // buffer is draining, add extra time. The amount of time added increases if the buffer is still emptied more. const uint32_t nst = segment_time_us + LROUND(2 * (min_segment_time_us - segment_time_us) / moves_queued); - inverse_secs = 1000000.0 / nst; + inverse_secs = 1000000.0f / nst; #if defined(XY_FREQUENCY_LIMIT) || ENABLED(ULTRA_LCD) segment_time_us = nst; #endif @@ -1139,12 +1976,16 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] #endif #if ENABLED(ULTRA_LCD) - CRITICAL_SECTION_START - block_buffer_runtime_us += segment_time_us; - CRITICAL_SECTION_END + // Protect the access to the position. + const bool was_enabled = STEPPER_ISR_ENABLED(); + if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); + + block_buffer_runtime_us += segment_time_us; + + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); #endif - block->nominal_speed = block->millimeters * inverse_secs; // (mm/sec) Always > 0 + block->nominal_speed_sqr = sq(block->millimeters * inverse_secs); // (mm/sec)^2 Always > 0 block->nominal_rate = CEIL(block->step_event_count * inverse_secs); // (step/sec) Always > 0 #if ENABLED(FILAMENT_WIDTH_SENSOR) @@ -1166,7 +2007,7 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] while (filwidth_delay_dist >= MMD_MM) filwidth_delay_dist -= MMD_MM; // Convert into an index into the measurement array - filwidth_delay_index[0] = int8_t(filwidth_delay_dist * 0.1); + filwidth_delay_index[0] = int8_t(filwidth_delay_dist * 0.1f); // If the index has changed (must have gone forward)... if (filwidth_delay_index[0] != filwidth_delay_index[1]) { @@ -1182,9 +2023,9 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] #endif // Calculate and limit speed in mm/sec for each axis - float current_speed[NUM_AXIS], speed_factor = 1.0; // factor <1 decreases speed + float current_speed[NUM_AXIS], speed_factor = 1.0f; // factor <1 decreases speed LOOP_XYZE(i) { - const float cs = FABS((current_speed[i] = delta_mm[i] * inverse_secs)); + const float cs = ABS((current_speed[i] = delta_mm[i] * inverse_secs)); #if ENABLED(DISTINCT_E_FACTORS) if (i == E_AXIS) i += extruder; #endif @@ -1222,7 +2063,7 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] const uint32_t max_x_segment_time = MAX3(xs0, xs1, xs2), max_y_segment_time = MAX3(ys0, ys1, ys2), - min_xy_segment_time = min(max_x_segment_time, max_y_segment_time); + min_xy_segment_time = MIN(max_x_segment_time, max_y_segment_time); if (min_xy_segment_time < MAX_FREQ_TIME_US) { const float low_sf = speed_factor * min_xy_segment_time / (MAX_FREQ_TIME_US); NOMORE(speed_factor, low_sf); @@ -1230,10 +2071,10 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] #endif // XY_FREQUENCY_LIMIT // Correct the speed - if (speed_factor < 1.0) { + if (speed_factor < 1.0f) { LOOP_XYZE(i) current_speed[i] *= speed_factor; - block->nominal_speed *= speed_factor; block->nominal_rate *= speed_factor; + block->nominal_speed_sqr = block->nominal_speed_sqr * sq(speed_factor); } // Compute and limit the acceleration rate for the trapezoid generator. @@ -1265,6 +2106,17 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] accel = CEIL((esteps ? acceleration : travel_acceleration) * steps_per_mm); #if ENABLED(LIN_ADVANCE) + + #if ENABLED(JUNCTION_DEVIATION) + #if ENABLED(DISTINCT_E_FACTORS) + #define MAX_E_JERK max_e_jerk[extruder] + #else + #define MAX_E_JERK max_e_jerk + #endif + #else + #define MAX_E_JERK max_jerk[E_AXIS] + #endif + /** * * Use LIN_ADVANCE for blocks if all these are true: @@ -1292,13 +2144,12 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] // Check for unusual high e_D ratio to detect if a retract move was combined with the last print move due to min. steps per segment. Never execute this with advance! // This assumes no one will use a retract length of 0mm < retr_length < ~0.2mm and no one will print 100mm wide lines using 3mm filament or 35mm wide lines using 1.75mm filament. - if (block->e_D_ratio > 3.0) + if (block->e_D_ratio > 3.0f) block->use_advance_lead = false; else { - const uint32_t max_accel_steps_per_s2 = max_jerk[E_AXIS] / (extruder_advance_K * block->e_D_ratio) * steps_per_mm; + const uint32_t max_accel_steps_per_s2 = MAX_E_JERK / (extruder_advance_K * block->e_D_ratio) * steps_per_mm; #if ENABLED(LA_DEBUG) - if (accel > max_accel_steps_per_s2) - SERIAL_ECHOLNPGM("Acceleration limited."); + if (accel > max_accel_steps_per_s2) SERIAL_ECHOLNPGM("Acceleration limited."); #endif NOMORE(accel, max_accel_steps_per_s2); } @@ -1327,14 +2178,14 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] } block->acceleration_steps_per_s2 = accel; block->acceleration = accel / steps_per_mm; - #if DISABLED(BEZIER_JERK_CONTROL) - block->acceleration_rate = (long)(accel * (4096.0 * 4096.0 / (HAL_STEPPER_TIMER_RATE))); + #if DISABLED(S_CURVE_ACCELERATION) + block->acceleration_rate = (uint32_t)(accel * (4096.0f * 4096.0f / (STEPPER_TIMER_RATE))); #endif #if ENABLED(LIN_ADVANCE) if (block->use_advance_lead) { - block->advance_speed = (HAL_STEPPER_TIMER_RATE) / (extruder_advance_K * block->e_D_ratio * block->acceleration * axis_steps_per_mm[E_AXIS_N]); + block->advance_speed = (STEPPER_TIMER_RATE) / (extruder_advance_K * block->e_D_ratio * block->acceleration * axis_steps_per_mm[E_AXIS_N]); #if ENABLED(LA_DEBUG) - if (extruder_advance_K * block->e_D_ratio * block->acceleration * 2 < block->nominal_speed * block->e_D_ratio) + if (extruder_advance_K * block->e_D_ratio * block->acceleration * 2 < SQRT(block->nominal_speed_sqr) * block->e_D_ratio) SERIAL_ECHOLNPGM("More than 2 steps per eISR loop executed."); if (block->advance_speed < 200) SERIAL_ECHOLNPGM("eISR running at > 10kHz."); @@ -1342,138 +2193,198 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] } #endif - // Initial limit on the segment entry velocity - float vmax_junction; - - #if 0 // Use old jerk for now - - float junction_deviation = 0.1; - - // Compute path unit vector - double unit_vec[XYZ] = { + float vmax_junction_sqr; // Initial limit on the segment entry velocity (mm/s)^2 + + #if ENABLED(JUNCTION_DEVIATION) + + /** + * Compute maximum allowable entry speed at junction by centripetal acceleration approximation. + * Let a circle be tangent to both previous and current path line segments, where the junction + * deviation is defined as the distance from the junction to the closest edge of the circle, + * colinear with the circle center. The circular segment joining the two paths represents the + * path of centripetal acceleration. Solve for max velocity based on max acceleration about the + * radius of the circle, defined indirectly by junction deviation. This may be also viewed as + * path width or max_jerk in the previous Grbl version. This approach does not actually deviate + * from path, but used as a robust way to compute cornering speeds, as it takes into account the + * nonlinearities of both the junction angle and junction velocity. + * + * NOTE: If the junction deviation value is finite, Grbl executes the motions in an exact path + * mode (G61). If the junction deviation value is zero, Grbl will execute the motion in an exact + * stop mode (G61.1) manner. In the future, if continuous mode (G64) is desired, the math here + * is exactly the same. Instead of motioning all the way to junction point, the machine will + * just follow the arc circle defined here. The Arduino doesn't have the CPU cycles to perform + * a continuous mode path, but ARM-based microcontrollers most certainly do. + * + * NOTE: The max junction speed is a fixed value, since machine acceleration limits cannot be + * changed dynamically during operation nor can the line move geometry. This must be kept in + * memory in the event of a feedrate override changing the nominal speeds of blocks, which can + * change the overall maximum entry speed conditions of all blocks. + * + * ####### + * https://github.com/MarlinFirmware/Marlin/issues/10341#issuecomment-388191754 + * + * hoffbaked: on May 10 2018 tuned and improved the GRBL algorithm for Marlin: + Okay! It seems to be working good. I somewhat arbitrarily cut it off at 1mm + on then on anything with less sides than an octagon. With this, and the + reverse pass actually recalculating things, a corner acceleration value + of 1000 junction deviation of .05 are pretty reasonable. If the cycles + can be spared, a better acos could be used. For all I know, it may be + already calculated in a different place. */ + + // Unit vector of previous path line segment + static float previous_unit_vec[XYZE]; + + float unit_vec[] = { delta_mm[A_AXIS] * inverse_millimeters, delta_mm[B_AXIS] * inverse_millimeters, - delta_mm[C_AXIS] * inverse_millimeters + delta_mm[C_AXIS] * inverse_millimeters, + delta_mm[E_AXIS] * inverse_millimeters }; - /* - Compute maximum allowable entry speed at junction by centripetal acceleration approximation. - - Let a circle be tangent to both previous and current path line segments, where the junction - deviation is defined as the distance from the junction to the closest edge of the circle, - collinear with the circle center. - - The circular segment joining the two paths represents the path of centripetal acceleration. - Solve for max velocity based on max acceleration about the radius of the circle, defined - indirectly by junction deviation. - - This may be also viewed as path width or max_jerk in the previous grbl version. This approach - does not actually deviate from path, but used as a robust way to compute cornering speeds, as - it takes into account the nonlinearities of both the junction angle and junction velocity. - */ - - vmax_junction = MINIMUM_PLANNER_SPEED; // Set default max junction speed - // Skip first block or when previous_nominal_speed is used as a flag for homing and offset cycles. - if (moves_queued && !UNEAR_ZERO(previous_nominal_speed)) { + if (moves_queued && !UNEAR_ZERO(previous_nominal_speed_sqr)) { // Compute cosine of angle between previous and current path. (prev_unit_vec is negative) // NOTE: Max junction velocity is computed without sin() or acos() by trig half angle identity. - const float cos_theta = - previous_unit_vec[X_AXIS] * unit_vec[X_AXIS] - - previous_unit_vec[Y_AXIS] * unit_vec[Y_AXIS] - - previous_unit_vec[Z_AXIS] * unit_vec[Z_AXIS]; - // Skip and use default max junction speed for 0 degree acute junction. - if (cos_theta < 0.95) { - vmax_junction = min(previous_nominal_speed, block->nominal_speed); - // Skip and avoid divide by zero for straight junctions at 180 degrees. Limit to min() of nominal speeds. - if (cos_theta > -0.95) { - // Compute maximum junction velocity based on maximum acceleration and junction deviation - float sin_theta_d2 = SQRT(0.5 * (1.0 - cos_theta)); // Trig half angle identity. Always positive. - NOMORE(vmax_junction, SQRT(block->acceleration * junction_deviation * sin_theta_d2 / (1.0 - sin_theta_d2))); + float junction_cos_theta = -previous_unit_vec[X_AXIS] * unit_vec[X_AXIS] + -previous_unit_vec[Y_AXIS] * unit_vec[Y_AXIS] + -previous_unit_vec[Z_AXIS] * unit_vec[Z_AXIS] + -previous_unit_vec[E_AXIS] * unit_vec[E_AXIS] + ; + + // NOTE: Computed without any expensive trig, sin() or acos(), by trig half angle identity of cos(theta). + if (junction_cos_theta > 0.999999f) { + // For a 0 degree acute junction, just set minimum junction speed. + vmax_junction_sqr = sq(float(MINIMUM_PLANNER_SPEED)); + } + else { + NOLESS(junction_cos_theta, -0.999999f); // Check for numerical round-off to avoid divide by zero. + + // Convert delta vector to unit vector + float junction_unit_vec[XYZE] = { + unit_vec[X_AXIS] - previous_unit_vec[X_AXIS], + unit_vec[Y_AXIS] - previous_unit_vec[Y_AXIS], + unit_vec[Z_AXIS] - previous_unit_vec[Z_AXIS], + unit_vec[E_AXIS] - previous_unit_vec[E_AXIS] + }; + normalize_junction_vector(junction_unit_vec); + + const float junction_acceleration = limit_value_by_axis_maximum(block->acceleration, junction_unit_vec), + sin_theta_d2 = SQRT(0.5f * (1.0f - junction_cos_theta)); // Trig half angle identity. Always positive. + + vmax_junction_sqr = (junction_acceleration * junction_deviation_mm * sin_theta_d2) / (1.0f - sin_theta_d2); + if (block->millimeters < 1) { + + // Fast acos approximation, minus the error bar to be safe + const float junction_theta = (RADIANS(-40) * sq(junction_cos_theta) - RADIANS(50)) * junction_cos_theta + RADIANS(90) - 0.18f; + + // If angle is greater than 135 degrees (octagon), find speed for approximate arc + if (junction_theta > RADIANS(135)) { + const float limit_sqr = block->millimeters / (RADIANS(180) - junction_theta) * junction_acceleration; + NOMORE(vmax_junction_sqr, limit_sqr); + } } } + + // Get the lowest speed + vmax_junction_sqr = MIN3(vmax_junction_sqr, block->nominal_speed_sqr, previous_nominal_speed_sqr); } - #endif + else // Init entry speed to zero. Assume it starts from rest. Planner will correct this later. + vmax_junction_sqr = 0; - /** - * Adapted from Průša MKS firmware - * https://github.com/prusa3d/Prusa-Firmware - * - * Start with a safe speed (from which the machine may halt to stop immediately). - */ + COPY(previous_unit_vec, unit_vec); - // Exit speed limited by a jerk to full halt of a previous last segment - static float previous_safe_speed; + #else // Classic Jerk Limiting - float safe_speed = block->nominal_speed; - uint8_t limited = 0; - LOOP_XYZE(i) { - const float jerk = FABS(current_speed[i]), maxj = max_jerk[i]; - if (jerk > maxj) { - if (limited) { - const float mjerk = maxj * block->nominal_speed; - if (jerk * safe_speed > mjerk) safe_speed = mjerk / jerk; - } - else { - ++limited; - safe_speed = maxj; + /** + * Adapted from Průša MKS firmware + * https://github.com/prusa3d/Prusa-Firmware + * + * Start with a safe speed (from which the machine may halt to stop immediately). + */ + + // Exit speed limited by a jerk to full halt of a previous last segment + static float previous_safe_speed; + + const float nominal_speed = SQRT(block->nominal_speed_sqr); + float safe_speed = nominal_speed; + + uint8_t limited = 0; + LOOP_XYZE(i) { + const float jerk = ABS(current_speed[i]), maxj = max_jerk[i]; + if (jerk > maxj) { + if (limited) { + const float mjerk = maxj * nominal_speed; + if (jerk * safe_speed > mjerk) safe_speed = mjerk / jerk; + } + else { + ++limited; + safe_speed = maxj; + } } } - } - if (moves_queued && !UNEAR_ZERO(previous_nominal_speed)) { - // Estimate a maximum velocity allowed at a joint of two successive segments. - // If this maximum velocity allowed is lower than the minimum of the entry / exit safe velocities, - // then the machine is not coasting anymore and the safe entry / exit velocities shall be used. - - // The junction velocity will be shared between successive segments. Limit the junction velocity to their minimum. - // Pick the smaller of the nominal speeds. Higher speed shall not be achieved at the junction during coasting. - vmax_junction = min(block->nominal_speed, previous_nominal_speed); - - // Factor to multiply the previous / current nominal velocities to get componentwise limited velocities. - float v_factor = 1; - limited = 0; - - // Now limit the jerk in all axes. - const float smaller_speed_factor = vmax_junction / previous_nominal_speed; - LOOP_XYZE(axis) { - // Limit an axis. We have to differentiate: coasting, reversal of an axis, full stop. - float v_exit = previous_speed[axis] * smaller_speed_factor, - v_entry = current_speed[axis]; - if (limited) { - v_exit *= v_factor; - v_entry *= v_factor; - } + float vmax_junction; + if (moves_queued && !UNEAR_ZERO(previous_nominal_speed_sqr)) { + // Estimate a maximum velocity allowed at a joint of two successive segments. + // If this maximum velocity allowed is lower than the minimum of the entry / exit safe velocities, + // then the machine is not coasting anymore and the safe entry / exit velocities shall be used. + + // Factor to multiply the previous / current nominal velocities to get componentwise limited velocities. + float v_factor = 1; + limited = 0; + + // The junction velocity will be shared between successive segments. Limit the junction velocity to their minimum. + // Pick the smaller of the nominal speeds. Higher speed shall not be achieved at the junction during coasting. + const float previous_nominal_speed = SQRT(previous_nominal_speed_sqr); + vmax_junction = MIN(nominal_speed, previous_nominal_speed); + + // Now limit the jerk in all axes. + const float smaller_speed_factor = vmax_junction / previous_nominal_speed; + LOOP_XYZE(axis) { + // Limit an axis. We have to differentiate: coasting, reversal of an axis, full stop. + float v_exit = previous_speed[axis] * smaller_speed_factor, + v_entry = current_speed[axis]; + if (limited) { + v_exit *= v_factor; + v_entry *= v_factor; + } - // Calculate jerk depending on whether the axis is coasting in the same direction or reversing. - const float jerk = (v_exit > v_entry) - ? // coasting axis reversal - ( (v_entry > 0 || v_exit < 0) ? (v_exit - v_entry) : max(v_exit, -v_entry) ) - : // v_exit <= v_entry coasting axis reversal - ( (v_entry < 0 || v_exit > 0) ? (v_entry - v_exit) : max(-v_exit, v_entry) ); + // Calculate jerk depending on whether the axis is coasting in the same direction or reversing. + const float jerk = (v_exit > v_entry) + ? // coasting axis reversal + ( (v_entry > 0 || v_exit < 0) ? (v_exit - v_entry) : MAX(v_exit, -v_entry) ) + : // v_exit <= v_entry coasting axis reversal + ( (v_entry < 0 || v_exit > 0) ? (v_entry - v_exit) : MAX(-v_exit, v_entry) ); - if (jerk > max_jerk[axis]) { - v_factor *= max_jerk[axis] / jerk; - ++limited; + if (jerk > max_jerk[axis]) { + v_factor *= max_jerk[axis] / jerk; + ++limited; + } } + if (limited) vmax_junction *= v_factor; + // Now the transition velocity is known, which maximizes the shared exit / entry velocity while + // respecting the jerk factors, it may be possible, that applying separate safe exit / entry velocities will achieve faster prints. + const float vmax_junction_threshold = vmax_junction * 0.99f; + if (previous_safe_speed > vmax_junction_threshold && safe_speed > vmax_junction_threshold) + vmax_junction = safe_speed; } - if (limited) vmax_junction *= v_factor; - // Now the transition velocity is known, which maximizes the shared exit / entry velocity while - // respecting the jerk factors, it may be possible, that applying separate safe exit / entry velocities will achieve faster prints. - const float vmax_junction_threshold = vmax_junction * 0.99f; - if (previous_safe_speed > vmax_junction_threshold && safe_speed > vmax_junction_threshold) + else vmax_junction = safe_speed; - } - else - vmax_junction = safe_speed; + + previous_safe_speed = safe_speed; + vmax_junction_sqr = sq(vmax_junction); + + #endif // Classic Jerk Limiting // Max entry speed of this block equals the max exit speed of the previous block. - block->max_entry_speed = vmax_junction; + block->max_entry_speed_sqr = vmax_junction_sqr; // Initialize block entry speed. Compute based on deceleration to user-defined MINIMUM_PLANNER_SPEED. - const float v_allowable = max_allowable_speed(-block->acceleration, MINIMUM_PLANNER_SPEED, block->millimeters); - // If stepper ISR is disabled, this indicates buffer_segment wants to add a split block. - // In this case start with the max. allowed speed to avoid an interrupted first move. - block->entry_speed = STEPPER_ISR_ENABLED() ? MINIMUM_PLANNER_SPEED : min(vmax_junction, v_allowable); + const float v_allowable_sqr = max_allowable_speed_sqr(-block->acceleration, sq(float(MINIMUM_PLANNER_SPEED)), block->millimeters); + + // If we are trying to add a split block, start with the + // max. allowed speed to avoid an interrupted first move. + block->entry_speed_sqr = !split_move ? sq(float(MINIMUM_PLANNER_SPEED)) : MIN(vmax_junction_sqr, v_allowable_sqr); // Initialize planner efficiency flags // Set flag if block will always reach maximum junction speed regardless of entry/exit speeds. @@ -1483,26 +2394,56 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] // block nominal speed limits both the current and next maximum junction speeds. Hence, in both // the reverse and forward planners, the corresponding block junction speed will always be at the // the maximum junction speed and may always be ignored for any speed reduction checks. - block->flag |= block->nominal_speed <= v_allowable ? BLOCK_FLAG_RECALCULATE | BLOCK_FLAG_NOMINAL_LENGTH : BLOCK_FLAG_RECALCULATE; + block->flag |= block->nominal_speed_sqr <= v_allowable_sqr ? BLOCK_FLAG_RECALCULATE | BLOCK_FLAG_NOMINAL_LENGTH : BLOCK_FLAG_RECALCULATE; // Update previous path unit_vector and nominal speed COPY(previous_speed, current_speed); - previous_nominal_speed = block->nominal_speed; - previous_safe_speed = safe_speed; - - // Move buffer head - block_buffer_head = next_buffer_head; + previous_nominal_speed_sqr = block->nominal_speed_sqr; - // Update the position (only when a move was queued) + // Update the position static_assert(COUNT(target) > 1, "Parameter to _buffer_steps must be (&target)[XYZE]!"); COPY(position, target); #if HAS_POSITION_FLOAT COPY(position_float, target_float); #endif - recalculate(); + // Movement was accepted + return true; +} // _populate_block() + +/** + * Planner::buffer_sync_block + * Add a block to the buffer that just updates the position + */ +void Planner::buffer_sync_block() { + // Wait for the next available block + uint8_t next_buffer_head; + block_t * const block = get_next_free_block(next_buffer_head); + + // Clear block + memset(block, 0, sizeof(block_t)); + + block->flag = BLOCK_FLAG_SYNC_POSITION; + + block->position[A_AXIS] = position[A_AXIS]; + block->position[B_AXIS] = position[B_AXIS]; + block->position[C_AXIS] = position[C_AXIS]; + block->position[E_AXIS] = position[E_AXIS]; + + // If this is the first added movement, reload the delay, otherwise, cancel it. + if (block_buffer_head == block_buffer_tail) { + // If it was the first queued block, restart the 1st block delivery delay, to + // give the planner an opportunity to queue more movements and plan them + // As there are no queued movements, the Stepper ISR will not touch this + // variable, so there is no risk setting this here (but it MUST be done + // before the following line!!) + delay_before_delivering = BLOCK_DELAY_FOR_1ST_MOVE; + } + + block_buffer_head = next_buffer_head; -} // _buffer_steps() + stepper.wake_up(); +} // buffer_sync_block() /** * Planner::buffer_segment @@ -1516,7 +2457,11 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] * extruder - target extruder * millimeters - the length of the movement, if known */ -void Planner::buffer_segment(const float &a, const float &b, const float &c, const float &e, const float &fr_mm_s, const uint8_t extruder, const float &millimeters/*=0.0*/) { +bool Planner::buffer_segment(const float &a, const float &b, const float &c, const float &e, const float &fr_mm_s, const uint8_t extruder, const float &millimeters/*=0.0*/) { + + // If we are cleaning, do not accept queuing of movements + if (cleaning_buffer_counter) return false; + // When changing extruders recalculate steps corresponding to the E position #if ENABLED(DISTINCT_E_FACTORS) if (last_extruder != extruder && axis_steps_per_mm[E_AXIS_N] != axis_steps_per_mm[E_AXIS + last_extruder]) { @@ -1574,48 +2519,18 @@ void Planner::buffer_segment(const float &a, const float &b, const float &c, con SERIAL_ECHOLNPGM(")"); //*/ - // Always split the first move into two (if not homing or probing) - if (!has_blocks_queued()) { - - #define _BETWEEN(A) (position[A##_AXIS] + target[A##_AXIS]) >> 1 - const int32_t between[ABCE] = { _BETWEEN(A), _BETWEEN(B), _BETWEEN(C), _BETWEEN(E) }; - - #if HAS_POSITION_FLOAT - #define _BETWEEN_F(A) (position_float[A##_AXIS] + target_float[A##_AXIS]) * 0.5 - const float between_float[ABCE] = { _BETWEEN_F(A), _BETWEEN_F(B), _BETWEEN_F(C), _BETWEEN_F(E) }; - #endif - - DISABLE_STEPPER_DRIVER_INTERRUPT(); - - _buffer_steps(between - #if HAS_POSITION_FLOAT - , between_float - #endif - , fr_mm_s, extruder, millimeters * 0.5 - ); - - const uint8_t next = block_buffer_head; - - _buffer_steps(target - #if HAS_POSITION_FLOAT - , target_float - #endif - , fr_mm_s, extruder, millimeters * 0.5 - ); - - SBI(block_buffer[next].flag, BLOCK_BIT_CONTINUED); - ENABLE_STEPPER_DRIVER_INTERRUPT(); - } - else - _buffer_steps(target + // Queue the movement + if ( + !_buffer_steps(target #if HAS_POSITION_FLOAT , target_float #endif , fr_mm_s, extruder, millimeters - ); + ) + ) return false; stepper.wake_up(); - + return true; } // buffer_segment() /** @@ -1627,24 +2542,25 @@ void Planner::buffer_segment(const float &a, const float &b, const float &c, con void Planner::_set_position_mm(const float &a, const float &b, const float &c, const float &e) { #if ENABLED(DISTINCT_E_FACTORS) - #define _EINDEX (E_AXIS + active_extruder) last_extruder = active_extruder; - #else - #define _EINDEX E_AXIS #endif - const int32_t na = position[A_AXIS] = LROUND(a * axis_steps_per_mm[A_AXIS]), - nb = position[B_AXIS] = LROUND(b * axis_steps_per_mm[B_AXIS]), - nc = position[C_AXIS] = LROUND(c * axis_steps_per_mm[C_AXIS]), - ne = position[E_AXIS] = LROUND(e * axis_steps_per_mm[_EINDEX]); + position[A_AXIS] = LROUND(a * axis_steps_per_mm[A_AXIS]), + position[B_AXIS] = LROUND(b * axis_steps_per_mm[B_AXIS]), + position[C_AXIS] = LROUND(c * axis_steps_per_mm[C_AXIS]), + position[E_AXIS] = LROUND(e * axis_steps_per_mm[_EINDEX]); #if HAS_POSITION_FLOAT - position_float[X_AXIS] = a; - position_float[Y_AXIS] = b; - position_float[Z_AXIS] = c; + position_float[A_AXIS] = a; + position_float[B_AXIS] = b; + position_float[C_AXIS] = c; position_float[E_AXIS] = e; #endif - stepper.set_position(na, nb, nc, ne); - previous_nominal_speed = 0.0; // Resets planner junction speeds. Assumes start from rest. - ZERO(previous_speed); + if (has_blocks_queued()) { + //previous_nominal_speed_sqr = 0.0; // Reset planner junction speeds. Assume start from rest. + //ZERO(previous_speed); + buffer_sync_block(); + } + else + stepper.set_position(position[A_AXIS], position[B_AXIS], position[C_AXIS], position[E_AXIS]); } void Planner::set_position_mm_kinematic(const float (&cart)[XYZE]) { @@ -1662,22 +2578,6 @@ void Planner::set_position_mm_kinematic(const float (&cart)[XYZE]) { #endif } -/** - * Sync from the stepper positions. (e.g., after an interrupted move) - */ -void Planner::sync_from_steppers() { - LOOP_XYZE(i) { - position[i] = stepper.position((AxisEnum)i); - #if HAS_POSITION_FLOAT - position_float[i] = position[i] * steps_to_mm[i - #if ENABLED(DISTINCT_E_FACTORS) - + (i == E_AXIS ? active_extruder : 0) - #endif - ]; - #endif - } -} - /** * Setters for planner position (also setting stepper position). */ @@ -1692,23 +2592,30 @@ void Planner::set_position_mm(const AxisEnum axis, const float &v) { #if HAS_POSITION_FLOAT position_float[axis] = v; #endif - stepper.set_position(axis, v); - previous_speed[axis] = 0.0; + if (has_blocks_queued()) { + //previous_speed[axis] = 0.0; + buffer_sync_block(); + } + else + stepper.set_position(axis, position[axis]); } // Recalculate the steps/s^2 acceleration rates, based on the mm/s^2 void Planner::reset_acceleration_rates() { #if ENABLED(DISTINCT_E_FACTORS) - #define HIGHEST_CONDITION (i < E_AXIS || i == E_AXIS + active_extruder) + #define AXIS_CONDITION (i < E_AXIS || i == E_AXIS + active_extruder) #else - #define HIGHEST_CONDITION true + #define AXIS_CONDITION true #endif uint32_t highest_rate = 1; LOOP_XYZE_N(i) { max_acceleration_steps_per_s2[i] = max_acceleration_mm_per_s2[i] * axis_steps_per_mm[i]; - if (HIGHEST_CONDITION) NOLESS(highest_rate, max_acceleration_steps_per_s2[i]); + if (AXIS_CONDITION) NOLESS(highest_rate, max_acceleration_steps_per_s2[i]); } - cutoff_long = 4294967295UL / highest_rate; + cutoff_long = 4294967295UL / highest_rate; // 0xFFFFFFFFUL + #if ENABLED(JUNCTION_DEVIATION) && ENABLED(LIN_ADVANCE) + recalculate_max_e_jerk(); + #endif } // Recalculate position, steps_to_mm if axis_steps_per_mm changes! diff --git a/Marlin/src/module/planner.h b/Marlin/src/module/planner.h index 0c752c1f8716..c362bf0f4bc7 100644 --- a/Marlin/src/module/planner.h +++ b/Marlin/src/module/planner.h @@ -35,12 +35,13 @@ #include "../Marlin.h" #include "motion.h" +#include "../gcode/queue.h" #if ENABLED(DELTA) #include "delta.h" #endif -#if HAS_ABL +#if ABL_PLANAR #include "../libs/vector_3.h" #endif @@ -53,18 +54,18 @@ enum BlockFlagBit : char { // from a safe speed (in consideration of jerking from zero speed). BLOCK_BIT_NOMINAL_LENGTH, - // The block is busy - BLOCK_BIT_BUSY, - // The block is segment 2+ of a longer move - BLOCK_BIT_CONTINUED + BLOCK_BIT_CONTINUED, + + // Sync the stepper counts from the block + BLOCK_BIT_SYNC_POSITION }; enum BlockFlag : char { BLOCK_FLAG_RECALCULATE = _BV(BLOCK_BIT_RECALCULATE), BLOCK_FLAG_NOMINAL_LENGTH = _BV(BLOCK_BIT_NOMINAL_LENGTH), - BLOCK_FLAG_BUSY = _BV(BLOCK_BIT_BUSY), - BLOCK_FLAG_CONTINUED = _BV(BLOCK_BIT_CONTINUED) + BLOCK_FLAG_CONTINUED = _BV(BLOCK_BIT_CONTINUED), + BLOCK_FLAG_SYNC_POSITION = _BV(BLOCK_BIT_SYNC_POSITION) }; /** @@ -78,28 +79,46 @@ enum BlockFlag : char { */ typedef struct { - uint8_t flag; // Block flags (See BlockFlag enum above) + volatile uint8_t flag; // Block flags (See BlockFlag enum above) - Modified by ISR and main thread! - unsigned char active_extruder; // The extruder to move (if E move) + // Fields used by the motion planner to manage acceleration + float nominal_speed_sqr, // The nominal speed for this block in (mm/sec)^2 + entry_speed_sqr, // Entry speed at previous-current junction in (mm/sec)^2 + max_entry_speed_sqr, // Maximum allowable junction entry speed in (mm/sec)^2 + millimeters, // The total travel of this block in mm + acceleration; // acceleration mm/sec^2 - // Fields used by the Bresenham algorithm for tracing the line - int32_t steps[NUM_AXIS]; // Step count along each axis + union { + // Data used by all move blocks + struct { + // Fields used by the Bresenham algorithm for tracing the line + uint32_t steps[NUM_AXIS]; // Step count along each axis + }; + // Data used by all sync blocks + struct { + int32_t position[NUM_AXIS]; // New position to force when this sync block is executed + }; + }; uint32_t step_event_count; // The number of step events required to complete this block + uint8_t active_extruder; // The extruder to move (if E move) + #if ENABLED(MIXING_EXTRUDER) - uint32_t mix_event_count[MIXING_STEPPERS]; // Scaled step_event_count for the mixing steppers + uint32_t mix_steps[MIXING_STEPPERS]; // Scaled steps[E_AXIS] for the mixing steppers #endif // Settings for the trapezoid generator - int32_t accelerate_until, // The index of the step event on which to stop acceleration - decelerate_after; // The index of the step event on which to start decelerating - - #if ENABLED(BEZIER_JERK_CONTROL) - uint32_t cruise_rate; // The actual cruise rate to use, between end of the acceleration phase and start of deceleration phase - int32_t acceleration_time, // Acceleration time and deceleration time in STEP timer counts - deceleration_time; + uint32_t accelerate_until, // The index of the step event on which to stop acceleration + decelerate_after; // The index of the step event on which to start decelerating + + #if ENABLED(S_CURVE_ACCELERATION) + uint32_t cruise_rate, // The actual cruise rate to use, between end of the acceleration phase and start of deceleration phase + acceleration_time, // Acceleration time and deceleration time in STEP timer counts + deceleration_time, + acceleration_time_inverse, // Inverse of acceleration and deceleration periods, expressed as integer. Scale depends on CPU being used + deceleration_time_inverse; #else - int32_t acceleration_rate; // The acceleration rate used for acceleration calculation + uint32_t acceleration_rate; // The acceleration rate used for acceleration calculation #endif uint8_t direction_bits; // The direction bit set for this block (refers to *_DIRECTION_BIT in config.h) @@ -107,19 +126,12 @@ typedef struct { // Advance extrusion #if ENABLED(LIN_ADVANCE) bool use_advance_lead; - uint16_t advance_speed, // Timer value for extruder speed offset + uint16_t advance_speed, // STEP timer value for extruder speed offset ISR max_adv_steps, // max. advance steps to get cruising speed pressure (not always nominal_speed!) final_adv_steps; // advance steps due to exit speed float e_D_ratio; #endif - // Fields used by the motion planner to manage acceleration - float nominal_speed, // The nominal speed for this block in mm/sec - entry_speed, // Entry speed at previous-current junction in mm/sec - max_entry_speed, // Maximum allowable junction entry speed in mm/sec - millimeters, // The total travel of this block in mm - acceleration; // acceleration mm/sec^2 - uint32_t nominal_rate, // The nominal step rate for this block in step_events/sec initial_rate, // The jerk-adjusted step rate at start of block final_rate, // The minimal rate at exit @@ -137,7 +149,7 @@ typedef struct { } block_t; -#define HAS_POSITION_FLOAT (ENABLED(LIN_ADVANCE) || ENABLED(SCARA_FEEDRATE_SCALING)) +#define HAS_POSITION_FLOAT (ENABLED(LIN_ADVANCE) || HAS_FEEDRATE_SCALING) #define BLOCK_MOD(n) ((n)&(BLOCK_BUFFER_SIZE-1)) @@ -159,7 +171,12 @@ class Planner { */ static block_t block_buffer[BLOCK_BUFFER_SIZE]; static volatile uint8_t block_buffer_head, // Index of the next block to be pushed + block_buffer_nonbusy, // Index of the first non busy block + block_buffer_planned, // Index of the optimally planned block block_buffer_tail; // Index of the busy block, if any + static uint16_t cleaning_buffer_counter; // A counter to disable queuing of blocks + static uint8_t delay_before_delivering; // This counter delays delivery of blocks when queue becomes empty to allow the opportunity of merging blocks + #if ENABLED(DISTINCT_E_FACTORS) static uint8_t last_extruder; // Respond to extruder change @@ -176,19 +193,30 @@ class Planner { // May be auto-adjusted by a filament width sensor #endif - static float max_feedrate_mm_s[XYZE_N], // Max speeds in mm per second - axis_steps_per_mm[XYZE_N], - steps_to_mm[XYZE_N]; - static uint32_t max_acceleration_steps_per_s2[XYZE_N], - max_acceleration_mm_per_s2[XYZE_N]; // Use M201 to override - - static uint32_t min_segment_time_us; // Use 'M205 B<µs>' to override - static float min_feedrate_mm_s, - acceleration, // Normal acceleration mm/s^2 DEFAULT ACCELERATION for all printing moves. M204 SXXXX - retract_acceleration, // Retract acceleration mm/s^2 filament pull-back and push-forward while standing still in the other axes M204 TXXXX - travel_acceleration, // Travel acceleration mm/s^2 DEFAULT ACCELERATION for all NON printing moves. M204 MXXXX - max_jerk[XYZE], // The largest speed change requiring no acceleration - min_travel_feedrate_mm_s; + static uint32_t max_acceleration_mm_per_s2[XYZE_N], // (mm/s^2) M201 XYZE + max_acceleration_steps_per_s2[XYZE_N], // (steps/s^2) Derived from mm_per_s2 + min_segment_time_us; // (µs) M205 B + static float max_feedrate_mm_s[XYZE_N], // (mm/s) M203 XYZE - Max speeds + axis_steps_per_mm[XYZE_N], // (steps) M92 XYZE - Steps per millimeter + steps_to_mm[XYZE_N], // (mm) Millimeters per step + min_feedrate_mm_s, // (mm/s) M205 S - Minimum linear feedrate + acceleration, // (mm/s^2) M204 S - Normal acceleration. DEFAULT ACCELERATION for all printing moves. + retract_acceleration, // (mm/s^2) M204 R - Retract acceleration. Filament pull-back and push-forward while standing still in the other axes + travel_acceleration, // (mm/s^2) M204 T - Travel acceleration. DEFAULT ACCELERATION for all NON printing moves. + min_travel_feedrate_mm_s; // (mm/s) M205 T - Minimum travel feedrate + + #if ENABLED(JUNCTION_DEVIATION) + static float junction_deviation_mm; // (mm) M205 J + #if ENABLED(LIN_ADVANCE) + #if ENABLED(DISTINCT_E_FACTORS) + static float max_e_jerk[EXTRUDERS]; // Calculated from junction_deviation_mm + #else + static float max_e_jerk; + #endif + #endif + #else + static float max_jerk[XYZE]; // (mm/s^2) M205 XYZE - The largest speed change requiring no acceleration. + #endif #if HAS_LEVELING static bool leveling_active; // Flag that bed leveling is enabled @@ -227,6 +255,10 @@ class Planner { #endif #endif + #if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) + static bool abort_on_endstop_hit; + #endif + private: /** @@ -241,9 +273,9 @@ class Planner { static float previous_speed[NUM_AXIS]; /** - * Nominal speed of previous path line segment + * Nominal speed of previous path line segment (mm/s)^2 */ - static float previous_nominal_speed; + static float previous_nominal_speed_sqr; /** * Limit where 64bit math is necessary for acceleration calculation @@ -292,7 +324,7 @@ class Planner { static void refresh_positioning(); FORCE_INLINE static void refresh_e_factor(const uint8_t e) { - e_factor[e] = (flow_percentage[e] * 0.01 + e_factor[e] = (flow_percentage[e] * 0.01f #if DISABLED(NO_VOLUMETRICS) * volumetric_multiplier[e] #endif @@ -302,13 +334,6 @@ class Planner { // Manage fans, paste pressure, etc. static void check_axes_activity(); - /** - * Number of moves currently in the planner - */ - FORCE_INLINE static uint8_t movesplanned() { return BLOCK_MOD(block_buffer_head - block_buffer_tail + BLOCK_BUFFER_SIZE); } - - FORCE_INLINE static bool is_full() { return block_buffer_tail == next_block_index(block_buffer_head); } - // Update multipliers based on new diameter measurements static void calculate_volumetric_multipliers(); @@ -337,19 +362,19 @@ class Planner { * Returns 0.0 if Z is past the specified 'Fade Height'. */ inline static float fade_scaling_factor_for_z(const float &rz) { - static float z_fade_factor = 1.0; + static float z_fade_factor = 1; if (z_fade_height) { - if (rz >= z_fade_height) return 0.0; + if (rz >= z_fade_height) return 0; if (last_fade_z != rz) { last_fade_z = rz; - z_fade_factor = 1.0 - rz * inverse_z_fade_height; + z_fade_factor = 1 - rz * inverse_z_fade_height; } return z_fade_factor; } - return 1.0; + return 1; } - FORCE_INLINE static void force_fade_recalc() { last_fade_z = -999.999; } + FORCE_INLINE static void force_fade_recalc() { last_fade_z = -999.999f; } FORCE_INLINE static void set_z_fade_height(const float &zfh) { z_fade_height = zfh > 0 ? zfh : 0; @@ -365,7 +390,7 @@ class Planner { FORCE_INLINE static float fade_scaling_factor_for_z(const float &rz) { UNUSED(rz); - return 1.0; + return 1; } FORCE_INLINE static bool leveling_active_at_z(const float &rz) { UNUSED(rz); return true; } @@ -396,28 +421,58 @@ class Planner { #endif // SKEW_CORRECTION - #if PLANNER_LEVELING - - #define ARG_X float rx - #define ARG_Y float ry - #define ARG_Z float rz - + #if PLANNER_LEVELING || HAS_UBL_AND_CURVES /** * Apply leveling to transform a cartesian position * as it will be given to the planner and steppers. */ static void apply_leveling(float &rx, float &ry, float &rz); - static void apply_leveling(float (&raw)[XYZ]) { apply_leveling(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS]); } - static void unapply_leveling(float raw[XYZ]); + FORCE_INLINE static void apply_leveling(float (&raw)[XYZ]) { apply_leveling(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS]); } + #endif + #if PLANNER_LEVELING + #define ARG_X float rx + #define ARG_Y float ry + #define ARG_Z float rz + static void unapply_leveling(float raw[XYZ]); #else - #define ARG_X const float &rx #define ARG_Y const float &ry #define ARG_Z const float &rz - #endif + // Number of moves currently in the planner including the busy block, if any + FORCE_INLINE static uint8_t movesplanned() { return BLOCK_MOD(block_buffer_head - block_buffer_tail); } + + // Number of nonbusy moves currently in the planner + FORCE_INLINE static uint8_t nonbusy_movesplanned() { return BLOCK_MOD(block_buffer_head - block_buffer_nonbusy); } + + // Remove all blocks from the buffer + FORCE_INLINE static void clear_block_buffer() { block_buffer_nonbusy = block_buffer_planned = block_buffer_head = block_buffer_tail = 0; } + + // Check if movement queue is full + FORCE_INLINE static bool is_full() { return block_buffer_tail == next_block_index(block_buffer_head); } + + // Get count of movement slots free + FORCE_INLINE static uint8_t moves_free() { return BLOCK_BUFFER_SIZE - 1 - movesplanned(); } + + /** + * Planner::get_next_free_block + * + * - Get the next head indices (passed by reference) + * - Wait for the number of spaces to open up in the planner + * - Return the first head block + */ + FORCE_INLINE static block_t* get_next_free_block(uint8_t &next_buffer_head, const uint8_t count=1) { + + // Wait until there are enough slots free + while (moves_free() < count) { idle(); } + + // Return the first available block + next_buffer_head = next_block_index(block_buffer_head); + return &block_buffer[block_buffer_head]; + } + /** * Planner::_buffer_steps * @@ -427,14 +482,42 @@ class Planner { * fr_mm_s - (target) speed of the move * extruder - target extruder * millimeters - the length of the movement, if known + * + * Returns true if movement was buffered, false otherwise + */ + static bool _buffer_steps(const int32_t (&target)[XYZE] + #if HAS_POSITION_FLOAT + , const float (&target_float)[XYZE] + #endif + , float fr_mm_s, const uint8_t extruder, const float &millimeters=0.0 + ); + + /** + * Planner::_populate_block + * + * Fills a new linear movement in the block (in terms of steps). + * + * target - target position in steps units + * fr_mm_s - (target) speed of the move + * extruder - target extruder + * millimeters - the length of the movement, if known + * + * Returns true is movement is acceptable, false otherwise */ - static void _buffer_steps(const int32_t (&target)[XYZE] + static bool _populate_block(block_t * const block, bool split_move, + const int32_t (&target)[XYZE] #if HAS_POSITION_FLOAT , const float (&target_float)[XYZE] #endif , float fr_mm_s, const uint8_t extruder, const float &millimeters=0.0 ); + /** + * Planner::buffer_sync_block + * Add a block to the buffer that just updates the position + */ + static void buffer_sync_block(); + /** * Planner::buffer_segment * @@ -447,7 +530,7 @@ class Planner { * extruder - target extruder * millimeters - the length of the movement, if known */ - static void buffer_segment(const float &a, const float &b, const float &c, const float &e, const float &fr_mm_s, const uint8_t extruder, const float &millimeters=0.0); + static bool buffer_segment(const float &a, const float &b, const float &c, const float &e, const float &fr_mm_s, const uint8_t extruder, const float &millimeters=0.0); static void _set_position_mm(const float &a, const float &b, const float &c, const float &e); @@ -464,11 +547,11 @@ class Planner { * extruder - target extruder * millimeters - the length of the movement, if known */ - FORCE_INLINE static void buffer_line(ARG_X, ARG_Y, ARG_Z, const float &e, const float &fr_mm_s, const uint8_t extruder, const float millimeters = 0.0) { + FORCE_INLINE static bool buffer_line(ARG_X, ARG_Y, ARG_Z, const float &e, const float &fr_mm_s, const uint8_t extruder, const float millimeters = 0.0) { #if PLANNER_LEVELING && IS_CARTESIAN apply_leveling(rx, ry, rz); #endif - buffer_segment(rx, ry, rz, e, fr_mm_s, extruder, millimeters); + return buffer_segment(rx, ry, rz, e, fr_mm_s, extruder, millimeters); } /** @@ -481,7 +564,7 @@ class Planner { * extruder - target extruder * millimeters - the length of the movement, if known */ - FORCE_INLINE static void buffer_line_kinematic(const float (&cart)[XYZE], const float &fr_mm_s, const uint8_t extruder, const float millimeters = 0.0) { + FORCE_INLINE static bool buffer_line_kinematic(const float (&cart)[XYZE], const float &fr_mm_s, const uint8_t extruder, const float millimeters = 0.0) { #if PLANNER_LEVELING float raw[XYZ] = { cart[X_AXIS], cart[Y_AXIS], cart[Z_AXIS] }; apply_leveling(raw); @@ -490,9 +573,9 @@ class Planner { #endif #if IS_KINEMATIC inverse_kinematics(raw); - buffer_segment(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], cart[E_AXIS], fr_mm_s, extruder, millimeters); + return buffer_segment(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], cart[E_AXIS], fr_mm_s, extruder, millimeters); #else - buffer_segment(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS], cart[E_AXIS], fr_mm_s, extruder, millimeters); + return buffer_segment(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS], cart[E_AXIS], fr_mm_s, extruder, millimeters); #endif } @@ -514,36 +597,50 @@ class Planner { static void set_position_mm_kinematic(const float (&cart)[XYZE]); static void set_position_mm(const AxisEnum axis, const float &v); FORCE_INLINE static void set_z_position_mm(const float &z) { set_position_mm(Z_AXIS, z); } - FORCE_INLINE static void set_e_position_mm(const float &e) { set_position_mm(AxisEnum(E_AXIS), e); } + FORCE_INLINE static void set_e_position_mm(const float &e) { set_position_mm(E_AXIS, e); } /** - * Sync from the stepper positions. (e.g., after an interrupted move) + * Get an axis position according to stepper position(s) + * For CORE machines apply translation from ABC to XYZ. */ - static void sync_from_steppers(); + static float get_axis_position_mm(const AxisEnum axis); - /** - * Does the buffer have any blocks queued? - */ - static bool has_blocks_queued() { return (block_buffer_head != block_buffer_tail); } + // SCARA AB axes are in degrees, not mm + #if IS_SCARA + FORCE_INLINE static float get_axis_position_degrees(const AxisEnum axis) { return get_axis_position_mm(axis); } + #endif - /** - * "Discard" the block and "release" the memory. - * Called when the current block is no longer needed. - */ - FORCE_INLINE static void discard_current_block() { - if (has_blocks_queued()) - block_buffer_tail = BLOCK_MOD(block_buffer_tail + 1); + // Called to force a quick stop of the machine (for example, when an emergency + // stop is required, or when endstops are hit) + static void quick_stop(); + + // Called when an endstop is triggered. Causes the machine to stop inmediately + static void endstop_triggered(const AxisEnum axis); + + // Triggered position of an axis in mm (not core-savvy) + static float triggered_position_mm(const AxisEnum axis); + + // Block until all buffered steps are executed / cleaned + static void synchronize(); + + // Wait for moves to finish and disable all steppers + static void finish_and_disable(); + + // Periodic tick to handle cleaning timeouts + // Called from the Temperature ISR at ~1kHz + static void tick() { + if (cleaning_buffer_counter) { + --cleaning_buffer_counter; + #if ENABLED(SD_FINISHED_STEPPERRELEASE) && defined(SD_FINISHED_RELEASECOMMAND) + if (!cleaning_buffer_counter) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); + #endif + } } /** - * "Discard" the next block if it's continued. - * Called after an interrupted move to throw away the rest of the move. + * Does the buffer have any blocks queued? */ - FORCE_INLINE static bool discard_continued_block() { - const bool discard = has_blocks_queued() && TEST(block_buffer[block_buffer_tail].flag, BLOCK_BIT_CONTINUED); - if (discard) discard_current_block(); - return discard; - } + FORCE_INLINE static bool has_blocks_queued() { return (block_buffer_head != block_buffer_tail); } /** * The current block. NULL if the buffer is empty. @@ -551,38 +648,78 @@ class Planner { * WARNING: Called from Stepper ISR context! */ static block_t* get_current_block() { - if (has_blocks_queued()) { - block_t * const block = &block_buffer[block_buffer_tail]; - // If the block has no trapezoid calculated, it's unsafe to execute. - if (movesplanned() > 1) { - const block_t * const next = &block_buffer[next_block_index(block_buffer_tail)]; - if (TEST(block->flag, BLOCK_BIT_RECALCULATE) || TEST(next->flag, BLOCK_BIT_RECALCULATE)) - return NULL; + // Get the number of moves in the planner queue so far + const uint8_t nr_moves = movesplanned(); + + // If there are any moves queued ... + if (nr_moves) { + + // If there is still delay of delivery of blocks running, decrement it + if (delay_before_delivering) { + --delay_before_delivering; + // If the number of movements queued is less than 3, and there is still time + // to wait, do not deliver anything + if (nr_moves < 3 && delay_before_delivering) return NULL; + delay_before_delivering = 0; } - else if (TEST(block->flag, BLOCK_BIT_RECALCULATE)) - return NULL; + + // If we are here, there is no excuse to deliver the block + block_t * const block = &block_buffer[block_buffer_tail]; + + // No trapezoid calculated? Don't execute yet. + if (TEST(block->flag, BLOCK_BIT_RECALCULATE)) return NULL; #if ENABLED(ULTRA_LCD) block_buffer_runtime_us -= block->segment_time_us; // We can't be sure how long an active block will take, so don't count it. #endif - SBI(block->flag, BLOCK_BIT_BUSY); + + // As this block is busy, advance the nonbusy block pointer + block_buffer_nonbusy = next_block_index(block_buffer_tail); + + // Push block_buffer_planned pointer, if encountered. + if (block_buffer_tail == block_buffer_planned) + block_buffer_planned = block_buffer_nonbusy; + + // Return the block return block; } - else { - #if ENABLED(ULTRA_LCD) - clear_block_buffer_runtime(); // paranoia. Buffer is empty now - so reset accumulated time to zero. - #endif - return NULL; - } + + // The queue became empty + #if ENABLED(ULTRA_LCD) + clear_block_buffer_runtime(); // paranoia. Buffer is empty now - so reset accumulated time to zero. + #endif + + return NULL; + } + + /** + * "Discard" the block and "release" the memory. + * Called when the current block is no longer needed. + * NB: There MUST be a current block to call this function!! + */ + FORCE_INLINE static void discard_current_block() { + if (has_blocks_queued()) + block_buffer_tail = next_block_index(block_buffer_tail); } #if ENABLED(ULTRA_LCD) static uint16_t block_buffer_runtime() { - CRITICAL_SECTION_START - millis_t bbru = block_buffer_runtime_us; - CRITICAL_SECTION_END + #ifdef __AVR__ + // Protect the access to the variable. Only required for AVR, as + // any 32bit CPU offers atomic access to 32bit variables + bool was_enabled = STEPPER_ISR_ENABLED(); + if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); + #endif + + millis_t bbru = block_buffer_runtime_us; + + #ifdef __AVR__ + // Reenable Stepper ISR + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); + #endif + // To translate µs to ms a division by 1000 would be required. // We introduce 2.4% error here by dividing by 1024. // Doesn't matter because block_buffer_runtime_us is already too small an estimation. @@ -592,10 +729,20 @@ class Planner { return bbru; } - static void clear_block_buffer_runtime(){ - CRITICAL_SECTION_START - block_buffer_runtime_us = 0; - CRITICAL_SECTION_END + static void clear_block_buffer_runtime() { + #ifdef __AVR__ + // Protect the access to the variable. Only required for AVR, as + // any 32bit CPU offers atomic access to 32bit variables + bool was_enabled = STEPPER_ISR_ENABLED(); + if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); + #endif + + block_buffer_runtime_us = 0; + + #ifdef __AVR__ + // Reenable Stepper ISR + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); + #endif } #endif @@ -607,13 +754,27 @@ class Planner { static void autotemp_M104_M109(); #endif + #if ENABLED(JUNCTION_DEVIATION) + FORCE_INLINE static void recalculate_max_e_jerk() { + #define GET_MAX_E_JERK(N) SQRT(SQRT(0.5) * junction_deviation_mm * (N) * RECIPROCAL(1.0 - SQRT(0.5))) + #if ENABLED(LIN_ADVANCE) + #if ENABLED(DISTINCT_E_FACTORS) + for (uint8_t i = 0; i < EXTRUDERS; i++) + max_e_jerk[i] = GET_MAX_E_JERK(max_acceleration_mm_per_s2[E_AXIS + i]); + #else + max_e_jerk = GET_MAX_E_JERK(max_acceleration_mm_per_s2[E_AXIS]); + #endif + #endif + } + #endif + private: /** * Get the index of the next / previous block in the ring buffer */ - static constexpr int8_t next_block_index(const int8_t block_index) { return BLOCK_MOD(block_index + 1); } - static constexpr int8_t prev_block_index(const int8_t block_index) { return BLOCK_MOD(block_index - 1); } + static constexpr uint8_t next_block_index(const uint8_t block_index) { return BLOCK_MOD(block_index + 1); } + static constexpr uint8_t prev_block_index(const uint8_t block_index) { return BLOCK_MOD(block_index - 1); } /** * Calculate the distance (not time) it takes to accelerate @@ -638,15 +799,15 @@ class Planner { } /** - * Calculate the maximum allowable speed at this point, in order - * to reach 'target_velocity' using 'acceleration' within a given + * Calculate the maximum allowable speed squared at this point, in order + * to reach 'target_velocity_sqr' using 'acceleration' within a given * 'distance'. */ - static float max_allowable_speed(const float &accel, const float &target_velocity, const float &distance) { - return SQRT(sq(target_velocity) - 2 * accel * distance); + static float max_allowable_speed_sqr(const float &accel, const float &target_velocity_sqr, const float &distance) { + return target_velocity_sqr - 2 * accel * distance; } - #if ENABLED(BEZIER_JERK_CONTROL) + #if ENABLED(S_CURVE_ACCELERATION) /** * Calculate the speed reached given initial speed, acceleration and distance */ @@ -658,7 +819,7 @@ class Planner { static void calculate_trapezoid_for_block(block_t* const block, const float &entry_factor, const float &exit_factor); static void reverse_pass_kernel(block_t* const current, const block_t * const next); - static void forward_pass_kernel(const block_t * const previous, block_t* const current); + static void forward_pass_kernel(const block_t * const previous, block_t* const current, uint8_t block_index); static void reverse_pass(); static void forward_pass(); @@ -667,9 +828,26 @@ class Planner { static void recalculate(); + #if ENABLED(JUNCTION_DEVIATION) + + FORCE_INLINE static void normalize_junction_vector(float (&vector)[XYZE]) { + float magnitude_sq = 0; + LOOP_XYZE(idx) if (vector[idx]) magnitude_sq += sq(vector[idx]); + const float inv_magnitude = RSQRT(magnitude_sq); + LOOP_XYZE(idx) vector[idx] *= inv_magnitude; + } + + FORCE_INLINE static float limit_value_by_axis_maximum(const float &max_value, float (&unit_vec)[XYZE]) { + float limit_value = max_value; + LOOP_XYZE(idx) if (unit_vec[idx]) // Avoid divide by zero + NOMORE(limit_value, ABS(max_acceleration_mm_per_s2[idx] / unit_vec[idx])); + return limit_value; + } + + #endif // JUNCTION_DEVIATION }; -#define PLANNER_XY_FEEDRATE() (min(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS])) +#define PLANNER_XY_FEEDRATE() (MIN(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS])) extern Planner planner; diff --git a/Marlin/src/module/planner_bezier.cpp b/Marlin/src/module/planner_bezier.cpp index 14ac645bc99a..407d8a067055 100644 --- a/Marlin/src/module/planner_bezier.cpp +++ b/Marlin/src/module/planner_bezier.cpp @@ -40,12 +40,12 @@ #include "../gcode/queue.h" // See the meaning in the documentation of cubic_b_spline(). -#define MIN_STEP 0.002 -#define MAX_STEP 0.1 -#define SIGMA 0.1 +#define MIN_STEP 0.002f +#define MAX_STEP 0.1f +#define SIGMA 0.1f // Compute the linear interpolation between two real numbers. -inline static float interp(float a, float b, float t) { return (1.0 - t) * a + t * b; } +inline static float interp(float a, float b, float t) { return (1 - t) * a + t * b; } /** * Compute a Bézier curve using the De Casteljau's algorithm (see @@ -67,7 +67,7 @@ inline static float eval_bezier(float a, float b, float c, float d, float t) { * We approximate Euclidean distance with the sum of the coordinates * offset (so-called "norm 1"), which is quicker to compute. */ -inline static float dist1(float x1, float y1, float x2, float y2) { return FABS(x1 - x2) + FABS(y1 - y2); } +inline static float dist1(float x1, float y1, float x2, float y2) { return ABS(x1 - x2) + ABS(y1 - y2); } /** * The algorithm for computing the step is loosely based on the one in Kig @@ -114,7 +114,7 @@ void cubic_b_spline(const float position[NUM_AXIS], const float target[NUM_AXIS] first1 = position[Y_AXIS] + offset[1], second0 = target[X_AXIS] + offset[2], second1 = target[Y_AXIS] + offset[3]; - float t = 0.0; + float t = 0; float bez_target[4]; bez_target[X_AXIS] = position[X_AXIS]; @@ -123,7 +123,7 @@ void cubic_b_spline(const float position[NUM_AXIS], const float target[NUM_AXIS] millis_t next_idle_ms = millis() + 200UL; - while (t < 1.0) { + while (t < 1) { thermalManager.manage_heater(); millis_t now = millis(); @@ -136,16 +136,16 @@ void cubic_b_spline(const float position[NUM_AXIS], const float target[NUM_AXIS] // close to a linear interpolation. bool did_reduce = false; float new_t = t + step; - NOMORE(new_t, 1.0); + NOMORE(new_t, 1); float new_pos0 = eval_bezier(position[X_AXIS], first0, second0, target[X_AXIS], new_t), new_pos1 = eval_bezier(position[Y_AXIS], first1, second1, target[Y_AXIS], new_t); for (;;) { if (new_t - t < (MIN_STEP)) break; - const float candidate_t = 0.5 * (t + new_t), + const float candidate_t = 0.5f * (t + new_t), candidate_pos0 = eval_bezier(position[X_AXIS], first0, second0, target[X_AXIS], candidate_t), candidate_pos1 = eval_bezier(position[Y_AXIS], first1, second1, target[Y_AXIS], candidate_t), - interp_pos0 = 0.5 * (bez_target[X_AXIS] + new_pos0), - interp_pos1 = 0.5 * (bez_target[Y_AXIS] + new_pos1); + interp_pos0 = 0.5f * (bez_target[X_AXIS] + new_pos0), + interp_pos1 = 0.5f * (bez_target[Y_AXIS] + new_pos1); if (dist1(candidate_pos0, candidate_pos1, interp_pos0, interp_pos1) <= (SIGMA)) break; new_t = candidate_t; new_pos0 = candidate_pos0; @@ -156,12 +156,12 @@ void cubic_b_spline(const float position[NUM_AXIS], const float target[NUM_AXIS] // If we did not reduce the step, maybe we should enlarge it. if (!did_reduce) for (;;) { if (new_t - t > MAX_STEP) break; - const float candidate_t = t + 2.0 * (new_t - t); - if (candidate_t >= 1.0) break; + const float candidate_t = t + 2 * (new_t - t); + if (candidate_t >= 1) break; const float candidate_pos0 = eval_bezier(position[X_AXIS], first0, second0, target[X_AXIS], candidate_t), candidate_pos1 = eval_bezier(position[Y_AXIS], first1, second1, target[Y_AXIS], candidate_t), - interp_pos0 = 0.5 * (bez_target[X_AXIS] + candidate_pos0), - interp_pos1 = 0.5 * (bez_target[Y_AXIS] + candidate_pos1); + interp_pos0 = 0.5f * (bez_target[X_AXIS] + candidate_pos0), + interp_pos1 = 0.5f * (bez_target[Y_AXIS] + candidate_pos1); if (dist1(new_pos0, new_pos1, interp_pos0, interp_pos1) > (SIGMA)) break; new_t = candidate_t; new_pos0 = candidate_pos0; @@ -190,7 +190,16 @@ void cubic_b_spline(const float position[NUM_AXIS], const float target[NUM_AXIS] bez_target[Z_AXIS] = interp(position[Z_AXIS], target[Z_AXIS], t); bez_target[E_AXIS] = interp(position[E_AXIS], target[E_AXIS], t); clamp_to_software_endstops(bez_target); - planner.buffer_line_kinematic(bez_target, fr_mm_s, extruder); + + #if HAS_UBL_AND_CURVES + float pos[XYZ] = { bez_target[X_AXIS], bez_target[Y_AXIS], bez_target[Z_AXIS] }; + planner.apply_leveling(pos); + if (!planner.buffer_segment(pos[X_AXIS], pos[Y_AXIS], pos[Z_AXIS], bez_target[E_AXIS], fr_mm_s, active_extruder)) + break; + #else + if (!planner.buffer_line_kinematic(bez_target, fr_mm_s, extruder)) + break; + #endif } } diff --git a/Marlin/src/module/printcounter.cpp b/Marlin/src/module/printcounter.cpp index 66c6f2fbc480..44adcf45f299 100644 --- a/Marlin/src/module/printcounter.cpp +++ b/Marlin/src/module/printcounter.cpp @@ -53,7 +53,7 @@ millis_t PrintCounter::deltaDuration() { return lastDuration - tmp; } -void PrintCounter::incFilamentUsed(double const &amount) { +void PrintCounter::incFilamentUsed(float const &amount) { #if ENABLED(DEBUG_PRINTCOUNTER) debug(PSTR("incFilamentUsed")); #endif diff --git a/Marlin/src/module/printcounter.h b/Marlin/src/module/printcounter.h index db6f74606f4c..fa2f036314ba 100644 --- a/Marlin/src/module/printcounter.h +++ b/Marlin/src/module/printcounter.h @@ -37,13 +37,13 @@ #define STATS_EEPROM_ADDRESS 0x32 #endif -struct printStatistics { // 16 bytes (20 with real doubles) +struct printStatistics { // 16 bytes //const uint8_t magic; // Magic header, it will always be 0x16 uint16_t totalPrints; // Number of prints uint16_t finishedPrints; // Number of complete prints uint32_t printTime; // Accumulated printing time uint32_t longestPrint; // Longest successful print job - double filamentUsed; // Accumulated filament consumed in mm + float filamentUsed; // Accumulated filament consumed in mm }; class PrintCounter: public Stopwatch { @@ -128,7 +128,7 @@ class PrintCounter: public Stopwatch { * * @param amount The amount of filament used in mm */ - static void incFilamentUsed(double const &amount); + static void incFilamentUsed(float const &amount); /** * @brief Reset the Print Statistics diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp index ed585299bfd0..1b9cd39cda2f 100644 --- a/Marlin/src/module/probe.cpp +++ b/Marlin/src/module/probe.cpp @@ -386,13 +386,13 @@ bool set_probe_deployed(const bool deploy) { // For beds that fall when Z is powered off only raise for trusted Z #if ENABLED(UNKNOWN_Z_NO_RAISE) - const bool unknown_condition = axis_known_position[Z_AXIS]; + const bool unknown_condition = TEST(axis_known_position, Z_AXIS); #else constexpr float unknown_condition = true; #endif if (deploy_stow_condition && unknown_condition) - do_probe_raise(max(Z_CLEARANCE_BETWEEN_PROBES, Z_CLEARANCE_DEPLOY_PROBE)); + do_probe_raise(MAX(Z_CLEARANCE_BETWEEN_PROBES, Z_CLEARANCE_DEPLOY_PROBE)); #if ENABLED(Z_PROBE_SLED) || ENABLED(Z_PROBE_ALLEN_KEY) #if ENABLED(Z_PROBE_SLED) @@ -465,7 +465,7 @@ bool set_probe_deployed(const bool deploy) { return false; } -#if Z_AFTER_PROBING +#ifdef Z_AFTER_PROBING // After probing move to a preferred Z position void move_z_after_probing() { if (current_position[Z_AXIS] != Z_AFTER_PROBING) { @@ -482,11 +482,26 @@ bool set_probe_deployed(const bool deploy) { * @param fr_mm_s Feedrate in mm/s * @return true to indicate an error */ -static bool do_probe_move(const float z, const float fr_mm_m) { + +#if HAS_HEATED_BED && ENABLED(WAIT_FOR_BED_HEATER) + const char msg_wait_for_bed_heating[25] PROGMEM = "Wait for bed heating...\n"; +#endif + +static bool do_probe_move(const float z, const float fr_mm_s) { #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) DEBUG_POS(">>> do_probe_move", current_position); #endif + #if HAS_HEATED_BED && ENABLED(WAIT_FOR_BED_HEATER) + // Wait for bed to heat back up between probing points + if (thermalManager.isHeatingBed()) { + serialprintPGM(msg_wait_for_bed_heating); + LCD_MESSAGEPGM(MSG_BED_HEATING); + while (thermalManager.isHeatingBed()) safe_delay(200); + lcd_reset_status(); + } + #endif + // Deploy BLTouch at the start of any probe #if ENABLED(BLTOUCH) if (set_bltouch_deployed(true)) return true; @@ -497,10 +512,10 @@ static bool do_probe_move(const float z, const float fr_mm_m) { #endif // Move down until probe triggered - do_blocking_move_to_z(z, MMM_TO_MMS(fr_mm_m)); + do_blocking_move_to_z(z, fr_mm_s); // Check to see if the probe was triggered - const bool probe_triggered = TEST(Endstops::endstop_hit_bits, + const bool probe_triggered = TEST(endstops.trigger_state(), #if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) Z_MIN #else @@ -517,7 +532,6 @@ static bool do_probe_move(const float z, const float fr_mm_m) { if (probe_triggered && set_bltouch_deployed(false)) return true; #endif - // Clear endstop flags endstops.hit_on_purpose(); // Get Z where the steppers were interrupted @@ -539,34 +553,29 @@ static bool do_probe_move(const float z, const float fr_mm_m) { * * @return The raw Z position where the probe was triggered */ -#define HAS_CALIBRATION_PROBE (ENABLED(DELTA_AUTO_CALIBRATION) && Z_PROBE_LOW_POINT < 0) -static float run_z_probe( - #if HAS_CALIBRATION_PROBE - const bool is_calibration - #endif -) { +static float run_z_probe() { #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) DEBUG_POS(">>> run_z_probe", current_position); #endif - #if Z_PROBE_LOW_POINT < 0 - // Stop the probe before it goes too low to prevent damage. - // If Z isn't known or this is a "calibration probe" then probe to -10mm. - #if !HAS_CALIBRATION_PROBE - constexpr bool is_calibration = false; - #endif - const float z_probe_low_point = !is_calibration && axis_known_position[Z_AXIS] ? -zprobe_zoffset + Z_PROBE_LOW_POINT : -10.0; - #else - // Assertively move down in all cases - constexpr float z_probe_low_point = -10.0; - #endif + // Stop the probe before it goes too low to prevent damage. + // If Z isn't known then probe to -10mm. + const float z_probe_low_point = TEST(axis_known_position, Z_AXIS) ? -zprobe_zoffset + Z_PROBE_LOW_POINT : -10.0; // Double-probing does a fast probe followed by a slow probe #if MULTIPLE_PROBING == 2 // Do a first probe at the fast speed - if (do_probe_move(z_probe_low_point, Z_PROBE_SPEED_FAST)) return NAN; + if (do_probe_move(z_probe_low_point, MMM_TO_MMS(Z_PROBE_SPEED_FAST))) { + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) { + SERIAL_ECHOLNPGM("FAST Probe fail!"); + DEBUG_POS("<<< run_z_probe", current_position); + } + #endif + return NAN; + } float first_probe_z = current_position[Z_AXIS]; @@ -575,7 +584,7 @@ static float run_z_probe( #endif // move up to make clearance for the probe - do_blocking_move_to_z(current_position[Z_AXIS] + Z_CLEARANCE_BETWEEN_PROBES, MMM_TO_MMS(Z_PROBE_SPEED_FAST)); + do_blocking_move_to_z(current_position[Z_AXIS] + Z_CLEARANCE_MULTI_PROBE, MMM_TO_MMS(Z_PROBE_SPEED_FAST)); #else @@ -586,7 +595,7 @@ static float run_z_probe( if (current_position[Z_AXIS] > z) { // If we don't make it to the z position (i.e. the probe triggered), move up to make clearance for the probe - if (!do_probe_move(z, Z_PROBE_SPEED_FAST)) + if (!do_probe_move(z, MMM_TO_MMS(Z_PROBE_SPEED_FAST))) do_blocking_move_to_z(current_position[Z_AXIS] + Z_CLEARANCE_BETWEEN_PROBES, MMM_TO_MMS(Z_PROBE_SPEED_FAST)); } #endif @@ -596,19 +605,27 @@ static float run_z_probe( for (uint8_t p = MULTIPLE_PROBING + 1; --p;) { #endif - // Move down slowly to find bed, not too far - if (do_probe_move(z_probe_low_point, Z_PROBE_SPEED_SLOW)) return NAN; + // move down slowly to find bed + if (do_probe_move(z_probe_low_point, MMM_TO_MMS(Z_PROBE_SPEED_SLOW))) { + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) { + SERIAL_ECHOLNPGM("SLOW Probe fail!"); + DEBUG_POS("<<< run_z_probe", current_position); + } + #endif + return NAN; + } #if MULTIPLE_PROBING > 2 probes_total += current_position[Z_AXIS]; - if (p > 1) do_blocking_move_to_z(current_position[Z_AXIS] + Z_CLEARANCE_BETWEEN_PROBES, MMM_TO_MMS(Z_PROBE_SPEED_FAST)); + if (p > 1) do_blocking_move_to_z(current_position[Z_AXIS] + Z_CLEARANCE_MULTI_PROBE, MMM_TO_MMS(Z_PROBE_SPEED_FAST)); } #endif #if MULTIPLE_PROBING > 2 // Return the average value of all probes - return probes_total * (1.0 / (MULTIPLE_PROBING)); + const float measured_z = probes_total * (1.0f / (MULTIPLE_PROBING)); #elif MULTIPLE_PROBING == 2 @@ -622,18 +639,20 @@ static float run_z_probe( #endif // Return a weighted average of the fast and slow probes - return (z2 * 3.0 + first_probe_z * 2.0) * 0.2; + const float measured_z = (z2 * 3.0 + first_probe_z * 2.0) * 0.2; #else // Return the single probe result - return current_position[Z_AXIS]; + const float measured_z = current_position[Z_AXIS]; #endif #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) DEBUG_POS("<<< run_z_probe", current_position); #endif + + return measured_z; } /** @@ -645,14 +664,14 @@ static float run_z_probe( * - Raise to the BETWEEN height * - Return the probed Z position */ -float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after/*=PROBE_PT_NONE*/, const uint8_t verbose_level/*=0*/, const bool is_calibration/*=false*/) { +float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after/*=PROBE_PT_NONE*/, const uint8_t verbose_level/*=0*/, const bool probe_relative/*=true*/) { #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) { SERIAL_ECHOPAIR(">>> probe_pt(", LOGICAL_X_POSITION(rx)); SERIAL_ECHOPAIR(", ", LOGICAL_Y_POSITION(ry)); SERIAL_ECHOPAIR(", ", raise_after == PROBE_PT_RAISE ? "raise" : raise_after == PROBE_PT_STOW ? "stow" : "none"); SERIAL_ECHOPAIR(", ", int(verbose_level)); - SERIAL_ECHOPAIR(", ", is_calibration ? "nozzle" : "probe"); + SERIAL_ECHOPAIR(", ", probe_relative ? "probe" : "nozzle"); SERIAL_ECHOLNPGM("_relative)"); DEBUG_POS("", current_position); } @@ -660,7 +679,7 @@ float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after/ // TODO: Adapt for SCARA, where the offset rotates float nx = rx, ny = ry; - if (!is_calibration) { + if (probe_relative) { if (!position_is_reachable_by_probe(rx, ry)) return NAN; // The given position is in terms of the probe nx -= (X_PROBE_OFFSET_FROM_EXTRUDER); // Get the nozzle position ny -= (Y_PROBE_OFFSET_FROM_EXTRUDER); @@ -670,7 +689,7 @@ float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after/ const float nz = #if ENABLED(DELTA) // Move below clip height or xy move will be aborted by do_blocking_move_to - min(current_position[Z_AXIS], delta_clip_start_height) + MIN(current_position[Z_AXIS], delta_clip_start_height) #else current_position[Z_AXIS] #endif @@ -684,14 +703,11 @@ float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after/ float measured_z = NAN; if (!DEPLOY_PROBE()) { - measured_z = run_z_probe( - #if HAS_CALIBRATION_PROBE - is_calibration - #endif - ) + zprobe_zoffset; + measured_z = run_z_probe() + zprobe_zoffset; - if (raise_after == PROBE_PT_RAISE) - do_blocking_move_to_z(current_position[Z_AXIS] + Z_CLEARANCE_BETWEEN_PROBES, MMM_TO_MMS(Z_PROBE_SPEED_FAST)); + const bool big_raise = raise_after == PROBE_PT_BIG_RAISE; + if (big_raise || raise_after == PROBE_PT_RAISE) + do_blocking_move_to_z(current_position[Z_AXIS] + (big_raise ? 25 : Z_CLEARANCE_BETWEEN_PROBES), MMM_TO_MMS(Z_PROBE_SPEED_FAST)); else if (raise_after == PROBE_PT_STOW) if (STOW_PROBE()) measured_z = NAN; } @@ -706,10 +722,6 @@ float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after/ SERIAL_EOL(); } - #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< probe_pt"); - #endif - feedrate_mm_s = old_feedrate_mm_s; if (isnan(measured_z)) { @@ -718,6 +730,10 @@ float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after/ SERIAL_ERRORLNPGM(MSG_ERR_PROBING_FAILED); } + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< probe_pt"); + #endif + return measured_z; } diff --git a/Marlin/src/module/probe.h b/Marlin/src/module/probe.h index 60052e3ec27d..fe4c17b79e3c 100644 --- a/Marlin/src/module/probe.h +++ b/Marlin/src/module/probe.h @@ -32,17 +32,21 @@ #if HAS_BED_PROBE extern float zprobe_zoffset; bool set_probe_deployed(const bool deploy); - #if Z_AFTER_PROBING + #ifdef Z_AFTER_PROBING void move_z_after_probing(); #endif enum ProbePtRaise : unsigned char { PROBE_PT_NONE, // No raise or stow after run_z_probe PROBE_PT_STOW, // Do a complete stow after run_z_probe - PROBE_PT_RAISE // Raise to "between" clearance after run_z_probe + PROBE_PT_RAISE, // Raise to "between" clearance after run_z_probe + PROBE_PT_BIG_RAISE // Raise to big clearance after run_z_probe }; - float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after=PROBE_PT_NONE, const uint8_t verbose_level=0, const bool is_calibration=false); + float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after=PROBE_PT_NONE, const uint8_t verbose_level=0, const bool probe_relative=true); #define DEPLOY_PROBE() set_probe_deployed(true) #define STOW_PROBE() set_probe_deployed(false) + #if HAS_HEATED_BED && ENABLED(WAIT_FOR_BED_HEATER) + extern const char msg_wait_for_bed_heating[25]; + #endif #else #define DEPLOY_PROBE() #define STOW_PROBE() @@ -67,7 +71,6 @@ FORCE_INLINE void bltouch_init() { // Make sure any BLTouch error condition is cleared bltouch_command(BLTOUCH_RESET); - set_bltouch_deployed(true); set_bltouch_deployed(false); } #endif diff --git a/Marlin/src/module/scara.cpp b/Marlin/src/module/scara.cpp index 8206388a40b2..222bf9cbe49d 100644 --- a/Marlin/src/module/scara.cpp +++ b/Marlin/src/module/scara.cpp @@ -30,7 +30,7 @@ #include "scara.h" #include "motion.h" -#include "stepper.h" +#include "planner.h" float delta_segments_per_second = SCARA_SEGMENTS_PER_SECOND; @@ -147,8 +147,8 @@ void inverse_kinematics(const float raw[XYZ]) { } void scara_report_positions() { - SERIAL_PROTOCOLPAIR("SCARA Theta:", stepper.get_axis_position_degrees(A_AXIS)); - SERIAL_PROTOCOLLNPAIR(" Psi+Theta:", stepper.get_axis_position_degrees(B_AXIS)); + SERIAL_PROTOCOLPAIR("SCARA Theta:", planner.get_axis_position_degrees(A_AXIS)); + SERIAL_PROTOCOLLNPAIR(" Psi+Theta:", planner.get_axis_position_degrees(B_AXIS)); SERIAL_EOL(); } diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp index 2b0974efa555..ba535cddf12a 100644 --- a/Marlin/src/module/stepper.cpp +++ b/Marlin/src/module/stepper.cpp @@ -41,15 +41,41 @@ * along with Grbl. If not, see . */ -/* The timer calculations of this module informed by the 'RepRap cartesian firmware' by Zack Smith - and Philipp Tiefenbacher. */ +/** + * Timer calculations informed by the 'RepRap cartesian firmware' by Zack Smith + * and Philipp Tiefenbacher. + */ + +/** + * __________________________ + * /| |\ _________________ ^ + * / | | \ /| |\ | + * / | | \ / | | \ s + * / | | | | | \ p + * / | | | | | \ e + * +-----+------------------------+---+--+---------------+----+ e + * | BLOCK 1 | BLOCK 2 | d + * + * time -----> + * + * The trapezoid is the shape the speed curve over time. It starts at block->initial_rate, accelerates + * first block->accelerate_until step_events_completed, then keeps going at constant speed until + * step_events_completed reaches block->decelerate_after after which it decelerates until the trapezoid generator is reset. + * The slope of acceleration is calculated using v = u + at where t is the accumulated timer values of the steps so far. + */ -/* Jerk controlled movements planner added by Eduardo José Tagle in April - 2018, Equations based on Synthethos TinyG2 sources, but the fixed-point - implementation is a complete new one, as we are running the ISR with a - variable period. - Also implemented the Bézier velocity curve evaluation in ARM assembler, - to avoid impacting ISR speed. */ +/** + * Marlin uses the Bresenham algorithm. For a detailed explanation of theory and + * method see https://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html + */ + +/** + * Jerk controlled movements planner added Apr 2018 by Eduardo José Tagle. + * Equations based on Synthethos TinyG2 sources, but the fixed-point + * implementation is new, as we are running the ISR with a variable period. + * Also implemented the Bézier velocity curve evaluation in ARM assembler, + * to avoid impacting ISR speed. + */ #include "stepper.h" @@ -67,6 +93,7 @@ #include "../gcode/queue.h" #include "../sd/cardreader.h" #include "../Marlin.h" +#include "../HAL/Delay.h" #if MB(ALLIGATOR) #include "../feature/dac/dac_dac084s085.h" @@ -80,14 +107,8 @@ Stepper stepper; // Singleton // public: -block_t* Stepper::current_block = NULL; // A pointer to the block currently being traced - -#if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) - bool Stepper::abort_on_endstop_hit = false; -#endif - #if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS) - bool Stepper::performing_homing = false; + bool Stepper::homing_dual_axis = false; #endif #if HAS_MOTOR_CURRENT_PWM @@ -96,99 +117,106 @@ block_t* Stepper::current_block = NULL; // A pointer to the block currently bei // private: -uint8_t Stepper::last_direction_bits = 0; // The next stepping-bits to be output -int16_t Stepper::cleaning_buffer_counter = 0; +block_t* Stepper::current_block = NULL; // A pointer to the block currently being traced + +uint8_t Stepper::last_direction_bits = 0, + Stepper::axis_did_move; + +bool Stepper::abort_current_block; + +#if DISABLED(MIXING_EXTRUDER) + uint8_t Stepper::last_moved_extruder = 0xFF; +#endif #if ENABLED(X_DUAL_ENDSTOPS) - bool Stepper::locked_x_motor = false, Stepper::locked_x2_motor = false; + bool Stepper::locked_X_motor = false, Stepper::locked_X2_motor = false; #endif #if ENABLED(Y_DUAL_ENDSTOPS) - bool Stepper::locked_y_motor = false, Stepper::locked_y2_motor = false; + bool Stepper::locked_Y_motor = false, Stepper::locked_Y2_motor = false; #endif #if ENABLED(Z_DUAL_ENDSTOPS) - bool Stepper::locked_z_motor = false, Stepper::locked_z2_motor = false; + bool Stepper::locked_Z_motor = false, Stepper::locked_Z2_motor = false; #endif -long Stepper::counter_X = 0, - Stepper::counter_Y = 0, - Stepper::counter_Z = 0, - Stepper::counter_E = 0; - -volatile uint32_t Stepper::step_events_completed = 0; // The number of step events executed in the current block +uint32_t Stepper::acceleration_time, Stepper::deceleration_time; +uint8_t Stepper::steps_per_isr; -#if ENABLED(BEZIER_JERK_CONTROL) - int32_t Stepper::bezier_A, // A coefficient in Bézier speed curve - Stepper::bezier_B, // B coefficient in Bézier speed curve - Stepper::bezier_C, // C coefficient in Bézier speed curve - Stepper::bezier_F; // F coefficient in Bézier speed curve - uint32_t Stepper::bezier_AV; // AV coefficient in Bézier speed curve - bool Stepper::bezier_2nd_half; // =false If Bézier curve has been initialized or not +#if DISABLED(ADAPTIVE_STEP_SMOOTHING) + constexpr #endif + uint8_t Stepper::oversampling_factor; -#if ENABLED(LIN_ADVANCE) - - uint32_t Stepper::LA_decelerate_after; - - constexpr hal_timer_t ADV_NEVER = HAL_TIMER_TYPE_MAX; +int32_t Stepper::delta_error[XYZE] = { 0 }; - hal_timer_t Stepper::nextMainISR = 0, - Stepper::nextAdvanceISR = ADV_NEVER, - Stepper::eISR_Rate = ADV_NEVER; - uint16_t Stepper::current_adv_steps = 0, - Stepper::final_adv_steps, - Stepper::max_adv_steps; +uint32_t Stepper::advance_dividend[XYZE] = { 0 }, + Stepper::advance_divisor = 0, + Stepper::step_events_completed = 0, // The number of step events executed in the current block + Stepper::accelerate_until, // The point from where we need to stop acceleration + Stepper::decelerate_after, // The point from where we need to start decelerating + Stepper::step_event_count; // The total event count for the current block - int8_t Stepper::e_steps = 0; +#if ENABLED(MIXING_EXTRUDER) + int32_t Stepper::delta_error_m[MIXING_STEPPERS]; + uint32_t Stepper::advance_dividend_m[MIXING_STEPPERS], + Stepper::advance_divisor_m; +#else + int8_t Stepper::active_extruder; // Active extruder +#endif - #if E_STEPPERS > 1 - int8_t Stepper::LA_active_extruder; // Copy from current executed block. Needed because current_block is set to NULL "too early". - #else - constexpr int8_t Stepper::LA_active_extruder; +#if ENABLED(S_CURVE_ACCELERATION) + int32_t __attribute__((used)) Stepper::bezier_A __asm__("bezier_A"); // A coefficient in Bézier speed curve with alias for assembler + int32_t __attribute__((used)) Stepper::bezier_B __asm__("bezier_B"); // B coefficient in Bézier speed curve with alias for assembler + int32_t __attribute__((used)) Stepper::bezier_C __asm__("bezier_C"); // C coefficient in Bézier speed curve with alias for assembler + uint32_t __attribute__((used)) Stepper::bezier_F __asm__("bezier_F"); // F coefficient in Bézier speed curve with alias for assembler + uint32_t __attribute__((used)) Stepper::bezier_AV __asm__("bezier_AV"); // AV coefficient in Bézier speed curve with alias for assembler + #ifdef __AVR__ + bool __attribute__((used)) Stepper::A_negative __asm__("A_negative"); // If A coefficient was negative #endif + bool Stepper::bezier_2nd_half; // =false If Bézier curve has been initialized or not +#endif - bool Stepper::use_advance_lead; +uint32_t Stepper::nextMainISR = 0; -#endif // LIN_ADVANCE +#if ENABLED(LIN_ADVANCE) -int32_t Stepper::acceleration_time, Stepper::deceleration_time; + constexpr uint32_t LA_ADV_NEVER = 0xFFFFFFFF; + uint32_t Stepper::nextAdvanceISR = LA_ADV_NEVER, + Stepper::LA_isr_rate = LA_ADV_NEVER; + uint16_t Stepper::LA_current_adv_steps = 0, + Stepper::LA_final_adv_steps, + Stepper::LA_max_adv_steps; -volatile int32_t Stepper::count_position[NUM_AXIS] = { 0 }; -volatile signed char Stepper::count_direction[NUM_AXIS] = { 1, 1, 1, 1 }; + int8_t Stepper::LA_steps = 0; -#if ENABLED(MIXING_EXTRUDER) - long Stepper::counter_m[MIXING_STEPPERS]; -#endif + bool Stepper::LA_use_advance_lead; -uint8_t Stepper::step_loops, Stepper::step_loops_nominal; +#endif // LIN_ADVANCE -hal_timer_t Stepper::OCR1A_nominal; -#if DISABLED(BEZIER_JERK_CONTROL) - hal_timer_t Stepper::acc_step_rate; // needed for deceleration start point +int32_t Stepper::ticks_nominal = -1; +#if DISABLED(S_CURVE_ACCELERATION) + uint32_t Stepper::acc_step_rate; // needed for deceleration start point #endif -volatile long Stepper::endstops_trigsteps[XYZ]; +volatile int32_t Stepper::endstops_trigsteps[XYZ]; + +volatile int32_t Stepper::count_position[NUM_AXIS] = { 0 }; +int8_t Stepper::count_direction[NUM_AXIS] = { 0, 0, 0, 0 }; #if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS) - #define LOCKED_X_MOTOR locked_x_motor - #define LOCKED_Y_MOTOR locked_y_motor - #define LOCKED_Z_MOTOR locked_z_motor - #define LOCKED_X2_MOTOR locked_x2_motor - #define LOCKED_Y2_MOTOR locked_y2_motor - #define LOCKED_Z2_MOTOR locked_z2_motor - #define DUAL_ENDSTOP_APPLY_STEP(AXIS,v) \ - if (performing_homing) { \ - if (AXIS##_HOME_DIR < 0) { \ - if (!(TEST(endstops.old_endstop_bits, AXIS##_MIN) && count_direction[AXIS##_AXIS] < 0) && !LOCKED_##AXIS##_MOTOR) AXIS##_STEP_WRITE(v); \ - if (!(TEST(endstops.old_endstop_bits, AXIS##2_MIN) && count_direction[AXIS##_AXIS] < 0) && !LOCKED_##AXIS##2_MOTOR) AXIS##2_STEP_WRITE(v); \ - } \ - else { \ - if (!(TEST(endstops.old_endstop_bits, AXIS##_MAX) && count_direction[AXIS##_AXIS] > 0) && !LOCKED_##AXIS##_MOTOR) AXIS##_STEP_WRITE(v); \ - if (!(TEST(endstops.old_endstop_bits, AXIS##2_MAX) && count_direction[AXIS##_AXIS] > 0) && !LOCKED_##AXIS##2_MOTOR) AXIS##2_STEP_WRITE(v); \ - } \ - } \ - else { \ - AXIS##_STEP_WRITE(v); \ - AXIS##2_STEP_WRITE(v); \ + #define DUAL_ENDSTOP_APPLY_STEP(A,V) \ + if (homing_dual_axis) { \ + if (A##_HOME_DIR < 0) { \ + if (!(TEST(endstops.state(), A##_MIN) && count_direction[_AXIS(A)] < 0) && !locked_##A##_motor) A##_STEP_WRITE(V); \ + if (!(TEST(endstops.state(), A##2_MIN) && count_direction[_AXIS(A)] < 0) && !locked_##A##2_motor) A##2_STEP_WRITE(V); \ + } \ + else { \ + if (!(TEST(endstops.state(), A##_MAX) && count_direction[_AXIS(A)] > 0) && !locked_##A##_motor) A##_STEP_WRITE(V); \ + if (!(TEST(endstops.state(), A##2_MAX) && count_direction[_AXIS(A)] > 0) && !locked_##A##2_motor) A##2_STEP_WRITE(V); \ + } \ + } \ + else { \ + A##_STEP_WRITE(V); \ + A##2_STEP_WRITE(V); \ } #endif @@ -206,7 +234,7 @@ volatile long Stepper::endstops_trigsteps[XYZ]; X2_DIR_WRITE(v); \ } \ else { \ - if (current_block->active_extruder) X2_DIR_WRITE(v); else X_DIR_WRITE(v); \ + if (movement_extruder()) X2_DIR_WRITE(v); else X_DIR_WRITE(v); \ } #define X_APPLY_STEP(v,ALWAYS) \ if (extruder_duplication_enabled || ALWAYS) { \ @@ -214,7 +242,7 @@ volatile long Stepper::endstops_trigsteps[XYZ]; X2_STEP_WRITE(v); \ } \ else { \ - if (current_block->active_extruder) X2_STEP_WRITE(v); else X_STEP_WRITE(v); \ + if (movement_extruder()) X2_STEP_WRITE(v); else X_STEP_WRITE(v); \ } #else #define X_APPLY_DIR(v,Q) X_DIR_WRITE(v) @@ -246,26 +274,9 @@ volatile long Stepper::endstops_trigsteps[XYZ]; #endif #if DISABLED(MIXING_EXTRUDER) - #define E_APPLY_STEP(v,Q) E_STEP_WRITE(v) + #define E_APPLY_STEP(v,Q) E_STEP_WRITE(active_extruder, v) #endif -/** - * __________________________ - * /| |\ _________________ ^ - * / | | \ /| |\ | - * / | | \ / | | \ s - * / | | | | | \ p - * / | | | | | \ e - * +-----+------------------------+---+--+---------------+----+ e - * | BLOCK 1 | BLOCK 2 | d - * - * time -----> - * - * The trapezoid is the shape the speed curve over time. It starts at block->initial_rate, accelerates - * first block->accelerate_until step_events_completed, then keeps going at constant speed until - * step_events_completed reaches block->decelerate_after after which it decelerates until the trapezoid generator is reset. - * The slope of acceleration is calculated using v = u + at where t is the accumulated timer values of the steps so far. - */ void Stepper::wake_up() { // TCNT1 = 0; ENABLE_STEPPER_DRIVER_INTERRUPT(); @@ -280,14 +291,14 @@ void Stepper::wake_up() { */ void Stepper::set_directions() { - #define SET_STEP_DIR(AXIS) \ - if (motor_direction(AXIS ##_AXIS)) { \ - AXIS ##_APPLY_DIR(INVERT_## AXIS ##_DIR, false); \ - count_direction[AXIS ##_AXIS] = -1; \ + #define SET_STEP_DIR(A) \ + if (motor_direction(_AXIS(A))) { \ + A##_APPLY_DIR(INVERT_## A##_DIR, false); \ + count_direction[_AXIS(A)] = -1; \ } \ else { \ - AXIS ##_APPLY_DIR(!INVERT_## AXIS ##_DIR, false); \ - count_direction[AXIS ##_AXIS] = 1; \ + A##_APPLY_DIR(!INVERT_## A##_DIR, false); \ + count_direction[_AXIS(A)] = 1; \ } #if HAS_X_DIR @@ -301,32 +312,44 @@ void Stepper::set_directions() { #endif #if DISABLED(LIN_ADVANCE) - if (motor_direction(E_AXIS)) { - REV_E_DIR(); - count_direction[E_AXIS] = -1; - } - else { - NORM_E_DIR(); - count_direction[E_AXIS] = 1; - } + #if ENABLED(MIXING_EXTRUDER) + if (motor_direction(E_AXIS)) { + MIXING_STEPPERS_LOOP(j) REV_E_DIR(j); + count_direction[E_AXIS] = -1; + } + else { + MIXING_STEPPERS_LOOP(j) NORM_E_DIR(j); + count_direction[E_AXIS] = 1; + } + #else + if (motor_direction(E_AXIS)) { + REV_E_DIR(active_extruder); + count_direction[E_AXIS] = -1; + } + else { + NORM_E_DIR(active_extruder); + count_direction[E_AXIS] = 1; + } + #endif #endif // !LIN_ADVANCE -} -#if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) - extern volatile uint8_t e_hit; -#endif + // A small delay may be needed after changing direction + #if MINIMUM_STEPPER_DIR_DELAY > 0 + DELAY_NS(MINIMUM_STEPPER_DIR_DELAY); + #endif +} -#if ENABLED(BEZIER_JERK_CONTROL) +#if ENABLED(S_CURVE_ACCELERATION) /** - * We are using a quintic (fifth-degree) Bézier polynomial for the velocity curve. - * This gives us a "linear pop" velocity curve; with pop being the sixth derivative of position: + * This uses a quintic (fifth-degree) Bézier polynomial for the velocity curve, giving + * a "linear pop" velocity curve; with pop being the sixth derivative of position: * velocity - 1st, acceleration - 2nd, jerk - 3rd, snap - 4th, crackle - 5th, pop - 6th * * The Bézier curve takes the form: * * V(t) = P_0 * B_0(t) + P_1 * B_1(t) + P_2 * B_2(t) + P_3 * B_3(t) + P_4 * B_4(t) + P_5 * B_5(t) * - * Where 0 <= t <= 1, and V(t) is the velocity. P_0 through P_5 are the control points, and B_0(t) + * Where 0 <= t <= 1, and V(t) is the velocity. P_0 through P_5 are the control points, and B_0(t) * through B_5(t) are the Bernstein basis as follows: * * B_0(t) = (1-t)^5 = -t^5 + 5t^4 - 10t^3 + 10t^2 - 5t + 1 @@ -339,12 +362,12 @@ void Stepper::set_directions() { * | | | | | | * A B C D E F * - * Unfortunately, we cannot use forward-differencing to calculate each position through + * Unfortunately, we cannot use forward-differencing to calculate each position through * the curve, as Marlin uses variable timer periods. So, we require a formula of the form: * * V_f(t) = A*t^5 + B*t^4 + C*t^3 + D*t^2 + E*t + F * - * Looking at the above B_0(t) through B_5(t) expanded forms, if we take the coefficients of t^5 + * Looking at the above B_0(t) through B_5(t) expanded forms, if we take the coefficients of t^5 * through t of the Bézier form of V(t), we can determine that: * * A = -P_0 + 5*P_1 - 10*P_2 + 10*P_3 - 5*P_4 + P_5 @@ -354,7 +377,7 @@ void Stepper::set_directions() { * E = - 5*P_0 + 5*P_1 * F = P_0 * - * Now, since we will (currently) *always* want the initial acceleration and jerk values to be 0, + * Now, since we will (currently) *always* want the initial acceleration and jerk values to be 0, * We set P_i = P_0 = P_1 = P_2 (initial velocity), and P_t = P_3 = P_4 = P_5 (target velocity), * which, after simplification, resolves to: * @@ -365,14 +388,14 @@ void Stepper::set_directions() { * E = 0 * F = P_i * - * As the t is evaluated in non uniform steps here, there is no other way rather than evaluating + * As the t is evaluated in non uniform steps here, there is no other way rather than evaluating * the Bézier curve at each point: * * V_f(t) = A*t^5 + B*t^4 + C*t^3 + F [0 <= t <= 1] * - * Floating point arithmetic execution time cost is prohibitive, so we will transform the math to + * Floating point arithmetic execution time cost is prohibitive, so we will transform the math to * use fixed point values to be able to evaluate it in realtime. Assuming a maximum of 250000 steps - * per second (driver pulses should at least be 2uS hi/2uS lo), and allocating 2 bits to avoid + * per second (driver pulses should at least be 2µS hi/2µS lo), and allocating 2 bits to avoid * overflows on the evaluation of the Bézier curve, means we can use * * t: unsigned Q0.32 (0 <= t < 1) |range 0 to 0xFFFFFFFF unsigned @@ -381,7 +404,7 @@ void Stepper::set_directions() { * C: signed Q24.7 , |range = +/- 250000 *10 * 128 = +/- 320000000 = 0x1312D000 | 29 bits + sign * F: signed Q24.7 , |range = +/- 250000 * 128 = 32000000 = 0x01E84800 | 25 bits + sign * - * The trapezoid generator state contains the following information, that we will use to create and evaluate + * The trapezoid generator state contains the following information, that we will use to create and evaluate * the Bézier curve: * * blk->step_event_count [TS] = The total count of steps for this movement. (=distance) @@ -391,413 +414,942 @@ void Stepper::set_directions() { * * Note the abbreviations we use in the following formulae are between []s * - * At the start of each trapezoid, we calculate the coefficients A,B,C,F and Advance [AV], as follows: + * For Any 32bit CPU: + * + * At the start of each trapezoid, calculate the coefficients A,B,C,F and Advance [AV], as follows: + * + * A = 6*128*(VF - VI) = 768*(VF - VI) + * B = 15*128*(VI - VF) = 1920*(VI - VF) + * C = 10*128*(VF - VI) = 1280*(VF - VI) + * F = 128*VI = 128*VI + * AV = (1<<32)/TS ~= 0xFFFFFFFF / TS (To use ARM UDIV, that is 32 bits) (this is computed at the planner, to offload expensive calculations from the ISR) + * + * And for each point, evaluate the curve with the following sequence: + * + * void lsrs(uint32_t& d, uint32_t s, int cnt) { + * d = s >> cnt; + * } + * void lsls(uint32_t& d, uint32_t s, int cnt) { + * d = s << cnt; + * } + * void lsrs(int32_t& d, uint32_t s, int cnt) { + * d = uint32_t(s) >> cnt; + * } + * void lsls(int32_t& d, uint32_t s, int cnt) { + * d = uint32_t(s) << cnt; + * } + * void umull(uint32_t& rlo, uint32_t& rhi, uint32_t op1, uint32_t op2) { + * uint64_t res = uint64_t(op1) * op2; + * rlo = uint32_t(res & 0xFFFFFFFF); + * rhi = uint32_t((res >> 32) & 0xFFFFFFFF); + * } + * void smlal(int32_t& rlo, int32_t& rhi, int32_t op1, int32_t op2) { + * int64_t mul = int64_t(op1) * op2; + * int64_t s = int64_t(uint32_t(rlo) | ((uint64_t(uint32_t(rhi)) << 32U))); + * mul += s; + * rlo = int32_t(mul & 0xFFFFFFFF); + * rhi = int32_t((mul >> 32) & 0xFFFFFFFF); + * } + * int32_t _eval_bezier_curve_arm(uint32_t curr_step) { + * register uint32_t flo = 0; + * register uint32_t fhi = bezier_AV * curr_step; + * register uint32_t t = fhi; + * register int32_t alo = bezier_F; + * register int32_t ahi = 0; + * register int32_t A = bezier_A; + * register int32_t B = bezier_B; + * register int32_t C = bezier_C; * - * A = 6*128*(VF - VI) = 768*(VF - VI) - * B = 15*128*(VI - VF) = 1920*(VI - VF) - * C = 10*128*(VF - VI) = 1280*(VF - VI) - * F = 128*VI = 128*VI - * AV = (1<<32)/TS ~= 0xFFFFFFFF / TS (To use ARM UDIV, that is 32 bits) + * lsrs(ahi, alo, 1); // a = F << 31 + * lsls(alo, alo, 31); // + * umull(flo, fhi, fhi, t); // f *= t + * umull(flo, fhi, fhi, t); // f>>=32; f*=t + * lsrs(flo, fhi, 1); // + * smlal(alo, ahi, flo, C); // a+=(f>>33)*C + * umull(flo, fhi, fhi, t); // f>>=32; f*=t + * lsrs(flo, fhi, 1); // + * smlal(alo, ahi, flo, B); // a+=(f>>33)*B + * umull(flo, fhi, fhi, t); // f>>=32; f*=t + * lsrs(flo, fhi, 1); // f>>=33; + * smlal(alo, ahi, flo, A); // a+=(f>>33)*A; + * lsrs(alo, ahi, 6); // a>>=38 * - * And for each point, we will evaluate the curve with the following sequence: + * return alo; + * } * - * uint32_t t = bezier_AV * curr_step; // t: Range 0 - 1^32 = 32 bits - * uint64_t f = t; - * f *= t; // Range 32*2 = 64 bits (unsigned) - * f >>= 32; // Range 32 bits (unsigned) - * f *= t; // Range 32*2 = 64 bits (unsigned) - * f >>= 32; // Range 32 bits : f = t^3 (unsigned) - * int64_t acc = (int64_t) bezier_F << 31; // Range 63 bits (signed) - * acc += ((uint32_t) f >> 1) * (int64_t) bezier_C; // Range 29bits + 31 = 60bits (plus sign) - * f *= t; // Range 32*2 = 64 bits - * f >>= 32; // Range 32 bits : f = t^3 (unsigned) - * acc += ((uint32_t) f >> 1) * (int64_t) bezier_B; // Range 29bits + 31 = 60bits (plus sign) - * f *= t; // Range 32*2 = 64 bits - * f >>= 32; // Range 32 bits : f = t^3 (unsigned) - * acc += ((uint32_t) f >> 1) * (int64_t) bezier_A; // Range 28bits + 31 = 59bits (plus sign) - * acc >>= (31 + 7); // Range 24bits (plus sign) + * This is rewritten in ARM assembly for optimal performance (43 cycles to execute). * - * This can be translated to the following ARM assembly sequence: + * For AVR, the precision of coefficients is scaled so the Bézier curve can be evaluated in real-time: + * Let's reduce precision as much as possible. After some experimentation we found that: * - * At start: - * fhi = AV, flo = CS, alo = F + * Assume t and AV with 24 bits is enough + * A = 6*(VF - VI) + * B = 15*(VI - VF) + * C = 10*(VF - VI) + * F = VI + * AV = (1<<24)/TS (this is computed at the planner, to offload expensive calculations from the ISR) * - * muls fhi,flo | f = AV * CS 1 cycles - * mov t,fhi | t = AV * CS 1 cycles - * lsrs ahi,alo,#1 | a = F << 31 1 cycles - * lsls alo,alo,#31 | 1 cycles - * umull flo,fhi,fhi,t | f *= t 5 cycles [fhi:flo=64bits - * umull flo,fhi,fhi,t | f>>=32; f*=t 5 cycles [fhi:flo=64bits - * lsrs flo,fhi,#1 | 1 cycles [31bits - * smlal alo,ahi,flo,C | a+=(f>>33)*C; 5 cycles - * umull flo,fhi,fhi,t | f>>=32; f*=t 5 cycles [fhi:flo=64bits - * lsrs flo,fhi,#1 | 1 cycles [31bits - * smlal alo,ahi,flo,B | a+=(f>>33)*B; 5 cycles - * umull flo,fhi,fhi,t | f>>=32; f*=t 5 cycles [fhi:flo=64bits - * lsrs flo,fhi,#1 | f>>=33; 1 cycles [31bits - * smlal alo,ahi,flo,A | a+=(f>>33)*A; 5 cycles - * lsrs alo,ahi,#6 | a>>=38 1 cycles - * 43 cycles total + * Instead of storing sign for each coefficient, we will store its absolute value, + * and flag the sign of the A coefficient, so we can save to store the sign bit. + * It always holds that sign(A) = - sign(B) = sign(C) + * + * So, the resulting range of the coefficients are: + * + * t: unsigned (0 <= t < 1) |range 0 to 0xFFFFFF unsigned + * A: signed Q24 , range = 250000 * 6 = 1500000 = 0x16E360 | 21 bits + * B: signed Q24 , range = 250000 *15 = 3750000 = 0x393870 | 22 bits + * C: signed Q24 , range = 250000 *10 = 2500000 = 0x1312D0 | 21 bits + * F: signed Q24 , range = 250000 = 250000 = 0x0ED090 | 20 bits + * + * And for each curve, estimate its coefficients with: + * + * void _calc_bezier_curve_coeffs(int32_t v0, int32_t v1, uint32_t av) { + * // Calculate the Bézier coefficients + * if (v1 < v0) { + * A_negative = true; + * bezier_A = 6 * (v0 - v1); + * bezier_B = 15 * (v0 - v1); + * bezier_C = 10 * (v0 - v1); + * } + * else { + * A_negative = false; + * bezier_A = 6 * (v1 - v0); + * bezier_B = 15 * (v1 - v0); + * bezier_C = 10 * (v1 - v0); + * } + * bezier_F = v0; + * } + * + * And for each point, evaluate the curve with the following sequence: + * + * // unsigned multiplication of 24 bits x 24bits, return upper 16 bits + * void umul24x24to16hi(uint16_t& r, uint24_t op1, uint24_t op2) { + * r = (uint64_t(op1) * op2) >> 8; + * } + * // unsigned multiplication of 16 bits x 16bits, return upper 16 bits + * void umul16x16to16hi(uint16_t& r, uint16_t op1, uint16_t op2) { + * r = (uint32_t(op1) * op2) >> 16; + * } + * // unsigned multiplication of 16 bits x 24bits, return upper 24 bits + * void umul16x24to24hi(uint24_t& r, uint16_t op1, uint24_t op2) { + * r = uint24_t((uint64_t(op1) * op2) >> 16); + * } + * + * int32_t _eval_bezier_curve(uint32_t curr_step) { + * // To save computing, the first step is always the initial speed + * if (!curr_step) + * return bezier_F; + * + * uint16_t t; + * umul24x24to16hi(t, bezier_AV, curr_step); // t: Range 0 - 1^16 = 16 bits + * uint16_t f = t; + * umul16x16to16hi(f, f, t); // Range 16 bits (unsigned) + * umul16x16to16hi(f, f, t); // Range 16 bits : f = t^3 (unsigned) + * uint24_t acc = bezier_F; // Range 20 bits (unsigned) + * if (A_negative) { + * uint24_t v; + * umul16x24to24hi(v, f, bezier_C); // Range 21bits + * acc -= v; + * umul16x16to16hi(f, f, t); // Range 16 bits : f = t^4 (unsigned) + * umul16x24to24hi(v, f, bezier_B); // Range 22bits + * acc += v; + * umul16x16to16hi(f, f, t); // Range 16 bits : f = t^5 (unsigned) + * umul16x24to24hi(v, f, bezier_A); // Range 21bits + 15 = 36bits (plus sign) + * acc -= v; + * } + * else { + * uint24_t v; + * umul16x24to24hi(v, f, bezier_C); // Range 21bits + * acc += v; + * umul16x16to16hi(f, f, t); // Range 16 bits : f = t^4 (unsigned) + * umul16x24to24hi(v, f, bezier_B); // Range 22bits + * acc -= v; + * umul16x16to16hi(f, f, t); // Range 16 bits : f = t^5 (unsigned) + * umul16x24to24hi(v, f, bezier_A); // Range 21bits + 15 = 36bits (plus sign) + * acc += v; + * } + * return acc; + * } + * These functions are translated to assembler for optimal performance. + * Coefficient calculation takes 70 cycles. Bezier point evaluation takes 150 cycles. */ - FORCE_INLINE void Stepper::_calc_bezier_curve_coeffs(const int32_t v0, const int32_t v1, const uint32_t interval) { - // Calculate the Bézier coefficients - bezier_A = 768 * (v1 - v0); - bezier_B = 1920 * (v0 - v1); - bezier_C = 1280 * (v1 - v0); - bezier_F = 128 * v0; - bezier_AV = 0xFFFFFFFF / interval; - } + #ifdef __AVR__ - FORCE_INLINE int32_t Stepper::_eval_bezier_curve(const uint32_t curr_step) { - #if defined(__ARM__) || defined(__thumb__) - - // For ARM CORTEX M3/M4 CPUs, we have the optimized assembler version, that takes 43 cycles to execute - register uint32_t flo = 0; - register uint32_t fhi = bezier_AV * curr_step; - register uint32_t t = fhi; - register int32_t alo = bezier_F; - register int32_t ahi = 0; - register int32_t A = bezier_A; - register int32_t B = bezier_B; - register int32_t C = bezier_C; - - __asm__ __volatile__( - ".syntax unified" "\n\t" // is to prevent CM0,CM1 non-unified syntax - " lsrs %[ahi],%[alo],#1" "\n\t" // a = F << 31 1 cycles - " lsls %[alo],%[alo],#31" "\n\t" // 1 cycles - " umull %[flo],%[fhi],%[fhi],%[t]" "\n\t" // f *= t 5 cycles [fhi:flo=64bits] - " umull %[flo],%[fhi],%[fhi],%[t]" "\n\t" // f>>=32; f*=t 5 cycles [fhi:flo=64bits] - " lsrs %[flo],%[fhi],#1" "\n\t" // 1 cycles [31bits] - " smlal %[alo],%[ahi],%[flo],%[C]" "\n\t" // a+=(f>>33)*C; 5 cycles - " umull %[flo],%[fhi],%[fhi],%[t]" "\n\t" // f>>=32; f*=t 5 cycles [fhi:flo=64bits] - " lsrs %[flo],%[fhi],#1" "\n\t" // 1 cycles [31bits] - " smlal %[alo],%[ahi],%[flo],%[B]" "\n\t" // a+=(f>>33)*B; 5 cycles - " umull %[flo],%[fhi],%[fhi],%[t]" "\n\t" // f>>=32; f*=t 5 cycles [fhi:flo=64bits] - " lsrs %[flo],%[fhi],#1" "\n\t" // f>>=33; 1 cycles [31bits] - " smlal %[alo],%[ahi],%[flo],%[A]" "\n\t" // a+=(f>>33)*A; 5 cycles - " lsrs %[alo],%[ahi],#6" "\n\t" // a>>=38 1 cycles - : [alo]"+r"( alo ) , - [flo]"+r"( flo ) , - [fhi]"+r"( fhi ) , - [ahi]"+r"( ahi ) , - [A]"+r"( A ) , // <== Note: Even if A, B, C, and t registers are INPUT ONLY - [B]"+r"( B ) , // GCC does bad optimizations on the code if we list them as - [C]"+r"( C ) , // such, breaking this function. So, to avoid that problem, - [t]"+r"( t ) // we list all registers as input-outputs. + // For AVR we use assembly to maximize speed + void Stepper::_calc_bezier_curve_coeffs(const int32_t v0, const int32_t v1, const uint32_t av) { + + // Store advance + bezier_AV = av; + + // Calculate the rest of the coefficients + register uint8_t r2 = v0 & 0xFF; + register uint8_t r3 = (v0 >> 8) & 0xFF; + register uint8_t r12 = (v0 >> 16) & 0xFF; + register uint8_t r5 = v1 & 0xFF; + register uint8_t r6 = (v1 >> 8) & 0xFF; + register uint8_t r7 = (v1 >> 16) & 0xFF; + register uint8_t r4,r8,r9,r10,r11; + + __asm__ __volatile__( + /* Calculate the Bézier coefficients */ + /* %10:%1:%0 = v0*/ + /* %5:%4:%3 = v1*/ + /* %7:%6:%10 = temporary*/ + /* %9 = val (must be high register!)*/ + /* %10 (must be high register!)*/ + + /* Store initial velocity*/ + A("sts bezier_F, %0") + A("sts bezier_F+1, %1") + A("sts bezier_F+2, %10") /* bezier_F = %10:%1:%0 = v0 */ + + /* Get delta speed */ + A("ldi %2,-1") /* %2 = 0xFF, means A_negative = true */ + A("clr %8") /* %8 = 0 */ + A("sub %0,%3") + A("sbc %1,%4") + A("sbc %10,%5") /* v0 -= v1, C=1 if result is negative */ + A("brcc 1f") /* branch if result is positive (C=0), that means v0 >= v1 */ + + /* Result was negative, get the absolute value*/ + A("com %10") + A("com %1") + A("neg %0") + A("sbc %1,%2") + A("sbc %10,%2") /* %10:%1:%0 +1 -> %10:%1:%0 = -(v0 - v1) = (v1 - v0) */ + A("clr %2") /* %2 = 0, means A_negative = false */ + + /* Store negative flag*/ + L("1") + A("sts A_negative, %2") /* Store negative flag */ + + /* Compute coefficients A,B and C [20 cycles worst case]*/ + A("ldi %9,6") /* %9 = 6 */ + A("mul %0,%9") /* r1:r0 = 6*LO(v0-v1) */ + A("sts bezier_A, r0") + A("mov %6,r1") + A("clr %7") /* %7:%6:r0 = 6*LO(v0-v1) */ + A("mul %1,%9") /* r1:r0 = 6*MI(v0-v1) */ + A("add %6,r0") + A("adc %7,r1") /* %7:%6:?? += 6*MI(v0-v1) << 8 */ + A("mul %10,%9") /* r1:r0 = 6*HI(v0-v1) */ + A("add %7,r0") /* %7:%6:?? += 6*HI(v0-v1) << 16 */ + A("sts bezier_A+1, %6") + A("sts bezier_A+2, %7") /* bezier_A = %7:%6:?? = 6*(v0-v1) [35 cycles worst] */ + + A("ldi %9,15") /* %9 = 15 */ + A("mul %0,%9") /* r1:r0 = 5*LO(v0-v1) */ + A("sts bezier_B, r0") + A("mov %6,r1") + A("clr %7") /* %7:%6:?? = 5*LO(v0-v1) */ + A("mul %1,%9") /* r1:r0 = 5*MI(v0-v1) */ + A("add %6,r0") + A("adc %7,r1") /* %7:%6:?? += 5*MI(v0-v1) << 8 */ + A("mul %10,%9") /* r1:r0 = 5*HI(v0-v1) */ + A("add %7,r0") /* %7:%6:?? += 5*HI(v0-v1) << 16 */ + A("sts bezier_B+1, %6") + A("sts bezier_B+2, %7") /* bezier_B = %7:%6:?? = 5*(v0-v1) [50 cycles worst] */ + + A("ldi %9,10") /* %9 = 10 */ + A("mul %0,%9") /* r1:r0 = 10*LO(v0-v1) */ + A("sts bezier_C, r0") + A("mov %6,r1") + A("clr %7") /* %7:%6:?? = 10*LO(v0-v1) */ + A("mul %1,%9") /* r1:r0 = 10*MI(v0-v1) */ + A("add %6,r0") + A("adc %7,r1") /* %7:%6:?? += 10*MI(v0-v1) << 8 */ + A("mul %10,%9") /* r1:r0 = 10*HI(v0-v1) */ + A("add %7,r0") /* %7:%6:?? += 10*HI(v0-v1) << 16 */ + A("sts bezier_C+1, %6") + " sts bezier_C+2, %7" /* bezier_C = %7:%6:?? = 10*(v0-v1) [65 cycles worst] */ + : "+r" (r2), + "+d" (r3), + "=r" (r4), + "+r" (r5), + "+r" (r6), + "+r" (r7), + "=r" (r8), + "=r" (r9), + "=r" (r10), + "=d" (r11), + "+r" (r12) : - : "cc" + : "r0", "r1", "cc", "memory" ); - return alo; + } - #else + FORCE_INLINE int32_t Stepper::_eval_bezier_curve(const uint32_t curr_step) { + + // If dealing with the first step, save expensive computing and return the initial speed + if (!curr_step) + return bezier_F; + + register uint8_t r0 = 0; /* Zero register */ + register uint8_t r2 = (curr_step) & 0xFF; + register uint8_t r3 = (curr_step >> 8) & 0xFF; + register uint8_t r4 = (curr_step >> 16) & 0xFF; + register uint8_t r1,r5,r6,r7,r8,r9,r10,r11; /* Temporary registers */ + + __asm__ __volatile( + /* umul24x24to16hi(t, bezier_AV, curr_step); t: Range 0 - 1^16 = 16 bits*/ + A("lds %9,bezier_AV") /* %9 = LO(AV)*/ + A("mul %9,%2") /* r1:r0 = LO(bezier_AV)*LO(curr_step)*/ + A("mov %7,r1") /* %7 = LO(bezier_AV)*LO(curr_step) >> 8*/ + A("clr %8") /* %8:%7 = LO(bezier_AV)*LO(curr_step) >> 8*/ + A("lds %10,bezier_AV+1") /* %10 = MI(AV)*/ + A("mul %10,%2") /* r1:r0 = MI(bezier_AV)*LO(curr_step)*/ + A("add %7,r0") + A("adc %8,r1") /* %8:%7 += MI(bezier_AV)*LO(curr_step)*/ + A("lds r1,bezier_AV+2") /* r11 = HI(AV)*/ + A("mul r1,%2") /* r1:r0 = HI(bezier_AV)*LO(curr_step)*/ + A("add %8,r0") /* %8:%7 += HI(bezier_AV)*LO(curr_step) << 8*/ + A("mul %9,%3") /* r1:r0 = LO(bezier_AV)*MI(curr_step)*/ + A("add %7,r0") + A("adc %8,r1") /* %8:%7 += LO(bezier_AV)*MI(curr_step)*/ + A("mul %10,%3") /* r1:r0 = MI(bezier_AV)*MI(curr_step)*/ + A("add %8,r0") /* %8:%7 += LO(bezier_AV)*MI(curr_step) << 8*/ + A("mul %9,%4") /* r1:r0 = LO(bezier_AV)*HI(curr_step)*/ + A("add %8,r0") /* %8:%7 += LO(bezier_AV)*HI(curr_step) << 8*/ + /* %8:%7 = t*/ + + /* uint16_t f = t;*/ + A("mov %5,%7") /* %6:%5 = f*/ + A("mov %6,%8") + /* %6:%5 = f*/ + + /* umul16x16to16hi(f, f, t); / Range 16 bits (unsigned) [17] */ + A("mul %5,%7") /* r1:r0 = LO(f) * LO(t)*/ + A("mov %9,r1") /* store MIL(LO(f) * LO(t)) in %9, we need it for rounding*/ + A("clr %10") /* %10 = 0*/ + A("clr %11") /* %11 = 0*/ + A("mul %5,%8") /* r1:r0 = LO(f) * HI(t)*/ + A("add %9,r0") /* %9 += LO(LO(f) * HI(t))*/ + A("adc %10,r1") /* %10 = HI(LO(f) * HI(t))*/ + A("adc %11,%0") /* %11 += carry*/ + A("mul %6,%7") /* r1:r0 = HI(f) * LO(t)*/ + A("add %9,r0") /* %9 += LO(HI(f) * LO(t))*/ + A("adc %10,r1") /* %10 += HI(HI(f) * LO(t)) */ + A("adc %11,%0") /* %11 += carry*/ + A("mul %6,%8") /* r1:r0 = HI(f) * HI(t)*/ + A("add %10,r0") /* %10 += LO(HI(f) * HI(t))*/ + A("adc %11,r1") /* %11 += HI(HI(f) * HI(t))*/ + A("mov %5,%10") /* %6:%5 = */ + A("mov %6,%11") /* f = %10:%11*/ + + /* umul16x16to16hi(f, f, t); / Range 16 bits : f = t^3 (unsigned) [17]*/ + A("mul %5,%7") /* r1:r0 = LO(f) * LO(t)*/ + A("mov %1,r1") /* store MIL(LO(f) * LO(t)) in %1, we need it for rounding*/ + A("clr %10") /* %10 = 0*/ + A("clr %11") /* %11 = 0*/ + A("mul %5,%8") /* r1:r0 = LO(f) * HI(t)*/ + A("add %1,r0") /* %1 += LO(LO(f) * HI(t))*/ + A("adc %10,r1") /* %10 = HI(LO(f) * HI(t))*/ + A("adc %11,%0") /* %11 += carry*/ + A("mul %6,%7") /* r1:r0 = HI(f) * LO(t)*/ + A("add %1,r0") /* %1 += LO(HI(f) * LO(t))*/ + A("adc %10,r1") /* %10 += HI(HI(f) * LO(t))*/ + A("adc %11,%0") /* %11 += carry*/ + A("mul %6,%8") /* r1:r0 = HI(f) * HI(t)*/ + A("add %10,r0") /* %10 += LO(HI(f) * HI(t))*/ + A("adc %11,r1") /* %11 += HI(HI(f) * HI(t))*/ + A("mov %5,%10") /* %6:%5 =*/ + A("mov %6,%11") /* f = %10:%11*/ + /* [15 +17*2] = [49]*/ + + /* %4:%3:%2 will be acc from now on*/ + + /* uint24_t acc = bezier_F; / Range 20 bits (unsigned)*/ + A("clr %9") /* "decimal place we get for free"*/ + A("lds %2,bezier_F") + A("lds %3,bezier_F+1") + A("lds %4,bezier_F+2") /* %4:%3:%2 = acc*/ + + /* if (A_negative) {*/ + A("lds r0,A_negative") + A("or r0,%0") /* Is flag signalling negative? */ + A("brne 3f") /* If yes, Skip next instruction if A was negative*/ + A("rjmp 1f") /* Otherwise, jump */ + + /* uint24_t v; */ + /* umul16x24to24hi(v, f, bezier_C); / Range 21bits [29] */ + /* acc -= v; */ + L("3") + A("lds %10, bezier_C") /* %10 = LO(bezier_C)*/ + A("mul %10,%5") /* r1:r0 = LO(bezier_C) * LO(f)*/ + A("sub %9,r1") + A("sbc %2,%0") + A("sbc %3,%0") + A("sbc %4,%0") /* %4:%3:%2:%9 -= HI(LO(bezier_C) * LO(f))*/ + A("lds %11, bezier_C+1") /* %11 = MI(bezier_C)*/ + A("mul %11,%5") /* r1:r0 = MI(bezier_C) * LO(f)*/ + A("sub %9,r0") + A("sbc %2,r1") + A("sbc %3,%0") + A("sbc %4,%0") /* %4:%3:%2:%9 -= MI(bezier_C) * LO(f)*/ + A("lds %1, bezier_C+2") /* %1 = HI(bezier_C)*/ + A("mul %1,%5") /* r1:r0 = MI(bezier_C) * LO(f)*/ + A("sub %2,r0") + A("sbc %3,r1") + A("sbc %4,%0") /* %4:%3:%2:%9 -= HI(bezier_C) * LO(f) << 8*/ + A("mul %10,%6") /* r1:r0 = LO(bezier_C) * MI(f)*/ + A("sub %9,r0") + A("sbc %2,r1") + A("sbc %3,%0") + A("sbc %4,%0") /* %4:%3:%2:%9 -= LO(bezier_C) * MI(f)*/ + A("mul %11,%6") /* r1:r0 = MI(bezier_C) * MI(f)*/ + A("sub %2,r0") + A("sbc %3,r1") + A("sbc %4,%0") /* %4:%3:%2:%9 -= MI(bezier_C) * MI(f) << 8*/ + A("mul %1,%6") /* r1:r0 = HI(bezier_C) * LO(f)*/ + A("sub %3,r0") + A("sbc %4,r1") /* %4:%3:%2:%9 -= HI(bezier_C) * LO(f) << 16*/ + + /* umul16x16to16hi(f, f, t); / Range 16 bits : f = t^3 (unsigned) [17]*/ + A("mul %5,%7") /* r1:r0 = LO(f) * LO(t)*/ + A("mov %1,r1") /* store MIL(LO(f) * LO(t)) in %1, we need it for rounding*/ + A("clr %10") /* %10 = 0*/ + A("clr %11") /* %11 = 0*/ + A("mul %5,%8") /* r1:r0 = LO(f) * HI(t)*/ + A("add %1,r0") /* %1 += LO(LO(f) * HI(t))*/ + A("adc %10,r1") /* %10 = HI(LO(f) * HI(t))*/ + A("adc %11,%0") /* %11 += carry*/ + A("mul %6,%7") /* r1:r0 = HI(f) * LO(t)*/ + A("add %1,r0") /* %1 += LO(HI(f) * LO(t))*/ + A("adc %10,r1") /* %10 += HI(HI(f) * LO(t))*/ + A("adc %11,%0") /* %11 += carry*/ + A("mul %6,%8") /* r1:r0 = HI(f) * HI(t)*/ + A("add %10,r0") /* %10 += LO(HI(f) * HI(t))*/ + A("adc %11,r1") /* %11 += HI(HI(f) * HI(t))*/ + A("mov %5,%10") /* %6:%5 =*/ + A("mov %6,%11") /* f = %10:%11*/ + + /* umul16x24to24hi(v, f, bezier_B); / Range 22bits [29]*/ + /* acc += v; */ + A("lds %10, bezier_B") /* %10 = LO(bezier_B)*/ + A("mul %10,%5") /* r1:r0 = LO(bezier_B) * LO(f)*/ + A("add %9,r1") + A("adc %2,%0") + A("adc %3,%0") + A("adc %4,%0") /* %4:%3:%2:%9 += HI(LO(bezier_B) * LO(f))*/ + A("lds %11, bezier_B+1") /* %11 = MI(bezier_B)*/ + A("mul %11,%5") /* r1:r0 = MI(bezier_B) * LO(f)*/ + A("add %9,r0") + A("adc %2,r1") + A("adc %3,%0") + A("adc %4,%0") /* %4:%3:%2:%9 += MI(bezier_B) * LO(f)*/ + A("lds %1, bezier_B+2") /* %1 = HI(bezier_B)*/ + A("mul %1,%5") /* r1:r0 = MI(bezier_B) * LO(f)*/ + A("add %2,r0") + A("adc %3,r1") + A("adc %4,%0") /* %4:%3:%2:%9 += HI(bezier_B) * LO(f) << 8*/ + A("mul %10,%6") /* r1:r0 = LO(bezier_B) * MI(f)*/ + A("add %9,r0") + A("adc %2,r1") + A("adc %3,%0") + A("adc %4,%0") /* %4:%3:%2:%9 += LO(bezier_B) * MI(f)*/ + A("mul %11,%6") /* r1:r0 = MI(bezier_B) * MI(f)*/ + A("add %2,r0") + A("adc %3,r1") + A("adc %4,%0") /* %4:%3:%2:%9 += MI(bezier_B) * MI(f) << 8*/ + A("mul %1,%6") /* r1:r0 = HI(bezier_B) * LO(f)*/ + A("add %3,r0") + A("adc %4,r1") /* %4:%3:%2:%9 += HI(bezier_B) * LO(f) << 16*/ + + /* umul16x16to16hi(f, f, t); / Range 16 bits : f = t^5 (unsigned) [17]*/ + A("mul %5,%7") /* r1:r0 = LO(f) * LO(t)*/ + A("mov %1,r1") /* store MIL(LO(f) * LO(t)) in %1, we need it for rounding*/ + A("clr %10") /* %10 = 0*/ + A("clr %11") /* %11 = 0*/ + A("mul %5,%8") /* r1:r0 = LO(f) * HI(t)*/ + A("add %1,r0") /* %1 += LO(LO(f) * HI(t))*/ + A("adc %10,r1") /* %10 = HI(LO(f) * HI(t))*/ + A("adc %11,%0") /* %11 += carry*/ + A("mul %6,%7") /* r1:r0 = HI(f) * LO(t)*/ + A("add %1,r0") /* %1 += LO(HI(f) * LO(t))*/ + A("adc %10,r1") /* %10 += HI(HI(f) * LO(t))*/ + A("adc %11,%0") /* %11 += carry*/ + A("mul %6,%8") /* r1:r0 = HI(f) * HI(t)*/ + A("add %10,r0") /* %10 += LO(HI(f) * HI(t))*/ + A("adc %11,r1") /* %11 += HI(HI(f) * HI(t))*/ + A("mov %5,%10") /* %6:%5 =*/ + A("mov %6,%11") /* f = %10:%11*/ + + /* umul16x24to24hi(v, f, bezier_A); / Range 21bits [29]*/ + /* acc -= v; */ + A("lds %10, bezier_A") /* %10 = LO(bezier_A)*/ + A("mul %10,%5") /* r1:r0 = LO(bezier_A) * LO(f)*/ + A("sub %9,r1") + A("sbc %2,%0") + A("sbc %3,%0") + A("sbc %4,%0") /* %4:%3:%2:%9 -= HI(LO(bezier_A) * LO(f))*/ + A("lds %11, bezier_A+1") /* %11 = MI(bezier_A)*/ + A("mul %11,%5") /* r1:r0 = MI(bezier_A) * LO(f)*/ + A("sub %9,r0") + A("sbc %2,r1") + A("sbc %3,%0") + A("sbc %4,%0") /* %4:%3:%2:%9 -= MI(bezier_A) * LO(f)*/ + A("lds %1, bezier_A+2") /* %1 = HI(bezier_A)*/ + A("mul %1,%5") /* r1:r0 = MI(bezier_A) * LO(f)*/ + A("sub %2,r0") + A("sbc %3,r1") + A("sbc %4,%0") /* %4:%3:%2:%9 -= HI(bezier_A) * LO(f) << 8*/ + A("mul %10,%6") /* r1:r0 = LO(bezier_A) * MI(f)*/ + A("sub %9,r0") + A("sbc %2,r1") + A("sbc %3,%0") + A("sbc %4,%0") /* %4:%3:%2:%9 -= LO(bezier_A) * MI(f)*/ + A("mul %11,%6") /* r1:r0 = MI(bezier_A) * MI(f)*/ + A("sub %2,r0") + A("sbc %3,r1") + A("sbc %4,%0") /* %4:%3:%2:%9 -= MI(bezier_A) * MI(f) << 8*/ + A("mul %1,%6") /* r1:r0 = HI(bezier_A) * LO(f)*/ + A("sub %3,r0") + A("sbc %4,r1") /* %4:%3:%2:%9 -= HI(bezier_A) * LO(f) << 16*/ + A("jmp 2f") /* Done!*/ + + L("1") + + /* uint24_t v; */ + /* umul16x24to24hi(v, f, bezier_C); / Range 21bits [29]*/ + /* acc += v; */ + A("lds %10, bezier_C") /* %10 = LO(bezier_C)*/ + A("mul %10,%5") /* r1:r0 = LO(bezier_C) * LO(f)*/ + A("add %9,r1") + A("adc %2,%0") + A("adc %3,%0") + A("adc %4,%0") /* %4:%3:%2:%9 += HI(LO(bezier_C) * LO(f))*/ + A("lds %11, bezier_C+1") /* %11 = MI(bezier_C)*/ + A("mul %11,%5") /* r1:r0 = MI(bezier_C) * LO(f)*/ + A("add %9,r0") + A("adc %2,r1") + A("adc %3,%0") + A("adc %4,%0") /* %4:%3:%2:%9 += MI(bezier_C) * LO(f)*/ + A("lds %1, bezier_C+2") /* %1 = HI(bezier_C)*/ + A("mul %1,%5") /* r1:r0 = MI(bezier_C) * LO(f)*/ + A("add %2,r0") + A("adc %3,r1") + A("adc %4,%0") /* %4:%3:%2:%9 += HI(bezier_C) * LO(f) << 8*/ + A("mul %10,%6") /* r1:r0 = LO(bezier_C) * MI(f)*/ + A("add %9,r0") + A("adc %2,r1") + A("adc %3,%0") + A("adc %4,%0") /* %4:%3:%2:%9 += LO(bezier_C) * MI(f)*/ + A("mul %11,%6") /* r1:r0 = MI(bezier_C) * MI(f)*/ + A("add %2,r0") + A("adc %3,r1") + A("adc %4,%0") /* %4:%3:%2:%9 += MI(bezier_C) * MI(f) << 8*/ + A("mul %1,%6") /* r1:r0 = HI(bezier_C) * LO(f)*/ + A("add %3,r0") + A("adc %4,r1") /* %4:%3:%2:%9 += HI(bezier_C) * LO(f) << 16*/ + + /* umul16x16to16hi(f, f, t); / Range 16 bits : f = t^3 (unsigned) [17]*/ + A("mul %5,%7") /* r1:r0 = LO(f) * LO(t)*/ + A("mov %1,r1") /* store MIL(LO(f) * LO(t)) in %1, we need it for rounding*/ + A("clr %10") /* %10 = 0*/ + A("clr %11") /* %11 = 0*/ + A("mul %5,%8") /* r1:r0 = LO(f) * HI(t)*/ + A("add %1,r0") /* %1 += LO(LO(f) * HI(t))*/ + A("adc %10,r1") /* %10 = HI(LO(f) * HI(t))*/ + A("adc %11,%0") /* %11 += carry*/ + A("mul %6,%7") /* r1:r0 = HI(f) * LO(t)*/ + A("add %1,r0") /* %1 += LO(HI(f) * LO(t))*/ + A("adc %10,r1") /* %10 += HI(HI(f) * LO(t))*/ + A("adc %11,%0") /* %11 += carry*/ + A("mul %6,%8") /* r1:r0 = HI(f) * HI(t)*/ + A("add %10,r0") /* %10 += LO(HI(f) * HI(t))*/ + A("adc %11,r1") /* %11 += HI(HI(f) * HI(t))*/ + A("mov %5,%10") /* %6:%5 =*/ + A("mov %6,%11") /* f = %10:%11*/ + + /* umul16x24to24hi(v, f, bezier_B); / Range 22bits [29]*/ + /* acc -= v;*/ + A("lds %10, bezier_B") /* %10 = LO(bezier_B)*/ + A("mul %10,%5") /* r1:r0 = LO(bezier_B) * LO(f)*/ + A("sub %9,r1") + A("sbc %2,%0") + A("sbc %3,%0") + A("sbc %4,%0") /* %4:%3:%2:%9 -= HI(LO(bezier_B) * LO(f))*/ + A("lds %11, bezier_B+1") /* %11 = MI(bezier_B)*/ + A("mul %11,%5") /* r1:r0 = MI(bezier_B) * LO(f)*/ + A("sub %9,r0") + A("sbc %2,r1") + A("sbc %3,%0") + A("sbc %4,%0") /* %4:%3:%2:%9 -= MI(bezier_B) * LO(f)*/ + A("lds %1, bezier_B+2") /* %1 = HI(bezier_B)*/ + A("mul %1,%5") /* r1:r0 = MI(bezier_B) * LO(f)*/ + A("sub %2,r0") + A("sbc %3,r1") + A("sbc %4,%0") /* %4:%3:%2:%9 -= HI(bezier_B) * LO(f) << 8*/ + A("mul %10,%6") /* r1:r0 = LO(bezier_B) * MI(f)*/ + A("sub %9,r0") + A("sbc %2,r1") + A("sbc %3,%0") + A("sbc %4,%0") /* %4:%3:%2:%9 -= LO(bezier_B) * MI(f)*/ + A("mul %11,%6") /* r1:r0 = MI(bezier_B) * MI(f)*/ + A("sub %2,r0") + A("sbc %3,r1") + A("sbc %4,%0") /* %4:%3:%2:%9 -= MI(bezier_B) * MI(f) << 8*/ + A("mul %1,%6") /* r1:r0 = HI(bezier_B) * LO(f)*/ + A("sub %3,r0") + A("sbc %4,r1") /* %4:%3:%2:%9 -= HI(bezier_B) * LO(f) << 16*/ + + /* umul16x16to16hi(f, f, t); / Range 16 bits : f = t^5 (unsigned) [17]*/ + A("mul %5,%7") /* r1:r0 = LO(f) * LO(t)*/ + A("mov %1,r1") /* store MIL(LO(f) * LO(t)) in %1, we need it for rounding*/ + A("clr %10") /* %10 = 0*/ + A("clr %11") /* %11 = 0*/ + A("mul %5,%8") /* r1:r0 = LO(f) * HI(t)*/ + A("add %1,r0") /* %1 += LO(LO(f) * HI(t))*/ + A("adc %10,r1") /* %10 = HI(LO(f) * HI(t))*/ + A("adc %11,%0") /* %11 += carry*/ + A("mul %6,%7") /* r1:r0 = HI(f) * LO(t)*/ + A("add %1,r0") /* %1 += LO(HI(f) * LO(t))*/ + A("adc %10,r1") /* %10 += HI(HI(f) * LO(t))*/ + A("adc %11,%0") /* %11 += carry*/ + A("mul %6,%8") /* r1:r0 = HI(f) * HI(t)*/ + A("add %10,r0") /* %10 += LO(HI(f) * HI(t))*/ + A("adc %11,r1") /* %11 += HI(HI(f) * HI(t))*/ + A("mov %5,%10") /* %6:%5 =*/ + A("mov %6,%11") /* f = %10:%11*/ + + /* umul16x24to24hi(v, f, bezier_A); / Range 21bits [29]*/ + /* acc += v; */ + A("lds %10, bezier_A") /* %10 = LO(bezier_A)*/ + A("mul %10,%5") /* r1:r0 = LO(bezier_A) * LO(f)*/ + A("add %9,r1") + A("adc %2,%0") + A("adc %3,%0") + A("adc %4,%0") /* %4:%3:%2:%9 += HI(LO(bezier_A) * LO(f))*/ + A("lds %11, bezier_A+1") /* %11 = MI(bezier_A)*/ + A("mul %11,%5") /* r1:r0 = MI(bezier_A) * LO(f)*/ + A("add %9,r0") + A("adc %2,r1") + A("adc %3,%0") + A("adc %4,%0") /* %4:%3:%2:%9 += MI(bezier_A) * LO(f)*/ + A("lds %1, bezier_A+2") /* %1 = HI(bezier_A)*/ + A("mul %1,%5") /* r1:r0 = MI(bezier_A) * LO(f)*/ + A("add %2,r0") + A("adc %3,r1") + A("adc %4,%0") /* %4:%3:%2:%9 += HI(bezier_A) * LO(f) << 8*/ + A("mul %10,%6") /* r1:r0 = LO(bezier_A) * MI(f)*/ + A("add %9,r0") + A("adc %2,r1") + A("adc %3,%0") + A("adc %4,%0") /* %4:%3:%2:%9 += LO(bezier_A) * MI(f)*/ + A("mul %11,%6") /* r1:r0 = MI(bezier_A) * MI(f)*/ + A("add %2,r0") + A("adc %3,r1") + A("adc %4,%0") /* %4:%3:%2:%9 += MI(bezier_A) * MI(f) << 8*/ + A("mul %1,%6") /* r1:r0 = HI(bezier_A) * LO(f)*/ + A("add %3,r0") + A("adc %4,r1") /* %4:%3:%2:%9 += HI(bezier_A) * LO(f) << 16*/ + L("2") + " clr __zero_reg__" /* C runtime expects r1 = __zero_reg__ = 0 */ + : "+r"(r0), + "+r"(r1), + "+r"(r2), + "+r"(r3), + "+r"(r4), + "+r"(r5), + "+r"(r6), + "+r"(r7), + "+r"(r8), + "+r"(r9), + "+r"(r10), + "+r"(r11) + : + :"cc","r0","r1" + ); + return (r2 | (uint16_t(r3) << 8)) | (uint32_t(r4) << 16); + } - // For non ARM targets, we provide a fallback implementation. Really doubt it - // will be useful, unless the processor is extremely fast. - - uint32_t t = bezier_AV * curr_step; // t: Range 0 - 1^32 = 32 bits - uint64_t f = t; - f *= t; // Range 32*2 = 64 bits (unsigned) - f >>= 32; // Range 32 bits (unsigned) - f *= t; // Range 32*2 = 64 bits (unsigned) - f >>= 32; // Range 32 bits : f = t^3 (unsigned) - int64_t acc = (int64_t) bezier_F << 31; // Range 63 bits (signed) - acc += ((uint32_t) f >> 1) * (int64_t) bezier_C; // Range 29bits + 31 = 60bits (plus sign) - f *= t; // Range 32*2 = 64 bits - f >>= 32; // Range 32 bits : f = t^3 (unsigned) - acc += ((uint32_t) f >> 1) * (int64_t) bezier_B; // Range 29bits + 31 = 60bits (plus sign) - f *= t; // Range 32*2 = 64 bits - f >>= 32; // Range 32 bits : f = t^3 (unsigned) - acc += ((uint32_t) f >> 1) * (int64_t) bezier_A; // Range 28bits + 31 = 59bits (plus sign) - acc >>= (31 + 7); // Range 24bits (plus sign) - return (int32_t) acc; + #else - #endif - } + // For all the other 32bit CPUs + FORCE_INLINE void Stepper::_calc_bezier_curve_coeffs(const int32_t v0, const int32_t v1, const uint32_t av) { + // Calculate the Bézier coefficients + bezier_A = 768 * (v1 - v0); + bezier_B = 1920 * (v0 - v1); + bezier_C = 1280 * (v1 - v0); + bezier_F = 128 * v0; + bezier_AV = av; + } + + FORCE_INLINE int32_t Stepper::_eval_bezier_curve(const uint32_t curr_step) { + #if defined(__ARM__) || defined(__thumb__) + + // For ARM Cortex M3/M4 CPUs, we have the optimized assembler version, that takes 43 cycles to execute + register uint32_t flo = 0; + register uint32_t fhi = bezier_AV * curr_step; + register uint32_t t = fhi; + register int32_t alo = bezier_F; + register int32_t ahi = 0; + register int32_t A = bezier_A; + register int32_t B = bezier_B; + register int32_t C = bezier_C; + + __asm__ __volatile__( + ".syntax unified" "\n\t" // is to prevent CM0,CM1 non-unified syntax + A("lsrs %[ahi],%[alo],#1") // a = F << 31 1 cycles + A("lsls %[alo],%[alo],#31") // 1 cycles + A("umull %[flo],%[fhi],%[fhi],%[t]") // f *= t 5 cycles [fhi:flo=64bits] + A("umull %[flo],%[fhi],%[fhi],%[t]") // f>>=32; f*=t 5 cycles [fhi:flo=64bits] + A("lsrs %[flo],%[fhi],#1") // 1 cycles [31bits] + A("smlal %[alo],%[ahi],%[flo],%[C]") // a+=(f>>33)*C; 5 cycles + A("umull %[flo],%[fhi],%[fhi],%[t]") // f>>=32; f*=t 5 cycles [fhi:flo=64bits] + A("lsrs %[flo],%[fhi],#1") // 1 cycles [31bits] + A("smlal %[alo],%[ahi],%[flo],%[B]") // a+=(f>>33)*B; 5 cycles + A("umull %[flo],%[fhi],%[fhi],%[t]") // f>>=32; f*=t 5 cycles [fhi:flo=64bits] + A("lsrs %[flo],%[fhi],#1") // f>>=33; 1 cycles [31bits] + A("smlal %[alo],%[ahi],%[flo],%[A]") // a+=(f>>33)*A; 5 cycles + A("lsrs %[alo],%[ahi],#6") // a>>=38 1 cycles + : [alo]"+r"( alo ) , + [flo]"+r"( flo ) , + [fhi]"+r"( fhi ) , + [ahi]"+r"( ahi ) , + [A]"+r"( A ) , // <== Note: Even if A, B, C, and t registers are INPUT ONLY + [B]"+r"( B ) , // GCC does bad optimizations on the code if we list them as + [C]"+r"( C ) , // such, breaking this function. So, to avoid that problem, + [t]"+r"( t ) // we list all registers as input-outputs. + : + : "cc" + ); + return alo; + + #else -#endif // BEZIER_JERK_CONTROL + // For non ARM targets, we provide a fallback implementation. Really doubt it + // will be useful, unless the processor is fast and 32bit + + uint32_t t = bezier_AV * curr_step; // t: Range 0 - 1^32 = 32 bits + uint64_t f = t; + f *= t; // Range 32*2 = 64 bits (unsigned) + f >>= 32; // Range 32 bits (unsigned) + f *= t; // Range 32*2 = 64 bits (unsigned) + f >>= 32; // Range 32 bits : f = t^3 (unsigned) + int64_t acc = (int64_t) bezier_F << 31; // Range 63 bits (signed) + acc += ((uint32_t) f >> 1) * (int64_t) bezier_C; // Range 29bits + 31 = 60bits (plus sign) + f *= t; // Range 32*2 = 64 bits + f >>= 32; // Range 32 bits : f = t^3 (unsigned) + acc += ((uint32_t) f >> 1) * (int64_t) bezier_B; // Range 29bits + 31 = 60bits (plus sign) + f *= t; // Range 32*2 = 64 bits + f >>= 32; // Range 32 bits : f = t^3 (unsigned) + acc += ((uint32_t) f >> 1) * (int64_t) bezier_A; // Range 28bits + 31 = 59bits (plus sign) + acc >>= (31 + 7); // Range 24bits (plus sign) + return (int32_t) acc; + + #endif + } + #endif +#endif // S_CURVE_ACCELERATION /** * Stepper Driver Interrupt * * Directly pulses the stepper motors at high frequency. - * - * AVR : - * Timer 1 runs at a base frequency of 2MHz, with this ISR using OCR1A compare mode. - * - * OCR1A Frequency - * 1 2 MHz - * 50 40 KHz - * 100 20 KHz - capped max rate - * 200 10 KHz - nominal max rate - * 2000 1 KHz - sleep rate - * 4000 500 Hz - init rate */ HAL_STEP_TIMER_ISR { HAL_timer_isr_prologue(STEP_TIMER_NUM); - #if ENABLED(LIN_ADVANCE) - Stepper::advance_isr_scheduler(); - #else - Stepper::isr(); - #endif -} - -void Stepper::isr() { - #define ENDSTOP_NOMINAL_OCR_VAL 1500 * HAL_TICKS_PER_US // Check endstops every 1.5ms to guarantee two stepper ISRs within 5ms for BLTouch - #define OCR_VAL_TOLERANCE 500 * HAL_TICKS_PER_US // First max delay is 2.0ms, last min delay is 0.5ms, all others 1.5ms + Stepper::isr(); - #if DISABLED(LIN_ADVANCE) - // Disable Timer0 ISRs and enable global ISR again to capture UART events (incoming chars) - DISABLE_TEMPERATURE_INTERRUPT(); // Temperature ISR - DISABLE_STEPPER_DRIVER_INTERRUPT(); - #ifndef CPU_32_BIT - sei(); - #endif - #endif + HAL_timer_isr_epilogue(STEP_TIMER_NUM); +} - hal_timer_t ocr_val; - static uint32_t step_remaining = 0; // SPLIT function always runs. This allows 16 bit timers to be - // used to generate the stepper ISR. - #define SPLIT(L) do { \ - if (L > ENDSTOP_NOMINAL_OCR_VAL) { \ - const uint32_t remainder = (uint32_t)L % (ENDSTOP_NOMINAL_OCR_VAL); \ - ocr_val = (remainder < OCR_VAL_TOLERANCE) ? ENDSTOP_NOMINAL_OCR_VAL + remainder : ENDSTOP_NOMINAL_OCR_VAL; \ - step_remaining = (uint32_t)L - ocr_val; \ - } \ - else \ - ocr_val = L;\ - }while(0) +#ifdef CPU_32_BIT + #define STEP_MULTIPLY(A,B) MultiU32X24toH32(A, B) +#else + #define STEP_MULTIPLY(A,B) MultiU24X32toH16(A, B) +#endif - // Time remaining before the next step? - if (step_remaining) { +void Stepper::isr() { + #ifndef __AVR__ + // Disable interrupts, to avoid ISR preemption while we reprogram the period + // (AVR enters the ISR with global interrupts disabled, so no need to do it here) + DISABLE_ISRS(); + #endif - // Make sure endstops are updated - if (ENDSTOPS_ENABLED) endstops.update(); + // Program timer compare for the maximum period, so it does NOT + // flag an interrupt while this ISR is running - So changes from small + // periods to big periods are respected and the timer does not reset to 0 + HAL_timer_set_compare(STEP_TIMER_NUM, HAL_TIMER_TYPE_MAX); - // Next ISR either for endstops or stepping - ocr_val = step_remaining <= ENDSTOP_NOMINAL_OCR_VAL ? step_remaining : ENDSTOP_NOMINAL_OCR_VAL; - step_remaining -= ocr_val; - _NEXT_ISR(ocr_val); + // Count of ticks for the next ISR + hal_timer_t next_isr_ticks = 0; - #if DISABLED(LIN_ADVANCE) - HAL_timer_restrain(STEP_TIMER_NUM, STEP_TIMER_MIN_INTERVAL * HAL_TICKS_PER_US); - HAL_ENABLE_ISRs(); - #endif + // Limit the amount of iterations + uint8_t max_loops = 10; - return; - } + // We need this variable here to be able to use it in the following loop + hal_timer_t min_ticks; + do { + // Enable ISRs to reduce USART processing latency + ENABLE_ISRS(); - // - // When cleaning, discard the current block and run fast - // - if (cleaning_buffer_counter) { - if (cleaning_buffer_counter < 0) { // Count up for endstop hit - if (current_block) planner.discard_current_block(); // Discard the active block that led to the trigger - if (!planner.discard_continued_block()) // Discard next CONTINUED block - cleaning_buffer_counter = 0; // Keep discarding until non-CONTINUED - } - else { - planner.discard_current_block(); - --cleaning_buffer_counter; // Count down for abort print - #if ENABLED(SD_FINISHED_STEPPERRELEASE) && defined(SD_FINISHED_RELEASECOMMAND) - if (!cleaning_buffer_counter) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); - #endif - } - current_block = NULL; // Prep to get a new block after cleaning - _NEXT_ISR(HAL_STEPPER_TIMER_RATE / 10000); // Run at max speed - 10 KHz - HAL_ENABLE_ISRs(); - return; - } + // Run main stepping pulse phase ISR if we have to + if (!nextMainISR) Stepper::stepper_pulse_phase_isr(); - // If there is no current block, attempt to pop one from the buffer - if (!current_block) { + #if ENABLED(LIN_ADVANCE) + // Run linear advance stepper ISR if we have to + if (!nextAdvanceISR) nextAdvanceISR = Stepper::advance_isr(); + #endif - // Anything in the buffer? - if ((current_block = planner.get_current_block())) { + // ^== Time critical. NOTHING besides pulse generation should be above here!!! - // Initialize the trapezoid generator from the current block. - static int8_t last_extruder = -1; + // Run main stepping block processing ISR if we have to + if (!nextMainISR) nextMainISR = Stepper::stepper_block_phase_isr(); + uint32_t interval = #if ENABLED(LIN_ADVANCE) - #if E_STEPPERS > 1 - if (current_block->active_extruder != last_extruder) { - current_adv_steps = 0; // If the now active extruder wasn't in use during the last move, its pressure is most likely gone. - LA_active_extruder = current_block->active_extruder; - } - #endif - - if ((use_advance_lead = current_block->use_advance_lead)) { - LA_decelerate_after = current_block->decelerate_after; - final_adv_steps = current_block->final_adv_steps; - max_adv_steps = current_block->max_adv_steps; - } + MIN(nextAdvanceISR, nextMainISR) // Nearest time interval + #else + nextMainISR // Remaining stepper ISR time #endif + ; - if (current_block->direction_bits != last_direction_bits || current_block->active_extruder != last_extruder) { - last_direction_bits = current_block->direction_bits; - last_extruder = current_block->active_extruder; - set_directions(); - } + // Limit the value to the maximum possible value of the timer + NOMORE(interval, HAL_TIMER_TYPE_MAX); - // No acceleration / deceleration time elapsed so far - acceleration_time = deceleration_time = 0; + // Compute the time remaining for the main isr + nextMainISR -= interval; - // No step events completed so far - step_events_completed = 0; + #if ENABLED(LIN_ADVANCE) + // Compute the time remaining for the advance isr + if (nextAdvanceISR != LA_ADV_NEVER) nextAdvanceISR -= interval; + #endif - // step_rate to timer interval - OCR1A_nominal = calc_timer_interval(current_block->nominal_rate); + /** + * This needs to avoid a race-condition caused by interleaving + * of interrupts required by both the LA and Stepper algorithms. + * + * Assume the following tick times for stepper pulses: + * Stepper ISR (S): 1 1000 2000 3000 4000 + * Linear Adv. (E): 10 1010 2010 3010 4010 + * + * The current algorithm tries to interleave them, giving: + * 1:S 10:E 1000:S 1010:E 2000:S 2010:E 3000:S 3010:E 4000:S 4010:E + * + * Ideal timing would yield these delta periods: + * 1:S 9:E 990:S 10:E 990:S 10:E 990:S 10:E 990:S 10:E + * + * But, since each event must fire an ISR with a minimum duration, the + * minimum delta might be 900, so deltas under 900 get rounded up: + * 900:S d900:E d990:S d900:E d990:S d900:E d990:S d900:E d990:S d900:E + * + * It works, but divides the speed of all motors by half, leading to a sudden + * reduction to 1/2 speed! Such jumps in speed lead to lost steps (not even + * accounting for double/quad stepping, which makes it even worse). + */ - // make a note of the number of step loops required at nominal speed - step_loops_nominal = step_loops; + // Compute the tick count for the next ISR + next_isr_ticks += interval; - #if DISABLED(BEZIER_JERK_CONTROL) - // Set as deceleration point the initial rate of the block - acc_step_rate = current_block->initial_rate; + /** + * The following section must be done with global interrupts disabled. + * We want nothing to interrupt it, as that could mess the calculations + * we do for the next value to program in the period register of the + * stepper timer and lead to skipped ISRs (if the value we happen to program + * is less than the current count due to something preempting between the + * read and the write of the new period value). + */ + DISABLE_ISRS(); + + /** + * Get the current tick value + margin + * Assuming at least 6µs between calls to this ISR... + * On AVR the ISR epilogue+prologue is estimated at 100 instructions - Give 8µs as margin + * On ARM the ISR epilogue+prologue is estimated at 20 instructions - Give 1µs as margin + */ + min_ticks = HAL_timer_get_count(STEP_TIMER_NUM) + hal_timer_t( + #ifdef __AVR__ + 8 + #else + 1 #endif + * (STEPPER_TIMER_TICKS_PER_US) + ); - #if ENABLED(BEZIER_JERK_CONTROL) - // Initialize the Bézier speed curve - _calc_bezier_curve_coeffs(current_block->initial_rate, current_block->cruise_rate, current_block->acceleration_time); + /** + * NB: If for some reason the stepper monopolizes the MPU, eventually the + * timer will wrap around (and so will 'next_isr_ticks'). So, limit the + * loop to 10 iterations. Beyond that, there's no way to ensure correct pulse + * timing, since the MCU isn't fast enough. + */ + if (!--max_loops) next_isr_ticks = min_ticks; - // We have not started the 2nd half of the trapezoid - bezier_2nd_half = false; - #endif + // Advance pulses if not enough time to wait for the next ISR + } while (next_isr_ticks < min_ticks); - // Initialize Bresenham counters to 1/2 the ceiling - counter_X = counter_Y = counter_Z = counter_E = -(current_block->step_event_count >> 1); - #if ENABLED(MIXING_EXTRUDER) - MIXING_STEPPERS_LOOP(i) - counter_m[i] = -(current_block->mix_event_count[i] >> 1); - #endif + // Now 'next_isr_ticks' contains the period to the next Stepper ISR - And we are + // sure that the time has not arrived yet - Warrantied by the scheduler - #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) - e_hit = 2; // Needed for the case an endstop is already triggered before the new move begins. - // No 'change' can be detected. - #endif + // Set the next ISR to fire at the proper time + HAL_timer_set_compare(STEP_TIMER_NUM, hal_timer_t(next_isr_ticks)); - #if ENABLED(Z_LATE_ENABLE) - // If delayed Z enable, postpone move for 1mS - if (current_block->steps[Z_AXIS] > 0) { - enable_Z(); - _NEXT_ISR(HAL_STEPPER_TIMER_RATE / 1000); // Run at slow speed - 1 KHz - HAL_ENABLE_ISRs(); - return; - } - #endif - } - else { - // If no more queued moves, postpone next check for 1mS - _NEXT_ISR(HAL_STEPPER_TIMER_RATE / 1000); // Run at slow speed - 1 KHz - HAL_ENABLE_ISRs(); - return; + // Don't forget to finally reenable interrupts + ENABLE_ISRS(); +} + +/** + * This phase of the ISR should ONLY create the pulses for the steppers. + * This prevents jitter caused by the interval between the start of the + * interrupt and the start of the pulses. DON'T add any logic ahead of the + * call to this method that might cause variation in the timing. The aim + * is to keep pulse timing as regular as possible. + */ +void Stepper::stepper_pulse_phase_isr() { + + // If we must abort the current block, do so! + if (abort_current_block) { + abort_current_block = false; + if (current_block) { + axis_did_move = 0; + current_block = NULL; + planner.discard_current_block(); } } - // Update endstops state, if enabled - #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) - if (e_hit && ENDSTOPS_ENABLED) { - endstops.update(); - e_hit--; - } - #else - if (ENDSTOPS_ENABLED) endstops.update(); - #endif + // If there is no current block, do nothing + if (!current_block) return; + + // Count of pending loops and events for this iteration + const uint32_t pending_events = step_event_count - step_events_completed; + uint8_t events_to_do = MIN(pending_events, steps_per_isr); + + // Just update the value we will get at the end of the loop + step_events_completed += events_to_do; + + // Get the timer count and estimate the end of the pulse + hal_timer_t pulse_end = HAL_timer_get_count(PULSE_TIMER_NUM) + hal_timer_t(MIN_PULSE_TICKS); + + const hal_timer_t added_step_ticks = hal_timer_t(ADDED_STEP_TICKS); // Take multiple steps per interrupt (For high speed moves) - bool all_steps_done = false; - for (uint8_t i = step_loops; i--;) { + do { - #define _COUNTER(AXIS) counter_## AXIS #define _APPLY_STEP(AXIS) AXIS ##_APPLY_STEP #define _INVERT_STEP_PIN(AXIS) INVERT_## AXIS ##_STEP_PIN - // Advance the Bresenham counter; start a pulse if the axis needs a step + // Start an active pulse, if Bresenham says so, and update position #define PULSE_START(AXIS) do{ \ - _COUNTER(AXIS) += current_block->steps[_AXIS(AXIS)]; \ - if (_COUNTER(AXIS) > 0) { _APPLY_STEP(AXIS)(!_INVERT_STEP_PIN(AXIS), 0); } \ - }while(0) - - // Advance the Bresenham counter; start a pulse if the axis needs a step - #define STEP_TICK(AXIS) do { \ - if (_COUNTER(AXIS) > 0) { \ - _COUNTER(AXIS) -= current_block->step_event_count; \ + delta_error[_AXIS(AXIS)] += advance_dividend[_AXIS(AXIS)]; \ + if (delta_error[_AXIS(AXIS)] >= 0) { \ + _APPLY_STEP(AXIS)(!_INVERT_STEP_PIN(AXIS), 0); \ count_position[_AXIS(AXIS)] += count_direction[_AXIS(AXIS)]; \ } \ }while(0) - // Stop an active pulse, if any - #define PULSE_STOP(AXIS) _APPLY_STEP(AXIS)(_INVERT_STEP_PIN(AXIS), 0) - - /** - * Estimate the number of cycles that the stepper logic already takes - * up between the start and stop of the X stepper pulse. - * - * Currently this uses very modest estimates of around 5 cycles. - * True values may be derived by careful testing. - * - * Once any delay is added, the cost of the delay code itself - * may be subtracted from this value to get a more accurate delay. - * Delays under 20 cycles (1.25µs) will be very accurate, using NOPs. - * Longer delays use a loop. The resolution is 8 cycles. - */ - #if HAS_X_STEP - #define _CYCLE_APPROX_1 5 - #else - #define _CYCLE_APPROX_1 0 - #endif - #if ENABLED(X_DUAL_STEPPER_DRIVERS) - #define _CYCLE_APPROX_2 _CYCLE_APPROX_1 + 4 - #else - #define _CYCLE_APPROX_2 _CYCLE_APPROX_1 - #endif - #if HAS_Y_STEP - #define _CYCLE_APPROX_3 _CYCLE_APPROX_2 + 5 - #else - #define _CYCLE_APPROX_3 _CYCLE_APPROX_2 - #endif - #if ENABLED(Y_DUAL_STEPPER_DRIVERS) - #define _CYCLE_APPROX_4 _CYCLE_APPROX_3 + 4 - #else - #define _CYCLE_APPROX_4 _CYCLE_APPROX_3 - #endif - #if HAS_Z_STEP - #define _CYCLE_APPROX_5 _CYCLE_APPROX_4 + 5 - #else - #define _CYCLE_APPROX_5 _CYCLE_APPROX_4 - #endif - #if ENABLED(Z_DUAL_STEPPER_DRIVERS) - #define _CYCLE_APPROX_6 _CYCLE_APPROX_5 + 4 - #else - #define _CYCLE_APPROX_6 _CYCLE_APPROX_5 - #endif - #if DISABLED(LIN_ADVANCE) - #if ENABLED(MIXING_EXTRUDER) - #define _CYCLE_APPROX_7 _CYCLE_APPROX_6 + (MIXING_STEPPERS) * 6 - #else - #define _CYCLE_APPROX_7 _CYCLE_APPROX_6 + 5 - #endif - #else - #define _CYCLE_APPROX_7 _CYCLE_APPROX_6 - #endif - - #define CYCLES_EATEN_XYZE _CYCLE_APPROX_7 - #define EXTRA_CYCLES_XYZE (STEP_PULSE_CYCLES - (CYCLES_EATEN_XYZE)) - - /** - * If a minimum pulse time was specified get the timer 0 value. - * - * On AVR the TCNT0 timer has an 8x prescaler, so it increments every 8 cycles. - * That's every 0.5µs on 16MHz and every 0.4µs on 20MHz. - * 20 counts of TCNT0 -by itself- is a good pulse delay. - * 10µs = 160 or 200 cycles. - */ - #if EXTRA_CYCLES_XYZE > 20 - hal_timer_t pulse_start = HAL_timer_get_count(PULSE_TIMER_NUM); - #endif + // Stop an active pulse, if any, and adjust error term + #define PULSE_STOP(AXIS) do { \ + if (delta_error[_AXIS(AXIS)] >= 0) { \ + delta_error[_AXIS(AXIS)] -= advance_divisor; \ + _APPLY_STEP(AXIS)(_INVERT_STEP_PIN(AXIS), 0); \ + } \ + }while(0) + // Pulse start #if HAS_X_STEP PULSE_START(X); #endif @@ -808,64 +1360,49 @@ void Stepper::isr() { PULSE_START(Z); #endif + // Pulse E/Mixing extruders #if ENABLED(LIN_ADVANCE) - counter_E += current_block->steps[E_AXIS]; - if (counter_E > 0) { - #if DISABLED(MIXING_EXTRUDER) - // Don't step E here for mixing extruder - motor_direction(E_AXIS) ? --e_steps : ++e_steps; - #endif + // Tick the E axis, correct error term and update position + delta_error[E_AXIS] += advance_dividend[E_AXIS]; + if (delta_error[E_AXIS] >= 0) { + count_position[E_AXIS] += count_direction[E_AXIS]; + delta_error[E_AXIS] -= advance_divisor; + + // Don't step E here - But remember the number of steps to perform + motor_direction(E_AXIS) ? --LA_steps : ++LA_steps; } - + #else // !LIN_ADVANCE - use linear interpolation for E also #if ENABLED(MIXING_EXTRUDER) - // Step mixing steppers proportionally - const bool dir = motor_direction(E_AXIS); - MIXING_STEPPERS_LOOP(j) { - counter_m[j] += current_block->steps[E_AXIS]; - if (counter_m[j] > 0) { - counter_m[j] -= current_block->mix_event_count[j]; - dir ? --e_steps[j] : ++e_steps[j]; - } - } - #endif - #else // !LIN_ADVANCE - use linear interpolation for E also + // Tick the E axis + delta_error[E_AXIS] += advance_dividend[E_AXIS]; + if (delta_error[E_AXIS] >= 0) { + count_position[E_AXIS] += count_direction[E_AXIS]; + delta_error[E_AXIS] -= advance_divisor; + } - #if ENABLED(MIXING_EXTRUDER) - // Keep updating the single E axis - counter_E += current_block->steps[E_AXIS]; - // Tick the counters used for this mix + // Tick the counters used for this mix in proper proportion MIXING_STEPPERS_LOOP(j) { // Step mixing steppers (proportionally) - counter_m[j] += current_block->steps[E_AXIS]; + delta_error_m[j] += advance_dividend_m[j]; // Step when the counter goes over zero - if (counter_m[j] > 0) En_STEP_WRITE(j, !INVERT_E_STEP_PIN); + if (delta_error_m[j] >= 0) E_STEP_WRITE(j, !INVERT_E_STEP_PIN); } + #else // !MIXING_EXTRUDER PULSE_START(E); #endif #endif // !LIN_ADVANCE - #if HAS_X_STEP - STEP_TICK(X); - #endif - #if HAS_Y_STEP - STEP_TICK(Y); - #endif - #if HAS_Z_STEP - STEP_TICK(Z); + #if MINIMUM_STEPPER_PULSE + // Just wait for the requested pulse duration + while (HAL_timer_get_count(PULSE_TIMER_NUM) < pulse_end) { /* nada */ } #endif - STEP_TICK(E); // Always tick the single E axis - - // For minimum pulse time wait before stopping pulses - #if EXTRA_CYCLES_XYZE > 20 - while (EXTRA_CYCLES_XYZE > (uint32_t)(HAL_timer_get_count(PULSE_TIMER_NUM) - pulse_start) * (PULSE_TIMER_PRESCALE)) { /* nada */ } - pulse_start = HAL_timer_get_count(PULSE_TIMER_NUM); - #elif EXTRA_CYCLES_XYZE > 0 - DELAY_NOPS(EXTRA_CYCLES_XYZE); - #endif + // Add the delay needed to ensure the maximum driver rate is enforced + if (signed(added_step_ticks) > 0) pulse_end += hal_timer_t(added_step_ticks); + // Pulse stop #if HAS_X_STEP PULSE_STOP(X); #endif @@ -879,9 +1416,9 @@ void Stepper::isr() { #if DISABLED(LIN_ADVANCE) #if ENABLED(MIXING_EXTRUDER) MIXING_STEPPERS_LOOP(j) { - if (counter_m[j] > 0) { - counter_m[j] -= current_block->mix_event_count[j]; - En_STEP_WRITE(j, INVERT_E_STEP_PIN); + if (delta_error_m[j] >= 0) { + delta_error_m[j] -= advance_divisor_m; + E_STEP_WRITE(j, INVERT_E_STEP_PIN); } } #else // !MIXING_EXTRUDER @@ -889,303 +1426,483 @@ void Stepper::isr() { #endif #endif // !LIN_ADVANCE - if (++step_events_completed >= current_block->step_event_count) { - all_steps_done = true; - break; - } + // Decrement the count of pending pulses to do + --events_to_do; // For minimum pulse time wait after stopping pulses also - #if EXTRA_CYCLES_XYZE > 20 - if (i) while (EXTRA_CYCLES_XYZE > (uint32_t)(HAL_timer_get_count(PULSE_TIMER_NUM) - pulse_start) * (PULSE_TIMER_PRESCALE)) { /* nada */ } - #elif EXTRA_CYCLES_XYZE > 0 - if (i) DELAY_NOPS(EXTRA_CYCLES_XYZE); - #endif + if (events_to_do) { + // Just wait for the requested pulse duration + while (HAL_timer_get_count(PULSE_TIMER_NUM) < pulse_end) { /* nada */ } + #if MINIMUM_STEPPER_PULSE + // Add to the value, the time that the pulse must be active (to be used on the next loop) + pulse_end += hal_timer_t(MIN_PULSE_TICKS); + #endif + } - } // steps_loop + } while (events_to_do); +} - // Calculate new timer value - if (step_events_completed <= (uint32_t)current_block->accelerate_until) { +// This is the last half of the stepper interrupt: This one processes and +// properly schedules blocks from the planner. This is executed after creating +// the step pulses, so it is not time critical, as pulses are already done. - #if ENABLED(BEZIER_JERK_CONTROL) - // Get the next speed to use (Jerk limited!) - hal_timer_t acc_step_rate = - acceleration_time < current_block->acceleration_time - ? _eval_bezier_curve(acceleration_time) - : current_block->cruise_rate; - #else - #ifdef CPU_32_BIT - MultiU32X24toH32(acc_step_rate, acceleration_time, current_block->acceleration_rate); - #else - MultiU24X32toH16(acc_step_rate, acceleration_time, current_block->acceleration_rate); - #endif - acc_step_rate += current_block->initial_rate; +uint32_t Stepper::stepper_block_phase_isr() { - // upper limit - NOMORE(acc_step_rate, current_block->nominal_rate); - #endif + // If no queued movements, just wait 1ms for the next move + uint32_t interval = (STEPPER_TIMER_RATE / 1000); - // step_rate to timer interval - const hal_timer_t interval = calc_timer_interval(acc_step_rate); + // If there is a current block + if (current_block) { - SPLIT(interval); // split step into multiple ISRs if larger than ENDSTOP_NOMINAL_OCR_VAL - _NEXT_ISR(ocr_val); + // If current block is finished, reset pointer + if (step_events_completed >= step_event_count) { + axis_did_move = 0; + current_block = NULL; + planner.discard_current_block(); + } + else { + // Step events not completed yet... + + // Are we in acceleration phase ? + if (step_events_completed <= accelerate_until) { // Calculate new timer value + + #if ENABLED(S_CURVE_ACCELERATION) + // Get the next speed to use (Jerk limited!) + uint32_t acc_step_rate = + acceleration_time < current_block->acceleration_time + ? _eval_bezier_curve(acceleration_time) + : current_block->cruise_rate; + #else + acc_step_rate = STEP_MULTIPLY(acceleration_time, current_block->acceleration_rate) + current_block->initial_rate; + NOMORE(acc_step_rate, current_block->nominal_rate); + #endif - acceleration_time += interval; + // acc_step_rate is in steps/second - #if ENABLED(LIN_ADVANCE) - if (current_block->use_advance_lead) { - if (step_events_completed == step_loops || (e_steps && eISR_Rate != current_block->advance_speed)) { - nextAdvanceISR = 0; // Wake up eISR on first acceleration loop and fire ISR if final adv_rate is reached - eISR_Rate = current_block->advance_speed; - } + // step_rate to timer interval and steps per stepper isr + interval = calc_timer_interval(acc_step_rate, oversampling_factor, &steps_per_isr); + acceleration_time += interval; + + #if ENABLED(LIN_ADVANCE) + if (LA_use_advance_lead) { + // Wake up eISR on first acceleration loop and fire ISR if final adv_rate is reached + if (step_events_completed == steps_per_isr || (LA_steps && LA_isr_rate != current_block->advance_speed)) { + nextAdvanceISR = 0; + LA_isr_rate = current_block->advance_speed; + } + } + else { + LA_isr_rate = LA_ADV_NEVER; + if (LA_steps) nextAdvanceISR = 0; + } + #endif // LIN_ADVANCE } + // Are we in Deceleration phase ? + else if (step_events_completed > decelerate_after) { + uint32_t step_rate; + + #if ENABLED(S_CURVE_ACCELERATION) + // If this is the 1st time we process the 2nd half of the trapezoid... + if (!bezier_2nd_half) { + // Initialize the Bézier speed curve + _calc_bezier_curve_coeffs(current_block->cruise_rate, current_block->final_rate, current_block->deceleration_time_inverse); + bezier_2nd_half = true; + // The first point starts at cruise rate. Just save evaluation of the Bézier curve + step_rate = current_block->cruise_rate; + } + else { + // Calculate the next speed to use + step_rate = deceleration_time < current_block->deceleration_time + ? _eval_bezier_curve(deceleration_time) + : current_block->final_rate; + } + #else + + // Using the old trapezoidal control + step_rate = STEP_MULTIPLY(deceleration_time, current_block->acceleration_rate); + if (step_rate < acc_step_rate) { // Still decelerating? + step_rate = acc_step_rate - step_rate; + NOLESS(step_rate, current_block->final_rate); + } + else + step_rate = current_block->final_rate; + #endif + + // step_rate is in steps/second + + // step_rate to timer interval and steps per stepper isr + interval = calc_timer_interval(step_rate, oversampling_factor, &steps_per_isr); + deceleration_time += interval; + + #if ENABLED(LIN_ADVANCE) + if (LA_use_advance_lead) { + if (step_events_completed <= decelerate_after + steps_per_isr || + (LA_steps && LA_isr_rate != current_block->advance_speed) + ) { + nextAdvanceISR = 0; // Wake up eISR on first deceleration loop + LA_isr_rate = current_block->advance_speed; + } + } + else { + LA_isr_rate = LA_ADV_NEVER; + if (LA_steps) nextAdvanceISR = 0; + } + #endif // LIN_ADVANCE + } + // We must be in cruise phase otherwise else { - eISR_Rate = ADV_NEVER; - if (e_steps) nextAdvanceISR = 0; + + #if ENABLED(LIN_ADVANCE) + // If there are any esteps, fire the next advance_isr "now" + if (LA_steps && LA_isr_rate != current_block->advance_speed) nextAdvanceISR = 0; + #endif + + // Calculate the ticks_nominal for this nominal speed, if not done yet + if (ticks_nominal < 0) { + // step_rate to timer interval and loops for the nominal speed + ticks_nominal = calc_timer_interval(current_block->nominal_rate, oversampling_factor, &steps_per_isr); + } + + // The timer interval is just the nominal value for the nominal speed + interval = ticks_nominal; } - #endif // LIN_ADVANCE + } } - else if (step_events_completed > (uint32_t)current_block->decelerate_after) { - hal_timer_t step_rate; - #if ENABLED(BEZIER_JERK_CONTROL) - // If this is the 1st time we process the 2nd half of the trapezoid... - if (!bezier_2nd_half) { + // If there is no current block at this point, attempt to pop one from the buffer + // and prepare its movement + if (!current_block) { - // Initialize the Bézier speed curve - _calc_bezier_curve_coeffs(current_block->cruise_rate, current_block->final_rate, current_block->deceleration_time); - bezier_2nd_half = true; + // Anything in the buffer? + if ((current_block = planner.get_current_block())) { + + // Sync block? Sync the stepper counts and return + while (TEST(current_block->flag, BLOCK_BIT_SYNC_POSITION)) { + _set_position( + current_block->position[A_AXIS], current_block->position[B_AXIS], + current_block->position[C_AXIS], current_block->position[E_AXIS] + ); + planner.discard_current_block(); + + // Try to get a new block + if (!(current_block = planner.get_current_block())) + return interval; // No more queued movements! } - // Calculate the next speed to use - step_rate = deceleration_time < current_block->deceleration_time - ? _eval_bezier_curve(deceleration_time) - : current_block->final_rate; - #else + // Flag all moving axes for proper endstop handling + + #if IS_CORE + // Define conditions for checking endstops + #define S_(N) current_block->steps[CORE_AXIS_##N] + #define D_(N) TEST(current_block->direction_bits, CORE_AXIS_##N) + #endif - // Using the old trapezoidal control - #ifdef CPU_32_BIT - MultiU32X24toH32(step_rate, deceleration_time, current_block->acceleration_rate); + #if CORE_IS_XY || CORE_IS_XZ + /** + * Head direction in -X axis for CoreXY and CoreXZ bots. + * + * If steps differ, both axes are moving. + * If DeltaA == -DeltaB, the movement is only in the 2nd axis (Y or Z, handled below) + * If DeltaA == DeltaB, the movement is only in the 1st axis (X) + */ + #if ENABLED(COREXY) || ENABLED(COREXZ) + #define X_CMP == + #else + #define X_CMP != + #endif + #define X_MOVE_TEST ( S_(1) != S_(2) || (S_(1) > 0 && D_(1) X_CMP D_(2)) ) #else - MultiU24X32toH16(step_rate, deceleration_time, current_block->acceleration_rate); + #define X_MOVE_TEST !!current_block->steps[A_AXIS] #endif - if (step_rate < acc_step_rate) { // Still decelerating? - step_rate = acc_step_rate - step_rate; - NOLESS(step_rate, current_block->final_rate); - } - else - step_rate = current_block->final_rate; - #endif + #if CORE_IS_XY || CORE_IS_YZ + /** + * Head direction in -Y axis for CoreXY / CoreYZ bots. + * + * If steps differ, both axes are moving + * If DeltaA == DeltaB, the movement is only in the 1st axis (X or Y) + * If DeltaA == -DeltaB, the movement is only in the 2nd axis (Y or Z) + */ + #if ENABLED(COREYX) || ENABLED(COREYZ) + #define Y_CMP == + #else + #define Y_CMP != + #endif + #define Y_MOVE_TEST ( S_(1) != S_(2) || (S_(1) > 0 && D_(1) Y_CMP D_(2)) ) + #else + #define Y_MOVE_TEST !!current_block->steps[B_AXIS] + #endif - // step_rate to timer interval - const hal_timer_t interval = calc_timer_interval(step_rate); + #if CORE_IS_XZ || CORE_IS_YZ + /** + * Head direction in -Z axis for CoreXZ or CoreYZ bots. + * + * If steps differ, both axes are moving + * If DeltaA == DeltaB, the movement is only in the 1st axis (X or Y, already handled above) + * If DeltaA == -DeltaB, the movement is only in the 2nd axis (Z) + */ + #if ENABLED(COREZX) || ENABLED(COREZY) + #define Z_CMP == + #else + #define Z_CMP != + #endif + #define Z_MOVE_TEST ( S_(1) != S_(2) || (S_(1) > 0 && D_(1) Z_CMP D_(2)) ) + #else + #define Z_MOVE_TEST !!current_block->steps[C_AXIS] + #endif + + uint8_t axis_bits = 0; + if (X_MOVE_TEST) SBI(axis_bits, A_AXIS); + if (Y_MOVE_TEST) SBI(axis_bits, B_AXIS); + if (Z_MOVE_TEST) SBI(axis_bits, C_AXIS); + //if (!!current_block->steps[E_AXIS]) SBI(axis_bits, E_AXIS); + //if (!!current_block->steps[A_AXIS]) SBI(axis_bits, X_HEAD); + //if (!!current_block->steps[B_AXIS]) SBI(axis_bits, Y_HEAD); + //if (!!current_block->steps[C_AXIS]) SBI(axis_bits, Z_HEAD); + axis_did_move = axis_bits; - SPLIT(interval); // split step into multiple ISRs if larger than ENDSTOP_NOMINAL_OCR_VAL - _NEXT_ISR(ocr_val); + // No acceleration / deceleration time elapsed so far + acceleration_time = deceleration_time = 0; - deceleration_time += interval; + uint8_t oversampling = 0; // Assume we won't use it - #if ENABLED(LIN_ADVANCE) - if (current_block->use_advance_lead) { - if (step_events_completed <= (uint32_t)current_block->decelerate_after + step_loops || (e_steps && eISR_Rate != current_block->advance_speed)) { - nextAdvanceISR = 0; // Wake up eISR on first deceleration loop - eISR_Rate = current_block->advance_speed; + #if ENABLED(ADAPTIVE_STEP_SMOOTHING) + // At this point, we must decide if we can use Stepper movement axis smoothing. + uint32_t max_rate = current_block->nominal_rate; // Get the maximum rate (maximum event speed) + while (max_rate < MIN_STEP_ISR_FREQUENCY) { + max_rate <<= 1; + if (max_rate >= MAX_STEP_ISR_FREQUENCY_1X) break; + ++oversampling; } - } - else { - eISR_Rate = ADV_NEVER; - if (e_steps) nextAdvanceISR = 0; - } - #endif // LIN_ADVANCE - } - else { + oversampling_factor = oversampling; + #endif - #if ENABLED(LIN_ADVANCE) - // If we have esteps to execute, fire the next advance_isr "now" - if (e_steps && eISR_Rate != current_block->advance_speed) nextAdvanceISR = 0; - #endif + // Based on the oversampling factor, do the calculations + step_event_count = current_block->step_event_count << oversampling; - SPLIT(OCR1A_nominal); // split step into multiple ISRs if larger than ENDSTOP_NOMINAL_OCR_VAL - _NEXT_ISR(ocr_val); + // Initialize Bresenham delta errors to 1/2 + delta_error[X_AXIS] = delta_error[Y_AXIS] = delta_error[Z_AXIS] = delta_error[E_AXIS] = -int32_t(step_event_count); - // ensure we're running at the correct step rate, even if we just came off an acceleration - step_loops = step_loops_nominal; - } + // Calculate Bresenham dividends + advance_dividend[X_AXIS] = current_block->steps[X_AXIS] << 1; + advance_dividend[Y_AXIS] = current_block->steps[Y_AXIS] << 1; + advance_dividend[Z_AXIS] = current_block->steps[Z_AXIS] << 1; + advance_dividend[E_AXIS] = current_block->steps[E_AXIS] << 1; - #if DISABLED(LIN_ADVANCE) - // Make sure stepper ISR doesn't monopolize the CPU - HAL_timer_restrain(STEP_TIMER_NUM, STEP_TIMER_MIN_INTERVAL * HAL_TICKS_PER_US); - #endif + // Calculate Bresenham divisor + advance_divisor = step_event_count << 1; - // If current block is finished, reset pointer - if (all_steps_done) { - current_block = NULL; - planner.discard_current_block(); - } - #if DISABLED(LIN_ADVANCE) - HAL_ENABLE_ISRs(); - #endif -} + // No step events completed so far + step_events_completed = 0; -#if ENABLED(LIN_ADVANCE) + // Compute the acceleration and deceleration points + accelerate_until = current_block->accelerate_until << oversampling; + decelerate_after = current_block->decelerate_after << oversampling; - #define CYCLES_EATEN_E (E_STEPPERS * 5) - #define EXTRA_CYCLES_E (STEP_PULSE_CYCLES - (CYCLES_EATEN_E)) + #if ENABLED(MIXING_EXTRUDER) + const uint32_t e_steps = ( + #if ENABLED(LIN_ADVANCE) + current_block->steps[E_AXIS] + #else + step_event_count + #endif + ); + MIXING_STEPPERS_LOOP(i) { + delta_error_m[i] = -int32_t(e_steps); + advance_dividend_m[i] = current_block->mix_steps[i] << 1; + } + advance_divisor_m = e_steps << 1; + #else + active_extruder = current_block->active_extruder; + #endif - // Timer interrupt for E. e_steps is set in the main routine; + // Initialize the trapezoid generator from the current block. + #if ENABLED(LIN_ADVANCE) + #if DISABLED(MIXING_EXTRUDER) && E_STEPPERS > 1 + // If the now active extruder wasn't in use during the last move, its pressure is most likely gone. + if (active_extruder != last_moved_extruder) LA_current_adv_steps = 0; + #endif - void Stepper::advance_isr() { + if ((LA_use_advance_lead = current_block->use_advance_lead)) { + LA_final_adv_steps = current_block->final_adv_steps; + LA_max_adv_steps = current_block->max_adv_steps; + } + #endif - #if ENABLED(MK2_MULTIPLEXER) // For SNMM even-numbered steppers are reversed - #define SET_E_STEP_DIR(INDEX) do{ if (e_steps) E0_DIR_WRITE(e_steps < 0 ? !INVERT_E## INDEX ##_DIR ^ TEST(INDEX, 0) : INVERT_E## INDEX ##_DIR ^ TEST(INDEX, 0)); }while(0) - #elif ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE) - #define SET_E_STEP_DIR(INDEX) do{ if (e_steps) { if (e_steps < 0) REV_E_DIR(); else NORM_E_DIR(); } }while(0) - #else - #define SET_E_STEP_DIR(INDEX) do{ if (e_steps) E## INDEX ##_DIR_WRITE(e_steps < 0 ? INVERT_E## INDEX ##_DIR : !INVERT_E## INDEX ##_DIR); }while(0) - #endif + if (current_block->direction_bits != last_direction_bits + #if DISABLED(MIXING_EXTRUDER) + || active_extruder != last_moved_extruder + #endif + ) { + last_direction_bits = current_block->direction_bits; + #if DISABLED(MIXING_EXTRUDER) + last_moved_extruder = active_extruder; + #endif + set_directions(); + } - #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE) - #define START_E_PULSE(INDEX) do{ if (e_steps) E_STEP_WRITE(!INVERT_E_STEP_PIN); }while(0) - #define STOP_E_PULSE(INDEX) do{ if (e_steps) { E_STEP_WRITE(INVERT_E_STEP_PIN); e_steps < 0 ? ++e_steps : --e_steps; } }while(0) - #else - #define START_E_PULSE(INDEX) do{ if (e_steps) E## INDEX ##_STEP_WRITE(!INVERT_E_STEP_PIN); }while(0) - #define STOP_E_PULSE(INDEX) do { if (e_steps) { e_steps < 0 ? ++e_steps : --e_steps; E## INDEX ##_STEP_WRITE(INVERT_E_STEP_PIN); } }while(0) - #endif + // At this point, we must ensure the movement about to execute isn't + // trying to force the head against a limit switch. If using interrupt- + // driven change detection, and already against a limit then no call to + // the endstop_triggered method will be done and the movement will be + // done against the endstop. So, check the limits here: If the movement + // is against the limits, the block will be marked as to be killed, and + // on the next call to this ISR, will be discarded. + endstops.update(); - if (use_advance_lead) { - if (step_events_completed > LA_decelerate_after && current_adv_steps > final_adv_steps) { - e_steps--; - current_adv_steps--; - nextAdvanceISR = eISR_Rate; - } - else if (step_events_completed < LA_decelerate_after && current_adv_steps < max_adv_steps) { - //step_events_completed <= (uint32_t)current_block->accelerate_until) { - e_steps++; - current_adv_steps++; - nextAdvanceISR = eISR_Rate; + #if ENABLED(Z_LATE_ENABLE) + // If delayed Z enable, enable it now. This option will severely interfere with + // timing between pulses when chaining motion between blocks, and it could lead + // to lost steps in both X and Y axis, so avoid using it unless strictly necessary!! + if (current_block->steps[Z_AXIS]) enable_Z(); + #endif + + // Mark the time_nominal as not calculated yet + ticks_nominal = -1; + + #if DISABLED(S_CURVE_ACCELERATION) + // Set as deceleration point the initial rate of the block + acc_step_rate = current_block->initial_rate; + #endif + + #if ENABLED(S_CURVE_ACCELERATION) + // Initialize the Bézier speed curve + _calc_bezier_curve_coeffs(current_block->initial_rate, current_block->cruise_rate, current_block->acceleration_time_inverse); + // We haven't started the 2nd half of the trapezoid + bezier_2nd_half = false; + #endif + + // Calculate the initial timer interval + interval = calc_timer_interval(current_block->initial_rate, oversampling_factor, &steps_per_isr); + } + } + + // Return the interval to wait + return interval; +} + +#if ENABLED(LIN_ADVANCE) + + // Timer interrupt for E. LA_steps is set in the main routine + uint32_t Stepper::advance_isr() { + uint32_t interval; + + if (LA_use_advance_lead) { + if (step_events_completed > decelerate_after && LA_current_adv_steps > LA_final_adv_steps) { + LA_steps--; + LA_current_adv_steps--; + interval = LA_isr_rate; } - else { - nextAdvanceISR = ADV_NEVER; - eISR_Rate = ADV_NEVER; + else if (step_events_completed < decelerate_after && LA_current_adv_steps < LA_max_adv_steps) { + //step_events_completed <= (uint32_t)accelerate_until) { + LA_steps++; + LA_current_adv_steps++; + interval = LA_isr_rate; } + else + interval = LA_isr_rate = LA_ADV_NEVER; } else - nextAdvanceISR = ADV_NEVER; - - switch (LA_active_extruder) { - case 0: SET_E_STEP_DIR(0); break; - #if EXTRUDERS > 1 - case 1: SET_E_STEP_DIR(1); break; - #if EXTRUDERS > 2 - case 2: SET_E_STEP_DIR(2); break; - #if EXTRUDERS > 3 - case 3: SET_E_STEP_DIR(3); break; - #if EXTRUDERS > 4 - case 4: SET_E_STEP_DIR(4); break; - #endif // EXTRUDERS > 4 - #endif // EXTRUDERS > 3 - #endif // EXTRUDERS > 2 - #endif // EXTRUDERS > 1 - } + interval = LA_ADV_NEVER; - // Step E stepper if we have steps - while (e_steps) { - - #if EXTRA_CYCLES_E > 20 - hal_timer_t pulse_start = HAL_timer_get_count(PULSE_TIMER_NUM); + #if ENABLED(MIXING_EXTRUDER) + if (LA_steps >= 0) + MIXING_STEPPERS_LOOP(j) NORM_E_DIR(j); + else + MIXING_STEPPERS_LOOP(j) REV_E_DIR(j); + #else + if (LA_steps >= 0) + NORM_E_DIR(active_extruder); + else + REV_E_DIR(active_extruder); #endif - switch (LA_active_extruder) { - case 0: START_E_PULSE(0); break; - #if EXTRUDERS > 1 - case 1: START_E_PULSE(1); break; - #if EXTRUDERS > 2 - case 2: START_E_PULSE(2); break; - #if EXTRUDERS > 3 - case 3: START_E_PULSE(3); break; - #if EXTRUDERS > 4 - case 4: START_E_PULSE(4); break; - #endif // EXTRUDERS > 4 - #endif // EXTRUDERS > 3 - #endif // EXTRUDERS > 2 - #endif // EXTRUDERS > 1 - } + // Get the timer count and estimate the end of the pulse + hal_timer_t pulse_end = HAL_timer_get_count(PULSE_TIMER_NUM) + hal_timer_t(MIN_PULSE_TICKS); - // For minimum pulse time wait before stopping pulses - #if EXTRA_CYCLES_E > 20 - while (EXTRA_CYCLES_E > (hal_timer_t)(HAL_timer_get_count(PULSE_TIMER_NUM) - pulse_start) * (PULSE_TIMER_PRESCALE)) { /* nada */ } - pulse_start = HAL_timer_get_count(PULSE_TIMER_NUM); - #elif EXTRA_CYCLES_E > 0 - DELAY_NOPS(EXTRA_CYCLES_E); - #endif + const hal_timer_t added_step_ticks = hal_timer_t(ADDED_STEP_TICKS); - switch (LA_active_extruder) { - case 0: STOP_E_PULSE(0); break; - #if EXTRUDERS > 1 - case 1: STOP_E_PULSE(1); break; - #if EXTRUDERS > 2 - case 2: STOP_E_PULSE(2); break; - #if EXTRUDERS > 3 - case 3: STOP_E_PULSE(3); break; - #if EXTRUDERS > 4 - case 4: STOP_E_PULSE(4); break; - #endif // EXTRUDERS > 4 - #endif // EXTRUDERS > 3 - #endif // EXTRUDERS > 2 - #endif // EXTRUDERS > 1 - } + // Step E stepper if we have steps + while (LA_steps) { - // For minimum pulse time wait before looping - #if EXTRA_CYCLES_E > 20 - if (e_steps) while (EXTRA_CYCLES_E > (hal_timer_t)(HAL_timer_get_count(PULSE_TIMER_NUM) - pulse_start) * (PULSE_TIMER_PRESCALE)) { /* nada */ } - #elif EXTRA_CYCLES_E > 0 - if (e_steps) DELAY_NOPS(EXTRA_CYCLES_E); + // Set the STEP pulse ON + #if ENABLED(MIXING_EXTRUDER) + MIXING_STEPPERS_LOOP(j) { + // Step mixing steppers (proportionally) + delta_error_m[j] += advance_dividend_m[j]; + // Step when the counter goes over zero + if (delta_error_m[j] >= 0) E_STEP_WRITE(j, !INVERT_E_STEP_PIN); + } + #else + E_STEP_WRITE(active_extruder, !INVERT_E_STEP_PIN); #endif - } // e_steps - } - - void Stepper::advance_isr_scheduler() { - // Disable Timer0 ISRs and enable global ISR again to capture UART events (incoming chars) - DISABLE_TEMPERATURE_INTERRUPT(); // Temperature ISR - DISABLE_STEPPER_DRIVER_INTERRUPT(); - sei(); + // Enforce a minimum duration for STEP pulse ON + #if MINIMUM_STEPPER_PULSE + // Just wait for the requested pulse duration + while (HAL_timer_get_count(PULSE_TIMER_NUM) < pulse_end) { /* nada */ } + #endif - // Run main stepping ISR if flagged - if (!nextMainISR) isr(); + // Add the delay needed to ensure the maximum driver rate is enforced + if (signed(added_step_ticks) > 0) pulse_end += hal_timer_t(added_step_ticks); - // Run Advance stepping ISR if flagged - if (!nextAdvanceISR) advance_isr(); + LA_steps < 0 ? ++LA_steps : --LA_steps; - // Is the next advance ISR scheduled before the next main ISR? - if (nextAdvanceISR <= nextMainISR) { - // Set up the next interrupt - HAL_timer_set_compare(STEP_TIMER_NUM, nextAdvanceISR); - // New interval for the next main ISR - if (nextMainISR) nextMainISR -= nextAdvanceISR; - // Will call Stepper::advance_isr on the next interrupt - nextAdvanceISR = 0; - } - else { - // The next main ISR comes first - HAL_timer_set_compare(STEP_TIMER_NUM, nextMainISR); - // New interval for the next advance ISR, if any - if (nextAdvanceISR && nextAdvanceISR != ADV_NEVER) - nextAdvanceISR -= nextMainISR; - // Will call Stepper::isr on the next interrupt - nextMainISR = 0; - } + // Set the STEP pulse OFF + #if ENABLED(MIXING_EXTRUDER) + MIXING_STEPPERS_LOOP(j) { + if (delta_error_m[j] >= 0) { + delta_error_m[j] -= advance_divisor_m; + E_STEP_WRITE(j, INVERT_E_STEP_PIN); + } + } + #else + E_STEP_WRITE(active_extruder, INVERT_E_STEP_PIN); + #endif - // Make sure stepper ISR doesn't monopolize the CPU - HAL_timer_restrain(STEP_TIMER_NUM, STEP_TIMER_MIN_INTERVAL * HAL_TICKS_PER_US); + // For minimum pulse time wait before looping + // Just wait for the requested pulse duration + if (LA_steps) { + while (HAL_timer_get_count(PULSE_TIMER_NUM) < pulse_end) { /* nada */ } + #if MINIMUM_STEPPER_PULSE + // Add to the value, the time that the pulse must be active (to be used on the next loop) + pulse_end += hal_timer_t(MIN_PULSE_TICKS); + #endif + } + } // LA_steps - // Restore original ISR settings - HAL_ENABLE_ISRs(); + return interval; } - #endif // LIN_ADVANCE +// Check if the given block is busy or not - Must not be called from ISR contexts +// The current_block could change in the middle of the read by an Stepper ISR, so +// we must explicitly prevent that! +bool Stepper::is_block_busy(const block_t* const block) { + #ifdef __AVR__ + // A SW memory barrier, to ensure GCC does not overoptimize loops + #define sw_barrier() asm volatile("": : :"memory"); + + // Keep reading until 2 consecutive reads return the same value, + // meaning there was no update in-between caused by an interrupt. + // This works because stepper ISRs happen at a slower rate than + // successive reads of a variable, so 2 consecutive reads with + // the same value means no interrupt updated it. + block_t* vold, *vnew = current_block; + sw_barrier(); + do { + vold = vnew; + vnew = current_block; + sw_barrier(); + } while (vold != vnew); + #else + block_t *vnew = current_block; + #endif + + // Return if the block is busy or not + return block == vnew; +} + void Stepper::init() { // Init Digipot Motor Current @@ -1288,9 +2005,6 @@ void Stepper::init() { if (!E_ENABLE_ON) E4_ENABLE_WRITE(HIGH); #endif - // Init endstops and pullups - endstops.init(); - #define _STEP_INIT(AXIS) AXIS ##_STEP_INIT #define _WRITE_STEP(AXIS, HIGHLOW) AXIS ##_STEP_WRITE(HIGHLOW) #define _DISABLE(AXIS) disable_## AXIS() @@ -1327,43 +2041,24 @@ void Stepper::init() { AXIS_INIT(Z, Z); #endif - #if HAS_E0_STEP + #if E_STEPPERS > 0 && HAS_E0_STEP E_AXIS_INIT(0); #endif - #if HAS_E1_STEP + #if E_STEPPERS > 1 && HAS_E1_STEP E_AXIS_INIT(1); #endif - #if HAS_E2_STEP + #if E_STEPPERS > 2 && HAS_E2_STEP E_AXIS_INIT(2); #endif - #if HAS_E3_STEP + #if E_STEPPERS > 3 && HAS_E3_STEP E_AXIS_INIT(3); #endif - #if HAS_E4_STEP + #if E_STEPPERS > 4 && HAS_E4_STEP E_AXIS_INIT(4); #endif - #ifdef __AVR__ - // waveform generation = 0100 = CTC - SET_WGM(1, CTC_OCRnA); - - // output mode = 00 (disconnected) - SET_COMA(1, NORMAL); - - // Set the timer pre-scaler - // Generally we use a divider of 8, resulting in a 2MHz timer - // frequency on a 16MHz MCU. If you are going to change this, be - // sure to regenerate speed_lookuptable.h with - // create_speed_lookuptable.py - SET_CS(1, PRESCALER_8); // CS 2 = 1/8 prescaler - - // Init Stepper ISR to 122 Hz for quick starting - OCR1A = 0x4000; - TCNT1 = 0; - #else - // Init Stepper ISR to 122 Hz for quick starting - HAL_timer_start(STEP_TIMER_NUM, 122); - #endif + // Init Stepper ISR to 122 Hz for quick starting + HAL_timer_start(STEP_TIMER_NUM, 122); ENABLE_STEPPER_DRIVER_INTERRUPT(); @@ -1373,12 +2068,6 @@ void Stepper::init() { set_directions(); // Init directions to last_direction_bits = 0 } - -/** - * Block until all buffered steps are executed / cleaned - */ -void Stepper::synchronize() { while (planner.has_blocks_queued() || cleaning_buffer_counter) idle(); } - /** * Set the stepper positions directly in steps * @@ -1388,12 +2077,7 @@ void Stepper::synchronize() { while (planner.has_blocks_queued() || cleaning_buf * This allows get_axis_position_mm to correctly * derive the current XYZ position later on. */ -void Stepper::set_position(const long &a, const long &b, const long &c, const long &e) { - - synchronize(); // Bad to set stepper counts in the middle of a move - - CRITICAL_SECTION_START; - +void Stepper::_set_position(const int32_t &a, const int32_t &b, const int32_t &c, const int32_t &e) { #if CORE_IS_XY // corexy positioning // these equations follow the form of the dA and dB equations on http://www.corexy.com/theory.html @@ -1416,77 +2100,40 @@ void Stepper::set_position(const long &a, const long &b, const long &c, const lo count_position[Y_AXIS] = b; count_position[Z_AXIS] = c; #endif - - count_position[E_AXIS] = e; - CRITICAL_SECTION_END; -} - -void Stepper::set_position(const AxisEnum &axis, const long &v) { - CRITICAL_SECTION_START; - count_position[axis] = v; - CRITICAL_SECTION_END; -} - -void Stepper::set_e_position(const long &e) { - CRITICAL_SECTION_START; count_position[E_AXIS] = e; - CRITICAL_SECTION_END; } /** * Get a stepper's position in steps. */ -long Stepper::position(const AxisEnum axis) { - CRITICAL_SECTION_START; - const long count_pos = count_position[axis]; - CRITICAL_SECTION_END; - return count_pos; -} - -/** - * Get an axis position according to stepper position(s) - * For CORE machines apply translation from ABC to XYZ. - */ -float Stepper::get_axis_position_mm(const AxisEnum axis) { - float axis_steps; - #if IS_CORE - // Requesting one of the "core" axes? - if (axis == CORE_AXIS_1 || axis == CORE_AXIS_2) { - CRITICAL_SECTION_START; - // ((a1+a2)+(a1-a2))/2 -> (a1+a2+a1-a2)/2 -> (a1+a1)/2 -> a1 - // ((a1+a2)-(a1-a2))/2 -> (a1+a2-a1+a2)/2 -> (a2+a2)/2 -> a2 - axis_steps = 0.5f * ( - axis == CORE_AXIS_2 ? CORESIGN(count_position[CORE_AXIS_1] - count_position[CORE_AXIS_2]) - : count_position[CORE_AXIS_1] + count_position[CORE_AXIS_2] - ); - CRITICAL_SECTION_END; - } - else - axis_steps = position(axis); - #else - axis_steps = position(axis); +int32_t Stepper::position(const AxisEnum axis) { + #ifdef __AVR__ + // Protect the access to the position. Only required for AVR, as + // any 32bit CPU offers atomic access to 32bit variables + const bool was_enabled = STEPPER_ISR_ENABLED(); + if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); #endif - return axis_steps * planner.steps_to_mm[axis]; -} -void Stepper::finish_and_disable() { - synchronize(); - disable_all_steppers(); -} + const int32_t v = count_position[axis]; -void Stepper::quick_stop() { - cleaning_buffer_counter = 5000; - DISABLE_STEPPER_DRIVER_INTERRUPT(); - while (planner.has_blocks_queued()) planner.discard_current_block(); - current_block = NULL; - ENABLE_STEPPER_DRIVER_INTERRUPT(); - #if ENABLED(ULTRA_LCD) - planner.clear_block_buffer_runtime(); + #ifdef __AVR__ + // Reenable Stepper ISR + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); #endif + return v; } +// Signal endstops were triggered - This function can be called from +// an ISR context (Temperature, Stepper or limits ISR), so we must +// be very careful here. If the interrupt being preempted was the +// Stepper ISR (this CAN happen with the endstop limits ISR) then +// when the stepper ISR resumes, we must be very sure that the movement +// is properly cancelled void Stepper::endstop_triggered(const AxisEnum axis) { + const bool was_enabled = STEPPER_ISR_ENABLED(); + if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); + #if IS_CORE endstops_trigsteps[axis] = 0.5f * ( @@ -1500,16 +2147,41 @@ void Stepper::endstop_triggered(const AxisEnum axis) { #endif // !COREXY && !COREXZ && !COREYZ - kill_current_block(); - cleaning_buffer_counter = -1; // Discard the rest of the move + // Discard the rest of the move if there is a current block + quick_stop(); + + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); +} + +int32_t Stepper::triggered_position(const AxisEnum axis) { + #ifdef __AVR__ + // Protect the access to the position. Only required for AVR, as + // any 32bit CPU offers atomic access to 32bit variables + const bool was_enabled = STEPPER_ISR_ENABLED(); + if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); + #endif + + const int32_t v = endstops_trigsteps[axis]; + + #ifdef __AVR__ + // Reenable Stepper ISR + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); + #endif + + return v; } void Stepper::report_positions() { - CRITICAL_SECTION_START; - const long xpos = count_position[X_AXIS], - ypos = count_position[Y_AXIS], - zpos = count_position[Z_AXIS]; - CRITICAL_SECTION_END; + + // Protect the access to the position. + const bool was_enabled = STEPPER_ISR_ENABLED(); + if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); + + const int32_t xpos = count_position[X_AXIS], + ypos = count_position[Y_AXIS], + zpos = count_position[Z_AXIS]; + + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); #if CORE_IS_XY || CORE_IS_XZ || IS_DELTA || IS_SCARA SERIAL_PROTOCOLPGM(MSG_COUNT_A); @@ -1537,6 +2209,12 @@ void Stepper::report_positions() { #if ENABLED(BABYSTEPPING) + #if MINIMUM_STEPPER_PULSE + #define STEP_PULSE_CYCLES ((MINIMUM_STEPPER_PULSE) * CYCLES_PER_MICROSECOND) + #else + #define STEP_PULSE_CYCLES 0 + #endif + #if ENABLED(DELTA) #define CYCLES_EATEN_BABYSTEP (2 * 15) #else @@ -1550,27 +2228,27 @@ void Stepper::report_positions() { #define _APPLY_DIR(AXIS, INVERT) AXIS ##_APPLY_DIR(INVERT, true) #if EXTRA_CYCLES_BABYSTEP > 20 - #define _SAVE_START const hal_timer_t pulse_start = HAL_timer_get_count(STEP_TIMER_NUM) - #define _PULSE_WAIT while (EXTRA_CYCLES_BABYSTEP > (uint32_t)(HAL_timer_get_count(STEP_TIMER_NUM) - pulse_start) * (PULSE_TIMER_PRESCALE)) { /* nada */ } + #define _SAVE_START const hal_timer_t pulse_start = HAL_timer_get_count(PULSE_TIMER_NUM) + #define _PULSE_WAIT while (EXTRA_CYCLES_BABYSTEP > (uint32_t)(HAL_timer_get_count(PULSE_TIMER_NUM) - pulse_start) * (PULSE_TIMER_PRESCALE)) { /* nada */ } #else #define _SAVE_START NOOP #if EXTRA_CYCLES_BABYSTEP > 0 - #define _PULSE_WAIT DELAY_NOPS(EXTRA_CYCLES_BABYSTEP) + #define _PULSE_WAIT DELAY_NS(EXTRA_CYCLES_BABYSTEP * NANOSECONDS_PER_CYCLE) #elif STEP_PULSE_CYCLES > 0 #define _PULSE_WAIT NOOP #elif ENABLED(DELTA) - #define _PULSE_WAIT delayMicroseconds(2); + #define _PULSE_WAIT DELAY_US(2); #else - #define _PULSE_WAIT delayMicroseconds(4); + #define _PULSE_WAIT DELAY_US(4); #endif #endif #define BABYSTEP_AXIS(AXIS, INVERT, DIR) { \ const uint8_t old_dir = _READ_DIR(AXIS); \ _ENABLE(AXIS); \ - _SAVE_START; \ _APPLY_DIR(AXIS, _INVERT_DIR(AXIS)^DIR^INVERT); \ - _PULSE_WAIT; \ + DELAY_NS(400); /* DRV8825 */ \ + _SAVE_START; \ _APPLY_STEP(AXIS)(!_INVERT_STEP_PIN(AXIS), true); \ _PULSE_WAIT; \ _APPLY_STEP(AXIS)(_INVERT_STEP_PIN(AXIS), true); \ @@ -1641,6 +2319,8 @@ void Stepper::report_positions() { Y_DIR_WRITE(INVERT_Y_DIR ^ z_direction); Z_DIR_WRITE(INVERT_Z_DIR ^ z_direction); + DELAY_NS(400); // DRV8825 + _SAVE_START; X_STEP_WRITE(!INVERT_X_STEP_PIN); diff --git a/Marlin/src/module/stepper.h b/Marlin/src/module/stepper.h index d7fca16f2bc7..2280bb78b8a0 100644 --- a/Marlin/src/module/stepper.h +++ b/Marlin/src/module/stepper.h @@ -43,31 +43,199 @@ #ifndef STEPPER_H #define STEPPER_H +#include "../inc/MarlinConfig.h" + +// Disable multiple steps per ISR +//#define DISABLE_MULTI_STEPPING + +// +// Estimate the amount of time the Stepper ISR will take to execute +// + +#ifndef MINIMUM_STEPPER_PULSE + #define MINIMUM_STEPPER_PULSE 0UL +#endif + +#ifndef MAXIMUM_STEPPER_RATE + #if MINIMUM_STEPPER_PULSE + #define MAXIMUM_STEPPER_RATE (1000000UL / (2UL * (unsigned long)(MINIMUM_STEPPER_PULSE))) + #else + #define MAXIMUM_STEPPER_RATE 500000UL + #endif +#endif + +#ifdef CPU_32_BIT + + // The base ISR takes 792 cycles + #define ISR_BASE_CYCLES 792UL + + // Linear advance base time is 64 cycles + #if ENABLED(LIN_ADVANCE) + #define ISR_LA_BASE_CYCLES 64UL + #else + #define ISR_LA_BASE_CYCLES 0UL + #endif + + // S curve interpolation adds 40 cycles + #if ENABLED(S_CURVE_ACCELERATION) + #define ISR_S_CURVE_CYCLES 40UL + #else + #define ISR_S_CURVE_CYCLES 0UL + #endif + + // Stepper Loop base cycles + #define ISR_LOOP_BASE_CYCLES 4UL + + // To start the step pulse, in the worst case takes + #define ISR_START_STEPPER_CYCLES 13UL + + // And each stepper (start + stop pulse) takes in worst case + #define ISR_STEPPER_CYCLES 16UL + +#else + + // The base ISR takes 752 cycles + #define ISR_BASE_CYCLES 752UL + + // Linear advance base time is 32 cycles + #if ENABLED(LIN_ADVANCE) + #define ISR_LA_BASE_CYCLES 32UL + #else + #define ISR_LA_BASE_CYCLES 0UL + #endif + + // S curve interpolation adds 160 cycles + #if ENABLED(S_CURVE_ACCELERATION) + #define ISR_S_CURVE_CYCLES 160UL + #else + #define ISR_S_CURVE_CYCLES 0UL + #endif + + // Stepper Loop base cycles + #define ISR_LOOP_BASE_CYCLES 32UL + + // To start the step pulse, in the worst case takes + #define ISR_START_STEPPER_CYCLES 57UL + + // And each stepper (start + stop pulse) takes in worst case + #define ISR_STEPPER_CYCLES 88UL + +#endif + +// Add time for each stepper +#ifdef HAS_X_STEP + #define ISR_START_X_STEPPER_CYCLES ISR_START_STEPPER_CYCLES + #define ISR_X_STEPPER_CYCLES ISR_STEPPER_CYCLES +#else + #define ISR_START_X_STEPPER_CYCLES 0UL + #define ISR_X_STEPPER_CYCLES 0UL +#endif +#ifdef HAS_Y_STEP + #define ISR_START_Y_STEPPER_CYCLES ISR_START_STEPPER_CYCLES + #define ISR_Y_STEPPER_CYCLES ISR_STEPPER_CYCLES +#else + #define ISR_START_Y_STEPPER_CYCLES 0UL + #define ISR_Y_STEPPER_CYCLES 0UL +#endif +#ifdef HAS_Z_STEP + #define ISR_START_Z_STEPPER_CYCLES ISR_START_STEPPER_CYCLES + #define ISR_Z_STEPPER_CYCLES ISR_STEPPER_CYCLES +#else + #define ISR_START_Z_STEPPER_CYCLES 0UL + #define ISR_Z_STEPPER_CYCLES 0UL +#endif + +// E is always interpolated, even for mixing extruders +#define ISR_START_E_STEPPER_CYCLES ISR_START_STEPPER_CYCLES +#define ISR_E_STEPPER_CYCLES ISR_STEPPER_CYCLES + +// If linear advance is disabled, then the loop also handles them +#if DISABLED(LIN_ADVANCE) && ENABLED(MIXING_EXTRUDER) + #define ISR_START_MIXING_STEPPER_CYCLES ((MIXING_STEPPERS) * (ISR_START_STEPPER_CYCLES)) + #define ISR_MIXING_STEPPER_CYCLES ((MIXING_STEPPERS) * (ISR_STEPPER_CYCLES)) +#else + #define ISR_START_MIXING_STEPPER_CYCLES 0UL + #define ISR_MIXING_STEPPER_CYCLES 0UL +#endif + +// Calculate the minimum time to start all stepper pulses in the ISR loop +#define MIN_ISR_START_LOOP_CYCLES (ISR_START_X_STEPPER_CYCLES + ISR_START_Y_STEPPER_CYCLES + ISR_START_Z_STEPPER_CYCLES + ISR_START_E_STEPPER_CYCLES + ISR_START_MIXING_STEPPER_CYCLES) + +// And the total minimum loop time, not including the base +#define MIN_ISR_LOOP_CYCLES (ISR_X_STEPPER_CYCLES + ISR_Y_STEPPER_CYCLES + ISR_Z_STEPPER_CYCLES + ISR_E_STEPPER_CYCLES + ISR_MIXING_STEPPER_CYCLES) + +// Calculate the minimum MPU cycles needed per pulse to enforce, limited to the max stepper rate +#define _MIN_STEPPER_PULSE_CYCLES(N) MAX((unsigned long)((F_CPU) / (MAXIMUM_STEPPER_RATE)), ((F_CPU) / 500000UL) * (N)) +#if MINIMUM_STEPPER_PULSE + #define MIN_STEPPER_PULSE_CYCLES _MIN_STEPPER_PULSE_CYCLES((unsigned long)(MINIMUM_STEPPER_PULSE)) +#else + #define MIN_STEPPER_PULSE_CYCLES _MIN_STEPPER_PULSE_CYCLES(1UL) +#endif + +// Calculate the minimum ticks of the PULSE timer that must elapse with the step pulse enabled +// adding the "start stepper pulse" code section execution cycles to account for that not all +// pulses start at the beginning of the loop, so an extra time must be added to compensate so +// the last generated pulse (usually the extruder stepper) has the right length +#define MIN_PULSE_TICKS (((PULSE_TIMER_TICKS_PER_US) * (unsigned long)(MINIMUM_STEPPER_PULSE)) + ((MIN_ISR_START_LOOP_CYCLES) / (unsigned long)(PULSE_TIMER_PRESCALE))) + +// Calculate the extra ticks of the PULSE timer between step pulses +#define ADDED_STEP_TICKS (((MIN_STEPPER_PULSE_CYCLES) / (PULSE_TIMER_PRESCALE)) - (MIN_PULSE_TICKS)) + +// But the user could be enforcing a minimum time, so the loop time is +#define ISR_LOOP_CYCLES (ISR_LOOP_BASE_CYCLES + MAX(MIN_STEPPER_PULSE_CYCLES, MIN_ISR_LOOP_CYCLES)) + +// If linear advance is enabled, then it is handled separately +#if ENABLED(LIN_ADVANCE) + + // Estimate the minimum LA loop time + #if ENABLED(MIXING_EXTRUDER) + #define MIN_ISR_LA_LOOP_CYCLES ((MIXING_STEPPERS) * (ISR_STEPPER_CYCLES)) + #else + #define MIN_ISR_LA_LOOP_CYCLES ISR_STEPPER_CYCLES + #endif + + // And the real loop time + #define ISR_LA_LOOP_CYCLES MAX(MIN_STEPPER_PULSE_CYCLES, MIN_ISR_LA_LOOP_CYCLES) + +#else + #define ISR_LA_LOOP_CYCLES 0UL +#endif + +// Now estimate the total ISR execution time in cycles given a step per ISR multiplier +#define ISR_EXECUTION_CYCLES(R) (((ISR_BASE_CYCLES + ISR_S_CURVE_CYCLES + (ISR_LOOP_CYCLES) * (R) + ISR_LA_BASE_CYCLES + ISR_LA_LOOP_CYCLES)) / (R)) + +// The maximum allowable stepping frequency when doing x128-x1 stepping (in Hz) +#define MAX_STEP_ISR_FREQUENCY_128X ((F_CPU) / ISR_EXECUTION_CYCLES(128)) +#define MAX_STEP_ISR_FREQUENCY_64X ((F_CPU) / ISR_EXECUTION_CYCLES(64)) +#define MAX_STEP_ISR_FREQUENCY_32X ((F_CPU) / ISR_EXECUTION_CYCLES(32)) +#define MAX_STEP_ISR_FREQUENCY_16X ((F_CPU) / ISR_EXECUTION_CYCLES(16)) +#define MAX_STEP_ISR_FREQUENCY_8X ((F_CPU) / ISR_EXECUTION_CYCLES(8)) +#define MAX_STEP_ISR_FREQUENCY_4X ((F_CPU) / ISR_EXECUTION_CYCLES(4)) +#define MAX_STEP_ISR_FREQUENCY_2X ((F_CPU) / ISR_EXECUTION_CYCLES(2)) +#define MAX_STEP_ISR_FREQUENCY_1X ((F_CPU) / ISR_EXECUTION_CYCLES(1)) + +// The minimum allowable frequency for step smoothing will be 1/10 of the maximum nominal frequency (in Hz) +#define MIN_STEP_ISR_FREQUENCY MAX_STEP_ISR_FREQUENCY_1X + +// +// Stepper class definition +// + #include "stepper_indirection.h" #ifdef __AVR__ #include "speed_lookuptable.h" #endif -#include "../inc/MarlinConfig.h" #include "../module/planner.h" #include "../core/language.h" -class Stepper; -extern Stepper stepper; - class Stepper { public: - static block_t* current_block; // A pointer to the block currently being traced - - #if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) - static bool abort_on_endstop_hit; - #endif - #if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS) - static bool performing_homing; + static bool homing_dual_axis; #endif #if HAS_MOTOR_CURRENT_PWM @@ -77,65 +245,84 @@ class Stepper { static uint32_t motor_current_setting[3]; #endif - static int16_t cleaning_buffer_counter; - private: - static uint8_t last_direction_bits; // The next stepping-bits to be output + static block_t* current_block; // A pointer to the block currently being traced + + static uint8_t last_direction_bits, // The next stepping-bits to be output + axis_did_move; // Last Movement in the given direction is not null, as computed when the last movement was fetched from planner + + static bool abort_current_block; // Signals to the stepper that current block should be aborted + + #if DISABLED(MIXING_EXTRUDER) + static uint8_t last_moved_extruder; // Last-moved extruder, as set when the last movement was fetched from planner + #endif #if ENABLED(X_DUAL_ENDSTOPS) - static bool locked_x_motor, locked_x2_motor; + static bool locked_X_motor, locked_X2_motor; #endif #if ENABLED(Y_DUAL_ENDSTOPS) - static bool locked_y_motor, locked_y2_motor; + static bool locked_Y_motor, locked_Y2_motor; #endif #if ENABLED(Z_DUAL_ENDSTOPS) - static bool locked_z_motor, locked_z2_motor; + static bool locked_Z_motor, locked_Z2_motor; #endif - // Counter variables for the Bresenham line tracer - static long counter_X, counter_Y, counter_Z, counter_E; - static volatile uint32_t step_events_completed; // The number of step events executed in the current block - - #if ENABLED(BEZIER_JERK_CONTROL) - static int32_t bezier_A, // A coefficient in Bézier speed curve - bezier_B, // B coefficient in Bézier speed curve - bezier_C, // C coefficient in Bézier speed curve - bezier_F; // F coefficient in Bézier speed curve - static uint32_t bezier_AV; // AV coefficient in Bézier speed curve - static bool bezier_2nd_half; // If Bézier curve has been initialized or not - #endif - - #if ENABLED(LIN_ADVANCE) + static uint32_t acceleration_time, deceleration_time; // time measured in Stepper Timer ticks + static uint8_t steps_per_isr; // Count of steps to perform per Stepper ISR call - static uint32_t LA_decelerate_after; // Copy from current executed block. Needed because current_block is set to NULL "too early". - static hal_timer_t nextMainISR, nextAdvanceISR, eISR_Rate; - static uint16_t current_adv_steps, final_adv_steps, max_adv_steps; // Copy from current executed block. Needed because current_block is set to NULL "too early". - #define _NEXT_ISR(T) nextMainISR = T - static int8_t e_steps; - static bool use_advance_lead; - #if E_STEPPERS > 1 - static int8_t LA_active_extruder; // Copy from current executed block. Needed because current_block is set to NULL "too early". - #else - static constexpr int8_t LA_active_extruder = 0; - #endif - - #else // !LIN_ADVANCE + #if ENABLED(ADAPTIVE_STEP_SMOOTHING) + static uint8_t oversampling_factor; // Oversampling factor (log2(multiplier)) to increase temporal resolution of axis + #else + static constexpr uint8_t oversampling_factor = 0; + #endif - #define _NEXT_ISR(T) HAL_timer_set_compare(STEP_TIMER_NUM, T); + // Delta error variables for the Bresenham line tracer + static int32_t delta_error[XYZE]; + static uint32_t advance_dividend[XYZE], + advance_divisor, + step_events_completed, // The number of step events executed in the current block + accelerate_until, // The point from where we need to stop acceleration + decelerate_after, // The point from where we need to start decelerating + step_event_count; // The total event count for the current block - #endif // !LIN_ADVANCE + // Mixing extruder mix delta_errors for bresenham tracing + #if ENABLED(MIXING_EXTRUDER) + static int32_t delta_error_m[MIXING_STEPPERS]; + static uint32_t advance_dividend_m[MIXING_STEPPERS], + advance_divisor_m; + #define MIXING_STEPPERS_LOOP(VAR) \ + for (uint8_t VAR = 0; VAR < MIXING_STEPPERS; VAR++) + #else + static int8_t active_extruder; // Active extruder + #endif - static int32_t acceleration_time, deceleration_time; - static uint8_t step_loops, step_loops_nominal; + #if ENABLED(S_CURVE_ACCELERATION) + static int32_t bezier_A, // A coefficient in Bézier speed curve + bezier_B, // B coefficient in Bézier speed curve + bezier_C; // C coefficient in Bézier speed curve + static uint32_t bezier_F, // F coefficient in Bézier speed curve + bezier_AV; // AV coefficient in Bézier speed curve + #ifdef __AVR__ + static bool A_negative; // If A coefficient was negative + #endif + static bool bezier_2nd_half; // If Bézier curve has been initialized or not + #endif - static hal_timer_t OCR1A_nominal; - #if DISABLED(BEZIER_JERK_CONTROL) - static hal_timer_t acc_step_rate; // needed for deceleration start point + static uint32_t nextMainISR; // time remaining for the next Step ISR + #if ENABLED(LIN_ADVANCE) + static uint32_t nextAdvanceISR, LA_isr_rate; + static uint16_t LA_current_adv_steps, LA_final_adv_steps, LA_max_adv_steps; // Copy from current executed block. Needed because current_block is set to NULL "too early". + static int8_t LA_steps; + static bool LA_use_advance_lead; + #endif // LIN_ADVANCE + + static int32_t ticks_nominal; + #if DISABLED(S_CURVE_ACCELERATION) + static uint32_t acc_step_rate; // needed for deceleration start point #endif - static volatile long endstops_trigsteps[XYZ]; - static volatile long endstops_stepsTotal, endstops_stepsDone; + static volatile int32_t endstops_trigsteps[XYZ]; // // Positions of stepper motors, in step units @@ -145,17 +332,7 @@ class Stepper { // // Current direction of stepper motors (+1 or -1) // - static volatile signed char count_direction[NUM_AXIS]; - - // - // Mixing extruder mix counters - // - #if ENABLED(MIXING_EXTRUDER) - static long counter_m[MIXING_STEPPERS]; - #define MIXING_STEPPERS_LOOP(VAR) \ - for (uint8_t VAR = 0; VAR < MIXING_STEPPERS; VAR++) \ - if (current_block->mix_event_count[VAR]) - #endif + static int8_t count_direction[NUM_AXIS]; public: @@ -164,82 +341,64 @@ class Stepper { // Stepper() { }; - // // Initialize stepper hardware - // static void init(); - // // Interrupt Service Routines - // + // The ISR scheduler static void isr(); - #if ENABLED(LIN_ADVANCE) - static void advance_isr(); - static void advance_isr_scheduler(); - #endif + // The stepper pulse phase ISR + static void stepper_pulse_phase_isr(); - // - // Block until all buffered steps are executed - // - static void synchronize(); + // The stepper block processing phase ISR + static uint32_t stepper_block_phase_isr(); - // - // Set the current position in steps - // - static void set_position(const long &a, const long &b, const long &c, const long &e); - static void set_position(const AxisEnum &a, const long &v); - static void set_e_position(const long &e); + #if ENABLED(LIN_ADVANCE) + // The Linear advance stepper ISR + static uint32_t advance_isr(); + #endif - // - // Set direction bits for all steppers - // - static void set_directions(); + // Check if the given block is busy or not - Must not be called from ISR contexts + static bool is_block_busy(const block_t* const block); - // // Get the position of a stepper, in steps - // - static long position(const AxisEnum axis); + static int32_t position(const AxisEnum axis); - // // Report the positions of the steppers, in steps - // static void report_positions(); - // - // Get the position (mm) of an axis based on stepper position(s) - // - static float get_axis_position_mm(const AxisEnum axis); - - // - // SCARA AB axes are in degrees, not mm - // - #if IS_SCARA - FORCE_INLINE static float get_axis_position_degrees(const AxisEnum axis) { return get_axis_position_mm(axis); } - #endif - - // // The stepper subsystem goes to sleep when it runs out of things to execute. Call this // to notify the subsystem that it is time to go to work. - // static void wake_up(); - // - // Wait for moves to finish and disable all steppers - // - static void finish_and_disable(); + // Quickly stop all steppers + FORCE_INLINE static void quick_stop() { abort_current_block = true; } - // - // Quickly stop all steppers and clear the blocks queue - // - static void quick_stop(); - - // // The direction of a single motor - // FORCE_INLINE static bool motor_direction(const AxisEnum axis) { return TEST(last_direction_bits, axis); } + // The last movement direction was not null on the specified axis. Note that motor direction is not necessarily the same. + FORCE_INLINE static bool axis_is_moving(const AxisEnum axis) { return TEST(axis_did_move, axis); } + + // The extruder associated to the last movement + FORCE_INLINE static uint8_t movement_extruder() { + return + #if ENABLED(MIXING_EXTRUDER) + 0 + #else + last_moved_extruder + #endif + ; + } + + // Handle a triggered endstop + static void endstop_triggered(const AxisEnum axis); + + // Triggered position of an axis in steps + static int32_t triggered_position(const AxisEnum axis); + #if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM static void digitalPotWrite(const int16_t address, const int16_t value); static void digipot_current(const uint8_t driver, const int16_t current); @@ -251,117 +410,127 @@ class Stepper { static void microstep_readings(); #endif + #if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS) + FORCE_INLINE static void set_homing_dual_axis(const bool state) { homing_dual_axis = state; } + #endif #if ENABLED(X_DUAL_ENDSTOPS) - FORCE_INLINE static void set_homing_flag_x(const bool state) { performing_homing = state; } - FORCE_INLINE static void set_x_lock(const bool state) { locked_x_motor = state; } - FORCE_INLINE static void set_x2_lock(const bool state) { locked_x2_motor = state; } + FORCE_INLINE static void set_x_lock(const bool state) { locked_X_motor = state; } + FORCE_INLINE static void set_x2_lock(const bool state) { locked_X2_motor = state; } #endif #if ENABLED(Y_DUAL_ENDSTOPS) - FORCE_INLINE static void set_homing_flag_y(const bool state) { performing_homing = state; } - FORCE_INLINE static void set_y_lock(const bool state) { locked_y_motor = state; } - FORCE_INLINE static void set_y2_lock(const bool state) { locked_y2_motor = state; } + FORCE_INLINE static void set_y_lock(const bool state) { locked_Y_motor = state; } + FORCE_INLINE static void set_y2_lock(const bool state) { locked_Y2_motor = state; } #endif #if ENABLED(Z_DUAL_ENDSTOPS) - FORCE_INLINE static void set_homing_flag_z(const bool state) { performing_homing = state; } - FORCE_INLINE static void set_z_lock(const bool state) { locked_z_motor = state; } - FORCE_INLINE static void set_z2_lock(const bool state) { locked_z2_motor = state; } + FORCE_INLINE static void set_z_lock(const bool state) { locked_Z_motor = state; } + FORCE_INLINE static void set_z2_lock(const bool state) { locked_Z2_motor = state; } #endif #if ENABLED(BABYSTEPPING) static void babystep(const AxisEnum axis, const bool direction); // perform a short step with a single stepper motor, outside of any convention #endif - static inline void kill_current_block() { - step_events_completed = current_block->step_event_count; + #if HAS_MOTOR_CURRENT_PWM + static void refresh_motor_power(); + #endif + + // Set the current position in steps + inline static void set_position(const int32_t &a, const int32_t &b, const int32_t &c, const int32_t &e) { + planner.synchronize(); + const bool was_enabled = STEPPER_ISR_ENABLED(); + if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); + _set_position(a, b, c, e); + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); } - // - // Handle a triggered endstop - // - static void endstop_triggered(const AxisEnum axis); + inline static void set_position(const AxisEnum a, const int32_t &v) { + planner.synchronize(); - // - // Triggered position of an axis in mm (not core-savvy) - // - FORCE_INLINE static float triggered_position_mm(const AxisEnum axis) { - return endstops_trigsteps[axis] * planner.steps_to_mm[axis]; - } + #ifdef __AVR__ + // Protect the access to the position. Only required for AVR, as + // any 32bit CPU offers atomic access to 32bit variables + const bool was_enabled = STEPPER_ISR_ENABLED(); + if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); + #endif - #if HAS_MOTOR_CURRENT_PWM - static void refresh_motor_power(); - #endif + count_position[a] = v; + + #ifdef __AVR__ + // Reenable Stepper ISR + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); + #endif + } private: - FORCE_INLINE static hal_timer_t calc_timer_interval(hal_timer_t step_rate) { - hal_timer_t timer; + // Set the current position in steps + static void _set_position(const int32_t &a, const int32_t &b, const int32_t &c, const int32_t &e); - NOMORE(step_rate, MAX_STEP_FREQUENCY); + // Set direction bits for all steppers + static void set_directions(); - // TODO: HAL: tidy this up, use condtionals_post.h - #ifdef CPU_32_BIT - #if ENABLED(DISABLE_MULTI_STEPPING) - step_loops = 1; - #else - if (step_rate > STEP_DOUBLER_FREQUENCY * 2) { // If steprate > (STEP_DOUBLER_FREQUENCY * 2) kHz >> step 4 times - step_rate >>= 2; - step_loops = 4; - } - else if (step_rate > STEP_DOUBLER_FREQUENCY) { // If steprate > STEP_DOUBLER_FREQUENCY kHz >> step 2 times - step_rate >>= 1; - step_loops = 2; - } - else { - step_loops = 1; - } - #endif - #else - if (step_rate > 20000) { // If steprate > 20kHz >> step 4 times - step_rate >>= 2; - step_loops = 4; - } - else if (step_rate > 10000) { // If steprate > 10kHz >> step 2 times + FORCE_INLINE static uint32_t calc_timer_interval(uint32_t step_rate, uint8_t scale, uint8_t* loops) { + uint32_t timer; + + // Scale the frequency, as requested by the caller + step_rate <<= scale; + + uint8_t multistep = 1; + #if DISABLED(DISABLE_MULTI_STEPPING) + + // The stepping frequency limits for each multistepping rate + static const uint32_t limit[] PROGMEM = { + ( MAX_STEP_ISR_FREQUENCY_1X ), + ( MAX_STEP_ISR_FREQUENCY_2X >> 1), + ( MAX_STEP_ISR_FREQUENCY_4X >> 2), + ( MAX_STEP_ISR_FREQUENCY_8X >> 3), + ( MAX_STEP_ISR_FREQUENCY_16X >> 4), + ( MAX_STEP_ISR_FREQUENCY_32X >> 5), + ( MAX_STEP_ISR_FREQUENCY_64X >> 6), + (MAX_STEP_ISR_FREQUENCY_128X >> 7) + }; + + // Select the proper multistepping + uint8_t idx = 0; + while (idx < 7 && step_rate > (uint32_t)pgm_read_dword(&limit[idx])) { step_rate >>= 1; - step_loops = 2; - } - else { - step_loops = 1; - } + multistep <<= 1; + ++idx; + }; + #else + NOMORE(step_rate, uint32_t(MAX_STEP_ISR_FREQUENCY_1X)); #endif + *loops = multistep; #ifdef CPU_32_BIT // In case of high-performance processor, it is able to calculate in real-time - const uint32_t MIN_TIME_PER_STEP = (HAL_STEPPER_TIMER_RATE) / ((STEP_DOUBLER_FREQUENCY) * 2); - timer = uint32_t(HAL_STEPPER_TIMER_RATE) / step_rate; - NOLESS(timer, MIN_TIME_PER_STEP); // (STEP_DOUBLER_FREQUENCY * 2 kHz - this should never happen) + timer = uint32_t(STEPPER_TIMER_RATE) / step_rate; #else - NOLESS(step_rate, F_CPU / 500000); - step_rate -= F_CPU / 500000; // Correct for minimal speed + constexpr uint32_t min_step_rate = F_CPU / 500000U; + NOLESS(step_rate, min_step_rate); + step_rate -= min_step_rate; // Correct for minimal speed if (step_rate >= (8 * 256)) { // higher step rate - unsigned short table_address = (unsigned short)&speed_lookuptable_fast[(unsigned char)(step_rate >> 8)][0]; - unsigned char tmp_step_rate = (step_rate & 0x00ff); - unsigned short gain = (unsigned short)pgm_read_word_near(table_address + 2); - MultiU16X8toH16(timer, tmp_step_rate, gain); - timer = (unsigned short)pgm_read_word_near(table_address) - timer; + const uint8_t tmp_step_rate = (step_rate & 0x00FF); + const uint16_t table_address = (uint16_t)&speed_lookuptable_fast[(uint8_t)(step_rate >> 8)][0], + gain = (uint16_t)pgm_read_word_near(table_address + 2); + timer = MultiU16X8toH16(tmp_step_rate, gain); + timer = (uint16_t)pgm_read_word_near(table_address) - timer; } else { // lower step rates - unsigned short table_address = (unsigned short)&speed_lookuptable_slow[0][0]; - table_address += ((step_rate) >> 1) & 0xfffc; - timer = (unsigned short)pgm_read_word_near(table_address); - timer -= (((unsigned short)pgm_read_word_near(table_address + 2) * (unsigned char)(step_rate & 0x0007)) >> 3); - } - if (timer < 100) { // (20kHz - this should never happen) - timer = 100; - SERIAL_ECHOPGM(MSG_STEPPER_TOO_HIGH); - SERIAL_ECHOLN(step_rate); + uint16_t table_address = (uint16_t)&speed_lookuptable_slow[0][0]; + table_address += ((step_rate) >> 1) & 0xFFFC; + timer = (uint16_t)pgm_read_word_near(table_address) + - (((uint16_t)pgm_read_word_near(table_address + 2) * (uint8_t)(step_rate & 0x0007)) >> 3); } + // (there is no need to limit the timer value here. All limits have been + // applied above, and AVR is able to keep up at 30khz Stepping ISR rate) #endif return timer; } - #if ENABLED(BEZIER_JERK_CONTROL) - static void _calc_bezier_curve_coeffs(const int32_t v0, const int32_t v1, const uint32_t steps); + #if ENABLED(S_CURVE_ACCELERATION) + static void _calc_bezier_curve_coeffs(const int32_t v0, const int32_t v1, const uint32_t av); static int32_t _eval_bezier_curve(const uint32_t curr_step); #endif @@ -375,4 +544,6 @@ class Stepper { }; +extern Stepper stepper; + #endif // STEPPER_H diff --git a/Marlin/src/module/stepper_indirection.cpp b/Marlin/src/module/stepper_indirection.cpp index 1220427dddda..8858d22fdb03 100644 --- a/Marlin/src/module/stepper_indirection.cpp +++ b/Marlin/src/module/stepper_indirection.cpp @@ -38,7 +38,7 @@ // // TMC26X Driver objects and inits // -#if ENABLED(HAVE_TMC26X) +#if HAS_DRIVER(TMC26X) #include #ifdef STM32F7 @@ -47,39 +47,39 @@ #include #endif - #define _TMC26X_DEFINE(ST) TMC26XStepper stepper##ST(200, ST##_ENABLE_PIN, ST##_STEP_PIN, ST##_DIR_PIN, ST##_MAX_CURRENT, ST##_SENSE_RESISTOR) + #define _TMC26X_DEFINE(ST) TMC26XStepper stepper##ST(200, ST##_CS_PIN, ST##_STEP_PIN, ST##_DIR_PIN, ST##_MAX_CURRENT, ST##_SENSE_RESISTOR) - #if ENABLED(X_IS_TMC26X) + #if AXIS_DRIVER_TYPE(X, TMC26X) _TMC26X_DEFINE(X); #endif - #if ENABLED(X2_IS_TMC26X) + #if AXIS_DRIVER_TYPE(X2, TMC26X) _TMC26X_DEFINE(X2); #endif - #if ENABLED(Y_IS_TMC26X) + #if AXIS_DRIVER_TYPE(Y, TMC26X) _TMC26X_DEFINE(Y); #endif - #if ENABLED(Y2_IS_TMC26X) + #if AXIS_DRIVER_TYPE(Y2, TMC26X) _TMC26X_DEFINE(Y2); #endif - #if ENABLED(Z_IS_TMC26X) + #if AXIS_DRIVER_TYPE(Z, TMC26X) _TMC26X_DEFINE(Z); #endif - #if ENABLED(Z2_IS_TMC26X) + #if AXIS_DRIVER_TYPE(Z2, TMC26X) _TMC26X_DEFINE(Z2); #endif - #if ENABLED(E0_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E0, TMC26X) _TMC26X_DEFINE(E0); #endif - #if ENABLED(E1_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E1, TMC26X) _TMC26X_DEFINE(E1); #endif - #if ENABLED(E2_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E2, TMC26X) _TMC26X_DEFINE(E2); #endif - #if ENABLED(E3_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E3, TMC26X) _TMC26X_DEFINE(E3); #endif - #if ENABLED(E4_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E4, TMC26X) _TMC26X_DEFINE(E4); #endif @@ -89,46 +89,46 @@ }while(0) void tmc26x_init_to_defaults() { - #if ENABLED(X_IS_TMC26X) + #if AXIS_DRIVER_TYPE(X, TMC26X) _TMC26X_INIT(X); #endif - #if ENABLED(X2_IS_TMC26X) + #if AXIS_DRIVER_TYPE(X2, TMC26X) _TMC26X_INIT(X2); #endif - #if ENABLED(Y_IS_TMC26X) + #if AXIS_DRIVER_TYPE(Y, TMC26X) _TMC26X_INIT(Y); #endif - #if ENABLED(Y2_IS_TMC26X) + #if AXIS_DRIVER_TYPE(Y2, TMC26X) _TMC26X_INIT(Y2); #endif - #if ENABLED(Z_IS_TMC26X) + #if AXIS_DRIVER_TYPE(Z, TMC26X) _TMC26X_INIT(Z); #endif - #if ENABLED(Z2_IS_TMC26X) + #if AXIS_DRIVER_TYPE(Z2, TMC26X) _TMC26X_INIT(Z2); #endif - #if ENABLED(E0_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E0, TMC26X) _TMC26X_INIT(E0); #endif - #if ENABLED(E1_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E1, TMC26X) _TMC26X_INIT(E1); #endif - #if ENABLED(E2_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E2, TMC26X) _TMC26X_INIT(E2); #endif - #if ENABLED(E3_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E3, TMC26X) _TMC26X_INIT(E3); #endif - #if ENABLED(E4_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E4, TMC26X) _TMC26X_INIT(E4); #endif } -#endif // HAVE_TMC26X +#endif // TMC26X // // TMC2130 Driver objects and inits // -#if ENABLED(HAVE_TMC2130) +#if HAS_DRIVER(TMC2130) #include #include @@ -146,37 +146,37 @@ #endif // Stepper objects of TMC2130 steppers used - #if ENABLED(X_IS_TMC2130) + #if AXIS_DRIVER_TYPE(X, TMC2130) _TMC2130_DEFINE(X); #endif - #if ENABLED(X2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(X2, TMC2130) _TMC2130_DEFINE(X2); #endif - #if ENABLED(Y_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Y, TMC2130) _TMC2130_DEFINE(Y); #endif - #if ENABLED(Y2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Y2, TMC2130) _TMC2130_DEFINE(Y2); #endif - #if ENABLED(Z_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Z, TMC2130) _TMC2130_DEFINE(Z); #endif - #if ENABLED(Z2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Z2, TMC2130) _TMC2130_DEFINE(Z2); #endif - #if ENABLED(E0_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E0, TMC2130) _TMC2130_DEFINE(E0); #endif - #if ENABLED(E1_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E1, TMC2130) _TMC2130_DEFINE(E1); #endif - #if ENABLED(E2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E2, TMC2130) _TMC2130_DEFINE(E2); #endif - #if ENABLED(E3_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E3, TMC2130) _TMC2130_DEFINE(E3); #endif - #if ENABLED(E4_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E4, TMC2130) _TMC2130_DEFINE(E4); #endif @@ -184,6 +184,10 @@ // Following values from Trinamic's spreadsheet with values for a NEMA17 (42BYGHW609) // https://www.trinamic.com/products/integrated-circuits/details/tmc2130/ void tmc2130_init(TMC2130Stepper &st, const uint16_t mA, const uint16_t microsteps, const uint32_t thrs, const float spmm) { + #if DISABLED(STEALTHCHOP) || DISABLED(HYBRID_THRESHOLD) + UNUSED(thrs); + UNUSED(spmm); + #endif st.begin(); st.setCurrent(mA, R_SENSE, HOLD_MULTIPLIER); st.microsteps(microsteps); @@ -201,12 +205,7 @@ st.stealthChop(1); #if ENABLED(HYBRID_THRESHOLD) st.stealth_max_speed(12650000UL*microsteps/(256*thrs*spmm)); - #else - UNUSED(thrs); - UNUSED(spmm); #endif - #elif ENABLED(SENSORLESS_HOMING) - st.coolstep_min_speed(1024UL * 1024UL - 1UL); #endif st.GSTAT(); // Clear GSTAT } @@ -214,74 +213,74 @@ #define _TMC2130_INIT(ST, SPMM) tmc2130_init(stepper##ST, ST##_CURRENT, ST##_MICROSTEPS, ST##_HYBRID_THRESHOLD, SPMM) void tmc2130_init_to_defaults() { - #if ENABLED(X_IS_TMC2130) + #if AXIS_DRIVER_TYPE(X, TMC2130) _TMC2130_INIT( X, planner.axis_steps_per_mm[X_AXIS]); #endif - #if ENABLED(X2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(X2, TMC2130) _TMC2130_INIT(X2, planner.axis_steps_per_mm[X_AXIS]); #endif - #if ENABLED(Y_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Y, TMC2130) _TMC2130_INIT( Y, planner.axis_steps_per_mm[Y_AXIS]); #endif - #if ENABLED(Y2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Y2, TMC2130) _TMC2130_INIT(Y2, planner.axis_steps_per_mm[Y_AXIS]); #endif - #if ENABLED(Z_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Z, TMC2130) _TMC2130_INIT( Z, planner.axis_steps_per_mm[Z_AXIS]); #endif - #if ENABLED(Z2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Z2, TMC2130) _TMC2130_INIT(Z2, planner.axis_steps_per_mm[Z_AXIS]); #endif - #if ENABLED(E0_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E0, TMC2130) _TMC2130_INIT(E0, planner.axis_steps_per_mm[E_AXIS]); #endif - #if ENABLED(E1_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E1, TMC2130) { constexpr int extruder = 1; _TMC2130_INIT(E1, planner.axis_steps_per_mm[E_AXIS_N]); } #endif - #if ENABLED(E2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E2, TMC2130) { constexpr int extruder = 2; _TMC2130_INIT(E2, planner.axis_steps_per_mm[E_AXIS_N]); } #endif - #if ENABLED(E3_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E3, TMC2130) { constexpr int extruder = 3; _TMC2130_INIT(E3, planner.axis_steps_per_mm[E_AXIS_N]); } #endif - #if ENABLED(E4_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E4, TMC2130) { constexpr int extruder = 4; _TMC2130_INIT(E4, planner.axis_steps_per_mm[E_AXIS_N]); } #endif #if ENABLED(SENSORLESS_HOMING) #define TMC_INIT_SGT(P,Q) stepper##Q.sgt(P##_HOMING_SENSITIVITY); - #ifdef X_HOMING_SENSITIVITY - #if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS) + #if X_SENSORLESS + #if AXIS_DRIVER_TYPE(X, TMC2130) stepperX.sgt(X_HOMING_SENSITIVITY); #endif - #if ENABLED(X2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(X2, TMC2130) stepperX2.sgt(X_HOMING_SENSITIVITY); #endif #endif - #ifdef Y_HOMING_SENSITIVITY - #if ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS) + #if Y_SENSORLESS + #if AXIS_DRIVER_TYPE(Y, TMC2130) stepperY.sgt(Y_HOMING_SENSITIVITY); #endif - #if ENABLED(Y2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Y2, TMC2130) stepperY2.sgt(Y_HOMING_SENSITIVITY); #endif #endif - #ifdef Z_HOMING_SENSITIVITY - #if ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS) + #if Z_SENSORLESS + #if AXIS_DRIVER_TYPE(Z, TMC2130) stepperZ.sgt(Z_HOMING_SENSITIVITY); #endif - #if ENABLED(Z2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Z2, TMC2130) stepperZ2.sgt(Z_HOMING_SENSITIVITY); #endif #endif #endif } -#endif // HAVE_TMC2130 +#endif // TMC2130 // // TMC2208 Driver objects and inits // -#if ENABLED(HAVE_TMC2208) +#if HAS_DRIVER(TMC2208) #include #include @@ -297,77 +296,77 @@ TMC2208Stepper stepper##ST(&ST##_HARDWARE_SERIAL, ST##_SERIAL_RX_PIN > -1) // Stepper objects of TMC2208 steppers used - #if ENABLED(X_IS_TMC2208) + #if AXIS_DRIVER_TYPE(X, TMC2208) #ifdef X_HARDWARE_SERIAL _TMC2208_DEFINE_HARDWARE(X); #else _TMC2208_DEFINE_SOFTWARE(X); #endif #endif - #if ENABLED(X2_IS_TMC2208) + #if AXIS_DRIVER_TYPE(X2, TMC2208) #ifdef X2_HARDWARE_SERIAL _TMC2208_DEFINE_HARDWARE(X2); #else _TMC2208_DEFINE_SOFTWARE(X2); #endif #endif - #if ENABLED(Y_IS_TMC2208) + #if AXIS_DRIVER_TYPE(Y, TMC2208) #ifdef Y_HARDWARE_SERIAL _TMC2208_DEFINE_HARDWARE(Y); #else _TMC2208_DEFINE_SOFTWARE(Y); #endif #endif - #if ENABLED(Y2_IS_TMC2208) + #if AXIS_DRIVER_TYPE(Y2, TMC2208) #ifdef Y2_HARDWARE_SERIAL _TMC2208_DEFINE_HARDWARE(Y2); #else _TMC2208_DEFINE_SOFTWARE(Y2); #endif #endif - #if ENABLED(Z_IS_TMC2208) + #if AXIS_DRIVER_TYPE(Z, TMC2208) #ifdef Z_HARDWARE_SERIAL _TMC2208_DEFINE_HARDWARE(Z); #else _TMC2208_DEFINE_SOFTWARE(Z); #endif #endif - #if ENABLED(Z2_IS_TMC2208) + #if AXIS_DRIVER_TYPE(Z2, TMC2208) #ifdef Z2_HARDWARE_SERIAL _TMC2208_DEFINE_HARDWARE(Z2); #else _TMC2208_DEFINE_SOFTWARE(Z2); #endif #endif - #if ENABLED(E0_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E0, TMC2208) #ifdef E0_HARDWARE_SERIAL _TMC2208_DEFINE_HARDWARE(E0); #else _TMC2208_DEFINE_SOFTWARE(E0); #endif #endif - #if ENABLED(E1_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E1, TMC2208) #ifdef E1_HARDWARE_SERIAL _TMC2208_DEFINE_HARDWARE(E1); #else _TMC2208_DEFINE_SOFTWARE(E1); #endif #endif - #if ENABLED(E2_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E2, TMC2208) #ifdef E2_HARDWARE_SERIAL _TMC2208_DEFINE_HARDWARE(E2); #else _TMC2208_DEFINE_SOFTWARE(E2); #endif #endif - #if ENABLED(E3_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E3, TMC2208) #ifdef E3_HARDWARE_SERIAL _TMC2208_DEFINE_HARDWARE(E3); #else _TMC2208_DEFINE_SOFTWARE(E3); #endif #endif - #if ENABLED(E4_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E4, TMC2208) #ifdef E4_HARDWARE_SERIAL _TMC2208_DEFINE_HARDWARE(E4); #else @@ -376,37 +375,37 @@ #endif void tmc2208_serial_begin() { - #if ENABLED(X_IS_TMC2208) + #if AXIS_DRIVER_TYPE(X, TMC2208) X_HARDWARE_SERIAL.begin(115200); #endif - #if ENABLED(X2_IS_TMC2208) + #if AXIS_DRIVER_TYPE(X2, TMC2208) X2_HARDWARE_SERIAL.begin(115200); #endif - #if ENABLED(Y_IS_TMC2208) + #if AXIS_DRIVER_TYPE(Y, TMC2208) Y_HARDWARE_SERIAL.begin(115200); #endif - #if ENABLED(Y2_IS_TMC2208) + #if AXIS_DRIVER_TYPE(Y2, TMC2208) Y2_HARDWARE_SERIAL.begin(115200); #endif - #if ENABLED(Z_IS_TMC2208) + #if AXIS_DRIVER_TYPE(Z, TMC2208) Z_HARDWARE_SERIAL.begin(115200); #endif - #if ENABLED(Z2_IS_TMC2208) + #if AXIS_DRIVER_TYPE(Z2, TMC2208) Z2_HARDWARE_SERIAL.begin(115200); #endif - #if ENABLED(E0_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E0, TMC2208) E0_HARDWARE_SERIAL.begin(115200); #endif - #if ENABLED(E1_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E1, TMC2208) E1_HARDWARE_SERIAL.begin(115200); #endif - #if ENABLED(E2_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E2, TMC2208) E2_HARDWARE_SERIAL.begin(115200); #endif - #if ENABLED(E3_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E3, TMC2208) E3_HARDWARE_SERIAL.begin(115200); #endif - #if ENABLED(E4_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E4, TMC2208) E4_HARDWARE_SERIAL.begin(115200); #endif } @@ -450,94 +449,94 @@ #define _TMC2208_INIT(ST, SPMM) tmc2208_init(stepper##ST, ST##_CURRENT, ST##_MICROSTEPS, ST##_HYBRID_THRESHOLD, SPMM) void tmc2208_init_to_defaults() { - #if ENABLED(X_IS_TMC2208) + #if AXIS_DRIVER_TYPE(X, TMC2208) _TMC2208_INIT(X, planner.axis_steps_per_mm[X_AXIS]); #endif - #if ENABLED(X2_IS_TMC2208) + #if AXIS_DRIVER_TYPE(X2, TMC2208) _TMC2208_INIT(X2, planner.axis_steps_per_mm[X_AXIS]); #endif - #if ENABLED(Y_IS_TMC2208) + #if AXIS_DRIVER_TYPE(Y, TMC2208) _TMC2208_INIT(Y, planner.axis_steps_per_mm[Y_AXIS]); #endif - #if ENABLED(Y2_IS_TMC2208) + #if AXIS_DRIVER_TYPE(Y2, TMC2208) _TMC2208_INIT(Y2, planner.axis_steps_per_mm[Y_AXIS]); #endif - #if ENABLED(Z_IS_TMC2208) + #if AXIS_DRIVER_TYPE(Z, TMC2208) _TMC2208_INIT(Z, planner.axis_steps_per_mm[Z_AXIS]); #endif - #if ENABLED(Z2_IS_TMC2208) + #if AXIS_DRIVER_TYPE(Z2, TMC2208) _TMC2208_INIT(Z2, planner.axis_steps_per_mm[Z_AXIS]); #endif - #if ENABLED(E0_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E0, TMC2208) _TMC2208_INIT(E0, planner.axis_steps_per_mm[E_AXIS]); #endif - #if ENABLED(E1_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E1, TMC2208) { constexpr int extruder = 1; _TMC2208_INIT(E1, planner.axis_steps_per_mm[E_AXIS_N]); } #endif - #if ENABLED(E2_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E2, TMC2208) { constexpr int extruder = 2; _TMC2208_INIT(E2, planner.axis_steps_per_mm[E_AXIS_N]); } #endif - #if ENABLED(E3_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E3, TMC2208) { constexpr int extruder = 3; _TMC2208_INIT(E3, planner.axis_steps_per_mm[E_AXIS_N]); } #endif - #if ENABLED(E4_IS_TMC2208) + #if AXIS_DRIVER_TYPE(E4, TMC2208) { constexpr int extruder = 4; _TMC2208_INIT(E4, planner.axis_steps_per_mm[E_AXIS_N]); } #endif } -#endif // HAVE_TMC2208 +#endif // TMC2208 void restore_stepper_drivers() { - #if X_IS_TRINAMIC + #if AXIS_IS_TMC(X) stepperX.push(); #endif - #if X2_IS_TRINAMIC + #if AXIS_IS_TMC(X2) stepperX2.push(); #endif - #if Y_IS_TRINAMIC + #if AXIS_IS_TMC(Y) stepperY.push(); #endif - #if Y2_IS_TRINAMIC + #if AXIS_IS_TMC(Y2) stepperY2.push(); #endif - #if Z_IS_TRINAMIC + #if AXIS_IS_TMC(Z) stepperZ.push(); #endif - #if Z2_IS_TRINAMIC + #if AXIS_IS_TMC(Z2) stepperZ2.push(); #endif - #if E0_IS_TRINAMIC + #if AXIS_IS_TMC(E0) stepperE0.push(); #endif - #if E1_IS_TRINAMIC + #if AXIS_IS_TMC(E1) stepperE1.push(); #endif - #if E2_IS_TRINAMIC + #if AXIS_IS_TMC(E2) stepperE2.push(); #endif - #if E3_IS_TRINAMIC + #if AXIS_IS_TMC(E3) stepperE3.push(); #endif - #if E4_IS_TRINAMIC + #if AXIS_IS_TMC(E4) stepperE4.push(); #endif } void reset_stepper_drivers() { - #if ENABLED(HAVE_TMC26X) + #if HAS_DRIVER(TMC26X) tmc26x_init_to_defaults(); #endif - #if ENABLED(HAVE_TMC2130) + #if HAS_DRIVER(TMC2130) delay(100); tmc2130_init_to_defaults(); #endif - #if ENABLED(HAVE_TMC2208) + #if HAS_DRIVER(TMC2208) delay(100); tmc2208_init_to_defaults(); #endif #ifdef TMC_ADV TMC_ADV() #endif - #if ENABLED(HAVE_L6470DRIVER) + #if HAS_DRIVER(L6470) L6470_init_to_defaults(); #endif } @@ -545,7 +544,7 @@ void reset_stepper_drivers() { // // L6470 Driver objects and inits // -#if ENABLED(HAVE_L6470DRIVER) +#if HAS_DRIVER(L6470) #include #include @@ -553,37 +552,37 @@ void reset_stepper_drivers() { #define _L6470_DEFINE(ST) L6470 stepper##ST(ST##_ENABLE_PIN) // L6470 Stepper objects - #if ENABLED(X_IS_L6470) + #if AXIS_DRIVER_TYPE(X, L6470) _L6470_DEFINE(X); #endif - #if ENABLED(X2_IS_L6470) + #if AXIS_DRIVER_TYPE(X2, L6470) _L6470_DEFINE(X2); #endif - #if ENABLED(Y_IS_L6470) + #if AXIS_DRIVER_TYPE(Y, L6470) _L6470_DEFINE(Y); #endif - #if ENABLED(Y2_IS_L6470) + #if AXIS_DRIVER_TYPE(Y2, L6470) _L6470_DEFINE(Y2); #endif - #if ENABLED(Z_IS_L6470) + #if AXIS_DRIVER_TYPE(Z, L6470) _L6470_DEFINE(Z); #endif - #if ENABLED(Z2_IS_L6470) + #if AXIS_DRIVER_TYPE(Z2, L6470) _L6470_DEFINE(Z2); #endif - #if ENABLED(E0_IS_L6470) + #if AXIS_DRIVER_TYPE(E0, L6470) _L6470_DEFINE(E0); #endif - #if ENABLED(E1_IS_L6470) + #if AXIS_DRIVER_TYPE(E1, L6470) _L6470_DEFINE(E1); #endif - #if ENABLED(E2_IS_L6470) + #if AXIS_DRIVER_TYPE(E2, L6470) _L6470_DEFINE(E2); #endif - #if ENABLED(E3_IS_L6470) + #if AXIS_DRIVER_TYPE(E3, L6470) _L6470_DEFINE(E3); #endif - #if ENABLED(E4_IS_L6470) + #if AXIS_DRIVER_TYPE(E4, L6470) _L6470_DEFINE(E4); #endif @@ -596,39 +595,39 @@ void reset_stepper_drivers() { }while(0) void L6470_init_to_defaults() { - #if ENABLED(X_IS_L6470) + #if AXIS_DRIVER_TYPE(X, L6470) _L6470_INIT(X); #endif - #if ENABLED(X2_IS_L6470) + #if AXIS_DRIVER_TYPE(X2, L6470) _L6470_INIT(X2); #endif - #if ENABLED(Y_IS_L6470) + #if AXIS_DRIVER_TYPE(Y, L6470) _L6470_INIT(Y); #endif - #if ENABLED(Y2_IS_L6470) + #if AXIS_DRIVER_TYPE(Y2, L6470) _L6470_INIT(Y2); #endif - #if ENABLED(Z_IS_L6470) + #if AXIS_DRIVER_TYPE(Z, L6470) _L6470_INIT(Z); #endif - #if ENABLED(Z2_IS_L6470) + #if AXIS_DRIVER_TYPE(Z2, L6470) _L6470_INIT(Z2); #endif - #if ENABLED(E0_IS_L6470) + #if AXIS_DRIVER_TYPE(E0, L6470) _L6470_INIT(E0); #endif - #if ENABLED(E1_IS_L6470) + #if AXIS_DRIVER_TYPE(E1, L6470) _L6470_INIT(E1); #endif - #if ENABLED(E2_IS_L6470) + #if AXIS_DRIVER_TYPE(E2, L6470) _L6470_INIT(E2); #endif - #if ENABLED(E3_IS_L6470) + #if AXIS_DRIVER_TYPE(E3, L6470) _L6470_INIT(E3); #endif - #if ENABLED(E4_IS_L6470) + #if AXIS_DRIVER_TYPE(E4, L6470) _L6470_INIT(E4); #endif } -#endif // HAVE_L6470DRIVER +#endif // L6470 diff --git a/Marlin/src/module/stepper_indirection.h b/Marlin/src/module/stepper_indirection.h index 3342337340d9..8ac4a0d8e951 100644 --- a/Marlin/src/module/stepper_indirection.h +++ b/Marlin/src/module/stepper_indirection.h @@ -47,7 +47,7 @@ #include "../inc/MarlinConfig.h" // TMC26X drivers have STEP/DIR on normal pins, but ENABLE via SPI -#if ENABLED(HAVE_TMC26X) +#if HAS_DRIVER(TMC26X) #include #ifdef STM32F7 #include "../HAL/HAL_STM32F7/TMC2660.h" @@ -57,19 +57,19 @@ void tmc26x_init_to_defaults(); #endif -#if ENABLED(HAVE_TMC2130) +#if HAS_DRIVER(TMC2130) #include void tmc2130_init_to_defaults(); #endif -#if ENABLED(HAVE_TMC2208) +#if HAS_DRIVER(TMC2208) #include void tmc2208_serial_begin(); void tmc2208_init_to_defaults(); #endif // L6470 has STEP on normal pins, but DIR/ENABLE via SPI -#if ENABLED(HAVE_L6470DRIVER) +#if HAS_DRIVER(L6470) #include #include void L6470_init_to_defaults(); @@ -79,7 +79,7 @@ void restore_stepper_drivers(); // Called by PSU_ON void reset_stepper_drivers(); // Called by settings.load / settings.reset // X Stepper -#if ENABLED(X_IS_L6470) +#if AXIS_DRIVER_TYPE(X, L6470) extern L6470 stepperX; #define X_ENABLE_INIT NOOP #define X_ENABLE_WRITE(STATE) do{ if (STATE) stepperX.Step_Clock(stepperX.getStatus() & STATUS_HIZ); else stepperX.softFree(); }while(0) @@ -88,15 +88,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define X_DIR_WRITE(STATE) stepperX.Step_Clock(STATE) #define X_DIR_READ (stepperX.getStatus() & STATUS_DIR) #else - #if ENABLED(X_IS_TMC26X) + #if AXIS_DRIVER_TYPE(X, TMC26X) extern TMC26XStepper stepperX; #define X_ENABLE_INIT NOOP #define X_ENABLE_WRITE(STATE) stepperX.setEnabled(STATE) #define X_ENABLE_READ stepperX.isEnabled() #else - #if ENABLED(X_IS_TMC2130) + #if AXIS_DRIVER_TYPE(X, TMC2130) extern TMC2130Stepper stepperX; - #elif ENABLED(X_IS_TMC2208) + #elif AXIS_DRIVER_TYPE(X, TMC2208) extern TMC2208Stepper stepperX; #endif #define X_ENABLE_INIT SET_OUTPUT(X_ENABLE_PIN) @@ -112,7 +112,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define X_STEP_READ READ(X_STEP_PIN) // Y Stepper -#if ENABLED(Y_IS_L6470) +#if AXIS_DRIVER_TYPE(Y, L6470) extern L6470 stepperY; #define Y_ENABLE_INIT NOOP #define Y_ENABLE_WRITE(STATE) do{ if (STATE) stepperY.Step_Clock(stepperY.getStatus() & STATUS_HIZ); else stepperY.softFree(); }while(0) @@ -121,15 +121,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define Y_DIR_WRITE(STATE) stepperY.Step_Clock(STATE) #define Y_DIR_READ (stepperY.getStatus() & STATUS_DIR) #else - #if ENABLED(Y_IS_TMC26X) + #if AXIS_DRIVER_TYPE(Y, TMC26X) extern TMC26XStepper stepperY; #define Y_ENABLE_INIT NOOP #define Y_ENABLE_WRITE(STATE) stepperY.setEnabled(STATE) #define Y_ENABLE_READ stepperY.isEnabled() #else - #if ENABLED(Y_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Y, TMC2130) extern TMC2130Stepper stepperY; - #elif ENABLED(Y_IS_TMC2208) + #elif AXIS_DRIVER_TYPE(Y, TMC2208) extern TMC2208Stepper stepperY; #endif #define Y_ENABLE_INIT SET_OUTPUT(Y_ENABLE_PIN) @@ -145,7 +145,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define Y_STEP_READ READ(Y_STEP_PIN) // Z Stepper -#if ENABLED(Z_IS_L6470) +#if AXIS_DRIVER_TYPE(Z, L6470) extern L6470 stepperZ; #define Z_ENABLE_INIT NOOP #define Z_ENABLE_WRITE(STATE) do{ if (STATE) stepperZ.Step_Clock(stepperZ.getStatus() & STATUS_HIZ); else stepperZ.softFree(); }while(0) @@ -154,15 +154,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define Z_DIR_WRITE(STATE) stepperZ.Step_Clock(STATE) #define Z_DIR_READ (stepperZ.getStatus() & STATUS_DIR) #else - #if ENABLED(Z_IS_TMC26X) + #if AXIS_DRIVER_TYPE(Z, TMC26X) extern TMC26XStepper stepperZ; #define Z_ENABLE_INIT NOOP #define Z_ENABLE_WRITE(STATE) stepperZ.setEnabled(STATE) #define Z_ENABLE_READ stepperZ.isEnabled() #else - #if ENABLED(Z_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Z, TMC2130) extern TMC2130Stepper stepperZ; - #elif ENABLED(Z_IS_TMC2208) + #elif AXIS_DRIVER_TYPE(Z, TMC2208) extern TMC2208Stepper stepperZ; #endif #define Z_ENABLE_INIT SET_OUTPUT(Z_ENABLE_PIN) @@ -179,7 +179,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset // X2 Stepper #if HAS_X2_ENABLE - #if ENABLED(X2_IS_L6470) + #if AXIS_DRIVER_TYPE(X2, L6470) extern L6470 stepperX2; #define X2_ENABLE_INIT NOOP #define X2_ENABLE_WRITE(STATE) do{ if (STATE) stepperX2.Step_Clock(stepperX2.getStatus() & STATUS_HIZ); else stepperX2.softFree(); }while(0) @@ -188,15 +188,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define X2_DIR_WRITE(STATE) stepperX2.Step_Clock(STATE) #define X2_DIR_READ (stepperX2.getStatus() & STATUS_DIR) #else - #if ENABLED(X2_IS_TMC26X) + #if AXIS_DRIVER_TYPE(X2, TMC26X) extern TMC26XStepper stepperX2; #define X2_ENABLE_INIT NOOP #define X2_ENABLE_WRITE(STATE) stepperX2.setEnabled(STATE) #define X2_ENABLE_READ stepperX2.isEnabled() #else - #if ENABLED(X2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(X2, TMC2130) extern TMC2130Stepper stepperX2; - #elif ENABLED(X2_IS_TMC2208) + #elif AXIS_DRIVER_TYPE(X2, TMC2208) extern TMC2208Stepper stepperX2; #endif #define X2_ENABLE_INIT SET_OUTPUT(X2_ENABLE_PIN) @@ -214,7 +214,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset // Y2 Stepper #if HAS_Y2_ENABLE - #if ENABLED(Y2_IS_L6470) + #if AXIS_DRIVER_TYPE(Y2, L6470) extern L6470 stepperY2; #define Y2_ENABLE_INIT NOOP #define Y2_ENABLE_WRITE(STATE) do{ if (STATE) stepperY2.Step_Clock(stepperY2.getStatus() & STATUS_HIZ); else stepperY2.softFree(); }while(0) @@ -223,15 +223,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define Y2_DIR_WRITE(STATE) stepperY2.Step_Clock(STATE) #define Y2_DIR_READ (stepperY2.getStatus() & STATUS_DIR) #else - #if ENABLED(Y2_IS_TMC26X) + #if AXIS_DRIVER_TYPE(Y2, TMC26X) extern TMC26XStepper stepperY2; #define Y2_ENABLE_INIT NOOP #define Y2_ENABLE_WRITE(STATE) stepperY2.setEnabled(STATE) #define Y2_ENABLE_READ stepperY2.isEnabled() #else - #if ENABLED(Y2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Y2, TMC2130) extern TMC2130Stepper stepperY2; - #elif ENABLED(Y2_IS_TMC2208) + #elif AXIS_DRIVER_TYPE(Y2, TMC2208) extern TMC2208Stepper stepperY2; #endif #define Y2_ENABLE_INIT SET_OUTPUT(Y2_ENABLE_PIN) @@ -249,7 +249,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset // Z2 Stepper #if HAS_Z2_ENABLE - #if ENABLED(Z2_IS_L6470) + #if AXIS_DRIVER_TYPE(Z2, L6470) extern L6470 stepperZ2; #define Z2_ENABLE_INIT NOOP #define Z2_ENABLE_WRITE(STATE) do{ if (STATE) stepperZ2.Step_Clock(stepperZ2.getStatus() & STATUS_HIZ); else stepperZ2.softFree(); }while(0) @@ -258,15 +258,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define Z2_DIR_WRITE(STATE) stepperZ2.Step_Clock(STATE) #define Z2_DIR_READ (stepperZ2.getStatus() & STATUS_DIR) #else - #if ENABLED(Z2_IS_TMC26X) + #if AXIS_DRIVER_TYPE(Z2, TMC26X) extern TMC26XStepper stepperZ2; #define Z2_ENABLE_INIT NOOP #define Z2_ENABLE_WRITE(STATE) stepperZ2.setEnabled(STATE) #define Z2_ENABLE_READ stepperZ2.isEnabled() #else - #if ENABLED(Z2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(Z2, TMC2130) extern TMC2130Stepper stepperZ2; - #elif ENABLED(Z2_IS_TMC2208) + #elif AXIS_DRIVER_TYPE(Z2, TMC2208) extern TMC2208Stepper stepperZ2; #endif #define Z2_ENABLE_INIT SET_OUTPUT(Z2_ENABLE_PIN) @@ -283,7 +283,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #endif // E0 Stepper -#if ENABLED(E0_IS_L6470) +#if AXIS_DRIVER_TYPE(E0, L6470) extern L6470 stepperE0; #define E0_ENABLE_INIT NOOP #define E0_ENABLE_WRITE(STATE) do{ if (STATE) stepperE0.Step_Clock(stepperE0.getStatus() & STATUS_HIZ); else stepperE0.softFree(); }while(0) @@ -292,15 +292,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E0_DIR_WRITE(STATE) stepperE0.Step_Clock(STATE) #define E0_DIR_READ (stepperE0.getStatus() & STATUS_DIR) #else - #if ENABLED(E0_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E0, TMC26X) extern TMC26XStepper stepperE0; #define E0_ENABLE_INIT NOOP #define E0_ENABLE_WRITE(STATE) stepperE0.setEnabled(STATE) #define E0_ENABLE_READ stepperE0.isEnabled() #else - #if ENABLED(E0_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E0, TMC2130) extern TMC2130Stepper stepperE0; - #elif ENABLED(E0_IS_TMC2208) + #elif AXIS_DRIVER_TYPE(E0, TMC2208) extern TMC2208Stepper stepperE0; #endif #define E0_ENABLE_INIT SET_OUTPUT(E0_ENABLE_PIN) @@ -316,7 +316,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E0_STEP_READ READ(E0_STEP_PIN) // E1 Stepper -#if ENABLED(E1_IS_L6470) +#if AXIS_DRIVER_TYPE(E1, L6470) extern L6470 stepperE1; #define E1_ENABLE_INIT NOOP #define E1_ENABLE_WRITE(STATE) do{ if (STATE) stepperE1.Step_Clock(stepperE1.getStatus() & STATUS_HIZ); else stepperE1.softFree(); }while(0) @@ -325,15 +325,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E1_DIR_WRITE(STATE) stepperE1.Step_Clock(STATE) #define E1_DIR_READ (stepperE1.getStatus() & STATUS_DIR) #else - #if ENABLED(E1_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E1, TMC26X) extern TMC26XStepper stepperE1; #define E1_ENABLE_INIT NOOP #define E1_ENABLE_WRITE(STATE) stepperE1.setEnabled(STATE) #define E1_ENABLE_READ stepperE1.isEnabled() #else - #if ENABLED(E1_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E1, TMC2130) extern TMC2130Stepper stepperE1; - #elif ENABLED(E1_IS_TMC2208) + #elif AXIS_DRIVER_TYPE(E1, TMC2208) extern TMC2208Stepper stepperE1; #endif #define E1_ENABLE_INIT SET_OUTPUT(E1_ENABLE_PIN) @@ -349,7 +349,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E1_STEP_READ READ(E1_STEP_PIN) // E2 Stepper -#if ENABLED(E2_IS_L6470) +#if AXIS_DRIVER_TYPE(E2, L6470) extern L6470 stepperE2; #define E2_ENABLE_INIT NOOP #define E2_ENABLE_WRITE(STATE) do{ if (STATE) stepperE2.Step_Clock(stepperE2.getStatus() & STATUS_HIZ); else stepperE2.softFree(); }while(0) @@ -358,15 +358,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E2_DIR_WRITE(STATE) stepperE2.Step_Clock(STATE) #define E2_DIR_READ (stepperE2.getStatus() & STATUS_DIR) #else - #if ENABLED(E2_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E2, TMC26X) extern TMC26XStepper stepperE2; #define E2_ENABLE_INIT NOOP #define E2_ENABLE_WRITE(STATE) stepperE2.setEnabled(STATE) #define E2_ENABLE_READ stepperE2.isEnabled() #else - #if ENABLED(E2_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E2, TMC2130) extern TMC2130Stepper stepperE2; - #elif ENABLED(E2_IS_TMC2208) + #elif AXIS_DRIVER_TYPE(E2, TMC2208) extern TMC2208Stepper stepperE2; #endif #define E2_ENABLE_INIT SET_OUTPUT(E2_ENABLE_PIN) @@ -382,7 +382,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E2_STEP_READ READ(E2_STEP_PIN) // E3 Stepper -#if ENABLED(E3_IS_L6470) +#if AXIS_DRIVER_TYPE(E3, L6470) extern L6470 stepperE3; #define E3_ENABLE_INIT NOOP #define E3_ENABLE_WRITE(STATE) do{ if (STATE) stepperE3.Step_Clock(stepperE3.getStatus() & STATUS_HIZ); else stepperE3.softFree(); }while(0) @@ -391,15 +391,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E3_DIR_WRITE(STATE) stepperE3.Step_Clock(STATE) #define E3_DIR_READ (stepperE3.getStatus() & STATUS_DIR) #else - #if ENABLED(E3_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E3, TMC26X) extern TMC26XStepper stepperE3; #define E3_ENABLE_INIT NOOP #define E3_ENABLE_WRITE(STATE) stepperE3.setEnabled(STATE) #define E3_ENABLE_READ stepperE3.isEnabled() #else - #if ENABLED(E3_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E3, TMC2130) extern TMC2130Stepper stepperE3; - #elif ENABLED(E3_IS_TMC2208) + #elif AXIS_DRIVER_TYPE(E3, TMC2208) extern TMC2208Stepper stepperE3; #endif #define E3_ENABLE_INIT SET_OUTPUT(E3_ENABLE_PIN) @@ -415,7 +415,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E3_STEP_READ READ(E3_STEP_PIN) // E4 Stepper -#if ENABLED(E4_IS_L6470) +#if AXIS_DRIVER_TYPE(E4, L6470) extern L6470 stepperE4; #define E4_ENABLE_INIT NOOP #define E4_ENABLE_WRITE(STATE) do{ if (STATE) stepperE4.Step_Clock(stepperE4.getStatus() & STATUS_HIZ); else stepperE4.softFree(); }while(0) @@ -424,15 +424,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E4_DIR_WRITE(STATE) stepperE4.Step_Clock(STATE) #define E4_DIR_READ (stepperE4.getStatus() & STATUS_DIR) #else - #if ENABLED(E4_IS_TMC26X) + #if AXIS_DRIVER_TYPE(E4, TMC26X) extern TMC26XStepper stepperE4; #define E4_ENABLE_INIT NOOP #define E4_ENABLE_WRITE(STATE) stepperE4.setEnabled(STATE) #define E4_ENABLE_READ stepperE4.isEnabled() #else - #if ENABLED(E4_IS_TMC2130) + #if AXIS_DRIVER_TYPE(E4, TMC2130) extern TMC2130Stepper stepperE4; - #elif ENABLED(E4_IS_TMC2208) + #elif AXIS_DRIVER_TYPE(E4, TMC2208) extern TMC2208Stepper stepperE4; #endif #define E4_ENABLE_INIT SET_OUTPUT(E4_ENABLE_PIN) @@ -450,69 +450,54 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset /** * Extruder indirection for the single E axis */ -#if ENABLED(SWITCHING_EXTRUDER) - #if EXTRUDERS == 2 - #define E_STEP_WRITE(v) E0_STEP_WRITE(v) - #define NORM_E_DIR() do{ E0_DIR_WRITE(current_block->active_extruder ? INVERT_E0_DIR : !INVERT_E0_DIR); }while(0) - #define REV_E_DIR() do{ E0_DIR_WRITE(current_block->active_extruder ? !INVERT_E0_DIR : INVERT_E0_DIR); }while(0) - #elif EXTRUDERS > 4 - #define E_STEP_WRITE(v) do{ if (current_block->active_extruder < 2) { E0_STEP_WRITE(v); } else if (current_block->active_extruder < 4) { E1_STEP_WRITE(v); } else { E2_STEP_WRITE(v); } }while(0) - #define NORM_E_DIR() do{ switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 3: E1_DIR_WRITE(INVERT_E1_DIR); break; case 4: E2_DIR_WRITE(!INVERT_E2_DIR); } }while(0) - #define REV_E_DIR() do{ switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(INVERT_E1_DIR); break; case 3: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 4: E2_DIR_WRITE(INVERT_E2_DIR); } }while(0) +#if ENABLED(SWITCHING_EXTRUDER) // One stepper driver per two extruders, reversed on odd index + #if EXTRUDERS > 4 + #define E_STEP_WRITE(E,V) do{ if (E < 2) { E0_STEP_WRITE(V); } else if (E < 4) { E1_STEP_WRITE(V); } else { E2_STEP_WRITE(V); } }while(0) + #define NORM_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E0_DIR_WRITE( INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 3: E1_DIR_WRITE( INVERT_E1_DIR); break; case 4: E2_DIR_WRITE(!INVERT_E2_DIR); } }while(0) + #define REV_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE( INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 2: E1_DIR_WRITE( INVERT_E1_DIR); break; case 3: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 4: E2_DIR_WRITE( INVERT_E2_DIR); } }while(0) + #elif EXTRUDERS > 3 + #define E_STEP_WRITE(E,V) do{ if (E < 2) { E0_STEP_WRITE(V); } else { E1_STEP_WRITE(V); } }while(0) + #define NORM_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E0_DIR_WRITE( INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 3: E1_DIR_WRITE( INVERT_E1_DIR); } }while(0) + #define REV_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE( INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 2: E1_DIR_WRITE( INVERT_E1_DIR); break; case 3: E1_DIR_WRITE(!INVERT_E1_DIR); } }while(0) #elif EXTRUDERS > 2 - #define E_STEP_WRITE(v) do{ if (current_block->active_extruder < 2) { E0_STEP_WRITE(v); } else if (current_block->active_extruder < 4) { E1_STEP_WRITE(v); } else { E1_STEP_WRITE(v); } }while(0) - #define NORM_E_DIR() do{ switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 3: E1_DIR_WRITE(INVERT_E1_DIR); } }while(0) - #define REV_E_DIR() do{ switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(INVERT_E1_DIR); break; case 3: E1_DIR_WRITE(!INVERT_E1_DIR); } }while(0) - #endif -#elif ENABLED(MK2_MULTIPLEXER) // Even-numbered steppers are reversed - #define E_STEP_WRITE(v) E0_STEP_WRITE(v) - #define NORM_E_DIR() do{ E0_DIR_WRITE(TEST(current_block->active_extruder, 0) ? !INVERT_E0_DIR: INVERT_E0_DIR); }while(0) - #define REV_E_DIR() do{ E0_DIR_WRITE(TEST(current_block->active_extruder, 0) ? INVERT_E0_DIR: !INVERT_E0_DIR); }while(0) -#elif EXTRUDERS > 4 - #define E_STEP_WRITE(v) do{ switch (current_block->active_extruder) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); break; case 4: E4_STEP_WRITE(v); } }while(0) - #define NORM_E_DIR() do{ switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(!INVERT_E3_DIR); break; case 4: E4_DIR_WRITE(!INVERT_E4_DIR); } }while(0) - #define REV_E_DIR() do{ switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(INVERT_E3_DIR); break; case 4: E4_DIR_WRITE(INVERT_E4_DIR); } }while(0) -#elif EXTRUDERS > 3 - #define E_STEP_WRITE(v) do{ switch (current_block->active_extruder) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); } }while(0) - #define NORM_E_DIR() do{ switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(!INVERT_E3_DIR); } }while(0) - #define REV_E_DIR() do{ switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(INVERT_E3_DIR); } }while(0) -#elif EXTRUDERS > 2 - #define E_STEP_WRITE(v) do{ switch (current_block->active_extruder) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); } }while(0) - #define NORM_E_DIR() do{ switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); } }while(0) - #define REV_E_DIR() do{ switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(INVERT_E2_DIR); } }while(0) -#elif EXTRUDERS > 1 - #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE) - #define E_STEP_WRITE(v) do{ if (extruder_duplication_enabled) { E0_STEP_WRITE(v); E1_STEP_WRITE(v); } else if (current_block->active_extruder == 0) { E0_STEP_WRITE(v); } else { E1_STEP_WRITE(v); } }while(0) - #define NORM_E_DIR() do{ if (extruder_duplication_enabled) { E0_DIR_WRITE(!INVERT_E0_DIR); E1_DIR_WRITE(!INVERT_E1_DIR); } else if (current_block->active_extruder == 0) { E0_DIR_WRITE(!INVERT_E0_DIR); } else { E1_DIR_WRITE(!INVERT_E1_DIR); } }while(0) - #define REV_E_DIR() do{ if (extruder_duplication_enabled) { E0_DIR_WRITE(INVERT_E0_DIR); E1_DIR_WRITE(INVERT_E1_DIR); } else if (current_block->active_extruder == 0) { E0_DIR_WRITE(INVERT_E0_DIR); } else { E1_DIR_WRITE(INVERT_E1_DIR); } }while(0) + #define E_STEP_WRITE(E,V) do{ if (E < 2) { E0_STEP_WRITE(V); } else { E1_STEP_WRITE(V); } }while(0) + #define NORM_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E0_DIR_WRITE( INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(!INVERT_E1_DIR); } }while(0) + #define REV_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE( INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 2: E1_DIR_WRITE( INVERT_E1_DIR); } }while(0) #else - #define E_STEP_WRITE(v) do{ if (current_block->active_extruder == 0) { E0_STEP_WRITE(v); } else { E1_STEP_WRITE(v); } }while(0) - #define NORM_E_DIR() do{ if (current_block->active_extruder == 0) { E0_DIR_WRITE(!INVERT_E0_DIR); } else { E1_DIR_WRITE(!INVERT_E1_DIR); } }while(0) - #define REV_E_DIR() do{ if (current_block->active_extruder == 0) { E0_DIR_WRITE(INVERT_E0_DIR); } else { E1_DIR_WRITE(INVERT_E1_DIR); } }while(0) + #define E_STEP_WRITE(E,V) E0_STEP_WRITE(V) + #define NORM_E_DIR(E) do{ E0_DIR_WRITE(E ? INVERT_E0_DIR : !INVERT_E0_DIR); }while(0) + #define REV_E_DIR(E) do{ E0_DIR_WRITE(E ? !INVERT_E0_DIR : INVERT_E0_DIR); }while(0) #endif -#elif ENABLED(MIXING_EXTRUDER) - #define E_STEP_WRITE(v) NOOP /* not used for mixing extruders! */ - #if MIXING_STEPPERS > 4 - #define En_STEP_WRITE(n,v) do{ switch (n) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); break; case 4: E4_STEP_WRITE(v); } }while(0) - #define NORM_E_DIR() do{ E0_DIR_WRITE(!INVERT_E0_DIR); E1_DIR_WRITE(!INVERT_E1_DIR); E2_DIR_WRITE(!INVERT_E2_DIR); E3_DIR_WRITE(!INVERT_E3_DIR); E4_DIR_WRITE(!INVERT_E4_DIR); }while(0) - #define REV_E_DIR() do{ E0_DIR_WRITE( INVERT_E0_DIR); E1_DIR_WRITE( INVERT_E1_DIR); E2_DIR_WRITE( INVERT_E2_DIR); E3_DIR_WRITE( INVERT_E3_DIR); E4_DIR_WRITE( INVERT_E4_DIR); }while(0) - #elif MIXING_STEPPERS > 3 - #define En_STEP_WRITE(n,v) do{ switch (n) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); } }while(0) - #define NORM_E_DIR() do{ E0_DIR_WRITE(!INVERT_E0_DIR); E1_DIR_WRITE(!INVERT_E1_DIR); E2_DIR_WRITE(!INVERT_E2_DIR); E3_DIR_WRITE(!INVERT_E3_DIR); }while(0) - #define REV_E_DIR() do{ E0_DIR_WRITE( INVERT_E0_DIR); E1_DIR_WRITE( INVERT_E1_DIR); E2_DIR_WRITE( INVERT_E2_DIR); E3_DIR_WRITE( INVERT_E3_DIR); }while(0) - #elif MIXING_STEPPERS > 2 - #define En_STEP_WRITE(n,v) do{ switch (n) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); } }while(0) - #define NORM_E_DIR() do{ E0_DIR_WRITE(!INVERT_E0_DIR); E1_DIR_WRITE(!INVERT_E1_DIR); E2_DIR_WRITE(!INVERT_E2_DIR); }while(0) - #define REV_E_DIR() do{ E0_DIR_WRITE( INVERT_E0_DIR); E1_DIR_WRITE( INVERT_E1_DIR); E2_DIR_WRITE( INVERT_E2_DIR); }while(0) +#elif ENABLED(MK2_MULTIPLEXER) // One multiplexed stepper driver, reversed on odd index + #define E_STEP_WRITE(E,V) E0_STEP_WRITE(V) + #define NORM_E_DIR(E) do{ E0_DIR_WRITE(TEST(E, 0) ? !INVERT_E0_DIR: INVERT_E0_DIR); }while(0) + #define REV_E_DIR(E) do{ E0_DIR_WRITE(TEST(E, 0) ? INVERT_E0_DIR: !INVERT_E0_DIR); }while(0) +#elif E_STEPPERS > 4 + #define E_STEP_WRITE(E,V) do{ switch (E) { case 0: E0_STEP_WRITE(V); break; case 1: E1_STEP_WRITE(V); break; case 2: E2_STEP_WRITE(V); break; case 3: E3_STEP_WRITE(V); break; case 4: E4_STEP_WRITE(V); } }while(0) + #define NORM_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(!INVERT_E3_DIR); break; case 4: E4_DIR_WRITE(!INVERT_E4_DIR); } }while(0) + #define REV_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE( INVERT_E0_DIR); break; case 1: E1_DIR_WRITE( INVERT_E1_DIR); break; case 2: E2_DIR_WRITE( INVERT_E2_DIR); break; case 3: E3_DIR_WRITE( INVERT_E3_DIR); break; case 4: E4_DIR_WRITE( INVERT_E4_DIR); } }while(0) +#elif E_STEPPERS > 3 + #define E_STEP_WRITE(E,V) do{ switch (E) { case 0: E0_STEP_WRITE(V); break; case 1: E1_STEP_WRITE(V); break; case 2: E2_STEP_WRITE(V); break; case 3: E3_STEP_WRITE(V); } }while(0) + #define NORM_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(!INVERT_E3_DIR); } }while(0) + #define REV_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE( INVERT_E0_DIR); break; case 1: E1_DIR_WRITE( INVERT_E1_DIR); break; case 2: E2_DIR_WRITE( INVERT_E2_DIR); break; case 3: E3_DIR_WRITE( INVERT_E3_DIR); } }while(0) +#elif E_STEPPERS > 2 + #define E_STEP_WRITE(E,V) do{ switch (E) { case 0: E0_STEP_WRITE(V); break; case 1: E1_STEP_WRITE(V); break; case 2: E2_STEP_WRITE(V); } }while(0) + #define NORM_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); } }while(0) + #define REV_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE( INVERT_E0_DIR); break; case 1: E1_DIR_WRITE( INVERT_E1_DIR); break; case 2: E2_DIR_WRITE( INVERT_E2_DIR); } }while(0) +#elif E_STEPPERS > 1 + #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE) + #define E_STEP_WRITE(E,V) do{ if (extruder_duplication_enabled) { E0_STEP_WRITE(V); E1_STEP_WRITE(V); } else if (E == 0) { E0_STEP_WRITE(V); } else { E1_STEP_WRITE(V); } }while(0) + #define NORM_E_DIR(E) do{ if (extruder_duplication_enabled) { E0_DIR_WRITE(!INVERT_E0_DIR); E1_DIR_WRITE(!INVERT_E1_DIR); } else if (E == 0) { E0_DIR_WRITE(!INVERT_E0_DIR); } else { E1_DIR_WRITE(!INVERT_E1_DIR); } }while(0) + #define REV_E_DIR(E) do{ if (extruder_duplication_enabled) { E0_DIR_WRITE( INVERT_E0_DIR); E1_DIR_WRITE( INVERT_E1_DIR); } else if (E == 0) { E0_DIR_WRITE( INVERT_E0_DIR); } else { E1_DIR_WRITE( INVERT_E1_DIR); } }while(0) #else - #define En_STEP_WRITE(n,v) do{ switch (n) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); } }while(0) - #define NORM_E_DIR() do{ E0_DIR_WRITE(!INVERT_E0_DIR); E1_DIR_WRITE(!INVERT_E1_DIR); }while(0) - #define REV_E_DIR() do{ E0_DIR_WRITE( INVERT_E0_DIR); E1_DIR_WRITE( INVERT_E1_DIR); }while(0) + #define E_STEP_WRITE(E,V) do{ if (E == 0) { E0_STEP_WRITE(V); } else { E1_STEP_WRITE(V); } }while(0) + #define NORM_E_DIR(E) do{ if (E == 0) { E0_DIR_WRITE(!INVERT_E0_DIR); } else { E1_DIR_WRITE(!INVERT_E1_DIR); } }while(0) + #define REV_E_DIR(E) do{ if (E == 0) { E0_DIR_WRITE( INVERT_E0_DIR); } else { E1_DIR_WRITE( INVERT_E1_DIR); } }while(0) #endif #else - #define E_STEP_WRITE(v) E0_STEP_WRITE(v) - #define NORM_E_DIR() E0_DIR_WRITE(!INVERT_E0_DIR) - #define REV_E_DIR() E0_DIR_WRITE(INVERT_E0_DIR) + #define E_STEP_WRITE(E,V) E0_STEP_WRITE(V) + #define NORM_E_DIR(E) E0_DIR_WRITE(!INVERT_E0_DIR) + #define REV_E_DIR(E) E0_DIR_WRITE( INVERT_E0_DIR) #endif #endif // STEPPER_INDIRECTION_H diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 046c1cf4f9f2..c483fd090312 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -25,36 +25,40 @@ */ #include "temperature.h" +#include "endstops.h" #include "../Marlin.h" #include "../lcd/ultralcd.h" #include "planner.h" #include "../core/language.h" +#include "../HAL/Delay.h" #if ENABLED(HEATER_0_USES_MAX6675) #include "../libs/private_spi.h" #endif -#if ENABLED(BABYSTEPPING) +#if ENABLED(BABYSTEPPING) || ENABLED(PID_EXTRUSION_SCALING) #include "stepper.h" #endif -#if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) || ENABLED(PINS_DEBUGGING) - #include "endstops.h" -#endif - #include "printcounter.h" #if ENABLED(FILAMENT_WIDTH_SENSOR) #include "../feature/filwidth.h" #endif -#if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) - static void* heater_ttbl_map[2] = { (void*)HEATER_0_TEMPTABLE, (void*)HEATER_1_TEMPTABLE }; - static uint8_t heater_ttbllen_map[2] = { HEATER_0_TEMPTABLE_LEN, HEATER_1_TEMPTABLE_LEN }; -#else - static void* heater_ttbl_map[HOTENDS] = ARRAY_BY_HOTENDS((void*)HEATER_0_TEMPTABLE, (void*)HEATER_1_TEMPTABLE, (void*)HEATER_2_TEMPTABLE, (void*)HEATER_3_TEMPTABLE, (void*)HEATER_4_TEMPTABLE); - static uint8_t heater_ttbllen_map[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_TEMPTABLE_LEN, HEATER_1_TEMPTABLE_LEN, HEATER_2_TEMPTABLE_LEN, HEATER_3_TEMPTABLE_LEN, HEATER_4_TEMPTABLE_LEN); +#if ENABLED(EMERGENCY_PARSER) + #include "../feature/emergency_parser.h" +#endif + +#if HOTEND_USES_THERMISTOR + #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) + static void* heater_ttbl_map[2] = { (void*)HEATER_0_TEMPTABLE, (void*)HEATER_1_TEMPTABLE }; + static constexpr uint8_t heater_ttbllen_map[2] = { HEATER_0_TEMPTABLE_LEN, HEATER_1_TEMPTABLE_LEN }; + #else + static void* heater_ttbl_map[HOTENDS] = ARRAY_BY_HOTENDS((void*)HEATER_0_TEMPTABLE, (void*)HEATER_1_TEMPTABLE, (void*)HEATER_2_TEMPTABLE, (void*)HEATER_3_TEMPTABLE, (void*)HEATER_4_TEMPTABLE); + static constexpr uint8_t heater_ttbllen_map[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_TEMPTABLE_LEN, HEATER_1_TEMPTABLE_LEN, HEATER_2_TEMPTABLE_LEN, HEATER_3_TEMPTABLE_LEN, HEATER_4_TEMPTABLE_LEN); + #endif #endif Temperature thermalManager; @@ -63,7 +67,7 @@ Temperature thermalManager; * Macros to include the heater id in temp errors. The compiler's dead-code * elimination should (hopefully) optimize out the unused strings. */ -#if HAS_TEMP_BED +#if HAS_HEATED_BED #define TEMP_ERR_PSTR(MSG, E) \ (E) == -1 ? PSTR(MSG ## _BED) : \ (HOTENDS > 1 && (E) == 1) ? PSTR(MSG_E2 " " MSG) : \ @@ -82,21 +86,51 @@ Temperature thermalManager; // public: -float Temperature::current_temperature[HOTENDS] = { 0.0 }, - Temperature::current_temperature_chamber = 0.0, - Temperature::current_temperature_bed = 0.0; - +float Temperature::current_temperature[HOTENDS] = { 0.0 }; int16_t Temperature::current_temperature_raw[HOTENDS] = { 0 }, - Temperature::target_temperature[HOTENDS] = { 0 }, - Temperature::current_temperature_chamber_raw = 0, - Temperature::current_temperature_bed_raw = 0; + Temperature::target_temperature[HOTENDS] = { 0 }; #if ENABLED(AUTO_POWER_E_FANS) int16_t Temperature::autofan_speed[HOTENDS] = { 0 }; #endif -#if HAS_HEATER_BED - int16_t Temperature::target_temperature_bed = 0; +#if HAS_HEATED_BED + float Temperature::current_temperature_bed = 0.0; + int16_t Temperature::current_temperature_bed_raw = 0, + Temperature::target_temperature_bed = 0; + uint8_t Temperature::soft_pwm_amount_bed; + #ifdef BED_MINTEMP + int16_t Temperature::bed_minttemp_raw = HEATER_BED_RAW_LO_TEMP; + #endif + #ifdef BED_MAXTEMP + int16_t Temperature::bed_maxttemp_raw = HEATER_BED_RAW_HI_TEMP; + #endif + #if WATCH_THE_BED + uint16_t Temperature::watch_target_bed_temp = 0; + millis_t Temperature::watch_bed_next_ms = 0; + #endif + #if ENABLED(PIDTEMPBED) + float Temperature::bedKp, Temperature::bedKi, Temperature::bedKd, // Initialized by settings.load() + Temperature::temp_iState_bed = { 0 }, + Temperature::temp_dState_bed = { 0 }, + Temperature::pTerm_bed, + Temperature::iTerm_bed, + Temperature::dTerm_bed, + Temperature::pid_error_bed; + #else + millis_t Temperature::next_bed_check_ms; + #endif + uint16_t Temperature::raw_temp_bed_value = 0; + #if HEATER_IDLE_HANDLER + millis_t Temperature::bed_idle_timeout_ms = 0; + bool Temperature::bed_idle_timeout_exceeded = false; + #endif +#endif // HAS_HEATED_BED + +#if HAS_TEMP_CHAMBER + float Temperature::current_temperature_chamber = 0.0; + int16_t Temperature::current_temperature_chamber_raw = 0; + uint16_t Temperature::raw_temp_chamber_value = 0; #endif // Initialized by settings.load() @@ -114,11 +148,6 @@ int16_t Temperature::current_temperature_raw[HOTENDS] = { 0 }, #endif #endif -// Initialized by settings.load() -#if ENABLED(PIDTEMPBED) - float Temperature::bedKp, Temperature::bedKi, Temperature::bedKd; -#endif - #if ENABLED(BABYSTEPPING) volatile int Temperature::babystepsTodo[XYZ] = { 0 }; #endif @@ -128,11 +157,6 @@ int16_t Temperature::current_temperature_raw[HOTENDS] = { 0 }, millis_t Temperature::watch_heater_next_ms[HOTENDS] = { 0 }; #endif -#if WATCH_THE_BED - uint16_t Temperature::watch_target_bed_temp = 0; - millis_t Temperature::watch_bed_next_ms = 0; -#endif - #if ENABLED(PREVENT_COLD_EXTRUSION) bool Temperature::allow_cold_extrude = false; int16_t Temperature::extrude_min_temp = EXTRUDE_MINTEMP; @@ -169,20 +193,7 @@ volatile bool Temperature::temp_meas_ready = false; bool Temperature::pid_reset[HOTENDS]; #endif -#if ENABLED(PIDTEMPBED) - float Temperature::temp_iState_bed = { 0 }, - Temperature::temp_dState_bed = { 0 }, - Temperature::pTerm_bed, - Temperature::iTerm_bed, - Temperature::dTerm_bed, - Temperature::pid_error_bed; -#else - millis_t Temperature::next_bed_check_ms; -#endif - -uint16_t Temperature::raw_temp_value[MAX_EXTRUDERS] = { 0 }, - Temperature::raw_temp_chamber_value = 0, - Temperature::raw_temp_bed_value = 0; +uint16_t Temperature::raw_temp_value[MAX_EXTRUDERS] = { 0 }; // Init min and max temp with extreme values to prevent false errors during startup int16_t Temperature::minttemp_raw[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_RAW_LO_TEMP , HEATER_1_RAW_LO_TEMP , HEATER_2_RAW_LO_TEMP, HEATER_3_RAW_LO_TEMP, HEATER_4_RAW_LO_TEMP), @@ -198,14 +209,6 @@ int16_t Temperature::minttemp_raw[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_RAW_LO_TE millis_t Temperature::preheat_end_time[HOTENDS] = { 0 }; #endif -#ifdef BED_MINTEMP - int16_t Temperature::bed_minttemp_raw = HEATER_BED_RAW_LO_TEMP; -#endif - -#ifdef BED_MAXTEMP - int16_t Temperature::bed_maxttemp_raw = HEATER_BED_RAW_HI_TEMP; -#endif - #if ENABLED(FILAMENT_WIDTH_SENSOR) int8_t Temperature::meas_shift_index; // Index of a delayed sample in buffer #endif @@ -214,8 +217,7 @@ int16_t Temperature::minttemp_raw[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_RAW_LO_TE millis_t Temperature::next_auto_fan_check_ms = 0; #endif -uint8_t Temperature::soft_pwm_amount[HOTENDS], - Temperature::soft_pwm_amount_bed; +uint8_t Temperature::soft_pwm_amount[HOTENDS]; #if ENABLED(FAN_SOFT_PWM) uint8_t Temperature::soft_pwm_amount_fan[FAN_COUNT], @@ -233,10 +235,6 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS], #if HEATER_IDLE_HANDLER millis_t Temperature::heater_idle_timeout_ms[HOTENDS] = { 0 }; bool Temperature::heater_idle_timeout_exceeded[HOTENDS] = { false }; - #if HAS_TEMP_BED - millis_t Temperature::bed_idle_timeout_ms = 0; - bool Temperature::bed_idle_timeout_exceeded = false; - #endif #endif #if ENABLED(ADC_KEYPAD) @@ -244,6 +242,10 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS], uint8_t Temperature::ADCKey_count = 0; #endif +#if ENABLED(PID_EXTRUSION_SCALING) + int16_t Temperature::lpq_len; // Initialized in configuration_store +#endif + #if HAS_PID_HEATING /** @@ -265,19 +267,29 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS], workKp = 0, workKi = 0, workKd = 0, max = 0, min = 10000; - #define HAS_TP_BED (ENABLED(THERMAL_PROTECTION_BED) && ENABLED(PIDTEMPBED)) - #if HAS_TP_BED && ENABLED(THERMAL_PROTECTION_HOTENDS) && ENABLED(PIDTEMP) - #define TV(B,H) (hotend < 0 ? (B) : (H)) - #elif HAS_TP_BED - #define TV(B,H) (B) + #if HAS_PID_FOR_BOTH + #define GHV(B,H) (hotend < 0 ? (B) : (H)) + #define SHV(S,B,H) if (hotend < 0) S##_bed = B; else S [hotend] = H; + #elif ENABLED(PIDTEMPBED) + #define GHV(B,H) B + #define SHV(S,B,H) (S##_bed = B) #else - #define TV(B,H) (H) + #define GHV(B,H) H + #define SHV(S,B,H) (S [hotend] = H) #endif #if WATCH_THE_BED || WATCH_HOTENDS - const uint16_t watch_temp_period = TV(WATCH_BED_TEMP_PERIOD, WATCH_TEMP_PERIOD); - const uint8_t watch_temp_increase = TV(WATCH_BED_TEMP_INCREASE, WATCH_TEMP_INCREASE); - const float watch_temp_target = target - float(watch_temp_increase + TV(TEMP_BED_HYSTERESIS, TEMP_HYSTERESIS) + 1); + #define HAS_TP_BED (ENABLED(THERMAL_PROTECTION_BED) && ENABLED(PIDTEMPBED)) + #if HAS_TP_BED && ENABLED(THERMAL_PROTECTION_HOTENDS) && ENABLED(PIDTEMP) + #define GTV(B,H) (hotend < 0 ? (B) : (H)) + #elif HAS_TP_BED + #define GTV(B,H) (B) + #else + #define GTV(B,H) (H) + #endif + const uint16_t watch_temp_period = GTV(WATCH_BED_TEMP_PERIOD, WATCH_TEMP_PERIOD); + const uint8_t watch_temp_increase = GTV(WATCH_BED_TEMP_INCREASE, WATCH_TEMP_INCREASE); + const float watch_temp_target = target - float(watch_temp_increase + GTV(TEMP_BED_HYSTERESIS, TEMP_HYSTERESIS) + 1); millis_t temp_change_ms = next_temp_ms + watch_temp_period * 1000UL; float next_watch_temp = 0.0; bool heated = false; @@ -307,16 +319,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS], disable_all_heaters(); // switch off all heaters. - #if HAS_PID_FOR_BOTH - if (hotend < 0) - soft_pwm_amount_bed = bias = d = (MAX_BED_POWER) >> 1; - else - soft_pwm_amount[hotend] = bias = d = (PID_MAX) >> 1; - #elif ENABLED(PIDTEMP) - soft_pwm_amount[hotend] = bias = d = (PID_MAX) >> 1; - #else - soft_pwm_amount_bed = bias = d = (MAX_BED_POWER) >> 1; - #endif + SHV(soft_pwm_amount, bias = d = (MAX_BED_POWER) >> 1, bias = d = (PID_MAX) >> 1); wait_for_heatup = true; // Can be interrupted with M108 @@ -329,15 +332,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS], updateTemperaturesFromRawValues(); // Get the current temperature and constrain it - current = - #if HAS_PID_FOR_BOTH - hotend < 0 ? current_temperature_bed : current_temperature[hotend] - #elif ENABLED(PIDTEMP) - current_temperature[hotend] - #else - current_temperature_bed - #endif - ; + current = GHV(current_temperature_bed, current_temperature[hotend]); NOLESS(max, current); NOMORE(min, current); @@ -351,16 +346,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS], if (heating && current > target) { if (ELAPSED(ms, t2 + 5000UL)) { heating = false; - #if HAS_PID_FOR_BOTH - if (hotend < 0) - soft_pwm_amount_bed = (bias - d) >> 1; - else - soft_pwm_amount[hotend] = (bias - d) >> 1; - #elif ENABLED(PIDTEMP) - soft_pwm_amount[hotend] = (bias - d) >> 1; - #elif ENABLED(PIDTEMPBED) - soft_pwm_amount_bed = (bias - d) >> 1; - #endif + SHV(soft_pwm_amount, (bias - d) >> 1, (bias - d) >> 1); t1 = ms; t_high = t1 - t2; max = target; @@ -373,15 +359,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS], t2 = ms; t_low = t2 - t1; if (cycles > 0) { - long max_pow = - #if HAS_PID_FOR_BOTH - hotend < 0 ? MAX_BED_POWER : PID_MAX - #elif ENABLED(PIDTEMP) - PID_MAX - #else - MAX_BED_POWER - #endif - ; + const long max_pow = GHV(MAX_BED_POWER, PID_MAX); bias += (d * (t_high - t_low)) / (t_low + t_high); bias = constrain(bias, 20, max_pow - 20); d = (bias > max_pow >> 1) ? max_pow - 1 - bias : bias; @@ -391,13 +369,13 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS], SERIAL_PROTOCOLPAIR(MSG_T_MIN, min); SERIAL_PROTOCOLPAIR(MSG_T_MAX, max); if (cycles > 2) { - Ku = (4.0 * d) / (M_PI * (max - min) * 0.5); - Tu = ((float)(t_low + t_high) * 0.001); + Ku = (4.0f * d) / (float(M_PI) * (max - min) * 0.5f); + Tu = ((float)(t_low + t_high) * 0.001f); SERIAL_PROTOCOLPAIR(MSG_KU, Ku); SERIAL_PROTOCOLPAIR(MSG_TU, Tu); - workKp = 0.6 * Ku; + workKp = 0.6f * Ku; workKi = 2 * workKp / Tu; - workKd = workKp * Tu * 0.125; + workKd = workKp * Tu * 0.125f; SERIAL_PROTOCOLLNPGM("\n" MSG_CLASSIC_PID); SERIAL_PROTOCOLPAIR(MSG_KP, workKp); SERIAL_PROTOCOLPAIR(MSG_KI, workKi); @@ -420,16 +398,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS], */ } } - #if HAS_PID_FOR_BOTH - if (hotend < 0) - soft_pwm_amount_bed = (bias + d) >> 1; - else - soft_pwm_amount[hotend] = (bias + d) >> 1; - #elif ENABLED(PIDTEMP) - soft_pwm_amount[hotend] = (bias + d) >> 1; - #else - soft_pwm_amount_bed = (bias + d) >> 1; - #endif + SHV(soft_pwm_amount, (bias + d) >> 1, (bias + d) >> 1); cycles++; min = target; } @@ -458,10 +427,10 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS], if ( #if WATCH_THE_BED && WATCH_HOTENDS true - #elif WATCH_THE_BED - hotend < 0 - #else + #elif WATCH_HOTENDS hotend >= 0 + #else + hotend < 0 #endif ) { if (!heated) { // If not yet reached target... @@ -492,7 +461,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS], SERIAL_PROTOCOLLNPGM(MSG_PID_AUTOTUNE_FINISHED); #if HAS_PID_FOR_BOTH - const char* estring = hotend < 0 ? "bed" : ""; + const char* estring = GHV("bed", ""); SERIAL_PROTOCOLPAIR("#define DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Kp ", workKp); SERIAL_EOL(); SERIAL_PROTOCOLPAIR("#define DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Ki ", workKi); SERIAL_EOL(); SERIAL_PROTOCOLPAIR("#define DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Kd ", workKd); SERIAL_EOL(); @@ -546,8 +515,13 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS], Temperature::Temperature() { } -int Temperature::getHeaterPower(int heater) { - return heater < 0 ? soft_pwm_amount_bed : soft_pwm_amount[heater]; +int Temperature::getHeaterPower(const int heater) { + return ( + #if HAS_HEATED_BED + heater < 0 ? soft_pwm_amount_bed : + #endif + soft_pwm_amount[heater] + ); } #if HAS_AUTO_FAN @@ -567,16 +541,21 @@ int Temperature::getHeaterPower(int heater) { HOTEND_LOOP() if (current_temperature[e] > EXTRUDER_AUTO_FAN_TEMPERATURE) SBI(fanState, pgm_read_byte(&fanBit[e])); - if (current_temperature_chamber > EXTRUDER_AUTO_FAN_TEMPERATURE) - SBI(fanState, pgm_read_byte(&fanBit[5])); + + #if HAS_TEMP_CHAMBER + if (current_temperature_chamber > EXTRUDER_AUTO_FAN_TEMPERATURE) + SBI(fanState, pgm_read_byte(&fanBit[5])); + #endif uint8_t fanDone = 0; for (uint8_t f = 0; f < COUNT(fanPin); f++) { - #ifdef ARDUINO - pin_t pin = pgm_read_byte(&fanPin[f]); - #else - pin_t pin = fanPin[f]; - #endif + const pin_t pin = + #ifdef ARDUINO + pgm_read_byte(&fanPin[f]) + #else + fanPin[f] + #endif + ; const uint8_t bit = pgm_read_byte(&fanBit[f]); if (pin >= 0 && !TEST(fanDone, bit)) { uint8_t newFanSpeed = TEST(fanState, bit) ? EXTRUDER_AUTO_FAN_SPEED : 0; @@ -618,6 +597,7 @@ void Temperature::_temp_error(const int8_t e, const char * const serial_msg, con void Temperature::max_temp_error(const int8_t e) { _temp_error(e, PSTR(MSG_T_MAXTEMP), TEMP_ERR_PSTR(MSG_ERR_MAXTEMP, e)); } + void Temperature::min_temp_error(const int8_t e) { _temp_error(e, PSTR(MSG_T_MINTEMP), TEMP_ERR_PSTR(MSG_ERR_MINTEMP, e)); } @@ -633,7 +613,7 @@ float Temperature::get_pid_output(const int8_t e) { #if ENABLED(PIDTEMP) #if DISABLED(PID_OPENLOOP) pid_error[HOTEND_INDEX] = target_temperature[HOTEND_INDEX] - current_temperature[HOTEND_INDEX]; - dTerm[HOTEND_INDEX] = PID_K2 * PID_PARAM(Kd, HOTEND_INDEX) * (current_temperature[HOTEND_INDEX] - temp_dState[HOTEND_INDEX]) + PID_K1 * dTerm[HOTEND_INDEX]; + dTerm[HOTEND_INDEX] = PID_K2 * PID_PARAM(Kd, HOTEND_INDEX) * (current_temperature[HOTEND_INDEX] - temp_dState[HOTEND_INDEX]) + float(PID_K1) * dTerm[HOTEND_INDEX]; temp_dState[HOTEND_INDEX] = current_temperature[HOTEND_INDEX]; #if HEATER_IDLE_HANDLER if (heater_idle_timeout_exceeded[HOTEND_INDEX]) { @@ -668,14 +648,14 @@ float Temperature::get_pid_output(const int8_t e) { #if ENABLED(PID_EXTRUSION_SCALING) cTerm[HOTEND_INDEX] = 0; if (_HOTEND_TEST) { - long e_position = stepper.position(E_AXIS); + const long e_position = stepper.position(E_AXIS); if (e_position > last_e_position) { lpq[lpq_ptr] = e_position - last_e_position; last_e_position = e_position; } - else { + else lpq[lpq_ptr] = 0; - } + if (++lpq_ptr >= lpq_len) lpq_ptr = 0; cTerm[HOTEND_INDEX] = (lpq[lpq_ptr] * planner.steps_to_mm[E_AXIS]) * PID_PARAM(Kc, HOTEND_INDEX); pid_output += cTerm[HOTEND_INDEX]; @@ -789,7 +769,7 @@ void Temperature::manage_heater() { #endif #if ENABLED(EMERGENCY_PARSER) - if (killed_by_M112) kill(PSTR(MSG_KILLED)); + if (emergency_parser.killed_by_M112) kill(PSTR(MSG_KILLED)); #endif if (!temp_meas_ready) return; @@ -797,8 +777,8 @@ void Temperature::manage_heater() { updateTemperaturesFromRawValues(); // also resets the watchdog #if ENABLED(HEATER_0_USES_MAX6675) - if (current_temperature[0] > min(HEATER_0_MAXTEMP, MAX6675_TMAX - 1.0)) max_temp_error(0); - if (current_temperature[0] < max(HEATER_0_MINTEMP, MAX6675_TMIN + .01)) min_temp_error(0); + if (current_temperature[0] > MIN(HEATER_0_MAXTEMP, MAX6675_TMAX - 1.0)) max_temp_error(0); + if (current_temperature[0] < MAX(HEATER_0_MINTEMP, MAX6675_TMIN + .01)) min_temp_error(0); #endif #if WATCH_HOTENDS || WATCH_THE_BED || DISABLED(PIDTEMPBED) || HAS_AUTO_FAN || HEATER_IDLE_HANDLER @@ -831,7 +811,7 @@ void Temperature::manage_heater() { #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) // Make sure measured temperatures are close together - if (FABS(current_temperature[0] - redundant_temperature) > MAX_REDUNDANT_TEMP_SENSOR_DIFF) + if (ABS(current_temperature[0] - redundant_temperature) > MAX_REDUNDANT_TEMP_SENSOR_DIFF) _temp_error(0, PSTR(MSG_REDUNDANCY), PSTR(MSG_ERR_REDUNDANT_TEMP)); #endif @@ -857,29 +837,29 @@ void Temperature::manage_heater() { } #endif // FILAMENT_WIDTH_SENSOR - #if WATCH_THE_BED - // Make sure temperature is increasing - if (watch_bed_next_ms && ELAPSED(ms, watch_bed_next_ms)) { // Time to check the bed? - if (degBed() < watch_target_bed_temp) // Failed to increase enough? - _temp_error(-1, PSTR(MSG_T_HEATING_FAILED), TEMP_ERR_PSTR(MSG_HEATING_FAILED_LCD, -1)); - else // Start again if the target is still far off - start_watching_bed(); - } - #endif // WATCH_THE_BED + #if HAS_HEATED_BED + + #if WATCH_THE_BED + // Make sure temperature is increasing + if (watch_bed_next_ms && ELAPSED(ms, watch_bed_next_ms)) { // Time to check the bed? + if (degBed() < watch_target_bed_temp) // Failed to increase enough? + _temp_error(-1, PSTR(MSG_T_HEATING_FAILED), TEMP_ERR_PSTR(MSG_HEATING_FAILED_LCD, -1)); + else // Start again if the target is still far off + start_watching_bed(); + } + #endif // WATCH_THE_BED - #if DISABLED(PIDTEMPBED) - if (PENDING(ms, next_bed_check_ms) + #if DISABLED(PIDTEMPBED) + if (PENDING(ms, next_bed_check_ms) + #if ENABLED(PROBING_HEATERS_OFF) && ENABLED(BED_LIMIT_SWITCHING) + && paused == last_pause_state + #endif + ) return; + next_bed_check_ms = ms + BED_CHECK_INTERVAL; #if ENABLED(PROBING_HEATERS_OFF) && ENABLED(BED_LIMIT_SWITCHING) - && paused == last_pause_state + last_pause_state = paused; #endif - ) return; - next_bed_check_ms = ms + BED_CHECK_INTERVAL; - #if ENABLED(PROBING_HEATERS_OFF) && ENABLED(BED_LIMIT_SWITCHING) - last_pause_state = paused; #endif - #endif - - #if HAS_TEMP_BED #if HEATER_IDLE_HANDLER if (!bed_idle_timeout_exceeded && bed_idle_timeout_ms && ELAPSED(ms, bed_idle_timeout_ms)) @@ -920,10 +900,32 @@ void Temperature::manage_heater() { } #endif } - #endif // HAS_TEMP_BED + #endif // HAS_HEATED_BED } -#define PGM_RD_W(x) (short)pgm_read_word(&x) +#define TEMP_AD595(RAW) ((RAW) * 5.0 * 100.0 / 1024.0 / (OVERSAMPLENR) * (TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET) +#define TEMP_AD8495(RAW) ((RAW) * 6.6 * 100.0 / 1024.0 / (OVERSAMPLENR) * (TEMP_SENSOR_AD8495_GAIN) + TEMP_SENSOR_AD8495_OFFSET) + +/** + * Bisect search for the range of the 'raw' value, then interpolate + * proportionally between the under and over values. + */ +#define SCAN_THERMISTOR_TABLE(TBL,LEN) do{ \ + uint8_t l = 0, r = LEN, m; \ + for (;;) { \ + m = (l + r) >> 1; \ + if (m == l || m == r) return (short)pgm_read_word(&TBL[LEN-1][1]); \ + short v00 = pgm_read_word(&TBL[m-1][0]), \ + v10 = pgm_read_word(&TBL[m-0][0]); \ + if (raw < v00) r = m; \ + else if (raw > v10) l = m; \ + else { \ + const short v01 = (short)pgm_read_word(&TBL[m-1][1]), \ + v11 = (short)pgm_read_word(&TBL[m-0][1]); \ + return v01 + (raw - v00) * float(v11 - v01) / float(v10 - v00); \ + } \ + } \ +}while(0) // Derived from RepRap FiveD extruder::getTemperature() // For hot end temperature measurement. @@ -941,101 +943,89 @@ float Temperature::analog2temp(const int raw, const uint8_t e) { return 0.0; } - #if ENABLED(HEATER_0_USES_MAX6675) - if (e == 0) return 0.25 * raw; - #endif - - if (heater_ttbl_map[e] != NULL) { - float celsius = 0; - uint8_t i; - short(*tt)[][2] = (short(*)[][2])(heater_ttbl_map[e]); - - for (i = 1; i < heater_ttbllen_map[e]; i++) { - if (PGM_RD_W((*tt)[i][0]) > raw) { - celsius = PGM_RD_W((*tt)[i - 1][1]) + - (raw - PGM_RD_W((*tt)[i - 1][0])) * - (float)(PGM_RD_W((*tt)[i][1]) - PGM_RD_W((*tt)[i - 1][1])) / - (float)(PGM_RD_W((*tt)[i][0]) - PGM_RD_W((*tt)[i - 1][0])); + switch (e) { + case 0: + #if ENABLED(HEATER_0_USES_MAX6675) + return raw * 0.25; + #elif ENABLED(HEATER_0_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_0_USES_AD8495) + return TEMP_AD8495(raw); + #else break; - } - } + #endif + case 1: + #if ENABLED(HEATER_1_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_1_USES_AD8495) + return TEMP_AD8495(raw); + #else + break; + #endif + case 2: + #if ENABLED(HEATER_2_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_2_USES_AD8495) + return TEMP_AD8495(raw); + #else + break; + #endif + case 3: + #if ENABLED(HEATER_3_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_3_USES_AD8495) + return TEMP_AD8495(raw); + #else + break; + #endif + case 4: + #if ENABLED(HEATER_4_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_4_USES_AD8495) + return TEMP_AD8495(raw); + #else + break; + #endif + default: break; + } - // Overflow: Set to last value in the table - if (i == heater_ttbllen_map[e]) celsius = PGM_RD_W((*tt)[i - 1][1]); + #if HOTEND_USES_THERMISTOR + // Thermistor with conversion table? + const short(*tt)[][2] = (short(*)[][2])(heater_ttbl_map[e]); + SCAN_THERMISTOR_TABLE((*tt), heater_ttbllen_map[e]); + #endif - return celsius; - } - return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * (TEMP_SENSOR_AD595_GAIN)) + TEMP_SENSOR_AD595_OFFSET; + return 0; } -#if HAS_TEMP_BED +#if HAS_HEATED_BED // Derived from RepRap FiveD extruder::getTemperature() // For bed temperature measurement. float Temperature::analog2tempBed(const int raw) { - #if ENABLED(BED_USES_THERMISTOR) - float celsius = 0; - byte i; - - for (i = 1; i < BEDTEMPTABLE_LEN; i++) { - if (PGM_RD_W(BEDTEMPTABLE[i][0]) > raw) { - celsius = PGM_RD_W(BEDTEMPTABLE[i - 1][1]) + - (raw - PGM_RD_W(BEDTEMPTABLE[i - 1][0])) * - (float)(PGM_RD_W(BEDTEMPTABLE[i][1]) - PGM_RD_W(BEDTEMPTABLE[i - 1][1])) / - (float)(PGM_RD_W(BEDTEMPTABLE[i][0]) - PGM_RD_W(BEDTEMPTABLE[i - 1][0])); - break; - } - } - - // Overflow: Set to last value in the table - if (i == BEDTEMPTABLE_LEN) celsius = PGM_RD_W(BEDTEMPTABLE[i - 1][1]); - - return celsius; - - #elif defined(BED_USES_AD595) - - return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * (TEMP_SENSOR_AD595_GAIN)) + TEMP_SENSOR_AD595_OFFSET; - + #if ENABLED(HEATER_BED_USES_THERMISTOR) + SCAN_THERMISTOR_TABLE(BEDTEMPTABLE, BEDTEMPTABLE_LEN); + #elif ENABLED(HEATER_BED_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_BED_USES_AD8495) + return TEMP_AD8495(raw); #else - - UNUSED(raw); return 0; - #endif } -#endif // HAS_TEMP_BED +#endif // HAS_HEATED_BED #if HAS_TEMP_CHAMBER // Derived from RepRap FiveD extruder::getTemperature() // For chamber temperature measurement. float Temperature::analog2tempChamber(const int raw) { - #if ENABLED(CHAMBER_USES_THERMISTOR) - float celsius = 0; - byte i; - - for (i = 1; i < CHAMBERTEMPTABLE_LEN; i++) { - if (PGM_RD_W(CHAMBERTEMPTABLE[i][0]) > raw) { - celsius = PGM_RD_W(CHAMBERTEMPTABLE[i - 1][1]) + - (raw - PGM_RD_W(CHAMBERTEMPTABLE[i - 1][0])) * - (float)(PGM_RD_W(CHAMBERTEMPTABLE[i][1]) - PGM_RD_W(CHAMBERTEMPTABLE[i - 1][1])) / - (float)(PGM_RD_W(CHAMBERTEMPTABLE[i][0]) - PGM_RD_W(CHAMBERTEMPTABLE[i - 1][0])); - break; - } - } - - // Overflow: Set to last value in the table - if (i == CHAMBERTEMPTABLE_LEN) celsius = PGM_RD_W(CHAMBERTEMPTABLE[i - 1][1]); - - return celsius; - - #elif defined(CHAMBER_USES_AD595) - - return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * (TEMP_SENSOR_AD595_GAIN)) + TEMP_SENSOR_AD595_OFFSET; - + #if ENABLED(HEATER_CHAMBER_USES_THERMISTOR) + SCAN_THERMISTOR_TABLE(CHAMBERTEMPTABLE, CHAMBERTEMPTABLE_LEN); + #elif ENABLED(HEATER_CHAMBER_USES_AD595) + return TEMP_AD595(raw); + #elif ENABLED(HEATER_CHAMBER_USES_AD8495) + return TEMP_AD8495(raw); #else - - UNUSED(raw); return 0; - #endif } #endif // HAS_TEMP_CHAMBER @@ -1050,9 +1040,8 @@ void Temperature::updateTemperaturesFromRawValues() { #if ENABLED(HEATER_0_USES_MAX6675) current_temperature_raw[0] = read_max6675(); #endif - HOTEND_LOOP() - current_temperature[e] = Temperature::analog2temp(current_temperature_raw[e], e); - #if HAS_TEMP_BED + HOTEND_LOOP() current_temperature[e] = Temperature::analog2temp(current_temperature_raw[e], e); + #if HAS_HEATED_BED current_temperature_bed = Temperature::analog2tempBed(current_temperature_bed_raw); #endif #if HAS_TEMP_CHAMBER @@ -1070,9 +1059,7 @@ void Temperature::updateTemperaturesFromRawValues() { watchdog_reset(); #endif - CRITICAL_SECTION_START; temp_meas_ready = false; - CRITICAL_SECTION_END; } @@ -1080,7 +1067,7 @@ void Temperature::updateTemperaturesFromRawValues() { // Convert raw Filament Width to millimeters float Temperature::analog2widthFil() { - return current_raw_filwidth * 5.0 * (1.0 / 16383.0); + return current_raw_filwidth * 5.0f * (1.0f / 16383.0f); } /** @@ -1092,8 +1079,8 @@ void Temperature::updateTemperaturesFromRawValues() { * a return value of 1. */ int8_t Temperature::widthFil_to_size_ratio() { - if (FABS(filament_width_nominal - filament_width_meas) <= FILWIDTH_ERROR_MARGIN) - return int(100.0 * filament_width_nominal / filament_width_meas) - 100; + if (ABS(filament_width_nominal - filament_width_meas) <= FILWIDTH_ERROR_MARGIN) + return int(100.0f * filament_width_nominal / filament_width_meas) - 100; return 0; } @@ -1121,7 +1108,9 @@ void Temperature::init() { inited = true; #endif - #if MB(RUMBA) && (TEMP_SENSOR_0 == -1 || TEMP_SENSOR_1 == -1 || TEMP_SENSOR_2 == -1 || TEMP_SENSOR_BED == -1 || TEMP_SENSOR_CHAMBER == -1) + #if MB(RUMBA) && ( \ + ENABLED(HEATER_0_USES_AD595) || ENABLED(HEATER_1_USES_AD595) || ENABLED(HEATER_2_USES_AD595) || ENABLED(HEATER_3_USES_AD595) || ENABLED(HEATER_4_USES_AD595) || ENABLED(HEATER_BED_USES_AD595) || ENABLED(HEATER_CHAMBER_USES_AD595) \ + || ENABLED(HEATER_0_USES_AD8495) || ENABLED(HEATER_1_USES_AD8495) || ENABLED(HEATER_2_USES_AD8495) || ENABLED(HEATER_3_USES_AD8495) || ENABLED(HEATER_4_USES_AD8495) || ENABLED(HEATER_BED_USES_AD8495) || ENABLED(HEATER_CHAMBER_USES_AD8495)) // Disable RUMBA JTAG in case the thermocouple extension is plugged on top of JTAG connector MCUCR = _BV(JTD); MCUCR = _BV(JTD); @@ -1149,7 +1138,7 @@ void Temperature::init() { #if HAS_HEATER_4 OUT_WRITE(HEATER_3_PIN, HEATER_4_INVERTING); #endif - #if HAS_HEATER_BED + #if HAS_HEATED_BED OUT_WRITE(HEATER_BED_PIN, HEATER_BED_INVERTING); #endif @@ -1189,22 +1178,22 @@ void Temperature::init() { HAL_adc_init(); - #if HAS_TEMP_0 + #if HAS_TEMP_ADC_0 HAL_ANALOG_SELECT(TEMP_0_PIN); #endif - #if HAS_TEMP_1 + #if HAS_TEMP_ADC_1 HAL_ANALOG_SELECT(TEMP_1_PIN); #endif - #if HAS_TEMP_2 + #if HAS_TEMP_ADC_2 HAL_ANALOG_SELECT(TEMP_2_PIN); #endif - #if HAS_TEMP_3 + #if HAS_TEMP_ADC_3 HAL_ANALOG_SELECT(TEMP_3_PIN); #endif - #if HAS_TEMP_4 + #if HAS_TEMP_ADC_4 HAL_ANALOG_SELECT(TEMP_4_PIN); #endif - #if HAS_TEMP_BED + #if HAS_HEATED_BED HAL_ANALOG_SELECT(TEMP_BED_PIN); #endif #if HAS_TEMP_CHAMBER @@ -1214,16 +1203,8 @@ void Temperature::init() { HAL_ANALOG_SELECT(FILWIDTH_PIN); #endif - // todo: HAL: fix abstraction - #ifdef __AVR__ - // Use timer0 for temperature measurement - // Interleave temperature interrupt with millies interrupt - OCR0B = 128; - SBI(TIMSK0, OCIE0B); - #else - HAL_timer_start(TEMP_TIMER_NUM, TEMP_TIMER_FREQUENCY); - HAL_timer_enable_interrupt(TEMP_TIMER_NUM); - #endif + HAL_timer_start(TEMP_TIMER_NUM, TEMP_TIMER_FREQUENCY); + ENABLE_TEMPERATURE_INTERRUPT(); #if HAS_AUTO_FAN_0 #if E0_AUTO_FAN_PIN == FAN1_PIN @@ -1345,7 +1326,7 @@ void Temperature::init() { #endif // HOTENDS > 2 #endif // HOTENDS > 1 - #if HAS_TEMP_BED + #if HAS_HEATED_BED #ifdef BED_MINTEMP while (analog2tempBed(bed_minttemp_raw) < BED_MINTEMP) { #if HEATER_BED_RAW_LO_TEMP < HEATER_BED_RAW_HI_TEMP @@ -1364,7 +1345,7 @@ void Temperature::init() { #endif } #endif // BED_MAXTEMP - #endif // HAS_TEMP_BED + #endif // HAS_HEATED_BED #if ENABLED(PROBING_HEATERS_OFF) paused = false; @@ -1374,7 +1355,7 @@ void Temperature::init() { #if ENABLED(FAST_PWM_FAN) void Temperature::setPwmFrequency(const pin_t pin, int val) { - #ifdef ARDUINO + #if defined(ARDUINO) && !defined(ARDUINO_ARCH_SAM) val &= 0x07; switch (digitalPinToTimer(pin)) { #ifdef TCCR0A @@ -1483,7 +1464,7 @@ void Temperature::init() { #if HEATER_IDLE_HANDLER // If the heater idle timeout expires, restart if ((heater_id >= 0 && heater_idle_timeout_exceeded[heater_id]) - #if HAS_TEMP_BED + #if HAS_HEATED_BED || (heater_id < 0 && bed_idle_timeout_exceeded) #endif ) { @@ -1529,7 +1510,10 @@ void Temperature::disable_all_heaters() { #endif HOTEND_LOOP() setTargetHotend(0, e); - setTargetBed(0); + + #if HAS_HEATED_BED + setTargetBed(0); + #endif // Unpause and reset everything #if ENABLED(PROBING_HEATERS_OFF) @@ -1561,10 +1545,10 @@ void Temperature::disable_all_heaters() { #endif // HOTENDS > 1 #endif - #if HAS_TEMP_BED + #if HAS_HEATED_BED target_temperature_bed = 0; soft_pwm_amount_bed = 0; - #if HAS_HEATER_BED + #if HAS_HEATED_BED WRITE_HEATER_BED(LOW); #endif #endif @@ -1577,13 +1561,13 @@ void Temperature::disable_all_heaters() { paused = p; if (p) { HOTEND_LOOP() start_heater_idle_timer(e, 0); // timeout immediately - #if HAS_TEMP_BED + #if HAS_HEATED_BED start_bed_idle_timer(0); // timeout immediately #endif } else { HOTEND_LOOP() reset_heater_idle_timer(e); - #if HAS_TEMP_BED + #if HAS_HEATED_BED reset_bed_idle_timer(); #endif } @@ -1623,9 +1607,7 @@ void Temperature::disable_all_heaters() { WRITE(MAX6675_SS, 0); // enable TT_MAX6675 - // ensure 100ns delay - a bit extra is fine - asm("nop");//50ns on 20Mhz, 62.5ns on 16Mhz - asm("nop");//50ns on 20Mhz, 62.5ns on 16Mhz + DELAY_NS(100); // Ensure 100ns delay // Read a big-endian temperature value max6675_temp = 0; @@ -1668,30 +1650,116 @@ void Temperature::disable_all_heaters() { * Get raw temperatures */ void Temperature::set_current_temp_raw() { - #if HAS_TEMP_0 && DISABLED(HEATER_0_USES_MAX6675) + #if HAS_TEMP_ADC_0 && DISABLED(HEATER_0_USES_MAX6675) current_temperature_raw[0] = raw_temp_value[0]; #endif - #if HAS_TEMP_1 + #if HAS_TEMP_ADC_1 #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) redundant_temperature_raw = raw_temp_value[1]; #else current_temperature_raw[1] = raw_temp_value[1]; #endif - #if HAS_TEMP_2 + #if HAS_TEMP_ADC_2 current_temperature_raw[2] = raw_temp_value[2]; - #if HAS_TEMP_3 + #if HAS_TEMP_ADC_3 current_temperature_raw[3] = raw_temp_value[3]; - #if HAS_TEMP_4 + #if HAS_TEMP_ADC_4 current_temperature_raw[4] = raw_temp_value[4]; #endif #endif #endif #endif - current_temperature_bed_raw = raw_temp_bed_value; - current_temperature_chamber_raw = raw_temp_chamber_value; + + #if HAS_HEATED_BED + current_temperature_bed_raw = raw_temp_bed_value; + #endif + #if HAS_TEMP_CHAMBER + current_temperature_chamber_raw = raw_temp_chamber_value; + #endif temp_meas_ready = true; } +void Temperature::readings_ready() { + // Update the raw values if they've been read. Else we could be updating them during reading. + if (!temp_meas_ready) set_current_temp_raw(); + + // Filament Sensor - can be read any time since IIR filtering is used + #if ENABLED(FILAMENT_WIDTH_SENSOR) + current_raw_filwidth = raw_filwidth_value >> 10; // Divide to get to 0-16384 range since we used 1/128 IIR filter approach + #endif + + ZERO(raw_temp_value); + + #if HAS_HEATED_BED + raw_temp_bed_value = 0; + #endif + + #if HAS_TEMP_CHAMBER + raw_temp_chamber_value = 0; + #endif + + #define TEMPDIR(N) ((HEATER_##N##_RAW_LO_TEMP) > (HEATER_##N##_RAW_HI_TEMP) ? -1 : 1) + + int constexpr temp_dir[] = { + #if ENABLED(HEATER_0_USES_MAX6675) + 0 + #else + TEMPDIR(0) + #endif + #if HOTENDS > 1 + , TEMPDIR(1) + #if HOTENDS > 2 + , TEMPDIR(2) + #if HOTENDS > 3 + , TEMPDIR(3) + #if HOTENDS > 4 + , TEMPDIR(4) + #endif // HOTENDS > 4 + #endif // HOTENDS > 3 + #endif // HOTENDS > 2 + #endif // HOTENDS > 1 + }; + + for (uint8_t e = 0; e < COUNT(temp_dir); e++) { + const int16_t tdir = temp_dir[e], rawtemp = current_temperature_raw[e] * tdir; + const bool heater_on = 0 < + #if ENABLED(PIDTEMP) + soft_pwm_amount[e] + #else + target_temperature[e] + #endif + ; + if (rawtemp > maxttemp_raw[e] * tdir && heater_on) max_temp_error(e); + if (rawtemp < minttemp_raw[e] * tdir && !is_preheating(e) && heater_on) { + #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED + if (++consecutive_low_temperature_error[e] >= MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED) + #endif + min_temp_error(e); + } + #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED + else + consecutive_low_temperature_error[e] = 0; + #endif + } + + #if HAS_HEATED_BED + #if HEATER_BED_RAW_LO_TEMP > HEATER_BED_RAW_HI_TEMP + #define GEBED <= + #else + #define GEBED >= + #endif + const bool bed_on = 0 < + #if ENABLED(PIDTEMPBED) + soft_pwm_amount_bed + #else + target_temperature_bed + #endif + ; + if (current_temperature_bed_raw GEBED bed_maxttemp_raw && bed_on) max_temp_error(-1); + if (bed_minttemp_raw GEBED current_temperature_bed_raw && bed_on) min_temp_error(-1); + #endif +} + /** * Timer 0 is shared with millies so don't change the prescaler. * @@ -1705,25 +1773,17 @@ void Temperature::set_current_temp_raw() { * - Step the babysteps value for each axis towards 0 * - For PINS_DEBUGGING, monitor and report endstop pins * - For ENDSTOP_INTERRUPTS_FEATURE check endstops if flagged + * - Call planner.tick to count down its "ignore" time */ HAL_TEMP_TIMER_ISR { HAL_timer_isr_prologue(TEMP_TIMER_NUM); + Temperature::isr(); -} -volatile bool Temperature::in_temp_isr = false; + HAL_timer_isr_epilogue(TEMP_TIMER_NUM); +} void Temperature::isr() { - // The stepper ISR can interrupt this ISR. When it does it re-enables this ISR - // at the end of its run, potentially causing re-entry. This flag prevents it. - if (in_temp_isr) return; - in_temp_isr = true; - - // Allow UART and stepper ISRs - DISABLE_TEMPERATURE_INTERRUPT(); //Disable Temperature ISR - #ifndef CPU_32_BIT - sei(); - #endif static int8_t temp_count = -1; static ADCSensorState adc_sensor_state = StartupDelay; @@ -1759,7 +1819,7 @@ void Temperature::isr() { #endif // HOTENDS > 3 #endif // HOTENDS > 2 #endif // HOTENDS > 1 - #if HAS_HEATER_BED + #if HAS_HEATED_BED ISR_STATICS(BED); #endif @@ -1800,7 +1860,7 @@ void Temperature::isr() { #endif // HOTENDS > 2 #endif // HOTENDS > 1 - #if HAS_HEATER_BED + #if HAS_HEATED_BED soft_pwm_count_BED = (soft_pwm_count_BED & pwm_mask) + soft_pwm_amount_bed; WRITE_HEATER_BED(soft_pwm_count_BED > pwm_mask ? HIGH : LOW); #endif @@ -1835,7 +1895,7 @@ void Temperature::isr() { #endif // HOTENDS > 2 #endif // HOTENDS > 1 - #if HAS_HEATER_BED + #if HAS_HEATED_BED if (soft_pwm_count_BED <= pwm_count_tmp) WRITE_HEATER_BED(LOW); #endif @@ -1916,7 +1976,7 @@ void Temperature::isr() { #endif // HOTENDS > 3 #endif // HOTENDS > 2 #endif // HOTENDS > 1 - #if HAS_HEATER_BED + #if HAS_HEATED_BED _SLOW_PWM_ROUTINE(BED, soft_pwm_amount_bed); // BED #endif @@ -1935,7 +1995,7 @@ void Temperature::isr() { #endif // HOTENDS > 3 #endif // HOTENDS > 2 #endif // HOTENDS > 1 - #if HAS_HEATER_BED + #if HAS_HEATED_BED PWM_OFF_ROUTINE(BED); // BED #endif @@ -1995,7 +2055,7 @@ void Temperature::isr() { #endif // HOTENDS > 3 #endif // HOTENDS > 2 #endif // HOTENDS > 1 - #if HAS_HEATER_BED + #if HAS_HEATED_BED if (state_timer_heater_BED > 0) state_timer_heater_BED--; #endif } // ((pwm_count >> SOFT_PWM_SCALE) & 0x3F) == 0 @@ -2017,6 +2077,12 @@ void Temperature::isr() { * * This gives each ADC 0.9765ms to charge up. */ + #define ACCUMULATE_ADC(var) do{ \ + if (!HAL_ADC_READY()) next_sensor_state = adc_sensor_state; \ + else var += HAL_READ_ADC(); \ + }while(0) + + ADCSensorState next_sensor_state = adc_sensor_state < SensorsReady ? (ADCSensorState)(int(adc_sensor_state) + 1) : StartSampling; switch (adc_sensor_state) { @@ -2026,30 +2092,39 @@ void Temperature::isr() { constexpr int8_t extra_loops = MIN_ADC_ISR_LOOPS - (int8_t)SensorsReady; static uint8_t delay_count = 0; if (extra_loops > 0) { - if (delay_count == 0) delay_count = extra_loops; // Init this delay - if (--delay_count) // While delaying... - adc_sensor_state = (ADCSensorState)(int(SensorsReady) - 1); // retain this state (else, next state will be 0) + if (delay_count == 0) delay_count = extra_loops; // Init this delay + if (--delay_count) // While delaying... + next_sensor_state = SensorsReady; // retain this state (else, next state will be 0) break; } - else - adc_sensor_state = (ADCSensorState)0; // Fall-through to start first sensor now + else { + adc_sensor_state = StartSampling; // Fall-through to start sampling + next_sensor_state = (ADCSensorState)(int(StartSampling) + 1); + } } - #if HAS_TEMP_0 + case StartSampling: // Start of sampling loops. Do updates/checks. + if (++temp_count >= OVERSAMPLENR) { // 10 * 16 * 1/(16000000/64/256) = 164ms. + temp_count = 0; + readings_ready(); + } + break; + + #if HAS_TEMP_ADC_0 case PrepareTemp_0: HAL_START_ADC(TEMP_0_PIN); break; case MeasureTemp_0: - raw_temp_value[0] += HAL_READ_ADC; + ACCUMULATE_ADC(raw_temp_value[0]); break; #endif - #if HAS_TEMP_BED + #if HAS_HEATED_BED case PrepareTemp_BED: HAL_START_ADC(TEMP_BED_PIN); break; case MeasureTemp_BED: - raw_temp_bed_value += HAL_READ_ADC; + ACCUMULATE_ADC(raw_temp_bed_value); break; #endif @@ -2058,43 +2133,43 @@ void Temperature::isr() { HAL_START_ADC(TEMP_CHAMBER_PIN); break; case MeasureTemp_CHAMBER: - raw_temp_chamber_value += ADC; + ACCUMULATE_ADC(raw_temp_chamber_value); break; #endif - #if HAS_TEMP_1 + #if HAS_TEMP_ADC_1 case PrepareTemp_1: HAL_START_ADC(TEMP_1_PIN); break; case MeasureTemp_1: - raw_temp_value[1] += HAL_READ_ADC; + ACCUMULATE_ADC(raw_temp_value[1]); break; #endif - #if HAS_TEMP_2 + #if HAS_TEMP_ADC_2 case PrepareTemp_2: HAL_START_ADC(TEMP_2_PIN); break; case MeasureTemp_2: - raw_temp_value[2] += HAL_READ_ADC; + ACCUMULATE_ADC(raw_temp_value[2]); break; #endif - #if HAS_TEMP_3 + #if HAS_TEMP_ADC_3 case PrepareTemp_3: HAL_START_ADC(TEMP_3_PIN); break; case MeasureTemp_3: - raw_temp_value[3] += HAL_READ_ADC; + ACCUMULATE_ADC(raw_temp_value[3]); break; #endif - #if HAS_TEMP_4 + #if HAS_TEMP_ADC_4 case PrepareTemp_4: HAL_START_ADC(TEMP_4_PIN); break; case MeasureTemp_4: - raw_temp_value[4] += HAL_READ_ADC; + ACCUMULATE_ADC(raw_temp_value[4]); break; #endif @@ -2103,9 +2178,11 @@ void Temperature::isr() { HAL_START_ADC(FILWIDTH_PIN); break; case Measure_FILWIDTH: - if (HAL_READ_ADC > 102) { // Make sure ADC is reading > 0.5 volts, otherwise don't read. + if (!HAL_ADC_READY()) + next_sensor_state = adc_sensor_state; // redo this state + else if (HAL_READ_ADC() > 102) { // Make sure ADC is reading > 0.5 volts, otherwise don't read. raw_filwidth_value -= (raw_filwidth_value >> 7); // Subtract 1/128th of the raw_filwidth_value - raw_filwidth_value += ((unsigned long)HAL_READ_ADC << 7); // Add new ADC reading, scaled by 128 + raw_filwidth_value += ((unsigned long)HAL_READ_ADC() << 7); // Add new ADC reading, scaled by 128 } break; #endif @@ -2115,8 +2192,10 @@ void Temperature::isr() { HAL_START_ADC(ADC_KEYPAD_PIN); break; case Measure_ADC_KEY: - if (ADCKey_count < 16) { - raw_ADCKey_value = ADC; + if (!HAL_ADC_READY()) + next_sensor_state = adc_sensor_state; // redo this state + else if (ADCKey_count < 16) { + raw_ADCKey_value = HAL_READ_ADC(); if (raw_ADCKey_value > 900) { //ADC Key release ADCKey_count = 0; @@ -2134,88 +2213,12 @@ void Temperature::isr() { } // switch(adc_sensor_state) - if (!adc_sensor_state && ++temp_count >= OVERSAMPLENR) { // 10 * 16 * 1/(16000000/64/256) = 164ms. - - temp_count = 0; - - // Update the raw values if they've been read. Else we could be updating them during reading. - if (!temp_meas_ready) set_current_temp_raw(); - - // Filament Sensor - can be read any time since IIR filtering is used - #if ENABLED(FILAMENT_WIDTH_SENSOR) - current_raw_filwidth = raw_filwidth_value >> 10; // Divide to get to 0-16384 range since we used 1/128 IIR filter approach - #endif - - ZERO(raw_temp_value); - raw_temp_bed_value = 0; - raw_temp_chamber_value = 0; - - #define TEMPDIR(N) ((HEATER_##N##_RAW_LO_TEMP) > (HEATER_##N##_RAW_HI_TEMP) ? -1 : 1) + // Go to the next state + adc_sensor_state = next_sensor_state; - int constexpr temp_dir[] = { - #if ENABLED(HEATER_0_USES_MAX6675) - 0 - #else - TEMPDIR(0) - #endif - #if HOTENDS > 1 - , TEMPDIR(1) - #if HOTENDS > 2 - , TEMPDIR(2) - #if HOTENDS > 3 - , TEMPDIR(3) - #if HOTENDS > 4 - , TEMPDIR(4) - #endif // HOTENDS > 4 - #endif // HOTENDS > 3 - #endif // HOTENDS > 2 - #endif // HOTENDS > 1 - }; - - for (uint8_t e = 0; e < COUNT(temp_dir); e++) { - const int16_t tdir = temp_dir[e], rawtemp = current_temperature_raw[e] * tdir; - const bool heater_on = 0 < - #if ENABLED(PIDTEMP) - soft_pwm_amount[e] - #else - target_temperature[e] - #endif - ; - if (rawtemp > maxttemp_raw[e] * tdir && heater_on) max_temp_error(e); - if (rawtemp < minttemp_raw[e] * tdir && !is_preheating(e) && heater_on) { - #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED - if (++consecutive_low_temperature_error[e] >= MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED) - #endif - min_temp_error(e); - } - #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED - else - consecutive_low_temperature_error[e] = 0; - #endif - } - - #if HAS_TEMP_BED - #if HEATER_BED_RAW_LO_TEMP > HEATER_BED_RAW_HI_TEMP - #define GEBED <= - #else - #define GEBED >= - #endif - const bool bed_on = 0 < - #if ENABLED(PIDTEMPBED) - soft_pwm_amount_bed - #else - target_temperature_bed - #endif - ; - if (current_temperature_bed_raw GEBED bed_maxttemp_raw && bed_on) max_temp_error(-1); - if (bed_minttemp_raw GEBED current_temperature_bed_raw && bed_on) min_temp_error(-1); - #endif - - } // temp_count >= OVERSAMPLENR - - // Go to the next state, up to SensorsReady - adc_sensor_state = (ADCSensorState)(int(adc_sensor_state) + 1); - if (adc_sensor_state > SensorsReady) adc_sensor_state = (ADCSensorState)0; + // + // Additional ~1KHz Tasks + // #if ENABLED(BABYSTEPPING) LOOP_XYZ(axis) { @@ -2228,25 +2231,11 @@ void Temperature::isr() { } #endif // BABYSTEPPING - #if ENABLED(PINS_DEBUGGING) - endstops.run_monitor(); // report changes in endstop status - #endif - - #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) + // Poll endstops state, if required + endstops.poll(); - extern volatile uint8_t e_hit; - - if (e_hit && ENDSTOPS_ENABLED) { - endstops.update(); // call endstop update routine - e_hit--; - } - #endif - - #ifndef CPU_32_BIT - cli(); - #endif - in_temp_isr = false; - ENABLE_TEMPERATURE_INTERRUPT(); //re-enable Temperature ISR + // Periodically call the planner timer + planner.tick(); } #if HAS_TEMP_SENSOR @@ -2262,15 +2251,15 @@ void Temperature::isr() { #endif , const int8_t e=-3 ) { - #if !(HAS_TEMP_BED && HAS_TEMP_HOTEND && HAS_TEMP_CHAMBER) && HOTENDS <= 1 + #if !(HAS_HEATED_BED && HAS_TEMP_HOTEND && HAS_TEMP_CHAMBER) && HOTENDS <= 1 UNUSED(e); #endif SERIAL_PROTOCOLCHAR_P(port, ' '); SERIAL_PROTOCOLCHAR_P(port, - #if HAS_TEMP_CHAMBER && HAS_TEMP_BED && HAS_TEMP_HOTEND + #if HAS_TEMP_CHAMBER && HAS_HEATED_BED && HAS_TEMP_HOTEND e == -2 ? 'C' : e == -1 ? 'B' : 'T' - #elif HAS_TEMP_BED && HAS_TEMP_HOTEND + #elif HAS_HEATED_BED && HAS_TEMP_HOTEND e == -1 ? 'B' : 'T' #elif HAS_TEMP_HOTEND 'T' @@ -2306,7 +2295,7 @@ void Temperature::isr() { #endif ); #endif - #if HAS_TEMP_BED + #if HAS_HEATED_BED print_heater_state(degBed(), degTargetBed() #if ENABLED(SHOW_TEMP_ADC_VALUES) , rawBedTemp() @@ -2338,7 +2327,7 @@ void Temperature::isr() { #endif SERIAL_PROTOCOLPGM_P(port, " @:"); SERIAL_PROTOCOL_P(port, getHeaterPower(gcode.target_extruder)); - #if HAS_TEMP_BED + #if HAS_HEATED_BED SERIAL_PROTOCOLPGM_P(port, " B@:"); SERIAL_PROTOCOL_P(port, getHeaterPower(-1)); #endif diff --git a/Marlin/src/module/temperature.h b/Marlin/src/module/temperature.h index 44e12507fc08..e8b80f97b58e 100644 --- a/Marlin/src/module/temperature.h +++ b/Marlin/src/module/temperature.h @@ -31,46 +31,49 @@ #include "../inc/MarlinConfig.h" #if ENABLED(BABYSTEPPING) - extern bool axis_known_position[XYZ]; + extern uint8_t axis_known_position; #endif #if ENABLED(AUTO_POWER_CONTROL) #include "../feature/power.h" #endif -#if ENABLED(PID_EXTRUSION_SCALING) - #include "stepper.h" -#endif - #ifndef SOFT_PWM_SCALE #define SOFT_PWM_SCALE 0 #endif +#if HOTENDS == 1 + #define HOTEND_INDEX 0 +#else + #define HOTEND_INDEX e +#endif + /** * States for ADC reading in the ISR */ enum ADCSensorState : char { - #if HAS_TEMP_0 + StartSampling, + #if HAS_TEMP_ADC_0 PrepareTemp_0, MeasureTemp_0, #endif - #if HAS_TEMP_1 + #if HAS_TEMP_ADC_1 PrepareTemp_1, MeasureTemp_1, #endif - #if HAS_TEMP_2 + #if HAS_TEMP_ADC_2 PrepareTemp_2, MeasureTemp_2, #endif - #if HAS_TEMP_3 + #if HAS_TEMP_ADC_3 PrepareTemp_3, MeasureTemp_3, #endif - #if HAS_TEMP_4 + #if HAS_TEMP_ADC_4 PrepareTemp_4, MeasureTemp_4, #endif - #if HAS_TEMP_BED + #if HAS_HEATED_BED PrepareTemp_BED, MeasureTemp_BED, #endif @@ -95,48 +98,34 @@ enum ADCSensorState : char { // get all oversampled sensor readings #define MIN_ADC_ISR_LOOPS 10 -#define ACTUAL_ADC_SAMPLES max(int(MIN_ADC_ISR_LOOPS), int(SensorsReady)) +#define ACTUAL_ADC_SAMPLES MAX(int(MIN_ADC_ISR_LOOPS), int(SensorsReady)) #if HAS_PID_HEATING - #define PID_K2 (1.0-PID_K1) + #define PID_K2 (1-float(PID_K1)) #define PID_dT ((OVERSAMPLENR * float(ACTUAL_ADC_SAMPLES)) / TEMP_TIMER_FREQUENCY) // Apply the scale factors to the PID values - #define scalePID_i(i) ( (i) * PID_dT ) - #define unscalePID_i(i) ( (i) / PID_dT ) - #define scalePID_d(d) ( (d) / PID_dT ) - #define unscalePID_d(d) ( (d) * PID_dT ) -#endif - -#if !HAS_HEATER_BED - constexpr int16_t target_temperature_bed = 0; + #define scalePID_i(i) ( float(i) * PID_dT ) + #define unscalePID_i(i) ( float(i) / PID_dT ) + #define scalePID_d(d) ( float(d) / PID_dT ) + #define unscalePID_d(d) ( float(d) * PID_dT ) #endif class Temperature { public: - static float current_temperature[HOTENDS], - current_temperature_chamber, - current_temperature_bed; + static volatile bool in_temp_isr; + + static float current_temperature[HOTENDS]; static int16_t current_temperature_raw[HOTENDS], - target_temperature[HOTENDS], - current_temperature_chamber_raw, - current_temperature_bed_raw; + target_temperature[HOTENDS]; + static uint8_t soft_pwm_amount[HOTENDS]; #if ENABLED(AUTO_POWER_E_FANS) static int16_t autofan_speed[HOTENDS]; #endif - #if HAS_HEATER_BED - static int16_t target_temperature_bed; - #endif - - static volatile bool in_temp_isr; - - static uint8_t soft_pwm_amount[HOTENDS], - soft_pwm_amount_bed; - #if ENABLED(FAN_SOFT_PWM) static uint8_t soft_pwm_amount_fan[FAN_COUNT], soft_pwm_count_fan[FAN_COUNT]; @@ -164,24 +153,19 @@ class Temperature { #endif - #if ENABLED(PIDTEMPBED) - static float bedKp, bedKi, bedKd; + #if HAS_HEATED_BED + static float current_temperature_bed; + static int16_t current_temperature_bed_raw, target_temperature_bed; + static uint8_t soft_pwm_amount_bed; + #if ENABLED(PIDTEMPBED) + static float bedKp, bedKi, bedKd; + #endif #endif #if ENABLED(BABYSTEPPING) static volatile int babystepsTodo[3]; #endif - #if WATCH_HOTENDS - static uint16_t watch_target_temp[HOTENDS]; - static millis_t watch_heater_next_ms[HOTENDS]; - #endif - - #if WATCH_THE_BED - static uint16_t watch_target_bed_temp; - static millis_t watch_bed_next_ms; - #endif - #if ENABLED(PREVENT_COLD_EXTRUSION) static bool allow_cold_extrude; static int16_t extrude_min_temp; @@ -209,8 +193,15 @@ class Temperature { private: #if EARLY_WATCHDOG - // If temperature controller is running - static bool inited; + static bool inited; // If temperature controller is running + #endif + + static volatile bool temp_meas_ready; + static uint16_t raw_temp_value[MAX_EXTRUDERS]; + + #if WATCH_HOTENDS + static uint16_t watch_target_temp[HOTENDS]; + static millis_t watch_heater_next_ms[HOTENDS]; #endif #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) @@ -218,8 +209,6 @@ class Temperature { static float redundant_temperature; #endif - static volatile bool temp_meas_ready; - #if ENABLED(PIDTEMP) static float temp_iState[HOTENDS], temp_dState[HOTENDS], @@ -238,41 +227,52 @@ class Temperature { static bool pid_reset[HOTENDS]; #endif - #if ENABLED(PIDTEMPBED) - static float temp_iState_bed, - temp_dState_bed, - pTerm_bed, - iTerm_bed, - dTerm_bed, - pid_error_bed; - #else - static millis_t next_bed_check_ms; - #endif - - static uint16_t raw_temp_value[MAX_EXTRUDERS], - raw_temp_chamber_value, - raw_temp_bed_value; - // Init min and max temp with extreme values to prevent false errors during startup static int16_t minttemp_raw[HOTENDS], maxttemp_raw[HOTENDS], minttemp[HOTENDS], maxttemp[HOTENDS]; - #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED - static uint8_t consecutive_low_temperature_error[HOTENDS]; + #if HAS_HEATED_BED + static uint16_t raw_temp_bed_value; + #if WATCH_THE_BED + static uint16_t watch_target_bed_temp; + static millis_t watch_bed_next_ms; + #endif + #if ENABLED(PIDTEMPBED) + static float temp_iState_bed, + temp_dState_bed, + pTerm_bed, + iTerm_bed, + dTerm_bed, + pid_error_bed; + #else + static millis_t next_bed_check_ms; + #endif + #if HEATER_IDLE_HANDLER + static millis_t bed_idle_timeout_ms; + static bool bed_idle_timeout_exceeded; + #endif + #ifdef BED_MINTEMP + static int16_t bed_minttemp_raw; + #endif + #ifdef BED_MAXTEMP + static int16_t bed_maxttemp_raw; + #endif #endif - #ifdef MILLISECONDS_PREHEAT_TIME - static millis_t preheat_end_time[HOTENDS]; + #if HAS_TEMP_CHAMBER + static uint16_t raw_temp_chamber_value; + static float current_temperature_chamber; + static int16_t current_temperature_chamber_raw; #endif - #ifdef BED_MINTEMP - static int16_t bed_minttemp_raw; + #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED + static uint8_t consecutive_low_temperature_error[HOTENDS]; #endif - #ifdef BED_MAXTEMP - static int16_t bed_maxttemp_raw; + #ifdef MILLISECONDS_PREHEAT_TIME + static millis_t preheat_end_time[HOTENDS]; #endif #if ENABLED(FILAMENT_WIDTH_SENSOR) @@ -294,10 +294,6 @@ class Temperature { #if HEATER_IDLE_HANDLER static millis_t heater_idle_timeout_ms[HOTENDS]; static bool heater_idle_timeout_exceeded[HOTENDS]; - #if HAS_TEMP_BED - static millis_t bed_idle_timeout_ms; - static bool bed_idle_timeout_exceeded; - #endif #endif public: @@ -306,6 +302,10 @@ class Temperature { static uint8_t ADCKey_count; #endif + #if ENABLED(PID_EXTRUSION_SCALING) + static int16_t lpq_len; + #endif + /** * Instance Methods */ @@ -319,7 +319,7 @@ class Temperature { */ static float analog2temp(const int raw, const uint8_t e); - #if HAS_TEMP_BED + #if HAS_HEATED_BED static float analog2tempBed(const int raw); #endif #if HAS_TEMP_CHAMBER @@ -329,6 +329,7 @@ class Temperature { /** * Called from the Temperature ISR */ + static void readings_ready(); static void isr(); /** @@ -378,8 +379,6 @@ class Temperature { #endif return current_temperature[HOTEND_INDEX]; } - FORCE_INLINE static float degBed() { return current_temperature_bed; } - FORCE_INLINE static float degChamber() { return current_temperature_chamber; } #if ENABLED(SHOW_TEMP_ADC_VALUES) FORCE_INLINE static int16_t rawHotendTemp(const uint8_t e) { @@ -388,8 +387,6 @@ class Temperature { #endif return current_temperature_raw[HOTEND_INDEX]; } - FORCE_INLINE static int16_t rawBedTemp() { return current_temperature_bed_raw; } - FORCE_INLINE static int16_t rawChamberTemp() { return current_temperature_chamber_raw; } #endif FORCE_INLINE static int16_t degTargetHotend(const uint8_t e) { @@ -399,16 +396,10 @@ class Temperature { return target_temperature[HOTEND_INDEX]; } - FORCE_INLINE static int16_t degTargetBed() { return target_temperature_bed; } - #if WATCH_HOTENDS static void start_watching_heater(const uint8_t e = 0); #endif - #if WATCH_THE_BED - static void start_watching_bed(); - #endif - static void setTargetHotend(const int16_t celsius, const uint8_t e) { #if HOTENDS == 1 UNUSED(e); @@ -428,14 +419,36 @@ class Temperature { #endif } - static void setTargetBed(const int16_t celsius) { - #if HAS_HEATER_BED + FORCE_INLINE static bool isHeatingHotend(const uint8_t e) { + #if HOTENDS == 1 + UNUSED(e); + #endif + return target_temperature[HOTEND_INDEX] > current_temperature[HOTEND_INDEX]; + } + + FORCE_INLINE static bool isCoolingHotend(const uint8_t e) { + #if HOTENDS == 1 + UNUSED(e); + #endif + return target_temperature[HOTEND_INDEX] < current_temperature[HOTEND_INDEX]; + } + + #if HAS_HEATED_BED + #if ENABLED(SHOW_TEMP_ADC_VALUES) + FORCE_INLINE static int16_t rawBedTemp() { return current_temperature_bed_raw; } + #endif + FORCE_INLINE static float degBed() { return current_temperature_bed; } + FORCE_INLINE static int16_t degTargetBed() { return target_temperature_bed; } + FORCE_INLINE static bool isHeatingBed() { return target_temperature_bed > current_temperature_bed; } + FORCE_INLINE static bool isCoolingBed() { return target_temperature_bed < current_temperature_bed; } + + static void setTargetBed(const int16_t celsius) { #if ENABLED(AUTO_POWER_CONTROL) powerManager.power_on(); #endif target_temperature_bed = #ifdef BED_MAXTEMP - min(celsius, BED_MAXTEMP) + MIN(celsius, BED_MAXTEMP) #else celsius #endif @@ -443,33 +456,28 @@ class Temperature { #if WATCH_THE_BED start_watching_bed(); #endif - #endif - } + } - FORCE_INLINE static bool isHeatingHotend(const uint8_t e) { - #if HOTENDS == 1 - UNUSED(e); + #if WATCH_THE_BED + static void start_watching_bed(); #endif - return target_temperature[HOTEND_INDEX] > current_temperature[HOTEND_INDEX]; - } - FORCE_INLINE static bool isHeatingBed() { return target_temperature_bed > current_temperature_bed; } + #endif - FORCE_INLINE static bool isCoolingHotend(const uint8_t e) { - #if HOTENDS == 1 - UNUSED(e); + #if HAS_TEMP_CHAMBER + #if ENABLED(SHOW_TEMP_ADC_VALUES) + FORCE_INLINE static int16_t rawChamberTemp() { return current_temperature_chamber_raw; } #endif - return target_temperature[HOTEND_INDEX] < current_temperature[HOTEND_INDEX]; - } - FORCE_INLINE static bool isCoolingBed() { return target_temperature_bed < current_temperature_bed; } + FORCE_INLINE static float degChamber() { return current_temperature_chamber; } + #endif FORCE_INLINE static bool wait_for_heating(const uint8_t e) { - return degTargetHotend(e) > TEMP_HYSTERESIS && abs(degHotend(e) - degTargetHotend(e)) > TEMP_HYSTERESIS; + return degTargetHotend(e) > TEMP_HYSTERESIS && ABS(degHotend(e) - degTargetHotend(e)) > TEMP_HYSTERESIS; } /** * The software PWM power for a heater */ - static int getHeaterPower(int heater); + static int getHeaterPower(const int heater); /** * Switch off all heaters, set all target temperatures to 0 @@ -498,7 +506,7 @@ class Temperature { #if ENABLED(BABYSTEPPING) static void babystep_axis(const AxisEnum axis, const int16_t distance) { - if (axis_known_position[axis]) { + if (TEST(axis_known_position, axis)) { #if IS_CORE #if ENABLED(BABYSTEP_XY) switch (axis) { @@ -562,7 +570,7 @@ class Temperature { return heater_idle_timeout_exceeded[HOTEND_INDEX]; } - #if HAS_TEMP_BED + #if HAS_HEATED_BED static void start_bed_idle_timer(const millis_t timeout_ms) { bed_idle_timeout_ms = millis() + timeout_ms; bed_idle_timeout_exceeded = false; @@ -627,7 +635,7 @@ class Temperature { #if ENABLED(THERMAL_PROTECTION_HOTENDS) || HAS_THERMALLY_PROTECTED_BED - typedef enum TRState : char { TRInactive, TRFirstHeating, TRStable, TRRunaway } TRstate; + enum TRState : char { TRInactive, TRFirstHeating, TRStable, TRRunaway }; static void thermal_runaway_protection(TRState * const state, millis_t * const timer, const float ¤t, const float &target, const int8_t heater_id, const uint16_t period_seconds, const uint16_t hysteresis_degc); diff --git a/Marlin/src/module/thermistor/thermistor_15.h b/Marlin/src/module/thermistor/thermistor_15.h index cbbe8f23fdc4..8e207cdca4e2 100644 --- a/Marlin/src/module/thermistor/thermistor_15.h +++ b/Marlin/src/module/thermistor/thermistor_15.h @@ -27,11 +27,11 @@ const short temptable_15[][2] PROGMEM = { { OV( 35), 260 }, { OV( 38), 253 }, { OV( 41), 248 }, - { OV( 48), 239 }, - { OV( 56), 232 }, - { OV( 66), 222 }, - { OV( 78), 212 }, - { OV( 93), 206 }, + { OV( 48), 239 }, + { OV( 56), 232 }, + { OV( 66), 222 }, + { OV( 78), 212 }, + { OV( 93), 206 }, { OV( 106), 199 }, { OV( 118), 191 }, { OV( 130), 186 }, @@ -39,10 +39,10 @@ const short temptable_15[][2] PROGMEM = { { OV( 187), 167 }, { OV( 224), 158 }, { OV( 270), 148 }, - { OV( 321), 137 }, - { OV( 379), 127 }, - { OV( 446), 117 }, - { OV( 518), 106 }, + { OV( 321), 137 }, + { OV( 379), 127 }, + { OV( 446), 117 }, + { OV( 518), 106 }, { OV( 593), 96 }, { OV( 668), 86 }, { OV( 739), 76 }, diff --git a/Marlin/src/module/thermistor/thermistor_501.h b/Marlin/src/module/thermistor/thermistor_501.h new file mode 100644 index 000000000000..512ac0d8d80c --- /dev/null +++ b/Marlin/src/module/thermistor/thermistor_501.h @@ -0,0 +1,57 @@ +/** + * 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 . + * + */ + +// 100k Zonestar thermistor. Adjusted By Hally +const short temptable_501[][2] PROGMEM = { + {OV( 1), 713}, + {OV( 14), 300}, // Top rating 300C + {OV( 16), 290}, + {OV( 19), 280}, + {OV( 23), 270}, + {OV( 27), 260}, + {OV( 32), 250}, + {OV( 30), 240}, + {OV( 47), 230}, + {OV( 57), 220}, + {OV( 68), 210}, + {OV( 84), 200}, + {OV( 100), 190}, + {OV( 128), 180}, + {OV( 155), 170}, + {OV( 189), 160}, + {OV( 230), 150}, + {OV( 278), 140}, + {OV( 336), 130}, + {OV( 402), 120}, + {OV( 476), 110}, + {OV( 554), 100}, + {OV( 635), 90}, + {OV( 713), 80}, + {OV( 784), 70}, + {OV( 846), 60}, + {OV( 897), 50}, + {OV( 937), 40}, + {OV( 966), 30}, + {OV( 986), 20}, + {OV(1000), 10}, + {OV(1010), 0} +}; diff --git a/Marlin/src/module/thermistor/thermistor_666.h b/Marlin/src/module/thermistor/thermistor_666.h new file mode 100755 index 000000000000..be76b03dfa73 --- /dev/null +++ b/Marlin/src/module/thermistor/thermistor_666.h @@ -0,0 +1,98 @@ +/** + * 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 . + * + */ + +/** + * This file was generated by tltgen on Thu Jul 5 15:46:43 2018. + * tltgen was created by Pieter Agten (pieter.agten@gmail.com). + */ +//#include "output_table.h" + +/* + * Parameters: + * A: -0.000480634 + * B: 0.00031362 + * C: -2.03978e-07 + */ +#define NUMTEMPS 61 +const short temptable_666[NUMTEMPS][2] PROGMEM = { + { OV( 1), 794 }, + { OV( 18), 288 }, + { OV( 35), 234 }, + { OV( 52), 207 }, + { OV( 69), 189 }, + { OV( 86), 176 }, + { OV(103), 166 }, + { OV(120), 157 }, + { OV(137) ,150 }, + { OV(154), 144 }, + { OV(172), 138 }, + { OV(189), 134 }, + { OV(206), 129 }, + { OV(223), 125 }, + { OV(240), 121 }, + { OV(257), 118 }, + { OV(274), 115 }, + { OV(291), 112 }, + { OV(308), 109 }, + { OV(325), 106 }, + { OV(342), 103 }, + { OV(359), 101 }, + { OV(376), 99 }, + { OV(393), 96 }, + { OV(410), 94 }, + { OV(427), 92 }, + { OV(444), 90 }, + { OV(461), 88 }, + { OV(478), 86 }, + { OV(495), 84 }, + { OV(512), 82 }, + { OV(530), 80 }, + { OV(547), 78 }, + { OV(564), 76 }, + { OV(581), 74 }, + { OV(598), 72 }, + { OV(615), 70 }, + { OV(632), 68 }, + { OV(649), 67 }, + { OV(666), 65 }, + { OV(683), 63 }, + { OV(700), 61 }, + { OV(717), 59 }, + { OV(734), 57 }, + { OV(751), 55 }, + { OV(768), 53 }, + { OV(785), 51 }, + { OV(802), 49 }, + { OV(819), 47 }, + { OV(836), 44 }, + { OV(853), 42 }, + { OV(871), 39 }, + { OV(888), 37 }, + { OV(905), 34 }, + { OV(922), 30 }, + { OV(939), 27 }, + { OV(956), 23 }, + { OV(973), 18 }, + { OV(990), 11 }, + { OV(1007), 2 }, + { OV(1023),-25 } +}; diff --git a/Marlin/src/module/thermistor/thermistor_70.h b/Marlin/src/module/thermistor/thermistor_70.h index fd7838b8098b..2f9434e30067 100644 --- a/Marlin/src/module/thermistor/thermistor_70.h +++ b/Marlin/src/module/thermistor/thermistor_70.h @@ -20,64 +20,23 @@ * */ +// Stock BQ Hephestos 2 100k thermistor. +// Created on 29/12/2017 with an ambient temperature of 20C. +// ANENG AN8009 DMM with a K-type probe used for measurements. + // R25 = 100 kOhm, beta25 = 4100 K, 4.7 kOhm pull-up, bqh2 stock thermistor const short temptable_70[][2] PROGMEM = { - { OV( 22), 300 }, - { OV( 24), 295 }, - { OV( 25), 290 }, - { OV( 27), 285 }, - { OV( 29), 280 }, - { OV( 32), 275 }, - { OV( 34), 270 }, - { OV( 37), 265 }, - { OV( 40), 260 }, - { OV( 43), 255 }, - { OV( 46), 250 }, - { OV( 50), 245 }, - { OV( 54), 240 }, - { OV( 59), 235 }, - { OV( 64), 230 }, - { OV( 70), 225 }, - { OV( 76), 220 }, - { OV( 83), 215 }, - { OV( 90), 210 }, - { OV( 99), 205 }, - { OV( 108), 200 }, - { OV( 118), 195 }, - { OV( 129), 190 }, - { OV( 141), 185 }, - { OV( 154), 180 }, - { OV( 169), 175 }, - { OV( 185), 170 }, - { OV( 203), 165 }, - { OV( 222), 160 }, - { OV( 243), 155 }, - { OV( 266), 150 }, - { OV( 290), 145 }, - { OV( 317), 140 }, - { OV( 346), 135 }, - { OV( 376), 130 }, - { OV( 408), 125 }, - { OV( 442), 120 }, - { OV( 477), 115 }, - { OV( 513), 110 }, - { OV( 551), 105 }, - { OV( 588), 100 }, - { OV( 626), 95 }, - { OV( 663), 90 }, - { OV( 699), 85 }, - { OV( 735), 80 }, - { OV( 768), 75 }, - { OV( 800), 70 }, - { OV( 829), 65 }, - { OV( 856), 60 }, - { OV( 881), 55 }, - { OV( 903), 50 }, - { OV( 922), 45 }, - { OV( 939), 40 }, - { OV( 954), 35 }, - { OV( 966), 30 }, - { OV( 977), 25 }, + { OV( 18), 270 }, + { OV( 27), 248 }, + { OV( 34), 234 }, + { OV( 45), 220 }, + { OV( 61), 205 }, + { OV( 86), 188 }, + { OV( 123), 172 }, + { OV( 420), 110 }, + { OV( 590), 90 }, + { OV( 845), 56 }, + { OV( 970), 25 }, { OV( 986), 20 }, { OV( 994), 15 }, { OV(1000), 10 }, diff --git a/Marlin/src/module/thermistor/thermistors.h b/Marlin/src/module/thermistor/thermistors.h index 45ee3be0b3dd..56b75e173941 100644 --- a/Marlin/src/module/thermistor/thermistors.h +++ b/Marlin/src/module/thermistor/thermistors.h @@ -55,6 +55,9 @@ #if ANY_THERMISTOR_IS(5) // beta25 = 4267 K, R25 = 100 kOhm, Pull-up = 4.7 kOhm, "ParCan, ATC 104GT-2" #include "thermistor_5.h" #endif +#if ANY_THERMISTOR_IS(501) // 100K Zonestar thermistor + #include "thermistor_501.h" +#endif #if ANY_THERMISTOR_IS(6) // beta25 = 4092 K, R25 = 100 kOhm, Pull-up = 8.2 kOhm, "EPCOS ?" #include "thermistor_6.h" #endif @@ -97,7 +100,7 @@ #if ANY_THERMISTOR_IS(60) // beta25 = 3950 K, R25 = 100 kOhm, Pull-up = 4.7 kOhm, "Maker's Tool Works Kapton Bed" #include "thermistor_60.h" #endif -#if ANY_THERMISTOR_IS(66) // beta25 = 4500 K, R25 = 2.5 MOhm, Pull-up = 4.7 kOhm, "DyzeDesign 500 C Thermistor" +#if ANY_THERMISTOR_IS(66) // beta25 = 4500 K, R25 = 2.5 MOhm, Pull-up = 4.7 kOhm, "DyzeDesign 500 °C Thermistor" #include "thermistor_66.h" #endif #if ANY_THERMISTOR_IS(12) // beta25 = 4700 K, R25 = 100 kOhm, Pull-up = 4.7 kOhm, "Personal calibration for Makibox hot bed" @@ -115,6 +118,9 @@ #if ANY_THERMISTOR_IS(147) // Pt100 with 4k7 pullup #include "thermistor_147.h" #endif +#if ANY_THERMISTOR_IS(666) // beta25 = UNK, R25 = 200K, Pull-up = 10 kOhm, "Unidentified 200K NTC thermistor (Einstart S)" + #include "thermistor_666.h" +#endif #if ANY_THERMISTOR_IS(1010) // Pt1000 with 1k0 pullup #include "thermistor_1010.h" #endif @@ -131,7 +137,7 @@ #define _TT_NAME(_N) temptable_ ## _N #define TT_NAME(_N) _TT_NAME(_N) -#ifdef THERMISTORHEATER_0 +#if THERMISTORHEATER_0 #define HEATER_0_TEMPTABLE TT_NAME(THERMISTORHEATER_0) #define HEATER_0_TEMPTABLE_LEN COUNT(HEATER_0_TEMPTABLE) #elif defined(HEATER_0_USES_THERMISTOR) @@ -141,7 +147,7 @@ #define HEATER_0_TEMPTABLE_LEN 0 #endif -#ifdef THERMISTORHEATER_1 +#if THERMISTORHEATER_1 #define HEATER_1_TEMPTABLE TT_NAME(THERMISTORHEATER_1) #define HEATER_1_TEMPTABLE_LEN COUNT(HEATER_1_TEMPTABLE) #elif defined(HEATER_1_USES_THERMISTOR) @@ -151,7 +157,7 @@ #define HEATER_1_TEMPTABLE_LEN 0 #endif -#ifdef THERMISTORHEATER_2 +#if THERMISTORHEATER_2 #define HEATER_2_TEMPTABLE TT_NAME(THERMISTORHEATER_2) #define HEATER_2_TEMPTABLE_LEN COUNT(HEATER_2_TEMPTABLE) #elif defined(HEATER_2_USES_THERMISTOR) @@ -161,7 +167,7 @@ #define HEATER_2_TEMPTABLE_LEN 0 #endif -#ifdef THERMISTORHEATER_3 +#if THERMISTORHEATER_3 #define HEATER_3_TEMPTABLE TT_NAME(THERMISTORHEATER_3) #define HEATER_3_TEMPTABLE_LEN COUNT(HEATER_3_TEMPTABLE) #elif defined(HEATER_3_USES_THERMISTOR) @@ -171,7 +177,7 @@ #define HEATER_3_TEMPTABLE_LEN 0 #endif -#ifdef THERMISTORHEATER_4 +#if THERMISTORHEATER_4 #define HEATER_4_TEMPTABLE TT_NAME(THERMISTORHEATER_4) #define HEATER_4_TEMPTABLE_LEN COUNT(HEATER_4_TEMPTABLE) #elif defined(HEATER_4_USES_THERMISTOR) @@ -184,21 +190,26 @@ #ifdef THERMISTORBED #define BEDTEMPTABLE TT_NAME(THERMISTORBED) #define BEDTEMPTABLE_LEN COUNT(BEDTEMPTABLE) +#elif defined(HEATER_BED_USES_THERMISTOR) + #error "No bed thermistor table specified" #else - #ifdef BED_USES_THERMISTOR - #error "No bed thermistor table specified" - #endif + #define BEDTEMPTABLE_LEN 0 #endif #ifdef THERMISTORCHAMBER #define CHAMBERTEMPTABLE TT_NAME(THERMISTORCHAMBER) #define CHAMBERTEMPTABLE_LEN COUNT(CHAMBERTEMPTABLE) +#elif defined(HEATER_CHAMBER_USES_THERMISTOR) + #error "No chamber thermistor table specified" #else - #ifdef CHAMBER_USES_THERMISTOR - #error "No chamber thermistor table specified" - #endif + #define CHAMBERTEMPTABLE_LEN 0 #endif +// The SCAN_THERMISTOR_TABLE macro needs alteration? +static_assert(HEATER_0_TEMPTABLE_LEN < 256 && HEATER_1_TEMPTABLE_LEN < 256 && HEATER_2_TEMPTABLE_LEN < 256 && HEATER_3_TEMPTABLE_LEN < 256 && HEATER_4_TEMPTABLE_LEN < 256 && BEDTEMPTABLE_LEN < 256 && CHAMBERTEMPTABLE_LEN < 256, + "Temperature conversion tables over 255 entries need special consideration." +); + // Set the high and low raw values for the heaters // For thermistors the highest temperature results in the lowest ADC value // For thermocouples the highest temperature results in the highest ADC value @@ -248,7 +259,7 @@ #endif #endif #ifndef HEATER_BED_RAW_HI_TEMP - #ifdef BED_USES_THERMISTOR + #ifdef HEATER_BED_USES_THERMISTOR #define HEATER_BED_RAW_HI_TEMP 0 #define HEATER_BED_RAW_LO_TEMP 16383 #else @@ -257,7 +268,7 @@ #endif #endif #ifndef HEATER_CHAMBER_RAW_HI_TEMP - #ifdef CHAMBER_USES_THERMISTOR + #ifdef HEATER_CHAMBER_USES_THERMISTOR #define HEATER_CHAMBER_RAW_HI_TEMP 0 #define HEATER_CHAMBER_RAW_LO_TEMP 16383 #else diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp index 2bb071a20e60..35c52cf7aef2 100644 --- a/Marlin/src/module/tool_change.cpp +++ b/Marlin/src/module/tool_change.cpp @@ -24,7 +24,6 @@ #include "motion.h" #include "planner.h" -#include "stepper.h" #include "../Marlin.h" @@ -58,7 +57,7 @@ #include "../feature/fanmux.h" #endif -#if ENABLED(SWITCHING_EXTRUDER) +#if DO_SWITCH_EXTRUDER #if EXTRUDERS > 3 #define REQ_ANGLES 4 @@ -71,7 +70,7 @@ void move_extruder_servo(const uint8_t e) { constexpr int16_t angles[] = SWITCHING_EXTRUDER_SERVO_ANGLES; static_assert(COUNT(angles) == REQ_ANGLES, "SWITCHING_EXTRUDER_SERVO_ANGLES needs " STRINGIFY(REQ_ANGLES) " angles."); - stepper.synchronize(); + planner.synchronize(); #if EXTRUDERS & 1 if (e < EXTRUDERS - 1) #endif @@ -81,13 +80,13 @@ } } -#endif // SWITCHING_EXTRUDER +#endif // DO_SWITCH_EXTRUDER #if ENABLED(SWITCHING_NOZZLE) void move_nozzle_servo(const uint8_t e) { const int16_t angles[2] = SWITCHING_NOZZLE_SERVO_ANGLES; - stepper.synchronize(); + planner.synchronize(); MOVE_SERVO(SWITCHING_NOZZLE_SERVO_NR, angles[e]); safe_delay(500); } @@ -144,7 +143,7 @@ if (DEBUGGING(LEVELING)) DEBUG_POS("Moving to Raised Z-Position", current_position); #endif planner.buffer_line_kinematic(current_position, planner.max_feedrate_mm_s[Z_AXIS], active_extruder); - stepper.synchronize(); + planner.synchronize(); // STEP 2 current_position[X_AXIS] = parkingposx[active_extruder] + hotend_offset[X_AXIS][active_extruder]; @@ -153,7 +152,7 @@ if (DEBUGGING(LEVELING)) DEBUG_POS("Moving ParkPos", current_position); #endif planner.buffer_line_kinematic(current_position, planner.max_feedrate_mm_s[X_AXIS], active_extruder); - stepper.synchronize(); + planner.synchronize(); // STEP 3 #if ENABLED(DEBUG_LEVELING_FEATURE) @@ -171,7 +170,7 @@ if (DEBUGGING(LEVELING)) DEBUG_POS("Moving away from parked extruder", current_position); #endif planner.buffer_line_kinematic(current_position, planner.max_feedrate_mm_s[X_AXIS], active_extruder); - stepper.synchronize(); + planner.synchronize(); // STEP 5 #if ENABLED(DEBUG_LEVELING_FEATURE) @@ -192,7 +191,7 @@ if (DEBUGGING(LEVELING)) DEBUG_POS("Move UnparkPos", current_position); #endif planner.buffer_line_kinematic(current_position, planner.max_feedrate_mm_s[X_AXIS]/2, active_extruder); - stepper.synchronize(); + planner.synchronize(); // Step 7 current_position[X_AXIS] = midpos - hotend_offset[X_AXIS][tmp_extruder]; @@ -201,7 +200,7 @@ if (DEBUGGING(LEVELING)) DEBUG_POS("Move midway to new extruder", current_position); #endif planner.buffer_line_kinematic(current_position, planner.max_feedrate_mm_s[X_AXIS], active_extruder); - stepper.synchronize(); + planner.synchronize(); #if ENABLED(DEBUG_LEVELING_FEATURE) SERIAL_ECHOLNPGM("Autopark done."); #endif @@ -283,7 +282,7 @@ inline void invalid_extruder_error(const uint8_t e) { planner.max_feedrate_mm_s[i == 1 ? X_AXIS : Z_AXIS], active_extruder ); - stepper.synchronize(); + planner.synchronize(); } // Apply Y & Z extruder offset (X offset is used as home pos with Dual X) @@ -348,13 +347,13 @@ inline void invalid_extruder_error(const uint8_t e) { #endif // DUAL_X_CARRIAGE -#define DO_SWITCH_EXTRUDER (SWITCHING_EXTRUDER_SERVO_NR != SWITCHING_NOZZLE_SERVO_NR) - /** * Perform a tool-change, which may result in moving the * previous tool out of the way and the new tool into place. */ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool no_move/*=false*/) { + planner.synchronize(); + #if ENABLED(MIXING_EXTRUDER) && MIXING_VIRTUAL_TOOLS > 1 mixing_tool_change(tmp_extruder); @@ -457,6 +456,9 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n #endif // Move back to the original (or tweaked) position do_blocking_move_to(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS]); + #if ENABLED(DUAL_X_CARRIAGE) + active_extruder_parked = false; + #endif } #if ENABLED(SWITCHING_NOZZLE) else { @@ -466,7 +468,7 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n #endif } // (tmp_extruder != active_extruder) - stepper.synchronize(); + planner.synchronize(); #if ENABLED(EXT_SOLENOID) && !ENABLED(PARKING_EXTRUDER) disable_all_solenoids(); @@ -493,7 +495,7 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n #endif // HOTENDS <= 1 #if DO_SWITCH_EXTRUDER - stepper.synchronize(); + planner.synchronize(); move_extruder_servo(active_extruder); #endif diff --git a/Marlin/src/module/tool_change.h b/Marlin/src/module/tool_change.h index a464085d446e..53da00d17853 100644 --- a/Marlin/src/module/tool_change.h +++ b/Marlin/src/module/tool_change.h @@ -25,7 +25,7 @@ #include "../inc/MarlinConfig.h" -#if ENABLED(SWITCHING_EXTRUDER) +#if DO_SWITCH_EXTRUDER void move_extruder_servo(const uint8_t e); #endif diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 8d4ea5e1c461..1d2452afea93 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -54,311 +54,344 @@ // #if MB(RAMPS_OLD) - #include "pins_RAMPS_OLD.h" + #include "pins_RAMPS_OLD.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_13_EFB) - #include "pins_RAMPS_13.h" + #include "pins_RAMPS_13.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_13_EEB) - #include "pins_RAMPS_13.h" + #include "pins_RAMPS_13.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_13_EFF) - #include "pins_RAMPS_13.h" + #include "pins_RAMPS_13.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_13_EEF) - #include "pins_RAMPS_13.h" + #include "pins_RAMPS_13.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_13_SF) - #include "pins_RAMPS_13.h" + #include "pins_RAMPS_13.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_14_EFB) - #include "pins_RAMPS.h" + #include "pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_14_EEB) - #include "pins_RAMPS.h" + #include "pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_14_EFF) - #include "pins_RAMPS.h" + #include "pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_14_EEF) - #include "pins_RAMPS.h" + #include "pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_14_SF) - #include "pins_RAMPS.h" + #include "pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_PLUS_EFB) - #include "pins_RAMPS_PLUS.h" + #include "pins_RAMPS_PLUS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_PLUS_EEB) - #include "pins_RAMPS_PLUS.h" + #include "pins_RAMPS_PLUS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_PLUS_EFF) - #include "pins_RAMPS_PLUS.h" + #include "pins_RAMPS_PLUS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_PLUS_EEF) - #include "pins_RAMPS_PLUS.h" + #include "pins_RAMPS_PLUS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RAMPS_PLUS_SF) - #include "pins_RAMPS_PLUS.h" + #include "pins_RAMPS_PLUS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 // // RAMPS Derivatives - ATmega1280, ATmega2560 // #elif MB(3DRAG) - #include "pins_3DRAG.h" // ATmega1280, ATmega2560 + #include "pins_3DRAG.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(K8200) - #include "pins_K8200.h" // ATmega1280, ATmega2560 (3DRAG) + #include "pins_K8200.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 (3DRAG) #elif MB(K8400) - #include "pins_K8400.h" // ATmega1280, ATmega2560 (3DRAG) + #include "pins_K8400.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 (3DRAG) #elif MB(BAM_DICE) - #include "pins_RAMPS.h" // ATmega1280, ATmega2560 + #include "pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(BAM_DICE_DUE) - #include "pins_BAM_DICE_DUE.h" // ATmega1280, ATmega2560 + #include "pins_BAM_DICE_DUE.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(MKS_BASE) - #include "pins_MKS_BASE.h" // ATmega1280, ATmega2560 + #include "pins_MKS_BASE.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 +#elif MB(MKS_BASE_15) + #include "pins_MKS_BASE_15.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(MKS_BASE_HEROIC) - #include "pins_MKS_BASE_HEROIC.h" // ATmega1280, ATmega2560 -#elif MB(MKS_13) - #include "pins_MKS_13.h" // ATmega1280, ATmega2560 + #include "pins_MKS_BASE_HEROIC.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 +#elif MB(MKS_GEN_13) + #include "pins_MKS_GEN_13.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(MKS_GEN_L) - #include "pins_MKS_GEN_L.h" // ATmega1280, ATmega2560 + #include "pins_MKS_GEN_L.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(ZRIB_V20) - #include "pins_ZRIB_V20.h" // ATmega1280, ATmega2560 (MKS_13) + #include "pins_ZRIB_V20.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 (MKS_GEN_13) #elif MB(FELIX2) - #include "pins_FELIX2.h" // ATmega1280, ATmega2560 + #include "pins_FELIX2.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RIGIDBOARD) - #include "pins_RIGIDBOARD.h" // ATmega1280, ATmega2560 + #include "pins_RIGIDBOARD.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(RIGIDBOARD_V2) - #include "pins_RIGIDBOARD_V2.h" // ATmega1280, ATmega2560 + #include "pins_RIGIDBOARD_V2.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(SAINSMART_2IN1) - #include "pins_SAINSMART_2IN1.h" // ATmega1280, ATmega2560 + #include "pins_SAINSMART_2IN1.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(ULTIMAKER) - #include "pins_ULTIMAKER.h" // ATmega1280, ATmega2560 + #include "pins_ULTIMAKER.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(ULTIMAKER_OLD) - #include "pins_ULTIMAKER_OLD.h" // ATmega1280, ATmega2560 + #include "pins_ULTIMAKER_OLD.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(AZTEEG_X3) - #include "pins_AZTEEG_X3.h" // ATmega2560 + #include "pins_AZTEEG_X3.h" // ATmega2560 env:megaatmega2560 #elif MB(AZTEEG_X3_PRO) - #include "pins_AZTEEG_X3_PRO.h" // ATmega2560 + #include "pins_AZTEEG_X3_PRO.h" // ATmega2560 env:megaatmega2560 #elif MB(ULTIMAIN_2) - #include "pins_ULTIMAIN_2.h" // ATmega2560 + #include "pins_ULTIMAIN_2.h" // ATmega2560 env:megaatmega2560 #elif MB(RUMBA) - #include "pins_RUMBA.h" // ATmega2560 + #include "pins_RUMBA.h" // ATmega2560 env:megaatmega2560 #elif MB(BQ_ZUM_MEGA_3D) - #include "pins_BQ_ZUM_MEGA_3D.h" // ATmega2560 + #include "pins_BQ_ZUM_MEGA_3D.h" // ATmega2560 env:megaatmega2560 #elif MB(MAKEBOARD_MINI) - #include "pins_MAKEBOARD_MINI.h" // ATmega2560 -#elif MB(TRIGORILLA) - #include "pins_TRIGORILLA.h" // ATmega2560 + #include "pins_MAKEBOARD_MINI.h" // ATmega2560 env:megaatmega2560 +#elif MB(TRIGORILLA_13) + #include "pins_TRIGORILLA_13.h" // ATmega2560 env:megaatmega2560 +#elif MB(TRIGORILLA_14) + #include "pins_TRIGORILLA_14.h" // ATmega2560 env:megaatmega2560 +#elif MB(RAMPS_ENDER_4) + #include "pins_RAMPS_ENDER_4.h" // ATmega2560 env:megaatmega2560 // // Other ATmega1280, ATmega2560 // #elif MB(CNCONTROLS_11) - #include "pins_CNCONTROLS_11.h" // ATmega1280, ATmega2560 + #include "pins_CNCONTROLS_11.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(CNCONTROLS_12) - #include "pins_CNCONTROLS_12.h" // ATmega1280, ATmega2560 + #include "pins_CNCONTROLS_12.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(MIGHTYBOARD_REVE) - #include "pins_MIGHTYBOARD_REVE.h" // ATmega1280, ATmega2560 + #include "pins_MIGHTYBOARD_REVE.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(CHEAPTRONIC) - #include "pins_CHEAPTRONIC.h" // ATmega2560 + #include "pins_CHEAPTRONIC.h" // ATmega2560 env:megaatmega2560 #elif MB(CHEAPTRONIC_V2) - #include "pins_CHEAPTRONICv2.h" // ATmega2560 + #include "pins_CHEAPTRONICv2.h" // ATmega2560 env:megaatmega2560 #elif MB(MEGATRONICS) - #include "pins_MEGATRONICS.h" // ATmega2560 + #include "pins_MEGATRONICS.h" // ATmega2560 env:megaatmega2560 #elif MB(MEGATRONICS_2) - #include "pins_MEGATRONICS_2.h" // ATmega2560 + #include "pins_MEGATRONICS_2.h" // ATmega2560 env:megaatmega2560 #elif MB(MEGATRONICS_3) || MB(MEGATRONICS_31) - #include "pins_MEGATRONICS_3.h" // ATmega2560 + #include "pins_MEGATRONICS_3.h" // ATmega2560 env:megaatmega2560 #elif MB(RAMBO) - #include "pins_RAMBO.h" // ATmega2560 + #include "pins_RAMBO.h" // ATmega2560 env:rambo #elif MB(MINIRAMBO) || MB(MINIRAMBO_10A) - #include "pins_MINIRAMBO.h" // ATmega2560 + #include "pins_MINIRAMBO.h" // ATmega2560 env:rambo #elif MB(EINSY_RAMBO) - #include "pins_EINSY_RAMBO.h" // ATmega2560 + #include "pins_EINSY_RAMBO.h" // ATmega2560 env:rambo #elif MB(EINSY_RETRO) - #include "pins_EINSY_RETRO.h" // ATmega2560 + #include "pins_EINSY_RETRO.h" // ATmega2560 env:rambo #elif MB(ELEFU_3) - #include "pins_ELEFU_3.h" // ATmega2560 + #include "pins_ELEFU_3.h" // ATmega2560 env:megaatmega2560 #elif MB(LEAPFROG) - #include "pins_LEAPFROG.h" // ATmega1280, ATmega2560 + #include "pins_LEAPFROG.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(MEGACONTROLLER) - #include "pins_MEGACONTROLLER.h" // ATmega2560 + #include "pins_MEGACONTROLLER.h" // ATmega2560 env:megaatmega2560 #elif MB(SCOOVO_X9H) - #include "pins_SCOOVO_X9H.h" // ATmega2560 + #include "pins_SCOOVO_X9H.h" // ATmega2560 env:rambo #elif MB(GT2560_REV_A) - #include "pins_GT2560_REV_A.h" // ATmega1280, ATmega2560 + #include "pins_GT2560_REV_A.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 #elif MB(GT2560_REV_A_PLUS) - #include "pins_GT2560_REV_A_PLUS.h" // ATmega1280, ATmega2560 -#elif MB(RAMPS_ENDER_4) - #include "pins_RAMPS_ENDER_4.h" // ATmega2560 + #include "pins_GT2560_REV_A_PLUS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 +#elif MB(EINSTART_S) + #include "pins_EINSTART-S.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 // // ATmega1281, ATmega2561 // #elif MB(MINITRONICS) - #include "pins_MINITRONICS.h" // ATmega1281 + #include "pins_MINITRONICS.h" // ATmega1281 env:megaatmega1280 #elif MB(SILVER_GATE) - #include "pins_SILVER_GATE.h" // ATmega2561 + #include "pins_SILVER_GATE.h" // ATmega2561 env:megaatmega2560 // // Sanguinololu and Derivatives - ATmega644P, ATmega1284P // #elif MB(SANGUINOLOLU_11) - #include "pins_SANGUINOLOLU_11.h" // ATmega644P, ATmega1284P + #include "pins_SANGUINOLOLU_11.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(SANGUINOLOLU_12) - #include "pins_SANGUINOLOLU_12.h" // ATmega644P, ATmega1284P + #include "pins_SANGUINOLOLU_12.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(MELZI) - #include "pins_MELZI.h" // ATmega644P, ATmega1284P + #include "pins_MELZI.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(MELZI_MAKR3D) - #include "pins_MELZI_MAKR3D.h" // ATmega644P, ATmega1284P + #include "pins_MELZI_MAKR3D.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(MELZI_CREALITY) - #include "pins_MELZI_CREALITY.h" // ATmega644P, ATmega1284P + #include "pins_MELZI_CREALITY.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(MELZI_MALYAN) - #include "pins_MELZI_MALYAN.h" // ATmega644P, ATmega1284P -#elif MB(CREALITY_ENDER) - #include "pins_CREALITY_ENDER.h" // ATmega1284P + #include "pins_MELZI_MALYAN.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(MELZI_TRONXY) - #include "pins_MELZI_TRONXY.h" // ATmega644P, ATmega1284P + #include "pins_MELZI_TRONXY.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(STB_11) - #include "pins_STB_11.h" // ATmega644P, ATmega1284P + #include "pins_STB_11.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(AZTEEG_X1) - #include "pins_AZTEEG_X1.h" // ATmega644P, ATmega1284P + #include "pins_AZTEEG_X1.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p // // Other ATmega644P, ATmega644, ATmega1284P // #elif MB(GEN3_MONOLITHIC) - #include "pins_GEN3_MONOLITHIC.h" // ATmega644P + #include "pins_GEN3_MONOLITHIC.h" // ATmega644P env:sanguino_atmega644p #elif MB(GEN3_PLUS) - #include "pins_GEN3_PLUS.h" // ATmega644P, ATmega1284P + #include "pins_GEN3_PLUS.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(GEN6) - #include "pins_GEN6.h" // ATmega644P, ATmega1284P + #include "pins_GEN6.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(GEN6_DELUXE) - #include "pins_GEN6_DELUXE.h" // ATmega644P, ATmega1284P + #include "pins_GEN6_DELUXE.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(GEN7_CUSTOM) - #include "pins_GEN7_CUSTOM.h" // ATmega644P, ATmega644, ATmega1284P + #include "pins_GEN7_CUSTOM.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(GEN7_12) - #include "pins_GEN7_12.h" // ATmega644P, ATmega644, ATmega1284P + #include "pins_GEN7_12.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(GEN7_13) - #include "pins_GEN7_13.h" // ATmega644P, ATmega644, ATmega1284P + #include "pins_GEN7_13.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(GEN7_14) - #include "pins_GEN7_14.h" // ATmega644P, ATmega644, ATmega1284P + #include "pins_GEN7_14.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p #elif MB(OMCA_A) - #include "pins_OMCA_A.h" // ATmega644 + #include "pins_OMCA_A.h" // ATmega644 env:sanguino_atmega644p #elif MB(OMCA) - #include "pins_OMCA.h" // ATmega644P, ATmega644 + #include "pins_OMCA.h" // ATmega644P, ATmega644 env:sanguino_atmega644p #elif MB(ANET_10) - #include "pins_ANET_10.h" // ATmega1284P + #include "pins_ANET_10.h" // ATmega1284P env:sanguino_atmega1284p #elif MB(SETHI) - #include "pins_SETHI.h" // ATmega644P, ATmega644, ATmega1284P + #include "pins_SETHI.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p // // Teensyduino - AT90USB1286, AT90USB1286P // #elif MB(TEENSYLU) - #include "pins_TEENSYLU.h" // AT90USB1286, AT90USB1286P + #include "pins_TEENSYLU.h" // AT90USB1286, AT90USB1286P env:at90usb1286_cdc #elif MB(PRINTRBOARD) - #include "pins_PRINTRBOARD.h" // AT90USB1286 + #include "pins_PRINTRBOARD.h" // AT90USB1286 env:at90usb1286_dfu #elif MB(PRINTRBOARD_REVF) - #include "pins_PRINTRBOARD_REVF.h" // AT90USB1286 + #include "pins_PRINTRBOARD_REVF.h" // AT90USB1286 env:at90usb1286_dfu #elif MB(BRAINWAVE) - #include "pins_BRAINWAVE.h" // AT90USB646 + #include "pins_BRAINWAVE.h" // AT90USB646 env:at90usb1286_cdc #elif MB(BRAINWAVE_PRO) - #include "pins_BRAINWAVE_PRO.h" // AT90USB1286 + #include "pins_BRAINWAVE_PRO.h" // AT90USB1286 env:at90usb1286_cdc #elif MB(SAV_MKI) - #include "pins_SAV_MKI.h" // AT90USB1286 + #include "pins_SAV_MKI.h" // AT90USB1286 env:at90usb1286_cdc #elif MB(TEENSY2) - #include "pins_TEENSY2.h" // AT90USB1286 + #include "pins_TEENSY2.h" // AT90USB1286 env:teensy20 #elif MB(5DPRINT) - #include "pins_5DPRINT.h" // AT90USB1286 + #include "pins_5DPRINT.h" // AT90USB1286 env:at90usb1286_dfu // -// Re-ARM - LPC1768 +// LPC1768 ARM Cortex M3 // #elif MB(RAMPS_14_RE_ARM_EFB) - #include "pins_RAMPS_RE_ARM.h" + #include "pins_RAMPS_RE_ARM.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload #elif MB(RAMPS_14_RE_ARM_EEB) - #include "pins_RAMPS_RE_ARM.h" + #include "pins_RAMPS_RE_ARM.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload #elif MB(RAMPS_14_RE_ARM_EFF) - #include "pins_RAMPS_RE_ARM.h" + #include "pins_RAMPS_RE_ARM.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload #elif MB(RAMPS_14_RE_ARM_EEF) - #include "pins_RAMPS_RE_ARM.h" + #include "pins_RAMPS_RE_ARM.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload #elif MB(RAMPS_14_RE_ARM_SF) - #include "pins_RAMPS_RE_ARM.h" + #include "pins_RAMPS_RE_ARM.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload +#elif MB(MKS_SBASE) + #include "pins_MKS_SBASE.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload +#elif MB(AZSMZ_MINI) + #include "pins_AZSMZ_MINI.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload +#elif MB(AZTEEG_X5_GT) + #include "pins_AZTEEG_X5_GT.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload +#elif MB(BIQU_BQ111_A4) + #include "pins_BIQU_BQ111_A4.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload +#elif MB(SELENA_COMPACT) + #include "pins_SELENA_COMPACT.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload +#elif MB(COHESION3D_REMIX) + #include "pins_COHESION3D_REMIX.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload +#elif MB(COHESION3D_MINI) + #include "pins_COHESION3D_MINI.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload // // Other 32-bit Boards // -#elif MB(TEENSY35_36) - #include "pins_TEENSY35_36.h" #elif MB(DUE3DOM) - #include "pins_DUE3DOM.h" + #include "pins_DUE3DOM.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(DUE3DOM_MINI) - #include "pins_DUE3DOM_MINI.h" + #include "pins_DUE3DOM_MINI.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RADDS) - #include "pins_RADDS.h" -#elif MB(RURAMPS4D) - #include "pins_RURAMPS4D.h" + #include "pins_RADDS.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug +#elif MB(RURAMPS4D_11) + #include "pins_RURAMPS4D_11.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug +#elif MB(RURAMPS4D_13) + #include "pins_RURAMPS4D_13.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_FD_V1) - #include "pins_RAMPS_FD_V1.h" + #include "pins_RAMPS_FD_V1.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_FD_V2) - #include "pins_RAMPS_FD_V2.h" + #include "pins_RAMPS_FD_V2.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_SMART_EFB) - #include "pins_RAMPS_SMART.h" + #include "pins_RAMPS_SMART.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_SMART_EEB) - #include "pins_RAMPS_SMART.h" + #include "pins_RAMPS_SMART.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_SMART_EFF) - #include "pins_RAMPS_SMART.h" + #include "pins_RAMPS_SMART.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_SMART_EEF) - #include "pins_RAMPS_SMART.h" + #include "pins_RAMPS_SMART.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_SMART_SF) - #include "pins_RAMPS_SMART.h" + #include "pins_RAMPS_SMART.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_DUO_EFB) - #include "pins_RAMPS_DUO.h" + #include "pins_RAMPS_DUO.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_DUO_EEB) - #include "pins_RAMPS_DUO.h" + #include "pins_RAMPS_DUO.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_DUO_EFF) - #include "pins_RAMPS_DUO.h" + #include "pins_RAMPS_DUO.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_DUO_EEF) - #include "pins_RAMPS_DUO.h" + #include "pins_RAMPS_DUO.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_DUO_SF) - #include "pins_RAMPS_DUO.h" + #include "pins_RAMPS_DUO.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS4DUE_EFB) - #include "pins_RAMPS4DUE.h" + #include "pins_RAMPS4DUE.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS4DUE_EEB) - #include "pins_RAMPS4DUE.h" + #include "pins_RAMPS4DUE.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS4DUE_EFF) - #include "pins_RAMPS4DUE.h" + #include "pins_RAMPS4DUE.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS4DUE_EEF) - #include "pins_RAMPS4DUE.h" + #include "pins_RAMPS4DUE.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS4DUE_SF) - #include "pins_RAMPS4DUE.h" + #include "pins_RAMPS4DUE.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(ULTRATRONICS_PRO) - #include "pins_ULTRATRONICS_PRO.h" + #include "pins_ULTRATRONICS_PRO.h" // SAM3X8E env:DUE env:DUE_debug #elif MB(ARCHIM2) - #include "pins_ARCHIM2.h" + #include "pins_ARCHIM2.h" // SAM3X8E env:DUE env:DUE_debug #elif MB(ALLIGATOR) - #include "pins_ALLIGATOR_R2.h" + #include "pins_ALLIGATOR_R2.h" // SAM3X8E env:DUE env:DUE_debug + +// +// STM32 ARM Cortex-M3 +// + #elif MB(STM32F1R) - #include "pins_STM32F1R.h" + #include "pins_STM32F1R.h" // STM32F1 env:STM32F1 #elif MB(STM3R_MINI) - #include "pins_STM3R_MINI.h" + #include "pins_STM3R_MINI.h" // STM32F1 env:STM32F1 #elif MB(MALYAN_M200) - #include "pins_MALYAN_M200.h" -#elif MB(BEAST) - #include "pins_BEAST.h" + #include "pins_MALYAN_M200.h" // STM32F1 env:malyanm200 #elif MB(CHITU3D) - #include "pins_CHITU3D.h" -#elif MB(MKS_SBASE) - #include "pins_MKS_SBASE.h" -#elif MB(AZSMZ_MINI) - #include "pins_AZSMZ_MINI.h" -#elif MB(AZTEEG_X5_GT) - #include "pins_AZTEEG_X5_GT.h" -#elif MB(BIQU_BQ111_A4) - #include "pins_BIQU_BQ111_A4.h" + #include "pins_CHITU3D.h" // STM32F1 env:STM32F1 +#elif MB(GTM32_PRO_VB) + #include "pins_GTM32_PRO_VB.h" // STM32F1 env:STM32F1 + +// +// STM32 ARM Cortex-M4F +// + +#elif MB(TEENSY35_36) + #include "pins_TEENSY35_36.h" // TEENSY35_36 env:teensy35 +#elif MB(BEAST) + #include "pins_BEAST.h" // STM32F4 env:STM32F4 +#elif MB(STM32F4) + #include "pins_STM32F4.h" // STM32F4 env:STM32F4 + +// +// ARM Cortex M7 +// + #elif MB(THE_BORG) - #include "pins_THE_BORG.h" -#elif MB(SELENA_COMPACT) - #include "pins_SELENA_COMPACT.h" -#elif MB(COHESION3D_REMIX) - #include "pins_COHESION3D_REMIX.h" -#elif MB(COHESION3D_MINI) - #include "pins_COHESION3D_MINI.h" + #include "pins_THE_BORG.h" // STM32F7 env:STM32F7 + +// +// Espressif ESP32 +// + +#elif MB(ESP32) + #include "pins_ESP32.h" + #else #error "Unknown MOTHERBOARD value set in Configuration.h" #endif @@ -886,6 +919,6 @@ // Note: default SPI pins are defined in the HAL -#include "../HAL/HAL_spi_pins.h" +#include HAL_PATH(../HAL, spi_pins.h) #endif // __PINS_H__ diff --git a/Marlin/src/pins/pinsDebug.h b/Marlin/src/pins/pinsDebug.h index 394de461614c..2ec747cd44dd 100644 --- a/Marlin/src/pins/pinsDebug.h +++ b/Marlin/src/pins/pinsDebug.h @@ -100,14 +100,13 @@ const PinInfo pin_array[] PROGMEM = { }; -#include "../HAL/HAL_pinsDebug.h" // get the correct support file for this CPU +#include HAL_PATH(../HAL, pinsDebug.h) // get the correct support file for this CPU static void print_input_or_output(const bool isout) { serialprintPGM(isout ? PSTR("Output = ") : PSTR("Input = ")); } - // pretty report with PWM info inline void report_pin_state_extended(pin_t pin, bool ignore, bool extended = false, const char *start_string = "") { char buffer[MAX_NAME_LENGTH + 1]; // for the sprintf statements diff --git a/Marlin/src/pins/pins_5DPRINT.h b/Marlin/src/pins/pins_5DPRINT.h index 0e8b5f601930..415cc23bce3f 100755 --- a/Marlin/src/pins/pins_5DPRINT.h +++ b/Marlin/src/pins/pins_5DPRINT.h @@ -132,7 +132,9 @@ #define HEATER_0_PIN 15 // C5 #define HEATER_BED_PIN 14 // C4 -#define FAN_PIN 16 // C6 PWM3A +#ifndef FAN_PIN + #define FAN_PIN 16 // C6 PWM3A +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_ALLIGATOR_R2.h b/Marlin/src/pins/pins_ALLIGATOR_R2.h index 314c51ce0fee..1bfbcdf22486 100644 --- a/Marlin/src/pins/pins_ALLIGATOR_R2.h +++ b/Marlin/src/pins/pins_ALLIGATOR_R2.h @@ -107,7 +107,9 @@ #define HEATER_3_PIN 97 // PC20 on piggy #define HEATER_BED_PIN 69 // PA0 -#define FAN_PIN 92 // PA5 +#ifndef FAN_PIN + #define FAN_PIN 92 // PA5 +#endif #define FAN1_PIN 31 // PA7 // diff --git a/Marlin/src/pins/pins_ANET_10.h b/Marlin/src/pins/pins_ANET_10.h index eee100b120d7..bdd277e35c6d 100644 --- a/Marlin/src/pins/pins_ANET_10.h +++ b/Marlin/src/pins/pins_ANET_10.h @@ -89,7 +89,7 @@ */ #ifndef __AVR_ATmega1284P__ - #error "Oops! Make sure you have 'Anet V1.0', 'Anet V1.0 (Optiboot)' or 'Sanguino' selected from the 'Tools -> Boards' menu." + #error "Oops! Make sure you have 'Anet V1.0', 'Anet V1.0 (Optiboot)' or 'Sanguino' selected in the 'Tools -> Boards' menu and ATmega1284P selected in 'Tools -> Processor' menu." #endif #ifndef BOARD_NAME @@ -133,7 +133,10 @@ // #define HEATER_0_PIN 13 // (extruder) #define HEATER_BED_PIN 12 // (bed) -#define FAN_PIN 4 + +#ifndef FAN_PIN + #define FAN_PIN 4 +#endif // // Misc. Functions @@ -177,13 +180,13 @@ #define BTN_EN2 10 #define BTN_ENC 16 #ifndef ST7920_DELAY_1 - #define ST7920_DELAY_1 DELAY_0_NOP + #define ST7920_DELAY_1 DELAY_NS(0) #endif #ifndef ST7920_DELAY_2 - #define ST7920_DELAY_2 DELAY_1_NOP + #define ST7920_DELAY_2 DELAY_NS(63) #endif #ifndef ST7920_DELAY_3 - #define ST7920_DELAY_3 DELAY_2_NOP + #define ST7920_DELAY_3 DELAY_NS(125) #endif #define STD_ENCODER_PULSES_PER_STEP 4 #define STD_ENCODER_STEPS_PER_MENU_ITEM 1 diff --git a/Marlin/src/pins/pins_ARCHIM2.h b/Marlin/src/pins/pins_ARCHIM2.h index 5dd3a94dc25e..ea9348cef05a 100644 --- a/Marlin/src/pins/pins_ARCHIM2.h +++ b/Marlin/src/pins/pins_ARCHIM2.h @@ -43,15 +43,44 @@ // Items marked * have been altered from Archim v1.0 // +// TMC2130 Diag Pins (currently just for reference) +#define X_DIAG_PIN 59 // PA4 X_DIAG +#define Y_DIAG_PIN 48 // PC15 Y_DIAG +#define Z_DIAG_PIN 36 // PC4 Z_DIAG +#define E0_DIAG_PIN 78 // PB23 E1_DIAG +#define E1_DIAG_PIN 25 // PD0 E2_DIAG + // // Limit Switches // -#define X_MIN_PIN 14 // PD4 MIN ES1 -#define X_MAX_PIN 32 // PD10 MAX ES1 -#define Y_MIN_PIN 29 // PD6 MIN ES2 -#define Y_MAX_PIN 15 // PD5 MAX ES2 -#define Z_MIN_PIN 31 // PA7 MIN ES3 -#define Z_MAX_PIN 30 // PD9 MAX ES3 +// Only use Diag Pins when SENSORLESS_HOMING is enabled for the TMC2130 drivers. +// Otherwise use a physical endstop based configuration. + +#if DISABLED(SENSORLESS_HOMING) + #define X_MIN_PIN 14 // PD4 MIN ES1 + #define X_MAX_PIN 32 // PD10 MAX ES1 + #define Y_MIN_PIN 29 // PD6 MIN ES2 + #define Y_MAX_PIN 15 // PD5 MAX ES2 +#else + #if X_HOME_DIR == -1 + #define X_MIN_PIN X_DIAG_PIN + #define X_MAX_PIN 32 + #else + #define X_MIN_PIN 14 + #define X_MAX_PIN X_DIAG_PIN + #endif + + #if Y_HOME_DIR == -1 + #define Y_MIN_PIN Y_DIAG_PIN + #define Y_MAX_PIN 15 + #else + #define Y_MIN_PIN 29 + #define Y_MAX_PIN Y_DIAG_PIN + #endif +#endif + + #define Z_MIN_PIN 31 // PA7 MIN ES3 + #define Z_MAX_PIN 30 // PD9 MAX ES3 // // Z Probe (when not Z_MIN_PIN) @@ -69,7 +98,6 @@ #ifndef X_CS_PIN #define X_CS_PIN 39 // PC7 X_nCS #endif -#define X_DIAG_PIN 59 // PA4 X_DIAG #define Y_STEP_PIN 51 // PC12 Y-STEP * #define Y_DIR_PIN 92 // PC11 Y-DIR -AddOns * @@ -77,7 +105,6 @@ #ifndef Y_CS_PIN #define Y_CS_PIN 50 // PC13 Y_nCS #endif -#define Y_DIAG_PIN 48 // PC15 Y_DIAG #define Z_STEP_PIN 46 // PC17 Z-STEP * #define Z_DIR_PIN 47 // PC16 Z-DIR * @@ -85,7 +112,6 @@ #ifndef Z_CS_PIN #define Z_CS_PIN 45 // PC18 Z_nCS #endif -#define Z_DIAG_PIN 36 // PC4 Z_DIAG #define E0_STEP_PIN 107 // PB10 E1-STEP -AddOns * #define E0_DIR_PIN 96 // PC10 E1-DIR -AddOns * @@ -93,7 +119,6 @@ #ifndef E0_CS_PIN #define E0_CS_PIN 104 // PC20 E1_nCS -AddOns * #endif -#define E0_DIAG_PIN 78 // PB23 E1_DIAG #define E1_STEP_PIN 22 // PB26 E2_STEP * #define E1_DIR_PIN 97 // PB24 E2_DIR -AddOns * @@ -101,7 +126,6 @@ #ifndef E1_CS_PIN #define E1_CS_PIN 19 // PA10 E2_nCS #endif -#define E1_DIAG_PIN 25 // PD0 E2_DIAG // // Software SPI pins for TMC2130 stepper drivers. @@ -124,7 +148,9 @@ // // Heaters / Fans // -#define FAN_PIN 4 // D4 PC26 FET_PWM1 +#ifndef FAN_PIN + #define FAN_PIN 4 // D4 PC26 FET_PWM1 +#endif #define FAN1_PIN 5 // D5 PC25 FET_PWM2 #define HEATER_0_PIN 6 // D6 PC24 FET_PWM3 @@ -132,13 +158,11 @@ #define HEATER_2_PIN 8 // D8 PC22 FET_PWM5 #define HEATER_BED_PIN 9 // D9 PC21 BED_PWM - // // Misc. Functions // #define SDSS 87 // D87 PA29 CS - ////////////////////////// // LCDs and Controllers // ////////////////////////// diff --git a/Marlin/src/pins/pins_AZSMZ_MINI.h b/Marlin/src/pins/pins_AZSMZ_MINI.h index 3d3e0fab780e..6d4971b9548a 100644 --- a/Marlin/src/pins/pins_AZSMZ_MINI.h +++ b/Marlin/src/pins/pins_AZSMZ_MINI.h @@ -82,7 +82,9 @@ // EFB #define HEATER_0_PIN P2_04 #define HEATER_BED_PIN P2_05 -#define FAN_PIN P2_07 +#ifndef FAN_PIN + #define FAN_PIN P2_07 +#endif #define FAN1_PIN P0_26 #if ENABLED(AZSMZ_12864) diff --git a/Marlin/src/pins/pins_AZTEEG_X3_PRO.h b/Marlin/src/pins/pins_AZTEEG_X3_PRO.h index 1010320679e1..fa17120651b2 100644 --- a/Marlin/src/pins/pins_AZTEEG_X3_PRO.h +++ b/Marlin/src/pins/pins_AZTEEG_X3_PRO.h @@ -24,22 +24,29 @@ * AZTEEG_X3_PRO (Arduino Mega) pin assignments */ +#ifndef __AVR_ATmega2560__ + #error "Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu." +#endif + #if HOTENDS > 5 || E_STEPPERS > 5 #error "Azteeg X3 Pro supports up to 5 hotends / E-steppers. Comment out this line to continue." #endif +#define BOARD_NAME "Azteeg X3 Pro" + +// +// RAMPS pins overrides +// #if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT) - #define CASE_LIGHT_PIN 44 // Define before RAMPS pins include + #define CASE_LIGHT_PIN 44 #endif -#define BOARD_NAME "Azteeg X3 Pro" +#ifndef FAN_PIN + #define FAN_PIN 6 +#endif #include "pins_RAMPS.h" -#ifndef __AVR_ATmega2560__ - #error "Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu." -#endif - // DIGIPOT slave addresses #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT 0x2C (0x58 <- 0x2C << 1) #define DIGIPOT_I2C_ADDRESS_B 0x2E // unshifted slave address for second DIGIPOT 0x2E (0x5C <- 0x2E << 1) @@ -116,9 +123,6 @@ #define HEATER_6_PIN 6 #define HEATER_7_PIN 11 -#undef FAN_PIN -#define FAN_PIN 6 // Part Cooling System - #ifndef CONTROLLER_FAN_PIN #define CONTROLLER_FAN_PIN 4 // Pin used for the fan to cool motherboard (-1 to disable) #endif diff --git a/Marlin/src/pins/pins_AZTEEG_X5_GT.h b/Marlin/src/pins/pins_AZTEEG_X5_GT.h index fd0b88d71b8d..a0e9cd5c7d7f 100644 --- a/Marlin/src/pins/pins_AZTEEG_X5_GT.h +++ b/Marlin/src/pins/pins_AZTEEG_X5_GT.h @@ -85,7 +85,9 @@ #define HEATER_BED_PIN P2_07 #define HEATER_0_PIN P2_04 #define HEATER_1_PIN P2_05 -#define FAN_PIN P0_26 +#ifndef FAN_PIN + #define FAN_PIN P0_26 +#endif #define FAN1_PIN P1_22 // @@ -93,23 +95,22 @@ // #if ENABLED(VIKI2) || ENABLED(miniVIKI) - #define BEEPER_PIN P1_30 - #define DOGLCD_A0 P2_06 - #define DOGLCD_CS P0_16 - - #define BTN_EN1 P3_25 - #define BTN_EN2 P3_26 - #define BTN_ENC P2_11 + #define BEEPER_PIN P1_31 + #define DOGLCD_A0 P2_06 + #define DOGLCD_CS P0_16 - #define SD_DETECT_PIN -1 // Pin 49 for display sd interface, 72 for easy adapter board + #define BTN_EN1 P3_25 + #define BTN_EN2 P3_26 + #define BTN_ENC P2_11 - #define KILL_PIN -1 + #define SD_DETECT_PIN P1_18 + #define SDSS P1_21 - #define STAT_LED_RED_PIN P0_26 - #define STAT_LED_BLUE_PIN P1_21 + #define STAT_LED_RED_PIN P1_19 + #define STAT_LED_BLUE_PIN P1_20 #endif // // Servo // -#define SERVO0_PIN P1_23 +#define SERVO0_PIN P1_23 diff --git a/Marlin/src/pins/pins_BEAST.h b/Marlin/src/pins/pins_BEAST.h index f734c5e710f2..28fb8539a2e8 100644 --- a/Marlin/src/pins/pins_BEAST.h +++ b/Marlin/src/pins/pins_BEAST.h @@ -103,7 +103,9 @@ #define HEATER_BED2_PIN -1 // BED2 #define HEATER_BED3_PIN -1 // BED3 -#define FAN_PIN PB10 +#ifndef FAN_PIN + #define FAN_PIN PB10 +#endif #define FAN_SOFT_PWM diff --git a/Marlin/src/pins/pins_BIQU_BQ111_A4.h b/Marlin/src/pins/pins_BIQU_BQ111_A4.h index 648b3caf1db6..23522b1354b1 100644 --- a/Marlin/src/pins/pins_BIQU_BQ111_A4.h +++ b/Marlin/src/pins/pins_BIQU_BQ111_A4.h @@ -82,7 +82,9 @@ // #define HEATER_0_PIN P2_7 #define HEATER_BED_PIN P2_5 -#define FAN_PIN P2_4 +#ifndef FAN_PIN + #define FAN_PIN P2_4 +#endif // // Unused diff --git a/Marlin/src/pins/pins_BRAINWAVE.h b/Marlin/src/pins/pins_BRAINWAVE.h index 932619769b37..a43c6be95c45 100644 --- a/Marlin/src/pins/pins_BRAINWAVE.h +++ b/Marlin/src/pins/pins_BRAINWAVE.h @@ -115,7 +115,9 @@ #define HEATER_0_PIN 32 // A4 Extruder #define HEATER_BED_PIN 18 // E6 Bed -#define FAN_PIN 31 // A3 Fan +#ifndef FAN_PIN + #define FAN_PIN 31 // A3 Fan +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_BRAINWAVE_PRO.h b/Marlin/src/pins/pins_BRAINWAVE_PRO.h index 872d868e1036..49c8ab6b5919 100644 --- a/Marlin/src/pins/pins_BRAINWAVE_PRO.h +++ b/Marlin/src/pins/pins_BRAINWAVE_PRO.h @@ -125,7 +125,9 @@ // #define HEATER_0_PIN 27 // B7 #define HEATER_BED_PIN 26 // B6 Bed -#define FAN_PIN 16 // C6 Fan, PWM3A +#ifndef FAN_PIN + #define FAN_PIN 16 // C6 Fan, PWM3A +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_CHEAPTRONICv2.h b/Marlin/src/pins/pins_CHEAPTRONICv2.h index e6840abeb20d..eea57d23ecc5 100644 --- a/Marlin/src/pins/pins_CHEAPTRONICv2.h +++ b/Marlin/src/pins/pins_CHEAPTRONICv2.h @@ -31,6 +31,7 @@ #endif #define BOARD_NAME "Cheaptronic v2.0" + // // Limit Switches // @@ -80,10 +81,32 @@ // // Heaters / Fans // -#define HEATER_0_PIN 6 -#define HEATER_1_PIN 7 -#define HEATER_2_PIN 8 -#define HEATER_BED_PIN 9 +#define HEATER_0_PIN 6 +#define HEATER_1_PIN 7 +#define HEATER_2_PIN 8 +#define HEATER_BED_PIN 9 +#ifndef FAN_PIN + #define FAN_PIN 3 +#endif +#define FAN2_PIN 58 // additional fan or light control output + +// +// Other board specific pins +// +#ifndef FIL_RUNOUT_PIN + #define FIL_RUNOUT_PIN 37 // board input labeled as F-DET +#endif +#define Z_MIN_PROBE_PIN 36 // additional external board input labeled as E-SENS (should be used for Z-probe) +#define LED_PIN 13 +#define SPINDLE_ENABLE_PIN 4 // additional PWM pin 1 at JP1 connector - should be used for laser control too +#define EXT_2 5 // additional PWM pin 2 at JP1 connector +#define EXT_3 2 // additional PWM pin 3 at JP1 connector +#define PS_ON_PIN 45 +#define KILL_PIN 46 + +#ifndef FILWIDTH_PIN + #define FILWIDTH_PIN 11 // shared with TEMP_3 analog input +#endif // // LCD @@ -105,23 +128,3 @@ #define BTN_EN1 11 #define BTN_EN2 12 #define BTN_ENC 43 - -// -// Other board specific pins -// -#ifndef FIL_RUNOUT_PIN - #define FIL_RUNOUT_PIN 37 // board input labeled as F-DET -#endif -#define Z_MIN_PROBE_PIN 36 // additional external board input labeled as E-SENS (should be used for Z-probe) -#define LED_PIN 13 -#define SPINDLE_ENABLE_PIN 4 // additional PWM pin 1 at JP1 connector - should be used for laser control too -#define EXT_2 5 // additional PWM pin 2 at JP1 connector -#define EXT_3 2 // additional PWM pin 3 at JP1 connector -#define FAN_PIN 3 -#define FAN2_PIN 58 // additional fan or light control output -#define PS_ON_PIN 45 -#define KILL_PIN 46 - -#ifndef FILWIDTH_PIN - #define FILWIDTH_PIN 11 // shared with TEMP_3 analog input -#endif diff --git a/Marlin/src/pins/pins_CHITU3D.h b/Marlin/src/pins/pins_CHITU3D.h index 5ba5b153795f..bfa92357ef73 100644 --- a/Marlin/src/pins/pins_CHITU3D.h +++ b/Marlin/src/pins/pins_CHITU3D.h @@ -102,7 +102,9 @@ #define HEATER_BED2_PIN -1 // BED2 #define HEATER_BED3_PIN -1 // BED3 -#define FAN_PIN PG14 // MAIN BOARD FAN +#ifndef FAN_PIN + #define FAN_PIN PG14 // MAIN BOARD FAN +#endif #define FAN_SOFT_PWM diff --git a/Marlin/src/pins/pins_CNCONTROLS_11.h b/Marlin/src/pins/pins_CNCONTROLS_11.h index 8535288ece1d..0a32d04a1859 100644 --- a/Marlin/src/pins/pins_CNCONTROLS_11.h +++ b/Marlin/src/pins/pins_CNCONTROLS_11.h @@ -65,7 +65,9 @@ #define HEATER_3_PIN 46 #define HEATER_BED_PIN 2 -//#define FAN_PIN 7 // common PWM pin for all tools +#ifndef FAN_PIN + //#define FAN_PIN 7 // common PWM pin for all tools +#endif #define ORIG_E0_AUTO_FAN_PIN 7 #define ORIG_E1_AUTO_FAN_PIN 7 diff --git a/Marlin/src/pins/pins_CNCONTROLS_12.h b/Marlin/src/pins/pins_CNCONTROLS_12.h index e2a778cda2d2..f073b19c96fd 100644 --- a/Marlin/src/pins/pins_CNCONTROLS_12.h +++ b/Marlin/src/pins/pins_CNCONTROLS_12.h @@ -65,7 +65,9 @@ #define HEATER_3_PIN 3 #define HEATER_BED_PIN 24 -#define FAN_PIN 5 // 5 is PWMtool3 -> 7 is common PWM pin for all tools +#ifndef FAN_PIN + #define FAN_PIN 5 // 5 is PWMtool3 -> 7 is common PWM pin for all tools +#endif #define ORIG_E0_AUTO_FAN_PIN 7 #define ORIG_E1_AUTO_FAN_PIN 7 diff --git a/Marlin/src/pins/pins_COHESION3D_MINI.h b/Marlin/src/pins/pins_COHESION3D_MINI.h index 1754588b35b5..ea568b266f04 100644 --- a/Marlin/src/pins/pins_COHESION3D_MINI.h +++ b/Marlin/src/pins/pins_COHESION3D_MINI.h @@ -98,12 +98,15 @@ // #define HEATER_BED_PIN P2_05 #define HEATER_0_PIN P2_07 // FET 1 -#define AUTO_FAN_PIN P2_04 // FET 4 -#define FAN_PIN P2_06 // ReMix FET 4, Mini FET 3 +#ifndef FAN_PIN + #define FAN_PIN P2_06 // ReMix FET 4, Mini FET 3 +#endif // // Auto fans // +#define AUTO_FAN_PIN P2_04 // FET 4 + #define ORIG_E0_AUTO_FAN_PIN AUTO_FAN_PIN #define ORIG_E1_AUTO_FAN_PIN AUTO_FAN_PIN #define ORIG_E2_AUTO_FAN_PIN AUTO_FAN_PIN diff --git a/Marlin/src/pins/pins_COHESION3D_REMIX.h b/Marlin/src/pins/pins_COHESION3D_REMIX.h index b36dd6681b10..77346914fbc0 100644 --- a/Marlin/src/pins/pins_COHESION3D_REMIX.h +++ b/Marlin/src/pins/pins_COHESION3D_REMIX.h @@ -115,17 +115,19 @@ #define HEATER_BED_PIN P2_05 #define HEATER_0_PIN P2_07 // FET 1 #define HEATER_1_PIN P1_23 // FET 2 -#if HOTENDS == 3 - #define HEATER_2_PIN P1_22 // FET 3 - #define AUTO_FAN_PIN P1_18 // FET 6 -#else - #define AUTO_FAN_PIN P1_22 // FET 3 +#define HEATER_2_PIN P1_22 // FET 3 +#ifndef FAN_PIN + #define FAN_PIN P2_06 // ReMix FET 4, Mini FET 3 #endif -#define FAN_PIN P2_06 // ReMix FET 4, Mini FET 3 // // Auto fans // +#if HOTENDS == 3 + #define AUTO_FAN_PIN P1_18 // FET 6 +#else + #define AUTO_FAN_PIN P1_22 // FET 3 +#endif #define ORIG_E0_AUTO_FAN_PIN AUTO_FAN_PIN #define ORIG_E1_AUTO_FAN_PIN AUTO_FAN_PIN #define ORIG_E2_AUTO_FAN_PIN AUTO_FAN_PIN diff --git a/Marlin/src/pins/pins_DUE3DOM.h b/Marlin/src/pins/pins_DUE3DOM.h index cef79efd5d3a..76cc39c9ca83 100644 --- a/Marlin/src/pins/pins_DUE3DOM.h +++ b/Marlin/src/pins/pins_DUE3DOM.h @@ -97,7 +97,9 @@ #define HEATER_1_PIN 8 // HOTEND1 MOSFET #define HEATER_BED_PIN 39 // BED MOSFET -#define FAN_PIN 11 // FAN1 header on board - PRINT FAN +#ifndef FAN_PIN + #define FAN_PIN 11 // FAN1 header on board - PRINT FAN +#endif #define FAN1_PIN 9 // FAN2 header on board - CONTROLLER FAN #define FAN2_PIN 12 // FAN3 header on board - EXTRUDER0 FAN diff --git a/Marlin/src/pins/pins_DUE3DOM_MINI.h b/Marlin/src/pins/pins_DUE3DOM_MINI.h index 382774b9e006..bf525d3059e2 100644 --- a/Marlin/src/pins/pins_DUE3DOM_MINI.h +++ b/Marlin/src/pins/pins_DUE3DOM_MINI.h @@ -88,7 +88,9 @@ #define HEATER_0_PIN 13 // HOTEND0 MOSFET #define HEATER_BED_PIN 7 // BED MOSFET -#define FAN_PIN 11 // FAN1 header on board - PRINT FAN +#ifndef FAN_PIN + #define FAN_PIN 11 // FAN1 header on board - PRINT FAN +#endif #define FAN1_PIN 12 // FAN2 header on board - CONTROLLER FAN #define FAN2_PIN 9 // FAN3 header on board - EXTRUDER0 FAN //#define FAN3_PIN 8 // FAN0 4-pin header on board diff --git a/Marlin/src/pins/pins_EINSTART-S.h b/Marlin/src/pins/pins_EINSTART-S.h new file mode 100755 index 000000000000..94228553feab --- /dev/null +++ b/Marlin/src/pins/pins_EINSTART-S.h @@ -0,0 +1,122 @@ +/** + * 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 . + * + */ + +/** + * Einstart S pin assignments + * PCB Silkscreen: 3DPrinterCon_v3.5 + */ + +#if ENABLED(TARGET_LPC1768) + #error "Oops! Set MOTHERBOARD to an LPC1768-based board when building for LPC1768." +#elif defined(__STM32F1__) + #error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1." +#endif + +#if DISABLED(IS_RAMPS_SMART) && DISABLED(IS_RAMPS_DUO) && DISABLED(IS_RAMPS4DUE) && DISABLED(TARGET_LPC1768) + #if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) + #error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu." + #endif +#endif + +#ifndef BOARD_NAME + #define BOARD_NAME "EINSTART_S" +#endif + +// +// Limit Switches +// +#define X_STOP_PIN 44 // 2560 PIN 40 +#define Y_STOP_PIN 43 // 2560 PIN 41 +#define Z_STOP_PIN 42 // 2560 PIN 42 + +// +// Steppers +// +#define X_STEP_PIN 76 // 2560 PIN 68 +#define X_DIR_PIN 75 // 2560 PIN 67 +#define X_ENABLE_PIN 73 // 2560 PIN 66 + +#define Y_STEP_PIN 31 // 2560 PIN 59 +#define Y_DIR_PIN 32 // 2560 PIN 58 +#define Y_ENABLE_PIN 72 // 2560 PIN 65 + +#define Z_STEP_PIN 34 // 2560 PIN 56 +#define Z_DIR_PIN 35 // 2560 PIN 55 +#define Z_ENABLE_PIN 33 // 2560 PIN 57 + +#define E0_STEP_PIN 36 // 2560 PIN 54 +#define E0_DIR_PIN 37 // 2560 PIN 53 +#define E0_ENABLE_PIN 30 // 2560 PIN 60 + +// +// Temperature Sensors +// +#define TEMP_0_PIN 0 // Analog Input +#define TEMP_BED_PIN 1 // Analog Input + +// +// Heaters / Fans +// +#define HEATER_0_PIN 83 // 2560 PIN 49 +#define HEATER_BED_PIN 38 // 2560 PIN 50 + +#define FAN_PIN 82 // 2560 PIN 48 + +// +// Misc. Functions +// +#define SDSS 53 // 2560 PIN 19 +#define LED_PIN 4 // 2560 PIN 1 + +////////////////////////// +// LCDs and Controllers // +////////////////////////// + +// +// LCD Display output pins +// + +// Requires #define U8GLIB_SH1106_EINSTART in Configuration.h +// u8glib constructor +// U8GLIB_SH1106_128X64 u8g(DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, LCD_PINS_DC, LCD_PINS_RS); + +#define LCD_PINS_DC 78 // 2560 PIN 4 +#define LCD_PINS_RS 79 // 2560 PIN 8 +// DOGM SPI LCD Support +#define DOGLCD_CS 3 // 2560 PIN 7 +#define DOGLCD_MOSI 2 // 2560 PIN 6 +#define DOGLCD_SCK 5 // 2560 PIN 5 +#define DOGLCD_A0 2 // 2560 PIN 6 + +// +// LCD Display input pins +// +#define BTN_UP 25 // 2560 PIN 75 +#define BTN_DWN 26 // 2560 PIN 74 +#define BTN_LFT 27 // 2560 PIN 73 +#define BTN_RT 28 // 2560 PIN 72 + +// 'OK' button +#define BTN_ENC 29 // 2560 PIN 71 + +// Set Kill to right arrow, same as RIGID_PANEL +#define KILL_PIN 28 // 2560 PIN 72 diff --git a/Marlin/src/pins/pins_EINSY_RAMBO.h b/Marlin/src/pins/pins_EINSY_RAMBO.h index b86e1530ac39..428dc047c8c0 100644 --- a/Marlin/src/pins/pins_EINSY_RAMBO.h +++ b/Marlin/src/pins/pins_EINSY_RAMBO.h @@ -33,10 +33,8 @@ // // TMC2130 Configuration_adv defaults for EinsyRambo // -#if DISABLED(HAVE_TMC2130) - #error "You must enable TMC2130 support in Configuration_adv.h for EinsyRambo." -#elif DISABLED(X_IS_TMC2130) || DISABLED(Y_IS_TMC2130) || DISABLED(Z_IS_TMC2130) || DISABLED(E0_IS_TMC2130) - #error "You must enable ([XYZ]|E0)_IS_TMC2130 in Configuration_adv.h for EinsyRambo." +#if !AXIS_DRIVER_TYPE(X, TMC2130) || !AXIS_DRIVER_TYPE(Y, TMC2130) || !AXIS_DRIVER_TYPE(Z, TMC2130) || !AXIS_DRIVER_TYPE(E0, TMC2130) + #error "You must set ([XYZ]|E0)_DRIVER_TYPE to TMC2130 in Configuration.h for EinsyRambo." #endif // TMC2130 Diag Pins (currently just for reference) @@ -117,7 +115,9 @@ #define HEATER_0_PIN 3 #define HEATER_BED_PIN 4 -#define FAN_PIN 8 +#ifndef FAN_PIN + #define FAN_PIN 8 +#endif #define FAN1_PIN 6 // diff --git a/Marlin/src/pins/pins_EINSY_RETRO.h b/Marlin/src/pins/pins_EINSY_RETRO.h index 4b46427f309e..a100d9329e33 100644 --- a/Marlin/src/pins/pins_EINSY_RETRO.h +++ b/Marlin/src/pins/pins_EINSY_RETRO.h @@ -33,10 +33,8 @@ // // TMC2130 Configuration_adv defaults for EinsyRetro // -#if DISABLED(HAVE_TMC2130) - #error "You must enable TMC2130 support in Configuration_adv.h for EinsyRetro." -#elif DISABLED(X_IS_TMC2130) || DISABLED(Y_IS_TMC2130) || DISABLED(Z_IS_TMC2130) || DISABLED(E0_IS_TMC2130) - #error "You must enable ([XYZ]|E0)_IS_TMC2130 in Configuration_adv.h for EinsyRetro." +#if !AXIS_DRIVER_TYPE(X, TMC2130) || !AXIS_DRIVER_TYPE(Y, TMC2130) || !AXIS_DRIVER_TYPE(Z, TMC2130) || !AXIS_DRIVER_TYPE(E0, TMC2130) + #error "You must set ([XYZ]|E0)_DRIVER_TYPE to TMC2130 in Configuration.h for EinsyRetro." #endif // TMC2130 Diag Pins (currently just for reference) @@ -134,7 +132,9 @@ #define HEATER_0_PIN 3 #define HEATER_BED_PIN 4 -#define FAN_PIN 8 +#ifndef FAN_PIN + #define FAN_PIN 8 +#endif #define FAN1_PIN 6 // diff --git a/Marlin/src/pins/pins_ELEFU_3.h b/Marlin/src/pins/pins_ELEFU_3.h index 12631a901ff7..79a4bce7122e 100644 --- a/Marlin/src/pins/pins_ELEFU_3.h +++ b/Marlin/src/pins/pins_ELEFU_3.h @@ -90,7 +90,9 @@ #define HEATER_2_PIN 17 // 12V PWM3 #define HEATER_BED_PIN 44 // DOUBLE 12V PWM -#define FAN_PIN 16 // 5V PWM +#ifndef FAN_PIN + #define FAN_PIN 16 // 5V PWM +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_ESP32.h b/Marlin/src/pins/pins_ESP32.h new file mode 100644 index 000000000000..ffad5890b212 --- /dev/null +++ b/Marlin/src/pins/pins_ESP32.h @@ -0,0 +1,72 @@ +/** + * 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 . + * + */ + +/** + * Espressif ESP32 (Tensilica Xtensa LX6) pin assignments + */ + +#ifndef BOARD_NAME + #define BOARD_NAME "Espressif ESP32" +#endif + +// +// Limit Switches +// +#define X_MIN_PIN 34 +#define Y_MIN_PIN 35 +#define Z_MIN_PIN 15 + +// +// Steppers +// +#define X_STEP_PIN 27 +#define X_DIR_PIN 26 +#define X_ENABLE_PIN 25 +//#define X_CS_PIN 0 + +#define Y_STEP_PIN 33 +#define Y_DIR_PIN 32 +#define Y_ENABLE_PIN X_ENABLE_PIN +//#define Y_CS_PIN 13 + +#define Z_STEP_PIN 14 +#define Z_DIR_PIN 12 +#define Z_ENABLE_PIN X_ENABLE_PIN +//#define Z_CS_PIN 5 // SS_PIN + +#define E0_STEP_PIN 16 +#define E0_DIR_PIN 17 +#define E0_ENABLE_PIN X_ENABLE_PIN +//#define E0_CS_PIN 21 + +// +// Temperature Sensors +// +#define TEMP_0_PIN 36 // Analog Input +#define TEMP_BED_PIN 39 // Analog Input + +// +// Heaters / Fans +// +#define HEATER_0_PIN 2 +#define FAN_PIN 13 +#define HEATER_BED_PIN 4 diff --git a/Marlin/src/pins/pins_GEN7_12.h b/Marlin/src/pins/pins_GEN7_12.h index 3bc38d7ee7d4..1afaae9abcb0 100644 --- a/Marlin/src/pins/pins_GEN7_12.h +++ b/Marlin/src/pins/pins_GEN7_12.h @@ -112,8 +112,8 @@ #define HEATER_0_PIN 4 #define HEATER_BED_PIN 3 -#if GEN7_VERSION < 13 // Gen7 v1.3 removed the fan pin - #define FAN_PIN 31 +#if !defined(FAN_PIN) && GEN7_VERSION < 13 // Gen7 v1.3 removed the fan pin + #define FAN_PIN 31 #endif // diff --git a/Marlin/src/pins/pins_GT2560_REV_A.h b/Marlin/src/pins/pins_GT2560_REV_A.h index 73b32bb40c2e..63f166ab3287 100644 --- a/Marlin/src/pins/pins_GT2560_REV_A.h +++ b/Marlin/src/pins/pins_GT2560_REV_A.h @@ -81,7 +81,9 @@ #define HEATER_0_PIN 2 #define HEATER_1_PIN 3 #define HEATER_BED_PIN 4 -#define FAN_PIN 7 +#ifndef FAN_PIN + #define FAN_PIN 7 +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_GTM32_PRO_VB.h b/Marlin/src/pins/pins_GTM32_PRO_VB.h new file mode 100644 index 000000000000..41f45f54b325 --- /dev/null +++ b/Marlin/src/pins/pins_GTM32_PRO_VB.h @@ -0,0 +1,99 @@ +/** + * 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 . + * + */ + +#ifndef __STM32F1__ + #error "Oops! Make sure you have an STM32F1 board selected from the 'Tools -> Boards' menu." +#endif + +/** + * 24.05.2018 Axel "chepo" Sepúlveda Marlin for (stm32f103vet6) sch of board https://github.com/chepo92/Smartto/blob/master/Rostock301/Hardware_GTM32_PRO_VB.pdf + */ + +#define DEFAULT_MACHINE_NAME "STM32F103VET6" +#define BOARD_NAME "GTM32 Pro VB" + +// Ignore temp readings during development. +#define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE + +// +// Limit Switches +// +#define X_MIN_PIN PE5 +#define X_MAX_PIN PE4 +#define Y_MIN_PIN PE3 +#define Y_MAX_PIN PE2 +#define Z_MIN_PIN PE1 +#define Z_MAX_PIN PE0 + +// +// Steppers +// +#define X_STEP_PIN PC6 +#define X_DIR_PIN PD13 +#define X_ENABLE_PIN PA8 + +#define Y_STEP_PIN PA12 +#define Y_DIR_PIN PA11 +#define Y_ENABLE_PIN PA15 // core conflict? + +#define Z_STEP_PIN PD6 +#define Z_DIR_PIN PD3 +#define Z_ENABLE_PIN PB3 // core conflict? + +#define E0_STEP_PIN PC14 +#define E0_DIR_PIN PC13 +#define E0_ENABLE_PIN PC15 + +#define E1_STEP_PIN PA0 +#define E1_DIR_PIN PB6 +#define E1_ENABLE_PIN PA1 + +#define E2_STEP_PIN PB2 +#define E2_DIR_PIN PB11 +#define E2_ENABLE_PIN PC4 + +// +// Temperature Sensors +// +#define TEMP_BED_PIN PC0 +#define TEMP_0_PIN PC1 +#define TEMP_1_PIN PC2 +#define TEMP_2_PIN PC3 + +// +// Heaters / Fans +// +#define HEATER_0_PIN PB4 // EXTRUDER 1 +#define HEATER_1_PIN PB5 // EXTRUDER 2 +#define HEATER_2_PIN PB0 // EXTRUDER 3 +#define HEATER_BED_PIN PB1 // BED + +#ifndef FAN_PIN + #define FAN_PIN PB7 // (Sprinter config) +#endif +#define FAN1_PIN PB8 +#define FAN2_PIN PB9 + +// +// Misc. Functions +// +#define LED_PIN PD12 diff --git a/Marlin/src/pins/pins_MALYAN_M200.h b/Marlin/src/pins/pins_MALYAN_M200.h index 9f417a30f648..c9887fa71f73 100644 --- a/Marlin/src/pins/pins_MALYAN_M200.h +++ b/Marlin/src/pins/pins_MALYAN_M200.h @@ -76,13 +76,16 @@ #define HEATER_0_PIN PB6 // HOTEND0 MOSFET #define HEATER_BED_PIN PB7 // BED MOSFET +// FAN_PIN is commented out here because the M200 example +// Configuration_adv.h does NOT override E0_AUTO_FAN_PIN. +#ifndef FAN_PIN + //#define FAN_PIN PB8 // FAN1 header on board - PRINT FAN +#endif +#define FAN1_PIN PB3 // FAN2 header on board - CONTROLLER FAN +#define FAN2_PIN -1 // FAN3 header on board - EXTRUDER0 FAN + // This board has only the controller fan and the extruder fan // If someone hacks to put a direct power fan on the controller, PB3 could // be used as a separate print cooling fan. #define ORIG_E0_AUTO_FAN_PIN PB8 -// FAN_PIN is commented out here because the M200 example -// Configuration_adv.h does NOT override E0_AUTO_FAN_PIN. -//#define FAN_PIN PB8 // FAN1 header on board - PRINT FAN -#define FAN1_PIN PB3 // FAN2 header on board - CONTROLLER FAN -#define FAN2_PIN -1 // FAN3 header on board - EXTRUDER0 FAN diff --git a/Marlin/src/pins/pins_MEGACONTROLLER.h b/Marlin/src/pins/pins_MEGACONTROLLER.h index 015398d3cbbe..709dc413bed5 100644 --- a/Marlin/src/pins/pins_MEGACONTROLLER.h +++ b/Marlin/src/pins/pins_MEGACONTROLLER.h @@ -112,7 +112,9 @@ #define HEATER_1_PIN 34 #define HEATER_BED_PIN 28 -#define FAN_PIN 39 +#ifndef FAN_PIN + #define FAN_PIN 39 +#endif #define FAN1_PIN 35 #define FAN2_PIN 36 diff --git a/Marlin/src/pins/pins_MEGATRONICS.h b/Marlin/src/pins/pins_MEGATRONICS.h index 25aa415f556f..8b608eff88c1 100644 --- a/Marlin/src/pins/pins_MEGATRONICS.h +++ b/Marlin/src/pins/pins_MEGATRONICS.h @@ -87,7 +87,9 @@ #define HEATER_1_PIN 8 #define HEATER_BED_PIN 10 -#define FAN_PIN 7 // IO pin. Buffer needed +#ifndef FAN_PIN + #define FAN_PIN 7 // IO pin. Buffer needed +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_MEGATRONICS_2.h b/Marlin/src/pins/pins_MEGATRONICS_2.h index 2ae436674be1..9bd8b4506d32 100644 --- a/Marlin/src/pins/pins_MEGATRONICS_2.h +++ b/Marlin/src/pins/pins_MEGATRONICS_2.h @@ -101,7 +101,9 @@ #define HEATER_1_PIN 8 #define HEATER_BED_PIN 10 -#define FAN_PIN 7 +#ifndef FAN_PIN + #define FAN_PIN 7 +#endif #define FAN1_PIN 6 // diff --git a/Marlin/src/pins/pins_MEGATRONICS_3.h b/Marlin/src/pins/pins_MEGATRONICS_3.h index c638b27865e0..119c63a58534 100644 --- a/Marlin/src/pins/pins_MEGATRONICS_3.h +++ b/Marlin/src/pins/pins_MEGATRONICS_3.h @@ -118,7 +118,9 @@ #define HEATER_2_PIN 8 #define HEATER_BED_PIN 10 -#define FAN_PIN 6 +#ifndef FAN_PIN + #define FAN_PIN 6 +#endif #define FAN1_PIN 7 // diff --git a/Marlin/src/pins/pins_MELZI_CREALITY.h b/Marlin/src/pins/pins_MELZI_CREALITY.h index b42075b76d8b..8bfd3b860a22 100644 --- a/Marlin/src/pins/pins_MELZI_CREALITY.h +++ b/Marlin/src/pins/pins_MELZI_CREALITY.h @@ -55,13 +55,13 @@ // Alter timing for graphical display #ifndef ST7920_DELAY_1 - #define ST7920_DELAY_1 DELAY_2_NOP + #define ST7920_DELAY_1 DELAY_NS(125) #endif #ifndef ST7920_DELAY_2 - #define ST7920_DELAY_2 DELAY_2_NOP + #define ST7920_DELAY_2 DELAY_NS(125) #endif #ifndef ST7920_DELAY_3 - #define ST7920_DELAY_3 DELAY_2_NOP + #define ST7920_DELAY_3 DELAY_NS(125) #endif #if ENABLED(MINIPANEL) diff --git a/Marlin/src/pins/pins_MELZI_MALYAN.h b/Marlin/src/pins/pins_MELZI_MALYAN.h index 3888b537d11e..a81526f065d1 100644 --- a/Marlin/src/pins/pins_MELZI_MALYAN.h +++ b/Marlin/src/pins/pins_MELZI_MALYAN.h @@ -44,11 +44,11 @@ // Alter timing for graphical display #ifndef ST7920_DELAY_1 - #define ST7920_DELAY_1 DELAY_2_NOP + #define ST7920_DELAY_1 DELAY_NS(125) #endif #ifndef ST7920_DELAY_2 - #define ST7920_DELAY_2 DELAY_2_NOP + #define ST7920_DELAY_2 DELAY_NS(125) #endif #ifndef ST7920_DELAY_3 - #define ST7920_DELAY_3 DELAY_2_NOP + #define ST7920_DELAY_3 DELAY_NS(125) #endif diff --git a/Marlin/src/pins/pins_MELZI_TRONXY.h b/Marlin/src/pins/pins_MELZI_TRONXY.h index 7c66c50c6007..0da7934302c3 100644 --- a/Marlin/src/pins/pins_MELZI_TRONXY.h +++ b/Marlin/src/pins/pins_MELZI_TRONXY.h @@ -51,11 +51,11 @@ #define BTN_ENC 26 #ifndef ST7920_DELAY_1 - #define ST7920_DELAY_1 DELAY_0_NOP + #define ST7920_DELAY_1 DELAY_NS(0) #endif #ifndef ST7920_DELAY_2 - #define ST7920_DELAY_2 DELAY_2_NOP + #define ST7920_DELAY_2 DELAY_NS(125) #endif #ifndef ST7920_DELAY_3 - #define ST7920_DELAY_3 DELAY_0_NOP + #define ST7920_DELAY_3 DELAY_NS(0) #endif diff --git a/Marlin/src/pins/pins_MIGHTYBOARD_REVE.h b/Marlin/src/pins/pins_MIGHTYBOARD_REVE.h index 6f6793dd65db..989533d53ecf 100644 --- a/Marlin/src/pins/pins_MIGHTYBOARD_REVE.h +++ b/Marlin/src/pins/pins_MIGHTYBOARD_REVE.h @@ -172,23 +172,24 @@ #define HEATER_0_PIN MOSFET_A_PIN #if ENABLED(IS_EFB) // Hotend, Fan, Bed - #define FAN_PIN MOSFET_B_PIN - #define HEATER_BED_PIN MOSFET_C_PIN + #define HEATER_BED_PIN MOSFET_C_PIN #elif ENABLED(IS_EEF) // Hotend, Hotend, Fan - #define HEATER_1_PIN MOSFET_B_PIN - #define FAN_PIN MOSFET_C_PIN + #define HEATER_1_PIN MOSFET_B_PIN #elif ENABLED(IS_EEB) // Hotend, Hotend, Bed - #define HEATER_1_PIN MOSFET_B_PIN - #define HEATER_BED_PIN MOSFET_C_PIN + #define HEATER_1_PIN MOSFET_B_PIN + #define HEATER_BED_PIN MOSFET_C_PIN #elif ENABLED(IS_EFF) // Hotend, Fan, Fan - #define FAN_PIN MOSFET_B_PIN - #define FAN1_PIN MOSFET_C_PIN -#elif ENABLED(IS_SF) // Spindle, Fan - #define FAN_PIN MOSFET_C_PIN + #define FAN1_PIN MOSFET_C_PIN #endif #ifndef FAN_PIN - #define FAN_PIN MOSFET_D_PIN + #if ENABLED(IS_EFB) || ENABLED(IS_EFF) // Hotend, Fan, Bed or Hotend, Fan, Fan + #define FAN_PIN MOSFET_B_PIN + #elif ENABLED(IS_EEF) || ENABLED(IS_SF) // Hotend, Hotend, Fan or Spindle, Fan + #define FAN_PIN MOSFET_C_PIN + #else + #define FAN_PIN MOSFET_D_PIN + #endif #endif // diff --git a/Marlin/src/pins/pins_MINIRAMBO.h b/Marlin/src/pins/pins_MINIRAMBO.h index 609c0c867ca5..89335ea8d433 100644 --- a/Marlin/src/pins/pins_MINIRAMBO.h +++ b/Marlin/src/pins/pins_MINIRAMBO.h @@ -106,7 +106,9 @@ #endif #define HEATER_BED_PIN 4 -#define FAN_PIN 8 +#ifndef FAN_PIN + #define FAN_PIN 8 +#endif #define FAN1_PIN 6 // diff --git a/Marlin/src/pins/pins_MINITRONICS.h b/Marlin/src/pins/pins_MINITRONICS.h index 3f5bf87f7eb5..f5fdac21d298 100644 --- a/Marlin/src/pins/pins_MINITRONICS.h +++ b/Marlin/src/pins/pins_MINITRONICS.h @@ -87,7 +87,9 @@ #define HEATER_1_PIN 8 // EXTRUDER 2 #define HEATER_BED_PIN 3 // BED -#define FAN_PIN 9 +#ifndef FAN_PIN + #define FAN_PIN 9 +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_MKS_BASE_15.h b/Marlin/src/pins/pins_MKS_BASE_15.h new file mode 100644 index 000000000000..e9f7050a1b43 --- /dev/null +++ b/Marlin/src/pins/pins_MKS_BASE_15.h @@ -0,0 +1,41 @@ +/** + * 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 . + * + */ + +/** + * MKS BASE v1.5 with A4982 stepper drivers and digital micro-stepping + */ + +#include "pins_MKS_BASE.h" + +/** + * Microstepping pins + */ +#define X_MS1_PIN 5 // Digital 3 / Pin 5 / PE3 / SERVO2_PIN +#define X_MS2_PIN 6 // Digital 6 / Pin 14 / PH3 / SERVO1_PIN +#define Y_MS1_PIN 59 // Analog 5 / Pin 92 / PF5 +#define Y_MS2_PIN 58 // Analog 4 / Pin 93 / PF4 +#define Z_MS1_PIN 22 // Digital 22 / Pin 78 / PA0 +#define Z_MS2_PIN 39 // Digital 39 / Pin 70 / PG2 +#define E0_MS1_PIN 63 // Analog 9 / Pin 86 / PK1 +#define E0_MS2_PIN 64 // Analog 10 / Pin 87 / PK2 +#define E1_MS1_PIN 57 // Analog 3 / Pin 93 / PF3 +#define E1_MS2_PIN 4 // Digital 4 / Pin 1 / PG5 / SERVO3_PIN diff --git a/Marlin/src/pins/pins_MKS_BASE_HEROIC.h b/Marlin/src/pins/pins_MKS_BASE_HEROIC.h index 4145327fc7d3..84f7280dfa91 100644 --- a/Marlin/src/pins/pins_MKS_BASE_HEROIC.h +++ b/Marlin/src/pins/pins_MKS_BASE_HEROIC.h @@ -24,23 +24,12 @@ * MKS BASE with Heroic HR4982 stepper drivers */ -#include "pins_MKS_BASE.h" +#include "pins_MKS_BASE_15.h" /** - * Microstepping pins (reverse engineered at V1.4 - due to closed source schematics). * Some new boards use HR4982 (Heroic) instead of the A4982 (Allegro) stepper drivers. - * While most of the functionality is similar, the HR variant obviously doesn't work - * with diode smoothers (no fast decay). And the Heroic has a 128 µStepping mode where - * the A4982 is doing quarter steps (MS1=L / MS2=H). + * Most the functionality is similar, the HR variant obviously doesn't work with diode + * smoothers (no fast decay). And the Heroic has a 128 µStepping mode where the A4982 + * is doing quarter steps (MS1=0, MS2=1). */ #define HEROIC_STEPPER_DRIVERS -#define X_MS1_PIN 5 // Digital 3 / Pin 5 / PE3 / SERVO2_PIN -#define X_MS2_PIN 6 // Digital 6 / Pin 14 / PH3 / SERVO1_PIN -#define Y_MS1_PIN 59 // Analog 5 / Pin 92 / PF5 -#define Y_MS2_PIN 58 // Analog 4 / Pin 93 / PF4 -#define Z_MS1_PIN 22 // Digital 22 / Pin 78 / PA0 -#define Z_MS2_PIN 39 // Digital 39 / Pin 70 / PG2 -#define E0_MS1_PIN 63 // Analog 9 / Pin 86 / PK1 -#define E0_MS2_PIN 64 // Analog 10 / Pin 87 / PK2 -#define E1_MS1_PIN 57 // Analog 3 / Pin 93 / PF3 -#define E1_MS2_PIN 4 // Digital 4 / Pin 1 / PG5 / SERVO3_PIN diff --git a/Marlin/src/pins/pins_MKS_13.h b/Marlin/src/pins/pins_MKS_GEN_13.h similarity index 91% rename from Marlin/src/pins/pins_MKS_13.h rename to Marlin/src/pins/pins_MKS_GEN_13.h index 07aa6581167f..e0e916b87824 100644 --- a/Marlin/src/pins/pins_MKS_13.h +++ b/Marlin/src/pins/pins_MKS_GEN_13.h @@ -23,17 +23,17 @@ /** * Arduino Mega with RAMPS v1.4 adjusted pin assignments * - * MKS v1.3 (Extruder, Fan, Bed) - * MKS v1.3 (Extruder, Extruder, Fan, Bed) - * MKS v1.4 (Extruder, Fan, Bed) - * MKS v1.4 (Extruder, Extruder, Fan, Bed) + * MKS GEN v1.3 (Extruder, Fan, Bed) + * MKS GEN v1.3 (Extruder, Extruder, Fan, Bed) + * MKS GEN v1.4 (Extruder, Fan, Bed) + * MKS GEN v1.4 (Extruder, Extruder, Fan, Bed) */ #if HOTENDS > 2 || E_STEPPERS > 2 - #error "MKS 1.3/1.4 supports up to 2 hotends / E-steppers. Comment out this line to continue." + #error "MKS GEN 1.3/1.4 supports up to 2 hotends / E-steppers. Comment out this line to continue." #endif -#define BOARD_NAME "MKS > v1.3" +#define BOARD_NAME "MKS GEN >= v1.3" // // Heaters / Fans diff --git a/Marlin/src/pins/pins_MKS_GEN_L.h b/Marlin/src/pins/pins_MKS_GEN_L.h index dd4568e1525a..59c5bcf48146 100644 --- a/Marlin/src/pins/pins_MKS_GEN_L.h +++ b/Marlin/src/pins/pins_MKS_GEN_L.h @@ -36,4 +36,17 @@ // Power outputs EFBF or EFBE #define MOSFET_D_PIN 7 +// +// CS Pins wired to avoid conflict with the LCD +// See https://www.thingiverse.com/asset:66604 +// + +#ifndef X_CS_PIN + #define X_CS_PIN 59 +#endif + +#ifndef Y_CS_PIN + #define Y_CS_PIN 63 +#endif + #include "pins_RAMPS.h" diff --git a/Marlin/src/pins/pins_MKS_SBASE.h b/Marlin/src/pins/pins_MKS_SBASE.h index 17226cdc859e..2896070c0f1e 100644 --- a/Marlin/src/pins/pins_MKS_SBASE.h +++ b/Marlin/src/pins/pins_MKS_SBASE.h @@ -36,10 +36,13 @@ // unused /* -#define PIN_P0_27 P0_27 -#define PIN_P0_28 P0_28 +#define PIN_P0_27 P0_27 // EXP2/Onboard SD +#define PIN_P0_28 P0_28 // EXP2 +#define PIN_P0_02 P0_02 // AUX1 (Interrupt Capable/ADC/Serial Port 0) +#define PIN_P0_03 P0_03 // AUX1 (Interrupt Capable/ADC/Serial Port 0) */ +#define LED_PIN P1_18 // LED2 P1_19, LED3 P1_20, LED4 P1_21 // // Servo pin @@ -50,7 +53,7 @@ #define SERVO3_PIN P4_28 // J8-6 // -// Limit Switches +// Limit Switches - Not Interrupt Capable // #define X_MIN_PIN P1_24 // 10k pullup to 3.3V, 1K series #define X_MAX_PIN P1_25 // 10k pullup to 3.3V, 1K series @@ -86,28 +89,25 @@ // Temperature Sensors // 3.3V max when defined as an analog input // - #define TEMP_BED_PIN 0 // A0 (TH1) #define TEMP_0_PIN 1 // A1 (TH2) #define TEMP_1_PIN 2 // A2 (TH3) #define TEMP_2_PIN 3 // A3 (TH4) - // // Heaters / Fans // - #define HEATER_BED_PIN P2_05 #define HEATER_0_PIN P2_07 #define HEATER_1_PIN P2_06 -#define FAN_PIN P2_04 - - -#define PS_ON_PIN P0_25 - +#ifndef FAN_PIN + #define FAN_PIN P2_04 +#endif // // Connector J7 +// Note: These pins are all digitally shared with the EXP1/EXP2 Connector. +// Using them with an LCD connected or configured will lead to hangs & crashes. // // 5V @@ -115,7 +115,7 @@ // GND #define PIN_P0_17 P0_17 #define PIN_P0_16 P0_16 -#define PIN_P0_14 P0_14 +#define PIN_P0_15 P0_15 // @@ -124,21 +124,26 @@ // GND #define PIN_P1_22 P1_22 -#define PIN_P1_23 P1_23 -#define PIN_P2_12 P2_12 -#define PIN_P2_11 P2_11 +#define PIN_P1_23 P1_23 // PWM Capable +#define PIN_P2_12 P2_12 // Interrupt Capable +#define PIN_P2_11 P2_11 // Interrupt Capable #define PIN_P4_28 P4_28 // // Prusa i3 MK2 Multi Material Multiplexer Support // - #if ENABLED(MK2_MULTIPLEXER) - #define E_MUX0_PIN P1_23 // J8-3 - #define E_MUX1_PIN P2_12 // J8-4 - #define E_MUX2_PIN P2_11 // J8-5 + #define E_MUX0_PIN P1_23 // J8-3 + #define E_MUX1_PIN P2_12 // J8-4 + #define E_MUX2_PIN P2_11 // J8-5 #endif +// +// Misc. Functions +// +#define PS_ON_PIN P0_25 //TH3 Connector +#define LPC_SOFTWARE_SPI // MKS_SBASE needs a software SPI because the + // selected pins are not on a hardware SPI controller /** * Smart LCD adapter @@ -158,12 +163,11 @@ #define BTN_ENC P1_30 // EXP1.2 #define BTN_EN1 P3_26 // EXP2.5 #define BTN_EN2 P3_25 // EXP2.3 - #define SD_DETECT_PIN P0_27 // EXP2.7 #define LCD_PINS_RS P0_16 // EXP1.4 #define LCD_SDSS P0_28 // EXP2.4 #define LCD_PINS_ENABLE P0_18 // EXP1.3 #define LCD_PINS_D4 P0_15 // EXP1.5 -#endif // ULTRA_LCD +#endif // // Ethernet pins @@ -173,6 +177,7 @@ #define ENET_RX_ER P1_14 // J12-6 #define ENET_RXD1 P1_10 // J12-8 #endif + #define ENET_MOC P1_16 // J12-3 #define REF_CLK P1_15 // J12-5 #define ENET_RXD0 P1_09 // J12-7 @@ -181,12 +186,6 @@ #define ENET_TXD0 P1_00 // J12-11 #define ENET_TXD1 P1_01 // J12-12 -// -// Misc. Functions -// -#define LPC_SOFTWARE_SPI // MKS_SBASE needs a software SPI because the - // selected pins are not on a hardware SPI controller - // A custom cable is needed. See the README file in the // Marlin\src\config\examples\Mks\Sbase directory @@ -194,9 +193,20 @@ #define MISO_PIN P1_23 // J8-3 (moved from EXP2 P0.8) #define MOSI_PIN P2_12 // J8-4 (moved from EXP2 P0.5) #define SS_PIN P0_28 -#define SD_DETECT_PIN P0_27 #define SDSS P0_06 +/** + * P0.27 is on EXP2 and the on-board SD card's socket. That means it can't be + * used as the SD_DETECT for the LCD's SD card. + * + * The best solution is to use the custom cable to connect the LCD's SD_DETECT + * to a pin NOT on EXP2. + * + * If you can't find a pin to use for the LCD's SD_DETECT then comment out + * SD_DETECT_PIN entirely and remove that wire from the the custom cable. + */ +#define SD_DETECT_PIN P2_11 // J8-5 (moved from EXP2 P0.27) + /** * PWMs * @@ -220,9 +230,24 @@ /** * Special pins - * P1_30 - not 5V tolerant - * P1_31 - not 5V tolerant - * P0_27 - open collector - * P0_28 - open collector + * P1_30 - not 5V tolerant - EXP1 + * P1_31 - not 5V tolerant - EXP1 + * P0_27 - open collector - EXP2 + * P0_28 - open collector - EXP2 + * + */ + + /** + * Serial Ports + * P0_00 - Port 3 + * P0_01 + * P0_10 - Port 2 + * P0_11 + * P0_15 - Port 1 + * P0_16 + * P0_02 - Port 0 + * P0_03 - AUX1 + * P0_29 - Port -1 + * P0_30 - USB * */ diff --git a/Marlin/src/pins/pins_OMCA.h b/Marlin/src/pins/pins_OMCA.h index c0c42d45a093..6ee6fabe6bd0 100644 --- a/Marlin/src/pins/pins_OMCA.h +++ b/Marlin/src/pins/pins_OMCA.h @@ -129,7 +129,9 @@ #define HEATER_0_PIN 3 // DONE PWM on RIGHT connector #define HEATER_BED_PIN 4 -#define FAN_PIN 14 // PWM on MIDDLE connector +#ifndef FAN_PIN + #define FAN_PIN 14 // PWM on MIDDLE connector +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_OMCA_A.h b/Marlin/src/pins/pins_OMCA_A.h index 110f5f968c0d..777c80b22fb8 100644 --- a/Marlin/src/pins/pins_OMCA_A.h +++ b/Marlin/src/pins/pins_OMCA_A.h @@ -125,7 +125,9 @@ // #define HEATER_0_PIN 4 -#define FAN_PIN 3 +#ifndef FAN_PIN + #define FAN_PIN 3 +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_PRINTRBOARD.h b/Marlin/src/pins/pins_PRINTRBOARD.h index a8197af9a4bb..42632d174ad2 100644 --- a/Marlin/src/pins/pins_PRINTRBOARD.h +++ b/Marlin/src/pins/pins_PRINTRBOARD.h @@ -74,11 +74,7 @@ // Limit Switches // #define X_STOP_PIN 47 // E3 -#if ENABLED(SDSUPPORT) - #define Y_STOP_PIN 37 // E5 - Move Ystop to Estop socket -#else - #define Y_STOP_PIN 20 // B0 SS - Ystop in Ystop socket -#endif +#define Y_STOP_PIN 20 // B0 SS #define Z_STOP_PIN 36 // E4 // @@ -114,13 +110,14 @@ #define HEATER_2_PIN 45 // F7 #define HEATER_BED_PIN 14 // C4 PWM3C - -#define FAN_PIN 16 // C6 PWM3A +#ifndef FAN_PIN + #define FAN_PIN 16 // C6 PWM3A +#endif // // Misc. Functions // -#define SDSS 20 // B0 SS +#define SDSS 26 // B6 SDCS #define FILWIDTH_PIN 2 // Analog Input // @@ -146,16 +143,18 @@ #define BTN_EN2 3 // D3 RX1 JP2-7 #define BTN_ENC 45 // F7 TDI JP2-12 + #undef SDSS #define SDSS 43 // F5 TMS JP2-8 - #define STAT_LED_RED_PIN 12 // C2 JP11-14 - #define STAT_LED_BLUE_PIN 10 // C0 JP11-12 + #define STAT_LED_RED_PIN 12 // C2 JP11-14 + #define STAT_LED_BLUE_PIN 10 // C0 JP11-12 #elif ENABLED(LCD_I2C_PANELOLU2) #define BTN_EN1 3 // D3 RX1 JP2-7 #define BTN_EN2 2 // D2 TX1 JP2-5 #define BTN_ENC 41 // F3 JP2-4 + #undef SDSS #define SDSS 38 // F0 B-THERM connector - use SD card on Panelolu2 #else diff --git a/Marlin/src/pins/pins_PRINTRBOARD_REVF.h b/Marlin/src/pins/pins_PRINTRBOARD_REVF.h index bf3a023c4de2..8239a91586cb 100644 --- a/Marlin/src/pins/pins_PRINTRBOARD_REVF.h +++ b/Marlin/src/pins/pins_PRINTRBOARD_REVF.h @@ -190,7 +190,9 @@ #endif #endif -#define FAN_PIN 16 // C6 PWM3A +#ifndef FAN_PIN + #define FAN_PIN 16 // C6 PWM3A +#endif // // LCD / Controller @@ -244,13 +246,13 @@ // increase delays #ifndef ST7920_DELAY_1 - #define ST7920_DELAY_1 DELAY_5_NOP + #define ST7920_DELAY_1 DELAY_NS(313) #endif #ifndef ST7920_DELAY_2 - #define ST7920_DELAY_2 DELAY_5_NOP + #define ST7920_DELAY_2 DELAY_NS(313) #endif #ifndef ST7920_DELAY_3 - #define ST7920_DELAY_3 DELAY_5_NOP + #define ST7920_DELAY_3 DELAY_NS(313) #endif #else diff --git a/Marlin/src/pins/pins_RADDS.h b/Marlin/src/pins/pins_RADDS.h index bf7153428455..872423d68d2e 100644 --- a/Marlin/src/pins/pins_RADDS.h +++ b/Marlin/src/pins/pins_RADDS.h @@ -100,29 +100,39 @@ #define E2_CS_PIN 35 #endif -// For Extension Board V2 +// +// Extension Board V2 // http://doku.radds.org/dokumentation/extension-board -//#define E3_STEP_PIN 35 -//#define E3_DIR_PIN 33 -//#define E3_ENABLE_PIN 37 -//#ifndef E3_CS_PIN -// #define E3_CS_PIN 6 -//#endif - -//#define Z2_STEP_PIN 29 -//#define Z2_DIR_PIN 27 -//#define Z2_ENABLE_PIN 31 -//#ifndef Z2_CS_PIN -// #define Z2_CS_PIN 39 -//#endif - -// Microstepping pins - Mapping not from fastio.h (?) -//#define E3_MS1_PIN 67 -//#define E3_MS2_PIN 68 -//#define E3_MS3_PIN 69 -//#define Z2_MS1_PIN 67 // shared with E3_MS1_PIN -//#define Z2_MS2_PIN 68 // shared with E3_MS2_PIN -//#define Z2_MS3_PIN 69 // shared with E3_MS3_PIN +// +//#define RADDS_EXTENSION +#if ENABLED(RADDS_EXTENSION) + #define E3_STEP_PIN 35 + #define E3_DIR_PIN 33 + #define E3_ENABLE_PIN 37 + #ifndef E3_CS_PIN + #define E3_CS_PIN 6 + #endif + + #define E3_MS1_PIN 67 + #define E3_MS2_PIN 68 + #define E3_MS3_PIN 69 + + #define Z2_STEP_PIN 29 + #define Z2_DIR_PIN 27 + #define Z2_ENABLE_PIN 31 + #ifndef Z2_CS_PIN + #define Z2_CS_PIN 39 + #endif + + #define Z2_MS1_PIN 67 // shared with E3_MS1_PIN + #define Z2_MS2_PIN 68 // shared with E3_MS2_PIN + #define Z2_MS3_PIN 69 // shared with E3_MS3_PIN + + #define RADDS_EXT_VDD1_PIN 25 + #define RADDS_EXT_VDD2_PIN 66 + + #define BOARD_INIT() OUT_WRITE(RADDS_EXT_VDD1_PIN, HIGH); OUT_WRITE(RADDS_EXT_VDD2_PIN, HIGH) +#endif // // Temperature Sensors @@ -149,7 +159,9 @@ #define HEATER_2_PIN 11 #define HEATER_BED_PIN 7 // BED -#define FAN_PIN 9 +#ifndef FAN_PIN + #define FAN_PIN 9 +#endif #define FAN1_PIN 8 // diff --git a/Marlin/src/pins/pins_RAMBO.h b/Marlin/src/pins/pins_RAMBO.h index bcc1b4f62df1..f2ea3d33bd5d 100644 --- a/Marlin/src/pins/pins_RAMBO.h +++ b/Marlin/src/pins/pins_RAMBO.h @@ -127,7 +127,9 @@ #define HEATER_2_PIN 6 #define HEATER_BED_PIN 3 -#define FAN_PIN 8 +#ifndef FAN_PIN + #define FAN_PIN 8 +#endif #define FAN1_PIN 6 #define FAN2_PIN 2 diff --git a/Marlin/src/pins/pins_RAMPS.h b/Marlin/src/pins/pins_RAMPS.h index 721a940a3ee1..b8c6233da7e2 100644 --- a/Marlin/src/pins/pins_RAMPS.h +++ b/Marlin/src/pins/pins_RAMPS.h @@ -146,7 +146,7 @@ #endif #endif -#if ENABLED(HAVE_TMC2208) +#if HAS_DRIVER(TMC2208) /** * TMC2208 stepper drivers * @@ -231,46 +231,48 @@ // Heaters / Fans // #ifndef MOSFET_D_PIN - #define MOSFET_D_PIN -1 + #define MOSFET_D_PIN -1 #endif #ifndef RAMPS_D8_PIN - #define RAMPS_D8_PIN 8 + #define RAMPS_D8_PIN 8 #endif #ifndef RAMPS_D9_PIN - #define RAMPS_D9_PIN 9 + #define RAMPS_D9_PIN 9 #endif #ifndef RAMPS_D10_PIN - #define RAMPS_D10_PIN 10 + #define RAMPS_D10_PIN 10 #endif -#define HEATER_0_PIN RAMPS_D10_PIN +#define HEATER_0_PIN RAMPS_D10_PIN #if ENABLED(IS_RAMPS_EFB) // Hotend, Fan, Bed - #define FAN_PIN RAMPS_D9_PIN - #define HEATER_BED_PIN RAMPS_D8_PIN + #define HEATER_BED_PIN RAMPS_D8_PIN #elif ENABLED(IS_RAMPS_EEF) // Hotend, Hotend, Fan - #define HEATER_1_PIN RAMPS_D9_PIN - #define FAN_PIN RAMPS_D8_PIN + #define HEATER_1_PIN RAMPS_D9_PIN #elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed - #define HEATER_1_PIN RAMPS_D9_PIN - #define HEATER_BED_PIN RAMPS_D8_PIN + #define HEATER_1_PIN RAMPS_D9_PIN + #define HEATER_BED_PIN RAMPS_D8_PIN #elif ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Fan - #define FAN_PIN RAMPS_D9_PIN - #define FAN1_PIN RAMPS_D8_PIN -#elif ENABLED(IS_RAMPS_SF) // Spindle, Fan - #define FAN_PIN RAMPS_D8_PIN -#else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE") - #define FAN_PIN RAMPS_D9_PIN - #define HEATER_BED_PIN RAMPS_D8_PIN + #define FAN1_PIN RAMPS_D8_PIN +#elif DISABLED(IS_RAMPS_SF) // Not Spindle, Fan (i.e., "EFBF" or "EFBE") + #define HEATER_BED_PIN RAMPS_D8_PIN #if HOTENDS == 1 - #define FAN1_PIN MOSFET_D_PIN + #define FAN1_PIN MOSFET_D_PIN #else - #define HEATER_1_PIN MOSFET_D_PIN + #define HEATER_1_PIN MOSFET_D_PIN #endif #endif #ifndef FAN_PIN - #define FAN_PIN 4 // IO pin. Buffer needed + #if ENABLED(IS_RAMPS_EFB) || ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Bed or Hotend, Fan, Fan + #define FAN_PIN RAMPS_D9_PIN + #elif ENABLED(IS_RAMPS_EEF) || ENABLED(IS_RAMPS_SF) // Hotend, Hotend, Fan or Spindle, Fan + #define FAN_PIN RAMPS_D8_PIN + #elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed + #define FAN_PIN 4 // IO pin. Buffer needed + #else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE") + #define FAN_PIN RAMPS_D9_PIN + #endif #endif // @@ -449,7 +451,7 @@ #define BTN_EN1 47 #define BTN_EN2 43 #define BTN_ENC 32 - #define LCD_SDSS 53 + #define LCD_SDSS SDSS #define KILL_PIN 41 #elif ENABLED(LCD_I2C_VIKI) @@ -458,7 +460,7 @@ #define BTN_EN2 7 // 22/7 are unused on RAMPS_14. 22 is unused and 7 the SERVO0_PIN on RAMPS_13. #define BTN_ENC -1 - #define LCD_SDSS 53 + #define LCD_SDSS SDSS #define SD_DETECT_PIN 49 #elif ENABLED(VIKI2) || ENABLED(miniVIKI) @@ -475,7 +477,6 @@ #define BTN_EN2 7 #define BTN_ENC 39 - #define SDSS 53 #define SD_DETECT_PIN -1 // Pin 49 for display sd interface, 72 for easy adapter board #define KILL_PIN 31 @@ -491,7 +492,7 @@ #define BTN_EN2 37 #define BTN_ENC 31 - #define LCD_SDSS 53 + #define LCD_SDSS SDSS #define SD_DETECT_PIN 49 #define KILL_PIN 41 @@ -515,7 +516,6 @@ #define BTN_EN2 33 #define BTN_ENC 35 - #define SDSS 53 #define SD_DETECT_PIN 49 #define KILL_PIN 64 @@ -539,7 +539,6 @@ #define BTN_EN2 63 #define BTN_ENC 59 - #define SDSS 53 #define SD_DETECT_PIN 49 #define KILL_PIN 64 diff --git a/Marlin/src/pins/pins_RAMPS_FD_V1.h b/Marlin/src/pins/pins_RAMPS_FD_V1.h index c1e0011d046d..b6266fab8368 100644 --- a/Marlin/src/pins/pins_RAMPS_FD_V1.h +++ b/Marlin/src/pins/pins_RAMPS_FD_V1.h @@ -127,7 +127,9 @@ #define HEATER_2_PIN 11 #define HEATER_BED_PIN 8 -#define FAN_PIN 12 +#ifndef FAN_PIN + #define FAN_PIN 12 +#endif #define CONTROLLER_FAN_PIN -1 // @@ -161,9 +163,22 @@ #define DOGLCD_CS 25 #define DOGLCD_A0 27 #endif + + #if ENABLED(VIKI2) || ENABLED(miniVIKI) + #define DOGLCD_A0 16 + #define KILL_PIN 51 + #define STAT_LED_BLUE_PIN 29 + #define STAT_LED_RED_PIN 23 + #define DOGLCD_CS 17 + #define DOGLCD_SCK 76 //SCK_PIN - required so that the DUE hardware SPI will be used + #define DOGLCD_MOSI 75 //MOSI_PIN - required so that the DUE hardware SPI will be used + #define DOGLCD_MISO 74 //MISO_PIN + #endif + + #endif // ULTRA_LCD -#if ENABLED(HAVE_TMC2208) +#if HAS_DRIVER(TMC2208) /** * TMC2208 stepper drivers * diff --git a/Marlin/src/pins/pins_RAMPS_OLD.h b/Marlin/src/pins/pins_RAMPS_OLD.h index 951e3b000bbf..da047e2b0a29 100644 --- a/Marlin/src/pins/pins_RAMPS_OLD.h +++ b/Marlin/src/pins/pins_RAMPS_OLD.h @@ -88,11 +88,15 @@ #if ENABLED(RAMPS_V_1_0) #define HEATER_0_PIN 12 #define HEATER_BED_PIN -1 - #define FAN_PIN 11 + #ifndef FAN_PIN + #define FAN_PIN 11 + #endif #else // RAMPS_V_1_1 or RAMPS_V_1_2 #define HEATER_0_PIN 10 #define HEATER_BED_PIN 8 - #define FAN_PIN 9 + #ifndef FAN_PIN + #define FAN_PIN 9 + #endif #endif // diff --git a/Marlin/src/pins/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/pins_RAMPS_RE_ARM.h index 65902d10e644..2c69580b04c0 100644 --- a/Marlin/src/pins/pins_RAMPS_RE_ARM.h +++ b/Marlin/src/pins/pins_RAMPS_RE_ARM.h @@ -150,46 +150,48 @@ // Heaters / Fans // #ifndef MOSFET_D_PIN - #define MOSFET_D_PIN -1 + #define MOSFET_D_PIN -1 #endif #ifndef RAMPS_D8_PIN - #define RAMPS_D8_PIN P2_07 // (8) + #define RAMPS_D8_PIN P2_07 // (8) #endif #ifndef RAMPS_D9_PIN - #define RAMPS_D9_PIN P2_04 // (9) + #define RAMPS_D9_PIN P2_04 // (9) #endif #ifndef RAMPS_D10_PIN - #define RAMPS_D10_PIN P2_05 // (10) + #define RAMPS_D10_PIN P2_05 // (10) #endif -#define HEATER_0_PIN RAMPS_D10_PIN +#define HEATER_0_PIN RAMPS_D10_PIN #if ENABLED(IS_RAMPS_EFB) // Hotend, Fan, Bed - #define FAN_PIN RAMPS_D9_PIN - #define HEATER_BED_PIN RAMPS_D8_PIN + #define HEATER_BED_PIN RAMPS_D8_PIN #elif ENABLED(IS_RAMPS_EEF) // Hotend, Hotend, Fan - #define HEATER_1_PIN RAMPS_D9_PIN - #define FAN_PIN RAMPS_D8_PIN + #define HEATER_1_PIN RAMPS_D9_PIN #elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed - #define HEATER_1_PIN RAMPS_D9_PIN - #define HEATER_BED_PIN RAMPS_D8_PIN + #define HEATER_1_PIN RAMPS_D9_PIN + #define HEATER_BED_PIN RAMPS_D8_PIN #elif ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Fan - #define FAN_PIN RAMPS_D9_PIN - #define FAN1_PIN RAMPS_D8_PIN -#elif ENABLED(IS_RAMPS_SF) // Spindle, Fan - #define FAN_PIN RAMPS_D8_PIN -#else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE") - #define FAN_PIN RAMPS_D9_PIN - #define HEATER_BED_PIN RAMPS_D8_PIN + #define FAN1_PIN RAMPS_D8_PIN +#elif DISABLED(IS_RAMPS_SF) // Not Spindle, Fan (i.e., "EFBF" or "EFBE") + #define HEATER_BED_PIN RAMPS_D8_PIN #if HOTENDS == 1 - #define FAN1_PIN MOSFET_D_PIN + #define FAN1_PIN MOSFET_D_PIN #else - #define HEATER_1_PIN MOSFET_D_PIN + #define HEATER_1_PIN MOSFET_D_PIN #endif #endif #ifndef FAN_PIN - #define FAN_PIN P1_18 // (4) IO pin. Buffer needed + #if ENABLED(IS_RAMPS_EFB) || ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Bed or Hotend, Fan, Fan + #define FAN_PIN RAMPS_D9_PIN + #elif ENABLED(IS_RAMPS_EEF) || ENABLED(IS_RAMPS_SF) // Hotend, Hotend, Fan or Spindle, Fan + #define FAN_PIN RAMPS_D8_PIN + #elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed + #define FAN_PIN P1_18 // (4) IO pin. Buffer needed + #else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE") + #define FAN_PIN RAMPS_D9_PIN + #endif #endif // @@ -255,47 +257,26 @@ #if ENABLED(ULTRA_LCD) - #define BEEPER_PIN P1_30 // (37) not 5V tolerant + #if ENABLED(CR10_STOCKDISPLAY) - #define BTN_EN1 P3_26 // (31) J3-2 & AUX-4 - #define BTN_EN2 P3_25 // (33) J3-4 & AUX-4 - #define BTN_ENC P2_11 // (35) J3-3 & AUX-4 + // Re-Arm can support Creality stock display without SD card reader and single cable on EXP3. + // Re-Arm J3 pins 1 (p1.31) & 2 (P3.26) are not used. Stock cable will need to have one + // 10-pin IDC connector trimmed or replaced with a 12-pin IDC connector to fit J3. + // Requires REVERSE_ENCODER_DIRECTION in Configuration.h - #define SD_DETECT_PIN P1_31 // (49) not 5V tolerant J3-1 & AUX-3 - #define KILL_PIN P1_22 // (41) J5-4 & AUX-4 - #define LCD_PINS_RS P0_16 // (16) J3-7 & AUX-4 - #define LCD_SDSS P0_16 // (16) J3-7 & AUX-4 - #define LCD_BACKLIGHT_PIN P0_16 // (16) J3-7 & AUX-4 - only used on DOGLCD controllers - #define LCD_PINS_ENABLE P0_18 // (51) (MOSI) J3-10 & AUX-3 - #define LCD_PINS_D4 P0_15 // (52) (SCK) J3-9 & AUX-3 + #define BEEPER_PIN P2_11 // J3-3 & AUX-4 - #define DOGLCD_A0 P2_06 // (59) J3-8 & AUX-2 - #define DOGLCD_CS P0_26 // (63) J5-3 & AUX-2 + #define BTN_EN1 P0_16 // J3-7 & AUX-4 + #define BTN_EN2 P1_23 // J3-5 & AUX-4 + #define BTN_ENC P3_25 // J3-4 & AUX-4 - #ifdef ULTIPANEL - #define LCD_PINS_D5 P1_17 // (71) ENET_MDIO - #define LCD_PINS_D6 P1_14 // (73) ENET_RX_ER - #define LCD_PINS_D7 P1_10 // (75) ENET_RXD1 - #endif + #define LCD_PINS_RS P0_15 // J3-9 & AUX-4 (CS) + #define LCD_PINS_ENABLE P0_18 // J3-10 & AUX-3 (SID, MOSI) + #define LCD_PINS_D4 P2_06 // J3-8 & AUX-3 (SCK, CLK) - #if ENABLED(NEWPANEL) - #if ENABLED(REPRAPWORLD_KEYPAD) - #define SHIFT_OUT P0_18 // (51) (MOSI) J3-10 & AUX-3 - #define SHIFT_CLK P0_15 // (52) (SCK) J3-9 & AUX-3 - #define SHIFT_LD P1_31 // (49) not 5V tolerant J3-1 & AUX-3 - #endif #else - //#define SHIFT_CLK P3_26 // (31) J3-2 & AUX-4 - //#define SHIFT_LD P3_25 // (33) J3-4 & AUX-4 - //#define SHIFT_OUT P2_11 // (35) J3-3 & AUX-4 - //#define SHIFT_EN P1_22 // (41) J5-4 & AUX-4 - #endif - - #if ENABLED(VIKI2) || ENABLED(miniVIKI) - // #define LCD_SCREEN_ROT_180 - #undef BEEPER_PIN - #define BEEPER_PIN P1_30 // (37) may change if cable changes + #define BEEPER_PIN P1_30 // (37) not 5V tolerant #define BTN_EN1 P3_26 // (31) J3-2 & AUX-4 #define BTN_EN2 P3_25 // (33) J3-4 & AUX-4 @@ -303,36 +284,78 @@ #define SD_DETECT_PIN P1_31 // (49) not 5V tolerant J3-1 & AUX-3 #define KILL_PIN P1_22 // (41) J5-4 & AUX-4 + #define LCD_PINS_RS P0_16 // (16) J3-7 & AUX-4 + #define LCD_SDSS P0_16 // (16) J3-7 & AUX-4 + #define LCD_BACKLIGHT_PIN P0_16 // (16) J3-7 & AUX-4 - only used on DOGLCD controllers + #define LCD_PINS_ENABLE P0_18 // (51) (MOSI) J3-10 & AUX-3 + #define LCD_PINS_D4 P0_15 // (52) (SCK) J3-9 & AUX-3 - #undef DOGLCD_CS - #define DOGLCD_CS P0_16 // (16) - #undef LCD_BACKLIGHT_PIN //P0_16 // (16) J3-7 & AUX-4 - only used on DOGLCD controllers - #undef LCD_PINS_ENABLE //P0_18 // (51) (MOSI) J3-10 & AUX-3 - #undef LCD_PINS_D4 //P0_15 // (52) (SCK) J3-9 & AUX-3 - - #undef LCD_PINS_D5 //P2_06 // (59) J3-8 & AUX-2 #define DOGLCD_A0 P2_06 // (59) J3-8 & AUX-2 - #undef LCD_PINS_D6 //P0_26 // (63) J5-3 & AUX-2 - #undef LCD_PINS_D7 //P1_21 // ( 6) (SERVO1) J5-1 & SERVO connector - #define DOGLCD_SCK SCK_PIN - #define DOGLCD_MOSI MOSI_PIN + #define DOGLCD_CS P0_26 // (63) J5-3 & AUX-2 - #define STAT_LED_BLUE_PIN P0_26 // (63) may change if cable changes - #define STAT_LED_RED_PIN P1_21 // ( 6) may change if cable changes - #endif + #ifdef ULTIPANEL + #define LCD_PINS_D5 P1_17 // (71) ENET_MDIO + #define LCD_PINS_D6 P1_14 // (73) ENET_RX_ER + #define LCD_PINS_D7 P1_10 // (75) ENET_RXD1 + #endif + + #if ENABLED(NEWPANEL) + #if ENABLED(REPRAPWORLD_KEYPAD) + #define SHIFT_OUT P0_18 // (51) (MOSI) J3-10 & AUX-3 + #define SHIFT_CLK P0_15 // (52) (SCK) J3-9 & AUX-3 + #define SHIFT_LD P1_31 // (49) not 5V tolerant J3-1 & AUX-3 + #endif + #else + //#define SHIFT_CLK P3_26 // (31) J3-2 & AUX-4 + //#define SHIFT_LD P3_25 // (33) J3-4 & AUX-4 + //#define SHIFT_OUT P2_11 // (35) J3-3 & AUX-4 + //#define SHIFT_EN P1_22 // (41) J5-4 & AUX-4 + #endif + + #if ENABLED(VIKI2) || ENABLED(miniVIKI) + // #define LCD_SCREEN_ROT_180 + + #undef BEEPER_PIN + #define BEEPER_PIN P1_30 // (37) may change if cable changes + + #define BTN_EN1 P3_26 // (31) J3-2 & AUX-4 + #define BTN_EN2 P3_25 // (33) J3-4 & AUX-4 + #define BTN_ENC P2_11 // (35) J3-3 & AUX-4 + + #define SD_DETECT_PIN P1_31 // (49) not 5V tolerant J3-1 & AUX-3 + #define KILL_PIN P1_22 // (41) J5-4 & AUX-4 + + #undef DOGLCD_CS + #define DOGLCD_CS P0_16 // (16) + #undef LCD_BACKLIGHT_PIN //P0_16 // (16) J3-7 & AUX-4 - only used on DOGLCD controllers + #undef LCD_PINS_ENABLE //P0_18 // (51) (MOSI) J3-10 & AUX-3 + #undef LCD_PINS_D4 //P0_15 // (52) (SCK) J3-9 & AUX-3 + + #undef LCD_PINS_D5 //P2_06 // (59) J3-8 & AUX-2 + #define DOGLCD_A0 P2_06 // (59) J3-8 & AUX-2 + #undef LCD_PINS_D6 //P0_26 // (63) J5-3 & AUX-2 + #undef LCD_PINS_D7 //P1_21 // ( 6) (SERVO1) J5-1 & SERVO connector + #define DOGLCD_SCK SCK_PIN + #define DOGLCD_MOSI MOSI_PIN + + #define STAT_LED_BLUE_PIN P0_26 // (63) may change if cable changes + #define STAT_LED_RED_PIN P1_21 // ( 6) may change if cable changes + #endif + + //#define MISO_PIN P0_17 // (50) system defined J3-10 & AUX-3 + //#define MOSI_PIN P0_18 // (51) system defined J3-10 & AUX-3 + //#define SCK_PIN P0_15 // (52) system defined J3-9 & AUX-3 + //#define SS_PIN P1_23 // (53) system defined J3-5 & AUX-3 - sometimes called SDSS + + #if ENABLED(MINIPANEL) + // GLCD features + //#define LCD_CONTRAST 190 + // Uncomment screen orientation + //#define LCD_SCREEN_ROT_90 + //#define LCD_SCREEN_ROT_180 + //#define LCD_SCREEN_ROT_270 + #endif - //#define MISO_PIN P0_17 // (50) system defined J3-10 & AUX-3 - //#define MOSI_PIN P0_18 // (51) system defined J3-10 & AUX-3 - //#define SCK_PIN P0_15 // (52) system defined J3-9 & AUX-3 - //#define SS_PIN P1_23 // (53) system defined J3-5 & AUX-3 - sometimes called SDSS - - #if ENABLED(MINIPANEL) - // GLCD features - //#define LCD_CONTRAST 190 - // Uncomment screen orientation - //#define LCD_SCREEN_ROT_90 - //#define LCD_SCREEN_ROT_180 - //#define LCD_SCREEN_ROT_270 #endif #endif // ULTRA_LCD diff --git a/Marlin/src/pins/pins_RIGIDBOARD.h b/Marlin/src/pins/pins_RIGIDBOARD.h index 128d739e6581..e985963505a9 100644 --- a/Marlin/src/pins/pins_RIGIDBOARD.h +++ b/Marlin/src/pins/pins_RIGIDBOARD.h @@ -85,8 +85,9 @@ #undef HEATER_BED_PIN #define HEATER_BED_PIN 10 -#undef FAN_PIN -#define FAN_PIN 8 // Same as RAMPS_13_EEF +#ifndef FAN_PIN + #define FAN_PIN 8 // Same as RAMPS_13_EEF +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_RUMBA.h b/Marlin/src/pins/pins_RUMBA.h index ffa6a26e4753..160dae55b8ca 100644 --- a/Marlin/src/pins/pins_RUMBA.h +++ b/Marlin/src/pins/pins_RUMBA.h @@ -124,7 +124,9 @@ #define HEATER_3_PIN 8 #define HEATER_BED_PIN 9 -#define FAN_PIN 7 +#ifndef FAN_PIN + #define FAN_PIN 7 +#endif #define FAN1_PIN 8 // @@ -136,21 +138,6 @@ #define KILL_PIN 46 #define CASE_LIGHT_PIN 45 -// -// LCD / Controller -// -#define SD_DETECT_PIN 49 -#define BEEPER_PIN 44 -#define LCD_PINS_RS 19 -#define LCD_PINS_ENABLE 42 -#define LCD_PINS_D4 18 -#define LCD_PINS_D5 38 -#define LCD_PINS_D6 41 -#define LCD_PINS_D7 40 -#define BTN_EN1 11 -#define BTN_EN2 12 -#define BTN_ENC 43 - // // M3/M4/M5 - Spindle/Laser Control // @@ -163,3 +150,29 @@ #ifndef SPINDLE_DIR_PIN #define SPINDLE_DIR_PIN 15 #endif + +// +// LCD / Controller +// +#define SD_DETECT_PIN 49 +#define BEEPER_PIN 44 +#define LCD_PINS_D7 40 +#define BTN_EN1 11 +#define BTN_EN2 12 +#define BTN_ENC 43 + +#if ENABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306) + #define LCD_PINS_DC 38 // Set as output on init + #define LCD_PINS_RS 41 // Pull low for 1s to init + // DOGM SPI LCD Support + #define DOGLCD_CS 19 + #define DOGLCD_MOSI 42 + #define DOGLCD_SCK 18 + #define DOGLCD_A0 LCD_PINS_DC +#else + #define LCD_PINS_RS 19 + #define LCD_PINS_ENABLE 42 + #define LCD_PINS_D4 18 + #define LCD_PINS_D5 38 + #define LCD_PINS_D6 41 +#endif diff --git a/Marlin/src/pins/pins_RURAMPS4D.h b/Marlin/src/pins/pins_RURAMPS4D_11.h similarity index 88% rename from Marlin/src/pins/pins_RURAMPS4D.h rename to Marlin/src/pins/pins_RURAMPS4D_11.h index 7355dc74200a..d05b74b04c5d 100644 --- a/Marlin/src/pins/pins_RURAMPS4D.h +++ b/Marlin/src/pins/pins_RURAMPS4D_11.h @@ -37,9 +37,15 @@ #endif #ifndef BOARD_NAME - #define BOARD_NAME "RuRAMPS4Due" + #define BOARD_NAME "RuRAMPS4Due v1.1" #endif +// +// Servos +// +#define SERVO0_PIN 5 +#define SERVO1_PIN 3 + // // Limit Switches // @@ -63,38 +69,51 @@ #define X_STEP_PIN 37 // Support Extension Board #define X_DIR_PIN 36 #define X_ENABLE_PIN 38 +#ifndef X_CS_PIN + #define X_CS_PIN -1 +#endif #define Y_STEP_PIN 32 // Support Extension Board #define Y_DIR_PIN 35 #define Y_ENABLE_PIN 34 +#ifndef Y_CS_PIN + #define Y_CS_PIN -1 +#endif #define Z_STEP_PIN 30 // Support Extension Board #define Z_DIR_PIN 2 #define Z_ENABLE_PIN 33 +#ifndef Z_CS_PIN + #define Z_CS_PIN -1 +#endif #define E0_STEP_PIN 29 #define E0_DIR_PIN 28 #define E0_ENABLE_PIN 31 +#ifndef E0_CS_PIN + #define E0_CS_PIN -1 +#endif #define E1_STEP_PIN 22 #define E1_DIR_PIN 24 #define E1_ENABLE_PIN 26 +#ifndef E1_CS_PIN + #define E1_CS_PIN -1 +#endif #define E2_STEP_PIN 25 #define E2_DIR_PIN 23 #define E2_ENABLE_PIN 27 +#ifndef E2_CS_PIN + #define E2_CS_PIN -1 +#endif #define E3_STEP_PIN 15 // Only For Extension Board #define E3_DIR_PIN 14 #define E3_ENABLE_PIN 61 - -//#define X_CS_PIN -1 -//#define Y_CS_PIN -1 -//#define Z_CS_PIN -1 -//#define E0_CS_PIN -1 -//#define E1_CS_PIN -1 -//#define E2_CS_PIN -1 -//#define E3_CS_PIN -1 +#ifndef E3_CS_PIN + #define E3_CS_PIN -1 +#endif // For Future: Microstepping pins - Mapping not from fastio.h (?) //#define E3_MS1_PIN ? @@ -122,7 +141,9 @@ #define HEATER_2_PIN 11 #define HEATER_BED_PIN 7 // BED H1 -#define FAN_PIN 9 +#ifndef FAN_PIN + #define FAN_PIN 9 +#endif #define FAN1_PIN 8 #define CONTROLLER_FAN_PIN -1 @@ -134,8 +155,9 @@ #define TEMP_2_PIN 2 // ANALOG A2 #define TEMP_3_PIN 3 // ANALOG A2 #define TEMP_BED_PIN 4 // ANALOG A3 -//Thermocouple Use Analog Pins -#if ENABLED(VER_WITH_THERMOCOUPLE) // If Nead, define is in Configuration.h + +// The thermocouple uses Analog pins +#if ENABLED(VER_WITH_THERMOCOUPLE) // Defined in Configuration.h #define TEMP_4_PIN 5 // A5 #define TEMP_5_PIN 6 // A6 (Marlin 2.0 not support) #endif @@ -147,14 +169,6 @@ // #define MAX6675_SS 49 //#endif -// -// Servos -// -#define SERVO0_PIN 5 -#define SERVO1_PIN 3 -#define SERVO2_PIN -1 -#define SERVO3_PIN -1 - // // Misc. Functions // @@ -193,6 +207,8 @@ #if ENABLED(RADDS_DISPLAY) || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #define BEEPER_PIN 62 + #define LCD_PINS_RS 63 #define LCD_PINS_ENABLE 64 #define LCD_PINS_D4 48 @@ -200,16 +216,12 @@ #define LCD_PINS_D6 52 #define LCD_PINS_D7 53 - #define BEEPER_PIN 62 - - #define BTN_EN1 44 - #define BTN_EN2 42 - #define BTN_ENC 40 - #define SD_DETECT_PIN 51 #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #define BEEPER_PIN 62 + #define LCD_PINS_RS 52 #define LCD_PINS_ENABLE 53 #define LCD_PINS_D4 48 @@ -217,20 +229,10 @@ #define LCD_PINS_D6 52 #define LCD_PINS_D7 53 - #define BEEPER_PIN 62 - - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) - #define BTN_EN1 44 - #define BTN_EN2 42 - #define BTN_ENC 40 - #define SD_DETECT_PIN 51 - #endif + #define SD_DETECT_PIN 51 #elif ENABLED(SSD1306_OLED_I2C_CONTROLLER) - #define BTN_EN1 44 - #define BTN_EN2 42 - #define BTN_ENC 40 #define BEEPER_PIN 62 #define LCD_SDSS 10 #define SD_DETECT_PIN 51 @@ -248,4 +250,10 @@ #endif // SPARK_FULL_GRAPHICS + #if ENABLED(NEWPANEL) + #define BTN_EN1 44 + #define BTN_EN2 42 + #define BTN_ENC 40 + #endif + #endif // ULTRA_LCD diff --git a/Marlin/src/pins/pins_RURAMPS4D_13.h b/Marlin/src/pins/pins_RURAMPS4D_13.h new file mode 100644 index 000000000000..ca80c21132f5 --- /dev/null +++ b/Marlin/src/pins/pins_RURAMPS4D_13.h @@ -0,0 +1,240 @@ +/** + * 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 . + * + * Ported sys0724 & Vynt + */ + +/** + * Arduino Mega? or Due with RuRAMPS4DUE pin assignments + * + * Applies to the following boards: + * RURAMPS4DUE (Hotend0, Hotend1, Hotend2, Fan0, Fan1, Bed) + * + * Differences between + * RADDS | RuRAMPS4DUE + * | + */ + +#ifndef __SAM3X8E__ + #error "Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu." +#endif + +#ifndef BOARD_NAME + #define BOARD_NAME "RuRAMPS4Due v1.3" +#endif + +// +// Servos +// +#define SERVO0_PIN 5 +#define SERVO1_PIN 3 + +// +// Limit Switches +// +#define X_MIN_PIN 45 +#define X_MAX_PIN 39 +#define Y_MIN_PIN 46 +#define Y_MAX_PIN 41 +#define Z_MIN_PIN 47 +#define Z_MAX_PIN 43 + +// +// Z Probe (when not Z_MIN_PIN) +// +#ifndef Z_MIN_PROBE_PIN + #define Z_MIN_PROBE_PIN 49 +#endif + +// +// Steppers +// +#define X_STEP_PIN 37 // Support Extension Board +#define X_DIR_PIN 36 +#define X_ENABLE_PIN 31 +#ifndef X_CS_PIN + #define X_CS_PIN 38 +#endif + +#define Y_STEP_PIN 32 // Support Extension Board +#define Y_DIR_PIN 35 +#define Y_ENABLE_PIN 31 +#ifndef Y_CS_PIN + #define Y_CS_PIN 34 +#endif + +#define Z_STEP_PIN 30 // Support Extension Board +#define Z_DIR_PIN 2 +#define Z_ENABLE_PIN 31 +#ifndef Z_CS_PIN + #define Z_CS_PIN 10 +#endif + +#define E0_STEP_PIN 29 +#define E0_DIR_PIN 28 +#define E0_ENABLE_PIN 33 +#ifndef E0_CS_PIN + #define E0_CS_PIN 14 +#endif + +#define E1_STEP_PIN 22 +#define E1_DIR_PIN 24 +#define E1_ENABLE_PIN 26 +#ifndef E1_CS_PIN + #define E1_CS_PIN 15 +#endif + +#define E2_STEP_PIN 25 +#define E2_DIR_PIN 23 +#define E2_ENABLE_PIN 27 +#ifndef E2_CS_PIN + #define E2_CS_PIN 61 +#endif + +#if DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) + #define Z_MIN_PROBE_PIN 49 +#endif + +#if ENABLED(FILAMENT_RUNOUT_SENSOR) + #ifndef FIL_RUNOUT_PIN + #define FIL_RUNOUT_PIN Y_MIN_PIN + #endif +#endif + +// +// Heaters / Fans +// +#define HEATER_0_PIN 13 +#define HEATER_1_PIN 12 +#define HEATER_2_PIN 11 +#define HEATER_BED_PIN 7 // BED H1 + +#define FAN_PIN 9 +#define FAN1_PIN 8 +#define CONTROLLER_FAN_PIN -1 + +// +// Temperature Sensors +// +#define TEMP_0_PIN 0 // ANALOG A0 +#define TEMP_1_PIN 1 // ANALOG A1 +#define TEMP_2_PIN 2 // ANALOG A2 +#define TEMP_3_PIN 3 // ANALOG A2 +#define TEMP_BED_PIN 4 // ANALOG A3 + +// The thermocouple uses Analog pins +#if ENABLED(VER_WITH_THERMOCOUPLE) // Defined in Configuration.h + #define TEMP_4_PIN 5 // A5 + #define TEMP_5_PIN 6 // A6 (Marlin 2.0 not support) +#endif + +// SPI for Max6675 or Max31855 Thermocouple +//#if DISABLED(SDSUPPORT) +// #define MAX6675_SS 53 +//#else +// #define MAX6675_SS 49 +//#endif + +// +// Misc. Functions +// +#define SDSS 4 // 4,10,52 if using HW SPI. +#define LED_PIN -1 // 13 - HEATER_0_PIN +#define PS_ON_PIN -1 // 65 + +// MKS TFT / Nextion Use internal USART-1 +#define TFT_LCD_MODULE_COM 1 +#define TFT_LCD_MODULE_BAUDRATE 115600 + +// ESP WiFi Use internal USART-2 +#define ESP_WIFI_MODULE_COM 2 +#define ESP_WIFI_MODULE_BAUDRATE 115600 +#define ESP_WIFI_MODULE_RESET_PIN -1 +#define PIGGY_GPIO_PIN -1 + +// +// EEPROM +// +#define E2END 0x8000 // 32Kb (24lc256) +#define I2C_EEPROM // EEPROM on I2C-0 +//#define EEPROM_SD // EEPROM on SDCARD +//#define SPI_EEPROM // EEPROM on SPI-0 +//#define SPI_CHAN_EEPROM1 ? +//#define SPI_EEPROM1_CS ? +// 2K EEPROM +//#define SPI_EEPROM2_CS ? +// 32Mb FLASH +//#define SPI_FLASH_CS ? + +// +// LCD / Controller +// +#if ENABLED(ULTRA_LCD) + + #if ENABLED(RADDS_DISPLAY) || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + + #define BEEPER_PIN 62 + + #define LCD_PINS_RS 63 + #define LCD_PINS_ENABLE 64 + #define LCD_PINS_D4 48 + #define LCD_PINS_D5 50 + #define LCD_PINS_D6 52 + #define LCD_PINS_D7 53 + + #define SD_DETECT_PIN 51 + + #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + + #define BEEPER_PIN 62 + + #define LCD_PINS_RS 52 + #define LCD_PINS_ENABLE 53 + #define LCD_PINS_D4 48 + #define LCD_PINS_D5 50 + #define LCD_PINS_D6 52 + #define LCD_PINS_D7 53 + + #define SD_DETECT_PIN 51 + + #elif ENABLED(SSD1306_OLED_I2C_CONTROLLER) + + #define BEEPER_PIN 62 + #define LCD_SDSS 10 + #define SD_DETECT_PIN 51 + + #elif ENABLED(MKS_MINI_12864) + + #define ORIG_BEEPER_PIN 62 + + #define DOGLCD_A0 52 + #define DOGLCD_CS 50 + + #define SD_DETECT_PIN 51 + + #endif + + #if ENABLED(NEWPANEL) + #define BTN_EN1 44 + #define BTN_EN2 42 + #define BTN_ENC 40 + #endif + +#endif // ULTRA_LCD diff --git a/Marlin/src/pins/pins_SANGUINOLOLU_11.h b/Marlin/src/pins/pins_SANGUINOLOLU_11.h index 7e218475ad53..0d9af5b5a813 100644 --- a/Marlin/src/pins/pins_SANGUINOLOLU_11.h +++ b/Marlin/src/pins/pins_SANGUINOLOLU_11.h @@ -100,7 +100,7 @@ #define Z_ENABLE_PIN 26 #define E0_ENABLE_PIN 14 - #if ENABLED(LCD_I2C_PANELOLU2) + #if !defined(FAN_PIN) && ENABLED(LCD_I2C_PANELOLU2) #define FAN_PIN 4 // Uses Transistor1 (PWM) on Panelolu2's Sanguino Adapter Board to drive the fan #endif @@ -114,7 +114,7 @@ #endif -#if MB(AZTEEG_X1) || MB(STB_11) || MB(CREALITY_ENDER) || ENABLED(IS_MELZI) +#if !defined(FAN_PIN) && (MB(AZTEEG_X1) || MB(STB_11) || ENABLED(IS_MELZI)) #define FAN_PIN 4 // Works for Panelolu2 too #endif @@ -187,7 +187,7 @@ #define DOGLCD_CS 17 #define LCD_BACKLIGHT_PIN 28 // PA3 - #elif MB(CREALITY_ENDER) + #elif ENABLED(IS_MELZI) #define BEEPER_PIN 27 #define DOGLCD_CS 28 @@ -239,13 +239,13 @@ #define BTN_EN2 30 #ifndef ST7920_DELAY_1 - #define ST7920_DELAY_1 DELAY_0_NOP + #define ST7920_DELAY_1 DELAY_NS(0) #endif #ifndef ST7920_DELAY_2 - #define ST7920_DELAY_2 DELAY_3_NOP + #define ST7920_DELAY_2 DELAY_NS(188) #endif #ifndef ST7920_DELAY_3 - #define ST7920_DELAY_3 DELAY_0_NOP + #define ST7920_DELAY_3 DELAY_NS(0) #endif #elif ENABLED(ZONESTAR_LCD) // For the Tronxy Melzi boards diff --git a/Marlin/src/pins/pins_SAV_MKI.h b/Marlin/src/pins/pins_SAV_MKI.h index 1241ee083f1d..894559449546 100644 --- a/Marlin/src/pins/pins_SAV_MKI.h +++ b/Marlin/src/pins/pins_SAV_MKI.h @@ -114,7 +114,9 @@ #define HEATER_0_PIN 15 // C5 PWM3B - Extruder #define HEATER_BED_PIN 14 // C4 PWM3C - Bed -#define FAN_PIN 16 // C6 PWM3A +#ifndef FAN_PIN + #define FAN_PIN 16 // C6 PWM3A +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_SCOOVO_X9H.h b/Marlin/src/pins/pins_SCOOVO_X9H.h index 000a17b3439e..ea6685def42f 100644 --- a/Marlin/src/pins/pins_SCOOVO_X9H.h +++ b/Marlin/src/pins/pins_SCOOVO_X9H.h @@ -106,7 +106,9 @@ #define HEATER_1_PIN 7 #define HEATER_BED_PIN 3 -#define FAN_PIN 8 +#ifndef FAN_PIN + #define FAN_PIN 8 +#endif #define FAN1_PIN 6 #define FAN2_PIN 2 diff --git a/Marlin/src/pins/pins_SELENA_COMPACT.h b/Marlin/src/pins/pins_SELENA_COMPACT.h index bd351e873a38..5ea2d3bf5481 100644 --- a/Marlin/src/pins/pins_SELENA_COMPACT.h +++ b/Marlin/src/pins/pins_SELENA_COMPACT.h @@ -86,7 +86,9 @@ #define HEATER_BED2_PIN P2_04 #define HEATER_0_PIN P2_07 #define HEATER_1_PIN P2_06 -#define FAN_PIN P1_24 +#ifndef FAN_PIN + #define FAN_PIN P1_24 +#endif #define FAN1_PIN P1_26 // diff --git a/Marlin/src/pins/pins_SETHI.h b/Marlin/src/pins/pins_SETHI.h index 293373a6d7be..801560e5e377 100644 --- a/Marlin/src/pins/pins_SETHI.h +++ b/Marlin/src/pins/pins_SETHI.h @@ -98,12 +98,13 @@ #define HEATER_0_PIN 4 #define HEATER_BED_PIN 3 - -#if GEN7_VERSION >= 13 - // Gen7 v1.3 removed the fan pin - #define FAN_PIN -1 -#else - #define FAN_PIN 31 +#ifndef FAN_PIN + #if GEN7_VERSION >= 13 + // Gen7 v1.3 removed the fan pin + #define FAN_PIN -1 + #else + #define FAN_PIN 31 + #endif #endif // diff --git a/Marlin/src/pins/pins_SILVER_GATE.h b/Marlin/src/pins/pins_SILVER_GATE.h index ca96a427c11a..005c4c6eca81 100644 --- a/Marlin/src/pins/pins_SILVER_GATE.h +++ b/Marlin/src/pins/pins_SILVER_GATE.h @@ -56,7 +56,9 @@ #define FIL_RUNOUT_PIN 34 // X_MAX unless overridden #endif -#define FAN_PIN 5 +#ifndef FAN_PIN + #define FAN_PIN 5 +#endif #define HEATER_0_PIN 7 diff --git a/Marlin/src/pins/pins_STM32F1R.h b/Marlin/src/pins/pins_STM32F1R.h index bebb2cf33f11..f827a7ef9b0b 100644 --- a/Marlin/src/pins/pins_STM32F1R.h +++ b/Marlin/src/pins/pins_STM32F1R.h @@ -34,34 +34,30 @@ // Ignore temp readings during develpment. #define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE +// +// Limit Switches +// +#define U_MIN_PIN -1 +#define V_MIN_PIN -1 +#define W_MIN_PIN -1 +#define X_STOP_PIN PB3 +#define Y_STOP_PIN PB4 +#define Z_STOP_PIN PB5 + // // Steppers // #define X_STEP_PIN PC0 #define X_DIR_PIN PC1 #define X_ENABLE_PIN PA8 -#define X_MIN_PIN PB3 -#define X_MAX_PIN -1 #define Y_STEP_PIN PC2 #define Y_DIR_PIN PC3 #define Y_ENABLE_PIN PA8 -#define Y_MIN_PIN -1 -#define Y_MAX_PIN PB4 #define Z_STEP_PIN PC4 #define Z_DIR_PIN PC5 #define Z_ENABLE_PIN PA8 -#define Z_MIN_PIN -1 -#define Z_MAX_PIN PB5 - -#define Y2_STEP_PIN -1 -#define Y2_DIR_PIN -1 -#define Y2_ENABLE_PIN -1 - -#define Z2_STEP_PIN -1 -#define Z2_DIR_PIN -1 -#define Z2_ENABLE_PIN -1 #define E0_STEP_PIN PC6 #define E0_DIR_PIN PC7 @@ -82,25 +78,16 @@ // // Misc. Functions // -#define SDPOWER -1 #define SDSS PA4 #define LED_PIN PD2 -#define PS_ON_PIN -1 -#define KILL_PIN -1 - // // Heaters / Fans // #define HEATER_0_PIN PB0 // EXTRUDER 1 #define HEATER_1_PIN PB1 -#define HEATER_2_PIN -1 #define HEATER_BED_PIN PA3 // BED -#define HEATER_BED2_PIN -1 // BED2 -#define HEATER_BED3_PIN -1 // BED3 - -#define FAN_PIN -1 // (Sprinter config) // // Temperature Sensors @@ -108,7 +95,6 @@ #define TEMP_BED_PIN PA0 // ANALOG NUMBERING #define TEMP_0_PIN PA1 // ANALOG NUMBERING #define TEMP_1_PIN PA2 // ANALOG NUMBERING -#define TEMP_2_PIN -1 // ANALOG NUMBERING // // LCD Pins @@ -276,7 +262,3 @@ #endif // NEWPANEL #endif // ULTRA_LCD - -#define U_MIN_PIN -1 -#define V_MIN_PIN -1 -#define W_MIN_PIN -1 diff --git a/Marlin/src/pins/pins_STM32F4.h b/Marlin/src/pins/pins_STM32F4.h new file mode 100644 index 000000000000..22c83896358a --- /dev/null +++ b/Marlin/src/pins/pins_STM32F4.h @@ -0,0 +1,191 @@ +/** + * 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 . + * + */ + +#if !defined(STM32F4) && !defined(STM32F4xx) + #error "Oops! Make sure you have an STM32F4 board selected from the 'Tools -> Boards' menu." +#endif + +#define DEFAULT_MACHINE_NAME "STM32F407VET6" +#define BOARD_NAME "STM32F4 Board" + +//#define I2C_EEPROM + +#define E2END 0xFFF // EEPROM end address (4kB) + +// Ignore temp readings during develpment. +//#define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE + +#if E_STEPPERS > 2 || HOTENDS > 2 + #error "STM32F4 supports up to 2 hotends / E-steppers." +#endif + +// +// Limit Switches +// +#define X_MIN_PIN PE0 +#define X_MAX_PIN -1 +#define Y_MIN_PIN PE1 +#define Y_MAX_PIN -1 +#define Z_MIN_PIN PE14 +#define Z_MAX_PIN -1 + +// +// Z Probe (when not Z_MIN_PIN) +// + +//#ifndef Z_MIN_PROBE_PIN +// #define Z_MIN_PROBE_PIN PA4 +//#endif + +// +// Steppers +// + +#define X_STEP_PIN PD3 +#define X_DIR_PIN PD2 +#define X_ENABLE_PIN PD0 +//#ifndef X_CS_PIN +// #define X_CS_PIN PD1 +//#endif + +#define Y_STEP_PIN PE11 +#define Y_DIR_PIN PE10 +#define Y_ENABLE_PIN PE13 +//#ifndef Y_CS_PIN +// #define Y_CS_PIN PE12 +//#endif + +#define Z_STEP_PIN PD6 +#define Z_DIR_PIN PD7 +#define Z_ENABLE_PIN PD4 +//#ifndef Z_CS_PIN +// #define Z_CS_PIN PD5 +//#endif + +#define E0_STEP_PIN PB5 +#define E0_DIR_PIN PB6 +#define E0_ENABLE_PIN PB3 +//#ifndef E0_CS_PIN +// #define E0_CS_PIN PB4 +//#endif + +#define E1_STEP_PIN PE4 +#define E1_DIR_PIN PE2 +#define E1_ENABLE_PIN PE3 +//#ifndef E1_CS_PIN +// #define E1_CS_PIN PE5 +//#endif + +#define SCK_PIN PA5 +#define MISO_PIN PA6 +#define MOSI_PIN PA7 + +// +// Temperature Sensors +// + +#define TEMP_0_PIN PC0 // Analog Input +#define TEMP_1_PIN PC1 // Analog Input +#define TEMP_BED_PIN PC2 // Analog Input + +// +// Heaters / Fans +// + +#define HEATER_0_PIN PA1 +#define HEATER_1_PIN PA2 +#define HEATER_BED_PIN PA0 + +#ifndef FAN_PIN + #define FAN_PIN PC6 +#endif +#define FAN1_PIN PC7 +#define FAN2_PIN PC8 + +#define ORIG_E0_AUTO_FAN_PIN FAN1_PIN // Use this by NOT overriding E0_AUTO_FAN_PIN + +// +// Misc. Functions +// + +//#define CASE_LIGHT_PIN_CI PF13 +//#define CASE_LIGHT_PIN_DO PF14 +//#define NEOPIXEL_PIN PF13 + +// +// Prusa i3 MK2 Multi Material Multiplexer Support +// + +//#define E_MUX0_PIN PG3 +//#define E_MUX1_PIN PG4 + +// +// Servos +// + +//#define SERVO0_PIN PE13 +//#define SERVO1_PIN PE14 + + +#define SDSS PE7 +#define SS_PIN PE7 +#define LED_PIN PB7 //Alive +#define PS_ON_PIN PA10 +#define KILL_PIN PA8 +#define PWR_LOSS PA4 //Power loss / nAC_FAULT + +// +// LCD / Controller +// + +#define SD_DETECT_PIN PA15 +#define BEEPER_PIN PC9 +#define LCD_PINS_RS PE9 +#define LCD_PINS_ENABLE PE8 +#define LCD_PINS_D4 PB12 +#define LCD_PINS_D5 PB13 +#define LCD_PINS_D6 PB14 +#define LCD_PINS_D7 PB15 +#define BTN_EN1 PC4 +#define BTN_EN2 PC5 +#define BTN_ENC PC3 + +// +// Filament runout +// + +#define FIL_RUNOUT_PIN PA3 + +// +// ST7920 Delays +// +#ifndef ST7920_DELAY_1 + #define ST7920_DELAY_1 DELAY_NS(96) +#endif + +#ifndef ST7920_DELAY_2 + #define ST7920_DELAY_2 DELAY_NS(48) +#endif + +#ifndef ST7920_DELAY_3 + #define ST7920_DELAY_3 DELAY_NS(715) +#endif diff --git a/Marlin/src/pins/pins_STM3R_MINI.h b/Marlin/src/pins/pins_STM3R_MINI.h index d79f170efaa3..2ffb09e2d588 100644 --- a/Marlin/src/pins/pins_STM3R_MINI.h +++ b/Marlin/src/pins/pins_STM3R_MINI.h @@ -37,34 +37,30 @@ // Ignore temp readings during develpment. #define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE +// +// Limit Switches +// +#define U_MIN_PIN -1 +#define V_MIN_PIN -1 +#define W_MIN_PIN -1 +#define X_STOP_PIN PD0 +#define Y_STOP_PIN PD1 +#define Z_STOP_PIN PD4 + // // Steppers // #define X_STEP_PIN PE1 #define X_DIR_PIN PE0 #define X_ENABLE_PIN PC0 -#define X_MIN_PIN PD0 -#define X_MAX_PIN -1 #define Y_STEP_PIN PE3 #define Y_DIR_PIN PE2 #define Y_ENABLE_PIN PC1 -#define Y_MIN_PIN PD1 -#define Y_MAX_PIN #define Z_STEP_PIN PE5 #define Z_DIR_PIN PE4 #define Z_ENABLE_PIN PC2 -#define Z_MIN_PIN PD4 -#define Z_MAX_PIN -1 - -#define Y2_STEP_PIN -1 -#define Y2_DIR_PIN -1 -#define Y2_ENABLE_PIN -1 - -#define Z2_STEP_PIN -1 -#define Z2_DIR_PIN -1 -#define Z2_ENABLE_PIN -1 #define E0_STEP_PIN PE7 #define E0_DIR_PIN PE6 @@ -81,25 +77,22 @@ // // Misc. Functions // -//#define SDPOWER -1 #define SDSS PA15 #define LED_PIN PB2 -//#define PS_ON_PIN -1 -//#define KILL_PIN -1 - // // Heaters / Fans // #define HEATER_0_PIN PD12 // EXTRUDER 1 //#define HEATER_1_PIN PD13 -//#define HEATER_2_PIN -1 #define HEATER_BED_PIN PB9 // BED //#define HEATER_BED2_PIN -1 // BED2 //#define HEATER_BED3_PIN -1 // BED3 -#define FAN_PIN PD14 +#ifndef FAN_PIN + #define FAN_PIN PD14 +#endif #define FAN1_PIN PD13 #define FAN_SOFT_PWM @@ -114,8 +107,8 @@ // Laser control #if ENABLED(SPINDLE_LASER_ENABLE) -#define SPINDLE_LASER_PWM_PIN PB8 -#define SPINDLE_LASER_ENABLE_PIN PD5 + #define SPINDLE_LASER_PWM_PIN PB8 + #define SPINDLE_LASER_ENABLE_PIN PD5 #endif // @@ -285,7 +278,3 @@ #endif // NEWPANEL #endif // ULTRA_LCD - -#define U_MIN_PIN -1 -#define V_MIN_PIN -1 -#define W_MIN_PIN -1 diff --git a/Marlin/src/pins/pins_TEENSY2.h b/Marlin/src/pins/pins_TEENSY2.h index 16fcd46f1072..736be6f73efe 100644 --- a/Marlin/src/pins/pins_TEENSY2.h +++ b/Marlin/src/pins/pins_TEENSY2.h @@ -149,7 +149,9 @@ // #define HEATER_0_PIN 15 // C5 PWM3B Extruder #define HEATER_BED_PIN 14 // C4 PWM3C -#define FAN_PIN 16 // C6 PWM3A Fan +#ifndef FAN_PIN + #define FAN_PIN 16 // C6 PWM3A Fan +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_TEENSY35_36.h b/Marlin/src/pins/pins_TEENSY35_36.h index e0bbd89e2622..e196401c4157 100644 --- a/Marlin/src/pins/pins_TEENSY35_36.h +++ b/Marlin/src/pins/pins_TEENSY35_36.h @@ -79,6 +79,16 @@ D8 HEATER_BED_PIN CS1 RX4 A12 31 | 46 * * 47 | 34 A15 PWM */ +// +// Limit Switches +// +#define X_STOP_PIN 24 +#define Y_STOP_PIN 26 +#define Z_STOP_PIN 28 + +// +// Steppers +// #define X_STEP_PIN 22 #define X_DIR_PIN 21 #define X_ENABLE_PIN 39 @@ -102,11 +112,9 @@ D8 HEATER_BED_PIN CS1 RX4 A12 31 | 46 * * 47 | 34 A15 PWM #define HEATER_0_PIN 30 #define HEATER_1_PIN 36 #define HEATER_BED_PIN 31 -#define FAN_PIN 2 - -#define X_STOP_PIN 24 -#define Y_STOP_PIN 26 -#define Z_STOP_PIN 28 +#ifndef FAN_PIN + #define FAN_PIN 2 +#endif #define TEMP_0_PIN 2 // Extruder / Analog pin numbering: 2 => A2 #define TEMP_1_PIN 0 diff --git a/Marlin/src/pins/pins_TEENSYLU.h b/Marlin/src/pins/pins_TEENSYLU.h index 33f78b2305d8..e733b982877d 100755 --- a/Marlin/src/pins/pins_TEENSYLU.h +++ b/Marlin/src/pins/pins_TEENSYLU.h @@ -127,7 +127,9 @@ #define HEATER_0_PIN 15 // C5 PWM3B - Extruder #define HEATER_BED_PIN 14 // C4 PWM3C -#define FAN_PIN 16 // C6 PWM3A +#ifndef FAN_PIN + #define FAN_PIN 16 // C6 PWM3A +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_THE_BORG.h b/Marlin/src/pins/pins_THE_BORG.h index 6df6c1700b3d..8a762fba2173 100644 --- a/Marlin/src/pins/pins_THE_BORG.h +++ b/Marlin/src/pins/pins_THE_BORG.h @@ -27,8 +27,6 @@ #define DEFAULT_MACHINE_NAME "The-Borge" #define BOARD_NAME "The-Borge" -#define LARGE_FLASH true - #define E2END 0xFFF // EEPROM end address // Ignore temp readings during develpment. @@ -38,159 +36,151 @@ #error "The-Borg supports up to 3 hotends / E-steppers." #endif -#define PORTA 0 -#define PORTB 1 -#define PORTC 2 -#define PORTD 3 -#define PORTE 4 -#define PORTF 5 -#define PORTG 6 - -#define _STM32_PIN(_PORT,_PIN) ((_PORT * 16) + _PIN) - // // Limit Switches // -#define X_MIN_PIN _STM32_PIN(PORTE, 9) -#define X_MAX_PIN _STM32_PIN(PORTE, 10) -#define Y_MIN_PIN _STM32_PIN(PORTE, 7) -#define Y_MAX_PIN _STM32_PIN(PORTE, 8) -#define Z_MIN_PIN _STM32_PIN(PORTF, 15) -#define Z_MAX_PIN _STM32_PIN(PORTG, 0) -#define E_MIN_PIN _STM32_PIN(PORTE, 2) -#define E_MAX_PIN _STM32_PIN(PORTE, 3) +#define X_MIN_PIN PE9 +#define X_MAX_PIN PE10 +#define Y_MIN_PIN PE7 +#define Y_MAX_PIN PE8 +#define Z_MIN_PIN PF15 +#define Z_MAX_PIN PG0 +#define E_MIN_PIN PE2 +#define E_MAX_PIN PE3 // // Z Probe (when not Z_MIN_PIN) // #ifndef Z_MIN_PROBE_PIN - #define Z_MIN_PROBE_PIN _STM32_PIN(PORTA, 4) + #define Z_MIN_PROBE_PIN PA4 #endif // // Steppers // -#define STEPPER_ENABLE_PIN _STM32_PIN(PORTE, 0) +#define STEPPER_ENABLE_PIN PE0 -#define X_STEP_PIN _STM32_PIN(PORTC, 6) // 96, 39 in Arduino -#define X_DIR_PIN _STM32_PIN(PORTC, 7) -#define X_ENABLE_PIN _STM32_PIN(PORTC, 8) +#define X_STEP_PIN PC6 // 96, 39 in Arduino +#define X_DIR_PIN PC7 +#define X_ENABLE_PIN PC8 -#define Y_STEP_PIN _STM32_PIN(PORTD, 9) -#define Y_DIR_PIN _STM32_PIN(PORTD, 10) -#define Y_ENABLE_PIN _STM32_PIN(PORTD, 11) +#define Y_STEP_PIN PD9 +#define Y_DIR_PIN PD10 +#define Y_ENABLE_PIN PD11 -#define Z_STEP_PIN _STM32_PIN(PORTE, 15) -#define Z_DIR_PIN _STM32_PIN(PORTG, 1) -#define Z_ENABLE_PIN _STM32_PIN(PORTD, 8) +#define Z_STEP_PIN PE15 +#define Z_DIR_PIN PG1 +#define Z_ENABLE_PIN PD8 -#define E0_STEP_PIN _STM32_PIN(PORTB, 1) -#define E0_DIR_PIN _STM32_PIN(PORTB, 2) -#define E0_ENABLE_PIN _STM32_PIN(PORTE, 11) +#define E0_STEP_PIN PB1 +#define E0_DIR_PIN PB2 +#define E0_ENABLE_PIN PE11 -#define E1_STEP_PIN _STM32_PIN(PORTC, 4) -#define E1_DIR_PIN _STM32_PIN(PORTC, 5) -#define E1_ENABLE_PIN _STM32_PIN(PORTB, 0) +#define E1_STEP_PIN PC4 +#define E1_DIR_PIN PC5 +#define E1_ENABLE_PIN PB0 -#define E2_STEP_PIN _STM32_PIN(PORTC, 13) -#define E2_DIR_PIN _STM32_PIN(PORTC, 14) -#define E2_ENABLE_PIN _STM32_PIN(PORTC, 15) +#define E2_STEP_PIN PC13 +#define E2_DIR_PIN PC14 +#define E2_ENABLE_PIN PC15 -#define Z2_STEP_PIN _STM32_PIN(PORTC, 13) -#define Z2_DIR_PIN _STM32_PIN(PORTC, 14) -#define Z2_ENABLE_PIN _STM32_PIN(PORTC, 15) +#define Z2_STEP_PIN PC13 +#define Z2_DIR_PIN PC14 +#define Z2_ENABLE_PIN PC15 -#define SCK_PIN _STM32_PIN(PORTA, 5) -#define MISO_PIN _STM32_PIN(PORTA, 6) -#define MOSI_PIN _STM32_PIN(PORTA, 7) +#define SCK_PIN PA5 +#define MISO_PIN PA6 +#define MOSI_PIN PA7 -#define SPI1_SCK_PIN _STM32_PIN(PORTA, 5) -#define SPI1_MISO_PIN _STM32_PIN(PORTA, 6) -#define SPI1_MOSI_PIN _STM32_PIN(PORTA, 7) +#define SPI1_SCK_PIN PA5 +#define SPI1_MISO_PIN PA6 +#define SPI1_MOSI_PIN PA7 -#define SPI6_SCK_PIN _STM32_PIN(PORTG, 13) -#define SPI6_MISO_PIN _STM32_PIN(PORTG, 12) -#define SPI6_MOSI_PIN _STM32_PIN(PORTG, 14) +#define SPI6_SCK_PIN PG13 +#define SPI6_MISO_PIN PG12 +#define SPI6_MOSI_PIN PG14 // // Temperature Sensors // -#define TEMP_0_PIN _STM32_PIN(PORTC, 3) // Analog Input -#define TEMP_1_PIN _STM32_PIN(PORTC, 2) // Analog Input -#define TEMP_2_PIN _STM32_PIN(PORTC, 1) // Analog Input -#define TEMP_3_PIN _STM32_PIN(PORTC, 0) // Analog Input +#define TEMP_0_PIN PC3 // Analog Input +#define TEMP_1_PIN PC2 // Analog Input +#define TEMP_2_PIN PC1 // Analog Input +#define TEMP_3_PIN PC0 // Analog Input -#define TEMP_BED_PIN _STM32_PIN(PORTF, 10) // Analog Input +#define TEMP_BED_PIN PF10 // Analog Input -#define TEMP_5_PIN _STM32_PIN(PORTE, 12) // Analog Input, Probe temp +#define TEMP_5_PIN PE12 // Analog Input, Probe temp // // Heaters / Fans // -#define HEATER_0_PIN _STM32_PIN(PORTD, 15) -#define HEATER_1_PIN _STM32_PIN(PORTD, 14) -#define HEATER_BED_PIN _STM32_PIN(PORTF, 6) +#define HEATER_0_PIN PD15 +#define HEATER_1_PIN PD14 +#define HEATER_BED_PIN PF6 -#define FAN_PIN _STM32_PIN(PORTD, 13) -#define FAN1_PIN _STM32_PIN(PORTA, 0) -#define FAN2_PIN _STM32_PIN(PORTA, 1) +#ifndef FAN_PIN + #define FAN_PIN PD13 +#endif +#define FAN1_PIN PA0 +#define FAN2_PIN PA1 -#define ORIG_E0_AUTO_FAN_PIN _STM32_PIN(PORTA, 1) // Use this by NOT overriding E0_AUTO_FAN_PIN +#define ORIG_E0_AUTO_FAN_PIN PA1 // Use this by NOT overriding E0_AUTO_FAN_PIN // // Misc. Functions // -//#define CASE_LIGHT_PIN_CI _STM32_PIN(PORTF, 13) -//#define CASE_LIGHT_PIN_DO _STM32_PIN(PORTF, 14) -//#define NEOPIXEL_PIN _STM32_PIN(PORTF, 13) +//#define CASE_LIGHT_PIN_CI PF13 +//#define CASE_LIGHT_PIN_DO PF14 +//#define NEOPIXEL_PIN PF13 // // Prusa i3 MK2 Multi Material Multiplexer Support // -#define E_MUX0_PIN _STM32_PIN(PORTG, 3) -#define E_MUX1_PIN _STM32_PIN(PORTG, 4) +#define E_MUX0_PIN PG3 +#define E_MUX1_PIN PG4 // // Servos // -#define SERVO0_PIN _STM32_PIN(PORTE, 13) -#define SERVO1_PIN _STM32_PIN(PORTE, 14) +#define SERVO0_PIN PE13 +#define SERVO1_PIN PE14 -#define SDSS _STM32_PIN(PORTA, 8) -#define SS_PIN _STM32_PIN(PORTA, 8) -#define LED_PIN _STM32_PIN(PORTA, 2) // Alive -#define PS_ON_PIN _STM32_PIN(PORTA, 3) -#define KILL_PIN -1//_STM32_PIN(PORTD, 5) // EXP2-10 -#define PWR_LOSS _STM32_PIN(PORTG, 5) // Power loss / nAC_FAULT +#define SDSS PA8 +#define SS_PIN PA8 +#define LED_PIN PA2 // Alive +#define PS_ON_PIN PA3 +#define KILL_PIN -1 //PD5 // EXP2-10 +#define PWR_LOSS PG5 // Power loss / nAC_FAULT // // MAX7219_DEBUG // -#define MAX7219_CLK_PIN _STM32_PIN(PORTG, 10) // EXP1-1 -#define MAX7219_DIN_PIN _STM32_PIN(PORTD, 7) // EXP1-3 -#define MAX7219_LOAD_PIN _STM32_PIN(PORTD, 1) // EXP1-5 +#define MAX7219_CLK_PIN PG10 // EXP1-1 +#define MAX7219_DIN_PIN PD7 // EXP1-3 +#define MAX7219_LOAD_PIN PD1 // EXP1-5 // // LCD / Controller // -//#define SD_DETECT_PIN -1 //_STM32_PIN(PORTB, 6)) // EXP2-4 -#define BEEPER_PIN _STM32_PIN(PORTG, 10) // EXP1-1 -#define LCD_PINS_RS _STM32_PIN(PORTG, 9) // EXP1-4 -#define LCD_PINS_ENABLE _STM32_PIN(PORTD, 7) // EXP1-3 -#define LCD_PINS_D4 _STM32_PIN(PORTD, 1) // EXP1-5 -#define LCD_PINS_D5 _STM32_PIN(PORTF, 0) // EXP1-6 -#define LCD_PINS_D6 _STM32_PIN(PORTD, 3) // EXP1-7 -#define LCD_PINS_D7 _STM32_PIN(PORTD, 4) // EXP1-8 -#define BTN_EN1 _STM32_PIN(PORTD, 6) // EXP2-5 -#define BTN_EN2 _STM32_PIN(PORTD, 0) // EXP2-3 -#define BTN_ENC _STM32_PIN(PORTG, 11) // EXP1-2 +//#define SD_DETECT_PIN -1 //PB6) // EXP2-4 +#define BEEPER_PIN PG10 // EXP1-1 +#define LCD_PINS_RS PG9 // EXP1-4 +#define LCD_PINS_ENABLE PD7 // EXP1-3 +#define LCD_PINS_D4 PD1 // EXP1-5 +#define LCD_PINS_D5 PF0 // EXP1-6 +#define LCD_PINS_D6 PD3 // EXP1-7 +#define LCD_PINS_D7 PD4 // EXP1-8 +#define BTN_EN1 PD6 // EXP2-5 +#define BTN_EN2 PD0 // EXP2-3 +#define BTN_ENC PG11 // EXP1-2 diff --git a/Marlin/src/pins/pins_TRIGORILLA.h b/Marlin/src/pins/pins_TRIGORILLA_13.h similarity index 76% rename from Marlin/src/pins/pins_TRIGORILLA.h rename to Marlin/src/pins/pins_TRIGORILLA_13.h index 527c166c58fa..0907eaf28699 100644 --- a/Marlin/src/pins/pins_TRIGORILLA.h +++ b/Marlin/src/pins/pins_TRIGORILLA_13.h @@ -21,27 +21,20 @@ */ /** - * Arduino Mega with RAMPS v1.4 for Anycubic - * - * Defines RAMPS_D44_PIN 44 - * Defines FAN_PIN RAMPS_D44_PIN or -1 + * Arduino Mega with RAMPS v1.3 for Anycubic */ #ifndef BOARD_NAME - #define BOARD_NAME "Anycubic RAMPS 1.4" + #define BOARD_NAME "Anycubic RAMPS 1.3" #endif #define IS_RAMPS_EFB +#define RAMPS_D9_PIN 44 +#define FAN2_PIN 9 +#define ORIG_E0_AUTO_FAN_PIN 9 #include "pins_RAMPS_13.h" -#undef FAN_PIN -#define RAMPS_D44_PIN 44 -#define FAN_PIN RAMPS_D44_PIN - -#undef ORIG_E0_AUTO_FAN_PIN -#define ORIG_E0_AUTO_FAN_PIN RAMPS_D44_PIN - #undef E1_STEP_PIN #undef E1_DIR_PIN #undef E1_ENABLE_PIN diff --git a/Marlin/src/HAL/HAL_pinsDebug.h b/Marlin/src/pins/pins_TRIGORILLA_14.h similarity index 69% rename from Marlin/src/HAL/HAL_pinsDebug.h rename to Marlin/src/pins/pins_TRIGORILLA_14.h index 17c2c8eeb364..70b0a930a91a 100644 --- a/Marlin/src/HAL/HAL_pinsDebug.h +++ b/Marlin/src/pins/pins_TRIGORILLA_14.h @@ -20,19 +20,17 @@ * */ -#ifndef HAL_PINSDEBUG_H -#define HAL_PINSDEBUG_H +/** + * Arduino Mega with RAMPS v1.4 for Anycubic + */ -#ifdef __AVR__ - #include "HAL_AVR/pinsDebug_AVR_8_bit.h" -#elif defined(ARDUINO_ARCH_SAM) - #include "HAL_DUE/HAL_pinsDebug_Due.h" -#elif IS_32BIT_TEENSY - #include "HAL_TEENSY35_36/HAL_pinsDebug_Teensy.h" -#elif defined(TARGET_LPC1768) - #include "HAL_LPC1768/pinsDebug_LPC1768.h" -#else - #error Unsupported Platform! +#ifndef BOARD_NAME + #define BOARD_NAME "Anycubic RAMPS 1.4" #endif -#endif // HAL_PINSDEBUG_H +#define IS_RAMPS_EFB + +#define FAN2_PIN 44 +#define ORIG_E0_AUTO_FAN_PIN 44 + +#include "pins_RAMPS.h" diff --git a/Marlin/src/pins/pins_ULTIMAIN_2.h b/Marlin/src/pins/pins_ULTIMAIN_2.h index c52b20c3e3de..ea7a8325c089 100644 --- a/Marlin/src/pins/pins_ULTIMAIN_2.h +++ b/Marlin/src/pins/pins_ULTIMAIN_2.h @@ -93,7 +93,9 @@ #define HEATER_1_PIN 3 #define HEATER_BED_PIN 4 -#define FAN_PIN 7 +#ifndef FAN_PIN + #define FAN_PIN 7 +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_ULTIMAKER.h b/Marlin/src/pins/pins_ULTIMAKER.h index 0d1a65431f9c..4b6488aedeee 100644 --- a/Marlin/src/pins/pins_ULTIMAKER.h +++ b/Marlin/src/pins/pins_ULTIMAKER.h @@ -99,7 +99,9 @@ #define HEATER_1_PIN 3 #define HEATER_BED_PIN 4 -#define FAN_PIN 7 +#ifndef FAN_PIN + #define FAN_PIN 7 +#endif // // Misc. Functions diff --git a/Marlin/src/pins/pins_ULTRATRONICS_PRO.h b/Marlin/src/pins/pins_ULTRATRONICS_PRO.h index 561b447f5e84..42bdd7f64561 100644 --- a/Marlin/src/pins/pins_ULTRATRONICS_PRO.h +++ b/Marlin/src/pins/pins_ULTRATRONICS_PRO.h @@ -100,7 +100,9 @@ #define HEATER_3_PIN 9 #define HEATER_BED_PIN 2 -#define FAN_PIN 6 +#ifndef FAN_PIN + #define FAN_PIN 6 +#endif #define FAN2_PIN 5 // diff --git a/Marlin/src/pins/pins_ZRIB_V20.h b/Marlin/src/pins/pins_ZRIB_V20.h index 1437c71840c4..94a083dd4021 100644 --- a/Marlin/src/pins/pins_ZRIB_V20.h +++ b/Marlin/src/pins/pins_ZRIB_V20.h @@ -36,4 +36,4 @@ #define FILWIDTH_PIN 11 // Analog Input #endif -#include "pins_MKS_13.h" +#include "pins_MKS_GEN_13.h" diff --git a/Marlin/src/sd/Sd2Card.cpp b/Marlin/src/sd/Sd2Card.cpp index 174a8ffd4ad9..b52e4fa16db4 100644 --- a/Marlin/src/sd/Sd2Card.cpp +++ b/Marlin/src/sd/Sd2Card.cpp @@ -45,22 +45,22 @@ #ifdef FAST_CRC static const uint8_t crctab7[] PROGMEM = { - 0x00,0x09,0x12,0x1b,0x24,0x2d,0x36,0x3f,0x48,0x41,0x5a,0x53,0x6c,0x65,0x7e,0x77, - 0x19,0x10,0x0b,0x02,0x3d,0x34,0x2f,0x26,0x51,0x58,0x43,0x4a,0x75,0x7c,0x67,0x6e, - 0x32,0x3b,0x20,0x29,0x16,0x1f,0x04,0x0d,0x7a,0x73,0x68,0x61,0x5e,0x57,0x4c,0x45, - 0x2b,0x22,0x39,0x30,0x0f,0x06,0x1d,0x14,0x63,0x6a,0x71,0x78,0x47,0x4e,0x55,0x5c, - 0x64,0x6d,0x76,0x7f,0x40,0x49,0x52,0x5b,0x2c,0x25,0x3e,0x37,0x08,0x01,0x1a,0x13, - 0x7d,0x74,0x6f,0x66,0x59,0x50,0x4b,0x42,0x35,0x3c,0x27,0x2e,0x11,0x18,0x03,0x0a, - 0x56,0x5f,0x44,0x4d,0x72,0x7b,0x60,0x69,0x1e,0x17,0x0c,0x05,0x3a,0x33,0x28,0x21, - 0x4f,0x46,0x5d,0x54,0x6b,0x62,0x79,0x70,0x07,0x0e,0x15,0x1c,0x23,0x2a,0x31,0x38, - 0x41,0x48,0x53,0x5a,0x65,0x6c,0x77,0x7e,0x09,0x00,0x1b,0x12,0x2d,0x24,0x3f,0x36, - 0x58,0x51,0x4a,0x43,0x7c,0x75,0x6e,0x67,0x10,0x19,0x02,0x0b,0x34,0x3d,0x26,0x2f, - 0x73,0x7a,0x61,0x68,0x57,0x5e,0x45,0x4c,0x3b,0x32,0x29,0x20,0x1f,0x16,0x0d,0x04, - 0x6a,0x63,0x78,0x71,0x4e,0x47,0x5c,0x55,0x22,0x2b,0x30,0x39,0x06,0x0f,0x14,0x1d, - 0x25,0x2c,0x37,0x3e,0x01,0x08,0x13,0x1a,0x6d,0x64,0x7f,0x76,0x49,0x40,0x5b,0x52, - 0x3c,0x35,0x2e,0x27,0x18,0x11,0x0a,0x03,0x74,0x7d,0x66,0x6f,0x50,0x59,0x42,0x4b, - 0x17,0x1e,0x05,0x0c,0x33,0x3a,0x21,0x28,0x5f,0x56,0x4d,0x44,0x7b,0x72,0x69,0x60, - 0x0e,0x07,0x1c,0x15,0x2a,0x23,0x38,0x31,0x46,0x4f,0x54,0x5d,0x62,0x6b,0x70,0x79 + 0x00,0x09,0x12,0x1B,0x24,0x2D,0x36,0x3F,0x48,0x41,0x5A,0x53,0x6C,0x65,0x7E,0x77, + 0x19,0x10,0x0B,0x02,0x3D,0x34,0x2F,0x26,0x51,0x58,0x43,0x4A,0x75,0x7C,0x67,0x6E, + 0x32,0x3B,0x20,0x29,0x16,0x1F,0x04,0x0D,0x7A,0x73,0x68,0x61,0x5E,0x57,0x4C,0x45, + 0x2B,0x22,0x39,0x30,0x0F,0x06,0x1D,0x14,0x63,0x6A,0x71,0x78,0x47,0x4E,0x55,0x5C, + 0x64,0x6D,0x76,0x7F,0x40,0x49,0x52,0x5B,0x2C,0x25,0x3E,0x37,0x08,0x01,0x1A,0x13, + 0x7D,0x74,0x6F,0x66,0x59,0x50,0x4B,0x42,0x35,0x3C,0x27,0x2E,0x11,0x18,0x03,0x0A, + 0x56,0x5F,0x44,0x4D,0x72,0x7B,0x60,0x69,0x1E,0x17,0x0C,0x05,0x3A,0x33,0x28,0x21, + 0x4F,0x46,0x5D,0x54,0x6B,0x62,0x79,0x70,0x07,0x0E,0x15,0x1C,0x23,0x2A,0x31,0x38, + 0x41,0x48,0x53,0x5A,0x65,0x6C,0x77,0x7E,0x09,0x00,0x1B,0x12,0x2D,0x24,0x3F,0x36, + 0x58,0x51,0x4A,0x43,0x7C,0x75,0x6E,0x67,0x10,0x19,0x02,0x0B,0x34,0x3D,0x26,0x2F, + 0x73,0x7A,0x61,0x68,0x57,0x5E,0x45,0x4C,0x3B,0x32,0x29,0x20,0x1F,0x16,0x0D,0x04, + 0x6A,0x63,0x78,0x71,0x4E,0x47,0x5C,0x55,0x22,0x2B,0x30,0x39,0x06,0x0F,0x14,0x1D, + 0x25,0x2C,0x37,0x3E,0x01,0x08,0x13,0x1A,0x6D,0x64,0x7F,0x76,0x49,0x40,0x5B,0x52, + 0x3C,0x35,0x2E,0x27,0x18,0x11,0x0A,0x03,0x74,0x7D,0x66,0x6F,0x50,0x59,0x42,0x4B, + 0x17,0x1E,0x05,0x0C,0x33,0x3A,0x21,0x28,0x5F,0x56,0x4D,0x44,0x7B,0x72,0x69,0x60, + 0x0E,0x07,0x1C,0x15,0x2A,0x23,0x38,0x31,0x46,0x4F,0x54,0x5D,0x62,0x6B,0x70,0x79 }; static uint8_t CRC7(const uint8_t* data, uint8_t n) { @@ -79,9 +79,9 @@ d ^= crc << 1; if (d & 0x80) d ^= 9; crc = d ^ (crc & 0x78) ^ (crc << 4) ^ ((crc >> 3) & 15); - crc &= 0x7f; + crc &= 0x7F; } - crc = (crc << 1) ^ (crc << 4) ^ (crc & 0x70) ^ ((crc >> 3) & 0x0f); + crc = (crc << 1) ^ (crc << 4) ^ (crc & 0x70) ^ ((crc >> 3) & 0x0F); return crc | 1; } #endif @@ -438,9 +438,9 @@ bool Sd2Card::readData(uint8_t* dst) { for (size_t i = 0; i < n; i++) { crc = (uint8_t)(crc >> 8) | (crc << 8); crc ^= data[i]; - crc ^= (uint8_t)(crc & 0xff) >> 4; + crc ^= (uint8_t)(crc & 0xFF) >> 4; crc ^= crc << 12; - crc ^= (crc & 0xff) << 5; + crc ^= (crc & 0xFF) << 5; } return crc; } diff --git a/Marlin/src/sd/SdBaseFile.cpp b/Marlin/src/sd/SdBaseFile.cpp index 1cf1e0ad6da2..63e0740f62f3 100644 --- a/Marlin/src/sd/SdBaseFile.cpp +++ b/Marlin/src/sd/SdBaseFile.cpp @@ -1055,7 +1055,7 @@ int8_t SdBaseFile::readDir(dir_t* dir, char* longFilename) { if (!isDir() || (0x1F & curPosition_)) return -1; // If we have a longFilename buffer, mark it as invalid. - // If long filename is found it will be filled automatically. + // If a long filename is found it will be filled automatically. if (longFilename) longFilename[0] = '\0'; while (1) { @@ -1725,8 +1725,4 @@ int16_t SdBaseFile::write(const void* buf, uint16_t nbyte) { return -1; } -#if ALLOW_DEPRECATED_FUNCTIONS - void (*SdBaseFile::oldDateTime_)(uint16_t &date, uint16_t &time) = 0; -#endif - #endif // SDSUPPORT diff --git a/Marlin/src/sd/SdBaseFile.h b/Marlin/src/sd/SdBaseFile.h index 4a0397ccb5fa..d8139d20c071 100644 --- a/Marlin/src/sd/SdBaseFile.h +++ b/Marlin/src/sd/SdBaseFile.h @@ -386,119 +386,6 @@ class SdBaseFile { bool open(SdBaseFile* dirFile, const uint8_t dname[11], uint8_t oflag); bool openCachedEntry(uint8_t cacheIndex, uint8_t oflags); dir_t* readDirCache(); - -// Deprecated functions -#if ALLOW_DEPRECATED_FUNCTIONS - public: - - /** - * \deprecated Use: - * bool contiguousRange(uint32_t* bgnBlock, uint32_t* endBlock); - * \param[out] bgnBlock the first block address for the file. - * \param[out] endBlock the last block address for the file. - * \return true for success or false for failure. - */ - bool contiguousRange(uint32_t& bgnBlock, uint32_t& endBlock) { - return contiguousRange(&bgnBlock, &endBlock); - } - - /** - * \deprecated Use: - * bool createContiguous(SdBaseFile* dirFile, const char* path, uint32_t size) - * \param[in] dirFile The directory where the file will be created. - * \param[in] path A path with a valid DOS 8.3 file name. - * \param[in] size The desired file size. - * \return true for success or false for failure. - */ - bool createContiguous(SdBaseFile& dirFile, const char* path, uint32_t size) { - return createContiguous(&dirFile, path, size); - } - - /** - * \deprecated Use: - * static void dateTimeCallback( - * void (*dateTime)(uint16_t* date, uint16_t* time)); - * \param[in] dateTime The user's call back function. - */ - static void dateTimeCallback( - void (*dateTime)(uint16_t &date, uint16_t &time)) { - oldDateTime_ = dateTime; - dateTime_ = dateTime ? oldToNew : 0; - } - - /** - * \deprecated Use: - * bool open(SdBaseFile* dirFile, const char* path, uint8_t oflag); - * \param[in] dirFile An open SdFat instance for the directory containing the - * file to be opened. - * \param[in] path A path with a valid 8.3 DOS name for the file. - * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive - * OR of flags O_READ, O_WRITE, O_TRUNC, and O_SYNC. - * \return true for success or false for failure. - */ - bool open(SdBaseFile& dirFile, const char* path, uint8_t oflag) { - return open(&dirFile, path, oflag); - } - - /** - * \deprecated Do not use in new apps - * \param[in] dirFile An open SdFat instance for the directory containing the - * file to be opened. - * \param[in] path A path with a valid 8.3 DOS name for a file to be opened. - * \return true for success or false for failure. - */ - bool open(SdBaseFile& dirFile, const char* path) { - return open(dirFile, path, O_RDWR); - } - - /** - * \deprecated Use: - * bool open(SdBaseFile* dirFile, uint16_t index, uint8_t oflag); - * \param[in] dirFile An open SdFat instance for the directory. - * \param[in] index The \a index of the directory entry for the file to be - * opened. The value for \a index is (directory file position)/32. - * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive - * OR of flags O_READ, O_WRITE, O_TRUNC, and O_SYNC. - * \return true for success or false for failure. - */ - bool open(SdBaseFile& dirFile, uint16_t index, uint8_t oflag) { - return open(&dirFile, index, oflag); - } - - /** - * \deprecated Use: bool openRoot(SdVolume* vol); - * \param[in] vol The FAT volume containing the root directory to be opened. - * \return true for success or false for failure. - */ - bool openRoot(SdVolume& vol) { return openRoot(&vol); } - - /** - * \deprecated Use: int8_t readDir(dir_t* dir); - * \param[out] dir The dir_t struct that will receive the data. - * \return bytes read for success zero for eof or -1 for failure. - */ - int8_t readDir(dir_t& dir, char* longFilename) { - return readDir(&dir, longFilename); - } - - /** - * \deprecated Use: - * static uint8_t remove(SdBaseFile* dirFile, const char* path); - * \param[in] dirFile The directory that contains the file. - * \param[in] path The name of the file to be removed. - * \return true for success or false for failure. - */ - static bool remove(SdBaseFile& dirFile, const char* path) { return remove(&dirFile, path); } - - private: - static void (*oldDateTime_)(uint16_t &date, uint16_t &time); - static void oldToNew(uint16_t * const date, uint16_t * const time) { - uint16_t d, t; - oldDateTime_(d, t); - *date = d; - *time = t; - } -#endif // ALLOW_DEPRECATED_FUNCTIONS }; #endif // _SDBASEFILE_H_ diff --git a/Marlin/src/sd/SdFatConfig.h b/Marlin/src/sd/SdFatConfig.h index 5cedddb06d5a..d2c769a014fb 100644 --- a/Marlin/src/sd/SdFatConfig.h +++ b/Marlin/src/sd/SdFatConfig.h @@ -62,11 +62,6 @@ */ #define ENDL_CALLS_FLUSH 0 -/** - * Allow use of deprecated functions if ALLOW_DEPRECATED_FUNCTIONS is nonzero - */ -#define ALLOW_DEPRECATED_FUNCTIONS 1 - /** * Allow FAT12 volumes if FAT12_SUPPORT is nonzero. * FAT12 has not been well tested. diff --git a/Marlin/src/sd/SdVolume.h b/Marlin/src/sd/SdVolume.h index 9bb1c7db5753..d67d98f8bee5 100644 --- a/Marlin/src/sd/SdVolume.h +++ b/Marlin/src/sd/SdVolume.h @@ -190,24 +190,6 @@ class SdVolume { } bool readBlock(uint32_t block, uint8_t* dst) { return sdCard_->readBlock(block, dst); } bool writeBlock(uint32_t block, const uint8_t* dst) { return sdCard_->writeBlock(block, dst); } - - // Deprecated functions - #if ALLOW_DEPRECATED_FUNCTIONS - public: - /** - * \deprecated Use: bool SdVolume::init(Sd2Card* dev); - * \param[in] dev The SD card where the volume is located. - * \return true for success or false for failure. - */ - bool init(Sd2Card& dev) { return init(&dev); } - /** - * \deprecated Use: bool SdVolume::init(Sd2Card* dev, uint8_t vol); - * \param[in] dev The SD card where the volume is located. - * \param[in] part The partition to be used. - * \return true for success or false for failure. - */ - bool init(Sd2Card& dev, uint8_t part) { return init(&dev, part); } - #endif // ALLOW_DEPRECATED_FUNCTIONS }; #endif // _SDVOLUME_H_ diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp index bc9f6212d341..9ba018a2cf8f 100644 --- a/Marlin/src/sd/cardreader.cpp +++ b/Marlin/src/sd/cardreader.cpp @@ -28,19 +28,21 @@ #include "../Marlin.h" #include "../lcd/ultralcd.h" -#include "../module/stepper.h" +#include "../module/planner.h" #include "../module/printcounter.h" #include "../core/language.h" #include "../gcode/queue.h" +#if ENABLED(POWER_LOSS_RECOVERY) + #include "../feature/power_loss_recovery.h" +#endif + #if ENABLED(ADVANCED_PAUSE_FEATURE) #include "../feature/pause.h" #endif #include -#define LONGEST_FILENAME (longFilename[0] ? longFilename : filename) - CardReader::CardReader() { #if ENABLED(SDCARD_SORT_ALPHA) sort_count = 0; @@ -58,15 +60,13 @@ CardReader::CardReader() { workDirDepth = 0; ZERO(workDirParents); - autostart_stilltocheck = true; //the SD start is delayed, because otherwise the serial cannot answer fast enough to make contact with the host software. - autostart_index = 0; + // Disable autostart until card is initialized + autostart_index = -1; //power to SD reader #if SDPOWER > -1 OUT_WRITE(SDPOWER, HIGH); - #endif // SDPOWER - - next_autostart_ms = millis() + 5000; + #endif } char *createFilename(char *buffer, const dir_t &p) { //buffer > 12characters @@ -98,25 +98,25 @@ void CardReader::lsDive(const char *prepend, SdFile parent, const char * const m uint8_t cnt = 0; // Read the next entry from a directory - while (parent.readDir(p, longFilename) > 0) { + while (parent.readDir(&p, longFilename) > 0) { // If the entry is a directory and the action is LS_SerialPrint if (DIR_IS_SUBDIR(&p) && lsAction != LS_Count && lsAction != LS_GetFilename) { // Get the short name for the item, which we know is a folder - char lfilename[FILENAME_LENGTH]; - createFilename(lfilename, p); + char dosFilename[FILENAME_LENGTH]; + createFilename(dosFilename, p); // Allocate enough stack space for the full path to a folder, trailing slash, and nul - bool prepend_is_empty = (prepend[0] == '\0'); - int len = (prepend_is_empty ? 1 : strlen(prepend)) + strlen(lfilename) + 1 + 1; + const bool prepend_is_empty = (!prepend || prepend[0] == '\0'); + const int len = (prepend_is_empty ? 1 : strlen(prepend)) + strlen(dosFilename) + 1 + 1; char path[len]; // Append the FOLDERNAME12/ to the passed string. // It contains the full path to the "parent" argument. // We now have the full path to the item in this folder. strcpy(path, prepend_is_empty ? "/" : prepend); // root slash if prepend is empty - strcat(path, lfilename); // FILENAME_LENGTH-1 characters maximum + strcat(path, dosFilename); // FILENAME_LENGTH-1 characters maximum strcat(path, "/"); // 1 character // Serial.print(path); @@ -124,11 +124,11 @@ void CardReader::lsDive(const char *prepend, SdFile parent, const char * const m // Get a new directory object using the full path // and dive recursively into it. SdFile dir; - if (!dir.open(parent, lfilename, O_READ)) { + if (!dir.open(&parent, dosFilename, O_READ)) { if (lsAction == LS_SerialPrint) { SERIAL_ECHO_START_P(port); SERIAL_ECHOPGM_P(port, MSG_SD_CANT_OPEN_SUBDIR); - SERIAL_ECHOLN_P(port, lfilename); + SERIAL_ECHOLN_P(port, dosFilename); } } lsDive(path, dir @@ -244,7 +244,7 @@ void CardReader::ls( // Open the sub-item as the new dive parent SdFile dir; - if (!dir.open(diveDir, segment, O_READ)) { + if (!dir.open(&diveDir, segment, O_READ)) { SERIAL_EOL_P(port); SERIAL_ECHO_START_P(port); SERIAL_ECHOPGM_P(port, MSG_SD_CANT_OPEN_SUBDIR); @@ -271,11 +271,11 @@ void CardReader::printFilename( #endif ) { if (file.isOpen()) { - char lfilename[FILENAME_LENGTH]; - file.getFilename(lfilename); - SERIAL_ECHO_P(port, lfilename); + char dosFilename[FILENAME_LENGTH]; + file.getFilename(dosFilename); + SERIAL_ECHO_P(port, dosFilename); #if ENABLED(LONG_FILENAME_HOST_SUPPORT) - getfilename(0, lfilename); + getfilename(0, dosFilename); if (longFilename[0]) { SERIAL_ECHO_P(port, ' '); SERIAL_ECHO_P(port, longFilename); @@ -296,16 +296,16 @@ void CardReader::initsd() { #define SPI_SPEED SPI_FULL_SPEED #endif - if (!card.init(SPI_SPEED, SDSS) + if (!sd2card.init(SPI_SPEED, SDSS) #if defined(LCD_SDSS) && (LCD_SDSS != SDSS) - && !card.init(SPI_SPEED, LCD_SDSS) + && !sd2card.init(SPI_SPEED, LCD_SDSS) #endif ) { - //if (!card.init(SPI_HALF_SPEED,SDSS)) + //if (!sd2card.init(SPI_HALF_SPEED,SDSS)) SERIAL_ECHO_START(); SERIAL_ECHOLNPGM(MSG_SD_INIT_FAIL); } - else if (!volume.init(&card)) { + else if (!volume.init(&sd2card)) { SERIAL_ERROR_START(); SERIAL_ERRORLNPGM(MSG_SD_VOL_INIT_FAIL); } @@ -321,17 +321,6 @@ void CardReader::initsd() { setroot(); } -void CardReader::setroot() { - /*if (!workDir.openRoot(&volume)) { - SERIAL_ECHOLNPGM(MSG_SD_WORKDIR_FAIL); - }*/ - workDir = root; - curDir = &workDir; - #if ENABLED(SDCARD_SORT_ALPHA) - presort(); - #endif -} - void CardReader::release() { sdprinting = false; cardOK = false; @@ -369,9 +358,9 @@ void CardReader::stopSDPrint( #endif } -void CardReader::openLogFile(char* name) { +void CardReader::openLogFile(char * const path) { logging = true; - openFile(name, false); + openFile(path, false); } void appendAtom(SdFile &file, char *& dst, uint8_t &cnt) { @@ -394,7 +383,7 @@ void CardReader::getAbsFilename(char *t) { *t = '\0'; } -void CardReader::openFile(char* name, const bool read, const bool subcall/*=false*/) { +void CardReader::openFile(char * const path, const bool read, const bool subcall/*=false*/) { if (!cardOK) return; @@ -414,7 +403,7 @@ void CardReader::openFile(char* name, const bool read, const bool subcall/*=fals filespos[file_subcall_ctr] = sdpos; SERIAL_ECHO_START(); - SERIAL_ECHOPAIR("SUBROUTINE CALL target:\"", name); + SERIAL_ECHOPAIR("SUBROUTINE CALL target:\"", path); SERIAL_ECHOPAIR("\" parent:\"", proc_filenames[file_subcall_ctr]); SERIAL_ECHOLNPAIR("\" pos", sdpos); file_subcall_ctr++; @@ -435,49 +424,14 @@ void CardReader::openFile(char* name, const bool read, const bool subcall/*=fals SERIAL_ECHO_START(); SERIAL_ECHOPGM("Now "); serialprintPGM(doing == 1 ? PSTR("doing") : PSTR("fresh")); - SERIAL_ECHOLNPAIR(" file: ", name); + SERIAL_ECHOLNPAIR(" file: ", path); } stopSDPrint(); - SdFile myDir; - curDir = &root; - char *fname = name; - char *dirname_start, *dirname_end; - - if (name[0] == '/') { - dirname_start = &name[1]; - while (dirname_start != NULL) { - dirname_end = strchr(dirname_start, '/'); - //SERIAL_ECHOPGM("start:");SERIAL_ECHOLN((int)(dirname_start - name)); - //SERIAL_ECHOPGM("end :");SERIAL_ECHOLN((int)(dirname_end - name)); - if (dirname_end != NULL && dirname_end > dirname_start) { - char subdirname[FILENAME_LENGTH]; - strncpy(subdirname, dirname_start, dirname_end - dirname_start); - subdirname[dirname_end - dirname_start] = '\0'; - if (!myDir.open(curDir, subdirname, O_READ)) { - SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL); - SERIAL_PROTOCOL(subdirname); - SERIAL_PROTOCOLCHAR('.'); - return; - } - else { - //SERIAL_ECHOLNPGM("dive ok"); - } - - curDir = &myDir; - dirname_start = dirname_end + 1; - } - else { // the remainder after all /fsa/fdsa/ is the filename - fname = dirname_start; - //SERIAL_ECHOLNPGM("remainder"); - //SERIAL_ECHOLN(fname); - break; - } - } - } - else - curDir = &workDir; // Relative paths start in current directory + SdFile *curDir; + const char * const fname = diveToFile(curDir, path, false); + if (!fname) return; if (read) { if (file.open(curDir, fname, O_READ)) { @@ -507,7 +461,7 @@ void CardReader::openFile(char* name, const bool read, const bool subcall/*=fals } else { saving = true; - SERIAL_PROTOCOLLNPAIR(MSG_SD_WRITE_TO_FILE, name); + SERIAL_PROTOCOLLNPAIR(MSG_SD_WRITE_TO_FILE, path); lcd_setstatus(fname); } } @@ -518,40 +472,9 @@ void CardReader::removeFile(const char * const name) { stopSDPrint(); - SdFile myDir; - curDir = &root; - const char *fname = name; - - char *dirname_start, *dirname_end; - if (name[0] == '/') { - dirname_start = strchr(name, '/') + 1; - while (dirname_start != NULL) { - dirname_end = strchr(dirname_start, '/'); - //SERIAL_ECHOPGM("start:");SERIAL_ECHOLN((int)(dirname_start - name)); - //SERIAL_ECHOPGM("end :");SERIAL_ECHOLN((int)(dirname_end - name)); - if (dirname_end != NULL && dirname_end > dirname_start) { - char subdirname[FILENAME_LENGTH]; - strncpy(subdirname, dirname_start, dirname_end - dirname_start); - subdirname[dirname_end - dirname_start] = 0; - SERIAL_ECHOLN(subdirname); - if (!myDir.open(curDir, subdirname, O_READ)) { - SERIAL_PROTOCOLPAIR(MSG_SD_OPEN_FILE_FAIL, subdirname); - SERIAL_PROTOCOLCHAR('.'); - SERIAL_EOL(); - return; - } - - curDir = &myDir; - dirname_start = dirname_end + 1; - } - else { - fname = dirname_start; - break; - } - } - } - else // Relative paths are rooted in the current directory - curDir = &workDir; + SdFile *curDir; + const char * const fname = diveToFile(curDir, name, false); + if (!fname) return; if (file.remove(curDir, fname)) { SERIAL_PROTOCOLPGM("File deleted:"); @@ -603,40 +526,46 @@ void CardReader::write_command(char *buf) { } } -void CardReader::checkautostart(bool force) { - if (!force && (!autostart_stilltocheck || PENDING(millis(), next_autostart_ms))) - return; - - autostart_stilltocheck = false; - - if (!cardOK) { - initsd(); - if (!cardOK) return; // fail - } +// +// Run the next autostart file. Called: +// - On boot after successful card init +// - After finishing the previous autostart file +// - From the LCD command to run the autostart file +// - char autoname[10]; - sprintf_P(autoname, PSTR("auto%i.g"), autostart_index); - for (int8_t i = 0; i < (int8_t)strlen(autoname); i++) autoname[i] = tolower(autoname[i]); +void CardReader::checkautostart() { - dir_t p; + if (autostart_index < 0 || sdprinting) return; - root.rewind(); + if (!cardOK) initsd(); - bool found = false; - while (root.readDir(p, NULL) > 0) { - for (int8_t i = (int8_t)strlen((char*)p.name); i--;) p.name[i] = tolower(p.name[i]); - if (p.name[9] != '~' && strncmp((char*)p.name, autoname, 5) == 0) { - openAndPrintFile(autoname); - found = true; + if (cardOK + #if ENABLED(POWER_LOSS_RECOVERY) + && !jobRecoverFileExists() // Don't run auto#.g when a resume file exists + #endif + ) { + char autoname[10]; + sprintf_P(autoname, PSTR("auto%i.g"), int(autostart_index)); + dir_t p; + root.rewind(); + while (root.readDir(&p, NULL) > 0) { + for (int8_t i = (int8_t)strlen((char*)p.name); i--;) p.name[i] = tolower(p.name[i]); + if (p.name[9] != '~' && strncmp((char*)p.name, autoname, 5) == 0) { + openAndPrintFile(autoname); + autostart_index++; + return; + } } } - if (!found) - autostart_index = -1; - else - autostart_index++; + autostart_index = -1; } -void CardReader::closefile(bool store_location) { +void CardReader::beginautostart() { + autostart_index = 0; + setroot(); +} + +void CardReader::closefile(const bool store_location) { file.sync(); file.close(); saving = logging = false; @@ -649,6 +578,7 @@ void CardReader::closefile(bool store_location) { /** * Get the name of a file in the current directory by index + * with optional name to match. */ void CardReader::getfilename(uint16_t nr, const char * const match/*=NULL*/) { #if ENABLED(SDSORT_CACHE_NAMES) @@ -665,35 +595,59 @@ void CardReader::getfilename(uint16_t nr, const char * const match/*=NULL*/) { return; } #endif // SDSORT_CACHE_NAMES - curDir = &workDir; lsAction = LS_GetFilename; nrFile_index = nr; - curDir->rewind(); - lsDive(NULL, *curDir, match); + workDir.rewind(); + lsDive(NULL, workDir, match); } uint16_t CardReader::getnrfilenames() { - curDir = &workDir; lsAction = LS_Count; nrFiles = 0; - curDir->rewind(); - lsDive(NULL, *curDir); + workDir.rewind(); + lsDive(NULL, workDir); //SERIAL_ECHOLN(nrFiles); return nrFiles; } +/** + * Dive to the given file path, with optional echo. + * On exit set curDir and return the name part of the path. + * A NULL result indicates an unrecoverable error. + */ +const char* CardReader::diveToFile(SdFile*& curDir, const char * const path, const bool echo) { + SdFile myDir; + if (path[0] != '/') { curDir = &workDir; return path; } + + curDir = &root; + const char *dirname_start = &path[1]; + while (dirname_start) { + char * const dirname_end = strchr(dirname_start, '/'); + if (dirname_end <= dirname_start) break; + const uint8_t len = dirname_end - dirname_start; + char dosSubdirname[len + 1]; + strncpy(dosSubdirname, dirname_start, len); + dosSubdirname[len] = 0; + + if (echo) SERIAL_ECHOLN(dosSubdirname); + + if (!myDir.open(curDir, dosSubdirname, O_READ)) { + SERIAL_PROTOCOLPAIR(MSG_SD_OPEN_FILE_FAIL, dosSubdirname); + SERIAL_PROTOCOLCHAR('.'); + SERIAL_EOL(); + return NULL; + } + curDir = &myDir; + dirname_start = dirname_end + 1; + } + return dirname_start; +} + void CardReader::chdir(const char * relpath) { SdFile newDir; - SdFile *parent = &root; + SdFile *parent = workDir.isOpen() ? &workDir : &root; - if (workDir.isOpen()) parent = &workDir; - - if (!newDir.open(*parent, relpath, O_READ)) { - SERIAL_ECHO_START(); - SERIAL_ECHOPGM(MSG_SD_CANT_ENTER_SUBDIR); - SERIAL_ECHOLN(relpath); - } - else { + if (newDir.open(parent, relpath, O_READ)) { workDir = newDir; if (workDirDepth < MAX_DIR_DEPTH) workDirParents[workDirDepth++] = workDir; @@ -701,6 +655,11 @@ void CardReader::chdir(const char * relpath) { presort(); #endif } + else { + SERIAL_ECHO_START(); + SERIAL_ECHOPGM(MSG_SD_CANT_ENTER_SUBDIR); + SERIAL_ECHOLN(relpath); + } } int8_t CardReader::updir() { @@ -713,6 +672,16 @@ int8_t CardReader::updir() { return workDirDepth; } +void CardReader::setroot() { + /*if (!workDir.openRoot(&volume)) { + SERIAL_ECHOLNPGM(MSG_SD_WORKDIR_FAIL); + }*/ + workDir = root; + #if ENABLED(SDCARD_SORT_ALPHA) + presort(); + #endif +} + #if ENABLED(SDCARD_SORT_ALPHA) /** @@ -800,7 +769,7 @@ int8_t CardReader::updir() { getfilename(i); #if ENABLED(SDSORT_DYNAMIC_RAM) // Use dynamic method to copy long filename - sortnames[i] = strdup(LONGEST_FILENAME); + sortnames[i] = strdup(longest_filename()); #if ENABLED(SDSORT_CACHE_NAMES) // When caching also store the short name, since // we're replacing the getfilename() behavior. @@ -809,10 +778,10 @@ int8_t CardReader::updir() { #else // Copy filenames into the static array #if SORTED_LONGNAME_MAXLEN != LONG_FILENAME_LENGTH - strncpy(sortnames[i], LONGEST_FILENAME, SORTED_LONGNAME_MAXLEN); + strncpy(sortnames[i], longest_filename(), SORTED_LONGNAME_MAXLEN); sortnames[i][SORTED_LONGNAME_MAXLEN - 1] = '\0'; #else - strncpy(sortnames[i], LONGEST_FILENAME, SORTED_LONGNAME_MAXLEN); + strncpy(sortnames[i], longest_filename(), SORTED_LONGNAME_MAXLEN); #endif #if ENABLED(SDSORT_CACHE_NAMES) strcpy(sortshort[i], filename); @@ -860,12 +829,12 @@ int8_t CardReader::updir() { // throughout the loop. Slow if there are many. #if DISABLED(SDSORT_USES_RAM) getfilename(o1); - strcpy(name1, LONGEST_FILENAME); // save (or getfilename below will trounce it) + strcpy(name1, longest_filename()); // save (or getfilename below will trounce it) #if HAS_FOLDER_SORTING bool dir1 = filenameIsDir; #endif getfilename(o2); - char *name2 = LONGEST_FILENAME; // use the string in-place + char *name2 = longest_filename(); // use the string in-place #endif // !SDSORT_USES_RAM // Sort the current pair according to settings. @@ -903,7 +872,7 @@ int8_t CardReader::updir() { getfilename(0); #if ENABLED(SDSORT_DYNAMIC_RAM) sortnames = new char*[1]; - sortnames[0] = strdup(LONGEST_FILENAME); // malloc + sortnames[0] = strdup(longest_filename()); // malloc #if ENABLED(SDSORT_CACHE_NAMES) sortshort = new char*[1]; sortshort[0] = strdup(filename); // malloc @@ -911,10 +880,10 @@ int8_t CardReader::updir() { isDir = new uint8_t[1]; #else #if SORTED_LONGNAME_MAXLEN != LONG_FILENAME_LENGTH - strncpy(sortnames[0], LONGEST_FILENAME, SORTED_LONGNAME_MAXLEN); + strncpy(sortnames[0], longest_filename(), SORTED_LONGNAME_MAXLEN); sortnames[0][SORTED_LONGNAME_MAXLEN - 1] = '\0'; #else - strncpy(sortnames[0], LONGEST_FILENAME, SORTED_LONGNAME_MAXLEN); + strncpy(sortnames[0], longest_filename(), SORTED_LONGNAME_MAXLEN); #endif #if ENABLED(SDSORT_CACHE_NAMES) strcpy(sortshort[0], filename); @@ -958,7 +927,7 @@ uint16_t CardReader::get_num_Files() { } void CardReader::printingHasFinished() { - stepper.synchronize(); + planner.synchronize(); file.close(); if (file_subcall_ctr > 0) { // Heading up to a parent file that called current as a procedure. file_subcall_ctr--; @@ -968,8 +937,13 @@ void CardReader::printingHasFinished() { } else { sdprinting = false; + + #if ENABLED(POWER_LOSS_RECOVERY) + removeJobRecoveryFile(); + #endif + #if ENABLED(SD_FINISHED_STEPPERRELEASE) && defined(SD_FINISHED_RELEASECOMMAND) - stepper.cleaning_buffer_counter = 1; // The command will fire from the Stepper ISR + planner.finish_and_disable(); #endif print_job_timer.stop(); if (print_job_timer.duration() > 60) @@ -1006,4 +980,55 @@ void CardReader::printingHasFinished() { } #endif // AUTO_REPORT_SD_STATUS +#if ENABLED(POWER_LOSS_RECOVERY) + + char job_recovery_file_name[4] = "bin"; + + void CardReader::openJobRecoveryFile(const bool read) { + if (!cardOK) return; + if (jobRecoveryFile.isOpen()) return; + if (!jobRecoveryFile.open(&root, job_recovery_file_name, read ? O_READ : O_CREAT | O_WRITE | O_TRUNC | O_SYNC)) { + SERIAL_PROTOCOLPAIR(MSG_SD_OPEN_FILE_FAIL, job_recovery_file_name); + SERIAL_PROTOCOLCHAR('.'); + SERIAL_EOL(); + } + else if (!read) + SERIAL_PROTOCOLLNPAIR(MSG_SD_WRITE_TO_FILE, job_recovery_file_name); + } + + void CardReader::closeJobRecoveryFile() { jobRecoveryFile.close(); } + + bool CardReader::jobRecoverFileExists() { + const bool exists = jobRecoveryFile.open(&root, job_recovery_file_name, O_READ); + if (exists) jobRecoveryFile.close(); + return exists; + } + + int16_t CardReader::saveJobRecoveryInfo() { + jobRecoveryFile.seekSet(0); + const int16_t ret = jobRecoveryFile.write(&job_recovery_info, sizeof(job_recovery_info)); + #if ENABLED(DEBUG_POWER_LOSS_RECOVERY) + if (ret == -1) SERIAL_PROTOCOLLNPGM("Power-loss file write failed."); + #endif + return ret; + } + + int16_t CardReader::loadJobRecoveryInfo() { + return jobRecoveryFile.read(&job_recovery_info, sizeof(job_recovery_info)); + } + + void CardReader::removeJobRecoveryFile() { + job_recovery_info.valid_head = job_recovery_info.valid_foot = job_recovery_commands_count = 0; + if (jobRecoverFileExists()) { + closefile(); + removeFile(job_recovery_file_name); + #if ENABLED(DEBUG_POWER_LOSS_RECOVERY) + SERIAL_PROTOCOLPGM("Power-loss file delete"); + serialprintPGM(jobRecoverFileExists() ? PSTR(" failed.\n") : PSTR("d.\n")); + #endif + } + } + +#endif // POWER_LOSS_RECOVERY + #endif // SDSUPPORT diff --git a/Marlin/src/sd/cardreader.h b/Marlin/src/sd/cardreader.h index 66a23d47c516..8e29bd9a6f1e 100644 --- a/Marlin/src/sd/cardreader.h +++ b/Marlin/src/sd/cardreader.h @@ -39,16 +39,14 @@ class CardReader { void initsd(); void write_command(char *buf); - // Files auto[0-9].g on the sd card are performed in sequence. - // This is to delay autostart and hence the initialisation of - // the sd card to some seconds after the normal init, so the - // device is available soon after a reset. - - void checkautostart(bool x); - void openFile(char* name, const bool read, const bool subcall=false); - void openLogFile(char* name); + + void beginautostart(); + void checkautostart(); + + void openFile(char * const path, const bool read, const bool subcall=false); + void openLogFile(char * const path); void removeFile(const char * const name); - void closefile(bool store_location=false); + void closefile(const bool store_location=false); void release(); void openAndPrintFile(const char *name); void startFileprint(); @@ -91,6 +89,8 @@ class CardReader { int8_t updir(); void setroot(); + const char* diveToFile(SdFile*& curDir, const char * const path, const bool echo); + uint16_t get_num_Files(); #if ENABLED(SDCARD_SORT_ALPHA) @@ -103,15 +103,30 @@ class CardReader { #endif #endif + #if ENABLED(POWER_LOSS_RECOVERY) + void openJobRecoveryFile(const bool read); + void closeJobRecoveryFile(); + bool jobRecoverFileExists(); + int16_t saveJobRecoveryInfo(); + int16_t loadJobRecoveryInfo(); + void removeJobRecoveryFile(); + #endif + FORCE_INLINE void pauseSDPrint() { sdprinting = false; } FORCE_INLINE bool isFileOpen() { return file.isOpen(); } FORCE_INLINE bool eof() { return sdpos >= filesize; } FORCE_INLINE int16_t get() { sdpos = file.curPosition(); return (int16_t)file.read(); } - FORCE_INLINE void setIndex(long index) { sdpos = index; file.seekSet(index); } + FORCE_INLINE void setIndex(const uint32_t index) { sdpos = index; file.seekSet(index); } + FORCE_INLINE uint32_t getIndex() { return sdpos; } FORCE_INLINE uint8_t percentDone() { return (isFileOpen() && filesize) ? sdpos / ((filesize + 99) / 100) : 0; } FORCE_INLINE char* getWorkDirName() { workDir.getFilename(filename); return filename; } - Sd2Card& getSd2Card() { return card; } + #if defined(__STM32F1__) && ENABLED(EEPROM_SETTINGS) && DISABLED(FLASH_EEPROM_EMULATION) + FORCE_INLINE int16_t read(void* buf, uint16_t nbyte) { return file.isOpen() ? file.read(buf, nbyte) : -1; } + FORCE_INLINE int16_t write(void* buf, uint16_t nbyte) { return file.isOpen() ? file.write(buf, nbyte) : -1; } + #endif + + Sd2Card& getSd2Card() { return sd2card; } #if ENABLED(AUTO_REPORT_SD_STATUS) void auto_report_sd_status(void); @@ -129,12 +144,14 @@ class CardReader { } #endif + FORCE_INLINE char* longest_filename() { return longFilename[0] ? longFilename : filename; } + public: bool saving, logging, sdprinting, cardOK, filenameIsDir; char filename[FILENAME_LENGTH], longFilename[LONG_FILENAME_LENGTH]; - int autostart_index; + int8_t autostart_index; private: - SdFile root, *curDir, workDir, workDirParents[MAX_DIR_DEPTH]; + SdFile root, workDir, workDirParents[MAX_DIR_DEPTH]; uint8_t workDirDepth; // Sort files and folders alphabetically. @@ -187,10 +204,14 @@ class CardReader { #endif // SDCARD_SORT_ALPHA - Sd2Card card; + Sd2Card sd2card; SdVolume volume; SdFile file; + #if ENABLED(POWER_LOSS_RECOVERY) + SdFile jobRecoveryFile; + #endif + #define SD_PROCEDURE_DEPTH 1 #define MAXPATHNAMELENGTH (FILENAME_LENGTH*MAX_DIR_DEPTH + MAX_DIR_DEPTH + 1) uint8_t file_subcall_ctr; @@ -198,9 +219,6 @@ class CardReader { char proc_filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH]; uint32_t filesize, sdpos; - millis_t next_autostart_ms; - bool autostart_stilltocheck; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware. - LsAction lsAction; //stored for recursion. uint16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory. char* diveDirName; diff --git a/README.md b/README.md index 5fc12c3dd7d4..c1267a1ba688 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,19 @@ Please test this firmware and let us know if it misbehaves in any way. Volunteer __Not for production use. Use with caution!__ -Marlin 2.0 is bringing open source RepRap firmware to the next level with support of much faster 32-bit processor boards. +Marlin 2.0 takes this popular RepRap firmware to the next level with support for much faster 32-bit processor boards. This branch is for patches to the latest 2.0.x release version. Periodically this branch will form the basis for the next minor 2.0.x release. Download earlier versions of Marlin on the [Releases page](https://github.com/MarlinFirmware/Marlin/releases). +## Building Marlin 2.0 + +To build Marlin 2.0 you'll need [Arduino IDE 1.9](https://www.arduino.cc/en/main/software) or [PlatformIO](http://docs.platformio.org/en/latest/ide.html#platformio-ide). We've posted detailed instructions on how to [build Marlin 2.0 for ARM](http://marlinfw.org/docs/basics/install_arm.html). + ## Hardware Abstraction Layer (HAL) -Marlin 2.0 adds a new abstraction layer so that Marlin can build and run on 32-bit boards while still retaining the ability to build and run on 8-bit AVR. In this way, new features can be enhanced for more powerful platforms while still supporting AVR, whereas splitting up the code makes it hard to follow these changes and keep them in sync. +Marlin 2.0 adds a new abstraction layer so that Marlin can build and run on 32-bit boards while still retaining full 8-bit AVR compatibility. In this way, features can be enhanced for more powerful platforms while still supporting AVR, whereas splitting up the code would make it harder to maintain and keep everything in sync. ### Current HALs diff --git a/buildroot/bin/env_backup b/buildroot/bin/env_backup new file mode 100755 index 000000000000..b41a452a4c5f --- /dev/null +++ b/buildroot/bin/env_backup @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +if [ ! -z "$1" ]; then + cd $1 +fi + +if [ -d ".test" ]; then + printf "\033[0;31mEnvironment backup already exists!\033[0m\n" +else + mkdir .test + cp Marlin/Configuration.h .test/Configuration.h + cp Marlin/Configuration_adv.h .test/Configuration_adv.h + + if [ -f Marlin/_Bootscreen.h ]; then + cp Marlin/_Bootscreen.h .test/_Bootscreen.h + fi + + if [ -f Marlin/_Statusscreen.h ]; then + cp Marlin/_Statusscreen.h .test/_Statusscreen.h + fi + + cp -r Marlin/src/pins .test/pins + printf "\033[0;32mEnvironment Backup created\033[0m\n" +fi diff --git a/buildroot/bin/env_clean b/buildroot/bin/env_clean new file mode 100755 index 000000000000..50b22e92f7d5 --- /dev/null +++ b/buildroot/bin/env_clean @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +if [ -d ".pioenvs" ]; then + rm -r .pioenvs +fi + +if [ -d ".piolibdeps" ]; then + rm -r .piolibdeps +fi + +if [ -d ".piolib" ]; then + rm -r .piolib +fi + +if [ ! -z "$1" ]; then + if [ $1 = "--deep" ]; then + if [ -d "~/.platformio/packages" ]; then + rm -r ~/.platformio/packages/* + fi + + if [ -d "~/.platformio/platforms" ]; then + rm -r ~/.platformio/platforms/* + fi + + if [ -d "~/.platformio/.cache" ]; then + rm -r ~/.platformio/.cache/* + fi + fi +fi diff --git a/buildroot/bin/env_restore b/buildroot/bin/env_restore new file mode 100755 index 000000000000..22bef325d604 --- /dev/null +++ b/buildroot/bin/env_restore @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +if [ ! -z "$1" ]; then + cd $1 +fi + +if [ -d ".test" ]; then + cp .test/Configuration.h Marlin/Configuration.h + cp .test/Configuration_adv.h Marlin/Configuration_adv.h + rm .test/Configuration.h + rm .test/Configuration_adv.h + + if [ -f .test/_Bootscreen.h ]; then + cp .test/_Bootscreen.h Marlin/_Bootscreen.h + rm .test/_Bootscreen.h + fi + + if [ -f .test/_Statusscreen.h ]; then + cp .test/_Statusscreen.h Marlin/_Statusscreen.h + rm .test/_Statusscreen.h + fi + + cp -r .test/pins Marlin/src + rm -r .test/pins + + rmdir .test + printf "\033[0;32mEnvironment Restored\033[0m\n" +else + printf "\033[0;31mEnvironment Backup not available!\033[0m\n" +fi diff --git a/buildroot/bin/opt_disable b/buildroot/bin/opt_disable index 35ad1aad4a8a..c219f361703b 100755 --- a/buildroot/bin/opt_disable +++ b/buildroot/bin/opt_disable @@ -1,5 +1,7 @@ #!/usr/bin/env bash +SED=$(which gsed || which sed) + for opt in "$@" ; do - eval "sed -i 's/\([[:blank:]]*\)\(#define \b${opt}\b\)/\1\/\/\2/g' Marlin/Configuration.h" + eval "${SED} -i 's/\([[:blank:]]*\)\(#define \b${opt}\b\)/\1\/\/\2/g' Marlin/Configuration.h" done diff --git a/buildroot/bin/opt_disable_adv b/buildroot/bin/opt_disable_adv index 80d83183e534..bbb7ca5ae54c 100755 --- a/buildroot/bin/opt_disable_adv +++ b/buildroot/bin/opt_disable_adv @@ -1,5 +1,7 @@ #!/usr/bin/env bash +SED=$(which gsed || which sed) + for opt in "$@" ; do - eval "sed -i 's/\([[:blank:]]*\)\(#define \b${opt}\b\)/\1\/\/\2/g' Marlin/Configuration_adv.h" + eval "${SED} -i 's/\([[:blank:]]*\)\(#define \b${opt}\b\)/\1\/\/\2/g' Marlin/Configuration_adv.h" done diff --git a/buildroot/bin/opt_enable b/buildroot/bin/opt_enable index 7b119fa15f87..7be02ed9b493 100755 --- a/buildroot/bin/opt_enable +++ b/buildroot/bin/opt_enable @@ -1,5 +1,7 @@ #!/usr/bin/env bash +SED=$(which gsed || which sed) + for opt in "$@" ; do - eval "sed -i 's/\/\/[[:blank:]]*\(#define \b${opt}\b\)/\1/g' Marlin/Configuration.h" + eval "${SED} -i 's/\/\/[[:blank:]]*\(#define \b${opt}\b\)/\1/g' Marlin/Configuration.h" done diff --git a/buildroot/bin/opt_enable_adv b/buildroot/bin/opt_enable_adv index a34e56f12c15..73a9d9541502 100755 --- a/buildroot/bin/opt_enable_adv +++ b/buildroot/bin/opt_enable_adv @@ -1,5 +1,7 @@ #!/usr/bin/env bash +SED=$(which gsed || which sed) + for opt in "$@" ; do - eval "sed -i 's/\/\/[[:blank:]]*\(#define \b${opt}\b\)/\1/g' Marlin/Configuration_adv.h" + eval "${SED} -i 's/\/\/[[:blank:]]*\(#define \b${opt}\b\)/\1/g' Marlin/Configuration_adv.h" done diff --git a/buildroot/bin/opt_set b/buildroot/bin/opt_set index cf8c0d850ce5..c1de22f5e933 100755 --- a/buildroot/bin/opt_set +++ b/buildroot/bin/opt_set @@ -1,3 +1,5 @@ #!/usr/bin/env bash -eval "sed -i 's/\(#define \b${1}\b\).*$/\1 ${2}/g' Marlin/Configuration.h" +SED=$(which gsed || which sed) + +eval "${SED} -i 's/\(#define \b${1}\b\).*$/\1 ${2}/g' Marlin/Configuration.h" diff --git a/buildroot/bin/opt_set_adv b/buildroot/bin/opt_set_adv index 54076a0bcae2..4c72c4a831f3 100755 --- a/buildroot/bin/opt_set_adv +++ b/buildroot/bin/opt_set_adv @@ -1,3 +1,5 @@ #!/usr/bin/env bash -eval "sed -i 's/\(#define \b${1}\b\).*$/\1 ${2}/g' Marlin/Configuration_adv.h" +SED=$(which gsed || which sed) + +eval "${SED} -i 's/\(#define \b${1}\b\).*$/\1 ${2}/g' Marlin/Configuration_adv.h" diff --git a/buildroot/bin/pins_set b/buildroot/bin/pins_set index 2dc56939370b..639995e24c40 100755 --- a/buildroot/bin/pins_set +++ b/buildroot/bin/pins_set @@ -1,3 +1,5 @@ #!/usr/bin/env bash -eval "sed -i 's/\(#define \b${2}\b\).*$/\1 ${3}/g' Marlin/src/pins/pins_${1}.h" +SED=$(which gsed || which sed) + +eval "${SED} -i 's/\(#define \b${2}\b\).*$/\1 ${3}/g' Marlin/src/pins/pins_${1}.h" diff --git a/buildroot/bin/restore_configs b/buildroot/bin/restore_configs index a77961a2873f..fa1f840582b2 100755 --- a/buildroot/bin/restore_configs +++ b/buildroot/bin/restore_configs @@ -2,8 +2,16 @@ cp Marlin/src/config/default/Configuration.h Marlin/Configuration.h cp Marlin/src/config/default/Configuration_adv.h Marlin/Configuration_adv.h -cp Marlin/src/pins/pins_RAMPS.h.backup Marlin/src/pins/pins_RAMPS.h -if [ -f Marlin/src/config/_Bootscreen.h ]; then - rm Marlin/src/config/_Bootscreen.h +if [ -f Marlin/src/pins/pins_RAMPS.h.backup ]; then + cp Marlin/src/pins/pins_RAMPS.h.backup Marlin/src/pins/pins_RAMPS.h + rm Marlin/src/pins/pins_RAMPS.h.backup +fi + +if [ -f Marlin/_Bootscreen.h ]; then + rm Marlin/_Bootscreen.h +fi + +if [ -f Marlin/_Statusscreen.h ]; then + rm Marlin/_Statusscreen.h fi diff --git a/buildroot/bin/update_defaults b/buildroot/bin/update_defaults new file mode 100755 index 000000000000..6100e1050f6d --- /dev/null +++ b/buildroot/bin/update_defaults @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +cp Marlin/Configuration.h Marlin/src/config/default/Configuration.h +cp Marlin/Configuration_adv.h Marlin/src/config/default/Configuration_adv.h diff --git a/buildroot/bin/use_example_configs b/buildroot/bin/use_example_configs index 405f36b2a96a..453c627bed7d 100755 --- a/buildroot/bin/use_example_configs +++ b/buildroot/bin/use_example_configs @@ -5,5 +5,9 @@ restore_configs cp Marlin/src/config/examples/"$@"/Configuration* Marlin/ if [ -f "Marlin/src/config/examples/$@/_Bootscreen.h" ]; then - cp "Marlin/src/config/examples/$@/_Bootscreen.h" Marlin/src/config/ + cp "Marlin/src/config/examples/$@/_Bootscreen.h" Marlin/ +fi + +if [ -f "Marlin/src/config/examples/$@/_Statusscreen.h" ]; then + cp "Marlin/src/config/examples/$@/_Statusscreen.h" Marlin/ fi diff --git a/buildroot/etc/udev/rules.d/99-platformio-udev.rules b/buildroot/etc/udev/rules.d/99-platformio-udev.rules new file mode 100644 index 000000000000..6daaf922bff5 --- /dev/null +++ b/buildroot/etc/udev/rules.d/99-platformio-udev.rules @@ -0,0 +1,207 @@ +# Copyright (c) 2014-present PlatformIO +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +##################################################################################### +# +# INSTALLATION +# +# Please visit > http://docs.platformio.org/en/latest/faq.html#platformio-udev-rules +# +##################################################################################### + +# +# Boards +# + +# CP210X USB UART +SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0666" + +# FT232R USB UART +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666" + +# Prolific Technology, Inc. PL2303 Serial Port +SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="0666" + +# QinHeng Electronics HL-340 USB-Serial adapter +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666" + +# Arduino boards +SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="[08][02]*", MODE:="0666" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="[08][02]*", MODE:="0666" + +# Arduino SAM-BA +ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", ENV{MTP_NO_PROBE}="1" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", MODE:="0666" +KERNEL=="ttyACM*", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", MODE:="0666" + +# Digistump boards +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666" +KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1" + +# STM32 discovery boards, with onboard st/linkv2 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374?", MODE:="0666" + +# USBtiny +SUBSYSTEMS=="usb", ATTRS{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0666" + +# USBasp V2.0 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE:="0666" + +# Teensy boards +ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", ENV{MTP_NO_PROBE}="1" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", MODE:="0666" +KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", MODE:="0666" + +#TI Stellaris Launchpad +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="0666" + +#TI MSP430 Launchpad +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="f432", MODE="0666" + + +# +# Debuggers +# + +# Black Magic Probe +SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic GDB Server" +SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic UART Port" + +# opendous and estick +ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="204f", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Original FT232/FT245 VID:PID +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Original FT2232 VID:PID +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Original FT4232 VID:PID +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Original FT232H VID:PID +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# DISTORTEC JTAG-lock-pick Tiny 2 +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8220", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# TUMPA, TUMPA Lite +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a98", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a99", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# XDS100v2 +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="a6d0", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Xverve Signalyzer Tool (DT-USB-ST), Signalyzer LITE (DT-USB-SLITE) +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bca0", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bca1", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# TI/Luminary Stellaris Evaluation Board FTDI (several) +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcd9", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# TI/Luminary Stellaris In-Circuit Debug Interface FTDI (ICDI) Board +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcda", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# egnite Turtelizer 2 +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bdc8", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Section5 ICEbear +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="c140", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="c141", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Amontec JTAGkey and JTAGkey-tiny +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="cff8", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# TI ICDI +ATTRS{idVendor}=="0451", ATTRS{idProduct}=="c32a", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# STLink v1 +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3744", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# STLink v2 +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# STLink v2-1 +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Hilscher NXHX Boards +ATTRS{idVendor}=="0640", ATTRS{idProduct}=="0028", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Hitex STR9-comStick +ATTRS{idVendor}=="0640", ATTRS{idProduct}=="002c", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Hitex STM32-PerformanceStick +ATTRS{idVendor}=="0640", ATTRS{idProduct}=="002d", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Altera USB Blaster +ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Amontec JTAGkey-HiSpeed +ATTRS{idVendor}=="0fbb", ATTRS{idProduct}=="1000", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# SEGGER J-Link +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0101", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0102", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0103", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0104", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0105", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0107", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0108", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1010", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1011", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1012", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1013", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1014", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1015", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1016", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1017", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1018", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Raisonance RLink +ATTRS{idVendor}=="138e", ATTRS{idProduct}=="9000", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Debug Board for Neo1973 +ATTRS{idVendor}=="1457", ATTRS{idProduct}=="5118", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Olimex ARM-USB-OCD +ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="0003", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Olimex ARM-USB-OCD-TINY +ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="0004", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Olimex ARM-JTAG-EW +ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="001e", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Olimex ARM-USB-OCD-TINY-H +ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="002a", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Olimex ARM-USB-OCD-H +ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="002b", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# USBprog with OpenOCD firmware +ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c63", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# TI/Luminary Stellaris In-Circuit Debug Interface (ICDI) Board +ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Marvell Sheevaplug +ATTRS{idVendor}=="9e88", ATTRS{idProduct}=="9e8f", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Keil Software, Inc. ULink +ATTRS{idVendor}=="c251", ATTRS{idProduct}=="2710", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# CMSIS-DAP compatible adapters +ATTRS{product}=="*CMSIS-DAP*", MODE="660", GROUP="plugdev", TAG+="uaccess" diff --git a/buildroot/share/PlatformIO/boards/at90usb1286.json b/buildroot/share/PlatformIO/boards/at90usb1286.json new file mode 100644 index 000000000000..63c9ce44d1c8 --- /dev/null +++ b/buildroot/share/PlatformIO/boards/at90usb1286.json @@ -0,0 +1,20 @@ +{ + "build": { + "core": "teensy", + "extra_flags": "-DTEENSY2PP -fsingle-precision-constant", + "f_cpu": "16000000L", + "mcu": "at90usb1286" + }, + "frameworks": [ + "arduino" + ], + "name": "Atmel AT90USB1286 based", + "upload": { + "maximum_ram_size": 8192, + "maximum_size": 122880, + "require_upload_port": true, + "protocol": "" + }, + "url": "https://github.com/MarlinFirmware/Marlin", + "vendor": "various" +} diff --git a/buildroot/share/PlatformIO/boards/malyanM200.json b/buildroot/share/PlatformIO/boards/malyanM200.json new file mode 100644 index 000000000000..ccf118512fb1 --- /dev/null +++ b/buildroot/share/PlatformIO/boards/malyanM200.json @@ -0,0 +1,78 @@ +{ + "build": { + "core": "maple", + "cpu": "cortex-m3", + "extra_flags": "-DARDUINO_GENERIC_STM32F103C -DMCU_STM32F103CB", + "f_cpu": "72000000L", + "hwids": [ + ["0x1EAF", "0x0003"], + ["0x1EAF", "0x0004"] + ], + "ldscript": "jtagOffset.ld", + "mcu": "stm32f103cb", + "variant": "malyanM200", + "genericvariant" : "MALYAN_M200_V1", + "vec_tab_addr": "0x8002000" + }, + "debug": { + "tools": { + "stlink": { + "server": { + "arguments": [ + "-f", "scripts/interface/stlink.cfg", + "-c", "transport select hla_swd", + "-f", "scripts/target/stm32f1x.cfg", + "-c", "reset_config none" + ], + "executable": "bin/openocd", + "package": "tool-openocd" + } + }, + "stlink-v2": { + "server": { + "package": "tool-openocd", + "executable": "bin/openocd", + "arguments": [ + "-f", "scripts/interface/stlink-v2.cfg", + "-c", "transport select hla_swd", + "-f", "scripts/target/stm32f1x.cfg" + ] + }, + "default": true + }, + "stlink-v2-1": { + "server": { + "package": "tool-openocd", + "executable": "bin/openocd", + "arguments": [ + "-f", "scripts/interface/stlink-v2-1.cfg", + "-c", "transport select hla_swd", + "-f", "scripts/target/stm32f1x.cfg" + ] + } + }, + "blackmagic": { + "hwids": [ + [ + "0x1d50", + "0x6018" + ] + ], + "require_debug_port": true + } + } + }, + "frameworks": ["arduino", "arduinoSTM32GENERIC"], + "name": "Malyan STM32F103CB (20k RAM. 128k Flash)", + "upload": { + "disable_flushing": false, + "maximum_ram_size": 20480, + "maximum_size": 131072, + "protocol": "serial", + "require_upload_port": true, + "use_1200bps_touch": false, + "wait_for_upload_port": false + }, + "url": "http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f1-series/stm32f103/stm32f103cb.html", + "vendor": "Generic" +} diff --git a/buildroot/share/PlatformIO/boards/malyanM200v2.json b/buildroot/share/PlatformIO/boards/malyanM200v2.json new file mode 100644 index 000000000000..ca768444bc9c --- /dev/null +++ b/buildroot/share/PlatformIO/boards/malyanM200v2.json @@ -0,0 +1,39 @@ +{ + "build": { + "cpu": "cortex-m0", + "extra_flags": "-DSTM32F070xB", + "f_cpu": "48000000L", + "mcu": "stm32f070rbt6", + "genericvariant" : "MALYAN_M200_V2", + "vec_tab_addr": "0x8002000" + }, + "debug": { + "default_tools": [ + "stlink" + ], + "onboard_tools": [ + "stlink" + ], + "openocd_board": "st_nucleo_f0", + "openocd_target": "stm32f0x" + }, + "frameworks": [ + "mbed", + "stm32cube", + "arduinoSTM32GENERIC" + ], + "name": "Malyan M200 V2/Delta", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 131072, + "protocol": "mbed", + "protocols": [ + "jlink", + "stlink", + "blackmagic", + "mbed" + ] + }, + "url": "https://developer.mbed.org/platforms/ST-Nucleo-F070RB/", + "vendor": "Malyan" +} diff --git a/buildroot/share/atom/auto_build.py b/buildroot/share/atom/auto_build.py new file mode 100644 index 000000000000..494d63f8e867 --- /dev/null +++ b/buildroot/share/atom/auto_build.py @@ -0,0 +1,1238 @@ +####################################### +# +# Marlin 3D Printer Firmware +# Copyright (C) 2018 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 . +# +####################################### + +####################################### +# +# Revision: 2.0.1 +# +# Description: script to automate PlatformIO builds +# CLI: python auto_build.py build_option +# build_option (required) +# build executes -> platformio run -e target_env +# clean executes -> platformio run --target clean -e target_env +# upload executes -> platformio run --target upload -e target_env +# traceback executes -> platformio run --target upload -e target_env +# program executes -> platformio run --target program -e target_env +# test executes -> platformio test upload -e target_env +# remote executes -> platformio remote run --target upload -e target_env +# debug executes -> platformio debug -e target_env +# +# 'traceback' just uses the debug variant of the target environment if one exists +# +####################################### + +####################################### +# +# General program flow +# +# 1. Scans Configuration.h for the motherboard name and Marlin version. +# 2. Scans pins.h for the motherboard. +# returns the CPU(s) and platformio environment(s) used by the motherboard +# 3. If further info is needed then a popup gets it from the user. +# 4. The OUTPUT_WINDOW class creates a window to display the output of the PlatformIO program. +# 5. A thread is created by the OUTPUT_WINDOW class in order to execute the RUN_PIO function. +# 6. The RUN_PIO function uses a subprocess to run the CLI version of PlatformIO. +# 7. The "iter(pio_subprocess.stdout.readline, '')" function is used to stream the output of +# PlatformIO back to the RUN_PIO function. +# 8. Each line returned from PlatformIO is formatted to match the color coding seen in the +# PlatformIO GUI. +# 9. If there is a color change within a line then the line is broken at each color change +# and sent separately. +# 10. Each formatted segment (could be a full line or a split line) is put into the queue +# IO_queue as it arrives from the platformio subprocess. +# 11. The OUTPUT_WINDOW class periodically samples IO_queue. If data is available then it +# is written to the window. +# 12. The window stays open until the user closes it. +# 13. The OUTPUT_WINDOW class continues to execute as long as the window is open. This allows +# copying, saving, scrolling of the window. A right click popup is available. +# +####################################### + +import sys +import os + +pwd = os.getcwd() # make sure we're executing from the correct directory level +pwd = pwd.replace('\\', '/') +if 0 <= pwd.find('buildroot/share/atom'): + pwd = pwd[ : pwd.find('buildroot/share/atom')] + os.chdir(pwd) +print 'pwd: ', pwd + +num_args = len(sys.argv) +if num_args > 1: + build_type = str(sys.argv[1]) +else: + print 'Please specify build type' + exit() + +print'build_type: ', build_type + +print '\nWorking\n' + +python_ver = sys.version_info[0] # major version - 2 or 3 + +if python_ver == 2: + print "python version " + str(sys.version_info[0]) + "." + str(sys.version_info[1]) + "." + str(sys.version_info[2]) +else: + print "python version " + str(sys.version_info[0]) + print "This script only runs under python 2" + exit() + +import platform +current_OS = platform.system() + +#globals +target_env = '' +board_name = '' + + +######### +# Python 2 error messages: +# Can't find a usable init.tcl in the following directories ... +# error "invalid command name "tcl_findLibrary"" +# +# Fix for the above errors on my Win10 system: +# search all init.tcl files for the line "package require -exact Tcl" that has the highest 8.5.x number +# copy it into the first directory listed in the error messages +# set the environmental variables TCLLIBPATH and TCL_LIBRARY to the directory where you found the init.tcl file +# reboot +######### + + + +########################################################################################## +# +# popup to get input from user +# +########################################################################################## + +def get_answer(board_name, cpu_label_txt, cpu_a_txt, cpu_b_txt): + + + if python_ver == 2: + import Tkinter as tk + else: + import tkinter as tk + + def CPU_exit_3(): # forward declare functions + + CPU_exit_3_() + def CPU_exit_4(): + + CPU_exit_4_() + def kill_session(): + kill_session_() + + root_get_answer = tk.Tk() + + root_get_answer.chk_state_1 = 1 # declare variables used by TK and enable + + chk_state_1 = 0 # set initial state of check boxes + + + global get_answer_val + get_answer_val = 2 # return get_answer_val, set default to match chk_state_1 default + + + l1 = tk.Label(text=board_name, + fg = "light green", + bg = "dark green", + font = "Helvetica 12 bold").grid(row=1) + + l2 = tk.Label(text=cpu_label_txt, + fg = "light green", + bg = "dark green", + font = "Helvetica 16 bold italic").grid(row=2) + + b4 = tk.Checkbutton(text=cpu_a_txt, + fg = "black", + font = "Times 20 bold ", + variable=chk_state_1, onvalue=1, offvalue=0, + + command = CPU_exit_3).grid(row=3) + + b5 = tk.Checkbutton(text=cpu_b_txt, + fg = "black", + font = "Times 20 bold ", + variable=chk_state_1, onvalue=0, offvalue=1, + + command = CPU_exit_4).grid(row=4) # use same variable but inverted so they will track + b6 = tk.Button(text="CONFIRM", + fg = "blue", + font = "Times 20 bold ", + command = root_get_answer.destroy).grid(row=5, pady=4) + + b7 = tk.Button(text="CANCEL", + fg = "red", + font = "Times 12 bold ", + command = kill_session).grid(row=6, pady=4) + + + def CPU_exit_3_(): + global get_answer_val + get_answer_val = 1 + + def CPU_exit_4_(): + global get_answer_val + get_answer_val = 2 + + def kill_session_(): + raise SystemExit(0) # kill everything + + root_get_answer.mainloop() + +# end - get answer + + +# +# move custom board definitions from project folder to PlatformIO +# +def resolve_path(path): + import os + + # turn the selection into a partial path + + if 0 <= path.find('"'): + path = path[ path.find('"') : ] + if 0 <= path.find(', line '): + path = path.replace(', line ', ':') + path = path.replace('"', '') + + #get line and column numbers + line_num = 1 + column_num = 1 + line_start = path.find(':', 2) # use 2 here so don't eat Windows full path + column_start = path.find(':', line_start + 1) + if column_start == -1: + column_start = len(path) + column_end = path.find(':', column_start + 1) + if column_end == -1: + column_end = len(path) + if 0 <= line_start: + line_num = path[ line_start + 1 : column_start] + if line_num == '': + line_num = 1 + if not(column_start == column_end): + column_num = path[ column_start + 1 : column_end] + if column_num == '': + column_num = 0 + + index_end = path.find(',') + if 0 <= index_end: + path = path[ : index_end] # delete comma and anything after + index_end = path.find(':', 2) + if 0 <= index_end: + path = path[ : path.find(':', 2)] # delete the line number and anything after + + path = path.replace('\\','/') + + if 1 == path.find(':') and current_OS == 'Windows': + return path, line_num, column_num # found a full path - no need for further processing + elif 0 == path.find('/') and (current_OS == 'Linux' or current_OS == 'Darwin'): + return path, line_num, column_num # found a full path - no need for further processing + + else: + + # resolve as many '../' as we can + while 0 <= path.find('../'): + end = path.find('../') - 1 + start = path.find('/') + while 0 <= path.find('/',start) and end > path.find('/',start): + start = path.find('/',start) + 1 + path = path[0:start] + path[end + 4: ] + + # this is an alternative to the above - it just deletes the '../' section + # start_temp = path.find('../') + # while 0 <= path.find('../',start_temp): + # start = path.find('../',start_temp) + # start_temp = start + 1 + # if 0 <= start: + # path = path[start + 2 : ] + + + start = path.find('/') + if not(0 == start): # make sure path starts with '/' + while 0 == path.find(' '): # eat any spaces at the beginning + path = path[ 1 : ] + path = '/' + path + + if current_OS == 'Windows': + search_path = path.replace('/', '\\') # os.walk uses '\' in Windows + else: + search_path = path + + start_path = os.path.abspath('') + + # search project directory for the selection + found = False + full_path = '' + for root, directories, filenames in os.walk(start_path): + for filename in filenames: + if 0 <= root.find('.git'): # don't bother looking in this directory + break + full_path = os.path.join(root,filename) + if 0 <= full_path.find(search_path): + found = True + break + if found: + break + + return full_path, line_num, column_num + +# end - resolve_path + + +# +# Opens the file in the preferred editor at the line & column number +# If the preferred editor isn't already running then it tries the next. +# If none are open then the system default is used. +# +# Editor order: +# 1. Notepad++ (Windows only) +# 2. Sublime Text +# 3. Atom +# 4. System default (opens at line 1, column 1 only) +# +def open_file(path): + import subprocess + file_path, line_num, column_num = resolve_path(path) + + if file_path == '' : + return + + if current_OS == 'Windows': + + editor_note = subprocess.check_output('wmic process where "name=' + "'notepad++.exe'" + '" get ExecutablePath') + editor_sublime = subprocess.check_output('wmic process where "name=' + "'sublime_text.exe'" + '" get ExecutablePath') + editor_atom = subprocess.check_output('wmic process where "name=' + "'atom.exe'" + '" get ExecutablePath') + + if 0 <= editor_note.find('notepad++.exe'): + start = editor_note.find('\n') + 1 + end = editor_note.find('\n',start + 5) -4 + editor_note = editor_note[ start : end] + command = file_path , ' -n' + str(line_num) , ' -c' + str(column_num) + subprocess.Popen([editor_note, command]) + + elif 0 <= editor_sublime.find('sublime_text.exe'): + start = editor_sublime.find('\n') + 1 + end = editor_sublime.find('\n',start + 5) -4 + editor_sublime = editor_sublime[ start : end] + command = file_path + ':' + line_num + ':' + column_num + subprocess.Popen([editor_sublime, command]) + + elif 0 <= editor_atom.find('atom.exe'): + start = editor_atom.find('\n') + 1 + end = editor_atom.find('\n',start + 5) -4 + editor_atom = editor_atom[ start : end] + command = file_path + ':' + str(line_num) + ':' + str(column_num) + subprocess.Popen([editor_atom, command]) + + else: + os.startfile(resolve_path(path)) # open file with default app + + elif current_OS == 'Linux': + + command = file_path + ':' + str(line_num) + ':' + str(column_num) + index_end = command.find(',') + if 0 <= index_end: + command = command[ : index_end] # sometimes a comma magically appears, don't want it + running_apps = subprocess.Popen('ps ax -o cmd', stdout=subprocess.PIPE, shell=True) + (output, err) = running_apps.communicate() + temp = output.split('\n') + + def find_editor_linux(name, search_obj): + for line in search_obj: + if 0 <= line.find(name): + path = line + return True, path + return False , '' + + (success_sublime, editor_path_sublime) = find_editor_linux('sublime_text',temp) + (success_atom, editor_path_atom) = find_editor_linux('atom',temp) + + if success_sublime: + subprocess.Popen([editor_path_sublime, command]) + + elif success_atom: + subprocess.Popen([editor_path_atom, command]) + + else: + os.system('xdg-open ' + file_path ) + + elif current_OS == 'Darwin': # MAC + + command = file_path + ':' + str(line_num) + ':' + str(column_num) + index_end = command.find(',') + if 0 <= index_end: + command = command[ : index_end] # sometimes a comma magically appears, don't want it + running_apps = subprocess.Popen('ps axwww -o command', stdout=subprocess.PIPE, shell=True) + (output, err) = running_apps.communicate() + temp = output.split('\n') + + def find_editor_mac(name, search_obj): + for line in search_obj: + if 0 <= line.find(name): + path = line + if 0 <= path.find('-psn'): + path = path[ : path.find('-psn') - 1 ] + return True, path + return False , '' + + (success_sublime, editor_path_sublime) = find_editor_mac('Sublime',temp) + (success_atom, editor_path_atom) = find_editor_mac('Atom',temp) + + if success_sublime: + subprocess.Popen([editor_path_sublime, command]) + + elif success_atom: + subprocess.Popen([editor_path_atom, command]) + + else: + os.system('open ' + file_path ) +# end - open_file + + +# gets the last build environment +def get_build_last(): + env_last = '' + DIR_PWD = os.listdir('.') + if '.pioenvs' in DIR_PWD: + date_last = 0.0 + DIR__pioenvs = os.listdir('.pioenvs') + for name in DIR__pioenvs: + if 0 <= name.find('.') or 0 <= name.find('-'): # skip files in listing + continue + DIR_temp = os.listdir('.pioenvs/' + name) + for names_temp in DIR_temp: + + if 0 == names_temp.find('firmware.'): + date_temp = os.path.getmtime('.pioenvs/' + name + '/' + names_temp) + if date_temp > date_last: + date_last = date_temp + env_last = name + return env_last + + +# gets the board being built from the Configuration.h file +# returns: board name, major version of Marlin being used (1 or 2) +def get_board_name(): + board_name = '' + # get board name + + with open('Marlin/Configuration.h', 'r') as myfile: + Configuration_h = myfile.read() + + Configuration_h = Configuration_h.split('\n') + Marlin_ver = 0 # set version to invalid number + for lines in Configuration_h: + if 0 == lines.find('#define CONFIGURATION_H_VERSION 01'): + Marlin_ver = 1 + if 0 == lines.find('#define CONFIGURATION_H_VERSION 02'): + Marlin_ver = 2 + board = lines.find(' BOARD_') + 1 + motherboard = lines.find(' MOTHERBOARD ') + 1 + define = lines.find('#define ') + comment = lines.find('//') + if (comment == -1 or comment > board) and \ + board > motherboard and \ + motherboard > define and \ + define >= 0 : + spaces = lines.find(' ', board) # find the end of the board substring + if spaces == -1: + board_name = lines[board : ] + else: + board_name = lines[board : spaces] + break + + + return board_name, Marlin_ver + + +# extract first environment name it finds after the start position +# returns: environment name and position to start the next search from +def get_env_from_line(line, start_position): + env = '' + next_position = -1 + env_position = line.find('env:', start_position) + if 0 < env_position: + next_position = line.find(' ', env_position + 4) + if 0 < next_position: + env = line[env_position + 4 : next_position] + else: + env = line[env_position + 4 : ] # at the end of the line + return env, next_position + + + +#scans pins.h for board name and returns the environment(s) it finds +def get_starting_env(board_name_full, version): + # get environment starting point + + if version == 1: + path = 'Marlin/pins.h' + if version == 2: + path = 'Marlin/src/pins/pins.h' + with open(path, 'r') as myfile: + pins_h = myfile.read() + + env_A = '' + env_B = '' + env_C = '' + + board_name = board_name_full[ 6 : ] # only use the part after "BOARD_" since we're searching the pins.h file + pins_h = pins_h.split('\n') + environment = '' + board_line = '' + cpu_A = '' + cpu_B = '' + i = 0 + list_start_found = False + for lines in pins_h: + i = i + 1 # i is always one ahead of the index into pins_h + if 0 < lines.find("Unknown MOTHERBOARD value set in Configuration.h"): + break # no more + if 0 < lines.find('1280'): + list_start_found = True + if list_start_found == False: # skip lines until find start of CPU list + continue + board = lines.find(board_name) + comment_start = lines.find('// ') + cpu_A_loc = comment_start + cpu_B_loc = 0 + if board > 0: # need to look at the next line for environment info + cpu_line = pins_h[i] + comment_start = cpu_line.find('// ') + env_A, next_position = get_env_from_line(cpu_line, comment_start) # get name of environment & start of search for next + env_B, next_position = get_env_from_line(cpu_line, next_position) # get next environment, if it exists + env_C, next_position = get_env_from_line(cpu_line, next_position) # get next environment, if it exists + break + return env_A, env_B, env_C + + +# scans input string for CPUs that the users may need to select from +# returns: CPU name +def get_CPU_name(environment): + CPU_list = ('1280', '2560','644', '1284', 'LPC1768', 'DUE') + CPU_name = '' + for CPU in CPU_list: + if 0 < environment.find(CPU): + return CPU + + +# get environment to be used for the build +# returns: environment +def get_env(board_name, ver_Marlin): + def no_environment(): + print 'ERROR - no environment for this board' + print board_name + raise SystemExit(0) # no environment so quit + + def invalid_board(): + print 'ERROR - invalid board' + print board_name + raise SystemExit(0) # quit if unable to find board + + + CPU_question = ( ('1280', '2560', " 1280 or 2560 CPU? "), ('644', '1284', " 644 or 1284 CPU? ") ) + + if 0 < board_name.find('MELZI') : + get_answer(' ' + board_name + ' ', " Which flavor of Melzi? ", "Melzi (Optiboot bootloader)", "Melzi ") + if 1 == get_answer_val: + target_env = 'melzi_optiboot' + else: + target_env = 'melzi' + else: + env_A, env_B, env_C = get_starting_env(board_name, ver_Marlin) + + if env_A == '': + no_environment() + if env_B == '': + return env_A # only one environment so finished + + CPU_A = get_CPU_name(env_A) + CPU_B = get_CPU_name(env_B) + + for item in CPU_question: + if CPU_A == item[0]: + get_answer(' ' + board_name + ' ', item[2], item[0], item[1]) + if 2 == get_answer_val: + target_env = env_B + else: + target_env = env_A + return target_env + + if env_A == 'LPC1768': + if build_type == 'traceback' or (build_type == 'clean' and get_build_last() == 'LPC1768_debug_and_upload'): + target_env = 'LPC1768_debug_and_upload' + else: + target_env = 'LPC1768' + elif env_A == 'DUE': + target_env = 'DUE' + if build_type == 'traceback' or (build_type == 'clean' and get_build_last() == 'DUE_debug'): + target_env = 'DUE_debug' + elif env_B == 'DUE_USB': + get_answer(' ' + board_name + ' ', " DUE: need download port ", "USB (native USB) port", "Programming port ") + if 1 == get_answer_val: + target_env = 'DUE_USB' + else: + target_env = 'DUE' + else: + invalid_board() + + if build_type == 'traceback' and not(target_env == 'LPC1768_debug_and_upload' or target_env == 'DUE_debug') and Marlin_ver == 2: + print "ERROR - this board isn't setup for traceback" + print 'board_name: ', board_name + print 'target_env: ', target_env + raise SystemExit(0) + + return target_env +# end - get_env + +# puts screen text into queue so that the parent thread can fetch the data from this thread +import Queue +IO_queue = Queue.Queue() +PIO_queue = Queue.Queue() +def write_to_screen_queue(text, format_tag = 'normal'): + double_in = [text, format_tag] + IO_queue.put(double_in, block = False) + + +# +# send one line to the terminal screen with syntax highlighting +# +# input: unformatted text, flags from previous run +# returns: formatted text ready to go to the terminal, flags from this run +# +# This routine remembers the status from call to call because previous +# lines can affect how the current line is highlighted +# + +# 'static' variables - init here and then keep updating them from within print_line +warning = False +warning_FROM = False +error = False +standard = True +prev_line_COM = False +next_line_warning = False +warning_continue = False +line_counter = 0 + +def line_print(line_input): + + global warning + global warning_FROM + global error + global standard + global prev_line_COM + global next_line_warning + global warning_continue + global line_counter + + + + + # all '0' elements must precede all '1' elements or they'll be skipped + platformio_highlights = [ + ['Environment', 0, 'highlight_blue'], + ['[SKIP]', 1, 'warning'], + ['[ERROR]', 1, 'error'], + ['[SUCCESS]', 1, 'highlight_green'] + ] + + def write_to_screen_with_replace(text, highlights): # search for highlights & split line accordingly + did_something = False + for highlight in highlights: + found = text.find(highlight[0]) + if did_something == True: + break + if found >= 0 : + did_something = True + if 0 == highlight[1]: + found_1 = text.find(' ') + found_tab = text.find('\t') + if found_1 < 0 or found_1 > found_tab: + found_1 = found_tab + write_to_screen_queue(text[ : found_1 + 1 ]) + for highlight_2 in highlights: + if highlight[0] == highlight_2[0] : + continue + found = text.find(highlight_2[0]) + if found >= 0 : + found_space = text.find(' ', found_1 + 1) + found_tab = text.find('\t', found_1 + 1) + if found_space < 0 or found_space > found_tab: + found_space = found_tab + found_right = text.find(']', found + 1) + write_to_screen_queue(text[found_1 + 1 : found_space + 1 ], highlight[2]) + write_to_screen_queue(text[found_space + 1 : found + 1 ]) + write_to_screen_queue(text[found + 1 : found_right], highlight_2[2]) + write_to_screen_queue(text[found_right : ] + '\n') + break + break + if 1 == highlight[1]: + found_right = text.find(']', found + 1) + write_to_screen_queue(text[ : found + 1 ]) + write_to_screen_queue(text[found + 1 : found_right ], highlight[2]) + write_to_screen_queue(text[found_right : ] + '\n') + break + if did_something == False: + r_loc = text.find('\r') + 1 + if r_loc > 0 and r_loc < len(text): # need to split this line + text = text.split('\r') + for line in text: + write_to_screen_queue(line + '\n') + else: + write_to_screen_queue(text + '\n') + # end - write_to_screen_with_replace + + + + # scan the line + line_counter = line_counter + 1 + max_search = len(line_input) + if max_search > 3 : + max_search = 3 + beginning = line_input[:max_search] + + # set flags + if 0 < line_input.find(': warning: '): # start of warning block + warning = True + warning_FROM = False + error = False + standard = False + prev_line_COM = False + prev_line_COM = False + warning_continue = True + if 0 < line_input.find('Thank you') or 0 < line_input.find('SUMMARY') : + warning = False #standard line found + warning_FROM = False + error = False + standard = True + prev_line_COM = False + warning_continue = False + elif beginning == 'War' or \ + beginning == '#er' or \ + beginning == 'In ' or \ + (beginning != 'Com' and prev_line_COM == True and not(beginning == 'Arc' or beginning == 'Lin' or beginning == 'Ind') or \ + next_line_warning == True): + warning = True #warning found + warning_FROM = False + error = False + standard = False + prev_line_COM = False + elif beginning == 'Com' or \ + beginning == 'Ver' or \ + beginning == ' [E' or \ + beginning == 'Rem' or \ + beginning == 'Bui' or \ + beginning == 'Ind' or \ + beginning == 'PLA': + warning = False #standard line found + warning_FROM = False + error = False + standard = True + prev_line_COM = False + warning_continue = False + elif beginning == '***': + warning = False # error found + warning_FROM = False + error = True + standard = False + prev_line_COM = False + elif 0 < line_input.find(': error:') or \ + 0 < line_input.find(': fatal error:'): # start of warning /error block + warning = False # error found + warning_FROM = False + error = True + standard = False + prev_line_COM = False + warning_continue = True + elif beginning == 'fro' and warning == True or \ + beginning == '.pi' : # start of warning /error block + warning_FROM = True + prev_line_COM = False + warning_continue = True + elif warning_continue == True: + warning = True + warning_FROM = False # keep the warning status going until find a standard line or an error + error = False + standard = False + prev_line_COM = False + warning_continue = True + + else: + warning = False # unknown so assume standard line + warning_FROM = False + error = False + standard = True + prev_line_COM = False + warning_continue = False + + if beginning == 'Com': + prev_line_COM = True + + # print based on flags + if standard == True: + write_to_screen_with_replace(line_input, platformio_highlights) #print white on black with substitutions + if warning == True: + write_to_screen_queue(line_input + '\n', 'warning') + if error == True: + write_to_screen_queue(line_input + '\n', 'error') +# end - line_print + + + +def run_PIO(dummy): + + ########################################################################## + # # + # run Platformio # + # # + ########################################################################## + + + # build platformio run -e target_env + # clean platformio run --target clean -e target_env + # upload platformio run --target upload -e target_env + # traceback platformio run --target upload -e target_env + # program platformio run --target program -e target_env + # test platformio test upload -e target_env + # remote platformio remote run --target upload -e target_env + # debug platformio debug -e target_env + + + global build_type + global target_env + global board_name + print 'build_type: ', build_type + + import subprocess + import sys + + print 'starting platformio' + + if build_type == 'build': + # platformio run -e target_env + # combine stdout & stderr so all compile messages are included + pio_subprocess = subprocess.Popen(['platformio', 'run', '-e', target_env], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + + elif build_type == 'clean': + # platformio run --target clean -e target_env + # combine stdout & stderr so all compile messages are included + pio_subprocess = subprocess.Popen(['platformio', 'run', '--target', 'clean', '-e', target_env], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + + elif build_type == 'upload': + # platformio run --target upload -e target_env + # combine stdout & stderr so all compile messages are included + pio_subprocess = subprocess.Popen(['platformio', 'run', '--target', 'upload', '-e', target_env], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + + elif build_type == 'traceback': + # platformio run --target upload -e target_env - select the debug environment if there is one + # combine stdout & stderr so all compile messages are included + pio_subprocess = subprocess.Popen(['platformio', 'run', '--target', 'upload', '-e', target_env], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + + elif build_type == 'program': + # platformio run --target program -e target_env + # combine stdout & stderr so all compile messages are included + pio_subprocess = subprocess.Popen(['platformio', 'run', '--target', 'program', '-e', target_env], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + + elif build_type == 'test': + #platformio test upload -e target_env + # combine stdout & stderr so all compile messages are included + pio_subprocess = subprocess.Popen(['platformio', 'test', 'upload', '-e', target_env], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + + elif build_type == 'remote': + # platformio remote run --target upload -e target_env + # combine stdout & stderr so all compile messages are included + pio_subprocess = subprocess.Popen(['platformio', 'remote', 'run', '--target', 'program', '-e', target_env], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + + elif build_type == 'debug': + # platformio debug -e target_env + # combine stdout & stderr so all compile messages are included + pio_subprocess = subprocess.Popen(['platformio', 'debug', '-e', target_env], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + + else: + print 'ERROR - unknown build type: ', build_type + raise SystemExit(0) # kill everything + + # stream output from subprocess and split it into lines + for line in iter(pio_subprocess.stdout.readline, ''): + line_print(line.replace('\n', '')) + + + # append info used to run PlatformIO + write_to_screen_queue('\nBoard name: ' + board_name + '\n') # put build info at the bottom of the screen + write_to_screen_queue('Build type: ' + build_type + '\n') + write_to_screen_queue('Environment used: ' + target_env + '\n') +# end - run_PIO + + +######################################################################## + +import time +import threading +import Tkinter as tk +import ttk +import Queue +import subprocess +import sys +que = Queue.Queue() +#IO_queue = Queue.Queue() + +from Tkinter import Tk, Frame, Text, Scrollbar, Menu +from tkMessageBox import askokcancel + +import tkFileDialog +from tkMessageBox import askokcancel +import tkFileDialog + + + +class output_window(Text): + # based on Super Text + global continue_updates + continue_updates = True + + global search_position + search_position = '' # start with invalid search position + + global error_found + error_found = False # are there any errors? + + + def __init__(self): + + + self.root = tk.Tk() + self.frame = tk.Frame(self.root) + self.frame.pack(fill='both', expand=True) + + # text widget + #self.text = tk.Text(self.frame, borderwidth=3, relief="sunken") + Text.__init__(self, self.frame, borderwidth=3, relief="sunken") + self.config(tabs=(400,)) # configure Text widget tab stops + self.config(background = 'black', foreground = 'white', font= ("consolas", 12), wrap = 'word', undo = 'True') +# self.config(background = 'black', foreground = 'white', font= ("consolas", 12), wrap = 'none', undo = 'True') + self.config(height = 24, width = 100) + self.config(insertbackground = 'pale green') # keyboard insertion point + self.pack(side='left', fill='both', expand=True) + + self.tag_config('normal', foreground = 'white') + self.tag_config('warning', foreground = 'yellow' ) + self.tag_config('error', foreground = 'red') + self.tag_config('highlight_green', foreground = 'green') + self.tag_config('highlight_blue', foreground = 'cyan') + self.tag_config('error_highlight_inactive', background = 'dim gray') + self.tag_config('error_highlight_active', background = 'light grey') + + self.bind_class("Text","", self.select_all) # required in windows, works in others + self.bind_all("", self.scroll_errors) + self.bind_class("", self.rebuild) + + # scrollbar + + scrb = tk.Scrollbar(self.frame, orient='vertical', command=self.yview) + self.config(yscrollcommand=scrb.set) + scrb.pack(side='right', fill='y') + +# self.scrb_Y = tk.Scrollbar(self.frame, orient='vertical', command=self.yview) +# self.scrb_Y.config(yscrollcommand=self.scrb_Y.set) +# self.scrb_Y.pack(side='right', fill='y') +# +# self.scrb_X = tk.Scrollbar(self.frame, orient='horizontal', command=self.xview) +# self.scrb_X.config(xscrollcommand=self.scrb_X.set) +# self.scrb_X.pack(side='bottom', fill='x') + +# scrb_X = tk.Scrollbar(self, orient=tk.HORIZONTAL, command=self.xview) # tk.HORIZONTAL now have a horizsontal scroll bar BUT... shrinks it to a postage stamp and hides far right behind the vertical scroll bar +# self.config(xscrollcommand=scrb_X.set) +# scrb_X.pack(side='bottom', fill='x') +# +# scrb= tk.Scrollbar(self, orient='vertical', command=self.yview) +# self.config(yscrollcommand=scrb.set) +# scrb.pack(side='right', fill='y') + +# self.config(height = 240, width = 1000) # didn't get the size baCK TO NORMAL +# self.pack(side='left', fill='both', expand=True) # didn't get the size baCK TO NORMAL + + + # pop-up menu + self.popup = tk.Menu(self, tearoff=0) + + self.popup.add_command(label='Copy', command=self._copy) + self.popup.add_command(label='Paste', command=self._paste) + self.popup.add_separator() + self.popup.add_command(label='Cut', command=self._cut) + self.popup.add_separator() + self.popup.add_command(label='Select All', command=self._select_all) + self.popup.add_command(label='Clear All', command=self._clear_all) + self.popup.add_separator() + self.popup.add_command(label='Save As', command=self._file_save_as) + self.popup.add_separator() + # self.popup.add_command(label='Repeat Build(CTL-shift-r)', command=self._rebuild) + self.popup.add_command(label='Repeat Build', command=self._rebuild) + self.popup.add_separator() + self.popup.add_command(label='Scroll Errors (CTL-shift-e)', command=self._scroll_errors) + self.popup.add_separator() + self.popup.add_command(label='Open File at Cursor', command=self._open_selected_file) + + if current_OS == 'Darwin': # MAC + self.bind('', self._show_popup) # macOS only + else: + self.bind('', self._show_popup) # Windows & Linux + + + # threading & subprocess section + + def start_thread(self, ): + global continue_updates + # create then start a secondary thread to run an arbitrary function + # must have at least one argument + self.secondary_thread = threading.Thread(target = lambda q, arg1: q.put(run_PIO(arg1)), args=(que, '')) + self.secondary_thread.start() + continue_updates = True + # check the Queue in 50ms + self.root.after(50, self.check_thread) + self.root.after(50, self.update) + + + def check_thread(self): # wait for user to kill the window + global continue_updates + if continue_updates == True: + self.root.after(10, self.check_thread) + + + def update(self): + global continue_updates + if continue_updates == True: + self.root.after(10, self.update)#method is called every 50ms + temp_text = ['0','0'] + if IO_queue.empty(): + if not(self.secondary_thread.is_alive()): + continue_updates = False # queue is exhausted and thread is dead so no need for further updates + else: + try: + temp_text = IO_queue.get(block = False) + except Queue.Empty: + continue_updates = False # queue is exhausted so no need for further updates + else: + self.insert('end', temp_text[0], temp_text[1]) + self.see("end") # make the last line visible (scroll text off the top) + + + # text editing section + + + def _scroll_errors(self): + global search_position + global error_found + if search_position == '': # first time so highlight all errors + countVar = tk.IntVar() + search_position = '1.0' + search_count = 0 + while not(search_position == '') and search_count < 100: + search_position = self.search("error", search_position, stopindex="end", count=countVar, nocase=1) + search_count = search_count + 1 + if not(search_position == ''): + error_found = True + end_pos = '{}+{}c'.format(search_position, 5) + self.tag_add("error_highlight_inactive", search_position, end_pos) + search_position = '{}+{}c'.format(search_position, 1) # point to the next character for new search + else: + break + + if error_found: + if search_position == '': + search_position = self.search("error", '1.0', stopindex="end", nocase=1) # new search + else: # remove active highlight + end_pos = '{}+{}c'.format(search_position, 5) + start_pos = '{}+{}c'.format(search_position, -1) + self.tag_remove("error_highlight_active", start_pos, end_pos) + search_position = self.search("error", search_position, stopindex="end", nocase=1) # finds first occurrence AGAIN on the first time through + if search_position == "": # wrap around + search_position = self.search("error", '1.0', stopindex="end", nocase=1) + end_pos = '{}+{}c'.format(search_position, 5) + self.tag_add("error_highlight_active", search_position, end_pos) # add active highlight + self.see(search_position) + search_position = '{}+{}c'.format(search_position, 1) # point to the next character for new search + + def scroll_errors(self, event): + self._scroll_errors() + + + def _rebuild(self): + #global board_name + #global Marlin_ver + #global target_env + #board_name, Marlin_ver = get_board_name() + #target_env = get_env(board_name, Marlin_ver) + self.start_thread() + + def rebuild(self, event): + print "event happened" + self._rebuild() + + + def _open_selected_file(self): + current_line = self.index('insert') + line_start = current_line[ : current_line.find('.')] + '.0' + line_end = current_line[ : current_line.find('.')] + '.200' + self.mark_set("path_start", line_start) + self.mark_set("path_end", line_end) + path = self.get("path_start", "path_end") + from_loc = path.find('from ') + colon_loc = path.find(': ') + if 0 <= from_loc and ((colon_loc == -1) or (from_loc < colon_loc)) : + path = path [ from_loc + 5 : ] + if 0 <= colon_loc: + path = path [ : colon_loc ] + if 0 <= path.find('\\') or 0 <= path.find('/'): # make sure it really contains a path + open_file(path) + + + def _file_save_as(self): + self.filename = tkFileDialog.asksaveasfilename(defaultextension = '.txt') + f = open(self.filename, 'w') + f.write(self.get('1.0', 'end')) + f.close() + + + + def copy(self, event): + try: + selection = self.get(*self.tag_ranges('sel')) + self.clipboard_clear() + self.clipboard_append(selection) + except TypeError: + pass + + def cut(self, event): + + try: + selection = self.get(*self.tag_ranges('sel')) + self.clipboard_clear() + self.clipboard_append(selection) + self.delete(*self.tag_ranges('sel')) + except TypeError: + pass + + def _show_popup(self, event): + '''right-click popup menu''' + + if self.root.focus_get() != self: + self.root.focus_set() + + try: + self.popup.tk_popup(event.x_root, event.y_root, 0) + finally: + self.popup.grab_release() + + def _cut(self): + + try: + selection = self.get(*self.tag_ranges('sel')) + self.clipboard_clear() + self.clipboard_append(selection) + self.delete(*self.tag_ranges('sel')) + except TypeError: + pass + + def cut(self, event): + self._cut() + + def _copy(self): + + try: + selection = self.get(*self.tag_ranges('sel')) + self.clipboard_clear() + self.clipboard_append(selection) + except TypeError: + pass + + def copy(self, event): + self._copy() + + def _paste(self): + + self.insert('insert', self.selection_get(selection='CLIPBOARD')) + + def _select_all(self): + self.tag_add('sel', '1.0', 'end') + + + def select_all(self, event): + self.tag_add('sel', '1.0', 'end') + + + def _clear_all(self): + '''erases all text''' + + isok = askokcancel('Clear All', 'Erase all text?', frame=self, + default='ok') + if isok: + self.delete('1.0', 'end') + + +# end - output_window + + + +def main(): + + + ########################################################################## + # # + # main program # + # # + ########################################################################## + + global build_type + global target_env + global board_name + + board_name, Marlin_ver = get_board_name() + + target_env = get_env(board_name, Marlin_ver) + + os.environ["BUILD_TYPE"] = build_type # let sub processes know what is happening + os.environ["TARGET_ENV"] = target_env + os.environ["BOARD_NAME"] = board_name + + auto_build = output_window() + auto_build.start_thread() # executes the "run_PIO" function + + auto_build.root.mainloop() + + + + +if __name__ == '__main__': + + main() diff --git a/buildroot/share/atom/avrdude.conf b/buildroot/share/atom/avrdude.conf new file mode 100644 index 000000000000..1194847f775d --- /dev/null +++ b/buildroot/share/atom/avrdude.conf @@ -0,0 +1,15478 @@ +# $Id: avrdude.conf.in 916 2010-01-15 16:36:13Z joerg_wunsch $ +# +# AVRDUDE Configuration File +# +# This file contains configuration data used by AVRDUDE which describes +# the programming hardware pinouts and also provides part definitions. +# AVRDUDE's "-C" command line option specifies the location of the +# configuration file. The "-c" option names the programmer configuration +# which must match one of the entry's "id" parameter. The "-p" option +# identifies which part AVRDUDE is going to be programming and must match +# one of the parts' "id" parameter. +# +# Possible entry formats are: +# +# programmer +# id = [, [, ] ...] ; # are quoted strings +# desc = ; # quoted string +# type = par | stk500 | stk500v2 | stk500pp | stk500hvsp | stk500generic | +# stk600 | stk600pp | stk600hvsp | +# avr910 | butterfly | usbasp | +# jtagmki | jtagmkii | jtagmkii_isp | jtagmkii_dw | +# jtagmkII_avr32 | jtagmkii_pdi | +# dragon_dw | dragon_jtag | dragon_isp | dragon_pp | +# dragon_hvsp | dragon_pdi | arduino; # programmer type +# baudrate = ; # baudrate for avr910-programmer +# vcc = [, ... ] ; # pin number(s) +# reset = ; # pin number +# sck = ; # pin number +# mosi = ; # pin number +# miso = ; # pin number +# errled = ; # pin number +# rdyled = ; # pin number +# pgmled = ; # pin number +# vfyled = ; # pin number +# ; +# +# part +# id = ; # quoted string +# desc = ; # quoted string +# has_jtag = ; # part has JTAG i/f +# has_debugwire = ; # part has debugWire i/f +# has_pdi = ; # part has PDI i/f +# has_tpi = ; # part has TPI i/f +# devicecode = ; # deprecated, use stk500_devcode +# stk500_devcode = ; # numeric +# avr910_devcode = ; # numeric +# signature = ; # signature bytes +# chip_erase_delay = ; # micro-seconds +# reset = dedicated | io; +# retry_pulse = reset | sck; +# pgm_enable = ; +# chip_erase = ; +# chip_erase_delay = ; # chip erase delay (us) +# # STK500 parameters (parallel programming IO lines) +# pagel = ; # pin name in hex, i.e., 0xD7 +# bs2 = ; # pin name in hex, i.e., 0xA0 +# serial = ; # can use serial downloading +# parallel = ; # can use par. programming +# # STK500v2 parameters, to be taken from Atmel's XML files +# timeout = ; +# stabdelay = ; +# cmdexedelay = ; +# synchloops = ; +# bytedelay = ; +# pollvalue = ; +# pollindex = ; +# predelay = ; +# postdelay = ; +# pollmethod = ; +# mode = ; +# delay = ; +# blocksize = ; +# readsize = ; +# hvspcmdexedelay = ; +# # STK500v2 HV programming parameters, from XML +# pp_controlstack = , , ...; # PP only +# hvsp_controlstack = , , ...; # HVSP only +# hventerstabdelay = ; +# progmodedelay = ; # PP only +# latchcycles = ; +# togglevtg = ; +# poweroffdelay = ; +# resetdelayms = ; +# resetdelayus = ; +# hvleavestabdelay = ; +# resetdelay = ; +# synchcycles = ; # HVSP only +# chiperasepulsewidth = ; # PP only +# chiperasepolltimeout = ; +# chiperasetime = ; # HVSP only +# programfusepulsewidth = ; # PP only +# programfusepolltimeout = ; +# programlockpulsewidth = ; # PP only +# programlockpolltimeout = ; +# # JTAG ICE mkII parameters, also from XML files +# allowfullpagebitstream = ; +# enablepageprogramming = ; +# idr = ; # IO addr of IDR (OCD) reg. +# rampz = ; # IO addr of RAMPZ reg. +# spmcr = ; # mem addr of SPMC[S]R reg. +# eecr = ; # mem addr of EECR reg. +# # (only when != 0x3c) +# is_avr32 = ; # AVR32 part +# +# memory +# paged = ; # yes / no +# size = ; # bytes +# page_size = ; # bytes +# num_pages = ; # numeric +# min_write_delay = ; # micro-seconds +# max_write_delay = ; # micro-seconds +# readback_p1 = ; # byte value +# readback_p2 = ; # byte value +# pwroff_after_write = ; # yes / no +# read = ; +# write = ; +# read_lo = ; +# read_hi = ; +# write_lo = ; +# write_hi = ; +# loadpage_lo = ; +# loadpage_hi = ; +# writepage = ; +# ; +# ; +# +# If any of the above parameters are not specified, the default value +# of 0 is used for numerics or the empty string ("") for string +# values. If a required parameter is left empty, AVRDUDE will +# complain. +# +# NOTES: +# * 'devicecode' is the device code used by the STK500 (see codes +# listed below) +# * Not all memory types will implement all instructions. +# * AVR Fuse bits and Lock bits are implemented as a type of memory. +# * Example memory types are: +# "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high +# fuse), "signature", "calibration", "lock" +# * The memory type specified on the avrdude command line must match +# one of the memory types defined for the specified chip. +# * The pwroff_after_write flag causes avrdude to attempt to +# power the device off and back on after an unsuccessful write to +# the affected memory area if VCC programmer pins are defined. If +# VCC pins are not defined for the programmer, a message +# indicating that the device needs a power-cycle is printed out. +# This flag was added to work around a problem with the +# at90s4433/2333's; see the at90s4433 errata at: +# +# http://www.atmel.com/atmel/acrobat/doc1280.pdf +# +# INSTRUCTION FORMATS +# +# Instruction formats are specified as a comma seperated list of +# string values containing information (bit specifiers) about each +# of the 32 bits of the instruction. Bit specifiers may be one of +# the following formats: +# +# '1' = the bit is always set on input as well as output +# +# '0' = the bit is always clear on input as well as output +# +# 'x' = the bit is ignored on input and output +# +# 'a' = the bit is an address bit, the bit-number matches this bit +# specifier's position within the current instruction byte +# +# 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12 +# is address bit 12 on input, a0 is address bit 0. +# +# 'i' = the bit is an input data bit +# +# 'o' = the bit is an output data bit +# +# Each instruction must be composed of 32 bit specifiers. The +# instruction specification closely follows the instruction data +# provided in Atmel's data sheets for their parts. +# +# See below for some examples. +# +# +# The following are STK500 part device codes to use for the +# "devicecode" field of the part. These came from Atmel's software +# section avr061.zip which accompanies the application note +# AVR061 available from: +# +# http://www.atmel.com/atmel/acrobat/doc2525.pdf +# + +#define ATTINY10 0x10 /* the _old_ one that never existed! */ +#define ATTINY11 0x11 +#define ATTINY12 0x12 +#define ATTINY15 0x13 +#define ATTINY13 0x14 + +#define ATTINY22 0x20 +#define ATTINY26 0x21 +#define ATTINY28 0x22 +#define ATTINY2313 0x23 + +#define AT90S1200 0x33 + +#define AT90S2313 0x40 +#define AT90S2323 0x41 +#define AT90S2333 0x42 +#define AT90S2343 0x43 + +#define AT90S4414 0x50 +#define AT90S4433 0x51 +#define AT90S4434 0x52 +#define ATMEGA48 0x59 + +#define AT90S8515 0x60 +#define AT90S8535 0x61 +#define AT90C8534 0x62 +#define ATMEGA8515 0x63 +#define ATMEGA8535 0x64 + +#define ATMEGA8 0x70 +#define ATMEGA88 0x73 +#define ATMEGA168 0x86 + +#define ATMEGA161 0x80 +#define ATMEGA163 0x81 +#define ATMEGA16 0x82 +#define ATMEGA162 0x83 +#define ATMEGA169 0x84 + +#define ATMEGA323 0x90 +#define ATMEGA32 0x91 + +#define ATMEGA64 0xA0 + +#define ATMEGA103 0xB1 +#define ATMEGA128 0xB2 +#define AT90CAN128 0xB3 +#define AT90CAN64 0xB3 +#define AT90CAN32 0xB3 + +#define AT86RF401 0xD0 + +#define AT89START 0xE0 +#define AT89S51 0xE0 +#define AT89S52 0xE1 + +# The following table lists the devices in the original AVR910 +# appnote: +# |Device |Signature | Code | +# +-------+----------+------+ +# |tiny12 | 1E 90 05 | 0x55 | +# |tiny15 | 1E 90 06 | 0x56 | +# | | | | +# | S1200 | 1E 90 01 | 0x13 | +# | | | | +# | S2313 | 1E 91 01 | 0x20 | +# | S2323 | 1E 91 02 | 0x48 | +# | S2333 | 1E 91 05 | 0x34 | +# | S2343 | 1E 91 03 | 0x4C | +# | | | | +# | S4414 | 1E 92 01 | 0x28 | +# | S4433 | 1E 92 03 | 0x30 | +# | S4434 | 1E 92 02 | 0x6C | +# | | | | +# | S8515 | 1E 93 01 | 0x38 | +# | S8535 | 1E 93 03 | 0x68 | +# | | | | +# |mega32 | 1E 95 01 | 0x72 | +# |mega83 | 1E 93 05 | 0x65 | +# |mega103| 1E 97 01 | 0x41 | +# |mega161| 1E 94 01 | 0x60 | +# |mega163| 1E 94 02 | 0x64 | + +# Appnote AVR109 also has a table of AVR910 device codes, which +# lists: +# dev avr910 signature +# ATmega8 0x77 0x1E 0x93 0x07 +# ATmega8515 0x3B 0x1E 0x93 0x06 +# ATmega8535 0x6A 0x1E 0x93 0x08 +# ATmega16 0x75 0x1E 0x94 0x03 +# ATmega162 0x63 0x1E 0x94 0x04 +# ATmega163 0x66 0x1E 0x94 0x02 +# ATmega169 0x79 0x1E 0x94 0x05 +# ATmega32 0x7F 0x1E 0x95 0x02 +# ATmega323 0x73 0x1E 0x95 0x01 +# ATmega64 0x46 0x1E 0x96 0x02 +# ATmega128 0x44 0x1E 0x97 0x02 +# +# These codes refer to "BOOT" device codes which are apparently +# different than standard device codes, for whatever reasons +# (often one above the standard code). + +# There are several extended versions of AVR910 implementations around +# in the Internet. These add the following codes (only devices that +# actually exist are listed): + +# ATmega8515 0x3A +# ATmega128 0x43 +# ATmega64 0x45 +# ATtiny26 0x5E +# ATmega8535 0x69 +# ATmega32 0x72 +# ATmega16 0x74 +# ATmega8 0x76 +# ATmega169 0x78 + +# +# Overall avrdude defaults +# +default_parallel = "lpt1"; +default_serial = "com1"; + + +# +# PROGRAMMER DEFINITIONS +# + +programmer + id = "arduino"; + desc = "Arduino"; + type = arduino; +; + +programmer + id = "avrisp"; + desc = "Atmel AVR ISP"; + type = stk500; +; + +programmer + id = "avrispv2"; + desc = "Atmel AVR ISP V2"; + type = stk500v2; +; + +programmer + id = "avrispmkII"; + desc = "Atmel AVR ISP mkII"; + type = stk500v2; +; + +programmer + id = "avrisp2"; + desc = "Atmel AVR ISP mkII"; + type = stk500v2; +; + +programmer + id = "buspirate"; + desc = "The Bus Pirate"; + type = buspirate; +; + +# This is supposed to be the "default" STK500 entry. +# Attempts to select the correct firmware version +# by probing for it. Better use one of the entries +# below instead. +programmer + id = "stk500"; + desc = "Atmel STK500"; + type = stk500generic; +; + +programmer + id = "stk500v1"; + desc = "Atmel STK500 Version 1.x firmware"; + type = stk500; +; + +programmer + id = "mib510"; + desc = "Crossbow MIB510 programming board"; + type = stk500; +; + +programmer + id = "stk500v2"; + desc = "Atmel STK500 Version 2.x firmware"; + type = stk500v2; +; + +programmer + id = "stk500pp"; + desc = "Atmel STK500 V2 in parallel programming mode"; + type = stk500pp; +; + +programmer + id = "stk500hvsp"; + desc = "Atmel STK500 V2 in high-voltage serial programming mode"; + type = stk500hvsp; +; + +programmer + id = "stk600"; + desc = "Atmel STK600"; + type = stk600; +; + +programmer + id = "stk600pp"; + desc = "Atmel STK600 in parallel programming mode"; + type = stk600pp; +; + +programmer + id = "stk600hvsp"; + desc = "Atmel STK600 in high-voltage serial programming mode"; + type = stk600hvsp; +; + +programmer + id = "avr910"; + desc = "Atmel Low Cost Serial Programmer"; + type = avr910; +; + +programmer + id = "usbasp"; + desc = "USBasp, http://www.fischl.de/usbasp/"; + type = usbasp; +; + +programmer + id = "usbtiny"; + desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/"; + type = usbtiny; +; + +programmer + id = "butterfly"; + desc = "Atmel Butterfly Development Board"; + type = butterfly; +; + +programmer + id = "avr109"; + desc = "Atmel AppNote AVR109 Boot Loader"; + type = butterfly; +; + +programmer + id = "avr911"; + desc = "Atmel AppNote AVR911 AVROSP"; + type = butterfly; +; + +programmer + id = "jtagmkI"; + desc = "Atmel JTAG ICE (mkI)"; + baudrate = 115200; # default is 115200 + type = jtagmki; +; + +# easier to type +programmer + id = "jtag1"; + desc = "Atmel JTAG ICE (mkI)"; + baudrate = 115200; # default is 115200 + type = jtagmki; +; + +# easier to type +programmer + id = "jtag1slow"; + desc = "Atmel JTAG ICE (mkI)"; + baudrate = 19200; + type = jtagmki; +; + +programmer + id = "jtagmkII"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 19200; # default is 19200 + type = jtagmkii; +; + +# easier to type +programmer + id = "jtag2slow"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 19200; # default is 19200 + type = jtagmkii; +; + +# JTAG ICE mkII @ 115200 Bd +programmer + id = "jtag2fast"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 115200; + type = jtagmkii; +; + +# make the fast one the default, people will love that +programmer + id = "jtag2"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 115200; + type = jtagmkii; +; + +# JTAG ICE mkII in ISP mode +programmer + id = "jtag2isp"; + desc = "Atmel JTAG ICE mkII in ISP mode"; + baudrate = 115200; + type = jtagmkii_isp; +; + +# JTAG ICE mkII in debugWire mode +programmer + id = "jtag2dw"; + desc = "Atmel JTAG ICE mkII in debugWire mode"; + baudrate = 115200; + type = jtagmkii_dw; +; + +# JTAG ICE mkII in AVR32 mode +programmer + id = "jtagmkII_avr32"; + desc = "Atmel JTAG ICE mkII im AVR32 mode"; + baudrate = 115200; + type = jtagmkii_avr32; +; + +# JTAG ICE mkII in AVR32 mode +programmer + id = "jtag2avr32"; + desc = "Atmel JTAG ICE mkII im AVR32 mode"; + baudrate = 115200; + type = jtagmkii_avr32; +; + +# JTAG ICE mkII in PDI mode +programmer + id = "jtag2pdi"; + desc = "Atmel JTAG ICE mkII PDI mode"; + baudrate = 115200; + type = jtagmkii_pdi; +; + +# AVR Dragon in JTAG mode +programmer + id = "dragon_jtag"; + desc = "Atmel AVR Dragon in JTAG mode"; + baudrate = 115200; + type = dragon_jtag; +; + +# AVR Dragon in ISP mode +programmer + id = "dragon_isp"; + desc = "Atmel AVR Dragon in ISP mode"; + baudrate = 115200; + type = dragon_isp; +; + +# AVR Dragon in PP mode +programmer + id = "dragon_pp"; + desc = "Atmel AVR Dragon in PP mode"; + baudrate = 115200; + type = dragon_pp; +; + +# AVR Dragon in HVSP mode +programmer + id = "dragon_hvsp"; + desc = "Atmel AVR Dragon in HVSP mode"; + baudrate = 115200; + type = dragon_hvsp; +; + +# AVR Dragon in debugWire mode +programmer + id = "dragon_dw"; + desc = "Atmel AVR Dragon in debugWire mode"; + baudrate = 115200; + type = dragon_dw; +; + +# AVR Dragon in PDI mode +programmer + id = "dragon_pdi"; + desc = "Atmel AVR Dragon in PDI mode"; + baudrate = 115200; + type = dragon_pdi; +; + +programmer + id = "pavr"; + desc = "Jason Kyle's pAVR Serial Programmer"; + type = avr910; +; + +# Parallel port programmers. + +programmer + id = "bsd"; + desc = "Brian Dean's Programmer, http://www.bsdhome.com/avrdude/"; + type = par; + vcc = 2, 3, 4, 5; + reset = 7; + sck = 8; + mosi = 9; + miso = 10; +; + +programmer + id = "stk200"; + desc = "STK200"; + type = par; + buff = 4, 5; + sck = 6; + mosi = 7; + reset = 9; + miso = 10; +; + +# The programming dongle used by the popular Ponyprog +# utility. It is almost similar to the STK200 one, +# except that there is a LED indicating that the +# programming is currently in progress. + +programmer + id = "pony-stk200"; + desc = "Pony Prog STK200"; + type = par; + buff = 4, 5; + sck = 6; + mosi = 7; + reset = 9; + miso = 10; + pgmled = 8; +; + +programmer + id = "dt006"; + desc = "Dontronics DT006"; + type = par; + reset = 4; + sck = 5; + mosi = 2; + miso = 11; +; + +programmer + id = "bascom"; + desc = "Bascom SAMPLE programming cable"; + type = par; + reset = 4; + sck = 5; + mosi = 2; + miso = 11; +; + +programmer + id = "alf"; + desc = "Nightshade ALF-PgmAVR, http://nightshade.homeip.net/"; + type = par; + vcc = 2, 3, 4, 5; + buff = 6; + reset = 7; + sck = 8; + mosi = 9; + miso = 10; + errled = 1; + rdyled = 14; + pgmled = 16; + vfyled = 17; +; + +programmer + id = "sp12"; + desc = "Steve Bolt's Programmer"; + type = par; + vcc = 4,5,6,7,8; + reset = 3; + sck = 2; + mosi = 9; + miso = 11; +; + +programmer + id = "picoweb"; + desc = "Picoweb Programming Cable, http://www.picoweb.net/"; + type = par; + reset = 2; + sck = 3; + mosi = 4; + miso = 13; +; + +programmer + id = "abcmini"; + desc = "ABCmini Board, aka Dick Smith HOTCHIP"; + type = par; + reset = 4; + sck = 3; + mosi = 2; + miso = 10; +; + +programmer + id = "futurlec"; + desc = "Futurlec.com programming cable."; + type = par; + reset = 3; + sck = 2; + mosi = 1; + miso = 10; +; + + +# From the contributor of the "xil" jtag cable: +# The "vcc" definition isn't really vcc (the cable gets its power from +# the programming circuit) but is necessary to switch one of the +# buffer lines (trying to add it to the "buff" lines doesn't work). +# With this, TMS connects to RESET, TDI to MOSI, TDO to MISO and TCK +# to SCK (plus vcc/gnd of course) +programmer + id = "xil"; + desc = "Xilinx JTAG cable"; + type = par; + mosi = 2; + sck = 3; + reset = 4; + buff = 5; + miso = 13; + vcc = 6; +; + + +programmer + id = "dapa"; + desc = "Direct AVR Parallel Access cable"; + type = par; + vcc = 3; + reset = 16; + sck = 1; + mosi = 2; + miso = 11; +; + +programmer + id = "atisp"; + desc = "AT-ISP V1.1 programming cable for AVR-SDK1 from micro-research.co.th"; + type = par; + reset = ~6; + sck = ~8; + mosi = ~7; + miso = ~10; +; + +programmer + id = "ere-isp-avr"; + desc = "ERE ISP-AVR "; + type = par; + reset = ~4; + sck = 3; + mosi = 2; + miso = 10; +; + +programmer + id = "blaster"; + desc = "Altera ByteBlaster"; + type = par; + sck = 2; + miso = 11; + reset = 3; + mosi = 8; + buff = 14; +; + +# It is almost same as pony-stk200, except vcc on pin 5 to auto +# disconnect port (download on http://electropol.free.fr) +programmer + id = "frank-stk200"; + desc = "Frank STK200"; + type = par; + vcc = 5; + sck = 6; + mosi = 7; + reset = 9; + miso = 10; + pgmled = 8; +; + +# The AT98ISP Cable is a simple parallel dongle for AT89 family. +# http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2877 +programmer +id = "89isp"; +desc = "Atmel at89isp cable"; +type = par; +reset = 17; +sck = 1; +mosi = 2; +miso = 10; +; + + +# +# some ultra cheap programmers use bitbanging on the +# serialport. +# +# PC - DB9 - Pins for RS232: +# +# GND 5 -- |O +# | O| <- 9 RI +# DTR 4 <- |O | +# | O| <- 8 CTS +# TXD 3 <- |O | +# | O| -> 7 RTS +# RXD 2 -> |O | +# | O| <- 6 DSR +# DCD 1 -> |O +# +# Using RXD is currently not supported. +# Using RI is not supported under Win32 but is supported under Posix. + +# serial ponyprog design (dasa2 in uisp) +# reset=!txd sck=rts mosi=dtr miso=cts + +programmer + id = "ponyser"; + desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts"; + type = serbb; + reset = ~3; + sck = 7; + mosi = 4; + miso = 8; +; + +# Same as above, different name +# reset=!txd sck=rts mosi=dtr miso=cts + +programmer + id = "siprog"; + desc = "Lancos SI-Prog "; + type = serbb; + reset = ~3; + sck = 7; + mosi = 4; + miso = 8; +; + +# unknown (dasa in uisp) +# reset=rts sck=dtr mosi=txd miso=cts + +programmer + id = "dasa"; + desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts"; + type = serbb; + reset = 7; + sck = 4; + mosi = 3; + miso = 8; +; + +# unknown (dasa3 in uisp) +# reset=!dtr sck=rts mosi=txd miso=cts + +programmer + id = "dasa3"; + desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts"; + type = serbb; + reset = ~4; + sck = 7; + mosi = 3; + miso = 8; +; + +# C2N232i (jumper configuration "auto") +# reset=dtr sck=!rts mosi=!txd miso=!cts + +programmer + id = "c2n232i"; + desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts"; + type = serbb; + reset = 4; + sck = ~7; + mosi = ~3; + miso = ~8; +; + +# +# PART DEFINITIONS +# + +#------------------------------------------------------------ +# ATtiny11 +#------------------------------------------------------------ + +# This is an HVSP-only device. + +part + id = "t11"; + desc = "ATtiny11"; + stk500_devcode = 0x11; + signature = 0x1e 0x90 0x04; + chip_erase_delay = 20000; + + timeout = 200; + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + blocksize = 64; + readsize = 256; + delay = 5; + ; + + memory "flash" + size = 1024; + blocksize = 128; + readsize = 256; + delay = 3; + ; + + memory "signature" + size = 3; + ; + + memory "lock" + size = 1; + ; + + memory "calibration" + size = 1; + ; + + memory "fuse" + size = 1; + ; +; + +#------------------------------------------------------------ +# ATtiny12 +#------------------------------------------------------------ + +part + id = "t12"; + desc = "ATtiny12"; + stk500_devcode = 0x12; + avr910_devcode = 0x55; + signature = 0x1e 0x90 0x05; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 8; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + size = 1024; + min_write_delay = 4500; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# ATtiny13 +#------------------------------------------------------------ + +part + id = "t13"; + desc = "ATtiny13"; + has_debugwire = yes; + flash_instr = 0xB4, 0x0E, 0x1E; + eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x14; + signature = 0x1e 0x90 0x07; + chip_erase_delay = 4000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 90; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 1024; + page_size = 32; + num_pages = 32; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny15 +#------------------------------------------------------------ + +part + id = "t15"; + desc = "ATtiny15"; + stk500_devcode = 0x13; + avr910_devcode = 0x56; + signature = 0x1e 0x90 0x06; + chip_erase_delay = 8200; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 5; + synchcycles = 6; + latchcycles = 16; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + min_write_delay = 8200; + max_write_delay = 8200; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + size = 1024; + min_write_delay = 4100; + max_write_delay = 4100; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x o o o o x x o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x i i i i 1 1 i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# AT90s1200 +#------------------------------------------------------------ + +part + id = "1200"; + desc = "AT90S1200"; + stk500_devcode = 0x33; + avr910_devcode = 0x13; + signature = 0x1e 0x90 0x01; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 1; + bytedelay = 0; + pollindex = 0; + pollvalue = 0xFF; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 64; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 32; + readsize = 256; + ; + memory "flash" + size = 1024; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x02; + delay = 15; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s4414 +#------------------------------------------------------------ + +part + id = "4414"; + desc = "AT90S4414"; + stk500_devcode = 0x50; + avr910_devcode = 0x28; + signature = 0x1e 0x92 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s2313 +#------------------------------------------------------------ + +part + id = "2313"; + desc = "AT90S2313"; + stk500_devcode = 0x40; + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 128; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 2048; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s2333 +#------------------------------------------------------------ + +part + id = "2333"; +##### WARNING: No XML file for device 'AT90S2333'! ##### + desc = "AT90S2333"; + stk500_devcode = 0x42; + avr910_devcode = 0x34; + signature = 0x1e 0x91 0x05; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + + +#------------------------------------------------------------ +# AT90s2343 (also AT90s2323 and ATtiny22) +#------------------------------------------------------------ + +part + id = "2343"; + desc = "AT90S2343"; + stk500_devcode = 0x43; + avr910_devcode = 0x4c; + signature = 0x1e 0x91 0x03; + chip_erase_delay = 18000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 0; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 128; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o o x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o o x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + + +#------------------------------------------------------------ +# AT90s4433 +#------------------------------------------------------------ + +part + id = "4433"; + desc = "AT90S4433"; + stk500_devcode = 0x51; + avr910_devcode = 0x30; + signature = 0x1e 0x92 0x03; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s4434 +#------------------------------------------------------------ + +part + id = "4434"; +##### WARNING: No XML file for device 'AT90S4434'! ##### + desc = "AT90S4434"; + stk500_devcode = 0x52; + avr910_devcode = 0x6c; + signature = 0x1e 0x92 0x02; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s8515 +#------------------------------------------------------------ + +part + id = "8515"; + desc = "AT90S8515"; + stk500_devcode = 0x60; + avr910_devcode = 0x38; + signature = 0x1e 0x93 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 8192; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s8535 +#------------------------------------------------------------ + +part + id = "8535"; + desc = "AT90S8535"; + stk500_devcode = 0x61; + avr910_devcode = 0x68; + signature = 0x1e 0x93 0x03; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 8192; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x x o"; + write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o x x x x x x"; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# ATmega103 +#------------------------------------------------------------ + +part + id = "m103"; + desc = "ATMEGA103"; + stk500_devcode = 0xB1; + avr910_devcode = 0x41; + signature = 0x1e 0x97 0x01; + chip_erase_delay = 112000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE, + 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE, + 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A, + 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 10; + + memory "eeprom" + size = 4096; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 22000; + max_write_delay = 56000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x11; + delay = 70; + blocksize = 256; + readsize = 256; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o x o 1 o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega64 +#------------------------------------------------------------ + +part + id = "m64"; + desc = "ATMEGA64"; + has_jtag = yes; + stk500_devcode = 0xA0; + avr910_devcode = 0x45; + signature = 0x1e 0x96 0x02; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x22; + spmcr = 0x68; + allowfullpagebitstream = yes; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + + +#------------------------------------------------------------ +# ATmega128 +#------------------------------------------------------------ + +part + id = "m128"; + desc = "ATMEGA128"; + has_jtag = yes; + stk500_devcode = 0xB2; + avr910_devcode = 0x43; + signature = 0x1e 0x97 0x02; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x22; + spmcr = 0x68; + rampz = 0x3b; + allowfullpagebitstream = yes; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN128 +#------------------------------------------------------------ + +part + id = "c128"; + desc = "AT90CAN128"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x97 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN64 +#------------------------------------------------------------ + +part + id = "c64"; + desc = "AT90CAN64"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x96 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN32 +#------------------------------------------------------------ + +part + id = "c32"; + desc = "AT90CAN32"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x95 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 256; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega16 +#------------------------------------------------------------ + +part + id = "m16"; + desc = "ATMEGA16"; + has_jtag = yes; + stk500_devcode = 0x82; + avr910_devcode = 0x74; + signature = 0x1e 0x94 0x03; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 100; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = yes; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "calibration" + size = 4; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega164P +#------------------------------------------------------------ + +# close to ATmega16 + +part + id = "m164p"; + desc = "ATMEGA164P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x94 0x0a; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega324P +#------------------------------------------------------------ + +# similar to ATmega164P + +part + id = "m324p"; + desc = "ATMEGA324P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x95 0x08; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega644 +#------------------------------------------------------------ + +# similar to ATmega164 + +part + id = "m644"; + desc = "ATMEGA644"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x96 0x09; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega644P +#------------------------------------------------------------ + +# similar to ATmega164p + +part + id = "m644p"; + desc = "ATMEGA644P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x96 0x0a; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega1284P +#------------------------------------------------------------ + +# similar to ATmega164p + +part + id = "m1284p"; + desc = "ATMEGA1284P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x97 0x05; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega162 +#------------------------------------------------------------ + +part + id = "m162"; + desc = "ATMEGA162"; + has_jtag = yes; + stk500_devcode = 0x83; + avr910_devcode = 0x63; + signature = 0x1e 0x94 0x04; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + + idr = 0x04; + spmcr = 0x57; + allowfullpagebitstream = yes; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + + ; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; +; + + + +#------------------------------------------------------------ +# ATmega163 +#------------------------------------------------------------ + +part + id = "m163"; + desc = "ATMEGA163"; + stk500_devcode = 0x81; + avr910_devcode = 0x64; + signature = 0x1e 0x94 0x02; + chip_erase_delay = 32000; + pagel = 0xd7; + bs2 = 0xa0; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 30; + programfusepulsewidth = 0; + programfusepolltimeout = 2; + programlockpulsewidth = 0; + programlockpolltimeout = 2; + + + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 16000; + max_write_delay = 16000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x11; + delay = 20; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o x x o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i 1 1 i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x 1 o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x 0 x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega169 +#------------------------------------------------------------ + +part + id = "m169"; + desc = "ATMEGA169"; + has_jtag = yes; + stk500_devcode = 0x85; + avr910_devcode = 0x78; + signature = 0x1e 0x94 0x05; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega329 +#------------------------------------------------------------ + +part + id = "m329"; + desc = "ATMEGA329"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x03; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega329P +#------------------------------------------------------------ +# Identical to ATmega329 except of the signature + +part + id = "m329p"; + desc = "ATMEGA329P"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x0b; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega3290 +#------------------------------------------------------------ + +# identical to ATmega329 + +part + id = "m3290"; + desc = "ATMEGA3290"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x04; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a3 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega3290P +#------------------------------------------------------------ + +# identical to ATmega3290 except of the signature + +part + id = "m3290p"; + desc = "ATMEGA3290P"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x0c; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a3 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega649 +#------------------------------------------------------------ + +part + id = "m649"; + desc = "ATMEGA649"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x96 0x03; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega6490 +#------------------------------------------------------------ + +# identical to ATmega649 + +part + id = "m6490"; + desc = "ATMEGA6490"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x96 0x04; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega32 +#------------------------------------------------------------ + +part + id = "m32"; + desc = "ATMEGA32"; + has_jtag = yes; + stk500_devcode = 0x91; + avr910_devcode = 0x72; + signature = 0x1e 0x95 0x02; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = yes; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega161 +#------------------------------------------------------------ + +part + id = "m161"; + desc = "ATMEGA161"; + stk500_devcode = 0x80; + avr910_devcode = 0x60; + signature = 0x1e 0x94 0x01; + chip_erase_delay = 28000; + pagel = 0xd7; + bs2 = 0xa0; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 30; + programfusepulsewidth = 0; + programfusepolltimeout = 2; + programlockpulsewidth = 0; + programlockpolltimeout = 2; + + memory "eeprom" + size = 512; + min_write_delay = 3400; + max_write_delay = 3400; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 14000; + max_write_delay = 14000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 16; + blocksize = 128; + readsize = 256; + ; + + memory "fuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x o x o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x 1 i 1 i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega8 +#------------------------------------------------------------ + +part + id = "m8"; + desc = "ATMEGA8"; + stk500_devcode = 0x70; + avr910_devcode = 0x76; + signature = 0x1e 0x93 0x07; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 10000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega8515 +#------------------------------------------------------------ + +part + id = "m8515"; + desc = "ATMEGA8515"; + stk500_devcode = 0x63; + avr910_devcode = 0x3A; + signature = 0x1e 0x93 0x06; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + + +#------------------------------------------------------------ +# ATmega8535 +#------------------------------------------------------------ + +part + id = "m8535"; + desc = "ATMEGA8535"; + stk500_devcode = 0x64; + avr910_devcode = 0x69; + signature = 0x1e 0x93 0x08; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATtiny26 +#------------------------------------------------------------ + +part + id = "t26"; + desc = "ATTINY26"; + stk500_devcode = 0x21; + avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x09; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 16; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x x x x i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny261 +#------------------------------------------------------------ +# Close to ATtiny26 + +part + id = "t261"; + desc = "ATTINY261"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0c; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + size = 128; + page_size = 4; + num_pages = 32; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny461 +#------------------------------------------------------------ +# Close to ATtiny261 + +part + id = "t461"; + desc = "ATTINY461"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x92 0x08; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + size = 256; + page_size = 4; + num_pages = 64; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny861 +#------------------------------------------------------------ +# Close to ATtiny461 + +part + id = "t861"; + desc = "ATTINY861"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x93 0x0d; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + size = 512; + num_pages = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATmega48 +#------------------------------------------------------------ + +part + id = "m48"; + desc = "ATMEGA48"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x59; +# avr910_devcode = 0x; + signature = 0x1e 0x92 0x05; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 45000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 256; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x x", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega88 +#------------------------------------------------------------ + +part + id = "m88"; + desc = "ATMEGA88"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x73; +# avr910_devcode = 0x; + signature = 0x1e 0x93 0x0a; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 512; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega168 +#------------------------------------------------------------ + +part + id = "m168"; + desc = "ATMEGA168"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x86; + # avr910_devcode = 0x; + signature = 0x1e 0x94 0x06; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 512; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# ATtiny88 +#------------------------------------------------------------ + +part + id = "t88"; + desc = "attiny88"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x73; +# avr910_devcode = 0x; + signature = 0x1e 0x93 0x11; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 64; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 64; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega328P +#------------------------------------------------------------ + +part + id = "m328p"; + desc = "ATMEGA328P"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x86; + # avr910_devcode = 0x; + signature = 0x1e 0x95 0x0F; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 1024; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# ATtiny2313 +#------------------------------------------------------------ + +part + id = "t2313"; + desc = "ATtiny2313"; + has_debugwire = yes; + flash_instr = 0xB2, 0x0F, 0x1F; + eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x23; +## Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0a; + pagel = 0xD4; + bs2 = 0xD6; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, + 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, + 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, + 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + +# The information in the data sheet of April/2004 is wrong, this works: + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + +# The information in the data sheet of April/2004 is wrong, this works: + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + +# The information in the data sheet of April/2004 is wrong, this works: + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +# The Tiny2313 has calibration data for both 4 MHz and 8 MHz. +# The information in the data sheet of April/2004 is wrong, this works: + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM2 +#------------------------------------------------------------ + +part + id = "pwm2"; + desc = "AT90PWM2"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x81; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; +# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM3 +#------------------------------------------------------------ + +# Completely identical to AT90PWM2 (including the signature!) + +part + id = "pwm3"; + desc = "AT90PWM3"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x81; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; +# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM2B +#------------------------------------------------------------ +# Same as AT90PWM2 but different signature. + +part + id = "pwm2b"; + desc = "AT90PWM2B"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x83; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM3B +#------------------------------------------------------------ + +# Completely identical to AT90PWM2B (including the signature!) + +part + id = "pwm3b"; + desc = "AT90PWM3B"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x83; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny25 +#------------------------------------------------------------ + +part + id = "t25"; + desc = "ATtiny25"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x08; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny25 has Signature Bytes: 0x1E 0x91 0x08. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny45 +#------------------------------------------------------------ + +part + id = "t45"; + desc = "ATtiny45"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x92 0x06; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!) + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny85 +#------------------------------------------------------------ + +part + id = "t85"; + desc = "ATtiny85"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x93 0x0b; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega640 +#------------------------------------------------------------ +# Almost same as ATmega1280, except for different memory sizes + +part + id = "m640"; + desc = "ATMEGA640"; + signature = 0x1e 0x96 0x08; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega1280 +#------------------------------------------------------------ + +part + id = "m1280"; + desc = "ATMEGA1280"; + signature = 0x1e 0x97 0x03; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega1281 +#------------------------------------------------------------ +# Identical to ATmega1280 + +part + id = "m1281"; + desc = "ATMEGA1281"; + signature = 0x1e 0x97 0x04; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega2560 +#------------------------------------------------------------ + +part + id = "m2560"; + desc = "ATMEGA2560"; + signature = 0x1e 0x98 0x01; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 262144; + page_size = 256; + num_pages = 1024; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + load_ext_addr = " 0 1 0 0 1 1 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 a16", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega2561 +#------------------------------------------------------------ + +part + id = "m2561"; + desc = "ATMEGA2561"; + signature = 0x1e 0x98 0x02; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 262144; + page_size = 256; + num_pages = 1024; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + load_ext_addr = " 0 1 0 0 1 1 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 a16", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega128RFA1 +#------------------------------------------------------------ +# Identical to ATmega2561 but half the ROM + +part + id = "m128rfa1"; + desc = "ATMEGA128RFA1"; + signature = 0x1e 0xa7 0x01; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xE2; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny24 +#------------------------------------------------------------ + +part + id = "t24"; + desc = "ATtiny24"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x0b; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny44 +#------------------------------------------------------------ + +part + id = "t44"; + desc = "ATtiny44"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x92 0x07; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 256; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny44 has Signature Bytes: 0x1E 0x92 0x07. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny84 +#------------------------------------------------------------ + +part + id = "t84"; + desc = "ATtiny84"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x93 0x0c; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega32u4 +#------------------------------------------------------------ + +part + id = "m32u4"; + desc = "ATmega32U4"; + signature = 0x1e 0x95 0x87; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB646 +#------------------------------------------------------------ + +part + id = "usb646"; + desc = "AT90USB646"; + signature = 0x1e 0x96 0x82; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB647 +#------------------------------------------------------------ +# identical to AT90USB646 + +part + id = "usb647"; + desc = "AT90USB647"; + signature = 0x1e 0x96 0x82; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB1286 +#------------------------------------------------------------ + +part + id = "usb1286"; + desc = "AT90USB1286"; + signature = 0x1e 0x97 0x82; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB1287 +#------------------------------------------------------------ +# identical to AT90USB1286 + +part + id = "usb1287"; + desc = "AT90USB1287"; + signature = 0x1e 0x97 0x82; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# AT90USB162 +#------------------------------------------------------------ + +part + id = "usb162"; + desc = "AT90USB162"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x94 0x82; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB82 +#------------------------------------------------------------ +# Changes against AT90USB162 (beside IDs) +# memory "flash" +# size = 8192; +# num_pages = 64; + +part + id = "usb82"; + desc = "AT90USB82"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x93 0x82; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega325 +#------------------------------------------------------------ + +part + id = "m325"; + desc = "ATMEGA325"; + signature = 0x1e 0x95 0x05; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega645 +#------------------------------------------------------------ + +part + id = "m645"; + desc = "ATMEGA645"; + signature = 0x1E 0x96 0x05; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega3250 +#------------------------------------------------------------ + +part + id = "m3250"; + desc = "ATMEGA3250"; + signature = 0x1E 0x95 0x06; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega6450 +#------------------------------------------------------------ + +part + id = "m6450"; + desc = "ATMEGA6450"; + signature = 0x1E 0x96 0x06; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATXMEGA64A1 +#------------------------------------------------------------ + +part + id = "x64a1"; + desc = "ATXMEGA64A1"; + signature = 0x1e 0x96 0x4e; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00010000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x0080f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00810000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00011000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA128A1 +#------------------------------------------------------------ + +part + id = "x128a1"; + desc = "ATXMEGA128A1"; + signature = 0x1e 0x97 0x4c; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00020000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0081e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00022000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA128A1REVD +#------------------------------------------------------------ + +part + id = "x128a1d"; + desc = "ATXMEGA128A1REVD"; + signature = 0x1e 0x97 0x41; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00020000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0081e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00022000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA192A1 +#------------------------------------------------------------ + +part + id = "x192a1"; + desc = "ATXMEGA192A1"; + signature = 0x1e 0x97 0x4e; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00030000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0082e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00830000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00032000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA256A1 +#------------------------------------------------------------ + +part + id = "x256a1"; + desc = "ATXMEGA256A1"; + signature = 0x1e 0x98 0x46; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x1000; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00040000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0083e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00840000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00042000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA64A3 +#------------------------------------------------------------ + +part + id = "x64a3"; + desc = "ATXMEGA64A3"; + signature = 0x1e 0x96 0x42; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00010000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x0080f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00810000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00011000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA128A3 +#------------------------------------------------------------ + +part + id = "x128a3"; + desc = "ATXMEGA128A3"; + signature = 0x1e 0x97 0x42; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00020000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0081e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00022000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA192A3 +#------------------------------------------------------------ + +part + id = "x192a3"; + desc = "ATXMEGA192A3"; + signature = 0x1e 0x97 0x44; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00030000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0082e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00830000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00032000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA256A3 +#------------------------------------------------------------ + +part + id = "x256a3"; + desc = "ATXMEGA256A3"; + signature = 0x1e 0x98 0x42; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x1000; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00040000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0083e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00840000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00042000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA256A3B +#------------------------------------------------------------ + +part + id = "x256a3b"; + desc = "ATXMEGA256A3B"; + signature = 0x1e 0x98 0x43; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x1000; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00040000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0083e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00840000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00042000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA16A4 +#------------------------------------------------------------ + +part + id = "x16a4"; + desc = "ATXMEGA16A4"; + signature = 0x1e 0x94 0x41; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0400; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00004000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x00803000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00804000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00005000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA32A4 +#------------------------------------------------------------ + +part + id = "x32a4"; + desc = "ATXMEGA32A4"; + signature = 0x1e 0x95 0x41; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0400; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00008000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x00807000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00808000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00009000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA64A4 +#------------------------------------------------------------ + +part + id = "x64a4"; + desc = "ATXMEGA64A4"; + signature = 0x1e 0x96 0x46; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00010000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x0080f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00810000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00011000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA128A4 +#------------------------------------------------------------ + +part + id = "x128a4"; + desc = "ATXMEGA128A4"; + signature = 0x1e 0x97 0x46; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00020000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0081e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00022000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + + +#------------------------------------------------------------ +# AVR32UC3A0512 +#------------------------------------------------------------ + +part + id = "ucr2"; + desc = "32UC3A0512"; + signature = 0xED 0xC0 0x3F; + has_jtag = yes; + is_avr32 = yes; + + memory "flash" + paged = yes; + page_size = 512; # bytes + readsize = 512; # bytes + num_pages = 1024; # could be set dynamicly + size = 0x00080000; # could be set dynamicly + offset = 0x80000000; + ; +; + +#------------------------------------------------------------ +# ATtiny4 +#------------------------------------------------------------ + +part + id = "t4"; + desc = "ATtiny4"; + signature = 0x1e 0x8f 0x0a; + has_tpi = yes; + + memory "flash" + size = 512; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; + + memory "signature" + size = 3; + offset = 0x3fc0; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + ; +; + + +#------------------------------------------------------------ +# ATtiny5 +#------------------------------------------------------------ + +part + id = "t5"; + desc = "ATtiny5"; + signature = 0x1e 0x8f 0x09; + has_tpi = yes; + + memory "flash" + size = 512; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; + + memory "signature" + size = 3; + offset = 0x3fc0; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + ; +; + + +#------------------------------------------------------------ +# ATtiny9 +#------------------------------------------------------------ + +part + id = "t8"; + desc = "ATtiny9"; + signature = 0x1e 0x90 0x08; + has_tpi = yes; + + memory "flash" + size = 1024; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; + + memory "signature" + size = 3; + offset = 0x3fc0; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + ; +; + + +#------------------------------------------------------------ +# ATtiny10 +#------------------------------------------------------------ + +part + id = "t10"; + desc = "ATtiny10"; + signature = 0x1e 0x90 0x03; + has_tpi = yes; + + memory "flash" + size = 1024; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; + + memory "signature" + size = 3; + offset = 0x3fc0; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + ; +; + + diff --git a/buildroot/share/atom/avrdude_5.10_linux b/buildroot/share/atom/avrdude_5.10_linux new file mode 100644 index 000000000000..0b7f3fda4350 Binary files /dev/null and b/buildroot/share/atom/avrdude_5.10_linux differ diff --git a/buildroot/share/atom/avrdude_5.10_macOS b/buildroot/share/atom/avrdude_5.10_macOS new file mode 100644 index 000000000000..dbcfc997e4b3 Binary files /dev/null and b/buildroot/share/atom/avrdude_5.10_macOS differ diff --git a/buildroot/share/atom/avrdude_linux.conf b/buildroot/share/atom/avrdude_linux.conf new file mode 100644 index 000000000000..46e7ace34b21 --- /dev/null +++ b/buildroot/share/atom/avrdude_linux.conf @@ -0,0 +1,15478 @@ +# $Id: avrdude.conf.in 916 2010-01-15 16:36:13Z joerg_wunsch $ +# +# AVRDUDE Configuration File +# +# This file contains configuration data used by AVRDUDE which describes +# the programming hardware pinouts and also provides part definitions. +# AVRDUDE's "-C" command line option specifies the location of the +# configuration file. The "-c" option names the programmer configuration +# which must match one of the entry's "id" parameter. The "-p" option +# identifies which part AVRDUDE is going to be programming and must match +# one of the parts' "id" parameter. +# +# Possible entry formats are: +# +# programmer +# id = [, [, ] ...] ; # are quoted strings +# desc = ; # quoted string +# type = par | stk500 | stk500v2 | stk500pp | stk500hvsp | stk500generic | +# stk600 | stk600pp | stk600hvsp | +# avr910 | butterfly | usbasp | +# jtagmki | jtagmkii | jtagmkii_isp | jtagmkii_dw | +# jtagmkII_avr32 | jtagmkii_pdi | +# dragon_dw | dragon_jtag | dragon_isp | dragon_pp | +# dragon_hvsp | dragon_pdi | arduino; # programmer type +# baudrate = ; # baudrate for avr910-programmer +# vcc = [, ... ] ; # pin number(s) +# reset = ; # pin number +# sck = ; # pin number +# mosi = ; # pin number +# miso = ; # pin number +# errled = ; # pin number +# rdyled = ; # pin number +# pgmled = ; # pin number +# vfyled = ; # pin number +# ; +# +# part +# id = ; # quoted string +# desc = ; # quoted string +# has_jtag = ; # part has JTAG i/f +# has_debugwire = ; # part has debugWire i/f +# has_pdi = ; # part has PDI i/f +# has_tpi = ; # part has TPI i/f +# devicecode = ; # deprecated, use stk500_devcode +# stk500_devcode = ; # numeric +# avr910_devcode = ; # numeric +# signature = ; # signature bytes +# chip_erase_delay = ; # micro-seconds +# reset = dedicated | io; +# retry_pulse = reset | sck; +# pgm_enable = ; +# chip_erase = ; +# chip_erase_delay = ; # chip erase delay (us) +# # STK500 parameters (parallel programming IO lines) +# pagel = ; # pin name in hex, i.e., 0xD7 +# bs2 = ; # pin name in hex, i.e., 0xA0 +# serial = ; # can use serial downloading +# parallel = ; # can use par. programming +# # STK500v2 parameters, to be taken from Atmel's XML files +# timeout = ; +# stabdelay = ; +# cmdexedelay = ; +# synchloops = ; +# bytedelay = ; +# pollvalue = ; +# pollindex = ; +# predelay = ; +# postdelay = ; +# pollmethod = ; +# mode = ; +# delay = ; +# blocksize = ; +# readsize = ; +# hvspcmdexedelay = ; +# # STK500v2 HV programming parameters, from XML +# pp_controlstack = , , ...; # PP only +# hvsp_controlstack = , , ...; # HVSP only +# hventerstabdelay = ; +# progmodedelay = ; # PP only +# latchcycles = ; +# togglevtg = ; +# poweroffdelay = ; +# resetdelayms = ; +# resetdelayus = ; +# hvleavestabdelay = ; +# resetdelay = ; +# synchcycles = ; # HVSP only +# chiperasepulsewidth = ; # PP only +# chiperasepolltimeout = ; +# chiperasetime = ; # HVSP only +# programfusepulsewidth = ; # PP only +# programfusepolltimeout = ; +# programlockpulsewidth = ; # PP only +# programlockpolltimeout = ; +# # JTAG ICE mkII parameters, also from XML files +# allowfullpagebitstream = ; +# enablepageprogramming = ; +# idr = ; # IO addr of IDR (OCD) reg. +# rampz = ; # IO addr of RAMPZ reg. +# spmcr = ; # mem addr of SPMC[S]R reg. +# eecr = ; # mem addr of EECR reg. +# # (only when != 0x3c) +# is_avr32 = ; # AVR32 part +# +# memory +# paged = ; # yes / no +# size = ; # bytes +# page_size = ; # bytes +# num_pages = ; # numeric +# min_write_delay = ; # micro-seconds +# max_write_delay = ; # micro-seconds +# readback_p1 = ; # byte value +# readback_p2 = ; # byte value +# pwroff_after_write = ; # yes / no +# read = ; +# write = ; +# read_lo = ; +# read_hi = ; +# write_lo = ; +# write_hi = ; +# loadpage_lo = ; +# loadpage_hi = ; +# writepage = ; +# ; +# ; +# +# If any of the above parameters are not specified, the default value +# of 0 is used for numerics or the empty string ("") for string +# values. If a required parameter is left empty, AVRDUDE will +# complain. +# +# NOTES: +# * 'devicecode' is the device code used by the STK500 (see codes +# listed below) +# * Not all memory types will implement all instructions. +# * AVR Fuse bits and Lock bits are implemented as a type of memory. +# * Example memory types are: +# "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high +# fuse), "signature", "calibration", "lock" +# * The memory type specified on the avrdude command line must match +# one of the memory types defined for the specified chip. +# * The pwroff_after_write flag causes avrdude to attempt to +# power the device off and back on after an unsuccessful write to +# the affected memory area if VCC programmer pins are defined. If +# VCC pins are not defined for the programmer, a message +# indicating that the device needs a power-cycle is printed out. +# This flag was added to work around a problem with the +# at90s4433/2333's; see the at90s4433 errata at: +# +# http://www.atmel.com/atmel/acrobat/doc1280.pdf +# +# INSTRUCTION FORMATS +# +# Instruction formats are specified as a comma seperated list of +# string values containing information (bit specifiers) about each +# of the 32 bits of the instruction. Bit specifiers may be one of +# the following formats: +# +# '1' = the bit is always set on input as well as output +# +# '0' = the bit is always clear on input as well as output +# +# 'x' = the bit is ignored on input and output +# +# 'a' = the bit is an address bit, the bit-number matches this bit +# specifier's position within the current instruction byte +# +# 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12 +# is address bit 12 on input, a0 is address bit 0. +# +# 'i' = the bit is an input data bit +# +# 'o' = the bit is an output data bit +# +# Each instruction must be composed of 32 bit specifiers. The +# instruction specification closely follows the instruction data +# provided in Atmel's data sheets for their parts. +# +# See below for some examples. +# +# +# The following are STK500 part device codes to use for the +# "devicecode" field of the part. These came from Atmel's software +# section avr061.zip which accompanies the application note +# AVR061 available from: +# +# http://www.atmel.com/atmel/acrobat/doc2525.pdf +# + +#define ATTINY10 0x10 /* the _old_ one that never existed! */ +#define ATTINY11 0x11 +#define ATTINY12 0x12 +#define ATTINY15 0x13 +#define ATTINY13 0x14 + +#define ATTINY22 0x20 +#define ATTINY26 0x21 +#define ATTINY28 0x22 +#define ATTINY2313 0x23 + +#define AT90S1200 0x33 + +#define AT90S2313 0x40 +#define AT90S2323 0x41 +#define AT90S2333 0x42 +#define AT90S2343 0x43 + +#define AT90S4414 0x50 +#define AT90S4433 0x51 +#define AT90S4434 0x52 +#define ATMEGA48 0x59 + +#define AT90S8515 0x60 +#define AT90S8535 0x61 +#define AT90C8534 0x62 +#define ATMEGA8515 0x63 +#define ATMEGA8535 0x64 + +#define ATMEGA8 0x70 +#define ATMEGA88 0x73 +#define ATMEGA168 0x86 + +#define ATMEGA161 0x80 +#define ATMEGA163 0x81 +#define ATMEGA16 0x82 +#define ATMEGA162 0x83 +#define ATMEGA169 0x84 + +#define ATMEGA323 0x90 +#define ATMEGA32 0x91 + +#define ATMEGA64 0xA0 + +#define ATMEGA103 0xB1 +#define ATMEGA128 0xB2 +#define AT90CAN128 0xB3 +#define AT90CAN64 0xB3 +#define AT90CAN32 0xB3 + +#define AT86RF401 0xD0 + +#define AT89START 0xE0 +#define AT89S51 0xE0 +#define AT89S52 0xE1 + +# The following table lists the devices in the original AVR910 +# appnote: +# |Device |Signature | Code | +# +-------+----------+------+ +# |tiny12 | 1E 90 05 | 0x55 | +# |tiny15 | 1E 90 06 | 0x56 | +# | | | | +# | S1200 | 1E 90 01 | 0x13 | +# | | | | +# | S2313 | 1E 91 01 | 0x20 | +# | S2323 | 1E 91 02 | 0x48 | +# | S2333 | 1E 91 05 | 0x34 | +# | S2343 | 1E 91 03 | 0x4C | +# | | | | +# | S4414 | 1E 92 01 | 0x28 | +# | S4433 | 1E 92 03 | 0x30 | +# | S4434 | 1E 92 02 | 0x6C | +# | | | | +# | S8515 | 1E 93 01 | 0x38 | +# | S8535 | 1E 93 03 | 0x68 | +# | | | | +# |mega32 | 1E 95 01 | 0x72 | +# |mega83 | 1E 93 05 | 0x65 | +# |mega103| 1E 97 01 | 0x41 | +# |mega161| 1E 94 01 | 0x60 | +# |mega163| 1E 94 02 | 0x64 | + +# Appnote AVR109 also has a table of AVR910 device codes, which +# lists: +# dev avr910 signature +# ATmega8 0x77 0x1E 0x93 0x07 +# ATmega8515 0x3B 0x1E 0x93 0x06 +# ATmega8535 0x6A 0x1E 0x93 0x08 +# ATmega16 0x75 0x1E 0x94 0x03 +# ATmega162 0x63 0x1E 0x94 0x04 +# ATmega163 0x66 0x1E 0x94 0x02 +# ATmega169 0x79 0x1E 0x94 0x05 +# ATmega32 0x7F 0x1E 0x95 0x02 +# ATmega323 0x73 0x1E 0x95 0x01 +# ATmega64 0x46 0x1E 0x96 0x02 +# ATmega128 0x44 0x1E 0x97 0x02 +# +# These codes refer to "BOOT" device codes which are apparently +# different than standard device codes, for whatever reasons +# (often one above the standard code). + +# There are several extended versions of AVR910 implementations around +# in the Internet. These add the following codes (only devices that +# actually exist are listed): + +# ATmega8515 0x3A +# ATmega128 0x43 +# ATmega64 0x45 +# ATtiny26 0x5E +# ATmega8535 0x69 +# ATmega32 0x72 +# ATmega16 0x74 +# ATmega8 0x76 +# ATmega169 0x78 + +# +# Overall avrdude defaults +# +default_parallel = "/dev/parport0"; +default_serial = "/dev/ttyS0"; + + +# +# PROGRAMMER DEFINITIONS +# + +programmer + id = "arduino"; + desc = "Arduino"; + type = arduino; +; + +programmer + id = "avrisp"; + desc = "Atmel AVR ISP"; + type = stk500; +; + +programmer + id = "avrispv2"; + desc = "Atmel AVR ISP V2"; + type = stk500v2; +; + +programmer + id = "avrispmkII"; + desc = "Atmel AVR ISP mkII"; + type = stk500v2; +; + +programmer + id = "avrisp2"; + desc = "Atmel AVR ISP mkII"; + type = stk500v2; +; + +programmer + id = "buspirate"; + desc = "The Bus Pirate"; + type = buspirate; +; + +# This is supposed to be the "default" STK500 entry. +# Attempts to select the correct firmware version +# by probing for it. Better use one of the entries +# below instead. +programmer + id = "stk500"; + desc = "Atmel STK500"; + type = stk500generic; +; + +programmer + id = "stk500v1"; + desc = "Atmel STK500 Version 1.x firmware"; + type = stk500; +; + +programmer + id = "mib510"; + desc = "Crossbow MIB510 programming board"; + type = stk500; +; + +programmer + id = "stk500v2"; + desc = "Atmel STK500 Version 2.x firmware"; + type = stk500v2; +; + +programmer + id = "stk500pp"; + desc = "Atmel STK500 V2 in parallel programming mode"; + type = stk500pp; +; + +programmer + id = "stk500hvsp"; + desc = "Atmel STK500 V2 in high-voltage serial programming mode"; + type = stk500hvsp; +; + +programmer + id = "stk600"; + desc = "Atmel STK600"; + type = stk600; +; + +programmer + id = "stk600pp"; + desc = "Atmel STK600 in parallel programming mode"; + type = stk600pp; +; + +programmer + id = "stk600hvsp"; + desc = "Atmel STK600 in high-voltage serial programming mode"; + type = stk600hvsp; +; + +programmer + id = "avr910"; + desc = "Atmel Low Cost Serial Programmer"; + type = avr910; +; + +programmer + id = "usbasp"; + desc = "USBasp, http://www.fischl.de/usbasp/"; + type = usbasp; +; + +programmer + id = "usbtiny"; + desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/"; + type = usbtiny; +; + +programmer + id = "butterfly"; + desc = "Atmel Butterfly Development Board"; + type = butterfly; +; + +programmer + id = "avr109"; + desc = "Atmel AppNote AVR109 Boot Loader"; + type = butterfly; +; + +programmer + id = "avr911"; + desc = "Atmel AppNote AVR911 AVROSP"; + type = butterfly; +; + +programmer + id = "jtagmkI"; + desc = "Atmel JTAG ICE (mkI)"; + baudrate = 115200; # default is 115200 + type = jtagmki; +; + +# easier to type +programmer + id = "jtag1"; + desc = "Atmel JTAG ICE (mkI)"; + baudrate = 115200; # default is 115200 + type = jtagmki; +; + +# easier to type +programmer + id = "jtag1slow"; + desc = "Atmel JTAG ICE (mkI)"; + baudrate = 19200; + type = jtagmki; +; + +programmer + id = "jtagmkII"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 19200; # default is 19200 + type = jtagmkii; +; + +# easier to type +programmer + id = "jtag2slow"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 19200; # default is 19200 + type = jtagmkii; +; + +# JTAG ICE mkII @ 115200 Bd +programmer + id = "jtag2fast"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 115200; + type = jtagmkii; +; + +# make the fast one the default, people will love that +programmer + id = "jtag2"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 115200; + type = jtagmkii; +; + +# JTAG ICE mkII in ISP mode +programmer + id = "jtag2isp"; + desc = "Atmel JTAG ICE mkII in ISP mode"; + baudrate = 115200; + type = jtagmkii_isp; +; + +# JTAG ICE mkII in debugWire mode +programmer + id = "jtag2dw"; + desc = "Atmel JTAG ICE mkII in debugWire mode"; + baudrate = 115200; + type = jtagmkii_dw; +; + +# JTAG ICE mkII in AVR32 mode +programmer + id = "jtagmkII_avr32"; + desc = "Atmel JTAG ICE mkII im AVR32 mode"; + baudrate = 115200; + type = jtagmkii_avr32; +; + +# JTAG ICE mkII in AVR32 mode +programmer + id = "jtag2avr32"; + desc = "Atmel JTAG ICE mkII im AVR32 mode"; + baudrate = 115200; + type = jtagmkii_avr32; +; + +# JTAG ICE mkII in PDI mode +programmer + id = "jtag2pdi"; + desc = "Atmel JTAG ICE mkII PDI mode"; + baudrate = 115200; + type = jtagmkii_pdi; +; + +# AVR Dragon in JTAG mode +programmer + id = "dragon_jtag"; + desc = "Atmel AVR Dragon in JTAG mode"; + baudrate = 115200; + type = dragon_jtag; +; + +# AVR Dragon in ISP mode +programmer + id = "dragon_isp"; + desc = "Atmel AVR Dragon in ISP mode"; + baudrate = 115200; + type = dragon_isp; +; + +# AVR Dragon in PP mode +programmer + id = "dragon_pp"; + desc = "Atmel AVR Dragon in PP mode"; + baudrate = 115200; + type = dragon_pp; +; + +# AVR Dragon in HVSP mode +programmer + id = "dragon_hvsp"; + desc = "Atmel AVR Dragon in HVSP mode"; + baudrate = 115200; + type = dragon_hvsp; +; + +# AVR Dragon in debugWire mode +programmer + id = "dragon_dw"; + desc = "Atmel AVR Dragon in debugWire mode"; + baudrate = 115200; + type = dragon_dw; +; + +# AVR Dragon in PDI mode +programmer + id = "dragon_pdi"; + desc = "Atmel AVR Dragon in PDI mode"; + baudrate = 115200; + type = dragon_pdi; +; + +programmer + id = "pavr"; + desc = "Jason Kyle's pAVR Serial Programmer"; + type = avr910; +; + +# Parallel port programmers. + +programmer + id = "bsd"; + desc = "Brian Dean's Programmer, http://www.bsdhome.com/avrdude/"; + type = par; + vcc = 2, 3, 4, 5; + reset = 7; + sck = 8; + mosi = 9; + miso = 10; +; + +programmer + id = "stk200"; + desc = "STK200"; + type = par; + buff = 4, 5; + sck = 6; + mosi = 7; + reset = 9; + miso = 10; +; + +# The programming dongle used by the popular Ponyprog +# utility. It is almost similar to the STK200 one, +# except that there is a LED indicating that the +# programming is currently in progress. + +programmer + id = "pony-stk200"; + desc = "Pony Prog STK200"; + type = par; + buff = 4, 5; + sck = 6; + mosi = 7; + reset = 9; + miso = 10; + pgmled = 8; +; + +programmer + id = "dt006"; + desc = "Dontronics DT006"; + type = par; + reset = 4; + sck = 5; + mosi = 2; + miso = 11; +; + +programmer + id = "bascom"; + desc = "Bascom SAMPLE programming cable"; + type = par; + reset = 4; + sck = 5; + mosi = 2; + miso = 11; +; + +programmer + id = "alf"; + desc = "Nightshade ALF-PgmAVR, http://nightshade.homeip.net/"; + type = par; + vcc = 2, 3, 4, 5; + buff = 6; + reset = 7; + sck = 8; + mosi = 9; + miso = 10; + errled = 1; + rdyled = 14; + pgmled = 16; + vfyled = 17; +; + +programmer + id = "sp12"; + desc = "Steve Bolt's Programmer"; + type = par; + vcc = 4,5,6,7,8; + reset = 3; + sck = 2; + mosi = 9; + miso = 11; +; + +programmer + id = "picoweb"; + desc = "Picoweb Programming Cable, http://www.picoweb.net/"; + type = par; + reset = 2; + sck = 3; + mosi = 4; + miso = 13; +; + +programmer + id = "abcmini"; + desc = "ABCmini Board, aka Dick Smith HOTCHIP"; + type = par; + reset = 4; + sck = 3; + mosi = 2; + miso = 10; +; + +programmer + id = "futurlec"; + desc = "Futurlec.com programming cable."; + type = par; + reset = 3; + sck = 2; + mosi = 1; + miso = 10; +; + + +# From the contributor of the "xil" jtag cable: +# The "vcc" definition isn't really vcc (the cable gets its power from +# the programming circuit) but is necessary to switch one of the +# buffer lines (trying to add it to the "buff" lines doesn't work). +# With this, TMS connects to RESET, TDI to MOSI, TDO to MISO and TCK +# to SCK (plus vcc/gnd of course) +programmer + id = "xil"; + desc = "Xilinx JTAG cable"; + type = par; + mosi = 2; + sck = 3; + reset = 4; + buff = 5; + miso = 13; + vcc = 6; +; + + +programmer + id = "dapa"; + desc = "Direct AVR Parallel Access cable"; + type = par; + vcc = 3; + reset = 16; + sck = 1; + mosi = 2; + miso = 11; +; + +programmer + id = "atisp"; + desc = "AT-ISP V1.1 programming cable for AVR-SDK1 from micro-research.co.th"; + type = par; + reset = ~6; + sck = ~8; + mosi = ~7; + miso = ~10; +; + +programmer + id = "ere-isp-avr"; + desc = "ERE ISP-AVR "; + type = par; + reset = ~4; + sck = 3; + mosi = 2; + miso = 10; +; + +programmer + id = "blaster"; + desc = "Altera ByteBlaster"; + type = par; + sck = 2; + miso = 11; + reset = 3; + mosi = 8; + buff = 14; +; + +# It is almost same as pony-stk200, except vcc on pin 5 to auto +# disconnect port (download on http://electropol.free.fr) +programmer + id = "frank-stk200"; + desc = "Frank STK200"; + type = par; + vcc = 5; + sck = 6; + mosi = 7; + reset = 9; + miso = 10; + pgmled = 8; +; + +# The AT98ISP Cable is a simple parallel dongle for AT89 family. +# http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2877 +programmer +id = "89isp"; +desc = "Atmel at89isp cable"; +type = par; +reset = 17; +sck = 1; +mosi = 2; +miso = 10; +; + + +# +# some ultra cheap programmers use bitbanging on the +# serialport. +# +# PC - DB9 - Pins for RS232: +# +# GND 5 -- |O +# | O| <- 9 RI +# DTR 4 <- |O | +# | O| <- 8 CTS +# TXD 3 <- |O | +# | O| -> 7 RTS +# RXD 2 -> |O | +# | O| <- 6 DSR +# DCD 1 -> |O +# +# Using RXD is currently not supported. +# Using RI is not supported under Win32 but is supported under Posix. + +# serial ponyprog design (dasa2 in uisp) +# reset=!txd sck=rts mosi=dtr miso=cts + +programmer + id = "ponyser"; + desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts"; + type = serbb; + reset = ~3; + sck = 7; + mosi = 4; + miso = 8; +; + +# Same as above, different name +# reset=!txd sck=rts mosi=dtr miso=cts + +programmer + id = "siprog"; + desc = "Lancos SI-Prog "; + type = serbb; + reset = ~3; + sck = 7; + mosi = 4; + miso = 8; +; + +# unknown (dasa in uisp) +# reset=rts sck=dtr mosi=txd miso=cts + +programmer + id = "dasa"; + desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts"; + type = serbb; + reset = 7; + sck = 4; + mosi = 3; + miso = 8; +; + +# unknown (dasa3 in uisp) +# reset=!dtr sck=rts mosi=txd miso=cts + +programmer + id = "dasa3"; + desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts"; + type = serbb; + reset = ~4; + sck = 7; + mosi = 3; + miso = 8; +; + +# C2N232i (jumper configuration "auto") +# reset=dtr sck=!rts mosi=!txd miso=!cts + +programmer + id = "c2n232i"; + desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts"; + type = serbb; + reset = 4; + sck = ~7; + mosi = ~3; + miso = ~8; +; + +# +# PART DEFINITIONS +# + +#------------------------------------------------------------ +# ATtiny11 +#------------------------------------------------------------ + +# This is an HVSP-only device. + +part + id = "t11"; + desc = "ATtiny11"; + stk500_devcode = 0x11; + signature = 0x1e 0x90 0x04; + chip_erase_delay = 20000; + + timeout = 200; + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + blocksize = 64; + readsize = 256; + delay = 5; + ; + + memory "flash" + size = 1024; + blocksize = 128; + readsize = 256; + delay = 3; + ; + + memory "signature" + size = 3; + ; + + memory "lock" + size = 1; + ; + + memory "calibration" + size = 1; + ; + + memory "fuse" + size = 1; + ; +; + +#------------------------------------------------------------ +# ATtiny12 +#------------------------------------------------------------ + +part + id = "t12"; + desc = "ATtiny12"; + stk500_devcode = 0x12; + avr910_devcode = 0x55; + signature = 0x1e 0x90 0x05; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 8; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + size = 1024; + min_write_delay = 4500; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# ATtiny13 +#------------------------------------------------------------ + +part + id = "t13"; + desc = "ATtiny13"; + has_debugwire = yes; + flash_instr = 0xB4, 0x0E, 0x1E; + eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x14; + signature = 0x1e 0x90 0x07; + chip_erase_delay = 4000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 90; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 1024; + page_size = 32; + num_pages = 32; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny15 +#------------------------------------------------------------ + +part + id = "t15"; + desc = "ATtiny15"; + stk500_devcode = 0x13; + avr910_devcode = 0x56; + signature = 0x1e 0x90 0x06; + chip_erase_delay = 8200; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 5; + synchcycles = 6; + latchcycles = 16; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + min_write_delay = 8200; + max_write_delay = 8200; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + size = 1024; + min_write_delay = 4100; + max_write_delay = 4100; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x o o o o x x o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x i i i i 1 1 i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# AT90s1200 +#------------------------------------------------------------ + +part + id = "1200"; + desc = "AT90S1200"; + stk500_devcode = 0x33; + avr910_devcode = 0x13; + signature = 0x1e 0x90 0x01; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 1; + bytedelay = 0; + pollindex = 0; + pollvalue = 0xFF; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 64; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 32; + readsize = 256; + ; + memory "flash" + size = 1024; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x02; + delay = 15; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s4414 +#------------------------------------------------------------ + +part + id = "4414"; + desc = "AT90S4414"; + stk500_devcode = 0x50; + avr910_devcode = 0x28; + signature = 0x1e 0x92 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s2313 +#------------------------------------------------------------ + +part + id = "2313"; + desc = "AT90S2313"; + stk500_devcode = 0x40; + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 128; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 2048; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s2333 +#------------------------------------------------------------ + +part + id = "2333"; +##### WARNING: No XML file for device 'AT90S2333'! ##### + desc = "AT90S2333"; + stk500_devcode = 0x42; + avr910_devcode = 0x34; + signature = 0x1e 0x91 0x05; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + + +#------------------------------------------------------------ +# AT90s2343 (also AT90s2323 and ATtiny22) +#------------------------------------------------------------ + +part + id = "2343"; + desc = "AT90S2343"; + stk500_devcode = 0x43; + avr910_devcode = 0x4c; + signature = 0x1e 0x91 0x03; + chip_erase_delay = 18000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 0; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 128; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o o x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o o x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + + +#------------------------------------------------------------ +# AT90s4433 +#------------------------------------------------------------ + +part + id = "4433"; + desc = "AT90S4433"; + stk500_devcode = 0x51; + avr910_devcode = 0x30; + signature = 0x1e 0x92 0x03; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s4434 +#------------------------------------------------------------ + +part + id = "4434"; +##### WARNING: No XML file for device 'AT90S4434'! ##### + desc = "AT90S4434"; + stk500_devcode = 0x52; + avr910_devcode = 0x6c; + signature = 0x1e 0x92 0x02; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s8515 +#------------------------------------------------------------ + +part + id = "8515"; + desc = "AT90S8515"; + stk500_devcode = 0x60; + avr910_devcode = 0x38; + signature = 0x1e 0x93 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 8192; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s8535 +#------------------------------------------------------------ + +part + id = "8535"; + desc = "AT90S8535"; + stk500_devcode = 0x61; + avr910_devcode = 0x68; + signature = 0x1e 0x93 0x03; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 8192; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x x o"; + write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o x x x x x x"; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# ATmega103 +#------------------------------------------------------------ + +part + id = "m103"; + desc = "ATMEGA103"; + stk500_devcode = 0xB1; + avr910_devcode = 0x41; + signature = 0x1e 0x97 0x01; + chip_erase_delay = 112000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE, + 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE, + 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A, + 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 10; + + memory "eeprom" + size = 4096; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 22000; + max_write_delay = 56000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x11; + delay = 70; + blocksize = 256; + readsize = 256; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o x o 1 o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega64 +#------------------------------------------------------------ + +part + id = "m64"; + desc = "ATMEGA64"; + has_jtag = yes; + stk500_devcode = 0xA0; + avr910_devcode = 0x45; + signature = 0x1e 0x96 0x02; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x22; + spmcr = 0x68; + allowfullpagebitstream = yes; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + + +#------------------------------------------------------------ +# ATmega128 +#------------------------------------------------------------ + +part + id = "m128"; + desc = "ATMEGA128"; + has_jtag = yes; + stk500_devcode = 0xB2; + avr910_devcode = 0x43; + signature = 0x1e 0x97 0x02; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x22; + spmcr = 0x68; + rampz = 0x3b; + allowfullpagebitstream = yes; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN128 +#------------------------------------------------------------ + +part + id = "c128"; + desc = "AT90CAN128"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x97 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN64 +#------------------------------------------------------------ + +part + id = "c64"; + desc = "AT90CAN64"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x96 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN32 +#------------------------------------------------------------ + +part + id = "c32"; + desc = "AT90CAN32"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x95 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 256; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega16 +#------------------------------------------------------------ + +part + id = "m16"; + desc = "ATMEGA16"; + has_jtag = yes; + stk500_devcode = 0x82; + avr910_devcode = 0x74; + signature = 0x1e 0x94 0x03; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 100; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = yes; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "calibration" + size = 4; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega164P +#------------------------------------------------------------ + +# close to ATmega16 + +part + id = "m164p"; + desc = "ATMEGA164P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x94 0x0a; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega324P +#------------------------------------------------------------ + +# similar to ATmega164P + +part + id = "m324p"; + desc = "ATMEGA324P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x95 0x08; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega644 +#------------------------------------------------------------ + +# similar to ATmega164 + +part + id = "m644"; + desc = "ATMEGA644"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x96 0x09; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega644P +#------------------------------------------------------------ + +# similar to ATmega164p + +part + id = "m644p"; + desc = "ATMEGA644P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x96 0x0a; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega1284P +#------------------------------------------------------------ + +# similar to ATmega164p + +part + id = "m1284p"; + desc = "ATMEGA1284P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x97 0x05; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega162 +#------------------------------------------------------------ + +part + id = "m162"; + desc = "ATMEGA162"; + has_jtag = yes; + stk500_devcode = 0x83; + avr910_devcode = 0x63; + signature = 0x1e 0x94 0x04; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + + idr = 0x04; + spmcr = 0x57; + allowfullpagebitstream = yes; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + + ; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; +; + + + +#------------------------------------------------------------ +# ATmega163 +#------------------------------------------------------------ + +part + id = "m163"; + desc = "ATMEGA163"; + stk500_devcode = 0x81; + avr910_devcode = 0x64; + signature = 0x1e 0x94 0x02; + chip_erase_delay = 32000; + pagel = 0xd7; + bs2 = 0xa0; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 30; + programfusepulsewidth = 0; + programfusepolltimeout = 2; + programlockpulsewidth = 0; + programlockpolltimeout = 2; + + + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 16000; + max_write_delay = 16000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x11; + delay = 20; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o x x o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i 1 1 i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x 1 o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x 0 x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega169 +#------------------------------------------------------------ + +part + id = "m169"; + desc = "ATMEGA169"; + has_jtag = yes; + stk500_devcode = 0x85; + avr910_devcode = 0x78; + signature = 0x1e 0x94 0x05; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega329 +#------------------------------------------------------------ + +part + id = "m329"; + desc = "ATMEGA329"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x03; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega329P +#------------------------------------------------------------ +# Identical to ATmega329 except of the signature + +part + id = "m329p"; + desc = "ATMEGA329P"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x0b; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega3290 +#------------------------------------------------------------ + +# identical to ATmega329 + +part + id = "m3290"; + desc = "ATMEGA3290"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x04; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a3 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega3290P +#------------------------------------------------------------ + +# identical to ATmega3290 except of the signature + +part + id = "m3290p"; + desc = "ATMEGA3290P"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x0c; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a3 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega649 +#------------------------------------------------------------ + +part + id = "m649"; + desc = "ATMEGA649"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x96 0x03; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega6490 +#------------------------------------------------------------ + +# identical to ATmega649 + +part + id = "m6490"; + desc = "ATMEGA6490"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x96 0x04; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega32 +#------------------------------------------------------------ + +part + id = "m32"; + desc = "ATMEGA32"; + has_jtag = yes; + stk500_devcode = 0x91; + avr910_devcode = 0x72; + signature = 0x1e 0x95 0x02; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = yes; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega161 +#------------------------------------------------------------ + +part + id = "m161"; + desc = "ATMEGA161"; + stk500_devcode = 0x80; + avr910_devcode = 0x60; + signature = 0x1e 0x94 0x01; + chip_erase_delay = 28000; + pagel = 0xd7; + bs2 = 0xa0; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 30; + programfusepulsewidth = 0; + programfusepolltimeout = 2; + programlockpulsewidth = 0; + programlockpolltimeout = 2; + + memory "eeprom" + size = 512; + min_write_delay = 3400; + max_write_delay = 3400; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 14000; + max_write_delay = 14000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 16; + blocksize = 128; + readsize = 256; + ; + + memory "fuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x o x o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x 1 i 1 i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega8 +#------------------------------------------------------------ + +part + id = "m8"; + desc = "ATMEGA8"; + stk500_devcode = 0x70; + avr910_devcode = 0x76; + signature = 0x1e 0x93 0x07; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 10000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega8515 +#------------------------------------------------------------ + +part + id = "m8515"; + desc = "ATMEGA8515"; + stk500_devcode = 0x63; + avr910_devcode = 0x3A; + signature = 0x1e 0x93 0x06; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + + +#------------------------------------------------------------ +# ATmega8535 +#------------------------------------------------------------ + +part + id = "m8535"; + desc = "ATMEGA8535"; + stk500_devcode = 0x64; + avr910_devcode = 0x69; + signature = 0x1e 0x93 0x08; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATtiny26 +#------------------------------------------------------------ + +part + id = "t26"; + desc = "ATTINY26"; + stk500_devcode = 0x21; + avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x09; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 16; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x x x x i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny261 +#------------------------------------------------------------ +# Close to ATtiny26 + +part + id = "t261"; + desc = "ATTINY261"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0c; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + size = 128; + page_size = 4; + num_pages = 32; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny461 +#------------------------------------------------------------ +# Close to ATtiny261 + +part + id = "t461"; + desc = "ATTINY461"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x92 0x08; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + size = 256; + page_size = 4; + num_pages = 64; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny861 +#------------------------------------------------------------ +# Close to ATtiny461 + +part + id = "t861"; + desc = "ATTINY861"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x93 0x0d; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + size = 512; + num_pages = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATmega48 +#------------------------------------------------------------ + +part + id = "m48"; + desc = "ATMEGA48"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x59; +# avr910_devcode = 0x; + signature = 0x1e 0x92 0x05; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 45000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 256; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x x", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega88 +#------------------------------------------------------------ + +part + id = "m88"; + desc = "ATMEGA88"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x73; +# avr910_devcode = 0x; + signature = 0x1e 0x93 0x0a; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 512; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega168 +#------------------------------------------------------------ + +part + id = "m168"; + desc = "ATMEGA168"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x86; + # avr910_devcode = 0x; + signature = 0x1e 0x94 0x06; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 512; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# ATtiny88 +#------------------------------------------------------------ + +part + id = "t88"; + desc = "attiny88"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x73; +# avr910_devcode = 0x; + signature = 0x1e 0x93 0x11; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 64; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 64; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega328P +#------------------------------------------------------------ + +part + id = "m328p"; + desc = "ATMEGA328P"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x86; + # avr910_devcode = 0x; + signature = 0x1e 0x95 0x0F; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 1024; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# ATtiny2313 +#------------------------------------------------------------ + +part + id = "t2313"; + desc = "ATtiny2313"; + has_debugwire = yes; + flash_instr = 0xB2, 0x0F, 0x1F; + eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x23; +## Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0a; + pagel = 0xD4; + bs2 = 0xD6; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, + 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, + 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, + 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + +# The information in the data sheet of April/2004 is wrong, this works: + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + +# The information in the data sheet of April/2004 is wrong, this works: + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + +# The information in the data sheet of April/2004 is wrong, this works: + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +# The Tiny2313 has calibration data for both 4 MHz and 8 MHz. +# The information in the data sheet of April/2004 is wrong, this works: + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM2 +#------------------------------------------------------------ + +part + id = "pwm2"; + desc = "AT90PWM2"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x81; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; +# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM3 +#------------------------------------------------------------ + +# Completely identical to AT90PWM2 (including the signature!) + +part + id = "pwm3"; + desc = "AT90PWM3"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x81; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; +# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM2B +#------------------------------------------------------------ +# Same as AT90PWM2 but different signature. + +part + id = "pwm2b"; + desc = "AT90PWM2B"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x83; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM3B +#------------------------------------------------------------ + +# Completely identical to AT90PWM2B (including the signature!) + +part + id = "pwm3b"; + desc = "AT90PWM3B"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x83; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny25 +#------------------------------------------------------------ + +part + id = "t25"; + desc = "ATtiny25"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x08; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny25 has Signature Bytes: 0x1E 0x91 0x08. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny45 +#------------------------------------------------------------ + +part + id = "t45"; + desc = "ATtiny45"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x92 0x06; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!) + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny85 +#------------------------------------------------------------ + +part + id = "t85"; + desc = "ATtiny85"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x93 0x0b; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega640 +#------------------------------------------------------------ +# Almost same as ATmega1280, except for different memory sizes + +part + id = "m640"; + desc = "ATMEGA640"; + signature = 0x1e 0x96 0x08; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega1280 +#------------------------------------------------------------ + +part + id = "m1280"; + desc = "ATMEGA1280"; + signature = 0x1e 0x97 0x03; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega1281 +#------------------------------------------------------------ +# Identical to ATmega1280 + +part + id = "m1281"; + desc = "ATMEGA1281"; + signature = 0x1e 0x97 0x04; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega2560 +#------------------------------------------------------------ + +part + id = "m2560"; + desc = "ATMEGA2560"; + signature = 0x1e 0x98 0x01; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 262144; + page_size = 256; + num_pages = 1024; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + load_ext_addr = " 0 1 0 0 1 1 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 a16", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega2561 +#------------------------------------------------------------ + +part + id = "m2561"; + desc = "ATMEGA2561"; + signature = 0x1e 0x98 0x02; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 262144; + page_size = 256; + num_pages = 1024; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + load_ext_addr = " 0 1 0 0 1 1 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 a16", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega128RFA1 +#------------------------------------------------------------ +# Identical to ATmega2561 but half the ROM + +part + id = "m128rfa1"; + desc = "ATMEGA128RFA1"; + signature = 0x1e 0xa7 0x01; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xE2; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny24 +#------------------------------------------------------------ + +part + id = "t24"; + desc = "ATtiny24"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x0b; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny44 +#------------------------------------------------------------ + +part + id = "t44"; + desc = "ATtiny44"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x92 0x07; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 256; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny44 has Signature Bytes: 0x1E 0x92 0x07. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny84 +#------------------------------------------------------------ + +part + id = "t84"; + desc = "ATtiny84"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x93 0x0c; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega32u4 +#------------------------------------------------------------ + +part + id = "m32u4"; + desc = "ATmega32U4"; + signature = 0x1e 0x95 0x87; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB646 +#------------------------------------------------------------ + +part + id = "usb646"; + desc = "AT90USB646"; + signature = 0x1e 0x96 0x82; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB647 +#------------------------------------------------------------ +# identical to AT90USB646 + +part + id = "usb647"; + desc = "AT90USB647"; + signature = 0x1e 0x96 0x82; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB1286 +#------------------------------------------------------------ + +part + id = "usb1286"; + desc = "AT90USB1286"; + signature = 0x1e 0x97 0x82; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB1287 +#------------------------------------------------------------ +# identical to AT90USB1286 + +part + id = "usb1287"; + desc = "AT90USB1287"; + signature = 0x1e 0x97 0x82; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# AT90USB162 +#------------------------------------------------------------ + +part + id = "usb162"; + desc = "AT90USB162"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x94 0x82; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB82 +#------------------------------------------------------------ +# Changes against AT90USB162 (beside IDs) +# memory "flash" +# size = 8192; +# num_pages = 64; + +part + id = "usb82"; + desc = "AT90USB82"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x93 0x82; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega325 +#------------------------------------------------------------ + +part + id = "m325"; + desc = "ATMEGA325"; + signature = 0x1e 0x95 0x05; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega645 +#------------------------------------------------------------ + +part + id = "m645"; + desc = "ATMEGA645"; + signature = 0x1E 0x96 0x05; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega3250 +#------------------------------------------------------------ + +part + id = "m3250"; + desc = "ATMEGA3250"; + signature = 0x1E 0x95 0x06; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega6450 +#------------------------------------------------------------ + +part + id = "m6450"; + desc = "ATMEGA6450"; + signature = 0x1E 0x96 0x06; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATXMEGA64A1 +#------------------------------------------------------------ + +part + id = "x64a1"; + desc = "ATXMEGA64A1"; + signature = 0x1e 0x96 0x4e; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00010000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x0080f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00810000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00011000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA128A1 +#------------------------------------------------------------ + +part + id = "x128a1"; + desc = "ATXMEGA128A1"; + signature = 0x1e 0x97 0x4c; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00020000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0081e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00022000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA128A1REVD +#------------------------------------------------------------ + +part + id = "x128a1d"; + desc = "ATXMEGA128A1REVD"; + signature = 0x1e 0x97 0x41; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00020000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0081e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00022000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA192A1 +#------------------------------------------------------------ + +part + id = "x192a1"; + desc = "ATXMEGA192A1"; + signature = 0x1e 0x97 0x4e; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00030000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0082e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00830000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00032000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA256A1 +#------------------------------------------------------------ + +part + id = "x256a1"; + desc = "ATXMEGA256A1"; + signature = 0x1e 0x98 0x46; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x1000; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00040000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0083e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00840000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00042000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA64A3 +#------------------------------------------------------------ + +part + id = "x64a3"; + desc = "ATXMEGA64A3"; + signature = 0x1e 0x96 0x42; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00010000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x0080f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00810000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00011000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA128A3 +#------------------------------------------------------------ + +part + id = "x128a3"; + desc = "ATXMEGA128A3"; + signature = 0x1e 0x97 0x42; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00020000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0081e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00022000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA192A3 +#------------------------------------------------------------ + +part + id = "x192a3"; + desc = "ATXMEGA192A3"; + signature = 0x1e 0x97 0x44; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00030000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0082e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00830000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00032000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA256A3 +#------------------------------------------------------------ + +part + id = "x256a3"; + desc = "ATXMEGA256A3"; + signature = 0x1e 0x98 0x42; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x1000; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00040000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0083e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00840000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00042000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA256A3B +#------------------------------------------------------------ + +part + id = "x256a3b"; + desc = "ATXMEGA256A3B"; + signature = 0x1e 0x98 0x43; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x1000; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00040000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0083e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00840000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00042000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA16A4 +#------------------------------------------------------------ + +part + id = "x16a4"; + desc = "ATXMEGA16A4"; + signature = 0x1e 0x94 0x41; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0400; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00004000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x00803000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00804000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00005000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA32A4 +#------------------------------------------------------------ + +part + id = "x32a4"; + desc = "ATXMEGA32A4"; + signature = 0x1e 0x95 0x41; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0400; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00008000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x00807000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00808000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00009000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA64A4 +#------------------------------------------------------------ + +part + id = "x64a4"; + desc = "ATXMEGA64A4"; + signature = 0x1e 0x96 0x46; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00010000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x0080f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00810000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00011000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA128A4 +#------------------------------------------------------------ + +part + id = "x128a4"; + desc = "ATXMEGA128A4"; + signature = 0x1e 0x97 0x46; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00020000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0081e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00022000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + + +#------------------------------------------------------------ +# AVR32UC3A0512 +#------------------------------------------------------------ + +part + id = "ucr2"; + desc = "32UC3A0512"; + signature = 0xED 0xC0 0x3F; + has_jtag = yes; + is_avr32 = yes; + + memory "flash" + paged = yes; + page_size = 512; # bytes + readsize = 512; # bytes + num_pages = 1024; # could be set dynamicly + size = 0x00080000; # could be set dynamicly + offset = 0x80000000; + ; +; + +#------------------------------------------------------------ +# ATtiny4 +#------------------------------------------------------------ + +part + id = "t4"; + desc = "ATtiny4"; + signature = 0x1e 0x8f 0x0a; + has_tpi = yes; + + memory "flash" + size = 512; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; + + memory "signature" + size = 3; + offset = 0x3fc0; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + ; +; + + +#------------------------------------------------------------ +# ATtiny5 +#------------------------------------------------------------ + +part + id = "t5"; + desc = "ATtiny5"; + signature = 0x1e 0x8f 0x09; + has_tpi = yes; + + memory "flash" + size = 512; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; + + memory "signature" + size = 3; + offset = 0x3fc0; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + ; +; + + +#------------------------------------------------------------ +# ATtiny9 +#------------------------------------------------------------ + +part + id = "t8"; + desc = "ATtiny9"; + signature = 0x1e 0x90 0x08; + has_tpi = yes; + + memory "flash" + size = 1024; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; + + memory "signature" + size = 3; + offset = 0x3fc0; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + ; +; + + +#------------------------------------------------------------ +# ATtiny10 +#------------------------------------------------------------ + +part + id = "t10"; + desc = "ATtiny10"; + signature = 0x1e 0x90 0x03; + has_tpi = yes; + + memory "flash" + size = 1024; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; + + memory "signature" + size = 3; + offset = 0x3fc0; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + ; +; + + diff --git a/buildroot/share/atom/avrdude_macOS.conf b/buildroot/share/atom/avrdude_macOS.conf new file mode 100644 index 000000000000..d933567452fc --- /dev/null +++ b/buildroot/share/atom/avrdude_macOS.conf @@ -0,0 +1,15272 @@ +# $Id: avrdude.conf.in 916 2010-01-15 16:36:13Z joerg_wunsch $ +# +# AVRDUDE Configuration File +# +# This file contains configuration data used by AVRDUDE which describes +# the programming hardware pinouts and also provides part definitions. +# AVRDUDE's "-C" command line option specifies the location of the +# configuration file. The "-c" option names the programmer configuration +# which must match one of the entry's "id" parameter. The "-p" option +# identifies which part AVRDUDE is going to be programming and must match +# one of the parts' "id" parameter. +# +# Possible entry formats are: +# +# programmer +# id = [, [, ] ...] ; # are quoted strings +# desc = ; # quoted string +# type = par | stk500 | stk500v2 | stk500pp | stk500hvsp | stk500generic | +# stk600 | stk600pp | stk600hvsp | +# avr910 | butterfly | usbasp | +# jtagmki | jtagmkii | jtagmkii_isp | jtagmkii_dw | +# jtagmkII_avr32 | jtagmkii_pdi | +# dragon_dw | dragon_jtag | dragon_isp | dragon_pp | +# dragon_hvsp | dragon_pdi | arduino; # programmer type +# baudrate = ; # baudrate for avr910-programmer +# vcc = [, ... ] ; # pin number(s) +# reset = ; # pin number +# sck = ; # pin number +# mosi = ; # pin number +# miso = ; # pin number +# errled = ; # pin number +# rdyled = ; # pin number +# pgmled = ; # pin number +# vfyled = ; # pin number +# ; +# +# part +# id = ; # quoted string +# desc = ; # quoted string +# has_jtag = ; # part has JTAG i/f +# has_debugwire = ; # part has debugWire i/f +# has_pdi = ; # part has PDI i/f +# has_tpi = ; # part has TPI i/f +# devicecode = ; # deprecated, use stk500_devcode +# stk500_devcode = ; # numeric +# avr910_devcode = ; # numeric +# signature = ; # signature bytes +# chip_erase_delay = ; # micro-seconds +# reset = dedicated | io; +# retry_pulse = reset | sck; +# pgm_enable = ; +# chip_erase = ; +# chip_erase_delay = ; # chip erase delay (us) +# # STK500 parameters (parallel programming IO lines) +# pagel = ; # pin name in hex, i.e., 0xD7 +# bs2 = ; # pin name in hex, i.e., 0xA0 +# serial = ; # can use serial downloading +# parallel = ; # can use par. programming +# # STK500v2 parameters, to be taken from Atmel's XML files +# timeout = ; +# stabdelay = ; +# cmdexedelay = ; +# synchloops = ; +# bytedelay = ; +# pollvalue = ; +# pollindex = ; +# predelay = ; +# postdelay = ; +# pollmethod = ; +# mode = ; +# delay = ; +# blocksize = ; +# readsize = ; +# hvspcmdexedelay = ; +# # STK500v2 HV programming parameters, from XML +# pp_controlstack = , , ...; # PP only +# hvsp_controlstack = , , ...; # HVSP only +# hventerstabdelay = ; +# progmodedelay = ; # PP only +# latchcycles = ; +# togglevtg = ; +# poweroffdelay = ; +# resetdelayms = ; +# resetdelayus = ; +# hvleavestabdelay = ; +# resetdelay = ; +# synchcycles = ; # HVSP only +# chiperasepulsewidth = ; # PP only +# chiperasepolltimeout = ; +# chiperasetime = ; # HVSP only +# programfusepulsewidth = ; # PP only +# programfusepolltimeout = ; +# programlockpulsewidth = ; # PP only +# programlockpolltimeout = ; +# # JTAG ICE mkII parameters, also from XML files +# allowfullpagebitstream = ; +# enablepageprogramming = ; +# idr = ; # IO addr of IDR (OCD) reg. +# rampz = ; # IO addr of RAMPZ reg. +# spmcr = ; # mem addr of SPMC[S]R reg. +# eecr = ; # mem addr of EECR reg. +# # (only when != 0x3c) +# is_avr32 = ; # AVR32 part +# +# memory +# paged = ; # yes / no +# size = ; # bytes +# page_size = ; # bytes +# num_pages = ; # numeric +# min_write_delay = ; # micro-seconds +# max_write_delay = ; # micro-seconds +# readback_p1 = ; # byte value +# readback_p2 = ; # byte value +# pwroff_after_write = ; # yes / no +# read = ; +# write = ; +# read_lo = ; +# read_hi = ; +# write_lo = ; +# write_hi = ; +# loadpage_lo = ; +# loadpage_hi = ; +# writepage = ; +# ; +# ; +# +# If any of the above parameters are not specified, the default value +# of 0 is used for numerics or the empty string ("") for string +# values. If a required parameter is left empty, AVRDUDE will +# complain. +# +# NOTES: +# * 'devicecode' is the device code used by the STK500 (see codes +# listed below) +# * Not all memory types will implement all instructions. +# * AVR Fuse bits and Lock bits are implemented as a type of memory. +# * Example memory types are: +# "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high +# fuse), "signature", "calibration", "lock" +# * The memory type specified on the avrdude command line must match +# one of the memory types defined for the specified chip. +# * The pwroff_after_write flag causes avrdude to attempt to +# power the device off and back on after an unsuccessful write to +# the affected memory area if VCC programmer pins are defined. If +# VCC pins are not defined for the programmer, a message +# indicating that the device needs a power-cycle is printed out. +# This flag was added to work around a problem with the +# at90s4433/2333's; see the at90s4433 errata at: +# +# http://www.atmel.com/atmel/acrobat/doc1280.pdf +# +# INSTRUCTION FORMATS +# +# Instruction formats are specified as a comma seperated list of +# string values containing information (bit specifiers) about each +# of the 32 bits of the instruction. Bit specifiers may be one of +# the following formats: +# +# '1' = the bit is always set on input as well as output +# +# '0' = the bit is always clear on input as well as output +# +# 'x' = the bit is ignored on input and output +# +# 'a' = the bit is an address bit, the bit-number matches this bit +# specifier's position within the current instruction byte +# +# 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12 +# is address bit 12 on input, a0 is address bit 0. +# +# 'i' = the bit is an input data bit +# +# 'o' = the bit is an output data bit +# +# Each instruction must be composed of 32 bit specifiers. The +# instruction specification closely follows the instruction data +# provided in Atmel's data sheets for their parts. +# +# See below for some examples. +# +# +# The following are STK500 part device codes to use for the +# "devicecode" field of the part. These came from Atmel's software +# section avr061.zip which accompanies the application note +# AVR061 available from: +# +# http://www.atmel.com/atmel/acrobat/doc2525.pdf +# + +#define ATTINY10 0x10 /* the _old_ one that never existed! */ +#define ATTINY11 0x11 +#define ATTINY12 0x12 +#define ATTINY15 0x13 +#define ATTINY13 0x14 + +#define ATTINY22 0x20 +#define ATTINY26 0x21 +#define ATTINY28 0x22 +#define ATTINY2313 0x23 + +#define AT90S1200 0x33 + +#define AT90S2313 0x40 +#define AT90S2323 0x41 +#define AT90S2333 0x42 +#define AT90S2343 0x43 + +#define AT90S4414 0x50 +#define AT90S4433 0x51 +#define AT90S4434 0x52 +#define ATMEGA48 0x59 + +#define AT90S8515 0x60 +#define AT90S8535 0x61 +#define AT90C8534 0x62 +#define ATMEGA8515 0x63 +#define ATMEGA8535 0x64 + +#define ATMEGA8 0x70 +#define ATMEGA88 0x73 +#define ATMEGA168 0x86 + +#define ATMEGA161 0x80 +#define ATMEGA163 0x81 +#define ATMEGA16 0x82 +#define ATMEGA162 0x83 +#define ATMEGA169 0x84 + +#define ATMEGA323 0x90 +#define ATMEGA32 0x91 + +#define ATMEGA64 0xA0 + +#define ATMEGA103 0xB1 +#define ATMEGA128 0xB2 +#define AT90CAN128 0xB3 +#define AT90CAN64 0xB3 +#define AT90CAN32 0xB3 + +#define AT86RF401 0xD0 + +#define AT89START 0xE0 +#define AT89S51 0xE0 +#define AT89S52 0xE1 + +# The following table lists the devices in the original AVR910 +# appnote: +# |Device |Signature | Code | +# +-------+----------+------+ +# |tiny12 | 1E 90 05 | 0x55 | +# |tiny15 | 1E 90 06 | 0x56 | +# | | | | +# | S1200 | 1E 90 01 | 0x13 | +# | | | | +# | S2313 | 1E 91 01 | 0x20 | +# | S2323 | 1E 91 02 | 0x48 | +# | S2333 | 1E 91 05 | 0x34 | +# | S2343 | 1E 91 03 | 0x4C | +# | | | | +# | S4414 | 1E 92 01 | 0x28 | +# | S4433 | 1E 92 03 | 0x30 | +# | S4434 | 1E 92 02 | 0x6C | +# | | | | +# | S8515 | 1E 93 01 | 0x38 | +# | S8535 | 1E 93 03 | 0x68 | +# | | | | +# |mega32 | 1E 95 01 | 0x72 | +# |mega83 | 1E 93 05 | 0x65 | +# |mega103| 1E 97 01 | 0x41 | +# |mega161| 1E 94 01 | 0x60 | +# |mega163| 1E 94 02 | 0x64 | + +# Appnote AVR109 also has a table of AVR910 device codes, which +# lists: +# dev avr910 signature +# ATmega8 0x77 0x1E 0x93 0x07 +# ATmega8515 0x3B 0x1E 0x93 0x06 +# ATmega8535 0x6A 0x1E 0x93 0x08 +# ATmega16 0x75 0x1E 0x94 0x03 +# ATmega162 0x63 0x1E 0x94 0x04 +# ATmega163 0x66 0x1E 0x94 0x02 +# ATmega169 0x79 0x1E 0x94 0x05 +# ATmega32 0x7F 0x1E 0x95 0x02 +# ATmega323 0x73 0x1E 0x95 0x01 +# ATmega64 0x46 0x1E 0x96 0x02 +# ATmega128 0x44 0x1E 0x97 0x02 +# +# These codes refer to "BOOT" device codes which are apparently +# different than standard device codes, for whatever reasons +# (often one above the standard code). + +# There are several extended versions of AVR910 implementations around +# in the Internet. These add the following codes (only devices that +# actually exist are listed): + +# ATmega8515 0x3A +# ATmega128 0x43 +# ATmega64 0x45 +# ATtiny26 0x5E +# ATmega8535 0x69 +# ATmega32 0x72 +# ATmega16 0x74 +# ATmega8 0x76 +# ATmega169 0x78 + +# +# Overall avrdude defaults +# +default_parallel = "unknown"; +default_serial = "unknown"; + + +# +# PROGRAMMER DEFINITIONS +# + +programmer + id = "arduino"; + desc = "Arduino"; + type = arduino; +; + +programmer + id = "avrisp"; + desc = "Atmel AVR ISP"; + type = stk500; +; + +programmer + id = "avrispv2"; + desc = "Atmel AVR ISP V2"; + type = stk500v2; +; + +programmer + id = "avrispmkII"; + desc = "Atmel AVR ISP mkII"; + type = stk500v2; +; + +programmer + id = "avrisp2"; + desc = "Atmel AVR ISP mkII"; + type = stk500v2; +; + +programmer + id = "buspirate"; + desc = "The Bus Pirate"; + type = buspirate; +; + +# This is supposed to be the "default" STK500 entry. +# Attempts to select the correct firmware version +# by probing for it. Better use one of the entries +# below instead. +programmer + id = "stk500"; + desc = "Atmel STK500"; + type = stk500generic; +; + +programmer + id = "stk500v1"; + desc = "Atmel STK500 Version 1.x firmware"; + type = stk500; +; + +programmer + id = "mib510"; + desc = "Crossbow MIB510 programming board"; + type = stk500; +; + +programmer + id = "stk500v2"; + desc = "Atmel STK500 Version 2.x firmware"; + type = stk500v2; +; + +programmer + id = "stk500pp"; + desc = "Atmel STK500 V2 in parallel programming mode"; + type = stk500pp; +; + +programmer + id = "stk500hvsp"; + desc = "Atmel STK500 V2 in high-voltage serial programming mode"; + type = stk500hvsp; +; + +programmer + id = "stk600"; + desc = "Atmel STK600"; + type = stk600; +; + +programmer + id = "stk600pp"; + desc = "Atmel STK600 in parallel programming mode"; + type = stk600pp; +; + +programmer + id = "stk600hvsp"; + desc = "Atmel STK600 in high-voltage serial programming mode"; + type = stk600hvsp; +; + +programmer + id = "avr910"; + desc = "Atmel Low Cost Serial Programmer"; + type = avr910; +; + +programmer + id = "usbasp"; + desc = "USBasp, http://www.fischl.de/usbasp/"; + type = usbasp; +; + +programmer + id = "usbtiny"; + desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/"; + type = usbtiny; +; + +programmer + id = "butterfly"; + desc = "Atmel Butterfly Development Board"; + type = butterfly; +; + +programmer + id = "avr109"; + desc = "Atmel AppNote AVR109 Boot Loader"; + type = butterfly; +; + +programmer + id = "avr911"; + desc = "Atmel AppNote AVR911 AVROSP"; + type = butterfly; +; + +programmer + id = "jtagmkI"; + desc = "Atmel JTAG ICE (mkI)"; + baudrate = 115200; # default is 115200 + type = jtagmki; +; + +# easier to type +programmer + id = "jtag1"; + desc = "Atmel JTAG ICE (mkI)"; + baudrate = 115200; # default is 115200 + type = jtagmki; +; + +# easier to type +programmer + id = "jtag1slow"; + desc = "Atmel JTAG ICE (mkI)"; + baudrate = 19200; + type = jtagmki; +; + +programmer + id = "jtagmkII"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 19200; # default is 19200 + type = jtagmkii; +; + +# easier to type +programmer + id = "jtag2slow"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 19200; # default is 19200 + type = jtagmkii; +; + +# JTAG ICE mkII @ 115200 Bd +programmer + id = "jtag2fast"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 115200; + type = jtagmkii; +; + +# make the fast one the default, people will love that +programmer + id = "jtag2"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 115200; + type = jtagmkii; +; + +# JTAG ICE mkII in ISP mode +programmer + id = "jtag2isp"; + desc = "Atmel JTAG ICE mkII in ISP mode"; + baudrate = 115200; + type = jtagmkii_isp; +; + +# JTAG ICE mkII in debugWire mode +programmer + id = "jtag2dw"; + desc = "Atmel JTAG ICE mkII in debugWire mode"; + baudrate = 115200; + type = jtagmkii_dw; +; + +# JTAG ICE mkII in AVR32 mode +programmer + id = "jtagmkII_avr32"; + desc = "Atmel JTAG ICE mkII im AVR32 mode"; + baudrate = 115200; + type = jtagmkii_avr32; +; + +# JTAG ICE mkII in AVR32 mode +programmer + id = "jtag2avr32"; + desc = "Atmel JTAG ICE mkII im AVR32 mode"; + baudrate = 115200; + type = jtagmkii_avr32; +; + +# JTAG ICE mkII in PDI mode +programmer + id = "jtag2pdi"; + desc = "Atmel JTAG ICE mkII PDI mode"; + baudrate = 115200; + type = jtagmkii_pdi; +; + +# AVR Dragon in JTAG mode +programmer + id = "dragon_jtag"; + desc = "Atmel AVR Dragon in JTAG mode"; + baudrate = 115200; + type = dragon_jtag; +; + +# AVR Dragon in ISP mode +programmer + id = "dragon_isp"; + desc = "Atmel AVR Dragon in ISP mode"; + baudrate = 115200; + type = dragon_isp; +; + +# AVR Dragon in PP mode +programmer + id = "dragon_pp"; + desc = "Atmel AVR Dragon in PP mode"; + baudrate = 115200; + type = dragon_pp; +; + +# AVR Dragon in HVSP mode +programmer + id = "dragon_hvsp"; + desc = "Atmel AVR Dragon in HVSP mode"; + baudrate = 115200; + type = dragon_hvsp; +; + +# AVR Dragon in debugWire mode +programmer + id = "dragon_dw"; + desc = "Atmel AVR Dragon in debugWire mode"; + baudrate = 115200; + type = dragon_dw; +; + +# AVR Dragon in PDI mode +programmer + id = "dragon_pdi"; + desc = "Atmel AVR Dragon in PDI mode"; + baudrate = 115200; + type = dragon_pdi; +; + +programmer + id = "pavr"; + desc = "Jason Kyle's pAVR Serial Programmer"; + type = avr910; +; + + +# +# some ultra cheap programmers use bitbanging on the +# serialport. +# +# PC - DB9 - Pins for RS232: +# +# GND 5 -- |O +# | O| <- 9 RI +# DTR 4 <- |O | +# | O| <- 8 CTS +# TXD 3 <- |O | +# | O| -> 7 RTS +# RXD 2 -> |O | +# | O| <- 6 DSR +# DCD 1 -> |O +# +# Using RXD is currently not supported. +# Using RI is not supported under Win32 but is supported under Posix. + +# serial ponyprog design (dasa2 in uisp) +# reset=!txd sck=rts mosi=dtr miso=cts + +programmer + id = "ponyser"; + desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts"; + type = serbb; + reset = ~3; + sck = 7; + mosi = 4; + miso = 8; +; + +# Same as above, different name +# reset=!txd sck=rts mosi=dtr miso=cts + +programmer + id = "siprog"; + desc = "Lancos SI-Prog "; + type = serbb; + reset = ~3; + sck = 7; + mosi = 4; + miso = 8; +; + +# unknown (dasa in uisp) +# reset=rts sck=dtr mosi=txd miso=cts + +programmer + id = "dasa"; + desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts"; + type = serbb; + reset = 7; + sck = 4; + mosi = 3; + miso = 8; +; + +# unknown (dasa3 in uisp) +# reset=!dtr sck=rts mosi=txd miso=cts + +programmer + id = "dasa3"; + desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts"; + type = serbb; + reset = ~4; + sck = 7; + mosi = 3; + miso = 8; +; + +# C2N232i (jumper configuration "auto") +# reset=dtr sck=!rts mosi=!txd miso=!cts + +programmer + id = "c2n232i"; + desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts"; + type = serbb; + reset = 4; + sck = ~7; + mosi = ~3; + miso = ~8; +; + +# +# PART DEFINITIONS +# + +#------------------------------------------------------------ +# ATtiny11 +#------------------------------------------------------------ + +# This is an HVSP-only device. + +part + id = "t11"; + desc = "ATtiny11"; + stk500_devcode = 0x11; + signature = 0x1e 0x90 0x04; + chip_erase_delay = 20000; + + timeout = 200; + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + blocksize = 64; + readsize = 256; + delay = 5; + ; + + memory "flash" + size = 1024; + blocksize = 128; + readsize = 256; + delay = 3; + ; + + memory "signature" + size = 3; + ; + + memory "lock" + size = 1; + ; + + memory "calibration" + size = 1; + ; + + memory "fuse" + size = 1; + ; +; + +#------------------------------------------------------------ +# ATtiny12 +#------------------------------------------------------------ + +part + id = "t12"; + desc = "ATtiny12"; + stk500_devcode = 0x12; + avr910_devcode = 0x55; + signature = 0x1e 0x90 0x05; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 8; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + size = 1024; + min_write_delay = 4500; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# ATtiny13 +#------------------------------------------------------------ + +part + id = "t13"; + desc = "ATtiny13"; + has_debugwire = yes; + flash_instr = 0xB4, 0x0E, 0x1E; + eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x14; + signature = 0x1e 0x90 0x07; + chip_erase_delay = 4000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 90; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 1024; + page_size = 32; + num_pages = 32; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny15 +#------------------------------------------------------------ + +part + id = "t15"; + desc = "ATtiny15"; + stk500_devcode = 0x13; + avr910_devcode = 0x56; + signature = 0x1e 0x90 0x06; + chip_erase_delay = 8200; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 5; + synchcycles = 6; + latchcycles = 16; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + min_write_delay = 8200; + max_write_delay = 8200; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + size = 1024; + min_write_delay = 4100; + max_write_delay = 4100; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x o o o o x x o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x i i i i 1 1 i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# AT90s1200 +#------------------------------------------------------------ + +part + id = "1200"; + desc = "AT90S1200"; + stk500_devcode = 0x33; + avr910_devcode = 0x13; + signature = 0x1e 0x90 0x01; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 1; + bytedelay = 0; + pollindex = 0; + pollvalue = 0xFF; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 64; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 32; + readsize = 256; + ; + memory "flash" + size = 1024; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x02; + delay = 15; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s4414 +#------------------------------------------------------------ + +part + id = "4414"; + desc = "AT90S4414"; + stk500_devcode = 0x50; + avr910_devcode = 0x28; + signature = 0x1e 0x92 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s2313 +#------------------------------------------------------------ + +part + id = "2313"; + desc = "AT90S2313"; + stk500_devcode = 0x40; + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 128; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 2048; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s2333 +#------------------------------------------------------------ + +part + id = "2333"; +##### WARNING: No XML file for device 'AT90S2333'! ##### + desc = "AT90S2333"; + stk500_devcode = 0x42; + avr910_devcode = 0x34; + signature = 0x1e 0x91 0x05; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + + +#------------------------------------------------------------ +# AT90s2343 (also AT90s2323 and ATtiny22) +#------------------------------------------------------------ + +part + id = "2343"; + desc = "AT90S2343"; + stk500_devcode = 0x43; + avr910_devcode = 0x4c; + signature = 0x1e 0x91 0x03; + chip_erase_delay = 18000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 0; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 128; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o o x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o o x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + + +#------------------------------------------------------------ +# AT90s4433 +#------------------------------------------------------------ + +part + id = "4433"; + desc = "AT90S4433"; + stk500_devcode = 0x51; + avr910_devcode = 0x30; + signature = 0x1e 0x92 0x03; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s4434 +#------------------------------------------------------------ + +part + id = "4434"; +##### WARNING: No XML file for device 'AT90S4434'! ##### + desc = "AT90S4434"; + stk500_devcode = 0x52; + avr910_devcode = 0x6c; + signature = 0x1e 0x92 0x02; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s8515 +#------------------------------------------------------------ + +part + id = "8515"; + desc = "AT90S8515"; + stk500_devcode = 0x60; + avr910_devcode = 0x38; + signature = 0x1e 0x93 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 8192; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s8535 +#------------------------------------------------------------ + +part + id = "8535"; + desc = "AT90S8535"; + stk500_devcode = 0x61; + avr910_devcode = 0x68; + signature = 0x1e 0x93 0x03; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 8192; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x x o"; + write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o x x x x x x"; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# ATmega103 +#------------------------------------------------------------ + +part + id = "m103"; + desc = "ATMEGA103"; + stk500_devcode = 0xB1; + avr910_devcode = 0x41; + signature = 0x1e 0x97 0x01; + chip_erase_delay = 112000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE, + 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE, + 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A, + 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 10; + + memory "eeprom" + size = 4096; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 22000; + max_write_delay = 56000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x11; + delay = 70; + blocksize = 256; + readsize = 256; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o x o 1 o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega64 +#------------------------------------------------------------ + +part + id = "m64"; + desc = "ATMEGA64"; + has_jtag = yes; + stk500_devcode = 0xA0; + avr910_devcode = 0x45; + signature = 0x1e 0x96 0x02; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x22; + spmcr = 0x68; + allowfullpagebitstream = yes; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + + +#------------------------------------------------------------ +# ATmega128 +#------------------------------------------------------------ + +part + id = "m128"; + desc = "ATMEGA128"; + has_jtag = yes; + stk500_devcode = 0xB2; + avr910_devcode = 0x43; + signature = 0x1e 0x97 0x02; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x22; + spmcr = 0x68; + rampz = 0x3b; + allowfullpagebitstream = yes; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN128 +#------------------------------------------------------------ + +part + id = "c128"; + desc = "AT90CAN128"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x97 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN64 +#------------------------------------------------------------ + +part + id = "c64"; + desc = "AT90CAN64"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x96 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN32 +#------------------------------------------------------------ + +part + id = "c32"; + desc = "AT90CAN32"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x95 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 256; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega16 +#------------------------------------------------------------ + +part + id = "m16"; + desc = "ATMEGA16"; + has_jtag = yes; + stk500_devcode = 0x82; + avr910_devcode = 0x74; + signature = 0x1e 0x94 0x03; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 100; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = yes; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "calibration" + size = 4; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega164P +#------------------------------------------------------------ + +# close to ATmega16 + +part + id = "m164p"; + desc = "ATMEGA164P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x94 0x0a; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega324P +#------------------------------------------------------------ + +# similar to ATmega164P + +part + id = "m324p"; + desc = "ATMEGA324P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x95 0x08; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega644 +#------------------------------------------------------------ + +# similar to ATmega164 + +part + id = "m644"; + desc = "ATMEGA644"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x96 0x09; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega644P +#------------------------------------------------------------ + +# similar to ATmega164p + +part + id = "m644p"; + desc = "ATMEGA644P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x96 0x0a; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega1284P +#------------------------------------------------------------ + +# similar to ATmega164p + +part + id = "m1284p"; + desc = "ATMEGA1284P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x97 0x05; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega162 +#------------------------------------------------------------ + +part + id = "m162"; + desc = "ATMEGA162"; + has_jtag = yes; + stk500_devcode = 0x83; + avr910_devcode = 0x63; + signature = 0x1e 0x94 0x04; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + + idr = 0x04; + spmcr = 0x57; + allowfullpagebitstream = yes; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + + ; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; +; + + + +#------------------------------------------------------------ +# ATmega163 +#------------------------------------------------------------ + +part + id = "m163"; + desc = "ATMEGA163"; + stk500_devcode = 0x81; + avr910_devcode = 0x64; + signature = 0x1e 0x94 0x02; + chip_erase_delay = 32000; + pagel = 0xd7; + bs2 = 0xa0; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 30; + programfusepulsewidth = 0; + programfusepolltimeout = 2; + programlockpulsewidth = 0; + programlockpolltimeout = 2; + + + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 16000; + max_write_delay = 16000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x11; + delay = 20; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o x x o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i 1 1 i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x 1 o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x 0 x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega169 +#------------------------------------------------------------ + +part + id = "m169"; + desc = "ATMEGA169"; + has_jtag = yes; + stk500_devcode = 0x85; + avr910_devcode = 0x78; + signature = 0x1e 0x94 0x05; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega329 +#------------------------------------------------------------ + +part + id = "m329"; + desc = "ATMEGA329"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x03; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega329P +#------------------------------------------------------------ +# Identical to ATmega329 except of the signature + +part + id = "m329p"; + desc = "ATMEGA329P"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x0b; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega3290 +#------------------------------------------------------------ + +# identical to ATmega329 + +part + id = "m3290"; + desc = "ATMEGA3290"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x04; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a3 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega3290P +#------------------------------------------------------------ + +# identical to ATmega3290 except of the signature + +part + id = "m3290p"; + desc = "ATMEGA3290P"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x0c; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a3 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega649 +#------------------------------------------------------------ + +part + id = "m649"; + desc = "ATMEGA649"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x96 0x03; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega6490 +#------------------------------------------------------------ + +# identical to ATmega649 + +part + id = "m6490"; + desc = "ATMEGA6490"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x96 0x04; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega32 +#------------------------------------------------------------ + +part + id = "m32"; + desc = "ATMEGA32"; + has_jtag = yes; + stk500_devcode = 0x91; + avr910_devcode = 0x72; + signature = 0x1e 0x95 0x02; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = yes; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega161 +#------------------------------------------------------------ + +part + id = "m161"; + desc = "ATMEGA161"; + stk500_devcode = 0x80; + avr910_devcode = 0x60; + signature = 0x1e 0x94 0x01; + chip_erase_delay = 28000; + pagel = 0xd7; + bs2 = 0xa0; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 30; + programfusepulsewidth = 0; + programfusepolltimeout = 2; + programlockpulsewidth = 0; + programlockpolltimeout = 2; + + memory "eeprom" + size = 512; + min_write_delay = 3400; + max_write_delay = 3400; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 14000; + max_write_delay = 14000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 16; + blocksize = 128; + readsize = 256; + ; + + memory "fuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x o x o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x 1 i 1 i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega8 +#------------------------------------------------------------ + +part + id = "m8"; + desc = "ATMEGA8"; + stk500_devcode = 0x70; + avr910_devcode = 0x76; + signature = 0x1e 0x93 0x07; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 10000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega8515 +#------------------------------------------------------------ + +part + id = "m8515"; + desc = "ATMEGA8515"; + stk500_devcode = 0x63; + avr910_devcode = 0x3A; + signature = 0x1e 0x93 0x06; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + + +#------------------------------------------------------------ +# ATmega8535 +#------------------------------------------------------------ + +part + id = "m8535"; + desc = "ATMEGA8535"; + stk500_devcode = 0x64; + avr910_devcode = 0x69; + signature = 0x1e 0x93 0x08; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATtiny26 +#------------------------------------------------------------ + +part + id = "t26"; + desc = "ATTINY26"; + stk500_devcode = 0x21; + avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x09; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 16; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x x x x i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny261 +#------------------------------------------------------------ +# Close to ATtiny26 + +part + id = "t261"; + desc = "ATTINY261"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0c; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + size = 128; + page_size = 4; + num_pages = 32; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny461 +#------------------------------------------------------------ +# Close to ATtiny261 + +part + id = "t461"; + desc = "ATTINY461"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x92 0x08; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + size = 256; + page_size = 4; + num_pages = 64; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny861 +#------------------------------------------------------------ +# Close to ATtiny461 + +part + id = "t861"; + desc = "ATTINY861"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x93 0x0d; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + size = 512; + num_pages = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATmega48 +#------------------------------------------------------------ + +part + id = "m48"; + desc = "ATMEGA48"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x59; +# avr910_devcode = 0x; + signature = 0x1e 0x92 0x05; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 45000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 256; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x x", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega88 +#------------------------------------------------------------ + +part + id = "m88"; + desc = "ATMEGA88"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x73; +# avr910_devcode = 0x; + signature = 0x1e 0x93 0x0a; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 512; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega168 +#------------------------------------------------------------ + +part + id = "m168"; + desc = "ATMEGA168"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x86; + # avr910_devcode = 0x; + signature = 0x1e 0x94 0x06; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 512; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# ATtiny88 +#------------------------------------------------------------ + +part + id = "t88"; + desc = "attiny88"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x73; +# avr910_devcode = 0x; + signature = 0x1e 0x93 0x11; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 64; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 64; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega328P +#------------------------------------------------------------ + +part + id = "m328p"; + desc = "ATMEGA328P"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x86; + # avr910_devcode = 0x; + signature = 0x1e 0x95 0x0F; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 1024; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# ATtiny2313 +#------------------------------------------------------------ + +part + id = "t2313"; + desc = "ATtiny2313"; + has_debugwire = yes; + flash_instr = 0xB2, 0x0F, 0x1F; + eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x23; +## Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0a; + pagel = 0xD4; + bs2 = 0xD6; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, + 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, + 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, + 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + +# The information in the data sheet of April/2004 is wrong, this works: + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + +# The information in the data sheet of April/2004 is wrong, this works: + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + +# The information in the data sheet of April/2004 is wrong, this works: + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +# The Tiny2313 has calibration data for both 4 MHz and 8 MHz. +# The information in the data sheet of April/2004 is wrong, this works: + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM2 +#------------------------------------------------------------ + +part + id = "pwm2"; + desc = "AT90PWM2"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x81; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; +# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM3 +#------------------------------------------------------------ + +# Completely identical to AT90PWM2 (including the signature!) + +part + id = "pwm3"; + desc = "AT90PWM3"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x81; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; +# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM2B +#------------------------------------------------------------ +# Same as AT90PWM2 but different signature. + +part + id = "pwm2b"; + desc = "AT90PWM2B"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x83; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM3B +#------------------------------------------------------------ + +# Completely identical to AT90PWM2B (including the signature!) + +part + id = "pwm3b"; + desc = "AT90PWM3B"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x83; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny25 +#------------------------------------------------------------ + +part + id = "t25"; + desc = "ATtiny25"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x08; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny25 has Signature Bytes: 0x1E 0x91 0x08. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny45 +#------------------------------------------------------------ + +part + id = "t45"; + desc = "ATtiny45"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x92 0x06; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!) + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny85 +#------------------------------------------------------------ + +part + id = "t85"; + desc = "ATtiny85"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x93 0x0b; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega640 +#------------------------------------------------------------ +# Almost same as ATmega1280, except for different memory sizes + +part + id = "m640"; + desc = "ATMEGA640"; + signature = 0x1e 0x96 0x08; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega1280 +#------------------------------------------------------------ + +part + id = "m1280"; + desc = "ATMEGA1280"; + signature = 0x1e 0x97 0x03; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega1281 +#------------------------------------------------------------ +# Identical to ATmega1280 + +part + id = "m1281"; + desc = "ATMEGA1281"; + signature = 0x1e 0x97 0x04; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega2560 +#------------------------------------------------------------ + +part + id = "m2560"; + desc = "ATMEGA2560"; + signature = 0x1e 0x98 0x01; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 262144; + page_size = 256; + num_pages = 1024; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + load_ext_addr = " 0 1 0 0 1 1 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 a16", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega2561 +#------------------------------------------------------------ + +part + id = "m2561"; + desc = "ATMEGA2561"; + signature = 0x1e 0x98 0x02; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 262144; + page_size = 256; + num_pages = 1024; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + load_ext_addr = " 0 1 0 0 1 1 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 a16", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega128RFA1 +#------------------------------------------------------------ +# Identical to ATmega2561 but half the ROM + +part + id = "m128rfa1"; + desc = "ATMEGA128RFA1"; + signature = 0x1e 0xa7 0x01; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xE2; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny24 +#------------------------------------------------------------ + +part + id = "t24"; + desc = "ATtiny24"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x0b; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny44 +#------------------------------------------------------------ + +part + id = "t44"; + desc = "ATtiny44"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x92 0x07; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 256; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny44 has Signature Bytes: 0x1E 0x92 0x07. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny84 +#------------------------------------------------------------ + +part + id = "t84"; + desc = "ATtiny84"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x93 0x0c; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega32u4 +#------------------------------------------------------------ + +part + id = "m32u4"; + desc = "ATmega32U4"; + signature = 0x1e 0x95 0x87; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB646 +#------------------------------------------------------------ + +part + id = "usb646"; + desc = "AT90USB646"; + signature = 0x1e 0x96 0x82; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB647 +#------------------------------------------------------------ +# identical to AT90USB646 + +part + id = "usb647"; + desc = "AT90USB647"; + signature = 0x1e 0x96 0x82; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB1286 +#------------------------------------------------------------ + +part + id = "usb1286"; + desc = "AT90USB1286"; + signature = 0x1e 0x97 0x82; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB1287 +#------------------------------------------------------------ +# identical to AT90USB1286 + +part + id = "usb1287"; + desc = "AT90USB1287"; + signature = 0x1e 0x97 0x82; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# AT90USB162 +#------------------------------------------------------------ + +part + id = "usb162"; + desc = "AT90USB162"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x94 0x82; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB82 +#------------------------------------------------------------ +# Changes against AT90USB162 (beside IDs) +# memory "flash" +# size = 8192; +# num_pages = 64; + +part + id = "usb82"; + desc = "AT90USB82"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x93 0x82; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega325 +#------------------------------------------------------------ + +part + id = "m325"; + desc = "ATMEGA325"; + signature = 0x1e 0x95 0x05; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega645 +#------------------------------------------------------------ + +part + id = "m645"; + desc = "ATMEGA645"; + signature = 0x1E 0x96 0x05; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega3250 +#------------------------------------------------------------ + +part + id = "m3250"; + desc = "ATMEGA3250"; + signature = 0x1E 0x95 0x06; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega6450 +#------------------------------------------------------------ + +part + id = "m6450"; + desc = "ATMEGA6450"; + signature = 0x1E 0x96 0x06; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATXMEGA64A1 +#------------------------------------------------------------ + +part + id = "x64a1"; + desc = "ATXMEGA64A1"; + signature = 0x1e 0x96 0x4e; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00010000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x0080f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00810000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00011000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA128A1 +#------------------------------------------------------------ + +part + id = "x128a1"; + desc = "ATXMEGA128A1"; + signature = 0x1e 0x97 0x4c; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00020000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0081e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00022000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA128A1REVD +#------------------------------------------------------------ + +part + id = "x128a1d"; + desc = "ATXMEGA128A1REVD"; + signature = 0x1e 0x97 0x41; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00020000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0081e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00022000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA192A1 +#------------------------------------------------------------ + +part + id = "x192a1"; + desc = "ATXMEGA192A1"; + signature = 0x1e 0x97 0x4e; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00030000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0082e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00830000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00032000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA256A1 +#------------------------------------------------------------ + +part + id = "x256a1"; + desc = "ATXMEGA256A1"; + signature = 0x1e 0x98 0x46; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x1000; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00040000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0083e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00840000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00042000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA64A3 +#------------------------------------------------------------ + +part + id = "x64a3"; + desc = "ATXMEGA64A3"; + signature = 0x1e 0x96 0x42; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00010000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x0080f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00810000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00011000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA128A3 +#------------------------------------------------------------ + +part + id = "x128a3"; + desc = "ATXMEGA128A3"; + signature = 0x1e 0x97 0x42; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00020000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0081e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00022000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA192A3 +#------------------------------------------------------------ + +part + id = "x192a3"; + desc = "ATXMEGA192A3"; + signature = 0x1e 0x97 0x44; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00030000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0082e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00830000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00032000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA256A3 +#------------------------------------------------------------ + +part + id = "x256a3"; + desc = "ATXMEGA256A3"; + signature = 0x1e 0x98 0x42; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x1000; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00040000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0083e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00840000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00042000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA256A3B +#------------------------------------------------------------ + +part + id = "x256a3b"; + desc = "ATXMEGA256A3B"; + signature = 0x1e 0x98 0x43; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x1000; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00040000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0083e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00840000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00042000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA16A4 +#------------------------------------------------------------ + +part + id = "x16a4"; + desc = "ATXMEGA16A4"; + signature = 0x1e 0x94 0x41; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0400; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00004000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x00803000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00804000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00005000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA32A4 +#------------------------------------------------------------ + +part + id = "x32a4"; + desc = "ATXMEGA32A4"; + signature = 0x1e 0x95 0x41; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0400; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00008000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x00807000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00808000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00009000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA64A4 +#------------------------------------------------------------ + +part + id = "x64a4"; + desc = "ATXMEGA64A4"; + signature = 0x1e 0x96 0x46; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00010000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00001000; + offset = 0x0080f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00001000; + offset = 0x00810000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00011000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + +#------------------------------------------------------------ +# ATXMEGA128A4 +#------------------------------------------------------------ + +part + id = "x128a4"; + desc = "ATXMEGA128A4"; + signature = 0x1e 0x97 0x46; + has_jtag = yes; + has_pdi = yes; + nvm_base = 0x01c0; + + memory "eeprom" + size = 0x0800; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x00020000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x00002000; + offset = 0x0081e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x00002000; + offset = 0x00820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x00022000; + offset = 0x0800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "prodsig" + size = 0x200; + offset = 0x8e0200; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; +; + + +#------------------------------------------------------------ +# AVR32UC3A0512 +#------------------------------------------------------------ + +part + id = "ucr2"; + desc = "32UC3A0512"; + signature = 0xED 0xC0 0x3F; + has_jtag = yes; + is_avr32 = yes; + + memory "flash" + paged = yes; + page_size = 512; # bytes + readsize = 512; # bytes + num_pages = 1024; # could be set dynamicly + size = 0x00080000; # could be set dynamicly + offset = 0x80000000; + ; +; + +#------------------------------------------------------------ +# ATtiny4 +#------------------------------------------------------------ + +part + id = "t4"; + desc = "ATtiny4"; + signature = 0x1e 0x8f 0x0a; + has_tpi = yes; + + memory "flash" + size = 512; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; + + memory "signature" + size = 3; + offset = 0x3fc0; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + ; +; + + +#------------------------------------------------------------ +# ATtiny5 +#------------------------------------------------------------ + +part + id = "t5"; + desc = "ATtiny5"; + signature = 0x1e 0x8f 0x09; + has_tpi = yes; + + memory "flash" + size = 512; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; + + memory "signature" + size = 3; + offset = 0x3fc0; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + ; +; + + +#------------------------------------------------------------ +# ATtiny9 +#------------------------------------------------------------ + +part + id = "t8"; + desc = "ATtiny9"; + signature = 0x1e 0x90 0x08; + has_tpi = yes; + + memory "flash" + size = 1024; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; + + memory "signature" + size = 3; + offset = 0x3fc0; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + ; +; + + +#------------------------------------------------------------ +# ATtiny10 +#------------------------------------------------------------ + +part + id = "t10"; + desc = "ATtiny10"; + signature = 0x1e 0x90 0x03; + has_tpi = yes; + + memory "flash" + size = 1024; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; + + memory "signature" + size = 3; + offset = 0x3fc0; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + ; +; + + diff --git a/buildroot/share/atom/create_custom_upload_command_CDC.py b/buildroot/share/atom/create_custom_upload_command_CDC.py new file mode 100644 index 000000000000..2fea2d5b536d --- /dev/null +++ b/buildroot/share/atom/create_custom_upload_command_CDC.py @@ -0,0 +1,141 @@ +# +# Builds custom upload command +# 1) Run platformio as a subprocess to find a COM port +# 2) Build the upload command +# 3) Exit and let upload tool do the work +# +# This script runs between completion of the library/dependencies installation and compilation. +# +# Will continue on if a COM port isn't found so that the compilation can be done. +# + +import subprocess +import os +import sys +from SCons.Script import DefaultEnvironment +import platform +current_OS = platform.system() + +env = DefaultEnvironment() + +build_type = os.environ.get("BUILD_TYPE", 'Not Set') + + +if not(build_type == 'upload' or build_type == 'traceback' or build_type == 'Not Set') : + env.Replace(UPLOAD_PROTOCOL = 'teensy-gui') # run normal Teensy2 scripts +else: + com_first = '' + com_last = '' + com_CDC = '' + description_first = '' + description_last = '' + description_CDC = '' + + # + # grab the first com port that pops up unless we find one we know for sure + # is a CDC device + # + def get_com_port(com_search_text, descr_search_text, start): + + global com_first + global com_last + global com_CDC + global description_first + global description_last + global description_CDC + + + print '\nLooking for Serial Port\n' + + # stream output from subprocess and split it into lines + pio_subprocess = subprocess.Popen(['platformio', 'device', 'list'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + looking_for_description = False + for line in iter(pio_subprocess.stdout.readline, ''): + if 0 <= line.find(com_search_text): + looking_for_description = True + com_last = line.replace('\n', '') + if com_first == '': + com_first = com_last + if 0 <= line.find(descr_search_text) and looking_for_description: + looking_for_description = False + description_last = line[ start : ] + if description_first == '': + description_first = description_last + if 0 <= description_last.find('CDC'): + com_CDC = com_last + description_CDC = description_last + + if com_CDC == '' and not(com_first == ''): + com_CDC = com_first + description_CDC = description_first + elif com_CDC == '': + com_CDC = 'COM_PORT_NOT_FOUND' + + while 0 <= com_CDC.find('\n'): + com_CDC = com_CDC.replace('\n', '') + while 0 <= com_CDC.find('\r'): + com_CDC = com_CDC.replace('\r', '') + + if com_CDC == 'COM_PORT_NOT_FOUND': + print com_CDC, '\n' + else: + print 'FOUND: ' ,com_CDC + print 'DESCRIPTION: ', description_CDC , '\n' + + if current_OS == 'Windows': + + get_com_port('COM', 'Hardware ID:', 13) + + # avrdude_conf_path = env.get("PIOHOME_DIR") + '\\packages\\toolchain-atmelavr\\etc\\avrdude.conf' + avrdude_conf_path = 'buildroot\\share\\atom\\avrdude.conf' + + avrdude_exe_path = 'buildroot\\share\\atom\\avrdude_5.10.exe' + + # source_path = env.get("PROJECTBUILD_DIR") + '\\' + env.get("PIOENV") + '\\firmware.hex' + source_path = '.pioenvs\\' + env.get("PIOENV") + '\\firmware.hex' + + upload_string = avrdude_exe_path + ' -p usb1286 -c avr109 -P ' + com_CDC + ' -U flash:w:' + source_path + ':i' + + + if current_OS == 'Darwin': # MAC + + get_com_port('usbmodem', 'Description:', 13) + +# avrdude_conf_path = env.get("PIOHOME_DIR") + '/packages/toolchain-atmelavr/etc/avrdude.conf' + avrdude_conf_path = 'buildroot/share/atom/avrdude_macOS.conf' + + + avrdude_exe_path = 'buildroot/share/atom/avrdude_5.10_macOS' + +# source_path = env.get("PROJECTBUILD_DIR") + '/' + env.get("PIOENV") + '/firmware.hex' + source_path = '.pioenvs/' + env.get("PIOENV") + '/firmware.hex' + + +# upload_string = 'avrdude -p usb1286 -c avr109 -P ' + com_CDC + ' -U flash:w:' + source_path + ':i' + upload_string = avrdude_exe_path + ' -p usb1286 -c avr109 -P ' + com_CDC + ' -C ' + avrdude_conf_path + ' -U flash:w:' + source_path + ':i' + print 'upload_string: ', upload_string + + + + if current_OS == 'Linux': + + get_com_port('/dev/tty', 'Description:', 13) + +# avrdude_conf_path = env.get("PIOHOME_DIR") + '/packages/toolchain-atmelavr/etc/avrdude.conf' + avrdude_conf_path = 'buildroot/share/atom/avrdude_linux.conf' + + + avrdude_exe_path = 'buildroot/share/atom/avrdude_5.10_linux' +# source_path = env.get("PROJECTBUILD_DIR") + '/' + env.get("PIOENV") + '/firmware.hex' + source_path = '.pioenvs/' + env.get("PIOENV") + '/firmware.hex' + +# upload_string = 'avrdude -p usb1286 -c avr109 -P ' + com_CDC + ' -U flash:w:' + source_path + ':i' + upload_string = avrdude_exe_path + ' -p usb1286 -c avr109 -P ' + com_CDC + ' -C ' + avrdude_conf_path + ' -U flash:w:' + source_path + ':i' + + + env.Replace( + UPLOADCMD = upload_string, + MAXIMUM_RAM_SIZE = 8192, + MAXIMUM_SIZE = 130048 + ) diff --git a/buildroot/share/atom/create_custom_upload_command_DFU.py b/buildroot/share/atom/create_custom_upload_command_DFU.py new file mode 100644 index 000000000000..9082699bf459 --- /dev/null +++ b/buildroot/share/atom/create_custom_upload_command_DFU.py @@ -0,0 +1,42 @@ +# +# Builds custom upload command +# 1) Run platformio as a subprocess to find a COM port +# 2) Build the upload command +# 3) Exit and let upload tool do the work +# +# This script runs between completion of the library/dependencies installation and compilation. +# +# Will continue on if a COM port isn't found so that the compilation can be done. +# + +import os +import sys +from SCons.Script import DefaultEnvironment +import platform +current_OS = platform.system() + +env = DefaultEnvironment() + +build_type = os.environ.get("BUILD_TYPE", 'Not Set') +if not(build_type == 'upload' or build_type == 'traceback' or build_type == 'Not Set') : + env.Replace(UPLOAD_PROTOCOL = 'teensy-gui') # run normal Teensy2 scripts +else: + + if current_OS == 'Windows': + avrdude_conf_path = env.get("PIOHOME_DIR") + '\\packages\\toolchain-atmelavr\\etc\\avrdude.conf' + + source_path = env.get("PROJECTBUILD_DIR") + '\\' + env.get("PIOENV") + '\\firmware.hex' + + upload_string = 'avrdude -p usb1286 -c flip1 -C ' + avrdude_conf_path + ' -U flash:w:' + source_path + ':i' + + else: + source_path = env.get("PROJECTBUILD_DIR") + '/' + env.get("PIOENV") + '/firmware.hex' + + upload_string = 'avrdude -p usb1286 -c flip1 -U flash:w:' + source_path + ':i' + + + env.Replace( + UPLOADCMD = upload_string, + MAXIMUM_RAM_SIZE = 8192, + MAXIMUM_SIZE = 130048 + ) diff --git a/buildroot/share/fonts/HD44780_C.fon b/buildroot/share/fonts/HD44780_C.fon deleted file mode 100644 index bb9ca2a500ff..000000000000 Binary files a/buildroot/share/fonts/HD44780_C.fon and /dev/null differ diff --git a/buildroot/share/fonts/HD44780_J.fon b/buildroot/share/fonts/HD44780_J.fon deleted file mode 100644 index f687747853cf..000000000000 Binary files a/buildroot/share/fonts/HD44780_J.fon and /dev/null differ diff --git a/buildroot/share/fonts/HD44780_W.fon b/buildroot/share/fonts/HD44780_W.fon deleted file mode 100644 index e478dbb087dd..000000000000 Binary files a/buildroot/share/fonts/HD44780_W.fon and /dev/null differ diff --git a/buildroot/share/fonts/ISO10646-1-tr.fon b/buildroot/share/fonts/ISO10646-1-tr.fon deleted file mode 100644 index f6f6cdec7ecb..000000000000 Binary files a/buildroot/share/fonts/ISO10646-1-tr.fon and /dev/null differ diff --git a/buildroot/share/fonts/ISO10646-1.fon b/buildroot/share/fonts/ISO10646-1.fon deleted file mode 100644 index d3b409ed2de4..000000000000 Binary files a/buildroot/share/fonts/ISO10646-1.fon and /dev/null differ diff --git a/buildroot/share/fonts/ISO10646-4_Greek.fon b/buildroot/share/fonts/ISO10646-4_Greek.fon deleted file mode 100644 index a6b905fefb0e..000000000000 Binary files a/buildroot/share/fonts/ISO10646-4_Greek.fon and /dev/null differ diff --git a/buildroot/share/fonts/ISO10646-5_Cyrillic.fon b/buildroot/share/fonts/ISO10646-5_Cyrillic.fon deleted file mode 100644 index f52970cbc771..000000000000 Binary files a/buildroot/share/fonts/ISO10646-5_Cyrillic.fon and /dev/null differ diff --git a/buildroot/share/fonts/ISO10646_CN.fon b/buildroot/share/fonts/ISO10646_CN.fon deleted file mode 100644 index 6c77eeccd8de..000000000000 Binary files a/buildroot/share/fonts/ISO10646_CN.fon and /dev/null differ diff --git a/buildroot/share/fonts/ISO10646_CZ.fon b/buildroot/share/fonts/ISO10646_CZ.fon deleted file mode 100644 index 5208f92fdbf4..000000000000 Binary files a/buildroot/share/fonts/ISO10646_CZ.fon and /dev/null differ diff --git a/buildroot/share/fonts/ISO10646_Kana.fon b/buildroot/share/fonts/ISO10646_Kana.fon deleted file mode 100644 index 995de0410832..000000000000 Binary files a/buildroot/share/fonts/ISO10646_Kana.fon and /dev/null differ diff --git a/buildroot/share/fonts/ISO10646_SK.fon b/buildroot/share/fonts/ISO10646_SK.fon deleted file mode 100644 index 76bfcc9e1751..000000000000 Binary files a/buildroot/share/fonts/ISO10646_SK.fon and /dev/null differ diff --git a/buildroot/share/fonts/Marlin_symbols.fon b/buildroot/share/fonts/Marlin_symbols.fon deleted file mode 100644 index 667ffd323a06..000000000000 Binary files a/buildroot/share/fonts/Marlin_symbols.fon and /dev/null differ diff --git a/buildroot/share/fonts/genallfont.sh b/buildroot/share/fonts/genallfont.sh new file mode 100755 index 000000000000..cc0e3f27b84a --- /dev/null +++ b/buildroot/share/fonts/genallfont.sh @@ -0,0 +1,123 @@ +#!/usr/bin/env bash + +##################################################################### +# genallfont.sh for Marlin +# +# This script generates font data for language headers +# +# Copyright 2015-2018 Yunhui Fu +# License: GPL/BSD +##################################################################### +my_getpath() { + local PARAM_DN="$1" + shift + #readlink -f + local DN="${PARAM_DN}" + local 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 -n "${DN}" + [[ -z "$FN" ]] || echo -n "/${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") ) + +EXEC_WXGGEN="${DN_EXEC}/uxggenpages.sh" + +EXEC_BDF2U8G=`which bdf2u8g` +[ -x "${EXEC_BDF2U8G}" ] || EXEC_BDF2U8G="${DN_EXEC}/bdf2u8g" +[ -x "${EXEC_BDF2U8G}" ] || EXEC_BDF2U8G="${PWD}/bdf2u8g" +[ -x "${EXEC_BDF2U8G}" ] || { EOL=$'\n' ; echo "ERR: Can't find bdf2u8g!${EOL}See uxggenpages.md for bdf2u8g build instructions." >&2 ; exit 1; } + +#FN_FONT="${1:-}" +FN_FONT="${DN_EXEC}/marlin-6x12-3.bdf" +[ "$1" = "" ] || FN_FONT="$1" + +DN_FONT0=`dirname ${FN_FONT}` +DN_FONT="$(my_getpath ${DN_FONT0})" +FN_FONT="$(my_getpath "${DN_FONT}")/"`basename ${FN_FONT}` +[ -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" +[ -f "${FN_FONT}" ] || FN_FONT="$FONTHOME/misc/${FN_FONT_BASE}.bdf" +#echo "genallfont.sh: FN_FONT=${FN_FONT}" + +DN_WORK=./tmp1 + +(cd ${DN_EXEC}; gcc -o genpages genpages.c getline.c) + +LANGS_DEFAULT="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 ${MARLIN_LANGS:=$LANGS_DEFAULT} ; do + echo "Generating Marlin language data for '${LANG}'" >&2 + 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_FONT}" + sed -i fontutf8-data.h -e 's|fonts//|fonts/|g' -e 's|fonts//|fonts/|g' -e 's|[/0-9a-zA-Z_\-]*buildroot/share/fonts|buildroot/share/fonts|' 2>/dev/null + cd ../ + mv ${DN_WORK}/fontutf8-data.h src/lcd/dogm/language_data_${LANG}.h + rm -rf ${DN_WORK}/ +done + +# +# Generate default ASCII font (char range 0-255): +# Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1.h +# +#if [ "${MARLIN_LANGS}" == "${LANGS_DEFAULT}" ]; then +if [ 1 = 1 ]; then + rm -rf ${DN_WORK}/ + mkdir -p ${DN_WORK} + cd ${DN_WORK}/ + ${EXEC_BDF2U8G} -b 1 -e 127 ${FN_FONT} ISO10646_1_5x7 tmp1.h >/dev/null + ${EXEC_BDF2U8G} -b 1 -e 255 ${FN_FONT} ISO10646_1_5x7 tmp2.h >/dev/null + TMP1=$(cat tmp1.h) ; rm tmp1.h + TMP2=$(cat tmp2.h) ; rm tmp2.h + + cat <../src/lcd/dogm/dogm_font_data_ISO10646_1.h +/** + * 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 . + * + */ +#include + +#if defined(__AVR__) && ENABLED(NOT_EXTENDED_ISO10646_1_5X7) + // reduced font (only symbols 1 - 127) - saves about 1278 bytes of FLASH + +$TMP1 +#else + // extended (original) font (symbols 1 - 255) + +$TMP2 + +#endif +EOF + + rmdir ../${DN_WORK} + cd - >/dev/null +fi diff --git a/buildroot/share/fonts/genpages.c b/buildroot/share/fonts/genpages.c new file mode 100644 index 000000000000..c18ecd9fa80e --- /dev/null +++ b/buildroot/share/fonts/genpages.c @@ -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 +#include /* uint8_t */ +#include /* size_t */ +#include +#include +#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); +} diff --git a/buildroot/share/fonts/get-bdf2u8g.sh b/buildroot/share/fonts/get-bdf2u8g.sh new file mode 100755 index 000000000000..e7dca2bef456 --- /dev/null +++ b/buildroot/share/fonts/get-bdf2u8g.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +##################################################################### +# get-bdf2u8g.sh for Marlin +# +# This script downloads, patches, and builds bdf2u8g +# License: CC-SA +# +# Execute from within buildroot/share/fonts +# +##################################################################### + +HERE=$(pwd) + +[[ $HERE =~ 'buildroot/share/fonts'$ ]] || { echo "Change to buildroot/share/fonts to run $(basename $0)" ; exit 1; } + +# Download u8glib +curl -LJO https://github.com/olikraus/u8glib/archive/master.zip +unzip u8glib-master.zip >/dev/null 2>&1 + +# Patch and build bdf2u8g +cd u8glib-master/tools/font/bdf2u8g +patch -p0 <../../../../u8glib-bdf2u8g.patch bdf2u8g.c >/dev/null 2>&1 +make >/dev/null 2>&1 +mv bdf2u8g ../../../../ + +# Clean up +cd - +rm -rf u8glib-master* + +cd "$HERE" diff --git a/buildroot/share/fonts/getline.c b/buildroot/share/fonts/getline.c new file mode 100644 index 000000000000..4974e9332b9b --- /dev/null +++ b/buildroot/share/fonts/getline.c @@ -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 +#endif + +#if !HAVE_GETLINE + +//#include "getdelim.h" +#include +#include +#include +#include + +#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 diff --git a/buildroot/share/fonts/getline.h b/buildroot/share/fonts/getline.h new file mode 100644 index 000000000000..180a218dc7d4 --- /dev/null +++ b/buildroot/share/fonts/getline.h @@ -0,0 +1,14 @@ + +#ifndef MYGETLINE_H +#define MYGETLINE_H 1 + +//#include "config.h" + +#if !HAVE_GETLINE + #include + 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 + diff --git a/buildroot/share/fonts/make_fonts.bat b/buildroot/share/fonts/make_fonts.bat deleted file mode 100644 index fffd90a669f1..000000000000 --- a/buildroot/share/fonts/make_fonts.bat +++ /dev/null @@ -1,10 +0,0 @@ -.\bdf2u8g.exe -b 1 -e 9 Marlin_symbols.bdf Marlin_symbols dogm_font_data_Marlin_symbols.h -.\bdf2u8g.exe -b 16 -e 255 HD44780_W.bdf HD44780_W_5x7 dogm_font_data_HD44780_W.h -.\bdf2u8g.exe -b 32 -e 255 HD44780_C.bdf HD44780_C_5x7 dogm_font_data_HD44780_C.h -.\bdf2u8g.exe -b 32 -e 255 HD44780_J.bdf HD44780_J_5x7 dogm_font_data_HD44780_J.h -.\bdf2u8g.exe -b 32 -e 255 ISO10646-1.bdf ISO10646_1_5x7 dogm_font_data_ISO10646_1.h -.\bdf2u8g.exe -b 32 -e 255 ISO10646-1-tr.bdf ISO10646_1_tr_5x7 dogm_font_data_ISO10646_1-tr.h -.\bdf2u8g.exe -b 32 -e 255 ISO10646_5_Cyrillic.bdf ISO10646_5_Cyrillic_5x7 dogm_font_data_ISO10646_5_Cyrillic.h -.\bdf2u8g.exe -b 32 -e 255 ISO10646_Kana.bdf ISO10646_Kana_5x7 dogm_font_data_ISO10646_Kana.h -.\bdf2u8g.exe -b 32 -e 255 ISO10646_CN.bdf ISO10646_CN dogm_font_data_ISO10646_CN.h -.\bdf2u8g.exe -b 32 -e 255 ISO10646_4_Greek.bdf ISO10646_Greek_5x7 dogm_font_data_ISO10646_Greek.h diff --git a/buildroot/share/fonts/marlin-6x12-1.bdf b/buildroot/share/fonts/marlin-6x12-1.bdf new file mode 100644 index 000000000000..11609c13d8e8 --- /dev/null +++ b/buildroot/share/fonts/marlin-6x12-1.bdf @@ -0,0 +1,64286 @@ +STARTFONT 2.1 +FONT -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 +SIZE 12 75 75 +FONTBOUNDINGBOX 6 12 0 -2 +COMMENT "Marlin 6x12 Fixed, for menu display" +COMMENT "This font is base on the X Windows' 6x12 '-Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1', added Marlin symbols at position 1-9, some chars were tweak for display on LCD screen, such as ',;c69' etc." +STARTPROPERTIES 23 +FONTNAME_REGISTRY "" +FOUNDRY "Marlin" +FAMILY_NAME "Fixed" +WEIGHT_NAME "Medium" +SLANT "R" +SETWIDTH_NAME "SemiCondensed" +ADD_STYLE_NAME "" +PIXEL_SIZE 12 +POINT_SIZE 120 +RESOLUTION_X 75 +RESOLUTION_Y 75 +SPACING "C" +AVERAGE_WIDTH 60 +CHARSET_REGISTRY "ISO10646" +CHARSET_ENCODING "1" +COPYRIGHT "Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1" +CAP_HEIGHT 7 +X_HEIGHT 5 +WEIGHT 10 +QUAD_WIDTH 6 +DEFAULT_CHAR 0 +FONT_DESCENT 2 +FONT_ASCENT 10 +ENDPROPERTIES +CHARS 4539 + +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 480 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR exclam +ENCODING 33 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +80 +80 +00 +80 +ENDCHAR +STARTCHAR quotedbl +ENCODING 34 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +A0 +A0 +A0 +ENDCHAR +STARTCHAR numbersign +ENCODING 35 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +F8 +50 +50 +F8 +50 +ENDCHAR +STARTCHAR dollar +ENCODING 36 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +A8 +A0 +70 +28 +A8 +70 +20 +ENDCHAR +STARTCHAR percent +ENCODING 37 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C8 +C8 +10 +20 +40 +98 +98 +ENDCHAR +STARTCHAR ampersand +ENCODING 38 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +A0 +A0 +40 +A8 +90 +68 +ENDCHAR +STARTCHAR quotesingle +ENCODING 39 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 3 2 5 +BITMAP +80 +80 +80 +ENDCHAR +STARTCHAR parenleft +ENCODING 40 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +40 +40 +80 +80 +80 +40 +40 +20 +ENDCHAR +STARTCHAR parenright +ENCODING 41 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +40 +40 +20 +20 +20 +40 +40 +80 +ENDCHAR +STARTCHAR asterisk +ENCODING 42 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +20 +70 +A8 +20 +ENDCHAR +STARTCHAR plus +ENCODING 43 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR comma +ENCODING 44 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 -1 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR hyphen +ENCODING 45 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR period +ENCODING 46 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 0 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR slash +ENCODING 47 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +10 +20 +40 +40 +80 +ENDCHAR +STARTCHAR zero +ENCODING 48 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +98 +A8 +C8 +88 +70 +ENDCHAR +STARTCHAR one +ENCODING 49 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +C0 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR two +ENCODING 50 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR three +ENCODING 51 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +30 +08 +88 +70 +ENDCHAR +STARTCHAR four +ENCODING 52 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +30 +50 +90 +F8 +10 +10 +ENDCHAR +STARTCHAR five +ENCODING 53 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +F0 +08 +08 +88 +70 +ENDCHAR +STARTCHAR six +ENCODING 54 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +40 +80 +F0 +88 +88 +70 +ENDCHAR +STARTCHAR seven +ENCODING 55 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +10 +20 +20 +20 +ENDCHAR +STARTCHAR eight +ENCODING 56 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +70 +88 +88 +70 +ENDCHAR +STARTCHAR nine +ENCODING 57 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +78 +08 +10 +60 +ENDCHAR +STARTCHAR colon +ENCODING 58 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 0 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR semicolon +ENCODING 59 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 1 -1 +BITMAP +C0 +C0 +00 +C0 +40 +80 +ENDCHAR +STARTCHAR less +ENCODING 60 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR equal +ENCODING 61 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +F8 +00 +F8 +ENDCHAR +STARTCHAR greater +ENCODING 62 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +40 +20 +40 +80 +ENDCHAR +STARTCHAR question +ENCODING 63 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +10 +20 +20 +00 +20 +ENDCHAR +STARTCHAR at +ENCODING 64 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +B8 +A8 +B8 +80 +70 +ENDCHAR +STARTCHAR A +ENCODING 65 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR B +ENCODING 66 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +70 +48 +48 +F0 +ENDCHAR +STARTCHAR C +ENCODING 67 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR D +ENCODING 68 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +ENDCHAR +STARTCHAR E +ENCODING 69 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR F +ENCODING 70 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR G +ENCODING 71 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR H +ENCODING 72 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR I +ENCODING 73 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR J +ENCODING 74 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR K +ENCODING 75 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR L +ENCODING 76 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR M +ENCODING 77 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR N +ENCODING 78 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR O +ENCODING 79 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR P +ENCODING 80 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR Q +ENCODING 81 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +A8 +90 +68 +ENDCHAR +STARTCHAR R +ENCODING 82 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR S +ENCODING 83 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR T +ENCODING 84 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR U +ENCODING 85 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR V +ENCODING 86 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +50 +50 +20 +ENDCHAR +STARTCHAR W +ENCODING 87 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR X +ENCODING 88 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR Y +ENCODING 89 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Z +ENCODING 90 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR bracketleft +ENCODING 91 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR backslash +ENCODING 92 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +40 +20 +10 +10 +08 +ENDCHAR +STARTCHAR bracketright +ENCODING 93 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR asciicircum +ENCODING 94 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 5 +BITMAP +20 +50 +88 +ENDCHAR + +STARTCHAR underscore +ENCODING 95 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 -2 +BITMAP +F8 +ENDCHAR + +STARTCHAR grave +ENCODING 96 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +80 +40 +20 +ENDCHAR +STARTCHAR a +ENCODING 97 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR b +ENCODING 98 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +F0 +88 +88 +88 +F0 +ENDCHAR +STARTCHAR c +ENCODING 99 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +80 +80 +88 +70 +ENDCHAR +STARTCHAR d +ENCODING 100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR e +ENCODING 101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR f +ENCODING 102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +48 +40 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR g +ENCODING 103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR h +ENCODING 104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR i +ENCODING 105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR j +ENCODING 106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +10 +00 +30 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR k +ENCODING 107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +88 +90 +E0 +90 +88 +ENDCHAR +STARTCHAR l +ENCODING 108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR m +ENCODING 109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D0 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR n +ENCODING 110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR o +ENCODING 111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR p +ENCODING 112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR q +ENCODING 113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR r +ENCODING 114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR s +ENCODING 115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR t +ENCODING 116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +ENDCHAR +STARTCHAR u +ENCODING 117 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +98 +68 +ENDCHAR +STARTCHAR v +ENCODING 118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +50 +20 +ENDCHAR +STARTCHAR w +ENCODING 119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR x +ENCODING 120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR y +ENCODING 121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR z +ENCODING 122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR braceleft +ENCODING 123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +40 +40 +40 +80 +40 +40 +40 +20 +ENDCHAR +STARTCHAR bar +ENCODING 124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 9 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR braceright +ENCODING 125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +40 +40 +40 +20 +40 +40 +40 +80 +ENDCHAR +STARTCHAR asciitilde +ENCODING 126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +48 +A8 +90 +ENDCHAR +STARTCHAR space +ENCODING 160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR exclamdown +ENCODING 161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR cent +ENCODING 162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +70 +A8 +A0 +A8 +70 +20 +ENDCHAR +STARTCHAR sterling +ENCODING 163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +48 +40 +E0 +40 +48 +B0 +ENDCHAR +STARTCHAR currency +ENCODING 164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +50 +88 +50 +A8 +ENDCHAR +STARTCHAR yen +ENCODING 165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +50 +F8 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR brokenbar +ENCODING 166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +00 +80 +80 +80 +ENDCHAR +STARTCHAR section +ENCODING 167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +70 +80 +60 +90 +90 +60 +10 +E0 +ENDCHAR +STARTCHAR dieresis +ENCODING 168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 7 +BITMAP +A0 +ENDCHAR +STARTCHAR copyright +ENCODING 169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +B4 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR ordfeminine +ENCODING 170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +60 +A0 +60 +00 +E0 +ENDCHAR +STARTCHAR guillemotleft +ENCODING 171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +28 +50 +A0 +50 +28 +ENDCHAR +STARTCHAR logicalnot +ENCODING 172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +08 +08 +ENDCHAR +STARTCHAR hyphen +ENCODING 173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +E0 +ENDCHAR +STARTCHAR registered +ENCODING 174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR macron +ENCODING 175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 7 +BITMAP +F8 +ENDCHAR +STARTCHAR degree +ENCODING 176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 5 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR plusminus +ENCODING 177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +00 +F8 +ENDCHAR +STARTCHAR twosuperior +ENCODING 178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +20 +40 +E0 +ENDCHAR +STARTCHAR threesuperior +ENCODING 179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +C0 +20 +40 +20 +C0 +ENDCHAR +STARTCHAR acute +ENCODING 180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +20 +40 +80 +ENDCHAR +STARTCHAR mu +ENCODING 181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +98 +E8 +80 +80 +ENDCHAR +STARTCHAR paragraph +ENCODING 182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +E8 +E8 +E8 +68 +28 +28 +28 +ENDCHAR +STARTCHAR periodcentered +ENCODING 183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR cedilla +ENCODING 184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +20 +C0 +ENDCHAR +STARTCHAR onesuperior +ENCODING 185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR ordmasculine +ENCODING 186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +40 +00 +E0 +ENDCHAR +STARTCHAR guillemotright +ENCODING 187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +50 +28 +50 +A0 +ENDCHAR +STARTCHAR onequarter +ENCODING 188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +C0 +48 +50 +60 +50 +B0 +50 +78 +10 +ENDCHAR +STARTCHAR onehalf +ENCODING 189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +C0 +48 +50 +60 +50 +A8 +08 +10 +38 +ENDCHAR +STARTCHAR threequarters +ENCODING 190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +20 +48 +30 +E0 +50 +B0 +50 +78 +10 +ENDCHAR +STARTCHAR questiondown +ENCODING 191 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +20 +20 +40 +88 +70 +ENDCHAR +STARTCHAR Agrave +ENCODING 192 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Aacute +ENCODING 193 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Acircumflex +ENCODING 194 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Atilde +ENCODING 195 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Adieresis +ENCODING 196 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Aring +ENCODING 197 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +20 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR AE +ENCODING 198 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR Ccedilla +ENCODING 199 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +80 +80 +88 +70 +10 +60 +ENDCHAR +STARTCHAR Egrave +ENCODING 200 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Eacute +ENCODING 201 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Ecircumflex +ENCODING 202 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Edieresis +ENCODING 203 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Igrave +ENCODING 204 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +80 +40 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Iacute +ENCODING 205 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +20 +40 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Icircumflex +ENCODING 206 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +40 +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Idieresis +ENCODING 207 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Eth +ENCODING 208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +48 +48 +E8 +48 +48 +70 +ENDCHAR +STARTCHAR Ntilde +ENCODING 209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR Ograve +ENCODING 210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Oacute +ENCODING 211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Ocircumflex +ENCODING 212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Otilde +ENCODING 213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Odieresis +ENCODING 214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR multiply +ENCODING 215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR Oslash +ENCODING 216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +08 +70 +98 +A8 +A8 +A8 +C8 +70 +80 +ENDCHAR +STARTCHAR Ugrave +ENCODING 217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Uacute +ENCODING 218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Ucircumflex +ENCODING 219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Udieresis +ENCODING 220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Yacute +ENCODING 221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Thorn +ENCODING 222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +E0 +90 +90 +90 +E0 +80 +ENDCHAR +STARTCHAR germandbls +ENCODING 223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +90 +A0 +90 +88 +B0 +ENDCHAR +STARTCHAR agrave +ENCODING 224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR aacute +ENCODING 225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR acircumflex +ENCODING 226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR atilde +ENCODING 227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR adieresis +ENCODING 228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR aring +ENCODING 229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR ae +ENCODING 230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +28 +70 +A0 +78 +ENDCHAR +STARTCHAR ccedilla +ENCODING 231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +80 +88 +70 +10 +60 +ENDCHAR +STARTCHAR egrave +ENCODING 232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR eacute +ENCODING 233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR ecircumflex +ENCODING 234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR edieresis +ENCODING 235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR igrave +ENCODING 236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +80 +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR iacute +ENCODING 237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +20 +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR icircumflex +ENCODING 238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +40 +A0 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR idieresis +ENCODING 239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR eth +ENCODING 240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +20 +50 +08 +78 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ntilde +ENCODING 241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR ograve +ENCODING 242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR oacute +ENCODING 243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ocircumflex +ENCODING 244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR otilde +ENCODING 245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR odieresis +ENCODING 246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR divide +ENCODING 247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +00 +F8 +00 +20 +ENDCHAR +STARTCHAR oslash +ENCODING 248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +98 +A8 +C8 +F0 +ENDCHAR +STARTCHAR ugrave +ENCODING 249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uacute +ENCODING 250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ucircumflex +ENCODING 251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR udieresis +ENCODING 252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR yacute +ENCODING 253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR thorn +ENCODING 254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR ydieresis +ENCODING 255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +50 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR Amacron +ENCODING 256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR amacron +ENCODING 257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR Abreve +ENCODING 258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR abreve +ENCODING 259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR Aogonek +ENCODING 260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +10 +08 +ENDCHAR +STARTCHAR aogonek +ENCODING 261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +08 +78 +88 +78 +20 +30 +ENDCHAR +STARTCHAR Cacute +ENCODING 262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR cacute +ENCODING 263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR Ccircumflex +ENCODING 264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR ccircumflex +ENCODING 265 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR Cdotaccent +ENCODING 266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR cdotaccent +ENCODING 267 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR Ccaron +ENCODING 268 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR ccaron +ENCODING 269 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR Dcaron +ENCODING 270 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F0 +48 +48 +48 +48 +48 +F0 +ENDCHAR +STARTCHAR dcaron +ENCODING 271 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +14 +08 +00 +08 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR Dcroat +ENCODING 272 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +E8 +48 +48 +F0 +ENDCHAR +STARTCHAR dcroat +ENCODING 273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +1C +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR Emacron +ENCODING 274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR emacron +ENCODING 275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR Ebreve +ENCODING 276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR ebreve +ENCODING 277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR Edotaccent +ENCODING 278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR edotaccent +ENCODING 279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR Eogonek +ENCODING 280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +20 +30 +ENDCHAR +STARTCHAR eogonek +ENCODING 281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +F0 +80 +70 +20 +30 +ENDCHAR +STARTCHAR Ecaron +ENCODING 282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR ecaron +ENCODING 283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR Gcircumflex +ENCODING 284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR gcircumflex +ENCODING 285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +20 +50 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR Gbreve +ENCODING 286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR gbreve +ENCODING 287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +70 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR Gdotaccent +ENCODING 288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR gdotaccent +ENCODING 289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR Gcommaaccent +ENCODING 290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +80 +98 +88 +70 +10 +60 +ENDCHAR +STARTCHAR gcommaaccent +ENCODING 291 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +20 +40 +60 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR Hcircumflex +ENCODING 292 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR hcircumflex +ENCODING 293 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +80 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR Hbar +ENCODING 294 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +FC +48 +78 +48 +48 +48 +ENDCHAR +STARTCHAR hbar +ENCODING 295 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +F0 +40 +70 +48 +48 +48 +ENDCHAR +STARTCHAR Itilde +ENCODING 296 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +50 +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR itilde +ENCODING 297 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 0 +BITMAP +50 +A0 +00 +60 +20 +20 +20 +70 +ENDCHAR +STARTCHAR Imacron +ENCODING 298 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +E0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR imacron +ENCODING 299 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Ibreve +ENCODING 300 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR ibreve +ENCODING 301 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +60 +20 +20 +20 +70 +ENDCHAR +STARTCHAR Iogonek +ENCODING 302 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 +BITMAP +E0 +40 +40 +40 +40 +40 +E0 +40 +60 +ENDCHAR +STARTCHAR iogonek +ENCODING 303 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 +BITMAP +40 +00 +C0 +40 +40 +40 +E0 +40 +60 +ENDCHAR +STARTCHAR Idotaccent +ENCODING 304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +40 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR dotlessi +ENCODING 305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR IJ +ENCODING 306 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +98 +88 +88 +88 +88 +A8 +90 +ENDCHAR +STARTCHAR ij +ENCODING 307 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +00 +98 +88 +88 +88 +88 +88 +30 +ENDCHAR +STARTCHAR Jcircumflex +ENCODING 308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +28 +00 +38 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR jcircumflex +ENCODING 309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +28 +00 +30 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR Kcommaaccent +ENCODING 310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +10 +60 +ENDCHAR +STARTCHAR kcommaaccent +ENCODING 311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +88 +90 +E0 +90 +88 +10 +60 +ENDCHAR +STARTCHAR kgreenlandic +ENCODING 312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR Lacute +ENCODING 313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR lacute +ENCODING 314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +20 +40 +00 +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Lcommaaccent +ENCODING 315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +F8 +10 +60 +ENDCHAR +STARTCHAR lcommaaccent +ENCODING 316 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +E0 +20 +C0 +ENDCHAR +STARTCHAR Lcaron +ENCODING 317 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR lcaron +ENCODING 318 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +A0 +40 +00 +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Ldot +ENCODING 319 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +80 +90 +80 +80 +F8 +ENDCHAR +STARTCHAR ldot +ENCODING 320 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +C0 +40 +40 +50 +40 +40 +E0 +ENDCHAR +STARTCHAR Lslash +ENCODING 321 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +60 +C0 +40 +40 +78 +ENDCHAR +STARTCHAR lslash +ENCODING 322 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +60 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR Nacute +ENCODING 323 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR nacute +ENCODING 324 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR Ncommaaccent +ENCODING 325 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +C8 +A8 +98 +88 +88 +20 +40 +ENDCHAR +STARTCHAR ncommaaccent +ENCODING 326 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +20 +40 +ENDCHAR +STARTCHAR Ncaron +ENCODING 327 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR ncaron +ENCODING 328 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR napostrophe +ENCODING 329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C0 +40 +80 +50 +68 +48 +48 +48 +ENDCHAR +STARTCHAR Eng +ENCODING 330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +C8 +A8 +98 +88 +88 +08 +30 +ENDCHAR +STARTCHAR eng +ENCODING 331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +08 +30 +ENDCHAR +STARTCHAR Omacron +ENCODING 332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR omacron +ENCODING 333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Obreve +ENCODING 334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR obreve +ENCODING 335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Ohungarumlaut +ENCODING 336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +48 +90 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ohungarumlaut +ENCODING 337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +90 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR OE +ENCODING 338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +B0 +A0 +A0 +78 +ENDCHAR +STARTCHAR oe +ENCODING 339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +B0 +A0 +78 +ENDCHAR +STARTCHAR Racute +ENCODING 340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR racute +ENCODING 341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR Rcommaaccent +ENCODING 342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +88 +88 +F0 +A0 +90 +88 +20 +40 +ENDCHAR +STARTCHAR rcommaaccent +ENCODING 343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +80 +80 +80 +20 +40 +ENDCHAR +STARTCHAR Rcaron +ENCODING 344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR rcaron +ENCODING 345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR Sacute +ENCODING 346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR sacute +ENCODING 347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR Scircumflex +ENCODING 348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR scircumflex +ENCODING 349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR Scedilla +ENCODING 350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +70 +08 +88 +70 +10 +60 +ENDCHAR +STARTCHAR scedilla +ENCODING 351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +10 +60 +ENDCHAR +STARTCHAR Scaron +ENCODING 352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR scaron +ENCODING 353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR Tcommaaccent +ENCODING 354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +10 +60 +ENDCHAR +STARTCHAR tcommaaccent +ENCODING 355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +08 +30 +ENDCHAR +STARTCHAR Tcaron +ENCODING 356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR tcaron +ENCODING 357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +20 +20 +F8 +20 +20 +20 +18 +ENDCHAR +STARTCHAR Tbar +ENCODING 358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR tbar +ENCODING 359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +20 +F8 +20 +20 +18 +ENDCHAR +STARTCHAR Utilde +ENCODING 360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR utilde +ENCODING 361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Umacron +ENCODING 362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR umacron +ENCODING 363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Ubreve +ENCODING 364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ubreve +ENCODING 365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Uring +ENCODING 366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +20 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uring +ENCODING 367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Uhungarumlaut +ENCODING 368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +48 +90 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uhungarumlaut +ENCODING 369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +90 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Uogonek +ENCODING 370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +88 +88 +88 +70 +20 +30 +ENDCHAR +STARTCHAR uogonek +ENCODING 371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +70 +20 +30 +ENDCHAR +STARTCHAR Wcircumflex +ENCODING 372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR wcircumflex +ENCODING 373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Ycircumflex +ENCODING 374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR ycircumflex +ENCODING 375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +20 +50 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR Ydieresis +ENCODING 376 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Zacute +ENCODING 377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR zacute +ENCODING 378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +F8 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR Zdotaccent +ENCODING 379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR zdotaccent +ENCODING 380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +F8 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR Zcaron +ENCODING 381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR zcaron +ENCODING 382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +F8 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR longs +ENCODING 383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +30 +40 +40 +C0 +40 +40 +40 +ENDCHAR +STARTCHAR uni0180 +ENCODING 384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +F0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR uni0181 +ENCODING 385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +28 +30 +28 +28 +30 +ENDCHAR +STARTCHAR uni0182 +ENCODING 386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +40 +40 +70 +48 +48 +F0 +ENDCHAR +STARTCHAR uni0183 +ENCODING 387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +80 +F0 +88 +88 +88 +F0 +ENDCHAR +STARTCHAR uni0184 +ENCODING 388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +C0 +C0 +70 +48 +48 +70 +ENDCHAR +STARTCHAR uni0185 +ENCODING 389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +C0 +70 +48 +48 +48 +70 +ENDCHAR +STARTCHAR uni0186 +ENCODING 390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni0187 +ENCODING 391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +0C +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR uni0188 +ENCODING 392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +18 +60 +90 +80 +90 +60 +ENDCHAR +STARTCHAR uni0189 +ENCODING 393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +E8 +48 +48 +F0 +ENDCHAR +STARTCHAR uni018A +ENCODING 394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +28 +28 +28 +28 +30 +ENDCHAR +STARTCHAR uni018B +ENCODING 395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +08 +08 +78 +88 +88 +78 +ENDCHAR +STARTCHAR uni018C +ENCODING 396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR uni018D +ENCODING 397 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni018E +ENCODING 398 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +78 +08 +08 +F8 +ENDCHAR +STARTCHAR uni018F +ENCODING 399 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni0190 +ENCODING 400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +70 +80 +88 +70 +ENDCHAR +STARTCHAR uni0191 +ENCODING 401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +78 +40 +40 +70 +40 +40 +40 +80 +ENDCHAR +STARTCHAR florin +ENCODING 402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +28 +20 +70 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni0193 +ENCODING 403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +0C +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni0194 +ENCODING 404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +50 +20 +50 +20 +ENDCHAR +STARTCHAR uni0195 +ENCODING 405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +C8 +A8 +A8 +A8 +90 +ENDCHAR +STARTCHAR uni0196 +ENCODING 406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +40 +40 +40 +40 +20 +ENDCHAR +STARTCHAR uni0197 +ENCODING 407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +E0 +40 +40 +E0 +ENDCHAR +STARTCHAR uni0198 +ENCODING 408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +98 +A0 +C0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni0199 +ENCODING 409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +80 +88 +90 +E0 +90 +88 +ENDCHAR +STARTCHAR uni019A +ENCODING 410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +40 +E0 +40 +40 +E0 +ENDCHAR +STARTCHAR uni019B +ENCODING 411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +40 +C0 +40 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni019C +ENCODING 412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +58 +ENDCHAR +STARTCHAR uni019D +ENCODING 413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +48 +48 +48 +68 +58 +48 +48 +80 +ENDCHAR +STARTCHAR uni019E +ENCODING 414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni019F +ENCODING 415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR Ohorn +ENCODING 416 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +68 +90 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR ohorn +ENCODING 417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01A2 +ENCODING 418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +B0 +A8 +A8 +A8 +A8 +48 +ENDCHAR +STARTCHAR uni01A3 +ENCODING 419 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +A8 +A8 +48 +ENDCHAR +STARTCHAR uni01A4 +ENCODING 420 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +70 +40 +40 +40 +ENDCHAR +STARTCHAR uni01A5 +ENCODING 421 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +40 +80 +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR uni01A6 +ENCODING 422 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +80 +F0 +88 +88 +F0 +A0 +90 +08 +ENDCHAR +STARTCHAR uni01A7 +ENCODING 423 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +70 +80 +88 +70 +ENDCHAR +STARTCHAR uni01A8 +ENCODING 424 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +08 +70 +80 +78 +ENDCHAR +STARTCHAR uni01A9 +ENCODING 425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +40 +20 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR uni01AA +ENCODING 426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +40 +A0 +70 +20 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni01AB +ENCODING 427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +08 +30 +ENDCHAR +STARTCHAR uni01AC +ENCODING 428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni01AD +ENCODING 429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +20 +20 +F8 +20 +20 +20 +18 +ENDCHAR +STARTCHAR uni01AE +ENCODING 430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +18 +ENDCHAR +STARTCHAR Uhorn +ENCODING 431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +98 +90 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uhorn +ENCODING 432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +08 +98 +90 +90 +B0 +50 +ENDCHAR +STARTCHAR uni01B1 +ENCODING 433 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01B2 +ENCODING 434 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +90 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01B3 +ENCODING 435 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +48 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni01B4 +ENCODING 436 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +10 +A8 +A0 +A0 +A0 +60 +40 +80 +ENDCHAR +STARTCHAR uni01B5 +ENCODING 437 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +F8 +40 +80 +F8 +ENDCHAR +STARTCHAR uni01B6 +ENCODING 438 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +F8 +40 +F8 +ENDCHAR +STARTCHAR uni01B7 +ENCODING 439 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni01B8 +ENCODING 440 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +40 +20 +70 +80 +88 +70 +ENDCHAR +STARTCHAR uni01B9 +ENCODING 441 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +40 +20 +70 +80 +88 +70 +ENDCHAR +STARTCHAR uni01BA +ENCODING 442 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +30 +08 +70 +88 +70 +ENDCHAR +STARTCHAR uni01BB +ENCODING 443 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +10 +78 +20 +40 +F8 +ENDCHAR +STARTCHAR uni01BC +ENCODING 444 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +E0 +10 +08 +08 +F0 +ENDCHAR +STARTCHAR uni01BD +ENCODING 445 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +F0 +80 +E0 +10 +E0 +ENDCHAR +STARTCHAR uni01BE +ENCODING 446 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +20 +30 +08 +88 +70 +ENDCHAR +STARTCHAR uni01BF +ENCODING 447 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +90 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni01C0 +ENCODING 448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni01C1 +ENCODING 449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni01C2 +ENCODING 450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +40 +E0 +40 +E0 +40 +40 +ENDCHAR +STARTCHAR uni01C3 +ENCODING 451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +E0 +E0 +40 +40 +00 +40 +ENDCHAR +STARTCHAR uni01C4 +ENCODING 452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +28 +10 +00 +D8 +A8 +A8 +B0 +B0 +B0 +D8 +ENDCHAR +STARTCHAR uni01C5 +ENCODING 453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +28 +10 +C0 +A0 +B8 +A8 +B0 +B0 +D8 +ENDCHAR +STARTCHAR uni01C6 +ENCODING 454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +28 +10 +00 +20 +20 +78 +A8 +B0 +B0 +78 +ENDCHAR +STARTCHAR uni01C7 +ENCODING 455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +88 +A8 +D0 +ENDCHAR +STARTCHAR uni01C8 +ENCODING 456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +80 +98 +88 +88 +88 +E8 +08 +30 +ENDCHAR +STARTCHAR uni01C9 +ENCODING 457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +C8 +40 +58 +48 +48 +48 +E8 +08 +30 +ENDCHAR +STARTCHAR uni01CA +ENCODING 458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E8 +A8 +A8 +A8 +A8 +88 +B0 +ENDCHAR +STARTCHAR uni01CB +ENCODING 459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +E8 +A0 +A8 +A8 +A8 +A8 +88 +28 +10 +ENDCHAR +STARTCHAR uni01CC +ENCODING 460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +00 +58 +A8 +A8 +A8 +A8 +08 +30 +ENDCHAR +STARTCHAR uni01CD +ENCODING 461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni01CE +ENCODING 462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni01CF +ENCODING 463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +A0 +40 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni01D0 +ENCODING 464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +A0 +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni01D1 +ENCODING 465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D2 +ENCODING 466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D3 +ENCODING 467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D4 +ENCODING 468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D5 +ENCODING 469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +50 +00 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D6 +ENCODING 470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D7 +ENCODING 471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +50 +00 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D8 +ENCODING 472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D9 +ENCODING 473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +50 +00 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01DA +ENCODING 474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01DB +ENCODING 475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +50 +00 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01DC +ENCODING 476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01DD +ENCODING 477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +78 +88 +70 +ENDCHAR +STARTCHAR uni01DE +ENCODING 478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +50 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni01DF +ENCODING 479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +50 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni01E0 +ENCODING 480 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +20 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni01E1 +ENCODING 481 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni01E2 +ENCODING 482 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +78 +00 +78 +A0 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR uni01E3 +ENCODING 483 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +70 +28 +70 +A0 +78 +ENDCHAR +STARTCHAR uni01E4 +ENCODING 484 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +98 +98 +88 +70 +ENDCHAR +STARTCHAR uni01E5 +ENCODING 485 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +78 +F8 +70 +ENDCHAR +STARTCHAR Gcaron +ENCODING 486 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR gcaron +ENCODING 487 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +50 +20 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR uni01E8 +ENCODING 488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni01E9 +ENCODING 489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +20 +80 +80 +88 +90 +E0 +90 +88 +ENDCHAR +STARTCHAR uni01EA +ENCODING 490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +88 +88 +88 +70 +40 +30 +ENDCHAR +STARTCHAR uni01EB +ENCODING 491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +70 +40 +30 +ENDCHAR +STARTCHAR uni01EC +ENCODING 492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +70 +00 +70 +88 +88 +88 +88 +88 +70 +40 +30 +ENDCHAR +STARTCHAR uni01ED +ENCODING 493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +00 +70 +88 +88 +88 +70 +40 +30 +ENDCHAR +STARTCHAR uni01EE +ENCODING 494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni01EF +ENCODING 495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +50 +20 +00 +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni01F0 +ENCODING 496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +28 +10 +00 +30 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR uni01F1 +ENCODING 497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +CC +A4 +A4 +A8 +A8 +A8 +CC +ENDCHAR +STARTCHAR uni01F2 +ENCODING 498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +A0 +AC +A4 +A8 +A8 +CC +ENDCHAR +STARTCHAR uni01F3 +ENCODING 499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +20 +6C +A4 +A4 +A8 +6C +ENDCHAR +STARTCHAR uni01F4 +ENCODING 500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni01F5 +ENCODING 501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR uni01F6 +ENCODING 502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +E8 +A8 +A8 +A8 +90 +ENDCHAR +STARTCHAR uni01F7 +ENCODING 503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +B0 +C8 +88 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni01F8 +ENCODING 504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR uni01F9 +ENCODING 505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR Aringacute +ENCODING 506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +20 +50 +20 +70 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR aringacute +ENCODING 507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +20 +50 +20 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR AEacute +ENCODING 508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +78 +A0 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR aeacute +ENCODING 509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +28 +70 +A0 +78 +ENDCHAR +STARTCHAR Oslashacute +ENCODING 510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +10 +20 +08 +70 +98 +A8 +A8 +A8 +C8 +70 +80 +ENDCHAR +STARTCHAR oslashacute +ENCODING 511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +78 +98 +A8 +C8 +F0 +ENDCHAR +STARTCHAR uni0200 +ENCODING 512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0201 +ENCODING 513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni0202 +ENCODING 514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0203 +ENCODING 515 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni0204 +ENCODING 516 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni0205 +ENCODING 517 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR uni0206 +ENCODING 518 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni0207 +ENCODING 519 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR uni0208 +ENCODING 520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni0209 +ENCODING 521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +60 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni020A +ENCODING 522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni020B +ENCODING 523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +60 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni020C +ENCODING 524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni020D +ENCODING 525 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni020E +ENCODING 526 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni020F +ENCODING 527 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0210 +ENCODING 528 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni0211 +ENCODING 529 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR uni0212 +ENCODING 530 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni0213 +ENCODING 531 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR uni0214 +ENCODING 532 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0215 +ENCODING 533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0216 +ENCODING 534 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0217 +ENCODING 535 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Scommaaccent +ENCODING 536 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +70 +08 +88 +70 +10 +20 +ENDCHAR +STARTCHAR scommaaccent +ENCODING 537 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +10 +20 +ENDCHAR +STARTCHAR Tcommaaccent +ENCODING 538 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +10 +20 +ENDCHAR +STARTCHAR tcommaaccent +ENCODING 539 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +10 +20 +ENDCHAR +STARTCHAR uni021C +ENCODING 540 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +10 +28 +08 +08 +F0 +ENDCHAR +STARTCHAR uni021D +ENCODING 541 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +10 +28 +08 +08 +F0 +ENDCHAR +STARTCHAR uni021E +ENCODING 542 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni021F +ENCODING 543 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +20 +80 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni0220 +ENCODING 544 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +B0 +C8 +88 +88 +88 +88 +88 +08 +ENDCHAR +STARTCHAR uni0221 +ENCODING 545 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +10 +10 +70 +90 +98 +94 +78 +20 +ENDCHAR +STARTCHAR uni0222 +ENCODING 546 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +88 +88 +70 +88 +88 +70 +ENDCHAR +STARTCHAR uni0223 +ENCODING 547 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +88 +70 +88 +88 +70 +ENDCHAR +STARTCHAR uni0224 +ENCODING 548 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +08 +10 +20 +40 +80 +F8 +08 +30 +ENDCHAR +STARTCHAR uni0225 +ENCODING 549 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +40 +F8 +08 +30 +ENDCHAR +STARTCHAR uni0226 +ENCODING 550 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0227 +ENCODING 551 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni0228 +ENCODING 552 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +08 +30 +ENDCHAR +STARTCHAR uni0229 +ENCODING 553 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +F0 +80 +70 +08 +30 +ENDCHAR +STARTCHAR uni022A +ENCODING 554 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +50 +00 +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022B +ENCODING 555 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022C +ENCODING 556 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +68 +B0 +00 +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022D +ENCODING 557 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +68 +B0 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022E +ENCODING 558 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022F +ENCODING 559 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0230 +ENCODING 560 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +20 +00 +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0231 +ENCODING 561 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0232 +ENCODING 562 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni0233 +ENCODING 563 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni0234 +ENCODING 564 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -1 +BITMAP +40 +40 +40 +40 +60 +50 +60 +80 +ENDCHAR +STARTCHAR uni0235 +ENCODING 565 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +E0 +90 +98 +94 +98 +20 +ENDCHAR +STARTCHAR uni0236 +ENCODING 566 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +40 +F0 +40 +60 +50 +A0 +ENDCHAR +STARTCHAR uni0237 +ENCODING 567 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -2 +BITMAP +10 +10 +10 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR uni0238 +ENCODING 568 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +70 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni0239 +ENCODING 569 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +A8 +A8 +70 +20 +20 +20 +ENDCHAR +STARTCHAR uni023A +ENCODING 570 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +74 +88 +98 +F8 +A8 +C8 +88 +ENDCHAR +STARTCHAR uni023B +ENCODING 571 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +3C +48 +90 +90 +A0 +40 +B8 +ENDCHAR +STARTCHAR uni023C +ENCODING 572 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +98 +A0 +C8 +F0 +ENDCHAR +STARTCHAR uni023D +ENCODING 573 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +40 +E0 +40 +40 +78 +ENDCHAR +STARTCHAR uni023E +ENCODING 574 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +28 +30 +20 +20 +60 +A0 +ENDCHAR +STARTCHAR uni023F +ENCODING 575 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +20 +10 +ENDCHAR +STARTCHAR uni0240 +ENCODING 576 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +40 +80 +40 +38 +ENDCHAR +STARTCHAR uni0241 +ENCODING 577 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +30 +20 +20 +20 +ENDCHAR +STARTCHAR uni0242 +ENCODING 578 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +E0 +10 +10 +60 +40 +ENDCHAR +STARTCHAR uni0243 +ENCODING 579 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +48 +70 +48 +E8 +48 +70 +ENDCHAR +STARTCHAR uni0244 +ENCODING 580 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +48 +48 +FC +48 +48 +30 +ENDCHAR +STARTCHAR uni0245 +ENCODING 581 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +50 +88 +88 +88 +ENDCHAR +STARTCHAR uni0246 +ENCODING 582 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +88 +90 +F0 +A0 +C0 +F8 +ENDCHAR +STARTCHAR uni0247 +ENCODING 583 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +70 +A8 +F0 +C0 +F0 +ENDCHAR +STARTCHAR uni0248 +ENCODING 584 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +10 +10 +10 +10 +38 +10 +90 +60 +ENDCHAR +STARTCHAR uni0249 +ENCODING 585 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +00 +10 +10 +10 +38 +10 +90 +60 +ENDCHAR +STARTCHAR uni024A +ENCODING 586 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +68 +98 +88 +88 +98 +68 +08 +08 +04 +ENDCHAR +STARTCHAR uni024B +ENCODING 587 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +68 +98 +88 +98 +68 +08 +04 +ENDCHAR +STARTCHAR uni024C +ENCODING 588 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +48 +48 +F0 +48 +48 +48 +ENDCHAR +STARTCHAR uni024D +ENCODING 589 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 0 +BITMAP +50 +60 +40 +E0 +40 +ENDCHAR +STARTCHAR uni024E +ENCODING 590 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +F8 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni024F +ENCODING 591 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +F8 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni0250 +ENCODING 592 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR uni0251 +ENCODING 593 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +68 +98 +88 +98 +68 +ENDCHAR +STARTCHAR uni0252 +ENCODING 594 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +C8 +88 +C8 +B0 +ENDCHAR +STARTCHAR uni0253 +ENCODING 595 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +90 +80 +F0 +88 +88 +88 +F0 +ENDCHAR +STARTCHAR uni0254 +ENCODING 596 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +08 +88 +70 +ENDCHAR +STARTCHAR uni0255 +ENCODING 597 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +78 +80 +90 +A8 +70 +20 +ENDCHAR +STARTCHAR uni0256 +ENCODING 598 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +10 +70 +90 +90 +90 +70 +08 +ENDCHAR +STARTCHAR uni0257 +ENCODING 599 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +10 +10 +70 +90 +90 +90 +70 +ENDCHAR +STARTCHAR uni0258 +ENCODING 600 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +78 +08 +70 +ENDCHAR +STARTCHAR uni0259 +ENCODING 601 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +78 +88 +70 +ENDCHAR +STARTCHAR uni025A +ENCODING 602 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +60 +18 +74 +90 +60 +ENDCHAR +STARTCHAR uni025B +ENCODING 603 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni025C +ENCODING 604 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +30 +88 +70 +ENDCHAR +STARTCHAR uni025D +ENCODING 605 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +68 +94 +20 +90 +60 +ENDCHAR +STARTCHAR uni025E +ENCODING 606 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +B0 +88 +70 +ENDCHAR +STARTCHAR uni025F +ENCODING 607 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +10 +10 +10 +38 +10 +90 +60 +ENDCHAR +STARTCHAR uni0260 +ENCODING 608 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +08 +70 +90 +90 +90 +70 +10 +60 +ENDCHAR +STARTCHAR uni0261 +ENCODING 609 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR uni0262 +ENCODING 610 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni0263 +ENCODING 611 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +50 +20 +50 +20 +ENDCHAR +STARTCHAR uni0264 +ENCODING 612 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +20 +50 +20 +ENDCHAR +STARTCHAR uni0265 +ENCODING 613 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni0266 +ENCODING 614 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni0267 +ENCODING 615 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +70 +88 +80 +F0 +88 +88 +88 +88 +08 +30 +ENDCHAR +STARTCHAR uni0268 +ENCODING 616 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +00 +C0 +40 +E0 +40 +E0 +ENDCHAR +STARTCHAR uni0269 +ENCODING 617 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni026A +ENCODING 618 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +E0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni026B +ENCODING 619 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +20 +68 +B0 +20 +20 +70 +ENDCHAR +STARTCHAR uni026C +ENCODING 620 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +60 +20 +60 +A0 +70 +20 +70 +ENDCHAR +STARTCHAR uni026D +ENCODING 621 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni026E +ENCODING 622 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +C0 +40 +78 +48 +50 +70 +E8 +48 +30 +ENDCHAR +STARTCHAR uni026F +ENCODING 623 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +A8 +A8 +58 +ENDCHAR +STARTCHAR uni0270 +ENCODING 624 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A8 +A8 +A8 +A8 +58 +08 +08 +ENDCHAR +STARTCHAR uni0271 +ENCODING 625 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +D0 +A8 +A8 +A8 +A8 +08 +30 +ENDCHAR +STARTCHAR uni0272 +ENCODING 626 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +48 +48 +48 +48 +40 +80 +ENDCHAR +STARTCHAR uni0273 +ENCODING 627 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +E0 +90 +90 +90 +90 +10 +08 +ENDCHAR +STARTCHAR uni0274 +ENCODING 628 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +C8 +A8 +98 +88 +ENDCHAR +STARTCHAR uni0275 +ENCODING 629 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni0276 +ENCODING 630 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +A0 +B0 +A0 +78 +ENDCHAR +STARTCHAR uni0277 +ENCODING 631 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni0278 +ENCODING 632 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni0279 +ENCODING 633 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +08 +08 +98 +68 +ENDCHAR +STARTCHAR uni027A +ENCODING 634 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +08 +08 +98 +68 +ENDCHAR +STARTCHAR uni027B +ENCODING 635 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +10 +10 +10 +90 +70 +10 +08 +ENDCHAR +STARTCHAR uni027C +ENCODING 636 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni027D +ENCODING 637 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni027E +ENCODING 638 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +30 +48 +80 +80 +80 +ENDCHAR +STARTCHAR uni027F +ENCODING 639 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +60 +90 +08 +08 +08 +ENDCHAR +STARTCHAR uni0280 +ENCODING 640 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +88 +F0 +88 +88 +ENDCHAR +STARTCHAR uni0281 +ENCODING 641 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +F0 +88 +F0 +ENDCHAR +STARTCHAR uni0282 +ENCODING 642 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +80 +60 +ENDCHAR +STARTCHAR uni0283 +ENCODING 643 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +28 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni0284 +ENCODING 644 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +28 +20 +20 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR uni0285 +ENCODING 645 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +A0 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni0286 +ENCODING 646 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +28 +20 +20 +20 +70 +A0 +40 +ENDCHAR +STARTCHAR uni0287 +ENCODING 647 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +C0 +20 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni0288 +ENCODING 648 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +20 +20 +18 +ENDCHAR +STARTCHAR uni0289 +ENCODING 649 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +F8 +88 +98 +68 +ENDCHAR +STARTCHAR uni028A +ENCODING 650 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +50 +88 +88 +70 +ENDCHAR +STARTCHAR uni028B +ENCODING 651 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +88 +88 +90 +60 +ENDCHAR +STARTCHAR uni028C +ENCODING 652 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni028D +ENCODING 653 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +A8 +88 +88 +ENDCHAR +STARTCHAR uni028E +ENCODING 654 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +20 +50 +88 +88 +88 +ENDCHAR +STARTCHAR uni028F +ENCODING 655 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni0290 +ENCODING 656 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +40 +F8 +20 +18 +ENDCHAR +STARTCHAR uni0291 +ENCODING 657 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +50 +F8 +20 +40 +ENDCHAR +STARTCHAR uni0292 +ENCODING 658 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni0293 +ENCODING 659 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +F8 +10 +30 +08 +78 +88 +74 +ENDCHAR +STARTCHAR uni0294 +ENCODING 660 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +30 +20 +20 +20 +ENDCHAR +STARTCHAR uni0295 +ENCODING 661 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +60 +20 +20 +20 +ENDCHAR +STARTCHAR uni0296 +ENCODING 662 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +30 +08 +88 +70 +ENDCHAR +STARTCHAR uni0297 +ENCODING 663 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +80 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR uni0298 +ENCODING 664 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni0299 +ENCODING 665 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +88 +F0 +88 +F0 +ENDCHAR +STARTCHAR uni029A +ENCODING 666 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +68 +88 +70 +ENDCHAR +STARTCHAR uni029B +ENCODING 667 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +78 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni029C +ENCODING 668 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni029D +ENCODING 669 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +00 +30 +10 +10 +10 +78 +90 +60 +ENDCHAR +STARTCHAR uni029E +ENCODING 670 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +48 +38 +48 +88 +08 +08 +ENDCHAR +STARTCHAR uni029F +ENCODING 671 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni02A0 +ENCODING 672 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +10 +70 +90 +90 +90 +70 +10 +10 +ENDCHAR +STARTCHAR uni02A1 +ENCODING 673 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +30 +20 +70 +20 +ENDCHAR +STARTCHAR uni02A2 +ENCODING 674 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +60 +20 +70 +20 +ENDCHAR +STARTCHAR uni02A3 +ENCODING 675 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +20 +6C +A4 +A8 +A8 +6C +ENDCHAR +STARTCHAR uni02A4 +ENCODING 676 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +78 +A8 +B0 +B8 +68 +08 +38 +ENDCHAR +STARTCHAR uni02A5 +ENCODING 677 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +78 +A8 +B0 +B0 +78 +10 +ENDCHAR +STARTCHAR uni02A6 +ENCODING 678 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +F8 +50 +48 +48 +30 +ENDCHAR +STARTCHAR uni02A7 +ENCODING 679 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 +BITMAP +08 +54 +50 +F0 +50 +50 +50 +30 +50 +20 +ENDCHAR +STARTCHAR uni02A8 +ENCODING 680 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +40 +40 +E8 +50 +50 +50 +28 +10 +ENDCHAR +STARTCHAR uni02A9 +ENCODING 681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +60 +90 +80 +F0 +A8 +A8 +A8 +08 +30 +ENDCHAR +STARTCHAR uni02AA +ENCODING 682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +40 +58 +60 +50 +48 +F0 +ENDCHAR +STARTCHAR uni02AB +ENCODING 683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +40 +78 +48 +50 +60 +F8 +ENDCHAR +STARTCHAR uni02AC +ENCODING 684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +50 +00 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni02AD +ENCODING 685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +88 +00 +F8 +88 +ENDCHAR +STARTCHAR uni02AE +ENCODING 686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +48 +48 +48 +48 +48 +48 +38 +08 +08 +ENDCHAR +STARTCHAR uni02AF +ENCODING 687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 +BITMAP +88 +48 +48 +48 +48 +48 +48 +38 +08 +04 +ENDCHAR +STARTCHAR uni02B0 +ENCODING 688 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +80 +80 +C0 +A0 +A0 +ENDCHAR +STARTCHAR uni02B1 +ENCODING 689 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +40 +80 +C0 +A0 +A0 +ENDCHAR +STARTCHAR uni02B2 +ENCODING 690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 3 +BITMAP +20 +00 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni02B3 +ENCODING 691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 4 +BITMAP +C0 +A0 +80 +80 +ENDCHAR +STARTCHAR uni02B4 +ENCODING 692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 4 +BITMAP +20 +20 +A0 +60 +ENDCHAR +STARTCHAR uni02B5 +ENCODING 693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 3 +BITMAP +20 +20 +A0 +60 +10 +ENDCHAR +STARTCHAR uni02B6 +ENCODING 694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +A0 +A0 +C0 +A0 +C0 +ENDCHAR +STARTCHAR uni02B7 +ENCODING 695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 4 +BITMAP +A8 +A8 +50 +50 +ENDCHAR +STARTCHAR uni02B8 +ENCODING 696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 3 +BITMAP +A0 +A0 +60 +20 +C0 +ENDCHAR +STARTCHAR uni02B9 +ENCODING 697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 5 +BITMAP +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni02BA +ENCODING 698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 5 +BITMAP +48 +48 +90 +90 +ENDCHAR +STARTCHAR uni02BB +ENCODING 699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 5 +BITMAP +40 +80 +C0 +ENDCHAR +STARTCHAR afii57929 +ENCODING 700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 5 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR afii64937 +ENCODING 701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 5 +BITMAP +C0 +80 +40 +ENDCHAR +STARTCHAR uni02BE +ENCODING 702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 4 +BITMAP +80 +40 +40 +80 +ENDCHAR +STARTCHAR uni02BF +ENCODING 703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 1 4 +BITMAP +40 +80 +80 +40 +ENDCHAR +STARTCHAR uni02C0 +ENCODING 704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +40 +A0 +20 +40 +40 +ENDCHAR +STARTCHAR uni02C1 +ENCODING 705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +40 +A0 +80 +40 +40 +ENDCHAR +STARTCHAR uni02C2 +ENCODING 706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR uni02C3 +ENCODING 707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +80 +40 +20 +40 +80 +ENDCHAR +STARTCHAR uni02C4 +ENCODING 708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +40 +A0 +A0 +ENDCHAR +STARTCHAR uni02C5 +ENCODING 709 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +A0 +A0 +40 +ENDCHAR +STARTCHAR circumflex +ENCODING 710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 6 +BITMAP +40 +A0 +ENDCHAR +STARTCHAR caron +ENCODING 711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 7 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni02C8 +ENCODING 712 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 6 +BITMAP +80 +80 +ENDCHAR +STARTCHAR macron +ENCODING 713 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 1 1 7 +BITMAP +F0 +ENDCHAR +STARTCHAR uni02CA +ENCODING 714 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 6 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni02CB +ENCODING 715 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 6 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni02CC +ENCODING 716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 -1 +BITMAP +80 +80 +ENDCHAR +STARTCHAR uni02CD +ENCODING 717 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 1 1 0 +BITMAP +F0 +ENDCHAR +STARTCHAR uni02CE +ENCODING 718 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -1 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni02CF +ENCODING 719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -1 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni02D0 +ENCODING 720 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +E0 +40 +00 +40 +E0 +ENDCHAR +STARTCHAR uni02D1 +ENCODING 721 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 3 +BITMAP +E0 +40 +ENDCHAR +STARTCHAR uni02D2 +ENCODING 722 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 2 0 +BITMAP +C0 +20 +20 +C0 +ENDCHAR +STARTCHAR uni02D3 +ENCODING 723 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 0 +BITMAP +60 +80 +80 +60 +ENDCHAR +STARTCHAR uni02D4 +ENCODING 724 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +20 +20 +F8 +ENDCHAR +STARTCHAR uni02D5 +ENCODING 725 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +20 +20 +ENDCHAR +STARTCHAR uni02D6 +ENCODING 726 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni02D7 +ENCODING 727 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +88 +F8 +88 +ENDCHAR +STARTCHAR breve +ENCODING 728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +88 +70 +ENDCHAR +STARTCHAR dotaccent +ENCODING 729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 7 +BITMAP +80 +ENDCHAR +STARTCHAR ring +ENCODING 730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR ogonek +ENCODING 731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +C0 +ENDCHAR +STARTCHAR tilde +ENCODING 732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR hungarumlaut +ENCODING 733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni02DE +ENCODING 734 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +20 +68 +A8 +10 +ENDCHAR +STARTCHAR uni02DF +ENCODING 735 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni02E0 +ENCODING 736 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 3 +BITMAP +A0 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR uni02E1 +ENCODING 737 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni02E2 +ENCODING 738 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 4 +BITMAP +60 +C0 +20 +C0 +ENDCHAR +STARTCHAR uni02E3 +ENCODING 739 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni02E4 +ENCODING 740 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +60 +80 +C0 +40 +40 +ENDCHAR +STARTCHAR uni02E5 +ENCODING 741 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni02E6 +ENCODING 742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni02E7 +ENCODING 743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +20 +20 +E0 +20 +20 +20 +ENDCHAR +STARTCHAR uni02E8 +ENCODING 744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +20 +20 +20 +20 +E0 +20 +ENDCHAR +STARTCHAR uni02E9 +ENCODING 745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni02EA +ENCODING 746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +20 +20 +ENDCHAR +STARTCHAR uni02EB +ENCODING 747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +80 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni02EC +ENCODING 748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni02ED +ENCODING 749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 3 +BITMAP +E0 +00 +E0 +ENDCHAR +STARTCHAR uni02EE +ENCODING 750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +D8 +48 +90 +ENDCHAR +STARTCHAR uni02EF +ENCODING 751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 -2 +BITMAP +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni02F0 +ENCODING 752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 -2 +BITMAP +20 +50 +50 +88 +ENDCHAR +STARTCHAR uni02F1 +ENCODING 753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 -2 +BITMAP +10 +60 +80 +60 +10 +ENDCHAR +STARTCHAR uni02F2 +ENCODING 754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 -2 +BITMAP +80 +60 +10 +60 +80 +ENDCHAR +STARTCHAR uni02F3 +ENCODING 755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +60 +90 +ENDCHAR +STARTCHAR uni02F4 +ENCODING 756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni02F5 +ENCODING 757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 3 +BITMAP +A0 +50 +ENDCHAR +STARTCHAR uni02F6 +ENCODING 758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 3 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR uni02F7 +ENCODING 759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni02F8 +ENCODING 760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 2 0 +BITMAP +C0 +C0 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni02F9 +ENCODING 761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 3 +BITMAP +C0 +80 +80 +ENDCHAR +STARTCHAR uni02FA +ENCODING 762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +C0 +40 +40 +ENDCHAR +STARTCHAR uni02FB +ENCODING 763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 0 +BITMAP +80 +80 +C0 +ENDCHAR +STARTCHAR uni02FC +ENCODING 764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 0 +BITMAP +40 +40 +C0 +ENDCHAR +STARTCHAR uni02FD +ENCODING 765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 0 +BITMAP +88 +F8 +ENDCHAR +STARTCHAR uni02FE +ENCODING 766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 0 0 +BITMAP +80 +F0 +ENDCHAR +STARTCHAR uni02FF +ENCODING 767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -1 +BITMAP +40 +F8 +40 +ENDCHAR +STARTCHAR gravecomb +ENCODING 768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 8 +BITMAP +80 +40 +ENDCHAR +STARTCHAR acutecomb +ENCODING 769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 8 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0302 +ENCODING 770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 8 +BITMAP +40 +A0 +ENDCHAR +STARTCHAR tildecomb +ENCODING 771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni0304 +ENCODING 772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 8 +BITMAP +E0 +ENDCHAR +STARTCHAR uni0305 +ENCODING 773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 8 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0306 +ENCODING 774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni0307 +ENCODING 775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 8 +BITMAP +80 +ENDCHAR +STARTCHAR uni0308 +ENCODING 776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 8 +BITMAP +A0 +ENDCHAR +STARTCHAR hookabovecomb +ENCODING 777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +C0 +20 +40 +ENDCHAR +STARTCHAR uni030A +ENCODING 778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR uni030B +ENCODING 779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni030C +ENCODING 780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 8 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni030D +ENCODING 781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 8 +BITMAP +80 +80 +ENDCHAR +STARTCHAR uni030E +ENCODING 782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 8 +BITMAP +A0 +A0 +ENDCHAR +STARTCHAR uni030F +ENCODING 783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +90 +48 +ENDCHAR +STARTCHAR uni0310 +ENCODING 784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +20 +88 +70 +ENDCHAR +STARTCHAR uni0311 +ENCODING 785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni0312 +ENCODING 786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +20 +40 +C0 +ENDCHAR +STARTCHAR uni0313 +ENCODING 787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +60 +40 +80 +ENDCHAR +STARTCHAR uni0314 +ENCODING 788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +C0 +40 +20 +ENDCHAR +STARTCHAR uni0315 +ENCODING 789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 3 7 +BITMAP +60 +40 +80 +ENDCHAR +STARTCHAR uni0316 +ENCODING 790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni0317 +ENCODING 791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0318 +ENCODING 792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +40 +C0 +40 +ENDCHAR +STARTCHAR uni0319 +ENCODING 793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +80 +C0 +80 +ENDCHAR +STARTCHAR uni031A +ENCODING 794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 3 7 +BITMAP +E0 +20 +20 +ENDCHAR +STARTCHAR uni031B +ENCODING 795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 4 7 +BITMAP +40 +40 +80 +ENDCHAR +STARTCHAR uni031C +ENCODING 796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni031D +ENCODING 797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +40 +E0 +ENDCHAR +STARTCHAR uni031E +ENCODING 798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +E0 +40 +ENDCHAR +STARTCHAR uni031F +ENCODING 799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni0320 +ENCODING 800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +E0 +ENDCHAR +STARTCHAR uni0321 +ENCODING 801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 -2 +BITMAP +20 +A0 +40 +ENDCHAR +STARTCHAR uni0322 +ENCODING 802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 4 -2 +BITMAP +80 +80 +40 +ENDCHAR +STARTCHAR dotbelowcomb +ENCODING 803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 -2 +BITMAP +80 +ENDCHAR +STARTCHAR uni0324 +ENCODING 804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +A0 +ENDCHAR +STARTCHAR uni0325 +ENCODING 805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR uni0326 +ENCODING 806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0327 +ENCODING 807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0328 +ENCODING 808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni0329 +ENCODING 809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 -2 +BITMAP +80 +80 +ENDCHAR +STARTCHAR uni032A +ENCODING 810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +F0 +90 +ENDCHAR +STARTCHAR uni032B +ENCODING 811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +A8 +50 +ENDCHAR +STARTCHAR uni032C +ENCODING 812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +90 +60 +ENDCHAR +STARTCHAR uni032D +ENCODING 813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +60 +90 +ENDCHAR +STARTCHAR uni032E +ENCODING 814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni032F +ENCODING 815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni0330 +ENCODING 816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR uni0331 +ENCODING 817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 -2 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0332 +ENCODING 818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 -2 +BITMAP +FC +ENDCHAR +STARTCHAR uni0333 +ENCODING 819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 -2 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR uni0334 +ENCODING 820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 2 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR uni0335 +ENCODING 821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +E0 +ENDCHAR +STARTCHAR uni0336 +ENCODING 822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0337 +ENCODING 823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 2 +BITMAP +20 +40 +80 +ENDCHAR +STARTCHAR uni0338 +ENCODING 824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +08 +10 +10 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni0339 +ENCODING 825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +80 +40 +80 +ENDCHAR +STARTCHAR uni033A +ENCODING 826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +90 +F0 +ENDCHAR +STARTCHAR uni033B +ENCODING 827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +A0 +E0 +ENDCHAR +STARTCHAR uni033C +ENCODING 828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +50 +A8 +ENDCHAR +STARTCHAR uni033D +ENCODING 829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni033E +ENCODING 830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 6 +BITMAP +40 +80 +40 +80 +ENDCHAR +STARTCHAR uni033F +ENCODING 831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 7 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR uni0340 +ENCODING 832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 8 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni0341 +ENCODING 833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 8 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0342 +ENCODING 834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni0343 +ENCODING 835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 7 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR uni0344 +ENCODING 836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +10 +20 +D8 +ENDCHAR +STARTCHAR uni0345 +ENCODING 837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 -2 +BITMAP +80 +ENDCHAR +STARTCHAR uni0346 +ENCODING 838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 8 +BITMAP +E0 +A0 +ENDCHAR +STARTCHAR uni0347 +ENCODING 839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +F8 +00 +F8 +ENDCHAR +STARTCHAR uni0348 +ENCODING 840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +A0 +A0 +ENDCHAR +STARTCHAR uni0349 +ENCODING 841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +C0 +40 +ENDCHAR +STARTCHAR uni034A +ENCODING 842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 5 +BITMAP +20 +68 +B0 +20 +ENDCHAR +STARTCHAR uni034B +ENCODING 843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 4 +BITMAP +10 +00 +68 +B0 +00 +40 +ENDCHAR +STARTCHAR uni034C +ENCODING 844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 +BITMAP +68 +B0 +68 +B0 +ENDCHAR +STARTCHAR uni034D +ENCODING 845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +50 +F8 +50 +ENDCHAR +STARTCHAR uni034E +ENCODING 846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +40 +E0 +ENDCHAR +STARTCHAR uni034F +ENCODING 847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR uni0350 +ENCODING 848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +E0 +38 +E0 +ENDCHAR +STARTCHAR uni0351 +ENCODING 849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 7 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni0352 +ENCODING 850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +70 +88 +20 +ENDCHAR +STARTCHAR uni0353 +ENCODING 851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni0354 +ENCODING 852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +38 +E0 +38 +ENDCHAR +STARTCHAR uni0355 +ENCODING 853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +E0 +38 +E0 +ENDCHAR +STARTCHAR uni0356 +ENCODING 854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 -2 +BITMAP +08 +C8 +34 +D4 +ENDCHAR +STARTCHAR uni0357 +ENCODING 855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 7 +BITMAP +80 +40 +80 +ENDCHAR +STARTCHAR uni0358 +ENCODING 856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 8 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni0359 +ENCODING 857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +40 +E0 +ENDCHAR +STARTCHAR uni035A +ENCODING 858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +50 +A8 +50 +ENDCHAR +STARTCHAR uni035B +ENCODING 859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +80 +E0 +20 +ENDCHAR +STARTCHAR uni035C +ENCODING 860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 -2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni035D +ENCODING 861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 8 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni035E +ENCODING 862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 1 9 +BITMAP +F8 +ENDCHAR +STARTCHAR uni035F +ENCODING 863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 1 -2 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0360 +ENCODING 864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 8 +BITMAP +60 +98 +ENDCHAR +STARTCHAR uni0361 +ENCODING 865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 8 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni0362 +ENCODING 866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 1 -2 +BITMAP +10 +F8 +10 +ENDCHAR +STARTCHAR uni0363 +ENCODING 867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +40 +A0 +A0 +60 +ENDCHAR +STARTCHAR uni0364 +ENCODING 868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +40 +E0 +80 +60 +ENDCHAR +STARTCHAR uni0365 +ENCODING 869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 4 2 6 +BITMAP +80 +00 +80 +80 +ENDCHAR +STARTCHAR uni0366 +ENCODING 870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 6 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni0367 +ENCODING 871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +A0 +A0 +60 +ENDCHAR +STARTCHAR uni0368 +ENCODING 872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +60 +80 +60 +ENDCHAR +STARTCHAR uni0369 +ENCODING 873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +20 +60 +A0 +60 +ENDCHAR +STARTCHAR uni036A +ENCODING 874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +80 +C0 +A0 +ENDCHAR +STARTCHAR uni036B +ENCODING 875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +D0 +A8 +A8 +ENDCHAR +STARTCHAR uni036C +ENCODING 876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni036D +ENCODING 877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +40 +E0 +40 +60 +ENDCHAR +STARTCHAR uni036E +ENCODING 878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +A0 +A0 +40 +40 +ENDCHAR +STARTCHAR uni036F +ENCODING 879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni0370 +ENCODING 880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +80 +80 +80 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni0371 +ENCODING 881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +60 +A0 +38 +20 +20 +20 +ENDCHAR +STARTCHAR uni0372 +ENCODING 882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A8 +A8 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni0373 +ENCODING 883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A8 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni0374 +ENCODING 884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0375 +ENCODING 885 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0376 +ENCODING 886 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +98 +98 +A8 +C8 +C8 +88 +ENDCHAR +STARTCHAR uni0377 +ENCODING 887 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +90 +B0 +D0 +90 +90 +08 +ENDCHAR +STARTCHAR uni037A +ENCODING 890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +C0 +ENDCHAR +STARTCHAR uni037B +ENCODING 891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +08 +88 +70 +ENDCHAR +STARTCHAR uni037C +ENCODING 892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A0 +88 +70 +ENDCHAR +STARTCHAR uni037D +ENCODING 893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +28 +88 +70 +ENDCHAR +STARTCHAR uni037E +ENCODING 894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +40 +E0 +40 +00 +60 +40 +80 +ENDCHAR +STARTCHAR tonos +ENCODING 900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 +BITMAP +40 +80 +ENDCHAR +STARTCHAR dieresistonos +ENCODING 901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +20 +40 +00 +A0 +ENDCHAR +STARTCHAR Alphatonos +ENCODING 902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR anoteleia +ENCODING 903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR Epsilontonos +ENCODING 904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Etatonos +ENCODING 905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Iotatonos +ENCODING 906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +40 +80 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR Omicrontonos +ENCODING 908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Upsilontonos +ENCODING 910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Omegatonos +ENCODING 911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR iotadieresistonos +ENCODING 912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +20 +40 +00 +A0 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR Alpha +ENCODING 913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Beta +ENCODING 914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR Gamma +ENCODING 915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR Delta +ENCODING 916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +F8 +ENDCHAR +STARTCHAR Epsilon +ENCODING 917 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Zeta +ENCODING 918 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR Eta +ENCODING 919 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Theta +ENCODING 920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR Iota +ENCODING 921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Kappa +ENCODING 922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR Lambda +ENCODING 923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +88 +ENDCHAR +STARTCHAR Mu +ENCODING 924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR Nu +ENCODING 925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR Xi +ENCODING 926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +00 +70 +00 +00 +F8 +ENDCHAR +STARTCHAR Omicron +ENCODING 927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Pi +ENCODING 928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR Rho +ENCODING 929 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR Sigma +ENCODING 931 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +40 +20 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR Tau +ENCODING 932 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Upsilon +ENCODING 933 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Phi +ENCODING 934 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR Chi +ENCODING 935 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR Psi +ENCODING 936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR Omega +ENCODING 937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR Iotadieresis +ENCODING 938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Upsilondieresis +ENCODING 939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR alphatonos +ENCODING 940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR epsilontonos +ENCODING 941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR etatonos +ENCODING 942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR iotatonos +ENCODING 943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +40 +80 +00 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR upsilondieresistonos +ENCODING 944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR alpha +ENCODING 945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR beta +ENCODING 946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +60 +90 +90 +B0 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR gamma +ENCODING 947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +50 +20 +20 +20 +ENDCHAR +STARTCHAR delta +ENCODING 948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +80 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR epsilon +ENCODING 949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR zeta +ENCODING 950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +F8 +20 +40 +40 +40 +30 +08 +30 +ENDCHAR +STARTCHAR eta +ENCODING 951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR theta +ENCODING 952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +60 +90 +90 +F0 +90 +90 +60 +ENDCHAR +STARTCHAR iota +ENCODING 953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 2 0 +BITMAP +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR kappa +ENCODING 954 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR lambda +ENCODING 955 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +40 +40 +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR mu +ENCODING 956 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +98 +E8 +80 +80 +ENDCHAR +STARTCHAR nu +ENCODING 957 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +50 +50 +20 +ENDCHAR +STARTCHAR xi +ENCODING 958 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +40 +70 +80 +80 +70 +08 +10 +ENDCHAR +STARTCHAR omicron +ENCODING 959 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR pi +ENCODING 960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +F8 +50 +50 +54 +48 +ENDCHAR +STARTCHAR rho +ENCODING 961 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +C8 +B0 +80 +80 +ENDCHAR +STARTCHAR sigma1 +ENCODING 962 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +80 +80 +70 +08 +30 +ENDCHAR +STARTCHAR sigma +ENCODING 963 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +90 +88 +88 +70 +ENDCHAR +STARTCHAR tau +ENCODING 964 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +20 +28 +10 +ENDCHAR +STARTCHAR upsilon +ENCODING 965 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR phi +ENCODING 966 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +10 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR chi +ENCODING 967 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR psi +ENCODING 968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A8 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR omega +ENCODING 969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR iotadieresis +ENCODING 970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +A0 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR upsilondieresis +ENCODING 971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR omicrontonos +ENCODING 972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR upsilontonos +ENCODING 973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR omegatonos +ENCODING 974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni03CF +ENCODING 975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +30 +10 +ENDCHAR +STARTCHAR uni03D0 +ENCODING 976 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +90 +90 +B0 +C8 +88 +70 +ENDCHAR +STARTCHAR theta1 +ENCODING 977 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +3C +08 +C8 +48 +30 +ENDCHAR +STARTCHAR Upsilon1 +ENCODING 978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +88 +54 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni03D3 +ENCODING 979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +80 +00 +88 +54 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni03D4 +ENCODING 980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +D8 +00 +88 +54 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR phi1 +ENCODING 981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR omega1 +ENCODING 982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni03D7 +ENCODING 983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +48 +70 +50 +88 +08 +30 +ENDCHAR +STARTCHAR uni03D8 +ENCODING 984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +88 +88 +88 +70 +20 +20 +ENDCHAR +STARTCHAR uni03D9 +ENCODING 985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +70 +20 +20 +ENDCHAR +STARTCHAR uni03DA +ENCODING 986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +80 +80 +70 +10 +ENDCHAR +STARTCHAR uni03DB +ENCODING 987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +08 +70 +80 +80 +80 +70 +08 +30 +ENDCHAR +STARTCHAR uni03DC +ENCODING 988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +E0 +80 +80 +80 +ENDCHAR +STARTCHAR uni03DD +ENCODING 989 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 -2 +BITMAP +F0 +80 +80 +E0 +80 +80 +80 +ENDCHAR +STARTCHAR uni03DE +ENCODING 990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +80 +F8 +08 +10 +10 +ENDCHAR +STARTCHAR uni03DF +ENCODING 991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -2 +BITMAP +80 +40 +48 +58 +68 +48 +08 +04 +ENDCHAR +STARTCHAR uni03E0 +ENCODING 992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +30 +48 +18 +28 +08 +10 +ENDCHAR +STARTCHAR uni03E1 +ENCODING 993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +C0 +20 +10 +30 +48 +18 +28 +08 +08 +ENDCHAR +STARTCHAR uni03E2 +ENCODING 994 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +A8 +A8 +A8 +A8 +A8 +58 +08 +F0 +ENDCHAR +STARTCHAR uni03E3 +ENCODING 995 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +A8 +A8 +A8 +58 +08 +F0 +ENDCHAR +STARTCHAR uni03E4 +ENCODING 996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +48 +88 +88 +88 +88 +98 +68 +08 +08 +ENDCHAR +STARTCHAR uni03E5 +ENCODING 997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +48 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni03E6 +ENCODING 998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +80 +80 +B0 +C8 +88 +88 +08 +70 +ENDCHAR +STARTCHAR uni03E7 +ENCODING 999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +6C +90 +68 +08 +C8 +B0 +ENDCHAR +STARTCHAR uni03E8 +ENCODING 1000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +70 +88 +88 +10 +20 +40 +88 +70 +ENDCHAR +STARTCHAR uni03E9 +ENCODING 1001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +88 +88 +10 +60 +80 +78 +ENDCHAR +STARTCHAR uni03EA +ENCODING 1002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +50 +20 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni03EB +ENCODING 1003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +20 +50 +88 +F8 +ENDCHAR +STARTCHAR uni03EC +ENCODING 1004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +80 +E0 +90 +88 +F0 +ENDCHAR +STARTCHAR uni03ED +ENCODING 1005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 0 +BITMAP +30 +40 +80 +E0 +90 +E0 +ENDCHAR +STARTCHAR uni03EE +ENCODING 1006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +A8 +20 +20 +30 +ENDCHAR +STARTCHAR uni03EF +ENCODING 1007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +A0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni03F0 +ENCODING 1008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +48 +70 +50 +88 +ENDCHAR +STARTCHAR uni03F1 +ENCODING 1009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +F0 +80 +78 +ENDCHAR +STARTCHAR uni03F2 +ENCODING 1010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR uni03F3 +ENCODING 1011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 +BITMAP +20 +00 +60 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni03F4 +ENCODING 1012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni03F5 +ENCODING 1013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +70 +80 +E0 +80 +70 +ENDCHAR +STARTCHAR uni03F6 +ENCODING 1014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR uni03F7 +ENCODING 1015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +E0 +40 +70 +48 +48 +70 +40 +E0 +ENDCHAR +STARTCHAR uni03F8 +ENCODING 1016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +B0 +C8 +88 +88 +C8 +B0 +80 +ENDCHAR +STARTCHAR uni03F9 +ENCODING 1017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR uni03FA +ENCODING 1018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni03FB +ENCODING 1019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +D8 +A8 +88 +88 +80 +80 +ENDCHAR +STARTCHAR uni03FC +ENCODING 1020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +30 +48 +48 +70 +40 +F0 +40 +ENDCHAR +STARTCHAR uni03FD +ENCODING 1021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni03FE +ENCODING 1022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +A0 +80 +88 +70 +ENDCHAR +STARTCHAR uni03FF +ENCODING 1023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +28 +08 +88 +70 +ENDCHAR +STARTCHAR uni0400 +ENCODING 1024 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR afii10023 +ENCODING 1025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR afii10051 +ENCODING 1026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +E0 +40 +40 +70 +48 +48 +48 +08 +30 +ENDCHAR +STARTCHAR afii10052 +ENCODING 1027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F8 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10053 +ENCODING 1028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +F0 +80 +88 +70 +ENDCHAR +STARTCHAR afii10054 +ENCODING 1029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR afii10055 +ENCODING 1030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10056 +ENCODING 1031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10057 +ENCODING 1032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR afii10058 +ENCODING 1033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +A0 +A0 +B0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR afii10059 +ENCODING 1034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +A0 +F0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR afii10060 +ENCODING 1035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +40 +40 +70 +48 +48 +48 +ENDCHAR +STARTCHAR afii10061 +ENCODING 1036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni040D +ENCODING 1037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR afii10062 +ENCODING 1038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +88 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10145 +ENCODING 1039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +88 +88 +88 +F8 +20 +20 +ENDCHAR +STARTCHAR afii10017 +ENCODING 1040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR afii10018 +ENCODING 1041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +80 +80 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR afii10019 +ENCODING 1042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR afii10020 +ENCODING 1043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10021 +ENCODING 1044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +30 +50 +50 +50 +50 +50 +F8 +88 +ENDCHAR +STARTCHAR afii10022 +ENCODING 1045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR afii10024 +ENCODING 1046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +70 +20 +70 +A8 +A8 +ENDCHAR +STARTCHAR afii10025 +ENCODING 1047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +70 +08 +88 +70 +ENDCHAR +STARTCHAR afii10026 +ENCODING 1048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR afii10027 +ENCODING 1049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR afii10028 +ENCODING 1050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR afii10029 +ENCODING 1051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +48 +48 +48 +48 +48 +88 +ENDCHAR +STARTCHAR afii10030 +ENCODING 1052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR afii10031 +ENCODING 1053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR afii10032 +ENCODING 1054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR afii10033 +ENCODING 1055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR afii10034 +ENCODING 1056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR afii10035 +ENCODING 1057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR afii10036 +ENCODING 1058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR afii10037 +ENCODING 1059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10038 +ENCODING 1060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR afii10039 +ENCODING 1061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR afii10040 +ENCODING 1062 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +90 +90 +90 +90 +90 +90 +F8 +08 +08 +ENDCHAR +STARTCHAR afii10041 +ENCODING 1063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +78 +08 +08 +08 +ENDCHAR +STARTCHAR afii10042 +ENCODING 1064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR afii10043 +ENCODING 1065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +F8 +08 +08 +ENDCHAR +STARTCHAR afii10044 +ENCODING 1066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +40 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR afii10045 +ENCODING 1067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +C8 +A8 +A8 +C8 +ENDCHAR +STARTCHAR afii10046 +ENCODING 1068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +80 +80 +E0 +90 +90 +E0 +ENDCHAR +STARTCHAR afii10047 +ENCODING 1069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +78 +08 +88 +70 +ENDCHAR +STARTCHAR afii10048 +ENCODING 1070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +A8 +A8 +E8 +A8 +A8 +90 +ENDCHAR +STARTCHAR afii10049 +ENCODING 1071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +88 +88 +78 +28 +48 +88 +ENDCHAR +STARTCHAR afii10065 +ENCODING 1072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR afii10066 +ENCODING 1073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +80 +F0 +88 +88 +88 +70 +ENDCHAR +STARTCHAR afii10067 +ENCODING 1074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +88 +F0 +88 +F0 +ENDCHAR +STARTCHAR afii10068 +ENCODING 1075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10069 +ENCODING 1076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +30 +50 +50 +50 +F8 +88 +ENDCHAR +STARTCHAR afii10070 +ENCODING 1077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR afii10072 +ENCODING 1078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR afii10073 +ENCODING 1079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +30 +88 +70 +ENDCHAR +STARTCHAR afii10074 +ENCODING 1080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR afii10075 +ENCODING 1081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR afii10076 +ENCODING 1082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR afii10077 +ENCODING 1083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +48 +48 +48 +88 +ENDCHAR +STARTCHAR afii10078 +ENCODING 1084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D8 +A8 +88 +88 +ENDCHAR +STARTCHAR afii10079 +ENCODING 1085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR afii10080 +ENCODING 1086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR afii10081 +ENCODING 1087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR afii10082 +ENCODING 1088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR afii10083 +ENCODING 1089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR afii10084 +ENCODING 1090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR afii10085 +ENCODING 1091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10086 +ENCODING 1092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR afii10087 +ENCODING 1093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR afii10088 +ENCODING 1094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +90 +90 +90 +90 +F8 +08 +08 +ENDCHAR +STARTCHAR afii10089 +ENCODING 1095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR afii10090 +ENCODING 1096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR afii10091 +ENCODING 1097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A8 +A8 +A8 +A8 +F8 +08 +08 +ENDCHAR +STARTCHAR afii10092 +ENCODING 1098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +40 +70 +48 +70 +ENDCHAR +STARTCHAR afii10093 +ENCODING 1099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +C8 +A8 +C8 +ENDCHAR +STARTCHAR afii10094 +ENCODING 1100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +80 +80 +E0 +90 +E0 +ENDCHAR +STARTCHAR afii10095 +ENCODING 1101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR afii10096 +ENCODING 1102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +A8 +E8 +A8 +90 +ENDCHAR +STARTCHAR afii10097 +ENCODING 1103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +70 +90 +70 +50 +90 +ENDCHAR +STARTCHAR uni0450 +ENCODING 1104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR afii10071 +ENCODING 1105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR afii10099 +ENCODING 1106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +40 +E0 +40 +70 +48 +48 +48 +08 +10 +ENDCHAR +STARTCHAR afii10100 +ENCODING 1107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +F8 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10101 +ENCODING 1108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +70 +80 +E0 +80 +70 +ENDCHAR +STARTCHAR afii10102 +ENCODING 1109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR afii10103 +ENCODING 1110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +40 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10104 +ENCODING 1111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +A0 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10105 +ENCODING 1112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +10 +00 +30 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR afii10106 +ENCODING 1113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +60 +A0 +B0 +A8 +B0 +ENDCHAR +STARTCHAR afii10107 +ENCODING 1114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +A0 +F0 +A8 +B0 +ENDCHAR +STARTCHAR afii10108 +ENCODING 1115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +E0 +40 +70 +48 +48 +48 +ENDCHAR +STARTCHAR afii10109 +ENCODING 1116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +20 +40 +00 +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR uni045D +ENCODING 1117 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR afii10110 +ENCODING 1118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +70 +00 +88 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10193 +ENCODING 1119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +F8 +20 +20 +ENDCHAR +STARTCHAR uni0460 +ENCODING 1120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +88 +88 +A8 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni0461 +ENCODING 1121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR afii10146 +ENCODING 1122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +F0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR afii10194 +ENCODING 1123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +F0 +40 +70 +48 +70 +ENDCHAR +STARTCHAR uni0464 +ENCODING 1124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +98 +A0 +A0 +F8 +A0 +A0 +98 +ENDCHAR +STARTCHAR uni0465 +ENCODING 1125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +A0 +F8 +A0 +98 +ENDCHAR +STARTCHAR uni0466 +ENCODING 1126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +F8 +A8 +A8 +ENDCHAR +STARTCHAR uni0467 +ENCODING 1127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +50 +88 +F8 +A8 +ENDCHAR +STARTCHAR uni0468 +ENCODING 1128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +90 +B8 +F8 +B8 +B8 +B8 +ENDCHAR +STARTCHAR uni0469 +ENCODING 1129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +90 +F8 +B8 +B8 +ENDCHAR +STARTCHAR uni046A +ENCODING 1130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +88 +50 +50 +70 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni046B +ENCODING 1131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +88 +50 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni046C +ENCODING 1132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +FC +C4 +A8 +90 +F8 +B8 +B8 +A8 +ENDCHAR +STARTCHAR uni046D +ENCODING 1133 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +FC +A8 +90 +F8 +B8 +A8 +ENDCHAR +STARTCHAR uni046E +ENCODING 1134 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +50 +20 +00 +70 +88 +08 +30 +08 +08 +70 +80 +70 +ENDCHAR +STARTCHAR uni046F +ENCODING 1135 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +50 +20 +00 +70 +88 +30 +08 +70 +80 +70 +ENDCHAR +STARTCHAR uni0470 +ENCODING 1136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +70 +20 +20 +20 +ENDCHAR +STARTCHAR uni0471 +ENCODING 1137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR afii10147 +ENCODING 1138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR afii10195 +ENCODING 1139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR afii10148 +ENCODING 1140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +90 +50 +50 +50 +20 +ENDCHAR +STARTCHAR afii10196 +ENCODING 1141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +90 +50 +50 +20 +ENDCHAR +STARTCHAR uni0476 +ENCODING 1142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +88 +90 +90 +50 +50 +50 +20 +ENDCHAR +STARTCHAR uni0477 +ENCODING 1143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +88 +90 +50 +50 +20 +ENDCHAR +STARTCHAR uni0478 +ENCODING 1144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +40 +A0 +A0 +B8 +B8 +B8 +58 +08 +10 +ENDCHAR +STARTCHAR uni0479 +ENCODING 1145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +58 +B8 +B8 +B8 +58 +08 +10 +ENDCHAR +STARTCHAR uni047A +ENCODING 1146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +70 +A8 +88 +88 +88 +88 +A8 +70 +20 +ENDCHAR +STARTCHAR uni047B +ENCODING 1147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +70 +A8 +88 +88 +A8 +70 +20 +ENDCHAR +STARTCHAR uni047C +ENCODING 1148 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +20 +20 +88 +88 +88 +A8 +50 +ENDCHAR +STARTCHAR uni047D +ENCODING 1149 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +20 +A8 +88 +A8 +50 +ENDCHAR +STARTCHAR uni047E +ENCODING 1150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +F8 +A8 +00 +50 +88 +88 +A8 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni047F +ENCODING 1151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +A8 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni0480 +ENCODING 1152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +70 +88 +88 +80 +80 +80 +80 +70 +10 +10 +ENDCHAR +STARTCHAR uni0481 +ENCODING 1153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +88 +80 +80 +70 +10 +10 +ENDCHAR +STARTCHAR uni0482 +ENCODING 1154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +28 +10 +B0 +48 +40 +A0 +ENDCHAR +STARTCHAR uni0483 +ENCODING 1155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 7 +BITMAP +04 +FC +80 +ENDCHAR +STARTCHAR uni0484 +ENCODING 1156 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 +BITMAP +70 +8C +ENDCHAR +STARTCHAR uni0485 +ENCODING 1157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +70 +C8 +ENDCHAR +STARTCHAR uni0486 +ENCODING 1158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +70 +98 +ENDCHAR +STARTCHAR uni0487 +ENCODING 1159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 +BITMAP +60 +9C +ENDCHAR +STARTCHAR uni0488 +ENCODING 1160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +40 +A0 +08 +14 +00 +00 +00 +00 +40 +A0 +08 +14 +ENDCHAR +STARTCHAR uni0489 +ENCODING 1161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +40 +84 +C8 +0C +00 +00 +00 +00 +40 +84 +C8 +0C +ENDCHAR +STARTCHAR uni048A +ENCODING 1162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +88 +70 +00 +88 +98 +98 +A8 +C8 +C8 +88 +10 +10 +ENDCHAR +STARTCHAR uni048B +ENCODING 1163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +88 +70 +00 +88 +88 +98 +A8 +C8 +88 +10 +10 +ENDCHAR +STARTCHAR uni048C +ENCODING 1164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +40 +E0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR uni048D +ENCODING 1165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +E0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR uni048E +ENCODING 1166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +88 +88 +A8 +F0 +88 +80 +80 +ENDCHAR +STARTCHAR uni048F +ENCODING 1167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +F0 +88 +88 +A8 +F0 +88 +80 +80 +ENDCHAR +STARTCHAR afii10050 +ENCODING 1168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +08 +F8 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10098 +ENCODING 1169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +F8 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni0492 +ENCODING 1170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +40 +40 +F0 +40 +40 +40 +ENDCHAR +STARTCHAR uni0493 +ENCODING 1171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +40 +F0 +40 +40 +ENDCHAR +STARTCHAR uni0494 +ENCODING 1172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F8 +80 +80 +F0 +88 +88 +88 +88 +10 +ENDCHAR +STARTCHAR uni0495 +ENCODING 1173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +F8 +80 +F0 +88 +88 +88 +10 +ENDCHAR +STARTCHAR uni0496 +ENCODING 1174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +A8 +A8 +A8 +70 +A8 +A8 +AC +04 +04 +ENDCHAR +STARTCHAR uni0497 +ENCODING 1175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +A8 +70 +20 +70 +AC +04 +04 +ENDCHAR +STARTCHAR uni0498 +ENCODING 1176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +70 +88 +08 +10 +08 +08 +88 +70 +20 +40 +ENDCHAR +STARTCHAR uni0499 +ENCODING 1177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +70 +88 +10 +08 +88 +70 +20 +40 +ENDCHAR +STARTCHAR uni049A +ENCODING 1178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +04 +04 +ENDCHAR +STARTCHAR uni049B +ENCODING 1179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +90 +A0 +C0 +A0 +90 +08 +08 +ENDCHAR +STARTCHAR uni049C +ENCODING 1180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +B0 +A0 +C0 +A0 +B0 +A8 +ENDCHAR +STARTCHAR uni049D +ENCODING 1181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +B0 +E0 +B0 +A8 +ENDCHAR +STARTCHAR uni049E +ENCODING 1182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +E8 +50 +60 +50 +48 +48 +ENDCHAR +STARTCHAR uni049F +ENCODING 1183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +40 +E0 +48 +50 +60 +50 +48 +ENDCHAR +STARTCHAR uni04A0 +ENCODING 1184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +48 +50 +60 +60 +50 +48 +48 +ENDCHAR +STARTCHAR uni04A1 +ENCODING 1185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C8 +50 +60 +50 +48 +ENDCHAR +STARTCHAR uni04A2 +ENCODING 1186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +90 +90 +90 +F0 +90 +90 +90 +98 +08 +08 +ENDCHAR +STARTCHAR uni04A3 +ENCODING 1187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +90 +90 +F0 +90 +98 +08 +08 +ENDCHAR +STARTCHAR uni04A4 +ENCODING 1188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +B8 +A0 +A0 +E0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni04A5 +ENCODING 1189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B8 +A0 +E0 +A0 +A0 +ENDCHAR +STARTCHAR uni04A6 +ENCODING 1190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +E0 +A0 +A0 +B0 +A8 +A8 +A8 +A8 +08 +10 +ENDCHAR +STARTCHAR uni04A7 +ENCODING 1191 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +E0 +A0 +B0 +A8 +A8 +08 +10 +ENDCHAR +STARTCHAR uni04A8 +ENCODING 1192 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +78 +80 +90 +A8 +A8 +A8 +70 +20 +18 +ENDCHAR +STARTCHAR uni04A9 +ENCODING 1193 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +80 +90 +A8 +70 +20 +18 +ENDCHAR +STARTCHAR uni04AA +ENCODING 1194 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +70 +88 +80 +80 +80 +80 +88 +70 +20 +10 +ENDCHAR +STARTCHAR uni04AB +ENCODING 1195 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +80 +88 +70 +20 +10 +ENDCHAR +STARTCHAR uni04AC +ENCODING 1196 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +30 +10 +10 +ENDCHAR +STARTCHAR uni04AD +ENCODING 1197 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +A8 +20 +20 +30 +10 +10 +ENDCHAR +STARTCHAR uni04AE +ENCODING 1198 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni04AF +ENCODING 1199 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni04B0 +ENCODING 1200 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni04B1 +ENCODING 1201 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni04B2 +ENCODING 1202 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +88 +88 +50 +20 +50 +88 +88 +04 +04 +ENDCHAR +STARTCHAR uni04B3 +ENCODING 1203 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +88 +50 +20 +50 +88 +04 +04 +ENDCHAR +STARTCHAR uni04B4 +ENCODING 1204 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +E8 +48 +48 +48 +48 +48 +48 +78 +08 +08 +ENDCHAR +STARTCHAR uni04B5 +ENCODING 1205 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +E8 +48 +48 +48 +48 +78 +08 +08 +ENDCHAR +STARTCHAR uni04B6 +ENCODING 1206 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +90 +90 +90 +90 +90 +70 +10 +18 +08 +08 +ENDCHAR +STARTCHAR uni04B7 +ENCODING 1207 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +90 +90 +90 +70 +10 +18 +08 +08 +ENDCHAR +STARTCHAR uni04B8 +ENCODING 1208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +88 +A8 +A8 +78 +28 +28 +08 +ENDCHAR +STARTCHAR uni04B9 +ENCODING 1209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +A8 +78 +28 +08 +ENDCHAR +STARTCHAR uni04BA +ENCODING 1210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni04BB +ENCODING 1211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +80 +80 +E0 +90 +90 +90 +ENDCHAR +STARTCHAR uni04BC +ENCODING 1212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +48 +48 +48 +F8 +40 +48 +30 +ENDCHAR +STARTCHAR uni04BD +ENCODING 1213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +30 +48 +F8 +40 +48 +30 +ENDCHAR +STARTCHAR uni04BE +ENCODING 1214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +30 +48 +48 +48 +F8 +40 +48 +30 +20 +10 +ENDCHAR +STARTCHAR uni04BF +ENCODING 1215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +30 +48 +F8 +40 +48 +30 +20 +10 +ENDCHAR +STARTCHAR uni04C0 +ENCODING 1216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni04C1 +ENCODING 1217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +A8 +A8 +A8 +70 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni04C2 +ENCODING 1218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR uni04C3 +ENCODING 1219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +08 +30 +ENDCHAR +STARTCHAR uni04C4 +ENCODING 1220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 +BITMAP +90 +A0 +C0 +A0 +90 +10 +60 +ENDCHAR +STARTCHAR uni04C5 +ENCODING 1221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +38 +48 +48 +48 +48 +48 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04C6 +ENCODING 1222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +38 +48 +48 +48 +88 +10 +10 +ENDCHAR +STARTCHAR uni04C7 +ENCODING 1223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +88 +08 +30 +ENDCHAR +STARTCHAR uni04C8 +ENCODING 1224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +F8 +88 +88 +08 +30 +ENDCHAR +STARTCHAR uni04C9 +ENCODING 1225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04CA +ENCODING 1226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +F8 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04CB +ENCODING 1227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +88 +88 +88 +88 +78 +08 +18 +10 +10 +ENDCHAR +STARTCHAR uni04CC +ENCODING 1228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +88 +88 +88 +78 +08 +18 +10 +10 +ENDCHAR +STARTCHAR uni04CD +ENCODING 1229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +D8 +D8 +A8 +A8 +88 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04CE +ENCODING 1230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +D8 +A8 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04CF +ENCODING 1231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 8 1 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni04D0 +ENCODING 1232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni04D1 +ENCODING 1233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni04D2 +ENCODING 1234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni04D3 +ENCODING 1235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni04D4 +ENCODING 1236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR uni04D5 +ENCODING 1237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +28 +70 +A8 +70 +ENDCHAR +STARTCHAR uni04D6 +ENCODING 1238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +70 +00 +F8 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni04D7 +ENCODING 1239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR uni04D8 +ENCODING 1240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR afii10846 +ENCODING 1241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +F8 +88 +70 +ENDCHAR +STARTCHAR uni04DA +ENCODING 1242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +08 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni04DB +ENCODING 1243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +08 +F8 +88 +70 +ENDCHAR +STARTCHAR uni04DC +ENCODING 1244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +A8 +A8 +A8 +70 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni04DD +ENCODING 1245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR uni04DE +ENCODING 1246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +08 +30 +08 +88 +70 +ENDCHAR +STARTCHAR uni04DF +ENCODING 1247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +30 +88 +70 +ENDCHAR +STARTCHAR uni04E0 +ENCODING 1248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni04E1 +ENCODING 1249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni04E2 +ENCODING 1250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR uni04E3 +ENCODING 1251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR uni04E4 +ENCODING 1252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR uni04E5 +ENCODING 1253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR uni04E6 +ENCODING 1254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni04E7 +ENCODING 1255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni04E8 +ENCODING 1256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni04E9 +ENCODING 1257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni04EA +ENCODING 1258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni04EB +ENCODING 1259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni04EC +ENCODING 1260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +E0 +10 +08 +78 +08 +10 +E0 +ENDCHAR +STARTCHAR uni04ED +ENCODING 1261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +A0 +00 +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR uni04EE +ENCODING 1262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +88 +88 +98 +68 +08 +88 +70 +ENDCHAR +STARTCHAR uni04EF +ENCODING 1263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +00 +88 +88 +88 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F0 +ENCODING 1264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +98 +68 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F1 +ENCODING 1265 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +50 +00 +88 +88 +88 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F2 +ENCODING 1266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +48 +90 +00 +88 +88 +98 +68 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F3 +ENCODING 1267 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +48 +90 +00 +88 +88 +88 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F4 +ENCODING 1268 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +88 +78 +08 +08 +08 +ENDCHAR +STARTCHAR uni04F5 +ENCODING 1269 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni04F6 +ENCODING 1270 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +F8 +80 +80 +80 +80 +80 +C0 +40 +ENDCHAR +STARTCHAR uni04F7 +ENCODING 1271 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 1 -1 +BITMAP +F0 +80 +80 +80 +C0 +40 +ENDCHAR +STARTCHAR uni04F8 +ENCODING 1272 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +88 +C8 +A8 +A8 +C8 +ENDCHAR +STARTCHAR uni04F9 +ENCODING 1273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +C8 +A8 +C8 +ENDCHAR +STARTCHAR uni04FA +ENCODING 1274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +78 +40 +40 +E0 +40 +40 +60 +20 +40 +ENDCHAR +STARTCHAR uni04FB +ENCODING 1275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +40 +E0 +40 +60 +20 +40 +ENDCHAR +STARTCHAR uni04FC +ENCODING 1276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +50 +20 +50 +88 +88 +08 +10 +ENDCHAR +STARTCHAR uni04FD +ENCODING 1277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +50 +20 +50 +88 +08 +10 +ENDCHAR +STARTCHAR uni04FE +ENCODING 1278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +F8 +50 +88 +88 +ENDCHAR +STARTCHAR uni04FF +ENCODING 1279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +F8 +50 +88 +ENDCHAR +STARTCHAR uni0500 +ENCODING 1280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR uni0501 +ENCODING 1281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +10 +70 +90 +90 +90 +70 +ENDCHAR +STARTCHAR uni0502 +ENCODING 1282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +60 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni0503 +ENCODING 1283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +60 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni0504 +ENCODING 1284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +20 +20 +C0 +28 +28 +10 +ENDCHAR +STARTCHAR uni0505 +ENCODING 1285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +C0 +20 +20 +48 +28 +10 +ENDCHAR +STARTCHAR uni0506 +ENCODING 1286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -2 +BITMAP +C0 +20 +20 +C0 +20 +20 +30 +10 +10 +ENDCHAR +STARTCHAR uni0507 +ENCODING 1287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 -2 +BITMAP +C0 +20 +20 +40 +20 +30 +10 +10 +ENDCHAR +STARTCHAR uni0508 +ENCODING 1288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A0 +A0 +A8 +A8 +A8 +90 +ENDCHAR +STARTCHAR uni0509 +ENCODING 1289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A0 +A0 +A8 +90 +ENDCHAR +STARTCHAR uni050A +ENCODING 1290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +A0 +E8 +A8 +A8 +90 +ENDCHAR +STARTCHAR uni050B +ENCODING 1291 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +A0 +E8 +A8 +90 +ENDCHAR +STARTCHAR uni050C +ENCODING 1292 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +98 +88 +88 +70 +ENDCHAR +STARTCHAR uni050D +ENCODING 1293 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni050E +ENCODING 1294 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +28 +28 +28 +10 +ENDCHAR +STARTCHAR uni050F +ENCODING 1295 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni0510 +ENCODING 1296 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +88 +80 +60 +80 +88 +70 +ENDCHAR +STARTCHAR uni0511 +ENCODING 1297 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni0512 +ENCODING 1298 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +48 +48 +48 +48 +A8 +10 +ENDCHAR +STARTCHAR uni0513 +ENCODING 1299 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +FC +48 +48 +48 +88 +10 +ENDCHAR +STARTCHAR uni0514 +ENCODING 1300 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +D4 +54 +54 +48 +54 +54 +94 +ENDCHAR +STARTCHAR uni0515 +ENCODING 1301 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +D4 +54 +48 +54 +94 +ENDCHAR +STARTCHAR uni0516 +ENCODING 1302 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C8 +A8 +B0 +D0 +88 +88 +88 +ENDCHAR +STARTCHAR uni0517 +ENCODING 1303 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +C8 +B0 +A0 +D0 +88 +80 +ENDCHAR +STARTCHAR uni0518 +ENCODING 1304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +70 +A0 +A0 +B8 +ENDCHAR +STARTCHAR uni0519 +ENCODING 1305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +70 +A0 +98 +ENDCHAR +STARTCHAR uni051A +ENCODING 1306 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +A8 +90 +68 +ENDCHAR +STARTCHAR uni051B +ENCODING 1307 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni051C +ENCODING 1308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni051D +ENCODING 1309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni051E +ENCODING 1310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +90 +A8 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni051F +ENCODING 1311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +90 +E8 +90 +88 +ENDCHAR +STARTCHAR uni0520 +ENCODING 1312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +D0 +50 +50 +58 +54 +54 +94 +04 +08 +ENDCHAR +STARTCHAR uni0521 +ENCODING 1313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +D0 +50 +58 +54 +94 +04 +ENDCHAR +STARTCHAR uni0522 +ENCODING 1314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +A0 +A0 +A0 +F0 +A8 +A8 +A8 +08 +10 +ENDCHAR +STARTCHAR uni0523 +ENCODING 1315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A0 +A0 +F0 +A8 +A8 +08 +10 +ENDCHAR +STARTCHAR uni0531 +ENCODING 1329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +B0 +48 +ENDCHAR +STARTCHAR uni0532 +ENCODING 1330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +80 +80 +F0 +88 +80 +ENDCHAR +STARTCHAR uni0533 +ENCODING 1331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +A0 +A0 +70 +28 +20 +20 +ENDCHAR +STARTCHAR uni0534 +ENCODING 1332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +A0 +20 +30 +28 +20 +20 +ENDCHAR +STARTCHAR uni0535 +ENCODING 1333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +F0 +88 +80 +88 +88 +70 +ENDCHAR +STARTCHAR uni0536 +ENCODING 1334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +90 +90 +70 +10 +A0 +F0 +88 +ENDCHAR +STARTCHAR uni0537 +ENCODING 1335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +80 +80 +F0 +88 +80 +80 +80 +70 +08 +10 +ENDCHAR +STARTCHAR uni0538 +ENCODING 1336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +60 +90 +90 +80 +80 +80 +80 +F0 +08 +ENDCHAR +STARTCHAR uni0539 +ENCODING 1337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +90 +B8 +D0 +D0 +A0 +80 +80 +ENDCHAR +STARTCHAR uni053A +ENCODING 1338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +10 +10 +78 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uni053B +ENCODING 1339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +F0 +88 +88 +80 +80 +ENDCHAR +STARTCHAR uni053C +ENCODING 1340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +70 +08 +10 +ENDCHAR +STARTCHAR uni053D +ENCODING 1341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +E8 +A8 +A8 +90 +80 +80 +ENDCHAR +STARTCHAR uni053E +ENCODING 1342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni053F +ENCODING 1343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +88 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni0540 +ENCODING 1344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +20 +10 +20 +40 +80 +C0 +30 +08 +ENDCHAR +STARTCHAR uni0541 +ENCODING 1345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +48 +48 +38 +08 +70 +90 +68 +ENDCHAR +STARTCHAR uni0542 +ENCODING 1346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +40 +A0 +A0 +20 +20 +20 +20 +30 +08 +ENDCHAR +STARTCHAR uni0543 +ENCODING 1347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +50 +20 +50 +50 +88 +88 +F8 +ENDCHAR +STARTCHAR uni0544 +ENCODING 1348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +B8 +A8 +A0 +A0 +A0 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni0545 +ENCODING 1349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +A8 +30 +28 +88 +88 +70 +ENDCHAR +STARTCHAR uni0546 +ENCODING 1350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +80 +C0 +40 +40 +40 +48 +30 +ENDCHAR +STARTCHAR uni0547 +ENCODING 1351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +F0 +40 +80 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0548 +ENCODING 1352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni0549 +ENCODING 1353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +88 +78 +10 +20 +F8 +ENDCHAR +STARTCHAR uni054A +ENCODING 1354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +A8 +A8 +A8 +28 +28 +08 +08 +ENDCHAR +STARTCHAR uni054B +ENCODING 1355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +90 +90 +50 +30 +A0 +F0 +88 +ENDCHAR +STARTCHAR uni054C +ENCODING 1356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +A0 +B0 +A8 +A8 +A0 +A0 +ENDCHAR +STARTCHAR uni054D +ENCODING 1357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni054E +ENCODING 1358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +A0 +A0 +A0 +A0 +60 +20 +30 +08 +ENDCHAR +STARTCHAR uni054F +ENCODING 1359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +80 +70 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni0550 +ENCODING 1360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni0551 +ENCODING 1361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +70 +88 +08 +88 +70 +ENDCHAR +STARTCHAR uni0552 +ENCODING 1362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +E0 +90 +90 +88 +80 +ENDCHAR +STARTCHAR uni0553 +ENCODING 1363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +20 +70 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni0554 +ENCODING 1364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +28 +28 +30 +A0 +70 +28 +20 +ENDCHAR +STARTCHAR uni0555 +ENCODING 1365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0556 +ENCODING 1366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +A0 +70 +28 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni0559 +ENCODING 1369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 1 6 +BITMAP +40 +80 +80 +40 +ENDCHAR +STARTCHAR uni055A +ENCODING 1370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 6 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR uni055B +ENCODING 1371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni055C +ENCODING 1372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +08 +70 +80 +ENDCHAR +STARTCHAR uni055D +ENCODING 1373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni055E +ENCODING 1374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +70 +88 +A8 +A8 +10 +ENDCHAR +STARTCHAR uni055F +ENCODING 1375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +C0 +88 +70 +ENDCHAR +STARTCHAR uni0561 +ENCODING 1377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +A8 +A8 +58 +ENDCHAR +STARTCHAR uni0562 +ENCODING 1378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F0 +88 +88 +80 +F8 +80 +80 +ENDCHAR +STARTCHAR uni0563 +ENCODING 1379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +90 +90 +90 +78 +10 +10 +ENDCHAR +STARTCHAR uni0564 +ENCODING 1380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A0 +D0 +90 +90 +98 +10 +10 +ENDCHAR +STARTCHAR uni0565 +ENCODING 1381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +F8 +80 +88 +C8 +B0 +ENDCHAR +STARTCHAR uni0566 +ENCODING 1382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +90 +90 +90 +70 +10 +18 +ENDCHAR +STARTCHAR uni0567 +ENCODING 1383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +80 +80 +80 +F8 +80 +80 +80 +70 +08 +ENDCHAR +STARTCHAR uni0568 +ENCODING 1384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +80 +F8 +ENDCHAR +STARTCHAR uni0569 +ENCODING 1385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A0 +D0 +90 +B8 +D0 +A0 +80 +ENDCHAR +STARTCHAR uni056A +ENCODING 1386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +10 +10 +78 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uni056B +ENCODING 1387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 -2 +BITMAP +80 +80 +80 +A0 +D0 +90 +90 +90 +80 +80 +ENDCHAR +STARTCHAR uni056C +ENCODING 1388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +30 +ENDCHAR +STARTCHAR uni056D +ENCODING 1389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +E8 +A8 +A8 +A8 +90 +80 +80 +ENDCHAR +STARTCHAR uni056E +ENCODING 1390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +40 +20 +78 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uni056F +ENCODING 1391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +80 +80 +80 +88 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni0570 +ENCODING 1392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0571 +ENCODING 1393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +40 +20 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR uni0572 +ENCODING 1394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A0 +D0 +90 +90 +90 +10 +18 +ENDCHAR +STARTCHAR uni0573 +ENCODING 1395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +48 +40 +F8 +48 +48 +58 +28 +ENDCHAR +STARTCHAR uni0574 +ENCODING 1396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +10 +10 +90 +90 +90 +B0 +50 +ENDCHAR +STARTCHAR uni0575 +ENCODING 1397 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +18 +08 +08 +08 +88 +88 +70 +ENDCHAR +STARTCHAR uni0576 +ENCODING 1398 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +80 +98 +88 +88 +98 +68 +ENDCHAR +STARTCHAR uni0577 +ENCODING 1399 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +60 +90 +10 +10 +20 +40 +80 +70 +ENDCHAR +STARTCHAR uni0578 +ENCODING 1400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0579 +ENCODING 1401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +40 +20 +20 +40 +40 +80 +F8 +ENDCHAR +STARTCHAR uni057A +ENCODING 1402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +A8 +A8 +A8 +58 +08 +08 +ENDCHAR +STARTCHAR uni057B +ENCODING 1403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +50 +20 +40 +38 +ENDCHAR +STARTCHAR uni057C +ENCODING 1404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +D0 +90 +90 +98 +ENDCHAR +STARTCHAR uni057D +ENCODING 1405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +98 +68 +ENDCHAR +STARTCHAR uni057E +ENCODING 1406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +10 +90 +90 +90 +90 +70 +10 +18 +ENDCHAR +STARTCHAR uni057F +ENCODING 1407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +A8 +A8 +A8 +68 +ENDCHAR +STARTCHAR uni0580 +ENCODING 1408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +80 +80 +ENDCHAR +STARTCHAR uni0581 +ENCODING 1409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni0582 +ENCODING 1410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +80 +80 +80 +80 +70 +ENDCHAR +STARTCHAR uni0583 +ENCODING 1411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +20 +20 +20 +B0 +A8 +A8 +A8 +68 +20 +20 +ENDCHAR +STARTCHAR uni0584 +ENCODING 1412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +30 +48 +48 +70 +40 +F8 +40 +ENDCHAR +STARTCHAR uni0585 +ENCODING 1413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0586 +ENCODING 1414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +60 +A0 +A0 +70 +28 +28 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni0587 +ENCODING 1415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +90 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni0589 +ENCODING 1417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 2 1 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni058A +ENCODING 1418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 3 +BITMAP +80 +70 +ENDCHAR +STARTCHAR uni0591 +ENCODING 1425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +40 +A0 +ENDCHAR +STARTCHAR uni0592 +ENCODING 1426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +20 +88 +ENDCHAR +STARTCHAR uni0593 +ENCODING 1427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 6 +BITMAP +40 +80 +40 +80 +ENDCHAR +STARTCHAR uni0594 +ENCODING 1428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 3 2 6 +BITMAP +80 +00 +80 +ENDCHAR +STARTCHAR uni0595 +ENCODING 1429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +A0 +80 +A0 +ENDCHAR +STARTCHAR uni0596 +ENCODING 1430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni0597 +ENCODING 1431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni0598 +ENCODING 1432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +48 +A8 +90 +ENDCHAR +STARTCHAR uni0599 +ENCODING 1433 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 0 6 +BITMAP +80 +40 +40 +ENDCHAR +STARTCHAR uni059A +ENCODING 1434 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 4 -2 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni059B +ENCODING 1435 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +90 +20 +ENDCHAR +STARTCHAR uni059C +ENCODING 1436 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 6 +BITMAP +60 +80 +80 +ENDCHAR +STARTCHAR uni059D +ENCODING 1437 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 4 6 +BITMAP +40 +80 +80 +ENDCHAR +STARTCHAR uni059E +ENCODING 1438 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 2 5 +BITMAP +40 +90 +A0 +A0 +20 +ENDCHAR +STARTCHAR uni059F +ENCODING 1439 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 5 +BITMAP +50 +A8 +50 +50 +ENDCHAR +STARTCHAR uni05A0 +ENCODING 1440 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 2 5 +BITMAP +40 +A0 +40 +40 +ENDCHAR +STARTCHAR uni05A1 +ENCODING 1441 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 3 0 6 +BITMAP +50 +D0 +20 +ENDCHAR +STARTCHAR uni05A2 +ENCODING 1442 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni05A3 +ENCODING 1443 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +20 +E0 +ENDCHAR +STARTCHAR uni05A4 +ENCODING 1444 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 -2 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni05A5 +ENCODING 1445 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni05A6 +ENCODING 1446 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni05A7 +ENCODING 1447 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 -2 +BITMAP +40 +80 +40 +80 +ENDCHAR +STARTCHAR uni05A8 +ENCODING 1448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 6 +BITMAP +80 +40 +40 +ENDCHAR +STARTCHAR uni05A9 +ENCODING 1449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 5 +BITMAP +40 +A0 +40 +40 +ENDCHAR +STARTCHAR uni05AA +ENCODING 1450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni05AB +ENCODING 1451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 6 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni05AC +ENCODING 1452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +20 +20 +E0 +ENDCHAR +STARTCHAR uni05AD +ENCODING 1453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 4 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni05AE +ENCODING 1454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +10 +50 +A0 +80 +ENDCHAR +STARTCHAR uni05AF +ENCODING 1455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR afii57799 +ENCODING 1456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 3 2 -2 +BITMAP +80 +00 +80 +ENDCHAR +STARTCHAR afii57801 +ENCODING 1457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +A8 +00 +48 +ENDCHAR +STARTCHAR afii57800 +ENCODING 1458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +08 +E0 +08 +ENDCHAR +STARTCHAR afii57802 +ENCODING 1459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +08 +E0 +48 +ENDCHAR +STARTCHAR afii57793 +ENCODING 1460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 -2 +BITMAP +80 +ENDCHAR +STARTCHAR afii57794 +ENCODING 1461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +A0 +ENDCHAR +STARTCHAR afii57795 +ENCODING 1462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +88 +20 +ENDCHAR +STARTCHAR afii57798 +ENCODING 1463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +E0 +ENDCHAR +STARTCHAR afii57797 +ENCODING 1464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +E0 +40 +ENDCHAR +STARTCHAR afii57806 +ENCODING 1465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 1 6 +BITMAP +80 +ENDCHAR +STARTCHAR uni05BA +ENCODING 1466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 6 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR afii57796 +ENCODING 1467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +80 +20 +08 +ENDCHAR +STARTCHAR afii57807 +ENCODING 1468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 3 +BITMAP +80 +ENDCHAR +STARTCHAR afii57839 +ENCODING 1469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 -2 +BITMAP +80 +80 +ENDCHAR +STARTCHAR afii57645 +ENCODING 1470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 1 1 4 +BITMAP +F0 +ENDCHAR +STARTCHAR afii57841 +ENCODING 1471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 6 +BITMAP +E0 +ENDCHAR +STARTCHAR afii57842 +ENCODING 1472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 0 +BITMAP +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii57804 +ENCODING 1473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 4 6 +BITMAP +80 +ENDCHAR +STARTCHAR afii57803 +ENCODING 1474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 0 6 +BITMAP +80 +ENDCHAR +STARTCHAR afii57658 +ENCODING 1475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 6 2 0 +BITMAP +80 +80 +00 +00 +80 +80 +ENDCHAR +STARTCHAR uni05C4 +ENCODING 1476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 6 +BITMAP +80 +ENDCHAR +STARTCHAR uni05C5 +ENCODING 1477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 -2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni05C6 +ENCODING 1478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +40 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni05C7 +ENCODING 1479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +40 +40 +ENDCHAR +STARTCHAR afii57664 +ENCODING 1488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +48 +68 +90 +C8 +ENDCHAR +STARTCHAR afii57665 +ENCODING 1489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +10 +10 +10 +F8 +ENDCHAR +STARTCHAR afii57666 +ENCODING 1490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +80 +40 +20 +50 +90 +ENDCHAR +STARTCHAR afii57667 +ENCODING 1491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +10 +10 +10 +ENDCHAR +STARTCHAR afii57668 +ENCODING 1492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +08 +88 +88 +ENDCHAR +STARTCHAR afii57669 +ENCODING 1493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 2 0 +BITMAP +C0 +40 +40 +40 +40 +ENDCHAR +STARTCHAR afii57670 +ENCODING 1494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +10 +10 +10 +ENDCHAR +STARTCHAR afii57671 +ENCODING 1495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +48 +48 +ENDCHAR +STARTCHAR afii57672 +ENCODING 1496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +A8 +88 +88 +F8 +ENDCHAR +STARTCHAR afii57673 +ENCODING 1497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 2 +BITMAP +C0 +40 +40 +ENDCHAR +STARTCHAR afii57674 +ENCODING 1498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +08 +08 +08 +08 +08 +08 +ENDCHAR +STARTCHAR afii57675 +ENCODING 1499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +08 +08 +F0 +ENDCHAR +STARTCHAR afii57676 +ENCODING 1500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +F8 +08 +08 +10 +60 +ENDCHAR +STARTCHAR afii57677 +ENCODING 1501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +48 +78 +ENDCHAR +STARTCHAR afii57678 +ENCODING 1502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +A8 +48 +88 +B8 +ENDCHAR +STARTCHAR afii57679 +ENCODING 1503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 7 2 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR afii57680 +ENCODING 1504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +30 +10 +10 +10 +F0 +ENDCHAR +STARTCHAR afii57681 +ENCODING 1505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +50 +60 +ENDCHAR +STARTCHAR afii57682 +ENCODING 1506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +48 +48 +50 +E0 +ENDCHAR +STARTCHAR afii57683 +ENCODING 1507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +48 +48 +08 +08 +08 +08 +ENDCHAR +STARTCHAR afii57684 +ENCODING 1508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +08 +F0 +ENDCHAR +STARTCHAR afii57685 +ENCODING 1509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +90 +48 +48 +50 +60 +40 +40 +ENDCHAR +STARTCHAR afii57686 +ENCODING 1510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +48 +28 +10 +F8 +ENDCHAR +STARTCHAR afii57687 +ENCODING 1511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +08 +88 +88 +B0 +80 +80 +ENDCHAR +STARTCHAR afii57688 +ENCODING 1512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +08 +08 +08 +08 +ENDCHAR +STARTCHAR afii57689 +ENCODING 1513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +E8 +88 +F0 +ENDCHAR +STARTCHAR afii57690 +ENCODING 1514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +48 +C8 +ENDCHAR +STARTCHAR afii57716 +ENCODING 1520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +48 +48 +48 +48 +ENDCHAR +STARTCHAR afii57717 +ENCODING 1521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +48 +48 +08 +08 +ENDCHAR +STARTCHAR afii57718 +ENCODING 1522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +D8 +48 +48 +ENDCHAR +STARTCHAR uni05F3 +ENCODING 1523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni05F4 +ENCODING 1524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni1680 +ENCODING 5760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni1681 +ENCODING 5761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +08 +08 +08 +ENDCHAR +STARTCHAR uni1682 +ENCODING 5762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +28 +28 +28 +ENDCHAR +STARTCHAR uni1683 +ENCODING 5763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +38 +38 +38 +ENDCHAR +STARTCHAR uni1684 +ENCODING 5764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +78 +78 +78 +ENDCHAR +STARTCHAR uni1685 +ENCODING 5765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni1686 +ENCODING 5766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +08 +08 +08 +FC +ENDCHAR +STARTCHAR uni1687 +ENCODING 5767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +28 +28 +28 +FC +ENDCHAR +STARTCHAR uni1688 +ENCODING 5768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +38 +38 +38 +FC +ENDCHAR +STARTCHAR uni1689 +ENCODING 5769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +78 +78 +78 +FC +ENDCHAR +STARTCHAR uni168A +ENCODING 5770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +F8 +F8 +F8 +FC +ENDCHAR +STARTCHAR uni168B +ENCODING 5771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +10 +10 +FC +20 +20 +20 +ENDCHAR +STARTCHAR uni168C +ENCODING 5772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +28 +28 +28 +FC +50 +50 +50 +ENDCHAR +STARTCHAR uni168D +ENCODING 5773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +38 +38 +38 +FC +70 +70 +70 +ENDCHAR +STARTCHAR uni168E +ENCODING 5774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +3C +3C +3C +FC +78 +78 +78 +ENDCHAR +STARTCHAR uni168F +ENCODING 5775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +7C +7C +7C +FC +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni1690 +ENCODING 5776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +10 +FC +10 +ENDCHAR +STARTCHAR uni1691 +ENCODING 5777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +28 +FC +28 +ENDCHAR +STARTCHAR uni1692 +ENCODING 5778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +38 +FC +38 +ENDCHAR +STARTCHAR uni1693 +ENCODING 5779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +78 +FC +78 +ENDCHAR +STARTCHAR uni1694 +ENCODING 5780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +F8 +FC +F8 +ENDCHAR +STARTCHAR uni1695 +ENCODING 5781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +28 +28 +10 +FC +10 +28 +28 +ENDCHAR +STARTCHAR uni1696 +ENCODING 5782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +84 +FC +84 +48 +30 +ENDCHAR +STARTCHAR uni1697 +ENCODING 5783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 -1 +BITMAP +FC +40 +58 +48 +78 +ENDCHAR +STARTCHAR uni1698 +ENCODING 5784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +D8 +70 +D8 +ENDCHAR +STARTCHAR uni1699 +ENCODING 5785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 1 3 +BITMAP +50 +F8 +50 +F8 +50 +F8 +ENDCHAR +STARTCHAR uni169A +ENCODING 5786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +FC +00 +78 +ENDCHAR +STARTCHAR uni169B +ENCODING 5787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +80 +40 +20 +1C +20 +40 +80 +ENDCHAR +STARTCHAR uni169C +ENCODING 5788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +04 +08 +F0 +08 +04 +ENDCHAR +STARTCHAR uni16A0 +ENCODING 5792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +90 +A0 +C0 +90 +A0 +C0 +80 +80 +80 +ENDCHAR +STARTCHAR uni16A1 +ENCODING 5793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +20 +80 +90 +A0 +C0 +90 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni16A2 +ENCODING 5794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +C0 +A0 +90 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni16A3 +ENCODING 5795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +C0 +A0 +90 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni16A4 +ENCODING 5796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +C0 +A0 +90 +88 +A8 +88 +88 +88 +ENDCHAR +STARTCHAR uni16A5 +ENCODING 5797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +C0 +A0 +90 +C8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni16A6 +ENCODING 5798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +80 +80 +C0 +A0 +90 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni16A7 +ENCODING 5799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +80 +80 +C0 +A0 +D0 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni16A8 +ENCODING 5800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +80 +C0 +A0 +90 +C0 +A0 +90 +80 +80 +ENDCHAR +STARTCHAR uni16A9 +ENCODING 5801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +C8 +B0 +80 +C8 +B0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16AA +ENCODING 5802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D0 +A0 +80 +C0 +B0 +80 +80 +80 +ENDCHAR +STARTCHAR uni16AB +ENCODING 5803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +80 +C0 +A0 +90 +C0 +A0 +90 +80 +80 +ENDCHAR +STARTCHAR uni16AC +ENCODING 5804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +A0 +60 +30 +A8 +60 +30 +28 +20 +ENDCHAR +STARTCHAR uni16AD +ENCODING 5805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +80 +80 +80 +C0 +A0 +80 +C0 +A0 +80 +ENDCHAR +STARTCHAR uni16AE +ENCODING 5806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 0 0 +BITMAP +20 +20 +20 +60 +A0 +20 +60 +A0 +20 +ENDCHAR +STARTCHAR uni16AF +ENCODING 5807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +28 +30 +60 +A8 +30 +60 +A0 +20 +ENDCHAR +STARTCHAR uni16B0 +ENCODING 5808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +28 +30 +60 +A0 +20 +60 +A0 +20 +ENDCHAR +STARTCHAR uni16B1 +ENCODING 5809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +C0 +B0 +88 +B0 +C0 +A0 +90 +88 +80 +ENDCHAR +STARTCHAR uni16B2 +ENCODING 5810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 1 +BITMAP +10 +20 +40 +80 +40 +20 +10 +ENDCHAR +STARTCHAR uni16B3 +ENCODING 5811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +80 +80 +80 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni16B4 +ENCODING 5812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +90 +A0 +C0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16B5 +ENCODING 5813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +88 +90 +A0 +C0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16B6 +ENCODING 5814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +44 +48 +50 +E0 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni16B7 +ENCODING 5815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +50 +50 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni16B8 +ENCODING 5816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +50 +50 +A8 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni16B9 +ENCODING 5817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +C0 +B0 +88 +B0 +C0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16BA +ENCODING 5818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +88 +C8 +A8 +98 +88 +88 +88 +ENDCHAR +STARTCHAR uni16BB +ENCODING 5819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +C8 +A8 +D8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR uni16BC +ENCODING 5820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +A8 +70 +20 +70 +A8 +20 +20 +ENDCHAR +STARTCHAR uni16BD +ENCODING 5821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +40 +40 +40 +E0 +E0 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni16BE +ENCODING 5822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +A0 +60 +20 +30 +28 +20 +20 +ENDCHAR +STARTCHAR uni16BF +ENCODING 5823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 2 0 +BITMAP +80 +80 +80 +80 +C0 +A0 +80 +80 +80 +ENDCHAR +STARTCHAR uni16C0 +ENCODING 5824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +A0 +70 +70 +70 +28 +20 +20 +ENDCHAR +STARTCHAR uni16C1 +ENCODING 5825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 9 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16C2 +ENCODING 5826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +40 +40 +40 +E0 +E0 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni16C3 +ENCODING 5827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +40 +90 +48 +10 +20 +ENDCHAR +STARTCHAR uni16C4 +ENCODING 5828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +70 +A8 +70 +20 +20 +20 +ENDCHAR +STARTCHAR uni16C5 +ENCODING 5829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +28 +30 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR uni16C6 +ENCODING 5830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 0 0 +BITMAP +20 +20 +20 +20 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR uni16C7 +ENCODING 5831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +30 +28 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni16C8 +ENCODING 5832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D0 +A0 +80 +80 +80 +A0 +D0 +88 +ENDCHAR +STARTCHAR uni16C9 +ENCODING 5833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +70 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16CA +ENCODING 5834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +20 +40 +80 +40 +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR uni16CB +ENCODING 5835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +88 +98 +A8 +C8 +88 +08 +08 +ENDCHAR +STARTCHAR uni16CC +ENCODING 5836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 4 +BITMAP +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16CD +ENCODING 5837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 2 +BITMAP +40 +40 +40 +40 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni16CE +ENCODING 5838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 3 +BITMAP +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni16CF +ENCODING 5839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16D0 +ENCODING 5840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +20 +60 +A0 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16D1 +ENCODING 5841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +20 +60 +A0 +20 +20 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni16D2 +ENCODING 5842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 0 +BITMAP +C0 +A0 +90 +A0 +C0 +A0 +90 +A0 +C0 +ENDCHAR +STARTCHAR uni16D3 +ENCODING 5843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 2 0 +BITMAP +80 +80 +A0 +C0 +80 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni16D4 +ENCODING 5844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F0 +88 +A8 +88 +F0 +88 +A8 +88 +F0 +ENDCHAR +STARTCHAR uni16D5 +ENCODING 5845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +90 +A0 +C0 +80 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni16D6 +ENCODING 5846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni16D7 +ENCODING 5847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D8 +A8 +D8 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni16D8 +ENCODING 5848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +A8 +70 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16D9 +ENCODING 5849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +E0 +E0 +E0 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni16DA +ENCODING 5850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 2 0 +BITMAP +80 +C0 +A0 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16DB +ENCODING 5851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +40 +60 +50 +40 +E0 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni16DC +ENCODING 5852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni16DD +ENCODING 5853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +50 +20 +50 +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni16DE +ENCODING 5854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D8 +D8 +A8 +A8 +A8 +D8 +D8 +88 +ENDCHAR +STARTCHAR uni16DF +ENCODING 5855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR uni16E0 +ENCODING 5856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +70 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16E1 +ENCODING 5857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +A8 +70 +20 +70 +A8 +20 +20 +ENDCHAR +STARTCHAR uni16E2 +ENCODING 5858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +28 +30 +20 +20 +20 +20 +20 +60 +A0 +ENDCHAR +STARTCHAR uni16E3 +ENCODING 5859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +20 +70 +A8 +ENDCHAR +STARTCHAR uni16E4 +ENCODING 5860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +A8 +70 +A8 +A8 +A8 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni16E5 +ENCODING 5861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D8 +A8 +D8 +88 +D8 +A8 +D8 +88 +ENDCHAR +STARTCHAR uni16E6 +ENCODING 5862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni16E7 +ENCODING 5863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 0 +BITMAP +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16E8 +ENCODING 5864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni16E9 +ENCODING 5865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +18 +68 +88 +68 +18 +08 +08 +08 +08 +ENDCHAR +STARTCHAR uni16EA +ENCODING 5866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +40 +E0 +40 +50 +70 +50 +10 +38 +10 +ENDCHAR +STARTCHAR uni16EB +ENCODING 5867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 4 +BITMAP +80 +ENDCHAR +STARTCHAR uni16EC +ENCODING 5868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 2 +BITMAP +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni16ED +ENCODING 5869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni16EE +ENCODING 5870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +30 +28 +20 +60 +A0 +20 +20 +20 +ENDCHAR +STARTCHAR uni16EF +ENCODING 5871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +A8 +70 +20 +20 +20 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni16F0 +ENCODING 5872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni1E02 +ENCODING 7682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F0 +48 +48 +70 +48 +48 +F0 +ENDCHAR +STARTCHAR uni1E03 +ENCODING 7683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +80 +80 +F0 +88 +88 +88 +F0 +ENDCHAR +STARTCHAR uni1E04 +ENCODING 7684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +70 +48 +48 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E05 +ENCODING 7685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +F0 +88 +88 +88 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E06 +ENCODING 7686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +70 +48 +48 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni1E07 +ENCODING 7687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +F0 +88 +88 +88 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni1E0A +ENCODING 7690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F0 +48 +48 +48 +48 +48 +F0 +ENDCHAR +STARTCHAR uni1E0B +ENCODING 7691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +08 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR uni1E0C +ENCODING 7692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E0D +ENCODING 7693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +08 +78 +88 +88 +88 +78 +00 +20 +ENDCHAR +STARTCHAR uni1E0E +ENCODING 7694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni1E0F +ENCODING 7695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +08 +78 +88 +88 +88 +78 +00 +F8 +ENDCHAR +STARTCHAR uni1E10 +ENCODING 7696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +20 +40 +ENDCHAR +STARTCHAR uni1E11 +ENCODING 7697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +08 +78 +88 +88 +88 +78 +20 +40 +ENDCHAR +STARTCHAR uni1E12 +ENCODING 7698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +00 +20 +50 +ENDCHAR +STARTCHAR uni1E13 +ENCODING 7699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +08 +08 +78 +88 +88 +88 +78 +00 +20 +50 +ENDCHAR +STARTCHAR uni1E1E +ENCODING 7710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F8 +80 +80 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni1E1F +ENCODING 7711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +30 +48 +40 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni1E30 +ENCODING 7728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni1E31 +ENCODING 7729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +10 +20 +80 +80 +88 +90 +E0 +90 +88 +ENDCHAR +STARTCHAR uni1E32 +ENCODING 7730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +00 +20 +ENDCHAR +STARTCHAR uni1E33 +ENCODING 7731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +88 +90 +E0 +90 +88 +00 +20 +ENDCHAR +STARTCHAR uni1E34 +ENCODING 7732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +00 +F8 +ENDCHAR +STARTCHAR uni1E35 +ENCODING 7733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +88 +90 +E0 +90 +88 +00 +F8 +ENDCHAR +STARTCHAR uni1E3E +ENCODING 7742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni1E3F +ENCODING 7743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +D0 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni1E40 +ENCODING 7744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni1E41 +ENCODING 7745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +D0 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni1E42 +ENCODING 7746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +00 +20 +ENDCHAR +STARTCHAR uni1E43 +ENCODING 7747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +D0 +A8 +A8 +A8 +A8 +00 +20 +ENDCHAR +STARTCHAR uni1E54 +ENCODING 7764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni1E55 +ENCODING 7765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR uni1E56 +ENCODING 7766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni1E57 +ENCODING 7767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +00 +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR uni1E60 +ENCODING 7776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni1E61 +ENCODING 7777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR uni1E62 +ENCODING 7778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +70 +08 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1E63 +ENCODING 7779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E64 +ENCODING 7780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +48 +10 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni1E65 +ENCODING 7781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +10 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR uni1E66 +ENCODING 7782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +00 +50 +20 +78 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni1E67 +ENCODING 7783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +00 +50 +20 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR uni1E68 +ENCODING 7784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +20 +00 +70 +88 +80 +70 +08 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1E69 +ENCODING 7785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +00 +78 +80 +70 +08 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E6A +ENCODING 7786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1E6B +ENCODING 7787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +20 +20 +F8 +20 +20 +20 +18 +ENDCHAR +STARTCHAR uni1E6C +ENCODING 7788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +00 +20 +ENDCHAR +STARTCHAR uni1E6D +ENCODING 7789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +00 +20 +ENDCHAR +STARTCHAR uni1E6E +ENCODING 7790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +00 +F8 +ENDCHAR +STARTCHAR uni1E6F +ENCODING 7791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +00 +F8 +ENDCHAR +STARTCHAR uni1E70 +ENCODING 7792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +00 +20 +50 +ENDCHAR +STARTCHAR uni1E71 +ENCODING 7793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +18 +00 +20 +50 +ENDCHAR +STARTCHAR Wgrave +ENCODING 7808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR wgrave +ENCODING 7809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Wacute +ENCODING 7810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR wacute +ENCODING 7811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Wdieresis +ENCODING 7812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR wdieresis +ENCODING 7813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1E86 +ENCODING 7814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1E87 +ENCODING 7815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1E88 +ENCODING 7816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +88 +A8 +A8 +50 +00 +20 +ENDCHAR +STARTCHAR uni1E89 +ENCODING 7817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +A8 +A8 +50 +00 +20 +ENDCHAR +STARTCHAR uni1E8A +ENCODING 7818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR uni1E8B +ENCODING 7819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni1E8C +ENCODING 7820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR uni1E8D +ENCODING 7821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni1E8E +ENCODING 7822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1E8F +ENCODING 7823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR Ygrave +ENCODING 7922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR ygrave +ENCODING 7923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +40 +20 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni1EF4 +ENCODING 7924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +50 +20 +20 +20 +20 +00 +20 +ENDCHAR +STARTCHAR uni1EF5 +ENCODING 7925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +50 +20 +40 +88 +ENDCHAR +STARTCHAR uni1EF6 +ENCODING 7926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +10 +20 +88 +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni1EF7 +ENCODING 7927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +20 +50 +10 +20 +20 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni1EF8 +ENCODING 7928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1EF9 +ENCODING 7929 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +68 +B0 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni1F00 +ENCODING 7936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F01 +ENCODING 7937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F02 +ENCODING 7938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F03 +ENCODING 7939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F04 +ENCODING 7940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F05 +ENCODING 7941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F06 +ENCODING 7942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +10 +00 +68 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F07 +ENCODING 7943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +20 +00 +68 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F08 +ENCODING 7944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F09 +ENCODING 7945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0A +ENCODING 7946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0B +ENCODING 7947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0C +ENCODING 7948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0D +ENCODING 7949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0E +ENCODING 7950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +C0 +80 +30 +48 +78 +48 +48 +ENDCHAR +STARTCHAR uni1F0F +ENCODING 7951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +C0 +40 +30 +48 +78 +48 +48 +ENDCHAR +STARTCHAR uni1F10 +ENCODING 7952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F11 +ENCODING 7953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F12 +ENCODING 7954 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F13 +ENCODING 7955 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F14 +ENCODING 7956 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F15 +ENCODING 7957 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F18 +ENCODING 7960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F19 +ENCODING 7961 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F1A +ENCODING 7962 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F1B +ENCODING 7963 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F1C +ENCODING 7964 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F1D +ENCODING 7965 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F20 +ENCODING 7968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +60 +20 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F21 +ENCODING 7969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +30 +20 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F22 +ENCODING 7970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +D0 +48 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F23 +ENCODING 7971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +D0 +88 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F24 +ENCODING 7972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +C8 +50 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F25 +ENCODING 7973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +C8 +90 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F26 +ENCODING 7974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +30 +10 +00 +B0 +C8 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F27 +ENCODING 7975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +30 +20 +00 +B0 +C8 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F28 +ENCODING 7976 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F29 +ENCODING 7977 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2A +ENCODING 7978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2B +ENCODING 7979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2C +ENCODING 7980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2D +ENCODING 7981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2E +ENCODING 7982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +C0 +80 +28 +28 +38 +28 +28 +ENDCHAR +STARTCHAR uni1F2F +ENCODING 7983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +C0 +40 +28 +28 +38 +28 +28 +ENDCHAR +STARTCHAR uni1F30 +ENCODING 7984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +C0 +40 +00 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni1F31 +ENCODING 7985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +C0 +80 +00 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni1F32 +ENCODING 7986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F33 +ENCODING 7987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F34 +ENCODING 7988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F35 +ENCODING 7989 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F36 +ENCODING 7990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +10 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F37 +ENCODING 7991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +20 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F38 +ENCODING 7992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +C0 +40 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F39 +ENCODING 7993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +C0 +80 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3A +ENCODING 7994 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3B +ENCODING 7995 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3C +ENCODING 7996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3D +ENCODING 7997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3E +ENCODING 7998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +68 +B0 +00 +C0 +9C +08 +08 +08 +08 +1C +ENDCHAR +STARTCHAR uni1F3F +ENCODING 7999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +68 +B0 +00 +C0 +5C +08 +08 +08 +08 +1C +ENDCHAR +STARTCHAR uni1F40 +ENCODING 8000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F41 +ENCODING 8001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F42 +ENCODING 8002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F43 +ENCODING 8003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F44 +ENCODING 8004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F45 +ENCODING 8005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F48 +ENCODING 8008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F49 +ENCODING 8009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F4A +ENCODING 8010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F4B +ENCODING 8011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F4C +ENCODING 8012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F4D +ENCODING 8013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F50 +ENCODING 8016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F51 +ENCODING 8017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F52 +ENCODING 8018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F53 +ENCODING 8019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F54 +ENCODING 8020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F55 +ENCODING 8021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F56 +ENCODING 8022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +10 +00 +90 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F57 +ENCODING 8023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +20 +00 +90 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F59 +ENCODING 8025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1F5B +ENCODING 8027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1F5D +ENCODING 8029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1F5F +ENCODING 8031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +68 +B0 +00 +C0 +54 +14 +14 +08 +08 +08 +ENDCHAR +STARTCHAR uni1F60 +ENCODING 8032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F61 +ENCODING 8033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F62 +ENCODING 8034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F63 +ENCODING 8035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F64 +ENCODING 8036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F65 +ENCODING 8037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F66 +ENCODING 8038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +10 +00 +50 +88 +A8 +50 +ENDCHAR +STARTCHAR uni1F67 +ENCODING 8039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +20 +00 +50 +88 +A8 +50 +ENDCHAR +STARTCHAR uni1F68 +ENCODING 8040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F69 +ENCODING 8041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6A +ENCODING 8042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6B +ENCODING 8043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6C +ENCODING 8044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6D +ENCODING 8045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6E +ENCODING 8046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +68 +B0 +00 +C0 +80 +38 +44 +44 +44 +28 +6C +ENDCHAR +STARTCHAR uni1F6F +ENCODING 8047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +68 +B0 +00 +C0 +40 +38 +44 +44 +44 +28 +6C +ENDCHAR +STARTCHAR uni1F70 +ENCODING 8048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F71 +ENCODING 8049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F72 +ENCODING 8050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F73 +ENCODING 8051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F74 +ENCODING 8052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +20 +10 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F75 +ENCODING 8053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F76 +ENCODING 8054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +80 +40 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F77 +ENCODING 8055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 2 0 +BITMAP +40 +80 +00 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni1F78 +ENCODING 8056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F79 +ENCODING 8057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F7A +ENCODING 8058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F7B +ENCODING 8059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F7C +ENCODING 8060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F7D +ENCODING 8061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F80 +ENCODING 8064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +60 +20 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F81 +ENCODING 8065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +30 +20 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F82 +ENCODING 8066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +48 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F83 +ENCODING 8067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +88 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F84 +ENCODING 8068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +50 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F85 +ENCODING 8069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +90 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F86 +ENCODING 8070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +10 +20 +00 +68 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F87 +ENCODING 8071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +20 +10 +00 +68 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F88 +ENCODING 8072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +40 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F89 +ENCODING 8073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +80 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8A +ENCODING 8074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +48 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8B +ENCODING 8075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +88 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8C +ENCODING 8076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +50 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8D +ENCODING 8077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +90 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8E +ENCODING 8078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +C0 +40 +30 +48 +78 +48 +48 +20 +10 +ENDCHAR +STARTCHAR uni1F8F +ENCODING 8079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +C0 +80 +30 +48 +78 +48 +48 +20 +10 +ENDCHAR +STARTCHAR uni1F90 +ENCODING 8080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +60 +20 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F91 +ENCODING 8081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +30 +20 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F92 +ENCODING 8082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +48 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F93 +ENCODING 8083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +88 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F94 +ENCODING 8084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +50 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F95 +ENCODING 8085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +90 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F96 +ENCODING 8086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +10 +20 +00 +B0 +C8 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F97 +ENCODING 8087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +20 +10 +00 +B0 +C8 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F98 +ENCODING 8088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +40 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F99 +ENCODING 8089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +80 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9A +ENCODING 8090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +48 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9B +ENCODING 8091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +88 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9C +ENCODING 8092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +50 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9D +ENCODING 8093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +90 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9E +ENCODING 8094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +C0 +40 +28 +28 +38 +28 +28 +20 +10 +ENDCHAR +STARTCHAR uni1F9F +ENCODING 8095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +C0 +80 +28 +28 +38 +28 +28 +20 +10 +ENDCHAR +STARTCHAR uni1FA0 +ENCODING 8096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +60 +20 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA1 +ENCODING 8097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +30 +20 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA2 +ENCODING 8098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +48 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA3 +ENCODING 8099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +88 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA4 +ENCODING 8100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +50 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA5 +ENCODING 8101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +90 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA6 +ENCODING 8102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +10 +20 +00 +50 +88 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA7 +ENCODING 8103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +20 +10 +00 +50 +88 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA8 +ENCODING 8104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +40 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FA9 +ENCODING 8105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +80 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAA +ENCODING 8106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +48 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAB +ENCODING 8107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +88 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAC +ENCODING 8108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +50 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAD +ENCODING 8109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +90 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAE +ENCODING 8110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +68 +B0 +00 +C0 +40 +38 +44 +44 +28 +6C +10 +08 +ENDCHAR +STARTCHAR uni1FAF +ENCODING 8111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +68 +B0 +00 +C0 +80 +38 +44 +44 +28 +6C +10 +08 +ENDCHAR +STARTCHAR uni1FB0 +ENCODING 8112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1FB1 +ENCODING 8113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1FB2 +ENCODING 8114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +40 +20 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FB3 +ENCODING 8115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FB4 +ENCODING 8116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +10 +20 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FB6 +ENCODING 8118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1FB7 +ENCODING 8119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +68 +B0 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FB8 +ENCODING 8120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FB9 +ENCODING 8121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FBA +ENCODING 8122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FBB +ENCODING 8123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FBC +ENCODING 8124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1FBD +ENCODING 8125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 6 +BITMAP +C0 +40 +ENDCHAR +STARTCHAR uni1FBE +ENCODING 8126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni1FBF +ENCODING 8127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 6 +BITMAP +C0 +40 +ENDCHAR +STARTCHAR uni1FC0 +ENCODING 8128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni1FC1 +ENCODING 8129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 +BITMAP +68 +B0 +00 +50 +ENDCHAR +STARTCHAR uni1FC2 +ENCODING 8130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +40 +20 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1FC3 +ENCODING 8131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1FC4 +ENCODING 8132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1FC6 +ENCODING 8134 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +68 +B0 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1FC7 +ENCODING 8135 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +68 +B0 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1FC8 +ENCODING 8136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1FC9 +ENCODING 8137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1FCA +ENCODING 8138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FCB +ENCODING 8139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FCC +ENCODING 8140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1FCD +ENCODING 8141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +D0 +48 +ENDCHAR +STARTCHAR uni1FCE +ENCODING 8142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +C8 +50 +ENDCHAR +STARTCHAR uni1FCF +ENCODING 8143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +68 +B0 +00 +30 +10 +ENDCHAR +STARTCHAR uni1FD0 +ENCODING 8144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +20 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni1FD1 +ENCODING 8145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1FD2 +ENCODING 8146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +80 +40 +00 +A0 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1FD3 +ENCODING 8147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +80 +40 +00 +A0 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1FD6 +ENCODING 8150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +20 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni1FD7 +ENCODING 8151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +50 +00 +20 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni1FD8 +ENCODING 8152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1FD9 +ENCODING 8153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1FDA +ENCODING 8154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +80 +40 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1FDB +ENCODING 8155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +40 +80 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1FDD +ENCODING 8157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +D0 +88 +ENDCHAR +STARTCHAR uni1FDE +ENCODING 8158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +C8 +90 +ENDCHAR +STARTCHAR uni1FDF +ENCODING 8159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +68 +B0 +00 +30 +20 +ENDCHAR +STARTCHAR uni1FE0 +ENCODING 8160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE1 +ENCODING 8161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE2 +ENCODING 8162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE3 +ENCODING 8163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE4 +ENCODING 8164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +60 +20 +00 +70 +88 +88 +C8 +B0 +80 +80 +ENDCHAR +STARTCHAR uni1FE5 +ENCODING 8165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +30 +20 +00 +70 +88 +88 +C8 +B0 +80 +80 +ENDCHAR +STARTCHAR uni1FE6 +ENCODING 8166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE7 +ENCODING 8167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE8 +ENCODING 8168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1FE9 +ENCODING 8169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1FEA +ENCODING 8170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1FEB +ENCODING 8171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1FEC +ENCODING 8172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni1FED +ENCODING 8173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +80 +40 +00 +A0 +ENDCHAR +STARTCHAR uni1FEE +ENCODING 8174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +20 +40 +00 +A0 +ENDCHAR +STARTCHAR uni1FEF +ENCODING 8175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 6 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni1FF2 +ENCODING 8178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +40 +20 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FF3 +ENCODING 8179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FF4 +ENCODING 8180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +10 +20 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FF6 +ENCODING 8182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1FF7 +ENCODING 8183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +68 +B0 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FF8 +ENCODING 8184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FF9 +ENCODING 8185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FFA +ENCODING 8186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1FFB +ENCODING 8187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1FFC +ENCODING 8188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FFD +ENCODING 8189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 6 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni1FFE +ENCODING 8190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 6 +BITMAP +C0 +80 +ENDCHAR +STARTCHAR uni2010 +ENCODING 8208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +E0 +ENDCHAR +STARTCHAR uni2011 +ENCODING 8209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +E0 +ENDCHAR +STARTCHAR figuredash +ENCODING 8210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR endash +ENCODING 8211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR emdash +ENCODING 8212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR afii00208 +ENCODING 8213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni2016 +ENCODING 8214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR underscoredbl +ENCODING 8215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 -2 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR quoteleft +ENCODING 8216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +40 +80 +C0 +ENDCHAR +STARTCHAR quoteright +ENCODING 8217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR quotesinglbase +ENCODING 8218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -1 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR quotereversed +ENCODING 8219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +C0 +80 +40 +ENDCHAR +STARTCHAR quotedblleft +ENCODING 8220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +48 +90 +D8 +ENDCHAR +STARTCHAR quotedblright +ENCODING 8221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +D8 +48 +90 +ENDCHAR +STARTCHAR quotedblbase +ENCODING 8222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -1 +BITMAP +D8 +48 +90 +ENDCHAR +STARTCHAR uni201F +ENCODING 8223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +D8 +90 +48 +ENDCHAR +STARTCHAR dagger +ENCODING 8224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR daggerdbl +ENCODING 8225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +20 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR bullet +ENCODING 8226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 2 +BITMAP +60 +F0 +F0 +60 +ENDCHAR +STARTCHAR uni2023 +ENCODING 8227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +C0 +E0 +C0 +80 +ENDCHAR +STARTCHAR onedotenleader +ENCODING 8228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 0 +BITMAP +80 +ENDCHAR +STARTCHAR twodotenleader +ENCODING 8229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 0 +BITMAP +A0 +ENDCHAR +STARTCHAR ellipsis +ENCODING 8230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 0 +BITMAP +A8 +ENDCHAR +STARTCHAR uni2027 +ENCODING 8231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 3 +BITMAP +80 +ENDCHAR +STARTCHAR perthousand +ENCODING 8240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +A8 +50 +20 +68 +D4 +A8 +ENDCHAR +STARTCHAR uni2031 +ENCODING 8241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +A8 +58 +34 +68 +D4 +A8 +ENDCHAR +STARTCHAR minute +ENCODING 8242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 4 +BITMAP +40 +40 +80 +ENDCHAR +STARTCHAR second +ENCODING 8243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +48 +48 +90 +ENDCHAR +STARTCHAR uni2034 +ENCODING 8244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 4 +BITMAP +54 +54 +A8 +ENDCHAR +STARTCHAR uni2035 +ENCODING 8245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 4 +BITMAP +80 +80 +40 +ENDCHAR +STARTCHAR uni2036 +ENCODING 8246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +90 +90 +48 +ENDCHAR +STARTCHAR uni2037 +ENCODING 8247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 4 +BITMAP +A8 +A8 +54 +ENDCHAR +STARTCHAR uni2038 +ENCODING 8248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 -2 +BITMAP +40 +40 +A0 +A0 +ENDCHAR +STARTCHAR guilsinglleft +ENCODING 8249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR guilsinglright +ENCODING 8250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +40 +20 +40 +80 +ENDCHAR +STARTCHAR uni203B +ENCODING 8251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +88 +50 +20 +A8 +20 +50 +88 +20 +ENDCHAR +STARTCHAR exclamdbl +ENCODING 8252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni203D +ENCODING 8253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +28 +30 +20 +00 +20 +ENDCHAR +STARTCHAR uni203E +ENCODING 8254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 8 +BITMAP +FC +ENDCHAR +STARTCHAR uni203F +ENCODING 8255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni2040 +ENCODING 8256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni2041 +ENCODING 8257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 -2 +BITMAP +10 +20 +20 +40 +40 +A0 +A0 +ENDCHAR +STARTCHAR uni2042 +ENCODING 8258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +20 +50 +F8 +50 +ENDCHAR +STARTCHAR uni2043 +ENCODING 8259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 2 +BITMAP +E0 +E0 +ENDCHAR +STARTCHAR fraction +ENCODING 8260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2045 +ENCODING 8261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +80 +80 +E0 +80 +80 +E0 +ENDCHAR +STARTCHAR uni2046 +ENCODING 8262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +20 +20 +E0 +20 +20 +E0 +ENDCHAR +STARTCHAR uni2047 +ENCODING 8263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +B4 +24 +48 +48 +00 +48 +ENDCHAR +STARTCHAR uni2048 +ENCODING 8264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +A8 +28 +48 +48 +00 +48 +ENDCHAR +STARTCHAR uni2049 +ENCODING 8265 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +A8 +88 +90 +90 +00 +90 +ENDCHAR +STARTCHAR uni204A +ENCODING 8266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +F0 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni204B +ENCODING 8267 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +B8 +B8 +B0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni204C +ENCODING 8268 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +78 +E8 +E8 +78 +ENDCHAR +STARTCHAR uni204D +ENCODING 8269 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +F0 +B8 +B8 +F0 +ENDCHAR +STARTCHAR uni204E +ENCODING 8270 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni204F +ENCODING 8271 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 -2 +BITMAP +40 +E0 +40 +00 +C0 +40 +20 +ENDCHAR +STARTCHAR uni2050 +ENCODING 8272 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +70 +88 +00 +00 +00 +00 +00 +00 +88 +70 +ENDCHAR +STARTCHAR uni2051 +ENCODING 8273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +A8 +70 +70 +A8 +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2052 +ENCODING 8274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 0 +BITMAP +90 +10 +20 +20 +40 +40 +90 +80 +ENDCHAR +STARTCHAR uni2053 +ENCODING 8275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni2054 +ENCODING 8276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -1 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni2055 +ENCODING 8277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +A8 +70 +F8 +70 +A8 +ENDCHAR +STARTCHAR uni2056 +ENCODING 8278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 2 +BITMAP +10 +00 +80 +00 +10 +ENDCHAR +STARTCHAR uni2057 +ENCODING 8279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 6 +BITMAP +7C +7C +F8 +ENDCHAR +STARTCHAR uni2058 +ENCODING 8280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +00 +88 +00 +20 +ENDCHAR +STARTCHAR uni2059 +ENCODING 8281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +88 +00 +20 +00 +88 +ENDCHAR +STARTCHAR uni205A +ENCODING 8282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 8 2 0 +BITMAP +80 +80 +00 +00 +00 +00 +80 +80 +ENDCHAR +STARTCHAR uni205B +ENCODING 8283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +00 +88 +88 +00 +20 +20 +ENDCHAR +STARTCHAR uni205C +ENCODING 8284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +A8 +20 +F8 +20 +A8 +ENDCHAR +STARTCHAR uni205D +ENCODING 8285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +00 +80 +00 +00 +80 +ENDCHAR +STARTCHAR uni205E +ENCODING 8286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR zerosuperior +ENCODING 8304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni2071 +ENCODING 8305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +00 +C0 +40 +E0 +ENDCHAR +STARTCHAR foursuperior +ENCODING 8308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +80 +80 +A0 +E0 +20 +ENDCHAR +STARTCHAR fivesuperior +ENCODING 8309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +E0 +80 +C0 +20 +C0 +ENDCHAR +STARTCHAR sixsuperior +ENCODING 8310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +60 +80 +C0 +A0 +40 +ENDCHAR +STARTCHAR sevensuperior +ENCODING 8311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +E0 +20 +40 +40 +40 +ENDCHAR +STARTCHAR eightsuperior +ENCODING 8312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR ninesuperior +ENCODING 8313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +60 +20 +C0 +ENDCHAR +STARTCHAR uni207A +ENCODING 8314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni207B +ENCODING 8315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 7 +BITMAP +E0 +ENDCHAR +STARTCHAR uni207C +ENCODING 8316 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +E0 +00 +E0 +ENDCHAR +STARTCHAR parenleftsuperior +ENCODING 8317 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 5 +BITMAP +40 +80 +80 +80 +40 +ENDCHAR +STARTCHAR parenrightsuperior +ENCODING 8318 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 5 +BITMAP +80 +40 +40 +40 +80 +ENDCHAR +STARTCHAR nsuperior +ENCODING 8319 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 5 +BITMAP +C0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR zeroinferior +ENCODING 8320 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +A0 +A0 +40 +ENDCHAR +STARTCHAR oneinferior +ENCODING 8321 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR twoinferior +ENCODING 8322 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +C0 +20 +40 +80 +E0 +ENDCHAR +STARTCHAR threeinferior +ENCODING 8323 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +C0 +20 +40 +20 +C0 +ENDCHAR +STARTCHAR fourinferior +ENCODING 8324 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +80 +80 +A0 +E0 +20 +ENDCHAR +STARTCHAR fiveinferior +ENCODING 8325 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +E0 +80 +C0 +20 +C0 +ENDCHAR +STARTCHAR sixinferior +ENCODING 8326 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +60 +80 +C0 +A0 +40 +ENDCHAR +STARTCHAR seveninferior +ENCODING 8327 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +E0 +20 +40 +40 +40 +ENDCHAR +STARTCHAR eightinferior +ENCODING 8328 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR nineinferior +ENCODING 8329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +60 +20 +C0 +ENDCHAR +STARTCHAR uni208A +ENCODING 8330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni208B +ENCODING 8331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 0 +BITMAP +E0 +ENDCHAR +STARTCHAR uni208C +ENCODING 8332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +E0 +00 +E0 +ENDCHAR +STARTCHAR parenleftinferior +ENCODING 8333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 -2 +BITMAP +40 +80 +80 +80 +40 +ENDCHAR +STARTCHAR parenrightinferior +ENCODING 8334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 -2 +BITMAP +80 +40 +40 +40 +80 +ENDCHAR +STARTCHAR uni2090 +ENCODING 8336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 -1 +BITMAP +40 +20 +60 +A0 +60 +ENDCHAR +STARTCHAR uni2091 +ENCODING 8337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 -2 +BITMAP +40 +A0 +E0 +80 +60 +ENDCHAR +STARTCHAR uni2092 +ENCODING 8338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 -2 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni2093 +ENCODING 8339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 -2 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni2094 +ENCODING 8340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 -2 +BITMAP +C0 +20 +E0 +A0 +40 +ENDCHAR +STARTCHAR uni20A0 +ENCODING 8352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +80 +B8 +A0 +70 +20 +38 +ENDCHAR +STARTCHAR colonmonetary +ENCODING 8353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A8 +A8 +D0 +D0 +D8 +70 +ENDCHAR +STARTCHAR uni20A2 +ENCODING 8354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +B0 +A0 +A8 +70 +ENDCHAR +STARTCHAR franc +ENCODING 8355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +E8 +B0 +A0 +A0 +ENDCHAR +STARTCHAR lira +ENCODING 8356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +48 +E0 +40 +E0 +48 +B0 +ENDCHAR +STARTCHAR uni20A5 +ENCODING 8357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +10 +F0 +A8 +A8 +A8 +40 +ENDCHAR +STARTCHAR uni20A6 +ENCODING 8358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +88 +C8 +FC +A8 +FC +98 +88 +ENDCHAR +STARTCHAR peseta +ENCODING 8359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +50 +F8 +50 +60 +40 +40 +ENDCHAR +STARTCHAR uni20A8 +ENCODING 8360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C0 +A0 +A0 +D8 +A0 +B0 +A8 +B0 +ENDCHAR +STARTCHAR uni20A9 +ENCODING 8361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +88 +FC +A8 +A8 +D8 +88 +ENDCHAR +STARTCHAR afii57636 +ENCODING 8362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +60 +94 +B4 +B4 +B4 +B4 +A4 +98 +ENDCHAR +STARTCHAR dong +ENCODING 8363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 +BITMAP +08 +3C +08 +78 +88 +88 +88 +78 +00 +78 +ENDCHAR +STARTCHAR Euro +ENCODING 8364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +F0 +40 +F0 +40 +38 +ENDCHAR +STARTCHAR uni20AD +ENCODING 8365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +48 +50 +F8 +50 +48 +48 +ENDCHAR +STARTCHAR uni20AE +ENCODING 8366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +30 +60 +30 +60 +20 +ENDCHAR +STARTCHAR uni20AF +ENCODING 8367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +E0 +50 +48 +48 +48 +E8 +D0 +ENDCHAR +STARTCHAR uni20B0 +ENCODING 8368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +28 +28 +10 +10 +50 +68 +A8 +08 +10 +ENDCHAR +STARTCHAR uni20B1 +ENCODING 8369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +50 +F8 +F8 +50 +60 +40 +40 +ENDCHAR +STARTCHAR uni20B2 +ENCODING 8370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +A8 +A0 +A0 +B8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni20B3 +ENCODING 8371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +F8 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni20B4 +ENCODING 8372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +10 +F8 +20 +F8 +40 +30 +ENDCHAR +STARTCHAR uni20B5 +ENCODING 8373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +A8 +A0 +A0 +A0 +A8 +70 +20 +ENDCHAR +STARTCHAR uni20D0 +ENCODING 8400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +20 +40 +F8 +ENDCHAR +STARTCHAR uni20D1 +ENCODING 8401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +20 +10 +F8 +ENDCHAR +STARTCHAR uni20D2 +ENCODING 8402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 10 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni20D3 +ENCODING 8403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 8 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni20D4 +ENCODING 8404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +B0 +C8 +E0 +ENDCHAR +STARTCHAR uni20D5 +ENCODING 8405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +68 +98 +38 +ENDCHAR +STARTCHAR uni20D6 +ENCODING 8406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +40 +F8 +40 +ENDCHAR +STARTCHAR uni20D7 +ENCODING 8407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +10 +F8 +10 +ENDCHAR +STARTCHAR uni20D8 +ENCODING 8408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR uni20D9 +ENCODING 8409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +30 +48 +E8 +48 +30 +ENDCHAR +STARTCHAR uni20DA +ENCODING 8410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +60 +90 +B8 +90 +60 +ENDCHAR +STARTCHAR uni20DB +ENCODING 8411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +A8 +A8 +ENDCHAR +STARTCHAR uni20DC +ENCODING 8412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 7 +BITMAP +B4 +B4 +ENDCHAR +STARTCHAR uni20DD +ENCODING 8413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +78 +84 +84 +84 +84 +84 +84 +84 +84 +84 +84 +78 +ENDCHAR +STARTCHAR uni20DE +ENCODING 8414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +84 +84 +84 +84 +84 +84 +84 +84 +84 +84 +FC +ENDCHAR +STARTCHAR uni20DF +ENCODING 8415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +48 +84 +84 +84 +84 +84 +84 +84 +84 +48 +30 +ENDCHAR +STARTCHAR uni20E0 +ENCODING 8416 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +78 +C4 +A4 +A4 +A4 +A4 +94 +94 +94 +94 +8C +78 +ENDCHAR +STARTCHAR uni20E1 +ENCODING 8417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +50 +F8 +50 +ENDCHAR +STARTCHAR uni20E2 +ENCODING 8418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +78 +84 +84 +84 +84 +84 +84 +84 +84 +78 +ENDCHAR +STARTCHAR uni20E3 +ENCODING 8419 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +84 +84 +84 +84 +84 +84 +84 +84 +FC +FC +ENDCHAR +STARTCHAR uni20E4 +ENCODING 8420 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +20 +20 +20 +50 +50 +50 +50 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni20E5 +ENCODING 8421 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +40 +20 +20 +10 +08 +08 +ENDCHAR +STARTCHAR uni20E6 +ENCODING 8422 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni20E7 +ENCODING 8423 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +FC +04 +04 +04 +04 +04 +04 +04 +04 +ENDCHAR +STARTCHAR uni20E8 +ENCODING 8424 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 -2 +BITMAP +A8 +ENDCHAR +STARTCHAR uni20E9 +ENCODING 8425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +F8 +88 +ENDCHAR +STARTCHAR uni20EA +ENCODING 8426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +FC +40 +20 +ENDCHAR +STARTCHAR uni20EB +ENCODING 8427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +24 +24 +24 +48 +48 +90 +90 +90 +ENDCHAR +STARTCHAR uni20EC +ENCODING 8428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +F8 +10 +ENDCHAR +STARTCHAR uni20ED +ENCODING 8429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +F8 +40 +ENDCHAR +STARTCHAR uni20EE +ENCODING 8430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +40 +F8 +40 +ENDCHAR +STARTCHAR uni20EF +ENCODING 8431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +10 +F8 +10 +ENDCHAR +STARTCHAR uni20F0 +ENCODING 8432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 7 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni2100 +ENCODING 8448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +68 +A8 +70 +10 +20 +40 +58 +A0 +98 +ENDCHAR +STARTCHAR uni2101 +ENCODING 8449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +68 +A8 +70 +10 +20 +58 +60 +90 +88 +30 +ENDCHAR +STARTCHAR uni2102 +ENCODING 8450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A0 +A0 +A0 +A8 +70 +ENDCHAR +STARTCHAR uni2103 +ENCODING 8451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +A0 +40 +38 +40 +40 +40 +40 +40 +38 +ENDCHAR +STARTCHAR uni2104 +ENCODING 8452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A0 +A0 +A0 +70 +20 +38 +ENDCHAR +STARTCHAR afii61248 +ENCODING 8453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +48 +88 +50 +10 +20 +40 +50 +A8 +90 +ENDCHAR +STARTCHAR uni2106 +ENCODING 8454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +48 +88 +50 +10 +20 +40 +68 +A8 +98 +ENDCHAR +STARTCHAR uni2107 +ENCODING 8455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +88 +80 +60 +80 +88 +70 +ENDCHAR +STARTCHAR uni2108 +ENCODING 8456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni2109 +ENCODING 8457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +A0 +40 +3C +20 +20 +38 +20 +20 +20 +ENDCHAR +STARTCHAR uni210A +ENCODING 8458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +38 +48 +48 +48 +30 +90 +60 +ENDCHAR +STARTCHAR uni210B +ENCODING 8459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +C8 +48 +48 +70 +90 +90 +90 +08 +ENDCHAR +STARTCHAR uni210C +ENCODING 8460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +68 +90 +80 +B0 +C8 +48 +28 +A8 +48 +10 +20 +ENDCHAR +STARTCHAR uni210D +ENCODING 8461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +B8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni210E +ENCODING 8462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +40 +70 +48 +48 +90 +90 +ENDCHAR +STARTCHAR uni210F +ENCODING 8463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +F0 +40 +70 +48 +48 +90 +90 +ENDCHAR +STARTCHAR uni2110 +ENCODING 8464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +38 +08 +08 +10 +10 +20 +A0 +40 +ENDCHAR +STARTCHAR Ifraktur +ENCODING 8465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +88 +48 +10 +10 +08 +C8 +30 +ENDCHAR +STARTCHAR uni2112 +ENCODING 8466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +10 +28 +20 +20 +40 +40 +64 +98 +ENDCHAR +STARTCHAR afii61289 +ENCODING 8467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +50 +50 +20 +60 +90 +ENDCHAR +STARTCHAR uni2114 +ENCODING 8468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +F0 +A0 +B0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR uni2115 +ENCODING 8469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C4 +C4 +A4 +B4 +B4 +AC +A4 +ENDCHAR +STARTCHAR afii61352 +ENCODING 8470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +90 +D8 +B4 +98 +90 +9C +ENDCHAR +STARTCHAR uni2117 +ENCODING 8471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +E8 +D8 +E8 +C8 +88 +70 +ENDCHAR +STARTCHAR weierstrass +ENCODING 8472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +58 +64 +64 +78 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni2119 +ENCODING 8473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +A8 +A8 +B0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni211A +ENCODING 8474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +A8 +A8 +B0 +68 +ENDCHAR +STARTCHAR uni211B +ENCODING 8475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +70 +A0 +90 +90 +ENDCHAR +STARTCHAR Rfraktur +ENCODING 8476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +A8 +68 +30 +30 +A8 +48 +ENDCHAR +STARTCHAR uni211D +ENCODING 8477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +A8 +A8 +B0 +B0 +A8 +A8 +ENDCHAR +STARTCHAR prescription +ENCODING 8478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +A8 +90 +A8 +ENDCHAR +STARTCHAR uni211F +ENCODING 8479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +60 +20 +F0 +A8 +A8 +F0 +A0 +B0 +A8 +20 +ENDCHAR +STARTCHAR uni2120 +ENCODING 8480 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 6 +BITMAP +54 +9C +54 +94 +ENDCHAR +STARTCHAR uni2121 +ENCODING 8481 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +E0 +40 +40 +70 +20 +30 +20 +30 +10 +10 +10 +18 +ENDCHAR +STARTCHAR trademark +ENCODING 8482 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 4 +BITMAP +FC +5C +54 +ENDCHAR +STARTCHAR uni2123 +ENCODING 8483 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +E0 +20 +A8 +A8 +A8 +50 +50 +50 +A0 +A0 +80 +ENDCHAR +STARTCHAR uni2124 +ENCODING 8484 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +28 +48 +50 +90 +A0 +F8 +ENDCHAR +STARTCHAR uni2125 +ENCODING 8485 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +78 +10 +20 +78 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR Omega +ENCODING 8486 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni2127 +ENCODING 8487 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +D8 +50 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2128 +ENCODING 8488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +28 +38 +28 +88 +70 +ENDCHAR +STARTCHAR uni2129 +ENCODING 8489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +C0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni212A +ENCODING 8490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni212B +ENCODING 8491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +20 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni212C +ENCODING 8492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +70 +90 +90 +E0 +ENDCHAR +STARTCHAR uni212D +ENCODING 8493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +74 +90 +90 +A0 +80 +88 +70 +ENDCHAR +STARTCHAR estimated +ENCODING 8494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +D8 +F0 +C0 +70 +ENDCHAR +STARTCHAR uni212F +ENCODING 8495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +48 +70 +80 +60 +ENDCHAR +STARTCHAR uni2130 +ENCODING 8496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +60 +80 +88 +70 +ENDCHAR +STARTCHAR uni2131 +ENCODING 8497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +7C +A0 +20 +78 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2132 +ENCODING 8498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +78 +08 +08 +F8 +ENDCHAR +STARTCHAR uni2133 +ENCODING 8499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C4 +6C +54 +44 +48 +48 +84 +ENDCHAR +STARTCHAR uni2134 +ENCODING 8500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +30 +48 +48 +90 +90 +60 +ENDCHAR +STARTCHAR aleph +ENCODING 8501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +48 +68 +90 +C8 +ENDCHAR +STARTCHAR uni2136 +ENCODING 8502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +10 +10 +10 +F8 +ENDCHAR +STARTCHAR uni2137 +ENCODING 8503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +80 +40 +20 +50 +90 +ENDCHAR +STARTCHAR uni2138 +ENCODING 8504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2139 +ENCODING 8505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +60 +00 +E0 +60 +60 +E0 +ENDCHAR +STARTCHAR uni213A +ENCODING 8506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +04 +7C +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni213B +ENCODING 8507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +E0 +80 +C0 +80 +70 +50 +70 +50 +14 +08 +14 +ENDCHAR +STARTCHAR uni213C +ENCODING 8508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +FC +68 +68 +68 +68 +ENDCHAR +STARTCHAR uni213D +ENCODING 8509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +48 +A8 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni213E +ENCODING 8510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A8 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni213F +ENCODING 8511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2140 +ENCODING 8512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A0 +50 +50 +28 +50 +50 +A0 +F8 +ENDCHAR +STARTCHAR uni2141 +ENCODING 8513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +C8 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni2142 +ENCODING 8514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +08 +08 +08 +08 +ENDCHAR +STARTCHAR uni2143 +ENCODING 8515 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR uni2144 +ENCODING 8516 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni2145 +ENCODING 8517 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +78 +54 +54 +54 +A8 +A8 +A8 +F0 +ENDCHAR +STARTCHAR uni2146 +ENCODING 8518 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +1C +14 +14 +68 +A8 +A8 +78 +ENDCHAR +STARTCHAR uni2147 +ENCODING 8519 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +38 +54 +54 +B8 +A0 +78 +ENDCHAR +STARTCHAR uni2148 +ENCODING 8520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +00 +F0 +50 +50 +A0 +A0 +ENDCHAR +STARTCHAR uni2149 +ENCODING 8521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +00 +78 +28 +28 +50 +50 +50 +E0 +ENDCHAR +STARTCHAR uni214A +ENCODING 8522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +F0 +A8 +A8 +B0 +20 +38 +ENDCHAR +STARTCHAR uni214B +ENCODING 8523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +B0 +48 +E8 +10 +28 +28 +10 +ENDCHAR +STARTCHAR uni214C +ENCODING 8524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +B8 +A4 +F4 +AC +F8 +A8 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni214D +ENCODING 8525 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +A8 +E8 +B0 +10 +20 +48 +50 +88 +90 +ENDCHAR +STARTCHAR uni214E +ENCODING 8526 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +10 +10 +10 +70 +10 +F0 +ENDCHAR +STARTCHAR uni214F +ENCODING 8527 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +70 +70 +70 +A8 +ENDCHAR +STARTCHAR onethird +ENCODING 8531 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +48 +48 +50 +10 +38 +44 +48 +84 +98 +ENDCHAR +STARTCHAR twothirds +ENCODING 8532 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +A8 +48 +F0 +10 +38 +44 +48 +84 +98 +ENDCHAR +STARTCHAR uni2155 +ENCODING 8533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +48 +48 +50 +10 +20 +58 +50 +88 +90 +ENDCHAR +STARTCHAR uni2156 +ENCODING 8534 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +A8 +48 +F0 +10 +20 +58 +50 +88 +90 +ENDCHAR +STARTCHAR uni2157 +ENCODING 8535 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +28 +48 +30 +D0 +20 +58 +50 +88 +90 +ENDCHAR +STARTCHAR uni2158 +ENCODING 8536 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +C8 +E8 +50 +10 +20 +58 +50 +88 +90 +ENDCHAR +STARTCHAR uni2159 +ENCODING 8537 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +48 +48 +50 +10 +28 +50 +58 +94 +88 +ENDCHAR +STARTCHAR uni215A +ENCODING 8538 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +C0 +88 +48 +90 +10 +28 +50 +58 +94 +88 +ENDCHAR +STARTCHAR oneeighth +ENCODING 8539 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +48 +48 +50 +10 +28 +54 +48 +94 +88 +ENDCHAR +STARTCHAR threeeighths +ENCODING 8540 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +C0 +28 +48 +30 +D0 +28 +54 +48 +94 +88 +ENDCHAR +STARTCHAR fiveeighths +ENCODING 8541 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +C0 +88 +48 +90 +10 +28 +54 +48 +94 +88 +ENDCHAR +STARTCHAR seveneighths +ENCODING 8542 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +E0 +28 +48 +50 +10 +28 +54 +48 +94 +88 +ENDCHAR +STARTCHAR uni215F +ENCODING 8543 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +48 +48 +50 +10 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2160 +ENCODING 8544 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2161 +ENCODING 8545 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2162 +ENCODING 8546 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2163 +ENCODING 8547 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +90 +90 +90 +ENDCHAR +STARTCHAR uni2164 +ENCODING 8548 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +88 +88 +50 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2165 +ENCODING 8549 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +48 +48 +48 +ENDCHAR +STARTCHAR uni2166 +ENCODING 8550 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +D4 +D4 +D4 +D4 +54 +54 +54 +ENDCHAR +STARTCHAR uni2167 +ENCODING 8551 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +DC +DC +DC +DC +5C +5C +5C +ENDCHAR +STARTCHAR uni2168 +ENCODING 8552 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +90 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2169 +ENCODING 8553 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR uni216A +ENCODING 8554 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +48 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni216B +ENCODING 8555 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +AC +AC +AC +4C +AC +AC +AC +ENDCHAR +STARTCHAR uni216C +ENCODING 8556 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni216D +ENCODING 8557 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR uni216E +ENCODING 8558 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +ENDCHAR +STARTCHAR uni216F +ENCODING 8559 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +D8 +A8 +88 +88 +88 +ENDCHAR +STARTCHAR uni2170 +ENCODING 8560 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2171 +ENCODING 8561 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +00 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2172 +ENCODING 8562 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +00 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2173 +ENCODING 8563 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +00 +A8 +A8 +A8 +90 +90 +ENDCHAR +STARTCHAR uni2174 +ENCODING 8564 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni2175 +ENCODING 8565 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +00 +A8 +A8 +A8 +48 +48 +ENDCHAR +STARTCHAR uni2176 +ENCODING 8566 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +00 +D4 +D4 +D4 +D4 +54 +ENDCHAR +STARTCHAR uni2177 +ENCODING 8567 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +1C +00 +DC +DC +DC +DC +5C +ENDCHAR +STARTCHAR uni2178 +ENCODING 8568 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +00 +A8 +A8 +90 +A8 +A8 +ENDCHAR +STARTCHAR uni2179 +ENCODING 8569 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni217A +ENCODING 8570 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +00 +A8 +A8 +48 +A8 +A8 +ENDCHAR +STARTCHAR uni217B +ENCODING 8571 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +00 +AC +AC +4C +AC +AC +ENDCHAR +STARTCHAR uni217C +ENCODING 8572 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni217D +ENCODING 8573 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR uni217E +ENCODING 8574 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +78 +88 +88 +78 +ENDCHAR +STARTCHAR uni217F +ENCODING 8575 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D0 +A8 +A8 +A8 +88 +ENDCHAR +STARTCHAR uni2180 +ENCODING 8576 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2181 +ENCODING 8577 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +E8 +A8 +E8 +88 +F0 +ENDCHAR +STARTCHAR uni2182 +ENCODING 8578 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +F8 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni2183 +ENCODING 8579 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni2184 +ENCODING 8580 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +60 +90 +10 +90 +60 +ENDCHAR +STARTCHAR uni2185 +ENCODING 8581 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +70 +88 +80 +80 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni2186 +ENCODING 8582 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2187 +ENCODING 8583 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +F8 +FC +FC +9C +FC +FC +F8 +ENDCHAR +STARTCHAR uni2188 +ENCODING 8584 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +F8 +A8 +F8 +F8 +70 +ENDCHAR +STARTCHAR arrowleft +ENCODING 8592 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +40 +F8 +40 +20 +ENDCHAR +STARTCHAR arrowup +ENCODING 8593 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR arrowright +ENCODING 8594 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +10 +F8 +10 +20 +ENDCHAR +STARTCHAR arrowdown +ENCODING 8595 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR arrowboth +ENCODING 8596 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +50 +F8 +50 +ENDCHAR +STARTCHAR arrowupdn +ENCODING 8597 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2196 +ENCODING 8598 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +C0 +F0 +E0 +A0 +20 +10 +10 +08 +08 +ENDCHAR +STARTCHAR uni2197 +ENCODING 8599 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +18 +78 +38 +28 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2198 +ENCODING 8600 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +40 +40 +20 +28 +38 +78 +18 +ENDCHAR +STARTCHAR uni2199 +ENCODING 8601 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +08 +10 +10 +20 +A0 +E0 +F0 +C0 +ENDCHAR +STARTCHAR uni219A +ENCODING 8602 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +48 +FC +50 +30 +ENDCHAR +STARTCHAR uni219B +ENCODING 8603 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +28 +FC +48 +50 +ENDCHAR +STARTCHAR uni219C +ENCODING 8604 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +C0 +D8 +64 +ENDCHAR +STARTCHAR uni219D +ENCODING 8605 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +0C +6C +98 +ENDCHAR +STARTCHAR uni219E +ENCODING 8606 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +50 +FC +50 +28 +ENDCHAR +STARTCHAR uni219F +ENCODING 8607 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +A8 +70 +A8 +20 +20 +20 +ENDCHAR +STARTCHAR uni21A0 +ENCODING 8608 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +50 +28 +FC +28 +50 +ENDCHAR +STARTCHAR uni21A1 +ENCODING 8609 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +A8 +70 +A8 +70 +20 +ENDCHAR +STARTCHAR uni21A2 +ENCODING 8610 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +24 +48 +F0 +48 +24 +ENDCHAR +STARTCHAR uni21A3 +ENCODING 8611 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +90 +48 +3C +48 +90 +ENDCHAR +STARTCHAR uni21A4 +ENCODING 8612 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +28 +48 +F8 +48 +28 +ENDCHAR +STARTCHAR uni21A5 +ENCODING 8613 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni21A6 +ENCODING 8614 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +A0 +90 +F8 +90 +A0 +ENDCHAR +STARTCHAR uni21A7 +ENCODING 8615 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR arrowupdnbse +ENCODING 8616 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +A8 +70 +F8 +ENDCHAR +STARTCHAR uni21A9 +ENCODING 8617 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +44 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21AA +ENCODING 8618 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +50 +88 +7C +08 +10 +ENDCHAR +STARTCHAR uni21AB +ENCODING 8619 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +4C +FC +48 +28 +ENDCHAR +STARTCHAR uni21AC +ENCODING 8620 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +C8 +FC +48 +50 +ENDCHAR +STARTCHAR uni21AD +ENCODING 8621 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +48 +DC +EC +48 +ENDCHAR +STARTCHAR uni21AE +ENCODING 8622 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +08 +58 +FC +68 +40 +ENDCHAR +STARTCHAR uni21AF +ENCODING 8623 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +90 +B0 +D0 +90 +38 +10 +ENDCHAR +STARTCHAR uni21B0 +ENCODING 8624 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +40 +F8 +48 +28 +08 +08 +08 +ENDCHAR +STARTCHAR uni21B1 +ENCODING 8625 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +F8 +90 +A0 +80 +80 +80 +ENDCHAR +STARTCHAR uni21B2 +ENCODING 8626 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +08 +08 +28 +48 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21B3 +ENCODING 8627 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +A0 +90 +F8 +10 +20 +ENDCHAR +STARTCHAR uni21B4 +ENCODING 8628 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +F0 +10 +38 +10 +ENDCHAR +STARTCHAR carriagereturn +ENCODING 8629 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +08 +48 +F8 +40 +ENDCHAR +STARTCHAR uni21B6 +ENCODING 8630 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +30 +48 +48 +E8 +48 +ENDCHAR +STARTCHAR uni21B7 +ENCODING 8631 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +60 +90 +90 +B8 +10 +ENDCHAR +STARTCHAR uni21B8 +ENCODING 8632 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +80 +E0 +C0 +A0 +20 +10 +10 +ENDCHAR +STARTCHAR uni21B9 +ENCODING 8633 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A0 +C0 +F8 +C0 +A8 +18 +F8 +18 +28 +ENDCHAR +STARTCHAR uni21BA +ENCODING 8634 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +30 +A8 +88 +88 +70 +ENDCHAR +STARTCHAR uni21BB +ENCODING 8635 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +E0 +60 +A8 +88 +88 +70 +ENDCHAR +STARTCHAR uni21BC +ENCODING 8636 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +20 +40 +F8 +ENDCHAR +STARTCHAR uni21BD +ENCODING 8637 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +40 +20 +ENDCHAR +STARTCHAR uni21BE +ENCODING 8638 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 2 0 +BITMAP +80 +C0 +A0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni21BF +ENCODING 8639 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 0 +BITMAP +20 +60 +A0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni21C0 +ENCODING 8640 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +20 +10 +F8 +ENDCHAR +STARTCHAR uni21C1 +ENCODING 8641 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +10 +20 +ENDCHAR +STARTCHAR uni21C2 +ENCODING 8642 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 2 0 +BITMAP +80 +80 +80 +80 +80 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni21C3 +ENCODING 8643 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 0 +BITMAP +20 +20 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni21C4 +ENCODING 8644 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +10 +F8 +10 +20 +40 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21C5 +ENCODING 8645 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +F0 +50 +50 +50 +50 +78 +50 +ENDCHAR +STARTCHAR uni21C6 +ENCODING 8646 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +40 +F8 +40 +20 +10 +F8 +10 +20 +ENDCHAR +STARTCHAR uni21C7 +ENCODING 8647 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +40 +F8 +40 +20 +40 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21C8 +ENCODING 8648 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +F8 +50 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni21C9 +ENCODING 8649 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +10 +F8 +10 +20 +10 +F8 +10 +20 +ENDCHAR +STARTCHAR uni21CA +ENCODING 8650 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +50 +50 +50 +50 +50 +F8 +50 +ENDCHAR +STARTCHAR uni21CB +ENCODING 8651 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +40 +F8 +00 +F8 +10 +20 +ENDCHAR +STARTCHAR uni21CC +ENCODING 8652 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +10 +F8 +00 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21CD +ENCODING 8653 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +28 +7C +90 +7C +20 +50 +ENDCHAR +STARTCHAR uni21CE +ENCODING 8654 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +08 +58 +FC +A4 +FC +68 +40 +ENDCHAR +STARTCHAR uni21CF +ENCODING 8655 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +50 +F8 +24 +F8 +10 +28 +ENDCHAR +STARTCHAR arrowdblleft +ENCODING 8656 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +78 +80 +78 +20 +ENDCHAR +STARTCHAR arrowdblup +ENCODING 8657 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +D8 +50 +50 +50 +50 +ENDCHAR +STARTCHAR arrowdblright +ENCODING 8658 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +F0 +08 +F0 +20 +ENDCHAR +STARTCHAR arrowdbldown +ENCODING 8659 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +50 +50 +D8 +50 +20 +ENDCHAR +STARTCHAR arrowdblboth +ENCODING 8660 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +48 +FC +84 +FC +48 +ENDCHAR +STARTCHAR uni21D5 +ENCODING 8661 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +D8 +50 +50 +D8 +50 +20 +ENDCHAR +STARTCHAR uni21D6 +ENCODING 8662 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +F8 +A0 +D0 +A8 +94 +08 +ENDCHAR +STARTCHAR uni21D7 +ENCODING 8663 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +7C +14 +2C +54 +A4 +40 +ENDCHAR +STARTCHAR uni21D8 +ENCODING 8664 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +A4 +54 +2C +14 +7C +ENDCHAR +STARTCHAR uni21D9 +ENCODING 8665 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +08 +94 +A8 +D0 +A0 +F8 +ENDCHAR +STARTCHAR uni21DA +ENCODING 8666 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +3C +40 +FC +40 +3C +10 +ENDCHAR +STARTCHAR uni21DB +ENCODING 8667 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +F0 +08 +FC +08 +F0 +20 +ENDCHAR +STARTCHAR uni21DC +ENCODING 8668 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +40 +E8 +D4 +40 +ENDCHAR +STARTCHAR uni21DD +ENCODING 8669 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +08 +5C +AC +08 +ENDCHAR +STARTCHAR uni21DE +ENCODING 8670 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +A8 +20 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni21DF +ENCODING 8671 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +70 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni21E0 +ENCODING 8672 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +D4 +40 +20 +ENDCHAR +STARTCHAR uni21E1 +ENCODING 8673 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +88 +20 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni21E2 +ENCODING 8674 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +08 +AC +08 +10 +ENDCHAR +STARTCHAR uni21E3 +ENCODING 8675 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +20 +00 +20 +88 +70 +20 +ENDCHAR +STARTCHAR uni21E4 +ENCODING 8676 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +A0 +C0 +F8 +C0 +A0 +ENDCHAR +STARTCHAR uni21E5 +ENCODING 8677 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +28 +18 +F8 +18 +28 +ENDCHAR +STARTCHAR uni21E6 +ENCODING 8678 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +78 +88 +78 +20 +ENDCHAR +STARTCHAR uni21E7 +ENCODING 8679 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +D8 +50 +50 +50 +50 +70 +ENDCHAR +STARTCHAR uni21E8 +ENCODING 8680 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +F0 +88 +F0 +20 +ENDCHAR +STARTCHAR uni21E9 +ENCODING 8681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +50 +50 +50 +50 +D8 +50 +20 +ENDCHAR +STARTCHAR uni21EA +ENCODING 8682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +D8 +50 +70 +00 +70 +50 +70 +ENDCHAR +STARTCHAR uni21EB +ENCODING 8683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +D8 +50 +50 +50 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni21EC +ENCODING 8684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +F8 +88 +50 +50 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni21ED +ENCODING 8685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +F8 +70 +70 +70 +F8 +A8 +F8 +ENDCHAR +STARTCHAR uni21EE +ENCODING 8686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +D8 +50 +D8 +50 +50 +50 +70 +ENDCHAR +STARTCHAR uni21EF +ENCODING 8687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +D8 +50 +D8 +50 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni21F0 +ENCODING 8688 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +A0 +F0 +88 +F0 +A0 +ENDCHAR +STARTCHAR uni21F1 +ENCODING 8689 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +80 +B0 +A0 +90 +10 +08 +08 +ENDCHAR +STARTCHAR uni21F2 +ENCODING 8690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +40 +48 +28 +68 +08 +F8 +ENDCHAR +STARTCHAR uni21F3 +ENCODING 8691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +D8 +50 +50 +D8 +50 +20 +ENDCHAR +STARTCHAR uni21F4 +ENCODING 8692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +68 +FC +68 +10 +ENDCHAR +STARTCHAR uni21F5 +ENCODING 8693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +78 +50 +50 +50 +50 +F0 +50 +ENDCHAR +STARTCHAR uni21F6 +ENCODING 8694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +10 +F8 +10 +10 +F8 +10 +10 +F8 +10 +ENDCHAR +STARTCHAR uni21F7 +ENCODING 8695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +48 +FC +48 +28 +ENDCHAR +STARTCHAR uni21F8 +ENCODING 8696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +50 +48 +FC +48 +50 +ENDCHAR +STARTCHAR uni21F9 +ENCODING 8697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +78 +FC +78 +30 +ENDCHAR +STARTCHAR uni21FA +ENCODING 8698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +38 +58 +FC +58 +38 +ENDCHAR +STARTCHAR uni21FB +ENCODING 8699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +70 +68 +FC +68 +70 +ENDCHAR +STARTCHAR uni21FC +ENCODING 8700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +78 +FC +78 +30 +ENDCHAR +STARTCHAR uni21FD +ENCODING 8701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +60 +B8 +60 +20 +ENDCHAR +STARTCHAR uni21FE +ENCODING 8702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +30 +E8 +30 +20 +ENDCHAR +STARTCHAR uni21FF +ENCODING 8703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +78 +B4 +78 +30 +ENDCHAR +STARTCHAR universal +ENCODING 8704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +F8 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni2201 +ENCODING 8705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR partialdiff +ENCODING 8706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +60 +90 +10 +70 +90 +90 +60 +ENDCHAR +STARTCHAR existential +ENCODING 8707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +78 +08 +08 +F8 +ENDCHAR +STARTCHAR uni2204 +ENCODING 8708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +10 +10 +F8 +18 +28 +78 +28 +48 +F8 +40 +40 +ENDCHAR +STARTCHAR emptyset +ENCODING 8709 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +10 +70 +98 +A8 +C8 +70 +40 +40 +ENDCHAR +STARTCHAR Delta +ENCODING 8710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +F8 +ENDCHAR +STARTCHAR gradient +ENCODING 8711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR element +ENCODING 8712 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +80 +F0 +80 +40 +38 +ENDCHAR +STARTCHAR notelement +ENCODING 8713 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +20 +20 +38 +60 +A0 +F0 +A0 +60 +38 +20 +20 +ENDCHAR +STARTCHAR uni220A +ENCODING 8714 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 1 +BITMAP +70 +80 +E0 +80 +70 +ENDCHAR +STARTCHAR suchthat +ENCODING 8715 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +10 +08 +78 +08 +10 +E0 +ENDCHAR +STARTCHAR uni220C +ENCODING 8716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +20 +20 +E0 +30 +28 +78 +28 +30 +E0 +20 +20 +ENDCHAR +STARTCHAR uni220D +ENCODING 8717 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 1 +BITMAP +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR uni220E +ENCODING 8718 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR product +ENCODING 8719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +FC +48 +48 +48 +48 +48 +48 +48 +EC +ENDCHAR +STARTCHAR uni2210 +ENCODING 8720 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +EC +48 +48 +48 +48 +48 +48 +48 +FC +ENDCHAR +STARTCHAR summation +ENCODING 8721 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F8 +80 +40 +20 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR minus +ENCODING 8722 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR uni2213 +ENCODING 8723 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2214 +ENCODING 8724 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR fraction +ENCODING 8725 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +10 +20 +40 +40 +80 +ENDCHAR +STARTCHAR uni2216 +ENCODING 8726 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +40 +20 +10 +10 +08 +ENDCHAR +STARTCHAR asteriskmath +ENCODING 8727 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +A8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2218 +ENCODING 8728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 2 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR periodcentered +ENCODING 8729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR radical +ENCODING 8730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +0C +08 +08 +08 +08 +10 +D0 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni221B +ENCODING 8731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +04 +C4 +24 +48 +28 +C8 +10 +90 +90 +60 +60 +20 +ENDCHAR +STARTCHAR uni221C +ENCODING 8732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +04 +84 +A4 +E8 +28 +28 +10 +90 +90 +60 +60 +20 +ENDCHAR +STARTCHAR proportional +ENCODING 8733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +58 +A0 +A0 +58 +ENDCHAR +STARTCHAR infinity +ENCODING 8734 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +50 +A8 +A8 +50 +ENDCHAR +STARTCHAR orthogonal +ENCODING 8735 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR angle +ENCODING 8736 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR uni2221 +ENCODING 8737 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +88 +50 +20 +50 +F8 +10 +10 +ENDCHAR +STARTCHAR uni2222 +ENCODING 8738 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +10 +30 +48 +88 +48 +30 +10 +08 +ENDCHAR +STARTCHAR uni2223 +ENCODING 8739 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 9 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2224 +ENCODING 8740 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +28 +30 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR uni2225 +ENCODING 8741 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2226 +ENCODING 8742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +50 +50 +58 +50 +70 +50 +D0 +50 +50 +ENDCHAR +STARTCHAR logicaland +ENCODING 8743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +20 +50 +50 +88 +ENDCHAR +STARTCHAR logicalor +ENCODING 8744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR intersection +ENCODING 8745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +88 +ENDCHAR +STARTCHAR union +ENCODING 8746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR integral +ENCODING 8747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +10 +28 +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni222C +ENCODING 8748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +24 +48 +48 +48 +48 +48 +48 +48 +48 +48 +90 +ENDCHAR +STARTCHAR uni222D +ENCODING 8749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +54 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +D0 +ENDCHAR +STARTCHAR uni222E +ENCODING 8750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +10 +28 +20 +70 +A8 +A8 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR uni222F +ENCODING 8751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +24 +48 +48 +78 +CC +CC +CC +78 +48 +48 +90 +ENDCHAR +STARTCHAR uni2230 +ENCODING 8752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +54 +A8 +A8 +F8 +AC +AC +AC +F8 +A8 +A8 +D0 +ENDCHAR +STARTCHAR uni2231 +ENCODING 8753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +74 +AC +3C +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2232 +ENCODING 8754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +74 +AC +BC +A8 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2233 +ENCODING 8755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +70 +A8 +BC +AC +74 +20 +A0 +40 +ENDCHAR +STARTCHAR therefore +ENCODING 8756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +20 +00 +00 +88 +ENDCHAR +STARTCHAR uni2235 +ENCODING 8757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +88 +00 +00 +20 +ENDCHAR +STARTCHAR uni2236 +ENCODING 8758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 4 2 1 +BITMAP +80 +00 +00 +80 +ENDCHAR +STARTCHAR uni2237 +ENCODING 8759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +90 +00 +00 +90 +ENDCHAR +STARTCHAR uni2238 +ENCODING 8760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +20 +00 +F8 +ENDCHAR +STARTCHAR uni2239 +ENCODING 8761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +00 +E0 +00 +08 +ENDCHAR +STARTCHAR uni223A +ENCODING 8762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +00 +F8 +00 +88 +ENDCHAR +STARTCHAR uni223B +ENCODING 8763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +00 +68 +B0 +00 +40 +ENDCHAR +STARTCHAR similar +ENCODING 8764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni223D +ENCODING 8765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +B0 +68 +ENDCHAR +STARTCHAR uni223E +ENCODING 8766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 2 +BITMAP +48 +A4 +94 +48 +ENDCHAR +STARTCHAR uni223F +ENCODING 8767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +A0 +A0 +A8 +28 +28 +10 +ENDCHAR +STARTCHAR uni2240 +ENCODING 8768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +40 +20 +20 +20 +40 +80 +80 +80 +40 +ENDCHAR +STARTCHAR uni2241 +ENCODING 8769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni2242 +ENCODING 8770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +F8 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2243 +ENCODING 8771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +68 +B0 +00 +F8 +ENDCHAR +STARTCHAR uni2244 +ENCODING 8772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +68 +B0 +20 +F8 +20 +ENDCHAR +STARTCHAR congruent +ENCODING 8773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +68 +B0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2246 +ENCODING 8774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +68 +B0 +00 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2247 +ENCODING 8775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +68 +B0 +20 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR approxequal +ENCODING 8776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2249 +ENCODING 8777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +68 +B0 +20 +68 +B0 +20 +ENDCHAR +STARTCHAR uni224A +ENCODING 8778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +68 +B0 +00 +68 +B0 +00 +F8 +ENDCHAR +STARTCHAR uni224B +ENCODING 8779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni224C +ENCODING 8780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni224D +ENCODING 8781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +70 +00 +70 +88 +ENDCHAR +STARTCHAR uni224E +ENCODING 8782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +D8 +00 +D8 +20 +ENDCHAR +STARTCHAR uni224F +ENCODING 8783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +20 +D8 +00 +F8 +ENDCHAR +STARTCHAR uni2250 +ENCODING 8784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2251 +ENCODING 8785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +F8 +00 +F8 +00 +20 +ENDCHAR +STARTCHAR uni2252 +ENCODING 8786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +00 +F8 +00 +F8 +00 +08 +ENDCHAR +STARTCHAR uni2253 +ENCODING 8787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +00 +F8 +00 +F8 +00 +80 +ENDCHAR +STARTCHAR uni2254 +ENCODING 8788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +B8 +00 +B8 +ENDCHAR +STARTCHAR uni2255 +ENCODING 8789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +E8 +00 +E8 +ENDCHAR +STARTCHAR uni2256 +ENCODING 8790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +F8 +50 +F8 +ENDCHAR +STARTCHAR uni2257 +ENCODING 8791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +20 +50 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2258 +ENCODING 8792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +70 +88 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2259 +ENCODING 8793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +50 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225A +ENCODING 8794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +50 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225B +ENCODING 8795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +70 +F8 +70 +A8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225C +ENCODING 8796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +88 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225D +ENCODING 8797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 1 +BITMAP +4C +F8 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225E +ENCODING 8798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +D0 +A8 +A8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225F +ENCODING 8799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +10 +20 +00 +20 +F8 +00 +F8 +ENDCHAR +STARTCHAR notequal +ENCODING 8800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +10 +F8 +20 +F8 +40 +40 +ENDCHAR +STARTCHAR equivalence +ENCODING 8801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2262 +ENCODING 8802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +F8 +20 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2263 +ENCODING 8803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR lessequal +ENCODING 8804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +18 +60 +80 +60 +18 +00 +F8 +ENDCHAR +STARTCHAR greaterequal +ENCODING 8805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +30 +08 +30 +C0 +00 +F8 +ENDCHAR +STARTCHAR uni2266 +ENCODING 8806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +30 +C0 +30 +08 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2267 +ENCODING 8807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +60 +18 +60 +80 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2268 +ENCODING 8808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +08 +30 +C0 +30 +18 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2269 +ENCODING 8809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +80 +60 +18 +60 +90 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni226A +ENCODING 8810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +28 +50 +A0 +50 +28 +ENDCHAR +STARTCHAR uni226B +ENCODING 8811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +A0 +50 +28 +50 +A0 +ENDCHAR +STARTCHAR uni226C +ENCODING 8812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +A0 +40 +A0 +A0 +A0 +A0 +40 +A0 +ENDCHAR +STARTCHAR uni226D +ENCODING 8813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +20 +70 +A8 +20 +ENDCHAR +STARTCHAR uni226E +ENCODING 8814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +28 +30 +20 +60 +A0 +60 +20 +30 +28 +ENDCHAR +STARTCHAR uni226F +ENCODING 8815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A0 +60 +20 +30 +28 +30 +20 +60 +A0 +ENDCHAR +STARTCHAR uni2270 +ENCODING 8816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +38 +60 +A0 +60 +38 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2271 +ENCODING 8817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +E0 +30 +28 +30 +E0 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2272 +ENCODING 8818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +60 +80 +60 +18 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2273 +ENCODING 8819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C0 +30 +08 +30 +C0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2274 +ENCODING 8820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +38 +60 +A0 +60 +38 +20 +68 +B0 +20 +ENDCHAR +STARTCHAR uni2275 +ENCODING 8821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +E0 +30 +28 +30 +E0 +20 +68 +B0 +20 +ENDCHAR +STARTCHAR uni2276 +ENCODING 8822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +18 +60 +80 +60 +18 +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR uni2277 +ENCODING 8823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +C0 +30 +08 +30 +C0 +18 +60 +80 +60 +18 +ENDCHAR +STARTCHAR uni2278 +ENCODING 8824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +18 +70 +90 +60 +38 +E0 +30 +48 +70 +C0 +40 +ENDCHAR +STARTCHAR uni2279 +ENCODING 8825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +D0 +30 +18 +30 +E0 +38 +60 +C0 +60 +58 +40 +ENDCHAR +STARTCHAR uni227A +ENCODING 8826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +10 +E0 +10 +08 +ENDCHAR +STARTCHAR uni227B +ENCODING 8827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +80 +40 +38 +40 +80 +ENDCHAR +STARTCHAR uni227C +ENCODING 8828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +E0 +10 +E8 +10 +08 +ENDCHAR +STARTCHAR uni227D +ENCODING 8829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +38 +40 +B8 +40 +80 +ENDCHAR +STARTCHAR uni227E +ENCODING 8830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +10 +E0 +10 +08 +00 +68 +B0 +ENDCHAR +STARTCHAR uni227F +ENCODING 8831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +40 +38 +40 +80 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2280 +ENCODING 8832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +28 +30 +E0 +30 +28 +20 +ENDCHAR +STARTCHAR uni2281 +ENCODING 8833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A0 +60 +38 +60 +A0 +20 +ENDCHAR +STARTCHAR propersubset +ENCODING 8834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +78 +80 +80 +80 +78 +ENDCHAR +STARTCHAR propersuperset +ENCODING 8835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F0 +08 +08 +08 +F0 +ENDCHAR +STARTCHAR notsubset +ENCODING 8836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +78 +A0 +A0 +A0 +78 +40 +ENDCHAR +STARTCHAR uni2285 +ENCODING 8837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +F0 +28 +28 +28 +F0 +40 +ENDCHAR +STARTCHAR reflexsubset +ENCODING 8838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +80 +80 +80 +78 +00 +F8 +ENDCHAR +STARTCHAR reflexsuperset +ENCODING 8839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +08 +08 +08 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni2288 +ENCODING 8840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +78 +A0 +A0 +A0 +78 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2289 +ENCODING 8841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +F0 +28 +28 +28 +F0 +20 +F8 +20 +ENDCHAR +STARTCHAR uni228A +ENCODING 8842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +78 +80 +80 +80 +78 +10 +F8 +40 +ENDCHAR +STARTCHAR uni228B +ENCODING 8843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +F0 +08 +08 +08 +F0 +10 +F8 +40 +ENDCHAR +STARTCHAR uni228C +ENCODING 8844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +A8 +E8 +F8 +E8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni228D +ENCODING 8845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +A8 +88 +88 +70 +ENDCHAR +STARTCHAR uni228E +ENCODING 8846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +A8 +F8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni228F +ENCODING 8847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni2290 +ENCODING 8848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR uni2291 +ENCODING 8849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +80 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2292 +ENCODING 8850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +08 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2293 +ENCODING 8851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni2294 +ENCODING 8852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR circleplus +ENCODING 8853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni2296 +ENCODING 8854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR circlemultiply +ENCODING 8855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +D8 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni2298 +ENCODING 8856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +98 +A8 +C8 +70 +ENDCHAR +STARTCHAR uni2299 +ENCODING 8857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni229A +ENCODING 8858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni229B +ENCODING 8859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +D8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni229C +ENCODING 8860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +F8 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni229D +ENCODING 8861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni229E +ENCODING 8862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +A8 +F8 +A8 +F8 +ENDCHAR +STARTCHAR uni229F +ENCODING 8863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +88 +F8 +88 +F8 +ENDCHAR +STARTCHAR uni22A0 +ENCODING 8864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +D8 +A8 +D8 +F8 +ENDCHAR +STARTCHAR uni22A1 +ENCODING 8865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni22A2 +ENCODING 8866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +80 +F8 +80 +80 +80 +ENDCHAR +STARTCHAR uni22A3 +ENCODING 8867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +F8 +08 +08 +08 +ENDCHAR +STARTCHAR uni22A4 +ENCODING 8868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR perpendicular +ENCODING 8869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni22A6 +ENCODING 8870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +80 +80 +80 +E0 +80 +80 +80 +ENDCHAR +STARTCHAR uni22A7 +ENCODING 8871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +80 +80 +E0 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni22A8 +ENCODING 8872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +F8 +80 +F8 +80 +80 +ENDCHAR +STARTCHAR uni22A9 +ENCODING 8873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +A0 +B8 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni22AA +ENCODING 8874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A8 +A8 +A8 +AC +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni22AB +ENCODING 8875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +A0 +BC +A0 +BC +A0 +A0 +ENDCHAR +STARTCHAR uni22AC +ENCODING 8876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +90 +90 +F8 +A0 +A0 +80 +ENDCHAR +STARTCHAR uni22AD +ENCODING 8877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +90 +F8 +A0 +F8 +C0 +80 +ENDCHAR +STARTCHAR uni22AE +ENCODING 8878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +A8 +A8 +BC +B0 +B0 +A0 +ENDCHAR +STARTCHAR uni22AF +ENCODING 8879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A4 +A4 +BC +A8 +BC +B0 +B0 +ENDCHAR +STARTCHAR uni22B0 +ENCODING 8880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +08 +10 +E0 +10 +08 +10 +ENDCHAR +STARTCHAR uni22B1 +ENCODING 8881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +80 +40 +38 +40 +80 +40 +ENDCHAR +STARTCHAR uni22B2 +ENCODING 8882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +18 +68 +88 +68 +18 +ENDCHAR +STARTCHAR uni22B3 +ENCODING 8883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +C0 +B0 +88 +B0 +C0 +ENDCHAR +STARTCHAR uni22B4 +ENCODING 8884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +18 +68 +88 +68 +18 +00 +F8 +ENDCHAR +STARTCHAR uni22B5 +ENCODING 8885 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +B0 +88 +B0 +C0 +00 +F8 +ENDCHAR +STARTCHAR uni22B6 +ENCODING 8886 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +50 +B8 +50 +ENDCHAR +STARTCHAR uni22B7 +ENCODING 8887 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +50 +E8 +50 +ENDCHAR +STARTCHAR uni22B8 +ENCODING 8888 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +10 +E8 +10 +ENDCHAR +STARTCHAR uni22B9 +ENCODING 8889 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +D8 +20 +20 +ENDCHAR +STARTCHAR uni22BA +ENCODING 8890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni22BB +ENCODING 8891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +50 +20 +00 +F8 +ENDCHAR +STARTCHAR uni22BC +ENCODING 8892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +00 +20 +50 +50 +88 +ENDCHAR +STARTCHAR uni22BD +ENCODING 8893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +00 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni22BE +ENCODING 8894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +80 +C0 +A0 +F8 +ENDCHAR +STARTCHAR uni22BF +ENCODING 8895 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +18 +28 +48 +F8 +ENDCHAR +STARTCHAR uni22C0 +ENCODING 8896 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +50 +50 +50 +88 +88 +88 +ENDCHAR +STARTCHAR uni22C1 +ENCODING 8897 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +88 +88 +88 +50 +50 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni22C2 +ENCODING 8898 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +88 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni22C3 +ENCODING 8899 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +88 +88 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni22C4 +ENCODING 8900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +88 +50 +20 +20 +ENDCHAR +STARTCHAR dotmath +ENCODING 8901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 3 +BITMAP +80 +ENDCHAR +STARTCHAR uni22C6 +ENCODING 8902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni22C7 +ENCODING 8903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +88 +50 +F8 +50 +88 +20 +ENDCHAR +STARTCHAR uni22C8 +ENCODING 8904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +D8 +A8 +D8 +88 +ENDCHAR +STARTCHAR uni22C9 +ENCODING 8905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +D0 +A0 +D0 +88 +ENDCHAR +STARTCHAR uni22CA +ENCODING 8906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +58 +28 +58 +88 +ENDCHAR +STARTCHAR uni22CB +ENCODING 8907 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +80 +40 +20 +50 +88 +ENDCHAR +STARTCHAR uni22CC +ENCODING 8908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +10 +20 +50 +88 +ENDCHAR +STARTCHAR uni22CD +ENCODING 8909 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +B0 +68 +00 +F8 +ENDCHAR +STARTCHAR uni22CE +ENCODING 8910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni22CF +ENCODING 8911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +50 +50 +88 +ENDCHAR +STARTCHAR uni22D0 +ENCODING 8912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +98 +A0 +98 +40 +38 +ENDCHAR +STARTCHAR uni22D1 +ENCODING 8913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +10 +C8 +28 +C8 +10 +E0 +ENDCHAR +STARTCHAR uni22D2 +ENCODING 8914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni22D3 +ENCODING 8915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni22D4 +ENCODING 8916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni22D5 +ENCODING 8917 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +50 +F8 +50 +50 +F8 +50 +50 +ENDCHAR +STARTCHAR uni22D6 +ENCODING 8918 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +18 +60 +88 +60 +18 +ENDCHAR +STARTCHAR uni22D7 +ENCODING 8919 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +C0 +30 +88 +30 +C0 +ENDCHAR +STARTCHAR uni22D8 +ENCODING 8920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +28 +54 +A8 +54 +28 +14 +ENDCHAR +STARTCHAR uni22D9 +ENCODING 8921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +50 +A8 +54 +A8 +50 +A0 +ENDCHAR +STARTCHAR uni22DA +ENCODING 8922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +18 +60 +80 +60 +18 +00 +F8 +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR uni22DB +ENCODING 8923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +30 +08 +30 +C0 +00 +F8 +18 +60 +80 +60 +18 +ENDCHAR +STARTCHAR uni22DC +ENCODING 8924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +18 +60 +80 +60 +18 +ENDCHAR +STARTCHAR uni22DD +ENCODING 8925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR uni22DE +ENCODING 8926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +E8 +10 +E0 +10 +08 +ENDCHAR +STARTCHAR uni22DF +ENCODING 8927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +B8 +40 +38 +40 +80 +ENDCHAR +STARTCHAR uni22E0 +ENCODING 8928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +28 +30 +E0 +30 +E8 +30 +28 +20 +ENDCHAR +STARTCHAR uni22E1 +ENCODING 8929 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +A0 +60 +38 +60 +B8 +60 +A0 +20 +ENDCHAR +STARTCHAR uni22E2 +ENCODING 8930 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +F8 +A0 +A0 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR uni22E3 +ENCODING 8931 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +F8 +28 +28 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR uni22E4 +ENCODING 8932 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F8 +10 +F8 +40 +ENDCHAR +STARTCHAR uni22E5 +ENCODING 8933 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +F8 +10 +F8 +40 +ENDCHAR +STARTCHAR uni22E6 +ENCODING 8934 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +18 +60 +80 +60 +38 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni22E7 +ENCODING 8935 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +C0 +30 +08 +30 +E0 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni22E8 +ENCODING 8936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +08 +10 +E0 +10 +28 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni22E9 +ENCODING 8937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +80 +40 +38 +40 +A0 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni22EA +ENCODING 8938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +38 +68 +A8 +68 +38 +20 +20 +ENDCHAR +STARTCHAR uni22EB +ENCODING 8939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +E0 +B0 +A8 +B0 +E0 +20 +20 +ENDCHAR +STARTCHAR uni22EC +ENCODING 8940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +38 +68 +A8 +68 +38 +20 +F8 +20 +ENDCHAR +STARTCHAR uni22ED +ENCODING 8941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +E0 +B0 +A8 +B0 +E0 +20 +F8 +20 +ENDCHAR +STARTCHAR uni22EE +ENCODING 8942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 9 2 -1 +BITMAP +80 +00 +00 +00 +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni22EF +ENCODING 8943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +A8 +ENDCHAR +STARTCHAR uni22F0 +ENCODING 8944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +00 +00 +20 +00 +00 +80 +ENDCHAR +STARTCHAR uni22F1 +ENCODING 8945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +00 +00 +20 +00 +00 +08 +ENDCHAR +STARTCHAR uni22F2 +ENCODING 8946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +40 +F0 +40 +40 +38 +ENDCHAR +STARTCHAR uni22F3 +ENCODING 8947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +88 +F8 +88 +40 +38 +ENDCHAR +STARTCHAR uni22F4 +ENCODING 8948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +88 +F8 +88 +40 +38 +ENDCHAR +STARTCHAR uni22F5 +ENCODING 8949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +10 +00 +38 +40 +80 +F0 +80 +40 +38 +ENDCHAR +STARTCHAR uni22F6 +ENCODING 8950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +38 +40 +80 +F0 +80 +40 +38 +ENDCHAR +STARTCHAR uni22F7 +ENCODING 8951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 1 +BITMAP +F0 +00 +70 +80 +E0 +80 +70 +ENDCHAR +STARTCHAR uni22F8 +ENCODING 8952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +38 +40 +80 +F0 +80 +40 +38 +00 +F8 +ENDCHAR +STARTCHAR uni22F9 +ENCODING 8953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +F0 +80 +F0 +40 +38 +ENDCHAR +STARTCHAR uni22FA +ENCODING 8954 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +10 +10 +78 +10 +10 +E0 +ENDCHAR +STARTCHAR uni22FB +ENCODING 8955 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +10 +88 +F8 +88 +10 +E0 +ENDCHAR +STARTCHAR uni22FC +ENCODING 8956 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +E0 +10 +90 +F0 +90 +10 +E0 +ENDCHAR +STARTCHAR uni22FD +ENCODING 8957 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +E0 +10 +08 +78 +08 +10 +E0 +ENDCHAR +STARTCHAR uni22FE +ENCODING 8958 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 1 +BITMAP +F0 +00 +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR uni22FF +ENCODING 8959 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F8 +80 +80 +F8 +ENDCHAR +STARTCHAR uni2300 +ENCODING 8960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +68 +90 +A8 +48 +B0 +ENDCHAR +STARTCHAR uni2301 +ENCODING 8961 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +30 +A8 +60 +20 +ENDCHAR +STARTCHAR house +ENCODING 8962 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2303 +ENCODING 8963 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +20 +50 +88 +ENDCHAR +STARTCHAR uni2304 +ENCODING 8964 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 0 +BITMAP +88 +50 +20 +ENDCHAR +STARTCHAR uni2305 +ENCODING 8965 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +00 +20 +50 +88 +ENDCHAR +STARTCHAR uni2306 +ENCODING 8966 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +F8 +00 +20 +50 +88 +ENDCHAR +STARTCHAR uni2307 +ENCODING 8967 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 9 2 0 +BITMAP +40 +40 +80 +80 +40 +40 +80 +80 +40 +ENDCHAR +STARTCHAR uni2308 +ENCODING 8968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2309 +ENCODING 8969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni230A +ENCODING 8970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni230B +ENCODING 8971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni230C +ENCODING 8972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 2 +BITMAP +60 +80 +80 +ENDCHAR +STARTCHAR uni230D +ENCODING 8973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 2 +BITMAP +C0 +20 +20 +ENDCHAR +STARTCHAR uni230E +ENCODING 8974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 4 +BITMAP +80 +80 +60 +ENDCHAR +STARTCHAR uni230F +ENCODING 8975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 3 +BITMAP +20 +20 +C0 +ENDCHAR +STARTCHAR revlogicalnot +ENCODING 8976 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +80 +80 +ENDCHAR +STARTCHAR uni2311 +ENCODING 8977 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +70 +50 +70 +88 +ENDCHAR +STARTCHAR uni2312 +ENCODING 8978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +70 +88 +88 +88 +ENDCHAR +STARTCHAR uni2313 +ENCODING 8979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +70 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2314 +ENCODING 8980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +70 +88 +50 +20 +ENDCHAR +STARTCHAR uni2315 +ENCODING 8981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +C8 +F0 +ENDCHAR +STARTCHAR uni2316 +ENCODING 8982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +F8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2317 +ENCODING 8983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +50 +F8 +50 +50 +F8 +50 +50 +ENDCHAR +STARTCHAR uni2318 +ENCODING 8984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +A8 +70 +20 +70 +A8 +50 +ENDCHAR +STARTCHAR uni2319 +ENCODING 8985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +80 +80 +F8 +ENDCHAR +STARTCHAR uni231A +ENCODING 8986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +50 +50 +70 +A8 +B8 +88 +70 +50 +50 +70 +ENDCHAR +STARTCHAR uni231B +ENCODING 8987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +88 +70 +20 +20 +50 +A8 +F8 +ENDCHAR +STARTCHAR uni231C +ENCODING 8988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 3 +BITMAP +E0 +80 +80 +ENDCHAR +STARTCHAR uni231D +ENCODING 8989 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 4 +BITMAP +E0 +20 +20 +ENDCHAR +STARTCHAR uni231E +ENCODING 8990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 2 +BITMAP +80 +80 +E0 +ENDCHAR +STARTCHAR uni231F +ENCODING 8991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 2 +BITMAP +20 +20 +E0 +ENDCHAR +STARTCHAR integraltp +ENCODING 8992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 2 -2 +BITMAP +40 +A0 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR integralbt +ENCODING 8993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 0 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2322 +ENCODING 8994 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni2323 +ENCODING 8995 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni2324 +ENCODING 8996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni2325 +ENCODING 8997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +18 +C0 +20 +18 +ENDCHAR +STARTCHAR uni2326 +ENCODING 8998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +F0 +D8 +A4 +D8 +F0 +ENDCHAR +STARTCHAR uni2327 +ENCODING 8999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +D8 +A8 +D8 +F8 +ENDCHAR +STARTCHAR uni2328 +ENCODING 9000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +FC +84 +AC +84 +AC +84 +AC +84 +AC +84 +FC +ENDCHAR +STARTCHAR uni232B +ENCODING 9003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +3C +6C +94 +6C +3C +ENDCHAR +STARTCHAR uni232C +ENCODING 9004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +D8 +C8 +D8 +70 +20 +ENDCHAR +STARTCHAR uni232D +ENCODING 9005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +60 +D8 +30 +20 +40 +ENDCHAR +STARTCHAR uni232E +ENCODING 9006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +38 +44 +5C +64 +38 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni232F +ENCODING 9007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +00 +F8 +00 +70 +ENDCHAR +STARTCHAR uni2330 +ENCODING 9008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +48 +FC +48 +48 +90 +90 +90 +F0 +ENDCHAR +STARTCHAR uni2331 +ENCODING 9009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 1 +BITMAP +40 +40 +A8 +FC +A8 +40 +40 +ENDCHAR +STARTCHAR uni2332 +ENCODING 9010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 1 +BITMAP +80 +E0 +98 +FC +98 +E0 +80 +ENDCHAR +STARTCHAR uni2333 +ENCODING 9011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +80 +C0 +A0 +90 +F8 +ENDCHAR +STARTCHAR uni2334 +ENCODING 9012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +84 +84 +84 +84 +FC +ENDCHAR +STARTCHAR uni2335 +ENCODING 9013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 0 +BITMAP +88 +50 +20 +ENDCHAR +STARTCHAR uni2336 +ENCODING 9014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni2337 +ENCODING 9015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +F0 +90 +90 +90 +90 +90 +90 +90 +90 +F0 +ENDCHAR +STARTCHAR uni2338 +ENCODING 9016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +88 +F8 +88 +F8 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2339 +ENCODING 9017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +88 +F8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni233A +ENCODING 9018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +D8 +88 +D8 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni233B +ENCODING 9019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +88 +A8 +D8 +A8 +88 +88 +F8 +ENDCHAR +STARTCHAR uni233C +ENCODING 9020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +F8 +D8 +88 +D8 +F8 +88 +F8 +ENDCHAR +STARTCHAR uni233D +ENCODING 9021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni233E +ENCODING 9022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni233F +ENCODING 9023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +10 +F8 +40 +40 +80 +ENDCHAR +STARTCHAR uni2340 +ENCODING 9024 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +40 +F8 +10 +10 +08 +ENDCHAR +STARTCHAR uni2341 +ENCODING 9025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +98 +98 +A8 +A8 +A8 +C8 +C8 +F8 +ENDCHAR +STARTCHAR uni2342 +ENCODING 9026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +C8 +C8 +A8 +A8 +A8 +98 +98 +F8 +ENDCHAR +STARTCHAR uni2343 +ENCODING 9027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +98 +A8 +C8 +A8 +98 +88 +F8 +ENDCHAR +STARTCHAR uni2344 +ENCODING 9028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +C8 +A8 +98 +A8 +C8 +88 +F8 +ENDCHAR +STARTCHAR uni2345 +ENCODING 9029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +10 +50 +F8 +50 +10 +10 +ENDCHAR +STARTCHAR uni2346 +ENCODING 9030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +50 +F8 +50 +40 +40 +ENDCHAR +STARTCHAR uni2347 +ENCODING 9031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +C8 +F8 +C8 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2348 +ENCODING 9032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +98 +F8 +98 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2349 +ENCODING 9033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +70 +C8 +A8 +98 +70 +08 +08 +ENDCHAR +STARTCHAR uni234A +ENCODING 9034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +20 +20 +20 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni234B +ENCODING 9035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +20 +20 +70 +70 +A8 +A8 +F8 +20 +20 +ENDCHAR +STARTCHAR uni234C +ENCODING 9036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +88 +D8 +D8 +A8 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni234D +ENCODING 9037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +A8 +D8 +D8 +F8 +88 +F8 +ENDCHAR +STARTCHAR uni234E +ENCODING 9038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +F8 +ENDCHAR +STARTCHAR uni234F +ENCODING 9039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +A8 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2350 +ENCODING 9040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A8 +F8 +A8 +A8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni2351 +ENCODING 9041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2352 +ENCODING 9042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +20 +F8 +A8 +70 +70 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2353 +ENCODING 9043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +A8 +D8 +D8 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2354 +ENCODING 9044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +F8 +D8 +D8 +A8 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2355 +ENCODING 9045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +20 +20 +70 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2356 +ENCODING 9046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +20 +F8 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2357 +ENCODING 9047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A8 +A8 +A8 +A8 +A8 +F8 +A8 +F8 +ENDCHAR +STARTCHAR uni2358 +ENCODING 9048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +00 +00 +00 +00 +00 +F8 +ENDCHAR +STARTCHAR uni2359 +ENCODING 9049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +50 +50 +88 +88 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni235A +ENCODING 9050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +50 +88 +50 +20 +00 +F8 +ENDCHAR +STARTCHAR uni235B +ENCODING 9051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +50 +20 +00 +00 +00 +F8 +ENDCHAR +STARTCHAR uni235C +ENCODING 9052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +70 +88 +88 +88 +70 +00 +00 +F8 +ENDCHAR +STARTCHAR uni235D +ENCODING 9053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +88 +88 +ENDCHAR +STARTCHAR uni235E +ENCODING 9054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A8 +A8 +A8 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni235F +ENCODING 9055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +A8 +F8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2360 +ENCODING 9056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +88 +88 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2361 +ENCODING 9057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2362 +ENCODING 9058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +F8 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2363 +ENCODING 9059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +50 +00 +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni2364 +ENCODING 9060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 2 +BITMAP +A0 +00 +00 +00 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2365 +ENCODING 9061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +50 +00 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2366 +ENCODING 9062 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2367 +ENCODING 9063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +10 +78 +90 +90 +90 +78 +10 +10 +ENDCHAR +STARTCHAR uni2368 +ENCODING 9064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 3 +BITMAP +50 +00 +00 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2369 +ENCODING 9065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +50 +00 +00 +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR uni236A +ENCODING 9066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +F8 +00 +00 +30 +20 +40 +ENDCHAR +STARTCHAR uni236B +ENCODING 9067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +F8 +88 +88 +7C +D8 +A0 +20 +ENDCHAR +STARTCHAR uni236C +ENCODING 9068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +E8 +B8 +88 +70 +ENDCHAR +STARTCHAR uni236D +ENCODING 9069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +68 +B0 +20 +20 +20 +ENDCHAR +STARTCHAR uni236E +ENCODING 9070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +20 +70 +20 +00 +30 +F8 +40 +ENDCHAR +STARTCHAR uni236F +ENCODING 9071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +98 +F8 +A8 +F8 +C8 +88 +F8 +ENDCHAR +STARTCHAR uni2370 +ENCODING 9072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A8 +D8 +98 +A8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2371 +ENCODING 9073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +B8 +E8 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2372 +ENCODING 9074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +50 +50 +88 +E8 +B8 +88 +ENDCHAR +STARTCHAR uni2373 +ENCODING 9075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 2 0 +BITMAP +80 +80 +80 +80 +80 +40 +ENDCHAR +STARTCHAR uni2374 +ENCODING 9076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR uni2375 +ENCODING 9077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni2376 +ENCODING 9078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +68 +90 +90 +90 +68 +00 +F8 +ENDCHAR +STARTCHAR uni2377 +ENCODING 9079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +88 +60 +88 +70 +00 +F8 +ENDCHAR +STARTCHAR uni2378 +ENCODING 9080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +20 +20 +20 +10 +00 +F8 +ENDCHAR +STARTCHAR uni2379 +ENCODING 9081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +50 +88 +A8 +A8 +50 +00 +F8 +ENDCHAR +STARTCHAR uni237A +ENCODING 9082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni237B +ENCODING 9083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +04 +04 +08 +3C +10 +90 +60 +20 +ENDCHAR +STARTCHAR uni237C +ENCODING 9084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +60 +40 +C0 +60 +40 +C0 +60 +50 +FC +C0 +E0 +ENDCHAR +STARTCHAR uni237D +ENCODING 9085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 0 +BITMAP +CC +48 +78 +ENDCHAR +STARTCHAR uni237E +ENCODING 9086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +88 +F8 +50 +D8 +ENDCHAR +STARTCHAR uni237F +ENCODING 9087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +F8 +F8 +F8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2380 +ENCODING 9088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +08 +78 +88 +78 +00 +88 +50 +20 +ENDCHAR +STARTCHAR uni2381 +ENCODING 9089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +60 +10 +70 +90 +74 +00 +FC +ENDCHAR +STARTCHAR uni2382 +ENCODING 9090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +48 +24 +6C +B4 +6C +00 +6C +ENDCHAR +STARTCHAR uni2383 +ENCODING 9091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +84 +A4 +10 +B4 +50 +B4 +84 +ENDCHAR +STARTCHAR uni2384 +ENCODING 9092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +F8 +D4 +D4 +D4 +F8 +ENDCHAR +STARTCHAR uni2385 +ENCODING 9093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +F8 +A8 +A8 +A8 +A8 +F8 +20 +ENDCHAR +STARTCHAR uni2386 +ENCODING 9094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +20 +50 +88 +24 +F4 +24 +88 +50 +20 +ENDCHAR +STARTCHAR uni2387 +ENCODING 9095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +08 +1C +28 +40 +9C +ENDCHAR +STARTCHAR uni2388 +ENCODING 9096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +A8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2389 +ENCODING 9097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +84 +84 +CC +B4 +78 +ENDCHAR +STARTCHAR uni238A +ENCODING 9098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +FC +CC +B4 +84 +78 +ENDCHAR +STARTCHAR uni238B +ENCODING 9099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +E8 +C4 +A4 +14 +84 +78 +ENDCHAR +STARTCHAR uni238C +ENCODING 9100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F0 +C8 +00 +50 +A8 +50 +ENDCHAR +STARTCHAR uni238D +ENCODING 9101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +50 +50 +50 +D8 +ENDCHAR +STARTCHAR uni238E +ENCODING 9102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +78 +50 +50 +50 +F0 +ENDCHAR +STARTCHAR uni238F +ENCODING 9103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +F8 +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni2390 +ENCODING 9104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +50 +88 +50 +20 +F8 +ENDCHAR +STARTCHAR uni2391 +ENCODING 9105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +F8 +20 +50 +F8 +50 +20 +ENDCHAR +STARTCHAR uni2392 +ENCODING 9106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +50 +F8 +50 +20 +F8 +ENDCHAR +STARTCHAR uni2393 +ENCODING 9107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +F8 +00 +A8 +ENDCHAR +STARTCHAR uni2394 +ENCODING 9108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +48 +84 +48 +30 +ENDCHAR +STARTCHAR uni2395 +ENCODING 9109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +88 +88 +88 +88 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2396 +ENCODING 9110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 1 +BITMAP +F0 +E0 +E0 +C0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni2397 +ENCODING 9111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +A8 +00 +BC +24 +84 +24 +FC +24 +84 +24 +3C +ENDCHAR +STARTCHAR uni2398 +ENCODING 9112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +F8 +80 +D4 +80 +84 +90 +FC +90 +84 +80 +54 +ENDCHAR +STARTCHAR uni2399 +ENCODING 9113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +38 +68 +48 +CC +CC +CC +FC +FC +ENDCHAR +STARTCHAR uni239A +ENCODING 9114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +78 +A4 +D4 +AC +94 +78 +ENDCHAR +STARTCHAR uni239B +ENCODING 9115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +20 +40 +40 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni239C +ENCODING 9116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 1 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni239D +ENCODING 9117 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +40 +40 +20 +ENDCHAR +STARTCHAR uni239E +ENCODING 9118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +80 +40 +40 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni239F +ENCODING 9119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 3 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A0 +ENCODING 9120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +40 +40 +80 +ENDCHAR +STARTCHAR uni23A1 +ENCODING 9121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A2 +ENCODING 9122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 1 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A3 +ENCODING 9123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni23A4 +ENCODING 9124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23A5 +ENCODING 9125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 3 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A6 +ENCODING 9126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni23A7 +ENCODING 9127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 2 -2 +BITMAP +60 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A8 +ENCODING 9128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +C0 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23A9 +ENCODING 9129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +60 +ENDCHAR +STARTCHAR uni23AA +ENCODING 9130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23AB +ENCODING 9131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 0 -2 +BITMAP +C0 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23AC +ENCODING 9132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +60 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23AD +ENCODING 9133 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 0 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +C0 +ENDCHAR +STARTCHAR uni23AE +ENCODING 9134 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23AF +ENCODING 9135 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni23B0 +ENCODING 9136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +18 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +C0 +ENDCHAR +STARTCHAR uni23B1 +ENCODING 9137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +18 +ENDCHAR +STARTCHAR uni23B2 +ENCODING 9138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +FC +80 +80 +40 +40 +40 +20 +20 +20 +10 +10 +ENDCHAR +STARTCHAR uni23B3 +ENCODING 9139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +10 +10 +20 +20 +20 +40 +40 +40 +80 +80 +FC +ENDCHAR +STARTCHAR uni23B4 +ENCODING 9140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +F8 +88 +ENDCHAR +STARTCHAR uni23B5 +ENCODING 9141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 0 +BITMAP +88 +F8 +ENDCHAR +STARTCHAR uni23B6 +ENCODING 9142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +88 +F8 +00 +00 +F8 +88 +ENDCHAR +STARTCHAR uni23B7 +ENCODING 9143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 0 0 +BITMAP +20 +20 +20 +20 +A0 +A0 +60 +60 +20 +20 +ENDCHAR +STARTCHAR uni23B8 +ENCODING 9144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23B9 +ENCODING 9145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 5 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23BA +ENCODING 9146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 9 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BB +ENCODING 9147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 6 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BC +ENCODING 9148 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 1 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BD +ENCODING 9149 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 -2 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BE +ENCODING 9150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23BF +ENCODING 9151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni23C0 +ENCODING 9152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni23C1 +ENCODING 9153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni23C2 +ENCODING 9154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +F8 +ENDCHAR +STARTCHAR uni23C3 +ENCODING 9155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +70 +70 +A8 +F8 +20 +20 +ENDCHAR +STARTCHAR uni23C4 +ENCODING 9156 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +20 +20 +70 +70 +A8 +F8 +20 +20 +ENDCHAR +STARTCHAR uni23C5 +ENCODING 9157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +70 +70 +A8 +F8 +20 +F8 +ENDCHAR +STARTCHAR uni23C6 +ENCODING 9158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +68 +B0 +20 +20 +20 +ENDCHAR +STARTCHAR uni23C7 +ENCODING 9159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +20 +20 +68 +B0 +20 +20 +20 +ENDCHAR +STARTCHAR uni23C8 +ENCODING 9160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +68 +B0 +20 +20 +F8 +ENDCHAR +STARTCHAR uni23C9 +ENCODING 9161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23CA +ENCODING 9162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni23CB +ENCODING 9163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +08 +08 +08 +08 +08 +08 +08 +ENDCHAR +STARTCHAR uni23CC +ENCODING 9164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +08 +08 +08 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR uni23CD +ENCODING 9165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +A8 +A8 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni23CE +ENCODING 9166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +18 +18 +18 +58 +F8 +F0 +40 +ENDCHAR +STARTCHAR uni23CF +ENCODING 9167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +70 +F8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni23D0 +ENCODING 9168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23D1 +ENCODING 9169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni23D2 +ENCODING 9170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +F8 +00 +88 +70 +ENDCHAR +STARTCHAR uni23D3 +ENCODING 9171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +88 +70 +00 +F8 +ENDCHAR +STARTCHAR uni23D4 +ENCODING 9172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +00 +B4 +48 +ENDCHAR +STARTCHAR uni23D5 +ENCODING 9173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +B4 +48 +00 +FC +ENDCHAR +STARTCHAR uni23D6 +ENCODING 9174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 2 +BITMAP +B4 +48 +ENDCHAR +STARTCHAR uni23D7 +ENCODING 9175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +08 +08 +F8 +ENDCHAR +STARTCHAR uni23D8 +ENCODING 9176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +88 +88 +F8 +ENDCHAR +STARTCHAR uni23D9 +ENCODING 9177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni23DA +ENCODING 9178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +20 +F8 +00 +70 +00 +20 +ENDCHAR +STARTCHAR uni23DB +ENCODING 9179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +78 +48 +FC +48 +78 +ENDCHAR +STARTCHAR uni23DC +ENCODING 9180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 0 +BITMAP +78 +84 +ENDCHAR +STARTCHAR uni23DD +ENCODING 9181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 5 +BITMAP +84 +78 +ENDCHAR +STARTCHAR uni23DE +ENCODING 9182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 0 +BITMAP +30 +CC +84 +ENDCHAR +STARTCHAR uni23DF +ENCODING 9183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 4 +BITMAP +84 +CC +30 +ENDCHAR +STARTCHAR uni23E0 +ENCODING 9184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 0 +BITMAP +78 +84 +ENDCHAR +STARTCHAR uni23E1 +ENCODING 9185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 5 +BITMAP +84 +78 +ENDCHAR +STARTCHAR uni23E2 +ENCODING 9186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +E0 +90 +88 +84 +FC +ENDCHAR +STARTCHAR uni23E3 +ENCODING 9187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 1 +BITMAP +30 +78 +CC +84 +CC +78 +30 +ENDCHAR +STARTCHAR uni23E4 +ENCODING 9188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni23E5 +ENCODING 9189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 2 +BITMAP +7C +44 +88 +F8 +ENDCHAR +STARTCHAR uni23E6 +ENCODING 9190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +A0 +FC +14 +08 +ENDCHAR +STARTCHAR uni23E7 +ENCODING 9191 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +A4 +A8 +B0 +30 +48 +84 +ENDCHAR +STARTCHAR uni2400 +ENCODING 9216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +90 +D0 +B0 +90 +50 +50 +70 +20 +20 +20 +38 +ENDCHAR +STARTCHAR uni2401 +ENCODING 9217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +60 +80 +40 +20 +E0 +50 +50 +20 +28 +38 +28 +ENDCHAR +STARTCHAR uni2402 +ENCODING 9218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +60 +80 +40 +20 +C0 +70 +20 +20 +28 +10 +28 +ENDCHAR +STARTCHAR uni2403 +ENCODING 9219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +E0 +80 +C0 +80 +E0 +70 +20 +20 +28 +10 +28 +ENDCHAR +STARTCHAR uni2404 +ENCODING 9220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +E0 +80 +C0 +80 +E0 +50 +50 +20 +38 +10 +10 +ENDCHAR +STARTCHAR uni2405 +ENCODING 9221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +E0 +80 +C0 +80 +E8 +68 +58 +48 +10 +28 +28 +18 +ENDCHAR +STARTCHAR uni2406 +ENCODING 9222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +40 +A0 +E0 +A0 +30 +40 +30 +00 +28 +30 +28 +ENDCHAR +STARTCHAR uni2407 +ENCODING 9223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +C0 +A0 +F0 +40 +60 +40 +70 +20 +20 +38 +ENDCHAR +STARTCHAR uni2408 +ENCODING 9224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +C0 +A0 +C0 +A0 +C0 +18 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni2409 +ENCODING 9225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A0 +A0 +E0 +A0 +B8 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni240A +ENCODING 9226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +80 +E0 +00 +38 +20 +30 +20 +ENDCHAR +STARTCHAR uni240B +ENCODING 9227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A0 +A0 +A0 +40 +78 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni240C +ENCODING 9228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +E0 +80 +C0 +B8 +A0 +30 +20 +20 +ENDCHAR +STARTCHAR uni240D +ENCODING 9229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +60 +80 +80 +80 +70 +28 +30 +28 +28 +ENDCHAR +STARTCHAR uni240E +ENCODING 9230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +60 +80 +40 +20 +D0 +28 +28 +28 +10 +ENDCHAR +STARTCHAR uni240F +ENCODING 9231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +60 +80 +40 +20 +C0 +38 +10 +10 +38 +ENDCHAR +STARTCHAR uni2410 +ENCODING 9232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +40 +40 +70 +38 +20 +30 +20 +38 +ENDCHAR +STARTCHAR uni2411 +ENCODING 9233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +30 +40 +30 +00 +10 +30 +10 +38 +ENDCHAR +STARTCHAR uni2412 +ENCODING 9234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +30 +40 +30 +00 +30 +08 +10 +38 +ENDCHAR +STARTCHAR uni2413 +ENCODING 9235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +30 +40 +30 +30 +08 +10 +08 +30 +ENDCHAR +STARTCHAR uni2414 +ENCODING 9236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +30 +40 +30 +00 +20 +28 +38 +08 +ENDCHAR +STARTCHAR uni2415 +ENCODING 9237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +90 +D0 +B0 +00 +20 +50 +70 +50 +00 +28 +30 +28 +ENDCHAR +STARTCHAR uni2416 +ENCODING 9238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +60 +80 +40 +20 +C0 +50 +50 +20 +20 +48 +68 +58 +ENDCHAR +STARTCHAR uni2417 +ENCODING 9239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +E0 +80 +C0 +80 +E0 +70 +20 +38 +34 +18 +14 +18 +ENDCHAR +STARTCHAR uni2418 +ENCODING 9240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +60 +80 +60 +00 +20 +50 +70 +50 +00 +68 +58 +48 +ENDCHAR +STARTCHAR uni2419 +ENCODING 9241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 -1 +BITMAP +E0 +80 +C0 +80 +E0 +00 +50 +70 +50 +50 +ENDCHAR +STARTCHAR uni241A +ENCODING 9242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +60 +80 +40 +E0 +50 +50 +20 +38 +14 +18 +14 +18 +ENDCHAR +STARTCHAR uni241B +ENCODING 9243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +E0 +80 +C0 +80 +F0 +40 +20 +70 +00 +18 +20 +18 +ENDCHAR +STARTCHAR uni241C +ENCODING 9244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +E0 +80 +C0 +80 +98 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni241D +ENCODING 9245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +80 +B0 +90 +60 +18 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni241E +ENCODING 9246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +A0 +C0 +A0 +A0 +18 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni241F +ENCODING 9247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +90 +90 +90 +60 +18 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni2420 +ENCODING 9248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +60 +80 +40 +20 +C0 +30 +28 +30 +20 +ENDCHAR +STARTCHAR uni2421 +ENCODING 9249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +C0 +A0 +A0 +F0 +40 +60 +40 +70 +20 +20 +38 +ENDCHAR +STARTCHAR uni2422 +ENCODING 9250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +60 +40 +F0 +48 +48 +48 +70 +ENDCHAR +STARTCHAR uni2423 +ENCODING 9251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 0 +BITMAP +88 +F8 +ENDCHAR +STARTCHAR uni2424 +ENCODING 9252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +D0 +B0 +90 +B0 +20 +20 +38 +ENDCHAR +STARTCHAR uni2425 +ENCODING 9253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +48 +90 +A0 +28 +48 +90 +90 +ENDCHAR +STARTCHAR uni2426 +ENCODING 9254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +80 +40 +20 +20 +00 +20 +ENDCHAR +STARTCHAR uni2440 +ENCODING 9280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +38 +28 +28 +20 +20 +A0 +A0 +E0 +ENDCHAR +STARTCHAR uni2441 +ENCODING 9281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +08 +08 +08 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni2442 +ENCODING 9282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +88 +88 +88 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2443 +ENCODING 9283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +F8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni2444 +ENCODING 9284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +A8 +A8 +20 +20 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni2445 +ENCODING 9285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +88 +D8 +A8 +D8 +88 +ENDCHAR +STARTCHAR uni2446 +ENCODING 9286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +18 +D8 +C0 +C0 +D8 +18 +18 +ENDCHAR +STARTCHAR uni2447 +ENCODING 9287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +08 +08 +20 +20 +80 +80 +80 +ENDCHAR +STARTCHAR uni2448 +ENCODING 9288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +0C +AC +AC +AC +A0 +A0 +ENDCHAR +STARTCHAR uni2449 +ENCODING 9289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni244A +ENCODING 9290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +A0 +A0 +50 +50 +28 +28 +14 +14 +ENDCHAR +STARTCHAR uni2460 +ENCODING 9312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +E8 +A8 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni2461 +ENCODING 9313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +98 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni2462 +ENCODING 9314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +E8 +98 +A8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2463 +ENCODING 9315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +C8 +C8 +E8 +F8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2464 +ENCODING 9316 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +F8 +C8 +E8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2465 +ENCODING 9317 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +B8 +C8 +E8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2466 +ENCODING 9318 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +F8 +98 +A8 +A8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2467 +ENCODING 9319 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2468 +ENCODING 9320 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +B8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2469 +ENCODING 9321 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +EC +EC +EC +D4 +84 +78 +ENDCHAR +STARTCHAR uni246A +ENCODING 9322 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +D4 +D4 +D4 +D4 +84 +78 +ENDCHAR +STARTCHAR uni246B +ENCODING 9323 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +CC +CC +D4 +DC +84 +78 +ENDCHAR +STARTCHAR uni246C +ENCODING 9324 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +CC +D4 +CC +D4 +84 +78 +ENDCHAR +STARTCHAR uni246D +ENCODING 9325 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +D4 +DC +DC +CC +84 +78 +ENDCHAR +STARTCHAR uni246E +ENCODING 9326 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +DC +D4 +DC +CC +DC +84 +78 +ENDCHAR +STARTCHAR uni246F +ENCODING 9327 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +D4 +DC +D4 +CC +84 +78 +ENDCHAR +STARTCHAR uni2470 +ENCODING 9328 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +DC +CC +D4 +D4 +D4 +84 +78 +ENDCHAR +STARTCHAR uni2471 +ENCODING 9329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +CC +D4 +CC +D4 +CC +84 +78 +ENDCHAR +STARTCHAR uni2472 +ENCODING 9330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +CC +D4 +CC +C4 +DC +84 +78 +ENDCHAR +STARTCHAR uni2473 +ENCODING 9331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +EC +B4 +B4 +D4 +EC +84 +78 +ENDCHAR +STARTCHAR uni2474 +ENCODING 9332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +A8 +E8 +A8 +A8 +F8 +88 +50 +ENDCHAR +STARTCHAR uni2475 +ENCODING 9333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +A8 +D8 +98 +A8 +F8 +88 +50 +ENDCHAR +STARTCHAR uni2476 +ENCODING 9334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +E8 +98 +A8 +98 +E8 +88 +50 +ENDCHAR +STARTCHAR uni2477 +ENCODING 9335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +C8 +C8 +E8 +F8 +A8 +88 +50 +ENDCHAR +STARTCHAR uni2478 +ENCODING 9336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +F8 +C8 +E8 +98 +E8 +88 +50 +ENDCHAR +STARTCHAR uni2479 +ENCODING 9337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +B8 +C8 +E8 +D8 +A8 +88 +50 +ENDCHAR +STARTCHAR uni247A +ENCODING 9338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +F8 +98 +A8 +A8 +A8 +88 +50 +ENDCHAR +STARTCHAR uni247B +ENCODING 9339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +A8 +D8 +A8 +D8 +A8 +88 +50 +ENDCHAR +STARTCHAR uni247C +ENCODING 9340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +A8 +D8 +B8 +98 +E8 +88 +50 +ENDCHAR +STARTCHAR uni247D +ENCODING 9341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +EC +EC +EC +D4 +84 +48 +ENDCHAR +STARTCHAR uni247E +ENCODING 9342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +D4 +D4 +D4 +D4 +84 +48 +ENDCHAR +STARTCHAR uni247F +ENCODING 9343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +CC +CC +D4 +DC +84 +48 +ENDCHAR +STARTCHAR uni2480 +ENCODING 9344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +CC +D4 +CC +D4 +84 +48 +ENDCHAR +STARTCHAR uni2481 +ENCODING 9345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +D4 +DC +DC +CC +84 +48 +ENDCHAR +STARTCHAR uni2482 +ENCODING 9346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +DC +D4 +DC +CC +DC +84 +48 +ENDCHAR +STARTCHAR uni2483 +ENCODING 9347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +D4 +DC +D4 +CC +84 +48 +ENDCHAR +STARTCHAR uni2484 +ENCODING 9348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +DC +CC +D4 +D4 +D4 +84 +48 +ENDCHAR +STARTCHAR uni2485 +ENCODING 9349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +CC +D4 +CC +D4 +CC +84 +48 +ENDCHAR +STARTCHAR uni2486 +ENCODING 9350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +CC +D4 +CC +C4 +DC +84 +48 +ENDCHAR +STARTCHAR uni2487 +ENCODING 9351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +EC +B4 +B4 +D4 +EC +84 +48 +ENDCHAR +STARTCHAR uni2488 +ENCODING 9352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 1 0 +BITMAP +40 +C0 +40 +40 +40 +40 +E8 +ENDCHAR +STARTCHAR uni2489 +ENCODING 9353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +60 +10 +10 +20 +20 +40 +F4 +ENDCHAR +STARTCHAR uni248A +ENCODING 9354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +60 +90 +10 +60 +10 +10 +E4 +ENDCHAR +STARTCHAR uni248B +ENCODING 9355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +40 +40 +90 +90 +F8 +10 +14 +ENDCHAR +STARTCHAR uni248C +ENCODING 9356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +F0 +80 +E0 +10 +10 +90 +64 +ENDCHAR +STARTCHAR uni248D +ENCODING 9357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +40 +80 +E0 +90 +90 +64 +ENDCHAR +STARTCHAR uni248E +ENCODING 9358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +F8 +08 +08 +10 +10 +20 +24 +ENDCHAR +STARTCHAR uni248F +ENCODING 9359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +60 +90 +90 +60 +90 +90 +64 +ENDCHAR +STARTCHAR uni2490 +ENCODING 9360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +60 +90 +90 +70 +10 +10 +64 +ENDCHAR +STARTCHAR uni2491 +ENCODING 9361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +A8 +A8 +A8 +A8 +A8 +94 +ENDCHAR +STARTCHAR uni2492 +ENCODING 9362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A8 +ENDCHAR +STARTCHAR uni2493 +ENCODING 9363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +B0 +88 +88 +90 +A0 +A0 +B4 +ENDCHAR +STARTCHAR uni2494 +ENCODING 9364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +B0 +88 +88 +90 +88 +88 +B4 +ENDCHAR +STARTCHAR uni2495 +ENCODING 9365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +A0 +B0 +B0 +B8 +90 +94 +ENDCHAR +STARTCHAR uni2496 +ENCODING 9366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +B8 +A0 +A0 +90 +90 +90 +A4 +ENDCHAR +STARTCHAR uni2497 +ENCODING 9367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +88 +90 +A0 +B0 +A8 +A8 +94 +ENDCHAR +STARTCHAR uni2498 +ENCODING 9368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +B8 +88 +88 +88 +90 +90 +94 +ENDCHAR +STARTCHAR uni2499 +ENCODING 9369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +A8 +A8 +90 +A8 +A8 +94 +ENDCHAR +STARTCHAR uni249A +ENCODING 9370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +A8 +A8 +98 +88 +90 +A4 +ENDCHAR +STARTCHAR uni249B +ENCODING 9371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +68 +68 +68 +A8 +A8 +D4 +ENDCHAR +STARTCHAR uni249C +ENCODING 9372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +94 +B4 +D4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni249D +ENCODING 9373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +A4 +B4 +AC +B4 +84 +48 +ENDCHAR +STARTCHAR uni249E +ENCODING 9374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +94 +A4 +94 +84 +48 +ENDCHAR +STARTCHAR uni249F +ENCODING 9375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +94 +94 +B4 +D4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24A0 +ENCODING 9376 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +94 +AC +BC +A4 +94 +84 +48 +ENDCHAR +STARTCHAR uni24A1 +ENCODING 9377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +94 +A4 +F4 +A4 +A4 +84 +48 +ENDCHAR +STARTCHAR uni24A2 +ENCODING 9378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +B4 +D4 +B4 +94 +A4 +48 +ENDCHAR +STARTCHAR uni24A3 +ENCODING 9379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +A4 +B4 +AC +AC +84 +48 +ENDCHAR +STARTCHAR uni24A4 +ENCODING 9380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +94 +84 +94 +94 +84 +48 +ENDCHAR +STARTCHAR uni24A5 +ENCODING 9381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +94 +84 +94 +94 +A4 +48 +ENDCHAR +STARTCHAR uni24A6 +ENCODING 9382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +A4 +B4 +A4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24A7 +ENCODING 9383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +94 +94 +94 +94 +94 +84 +48 +ENDCHAR +STARTCHAR uni24A8 +ENCODING 9384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +EC +D4 +D4 +84 +48 +ENDCHAR +STARTCHAR uni24A9 +ENCODING 9385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +E4 +D4 +D4 +84 +48 +ENDCHAR +STARTCHAR uni24AA +ENCODING 9386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +94 +AC +94 +84 +48 +ENDCHAR +STARTCHAR uni24AB +ENCODING 9387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +B4 +AC +B4 +A4 +48 +ENDCHAR +STARTCHAR uni24AC +ENCODING 9388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +B4 +D4 +B4 +94 +48 +ENDCHAR +STARTCHAR uni24AD +ENCODING 9389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +B4 +A4 +A4 +84 +48 +ENDCHAR +STARTCHAR uni24AE +ENCODING 9390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +B4 +A4 +94 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24AF +ENCODING 9391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +A4 +F4 +A4 +94 +84 +48 +ENDCHAR +STARTCHAR uni24B0 +ENCODING 9392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +D4 +D4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24B1 +ENCODING 9393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +AC +AC +94 +84 +48 +ENDCHAR +STARTCHAR uni24B2 +ENCODING 9394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +C4 +D4 +BC +84 +48 +ENDCHAR +STARTCHAR uni24B3 +ENCODING 9395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +AC +94 +AC +84 +48 +ENDCHAR +STARTCHAR uni24B4 +ENCODING 9396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +AC +AC +94 +A4 +48 +ENDCHAR +STARTCHAR uni24B5 +ENCODING 9397 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +B4 +94 +A4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24B6 +ENCODING 9398 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +AC +BC +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24B7 +ENCODING 9399 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +AC +B4 +AC +B4 +84 +78 +ENDCHAR +STARTCHAR uni24B8 +ENCODING 9400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +A4 +A4 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni24B9 +ENCODING 9401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +AC +AC +AC +B4 +84 +78 +ENDCHAR +STARTCHAR uni24BA +ENCODING 9402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +A4 +B4 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24BB +ENCODING 9403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +A4 +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24BC +ENCODING 9404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +C4 +D4 +D4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24BD +ENCODING 9405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +BC +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24BE +ENCODING 9406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +94 +94 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24BF +ENCODING 9407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +94 +94 +94 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24C0 +ENCODING 9408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +B4 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24C1 +ENCODING 9409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +A4 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24C2 +ENCODING 9410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +BC +AC +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24C3 +ENCODING 9411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +BC +BC +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24C4 +ENCODING 9412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +AC +AC +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24C5 +ENCODING 9413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +AC +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24C6 +ENCODING 9414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +D4 +D4 +D4 +B4 +94 +78 +ENDCHAR +STARTCHAR uni24C7 +ENCODING 9415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +AC +B4 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24C8 +ENCODING 9416 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +9C +A4 +94 +8C +B4 +84 +78 +ENDCHAR +STARTCHAR uni24C9 +ENCODING 9417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +BC +94 +94 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24CA +ENCODING 9418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +AC +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24CB +ENCODING 9419 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +AC +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24CC +ENCODING 9420 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +C4 +D4 +D4 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24CD +ENCODING 9421 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +94 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24CE +ENCODING 9422 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +94 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24CF +ENCODING 9423 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +BC +8C +94 +A4 +BC +84 +78 +ENDCHAR +STARTCHAR uni24D0 +ENCODING 9424 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +94 +B4 +D4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24D1 +ENCODING 9425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +B4 +AC +B4 +84 +78 +ENDCHAR +STARTCHAR uni24D2 +ENCODING 9426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +94 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni24D3 +ENCODING 9427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +94 +B4 +D4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24D4 +ENCODING 9428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +AC +BC +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni24D5 +ENCODING 9429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +A4 +F4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24D6 +ENCODING 9430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +B4 +D4 +B4 +94 +A4 +78 +ENDCHAR +STARTCHAR uni24D7 +ENCODING 9431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +B4 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24D8 +ENCODING 9432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +94 +84 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24D9 +ENCODING 9433 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +94 +84 +94 +94 +A4 +78 +ENDCHAR +STARTCHAR uni24DA +ENCODING 9434 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +B4 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24DB +ENCODING 9435 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +94 +94 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24DC +ENCODING 9436 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +EC +D4 +D4 +84 +78 +ENDCHAR +STARTCHAR uni24DD +ENCODING 9437 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +E4 +D4 +D4 +84 +78 +ENDCHAR +STARTCHAR uni24DE +ENCODING 9438 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +94 +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24DF +ENCODING 9439 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +B4 +AC +B4 +A4 +78 +ENDCHAR +STARTCHAR uni24E0 +ENCODING 9440 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +B4 +D4 +B4 +94 +78 +ENDCHAR +STARTCHAR uni24E1 +ENCODING 9441 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24E2 +ENCODING 9442 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +B4 +A4 +94 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24E3 +ENCODING 9443 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +F4 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni24E4 +ENCODING 9444 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +D4 +D4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24E5 +ENCODING 9445 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +AC +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24E6 +ENCODING 9446 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +C4 +D4 +BC +84 +78 +ENDCHAR +STARTCHAR uni24E7 +ENCODING 9447 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +AC +94 +AC +84 +78 +ENDCHAR +STARTCHAR uni24E8 +ENCODING 9448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +AC +AC +94 +A4 +78 +ENDCHAR +STARTCHAR uni24E9 +ENCODING 9449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +B4 +94 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24EA +ENCODING 9450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +AC +AC +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24EB +ENCODING 9451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +AC +AC +AC +AC +FC +78 +ENDCHAR +STARTCHAR uni24EC +ENCODING 9452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +B4 +B4 +AC +A4 +FC +78 +ENDCHAR +STARTCHAR uni24ED +ENCODING 9453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +B4 +AC +B4 +AC +FC +78 +ENDCHAR +STARTCHAR uni24EE +ENCODING 9454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +AC +A4 +A4 +B4 +FC +78 +ENDCHAR +STARTCHAR uni24EF +ENCODING 9455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +A4 +AC +A4 +B4 +A4 +FC +78 +ENDCHAR +STARTCHAR uni24F0 +ENCODING 9456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +AC +A4 +A8 +B4 +FC +78 +ENDCHAR +STARTCHAR uni24F1 +ENCODING 9457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +A4 +B4 +AC +AC +AC +FC +78 +ENDCHAR +STARTCHAR uni24F2 +ENCODING 9458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +B4 +A8 +B4 +A8 +B4 +FC +78 +ENDCHAR +STARTCHAR uni24F3 +ENCODING 9459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +B4 +A8 +B0 +B8 +B4 +FC +78 +ENDCHAR +STARTCHAR uni24F4 +ENCODING 9460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +B4 +C8 +C8 +A8 +94 +FC +78 +ENDCHAR +STARTCHAR uni24F5 +ENCODING 9461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +A8 +E8 +A8 +A8 +F8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24F6 +ENCODING 9462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +A8 +D8 +98 +A8 +F8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24F7 +ENCODING 9463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +E8 +98 +A8 +98 +E8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24F8 +ENCODING 9464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +C8 +C8 +E8 +F8 +A8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24F9 +ENCODING 9465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +F8 +C8 +E8 +98 +E8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FA +ENCODING 9466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +B8 +C8 +E8 +D8 +A8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FB +ENCODING 9467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +F8 +98 +A8 +A8 +A8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FC +ENCODING 9468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +A8 +D8 +A8 +D8 +A8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FD +ENCODING 9469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +A8 +D8 +B8 +98 +E8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FE +ENCODING 9470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +78 +FC +84 +D4 +EC +EC +EC +D4 +84 +FC +78 +ENDCHAR +STARTCHAR uni24FF +ENCODING 9471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +CC +B4 +B4 +B4 +CC +FC +78 +ENDCHAR +STARTCHAR SF100000 +ENCODING 9472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni2501 +ENCODING 9473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 3 +BITMAP +FC +FC +ENDCHAR +STARTCHAR SF110000 +ENCODING 9474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2503 +ENCODING 9475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni2504 +ENCODING 9476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +A8 +ENDCHAR +STARTCHAR uni2505 +ENCODING 9477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +A8 +A8 +ENDCHAR +STARTCHAR uni2506 +ENCODING 9478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 10 2 -1 +BITMAP +80 +80 +00 +00 +80 +80 +00 +00 +80 +80 +ENDCHAR +STARTCHAR uni2507 +ENCODING 9479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 10 2 -1 +BITMAP +C0 +C0 +00 +00 +C0 +C0 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2508 +ENCODING 9480 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +A8 +ENDCHAR +STARTCHAR uni2509 +ENCODING 9481 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +A8 +A8 +ENDCHAR +STARTCHAR uni250A +ENCODING 9482 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 11 2 -2 +BITMAP +80 +80 +00 +80 +80 +00 +80 +80 +00 +80 +80 +ENDCHAR +STARTCHAR uni250B +ENCODING 9483 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 2 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR SF010000 +ENCODING 9484 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 2 -2 +BITMAP +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni250D +ENCODING 9485 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 -2 +BITMAP +F0 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni250E +ENCODING 9486 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 2 -2 +BITMAP +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni250F +ENCODING 9487 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 -2 +BITMAP +F0 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR SF030000 +ENCODING 9488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 -2 +BITMAP +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2511 +ENCODING 9489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 -2 +BITMAP +E0 +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2512 +ENCODING 9490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 -2 +BITMAP +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2513 +ENCODING 9491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 +BITMAP +F0 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR SF020000 +ENCODING 9492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +80 +80 +80 +80 +80 +80 +F0 +ENDCHAR +STARTCHAR uni2515 +ENCODING 9493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +80 +80 +80 +80 +80 +F0 +F0 +ENDCHAR +STARTCHAR uni2516 +ENCODING 9494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +F0 +ENDCHAR +STARTCHAR uni2517 +ENCODING 9495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +C0 +C0 +C0 +C0 +C0 +F0 +F0 +ENDCHAR +STARTCHAR SF040000 +ENCODING 9496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 3 +BITMAP +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni2519 +ENCODING 9497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 3 +BITMAP +20 +20 +20 +20 +20 +E0 +E0 +ENDCHAR +STARTCHAR uni251A +ENCODING 9498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 3 +BITMAP +30 +30 +30 +30 +30 +30 +F0 +ENDCHAR +STARTCHAR uni251B +ENCODING 9499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 3 +BITMAP +30 +30 +30 +30 +30 +F0 +F0 +ENDCHAR +STARTCHAR SF080000 +ENCODING 9500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni251D +ENCODING 9501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +F0 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni251E +ENCODING 9502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni251F +ENCODING 9503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni2520 +ENCODING 9504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni2521 +ENCODING 9505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +F0 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2522 +ENCODING 9506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +F0 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni2523 +ENCODING 9507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +F0 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR SF090000 +ENCODING 9508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +20 +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2525 +ENCODING 9509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +E0 +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2526 +ENCODING 9510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +30 +F0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2527 +ENCODING 9511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +20 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2528 +ENCODING 9512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +30 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2529 +ENCODING 9513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +F0 +F0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni252A +ENCODING 9514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +F0 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni252B +ENCODING 9515 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +F0 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR SF060000 +ENCODING 9516 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni252D +ENCODING 9517 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +E0 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni252E +ENCODING 9518 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +3C +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni252F +ENCODING 9519 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2530 +ENCODING 9520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2531 +ENCODING 9521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +F0 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2532 +ENCODING 9522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +3C +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2533 +ENCODING 9523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR SF070000 +ENCODING 9524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +20 +20 +20 +20 +20 +20 +FC +ENDCHAR +STARTCHAR uni2535 +ENCODING 9525 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +20 +20 +20 +20 +20 +E0 +FC +ENDCHAR +STARTCHAR uni2536 +ENCODING 9526 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +20 +20 +20 +20 +20 +3C +FC +ENDCHAR +STARTCHAR uni2537 +ENCODING 9527 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +20 +20 +20 +20 +20 +FC +FC +ENDCHAR +STARTCHAR uni2538 +ENCODING 9528 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +30 +30 +30 +30 +30 +30 +FC +ENDCHAR +STARTCHAR uni2539 +ENCODING 9529 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +30 +30 +30 +30 +30 +F0 +FC +ENDCHAR +STARTCHAR uni253A +ENCODING 9530 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +30 +30 +30 +30 +30 +3C +FC +ENDCHAR +STARTCHAR uni253B +ENCODING 9531 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +30 +30 +30 +30 +30 +FC +FC +ENDCHAR +STARTCHAR SF050000 +ENCODING 9532 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +20 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni253D +ENCODING 9533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +E0 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni253E +ENCODING 9534 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +3C +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni253F +ENCODING 9535 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +FC +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2540 +ENCODING 9536 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +30 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2541 +ENCODING 9537 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +20 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2542 +ENCODING 9538 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +30 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2543 +ENCODING 9539 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +F0 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2544 +ENCODING 9540 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +3C +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2545 +ENCODING 9541 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +F0 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2546 +ENCODING 9542 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +3C +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2547 +ENCODING 9543 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +FC +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2548 +ENCODING 9544 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +FC +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2549 +ENCODING 9545 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +F0 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni254A +ENCODING 9546 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +3C +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni254B +ENCODING 9547 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +FC +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni254C +ENCODING 9548 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +D8 +ENDCHAR +STARTCHAR uni254D +ENCODING 9549 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni254E +ENCODING 9550 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 11 2 -1 +BITMAP +80 +80 +80 +80 +80 +00 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni254F +ENCODING 9551 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 2 -1 +BITMAP +C0 +C0 +C0 +C0 +C0 +00 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR SF430000 +ENCODING 9552 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR SF240000 +ENCODING 9553 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 1 -2 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF510000 +ENCODING 9554 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 -2 +BITMAP +F0 +80 +F0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR SF520000 +ENCODING 9555 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 1 -2 +BITMAP +F8 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF390000 +ENCODING 9556 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 1 -2 +BITMAP +F8 +80 +B8 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF220000 +ENCODING 9557 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 -2 +BITMAP +E0 +20 +E0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR SF210000 +ENCODING 9558 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 -2 +BITMAP +F0 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF250000 +ENCODING 9559 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 +BITMAP +F0 +10 +D0 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF500000 +ENCODING 9560 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 2 2 +BITMAP +80 +80 +80 +80 +80 +F0 +80 +F0 +ENDCHAR +STARTCHAR SF490000 +ENCODING 9561 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 1 3 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +F8 +ENDCHAR +STARTCHAR SF380000 +ENCODING 9562 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 1 2 +BITMAP +A0 +A0 +A0 +A0 +A0 +B8 +80 +F8 +ENDCHAR +STARTCHAR SF280000 +ENCODING 9563 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 2 +BITMAP +20 +20 +20 +20 +20 +E0 +20 +E0 +ENDCHAR +STARTCHAR SF270000 +ENCODING 9564 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 3 +BITMAP +50 +50 +50 +50 +50 +50 +F0 +ENDCHAR +STARTCHAR SF260000 +ENCODING 9565 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 2 +BITMAP +50 +50 +50 +50 +50 +D0 +10 +F0 +ENDCHAR +STARTCHAR SF360000 +ENCODING 9566 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +F0 +80 +F0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR SF370000 +ENCODING 9567 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 1 -2 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +B8 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF420000 +ENCODING 9568 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 1 -2 +BITMAP +A0 +A0 +A0 +A0 +A0 +B8 +80 +B8 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF190000 +ENCODING 9569 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +E0 +20 +E0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR SF200000 +ENCODING 9570 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +50 +50 +50 +50 +50 +50 +D0 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF230000 +ENCODING 9571 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +50 +50 +50 +50 +50 +D0 +10 +D0 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF470000 +ENCODING 9572 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +00 +FC +20 +20 +20 +20 +ENDCHAR +STARTCHAR SF480000 +ENCODING 9573 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF410000 +ENCODING 9574 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +00 +DC +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF450000 +ENCODING 9575 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 2 +BITMAP +20 +20 +20 +20 +20 +FC +00 +FC +ENDCHAR +STARTCHAR SF460000 +ENCODING 9576 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +50 +50 +50 +50 +50 +50 +FC +ENDCHAR +STARTCHAR SF400000 +ENCODING 9577 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 2 +BITMAP +50 +50 +50 +50 +50 +DC +00 +FC +ENDCHAR +STARTCHAR SF540000 +ENCODING 9578 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +FC +20 +FC +20 +20 +20 +20 +ENDCHAR +STARTCHAR SF530000 +ENCODING 9579 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +50 +50 +50 +50 +50 +50 +FC +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF440000 +ENCODING 9580 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +50 +50 +50 +50 +50 +DC +00 +DC +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni256D +ENCODING 9581 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 2 -2 +BITMAP +30 +40 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni256E +ENCODING 9582 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 -2 +BITMAP +80 +40 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni256F +ENCODING 9583 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 3 +BITMAP +20 +20 +20 +20 +20 +40 +80 +ENDCHAR +STARTCHAR uni2570 +ENCODING 9584 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +80 +80 +80 +80 +80 +40 +30 +ENDCHAR +STARTCHAR uni2571 +ENCODING 9585 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +04 +04 +08 +08 +10 +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2572 +ENCODING 9586 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +80 +80 +40 +40 +20 +20 +10 +10 +08 +08 +04 +04 +ENDCHAR +STARTCHAR uni2573 +ENCODING 9587 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +84 +84 +48 +48 +30 +30 +30 +30 +48 +48 +84 +84 +ENDCHAR +STARTCHAR uni2574 +ENCODING 9588 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 0 3 +BITMAP +E0 +ENDCHAR +STARTCHAR uni2575 +ENCODING 9589 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 6 2 4 +BITMAP +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2576 +ENCODING 9590 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 3 3 +BITMAP +E0 +ENDCHAR +STARTCHAR uni2577 +ENCODING 9591 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 6 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2578 +ENCODING 9592 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 0 3 +BITMAP +E0 +E0 +ENDCHAR +STARTCHAR uni2579 +ENCODING 9593 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 2 4 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni257A +ENCODING 9594 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 3 3 +BITMAP +E0 +E0 +ENDCHAR +STARTCHAR uni257B +ENCODING 9595 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni257C +ENCODING 9596 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 3 +BITMAP +1C +FC +ENDCHAR +STARTCHAR uni257D +ENCODING 9597 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni257E +ENCODING 9598 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 3 +BITMAP +E0 +FC +ENDCHAR +STARTCHAR uni257F +ENCODING 9599 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR upblock +ENCODING 9600 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 4 +BITMAP +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2581 +ENCODING 9601 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 -2 +BITMAP +FC +FC +ENDCHAR +STARTCHAR uni2582 +ENCODING 9602 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 -2 +BITMAP +FC +FC +FC +ENDCHAR +STARTCHAR uni2583 +ENCODING 9603 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 -2 +BITMAP +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR dnblock +ENCODING 9604 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2585 +ENCODING 9605 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2586 +ENCODING 9606 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2587 +ENCODING 9607 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR block +ENCODING 9608 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2589 +ENCODING 9609 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni258A +ENCODING 9610 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni258B +ENCODING 9611 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR lfblock +ENCODING 9612 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni258D +ENCODING 9613 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 0 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni258E +ENCODING 9614 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 0 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni258F +ENCODING 9615 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR rtblock +ENCODING 9616 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 3 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR ltshade +ENCODING 9617 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +A8 +00 +54 +00 +A8 +00 +54 +00 +A8 +00 +54 +ENDCHAR +STARTCHAR shade +ENCODING 9618 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +A8 +54 +A8 +54 +A8 +54 +A8 +54 +A8 +54 +A8 +54 +ENDCHAR +STARTCHAR dkshade +ENCODING 9619 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +54 +FC +A8 +FC +54 +FC +A8 +FC +54 +FC +A8 +FC +ENDCHAR +STARTCHAR uni2594 +ENCODING 9620 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 +BITMAP +FC +FC +ENDCHAR +STARTCHAR uni2595 +ENCODING 9621 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 5 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2596 +ENCODING 9622 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni2597 +ENCODING 9623 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 3 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni2598 +ENCODING 9624 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 4 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni2599 +ENCODING 9625 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni259A +ENCODING 9626 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +1C +1C +1C +1C +1C +1C +ENDCHAR +STARTCHAR uni259B +ENCODING 9627 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni259C +ENCODING 9628 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +1C +1C +1C +1C +1C +1C +ENDCHAR +STARTCHAR uni259D +ENCODING 9629 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 3 4 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni259E +ENCODING 9630 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +1C +1C +1C +1C +1C +1C +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni259F +ENCODING 9631 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +1C +1C +1C +1C +1C +1C +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR filledbox +ENCODING 9632 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR H22073 +ENCODING 9633 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni25A2 +ENCODING 9634 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni25A3 +ENCODING 9635 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni25A4 +ENCODING 9636 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +F8 +88 +F8 +ENDCHAR +STARTCHAR uni25A5 +ENCODING 9637 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni25A6 +ENCODING 9638 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +F8 +A8 +F8 +ENDCHAR +STARTCHAR uni25A7 +ENCODING 9639 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +C8 +A8 +98 +F8 +ENDCHAR +STARTCHAR uni25A8 +ENCODING 9640 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +98 +A8 +C8 +F8 +ENDCHAR +STARTCHAR uni25A9 +ENCODING 9641 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +D8 +A8 +D8 +F8 +ENDCHAR +STARTCHAR H18543 +ENCODING 9642 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 2 +BITMAP +E0 +E0 +E0 +ENDCHAR +STARTCHAR H18551 +ENCODING 9643 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 2 +BITMAP +E0 +A0 +E0 +ENDCHAR +STARTCHAR filledrect +ENCODING 9644 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni25AD +ENCODING 9645 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +FC +84 +84 +84 +FC +ENDCHAR +STARTCHAR uni25AE +ENCODING 9646 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni25AF +ENCODING 9647 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +F0 +90 +90 +90 +90 +90 +90 +90 +90 +F0 +ENDCHAR +STARTCHAR uni25B0 +ENCODING 9648 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +3C +78 +F0 +ENDCHAR +STARTCHAR uni25B1 +ENCODING 9649 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +3C +48 +F0 +ENDCHAR +STARTCHAR triagup +ENCODING 9650 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +70 +70 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni25B3 +ENCODING 9651 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +F8 +ENDCHAR +STARTCHAR uni25B4 +ENCODING 9652 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +70 +70 +F8 +ENDCHAR +STARTCHAR uni25B5 +ENCODING 9653 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +50 +50 +F8 +ENDCHAR +STARTCHAR uni25B6 +ENCODING 9654 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +C0 +E0 +F0 +E0 +C0 +80 +ENDCHAR +STARTCHAR uni25B7 +ENCODING 9655 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +C0 +A0 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni25B8 +ENCODING 9656 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +C0 +E0 +C0 +80 +ENDCHAR +STARTCHAR uni25B9 +ENCODING 9657 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +C0 +A0 +C0 +80 +ENDCHAR +STARTCHAR triagrt +ENCODING 9658 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C0 +F0 +FC +F0 +C0 +ENDCHAR +STARTCHAR uni25BB +ENCODING 9659 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C0 +B0 +8C +B0 +C0 +ENDCHAR +STARTCHAR triagdn +ENCODING 9660 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +F8 +F8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni25BD +ENCODING 9661 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni25BE +ENCODING 9662 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni25BF +ENCODING 9663 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni25C0 +ENCODING 9664 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +30 +70 +F0 +70 +30 +10 +ENDCHAR +STARTCHAR uni25C1 +ENCODING 9665 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +30 +50 +90 +50 +30 +10 +ENDCHAR +STARTCHAR uni25C2 +ENCODING 9666 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +60 +E0 +60 +20 +ENDCHAR +STARTCHAR uni25C3 +ENCODING 9667 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +60 +A0 +60 +20 +ENDCHAR +STARTCHAR triaglf +ENCODING 9668 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +0C +3C +FC +3C +0C +ENDCHAR +STARTCHAR uni25C5 +ENCODING 9669 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +0C +34 +C4 +34 +0C +ENDCHAR +STARTCHAR uni25C6 +ENCODING 9670 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni25C7 +ENCODING 9671 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni25C8 +ENCODING 9672 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +A8 +50 +20 +ENDCHAR +STARTCHAR uni25C9 +ENCODING 9673 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +48 +B4 +B4 +48 +30 +ENDCHAR +STARTCHAR lozenge +ENCODING 9674 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +50 +50 +20 +ENDCHAR +STARTCHAR circle +ENCODING 9675 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +48 +84 +84 +48 +30 +ENDCHAR +STARTCHAR uni25CC +ENCODING 9676 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +20 +08 +80 +04 +40 +10 +ENDCHAR +STARTCHAR uni25CD +ENCODING 9677 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni25CE +ENCODING 9678 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR H18533 +ENCODING 9679 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +78 +FC +FC +78 +30 +ENDCHAR +STARTCHAR uni25D0 +ENCODING 9680 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +68 +E4 +E4 +68 +30 +ENDCHAR +STARTCHAR uni25D1 +ENCODING 9681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +58 +9C +9C +58 +30 +ENDCHAR +STARTCHAR uni25D2 +ENCODING 9682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +48 +84 +FC +78 +30 +ENDCHAR +STARTCHAR uni25D3 +ENCODING 9683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +78 +FC +84 +48 +30 +ENDCHAR +STARTCHAR uni25D4 +ENCODING 9684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +58 +9C +84 +48 +30 +ENDCHAR +STARTCHAR uni25D5 +ENCODING 9685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +68 +E4 +84 +48 +30 +ENDCHAR +STARTCHAR uni25D6 +ENCODING 9686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 1 0 +BITMAP +08 +38 +78 +78 +F8 +78 +78 +38 +08 +ENDCHAR +STARTCHAR uni25D7 +ENCODING 9687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +E0 +F0 +F0 +F8 +F0 +F0 +E0 +80 +ENDCHAR +STARTCHAR invbullet +ENCODING 9688 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +FC +CC +84 +84 +CC +FC +FC +FC +FC +ENDCHAR +STARTCHAR invcircle +ENCODING 9689 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +CC +B4 +78 +78 +B4 +CC +FC +FC +FC +ENDCHAR +STARTCHAR uni25DA +ENCODING 9690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 4 +BITMAP +FC +FC +FC +CC +B4 +78 +ENDCHAR +STARTCHAR uni25DB +ENCODING 9691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +78 +B4 +CC +FC +FC +FC +ENDCHAR +STARTCHAR uni25DC +ENCODING 9692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 3 +BITMAP +20 +40 +80 +ENDCHAR +STARTCHAR uni25DD +ENCODING 9693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 3 3 +BITMAP +80 +40 +20 +ENDCHAR +STARTCHAR uni25DE +ENCODING 9694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 3 0 +BITMAP +20 +40 +80 +ENDCHAR +STARTCHAR uni25DF +ENCODING 9695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 0 +BITMAP +80 +40 +20 +ENDCHAR +STARTCHAR uni25E0 +ENCODING 9696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 3 +BITMAP +30 +48 +84 +ENDCHAR +STARTCHAR uni25E1 +ENCODING 9697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 0 +BITMAP +84 +48 +30 +ENDCHAR +STARTCHAR uni25E2 +ENCODING 9698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +18 +38 +78 +F8 +ENDCHAR +STARTCHAR uni25E3 +ENCODING 9699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +C0 +E0 +F0 +F8 +ENDCHAR +STARTCHAR uni25E4 +ENCODING 9700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F0 +E0 +C0 +80 +ENDCHAR +STARTCHAR uni25E5 +ENCODING 9701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +78 +38 +18 +08 +ENDCHAR +STARTCHAR openbullet +ENCODING 9702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni25E7 +ENCODING 9703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +E8 +E8 +E8 +F8 +ENDCHAR +STARTCHAR uni25E8 +ENCODING 9704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +B8 +B8 +B8 +F8 +ENDCHAR +STARTCHAR uni25E9 +ENCODING 9705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F8 +E8 +C8 +F8 +ENDCHAR +STARTCHAR uni25EA +ENCODING 9706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +98 +B8 +F8 +F8 +ENDCHAR +STARTCHAR uni25EB +ENCODING 9707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni25EC +ENCODING 9708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +70 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni25ED +ENCODING 9709 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +70 +70 +E8 +E8 +F8 +ENDCHAR +STARTCHAR uni25EE +ENCODING 9710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +70 +70 +B8 +B8 +F8 +ENDCHAR +STARTCHAR uni25EF +ENCODING 9711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +84 +84 +84 +48 +30 +ENDCHAR +STARTCHAR uni25F0 +ENCODING 9712 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +E8 +88 +F8 +ENDCHAR +STARTCHAR uni25F1 +ENCODING 9713 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +E8 +A8 +F8 +ENDCHAR +STARTCHAR uni25F2 +ENCODING 9714 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +B8 +A8 +F8 +ENDCHAR +STARTCHAR uni25F3 +ENCODING 9715 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +B8 +88 +F8 +ENDCHAR +STARTCHAR uni25F4 +ENCODING 9716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +E8 +88 +70 +ENDCHAR +STARTCHAR uni25F5 +ENCODING 9717 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +E8 +A8 +70 +ENDCHAR +STARTCHAR uni25F6 +ENCODING 9718 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +B8 +A8 +70 +ENDCHAR +STARTCHAR uni25F7 +ENCODING 9719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +B8 +88 +70 +ENDCHAR +STARTCHAR uni25F8 +ENCODING 9720 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni25F9 +ENCODING 9721 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +48 +28 +18 +08 +ENDCHAR +STARTCHAR uni25FA +ENCODING 9722 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +80 +C0 +A0 +90 +F8 +ENDCHAR +STARTCHAR uni25FB +ENCODING 9723 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 2 +BITMAP +F0 +90 +90 +F0 +ENDCHAR +STARTCHAR uni25FC +ENCODING 9724 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni25FD +ENCODING 9725 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 2 +BITMAP +F0 +90 +90 +F0 +ENDCHAR +STARTCHAR uni25FE +ENCODING 9726 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 2 +BITMAP +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni25FF +ENCODING 9727 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +18 +28 +48 +F8 +ENDCHAR +STARTCHAR uni2600 +ENCODING 9728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +88 +20 +70 +20 +88 +20 +20 +ENDCHAR +STARTCHAR uni2601 +ENCODING 9729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 3 +BITMAP +60 +F8 +FC +ENDCHAR +STARTCHAR uni2602 +ENCODING 9730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +F8 +F8 +20 +20 +20 +20 +40 +ENDCHAR +STARTCHAR uni2603 +ENCODING 9731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +A0 +74 +50 +A8 +50 +54 +70 +88 +88 +70 +ENDCHAR +STARTCHAR uni2604 +ENCODING 9732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +08 +48 +50 +54 +44 +08 +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni2605 +ENCODING 9733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni2606 +ENCODING 9734 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +50 +70 +88 +ENDCHAR +STARTCHAR uni2607 +ENCODING 9735 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +10 +20 +40 +80 +40 +28 +18 +38 +ENDCHAR +STARTCHAR uni2608 +ENCODING 9736 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +90 +90 +A0 +A0 +98 +98 +B8 +ENDCHAR +STARTCHAR uni2609 +ENCODING 9737 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni260A +ENCODING 9738 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +50 +50 +A8 +50 +ENDCHAR +STARTCHAR uni260B +ENCODING 9739 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +A8 +50 +50 +88 +88 +70 +ENDCHAR +STARTCHAR uni260C +ENCODING 9740 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +70 +90 +90 +60 +ENDCHAR +STARTCHAR uni260D +ENCODING 9741 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +30 +48 +48 +30 +20 +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni260E +ENCODING 9742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +A8 +70 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni260F +ENCODING 9743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +70 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2610 +ENCODING 9744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +FC +84 +84 +84 +84 +84 +84 +84 +FC +ENDCHAR +STARTCHAR uni2611 +ENCODING 9745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +FC +84 +8C +8C +94 +94 +D4 +A4 +FC +ENDCHAR +STARTCHAR uni2612 +ENCODING 9746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +FC +CC +CC +B4 +B4 +B4 +CC +CC +FC +ENDCHAR +STARTCHAR uni2613 +ENCODING 9747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +50 +50 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni2616 +ENCODING 9750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +88 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2617 +ENCODING 9751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +F8 +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni2619 +ENCODING 9753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +24 +74 +F8 +E8 +F4 +74 +28 +ENDCHAR +STARTCHAR uni261A +ENCODING 9754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +7C +7C +3C +ENDCHAR +STARTCHAR uni261B +ENCODING 9755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +F8 +F8 +F0 +ENDCHAR +STARTCHAR uni261C +ENCODING 9756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +4C +4C +3C +ENDCHAR +STARTCHAR uni261D +ENCODING 9757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +10 +30 +F0 +D0 +90 +90 +F0 +F0 +ENDCHAR +STARTCHAR uni261E +ENCODING 9758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +C8 +C8 +F0 +ENDCHAR +STARTCHAR uni261F +ENCODING 9759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +F0 +F0 +90 +90 +D0 +F0 +30 +10 +10 +ENDCHAR +STARTCHAR uni2620 +ENCODING 9760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +A8 +F8 +70 +50 +20 +88 +70 +88 +ENDCHAR +STARTCHAR uni2621 +ENCODING 9761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +E0 +10 +10 +20 +40 +80 +80 +70 +ENDCHAR +STARTCHAR uni2622 +ENCODING 9762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +D8 +D8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2623 +ENCODING 9763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +48 +FC +48 +48 +30 +48 +ENDCHAR +STARTCHAR uni2624 +ENCODING 9764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +F8 +70 +50 +70 +50 +70 +50 +20 +ENDCHAR +STARTCHAR uni2625 +ENCODING 9765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +50 +20 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2626 +ENCODING 9766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +F8 +20 +60 +30 +20 +ENDCHAR +STARTCHAR uni2627 +ENCODING 9767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +28 +30 +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR uni2628 +ENCODING 9768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2629 +ENCODING 9769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +20 +A8 +F8 +A8 +20 +70 +ENDCHAR +STARTCHAR uni262A +ENCODING 9770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +E4 +C8 +DC +C8 +D4 +C0 +E4 +78 +ENDCHAR +STARTCHAR uni262B +ENCODING 9771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +50 +00 +20 +A8 +A8 +A8 +70 +70 +ENDCHAR +STARTCHAR uni262C +ENCODING 9772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +A8 +70 +88 +70 +70 +A8 +ENDCHAR +STARTCHAR uni262D +ENCODING 9773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +70 +88 +28 +68 +C8 +A8 +18 +48 +B4 +ENDCHAR +STARTCHAR uni262E +ENCODING 9774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni262F +ENCODING 9775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +84 +EC +A4 +FC +78 +ENDCHAR +STARTCHAR uni2630 +ENCODING 9776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +F8 +00 +F8 +F8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni2631 +ENCODING 9777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +D8 +00 +F8 +F8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni2632 +ENCODING 9778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +F8 +00 +D8 +D8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni2633 +ENCODING 9779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +F8 +00 +F8 +F8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2634 +ENCODING 9780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni2635 +ENCODING 9781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +D8 +00 +F8 +F8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2636 +ENCODING 9782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +F8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2637 +ENCODING 9783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2638 +ENCODING 9784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +D8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2639 +ENCODING 9785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +D8 +D8 +88 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR smileface +ENCODING 9786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +D8 +D8 +88 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR invsmileface +ENCODING 9787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +F8 +A8 +A8 +F8 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR sun +ENCODING 9788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +88 +20 +50 +20 +88 +20 +20 +ENDCHAR +STARTCHAR uni263D +ENCODING 9789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +C8 +28 +28 +28 +C8 +70 +ENDCHAR +STARTCHAR uni263E +ENCODING 9790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +98 +A0 +A0 +A0 +98 +70 +ENDCHAR +STARTCHAR uni263F +ENCODING 9791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +88 +88 +70 +20 +70 +20 +ENDCHAR +STARTCHAR female +ENCODING 9792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +70 +88 +88 +88 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni2641 +ENCODING 9793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR male +ENCODING 9794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +1C +0C +74 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2643 +ENCODING 9795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +A8 +28 +28 +48 +F8 +08 +ENDCHAR +STARTCHAR uni2644 +ENCODING 9796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +E0 +40 +50 +68 +48 +48 +ENDCHAR +STARTCHAR uni2645 +ENCODING 9797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +88 +A8 +F8 +A8 +A8 +20 +50 +20 +ENDCHAR +STARTCHAR uni2646 +ENCODING 9798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +A8 +FC +A8 +A8 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni2647 +ENCODING 9799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +E0 +90 +90 +E0 +80 +80 +F0 +ENDCHAR +STARTCHAR uni2648 +ENCODING 9800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +A8 +A8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2649 +ENCODING 9801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +84 +48 +30 +48 +48 +30 +ENDCHAR +STARTCHAR uni264A +ENCODING 9802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +50 +50 +50 +50 +50 +F8 +ENDCHAR +STARTCHAR uni264B +ENCODING 9803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +38 +44 +A0 +48 +14 +88 +70 +ENDCHAR +STARTCHAR uni264C +ENCODING 9804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +70 +88 +48 +28 +68 +A8 +48 +04 +ENDCHAR +STARTCHAR uni264D +ENCODING 9805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +AC +FC +AC +AC +AC +A8 +A8 +18 +28 +ENDCHAR +STARTCHAR uni264E +ENCODING 9806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +50 +D8 +00 +F8 +ENDCHAR +STARTCHAR uni264F +ENCODING 9807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +A8 +F8 +A8 +A8 +A8 +A8 +A8 +0C +ENDCHAR +STARTCHAR uni2650 +ENCODING 9808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +18 +A8 +40 +A0 +ENDCHAR +STARTCHAR uni2651 +ENCODING 9809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +90 +A8 +B0 +C8 +88 +30 +ENDCHAR +STARTCHAR uni2652 +ENCODING 9810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +54 +A8 +00 +54 +A8 +ENDCHAR +STARTCHAR uni2653 +ENCODING 9811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +50 +50 +F8 +50 +50 +88 +ENDCHAR +STARTCHAR uni2654 +ENCODING 9812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +70 +70 +A8 +F8 +88 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni2655 +ENCODING 9813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +F8 +88 +F8 +50 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni2656 +ENCODING 9814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +F8 +50 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni2657 +ENCODING 9815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +70 +D8 +88 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni2658 +ENCODING 9816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +38 +68 +88 +E8 +28 +28 +44 +7C +ENDCHAR +STARTCHAR uni2659 +ENCODING 9817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +50 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni265A +ENCODING 9818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +70 +70 +A8 +F8 +F8 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni265B +ENCODING 9819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +F8 +F8 +F8 +70 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni265C +ENCODING 9820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +F8 +70 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni265D +ENCODING 9821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +70 +D8 +88 +50 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni265E +ENCODING 9822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +38 +58 +F8 +F8 +38 +38 +7C +7C +ENDCHAR +STARTCHAR uni265F +ENCODING 9823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +70 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR spade +ENCODING 9824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +70 +70 +F8 +F8 +20 +70 +ENDCHAR +STARTCHAR uni2661 +ENCODING 9825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +A8 +A8 +88 +50 +20 +20 +ENDCHAR +STARTCHAR uni2662 +ENCODING 9826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +50 +50 +20 +ENDCHAR +STARTCHAR club +ENCODING 9827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +70 +A8 +F8 +F8 +A8 +20 +70 +ENDCHAR +STARTCHAR uni2664 +ENCODING 9828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +F8 +F8 +F8 +70 +20 +20 +ENDCHAR +STARTCHAR heart +ENCODING 9829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +F8 +F8 +F8 +F8 +70 +70 +20 +ENDCHAR +STARTCHAR diamond +ENCODING 9830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +70 +F8 +F8 +70 +70 +20 +ENDCHAR +STARTCHAR uni2667 +ENCODING 9831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +70 +A8 +70 +20 +70 +ENDCHAR +STARTCHAR uni2668 +ENCODING 9832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +90 +48 +00 +50 +88 +70 +ENDCHAR +STARTCHAR uni2669 +ENCODING 9833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 0 +BITMAP +20 +20 +20 +20 +20 +E0 +C0 +ENDCHAR +STARTCHAR musicalnote +ENCODING 9834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +30 +28 +20 +20 +E0 +C0 +ENDCHAR +STARTCHAR musicalnotedbl +ENCODING 9835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +58 +48 +48 +48 +C8 +D8 +18 +ENDCHAR +STARTCHAR uni266C +ENCODING 9836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +58 +68 +58 +48 +C8 +D8 +18 +ENDCHAR +STARTCHAR uni266D +ENCODING 9837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +80 +A0 +D0 +90 +A0 +C0 +ENDCHAR +STARTCHAR uni266E +ENCODING 9838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +80 +90 +B0 +D0 +90 +B0 +D0 +90 +10 +ENDCHAR +STARTCHAR uni266F +ENCODING 9839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +58 +70 +D0 +58 +70 +D0 +40 +ENDCHAR +STARTCHAR uni2670 +ENCODING 9840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +A8 +70 +A8 +20 +20 +50 +ENDCHAR +STARTCHAR uni2671 +ENCODING 9841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +50 +20 +D8 +A8 +20 +20 +50 +20 +ENDCHAR +STARTCHAR uni2672 +ENCODING 9842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +10 +C8 +44 +8C +80 +94 +38 +10 +ENDCHAR +STARTCHAR uni2673 +ENCODING 9843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +58 +10 +94 +84 +DC +ENDCHAR +STARTCHAR uni2674 +ENCODING 9844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +10 +B4 +84 +DC +ENDCHAR +STARTCHAR uni2675 +ENCODING 9845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +30 +B4 +84 +DC +ENDCHAR +STARTCHAR uni2676 +ENCODING 9846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +30 +94 +84 +DC +ENDCHAR +STARTCHAR uni2677 +ENCODING 9847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +20 +B4 +84 +DC +ENDCHAR +STARTCHAR uni2678 +ENCODING 9848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +68 +30 +B4 +84 +DC +ENDCHAR +STARTCHAR uni2679 +ENCODING 9849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +10 +94 +84 +DC +ENDCHAR +STARTCHAR uni267A +ENCODING 9850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +00 +84 +84 +DC +ENDCHAR +STARTCHAR uni267B +ENCODING 9851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +30 +28 +CC +CC +80 +94 +B8 +10 +ENDCHAR +STARTCHAR uni267C +ENCODING 9852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +78 +FC +C4 +D4 +30 +30 +7C +68 +44 +EC +FC +78 +ENDCHAR +STARTCHAR uni267D +ENCODING 9853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +78 +84 +30 +28 +CC +CC +80 +94 +B8 +10 +84 +78 +ENDCHAR +STARTCHAR uni267E +ENCODING 9854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +00 +50 +A8 +50 +00 +88 +70 +ENDCHAR +STARTCHAR uni267F +ENCODING 9855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +60 +60 +40 +78 +40 +F0 +98 +64 +ENDCHAR +STARTCHAR uni2680 +ENCODING 9856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +88 +88 +A8 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2681 +ENCODING 9857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +C8 +88 +88 +88 +98 +88 +F8 +ENDCHAR +STARTCHAR uni2682 +ENCODING 9858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +C8 +88 +A8 +88 +98 +88 +F8 +ENDCHAR +STARTCHAR uni2683 +ENCODING 9859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +D8 +88 +88 +88 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni2684 +ENCODING 9860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +D8 +88 +A8 +88 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni2685 +ENCODING 9861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +D8 +88 +D8 +88 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni2686 +ENCODING 9862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +98 +88 +70 +ENDCHAR +STARTCHAR uni2687 +ENCODING 9863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2688 +ENCODING 9864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +F8 +E8 +F8 +70 +ENDCHAR +STARTCHAR uni2689 +ENCODING 9865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +F8 +A8 +F8 +70 +ENDCHAR +STARTCHAR uni268A +ENCODING 9866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +F8 +F8 +ENDCHAR +STARTCHAR uni268B +ENCODING 9867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni268C +ENCODING 9868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +F8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni268D +ENCODING 9869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni268E +ENCODING 9870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +F8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni268F +ENCODING 9871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2690 +ENCODING 9872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +98 +88 +C8 +B8 +80 +80 +ENDCHAR +STARTCHAR uni2691 +ENCODING 9873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +F8 +F8 +F8 +B8 +80 +80 +ENDCHAR +STARTCHAR uni2692 +ENCODING 9874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +48 +CC +B4 +30 +48 +84 +ENDCHAR +STARTCHAR uni2693 +ENCODING 9875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +F8 +20 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2694 +ENCODING 9876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +D8 +88 +ENDCHAR +STARTCHAR uni2695 +ENCODING 9877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +A0 +70 +28 +30 +60 +30 +20 +ENDCHAR +STARTCHAR uni2696 +ENCODING 9878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +A8 +88 +88 +D8 +D8 +ENDCHAR +STARTCHAR uni2697 +ENCODING 9879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +38 +5C +88 +00 +1C +14 +ENDCHAR +STARTCHAR uni2698 +ENCODING 9880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +A8 +F8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2699 +ENCODING 9881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +88 +A8 +88 +F8 +20 +ENDCHAR +STARTCHAR uni269A +ENCODING 9882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +20 +A8 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni269B +ENCODING 9883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +70 +D8 +70 +D8 +70 +A8 +ENDCHAR +STARTCHAR uni269C +ENCODING 9884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +D8 +88 +A8 +50 +50 +20 +ENDCHAR +STARTCHAR uni26A0 +ENCODING 9888 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +88 +A8 +A8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni26A1 +ENCODING 9889 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +20 +40 +F0 +20 +40 +80 +ENDCHAR +STARTCHAR uni26A2 +ENCODING 9890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +A8 +A8 +70 +50 +F8 +50 +ENDCHAR +STARTCHAR uni26A3 +ENCODING 9891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +20 +6C +98 +A8 +48 +30 +ENDCHAR +STARTCHAR uni26A4 +ENCODING 9892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 +BITMAP +0C +0C +18 +64 +A4 +98 +60 +40 +E0 +40 +ENDCHAR +STARTCHAR uni26A5 +ENCODING 9893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +0C +0C +10 +70 +88 +88 +88 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni26A6 +ENCODING 9894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +0C +0C +18 +18 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni26A7 +ENCODING 9895 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +CC +CC +30 +48 +48 +30 +20 +70 +20 +ENDCHAR +STARTCHAR uni26A8 +ENCODING 9896 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +A8 +20 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni26A9 +ENCODING 9897 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +BC +48 +ENDCHAR +STARTCHAR uni26AA +ENCODING 9898 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni26AB +ENCODING 9899 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +F8 +F8 +F8 +70 +ENDCHAR +STARTCHAR uni26AC +ENCODING 9900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni26AD +ENCODING 9901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni26AE +ENCODING 9902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni26AF +ENCODING 9903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +B4 +48 +ENDCHAR +STARTCHAR uni26B0 +ENCODING 9904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +50 +88 +88 +88 +50 +50 +50 +70 +ENDCHAR +STARTCHAR uni26B1 +ENCODING 9905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +50 +70 +88 +88 +88 +50 +50 +70 +ENDCHAR +STARTCHAR uni26B2 +ENCODING 9906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +70 +20 +20 +ENDCHAR +STARTCHAR uni26B3 +ENCODING 9907 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -1 +BITMAP +E0 +10 +10 +10 +60 +40 +E0 +40 +ENDCHAR +STARTCHAR uni26B4 +ENCODING 9908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +50 +88 +50 +20 +20 +70 +20 +ENDCHAR +STARTCHAR uni26B5 +ENCODING 9909 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +A8 +70 +F8 +70 +A8 +20 +20 +70 +20 +ENDCHAR +STARTCHAR uni26B6 +ENCODING 9910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +88 +50 +20 +00 +D8 +20 +ENDCHAR +STARTCHAR uni26B7 +ENCODING 9911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +28 +30 +20 +30 +28 +20 +70 +88 +70 +ENDCHAR +STARTCHAR uni26B8 +ENCODING 9912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -1 +BITMAP +70 +C0 +C0 +C0 +C0 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni26B9 +ENCODING 9913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +50 +F8 +50 +88 +ENDCHAR +STARTCHAR uni26BA +ENCODING 9914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +50 +50 +20 +F8 +ENDCHAR +STARTCHAR uni26BB +ENCODING 9915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni26BC +ENCODING 9916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +A8 +F8 +20 +30 +ENDCHAR +STARTCHAR uni26C0 +ENCODING 9920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni26C1 +ENCODING 9921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +F8 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni26C2 +ENCODING 9922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +F8 +F8 +F8 +70 +ENDCHAR +STARTCHAR uni26C3 +ENCODING 9923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +F8 +70 +88 +F8 +70 +ENDCHAR +STARTCHAR uni2701 +ENCODING 9985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +90 +FC +20 +40 +60 +ENDCHAR +STARTCHAR uni2702 +ENCODING 9986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C4 +C8 +30 +C8 +C4 +ENDCHAR +STARTCHAR uni2703 +ENCODING 9987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +60 +40 +20 +FC +90 +ENDCHAR +STARTCHAR uni2704 +ENCODING 9988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +CC +94 +E8 +30 +E8 +94 +CC +ENDCHAR +STARTCHAR uni2706 +ENCODING 9990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +78 +84 +B4 +B4 +A4 +B4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni2707 +ENCODING 9991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +78 +84 +B4 +84 +B4 +84 +CC +84 +78 +ENDCHAR +STARTCHAR uni2708 +ENCODING 9992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +B0 +FC +B0 +20 +ENDCHAR +STARTCHAR uni2709 +ENCODING 9993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +FC +CC +B4 +84 +FC +ENDCHAR +STARTCHAR uni270C +ENCODING 9996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +90 +90 +50 +70 +F0 +F0 +F0 +70 +ENDCHAR +STARTCHAR uni270D +ENCODING 9997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +04 +38 +7C +7C +40 +80 +ENDCHAR +STARTCHAR uni270E +ENCODING 9998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +E0 +50 +28 +14 +0C +ENDCHAR +STARTCHAR uni270F +ENCODING 9999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +F8 +8C +F8 +ENDCHAR +STARTCHAR uni2710 +ENCODING 10000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +0C +14 +28 +50 +E0 +40 +ENDCHAR +STARTCHAR uni2711 +ENCODING 10001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +F8 +84 +84 +F8 +ENDCHAR +STARTCHAR uni2712 +ENCODING 10002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +F8 +F4 +F8 +ENDCHAR +STARTCHAR uni2713 +ENCODING 10003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +10 +10 +A0 +E0 +40 +ENDCHAR +STARTCHAR uni2714 +ENCODING 10004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +0C +1C +D8 +F8 +70 +30 +ENDCHAR +STARTCHAR uni2715 +ENCODING 10005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni2716 +ENCODING 10006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +F8 +20 +F8 +D8 +ENDCHAR +STARTCHAR uni2717 +ENCODING 10007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +20 +50 +88 +80 +ENDCHAR +STARTCHAR uni2718 +ENCODING 10008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +CC +CC +78 +70 +FC +CC +C0 +ENDCHAR +STARTCHAR uni2719 +ENCODING 10009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +78 +CC +A4 +F4 +A4 +CC +78 +ENDCHAR +STARTCHAR uni271A +ENCODING 10010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +30 +FC +FC +30 +30 +ENDCHAR +STARTCHAR uni271B +ENCODING 10011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +D8 +20 +20 +ENDCHAR +STARTCHAR uni271C +ENCODING 10012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +30 +CC +CC +30 +30 +ENDCHAR +STARTCHAR uni271D +ENCODING 10013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni271E +ENCODING 10014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +70 +50 +D8 +88 +D8 +50 +50 +50 +50 +70 +ENDCHAR +STARTCHAR uni271F +ENCODING 10015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +DC +BC +DC +58 +58 +58 +78 +78 +ENDCHAR +STARTCHAR uni2720 +ENCODING 10016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +20 +A8 +F8 +A8 +20 +70 +ENDCHAR +STARTCHAR uni2721 +ENCODING 10017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +50 +50 +50 +F8 +20 +ENDCHAR +STARTCHAR uni2722 +ENCODING 10018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2723 +ENCODING 10019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +30 +30 +FC +FC +30 +30 +ENDCHAR +STARTCHAR uni2724 +ENCODING 10020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +30 +78 +30 +FC +FC +30 +78 +30 +ENDCHAR +STARTCHAR uni2725 +ENCODING 10021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +F8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2726 +ENCODING 10022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2727 +ENCODING 10023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +D8 +70 +20 +ENDCHAR +STARTCHAR uni2729 +ENCODING 10025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +D8 +50 +20 +50 +ENDCHAR +STARTCHAR uni272A +ENCODING 10026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +D8 +88 +D8 +A8 +F8 +70 +ENDCHAR +STARTCHAR uni272B +ENCODING 10027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +50 +70 +88 +ENDCHAR +STARTCHAR uni272C +ENCODING 10028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni272D +ENCODING 10029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni272E +ENCODING 10030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni272F +ENCODING 10031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +E8 +30 +50 +88 +ENDCHAR +STARTCHAR uni2730 +ENCODING 10032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +58 +8C +58 +AC +58 +ENDCHAR +STARTCHAR uni2731 +ENCODING 10033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2732 +ENCODING 10034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +50 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2733 +ENCODING 10035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2734 +ENCODING 10036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2735 +ENCODING 10037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2736 +ENCODING 10038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2737 +ENCODING 10039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +50 +20 +A8 +70 +70 +A8 +20 +50 +ENDCHAR +STARTCHAR uni2738 +ENCODING 10040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +50 +20 +A8 +70 +70 +A8 +20 +50 +ENDCHAR +STARTCHAR uni2739 +ENCODING 10041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +50 +F8 +7C +F8 +7C +F8 +50 +ENDCHAR +STARTCHAR uni273A +ENCODING 10042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +50 +A8 +74 +F8 +74 +A8 +50 +ENDCHAR +STARTCHAR uni273B +ENCODING 10043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni273C +ENCODING 10044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +50 +70 +A8 +20 +ENDCHAR +STARTCHAR uni273D +ENCODING 10045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni273E +ENCODING 10046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A8 +D8 +50 +A8 +74 +A8 +20 +ENDCHAR +STARTCHAR uni273F +ENCODING 10047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +20 +70 +F8 +D8 +70 +F8 +D8 +ENDCHAR +STARTCHAR uni2740 +ENCODING 10048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +20 +70 +D8 +A8 +50 +F8 +D8 +ENDCHAR +STARTCHAR uni2741 +ENCODING 10049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +70 +D8 +70 +F8 +20 +ENDCHAR +STARTCHAR uni2742 +ENCODING 10050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +A8 +D8 +A8 +F8 +70 +ENDCHAR +STARTCHAR uni2743 +ENCODING 10051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2744 +ENCODING 10052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2745 +ENCODING 10053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2746 +ENCODING 10054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2747 +ENCODING 10055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2748 +ENCODING 10056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2749 +ENCODING 10057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni274A +ENCODING 10058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni274B +ENCODING 10059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni274D +ENCODING 10061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +78 +8C +8C +8C +78 +ENDCHAR +STARTCHAR uni274F +ENCODING 10063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +F8 +8C +8C +8C +FC +7C +ENDCHAR +STARTCHAR uni2750 +ENCODING 10064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +7C +FC +8C +8C +8C +F8 +ENDCHAR +STARTCHAR uni2751 +ENCODING 10065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +F8 +8C +8C +8C +FC +7C +ENDCHAR +STARTCHAR uni2752 +ENCODING 10066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +7C +FC +8C +8C +8C +F8 +ENDCHAR +STARTCHAR uni2756 +ENCODING 10070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +38 +54 +EC +54 +38 +10 +ENDCHAR +STARTCHAR uni2758 +ENCODING 10072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2759 +ENCODING 10073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 7 1 0 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni275A +ENCODING 10074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni275B +ENCODING 10075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 4 +BITMAP +60 +80 +E0 +F0 +60 +ENDCHAR +STARTCHAR uni275C +ENCODING 10076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 4 +BITMAP +60 +F0 +70 +10 +60 +ENDCHAR +STARTCHAR uni275D +ENCODING 10077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 4 +BITMAP +48 +90 +D8 +FC +48 +ENDCHAR +STARTCHAR uni275E +ENCODING 10078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 4 +BITMAP +48 +FC +6C +24 +48 +ENDCHAR +STARTCHAR uni2761 +ENCODING 10081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +08 +7C +C8 +C8 +C8 +78 +08 +C8 +88 +70 +ENDCHAR +STARTCHAR uni2762 +ENCODING 10082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +F8 +70 +20 +00 +20 +70 +20 +ENDCHAR +STARTCHAR uni2763 +ENCODING 10083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +F8 +70 +20 +00 +20 +70 +20 +ENDCHAR +STARTCHAR uni2764 +ENCODING 10084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +F8 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2765 +ENCODING 10085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +F0 +F0 +78 +F0 +F0 +60 +ENDCHAR +STARTCHAR uni2766 +ENCODING 10086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +64 +B8 +20 +D8 +F8 +F0 +E4 +78 +ENDCHAR +STARTCHAR uni2767 +ENCODING 10087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +80 +58 +78 +DC +98 +40 +ENDCHAR +STARTCHAR uni2768 +ENCODING 10088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +20 +40 +C0 +C0 +C0 +C0 +40 +20 +ENDCHAR +STARTCHAR uni2769 +ENCODING 10089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +80 +40 +60 +60 +60 +60 +40 +80 +ENDCHAR +STARTCHAR uni276A +ENCODING 10090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 1 0 +BITMAP +40 +C0 +C0 +C0 +C0 +C0 +C0 +40 +ENDCHAR +STARTCHAR uni276B +ENCODING 10091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 1 0 +BITMAP +80 +C0 +C0 +C0 +C0 +C0 +C0 +80 +ENDCHAR +STARTCHAR uni276C +ENCODING 10092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +30 +30 +60 +60 +C0 +60 +60 +30 +30 +ENDCHAR +STARTCHAR uni276D +ENCODING 10093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +C0 +C0 +60 +60 +30 +60 +60 +C0 +C0 +ENDCHAR +STARTCHAR uni276E +ENCODING 10094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +18 +30 +60 +C0 +60 +30 +18 +ENDCHAR +STARTCHAR uni276F +ENCODING 10095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +60 +30 +18 +30 +60 +C0 +ENDCHAR +STARTCHAR uni2770 +ENCODING 10096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +38 +38 +70 +70 +E0 +70 +70 +38 +38 +ENDCHAR +STARTCHAR uni2771 +ENCODING 10097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +E0 +E0 +70 +70 +38 +70 +70 +E0 +E0 +ENDCHAR +STARTCHAR uni2772 +ENCODING 10098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +40 +80 +80 +80 +80 +80 +40 +20 +ENDCHAR +STARTCHAR uni2773 +ENCODING 10099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +40 +20 +20 +20 +20 +20 +40 +80 +ENDCHAR +STARTCHAR uni2774 +ENCODING 10100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +30 +60 +60 +60 +C0 +60 +60 +60 +30 +ENDCHAR +STARTCHAR uni2775 +ENCODING 10101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +C0 +60 +60 +60 +30 +60 +60 +60 +C0 +ENDCHAR +STARTCHAR uni2776 +ENCODING 10102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +98 +D8 +D8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni2777 +ENCODING 10103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +E8 +D8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni2778 +ENCODING 10104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +98 +E8 +D8 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni2779 +ENCODING 10105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +B8 +B8 +98 +88 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni277A +ENCODING 10106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +88 +B8 +98 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni277B +ENCODING 10107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +C8 +B8 +98 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni277C +ENCODING 10108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +88 +E8 +D8 +D8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni277D +ENCODING 10109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +D8 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni277E +ENCODING 10110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +C8 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni277F +ENCODING 10111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +94 +94 +94 +AC +FC +78 +ENDCHAR +STARTCHAR uni2780 +ENCODING 10112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +E8 +A8 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni2781 +ENCODING 10113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +98 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni2782 +ENCODING 10114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +E8 +98 +A8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2783 +ENCODING 10115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +C8 +C8 +E8 +F8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2784 +ENCODING 10116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +F8 +C8 +E8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2785 +ENCODING 10117 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +B8 +C8 +E8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2786 +ENCODING 10118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +F8 +98 +A8 +A8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2787 +ENCODING 10119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2788 +ENCODING 10120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +B8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2789 +ENCODING 10121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +EC +EC +EC +D4 +84 +78 +ENDCHAR +STARTCHAR uni278A +ENCODING 10122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +98 +D8 +D8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni278B +ENCODING 10123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +E8 +D8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni278C +ENCODING 10124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +98 +E8 +D8 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni278D +ENCODING 10125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +B8 +B8 +98 +88 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni278E +ENCODING 10126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +88 +B8 +98 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni278F +ENCODING 10127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +C8 +B8 +98 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni2790 +ENCODING 10128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +88 +E8 +D8 +D8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni2791 +ENCODING 10129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +D8 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni2792 +ENCODING 10130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +C8 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni2793 +ENCODING 10131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +94 +94 +94 +AC +FC +78 +ENDCHAR +STARTCHAR uni2794 +ENCODING 10132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +18 +FC +18 +30 +ENDCHAR +STARTCHAR uni2798 +ENCODING 10136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +40 +28 +18 +38 +ENDCHAR +STARTCHAR uni2799 +ENCODING 10137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +30 +F8 +30 +20 +ENDCHAR +STARTCHAR uni279A +ENCODING 10138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +18 +28 +40 +80 +ENDCHAR +STARTCHAR uni279B +ENCODING 10139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +30 +FC +30 +40 +ENDCHAR +STARTCHAR uni279C +ENCODING 10140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +38 +FC +FC +38 +30 +ENDCHAR +STARTCHAR uni279D +ENCODING 10141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +08 +FC +08 +ENDCHAR +STARTCHAR uni279E +ENCODING 10142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +18 +FC +FC +18 +10 +ENDCHAR +STARTCHAR uni279F +ENCODING 10143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +08 +BC +08 +ENDCHAR +STARTCHAR uni27A0 +ENCODING 10144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +18 +BC +BC +18 +10 +ENDCHAR +STARTCHAR uni27A1 +ENCODING 10145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +F8 +FC +F8 +10 +ENDCHAR +STARTCHAR uni27A2 +ENCODING 10146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +B0 +48 +3C +78 +F0 +C0 +ENDCHAR +STARTCHAR uni27A3 +ENCODING 10147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +F0 +78 +3C +48 +B0 +C0 +ENDCHAR +STARTCHAR uni27A4 +ENCODING 10148 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +E0 +78 +3C +78 +E0 +ENDCHAR +STARTCHAR uni27A5 +ENCODING 10149 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +80 +90 +F8 +FC +78 +10 +ENDCHAR +STARTCHAR uni27A6 +ENCODING 10150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +78 +FC +F8 +90 +80 +ENDCHAR +STARTCHAR uni27A7 +ENCODING 10151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +F0 +F8 +FC +F8 +F0 +20 +ENDCHAR +STARTCHAR uni27A8 +ENCODING 10152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +F0 +FC +F0 +20 +ENDCHAR +STARTCHAR uni27A9 +ENCODING 10153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AA +ENCODING 10154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AB +ENCODING 10155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AC +ENCODING 10156 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AD +ENCODING 10157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +E8 +84 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AE +ENCODING 10158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +E8 +84 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AF +ENCODING 10159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27B1 +ENCODING 10161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27B2 +ENCODING 10162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +DC +0C +04 +0C +DC +78 +ENDCHAR +STARTCHAR uni27B3 +ENCODING 10163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +E8 +7C +E8 +ENDCHAR +STARTCHAR uni27B4 +ENCODING 10164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +E0 +60 +10 +0C +0C +ENDCHAR +STARTCHAR uni27B5 +ENCODING 10165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +E8 +7C +E8 +ENDCHAR +STARTCHAR uni27B6 +ENCODING 10166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +0C +0C +10 +60 +E0 +40 +ENDCHAR +STARTCHAR uni27B7 +ENCODING 10167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +60 +E0 +E0 +14 +0C +1C +ENDCHAR +STARTCHAR uni27B8 +ENCODING 10168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +C0 +E8 +7C +E8 +C0 +ENDCHAR +STARTCHAR uni27B9 +ENCODING 10169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +1C +0C +14 +E0 +E0 +60 +ENDCHAR +STARTCHAR uni27BA +ENCODING 10170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +10 +C8 +FC +C8 +10 +ENDCHAR +STARTCHAR uni27BB +ENCODING 10171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +10 +C8 +FC +C8 +10 +ENDCHAR +STARTCHAR uni27BC +ENCODING 10172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +E8 +7C +E8 +ENDCHAR +STARTCHAR uni27BD +ENCODING 10173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +E8 +FC +FC +E8 +ENDCHAR +STARTCHAR uni27BE +ENCODING 10174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +50 +E8 +04 +E8 +50 +ENDCHAR +STARTCHAR uni27C0 +ENCODING 10176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +90 +A0 +C0 +F8 +ENDCHAR +STARTCHAR uni27C1 +ENCODING 10177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +50 +70 +A8 +F8 +ENDCHAR +STARTCHAR uni27C2 +ENCODING 10178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni27C3 +ENCODING 10179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +80 +90 +A8 +90 +80 +78 +ENDCHAR +STARTCHAR uni27C4 +ENCODING 10180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +08 +48 +A8 +48 +08 +F0 +ENDCHAR +STARTCHAR uni27C5 +ENCODING 10181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +40 +A0 +A0 +20 +20 +40 +40 +40 +30 +ENDCHAR +STARTCHAR uni27C6 +ENCODING 10182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +20 +50 +50 +40 +40 +20 +20 +20 +C0 +ENDCHAR +STARTCHAR uni27C7 +ENCODING 10183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +A8 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni27C8 +ENCODING 10184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +80 +9C +A0 +A0 +A0 +5C +40 +40 +ENDCHAR +STARTCHAR uni27C9 +ENCODING 10185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +04 +E4 +14 +14 +14 +E8 +08 +08 +ENDCHAR +STARTCHAR uni27CA +ENCODING 10186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +40 +40 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni27CC +ENCODING 10188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +40 +20 +20 +20 +20 +40 +ENDCHAR +STARTCHAR uni27D0 +ENCODING 10192 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +A8 +50 +20 +ENDCHAR +STARTCHAR uni27D1 +ENCODING 10193 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +A8 +88 +ENDCHAR +STARTCHAR uni27D2 +ENCODING 10194 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni27D3 +ENCODING 10195 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +08 +28 +08 +F8 +ENDCHAR +STARTCHAR uni27D4 +ENCODING 10196 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +80 +A0 +80 +80 +ENDCHAR +STARTCHAR uni27D5 +ENCODING 10197 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C4 +6C +54 +6C +C4 +ENDCHAR +STARTCHAR uni27D6 +ENCODING 10198 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +8C +D8 +A8 +D8 +8C +ENDCHAR +STARTCHAR uni27D7 +ENCODING 10199 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +CC +78 +48 +78 +CC +ENDCHAR +STARTCHAR uni27D8 +ENCODING 10200 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni27D9 +ENCODING 10201 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni27DA +ENCODING 10202 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +50 +D8 +50 +D8 +50 +ENDCHAR +STARTCHAR uni27DB +ENCODING 10203 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +50 +50 +D8 +50 +50 +ENDCHAR +STARTCHAR uni27DC +ENCODING 10204 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +40 +BC +40 +ENDCHAR +STARTCHAR uni27DD +ENCODING 10205 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +80 +FC +80 +ENDCHAR +STARTCHAR uni27DE +ENCODING 10206 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +04 +FC +04 +ENDCHAR +STARTCHAR uni27DF +ENCODING 10207 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni27E0 +ENCODING 10208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +F8 +50 +20 +ENDCHAR +STARTCHAR uni27E1 +ENCODING 10209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni27E2 +ENCODING 10210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +28 +C4 +28 +10 +ENDCHAR +STARTCHAR uni27E3 +ENCODING 10211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +50 +8C +50 +20 +ENDCHAR +STARTCHAR uni27E4 +ENCODING 10212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +7C +44 +C4 +44 +7C +ENDCHAR +STARTCHAR uni27E5 +ENCODING 10213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +F8 +88 +8C +88 +F8 +ENDCHAR +STARTCHAR uni27E6 +ENCODING 10214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +F8 +ENDCHAR +STARTCHAR uni27E7 +ENCODING 10215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +28 +28 +28 +28 +28 +28 +28 +28 +F8 +ENDCHAR +STARTCHAR uni27E8 +ENCODING 10216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +20 +40 +40 +80 +40 +40 +20 +20 +ENDCHAR +STARTCHAR uni27E9 +ENCODING 10217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +80 +40 +40 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni27EA +ENCODING 10218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +14 +28 +28 +50 +50 +A0 +50 +50 +28 +28 +14 +ENDCHAR +STARTCHAR uni27EB +ENCODING 10219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +A0 +50 +50 +28 +28 +14 +28 +28 +50 +50 +A0 +ENDCHAR +STARTCHAR uni27EC +ENCODING 10220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +10 +20 +60 +A0 +A0 +A0 +A0 +A0 +60 +20 +10 +ENDCHAR +STARTCHAR uni27ED +ENCODING 10221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 1 -2 +BITMAP +80 +40 +60 +50 +50 +50 +50 +50 +50 +60 +40 +80 +ENDCHAR +STARTCHAR uni27EE +ENCODING 10222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 9 1 -1 +BITMAP +80 +40 +40 +40 +40 +40 +40 +40 +80 +ENDCHAR +STARTCHAR uni27EF +ENCODING 10223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 9 1 -1 +BITMAP +40 +80 +80 +80 +80 +80 +80 +80 +40 +ENDCHAR +STARTCHAR uni27F0 +ENCODING 10224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni27F1 +ENCODING 10225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni27F2 +ENCODING 10226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +38 +44 +E4 +44 +04 +44 +38 +ENDCHAR +STARTCHAR uni27F3 +ENCODING 10227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +70 +88 +9C +88 +80 +88 +70 +ENDCHAR +STARTCHAR uni27F4 +ENCODING 10228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +68 +FC +68 +ENDCHAR +STARTCHAR uni27F5 +ENCODING 10229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +FC +40 +20 +ENDCHAR +STARTCHAR uni27F6 +ENCODING 10230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +08 +FC +08 +10 +ENDCHAR +STARTCHAR uni27F7 +ENCODING 10231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +48 +FC +48 +ENDCHAR +STARTCHAR uni27F8 +ENCODING 10232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +20 +7C +80 +7C +20 +10 +ENDCHAR +STARTCHAR uni27F9 +ENCODING 10233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +10 +F8 +04 +F8 +10 +20 +ENDCHAR +STARTCHAR uni27FA +ENCODING 10234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +48 +FC +84 +FC +48 +ENDCHAR +STARTCHAR uni27FB +ENCODING 10235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +24 +44 +FC +44 +24 +ENDCHAR +STARTCHAR uni27FC +ENCODING 10236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +90 +88 +FC +88 +90 +ENDCHAR +STARTCHAR uni27FD +ENCODING 10237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +24 +7C +84 +7C +24 +14 +ENDCHAR +STARTCHAR uni27FE +ENCODING 10238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +90 +F8 +84 +F8 +90 +A0 +ENDCHAR +STARTCHAR uni27FF +ENCODING 10239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +08 +5C +AC +08 +ENDCHAR +STARTCHAR uni2800 +ENCODING 10240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR uni2801 +ENCODING 10241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 7 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2802 +ENCODING 10242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 4 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2803 +ENCODING 10243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 0 4 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2804 +ENCODING 10244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 1 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2805 +ENCODING 10245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 0 1 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2806 +ENCODING 10246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 0 1 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2807 +ENCODING 10247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 0 1 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2808 +ENCODING 10248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 7 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2809 +ENCODING 10249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni280A +ENCODING 10250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280B +ENCODING 10251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280C +ENCODING 10252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280D +ENCODING 10253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280E +ENCODING 10254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280F +ENCODING 10255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2810 +ENCODING 10256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 4 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2811 +ENCODING 10257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2812 +ENCODING 10258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 4 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni2813 +ENCODING 10259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2814 +ENCODING 10260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2815 +ENCODING 10261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2816 +ENCODING 10262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2817 +ENCODING 10263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2818 +ENCODING 10264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 3 4 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2819 +ENCODING 10265 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni281A +ENCODING 10266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni281B +ENCODING 10267 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni281C +ENCODING 10268 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni281D +ENCODING 10269 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni281E +ENCODING 10270 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni281F +ENCODING 10271 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2820 +ENCODING 10272 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 1 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2821 +ENCODING 10273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2822 +ENCODING 10274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2823 +ENCODING 10275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2824 +ENCODING 10276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 1 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni2825 +ENCODING 10277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2826 +ENCODING 10278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2827 +ENCODING 10279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2828 +ENCODING 10280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 3 1 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2829 +ENCODING 10281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni282A +ENCODING 10282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni282B +ENCODING 10283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni282C +ENCODING 10284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni282D +ENCODING 10285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni282E +ENCODING 10286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni282F +ENCODING 10287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2830 +ENCODING 10288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 3 1 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2831 +ENCODING 10289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni2832 +ENCODING 10290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni2833 +ENCODING 10291 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni2834 +ENCODING 10292 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2835 +ENCODING 10293 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2836 +ENCODING 10294 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2837 +ENCODING 10295 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2838 +ENCODING 10296 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 3 1 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2839 +ENCODING 10297 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni283A +ENCODING 10298 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni283B +ENCODING 10299 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni283C +ENCODING 10300 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni283D +ENCODING 10301 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni283E +ENCODING 10302 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni283F +ENCODING 10303 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2840 +ENCODING 10304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 -2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2841 +ENCODING 10305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2842 +ENCODING 10306 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2843 +ENCODING 10307 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2844 +ENCODING 10308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2845 +ENCODING 10309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2846 +ENCODING 10310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2847 +ENCODING 10311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2848 +ENCODING 10312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2849 +ENCODING 10313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284A +ENCODING 10314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284B +ENCODING 10315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284C +ENCODING 10316 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284D +ENCODING 10317 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284E +ENCODING 10318 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284F +ENCODING 10319 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2850 +ENCODING 10320 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2851 +ENCODING 10321 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2852 +ENCODING 10322 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2853 +ENCODING 10323 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2854 +ENCODING 10324 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2855 +ENCODING 10325 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2856 +ENCODING 10326 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2857 +ENCODING 10327 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2858 +ENCODING 10328 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2859 +ENCODING 10329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285A +ENCODING 10330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285B +ENCODING 10331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285C +ENCODING 10332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285D +ENCODING 10333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285E +ENCODING 10334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285F +ENCODING 10335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2860 +ENCODING 10336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2861 +ENCODING 10337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2862 +ENCODING 10338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2863 +ENCODING 10339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2864 +ENCODING 10340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2865 +ENCODING 10341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2866 +ENCODING 10342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2867 +ENCODING 10343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2868 +ENCODING 10344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2869 +ENCODING 10345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286A +ENCODING 10346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286B +ENCODING 10347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286C +ENCODING 10348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286D +ENCODING 10349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286E +ENCODING 10350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286F +ENCODING 10351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2870 +ENCODING 10352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2871 +ENCODING 10353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2872 +ENCODING 10354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2873 +ENCODING 10355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2874 +ENCODING 10356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2875 +ENCODING 10357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2876 +ENCODING 10358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2877 +ENCODING 10359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2878 +ENCODING 10360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2879 +ENCODING 10361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287A +ENCODING 10362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287B +ENCODING 10363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287C +ENCODING 10364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287D +ENCODING 10365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287E +ENCODING 10366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287F +ENCODING 10367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2880 +ENCODING 10368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 -2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2881 +ENCODING 10369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2882 +ENCODING 10370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2883 +ENCODING 10371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2884 +ENCODING 10372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2885 +ENCODING 10373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2886 +ENCODING 10374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2887 +ENCODING 10375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2888 +ENCODING 10376 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 3 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2889 +ENCODING 10377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni288A +ENCODING 10378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni288B +ENCODING 10379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni288C +ENCODING 10380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni288D +ENCODING 10381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni288E +ENCODING 10382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni288F +ENCODING 10383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2890 +ENCODING 10384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 3 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2891 +ENCODING 10385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2892 +ENCODING 10386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2893 +ENCODING 10387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2894 +ENCODING 10388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2895 +ENCODING 10389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2896 +ENCODING 10390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2897 +ENCODING 10391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2898 +ENCODING 10392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 3 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2899 +ENCODING 10393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni289A +ENCODING 10394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni289B +ENCODING 10395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni289C +ENCODING 10396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni289D +ENCODING 10397 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni289E +ENCODING 10398 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni289F +ENCODING 10399 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A0 +ENCODING 10400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 3 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni28A1 +ENCODING 10401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A2 +ENCODING 10402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A3 +ENCODING 10403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A4 +ENCODING 10404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A5 +ENCODING 10405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A6 +ENCODING 10406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A7 +ENCODING 10407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A8 +ENCODING 10408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 3 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni28A9 +ENCODING 10409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AA +ENCODING 10410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AB +ENCODING 10411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AC +ENCODING 10412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AD +ENCODING 10413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AE +ENCODING 10414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AF +ENCODING 10415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B0 +ENCODING 10416 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 3 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni28B1 +ENCODING 10417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B2 +ENCODING 10418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B3 +ENCODING 10419 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B4 +ENCODING 10420 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B5 +ENCODING 10421 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B6 +ENCODING 10422 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B7 +ENCODING 10423 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B8 +ENCODING 10424 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 3 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni28B9 +ENCODING 10425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BA +ENCODING 10426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BB +ENCODING 10427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BC +ENCODING 10428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BD +ENCODING 10429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BE +ENCODING 10430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BF +ENCODING 10431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28C0 +ENCODING 10432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni28C1 +ENCODING 10433 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C2 +ENCODING 10434 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C3 +ENCODING 10435 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C4 +ENCODING 10436 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C5 +ENCODING 10437 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C6 +ENCODING 10438 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C7 +ENCODING 10439 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C8 +ENCODING 10440 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C9 +ENCODING 10441 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CA +ENCODING 10442 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CB +ENCODING 10443 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CC +ENCODING 10444 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CD +ENCODING 10445 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CE +ENCODING 10446 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CF +ENCODING 10447 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D0 +ENCODING 10448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D1 +ENCODING 10449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D2 +ENCODING 10450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D3 +ENCODING 10451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D4 +ENCODING 10452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D5 +ENCODING 10453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D6 +ENCODING 10454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D7 +ENCODING 10455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D8 +ENCODING 10456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D9 +ENCODING 10457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DA +ENCODING 10458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DB +ENCODING 10459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DC +ENCODING 10460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DD +ENCODING 10461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DE +ENCODING 10462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DF +ENCODING 10463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E0 +ENCODING 10464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E1 +ENCODING 10465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E2 +ENCODING 10466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E3 +ENCODING 10467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E4 +ENCODING 10468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E5 +ENCODING 10469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E6 +ENCODING 10470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E7 +ENCODING 10471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E8 +ENCODING 10472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E9 +ENCODING 10473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EA +ENCODING 10474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EB +ENCODING 10475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EC +ENCODING 10476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28ED +ENCODING 10477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EE +ENCODING 10478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EF +ENCODING 10479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F0 +ENCODING 10480 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F1 +ENCODING 10481 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F2 +ENCODING 10482 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F3 +ENCODING 10483 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F4 +ENCODING 10484 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F5 +ENCODING 10485 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F6 +ENCODING 10486 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F7 +ENCODING 10487 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F8 +ENCODING 10488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F9 +ENCODING 10489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FA +ENCODING 10490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FB +ENCODING 10491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FC +ENCODING 10492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FD +ENCODING 10493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FE +ENCODING 10494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FF +ENCODING 10495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2900 +ENCODING 10496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +58 +FC +58 +40 +ENDCHAR +STARTCHAR uni2901 +ENCODING 10497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +60 +68 +FC +68 +60 +ENDCHAR +STARTCHAR uni2902 +ENCODING 10498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +7C +88 +7C +28 +ENDCHAR +STARTCHAR uni2903 +ENCODING 10499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +50 +F8 +44 +F8 +50 +ENDCHAR +STARTCHAR uni2904 +ENCODING 10500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +78 +A4 +78 +20 +ENDCHAR +STARTCHAR uni2905 +ENCODING 10501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +98 +FC +98 +ENDCHAR +STARTCHAR uni2906 +ENCODING 10502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +24 +7C +84 +7C +24 +14 +ENDCHAR +STARTCHAR uni2907 +ENCODING 10503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +90 +F8 +84 +F8 +90 +A0 +ENDCHAR +STARTCHAR uni2908 +ENCODING 10504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2909 +ENCODING 10505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni290A +ENCODING 10506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni290B +ENCODING 10507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni290C +ENCODING 10508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +EC +40 +20 +ENDCHAR +STARTCHAR uni290D +ENCODING 10509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +08 +DC +08 +10 +ENDCHAR +STARTCHAR uni290E +ENCODING 10510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +D4 +40 +20 +ENDCHAR +STARTCHAR uni290F +ENCODING 10511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +08 +AC +08 +10 +ENDCHAR +STARTCHAR uni2910 +ENCODING 10512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +98 +6C +98 +ENDCHAR +STARTCHAR uni2911 +ENCODING 10513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +10 +A8 +10 +20 +ENDCHAR +STARTCHAR uni2912 +ENCODING 10514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +70 +A8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2913 +ENCODING 10515 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +A8 +70 +20 +F8 +ENDCHAR +STARTCHAR uni2914 +ENCODING 10516 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +A8 +7C +A8 +20 +ENDCHAR +STARTCHAR uni2915 +ENCODING 10517 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +B8 +7C +B8 +30 +ENDCHAR +STARTCHAR uni2916 +ENCODING 10518 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +98 +7C +98 +ENDCHAR +STARTCHAR uni2917 +ENCODING 10519 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +B8 +7C +B8 +20 +ENDCHAR +STARTCHAR uni2918 +ENCODING 10520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +60 +F8 +7C +F8 +60 +ENDCHAR +STARTCHAR uni2919 +ENCODING 10521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +10 +E0 +10 +08 +ENDCHAR +STARTCHAR uni291A +ENCODING 10522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +80 +40 +3C +40 +80 +ENDCHAR +STARTCHAR uni291B +ENCODING 10523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +28 +50 +F0 +50 +28 +ENDCHAR +STARTCHAR uni291C +ENCODING 10524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +A0 +50 +3C +50 +A0 +ENDCHAR +STARTCHAR uni291D +ENCODING 10525 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +10 +BC +10 +ENDCHAR +STARTCHAR uni291E +ENCODING 10526 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +20 +F4 +20 +ENDCHAR +STARTCHAR uni291F +ENCODING 10527 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +14 +BC +14 +ENDCHAR +STARTCHAR uni2920 +ENCODING 10528 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +A0 +F4 +A0 +ENDCHAR +STARTCHAR uni2921 +ENCODING 10529 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +E0 +C0 +A8 +18 +38 +ENDCHAR +STARTCHAR uni2922 +ENCODING 10530 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +18 +A8 +C0 +E0 +ENDCHAR +STARTCHAR uni2923 +ENCODING 10531 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +E0 +C0 +A0 +10 +08 +18 +ENDCHAR +STARTCHAR uni2924 +ENCODING 10532 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +18 +28 +40 +80 +C0 +ENDCHAR +STARTCHAR uni2925 +ENCODING 10533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +C0 +80 +40 +28 +18 +38 +ENDCHAR +STARTCHAR uni2926 +ENCODING 10534 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +18 +08 +10 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni2927 +ENCODING 10535 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni2928 +ENCODING 10536 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +58 +20 +58 +98 +ENDCHAR +STARTCHAR uni2929 +ENCODING 10537 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +D8 +D8 +ENDCHAR +STARTCHAR uni292A +ENCODING 10538 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C8 +D0 +20 +D0 +C8 +ENDCHAR +STARTCHAR uni292B +ENCODING 10539 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni292C +ENCODING 10540 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni292D +ENCODING 10541 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +58 +20 +58 +98 +ENDCHAR +STARTCHAR uni292E +ENCODING 10542 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +58 +20 +58 +98 +ENDCHAR +STARTCHAR uni292F +ENCODING 10543 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +58 +20 +50 +88 +ENDCHAR +STARTCHAR uni2930 +ENCODING 10544 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +58 +98 +ENDCHAR +STARTCHAR uni2931 +ENCODING 10545 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni2932 +ENCODING 10546 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni2933 +ENCODING 10547 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +BC +08 +ENDCHAR +STARTCHAR uni2934 +ENCODING 10548 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +70 +A8 +20 +C0 +ENDCHAR +STARTCHAR uni2935 +ENCODING 10549 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2936 +ENCODING 10550 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +28 +48 +F0 +40 +20 +ENDCHAR +STARTCHAR uni2937 +ENCODING 10551 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +A0 +90 +78 +10 +20 +ENDCHAR +STARTCHAR uni2938 +ENCODING 10552 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +40 +20 +10 +10 +10 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni2939 +ENCODING 10553 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +20 +40 +80 +80 +80 +50 +30 +70 +ENDCHAR +STARTCHAR uni293A +ENCODING 10554 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +B0 +C8 +E0 +ENDCHAR +STARTCHAR uni293B +ENCODING 10555 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +38 +98 +68 +ENDCHAR +STARTCHAR uni293C +ENCODING 10556 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +68 +98 +38 +00 +F8 +ENDCHAR +STARTCHAR uni293D +ENCODING 10557 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +B0 +C8 +E0 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni293E +ENCODING 10558 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +10 +08 +E8 +C8 +B0 +ENDCHAR +STARTCHAR uni293F +ENCODING 10559 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +40 +80 +B8 +98 +68 +ENDCHAR +STARTCHAR uni2940 +ENCODING 10560 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +10 +20 +78 +A4 +94 +84 +84 +78 +ENDCHAR +STARTCHAR uni2941 +ENCODING 10561 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +20 +10 +78 +94 +A4 +84 +84 +78 +ENDCHAR +STARTCHAR uni2942 +ENCODING 10562 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +08 +FC +08 +10 +00 +40 +F0 +40 +ENDCHAR +STARTCHAR uni2943 +ENCODING 10563 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +20 +40 +FC +40 +20 +08 +3C +08 +ENDCHAR +STARTCHAR uni2944 +ENCODING 10564 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +3C +08 +20 +40 +FC +40 +20 +ENDCHAR +STARTCHAR uni2945 +ENCODING 10565 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +10 +40 +E0 +40 +ENDCHAR +STARTCHAR uni2946 +ENCODING 10566 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +40 +10 +38 +10 +ENDCHAR +STARTCHAR uni2947 +ENCODING 10567 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +68 +FC +68 +ENDCHAR +STARTCHAR uni2948 +ENCODING 10568 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +78 +FC +78 +ENDCHAR +STARTCHAR uni2949 +ENCODING 10569 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +70 +A8 +70 +A8 +20 +20 +20 +50 +20 +ENDCHAR +STARTCHAR uni294A +ENCODING 10570 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +40 +F8 +10 +ENDCHAR +STARTCHAR uni294B +ENCODING 10571 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +10 +F8 +40 +ENDCHAR +STARTCHAR uni294C +ENCODING 10572 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +30 +28 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni294D +ENCODING 10573 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +60 +A0 +20 +20 +20 +28 +30 +20 +ENDCHAR +STARTCHAR uni294E +ENCODING 10574 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +50 +F8 +ENDCHAR +STARTCHAR uni294F +ENCODING 10575 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 2 -1 +BITMAP +80 +C0 +A0 +80 +80 +80 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni2950 +ENCODING 10576 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 1 +BITMAP +F8 +50 +ENDCHAR +STARTCHAR uni2951 +ENCODING 10577 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +60 +A0 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni2952 +ENCODING 10578 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +90 +A0 +FC +80 +80 +ENDCHAR +STARTCHAR uni2953 +ENCODING 10579 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +24 +14 +FC +04 +04 +ENDCHAR +STARTCHAR uni2954 +ENCODING 10580 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +30 +28 +20 +20 +20 +ENDCHAR +STARTCHAR uni2955 +ENCODING 10581 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +28 +30 +20 +F8 +ENDCHAR +STARTCHAR uni2956 +ENCODING 10582 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +80 +80 +FC +A0 +90 +ENDCHAR +STARTCHAR uni2957 +ENCODING 10583 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +04 +04 +FC +14 +24 +ENDCHAR +STARTCHAR uni2958 +ENCODING 10584 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +60 +A0 +20 +20 +20 +ENDCHAR +STARTCHAR uni2959 +ENCODING 10585 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +A0 +60 +20 +F8 +ENDCHAR +STARTCHAR uni295A +ENCODING 10586 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +48 +F8 +08 +ENDCHAR +STARTCHAR uni295B +ENCODING 10587 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +90 +F8 +80 +ENDCHAR +STARTCHAR uni295C +ENCODING 10588 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +30 +28 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni295D +ENCODING 10589 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +28 +30 +20 +ENDCHAR +STARTCHAR uni295E +ENCODING 10590 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +08 +F8 +48 +ENDCHAR +STARTCHAR uni295F +ENCODING 10591 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +80 +F8 +90 +ENDCHAR +STARTCHAR uni2960 +ENCODING 10592 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +60 +A0 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni2961 +ENCODING 10593 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni2962 +ENCODING 10594 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +40 +F8 +00 +F8 +40 +ENDCHAR +STARTCHAR uni2963 +ENCODING 10595 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +D8 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni2964 +ENCODING 10596 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +F8 +00 +F8 +10 +ENDCHAR +STARTCHAR uni2965 +ENCODING 10597 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +50 +50 +50 +D8 +50 +ENDCHAR +STARTCHAR uni2966 +ENCODING 10598 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +40 +F8 +00 +10 +F8 +ENDCHAR +STARTCHAR uni2967 +ENCODING 10599 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +40 +00 +F8 +10 +ENDCHAR +STARTCHAR uni2968 +ENCODING 10600 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +10 +F8 +00 +40 +F8 +ENDCHAR +STARTCHAR uni2969 +ENCODING 10601 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +00 +F8 +40 +ENDCHAR +STARTCHAR uni296A +ENCODING 10602 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +40 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni296B +ENCODING 10603 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +00 +F8 +40 +ENDCHAR +STARTCHAR uni296C +ENCODING 10604 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +10 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni296D +ENCODING 10605 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +00 +F8 +10 +ENDCHAR +STARTCHAR uni296E +ENCODING 10606 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +D0 +50 +50 +50 +58 +50 +ENDCHAR +STARTCHAR uni296F +ENCODING 10607 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +58 +50 +50 +50 +D0 +50 +ENDCHAR +STARTCHAR uni2970 +ENCODING 10608 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F0 +08 +F0 +ENDCHAR +STARTCHAR uni2971 +ENCODING 10609 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +E0 +00 +E0 +00 +10 +F8 +10 +ENDCHAR +STARTCHAR uni2972 +ENCODING 10610 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +10 +F8 +10 +ENDCHAR +STARTCHAR uni2973 +ENCODING 10611 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +40 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2974 +ENCODING 10612 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +10 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2975 +ENCODING 10613 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +F8 +10 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2976 +ENCODING 10614 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +18 +60 +80 +60 +18 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2977 +ENCODING 10615 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +50 +F8 +50 +08 +ENDCHAR +STARTCHAR uni2978 +ENCODING 10616 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C0 +30 +08 +30 +C0 +10 +F8 +10 +ENDCHAR +STARTCHAR uni2979 +ENCODING 10617 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +80 +80 +78 +00 +10 +F8 +10 +ENDCHAR +STARTCHAR uni297A +ENCODING 10618 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +0C +50 +F8 +50 +0C +ENDCHAR +STARTCHAR uni297B +ENCODING 10619 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +08 +08 +F0 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni297C +ENCODING 10620 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +40 +80 +78 +80 +40 +ENDCHAR +STARTCHAR uni297D +ENCODING 10621 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +08 +F0 +08 +10 +ENDCHAR +STARTCHAR uni297E +ENCODING 10622 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +20 +20 +20 +ENDCHAR +STARTCHAR uni297F +ENCODING 10623 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +20 +20 +A8 +50 +ENDCHAR +STARTCHAR uni2980 +ENCODING 10624 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2981 +ENCODING 10625 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +60 +F0 +F0 +60 +ENDCHAR +STARTCHAR uni2982 +ENCODING 10626 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +40 +00 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2983 +ENCODING 10627 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +38 +50 +50 +50 +90 +50 +50 +50 +38 +ENDCHAR +STARTCHAR uni2984 +ENCODING 10628 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +E0 +50 +50 +50 +48 +50 +50 +50 +E0 +ENDCHAR +STARTCHAR uni2985 +ENCODING 10629 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +10 +20 +60 +60 +A0 +A0 +60 +60 +20 +10 +ENDCHAR +STARTCHAR uni2986 +ENCODING 10630 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +80 +40 +60 +60 +50 +50 +60 +60 +40 +80 +ENDCHAR +STARTCHAR uni2987 +ENCODING 10631 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +20 +60 +60 +A0 +A0 +A0 +A0 +60 +60 +20 +ENDCHAR +STARTCHAR uni2988 +ENCODING 10632 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +80 +C0 +C0 +A0 +A0 +A0 +A0 +C0 +C0 +80 +ENDCHAR +STARTCHAR uni2989 +ENCODING 10633 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +10 +30 +30 +50 +50 +90 +50 +50 +30 +30 +10 +ENDCHAR +STARTCHAR uni298A +ENCODING 10634 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +80 +C0 +C0 +A0 +A0 +90 +A0 +A0 +C0 +C0 +80 +ENDCHAR +STARTCHAR uni298B +ENCODING 10635 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +E0 +00 +E0 +ENDCHAR +STARTCHAR uni298C +ENCODING 10636 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +E0 +00 +E0 +ENDCHAR +STARTCHAR uni298D +ENCODING 10637 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +E0 +C0 +A0 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni298E +ENCODING 10638 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +A0 +60 +E0 +ENDCHAR +STARTCHAR uni298F +ENCODING 10639 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni2990 +ENCODING 10640 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +E0 +60 +A0 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni2991 +ENCODING 10641 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +10 +20 +20 +40 +40 +90 +40 +40 +20 +20 +10 +ENDCHAR +STARTCHAR uni2992 +ENCODING 10642 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +80 +40 +40 +20 +20 +90 +20 +20 +40 +40 +80 +ENDCHAR +STARTCHAR uni2993 +ENCODING 10643 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +20 +38 +60 +A0 +60 +38 +20 +10 +ENDCHAR +STARTCHAR uni2994 +ENCODING 10644 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +40 +20 +E0 +30 +28 +30 +E0 +20 +40 +ENDCHAR +STARTCHAR uni2995 +ENCODING 10645 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +28 +50 +D0 +70 +58 +70 +D0 +50 +28 +ENDCHAR +STARTCHAR uni2996 +ENCODING 10646 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +A0 +50 +58 +70 +D0 +70 +58 +50 +A0 +ENDCHAR +STARTCHAR uni2997 +ENCODING 10647 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +20 +40 +C0 +C0 +C0 +C0 +C0 +C0 +40 +20 +ENDCHAR +STARTCHAR uni2998 +ENCODING 10648 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +80 +40 +60 +60 +60 +60 +60 +60 +40 +80 +ENDCHAR +STARTCHAR uni2999 +ENCODING 10649 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni299A +ENCODING 10650 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 1 0 +BITMAP +80 +40 +80 +40 +80 +40 +80 +40 +ENDCHAR +STARTCHAR uni299B +ENCODING 10651 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +20 +10 +28 +FC +ENDCHAR +STARTCHAR uni299C +ENCODING 10652 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +80 +80 +E0 +A0 +F8 +ENDCHAR +STARTCHAR uni299D +ENCODING 10653 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +80 +80 +E0 +90 +A8 +88 +FC +ENDCHAR +STARTCHAR uni299E +ENCODING 10654 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +10 +20 +2C +48 +44 +8C +80 +FC +ENDCHAR +STARTCHAR uni299F +ENCODING 10655 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +04 +18 +60 +FC +ENDCHAR +STARTCHAR uni29A0 +ENCODING 10656 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +60 +38 +24 +38 +60 +90 +ENDCHAR +STARTCHAR uni29A1 +ENCODING 10657 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +70 +D8 +20 +ENDCHAR +STARTCHAR uni29A2 +ENCODING 10658 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +FC +08 +10 +20 +40 +ENDCHAR +STARTCHAR uni29A3 +ENCODING 10659 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +20 +10 +08 +FC +ENDCHAR +STARTCHAR uni29A4 +ENCODING 10660 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +08 +10 +20 +40 +FC +00 +FC +ENDCHAR +STARTCHAR uni29A5 +ENCODING 10661 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +40 +20 +10 +08 +FC +00 +FC +ENDCHAR +STARTCHAR uni29A6 +ENCODING 10662 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +80 +40 +38 +ENDCHAR +STARTCHAR uni29A7 +ENCODING 10663 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +38 +40 +80 +ENDCHAR +STARTCHAR uni29A8 +ENCODING 10664 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +18 +18 +20 +50 +FC +ENDCHAR +STARTCHAR uni29A9 +ENCODING 10665 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +60 +60 +10 +28 +FC +ENDCHAR +STARTCHAR uni29AA +ENCODING 10666 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +FC +50 +20 +18 +18 +ENDCHAR +STARTCHAR uni29AB +ENCODING 10667 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +FC +28 +10 +60 +60 +ENDCHAR +STARTCHAR uni29AC +ENCODING 10668 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +98 +D8 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni29AD +ENCODING 10669 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +08 +C8 +D8 +28 +18 +08 +ENDCHAR +STARTCHAR uni29AE +ENCODING 10670 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +C0 +A0 +D8 +98 +80 +ENDCHAR +STARTCHAR uni29AF +ENCODING 10671 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +08 +18 +28 +D8 +C8 +08 +ENDCHAR +STARTCHAR uni29B0 +ENCODING 10672 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +80 +70 +68 +58 +38 +04 +ENDCHAR +STARTCHAR uni29B1 +ENCODING 10673 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +78 +00 +04 +38 +58 +68 +70 +80 +ENDCHAR +STARTCHAR uni29B2 +ENCODING 10674 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +20 +50 +20 +04 +38 +58 +68 +70 +80 +ENDCHAR +STARTCHAR uni29B3 +ENCODING 10675 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +78 +10 +04 +38 +58 +68 +70 +80 +ENDCHAR +STARTCHAR uni29B4 +ENCODING 10676 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +20 +78 +20 +04 +38 +58 +68 +70 +80 +ENDCHAR +STARTCHAR uni29B5 +ENCODING 10677 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni29B6 +ENCODING 10678 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni29B7 +ENCODING 10679 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +B4 +B4 +B4 +B4 +78 +ENDCHAR +STARTCHAR uni29B8 +ENCODING 10680 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +C8 +A8 +98 +70 +ENDCHAR +STARTCHAR uni29B9 +ENCODING 10681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +A8 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni29BA +ENCODING 10682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni29BB +ENCODING 10683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +D8 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni29BC +ENCODING 10684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +CC +94 +A4 +CC +78 +ENDCHAR +STARTCHAR uni29BD +ENCODING 10685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +20 +70 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni29BE +ENCODING 10686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +84 +B4 +94 +84 +78 +ENDCHAR +STARTCHAR uni29BF +ENCODING 10687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +84 +B4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni29C0 +ENCODING 10688 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +A4 +94 +A4 +84 +78 +ENDCHAR +STARTCHAR uni29C1 +ENCODING 10689 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +94 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni29C2 +ENCODING 10690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +60 +98 +94 +98 +60 +ENDCHAR +STARTCHAR uni29C3 +ENCODING 10691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +60 +9C +90 +9C +60 +ENDCHAR +STARTCHAR uni29C4 +ENCODING 10692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +98 +A8 +C8 +F8 +ENDCHAR +STARTCHAR uni29C5 +ENCODING 10693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +C8 +A8 +98 +F8 +ENDCHAR +STARTCHAR uni29C6 +ENCODING 10694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +84 +A4 +F4 +A4 +84 +FC +ENDCHAR +STARTCHAR uni29C7 +ENCODING 10695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +84 +A4 +D4 +A4 +84 +FC +ENDCHAR +STARTCHAR uni29C8 +ENCODING 10696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +FC +FC +CC +CC +FC +FC +ENDCHAR +STARTCHAR uni29C9 +ENCODING 10697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +F0 +90 +BC +E4 +24 +3C +ENDCHAR +STARTCHAR uni29CA +ENCODING 10698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +20 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni29CB +ENCODING 10699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni29CC +ENCODING 10700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +30 +48 +B4 +A4 +94 +B4 +84 +FC +ENDCHAR +STARTCHAR uni29CD +ENCODING 10701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +20 +50 +50 +88 +88 +FC +ENDCHAR +STARTCHAR uni29CE +ENCODING 10702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +C0 +B0 +88 +B0 +C0 +18 +68 +88 +68 +18 +ENDCHAR +STARTCHAR uni29CF +ENCODING 10703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +34 +54 +94 +54 +34 +14 +ENDCHAR +STARTCHAR uni29D0 +ENCODING 10704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +B0 +A8 +A4 +A8 +B0 +A0 +ENDCHAR +STARTCHAR uni29D1 +ENCODING 10705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D8 +E8 +D8 +88 +ENDCHAR +STARTCHAR uni29D2 +ENCODING 10706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D8 +B8 +D8 +88 +ENDCHAR +STARTCHAR uni29D3 +ENCODING 10707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D8 +F8 +D8 +88 +ENDCHAR +STARTCHAR uni29D4 +ENCODING 10708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D0 +E0 +D0 +88 +ENDCHAR +STARTCHAR uni29D5 +ENCODING 10709 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +58 +38 +58 +88 +ENDCHAR +STARTCHAR uni29D6 +ENCODING 10710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +50 +20 +50 +F8 +ENDCHAR +STARTCHAR uni29D7 +ENCODING 10711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +70 +20 +70 +F8 +ENDCHAR +STARTCHAR uni29D8 +ENCODING 10712 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 7 2 0 +BITMAP +80 +40 +80 +40 +80 +40 +80 +ENDCHAR +STARTCHAR uni29D9 +ENCODING 10713 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 7 2 0 +BITMAP +40 +80 +40 +80 +40 +80 +40 +ENDCHAR +STARTCHAR uni29DA +ENCODING 10714 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +48 +90 +48 +90 +48 +90 +ENDCHAR +STARTCHAR uni29DB +ENCODING 10715 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +90 +48 +90 +48 +90 +48 +ENDCHAR +STARTCHAR uni29DC +ENCODING 10716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +40 +A8 +50 +ENDCHAR +STARTCHAR uni29DD +ENCODING 10717 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +20 +50 +A8 +50 +ENDCHAR +STARTCHAR uni29DE +ENCODING 10718 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +70 +A8 +70 +20 +ENDCHAR +STARTCHAR uni29DF +ENCODING 10719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +B4 +48 +ENDCHAR +STARTCHAR uni29E0 +ENCODING 10720 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +F8 +C8 +C8 +F8 +ENDCHAR +STARTCHAR uni29E1 +ENCODING 10721 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +18 +28 +48 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni29E2 +ENCODING 10722 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni29E3 +ENCODING 10723 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni29E4 +ENCODING 10724 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni29E5 +ENCODING 10725 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +10 +F8 +20 +F8 +20 +F8 +40 +40 +ENDCHAR +STARTCHAR uni29E6 +ENCODING 10726 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +F8 +88 +F8 +88 +ENDCHAR +STARTCHAR uni29E7 +ENCODING 10727 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +40 +E0 +40 +E0 +40 +ENDCHAR +STARTCHAR uni29E8 +ENCODING 10728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +C8 +50 +20 +ENDCHAR +STARTCHAR uni29E9 +ENCODING 10729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +98 +50 +20 +ENDCHAR +STARTCHAR uni29EA +ENCODING 10730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +F8 +70 +20 +20 +70 +20 +ENDCHAR +STARTCHAR uni29EB +ENCODING 10731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +70 +F8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni29EC +ENCODING 10732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +70 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni29ED +ENCODING 10733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +F8 +F8 +70 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni29EE +ENCODING 10734 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +E0 +A0 +E0 +40 +E0 +ENDCHAR +STARTCHAR uni29EF +ENCODING 10735 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +E0 +E0 +E0 +40 +E0 +ENDCHAR +STARTCHAR uni29F0 +ENCODING 10736 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +20 +20 +50 +88 +50 +20 +20 +70 +ENDCHAR +STARTCHAR uni29F1 +ENCODING 10737 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +20 +20 +70 +F8 +70 +20 +20 +70 +ENDCHAR +STARTCHAR uni29F2 +ENCODING 10738 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +20 +70 +88 +88 +70 +20 +70 +ENDCHAR +STARTCHAR uni29F3 +ENCODING 10739 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +20 +70 +F8 +F8 +70 +20 +70 +ENDCHAR +STARTCHAR uni29F4 +ENCODING 10740 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +10 +F8 +10 +A0 +ENDCHAR +STARTCHAR uni29F5 +ENCODING 10741 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +80 +80 +40 +40 +20 +20 +10 +10 +ENDCHAR +STARTCHAR uni29F6 +ENCODING 10742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +F0 +00 +10 +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni29F7 +ENCODING 10743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +80 +80 +40 +F0 +20 +20 +10 +10 +ENDCHAR +STARTCHAR uni29F8 +ENCODING 10744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +10 +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni29F9 +ENCODING 10745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +80 +80 +40 +40 +20 +20 +10 +10 +ENDCHAR +STARTCHAR uni29FA +ENCODING 10746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +50 +F8 +50 +50 +ENDCHAR +STARTCHAR uni29FB +ENCODING 10747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +54 +54 +FC +54 +54 +ENDCHAR +STARTCHAR uni29FC +ENCODING 10748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +20 +40 +40 +80 +40 +40 +20 +20 +ENDCHAR +STARTCHAR uni29FD +ENCODING 10749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +80 +40 +40 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni29FE +ENCODING 10750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni29FF +ENCODING 10751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +88 +F8 +88 +ENDCHAR +STARTCHAR uni2A00 +ENCODING 10752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2A01 +ENCODING 10753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni2A02 +ENCODING 10754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +D8 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni2A03 +ENCODING 10755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2A04 +ENCODING 10756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +A8 +F8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2A05 +ENCODING 10757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni2A06 +ENCODING 10758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2A07 +ENCODING 10759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +30 +78 +78 +CC +CC +ENDCHAR +STARTCHAR uni2A08 +ENCODING 10760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +CC +CC +78 +78 +30 +30 +ENDCHAR +STARTCHAR uni2A09 +ENCODING 10761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni2A0A +ENCODING 10762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +60 +50 +60 +80 +F8 +ENDCHAR +STARTCHAR uni2A0B +ENCODING 10763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +F8 +60 +20 +60 +F8 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A0C +ENCODING 10764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +38 +7C +78 +78 +78 +78 +78 +78 +F8 +70 +ENDCHAR +STARTCHAR uni2A0D +ENCODING 10765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +20 +70 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A0E +ENCODING 10766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +20 +70 +20 +70 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A0F +ENCODING 10767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +28 +30 +60 +A0 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A10 +ENCODING 10768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +70 +A0 +A0 +A0 +60 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A11 +ENCODING 10769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +20 +3C +AC +74 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A12 +ENCODING 10770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +38 +08 +28 +08 +38 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A13 +ENCODING 10771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +30 +08 +28 +08 +30 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A14 +ENCODING 10772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +38 +04 +14 +04 +38 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A15 +ENCODING 10773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +70 +88 +A8 +88 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A16 +ENCODING 10774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +F8 +A8 +A8 +F8 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A17 +ENCODING 10775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +08 +14 +10 +10 +50 +FC +54 +10 +10 +10 +50 +20 +ENDCHAR +STARTCHAR uni2A18 +ENCODING 10776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +A8 +70 +20 +70 +A8 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A19 +ENCODING 10777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +70 +A8 +A8 +A8 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A1A +ENCODING 10778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +A8 +A8 +A8 +70 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A1B +ENCODING 10779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +78 +00 +10 +28 +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A1C +ENCODING 10780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +20 +20 +20 +20 +A0 +40 +00 +F8 +ENDCHAR +STARTCHAR uni2A1D +ENCODING 10781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +84 +CC +B4 +B4 +B4 +CC +84 +ENDCHAR +STARTCHAR uni2A1E +ENCODING 10782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +10 +30 +50 +90 +50 +30 +10 +ENDCHAR +STARTCHAR uni2A1F +ENCODING 10783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 -1 +BITMAP +40 +A0 +40 +00 +40 +A0 +40 +80 +ENDCHAR +STARTCHAR uni2A20 +ENCODING 10784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +90 +48 +24 +48 +90 +ENDCHAR +STARTCHAR uni2A21 +ENCODING 10785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +80 +C0 +A0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2A22 +ENCODING 10786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +20 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2A23 +ENCODING 10787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2A24 +ENCODING 10788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2A25 +ENCODING 10789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +00 +20 +ENDCHAR +STARTCHAR uni2A26 +ENCODING 10790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +F8 +20 +20 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A27 +ENCODING 10791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +20 +20 +F8 +20 +2C +04 +08 +1C +ENDCHAR +STARTCHAR uni2A28 +ENCODING 10792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +F8 +20 +70 +20 +ENDCHAR +STARTCHAR uni2A29 +ENCODING 10793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +30 +30 +10 +20 +00 +F8 +ENDCHAR +STARTCHAR uni2A2A +ENCODING 10794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +00 +20 +ENDCHAR +STARTCHAR uni2A2B +ENCODING 10795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +40 +00 +F8 +00 +10 +ENDCHAR +STARTCHAR uni2A2C +ENCODING 10796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +10 +00 +F8 +00 +40 +ENDCHAR +STARTCHAR uni2A2D +ENCODING 10797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +90 +B8 +90 +40 +38 +ENDCHAR +STARTCHAR uni2A2E +ENCODING 10798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +10 +48 +E8 +48 +10 +60 +ENDCHAR +STARTCHAR uni2A2F +ENCODING 10799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni2A30 +ENCODING 10800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni2A31 +ENCODING 10801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +50 +20 +50 +88 +00 +F8 +ENDCHAR +STARTCHAR uni2A32 +ENCODING 10802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +F8 +ENDCHAR +STARTCHAR uni2A33 +ENCODING 10803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +CC +78 +30 +78 +CC +ENDCHAR +STARTCHAR uni2A34 +ENCODING 10804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +80 +A8 +90 +A8 +80 +70 +ENDCHAR +STARTCHAR uni2A35 +ENCODING 10805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +08 +A8 +48 +A8 +08 +70 +ENDCHAR +STARTCHAR uni2A36 +ENCODING 10806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +D8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2A37 +ENCODING 10807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +D8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2A38 +ENCODING 10808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +88 +F8 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2A39 +ENCODING 10809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +78 +B4 +84 +FC +ENDCHAR +STARTCHAR uni2A3A +ENCODING 10810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +48 +B4 +84 +FC +ENDCHAR +STARTCHAR uni2A3B +ENCODING 10811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +78 +B4 +84 +FC +ENDCHAR +STARTCHAR uni2A3C +ENCODING 10812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +08 +08 +F8 +ENDCHAR +STARTCHAR uni2A3D +ENCODING 10813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +80 +80 +F8 +ENDCHAR +STARTCHAR uni2A3E +ENCODING 10814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +40 +A0 +40 +00 +40 +A0 +60 +20 +40 +ENDCHAR +STARTCHAR uni2A3F +ENCODING 10815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +DC +88 +88 +88 +88 +88 +FC +ENDCHAR +STARTCHAR uni2A40 +ENCODING 10816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni2A41 +ENCODING 10817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni2A42 +ENCODING 10818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2A43 +ENCODING 10819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +88 +88 +88 +88 +88 +00 +F8 +ENDCHAR +STARTCHAR uni2A44 +ENCODING 10820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +A8 +D8 +ENDCHAR +STARTCHAR uni2A45 +ENCODING 10821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +D8 +A8 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2A46 +ENCODING 10822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +90 +90 +60 +00 +60 +90 +90 +ENDCHAR +STARTCHAR uni2A47 +ENCODING 10823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +60 +90 +90 +00 +90 +90 +60 +ENDCHAR +STARTCHAR uni2A48 +ENCODING 10824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -1 +BITMAP +90 +90 +60 +00 +F0 +00 +60 +90 +90 +ENDCHAR +STARTCHAR uni2A49 +ENCODING 10825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -1 +BITMAP +60 +90 +90 +00 +F0 +00 +90 +90 +60 +ENDCHAR +STARTCHAR uni2A4A +ENCODING 10826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +A8 +A8 +50 +ENDCHAR +STARTCHAR uni2A4B +ENCODING 10827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +50 +A8 +A8 +ENDCHAR +STARTCHAR uni2A4C +ENCODING 10828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +48 +48 +48 +48 +48 +30 +ENDCHAR +STARTCHAR uni2A4D +ENCODING 10829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +48 +48 +48 +FC +ENDCHAR +STARTCHAR uni2A4E +ENCODING 10830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +F8 +D8 +D8 +D8 +D8 +D8 +ENDCHAR +STARTCHAR uni2A4F +ENCODING 10831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +D8 +D8 +D8 +D8 +D8 +F8 +F8 +ENDCHAR +STARTCHAR uni2A50 +ENCODING 10832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +D8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2A51 +ENCODING 10833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni2A52 +ENCODING 10834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2A53 +ENCODING 10835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +50 +20 +A8 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2A54 +ENCODING 10836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +50 +50 +88 +A8 +20 +50 +50 +ENDCHAR +STARTCHAR uni2A55 +ENCODING 10837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +30 +78 +78 +78 +CC +CC +ENDCHAR +STARTCHAR uni2A56 +ENCODING 10838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +CC +CC +78 +78 +78 +30 +30 +ENDCHAR +STARTCHAR uni2A57 +ENCODING 10839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +84 +88 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni2A58 +ENCODING 10840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +04 +0C +14 +24 +44 +84 +ENDCHAR +STARTCHAR uni2A59 +ENCODING 10841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +A8 +70 +50 +70 +A8 +88 +ENDCHAR +STARTCHAR uni2A5A +ENCODING 10842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +70 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni2A5B +ENCODING 10843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +A8 +A8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni2A5C +ENCODING 10844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +F8 +50 +88 +88 +ENDCHAR +STARTCHAR uni2A5D +ENCODING 10845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +F8 +50 +20 +20 +ENDCHAR +STARTCHAR uni2A5E +ENCODING 10846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +00 +F8 +00 +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni2A5F +ENCODING 10847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +50 +50 +88 +88 +00 +F8 +ENDCHAR +STARTCHAR uni2A60 +ENCODING 10848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +20 +50 +50 +88 +88 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A61 +ENCODING 10849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +50 +20 +00 +F8 +ENDCHAR +STARTCHAR uni2A62 +ENCODING 10850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +00 +F8 +00 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2A63 +ENCODING 10851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +88 +88 +50 +50 +20 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A64 +ENCODING 10852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +08 +18 +28 +48 +F8 +48 +28 +18 +08 +ENDCHAR +STARTCHAR uni2A65 +ENCODING 10853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +80 +C0 +A0 +90 +F8 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni2A66 +ENCODING 10854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +00 +F8 +00 +20 +ENDCHAR +STARTCHAR uni2A67 +ENCODING 10855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A68 +ENCODING 10856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +F8 +50 +F8 +50 +F8 +50 +ENDCHAR +STARTCHAR uni2A69 +ENCODING 10857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A8 +FC +A8 +FC +A8 +FC +A8 +ENDCHAR +STARTCHAR uni2A6A +ENCODING 10858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +20 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A6B +ENCODING 10859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +00 +68 +B0 +00 +40 +ENDCHAR +STARTCHAR uni2A6C +ENCODING 10860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +68 +B0 +00 +F8 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A6D +ENCODING 10861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +68 +B0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A6E +ENCODING 10862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +A8 +70 +F8 +70 +A8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A6F +ENCODING 10863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A70 +ENCODING 10864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +68 +B0 +00 +68 +B0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A71 +ENCODING 10865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F8 +00 +F8 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2A72 +ENCODING 10866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +F8 +20 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A73 +ENCODING 10867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +00 +F8 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A74 +ENCODING 10868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +AC +00 +AC +ENDCHAR +STARTCHAR uni2A75 +ENCODING 10869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +D8 +00 +D8 +ENDCHAR +STARTCHAR uni2A76 +ENCODING 10870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +A8 +00 +A8 +ENDCHAR +STARTCHAR uni2A77 +ENCODING 10871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +F8 +00 +F8 +00 +50 +ENDCHAR +STARTCHAR uni2A78 +ENCODING 10872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +00 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A79 +ENCODING 10873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +20 +48 +94 +48 +20 +10 +ENDCHAR +STARTCHAR uni2A7A +ENCODING 10874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +10 +48 +A4 +48 +10 +20 +ENDCHAR +STARTCHAR uni2A7B +ENCODING 10875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +C0 +20 +40 +00 +40 +0C +30 +C0 +30 +0C +ENDCHAR +STARTCHAR uni2A7C +ENCODING 10876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +18 +04 +08 +00 +08 +C0 +30 +0C +30 +C0 +ENDCHAR +STARTCHAR uni2A7D +ENCODING 10877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +C0 +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2A7E +ENCODING 10878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +0C +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2A7F +ENCODING 10879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +C4 +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2A80 +ENCODING 10880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +8C +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2A81 +ENCODING 10881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +40 +0C +30 +C0 +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2A82 +ENCODING 10882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +C0 +30 +0C +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2A83 +ENCODING 10883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +04 +00 +0C +30 +C0 +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2A84 +ENCODING 10884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +80 +00 +C0 +30 +0C +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2A85 +ENCODING 10885 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +38 +C0 +38 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A86 +ENCODING 10886 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +E0 +18 +E0 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A87 +ENCODING 10887 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +0C +30 +C0 +30 +0C +00 +10 +FC +40 +ENDCHAR +STARTCHAR uni2A88 +ENCODING 10888 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +C0 +30 +0C +30 +C0 +00 +10 +FC +40 +ENDCHAR +STARTCHAR uni2A89 +ENCODING 10889 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +38 +C0 +38 +00 +10 +78 +B0 +20 +68 +F0 +40 +ENDCHAR +STARTCHAR uni2A8A +ENCODING 10890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +E0 +18 +E0 +00 +10 +78 +B0 +20 +68 +F0 +40 +ENDCHAR +STARTCHAR uni2A8B +ENCODING 10891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +38 +C0 +38 +00 +F8 +00 +F8 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A8C +ENCODING 10892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +E0 +18 +E0 +00 +F8 +00 +F8 +00 +38 +C0 +38 +ENDCHAR +STARTCHAR uni2A8D +ENCODING 10893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +38 +C0 +38 +00 +68 +B0 +00 +F8 +ENDCHAR +STARTCHAR uni2A8E +ENCODING 10894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +E0 +18 +E0 +00 +68 +B0 +00 +F8 +ENDCHAR +STARTCHAR uni2A8F +ENCODING 10895 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +38 +C0 +38 +00 +68 +B0 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A90 +ENCODING 10896 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +E0 +18 +E0 +00 +68 +B0 +00 +38 +C0 +38 +ENDCHAR +STARTCHAR uni2A91 +ENCODING 10897 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +38 +C0 +38 +E0 +18 +E0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A92 +ENCODING 10898 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +E0 +18 +E0 +38 +C0 +38 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A93 +ENCODING 10899 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +1C +E0 +1C +E0 +1C +E0 +1C +E0 +1C +E0 +ENDCHAR +STARTCHAR uni2A94 +ENCODING 10900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +E0 +1C +E0 +1C +E0 +1C +E0 +1C +E0 +1C +ENDCHAR +STARTCHAR uni2A95 +ENCODING 10901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +CC +30 +C0 +30 +0C +ENDCHAR +STARTCHAR uni2A96 +ENCODING 10902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +CC +30 +0C +30 +C0 +ENDCHAR +STARTCHAR uni2A97 +ENCODING 10903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +CC +30 +C4 +30 +0C +ENDCHAR +STARTCHAR uni2A98 +ENCODING 10904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +CC +30 +8C +30 +C0 +ENDCHAR +STARTCHAR uni2A99 +ENCODING 10905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +F8 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A9A +ENCODING 10906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +F8 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A9B +ENCODING 10907 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +0C +30 +CC +30 +CC +30 +C0 +30 +0C +ENDCHAR +STARTCHAR uni2A9C +ENCODING 10908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +C0 +30 +CC +30 +CC +30 +0C +30 +C0 +ENDCHAR +STARTCHAR uni2A9D +ENCODING 10909 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +68 +B0 +00 +38 +C0 +38 +ENDCHAR +STARTCHAR uni2A9E +ENCODING 10910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +68 +B0 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A9F +ENCODING 10911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +68 +B0 +00 +38 +C0 +38 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AA0 +ENCODING 10912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +68 +B0 +00 +E0 +18 +E0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AA1 +ENCODING 10913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +48 +90 +48 +20 +10 +ENDCHAR +STARTCHAR uni2AA2 +ENCODING 10914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +20 +90 +48 +90 +20 +40 +ENDCHAR +STARTCHAR uni2AA3 +ENCODING 10915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +24 +48 +90 +48 +24 +00 +FC +ENDCHAR +STARTCHAR uni2AA4 +ENCODING 10916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +CC +30 +48 +30 +CC +ENDCHAR +STARTCHAR uni2AA5 +ENCODING 10917 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +84 +48 +30 +48 +84 +ENDCHAR +STARTCHAR uni2AA6 +ENCODING 10918 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +08 +34 +C4 +34 +08 +ENDCHAR +STARTCHAR uni2AA7 +ENCODING 10919 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +B0 +8C +B0 +40 +ENDCHAR +STARTCHAR uni2AA8 +ENCODING 10920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +08 +34 +C4 +34 +C8 +30 +0C +ENDCHAR +STARTCHAR uni2AA9 +ENCODING 10921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +40 +B0 +8C +B0 +4C +30 +C0 +ENDCHAR +STARTCHAR uni2AAA +ENCODING 10922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +0C +30 +FC +30 +0C +ENDCHAR +STARTCHAR uni2AAB +ENCODING 10923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C0 +30 +FC +30 +C0 +ENDCHAR +STARTCHAR uni2AAC +ENCODING 10924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +FC +30 +0C +00 +FC +ENDCHAR +STARTCHAR uni2AAD +ENCODING 10925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +FC +30 +C0 +00 +FC +ENDCHAR +STARTCHAR uni2AAE +ENCODING 10926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +D8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AAF +ENCODING 10927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +30 +C0 +30 +08 +00 +F8 +ENDCHAR +STARTCHAR uni2AB0 +ENCODING 10928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +60 +18 +60 +80 +00 +F8 +ENDCHAR +STARTCHAR uni2AB1 +ENCODING 10929 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +08 +30 +C0 +30 +08 +10 +F8 +40 +ENDCHAR +STARTCHAR uni2AB2 +ENCODING 10930 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +80 +60 +18 +60 +80 +10 +F8 +40 +ENDCHAR +STARTCHAR uni2AB3 +ENCODING 10931 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +08 +30 +C0 +30 +08 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AB4 +ENCODING 10932 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +80 +60 +18 +60 +80 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AB5 +ENCODING 10933 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +08 +30 +C0 +30 +08 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2AB6 +ENCODING 10934 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +80 +60 +18 +60 +80 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2AB7 +ENCODING 10935 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +08 +30 +C0 +30 +08 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2AB8 +ENCODING 10936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +80 +60 +18 +60 +80 +00 +B0 +68 +00 +B0 +68 +ENDCHAR +STARTCHAR uni2AB9 +ENCODING 10937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +08 +30 +C0 +30 +08 +10 +78 +B0 +20 +68 +F0 +40 +ENDCHAR +STARTCHAR uni2ABA +ENCODING 10938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +80 +60 +18 +60 +80 +10 +78 +B0 +20 +68 +F0 +40 +ENDCHAR +STARTCHAR uni2ABB +ENCODING 10939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +28 +50 +A0 +50 +28 +28 +ENDCHAR +STARTCHAR uni2ABC +ENCODING 10940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +50 +28 +50 +A0 +A0 +ENDCHAR +STARTCHAR uni2ABD +ENCODING 10941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +78 +80 +A0 +80 +78 +ENDCHAR +STARTCHAR uni2ABE +ENCODING 10942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F0 +08 +28 +08 +F0 +ENDCHAR +STARTCHAR uni2ABF +ENCODING 10943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +80 +80 +78 +00 +20 +70 +20 +ENDCHAR +STARTCHAR uni2AC0 +ENCODING 10944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +08 +08 +F0 +00 +20 +70 +20 +ENDCHAR +STARTCHAR uni2AC1 +ENCODING 10945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +80 +80 +78 +00 +50 +20 +50 +ENDCHAR +STARTCHAR uni2AC2 +ENCODING 10946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +08 +08 +F0 +00 +50 +20 +50 +ENDCHAR +STARTCHAR uni2AC3 +ENCODING 10947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +78 +80 +80 +78 +00 +F8 +ENDCHAR +STARTCHAR uni2AC4 +ENCODING 10948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +F0 +08 +08 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni2AC5 +ENCODING 10949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +80 +80 +78 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AC6 +ENCODING 10950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +08 +08 +F0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AC7 +ENCODING 10951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +80 +80 +78 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2AC8 +ENCODING 10952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +08 +08 +F0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2AC9 +ENCODING 10953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +78 +80 +80 +78 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2ACA +ENCODING 10954 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F0 +08 +08 +F0 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2ACB +ENCODING 10955 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +78 +80 +80 +78 +00 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2ACC +ENCODING 10956 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F0 +08 +08 +F0 +00 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2ACD +ENCODING 10957 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +80 +80 +F0 +ENDCHAR +STARTCHAR uni2ACE +ENCODING 10958 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +04 +04 +3C +ENDCHAR +STARTCHAR uni2ACF +ENCODING 10959 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +48 +88 +88 +88 +48 +38 +ENDCHAR +STARTCHAR uni2AD0 +ENCODING 10960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +90 +88 +88 +88 +90 +E0 +ENDCHAR +STARTCHAR uni2AD1 +ENCODING 10961 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +38 +48 +88 +88 +88 +48 +38 +00 +F8 +ENDCHAR +STARTCHAR uni2AD2 +ENCODING 10962 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +E0 +90 +88 +88 +88 +90 +E0 +00 +F8 +ENDCHAR +STARTCHAR uni2AD3 +ENCODING 10963 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +78 +80 +80 +78 +00 +F0 +08 +08 +F0 +ENDCHAR +STARTCHAR uni2AD4 +ENCODING 10964 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F0 +08 +08 +F0 +00 +78 +80 +80 +78 +ENDCHAR +STARTCHAR uni2AD5 +ENCODING 10965 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +78 +80 +80 +78 +00 +78 +80 +80 +78 +ENDCHAR +STARTCHAR uni2AD6 +ENCODING 10966 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F0 +08 +08 +F0 +00 +F0 +08 +08 +F0 +ENDCHAR +STARTCHAR uni2AD7 +ENCODING 10967 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +CC +30 +30 +CC +ENDCHAR +STARTCHAR uni2AD8 +ENCODING 10968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +CC +30 +78 +30 +CC +ENDCHAR +STARTCHAR uni2AD9 +ENCODING 10969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2ADA +ENCODING 10970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +20 +70 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2ADB +ENCODING 10971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +A8 +20 +ENDCHAR +STARTCHAR uni2ADC +ENCODING 10972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +28 +30 +A8 +E8 +F0 +ENDCHAR +STARTCHAR uni2ADD +ENCODING 10973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2ADE +ENCODING 10974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +10 +10 +10 +F0 +10 +10 +10 +ENDCHAR +STARTCHAR uni2ADF +ENCODING 10975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2AE0 +ENCODING 10976 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni2AE1 +ENCODING 10977 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +24 +28 +24 +28 +20 +FC +ENDCHAR +STARTCHAR uni2AE2 +ENCODING 10978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +F8 +80 +F8 +80 +F8 +80 +ENDCHAR +STARTCHAR uni2AE3 +ENCODING 10979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +28 +28 +E8 +28 +28 +28 +ENDCHAR +STARTCHAR uni2AE4 +ENCODING 10980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +F8 +08 +F8 +08 +08 +ENDCHAR +STARTCHAR uni2AE5 +ENCODING 10981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +28 +E8 +28 +E8 +28 +28 +ENDCHAR +STARTCHAR uni2AE6 +ENCODING 10982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +A0 +F8 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2AE7 +ENCODING 10983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +00 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2AE8 +ENCODING 10984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AE9 +ENCODING 10985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +00 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2AEA +ENCODING 10986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +50 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni2AEB +ENCODING 10987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +50 +50 +50 +50 +F8 +ENDCHAR +STARTCHAR uni2AEC +ENCODING 10988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +F8 +08 +F8 +08 +ENDCHAR +STARTCHAR uni2AED +ENCODING 10989 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 1 1 +BITMAP +F8 +80 +F8 +80 +ENDCHAR +STARTCHAR uni2AEE +ENCODING 10990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +40 +C0 +40 +60 +40 +40 +ENDCHAR +STARTCHAR uni2AEF +ENCODING 10991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni2AF0 +ENCODING 10992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +40 +40 +40 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2AF1 +ENCODING 10993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2AF2 +ENCODING 10994 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +50 +F8 +50 +50 +50 +ENDCHAR +STARTCHAR uni2AF3 +ENCODING 10995 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +78 +F0 +50 +50 +50 +ENDCHAR +STARTCHAR uni2AF4 +ENCODING 10996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2AF5 +ENCODING 10997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A8 +A8 +A8 +FC +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2AF6 +ENCODING 10998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 1 +BITMAP +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2AF7 +ENCODING 10999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +54 +A8 +54 +ENDCHAR +STARTCHAR uni2AF8 +ENCODING 11000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +A8 +54 +A8 +ENDCHAR +STARTCHAR uni2AF9 +ENCODING 11001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +0C +30 +C0 +30 +CC +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2AFA +ENCODING 11002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +C0 +30 +0C +30 +CC +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2AFB +ENCODING 11003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +54 +54 +54 +54 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2AFC +ENCODING 11004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2AFD +ENCODING 11005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +48 +48 +48 +90 +90 +90 +90 +ENDCHAR +STARTCHAR uni2AFE +ENCODING 11006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +E0 +A0 +A0 +A0 +A0 +E0 +ENDCHAR +STARTCHAR uni2AFF +ENCODING 11007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +E0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +E0 +ENDCHAR +STARTCHAR uni2B00 +ENCODING 11008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +1C +14 +2C +50 +A0 +40 +ENDCHAR +STARTCHAR uni2B01 +ENCODING 11009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +E0 +A0 +D0 +28 +14 +08 +ENDCHAR +STARTCHAR uni2B02 +ENCODING 11010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +A0 +50 +2C +14 +1C +ENDCHAR +STARTCHAR uni2B03 +ENCODING 11011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +08 +14 +28 +D0 +A0 +E0 +ENDCHAR +STARTCHAR uni2B04 +ENCODING 11012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +48 +B4 +84 +B4 +48 +ENDCHAR +STARTCHAR uni2B05 +ENCODING 11013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +60 +F8 +F8 +60 +20 +ENDCHAR +STARTCHAR uni2B06 +ENCODING 11014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +78 +FC +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2B07 +ENCODING 11015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +30 +30 +30 +FC +78 +30 +ENDCHAR +STARTCHAR uni2B08 +ENCODING 11016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +1C +1C +3C +70 +E0 +40 +ENDCHAR +STARTCHAR uni2B09 +ENCODING 11017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +E0 +E0 +F0 +38 +1C +08 +ENDCHAR +STARTCHAR uni2B0A +ENCODING 11018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +E0 +70 +3C +1C +1C +ENDCHAR +STARTCHAR uni2B0B +ENCODING 11019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +08 +1C +38 +F0 +E0 +E0 +ENDCHAR +STARTCHAR uni2B0C +ENCODING 11020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +FC +48 +ENDCHAR +STARTCHAR uni2B0D +ENCODING 11021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +30 +78 +FC +30 +30 +30 +FC +78 +30 +ENDCHAR +STARTCHAR uni2B0E +ENCODING 11022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +E0 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2B0F +ENCODING 11023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +A8 +20 +20 +E0 +ENDCHAR +STARTCHAR uni2B10 +ENCODING 11024 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2B11 +ENCODING 11025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +A8 +20 +20 +38 +ENDCHAR +STARTCHAR uni2B12 +ENCODING 11026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +F8 +F8 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2B13 +ENCODING 11027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +88 +88 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni2B14 +ENCODING 11028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +B8 +98 +88 +F8 +ENDCHAR +STARTCHAR uni2B15 +ENCODING 11029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +C8 +E8 +F8 +ENDCHAR +STARTCHAR uni2B16 +ENCODING 11030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +30 +68 +EC +68 +30 +ENDCHAR +STARTCHAR uni2B17 +ENCODING 11031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +30 +58 +9C +58 +30 +ENDCHAR +STARTCHAR uni2B18 +ENCODING 11032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +F8 +88 +50 +20 +ENDCHAR +STARTCHAR uni2B19 +ENCODING 11033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +88 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2B1A +ENCODING 11034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +00 +88 +00 +A8 +ENDCHAR +STARTCHAR uni2B1B +ENCODING 11035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni2B1C +ENCODING 11036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2B1D +ENCODING 11037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2B1E +ENCODING 11038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +E0 +A0 +E0 +ENDCHAR +STARTCHAR uni2B1F +ENCODING 11039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +F8 +F8 +70 +70 +ENDCHAR +STARTCHAR uni2B20 +ENCODING 11040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +88 +88 +50 +70 +ENDCHAR +STARTCHAR uni2B21 +ENCODING 11041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +88 +88 +88 +50 +20 +ENDCHAR +STARTCHAR uni2B22 +ENCODING 11042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +F8 +F8 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2B23 +ENCODING 11043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +70 +F8 +70 +ENDCHAR +STARTCHAR uni2B24 +ENCODING 11044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +FC +FC +FC +FC +78 +ENDCHAR +STARTCHAR uni2B25 +ENCODING 11045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2B26 +ENCODING 11046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni2B27 +ENCODING 11047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +40 +40 +E0 +E0 +40 +40 +ENDCHAR +STARTCHAR uni2B28 +ENCODING 11048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +50 +50 +88 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni2B29 +ENCODING 11049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2B2A +ENCODING 11050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +40 +40 +E0 +40 +40 +ENDCHAR +STARTCHAR uni2B2B +ENCODING 11051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni2B2C +ENCODING 11052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +70 +F8 +F8 +70 +ENDCHAR +STARTCHAR uni2B2D +ENCODING 11053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +70 +88 +88 +70 +ENDCHAR +STARTCHAR uni2B2E +ENCODING 11054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +F8 +F8 +F8 +F8 +70 +ENDCHAR +STARTCHAR uni2B2F +ENCODING 11055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2B30 +ENCODING 11056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +58 +FC +58 +ENDCHAR +STARTCHAR uni2B31 +ENCODING 11057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +40 +F8 +40 +00 +40 +F8 +40 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2B32 +ENCODING 11058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +58 +FC +58 +ENDCHAR +STARTCHAR uni2B33 +ENCODING 11059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +54 +E8 +40 +ENDCHAR +STARTCHAR uni2B34 +ENCODING 11060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +08 +68 +FC +68 +08 +ENDCHAR +STARTCHAR uni2B35 +ENCODING 11061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +18 +78 +FC +78 +18 +ENDCHAR +STARTCHAR uni2B36 +ENCODING 11062 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +68 +F8 +68 +08 +ENDCHAR +STARTCHAR uni2B37 +ENCODING 11063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +64 +D8 +64 +ENDCHAR +STARTCHAR uni2B38 +ENCODING 11064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +40 +A8 +40 +20 +ENDCHAR +STARTCHAR uni2B39 +ENCODING 11065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +10 +54 +F8 +54 +10 +ENDCHAR +STARTCHAR uni2B3A +ENCODING 11066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +30 +74 +F8 +74 +30 +ENDCHAR +STARTCHAR uni2B3B +ENCODING 11067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +64 +F8 +64 +ENDCHAR +STARTCHAR uni2B3C +ENCODING 11068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +10 +74 +F8 +74 +10 +ENDCHAR +STARTCHAR uni2B3D +ENCODING 11069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +18 +7C +F8 +7C +18 +ENDCHAR +STARTCHAR uni2B3E +ENCODING 11070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +58 +FC +58 +ENDCHAR +STARTCHAR uni2B3F +ENCODING 11071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +F4 +40 +ENDCHAR +STARTCHAR uni2B40 +ENCODING 11072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +38 +00 +38 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2B41 +ENCODING 11073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2B42 +ENCODING 11074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +40 +F8 +40 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2B43 +ENCODING 11075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +80 +40 +28 +FC +28 +40 +80 +ENDCHAR +STARTCHAR uni2B44 +ENCODING 11076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +C0 +28 +FC +28 +C0 +ENDCHAR +STARTCHAR uni2B45 +ENCODING 11077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +3C +40 +FC +40 +3C +10 +ENDCHAR +STARTCHAR uni2B46 +ENCODING 11078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +F0 +08 +FC +08 +F0 +20 +ENDCHAR +STARTCHAR uni2B47 +ENCODING 11079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +10 +F8 +10 +ENDCHAR +STARTCHAR uni2B48 +ENCODING 11080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +F8 +10 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2B49 +ENCODING 11081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2B4A +ENCODING 11082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +40 +F8 +40 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2B4B +ENCODING 11083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +40 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2B4C +ENCODING 11084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +10 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2C60 +ENCODING 11360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +E0 +40 +E0 +40 +78 +ENDCHAR +STARTCHAR uni2C61 +ENCODING 11361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +C0 +40 +E0 +40 +E0 +40 +ENDCHAR +STARTCHAR uni2C62 +ENCODING 11362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +68 +B0 +20 +20 +38 +ENDCHAR +STARTCHAR uni2C63 +ENCODING 11363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +48 +E8 +48 +70 +40 +40 +ENDCHAR +STARTCHAR uni2C64 +ENCODING 11364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +88 +88 +F0 +A0 +90 +88 +A0 +40 +ENDCHAR +STARTCHAR uni2C65 +ENCODING 11365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +08 +08 +70 +18 +78 +A8 +78 +40 +ENDCHAR +STARTCHAR uni2C66 +ENCODING 11366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +28 +28 +F8 +30 +20 +20 +58 +40 +ENDCHAR +STARTCHAR uni2C67 +ENCODING 11367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +88 +88 +88 +F8 +88 +88 +8C +04 +ENDCHAR +STARTCHAR uni2C68 +ENCODING 11368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +80 +80 +F0 +88 +88 +88 +8C +04 +ENDCHAR +STARTCHAR uni2C69 +ENCODING 11369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +88 +90 +A0 +C0 +A0 +90 +8C +04 +ENDCHAR +STARTCHAR uni2C6A +ENCODING 11370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +80 +80 +88 +90 +E0 +90 +8C +04 +ENDCHAR +STARTCHAR uni2C6B +ENCODING 11371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +F8 +08 +10 +20 +40 +80 +FC +04 +ENDCHAR +STARTCHAR uni2C6C +ENCODING 11372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +F8 +10 +20 +40 +FC +04 +ENDCHAR +STARTCHAR uni2C6D +ENCODING 11373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +68 +98 +88 +88 +88 +88 +74 +ENDCHAR +STARTCHAR uni2C6E +ENCODING 11374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +28 +10 +ENDCHAR +STARTCHAR uni2C6F +ENCODING 11375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni2C71 +ENCODING 11377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +84 +88 +88 +50 +20 +ENDCHAR +STARTCHAR uni2C72 +ENCODING 11378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +84 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni2C73 +ENCODING 11379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +84 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni2C74 +ENCODING 11380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +48 +A8 +C8 +50 +20 +ENDCHAR +STARTCHAR uni2C75 +ENCODING 11381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +80 +80 +80 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni2C76 +ENCODING 11382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni2C77 +ENCODING 11383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2C78 +ENCODING 11384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +70 +88 +F0 +80 +74 +18 +ENDCHAR +STARTCHAR uni2C79 +ENCODING 11385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 0 +BITMAP +40 +40 +40 +C0 +ENDCHAR +STARTCHAR uni2C7A +ENCODING 11386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni2C7B +ENCODING 11387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +F0 +10 +70 +10 +F0 +ENDCHAR +STARTCHAR uni2C7C +ENCODING 11388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 -2 +BITMAP +20 +00 +60 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2C7D +ENCODING 11389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +88 +88 +88 +50 +20 +ENDCHAR +STARTCHAR uni2DE0 +ENCODING 11744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 +BITMAP +60 +C0 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni2DE1 +ENCODING 11745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 +BITMAP +C0 +A0 +C0 +A0 +C0 +ENDCHAR +STARTCHAR uni2DE2 +ENCODING 11746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +E0 +80 +80 +80 +ENDCHAR +STARTCHAR uni2DE3 +ENCODING 11747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +70 +50 +50 +F0 +ENDCHAR +STARTCHAR uni2DE4 +ENCODING 11748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 +BITMAP +A8 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni2DE5 +ENCODING 11749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 +BITMAP +C0 +20 +40 +20 +C0 +ENDCHAR +STARTCHAR uni2DE6 +ENCODING 11750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +C0 +A0 +A0 +ENDCHAR +STARTCHAR uni2DE7 +ENCODING 11751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +70 +50 +50 +90 +ENDCHAR +STARTCHAR uni2DE8 +ENCODING 11752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +E0 +A0 +A0 +ENDCHAR +STARTCHAR uni2DE9 +ENCODING 11753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +90 +F0 +90 +90 +ENDCHAR +STARTCHAR uni2DEA +ENCODING 11754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni2DEB +ENCODING 11755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2DEC +ENCODING 11756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +C0 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni2DED +ENCODING 11757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +60 +80 +80 +60 +ENDCHAR +STARTCHAR uni2DEE +ENCODING 11758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni2DEF +ENCODING 11759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +40 +A0 +A0 +ENDCHAR +STARTCHAR uni2DF0 +ENCODING 11760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 5 +BITMAP +A0 +A0 +A0 +B0 +10 +ENDCHAR +STARTCHAR uni2DF1 +ENCODING 11761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +60 +20 +20 +ENDCHAR +STARTCHAR uni2DF2 +ENCODING 11762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 +BITMAP +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2DF3 +ENCODING 11763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 5 +BITMAP +A8 +A8 +A8 +AC +04 +ENDCHAR +STARTCHAR uni2DF4 +ENCODING 11764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +60 +D0 +B0 +60 +ENDCHAR +STARTCHAR uni2DF5 +ENCODING 11765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 6 +BITMAP +7C +88 +88 +68 +ENDCHAR +STARTCHAR uni2DF6 +ENCODING 11766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +C0 +60 +A0 +60 +ENDCHAR +STARTCHAR uni2DF7 +ENCODING 11767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +60 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni2DF8 +ENCODING 11768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 +BITMAP +40 +E0 +40 +A0 +A0 +ENDCHAR +STARTCHAR uni2DF9 +ENCODING 11769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 4 +BITMAP +20 +A0 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2DFA +ENCODING 11770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 4 +BITMAP +40 +E0 +40 +60 +50 +60 +ENDCHAR +STARTCHAR uni2DFB +ENCODING 11771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 5 +BITMAP +98 +A4 +E4 +A4 +98 +ENDCHAR +STARTCHAR uni2DFC +ENCODING 11772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +B0 +88 +F8 +A8 +98 +ENDCHAR +STARTCHAR uni2DFD +ENCODING 11773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +20 +50 +F8 +A8 +A8 +ENDCHAR +STARTCHAR uni2DFE +ENCODING 11774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +F8 +50 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni2DFF +ENCODING 11775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 5 +BITMAP +FC +A8 +B8 +D4 +D4 +ENDCHAR +STARTCHAR ff +ENCODING 64256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +50 +50 +F8 +50 +50 +50 +ENDCHAR +STARTCHAR fi +ENCODING 64257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +48 +40 +F8 +48 +48 +48 +ENDCHAR +STARTCHAR fl +ENCODING 64258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +48 +48 +F8 +48 +48 +48 +ENDCHAR +STARTCHAR ffi +ENCODING 64259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A0 +F8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR ffl +ENCODING 64260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A8 +A8 +F8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uniFB05 +ENCODING 64261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +78 +D0 +50 +50 +48 +ENDCHAR +STARTCHAR uniFB06 +ENCODING 64262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +50 +78 +90 +50 +50 +88 +ENDCHAR +STARTCHAR uniFE20 +ENCODING 65056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 8 +BITMAP +38 +C0 +ENDCHAR +STARTCHAR uniFE21 +ENCODING 65057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +E0 +18 +ENDCHAR +STARTCHAR uniFE22 +ENCODING 65058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 +BITMAP +7C +80 +ENDCHAR +STARTCHAR uniFE23 +ENCODING 65059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +08 +F0 +ENDCHAR +STARTCHAR uniFFFD +ENCODING 65533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +D8 +A8 +E8 +D8 +D8 +F8 +D8 +70 +ENDCHAR +ENDFONT diff --git a/buildroot/share/fonts/marlin-6x12-2.bdf b/buildroot/share/fonts/marlin-6x12-2.bdf new file mode 100644 index 000000000000..9a612e3fb4ec --- /dev/null +++ b/buildroot/share/fonts/marlin-6x12-2.bdf @@ -0,0 +1,65513 @@ +STARTFONT 2.1 +FONT -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 +SIZE 12 75 75 +FONTBOUNDINGBOX 6 12 0 -2 +COMMENT "Marlin 6x12 Fixed, for menu display" +COMMENT "This font is base on the X Windows' 6x12 '-Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1', added Marlin symbols at position 1-9, added with jp-kana data; some chars were tweak for display on LCD screen, such as ',;c69' etc." +STARTPROPERTIES 23 +FONTNAME_REGISTRY "" +FOUNDRY "Marlin" +FAMILY_NAME "Fixed" +WEIGHT_NAME "Medium" +SLANT "R" +SETWIDTH_NAME "SemiCondensed" +ADD_STYLE_NAME "" +PIXEL_SIZE 12 +POINT_SIZE 120 +RESOLUTION_X 75 +RESOLUTION_Y 75 +SPACING "C" +AVERAGE_WIDTH 60 +CHARSET_REGISTRY "ISO10646" +CHARSET_ENCODING "1" +COPYRIGHT "Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1" +CAP_HEIGHT 7 +X_HEIGHT 5 +WEIGHT 10 +QUAD_WIDTH 6 +DEFAULT_CHAR 0 +FONT_DESCENT 2 +FONT_ASCENT 10 +ENDPROPERTIES +CHARS 4635 + +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 480 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR exclam +ENCODING 33 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +80 +80 +00 +80 +ENDCHAR +STARTCHAR quotedbl +ENCODING 34 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +A0 +A0 +A0 +ENDCHAR +STARTCHAR numbersign +ENCODING 35 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +F8 +50 +50 +F8 +50 +ENDCHAR +STARTCHAR dollar +ENCODING 36 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +A8 +A0 +70 +28 +A8 +70 +20 +ENDCHAR +STARTCHAR percent +ENCODING 37 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C8 +C8 +10 +20 +40 +98 +98 +ENDCHAR +STARTCHAR ampersand +ENCODING 38 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +A0 +A0 +40 +A8 +90 +68 +ENDCHAR +STARTCHAR quotesingle +ENCODING 39 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 3 2 5 +BITMAP +80 +80 +80 +ENDCHAR +STARTCHAR parenleft +ENCODING 40 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +40 +40 +80 +80 +80 +40 +40 +20 +ENDCHAR +STARTCHAR parenright +ENCODING 41 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +40 +40 +20 +20 +20 +40 +40 +80 +ENDCHAR +STARTCHAR asterisk +ENCODING 42 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +20 +70 +A8 +20 +ENDCHAR +STARTCHAR plus +ENCODING 43 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR comma +ENCODING 44 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 -1 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR hyphen +ENCODING 45 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR period +ENCODING 46 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 0 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR slash +ENCODING 47 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +10 +20 +40 +40 +80 +ENDCHAR +STARTCHAR zero +ENCODING 48 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +98 +A8 +C8 +88 +70 +ENDCHAR +STARTCHAR one +ENCODING 49 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +C0 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR two +ENCODING 50 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR three +ENCODING 51 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +30 +08 +88 +70 +ENDCHAR +STARTCHAR four +ENCODING 52 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +30 +50 +90 +F8 +10 +10 +ENDCHAR +STARTCHAR five +ENCODING 53 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +F0 +08 +08 +88 +70 +ENDCHAR +STARTCHAR six +ENCODING 54 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +40 +80 +F0 +88 +88 +70 +ENDCHAR +STARTCHAR seven +ENCODING 55 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +10 +20 +20 +20 +ENDCHAR +STARTCHAR eight +ENCODING 56 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +70 +88 +88 +70 +ENDCHAR +STARTCHAR nine +ENCODING 57 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +78 +08 +10 +60 +ENDCHAR +STARTCHAR colon +ENCODING 58 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 0 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR semicolon +ENCODING 59 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 1 -1 +BITMAP +C0 +C0 +00 +C0 +40 +80 +ENDCHAR +STARTCHAR less +ENCODING 60 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR equal +ENCODING 61 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +F8 +00 +F8 +ENDCHAR +STARTCHAR greater +ENCODING 62 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +40 +20 +40 +80 +ENDCHAR +STARTCHAR question +ENCODING 63 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +10 +20 +20 +00 +20 +ENDCHAR +STARTCHAR at +ENCODING 64 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +B8 +A8 +B8 +80 +70 +ENDCHAR +STARTCHAR A +ENCODING 65 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR B +ENCODING 66 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +70 +48 +48 +F0 +ENDCHAR +STARTCHAR C +ENCODING 67 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR D +ENCODING 68 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +ENDCHAR +STARTCHAR E +ENCODING 69 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR F +ENCODING 70 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR G +ENCODING 71 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR H +ENCODING 72 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR I +ENCODING 73 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR J +ENCODING 74 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR K +ENCODING 75 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR L +ENCODING 76 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR M +ENCODING 77 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR N +ENCODING 78 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR O +ENCODING 79 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR P +ENCODING 80 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR Q +ENCODING 81 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +A8 +90 +68 +ENDCHAR +STARTCHAR R +ENCODING 82 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR S +ENCODING 83 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR T +ENCODING 84 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR U +ENCODING 85 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR V +ENCODING 86 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +50 +50 +20 +ENDCHAR +STARTCHAR W +ENCODING 87 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR X +ENCODING 88 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR Y +ENCODING 89 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Z +ENCODING 90 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR bracketleft +ENCODING 91 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR backslash +ENCODING 92 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +40 +20 +10 +10 +08 +ENDCHAR +STARTCHAR bracketright +ENCODING 93 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR asciicircum +ENCODING 94 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 5 +BITMAP +20 +50 +88 +ENDCHAR +STARTCHAR underscore +ENCODING 95 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 - +BITMAP +F8 +ENDCHAR +STARTCHAR grave +ENCODING 96 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +80 +40 +20 +ENDCHAR +STARTCHAR a +ENCODING 97 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR b +ENCODING 98 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +F0 +88 +88 +88 +F0 +ENDCHAR +STARTCHAR c +ENCODING 99 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +80 +80 +88 +70 +ENDCHAR +STARTCHAR d +ENCODING 100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR e +ENCODING 101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR f +ENCODING 102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +48 +40 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR g +ENCODING 103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR h +ENCODING 104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR i +ENCODING 105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR j +ENCODING 106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +10 +00 +30 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR k +ENCODING 107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +88 +90 +E0 +90 +88 +ENDCHAR +STARTCHAR l +ENCODING 108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR m +ENCODING 109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D0 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR n +ENCODING 110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR o +ENCODING 111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR p +ENCODING 112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR q +ENCODING 113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR r +ENCODING 114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR s +ENCODING 115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR t +ENCODING 116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +ENDCHAR +STARTCHAR u +ENCODING 117 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +98 +68 +ENDCHAR +STARTCHAR v +ENCODING 118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +50 +20 +ENDCHAR +STARTCHAR w +ENCODING 119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR x +ENCODING 120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR y +ENCODING 121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR z +ENCODING 122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR braceleft +ENCODING 123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +40 +40 +40 +80 +40 +40 +40 +20 +ENDCHAR +STARTCHAR bar +ENCODING 124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 9 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR braceright +ENCODING 125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +40 +40 +40 +20 +40 +40 +40 +80 +ENDCHAR +STARTCHAR asciitilde +ENCODING 126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +48 +A8 +90 +ENDCHAR +STARTCHAR space +ENCODING 160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR exclamdown +ENCODING 161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR cent +ENCODING 162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +70 +A8 +A0 +A8 +70 +20 +ENDCHAR +STARTCHAR sterling +ENCODING 163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +48 +40 +E0 +40 +48 +B0 +ENDCHAR +STARTCHAR currency +ENCODING 164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +50 +88 +50 +A8 +ENDCHAR +STARTCHAR yen +ENCODING 165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +50 +F8 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR brokenbar +ENCODING 166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +00 +80 +80 +80 +ENDCHAR +STARTCHAR section +ENCODING 167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +70 +80 +60 +90 +90 +60 +10 +E0 +ENDCHAR +STARTCHAR dieresis +ENCODING 168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 7 +BITMAP +A0 +ENDCHAR +STARTCHAR copyright +ENCODING 169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +B4 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR ordfeminine +ENCODING 170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +60 +A0 +60 +00 +E0 +ENDCHAR +STARTCHAR guillemotleft +ENCODING 171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +28 +50 +A0 +50 +28 +ENDCHAR +STARTCHAR logicalnot +ENCODING 172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +08 +08 +ENDCHAR +STARTCHAR hyphen +ENCODING 173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +E0 +ENDCHAR +STARTCHAR registered +ENCODING 174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR macron +ENCODING 175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 7 +BITMAP +F8 +ENDCHAR +STARTCHAR degree +ENCODING 176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 5 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR plusminus +ENCODING 177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +00 +F8 +ENDCHAR +STARTCHAR twosuperior +ENCODING 178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +20 +40 +E0 +ENDCHAR +STARTCHAR threesuperior +ENCODING 179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +C0 +20 +40 +20 +C0 +ENDCHAR +STARTCHAR acute +ENCODING 180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +20 +40 +80 +ENDCHAR +STARTCHAR mu +ENCODING 181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +98 +E8 +80 +80 +ENDCHAR +STARTCHAR paragraph +ENCODING 182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +E8 +E8 +E8 +68 +28 +28 +28 +ENDCHAR +STARTCHAR periodcentered +ENCODING 183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR cedilla +ENCODING 184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +20 +C0 +ENDCHAR +STARTCHAR onesuperior +ENCODING 185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR ordmasculine +ENCODING 186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +40 +00 +E0 +ENDCHAR +STARTCHAR guillemotright +ENCODING 187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +50 +28 +50 +A0 +ENDCHAR +STARTCHAR onequarter +ENCODING 188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +C0 +48 +50 +60 +50 +B0 +50 +78 +10 +ENDCHAR +STARTCHAR onehalf +ENCODING 189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +C0 +48 +50 +60 +50 +A8 +08 +10 +38 +ENDCHAR +STARTCHAR threequarters +ENCODING 190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +20 +48 +30 +E0 +50 +B0 +50 +78 +10 +ENDCHAR +STARTCHAR questiondown +ENCODING 191 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +20 +20 +40 +88 +70 +ENDCHAR +STARTCHAR Agrave +ENCODING 192 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Aacute +ENCODING 193 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Acircumflex +ENCODING 194 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Atilde +ENCODING 195 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Adieresis +ENCODING 196 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Aring +ENCODING 197 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +20 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR AE +ENCODING 198 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR Ccedilla +ENCODING 199 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +80 +80 +88 +70 +10 +60 +ENDCHAR +STARTCHAR Egrave +ENCODING 200 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Eacute +ENCODING 201 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Ecircumflex +ENCODING 202 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Edieresis +ENCODING 203 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Igrave +ENCODING 204 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +80 +40 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Iacute +ENCODING 205 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +20 +40 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Icircumflex +ENCODING 206 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +40 +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Idieresis +ENCODING 207 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Eth +ENCODING 208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +48 +48 +E8 +48 +48 +70 +ENDCHAR +STARTCHAR Ntilde +ENCODING 209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR Ograve +ENCODING 210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Oacute +ENCODING 211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Ocircumflex +ENCODING 212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Otilde +ENCODING 213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Odieresis +ENCODING 214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR multiply +ENCODING 215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR Oslash +ENCODING 216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +08 +70 +98 +A8 +A8 +A8 +C8 +70 +80 +ENDCHAR +STARTCHAR Ugrave +ENCODING 217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Uacute +ENCODING 218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Ucircumflex +ENCODING 219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Udieresis +ENCODING 220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Yacute +ENCODING 221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Thorn +ENCODING 222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +E0 +90 +90 +90 +E0 +80 +ENDCHAR +STARTCHAR germandbls +ENCODING 223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +90 +A0 +90 +88 +B0 +ENDCHAR +STARTCHAR agrave +ENCODING 224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR aacute +ENCODING 225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR acircumflex +ENCODING 226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR atilde +ENCODING 227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR adieresis +ENCODING 228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR aring +ENCODING 229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR ae +ENCODING 230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +28 +70 +A0 +78 +ENDCHAR +STARTCHAR ccedilla +ENCODING 231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +80 +88 +70 +10 +60 +ENDCHAR +STARTCHAR egrave +ENCODING 232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR eacute +ENCODING 233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR ecircumflex +ENCODING 234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR edieresis +ENCODING 235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR igrave +ENCODING 236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +80 +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR iacute +ENCODING 237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +20 +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR icircumflex +ENCODING 238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +40 +A0 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR idieresis +ENCODING 239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR eth +ENCODING 240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +20 +50 +08 +78 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ntilde +ENCODING 241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR ograve +ENCODING 242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR oacute +ENCODING 243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ocircumflex +ENCODING 244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR otilde +ENCODING 245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR odieresis +ENCODING 246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR divide +ENCODING 247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +00 +F8 +00 +20 +ENDCHAR +STARTCHAR oslash +ENCODING 248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +98 +A8 +C8 +F0 +ENDCHAR +STARTCHAR ugrave +ENCODING 249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uacute +ENCODING 250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ucircumflex +ENCODING 251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR udieresis +ENCODING 252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR yacute +ENCODING 253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR thorn +ENCODING 254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR ydieresis +ENCODING 255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +50 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR Amacron +ENCODING 256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR amacron +ENCODING 257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR Abreve +ENCODING 258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR abreve +ENCODING 259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR Aogonek +ENCODING 260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +10 +08 +ENDCHAR +STARTCHAR aogonek +ENCODING 261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +08 +78 +88 +78 +20 +30 +ENDCHAR +STARTCHAR Cacute +ENCODING 262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR cacute +ENCODING 263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR Ccircumflex +ENCODING 264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR ccircumflex +ENCODING 265 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR Cdotaccent +ENCODING 266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR cdotaccent +ENCODING 267 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR Ccaron +ENCODING 268 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR ccaron +ENCODING 269 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR Dcaron +ENCODING 270 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F0 +48 +48 +48 +48 +48 +F0 +ENDCHAR +STARTCHAR dcaron +ENCODING 271 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +14 +08 +00 +08 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR Dcroat +ENCODING 272 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +E8 +48 +48 +F0 +ENDCHAR +STARTCHAR dcroat +ENCODING 273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +1C +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR Emacron +ENCODING 274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR emacron +ENCODING 275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR Ebreve +ENCODING 276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR ebreve +ENCODING 277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR Edotaccent +ENCODING 278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR edotaccent +ENCODING 279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR Eogonek +ENCODING 280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +20 +30 +ENDCHAR +STARTCHAR eogonek +ENCODING 281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +F0 +80 +70 +20 +30 +ENDCHAR +STARTCHAR Ecaron +ENCODING 282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR ecaron +ENCODING 283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR Gcircumflex +ENCODING 284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR gcircumflex +ENCODING 285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +20 +50 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR Gbreve +ENCODING 286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR gbreve +ENCODING 287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +70 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR Gdotaccent +ENCODING 288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR gdotaccent +ENCODING 289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR Gcommaaccent +ENCODING 290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +80 +98 +88 +70 +10 +60 +ENDCHAR +STARTCHAR gcommaaccent +ENCODING 291 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +20 +40 +60 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR Hcircumflex +ENCODING 292 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR hcircumflex +ENCODING 293 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +80 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR Hbar +ENCODING 294 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +FC +48 +78 +48 +48 +48 +ENDCHAR +STARTCHAR hbar +ENCODING 295 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +F0 +40 +70 +48 +48 +48 +ENDCHAR +STARTCHAR Itilde +ENCODING 296 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +50 +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR itilde +ENCODING 297 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 0 +BITMAP +50 +A0 +00 +60 +20 +20 +20 +70 +ENDCHAR +STARTCHAR Imacron +ENCODING 298 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +E0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR imacron +ENCODING 299 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Ibreve +ENCODING 300 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR ibreve +ENCODING 301 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +60 +20 +20 +20 +70 +ENDCHAR +STARTCHAR Iogonek +ENCODING 302 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 +BITMAP +E0 +40 +40 +40 +40 +40 +E0 +40 +60 +ENDCHAR +STARTCHAR iogonek +ENCODING 303 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 +BITMAP +40 +00 +C0 +40 +40 +40 +E0 +40 +60 +ENDCHAR +STARTCHAR Idotaccent +ENCODING 304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +40 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR dotlessi +ENCODING 305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR IJ +ENCODING 306 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +98 +88 +88 +88 +88 +A8 +90 +ENDCHAR +STARTCHAR ij +ENCODING 307 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +00 +98 +88 +88 +88 +88 +88 +30 +ENDCHAR +STARTCHAR Jcircumflex +ENCODING 308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +28 +00 +38 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR jcircumflex +ENCODING 309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +28 +00 +30 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR Kcommaaccent +ENCODING 310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +10 +60 +ENDCHAR +STARTCHAR kcommaaccent +ENCODING 311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +88 +90 +E0 +90 +88 +10 +60 +ENDCHAR +STARTCHAR kgreenlandic +ENCODING 312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR Lacute +ENCODING 313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR lacute +ENCODING 314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +20 +40 +00 +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Lcommaaccent +ENCODING 315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +F8 +10 +60 +ENDCHAR +STARTCHAR lcommaaccent +ENCODING 316 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +E0 +20 +C0 +ENDCHAR +STARTCHAR Lcaron +ENCODING 317 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR lcaron +ENCODING 318 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +A0 +40 +00 +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Ldot +ENCODING 319 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +80 +90 +80 +80 +F8 +ENDCHAR +STARTCHAR ldot +ENCODING 320 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +C0 +40 +40 +50 +40 +40 +E0 +ENDCHAR +STARTCHAR Lslash +ENCODING 321 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +60 +C0 +40 +40 +78 +ENDCHAR +STARTCHAR lslash +ENCODING 322 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +60 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR Nacute +ENCODING 323 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR nacute +ENCODING 324 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR Ncommaaccent +ENCODING 325 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +C8 +A8 +98 +88 +88 +20 +40 +ENDCHAR +STARTCHAR ncommaaccent +ENCODING 326 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +20 +40 +ENDCHAR +STARTCHAR Ncaron +ENCODING 327 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR ncaron +ENCODING 328 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR napostrophe +ENCODING 329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C0 +40 +80 +50 +68 +48 +48 +48 +ENDCHAR +STARTCHAR Eng +ENCODING 330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +C8 +A8 +98 +88 +88 +08 +30 +ENDCHAR +STARTCHAR eng +ENCODING 331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +08 +30 +ENDCHAR +STARTCHAR Omacron +ENCODING 332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR omacron +ENCODING 333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Obreve +ENCODING 334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR obreve +ENCODING 335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Ohungarumlaut +ENCODING 336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +48 +90 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ohungarumlaut +ENCODING 337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +90 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR OE +ENCODING 338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +B0 +A0 +A0 +78 +ENDCHAR +STARTCHAR oe +ENCODING 339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +B0 +A0 +78 +ENDCHAR +STARTCHAR Racute +ENCODING 340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR racute +ENCODING 341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR Rcommaaccent +ENCODING 342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +88 +88 +F0 +A0 +90 +88 +20 +40 +ENDCHAR +STARTCHAR rcommaaccent +ENCODING 343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +80 +80 +80 +20 +40 +ENDCHAR +STARTCHAR Rcaron +ENCODING 344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR rcaron +ENCODING 345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR Sacute +ENCODING 346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR sacute +ENCODING 347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR Scircumflex +ENCODING 348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR scircumflex +ENCODING 349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR Scedilla +ENCODING 350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +70 +08 +88 +70 +10 +60 +ENDCHAR +STARTCHAR scedilla +ENCODING 351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +10 +60 +ENDCHAR +STARTCHAR Scaron +ENCODING 352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR scaron +ENCODING 353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR Tcommaaccent +ENCODING 354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +10 +60 +ENDCHAR +STARTCHAR tcommaaccent +ENCODING 355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +08 +30 +ENDCHAR +STARTCHAR Tcaron +ENCODING 356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR tcaron +ENCODING 357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +20 +20 +F8 +20 +20 +20 +18 +ENDCHAR +STARTCHAR Tbar +ENCODING 358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR tbar +ENCODING 359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +20 +F8 +20 +20 +18 +ENDCHAR +STARTCHAR Utilde +ENCODING 360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR utilde +ENCODING 361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Umacron +ENCODING 362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR umacron +ENCODING 363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Ubreve +ENCODING 364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ubreve +ENCODING 365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Uring +ENCODING 366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +20 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uring +ENCODING 367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Uhungarumlaut +ENCODING 368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +48 +90 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uhungarumlaut +ENCODING 369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +90 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Uogonek +ENCODING 370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +88 +88 +88 +70 +20 +30 +ENDCHAR +STARTCHAR uogonek +ENCODING 371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +70 +20 +30 +ENDCHAR +STARTCHAR Wcircumflex +ENCODING 372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR wcircumflex +ENCODING 373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Ycircumflex +ENCODING 374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR ycircumflex +ENCODING 375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +20 +50 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR Ydieresis +ENCODING 376 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Zacute +ENCODING 377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR zacute +ENCODING 378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +F8 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR Zdotaccent +ENCODING 379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR zdotaccent +ENCODING 380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +F8 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR Zcaron +ENCODING 381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR zcaron +ENCODING 382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +F8 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR longs +ENCODING 383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +30 +40 +40 +C0 +40 +40 +40 +ENDCHAR +STARTCHAR uni0180 +ENCODING 384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +F0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR uni0181 +ENCODING 385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +28 +30 +28 +28 +30 +ENDCHAR +STARTCHAR uni0182 +ENCODING 386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +40 +40 +70 +48 +48 +F0 +ENDCHAR +STARTCHAR uni0183 +ENCODING 387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +80 +F0 +88 +88 +88 +F0 +ENDCHAR +STARTCHAR uni0184 +ENCODING 388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +C0 +C0 +70 +48 +48 +70 +ENDCHAR +STARTCHAR uni0185 +ENCODING 389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +C0 +70 +48 +48 +48 +70 +ENDCHAR +STARTCHAR uni0186 +ENCODING 390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni0187 +ENCODING 391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +0C +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR uni0188 +ENCODING 392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +18 +60 +90 +80 +90 +60 +ENDCHAR +STARTCHAR uni0189 +ENCODING 393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +E8 +48 +48 +F0 +ENDCHAR +STARTCHAR uni018A +ENCODING 394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +28 +28 +28 +28 +30 +ENDCHAR +STARTCHAR uni018B +ENCODING 395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +08 +08 +78 +88 +88 +78 +ENDCHAR +STARTCHAR uni018C +ENCODING 396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR uni018D +ENCODING 397 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni018E +ENCODING 398 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +78 +08 +08 +F8 +ENDCHAR +STARTCHAR uni018F +ENCODING 399 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni0190 +ENCODING 400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +70 +80 +88 +70 +ENDCHAR +STARTCHAR uni0191 +ENCODING 401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +78 +40 +40 +70 +40 +40 +40 +80 +ENDCHAR +STARTCHAR florin +ENCODING 402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +28 +20 +70 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni0193 +ENCODING 403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +0C +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni0194 +ENCODING 404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +50 +20 +50 +20 +ENDCHAR +STARTCHAR uni0195 +ENCODING 405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +C8 +A8 +A8 +A8 +90 +ENDCHAR +STARTCHAR uni0196 +ENCODING 406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +40 +40 +40 +40 +20 +ENDCHAR +STARTCHAR uni0197 +ENCODING 407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +E0 +40 +40 +E0 +ENDCHAR +STARTCHAR uni0198 +ENCODING 408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +98 +A0 +C0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni0199 +ENCODING 409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +80 +88 +90 +E0 +90 +88 +ENDCHAR +STARTCHAR uni019A +ENCODING 410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +40 +E0 +40 +40 +E0 +ENDCHAR +STARTCHAR uni019B +ENCODING 411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +40 +C0 +40 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni019C +ENCODING 412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +58 +ENDCHAR +STARTCHAR uni019D +ENCODING 413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +48 +48 +48 +68 +58 +48 +48 +80 +ENDCHAR +STARTCHAR uni019E +ENCODING 414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni019F +ENCODING 415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR Ohorn +ENCODING 416 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +68 +90 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR ohorn +ENCODING 417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01A2 +ENCODING 418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +B0 +A8 +A8 +A8 +A8 +48 +ENDCHAR +STARTCHAR uni01A3 +ENCODING 419 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +A8 +A8 +48 +ENDCHAR +STARTCHAR uni01A4 +ENCODING 420 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +70 +40 +40 +40 +ENDCHAR +STARTCHAR uni01A5 +ENCODING 421 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +40 +80 +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR uni01A6 +ENCODING 422 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +80 +F0 +88 +88 +F0 +A0 +90 +08 +ENDCHAR +STARTCHAR uni01A7 +ENCODING 423 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +70 +80 +88 +70 +ENDCHAR +STARTCHAR uni01A8 +ENCODING 424 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +08 +70 +80 +78 +ENDCHAR +STARTCHAR uni01A9 +ENCODING 425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +40 +20 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR uni01AA +ENCODING 426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +40 +A0 +70 +20 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni01AB +ENCODING 427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +08 +30 +ENDCHAR +STARTCHAR uni01AC +ENCODING 428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni01AD +ENCODING 429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +20 +20 +F8 +20 +20 +20 +18 +ENDCHAR +STARTCHAR uni01AE +ENCODING 430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +18 +ENDCHAR +STARTCHAR Uhorn +ENCODING 431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +98 +90 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uhorn +ENCODING 432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +08 +98 +90 +90 +B0 +50 +ENDCHAR +STARTCHAR uni01B1 +ENCODING 433 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01B2 +ENCODING 434 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +90 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01B3 +ENCODING 435 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +48 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni01B4 +ENCODING 436 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +10 +A8 +A0 +A0 +A0 +60 +40 +80 +ENDCHAR +STARTCHAR uni01B5 +ENCODING 437 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +F8 +40 +80 +F8 +ENDCHAR +STARTCHAR uni01B6 +ENCODING 438 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +F8 +40 +F8 +ENDCHAR +STARTCHAR uni01B7 +ENCODING 439 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni01B8 +ENCODING 440 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +40 +20 +70 +80 +88 +70 +ENDCHAR +STARTCHAR uni01B9 +ENCODING 441 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +40 +20 +70 +80 +88 +70 +ENDCHAR +STARTCHAR uni01BA +ENCODING 442 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +30 +08 +70 +88 +70 +ENDCHAR +STARTCHAR uni01BB +ENCODING 443 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +10 +78 +20 +40 +F8 +ENDCHAR +STARTCHAR uni01BC +ENCODING 444 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +E0 +10 +08 +08 +F0 +ENDCHAR +STARTCHAR uni01BD +ENCODING 445 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +F0 +80 +E0 +10 +E0 +ENDCHAR +STARTCHAR uni01BE +ENCODING 446 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +20 +30 +08 +88 +70 +ENDCHAR +STARTCHAR uni01BF +ENCODING 447 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +90 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni01C0 +ENCODING 448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni01C1 +ENCODING 449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni01C2 +ENCODING 450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +40 +E0 +40 +E0 +40 +40 +ENDCHAR +STARTCHAR uni01C3 +ENCODING 451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +E0 +E0 +40 +40 +00 +40 +ENDCHAR +STARTCHAR uni01C4 +ENCODING 452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +28 +10 +00 +D8 +A8 +A8 +B0 +B0 +B0 +D8 +ENDCHAR +STARTCHAR uni01C5 +ENCODING 453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +28 +10 +C0 +A0 +B8 +A8 +B0 +B0 +D8 +ENDCHAR +STARTCHAR uni01C6 +ENCODING 454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +28 +10 +00 +20 +20 +78 +A8 +B0 +B0 +78 +ENDCHAR +STARTCHAR uni01C7 +ENCODING 455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +88 +A8 +D0 +ENDCHAR +STARTCHAR uni01C8 +ENCODING 456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +80 +98 +88 +88 +88 +E8 +08 +30 +ENDCHAR +STARTCHAR uni01C9 +ENCODING 457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +C8 +40 +58 +48 +48 +48 +E8 +08 +30 +ENDCHAR +STARTCHAR uni01CA +ENCODING 458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E8 +A8 +A8 +A8 +A8 +88 +B0 +ENDCHAR +STARTCHAR uni01CB +ENCODING 459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +E8 +A0 +A8 +A8 +A8 +A8 +88 +28 +10 +ENDCHAR +STARTCHAR uni01CC +ENCODING 460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +00 +58 +A8 +A8 +A8 +A8 +08 +30 +ENDCHAR +STARTCHAR uni01CD +ENCODING 461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni01CE +ENCODING 462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni01CF +ENCODING 463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +A0 +40 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni01D0 +ENCODING 464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +A0 +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni01D1 +ENCODING 465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D2 +ENCODING 466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D3 +ENCODING 467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D4 +ENCODING 468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D5 +ENCODING 469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +50 +00 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D6 +ENCODING 470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D7 +ENCODING 471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +50 +00 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D8 +ENCODING 472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D9 +ENCODING 473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +50 +00 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01DA +ENCODING 474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01DB +ENCODING 475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +50 +00 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01DC +ENCODING 476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01DD +ENCODING 477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +78 +88 +70 +ENDCHAR +STARTCHAR uni01DE +ENCODING 478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +50 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni01DF +ENCODING 479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +50 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni01E0 +ENCODING 480 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +20 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni01E1 +ENCODING 481 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni01E2 +ENCODING 482 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +78 +00 +78 +A0 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR uni01E3 +ENCODING 483 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +70 +28 +70 +A0 +78 +ENDCHAR +STARTCHAR uni01E4 +ENCODING 484 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +98 +98 +88 +70 +ENDCHAR +STARTCHAR uni01E5 +ENCODING 485 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +78 +F8 +70 +ENDCHAR +STARTCHAR Gcaron +ENCODING 486 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR gcaron +ENCODING 487 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +50 +20 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR uni01E8 +ENCODING 488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni01E9 +ENCODING 489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +20 +80 +80 +88 +90 +E0 +90 +88 +ENDCHAR +STARTCHAR uni01EA +ENCODING 490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +88 +88 +88 +70 +40 +30 +ENDCHAR +STARTCHAR uni01EB +ENCODING 491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +70 +40 +30 +ENDCHAR +STARTCHAR uni01EC +ENCODING 492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +70 +00 +70 +88 +88 +88 +88 +88 +70 +40 +30 +ENDCHAR +STARTCHAR uni01ED +ENCODING 493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +00 +70 +88 +88 +88 +70 +40 +30 +ENDCHAR +STARTCHAR uni01EE +ENCODING 494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni01EF +ENCODING 495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +50 +20 +00 +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni01F0 +ENCODING 496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +28 +10 +00 +30 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR uni01F1 +ENCODING 497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +CC +A4 +A4 +A8 +A8 +A8 +CC +ENDCHAR +STARTCHAR uni01F2 +ENCODING 498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +A0 +AC +A4 +A8 +A8 +CC +ENDCHAR +STARTCHAR uni01F3 +ENCODING 499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +20 +6C +A4 +A4 +A8 +6C +ENDCHAR +STARTCHAR uni01F4 +ENCODING 500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni01F5 +ENCODING 501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR uni01F6 +ENCODING 502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +E8 +A8 +A8 +A8 +90 +ENDCHAR +STARTCHAR uni01F7 +ENCODING 503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +B0 +C8 +88 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni01F8 +ENCODING 504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR uni01F9 +ENCODING 505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR Aringacute +ENCODING 506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +20 +50 +20 +70 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR aringacute +ENCODING 507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +20 +50 +20 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR AEacute +ENCODING 508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +78 +A0 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR aeacute +ENCODING 509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +28 +70 +A0 +78 +ENDCHAR +STARTCHAR Oslashacute +ENCODING 510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +10 +20 +08 +70 +98 +A8 +A8 +A8 +C8 +70 +80 +ENDCHAR +STARTCHAR oslashacute +ENCODING 511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +78 +98 +A8 +C8 +F0 +ENDCHAR +STARTCHAR uni0200 +ENCODING 512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0201 +ENCODING 513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni0202 +ENCODING 514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0203 +ENCODING 515 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni0204 +ENCODING 516 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni0205 +ENCODING 517 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR uni0206 +ENCODING 518 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni0207 +ENCODING 519 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR uni0208 +ENCODING 520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni0209 +ENCODING 521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +60 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni020A +ENCODING 522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni020B +ENCODING 523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +60 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni020C +ENCODING 524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni020D +ENCODING 525 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni020E +ENCODING 526 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni020F +ENCODING 527 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0210 +ENCODING 528 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni0211 +ENCODING 529 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR uni0212 +ENCODING 530 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni0213 +ENCODING 531 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR uni0214 +ENCODING 532 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0215 +ENCODING 533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0216 +ENCODING 534 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0217 +ENCODING 535 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Scommaaccent +ENCODING 536 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +70 +08 +88 +70 +10 +20 +ENDCHAR +STARTCHAR scommaaccent +ENCODING 537 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +10 +20 +ENDCHAR +STARTCHAR Tcommaaccent +ENCODING 538 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +10 +20 +ENDCHAR +STARTCHAR tcommaaccent +ENCODING 539 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +10 +20 +ENDCHAR +STARTCHAR uni021C +ENCODING 540 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +10 +28 +08 +08 +F0 +ENDCHAR +STARTCHAR uni021D +ENCODING 541 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +10 +28 +08 +08 +F0 +ENDCHAR +STARTCHAR uni021E +ENCODING 542 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni021F +ENCODING 543 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +20 +80 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni0220 +ENCODING 544 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +B0 +C8 +88 +88 +88 +88 +88 +08 +ENDCHAR +STARTCHAR uni0221 +ENCODING 545 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +10 +10 +70 +90 +98 +94 +78 +20 +ENDCHAR +STARTCHAR uni0222 +ENCODING 546 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +88 +88 +70 +88 +88 +70 +ENDCHAR +STARTCHAR uni0223 +ENCODING 547 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +88 +70 +88 +88 +70 +ENDCHAR +STARTCHAR uni0224 +ENCODING 548 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +08 +10 +20 +40 +80 +F8 +08 +30 +ENDCHAR +STARTCHAR uni0225 +ENCODING 549 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +40 +F8 +08 +30 +ENDCHAR +STARTCHAR uni0226 +ENCODING 550 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0227 +ENCODING 551 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni0228 +ENCODING 552 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +08 +30 +ENDCHAR +STARTCHAR uni0229 +ENCODING 553 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +F0 +80 +70 +08 +30 +ENDCHAR +STARTCHAR uni022A +ENCODING 554 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +50 +00 +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022B +ENCODING 555 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022C +ENCODING 556 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +68 +B0 +00 +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022D +ENCODING 557 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +68 +B0 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022E +ENCODING 558 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022F +ENCODING 559 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0230 +ENCODING 560 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +20 +00 +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0231 +ENCODING 561 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0232 +ENCODING 562 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni0233 +ENCODING 563 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni0234 +ENCODING 564 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -1 +BITMAP +40 +40 +40 +40 +60 +50 +60 +80 +ENDCHAR +STARTCHAR uni0235 +ENCODING 565 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +E0 +90 +98 +94 +98 +20 +ENDCHAR +STARTCHAR uni0236 +ENCODING 566 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +40 +F0 +40 +60 +50 +A0 +ENDCHAR +STARTCHAR uni0237 +ENCODING 567 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -2 +BITMAP +10 +10 +10 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR uni0238 +ENCODING 568 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +70 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni0239 +ENCODING 569 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +A8 +A8 +70 +20 +20 +20 +ENDCHAR +STARTCHAR uni023A +ENCODING 570 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +74 +88 +98 +F8 +A8 +C8 +88 +ENDCHAR +STARTCHAR uni023B +ENCODING 571 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +3C +48 +90 +90 +A0 +40 +B8 +ENDCHAR +STARTCHAR uni023C +ENCODING 572 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +98 +A0 +C8 +F0 +ENDCHAR +STARTCHAR uni023D +ENCODING 573 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +40 +E0 +40 +40 +78 +ENDCHAR +STARTCHAR uni023E +ENCODING 574 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +28 +30 +20 +20 +60 +A0 +ENDCHAR +STARTCHAR uni023F +ENCODING 575 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +20 +10 +ENDCHAR +STARTCHAR uni0240 +ENCODING 576 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +40 +80 +40 +38 +ENDCHAR +STARTCHAR uni0241 +ENCODING 577 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +30 +20 +20 +20 +ENDCHAR +STARTCHAR uni0242 +ENCODING 578 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +E0 +10 +10 +60 +40 +ENDCHAR +STARTCHAR uni0243 +ENCODING 579 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +48 +70 +48 +E8 +48 +70 +ENDCHAR +STARTCHAR uni0244 +ENCODING 580 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +48 +48 +FC +48 +48 +30 +ENDCHAR +STARTCHAR uni0245 +ENCODING 581 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +50 +88 +88 +88 +ENDCHAR +STARTCHAR uni0246 +ENCODING 582 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +88 +90 +F0 +A0 +C0 +F8 +ENDCHAR +STARTCHAR uni0247 +ENCODING 583 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +70 +A8 +F0 +C0 +F0 +ENDCHAR +STARTCHAR uni0248 +ENCODING 584 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +10 +10 +10 +10 +38 +10 +90 +60 +ENDCHAR +STARTCHAR uni0249 +ENCODING 585 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +00 +10 +10 +10 +38 +10 +90 +60 +ENDCHAR +STARTCHAR uni024A +ENCODING 586 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +68 +98 +88 +88 +98 +68 +08 +08 +04 +ENDCHAR +STARTCHAR uni024B +ENCODING 587 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +68 +98 +88 +98 +68 +08 +04 +ENDCHAR +STARTCHAR uni024C +ENCODING 588 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +48 +48 +F0 +48 +48 +48 +ENDCHAR +STARTCHAR uni024D +ENCODING 589 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 0 +BITMAP +50 +60 +40 +E0 +40 +ENDCHAR +STARTCHAR uni024E +ENCODING 590 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +F8 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni024F +ENCODING 591 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +F8 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni0250 +ENCODING 592 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR uni0251 +ENCODING 593 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +68 +98 +88 +98 +68 +ENDCHAR +STARTCHAR uni0252 +ENCODING 594 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +C8 +88 +C8 +B0 +ENDCHAR +STARTCHAR uni0253 +ENCODING 595 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +90 +80 +F0 +88 +88 +88 +F0 +ENDCHAR +STARTCHAR uni0254 +ENCODING 596 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +08 +88 +70 +ENDCHAR +STARTCHAR uni0255 +ENCODING 597 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +78 +80 +90 +A8 +70 +20 +ENDCHAR +STARTCHAR uni0256 +ENCODING 598 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +10 +70 +90 +90 +90 +70 +08 +ENDCHAR +STARTCHAR uni0257 +ENCODING 599 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +10 +10 +70 +90 +90 +90 +70 +ENDCHAR +STARTCHAR uni0258 +ENCODING 600 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +78 +08 +70 +ENDCHAR +STARTCHAR uni0259 +ENCODING 601 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +78 +88 +70 +ENDCHAR +STARTCHAR uni025A +ENCODING 602 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +60 +18 +74 +90 +60 +ENDCHAR +STARTCHAR uni025B +ENCODING 603 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni025C +ENCODING 604 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +30 +88 +70 +ENDCHAR +STARTCHAR uni025D +ENCODING 605 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +68 +94 +20 +90 +60 +ENDCHAR +STARTCHAR uni025E +ENCODING 606 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +B0 +88 +70 +ENDCHAR +STARTCHAR uni025F +ENCODING 607 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +10 +10 +10 +38 +10 +90 +60 +ENDCHAR +STARTCHAR uni0260 +ENCODING 608 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +08 +70 +90 +90 +90 +70 +10 +60 +ENDCHAR +STARTCHAR uni0261 +ENCODING 609 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR uni0262 +ENCODING 610 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni0263 +ENCODING 611 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +50 +20 +50 +20 +ENDCHAR +STARTCHAR uni0264 +ENCODING 612 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +20 +50 +20 +ENDCHAR +STARTCHAR uni0265 +ENCODING 613 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni0266 +ENCODING 614 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni0267 +ENCODING 615 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +70 +88 +80 +F0 +88 +88 +88 +88 +08 +30 +ENDCHAR +STARTCHAR uni0268 +ENCODING 616 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +00 +C0 +40 +E0 +40 +E0 +ENDCHAR +STARTCHAR uni0269 +ENCODING 617 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni026A +ENCODING 618 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +E0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni026B +ENCODING 619 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +20 +68 +B0 +20 +20 +70 +ENDCHAR +STARTCHAR uni026C +ENCODING 620 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +60 +20 +60 +A0 +70 +20 +70 +ENDCHAR +STARTCHAR uni026D +ENCODING 621 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni026E +ENCODING 622 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +C0 +40 +78 +48 +50 +70 +E8 +48 +30 +ENDCHAR +STARTCHAR uni026F +ENCODING 623 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +A8 +A8 +58 +ENDCHAR +STARTCHAR uni0270 +ENCODING 624 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A8 +A8 +A8 +A8 +58 +08 +08 +ENDCHAR +STARTCHAR uni0271 +ENCODING 625 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +D0 +A8 +A8 +A8 +A8 +08 +30 +ENDCHAR +STARTCHAR uni0272 +ENCODING 626 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +48 +48 +48 +48 +40 +80 +ENDCHAR +STARTCHAR uni0273 +ENCODING 627 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +E0 +90 +90 +90 +90 +10 +08 +ENDCHAR +STARTCHAR uni0274 +ENCODING 628 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +C8 +A8 +98 +88 +ENDCHAR +STARTCHAR uni0275 +ENCODING 629 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni0276 +ENCODING 630 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +A0 +B0 +A0 +78 +ENDCHAR +STARTCHAR uni0277 +ENCODING 631 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni0278 +ENCODING 632 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni0279 +ENCODING 633 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +08 +08 +98 +68 +ENDCHAR +STARTCHAR uni027A +ENCODING 634 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +08 +08 +98 +68 +ENDCHAR +STARTCHAR uni027B +ENCODING 635 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +10 +10 +10 +90 +70 +10 +08 +ENDCHAR +STARTCHAR uni027C +ENCODING 636 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni027D +ENCODING 637 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni027E +ENCODING 638 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +30 +48 +80 +80 +80 +ENDCHAR +STARTCHAR uni027F +ENCODING 639 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +60 +90 +08 +08 +08 +ENDCHAR +STARTCHAR uni0280 +ENCODING 640 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +88 +F0 +88 +88 +ENDCHAR +STARTCHAR uni0281 +ENCODING 641 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +F0 +88 +F0 +ENDCHAR +STARTCHAR uni0282 +ENCODING 642 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +80 +60 +ENDCHAR +STARTCHAR uni0283 +ENCODING 643 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +28 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni0284 +ENCODING 644 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +28 +20 +20 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR uni0285 +ENCODING 645 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +A0 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni0286 +ENCODING 646 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +28 +20 +20 +20 +70 +A0 +40 +ENDCHAR +STARTCHAR uni0287 +ENCODING 647 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +C0 +20 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni0288 +ENCODING 648 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +20 +20 +18 +ENDCHAR +STARTCHAR uni0289 +ENCODING 649 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +F8 +88 +98 +68 +ENDCHAR +STARTCHAR uni028A +ENCODING 650 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +50 +88 +88 +70 +ENDCHAR +STARTCHAR uni028B +ENCODING 651 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +88 +88 +90 +60 +ENDCHAR +STARTCHAR uni028C +ENCODING 652 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni028D +ENCODING 653 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +A8 +88 +88 +ENDCHAR +STARTCHAR uni028E +ENCODING 654 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +20 +50 +88 +88 +88 +ENDCHAR +STARTCHAR uni028F +ENCODING 655 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni0290 +ENCODING 656 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +40 +F8 +20 +18 +ENDCHAR +STARTCHAR uni0291 +ENCODING 657 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +50 +F8 +20 +40 +ENDCHAR +STARTCHAR uni0292 +ENCODING 658 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni0293 +ENCODING 659 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +F8 +10 +30 +08 +78 +88 +74 +ENDCHAR +STARTCHAR uni0294 +ENCODING 660 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +30 +20 +20 +20 +ENDCHAR +STARTCHAR uni0295 +ENCODING 661 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +60 +20 +20 +20 +ENDCHAR +STARTCHAR uni0296 +ENCODING 662 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +30 +08 +88 +70 +ENDCHAR +STARTCHAR uni0297 +ENCODING 663 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +80 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR uni0298 +ENCODING 664 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni0299 +ENCODING 665 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +88 +F0 +88 +F0 +ENDCHAR +STARTCHAR uni029A +ENCODING 666 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +68 +88 +70 +ENDCHAR +STARTCHAR uni029B +ENCODING 667 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +78 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni029C +ENCODING 668 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni029D +ENCODING 669 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +00 +30 +10 +10 +10 +78 +90 +60 +ENDCHAR +STARTCHAR uni029E +ENCODING 670 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +48 +38 +48 +88 +08 +08 +ENDCHAR +STARTCHAR uni029F +ENCODING 671 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni02A0 +ENCODING 672 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +10 +70 +90 +90 +90 +70 +10 +10 +ENDCHAR +STARTCHAR uni02A1 +ENCODING 673 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +30 +20 +70 +20 +ENDCHAR +STARTCHAR uni02A2 +ENCODING 674 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +60 +20 +70 +20 +ENDCHAR +STARTCHAR uni02A3 +ENCODING 675 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +20 +6C +A4 +A8 +A8 +6C +ENDCHAR +STARTCHAR uni02A4 +ENCODING 676 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +78 +A8 +B0 +B8 +68 +08 +38 +ENDCHAR +STARTCHAR uni02A5 +ENCODING 677 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +78 +A8 +B0 +B0 +78 +10 +ENDCHAR +STARTCHAR uni02A6 +ENCODING 678 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +F8 +50 +48 +48 +30 +ENDCHAR +STARTCHAR uni02A7 +ENCODING 679 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 +BITMAP +08 +54 +50 +F0 +50 +50 +50 +30 +50 +20 +ENDCHAR +STARTCHAR uni02A8 +ENCODING 680 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +40 +40 +E8 +50 +50 +50 +28 +10 +ENDCHAR +STARTCHAR uni02A9 +ENCODING 681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +60 +90 +80 +F0 +A8 +A8 +A8 +08 +30 +ENDCHAR +STARTCHAR uni02AA +ENCODING 682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +40 +58 +60 +50 +48 +F0 +ENDCHAR +STARTCHAR uni02AB +ENCODING 683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +40 +78 +48 +50 +60 +F8 +ENDCHAR +STARTCHAR uni02AC +ENCODING 684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +50 +00 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni02AD +ENCODING 685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +88 +00 +F8 +88 +ENDCHAR +STARTCHAR uni02AE +ENCODING 686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +48 +48 +48 +48 +48 +48 +38 +08 +08 +ENDCHAR +STARTCHAR uni02AF +ENCODING 687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 +BITMAP +88 +48 +48 +48 +48 +48 +48 +38 +08 +04 +ENDCHAR +STARTCHAR uni02B0 +ENCODING 688 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +80 +80 +C0 +A0 +A0 +ENDCHAR +STARTCHAR uni02B1 +ENCODING 689 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +40 +80 +C0 +A0 +A0 +ENDCHAR +STARTCHAR uni02B2 +ENCODING 690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 3 +BITMAP +20 +00 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni02B3 +ENCODING 691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 4 +BITMAP +C0 +A0 +80 +80 +ENDCHAR +STARTCHAR uni02B4 +ENCODING 692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 4 +BITMAP +20 +20 +A0 +60 +ENDCHAR +STARTCHAR uni02B5 +ENCODING 693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 3 +BITMAP +20 +20 +A0 +60 +10 +ENDCHAR +STARTCHAR uni02B6 +ENCODING 694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +A0 +A0 +C0 +A0 +C0 +ENDCHAR +STARTCHAR uni02B7 +ENCODING 695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 4 +BITMAP +A8 +A8 +50 +50 +ENDCHAR +STARTCHAR uni02B8 +ENCODING 696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 3 +BITMAP +A0 +A0 +60 +20 +C0 +ENDCHAR +STARTCHAR uni02B9 +ENCODING 697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 5 +BITMAP +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni02BA +ENCODING 698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 5 +BITMAP +48 +48 +90 +90 +ENDCHAR +STARTCHAR uni02BB +ENCODING 699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 5 +BITMAP +40 +80 +C0 +ENDCHAR +STARTCHAR afii57929 +ENCODING 700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 5 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR afii64937 +ENCODING 701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 5 +BITMAP +C0 +80 +40 +ENDCHAR +STARTCHAR uni02BE +ENCODING 702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 4 +BITMAP +80 +40 +40 +80 +ENDCHAR +STARTCHAR uni02BF +ENCODING 703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 1 4 +BITMAP +40 +80 +80 +40 +ENDCHAR +STARTCHAR uni02C0 +ENCODING 704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +40 +A0 +20 +40 +40 +ENDCHAR +STARTCHAR uni02C1 +ENCODING 705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +40 +A0 +80 +40 +40 +ENDCHAR +STARTCHAR uni02C2 +ENCODING 706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR uni02C3 +ENCODING 707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +80 +40 +20 +40 +80 +ENDCHAR +STARTCHAR uni02C4 +ENCODING 708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +40 +A0 +A0 +ENDCHAR +STARTCHAR uni02C5 +ENCODING 709 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +A0 +A0 +40 +ENDCHAR +STARTCHAR circumflex +ENCODING 710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 6 +BITMAP +40 +A0 +ENDCHAR +STARTCHAR caron +ENCODING 711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 7 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni02C8 +ENCODING 712 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 6 +BITMAP +80 +80 +ENDCHAR +STARTCHAR macron +ENCODING 713 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 1 1 7 +BITMAP +F0 +ENDCHAR +STARTCHAR uni02CA +ENCODING 714 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 6 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni02CB +ENCODING 715 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 6 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni02CC +ENCODING 716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 -1 +BITMAP +80 +80 +ENDCHAR +STARTCHAR uni02CD +ENCODING 717 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 1 1 0 +BITMAP +F0 +ENDCHAR +STARTCHAR uni02CE +ENCODING 718 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -1 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni02CF +ENCODING 719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -1 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni02D0 +ENCODING 720 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +E0 +40 +00 +40 +E0 +ENDCHAR +STARTCHAR uni02D1 +ENCODING 721 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 3 +BITMAP +E0 +40 +ENDCHAR +STARTCHAR uni02D2 +ENCODING 722 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 2 0 +BITMAP +C0 +20 +20 +C0 +ENDCHAR +STARTCHAR uni02D3 +ENCODING 723 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 0 +BITMAP +60 +80 +80 +60 +ENDCHAR +STARTCHAR uni02D4 +ENCODING 724 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +20 +20 +F8 +ENDCHAR +STARTCHAR uni02D5 +ENCODING 725 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +20 +20 +ENDCHAR +STARTCHAR uni02D6 +ENCODING 726 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni02D7 +ENCODING 727 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +88 +F8 +88 +ENDCHAR +STARTCHAR breve +ENCODING 728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +88 +70 +ENDCHAR +STARTCHAR dotaccent +ENCODING 729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 7 +BITMAP +80 +ENDCHAR +STARTCHAR ring +ENCODING 730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR ogonek +ENCODING 731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +C0 +ENDCHAR +STARTCHAR tilde +ENCODING 732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR hungarumlaut +ENCODING 733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni02DE +ENCODING 734 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +20 +68 +A8 +10 +ENDCHAR +STARTCHAR uni02DF +ENCODING 735 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni02E0 +ENCODING 736 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 3 +BITMAP +A0 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR uni02E1 +ENCODING 737 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni02E2 +ENCODING 738 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 4 +BITMAP +60 +C0 +20 +C0 +ENDCHAR +STARTCHAR uni02E3 +ENCODING 739 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni02E4 +ENCODING 740 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +60 +80 +C0 +40 +40 +ENDCHAR +STARTCHAR uni02E5 +ENCODING 741 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni02E6 +ENCODING 742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni02E7 +ENCODING 743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +20 +20 +E0 +20 +20 +20 +ENDCHAR +STARTCHAR uni02E8 +ENCODING 744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +20 +20 +20 +20 +E0 +20 +ENDCHAR +STARTCHAR uni02E9 +ENCODING 745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni02EA +ENCODING 746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +20 +20 +ENDCHAR +STARTCHAR uni02EB +ENCODING 747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +80 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni02EC +ENCODING 748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni02ED +ENCODING 749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 3 +BITMAP +E0 +00 +E0 +ENDCHAR +STARTCHAR uni02EE +ENCODING 750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +D8 +48 +90 +ENDCHAR +STARTCHAR uni02EF +ENCODING 751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 -2 +BITMAP +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni02F0 +ENCODING 752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 -2 +BITMAP +20 +50 +50 +88 +ENDCHAR +STARTCHAR uni02F1 +ENCODING 753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 -2 +BITMAP +10 +60 +80 +60 +10 +ENDCHAR +STARTCHAR uni02F2 +ENCODING 754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 -2 +BITMAP +80 +60 +10 +60 +80 +ENDCHAR +STARTCHAR uni02F3 +ENCODING 755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +60 +90 +ENDCHAR +STARTCHAR uni02F4 +ENCODING 756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni02F5 +ENCODING 757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 3 +BITMAP +A0 +50 +ENDCHAR +STARTCHAR uni02F6 +ENCODING 758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 3 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR uni02F7 +ENCODING 759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni02F8 +ENCODING 760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 2 0 +BITMAP +C0 +C0 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni02F9 +ENCODING 761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 3 +BITMAP +C0 +80 +80 +ENDCHAR +STARTCHAR uni02FA +ENCODING 762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +C0 +40 +40 +ENDCHAR +STARTCHAR uni02FB +ENCODING 763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 0 +BITMAP +80 +80 +C0 +ENDCHAR +STARTCHAR uni02FC +ENCODING 764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 0 +BITMAP +40 +40 +C0 +ENDCHAR +STARTCHAR uni02FD +ENCODING 765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 0 +BITMAP +88 +F8 +ENDCHAR +STARTCHAR uni02FE +ENCODING 766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 0 0 +BITMAP +80 +F0 +ENDCHAR +STARTCHAR uni02FF +ENCODING 767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -1 +BITMAP +40 +F8 +40 +ENDCHAR +STARTCHAR gravecomb +ENCODING 768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 8 +BITMAP +80 +40 +ENDCHAR +STARTCHAR acutecomb +ENCODING 769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 8 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0302 +ENCODING 770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 8 +BITMAP +40 +A0 +ENDCHAR +STARTCHAR tildecomb +ENCODING 771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni0304 +ENCODING 772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 8 +BITMAP +E0 +ENDCHAR +STARTCHAR uni0305 +ENCODING 773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 8 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0306 +ENCODING 774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni0307 +ENCODING 775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 8 +BITMAP +80 +ENDCHAR +STARTCHAR uni0308 +ENCODING 776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 8 +BITMAP +A0 +ENDCHAR +STARTCHAR hookabovecomb +ENCODING 777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +C0 +20 +40 +ENDCHAR +STARTCHAR uni030A +ENCODING 778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR uni030B +ENCODING 779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni030C +ENCODING 780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 8 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni030D +ENCODING 781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 8 +BITMAP +80 +80 +ENDCHAR +STARTCHAR uni030E +ENCODING 782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 8 +BITMAP +A0 +A0 +ENDCHAR +STARTCHAR uni030F +ENCODING 783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +90 +48 +ENDCHAR +STARTCHAR uni0310 +ENCODING 784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +20 +88 +70 +ENDCHAR +STARTCHAR uni0311 +ENCODING 785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni0312 +ENCODING 786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +20 +40 +C0 +ENDCHAR +STARTCHAR uni0313 +ENCODING 787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +60 +40 +80 +ENDCHAR +STARTCHAR uni0314 +ENCODING 788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +C0 +40 +20 +ENDCHAR +STARTCHAR uni0315 +ENCODING 789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 3 7 +BITMAP +60 +40 +80 +ENDCHAR +STARTCHAR uni0316 +ENCODING 790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni0317 +ENCODING 791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0318 +ENCODING 792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +40 +C0 +40 +ENDCHAR +STARTCHAR uni0319 +ENCODING 793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +80 +C0 +80 +ENDCHAR +STARTCHAR uni031A +ENCODING 794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 3 7 +BITMAP +E0 +20 +20 +ENDCHAR +STARTCHAR uni031B +ENCODING 795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 4 7 +BITMAP +40 +40 +80 +ENDCHAR +STARTCHAR uni031C +ENCODING 796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni031D +ENCODING 797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +40 +E0 +ENDCHAR +STARTCHAR uni031E +ENCODING 798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +E0 +40 +ENDCHAR +STARTCHAR uni031F +ENCODING 799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni0320 +ENCODING 800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +E0 +ENDCHAR +STARTCHAR uni0321 +ENCODING 801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 -2 +BITMAP +20 +A0 +40 +ENDCHAR +STARTCHAR uni0322 +ENCODING 802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 4 -2 +BITMAP +80 +80 +40 +ENDCHAR +STARTCHAR dotbelowcomb +ENCODING 803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 -2 +BITMAP +80 +ENDCHAR +STARTCHAR uni0324 +ENCODING 804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +A0 +ENDCHAR +STARTCHAR uni0325 +ENCODING 805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR uni0326 +ENCODING 806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0327 +ENCODING 807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0328 +ENCODING 808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni0329 +ENCODING 809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 -2 +BITMAP +80 +80 +ENDCHAR +STARTCHAR uni032A +ENCODING 810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +F0 +90 +ENDCHAR +STARTCHAR uni032B +ENCODING 811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +A8 +50 +ENDCHAR +STARTCHAR uni032C +ENCODING 812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +90 +60 +ENDCHAR +STARTCHAR uni032D +ENCODING 813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +60 +90 +ENDCHAR +STARTCHAR uni032E +ENCODING 814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni032F +ENCODING 815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni0330 +ENCODING 816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR uni0331 +ENCODING 817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 -2 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0332 +ENCODING 818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 -2 +BITMAP +FC +ENDCHAR +STARTCHAR uni0333 +ENCODING 819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 -2 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR uni0334 +ENCODING 820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 2 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR uni0335 +ENCODING 821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +E0 +ENDCHAR +STARTCHAR uni0336 +ENCODING 822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0337 +ENCODING 823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 2 +BITMAP +20 +40 +80 +ENDCHAR +STARTCHAR uni0338 +ENCODING 824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +08 +10 +10 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni0339 +ENCODING 825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +80 +40 +80 +ENDCHAR +STARTCHAR uni033A +ENCODING 826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +90 +F0 +ENDCHAR +STARTCHAR uni033B +ENCODING 827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +A0 +E0 +ENDCHAR +STARTCHAR uni033C +ENCODING 828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +50 +A8 +ENDCHAR +STARTCHAR uni033D +ENCODING 829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni033E +ENCODING 830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 6 +BITMAP +40 +80 +40 +80 +ENDCHAR +STARTCHAR uni033F +ENCODING 831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 7 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR uni0340 +ENCODING 832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 8 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni0341 +ENCODING 833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 8 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0342 +ENCODING 834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni0343 +ENCODING 835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 7 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR uni0344 +ENCODING 836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +10 +20 +D8 +ENDCHAR +STARTCHAR uni0345 +ENCODING 837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 -2 +BITMAP +80 +ENDCHAR +STARTCHAR uni0346 +ENCODING 838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 8 +BITMAP +E0 +A0 +ENDCHAR +STARTCHAR uni0347 +ENCODING 839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +F8 +00 +F8 +ENDCHAR +STARTCHAR uni0348 +ENCODING 840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +A0 +A0 +ENDCHAR +STARTCHAR uni0349 +ENCODING 841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +C0 +40 +ENDCHAR +STARTCHAR uni034A +ENCODING 842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 5 +BITMAP +20 +68 +B0 +20 +ENDCHAR +STARTCHAR uni034B +ENCODING 843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 4 +BITMAP +10 +00 +68 +B0 +00 +40 +ENDCHAR +STARTCHAR uni034C +ENCODING 844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 +BITMAP +68 +B0 +68 +B0 +ENDCHAR +STARTCHAR uni034D +ENCODING 845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +50 +F8 +50 +ENDCHAR +STARTCHAR uni034E +ENCODING 846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +40 +E0 +ENDCHAR +STARTCHAR uni034F +ENCODING 847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR uni0350 +ENCODING 848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +E0 +38 +E0 +ENDCHAR +STARTCHAR uni0351 +ENCODING 849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 7 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni0352 +ENCODING 850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +70 +88 +20 +ENDCHAR +STARTCHAR uni0353 +ENCODING 851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni0354 +ENCODING 852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +38 +E0 +38 +ENDCHAR +STARTCHAR uni0355 +ENCODING 853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +E0 +38 +E0 +ENDCHAR +STARTCHAR uni0356 +ENCODING 854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 -2 +BITMAP +08 +C8 +34 +D4 +ENDCHAR +STARTCHAR uni0357 +ENCODING 855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 7 +BITMAP +80 +40 +80 +ENDCHAR +STARTCHAR uni0358 +ENCODING 856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 8 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni0359 +ENCODING 857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +40 +E0 +ENDCHAR +STARTCHAR uni035A +ENCODING 858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +50 +A8 +50 +ENDCHAR +STARTCHAR uni035B +ENCODING 859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +80 +E0 +20 +ENDCHAR +STARTCHAR uni035C +ENCODING 860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 -2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni035D +ENCODING 861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 8 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni035E +ENCODING 862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 1 9 +BITMAP +F8 +ENDCHAR +STARTCHAR uni035F +ENCODING 863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 1 -2 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0360 +ENCODING 864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 8 +BITMAP +60 +98 +ENDCHAR +STARTCHAR uni0361 +ENCODING 865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 8 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni0362 +ENCODING 866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 1 -2 +BITMAP +10 +F8 +10 +ENDCHAR +STARTCHAR uni0363 +ENCODING 867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +40 +A0 +A0 +60 +ENDCHAR +STARTCHAR uni0364 +ENCODING 868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +40 +E0 +80 +60 +ENDCHAR +STARTCHAR uni0365 +ENCODING 869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 4 2 6 +BITMAP +80 +00 +80 +80 +ENDCHAR +STARTCHAR uni0366 +ENCODING 870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 6 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni0367 +ENCODING 871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +A0 +A0 +60 +ENDCHAR +STARTCHAR uni0368 +ENCODING 872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +60 +80 +60 +ENDCHAR +STARTCHAR uni0369 +ENCODING 873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +20 +60 +A0 +60 +ENDCHAR +STARTCHAR uni036A +ENCODING 874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +80 +C0 +A0 +ENDCHAR +STARTCHAR uni036B +ENCODING 875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +D0 +A8 +A8 +ENDCHAR +STARTCHAR uni036C +ENCODING 876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni036D +ENCODING 877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +40 +E0 +40 +60 +ENDCHAR +STARTCHAR uni036E +ENCODING 878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +A0 +A0 +40 +40 +ENDCHAR +STARTCHAR uni036F +ENCODING 879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni0370 +ENCODING 880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +80 +80 +80 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni0371 +ENCODING 881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +60 +A0 +38 +20 +20 +20 +ENDCHAR +STARTCHAR uni0372 +ENCODING 882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A8 +A8 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni0373 +ENCODING 883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A8 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni0374 +ENCODING 884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0375 +ENCODING 885 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0376 +ENCODING 886 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +98 +98 +A8 +C8 +C8 +88 +ENDCHAR +STARTCHAR uni0377 +ENCODING 887 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +90 +B0 +D0 +90 +90 +08 +ENDCHAR +STARTCHAR uni037A +ENCODING 890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +C0 +ENDCHAR +STARTCHAR uni037B +ENCODING 891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +08 +88 +70 +ENDCHAR +STARTCHAR uni037C +ENCODING 892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A0 +88 +70 +ENDCHAR +STARTCHAR uni037D +ENCODING 893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +28 +88 +70 +ENDCHAR +STARTCHAR uni037E +ENCODING 894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +40 +E0 +40 +00 +60 +40 +80 +ENDCHAR +STARTCHAR tonos +ENCODING 900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 +BITMAP +40 +80 +ENDCHAR +STARTCHAR dieresistonos +ENCODING 901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +20 +40 +00 +A0 +ENDCHAR +STARTCHAR Alphatonos +ENCODING 902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR anoteleia +ENCODING 903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR Epsilontonos +ENCODING 904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Etatonos +ENCODING 905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Iotatonos +ENCODING 906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +40 +80 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR Omicrontonos +ENCODING 908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Upsilontonos +ENCODING 910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Omegatonos +ENCODING 911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR iotadieresistonos +ENCODING 912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +20 +40 +00 +A0 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR Alpha +ENCODING 913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Beta +ENCODING 914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR Gamma +ENCODING 915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR Delta +ENCODING 916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +F8 +ENDCHAR +STARTCHAR Epsilon +ENCODING 917 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Zeta +ENCODING 918 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR Eta +ENCODING 919 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Theta +ENCODING 920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR Iota +ENCODING 921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Kappa +ENCODING 922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR Lambda +ENCODING 923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +88 +ENDCHAR +STARTCHAR Mu +ENCODING 924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR Nu +ENCODING 925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR Xi +ENCODING 926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +00 +70 +00 +00 +F8 +ENDCHAR +STARTCHAR Omicron +ENCODING 927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Pi +ENCODING 928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR Rho +ENCODING 929 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR Sigma +ENCODING 931 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +40 +20 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR Tau +ENCODING 932 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Upsilon +ENCODING 933 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Phi +ENCODING 934 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR Chi +ENCODING 935 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR Psi +ENCODING 936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR Omega +ENCODING 937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR Iotadieresis +ENCODING 938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Upsilondieresis +ENCODING 939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR alphatonos +ENCODING 940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR epsilontonos +ENCODING 941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR etatonos +ENCODING 942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR iotatonos +ENCODING 943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +40 +80 +00 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR upsilondieresistonos +ENCODING 944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR alpha +ENCODING 945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR beta +ENCODING 946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +60 +90 +90 +B0 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR gamma +ENCODING 947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +50 +20 +20 +20 +ENDCHAR +STARTCHAR delta +ENCODING 948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +80 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR epsilon +ENCODING 949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR zeta +ENCODING 950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +F8 +20 +40 +40 +40 +30 +08 +30 +ENDCHAR +STARTCHAR eta +ENCODING 951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR theta +ENCODING 952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +60 +90 +90 +F0 +90 +90 +60 +ENDCHAR +STARTCHAR iota +ENCODING 953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 2 0 +BITMAP +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR kappa +ENCODING 954 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR lambda +ENCODING 955 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +40 +40 +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR mu +ENCODING 956 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +98 +E8 +80 +80 +ENDCHAR +STARTCHAR nu +ENCODING 957 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +50 +50 +20 +ENDCHAR +STARTCHAR xi +ENCODING 958 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +40 +70 +80 +80 +70 +08 +10 +ENDCHAR +STARTCHAR omicron +ENCODING 959 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR pi +ENCODING 960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +F8 +50 +50 +54 +48 +ENDCHAR +STARTCHAR rho +ENCODING 961 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +C8 +B0 +80 +80 +ENDCHAR +STARTCHAR sigma1 +ENCODING 962 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +80 +80 +70 +08 +30 +ENDCHAR +STARTCHAR sigma +ENCODING 963 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +90 +88 +88 +70 +ENDCHAR +STARTCHAR tau +ENCODING 964 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +20 +28 +10 +ENDCHAR +STARTCHAR upsilon +ENCODING 965 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR phi +ENCODING 966 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +10 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR chi +ENCODING 967 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR psi +ENCODING 968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A8 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR omega +ENCODING 969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR iotadieresis +ENCODING 970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +A0 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR upsilondieresis +ENCODING 971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR omicrontonos +ENCODING 972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR upsilontonos +ENCODING 973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR omegatonos +ENCODING 974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni03CF +ENCODING 975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +30 +10 +ENDCHAR +STARTCHAR uni03D0 +ENCODING 976 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +90 +90 +B0 +C8 +88 +70 +ENDCHAR +STARTCHAR theta1 +ENCODING 977 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +3C +08 +C8 +48 +30 +ENDCHAR +STARTCHAR Upsilon1 +ENCODING 978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +88 +54 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni03D3 +ENCODING 979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +80 +00 +88 +54 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni03D4 +ENCODING 980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +D8 +00 +88 +54 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR phi1 +ENCODING 981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR omega1 +ENCODING 982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni03D7 +ENCODING 983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +48 +70 +50 +88 +08 +30 +ENDCHAR +STARTCHAR uni03D8 +ENCODING 984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +88 +88 +88 +70 +20 +20 +ENDCHAR +STARTCHAR uni03D9 +ENCODING 985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +70 +20 +20 +ENDCHAR +STARTCHAR uni03DA +ENCODING 986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +80 +80 +70 +10 +ENDCHAR +STARTCHAR uni03DB +ENCODING 987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +08 +70 +80 +80 +80 +70 +08 +30 +ENDCHAR +STARTCHAR uni03DC +ENCODING 988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +E0 +80 +80 +80 +ENDCHAR +STARTCHAR uni03DD +ENCODING 989 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 -2 +BITMAP +F0 +80 +80 +E0 +80 +80 +80 +ENDCHAR +STARTCHAR uni03DE +ENCODING 990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +80 +F8 +08 +10 +10 +ENDCHAR +STARTCHAR uni03DF +ENCODING 991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -2 +BITMAP +80 +40 +48 +58 +68 +48 +08 +04 +ENDCHAR +STARTCHAR uni03E0 +ENCODING 992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +30 +48 +18 +28 +08 +10 +ENDCHAR +STARTCHAR uni03E1 +ENCODING 993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +C0 +20 +10 +30 +48 +18 +28 +08 +08 +ENDCHAR +STARTCHAR uni03E2 +ENCODING 994 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +A8 +A8 +A8 +A8 +A8 +58 +08 +F0 +ENDCHAR +STARTCHAR uni03E3 +ENCODING 995 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +A8 +A8 +A8 +58 +08 +F0 +ENDCHAR +STARTCHAR uni03E4 +ENCODING 996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +48 +88 +88 +88 +88 +98 +68 +08 +08 +ENDCHAR +STARTCHAR uni03E5 +ENCODING 997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +48 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni03E6 +ENCODING 998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +80 +80 +B0 +C8 +88 +88 +08 +70 +ENDCHAR +STARTCHAR uni03E7 +ENCODING 999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +6C +90 +68 +08 +C8 +B0 +ENDCHAR +STARTCHAR uni03E8 +ENCODING 1000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +70 +88 +88 +10 +20 +40 +88 +70 +ENDCHAR +STARTCHAR uni03E9 +ENCODING 1001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +88 +88 +10 +60 +80 +78 +ENDCHAR +STARTCHAR uni03EA +ENCODING 1002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +50 +20 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni03EB +ENCODING 1003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +20 +50 +88 +F8 +ENDCHAR +STARTCHAR uni03EC +ENCODING 1004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +80 +E0 +90 +88 +F0 +ENDCHAR +STARTCHAR uni03ED +ENCODING 1005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 0 +BITMAP +30 +40 +80 +E0 +90 +E0 +ENDCHAR +STARTCHAR uni03EE +ENCODING 1006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +A8 +20 +20 +30 +ENDCHAR +STARTCHAR uni03EF +ENCODING 1007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +A0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni03F0 +ENCODING 1008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +48 +70 +50 +88 +ENDCHAR +STARTCHAR uni03F1 +ENCODING 1009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +F0 +80 +78 +ENDCHAR +STARTCHAR uni03F2 +ENCODING 1010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR uni03F3 +ENCODING 1011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 +BITMAP +20 +00 +60 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni03F4 +ENCODING 1012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni03F5 +ENCODING 1013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +70 +80 +E0 +80 +70 +ENDCHAR +STARTCHAR uni03F6 +ENCODING 1014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR uni03F7 +ENCODING 1015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +E0 +40 +70 +48 +48 +70 +40 +E0 +ENDCHAR +STARTCHAR uni03F8 +ENCODING 1016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +B0 +C8 +88 +88 +C8 +B0 +80 +ENDCHAR +STARTCHAR uni03F9 +ENCODING 1017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR uni03FA +ENCODING 1018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni03FB +ENCODING 1019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +D8 +A8 +88 +88 +80 +80 +ENDCHAR +STARTCHAR uni03FC +ENCODING 1020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +30 +48 +48 +70 +40 +F0 +40 +ENDCHAR +STARTCHAR uni03FD +ENCODING 1021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni03FE +ENCODING 1022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +A0 +80 +88 +70 +ENDCHAR +STARTCHAR uni03FF +ENCODING 1023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +28 +08 +88 +70 +ENDCHAR +STARTCHAR uni0400 +ENCODING 1024 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR afii10023 +ENCODING 1025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR afii10051 +ENCODING 1026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +E0 +40 +40 +70 +48 +48 +48 +08 +30 +ENDCHAR +STARTCHAR afii10052 +ENCODING 1027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F8 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10053 +ENCODING 1028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +F0 +80 +88 +70 +ENDCHAR +STARTCHAR afii10054 +ENCODING 1029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR afii10055 +ENCODING 1030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10056 +ENCODING 1031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10057 +ENCODING 1032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR afii10058 +ENCODING 1033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +A0 +A0 +B0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR afii10059 +ENCODING 1034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +A0 +F0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR afii10060 +ENCODING 1035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +40 +40 +70 +48 +48 +48 +ENDCHAR +STARTCHAR afii10061 +ENCODING 1036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni040D +ENCODING 1037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR afii10062 +ENCODING 1038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +88 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10145 +ENCODING 1039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +88 +88 +88 +F8 +20 +20 +ENDCHAR +STARTCHAR afii10017 +ENCODING 1040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR afii10018 +ENCODING 1041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +80 +80 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR afii10019 +ENCODING 1042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR afii10020 +ENCODING 1043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10021 +ENCODING 1044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +30 +50 +50 +50 +50 +50 +F8 +88 +ENDCHAR +STARTCHAR afii10022 +ENCODING 1045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR afii10024 +ENCODING 1046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +70 +20 +70 +A8 +A8 +ENDCHAR +STARTCHAR afii10025 +ENCODING 1047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +70 +08 +88 +70 +ENDCHAR +STARTCHAR afii10026 +ENCODING 1048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR afii10027 +ENCODING 1049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR afii10028 +ENCODING 1050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR afii10029 +ENCODING 1051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +48 +48 +48 +48 +48 +88 +ENDCHAR +STARTCHAR afii10030 +ENCODING 1052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR afii10031 +ENCODING 1053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR afii10032 +ENCODING 1054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR afii10033 +ENCODING 1055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR afii10034 +ENCODING 1056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR afii10035 +ENCODING 1057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR afii10036 +ENCODING 1058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR afii10037 +ENCODING 1059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10038 +ENCODING 1060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR afii10039 +ENCODING 1061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR afii10040 +ENCODING 1062 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +90 +90 +90 +90 +90 +90 +F8 +08 +08 +ENDCHAR +STARTCHAR afii10041 +ENCODING 1063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +78 +08 +08 +08 +ENDCHAR +STARTCHAR afii10042 +ENCODING 1064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR afii10043 +ENCODING 1065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +F8 +08 +08 +ENDCHAR +STARTCHAR afii10044 +ENCODING 1066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +40 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR afii10045 +ENCODING 1067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +C8 +A8 +A8 +C8 +ENDCHAR +STARTCHAR afii10046 +ENCODING 1068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +80 +80 +E0 +90 +90 +E0 +ENDCHAR +STARTCHAR afii10047 +ENCODING 1069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +78 +08 +88 +70 +ENDCHAR +STARTCHAR afii10048 +ENCODING 1070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +A8 +A8 +E8 +A8 +A8 +90 +ENDCHAR +STARTCHAR afii10049 +ENCODING 1071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +88 +88 +78 +28 +48 +88 +ENDCHAR +STARTCHAR afii10065 +ENCODING 1072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR afii10066 +ENCODING 1073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +80 +F0 +88 +88 +88 +70 +ENDCHAR +STARTCHAR afii10067 +ENCODING 1074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +88 +F0 +88 +F0 +ENDCHAR +STARTCHAR afii10068 +ENCODING 1075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10069 +ENCODING 1076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +30 +50 +50 +50 +F8 +88 +ENDCHAR +STARTCHAR afii10070 +ENCODING 1077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR afii10072 +ENCODING 1078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR afii10073 +ENCODING 1079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +30 +88 +70 +ENDCHAR +STARTCHAR afii10074 +ENCODING 1080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR afii10075 +ENCODING 1081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR afii10076 +ENCODING 1082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR afii10077 +ENCODING 1083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +48 +48 +48 +88 +ENDCHAR +STARTCHAR afii10078 +ENCODING 1084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D8 +A8 +88 +88 +ENDCHAR +STARTCHAR afii10079 +ENCODING 1085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR afii10080 +ENCODING 1086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR afii10081 +ENCODING 1087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR afii10082 +ENCODING 1088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR afii10083 +ENCODING 1089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR afii10084 +ENCODING 1090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR afii10085 +ENCODING 1091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10086 +ENCODING 1092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR afii10087 +ENCODING 1093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR afii10088 +ENCODING 1094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +90 +90 +90 +90 +F8 +08 +08 +ENDCHAR +STARTCHAR afii10089 +ENCODING 1095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR afii10090 +ENCODING 1096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR afii10091 +ENCODING 1097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A8 +A8 +A8 +A8 +F8 +08 +08 +ENDCHAR +STARTCHAR afii10092 +ENCODING 1098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +40 +70 +48 +70 +ENDCHAR +STARTCHAR afii10093 +ENCODING 1099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +C8 +A8 +C8 +ENDCHAR +STARTCHAR afii10094 +ENCODING 1100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +80 +80 +E0 +90 +E0 +ENDCHAR +STARTCHAR afii10095 +ENCODING 1101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR afii10096 +ENCODING 1102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +A8 +E8 +A8 +90 +ENDCHAR +STARTCHAR afii10097 +ENCODING 1103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +70 +90 +70 +50 +90 +ENDCHAR +STARTCHAR uni0450 +ENCODING 1104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR afii10071 +ENCODING 1105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR afii10099 +ENCODING 1106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +40 +E0 +40 +70 +48 +48 +48 +08 +10 +ENDCHAR +STARTCHAR afii10100 +ENCODING 1107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +F8 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10101 +ENCODING 1108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +70 +80 +E0 +80 +70 +ENDCHAR +STARTCHAR afii10102 +ENCODING 1109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR afii10103 +ENCODING 1110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +40 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10104 +ENCODING 1111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +A0 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10105 +ENCODING 1112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +10 +00 +30 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR afii10106 +ENCODING 1113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +60 +A0 +B0 +A8 +B0 +ENDCHAR +STARTCHAR afii10107 +ENCODING 1114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +A0 +F0 +A8 +B0 +ENDCHAR +STARTCHAR afii10108 +ENCODING 1115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +E0 +40 +70 +48 +48 +48 +ENDCHAR +STARTCHAR afii10109 +ENCODING 1116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +20 +40 +00 +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR uni045D +ENCODING 1117 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR afii10110 +ENCODING 1118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +70 +00 +88 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10193 +ENCODING 1119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +F8 +20 +20 +ENDCHAR +STARTCHAR uni0460 +ENCODING 1120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +88 +88 +A8 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni0461 +ENCODING 1121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR afii10146 +ENCODING 1122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +F0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR afii10194 +ENCODING 1123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +F0 +40 +70 +48 +70 +ENDCHAR +STARTCHAR uni0464 +ENCODING 1124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +98 +A0 +A0 +F8 +A0 +A0 +98 +ENDCHAR +STARTCHAR uni0465 +ENCODING 1125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +A0 +F8 +A0 +98 +ENDCHAR +STARTCHAR uni0466 +ENCODING 1126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +F8 +A8 +A8 +ENDCHAR +STARTCHAR uni0467 +ENCODING 1127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +50 +88 +F8 +A8 +ENDCHAR +STARTCHAR uni0468 +ENCODING 1128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +90 +B8 +F8 +B8 +B8 +B8 +ENDCHAR +STARTCHAR uni0469 +ENCODING 1129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +90 +F8 +B8 +B8 +ENDCHAR +STARTCHAR uni046A +ENCODING 1130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +88 +50 +50 +70 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni046B +ENCODING 1131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +88 +50 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni046C +ENCODING 1132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +FC +C4 +A8 +90 +F8 +B8 +B8 +A8 +ENDCHAR +STARTCHAR uni046D +ENCODING 1133 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +FC +A8 +90 +F8 +B8 +A8 +ENDCHAR +STARTCHAR uni046E +ENCODING 1134 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +50 +20 +00 +70 +88 +08 +30 +08 +08 +70 +80 +70 +ENDCHAR +STARTCHAR uni046F +ENCODING 1135 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +50 +20 +00 +70 +88 +30 +08 +70 +80 +70 +ENDCHAR +STARTCHAR uni0470 +ENCODING 1136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +70 +20 +20 +20 +ENDCHAR +STARTCHAR uni0471 +ENCODING 1137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR afii10147 +ENCODING 1138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR afii10195 +ENCODING 1139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR afii10148 +ENCODING 1140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +90 +50 +50 +50 +20 +ENDCHAR +STARTCHAR afii10196 +ENCODING 1141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +90 +50 +50 +20 +ENDCHAR +STARTCHAR uni0476 +ENCODING 1142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +88 +90 +90 +50 +50 +50 +20 +ENDCHAR +STARTCHAR uni0477 +ENCODING 1143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +88 +90 +50 +50 +20 +ENDCHAR +STARTCHAR uni0478 +ENCODING 1144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +40 +A0 +A0 +B8 +B8 +B8 +58 +08 +10 +ENDCHAR +STARTCHAR uni0479 +ENCODING 1145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +58 +B8 +B8 +B8 +58 +08 +10 +ENDCHAR +STARTCHAR uni047A +ENCODING 1146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +70 +A8 +88 +88 +88 +88 +A8 +70 +20 +ENDCHAR +STARTCHAR uni047B +ENCODING 1147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +70 +A8 +88 +88 +A8 +70 +20 +ENDCHAR +STARTCHAR uni047C +ENCODING 1148 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +20 +20 +88 +88 +88 +A8 +50 +ENDCHAR +STARTCHAR uni047D +ENCODING 1149 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +20 +A8 +88 +A8 +50 +ENDCHAR +STARTCHAR uni047E +ENCODING 1150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +F8 +A8 +00 +50 +88 +88 +A8 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni047F +ENCODING 1151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +A8 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni0480 +ENCODING 1152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +70 +88 +88 +80 +80 +80 +80 +70 +10 +10 +ENDCHAR +STARTCHAR uni0481 +ENCODING 1153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +88 +80 +80 +70 +10 +10 +ENDCHAR +STARTCHAR uni0482 +ENCODING 1154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +28 +10 +B0 +48 +40 +A0 +ENDCHAR +STARTCHAR uni0483 +ENCODING 1155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 7 +BITMAP +04 +FC +80 +ENDCHAR +STARTCHAR uni0484 +ENCODING 1156 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 +BITMAP +70 +8C +ENDCHAR +STARTCHAR uni0485 +ENCODING 1157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +70 +C8 +ENDCHAR +STARTCHAR uni0486 +ENCODING 1158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +70 +98 +ENDCHAR +STARTCHAR uni0487 +ENCODING 1159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 +BITMAP +60 +9C +ENDCHAR +STARTCHAR uni0488 +ENCODING 1160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +40 +A0 +08 +14 +00 +00 +00 +00 +40 +A0 +08 +14 +ENDCHAR +STARTCHAR uni0489 +ENCODING 1161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +40 +84 +C8 +0C +00 +00 +00 +00 +40 +84 +C8 +0C +ENDCHAR +STARTCHAR uni048A +ENCODING 1162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +88 +70 +00 +88 +98 +98 +A8 +C8 +C8 +88 +10 +10 +ENDCHAR +STARTCHAR uni048B +ENCODING 1163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +88 +70 +00 +88 +88 +98 +A8 +C8 +88 +10 +10 +ENDCHAR +STARTCHAR uni048C +ENCODING 1164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +40 +E0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR uni048D +ENCODING 1165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +E0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR uni048E +ENCODING 1166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +88 +88 +A8 +F0 +88 +80 +80 +ENDCHAR +STARTCHAR uni048F +ENCODING 1167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +F0 +88 +88 +A8 +F0 +88 +80 +80 +ENDCHAR +STARTCHAR afii10050 +ENCODING 1168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +08 +F8 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10098 +ENCODING 1169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +F8 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni0492 +ENCODING 1170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +40 +40 +F0 +40 +40 +40 +ENDCHAR +STARTCHAR uni0493 +ENCODING 1171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +40 +F0 +40 +40 +ENDCHAR +STARTCHAR uni0494 +ENCODING 1172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F8 +80 +80 +F0 +88 +88 +88 +88 +10 +ENDCHAR +STARTCHAR uni0495 +ENCODING 1173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +F8 +80 +F0 +88 +88 +88 +10 +ENDCHAR +STARTCHAR uni0496 +ENCODING 1174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +A8 +A8 +A8 +70 +A8 +A8 +AC +04 +04 +ENDCHAR +STARTCHAR uni0497 +ENCODING 1175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +A8 +70 +20 +70 +AC +04 +04 +ENDCHAR +STARTCHAR uni0498 +ENCODING 1176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +70 +88 +08 +10 +08 +08 +88 +70 +20 +40 +ENDCHAR +STARTCHAR uni0499 +ENCODING 1177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +70 +88 +10 +08 +88 +70 +20 +40 +ENDCHAR +STARTCHAR uni049A +ENCODING 1178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +04 +04 +ENDCHAR +STARTCHAR uni049B +ENCODING 1179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +90 +A0 +C0 +A0 +90 +08 +08 +ENDCHAR +STARTCHAR uni049C +ENCODING 1180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +B0 +A0 +C0 +A0 +B0 +A8 +ENDCHAR +STARTCHAR uni049D +ENCODING 1181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +B0 +E0 +B0 +A8 +ENDCHAR +STARTCHAR uni049E +ENCODING 1182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +E8 +50 +60 +50 +48 +48 +ENDCHAR +STARTCHAR uni049F +ENCODING 1183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +40 +E0 +48 +50 +60 +50 +48 +ENDCHAR +STARTCHAR uni04A0 +ENCODING 1184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +48 +50 +60 +60 +50 +48 +48 +ENDCHAR +STARTCHAR uni04A1 +ENCODING 1185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C8 +50 +60 +50 +48 +ENDCHAR +STARTCHAR uni04A2 +ENCODING 1186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +90 +90 +90 +F0 +90 +90 +90 +98 +08 +08 +ENDCHAR +STARTCHAR uni04A3 +ENCODING 1187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +90 +90 +F0 +90 +98 +08 +08 +ENDCHAR +STARTCHAR uni04A4 +ENCODING 1188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +B8 +A0 +A0 +E0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni04A5 +ENCODING 1189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B8 +A0 +E0 +A0 +A0 +ENDCHAR +STARTCHAR uni04A6 +ENCODING 1190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +E0 +A0 +A0 +B0 +A8 +A8 +A8 +A8 +08 +10 +ENDCHAR +STARTCHAR uni04A7 +ENCODING 1191 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +E0 +A0 +B0 +A8 +A8 +08 +10 +ENDCHAR +STARTCHAR uni04A8 +ENCODING 1192 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +78 +80 +90 +A8 +A8 +A8 +70 +20 +18 +ENDCHAR +STARTCHAR uni04A9 +ENCODING 1193 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +80 +90 +A8 +70 +20 +18 +ENDCHAR +STARTCHAR uni04AA +ENCODING 1194 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +70 +88 +80 +80 +80 +80 +88 +70 +20 +10 +ENDCHAR +STARTCHAR uni04AB +ENCODING 1195 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +80 +88 +70 +20 +10 +ENDCHAR +STARTCHAR uni04AC +ENCODING 1196 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +30 +10 +10 +ENDCHAR +STARTCHAR uni04AD +ENCODING 1197 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +A8 +20 +20 +30 +10 +10 +ENDCHAR +STARTCHAR uni04AE +ENCODING 1198 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni04AF +ENCODING 1199 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni04B0 +ENCODING 1200 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni04B1 +ENCODING 1201 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni04B2 +ENCODING 1202 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +88 +88 +50 +20 +50 +88 +88 +04 +04 +ENDCHAR +STARTCHAR uni04B3 +ENCODING 1203 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +88 +50 +20 +50 +88 +04 +04 +ENDCHAR +STARTCHAR uni04B4 +ENCODING 1204 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +E8 +48 +48 +48 +48 +48 +48 +78 +08 +08 +ENDCHAR +STARTCHAR uni04B5 +ENCODING 1205 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +E8 +48 +48 +48 +48 +78 +08 +08 +ENDCHAR +STARTCHAR uni04B6 +ENCODING 1206 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +90 +90 +90 +90 +90 +70 +10 +18 +08 +08 +ENDCHAR +STARTCHAR uni04B7 +ENCODING 1207 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +90 +90 +90 +70 +10 +18 +08 +08 +ENDCHAR +STARTCHAR uni04B8 +ENCODING 1208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +88 +A8 +A8 +78 +28 +28 +08 +ENDCHAR +STARTCHAR uni04B9 +ENCODING 1209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +A8 +78 +28 +08 +ENDCHAR +STARTCHAR uni04BA +ENCODING 1210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni04BB +ENCODING 1211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +80 +80 +E0 +90 +90 +90 +ENDCHAR +STARTCHAR uni04BC +ENCODING 1212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +48 +48 +48 +F8 +40 +48 +30 +ENDCHAR +STARTCHAR uni04BD +ENCODING 1213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +30 +48 +F8 +40 +48 +30 +ENDCHAR +STARTCHAR uni04BE +ENCODING 1214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +30 +48 +48 +48 +F8 +40 +48 +30 +20 +10 +ENDCHAR +STARTCHAR uni04BF +ENCODING 1215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +30 +48 +F8 +40 +48 +30 +20 +10 +ENDCHAR +STARTCHAR uni04C0 +ENCODING 1216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni04C1 +ENCODING 1217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +A8 +A8 +A8 +70 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni04C2 +ENCODING 1218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR uni04C3 +ENCODING 1219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +08 +30 +ENDCHAR +STARTCHAR uni04C4 +ENCODING 1220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 +BITMAP +90 +A0 +C0 +A0 +90 +10 +60 +ENDCHAR +STARTCHAR uni04C5 +ENCODING 1221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +38 +48 +48 +48 +48 +48 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04C6 +ENCODING 1222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +38 +48 +48 +48 +88 +10 +10 +ENDCHAR +STARTCHAR uni04C7 +ENCODING 1223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +88 +08 +30 +ENDCHAR +STARTCHAR uni04C8 +ENCODING 1224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +F8 +88 +88 +08 +30 +ENDCHAR +STARTCHAR uni04C9 +ENCODING 1225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04CA +ENCODING 1226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +F8 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04CB +ENCODING 1227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +88 +88 +88 +88 +78 +08 +18 +10 +10 +ENDCHAR +STARTCHAR uni04CC +ENCODING 1228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +88 +88 +88 +78 +08 +18 +10 +10 +ENDCHAR +STARTCHAR uni04CD +ENCODING 1229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +D8 +D8 +A8 +A8 +88 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04CE +ENCODING 1230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +D8 +A8 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04CF +ENCODING 1231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 8 1 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni04D0 +ENCODING 1232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni04D1 +ENCODING 1233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni04D2 +ENCODING 1234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni04D3 +ENCODING 1235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni04D4 +ENCODING 1236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR uni04D5 +ENCODING 1237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +28 +70 +A8 +70 +ENDCHAR +STARTCHAR uni04D6 +ENCODING 1238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +70 +00 +F8 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni04D7 +ENCODING 1239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR uni04D8 +ENCODING 1240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR afii10846 +ENCODING 1241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +F8 +88 +70 +ENDCHAR +STARTCHAR uni04DA +ENCODING 1242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +08 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni04DB +ENCODING 1243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +08 +F8 +88 +70 +ENDCHAR +STARTCHAR uni04DC +ENCODING 1244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +A8 +A8 +A8 +70 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni04DD +ENCODING 1245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR uni04DE +ENCODING 1246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +08 +30 +08 +88 +70 +ENDCHAR +STARTCHAR uni04DF +ENCODING 1247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +30 +88 +70 +ENDCHAR +STARTCHAR uni04E0 +ENCODING 1248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni04E1 +ENCODING 1249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni04E2 +ENCODING 1250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR uni04E3 +ENCODING 1251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR uni04E4 +ENCODING 1252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR uni04E5 +ENCODING 1253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR uni04E6 +ENCODING 1254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni04E7 +ENCODING 1255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni04E8 +ENCODING 1256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni04E9 +ENCODING 1257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni04EA +ENCODING 1258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni04EB +ENCODING 1259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni04EC +ENCODING 1260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +E0 +10 +08 +78 +08 +10 +E0 +ENDCHAR +STARTCHAR uni04ED +ENCODING 1261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +A0 +00 +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR uni04EE +ENCODING 1262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +88 +88 +98 +68 +08 +88 +70 +ENDCHAR +STARTCHAR uni04EF +ENCODING 1263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +00 +88 +88 +88 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F0 +ENCODING 1264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +98 +68 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F1 +ENCODING 1265 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +50 +00 +88 +88 +88 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F2 +ENCODING 1266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +48 +90 +00 +88 +88 +98 +68 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F3 +ENCODING 1267 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +48 +90 +00 +88 +88 +88 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F4 +ENCODING 1268 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +88 +78 +08 +08 +08 +ENDCHAR +STARTCHAR uni04F5 +ENCODING 1269 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni04F6 +ENCODING 1270 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +F8 +80 +80 +80 +80 +80 +C0 +40 +ENDCHAR +STARTCHAR uni04F7 +ENCODING 1271 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 1 -1 +BITMAP +F0 +80 +80 +80 +C0 +40 +ENDCHAR +STARTCHAR uni04F8 +ENCODING 1272 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +88 +C8 +A8 +A8 +C8 +ENDCHAR +STARTCHAR uni04F9 +ENCODING 1273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +C8 +A8 +C8 +ENDCHAR +STARTCHAR uni04FA +ENCODING 1274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +78 +40 +40 +E0 +40 +40 +60 +20 +40 +ENDCHAR +STARTCHAR uni04FB +ENCODING 1275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +40 +E0 +40 +60 +20 +40 +ENDCHAR +STARTCHAR uni04FC +ENCODING 1276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +50 +20 +50 +88 +88 +08 +10 +ENDCHAR +STARTCHAR uni04FD +ENCODING 1277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +50 +20 +50 +88 +08 +10 +ENDCHAR +STARTCHAR uni04FE +ENCODING 1278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +F8 +50 +88 +88 +ENDCHAR +STARTCHAR uni04FF +ENCODING 1279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +F8 +50 +88 +ENDCHAR +STARTCHAR uni0500 +ENCODING 1280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR uni0501 +ENCODING 1281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +10 +70 +90 +90 +90 +70 +ENDCHAR +STARTCHAR uni0502 +ENCODING 1282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +60 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni0503 +ENCODING 1283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +60 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni0504 +ENCODING 1284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +20 +20 +C0 +28 +28 +10 +ENDCHAR +STARTCHAR uni0505 +ENCODING 1285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +C0 +20 +20 +48 +28 +10 +ENDCHAR +STARTCHAR uni0506 +ENCODING 1286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -2 +BITMAP +C0 +20 +20 +C0 +20 +20 +30 +10 +10 +ENDCHAR +STARTCHAR uni0507 +ENCODING 1287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 -2 +BITMAP +C0 +20 +20 +40 +20 +30 +10 +10 +ENDCHAR +STARTCHAR uni0508 +ENCODING 1288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A0 +A0 +A8 +A8 +A8 +90 +ENDCHAR +STARTCHAR uni0509 +ENCODING 1289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A0 +A0 +A8 +90 +ENDCHAR +STARTCHAR uni050A +ENCODING 1290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +A0 +E8 +A8 +A8 +90 +ENDCHAR +STARTCHAR uni050B +ENCODING 1291 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +A0 +E8 +A8 +90 +ENDCHAR +STARTCHAR uni050C +ENCODING 1292 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +98 +88 +88 +70 +ENDCHAR +STARTCHAR uni050D +ENCODING 1293 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni050E +ENCODING 1294 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +28 +28 +28 +10 +ENDCHAR +STARTCHAR uni050F +ENCODING 1295 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni0510 +ENCODING 1296 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +88 +80 +60 +80 +88 +70 +ENDCHAR +STARTCHAR uni0511 +ENCODING 1297 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni0512 +ENCODING 1298 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +48 +48 +48 +48 +A8 +10 +ENDCHAR +STARTCHAR uni0513 +ENCODING 1299 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +FC +48 +48 +48 +88 +10 +ENDCHAR +STARTCHAR uni0514 +ENCODING 1300 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +D4 +54 +54 +48 +54 +54 +94 +ENDCHAR +STARTCHAR uni0515 +ENCODING 1301 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +D4 +54 +48 +54 +94 +ENDCHAR +STARTCHAR uni0516 +ENCODING 1302 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C8 +A8 +B0 +D0 +88 +88 +88 +ENDCHAR +STARTCHAR uni0517 +ENCODING 1303 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +C8 +B0 +A0 +D0 +88 +80 +ENDCHAR +STARTCHAR uni0518 +ENCODING 1304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +70 +A0 +A0 +B8 +ENDCHAR +STARTCHAR uni0519 +ENCODING 1305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +70 +A0 +98 +ENDCHAR +STARTCHAR uni051A +ENCODING 1306 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +A8 +90 +68 +ENDCHAR +STARTCHAR uni051B +ENCODING 1307 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni051C +ENCODING 1308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni051D +ENCODING 1309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni051E +ENCODING 1310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +90 +A8 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni051F +ENCODING 1311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +90 +E8 +90 +88 +ENDCHAR +STARTCHAR uni0520 +ENCODING 1312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +D0 +50 +50 +58 +54 +54 +94 +04 +08 +ENDCHAR +STARTCHAR uni0521 +ENCODING 1313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +D0 +50 +58 +54 +94 +04 +ENDCHAR +STARTCHAR uni0522 +ENCODING 1314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +A0 +A0 +A0 +F0 +A8 +A8 +A8 +08 +10 +ENDCHAR +STARTCHAR uni0523 +ENCODING 1315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A0 +A0 +F0 +A8 +A8 +08 +10 +ENDCHAR +STARTCHAR uni0531 +ENCODING 1329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +B0 +48 +ENDCHAR +STARTCHAR uni0532 +ENCODING 1330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +80 +80 +F0 +88 +80 +ENDCHAR +STARTCHAR uni0533 +ENCODING 1331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +A0 +A0 +70 +28 +20 +20 +ENDCHAR +STARTCHAR uni0534 +ENCODING 1332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +A0 +20 +30 +28 +20 +20 +ENDCHAR +STARTCHAR uni0535 +ENCODING 1333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +F0 +88 +80 +88 +88 +70 +ENDCHAR +STARTCHAR uni0536 +ENCODING 1334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +90 +90 +70 +10 +A0 +F0 +88 +ENDCHAR +STARTCHAR uni0537 +ENCODING 1335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +80 +80 +F0 +88 +80 +80 +80 +70 +08 +10 +ENDCHAR +STARTCHAR uni0538 +ENCODING 1336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +60 +90 +90 +80 +80 +80 +80 +F0 +08 +ENDCHAR +STARTCHAR uni0539 +ENCODING 1337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +90 +B8 +D0 +D0 +A0 +80 +80 +ENDCHAR +STARTCHAR uni053A +ENCODING 1338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +10 +10 +78 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uni053B +ENCODING 1339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +F0 +88 +88 +80 +80 +ENDCHAR +STARTCHAR uni053C +ENCODING 1340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +70 +08 +10 +ENDCHAR +STARTCHAR uni053D +ENCODING 1341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +E8 +A8 +A8 +90 +80 +80 +ENDCHAR +STARTCHAR uni053E +ENCODING 1342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni053F +ENCODING 1343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +88 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni0540 +ENCODING 1344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +20 +10 +20 +40 +80 +C0 +30 +08 +ENDCHAR +STARTCHAR uni0541 +ENCODING 1345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +48 +48 +38 +08 +70 +90 +68 +ENDCHAR +STARTCHAR uni0542 +ENCODING 1346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +40 +A0 +A0 +20 +20 +20 +20 +30 +08 +ENDCHAR +STARTCHAR uni0543 +ENCODING 1347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +50 +20 +50 +50 +88 +88 +F8 +ENDCHAR +STARTCHAR uni0544 +ENCODING 1348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +B8 +A8 +A0 +A0 +A0 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni0545 +ENCODING 1349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +A8 +30 +28 +88 +88 +70 +ENDCHAR +STARTCHAR uni0546 +ENCODING 1350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +80 +C0 +40 +40 +40 +48 +30 +ENDCHAR +STARTCHAR uni0547 +ENCODING 1351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +F0 +40 +80 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0548 +ENCODING 1352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni0549 +ENCODING 1353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +88 +78 +10 +20 +F8 +ENDCHAR +STARTCHAR uni054A +ENCODING 1354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +A8 +A8 +A8 +28 +28 +08 +08 +ENDCHAR +STARTCHAR uni054B +ENCODING 1355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +90 +90 +50 +30 +A0 +F0 +88 +ENDCHAR +STARTCHAR uni054C +ENCODING 1356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +A0 +B0 +A8 +A8 +A0 +A0 +ENDCHAR +STARTCHAR uni054D +ENCODING 1357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni054E +ENCODING 1358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +A0 +A0 +A0 +A0 +60 +20 +30 +08 +ENDCHAR +STARTCHAR uni054F +ENCODING 1359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +80 +70 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni0550 +ENCODING 1360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni0551 +ENCODING 1361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +70 +88 +08 +88 +70 +ENDCHAR +STARTCHAR uni0552 +ENCODING 1362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +E0 +90 +90 +88 +80 +ENDCHAR +STARTCHAR uni0553 +ENCODING 1363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +20 +70 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni0554 +ENCODING 1364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +28 +28 +30 +A0 +70 +28 +20 +ENDCHAR +STARTCHAR uni0555 +ENCODING 1365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0556 +ENCODING 1366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +A0 +70 +28 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni0559 +ENCODING 1369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 1 6 +BITMAP +40 +80 +80 +40 +ENDCHAR +STARTCHAR uni055A +ENCODING 1370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 6 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR uni055B +ENCODING 1371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni055C +ENCODING 1372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +08 +70 +80 +ENDCHAR +STARTCHAR uni055D +ENCODING 1373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni055E +ENCODING 1374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +70 +88 +A8 +A8 +10 +ENDCHAR +STARTCHAR uni055F +ENCODING 1375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +C0 +88 +70 +ENDCHAR +STARTCHAR uni0561 +ENCODING 1377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +A8 +A8 +58 +ENDCHAR +STARTCHAR uni0562 +ENCODING 1378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F0 +88 +88 +80 +F8 +80 +80 +ENDCHAR +STARTCHAR uni0563 +ENCODING 1379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +90 +90 +90 +78 +10 +10 +ENDCHAR +STARTCHAR uni0564 +ENCODING 1380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A0 +D0 +90 +90 +98 +10 +10 +ENDCHAR +STARTCHAR uni0565 +ENCODING 1381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +F8 +80 +88 +C8 +B0 +ENDCHAR +STARTCHAR uni0566 +ENCODING 1382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +90 +90 +90 +70 +10 +18 +ENDCHAR +STARTCHAR uni0567 +ENCODING 1383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +80 +80 +80 +F8 +80 +80 +80 +70 +08 +ENDCHAR +STARTCHAR uni0568 +ENCODING 1384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +80 +F8 +ENDCHAR +STARTCHAR uni0569 +ENCODING 1385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A0 +D0 +90 +B8 +D0 +A0 +80 +ENDCHAR +STARTCHAR uni056A +ENCODING 1386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +10 +10 +78 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uni056B +ENCODING 1387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 -2 +BITMAP +80 +80 +80 +A0 +D0 +90 +90 +90 +80 +80 +ENDCHAR +STARTCHAR uni056C +ENCODING 1388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +30 +ENDCHAR +STARTCHAR uni056D +ENCODING 1389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +E8 +A8 +A8 +A8 +90 +80 +80 +ENDCHAR +STARTCHAR uni056E +ENCODING 1390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +40 +20 +78 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uni056F +ENCODING 1391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +80 +80 +80 +88 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni0570 +ENCODING 1392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0571 +ENCODING 1393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +40 +20 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR uni0572 +ENCODING 1394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A0 +D0 +90 +90 +90 +10 +18 +ENDCHAR +STARTCHAR uni0573 +ENCODING 1395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +48 +40 +F8 +48 +48 +58 +28 +ENDCHAR +STARTCHAR uni0574 +ENCODING 1396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +10 +10 +90 +90 +90 +B0 +50 +ENDCHAR +STARTCHAR uni0575 +ENCODING 1397 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +18 +08 +08 +08 +88 +88 +70 +ENDCHAR +STARTCHAR uni0576 +ENCODING 1398 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +80 +98 +88 +88 +98 +68 +ENDCHAR +STARTCHAR uni0577 +ENCODING 1399 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +60 +90 +10 +10 +20 +40 +80 +70 +ENDCHAR +STARTCHAR uni0578 +ENCODING 1400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0579 +ENCODING 1401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +40 +20 +20 +40 +40 +80 +F8 +ENDCHAR +STARTCHAR uni057A +ENCODING 1402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +A8 +A8 +A8 +58 +08 +08 +ENDCHAR +STARTCHAR uni057B +ENCODING 1403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +50 +20 +40 +38 +ENDCHAR +STARTCHAR uni057C +ENCODING 1404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +D0 +90 +90 +98 +ENDCHAR +STARTCHAR uni057D +ENCODING 1405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +98 +68 +ENDCHAR +STARTCHAR uni057E +ENCODING 1406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +10 +90 +90 +90 +90 +70 +10 +18 +ENDCHAR +STARTCHAR uni057F +ENCODING 1407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +A8 +A8 +A8 +68 +ENDCHAR +STARTCHAR uni0580 +ENCODING 1408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +80 +80 +ENDCHAR +STARTCHAR uni0581 +ENCODING 1409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni0582 +ENCODING 1410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +80 +80 +80 +80 +70 +ENDCHAR +STARTCHAR uni0583 +ENCODING 1411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +20 +20 +20 +B0 +A8 +A8 +A8 +68 +20 +20 +ENDCHAR +STARTCHAR uni0584 +ENCODING 1412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +30 +48 +48 +70 +40 +F8 +40 +ENDCHAR +STARTCHAR uni0585 +ENCODING 1413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0586 +ENCODING 1414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +60 +A0 +A0 +70 +28 +28 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni0587 +ENCODING 1415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +90 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni0589 +ENCODING 1417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 2 1 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni058A +ENCODING 1418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 3 +BITMAP +80 +70 +ENDCHAR +STARTCHAR uni0591 +ENCODING 1425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +40 +A0 +ENDCHAR +STARTCHAR uni0592 +ENCODING 1426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +20 +88 +ENDCHAR +STARTCHAR uni0593 +ENCODING 1427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 6 +BITMAP +40 +80 +40 +80 +ENDCHAR +STARTCHAR uni0594 +ENCODING 1428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 3 2 6 +BITMAP +80 +00 +80 +ENDCHAR +STARTCHAR uni0595 +ENCODING 1429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +A0 +80 +A0 +ENDCHAR +STARTCHAR uni0596 +ENCODING 1430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni0597 +ENCODING 1431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni0598 +ENCODING 1432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +48 +A8 +90 +ENDCHAR +STARTCHAR uni0599 +ENCODING 1433 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 0 6 +BITMAP +80 +40 +40 +ENDCHAR +STARTCHAR uni059A +ENCODING 1434 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 4 -2 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni059B +ENCODING 1435 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +90 +20 +ENDCHAR +STARTCHAR uni059C +ENCODING 1436 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 6 +BITMAP +60 +80 +80 +ENDCHAR +STARTCHAR uni059D +ENCODING 1437 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 4 6 +BITMAP +40 +80 +80 +ENDCHAR +STARTCHAR uni059E +ENCODING 1438 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 2 5 +BITMAP +40 +90 +A0 +A0 +20 +ENDCHAR +STARTCHAR uni059F +ENCODING 1439 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 5 +BITMAP +50 +A8 +50 +50 +ENDCHAR +STARTCHAR uni05A0 +ENCODING 1440 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 2 5 +BITMAP +40 +A0 +40 +40 +ENDCHAR +STARTCHAR uni05A1 +ENCODING 1441 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 3 0 6 +BITMAP +50 +D0 +20 +ENDCHAR +STARTCHAR uni05A2 +ENCODING 1442 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni05A3 +ENCODING 1443 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +20 +E0 +ENDCHAR +STARTCHAR uni05A4 +ENCODING 1444 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 -2 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni05A5 +ENCODING 1445 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni05A6 +ENCODING 1446 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni05A7 +ENCODING 1447 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 -2 +BITMAP +40 +80 +40 +80 +ENDCHAR +STARTCHAR uni05A8 +ENCODING 1448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 6 +BITMAP +80 +40 +40 +ENDCHAR +STARTCHAR uni05A9 +ENCODING 1449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 5 +BITMAP +40 +A0 +40 +40 +ENDCHAR +STARTCHAR uni05AA +ENCODING 1450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni05AB +ENCODING 1451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 6 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni05AC +ENCODING 1452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +20 +20 +E0 +ENDCHAR +STARTCHAR uni05AD +ENCODING 1453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 4 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni05AE +ENCODING 1454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +10 +50 +A0 +80 +ENDCHAR +STARTCHAR uni05AF +ENCODING 1455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR afii57799 +ENCODING 1456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 3 2 -2 +BITMAP +80 +00 +80 +ENDCHAR +STARTCHAR afii57801 +ENCODING 1457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +A8 +00 +48 +ENDCHAR +STARTCHAR afii57800 +ENCODING 1458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +08 +E0 +08 +ENDCHAR +STARTCHAR afii57802 +ENCODING 1459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +08 +E0 +48 +ENDCHAR +STARTCHAR afii57793 +ENCODING 1460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 -2 +BITMAP +80 +ENDCHAR +STARTCHAR afii57794 +ENCODING 1461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +A0 +ENDCHAR +STARTCHAR afii57795 +ENCODING 1462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +88 +20 +ENDCHAR +STARTCHAR afii57798 +ENCODING 1463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +E0 +ENDCHAR +STARTCHAR afii57797 +ENCODING 1464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +E0 +40 +ENDCHAR +STARTCHAR afii57806 +ENCODING 1465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 1 6 +BITMAP +80 +ENDCHAR +STARTCHAR uni05BA +ENCODING 1466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 6 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR afii57796 +ENCODING 1467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +80 +20 +08 +ENDCHAR +STARTCHAR afii57807 +ENCODING 1468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 3 +BITMAP +80 +ENDCHAR +STARTCHAR afii57839 +ENCODING 1469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 -2 +BITMAP +80 +80 +ENDCHAR +STARTCHAR afii57645 +ENCODING 1470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 1 1 4 +BITMAP +F0 +ENDCHAR +STARTCHAR afii57841 +ENCODING 1471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 6 +BITMAP +E0 +ENDCHAR +STARTCHAR afii57842 +ENCODING 1472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 0 +BITMAP +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii57804 +ENCODING 1473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 4 6 +BITMAP +80 +ENDCHAR +STARTCHAR afii57803 +ENCODING 1474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 0 6 +BITMAP +80 +ENDCHAR +STARTCHAR afii57658 +ENCODING 1475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 6 2 0 +BITMAP +80 +80 +00 +00 +80 +80 +ENDCHAR +STARTCHAR uni05C4 +ENCODING 1476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 6 +BITMAP +80 +ENDCHAR +STARTCHAR uni05C5 +ENCODING 1477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 -2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni05C6 +ENCODING 1478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +40 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni05C7 +ENCODING 1479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +40 +40 +ENDCHAR +STARTCHAR afii57664 +ENCODING 1488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +48 +68 +90 +C8 +ENDCHAR +STARTCHAR afii57665 +ENCODING 1489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +10 +10 +10 +F8 +ENDCHAR +STARTCHAR afii57666 +ENCODING 1490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +80 +40 +20 +50 +90 +ENDCHAR +STARTCHAR afii57667 +ENCODING 1491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +10 +10 +10 +ENDCHAR +STARTCHAR afii57668 +ENCODING 1492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +08 +88 +88 +ENDCHAR +STARTCHAR afii57669 +ENCODING 1493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 2 0 +BITMAP +C0 +40 +40 +40 +40 +ENDCHAR +STARTCHAR afii57670 +ENCODING 1494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +10 +10 +10 +ENDCHAR +STARTCHAR afii57671 +ENCODING 1495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +48 +48 +ENDCHAR +STARTCHAR afii57672 +ENCODING 1496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +A8 +88 +88 +F8 +ENDCHAR +STARTCHAR afii57673 +ENCODING 1497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 2 +BITMAP +C0 +40 +40 +ENDCHAR +STARTCHAR afii57674 +ENCODING 1498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +08 +08 +08 +08 +08 +08 +ENDCHAR +STARTCHAR afii57675 +ENCODING 1499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +08 +08 +F0 +ENDCHAR +STARTCHAR afii57676 +ENCODING 1500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +F8 +08 +08 +10 +60 +ENDCHAR +STARTCHAR afii57677 +ENCODING 1501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +48 +78 +ENDCHAR +STARTCHAR afii57678 +ENCODING 1502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +A8 +48 +88 +B8 +ENDCHAR +STARTCHAR afii57679 +ENCODING 1503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 7 2 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR afii57680 +ENCODING 1504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +30 +10 +10 +10 +F0 +ENDCHAR +STARTCHAR afii57681 +ENCODING 1505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +50 +60 +ENDCHAR +STARTCHAR afii57682 +ENCODING 1506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +48 +48 +50 +E0 +ENDCHAR +STARTCHAR afii57683 +ENCODING 1507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +48 +48 +08 +08 +08 +08 +ENDCHAR +STARTCHAR afii57684 +ENCODING 1508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +08 +F0 +ENDCHAR +STARTCHAR afii57685 +ENCODING 1509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +90 +48 +48 +50 +60 +40 +40 +ENDCHAR +STARTCHAR afii57686 +ENCODING 1510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +48 +28 +10 +F8 +ENDCHAR +STARTCHAR afii57687 +ENCODING 1511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +08 +88 +88 +B0 +80 +80 +ENDCHAR +STARTCHAR afii57688 +ENCODING 1512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +08 +08 +08 +08 +ENDCHAR +STARTCHAR afii57689 +ENCODING 1513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +E8 +88 +F0 +ENDCHAR +STARTCHAR afii57690 +ENCODING 1514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +48 +C8 +ENDCHAR +STARTCHAR afii57716 +ENCODING 1520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +48 +48 +48 +48 +ENDCHAR +STARTCHAR afii57717 +ENCODING 1521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +48 +48 +08 +08 +ENDCHAR +STARTCHAR afii57718 +ENCODING 1522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +D8 +48 +48 +ENDCHAR +STARTCHAR uni05F3 +ENCODING 1523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni05F4 +ENCODING 1524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni1680 +ENCODING 5760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni1681 +ENCODING 5761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +08 +08 +08 +ENDCHAR +STARTCHAR uni1682 +ENCODING 5762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +28 +28 +28 +ENDCHAR +STARTCHAR uni1683 +ENCODING 5763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +38 +38 +38 +ENDCHAR +STARTCHAR uni1684 +ENCODING 5764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +78 +78 +78 +ENDCHAR +STARTCHAR uni1685 +ENCODING 5765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni1686 +ENCODING 5766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +08 +08 +08 +FC +ENDCHAR +STARTCHAR uni1687 +ENCODING 5767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +28 +28 +28 +FC +ENDCHAR +STARTCHAR uni1688 +ENCODING 5768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +38 +38 +38 +FC +ENDCHAR +STARTCHAR uni1689 +ENCODING 5769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +78 +78 +78 +FC +ENDCHAR +STARTCHAR uni168A +ENCODING 5770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +F8 +F8 +F8 +FC +ENDCHAR +STARTCHAR uni168B +ENCODING 5771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +10 +10 +FC +20 +20 +20 +ENDCHAR +STARTCHAR uni168C +ENCODING 5772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +28 +28 +28 +FC +50 +50 +50 +ENDCHAR +STARTCHAR uni168D +ENCODING 5773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +38 +38 +38 +FC +70 +70 +70 +ENDCHAR +STARTCHAR uni168E +ENCODING 5774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +3C +3C +3C +FC +78 +78 +78 +ENDCHAR +STARTCHAR uni168F +ENCODING 5775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +7C +7C +7C +FC +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni1690 +ENCODING 5776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +10 +FC +10 +ENDCHAR +STARTCHAR uni1691 +ENCODING 5777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +28 +FC +28 +ENDCHAR +STARTCHAR uni1692 +ENCODING 5778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +38 +FC +38 +ENDCHAR +STARTCHAR uni1693 +ENCODING 5779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +78 +FC +78 +ENDCHAR +STARTCHAR uni1694 +ENCODING 5780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +F8 +FC +F8 +ENDCHAR +STARTCHAR uni1695 +ENCODING 5781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +28 +28 +10 +FC +10 +28 +28 +ENDCHAR +STARTCHAR uni1696 +ENCODING 5782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +84 +FC +84 +48 +30 +ENDCHAR +STARTCHAR uni1697 +ENCODING 5783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 -1 +BITMAP +FC +40 +58 +48 +78 +ENDCHAR +STARTCHAR uni1698 +ENCODING 5784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +D8 +70 +D8 +ENDCHAR +STARTCHAR uni1699 +ENCODING 5785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 1 3 +BITMAP +50 +F8 +50 +F8 +50 +F8 +ENDCHAR +STARTCHAR uni169A +ENCODING 5786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +FC +00 +78 +ENDCHAR +STARTCHAR uni169B +ENCODING 5787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +80 +40 +20 +1C +20 +40 +80 +ENDCHAR +STARTCHAR uni169C +ENCODING 5788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +04 +08 +F0 +08 +04 +ENDCHAR +STARTCHAR uni16A0 +ENCODING 5792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +90 +A0 +C0 +90 +A0 +C0 +80 +80 +80 +ENDCHAR +STARTCHAR uni16A1 +ENCODING 5793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +20 +80 +90 +A0 +C0 +90 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni16A2 +ENCODING 5794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +C0 +A0 +90 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni16A3 +ENCODING 5795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +C0 +A0 +90 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni16A4 +ENCODING 5796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +C0 +A0 +90 +88 +A8 +88 +88 +88 +ENDCHAR +STARTCHAR uni16A5 +ENCODING 5797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +C0 +A0 +90 +C8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni16A6 +ENCODING 5798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +80 +80 +C0 +A0 +90 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni16A7 +ENCODING 5799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +80 +80 +C0 +A0 +D0 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni16A8 +ENCODING 5800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +80 +C0 +A0 +90 +C0 +A0 +90 +80 +80 +ENDCHAR +STARTCHAR uni16A9 +ENCODING 5801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +C8 +B0 +80 +C8 +B0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16AA +ENCODING 5802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D0 +A0 +80 +C0 +B0 +80 +80 +80 +ENDCHAR +STARTCHAR uni16AB +ENCODING 5803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +80 +C0 +A0 +90 +C0 +A0 +90 +80 +80 +ENDCHAR +STARTCHAR uni16AC +ENCODING 5804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +A0 +60 +30 +A8 +60 +30 +28 +20 +ENDCHAR +STARTCHAR uni16AD +ENCODING 5805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +80 +80 +80 +C0 +A0 +80 +C0 +A0 +80 +ENDCHAR +STARTCHAR uni16AE +ENCODING 5806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 0 0 +BITMAP +20 +20 +20 +60 +A0 +20 +60 +A0 +20 +ENDCHAR +STARTCHAR uni16AF +ENCODING 5807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +28 +30 +60 +A8 +30 +60 +A0 +20 +ENDCHAR +STARTCHAR uni16B0 +ENCODING 5808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +28 +30 +60 +A0 +20 +60 +A0 +20 +ENDCHAR +STARTCHAR uni16B1 +ENCODING 5809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +C0 +B0 +88 +B0 +C0 +A0 +90 +88 +80 +ENDCHAR +STARTCHAR uni16B2 +ENCODING 5810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 1 +BITMAP +10 +20 +40 +80 +40 +20 +10 +ENDCHAR +STARTCHAR uni16B3 +ENCODING 5811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +80 +80 +80 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni16B4 +ENCODING 5812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +90 +A0 +C0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16B5 +ENCODING 5813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +88 +90 +A0 +C0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16B6 +ENCODING 5814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +44 +48 +50 +E0 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni16B7 +ENCODING 5815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +50 +50 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni16B8 +ENCODING 5816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +50 +50 +A8 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni16B9 +ENCODING 5817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +C0 +B0 +88 +B0 +C0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16BA +ENCODING 5818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +88 +C8 +A8 +98 +88 +88 +88 +ENDCHAR +STARTCHAR uni16BB +ENCODING 5819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +C8 +A8 +D8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR uni16BC +ENCODING 5820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +A8 +70 +20 +70 +A8 +20 +20 +ENDCHAR +STARTCHAR uni16BD +ENCODING 5821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +40 +40 +40 +E0 +E0 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni16BE +ENCODING 5822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +A0 +60 +20 +30 +28 +20 +20 +ENDCHAR +STARTCHAR uni16BF +ENCODING 5823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 2 0 +BITMAP +80 +80 +80 +80 +C0 +A0 +80 +80 +80 +ENDCHAR +STARTCHAR uni16C0 +ENCODING 5824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +A0 +70 +70 +70 +28 +20 +20 +ENDCHAR +STARTCHAR uni16C1 +ENCODING 5825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 9 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16C2 +ENCODING 5826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +40 +40 +40 +E0 +E0 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni16C3 +ENCODING 5827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +40 +90 +48 +10 +20 +ENDCHAR +STARTCHAR uni16C4 +ENCODING 5828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +70 +A8 +70 +20 +20 +20 +ENDCHAR +STARTCHAR uni16C5 +ENCODING 5829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +28 +30 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR uni16C6 +ENCODING 5830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 0 0 +BITMAP +20 +20 +20 +20 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR uni16C7 +ENCODING 5831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +30 +28 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni16C8 +ENCODING 5832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D0 +A0 +80 +80 +80 +A0 +D0 +88 +ENDCHAR +STARTCHAR uni16C9 +ENCODING 5833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +70 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16CA +ENCODING 5834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +20 +40 +80 +40 +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR uni16CB +ENCODING 5835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +88 +98 +A8 +C8 +88 +08 +08 +ENDCHAR +STARTCHAR uni16CC +ENCODING 5836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 4 +BITMAP +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16CD +ENCODING 5837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 2 +BITMAP +40 +40 +40 +40 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni16CE +ENCODING 5838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 3 +BITMAP +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni16CF +ENCODING 5839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16D0 +ENCODING 5840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +20 +60 +A0 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16D1 +ENCODING 5841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +20 +60 +A0 +20 +20 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni16D2 +ENCODING 5842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 0 +BITMAP +C0 +A0 +90 +A0 +C0 +A0 +90 +A0 +C0 +ENDCHAR +STARTCHAR uni16D3 +ENCODING 5843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 2 0 +BITMAP +80 +80 +A0 +C0 +80 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni16D4 +ENCODING 5844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F0 +88 +A8 +88 +F0 +88 +A8 +88 +F0 +ENDCHAR +STARTCHAR uni16D5 +ENCODING 5845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +90 +A0 +C0 +80 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni16D6 +ENCODING 5846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni16D7 +ENCODING 5847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D8 +A8 +D8 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni16D8 +ENCODING 5848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +A8 +70 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16D9 +ENCODING 5849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +E0 +E0 +E0 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni16DA +ENCODING 5850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 2 0 +BITMAP +80 +C0 +A0 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16DB +ENCODING 5851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +40 +60 +50 +40 +E0 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni16DC +ENCODING 5852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni16DD +ENCODING 5853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +50 +20 +50 +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni16DE +ENCODING 5854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D8 +D8 +A8 +A8 +A8 +D8 +D8 +88 +ENDCHAR +STARTCHAR uni16DF +ENCODING 5855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR uni16E0 +ENCODING 5856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +70 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16E1 +ENCODING 5857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +A8 +70 +20 +70 +A8 +20 +20 +ENDCHAR +STARTCHAR uni16E2 +ENCODING 5858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +28 +30 +20 +20 +20 +20 +20 +60 +A0 +ENDCHAR +STARTCHAR uni16E3 +ENCODING 5859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +20 +70 +A8 +ENDCHAR +STARTCHAR uni16E4 +ENCODING 5860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +A8 +70 +A8 +A8 +A8 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni16E5 +ENCODING 5861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D8 +A8 +D8 +88 +D8 +A8 +D8 +88 +ENDCHAR +STARTCHAR uni16E6 +ENCODING 5862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni16E7 +ENCODING 5863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 0 +BITMAP +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16E8 +ENCODING 5864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni16E9 +ENCODING 5865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +18 +68 +88 +68 +18 +08 +08 +08 +08 +ENDCHAR +STARTCHAR uni16EA +ENCODING 5866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +40 +E0 +40 +50 +70 +50 +10 +38 +10 +ENDCHAR +STARTCHAR uni16EB +ENCODING 5867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 4 +BITMAP +80 +ENDCHAR +STARTCHAR uni16EC +ENCODING 5868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 2 +BITMAP +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni16ED +ENCODING 5869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni16EE +ENCODING 5870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +30 +28 +20 +60 +A0 +20 +20 +20 +ENDCHAR +STARTCHAR uni16EF +ENCODING 5871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +A8 +70 +20 +20 +20 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni16F0 +ENCODING 5872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni1E02 +ENCODING 7682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F0 +48 +48 +70 +48 +48 +F0 +ENDCHAR +STARTCHAR uni1E03 +ENCODING 7683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +80 +80 +F0 +88 +88 +88 +F0 +ENDCHAR +STARTCHAR uni1E04 +ENCODING 7684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +70 +48 +48 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E05 +ENCODING 7685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +F0 +88 +88 +88 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E06 +ENCODING 7686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +70 +48 +48 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni1E07 +ENCODING 7687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +F0 +88 +88 +88 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni1E0A +ENCODING 7690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F0 +48 +48 +48 +48 +48 +F0 +ENDCHAR +STARTCHAR uni1E0B +ENCODING 7691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +08 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR uni1E0C +ENCODING 7692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E0D +ENCODING 7693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +08 +78 +88 +88 +88 +78 +00 +20 +ENDCHAR +STARTCHAR uni1E0E +ENCODING 7694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni1E0F +ENCODING 7695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +08 +78 +88 +88 +88 +78 +00 +F8 +ENDCHAR +STARTCHAR uni1E10 +ENCODING 7696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +20 +40 +ENDCHAR +STARTCHAR uni1E11 +ENCODING 7697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +08 +78 +88 +88 +88 +78 +20 +40 +ENDCHAR +STARTCHAR uni1E12 +ENCODING 7698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +00 +20 +50 +ENDCHAR +STARTCHAR uni1E13 +ENCODING 7699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +08 +08 +78 +88 +88 +88 +78 +00 +20 +50 +ENDCHAR +STARTCHAR uni1E1E +ENCODING 7710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F8 +80 +80 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni1E1F +ENCODING 7711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +30 +48 +40 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni1E30 +ENCODING 7728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni1E31 +ENCODING 7729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +10 +20 +80 +80 +88 +90 +E0 +90 +88 +ENDCHAR +STARTCHAR uni1E32 +ENCODING 7730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +00 +20 +ENDCHAR +STARTCHAR uni1E33 +ENCODING 7731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +88 +90 +E0 +90 +88 +00 +20 +ENDCHAR +STARTCHAR uni1E34 +ENCODING 7732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +00 +F8 +ENDCHAR +STARTCHAR uni1E35 +ENCODING 7733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +88 +90 +E0 +90 +88 +00 +F8 +ENDCHAR +STARTCHAR uni1E3E +ENCODING 7742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni1E3F +ENCODING 7743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +D0 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni1E40 +ENCODING 7744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni1E41 +ENCODING 7745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +D0 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni1E42 +ENCODING 7746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +00 +20 +ENDCHAR +STARTCHAR uni1E43 +ENCODING 7747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +D0 +A8 +A8 +A8 +A8 +00 +20 +ENDCHAR +STARTCHAR uni1E54 +ENCODING 7764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni1E55 +ENCODING 7765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR uni1E56 +ENCODING 7766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni1E57 +ENCODING 7767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +00 +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR uni1E60 +ENCODING 7776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni1E61 +ENCODING 7777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR uni1E62 +ENCODING 7778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +70 +08 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1E63 +ENCODING 7779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E64 +ENCODING 7780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +48 +10 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni1E65 +ENCODING 7781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +10 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR uni1E66 +ENCODING 7782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +00 +50 +20 +78 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni1E67 +ENCODING 7783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +00 +50 +20 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR uni1E68 +ENCODING 7784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +20 +00 +70 +88 +80 +70 +08 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1E69 +ENCODING 7785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +00 +78 +80 +70 +08 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E6A +ENCODING 7786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1E6B +ENCODING 7787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +20 +20 +F8 +20 +20 +20 +18 +ENDCHAR +STARTCHAR uni1E6C +ENCODING 7788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +00 +20 +ENDCHAR +STARTCHAR uni1E6D +ENCODING 7789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +00 +20 +ENDCHAR +STARTCHAR uni1E6E +ENCODING 7790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +00 +F8 +ENDCHAR +STARTCHAR uni1E6F +ENCODING 7791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +00 +F8 +ENDCHAR +STARTCHAR uni1E70 +ENCODING 7792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +00 +20 +50 +ENDCHAR +STARTCHAR uni1E71 +ENCODING 7793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +18 +00 +20 +50 +ENDCHAR +STARTCHAR Wgrave +ENCODING 7808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR wgrave +ENCODING 7809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Wacute +ENCODING 7810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR wacute +ENCODING 7811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Wdieresis +ENCODING 7812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR wdieresis +ENCODING 7813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1E86 +ENCODING 7814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1E87 +ENCODING 7815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1E88 +ENCODING 7816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +88 +A8 +A8 +50 +00 +20 +ENDCHAR +STARTCHAR uni1E89 +ENCODING 7817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +A8 +A8 +50 +00 +20 +ENDCHAR +STARTCHAR uni1E8A +ENCODING 7818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR uni1E8B +ENCODING 7819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni1E8C +ENCODING 7820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR uni1E8D +ENCODING 7821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni1E8E +ENCODING 7822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1E8F +ENCODING 7823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR Ygrave +ENCODING 7922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR ygrave +ENCODING 7923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +40 +20 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni1EF4 +ENCODING 7924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +50 +20 +20 +20 +20 +00 +20 +ENDCHAR +STARTCHAR uni1EF5 +ENCODING 7925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +50 +20 +40 +88 +ENDCHAR +STARTCHAR uni1EF6 +ENCODING 7926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +10 +20 +88 +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni1EF7 +ENCODING 7927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +20 +50 +10 +20 +20 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni1EF8 +ENCODING 7928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1EF9 +ENCODING 7929 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +68 +B0 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni1F00 +ENCODING 7936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F01 +ENCODING 7937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F02 +ENCODING 7938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F03 +ENCODING 7939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F04 +ENCODING 7940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F05 +ENCODING 7941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F06 +ENCODING 7942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +10 +00 +68 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F07 +ENCODING 7943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +20 +00 +68 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F08 +ENCODING 7944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F09 +ENCODING 7945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0A +ENCODING 7946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0B +ENCODING 7947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0C +ENCODING 7948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0D +ENCODING 7949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0E +ENCODING 7950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +C0 +80 +30 +48 +78 +48 +48 +ENDCHAR +STARTCHAR uni1F0F +ENCODING 7951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +C0 +40 +30 +48 +78 +48 +48 +ENDCHAR +STARTCHAR uni1F10 +ENCODING 7952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F11 +ENCODING 7953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F12 +ENCODING 7954 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F13 +ENCODING 7955 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F14 +ENCODING 7956 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F15 +ENCODING 7957 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F18 +ENCODING 7960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F19 +ENCODING 7961 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F1A +ENCODING 7962 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F1B +ENCODING 7963 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F1C +ENCODING 7964 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F1D +ENCODING 7965 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F20 +ENCODING 7968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +60 +20 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F21 +ENCODING 7969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +30 +20 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F22 +ENCODING 7970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +D0 +48 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F23 +ENCODING 7971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +D0 +88 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F24 +ENCODING 7972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +C8 +50 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F25 +ENCODING 7973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +C8 +90 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F26 +ENCODING 7974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +30 +10 +00 +B0 +C8 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F27 +ENCODING 7975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +30 +20 +00 +B0 +C8 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F28 +ENCODING 7976 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F29 +ENCODING 7977 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2A +ENCODING 7978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2B +ENCODING 7979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2C +ENCODING 7980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2D +ENCODING 7981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2E +ENCODING 7982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +C0 +80 +28 +28 +38 +28 +28 +ENDCHAR +STARTCHAR uni1F2F +ENCODING 7983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +C0 +40 +28 +28 +38 +28 +28 +ENDCHAR +STARTCHAR uni1F30 +ENCODING 7984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +C0 +40 +00 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni1F31 +ENCODING 7985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +C0 +80 +00 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni1F32 +ENCODING 7986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F33 +ENCODING 7987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F34 +ENCODING 7988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F35 +ENCODING 7989 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F36 +ENCODING 7990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +10 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F37 +ENCODING 7991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +20 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F38 +ENCODING 7992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +C0 +40 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F39 +ENCODING 7993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +C0 +80 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3A +ENCODING 7994 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3B +ENCODING 7995 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3C +ENCODING 7996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3D +ENCODING 7997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3E +ENCODING 7998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +68 +B0 +00 +C0 +9C +08 +08 +08 +08 +1C +ENDCHAR +STARTCHAR uni1F3F +ENCODING 7999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +68 +B0 +00 +C0 +5C +08 +08 +08 +08 +1C +ENDCHAR +STARTCHAR uni1F40 +ENCODING 8000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F41 +ENCODING 8001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F42 +ENCODING 8002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F43 +ENCODING 8003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F44 +ENCODING 8004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F45 +ENCODING 8005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F48 +ENCODING 8008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F49 +ENCODING 8009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F4A +ENCODING 8010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F4B +ENCODING 8011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F4C +ENCODING 8012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F4D +ENCODING 8013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F50 +ENCODING 8016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F51 +ENCODING 8017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F52 +ENCODING 8018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F53 +ENCODING 8019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F54 +ENCODING 8020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F55 +ENCODING 8021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F56 +ENCODING 8022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +10 +00 +90 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F57 +ENCODING 8023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +20 +00 +90 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F59 +ENCODING 8025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1F5B +ENCODING 8027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1F5D +ENCODING 8029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1F5F +ENCODING 8031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +68 +B0 +00 +C0 +54 +14 +14 +08 +08 +08 +ENDCHAR +STARTCHAR uni1F60 +ENCODING 8032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F61 +ENCODING 8033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F62 +ENCODING 8034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F63 +ENCODING 8035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F64 +ENCODING 8036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F65 +ENCODING 8037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F66 +ENCODING 8038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +10 +00 +50 +88 +A8 +50 +ENDCHAR +STARTCHAR uni1F67 +ENCODING 8039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +20 +00 +50 +88 +A8 +50 +ENDCHAR +STARTCHAR uni1F68 +ENCODING 8040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F69 +ENCODING 8041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6A +ENCODING 8042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6B +ENCODING 8043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6C +ENCODING 8044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6D +ENCODING 8045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6E +ENCODING 8046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +68 +B0 +00 +C0 +80 +38 +44 +44 +44 +28 +6C +ENDCHAR +STARTCHAR uni1F6F +ENCODING 8047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +68 +B0 +00 +C0 +40 +38 +44 +44 +44 +28 +6C +ENDCHAR +STARTCHAR uni1F70 +ENCODING 8048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F71 +ENCODING 8049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F72 +ENCODING 8050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F73 +ENCODING 8051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F74 +ENCODING 8052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +20 +10 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F75 +ENCODING 8053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F76 +ENCODING 8054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +80 +40 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F77 +ENCODING 8055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 2 0 +BITMAP +40 +80 +00 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni1F78 +ENCODING 8056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F79 +ENCODING 8057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F7A +ENCODING 8058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F7B +ENCODING 8059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F7C +ENCODING 8060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F7D +ENCODING 8061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F80 +ENCODING 8064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +60 +20 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F81 +ENCODING 8065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +30 +20 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F82 +ENCODING 8066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +48 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F83 +ENCODING 8067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +88 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F84 +ENCODING 8068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +50 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F85 +ENCODING 8069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +90 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F86 +ENCODING 8070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +10 +20 +00 +68 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F87 +ENCODING 8071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +20 +10 +00 +68 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F88 +ENCODING 8072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +40 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F89 +ENCODING 8073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +80 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8A +ENCODING 8074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +48 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8B +ENCODING 8075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +88 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8C +ENCODING 8076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +50 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8D +ENCODING 8077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +90 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8E +ENCODING 8078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +C0 +40 +30 +48 +78 +48 +48 +20 +10 +ENDCHAR +STARTCHAR uni1F8F +ENCODING 8079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +C0 +80 +30 +48 +78 +48 +48 +20 +10 +ENDCHAR +STARTCHAR uni1F90 +ENCODING 8080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +60 +20 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F91 +ENCODING 8081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +30 +20 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F92 +ENCODING 8082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +48 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F93 +ENCODING 8083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +88 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F94 +ENCODING 8084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +50 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F95 +ENCODING 8085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +90 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F96 +ENCODING 8086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +10 +20 +00 +B0 +C8 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F97 +ENCODING 8087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +20 +10 +00 +B0 +C8 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F98 +ENCODING 8088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +40 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F99 +ENCODING 8089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +80 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9A +ENCODING 8090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +48 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9B +ENCODING 8091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +88 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9C +ENCODING 8092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +50 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9D +ENCODING 8093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +90 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9E +ENCODING 8094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +C0 +40 +28 +28 +38 +28 +28 +20 +10 +ENDCHAR +STARTCHAR uni1F9F +ENCODING 8095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +C0 +80 +28 +28 +38 +28 +28 +20 +10 +ENDCHAR +STARTCHAR uni1FA0 +ENCODING 8096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +60 +20 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA1 +ENCODING 8097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +30 +20 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA2 +ENCODING 8098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +48 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA3 +ENCODING 8099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +88 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA4 +ENCODING 8100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +50 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA5 +ENCODING 8101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +90 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA6 +ENCODING 8102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +10 +20 +00 +50 +88 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA7 +ENCODING 8103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +20 +10 +00 +50 +88 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA8 +ENCODING 8104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +40 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FA9 +ENCODING 8105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +80 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAA +ENCODING 8106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +48 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAB +ENCODING 8107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +88 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAC +ENCODING 8108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +50 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAD +ENCODING 8109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +90 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAE +ENCODING 8110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +68 +B0 +00 +C0 +40 +38 +44 +44 +28 +6C +10 +08 +ENDCHAR +STARTCHAR uni1FAF +ENCODING 8111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +68 +B0 +00 +C0 +80 +38 +44 +44 +28 +6C +10 +08 +ENDCHAR +STARTCHAR uni1FB0 +ENCODING 8112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1FB1 +ENCODING 8113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1FB2 +ENCODING 8114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +40 +20 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FB3 +ENCODING 8115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FB4 +ENCODING 8116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +10 +20 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FB6 +ENCODING 8118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1FB7 +ENCODING 8119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +68 +B0 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FB8 +ENCODING 8120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FB9 +ENCODING 8121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FBA +ENCODING 8122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FBB +ENCODING 8123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FBC +ENCODING 8124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1FBD +ENCODING 8125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 6 +BITMAP +C0 +40 +ENDCHAR +STARTCHAR uni1FBE +ENCODING 8126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni1FBF +ENCODING 8127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 6 +BITMAP +C0 +40 +ENDCHAR +STARTCHAR uni1FC0 +ENCODING 8128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni1FC1 +ENCODING 8129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 +BITMAP +68 +B0 +00 +50 +ENDCHAR +STARTCHAR uni1FC2 +ENCODING 8130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +40 +20 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1FC3 +ENCODING 8131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1FC4 +ENCODING 8132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1FC6 +ENCODING 8134 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +68 +B0 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1FC7 +ENCODING 8135 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +68 +B0 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1FC8 +ENCODING 8136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1FC9 +ENCODING 8137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1FCA +ENCODING 8138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FCB +ENCODING 8139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FCC +ENCODING 8140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1FCD +ENCODING 8141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +D0 +48 +ENDCHAR +STARTCHAR uni1FCE +ENCODING 8142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +C8 +50 +ENDCHAR +STARTCHAR uni1FCF +ENCODING 8143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +68 +B0 +00 +30 +10 +ENDCHAR +STARTCHAR uni1FD0 +ENCODING 8144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +20 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni1FD1 +ENCODING 8145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1FD2 +ENCODING 8146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +80 +40 +00 +A0 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1FD3 +ENCODING 8147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +80 +40 +00 +A0 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1FD6 +ENCODING 8150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +20 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni1FD7 +ENCODING 8151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +50 +00 +20 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni1FD8 +ENCODING 8152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1FD9 +ENCODING 8153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1FDA +ENCODING 8154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +80 +40 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1FDB +ENCODING 8155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +40 +80 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1FDD +ENCODING 8157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +D0 +88 +ENDCHAR +STARTCHAR uni1FDE +ENCODING 8158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +C8 +90 +ENDCHAR +STARTCHAR uni1FDF +ENCODING 8159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +68 +B0 +00 +30 +20 +ENDCHAR +STARTCHAR uni1FE0 +ENCODING 8160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE1 +ENCODING 8161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE2 +ENCODING 8162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE3 +ENCODING 8163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE4 +ENCODING 8164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +60 +20 +00 +70 +88 +88 +C8 +B0 +80 +80 +ENDCHAR +STARTCHAR uni1FE5 +ENCODING 8165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +30 +20 +00 +70 +88 +88 +C8 +B0 +80 +80 +ENDCHAR +STARTCHAR uni1FE6 +ENCODING 8166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE7 +ENCODING 8167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE8 +ENCODING 8168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1FE9 +ENCODING 8169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1FEA +ENCODING 8170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1FEB +ENCODING 8171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1FEC +ENCODING 8172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni1FED +ENCODING 8173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +80 +40 +00 +A0 +ENDCHAR +STARTCHAR uni1FEE +ENCODING 8174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +20 +40 +00 +A0 +ENDCHAR +STARTCHAR uni1FEF +ENCODING 8175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 6 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni1FF2 +ENCODING 8178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +40 +20 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FF3 +ENCODING 8179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FF4 +ENCODING 8180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +10 +20 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FF6 +ENCODING 8182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1FF7 +ENCODING 8183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +68 +B0 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FF8 +ENCODING 8184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FF9 +ENCODING 8185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FFA +ENCODING 8186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1FFB +ENCODING 8187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1FFC +ENCODING 8188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FFD +ENCODING 8189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 6 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni1FFE +ENCODING 8190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 6 +BITMAP +C0 +80 +ENDCHAR +STARTCHAR uni2010 +ENCODING 8208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +E0 +ENDCHAR +STARTCHAR uni2011 +ENCODING 8209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +E0 +ENDCHAR +STARTCHAR figuredash +ENCODING 8210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR endash +ENCODING 8211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR emdash +ENCODING 8212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR afii00208 +ENCODING 8213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni2016 +ENCODING 8214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR underscoredbl +ENCODING 8215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 -2 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR quoteleft +ENCODING 8216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +40 +80 +C0 +ENDCHAR +STARTCHAR quoteright +ENCODING 8217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR quotesinglbase +ENCODING 8218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -1 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR quotereversed +ENCODING 8219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +C0 +80 +40 +ENDCHAR +STARTCHAR quotedblleft +ENCODING 8220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +48 +90 +D8 +ENDCHAR +STARTCHAR quotedblright +ENCODING 8221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +D8 +48 +90 +ENDCHAR +STARTCHAR quotedblbase +ENCODING 8222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -1 +BITMAP +D8 +48 +90 +ENDCHAR +STARTCHAR uni201F +ENCODING 8223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +D8 +90 +48 +ENDCHAR +STARTCHAR dagger +ENCODING 8224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR daggerdbl +ENCODING 8225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +20 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR bullet +ENCODING 8226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 2 +BITMAP +60 +F0 +F0 +60 +ENDCHAR +STARTCHAR uni2023 +ENCODING 8227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +C0 +E0 +C0 +80 +ENDCHAR +STARTCHAR onedotenleader +ENCODING 8228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 0 +BITMAP +80 +ENDCHAR +STARTCHAR twodotenleader +ENCODING 8229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 0 +BITMAP +A0 +ENDCHAR +STARTCHAR ellipsis +ENCODING 8230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 0 +BITMAP +A8 +ENDCHAR +STARTCHAR uni2027 +ENCODING 8231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 3 +BITMAP +80 +ENDCHAR +STARTCHAR perthousand +ENCODING 8240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +A8 +50 +20 +68 +D4 +A8 +ENDCHAR +STARTCHAR uni2031 +ENCODING 8241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +A8 +58 +34 +68 +D4 +A8 +ENDCHAR +STARTCHAR minute +ENCODING 8242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 4 +BITMAP +40 +40 +80 +ENDCHAR +STARTCHAR second +ENCODING 8243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +48 +48 +90 +ENDCHAR +STARTCHAR uni2034 +ENCODING 8244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 4 +BITMAP +54 +54 +A8 +ENDCHAR +STARTCHAR uni2035 +ENCODING 8245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 4 +BITMAP +80 +80 +40 +ENDCHAR +STARTCHAR uni2036 +ENCODING 8246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +90 +90 +48 +ENDCHAR +STARTCHAR uni2037 +ENCODING 8247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 4 +BITMAP +A8 +A8 +54 +ENDCHAR +STARTCHAR uni2038 +ENCODING 8248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 -2 +BITMAP +40 +40 +A0 +A0 +ENDCHAR +STARTCHAR guilsinglleft +ENCODING 8249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR guilsinglright +ENCODING 8250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +40 +20 +40 +80 +ENDCHAR +STARTCHAR uni203B +ENCODING 8251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +88 +50 +20 +A8 +20 +50 +88 +20 +ENDCHAR +STARTCHAR exclamdbl +ENCODING 8252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni203D +ENCODING 8253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +28 +30 +20 +00 +20 +ENDCHAR +STARTCHAR uni203E +ENCODING 8254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 8 +BITMAP +FC +ENDCHAR +STARTCHAR uni203F +ENCODING 8255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni2040 +ENCODING 8256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni2041 +ENCODING 8257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 -2 +BITMAP +10 +20 +20 +40 +40 +A0 +A0 +ENDCHAR +STARTCHAR uni2042 +ENCODING 8258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +20 +50 +F8 +50 +ENDCHAR +STARTCHAR uni2043 +ENCODING 8259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 2 +BITMAP +E0 +E0 +ENDCHAR +STARTCHAR fraction +ENCODING 8260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2045 +ENCODING 8261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +80 +80 +E0 +80 +80 +E0 +ENDCHAR +STARTCHAR uni2046 +ENCODING 8262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +20 +20 +E0 +20 +20 +E0 +ENDCHAR +STARTCHAR uni2047 +ENCODING 8263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +B4 +24 +48 +48 +00 +48 +ENDCHAR +STARTCHAR uni2048 +ENCODING 8264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +A8 +28 +48 +48 +00 +48 +ENDCHAR +STARTCHAR uni2049 +ENCODING 8265 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +A8 +88 +90 +90 +00 +90 +ENDCHAR +STARTCHAR uni204A +ENCODING 8266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +F0 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni204B +ENCODING 8267 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +B8 +B8 +B0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni204C +ENCODING 8268 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +78 +E8 +E8 +78 +ENDCHAR +STARTCHAR uni204D +ENCODING 8269 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +F0 +B8 +B8 +F0 +ENDCHAR +STARTCHAR uni204E +ENCODING 8270 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni204F +ENCODING 8271 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 -2 +BITMAP +40 +E0 +40 +00 +C0 +40 +20 +ENDCHAR +STARTCHAR uni2050 +ENCODING 8272 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +70 +88 +00 +00 +00 +00 +00 +00 +88 +70 +ENDCHAR +STARTCHAR uni2051 +ENCODING 8273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +A8 +70 +70 +A8 +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2052 +ENCODING 8274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 0 +BITMAP +90 +10 +20 +20 +40 +40 +90 +80 +ENDCHAR +STARTCHAR uni2053 +ENCODING 8275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni2054 +ENCODING 8276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -1 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni2055 +ENCODING 8277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +A8 +70 +F8 +70 +A8 +ENDCHAR +STARTCHAR uni2056 +ENCODING 8278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 2 +BITMAP +10 +00 +80 +00 +10 +ENDCHAR +STARTCHAR uni2057 +ENCODING 8279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 6 +BITMAP +7C +7C +F8 +ENDCHAR +STARTCHAR uni2058 +ENCODING 8280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +00 +88 +00 +20 +ENDCHAR +STARTCHAR uni2059 +ENCODING 8281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +88 +00 +20 +00 +88 +ENDCHAR +STARTCHAR uni205A +ENCODING 8282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 8 2 0 +BITMAP +80 +80 +00 +00 +00 +00 +80 +80 +ENDCHAR +STARTCHAR uni205B +ENCODING 8283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +00 +88 +88 +00 +20 +20 +ENDCHAR +STARTCHAR uni205C +ENCODING 8284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +A8 +20 +F8 +20 +A8 +ENDCHAR +STARTCHAR uni205D +ENCODING 8285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +00 +80 +00 +00 +80 +ENDCHAR +STARTCHAR uni205E +ENCODING 8286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR zerosuperior +ENCODING 8304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni2071 +ENCODING 8305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +00 +C0 +40 +E0 +ENDCHAR +STARTCHAR foursuperior +ENCODING 8308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +80 +80 +A0 +E0 +20 +ENDCHAR +STARTCHAR fivesuperior +ENCODING 8309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +E0 +80 +C0 +20 +C0 +ENDCHAR +STARTCHAR sixsuperior +ENCODING 8310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +60 +80 +C0 +A0 +40 +ENDCHAR +STARTCHAR sevensuperior +ENCODING 8311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +E0 +20 +40 +40 +40 +ENDCHAR +STARTCHAR eightsuperior +ENCODING 8312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR ninesuperior +ENCODING 8313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +60 +20 +C0 +ENDCHAR +STARTCHAR uni207A +ENCODING 8314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni207B +ENCODING 8315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 7 +BITMAP +E0 +ENDCHAR +STARTCHAR uni207C +ENCODING 8316 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +E0 +00 +E0 +ENDCHAR +STARTCHAR parenleftsuperior +ENCODING 8317 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 5 +BITMAP +40 +80 +80 +80 +40 +ENDCHAR +STARTCHAR parenrightsuperior +ENCODING 8318 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 5 +BITMAP +80 +40 +40 +40 +80 +ENDCHAR +STARTCHAR nsuperior +ENCODING 8319 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 5 +BITMAP +C0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR zeroinferior +ENCODING 8320 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +A0 +A0 +40 +ENDCHAR +STARTCHAR oneinferior +ENCODING 8321 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR twoinferior +ENCODING 8322 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +C0 +20 +40 +80 +E0 +ENDCHAR +STARTCHAR threeinferior +ENCODING 8323 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +C0 +20 +40 +20 +C0 +ENDCHAR +STARTCHAR fourinferior +ENCODING 8324 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +80 +80 +A0 +E0 +20 +ENDCHAR +STARTCHAR fiveinferior +ENCODING 8325 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +E0 +80 +C0 +20 +C0 +ENDCHAR +STARTCHAR sixinferior +ENCODING 8326 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +60 +80 +C0 +A0 +40 +ENDCHAR +STARTCHAR seveninferior +ENCODING 8327 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +E0 +20 +40 +40 +40 +ENDCHAR +STARTCHAR eightinferior +ENCODING 8328 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR nineinferior +ENCODING 8329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +60 +20 +C0 +ENDCHAR +STARTCHAR uni208A +ENCODING 8330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni208B +ENCODING 8331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 0 +BITMAP +E0 +ENDCHAR +STARTCHAR uni208C +ENCODING 8332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +E0 +00 +E0 +ENDCHAR +STARTCHAR parenleftinferior +ENCODING 8333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 -2 +BITMAP +40 +80 +80 +80 +40 +ENDCHAR +STARTCHAR parenrightinferior +ENCODING 8334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 -2 +BITMAP +80 +40 +40 +40 +80 +ENDCHAR +STARTCHAR uni2090 +ENCODING 8336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 -1 +BITMAP +40 +20 +60 +A0 +60 +ENDCHAR +STARTCHAR uni2091 +ENCODING 8337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 -2 +BITMAP +40 +A0 +E0 +80 +60 +ENDCHAR +STARTCHAR uni2092 +ENCODING 8338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 -2 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni2093 +ENCODING 8339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 -2 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni2094 +ENCODING 8340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 -2 +BITMAP +C0 +20 +E0 +A0 +40 +ENDCHAR +STARTCHAR uni20A0 +ENCODING 8352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +80 +B8 +A0 +70 +20 +38 +ENDCHAR +STARTCHAR colonmonetary +ENCODING 8353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A8 +A8 +D0 +D0 +D8 +70 +ENDCHAR +STARTCHAR uni20A2 +ENCODING 8354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +B0 +A0 +A8 +70 +ENDCHAR +STARTCHAR franc +ENCODING 8355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +E8 +B0 +A0 +A0 +ENDCHAR +STARTCHAR lira +ENCODING 8356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +48 +E0 +40 +E0 +48 +B0 +ENDCHAR +STARTCHAR uni20A5 +ENCODING 8357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +10 +F0 +A8 +A8 +A8 +40 +ENDCHAR +STARTCHAR uni20A6 +ENCODING 8358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +88 +C8 +FC +A8 +FC +98 +88 +ENDCHAR +STARTCHAR peseta +ENCODING 8359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +50 +F8 +50 +60 +40 +40 +ENDCHAR +STARTCHAR uni20A8 +ENCODING 8360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C0 +A0 +A0 +D8 +A0 +B0 +A8 +B0 +ENDCHAR +STARTCHAR uni20A9 +ENCODING 8361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +88 +FC +A8 +A8 +D8 +88 +ENDCHAR +STARTCHAR afii57636 +ENCODING 8362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +60 +94 +B4 +B4 +B4 +B4 +A4 +98 +ENDCHAR +STARTCHAR dong +ENCODING 8363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 +BITMAP +08 +3C +08 +78 +88 +88 +88 +78 +00 +78 +ENDCHAR +STARTCHAR Euro +ENCODING 8364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +F0 +40 +F0 +40 +38 +ENDCHAR +STARTCHAR uni20AD +ENCODING 8365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +48 +50 +F8 +50 +48 +48 +ENDCHAR +STARTCHAR uni20AE +ENCODING 8366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +30 +60 +30 +60 +20 +ENDCHAR +STARTCHAR uni20AF +ENCODING 8367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +E0 +50 +48 +48 +48 +E8 +D0 +ENDCHAR +STARTCHAR uni20B0 +ENCODING 8368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +28 +28 +10 +10 +50 +68 +A8 +08 +10 +ENDCHAR +STARTCHAR uni20B1 +ENCODING 8369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +50 +F8 +F8 +50 +60 +40 +40 +ENDCHAR +STARTCHAR uni20B2 +ENCODING 8370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +A8 +A0 +A0 +B8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni20B3 +ENCODING 8371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +F8 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni20B4 +ENCODING 8372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +10 +F8 +20 +F8 +40 +30 +ENDCHAR +STARTCHAR uni20B5 +ENCODING 8373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +A8 +A0 +A0 +A0 +A8 +70 +20 +ENDCHAR +STARTCHAR uni20D0 +ENCODING 8400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +20 +40 +F8 +ENDCHAR +STARTCHAR uni20D1 +ENCODING 8401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +20 +10 +F8 +ENDCHAR +STARTCHAR uni20D2 +ENCODING 8402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 10 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni20D3 +ENCODING 8403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 8 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni20D4 +ENCODING 8404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +B0 +C8 +E0 +ENDCHAR +STARTCHAR uni20D5 +ENCODING 8405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +68 +98 +38 +ENDCHAR +STARTCHAR uni20D6 +ENCODING 8406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +40 +F8 +40 +ENDCHAR +STARTCHAR uni20D7 +ENCODING 8407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +10 +F8 +10 +ENDCHAR +STARTCHAR uni20D8 +ENCODING 8408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR uni20D9 +ENCODING 8409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +30 +48 +E8 +48 +30 +ENDCHAR +STARTCHAR uni20DA +ENCODING 8410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +60 +90 +B8 +90 +60 +ENDCHAR +STARTCHAR uni20DB +ENCODING 8411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +A8 +A8 +ENDCHAR +STARTCHAR uni20DC +ENCODING 8412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 7 +BITMAP +B4 +B4 +ENDCHAR +STARTCHAR uni20DD +ENCODING 8413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +78 +84 +84 +84 +84 +84 +84 +84 +84 +84 +84 +78 +ENDCHAR +STARTCHAR uni20DE +ENCODING 8414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +84 +84 +84 +84 +84 +84 +84 +84 +84 +84 +FC +ENDCHAR +STARTCHAR uni20DF +ENCODING 8415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +48 +84 +84 +84 +84 +84 +84 +84 +84 +48 +30 +ENDCHAR +STARTCHAR uni20E0 +ENCODING 8416 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +78 +C4 +A4 +A4 +A4 +A4 +94 +94 +94 +94 +8C +78 +ENDCHAR +STARTCHAR uni20E1 +ENCODING 8417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +50 +F8 +50 +ENDCHAR +STARTCHAR uni20E2 +ENCODING 8418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +78 +84 +84 +84 +84 +84 +84 +84 +84 +78 +ENDCHAR +STARTCHAR uni20E3 +ENCODING 8419 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +84 +84 +84 +84 +84 +84 +84 +84 +FC +FC +ENDCHAR +STARTCHAR uni20E4 +ENCODING 8420 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +20 +20 +20 +50 +50 +50 +50 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni20E5 +ENCODING 8421 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +40 +20 +20 +10 +08 +08 +ENDCHAR +STARTCHAR uni20E6 +ENCODING 8422 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni20E7 +ENCODING 8423 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +FC +04 +04 +04 +04 +04 +04 +04 +04 +ENDCHAR +STARTCHAR uni20E8 +ENCODING 8424 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 -2 +BITMAP +A8 +ENDCHAR +STARTCHAR uni20E9 +ENCODING 8425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +F8 +88 +ENDCHAR +STARTCHAR uni20EA +ENCODING 8426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +FC +40 +20 +ENDCHAR +STARTCHAR uni20EB +ENCODING 8427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +24 +24 +24 +48 +48 +90 +90 +90 +ENDCHAR +STARTCHAR uni20EC +ENCODING 8428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +F8 +10 +ENDCHAR +STARTCHAR uni20ED +ENCODING 8429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +F8 +40 +ENDCHAR +STARTCHAR uni20EE +ENCODING 8430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +40 +F8 +40 +ENDCHAR +STARTCHAR uni20EF +ENCODING 8431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +10 +F8 +10 +ENDCHAR +STARTCHAR uni20F0 +ENCODING 8432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 7 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni2100 +ENCODING 8448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +68 +A8 +70 +10 +20 +40 +58 +A0 +98 +ENDCHAR +STARTCHAR uni2101 +ENCODING 8449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +68 +A8 +70 +10 +20 +58 +60 +90 +88 +30 +ENDCHAR +STARTCHAR uni2102 +ENCODING 8450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A0 +A0 +A0 +A8 +70 +ENDCHAR +STARTCHAR uni2103 +ENCODING 8451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +A0 +40 +38 +40 +40 +40 +40 +40 +38 +ENDCHAR +STARTCHAR uni2104 +ENCODING 8452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A0 +A0 +A0 +70 +20 +38 +ENDCHAR +STARTCHAR afii61248 +ENCODING 8453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +48 +88 +50 +10 +20 +40 +50 +A8 +90 +ENDCHAR +STARTCHAR uni2106 +ENCODING 8454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +48 +88 +50 +10 +20 +40 +68 +A8 +98 +ENDCHAR +STARTCHAR uni2107 +ENCODING 8455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +88 +80 +60 +80 +88 +70 +ENDCHAR +STARTCHAR uni2108 +ENCODING 8456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni2109 +ENCODING 8457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +A0 +40 +3C +20 +20 +38 +20 +20 +20 +ENDCHAR +STARTCHAR uni210A +ENCODING 8458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +38 +48 +48 +48 +30 +90 +60 +ENDCHAR +STARTCHAR uni210B +ENCODING 8459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +C8 +48 +48 +70 +90 +90 +90 +08 +ENDCHAR +STARTCHAR uni210C +ENCODING 8460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +68 +90 +80 +B0 +C8 +48 +28 +A8 +48 +10 +20 +ENDCHAR +STARTCHAR uni210D +ENCODING 8461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +B8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni210E +ENCODING 8462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +40 +70 +48 +48 +90 +90 +ENDCHAR +STARTCHAR uni210F +ENCODING 8463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +F0 +40 +70 +48 +48 +90 +90 +ENDCHAR +STARTCHAR uni2110 +ENCODING 8464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +38 +08 +08 +10 +10 +20 +A0 +40 +ENDCHAR +STARTCHAR Ifraktur +ENCODING 8465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +88 +48 +10 +10 +08 +C8 +30 +ENDCHAR +STARTCHAR uni2112 +ENCODING 8466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +10 +28 +20 +20 +40 +40 +64 +98 +ENDCHAR +STARTCHAR afii61289 +ENCODING 8467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +50 +50 +20 +60 +90 +ENDCHAR +STARTCHAR uni2114 +ENCODING 8468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +F0 +A0 +B0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR uni2115 +ENCODING 8469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C4 +C4 +A4 +B4 +B4 +AC +A4 +ENDCHAR +STARTCHAR afii61352 +ENCODING 8470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +90 +D8 +B4 +98 +90 +9C +ENDCHAR +STARTCHAR uni2117 +ENCODING 8471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +E8 +D8 +E8 +C8 +88 +70 +ENDCHAR +STARTCHAR weierstrass +ENCODING 8472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +58 +64 +64 +78 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni2119 +ENCODING 8473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +A8 +A8 +B0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni211A +ENCODING 8474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +A8 +A8 +B0 +68 +ENDCHAR +STARTCHAR uni211B +ENCODING 8475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +70 +A0 +90 +90 +ENDCHAR +STARTCHAR Rfraktur +ENCODING 8476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +A8 +68 +30 +30 +A8 +48 +ENDCHAR +STARTCHAR uni211D +ENCODING 8477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +A8 +A8 +B0 +B0 +A8 +A8 +ENDCHAR +STARTCHAR prescription +ENCODING 8478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +A8 +90 +A8 +ENDCHAR +STARTCHAR uni211F +ENCODING 8479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +60 +20 +F0 +A8 +A8 +F0 +A0 +B0 +A8 +20 +ENDCHAR +STARTCHAR uni2120 +ENCODING 8480 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 6 +BITMAP +54 +9C +54 +94 +ENDCHAR +STARTCHAR uni2121 +ENCODING 8481 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +E0 +40 +40 +70 +20 +30 +20 +30 +10 +10 +10 +18 +ENDCHAR +STARTCHAR trademark +ENCODING 8482 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 4 +BITMAP +FC +5C +54 +ENDCHAR +STARTCHAR uni2123 +ENCODING 8483 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +E0 +20 +A8 +A8 +A8 +50 +50 +50 +A0 +A0 +80 +ENDCHAR +STARTCHAR uni2124 +ENCODING 8484 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +28 +48 +50 +90 +A0 +F8 +ENDCHAR +STARTCHAR uni2125 +ENCODING 8485 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +78 +10 +20 +78 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR Omega +ENCODING 8486 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni2127 +ENCODING 8487 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +D8 +50 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2128 +ENCODING 8488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +28 +38 +28 +88 +70 +ENDCHAR +STARTCHAR uni2129 +ENCODING 8489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +C0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni212A +ENCODING 8490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni212B +ENCODING 8491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +20 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni212C +ENCODING 8492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +70 +90 +90 +E0 +ENDCHAR +STARTCHAR uni212D +ENCODING 8493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +74 +90 +90 +A0 +80 +88 +70 +ENDCHAR +STARTCHAR estimated +ENCODING 8494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +D8 +F0 +C0 +70 +ENDCHAR +STARTCHAR uni212F +ENCODING 8495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +48 +70 +80 +60 +ENDCHAR +STARTCHAR uni2130 +ENCODING 8496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +60 +80 +88 +70 +ENDCHAR +STARTCHAR uni2131 +ENCODING 8497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +7C +A0 +20 +78 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2132 +ENCODING 8498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +78 +08 +08 +F8 +ENDCHAR +STARTCHAR uni2133 +ENCODING 8499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C4 +6C +54 +44 +48 +48 +84 +ENDCHAR +STARTCHAR uni2134 +ENCODING 8500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +30 +48 +48 +90 +90 +60 +ENDCHAR +STARTCHAR aleph +ENCODING 8501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +48 +68 +90 +C8 +ENDCHAR +STARTCHAR uni2136 +ENCODING 8502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +10 +10 +10 +F8 +ENDCHAR +STARTCHAR uni2137 +ENCODING 8503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +80 +40 +20 +50 +90 +ENDCHAR +STARTCHAR uni2138 +ENCODING 8504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2139 +ENCODING 8505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +60 +00 +E0 +60 +60 +E0 +ENDCHAR +STARTCHAR uni213A +ENCODING 8506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +04 +7C +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni213B +ENCODING 8507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +E0 +80 +C0 +80 +70 +50 +70 +50 +14 +08 +14 +ENDCHAR +STARTCHAR uni213C +ENCODING 8508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +FC +68 +68 +68 +68 +ENDCHAR +STARTCHAR uni213D +ENCODING 8509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +48 +A8 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni213E +ENCODING 8510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A8 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni213F +ENCODING 8511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2140 +ENCODING 8512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A0 +50 +50 +28 +50 +50 +A0 +F8 +ENDCHAR +STARTCHAR uni2141 +ENCODING 8513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +C8 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni2142 +ENCODING 8514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +08 +08 +08 +08 +ENDCHAR +STARTCHAR uni2143 +ENCODING 8515 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR uni2144 +ENCODING 8516 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni2145 +ENCODING 8517 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +78 +54 +54 +54 +A8 +A8 +A8 +F0 +ENDCHAR +STARTCHAR uni2146 +ENCODING 8518 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +1C +14 +14 +68 +A8 +A8 +78 +ENDCHAR +STARTCHAR uni2147 +ENCODING 8519 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +38 +54 +54 +B8 +A0 +78 +ENDCHAR +STARTCHAR uni2148 +ENCODING 8520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +00 +F0 +50 +50 +A0 +A0 +ENDCHAR +STARTCHAR uni2149 +ENCODING 8521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +00 +78 +28 +28 +50 +50 +50 +E0 +ENDCHAR +STARTCHAR uni214A +ENCODING 8522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +F0 +A8 +A8 +B0 +20 +38 +ENDCHAR +STARTCHAR uni214B +ENCODING 8523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +B0 +48 +E8 +10 +28 +28 +10 +ENDCHAR +STARTCHAR uni214C +ENCODING 8524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +B8 +A4 +F4 +AC +F8 +A8 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni214D +ENCODING 8525 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +A8 +E8 +B0 +10 +20 +48 +50 +88 +90 +ENDCHAR +STARTCHAR uni214E +ENCODING 8526 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +10 +10 +10 +70 +10 +F0 +ENDCHAR +STARTCHAR uni214F +ENCODING 8527 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +70 +70 +70 +A8 +ENDCHAR +STARTCHAR onethird +ENCODING 8531 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +48 +48 +50 +10 +38 +44 +48 +84 +98 +ENDCHAR +STARTCHAR twothirds +ENCODING 8532 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +A8 +48 +F0 +10 +38 +44 +48 +84 +98 +ENDCHAR +STARTCHAR uni2155 +ENCODING 8533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +48 +48 +50 +10 +20 +58 +50 +88 +90 +ENDCHAR +STARTCHAR uni2156 +ENCODING 8534 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +A8 +48 +F0 +10 +20 +58 +50 +88 +90 +ENDCHAR +STARTCHAR uni2157 +ENCODING 8535 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +28 +48 +30 +D0 +20 +58 +50 +88 +90 +ENDCHAR +STARTCHAR uni2158 +ENCODING 8536 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +C8 +E8 +50 +10 +20 +58 +50 +88 +90 +ENDCHAR +STARTCHAR uni2159 +ENCODING 8537 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +48 +48 +50 +10 +28 +50 +58 +94 +88 +ENDCHAR +STARTCHAR uni215A +ENCODING 8538 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +C0 +88 +48 +90 +10 +28 +50 +58 +94 +88 +ENDCHAR +STARTCHAR oneeighth +ENCODING 8539 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +48 +48 +50 +10 +28 +54 +48 +94 +88 +ENDCHAR +STARTCHAR threeeighths +ENCODING 8540 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +C0 +28 +48 +30 +D0 +28 +54 +48 +94 +88 +ENDCHAR +STARTCHAR fiveeighths +ENCODING 8541 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +C0 +88 +48 +90 +10 +28 +54 +48 +94 +88 +ENDCHAR +STARTCHAR seveneighths +ENCODING 8542 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +E0 +28 +48 +50 +10 +28 +54 +48 +94 +88 +ENDCHAR +STARTCHAR uni215F +ENCODING 8543 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +48 +48 +50 +10 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2160 +ENCODING 8544 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2161 +ENCODING 8545 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2162 +ENCODING 8546 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2163 +ENCODING 8547 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +90 +90 +90 +ENDCHAR +STARTCHAR uni2164 +ENCODING 8548 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +88 +88 +50 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2165 +ENCODING 8549 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +48 +48 +48 +ENDCHAR +STARTCHAR uni2166 +ENCODING 8550 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +D4 +D4 +D4 +D4 +54 +54 +54 +ENDCHAR +STARTCHAR uni2167 +ENCODING 8551 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +DC +DC +DC +DC +5C +5C +5C +ENDCHAR +STARTCHAR uni2168 +ENCODING 8552 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +90 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2169 +ENCODING 8553 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR uni216A +ENCODING 8554 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +48 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni216B +ENCODING 8555 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +AC +AC +AC +4C +AC +AC +AC +ENDCHAR +STARTCHAR uni216C +ENCODING 8556 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni216D +ENCODING 8557 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR uni216E +ENCODING 8558 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +ENDCHAR +STARTCHAR uni216F +ENCODING 8559 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +D8 +A8 +88 +88 +88 +ENDCHAR +STARTCHAR uni2170 +ENCODING 8560 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2171 +ENCODING 8561 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +00 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2172 +ENCODING 8562 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +00 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2173 +ENCODING 8563 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +00 +A8 +A8 +A8 +90 +90 +ENDCHAR +STARTCHAR uni2174 +ENCODING 8564 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni2175 +ENCODING 8565 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +00 +A8 +A8 +A8 +48 +48 +ENDCHAR +STARTCHAR uni2176 +ENCODING 8566 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +00 +D4 +D4 +D4 +D4 +54 +ENDCHAR +STARTCHAR uni2177 +ENCODING 8567 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +1C +00 +DC +DC +DC +DC +5C +ENDCHAR +STARTCHAR uni2178 +ENCODING 8568 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +00 +A8 +A8 +90 +A8 +A8 +ENDCHAR +STARTCHAR uni2179 +ENCODING 8569 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni217A +ENCODING 8570 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +00 +A8 +A8 +48 +A8 +A8 +ENDCHAR +STARTCHAR uni217B +ENCODING 8571 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +00 +AC +AC +4C +AC +AC +ENDCHAR +STARTCHAR uni217C +ENCODING 8572 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni217D +ENCODING 8573 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR uni217E +ENCODING 8574 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +78 +88 +88 +78 +ENDCHAR +STARTCHAR uni217F +ENCODING 8575 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D0 +A8 +A8 +A8 +88 +ENDCHAR +STARTCHAR uni2180 +ENCODING 8576 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2181 +ENCODING 8577 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +E8 +A8 +E8 +88 +F0 +ENDCHAR +STARTCHAR uni2182 +ENCODING 8578 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +F8 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni2183 +ENCODING 8579 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni2184 +ENCODING 8580 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +60 +90 +10 +90 +60 +ENDCHAR +STARTCHAR uni2185 +ENCODING 8581 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +70 +88 +80 +80 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni2186 +ENCODING 8582 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2187 +ENCODING 8583 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +F8 +FC +FC +9C +FC +FC +F8 +ENDCHAR +STARTCHAR uni2188 +ENCODING 8584 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +F8 +A8 +F8 +F8 +70 +ENDCHAR +STARTCHAR arrowleft +ENCODING 8592 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +40 +F8 +40 +20 +ENDCHAR +STARTCHAR arrowup +ENCODING 8593 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR arrowright +ENCODING 8594 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +10 +F8 +10 +20 +ENDCHAR +STARTCHAR arrowdown +ENCODING 8595 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR arrowboth +ENCODING 8596 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +50 +F8 +50 +ENDCHAR +STARTCHAR arrowupdn +ENCODING 8597 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2196 +ENCODING 8598 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +C0 +F0 +E0 +A0 +20 +10 +10 +08 +08 +ENDCHAR +STARTCHAR uni2197 +ENCODING 8599 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +18 +78 +38 +28 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2198 +ENCODING 8600 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +40 +40 +20 +28 +38 +78 +18 +ENDCHAR +STARTCHAR uni2199 +ENCODING 8601 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +08 +10 +10 +20 +A0 +E0 +F0 +C0 +ENDCHAR +STARTCHAR uni219A +ENCODING 8602 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +48 +FC +50 +30 +ENDCHAR +STARTCHAR uni219B +ENCODING 8603 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +28 +FC +48 +50 +ENDCHAR +STARTCHAR uni219C +ENCODING 8604 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +C0 +D8 +64 +ENDCHAR +STARTCHAR uni219D +ENCODING 8605 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +0C +6C +98 +ENDCHAR +STARTCHAR uni219E +ENCODING 8606 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +50 +FC +50 +28 +ENDCHAR +STARTCHAR uni219F +ENCODING 8607 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +A8 +70 +A8 +20 +20 +20 +ENDCHAR +STARTCHAR uni21A0 +ENCODING 8608 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +50 +28 +FC +28 +50 +ENDCHAR +STARTCHAR uni21A1 +ENCODING 8609 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +A8 +70 +A8 +70 +20 +ENDCHAR +STARTCHAR uni21A2 +ENCODING 8610 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +24 +48 +F0 +48 +24 +ENDCHAR +STARTCHAR uni21A3 +ENCODING 8611 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +90 +48 +3C +48 +90 +ENDCHAR +STARTCHAR uni21A4 +ENCODING 8612 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +28 +48 +F8 +48 +28 +ENDCHAR +STARTCHAR uni21A5 +ENCODING 8613 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni21A6 +ENCODING 8614 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +A0 +90 +F8 +90 +A0 +ENDCHAR +STARTCHAR uni21A7 +ENCODING 8615 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR arrowupdnbse +ENCODING 8616 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +A8 +70 +F8 +ENDCHAR +STARTCHAR uni21A9 +ENCODING 8617 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +44 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21AA +ENCODING 8618 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +50 +88 +7C +08 +10 +ENDCHAR +STARTCHAR uni21AB +ENCODING 8619 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +4C +FC +48 +28 +ENDCHAR +STARTCHAR uni21AC +ENCODING 8620 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +C8 +FC +48 +50 +ENDCHAR +STARTCHAR uni21AD +ENCODING 8621 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +48 +DC +EC +48 +ENDCHAR +STARTCHAR uni21AE +ENCODING 8622 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +08 +58 +FC +68 +40 +ENDCHAR +STARTCHAR uni21AF +ENCODING 8623 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +90 +B0 +D0 +90 +38 +10 +ENDCHAR +STARTCHAR uni21B0 +ENCODING 8624 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +40 +F8 +48 +28 +08 +08 +08 +ENDCHAR +STARTCHAR uni21B1 +ENCODING 8625 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +F8 +90 +A0 +80 +80 +80 +ENDCHAR +STARTCHAR uni21B2 +ENCODING 8626 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +08 +08 +28 +48 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21B3 +ENCODING 8627 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +A0 +90 +F8 +10 +20 +ENDCHAR +STARTCHAR uni21B4 +ENCODING 8628 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +F0 +10 +38 +10 +ENDCHAR +STARTCHAR carriagereturn +ENCODING 8629 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +08 +48 +F8 +40 +ENDCHAR +STARTCHAR uni21B6 +ENCODING 8630 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +30 +48 +48 +E8 +48 +ENDCHAR +STARTCHAR uni21B7 +ENCODING 8631 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +60 +90 +90 +B8 +10 +ENDCHAR +STARTCHAR uni21B8 +ENCODING 8632 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +80 +E0 +C0 +A0 +20 +10 +10 +ENDCHAR +STARTCHAR uni21B9 +ENCODING 8633 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A0 +C0 +F8 +C0 +A8 +18 +F8 +18 +28 +ENDCHAR +STARTCHAR uni21BA +ENCODING 8634 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +30 +A8 +88 +88 +70 +ENDCHAR +STARTCHAR uni21BB +ENCODING 8635 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +E0 +60 +A8 +88 +88 +70 +ENDCHAR +STARTCHAR uni21BC +ENCODING 8636 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +20 +40 +F8 +ENDCHAR +STARTCHAR uni21BD +ENCODING 8637 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +40 +20 +ENDCHAR +STARTCHAR uni21BE +ENCODING 8638 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 2 0 +BITMAP +80 +C0 +A0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni21BF +ENCODING 8639 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 0 +BITMAP +20 +60 +A0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni21C0 +ENCODING 8640 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +20 +10 +F8 +ENDCHAR +STARTCHAR uni21C1 +ENCODING 8641 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +10 +20 +ENDCHAR +STARTCHAR uni21C2 +ENCODING 8642 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 2 0 +BITMAP +80 +80 +80 +80 +80 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni21C3 +ENCODING 8643 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 0 +BITMAP +20 +20 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni21C4 +ENCODING 8644 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +10 +F8 +10 +20 +40 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21C5 +ENCODING 8645 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +F0 +50 +50 +50 +50 +78 +50 +ENDCHAR +STARTCHAR uni21C6 +ENCODING 8646 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +40 +F8 +40 +20 +10 +F8 +10 +20 +ENDCHAR +STARTCHAR uni21C7 +ENCODING 8647 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +40 +F8 +40 +20 +40 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21C8 +ENCODING 8648 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +F8 +50 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni21C9 +ENCODING 8649 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +10 +F8 +10 +20 +10 +F8 +10 +20 +ENDCHAR +STARTCHAR uni21CA +ENCODING 8650 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +50 +50 +50 +50 +50 +F8 +50 +ENDCHAR +STARTCHAR uni21CB +ENCODING 8651 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +40 +F8 +00 +F8 +10 +20 +ENDCHAR +STARTCHAR uni21CC +ENCODING 8652 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +10 +F8 +00 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21CD +ENCODING 8653 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +28 +7C +90 +7C +20 +50 +ENDCHAR +STARTCHAR uni21CE +ENCODING 8654 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +08 +58 +FC +A4 +FC +68 +40 +ENDCHAR +STARTCHAR uni21CF +ENCODING 8655 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +50 +F8 +24 +F8 +10 +28 +ENDCHAR +STARTCHAR arrowdblleft +ENCODING 8656 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +78 +80 +78 +20 +ENDCHAR +STARTCHAR arrowdblup +ENCODING 8657 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +D8 +50 +50 +50 +50 +ENDCHAR +STARTCHAR arrowdblright +ENCODING 8658 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +F0 +08 +F0 +20 +ENDCHAR +STARTCHAR arrowdbldown +ENCODING 8659 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +50 +50 +D8 +50 +20 +ENDCHAR +STARTCHAR arrowdblboth +ENCODING 8660 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +48 +FC +84 +FC +48 +ENDCHAR +STARTCHAR uni21D5 +ENCODING 8661 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +D8 +50 +50 +D8 +50 +20 +ENDCHAR +STARTCHAR uni21D6 +ENCODING 8662 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +F8 +A0 +D0 +A8 +94 +08 +ENDCHAR +STARTCHAR uni21D7 +ENCODING 8663 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +7C +14 +2C +54 +A4 +40 +ENDCHAR +STARTCHAR uni21D8 +ENCODING 8664 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +A4 +54 +2C +14 +7C +ENDCHAR +STARTCHAR uni21D9 +ENCODING 8665 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +08 +94 +A8 +D0 +A0 +F8 +ENDCHAR +STARTCHAR uni21DA +ENCODING 8666 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +3C +40 +FC +40 +3C +10 +ENDCHAR +STARTCHAR uni21DB +ENCODING 8667 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +F0 +08 +FC +08 +F0 +20 +ENDCHAR +STARTCHAR uni21DC +ENCODING 8668 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +40 +E8 +D4 +40 +ENDCHAR +STARTCHAR uni21DD +ENCODING 8669 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +08 +5C +AC +08 +ENDCHAR +STARTCHAR uni21DE +ENCODING 8670 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +A8 +20 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni21DF +ENCODING 8671 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +70 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni21E0 +ENCODING 8672 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +D4 +40 +20 +ENDCHAR +STARTCHAR uni21E1 +ENCODING 8673 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +88 +20 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni21E2 +ENCODING 8674 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +08 +AC +08 +10 +ENDCHAR +STARTCHAR uni21E3 +ENCODING 8675 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +20 +00 +20 +88 +70 +20 +ENDCHAR +STARTCHAR uni21E4 +ENCODING 8676 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +A0 +C0 +F8 +C0 +A0 +ENDCHAR +STARTCHAR uni21E5 +ENCODING 8677 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +28 +18 +F8 +18 +28 +ENDCHAR +STARTCHAR uni21E6 +ENCODING 8678 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +78 +88 +78 +20 +ENDCHAR +STARTCHAR uni21E7 +ENCODING 8679 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +D8 +50 +50 +50 +50 +70 +ENDCHAR +STARTCHAR uni21E8 +ENCODING 8680 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +F0 +88 +F0 +20 +ENDCHAR +STARTCHAR uni21E9 +ENCODING 8681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +50 +50 +50 +50 +D8 +50 +20 +ENDCHAR +STARTCHAR uni21EA +ENCODING 8682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +D8 +50 +70 +00 +70 +50 +70 +ENDCHAR +STARTCHAR uni21EB +ENCODING 8683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +D8 +50 +50 +50 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni21EC +ENCODING 8684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +F8 +88 +50 +50 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni21ED +ENCODING 8685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +F8 +70 +70 +70 +F8 +A8 +F8 +ENDCHAR +STARTCHAR uni21EE +ENCODING 8686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +D8 +50 +D8 +50 +50 +50 +70 +ENDCHAR +STARTCHAR uni21EF +ENCODING 8687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +D8 +50 +D8 +50 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni21F0 +ENCODING 8688 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +A0 +F0 +88 +F0 +A0 +ENDCHAR +STARTCHAR uni21F1 +ENCODING 8689 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +80 +B0 +A0 +90 +10 +08 +08 +ENDCHAR +STARTCHAR uni21F2 +ENCODING 8690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +40 +48 +28 +68 +08 +F8 +ENDCHAR +STARTCHAR uni21F3 +ENCODING 8691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +D8 +50 +50 +D8 +50 +20 +ENDCHAR +STARTCHAR uni21F4 +ENCODING 8692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +68 +FC +68 +10 +ENDCHAR +STARTCHAR uni21F5 +ENCODING 8693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +78 +50 +50 +50 +50 +F0 +50 +ENDCHAR +STARTCHAR uni21F6 +ENCODING 8694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +10 +F8 +10 +10 +F8 +10 +10 +F8 +10 +ENDCHAR +STARTCHAR uni21F7 +ENCODING 8695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +48 +FC +48 +28 +ENDCHAR +STARTCHAR uni21F8 +ENCODING 8696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +50 +48 +FC +48 +50 +ENDCHAR +STARTCHAR uni21F9 +ENCODING 8697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +78 +FC +78 +30 +ENDCHAR +STARTCHAR uni21FA +ENCODING 8698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +38 +58 +FC +58 +38 +ENDCHAR +STARTCHAR uni21FB +ENCODING 8699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +70 +68 +FC +68 +70 +ENDCHAR +STARTCHAR uni21FC +ENCODING 8700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +78 +FC +78 +30 +ENDCHAR +STARTCHAR uni21FD +ENCODING 8701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +60 +B8 +60 +20 +ENDCHAR +STARTCHAR uni21FE +ENCODING 8702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +30 +E8 +30 +20 +ENDCHAR +STARTCHAR uni21FF +ENCODING 8703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +78 +B4 +78 +30 +ENDCHAR +STARTCHAR universal +ENCODING 8704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +F8 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni2201 +ENCODING 8705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR partialdiff +ENCODING 8706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +60 +90 +10 +70 +90 +90 +60 +ENDCHAR +STARTCHAR existential +ENCODING 8707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +78 +08 +08 +F8 +ENDCHAR +STARTCHAR uni2204 +ENCODING 8708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +10 +10 +F8 +18 +28 +78 +28 +48 +F8 +40 +40 +ENDCHAR +STARTCHAR emptyset +ENCODING 8709 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +10 +70 +98 +A8 +C8 +70 +40 +40 +ENDCHAR +STARTCHAR Delta +ENCODING 8710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +F8 +ENDCHAR +STARTCHAR gradient +ENCODING 8711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR element +ENCODING 8712 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +80 +F0 +80 +40 +38 +ENDCHAR +STARTCHAR notelement +ENCODING 8713 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +20 +20 +38 +60 +A0 +F0 +A0 +60 +38 +20 +20 +ENDCHAR +STARTCHAR uni220A +ENCODING 8714 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 1 +BITMAP +70 +80 +E0 +80 +70 +ENDCHAR +STARTCHAR suchthat +ENCODING 8715 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +10 +08 +78 +08 +10 +E0 +ENDCHAR +STARTCHAR uni220C +ENCODING 8716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +20 +20 +E0 +30 +28 +78 +28 +30 +E0 +20 +20 +ENDCHAR +STARTCHAR uni220D +ENCODING 8717 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 1 +BITMAP +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR uni220E +ENCODING 8718 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR product +ENCODING 8719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +FC +48 +48 +48 +48 +48 +48 +48 +EC +ENDCHAR +STARTCHAR uni2210 +ENCODING 8720 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +EC +48 +48 +48 +48 +48 +48 +48 +FC +ENDCHAR +STARTCHAR summation +ENCODING 8721 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F8 +80 +40 +20 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR minus +ENCODING 8722 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR uni2213 +ENCODING 8723 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2214 +ENCODING 8724 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR fraction +ENCODING 8725 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +10 +20 +40 +40 +80 +ENDCHAR +STARTCHAR uni2216 +ENCODING 8726 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +40 +20 +10 +10 +08 +ENDCHAR +STARTCHAR asteriskmath +ENCODING 8727 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +A8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2218 +ENCODING 8728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 2 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR periodcentered +ENCODING 8729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR radical +ENCODING 8730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +0C +08 +08 +08 +08 +10 +D0 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni221B +ENCODING 8731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +04 +C4 +24 +48 +28 +C8 +10 +90 +90 +60 +60 +20 +ENDCHAR +STARTCHAR uni221C +ENCODING 8732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +04 +84 +A4 +E8 +28 +28 +10 +90 +90 +60 +60 +20 +ENDCHAR +STARTCHAR proportional +ENCODING 8733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +58 +A0 +A0 +58 +ENDCHAR +STARTCHAR infinity +ENCODING 8734 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +50 +A8 +A8 +50 +ENDCHAR +STARTCHAR orthogonal +ENCODING 8735 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR angle +ENCODING 8736 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR uni2221 +ENCODING 8737 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +88 +50 +20 +50 +F8 +10 +10 +ENDCHAR +STARTCHAR uni2222 +ENCODING 8738 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +10 +30 +48 +88 +48 +30 +10 +08 +ENDCHAR +STARTCHAR uni2223 +ENCODING 8739 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 9 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2224 +ENCODING 8740 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +28 +30 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR uni2225 +ENCODING 8741 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2226 +ENCODING 8742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +50 +50 +58 +50 +70 +50 +D0 +50 +50 +ENDCHAR +STARTCHAR logicaland +ENCODING 8743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +20 +50 +50 +88 +ENDCHAR +STARTCHAR logicalor +ENCODING 8744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR intersection +ENCODING 8745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +88 +ENDCHAR +STARTCHAR union +ENCODING 8746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR integral +ENCODING 8747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +10 +28 +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni222C +ENCODING 8748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +24 +48 +48 +48 +48 +48 +48 +48 +48 +48 +90 +ENDCHAR +STARTCHAR uni222D +ENCODING 8749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +54 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +D0 +ENDCHAR +STARTCHAR uni222E +ENCODING 8750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +10 +28 +20 +70 +A8 +A8 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR uni222F +ENCODING 8751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +24 +48 +48 +78 +CC +CC +CC +78 +48 +48 +90 +ENDCHAR +STARTCHAR uni2230 +ENCODING 8752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +54 +A8 +A8 +F8 +AC +AC +AC +F8 +A8 +A8 +D0 +ENDCHAR +STARTCHAR uni2231 +ENCODING 8753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +74 +AC +3C +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2232 +ENCODING 8754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +74 +AC +BC +A8 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2233 +ENCODING 8755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +70 +A8 +BC +AC +74 +20 +A0 +40 +ENDCHAR +STARTCHAR therefore +ENCODING 8756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +20 +00 +00 +88 +ENDCHAR +STARTCHAR uni2235 +ENCODING 8757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +88 +00 +00 +20 +ENDCHAR +STARTCHAR uni2236 +ENCODING 8758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 4 2 1 +BITMAP +80 +00 +00 +80 +ENDCHAR +STARTCHAR uni2237 +ENCODING 8759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +90 +00 +00 +90 +ENDCHAR +STARTCHAR uni2238 +ENCODING 8760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +20 +00 +F8 +ENDCHAR +STARTCHAR uni2239 +ENCODING 8761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +00 +E0 +00 +08 +ENDCHAR +STARTCHAR uni223A +ENCODING 8762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +00 +F8 +00 +88 +ENDCHAR +STARTCHAR uni223B +ENCODING 8763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +00 +68 +B0 +00 +40 +ENDCHAR +STARTCHAR similar +ENCODING 8764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni223D +ENCODING 8765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +B0 +68 +ENDCHAR +STARTCHAR uni223E +ENCODING 8766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 2 +BITMAP +48 +A4 +94 +48 +ENDCHAR +STARTCHAR uni223F +ENCODING 8767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +A0 +A0 +A8 +28 +28 +10 +ENDCHAR +STARTCHAR uni2240 +ENCODING 8768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +40 +20 +20 +20 +40 +80 +80 +80 +40 +ENDCHAR +STARTCHAR uni2241 +ENCODING 8769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni2242 +ENCODING 8770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +F8 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2243 +ENCODING 8771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +68 +B0 +00 +F8 +ENDCHAR +STARTCHAR uni2244 +ENCODING 8772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +68 +B0 +20 +F8 +20 +ENDCHAR +STARTCHAR congruent +ENCODING 8773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +68 +B0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2246 +ENCODING 8774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +68 +B0 +00 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2247 +ENCODING 8775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +68 +B0 +20 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR approxequal +ENCODING 8776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2249 +ENCODING 8777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +68 +B0 +20 +68 +B0 +20 +ENDCHAR +STARTCHAR uni224A +ENCODING 8778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +68 +B0 +00 +68 +B0 +00 +F8 +ENDCHAR +STARTCHAR uni224B +ENCODING 8779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni224C +ENCODING 8780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni224D +ENCODING 8781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +70 +00 +70 +88 +ENDCHAR +STARTCHAR uni224E +ENCODING 8782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +D8 +00 +D8 +20 +ENDCHAR +STARTCHAR uni224F +ENCODING 8783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +20 +D8 +00 +F8 +ENDCHAR +STARTCHAR uni2250 +ENCODING 8784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2251 +ENCODING 8785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +F8 +00 +F8 +00 +20 +ENDCHAR +STARTCHAR uni2252 +ENCODING 8786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +00 +F8 +00 +F8 +00 +08 +ENDCHAR +STARTCHAR uni2253 +ENCODING 8787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +00 +F8 +00 +F8 +00 +80 +ENDCHAR +STARTCHAR uni2254 +ENCODING 8788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +B8 +00 +B8 +ENDCHAR +STARTCHAR uni2255 +ENCODING 8789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +E8 +00 +E8 +ENDCHAR +STARTCHAR uni2256 +ENCODING 8790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +F8 +50 +F8 +ENDCHAR +STARTCHAR uni2257 +ENCODING 8791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +20 +50 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2258 +ENCODING 8792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +70 +88 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2259 +ENCODING 8793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +50 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225A +ENCODING 8794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +50 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225B +ENCODING 8795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +70 +F8 +70 +A8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225C +ENCODING 8796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +88 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225D +ENCODING 8797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 1 +BITMAP +4C +F8 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225E +ENCODING 8798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +D0 +A8 +A8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225F +ENCODING 8799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +10 +20 +00 +20 +F8 +00 +F8 +ENDCHAR +STARTCHAR notequal +ENCODING 8800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +10 +F8 +20 +F8 +40 +40 +ENDCHAR +STARTCHAR equivalence +ENCODING 8801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2262 +ENCODING 8802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +F8 +20 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2263 +ENCODING 8803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR lessequal +ENCODING 8804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +18 +60 +80 +60 +18 +00 +F8 +ENDCHAR +STARTCHAR greaterequal +ENCODING 8805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +30 +08 +30 +C0 +00 +F8 +ENDCHAR +STARTCHAR uni2266 +ENCODING 8806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +30 +C0 +30 +08 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2267 +ENCODING 8807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +60 +18 +60 +80 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2268 +ENCODING 8808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +08 +30 +C0 +30 +18 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2269 +ENCODING 8809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +80 +60 +18 +60 +90 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni226A +ENCODING 8810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +28 +50 +A0 +50 +28 +ENDCHAR +STARTCHAR uni226B +ENCODING 8811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +A0 +50 +28 +50 +A0 +ENDCHAR +STARTCHAR uni226C +ENCODING 8812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +A0 +40 +A0 +A0 +A0 +A0 +40 +A0 +ENDCHAR +STARTCHAR uni226D +ENCODING 8813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +20 +70 +A8 +20 +ENDCHAR +STARTCHAR uni226E +ENCODING 8814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +28 +30 +20 +60 +A0 +60 +20 +30 +28 +ENDCHAR +STARTCHAR uni226F +ENCODING 8815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A0 +60 +20 +30 +28 +30 +20 +60 +A0 +ENDCHAR +STARTCHAR uni2270 +ENCODING 8816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +38 +60 +A0 +60 +38 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2271 +ENCODING 8817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +E0 +30 +28 +30 +E0 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2272 +ENCODING 8818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +60 +80 +60 +18 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2273 +ENCODING 8819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C0 +30 +08 +30 +C0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2274 +ENCODING 8820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +38 +60 +A0 +60 +38 +20 +68 +B0 +20 +ENDCHAR +STARTCHAR uni2275 +ENCODING 8821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +E0 +30 +28 +30 +E0 +20 +68 +B0 +20 +ENDCHAR +STARTCHAR uni2276 +ENCODING 8822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +18 +60 +80 +60 +18 +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR uni2277 +ENCODING 8823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +C0 +30 +08 +30 +C0 +18 +60 +80 +60 +18 +ENDCHAR +STARTCHAR uni2278 +ENCODING 8824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +18 +70 +90 +60 +38 +E0 +30 +48 +70 +C0 +40 +ENDCHAR +STARTCHAR uni2279 +ENCODING 8825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +D0 +30 +18 +30 +E0 +38 +60 +C0 +60 +58 +40 +ENDCHAR +STARTCHAR uni227A +ENCODING 8826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +10 +E0 +10 +08 +ENDCHAR +STARTCHAR uni227B +ENCODING 8827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +80 +40 +38 +40 +80 +ENDCHAR +STARTCHAR uni227C +ENCODING 8828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +E0 +10 +E8 +10 +08 +ENDCHAR +STARTCHAR uni227D +ENCODING 8829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +38 +40 +B8 +40 +80 +ENDCHAR +STARTCHAR uni227E +ENCODING 8830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +10 +E0 +10 +08 +00 +68 +B0 +ENDCHAR +STARTCHAR uni227F +ENCODING 8831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +40 +38 +40 +80 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2280 +ENCODING 8832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +28 +30 +E0 +30 +28 +20 +ENDCHAR +STARTCHAR uni2281 +ENCODING 8833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A0 +60 +38 +60 +A0 +20 +ENDCHAR +STARTCHAR propersubset +ENCODING 8834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +78 +80 +80 +80 +78 +ENDCHAR +STARTCHAR propersuperset +ENCODING 8835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F0 +08 +08 +08 +F0 +ENDCHAR +STARTCHAR notsubset +ENCODING 8836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +78 +A0 +A0 +A0 +78 +40 +ENDCHAR +STARTCHAR uni2285 +ENCODING 8837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +F0 +28 +28 +28 +F0 +40 +ENDCHAR +STARTCHAR reflexsubset +ENCODING 8838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +80 +80 +80 +78 +00 +F8 +ENDCHAR +STARTCHAR reflexsuperset +ENCODING 8839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +08 +08 +08 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni2288 +ENCODING 8840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +78 +A0 +A0 +A0 +78 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2289 +ENCODING 8841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +F0 +28 +28 +28 +F0 +20 +F8 +20 +ENDCHAR +STARTCHAR uni228A +ENCODING 8842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +78 +80 +80 +80 +78 +10 +F8 +40 +ENDCHAR +STARTCHAR uni228B +ENCODING 8843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +F0 +08 +08 +08 +F0 +10 +F8 +40 +ENDCHAR +STARTCHAR uni228C +ENCODING 8844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +A8 +E8 +F8 +E8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni228D +ENCODING 8845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +A8 +88 +88 +70 +ENDCHAR +STARTCHAR uni228E +ENCODING 8846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +A8 +F8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni228F +ENCODING 8847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni2290 +ENCODING 8848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR uni2291 +ENCODING 8849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +80 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2292 +ENCODING 8850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +08 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2293 +ENCODING 8851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni2294 +ENCODING 8852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR circleplus +ENCODING 8853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni2296 +ENCODING 8854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR circlemultiply +ENCODING 8855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +D8 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni2298 +ENCODING 8856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +98 +A8 +C8 +70 +ENDCHAR +STARTCHAR uni2299 +ENCODING 8857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni229A +ENCODING 8858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni229B +ENCODING 8859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +D8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni229C +ENCODING 8860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +F8 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni229D +ENCODING 8861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni229E +ENCODING 8862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +A8 +F8 +A8 +F8 +ENDCHAR +STARTCHAR uni229F +ENCODING 8863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +88 +F8 +88 +F8 +ENDCHAR +STARTCHAR uni22A0 +ENCODING 8864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +D8 +A8 +D8 +F8 +ENDCHAR +STARTCHAR uni22A1 +ENCODING 8865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni22A2 +ENCODING 8866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +80 +F8 +80 +80 +80 +ENDCHAR +STARTCHAR uni22A3 +ENCODING 8867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +F8 +08 +08 +08 +ENDCHAR +STARTCHAR uni22A4 +ENCODING 8868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR perpendicular +ENCODING 8869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni22A6 +ENCODING 8870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +80 +80 +80 +E0 +80 +80 +80 +ENDCHAR +STARTCHAR uni22A7 +ENCODING 8871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +80 +80 +E0 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni22A8 +ENCODING 8872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +F8 +80 +F8 +80 +80 +ENDCHAR +STARTCHAR uni22A9 +ENCODING 8873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +A0 +B8 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni22AA +ENCODING 8874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A8 +A8 +A8 +AC +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni22AB +ENCODING 8875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +A0 +BC +A0 +BC +A0 +A0 +ENDCHAR +STARTCHAR uni22AC +ENCODING 8876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +90 +90 +F8 +A0 +A0 +80 +ENDCHAR +STARTCHAR uni22AD +ENCODING 8877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +90 +F8 +A0 +F8 +C0 +80 +ENDCHAR +STARTCHAR uni22AE +ENCODING 8878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +A8 +A8 +BC +B0 +B0 +A0 +ENDCHAR +STARTCHAR uni22AF +ENCODING 8879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A4 +A4 +BC +A8 +BC +B0 +B0 +ENDCHAR +STARTCHAR uni22B0 +ENCODING 8880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +08 +10 +E0 +10 +08 +10 +ENDCHAR +STARTCHAR uni22B1 +ENCODING 8881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +80 +40 +38 +40 +80 +40 +ENDCHAR +STARTCHAR uni22B2 +ENCODING 8882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +18 +68 +88 +68 +18 +ENDCHAR +STARTCHAR uni22B3 +ENCODING 8883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +C0 +B0 +88 +B0 +C0 +ENDCHAR +STARTCHAR uni22B4 +ENCODING 8884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +18 +68 +88 +68 +18 +00 +F8 +ENDCHAR +STARTCHAR uni22B5 +ENCODING 8885 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +B0 +88 +B0 +C0 +00 +F8 +ENDCHAR +STARTCHAR uni22B6 +ENCODING 8886 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +50 +B8 +50 +ENDCHAR +STARTCHAR uni22B7 +ENCODING 8887 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +50 +E8 +50 +ENDCHAR +STARTCHAR uni22B8 +ENCODING 8888 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +10 +E8 +10 +ENDCHAR +STARTCHAR uni22B9 +ENCODING 8889 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +D8 +20 +20 +ENDCHAR +STARTCHAR uni22BA +ENCODING 8890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni22BB +ENCODING 8891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +50 +20 +00 +F8 +ENDCHAR +STARTCHAR uni22BC +ENCODING 8892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +00 +20 +50 +50 +88 +ENDCHAR +STARTCHAR uni22BD +ENCODING 8893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +00 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni22BE +ENCODING 8894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +80 +C0 +A0 +F8 +ENDCHAR +STARTCHAR uni22BF +ENCODING 8895 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +18 +28 +48 +F8 +ENDCHAR +STARTCHAR uni22C0 +ENCODING 8896 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +50 +50 +50 +88 +88 +88 +ENDCHAR +STARTCHAR uni22C1 +ENCODING 8897 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +88 +88 +88 +50 +50 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni22C2 +ENCODING 8898 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +88 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni22C3 +ENCODING 8899 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +88 +88 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni22C4 +ENCODING 8900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +88 +50 +20 +20 +ENDCHAR +STARTCHAR dotmath +ENCODING 8901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 3 +BITMAP +80 +ENDCHAR +STARTCHAR uni22C6 +ENCODING 8902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni22C7 +ENCODING 8903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +88 +50 +F8 +50 +88 +20 +ENDCHAR +STARTCHAR uni22C8 +ENCODING 8904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +D8 +A8 +D8 +88 +ENDCHAR +STARTCHAR uni22C9 +ENCODING 8905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +D0 +A0 +D0 +88 +ENDCHAR +STARTCHAR uni22CA +ENCODING 8906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +58 +28 +58 +88 +ENDCHAR +STARTCHAR uni22CB +ENCODING 8907 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +80 +40 +20 +50 +88 +ENDCHAR +STARTCHAR uni22CC +ENCODING 8908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +10 +20 +50 +88 +ENDCHAR +STARTCHAR uni22CD +ENCODING 8909 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +B0 +68 +00 +F8 +ENDCHAR +STARTCHAR uni22CE +ENCODING 8910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni22CF +ENCODING 8911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +50 +50 +88 +ENDCHAR +STARTCHAR uni22D0 +ENCODING 8912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +98 +A0 +98 +40 +38 +ENDCHAR +STARTCHAR uni22D1 +ENCODING 8913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +10 +C8 +28 +C8 +10 +E0 +ENDCHAR +STARTCHAR uni22D2 +ENCODING 8914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni22D3 +ENCODING 8915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni22D4 +ENCODING 8916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni22D5 +ENCODING 8917 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +50 +F8 +50 +50 +F8 +50 +50 +ENDCHAR +STARTCHAR uni22D6 +ENCODING 8918 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +18 +60 +88 +60 +18 +ENDCHAR +STARTCHAR uni22D7 +ENCODING 8919 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +C0 +30 +88 +30 +C0 +ENDCHAR +STARTCHAR uni22D8 +ENCODING 8920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +28 +54 +A8 +54 +28 +14 +ENDCHAR +STARTCHAR uni22D9 +ENCODING 8921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +50 +A8 +54 +A8 +50 +A0 +ENDCHAR +STARTCHAR uni22DA +ENCODING 8922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +18 +60 +80 +60 +18 +00 +F8 +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR uni22DB +ENCODING 8923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +30 +08 +30 +C0 +00 +F8 +18 +60 +80 +60 +18 +ENDCHAR +STARTCHAR uni22DC +ENCODING 8924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +18 +60 +80 +60 +18 +ENDCHAR +STARTCHAR uni22DD +ENCODING 8925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR uni22DE +ENCODING 8926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +E8 +10 +E0 +10 +08 +ENDCHAR +STARTCHAR uni22DF +ENCODING 8927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +B8 +40 +38 +40 +80 +ENDCHAR +STARTCHAR uni22E0 +ENCODING 8928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +28 +30 +E0 +30 +E8 +30 +28 +20 +ENDCHAR +STARTCHAR uni22E1 +ENCODING 8929 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +A0 +60 +38 +60 +B8 +60 +A0 +20 +ENDCHAR +STARTCHAR uni22E2 +ENCODING 8930 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +F8 +A0 +A0 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR uni22E3 +ENCODING 8931 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +F8 +28 +28 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR uni22E4 +ENCODING 8932 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F8 +10 +F8 +40 +ENDCHAR +STARTCHAR uni22E5 +ENCODING 8933 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +F8 +10 +F8 +40 +ENDCHAR +STARTCHAR uni22E6 +ENCODING 8934 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +18 +60 +80 +60 +38 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni22E7 +ENCODING 8935 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +C0 +30 +08 +30 +E0 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni22E8 +ENCODING 8936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +08 +10 +E0 +10 +28 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni22E9 +ENCODING 8937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +80 +40 +38 +40 +A0 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni22EA +ENCODING 8938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +38 +68 +A8 +68 +38 +20 +20 +ENDCHAR +STARTCHAR uni22EB +ENCODING 8939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +E0 +B0 +A8 +B0 +E0 +20 +20 +ENDCHAR +STARTCHAR uni22EC +ENCODING 8940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +38 +68 +A8 +68 +38 +20 +F8 +20 +ENDCHAR +STARTCHAR uni22ED +ENCODING 8941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +E0 +B0 +A8 +B0 +E0 +20 +F8 +20 +ENDCHAR +STARTCHAR uni22EE +ENCODING 8942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 9 2 -1 +BITMAP +80 +00 +00 +00 +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni22EF +ENCODING 8943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +A8 +ENDCHAR +STARTCHAR uni22F0 +ENCODING 8944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +00 +00 +20 +00 +00 +80 +ENDCHAR +STARTCHAR uni22F1 +ENCODING 8945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +00 +00 +20 +00 +00 +08 +ENDCHAR +STARTCHAR uni22F2 +ENCODING 8946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +40 +F0 +40 +40 +38 +ENDCHAR +STARTCHAR uni22F3 +ENCODING 8947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +88 +F8 +88 +40 +38 +ENDCHAR +STARTCHAR uni22F4 +ENCODING 8948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +88 +F8 +88 +40 +38 +ENDCHAR +STARTCHAR uni22F5 +ENCODING 8949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +10 +00 +38 +40 +80 +F0 +80 +40 +38 +ENDCHAR +STARTCHAR uni22F6 +ENCODING 8950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +38 +40 +80 +F0 +80 +40 +38 +ENDCHAR +STARTCHAR uni22F7 +ENCODING 8951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 1 +BITMAP +F0 +00 +70 +80 +E0 +80 +70 +ENDCHAR +STARTCHAR uni22F8 +ENCODING 8952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +38 +40 +80 +F0 +80 +40 +38 +00 +F8 +ENDCHAR +STARTCHAR uni22F9 +ENCODING 8953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +F0 +80 +F0 +40 +38 +ENDCHAR +STARTCHAR uni22FA +ENCODING 8954 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +10 +10 +78 +10 +10 +E0 +ENDCHAR +STARTCHAR uni22FB +ENCODING 8955 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +10 +88 +F8 +88 +10 +E0 +ENDCHAR +STARTCHAR uni22FC +ENCODING 8956 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +E0 +10 +90 +F0 +90 +10 +E0 +ENDCHAR +STARTCHAR uni22FD +ENCODING 8957 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +E0 +10 +08 +78 +08 +10 +E0 +ENDCHAR +STARTCHAR uni22FE +ENCODING 8958 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 1 +BITMAP +F0 +00 +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR uni22FF +ENCODING 8959 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F8 +80 +80 +F8 +ENDCHAR +STARTCHAR uni2300 +ENCODING 8960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +68 +90 +A8 +48 +B0 +ENDCHAR +STARTCHAR uni2301 +ENCODING 8961 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +30 +A8 +60 +20 +ENDCHAR +STARTCHAR house +ENCODING 8962 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2303 +ENCODING 8963 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +20 +50 +88 +ENDCHAR +STARTCHAR uni2304 +ENCODING 8964 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 0 +BITMAP +88 +50 +20 +ENDCHAR +STARTCHAR uni2305 +ENCODING 8965 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +00 +20 +50 +88 +ENDCHAR +STARTCHAR uni2306 +ENCODING 8966 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +F8 +00 +20 +50 +88 +ENDCHAR +STARTCHAR uni2307 +ENCODING 8967 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 9 2 0 +BITMAP +40 +40 +80 +80 +40 +40 +80 +80 +40 +ENDCHAR +STARTCHAR uni2308 +ENCODING 8968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2309 +ENCODING 8969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni230A +ENCODING 8970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni230B +ENCODING 8971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni230C +ENCODING 8972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 2 +BITMAP +60 +80 +80 +ENDCHAR +STARTCHAR uni230D +ENCODING 8973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 2 +BITMAP +C0 +20 +20 +ENDCHAR +STARTCHAR uni230E +ENCODING 8974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 4 +BITMAP +80 +80 +60 +ENDCHAR +STARTCHAR uni230F +ENCODING 8975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 3 +BITMAP +20 +20 +C0 +ENDCHAR +STARTCHAR revlogicalnot +ENCODING 8976 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +80 +80 +ENDCHAR +STARTCHAR uni2311 +ENCODING 8977 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +70 +50 +70 +88 +ENDCHAR +STARTCHAR uni2312 +ENCODING 8978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +70 +88 +88 +88 +ENDCHAR +STARTCHAR uni2313 +ENCODING 8979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +70 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2314 +ENCODING 8980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +70 +88 +50 +20 +ENDCHAR +STARTCHAR uni2315 +ENCODING 8981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +C8 +F0 +ENDCHAR +STARTCHAR uni2316 +ENCODING 8982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +F8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2317 +ENCODING 8983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +50 +F8 +50 +50 +F8 +50 +50 +ENDCHAR +STARTCHAR uni2318 +ENCODING 8984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +A8 +70 +20 +70 +A8 +50 +ENDCHAR +STARTCHAR uni2319 +ENCODING 8985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +80 +80 +F8 +ENDCHAR +STARTCHAR uni231A +ENCODING 8986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +50 +50 +70 +A8 +B8 +88 +70 +50 +50 +70 +ENDCHAR +STARTCHAR uni231B +ENCODING 8987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +88 +70 +20 +20 +50 +A8 +F8 +ENDCHAR +STARTCHAR uni231C +ENCODING 8988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 3 +BITMAP +E0 +80 +80 +ENDCHAR +STARTCHAR uni231D +ENCODING 8989 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 4 +BITMAP +E0 +20 +20 +ENDCHAR +STARTCHAR uni231E +ENCODING 8990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 2 +BITMAP +80 +80 +E0 +ENDCHAR +STARTCHAR uni231F +ENCODING 8991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 2 +BITMAP +20 +20 +E0 +ENDCHAR +STARTCHAR integraltp +ENCODING 8992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 2 -2 +BITMAP +40 +A0 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR integralbt +ENCODING 8993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 0 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2322 +ENCODING 8994 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni2323 +ENCODING 8995 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni2324 +ENCODING 8996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni2325 +ENCODING 8997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +18 +C0 +20 +18 +ENDCHAR +STARTCHAR uni2326 +ENCODING 8998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +F0 +D8 +A4 +D8 +F0 +ENDCHAR +STARTCHAR uni2327 +ENCODING 8999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +D8 +A8 +D8 +F8 +ENDCHAR +STARTCHAR uni2328 +ENCODING 9000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +FC +84 +AC +84 +AC +84 +AC +84 +AC +84 +FC +ENDCHAR +STARTCHAR uni232B +ENCODING 9003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +3C +6C +94 +6C +3C +ENDCHAR +STARTCHAR uni232C +ENCODING 9004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +D8 +C8 +D8 +70 +20 +ENDCHAR +STARTCHAR uni232D +ENCODING 9005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +60 +D8 +30 +20 +40 +ENDCHAR +STARTCHAR uni232E +ENCODING 9006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +38 +44 +5C +64 +38 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni232F +ENCODING 9007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +00 +F8 +00 +70 +ENDCHAR +STARTCHAR uni2330 +ENCODING 9008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +48 +FC +48 +48 +90 +90 +90 +F0 +ENDCHAR +STARTCHAR uni2331 +ENCODING 9009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 1 +BITMAP +40 +40 +A8 +FC +A8 +40 +40 +ENDCHAR +STARTCHAR uni2332 +ENCODING 9010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 1 +BITMAP +80 +E0 +98 +FC +98 +E0 +80 +ENDCHAR +STARTCHAR uni2333 +ENCODING 9011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +80 +C0 +A0 +90 +F8 +ENDCHAR +STARTCHAR uni2334 +ENCODING 9012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +84 +84 +84 +84 +FC +ENDCHAR +STARTCHAR uni2335 +ENCODING 9013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 0 +BITMAP +88 +50 +20 +ENDCHAR +STARTCHAR uni2336 +ENCODING 9014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni2337 +ENCODING 9015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +F0 +90 +90 +90 +90 +90 +90 +90 +90 +F0 +ENDCHAR +STARTCHAR uni2338 +ENCODING 9016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +88 +F8 +88 +F8 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2339 +ENCODING 9017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +88 +F8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni233A +ENCODING 9018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +D8 +88 +D8 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni233B +ENCODING 9019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +88 +A8 +D8 +A8 +88 +88 +F8 +ENDCHAR +STARTCHAR uni233C +ENCODING 9020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +F8 +D8 +88 +D8 +F8 +88 +F8 +ENDCHAR +STARTCHAR uni233D +ENCODING 9021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni233E +ENCODING 9022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni233F +ENCODING 9023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +10 +F8 +40 +40 +80 +ENDCHAR +STARTCHAR uni2340 +ENCODING 9024 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +40 +F8 +10 +10 +08 +ENDCHAR +STARTCHAR uni2341 +ENCODING 9025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +98 +98 +A8 +A8 +A8 +C8 +C8 +F8 +ENDCHAR +STARTCHAR uni2342 +ENCODING 9026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +C8 +C8 +A8 +A8 +A8 +98 +98 +F8 +ENDCHAR +STARTCHAR uni2343 +ENCODING 9027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +98 +A8 +C8 +A8 +98 +88 +F8 +ENDCHAR +STARTCHAR uni2344 +ENCODING 9028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +C8 +A8 +98 +A8 +C8 +88 +F8 +ENDCHAR +STARTCHAR uni2345 +ENCODING 9029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +10 +50 +F8 +50 +10 +10 +ENDCHAR +STARTCHAR uni2346 +ENCODING 9030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +50 +F8 +50 +40 +40 +ENDCHAR +STARTCHAR uni2347 +ENCODING 9031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +C8 +F8 +C8 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2348 +ENCODING 9032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +98 +F8 +98 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2349 +ENCODING 9033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +70 +C8 +A8 +98 +70 +08 +08 +ENDCHAR +STARTCHAR uni234A +ENCODING 9034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +20 +20 +20 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni234B +ENCODING 9035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +20 +20 +70 +70 +A8 +A8 +F8 +20 +20 +ENDCHAR +STARTCHAR uni234C +ENCODING 9036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +88 +D8 +D8 +A8 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni234D +ENCODING 9037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +A8 +D8 +D8 +F8 +88 +F8 +ENDCHAR +STARTCHAR uni234E +ENCODING 9038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +F8 +ENDCHAR +STARTCHAR uni234F +ENCODING 9039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +A8 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2350 +ENCODING 9040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A8 +F8 +A8 +A8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni2351 +ENCODING 9041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2352 +ENCODING 9042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +20 +F8 +A8 +70 +70 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2353 +ENCODING 9043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +A8 +D8 +D8 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2354 +ENCODING 9044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +F8 +D8 +D8 +A8 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2355 +ENCODING 9045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +20 +20 +70 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2356 +ENCODING 9046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +20 +F8 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2357 +ENCODING 9047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A8 +A8 +A8 +A8 +A8 +F8 +A8 +F8 +ENDCHAR +STARTCHAR uni2358 +ENCODING 9048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +00 +00 +00 +00 +00 +F8 +ENDCHAR +STARTCHAR uni2359 +ENCODING 9049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +50 +50 +88 +88 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni235A +ENCODING 9050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +50 +88 +50 +20 +00 +F8 +ENDCHAR +STARTCHAR uni235B +ENCODING 9051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +50 +20 +00 +00 +00 +F8 +ENDCHAR +STARTCHAR uni235C +ENCODING 9052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +70 +88 +88 +88 +70 +00 +00 +F8 +ENDCHAR +STARTCHAR uni235D +ENCODING 9053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +88 +88 +ENDCHAR +STARTCHAR uni235E +ENCODING 9054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A8 +A8 +A8 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni235F +ENCODING 9055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +A8 +F8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2360 +ENCODING 9056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +88 +88 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2361 +ENCODING 9057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2362 +ENCODING 9058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +F8 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2363 +ENCODING 9059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +50 +00 +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni2364 +ENCODING 9060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 2 +BITMAP +A0 +00 +00 +00 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2365 +ENCODING 9061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +50 +00 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2366 +ENCODING 9062 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2367 +ENCODING 9063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +10 +78 +90 +90 +90 +78 +10 +10 +ENDCHAR +STARTCHAR uni2368 +ENCODING 9064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 3 +BITMAP +50 +00 +00 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2369 +ENCODING 9065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +50 +00 +00 +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR uni236A +ENCODING 9066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +F8 +00 +00 +30 +20 +40 +ENDCHAR +STARTCHAR uni236B +ENCODING 9067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +F8 +88 +88 +7C +D8 +A0 +20 +ENDCHAR +STARTCHAR uni236C +ENCODING 9068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +E8 +B8 +88 +70 +ENDCHAR +STARTCHAR uni236D +ENCODING 9069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +68 +B0 +20 +20 +20 +ENDCHAR +STARTCHAR uni236E +ENCODING 9070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +20 +70 +20 +00 +30 +F8 +40 +ENDCHAR +STARTCHAR uni236F +ENCODING 9071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +98 +F8 +A8 +F8 +C8 +88 +F8 +ENDCHAR +STARTCHAR uni2370 +ENCODING 9072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A8 +D8 +98 +A8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2371 +ENCODING 9073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +B8 +E8 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2372 +ENCODING 9074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +50 +50 +88 +E8 +B8 +88 +ENDCHAR +STARTCHAR uni2373 +ENCODING 9075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 2 0 +BITMAP +80 +80 +80 +80 +80 +40 +ENDCHAR +STARTCHAR uni2374 +ENCODING 9076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR uni2375 +ENCODING 9077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni2376 +ENCODING 9078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +68 +90 +90 +90 +68 +00 +F8 +ENDCHAR +STARTCHAR uni2377 +ENCODING 9079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +88 +60 +88 +70 +00 +F8 +ENDCHAR +STARTCHAR uni2378 +ENCODING 9080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +20 +20 +20 +10 +00 +F8 +ENDCHAR +STARTCHAR uni2379 +ENCODING 9081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +50 +88 +A8 +A8 +50 +00 +F8 +ENDCHAR +STARTCHAR uni237A +ENCODING 9082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni237B +ENCODING 9083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +04 +04 +08 +3C +10 +90 +60 +20 +ENDCHAR +STARTCHAR uni237C +ENCODING 9084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +60 +40 +C0 +60 +40 +C0 +60 +50 +FC +C0 +E0 +ENDCHAR +STARTCHAR uni237D +ENCODING 9085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 0 +BITMAP +CC +48 +78 +ENDCHAR +STARTCHAR uni237E +ENCODING 9086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +88 +F8 +50 +D8 +ENDCHAR +STARTCHAR uni237F +ENCODING 9087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +F8 +F8 +F8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2380 +ENCODING 9088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +08 +78 +88 +78 +00 +88 +50 +20 +ENDCHAR +STARTCHAR uni2381 +ENCODING 9089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +60 +10 +70 +90 +74 +00 +FC +ENDCHAR +STARTCHAR uni2382 +ENCODING 9090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +48 +24 +6C +B4 +6C +00 +6C +ENDCHAR +STARTCHAR uni2383 +ENCODING 9091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +84 +A4 +10 +B4 +50 +B4 +84 +ENDCHAR +STARTCHAR uni2384 +ENCODING 9092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +F8 +D4 +D4 +D4 +F8 +ENDCHAR +STARTCHAR uni2385 +ENCODING 9093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +F8 +A8 +A8 +A8 +A8 +F8 +20 +ENDCHAR +STARTCHAR uni2386 +ENCODING 9094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +20 +50 +88 +24 +F4 +24 +88 +50 +20 +ENDCHAR +STARTCHAR uni2387 +ENCODING 9095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +08 +1C +28 +40 +9C +ENDCHAR +STARTCHAR uni2388 +ENCODING 9096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +A8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2389 +ENCODING 9097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +84 +84 +CC +B4 +78 +ENDCHAR +STARTCHAR uni238A +ENCODING 9098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +FC +CC +B4 +84 +78 +ENDCHAR +STARTCHAR uni238B +ENCODING 9099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +E8 +C4 +A4 +14 +84 +78 +ENDCHAR +STARTCHAR uni238C +ENCODING 9100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F0 +C8 +00 +50 +A8 +50 +ENDCHAR +STARTCHAR uni238D +ENCODING 9101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +50 +50 +50 +D8 +ENDCHAR +STARTCHAR uni238E +ENCODING 9102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +78 +50 +50 +50 +F0 +ENDCHAR +STARTCHAR uni238F +ENCODING 9103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +F8 +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni2390 +ENCODING 9104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +50 +88 +50 +20 +F8 +ENDCHAR +STARTCHAR uni2391 +ENCODING 9105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +F8 +20 +50 +F8 +50 +20 +ENDCHAR +STARTCHAR uni2392 +ENCODING 9106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +50 +F8 +50 +20 +F8 +ENDCHAR +STARTCHAR uni2393 +ENCODING 9107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +F8 +00 +A8 +ENDCHAR +STARTCHAR uni2394 +ENCODING 9108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +48 +84 +48 +30 +ENDCHAR +STARTCHAR uni2395 +ENCODING 9109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +88 +88 +88 +88 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2396 +ENCODING 9110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 1 +BITMAP +F0 +E0 +E0 +C0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni2397 +ENCODING 9111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +A8 +00 +BC +24 +84 +24 +FC +24 +84 +24 +3C +ENDCHAR +STARTCHAR uni2398 +ENCODING 9112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +F8 +80 +D4 +80 +84 +90 +FC +90 +84 +80 +54 +ENDCHAR +STARTCHAR uni2399 +ENCODING 9113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +38 +68 +48 +CC +CC +CC +FC +FC +ENDCHAR +STARTCHAR uni239A +ENCODING 9114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +78 +A4 +D4 +AC +94 +78 +ENDCHAR +STARTCHAR uni239B +ENCODING 9115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +20 +40 +40 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni239C +ENCODING 9116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 1 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni239D +ENCODING 9117 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +40 +40 +20 +ENDCHAR +STARTCHAR uni239E +ENCODING 9118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +80 +40 +40 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni239F +ENCODING 9119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 3 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A0 +ENCODING 9120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +40 +40 +80 +ENDCHAR +STARTCHAR uni23A1 +ENCODING 9121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A2 +ENCODING 9122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 1 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A3 +ENCODING 9123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni23A4 +ENCODING 9124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23A5 +ENCODING 9125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 3 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A6 +ENCODING 9126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni23A7 +ENCODING 9127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 2 -2 +BITMAP +60 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A8 +ENCODING 9128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +C0 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23A9 +ENCODING 9129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +60 +ENDCHAR +STARTCHAR uni23AA +ENCODING 9130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23AB +ENCODING 9131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 0 -2 +BITMAP +C0 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23AC +ENCODING 9132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +60 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23AD +ENCODING 9133 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 0 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +C0 +ENDCHAR +STARTCHAR uni23AE +ENCODING 9134 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23AF +ENCODING 9135 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni23B0 +ENCODING 9136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +18 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +C0 +ENDCHAR +STARTCHAR uni23B1 +ENCODING 9137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +18 +ENDCHAR +STARTCHAR uni23B2 +ENCODING 9138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +FC +80 +80 +40 +40 +40 +20 +20 +20 +10 +10 +ENDCHAR +STARTCHAR uni23B3 +ENCODING 9139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +10 +10 +20 +20 +20 +40 +40 +40 +80 +80 +FC +ENDCHAR +STARTCHAR uni23B4 +ENCODING 9140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +F8 +88 +ENDCHAR +STARTCHAR uni23B5 +ENCODING 9141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 0 +BITMAP +88 +F8 +ENDCHAR +STARTCHAR uni23B6 +ENCODING 9142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +88 +F8 +00 +00 +F8 +88 +ENDCHAR +STARTCHAR uni23B7 +ENCODING 9143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 0 0 +BITMAP +20 +20 +20 +20 +A0 +A0 +60 +60 +20 +20 +ENDCHAR +STARTCHAR uni23B8 +ENCODING 9144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23B9 +ENCODING 9145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 5 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23BA +ENCODING 9146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 9 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BB +ENCODING 9147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 6 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BC +ENCODING 9148 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 1 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BD +ENCODING 9149 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 -2 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BE +ENCODING 9150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23BF +ENCODING 9151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni23C0 +ENCODING 9152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni23C1 +ENCODING 9153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni23C2 +ENCODING 9154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +F8 +ENDCHAR +STARTCHAR uni23C3 +ENCODING 9155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +70 +70 +A8 +F8 +20 +20 +ENDCHAR +STARTCHAR uni23C4 +ENCODING 9156 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +20 +20 +70 +70 +A8 +F8 +20 +20 +ENDCHAR +STARTCHAR uni23C5 +ENCODING 9157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +70 +70 +A8 +F8 +20 +F8 +ENDCHAR +STARTCHAR uni23C6 +ENCODING 9158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +68 +B0 +20 +20 +20 +ENDCHAR +STARTCHAR uni23C7 +ENCODING 9159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +20 +20 +68 +B0 +20 +20 +20 +ENDCHAR +STARTCHAR uni23C8 +ENCODING 9160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +68 +B0 +20 +20 +F8 +ENDCHAR +STARTCHAR uni23C9 +ENCODING 9161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23CA +ENCODING 9162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni23CB +ENCODING 9163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +08 +08 +08 +08 +08 +08 +08 +ENDCHAR +STARTCHAR uni23CC +ENCODING 9164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +08 +08 +08 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR uni23CD +ENCODING 9165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +A8 +A8 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni23CE +ENCODING 9166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +18 +18 +18 +58 +F8 +F0 +40 +ENDCHAR +STARTCHAR uni23CF +ENCODING 9167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +70 +F8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni23D0 +ENCODING 9168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23D1 +ENCODING 9169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni23D2 +ENCODING 9170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +F8 +00 +88 +70 +ENDCHAR +STARTCHAR uni23D3 +ENCODING 9171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +88 +70 +00 +F8 +ENDCHAR +STARTCHAR uni23D4 +ENCODING 9172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +00 +B4 +48 +ENDCHAR +STARTCHAR uni23D5 +ENCODING 9173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +B4 +48 +00 +FC +ENDCHAR +STARTCHAR uni23D6 +ENCODING 9174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 2 +BITMAP +B4 +48 +ENDCHAR +STARTCHAR uni23D7 +ENCODING 9175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +08 +08 +F8 +ENDCHAR +STARTCHAR uni23D8 +ENCODING 9176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +88 +88 +F8 +ENDCHAR +STARTCHAR uni23D9 +ENCODING 9177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni23DA +ENCODING 9178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +20 +F8 +00 +70 +00 +20 +ENDCHAR +STARTCHAR uni23DB +ENCODING 9179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +78 +48 +FC +48 +78 +ENDCHAR +STARTCHAR uni23DC +ENCODING 9180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 0 +BITMAP +78 +84 +ENDCHAR +STARTCHAR uni23DD +ENCODING 9181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 5 +BITMAP +84 +78 +ENDCHAR +STARTCHAR uni23DE +ENCODING 9182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 0 +BITMAP +30 +CC +84 +ENDCHAR +STARTCHAR uni23DF +ENCODING 9183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 4 +BITMAP +84 +CC +30 +ENDCHAR +STARTCHAR uni23E0 +ENCODING 9184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 0 +BITMAP +78 +84 +ENDCHAR +STARTCHAR uni23E1 +ENCODING 9185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 5 +BITMAP +84 +78 +ENDCHAR +STARTCHAR uni23E2 +ENCODING 9186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +E0 +90 +88 +84 +FC +ENDCHAR +STARTCHAR uni23E3 +ENCODING 9187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 1 +BITMAP +30 +78 +CC +84 +CC +78 +30 +ENDCHAR +STARTCHAR uni23E4 +ENCODING 9188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni23E5 +ENCODING 9189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 2 +BITMAP +7C +44 +88 +F8 +ENDCHAR +STARTCHAR uni23E6 +ENCODING 9190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +A0 +FC +14 +08 +ENDCHAR +STARTCHAR uni23E7 +ENCODING 9191 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +A4 +A8 +B0 +30 +48 +84 +ENDCHAR +STARTCHAR uni2400 +ENCODING 9216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +90 +D0 +B0 +90 +50 +50 +70 +20 +20 +20 +38 +ENDCHAR +STARTCHAR uni2401 +ENCODING 9217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +60 +80 +40 +20 +E0 +50 +50 +20 +28 +38 +28 +ENDCHAR +STARTCHAR uni2402 +ENCODING 9218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +60 +80 +40 +20 +C0 +70 +20 +20 +28 +10 +28 +ENDCHAR +STARTCHAR uni2403 +ENCODING 9219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +E0 +80 +C0 +80 +E0 +70 +20 +20 +28 +10 +28 +ENDCHAR +STARTCHAR uni2404 +ENCODING 9220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +E0 +80 +C0 +80 +E0 +50 +50 +20 +38 +10 +10 +ENDCHAR +STARTCHAR uni2405 +ENCODING 9221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +E0 +80 +C0 +80 +E8 +68 +58 +48 +10 +28 +28 +18 +ENDCHAR +STARTCHAR uni2406 +ENCODING 9222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +40 +A0 +E0 +A0 +30 +40 +30 +00 +28 +30 +28 +ENDCHAR +STARTCHAR uni2407 +ENCODING 9223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +C0 +A0 +F0 +40 +60 +40 +70 +20 +20 +38 +ENDCHAR +STARTCHAR uni2408 +ENCODING 9224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +C0 +A0 +C0 +A0 +C0 +18 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni2409 +ENCODING 9225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A0 +A0 +E0 +A0 +B8 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni240A +ENCODING 9226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +80 +E0 +00 +38 +20 +30 +20 +ENDCHAR +STARTCHAR uni240B +ENCODING 9227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A0 +A0 +A0 +40 +78 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni240C +ENCODING 9228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +E0 +80 +C0 +B8 +A0 +30 +20 +20 +ENDCHAR +STARTCHAR uni240D +ENCODING 9229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +60 +80 +80 +80 +70 +28 +30 +28 +28 +ENDCHAR +STARTCHAR uni240E +ENCODING 9230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +60 +80 +40 +20 +D0 +28 +28 +28 +10 +ENDCHAR +STARTCHAR uni240F +ENCODING 9231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +60 +80 +40 +20 +C0 +38 +10 +10 +38 +ENDCHAR +STARTCHAR uni2410 +ENCODING 9232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +40 +40 +70 +38 +20 +30 +20 +38 +ENDCHAR +STARTCHAR uni2411 +ENCODING 9233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +30 +40 +30 +00 +10 +30 +10 +38 +ENDCHAR +STARTCHAR uni2412 +ENCODING 9234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +30 +40 +30 +00 +30 +08 +10 +38 +ENDCHAR +STARTCHAR uni2413 +ENCODING 9235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +30 +40 +30 +30 +08 +10 +08 +30 +ENDCHAR +STARTCHAR uni2414 +ENCODING 9236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +30 +40 +30 +00 +20 +28 +38 +08 +ENDCHAR +STARTCHAR uni2415 +ENCODING 9237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +90 +D0 +B0 +00 +20 +50 +70 +50 +00 +28 +30 +28 +ENDCHAR +STARTCHAR uni2416 +ENCODING 9238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +60 +80 +40 +20 +C0 +50 +50 +20 +20 +48 +68 +58 +ENDCHAR +STARTCHAR uni2417 +ENCODING 9239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +E0 +80 +C0 +80 +E0 +70 +20 +38 +34 +18 +14 +18 +ENDCHAR +STARTCHAR uni2418 +ENCODING 9240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +60 +80 +60 +00 +20 +50 +70 +50 +00 +68 +58 +48 +ENDCHAR +STARTCHAR uni2419 +ENCODING 9241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 -1 +BITMAP +E0 +80 +C0 +80 +E0 +00 +50 +70 +50 +50 +ENDCHAR +STARTCHAR uni241A +ENCODING 9242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +60 +80 +40 +E0 +50 +50 +20 +38 +14 +18 +14 +18 +ENDCHAR +STARTCHAR uni241B +ENCODING 9243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +E0 +80 +C0 +80 +F0 +40 +20 +70 +00 +18 +20 +18 +ENDCHAR +STARTCHAR uni241C +ENCODING 9244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +E0 +80 +C0 +80 +98 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni241D +ENCODING 9245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +80 +B0 +90 +60 +18 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni241E +ENCODING 9246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +A0 +C0 +A0 +A0 +18 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni241F +ENCODING 9247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +90 +90 +90 +60 +18 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni2420 +ENCODING 9248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +60 +80 +40 +20 +C0 +30 +28 +30 +20 +ENDCHAR +STARTCHAR uni2421 +ENCODING 9249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +C0 +A0 +A0 +F0 +40 +60 +40 +70 +20 +20 +38 +ENDCHAR +STARTCHAR uni2422 +ENCODING 9250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +60 +40 +F0 +48 +48 +48 +70 +ENDCHAR +STARTCHAR uni2423 +ENCODING 9251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 0 +BITMAP +88 +F8 +ENDCHAR +STARTCHAR uni2424 +ENCODING 9252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +D0 +B0 +90 +B0 +20 +20 +38 +ENDCHAR +STARTCHAR uni2425 +ENCODING 9253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +48 +90 +A0 +28 +48 +90 +90 +ENDCHAR +STARTCHAR uni2426 +ENCODING 9254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +80 +40 +20 +20 +00 +20 +ENDCHAR +STARTCHAR uni2440 +ENCODING 9280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +38 +28 +28 +20 +20 +A0 +A0 +E0 +ENDCHAR +STARTCHAR uni2441 +ENCODING 9281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +08 +08 +08 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni2442 +ENCODING 9282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +88 +88 +88 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2443 +ENCODING 9283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +F8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni2444 +ENCODING 9284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +A8 +A8 +20 +20 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni2445 +ENCODING 9285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +88 +D8 +A8 +D8 +88 +ENDCHAR +STARTCHAR uni2446 +ENCODING 9286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +18 +D8 +C0 +C0 +D8 +18 +18 +ENDCHAR +STARTCHAR uni2447 +ENCODING 9287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +08 +08 +20 +20 +80 +80 +80 +ENDCHAR +STARTCHAR uni2448 +ENCODING 9288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +0C +AC +AC +AC +A0 +A0 +ENDCHAR +STARTCHAR uni2449 +ENCODING 9289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni244A +ENCODING 9290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +A0 +A0 +50 +50 +28 +28 +14 +14 +ENDCHAR +STARTCHAR uni2460 +ENCODING 9312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +E8 +A8 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni2461 +ENCODING 9313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +98 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni2462 +ENCODING 9314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +E8 +98 +A8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2463 +ENCODING 9315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +C8 +C8 +E8 +F8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2464 +ENCODING 9316 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +F8 +C8 +E8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2465 +ENCODING 9317 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +B8 +C8 +E8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2466 +ENCODING 9318 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +F8 +98 +A8 +A8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2467 +ENCODING 9319 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2468 +ENCODING 9320 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +B8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2469 +ENCODING 9321 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +EC +EC +EC +D4 +84 +78 +ENDCHAR +STARTCHAR uni246A +ENCODING 9322 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +D4 +D4 +D4 +D4 +84 +78 +ENDCHAR +STARTCHAR uni246B +ENCODING 9323 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +CC +CC +D4 +DC +84 +78 +ENDCHAR +STARTCHAR uni246C +ENCODING 9324 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +CC +D4 +CC +D4 +84 +78 +ENDCHAR +STARTCHAR uni246D +ENCODING 9325 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +D4 +DC +DC +CC +84 +78 +ENDCHAR +STARTCHAR uni246E +ENCODING 9326 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +DC +D4 +DC +CC +DC +84 +78 +ENDCHAR +STARTCHAR uni246F +ENCODING 9327 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +D4 +DC +D4 +CC +84 +78 +ENDCHAR +STARTCHAR uni2470 +ENCODING 9328 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +DC +CC +D4 +D4 +D4 +84 +78 +ENDCHAR +STARTCHAR uni2471 +ENCODING 9329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +CC +D4 +CC +D4 +CC +84 +78 +ENDCHAR +STARTCHAR uni2472 +ENCODING 9330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +CC +D4 +CC +C4 +DC +84 +78 +ENDCHAR +STARTCHAR uni2473 +ENCODING 9331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +EC +B4 +B4 +D4 +EC +84 +78 +ENDCHAR +STARTCHAR uni2474 +ENCODING 9332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +A8 +E8 +A8 +A8 +F8 +88 +50 +ENDCHAR +STARTCHAR uni2475 +ENCODING 9333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +A8 +D8 +98 +A8 +F8 +88 +50 +ENDCHAR +STARTCHAR uni2476 +ENCODING 9334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +E8 +98 +A8 +98 +E8 +88 +50 +ENDCHAR +STARTCHAR uni2477 +ENCODING 9335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +C8 +C8 +E8 +F8 +A8 +88 +50 +ENDCHAR +STARTCHAR uni2478 +ENCODING 9336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +F8 +C8 +E8 +98 +E8 +88 +50 +ENDCHAR +STARTCHAR uni2479 +ENCODING 9337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +B8 +C8 +E8 +D8 +A8 +88 +50 +ENDCHAR +STARTCHAR uni247A +ENCODING 9338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +F8 +98 +A8 +A8 +A8 +88 +50 +ENDCHAR +STARTCHAR uni247B +ENCODING 9339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +A8 +D8 +A8 +D8 +A8 +88 +50 +ENDCHAR +STARTCHAR uni247C +ENCODING 9340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +A8 +D8 +B8 +98 +E8 +88 +50 +ENDCHAR +STARTCHAR uni247D +ENCODING 9341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +EC +EC +EC +D4 +84 +48 +ENDCHAR +STARTCHAR uni247E +ENCODING 9342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +D4 +D4 +D4 +D4 +84 +48 +ENDCHAR +STARTCHAR uni247F +ENCODING 9343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +CC +CC +D4 +DC +84 +48 +ENDCHAR +STARTCHAR uni2480 +ENCODING 9344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +CC +D4 +CC +D4 +84 +48 +ENDCHAR +STARTCHAR uni2481 +ENCODING 9345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +D4 +DC +DC +CC +84 +48 +ENDCHAR +STARTCHAR uni2482 +ENCODING 9346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +DC +D4 +DC +CC +DC +84 +48 +ENDCHAR +STARTCHAR uni2483 +ENCODING 9347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +D4 +DC +D4 +CC +84 +48 +ENDCHAR +STARTCHAR uni2484 +ENCODING 9348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +DC +CC +D4 +D4 +D4 +84 +48 +ENDCHAR +STARTCHAR uni2485 +ENCODING 9349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +CC +D4 +CC +D4 +CC +84 +48 +ENDCHAR +STARTCHAR uni2486 +ENCODING 9350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +CC +D4 +CC +C4 +DC +84 +48 +ENDCHAR +STARTCHAR uni2487 +ENCODING 9351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +EC +B4 +B4 +D4 +EC +84 +48 +ENDCHAR +STARTCHAR uni2488 +ENCODING 9352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 1 0 +BITMAP +40 +C0 +40 +40 +40 +40 +E8 +ENDCHAR +STARTCHAR uni2489 +ENCODING 9353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +60 +10 +10 +20 +20 +40 +F4 +ENDCHAR +STARTCHAR uni248A +ENCODING 9354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +60 +90 +10 +60 +10 +10 +E4 +ENDCHAR +STARTCHAR uni248B +ENCODING 9355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +40 +40 +90 +90 +F8 +10 +14 +ENDCHAR +STARTCHAR uni248C +ENCODING 9356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +F0 +80 +E0 +10 +10 +90 +64 +ENDCHAR +STARTCHAR uni248D +ENCODING 9357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +40 +80 +E0 +90 +90 +64 +ENDCHAR +STARTCHAR uni248E +ENCODING 9358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +F8 +08 +08 +10 +10 +20 +24 +ENDCHAR +STARTCHAR uni248F +ENCODING 9359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +60 +90 +90 +60 +90 +90 +64 +ENDCHAR +STARTCHAR uni2490 +ENCODING 9360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +60 +90 +90 +70 +10 +10 +64 +ENDCHAR +STARTCHAR uni2491 +ENCODING 9361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +A8 +A8 +A8 +A8 +A8 +94 +ENDCHAR +STARTCHAR uni2492 +ENCODING 9362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A8 +ENDCHAR +STARTCHAR uni2493 +ENCODING 9363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +B0 +88 +88 +90 +A0 +A0 +B4 +ENDCHAR +STARTCHAR uni2494 +ENCODING 9364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +B0 +88 +88 +90 +88 +88 +B4 +ENDCHAR +STARTCHAR uni2495 +ENCODING 9365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +A0 +B0 +B0 +B8 +90 +94 +ENDCHAR +STARTCHAR uni2496 +ENCODING 9366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +B8 +A0 +A0 +90 +90 +90 +A4 +ENDCHAR +STARTCHAR uni2497 +ENCODING 9367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +88 +90 +A0 +B0 +A8 +A8 +94 +ENDCHAR +STARTCHAR uni2498 +ENCODING 9368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +B8 +88 +88 +88 +90 +90 +94 +ENDCHAR +STARTCHAR uni2499 +ENCODING 9369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +A8 +A8 +90 +A8 +A8 +94 +ENDCHAR +STARTCHAR uni249A +ENCODING 9370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +A8 +A8 +98 +88 +90 +A4 +ENDCHAR +STARTCHAR uni249B +ENCODING 9371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +68 +68 +68 +A8 +A8 +D4 +ENDCHAR +STARTCHAR uni249C +ENCODING 9372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +94 +B4 +D4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni249D +ENCODING 9373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +A4 +B4 +AC +B4 +84 +48 +ENDCHAR +STARTCHAR uni249E +ENCODING 9374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +94 +A4 +94 +84 +48 +ENDCHAR +STARTCHAR uni249F +ENCODING 9375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +94 +94 +B4 +D4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24A0 +ENCODING 9376 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +94 +AC +BC +A4 +94 +84 +48 +ENDCHAR +STARTCHAR uni24A1 +ENCODING 9377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +94 +A4 +F4 +A4 +A4 +84 +48 +ENDCHAR +STARTCHAR uni24A2 +ENCODING 9378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +B4 +D4 +B4 +94 +A4 +48 +ENDCHAR +STARTCHAR uni24A3 +ENCODING 9379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +A4 +B4 +AC +AC +84 +48 +ENDCHAR +STARTCHAR uni24A4 +ENCODING 9380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +94 +84 +94 +94 +84 +48 +ENDCHAR +STARTCHAR uni24A5 +ENCODING 9381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +94 +84 +94 +94 +A4 +48 +ENDCHAR +STARTCHAR uni24A6 +ENCODING 9382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +A4 +B4 +A4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24A7 +ENCODING 9383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +94 +94 +94 +94 +94 +84 +48 +ENDCHAR +STARTCHAR uni24A8 +ENCODING 9384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +EC +D4 +D4 +84 +48 +ENDCHAR +STARTCHAR uni24A9 +ENCODING 9385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +E4 +D4 +D4 +84 +48 +ENDCHAR +STARTCHAR uni24AA +ENCODING 9386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +94 +AC +94 +84 +48 +ENDCHAR +STARTCHAR uni24AB +ENCODING 9387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +B4 +AC +B4 +A4 +48 +ENDCHAR +STARTCHAR uni24AC +ENCODING 9388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +B4 +D4 +B4 +94 +48 +ENDCHAR +STARTCHAR uni24AD +ENCODING 9389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +B4 +A4 +A4 +84 +48 +ENDCHAR +STARTCHAR uni24AE +ENCODING 9390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +B4 +A4 +94 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24AF +ENCODING 9391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +A4 +F4 +A4 +94 +84 +48 +ENDCHAR +STARTCHAR uni24B0 +ENCODING 9392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +D4 +D4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24B1 +ENCODING 9393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +AC +AC +94 +84 +48 +ENDCHAR +STARTCHAR uni24B2 +ENCODING 9394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +C4 +D4 +BC +84 +48 +ENDCHAR +STARTCHAR uni24B3 +ENCODING 9395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +AC +94 +AC +84 +48 +ENDCHAR +STARTCHAR uni24B4 +ENCODING 9396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +AC +AC +94 +A4 +48 +ENDCHAR +STARTCHAR uni24B5 +ENCODING 9397 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +B4 +94 +A4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24B6 +ENCODING 9398 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +AC +BC +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24B7 +ENCODING 9399 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +AC +B4 +AC +B4 +84 +78 +ENDCHAR +STARTCHAR uni24B8 +ENCODING 9400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +A4 +A4 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni24B9 +ENCODING 9401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +AC +AC +AC +B4 +84 +78 +ENDCHAR +STARTCHAR uni24BA +ENCODING 9402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +A4 +B4 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24BB +ENCODING 9403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +A4 +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24BC +ENCODING 9404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +C4 +D4 +D4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24BD +ENCODING 9405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +BC +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24BE +ENCODING 9406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +94 +94 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24BF +ENCODING 9407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +94 +94 +94 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24C0 +ENCODING 9408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +B4 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24C1 +ENCODING 9409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +A4 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24C2 +ENCODING 9410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +BC +AC +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24C3 +ENCODING 9411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +BC +BC +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24C4 +ENCODING 9412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +AC +AC +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24C5 +ENCODING 9413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +AC +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24C6 +ENCODING 9414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +D4 +D4 +D4 +B4 +94 +78 +ENDCHAR +STARTCHAR uni24C7 +ENCODING 9415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +AC +B4 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24C8 +ENCODING 9416 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +9C +A4 +94 +8C +B4 +84 +78 +ENDCHAR +STARTCHAR uni24C9 +ENCODING 9417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +BC +94 +94 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24CA +ENCODING 9418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +AC +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24CB +ENCODING 9419 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +AC +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24CC +ENCODING 9420 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +C4 +D4 +D4 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24CD +ENCODING 9421 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +94 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24CE +ENCODING 9422 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +94 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24CF +ENCODING 9423 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +BC +8C +94 +A4 +BC +84 +78 +ENDCHAR +STARTCHAR uni24D0 +ENCODING 9424 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +94 +B4 +D4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24D1 +ENCODING 9425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +B4 +AC +B4 +84 +78 +ENDCHAR +STARTCHAR uni24D2 +ENCODING 9426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +94 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni24D3 +ENCODING 9427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +94 +B4 +D4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24D4 +ENCODING 9428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +AC +BC +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni24D5 +ENCODING 9429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +A4 +F4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24D6 +ENCODING 9430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +B4 +D4 +B4 +94 +A4 +78 +ENDCHAR +STARTCHAR uni24D7 +ENCODING 9431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +B4 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24D8 +ENCODING 9432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +94 +84 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24D9 +ENCODING 9433 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +94 +84 +94 +94 +A4 +78 +ENDCHAR +STARTCHAR uni24DA +ENCODING 9434 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +B4 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24DB +ENCODING 9435 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +94 +94 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24DC +ENCODING 9436 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +EC +D4 +D4 +84 +78 +ENDCHAR +STARTCHAR uni24DD +ENCODING 9437 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +E4 +D4 +D4 +84 +78 +ENDCHAR +STARTCHAR uni24DE +ENCODING 9438 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +94 +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24DF +ENCODING 9439 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +B4 +AC +B4 +A4 +78 +ENDCHAR +STARTCHAR uni24E0 +ENCODING 9440 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +B4 +D4 +B4 +94 +78 +ENDCHAR +STARTCHAR uni24E1 +ENCODING 9441 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24E2 +ENCODING 9442 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +B4 +A4 +94 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24E3 +ENCODING 9443 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +F4 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni24E4 +ENCODING 9444 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +D4 +D4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24E5 +ENCODING 9445 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +AC +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24E6 +ENCODING 9446 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +C4 +D4 +BC +84 +78 +ENDCHAR +STARTCHAR uni24E7 +ENCODING 9447 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +AC +94 +AC +84 +78 +ENDCHAR +STARTCHAR uni24E8 +ENCODING 9448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +AC +AC +94 +A4 +78 +ENDCHAR +STARTCHAR uni24E9 +ENCODING 9449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +B4 +94 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24EA +ENCODING 9450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +AC +AC +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24EB +ENCODING 9451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +AC +AC +AC +AC +FC +78 +ENDCHAR +STARTCHAR uni24EC +ENCODING 9452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +B4 +B4 +AC +A4 +FC +78 +ENDCHAR +STARTCHAR uni24ED +ENCODING 9453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +B4 +AC +B4 +AC +FC +78 +ENDCHAR +STARTCHAR uni24EE +ENCODING 9454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +AC +A4 +A4 +B4 +FC +78 +ENDCHAR +STARTCHAR uni24EF +ENCODING 9455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +A4 +AC +A4 +B4 +A4 +FC +78 +ENDCHAR +STARTCHAR uni24F0 +ENCODING 9456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +AC +A4 +A8 +B4 +FC +78 +ENDCHAR +STARTCHAR uni24F1 +ENCODING 9457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +A4 +B4 +AC +AC +AC +FC +78 +ENDCHAR +STARTCHAR uni24F2 +ENCODING 9458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +B4 +A8 +B4 +A8 +B4 +FC +78 +ENDCHAR +STARTCHAR uni24F3 +ENCODING 9459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +B4 +A8 +B0 +B8 +B4 +FC +78 +ENDCHAR +STARTCHAR uni24F4 +ENCODING 9460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +B4 +C8 +C8 +A8 +94 +FC +78 +ENDCHAR +STARTCHAR uni24F5 +ENCODING 9461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +A8 +E8 +A8 +A8 +F8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24F6 +ENCODING 9462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +A8 +D8 +98 +A8 +F8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24F7 +ENCODING 9463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +E8 +98 +A8 +98 +E8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24F8 +ENCODING 9464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +C8 +C8 +E8 +F8 +A8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24F9 +ENCODING 9465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +F8 +C8 +E8 +98 +E8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FA +ENCODING 9466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +B8 +C8 +E8 +D8 +A8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FB +ENCODING 9467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +F8 +98 +A8 +A8 +A8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FC +ENCODING 9468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +A8 +D8 +A8 +D8 +A8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FD +ENCODING 9469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +A8 +D8 +B8 +98 +E8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FE +ENCODING 9470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +78 +FC +84 +D4 +EC +EC +EC +D4 +84 +FC +78 +ENDCHAR +STARTCHAR uni24FF +ENCODING 9471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +CC +B4 +B4 +B4 +CC +FC +78 +ENDCHAR +STARTCHAR SF100000 +ENCODING 9472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni2501 +ENCODING 9473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 3 +BITMAP +FC +FC +ENDCHAR +STARTCHAR SF110000 +ENCODING 9474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2503 +ENCODING 9475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni2504 +ENCODING 9476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +A8 +ENDCHAR +STARTCHAR uni2505 +ENCODING 9477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +A8 +A8 +ENDCHAR +STARTCHAR uni2506 +ENCODING 9478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 10 2 -1 +BITMAP +80 +80 +00 +00 +80 +80 +00 +00 +80 +80 +ENDCHAR +STARTCHAR uni2507 +ENCODING 9479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 10 2 -1 +BITMAP +C0 +C0 +00 +00 +C0 +C0 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2508 +ENCODING 9480 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +A8 +ENDCHAR +STARTCHAR uni2509 +ENCODING 9481 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +A8 +A8 +ENDCHAR +STARTCHAR uni250A +ENCODING 9482 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 11 2 -2 +BITMAP +80 +80 +00 +80 +80 +00 +80 +80 +00 +80 +80 +ENDCHAR +STARTCHAR uni250B +ENCODING 9483 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 2 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR SF010000 +ENCODING 9484 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 2 -2 +BITMAP +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni250D +ENCODING 9485 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 -2 +BITMAP +F0 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni250E +ENCODING 9486 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 2 -2 +BITMAP +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni250F +ENCODING 9487 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 -2 +BITMAP +F0 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR SF030000 +ENCODING 9488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 -2 +BITMAP +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2511 +ENCODING 9489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 -2 +BITMAP +E0 +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2512 +ENCODING 9490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 -2 +BITMAP +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2513 +ENCODING 9491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 +BITMAP +F0 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR SF020000 +ENCODING 9492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +80 +80 +80 +80 +80 +80 +F0 +ENDCHAR +STARTCHAR uni2515 +ENCODING 9493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +80 +80 +80 +80 +80 +F0 +F0 +ENDCHAR +STARTCHAR uni2516 +ENCODING 9494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +F0 +ENDCHAR +STARTCHAR uni2517 +ENCODING 9495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +C0 +C0 +C0 +C0 +C0 +F0 +F0 +ENDCHAR +STARTCHAR SF040000 +ENCODING 9496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 3 +BITMAP +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni2519 +ENCODING 9497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 3 +BITMAP +20 +20 +20 +20 +20 +E0 +E0 +ENDCHAR +STARTCHAR uni251A +ENCODING 9498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 3 +BITMAP +30 +30 +30 +30 +30 +30 +F0 +ENDCHAR +STARTCHAR uni251B +ENCODING 9499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 3 +BITMAP +30 +30 +30 +30 +30 +F0 +F0 +ENDCHAR +STARTCHAR SF080000 +ENCODING 9500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni251D +ENCODING 9501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +F0 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni251E +ENCODING 9502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni251F +ENCODING 9503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni2520 +ENCODING 9504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni2521 +ENCODING 9505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +F0 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2522 +ENCODING 9506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +F0 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni2523 +ENCODING 9507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +F0 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR SF090000 +ENCODING 9508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +20 +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2525 +ENCODING 9509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +E0 +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2526 +ENCODING 9510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +30 +F0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2527 +ENCODING 9511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +20 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2528 +ENCODING 9512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +30 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2529 +ENCODING 9513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +F0 +F0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni252A +ENCODING 9514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +F0 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni252B +ENCODING 9515 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +F0 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR SF060000 +ENCODING 9516 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni252D +ENCODING 9517 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +E0 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni252E +ENCODING 9518 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +3C +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni252F +ENCODING 9519 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2530 +ENCODING 9520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2531 +ENCODING 9521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +F0 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2532 +ENCODING 9522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +3C +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2533 +ENCODING 9523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR SF070000 +ENCODING 9524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +20 +20 +20 +20 +20 +20 +FC +ENDCHAR +STARTCHAR uni2535 +ENCODING 9525 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +20 +20 +20 +20 +20 +E0 +FC +ENDCHAR +STARTCHAR uni2536 +ENCODING 9526 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +20 +20 +20 +20 +20 +3C +FC +ENDCHAR +STARTCHAR uni2537 +ENCODING 9527 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +20 +20 +20 +20 +20 +FC +FC +ENDCHAR +STARTCHAR uni2538 +ENCODING 9528 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +30 +30 +30 +30 +30 +30 +FC +ENDCHAR +STARTCHAR uni2539 +ENCODING 9529 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +30 +30 +30 +30 +30 +F0 +FC +ENDCHAR +STARTCHAR uni253A +ENCODING 9530 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +30 +30 +30 +30 +30 +3C +FC +ENDCHAR +STARTCHAR uni253B +ENCODING 9531 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +30 +30 +30 +30 +30 +FC +FC +ENDCHAR +STARTCHAR SF050000 +ENCODING 9532 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +20 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni253D +ENCODING 9533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +E0 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni253E +ENCODING 9534 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +3C +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni253F +ENCODING 9535 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +FC +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2540 +ENCODING 9536 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +30 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2541 +ENCODING 9537 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +20 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2542 +ENCODING 9538 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +30 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2543 +ENCODING 9539 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +F0 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2544 +ENCODING 9540 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +3C +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2545 +ENCODING 9541 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +F0 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2546 +ENCODING 9542 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +3C +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2547 +ENCODING 9543 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +FC +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2548 +ENCODING 9544 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +FC +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2549 +ENCODING 9545 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +F0 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni254A +ENCODING 9546 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +3C +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni254B +ENCODING 9547 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +FC +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni254C +ENCODING 9548 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +D8 +ENDCHAR +STARTCHAR uni254D +ENCODING 9549 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni254E +ENCODING 9550 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 11 2 -1 +BITMAP +80 +80 +80 +80 +80 +00 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni254F +ENCODING 9551 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 2 -1 +BITMAP +C0 +C0 +C0 +C0 +C0 +00 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR SF430000 +ENCODING 9552 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR SF240000 +ENCODING 9553 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 1 -2 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF510000 +ENCODING 9554 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 -2 +BITMAP +F0 +80 +F0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR SF520000 +ENCODING 9555 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 1 -2 +BITMAP +F8 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF390000 +ENCODING 9556 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 1 -2 +BITMAP +F8 +80 +B8 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF220000 +ENCODING 9557 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 -2 +BITMAP +E0 +20 +E0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR SF210000 +ENCODING 9558 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 -2 +BITMAP +F0 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF250000 +ENCODING 9559 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 +BITMAP +F0 +10 +D0 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF500000 +ENCODING 9560 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 2 2 +BITMAP +80 +80 +80 +80 +80 +F0 +80 +F0 +ENDCHAR +STARTCHAR SF490000 +ENCODING 9561 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 1 3 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +F8 +ENDCHAR +STARTCHAR SF380000 +ENCODING 9562 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 1 2 +BITMAP +A0 +A0 +A0 +A0 +A0 +B8 +80 +F8 +ENDCHAR +STARTCHAR SF280000 +ENCODING 9563 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 2 +BITMAP +20 +20 +20 +20 +20 +E0 +20 +E0 +ENDCHAR +STARTCHAR SF270000 +ENCODING 9564 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 3 +BITMAP +50 +50 +50 +50 +50 +50 +F0 +ENDCHAR +STARTCHAR SF260000 +ENCODING 9565 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 2 +BITMAP +50 +50 +50 +50 +50 +D0 +10 +F0 +ENDCHAR +STARTCHAR SF360000 +ENCODING 9566 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +F0 +80 +F0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR SF370000 +ENCODING 9567 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 1 -2 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +B8 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF420000 +ENCODING 9568 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 1 -2 +BITMAP +A0 +A0 +A0 +A0 +A0 +B8 +80 +B8 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF190000 +ENCODING 9569 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +E0 +20 +E0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR SF200000 +ENCODING 9570 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +50 +50 +50 +50 +50 +50 +D0 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF230000 +ENCODING 9571 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +50 +50 +50 +50 +50 +D0 +10 +D0 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF470000 +ENCODING 9572 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +00 +FC +20 +20 +20 +20 +ENDCHAR +STARTCHAR SF480000 +ENCODING 9573 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF410000 +ENCODING 9574 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +00 +DC +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF450000 +ENCODING 9575 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 2 +BITMAP +20 +20 +20 +20 +20 +FC +00 +FC +ENDCHAR +STARTCHAR SF460000 +ENCODING 9576 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +50 +50 +50 +50 +50 +50 +FC +ENDCHAR +STARTCHAR SF400000 +ENCODING 9577 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 2 +BITMAP +50 +50 +50 +50 +50 +DC +00 +FC +ENDCHAR +STARTCHAR SF540000 +ENCODING 9578 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +FC +20 +FC +20 +20 +20 +20 +ENDCHAR +STARTCHAR SF530000 +ENCODING 9579 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +50 +50 +50 +50 +50 +50 +FC +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF440000 +ENCODING 9580 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +50 +50 +50 +50 +50 +DC +00 +DC +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni256D +ENCODING 9581 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 2 -2 +BITMAP +30 +40 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni256E +ENCODING 9582 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 -2 +BITMAP +80 +40 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni256F +ENCODING 9583 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 3 +BITMAP +20 +20 +20 +20 +20 +40 +80 +ENDCHAR +STARTCHAR uni2570 +ENCODING 9584 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +80 +80 +80 +80 +80 +40 +30 +ENDCHAR +STARTCHAR uni2571 +ENCODING 9585 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +04 +04 +08 +08 +10 +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2572 +ENCODING 9586 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +80 +80 +40 +40 +20 +20 +10 +10 +08 +08 +04 +04 +ENDCHAR +STARTCHAR uni2573 +ENCODING 9587 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +84 +84 +48 +48 +30 +30 +30 +30 +48 +48 +84 +84 +ENDCHAR +STARTCHAR uni2574 +ENCODING 9588 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 0 3 +BITMAP +E0 +ENDCHAR +STARTCHAR uni2575 +ENCODING 9589 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 6 2 4 +BITMAP +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2576 +ENCODING 9590 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 3 3 +BITMAP +E0 +ENDCHAR +STARTCHAR uni2577 +ENCODING 9591 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 6 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2578 +ENCODING 9592 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 0 3 +BITMAP +E0 +E0 +ENDCHAR +STARTCHAR uni2579 +ENCODING 9593 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 2 4 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni257A +ENCODING 9594 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 3 3 +BITMAP +E0 +E0 +ENDCHAR +STARTCHAR uni257B +ENCODING 9595 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni257C +ENCODING 9596 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 3 +BITMAP +1C +FC +ENDCHAR +STARTCHAR uni257D +ENCODING 9597 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni257E +ENCODING 9598 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 3 +BITMAP +E0 +FC +ENDCHAR +STARTCHAR uni257F +ENCODING 9599 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR upblock +ENCODING 9600 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 4 +BITMAP +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2581 +ENCODING 9601 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 -2 +BITMAP +FC +FC +ENDCHAR +STARTCHAR uni2582 +ENCODING 9602 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 -2 +BITMAP +FC +FC +FC +ENDCHAR +STARTCHAR uni2583 +ENCODING 9603 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 -2 +BITMAP +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR dnblock +ENCODING 9604 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2585 +ENCODING 9605 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2586 +ENCODING 9606 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2587 +ENCODING 9607 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR block +ENCODING 9608 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2589 +ENCODING 9609 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni258A +ENCODING 9610 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni258B +ENCODING 9611 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR lfblock +ENCODING 9612 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni258D +ENCODING 9613 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 0 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni258E +ENCODING 9614 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 0 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni258F +ENCODING 9615 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR rtblock +ENCODING 9616 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 3 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR ltshade +ENCODING 9617 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +A8 +00 +54 +00 +A8 +00 +54 +00 +A8 +00 +54 +ENDCHAR +STARTCHAR shade +ENCODING 9618 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +A8 +54 +A8 +54 +A8 +54 +A8 +54 +A8 +54 +A8 +54 +ENDCHAR +STARTCHAR dkshade +ENCODING 9619 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +54 +FC +A8 +FC +54 +FC +A8 +FC +54 +FC +A8 +FC +ENDCHAR +STARTCHAR uni2594 +ENCODING 9620 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 +BITMAP +FC +FC +ENDCHAR +STARTCHAR uni2595 +ENCODING 9621 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 5 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2596 +ENCODING 9622 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni2597 +ENCODING 9623 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 3 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni2598 +ENCODING 9624 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 4 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni2599 +ENCODING 9625 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni259A +ENCODING 9626 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +1C +1C +1C +1C +1C +1C +ENDCHAR +STARTCHAR uni259B +ENCODING 9627 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni259C +ENCODING 9628 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +1C +1C +1C +1C +1C +1C +ENDCHAR +STARTCHAR uni259D +ENCODING 9629 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 3 4 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni259E +ENCODING 9630 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +1C +1C +1C +1C +1C +1C +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni259F +ENCODING 9631 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +1C +1C +1C +1C +1C +1C +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR filledbox +ENCODING 9632 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR H22073 +ENCODING 9633 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni25A2 +ENCODING 9634 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni25A3 +ENCODING 9635 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni25A4 +ENCODING 9636 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +F8 +88 +F8 +ENDCHAR +STARTCHAR uni25A5 +ENCODING 9637 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni25A6 +ENCODING 9638 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +F8 +A8 +F8 +ENDCHAR +STARTCHAR uni25A7 +ENCODING 9639 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +C8 +A8 +98 +F8 +ENDCHAR +STARTCHAR uni25A8 +ENCODING 9640 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +98 +A8 +C8 +F8 +ENDCHAR +STARTCHAR uni25A9 +ENCODING 9641 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +D8 +A8 +D8 +F8 +ENDCHAR +STARTCHAR H18543 +ENCODING 9642 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 2 +BITMAP +E0 +E0 +E0 +ENDCHAR +STARTCHAR H18551 +ENCODING 9643 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 2 +BITMAP +E0 +A0 +E0 +ENDCHAR +STARTCHAR filledrect +ENCODING 9644 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni25AD +ENCODING 9645 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +FC +84 +84 +84 +FC +ENDCHAR +STARTCHAR uni25AE +ENCODING 9646 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni25AF +ENCODING 9647 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +F0 +90 +90 +90 +90 +90 +90 +90 +90 +F0 +ENDCHAR +STARTCHAR uni25B0 +ENCODING 9648 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +3C +78 +F0 +ENDCHAR +STARTCHAR uni25B1 +ENCODING 9649 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +3C +48 +F0 +ENDCHAR +STARTCHAR triagup +ENCODING 9650 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +70 +70 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni25B3 +ENCODING 9651 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +F8 +ENDCHAR +STARTCHAR uni25B4 +ENCODING 9652 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +70 +70 +F8 +ENDCHAR +STARTCHAR uni25B5 +ENCODING 9653 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +50 +50 +F8 +ENDCHAR +STARTCHAR uni25B6 +ENCODING 9654 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +C0 +E0 +F0 +E0 +C0 +80 +ENDCHAR +STARTCHAR uni25B7 +ENCODING 9655 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +C0 +A0 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni25B8 +ENCODING 9656 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +C0 +E0 +C0 +80 +ENDCHAR +STARTCHAR uni25B9 +ENCODING 9657 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +C0 +A0 +C0 +80 +ENDCHAR +STARTCHAR triagrt +ENCODING 9658 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C0 +F0 +FC +F0 +C0 +ENDCHAR +STARTCHAR uni25BB +ENCODING 9659 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C0 +B0 +8C +B0 +C0 +ENDCHAR +STARTCHAR triagdn +ENCODING 9660 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +F8 +F8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni25BD +ENCODING 9661 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni25BE +ENCODING 9662 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni25BF +ENCODING 9663 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni25C0 +ENCODING 9664 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +30 +70 +F0 +70 +30 +10 +ENDCHAR +STARTCHAR uni25C1 +ENCODING 9665 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +30 +50 +90 +50 +30 +10 +ENDCHAR +STARTCHAR uni25C2 +ENCODING 9666 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +60 +E0 +60 +20 +ENDCHAR +STARTCHAR uni25C3 +ENCODING 9667 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +60 +A0 +60 +20 +ENDCHAR +STARTCHAR triaglf +ENCODING 9668 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +0C +3C +FC +3C +0C +ENDCHAR +STARTCHAR uni25C5 +ENCODING 9669 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +0C +34 +C4 +34 +0C +ENDCHAR +STARTCHAR uni25C6 +ENCODING 9670 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni25C7 +ENCODING 9671 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni25C8 +ENCODING 9672 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +A8 +50 +20 +ENDCHAR +STARTCHAR uni25C9 +ENCODING 9673 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +48 +B4 +B4 +48 +30 +ENDCHAR +STARTCHAR lozenge +ENCODING 9674 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +50 +50 +20 +ENDCHAR +STARTCHAR circle +ENCODING 9675 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +48 +84 +84 +48 +30 +ENDCHAR +STARTCHAR uni25CC +ENCODING 9676 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +20 +08 +80 +04 +40 +10 +ENDCHAR +STARTCHAR uni25CD +ENCODING 9677 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni25CE +ENCODING 9678 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR H18533 +ENCODING 9679 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +78 +FC +FC +78 +30 +ENDCHAR +STARTCHAR uni25D0 +ENCODING 9680 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +68 +E4 +E4 +68 +30 +ENDCHAR +STARTCHAR uni25D1 +ENCODING 9681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +58 +9C +9C +58 +30 +ENDCHAR +STARTCHAR uni25D2 +ENCODING 9682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +48 +84 +FC +78 +30 +ENDCHAR +STARTCHAR uni25D3 +ENCODING 9683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +78 +FC +84 +48 +30 +ENDCHAR +STARTCHAR uni25D4 +ENCODING 9684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +58 +9C +84 +48 +30 +ENDCHAR +STARTCHAR uni25D5 +ENCODING 9685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +68 +E4 +84 +48 +30 +ENDCHAR +STARTCHAR uni25D6 +ENCODING 9686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 1 0 +BITMAP +08 +38 +78 +78 +F8 +78 +78 +38 +08 +ENDCHAR +STARTCHAR uni25D7 +ENCODING 9687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +E0 +F0 +F0 +F8 +F0 +F0 +E0 +80 +ENDCHAR +STARTCHAR invbullet +ENCODING 9688 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +FC +CC +84 +84 +CC +FC +FC +FC +FC +ENDCHAR +STARTCHAR invcircle +ENCODING 9689 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +CC +B4 +78 +78 +B4 +CC +FC +FC +FC +ENDCHAR +STARTCHAR uni25DA +ENCODING 9690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 4 +BITMAP +FC +FC +FC +CC +B4 +78 +ENDCHAR +STARTCHAR uni25DB +ENCODING 9691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +78 +B4 +CC +FC +FC +FC +ENDCHAR +STARTCHAR uni25DC +ENCODING 9692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 3 +BITMAP +20 +40 +80 +ENDCHAR +STARTCHAR uni25DD +ENCODING 9693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 3 3 +BITMAP +80 +40 +20 +ENDCHAR +STARTCHAR uni25DE +ENCODING 9694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 3 0 +BITMAP +20 +40 +80 +ENDCHAR +STARTCHAR uni25DF +ENCODING 9695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 0 +BITMAP +80 +40 +20 +ENDCHAR +STARTCHAR uni25E0 +ENCODING 9696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 3 +BITMAP +30 +48 +84 +ENDCHAR +STARTCHAR uni25E1 +ENCODING 9697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 0 +BITMAP +84 +48 +30 +ENDCHAR +STARTCHAR uni25E2 +ENCODING 9698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +18 +38 +78 +F8 +ENDCHAR +STARTCHAR uni25E3 +ENCODING 9699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +C0 +E0 +F0 +F8 +ENDCHAR +STARTCHAR uni25E4 +ENCODING 9700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F0 +E0 +C0 +80 +ENDCHAR +STARTCHAR uni25E5 +ENCODING 9701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +78 +38 +18 +08 +ENDCHAR +STARTCHAR openbullet +ENCODING 9702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni25E7 +ENCODING 9703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +E8 +E8 +E8 +F8 +ENDCHAR +STARTCHAR uni25E8 +ENCODING 9704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +B8 +B8 +B8 +F8 +ENDCHAR +STARTCHAR uni25E9 +ENCODING 9705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F8 +E8 +C8 +F8 +ENDCHAR +STARTCHAR uni25EA +ENCODING 9706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +98 +B8 +F8 +F8 +ENDCHAR +STARTCHAR uni25EB +ENCODING 9707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni25EC +ENCODING 9708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +70 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni25ED +ENCODING 9709 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +70 +70 +E8 +E8 +F8 +ENDCHAR +STARTCHAR uni25EE +ENCODING 9710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +70 +70 +B8 +B8 +F8 +ENDCHAR +STARTCHAR uni25EF +ENCODING 9711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +84 +84 +84 +48 +30 +ENDCHAR +STARTCHAR uni25F0 +ENCODING 9712 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +E8 +88 +F8 +ENDCHAR +STARTCHAR uni25F1 +ENCODING 9713 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +E8 +A8 +F8 +ENDCHAR +STARTCHAR uni25F2 +ENCODING 9714 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +B8 +A8 +F8 +ENDCHAR +STARTCHAR uni25F3 +ENCODING 9715 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +B8 +88 +F8 +ENDCHAR +STARTCHAR uni25F4 +ENCODING 9716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +E8 +88 +70 +ENDCHAR +STARTCHAR uni25F5 +ENCODING 9717 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +E8 +A8 +70 +ENDCHAR +STARTCHAR uni25F6 +ENCODING 9718 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +B8 +A8 +70 +ENDCHAR +STARTCHAR uni25F7 +ENCODING 9719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +B8 +88 +70 +ENDCHAR +STARTCHAR uni25F8 +ENCODING 9720 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni25F9 +ENCODING 9721 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +48 +28 +18 +08 +ENDCHAR +STARTCHAR uni25FA +ENCODING 9722 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +80 +C0 +A0 +90 +F8 +ENDCHAR +STARTCHAR uni25FB +ENCODING 9723 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 2 +BITMAP +F0 +90 +90 +F0 +ENDCHAR +STARTCHAR uni25FC +ENCODING 9724 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni25FD +ENCODING 9725 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 2 +BITMAP +F0 +90 +90 +F0 +ENDCHAR +STARTCHAR uni25FE +ENCODING 9726 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 2 +BITMAP +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni25FF +ENCODING 9727 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +18 +28 +48 +F8 +ENDCHAR +STARTCHAR uni2600 +ENCODING 9728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +88 +20 +70 +20 +88 +20 +20 +ENDCHAR +STARTCHAR uni2601 +ENCODING 9729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 3 +BITMAP +60 +F8 +FC +ENDCHAR +STARTCHAR uni2602 +ENCODING 9730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +F8 +F8 +20 +20 +20 +20 +40 +ENDCHAR +STARTCHAR uni2603 +ENCODING 9731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +A0 +74 +50 +A8 +50 +54 +70 +88 +88 +70 +ENDCHAR +STARTCHAR uni2604 +ENCODING 9732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +08 +48 +50 +54 +44 +08 +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni2605 +ENCODING 9733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni2606 +ENCODING 9734 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +50 +70 +88 +ENDCHAR +STARTCHAR uni2607 +ENCODING 9735 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +10 +20 +40 +80 +40 +28 +18 +38 +ENDCHAR +STARTCHAR uni2608 +ENCODING 9736 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +90 +90 +A0 +A0 +98 +98 +B8 +ENDCHAR +STARTCHAR uni2609 +ENCODING 9737 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni260A +ENCODING 9738 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +50 +50 +A8 +50 +ENDCHAR +STARTCHAR uni260B +ENCODING 9739 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +A8 +50 +50 +88 +88 +70 +ENDCHAR +STARTCHAR uni260C +ENCODING 9740 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +70 +90 +90 +60 +ENDCHAR +STARTCHAR uni260D +ENCODING 9741 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +30 +48 +48 +30 +20 +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni260E +ENCODING 9742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +A8 +70 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni260F +ENCODING 9743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +70 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2610 +ENCODING 9744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +FC +84 +84 +84 +84 +84 +84 +84 +FC +ENDCHAR +STARTCHAR uni2611 +ENCODING 9745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +FC +84 +8C +8C +94 +94 +D4 +A4 +FC +ENDCHAR +STARTCHAR uni2612 +ENCODING 9746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +FC +CC +CC +B4 +B4 +B4 +CC +CC +FC +ENDCHAR +STARTCHAR uni2613 +ENCODING 9747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +50 +50 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni2616 +ENCODING 9750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +88 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2617 +ENCODING 9751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +F8 +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni2619 +ENCODING 9753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +24 +74 +F8 +E8 +F4 +74 +28 +ENDCHAR +STARTCHAR uni261A +ENCODING 9754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +7C +7C +3C +ENDCHAR +STARTCHAR uni261B +ENCODING 9755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +F8 +F8 +F0 +ENDCHAR +STARTCHAR uni261C +ENCODING 9756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +4C +4C +3C +ENDCHAR +STARTCHAR uni261D +ENCODING 9757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +10 +30 +F0 +D0 +90 +90 +F0 +F0 +ENDCHAR +STARTCHAR uni261E +ENCODING 9758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +C8 +C8 +F0 +ENDCHAR +STARTCHAR uni261F +ENCODING 9759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +F0 +F0 +90 +90 +D0 +F0 +30 +10 +10 +ENDCHAR +STARTCHAR uni2620 +ENCODING 9760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +A8 +F8 +70 +50 +20 +88 +70 +88 +ENDCHAR +STARTCHAR uni2621 +ENCODING 9761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +E0 +10 +10 +20 +40 +80 +80 +70 +ENDCHAR +STARTCHAR uni2622 +ENCODING 9762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +D8 +D8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2623 +ENCODING 9763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +48 +FC +48 +48 +30 +48 +ENDCHAR +STARTCHAR uni2624 +ENCODING 9764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +F8 +70 +50 +70 +50 +70 +50 +20 +ENDCHAR +STARTCHAR uni2625 +ENCODING 9765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +50 +20 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2626 +ENCODING 9766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +F8 +20 +60 +30 +20 +ENDCHAR +STARTCHAR uni2627 +ENCODING 9767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +28 +30 +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR uni2628 +ENCODING 9768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2629 +ENCODING 9769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +20 +A8 +F8 +A8 +20 +70 +ENDCHAR +STARTCHAR uni262A +ENCODING 9770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +E4 +C8 +DC +C8 +D4 +C0 +E4 +78 +ENDCHAR +STARTCHAR uni262B +ENCODING 9771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +50 +00 +20 +A8 +A8 +A8 +70 +70 +ENDCHAR +STARTCHAR uni262C +ENCODING 9772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +A8 +70 +88 +70 +70 +A8 +ENDCHAR +STARTCHAR uni262D +ENCODING 9773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +70 +88 +28 +68 +C8 +A8 +18 +48 +B4 +ENDCHAR +STARTCHAR uni262E +ENCODING 9774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni262F +ENCODING 9775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +84 +EC +A4 +FC +78 +ENDCHAR +STARTCHAR uni2630 +ENCODING 9776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +F8 +00 +F8 +F8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni2631 +ENCODING 9777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +D8 +00 +F8 +F8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni2632 +ENCODING 9778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +F8 +00 +D8 +D8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni2633 +ENCODING 9779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +F8 +00 +F8 +F8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2634 +ENCODING 9780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni2635 +ENCODING 9781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +D8 +00 +F8 +F8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2636 +ENCODING 9782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +F8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2637 +ENCODING 9783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2638 +ENCODING 9784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +D8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2639 +ENCODING 9785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +D8 +D8 +88 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR smileface +ENCODING 9786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +D8 +D8 +88 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR invsmileface +ENCODING 9787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +F8 +A8 +A8 +F8 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR sun +ENCODING 9788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +88 +20 +50 +20 +88 +20 +20 +ENDCHAR +STARTCHAR uni263D +ENCODING 9789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +C8 +28 +28 +28 +C8 +70 +ENDCHAR +STARTCHAR uni263E +ENCODING 9790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +98 +A0 +A0 +A0 +98 +70 +ENDCHAR +STARTCHAR uni263F +ENCODING 9791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +88 +88 +70 +20 +70 +20 +ENDCHAR +STARTCHAR female +ENCODING 9792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +70 +88 +88 +88 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni2641 +ENCODING 9793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR male +ENCODING 9794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +1C +0C +74 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2643 +ENCODING 9795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +A8 +28 +28 +48 +F8 +08 +ENDCHAR +STARTCHAR uni2644 +ENCODING 9796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +E0 +40 +50 +68 +48 +48 +ENDCHAR +STARTCHAR uni2645 +ENCODING 9797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +88 +A8 +F8 +A8 +A8 +20 +50 +20 +ENDCHAR +STARTCHAR uni2646 +ENCODING 9798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +A8 +FC +A8 +A8 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni2647 +ENCODING 9799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +E0 +90 +90 +E0 +80 +80 +F0 +ENDCHAR +STARTCHAR uni2648 +ENCODING 9800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +A8 +A8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2649 +ENCODING 9801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +84 +48 +30 +48 +48 +30 +ENDCHAR +STARTCHAR uni264A +ENCODING 9802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +50 +50 +50 +50 +50 +F8 +ENDCHAR +STARTCHAR uni264B +ENCODING 9803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +38 +44 +A0 +48 +14 +88 +70 +ENDCHAR +STARTCHAR uni264C +ENCODING 9804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +70 +88 +48 +28 +68 +A8 +48 +04 +ENDCHAR +STARTCHAR uni264D +ENCODING 9805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +AC +FC +AC +AC +AC +A8 +A8 +18 +28 +ENDCHAR +STARTCHAR uni264E +ENCODING 9806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +50 +D8 +00 +F8 +ENDCHAR +STARTCHAR uni264F +ENCODING 9807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +A8 +F8 +A8 +A8 +A8 +A8 +A8 +0C +ENDCHAR +STARTCHAR uni2650 +ENCODING 9808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +18 +A8 +40 +A0 +ENDCHAR +STARTCHAR uni2651 +ENCODING 9809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +90 +A8 +B0 +C8 +88 +30 +ENDCHAR +STARTCHAR uni2652 +ENCODING 9810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +54 +A8 +00 +54 +A8 +ENDCHAR +STARTCHAR uni2653 +ENCODING 9811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +50 +50 +F8 +50 +50 +88 +ENDCHAR +STARTCHAR uni2654 +ENCODING 9812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +70 +70 +A8 +F8 +88 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni2655 +ENCODING 9813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +F8 +88 +F8 +50 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni2656 +ENCODING 9814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +F8 +50 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni2657 +ENCODING 9815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +70 +D8 +88 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni2658 +ENCODING 9816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +38 +68 +88 +E8 +28 +28 +44 +7C +ENDCHAR +STARTCHAR uni2659 +ENCODING 9817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +50 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni265A +ENCODING 9818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +70 +70 +A8 +F8 +F8 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni265B +ENCODING 9819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +F8 +F8 +F8 +70 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni265C +ENCODING 9820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +F8 +70 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni265D +ENCODING 9821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +70 +D8 +88 +50 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni265E +ENCODING 9822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +38 +58 +F8 +F8 +38 +38 +7C +7C +ENDCHAR +STARTCHAR uni265F +ENCODING 9823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +70 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR spade +ENCODING 9824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +70 +70 +F8 +F8 +20 +70 +ENDCHAR +STARTCHAR uni2661 +ENCODING 9825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +A8 +A8 +88 +50 +20 +20 +ENDCHAR +STARTCHAR uni2662 +ENCODING 9826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +50 +50 +20 +ENDCHAR +STARTCHAR club +ENCODING 9827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +70 +A8 +F8 +F8 +A8 +20 +70 +ENDCHAR +STARTCHAR uni2664 +ENCODING 9828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +F8 +F8 +F8 +70 +20 +20 +ENDCHAR +STARTCHAR heart +ENCODING 9829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +F8 +F8 +F8 +F8 +70 +70 +20 +ENDCHAR +STARTCHAR diamond +ENCODING 9830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +70 +F8 +F8 +70 +70 +20 +ENDCHAR +STARTCHAR uni2667 +ENCODING 9831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +70 +A8 +70 +20 +70 +ENDCHAR +STARTCHAR uni2668 +ENCODING 9832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +90 +48 +00 +50 +88 +70 +ENDCHAR +STARTCHAR uni2669 +ENCODING 9833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 0 +BITMAP +20 +20 +20 +20 +20 +E0 +C0 +ENDCHAR +STARTCHAR musicalnote +ENCODING 9834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +30 +28 +20 +20 +E0 +C0 +ENDCHAR +STARTCHAR musicalnotedbl +ENCODING 9835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +58 +48 +48 +48 +C8 +D8 +18 +ENDCHAR +STARTCHAR uni266C +ENCODING 9836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +58 +68 +58 +48 +C8 +D8 +18 +ENDCHAR +STARTCHAR uni266D +ENCODING 9837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +80 +A0 +D0 +90 +A0 +C0 +ENDCHAR +STARTCHAR uni266E +ENCODING 9838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +80 +90 +B0 +D0 +90 +B0 +D0 +90 +10 +ENDCHAR +STARTCHAR uni266F +ENCODING 9839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +58 +70 +D0 +58 +70 +D0 +40 +ENDCHAR +STARTCHAR uni2670 +ENCODING 9840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +A8 +70 +A8 +20 +20 +50 +ENDCHAR +STARTCHAR uni2671 +ENCODING 9841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +50 +20 +D8 +A8 +20 +20 +50 +20 +ENDCHAR +STARTCHAR uni2672 +ENCODING 9842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +10 +C8 +44 +8C +80 +94 +38 +10 +ENDCHAR +STARTCHAR uni2673 +ENCODING 9843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +58 +10 +94 +84 +DC +ENDCHAR +STARTCHAR uni2674 +ENCODING 9844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +10 +B4 +84 +DC +ENDCHAR +STARTCHAR uni2675 +ENCODING 9845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +30 +B4 +84 +DC +ENDCHAR +STARTCHAR uni2676 +ENCODING 9846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +30 +94 +84 +DC +ENDCHAR +STARTCHAR uni2677 +ENCODING 9847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +20 +B4 +84 +DC +ENDCHAR +STARTCHAR uni2678 +ENCODING 9848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +68 +30 +B4 +84 +DC +ENDCHAR +STARTCHAR uni2679 +ENCODING 9849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +10 +94 +84 +DC +ENDCHAR +STARTCHAR uni267A +ENCODING 9850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +00 +84 +84 +DC +ENDCHAR +STARTCHAR uni267B +ENCODING 9851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +30 +28 +CC +CC +80 +94 +B8 +10 +ENDCHAR +STARTCHAR uni267C +ENCODING 9852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +78 +FC +C4 +D4 +30 +30 +7C +68 +44 +EC +FC +78 +ENDCHAR +STARTCHAR uni267D +ENCODING 9853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +78 +84 +30 +28 +CC +CC +80 +94 +B8 +10 +84 +78 +ENDCHAR +STARTCHAR uni267E +ENCODING 9854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +00 +50 +A8 +50 +00 +88 +70 +ENDCHAR +STARTCHAR uni267F +ENCODING 9855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +60 +60 +40 +78 +40 +F0 +98 +64 +ENDCHAR +STARTCHAR uni2680 +ENCODING 9856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +88 +88 +A8 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2681 +ENCODING 9857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +C8 +88 +88 +88 +98 +88 +F8 +ENDCHAR +STARTCHAR uni2682 +ENCODING 9858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +C8 +88 +A8 +88 +98 +88 +F8 +ENDCHAR +STARTCHAR uni2683 +ENCODING 9859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +D8 +88 +88 +88 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni2684 +ENCODING 9860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +D8 +88 +A8 +88 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni2685 +ENCODING 9861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +D8 +88 +D8 +88 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni2686 +ENCODING 9862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +98 +88 +70 +ENDCHAR +STARTCHAR uni2687 +ENCODING 9863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2688 +ENCODING 9864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +F8 +E8 +F8 +70 +ENDCHAR +STARTCHAR uni2689 +ENCODING 9865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +F8 +A8 +F8 +70 +ENDCHAR +STARTCHAR uni268A +ENCODING 9866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +F8 +F8 +ENDCHAR +STARTCHAR uni268B +ENCODING 9867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni268C +ENCODING 9868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +F8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni268D +ENCODING 9869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni268E +ENCODING 9870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +F8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni268F +ENCODING 9871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2690 +ENCODING 9872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +98 +88 +C8 +B8 +80 +80 +ENDCHAR +STARTCHAR uni2691 +ENCODING 9873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +F8 +F8 +F8 +B8 +80 +80 +ENDCHAR +STARTCHAR uni2692 +ENCODING 9874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +48 +CC +B4 +30 +48 +84 +ENDCHAR +STARTCHAR uni2693 +ENCODING 9875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +F8 +20 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2694 +ENCODING 9876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +D8 +88 +ENDCHAR +STARTCHAR uni2695 +ENCODING 9877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +A0 +70 +28 +30 +60 +30 +20 +ENDCHAR +STARTCHAR uni2696 +ENCODING 9878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +A8 +88 +88 +D8 +D8 +ENDCHAR +STARTCHAR uni2697 +ENCODING 9879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +38 +5C +88 +00 +1C +14 +ENDCHAR +STARTCHAR uni2698 +ENCODING 9880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +A8 +F8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2699 +ENCODING 9881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +88 +A8 +88 +F8 +20 +ENDCHAR +STARTCHAR uni269A +ENCODING 9882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +20 +A8 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni269B +ENCODING 9883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +70 +D8 +70 +D8 +70 +A8 +ENDCHAR +STARTCHAR uni269C +ENCODING 9884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +D8 +88 +A8 +50 +50 +20 +ENDCHAR +STARTCHAR uni26A0 +ENCODING 9888 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +88 +A8 +A8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni26A1 +ENCODING 9889 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +20 +40 +F0 +20 +40 +80 +ENDCHAR +STARTCHAR uni26A2 +ENCODING 9890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +A8 +A8 +70 +50 +F8 +50 +ENDCHAR +STARTCHAR uni26A3 +ENCODING 9891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +20 +6C +98 +A8 +48 +30 +ENDCHAR +STARTCHAR uni26A4 +ENCODING 9892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 +BITMAP +0C +0C +18 +64 +A4 +98 +60 +40 +E0 +40 +ENDCHAR +STARTCHAR uni26A5 +ENCODING 9893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +0C +0C +10 +70 +88 +88 +88 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni26A6 +ENCODING 9894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +0C +0C +18 +18 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni26A7 +ENCODING 9895 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +CC +CC +30 +48 +48 +30 +20 +70 +20 +ENDCHAR +STARTCHAR uni26A8 +ENCODING 9896 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +A8 +20 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni26A9 +ENCODING 9897 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +BC +48 +ENDCHAR +STARTCHAR uni26AA +ENCODING 9898 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni26AB +ENCODING 9899 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +F8 +F8 +F8 +70 +ENDCHAR +STARTCHAR uni26AC +ENCODING 9900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni26AD +ENCODING 9901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni26AE +ENCODING 9902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni26AF +ENCODING 9903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +B4 +48 +ENDCHAR +STARTCHAR uni26B0 +ENCODING 9904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +50 +88 +88 +88 +50 +50 +50 +70 +ENDCHAR +STARTCHAR uni26B1 +ENCODING 9905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +50 +70 +88 +88 +88 +50 +50 +70 +ENDCHAR +STARTCHAR uni26B2 +ENCODING 9906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +70 +20 +20 +ENDCHAR +STARTCHAR uni26B3 +ENCODING 9907 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -1 +BITMAP +E0 +10 +10 +10 +60 +40 +E0 +40 +ENDCHAR +STARTCHAR uni26B4 +ENCODING 9908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +50 +88 +50 +20 +20 +70 +20 +ENDCHAR +STARTCHAR uni26B5 +ENCODING 9909 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +A8 +70 +F8 +70 +A8 +20 +20 +70 +20 +ENDCHAR +STARTCHAR uni26B6 +ENCODING 9910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +88 +50 +20 +00 +D8 +20 +ENDCHAR +STARTCHAR uni26B7 +ENCODING 9911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +28 +30 +20 +30 +28 +20 +70 +88 +70 +ENDCHAR +STARTCHAR uni26B8 +ENCODING 9912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -1 +BITMAP +70 +C0 +C0 +C0 +C0 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni26B9 +ENCODING 9913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +50 +F8 +50 +88 +ENDCHAR +STARTCHAR uni26BA +ENCODING 9914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +50 +50 +20 +F8 +ENDCHAR +STARTCHAR uni26BB +ENCODING 9915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni26BC +ENCODING 9916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +A8 +F8 +20 +30 +ENDCHAR +STARTCHAR uni26C0 +ENCODING 9920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni26C1 +ENCODING 9921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +F8 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni26C2 +ENCODING 9922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +F8 +F8 +F8 +70 +ENDCHAR +STARTCHAR uni26C3 +ENCODING 9923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +F8 +70 +88 +F8 +70 +ENDCHAR +STARTCHAR uni2701 +ENCODING 9985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +90 +FC +20 +40 +60 +ENDCHAR +STARTCHAR uni2702 +ENCODING 9986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C4 +C8 +30 +C8 +C4 +ENDCHAR +STARTCHAR uni2703 +ENCODING 9987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +60 +40 +20 +FC +90 +ENDCHAR +STARTCHAR uni2704 +ENCODING 9988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +CC +94 +E8 +30 +E8 +94 +CC +ENDCHAR +STARTCHAR uni2706 +ENCODING 9990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +78 +84 +B4 +B4 +A4 +B4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni2707 +ENCODING 9991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +78 +84 +B4 +84 +B4 +84 +CC +84 +78 +ENDCHAR +STARTCHAR uni2708 +ENCODING 9992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +B0 +FC +B0 +20 +ENDCHAR +STARTCHAR uni2709 +ENCODING 9993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +FC +CC +B4 +84 +FC +ENDCHAR +STARTCHAR uni270C +ENCODING 9996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +90 +90 +50 +70 +F0 +F0 +F0 +70 +ENDCHAR +STARTCHAR uni270D +ENCODING 9997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +04 +38 +7C +7C +40 +80 +ENDCHAR +STARTCHAR uni270E +ENCODING 9998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +E0 +50 +28 +14 +0C +ENDCHAR +STARTCHAR uni270F +ENCODING 9999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +F8 +8C +F8 +ENDCHAR +STARTCHAR uni2710 +ENCODING 10000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +0C +14 +28 +50 +E0 +40 +ENDCHAR +STARTCHAR uni2711 +ENCODING 10001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +F8 +84 +84 +F8 +ENDCHAR +STARTCHAR uni2712 +ENCODING 10002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +F8 +F4 +F8 +ENDCHAR +STARTCHAR uni2713 +ENCODING 10003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +10 +10 +A0 +E0 +40 +ENDCHAR +STARTCHAR uni2714 +ENCODING 10004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +0C +1C +D8 +F8 +70 +30 +ENDCHAR +STARTCHAR uni2715 +ENCODING 10005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni2716 +ENCODING 10006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +F8 +20 +F8 +D8 +ENDCHAR +STARTCHAR uni2717 +ENCODING 10007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +20 +50 +88 +80 +ENDCHAR +STARTCHAR uni2718 +ENCODING 10008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +CC +CC +78 +70 +FC +CC +C0 +ENDCHAR +STARTCHAR uni2719 +ENCODING 10009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +78 +CC +A4 +F4 +A4 +CC +78 +ENDCHAR +STARTCHAR uni271A +ENCODING 10010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +30 +FC +FC +30 +30 +ENDCHAR +STARTCHAR uni271B +ENCODING 10011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +D8 +20 +20 +ENDCHAR +STARTCHAR uni271C +ENCODING 10012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +30 +CC +CC +30 +30 +ENDCHAR +STARTCHAR uni271D +ENCODING 10013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni271E +ENCODING 10014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +70 +50 +D8 +88 +D8 +50 +50 +50 +50 +70 +ENDCHAR +STARTCHAR uni271F +ENCODING 10015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +DC +BC +DC +58 +58 +58 +78 +78 +ENDCHAR +STARTCHAR uni2720 +ENCODING 10016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +20 +A8 +F8 +A8 +20 +70 +ENDCHAR +STARTCHAR uni2721 +ENCODING 10017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +50 +50 +50 +F8 +20 +ENDCHAR +STARTCHAR uni2722 +ENCODING 10018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2723 +ENCODING 10019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +30 +30 +FC +FC +30 +30 +ENDCHAR +STARTCHAR uni2724 +ENCODING 10020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +30 +78 +30 +FC +FC +30 +78 +30 +ENDCHAR +STARTCHAR uni2725 +ENCODING 10021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +F8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2726 +ENCODING 10022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2727 +ENCODING 10023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +D8 +70 +20 +ENDCHAR +STARTCHAR uni2729 +ENCODING 10025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +D8 +50 +20 +50 +ENDCHAR +STARTCHAR uni272A +ENCODING 10026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +D8 +88 +D8 +A8 +F8 +70 +ENDCHAR +STARTCHAR uni272B +ENCODING 10027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +50 +70 +88 +ENDCHAR +STARTCHAR uni272C +ENCODING 10028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni272D +ENCODING 10029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni272E +ENCODING 10030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni272F +ENCODING 10031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +E8 +30 +50 +88 +ENDCHAR +STARTCHAR uni2730 +ENCODING 10032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +58 +8C +58 +AC +58 +ENDCHAR +STARTCHAR uni2731 +ENCODING 10033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2732 +ENCODING 10034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +50 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2733 +ENCODING 10035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2734 +ENCODING 10036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2735 +ENCODING 10037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2736 +ENCODING 10038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2737 +ENCODING 10039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +50 +20 +A8 +70 +70 +A8 +20 +50 +ENDCHAR +STARTCHAR uni2738 +ENCODING 10040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +50 +20 +A8 +70 +70 +A8 +20 +50 +ENDCHAR +STARTCHAR uni2739 +ENCODING 10041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +50 +F8 +7C +F8 +7C +F8 +50 +ENDCHAR +STARTCHAR uni273A +ENCODING 10042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +50 +A8 +74 +F8 +74 +A8 +50 +ENDCHAR +STARTCHAR uni273B +ENCODING 10043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni273C +ENCODING 10044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +50 +70 +A8 +20 +ENDCHAR +STARTCHAR uni273D +ENCODING 10045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni273E +ENCODING 10046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A8 +D8 +50 +A8 +74 +A8 +20 +ENDCHAR +STARTCHAR uni273F +ENCODING 10047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +20 +70 +F8 +D8 +70 +F8 +D8 +ENDCHAR +STARTCHAR uni2740 +ENCODING 10048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +20 +70 +D8 +A8 +50 +F8 +D8 +ENDCHAR +STARTCHAR uni2741 +ENCODING 10049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +70 +D8 +70 +F8 +20 +ENDCHAR +STARTCHAR uni2742 +ENCODING 10050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +A8 +D8 +A8 +F8 +70 +ENDCHAR +STARTCHAR uni2743 +ENCODING 10051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2744 +ENCODING 10052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2745 +ENCODING 10053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2746 +ENCODING 10054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2747 +ENCODING 10055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2748 +ENCODING 10056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2749 +ENCODING 10057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni274A +ENCODING 10058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni274B +ENCODING 10059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni274D +ENCODING 10061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +78 +8C +8C +8C +78 +ENDCHAR +STARTCHAR uni274F +ENCODING 10063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +F8 +8C +8C +8C +FC +7C +ENDCHAR +STARTCHAR uni2750 +ENCODING 10064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +7C +FC +8C +8C +8C +F8 +ENDCHAR +STARTCHAR uni2751 +ENCODING 10065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +F8 +8C +8C +8C +FC +7C +ENDCHAR +STARTCHAR uni2752 +ENCODING 10066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +7C +FC +8C +8C +8C +F8 +ENDCHAR +STARTCHAR uni2756 +ENCODING 10070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +38 +54 +EC +54 +38 +10 +ENDCHAR +STARTCHAR uni2758 +ENCODING 10072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2759 +ENCODING 10073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 7 1 0 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni275A +ENCODING 10074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni275B +ENCODING 10075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 4 +BITMAP +60 +80 +E0 +F0 +60 +ENDCHAR +STARTCHAR uni275C +ENCODING 10076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 4 +BITMAP +60 +F0 +70 +10 +60 +ENDCHAR +STARTCHAR uni275D +ENCODING 10077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 4 +BITMAP +48 +90 +D8 +FC +48 +ENDCHAR +STARTCHAR uni275E +ENCODING 10078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 4 +BITMAP +48 +FC +6C +24 +48 +ENDCHAR +STARTCHAR uni2761 +ENCODING 10081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +08 +7C +C8 +C8 +C8 +78 +08 +C8 +88 +70 +ENDCHAR +STARTCHAR uni2762 +ENCODING 10082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +F8 +70 +20 +00 +20 +70 +20 +ENDCHAR +STARTCHAR uni2763 +ENCODING 10083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +F8 +70 +20 +00 +20 +70 +20 +ENDCHAR +STARTCHAR uni2764 +ENCODING 10084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +F8 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2765 +ENCODING 10085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +F0 +F0 +78 +F0 +F0 +60 +ENDCHAR +STARTCHAR uni2766 +ENCODING 10086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +64 +B8 +20 +D8 +F8 +F0 +E4 +78 +ENDCHAR +STARTCHAR uni2767 +ENCODING 10087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +80 +58 +78 +DC +98 +40 +ENDCHAR +STARTCHAR uni2768 +ENCODING 10088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +20 +40 +C0 +C0 +C0 +C0 +40 +20 +ENDCHAR +STARTCHAR uni2769 +ENCODING 10089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +80 +40 +60 +60 +60 +60 +40 +80 +ENDCHAR +STARTCHAR uni276A +ENCODING 10090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 1 0 +BITMAP +40 +C0 +C0 +C0 +C0 +C0 +C0 +40 +ENDCHAR +STARTCHAR uni276B +ENCODING 10091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 1 0 +BITMAP +80 +C0 +C0 +C0 +C0 +C0 +C0 +80 +ENDCHAR +STARTCHAR uni276C +ENCODING 10092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +30 +30 +60 +60 +C0 +60 +60 +30 +30 +ENDCHAR +STARTCHAR uni276D +ENCODING 10093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +C0 +C0 +60 +60 +30 +60 +60 +C0 +C0 +ENDCHAR +STARTCHAR uni276E +ENCODING 10094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +18 +30 +60 +C0 +60 +30 +18 +ENDCHAR +STARTCHAR uni276F +ENCODING 10095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +60 +30 +18 +30 +60 +C0 +ENDCHAR +STARTCHAR uni2770 +ENCODING 10096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +38 +38 +70 +70 +E0 +70 +70 +38 +38 +ENDCHAR +STARTCHAR uni2771 +ENCODING 10097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +E0 +E0 +70 +70 +38 +70 +70 +E0 +E0 +ENDCHAR +STARTCHAR uni2772 +ENCODING 10098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +40 +80 +80 +80 +80 +80 +40 +20 +ENDCHAR +STARTCHAR uni2773 +ENCODING 10099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +40 +20 +20 +20 +20 +20 +40 +80 +ENDCHAR +STARTCHAR uni2774 +ENCODING 10100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +30 +60 +60 +60 +C0 +60 +60 +60 +30 +ENDCHAR +STARTCHAR uni2775 +ENCODING 10101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +C0 +60 +60 +60 +30 +60 +60 +60 +C0 +ENDCHAR +STARTCHAR uni2776 +ENCODING 10102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +98 +D8 +D8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni2777 +ENCODING 10103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +E8 +D8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni2778 +ENCODING 10104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +98 +E8 +D8 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni2779 +ENCODING 10105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +B8 +B8 +98 +88 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni277A +ENCODING 10106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +88 +B8 +98 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni277B +ENCODING 10107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +C8 +B8 +98 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni277C +ENCODING 10108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +88 +E8 +D8 +D8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni277D +ENCODING 10109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +D8 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni277E +ENCODING 10110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +C8 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni277F +ENCODING 10111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +94 +94 +94 +AC +FC +78 +ENDCHAR +STARTCHAR uni2780 +ENCODING 10112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +E8 +A8 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni2781 +ENCODING 10113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +98 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni2782 +ENCODING 10114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +E8 +98 +A8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2783 +ENCODING 10115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +C8 +C8 +E8 +F8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2784 +ENCODING 10116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +F8 +C8 +E8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2785 +ENCODING 10117 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +B8 +C8 +E8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2786 +ENCODING 10118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +F8 +98 +A8 +A8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2787 +ENCODING 10119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2788 +ENCODING 10120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +B8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2789 +ENCODING 10121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +EC +EC +EC +D4 +84 +78 +ENDCHAR +STARTCHAR uni278A +ENCODING 10122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +98 +D8 +D8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni278B +ENCODING 10123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +E8 +D8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni278C +ENCODING 10124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +98 +E8 +D8 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni278D +ENCODING 10125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +B8 +B8 +98 +88 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni278E +ENCODING 10126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +88 +B8 +98 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni278F +ENCODING 10127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +C8 +B8 +98 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni2790 +ENCODING 10128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +88 +E8 +D8 +D8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni2791 +ENCODING 10129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +D8 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni2792 +ENCODING 10130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +C8 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni2793 +ENCODING 10131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +94 +94 +94 +AC +FC +78 +ENDCHAR +STARTCHAR uni2794 +ENCODING 10132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +18 +FC +18 +30 +ENDCHAR +STARTCHAR uni2798 +ENCODING 10136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +40 +28 +18 +38 +ENDCHAR +STARTCHAR uni2799 +ENCODING 10137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +30 +F8 +30 +20 +ENDCHAR +STARTCHAR uni279A +ENCODING 10138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +18 +28 +40 +80 +ENDCHAR +STARTCHAR uni279B +ENCODING 10139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +30 +FC +30 +40 +ENDCHAR +STARTCHAR uni279C +ENCODING 10140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +38 +FC +FC +38 +30 +ENDCHAR +STARTCHAR uni279D +ENCODING 10141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +08 +FC +08 +ENDCHAR +STARTCHAR uni279E +ENCODING 10142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +18 +FC +FC +18 +10 +ENDCHAR +STARTCHAR uni279F +ENCODING 10143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +08 +BC +08 +ENDCHAR +STARTCHAR uni27A0 +ENCODING 10144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +18 +BC +BC +18 +10 +ENDCHAR +STARTCHAR uni27A1 +ENCODING 10145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +F8 +FC +F8 +10 +ENDCHAR +STARTCHAR uni27A2 +ENCODING 10146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +B0 +48 +3C +78 +F0 +C0 +ENDCHAR +STARTCHAR uni27A3 +ENCODING 10147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +F0 +78 +3C +48 +B0 +C0 +ENDCHAR +STARTCHAR uni27A4 +ENCODING 10148 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +E0 +78 +3C +78 +E0 +ENDCHAR +STARTCHAR uni27A5 +ENCODING 10149 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +80 +90 +F8 +FC +78 +10 +ENDCHAR +STARTCHAR uni27A6 +ENCODING 10150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +78 +FC +F8 +90 +80 +ENDCHAR +STARTCHAR uni27A7 +ENCODING 10151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +F0 +F8 +FC +F8 +F0 +20 +ENDCHAR +STARTCHAR uni27A8 +ENCODING 10152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +F0 +FC +F0 +20 +ENDCHAR +STARTCHAR uni27A9 +ENCODING 10153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AA +ENCODING 10154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AB +ENCODING 10155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AC +ENCODING 10156 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AD +ENCODING 10157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +E8 +84 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AE +ENCODING 10158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +E8 +84 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AF +ENCODING 10159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27B1 +ENCODING 10161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27B2 +ENCODING 10162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +DC +0C +04 +0C +DC +78 +ENDCHAR +STARTCHAR uni27B3 +ENCODING 10163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +E8 +7C +E8 +ENDCHAR +STARTCHAR uni27B4 +ENCODING 10164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +E0 +60 +10 +0C +0C +ENDCHAR +STARTCHAR uni27B5 +ENCODING 10165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +E8 +7C +E8 +ENDCHAR +STARTCHAR uni27B6 +ENCODING 10166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +0C +0C +10 +60 +E0 +40 +ENDCHAR +STARTCHAR uni27B7 +ENCODING 10167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +60 +E0 +E0 +14 +0C +1C +ENDCHAR +STARTCHAR uni27B8 +ENCODING 10168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +C0 +E8 +7C +E8 +C0 +ENDCHAR +STARTCHAR uni27B9 +ENCODING 10169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +1C +0C +14 +E0 +E0 +60 +ENDCHAR +STARTCHAR uni27BA +ENCODING 10170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +10 +C8 +FC +C8 +10 +ENDCHAR +STARTCHAR uni27BB +ENCODING 10171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +10 +C8 +FC +C8 +10 +ENDCHAR +STARTCHAR uni27BC +ENCODING 10172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +E8 +7C +E8 +ENDCHAR +STARTCHAR uni27BD +ENCODING 10173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +E8 +FC +FC +E8 +ENDCHAR +STARTCHAR uni27BE +ENCODING 10174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +50 +E8 +04 +E8 +50 +ENDCHAR +STARTCHAR uni27C0 +ENCODING 10176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +90 +A0 +C0 +F8 +ENDCHAR +STARTCHAR uni27C1 +ENCODING 10177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +50 +70 +A8 +F8 +ENDCHAR +STARTCHAR uni27C2 +ENCODING 10178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni27C3 +ENCODING 10179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +80 +90 +A8 +90 +80 +78 +ENDCHAR +STARTCHAR uni27C4 +ENCODING 10180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +08 +48 +A8 +48 +08 +F0 +ENDCHAR +STARTCHAR uni27C5 +ENCODING 10181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +40 +A0 +A0 +20 +20 +40 +40 +40 +30 +ENDCHAR +STARTCHAR uni27C6 +ENCODING 10182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +20 +50 +50 +40 +40 +20 +20 +20 +C0 +ENDCHAR +STARTCHAR uni27C7 +ENCODING 10183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +A8 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni27C8 +ENCODING 10184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +80 +9C +A0 +A0 +A0 +5C +40 +40 +ENDCHAR +STARTCHAR uni27C9 +ENCODING 10185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +04 +E4 +14 +14 +14 +E8 +08 +08 +ENDCHAR +STARTCHAR uni27CA +ENCODING 10186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +40 +40 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni27CC +ENCODING 10188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +40 +20 +20 +20 +20 +40 +ENDCHAR +STARTCHAR uni27D0 +ENCODING 10192 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +A8 +50 +20 +ENDCHAR +STARTCHAR uni27D1 +ENCODING 10193 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +A8 +88 +ENDCHAR +STARTCHAR uni27D2 +ENCODING 10194 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni27D3 +ENCODING 10195 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +08 +28 +08 +F8 +ENDCHAR +STARTCHAR uni27D4 +ENCODING 10196 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +80 +A0 +80 +80 +ENDCHAR +STARTCHAR uni27D5 +ENCODING 10197 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C4 +6C +54 +6C +C4 +ENDCHAR +STARTCHAR uni27D6 +ENCODING 10198 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +8C +D8 +A8 +D8 +8C +ENDCHAR +STARTCHAR uni27D7 +ENCODING 10199 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +CC +78 +48 +78 +CC +ENDCHAR +STARTCHAR uni27D8 +ENCODING 10200 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni27D9 +ENCODING 10201 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni27DA +ENCODING 10202 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +50 +D8 +50 +D8 +50 +ENDCHAR +STARTCHAR uni27DB +ENCODING 10203 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +50 +50 +D8 +50 +50 +ENDCHAR +STARTCHAR uni27DC +ENCODING 10204 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +40 +BC +40 +ENDCHAR +STARTCHAR uni27DD +ENCODING 10205 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +80 +FC +80 +ENDCHAR +STARTCHAR uni27DE +ENCODING 10206 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +04 +FC +04 +ENDCHAR +STARTCHAR uni27DF +ENCODING 10207 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni27E0 +ENCODING 10208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +F8 +50 +20 +ENDCHAR +STARTCHAR uni27E1 +ENCODING 10209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni27E2 +ENCODING 10210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +28 +C4 +28 +10 +ENDCHAR +STARTCHAR uni27E3 +ENCODING 10211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +50 +8C +50 +20 +ENDCHAR +STARTCHAR uni27E4 +ENCODING 10212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +7C +44 +C4 +44 +7C +ENDCHAR +STARTCHAR uni27E5 +ENCODING 10213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +F8 +88 +8C +88 +F8 +ENDCHAR +STARTCHAR uni27E6 +ENCODING 10214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +F8 +ENDCHAR +STARTCHAR uni27E7 +ENCODING 10215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +28 +28 +28 +28 +28 +28 +28 +28 +F8 +ENDCHAR +STARTCHAR uni27E8 +ENCODING 10216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +20 +40 +40 +80 +40 +40 +20 +20 +ENDCHAR +STARTCHAR uni27E9 +ENCODING 10217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +80 +40 +40 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni27EA +ENCODING 10218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +14 +28 +28 +50 +50 +A0 +50 +50 +28 +28 +14 +ENDCHAR +STARTCHAR uni27EB +ENCODING 10219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +A0 +50 +50 +28 +28 +14 +28 +28 +50 +50 +A0 +ENDCHAR +STARTCHAR uni27EC +ENCODING 10220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +10 +20 +60 +A0 +A0 +A0 +A0 +A0 +60 +20 +10 +ENDCHAR +STARTCHAR uni27ED +ENCODING 10221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 1 -2 +BITMAP +80 +40 +60 +50 +50 +50 +50 +50 +50 +60 +40 +80 +ENDCHAR +STARTCHAR uni27EE +ENCODING 10222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 9 1 -1 +BITMAP +80 +40 +40 +40 +40 +40 +40 +40 +80 +ENDCHAR +STARTCHAR uni27EF +ENCODING 10223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 9 1 -1 +BITMAP +40 +80 +80 +80 +80 +80 +80 +80 +40 +ENDCHAR +STARTCHAR uni27F0 +ENCODING 10224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni27F1 +ENCODING 10225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni27F2 +ENCODING 10226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +38 +44 +E4 +44 +04 +44 +38 +ENDCHAR +STARTCHAR uni27F3 +ENCODING 10227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +70 +88 +9C +88 +80 +88 +70 +ENDCHAR +STARTCHAR uni27F4 +ENCODING 10228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +68 +FC +68 +ENDCHAR +STARTCHAR uni27F5 +ENCODING 10229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +FC +40 +20 +ENDCHAR +STARTCHAR uni27F6 +ENCODING 10230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +08 +FC +08 +10 +ENDCHAR +STARTCHAR uni27F7 +ENCODING 10231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +48 +FC +48 +ENDCHAR +STARTCHAR uni27F8 +ENCODING 10232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +20 +7C +80 +7C +20 +10 +ENDCHAR +STARTCHAR uni27F9 +ENCODING 10233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +10 +F8 +04 +F8 +10 +20 +ENDCHAR +STARTCHAR uni27FA +ENCODING 10234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +48 +FC +84 +FC +48 +ENDCHAR +STARTCHAR uni27FB +ENCODING 10235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +24 +44 +FC +44 +24 +ENDCHAR +STARTCHAR uni27FC +ENCODING 10236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +90 +88 +FC +88 +90 +ENDCHAR +STARTCHAR uni27FD +ENCODING 10237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +24 +7C +84 +7C +24 +14 +ENDCHAR +STARTCHAR uni27FE +ENCODING 10238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +90 +F8 +84 +F8 +90 +A0 +ENDCHAR +STARTCHAR uni27FF +ENCODING 10239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +08 +5C +AC +08 +ENDCHAR +STARTCHAR uni2800 +ENCODING 10240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR uni2801 +ENCODING 10241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 7 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2802 +ENCODING 10242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 4 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2803 +ENCODING 10243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 0 4 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2804 +ENCODING 10244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 1 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2805 +ENCODING 10245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 0 1 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2806 +ENCODING 10246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 0 1 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2807 +ENCODING 10247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 0 1 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2808 +ENCODING 10248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 7 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2809 +ENCODING 10249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni280A +ENCODING 10250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280B +ENCODING 10251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280C +ENCODING 10252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280D +ENCODING 10253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280E +ENCODING 10254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280F +ENCODING 10255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2810 +ENCODING 10256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 4 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2811 +ENCODING 10257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2812 +ENCODING 10258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 4 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni2813 +ENCODING 10259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2814 +ENCODING 10260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2815 +ENCODING 10261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2816 +ENCODING 10262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2817 +ENCODING 10263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2818 +ENCODING 10264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 3 4 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2819 +ENCODING 10265 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni281A +ENCODING 10266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni281B +ENCODING 10267 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni281C +ENCODING 10268 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni281D +ENCODING 10269 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni281E +ENCODING 10270 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni281F +ENCODING 10271 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2820 +ENCODING 10272 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 1 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2821 +ENCODING 10273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2822 +ENCODING 10274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2823 +ENCODING 10275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2824 +ENCODING 10276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 1 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni2825 +ENCODING 10277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2826 +ENCODING 10278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2827 +ENCODING 10279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2828 +ENCODING 10280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 3 1 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2829 +ENCODING 10281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni282A +ENCODING 10282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni282B +ENCODING 10283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni282C +ENCODING 10284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni282D +ENCODING 10285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni282E +ENCODING 10286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni282F +ENCODING 10287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2830 +ENCODING 10288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 3 1 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2831 +ENCODING 10289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni2832 +ENCODING 10290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni2833 +ENCODING 10291 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni2834 +ENCODING 10292 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2835 +ENCODING 10293 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2836 +ENCODING 10294 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2837 +ENCODING 10295 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2838 +ENCODING 10296 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 3 1 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2839 +ENCODING 10297 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni283A +ENCODING 10298 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni283B +ENCODING 10299 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni283C +ENCODING 10300 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni283D +ENCODING 10301 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni283E +ENCODING 10302 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni283F +ENCODING 10303 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2840 +ENCODING 10304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 -2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2841 +ENCODING 10305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2842 +ENCODING 10306 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2843 +ENCODING 10307 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2844 +ENCODING 10308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2845 +ENCODING 10309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2846 +ENCODING 10310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2847 +ENCODING 10311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2848 +ENCODING 10312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2849 +ENCODING 10313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284A +ENCODING 10314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284B +ENCODING 10315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284C +ENCODING 10316 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284D +ENCODING 10317 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284E +ENCODING 10318 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284F +ENCODING 10319 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2850 +ENCODING 10320 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2851 +ENCODING 10321 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2852 +ENCODING 10322 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2853 +ENCODING 10323 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2854 +ENCODING 10324 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2855 +ENCODING 10325 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2856 +ENCODING 10326 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2857 +ENCODING 10327 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2858 +ENCODING 10328 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2859 +ENCODING 10329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285A +ENCODING 10330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285B +ENCODING 10331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285C +ENCODING 10332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285D +ENCODING 10333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285E +ENCODING 10334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285F +ENCODING 10335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2860 +ENCODING 10336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2861 +ENCODING 10337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2862 +ENCODING 10338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2863 +ENCODING 10339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2864 +ENCODING 10340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2865 +ENCODING 10341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2866 +ENCODING 10342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2867 +ENCODING 10343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2868 +ENCODING 10344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2869 +ENCODING 10345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286A +ENCODING 10346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286B +ENCODING 10347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286C +ENCODING 10348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286D +ENCODING 10349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286E +ENCODING 10350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286F +ENCODING 10351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2870 +ENCODING 10352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2871 +ENCODING 10353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2872 +ENCODING 10354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2873 +ENCODING 10355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2874 +ENCODING 10356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2875 +ENCODING 10357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2876 +ENCODING 10358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2877 +ENCODING 10359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2878 +ENCODING 10360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2879 +ENCODING 10361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287A +ENCODING 10362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287B +ENCODING 10363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287C +ENCODING 10364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287D +ENCODING 10365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287E +ENCODING 10366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287F +ENCODING 10367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2880 +ENCODING 10368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 -2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2881 +ENCODING 10369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2882 +ENCODING 10370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2883 +ENCODING 10371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2884 +ENCODING 10372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2885 +ENCODING 10373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2886 +ENCODING 10374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2887 +ENCODING 10375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2888 +ENCODING 10376 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 3 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2889 +ENCODING 10377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni288A +ENCODING 10378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni288B +ENCODING 10379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni288C +ENCODING 10380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni288D +ENCODING 10381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni288E +ENCODING 10382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni288F +ENCODING 10383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2890 +ENCODING 10384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 3 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2891 +ENCODING 10385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2892 +ENCODING 10386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2893 +ENCODING 10387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2894 +ENCODING 10388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2895 +ENCODING 10389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2896 +ENCODING 10390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2897 +ENCODING 10391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2898 +ENCODING 10392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 3 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2899 +ENCODING 10393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni289A +ENCODING 10394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni289B +ENCODING 10395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni289C +ENCODING 10396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni289D +ENCODING 10397 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni289E +ENCODING 10398 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni289F +ENCODING 10399 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A0 +ENCODING 10400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 3 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni28A1 +ENCODING 10401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A2 +ENCODING 10402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A3 +ENCODING 10403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A4 +ENCODING 10404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A5 +ENCODING 10405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A6 +ENCODING 10406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A7 +ENCODING 10407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A8 +ENCODING 10408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 3 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni28A9 +ENCODING 10409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AA +ENCODING 10410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AB +ENCODING 10411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AC +ENCODING 10412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AD +ENCODING 10413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AE +ENCODING 10414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AF +ENCODING 10415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B0 +ENCODING 10416 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 3 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni28B1 +ENCODING 10417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B2 +ENCODING 10418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B3 +ENCODING 10419 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B4 +ENCODING 10420 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B5 +ENCODING 10421 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B6 +ENCODING 10422 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B7 +ENCODING 10423 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B8 +ENCODING 10424 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 3 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni28B9 +ENCODING 10425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BA +ENCODING 10426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BB +ENCODING 10427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BC +ENCODING 10428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BD +ENCODING 10429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BE +ENCODING 10430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BF +ENCODING 10431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28C0 +ENCODING 10432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni28C1 +ENCODING 10433 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C2 +ENCODING 10434 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C3 +ENCODING 10435 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C4 +ENCODING 10436 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C5 +ENCODING 10437 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C6 +ENCODING 10438 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C7 +ENCODING 10439 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C8 +ENCODING 10440 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C9 +ENCODING 10441 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CA +ENCODING 10442 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CB +ENCODING 10443 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CC +ENCODING 10444 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CD +ENCODING 10445 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CE +ENCODING 10446 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CF +ENCODING 10447 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D0 +ENCODING 10448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D1 +ENCODING 10449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D2 +ENCODING 10450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D3 +ENCODING 10451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D4 +ENCODING 10452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D5 +ENCODING 10453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D6 +ENCODING 10454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D7 +ENCODING 10455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D8 +ENCODING 10456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D9 +ENCODING 10457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DA +ENCODING 10458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DB +ENCODING 10459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DC +ENCODING 10460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DD +ENCODING 10461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DE +ENCODING 10462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DF +ENCODING 10463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E0 +ENCODING 10464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E1 +ENCODING 10465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E2 +ENCODING 10466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E3 +ENCODING 10467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E4 +ENCODING 10468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E5 +ENCODING 10469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E6 +ENCODING 10470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E7 +ENCODING 10471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E8 +ENCODING 10472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E9 +ENCODING 10473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EA +ENCODING 10474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EB +ENCODING 10475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EC +ENCODING 10476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28ED +ENCODING 10477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EE +ENCODING 10478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EF +ENCODING 10479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F0 +ENCODING 10480 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F1 +ENCODING 10481 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F2 +ENCODING 10482 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F3 +ENCODING 10483 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F4 +ENCODING 10484 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F5 +ENCODING 10485 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F6 +ENCODING 10486 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F7 +ENCODING 10487 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F8 +ENCODING 10488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F9 +ENCODING 10489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FA +ENCODING 10490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FB +ENCODING 10491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FC +ENCODING 10492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FD +ENCODING 10493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FE +ENCODING 10494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FF +ENCODING 10495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2900 +ENCODING 10496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +58 +FC +58 +40 +ENDCHAR +STARTCHAR uni2901 +ENCODING 10497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +60 +68 +FC +68 +60 +ENDCHAR +STARTCHAR uni2902 +ENCODING 10498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +7C +88 +7C +28 +ENDCHAR +STARTCHAR uni2903 +ENCODING 10499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +50 +F8 +44 +F8 +50 +ENDCHAR +STARTCHAR uni2904 +ENCODING 10500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +78 +A4 +78 +20 +ENDCHAR +STARTCHAR uni2905 +ENCODING 10501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +98 +FC +98 +ENDCHAR +STARTCHAR uni2906 +ENCODING 10502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +24 +7C +84 +7C +24 +14 +ENDCHAR +STARTCHAR uni2907 +ENCODING 10503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +90 +F8 +84 +F8 +90 +A0 +ENDCHAR +STARTCHAR uni2908 +ENCODING 10504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2909 +ENCODING 10505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni290A +ENCODING 10506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni290B +ENCODING 10507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni290C +ENCODING 10508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +EC +40 +20 +ENDCHAR +STARTCHAR uni290D +ENCODING 10509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +08 +DC +08 +10 +ENDCHAR +STARTCHAR uni290E +ENCODING 10510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +D4 +40 +20 +ENDCHAR +STARTCHAR uni290F +ENCODING 10511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +08 +AC +08 +10 +ENDCHAR +STARTCHAR uni2910 +ENCODING 10512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +98 +6C +98 +ENDCHAR +STARTCHAR uni2911 +ENCODING 10513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +10 +A8 +10 +20 +ENDCHAR +STARTCHAR uni2912 +ENCODING 10514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +70 +A8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2913 +ENCODING 10515 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +A8 +70 +20 +F8 +ENDCHAR +STARTCHAR uni2914 +ENCODING 10516 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +A8 +7C +A8 +20 +ENDCHAR +STARTCHAR uni2915 +ENCODING 10517 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +B8 +7C +B8 +30 +ENDCHAR +STARTCHAR uni2916 +ENCODING 10518 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +98 +7C +98 +ENDCHAR +STARTCHAR uni2917 +ENCODING 10519 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +B8 +7C +B8 +20 +ENDCHAR +STARTCHAR uni2918 +ENCODING 10520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +60 +F8 +7C +F8 +60 +ENDCHAR +STARTCHAR uni2919 +ENCODING 10521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +10 +E0 +10 +08 +ENDCHAR +STARTCHAR uni291A +ENCODING 10522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +80 +40 +3C +40 +80 +ENDCHAR +STARTCHAR uni291B +ENCODING 10523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +28 +50 +F0 +50 +28 +ENDCHAR +STARTCHAR uni291C +ENCODING 10524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +A0 +50 +3C +50 +A0 +ENDCHAR +STARTCHAR uni291D +ENCODING 10525 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +10 +BC +10 +ENDCHAR +STARTCHAR uni291E +ENCODING 10526 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +20 +F4 +20 +ENDCHAR +STARTCHAR uni291F +ENCODING 10527 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +14 +BC +14 +ENDCHAR +STARTCHAR uni2920 +ENCODING 10528 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +A0 +F4 +A0 +ENDCHAR +STARTCHAR uni2921 +ENCODING 10529 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +E0 +C0 +A8 +18 +38 +ENDCHAR +STARTCHAR uni2922 +ENCODING 10530 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +18 +A8 +C0 +E0 +ENDCHAR +STARTCHAR uni2923 +ENCODING 10531 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +E0 +C0 +A0 +10 +08 +18 +ENDCHAR +STARTCHAR uni2924 +ENCODING 10532 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +18 +28 +40 +80 +C0 +ENDCHAR +STARTCHAR uni2925 +ENCODING 10533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +C0 +80 +40 +28 +18 +38 +ENDCHAR +STARTCHAR uni2926 +ENCODING 10534 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +18 +08 +10 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni2927 +ENCODING 10535 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni2928 +ENCODING 10536 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +58 +20 +58 +98 +ENDCHAR +STARTCHAR uni2929 +ENCODING 10537 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +D8 +D8 +ENDCHAR +STARTCHAR uni292A +ENCODING 10538 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C8 +D0 +20 +D0 +C8 +ENDCHAR +STARTCHAR uni292B +ENCODING 10539 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni292C +ENCODING 10540 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni292D +ENCODING 10541 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +58 +20 +58 +98 +ENDCHAR +STARTCHAR uni292E +ENCODING 10542 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +58 +20 +58 +98 +ENDCHAR +STARTCHAR uni292F +ENCODING 10543 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +58 +20 +50 +88 +ENDCHAR +STARTCHAR uni2930 +ENCODING 10544 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +58 +98 +ENDCHAR +STARTCHAR uni2931 +ENCODING 10545 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni2932 +ENCODING 10546 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni2933 +ENCODING 10547 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +BC +08 +ENDCHAR +STARTCHAR uni2934 +ENCODING 10548 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +70 +A8 +20 +C0 +ENDCHAR +STARTCHAR uni2935 +ENCODING 10549 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2936 +ENCODING 10550 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +28 +48 +F0 +40 +20 +ENDCHAR +STARTCHAR uni2937 +ENCODING 10551 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +A0 +90 +78 +10 +20 +ENDCHAR +STARTCHAR uni2938 +ENCODING 10552 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +40 +20 +10 +10 +10 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni2939 +ENCODING 10553 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +20 +40 +80 +80 +80 +50 +30 +70 +ENDCHAR +STARTCHAR uni293A +ENCODING 10554 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +B0 +C8 +E0 +ENDCHAR +STARTCHAR uni293B +ENCODING 10555 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +38 +98 +68 +ENDCHAR +STARTCHAR uni293C +ENCODING 10556 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +68 +98 +38 +00 +F8 +ENDCHAR +STARTCHAR uni293D +ENCODING 10557 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +B0 +C8 +E0 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni293E +ENCODING 10558 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +10 +08 +E8 +C8 +B0 +ENDCHAR +STARTCHAR uni293F +ENCODING 10559 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +40 +80 +B8 +98 +68 +ENDCHAR +STARTCHAR uni2940 +ENCODING 10560 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +10 +20 +78 +A4 +94 +84 +84 +78 +ENDCHAR +STARTCHAR uni2941 +ENCODING 10561 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +20 +10 +78 +94 +A4 +84 +84 +78 +ENDCHAR +STARTCHAR uni2942 +ENCODING 10562 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +08 +FC +08 +10 +00 +40 +F0 +40 +ENDCHAR +STARTCHAR uni2943 +ENCODING 10563 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +20 +40 +FC +40 +20 +08 +3C +08 +ENDCHAR +STARTCHAR uni2944 +ENCODING 10564 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +3C +08 +20 +40 +FC +40 +20 +ENDCHAR +STARTCHAR uni2945 +ENCODING 10565 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +10 +40 +E0 +40 +ENDCHAR +STARTCHAR uni2946 +ENCODING 10566 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +40 +10 +38 +10 +ENDCHAR +STARTCHAR uni2947 +ENCODING 10567 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +68 +FC +68 +ENDCHAR +STARTCHAR uni2948 +ENCODING 10568 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +78 +FC +78 +ENDCHAR +STARTCHAR uni2949 +ENCODING 10569 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +70 +A8 +70 +A8 +20 +20 +20 +50 +20 +ENDCHAR +STARTCHAR uni294A +ENCODING 10570 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +40 +F8 +10 +ENDCHAR +STARTCHAR uni294B +ENCODING 10571 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +10 +F8 +40 +ENDCHAR +STARTCHAR uni294C +ENCODING 10572 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +30 +28 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni294D +ENCODING 10573 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +60 +A0 +20 +20 +20 +28 +30 +20 +ENDCHAR +STARTCHAR uni294E +ENCODING 10574 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +50 +F8 +ENDCHAR +STARTCHAR uni294F +ENCODING 10575 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 2 -1 +BITMAP +80 +C0 +A0 +80 +80 +80 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni2950 +ENCODING 10576 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 1 +BITMAP +F8 +50 +ENDCHAR +STARTCHAR uni2951 +ENCODING 10577 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +60 +A0 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni2952 +ENCODING 10578 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +90 +A0 +FC +80 +80 +ENDCHAR +STARTCHAR uni2953 +ENCODING 10579 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +24 +14 +FC +04 +04 +ENDCHAR +STARTCHAR uni2954 +ENCODING 10580 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +30 +28 +20 +20 +20 +ENDCHAR +STARTCHAR uni2955 +ENCODING 10581 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +28 +30 +20 +F8 +ENDCHAR +STARTCHAR uni2956 +ENCODING 10582 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +80 +80 +FC +A0 +90 +ENDCHAR +STARTCHAR uni2957 +ENCODING 10583 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +04 +04 +FC +14 +24 +ENDCHAR +STARTCHAR uni2958 +ENCODING 10584 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +60 +A0 +20 +20 +20 +ENDCHAR +STARTCHAR uni2959 +ENCODING 10585 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +A0 +60 +20 +F8 +ENDCHAR +STARTCHAR uni295A +ENCODING 10586 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +48 +F8 +08 +ENDCHAR +STARTCHAR uni295B +ENCODING 10587 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +90 +F8 +80 +ENDCHAR +STARTCHAR uni295C +ENCODING 10588 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +30 +28 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni295D +ENCODING 10589 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +28 +30 +20 +ENDCHAR +STARTCHAR uni295E +ENCODING 10590 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +08 +F8 +48 +ENDCHAR +STARTCHAR uni295F +ENCODING 10591 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +80 +F8 +90 +ENDCHAR +STARTCHAR uni2960 +ENCODING 10592 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +60 +A0 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni2961 +ENCODING 10593 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni2962 +ENCODING 10594 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +40 +F8 +00 +F8 +40 +ENDCHAR +STARTCHAR uni2963 +ENCODING 10595 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +D8 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni2964 +ENCODING 10596 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +F8 +00 +F8 +10 +ENDCHAR +STARTCHAR uni2965 +ENCODING 10597 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +50 +50 +50 +D8 +50 +ENDCHAR +STARTCHAR uni2966 +ENCODING 10598 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +40 +F8 +00 +10 +F8 +ENDCHAR +STARTCHAR uni2967 +ENCODING 10599 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +40 +00 +F8 +10 +ENDCHAR +STARTCHAR uni2968 +ENCODING 10600 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +10 +F8 +00 +40 +F8 +ENDCHAR +STARTCHAR uni2969 +ENCODING 10601 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +00 +F8 +40 +ENDCHAR +STARTCHAR uni296A +ENCODING 10602 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +40 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni296B +ENCODING 10603 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +00 +F8 +40 +ENDCHAR +STARTCHAR uni296C +ENCODING 10604 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +10 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni296D +ENCODING 10605 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +00 +F8 +10 +ENDCHAR +STARTCHAR uni296E +ENCODING 10606 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +D0 +50 +50 +50 +58 +50 +ENDCHAR +STARTCHAR uni296F +ENCODING 10607 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +58 +50 +50 +50 +D0 +50 +ENDCHAR +STARTCHAR uni2970 +ENCODING 10608 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F0 +08 +F0 +ENDCHAR +STARTCHAR uni2971 +ENCODING 10609 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +E0 +00 +E0 +00 +10 +F8 +10 +ENDCHAR +STARTCHAR uni2972 +ENCODING 10610 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +10 +F8 +10 +ENDCHAR +STARTCHAR uni2973 +ENCODING 10611 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +40 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2974 +ENCODING 10612 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +10 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2975 +ENCODING 10613 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +F8 +10 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2976 +ENCODING 10614 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +18 +60 +80 +60 +18 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2977 +ENCODING 10615 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +50 +F8 +50 +08 +ENDCHAR +STARTCHAR uni2978 +ENCODING 10616 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C0 +30 +08 +30 +C0 +10 +F8 +10 +ENDCHAR +STARTCHAR uni2979 +ENCODING 10617 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +80 +80 +78 +00 +10 +F8 +10 +ENDCHAR +STARTCHAR uni297A +ENCODING 10618 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +0C +50 +F8 +50 +0C +ENDCHAR +STARTCHAR uni297B +ENCODING 10619 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +08 +08 +F0 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni297C +ENCODING 10620 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +40 +80 +78 +80 +40 +ENDCHAR +STARTCHAR uni297D +ENCODING 10621 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +08 +F0 +08 +10 +ENDCHAR +STARTCHAR uni297E +ENCODING 10622 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +20 +20 +20 +ENDCHAR +STARTCHAR uni297F +ENCODING 10623 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +20 +20 +A8 +50 +ENDCHAR +STARTCHAR uni2980 +ENCODING 10624 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2981 +ENCODING 10625 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +60 +F0 +F0 +60 +ENDCHAR +STARTCHAR uni2982 +ENCODING 10626 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +40 +00 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2983 +ENCODING 10627 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +38 +50 +50 +50 +90 +50 +50 +50 +38 +ENDCHAR +STARTCHAR uni2984 +ENCODING 10628 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +E0 +50 +50 +50 +48 +50 +50 +50 +E0 +ENDCHAR +STARTCHAR uni2985 +ENCODING 10629 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +10 +20 +60 +60 +A0 +A0 +60 +60 +20 +10 +ENDCHAR +STARTCHAR uni2986 +ENCODING 10630 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +80 +40 +60 +60 +50 +50 +60 +60 +40 +80 +ENDCHAR +STARTCHAR uni2987 +ENCODING 10631 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +20 +60 +60 +A0 +A0 +A0 +A0 +60 +60 +20 +ENDCHAR +STARTCHAR uni2988 +ENCODING 10632 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +80 +C0 +C0 +A0 +A0 +A0 +A0 +C0 +C0 +80 +ENDCHAR +STARTCHAR uni2989 +ENCODING 10633 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +10 +30 +30 +50 +50 +90 +50 +50 +30 +30 +10 +ENDCHAR +STARTCHAR uni298A +ENCODING 10634 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +80 +C0 +C0 +A0 +A0 +90 +A0 +A0 +C0 +C0 +80 +ENDCHAR +STARTCHAR uni298B +ENCODING 10635 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +E0 +00 +E0 +ENDCHAR +STARTCHAR uni298C +ENCODING 10636 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +E0 +00 +E0 +ENDCHAR +STARTCHAR uni298D +ENCODING 10637 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +E0 +C0 +A0 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni298E +ENCODING 10638 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +A0 +60 +E0 +ENDCHAR +STARTCHAR uni298F +ENCODING 10639 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni2990 +ENCODING 10640 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +E0 +60 +A0 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni2991 +ENCODING 10641 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +10 +20 +20 +40 +40 +90 +40 +40 +20 +20 +10 +ENDCHAR +STARTCHAR uni2992 +ENCODING 10642 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +80 +40 +40 +20 +20 +90 +20 +20 +40 +40 +80 +ENDCHAR +STARTCHAR uni2993 +ENCODING 10643 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +20 +38 +60 +A0 +60 +38 +20 +10 +ENDCHAR +STARTCHAR uni2994 +ENCODING 10644 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +40 +20 +E0 +30 +28 +30 +E0 +20 +40 +ENDCHAR +STARTCHAR uni2995 +ENCODING 10645 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +28 +50 +D0 +70 +58 +70 +D0 +50 +28 +ENDCHAR +STARTCHAR uni2996 +ENCODING 10646 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +A0 +50 +58 +70 +D0 +70 +58 +50 +A0 +ENDCHAR +STARTCHAR uni2997 +ENCODING 10647 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +20 +40 +C0 +C0 +C0 +C0 +C0 +C0 +40 +20 +ENDCHAR +STARTCHAR uni2998 +ENCODING 10648 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +80 +40 +60 +60 +60 +60 +60 +60 +40 +80 +ENDCHAR +STARTCHAR uni2999 +ENCODING 10649 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni299A +ENCODING 10650 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 1 0 +BITMAP +80 +40 +80 +40 +80 +40 +80 +40 +ENDCHAR +STARTCHAR uni299B +ENCODING 10651 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +20 +10 +28 +FC +ENDCHAR +STARTCHAR uni299C +ENCODING 10652 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +80 +80 +E0 +A0 +F8 +ENDCHAR +STARTCHAR uni299D +ENCODING 10653 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +80 +80 +E0 +90 +A8 +88 +FC +ENDCHAR +STARTCHAR uni299E +ENCODING 10654 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +10 +20 +2C +48 +44 +8C +80 +FC +ENDCHAR +STARTCHAR uni299F +ENCODING 10655 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +04 +18 +60 +FC +ENDCHAR +STARTCHAR uni29A0 +ENCODING 10656 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +60 +38 +24 +38 +60 +90 +ENDCHAR +STARTCHAR uni29A1 +ENCODING 10657 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +70 +D8 +20 +ENDCHAR +STARTCHAR uni29A2 +ENCODING 10658 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +FC +08 +10 +20 +40 +ENDCHAR +STARTCHAR uni29A3 +ENCODING 10659 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +20 +10 +08 +FC +ENDCHAR +STARTCHAR uni29A4 +ENCODING 10660 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +08 +10 +20 +40 +FC +00 +FC +ENDCHAR +STARTCHAR uni29A5 +ENCODING 10661 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +40 +20 +10 +08 +FC +00 +FC +ENDCHAR +STARTCHAR uni29A6 +ENCODING 10662 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +80 +40 +38 +ENDCHAR +STARTCHAR uni29A7 +ENCODING 10663 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +38 +40 +80 +ENDCHAR +STARTCHAR uni29A8 +ENCODING 10664 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +18 +18 +20 +50 +FC +ENDCHAR +STARTCHAR uni29A9 +ENCODING 10665 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +60 +60 +10 +28 +FC +ENDCHAR +STARTCHAR uni29AA +ENCODING 10666 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +FC +50 +20 +18 +18 +ENDCHAR +STARTCHAR uni29AB +ENCODING 10667 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +FC +28 +10 +60 +60 +ENDCHAR +STARTCHAR uni29AC +ENCODING 10668 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +98 +D8 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni29AD +ENCODING 10669 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +08 +C8 +D8 +28 +18 +08 +ENDCHAR +STARTCHAR uni29AE +ENCODING 10670 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +C0 +A0 +D8 +98 +80 +ENDCHAR +STARTCHAR uni29AF +ENCODING 10671 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +08 +18 +28 +D8 +C8 +08 +ENDCHAR +STARTCHAR uni29B0 +ENCODING 10672 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +80 +70 +68 +58 +38 +04 +ENDCHAR +STARTCHAR uni29B1 +ENCODING 10673 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +78 +00 +04 +38 +58 +68 +70 +80 +ENDCHAR +STARTCHAR uni29B2 +ENCODING 10674 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +20 +50 +20 +04 +38 +58 +68 +70 +80 +ENDCHAR +STARTCHAR uni29B3 +ENCODING 10675 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +78 +10 +04 +38 +58 +68 +70 +80 +ENDCHAR +STARTCHAR uni29B4 +ENCODING 10676 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +20 +78 +20 +04 +38 +58 +68 +70 +80 +ENDCHAR +STARTCHAR uni29B5 +ENCODING 10677 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni29B6 +ENCODING 10678 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni29B7 +ENCODING 10679 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +B4 +B4 +B4 +B4 +78 +ENDCHAR +STARTCHAR uni29B8 +ENCODING 10680 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +C8 +A8 +98 +70 +ENDCHAR +STARTCHAR uni29B9 +ENCODING 10681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +A8 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni29BA +ENCODING 10682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni29BB +ENCODING 10683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +D8 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni29BC +ENCODING 10684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +CC +94 +A4 +CC +78 +ENDCHAR +STARTCHAR uni29BD +ENCODING 10685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +20 +70 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni29BE +ENCODING 10686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +84 +B4 +94 +84 +78 +ENDCHAR +STARTCHAR uni29BF +ENCODING 10687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +84 +B4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni29C0 +ENCODING 10688 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +A4 +94 +A4 +84 +78 +ENDCHAR +STARTCHAR uni29C1 +ENCODING 10689 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +94 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni29C2 +ENCODING 10690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +60 +98 +94 +98 +60 +ENDCHAR +STARTCHAR uni29C3 +ENCODING 10691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +60 +9C +90 +9C +60 +ENDCHAR +STARTCHAR uni29C4 +ENCODING 10692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +98 +A8 +C8 +F8 +ENDCHAR +STARTCHAR uni29C5 +ENCODING 10693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +C8 +A8 +98 +F8 +ENDCHAR +STARTCHAR uni29C6 +ENCODING 10694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +84 +A4 +F4 +A4 +84 +FC +ENDCHAR +STARTCHAR uni29C7 +ENCODING 10695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +84 +A4 +D4 +A4 +84 +FC +ENDCHAR +STARTCHAR uni29C8 +ENCODING 10696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +FC +FC +CC +CC +FC +FC +ENDCHAR +STARTCHAR uni29C9 +ENCODING 10697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +F0 +90 +BC +E4 +24 +3C +ENDCHAR +STARTCHAR uni29CA +ENCODING 10698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +20 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni29CB +ENCODING 10699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni29CC +ENCODING 10700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +30 +48 +B4 +A4 +94 +B4 +84 +FC +ENDCHAR +STARTCHAR uni29CD +ENCODING 10701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +20 +50 +50 +88 +88 +FC +ENDCHAR +STARTCHAR uni29CE +ENCODING 10702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +C0 +B0 +88 +B0 +C0 +18 +68 +88 +68 +18 +ENDCHAR +STARTCHAR uni29CF +ENCODING 10703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +34 +54 +94 +54 +34 +14 +ENDCHAR +STARTCHAR uni29D0 +ENCODING 10704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +B0 +A8 +A4 +A8 +B0 +A0 +ENDCHAR +STARTCHAR uni29D1 +ENCODING 10705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D8 +E8 +D8 +88 +ENDCHAR +STARTCHAR uni29D2 +ENCODING 10706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D8 +B8 +D8 +88 +ENDCHAR +STARTCHAR uni29D3 +ENCODING 10707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D8 +F8 +D8 +88 +ENDCHAR +STARTCHAR uni29D4 +ENCODING 10708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D0 +E0 +D0 +88 +ENDCHAR +STARTCHAR uni29D5 +ENCODING 10709 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +58 +38 +58 +88 +ENDCHAR +STARTCHAR uni29D6 +ENCODING 10710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +50 +20 +50 +F8 +ENDCHAR +STARTCHAR uni29D7 +ENCODING 10711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +70 +20 +70 +F8 +ENDCHAR +STARTCHAR uni29D8 +ENCODING 10712 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 7 2 0 +BITMAP +80 +40 +80 +40 +80 +40 +80 +ENDCHAR +STARTCHAR uni29D9 +ENCODING 10713 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 7 2 0 +BITMAP +40 +80 +40 +80 +40 +80 +40 +ENDCHAR +STARTCHAR uni29DA +ENCODING 10714 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +48 +90 +48 +90 +48 +90 +ENDCHAR +STARTCHAR uni29DB +ENCODING 10715 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +90 +48 +90 +48 +90 +48 +ENDCHAR +STARTCHAR uni29DC +ENCODING 10716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +40 +A8 +50 +ENDCHAR +STARTCHAR uni29DD +ENCODING 10717 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +20 +50 +A8 +50 +ENDCHAR +STARTCHAR uni29DE +ENCODING 10718 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +70 +A8 +70 +20 +ENDCHAR +STARTCHAR uni29DF +ENCODING 10719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +B4 +48 +ENDCHAR +STARTCHAR uni29E0 +ENCODING 10720 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +F8 +C8 +C8 +F8 +ENDCHAR +STARTCHAR uni29E1 +ENCODING 10721 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +18 +28 +48 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni29E2 +ENCODING 10722 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni29E3 +ENCODING 10723 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni29E4 +ENCODING 10724 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni29E5 +ENCODING 10725 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +10 +F8 +20 +F8 +20 +F8 +40 +40 +ENDCHAR +STARTCHAR uni29E6 +ENCODING 10726 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +F8 +88 +F8 +88 +ENDCHAR +STARTCHAR uni29E7 +ENCODING 10727 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +40 +E0 +40 +E0 +40 +ENDCHAR +STARTCHAR uni29E8 +ENCODING 10728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +C8 +50 +20 +ENDCHAR +STARTCHAR uni29E9 +ENCODING 10729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +98 +50 +20 +ENDCHAR +STARTCHAR uni29EA +ENCODING 10730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +F8 +70 +20 +20 +70 +20 +ENDCHAR +STARTCHAR uni29EB +ENCODING 10731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +70 +F8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni29EC +ENCODING 10732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +70 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni29ED +ENCODING 10733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +F8 +F8 +70 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni29EE +ENCODING 10734 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +E0 +A0 +E0 +40 +E0 +ENDCHAR +STARTCHAR uni29EF +ENCODING 10735 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +E0 +E0 +E0 +40 +E0 +ENDCHAR +STARTCHAR uni29F0 +ENCODING 10736 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +20 +20 +50 +88 +50 +20 +20 +70 +ENDCHAR +STARTCHAR uni29F1 +ENCODING 10737 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +20 +20 +70 +F8 +70 +20 +20 +70 +ENDCHAR +STARTCHAR uni29F2 +ENCODING 10738 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +20 +70 +88 +88 +70 +20 +70 +ENDCHAR +STARTCHAR uni29F3 +ENCODING 10739 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +20 +70 +F8 +F8 +70 +20 +70 +ENDCHAR +STARTCHAR uni29F4 +ENCODING 10740 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +10 +F8 +10 +A0 +ENDCHAR +STARTCHAR uni29F5 +ENCODING 10741 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +80 +80 +40 +40 +20 +20 +10 +10 +ENDCHAR +STARTCHAR uni29F6 +ENCODING 10742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +F0 +00 +10 +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni29F7 +ENCODING 10743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +80 +80 +40 +F0 +20 +20 +10 +10 +ENDCHAR +STARTCHAR uni29F8 +ENCODING 10744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +10 +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni29F9 +ENCODING 10745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +80 +80 +40 +40 +20 +20 +10 +10 +ENDCHAR +STARTCHAR uni29FA +ENCODING 10746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +50 +F8 +50 +50 +ENDCHAR +STARTCHAR uni29FB +ENCODING 10747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +54 +54 +FC +54 +54 +ENDCHAR +STARTCHAR uni29FC +ENCODING 10748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +20 +40 +40 +80 +40 +40 +20 +20 +ENDCHAR +STARTCHAR uni29FD +ENCODING 10749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +80 +40 +40 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni29FE +ENCODING 10750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni29FF +ENCODING 10751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +88 +F8 +88 +ENDCHAR +STARTCHAR uni2A00 +ENCODING 10752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2A01 +ENCODING 10753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni2A02 +ENCODING 10754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +D8 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni2A03 +ENCODING 10755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2A04 +ENCODING 10756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +A8 +F8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2A05 +ENCODING 10757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni2A06 +ENCODING 10758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2A07 +ENCODING 10759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +30 +78 +78 +CC +CC +ENDCHAR +STARTCHAR uni2A08 +ENCODING 10760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +CC +CC +78 +78 +30 +30 +ENDCHAR +STARTCHAR uni2A09 +ENCODING 10761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni2A0A +ENCODING 10762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +60 +50 +60 +80 +F8 +ENDCHAR +STARTCHAR uni2A0B +ENCODING 10763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +F8 +60 +20 +60 +F8 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A0C +ENCODING 10764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +38 +7C +78 +78 +78 +78 +78 +78 +F8 +70 +ENDCHAR +STARTCHAR uni2A0D +ENCODING 10765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +20 +70 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A0E +ENCODING 10766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +20 +70 +20 +70 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A0F +ENCODING 10767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +28 +30 +60 +A0 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A10 +ENCODING 10768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +70 +A0 +A0 +A0 +60 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A11 +ENCODING 10769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +20 +3C +AC +74 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A12 +ENCODING 10770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +38 +08 +28 +08 +38 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A13 +ENCODING 10771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +30 +08 +28 +08 +30 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A14 +ENCODING 10772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +38 +04 +14 +04 +38 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A15 +ENCODING 10773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +70 +88 +A8 +88 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A16 +ENCODING 10774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +F8 +A8 +A8 +F8 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A17 +ENCODING 10775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +08 +14 +10 +10 +50 +FC +54 +10 +10 +10 +50 +20 +ENDCHAR +STARTCHAR uni2A18 +ENCODING 10776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +A8 +70 +20 +70 +A8 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A19 +ENCODING 10777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +70 +A8 +A8 +A8 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A1A +ENCODING 10778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +A8 +A8 +A8 +70 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A1B +ENCODING 10779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +78 +00 +10 +28 +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A1C +ENCODING 10780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +20 +20 +20 +20 +A0 +40 +00 +F8 +ENDCHAR +STARTCHAR uni2A1D +ENCODING 10781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +84 +CC +B4 +B4 +B4 +CC +84 +ENDCHAR +STARTCHAR uni2A1E +ENCODING 10782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +10 +30 +50 +90 +50 +30 +10 +ENDCHAR +STARTCHAR uni2A1F +ENCODING 10783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 -1 +BITMAP +40 +A0 +40 +00 +40 +A0 +40 +80 +ENDCHAR +STARTCHAR uni2A20 +ENCODING 10784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +90 +48 +24 +48 +90 +ENDCHAR +STARTCHAR uni2A21 +ENCODING 10785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +80 +C0 +A0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2A22 +ENCODING 10786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +20 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2A23 +ENCODING 10787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2A24 +ENCODING 10788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2A25 +ENCODING 10789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +00 +20 +ENDCHAR +STARTCHAR uni2A26 +ENCODING 10790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +F8 +20 +20 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A27 +ENCODING 10791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +20 +20 +F8 +20 +2C +04 +08 +1C +ENDCHAR +STARTCHAR uni2A28 +ENCODING 10792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +F8 +20 +70 +20 +ENDCHAR +STARTCHAR uni2A29 +ENCODING 10793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +30 +30 +10 +20 +00 +F8 +ENDCHAR +STARTCHAR uni2A2A +ENCODING 10794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +00 +20 +ENDCHAR +STARTCHAR uni2A2B +ENCODING 10795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +40 +00 +F8 +00 +10 +ENDCHAR +STARTCHAR uni2A2C +ENCODING 10796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +10 +00 +F8 +00 +40 +ENDCHAR +STARTCHAR uni2A2D +ENCODING 10797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +90 +B8 +90 +40 +38 +ENDCHAR +STARTCHAR uni2A2E +ENCODING 10798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +10 +48 +E8 +48 +10 +60 +ENDCHAR +STARTCHAR uni2A2F +ENCODING 10799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni2A30 +ENCODING 10800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni2A31 +ENCODING 10801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +50 +20 +50 +88 +00 +F8 +ENDCHAR +STARTCHAR uni2A32 +ENCODING 10802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +F8 +ENDCHAR +STARTCHAR uni2A33 +ENCODING 10803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +CC +78 +30 +78 +CC +ENDCHAR +STARTCHAR uni2A34 +ENCODING 10804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +80 +A8 +90 +A8 +80 +70 +ENDCHAR +STARTCHAR uni2A35 +ENCODING 10805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +08 +A8 +48 +A8 +08 +70 +ENDCHAR +STARTCHAR uni2A36 +ENCODING 10806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +D8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2A37 +ENCODING 10807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +D8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2A38 +ENCODING 10808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +88 +F8 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2A39 +ENCODING 10809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +78 +B4 +84 +FC +ENDCHAR +STARTCHAR uni2A3A +ENCODING 10810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +48 +B4 +84 +FC +ENDCHAR +STARTCHAR uni2A3B +ENCODING 10811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +78 +B4 +84 +FC +ENDCHAR +STARTCHAR uni2A3C +ENCODING 10812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +08 +08 +F8 +ENDCHAR +STARTCHAR uni2A3D +ENCODING 10813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +80 +80 +F8 +ENDCHAR +STARTCHAR uni2A3E +ENCODING 10814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +40 +A0 +40 +00 +40 +A0 +60 +20 +40 +ENDCHAR +STARTCHAR uni2A3F +ENCODING 10815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +DC +88 +88 +88 +88 +88 +FC +ENDCHAR +STARTCHAR uni2A40 +ENCODING 10816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni2A41 +ENCODING 10817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni2A42 +ENCODING 10818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2A43 +ENCODING 10819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +88 +88 +88 +88 +88 +00 +F8 +ENDCHAR +STARTCHAR uni2A44 +ENCODING 10820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +A8 +D8 +ENDCHAR +STARTCHAR uni2A45 +ENCODING 10821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +D8 +A8 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2A46 +ENCODING 10822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +90 +90 +60 +00 +60 +90 +90 +ENDCHAR +STARTCHAR uni2A47 +ENCODING 10823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +60 +90 +90 +00 +90 +90 +60 +ENDCHAR +STARTCHAR uni2A48 +ENCODING 10824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -1 +BITMAP +90 +90 +60 +00 +F0 +00 +60 +90 +90 +ENDCHAR +STARTCHAR uni2A49 +ENCODING 10825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -1 +BITMAP +60 +90 +90 +00 +F0 +00 +90 +90 +60 +ENDCHAR +STARTCHAR uni2A4A +ENCODING 10826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +A8 +A8 +50 +ENDCHAR +STARTCHAR uni2A4B +ENCODING 10827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +50 +A8 +A8 +ENDCHAR +STARTCHAR uni2A4C +ENCODING 10828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +48 +48 +48 +48 +48 +30 +ENDCHAR +STARTCHAR uni2A4D +ENCODING 10829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +48 +48 +48 +FC +ENDCHAR +STARTCHAR uni2A4E +ENCODING 10830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +F8 +D8 +D8 +D8 +D8 +D8 +ENDCHAR +STARTCHAR uni2A4F +ENCODING 10831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +D8 +D8 +D8 +D8 +D8 +F8 +F8 +ENDCHAR +STARTCHAR uni2A50 +ENCODING 10832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +D8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2A51 +ENCODING 10833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni2A52 +ENCODING 10834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2A53 +ENCODING 10835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +50 +20 +A8 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2A54 +ENCODING 10836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +50 +50 +88 +A8 +20 +50 +50 +ENDCHAR +STARTCHAR uni2A55 +ENCODING 10837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +30 +78 +78 +78 +CC +CC +ENDCHAR +STARTCHAR uni2A56 +ENCODING 10838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +CC +CC +78 +78 +78 +30 +30 +ENDCHAR +STARTCHAR uni2A57 +ENCODING 10839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +84 +88 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni2A58 +ENCODING 10840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +04 +0C +14 +24 +44 +84 +ENDCHAR +STARTCHAR uni2A59 +ENCODING 10841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +A8 +70 +50 +70 +A8 +88 +ENDCHAR +STARTCHAR uni2A5A +ENCODING 10842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +70 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni2A5B +ENCODING 10843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +A8 +A8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni2A5C +ENCODING 10844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +F8 +50 +88 +88 +ENDCHAR +STARTCHAR uni2A5D +ENCODING 10845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +F8 +50 +20 +20 +ENDCHAR +STARTCHAR uni2A5E +ENCODING 10846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +00 +F8 +00 +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni2A5F +ENCODING 10847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +50 +50 +88 +88 +00 +F8 +ENDCHAR +STARTCHAR uni2A60 +ENCODING 10848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +20 +50 +50 +88 +88 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A61 +ENCODING 10849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +50 +20 +00 +F8 +ENDCHAR +STARTCHAR uni2A62 +ENCODING 10850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +00 +F8 +00 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2A63 +ENCODING 10851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +88 +88 +50 +50 +20 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A64 +ENCODING 10852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +08 +18 +28 +48 +F8 +48 +28 +18 +08 +ENDCHAR +STARTCHAR uni2A65 +ENCODING 10853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +80 +C0 +A0 +90 +F8 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni2A66 +ENCODING 10854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +00 +F8 +00 +20 +ENDCHAR +STARTCHAR uni2A67 +ENCODING 10855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A68 +ENCODING 10856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +F8 +50 +F8 +50 +F8 +50 +ENDCHAR +STARTCHAR uni2A69 +ENCODING 10857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A8 +FC +A8 +FC +A8 +FC +A8 +ENDCHAR +STARTCHAR uni2A6A +ENCODING 10858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +20 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A6B +ENCODING 10859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +00 +68 +B0 +00 +40 +ENDCHAR +STARTCHAR uni2A6C +ENCODING 10860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +68 +B0 +00 +F8 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A6D +ENCODING 10861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +68 +B0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A6E +ENCODING 10862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +A8 +70 +F8 +70 +A8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A6F +ENCODING 10863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A70 +ENCODING 10864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +68 +B0 +00 +68 +B0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A71 +ENCODING 10865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F8 +00 +F8 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2A72 +ENCODING 10866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +F8 +20 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A73 +ENCODING 10867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +00 +F8 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A74 +ENCODING 10868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +AC +00 +AC +ENDCHAR +STARTCHAR uni2A75 +ENCODING 10869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +D8 +00 +D8 +ENDCHAR +STARTCHAR uni2A76 +ENCODING 10870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +A8 +00 +A8 +ENDCHAR +STARTCHAR uni2A77 +ENCODING 10871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +F8 +00 +F8 +00 +50 +ENDCHAR +STARTCHAR uni2A78 +ENCODING 10872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +00 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A79 +ENCODING 10873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +20 +48 +94 +48 +20 +10 +ENDCHAR +STARTCHAR uni2A7A +ENCODING 10874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +10 +48 +A4 +48 +10 +20 +ENDCHAR +STARTCHAR uni2A7B +ENCODING 10875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +C0 +20 +40 +00 +40 +0C +30 +C0 +30 +0C +ENDCHAR +STARTCHAR uni2A7C +ENCODING 10876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +18 +04 +08 +00 +08 +C0 +30 +0C +30 +C0 +ENDCHAR +STARTCHAR uni2A7D +ENCODING 10877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +C0 +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2A7E +ENCODING 10878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +0C +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2A7F +ENCODING 10879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +C4 +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2A80 +ENCODING 10880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +8C +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2A81 +ENCODING 10881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +40 +0C +30 +C0 +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2A82 +ENCODING 10882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +C0 +30 +0C +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2A83 +ENCODING 10883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +04 +00 +0C +30 +C0 +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2A84 +ENCODING 10884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +80 +00 +C0 +30 +0C +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2A85 +ENCODING 10885 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +38 +C0 +38 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A86 +ENCODING 10886 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +E0 +18 +E0 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A87 +ENCODING 10887 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +0C +30 +C0 +30 +0C +00 +10 +FC +40 +ENDCHAR +STARTCHAR uni2A88 +ENCODING 10888 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +C0 +30 +0C +30 +C0 +00 +10 +FC +40 +ENDCHAR +STARTCHAR uni2A89 +ENCODING 10889 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +38 +C0 +38 +00 +10 +78 +B0 +20 +68 +F0 +40 +ENDCHAR +STARTCHAR uni2A8A +ENCODING 10890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +E0 +18 +E0 +00 +10 +78 +B0 +20 +68 +F0 +40 +ENDCHAR +STARTCHAR uni2A8B +ENCODING 10891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +38 +C0 +38 +00 +F8 +00 +F8 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A8C +ENCODING 10892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +E0 +18 +E0 +00 +F8 +00 +F8 +00 +38 +C0 +38 +ENDCHAR +STARTCHAR uni2A8D +ENCODING 10893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +38 +C0 +38 +00 +68 +B0 +00 +F8 +ENDCHAR +STARTCHAR uni2A8E +ENCODING 10894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +E0 +18 +E0 +00 +68 +B0 +00 +F8 +ENDCHAR +STARTCHAR uni2A8F +ENCODING 10895 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +38 +C0 +38 +00 +68 +B0 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A90 +ENCODING 10896 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +E0 +18 +E0 +00 +68 +B0 +00 +38 +C0 +38 +ENDCHAR +STARTCHAR uni2A91 +ENCODING 10897 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +38 +C0 +38 +E0 +18 +E0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A92 +ENCODING 10898 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +E0 +18 +E0 +38 +C0 +38 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A93 +ENCODING 10899 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +1C +E0 +1C +E0 +1C +E0 +1C +E0 +1C +E0 +ENDCHAR +STARTCHAR uni2A94 +ENCODING 10900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +E0 +1C +E0 +1C +E0 +1C +E0 +1C +E0 +1C +ENDCHAR +STARTCHAR uni2A95 +ENCODING 10901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +CC +30 +C0 +30 +0C +ENDCHAR +STARTCHAR uni2A96 +ENCODING 10902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +CC +30 +0C +30 +C0 +ENDCHAR +STARTCHAR uni2A97 +ENCODING 10903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +CC +30 +C4 +30 +0C +ENDCHAR +STARTCHAR uni2A98 +ENCODING 10904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +CC +30 +8C +30 +C0 +ENDCHAR +STARTCHAR uni2A99 +ENCODING 10905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +F8 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A9A +ENCODING 10906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +F8 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A9B +ENCODING 10907 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +0C +30 +CC +30 +CC +30 +C0 +30 +0C +ENDCHAR +STARTCHAR uni2A9C +ENCODING 10908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +C0 +30 +CC +30 +CC +30 +0C +30 +C0 +ENDCHAR +STARTCHAR uni2A9D +ENCODING 10909 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +68 +B0 +00 +38 +C0 +38 +ENDCHAR +STARTCHAR uni2A9E +ENCODING 10910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +68 +B0 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A9F +ENCODING 10911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +68 +B0 +00 +38 +C0 +38 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AA0 +ENCODING 10912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +68 +B0 +00 +E0 +18 +E0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AA1 +ENCODING 10913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +48 +90 +48 +20 +10 +ENDCHAR +STARTCHAR uni2AA2 +ENCODING 10914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +20 +90 +48 +90 +20 +40 +ENDCHAR +STARTCHAR uni2AA3 +ENCODING 10915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +24 +48 +90 +48 +24 +00 +FC +ENDCHAR +STARTCHAR uni2AA4 +ENCODING 10916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +CC +30 +48 +30 +CC +ENDCHAR +STARTCHAR uni2AA5 +ENCODING 10917 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +84 +48 +30 +48 +84 +ENDCHAR +STARTCHAR uni2AA6 +ENCODING 10918 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +08 +34 +C4 +34 +08 +ENDCHAR +STARTCHAR uni2AA7 +ENCODING 10919 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +B0 +8C +B0 +40 +ENDCHAR +STARTCHAR uni2AA8 +ENCODING 10920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +08 +34 +C4 +34 +C8 +30 +0C +ENDCHAR +STARTCHAR uni2AA9 +ENCODING 10921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +40 +B0 +8C +B0 +4C +30 +C0 +ENDCHAR +STARTCHAR uni2AAA +ENCODING 10922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +0C +30 +FC +30 +0C +ENDCHAR +STARTCHAR uni2AAB +ENCODING 10923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C0 +30 +FC +30 +C0 +ENDCHAR +STARTCHAR uni2AAC +ENCODING 10924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +FC +30 +0C +00 +FC +ENDCHAR +STARTCHAR uni2AAD +ENCODING 10925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +FC +30 +C0 +00 +FC +ENDCHAR +STARTCHAR uni2AAE +ENCODING 10926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +D8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AAF +ENCODING 10927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +30 +C0 +30 +08 +00 +F8 +ENDCHAR +STARTCHAR uni2AB0 +ENCODING 10928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +60 +18 +60 +80 +00 +F8 +ENDCHAR +STARTCHAR uni2AB1 +ENCODING 10929 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +08 +30 +C0 +30 +08 +10 +F8 +40 +ENDCHAR +STARTCHAR uni2AB2 +ENCODING 10930 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +80 +60 +18 +60 +80 +10 +F8 +40 +ENDCHAR +STARTCHAR uni2AB3 +ENCODING 10931 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +08 +30 +C0 +30 +08 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AB4 +ENCODING 10932 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +80 +60 +18 +60 +80 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AB5 +ENCODING 10933 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +08 +30 +C0 +30 +08 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2AB6 +ENCODING 10934 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +80 +60 +18 +60 +80 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2AB7 +ENCODING 10935 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +08 +30 +C0 +30 +08 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2AB8 +ENCODING 10936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +80 +60 +18 +60 +80 +00 +B0 +68 +00 +B0 +68 +ENDCHAR +STARTCHAR uni2AB9 +ENCODING 10937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +08 +30 +C0 +30 +08 +10 +78 +B0 +20 +68 +F0 +40 +ENDCHAR +STARTCHAR uni2ABA +ENCODING 10938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +80 +60 +18 +60 +80 +10 +78 +B0 +20 +68 +F0 +40 +ENDCHAR +STARTCHAR uni2ABB +ENCODING 10939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +28 +50 +A0 +50 +28 +28 +ENDCHAR +STARTCHAR uni2ABC +ENCODING 10940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +50 +28 +50 +A0 +A0 +ENDCHAR +STARTCHAR uni2ABD +ENCODING 10941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +78 +80 +A0 +80 +78 +ENDCHAR +STARTCHAR uni2ABE +ENCODING 10942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F0 +08 +28 +08 +F0 +ENDCHAR +STARTCHAR uni2ABF +ENCODING 10943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +80 +80 +78 +00 +20 +70 +20 +ENDCHAR +STARTCHAR uni2AC0 +ENCODING 10944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +08 +08 +F0 +00 +20 +70 +20 +ENDCHAR +STARTCHAR uni2AC1 +ENCODING 10945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +80 +80 +78 +00 +50 +20 +50 +ENDCHAR +STARTCHAR uni2AC2 +ENCODING 10946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +08 +08 +F0 +00 +50 +20 +50 +ENDCHAR +STARTCHAR uni2AC3 +ENCODING 10947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +78 +80 +80 +78 +00 +F8 +ENDCHAR +STARTCHAR uni2AC4 +ENCODING 10948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +F0 +08 +08 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni2AC5 +ENCODING 10949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +80 +80 +78 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AC6 +ENCODING 10950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +08 +08 +F0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AC7 +ENCODING 10951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +80 +80 +78 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2AC8 +ENCODING 10952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +08 +08 +F0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2AC9 +ENCODING 10953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +78 +80 +80 +78 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2ACA +ENCODING 10954 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F0 +08 +08 +F0 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2ACB +ENCODING 10955 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +78 +80 +80 +78 +00 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2ACC +ENCODING 10956 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F0 +08 +08 +F0 +00 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2ACD +ENCODING 10957 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +80 +80 +F0 +ENDCHAR +STARTCHAR uni2ACE +ENCODING 10958 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +04 +04 +3C +ENDCHAR +STARTCHAR uni2ACF +ENCODING 10959 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +48 +88 +88 +88 +48 +38 +ENDCHAR +STARTCHAR uni2AD0 +ENCODING 10960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +90 +88 +88 +88 +90 +E0 +ENDCHAR +STARTCHAR uni2AD1 +ENCODING 10961 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +38 +48 +88 +88 +88 +48 +38 +00 +F8 +ENDCHAR +STARTCHAR uni2AD2 +ENCODING 10962 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +E0 +90 +88 +88 +88 +90 +E0 +00 +F8 +ENDCHAR +STARTCHAR uni2AD3 +ENCODING 10963 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +78 +80 +80 +78 +00 +F0 +08 +08 +F0 +ENDCHAR +STARTCHAR uni2AD4 +ENCODING 10964 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F0 +08 +08 +F0 +00 +78 +80 +80 +78 +ENDCHAR +STARTCHAR uni2AD5 +ENCODING 10965 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +78 +80 +80 +78 +00 +78 +80 +80 +78 +ENDCHAR +STARTCHAR uni2AD6 +ENCODING 10966 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F0 +08 +08 +F0 +00 +F0 +08 +08 +F0 +ENDCHAR +STARTCHAR uni2AD7 +ENCODING 10967 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +CC +30 +30 +CC +ENDCHAR +STARTCHAR uni2AD8 +ENCODING 10968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +CC +30 +78 +30 +CC +ENDCHAR +STARTCHAR uni2AD9 +ENCODING 10969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2ADA +ENCODING 10970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +20 +70 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2ADB +ENCODING 10971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +A8 +20 +ENDCHAR +STARTCHAR uni2ADC +ENCODING 10972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +28 +30 +A8 +E8 +F0 +ENDCHAR +STARTCHAR uni2ADD +ENCODING 10973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2ADE +ENCODING 10974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +10 +10 +10 +F0 +10 +10 +10 +ENDCHAR +STARTCHAR uni2ADF +ENCODING 10975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2AE0 +ENCODING 10976 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni2AE1 +ENCODING 10977 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +24 +28 +24 +28 +20 +FC +ENDCHAR +STARTCHAR uni2AE2 +ENCODING 10978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +F8 +80 +F8 +80 +F8 +80 +ENDCHAR +STARTCHAR uni2AE3 +ENCODING 10979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +28 +28 +E8 +28 +28 +28 +ENDCHAR +STARTCHAR uni2AE4 +ENCODING 10980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +F8 +08 +F8 +08 +08 +ENDCHAR +STARTCHAR uni2AE5 +ENCODING 10981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +28 +E8 +28 +E8 +28 +28 +ENDCHAR +STARTCHAR uni2AE6 +ENCODING 10982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +A0 +F8 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2AE7 +ENCODING 10983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +00 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2AE8 +ENCODING 10984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AE9 +ENCODING 10985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +00 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2AEA +ENCODING 10986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +50 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni2AEB +ENCODING 10987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +50 +50 +50 +50 +F8 +ENDCHAR +STARTCHAR uni2AEC +ENCODING 10988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +F8 +08 +F8 +08 +ENDCHAR +STARTCHAR uni2AED +ENCODING 10989 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 1 1 +BITMAP +F8 +80 +F8 +80 +ENDCHAR +STARTCHAR uni2AEE +ENCODING 10990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +40 +C0 +40 +60 +40 +40 +ENDCHAR +STARTCHAR uni2AEF +ENCODING 10991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni2AF0 +ENCODING 10992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +40 +40 +40 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2AF1 +ENCODING 10993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2AF2 +ENCODING 10994 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +50 +F8 +50 +50 +50 +ENDCHAR +STARTCHAR uni2AF3 +ENCODING 10995 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +78 +F0 +50 +50 +50 +ENDCHAR +STARTCHAR uni2AF4 +ENCODING 10996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2AF5 +ENCODING 10997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A8 +A8 +A8 +FC +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2AF6 +ENCODING 10998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 1 +BITMAP +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2AF7 +ENCODING 10999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +54 +A8 +54 +ENDCHAR +STARTCHAR uni2AF8 +ENCODING 11000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +A8 +54 +A8 +ENDCHAR +STARTCHAR uni2AF9 +ENCODING 11001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +0C +30 +C0 +30 +CC +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2AFA +ENCODING 11002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +C0 +30 +0C +30 +CC +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2AFB +ENCODING 11003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +54 +54 +54 +54 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2AFC +ENCODING 11004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2AFD +ENCODING 11005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +48 +48 +48 +90 +90 +90 +90 +ENDCHAR +STARTCHAR uni2AFE +ENCODING 11006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +E0 +A0 +A0 +A0 +A0 +E0 +ENDCHAR +STARTCHAR uni2AFF +ENCODING 11007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +E0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +E0 +ENDCHAR +STARTCHAR uni2B00 +ENCODING 11008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +1C +14 +2C +50 +A0 +40 +ENDCHAR +STARTCHAR uni2B01 +ENCODING 11009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +E0 +A0 +D0 +28 +14 +08 +ENDCHAR +STARTCHAR uni2B02 +ENCODING 11010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +A0 +50 +2C +14 +1C +ENDCHAR +STARTCHAR uni2B03 +ENCODING 11011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +08 +14 +28 +D0 +A0 +E0 +ENDCHAR +STARTCHAR uni2B04 +ENCODING 11012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +48 +B4 +84 +B4 +48 +ENDCHAR +STARTCHAR uni2B05 +ENCODING 11013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +60 +F8 +F8 +60 +20 +ENDCHAR +STARTCHAR uni2B06 +ENCODING 11014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +78 +FC +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2B07 +ENCODING 11015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +30 +30 +30 +FC +78 +30 +ENDCHAR +STARTCHAR uni2B08 +ENCODING 11016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +1C +1C +3C +70 +E0 +40 +ENDCHAR +STARTCHAR uni2B09 +ENCODING 11017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +E0 +E0 +F0 +38 +1C +08 +ENDCHAR +STARTCHAR uni2B0A +ENCODING 11018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +E0 +70 +3C +1C +1C +ENDCHAR +STARTCHAR uni2B0B +ENCODING 11019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +08 +1C +38 +F0 +E0 +E0 +ENDCHAR +STARTCHAR uni2B0C +ENCODING 11020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +FC +48 +ENDCHAR +STARTCHAR uni2B0D +ENCODING 11021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +30 +78 +FC +30 +30 +30 +FC +78 +30 +ENDCHAR +STARTCHAR uni2B0E +ENCODING 11022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +E0 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2B0F +ENCODING 11023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +A8 +20 +20 +E0 +ENDCHAR +STARTCHAR uni2B10 +ENCODING 11024 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2B11 +ENCODING 11025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +A8 +20 +20 +38 +ENDCHAR +STARTCHAR uni2B12 +ENCODING 11026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +F8 +F8 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2B13 +ENCODING 11027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +88 +88 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni2B14 +ENCODING 11028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +B8 +98 +88 +F8 +ENDCHAR +STARTCHAR uni2B15 +ENCODING 11029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +C8 +E8 +F8 +ENDCHAR +STARTCHAR uni2B16 +ENCODING 11030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +30 +68 +EC +68 +30 +ENDCHAR +STARTCHAR uni2B17 +ENCODING 11031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +30 +58 +9C +58 +30 +ENDCHAR +STARTCHAR uni2B18 +ENCODING 11032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +F8 +88 +50 +20 +ENDCHAR +STARTCHAR uni2B19 +ENCODING 11033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +88 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2B1A +ENCODING 11034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +00 +88 +00 +A8 +ENDCHAR +STARTCHAR uni2B1B +ENCODING 11035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni2B1C +ENCODING 11036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2B1D +ENCODING 11037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2B1E +ENCODING 11038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +E0 +A0 +E0 +ENDCHAR +STARTCHAR uni2B1F +ENCODING 11039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +F8 +F8 +70 +70 +ENDCHAR +STARTCHAR uni2B20 +ENCODING 11040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +88 +88 +50 +70 +ENDCHAR +STARTCHAR uni2B21 +ENCODING 11041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +88 +88 +88 +50 +20 +ENDCHAR +STARTCHAR uni2B22 +ENCODING 11042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +F8 +F8 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2B23 +ENCODING 11043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +70 +F8 +70 +ENDCHAR +STARTCHAR uni2B24 +ENCODING 11044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +FC +FC +FC +FC +78 +ENDCHAR +STARTCHAR uni2B25 +ENCODING 11045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2B26 +ENCODING 11046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni2B27 +ENCODING 11047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +40 +40 +E0 +E0 +40 +40 +ENDCHAR +STARTCHAR uni2B28 +ENCODING 11048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +50 +50 +88 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni2B29 +ENCODING 11049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2B2A +ENCODING 11050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +40 +40 +E0 +40 +40 +ENDCHAR +STARTCHAR uni2B2B +ENCODING 11051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni2B2C +ENCODING 11052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +70 +F8 +F8 +70 +ENDCHAR +STARTCHAR uni2B2D +ENCODING 11053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +70 +88 +88 +70 +ENDCHAR +STARTCHAR uni2B2E +ENCODING 11054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +F8 +F8 +F8 +F8 +70 +ENDCHAR +STARTCHAR uni2B2F +ENCODING 11055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2B30 +ENCODING 11056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +58 +FC +58 +ENDCHAR +STARTCHAR uni2B31 +ENCODING 11057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +40 +F8 +40 +00 +40 +F8 +40 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2B32 +ENCODING 11058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +58 +FC +58 +ENDCHAR +STARTCHAR uni2B33 +ENCODING 11059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +54 +E8 +40 +ENDCHAR +STARTCHAR uni2B34 +ENCODING 11060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +08 +68 +FC +68 +08 +ENDCHAR +STARTCHAR uni2B35 +ENCODING 11061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +18 +78 +FC +78 +18 +ENDCHAR +STARTCHAR uni2B36 +ENCODING 11062 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +68 +F8 +68 +08 +ENDCHAR +STARTCHAR uni2B37 +ENCODING 11063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +64 +D8 +64 +ENDCHAR +STARTCHAR uni2B38 +ENCODING 11064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +40 +A8 +40 +20 +ENDCHAR +STARTCHAR uni2B39 +ENCODING 11065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +10 +54 +F8 +54 +10 +ENDCHAR +STARTCHAR uni2B3A +ENCODING 11066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +30 +74 +F8 +74 +30 +ENDCHAR +STARTCHAR uni2B3B +ENCODING 11067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +64 +F8 +64 +ENDCHAR +STARTCHAR uni2B3C +ENCODING 11068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +10 +74 +F8 +74 +10 +ENDCHAR +STARTCHAR uni2B3D +ENCODING 11069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +18 +7C +F8 +7C +18 +ENDCHAR +STARTCHAR uni2B3E +ENCODING 11070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +58 +FC +58 +ENDCHAR +STARTCHAR uni2B3F +ENCODING 11071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +F4 +40 +ENDCHAR +STARTCHAR uni2B40 +ENCODING 11072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +38 +00 +38 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2B41 +ENCODING 11073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2B42 +ENCODING 11074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +40 +F8 +40 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2B43 +ENCODING 11075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +80 +40 +28 +FC +28 +40 +80 +ENDCHAR +STARTCHAR uni2B44 +ENCODING 11076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +C0 +28 +FC +28 +C0 +ENDCHAR +STARTCHAR uni2B45 +ENCODING 11077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +3C +40 +FC +40 +3C +10 +ENDCHAR +STARTCHAR uni2B46 +ENCODING 11078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +F0 +08 +FC +08 +F0 +20 +ENDCHAR +STARTCHAR uni2B47 +ENCODING 11079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +10 +F8 +10 +ENDCHAR +STARTCHAR uni2B48 +ENCODING 11080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +F8 +10 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2B49 +ENCODING 11081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2B4A +ENCODING 11082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +40 +F8 +40 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2B4B +ENCODING 11083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +40 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2B4C +ENCODING 11084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +10 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2C60 +ENCODING 11360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +E0 +40 +E0 +40 +78 +ENDCHAR +STARTCHAR uni2C61 +ENCODING 11361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +C0 +40 +E0 +40 +E0 +40 +ENDCHAR +STARTCHAR uni2C62 +ENCODING 11362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +68 +B0 +20 +20 +38 +ENDCHAR +STARTCHAR uni2C63 +ENCODING 11363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +48 +E8 +48 +70 +40 +40 +ENDCHAR +STARTCHAR uni2C64 +ENCODING 11364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +88 +88 +F0 +A0 +90 +88 +A0 +40 +ENDCHAR +STARTCHAR uni2C65 +ENCODING 11365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +08 +08 +70 +18 +78 +A8 +78 +40 +ENDCHAR +STARTCHAR uni2C66 +ENCODING 11366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +28 +28 +F8 +30 +20 +20 +58 +40 +ENDCHAR +STARTCHAR uni2C67 +ENCODING 11367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +88 +88 +88 +F8 +88 +88 +8C +04 +ENDCHAR +STARTCHAR uni2C68 +ENCODING 11368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +80 +80 +F0 +88 +88 +88 +8C +04 +ENDCHAR +STARTCHAR uni2C69 +ENCODING 11369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +88 +90 +A0 +C0 +A0 +90 +8C +04 +ENDCHAR +STARTCHAR uni2C6A +ENCODING 11370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +80 +80 +88 +90 +E0 +90 +8C +04 +ENDCHAR +STARTCHAR uni2C6B +ENCODING 11371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +F8 +08 +10 +20 +40 +80 +FC +04 +ENDCHAR +STARTCHAR uni2C6C +ENCODING 11372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +F8 +10 +20 +40 +FC +04 +ENDCHAR +STARTCHAR uni2C6D +ENCODING 11373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +68 +98 +88 +88 +88 +88 +74 +ENDCHAR +STARTCHAR uni2C6E +ENCODING 11374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +28 +10 +ENDCHAR +STARTCHAR uni2C6F +ENCODING 11375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni2C71 +ENCODING 11377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +84 +88 +88 +50 +20 +ENDCHAR +STARTCHAR uni2C72 +ENCODING 11378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +84 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni2C73 +ENCODING 11379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +84 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni2C74 +ENCODING 11380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +48 +A8 +C8 +50 +20 +ENDCHAR +STARTCHAR uni2C75 +ENCODING 11381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +80 +80 +80 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni2C76 +ENCODING 11382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni2C77 +ENCODING 11383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2C78 +ENCODING 11384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +70 +88 +F0 +80 +74 +18 +ENDCHAR +STARTCHAR uni2C79 +ENCODING 11385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 0 +BITMAP +40 +40 +40 +C0 +ENDCHAR +STARTCHAR uni2C7A +ENCODING 11386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni2C7B +ENCODING 11387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +F0 +10 +70 +10 +F0 +ENDCHAR +STARTCHAR uni2C7C +ENCODING 11388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 -2 +BITMAP +20 +00 +60 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2C7D +ENCODING 11389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +88 +88 +88 +50 +20 +ENDCHAR +STARTCHAR uni2DE0 +ENCODING 11744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 +BITMAP +60 +C0 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni2DE1 +ENCODING 11745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 +BITMAP +C0 +A0 +C0 +A0 +C0 +ENDCHAR +STARTCHAR uni2DE2 +ENCODING 11746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +E0 +80 +80 +80 +ENDCHAR +STARTCHAR uni2DE3 +ENCODING 11747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +70 +50 +50 +F0 +ENDCHAR +STARTCHAR uni2DE4 +ENCODING 11748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 +BITMAP +A8 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni2DE5 +ENCODING 11749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 +BITMAP +C0 +20 +40 +20 +C0 +ENDCHAR +STARTCHAR uni2DE6 +ENCODING 11750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +C0 +A0 +A0 +ENDCHAR +STARTCHAR uni2DE7 +ENCODING 11751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +70 +50 +50 +90 +ENDCHAR +STARTCHAR uni2DE8 +ENCODING 11752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +E0 +A0 +A0 +ENDCHAR +STARTCHAR uni2DE9 +ENCODING 11753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +90 +F0 +90 +90 +ENDCHAR +STARTCHAR uni2DEA +ENCODING 11754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni2DEB +ENCODING 11755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2DEC +ENCODING 11756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +C0 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni2DED +ENCODING 11757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +60 +80 +80 +60 +ENDCHAR +STARTCHAR uni2DEE +ENCODING 11758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni2DEF +ENCODING 11759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +40 +A0 +A0 +ENDCHAR +STARTCHAR uni2DF0 +ENCODING 11760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 5 +BITMAP +A0 +A0 +A0 +B0 +10 +ENDCHAR +STARTCHAR uni2DF1 +ENCODING 11761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +60 +20 +20 +ENDCHAR +STARTCHAR uni2DF2 +ENCODING 11762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 +BITMAP +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2DF3 +ENCODING 11763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 5 +BITMAP +A8 +A8 +A8 +AC +04 +ENDCHAR +STARTCHAR uni2DF4 +ENCODING 11764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +60 +D0 +B0 +60 +ENDCHAR +STARTCHAR uni2DF5 +ENCODING 11765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 6 +BITMAP +7C +88 +88 +68 +ENDCHAR +STARTCHAR uni2DF6 +ENCODING 11766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +C0 +60 +A0 +60 +ENDCHAR +STARTCHAR uni2DF7 +ENCODING 11767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +60 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni2DF8 +ENCODING 11768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 +BITMAP +40 +E0 +40 +A0 +A0 +ENDCHAR +STARTCHAR uni2DF9 +ENCODING 11769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 4 +BITMAP +20 +A0 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2DFA +ENCODING 11770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 4 +BITMAP +40 +E0 +40 +60 +50 +60 +ENDCHAR +STARTCHAR uni2DFB +ENCODING 11771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 5 +BITMAP +98 +A4 +E4 +A4 +98 +ENDCHAR +STARTCHAR uni2DFC +ENCODING 11772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +B0 +88 +F8 +A8 +98 +ENDCHAR +STARTCHAR uni2DFD +ENCODING 11773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +20 +50 +F8 +A8 +A8 +ENDCHAR +STARTCHAR uni2DFE +ENCODING 11774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +F8 +50 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni2DFF +ENCODING 11775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 5 +BITMAP +FC +A8 +B8 +D4 +D4 +ENDCHAR + + + +STARTCHAR u30A0 +ENCODING 12448 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +00 +F8 +ENDCHAR +STARTCHAR u30A1 +ENCODING 12449 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +F0 +10 +60 +40 +ENDCHAR +STARTCHAR u30A2 +ENCODING 12450 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +08 +28 +30 +20 +40 +ENDCHAR +STARTCHAR u30A3 +ENCODING 12451 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 3 4 1 0 +BITMAP +20 +40 +C0 +40 +ENDCHAR +STARTCHAR u30A4 +ENCODING 12452 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 6 0 0 +BITMAP +10 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR u30A5 +ENCODING 12453 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +20 +F0 +90 +20 +ENDCHAR +STARTCHAR u30A6 +ENCODING 12454 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +F8 +88 +08 +10 +20 +ENDCHAR +STARTCHAR u30A7 +ENCODING 12455 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 3 4 1 0 +BITMAP +E0 +40 +40 +E0 +ENDCHAR +STARTCHAR u30A8 +ENCODING 12456 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR u30A9 +ENCODING 12457 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +20 +F0 +60 +A0 +ENDCHAR +STARTCHAR u30AA +ENCODING 12458 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +30 +50 +90 +10 +ENDCHAR +STARTCHAR u30AB +ENCODING 12459 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +48 +48 +48 +90 +ENDCHAR +STARTCHAR u30AC +ENCODING 12460 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +40 +F8 +48 +48 +48 +90 +ENDCHAR +STARTCHAR u30AD +ENCODING 12461 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +F8 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR u30AE +ENCODING 12462 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +20 +F8 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR u30AF +ENCODING 12463 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 5 0 0 +BITMAP +70 +90 +10 +20 +C0 +ENDCHAR +STARTCHAR u30B0 +ENCODING 12464 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +70 +90 +10 +20 +C0 +ENDCHAR +STARTCHAR u30B1 +ENCODING 12465 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +78 +90 +10 +10 +20 +ENDCHAR +STARTCHAR u30B2 +ENCODING 12466 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +40 +78 +90 +10 +10 +20 +ENDCHAR +STARTCHAR u30BB3 +ENCODING 12467 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR u30B4 +ENCODING 12468 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +F8 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR u30BB5 +ENCODING 12469 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +F8 +50 +10 +20 +40 +ENDCHAR +STARTCHAR u30B6 +ENCODING 12470 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +50 +F8 +50 +10 +20 +40 +ENDCHAR +STARTCHAR u30B7 +ENCODING 12471 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +08 +C8 +10 +E0 +ENDCHAR +STARTCHAR u30B8 +ENCODING 12472 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +C0 +08 +C8 +10 +E0 +ENDCHAR +STARTCHAR u30B9 +ENCODING 12473 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +20 +50 +88 +ENDCHAR +STARTCHAR u30BA +ENCODING 12474 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +F8 +10 +20 +50 +88 +ENDCHAR +STARTCHAR u30BB +ENCODING 12475 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +48 +50 +40 +38 +ENDCHAR +STARTCHAR u30BC +ENCODING 12476 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +40 +F8 +48 +50 +40 +38 +ENDCHAR +STARTCHAR u30BD +ENCODING 12477 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +48 +10 +60 +ENDCHAR +STARTCHAR u30BE +ENCODING 12478 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +88 +88 +48 +10 +60 +ENDCHAR +STARTCHAR u30BF +ENCODING 12479 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +48 +A8 +10 +60 +ENDCHAR +STARTCHAR u30C0 +ENCODING 12480 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +78 +48 +A8 +10 +60 +ENDCHAR +STARTCHAR u30C1 +ENCODING 12481 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +E0 +20 +F8 +20 +40 +ENDCHAR +STARTCHAR u30C2 +ENCODING 12482 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +10 +E0 +20 +F8 +20 +40 +ENDCHAR +STARTCHAR u30C3 +ENCODING 12483 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +A8 +A8 +08 +30 +ENDCHAR +STARTCHAR u30C4 +ENCODING 12484 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +08 +10 +20 +ENDCHAR +STARTCHAR u30C5 +ENCODING 12485 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +A8 +A8 +08 +10 +20 +ENDCHAR +STARTCHAR u30C6 +ENCODING 12486 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +00 +F8 +20 +20 +40 +ENDCHAR +STARTCHAR u30C7 +ENCODING 12487 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +70 +00 +F8 +20 +20 +40 +ENDCHAR +STARTCHAR u30C8 +ENCODING 12488 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +80 +80 +C0 +A0 +80 +80 +ENDCHAR +STARTCHAR u30C9 +ENCODING 12489 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +50 +00 +80 +80 +C0 +A0 +80 +80 +ENDCHAR +STARTCHAR u30CA +ENCODING 12490 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +F8 +20 +20 +40 +80 +ENDCHAR +STARTCHAR u30CB +ENCODING 12491 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +00 +00 +00 +F8 +ENDCHAR +STARTCHAR u30CC +ENCODING 12492 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +50 +20 +D0 +ENDCHAR +STARTCHAR u30CD +ENCODING 12493 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +F8 +10 +20 +70 +A8 +ENDCHAR +STARTCHAR u30CE +ENCODING 12494 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +20 +20 +20 +20 +40 +80 +ENDCHAR +STARTCHAR u30CF +ENCODING 12495 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +88 +88 +88 +88 +ENDCHAR +STARTCHAR u30D0 +ENCODING 12496 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +10 +88 +88 +88 +88 +ENDCHAR +STARTCHAR u30D1 +ENCODING 12497 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +18 +00 +10 +88 +88 +88 +88 +ENDCHAR +STARTCHAR u30D2 +ENCODING 12498 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +80 +F8 +80 +80 +78 +ENDCHAR +STARTCHAR u30D3 +ENCODING 12499 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +80 +80 +F8 +80 +80 +78 +ENDCHAR +STARTCHAR u30D4 +ENCODING 12500 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +18 +98 +80 +F8 +80 +80 +78 +ENDCHAR +STARTCHAR u30D5 +ENCODING 12501 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +08 +10 +60 +ENDCHAR +STARTCHAR u30D6 +ENCODING 12502 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +F8 +08 +08 +10 +60 +ENDCHAR +STARTCHAR u30D7 +ENCODING 12503 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +18 +00 +F8 +08 +08 +10 +60 +ENDCHAR +STARTCHAR u30D8 +ENCODING 12504 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +40 +A0 +10 +08 +ENDCHAR +STARTCHAR u30D9 +ENCODING 12505 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +28 +00 +40 +A0 +10 +08 +ENDCHAR +STARTCHAR u30DA +ENCODING 12506 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +18 +18 +40 +A0 +10 +08 +ENDCHAR +STARTCHAR u30DB +ENCODING 12507 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +F8 +20 +A8 +A8 +20 +ENDCHAR +STARTCHAR u30DC +ENCODING 12508 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +20 +F8 +20 +A8 +A8 +20 +ENDCHAR +STARTCHAR u30DD +ENCODING 12509 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +18 +20 +F8 +20 +A8 +A8 +20 +ENDCHAR +STARTCHAR u30DE +ENCODING 12510 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +50 +20 +10 +ENDCHAR +STARTCHAR u30DF +ENCODING 12511 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +E0 +00 +E0 +00 +F0 +ENDCHAR +STARTCHAR u30E0 +ENCODING 12512 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +40 +88 +F8 +08 +ENDCHAR +STARTCHAR u30E1 +ENCODING 12513 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +28 +10 +28 +C0 +ENDCHAR +STARTCHAR u30E2 +ENCODING 12514 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +40 +F8 +40 +38 +ENDCHAR +STARTCHAR u30E3 +ENCODING 12515 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +40 +F8 +50 +40 +ENDCHAR +STARTCHAR u30E4 +ENCODING 12516 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +48 +50 +40 +40 +ENDCHAR +STARTCHAR u30E5 +ENCODING 12517 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +60 +20 +20 +F0 +ENDCHAR +STARTCHAR u30E6 +ENCODING 12518 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +10 +10 +10 +F8 +ENDCHAR +STARTCHAR u30E7 +ENCODING 12519 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 5 0 0 +BITMAP +F0 +10 +F0 +10 +F0 +ENDCHAR +STARTCHAR u30E8 +ENCODING 12520 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +F8 +08 +F8 +ENDCHAR +STARTCHAR u30E9 +ENCODING 12521 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +00 +F8 +08 +10 +20 +ENDCHAR +STARTCHAR u30EA +ENCODING 12522 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 6 0 0 +BITMAP +90 +90 +90 +90 +10 +20 +ENDCHAR +STARTCHAR u30EB +ENCODING 12523 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +A0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR u30EC +ENCODING 12524 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 5 0 0 +BITMAP +80 +80 +90 +A0 +C0 +ENDCHAR +STARTCHAR u30ED +ENCODING 12525 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR u30EE +ENCODING 12526 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +F0 +90 +10 +20 +ENDCHAR +STARTCHAR u30EF +ENCODING 12527 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +08 +10 +20 +ENDCHAR +STARTCHAR u30F0 +ENCODING 12528 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +50 +50 +F8 +10 +ENDCHAR +STARTCHAR u30F1 +ENCODING 12529 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +30 +20 +F8 +ENDCHAR +STARTCHAR u30F2 +ENCODING 12530 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +F8 +08 +30 +ENDCHAR +STARTCHAR u30F3 +ENCODING 12531 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +08 +08 +10 +E0 +ENDCHAR +STARTCHAR u30F4 +ENCODING 12532 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +20 +F8 +88 +08 +10 +20 +ENDCHAR +STARTCHAR u30F5 +ENCODING 12533 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +40 +F0 +50 +A0 +ENDCHAR +STARTCHAR u30F6 +ENCODING 12534 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +40 +F0 +20 +40 +ENDCHAR +STARTCHAR u30F7 +ENCODING 12535 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +F8 +88 +08 +10 +60 +ENDCHAR +STARTCHAR u30F8 +ENCODING 12536 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +10 +F8 +50 +50 +F8 +10 +ENDCHAR +STARTCHAR u30F9 +ENCODING 12537 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +F8 +08 +30 +20 +F8 +ENDCHAR +STARTCHAR u30FA +ENCODING 12538 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +F8 +08 +F8 +08 +30 +ENDCHAR +STARTCHAR u30FB +ENCODING 12539 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 2 2 2 2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR u30FC +ENCODING 12540 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 1 0 2 +BITMAP +F8 +ENDCHAR +STARTCHAR u30FD +ENCODING 12541 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +80 +60 +10 +08 +ENDCHAR +STARTCHAR u30FE +ENCODING 12542 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +28 +80 +60 +10 +08 +ENDCHAR +STARTCHAR u30FF +ENCODING 12543 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +08 +08 +08 +08 +08 +ENDCHAR + + +STARTCHAR ff +ENCODING 64256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +50 +50 +F8 +50 +50 +50 +ENDCHAR +STARTCHAR fi +ENCODING 64257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +48 +40 +F8 +48 +48 +48 +ENDCHAR +STARTCHAR fl +ENCODING 64258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +48 +48 +F8 +48 +48 +48 +ENDCHAR +STARTCHAR ffi +ENCODING 64259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A0 +F8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR ffl +ENCODING 64260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A8 +A8 +F8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uniFB05 +ENCODING 64261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +78 +D0 +50 +50 +48 +ENDCHAR +STARTCHAR uniFB06 +ENCODING 64262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +50 +78 +90 +50 +50 +88 +ENDCHAR +STARTCHAR uniFE20 +ENCODING 65056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 8 +BITMAP +38 +C0 +ENDCHAR +STARTCHAR uniFE21 +ENCODING 65057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +E0 +18 +ENDCHAR +STARTCHAR uniFE22 +ENCODING 65058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 +BITMAP +7C +80 +ENDCHAR +STARTCHAR uniFE23 +ENCODING 65059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +08 +F0 +ENDCHAR +STARTCHAR uniFFFD +ENCODING 65533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +D8 +A8 +E8 +D8 +D8 +F8 +D8 +70 +ENDCHAR +ENDFONT diff --git a/buildroot/share/fonts/marlin-6x12-3.bdf b/buildroot/share/fonts/marlin-6x12-3.bdf new file mode 100644 index 000000000000..0dc909c5f4b4 --- /dev/null +++ b/buildroot/share/fonts/marlin-6x12-3.bdf @@ -0,0 +1,586750 @@ +STARTFONT 2.1 +FONT -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 +SIZE 12 75 75 +FONTBOUNDINGBOX 6 12 0 -2 +COMMENT "Marlin 6x12 Fixed, for menu display" +COMMENT "This font is base on the X Windows' 6x12 '-Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1', added Marlin symbols at position 1-9, added jp-kana data, the other missing char data were from wqy-bitmapsong-bdf-1.0.0-RC1; some chars were tweak for display on LCD screen, such as ',;c69' etc." +STARTPROPERTIES 23 +FONTNAME_REGISTRY "" +FOUNDRY "Marlin" +FAMILY_NAME "Fixed" +WEIGHT_NAME "Medium" +SLANT "R" +SETWIDTH_NAME "SemiCondensed" +ADD_STYLE_NAME "" +PIXEL_SIZE 12 +POINT_SIZE 120 +RESOLUTION_X 75 +RESOLUTION_Y 75 +SPACING "C" +AVERAGE_WIDTH 60 +CHARSET_REGISTRY "ISO10646" +CHARSET_ENCODING "1" +COPYRIGHT "Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1" +CAP_HEIGHT 7 +X_HEIGHT 5 +WEIGHT 10 +QUAD_WIDTH 6 +DEFAULT_CHAR 0 +FONT_DESCENT 2 +FONT_ASCENT 10 +ENDPROPERTIES +CHARS 33727 + +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 480 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR exclam +ENCODING 33 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +80 +80 +00 +80 +ENDCHAR +STARTCHAR quotedbl +ENCODING 34 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +A0 +A0 +A0 +ENDCHAR +STARTCHAR numbersign +ENCODING 35 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +F8 +50 +50 +F8 +50 +ENDCHAR +STARTCHAR dollar +ENCODING 36 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +A8 +A0 +70 +28 +A8 +70 +20 +ENDCHAR +STARTCHAR percent +ENCODING 37 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C8 +C8 +10 +20 +40 +98 +98 +ENDCHAR +STARTCHAR ampersand +ENCODING 38 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +A0 +A0 +40 +A8 +90 +68 +ENDCHAR +STARTCHAR quotesingle +ENCODING 39 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 3 2 5 +BITMAP +80 +80 +80 +ENDCHAR +STARTCHAR parenleft +ENCODING 40 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +40 +40 +80 +80 +80 +40 +40 +20 +ENDCHAR +STARTCHAR parenright +ENCODING 41 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +40 +40 +20 +20 +20 +40 +40 +80 +ENDCHAR +STARTCHAR asterisk +ENCODING 42 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +20 +70 +A8 +20 +ENDCHAR +STARTCHAR plus +ENCODING 43 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR comma +ENCODING 44 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 -1 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR hyphen +ENCODING 45 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR period +ENCODING 46 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 0 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR slash +ENCODING 47 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +10 +20 +40 +40 +80 +ENDCHAR +STARTCHAR zero +ENCODING 48 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +98 +A8 +C8 +88 +70 +ENDCHAR +STARTCHAR one +ENCODING 49 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +C0 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR two +ENCODING 50 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR three +ENCODING 51 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +30 +08 +88 +70 +ENDCHAR +STARTCHAR four +ENCODING 52 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +30 +50 +90 +F8 +10 +10 +ENDCHAR +STARTCHAR five +ENCODING 53 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +F0 +08 +08 +88 +70 +ENDCHAR +STARTCHAR six +ENCODING 54 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +40 +80 +F0 +88 +88 +70 +ENDCHAR +STARTCHAR seven +ENCODING 55 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +10 +20 +20 +20 +ENDCHAR +STARTCHAR eight +ENCODING 56 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +70 +88 +88 +70 +ENDCHAR +STARTCHAR nine +ENCODING 57 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +78 +08 +10 +60 +ENDCHAR +STARTCHAR colon +ENCODING 58 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 0 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR semicolon +ENCODING 59 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 1 -1 +BITMAP +C0 +C0 +00 +C0 +40 +80 +ENDCHAR +STARTCHAR less +ENCODING 60 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR equal +ENCODING 61 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +F8 +00 +F8 +ENDCHAR +STARTCHAR greater +ENCODING 62 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +40 +20 +40 +80 +ENDCHAR +STARTCHAR question +ENCODING 63 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +10 +20 +20 +00 +20 +ENDCHAR +STARTCHAR at +ENCODING 64 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +B8 +A8 +B8 +80 +70 +ENDCHAR +STARTCHAR A +ENCODING 65 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR B +ENCODING 66 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +70 +48 +48 +F0 +ENDCHAR +STARTCHAR C +ENCODING 67 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR D +ENCODING 68 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +ENDCHAR +STARTCHAR E +ENCODING 69 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR F +ENCODING 70 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR G +ENCODING 71 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR H +ENCODING 72 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR I +ENCODING 73 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR J +ENCODING 74 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR K +ENCODING 75 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR L +ENCODING 76 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR M +ENCODING 77 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR N +ENCODING 78 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR O +ENCODING 79 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR P +ENCODING 80 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR Q +ENCODING 81 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +A8 +90 +68 +ENDCHAR +STARTCHAR R +ENCODING 82 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR S +ENCODING 83 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR T +ENCODING 84 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR U +ENCODING 85 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR V +ENCODING 86 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +50 +50 +20 +ENDCHAR +STARTCHAR W +ENCODING 87 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR X +ENCODING 88 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR Y +ENCODING 89 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Z +ENCODING 90 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR bracketleft +ENCODING 91 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR backslash +ENCODING 92 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +40 +20 +10 +10 +08 +ENDCHAR +STARTCHAR bracketright +ENCODING 93 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR asciicircum +ENCODING 94 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 5 +BITMAP +20 +50 +88 +ENDCHAR +STARTCHAR underscore +ENCODING 95 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 -2 +BITMAP +F8 +ENDCHAR +STARTCHAR grave +ENCODING 96 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +80 +40 +20 +ENDCHAR +STARTCHAR a +ENCODING 97 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR b +ENCODING 98 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +F0 +88 +88 +88 +F0 +ENDCHAR +STARTCHAR c +ENCODING 99 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +80 +80 +88 +70 +ENDCHAR +STARTCHAR d +ENCODING 100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR e +ENCODING 101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR f +ENCODING 102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +48 +40 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR g +ENCODING 103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR h +ENCODING 104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR i +ENCODING 105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR j +ENCODING 106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +10 +00 +30 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR k +ENCODING 107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +88 +90 +E0 +90 +88 +ENDCHAR +STARTCHAR l +ENCODING 108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR m +ENCODING 109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D0 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR n +ENCODING 110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR o +ENCODING 111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR p +ENCODING 112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR q +ENCODING 113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR r +ENCODING 114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR s +ENCODING 115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR t +ENCODING 116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +ENDCHAR +STARTCHAR u +ENCODING 117 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +98 +68 +ENDCHAR +STARTCHAR v +ENCODING 118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +50 +20 +ENDCHAR +STARTCHAR w +ENCODING 119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR x +ENCODING 120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR y +ENCODING 121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR z +ENCODING 122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR braceleft +ENCODING 123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +40 +40 +40 +80 +40 +40 +40 +20 +ENDCHAR +STARTCHAR bar +ENCODING 124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 9 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR braceright +ENCODING 125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +40 +40 +40 +20 +40 +40 +40 +80 +ENDCHAR +STARTCHAR asciitilde +ENCODING 126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +48 +A8 +90 +ENDCHAR +STARTCHAR space +ENCODING 160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR exclamdown +ENCODING 161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR cent +ENCODING 162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +70 +A8 +A0 +A8 +70 +20 +ENDCHAR +STARTCHAR sterling +ENCODING 163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +48 +40 +E0 +40 +48 +B0 +ENDCHAR +STARTCHAR currency +ENCODING 164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +50 +88 +50 +A8 +ENDCHAR +STARTCHAR yen +ENCODING 165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +50 +F8 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR brokenbar +ENCODING 166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +00 +80 +80 +80 +ENDCHAR +STARTCHAR section +ENCODING 167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +70 +80 +60 +90 +90 +60 +10 +E0 +ENDCHAR +STARTCHAR dieresis +ENCODING 168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 7 +BITMAP +A0 +ENDCHAR +STARTCHAR copyright +ENCODING 169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +B4 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR ordfeminine +ENCODING 170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +60 +A0 +60 +00 +E0 +ENDCHAR +STARTCHAR guillemotleft +ENCODING 171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +28 +50 +A0 +50 +28 +ENDCHAR +STARTCHAR logicalnot +ENCODING 172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +08 +08 +ENDCHAR +STARTCHAR hyphen +ENCODING 173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +E0 +ENDCHAR +STARTCHAR registered +ENCODING 174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR macron +ENCODING 175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 7 +BITMAP +F8 +ENDCHAR +STARTCHAR degree +ENCODING 176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 5 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR plusminus +ENCODING 177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +00 +F8 +ENDCHAR +STARTCHAR twosuperior +ENCODING 178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +20 +40 +E0 +ENDCHAR +STARTCHAR threesuperior +ENCODING 179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +C0 +20 +40 +20 +C0 +ENDCHAR +STARTCHAR acute +ENCODING 180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +20 +40 +80 +ENDCHAR +STARTCHAR mu +ENCODING 181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +98 +E8 +80 +80 +ENDCHAR +STARTCHAR paragraph +ENCODING 182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +E8 +E8 +E8 +68 +28 +28 +28 +ENDCHAR +STARTCHAR periodcentered +ENCODING 183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR cedilla +ENCODING 184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +20 +C0 +ENDCHAR +STARTCHAR onesuperior +ENCODING 185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR ordmasculine +ENCODING 186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +40 +00 +E0 +ENDCHAR +STARTCHAR guillemotright +ENCODING 187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +50 +28 +50 +A0 +ENDCHAR +STARTCHAR onequarter +ENCODING 188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +C0 +48 +50 +60 +50 +B0 +50 +78 +10 +ENDCHAR +STARTCHAR onehalf +ENCODING 189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +C0 +48 +50 +60 +50 +A8 +08 +10 +38 +ENDCHAR +STARTCHAR threequarters +ENCODING 190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +20 +48 +30 +E0 +50 +B0 +50 +78 +10 +ENDCHAR +STARTCHAR questiondown +ENCODING 191 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +20 +20 +40 +88 +70 +ENDCHAR +STARTCHAR Agrave +ENCODING 192 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Aacute +ENCODING 193 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Acircumflex +ENCODING 194 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Atilde +ENCODING 195 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Adieresis +ENCODING 196 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Aring +ENCODING 197 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +20 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR AE +ENCODING 198 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR Ccedilla +ENCODING 199 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +80 +80 +88 +70 +10 +60 +ENDCHAR +STARTCHAR Egrave +ENCODING 200 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Eacute +ENCODING 201 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Ecircumflex +ENCODING 202 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Edieresis +ENCODING 203 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Igrave +ENCODING 204 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +80 +40 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Iacute +ENCODING 205 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +20 +40 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Icircumflex +ENCODING 206 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +40 +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Idieresis +ENCODING 207 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Eth +ENCODING 208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +48 +48 +E8 +48 +48 +70 +ENDCHAR +STARTCHAR Ntilde +ENCODING 209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR Ograve +ENCODING 210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Oacute +ENCODING 211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Ocircumflex +ENCODING 212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Otilde +ENCODING 213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Odieresis +ENCODING 214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR multiply +ENCODING 215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR Oslash +ENCODING 216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +08 +70 +98 +A8 +A8 +A8 +C8 +70 +80 +ENDCHAR +STARTCHAR Ugrave +ENCODING 217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Uacute +ENCODING 218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Ucircumflex +ENCODING 219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Udieresis +ENCODING 220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Yacute +ENCODING 221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Thorn +ENCODING 222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +E0 +90 +90 +90 +E0 +80 +ENDCHAR +STARTCHAR germandbls +ENCODING 223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +90 +A0 +90 +88 +B0 +ENDCHAR +STARTCHAR agrave +ENCODING 224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR aacute +ENCODING 225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR acircumflex +ENCODING 226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR atilde +ENCODING 227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR adieresis +ENCODING 228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR aring +ENCODING 229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR ae +ENCODING 230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +28 +70 +A0 +78 +ENDCHAR +STARTCHAR ccedilla +ENCODING 231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +80 +88 +70 +10 +60 +ENDCHAR +STARTCHAR egrave +ENCODING 232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR eacute +ENCODING 233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR ecircumflex +ENCODING 234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR edieresis +ENCODING 235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR igrave +ENCODING 236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +80 +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR iacute +ENCODING 237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +20 +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR icircumflex +ENCODING 238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +40 +A0 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR idieresis +ENCODING 239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR eth +ENCODING 240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +20 +50 +08 +78 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ntilde +ENCODING 241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR ograve +ENCODING 242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR oacute +ENCODING 243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ocircumflex +ENCODING 244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR otilde +ENCODING 245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR odieresis +ENCODING 246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR divide +ENCODING 247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +00 +F8 +00 +20 +ENDCHAR +STARTCHAR oslash +ENCODING 248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +98 +A8 +C8 +F0 +ENDCHAR +STARTCHAR ugrave +ENCODING 249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uacute +ENCODING 250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ucircumflex +ENCODING 251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR udieresis +ENCODING 252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR yacute +ENCODING 253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR thorn +ENCODING 254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR ydieresis +ENCODING 255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +50 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR Amacron +ENCODING 256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR amacron +ENCODING 257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR Abreve +ENCODING 258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR abreve +ENCODING 259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR Aogonek +ENCODING 260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +10 +08 +ENDCHAR +STARTCHAR aogonek +ENCODING 261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +08 +78 +88 +78 +20 +30 +ENDCHAR +STARTCHAR Cacute +ENCODING 262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR cacute +ENCODING 263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR Ccircumflex +ENCODING 264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR ccircumflex +ENCODING 265 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR Cdotaccent +ENCODING 266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR cdotaccent +ENCODING 267 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR Ccaron +ENCODING 268 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR ccaron +ENCODING 269 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR Dcaron +ENCODING 270 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F0 +48 +48 +48 +48 +48 +F0 +ENDCHAR +STARTCHAR dcaron +ENCODING 271 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +14 +08 +00 +08 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR Dcroat +ENCODING 272 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +E8 +48 +48 +F0 +ENDCHAR +STARTCHAR dcroat +ENCODING 273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +1C +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR Emacron +ENCODING 274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR emacron +ENCODING 275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR Ebreve +ENCODING 276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR ebreve +ENCODING 277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR Edotaccent +ENCODING 278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR edotaccent +ENCODING 279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR Eogonek +ENCODING 280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +20 +30 +ENDCHAR +STARTCHAR eogonek +ENCODING 281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +F0 +80 +70 +20 +30 +ENDCHAR +STARTCHAR Ecaron +ENCODING 282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR ecaron +ENCODING 283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR Gcircumflex +ENCODING 284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR gcircumflex +ENCODING 285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +20 +50 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR Gbreve +ENCODING 286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR gbreve +ENCODING 287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +70 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR Gdotaccent +ENCODING 288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR gdotaccent +ENCODING 289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR Gcommaaccent +ENCODING 290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +80 +98 +88 +70 +10 +60 +ENDCHAR +STARTCHAR gcommaaccent +ENCODING 291 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +20 +40 +60 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR Hcircumflex +ENCODING 292 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR hcircumflex +ENCODING 293 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +80 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR Hbar +ENCODING 294 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +FC +48 +78 +48 +48 +48 +ENDCHAR +STARTCHAR hbar +ENCODING 295 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +F0 +40 +70 +48 +48 +48 +ENDCHAR +STARTCHAR Itilde +ENCODING 296 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +50 +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR itilde +ENCODING 297 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 0 +BITMAP +50 +A0 +00 +60 +20 +20 +20 +70 +ENDCHAR +STARTCHAR Imacron +ENCODING 298 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +E0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR imacron +ENCODING 299 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Ibreve +ENCODING 300 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR ibreve +ENCODING 301 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +60 +20 +20 +20 +70 +ENDCHAR +STARTCHAR Iogonek +ENCODING 302 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 +BITMAP +E0 +40 +40 +40 +40 +40 +E0 +40 +60 +ENDCHAR +STARTCHAR iogonek +ENCODING 303 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 +BITMAP +40 +00 +C0 +40 +40 +40 +E0 +40 +60 +ENDCHAR +STARTCHAR Idotaccent +ENCODING 304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +40 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR dotlessi +ENCODING 305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR IJ +ENCODING 306 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +98 +88 +88 +88 +88 +A8 +90 +ENDCHAR +STARTCHAR ij +ENCODING 307 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +00 +98 +88 +88 +88 +88 +88 +30 +ENDCHAR +STARTCHAR Jcircumflex +ENCODING 308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +28 +00 +38 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR jcircumflex +ENCODING 309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +28 +00 +30 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR Kcommaaccent +ENCODING 310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +10 +60 +ENDCHAR +STARTCHAR kcommaaccent +ENCODING 311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +88 +90 +E0 +90 +88 +10 +60 +ENDCHAR +STARTCHAR kgreenlandic +ENCODING 312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR Lacute +ENCODING 313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR lacute +ENCODING 314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +20 +40 +00 +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Lcommaaccent +ENCODING 315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +F8 +10 +60 +ENDCHAR +STARTCHAR lcommaaccent +ENCODING 316 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +E0 +20 +C0 +ENDCHAR +STARTCHAR Lcaron +ENCODING 317 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR lcaron +ENCODING 318 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +A0 +40 +00 +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Ldot +ENCODING 319 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +80 +90 +80 +80 +F8 +ENDCHAR +STARTCHAR ldot +ENCODING 320 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +C0 +40 +40 +50 +40 +40 +E0 +ENDCHAR +STARTCHAR Lslash +ENCODING 321 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +60 +C0 +40 +40 +78 +ENDCHAR +STARTCHAR lslash +ENCODING 322 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +60 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR Nacute +ENCODING 323 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR nacute +ENCODING 324 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR Ncommaaccent +ENCODING 325 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +C8 +A8 +98 +88 +88 +20 +40 +ENDCHAR +STARTCHAR ncommaaccent +ENCODING 326 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +20 +40 +ENDCHAR +STARTCHAR Ncaron +ENCODING 327 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR ncaron +ENCODING 328 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR napostrophe +ENCODING 329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C0 +40 +80 +50 +68 +48 +48 +48 +ENDCHAR +STARTCHAR Eng +ENCODING 330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +C8 +A8 +98 +88 +88 +08 +30 +ENDCHAR +STARTCHAR eng +ENCODING 331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +08 +30 +ENDCHAR +STARTCHAR Omacron +ENCODING 332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR omacron +ENCODING 333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Obreve +ENCODING 334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR obreve +ENCODING 335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Ohungarumlaut +ENCODING 336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +48 +90 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ohungarumlaut +ENCODING 337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +90 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR OE +ENCODING 338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +B0 +A0 +A0 +78 +ENDCHAR +STARTCHAR oe +ENCODING 339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +B0 +A0 +78 +ENDCHAR +STARTCHAR Racute +ENCODING 340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR racute +ENCODING 341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR Rcommaaccent +ENCODING 342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +88 +88 +F0 +A0 +90 +88 +20 +40 +ENDCHAR +STARTCHAR rcommaaccent +ENCODING 343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +80 +80 +80 +20 +40 +ENDCHAR +STARTCHAR Rcaron +ENCODING 344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR rcaron +ENCODING 345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR Sacute +ENCODING 346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR sacute +ENCODING 347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR Scircumflex +ENCODING 348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR scircumflex +ENCODING 349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR Scedilla +ENCODING 350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +70 +08 +88 +70 +10 +60 +ENDCHAR +STARTCHAR scedilla +ENCODING 351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +10 +60 +ENDCHAR +STARTCHAR Scaron +ENCODING 352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR scaron +ENCODING 353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR Tcommaaccent +ENCODING 354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +10 +60 +ENDCHAR +STARTCHAR tcommaaccent +ENCODING 355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +08 +30 +ENDCHAR +STARTCHAR Tcaron +ENCODING 356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR tcaron +ENCODING 357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +20 +20 +F8 +20 +20 +20 +18 +ENDCHAR +STARTCHAR Tbar +ENCODING 358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR tbar +ENCODING 359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +20 +F8 +20 +20 +18 +ENDCHAR +STARTCHAR Utilde +ENCODING 360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR utilde +ENCODING 361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Umacron +ENCODING 362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR umacron +ENCODING 363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Ubreve +ENCODING 364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ubreve +ENCODING 365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Uring +ENCODING 366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +20 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uring +ENCODING 367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Uhungarumlaut +ENCODING 368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +48 +90 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uhungarumlaut +ENCODING 369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +90 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Uogonek +ENCODING 370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +88 +88 +88 +70 +20 +30 +ENDCHAR +STARTCHAR uogonek +ENCODING 371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +70 +20 +30 +ENDCHAR +STARTCHAR Wcircumflex +ENCODING 372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR wcircumflex +ENCODING 373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Ycircumflex +ENCODING 374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR ycircumflex +ENCODING 375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +20 +50 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR Ydieresis +ENCODING 376 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Zacute +ENCODING 377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR zacute +ENCODING 378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +F8 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR Zdotaccent +ENCODING 379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR zdotaccent +ENCODING 380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +F8 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR Zcaron +ENCODING 381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR zcaron +ENCODING 382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +F8 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR longs +ENCODING 383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +30 +40 +40 +C0 +40 +40 +40 +ENDCHAR +STARTCHAR uni0180 +ENCODING 384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +F0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR uni0181 +ENCODING 385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +28 +30 +28 +28 +30 +ENDCHAR +STARTCHAR uni0182 +ENCODING 386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +40 +40 +70 +48 +48 +F0 +ENDCHAR +STARTCHAR uni0183 +ENCODING 387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +80 +F0 +88 +88 +88 +F0 +ENDCHAR +STARTCHAR uni0184 +ENCODING 388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +C0 +C0 +70 +48 +48 +70 +ENDCHAR +STARTCHAR uni0185 +ENCODING 389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +C0 +70 +48 +48 +48 +70 +ENDCHAR +STARTCHAR uni0186 +ENCODING 390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni0187 +ENCODING 391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +0C +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR uni0188 +ENCODING 392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +18 +60 +90 +80 +90 +60 +ENDCHAR +STARTCHAR uni0189 +ENCODING 393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +E8 +48 +48 +F0 +ENDCHAR +STARTCHAR uni018A +ENCODING 394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +28 +28 +28 +28 +30 +ENDCHAR +STARTCHAR uni018B +ENCODING 395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +08 +08 +78 +88 +88 +78 +ENDCHAR +STARTCHAR uni018C +ENCODING 396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR uni018D +ENCODING 397 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni018E +ENCODING 398 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +78 +08 +08 +F8 +ENDCHAR +STARTCHAR uni018F +ENCODING 399 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni0190 +ENCODING 400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +70 +80 +88 +70 +ENDCHAR +STARTCHAR uni0191 +ENCODING 401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +78 +40 +40 +70 +40 +40 +40 +80 +ENDCHAR +STARTCHAR florin +ENCODING 402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +28 +20 +70 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni0193 +ENCODING 403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +0C +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni0194 +ENCODING 404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +50 +20 +50 +20 +ENDCHAR +STARTCHAR uni0195 +ENCODING 405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +C8 +A8 +A8 +A8 +90 +ENDCHAR +STARTCHAR uni0196 +ENCODING 406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +40 +40 +40 +40 +20 +ENDCHAR +STARTCHAR uni0197 +ENCODING 407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +E0 +40 +40 +E0 +ENDCHAR +STARTCHAR uni0198 +ENCODING 408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +98 +A0 +C0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni0199 +ENCODING 409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +80 +88 +90 +E0 +90 +88 +ENDCHAR +STARTCHAR uni019A +ENCODING 410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +40 +E0 +40 +40 +E0 +ENDCHAR +STARTCHAR uni019B +ENCODING 411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +40 +C0 +40 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni019C +ENCODING 412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +58 +ENDCHAR +STARTCHAR uni019D +ENCODING 413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +48 +48 +48 +68 +58 +48 +48 +80 +ENDCHAR +STARTCHAR uni019E +ENCODING 414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni019F +ENCODING 415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR Ohorn +ENCODING 416 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +68 +90 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR ohorn +ENCODING 417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01A2 +ENCODING 418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +B0 +A8 +A8 +A8 +A8 +48 +ENDCHAR +STARTCHAR uni01A3 +ENCODING 419 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +A8 +A8 +48 +ENDCHAR +STARTCHAR uni01A4 +ENCODING 420 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +70 +40 +40 +40 +ENDCHAR +STARTCHAR uni01A5 +ENCODING 421 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +40 +80 +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR uni01A6 +ENCODING 422 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +80 +F0 +88 +88 +F0 +A0 +90 +08 +ENDCHAR +STARTCHAR uni01A7 +ENCODING 423 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +70 +80 +88 +70 +ENDCHAR +STARTCHAR uni01A8 +ENCODING 424 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +08 +70 +80 +78 +ENDCHAR +STARTCHAR uni01A9 +ENCODING 425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +40 +20 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR uni01AA +ENCODING 426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +40 +A0 +70 +20 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni01AB +ENCODING 427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +08 +30 +ENDCHAR +STARTCHAR uni01AC +ENCODING 428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni01AD +ENCODING 429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +20 +20 +F8 +20 +20 +20 +18 +ENDCHAR +STARTCHAR uni01AE +ENCODING 430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +18 +ENDCHAR +STARTCHAR Uhorn +ENCODING 431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +98 +90 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uhorn +ENCODING 432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +08 +98 +90 +90 +B0 +50 +ENDCHAR +STARTCHAR uni01B1 +ENCODING 433 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01B2 +ENCODING 434 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +90 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01B3 +ENCODING 435 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +48 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni01B4 +ENCODING 436 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +10 +A8 +A0 +A0 +A0 +60 +40 +80 +ENDCHAR +STARTCHAR uni01B5 +ENCODING 437 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +F8 +40 +80 +F8 +ENDCHAR +STARTCHAR uni01B6 +ENCODING 438 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +F8 +40 +F8 +ENDCHAR +STARTCHAR uni01B7 +ENCODING 439 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni01B8 +ENCODING 440 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +40 +20 +70 +80 +88 +70 +ENDCHAR +STARTCHAR uni01B9 +ENCODING 441 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +40 +20 +70 +80 +88 +70 +ENDCHAR +STARTCHAR uni01BA +ENCODING 442 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +30 +08 +70 +88 +70 +ENDCHAR +STARTCHAR uni01BB +ENCODING 443 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +10 +78 +20 +40 +F8 +ENDCHAR +STARTCHAR uni01BC +ENCODING 444 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +E0 +10 +08 +08 +F0 +ENDCHAR +STARTCHAR uni01BD +ENCODING 445 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +F0 +80 +E0 +10 +E0 +ENDCHAR +STARTCHAR uni01BE +ENCODING 446 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +20 +30 +08 +88 +70 +ENDCHAR +STARTCHAR uni01BF +ENCODING 447 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +90 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni01C0 +ENCODING 448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni01C1 +ENCODING 449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni01C2 +ENCODING 450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +40 +E0 +40 +E0 +40 +40 +ENDCHAR +STARTCHAR uni01C3 +ENCODING 451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +E0 +E0 +40 +40 +00 +40 +ENDCHAR +STARTCHAR uni01C4 +ENCODING 452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +28 +10 +00 +D8 +A8 +A8 +B0 +B0 +B0 +D8 +ENDCHAR +STARTCHAR uni01C5 +ENCODING 453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +28 +10 +C0 +A0 +B8 +A8 +B0 +B0 +D8 +ENDCHAR +STARTCHAR uni01C6 +ENCODING 454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +28 +10 +00 +20 +20 +78 +A8 +B0 +B0 +78 +ENDCHAR +STARTCHAR uni01C7 +ENCODING 455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +88 +A8 +D0 +ENDCHAR +STARTCHAR uni01C8 +ENCODING 456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +80 +98 +88 +88 +88 +E8 +08 +30 +ENDCHAR +STARTCHAR uni01C9 +ENCODING 457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +C8 +40 +58 +48 +48 +48 +E8 +08 +30 +ENDCHAR +STARTCHAR uni01CA +ENCODING 458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E8 +A8 +A8 +A8 +A8 +88 +B0 +ENDCHAR +STARTCHAR uni01CB +ENCODING 459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +E8 +A0 +A8 +A8 +A8 +A8 +88 +28 +10 +ENDCHAR +STARTCHAR uni01CC +ENCODING 460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +00 +58 +A8 +A8 +A8 +A8 +08 +30 +ENDCHAR +STARTCHAR uni01CD +ENCODING 461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni01CE +ENCODING 462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni01CF +ENCODING 463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 +BITMAP +A0 +40 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni01D0 +ENCODING 464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +A0 +40 +00 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni01D1 +ENCODING 465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D2 +ENCODING 466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D3 +ENCODING 467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D4 +ENCODING 468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D5 +ENCODING 469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +50 +00 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D6 +ENCODING 470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D7 +ENCODING 471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +50 +00 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D8 +ENCODING 472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01D9 +ENCODING 473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +50 +00 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01DA +ENCODING 474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01DB +ENCODING 475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +50 +00 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01DC +ENCODING 476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +50 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni01DD +ENCODING 477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +78 +88 +70 +ENDCHAR +STARTCHAR uni01DE +ENCODING 478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +50 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni01DF +ENCODING 479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +50 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni01E0 +ENCODING 480 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +20 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni01E1 +ENCODING 481 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni01E2 +ENCODING 482 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +78 +00 +78 +A0 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR uni01E3 +ENCODING 483 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +70 +28 +70 +A0 +78 +ENDCHAR +STARTCHAR uni01E4 +ENCODING 484 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +98 +98 +88 +70 +ENDCHAR +STARTCHAR uni01E5 +ENCODING 485 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +78 +F8 +70 +ENDCHAR +STARTCHAR Gcaron +ENCODING 486 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR gcaron +ENCODING 487 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +50 +20 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR uni01E8 +ENCODING 488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni01E9 +ENCODING 489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +20 +80 +80 +88 +90 +E0 +90 +88 +ENDCHAR +STARTCHAR uni01EA +ENCODING 490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +88 +88 +88 +70 +40 +30 +ENDCHAR +STARTCHAR uni01EB +ENCODING 491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +70 +40 +30 +ENDCHAR +STARTCHAR uni01EC +ENCODING 492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +70 +00 +70 +88 +88 +88 +88 +88 +70 +40 +30 +ENDCHAR +STARTCHAR uni01ED +ENCODING 493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +00 +70 +88 +88 +88 +70 +40 +30 +ENDCHAR +STARTCHAR uni01EE +ENCODING 494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni01EF +ENCODING 495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +50 +20 +00 +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni01F0 +ENCODING 496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +28 +10 +00 +30 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR uni01F1 +ENCODING 497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +CC +A4 +A4 +A8 +A8 +A8 +CC +ENDCHAR +STARTCHAR uni01F2 +ENCODING 498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +A0 +AC +A4 +A8 +A8 +CC +ENDCHAR +STARTCHAR uni01F3 +ENCODING 499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +20 +6C +A4 +A4 +A8 +6C +ENDCHAR +STARTCHAR uni01F4 +ENCODING 500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +70 +88 +80 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni01F5 +ENCODING 501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR uni01F6 +ENCODING 502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +E8 +A8 +A8 +A8 +90 +ENDCHAR +STARTCHAR uni01F7 +ENCODING 503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +B0 +C8 +88 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni01F8 +ENCODING 504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR uni01F9 +ENCODING 505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR Aringacute +ENCODING 506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +20 +50 +20 +70 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR aringacute +ENCODING 507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +20 +50 +20 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR AEacute +ENCODING 508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +78 +A0 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR aeacute +ENCODING 509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +28 +70 +A0 +78 +ENDCHAR +STARTCHAR Oslashacute +ENCODING 510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +10 +20 +08 +70 +98 +A8 +A8 +A8 +C8 +70 +80 +ENDCHAR +STARTCHAR oslashacute +ENCODING 511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +78 +98 +A8 +C8 +F0 +ENDCHAR +STARTCHAR uni0200 +ENCODING 512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0201 +ENCODING 513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni0202 +ENCODING 514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0203 +ENCODING 515 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni0204 +ENCODING 516 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni0205 +ENCODING 517 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR uni0206 +ENCODING 518 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni0207 +ENCODING 519 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR uni0208 +ENCODING 520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni0209 +ENCODING 521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +60 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni020A +ENCODING 522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni020B +ENCODING 523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +60 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni020C +ENCODING 524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni020D +ENCODING 525 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni020E +ENCODING 526 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni020F +ENCODING 527 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0210 +ENCODING 528 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni0211 +ENCODING 529 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR uni0212 +ENCODING 530 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +F0 +88 +88 +F0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni0213 +ENCODING 531 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +B0 +C8 +80 +80 +80 +ENDCHAR +STARTCHAR uni0214 +ENCODING 532 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0215 +ENCODING 533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0216 +ENCODING 534 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +88 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0217 +ENCODING 535 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +00 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Scommaaccent +ENCODING 536 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +70 +08 +88 +70 +10 +20 +ENDCHAR +STARTCHAR scommaaccent +ENCODING 537 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +10 +20 +ENDCHAR +STARTCHAR Tcommaaccent +ENCODING 538 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +10 +20 +ENDCHAR +STARTCHAR tcommaaccent +ENCODING 539 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +10 +20 +ENDCHAR +STARTCHAR uni021C +ENCODING 540 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +10 +28 +08 +08 +F0 +ENDCHAR +STARTCHAR uni021D +ENCODING 541 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +10 +28 +08 +08 +F0 +ENDCHAR +STARTCHAR uni021E +ENCODING 542 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +50 +20 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni021F +ENCODING 543 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +20 +80 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni0220 +ENCODING 544 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +B0 +C8 +88 +88 +88 +88 +88 +08 +ENDCHAR +STARTCHAR uni0221 +ENCODING 545 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +10 +10 +70 +90 +98 +94 +78 +20 +ENDCHAR +STARTCHAR uni0222 +ENCODING 546 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +88 +88 +70 +88 +88 +70 +ENDCHAR +STARTCHAR uni0223 +ENCODING 547 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +88 +70 +88 +88 +70 +ENDCHAR +STARTCHAR uni0224 +ENCODING 548 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +08 +10 +20 +40 +80 +F8 +08 +30 +ENDCHAR +STARTCHAR uni0225 +ENCODING 549 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +40 +F8 +08 +30 +ENDCHAR +STARTCHAR uni0226 +ENCODING 550 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0227 +ENCODING 551 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni0228 +ENCODING 552 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +08 +30 +ENDCHAR +STARTCHAR uni0229 +ENCODING 553 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +F0 +80 +70 +08 +30 +ENDCHAR +STARTCHAR uni022A +ENCODING 554 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +50 +00 +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022B +ENCODING 555 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022C +ENCODING 556 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +68 +B0 +00 +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022D +ENCODING 557 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +68 +B0 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022E +ENCODING 558 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni022F +ENCODING 559 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0230 +ENCODING 560 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +00 +20 +00 +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0231 +ENCODING 561 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0232 +ENCODING 562 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni0233 +ENCODING 563 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni0234 +ENCODING 564 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -1 +BITMAP +40 +40 +40 +40 +60 +50 +60 +80 +ENDCHAR +STARTCHAR uni0235 +ENCODING 565 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +E0 +90 +98 +94 +98 +20 +ENDCHAR +STARTCHAR uni0236 +ENCODING 566 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +40 +F0 +40 +60 +50 +A0 +ENDCHAR +STARTCHAR uni0237 +ENCODING 567 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -2 +BITMAP +10 +10 +10 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR uni0238 +ENCODING 568 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +70 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni0239 +ENCODING 569 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +A8 +A8 +70 +20 +20 +20 +ENDCHAR +STARTCHAR uni023A +ENCODING 570 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +74 +88 +98 +F8 +A8 +C8 +88 +ENDCHAR +STARTCHAR uni023B +ENCODING 571 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +3C +48 +90 +90 +A0 +40 +B8 +ENDCHAR +STARTCHAR uni023C +ENCODING 572 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +98 +A0 +C8 +F0 +ENDCHAR +STARTCHAR uni023D +ENCODING 573 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +40 +E0 +40 +40 +78 +ENDCHAR +STARTCHAR uni023E +ENCODING 574 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +28 +30 +20 +20 +60 +A0 +ENDCHAR +STARTCHAR uni023F +ENCODING 575 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +20 +10 +ENDCHAR +STARTCHAR uni0240 +ENCODING 576 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +40 +80 +40 +38 +ENDCHAR +STARTCHAR uni0241 +ENCODING 577 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +30 +20 +20 +20 +ENDCHAR +STARTCHAR uni0242 +ENCODING 578 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +E0 +10 +10 +60 +40 +ENDCHAR +STARTCHAR uni0243 +ENCODING 579 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +48 +70 +48 +E8 +48 +70 +ENDCHAR +STARTCHAR uni0244 +ENCODING 580 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +48 +48 +FC +48 +48 +30 +ENDCHAR +STARTCHAR uni0245 +ENCODING 581 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +50 +88 +88 +88 +ENDCHAR +STARTCHAR uni0246 +ENCODING 582 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +88 +90 +F0 +A0 +C0 +F8 +ENDCHAR +STARTCHAR uni0247 +ENCODING 583 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +70 +A8 +F0 +C0 +F0 +ENDCHAR +STARTCHAR uni0248 +ENCODING 584 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +10 +10 +10 +10 +38 +10 +90 +60 +ENDCHAR +STARTCHAR uni0249 +ENCODING 585 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +00 +10 +10 +10 +38 +10 +90 +60 +ENDCHAR +STARTCHAR uni024A +ENCODING 586 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +68 +98 +88 +88 +98 +68 +08 +08 +04 +ENDCHAR +STARTCHAR uni024B +ENCODING 587 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +68 +98 +88 +98 +68 +08 +04 +ENDCHAR +STARTCHAR uni024C +ENCODING 588 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +48 +48 +F0 +48 +48 +48 +ENDCHAR +STARTCHAR uni024D +ENCODING 589 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 0 +BITMAP +50 +60 +40 +E0 +40 +ENDCHAR +STARTCHAR uni024E +ENCODING 590 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +F8 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni024F +ENCODING 591 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +F8 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni0250 +ENCODING 592 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR uni0251 +ENCODING 593 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +68 +98 +88 +98 +68 +ENDCHAR +STARTCHAR uni0252 +ENCODING 594 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +C8 +88 +C8 +B0 +ENDCHAR +STARTCHAR uni0253 +ENCODING 595 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +90 +80 +F0 +88 +88 +88 +F0 +ENDCHAR +STARTCHAR uni0254 +ENCODING 596 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +08 +88 +70 +ENDCHAR +STARTCHAR uni0255 +ENCODING 597 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +78 +80 +90 +A8 +70 +20 +ENDCHAR +STARTCHAR uni0256 +ENCODING 598 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +10 +70 +90 +90 +90 +70 +08 +ENDCHAR +STARTCHAR uni0257 +ENCODING 599 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +10 +10 +70 +90 +90 +90 +70 +ENDCHAR +STARTCHAR uni0258 +ENCODING 600 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +78 +08 +70 +ENDCHAR +STARTCHAR uni0259 +ENCODING 601 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +78 +88 +70 +ENDCHAR +STARTCHAR uni025A +ENCODING 602 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +60 +18 +74 +90 +60 +ENDCHAR +STARTCHAR uni025B +ENCODING 603 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni025C +ENCODING 604 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +30 +88 +70 +ENDCHAR +STARTCHAR uni025D +ENCODING 605 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +68 +94 +20 +90 +60 +ENDCHAR +STARTCHAR uni025E +ENCODING 606 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +B0 +88 +70 +ENDCHAR +STARTCHAR uni025F +ENCODING 607 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +10 +10 +10 +38 +10 +90 +60 +ENDCHAR +STARTCHAR uni0260 +ENCODING 608 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +08 +70 +90 +90 +90 +70 +10 +60 +ENDCHAR +STARTCHAR uni0261 +ENCODING 609 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR uni0262 +ENCODING 610 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni0263 +ENCODING 611 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +50 +20 +50 +20 +ENDCHAR +STARTCHAR uni0264 +ENCODING 612 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +20 +50 +20 +ENDCHAR +STARTCHAR uni0265 +ENCODING 613 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni0266 +ENCODING 614 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni0267 +ENCODING 615 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +70 +88 +80 +F0 +88 +88 +88 +88 +08 +30 +ENDCHAR +STARTCHAR uni0268 +ENCODING 616 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +00 +C0 +40 +E0 +40 +E0 +ENDCHAR +STARTCHAR uni0269 +ENCODING 617 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni026A +ENCODING 618 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +E0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni026B +ENCODING 619 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +20 +68 +B0 +20 +20 +70 +ENDCHAR +STARTCHAR uni026C +ENCODING 620 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +60 +20 +60 +A0 +70 +20 +70 +ENDCHAR +STARTCHAR uni026D +ENCODING 621 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni026E +ENCODING 622 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +C0 +40 +78 +48 +50 +70 +E8 +48 +30 +ENDCHAR +STARTCHAR uni026F +ENCODING 623 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +A8 +A8 +58 +ENDCHAR +STARTCHAR uni0270 +ENCODING 624 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A8 +A8 +A8 +A8 +58 +08 +08 +ENDCHAR +STARTCHAR uni0271 +ENCODING 625 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +D0 +A8 +A8 +A8 +A8 +08 +30 +ENDCHAR +STARTCHAR uni0272 +ENCODING 626 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +48 +48 +48 +48 +40 +80 +ENDCHAR +STARTCHAR uni0273 +ENCODING 627 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +E0 +90 +90 +90 +90 +10 +08 +ENDCHAR +STARTCHAR uni0274 +ENCODING 628 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +C8 +A8 +98 +88 +ENDCHAR +STARTCHAR uni0275 +ENCODING 629 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni0276 +ENCODING 630 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +A0 +B0 +A0 +78 +ENDCHAR +STARTCHAR uni0277 +ENCODING 631 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni0278 +ENCODING 632 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni0279 +ENCODING 633 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +08 +08 +98 +68 +ENDCHAR +STARTCHAR uni027A +ENCODING 634 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +08 +08 +98 +68 +ENDCHAR +STARTCHAR uni027B +ENCODING 635 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +10 +10 +10 +90 +70 +10 +08 +ENDCHAR +STARTCHAR uni027C +ENCODING 636 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni027D +ENCODING 637 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni027E +ENCODING 638 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +30 +48 +80 +80 +80 +ENDCHAR +STARTCHAR uni027F +ENCODING 639 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +60 +90 +08 +08 +08 +ENDCHAR +STARTCHAR uni0280 +ENCODING 640 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +88 +F0 +88 +88 +ENDCHAR +STARTCHAR uni0281 +ENCODING 641 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +F0 +88 +F0 +ENDCHAR +STARTCHAR uni0282 +ENCODING 642 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +80 +60 +ENDCHAR +STARTCHAR uni0283 +ENCODING 643 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +28 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni0284 +ENCODING 644 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +28 +20 +20 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR uni0285 +ENCODING 645 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +A0 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni0286 +ENCODING 646 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +10 +28 +20 +20 +20 +70 +A0 +40 +ENDCHAR +STARTCHAR uni0287 +ENCODING 647 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +C0 +20 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni0288 +ENCODING 648 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +20 +20 +18 +ENDCHAR +STARTCHAR uni0289 +ENCODING 649 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +F8 +88 +98 +68 +ENDCHAR +STARTCHAR uni028A +ENCODING 650 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +50 +88 +88 +70 +ENDCHAR +STARTCHAR uni028B +ENCODING 651 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +88 +88 +90 +60 +ENDCHAR +STARTCHAR uni028C +ENCODING 652 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni028D +ENCODING 653 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +A8 +88 +88 +ENDCHAR +STARTCHAR uni028E +ENCODING 654 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +20 +50 +88 +88 +88 +ENDCHAR +STARTCHAR uni028F +ENCODING 655 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni0290 +ENCODING 656 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +40 +F8 +20 +18 +ENDCHAR +STARTCHAR uni0291 +ENCODING 657 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +50 +F8 +20 +40 +ENDCHAR +STARTCHAR uni0292 +ENCODING 658 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni0293 +ENCODING 659 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +F8 +10 +30 +08 +78 +88 +74 +ENDCHAR +STARTCHAR uni0294 +ENCODING 660 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +30 +20 +20 +20 +ENDCHAR +STARTCHAR uni0295 +ENCODING 661 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +60 +20 +20 +20 +ENDCHAR +STARTCHAR uni0296 +ENCODING 662 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +30 +08 +88 +70 +ENDCHAR +STARTCHAR uni0297 +ENCODING 663 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +80 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR uni0298 +ENCODING 664 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni0299 +ENCODING 665 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +88 +F0 +88 +F0 +ENDCHAR +STARTCHAR uni029A +ENCODING 666 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +68 +88 +70 +ENDCHAR +STARTCHAR uni029B +ENCODING 667 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +78 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni029C +ENCODING 668 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni029D +ENCODING 669 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +00 +30 +10 +10 +10 +78 +90 +60 +ENDCHAR +STARTCHAR uni029E +ENCODING 670 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +48 +38 +48 +88 +08 +08 +ENDCHAR +STARTCHAR uni029F +ENCODING 671 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni02A0 +ENCODING 672 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +10 +70 +90 +90 +90 +70 +10 +10 +ENDCHAR +STARTCHAR uni02A1 +ENCODING 673 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +30 +20 +70 +20 +ENDCHAR +STARTCHAR uni02A2 +ENCODING 674 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +60 +20 +70 +20 +ENDCHAR +STARTCHAR uni02A3 +ENCODING 675 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +20 +6C +A4 +A8 +A8 +6C +ENDCHAR +STARTCHAR uni02A4 +ENCODING 676 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +78 +A8 +B0 +B8 +68 +08 +38 +ENDCHAR +STARTCHAR uni02A5 +ENCODING 677 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +78 +A8 +B0 +B0 +78 +10 +ENDCHAR +STARTCHAR uni02A6 +ENCODING 678 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +F8 +50 +48 +48 +30 +ENDCHAR +STARTCHAR uni02A7 +ENCODING 679 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 +BITMAP +08 +54 +50 +F0 +50 +50 +50 +30 +50 +20 +ENDCHAR +STARTCHAR uni02A8 +ENCODING 680 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +40 +40 +E8 +50 +50 +50 +28 +10 +ENDCHAR +STARTCHAR uni02A9 +ENCODING 681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +60 +90 +80 +F0 +A8 +A8 +A8 +08 +30 +ENDCHAR +STARTCHAR uni02AA +ENCODING 682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +40 +58 +60 +50 +48 +F0 +ENDCHAR +STARTCHAR uni02AB +ENCODING 683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +40 +78 +48 +50 +60 +F8 +ENDCHAR +STARTCHAR uni02AC +ENCODING 684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +50 +00 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni02AD +ENCODING 685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +88 +00 +F8 +88 +ENDCHAR +STARTCHAR uni02AE +ENCODING 686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +48 +48 +48 +48 +48 +48 +38 +08 +08 +ENDCHAR +STARTCHAR uni02AF +ENCODING 687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 +BITMAP +88 +48 +48 +48 +48 +48 +48 +38 +08 +04 +ENDCHAR +STARTCHAR uni02B0 +ENCODING 688 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +80 +80 +C0 +A0 +A0 +ENDCHAR +STARTCHAR uni02B1 +ENCODING 689 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +40 +80 +C0 +A0 +A0 +ENDCHAR +STARTCHAR uni02B2 +ENCODING 690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 3 +BITMAP +20 +00 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni02B3 +ENCODING 691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 4 +BITMAP +C0 +A0 +80 +80 +ENDCHAR +STARTCHAR uni02B4 +ENCODING 692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 4 +BITMAP +20 +20 +A0 +60 +ENDCHAR +STARTCHAR uni02B5 +ENCODING 693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 3 +BITMAP +20 +20 +A0 +60 +10 +ENDCHAR +STARTCHAR uni02B6 +ENCODING 694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +A0 +A0 +C0 +A0 +C0 +ENDCHAR +STARTCHAR uni02B7 +ENCODING 695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 4 +BITMAP +A8 +A8 +50 +50 +ENDCHAR +STARTCHAR uni02B8 +ENCODING 696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 3 +BITMAP +A0 +A0 +60 +20 +C0 +ENDCHAR +STARTCHAR uni02B9 +ENCODING 697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 5 +BITMAP +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni02BA +ENCODING 698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 5 +BITMAP +48 +48 +90 +90 +ENDCHAR +STARTCHAR uni02BB +ENCODING 699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 5 +BITMAP +40 +80 +C0 +ENDCHAR +STARTCHAR afii57929 +ENCODING 700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 5 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR afii64937 +ENCODING 701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 5 +BITMAP +C0 +80 +40 +ENDCHAR +STARTCHAR uni02BE +ENCODING 702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 4 +BITMAP +80 +40 +40 +80 +ENDCHAR +STARTCHAR uni02BF +ENCODING 703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 1 4 +BITMAP +40 +80 +80 +40 +ENDCHAR +STARTCHAR uni02C0 +ENCODING 704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +40 +A0 +20 +40 +40 +ENDCHAR +STARTCHAR uni02C1 +ENCODING 705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +40 +A0 +80 +40 +40 +ENDCHAR +STARTCHAR uni02C2 +ENCODING 706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR uni02C3 +ENCODING 707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +80 +40 +20 +40 +80 +ENDCHAR +STARTCHAR uni02C4 +ENCODING 708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +40 +A0 +A0 +ENDCHAR +STARTCHAR uni02C5 +ENCODING 709 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +A0 +A0 +40 +ENDCHAR +STARTCHAR circumflex +ENCODING 710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 6 +BITMAP +40 +A0 +ENDCHAR +STARTCHAR caron +ENCODING 711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 7 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni02C8 +ENCODING 712 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 6 +BITMAP +80 +80 +ENDCHAR +STARTCHAR macron +ENCODING 713 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 1 1 7 +BITMAP +F0 +ENDCHAR +STARTCHAR uni02CA +ENCODING 714 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 6 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni02CB +ENCODING 715 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 6 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni02CC +ENCODING 716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 -1 +BITMAP +80 +80 +ENDCHAR +STARTCHAR uni02CD +ENCODING 717 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 1 1 0 +BITMAP +F0 +ENDCHAR +STARTCHAR uni02CE +ENCODING 718 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -1 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni02CF +ENCODING 719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -1 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni02D0 +ENCODING 720 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +E0 +40 +00 +40 +E0 +ENDCHAR +STARTCHAR uni02D1 +ENCODING 721 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 3 +BITMAP +E0 +40 +ENDCHAR +STARTCHAR uni02D2 +ENCODING 722 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 2 0 +BITMAP +C0 +20 +20 +C0 +ENDCHAR +STARTCHAR uni02D3 +ENCODING 723 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 0 +BITMAP +60 +80 +80 +60 +ENDCHAR +STARTCHAR uni02D4 +ENCODING 724 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +20 +20 +F8 +ENDCHAR +STARTCHAR uni02D5 +ENCODING 725 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +20 +20 +ENDCHAR +STARTCHAR uni02D6 +ENCODING 726 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni02D7 +ENCODING 727 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +88 +F8 +88 +ENDCHAR +STARTCHAR breve +ENCODING 728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +88 +70 +ENDCHAR +STARTCHAR dotaccent +ENCODING 729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 7 +BITMAP +80 +ENDCHAR +STARTCHAR ring +ENCODING 730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR ogonek +ENCODING 731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +C0 +ENDCHAR +STARTCHAR tilde +ENCODING 732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR hungarumlaut +ENCODING 733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni02DE +ENCODING 734 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +20 +68 +A8 +10 +ENDCHAR +STARTCHAR uni02DF +ENCODING 735 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni02E0 +ENCODING 736 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 3 +BITMAP +A0 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR uni02E1 +ENCODING 737 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni02E2 +ENCODING 738 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 4 +BITMAP +60 +C0 +20 +C0 +ENDCHAR +STARTCHAR uni02E3 +ENCODING 739 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 5 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni02E4 +ENCODING 740 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 4 +BITMAP +60 +80 +C0 +40 +40 +ENDCHAR +STARTCHAR uni02E5 +ENCODING 741 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni02E6 +ENCODING 742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni02E7 +ENCODING 743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +20 +20 +E0 +20 +20 +20 +ENDCHAR +STARTCHAR uni02E8 +ENCODING 744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +20 +20 +20 +20 +E0 +20 +ENDCHAR +STARTCHAR uni02E9 +ENCODING 745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni02EA +ENCODING 746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +20 +20 +ENDCHAR +STARTCHAR uni02EB +ENCODING 747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +80 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni02EC +ENCODING 748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni02ED +ENCODING 749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 3 +BITMAP +E0 +00 +E0 +ENDCHAR +STARTCHAR uni02EE +ENCODING 750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +D8 +48 +90 +ENDCHAR +STARTCHAR uni02EF +ENCODING 751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 -2 +BITMAP +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni02F0 +ENCODING 752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 -2 +BITMAP +20 +50 +50 +88 +ENDCHAR +STARTCHAR uni02F1 +ENCODING 753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 -2 +BITMAP +10 +60 +80 +60 +10 +ENDCHAR +STARTCHAR uni02F2 +ENCODING 754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 -2 +BITMAP +80 +60 +10 +60 +80 +ENDCHAR +STARTCHAR uni02F3 +ENCODING 755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +60 +90 +ENDCHAR +STARTCHAR uni02F4 +ENCODING 756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni02F5 +ENCODING 757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 3 +BITMAP +A0 +50 +ENDCHAR +STARTCHAR uni02F6 +ENCODING 758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 3 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR uni02F7 +ENCODING 759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni02F8 +ENCODING 760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 2 0 +BITMAP +C0 +C0 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni02F9 +ENCODING 761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 3 +BITMAP +C0 +80 +80 +ENDCHAR +STARTCHAR uni02FA +ENCODING 762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +C0 +40 +40 +ENDCHAR +STARTCHAR uni02FB +ENCODING 763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 0 +BITMAP +80 +80 +C0 +ENDCHAR +STARTCHAR uni02FC +ENCODING 764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 0 +BITMAP +40 +40 +C0 +ENDCHAR +STARTCHAR uni02FD +ENCODING 765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 0 +BITMAP +88 +F8 +ENDCHAR +STARTCHAR uni02FE +ENCODING 766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 0 0 +BITMAP +80 +F0 +ENDCHAR +STARTCHAR uni02FF +ENCODING 767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -1 +BITMAP +40 +F8 +40 +ENDCHAR +STARTCHAR gravecomb +ENCODING 768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 8 +BITMAP +80 +40 +ENDCHAR +STARTCHAR acutecomb +ENCODING 769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 8 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0302 +ENCODING 770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 8 +BITMAP +40 +A0 +ENDCHAR +STARTCHAR tildecomb +ENCODING 771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni0304 +ENCODING 772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 8 +BITMAP +E0 +ENDCHAR +STARTCHAR uni0305 +ENCODING 773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 8 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0306 +ENCODING 774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni0307 +ENCODING 775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 8 +BITMAP +80 +ENDCHAR +STARTCHAR uni0308 +ENCODING 776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 8 +BITMAP +A0 +ENDCHAR +STARTCHAR hookabovecomb +ENCODING 777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +C0 +20 +40 +ENDCHAR +STARTCHAR uni030A +ENCODING 778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR uni030B +ENCODING 779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni030C +ENCODING 780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 8 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni030D +ENCODING 781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 8 +BITMAP +80 +80 +ENDCHAR +STARTCHAR uni030E +ENCODING 782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 8 +BITMAP +A0 +A0 +ENDCHAR +STARTCHAR uni030F +ENCODING 783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +90 +48 +ENDCHAR +STARTCHAR uni0310 +ENCODING 784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +20 +88 +70 +ENDCHAR +STARTCHAR uni0311 +ENCODING 785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni0312 +ENCODING 786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +20 +40 +C0 +ENDCHAR +STARTCHAR uni0313 +ENCODING 787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +60 +40 +80 +ENDCHAR +STARTCHAR uni0314 +ENCODING 788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +C0 +40 +20 +ENDCHAR +STARTCHAR uni0315 +ENCODING 789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 3 7 +BITMAP +60 +40 +80 +ENDCHAR +STARTCHAR uni0316 +ENCODING 790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni0317 +ENCODING 791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0318 +ENCODING 792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +40 +C0 +40 +ENDCHAR +STARTCHAR uni0319 +ENCODING 793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +80 +C0 +80 +ENDCHAR +STARTCHAR uni031A +ENCODING 794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 3 7 +BITMAP +E0 +20 +20 +ENDCHAR +STARTCHAR uni031B +ENCODING 795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 4 7 +BITMAP +40 +40 +80 +ENDCHAR +STARTCHAR uni031C +ENCODING 796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni031D +ENCODING 797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +40 +E0 +ENDCHAR +STARTCHAR uni031E +ENCODING 798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +E0 +40 +ENDCHAR +STARTCHAR uni031F +ENCODING 799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni0320 +ENCODING 800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +E0 +ENDCHAR +STARTCHAR uni0321 +ENCODING 801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 -2 +BITMAP +20 +A0 +40 +ENDCHAR +STARTCHAR uni0322 +ENCODING 802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 4 -2 +BITMAP +80 +80 +40 +ENDCHAR +STARTCHAR dotbelowcomb +ENCODING 803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 -2 +BITMAP +80 +ENDCHAR +STARTCHAR uni0324 +ENCODING 804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +A0 +ENDCHAR +STARTCHAR uni0325 +ENCODING 805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR uni0326 +ENCODING 806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0327 +ENCODING 807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0328 +ENCODING 808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni0329 +ENCODING 809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 -2 +BITMAP +80 +80 +ENDCHAR +STARTCHAR uni032A +ENCODING 810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +F0 +90 +ENDCHAR +STARTCHAR uni032B +ENCODING 811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +A8 +50 +ENDCHAR +STARTCHAR uni032C +ENCODING 812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +90 +60 +ENDCHAR +STARTCHAR uni032D +ENCODING 813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +60 +90 +ENDCHAR +STARTCHAR uni032E +ENCODING 814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni032F +ENCODING 815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni0330 +ENCODING 816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR uni0331 +ENCODING 817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 -2 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0332 +ENCODING 818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 -2 +BITMAP +FC +ENDCHAR +STARTCHAR uni0333 +ENCODING 819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 -2 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR uni0334 +ENCODING 820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 2 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR uni0335 +ENCODING 821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +E0 +ENDCHAR +STARTCHAR uni0336 +ENCODING 822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0337 +ENCODING 823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 2 +BITMAP +20 +40 +80 +ENDCHAR +STARTCHAR uni0338 +ENCODING 824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +08 +10 +10 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni0339 +ENCODING 825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +80 +40 +80 +ENDCHAR +STARTCHAR uni033A +ENCODING 826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +90 +F0 +ENDCHAR +STARTCHAR uni033B +ENCODING 827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +A0 +E0 +ENDCHAR +STARTCHAR uni033C +ENCODING 828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +50 +A8 +ENDCHAR +STARTCHAR uni033D +ENCODING 829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni033E +ENCODING 830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 6 +BITMAP +40 +80 +40 +80 +ENDCHAR +STARTCHAR uni033F +ENCODING 831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 7 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR uni0340 +ENCODING 832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 8 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni0341 +ENCODING 833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 8 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0342 +ENCODING 834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni0343 +ENCODING 835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 7 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR uni0344 +ENCODING 836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +10 +20 +D8 +ENDCHAR +STARTCHAR uni0345 +ENCODING 837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 -2 +BITMAP +80 +ENDCHAR +STARTCHAR uni0346 +ENCODING 838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 8 +BITMAP +E0 +A0 +ENDCHAR +STARTCHAR uni0347 +ENCODING 839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +F8 +00 +F8 +ENDCHAR +STARTCHAR uni0348 +ENCODING 840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +A0 +A0 +ENDCHAR +STARTCHAR uni0349 +ENCODING 841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +C0 +40 +ENDCHAR +STARTCHAR uni034A +ENCODING 842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 5 +BITMAP +20 +68 +B0 +20 +ENDCHAR +STARTCHAR uni034B +ENCODING 843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 4 +BITMAP +10 +00 +68 +B0 +00 +40 +ENDCHAR +STARTCHAR uni034C +ENCODING 844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 +BITMAP +68 +B0 +68 +B0 +ENDCHAR +STARTCHAR uni034D +ENCODING 845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +50 +F8 +50 +ENDCHAR +STARTCHAR uni034E +ENCODING 846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +40 +E0 +ENDCHAR +STARTCHAR uni034F +ENCODING 847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR uni0350 +ENCODING 848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +E0 +38 +E0 +ENDCHAR +STARTCHAR uni0351 +ENCODING 849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 7 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni0352 +ENCODING 850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +70 +88 +20 +ENDCHAR +STARTCHAR uni0353 +ENCODING 851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni0354 +ENCODING 852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +38 +E0 +38 +ENDCHAR +STARTCHAR uni0355 +ENCODING 853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +E0 +38 +E0 +ENDCHAR +STARTCHAR uni0356 +ENCODING 854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 -2 +BITMAP +08 +C8 +34 +D4 +ENDCHAR +STARTCHAR uni0357 +ENCODING 855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 7 +BITMAP +80 +40 +80 +ENDCHAR +STARTCHAR uni0358 +ENCODING 856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 8 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni0359 +ENCODING 857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +40 +E0 +ENDCHAR +STARTCHAR uni035A +ENCODING 858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +50 +A8 +50 +ENDCHAR +STARTCHAR uni035B +ENCODING 859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +80 +E0 +20 +ENDCHAR +STARTCHAR uni035C +ENCODING 860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 -2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni035D +ENCODING 861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 8 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni035E +ENCODING 862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 1 9 +BITMAP +F8 +ENDCHAR +STARTCHAR uni035F +ENCODING 863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 1 -2 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0360 +ENCODING 864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 8 +BITMAP +60 +98 +ENDCHAR +STARTCHAR uni0361 +ENCODING 865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 8 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni0362 +ENCODING 866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 1 -2 +BITMAP +10 +F8 +10 +ENDCHAR +STARTCHAR uni0363 +ENCODING 867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +40 +A0 +A0 +60 +ENDCHAR +STARTCHAR uni0364 +ENCODING 868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +40 +E0 +80 +60 +ENDCHAR +STARTCHAR uni0365 +ENCODING 869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 4 2 6 +BITMAP +80 +00 +80 +80 +ENDCHAR +STARTCHAR uni0366 +ENCODING 870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 6 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni0367 +ENCODING 871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +A0 +A0 +60 +ENDCHAR +STARTCHAR uni0368 +ENCODING 872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +60 +80 +60 +ENDCHAR +STARTCHAR uni0369 +ENCODING 873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +20 +60 +A0 +60 +ENDCHAR +STARTCHAR uni036A +ENCODING 874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +80 +C0 +A0 +ENDCHAR +STARTCHAR uni036B +ENCODING 875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +D0 +A8 +A8 +ENDCHAR +STARTCHAR uni036C +ENCODING 876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni036D +ENCODING 877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +40 +E0 +40 +60 +ENDCHAR +STARTCHAR uni036E +ENCODING 878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +A0 +A0 +40 +40 +ENDCHAR +STARTCHAR uni036F +ENCODING 879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni0370 +ENCODING 880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +80 +80 +80 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni0371 +ENCODING 881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +60 +A0 +38 +20 +20 +20 +ENDCHAR +STARTCHAR uni0372 +ENCODING 882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A8 +A8 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni0373 +ENCODING 883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A8 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni0374 +ENCODING 884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0375 +ENCODING 885 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0376 +ENCODING 886 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +98 +98 +A8 +C8 +C8 +88 +ENDCHAR +STARTCHAR uni0377 +ENCODING 887 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +90 +B0 +D0 +90 +90 +08 +ENDCHAR +STARTCHAR uni037A +ENCODING 890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +C0 +ENDCHAR +STARTCHAR uni037B +ENCODING 891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +08 +88 +70 +ENDCHAR +STARTCHAR uni037C +ENCODING 892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A0 +88 +70 +ENDCHAR +STARTCHAR uni037D +ENCODING 893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +28 +88 +70 +ENDCHAR +STARTCHAR uni037E +ENCODING 894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +40 +E0 +40 +00 +60 +40 +80 +ENDCHAR +STARTCHAR tonos +ENCODING 900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 +BITMAP +40 +80 +ENDCHAR +STARTCHAR dieresistonos +ENCODING 901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +20 +40 +00 +A0 +ENDCHAR +STARTCHAR Alphatonos +ENCODING 902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR anoteleia +ENCODING 903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR Epsilontonos +ENCODING 904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Etatonos +ENCODING 905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Iotatonos +ENCODING 906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +40 +80 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR Omicrontonos +ENCODING 908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Upsilontonos +ENCODING 910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Omegatonos +ENCODING 911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR iotadieresistonos +ENCODING 912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +20 +40 +00 +A0 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR Alpha +ENCODING 913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Beta +ENCODING 914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR Gamma +ENCODING 915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR Delta +ENCODING 916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +F8 +ENDCHAR +STARTCHAR Epsilon +ENCODING 917 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR Zeta +ENCODING 918 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR Eta +ENCODING 919 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR Theta +ENCODING 920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR Iota +ENCODING 921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Kappa +ENCODING 922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR Lambda +ENCODING 923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +88 +ENDCHAR +STARTCHAR Mu +ENCODING 924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR Nu +ENCODING 925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +C8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR Xi +ENCODING 926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +00 +70 +00 +00 +F8 +ENDCHAR +STARTCHAR Omicron +ENCODING 927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Pi +ENCODING 928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR Rho +ENCODING 929 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR Sigma +ENCODING 931 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +40 +20 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR Tau +ENCODING 932 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Upsilon +ENCODING 933 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Phi +ENCODING 934 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR Chi +ENCODING 935 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR Psi +ENCODING 936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR Omega +ENCODING 937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR Iotadieresis +ENCODING 938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Upsilondieresis +ENCODING 939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR alphatonos +ENCODING 940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR epsilontonos +ENCODING 941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR etatonos +ENCODING 942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR iotatonos +ENCODING 943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +40 +80 +00 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR upsilondieresistonos +ENCODING 944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR alpha +ENCODING 945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR beta +ENCODING 946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +60 +90 +90 +B0 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR gamma +ENCODING 947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +50 +20 +20 +20 +ENDCHAR +STARTCHAR delta +ENCODING 948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +80 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR epsilon +ENCODING 949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR zeta +ENCODING 950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +F8 +20 +40 +40 +40 +30 +08 +30 +ENDCHAR +STARTCHAR eta +ENCODING 951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR theta +ENCODING 952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +60 +90 +90 +F0 +90 +90 +60 +ENDCHAR +STARTCHAR iota +ENCODING 953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 2 0 +BITMAP +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR kappa +ENCODING 954 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR lambda +ENCODING 955 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +40 +40 +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR mu +ENCODING 956 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +98 +E8 +80 +80 +ENDCHAR +STARTCHAR nu +ENCODING 957 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +50 +50 +20 +ENDCHAR +STARTCHAR xi +ENCODING 958 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +40 +70 +80 +80 +70 +08 +10 +ENDCHAR +STARTCHAR omicron +ENCODING 959 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR pi +ENCODING 960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +F8 +50 +50 +54 +48 +ENDCHAR +STARTCHAR rho +ENCODING 961 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +C8 +B0 +80 +80 +ENDCHAR +STARTCHAR sigma1 +ENCODING 962 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +80 +80 +70 +08 +30 +ENDCHAR +STARTCHAR sigma +ENCODING 963 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +90 +88 +88 +70 +ENDCHAR +STARTCHAR tau +ENCODING 964 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +20 +28 +10 +ENDCHAR +STARTCHAR upsilon +ENCODING 965 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR phi +ENCODING 966 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +10 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR chi +ENCODING 967 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR psi +ENCODING 968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A8 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR omega +ENCODING 969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR iotadieresis +ENCODING 970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +A0 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR upsilondieresis +ENCODING 971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR omicrontonos +ENCODING 972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR upsilontonos +ENCODING 973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR omegatonos +ENCODING 974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni03CF +ENCODING 975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +30 +10 +ENDCHAR +STARTCHAR uni03D0 +ENCODING 976 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +90 +90 +B0 +C8 +88 +70 +ENDCHAR +STARTCHAR theta1 +ENCODING 977 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +3C +08 +C8 +48 +30 +ENDCHAR +STARTCHAR Upsilon1 +ENCODING 978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +88 +54 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni03D3 +ENCODING 979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +80 +00 +88 +54 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni03D4 +ENCODING 980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +D8 +00 +88 +54 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR phi1 +ENCODING 981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR omega1 +ENCODING 982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni03D7 +ENCODING 983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +48 +70 +50 +88 +08 +30 +ENDCHAR +STARTCHAR uni03D8 +ENCODING 984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +88 +88 +88 +70 +20 +20 +ENDCHAR +STARTCHAR uni03D9 +ENCODING 985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +70 +20 +20 +ENDCHAR +STARTCHAR uni03DA +ENCODING 986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +80 +80 +70 +10 +ENDCHAR +STARTCHAR uni03DB +ENCODING 987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +08 +70 +80 +80 +80 +70 +08 +30 +ENDCHAR +STARTCHAR uni03DC +ENCODING 988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +E0 +80 +80 +80 +ENDCHAR +STARTCHAR uni03DD +ENCODING 989 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 -2 +BITMAP +F0 +80 +80 +E0 +80 +80 +80 +ENDCHAR +STARTCHAR uni03DE +ENCODING 990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +80 +F8 +08 +10 +10 +ENDCHAR +STARTCHAR uni03DF +ENCODING 991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -2 +BITMAP +80 +40 +48 +58 +68 +48 +08 +04 +ENDCHAR +STARTCHAR uni03E0 +ENCODING 992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +30 +48 +18 +28 +08 +10 +ENDCHAR +STARTCHAR uni03E1 +ENCODING 993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +C0 +20 +10 +30 +48 +18 +28 +08 +08 +ENDCHAR +STARTCHAR uni03E2 +ENCODING 994 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +A8 +A8 +A8 +A8 +A8 +58 +08 +F0 +ENDCHAR +STARTCHAR uni03E3 +ENCODING 995 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +A8 +A8 +A8 +58 +08 +F0 +ENDCHAR +STARTCHAR uni03E4 +ENCODING 996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +48 +88 +88 +88 +88 +98 +68 +08 +08 +ENDCHAR +STARTCHAR uni03E5 +ENCODING 997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +48 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni03E6 +ENCODING 998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +80 +80 +B0 +C8 +88 +88 +08 +70 +ENDCHAR +STARTCHAR uni03E7 +ENCODING 999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +6C +90 +68 +08 +C8 +B0 +ENDCHAR +STARTCHAR uni03E8 +ENCODING 1000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +70 +88 +88 +10 +20 +40 +88 +70 +ENDCHAR +STARTCHAR uni03E9 +ENCODING 1001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +88 +88 +10 +60 +80 +78 +ENDCHAR +STARTCHAR uni03EA +ENCODING 1002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +50 +20 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni03EB +ENCODING 1003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +20 +50 +88 +F8 +ENDCHAR +STARTCHAR uni03EC +ENCODING 1004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +80 +E0 +90 +88 +F0 +ENDCHAR +STARTCHAR uni03ED +ENCODING 1005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 0 +BITMAP +30 +40 +80 +E0 +90 +E0 +ENDCHAR +STARTCHAR uni03EE +ENCODING 1006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +A8 +20 +20 +30 +ENDCHAR +STARTCHAR uni03EF +ENCODING 1007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +A0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni03F0 +ENCODING 1008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +48 +70 +50 +88 +ENDCHAR +STARTCHAR uni03F1 +ENCODING 1009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +F0 +80 +78 +ENDCHAR +STARTCHAR uni03F2 +ENCODING 1010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR uni03F3 +ENCODING 1011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 +BITMAP +20 +00 +60 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni03F4 +ENCODING 1012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni03F5 +ENCODING 1013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +70 +80 +E0 +80 +70 +ENDCHAR +STARTCHAR uni03F6 +ENCODING 1014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR uni03F7 +ENCODING 1015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +E0 +40 +70 +48 +48 +70 +40 +E0 +ENDCHAR +STARTCHAR uni03F8 +ENCODING 1016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +B0 +C8 +88 +88 +C8 +B0 +80 +ENDCHAR +STARTCHAR uni03F9 +ENCODING 1017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR uni03FA +ENCODING 1018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni03FB +ENCODING 1019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +D8 +A8 +88 +88 +80 +80 +ENDCHAR +STARTCHAR uni03FC +ENCODING 1020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +30 +48 +48 +70 +40 +F0 +40 +ENDCHAR +STARTCHAR uni03FD +ENCODING 1021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni03FE +ENCODING 1022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +A0 +80 +88 +70 +ENDCHAR +STARTCHAR uni03FF +ENCODING 1023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +28 +08 +88 +70 +ENDCHAR +STARTCHAR uni0400 +ENCODING 1024 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR afii10023 +ENCODING 1025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR afii10051 +ENCODING 1026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +E0 +40 +40 +70 +48 +48 +48 +08 +30 +ENDCHAR +STARTCHAR afii10052 +ENCODING 1027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F8 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10053 +ENCODING 1028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +F0 +80 +88 +70 +ENDCHAR +STARTCHAR afii10054 +ENCODING 1029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR afii10055 +ENCODING 1030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10056 +ENCODING 1031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +A0 +00 +E0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10057 +ENCODING 1032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +10 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR afii10058 +ENCODING 1033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +A0 +A0 +B0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR afii10059 +ENCODING 1034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +A0 +F0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR afii10060 +ENCODING 1035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +40 +40 +70 +48 +48 +48 +ENDCHAR +STARTCHAR afii10061 +ENCODING 1036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni040D +ENCODING 1037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR afii10062 +ENCODING 1038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +88 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10145 +ENCODING 1039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +88 +88 +88 +F8 +20 +20 +ENDCHAR +STARTCHAR afii10017 +ENCODING 1040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR afii10018 +ENCODING 1041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +80 +80 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR afii10019 +ENCODING 1042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR afii10020 +ENCODING 1043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10021 +ENCODING 1044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +30 +50 +50 +50 +50 +50 +F8 +88 +ENDCHAR +STARTCHAR afii10022 +ENCODING 1045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR afii10024 +ENCODING 1046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +70 +20 +70 +A8 +A8 +ENDCHAR +STARTCHAR afii10025 +ENCODING 1047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +70 +08 +88 +70 +ENDCHAR +STARTCHAR afii10026 +ENCODING 1048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR afii10027 +ENCODING 1049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR afii10028 +ENCODING 1050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR afii10029 +ENCODING 1051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +48 +48 +48 +48 +48 +88 +ENDCHAR +STARTCHAR afii10030 +ENCODING 1052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR afii10031 +ENCODING 1053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR afii10032 +ENCODING 1054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR afii10033 +ENCODING 1055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR afii10034 +ENCODING 1056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR afii10035 +ENCODING 1057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR afii10036 +ENCODING 1058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR afii10037 +ENCODING 1059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10038 +ENCODING 1060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR afii10039 +ENCODING 1061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR afii10040 +ENCODING 1062 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +90 +90 +90 +90 +90 +90 +F8 +08 +08 +ENDCHAR +STARTCHAR afii10041 +ENCODING 1063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +78 +08 +08 +08 +ENDCHAR +STARTCHAR afii10042 +ENCODING 1064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR afii10043 +ENCODING 1065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +F8 +08 +08 +ENDCHAR +STARTCHAR afii10044 +ENCODING 1066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +40 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR afii10045 +ENCODING 1067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +C8 +A8 +A8 +C8 +ENDCHAR +STARTCHAR afii10046 +ENCODING 1068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +80 +80 +E0 +90 +90 +E0 +ENDCHAR +STARTCHAR afii10047 +ENCODING 1069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +78 +08 +88 +70 +ENDCHAR +STARTCHAR afii10048 +ENCODING 1070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +A8 +A8 +E8 +A8 +A8 +90 +ENDCHAR +STARTCHAR afii10049 +ENCODING 1071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +88 +88 +78 +28 +48 +88 +ENDCHAR +STARTCHAR afii10065 +ENCODING 1072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR afii10066 +ENCODING 1073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +80 +F0 +88 +88 +88 +70 +ENDCHAR +STARTCHAR afii10067 +ENCODING 1074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +88 +F0 +88 +F0 +ENDCHAR +STARTCHAR afii10068 +ENCODING 1075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10069 +ENCODING 1076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +30 +50 +50 +50 +F8 +88 +ENDCHAR +STARTCHAR afii10070 +ENCODING 1077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR afii10072 +ENCODING 1078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR afii10073 +ENCODING 1079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +30 +88 +70 +ENDCHAR +STARTCHAR afii10074 +ENCODING 1080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR afii10075 +ENCODING 1081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR afii10076 +ENCODING 1082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR afii10077 +ENCODING 1083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +48 +48 +48 +88 +ENDCHAR +STARTCHAR afii10078 +ENCODING 1084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D8 +A8 +88 +88 +ENDCHAR +STARTCHAR afii10079 +ENCODING 1085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR afii10080 +ENCODING 1086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR afii10081 +ENCODING 1087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR afii10082 +ENCODING 1088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR afii10083 +ENCODING 1089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR afii10084 +ENCODING 1090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR afii10085 +ENCODING 1091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10086 +ENCODING 1092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR afii10087 +ENCODING 1093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR afii10088 +ENCODING 1094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +90 +90 +90 +90 +F8 +08 +08 +ENDCHAR +STARTCHAR afii10089 +ENCODING 1095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR afii10090 +ENCODING 1096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR afii10091 +ENCODING 1097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A8 +A8 +A8 +A8 +F8 +08 +08 +ENDCHAR +STARTCHAR afii10092 +ENCODING 1098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +40 +70 +48 +70 +ENDCHAR +STARTCHAR afii10093 +ENCODING 1099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +C8 +A8 +C8 +ENDCHAR +STARTCHAR afii10094 +ENCODING 1100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +80 +80 +E0 +90 +E0 +ENDCHAR +STARTCHAR afii10095 +ENCODING 1101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR afii10096 +ENCODING 1102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +A8 +E8 +A8 +90 +ENDCHAR +STARTCHAR afii10097 +ENCODING 1103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +70 +90 +70 +50 +90 +ENDCHAR +STARTCHAR uni0450 +ENCODING 1104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR afii10071 +ENCODING 1105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR afii10099 +ENCODING 1106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +40 +E0 +40 +70 +48 +48 +48 +08 +10 +ENDCHAR +STARTCHAR afii10100 +ENCODING 1107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +F8 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10101 +ENCODING 1108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +70 +80 +E0 +80 +70 +ENDCHAR +STARTCHAR afii10102 +ENCODING 1109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR afii10103 +ENCODING 1110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +40 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10104 +ENCODING 1111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +A0 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10105 +ENCODING 1112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +10 +00 +30 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR afii10106 +ENCODING 1113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +60 +A0 +B0 +A8 +B0 +ENDCHAR +STARTCHAR afii10107 +ENCODING 1114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +A0 +F0 +A8 +B0 +ENDCHAR +STARTCHAR afii10108 +ENCODING 1115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +E0 +40 +70 +48 +48 +48 +ENDCHAR +STARTCHAR afii10109 +ENCODING 1116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +20 +40 +00 +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR uni045D +ENCODING 1117 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR afii10110 +ENCODING 1118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +70 +00 +88 +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10193 +ENCODING 1119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +88 +F8 +20 +20 +ENDCHAR +STARTCHAR uni0460 +ENCODING 1120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +88 +88 +A8 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni0461 +ENCODING 1121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR afii10146 +ENCODING 1122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +F0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR afii10194 +ENCODING 1123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +F0 +40 +70 +48 +70 +ENDCHAR +STARTCHAR uni0464 +ENCODING 1124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +98 +A0 +A0 +F8 +A0 +A0 +98 +ENDCHAR +STARTCHAR uni0465 +ENCODING 1125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +A0 +F8 +A0 +98 +ENDCHAR +STARTCHAR uni0466 +ENCODING 1126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +F8 +A8 +A8 +ENDCHAR +STARTCHAR uni0467 +ENCODING 1127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +50 +88 +F8 +A8 +ENDCHAR +STARTCHAR uni0468 +ENCODING 1128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +90 +B8 +F8 +B8 +B8 +B8 +ENDCHAR +STARTCHAR uni0469 +ENCODING 1129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +90 +F8 +B8 +B8 +ENDCHAR +STARTCHAR uni046A +ENCODING 1130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +88 +50 +50 +70 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni046B +ENCODING 1131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +88 +50 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni046C +ENCODING 1132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +FC +C4 +A8 +90 +F8 +B8 +B8 +A8 +ENDCHAR +STARTCHAR uni046D +ENCODING 1133 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +FC +A8 +90 +F8 +B8 +A8 +ENDCHAR +STARTCHAR uni046E +ENCODING 1134 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +50 +20 +00 +70 +88 +08 +30 +08 +08 +70 +80 +70 +ENDCHAR +STARTCHAR uni046F +ENCODING 1135 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +50 +20 +00 +70 +88 +30 +08 +70 +80 +70 +ENDCHAR +STARTCHAR uni0470 +ENCODING 1136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +70 +20 +20 +20 +ENDCHAR +STARTCHAR uni0471 +ENCODING 1137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR afii10147 +ENCODING 1138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR afii10195 +ENCODING 1139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR afii10148 +ENCODING 1140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +90 +50 +50 +50 +20 +ENDCHAR +STARTCHAR afii10196 +ENCODING 1141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +90 +50 +50 +20 +ENDCHAR +STARTCHAR uni0476 +ENCODING 1142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +90 +48 +00 +88 +90 +90 +50 +50 +50 +20 +ENDCHAR +STARTCHAR uni0477 +ENCODING 1143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +00 +88 +90 +50 +50 +20 +ENDCHAR +STARTCHAR uni0478 +ENCODING 1144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +40 +A0 +A0 +B8 +B8 +B8 +58 +08 +10 +ENDCHAR +STARTCHAR uni0479 +ENCODING 1145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +58 +B8 +B8 +B8 +58 +08 +10 +ENDCHAR +STARTCHAR uni047A +ENCODING 1146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +70 +A8 +88 +88 +88 +88 +A8 +70 +20 +ENDCHAR +STARTCHAR uni047B +ENCODING 1147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +70 +A8 +88 +88 +A8 +70 +20 +ENDCHAR +STARTCHAR uni047C +ENCODING 1148 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +00 +20 +20 +88 +88 +88 +A8 +50 +ENDCHAR +STARTCHAR uni047D +ENCODING 1149 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +20 +A8 +88 +A8 +50 +ENDCHAR +STARTCHAR uni047E +ENCODING 1150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +F8 +A8 +00 +50 +88 +88 +A8 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni047F +ENCODING 1151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +A8 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni0480 +ENCODING 1152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +70 +88 +88 +80 +80 +80 +80 +70 +10 +10 +ENDCHAR +STARTCHAR uni0481 +ENCODING 1153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +88 +80 +80 +70 +10 +10 +ENDCHAR +STARTCHAR uni0482 +ENCODING 1154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +28 +10 +B0 +48 +40 +A0 +ENDCHAR +STARTCHAR uni0483 +ENCODING 1155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 7 +BITMAP +04 +FC +80 +ENDCHAR +STARTCHAR uni0484 +ENCODING 1156 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 +BITMAP +70 +8C +ENDCHAR +STARTCHAR uni0485 +ENCODING 1157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +70 +C8 +ENDCHAR +STARTCHAR uni0486 +ENCODING 1158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +70 +98 +ENDCHAR +STARTCHAR uni0487 +ENCODING 1159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 +BITMAP +60 +9C +ENDCHAR +STARTCHAR uni0488 +ENCODING 1160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +40 +A0 +08 +14 +00 +00 +00 +00 +40 +A0 +08 +14 +ENDCHAR +STARTCHAR uni0489 +ENCODING 1161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +40 +84 +C8 +0C +00 +00 +00 +00 +40 +84 +C8 +0C +ENDCHAR +STARTCHAR uni048A +ENCODING 1162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +88 +70 +00 +88 +98 +98 +A8 +C8 +C8 +88 +10 +10 +ENDCHAR +STARTCHAR uni048B +ENCODING 1163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +88 +70 +00 +88 +88 +98 +A8 +C8 +88 +10 +10 +ENDCHAR +STARTCHAR uni048C +ENCODING 1164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +40 +E0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR uni048D +ENCODING 1165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +E0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR uni048E +ENCODING 1166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +88 +88 +A8 +F0 +88 +80 +80 +ENDCHAR +STARTCHAR uni048F +ENCODING 1167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +F0 +88 +88 +A8 +F0 +88 +80 +80 +ENDCHAR +STARTCHAR afii10050 +ENCODING 1168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +08 +F8 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10098 +ENCODING 1169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +F8 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni0492 +ENCODING 1170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +40 +40 +F0 +40 +40 +40 +ENDCHAR +STARTCHAR uni0493 +ENCODING 1171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +40 +F0 +40 +40 +ENDCHAR +STARTCHAR uni0494 +ENCODING 1172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F8 +80 +80 +F0 +88 +88 +88 +88 +10 +ENDCHAR +STARTCHAR uni0495 +ENCODING 1173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +F8 +80 +F0 +88 +88 +88 +10 +ENDCHAR +STARTCHAR uni0496 +ENCODING 1174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +A8 +A8 +A8 +70 +A8 +A8 +AC +04 +04 +ENDCHAR +STARTCHAR uni0497 +ENCODING 1175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +A8 +70 +20 +70 +AC +04 +04 +ENDCHAR +STARTCHAR uni0498 +ENCODING 1176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +70 +88 +08 +10 +08 +08 +88 +70 +20 +40 +ENDCHAR +STARTCHAR uni0499 +ENCODING 1177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +70 +88 +10 +08 +88 +70 +20 +40 +ENDCHAR +STARTCHAR uni049A +ENCODING 1178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +04 +04 +ENDCHAR +STARTCHAR uni049B +ENCODING 1179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +90 +A0 +C0 +A0 +90 +08 +08 +ENDCHAR +STARTCHAR uni049C +ENCODING 1180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +B0 +A0 +C0 +A0 +B0 +A8 +ENDCHAR +STARTCHAR uni049D +ENCODING 1181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +B0 +E0 +B0 +A8 +ENDCHAR +STARTCHAR uni049E +ENCODING 1182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +E8 +50 +60 +50 +48 +48 +ENDCHAR +STARTCHAR uni049F +ENCODING 1183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +40 +E0 +48 +50 +60 +50 +48 +ENDCHAR +STARTCHAR uni04A0 +ENCODING 1184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +48 +50 +60 +60 +50 +48 +48 +ENDCHAR +STARTCHAR uni04A1 +ENCODING 1185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C8 +50 +60 +50 +48 +ENDCHAR +STARTCHAR uni04A2 +ENCODING 1186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +90 +90 +90 +F0 +90 +90 +90 +98 +08 +08 +ENDCHAR +STARTCHAR uni04A3 +ENCODING 1187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +90 +90 +F0 +90 +98 +08 +08 +ENDCHAR +STARTCHAR uni04A4 +ENCODING 1188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +B8 +A0 +A0 +E0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni04A5 +ENCODING 1189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B8 +A0 +E0 +A0 +A0 +ENDCHAR +STARTCHAR uni04A6 +ENCODING 1190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +E0 +A0 +A0 +B0 +A8 +A8 +A8 +A8 +08 +10 +ENDCHAR +STARTCHAR uni04A7 +ENCODING 1191 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +E0 +A0 +B0 +A8 +A8 +08 +10 +ENDCHAR +STARTCHAR uni04A8 +ENCODING 1192 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +78 +80 +90 +A8 +A8 +A8 +70 +20 +18 +ENDCHAR +STARTCHAR uni04A9 +ENCODING 1193 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +80 +90 +A8 +70 +20 +18 +ENDCHAR +STARTCHAR uni04AA +ENCODING 1194 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +70 +88 +80 +80 +80 +80 +88 +70 +20 +10 +ENDCHAR +STARTCHAR uni04AB +ENCODING 1195 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +80 +88 +70 +20 +10 +ENDCHAR +STARTCHAR uni04AC +ENCODING 1196 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +30 +10 +10 +ENDCHAR +STARTCHAR uni04AD +ENCODING 1197 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +A8 +20 +20 +30 +10 +10 +ENDCHAR +STARTCHAR uni04AE +ENCODING 1198 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni04AF +ENCODING 1199 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni04B0 +ENCODING 1200 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni04B1 +ENCODING 1201 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +50 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni04B2 +ENCODING 1202 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +88 +88 +50 +20 +50 +88 +88 +04 +04 +ENDCHAR +STARTCHAR uni04B3 +ENCODING 1203 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +88 +50 +20 +50 +88 +04 +04 +ENDCHAR +STARTCHAR uni04B4 +ENCODING 1204 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +E8 +48 +48 +48 +48 +48 +48 +78 +08 +08 +ENDCHAR +STARTCHAR uni04B5 +ENCODING 1205 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +E8 +48 +48 +48 +48 +78 +08 +08 +ENDCHAR +STARTCHAR uni04B6 +ENCODING 1206 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +90 +90 +90 +90 +90 +70 +10 +18 +08 +08 +ENDCHAR +STARTCHAR uni04B7 +ENCODING 1207 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +90 +90 +90 +70 +10 +18 +08 +08 +ENDCHAR +STARTCHAR uni04B8 +ENCODING 1208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +88 +A8 +A8 +78 +28 +28 +08 +ENDCHAR +STARTCHAR uni04B9 +ENCODING 1209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +A8 +78 +28 +08 +ENDCHAR +STARTCHAR uni04BA +ENCODING 1210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +F0 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni04BB +ENCODING 1211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +80 +80 +E0 +90 +90 +90 +ENDCHAR +STARTCHAR uni04BC +ENCODING 1212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +48 +48 +48 +F8 +40 +48 +30 +ENDCHAR +STARTCHAR uni04BD +ENCODING 1213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +30 +48 +F8 +40 +48 +30 +ENDCHAR +STARTCHAR uni04BE +ENCODING 1214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +30 +48 +48 +48 +F8 +40 +48 +30 +20 +10 +ENDCHAR +STARTCHAR uni04BF +ENCODING 1215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +30 +48 +F8 +40 +48 +30 +20 +10 +ENDCHAR +STARTCHAR uni04C0 +ENCODING 1216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni04C1 +ENCODING 1217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +A8 +A8 +A8 +70 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni04C2 +ENCODING 1218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR uni04C3 +ENCODING 1219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +08 +30 +ENDCHAR +STARTCHAR uni04C4 +ENCODING 1220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 +BITMAP +90 +A0 +C0 +A0 +90 +10 +60 +ENDCHAR +STARTCHAR uni04C5 +ENCODING 1221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +38 +48 +48 +48 +48 +48 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04C6 +ENCODING 1222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +38 +48 +48 +48 +88 +10 +10 +ENDCHAR +STARTCHAR uni04C7 +ENCODING 1223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +88 +08 +30 +ENDCHAR +STARTCHAR uni04C8 +ENCODING 1224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +F8 +88 +88 +08 +30 +ENDCHAR +STARTCHAR uni04C9 +ENCODING 1225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04CA +ENCODING 1226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +F8 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04CB +ENCODING 1227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +88 +88 +88 +88 +78 +08 +18 +10 +10 +ENDCHAR +STARTCHAR uni04CC +ENCODING 1228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +88 +88 +88 +78 +08 +18 +10 +10 +ENDCHAR +STARTCHAR uni04CD +ENCODING 1229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +88 +D8 +D8 +A8 +A8 +88 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04CE +ENCODING 1230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +D8 +A8 +88 +88 +10 +10 +ENDCHAR +STARTCHAR uni04CF +ENCODING 1231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 8 1 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni04D0 +ENCODING 1232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni04D1 +ENCODING 1233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni04D2 +ENCODING 1234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni04D3 +ENCODING 1235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +08 +78 +88 +78 +ENDCHAR +STARTCHAR uni04D4 +ENCODING 1236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR uni04D5 +ENCODING 1237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +28 +70 +A8 +70 +ENDCHAR +STARTCHAR uni04D6 +ENCODING 1238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +70 +00 +F8 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni04D7 +ENCODING 1239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +70 +88 +F0 +80 +70 +ENDCHAR +STARTCHAR uni04D8 +ENCODING 1240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR afii10846 +ENCODING 1241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +08 +F8 +88 +70 +ENDCHAR +STARTCHAR uni04DA +ENCODING 1242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +08 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni04DB +ENCODING 1243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +08 +F8 +88 +70 +ENDCHAR +STARTCHAR uni04DC +ENCODING 1244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +A8 +A8 +A8 +70 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni04DD +ENCODING 1245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR uni04DE +ENCODING 1246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +08 +30 +08 +88 +70 +ENDCHAR +STARTCHAR uni04DF +ENCODING 1247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +30 +88 +70 +ENDCHAR +STARTCHAR uni04E0 +ENCODING 1248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni04E1 +ENCODING 1249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni04E2 +ENCODING 1250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR uni04E3 +ENCODING 1251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR uni04E4 +ENCODING 1252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +98 +A8 +C8 +88 +88 +ENDCHAR +STARTCHAR uni04E5 +ENCODING 1253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR uni04E6 +ENCODING 1254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni04E7 +ENCODING 1255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni04E8 +ENCODING 1256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni04E9 +ENCODING 1257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni04EA +ENCODING 1258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni04EB +ENCODING 1259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni04EC +ENCODING 1260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +E0 +10 +08 +78 +08 +10 +E0 +ENDCHAR +STARTCHAR uni04ED +ENCODING 1261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +A0 +00 +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR uni04EE +ENCODING 1262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +88 +88 +98 +68 +08 +88 +70 +ENDCHAR +STARTCHAR uni04EF +ENCODING 1263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +00 +88 +88 +88 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F0 +ENCODING 1264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +98 +68 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F1 +ENCODING 1265 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +50 +00 +88 +88 +88 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F2 +ENCODING 1266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +48 +90 +00 +88 +88 +98 +68 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F3 +ENCODING 1267 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +48 +90 +00 +88 +88 +88 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni04F4 +ENCODING 1268 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +88 +78 +08 +08 +08 +ENDCHAR +STARTCHAR uni04F5 +ENCODING 1269 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni04F6 +ENCODING 1270 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +F8 +80 +80 +80 +80 +80 +C0 +40 +ENDCHAR +STARTCHAR uni04F7 +ENCODING 1271 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 1 -1 +BITMAP +F0 +80 +80 +80 +C0 +40 +ENDCHAR +STARTCHAR uni04F8 +ENCODING 1272 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +88 +C8 +A8 +A8 +C8 +ENDCHAR +STARTCHAR uni04F9 +ENCODING 1273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +C8 +A8 +C8 +ENDCHAR +STARTCHAR uni04FA +ENCODING 1274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +78 +40 +40 +E0 +40 +40 +60 +20 +40 +ENDCHAR +STARTCHAR uni04FB +ENCODING 1275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +40 +E0 +40 +60 +20 +40 +ENDCHAR +STARTCHAR uni04FC +ENCODING 1276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +50 +20 +50 +88 +88 +08 +10 +ENDCHAR +STARTCHAR uni04FD +ENCODING 1277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +50 +20 +50 +88 +08 +10 +ENDCHAR +STARTCHAR uni04FE +ENCODING 1278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +F8 +50 +88 +88 +ENDCHAR +STARTCHAR uni04FF +ENCODING 1279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +F8 +50 +88 +ENDCHAR +STARTCHAR uni0500 +ENCODING 1280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR uni0501 +ENCODING 1281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +10 +70 +90 +90 +90 +70 +ENDCHAR +STARTCHAR uni0502 +ENCODING 1282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +60 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni0503 +ENCODING 1283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +60 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni0504 +ENCODING 1284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +20 +20 +C0 +28 +28 +10 +ENDCHAR +STARTCHAR uni0505 +ENCODING 1285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +C0 +20 +20 +48 +28 +10 +ENDCHAR +STARTCHAR uni0506 +ENCODING 1286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -2 +BITMAP +C0 +20 +20 +C0 +20 +20 +30 +10 +10 +ENDCHAR +STARTCHAR uni0507 +ENCODING 1287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 -2 +BITMAP +C0 +20 +20 +40 +20 +30 +10 +10 +ENDCHAR +STARTCHAR uni0508 +ENCODING 1288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A0 +A0 +A8 +A8 +A8 +90 +ENDCHAR +STARTCHAR uni0509 +ENCODING 1289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A0 +A0 +A8 +90 +ENDCHAR +STARTCHAR uni050A +ENCODING 1290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +A0 +E8 +A8 +A8 +90 +ENDCHAR +STARTCHAR uni050B +ENCODING 1291 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +A0 +E8 +A8 +90 +ENDCHAR +STARTCHAR uni050C +ENCODING 1292 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +98 +88 +88 +70 +ENDCHAR +STARTCHAR uni050D +ENCODING 1293 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +80 +98 +88 +70 +ENDCHAR +STARTCHAR uni050E +ENCODING 1294 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +28 +28 +28 +10 +ENDCHAR +STARTCHAR uni050F +ENCODING 1295 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni0510 +ENCODING 1296 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +88 +80 +60 +80 +88 +70 +ENDCHAR +STARTCHAR uni0511 +ENCODING 1297 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni0512 +ENCODING 1298 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +48 +48 +48 +48 +A8 +10 +ENDCHAR +STARTCHAR uni0513 +ENCODING 1299 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +FC +48 +48 +48 +88 +10 +ENDCHAR +STARTCHAR uni0514 +ENCODING 1300 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +D4 +54 +54 +48 +54 +54 +94 +ENDCHAR +STARTCHAR uni0515 +ENCODING 1301 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +D4 +54 +48 +54 +94 +ENDCHAR +STARTCHAR uni0516 +ENCODING 1302 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C8 +A8 +B0 +D0 +88 +88 +88 +ENDCHAR +STARTCHAR uni0517 +ENCODING 1303 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +C8 +B0 +A0 +D0 +88 +80 +ENDCHAR +STARTCHAR uni0518 +ENCODING 1304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A0 +A0 +70 +A0 +A0 +B8 +ENDCHAR +STARTCHAR uni0519 +ENCODING 1305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +70 +A0 +98 +ENDCHAR +STARTCHAR uni051A +ENCODING 1306 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +A8 +90 +68 +ENDCHAR +STARTCHAR uni051B +ENCODING 1307 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni051C +ENCODING 1308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni051D +ENCODING 1309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni051E +ENCODING 1310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +90 +A8 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni051F +ENCODING 1311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +90 +E8 +90 +88 +ENDCHAR +STARTCHAR uni0520 +ENCODING 1312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +D0 +50 +50 +58 +54 +54 +94 +04 +08 +ENDCHAR +STARTCHAR uni0521 +ENCODING 1313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +D0 +50 +58 +54 +94 +04 +ENDCHAR +STARTCHAR uni0522 +ENCODING 1314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +A0 +A0 +A0 +F0 +A8 +A8 +A8 +08 +10 +ENDCHAR +STARTCHAR uni0523 +ENCODING 1315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A0 +A0 +F0 +A8 +A8 +08 +10 +ENDCHAR +STARTCHAR uni0531 +ENCODING 1329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +B0 +48 +ENDCHAR +STARTCHAR uni0532 +ENCODING 1330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +80 +80 +F0 +88 +80 +ENDCHAR +STARTCHAR uni0533 +ENCODING 1331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +A0 +A0 +70 +28 +20 +20 +ENDCHAR +STARTCHAR uni0534 +ENCODING 1332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +A0 +20 +30 +28 +20 +20 +ENDCHAR +STARTCHAR uni0535 +ENCODING 1333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +F0 +88 +80 +88 +88 +70 +ENDCHAR +STARTCHAR uni0536 +ENCODING 1334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +90 +90 +70 +10 +A0 +F0 +88 +ENDCHAR +STARTCHAR uni0537 +ENCODING 1335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +80 +80 +F0 +88 +80 +80 +80 +70 +08 +10 +ENDCHAR +STARTCHAR uni0538 +ENCODING 1336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +60 +90 +90 +80 +80 +80 +80 +F0 +08 +ENDCHAR +STARTCHAR uni0539 +ENCODING 1337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +90 +B8 +D0 +D0 +A0 +80 +80 +ENDCHAR +STARTCHAR uni053A +ENCODING 1338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +10 +10 +78 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uni053B +ENCODING 1339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +F0 +88 +88 +80 +80 +ENDCHAR +STARTCHAR uni053C +ENCODING 1340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +70 +08 +10 +ENDCHAR +STARTCHAR uni053D +ENCODING 1341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +E8 +A8 +A8 +90 +80 +80 +ENDCHAR +STARTCHAR uni053E +ENCODING 1342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni053F +ENCODING 1343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +88 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni0540 +ENCODING 1344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +20 +10 +20 +40 +80 +C0 +30 +08 +ENDCHAR +STARTCHAR uni0541 +ENCODING 1345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +48 +48 +38 +08 +70 +90 +68 +ENDCHAR +STARTCHAR uni0542 +ENCODING 1346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +40 +A0 +A0 +20 +20 +20 +20 +30 +08 +ENDCHAR +STARTCHAR uni0543 +ENCODING 1347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +50 +20 +50 +50 +88 +88 +F8 +ENDCHAR +STARTCHAR uni0544 +ENCODING 1348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +B8 +A8 +A0 +A0 +A0 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni0545 +ENCODING 1349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +A8 +30 +28 +88 +88 +70 +ENDCHAR +STARTCHAR uni0546 +ENCODING 1350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +80 +C0 +40 +40 +40 +48 +30 +ENDCHAR +STARTCHAR uni0547 +ENCODING 1351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +F0 +40 +80 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0548 +ENCODING 1352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni0549 +ENCODING 1353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +88 +78 +10 +20 +F8 +ENDCHAR +STARTCHAR uni054A +ENCODING 1354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +A8 +A8 +A8 +28 +28 +08 +08 +ENDCHAR +STARTCHAR uni054B +ENCODING 1355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +90 +90 +50 +30 +A0 +F0 +88 +ENDCHAR +STARTCHAR uni054C +ENCODING 1356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +A0 +B0 +A8 +A8 +A0 +A0 +ENDCHAR +STARTCHAR uni054D +ENCODING 1357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni054E +ENCODING 1358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +A0 +A0 +A0 +A0 +60 +20 +30 +08 +ENDCHAR +STARTCHAR uni054F +ENCODING 1359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +80 +70 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni0550 +ENCODING 1360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni0551 +ENCODING 1361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +70 +88 +08 +88 +70 +ENDCHAR +STARTCHAR uni0552 +ENCODING 1362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +E0 +90 +90 +88 +80 +ENDCHAR +STARTCHAR uni0553 +ENCODING 1363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +20 +70 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni0554 +ENCODING 1364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +28 +28 +30 +A0 +70 +28 +20 +ENDCHAR +STARTCHAR uni0555 +ENCODING 1365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0556 +ENCODING 1366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +A0 +A0 +70 +28 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni0559 +ENCODING 1369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 1 6 +BITMAP +40 +80 +80 +40 +ENDCHAR +STARTCHAR uni055A +ENCODING 1370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 6 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR uni055B +ENCODING 1371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni055C +ENCODING 1372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +08 +70 +80 +ENDCHAR +STARTCHAR uni055D +ENCODING 1373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni055E +ENCODING 1374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +70 +88 +A8 +A8 +10 +ENDCHAR +STARTCHAR uni055F +ENCODING 1375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +C0 +88 +70 +ENDCHAR +STARTCHAR uni0561 +ENCODING 1377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +A8 +A8 +58 +ENDCHAR +STARTCHAR uni0562 +ENCODING 1378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F0 +88 +88 +80 +F8 +80 +80 +ENDCHAR +STARTCHAR uni0563 +ENCODING 1379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +90 +90 +90 +78 +10 +10 +ENDCHAR +STARTCHAR uni0564 +ENCODING 1380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A0 +D0 +90 +90 +98 +10 +10 +ENDCHAR +STARTCHAR uni0565 +ENCODING 1381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +F8 +80 +88 +C8 +B0 +ENDCHAR +STARTCHAR uni0566 +ENCODING 1382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +90 +90 +90 +70 +10 +18 +ENDCHAR +STARTCHAR uni0567 +ENCODING 1383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +80 +80 +80 +F8 +80 +80 +80 +70 +08 +ENDCHAR +STARTCHAR uni0568 +ENCODING 1384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +80 +F8 +ENDCHAR +STARTCHAR uni0569 +ENCODING 1385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A0 +D0 +90 +B8 +D0 +A0 +80 +ENDCHAR +STARTCHAR uni056A +ENCODING 1386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +10 +10 +78 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uni056B +ENCODING 1387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 -2 +BITMAP +80 +80 +80 +A0 +D0 +90 +90 +90 +80 +80 +ENDCHAR +STARTCHAR uni056C +ENCODING 1388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +30 +ENDCHAR +STARTCHAR uni056D +ENCODING 1389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +E8 +A8 +A8 +A8 +90 +80 +80 +ENDCHAR +STARTCHAR uni056E +ENCODING 1390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +40 +20 +78 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uni056F +ENCODING 1391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +80 +80 +80 +88 +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni0570 +ENCODING 1392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0571 +ENCODING 1393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +40 +20 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR uni0572 +ENCODING 1394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +A0 +D0 +90 +90 +90 +10 +18 +ENDCHAR +STARTCHAR uni0573 +ENCODING 1395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +48 +40 +F8 +48 +48 +58 +28 +ENDCHAR +STARTCHAR uni0574 +ENCODING 1396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +10 +10 +90 +90 +90 +B0 +50 +ENDCHAR +STARTCHAR uni0575 +ENCODING 1397 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +18 +08 +08 +08 +88 +88 +70 +ENDCHAR +STARTCHAR uni0576 +ENCODING 1398 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +80 +98 +88 +88 +98 +68 +ENDCHAR +STARTCHAR uni0577 +ENCODING 1399 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +60 +90 +10 +10 +20 +40 +80 +70 +ENDCHAR +STARTCHAR uni0578 +ENCODING 1400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +C8 +88 +88 +88 +ENDCHAR +STARTCHAR uni0579 +ENCODING 1401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +40 +20 +20 +40 +40 +80 +F8 +ENDCHAR +STARTCHAR uni057A +ENCODING 1402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +A8 +A8 +A8 +58 +08 +08 +ENDCHAR +STARTCHAR uni057B +ENCODING 1403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +50 +20 +40 +38 +ENDCHAR +STARTCHAR uni057C +ENCODING 1404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +D0 +90 +90 +98 +ENDCHAR +STARTCHAR uni057D +ENCODING 1405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +98 +68 +ENDCHAR +STARTCHAR uni057E +ENCODING 1406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +10 +90 +90 +90 +90 +70 +10 +18 +ENDCHAR +STARTCHAR uni057F +ENCODING 1407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +B0 +A8 +A8 +A8 +68 +ENDCHAR +STARTCHAR uni0580 +ENCODING 1408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +80 +80 +ENDCHAR +STARTCHAR uni0581 +ENCODING 1409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni0582 +ENCODING 1410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +80 +80 +80 +80 +70 +ENDCHAR +STARTCHAR uni0583 +ENCODING 1411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +20 +20 +20 +B0 +A8 +A8 +A8 +68 +20 +20 +ENDCHAR +STARTCHAR uni0584 +ENCODING 1412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +30 +48 +48 +70 +40 +F8 +40 +ENDCHAR +STARTCHAR uni0585 +ENCODING 1413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni0586 +ENCODING 1414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +60 +A0 +A0 +70 +28 +28 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni0587 +ENCODING 1415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +90 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni0589 +ENCODING 1417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 2 1 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni058A +ENCODING 1418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 3 +BITMAP +80 +70 +ENDCHAR +STARTCHAR uni0591 +ENCODING 1425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +40 +A0 +ENDCHAR +STARTCHAR uni0592 +ENCODING 1426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +20 +88 +ENDCHAR +STARTCHAR uni0593 +ENCODING 1427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 6 +BITMAP +40 +80 +40 +80 +ENDCHAR +STARTCHAR uni0594 +ENCODING 1428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 3 2 6 +BITMAP +80 +00 +80 +ENDCHAR +STARTCHAR uni0595 +ENCODING 1429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +A0 +80 +A0 +ENDCHAR +STARTCHAR uni0596 +ENCODING 1430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni0597 +ENCODING 1431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni0598 +ENCODING 1432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +48 +A8 +90 +ENDCHAR +STARTCHAR uni0599 +ENCODING 1433 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 0 6 +BITMAP +80 +40 +40 +ENDCHAR +STARTCHAR uni059A +ENCODING 1434 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 4 -2 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni059B +ENCODING 1435 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 2 1 -2 +BITMAP +90 +20 +ENDCHAR +STARTCHAR uni059C +ENCODING 1436 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 6 +BITMAP +60 +80 +80 +ENDCHAR +STARTCHAR uni059D +ENCODING 1437 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 4 6 +BITMAP +40 +80 +80 +ENDCHAR +STARTCHAR uni059E +ENCODING 1438 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 2 5 +BITMAP +40 +90 +A0 +A0 +20 +ENDCHAR +STARTCHAR uni059F +ENCODING 1439 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 5 +BITMAP +50 +A8 +50 +50 +ENDCHAR +STARTCHAR uni05A0 +ENCODING 1440 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 2 5 +BITMAP +40 +A0 +40 +40 +ENDCHAR +STARTCHAR uni05A1 +ENCODING 1441 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 3 0 6 +BITMAP +50 +D0 +20 +ENDCHAR +STARTCHAR uni05A2 +ENCODING 1442 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni05A3 +ENCODING 1443 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +20 +E0 +ENDCHAR +STARTCHAR uni05A4 +ENCODING 1444 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 -2 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni05A5 +ENCODING 1445 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni05A6 +ENCODING 1446 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni05A7 +ENCODING 1447 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 -2 +BITMAP +40 +80 +40 +80 +ENDCHAR +STARTCHAR uni05A8 +ENCODING 1448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 6 +BITMAP +80 +40 +40 +ENDCHAR +STARTCHAR uni05A9 +ENCODING 1449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 5 +BITMAP +40 +A0 +40 +40 +ENDCHAR +STARTCHAR uni05AA +ENCODING 1450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni05AB +ENCODING 1451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 6 +BITMAP +40 +80 +40 +ENDCHAR +STARTCHAR uni05AC +ENCODING 1452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +20 +20 +E0 +ENDCHAR +STARTCHAR uni05AD +ENCODING 1453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 4 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni05AE +ENCODING 1454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +10 +50 +A0 +80 +ENDCHAR +STARTCHAR uni05AF +ENCODING 1455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR afii57799 +ENCODING 1456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 3 2 -2 +BITMAP +80 +00 +80 +ENDCHAR +STARTCHAR afii57801 +ENCODING 1457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +A8 +00 +48 +ENDCHAR +STARTCHAR afii57800 +ENCODING 1458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +08 +E0 +08 +ENDCHAR +STARTCHAR afii57802 +ENCODING 1459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +08 +E0 +48 +ENDCHAR +STARTCHAR afii57793 +ENCODING 1460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 -2 +BITMAP +80 +ENDCHAR +STARTCHAR afii57794 +ENCODING 1461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +A0 +ENDCHAR +STARTCHAR afii57795 +ENCODING 1462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +88 +20 +ENDCHAR +STARTCHAR afii57798 +ENCODING 1463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +E0 +ENDCHAR +STARTCHAR afii57797 +ENCODING 1464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 -2 +BITMAP +E0 +40 +ENDCHAR +STARTCHAR afii57806 +ENCODING 1465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 1 6 +BITMAP +80 +ENDCHAR +STARTCHAR uni05BA +ENCODING 1466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 6 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR afii57796 +ENCODING 1467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +80 +20 +08 +ENDCHAR +STARTCHAR afii57807 +ENCODING 1468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 3 +BITMAP +80 +ENDCHAR +STARTCHAR afii57839 +ENCODING 1469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 -2 +BITMAP +80 +80 +ENDCHAR +STARTCHAR afii57645 +ENCODING 1470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 1 1 4 +BITMAP +F0 +ENDCHAR +STARTCHAR afii57841 +ENCODING 1471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 6 +BITMAP +E0 +ENDCHAR +STARTCHAR afii57842 +ENCODING 1472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 0 +BITMAP +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii57804 +ENCODING 1473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 4 6 +BITMAP +80 +ENDCHAR +STARTCHAR afii57803 +ENCODING 1474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 0 6 +BITMAP +80 +ENDCHAR +STARTCHAR afii57658 +ENCODING 1475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 6 2 0 +BITMAP +80 +80 +00 +00 +80 +80 +ENDCHAR +STARTCHAR uni05C4 +ENCODING 1476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 6 +BITMAP +80 +ENDCHAR +STARTCHAR uni05C5 +ENCODING 1477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 -2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni05C6 +ENCODING 1478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +40 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni05C7 +ENCODING 1479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +40 +40 +ENDCHAR +STARTCHAR afii57664 +ENCODING 1488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +48 +68 +90 +C8 +ENDCHAR +STARTCHAR afii57665 +ENCODING 1489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +10 +10 +10 +F8 +ENDCHAR +STARTCHAR afii57666 +ENCODING 1490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +80 +40 +20 +50 +90 +ENDCHAR +STARTCHAR afii57667 +ENCODING 1491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +10 +10 +10 +ENDCHAR +STARTCHAR afii57668 +ENCODING 1492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +08 +88 +88 +ENDCHAR +STARTCHAR afii57669 +ENCODING 1493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 2 0 +BITMAP +C0 +40 +40 +40 +40 +ENDCHAR +STARTCHAR afii57670 +ENCODING 1494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +10 +10 +10 +ENDCHAR +STARTCHAR afii57671 +ENCODING 1495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +48 +48 +ENDCHAR +STARTCHAR afii57672 +ENCODING 1496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +A8 +88 +88 +F8 +ENDCHAR +STARTCHAR afii57673 +ENCODING 1497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 2 +BITMAP +C0 +40 +40 +ENDCHAR +STARTCHAR afii57674 +ENCODING 1498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +08 +08 +08 +08 +08 +08 +ENDCHAR +STARTCHAR afii57675 +ENCODING 1499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +08 +08 +F0 +ENDCHAR +STARTCHAR afii57676 +ENCODING 1500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +F8 +08 +08 +10 +60 +ENDCHAR +STARTCHAR afii57677 +ENCODING 1501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +48 +78 +ENDCHAR +STARTCHAR afii57678 +ENCODING 1502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +A8 +48 +88 +B8 +ENDCHAR +STARTCHAR afii57679 +ENCODING 1503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 7 2 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR afii57680 +ENCODING 1504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +30 +10 +10 +10 +F0 +ENDCHAR +STARTCHAR afii57681 +ENCODING 1505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +50 +60 +ENDCHAR +STARTCHAR afii57682 +ENCODING 1506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +48 +48 +50 +E0 +ENDCHAR +STARTCHAR afii57683 +ENCODING 1507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +48 +48 +08 +08 +08 +08 +ENDCHAR +STARTCHAR afii57684 +ENCODING 1508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +08 +F0 +ENDCHAR +STARTCHAR afii57685 +ENCODING 1509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +90 +48 +48 +50 +60 +40 +40 +ENDCHAR +STARTCHAR afii57686 +ENCODING 1510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +48 +28 +10 +F8 +ENDCHAR +STARTCHAR afii57687 +ENCODING 1511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +F8 +08 +88 +88 +B0 +80 +80 +ENDCHAR +STARTCHAR afii57688 +ENCODING 1512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +08 +08 +08 +08 +ENDCHAR +STARTCHAR afii57689 +ENCODING 1513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +E8 +88 +F0 +ENDCHAR +STARTCHAR afii57690 +ENCODING 1514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +48 +48 +48 +C8 +ENDCHAR +STARTCHAR afii57716 +ENCODING 1520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +48 +48 +48 +48 +ENDCHAR +STARTCHAR afii57717 +ENCODING 1521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +48 +48 +08 +08 +ENDCHAR +STARTCHAR afii57718 +ENCODING 1522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +D8 +48 +48 +ENDCHAR +STARTCHAR uni05F3 +ENCODING 1523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni05F4 +ENCODING 1524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +48 +90 +ENDCHAR + +STARTCHAR U_1100 +ENCODING 4352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 5 1 5 +BITMAP +FF80 +0080 +0080 +0080 +0080 +ENDCHAR +STARTCHAR U_1101 +ENCODING 4353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 5 0 5 +BITMAP +FBE0 +0820 +0820 +0820 +0820 +ENDCHAR +STARTCHAR U_1102 +ENCODING 4354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 5 1 5 +BITMAP +8000 +8000 +8000 +8000 +FF80 +ENDCHAR +STARTCHAR U_1103 +ENCODING 4355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 4 0 6 +BITMAP +FFC0 +4000 +4000 +7FC0 +ENDCHAR +STARTCHAR U_1104 +ENCODING 4356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 5 0 5 +BITMAP +FBE0 +4200 +4200 +5A00 +63E0 +ENDCHAR +STARTCHAR U_1105 +ENCODING 4357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 5 1 5 +BITMAP +FF80 +0080 +FF80 +4000 +7F80 +ENDCHAR +STARTCHAR U_1106 +ENCODING 4358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 4 0 6 +BITMAP +FFE0 +4040 +4040 +7FC0 +ENDCHAR +STARTCHAR U_1107 +ENCODING 4359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 4 1 6 +BITMAP +8080 +FF80 +8080 +FF80 +ENDCHAR +STARTCHAR U_1108 +ENCODING 4360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 5 0 5 +BITMAP +8A20 +FBE0 +8A20 +8A20 +FBE0 +ENDCHAR +STARTCHAR U_1109 +ENCODING 4361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 5 0 5 +BITMAP +0400 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_110A +ENCODING 4362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 5 0 5 +BITMAP +1100 +1100 +2A80 +4440 +8840 +ENDCHAR +STARTCHAR U_110B +ENCODING 4363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 4 1 6 +BITMAP +7F00 +8080 +8080 +7F00 +ENDCHAR +STARTCHAR U_110C +ENCODING 4364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 5 1 5 +BITMAP +FF80 +0100 +0600 +1980 +E040 +ENDCHAR +STARTCHAR U_110D +ENCODING 4365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 5 0 5 +BITMAP +7FC0 +1100 +2A80 +4440 +8800 +ENDCHAR +STARTCHAR U_110E +ENCODING 4366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 4 +BITMAP +3F80 +0000 +FFE0 +0200 +0D80 +F040 +ENDCHAR +STARTCHAR U_110F +ENCODING 4367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 5 1 5 +BITMAP +FF80 +0080 +0080 +FF80 +0080 +ENDCHAR +STARTCHAR U_1110 +ENCODING 4368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 5 0 5 +BITMAP +FFC0 +4000 +7F80 +4000 +7FC0 +ENDCHAR +STARTCHAR U_1111 +ENCODING 4369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 4 1 6 +BITMAP +FF80 +2200 +2200 +FF80 +ENDCHAR +STARTCHAR U_1112 +ENCODING 4370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 8 0 2 +BITMAP +3F00 +0000 +FFC0 +0000 +3F00 +4080 +4080 +3F00 +ENDCHAR +STARTCHAR U_1113 +ENCODING 4371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 4 1 6 +BITMAP +8F80 +8080 +8080 +F080 +ENDCHAR +STARTCHAR U_1114 +ENCODING 4372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 4 1 6 +BITMAP +8400 +8400 +B400 +C780 +ENDCHAR +STARTCHAR U_112C +ENCODING 4396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 0 -1 +BITMAP +9480 +9480 +F780 +9480 +F780 +0000 +3E00 +6300 +4100 +6300 +3E00 +ENDCHAR +STARTCHAR U_112D +ENCODING 4397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 7 0 2 +BITMAP +13E0 +1020 +1020 +1020 +2820 +4420 +8220 +ENDCHAR +STARTCHAR U_1133 +ENCODING 4403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 1 +BITMAP +4AE0 +4A20 +4E20 +AA20 +AA20 +AE20 +ENDCHAR +STARTCHAR U_1134 +ENCODING 4404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 5 0 2 +BITMAP +4440 +4440 +4440 +AAA0 +AAA0 +ENDCHAR +STARTCHAR U_1135 +ENCODING 4405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 1 +BITMAP +21C0 +2220 +2220 +5220 +5220 +89C0 +ENDCHAR +STARTCHAR U_113B +ENCODING 4411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 1 +BITMAP +21C0 +2000 +23E0 +5140 +5220 +89C0 +ENDCHAR + +STARTCHAR uni1680 +ENCODING 5760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni1681 +ENCODING 5761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +08 +08 +08 +ENDCHAR +STARTCHAR uni1682 +ENCODING 5762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +28 +28 +28 +ENDCHAR +STARTCHAR uni1683 +ENCODING 5763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +38 +38 +38 +ENDCHAR +STARTCHAR uni1684 +ENCODING 5764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +78 +78 +78 +ENDCHAR +STARTCHAR uni1685 +ENCODING 5765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni1686 +ENCODING 5766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +08 +08 +08 +FC +ENDCHAR +STARTCHAR uni1687 +ENCODING 5767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +28 +28 +28 +FC +ENDCHAR +STARTCHAR uni1688 +ENCODING 5768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +38 +38 +38 +FC +ENDCHAR +STARTCHAR uni1689 +ENCODING 5769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +78 +78 +78 +FC +ENDCHAR +STARTCHAR uni168A +ENCODING 5770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +F8 +F8 +F8 +FC +ENDCHAR +STARTCHAR uni168B +ENCODING 5771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +10 +10 +FC +20 +20 +20 +ENDCHAR +STARTCHAR uni168C +ENCODING 5772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +28 +28 +28 +FC +50 +50 +50 +ENDCHAR +STARTCHAR uni168D +ENCODING 5773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +38 +38 +38 +FC +70 +70 +70 +ENDCHAR +STARTCHAR uni168E +ENCODING 5774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +3C +3C +3C +FC +78 +78 +78 +ENDCHAR +STARTCHAR uni168F +ENCODING 5775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +7C +7C +7C +FC +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni1690 +ENCODING 5776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +10 +FC +10 +ENDCHAR +STARTCHAR uni1691 +ENCODING 5777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +28 +FC +28 +ENDCHAR +STARTCHAR uni1692 +ENCODING 5778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +38 +FC +38 +ENDCHAR +STARTCHAR uni1693 +ENCODING 5779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +78 +FC +78 +ENDCHAR +STARTCHAR uni1694 +ENCODING 5780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +F8 +FC +F8 +ENDCHAR +STARTCHAR uni1695 +ENCODING 5781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +28 +28 +10 +FC +10 +28 +28 +ENDCHAR +STARTCHAR uni1696 +ENCODING 5782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +84 +FC +84 +48 +30 +ENDCHAR +STARTCHAR uni1697 +ENCODING 5783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 -1 +BITMAP +FC +40 +58 +48 +78 +ENDCHAR +STARTCHAR uni1698 +ENCODING 5784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +FC +D8 +70 +D8 +ENDCHAR +STARTCHAR uni1699 +ENCODING 5785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 1 3 +BITMAP +50 +F8 +50 +F8 +50 +F8 +ENDCHAR +STARTCHAR uni169A +ENCODING 5786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +FC +00 +78 +ENDCHAR +STARTCHAR uni169B +ENCODING 5787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +80 +40 +20 +1C +20 +40 +80 +ENDCHAR +STARTCHAR uni169C +ENCODING 5788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +04 +08 +F0 +08 +04 +ENDCHAR +STARTCHAR uni16A0 +ENCODING 5792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +90 +A0 +C0 +90 +A0 +C0 +80 +80 +80 +ENDCHAR +STARTCHAR uni16A1 +ENCODING 5793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +20 +80 +90 +A0 +C0 +90 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni16A2 +ENCODING 5794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +C0 +A0 +90 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni16A3 +ENCODING 5795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +C0 +A0 +90 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni16A4 +ENCODING 5796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +C0 +A0 +90 +88 +A8 +88 +88 +88 +ENDCHAR +STARTCHAR uni16A5 +ENCODING 5797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +C0 +A0 +90 +C8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni16A6 +ENCODING 5798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +80 +80 +C0 +A0 +90 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni16A7 +ENCODING 5799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +80 +80 +C0 +A0 +D0 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni16A8 +ENCODING 5800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +80 +C0 +A0 +90 +C0 +A0 +90 +80 +80 +ENDCHAR +STARTCHAR uni16A9 +ENCODING 5801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +C8 +B0 +80 +C8 +B0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16AA +ENCODING 5802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D0 +A0 +80 +C0 +B0 +80 +80 +80 +ENDCHAR +STARTCHAR uni16AB +ENCODING 5803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +80 +C0 +A0 +90 +C0 +A0 +90 +80 +80 +ENDCHAR +STARTCHAR uni16AC +ENCODING 5804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +A0 +60 +30 +A8 +60 +30 +28 +20 +ENDCHAR +STARTCHAR uni16AD +ENCODING 5805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +80 +80 +80 +C0 +A0 +80 +C0 +A0 +80 +ENDCHAR +STARTCHAR uni16AE +ENCODING 5806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 0 0 +BITMAP +20 +20 +20 +60 +A0 +20 +60 +A0 +20 +ENDCHAR +STARTCHAR uni16AF +ENCODING 5807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +28 +30 +60 +A8 +30 +60 +A0 +20 +ENDCHAR +STARTCHAR uni16B0 +ENCODING 5808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +28 +30 +60 +A0 +20 +60 +A0 +20 +ENDCHAR +STARTCHAR uni16B1 +ENCODING 5809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +C0 +B0 +88 +B0 +C0 +A0 +90 +88 +80 +ENDCHAR +STARTCHAR uni16B2 +ENCODING 5810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 1 +BITMAP +10 +20 +40 +80 +40 +20 +10 +ENDCHAR +STARTCHAR uni16B3 +ENCODING 5811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +80 +80 +80 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni16B4 +ENCODING 5812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +90 +A0 +C0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16B5 +ENCODING 5813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +88 +90 +A0 +C0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16B6 +ENCODING 5814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +44 +48 +50 +E0 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni16B7 +ENCODING 5815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +50 +50 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni16B8 +ENCODING 5816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +50 +50 +A8 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni16B9 +ENCODING 5817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +C0 +B0 +88 +B0 +C0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16BA +ENCODING 5818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +88 +C8 +A8 +98 +88 +88 +88 +ENDCHAR +STARTCHAR uni16BB +ENCODING 5819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +C8 +A8 +D8 +A8 +98 +88 +88 +ENDCHAR +STARTCHAR uni16BC +ENCODING 5820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +A8 +70 +20 +70 +A8 +20 +20 +ENDCHAR +STARTCHAR uni16BD +ENCODING 5821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +40 +40 +40 +E0 +E0 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni16BE +ENCODING 5822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +A0 +60 +20 +30 +28 +20 +20 +ENDCHAR +STARTCHAR uni16BF +ENCODING 5823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 2 0 +BITMAP +80 +80 +80 +80 +C0 +A0 +80 +80 +80 +ENDCHAR +STARTCHAR uni16C0 +ENCODING 5824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +A0 +70 +70 +70 +28 +20 +20 +ENDCHAR +STARTCHAR uni16C1 +ENCODING 5825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 9 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16C2 +ENCODING 5826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +40 +40 +40 +E0 +E0 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni16C3 +ENCODING 5827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +40 +90 +48 +10 +20 +ENDCHAR +STARTCHAR uni16C4 +ENCODING 5828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +70 +A8 +70 +20 +20 +20 +ENDCHAR +STARTCHAR uni16C5 +ENCODING 5829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +28 +30 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR uni16C6 +ENCODING 5830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 0 0 +BITMAP +20 +20 +20 +20 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR uni16C7 +ENCODING 5831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +30 +28 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni16C8 +ENCODING 5832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D0 +A0 +80 +80 +80 +A0 +D0 +88 +ENDCHAR +STARTCHAR uni16C9 +ENCODING 5833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +70 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16CA +ENCODING 5834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +20 +40 +80 +40 +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR uni16CB +ENCODING 5835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +88 +98 +A8 +C8 +88 +08 +08 +ENDCHAR +STARTCHAR uni16CC +ENCODING 5836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 4 +BITMAP +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16CD +ENCODING 5837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 2 +BITMAP +40 +40 +40 +40 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni16CE +ENCODING 5838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 3 +BITMAP +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni16CF +ENCODING 5839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16D0 +ENCODING 5840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +20 +60 +A0 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16D1 +ENCODING 5841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +20 +60 +A0 +20 +20 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni16D2 +ENCODING 5842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 0 +BITMAP +C0 +A0 +90 +A0 +C0 +A0 +90 +A0 +C0 +ENDCHAR +STARTCHAR uni16D3 +ENCODING 5843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 2 0 +BITMAP +80 +80 +A0 +C0 +80 +A0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni16D4 +ENCODING 5844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F0 +88 +A8 +88 +F0 +88 +A8 +88 +F0 +ENDCHAR +STARTCHAR uni16D5 +ENCODING 5845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +90 +A0 +C0 +80 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni16D6 +ENCODING 5846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni16D7 +ENCODING 5847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D8 +A8 +D8 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni16D8 +ENCODING 5848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +A8 +70 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16D9 +ENCODING 5849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +E0 +E0 +E0 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni16DA +ENCODING 5850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 2 0 +BITMAP +80 +C0 +A0 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16DB +ENCODING 5851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +40 +60 +50 +40 +E0 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni16DC +ENCODING 5852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni16DD +ENCODING 5853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +50 +20 +50 +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni16DE +ENCODING 5854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D8 +D8 +A8 +A8 +A8 +D8 +D8 +88 +ENDCHAR +STARTCHAR uni16DF +ENCODING 5855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR uni16E0 +ENCODING 5856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +70 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni16E1 +ENCODING 5857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +A8 +70 +20 +70 +A8 +20 +20 +ENDCHAR +STARTCHAR uni16E2 +ENCODING 5858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +28 +30 +20 +20 +20 +20 +20 +60 +A0 +ENDCHAR +STARTCHAR uni16E3 +ENCODING 5859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +20 +70 +A8 +ENDCHAR +STARTCHAR uni16E4 +ENCODING 5860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +A8 +70 +A8 +A8 +A8 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni16E5 +ENCODING 5861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +D8 +A8 +D8 +88 +D8 +A8 +D8 +88 +ENDCHAR +STARTCHAR uni16E6 +ENCODING 5862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni16E7 +ENCODING 5863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 0 +BITMAP +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni16E8 +ENCODING 5864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni16E9 +ENCODING 5865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +18 +68 +88 +68 +18 +08 +08 +08 +08 +ENDCHAR +STARTCHAR uni16EA +ENCODING 5866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +40 +E0 +40 +50 +70 +50 +10 +38 +10 +ENDCHAR +STARTCHAR uni16EB +ENCODING 5867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 4 +BITMAP +80 +ENDCHAR +STARTCHAR uni16EC +ENCODING 5868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 2 +BITMAP +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni16ED +ENCODING 5869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni16EE +ENCODING 5870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +30 +28 +20 +60 +A0 +20 +20 +20 +ENDCHAR +STARTCHAR uni16EF +ENCODING 5871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +A8 +70 +20 +20 +20 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni16F0 +ENCODING 5872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni1E02 +ENCODING 7682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F0 +48 +48 +70 +48 +48 +F0 +ENDCHAR +STARTCHAR uni1E03 +ENCODING 7683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +80 +80 +F0 +88 +88 +88 +F0 +ENDCHAR +STARTCHAR uni1E04 +ENCODING 7684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +70 +48 +48 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E05 +ENCODING 7685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +F0 +88 +88 +88 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E06 +ENCODING 7686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +70 +48 +48 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni1E07 +ENCODING 7687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +F0 +88 +88 +88 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni1E0A +ENCODING 7690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F0 +48 +48 +48 +48 +48 +F0 +ENDCHAR +STARTCHAR uni1E0B +ENCODING 7691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +08 +08 +78 +88 +88 +88 +78 +ENDCHAR +STARTCHAR uni1E0C +ENCODING 7692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E0D +ENCODING 7693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +08 +78 +88 +88 +88 +78 +00 +20 +ENDCHAR +STARTCHAR uni1E0E +ENCODING 7694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni1E0F +ENCODING 7695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +08 +78 +88 +88 +88 +78 +00 +F8 +ENDCHAR +STARTCHAR uni1E10 +ENCODING 7696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +20 +40 +ENDCHAR +STARTCHAR uni1E11 +ENCODING 7697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +08 +08 +78 +88 +88 +88 +78 +20 +40 +ENDCHAR +STARTCHAR uni1E12 +ENCODING 7698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +00 +20 +50 +ENDCHAR +STARTCHAR uni1E13 +ENCODING 7699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +08 +08 +78 +88 +88 +88 +78 +00 +20 +50 +ENDCHAR +STARTCHAR uni1E1E +ENCODING 7710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F8 +80 +80 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni1E1F +ENCODING 7711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +30 +48 +40 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni1E30 +ENCODING 7728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni1E31 +ENCODING 7729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +10 +20 +80 +80 +88 +90 +E0 +90 +88 +ENDCHAR +STARTCHAR uni1E32 +ENCODING 7730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +00 +20 +ENDCHAR +STARTCHAR uni1E33 +ENCODING 7731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +88 +90 +E0 +90 +88 +00 +20 +ENDCHAR +STARTCHAR uni1E34 +ENCODING 7732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +00 +F8 +ENDCHAR +STARTCHAR uni1E35 +ENCODING 7733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +80 +80 +88 +90 +E0 +90 +88 +00 +F8 +ENDCHAR +STARTCHAR uni1E3E +ENCODING 7742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni1E3F +ENCODING 7743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +D0 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni1E40 +ENCODING 7744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +88 +D8 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni1E41 +ENCODING 7745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +D0 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni1E42 +ENCODING 7746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +00 +20 +ENDCHAR +STARTCHAR uni1E43 +ENCODING 7747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +D0 +A8 +A8 +A8 +A8 +00 +20 +ENDCHAR +STARTCHAR uni1E54 +ENCODING 7764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni1E55 +ENCODING 7765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR uni1E56 +ENCODING 7766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni1E57 +ENCODING 7767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +00 +F0 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR uni1E60 +ENCODING 7776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni1E61 +ENCODING 7777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR uni1E62 +ENCODING 7778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +80 +70 +08 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1E63 +ENCODING 7779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +78 +80 +70 +08 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E64 +ENCODING 7780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +48 +10 +00 +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni1E65 +ENCODING 7781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +10 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR uni1E66 +ENCODING 7782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +00 +50 +20 +78 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR uni1E67 +ENCODING 7783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +00 +50 +20 +00 +78 +80 +70 +08 +F0 +ENDCHAR +STARTCHAR uni1E68 +ENCODING 7784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +20 +00 +70 +88 +80 +70 +08 +88 +70 +00 +20 +ENDCHAR +STARTCHAR uni1E69 +ENCODING 7785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +00 +78 +80 +70 +08 +F0 +00 +20 +ENDCHAR +STARTCHAR uni1E6A +ENCODING 7786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1E6B +ENCODING 7787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +20 +20 +F8 +20 +20 +20 +18 +ENDCHAR +STARTCHAR uni1E6C +ENCODING 7788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +00 +20 +ENDCHAR +STARTCHAR uni1E6D +ENCODING 7789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +00 +20 +ENDCHAR +STARTCHAR uni1E6E +ENCODING 7790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +00 +F8 +ENDCHAR +STARTCHAR uni1E6F +ENCODING 7791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +20 +18 +00 +F8 +ENDCHAR +STARTCHAR uni1E70 +ENCODING 7792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +00 +20 +50 +ENDCHAR +STARTCHAR uni1E71 +ENCODING 7793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +20 +F8 +20 +20 +18 +00 +20 +50 +ENDCHAR +STARTCHAR Wgrave +ENCODING 7808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR wgrave +ENCODING 7809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +20 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Wacute +ENCODING 7810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +10 +20 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR wacute +ENCODING 7811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Wdieresis +ENCODING 7812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR wdieresis +ENCODING 7813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1E86 +ENCODING 7814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +88 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1E87 +ENCODING 7815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1E88 +ENCODING 7816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +88 +A8 +A8 +50 +00 +20 +ENDCHAR +STARTCHAR uni1E89 +ENCODING 7817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +A8 +A8 +50 +00 +20 +ENDCHAR +STARTCHAR uni1E8A +ENCODING 7818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR uni1E8B +ENCODING 7819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni1E8C +ENCODING 7820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR uni1E8D +ENCODING 7821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni1E8E +ENCODING 7822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1E8F +ENCODING 7823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR Ygrave +ENCODING 7922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR ygrave +ENCODING 7923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +40 +20 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni1EF4 +ENCODING 7924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +50 +20 +20 +20 +20 +00 +20 +ENDCHAR +STARTCHAR uni1EF5 +ENCODING 7925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +88 +88 +50 +20 +40 +88 +ENDCHAR +STARTCHAR uni1EF6 +ENCODING 7926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +10 +20 +88 +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni1EF7 +ENCODING 7927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +20 +50 +10 +20 +20 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni1EF8 +ENCODING 7928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1EF9 +ENCODING 7929 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +68 +B0 +00 +88 +88 +88 +50 +20 +40 +80 +ENDCHAR +STARTCHAR uni1F00 +ENCODING 7936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F01 +ENCODING 7937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F02 +ENCODING 7938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F03 +ENCODING 7939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F04 +ENCODING 7940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F05 +ENCODING 7941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F06 +ENCODING 7942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +10 +00 +68 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F07 +ENCODING 7943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +20 +00 +68 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F08 +ENCODING 7944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F09 +ENCODING 7945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0A +ENCODING 7946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0B +ENCODING 7947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0C +ENCODING 7948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0D +ENCODING 7949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F0E +ENCODING 7950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +C0 +80 +30 +48 +78 +48 +48 +ENDCHAR +STARTCHAR uni1F0F +ENCODING 7951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +C0 +40 +30 +48 +78 +48 +48 +ENDCHAR +STARTCHAR uni1F10 +ENCODING 7952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F11 +ENCODING 7953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F12 +ENCODING 7954 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F13 +ENCODING 7955 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F14 +ENCODING 7956 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F15 +ENCODING 7957 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F18 +ENCODING 7960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F19 +ENCODING 7961 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F1A +ENCODING 7962 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F1B +ENCODING 7963 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F1C +ENCODING 7964 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F1D +ENCODING 7965 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1F20 +ENCODING 7968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +60 +20 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F21 +ENCODING 7969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +30 +20 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F22 +ENCODING 7970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +D0 +48 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F23 +ENCODING 7971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +D0 +88 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F24 +ENCODING 7972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +C8 +50 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F25 +ENCODING 7973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +C8 +90 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F26 +ENCODING 7974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +30 +10 +00 +B0 +C8 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F27 +ENCODING 7975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +30 +20 +00 +B0 +C8 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F28 +ENCODING 7976 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F29 +ENCODING 7977 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2A +ENCODING 7978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2B +ENCODING 7979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2C +ENCODING 7980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2D +ENCODING 7981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1F2E +ENCODING 7982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +C0 +80 +28 +28 +38 +28 +28 +ENDCHAR +STARTCHAR uni1F2F +ENCODING 7983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +C0 +40 +28 +28 +38 +28 +28 +ENDCHAR +STARTCHAR uni1F30 +ENCODING 7984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +C0 +40 +00 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni1F31 +ENCODING 7985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +C0 +80 +00 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni1F32 +ENCODING 7986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F33 +ENCODING 7987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F34 +ENCODING 7988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F35 +ENCODING 7989 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F36 +ENCODING 7990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +10 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F37 +ENCODING 7991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +20 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F38 +ENCODING 7992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +C0 +40 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F39 +ENCODING 7993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +C0 +80 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3A +ENCODING 7994 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3B +ENCODING 7995 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3C +ENCODING 7996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3D +ENCODING 7997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1F3E +ENCODING 7998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +68 +B0 +00 +C0 +9C +08 +08 +08 +08 +1C +ENDCHAR +STARTCHAR uni1F3F +ENCODING 7999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +68 +B0 +00 +C0 +5C +08 +08 +08 +08 +1C +ENDCHAR +STARTCHAR uni1F40 +ENCODING 8000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F41 +ENCODING 8001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F42 +ENCODING 8002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F43 +ENCODING 8003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F44 +ENCODING 8004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F45 +ENCODING 8005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F48 +ENCODING 8008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F49 +ENCODING 8009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F4A +ENCODING 8010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F4B +ENCODING 8011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F4C +ENCODING 8012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F4D +ENCODING 8013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F50 +ENCODING 8016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F51 +ENCODING 8017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F52 +ENCODING 8018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F53 +ENCODING 8019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F54 +ENCODING 8020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F55 +ENCODING 8021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F56 +ENCODING 8022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +10 +00 +90 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F57 +ENCODING 8023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +20 +00 +90 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F59 +ENCODING 8025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1F5B +ENCODING 8027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1F5D +ENCODING 8029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1F5F +ENCODING 8031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +68 +B0 +00 +C0 +54 +14 +14 +08 +08 +08 +ENDCHAR +STARTCHAR uni1F60 +ENCODING 8032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +20 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F61 +ENCODING 8033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +20 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F62 +ENCODING 8034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +48 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F63 +ENCODING 8035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D0 +88 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F64 +ENCODING 8036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +50 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F65 +ENCODING 8037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C8 +90 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F66 +ENCODING 8038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +10 +00 +50 +88 +A8 +50 +ENDCHAR +STARTCHAR uni1F67 +ENCODING 8039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +30 +20 +00 +50 +88 +A8 +50 +ENDCHAR +STARTCHAR uni1F68 +ENCODING 8040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +40 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F69 +ENCODING 8041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6A +ENCODING 8042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +48 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6B +ENCODING 8043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +D0 +88 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6C +ENCODING 8044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +50 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6D +ENCODING 8045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C8 +90 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1F6E +ENCODING 8046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +68 +B0 +00 +C0 +80 +38 +44 +44 +44 +28 +6C +ENDCHAR +STARTCHAR uni1F6F +ENCODING 8047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +68 +B0 +00 +C0 +40 +38 +44 +44 +44 +28 +6C +ENDCHAR +STARTCHAR uni1F70 +ENCODING 8048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F71 +ENCODING 8049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1F72 +ENCODING 8050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F73 +ENCODING 8051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +60 +88 +70 +ENDCHAR +STARTCHAR uni1F74 +ENCODING 8052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +20 +10 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F75 +ENCODING 8053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1F76 +ENCODING 8054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +80 +40 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1F77 +ENCODING 8055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 2 0 +BITMAP +40 +80 +00 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR uni1F78 +ENCODING 8056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F79 +ENCODING 8057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F7A +ENCODING 8058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F7B +ENCODING 8059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1F7C +ENCODING 8060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F7D +ENCODING 8061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +20 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1F80 +ENCODING 8064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +60 +20 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F81 +ENCODING 8065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +30 +20 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F82 +ENCODING 8066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +48 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F83 +ENCODING 8067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +88 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F84 +ENCODING 8068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +50 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F85 +ENCODING 8069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +90 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F86 +ENCODING 8070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +10 +20 +00 +68 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F87 +ENCODING 8071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +20 +10 +00 +68 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1F88 +ENCODING 8072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +40 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F89 +ENCODING 8073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +80 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8A +ENCODING 8074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +48 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8B +ENCODING 8075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +88 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8C +ENCODING 8076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +50 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8D +ENCODING 8077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +90 +00 +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F8E +ENCODING 8078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +C0 +40 +30 +48 +78 +48 +48 +20 +10 +ENDCHAR +STARTCHAR uni1F8F +ENCODING 8079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +C0 +80 +30 +48 +78 +48 +48 +20 +10 +ENDCHAR +STARTCHAR uni1F90 +ENCODING 8080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +60 +20 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F91 +ENCODING 8081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +30 +20 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F92 +ENCODING 8082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +48 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F93 +ENCODING 8083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +88 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F94 +ENCODING 8084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +50 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F95 +ENCODING 8085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +90 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F96 +ENCODING 8086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +10 +20 +00 +B0 +C8 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F97 +ENCODING 8087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +20 +10 +00 +B0 +C8 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1F98 +ENCODING 8088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +40 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F99 +ENCODING 8089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +80 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9A +ENCODING 8090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +48 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9B +ENCODING 8091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +88 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9C +ENCODING 8092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +50 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9D +ENCODING 8093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +90 +00 +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1F9E +ENCODING 8094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +C0 +40 +28 +28 +38 +28 +28 +20 +10 +ENDCHAR +STARTCHAR uni1F9F +ENCODING 8095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +00 +C0 +80 +28 +28 +38 +28 +28 +20 +10 +ENDCHAR +STARTCHAR uni1FA0 +ENCODING 8096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +60 +20 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA1 +ENCODING 8097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +30 +20 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA2 +ENCODING 8098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +48 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA3 +ENCODING 8099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D0 +88 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA4 +ENCODING 8100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +50 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA5 +ENCODING 8101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C8 +90 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA6 +ENCODING 8102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +10 +20 +00 +50 +88 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA7 +ENCODING 8103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +68 +B0 +20 +10 +00 +50 +88 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FA8 +ENCODING 8104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +40 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FA9 +ENCODING 8105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +80 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAA +ENCODING 8106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +48 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAB +ENCODING 8107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +D0 +88 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAC +ENCODING 8108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +50 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAD +ENCODING 8109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C8 +90 +00 +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FAE +ENCODING 8110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +68 +B0 +00 +C0 +40 +38 +44 +44 +28 +6C +10 +08 +ENDCHAR +STARTCHAR uni1FAF +ENCODING 8111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +68 +B0 +00 +C0 +80 +38 +44 +44 +28 +6C +10 +08 +ENDCHAR +STARTCHAR uni1FB0 +ENCODING 8112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1FB1 +ENCODING 8113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1FB2 +ENCODING 8114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +40 +20 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FB3 +ENCODING 8115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FB4 +ENCODING 8116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +10 +20 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FB6 +ENCODING 8118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni1FB7 +ENCODING 8119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +68 +B0 +00 +68 +90 +90 +90 +68 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FB8 +ENCODING 8120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FB9 +ENCODING 8121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FBA +ENCODING 8122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FBB +ENCODING 8123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FBC +ENCODING 8124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1FBD +ENCODING 8125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 6 +BITMAP +C0 +40 +ENDCHAR +STARTCHAR uni1FBE +ENCODING 8126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni1FBF +ENCODING 8127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 6 +BITMAP +C0 +40 +ENDCHAR +STARTCHAR uni1FC0 +ENCODING 8128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni1FC1 +ENCODING 8129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 +BITMAP +68 +B0 +00 +50 +ENDCHAR +STARTCHAR uni1FC2 +ENCODING 8130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +40 +20 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1FC3 +ENCODING 8131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1FC4 +ENCODING 8132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1FC6 +ENCODING 8134 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +68 +B0 +00 +B0 +C8 +88 +88 +88 +08 +08 +ENDCHAR +STARTCHAR uni1FC7 +ENCODING 8135 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +68 +B0 +00 +B0 +C8 +88 +88 +88 +08 +88 +40 +ENDCHAR +STARTCHAR uni1FC8 +ENCODING 8136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1FC9 +ENCODING 8137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +F8 +80 +80 +F0 +80 +80 +F8 +ENDCHAR +STARTCHAR uni1FCA +ENCODING 8138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FCB +ENCODING 8139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +88 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni1FCC +ENCODING 8140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +88 +88 +F8 +88 +88 +88 +20 +10 +ENDCHAR +STARTCHAR uni1FCD +ENCODING 8141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +D0 +48 +ENDCHAR +STARTCHAR uni1FCE +ENCODING 8142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +C8 +50 +ENDCHAR +STARTCHAR uni1FCF +ENCODING 8143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +68 +B0 +00 +30 +10 +ENDCHAR +STARTCHAR uni1FD0 +ENCODING 8144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +20 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni1FD1 +ENCODING 8145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1FD2 +ENCODING 8146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +80 +40 +00 +A0 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1FD3 +ENCODING 8147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 +BITMAP +80 +40 +00 +A0 +00 +40 +40 +40 +50 +20 +ENDCHAR +STARTCHAR uni1FD6 +ENCODING 8150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +20 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni1FD7 +ENCODING 8151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +50 +00 +20 +20 +20 +28 +10 +ENDCHAR +STARTCHAR uni1FD8 +ENCODING 8152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1FD9 +ENCODING 8153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1FDA +ENCODING 8154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +80 +40 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1FDB +ENCODING 8155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 0 +BITMAP +40 +80 +00 +70 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR uni1FDD +ENCODING 8157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +D0 +88 +ENDCHAR +STARTCHAR uni1FDE +ENCODING 8158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 6 +BITMAP +C8 +90 +ENDCHAR +STARTCHAR uni1FDF +ENCODING 8159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +68 +B0 +00 +30 +20 +ENDCHAR +STARTCHAR uni1FE0 +ENCODING 8160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE1 +ENCODING 8161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE2 +ENCODING 8162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE3 +ENCODING 8163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +20 +00 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE4 +ENCODING 8164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +60 +20 +00 +70 +88 +88 +C8 +B0 +80 +80 +ENDCHAR +STARTCHAR uni1FE5 +ENCODING 8165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +30 +20 +00 +70 +88 +88 +C8 +B0 +80 +80 +ENDCHAR +STARTCHAR uni1FE6 +ENCODING 8166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE7 +ENCODING 8167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +68 +B0 +00 +50 +00 +90 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FE8 +ENCODING 8168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1FE9 +ENCODING 8169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1FEA +ENCODING 8170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1FEB +ENCODING 8171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +88 +88 +50 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1FEC +ENCODING 8172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +80 +00 +F0 +88 +88 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni1FED +ENCODING 8173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +80 +40 +00 +A0 +ENDCHAR +STARTCHAR uni1FEE +ENCODING 8174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +20 +40 +00 +A0 +ENDCHAR +STARTCHAR uni1FEF +ENCODING 8175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 1 6 +BITMAP +80 +40 +ENDCHAR +STARTCHAR uni1FF2 +ENCODING 8178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +40 +20 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FF3 +ENCODING 8179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FF4 +ENCODING 8180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +10 +20 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FF6 +ENCODING 8182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni1FF7 +ENCODING 8183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +68 +B0 +00 +50 +88 +A8 +A8 +50 +00 +20 +10 +ENDCHAR +STARTCHAR uni1FF8 +ENCODING 8184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +88 +70 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FF9 +ENCODING 8185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni1FFA +ENCODING 8186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +40 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1FFB +ENCODING 8187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +80 +00 +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni1FFC +ENCODING 8188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +88 +88 +88 +88 +50 +D8 +20 +10 +ENDCHAR +STARTCHAR uni1FFD +ENCODING 8189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 6 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni1FFE +ENCODING 8190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 6 +BITMAP +C0 +80 +ENDCHAR +STARTCHAR uni2010 +ENCODING 8208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +E0 +ENDCHAR +STARTCHAR uni2011 +ENCODING 8209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +E0 +ENDCHAR +STARTCHAR figuredash +ENCODING 8210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR endash +ENCODING 8211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR emdash +ENCODING 8212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR afii00208 +ENCODING 8213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni2016 +ENCODING 8214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR underscoredbl +ENCODING 8215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 -2 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR quoteleft +ENCODING 8216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +40 +80 +C0 +ENDCHAR +STARTCHAR quoteright +ENCODING 8217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR quotesinglbase +ENCODING 8218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 -1 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR quotereversed +ENCODING 8219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +C0 +80 +40 +ENDCHAR +STARTCHAR quotedblleft +ENCODING 8220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +48 +90 +D8 +ENDCHAR +STARTCHAR quotedblright +ENCODING 8221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +D8 +48 +90 +ENDCHAR +STARTCHAR quotedblbase +ENCODING 8222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -1 +BITMAP +D8 +48 +90 +ENDCHAR +STARTCHAR uni201F +ENCODING 8223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +D8 +90 +48 +ENDCHAR +STARTCHAR dagger +ENCODING 8224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR daggerdbl +ENCODING 8225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +20 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR bullet +ENCODING 8226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 2 +BITMAP +60 +F0 +F0 +60 +ENDCHAR +STARTCHAR uni2023 +ENCODING 8227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +C0 +E0 +C0 +80 +ENDCHAR +STARTCHAR onedotenleader +ENCODING 8228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 0 +BITMAP +80 +ENDCHAR +STARTCHAR twodotenleader +ENCODING 8229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 0 +BITMAP +A0 +ENDCHAR +STARTCHAR ellipsis +ENCODING 8230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 0 +BITMAP +A8 +ENDCHAR +STARTCHAR uni2027 +ENCODING 8231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 3 +BITMAP +80 +ENDCHAR +STARTCHAR perthousand +ENCODING 8240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +A8 +50 +20 +68 +D4 +A8 +ENDCHAR +STARTCHAR uni2031 +ENCODING 8241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +A8 +58 +34 +68 +D4 +A8 +ENDCHAR +STARTCHAR minute +ENCODING 8242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 4 +BITMAP +40 +40 +80 +ENDCHAR +STARTCHAR second +ENCODING 8243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +48 +48 +90 +ENDCHAR +STARTCHAR uni2034 +ENCODING 8244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 4 +BITMAP +54 +54 +A8 +ENDCHAR +STARTCHAR uni2035 +ENCODING 8245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 1 4 +BITMAP +80 +80 +40 +ENDCHAR +STARTCHAR uni2036 +ENCODING 8246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +90 +90 +48 +ENDCHAR +STARTCHAR uni2037 +ENCODING 8247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 4 +BITMAP +A8 +A8 +54 +ENDCHAR +STARTCHAR uni2038 +ENCODING 8248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 -2 +BITMAP +40 +40 +A0 +A0 +ENDCHAR +STARTCHAR guilsinglleft +ENCODING 8249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR guilsinglright +ENCODING 8250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +40 +20 +40 +80 +ENDCHAR +STARTCHAR uni203B +ENCODING 8251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +88 +50 +20 +A8 +20 +50 +88 +20 +ENDCHAR +STARTCHAR exclamdbl +ENCODING 8252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni203D +ENCODING 8253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +28 +30 +20 +00 +20 +ENDCHAR +STARTCHAR uni203E +ENCODING 8254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 8 +BITMAP +FC +ENDCHAR +STARTCHAR uni203F +ENCODING 8255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni2040 +ENCODING 8256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni2041 +ENCODING 8257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 -2 +BITMAP +10 +20 +20 +40 +40 +A0 +A0 +ENDCHAR +STARTCHAR uni2042 +ENCODING 8258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +20 +50 +F8 +50 +ENDCHAR +STARTCHAR uni2043 +ENCODING 8259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 1 2 +BITMAP +E0 +E0 +ENDCHAR +STARTCHAR fraction +ENCODING 8260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2045 +ENCODING 8261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +80 +80 +E0 +80 +80 +E0 +ENDCHAR +STARTCHAR uni2046 +ENCODING 8262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +20 +20 +E0 +20 +20 +E0 +ENDCHAR +STARTCHAR uni2047 +ENCODING 8263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +48 +B4 +24 +48 +48 +00 +48 +ENDCHAR +STARTCHAR uni2048 +ENCODING 8264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +A8 +28 +48 +48 +00 +48 +ENDCHAR +STARTCHAR uni2049 +ENCODING 8265 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +A8 +88 +90 +90 +00 +90 +ENDCHAR +STARTCHAR uni204A +ENCODING 8266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +F0 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni204B +ENCODING 8267 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +B8 +B8 +B0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni204C +ENCODING 8268 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +78 +E8 +E8 +78 +ENDCHAR +STARTCHAR uni204D +ENCODING 8269 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +F0 +B8 +B8 +F0 +ENDCHAR +STARTCHAR uni204E +ENCODING 8270 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni204F +ENCODING 8271 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 -2 +BITMAP +40 +E0 +40 +00 +C0 +40 +20 +ENDCHAR +STARTCHAR uni2050 +ENCODING 8272 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +70 +88 +00 +00 +00 +00 +00 +00 +88 +70 +ENDCHAR +STARTCHAR uni2051 +ENCODING 8273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +A8 +70 +70 +A8 +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2052 +ENCODING 8274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 0 +BITMAP +90 +10 +20 +20 +40 +40 +90 +80 +ENDCHAR +STARTCHAR uni2053 +ENCODING 8275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni2054 +ENCODING 8276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -1 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni2055 +ENCODING 8277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +A8 +70 +F8 +70 +A8 +ENDCHAR +STARTCHAR uni2056 +ENCODING 8278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 2 +BITMAP +10 +00 +80 +00 +10 +ENDCHAR +STARTCHAR uni2057 +ENCODING 8279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 6 +BITMAP +7C +7C +F8 +ENDCHAR +STARTCHAR uni2058 +ENCODING 8280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +00 +88 +00 +20 +ENDCHAR +STARTCHAR uni2059 +ENCODING 8281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +88 +00 +20 +00 +88 +ENDCHAR +STARTCHAR uni205A +ENCODING 8282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 8 2 0 +BITMAP +80 +80 +00 +00 +00 +00 +80 +80 +ENDCHAR +STARTCHAR uni205B +ENCODING 8283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +00 +88 +88 +00 +20 +20 +ENDCHAR +STARTCHAR uni205C +ENCODING 8284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +A8 +20 +F8 +20 +A8 +ENDCHAR +STARTCHAR uni205D +ENCODING 8285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +00 +80 +00 +00 +80 +ENDCHAR +STARTCHAR uni205E +ENCODING 8286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR zerosuperior +ENCODING 8304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni2071 +ENCODING 8305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +00 +C0 +40 +E0 +ENDCHAR +STARTCHAR foursuperior +ENCODING 8308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +80 +80 +A0 +E0 +20 +ENDCHAR +STARTCHAR fivesuperior +ENCODING 8309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +E0 +80 +C0 +20 +C0 +ENDCHAR +STARTCHAR sixsuperior +ENCODING 8310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +60 +80 +C0 +A0 +40 +ENDCHAR +STARTCHAR sevensuperior +ENCODING 8311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +E0 +20 +40 +40 +40 +ENDCHAR +STARTCHAR eightsuperior +ENCODING 8312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR ninesuperior +ENCODING 8313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 5 +BITMAP +40 +A0 +60 +20 +C0 +ENDCHAR +STARTCHAR uni207A +ENCODING 8314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni207B +ENCODING 8315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 7 +BITMAP +E0 +ENDCHAR +STARTCHAR uni207C +ENCODING 8316 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 6 +BITMAP +E0 +00 +E0 +ENDCHAR +STARTCHAR parenleftsuperior +ENCODING 8317 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 5 +BITMAP +40 +80 +80 +80 +40 +ENDCHAR +STARTCHAR parenrightsuperior +ENCODING 8318 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 5 +BITMAP +80 +40 +40 +40 +80 +ENDCHAR +STARTCHAR nsuperior +ENCODING 8319 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 5 +BITMAP +C0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR zeroinferior +ENCODING 8320 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +A0 +A0 +40 +ENDCHAR +STARTCHAR oneinferior +ENCODING 8321 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR twoinferior +ENCODING 8322 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +C0 +20 +40 +80 +E0 +ENDCHAR +STARTCHAR threeinferior +ENCODING 8323 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +C0 +20 +40 +20 +C0 +ENDCHAR +STARTCHAR fourinferior +ENCODING 8324 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +80 +80 +A0 +E0 +20 +ENDCHAR +STARTCHAR fiveinferior +ENCODING 8325 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +E0 +80 +C0 +20 +C0 +ENDCHAR +STARTCHAR sixinferior +ENCODING 8326 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +60 +80 +C0 +A0 +40 +ENDCHAR +STARTCHAR seveninferior +ENCODING 8327 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +E0 +20 +40 +40 +40 +ENDCHAR +STARTCHAR eightinferior +ENCODING 8328 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR nineinferior +ENCODING 8329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +60 +20 +C0 +ENDCHAR +STARTCHAR uni208A +ENCODING 8330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni208B +ENCODING 8331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 1 0 +BITMAP +E0 +ENDCHAR +STARTCHAR uni208C +ENCODING 8332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +E0 +00 +E0 +ENDCHAR +STARTCHAR parenleftinferior +ENCODING 8333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 -2 +BITMAP +40 +80 +80 +80 +40 +ENDCHAR +STARTCHAR parenrightinferior +ENCODING 8334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 1 -2 +BITMAP +80 +40 +40 +40 +80 +ENDCHAR +STARTCHAR uni2090 +ENCODING 8336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 -1 +BITMAP +40 +20 +60 +A0 +60 +ENDCHAR +STARTCHAR uni2091 +ENCODING 8337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 -2 +BITMAP +40 +A0 +E0 +80 +60 +ENDCHAR +STARTCHAR uni2092 +ENCODING 8338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 -2 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni2093 +ENCODING 8339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 -2 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni2094 +ENCODING 8340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 -2 +BITMAP +C0 +20 +E0 +A0 +40 +ENDCHAR +STARTCHAR uni20A0 +ENCODING 8352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +80 +B8 +A0 +70 +20 +38 +ENDCHAR +STARTCHAR colonmonetary +ENCODING 8353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A8 +A8 +D0 +D0 +D8 +70 +ENDCHAR +STARTCHAR uni20A2 +ENCODING 8354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +B0 +A0 +A8 +70 +ENDCHAR +STARTCHAR franc +ENCODING 8355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +E8 +B0 +A0 +A0 +ENDCHAR +STARTCHAR lira +ENCODING 8356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +48 +E0 +40 +E0 +48 +B0 +ENDCHAR +STARTCHAR uni20A5 +ENCODING 8357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +10 +F0 +A8 +A8 +A8 +40 +ENDCHAR +STARTCHAR uni20A6 +ENCODING 8358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +88 +C8 +FC +A8 +FC +98 +88 +ENDCHAR +STARTCHAR peseta +ENCODING 8359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +50 +F8 +50 +60 +40 +40 +ENDCHAR +STARTCHAR uni20A8 +ENCODING 8360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C0 +A0 +A0 +D8 +A0 +B0 +A8 +B0 +ENDCHAR +STARTCHAR uni20A9 +ENCODING 8361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +88 +FC +A8 +A8 +D8 +88 +ENDCHAR +STARTCHAR afii57636 +ENCODING 8362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +60 +94 +B4 +B4 +B4 +B4 +A4 +98 +ENDCHAR +STARTCHAR dong +ENCODING 8363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 +BITMAP +08 +3C +08 +78 +88 +88 +88 +78 +00 +78 +ENDCHAR +STARTCHAR Euro +ENCODING 8364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +F0 +40 +F0 +40 +38 +ENDCHAR +STARTCHAR uni20AD +ENCODING 8365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +48 +50 +F8 +50 +48 +48 +ENDCHAR +STARTCHAR uni20AE +ENCODING 8366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +30 +60 +30 +60 +20 +ENDCHAR +STARTCHAR uni20AF +ENCODING 8367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +40 +E0 +50 +48 +48 +48 +E8 +D0 +ENDCHAR +STARTCHAR uni20B0 +ENCODING 8368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +10 +28 +28 +10 +10 +50 +68 +A8 +08 +10 +ENDCHAR +STARTCHAR uni20B1 +ENCODING 8369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +50 +F8 +F8 +50 +60 +40 +40 +ENDCHAR +STARTCHAR uni20B2 +ENCODING 8370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +A8 +A0 +A0 +B8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni20B3 +ENCODING 8371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +F8 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR uni20B4 +ENCODING 8372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +10 +F8 +20 +F8 +40 +30 +ENDCHAR +STARTCHAR uni20B5 +ENCODING 8373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +A8 +A0 +A0 +A0 +A8 +70 +20 +ENDCHAR +STARTCHAR uni20D0 +ENCODING 8400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +20 +40 +F8 +ENDCHAR +STARTCHAR uni20D1 +ENCODING 8401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +20 +10 +F8 +ENDCHAR +STARTCHAR uni20D2 +ENCODING 8402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 10 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni20D3 +ENCODING 8403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 8 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni20D4 +ENCODING 8404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +B0 +C8 +E0 +ENDCHAR +STARTCHAR uni20D5 +ENCODING 8405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +68 +98 +38 +ENDCHAR +STARTCHAR uni20D6 +ENCODING 8406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +40 +F8 +40 +ENDCHAR +STARTCHAR uni20D7 +ENCODING 8407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +10 +F8 +10 +ENDCHAR +STARTCHAR uni20D8 +ENCODING 8408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR uni20D9 +ENCODING 8409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +30 +48 +E8 +48 +30 +ENDCHAR +STARTCHAR uni20DA +ENCODING 8410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +60 +90 +B8 +90 +60 +ENDCHAR +STARTCHAR uni20DB +ENCODING 8411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +A8 +A8 +ENDCHAR +STARTCHAR uni20DC +ENCODING 8412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 7 +BITMAP +B4 +B4 +ENDCHAR +STARTCHAR uni20DD +ENCODING 8413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +78 +84 +84 +84 +84 +84 +84 +84 +84 +84 +84 +78 +ENDCHAR +STARTCHAR uni20DE +ENCODING 8414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +84 +84 +84 +84 +84 +84 +84 +84 +84 +84 +FC +ENDCHAR +STARTCHAR uni20DF +ENCODING 8415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +48 +84 +84 +84 +84 +84 +84 +84 +84 +48 +30 +ENDCHAR +STARTCHAR uni20E0 +ENCODING 8416 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +78 +C4 +A4 +A4 +A4 +A4 +94 +94 +94 +94 +8C +78 +ENDCHAR +STARTCHAR uni20E1 +ENCODING 8417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +50 +F8 +50 +ENDCHAR +STARTCHAR uni20E2 +ENCODING 8418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +78 +84 +84 +84 +84 +84 +84 +84 +84 +78 +ENDCHAR +STARTCHAR uni20E3 +ENCODING 8419 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +84 +84 +84 +84 +84 +84 +84 +84 +FC +FC +ENDCHAR +STARTCHAR uni20E4 +ENCODING 8420 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +20 +20 +20 +50 +50 +50 +50 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni20E5 +ENCODING 8421 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +40 +20 +20 +10 +08 +08 +ENDCHAR +STARTCHAR uni20E6 +ENCODING 8422 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni20E7 +ENCODING 8423 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +FC +04 +04 +04 +04 +04 +04 +04 +04 +ENDCHAR +STARTCHAR uni20E8 +ENCODING 8424 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 -2 +BITMAP +A8 +ENDCHAR +STARTCHAR uni20E9 +ENCODING 8425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +F8 +88 +ENDCHAR +STARTCHAR uni20EA +ENCODING 8426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +FC +40 +20 +ENDCHAR +STARTCHAR uni20EB +ENCODING 8427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +24 +24 +24 +48 +48 +90 +90 +90 +ENDCHAR +STARTCHAR uni20EC +ENCODING 8428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +F8 +10 +ENDCHAR +STARTCHAR uni20ED +ENCODING 8429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +F8 +40 +ENDCHAR +STARTCHAR uni20EE +ENCODING 8430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +40 +F8 +40 +ENDCHAR +STARTCHAR uni20EF +ENCODING 8431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +10 +F8 +10 +ENDCHAR +STARTCHAR uni20F0 +ENCODING 8432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 7 +BITMAP +A0 +40 +A0 +ENDCHAR +STARTCHAR uni2100 +ENCODING 8448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +68 +A8 +70 +10 +20 +40 +58 +A0 +98 +ENDCHAR +STARTCHAR uni2101 +ENCODING 8449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +68 +A8 +70 +10 +20 +58 +60 +90 +88 +30 +ENDCHAR +STARTCHAR uni2102 +ENCODING 8450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A0 +A0 +A0 +A8 +70 +ENDCHAR +STARTCHAR uni2103 +ENCODING 8451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +A0 +40 +38 +40 +40 +40 +40 +40 +38 +ENDCHAR +STARTCHAR uni2104 +ENCODING 8452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A0 +A0 +A0 +70 +20 +38 +ENDCHAR +STARTCHAR afii61248 +ENCODING 8453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +48 +88 +50 +10 +20 +40 +50 +A8 +90 +ENDCHAR +STARTCHAR uni2106 +ENCODING 8454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +48 +88 +50 +10 +20 +40 +68 +A8 +98 +ENDCHAR +STARTCHAR uni2107 +ENCODING 8455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +88 +80 +60 +80 +88 +70 +ENDCHAR +STARTCHAR uni2108 +ENCODING 8456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +78 +08 +88 +70 +ENDCHAR +STARTCHAR uni2109 +ENCODING 8457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +A0 +40 +3C +20 +20 +38 +20 +20 +20 +ENDCHAR +STARTCHAR uni210A +ENCODING 8458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +38 +48 +48 +48 +30 +90 +60 +ENDCHAR +STARTCHAR uni210B +ENCODING 8459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +C8 +48 +48 +70 +90 +90 +90 +08 +ENDCHAR +STARTCHAR uni210C +ENCODING 8460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +68 +90 +80 +B0 +C8 +48 +28 +A8 +48 +10 +20 +ENDCHAR +STARTCHAR uni210D +ENCODING 8461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +B8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni210E +ENCODING 8462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +40 +70 +48 +48 +90 +90 +ENDCHAR +STARTCHAR uni210F +ENCODING 8463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +F0 +40 +70 +48 +48 +90 +90 +ENDCHAR +STARTCHAR uni2110 +ENCODING 8464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +38 +08 +08 +10 +10 +20 +A0 +40 +ENDCHAR +STARTCHAR Ifraktur +ENCODING 8465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +88 +48 +10 +10 +08 +C8 +30 +ENDCHAR +STARTCHAR uni2112 +ENCODING 8466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +10 +28 +20 +20 +40 +40 +64 +98 +ENDCHAR +STARTCHAR afii61289 +ENCODING 8467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +50 +50 +20 +60 +90 +ENDCHAR +STARTCHAR uni2114 +ENCODING 8468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +F0 +A0 +B0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR uni2115 +ENCODING 8469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C4 +C4 +A4 +B4 +B4 +AC +A4 +ENDCHAR +STARTCHAR afii61352 +ENCODING 8470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +90 +D8 +B4 +98 +90 +9C +ENDCHAR +STARTCHAR uni2117 +ENCODING 8471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +E8 +D8 +E8 +C8 +88 +70 +ENDCHAR +STARTCHAR weierstrass +ENCODING 8472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +58 +64 +64 +78 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni2119 +ENCODING 8473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +A8 +A8 +B0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni211A +ENCODING 8474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +A8 +A8 +B0 +68 +ENDCHAR +STARTCHAR uni211B +ENCODING 8475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +70 +A0 +90 +90 +ENDCHAR +STARTCHAR Rfraktur +ENCODING 8476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +A8 +68 +30 +30 +A8 +48 +ENDCHAR +STARTCHAR uni211D +ENCODING 8477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +A8 +A8 +B0 +B0 +A8 +A8 +ENDCHAR +STARTCHAR prescription +ENCODING 8478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +88 +F0 +A8 +90 +A8 +ENDCHAR +STARTCHAR uni211F +ENCODING 8479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +60 +20 +F0 +A8 +A8 +F0 +A0 +B0 +A8 +20 +ENDCHAR +STARTCHAR uni2120 +ENCODING 8480 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 6 +BITMAP +54 +9C +54 +94 +ENDCHAR +STARTCHAR uni2121 +ENCODING 8481 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +E0 +40 +40 +70 +20 +30 +20 +30 +10 +10 +10 +18 +ENDCHAR +STARTCHAR trademark +ENCODING 8482 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 4 +BITMAP +FC +5C +54 +ENDCHAR +STARTCHAR uni2123 +ENCODING 8483 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +E0 +20 +A8 +A8 +A8 +50 +50 +50 +A0 +A0 +80 +ENDCHAR +STARTCHAR uni2124 +ENCODING 8484 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +28 +48 +50 +90 +A0 +F8 +ENDCHAR +STARTCHAR uni2125 +ENCODING 8485 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +78 +10 +20 +78 +10 +20 +70 +08 +88 +70 +ENDCHAR +STARTCHAR Omega +ENCODING 8486 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR uni2127 +ENCODING 8487 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +D8 +50 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2128 +ENCODING 8488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +28 +38 +28 +88 +70 +ENDCHAR +STARTCHAR uni2129 +ENCODING 8489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +C0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni212A +ENCODING 8490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +90 +A0 +C0 +A0 +90 +88 +ENDCHAR +STARTCHAR uni212B +ENCODING 8491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +20 +70 +88 +88 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni212C +ENCODING 8492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +70 +90 +90 +E0 +ENDCHAR +STARTCHAR uni212D +ENCODING 8493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +74 +90 +90 +A0 +80 +88 +70 +ENDCHAR +STARTCHAR estimated +ENCODING 8494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +D8 +F0 +C0 +70 +ENDCHAR +STARTCHAR uni212F +ENCODING 8495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +48 +70 +80 +60 +ENDCHAR +STARTCHAR uni2130 +ENCODING 8496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +60 +80 +88 +70 +ENDCHAR +STARTCHAR uni2131 +ENCODING 8497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +7C +A0 +20 +78 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2132 +ENCODING 8498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +78 +08 +08 +F8 +ENDCHAR +STARTCHAR uni2133 +ENCODING 8499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C4 +6C +54 +44 +48 +48 +84 +ENDCHAR +STARTCHAR uni2134 +ENCODING 8500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +30 +48 +48 +90 +90 +60 +ENDCHAR +STARTCHAR aleph +ENCODING 8501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +90 +48 +68 +90 +C8 +ENDCHAR +STARTCHAR uni2136 +ENCODING 8502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +10 +10 +10 +F8 +ENDCHAR +STARTCHAR uni2137 +ENCODING 8503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +80 +40 +20 +50 +90 +ENDCHAR +STARTCHAR uni2138 +ENCODING 8504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2139 +ENCODING 8505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +60 +00 +E0 +60 +60 +E0 +ENDCHAR +STARTCHAR uni213A +ENCODING 8506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +04 +7C +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni213B +ENCODING 8507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +E0 +80 +C0 +80 +70 +50 +70 +50 +14 +08 +14 +ENDCHAR +STARTCHAR uni213C +ENCODING 8508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +FC +68 +68 +68 +68 +ENDCHAR +STARTCHAR uni213D +ENCODING 8509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +88 +48 +A8 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni213E +ENCODING 8510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A8 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni213F +ENCODING 8511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2140 +ENCODING 8512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A0 +50 +50 +28 +50 +50 +A0 +F8 +ENDCHAR +STARTCHAR uni2141 +ENCODING 8513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +C8 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni2142 +ENCODING 8514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +08 +08 +08 +08 +ENDCHAR +STARTCHAR uni2143 +ENCODING 8515 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR uni2144 +ENCODING 8516 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni2145 +ENCODING 8517 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +78 +54 +54 +54 +A8 +A8 +A8 +F0 +ENDCHAR +STARTCHAR uni2146 +ENCODING 8518 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +1C +14 +14 +68 +A8 +A8 +78 +ENDCHAR +STARTCHAR uni2147 +ENCODING 8519 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +38 +54 +54 +B8 +A0 +78 +ENDCHAR +STARTCHAR uni2148 +ENCODING 8520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +00 +F0 +50 +50 +A0 +A0 +ENDCHAR +STARTCHAR uni2149 +ENCODING 8521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +00 +78 +28 +28 +50 +50 +50 +E0 +ENDCHAR +STARTCHAR uni214A +ENCODING 8522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +F0 +A8 +A8 +B0 +20 +38 +ENDCHAR +STARTCHAR uni214B +ENCODING 8523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +B0 +48 +E8 +10 +28 +28 +10 +ENDCHAR +STARTCHAR uni214C +ENCODING 8524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +B8 +A4 +F4 +AC +F8 +A8 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni214D +ENCODING 8525 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +A8 +E8 +B0 +10 +20 +48 +50 +88 +90 +ENDCHAR +STARTCHAR uni214E +ENCODING 8526 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +10 +10 +10 +70 +10 +F0 +ENDCHAR +STARTCHAR uni214F +ENCODING 8527 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +70 +70 +70 +A8 +ENDCHAR +STARTCHAR onethird +ENCODING 8531 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +48 +48 +50 +10 +38 +44 +48 +84 +98 +ENDCHAR +STARTCHAR twothirds +ENCODING 8532 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +A8 +48 +F0 +10 +38 +44 +48 +84 +98 +ENDCHAR +STARTCHAR uni2155 +ENCODING 8533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +48 +48 +50 +10 +20 +58 +50 +88 +90 +ENDCHAR +STARTCHAR uni2156 +ENCODING 8534 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +A8 +48 +F0 +10 +20 +58 +50 +88 +90 +ENDCHAR +STARTCHAR uni2157 +ENCODING 8535 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +28 +48 +30 +D0 +20 +58 +50 +88 +90 +ENDCHAR +STARTCHAR uni2158 +ENCODING 8536 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +80 +C8 +E8 +50 +10 +20 +58 +50 +88 +90 +ENDCHAR +STARTCHAR uni2159 +ENCODING 8537 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +48 +48 +50 +10 +28 +50 +58 +94 +88 +ENDCHAR +STARTCHAR uni215A +ENCODING 8538 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +C0 +88 +48 +90 +10 +28 +50 +58 +94 +88 +ENDCHAR +STARTCHAR oneeighth +ENCODING 8539 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +40 +48 +48 +50 +10 +28 +54 +48 +94 +88 +ENDCHAR +STARTCHAR threeeighths +ENCODING 8540 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +C0 +28 +48 +30 +D0 +28 +54 +48 +94 +88 +ENDCHAR +STARTCHAR fiveeighths +ENCODING 8541 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +C0 +88 +48 +90 +10 +28 +54 +48 +94 +88 +ENDCHAR +STARTCHAR seveneighths +ENCODING 8542 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +E0 +28 +48 +50 +10 +28 +54 +48 +94 +88 +ENDCHAR +STARTCHAR uni215F +ENCODING 8543 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +40 +48 +48 +50 +10 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2160 +ENCODING 8544 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2161 +ENCODING 8545 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2162 +ENCODING 8546 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2163 +ENCODING 8547 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +90 +90 +90 +ENDCHAR +STARTCHAR uni2164 +ENCODING 8548 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +88 +88 +50 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2165 +ENCODING 8549 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +48 +48 +48 +ENDCHAR +STARTCHAR uni2166 +ENCODING 8550 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +D4 +D4 +D4 +D4 +54 +54 +54 +ENDCHAR +STARTCHAR uni2167 +ENCODING 8551 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +DC +DC +DC +DC +5C +5C +5C +ENDCHAR +STARTCHAR uni2168 +ENCODING 8552 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +90 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2169 +ENCODING 8553 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR uni216A +ENCODING 8554 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +48 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni216B +ENCODING 8555 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +AC +AC +AC +4C +AC +AC +AC +ENDCHAR +STARTCHAR uni216C +ENCODING 8556 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni216D +ENCODING 8557 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +80 +80 +80 +88 +70 +ENDCHAR +STARTCHAR uni216E +ENCODING 8558 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +48 +48 +48 +48 +48 +F0 +ENDCHAR +STARTCHAR uni216F +ENCODING 8559 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +D8 +A8 +88 +88 +88 +ENDCHAR +STARTCHAR uni2170 +ENCODING 8560 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2171 +ENCODING 8561 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +00 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2172 +ENCODING 8562 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +00 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2173 +ENCODING 8563 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +00 +A8 +A8 +A8 +90 +90 +ENDCHAR +STARTCHAR uni2174 +ENCODING 8564 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni2175 +ENCODING 8565 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +00 +A8 +A8 +A8 +48 +48 +ENDCHAR +STARTCHAR uni2176 +ENCODING 8566 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +00 +D4 +D4 +D4 +D4 +54 +ENDCHAR +STARTCHAR uni2177 +ENCODING 8567 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +1C +00 +DC +DC +DC +DC +5C +ENDCHAR +STARTCHAR uni2178 +ENCODING 8568 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +00 +A8 +A8 +90 +A8 +A8 +ENDCHAR +STARTCHAR uni2179 +ENCODING 8569 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni217A +ENCODING 8570 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +00 +A8 +A8 +48 +A8 +A8 +ENDCHAR +STARTCHAR uni217B +ENCODING 8571 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +00 +AC +AC +4C +AC +AC +ENDCHAR +STARTCHAR uni217C +ENCODING 8572 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni217D +ENCODING 8573 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +80 +88 +70 +ENDCHAR +STARTCHAR uni217E +ENCODING 8574 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +78 +88 +88 +78 +ENDCHAR +STARTCHAR uni217F +ENCODING 8575 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D0 +A8 +A8 +A8 +88 +ENDCHAR +STARTCHAR uni2180 +ENCODING 8576 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2181 +ENCODING 8577 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +88 +E8 +A8 +E8 +88 +F0 +ENDCHAR +STARTCHAR uni2182 +ENCODING 8578 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +F8 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni2183 +ENCODING 8579 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +08 +08 +08 +88 +70 +ENDCHAR +STARTCHAR uni2184 +ENCODING 8580 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +60 +90 +10 +90 +60 +ENDCHAR +STARTCHAR uni2185 +ENCODING 8581 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +70 +88 +80 +80 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni2186 +ENCODING 8582 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2187 +ENCODING 8583 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +F8 +FC +FC +9C +FC +FC +F8 +ENDCHAR +STARTCHAR uni2188 +ENCODING 8584 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +F8 +A8 +F8 +F8 +70 +ENDCHAR +STARTCHAR arrowleft +ENCODING 8592 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +40 +F8 +40 +20 +ENDCHAR +STARTCHAR arrowup +ENCODING 8593 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR arrowright +ENCODING 8594 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +10 +F8 +10 +20 +ENDCHAR +STARTCHAR arrowdown +ENCODING 8595 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR arrowboth +ENCODING 8596 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +50 +F8 +50 +ENDCHAR +STARTCHAR arrowupdn +ENCODING 8597 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2196 +ENCODING 8598 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +C0 +F0 +E0 +A0 +20 +10 +10 +08 +08 +ENDCHAR +STARTCHAR uni2197 +ENCODING 8599 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +18 +78 +38 +28 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2198 +ENCODING 8600 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +40 +40 +20 +28 +38 +78 +18 +ENDCHAR +STARTCHAR uni2199 +ENCODING 8601 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +08 +10 +10 +20 +A0 +E0 +F0 +C0 +ENDCHAR +STARTCHAR uni219A +ENCODING 8602 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +48 +FC +50 +30 +ENDCHAR +STARTCHAR uni219B +ENCODING 8603 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +28 +FC +48 +50 +ENDCHAR +STARTCHAR uni219C +ENCODING 8604 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +C0 +D8 +64 +ENDCHAR +STARTCHAR uni219D +ENCODING 8605 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +0C +6C +98 +ENDCHAR +STARTCHAR uni219E +ENCODING 8606 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +50 +FC +50 +28 +ENDCHAR +STARTCHAR uni219F +ENCODING 8607 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +A8 +70 +A8 +20 +20 +20 +ENDCHAR +STARTCHAR uni21A0 +ENCODING 8608 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +50 +28 +FC +28 +50 +ENDCHAR +STARTCHAR uni21A1 +ENCODING 8609 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +A8 +70 +A8 +70 +20 +ENDCHAR +STARTCHAR uni21A2 +ENCODING 8610 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +24 +48 +F0 +48 +24 +ENDCHAR +STARTCHAR uni21A3 +ENCODING 8611 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +90 +48 +3C +48 +90 +ENDCHAR +STARTCHAR uni21A4 +ENCODING 8612 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +28 +48 +F8 +48 +28 +ENDCHAR +STARTCHAR uni21A5 +ENCODING 8613 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni21A6 +ENCODING 8614 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +A0 +90 +F8 +90 +A0 +ENDCHAR +STARTCHAR uni21A7 +ENCODING 8615 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR arrowupdnbse +ENCODING 8616 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +A8 +70 +F8 +ENDCHAR +STARTCHAR uni21A9 +ENCODING 8617 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +44 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21AA +ENCODING 8618 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +50 +88 +7C +08 +10 +ENDCHAR +STARTCHAR uni21AB +ENCODING 8619 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +4C +FC +48 +28 +ENDCHAR +STARTCHAR uni21AC +ENCODING 8620 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +C8 +FC +48 +50 +ENDCHAR +STARTCHAR uni21AD +ENCODING 8621 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +48 +DC +EC +48 +ENDCHAR +STARTCHAR uni21AE +ENCODING 8622 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +08 +58 +FC +68 +40 +ENDCHAR +STARTCHAR uni21AF +ENCODING 8623 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +90 +B0 +D0 +90 +38 +10 +ENDCHAR +STARTCHAR uni21B0 +ENCODING 8624 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +40 +F8 +48 +28 +08 +08 +08 +ENDCHAR +STARTCHAR uni21B1 +ENCODING 8625 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +10 +F8 +90 +A0 +80 +80 +80 +ENDCHAR +STARTCHAR uni21B2 +ENCODING 8626 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +08 +08 +28 +48 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21B3 +ENCODING 8627 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +A0 +90 +F8 +10 +20 +ENDCHAR +STARTCHAR uni21B4 +ENCODING 8628 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +F0 +10 +38 +10 +ENDCHAR +STARTCHAR carriagereturn +ENCODING 8629 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +08 +48 +F8 +40 +ENDCHAR +STARTCHAR uni21B6 +ENCODING 8630 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +30 +48 +48 +E8 +48 +ENDCHAR +STARTCHAR uni21B7 +ENCODING 8631 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +60 +90 +90 +B8 +10 +ENDCHAR +STARTCHAR uni21B8 +ENCODING 8632 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +80 +E0 +C0 +A0 +20 +10 +10 +ENDCHAR +STARTCHAR uni21B9 +ENCODING 8633 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A0 +C0 +F8 +C0 +A8 +18 +F8 +18 +28 +ENDCHAR +STARTCHAR uni21BA +ENCODING 8634 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +30 +A8 +88 +88 +70 +ENDCHAR +STARTCHAR uni21BB +ENCODING 8635 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +E0 +60 +A8 +88 +88 +70 +ENDCHAR +STARTCHAR uni21BC +ENCODING 8636 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +20 +40 +F8 +ENDCHAR +STARTCHAR uni21BD +ENCODING 8637 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +40 +20 +ENDCHAR +STARTCHAR uni21BE +ENCODING 8638 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 2 0 +BITMAP +80 +C0 +A0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni21BF +ENCODING 8639 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 0 +BITMAP +20 +60 +A0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni21C0 +ENCODING 8640 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +20 +10 +F8 +ENDCHAR +STARTCHAR uni21C1 +ENCODING 8641 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +10 +20 +ENDCHAR +STARTCHAR uni21C2 +ENCODING 8642 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 2 0 +BITMAP +80 +80 +80 +80 +80 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni21C3 +ENCODING 8643 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 0 +BITMAP +20 +20 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni21C4 +ENCODING 8644 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +10 +F8 +10 +20 +40 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21C5 +ENCODING 8645 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +F0 +50 +50 +50 +50 +78 +50 +ENDCHAR +STARTCHAR uni21C6 +ENCODING 8646 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +40 +F8 +40 +20 +10 +F8 +10 +20 +ENDCHAR +STARTCHAR uni21C7 +ENCODING 8647 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +40 +F8 +40 +20 +40 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21C8 +ENCODING 8648 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +F8 +50 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni21C9 +ENCODING 8649 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +10 +F8 +10 +20 +10 +F8 +10 +20 +ENDCHAR +STARTCHAR uni21CA +ENCODING 8650 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +50 +50 +50 +50 +50 +F8 +50 +ENDCHAR +STARTCHAR uni21CB +ENCODING 8651 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +40 +F8 +00 +F8 +10 +20 +ENDCHAR +STARTCHAR uni21CC +ENCODING 8652 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +10 +F8 +00 +F8 +40 +20 +ENDCHAR +STARTCHAR uni21CD +ENCODING 8653 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +28 +7C +90 +7C +20 +50 +ENDCHAR +STARTCHAR uni21CE +ENCODING 8654 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +08 +58 +FC +A4 +FC +68 +40 +ENDCHAR +STARTCHAR uni21CF +ENCODING 8655 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +50 +F8 +24 +F8 +10 +28 +ENDCHAR +STARTCHAR arrowdblleft +ENCODING 8656 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +78 +80 +78 +20 +ENDCHAR +STARTCHAR arrowdblup +ENCODING 8657 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +D8 +50 +50 +50 +50 +ENDCHAR +STARTCHAR arrowdblright +ENCODING 8658 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +F0 +08 +F0 +20 +ENDCHAR +STARTCHAR arrowdbldown +ENCODING 8659 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +50 +50 +D8 +50 +20 +ENDCHAR +STARTCHAR arrowdblboth +ENCODING 8660 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +48 +FC +84 +FC +48 +ENDCHAR +STARTCHAR uni21D5 +ENCODING 8661 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +D8 +50 +50 +D8 +50 +20 +ENDCHAR +STARTCHAR uni21D6 +ENCODING 8662 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +F8 +A0 +D0 +A8 +94 +08 +ENDCHAR +STARTCHAR uni21D7 +ENCODING 8663 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +7C +14 +2C +54 +A4 +40 +ENDCHAR +STARTCHAR uni21D8 +ENCODING 8664 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +A4 +54 +2C +14 +7C +ENDCHAR +STARTCHAR uni21D9 +ENCODING 8665 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +08 +94 +A8 +D0 +A0 +F8 +ENDCHAR +STARTCHAR uni21DA +ENCODING 8666 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +3C +40 +FC +40 +3C +10 +ENDCHAR +STARTCHAR uni21DB +ENCODING 8667 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +F0 +08 +FC +08 +F0 +20 +ENDCHAR +STARTCHAR uni21DC +ENCODING 8668 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +40 +E8 +D4 +40 +ENDCHAR +STARTCHAR uni21DD +ENCODING 8669 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +08 +5C +AC +08 +ENDCHAR +STARTCHAR uni21DE +ENCODING 8670 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +A8 +20 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni21DF +ENCODING 8671 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +70 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni21E0 +ENCODING 8672 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +D4 +40 +20 +ENDCHAR +STARTCHAR uni21E1 +ENCODING 8673 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +88 +20 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni21E2 +ENCODING 8674 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +08 +AC +08 +10 +ENDCHAR +STARTCHAR uni21E3 +ENCODING 8675 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +20 +00 +20 +88 +70 +20 +ENDCHAR +STARTCHAR uni21E4 +ENCODING 8676 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +A0 +C0 +F8 +C0 +A0 +ENDCHAR +STARTCHAR uni21E5 +ENCODING 8677 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +28 +18 +F8 +18 +28 +ENDCHAR +STARTCHAR uni21E6 +ENCODING 8678 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +78 +88 +78 +20 +ENDCHAR +STARTCHAR uni21E7 +ENCODING 8679 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +D8 +50 +50 +50 +50 +70 +ENDCHAR +STARTCHAR uni21E8 +ENCODING 8680 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +F0 +88 +F0 +20 +ENDCHAR +STARTCHAR uni21E9 +ENCODING 8681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +50 +50 +50 +50 +D8 +50 +20 +ENDCHAR +STARTCHAR uni21EA +ENCODING 8682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +D8 +50 +70 +00 +70 +50 +70 +ENDCHAR +STARTCHAR uni21EB +ENCODING 8683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +D8 +50 +50 +50 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni21EC +ENCODING 8684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +F8 +88 +50 +50 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni21ED +ENCODING 8685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +F8 +70 +70 +70 +F8 +A8 +F8 +ENDCHAR +STARTCHAR uni21EE +ENCODING 8686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +D8 +50 +D8 +50 +50 +50 +70 +ENDCHAR +STARTCHAR uni21EF +ENCODING 8687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +D8 +50 +D8 +50 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni21F0 +ENCODING 8688 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +A0 +F0 +88 +F0 +A0 +ENDCHAR +STARTCHAR uni21F1 +ENCODING 8689 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +80 +B0 +A0 +90 +10 +08 +08 +ENDCHAR +STARTCHAR uni21F2 +ENCODING 8690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +40 +48 +28 +68 +08 +F8 +ENDCHAR +STARTCHAR uni21F3 +ENCODING 8691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +D8 +50 +50 +D8 +50 +20 +ENDCHAR +STARTCHAR uni21F4 +ENCODING 8692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +68 +FC +68 +10 +ENDCHAR +STARTCHAR uni21F5 +ENCODING 8693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +78 +50 +50 +50 +50 +F0 +50 +ENDCHAR +STARTCHAR uni21F6 +ENCODING 8694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +10 +F8 +10 +10 +F8 +10 +10 +F8 +10 +ENDCHAR +STARTCHAR uni21F7 +ENCODING 8695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +48 +FC +48 +28 +ENDCHAR +STARTCHAR uni21F8 +ENCODING 8696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +50 +48 +FC +48 +50 +ENDCHAR +STARTCHAR uni21F9 +ENCODING 8697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +78 +FC +78 +30 +ENDCHAR +STARTCHAR uni21FA +ENCODING 8698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +38 +58 +FC +58 +38 +ENDCHAR +STARTCHAR uni21FB +ENCODING 8699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +70 +68 +FC +68 +70 +ENDCHAR +STARTCHAR uni21FC +ENCODING 8700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +78 +FC +78 +30 +ENDCHAR +STARTCHAR uni21FD +ENCODING 8701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +60 +B8 +60 +20 +ENDCHAR +STARTCHAR uni21FE +ENCODING 8702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +30 +E8 +30 +20 +ENDCHAR +STARTCHAR uni21FF +ENCODING 8703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +78 +B4 +78 +30 +ENDCHAR +STARTCHAR universal +ENCODING 8704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +F8 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni2201 +ENCODING 8705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR partialdiff +ENCODING 8706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +60 +90 +10 +70 +90 +90 +60 +ENDCHAR +STARTCHAR existential +ENCODING 8707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +78 +08 +08 +F8 +ENDCHAR +STARTCHAR uni2204 +ENCODING 8708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +10 +10 +F8 +18 +28 +78 +28 +48 +F8 +40 +40 +ENDCHAR +STARTCHAR emptyset +ENCODING 8709 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +10 +70 +98 +A8 +C8 +70 +40 +40 +ENDCHAR +STARTCHAR Delta +ENCODING 8710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +F8 +ENDCHAR +STARTCHAR gradient +ENCODING 8711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR element +ENCODING 8712 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +80 +F0 +80 +40 +38 +ENDCHAR +STARTCHAR notelement +ENCODING 8713 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +20 +20 +38 +60 +A0 +F0 +A0 +60 +38 +20 +20 +ENDCHAR +STARTCHAR uni220A +ENCODING 8714 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 1 +BITMAP +70 +80 +E0 +80 +70 +ENDCHAR +STARTCHAR suchthat +ENCODING 8715 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +10 +08 +78 +08 +10 +E0 +ENDCHAR +STARTCHAR uni220C +ENCODING 8716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +20 +20 +E0 +30 +28 +78 +28 +30 +E0 +20 +20 +ENDCHAR +STARTCHAR uni220D +ENCODING 8717 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 1 +BITMAP +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR uni220E +ENCODING 8718 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR product +ENCODING 8719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +FC +48 +48 +48 +48 +48 +48 +48 +EC +ENDCHAR +STARTCHAR uni2210 +ENCODING 8720 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +EC +48 +48 +48 +48 +48 +48 +48 +FC +ENDCHAR +STARTCHAR summation +ENCODING 8721 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F8 +80 +40 +20 +10 +20 +40 +80 +F8 +ENDCHAR +STARTCHAR minus +ENCODING 8722 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +F8 +ENDCHAR +STARTCHAR uni2213 +ENCODING 8723 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2214 +ENCODING 8724 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR fraction +ENCODING 8725 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +10 +20 +40 +40 +80 +ENDCHAR +STARTCHAR uni2216 +ENCODING 8726 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +40 +20 +10 +10 +08 +ENDCHAR +STARTCHAR asteriskmath +ENCODING 8727 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +A8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2218 +ENCODING 8728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 2 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR periodcentered +ENCODING 8729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 3 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR radical +ENCODING 8730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +0C +08 +08 +08 +08 +10 +D0 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni221B +ENCODING 8731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +04 +C4 +24 +48 +28 +C8 +10 +90 +90 +60 +60 +20 +ENDCHAR +STARTCHAR uni221C +ENCODING 8732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +04 +84 +A4 +E8 +28 +28 +10 +90 +90 +60 +60 +20 +ENDCHAR +STARTCHAR proportional +ENCODING 8733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +58 +A0 +A0 +58 +ENDCHAR +STARTCHAR infinity +ENCODING 8734 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +50 +A8 +A8 +50 +ENDCHAR +STARTCHAR orthogonal +ENCODING 8735 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR angle +ENCODING 8736 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +10 +20 +40 +F8 +ENDCHAR +STARTCHAR uni2221 +ENCODING 8737 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +88 +50 +20 +50 +F8 +10 +10 +ENDCHAR +STARTCHAR uni2222 +ENCODING 8738 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +10 +30 +48 +88 +48 +30 +10 +08 +ENDCHAR +STARTCHAR uni2223 +ENCODING 8739 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 9 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2224 +ENCODING 8740 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +28 +30 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR uni2225 +ENCODING 8741 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2226 +ENCODING 8742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +50 +50 +58 +50 +70 +50 +D0 +50 +50 +ENDCHAR +STARTCHAR logicaland +ENCODING 8743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +20 +50 +50 +88 +ENDCHAR +STARTCHAR logicalor +ENCODING 8744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR intersection +ENCODING 8745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +88 +ENDCHAR +STARTCHAR union +ENCODING 8746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR integral +ENCODING 8747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +10 +28 +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni222C +ENCODING 8748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +24 +48 +48 +48 +48 +48 +48 +48 +48 +48 +90 +ENDCHAR +STARTCHAR uni222D +ENCODING 8749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +54 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +D0 +ENDCHAR +STARTCHAR uni222E +ENCODING 8750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +10 +28 +20 +70 +A8 +A8 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR uni222F +ENCODING 8751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +24 +48 +48 +78 +CC +CC +CC +78 +48 +48 +90 +ENDCHAR +STARTCHAR uni2230 +ENCODING 8752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +54 +A8 +A8 +F8 +AC +AC +AC +F8 +A8 +A8 +D0 +ENDCHAR +STARTCHAR uni2231 +ENCODING 8753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +74 +AC +3C +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2232 +ENCODING 8754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +74 +AC +BC +A8 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2233 +ENCODING 8755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +70 +A8 +BC +AC +74 +20 +A0 +40 +ENDCHAR +STARTCHAR therefore +ENCODING 8756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +20 +00 +00 +88 +ENDCHAR +STARTCHAR uni2235 +ENCODING 8757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +88 +00 +00 +20 +ENDCHAR +STARTCHAR uni2236 +ENCODING 8758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 4 2 1 +BITMAP +80 +00 +00 +80 +ENDCHAR +STARTCHAR uni2237 +ENCODING 8759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +90 +00 +00 +90 +ENDCHAR +STARTCHAR uni2238 +ENCODING 8760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +20 +00 +F8 +ENDCHAR +STARTCHAR uni2239 +ENCODING 8761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +00 +E0 +00 +08 +ENDCHAR +STARTCHAR uni223A +ENCODING 8762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +00 +F8 +00 +88 +ENDCHAR +STARTCHAR uni223B +ENCODING 8763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +00 +68 +B0 +00 +40 +ENDCHAR +STARTCHAR similar +ENCODING 8764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +68 +B0 +ENDCHAR +STARTCHAR uni223D +ENCODING 8765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +B0 +68 +ENDCHAR +STARTCHAR uni223E +ENCODING 8766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 2 +BITMAP +48 +A4 +94 +48 +ENDCHAR +STARTCHAR uni223F +ENCODING 8767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +A0 +A0 +A8 +28 +28 +10 +ENDCHAR +STARTCHAR uni2240 +ENCODING 8768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +40 +20 +20 +20 +40 +80 +80 +80 +40 +ENDCHAR +STARTCHAR uni2241 +ENCODING 8769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni2242 +ENCODING 8770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +F8 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2243 +ENCODING 8771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +68 +B0 +00 +F8 +ENDCHAR +STARTCHAR uni2244 +ENCODING 8772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +68 +B0 +20 +F8 +20 +ENDCHAR +STARTCHAR congruent +ENCODING 8773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +68 +B0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2246 +ENCODING 8774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +68 +B0 +00 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2247 +ENCODING 8775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +68 +B0 +20 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR approxequal +ENCODING 8776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2249 +ENCODING 8777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +68 +B0 +20 +68 +B0 +20 +ENDCHAR +STARTCHAR uni224A +ENCODING 8778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +68 +B0 +00 +68 +B0 +00 +F8 +ENDCHAR +STARTCHAR uni224B +ENCODING 8779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni224C +ENCODING 8780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni224D +ENCODING 8781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +70 +00 +70 +88 +ENDCHAR +STARTCHAR uni224E +ENCODING 8782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +D8 +00 +D8 +20 +ENDCHAR +STARTCHAR uni224F +ENCODING 8783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +20 +D8 +00 +F8 +ENDCHAR +STARTCHAR uni2250 +ENCODING 8784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2251 +ENCODING 8785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +F8 +00 +F8 +00 +20 +ENDCHAR +STARTCHAR uni2252 +ENCODING 8786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +00 +F8 +00 +F8 +00 +08 +ENDCHAR +STARTCHAR uni2253 +ENCODING 8787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +00 +F8 +00 +F8 +00 +80 +ENDCHAR +STARTCHAR uni2254 +ENCODING 8788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +B8 +00 +B8 +ENDCHAR +STARTCHAR uni2255 +ENCODING 8789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +E8 +00 +E8 +ENDCHAR +STARTCHAR uni2256 +ENCODING 8790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +F8 +50 +F8 +ENDCHAR +STARTCHAR uni2257 +ENCODING 8791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +20 +50 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2258 +ENCODING 8792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +70 +88 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2259 +ENCODING 8793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +50 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225A +ENCODING 8794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +50 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225B +ENCODING 8795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +70 +F8 +70 +A8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225C +ENCODING 8796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +88 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225D +ENCODING 8797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 1 +BITMAP +4C +F8 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225E +ENCODING 8798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +D0 +A8 +A8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225F +ENCODING 8799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +10 +20 +00 +20 +F8 +00 +F8 +ENDCHAR +STARTCHAR notequal +ENCODING 8800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +10 +F8 +20 +F8 +40 +40 +ENDCHAR +STARTCHAR equivalence +ENCODING 8801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2262 +ENCODING 8802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +F8 +20 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2263 +ENCODING 8803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR lessequal +ENCODING 8804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +18 +60 +80 +60 +18 +00 +F8 +ENDCHAR +STARTCHAR greaterequal +ENCODING 8805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +30 +08 +30 +C0 +00 +F8 +ENDCHAR +STARTCHAR uni2266 +ENCODING 8806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +30 +C0 +30 +08 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2267 +ENCODING 8807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +60 +18 +60 +80 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2268 +ENCODING 8808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +08 +30 +C0 +30 +18 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2269 +ENCODING 8809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +80 +60 +18 +60 +90 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni226A +ENCODING 8810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +28 +50 +A0 +50 +28 +ENDCHAR +STARTCHAR uni226B +ENCODING 8811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +A0 +50 +28 +50 +A0 +ENDCHAR +STARTCHAR uni226C +ENCODING 8812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +A0 +40 +A0 +A0 +A0 +A0 +40 +A0 +ENDCHAR +STARTCHAR uni226D +ENCODING 8813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +20 +70 +A8 +20 +ENDCHAR +STARTCHAR uni226E +ENCODING 8814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +28 +30 +20 +60 +A0 +60 +20 +30 +28 +ENDCHAR +STARTCHAR uni226F +ENCODING 8815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A0 +60 +20 +30 +28 +30 +20 +60 +A0 +ENDCHAR +STARTCHAR uni2270 +ENCODING 8816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +38 +60 +A0 +60 +38 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2271 +ENCODING 8817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +E0 +30 +28 +30 +E0 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2272 +ENCODING 8818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +60 +80 +60 +18 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2273 +ENCODING 8819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C0 +30 +08 +30 +C0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2274 +ENCODING 8820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +38 +60 +A0 +60 +38 +20 +68 +B0 +20 +ENDCHAR +STARTCHAR uni2275 +ENCODING 8821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +E0 +30 +28 +30 +E0 +20 +68 +B0 +20 +ENDCHAR +STARTCHAR uni2276 +ENCODING 8822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +18 +60 +80 +60 +18 +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR uni2277 +ENCODING 8823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +C0 +30 +08 +30 +C0 +18 +60 +80 +60 +18 +ENDCHAR +STARTCHAR uni2278 +ENCODING 8824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +18 +70 +90 +60 +38 +E0 +30 +48 +70 +C0 +40 +ENDCHAR +STARTCHAR uni2279 +ENCODING 8825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +D0 +30 +18 +30 +E0 +38 +60 +C0 +60 +58 +40 +ENDCHAR +STARTCHAR uni227A +ENCODING 8826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +10 +E0 +10 +08 +ENDCHAR +STARTCHAR uni227B +ENCODING 8827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +80 +40 +38 +40 +80 +ENDCHAR +STARTCHAR uni227C +ENCODING 8828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +E0 +10 +E8 +10 +08 +ENDCHAR +STARTCHAR uni227D +ENCODING 8829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +38 +40 +B8 +40 +80 +ENDCHAR +STARTCHAR uni227E +ENCODING 8830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +10 +E0 +10 +08 +00 +68 +B0 +ENDCHAR +STARTCHAR uni227F +ENCODING 8831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +40 +38 +40 +80 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2280 +ENCODING 8832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +28 +30 +E0 +30 +28 +20 +ENDCHAR +STARTCHAR uni2281 +ENCODING 8833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A0 +60 +38 +60 +A0 +20 +ENDCHAR +STARTCHAR propersubset +ENCODING 8834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +78 +80 +80 +80 +78 +ENDCHAR +STARTCHAR propersuperset +ENCODING 8835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F0 +08 +08 +08 +F0 +ENDCHAR +STARTCHAR notsubset +ENCODING 8836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +78 +A0 +A0 +A0 +78 +40 +ENDCHAR +STARTCHAR uni2285 +ENCODING 8837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +F0 +28 +28 +28 +F0 +40 +ENDCHAR +STARTCHAR reflexsubset +ENCODING 8838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +80 +80 +80 +78 +00 +F8 +ENDCHAR +STARTCHAR reflexsuperset +ENCODING 8839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +08 +08 +08 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni2288 +ENCODING 8840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +78 +A0 +A0 +A0 +78 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2289 +ENCODING 8841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +F0 +28 +28 +28 +F0 +20 +F8 +20 +ENDCHAR +STARTCHAR uni228A +ENCODING 8842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +78 +80 +80 +80 +78 +10 +F8 +40 +ENDCHAR +STARTCHAR uni228B +ENCODING 8843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +F0 +08 +08 +08 +F0 +10 +F8 +40 +ENDCHAR +STARTCHAR uni228C +ENCODING 8844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +A8 +E8 +F8 +E8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni228D +ENCODING 8845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +A8 +88 +88 +70 +ENDCHAR +STARTCHAR uni228E +ENCODING 8846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +A8 +F8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni228F +ENCODING 8847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni2290 +ENCODING 8848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR uni2291 +ENCODING 8849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +80 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2292 +ENCODING 8850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +08 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2293 +ENCODING 8851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni2294 +ENCODING 8852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR circleplus +ENCODING 8853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni2296 +ENCODING 8854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR circlemultiply +ENCODING 8855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +D8 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni2298 +ENCODING 8856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +98 +A8 +C8 +70 +ENDCHAR +STARTCHAR uni2299 +ENCODING 8857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni229A +ENCODING 8858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni229B +ENCODING 8859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +D8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni229C +ENCODING 8860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +F8 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni229D +ENCODING 8861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni229E +ENCODING 8862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +A8 +F8 +A8 +F8 +ENDCHAR +STARTCHAR uni229F +ENCODING 8863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +88 +F8 +88 +F8 +ENDCHAR +STARTCHAR uni22A0 +ENCODING 8864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +D8 +A8 +D8 +F8 +ENDCHAR +STARTCHAR uni22A1 +ENCODING 8865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni22A2 +ENCODING 8866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +80 +F8 +80 +80 +80 +ENDCHAR +STARTCHAR uni22A3 +ENCODING 8867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +08 +F8 +08 +08 +08 +ENDCHAR +STARTCHAR uni22A4 +ENCODING 8868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR perpendicular +ENCODING 8869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni22A6 +ENCODING 8870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +80 +80 +80 +E0 +80 +80 +80 +ENDCHAR +STARTCHAR uni22A7 +ENCODING 8871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +80 +80 +E0 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni22A8 +ENCODING 8872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +F8 +80 +F8 +80 +80 +ENDCHAR +STARTCHAR uni22A9 +ENCODING 8873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +A0 +B8 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni22AA +ENCODING 8874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A8 +A8 +A8 +AC +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni22AB +ENCODING 8875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +A0 +BC +A0 +BC +A0 +A0 +ENDCHAR +STARTCHAR uni22AC +ENCODING 8876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +90 +90 +F8 +A0 +A0 +80 +ENDCHAR +STARTCHAR uni22AD +ENCODING 8877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +90 +F8 +A0 +F8 +C0 +80 +ENDCHAR +STARTCHAR uni22AE +ENCODING 8878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +A8 +A8 +BC +B0 +B0 +A0 +ENDCHAR +STARTCHAR uni22AF +ENCODING 8879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A4 +A4 +BC +A8 +BC +B0 +B0 +ENDCHAR +STARTCHAR uni22B0 +ENCODING 8880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +08 +10 +E0 +10 +08 +10 +ENDCHAR +STARTCHAR uni22B1 +ENCODING 8881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +80 +40 +38 +40 +80 +40 +ENDCHAR +STARTCHAR uni22B2 +ENCODING 8882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +18 +68 +88 +68 +18 +ENDCHAR +STARTCHAR uni22B3 +ENCODING 8883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +C0 +B0 +88 +B0 +C0 +ENDCHAR +STARTCHAR uni22B4 +ENCODING 8884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +18 +68 +88 +68 +18 +00 +F8 +ENDCHAR +STARTCHAR uni22B5 +ENCODING 8885 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +B0 +88 +B0 +C0 +00 +F8 +ENDCHAR +STARTCHAR uni22B6 +ENCODING 8886 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +50 +B8 +50 +ENDCHAR +STARTCHAR uni22B7 +ENCODING 8887 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +50 +E8 +50 +ENDCHAR +STARTCHAR uni22B8 +ENCODING 8888 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +10 +E8 +10 +ENDCHAR +STARTCHAR uni22B9 +ENCODING 8889 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +D8 +20 +20 +ENDCHAR +STARTCHAR uni22BA +ENCODING 8890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni22BB +ENCODING 8891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +50 +20 +00 +F8 +ENDCHAR +STARTCHAR uni22BC +ENCODING 8892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +00 +20 +50 +50 +88 +ENDCHAR +STARTCHAR uni22BD +ENCODING 8893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +00 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni22BE +ENCODING 8894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +80 +C0 +A0 +F8 +ENDCHAR +STARTCHAR uni22BF +ENCODING 8895 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +18 +28 +48 +F8 +ENDCHAR +STARTCHAR uni22C0 +ENCODING 8896 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +50 +50 +50 +88 +88 +88 +ENDCHAR +STARTCHAR uni22C1 +ENCODING 8897 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +88 +88 +88 +50 +50 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni22C2 +ENCODING 8898 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +88 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni22C3 +ENCODING 8899 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +88 +88 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni22C4 +ENCODING 8900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +88 +50 +20 +20 +ENDCHAR +STARTCHAR dotmath +ENCODING 8901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 2 3 +BITMAP +80 +ENDCHAR +STARTCHAR uni22C6 +ENCODING 8902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni22C7 +ENCODING 8903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +88 +50 +F8 +50 +88 +20 +ENDCHAR +STARTCHAR uni22C8 +ENCODING 8904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +D8 +A8 +D8 +88 +ENDCHAR +STARTCHAR uni22C9 +ENCODING 8905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +D0 +A0 +D0 +88 +ENDCHAR +STARTCHAR uni22CA +ENCODING 8906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +58 +28 +58 +88 +ENDCHAR +STARTCHAR uni22CB +ENCODING 8907 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +80 +40 +20 +50 +88 +ENDCHAR +STARTCHAR uni22CC +ENCODING 8908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +10 +20 +50 +88 +ENDCHAR +STARTCHAR uni22CD +ENCODING 8909 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +B0 +68 +00 +F8 +ENDCHAR +STARTCHAR uni22CE +ENCODING 8910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni22CF +ENCODING 8911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +50 +50 +88 +ENDCHAR +STARTCHAR uni22D0 +ENCODING 8912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +98 +A0 +98 +40 +38 +ENDCHAR +STARTCHAR uni22D1 +ENCODING 8913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +10 +C8 +28 +C8 +10 +E0 +ENDCHAR +STARTCHAR uni22D2 +ENCODING 8914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni22D3 +ENCODING 8915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni22D4 +ENCODING 8916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni22D5 +ENCODING 8917 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +50 +F8 +50 +50 +F8 +50 +50 +ENDCHAR +STARTCHAR uni22D6 +ENCODING 8918 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +18 +60 +88 +60 +18 +ENDCHAR +STARTCHAR uni22D7 +ENCODING 8919 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +C0 +30 +88 +30 +C0 +ENDCHAR +STARTCHAR uni22D8 +ENCODING 8920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +28 +54 +A8 +54 +28 +14 +ENDCHAR +STARTCHAR uni22D9 +ENCODING 8921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +50 +A8 +54 +A8 +50 +A0 +ENDCHAR +STARTCHAR uni22DA +ENCODING 8922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +18 +60 +80 +60 +18 +00 +F8 +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR uni22DB +ENCODING 8923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +30 +08 +30 +C0 +00 +F8 +18 +60 +80 +60 +18 +ENDCHAR +STARTCHAR uni22DC +ENCODING 8924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +18 +60 +80 +60 +18 +ENDCHAR +STARTCHAR uni22DD +ENCODING 8925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR uni22DE +ENCODING 8926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +E8 +10 +E0 +10 +08 +ENDCHAR +STARTCHAR uni22DF +ENCODING 8927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +B8 +40 +38 +40 +80 +ENDCHAR +STARTCHAR uni22E0 +ENCODING 8928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +28 +30 +E0 +30 +E8 +30 +28 +20 +ENDCHAR +STARTCHAR uni22E1 +ENCODING 8929 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +A0 +60 +38 +60 +B8 +60 +A0 +20 +ENDCHAR +STARTCHAR uni22E2 +ENCODING 8930 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +F8 +A0 +A0 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR uni22E3 +ENCODING 8931 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +F8 +28 +28 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR uni22E4 +ENCODING 8932 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F8 +10 +F8 +40 +ENDCHAR +STARTCHAR uni22E5 +ENCODING 8933 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +08 +08 +F8 +10 +F8 +40 +ENDCHAR +STARTCHAR uni22E6 +ENCODING 8934 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +18 +60 +80 +60 +38 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni22E7 +ENCODING 8935 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +C0 +30 +08 +30 +E0 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni22E8 +ENCODING 8936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +08 +10 +E0 +10 +28 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni22E9 +ENCODING 8937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 +BITMAP +80 +40 +38 +40 +A0 +20 +68 +B0 +20 +20 +ENDCHAR +STARTCHAR uni22EA +ENCODING 8938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +38 +68 +A8 +68 +38 +20 +20 +ENDCHAR +STARTCHAR uni22EB +ENCODING 8939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +E0 +B0 +A8 +B0 +E0 +20 +20 +ENDCHAR +STARTCHAR uni22EC +ENCODING 8940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +38 +68 +A8 +68 +38 +20 +F8 +20 +ENDCHAR +STARTCHAR uni22ED +ENCODING 8941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +E0 +B0 +A8 +B0 +E0 +20 +F8 +20 +ENDCHAR +STARTCHAR uni22EE +ENCODING 8942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 9 2 -1 +BITMAP +80 +00 +00 +00 +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni22EF +ENCODING 8943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +A8 +ENDCHAR +STARTCHAR uni22F0 +ENCODING 8944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +00 +00 +20 +00 +00 +80 +ENDCHAR +STARTCHAR uni22F1 +ENCODING 8945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +00 +00 +20 +00 +00 +08 +ENDCHAR +STARTCHAR uni22F2 +ENCODING 8946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +40 +F0 +40 +40 +38 +ENDCHAR +STARTCHAR uni22F3 +ENCODING 8947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +88 +F8 +88 +40 +38 +ENDCHAR +STARTCHAR uni22F4 +ENCODING 8948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +88 +F8 +88 +40 +38 +ENDCHAR +STARTCHAR uni22F5 +ENCODING 8949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +10 +00 +38 +40 +80 +F0 +80 +40 +38 +ENDCHAR +STARTCHAR uni22F6 +ENCODING 8950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +38 +40 +80 +F0 +80 +40 +38 +ENDCHAR +STARTCHAR uni22F7 +ENCODING 8951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 1 +BITMAP +F0 +00 +70 +80 +E0 +80 +70 +ENDCHAR +STARTCHAR uni22F8 +ENCODING 8952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +38 +40 +80 +F0 +80 +40 +38 +00 +F8 +ENDCHAR +STARTCHAR uni22F9 +ENCODING 8953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +F0 +80 +F0 +40 +38 +ENDCHAR +STARTCHAR uni22FA +ENCODING 8954 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +10 +10 +78 +10 +10 +E0 +ENDCHAR +STARTCHAR uni22FB +ENCODING 8955 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +10 +88 +F8 +88 +10 +E0 +ENDCHAR +STARTCHAR uni22FC +ENCODING 8956 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +E0 +10 +90 +F0 +90 +10 +E0 +ENDCHAR +STARTCHAR uni22FD +ENCODING 8957 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +E0 +10 +08 +78 +08 +10 +E0 +ENDCHAR +STARTCHAR uni22FE +ENCODING 8958 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 1 +BITMAP +F0 +00 +E0 +10 +70 +10 +E0 +ENDCHAR +STARTCHAR uni22FF +ENCODING 8959 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +80 +F8 +80 +80 +F8 +ENDCHAR +STARTCHAR uni2300 +ENCODING 8960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +68 +90 +A8 +48 +B0 +ENDCHAR +STARTCHAR uni2301 +ENCODING 8961 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +30 +A8 +60 +20 +ENDCHAR +STARTCHAR house +ENCODING 8962 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2303 +ENCODING 8963 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 +BITMAP +20 +50 +88 +ENDCHAR +STARTCHAR uni2304 +ENCODING 8964 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 0 +BITMAP +88 +50 +20 +ENDCHAR +STARTCHAR uni2305 +ENCODING 8965 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +00 +20 +50 +88 +ENDCHAR +STARTCHAR uni2306 +ENCODING 8966 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +F8 +00 +20 +50 +88 +ENDCHAR +STARTCHAR uni2307 +ENCODING 8967 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 9 2 0 +BITMAP +40 +40 +80 +80 +40 +40 +80 +80 +40 +ENDCHAR +STARTCHAR uni2308 +ENCODING 8968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2309 +ENCODING 8969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni230A +ENCODING 8970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni230B +ENCODING 8971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni230C +ENCODING 8972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 2 +BITMAP +60 +80 +80 +ENDCHAR +STARTCHAR uni230D +ENCODING 8973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 2 +BITMAP +C0 +20 +20 +ENDCHAR +STARTCHAR uni230E +ENCODING 8974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 4 +BITMAP +80 +80 +60 +ENDCHAR +STARTCHAR uni230F +ENCODING 8975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 3 +BITMAP +20 +20 +C0 +ENDCHAR +STARTCHAR revlogicalnot +ENCODING 8976 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +80 +80 +ENDCHAR +STARTCHAR uni2311 +ENCODING 8977 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +70 +50 +70 +88 +ENDCHAR +STARTCHAR uni2312 +ENCODING 8978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +70 +88 +88 +88 +ENDCHAR +STARTCHAR uni2313 +ENCODING 8979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +70 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2314 +ENCODING 8980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +70 +88 +50 +20 +ENDCHAR +STARTCHAR uni2315 +ENCODING 8981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +C8 +F0 +ENDCHAR +STARTCHAR uni2316 +ENCODING 8982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +F8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2317 +ENCODING 8983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +50 +F8 +50 +50 +F8 +50 +50 +ENDCHAR +STARTCHAR uni2318 +ENCODING 8984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +A8 +70 +20 +70 +A8 +50 +ENDCHAR +STARTCHAR uni2319 +ENCODING 8985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +80 +80 +F8 +ENDCHAR +STARTCHAR uni231A +ENCODING 8986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +50 +50 +70 +A8 +B8 +88 +70 +50 +50 +70 +ENDCHAR +STARTCHAR uni231B +ENCODING 8987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +88 +70 +20 +20 +50 +A8 +F8 +ENDCHAR +STARTCHAR uni231C +ENCODING 8988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 3 +BITMAP +E0 +80 +80 +ENDCHAR +STARTCHAR uni231D +ENCODING 8989 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 4 +BITMAP +E0 +20 +20 +ENDCHAR +STARTCHAR uni231E +ENCODING 8990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 2 +BITMAP +80 +80 +E0 +ENDCHAR +STARTCHAR uni231F +ENCODING 8991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 2 2 +BITMAP +20 +20 +E0 +ENDCHAR +STARTCHAR integraltp +ENCODING 8992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 2 -2 +BITMAP +40 +A0 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR integralbt +ENCODING 8993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 0 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2322 +ENCODING 8994 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni2323 +ENCODING 8995 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni2324 +ENCODING 8996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni2325 +ENCODING 8997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +18 +C0 +20 +18 +ENDCHAR +STARTCHAR uni2326 +ENCODING 8998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +F0 +D8 +A4 +D8 +F0 +ENDCHAR +STARTCHAR uni2327 +ENCODING 8999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +D8 +A8 +D8 +F8 +ENDCHAR +STARTCHAR uni2328 +ENCODING 9000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +FC +84 +AC +84 +AC +84 +AC +84 +AC +84 +FC +ENDCHAR +STARTCHAR uni232B +ENCODING 9003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +3C +6C +94 +6C +3C +ENDCHAR +STARTCHAR uni232C +ENCODING 9004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +D8 +C8 +D8 +70 +20 +ENDCHAR +STARTCHAR uni232D +ENCODING 9005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +60 +D8 +30 +20 +40 +ENDCHAR +STARTCHAR uni232E +ENCODING 9006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +38 +44 +5C +64 +38 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni232F +ENCODING 9007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +00 +F8 +00 +70 +ENDCHAR +STARTCHAR uni2330 +ENCODING 9008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +48 +FC +48 +48 +90 +90 +90 +F0 +ENDCHAR +STARTCHAR uni2331 +ENCODING 9009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 1 +BITMAP +40 +40 +A8 +FC +A8 +40 +40 +ENDCHAR +STARTCHAR uni2332 +ENCODING 9010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 1 +BITMAP +80 +E0 +98 +FC +98 +E0 +80 +ENDCHAR +STARTCHAR uni2333 +ENCODING 9011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +80 +C0 +A0 +90 +F8 +ENDCHAR +STARTCHAR uni2334 +ENCODING 9012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +84 +84 +84 +84 +FC +ENDCHAR +STARTCHAR uni2335 +ENCODING 9013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 0 +BITMAP +88 +50 +20 +ENDCHAR +STARTCHAR uni2336 +ENCODING 9014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni2337 +ENCODING 9015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +F0 +90 +90 +90 +90 +90 +90 +90 +90 +F0 +ENDCHAR +STARTCHAR uni2338 +ENCODING 9016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +88 +F8 +88 +F8 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2339 +ENCODING 9017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +88 +F8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni233A +ENCODING 9018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +D8 +88 +D8 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni233B +ENCODING 9019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +88 +A8 +D8 +A8 +88 +88 +F8 +ENDCHAR +STARTCHAR uni233C +ENCODING 9020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +F8 +D8 +88 +D8 +F8 +88 +F8 +ENDCHAR +STARTCHAR uni233D +ENCODING 9021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni233E +ENCODING 9022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni233F +ENCODING 9023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +10 +10 +F8 +40 +40 +80 +ENDCHAR +STARTCHAR uni2340 +ENCODING 9024 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +40 +40 +F8 +10 +10 +08 +ENDCHAR +STARTCHAR uni2341 +ENCODING 9025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +98 +98 +A8 +A8 +A8 +C8 +C8 +F8 +ENDCHAR +STARTCHAR uni2342 +ENCODING 9026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +C8 +C8 +A8 +A8 +A8 +98 +98 +F8 +ENDCHAR +STARTCHAR uni2343 +ENCODING 9027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +98 +A8 +C8 +A8 +98 +88 +F8 +ENDCHAR +STARTCHAR uni2344 +ENCODING 9028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +C8 +A8 +98 +A8 +C8 +88 +F8 +ENDCHAR +STARTCHAR uni2345 +ENCODING 9029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +10 +50 +F8 +50 +10 +10 +ENDCHAR +STARTCHAR uni2346 +ENCODING 9030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +50 +F8 +50 +40 +40 +ENDCHAR +STARTCHAR uni2347 +ENCODING 9031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +C8 +F8 +C8 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2348 +ENCODING 9032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +98 +F8 +98 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2349 +ENCODING 9033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +70 +C8 +A8 +98 +70 +08 +08 +ENDCHAR +STARTCHAR uni234A +ENCODING 9034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +20 +20 +20 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni234B +ENCODING 9035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +20 +20 +70 +70 +A8 +A8 +F8 +20 +20 +ENDCHAR +STARTCHAR uni234C +ENCODING 9036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +88 +D8 +D8 +A8 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni234D +ENCODING 9037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +A8 +D8 +D8 +F8 +88 +F8 +ENDCHAR +STARTCHAR uni234E +ENCODING 9038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +F8 +ENDCHAR +STARTCHAR uni234F +ENCODING 9039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +A8 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2350 +ENCODING 9040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A8 +F8 +A8 +A8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni2351 +ENCODING 9041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2352 +ENCODING 9042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +20 +F8 +A8 +70 +70 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2353 +ENCODING 9043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +A8 +D8 +D8 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2354 +ENCODING 9044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +F8 +D8 +D8 +A8 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2355 +ENCODING 9045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +20 +20 +70 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2356 +ENCODING 9046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +20 +F8 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2357 +ENCODING 9047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A8 +A8 +A8 +A8 +A8 +F8 +A8 +F8 +ENDCHAR +STARTCHAR uni2358 +ENCODING 9048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +00 +00 +00 +00 +00 +F8 +ENDCHAR +STARTCHAR uni2359 +ENCODING 9049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +50 +50 +88 +88 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni235A +ENCODING 9050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +50 +88 +50 +20 +00 +F8 +ENDCHAR +STARTCHAR uni235B +ENCODING 9051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +50 +20 +00 +00 +00 +F8 +ENDCHAR +STARTCHAR uni235C +ENCODING 9052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +70 +88 +88 +88 +70 +00 +00 +F8 +ENDCHAR +STARTCHAR uni235D +ENCODING 9053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +88 +88 +ENDCHAR +STARTCHAR uni235E +ENCODING 9054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A8 +A8 +A8 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni235F +ENCODING 9055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +A8 +F8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2360 +ENCODING 9056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +A8 +88 +88 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2361 +ENCODING 9057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2362 +ENCODING 9058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +00 +F8 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2363 +ENCODING 9059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +50 +00 +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni2364 +ENCODING 9060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 2 +BITMAP +A0 +00 +00 +00 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2365 +ENCODING 9061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +50 +00 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2366 +ENCODING 9062 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2367 +ENCODING 9063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +10 +78 +90 +90 +90 +78 +10 +10 +ENDCHAR +STARTCHAR uni2368 +ENCODING 9064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 3 +BITMAP +50 +00 +00 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2369 +ENCODING 9065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +50 +00 +00 +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR uni236A +ENCODING 9066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +F8 +00 +00 +30 +20 +40 +ENDCHAR +STARTCHAR uni236B +ENCODING 9067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +F8 +88 +88 +7C +D8 +A0 +20 +ENDCHAR +STARTCHAR uni236C +ENCODING 9068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +E8 +B8 +88 +70 +ENDCHAR +STARTCHAR uni236D +ENCODING 9069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +68 +B0 +20 +20 +20 +ENDCHAR +STARTCHAR uni236E +ENCODING 9070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +20 +70 +20 +00 +30 +F8 +40 +ENDCHAR +STARTCHAR uni236F +ENCODING 9071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +98 +F8 +A8 +F8 +C8 +88 +F8 +ENDCHAR +STARTCHAR uni2370 +ENCODING 9072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +A8 +D8 +98 +A8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni2371 +ENCODING 9073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +B8 +E8 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2372 +ENCODING 9074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +50 +50 +88 +E8 +B8 +88 +ENDCHAR +STARTCHAR uni2373 +ENCODING 9075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 2 0 +BITMAP +80 +80 +80 +80 +80 +40 +ENDCHAR +STARTCHAR uni2374 +ENCODING 9076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +70 +88 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR uni2375 +ENCODING 9077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni2376 +ENCODING 9078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +68 +90 +90 +90 +68 +00 +F8 +ENDCHAR +STARTCHAR uni2377 +ENCODING 9079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +88 +60 +88 +70 +00 +F8 +ENDCHAR +STARTCHAR uni2378 +ENCODING 9080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +20 +20 +20 +10 +00 +F8 +ENDCHAR +STARTCHAR uni2379 +ENCODING 9081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +50 +88 +A8 +A8 +50 +00 +F8 +ENDCHAR +STARTCHAR uni237A +ENCODING 9082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +68 +90 +90 +90 +68 +ENDCHAR +STARTCHAR uni237B +ENCODING 9083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +04 +04 +08 +3C +10 +90 +60 +20 +ENDCHAR +STARTCHAR uni237C +ENCODING 9084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +60 +40 +C0 +60 +40 +C0 +60 +50 +FC +C0 +E0 +ENDCHAR +STARTCHAR uni237D +ENCODING 9085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 0 +BITMAP +CC +48 +78 +ENDCHAR +STARTCHAR uni237E +ENCODING 9086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +88 +F8 +50 +D8 +ENDCHAR +STARTCHAR uni237F +ENCODING 9087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +F8 +F8 +F8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2380 +ENCODING 9088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +08 +78 +88 +78 +00 +88 +50 +20 +ENDCHAR +STARTCHAR uni2381 +ENCODING 9089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +60 +10 +70 +90 +74 +00 +FC +ENDCHAR +STARTCHAR uni2382 +ENCODING 9090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +48 +24 +6C +B4 +6C +00 +6C +ENDCHAR +STARTCHAR uni2383 +ENCODING 9091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +84 +A4 +10 +B4 +50 +B4 +84 +ENDCHAR +STARTCHAR uni2384 +ENCODING 9092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +F8 +D4 +D4 +D4 +F8 +ENDCHAR +STARTCHAR uni2385 +ENCODING 9093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +F8 +A8 +A8 +A8 +A8 +F8 +20 +ENDCHAR +STARTCHAR uni2386 +ENCODING 9094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +20 +50 +88 +24 +F4 +24 +88 +50 +20 +ENDCHAR +STARTCHAR uni2387 +ENCODING 9095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +08 +1C +28 +40 +9C +ENDCHAR +STARTCHAR uni2388 +ENCODING 9096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +A8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2389 +ENCODING 9097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +84 +84 +CC +B4 +78 +ENDCHAR +STARTCHAR uni238A +ENCODING 9098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +FC +CC +B4 +84 +78 +ENDCHAR +STARTCHAR uni238B +ENCODING 9099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +E8 +C4 +A4 +14 +84 +78 +ENDCHAR +STARTCHAR uni238C +ENCODING 9100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F0 +C8 +00 +50 +A8 +50 +ENDCHAR +STARTCHAR uni238D +ENCODING 9101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +50 +50 +50 +D8 +ENDCHAR +STARTCHAR uni238E +ENCODING 9102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +78 +50 +50 +50 +F0 +ENDCHAR +STARTCHAR uni238F +ENCODING 9103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +F8 +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni2390 +ENCODING 9104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +50 +88 +50 +20 +F8 +ENDCHAR +STARTCHAR uni2391 +ENCODING 9105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +F8 +20 +50 +F8 +50 +20 +ENDCHAR +STARTCHAR uni2392 +ENCODING 9106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +50 +F8 +50 +20 +F8 +ENDCHAR +STARTCHAR uni2393 +ENCODING 9107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +F8 +00 +A8 +ENDCHAR +STARTCHAR uni2394 +ENCODING 9108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +48 +84 +48 +30 +ENDCHAR +STARTCHAR uni2395 +ENCODING 9109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +88 +88 +88 +88 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2396 +ENCODING 9110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 1 +BITMAP +F0 +E0 +E0 +C0 +C0 +80 +80 +ENDCHAR +STARTCHAR uni2397 +ENCODING 9111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +A8 +00 +BC +24 +84 +24 +FC +24 +84 +24 +3C +ENDCHAR +STARTCHAR uni2398 +ENCODING 9112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +F8 +80 +D4 +80 +84 +90 +FC +90 +84 +80 +54 +ENDCHAR +STARTCHAR uni2399 +ENCODING 9113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +38 +68 +48 +CC +CC +CC +FC +FC +ENDCHAR +STARTCHAR uni239A +ENCODING 9114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +78 +A4 +D4 +AC +94 +78 +ENDCHAR +STARTCHAR uni239B +ENCODING 9115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +20 +40 +40 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni239C +ENCODING 9116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 1 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni239D +ENCODING 9117 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +40 +40 +20 +ENDCHAR +STARTCHAR uni239E +ENCODING 9118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +80 +40 +40 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni239F +ENCODING 9119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 3 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A0 +ENCODING 9120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +40 +40 +80 +ENDCHAR +STARTCHAR uni23A1 +ENCODING 9121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A2 +ENCODING 9122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 1 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A3 +ENCODING 9123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni23A4 +ENCODING 9124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23A5 +ENCODING 9125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 3 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A6 +ENCODING 9126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni23A7 +ENCODING 9127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 2 -2 +BITMAP +60 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23A8 +ENCODING 9128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +C0 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23A9 +ENCODING 9129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +60 +ENDCHAR +STARTCHAR uni23AA +ENCODING 9130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23AB +ENCODING 9131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 0 -2 +BITMAP +C0 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23AC +ENCODING 9132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +60 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23AD +ENCODING 9133 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 0 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +C0 +ENDCHAR +STARTCHAR uni23AE +ENCODING 9134 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23AF +ENCODING 9135 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni23B0 +ENCODING 9136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +18 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +C0 +ENDCHAR +STARTCHAR uni23B1 +ENCODING 9137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +18 +ENDCHAR +STARTCHAR uni23B2 +ENCODING 9138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +FC +80 +80 +40 +40 +40 +20 +20 +20 +10 +10 +ENDCHAR +STARTCHAR uni23B3 +ENCODING 9139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +10 +10 +20 +20 +20 +40 +40 +40 +80 +80 +FC +ENDCHAR +STARTCHAR uni23B4 +ENCODING 9140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +F8 +88 +ENDCHAR +STARTCHAR uni23B5 +ENCODING 9141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 0 +BITMAP +88 +F8 +ENDCHAR +STARTCHAR uni23B6 +ENCODING 9142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +88 +F8 +00 +00 +F8 +88 +ENDCHAR +STARTCHAR uni23B7 +ENCODING 9143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 0 0 +BITMAP +20 +20 +20 +20 +A0 +A0 +60 +60 +20 +20 +ENDCHAR +STARTCHAR uni23B8 +ENCODING 9144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23B9 +ENCODING 9145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 5 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23BA +ENCODING 9146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 9 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BB +ENCODING 9147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 6 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BC +ENCODING 9148 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 1 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BD +ENCODING 9149 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 -2 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BE +ENCODING 9150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23BF +ENCODING 9151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni23C0 +ENCODING 9152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni23C1 +ENCODING 9153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +20 +70 +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni23C2 +ENCODING 9154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +A8 +A8 +A8 +70 +20 +F8 +ENDCHAR +STARTCHAR uni23C3 +ENCODING 9155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +70 +70 +A8 +F8 +20 +20 +ENDCHAR +STARTCHAR uni23C4 +ENCODING 9156 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +20 +20 +70 +70 +A8 +F8 +20 +20 +ENDCHAR +STARTCHAR uni23C5 +ENCODING 9157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +20 +70 +70 +A8 +F8 +20 +F8 +ENDCHAR +STARTCHAR uni23C6 +ENCODING 9158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +68 +B0 +20 +20 +20 +ENDCHAR +STARTCHAR uni23C7 +ENCODING 9159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +20 +20 +68 +B0 +20 +20 +20 +ENDCHAR +STARTCHAR uni23C8 +ENCODING 9160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +68 +B0 +20 +20 +F8 +ENDCHAR +STARTCHAR uni23C9 +ENCODING 9161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23CA +ENCODING 9162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni23CB +ENCODING 9163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +08 +08 +08 +08 +08 +08 +08 +ENDCHAR +STARTCHAR uni23CC +ENCODING 9164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +08 +08 +08 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR uni23CD +ENCODING 9165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +A8 +A8 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni23CE +ENCODING 9166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +18 +18 +18 +58 +F8 +F0 +40 +ENDCHAR +STARTCHAR uni23CF +ENCODING 9167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +70 +F8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni23D0 +ENCODING 9168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni23D1 +ENCODING 9169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni23D2 +ENCODING 9170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +F8 +00 +88 +70 +ENDCHAR +STARTCHAR uni23D3 +ENCODING 9171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +88 +70 +00 +F8 +ENDCHAR +STARTCHAR uni23D4 +ENCODING 9172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +00 +B4 +48 +ENDCHAR +STARTCHAR uni23D5 +ENCODING 9173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +B4 +48 +00 +FC +ENDCHAR +STARTCHAR uni23D6 +ENCODING 9174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 2 +BITMAP +B4 +48 +ENDCHAR +STARTCHAR uni23D7 +ENCODING 9175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +08 +08 +F8 +ENDCHAR +STARTCHAR uni23D8 +ENCODING 9176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +88 +88 +F8 +ENDCHAR +STARTCHAR uni23D9 +ENCODING 9177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni23DA +ENCODING 9178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +20 +F8 +00 +70 +00 +20 +ENDCHAR +STARTCHAR uni23DB +ENCODING 9179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +78 +48 +FC +48 +78 +ENDCHAR +STARTCHAR uni23DC +ENCODING 9180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 0 +BITMAP +78 +84 +ENDCHAR +STARTCHAR uni23DD +ENCODING 9181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 5 +BITMAP +84 +78 +ENDCHAR +STARTCHAR uni23DE +ENCODING 9182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 0 +BITMAP +30 +CC +84 +ENDCHAR +STARTCHAR uni23DF +ENCODING 9183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 4 +BITMAP +84 +CC +30 +ENDCHAR +STARTCHAR uni23E0 +ENCODING 9184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 0 +BITMAP +78 +84 +ENDCHAR +STARTCHAR uni23E1 +ENCODING 9185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 5 +BITMAP +84 +78 +ENDCHAR +STARTCHAR uni23E2 +ENCODING 9186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +E0 +90 +88 +84 +FC +ENDCHAR +STARTCHAR uni23E3 +ENCODING 9187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 1 +BITMAP +30 +78 +CC +84 +CC +78 +30 +ENDCHAR +STARTCHAR uni23E4 +ENCODING 9188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni23E5 +ENCODING 9189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 2 +BITMAP +7C +44 +88 +F8 +ENDCHAR +STARTCHAR uni23E6 +ENCODING 9190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +A0 +FC +14 +08 +ENDCHAR +STARTCHAR uni23E7 +ENCODING 9191 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +A4 +A8 +B0 +30 +48 +84 +ENDCHAR +STARTCHAR uni2400 +ENCODING 9216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +90 +D0 +B0 +90 +50 +50 +70 +20 +20 +20 +38 +ENDCHAR +STARTCHAR uni2401 +ENCODING 9217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +60 +80 +40 +20 +E0 +50 +50 +20 +28 +38 +28 +ENDCHAR +STARTCHAR uni2402 +ENCODING 9218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +60 +80 +40 +20 +C0 +70 +20 +20 +28 +10 +28 +ENDCHAR +STARTCHAR uni2403 +ENCODING 9219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +E0 +80 +C0 +80 +E0 +70 +20 +20 +28 +10 +28 +ENDCHAR +STARTCHAR uni2404 +ENCODING 9220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +E0 +80 +C0 +80 +E0 +50 +50 +20 +38 +10 +10 +ENDCHAR +STARTCHAR uni2405 +ENCODING 9221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +E0 +80 +C0 +80 +E8 +68 +58 +48 +10 +28 +28 +18 +ENDCHAR +STARTCHAR uni2406 +ENCODING 9222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +40 +A0 +E0 +A0 +30 +40 +30 +00 +28 +30 +28 +ENDCHAR +STARTCHAR uni2407 +ENCODING 9223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +C0 +A0 +F0 +40 +60 +40 +70 +20 +20 +38 +ENDCHAR +STARTCHAR uni2408 +ENCODING 9224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +C0 +A0 +C0 +A0 +C0 +18 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni2409 +ENCODING 9225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A0 +A0 +E0 +A0 +B8 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni240A +ENCODING 9226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +80 +80 +E0 +00 +38 +20 +30 +20 +ENDCHAR +STARTCHAR uni240B +ENCODING 9227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A0 +A0 +A0 +40 +78 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni240C +ENCODING 9228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +E0 +80 +C0 +B8 +A0 +30 +20 +20 +ENDCHAR +STARTCHAR uni240D +ENCODING 9229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +60 +80 +80 +80 +70 +28 +30 +28 +28 +ENDCHAR +STARTCHAR uni240E +ENCODING 9230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +60 +80 +40 +20 +D0 +28 +28 +28 +10 +ENDCHAR +STARTCHAR uni240F +ENCODING 9231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +60 +80 +40 +20 +C0 +38 +10 +10 +38 +ENDCHAR +STARTCHAR uni2410 +ENCODING 9232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +40 +40 +70 +38 +20 +30 +20 +38 +ENDCHAR +STARTCHAR uni2411 +ENCODING 9233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +30 +40 +30 +00 +10 +30 +10 +38 +ENDCHAR +STARTCHAR uni2412 +ENCODING 9234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +30 +40 +30 +00 +30 +08 +10 +38 +ENDCHAR +STARTCHAR uni2413 +ENCODING 9235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +30 +40 +30 +30 +08 +10 +08 +30 +ENDCHAR +STARTCHAR uni2414 +ENCODING 9236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +C0 +A0 +A0 +C0 +30 +40 +30 +00 +20 +28 +38 +08 +ENDCHAR +STARTCHAR uni2415 +ENCODING 9237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +90 +D0 +B0 +00 +20 +50 +70 +50 +00 +28 +30 +28 +ENDCHAR +STARTCHAR uni2416 +ENCODING 9238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +60 +80 +40 +20 +C0 +50 +50 +20 +20 +48 +68 +58 +ENDCHAR +STARTCHAR uni2417 +ENCODING 9239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +E0 +80 +C0 +80 +E0 +70 +20 +38 +34 +18 +14 +18 +ENDCHAR +STARTCHAR uni2418 +ENCODING 9240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +60 +80 +60 +00 +20 +50 +70 +50 +00 +68 +58 +48 +ENDCHAR +STARTCHAR uni2419 +ENCODING 9241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 -1 +BITMAP +E0 +80 +C0 +80 +E0 +00 +50 +70 +50 +50 +ENDCHAR +STARTCHAR uni241A +ENCODING 9242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +60 +80 +40 +E0 +50 +50 +20 +38 +14 +18 +14 +18 +ENDCHAR +STARTCHAR uni241B +ENCODING 9243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +E0 +80 +C0 +80 +F0 +40 +20 +70 +00 +18 +20 +18 +ENDCHAR +STARTCHAR uni241C +ENCODING 9244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +E0 +80 +C0 +80 +98 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni241D +ENCODING 9245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +70 +80 +B0 +90 +60 +18 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni241E +ENCODING 9246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +C0 +A0 +C0 +A0 +A0 +18 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni241F +ENCODING 9247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +90 +90 +90 +60 +18 +20 +10 +08 +30 +ENDCHAR +STARTCHAR uni2420 +ENCODING 9248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +60 +80 +40 +20 +C0 +30 +28 +30 +20 +ENDCHAR +STARTCHAR uni2421 +ENCODING 9249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +C0 +A0 +A0 +F0 +40 +60 +40 +70 +20 +20 +38 +ENDCHAR +STARTCHAR uni2422 +ENCODING 9250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +60 +40 +F0 +48 +48 +48 +70 +ENDCHAR +STARTCHAR uni2423 +ENCODING 9251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 0 +BITMAP +88 +F8 +ENDCHAR +STARTCHAR uni2424 +ENCODING 9252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +D0 +B0 +90 +B0 +20 +20 +38 +ENDCHAR +STARTCHAR uni2425 +ENCODING 9253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +48 +90 +A0 +28 +48 +90 +90 +ENDCHAR +STARTCHAR uni2426 +ENCODING 9254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +80 +40 +20 +20 +00 +20 +ENDCHAR +STARTCHAR uni2440 +ENCODING 9280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +38 +28 +28 +20 +20 +A0 +A0 +E0 +ENDCHAR +STARTCHAR uni2441 +ENCODING 9281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +08 +08 +08 +F8 +88 +88 +88 +ENDCHAR +STARTCHAR uni2442 +ENCODING 9282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +88 +88 +88 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2443 +ENCODING 9283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +20 +F8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni2444 +ENCODING 9284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +A8 +A8 +20 +20 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni2445 +ENCODING 9285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +88 +D8 +A8 +D8 +88 +ENDCHAR +STARTCHAR uni2446 +ENCODING 9286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +18 +D8 +C0 +C0 +D8 +18 +18 +ENDCHAR +STARTCHAR uni2447 +ENCODING 9287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +08 +08 +08 +20 +20 +80 +80 +80 +ENDCHAR +STARTCHAR uni2448 +ENCODING 9288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +0C +AC +AC +AC +A0 +A0 +ENDCHAR +STARTCHAR uni2449 +ENCODING 9289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni244A +ENCODING 9290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +A0 +A0 +50 +50 +28 +28 +14 +14 +ENDCHAR +STARTCHAR uni2460 +ENCODING 9312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +E8 +A8 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni2461 +ENCODING 9313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +98 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni2462 +ENCODING 9314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +E8 +98 +A8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2463 +ENCODING 9315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +C8 +C8 +E8 +F8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2464 +ENCODING 9316 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +F8 +C8 +E8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2465 +ENCODING 9317 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +B8 +C8 +E8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2466 +ENCODING 9318 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +F8 +98 +A8 +A8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2467 +ENCODING 9319 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2468 +ENCODING 9320 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +B8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2469 +ENCODING 9321 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +EC +EC +EC +D4 +84 +78 +ENDCHAR +STARTCHAR uni246A +ENCODING 9322 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +D4 +D4 +D4 +D4 +84 +78 +ENDCHAR +STARTCHAR uni246B +ENCODING 9323 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +CC +CC +D4 +DC +84 +78 +ENDCHAR +STARTCHAR uni246C +ENCODING 9324 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +CC +D4 +CC +D4 +84 +78 +ENDCHAR +STARTCHAR uni246D +ENCODING 9325 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +D4 +DC +DC +CC +84 +78 +ENDCHAR +STARTCHAR uni246E +ENCODING 9326 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +DC +D4 +DC +CC +DC +84 +78 +ENDCHAR +STARTCHAR uni246F +ENCODING 9327 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +D4 +DC +D4 +CC +84 +78 +ENDCHAR +STARTCHAR uni2470 +ENCODING 9328 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +DC +CC +D4 +D4 +D4 +84 +78 +ENDCHAR +STARTCHAR uni2471 +ENCODING 9329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +CC +D4 +CC +D4 +CC +84 +78 +ENDCHAR +STARTCHAR uni2472 +ENCODING 9330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +CC +D4 +CC +C4 +DC +84 +78 +ENDCHAR +STARTCHAR uni2473 +ENCODING 9331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +EC +B4 +B4 +D4 +EC +84 +78 +ENDCHAR +STARTCHAR uni2474 +ENCODING 9332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +A8 +E8 +A8 +A8 +F8 +88 +50 +ENDCHAR +STARTCHAR uni2475 +ENCODING 9333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +A8 +D8 +98 +A8 +F8 +88 +50 +ENDCHAR +STARTCHAR uni2476 +ENCODING 9334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +E8 +98 +A8 +98 +E8 +88 +50 +ENDCHAR +STARTCHAR uni2477 +ENCODING 9335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +C8 +C8 +E8 +F8 +A8 +88 +50 +ENDCHAR +STARTCHAR uni2478 +ENCODING 9336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +F8 +C8 +E8 +98 +E8 +88 +50 +ENDCHAR +STARTCHAR uni2479 +ENCODING 9337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +B8 +C8 +E8 +D8 +A8 +88 +50 +ENDCHAR +STARTCHAR uni247A +ENCODING 9338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +F8 +98 +A8 +A8 +A8 +88 +50 +ENDCHAR +STARTCHAR uni247B +ENCODING 9339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +A8 +D8 +A8 +D8 +A8 +88 +50 +ENDCHAR +STARTCHAR uni247C +ENCODING 9340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +88 +A8 +D8 +B8 +98 +E8 +88 +50 +ENDCHAR +STARTCHAR uni247D +ENCODING 9341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +EC +EC +EC +D4 +84 +48 +ENDCHAR +STARTCHAR uni247E +ENCODING 9342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +D4 +D4 +D4 +D4 +84 +48 +ENDCHAR +STARTCHAR uni247F +ENCODING 9343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +CC +CC +D4 +DC +84 +48 +ENDCHAR +STARTCHAR uni2480 +ENCODING 9344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +CC +D4 +CC +D4 +84 +48 +ENDCHAR +STARTCHAR uni2481 +ENCODING 9345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +D4 +DC +DC +CC +84 +48 +ENDCHAR +STARTCHAR uni2482 +ENCODING 9346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +DC +D4 +DC +CC +DC +84 +48 +ENDCHAR +STARTCHAR uni2483 +ENCODING 9347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +D4 +D4 +DC +D4 +CC +84 +48 +ENDCHAR +STARTCHAR uni2484 +ENCODING 9348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +DC +CC +D4 +D4 +D4 +84 +48 +ENDCHAR +STARTCHAR uni2485 +ENCODING 9349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +CC +D4 +CC +D4 +CC +84 +48 +ENDCHAR +STARTCHAR uni2486 +ENCODING 9350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +CC +D4 +CC +C4 +DC +84 +48 +ENDCHAR +STARTCHAR uni2487 +ENCODING 9351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +EC +B4 +B4 +D4 +EC +84 +48 +ENDCHAR +STARTCHAR uni2488 +ENCODING 9352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 1 0 +BITMAP +40 +C0 +40 +40 +40 +40 +E8 +ENDCHAR +STARTCHAR uni2489 +ENCODING 9353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +60 +10 +10 +20 +20 +40 +F4 +ENDCHAR +STARTCHAR uni248A +ENCODING 9354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +60 +90 +10 +60 +10 +10 +E4 +ENDCHAR +STARTCHAR uni248B +ENCODING 9355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +40 +40 +90 +90 +F8 +10 +14 +ENDCHAR +STARTCHAR uni248C +ENCODING 9356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +F0 +80 +E0 +10 +10 +90 +64 +ENDCHAR +STARTCHAR uni248D +ENCODING 9357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +40 +80 +E0 +90 +90 +64 +ENDCHAR +STARTCHAR uni248E +ENCODING 9358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +F8 +08 +08 +10 +10 +20 +24 +ENDCHAR +STARTCHAR uni248F +ENCODING 9359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +60 +90 +90 +60 +90 +90 +64 +ENDCHAR +STARTCHAR uni2490 +ENCODING 9360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +60 +90 +90 +70 +10 +10 +64 +ENDCHAR +STARTCHAR uni2491 +ENCODING 9361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +A8 +A8 +A8 +A8 +A8 +94 +ENDCHAR +STARTCHAR uni2492 +ENCODING 9362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A8 +ENDCHAR +STARTCHAR uni2493 +ENCODING 9363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +B0 +88 +88 +90 +A0 +A0 +B4 +ENDCHAR +STARTCHAR uni2494 +ENCODING 9364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +B0 +88 +88 +90 +88 +88 +B4 +ENDCHAR +STARTCHAR uni2495 +ENCODING 9365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +A0 +B0 +B0 +B8 +90 +94 +ENDCHAR +STARTCHAR uni2496 +ENCODING 9366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +B8 +A0 +A0 +90 +90 +90 +A4 +ENDCHAR +STARTCHAR uni2497 +ENCODING 9367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +88 +90 +A0 +B0 +A8 +A8 +94 +ENDCHAR +STARTCHAR uni2498 +ENCODING 9368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +B8 +88 +88 +88 +90 +90 +94 +ENDCHAR +STARTCHAR uni2499 +ENCODING 9369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +A8 +A8 +90 +A8 +A8 +94 +ENDCHAR +STARTCHAR uni249A +ENCODING 9370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +A8 +A8 +98 +88 +90 +A4 +ENDCHAR +STARTCHAR uni249B +ENCODING 9371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +68 +68 +68 +A8 +A8 +D4 +ENDCHAR +STARTCHAR uni249C +ENCODING 9372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +94 +B4 +D4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni249D +ENCODING 9373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +A4 +B4 +AC +B4 +84 +48 +ENDCHAR +STARTCHAR uni249E +ENCODING 9374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +94 +A4 +94 +84 +48 +ENDCHAR +STARTCHAR uni249F +ENCODING 9375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +94 +94 +B4 +D4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24A0 +ENCODING 9376 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +94 +AC +BC +A4 +94 +84 +48 +ENDCHAR +STARTCHAR uni24A1 +ENCODING 9377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +94 +A4 +F4 +A4 +A4 +84 +48 +ENDCHAR +STARTCHAR uni24A2 +ENCODING 9378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +B4 +D4 +B4 +94 +A4 +48 +ENDCHAR +STARTCHAR uni24A3 +ENCODING 9379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +A4 +B4 +AC +AC +84 +48 +ENDCHAR +STARTCHAR uni24A4 +ENCODING 9380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +94 +84 +94 +94 +84 +48 +ENDCHAR +STARTCHAR uni24A5 +ENCODING 9381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +94 +84 +94 +94 +A4 +48 +ENDCHAR +STARTCHAR uni24A6 +ENCODING 9382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +A4 +B4 +A4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24A7 +ENCODING 9383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +94 +94 +94 +94 +94 +84 +48 +ENDCHAR +STARTCHAR uni24A8 +ENCODING 9384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +EC +D4 +D4 +84 +48 +ENDCHAR +STARTCHAR uni24A9 +ENCODING 9385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +E4 +D4 +D4 +84 +48 +ENDCHAR +STARTCHAR uni24AA +ENCODING 9386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +94 +AC +94 +84 +48 +ENDCHAR +STARTCHAR uni24AB +ENCODING 9387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +B4 +AC +B4 +A4 +48 +ENDCHAR +STARTCHAR uni24AC +ENCODING 9388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +B4 +D4 +B4 +94 +48 +ENDCHAR +STARTCHAR uni24AD +ENCODING 9389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +B4 +A4 +A4 +84 +48 +ENDCHAR +STARTCHAR uni24AE +ENCODING 9390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +B4 +A4 +94 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24AF +ENCODING 9391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +A4 +A4 +F4 +A4 +94 +84 +48 +ENDCHAR +STARTCHAR uni24B0 +ENCODING 9392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +D4 +D4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24B1 +ENCODING 9393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +AC +AC +94 +84 +48 +ENDCHAR +STARTCHAR uni24B2 +ENCODING 9394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +C4 +D4 +BC +84 +48 +ENDCHAR +STARTCHAR uni24B3 +ENCODING 9395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +AC +94 +AC +84 +48 +ENDCHAR +STARTCHAR uni24B4 +ENCODING 9396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +84 +AC +AC +94 +A4 +48 +ENDCHAR +STARTCHAR uni24B5 +ENCODING 9397 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +48 +84 +84 +B4 +94 +A4 +B4 +84 +48 +ENDCHAR +STARTCHAR uni24B6 +ENCODING 9398 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +AC +BC +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24B7 +ENCODING 9399 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +AC +B4 +AC +B4 +84 +78 +ENDCHAR +STARTCHAR uni24B8 +ENCODING 9400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +A4 +A4 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni24B9 +ENCODING 9401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +AC +AC +AC +B4 +84 +78 +ENDCHAR +STARTCHAR uni24BA +ENCODING 9402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +A4 +B4 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24BB +ENCODING 9403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +A4 +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24BC +ENCODING 9404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +C4 +D4 +D4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24BD +ENCODING 9405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +BC +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24BE +ENCODING 9406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +94 +94 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24BF +ENCODING 9407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +94 +94 +94 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24C0 +ENCODING 9408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +B4 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24C1 +ENCODING 9409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +A4 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24C2 +ENCODING 9410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +BC +AC +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24C3 +ENCODING 9411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +BC +BC +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24C4 +ENCODING 9412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +AC +AC +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24C5 +ENCODING 9413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +AC +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24C6 +ENCODING 9414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +D4 +D4 +D4 +B4 +94 +78 +ENDCHAR +STARTCHAR uni24C7 +ENCODING 9415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +B4 +AC +B4 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24C8 +ENCODING 9416 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +9C +A4 +94 +8C +B4 +84 +78 +ENDCHAR +STARTCHAR uni24C9 +ENCODING 9417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +BC +94 +94 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24CA +ENCODING 9418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +AC +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24CB +ENCODING 9419 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +AC +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24CC +ENCODING 9420 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +C4 +D4 +D4 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24CD +ENCODING 9421 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +94 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24CE +ENCODING 9422 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +AC +AC +94 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24CF +ENCODING 9423 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +BC +8C +94 +A4 +BC +84 +78 +ENDCHAR +STARTCHAR uni24D0 +ENCODING 9424 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +94 +B4 +D4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24D1 +ENCODING 9425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +B4 +AC +B4 +84 +78 +ENDCHAR +STARTCHAR uni24D2 +ENCODING 9426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +94 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni24D3 +ENCODING 9427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +94 +B4 +D4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24D4 +ENCODING 9428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +AC +BC +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni24D5 +ENCODING 9429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +A4 +F4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24D6 +ENCODING 9430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +B4 +D4 +B4 +94 +A4 +78 +ENDCHAR +STARTCHAR uni24D7 +ENCODING 9431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +B4 +AC +AC +84 +78 +ENDCHAR +STARTCHAR uni24D8 +ENCODING 9432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +94 +84 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24D9 +ENCODING 9433 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +94 +84 +94 +94 +A4 +78 +ENDCHAR +STARTCHAR uni24DA +ENCODING 9434 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +B4 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24DB +ENCODING 9435 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +94 +94 +94 +94 +84 +78 +ENDCHAR +STARTCHAR uni24DC +ENCODING 9436 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +EC +D4 +D4 +84 +78 +ENDCHAR +STARTCHAR uni24DD +ENCODING 9437 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +E4 +D4 +D4 +84 +78 +ENDCHAR +STARTCHAR uni24DE +ENCODING 9438 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +94 +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24DF +ENCODING 9439 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +B4 +AC +B4 +A4 +78 +ENDCHAR +STARTCHAR uni24E0 +ENCODING 9440 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +B4 +D4 +B4 +94 +78 +ENDCHAR +STARTCHAR uni24E1 +ENCODING 9441 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR uni24E2 +ENCODING 9442 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +B4 +A4 +94 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24E3 +ENCODING 9443 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +A4 +A4 +F4 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni24E4 +ENCODING 9444 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +D4 +D4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24E5 +ENCODING 9445 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +AC +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24E6 +ENCODING 9446 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +C4 +D4 +BC +84 +78 +ENDCHAR +STARTCHAR uni24E7 +ENCODING 9447 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +AC +94 +AC +84 +78 +ENDCHAR +STARTCHAR uni24E8 +ENCODING 9448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +84 +AC +AC +94 +A4 +78 +ENDCHAR +STARTCHAR uni24E9 +ENCODING 9449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +84 +B4 +94 +A4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni24EA +ENCODING 9450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +94 +AC +AC +AC +94 +84 +78 +ENDCHAR +STARTCHAR uni24EB +ENCODING 9451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +AC +AC +AC +AC +FC +78 +ENDCHAR +STARTCHAR uni24EC +ENCODING 9452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +B4 +B4 +AC +A4 +FC +78 +ENDCHAR +STARTCHAR uni24ED +ENCODING 9453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +B4 +AC +B4 +AC +FC +78 +ENDCHAR +STARTCHAR uni24EE +ENCODING 9454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +AC +A4 +A4 +B4 +FC +78 +ENDCHAR +STARTCHAR uni24EF +ENCODING 9455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +A4 +AC +A4 +B4 +A4 +FC +78 +ENDCHAR +STARTCHAR uni24F0 +ENCODING 9456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +AC +A4 +A8 +B4 +FC +78 +ENDCHAR +STARTCHAR uni24F1 +ENCODING 9457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +A4 +B4 +AC +AC +AC +FC +78 +ENDCHAR +STARTCHAR uni24F2 +ENCODING 9458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +B4 +A8 +B4 +A8 +B4 +FC +78 +ENDCHAR +STARTCHAR uni24F3 +ENCODING 9459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +B4 +A8 +B0 +B8 +B4 +FC +78 +ENDCHAR +STARTCHAR uni24F4 +ENCODING 9460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +B4 +C8 +C8 +A8 +94 +FC +78 +ENDCHAR +STARTCHAR uni24F5 +ENCODING 9461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +A8 +E8 +A8 +A8 +F8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24F6 +ENCODING 9462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +A8 +D8 +98 +A8 +F8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24F7 +ENCODING 9463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +E8 +98 +A8 +98 +E8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24F8 +ENCODING 9464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +C8 +C8 +E8 +F8 +A8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24F9 +ENCODING 9465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +F8 +C8 +E8 +98 +E8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FA +ENCODING 9466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +B8 +C8 +E8 +D8 +A8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FB +ENCODING 9467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +F8 +98 +A8 +A8 +A8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FC +ENCODING 9468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +A8 +D8 +A8 +D8 +A8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FD +ENCODING 9469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +70 +F8 +88 +A8 +D8 +B8 +98 +E8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni24FE +ENCODING 9470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +78 +FC +84 +D4 +EC +EC +EC +D4 +84 +FC +78 +ENDCHAR +STARTCHAR uni24FF +ENCODING 9471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +CC +B4 +B4 +B4 +CC +FC +78 +ENDCHAR +STARTCHAR SF100000 +ENCODING 9472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 1 0 3 +BITMAP +FC +ENDCHAR +STARTCHAR uni2501 +ENCODING 9473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 3 +BITMAP +FC +FC +ENDCHAR +STARTCHAR SF110000 +ENCODING 9474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2503 +ENCODING 9475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni2504 +ENCODING 9476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +A8 +ENDCHAR +STARTCHAR uni2505 +ENCODING 9477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +A8 +A8 +ENDCHAR +STARTCHAR uni2506 +ENCODING 9478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 10 2 -1 +BITMAP +80 +80 +00 +00 +80 +80 +00 +00 +80 +80 +ENDCHAR +STARTCHAR uni2507 +ENCODING 9479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 10 2 -1 +BITMAP +C0 +C0 +00 +00 +C0 +C0 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2508 +ENCODING 9480 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +A8 +ENDCHAR +STARTCHAR uni2509 +ENCODING 9481 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +A8 +A8 +ENDCHAR +STARTCHAR uni250A +ENCODING 9482 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 11 2 -2 +BITMAP +80 +80 +00 +80 +80 +00 +80 +80 +00 +80 +80 +ENDCHAR +STARTCHAR uni250B +ENCODING 9483 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 2 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR SF010000 +ENCODING 9484 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 2 -2 +BITMAP +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni250D +ENCODING 9485 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 -2 +BITMAP +F0 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni250E +ENCODING 9486 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 2 -2 +BITMAP +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni250F +ENCODING 9487 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 -2 +BITMAP +F0 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR SF030000 +ENCODING 9488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 -2 +BITMAP +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2511 +ENCODING 9489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 -2 +BITMAP +E0 +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2512 +ENCODING 9490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 -2 +BITMAP +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2513 +ENCODING 9491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 +BITMAP +F0 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR SF020000 +ENCODING 9492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +80 +80 +80 +80 +80 +80 +F0 +ENDCHAR +STARTCHAR uni2515 +ENCODING 9493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +80 +80 +80 +80 +80 +F0 +F0 +ENDCHAR +STARTCHAR uni2516 +ENCODING 9494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +F0 +ENDCHAR +STARTCHAR uni2517 +ENCODING 9495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +C0 +C0 +C0 +C0 +C0 +F0 +F0 +ENDCHAR +STARTCHAR SF040000 +ENCODING 9496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 3 +BITMAP +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni2519 +ENCODING 9497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 3 +BITMAP +20 +20 +20 +20 +20 +E0 +E0 +ENDCHAR +STARTCHAR uni251A +ENCODING 9498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 3 +BITMAP +30 +30 +30 +30 +30 +30 +F0 +ENDCHAR +STARTCHAR uni251B +ENCODING 9499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 3 +BITMAP +30 +30 +30 +30 +30 +F0 +F0 +ENDCHAR +STARTCHAR SF080000 +ENCODING 9500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni251D +ENCODING 9501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +F0 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni251E +ENCODING 9502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni251F +ENCODING 9503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni2520 +ENCODING 9504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni2521 +ENCODING 9505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +F0 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2522 +ENCODING 9506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +F0 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni2523 +ENCODING 9507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +F0 +F0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR SF090000 +ENCODING 9508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +20 +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2525 +ENCODING 9509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +E0 +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2526 +ENCODING 9510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +30 +F0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2527 +ENCODING 9511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +20 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2528 +ENCODING 9512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +30 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2529 +ENCODING 9513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +F0 +F0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni252A +ENCODING 9514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +F0 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni252B +ENCODING 9515 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +F0 +F0 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR SF060000 +ENCODING 9516 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni252D +ENCODING 9517 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +E0 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni252E +ENCODING 9518 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +3C +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni252F +ENCODING 9519 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2530 +ENCODING 9520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2531 +ENCODING 9521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +F0 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2532 +ENCODING 9522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +3C +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2533 +ENCODING 9523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR SF070000 +ENCODING 9524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +20 +20 +20 +20 +20 +20 +FC +ENDCHAR +STARTCHAR uni2535 +ENCODING 9525 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +20 +20 +20 +20 +20 +E0 +FC +ENDCHAR +STARTCHAR uni2536 +ENCODING 9526 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +20 +20 +20 +20 +20 +3C +FC +ENDCHAR +STARTCHAR uni2537 +ENCODING 9527 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +20 +20 +20 +20 +20 +FC +FC +ENDCHAR +STARTCHAR uni2538 +ENCODING 9528 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +30 +30 +30 +30 +30 +30 +FC +ENDCHAR +STARTCHAR uni2539 +ENCODING 9529 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +30 +30 +30 +30 +30 +F0 +FC +ENDCHAR +STARTCHAR uni253A +ENCODING 9530 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +30 +30 +30 +30 +30 +3C +FC +ENDCHAR +STARTCHAR uni253B +ENCODING 9531 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +30 +30 +30 +30 +30 +FC +FC +ENDCHAR +STARTCHAR SF050000 +ENCODING 9532 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +20 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni253D +ENCODING 9533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +E0 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni253E +ENCODING 9534 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +3C +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni253F +ENCODING 9535 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +FC +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2540 +ENCODING 9536 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +30 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2541 +ENCODING 9537 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +20 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2542 +ENCODING 9538 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +30 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2543 +ENCODING 9539 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +F0 +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2544 +ENCODING 9540 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +3C +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2545 +ENCODING 9541 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +F0 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2546 +ENCODING 9542 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +3C +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2547 +ENCODING 9543 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +FC +FC +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2548 +ENCODING 9544 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +FC +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2549 +ENCODING 9545 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +F0 +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni254A +ENCODING 9546 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +3C +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni254B +ENCODING 9547 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +30 +30 +30 +30 +30 +FC +FC +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni254C +ENCODING 9548 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 3 +BITMAP +D8 +ENDCHAR +STARTCHAR uni254D +ENCODING 9549 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 3 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni254E +ENCODING 9550 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 11 2 -1 +BITMAP +80 +80 +80 +80 +80 +00 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni254F +ENCODING 9551 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 2 -1 +BITMAP +C0 +C0 +C0 +C0 +C0 +00 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR SF430000 +ENCODING 9552 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR SF240000 +ENCODING 9553 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 1 -2 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF510000 +ENCODING 9554 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 -2 +BITMAP +F0 +80 +F0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR SF520000 +ENCODING 9555 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 1 -2 +BITMAP +F8 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF390000 +ENCODING 9556 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 1 -2 +BITMAP +F8 +80 +B8 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF220000 +ENCODING 9557 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 -2 +BITMAP +E0 +20 +E0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR SF210000 +ENCODING 9558 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 -2 +BITMAP +F0 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF250000 +ENCODING 9559 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 +BITMAP +F0 +10 +D0 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF500000 +ENCODING 9560 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 2 2 +BITMAP +80 +80 +80 +80 +80 +F0 +80 +F0 +ENDCHAR +STARTCHAR SF490000 +ENCODING 9561 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 1 3 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +F8 +ENDCHAR +STARTCHAR SF380000 +ENCODING 9562 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 1 2 +BITMAP +A0 +A0 +A0 +A0 +A0 +B8 +80 +F8 +ENDCHAR +STARTCHAR SF280000 +ENCODING 9563 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 2 +BITMAP +20 +20 +20 +20 +20 +E0 +20 +E0 +ENDCHAR +STARTCHAR SF270000 +ENCODING 9564 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 3 +BITMAP +50 +50 +50 +50 +50 +50 +F0 +ENDCHAR +STARTCHAR SF260000 +ENCODING 9565 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 2 +BITMAP +50 +50 +50 +50 +50 +D0 +10 +F0 +ENDCHAR +STARTCHAR SF360000 +ENCODING 9566 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +F0 +80 +F0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR SF370000 +ENCODING 9567 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 1 -2 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +B8 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF420000 +ENCODING 9568 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 1 -2 +BITMAP +A0 +A0 +A0 +A0 +A0 +B8 +80 +B8 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF190000 +ENCODING 9569 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +E0 +20 +E0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR SF200000 +ENCODING 9570 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +50 +50 +50 +50 +50 +50 +D0 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF230000 +ENCODING 9571 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +50 +50 +50 +50 +50 +D0 +10 +D0 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF470000 +ENCODING 9572 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +00 +FC +20 +20 +20 +20 +ENDCHAR +STARTCHAR SF480000 +ENCODING 9573 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF410000 +ENCODING 9574 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +00 +DC +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF450000 +ENCODING 9575 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 2 +BITMAP +20 +20 +20 +20 +20 +FC +00 +FC +ENDCHAR +STARTCHAR SF460000 +ENCODING 9576 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 3 +BITMAP +50 +50 +50 +50 +50 +50 +FC +ENDCHAR +STARTCHAR SF400000 +ENCODING 9577 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 2 +BITMAP +50 +50 +50 +50 +50 +DC +00 +FC +ENDCHAR +STARTCHAR SF540000 +ENCODING 9578 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +20 +20 +20 +20 +20 +FC +20 +FC +20 +20 +20 +20 +ENDCHAR +STARTCHAR SF530000 +ENCODING 9579 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +50 +50 +50 +50 +50 +50 +FC +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR SF440000 +ENCODING 9580 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +50 +50 +50 +50 +50 +DC +00 +DC +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni256D +ENCODING 9581 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 2 -2 +BITMAP +30 +40 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni256E +ENCODING 9582 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 -2 +BITMAP +80 +40 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni256F +ENCODING 9583 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 3 +BITMAP +20 +20 +20 +20 +20 +40 +80 +ENDCHAR +STARTCHAR uni2570 +ENCODING 9584 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 2 3 +BITMAP +80 +80 +80 +80 +80 +40 +30 +ENDCHAR +STARTCHAR uni2571 +ENCODING 9585 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +04 +04 +08 +08 +10 +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2572 +ENCODING 9586 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +80 +80 +40 +40 +20 +20 +10 +10 +08 +08 +04 +04 +ENDCHAR +STARTCHAR uni2573 +ENCODING 9587 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +84 +84 +48 +48 +30 +30 +30 +30 +48 +48 +84 +84 +ENDCHAR +STARTCHAR uni2574 +ENCODING 9588 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 0 3 +BITMAP +E0 +ENDCHAR +STARTCHAR uni2575 +ENCODING 9589 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 6 2 4 +BITMAP +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2576 +ENCODING 9590 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 1 3 3 +BITMAP +E0 +ENDCHAR +STARTCHAR uni2577 +ENCODING 9591 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 6 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2578 +ENCODING 9592 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 0 3 +BITMAP +E0 +E0 +ENDCHAR +STARTCHAR uni2579 +ENCODING 9593 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 2 4 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni257A +ENCODING 9594 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 2 3 3 +BITMAP +E0 +E0 +ENDCHAR +STARTCHAR uni257B +ENCODING 9595 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 6 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni257C +ENCODING 9596 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 3 +BITMAP +1C +FC +ENDCHAR +STARTCHAR uni257D +ENCODING 9597 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni257E +ENCODING 9598 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 3 +BITMAP +E0 +FC +ENDCHAR +STARTCHAR uni257F +ENCODING 9599 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR upblock +ENCODING 9600 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 4 +BITMAP +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2581 +ENCODING 9601 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 -2 +BITMAP +FC +FC +ENDCHAR +STARTCHAR uni2582 +ENCODING 9602 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 -2 +BITMAP +FC +FC +FC +ENDCHAR +STARTCHAR uni2583 +ENCODING 9603 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 -2 +BITMAP +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR dnblock +ENCODING 9604 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2585 +ENCODING 9605 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2586 +ENCODING 9606 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2587 +ENCODING 9607 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR block +ENCODING 9608 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2589 +ENCODING 9609 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni258A +ENCODING 9610 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni258B +ENCODING 9611 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 0 -2 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR lfblock +ENCODING 9612 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni258D +ENCODING 9613 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 0 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni258E +ENCODING 9614 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 12 0 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni258F +ENCODING 9615 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR rtblock +ENCODING 9616 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 12 3 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR ltshade +ENCODING 9617 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -1 +BITMAP +A8 +00 +54 +00 +A8 +00 +54 +00 +A8 +00 +54 +ENDCHAR +STARTCHAR shade +ENCODING 9618 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +A8 +54 +A8 +54 +A8 +54 +A8 +54 +A8 +54 +A8 +54 +ENDCHAR +STARTCHAR dkshade +ENCODING 9619 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +54 +FC +A8 +FC +54 +FC +A8 +FC +54 +FC +A8 +FC +ENDCHAR +STARTCHAR uni2594 +ENCODING 9620 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 +BITMAP +FC +FC +ENDCHAR +STARTCHAR uni2595 +ENCODING 9621 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 12 5 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2596 +ENCODING 9622 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni2597 +ENCODING 9623 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 3 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni2598 +ENCODING 9624 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 4 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni2599 +ENCODING 9625 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni259A +ENCODING 9626 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +1C +1C +1C +1C +1C +1C +ENDCHAR +STARTCHAR uni259B +ENCODING 9627 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni259C +ENCODING 9628 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +1C +1C +1C +1C +1C +1C +ENDCHAR +STARTCHAR uni259D +ENCODING 9629 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 3 4 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni259E +ENCODING 9630 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +1C +1C +1C +1C +1C +1C +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni259F +ENCODING 9631 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +1C +1C +1C +1C +1C +1C +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR filledbox +ENCODING 9632 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR H22073 +ENCODING 9633 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni25A2 +ENCODING 9634 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni25A3 +ENCODING 9635 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni25A4 +ENCODING 9636 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +F8 +88 +F8 +ENDCHAR +STARTCHAR uni25A5 +ENCODING 9637 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni25A6 +ENCODING 9638 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +F8 +A8 +F8 +ENDCHAR +STARTCHAR uni25A7 +ENCODING 9639 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +C8 +A8 +98 +F8 +ENDCHAR +STARTCHAR uni25A8 +ENCODING 9640 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +98 +A8 +C8 +F8 +ENDCHAR +STARTCHAR uni25A9 +ENCODING 9641 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +D8 +A8 +D8 +F8 +ENDCHAR +STARTCHAR H18543 +ENCODING 9642 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 2 +BITMAP +E0 +E0 +E0 +ENDCHAR +STARTCHAR H18551 +ENCODING 9643 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 2 +BITMAP +E0 +A0 +E0 +ENDCHAR +STARTCHAR filledrect +ENCODING 9644 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni25AD +ENCODING 9645 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +FC +84 +84 +84 +FC +ENDCHAR +STARTCHAR uni25AE +ENCODING 9646 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni25AF +ENCODING 9647 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +F0 +90 +90 +90 +90 +90 +90 +90 +90 +F0 +ENDCHAR +STARTCHAR uni25B0 +ENCODING 9648 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +3C +78 +F0 +ENDCHAR +STARTCHAR uni25B1 +ENCODING 9649 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +3C +48 +F0 +ENDCHAR +STARTCHAR triagup +ENCODING 9650 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +70 +70 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni25B3 +ENCODING 9651 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +F8 +ENDCHAR +STARTCHAR uni25B4 +ENCODING 9652 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +70 +70 +F8 +ENDCHAR +STARTCHAR uni25B5 +ENCODING 9653 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +50 +50 +F8 +ENDCHAR +STARTCHAR uni25B6 +ENCODING 9654 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +C0 +E0 +F0 +E0 +C0 +80 +ENDCHAR +STARTCHAR uni25B7 +ENCODING 9655 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +C0 +A0 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni25B8 +ENCODING 9656 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +C0 +E0 +C0 +80 +ENDCHAR +STARTCHAR uni25B9 +ENCODING 9657 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +C0 +A0 +C0 +80 +ENDCHAR +STARTCHAR triagrt +ENCODING 9658 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C0 +F0 +FC +F0 +C0 +ENDCHAR +STARTCHAR uni25BB +ENCODING 9659 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C0 +B0 +8C +B0 +C0 +ENDCHAR +STARTCHAR triagdn +ENCODING 9660 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +F8 +F8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni25BD +ENCODING 9661 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni25BE +ENCODING 9662 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni25BF +ENCODING 9663 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni25C0 +ENCODING 9664 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +30 +70 +F0 +70 +30 +10 +ENDCHAR +STARTCHAR uni25C1 +ENCODING 9665 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +30 +50 +90 +50 +30 +10 +ENDCHAR +STARTCHAR uni25C2 +ENCODING 9666 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +60 +E0 +60 +20 +ENDCHAR +STARTCHAR uni25C3 +ENCODING 9667 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +60 +A0 +60 +20 +ENDCHAR +STARTCHAR triaglf +ENCODING 9668 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +0C +3C +FC +3C +0C +ENDCHAR +STARTCHAR uni25C5 +ENCODING 9669 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +0C +34 +C4 +34 +0C +ENDCHAR +STARTCHAR uni25C6 +ENCODING 9670 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni25C7 +ENCODING 9671 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni25C8 +ENCODING 9672 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +A8 +50 +20 +ENDCHAR +STARTCHAR uni25C9 +ENCODING 9673 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +48 +B4 +B4 +48 +30 +ENDCHAR +STARTCHAR lozenge +ENCODING 9674 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +50 +50 +20 +ENDCHAR +STARTCHAR circle +ENCODING 9675 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +48 +84 +84 +48 +30 +ENDCHAR +STARTCHAR uni25CC +ENCODING 9676 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +20 +08 +80 +04 +40 +10 +ENDCHAR +STARTCHAR uni25CD +ENCODING 9677 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni25CE +ENCODING 9678 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR H18533 +ENCODING 9679 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +78 +FC +FC +78 +30 +ENDCHAR +STARTCHAR uni25D0 +ENCODING 9680 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +68 +E4 +E4 +68 +30 +ENDCHAR +STARTCHAR uni25D1 +ENCODING 9681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +58 +9C +9C +58 +30 +ENDCHAR +STARTCHAR uni25D2 +ENCODING 9682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +48 +84 +FC +78 +30 +ENDCHAR +STARTCHAR uni25D3 +ENCODING 9683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +78 +FC +84 +48 +30 +ENDCHAR +STARTCHAR uni25D4 +ENCODING 9684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +58 +9C +84 +48 +30 +ENDCHAR +STARTCHAR uni25D5 +ENCODING 9685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +68 +E4 +84 +48 +30 +ENDCHAR +STARTCHAR uni25D6 +ENCODING 9686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 1 0 +BITMAP +08 +38 +78 +78 +F8 +78 +78 +38 +08 +ENDCHAR +STARTCHAR uni25D7 +ENCODING 9687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +80 +E0 +F0 +F0 +F8 +F0 +F0 +E0 +80 +ENDCHAR +STARTCHAR invbullet +ENCODING 9688 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +FC +CC +84 +84 +CC +FC +FC +FC +FC +ENDCHAR +STARTCHAR invcircle +ENCODING 9689 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +FC +FC +FC +CC +B4 +78 +78 +B4 +CC +FC +FC +FC +ENDCHAR +STARTCHAR uni25DA +ENCODING 9690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 4 +BITMAP +FC +FC +FC +CC +B4 +78 +ENDCHAR +STARTCHAR uni25DB +ENCODING 9691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +78 +B4 +CC +FC +FC +FC +ENDCHAR +STARTCHAR uni25DC +ENCODING 9692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 3 +BITMAP +20 +40 +80 +ENDCHAR +STARTCHAR uni25DD +ENCODING 9693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 3 3 +BITMAP +80 +40 +20 +ENDCHAR +STARTCHAR uni25DE +ENCODING 9694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 3 0 +BITMAP +20 +40 +80 +ENDCHAR +STARTCHAR uni25DF +ENCODING 9695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 0 0 +BITMAP +80 +40 +20 +ENDCHAR +STARTCHAR uni25E0 +ENCODING 9696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 3 +BITMAP +30 +48 +84 +ENDCHAR +STARTCHAR uni25E1 +ENCODING 9697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 0 +BITMAP +84 +48 +30 +ENDCHAR +STARTCHAR uni25E2 +ENCODING 9698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +18 +38 +78 +F8 +ENDCHAR +STARTCHAR uni25E3 +ENCODING 9699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +C0 +E0 +F0 +F8 +ENDCHAR +STARTCHAR uni25E4 +ENCODING 9700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F0 +E0 +C0 +80 +ENDCHAR +STARTCHAR uni25E5 +ENCODING 9701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +78 +38 +18 +08 +ENDCHAR +STARTCHAR openbullet +ENCODING 9702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni25E7 +ENCODING 9703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +E8 +E8 +E8 +F8 +ENDCHAR +STARTCHAR uni25E8 +ENCODING 9704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +B8 +B8 +B8 +F8 +ENDCHAR +STARTCHAR uni25E9 +ENCODING 9705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F8 +E8 +C8 +F8 +ENDCHAR +STARTCHAR uni25EA +ENCODING 9706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +98 +B8 +F8 +F8 +ENDCHAR +STARTCHAR uni25EB +ENCODING 9707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni25EC +ENCODING 9708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +70 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni25ED +ENCODING 9709 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +70 +70 +E8 +E8 +F8 +ENDCHAR +STARTCHAR uni25EE +ENCODING 9710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +70 +70 +B8 +B8 +F8 +ENDCHAR +STARTCHAR uni25EF +ENCODING 9711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +84 +84 +84 +48 +30 +ENDCHAR +STARTCHAR uni25F0 +ENCODING 9712 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +E8 +88 +F8 +ENDCHAR +STARTCHAR uni25F1 +ENCODING 9713 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +E8 +A8 +F8 +ENDCHAR +STARTCHAR uni25F2 +ENCODING 9714 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +B8 +A8 +F8 +ENDCHAR +STARTCHAR uni25F3 +ENCODING 9715 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +A8 +B8 +88 +F8 +ENDCHAR +STARTCHAR uni25F4 +ENCODING 9716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +E8 +88 +70 +ENDCHAR +STARTCHAR uni25F5 +ENCODING 9717 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +E8 +A8 +70 +ENDCHAR +STARTCHAR uni25F6 +ENCODING 9718 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +B8 +A8 +70 +ENDCHAR +STARTCHAR uni25F7 +ENCODING 9719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +B8 +88 +70 +ENDCHAR +STARTCHAR uni25F8 +ENCODING 9720 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni25F9 +ENCODING 9721 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +48 +28 +18 +08 +ENDCHAR +STARTCHAR uni25FA +ENCODING 9722 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +80 +C0 +A0 +90 +F8 +ENDCHAR +STARTCHAR uni25FB +ENCODING 9723 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 2 +BITMAP +F0 +90 +90 +F0 +ENDCHAR +STARTCHAR uni25FC +ENCODING 9724 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni25FD +ENCODING 9725 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 2 +BITMAP +F0 +90 +90 +F0 +ENDCHAR +STARTCHAR uni25FE +ENCODING 9726 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 2 +BITMAP +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni25FF +ENCODING 9727 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +18 +28 +48 +F8 +ENDCHAR +STARTCHAR uni2600 +ENCODING 9728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +88 +20 +70 +20 +88 +20 +20 +ENDCHAR +STARTCHAR uni2601 +ENCODING 9729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 3 +BITMAP +60 +F8 +FC +ENDCHAR +STARTCHAR uni2602 +ENCODING 9730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +F8 +F8 +20 +20 +20 +20 +40 +ENDCHAR +STARTCHAR uni2603 +ENCODING 9731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +A0 +74 +50 +A8 +50 +54 +70 +88 +88 +70 +ENDCHAR +STARTCHAR uni2604 +ENCODING 9732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +08 +48 +50 +54 +44 +08 +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni2605 +ENCODING 9733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni2606 +ENCODING 9734 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +50 +70 +88 +ENDCHAR +STARTCHAR uni2607 +ENCODING 9735 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +08 +10 +20 +40 +80 +40 +28 +18 +38 +ENDCHAR +STARTCHAR uni2608 +ENCODING 9736 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +90 +90 +A0 +A0 +98 +98 +B8 +ENDCHAR +STARTCHAR uni2609 +ENCODING 9737 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni260A +ENCODING 9738 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +50 +50 +A8 +50 +ENDCHAR +STARTCHAR uni260B +ENCODING 9739 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +A8 +50 +50 +88 +88 +70 +ENDCHAR +STARTCHAR uni260C +ENCODING 9740 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +70 +90 +90 +60 +ENDCHAR +STARTCHAR uni260D +ENCODING 9741 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +30 +48 +48 +30 +20 +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni260E +ENCODING 9742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +A8 +70 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni260F +ENCODING 9743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +70 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2610 +ENCODING 9744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +FC +84 +84 +84 +84 +84 +84 +84 +FC +ENDCHAR +STARTCHAR uni2611 +ENCODING 9745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +FC +84 +8C +8C +94 +94 +D4 +A4 +FC +ENDCHAR +STARTCHAR uni2612 +ENCODING 9746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +FC +CC +CC +B4 +B4 +B4 +CC +CC +FC +ENDCHAR +STARTCHAR uni2613 +ENCODING 9747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +88 +88 +50 +50 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni2616 +ENCODING 9750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +88 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2617 +ENCODING 9751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +F8 +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni2619 +ENCODING 9753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +24 +74 +F8 +E8 +F4 +74 +28 +ENDCHAR +STARTCHAR uni261A +ENCODING 9754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +7C +7C +3C +ENDCHAR +STARTCHAR uni261B +ENCODING 9755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +F8 +F8 +F0 +ENDCHAR +STARTCHAR uni261C +ENCODING 9756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +4C +4C +3C +ENDCHAR +STARTCHAR uni261D +ENCODING 9757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +10 +30 +F0 +D0 +90 +90 +F0 +F0 +ENDCHAR +STARTCHAR uni261E +ENCODING 9758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +C8 +C8 +F0 +ENDCHAR +STARTCHAR uni261F +ENCODING 9759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +F0 +F0 +90 +90 +D0 +F0 +30 +10 +10 +ENDCHAR +STARTCHAR uni2620 +ENCODING 9760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +A8 +F8 +70 +50 +20 +88 +70 +88 +ENDCHAR +STARTCHAR uni2621 +ENCODING 9761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +E0 +10 +10 +20 +40 +80 +80 +70 +ENDCHAR +STARTCHAR uni2622 +ENCODING 9762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +D8 +D8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2623 +ENCODING 9763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +48 +FC +48 +48 +30 +48 +ENDCHAR +STARTCHAR uni2624 +ENCODING 9764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +F8 +70 +50 +70 +50 +70 +50 +20 +ENDCHAR +STARTCHAR uni2625 +ENCODING 9765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +50 +20 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2626 +ENCODING 9766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +F8 +20 +60 +30 +20 +ENDCHAR +STARTCHAR uni2627 +ENCODING 9767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +30 +28 +30 +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR uni2628 +ENCODING 9768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2629 +ENCODING 9769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +20 +A8 +F8 +A8 +20 +70 +ENDCHAR +STARTCHAR uni262A +ENCODING 9770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +E4 +C8 +DC +C8 +D4 +C0 +E4 +78 +ENDCHAR +STARTCHAR uni262B +ENCODING 9771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +50 +00 +20 +A8 +A8 +A8 +70 +70 +ENDCHAR +STARTCHAR uni262C +ENCODING 9772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +A8 +70 +88 +70 +70 +A8 +ENDCHAR +STARTCHAR uni262D +ENCODING 9773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +70 +88 +28 +68 +C8 +A8 +18 +48 +B4 +ENDCHAR +STARTCHAR uni262E +ENCODING 9774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni262F +ENCODING 9775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +84 +EC +A4 +FC +78 +ENDCHAR +STARTCHAR uni2630 +ENCODING 9776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +F8 +00 +F8 +F8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni2631 +ENCODING 9777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +D8 +00 +F8 +F8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni2632 +ENCODING 9778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +F8 +00 +D8 +D8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni2633 +ENCODING 9779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +F8 +00 +F8 +F8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2634 +ENCODING 9780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni2635 +ENCODING 9781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +D8 +00 +F8 +F8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2636 +ENCODING 9782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F8 +F8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2637 +ENCODING 9783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2638 +ENCODING 9784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +D8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2639 +ENCODING 9785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +D8 +D8 +88 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR smileface +ENCODING 9786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +D8 +D8 +88 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR invsmileface +ENCODING 9787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +F8 +A8 +A8 +F8 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR sun +ENCODING 9788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +88 +20 +50 +20 +88 +20 +20 +ENDCHAR +STARTCHAR uni263D +ENCODING 9789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +C8 +28 +28 +28 +C8 +70 +ENDCHAR +STARTCHAR uni263E +ENCODING 9790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +98 +A0 +A0 +A0 +98 +70 +ENDCHAR +STARTCHAR uni263F +ENCODING 9791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +88 +70 +88 +88 +70 +20 +70 +20 +ENDCHAR +STARTCHAR female +ENCODING 9792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +70 +88 +88 +88 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni2641 +ENCODING 9793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR male +ENCODING 9794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +1C +0C +74 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2643 +ENCODING 9795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +A8 +28 +28 +48 +F8 +08 +ENDCHAR +STARTCHAR uni2644 +ENCODING 9796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +E0 +40 +50 +68 +48 +48 +ENDCHAR +STARTCHAR uni2645 +ENCODING 9797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +88 +A8 +F8 +A8 +A8 +20 +50 +20 +ENDCHAR +STARTCHAR uni2646 +ENCODING 9798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +A8 +FC +A8 +A8 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni2647 +ENCODING 9799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +E0 +90 +90 +E0 +80 +80 +F0 +ENDCHAR +STARTCHAR uni2648 +ENCODING 9800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +A8 +A8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni2649 +ENCODING 9801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +84 +48 +30 +48 +48 +30 +ENDCHAR +STARTCHAR uni264A +ENCODING 9802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +50 +50 +50 +50 +50 +F8 +ENDCHAR +STARTCHAR uni264B +ENCODING 9803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +38 +44 +A0 +48 +14 +88 +70 +ENDCHAR +STARTCHAR uni264C +ENCODING 9804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +70 +88 +48 +28 +68 +A8 +48 +04 +ENDCHAR +STARTCHAR uni264D +ENCODING 9805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +AC +FC +AC +AC +AC +A8 +A8 +18 +28 +ENDCHAR +STARTCHAR uni264E +ENCODING 9806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +50 +D8 +00 +F8 +ENDCHAR +STARTCHAR uni264F +ENCODING 9807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +A8 +F8 +A8 +A8 +A8 +A8 +A8 +0C +ENDCHAR +STARTCHAR uni2650 +ENCODING 9808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +18 +A8 +40 +A0 +ENDCHAR +STARTCHAR uni2651 +ENCODING 9809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +90 +A8 +B0 +C8 +88 +30 +ENDCHAR +STARTCHAR uni2652 +ENCODING 9810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +54 +A8 +00 +54 +A8 +ENDCHAR +STARTCHAR uni2653 +ENCODING 9811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +50 +50 +F8 +50 +50 +88 +ENDCHAR +STARTCHAR uni2654 +ENCODING 9812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +70 +70 +A8 +F8 +88 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni2655 +ENCODING 9813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +F8 +88 +F8 +50 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni2656 +ENCODING 9814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +F8 +50 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni2657 +ENCODING 9815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +70 +D8 +88 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni2658 +ENCODING 9816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +38 +68 +88 +E8 +28 +28 +44 +7C +ENDCHAR +STARTCHAR uni2659 +ENCODING 9817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +50 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni265A +ENCODING 9818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +70 +70 +A8 +F8 +F8 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni265B +ENCODING 9819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +A8 +F8 +F8 +F8 +70 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni265C +ENCODING 9820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +F8 +70 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni265D +ENCODING 9821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +70 +D8 +88 +50 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni265E +ENCODING 9822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +38 +58 +F8 +F8 +38 +38 +7C +7C +ENDCHAR +STARTCHAR uni265F +ENCODING 9823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +20 +70 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR spade +ENCODING 9824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +20 +70 +70 +F8 +F8 +20 +70 +ENDCHAR +STARTCHAR uni2661 +ENCODING 9825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +A8 +A8 +88 +50 +20 +20 +ENDCHAR +STARTCHAR uni2662 +ENCODING 9826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +50 +50 +20 +ENDCHAR +STARTCHAR club +ENCODING 9827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +70 +A8 +F8 +F8 +A8 +20 +70 +ENDCHAR +STARTCHAR uni2664 +ENCODING 9828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +F8 +F8 +F8 +70 +20 +20 +ENDCHAR +STARTCHAR heart +ENCODING 9829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +F8 +F8 +F8 +F8 +70 +70 +20 +ENDCHAR +STARTCHAR diamond +ENCODING 9830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +70 +F8 +F8 +70 +70 +20 +ENDCHAR +STARTCHAR uni2667 +ENCODING 9831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +70 +A8 +70 +20 +70 +ENDCHAR +STARTCHAR uni2668 +ENCODING 9832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +90 +48 +90 +48 +00 +50 +88 +70 +ENDCHAR +STARTCHAR uni2669 +ENCODING 9833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 0 0 +BITMAP +20 +20 +20 +20 +20 +E0 +C0 +ENDCHAR +STARTCHAR musicalnote +ENCODING 9834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +30 +28 +20 +20 +E0 +C0 +ENDCHAR +STARTCHAR musicalnotedbl +ENCODING 9835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +58 +48 +48 +48 +C8 +D8 +18 +ENDCHAR +STARTCHAR uni266C +ENCODING 9836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +60 +58 +68 +58 +48 +C8 +D8 +18 +ENDCHAR +STARTCHAR uni266D +ENCODING 9837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +80 +80 +A0 +D0 +90 +A0 +C0 +ENDCHAR +STARTCHAR uni266E +ENCODING 9838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +80 +90 +B0 +D0 +90 +B0 +D0 +90 +10 +ENDCHAR +STARTCHAR uni266F +ENCODING 9839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +10 +58 +70 +D0 +58 +70 +D0 +40 +ENDCHAR +STARTCHAR uni2670 +ENCODING 9840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +50 +20 +A8 +70 +A8 +20 +20 +50 +ENDCHAR +STARTCHAR uni2671 +ENCODING 9841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +50 +20 +D8 +A8 +20 +20 +50 +20 +ENDCHAR +STARTCHAR uni2672 +ENCODING 9842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +10 +C8 +44 +8C +80 +94 +38 +10 +ENDCHAR +STARTCHAR uni2673 +ENCODING 9843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +58 +10 +94 +84 +DC +ENDCHAR +STARTCHAR uni2674 +ENCODING 9844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +10 +B4 +84 +DC +ENDCHAR +STARTCHAR uni2675 +ENCODING 9845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +30 +B4 +84 +DC +ENDCHAR +STARTCHAR uni2676 +ENCODING 9846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +30 +94 +84 +DC +ENDCHAR +STARTCHAR uni2677 +ENCODING 9847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +20 +B4 +84 +DC +ENDCHAR +STARTCHAR uni2678 +ENCODING 9848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +68 +30 +B4 +84 +DC +ENDCHAR +STARTCHAR uni2679 +ENCODING 9849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +78 +10 +94 +84 +DC +ENDCHAR +STARTCHAR uni267A +ENCODING 9850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +00 +84 +84 +DC +ENDCHAR +STARTCHAR uni267B +ENCODING 9851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +30 +28 +CC +CC +80 +94 +B8 +10 +ENDCHAR +STARTCHAR uni267C +ENCODING 9852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +78 +FC +C4 +D4 +30 +30 +7C +68 +44 +EC +FC +78 +ENDCHAR +STARTCHAR uni267D +ENCODING 9853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +78 +84 +30 +28 +CC +CC +80 +94 +B8 +10 +84 +78 +ENDCHAR +STARTCHAR uni267E +ENCODING 9854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +00 +50 +A8 +50 +00 +88 +70 +ENDCHAR +STARTCHAR uni267F +ENCODING 9855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +60 +60 +40 +78 +40 +F0 +98 +64 +ENDCHAR +STARTCHAR uni2680 +ENCODING 9856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +88 +88 +A8 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2681 +ENCODING 9857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +C8 +88 +88 +88 +98 +88 +F8 +ENDCHAR +STARTCHAR uni2682 +ENCODING 9858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +C8 +88 +A8 +88 +98 +88 +F8 +ENDCHAR +STARTCHAR uni2683 +ENCODING 9859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +D8 +88 +88 +88 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni2684 +ENCODING 9860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +D8 +88 +A8 +88 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni2685 +ENCODING 9861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +88 +D8 +88 +D8 +88 +D8 +88 +F8 +ENDCHAR +STARTCHAR uni2686 +ENCODING 9862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +98 +88 +70 +ENDCHAR +STARTCHAR uni2687 +ENCODING 9863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2688 +ENCODING 9864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +F8 +E8 +F8 +70 +ENDCHAR +STARTCHAR uni2689 +ENCODING 9865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +F8 +A8 +F8 +70 +ENDCHAR +STARTCHAR uni268A +ENCODING 9866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +F8 +F8 +ENDCHAR +STARTCHAR uni268B +ENCODING 9867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni268C +ENCODING 9868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +F8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni268D +ENCODING 9869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +F8 +F8 +ENDCHAR +STARTCHAR uni268E +ENCODING 9870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +F8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni268F +ENCODING 9871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2690 +ENCODING 9872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +98 +88 +C8 +B8 +80 +80 +ENDCHAR +STARTCHAR uni2691 +ENCODING 9873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +F8 +F8 +F8 +B8 +80 +80 +ENDCHAR +STARTCHAR uni2692 +ENCODING 9874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +48 +CC +B4 +30 +48 +84 +ENDCHAR +STARTCHAR uni2693 +ENCODING 9875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +F8 +20 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2694 +ENCODING 9876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +D8 +88 +ENDCHAR +STARTCHAR uni2695 +ENCODING 9877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +A0 +70 +28 +30 +60 +30 +20 +ENDCHAR +STARTCHAR uni2696 +ENCODING 9878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +A8 +88 +88 +D8 +D8 +ENDCHAR +STARTCHAR uni2697 +ENCODING 9879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +38 +5C +88 +00 +1C +14 +ENDCHAR +STARTCHAR uni2698 +ENCODING 9880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +20 +A8 +F8 +70 +20 +20 +ENDCHAR +STARTCHAR uni2699 +ENCODING 9881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +88 +A8 +88 +F8 +20 +ENDCHAR +STARTCHAR uni269A +ENCODING 9882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +20 +A8 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni269B +ENCODING 9883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +70 +D8 +70 +D8 +70 +A8 +ENDCHAR +STARTCHAR uni269C +ENCODING 9884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +D8 +88 +A8 +50 +50 +20 +ENDCHAR +STARTCHAR uni26A0 +ENCODING 9888 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +88 +A8 +A8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR uni26A1 +ENCODING 9889 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +20 +40 +F0 +20 +40 +80 +ENDCHAR +STARTCHAR uni26A2 +ENCODING 9890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +A8 +A8 +70 +50 +F8 +50 +ENDCHAR +STARTCHAR uni26A3 +ENCODING 9891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +20 +6C +98 +A8 +48 +30 +ENDCHAR +STARTCHAR uni26A4 +ENCODING 9892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 +BITMAP +0C +0C +18 +64 +A4 +98 +60 +40 +E0 +40 +ENDCHAR +STARTCHAR uni26A5 +ENCODING 9893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +0C +0C +10 +70 +88 +88 +88 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni26A6 +ENCODING 9894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +0C +0C +18 +18 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni26A7 +ENCODING 9895 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +CC +CC +30 +48 +48 +30 +20 +70 +20 +ENDCHAR +STARTCHAR uni26A8 +ENCODING 9896 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +70 +A8 +20 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni26A9 +ENCODING 9897 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +BC +48 +ENDCHAR +STARTCHAR uni26AA +ENCODING 9898 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni26AB +ENCODING 9899 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +F8 +F8 +F8 +70 +ENDCHAR +STARTCHAR uni26AC +ENCODING 9900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni26AD +ENCODING 9901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni26AE +ENCODING 9902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni26AF +ENCODING 9903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +B4 +48 +ENDCHAR +STARTCHAR uni26B0 +ENCODING 9904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +50 +88 +88 +88 +50 +50 +50 +70 +ENDCHAR +STARTCHAR uni26B1 +ENCODING 9905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +50 +70 +88 +88 +88 +50 +50 +70 +ENDCHAR +STARTCHAR uni26B2 +ENCODING 9906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +70 +20 +20 +ENDCHAR +STARTCHAR uni26B3 +ENCODING 9907 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -1 +BITMAP +E0 +10 +10 +10 +60 +40 +E0 +40 +ENDCHAR +STARTCHAR uni26B4 +ENCODING 9908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +50 +88 +50 +20 +20 +70 +20 +ENDCHAR +STARTCHAR uni26B5 +ENCODING 9909 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +A8 +70 +F8 +70 +A8 +20 +20 +70 +20 +ENDCHAR +STARTCHAR uni26B6 +ENCODING 9910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +20 +88 +50 +20 +00 +D8 +20 +ENDCHAR +STARTCHAR uni26B7 +ENCODING 9911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +28 +30 +20 +30 +28 +20 +70 +88 +70 +ENDCHAR +STARTCHAR uni26B8 +ENCODING 9912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -1 +BITMAP +70 +C0 +C0 +C0 +C0 +70 +20 +70 +20 +ENDCHAR +STARTCHAR uni26B9 +ENCODING 9913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +50 +F8 +50 +88 +ENDCHAR +STARTCHAR uni26BA +ENCODING 9914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +50 +50 +20 +F8 +ENDCHAR +STARTCHAR uni26BB +ENCODING 9915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni26BC +ENCODING 9916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +A8 +F8 +20 +30 +ENDCHAR +STARTCHAR uni26C0 +ENCODING 9920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni26C1 +ENCODING 9921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +F8 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni26C2 +ENCODING 9922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +F8 +F8 +F8 +70 +ENDCHAR +STARTCHAR uni26C3 +ENCODING 9923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +F8 +70 +88 +F8 +70 +ENDCHAR +STARTCHAR uni2701 +ENCODING 9985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +90 +FC +20 +40 +60 +ENDCHAR +STARTCHAR uni2702 +ENCODING 9986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C4 +C8 +30 +C8 +C4 +ENDCHAR +STARTCHAR uni2703 +ENCODING 9987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +60 +40 +20 +FC +90 +ENDCHAR +STARTCHAR uni2704 +ENCODING 9988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +CC +94 +E8 +30 +E8 +94 +CC +ENDCHAR +STARTCHAR uni2706 +ENCODING 9990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +78 +84 +B4 +B4 +A4 +B4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni2707 +ENCODING 9991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +78 +84 +B4 +84 +B4 +84 +CC +84 +78 +ENDCHAR +STARTCHAR uni2708 +ENCODING 9992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +B0 +FC +B0 +20 +ENDCHAR +STARTCHAR uni2709 +ENCODING 9993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +FC +CC +B4 +84 +FC +ENDCHAR +STARTCHAR uni270C +ENCODING 9996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +90 +90 +50 +70 +F0 +F0 +F0 +70 +ENDCHAR +STARTCHAR uni270D +ENCODING 9997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +04 +38 +7C +7C +40 +80 +ENDCHAR +STARTCHAR uni270E +ENCODING 9998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +E0 +50 +28 +14 +0C +ENDCHAR +STARTCHAR uni270F +ENCODING 9999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +F8 +8C +F8 +ENDCHAR +STARTCHAR uni2710 +ENCODING 10000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +0C +14 +28 +50 +E0 +40 +ENDCHAR +STARTCHAR uni2711 +ENCODING 10001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +F8 +84 +84 +F8 +ENDCHAR +STARTCHAR uni2712 +ENCODING 10002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +F8 +F4 +F8 +ENDCHAR +STARTCHAR uni2713 +ENCODING 10003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +10 +10 +A0 +E0 +40 +ENDCHAR +STARTCHAR uni2714 +ENCODING 10004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +0C +1C +D8 +F8 +70 +30 +ENDCHAR +STARTCHAR uni2715 +ENCODING 10005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni2716 +ENCODING 10006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +F8 +20 +F8 +D8 +ENDCHAR +STARTCHAR uni2717 +ENCODING 10007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +20 +50 +88 +80 +ENDCHAR +STARTCHAR uni2718 +ENCODING 10008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +CC +CC +78 +70 +FC +CC +C0 +ENDCHAR +STARTCHAR uni2719 +ENCODING 10009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +78 +CC +A4 +F4 +A4 +CC +78 +ENDCHAR +STARTCHAR uni271A +ENCODING 10010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +30 +FC +FC +30 +30 +ENDCHAR +STARTCHAR uni271B +ENCODING 10011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +D8 +20 +20 +ENDCHAR +STARTCHAR uni271C +ENCODING 10012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +30 +CC +CC +30 +30 +ENDCHAR +STARTCHAR uni271D +ENCODING 10013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni271E +ENCODING 10014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +70 +50 +D8 +88 +D8 +50 +50 +50 +50 +70 +ENDCHAR +STARTCHAR uni271F +ENCODING 10015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +DC +BC +DC +58 +58 +58 +78 +78 +ENDCHAR +STARTCHAR uni2720 +ENCODING 10016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +20 +A8 +F8 +A8 +20 +70 +ENDCHAR +STARTCHAR uni2721 +ENCODING 10017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +F8 +50 +50 +50 +F8 +20 +ENDCHAR +STARTCHAR uni2722 +ENCODING 10018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2723 +ENCODING 10019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +30 +30 +FC +FC +30 +30 +ENDCHAR +STARTCHAR uni2724 +ENCODING 10020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +30 +78 +30 +FC +FC +30 +78 +30 +ENDCHAR +STARTCHAR uni2725 +ENCODING 10021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +F8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2726 +ENCODING 10022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2727 +ENCODING 10023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +D8 +70 +20 +ENDCHAR +STARTCHAR uni2729 +ENCODING 10025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +D8 +50 +20 +50 +ENDCHAR +STARTCHAR uni272A +ENCODING 10026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +D8 +88 +D8 +A8 +F8 +70 +ENDCHAR +STARTCHAR uni272B +ENCODING 10027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +50 +70 +88 +ENDCHAR +STARTCHAR uni272C +ENCODING 10028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni272D +ENCODING 10029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni272E +ENCODING 10030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +F8 +70 +70 +88 +ENDCHAR +STARTCHAR uni272F +ENCODING 10031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +20 +E8 +30 +50 +88 +ENDCHAR +STARTCHAR uni2730 +ENCODING 10032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +58 +8C +58 +AC +58 +ENDCHAR +STARTCHAR uni2731 +ENCODING 10033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2732 +ENCODING 10034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +50 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2733 +ENCODING 10035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2734 +ENCODING 10036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2735 +ENCODING 10037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2736 +ENCODING 10038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2737 +ENCODING 10039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +50 +20 +A8 +70 +70 +A8 +20 +50 +ENDCHAR +STARTCHAR uni2738 +ENCODING 10040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +50 +20 +A8 +70 +70 +A8 +20 +50 +ENDCHAR +STARTCHAR uni2739 +ENCODING 10041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +50 +F8 +7C +F8 +7C +F8 +50 +ENDCHAR +STARTCHAR uni273A +ENCODING 10042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +50 +A8 +74 +F8 +74 +A8 +50 +ENDCHAR +STARTCHAR uni273B +ENCODING 10043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni273C +ENCODING 10044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +50 +70 +A8 +20 +ENDCHAR +STARTCHAR uni273D +ENCODING 10045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni273E +ENCODING 10046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A8 +D8 +50 +A8 +74 +A8 +20 +ENDCHAR +STARTCHAR uni273F +ENCODING 10047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +20 +70 +F8 +D8 +70 +F8 +D8 +ENDCHAR +STARTCHAR uni2740 +ENCODING 10048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +20 +70 +D8 +A8 +50 +F8 +D8 +ENDCHAR +STARTCHAR uni2741 +ENCODING 10049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +70 +D8 +70 +F8 +20 +ENDCHAR +STARTCHAR uni2742 +ENCODING 10050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +A8 +D8 +A8 +F8 +70 +ENDCHAR +STARTCHAR uni2743 +ENCODING 10051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2744 +ENCODING 10052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2745 +ENCODING 10053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2746 +ENCODING 10054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +A8 +70 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2747 +ENCODING 10055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2748 +ENCODING 10056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2749 +ENCODING 10057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni274A +ENCODING 10058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni274B +ENCODING 10059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni274D +ENCODING 10061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +78 +8C +8C +8C +78 +ENDCHAR +STARTCHAR uni274F +ENCODING 10063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +F8 +8C +8C +8C +FC +7C +ENDCHAR +STARTCHAR uni2750 +ENCODING 10064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +7C +FC +8C +8C +8C +F8 +ENDCHAR +STARTCHAR uni2751 +ENCODING 10065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +F8 +8C +8C +8C +FC +7C +ENDCHAR +STARTCHAR uni2752 +ENCODING 10066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +7C +FC +8C +8C +8C +F8 +ENDCHAR +STARTCHAR uni2756 +ENCODING 10070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +38 +54 +EC +54 +38 +10 +ENDCHAR +STARTCHAR uni2758 +ENCODING 10072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2759 +ENCODING 10073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 7 1 0 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni275A +ENCODING 10074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni275B +ENCODING 10075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 4 +BITMAP +60 +80 +E0 +F0 +60 +ENDCHAR +STARTCHAR uni275C +ENCODING 10076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 4 +BITMAP +60 +F0 +70 +10 +60 +ENDCHAR +STARTCHAR uni275D +ENCODING 10077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 4 +BITMAP +48 +90 +D8 +FC +48 +ENDCHAR +STARTCHAR uni275E +ENCODING 10078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 4 +BITMAP +48 +FC +6C +24 +48 +ENDCHAR +STARTCHAR uni2761 +ENCODING 10081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +08 +7C +C8 +C8 +C8 +78 +08 +C8 +88 +70 +ENDCHAR +STARTCHAR uni2762 +ENCODING 10082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +F8 +70 +20 +00 +20 +70 +20 +ENDCHAR +STARTCHAR uni2763 +ENCODING 10083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +D8 +F8 +70 +20 +00 +20 +70 +20 +ENDCHAR +STARTCHAR uni2764 +ENCODING 10084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +F8 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2765 +ENCODING 10085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +F0 +F0 +78 +F0 +F0 +60 +ENDCHAR +STARTCHAR uni2766 +ENCODING 10086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +64 +B8 +20 +D8 +F8 +F0 +E4 +78 +ENDCHAR +STARTCHAR uni2767 +ENCODING 10087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +80 +58 +78 +DC +98 +40 +ENDCHAR +STARTCHAR uni2768 +ENCODING 10088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +20 +40 +C0 +C0 +C0 +C0 +40 +20 +ENDCHAR +STARTCHAR uni2769 +ENCODING 10089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 +BITMAP +80 +40 +60 +60 +60 +60 +40 +80 +ENDCHAR +STARTCHAR uni276A +ENCODING 10090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 1 0 +BITMAP +40 +C0 +C0 +C0 +C0 +C0 +C0 +40 +ENDCHAR +STARTCHAR uni276B +ENCODING 10091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 1 0 +BITMAP +80 +C0 +C0 +C0 +C0 +C0 +C0 +80 +ENDCHAR +STARTCHAR uni276C +ENCODING 10092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +30 +30 +60 +60 +C0 +60 +60 +30 +30 +ENDCHAR +STARTCHAR uni276D +ENCODING 10093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +C0 +C0 +60 +60 +30 +60 +60 +C0 +C0 +ENDCHAR +STARTCHAR uni276E +ENCODING 10094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +18 +30 +60 +C0 +60 +30 +18 +ENDCHAR +STARTCHAR uni276F +ENCODING 10095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +C0 +60 +30 +18 +30 +60 +C0 +ENDCHAR +STARTCHAR uni2770 +ENCODING 10096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +38 +38 +70 +70 +E0 +70 +70 +38 +38 +ENDCHAR +STARTCHAR uni2771 +ENCODING 10097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +E0 +E0 +70 +70 +38 +70 +70 +E0 +E0 +ENDCHAR +STARTCHAR uni2772 +ENCODING 10098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +40 +80 +80 +80 +80 +80 +40 +20 +ENDCHAR +STARTCHAR uni2773 +ENCODING 10099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +40 +20 +20 +20 +20 +20 +40 +80 +ENDCHAR +STARTCHAR uni2774 +ENCODING 10100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +30 +60 +60 +60 +C0 +60 +60 +60 +30 +ENDCHAR +STARTCHAR uni2775 +ENCODING 10101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -1 +BITMAP +C0 +60 +60 +60 +30 +60 +60 +60 +C0 +ENDCHAR +STARTCHAR uni2776 +ENCODING 10102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +98 +D8 +D8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni2777 +ENCODING 10103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +E8 +D8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni2778 +ENCODING 10104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +98 +E8 +D8 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni2779 +ENCODING 10105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +B8 +B8 +98 +88 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni277A +ENCODING 10106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +88 +B8 +98 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni277B +ENCODING 10107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +C8 +B8 +98 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni277C +ENCODING 10108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +88 +E8 +D8 +D8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni277D +ENCODING 10109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +D8 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni277E +ENCODING 10110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +C8 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni277F +ENCODING 10111 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +94 +94 +94 +AC +FC +78 +ENDCHAR +STARTCHAR uni2780 +ENCODING 10112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +E8 +A8 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni2781 +ENCODING 10113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +98 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni2782 +ENCODING 10114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +E8 +98 +A8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2783 +ENCODING 10115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +C8 +C8 +E8 +F8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2784 +ENCODING 10116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +F8 +C8 +E8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2785 +ENCODING 10117 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +B8 +C8 +E8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2786 +ENCODING 10118 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +F8 +98 +A8 +A8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2787 +ENCODING 10119 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +A8 +D8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2788 +ENCODING 10120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +D8 +B8 +98 +E8 +88 +70 +ENDCHAR +STARTCHAR uni2789 +ENCODING 10121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +84 +D4 +EC +EC +EC +D4 +84 +78 +ENDCHAR +STARTCHAR uni278A +ENCODING 10122 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +98 +D8 +D8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni278B +ENCODING 10123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +E8 +D8 +88 +F8 +70 +ENDCHAR +STARTCHAR uni278C +ENCODING 10124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +98 +E8 +D8 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni278D +ENCODING 10125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +B8 +B8 +98 +88 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni278E +ENCODING 10126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +88 +B8 +98 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni278F +ENCODING 10127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +C8 +B8 +98 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni2790 +ENCODING 10128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +88 +E8 +D8 +D8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni2791 +ENCODING 10129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +D8 +A8 +D8 +F8 +70 +ENDCHAR +STARTCHAR uni2792 +ENCODING 10130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +F8 +D8 +A8 +C8 +E8 +98 +F8 +70 +ENDCHAR +STARTCHAR uni2793 +ENCODING 10131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +78 +FC +AC +94 +94 +94 +AC +FC +78 +ENDCHAR +STARTCHAR uni2794 +ENCODING 10132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +18 +FC +18 +30 +ENDCHAR +STARTCHAR uni2798 +ENCODING 10136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +40 +28 +18 +38 +ENDCHAR +STARTCHAR uni2799 +ENCODING 10137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +30 +F8 +30 +20 +ENDCHAR +STARTCHAR uni279A +ENCODING 10138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +18 +28 +40 +80 +ENDCHAR +STARTCHAR uni279B +ENCODING 10139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +30 +FC +30 +40 +ENDCHAR +STARTCHAR uni279C +ENCODING 10140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +38 +FC +FC +38 +30 +ENDCHAR +STARTCHAR uni279D +ENCODING 10141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +08 +FC +08 +ENDCHAR +STARTCHAR uni279E +ENCODING 10142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +18 +FC +FC +18 +10 +ENDCHAR +STARTCHAR uni279F +ENCODING 10143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +08 +BC +08 +ENDCHAR +STARTCHAR uni27A0 +ENCODING 10144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +18 +BC +BC +18 +10 +ENDCHAR +STARTCHAR uni27A1 +ENCODING 10145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +F8 +FC +F8 +10 +ENDCHAR +STARTCHAR uni27A2 +ENCODING 10146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +B0 +48 +3C +78 +F0 +C0 +ENDCHAR +STARTCHAR uni27A3 +ENCODING 10147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +F0 +78 +3C +48 +B0 +C0 +ENDCHAR +STARTCHAR uni27A4 +ENCODING 10148 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +E0 +78 +3C +78 +E0 +ENDCHAR +STARTCHAR uni27A5 +ENCODING 10149 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +80 +90 +F8 +FC +78 +10 +ENDCHAR +STARTCHAR uni27A6 +ENCODING 10150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +78 +FC +F8 +90 +80 +ENDCHAR +STARTCHAR uni27A7 +ENCODING 10151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +F0 +F8 +FC +F8 +F0 +20 +ENDCHAR +STARTCHAR uni27A8 +ENCODING 10152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +F0 +FC +F0 +20 +ENDCHAR +STARTCHAR uni27A9 +ENCODING 10153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AA +ENCODING 10154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AB +ENCODING 10155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AC +ENCODING 10156 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AD +ENCODING 10157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +E8 +84 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AE +ENCODING 10158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +10 +E8 +84 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27AF +ENCODING 10159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27B1 +ENCODING 10161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +E8 +84 +E8 +10 +ENDCHAR +STARTCHAR uni27B2 +ENCODING 10162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +DC +0C +04 +0C +DC +78 +ENDCHAR +STARTCHAR uni27B3 +ENCODING 10163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +E8 +7C +E8 +ENDCHAR +STARTCHAR uni27B4 +ENCODING 10164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +E0 +60 +10 +0C +0C +ENDCHAR +STARTCHAR uni27B5 +ENCODING 10165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +E8 +7C +E8 +ENDCHAR +STARTCHAR uni27B6 +ENCODING 10166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +0C +0C +10 +60 +E0 +40 +ENDCHAR +STARTCHAR uni27B7 +ENCODING 10167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +60 +E0 +E0 +14 +0C +1C +ENDCHAR +STARTCHAR uni27B8 +ENCODING 10168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +C0 +E8 +7C +E8 +C0 +ENDCHAR +STARTCHAR uni27B9 +ENCODING 10169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +1C +0C +14 +E0 +E0 +60 +ENDCHAR +STARTCHAR uni27BA +ENCODING 10170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +10 +C8 +FC +C8 +10 +ENDCHAR +STARTCHAR uni27BB +ENCODING 10171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +10 +C8 +FC +C8 +10 +ENDCHAR +STARTCHAR uni27BC +ENCODING 10172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +E8 +7C +E8 +ENDCHAR +STARTCHAR uni27BD +ENCODING 10173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +E8 +FC +FC +E8 +ENDCHAR +STARTCHAR uni27BE +ENCODING 10174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +50 +E8 +04 +E8 +50 +ENDCHAR +STARTCHAR uni27C0 +ENCODING 10176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +90 +A0 +C0 +F8 +ENDCHAR +STARTCHAR uni27C1 +ENCODING 10177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +50 +70 +A8 +F8 +ENDCHAR +STARTCHAR uni27C2 +ENCODING 10178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni27C3 +ENCODING 10179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +80 +90 +A8 +90 +80 +78 +ENDCHAR +STARTCHAR uni27C4 +ENCODING 10180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +08 +48 +A8 +48 +08 +F0 +ENDCHAR +STARTCHAR uni27C5 +ENCODING 10181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +40 +A0 +A0 +20 +20 +40 +40 +40 +30 +ENDCHAR +STARTCHAR uni27C6 +ENCODING 10182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 0 +BITMAP +20 +50 +50 +40 +40 +20 +20 +20 +C0 +ENDCHAR +STARTCHAR uni27C7 +ENCODING 10183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +A8 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni27C8 +ENCODING 10184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +80 +9C +A0 +A0 +A0 +5C +40 +40 +ENDCHAR +STARTCHAR uni27C9 +ENCODING 10185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +04 +E4 +14 +14 +14 +E8 +08 +08 +ENDCHAR +STARTCHAR uni27CA +ENCODING 10186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +40 +40 +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni27CC +ENCODING 10188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +40 +20 +20 +20 +20 +40 +ENDCHAR +STARTCHAR uni27D0 +ENCODING 10192 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +A8 +50 +20 +ENDCHAR +STARTCHAR uni27D1 +ENCODING 10193 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +50 +88 +A8 +88 +ENDCHAR +STARTCHAR uni27D2 +ENCODING 10194 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni27D3 +ENCODING 10195 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +08 +08 +28 +08 +F8 +ENDCHAR +STARTCHAR uni27D4 +ENCODING 10196 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +80 +A0 +80 +80 +ENDCHAR +STARTCHAR uni27D5 +ENCODING 10197 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C4 +6C +54 +6C +C4 +ENDCHAR +STARTCHAR uni27D6 +ENCODING 10198 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +8C +D8 +A8 +D8 +8C +ENDCHAR +STARTCHAR uni27D7 +ENCODING 10199 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +CC +78 +48 +78 +CC +ENDCHAR +STARTCHAR uni27D8 +ENCODING 10200 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni27D9 +ENCODING 10201 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni27DA +ENCODING 10202 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +50 +D8 +50 +D8 +50 +ENDCHAR +STARTCHAR uni27DB +ENCODING 10203 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +50 +50 +D8 +50 +50 +ENDCHAR +STARTCHAR uni27DC +ENCODING 10204 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +40 +BC +40 +ENDCHAR +STARTCHAR uni27DD +ENCODING 10205 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +80 +FC +80 +ENDCHAR +STARTCHAR uni27DE +ENCODING 10206 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +04 +FC +04 +ENDCHAR +STARTCHAR uni27DF +ENCODING 10207 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni27E0 +ENCODING 10208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +F8 +50 +20 +ENDCHAR +STARTCHAR uni27E1 +ENCODING 10209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni27E2 +ENCODING 10210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +28 +C4 +28 +10 +ENDCHAR +STARTCHAR uni27E3 +ENCODING 10211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +50 +8C +50 +20 +ENDCHAR +STARTCHAR uni27E4 +ENCODING 10212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +7C +44 +C4 +44 +7C +ENDCHAR +STARTCHAR uni27E5 +ENCODING 10213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +F8 +88 +8C +88 +F8 +ENDCHAR +STARTCHAR uni27E6 +ENCODING 10214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +F8 +ENDCHAR +STARTCHAR uni27E7 +ENCODING 10215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +28 +28 +28 +28 +28 +28 +28 +28 +F8 +ENDCHAR +STARTCHAR uni27E8 +ENCODING 10216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +20 +40 +40 +80 +40 +40 +20 +20 +ENDCHAR +STARTCHAR uni27E9 +ENCODING 10217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +80 +40 +40 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni27EA +ENCODING 10218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +14 +28 +28 +50 +50 +A0 +50 +50 +28 +28 +14 +ENDCHAR +STARTCHAR uni27EB +ENCODING 10219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 11 0 -2 +BITMAP +A0 +50 +50 +28 +28 +14 +28 +28 +50 +50 +A0 +ENDCHAR +STARTCHAR uni27EC +ENCODING 10220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +10 +20 +60 +A0 +A0 +A0 +A0 +A0 +60 +20 +10 +ENDCHAR +STARTCHAR uni27ED +ENCODING 10221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 12 1 -2 +BITMAP +80 +40 +60 +50 +50 +50 +50 +50 +50 +60 +40 +80 +ENDCHAR +STARTCHAR uni27EE +ENCODING 10222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 9 1 -1 +BITMAP +80 +40 +40 +40 +40 +40 +40 +40 +80 +ENDCHAR +STARTCHAR uni27EF +ENCODING 10223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 9 1 -1 +BITMAP +40 +80 +80 +80 +80 +80 +80 +80 +40 +ENDCHAR +STARTCHAR uni27F0 +ENCODING 10224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni27F1 +ENCODING 10225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni27F2 +ENCODING 10226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +38 +44 +E4 +44 +04 +44 +38 +ENDCHAR +STARTCHAR uni27F3 +ENCODING 10227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +70 +88 +9C +88 +80 +88 +70 +ENDCHAR +STARTCHAR uni27F4 +ENCODING 10228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +68 +FC +68 +ENDCHAR +STARTCHAR uni27F5 +ENCODING 10229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +FC +40 +20 +ENDCHAR +STARTCHAR uni27F6 +ENCODING 10230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +08 +FC +08 +10 +ENDCHAR +STARTCHAR uni27F7 +ENCODING 10231 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +48 +FC +48 +ENDCHAR +STARTCHAR uni27F8 +ENCODING 10232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +20 +7C +80 +7C +20 +10 +ENDCHAR +STARTCHAR uni27F9 +ENCODING 10233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +10 +F8 +04 +F8 +10 +20 +ENDCHAR +STARTCHAR uni27FA +ENCODING 10234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +48 +FC +84 +FC +48 +ENDCHAR +STARTCHAR uni27FB +ENCODING 10235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +24 +44 +FC +44 +24 +ENDCHAR +STARTCHAR uni27FC +ENCODING 10236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +90 +88 +FC +88 +90 +ENDCHAR +STARTCHAR uni27FD +ENCODING 10237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +24 +7C +84 +7C +24 +14 +ENDCHAR +STARTCHAR uni27FE +ENCODING 10238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +90 +F8 +84 +F8 +90 +A0 +ENDCHAR +STARTCHAR uni27FF +ENCODING 10239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +08 +5C +AC +08 +ENDCHAR +STARTCHAR uni2800 +ENCODING 10240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR uni2801 +ENCODING 10241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 7 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2802 +ENCODING 10242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 4 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2803 +ENCODING 10243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 0 4 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2804 +ENCODING 10244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 1 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2805 +ENCODING 10245 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 0 1 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2806 +ENCODING 10246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 0 1 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2807 +ENCODING 10247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 0 1 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2808 +ENCODING 10248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 7 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2809 +ENCODING 10249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni280A +ENCODING 10250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280B +ENCODING 10251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280C +ENCODING 10252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280D +ENCODING 10253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280E +ENCODING 10254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni280F +ENCODING 10255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2810 +ENCODING 10256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 4 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2811 +ENCODING 10257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2812 +ENCODING 10258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 4 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni2813 +ENCODING 10259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2814 +ENCODING 10260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2815 +ENCODING 10261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2816 +ENCODING 10262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2817 +ENCODING 10263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2818 +ENCODING 10264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 3 4 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2819 +ENCODING 10265 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni281A +ENCODING 10266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni281B +ENCODING 10267 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni281C +ENCODING 10268 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni281D +ENCODING 10269 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni281E +ENCODING 10270 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni281F +ENCODING 10271 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2820 +ENCODING 10272 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 1 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2821 +ENCODING 10273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2822 +ENCODING 10274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2823 +ENCODING 10275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2824 +ENCODING 10276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 1 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni2825 +ENCODING 10277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2826 +ENCODING 10278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2827 +ENCODING 10279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2828 +ENCODING 10280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 3 1 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2829 +ENCODING 10281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni282A +ENCODING 10282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni282B +ENCODING 10283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni282C +ENCODING 10284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni282D +ENCODING 10285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni282E +ENCODING 10286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni282F +ENCODING 10287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2830 +ENCODING 10288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 3 1 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2831 +ENCODING 10289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni2832 +ENCODING 10290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni2833 +ENCODING 10291 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni2834 +ENCODING 10292 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2835 +ENCODING 10293 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2836 +ENCODING 10294 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2837 +ENCODING 10295 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2838 +ENCODING 10296 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 3 1 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2839 +ENCODING 10297 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni283A +ENCODING 10298 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni283B +ENCODING 10299 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni283C +ENCODING 10300 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni283D +ENCODING 10301 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni283E +ENCODING 10302 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni283F +ENCODING 10303 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 1 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2840 +ENCODING 10304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 0 -2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2841 +ENCODING 10305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2842 +ENCODING 10306 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2843 +ENCODING 10307 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2844 +ENCODING 10308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2845 +ENCODING 10309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2846 +ENCODING 10310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2847 +ENCODING 10311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2848 +ENCODING 10312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2849 +ENCODING 10313 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284A +ENCODING 10314 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284B +ENCODING 10315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284C +ENCODING 10316 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284D +ENCODING 10317 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284E +ENCODING 10318 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni284F +ENCODING 10319 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2850 +ENCODING 10320 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2851 +ENCODING 10321 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2852 +ENCODING 10322 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2853 +ENCODING 10323 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2854 +ENCODING 10324 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2855 +ENCODING 10325 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2856 +ENCODING 10326 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2857 +ENCODING 10327 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2858 +ENCODING 10328 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2859 +ENCODING 10329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285A +ENCODING 10330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285B +ENCODING 10331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285C +ENCODING 10332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285D +ENCODING 10333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285E +ENCODING 10334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni285F +ENCODING 10335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2860 +ENCODING 10336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2861 +ENCODING 10337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2862 +ENCODING 10338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2863 +ENCODING 10339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2864 +ENCODING 10340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2865 +ENCODING 10341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2866 +ENCODING 10342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2867 +ENCODING 10343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2868 +ENCODING 10344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2869 +ENCODING 10345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286A +ENCODING 10346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286B +ENCODING 10347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286C +ENCODING 10348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286D +ENCODING 10349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286E +ENCODING 10350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni286F +ENCODING 10351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2870 +ENCODING 10352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2871 +ENCODING 10353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2872 +ENCODING 10354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2873 +ENCODING 10355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2874 +ENCODING 10356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2875 +ENCODING 10357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2876 +ENCODING 10358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2877 +ENCODING 10359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2878 +ENCODING 10360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2879 +ENCODING 10361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287A +ENCODING 10362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287B +ENCODING 10363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287C +ENCODING 10364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287D +ENCODING 10365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287E +ENCODING 10366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni287F +ENCODING 10367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2880 +ENCODING 10368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 3 -2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2881 +ENCODING 10369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2882 +ENCODING 10370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2883 +ENCODING 10371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2884 +ENCODING 10372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2885 +ENCODING 10373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2886 +ENCODING 10374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2887 +ENCODING 10375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2888 +ENCODING 10376 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 3 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2889 +ENCODING 10377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni288A +ENCODING 10378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni288B +ENCODING 10379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni288C +ENCODING 10380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni288D +ENCODING 10381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni288E +ENCODING 10382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni288F +ENCODING 10383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2890 +ENCODING 10384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 3 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2891 +ENCODING 10385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2892 +ENCODING 10386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2893 +ENCODING 10387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni2894 +ENCODING 10388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2895 +ENCODING 10389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2896 +ENCODING 10390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2897 +ENCODING 10391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni2898 +ENCODING 10392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 3 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni2899 +ENCODING 10393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni289A +ENCODING 10394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni289B +ENCODING 10395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +00 +00 +00 +18 +18 +ENDCHAR +STARTCHAR uni289C +ENCODING 10396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni289D +ENCODING 10397 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni289E +ENCODING 10398 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni289F +ENCODING 10399 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A0 +ENCODING 10400 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 5 3 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni28A1 +ENCODING 10401 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A2 +ENCODING 10402 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A3 +ENCODING 10403 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A4 +ENCODING 10404 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A5 +ENCODING 10405 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A6 +ENCODING 10406 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A7 +ENCODING 10407 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28A8 +ENCODING 10408 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 3 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni28A9 +ENCODING 10409 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AA +ENCODING 10410 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AB +ENCODING 10411 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AC +ENCODING 10412 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AD +ENCODING 10413 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AE +ENCODING 10414 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28AF +ENCODING 10415 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B0 +ENCODING 10416 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 3 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni28B1 +ENCODING 10417 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B2 +ENCODING 10418 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B3 +ENCODING 10419 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B4 +ENCODING 10420 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B5 +ENCODING 10421 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B6 +ENCODING 10422 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B7 +ENCODING 10423 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28B8 +ENCODING 10424 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 11 3 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR uni28B9 +ENCODING 10425 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BA +ENCODING 10426 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BB +ENCODING 10427 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BC +ENCODING 10428 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BD +ENCODING 10429 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BE +ENCODING 10430 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28BF +ENCODING 10431 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +00 +18 +18 +ENDCHAR +STARTCHAR uni28C0 +ENCODING 10432 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni28C1 +ENCODING 10433 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C2 +ENCODING 10434 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C3 +ENCODING 10435 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C4 +ENCODING 10436 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C5 +ENCODING 10437 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C6 +ENCODING 10438 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C7 +ENCODING 10439 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C8 +ENCODING 10440 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28C9 +ENCODING 10441 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CA +ENCODING 10442 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CB +ENCODING 10443 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CC +ENCODING 10444 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CD +ENCODING 10445 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CE +ENCODING 10446 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28CF +ENCODING 10447 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D0 +ENCODING 10448 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D1 +ENCODING 10449 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D2 +ENCODING 10450 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D3 +ENCODING 10451 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D4 +ENCODING 10452 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D5 +ENCODING 10453 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D6 +ENCODING 10454 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D7 +ENCODING 10455 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D8 +ENCODING 10456 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28D9 +ENCODING 10457 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DA +ENCODING 10458 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DB +ENCODING 10459 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +00 +00 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DC +ENCODING 10460 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DD +ENCODING 10461 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DE +ENCODING 10462 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28DF +ENCODING 10463 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E0 +ENCODING 10464 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E1 +ENCODING 10465 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E2 +ENCODING 10466 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E3 +ENCODING 10467 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E4 +ENCODING 10468 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E5 +ENCODING 10469 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +00 +00 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E6 +ENCODING 10470 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E7 +ENCODING 10471 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E8 +ENCODING 10472 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28E9 +ENCODING 10473 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EA +ENCODING 10474 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EB +ENCODING 10475 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EC +ENCODING 10476 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +00 +00 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28ED +ENCODING 10477 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +00 +00 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EE +ENCODING 10478 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28EF +ENCODING 10479 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F0 +ENCODING 10480 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F1 +ENCODING 10481 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F2 +ENCODING 10482 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F3 +ENCODING 10483 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F4 +ENCODING 10484 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F5 +ENCODING 10485 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F6 +ENCODING 10486 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F7 +ENCODING 10487 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +C0 +C0 +00 +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F8 +ENCODING 10488 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28F9 +ENCODING 10489 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FA +ENCODING 10490 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FB +ENCODING 10491 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +18 +18 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FC +ENCODING 10492 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FD +ENCODING 10493 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +18 +18 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FE +ENCODING 10494 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +18 +18 +00 +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni28FF +ENCODING 10495 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +00 +D8 +D8 +ENDCHAR +STARTCHAR uni2900 +ENCODING 10496 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +58 +FC +58 +40 +ENDCHAR +STARTCHAR uni2901 +ENCODING 10497 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +60 +68 +FC +68 +60 +ENDCHAR +STARTCHAR uni2902 +ENCODING 10498 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +28 +7C +88 +7C +28 +ENDCHAR +STARTCHAR uni2903 +ENCODING 10499 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +50 +F8 +44 +F8 +50 +ENDCHAR +STARTCHAR uni2904 +ENCODING 10500 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +78 +A4 +78 +20 +ENDCHAR +STARTCHAR uni2905 +ENCODING 10501 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +98 +FC +98 +ENDCHAR +STARTCHAR uni2906 +ENCODING 10502 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +24 +7C +84 +7C +24 +14 +ENDCHAR +STARTCHAR uni2907 +ENCODING 10503 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +90 +F8 +84 +F8 +90 +A0 +ENDCHAR +STARTCHAR uni2908 +ENCODING 10504 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2909 +ENCODING 10505 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni290A +ENCODING 10506 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni290B +ENCODING 10507 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni290C +ENCODING 10508 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +EC +40 +20 +ENDCHAR +STARTCHAR uni290D +ENCODING 10509 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +08 +DC +08 +10 +ENDCHAR +STARTCHAR uni290E +ENCODING 10510 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +40 +D4 +40 +20 +ENDCHAR +STARTCHAR uni290F +ENCODING 10511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +10 +08 +AC +08 +10 +ENDCHAR +STARTCHAR uni2910 +ENCODING 10512 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +98 +6C +98 +ENDCHAR +STARTCHAR uni2911 +ENCODING 10513 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +10 +A8 +10 +20 +ENDCHAR +STARTCHAR uni2912 +ENCODING 10514 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +70 +A8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2913 +ENCODING 10515 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +A8 +70 +20 +F8 +ENDCHAR +STARTCHAR uni2914 +ENCODING 10516 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +A8 +7C +A8 +20 +ENDCHAR +STARTCHAR uni2915 +ENCODING 10517 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +30 +B8 +7C +B8 +30 +ENDCHAR +STARTCHAR uni2916 +ENCODING 10518 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +98 +7C +98 +ENDCHAR +STARTCHAR uni2917 +ENCODING 10519 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +20 +B8 +7C +B8 +20 +ENDCHAR +STARTCHAR uni2918 +ENCODING 10520 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +60 +F8 +7C +F8 +60 +ENDCHAR +STARTCHAR uni2919 +ENCODING 10521 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +10 +E0 +10 +08 +ENDCHAR +STARTCHAR uni291A +ENCODING 10522 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +80 +40 +3C +40 +80 +ENDCHAR +STARTCHAR uni291B +ENCODING 10523 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +28 +50 +F0 +50 +28 +ENDCHAR +STARTCHAR uni291C +ENCODING 10524 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +A0 +50 +3C +50 +A0 +ENDCHAR +STARTCHAR uni291D +ENCODING 10525 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +10 +BC +10 +ENDCHAR +STARTCHAR uni291E +ENCODING 10526 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +20 +F4 +20 +ENDCHAR +STARTCHAR uni291F +ENCODING 10527 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +14 +BC +14 +ENDCHAR +STARTCHAR uni2920 +ENCODING 10528 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +A0 +F4 +A0 +ENDCHAR +STARTCHAR uni2921 +ENCODING 10529 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +E0 +C0 +A8 +18 +38 +ENDCHAR +STARTCHAR uni2922 +ENCODING 10530 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +38 +18 +A8 +C0 +E0 +ENDCHAR +STARTCHAR uni2923 +ENCODING 10531 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +E0 +C0 +A0 +10 +08 +18 +ENDCHAR +STARTCHAR uni2924 +ENCODING 10532 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +18 +28 +40 +80 +C0 +ENDCHAR +STARTCHAR uni2925 +ENCODING 10533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +C0 +80 +40 +28 +18 +38 +ENDCHAR +STARTCHAR uni2926 +ENCODING 10534 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +18 +08 +10 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni2927 +ENCODING 10535 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni2928 +ENCODING 10536 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +58 +20 +58 +98 +ENDCHAR +STARTCHAR uni2929 +ENCODING 10537 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +D8 +D8 +ENDCHAR +STARTCHAR uni292A +ENCODING 10538 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C8 +D0 +20 +D0 +C8 +ENDCHAR +STARTCHAR uni292B +ENCODING 10539 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni292C +ENCODING 10540 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni292D +ENCODING 10541 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +58 +20 +58 +98 +ENDCHAR +STARTCHAR uni292E +ENCODING 10542 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +58 +20 +58 +98 +ENDCHAR +STARTCHAR uni292F +ENCODING 10543 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +98 +58 +20 +50 +88 +ENDCHAR +STARTCHAR uni2930 +ENCODING 10544 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +58 +98 +ENDCHAR +STARTCHAR uni2931 +ENCODING 10545 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni2932 +ENCODING 10546 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +D8 +D8 +20 +50 +88 +ENDCHAR +STARTCHAR uni2933 +ENCODING 10547 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +BC +08 +ENDCHAR +STARTCHAR uni2934 +ENCODING 10548 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +20 +70 +A8 +20 +C0 +ENDCHAR +STARTCHAR uni2935 +ENCODING 10549 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2936 +ENCODING 10550 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +28 +48 +F0 +40 +20 +ENDCHAR +STARTCHAR uni2937 +ENCODING 10551 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +80 +A0 +90 +78 +10 +20 +ENDCHAR +STARTCHAR uni2938 +ENCODING 10552 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +40 +20 +10 +10 +10 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni2939 +ENCODING 10553 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +20 +40 +80 +80 +80 +50 +30 +70 +ENDCHAR +STARTCHAR uni293A +ENCODING 10554 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +B0 +C8 +E0 +ENDCHAR +STARTCHAR uni293B +ENCODING 10555 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +38 +98 +68 +ENDCHAR +STARTCHAR uni293C +ENCODING 10556 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +68 +98 +38 +00 +F8 +ENDCHAR +STARTCHAR uni293D +ENCODING 10557 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +B0 +C8 +E0 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni293E +ENCODING 10558 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +10 +08 +E8 +C8 +B0 +ENDCHAR +STARTCHAR uni293F +ENCODING 10559 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +40 +80 +B8 +98 +68 +ENDCHAR +STARTCHAR uni2940 +ENCODING 10560 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +10 +20 +78 +A4 +94 +84 +84 +78 +ENDCHAR +STARTCHAR uni2941 +ENCODING 10561 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +20 +10 +78 +94 +A4 +84 +84 +78 +ENDCHAR +STARTCHAR uni2942 +ENCODING 10562 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +08 +FC +08 +10 +00 +40 +F0 +40 +ENDCHAR +STARTCHAR uni2943 +ENCODING 10563 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +20 +40 +FC +40 +20 +08 +3C +08 +ENDCHAR +STARTCHAR uni2944 +ENCODING 10564 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +3C +08 +20 +40 +FC +40 +20 +ENDCHAR +STARTCHAR uni2945 +ENCODING 10565 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +10 +40 +E0 +40 +ENDCHAR +STARTCHAR uni2946 +ENCODING 10566 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +40 +10 +38 +10 +ENDCHAR +STARTCHAR uni2947 +ENCODING 10567 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +68 +FC +68 +ENDCHAR +STARTCHAR uni2948 +ENCODING 10568 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +78 +FC +78 +ENDCHAR +STARTCHAR uni2949 +ENCODING 10569 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +70 +A8 +70 +A8 +20 +20 +20 +50 +20 +ENDCHAR +STARTCHAR uni294A +ENCODING 10570 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +40 +F8 +10 +ENDCHAR +STARTCHAR uni294B +ENCODING 10571 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +10 +F8 +40 +ENDCHAR +STARTCHAR uni294C +ENCODING 10572 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +30 +28 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni294D +ENCODING 10573 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +60 +A0 +20 +20 +20 +28 +30 +20 +ENDCHAR +STARTCHAR uni294E +ENCODING 10574 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +50 +F8 +ENDCHAR +STARTCHAR uni294F +ENCODING 10575 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 2 -1 +BITMAP +80 +C0 +A0 +80 +80 +80 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni2950 +ENCODING 10576 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 1 +BITMAP +F8 +50 +ENDCHAR +STARTCHAR uni2951 +ENCODING 10577 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +60 +A0 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni2952 +ENCODING 10578 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +90 +A0 +FC +80 +80 +ENDCHAR +STARTCHAR uni2953 +ENCODING 10579 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +24 +14 +FC +04 +04 +ENDCHAR +STARTCHAR uni2954 +ENCODING 10580 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +30 +28 +20 +20 +20 +ENDCHAR +STARTCHAR uni2955 +ENCODING 10581 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +28 +30 +20 +F8 +ENDCHAR +STARTCHAR uni2956 +ENCODING 10582 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +80 +80 +FC +A0 +90 +ENDCHAR +STARTCHAR uni2957 +ENCODING 10583 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +04 +04 +FC +14 +24 +ENDCHAR +STARTCHAR uni2958 +ENCODING 10584 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +60 +A0 +20 +20 +20 +ENDCHAR +STARTCHAR uni2959 +ENCODING 10585 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +20 +A0 +60 +20 +F8 +ENDCHAR +STARTCHAR uni295A +ENCODING 10586 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +48 +F8 +08 +ENDCHAR +STARTCHAR uni295B +ENCODING 10587 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +90 +F8 +80 +ENDCHAR +STARTCHAR uni295C +ENCODING 10588 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +30 +28 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni295D +ENCODING 10589 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +28 +30 +20 +ENDCHAR +STARTCHAR uni295E +ENCODING 10590 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +08 +F8 +48 +ENDCHAR +STARTCHAR uni295F +ENCODING 10591 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +80 +F8 +90 +ENDCHAR +STARTCHAR uni2960 +ENCODING 10592 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +60 +A0 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni2961 +ENCODING 10593 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +20 +20 +20 +A0 +60 +20 +ENDCHAR +STARTCHAR uni2962 +ENCODING 10594 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +40 +F8 +00 +F8 +40 +ENDCHAR +STARTCHAR uni2963 +ENCODING 10595 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +D8 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni2964 +ENCODING 10596 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +F8 +00 +F8 +10 +ENDCHAR +STARTCHAR uni2965 +ENCODING 10597 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +50 +50 +50 +D8 +50 +ENDCHAR +STARTCHAR uni2966 +ENCODING 10598 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +40 +F8 +00 +10 +F8 +ENDCHAR +STARTCHAR uni2967 +ENCODING 10599 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +40 +00 +F8 +10 +ENDCHAR +STARTCHAR uni2968 +ENCODING 10600 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +10 +F8 +00 +40 +F8 +ENDCHAR +STARTCHAR uni2969 +ENCODING 10601 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +00 +F8 +40 +ENDCHAR +STARTCHAR uni296A +ENCODING 10602 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +40 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni296B +ENCODING 10603 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +00 +F8 +40 +ENDCHAR +STARTCHAR uni296C +ENCODING 10604 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +10 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni296D +ENCODING 10605 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +00 +F8 +10 +ENDCHAR +STARTCHAR uni296E +ENCODING 10606 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +D0 +50 +50 +50 +58 +50 +ENDCHAR +STARTCHAR uni296F +ENCODING 10607 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +58 +50 +50 +50 +D0 +50 +ENDCHAR +STARTCHAR uni2970 +ENCODING 10608 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F0 +08 +F0 +ENDCHAR +STARTCHAR uni2971 +ENCODING 10609 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +E0 +00 +E0 +00 +10 +F8 +10 +ENDCHAR +STARTCHAR uni2972 +ENCODING 10610 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +10 +F8 +10 +ENDCHAR +STARTCHAR uni2973 +ENCODING 10611 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +40 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2974 +ENCODING 10612 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +10 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2975 +ENCODING 10613 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +F8 +10 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2976 +ENCODING 10614 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +18 +60 +80 +60 +18 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2977 +ENCODING 10615 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +50 +F8 +50 +08 +ENDCHAR +STARTCHAR uni2978 +ENCODING 10616 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +C0 +30 +08 +30 +C0 +10 +F8 +10 +ENDCHAR +STARTCHAR uni2979 +ENCODING 10617 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +80 +80 +78 +00 +10 +F8 +10 +ENDCHAR +STARTCHAR uni297A +ENCODING 10618 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +0C +50 +F8 +50 +0C +ENDCHAR +STARTCHAR uni297B +ENCODING 10619 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +08 +08 +F0 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni297C +ENCODING 10620 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +40 +80 +78 +80 +40 +ENDCHAR +STARTCHAR uni297D +ENCODING 10621 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +08 +F0 +08 +10 +ENDCHAR +STARTCHAR uni297E +ENCODING 10622 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +20 +20 +20 +ENDCHAR +STARTCHAR uni297F +ENCODING 10623 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +20 +20 +A8 +50 +ENDCHAR +STARTCHAR uni2980 +ENCODING 10624 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2981 +ENCODING 10625 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +60 +F0 +F0 +60 +ENDCHAR +STARTCHAR uni2982 +ENCODING 10626 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +40 +00 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2983 +ENCODING 10627 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +38 +50 +50 +50 +90 +50 +50 +50 +38 +ENDCHAR +STARTCHAR uni2984 +ENCODING 10628 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +E0 +50 +50 +50 +48 +50 +50 +50 +E0 +ENDCHAR +STARTCHAR uni2985 +ENCODING 10629 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +10 +20 +60 +60 +A0 +A0 +60 +60 +20 +10 +ENDCHAR +STARTCHAR uni2986 +ENCODING 10630 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +80 +40 +60 +60 +50 +50 +60 +60 +40 +80 +ENDCHAR +STARTCHAR uni2987 +ENCODING 10631 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +20 +60 +60 +A0 +A0 +A0 +A0 +60 +60 +20 +ENDCHAR +STARTCHAR uni2988 +ENCODING 10632 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +80 +C0 +C0 +A0 +A0 +A0 +A0 +C0 +C0 +80 +ENDCHAR +STARTCHAR uni2989 +ENCODING 10633 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +10 +30 +30 +50 +50 +90 +50 +50 +30 +30 +10 +ENDCHAR +STARTCHAR uni298A +ENCODING 10634 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +80 +C0 +C0 +A0 +A0 +90 +A0 +A0 +C0 +C0 +80 +ENDCHAR +STARTCHAR uni298B +ENCODING 10635 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +E0 +00 +E0 +ENDCHAR +STARTCHAR uni298C +ENCODING 10636 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 11 1 -2 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +E0 +00 +E0 +ENDCHAR +STARTCHAR uni298D +ENCODING 10637 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +E0 +C0 +A0 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni298E +ENCODING 10638 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +A0 +60 +E0 +ENDCHAR +STARTCHAR uni298F +ENCODING 10639 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni2990 +ENCODING 10640 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +E0 +60 +A0 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni2991 +ENCODING 10641 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +10 +20 +20 +40 +40 +90 +40 +40 +20 +20 +10 +ENDCHAR +STARTCHAR uni2992 +ENCODING 10642 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 11 1 -2 +BITMAP +80 +40 +40 +20 +20 +90 +20 +20 +40 +40 +80 +ENDCHAR +STARTCHAR uni2993 +ENCODING 10643 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +20 +38 +60 +A0 +60 +38 +20 +10 +ENDCHAR +STARTCHAR uni2994 +ENCODING 10644 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +40 +20 +E0 +30 +28 +30 +E0 +20 +40 +ENDCHAR +STARTCHAR uni2995 +ENCODING 10645 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +28 +50 +D0 +70 +58 +70 +D0 +50 +28 +ENDCHAR +STARTCHAR uni2996 +ENCODING 10646 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +A0 +50 +58 +70 +D0 +70 +58 +50 +A0 +ENDCHAR +STARTCHAR uni2997 +ENCODING 10647 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +20 +40 +C0 +C0 +C0 +C0 +C0 +C0 +40 +20 +ENDCHAR +STARTCHAR uni2998 +ENCODING 10648 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 -1 +BITMAP +80 +40 +60 +60 +60 +60 +60 +60 +40 +80 +ENDCHAR +STARTCHAR uni2999 +ENCODING 10649 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 +BITMAP +80 +00 +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni299A +ENCODING 10650 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 8 1 0 +BITMAP +80 +40 +80 +40 +80 +40 +80 +40 +ENDCHAR +STARTCHAR uni299B +ENCODING 10651 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +20 +10 +28 +FC +ENDCHAR +STARTCHAR uni299C +ENCODING 10652 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +80 +80 +E0 +A0 +F8 +ENDCHAR +STARTCHAR uni299D +ENCODING 10653 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +80 +80 +E0 +90 +A8 +88 +FC +ENDCHAR +STARTCHAR uni299E +ENCODING 10654 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +10 +20 +2C +48 +44 +8C +80 +FC +ENDCHAR +STARTCHAR uni299F +ENCODING 10655 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 0 +BITMAP +04 +18 +60 +FC +ENDCHAR +STARTCHAR uni29A0 +ENCODING 10656 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +90 +60 +38 +24 +38 +60 +90 +ENDCHAR +STARTCHAR uni29A1 +ENCODING 10657 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +70 +D8 +20 +ENDCHAR +STARTCHAR uni29A2 +ENCODING 10658 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +FC +08 +10 +20 +40 +ENDCHAR +STARTCHAR uni29A3 +ENCODING 10659 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +20 +10 +08 +FC +ENDCHAR +STARTCHAR uni29A4 +ENCODING 10660 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +08 +10 +20 +40 +FC +00 +FC +ENDCHAR +STARTCHAR uni29A5 +ENCODING 10661 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +40 +20 +10 +08 +FC +00 +FC +ENDCHAR +STARTCHAR uni29A6 +ENCODING 10662 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +80 +40 +38 +ENDCHAR +STARTCHAR uni29A7 +ENCODING 10663 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +38 +40 +80 +ENDCHAR +STARTCHAR uni29A8 +ENCODING 10664 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +18 +18 +20 +50 +FC +ENDCHAR +STARTCHAR uni29A9 +ENCODING 10665 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +60 +60 +10 +28 +FC +ENDCHAR +STARTCHAR uni29AA +ENCODING 10666 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +FC +50 +20 +18 +18 +ENDCHAR +STARTCHAR uni29AB +ENCODING 10667 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +FC +28 +10 +60 +60 +ENDCHAR +STARTCHAR uni29AC +ENCODING 10668 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +98 +D8 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni29AD +ENCODING 10669 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +08 +C8 +D8 +28 +18 +08 +ENDCHAR +STARTCHAR uni29AE +ENCODING 10670 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +C0 +A0 +D8 +98 +80 +ENDCHAR +STARTCHAR uni29AF +ENCODING 10671 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +08 +18 +28 +D8 +C8 +08 +ENDCHAR +STARTCHAR uni29B0 +ENCODING 10672 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +80 +70 +68 +58 +38 +04 +ENDCHAR +STARTCHAR uni29B1 +ENCODING 10673 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +78 +00 +04 +38 +58 +68 +70 +80 +ENDCHAR +STARTCHAR uni29B2 +ENCODING 10674 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +20 +50 +20 +04 +38 +58 +68 +70 +80 +ENDCHAR +STARTCHAR uni29B3 +ENCODING 10675 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +10 +78 +10 +04 +38 +58 +68 +70 +80 +ENDCHAR +STARTCHAR uni29B4 +ENCODING 10676 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +20 +78 +20 +04 +38 +58 +68 +70 +80 +ENDCHAR +STARTCHAR uni29B5 +ENCODING 10677 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR uni29B6 +ENCODING 10678 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni29B7 +ENCODING 10679 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +B4 +B4 +B4 +B4 +78 +ENDCHAR +STARTCHAR uni29B8 +ENCODING 10680 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +C8 +A8 +98 +70 +ENDCHAR +STARTCHAR uni29B9 +ENCODING 10681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +A8 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni29BA +ENCODING 10682 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +F8 +88 +70 +ENDCHAR +STARTCHAR uni29BB +ENCODING 10683 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +D8 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni29BC +ENCODING 10684 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +CC +94 +A4 +CC +78 +ENDCHAR +STARTCHAR uni29BD +ENCODING 10685 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +70 +20 +70 +A8 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR uni29BE +ENCODING 10686 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +84 +B4 +94 +84 +78 +ENDCHAR +STARTCHAR uni29BF +ENCODING 10687 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +84 +B4 +B4 +84 +78 +ENDCHAR +STARTCHAR uni29C0 +ENCODING 10688 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +A4 +94 +A4 +84 +78 +ENDCHAR +STARTCHAR uni29C1 +ENCODING 10689 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +94 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR uni29C2 +ENCODING 10690 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +60 +98 +94 +98 +60 +ENDCHAR +STARTCHAR uni29C3 +ENCODING 10691 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +60 +9C +90 +9C +60 +ENDCHAR +STARTCHAR uni29C4 +ENCODING 10692 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +98 +A8 +C8 +F8 +ENDCHAR +STARTCHAR uni29C5 +ENCODING 10693 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +C8 +A8 +98 +F8 +ENDCHAR +STARTCHAR uni29C6 +ENCODING 10694 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +84 +A4 +F4 +A4 +84 +FC +ENDCHAR +STARTCHAR uni29C7 +ENCODING 10695 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +84 +A4 +D4 +A4 +84 +FC +ENDCHAR +STARTCHAR uni29C8 +ENCODING 10696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +FC +FC +CC +CC +FC +FC +ENDCHAR +STARTCHAR uni29C9 +ENCODING 10697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +F0 +90 +BC +E4 +24 +3C +ENDCHAR +STARTCHAR uni29CA +ENCODING 10698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +20 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni29CB +ENCODING 10699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni29CC +ENCODING 10700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +30 +48 +B4 +A4 +94 +B4 +84 +FC +ENDCHAR +STARTCHAR uni29CD +ENCODING 10701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +20 +50 +50 +88 +88 +FC +ENDCHAR +STARTCHAR uni29CE +ENCODING 10702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +C0 +B0 +88 +B0 +C0 +18 +68 +88 +68 +18 +ENDCHAR +STARTCHAR uni29CF +ENCODING 10703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +14 +34 +54 +94 +54 +34 +14 +ENDCHAR +STARTCHAR uni29D0 +ENCODING 10704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A0 +B0 +A8 +A4 +A8 +B0 +A0 +ENDCHAR +STARTCHAR uni29D1 +ENCODING 10705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D8 +E8 +D8 +88 +ENDCHAR +STARTCHAR uni29D2 +ENCODING 10706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D8 +B8 +D8 +88 +ENDCHAR +STARTCHAR uni29D3 +ENCODING 10707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D8 +F8 +D8 +88 +ENDCHAR +STARTCHAR uni29D4 +ENCODING 10708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +D0 +E0 +D0 +88 +ENDCHAR +STARTCHAR uni29D5 +ENCODING 10709 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +58 +38 +58 +88 +ENDCHAR +STARTCHAR uni29D6 +ENCODING 10710 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +50 +20 +50 +F8 +ENDCHAR +STARTCHAR uni29D7 +ENCODING 10711 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +70 +20 +70 +F8 +ENDCHAR +STARTCHAR uni29D8 +ENCODING 10712 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 7 2 0 +BITMAP +80 +40 +80 +40 +80 +40 +80 +ENDCHAR +STARTCHAR uni29D9 +ENCODING 10713 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 7 2 0 +BITMAP +40 +80 +40 +80 +40 +80 +40 +ENDCHAR +STARTCHAR uni29DA +ENCODING 10714 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +48 +90 +48 +90 +48 +90 +ENDCHAR +STARTCHAR uni29DB +ENCODING 10715 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +90 +48 +90 +48 +90 +48 +ENDCHAR +STARTCHAR uni29DC +ENCODING 10716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +40 +A8 +50 +ENDCHAR +STARTCHAR uni29DD +ENCODING 10717 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +20 +50 +A8 +50 +ENDCHAR +STARTCHAR uni29DE +ENCODING 10718 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +70 +A8 +70 +20 +ENDCHAR +STARTCHAR uni29DF +ENCODING 10719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +B4 +48 +ENDCHAR +STARTCHAR uni29E0 +ENCODING 10720 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F0 +F8 +C8 +C8 +F8 +ENDCHAR +STARTCHAR uni29E1 +ENCODING 10721 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +18 +28 +48 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni29E2 +ENCODING 10722 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR uni29E3 +ENCODING 10723 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni29E4 +ENCODING 10724 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni29E5 +ENCODING 10725 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +10 +F8 +20 +F8 +20 +F8 +40 +40 +ENDCHAR +STARTCHAR uni29E6 +ENCODING 10726 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +F8 +88 +F8 +88 +ENDCHAR +STARTCHAR uni29E7 +ENCODING 10727 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +40 +E0 +40 +E0 +40 +ENDCHAR +STARTCHAR uni29E8 +ENCODING 10728 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +C8 +50 +20 +ENDCHAR +STARTCHAR uni29E9 +ENCODING 10729 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +98 +50 +20 +ENDCHAR +STARTCHAR uni29EA +ENCODING 10730 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +70 +F8 +70 +20 +20 +70 +20 +ENDCHAR +STARTCHAR uni29EB +ENCODING 10731 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +70 +70 +F8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni29EC +ENCODING 10732 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +88 +88 +70 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni29ED +ENCODING 10733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +F8 +F8 +70 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni29EE +ENCODING 10734 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +E0 +A0 +E0 +40 +E0 +ENDCHAR +STARTCHAR uni29EF +ENCODING 10735 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +E0 +E0 +E0 +40 +E0 +ENDCHAR +STARTCHAR uni29F0 +ENCODING 10736 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +20 +20 +50 +88 +50 +20 +20 +70 +ENDCHAR +STARTCHAR uni29F1 +ENCODING 10737 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +20 +20 +70 +F8 +70 +20 +20 +70 +ENDCHAR +STARTCHAR uni29F2 +ENCODING 10738 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +20 +70 +88 +88 +70 +20 +70 +ENDCHAR +STARTCHAR uni29F3 +ENCODING 10739 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +20 +70 +F8 +F8 +70 +20 +70 +ENDCHAR +STARTCHAR uni29F4 +ENCODING 10740 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +10 +F8 +10 +A0 +ENDCHAR +STARTCHAR uni29F5 +ENCODING 10741 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +80 +80 +40 +40 +20 +20 +10 +10 +ENDCHAR +STARTCHAR uni29F6 +ENCODING 10742 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 -1 +BITMAP +F0 +00 +10 +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni29F7 +ENCODING 10743 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +80 +80 +40 +F0 +20 +20 +10 +10 +ENDCHAR +STARTCHAR uni29F8 +ENCODING 10744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +10 +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni29F9 +ENCODING 10745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +80 +80 +40 +40 +20 +20 +10 +10 +ENDCHAR +STARTCHAR uni29FA +ENCODING 10746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +50 +F8 +50 +50 +ENDCHAR +STARTCHAR uni29FB +ENCODING 10747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +54 +54 +FC +54 +54 +ENDCHAR +STARTCHAR uni29FC +ENCODING 10748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +20 +20 +40 +40 +80 +40 +40 +20 +20 +ENDCHAR +STARTCHAR uni29FD +ENCODING 10749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +80 +80 +40 +40 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni29FE +ENCODING 10750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni29FF +ENCODING 10751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +88 +F8 +88 +ENDCHAR +STARTCHAR uni2A00 +ENCODING 10752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2A01 +ENCODING 10753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni2A02 +ENCODING 10754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +70 +D8 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni2A03 +ENCODING 10755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2A04 +ENCODING 10756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +A8 +F8 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2A05 +ENCODING 10757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni2A06 +ENCODING 10758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2A07 +ENCODING 10759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +30 +30 +78 +78 +CC +CC +ENDCHAR +STARTCHAR uni2A08 +ENCODING 10760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +CC +CC +78 +78 +30 +30 +ENDCHAR +STARTCHAR uni2A09 +ENCODING 10761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni2A0A +ENCODING 10762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +80 +60 +50 +60 +80 +F8 +ENDCHAR +STARTCHAR uni2A0B +ENCODING 10763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +F8 +60 +20 +60 +F8 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A0C +ENCODING 10764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +38 +7C +78 +78 +78 +78 +78 +78 +F8 +70 +ENDCHAR +STARTCHAR uni2A0D +ENCODING 10765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +20 +70 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A0E +ENCODING 10766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +20 +70 +20 +70 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A0F +ENCODING 10767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +28 +30 +60 +A0 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A10 +ENCODING 10768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +70 +A0 +A0 +A0 +60 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A11 +ENCODING 10769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +20 +3C +AC +74 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A12 +ENCODING 10770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +38 +08 +28 +08 +38 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A13 +ENCODING 10771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +30 +08 +28 +08 +30 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A14 +ENCODING 10772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +10 +28 +20 +20 +38 +04 +14 +04 +38 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A15 +ENCODING 10773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +70 +88 +A8 +88 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A16 +ENCODING 10774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +F8 +A8 +A8 +F8 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A17 +ENCODING 10775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 +BITMAP +08 +14 +10 +10 +50 +FC +54 +10 +10 +10 +50 +20 +ENDCHAR +STARTCHAR uni2A18 +ENCODING 10776 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +A8 +70 +20 +70 +A8 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A19 +ENCODING 10777 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +70 +A8 +A8 +A8 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A1A +ENCODING 10778 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +A8 +A8 +A8 +70 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A1B +ENCODING 10779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +78 +00 +10 +28 +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2A1C +ENCODING 10780 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +10 +28 +20 +20 +20 +20 +20 +20 +A0 +40 +00 +F8 +ENDCHAR +STARTCHAR uni2A1D +ENCODING 10781 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +84 +CC +B4 +B4 +B4 +CC +84 +ENDCHAR +STARTCHAR uni2A1E +ENCODING 10782 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +10 +30 +50 +90 +50 +30 +10 +ENDCHAR +STARTCHAR uni2A1F +ENCODING 10783 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 -1 +BITMAP +40 +A0 +40 +00 +40 +A0 +40 +80 +ENDCHAR +STARTCHAR uni2A20 +ENCODING 10784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +90 +48 +24 +48 +90 +ENDCHAR +STARTCHAR uni2A21 +ENCODING 10785 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +80 +C0 +A0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2A22 +ENCODING 10786 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +50 +20 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2A23 +ENCODING 10787 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2A24 +ENCODING 10788 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +68 +B0 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2A25 +ENCODING 10789 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +20 +20 +00 +20 +ENDCHAR +STARTCHAR uni2A26 +ENCODING 10790 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +F8 +20 +20 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A27 +ENCODING 10791 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +20 +20 +F8 +20 +2C +04 +08 +1C +ENDCHAR +STARTCHAR uni2A28 +ENCODING 10792 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +F8 +20 +70 +20 +ENDCHAR +STARTCHAR uni2A29 +ENCODING 10793 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +30 +30 +10 +20 +00 +F8 +ENDCHAR +STARTCHAR uni2A2A +ENCODING 10794 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +00 +20 +ENDCHAR +STARTCHAR uni2A2B +ENCODING 10795 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +40 +00 +F8 +00 +10 +ENDCHAR +STARTCHAR uni2A2C +ENCODING 10796 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +10 +00 +F8 +00 +40 +ENDCHAR +STARTCHAR uni2A2D +ENCODING 10797 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +40 +90 +B8 +90 +40 +38 +ENDCHAR +STARTCHAR uni2A2E +ENCODING 10798 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +60 +10 +48 +E8 +48 +10 +60 +ENDCHAR +STARTCHAR uni2A2F +ENCODING 10799 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni2A30 +ENCODING 10800 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR uni2A31 +ENCODING 10801 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +50 +20 +50 +88 +00 +F8 +ENDCHAR +STARTCHAR uni2A32 +ENCODING 10802 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +F8 +ENDCHAR +STARTCHAR uni2A33 +ENCODING 10803 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +CC +78 +30 +78 +CC +ENDCHAR +STARTCHAR uni2A34 +ENCODING 10804 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +80 +A8 +90 +A8 +80 +70 +ENDCHAR +STARTCHAR uni2A35 +ENCODING 10805 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +08 +A8 +48 +A8 +08 +70 +ENDCHAR +STARTCHAR uni2A36 +ENCODING 10806 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 +BITMAP +20 +50 +00 +70 +88 +D8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2A37 +ENCODING 10807 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +D8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2A38 +ENCODING 10808 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +70 +88 +A8 +88 +F8 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni2A39 +ENCODING 10809 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +78 +B4 +84 +FC +ENDCHAR +STARTCHAR uni2A3A +ENCODING 10810 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +48 +B4 +84 +FC +ENDCHAR +STARTCHAR uni2A3B +ENCODING 10811 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +78 +B4 +84 +FC +ENDCHAR +STARTCHAR uni2A3C +ENCODING 10812 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +08 +08 +F8 +ENDCHAR +STARTCHAR uni2A3D +ENCODING 10813 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +80 +80 +F8 +ENDCHAR +STARTCHAR uni2A3E +ENCODING 10814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -1 +BITMAP +40 +A0 +40 +00 +40 +A0 +60 +20 +40 +ENDCHAR +STARTCHAR uni2A3F +ENCODING 10815 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +DC +88 +88 +88 +88 +88 +FC +ENDCHAR +STARTCHAR uni2A40 +ENCODING 10816 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +A8 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni2A41 +ENCODING 10817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni2A42 +ENCODING 10818 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +F8 +00 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2A43 +ENCODING 10819 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +88 +88 +88 +88 +88 +88 +00 +F8 +ENDCHAR +STARTCHAR uni2A44 +ENCODING 10820 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +A8 +D8 +ENDCHAR +STARTCHAR uni2A45 +ENCODING 10821 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +D8 +A8 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2A46 +ENCODING 10822 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +90 +90 +60 +00 +60 +90 +90 +ENDCHAR +STARTCHAR uni2A47 +ENCODING 10823 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +60 +90 +90 +00 +90 +90 +60 +ENDCHAR +STARTCHAR uni2A48 +ENCODING 10824 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -1 +BITMAP +90 +90 +60 +00 +F0 +00 +60 +90 +90 +ENDCHAR +STARTCHAR uni2A49 +ENCODING 10825 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -1 +BITMAP +60 +90 +90 +00 +F0 +00 +90 +90 +60 +ENDCHAR +STARTCHAR uni2A4A +ENCODING 10826 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +A8 +A8 +50 +ENDCHAR +STARTCHAR uni2A4B +ENCODING 10827 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +50 +A8 +A8 +ENDCHAR +STARTCHAR uni2A4C +ENCODING 10828 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +FC +48 +48 +48 +48 +48 +30 +ENDCHAR +STARTCHAR uni2A4D +ENCODING 10829 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +48 +48 +48 +48 +48 +FC +ENDCHAR +STARTCHAR uni2A4E +ENCODING 10830 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +F8 +D8 +D8 +D8 +D8 +D8 +ENDCHAR +STARTCHAR uni2A4F +ENCODING 10831 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +D8 +D8 +D8 +D8 +D8 +F8 +F8 +ENDCHAR +STARTCHAR uni2A50 +ENCODING 10832 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +88 +D8 +A8 +D8 +88 +70 +ENDCHAR +STARTCHAR uni2A51 +ENCODING 10833 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni2A52 +ENCODING 10834 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2A53 +ENCODING 10835 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +50 +50 +20 +A8 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2A54 +ENCODING 10836 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +20 +20 +50 +50 +88 +A8 +20 +50 +50 +ENDCHAR +STARTCHAR uni2A55 +ENCODING 10837 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +30 +78 +78 +78 +CC +CC +ENDCHAR +STARTCHAR uni2A56 +ENCODING 10838 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +CC +CC +78 +78 +78 +30 +30 +ENDCHAR +STARTCHAR uni2A57 +ENCODING 10839 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +84 +88 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni2A58 +ENCODING 10840 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +04 +0C +14 +24 +44 +84 +ENDCHAR +STARTCHAR uni2A59 +ENCODING 10841 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +A8 +70 +50 +70 +A8 +88 +ENDCHAR +STARTCHAR uni2A5A +ENCODING 10842 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +70 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni2A5B +ENCODING 10843 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +A8 +A8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni2A5C +ENCODING 10844 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +50 +F8 +50 +88 +88 +ENDCHAR +STARTCHAR uni2A5D +ENCODING 10845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +50 +F8 +50 +20 +20 +ENDCHAR +STARTCHAR uni2A5E +ENCODING 10846 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +00 +F8 +00 +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR uni2A5F +ENCODING 10847 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +50 +50 +88 +88 +00 +F8 +ENDCHAR +STARTCHAR uni2A60 +ENCODING 10848 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +20 +20 +50 +50 +88 +88 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A61 +ENCODING 10849 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +50 +20 +00 +F8 +ENDCHAR +STARTCHAR uni2A62 +ENCODING 10850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F8 +00 +F8 +00 +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni2A63 +ENCODING 10851 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +88 +88 +50 +50 +20 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A64 +ENCODING 10852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +08 +18 +28 +48 +F8 +48 +28 +18 +08 +ENDCHAR +STARTCHAR uni2A65 +ENCODING 10853 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +80 +C0 +A0 +90 +F8 +90 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni2A66 +ENCODING 10854 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F8 +00 +F8 +00 +20 +ENDCHAR +STARTCHAR uni2A67 +ENCODING 10855 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A68 +ENCODING 10856 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +F8 +50 +F8 +50 +F8 +50 +ENDCHAR +STARTCHAR uni2A69 +ENCODING 10857 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A8 +FC +A8 +FC +A8 +FC +A8 +ENDCHAR +STARTCHAR uni2A6A +ENCODING 10858 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 2 +BITMAP +20 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A6B +ENCODING 10859 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +00 +68 +B0 +00 +40 +ENDCHAR +STARTCHAR uni2A6C +ENCODING 10860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +68 +B0 +00 +F8 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A6D +ENCODING 10861 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +68 +B0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A6E +ENCODING 10862 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +A8 +70 +F8 +70 +A8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A6F +ENCODING 10863 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +50 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A70 +ENCODING 10864 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +68 +B0 +00 +68 +B0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A71 +ENCODING 10865 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F8 +00 +F8 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2A72 +ENCODING 10866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +20 +20 +F8 +20 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A73 +ENCODING 10867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +00 +F8 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A74 +ENCODING 10868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +AC +00 +AC +ENDCHAR +STARTCHAR uni2A75 +ENCODING 10869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +D8 +00 +D8 +ENDCHAR +STARTCHAR uni2A76 +ENCODING 10870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +A8 +00 +A8 +ENDCHAR +STARTCHAR uni2A77 +ENCODING 10871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +F8 +00 +F8 +00 +50 +ENDCHAR +STARTCHAR uni2A78 +ENCODING 10872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +00 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A79 +ENCODING 10873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +20 +48 +94 +48 +20 +10 +ENDCHAR +STARTCHAR uni2A7A +ENCODING 10874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +10 +48 +A4 +48 +10 +20 +ENDCHAR +STARTCHAR uni2A7B +ENCODING 10875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +C0 +20 +40 +00 +40 +0C +30 +C0 +30 +0C +ENDCHAR +STARTCHAR uni2A7C +ENCODING 10876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 +BITMAP +18 +04 +08 +00 +08 +C0 +30 +0C +30 +C0 +ENDCHAR +STARTCHAR uni2A7D +ENCODING 10877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +C0 +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2A7E +ENCODING 10878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +0C +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2A7F +ENCODING 10879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +C4 +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2A80 +ENCODING 10880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +8C +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2A81 +ENCODING 10881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +40 +0C +30 +C0 +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2A82 +ENCODING 10882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +08 +C0 +30 +0C +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2A83 +ENCODING 10883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +04 +00 +0C +30 +C0 +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2A84 +ENCODING 10884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 +BITMAP +80 +00 +C0 +30 +0C +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2A85 +ENCODING 10885 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +38 +C0 +38 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A86 +ENCODING 10886 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 +BITMAP +E0 +18 +E0 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2A87 +ENCODING 10887 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +0C +30 +C0 +30 +0C +00 +10 +FC +40 +ENDCHAR +STARTCHAR uni2A88 +ENCODING 10888 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +C0 +30 +0C +30 +C0 +00 +10 +FC +40 +ENDCHAR +STARTCHAR uni2A89 +ENCODING 10889 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +38 +C0 +38 +00 +10 +78 +B0 +20 +68 +F0 +40 +ENDCHAR +STARTCHAR uni2A8A +ENCODING 10890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +E0 +18 +E0 +00 +10 +78 +B0 +20 +68 +F0 +40 +ENDCHAR +STARTCHAR uni2A8B +ENCODING 10891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +38 +C0 +38 +00 +F8 +00 +F8 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A8C +ENCODING 10892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 +BITMAP +E0 +18 +E0 +00 +F8 +00 +F8 +00 +38 +C0 +38 +ENDCHAR +STARTCHAR uni2A8D +ENCODING 10893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +38 +C0 +38 +00 +68 +B0 +00 +F8 +ENDCHAR +STARTCHAR uni2A8E +ENCODING 10894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +E0 +18 +E0 +00 +68 +B0 +00 +F8 +ENDCHAR +STARTCHAR uni2A8F +ENCODING 10895 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +38 +C0 +38 +00 +68 +B0 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A90 +ENCODING 10896 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +E0 +18 +E0 +00 +68 +B0 +00 +38 +C0 +38 +ENDCHAR +STARTCHAR uni2A91 +ENCODING 10897 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +38 +C0 +38 +E0 +18 +E0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A92 +ENCODING 10898 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +E0 +18 +E0 +38 +C0 +38 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2A93 +ENCODING 10899 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +1C +E0 +1C +E0 +1C +E0 +1C +E0 +1C +E0 +ENDCHAR +STARTCHAR uni2A94 +ENCODING 10900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 +BITMAP +E0 +1C +E0 +1C +E0 +1C +E0 +1C +E0 +1C +ENDCHAR +STARTCHAR uni2A95 +ENCODING 10901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +CC +30 +C0 +30 +0C +ENDCHAR +STARTCHAR uni2A96 +ENCODING 10902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +CC +30 +0C +30 +C0 +ENDCHAR +STARTCHAR uni2A97 +ENCODING 10903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +CC +30 +C4 +30 +0C +ENDCHAR +STARTCHAR uni2A98 +ENCODING 10904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +CC +30 +8C +30 +C0 +ENDCHAR +STARTCHAR uni2A99 +ENCODING 10905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +F8 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A9A +ENCODING 10906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +F8 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A9B +ENCODING 10907 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +0C +30 +CC +30 +CC +30 +C0 +30 +0C +ENDCHAR +STARTCHAR uni2A9C +ENCODING 10908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +C0 +30 +CC +30 +CC +30 +0C +30 +C0 +ENDCHAR +STARTCHAR uni2A9D +ENCODING 10909 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +68 +B0 +00 +38 +C0 +38 +ENDCHAR +STARTCHAR uni2A9E +ENCODING 10910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +68 +B0 +00 +E0 +18 +E0 +ENDCHAR +STARTCHAR uni2A9F +ENCODING 10911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +68 +B0 +00 +38 +C0 +38 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AA0 +ENCODING 10912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +68 +B0 +00 +E0 +18 +E0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AA1 +ENCODING 10913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +48 +90 +48 +20 +10 +ENDCHAR +STARTCHAR uni2AA2 +ENCODING 10914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +20 +90 +48 +90 +20 +40 +ENDCHAR +STARTCHAR uni2AA3 +ENCODING 10915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +24 +48 +90 +48 +24 +00 +FC +ENDCHAR +STARTCHAR uni2AA4 +ENCODING 10916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +CC +30 +48 +30 +CC +ENDCHAR +STARTCHAR uni2AA5 +ENCODING 10917 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +84 +48 +30 +48 +84 +ENDCHAR +STARTCHAR uni2AA6 +ENCODING 10918 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +08 +34 +C4 +34 +08 +ENDCHAR +STARTCHAR uni2AA7 +ENCODING 10919 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +40 +B0 +8C +B0 +40 +ENDCHAR +STARTCHAR uni2AA8 +ENCODING 10920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +08 +34 +C4 +34 +C8 +30 +0C +ENDCHAR +STARTCHAR uni2AA9 +ENCODING 10921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +40 +B0 +8C +B0 +4C +30 +C0 +ENDCHAR +STARTCHAR uni2AAA +ENCODING 10922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +0C +30 +FC +30 +0C +ENDCHAR +STARTCHAR uni2AAB +ENCODING 10923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +C0 +30 +FC +30 +C0 +ENDCHAR +STARTCHAR uni2AAC +ENCODING 10924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +0C +30 +FC +30 +0C +00 +FC +ENDCHAR +STARTCHAR uni2AAD +ENCODING 10925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +C0 +30 +FC +30 +C0 +00 +FC +ENDCHAR +STARTCHAR uni2AAE +ENCODING 10926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +D8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AAF +ENCODING 10927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +30 +C0 +30 +08 +00 +F8 +ENDCHAR +STARTCHAR uni2AB0 +ENCODING 10928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +60 +18 +60 +80 +00 +F8 +ENDCHAR +STARTCHAR uni2AB1 +ENCODING 10929 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +08 +30 +C0 +30 +08 +10 +F8 +40 +ENDCHAR +STARTCHAR uni2AB2 +ENCODING 10930 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +80 +60 +18 +60 +80 +10 +F8 +40 +ENDCHAR +STARTCHAR uni2AB3 +ENCODING 10931 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +08 +30 +C0 +30 +08 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AB4 +ENCODING 10932 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +80 +60 +18 +60 +80 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AB5 +ENCODING 10933 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +08 +30 +C0 +30 +08 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2AB6 +ENCODING 10934 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +80 +60 +18 +60 +80 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2AB7 +ENCODING 10935 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +08 +30 +C0 +30 +08 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2AB8 +ENCODING 10936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +80 +60 +18 +60 +80 +00 +B0 +68 +00 +B0 +68 +ENDCHAR +STARTCHAR uni2AB9 +ENCODING 10937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +08 +30 +C0 +30 +08 +10 +78 +B0 +20 +68 +F0 +40 +ENDCHAR +STARTCHAR uni2ABA +ENCODING 10938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 +BITMAP +80 +60 +18 +60 +80 +10 +78 +B0 +20 +68 +F0 +40 +ENDCHAR +STARTCHAR uni2ABB +ENCODING 10939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +28 +50 +A0 +50 +28 +28 +ENDCHAR +STARTCHAR uni2ABC +ENCODING 10940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +50 +28 +50 +A0 +A0 +ENDCHAR +STARTCHAR uni2ABD +ENCODING 10941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +78 +80 +A0 +80 +78 +ENDCHAR +STARTCHAR uni2ABE +ENCODING 10942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +F0 +08 +28 +08 +F0 +ENDCHAR +STARTCHAR uni2ABF +ENCODING 10943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +80 +80 +78 +00 +20 +70 +20 +ENDCHAR +STARTCHAR uni2AC0 +ENCODING 10944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +08 +08 +F0 +00 +20 +70 +20 +ENDCHAR +STARTCHAR uni2AC1 +ENCODING 10945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +80 +80 +78 +00 +50 +20 +50 +ENDCHAR +STARTCHAR uni2AC2 +ENCODING 10946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +08 +08 +F0 +00 +50 +20 +50 +ENDCHAR +STARTCHAR uni2AC3 +ENCODING 10947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +78 +80 +80 +78 +00 +F8 +ENDCHAR +STARTCHAR uni2AC4 +ENCODING 10948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +20 +00 +F0 +08 +08 +F0 +00 +F8 +ENDCHAR +STARTCHAR uni2AC5 +ENCODING 10949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +78 +80 +80 +78 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AC6 +ENCODING 10950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +F0 +08 +08 +F0 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AC7 +ENCODING 10951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +80 +80 +78 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2AC8 +ENCODING 10952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F0 +08 +08 +F0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2AC9 +ENCODING 10953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +78 +80 +80 +78 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2ACA +ENCODING 10954 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F0 +08 +08 +F0 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2ACB +ENCODING 10955 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +78 +80 +80 +78 +00 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2ACC +ENCODING 10956 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 +BITMAP +F0 +08 +08 +F0 +00 +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2ACD +ENCODING 10957 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +80 +80 +F0 +ENDCHAR +STARTCHAR uni2ACE +ENCODING 10958 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +FC +04 +04 +3C +ENDCHAR +STARTCHAR uni2ACF +ENCODING 10959 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +48 +88 +88 +88 +48 +38 +ENDCHAR +STARTCHAR uni2AD0 +ENCODING 10960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +E0 +90 +88 +88 +88 +90 +E0 +ENDCHAR +STARTCHAR uni2AD1 +ENCODING 10961 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +38 +48 +88 +88 +88 +48 +38 +00 +F8 +ENDCHAR +STARTCHAR uni2AD2 +ENCODING 10962 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +E0 +90 +88 +88 +88 +90 +E0 +00 +F8 +ENDCHAR +STARTCHAR uni2AD3 +ENCODING 10963 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +78 +80 +80 +78 +00 +F0 +08 +08 +F0 +ENDCHAR +STARTCHAR uni2AD4 +ENCODING 10964 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F0 +08 +08 +F0 +00 +78 +80 +80 +78 +ENDCHAR +STARTCHAR uni2AD5 +ENCODING 10965 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +78 +80 +80 +78 +00 +78 +80 +80 +78 +ENDCHAR +STARTCHAR uni2AD6 +ENCODING 10966 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +F0 +08 +08 +F0 +00 +F0 +08 +08 +F0 +ENDCHAR +STARTCHAR uni2AD7 +ENCODING 10967 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 +BITMAP +CC +30 +30 +CC +ENDCHAR +STARTCHAR uni2AD8 +ENCODING 10968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 +BITMAP +CC +30 +78 +30 +CC +ENDCHAR +STARTCHAR uni2AD9 +ENCODING 10969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2ADA +ENCODING 10970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +70 +20 +70 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2ADB +ENCODING 10971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +A8 +A8 +A8 +20 +ENDCHAR +STARTCHAR uni2ADC +ENCODING 10972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +28 +30 +A8 +E8 +F0 +ENDCHAR +STARTCHAR uni2ADD +ENCODING 10973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2ADE +ENCODING 10974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +10 +10 +10 +F0 +10 +10 +10 +ENDCHAR +STARTCHAR uni2ADF +ENCODING 10975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2AE0 +ENCODING 10976 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni2AE1 +ENCODING 10977 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +24 +28 +24 +28 +20 +FC +ENDCHAR +STARTCHAR uni2AE2 +ENCODING 10978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +F8 +80 +F8 +80 +F8 +80 +ENDCHAR +STARTCHAR uni2AE3 +ENCODING 10979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +28 +28 +E8 +28 +28 +28 +ENDCHAR +STARTCHAR uni2AE4 +ENCODING 10980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +08 +08 +F8 +08 +F8 +08 +08 +ENDCHAR +STARTCHAR uni2AE5 +ENCODING 10981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +28 +E8 +28 +E8 +28 +28 +ENDCHAR +STARTCHAR uni2AE6 +ENCODING 10982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +A0 +A0 +F8 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2AE7 +ENCODING 10983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +00 +F8 +20 +20 +20 +ENDCHAR +STARTCHAR uni2AE8 +ENCODING 10984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2AE9 +ENCODING 10985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +F8 +00 +F8 +20 +20 +ENDCHAR +STARTCHAR uni2AEA +ENCODING 10986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +50 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni2AEB +ENCODING 10987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +50 +50 +50 +50 +F8 +ENDCHAR +STARTCHAR uni2AEC +ENCODING 10988 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +F8 +08 +F8 +08 +ENDCHAR +STARTCHAR uni2AED +ENCODING 10989 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 1 1 +BITMAP +F8 +80 +F8 +80 +ENDCHAR +STARTCHAR uni2AEE +ENCODING 10990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +40 +C0 +40 +60 +40 +40 +ENDCHAR +STARTCHAR uni2AEF +ENCODING 10991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni2AF0 +ENCODING 10992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +40 +40 +40 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2AF1 +ENCODING 10993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +40 +40 +40 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2AF2 +ENCODING 10994 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +50 +F8 +50 +50 +50 +ENDCHAR +STARTCHAR uni2AF3 +ENCODING 10995 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +50 +78 +F0 +50 +50 +50 +ENDCHAR +STARTCHAR uni2AF4 +ENCODING 10996 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2AF5 +ENCODING 10997 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +A8 +A8 +A8 +FC +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2AF6 +ENCODING 10998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 1 +BITMAP +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2AF7 +ENCODING 10999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +54 +A8 +54 +ENDCHAR +STARTCHAR uni2AF8 +ENCODING 11000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 +BITMAP +A8 +54 +A8 +ENDCHAR +STARTCHAR uni2AF9 +ENCODING 11001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +0C +30 +C0 +30 +CC +30 +CC +30 +0C +ENDCHAR +STARTCHAR uni2AFA +ENCODING 11002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +C0 +30 +0C +30 +CC +30 +CC +30 +C0 +ENDCHAR +STARTCHAR uni2AFB +ENCODING 11003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 +BITMAP +54 +54 +54 +54 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2AFC +ENCODING 11004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2AFD +ENCODING 11005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +48 +48 +48 +48 +90 +90 +90 +90 +ENDCHAR +STARTCHAR uni2AFE +ENCODING 11006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +E0 +A0 +A0 +A0 +A0 +E0 +ENDCHAR +STARTCHAR uni2AFF +ENCODING 11007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 +BITMAP +E0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +E0 +ENDCHAR +STARTCHAR uni2B00 +ENCODING 11008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +1C +14 +2C +50 +A0 +40 +ENDCHAR +STARTCHAR uni2B01 +ENCODING 11009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +E0 +A0 +D0 +28 +14 +08 +ENDCHAR +STARTCHAR uni2B02 +ENCODING 11010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +A0 +50 +2C +14 +1C +ENDCHAR +STARTCHAR uni2B03 +ENCODING 11011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +08 +14 +28 +D0 +A0 +E0 +ENDCHAR +STARTCHAR uni2B04 +ENCODING 11012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +48 +B4 +84 +B4 +48 +ENDCHAR +STARTCHAR uni2B05 +ENCODING 11013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +60 +F8 +F8 +60 +20 +ENDCHAR +STARTCHAR uni2B06 +ENCODING 11014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +78 +FC +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni2B07 +ENCODING 11015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +30 +30 +30 +30 +FC +78 +30 +ENDCHAR +STARTCHAR uni2B08 +ENCODING 11016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +1C +1C +3C +70 +E0 +40 +ENDCHAR +STARTCHAR uni2B09 +ENCODING 11017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +E0 +E0 +F0 +38 +1C +08 +ENDCHAR +STARTCHAR uni2B0A +ENCODING 11018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +40 +E0 +70 +3C +1C +1C +ENDCHAR +STARTCHAR uni2B0B +ENCODING 11019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +08 +1C +38 +F0 +E0 +E0 +ENDCHAR +STARTCHAR uni2B0C +ENCODING 11020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +FC +48 +ENDCHAR +STARTCHAR uni2B0D +ENCODING 11021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 +BITMAP +30 +78 +FC +30 +30 +30 +FC +78 +30 +ENDCHAR +STARTCHAR uni2B0E +ENCODING 11022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +E0 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2B0F +ENCODING 11023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +A8 +20 +20 +E0 +ENDCHAR +STARTCHAR uni2B10 +ENCODING 11024 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni2B11 +ENCODING 11025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +A8 +20 +20 +38 +ENDCHAR +STARTCHAR uni2B12 +ENCODING 11026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +F8 +F8 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2B13 +ENCODING 11027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +88 +88 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni2B14 +ENCODING 11028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +B8 +98 +88 +F8 +ENDCHAR +STARTCHAR uni2B15 +ENCODING 11029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +C8 +E8 +F8 +ENDCHAR +STARTCHAR uni2B16 +ENCODING 11030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +30 +68 +EC +68 +30 +ENDCHAR +STARTCHAR uni2B17 +ENCODING 11031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +30 +58 +9C +58 +30 +ENDCHAR +STARTCHAR uni2B18 +ENCODING 11032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +F8 +88 +50 +20 +ENDCHAR +STARTCHAR uni2B19 +ENCODING 11033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +88 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2B1A +ENCODING 11034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +00 +88 +00 +A8 +ENDCHAR +STARTCHAR uni2B1B +ENCODING 11035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni2B1C +ENCODING 11036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2B1D +ENCODING 11037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR uni2B1E +ENCODING 11038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +E0 +A0 +E0 +ENDCHAR +STARTCHAR uni2B1F +ENCODING 11039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +F8 +F8 +70 +70 +ENDCHAR +STARTCHAR uni2B20 +ENCODING 11040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +88 +88 +50 +70 +ENDCHAR +STARTCHAR uni2B21 +ENCODING 11041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +88 +88 +88 +50 +20 +ENDCHAR +STARTCHAR uni2B22 +ENCODING 11042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +F8 +F8 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2B23 +ENCODING 11043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +70 +F8 +70 +ENDCHAR +STARTCHAR uni2B24 +ENCODING 11044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +78 +FC +FC +FC +FC +78 +ENDCHAR +STARTCHAR uni2B25 +ENCODING 11045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2B26 +ENCODING 11046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR uni2B27 +ENCODING 11047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +40 +40 +E0 +E0 +40 +40 +ENDCHAR +STARTCHAR uni2B28 +ENCODING 11048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +50 +50 +88 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni2B29 +ENCODING 11049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2B2A +ENCODING 11050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +40 +40 +E0 +40 +40 +ENDCHAR +STARTCHAR uni2B2B +ENCODING 11051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +50 +88 +50 +50 +20 +ENDCHAR +STARTCHAR uni2B2C +ENCODING 11052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +70 +F8 +F8 +70 +ENDCHAR +STARTCHAR uni2B2D +ENCODING 11053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +70 +88 +88 +70 +ENDCHAR +STARTCHAR uni2B2E +ENCODING 11054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +F8 +F8 +F8 +F8 +F8 +70 +ENDCHAR +STARTCHAR uni2B2F +ENCODING 11055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni2B30 +ENCODING 11056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +58 +FC +58 +ENDCHAR +STARTCHAR uni2B31 +ENCODING 11057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 +BITMAP +40 +F8 +40 +00 +40 +F8 +40 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2B32 +ENCODING 11058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +58 +FC +58 +ENDCHAR +STARTCHAR uni2B33 +ENCODING 11059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +54 +E8 +40 +ENDCHAR +STARTCHAR uni2B34 +ENCODING 11060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +08 +68 +FC +68 +08 +ENDCHAR +STARTCHAR uni2B35 +ENCODING 11061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +18 +78 +FC +78 +18 +ENDCHAR +STARTCHAR uni2B36 +ENCODING 11062 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +68 +F8 +68 +08 +ENDCHAR +STARTCHAR uni2B37 +ENCODING 11063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +64 +D8 +64 +ENDCHAR +STARTCHAR uni2B38 +ENCODING 11064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +40 +A8 +40 +20 +ENDCHAR +STARTCHAR uni2B39 +ENCODING 11065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +10 +54 +F8 +54 +10 +ENDCHAR +STARTCHAR uni2B3A +ENCODING 11066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +30 +74 +F8 +74 +30 +ENDCHAR +STARTCHAR uni2B3B +ENCODING 11067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +64 +F8 +64 +ENDCHAR +STARTCHAR uni2B3C +ENCODING 11068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +10 +74 +F8 +74 +10 +ENDCHAR +STARTCHAR uni2B3D +ENCODING 11069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +18 +7C +F8 +7C +18 +ENDCHAR +STARTCHAR uni2B3E +ENCODING 11070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +58 +FC +58 +ENDCHAR +STARTCHAR uni2B3F +ENCODING 11071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +F4 +40 +ENDCHAR +STARTCHAR uni2B40 +ENCODING 11072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 +BITMAP +38 +00 +38 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2B41 +ENCODING 11073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2B42 +ENCODING 11074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +40 +F8 +40 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2B43 +ENCODING 11075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +80 +40 +28 +FC +28 +40 +80 +ENDCHAR +STARTCHAR uni2B44 +ENCODING 11076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +C0 +28 +FC +28 +C0 +ENDCHAR +STARTCHAR uni2B45 +ENCODING 11077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +10 +3C +40 +FC +40 +3C +10 +ENDCHAR +STARTCHAR uni2B46 +ENCODING 11078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +20 +F0 +08 +FC +08 +F0 +20 +ENDCHAR +STARTCHAR uni2B47 +ENCODING 11079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +10 +F8 +10 +ENDCHAR +STARTCHAR uni2B48 +ENCODING 11080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +10 +F8 +10 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2B49 +ENCODING 11081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +68 +B0 +00 +40 +F8 +40 +ENDCHAR +STARTCHAR uni2B4A +ENCODING 11082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +40 +F8 +40 +00 +68 +B0 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2B4B +ENCODING 11083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +40 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2B4C +ENCODING 11084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +10 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2C60 +ENCODING 11360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +40 +E0 +40 +E0 +40 +78 +ENDCHAR +STARTCHAR uni2C61 +ENCODING 11361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +C0 +40 +E0 +40 +E0 +40 +ENDCHAR +STARTCHAR uni2C62 +ENCODING 11362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +20 +68 +B0 +20 +20 +38 +ENDCHAR +STARTCHAR uni2C63 +ENCODING 11363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +48 +E8 +48 +70 +40 +40 +ENDCHAR +STARTCHAR uni2C64 +ENCODING 11364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F0 +88 +88 +F0 +A0 +90 +88 +A0 +40 +ENDCHAR +STARTCHAR uni2C65 +ENCODING 11365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +08 +08 +70 +18 +78 +A8 +78 +40 +ENDCHAR +STARTCHAR uni2C66 +ENCODING 11366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +28 +28 +F8 +30 +20 +20 +58 +40 +ENDCHAR +STARTCHAR uni2C67 +ENCODING 11367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +88 +88 +88 +F8 +88 +88 +8C +04 +ENDCHAR +STARTCHAR uni2C68 +ENCODING 11368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +80 +80 +F0 +88 +88 +88 +8C +04 +ENDCHAR +STARTCHAR uni2C69 +ENCODING 11369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +88 +90 +A0 +C0 +A0 +90 +8C +04 +ENDCHAR +STARTCHAR uni2C6A +ENCODING 11370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +80 +80 +88 +90 +E0 +90 +8C +04 +ENDCHAR +STARTCHAR uni2C6B +ENCODING 11371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +F8 +08 +10 +20 +40 +80 +FC +04 +ENDCHAR +STARTCHAR uni2C6C +ENCODING 11372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +F8 +10 +20 +40 +FC +04 +ENDCHAR +STARTCHAR uni2C6D +ENCODING 11373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +68 +98 +88 +88 +88 +88 +74 +ENDCHAR +STARTCHAR uni2C6E +ENCODING 11374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +88 +D8 +A8 +88 +88 +88 +88 +28 +10 +ENDCHAR +STARTCHAR uni2C6F +ENCODING 11375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +88 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni2C71 +ENCODING 11377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +84 +88 +88 +50 +20 +ENDCHAR +STARTCHAR uni2C72 +ENCODING 11378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +84 +88 +88 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni2C73 +ENCODING 11379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +84 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR uni2C74 +ENCODING 11380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +48 +A8 +C8 +50 +20 +ENDCHAR +STARTCHAR uni2C75 +ENCODING 11381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 +BITMAP +80 +80 +80 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni2C76 +ENCODING 11382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni2C77 +ENCODING 11383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +A8 +A8 +A8 +70 +ENDCHAR +STARTCHAR uni2C78 +ENCODING 11384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 +BITMAP +70 +88 +F0 +80 +74 +18 +ENDCHAR +STARTCHAR uni2C79 +ENCODING 11385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 0 +BITMAP +40 +40 +40 +C0 +ENDCHAR +STARTCHAR uni2C7A +ENCODING 11386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni2C7B +ENCODING 11387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +F0 +10 +70 +10 +F0 +ENDCHAR +STARTCHAR uni2C7C +ENCODING 11388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 -2 +BITMAP +20 +00 +60 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni2C7D +ENCODING 11389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 +BITMAP +88 +88 +88 +50 +20 +ENDCHAR +STARTCHAR uni2DE0 +ENCODING 11744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 +BITMAP +60 +C0 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni2DE1 +ENCODING 11745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 +BITMAP +C0 +A0 +C0 +A0 +C0 +ENDCHAR +STARTCHAR uni2DE2 +ENCODING 11746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +E0 +80 +80 +80 +ENDCHAR +STARTCHAR uni2DE3 +ENCODING 11747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +70 +50 +50 +F0 +ENDCHAR +STARTCHAR uni2DE4 +ENCODING 11748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 +BITMAP +A8 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni2DE5 +ENCODING 11749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 +BITMAP +C0 +20 +40 +20 +C0 +ENDCHAR +STARTCHAR uni2DE6 +ENCODING 11750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +C0 +A0 +A0 +ENDCHAR +STARTCHAR uni2DE7 +ENCODING 11751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +70 +50 +50 +90 +ENDCHAR +STARTCHAR uni2DE8 +ENCODING 11752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +E0 +A0 +A0 +ENDCHAR +STARTCHAR uni2DE9 +ENCODING 11753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +90 +F0 +90 +90 +ENDCHAR +STARTCHAR uni2DEA +ENCODING 11754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni2DEB +ENCODING 11755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2DEC +ENCODING 11756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +C0 +A0 +C0 +80 +ENDCHAR +STARTCHAR uni2DED +ENCODING 11757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +60 +80 +80 +60 +ENDCHAR +STARTCHAR uni2DEE +ENCODING 11758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +E0 +40 +40 +40 +ENDCHAR +STARTCHAR uni2DEF +ENCODING 11759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +40 +A0 +A0 +ENDCHAR +STARTCHAR uni2DF0 +ENCODING 11760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 5 +BITMAP +A0 +A0 +A0 +B0 +10 +ENDCHAR +STARTCHAR uni2DF1 +ENCODING 11761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +A0 +60 +20 +20 +ENDCHAR +STARTCHAR uni2DF2 +ENCODING 11762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 +BITMAP +A8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uni2DF3 +ENCODING 11763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 5 +BITMAP +A8 +A8 +A8 +AC +04 +ENDCHAR +STARTCHAR uni2DF4 +ENCODING 11764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 +BITMAP +60 +D0 +B0 +60 +ENDCHAR +STARTCHAR uni2DF5 +ENCODING 11765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 6 +BITMAP +7C +88 +88 +68 +ENDCHAR +STARTCHAR uni2DF6 +ENCODING 11766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +C0 +60 +A0 +60 +ENDCHAR +STARTCHAR uni2DF7 +ENCODING 11767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 +BITMAP +60 +A0 +C0 +E0 +ENDCHAR +STARTCHAR uni2DF8 +ENCODING 11768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 +BITMAP +40 +E0 +40 +A0 +A0 +ENDCHAR +STARTCHAR uni2DF9 +ENCODING 11769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 4 +BITMAP +20 +A0 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR uni2DFA +ENCODING 11770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 4 +BITMAP +40 +E0 +40 +60 +50 +60 +ENDCHAR +STARTCHAR uni2DFB +ENCODING 11771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 5 +BITMAP +98 +A4 +E4 +A4 +98 +ENDCHAR +STARTCHAR uni2DFC +ENCODING 11772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +B0 +88 +F8 +A8 +98 +ENDCHAR +STARTCHAR uni2DFD +ENCODING 11773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +20 +50 +F8 +A8 +A8 +ENDCHAR +STARTCHAR uni2DFE +ENCODING 11774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 +BITMAP +F8 +50 +70 +A8 +A8 +ENDCHAR +STARTCHAR uni2DFF +ENCODING 11775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 5 +BITMAP +FC +A8 +B8 +D4 +D4 +ENDCHAR + + +STARTCHAR U_2E80 +ENCODING 11904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 7 2 1 +BITMAP +60 +18 +04 +C0 +30 +08 +04 +ENDCHAR +STARTCHAR U_2E81 +ENCODING 11905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01E0 +3E00 +2000 +2000 +2000 +2000 +2000 +2000 +4000 +4000 +8000 +ENDCHAR +STARTCHAR U_2E82 +ENCODING 11906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 5 1 2 +BITMAP +FF80 +0080 +0080 +0100 +0100 +ENDCHAR +STARTCHAR U_2E83 +ENCODING 11907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +82 +82 +7E +ENDCHAR +STARTCHAR U_2E84 +ENCODING 11908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FF00 +0100 +0100 +0100 +0100 +0100 +0120 +00A0 +00A0 +0060 +ENDCHAR +STARTCHAR U_2E85 +ENCODING 11909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 0 -1 +BITMAP +10 +10 +10 +20 +60 +A0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR U_2E86 +ENCODING 11910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 1 -1 +BITMAP +3F +21 +21 +21 +21 +21 +21 +41 +41 +87 +ENDCHAR +STARTCHAR U_2E87 +ENCODING 11911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +3F80 +2080 +2080 +2080 +2080 +2080 +20A0 +40A0 +4060 +8020 +ENDCHAR +STARTCHAR U_2E88 +ENCODING 11912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 6 1 4 +BITMAP +10 +10 +3F +22 +44 +80 +ENDCHAR +STARTCHAR U_2E89 +ENCODING 11913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 4 -1 +BITMAP +10 +10 +90 +90 +90 +90 +90 +90 +90 +10 +30 +ENDCHAR +STARTCHAR U_2E8A +ENCODING 11914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 4 -1 +BITMAP +80 +80 +80 +80 +80 +F8 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_2E8B +ENCODING 11915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 7 2 -1 +BITMAP +FE00 +8200 +8200 +8E00 +8080 +8080 +7F80 +ENDCHAR +STARTCHAR U_2E8C +ENCODING 11916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 4 1 6 +BITMAP +0800 +8880 +4900 +0800 +ENDCHAR +STARTCHAR U_2E8D +ENCODING 11917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 4 1 6 +BITMAP +0080 +9080 +4900 +4A00 +ENDCHAR +STARTCHAR U_2E8E +ENCODING 11918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 9 0 -1 +BITMAP +FFE0 +1200 +1200 +1200 +1200 +2200 +2220 +4220 +81E0 +ENDCHAR +STARTCHAR U_2E8F +ENCODING 11919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2100 +40C0 +8040 +1200 +1200 +1200 +1200 +2220 +4220 +81E0 +ENDCHAR +STARTCHAR U_2E90 +ENCODING 11920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +0800 +FFE0 +0A00 +0A00 +0A00 +1200 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_2E91 +ENCODING 11921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2080 +4040 +8040 +1E00 +1200 +1200 +1200 +2220 +4220 +81E0 +ENDCHAR +STARTCHAR U_2E92 +ENCODING 11922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 2 -1 +BITMAP +FE00 +8200 +8200 +FE00 +8000 +8000 +8080 +8080 +7F80 +ENDCHAR +STARTCHAR U_2E93 +ENCODING 11923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +1000 +2100 +4200 +FC00 +0800 +1000 +2200 +4100 +FF80 +0080 +ENDCHAR +STARTCHAR U_2E94 +ENCODING 11924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +1000 +1000 +1F00 +2100 +2100 +2100 +7E00 +0200 +0200 +FF80 +ENDCHAR +STARTCHAR U_2E95 +ENCODING 11925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 0 -1 +BITMAP +FFC0 +0040 +0040 +0040 +7FC0 +0040 +0040 +0040 +FFC0 +0040 +ENDCHAR +STARTCHAR U_2E96 +ENCODING 11926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 0 -1 +BITMAP +10 +10 +10 +58 +54 +90 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR U_2E97 +ENCODING 11927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 6 1 -1 +BITMAP +0800 +4A80 +4940 +8940 +0800 +1800 +ENDCHAR +STARTCHAR U_2E98 +ENCODING 11928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 0 -1 +BITMAP +20 +20 +F8 +20 +20 +38 +E0 +20 +20 +20 +60 +ENDCHAR +STARTCHAR U_2E99 +ENCODING 11929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +1000 +3FC0 +2100 +6100 +9200 +1200 +0C00 +0C00 +1200 +E1C0 +ENDCHAR +STARTCHAR U_2E9C +ENCODING 11932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 5 1 5 +BITMAP +FF80 +8080 +BE80 +8080 +BE80 +ENDCHAR +STARTCHAR U_2E9D +ENCODING 11933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 2 -1 +BITMAP +FC +84 +84 +FC +84 +84 +FC +84 +84 +84 +8C +ENDCHAR +STARTCHAR U_2E9F +ENCODING 11935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2880 +2480 +2080 +FFE0 +2880 +2480 +2080 +7FE0 +0080 +0300 +ENDCHAR +STARTCHAR U_2EA0 +ENCODING 11936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +FF00 +8100 +8100 +FF00 +8400 +FF80 +8400 +8200 +A140 +C080 +ENDCHAR +STARTCHAR U_2EA4 +ENCODING 11940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 4 1 6 +BITMAP +03C0 +FC80 +4880 +2500 +ENDCHAR +STARTCHAR U_2EA5 +ENCODING 11941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 6 1 4 +BITMAP +0780 +7900 +4900 +4900 +8880 +8040 +ENDCHAR +STARTCHAR U_2EA7 +ENCODING 11943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 4 0 6 +BITMAP +2400 +7FC0 +8400 +7FE0 +ENDCHAR +STARTCHAR U_2EAA +ENCODING 11946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 9 0 0 +BITMAP +F8 +10 +20 +A0 +B0 +A0 +A0 +B0 +C0 +ENDCHAR +STARTCHAR U_2EAC +ENCODING 11948 +SWIDTH 1000 0 +DWIDTH 6 0 +BBX 6 11 0 0 +BITMAP +7C +00 +FC +10 +54 +54 +54 +54 +54 +94 +10 +ENDCHAR +STARTCHAR U_2EAE +ENCODING 11950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 4 +BITMAP +4100 +4100 +7DE0 +5140 +4940 +8A20 +ENDCHAR +STARTCHAR U_2EB0 +ENCODING 11952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 4 0 5 +BITMAP +FFE0 +B1A0 +8E20 +B1A0 +ENDCHAR +STARTCHAR U_2EB5 +ENCODING 11957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +FF80 +9480 +9480 +9480 +9480 +9480 +9480 +9480 +8080 +ENDCHAR +STARTCHAR U_2EB6 +ENCODING 11958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +1080 +FFE0 +0400 +7FC0 +0400 +FFE0 +0800 +1000 +2000 +C000 +ENDCHAR +STARTCHAR U_2EB7 +ENCODING 11959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 8 1 1 +BITMAP +2200 +1400 +1400 +7F00 +0800 +3E00 +0800 +FF80 +ENDCHAR +STARTCHAR U_2EB8 +ENCODING 11960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +F1E0 +1100 +1100 +FFF0 +0400 +7FC0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_2EBB +ENCODING 11963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 2 +BITMAP +0400 +7FC0 +0440 +FFE0 +0440 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_2EBC +ENCODING 11964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 1 -1 +BITMAP +3F +21 +29 +25 +21 +23 +25 +59 +41 +83 +ENDCHAR +STARTCHAR U_2EBD +ENCODING 11965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +2780 +C080 +8080 +8080 +F780 +8080 +8080 +8080 +F780 +8080 +ENDCHAR +STARTCHAR U_2EBF +ENCODING 11967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 4 0 6 +BITMAP +2080 +2080 +FBE0 +2080 +ENDCHAR +STARTCHAR U_2EC4 +ENCODING 11972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +4A40 +5240 +52C0 +6340 +4040 +7FC0 +ENDCHAR +STARTCHAR U_2EC7 +ENCODING 11975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +2000 +3F00 +4100 +7F80 +C880 +5480 +6A80 +4880 +5480 +6280 +4180 +ENDCHAR +STARTCHAR U_2ECA +ENCODING 11978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 0 -1 +BITMAP +7C +44 +44 +7C +10 +5C +50 +50 +50 +5C +E0 +ENDCHAR +STARTCHAR U_2ECD +ENCODING 11981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2000 +8000 +4000 +0000 +E000 +2000 +2000 +2000 +5000 +8FE0 +ENDCHAR +STARTCHAR U_2ECE +ENCODING 11982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2000 +0000 +E000 +2000 +4000 +E000 +2000 +2000 +5000 +8FE0 +ENDCHAR +STARTCHAR U_2ECF +ENCODING 11983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 7 -1 +BITMAP +F0 +90 +A0 +C0 +A0 +90 +90 +D0 +A0 +80 +80 +ENDCHAR +STARTCHAR U_2ED6 +ENCODING 11990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 0 -1 +BITMAP +F0 +90 +A0 +C0 +A0 +90 +90 +90 +E0 +80 +80 +ENDCHAR +STARTCHAR U_2ED7 +ENCODING 11991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 4 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +9520 +64C0 +ENDCHAR +STARTCHAR U_2ED8 +ENCODING 11992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +7FC0 +0400 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_2ED9 +ENCODING 11993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +0800 +7F80 +0800 +0800 +FFC0 +0840 +0840 +0980 +0800 +ENDCHAR +STARTCHAR U_2EE3 +ENCODING 12003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3C80 +2480 +FFE0 +A0A0 +BFA0 +2080 +3F80 +2080 +2380 +ENDCHAR +STARTCHAR U_2EF1 +ENCODING 12017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7F80 +4080 +7BC0 +2AC0 +FB40 +2AC0 +FB40 +2BC0 +EA20 +07C0 +ENDCHAR +STARTCHAR U_2F00 +ENCODING 12032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 2 0 4 +BITMAP +0040 +FFE0 +ENDCHAR +STARTCHAR U_2F01 +ENCODING 12033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 2 11 6 -1 +BITMAP +80 +C0 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_2F02 +ENCODING 12034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 4 4 3 +BITMAP +80 +40 +20 +20 +ENDCHAR +STARTCHAR U_2F03 +ENCODING 12035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 0 -1 +BITMAP +08 +08 +08 +08 +08 +08 +08 +10 +10 +20 +C0 +ENDCHAR +STARTCHAR U_2F04 +ENCODING 12036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +FE00 +0200 +0400 +0800 +1000 +2000 +4000 +8080 +8080 +8080 +7F80 +ENDCHAR +STARTCHAR U_2F05 +ENCODING 12037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 10 4 0 +BITMAP +10 +20 +20 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR U_2F06 +ENCODING 12038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 9 1 0 +BITMAP +0100 +7F80 +0000 +0000 +0000 +0000 +0000 +0080 +FFC0 +ENDCHAR +STARTCHAR U_2F07 +ENCODING 12039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 4 1 4 +BITMAP +0800 +0400 +0400 +FFC0 +ENDCHAR +STARTCHAR U_2F08 +ENCODING 12040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +0400 +0400 +0400 +0A00 +1100 +2080 +4060 +8020 +ENDCHAR +STARTCHAR U_2F09 +ENCODING 12041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +1100 +1100 +1100 +1100 +1100 +1100 +2120 +4120 +80E0 +ENDCHAR +STARTCHAR U_2F0A +ENCODING 12042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +0400 +0400 +0400 +0400 +0400 +0A00 +1100 +2080 +4060 +8020 +ENDCHAR +STARTCHAR U_2F0B +ENCODING 12043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +0300 +0100 +1100 +1100 +1100 +1100 +1100 +2080 +4060 +8020 +ENDCHAR +STARTCHAR U_2F0C +ENCODING 12044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +8040 +8040 +8040 +8040 +8040 +8040 +8040 +8240 +8180 +ENDCHAR +STARTCHAR U_2F0D +ENCODING 12045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 4 0 3 +BITMAP +4020 +7FE0 +8040 +8040 +ENDCHAR +STARTCHAR U_2F0E +ENCODING 12046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 3 -1 +BITMAP +40 +20 +08 +10 +10 +20 +20 +C0 +40 +40 +40 +ENDCHAR +STARTCHAR U_2F0F +ENCODING 12047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +1100 +1100 +1100 +1100 +1100 +1100 +1100 +2120 +4120 +80E0 +ENDCHAR +STARTCHAR U_2F10 +ENCODING 12048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +8040 +8040 +8040 +8040 +8040 +8040 +8040 +8040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_2F11 +ENCODING 12049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +7FE0 +0840 +0840 +0840 +0840 +1040 +1040 +2040 +4240 +8180 +ENDCHAR +STARTCHAR U_2F12 +ENCODING 12050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +0800 +FF80 +0880 +0880 +1080 +1080 +2080 +4480 +8300 +ENDCHAR +STARTCHAR U_2F13 +ENCODING 12051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +3FC0 +4040 +8040 +0040 +0040 +0040 +0040 +0040 +0240 +0180 +ENDCHAR +STARTCHAR U_2F14 +ENCODING 12052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +10C0 +1080 +1100 +1200 +1400 +1800 +F020 +1020 +1020 +0FE0 +ENDCHAR +STARTCHAR U_2F15 +ENCODING 12053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8100 +FF80 +8000 +8000 +8000 +8000 +8000 +8000 +8080 +FFC0 +8000 +ENDCHAR +STARTCHAR U_2F16 +ENCODING 12054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 12 0 -1 +BITMAP +0040 +FFE0 +4000 +4000 +4000 +4000 +4000 +4000 +4000 +4000 +4040 +7FE0 +ENDCHAR +STARTCHAR U_2F17 +ENCODING 12055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +0440 +FFE0 +0400 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_2F18 +ENCODING 12056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 4 -1 +BITMAP +80 +80 +80 +C0 +A0 +98 +8C +84 +80 +80 +80 +ENDCHAR +STARTCHAR U_2F19 +ENCODING 12057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 4 -1 +BITMAP +F8 +88 +88 +88 +88 +88 +A8 +90 +80 +80 +80 +ENDCHAR +STARTCHAR U_2F1A +ENCODING 12058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +4000 +4000 +4000 +4000 +4000 +4000 +4000 +8000 +8000 +ENDCHAR +STARTCHAR U_2F1B +ENCODING 12059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +0400 +0400 +0800 +0800 +1000 +1080 +2040 +4FE0 +F020 +4000 +ENDCHAR +STARTCHAR U_2F1C +ENCODING 12060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0100 +7F80 +2100 +2100 +1200 +1200 +1200 +0C00 +0C00 +3300 +C0C0 +ENDCHAR +STARTCHAR U_2F1D +ENCODING 12061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 9 2 0 +BITMAP +FF +81 +81 +81 +81 +81 +81 +FF +81 +ENDCHAR +STARTCHAR U_2F1E +ENCODING 12062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +8040 +8040 +8040 +8040 +8040 +8040 +8040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_2F1F +ENCODING 12063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +0480 +7FC0 +0400 +0400 +0400 +0400 +0440 +FFE0 +ENDCHAR +STARTCHAR U_2F20 +ENCODING 12064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +0440 +FFE0 +0400 +0400 +0400 +0400 +0480 +7FC0 +ENDCHAR +STARTCHAR U_2F21 +ENCODING 12065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 7 0 3 +BITMAP +0800 +1F80 +3080 +4900 +0600 +0900 +F0E0 +ENDCHAR +STARTCHAR U_2F22 +ENCODING 12066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +2800 +1F80 +1080 +1100 +2900 +4600 +0200 +0500 +18E0 +E040 +ENDCHAR +STARTCHAR U_2F23 +ENCODING 12067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0840 +0FE0 +1040 +2880 +4480 +0500 +0100 +0200 +0C00 +F000 +ENDCHAR +STARTCHAR U_2F24 +ENCODING 12068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0440 +FFE0 +0400 +0400 +0400 +0A00 +1100 +20E0 +C040 +ENDCHAR +STARTCHAR U_2F25 +ENCODING 12069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +1000 +1000 +FFC0 +1200 +2200 +2200 +1400 +0E00 +1100 +6080 +ENDCHAR +STARTCHAR U_2F26 +ENCODING 12070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +0100 +0200 +0400 +0400 +FFC0 +0400 +0400 +2400 +1C00 +0800 +ENDCHAR +STARTCHAR U_2F27 +ENCODING 12071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 5 0 3 +BITMAP +0400 +0200 +7FE0 +4020 +8040 +ENDCHAR +STARTCHAR U_2F28 +ENCODING 12072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0200 +0200 +0200 +FFC0 +0200 +2200 +1200 +0200 +1200 +0E00 +0400 +ENDCHAR +STARTCHAR U_2F29 +ENCODING 12073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +2480 +2480 +4440 +4440 +8420 +A420 +1C00 +0800 +ENDCHAR +STARTCHAR U_2F2A +ENCODING 12074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +FFC0 +0800 +0A00 +0A00 +0A00 +0A00 +1240 +2240 +C1C0 +ENDCHAR +STARTCHAR U_2F2B +ENCODING 12075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +2020 +2020 +3FE0 +2020 +2000 +2000 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_2F2C +ENCODING 12076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +0400 +4440 +4440 +4440 +7FC0 +4440 +0400 +0800 +3000 +C000 +ENDCHAR +STARTCHAR U_2F2D +ENCODING 12077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +0800 +0800 +8880 +8880 +8880 +8880 +8880 +8880 +8880 +FF80 +8080 +ENDCHAR +STARTCHAR U_2F2E +ENCODING 12078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +2220 +2220 +4440 +4440 +8880 +8880 +4440 +4440 +2220 +2220 +ENDCHAR +STARTCHAR U_2F2F +ENCODING 12079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +0080 +7FC0 +0400 +0400 +0400 +0400 +0400 +0400 +0440 +FFE0 +ENDCHAR +STARTCHAR U_2F30 +ENCODING 12080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +0080 +0080 +0080 +7F80 +4080 +4000 +4000 +4040 +4040 +3FC0 +ENDCHAR +STARTCHAR U_2F31 +ENCODING 12081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +FF80 +8880 +8880 +8880 +8880 +8880 +8B80 +0800 +0800 +ENDCHAR +STARTCHAR U_2F32 +ENCODING 12082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +0400 +FFE0 +0400 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_2F33 +ENCODING 12083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +1300 +2200 +7E00 +4400 +0800 +1100 +2180 +FE80 +4080 +ENDCHAR +STARTCHAR U_2F34 +ENCODING 12084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0600 +2200 +3FE0 +2000 +2000 +2000 +2000 +2000 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_2F35 +ENCODING 12085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F800 +1000 +2000 +2000 +7800 +0800 +8800 +5000 +3000 +2800 +C7E0 +ENDCHAR +STARTCHAR U_2F36 +ENCODING 12086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +1080 +1080 +FFE0 +1080 +1080 +1080 +2080 +4080 +8080 +ENDCHAR +STARTCHAR U_2F37 +ENCODING 12087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +0400 +04E0 +1F00 +E400 +0400 +0220 +0120 +00A0 +0060 +ENDCHAR +STARTCHAR U_2F38 +ENCODING 12088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +FE +02 +02 +7E +40 +80 +FF +01 +01 +12 +0C +ENDCHAR +STARTCHAR U_2F39 +ENCODING 12089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0080 +FFC0 +0080 +0080 +0080 +7F80 +0080 +0080 +0080 +FF80 +0080 +ENDCHAR +STARTCHAR U_2F3A +ENCODING 12090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 3 -1 +BITMAP +30 +20 +40 +98 +10 +20 +4C +88 +10 +20 +C0 +ENDCHAR +STARTCHAR U_2F3B +ENCODING 12091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 3 -1 +BITMAP +10 +10 +20 +48 +88 +10 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR U_2F3C +ENCODING 12092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0100 +0900 +0800 +0840 +4820 +4820 +4880 +8880 +08C0 +0780 +ENDCHAR +STARTCHAR U_2F3D +ENCODING 12093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +0900 +0840 +0FE0 +F800 +0880 +0900 +0620 +0A20 +31A0 +C060 +ENDCHAR +STARTCHAR U_2F3E +ENCODING 12094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +00C0 +3F00 +2000 +3FC0 +2040 +2040 +3FC0 +2040 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_2F3F +ENCODING 12095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +7F00 +0400 +3FC0 +0400 +0400 +FFE0 +0400 +2400 +1C00 +0800 +ENDCHAR +STARTCHAR U_2F40 +ENCODING 12096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0440 +FFE0 +0400 +3F80 +1100 +1100 +0A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_2F41 +ENCODING 12097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0880 +0FC0 +0800 +7F80 +2100 +1200 +0C00 +0C00 +3300 +C0C0 +ENDCHAR +STARTCHAR U_2F42 +ENCODING 12098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C00 +0400 +FFE0 +2080 +2080 +1100 +1100 +0A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_2F43 +ENCODING 12099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2200 +1A00 +0A00 +4200 +3200 +1200 +03C0 +FE00 +0200 +0200 +0200 +ENDCHAR +STARTCHAR U_2F44 +ENCODING 12100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +3E00 +2000 +2040 +3FE0 +2100 +2100 +2100 +2100 +4100 +8100 +ENDCHAR +STARTCHAR U_2F45 +ENCODING 12101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C00 +0400 +FFE0 +0800 +0840 +0FE0 +0840 +1040 +2440 +4380 +8100 +ENDCHAR +STARTCHAR U_2F46 +ENCODING 12102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +0400 +FFE0 +0A00 +0A00 +0A00 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_2F47 +ENCODING 12103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +8100 +FF80 +8100 +8100 +8100 +FF00 +8100 +8100 +8100 +FF00 +8100 +ENDCHAR +STARTCHAR U_2F48 +ENCODING 12104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +0080 +FFC0 +8080 +8080 +8080 +FF80 +8080 +8080 +FF80 +8080 +ENDCHAR +STARTCHAR U_2F49 +ENCODING 12105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +3FC0 +2040 +2040 +3FC0 +2040 +2040 +3FC0 +2040 +2240 +41C0 +8080 +ENDCHAR +STARTCHAR U_2F4A +ENCODING 12106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0440 +FFE0 +0400 +0400 +1500 +1500 +2480 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_2F4B +ENCODING 12107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +2000 +3FC0 +4040 +8880 +0800 +0800 +0C00 +1200 +2100 +C0C0 +ENDCHAR +STARTCHAR U_2F4C +ENCODING 12108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +2480 +27C0 +2400 +2400 +2400 +2400 +2440 +FFE0 +ENDCHAR +STARTCHAR U_2F4D +ENCODING 12109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +0880 +0FC0 +1080 +1080 +2900 +C500 +0200 +0C00 +F000 +ENDCHAR +STARTCHAR U_2F4E +ENCODING 12110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3E00 +2200 +2200 +23C0 +C000 +3F80 +1100 +0A00 +0400 +1B00 +E0C0 +ENDCHAR +STARTCHAR U_2F4F +ENCODING 12111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +2480 +2480 +FFE0 +2480 +2480 +7FE0 +0880 +1080 +2300 +ENDCHAR +STARTCHAR U_2F50 +ENCODING 12112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +2200 +2240 +2280 +3B00 +2200 +2200 +2200 +3A20 +E220 +41E0 +ENDCHAR +STARTCHAR U_2F51 +ENCODING 12113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +7C00 +0400 +0580 +7E00 +0400 +04E0 +FF00 +0420 +0420 +03E0 +ENDCHAR +STARTCHAR U_2F52 +ENCODING 12114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +7E00 +4200 +4200 +7FE0 +4200 +4200 +4200 +5920 +E0A0 +4060 +ENDCHAR +STARTCHAR U_2F53 +ENCODING 12115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2000 +5F80 +8000 +7F80 +0080 +00A0 +00A0 +0060 +0020 +ENDCHAR +STARTCHAR U_2F54 +ENCODING 12116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +04C0 +FC80 +1700 +1600 +1500 +2500 +5480 +8C60 +0820 +ENDCHAR +STARTCHAR U_2F55 +ENCODING 12117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +2460 +2440 +2480 +4500 +0A00 +0900 +1080 +2060 +C020 +ENDCHAR +STARTCHAR U_2F56 +ENCODING 12118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +3F80 +2480 +2480 +2480 +2480 +2480 +2480 +2480 +4440 +8020 +ENDCHAR +STARTCHAR U_2F57 +ENCODING 12119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +2040 +4020 +80A0 +1080 +1100 +0A00 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_2F58 +ENCODING 12120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +6100 +1A00 +0600 +1900 +E280 +2200 +1200 +0C00 +0C00 +3300 +C0C0 +ENDCHAR +STARTCHAR U_2F59 +ENCODING 12121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 1 -1 +BITMAP +11 +11 +11 +1F +01 +FF +11 +11 +11 +21 +C1 +ENDCHAR +STARTCHAR U_2F5A +ENCODING 12122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2100 +3FE0 +2000 +2000 +3F00 +2100 +2100 +4100 +8100 +ENDCHAR +STARTCHAR U_2F5B +ENCODING 12123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +0200 +2200 +4200 +FFC0 +0600 +0A00 +1200 +2200 +5E00 +8400 +ENDCHAR +STARTCHAR U_2F5C +ENCODING 12124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4480 +7FC0 +8400 +0400 +0440 +FFE0 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_2F5D +ENCODING 12125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +0400 +FFE0 +0400 +0400 +0600 +0900 +1080 +2040 +C020 +ENDCHAR +STARTCHAR U_2F5E +ENCODING 12126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +FFE0 +0400 +0880 +1100 +3E00 +0400 +0880 +1340 +7C40 +ENDCHAR +STARTCHAR U_2F5F +ENCODING 12127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +0400 +0400 +3F80 +0400 +0500 +0480 +0400 +FFE0 +ENDCHAR +STARTCHAR U_2F60 +ENCODING 12128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +3F00 +2500 +2500 +2500 +2480 +2480 +2440 +2540 +47A0 +8CA0 +ENDCHAR +STARTCHAR U_2F61 +ENCODING 12129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +FFE0 +1000 +1F00 +1100 +2900 +2500 +2500 +2120 +FD20 +40E0 +ENDCHAR +STARTCHAR U_2F62 +ENCODING 12130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2100 +2100 +FFC0 +2100 +2100 +2100 +3F00 +2100 +2100 +3F00 +2100 +ENDCHAR +STARTCHAR U_2F63 +ENCODING 12131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +2200 +2200 +3FE0 +4200 +8200 +1FC0 +0200 +0200 +0200 +7FE0 +ENDCHAR +STARTCHAR U_2F64 +ENCODING 12132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2220 +2220 +3FE0 +2220 +2220 +3FE0 +2220 +2220 +42E0 +8040 +ENDCHAR +STARTCHAR U_2F65 +ENCODING 12133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 2 -1 +BITMAP +FF80 +8880 +8880 +8880 +FF80 +8880 +8880 +8880 +FF80 +8080 +ENDCHAR +STARTCHAR U_2F66 +ENCODING 12134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0220 +0240 +0200 +1200 +13E0 +1200 +1200 +2A00 +4600 +83E0 +ENDCHAR +STARTCHAR U_2F67 +ENCODING 12135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +1FE0 +9000 +5000 +3000 +5000 +9000 +1000 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_2F68 +ENCODING 12136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 4 +BITMAP +FC80 +4B20 +3140 +2080 +4040 +8020 +ENDCHAR +STARTCHAR U_2F69 +ENCODING 12137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +30 +20 +FF +81 +81 +FF +81 +81 +81 +FF +81 +ENDCHAR +STARTCHAR U_2F6A +ENCODING 12138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0200 +3FE0 +2240 +2200 +3F80 +2880 +2880 +2500 +4300 +9CE0 +ENDCHAR +STARTCHAR U_2F6B +ENCODING 12139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +0080 +7FC0 +5280 +5280 +5280 +5280 +5280 +5280 +5280 +FFC0 +ENDCHAR +STARTCHAR U_2F6C +ENCODING 12140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +FF +81 +81 +FF +81 +81 +FF +81 +81 +FF +81 +ENDCHAR +STARTCHAR U_2F6D +ENCODING 12141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +0100 +1A00 +0400 +FFC0 +0C80 +1500 +2400 +4400 +9C00 +0800 +ENDCHAR +STARTCHAR U_2F6E +ENCODING 12142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +2000 +3F80 +4400 +0400 +FFC0 +0400 +0C00 +1200 +21C0 +C080 +ENDCHAR +STARTCHAR U_2F6F +ENCODING 12143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +7FE0 +0400 +0800 +1000 +3FC0 +5040 +9040 +1040 +1FC0 +1040 +ENDCHAR +STARTCHAR U_2F70 +ENCODING 12144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +3FC0 +0000 +0000 +7FE0 +0200 +1280 +2240 +4220 +8E20 +0400 +ENDCHAR +STARTCHAR U_2F71 +ENCODING 12145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +1800 +1000 +FF80 +9080 +9080 +A480 +AE80 +F280 +8080 +8080 +8380 +ENDCHAR +STARTCHAR U_2F72 +ENCODING 12146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +7F00 +0400 +0400 +FFE0 +0400 +0E00 +1500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_2F73 +ENCODING 12147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0400 +FFC0 +8040 +9240 +1200 +1200 +2100 +2100 +40C0 +8040 +ENDCHAR +STARTCHAR U_2F74 +ENCODING 12148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C00 +0400 +7FC0 +0000 +2080 +2080 +1100 +1100 +1200 +0200 +FFE0 +ENDCHAR +STARTCHAR U_2F75 +ENCODING 12149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2200 +3BE0 +5480 +9080 +1080 +1080 +1080 +1380 +1100 +ENDCHAR +STARTCHAR U_2F76 +ENCODING 12150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +44C0 +3480 +1500 +FFE0 +0400 +0E00 +1500 +24C0 +4460 +8420 +ENDCHAR +STARTCHAR U_2F77 +ENCODING 12151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +1100 +2200 +7C00 +1100 +FE80 +4480 +2500 +2480 +4440 +8440 +ENDCHAR +STARTCHAR U_2F78 +ENCODING 12152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FC0 +2400 +4400 +0400 +FFE0 +0400 +4440 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_2F79 +ENCODING 12153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +9140 +D540 +A240 +9240 +AD40 +C540 +8840 +8040 +81C0 +ENDCHAR +STARTCHAR U_2F7A +ENCODING 12154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +7FC0 +0400 +0400 +3F80 +0400 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_2F7B +ENCODING 12155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0820 +4920 +28A0 +0860 +18A0 +EB20 +4920 +0820 +79E0 +1040 +ENDCHAR +STARTCHAR U_2F7C +ENCODING 12156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0880 +7E80 +0900 +FFC0 +0800 +1180 +3600 +D840 +1040 +0FC0 +ENDCHAR +STARTCHAR U_2F7D +ENCODING 12157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0800 +7FE0 +4920 +4920 +4920 +4920 +4920 +4920 +40E0 +ENDCHAR +STARTCHAR U_2F7E +ENCODING 12158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +0400 +FFE0 +1500 +1500 +2480 +4460 +8420 +ENDCHAR +STARTCHAR U_2F7F +ENCODING 12159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +2100 +2100 +3F00 +2100 +3F00 +2100 +21C0 +FF00 +0100 +0100 +ENDCHAR +STARTCHAR U_2F80 +ENCODING 12160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0480 +FFE0 +0480 +3F80 +0400 +7FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_2F81 +ENCODING 12161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +8840 +8C40 +9340 +E840 +8C40 +9240 +E140 +8040 +80C0 +ENDCHAR +STARTCHAR U_2F82 +ENCODING 12162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +8200 +FF00 +8800 +8800 +FF00 +8100 +8100 +FF00 +8800 +8900 +FF80 +ENDCHAR +STARTCHAR U_2F83 +ENCODING 12163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +30 +20 +FF +81 +FF +81 +81 +FF +81 +FF +81 +ENDCHAR +STARTCHAR U_2F84 +ENCODING 12164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +7FE0 +0800 +1080 +7F60 +2420 +0400 +3FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_2F85 +ENCODING 12165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +E3C0 +8040 +8040 +8040 +FBC0 +8040 +8040 +8040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_2F86 +ENCODING 12166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0180 +7E00 +0400 +FFC0 +0400 +0400 +3F80 +2080 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_2F87 +ENCODING 12167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +3BE0 +4880 +4A80 +BA80 +0FE0 +1080 +2080 +4080 +8080 +ENDCHAR +STARTCHAR U_2F88 +ENCODING 12168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1F80 +1080 +1480 +1280 +FFE0 +1480 +1280 +2280 +4080 +8380 +ENDCHAR +STARTCHAR U_2F89 +ENCODING 12169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +4080 +7F80 +4080 +7F80 +4820 +4440 +4280 +4100 +5880 +E060 +ENDCHAR +STARTCHAR U_2F8A +ENCODING 12170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1F80 +2200 +7FC0 +A440 +2440 +3FC0 +2040 +2020 +2020 +1FE0 +ENDCHAR +STARTCHAR U_2F8B +ENCODING 12171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +AAA0 +AAA0 +AAA0 +AAA0 +FBE0 +AAA0 +2080 +4080 +8080 +ENDCHAR +STARTCHAR U_2F8C +ENCODING 12172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07E0 +0400 +7FE0 +4040 +4400 +44C0 +7F00 +4420 +4420 +83E0 +ENDCHAR +STARTCHAR U_2F8D +ENCODING 12173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +4440 +4440 +7FC0 +4440 +0480 +07C0 +FC20 +6020 +ENDCHAR +STARTCHAR U_2F8E +ENCODING 12174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +0C00 +0800 +3F80 +2A80 +2A80 +2A80 +2A80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_2F8F +ENCODING 12175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +4000 +8000 +1000 +2FE0 +6080 +A080 +2080 +2480 +2380 +2100 +ENDCHAR +STARTCHAR U_2F90 +ENCODING 12176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0240 +FFE0 +0400 +0A40 +1280 +3100 +5100 +94C0 +1860 +3020 +ENDCHAR +STARTCHAR U_2F91 +ENCODING 12177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +1200 +1200 +FFC0 +9240 +9240 +9E40 +9240 +8040 +8040 +8040 +ENDCHAR +STARTCHAR U_2F92 +ENCODING 12178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +2080 +3F80 +2A80 +0A20 +1220 +E1E0 +ENDCHAR +STARTCHAR U_2F93 +ENCODING 12179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F00 +2200 +7FE0 +A220 +3FE0 +2220 +3FE0 +2220 +42E0 +8040 +ENDCHAR +STARTCHAR U_2F94 +ENCODING 12180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +0000 +3F00 +0000 +3F00 +0000 +3F00 +2100 +3F00 +2100 +ENDCHAR +STARTCHAR U_2F95 +ENCODING 12181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +2100 +4880 +8C40 +1200 +2100 +FFC0 +2100 +2100 +3F00 +2100 +ENDCHAR +STARTCHAR U_2F96 +ENCODING 12182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +7FC0 +0000 +3F80 +2080 +3F80 +2080 +1100 +0900 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_2F97 +ENCODING 12183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0840 +1880 +6500 +0A00 +1300 +6680 +0A40 +7220 +0C00 +ENDCHAR +STARTCHAR U_2F98 +ENCODING 12184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +0E +30 +CB +2C +36 +CA +36 +CA +32 +C2 +0C +ENDCHAR +STARTCHAR U_2F99 +ENCODING 12185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2040 +3FC0 +2040 +3FC0 +2040 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_2F9A +ENCODING 12186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +3FC0 +0400 +FFE0 +0900 +2940 +2940 +4920 +1720 +6200 +ENDCHAR +STARTCHAR U_2F9B +ENCODING 12187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +0400 +FFE0 +0400 +2400 +27C0 +2400 +5400 +8FE0 +ENDCHAR +STARTCHAR U_2F9C +ENCODING 12188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +1040 +1040 +1FC0 +0200 +1200 +13E0 +1200 +2A00 +4600 +81E0 +ENDCHAR +STARTCHAR U_2F9D +ENCODING 12189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +3F00 +2100 +3F00 +2140 +3F80 +2100 +FF00 +0900 +3100 +C700 +ENDCHAR +STARTCHAR U_2F9E +ENCODING 12190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +3F80 +2480 +3F80 +2480 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_2F9F +ENCODING 12191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2080 +1900 +0A00 +FFE0 +0400 +7FC0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_2FA0 +ENCODING 12192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +2FC0 +2000 +3FE0 +2A20 +2A40 +2980 +4880 +4A40 +8C20 +ENDCHAR +STARTCHAR U_2FA1 +ENCODING 12193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0600 +3980 +0600 +3980 +0600 +3A00 +1200 +13C0 +2A00 +4600 +81E0 +ENDCHAR +STARTCHAR U_2FA2 +ENCODING 12194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F00 +4100 +7F00 +0000 +FF80 +8880 +8880 +FF80 +8040 +8040 +7FC0 +ENDCHAR +STARTCHAR U_2FA3 +ENCODING 12195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +0A00 +7FC0 +4A40 +53C0 +6040 +7FC0 +4040 +7FC0 +4040 +ENDCHAR +STARTCHAR U_2FA4 +ENCODING 12196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +7C40 +2480 +1500 +7FE0 +0400 +0E00 +1500 +24C0 +4460 +8420 +ENDCHAR +STARTCHAR U_2FA5 +ENCODING 12197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +4480 +4480 +7F80 +4480 +7F80 +4480 +0400 +7F80 +0400 +FFC0 +ENDCHAR +STARTCHAR U_2FA6 +ENCODING 12198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +20E0 +DF40 +0400 +7FC0 +2480 +1480 +1500 +FFE0 +ENDCHAR +STARTCHAR U_2FA7 +ENCODING 12199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F80 +2000 +3F00 +2000 +3F00 +2000 +FFC0 +2440 +2280 +2900 +30C0 +ENDCHAR +STARTCHAR U_2FA8 +ENCODING 12200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F3C0 +9240 +F3C0 +9240 +F3C0 +8040 +8040 +8040 +8040 +8040 +81C0 +ENDCHAR +STARTCHAR U_2FA9 +ENCODING 12201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7F80 +4080 +7F80 +4000 +7FC0 +4040 +7FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_2FAA +ENCODING 12202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0480 +7FE0 +0480 +7F80 +2640 +1D80 +1480 +E460 +4C20 +ENDCHAR +STARTCHAR U_2FAB +ENCODING 12203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +3FE0 +2200 +7FC0 +A200 +2200 +3FC0 +2200 +3FE0 +2000 +ENDCHAR +STARTCHAR U_2FAC +ENCODING 12204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0400 +7FC0 +4440 +5540 +4CC0 +6640 +5540 +4440 +44C0 +ENDCHAR +STARTCHAR U_2FAD +ENCODING 12205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +0400 +FFE0 +2480 +3F80 +2080 +2080 +2180 +ENDCHAR +STARTCHAR U_2FAE +ENCODING 12206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +F1E0 +1100 +1100 +71C0 +1100 +1100 +F1E0 +1100 +1100 +ENDCHAR +STARTCHAR U_2FAF +ENCODING 12207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0800 +FFE0 +9120 +9F20 +9120 +9F20 +9120 +FFE0 +8020 +ENDCHAR +STARTCHAR U_2FB0 +ENCODING 12208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F00 +0400 +3F80 +2480 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_2FB1 +ENCODING 12209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +7F00 +1100 +FFC0 +2080 +3F80 +0400 +FF80 +2400 +7FC0 +0400 +ENDCHAR +STARTCHAR U_2FB2 +ENCODING 12210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +F1E0 +1100 +1100 +71C0 +1100 +1100 +F1E0 +1100 +1100 +FFE0 +ENDCHAR +STARTCHAR U_2FB3 +ENCODING 12211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +0A00 +FFE0 +0000 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_2FB4 +ENCODING 12212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +7FC0 +4040 +7FC0 +4040 +7FC0 +4040 +7FC0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_2FB5 +ENCODING 12213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2140 +2E40 +2440 +3F40 +3540 +3F40 +2540 +2760 +5CA0 +8820 +ENDCHAR +STARTCHAR U_2FB6 +ENCODING 12214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF00 +0140 +1580 +6540 +24A0 +FF60 +2540 +2580 +2540 +44A0 +8460 +ENDCHAR +STARTCHAR U_2FB7 +ENCODING 12215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1100 +2480 +FFE0 +2080 +3F80 +2080 +3FC0 +2480 +2300 +38E0 +ENDCHAR +STARTCHAR U_2FB8 +ENCODING 12216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +FFE0 +0400 +7FC0 +4040 +7FC0 +4040 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_2FB9 +ENCODING 12217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +7E00 +0400 +FFE0 +1500 +2480 +FFE0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_2FBA +ENCODING 12218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2400 +3F80 +2400 +3F80 +2400 +3FE0 +0020 +5520 +4AA0 +8AC0 +ENDCHAR +STARTCHAR U_2FBB +ENCODING 12219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +2780 +2480 +FFE0 +A0A0 +BFA0 +2080 +3F80 +2080 +2380 +ENDCHAR +STARTCHAR U_2FBC +ENCODING 12220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1080 +1F80 +0000 +7FE0 +4020 +4F20 +4920 +4F20 +40E0 +ENDCHAR +STARTCHAR U_2FBD +ENCODING 12221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E40 +4080 +7D00 +4020 +7C40 +4080 +FF00 +2820 +4840 +F480 +0300 +ENDCHAR +STARTCHAR U_2FBE +ENCODING 12222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BBA0 +9120 +BBA0 +9120 +BBA0 +8020 +8020 +8020 +8020 +80E0 +8040 +ENDCHAR +STARTCHAR U_2FBF +ENCODING 12223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +AA80 +D480 +AD80 +BA80 +C480 +FF80 +4000 +4E00 +7080 +4080 +3F80 +ENDCHAR +STARTCHAR U_2FC0 +ENCODING 12224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +0000 +3F00 +2100 +3F00 +0000 +FF80 +9480 +BE80 +8880 +8980 +ENDCHAR +STARTCHAR U_2FC1 +ENCODING 12225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3FC0 +2440 +3FC0 +2440 +3FC0 +0480 +0D40 +17C0 +2420 +C3E0 +ENDCHAR +STARTCHAR U_2FC2 +ENCODING 12226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1F00 +2200 +7FC0 +A440 +3FC0 +2440 +3FC0 +5240 +4920 +8920 +ENDCHAR +STARTCHAR U_2FC3 +ENCODING 12227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +3FE0 +2000 +3FE0 +5520 +4AA0 +8AC0 +ENDCHAR +STARTCHAR U_2FC4 +ENCODING 12228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0FC0 +0800 +FFC0 +A8C0 +9540 +AA40 +94C0 +8A40 +9540 +A2C0 +FFC0 +ENDCHAR +STARTCHAR U_2FC5 +ENCODING 12229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4900 +7FE0 +4920 +7FE0 +5120 +5D40 +51A0 +9D20 +90E0 +ENDCHAR +STARTCHAR U_2FC6 +ENCODING 12230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +5F40 +9520 +2880 +CF60 +3100 +4E00 +0500 +78C0 +ENDCHAR +STARTCHAR U_2FC7 +ENCODING 12231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5100 +5100 +7FE0 +5100 +5B40 +7540 +5540 +5560 +9100 +ENDCHAR +STARTCHAR U_2FC8 +ENCODING 12232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F00 +0000 +FFE0 +2480 +3F80 +2480 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_2FC9 +ENCODING 12233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0400 +FFE0 +1500 +2480 +CE60 +1500 +74E0 +0F00 +3480 +CC60 +ENDCHAR +STARTCHAR U_2FCA +ENCODING 12234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +64C0 +5540 +7FC0 +0400 +7FC0 +0400 +FFE0 +5240 +8920 +ENDCHAR +STARTCHAR U_2FCB +ENCODING 12235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +2A80 +FFE0 +2440 +7FE0 +A440 +2640 +2D40 +34C0 +2440 +24C0 +ENDCHAR +STARTCHAR U_2FCC +ENCODING 12236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +F3C0 +1200 +F3C0 +9240 +F3C0 +9240 +F3C0 +1220 +0FE0 +ENDCHAR +STARTCHAR U_2FCD +ENCODING 12237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +5140 +5F40 +5140 +5F40 +5140 +7FC0 +0A00 +FBE0 +4A40 +8A40 +ENDCHAR +STARTCHAR U_2FCE +ENCODING 12238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +23E0 +F880 +07E0 +FA40 +8A40 +F980 +5180 +2240 +FC20 +ENDCHAR +STARTCHAR U_2FCF +ENCODING 12239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F780 +8080 +F780 +8080 +FF80 +0000 +CD00 +AB00 +CD40 +AAC0 +EE40 +ENDCHAR +STARTCHAR U_2FD0 +ENCODING 12240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +7FC0 +4440 +4440 +FFE0 +1100 +6100 +ENDCHAR +STARTCHAR U_2FD1 +ENCODING 12241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A40 +F580 +5540 +95A0 +3F80 +2080 +3F80 +2080 +C080 +ENDCHAR +STARTCHAR U_2FD2 +ENCODING 12242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +27C0 +2400 +FFE0 +5140 +6AC0 +4440 +7FC0 +5140 +6AC0 +7FC0 +ENDCHAR +STARTCHAR U_2FD3 +ENCODING 12243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF00 +45E0 +2820 +FFE0 +4500 +7DE0 +4500 +7DE0 +4520 +4DE0 +ENDCHAR +STARTCHAR U_2FD4 +ENCODING 12244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +2100 +FFC0 +4A40 +7BC0 +FAC0 +2B40 +FAC0 +2BE0 +FA20 +07E0 +ENDCHAR +STARTCHAR U_2FD5 +ENCODING 12245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +3180 +CE60 +0000 +EEE0 +AAA0 +FFE0 +9120 +FFE0 +9120 +9160 +ENDCHAR +STARTCHAR U_2FF0 +ENCODING 12272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +0000 +8420 +0000 +8420 +0000 +8420 +0000 +8420 +0000 +AAA0 +ENDCHAR +STARTCHAR U_2FF1 +ENCODING 12273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +0000 +8020 +0000 +8020 +2A80 +8020 +0000 +8020 +0000 +AAA0 +ENDCHAR +STARTCHAR U_2FF2 +ENCODING 12274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DB60 +9120 +0000 +9120 +9120 +0000 +9120 +9120 +0000 +9120 +DB60 +ENDCHAR +STARTCHAR U_2FF3 +ENCODING 12275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +0000 +8020 +2A80 +8020 +0000 +8020 +2A80 +8020 +0000 +AAA0 +ENDCHAR +STARTCHAR U_2FF4 +ENCODING 12276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +0000 +8020 +1500 +8020 +1100 +8020 +1500 +8020 +0000 +AAA0 +ENDCHAR +STARTCHAR U_2FF5 +ENCODING 12277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +0000 +8020 +1500 +8020 +1100 +8020 +1100 +8020 +1100 +AAA0 +ENDCHAR +STARTCHAR U_2FF6 +ENCODING 12278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DB60 +9120 +0000 +9120 +9120 +0000 +9120 +9B20 +0000 +8020 +DB60 +ENDCHAR +STARTCHAR U_2FF7 +ENCODING 12279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +0000 +8020 +1A80 +8020 +1000 +8020 +1A80 +8020 +0000 +AAA0 +ENDCHAR +STARTCHAR U_2FF8 +ENCODING 12280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +0000 +8020 +1540 +8020 +1000 +8020 +1000 +8020 +1000 +AAA0 +ENDCHAR +STARTCHAR U_2FF9 +ENCODING 12281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DB60 +8020 +0000 +DB20 +8120 +0000 +8120 +8120 +0000 +8120 +DB60 +ENDCHAR +STARTCHAR U_2FFA +ENCODING 12282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DB60 +9020 +0000 +9020 +9020 +0000 +9020 +9B60 +0000 +8020 +DB60 +ENDCHAR +STARTCHAR U_2FFB +ENCODING 12283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DB00 +8100 +0000 +9B60 +9120 +0000 +9120 +DB20 +0000 +1020 +1B60 +ENDCHAR +STARTCHAR U_3000 +ENCODING 12288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 1 1 10 -1 +BITMAP +00 +ENDCHAR +STARTCHAR U_3001 +ENCODING 12289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 3 0 0 +BITMAP +80 +60 +20 +ENDCHAR +STARTCHAR U_3002 +ENCODING 12290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 4 3 0 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR U_3003 +ENCODING 12291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 4 4 3 +BITMAP +50 +50 +A0 +A0 +ENDCHAR +STARTCHAR U_3004 +ENCODING 12292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 0 0 +BITMAP +1800 +2100 +4580 +8740 +8540 +9C40 +A440 +5080 +2900 +1200 +ENDCHAR +STARTCHAR U_3005 +ENCODING 12293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 0 +BITMAP +1000 +1000 +1F80 +2080 +4080 +8100 +1200 +0C00 +0400 +0400 +ENDCHAR +STARTCHAR U_3006 +ENCODING 12294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 0 1 +BITMAP +0100 +0080 +3100 +4A00 +8400 +8A00 +9000 +A000 +C000 +ENDCHAR +STARTCHAR U_3007 +ENCODING 12295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 0 0 +BITMAP +1E00 +2100 +4080 +8040 +8040 +8040 +8040 +4080 +2100 +1E00 +ENDCHAR +STARTCHAR U_3008 +ENCODING 12296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 12 8 -1 +BITMAP +20 +20 +40 +40 +80 +80 +80 +80 +40 +40 +20 +20 +ENDCHAR +STARTCHAR U_3009 +ENCODING 12297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 12 2 -1 +BITMAP +80 +80 +40 +40 +20 +20 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR U_300A +ENCODING 12298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 10 5 -1 +BITMAP +24 +24 +48 +48 +90 +90 +48 +48 +24 +24 +ENDCHAR +STARTCHAR U_300B +ENCODING 12299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 10 0 -1 +BITMAP +90 +90 +48 +48 +24 +24 +48 +48 +90 +90 +ENDCHAR +STARTCHAR U_300C +ENCODING 12300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 8 7 2 +BITMAP +F0 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_300D +ENCODING 12301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 8 1 -1 +BITMAP +10 +10 +10 +10 +10 +10 +10 +F0 +ENDCHAR +STARTCHAR U_300E +ENCODING 12302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 9 6 1 +BITMAP +F8 +88 +B8 +A0 +A0 +A0 +A0 +A0 +E0 +ENDCHAR +STARTCHAR U_300F +ENCODING 12303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 9 1 -1 +BITMAP +38 +28 +28 +28 +28 +28 +E8 +88 +F8 +ENDCHAR +STARTCHAR U_3010 +ENCODING 12304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 2 -1 +BITMAP +F0 +E0 +C0 +C0 +80 +80 +80 +C0 +C0 +E0 +F0 +ENDCHAR +STARTCHAR U_3011 +ENCODING 12305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 2 -1 +BITMAP +F0 +70 +30 +30 +10 +10 +10 +30 +30 +70 +F0 +ENDCHAR +STARTCHAR U_3012 +ENCODING 12306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +FFC0 +0000 +0000 +FFC0 +0400 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_3013 +ENCODING 12307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +FF80 +FF80 +FF80 +0000 +0000 +0000 +FF80 +FF80 +FF80 +ENDCHAR +STARTCHAR U_3014 +ENCODING 12308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 11 7 -1 +BITMAP +60 +80 +80 +80 +80 +80 +80 +80 +80 +80 +60 +ENDCHAR +STARTCHAR U_3015 +ENCODING 12309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 11 2 -1 +BITMAP +C0 +20 +20 +20 +20 +20 +20 +20 +20 +20 +C0 +ENDCHAR +STARTCHAR U_3016 +ENCODING 12310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 6 -1 +BITMAP +F8 +90 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +90 +F8 +ENDCHAR +STARTCHAR U_3017 +ENCODING 12311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 1 -1 +BITMAP +F8 +48 +28 +28 +28 +28 +28 +28 +28 +48 +F8 +ENDCHAR +STARTCHAR U_3018 +ENCODING 12312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 0 -1 +BITMAP +30 +E0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +E0 +30 +ENDCHAR +STARTCHAR U_3019 +ENCODING 12313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 0 -1 +BITMAP +C0 +70 +50 +50 +50 +50 +50 +50 +50 +70 +C0 +ENDCHAR +STARTCHAR U_301A +ENCODING 12314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 0 -1 +BITMAP +F0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +F0 +ENDCHAR +STARTCHAR U_301B +ENCODING 12315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 0 -1 +BITMAP +F0 +50 +50 +50 +50 +50 +50 +50 +50 +50 +F0 +ENDCHAR +STARTCHAR U_301C +ENCODING 12316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 3 0 3 +BITMAP +03C0 +8420 +7800 +ENDCHAR +STARTCHAR U_301D +ENCODING 12317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 2 8 8 +BITMAP +A0 +50 +ENDCHAR +STARTCHAR U_301E +ENCODING 12318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 2 1 8 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR U_301F +ENCODING 12319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 3 0 -1 +BITMAP +48 +90 +90 +ENDCHAR +STARTCHAR U_3020 +ENCODING 12320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FC0 +0000 +7FC0 +0400 +D560 +AEA0 +9120 +4E40 +2080 +1F00 +ENDCHAR +STARTCHAR U_3021 +ENCODING 12321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 2 11 0 -1 +BITMAP +C0 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_3022 +ENCODING 12322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 12 3 -1 +BITMAP +0C +08 +88 +88 +88 +88 +88 +88 +88 +08 +08 +08 +ENDCHAR +STARTCHAR U_3023 +ENCODING 12323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 12 2 -1 +BITMAP +0080 +8080 +8880 +8880 +8880 +8880 +8880 +8880 +8880 +8880 +8080 +0080 +ENDCHAR +STARTCHAR U_3024 +ENCODING 12324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +01 +41 +22 +12 +0C +04 +0A +11 +21 +C0 +ENDCHAR +STARTCHAR U_3025 +ENCODING 12325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 12 3 -1 +BITMAP +22 +42 +C4 +28 +38 +44 +82 +82 +82 +82 +44 +38 +ENDCHAR +STARTCHAR U_3026 +ENCODING 12326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 3 1 5 +BITMAP +0800 +0400 +FFC0 +ENDCHAR +STARTCHAR U_3027 +ENCODING 12327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 7 0 2 +BITMAP +0800 +0800 +0800 +FF80 +0000 +0000 +FF80 +ENDCHAR +STARTCHAR U_3028 +ENCODING 12328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +0800 +0800 +FFC0 +0000 +0000 +7F80 +0000 +0000 +0000 +FFC0 +ENDCHAR +STARTCHAR U_3029 +ENCODING 12329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +20 +20 +7F +42 +A2 +14 +0C +0C +12 +22 +C0 +ENDCHAR +STARTCHAR U_3030 +ENCODING 12336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 3 0 3 +BITMAP +6180 +9240 +0C20 +ENDCHAR +STARTCHAR U_3031 +ENCODING 12337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 0 -1 +BITMAP +10 +18 +20 +40 +80 +80 +40 +20 +20 +10 +10 +ENDCHAR +STARTCHAR U_3032 +ENCODING 12338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 0 -1 +BITMAP +10 +18 +22 +41 +84 +82 +40 +20 +20 +10 +10 +ENDCHAR +STARTCHAR U_3033 +ENCODING 12339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 0 -1 +BITMAP +10 +18 +10 +20 +20 +20 +40 +40 +40 +80 +80 +ENDCHAR +STARTCHAR U_3034 +ENCODING 12340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 0 -1 +BITMAP +10 +1A +11 +24 +22 +20 +40 +40 +40 +80 +80 +ENDCHAR +STARTCHAR U_3035 +ENCODING 12341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 0 -1 +BITMAP +80 +40 +20 +20 +10 +10 +08 +08 +04 +04 +04 +ENDCHAR +STARTCHAR U_3036 +ENCODING 12342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +7FC0 +BFA0 +8020 +BFA0 +BFA0 +8420 +4440 +2080 +1F00 +ENDCHAR +STARTCHAR U_3037 +ENCODING 12343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A20 +8A20 +5140 +5140 +2080 +2080 +2080 +5140 +5140 +8A20 +8A20 +ENDCHAR +STARTCHAR U_3038 +ENCODING 12344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +0400 +FFE0 +0400 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_3039 +ENCODING 12345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +1100 +1100 +FFE0 +1100 +1100 +1100 +1100 +1100 +1100 +ENDCHAR +STARTCHAR U_303A +ENCODING 12346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +2480 +2480 +FFE0 +2480 +2480 +2480 +4480 +4480 +8480 +ENDCHAR +STARTCHAR U_303E +ENCODING 12350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +0000 +99A0 +2600 +8120 +3F80 +8420 +3F80 +9020 +0000 +AAA0 +ENDCHAR +STARTCHAR U_3041 +ENCODING 12353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +20 +10 +54 +38 +12 +3C +56 +92 +AA +44 +ENDCHAR +STARTCHAR U_3042 +ENCODING 12354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +2000 +1600 +F800 +2400 +3E00 +2500 +6880 +A880 +9080 +A100 +4600 +ENDCHAR +STARTCHAR U_3043 +ENCODING 12355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 5 2 0 +BITMAP +40 +48 +84 +A4 +40 +ENDCHAR +STARTCHAR U_3044 +ENCODING 12356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 8 0 0 +BITMAP +8000 +4300 +4080 +4040 +4840 +50C0 +3040 +1000 +ENDCHAR +STARTCHAR U_3045 +ENCODING 12357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 7 2 -1 +BITMAP +40 +30 +70 +88 +08 +10 +20 +ENDCHAR +STARTCHAR U_3046 +ENCODING 12358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 12 2 -1 +BITMAP +20 +18 +00 +3C +C2 +02 +02 +02 +04 +04 +08 +10 +ENDCHAR +STARTCHAR U_3047 +ENCODING 12359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 7 1 -1 +BITMAP +20 +10 +7C +08 +30 +48 +8E +ENDCHAR +STARTCHAR U_3048 +ENCODING 12360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +0C00 +0000 +4E00 +3200 +0400 +0800 +1800 +2400 +4400 +8380 +ENDCHAR +STARTCHAR U_3049 +ENCODING 12361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 7 2 -1 +BITMAP +20 +34 +E2 +38 +64 +A4 +48 +ENDCHAR +STARTCHAR U_304A +ENCODING 12362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +1000 +1500 +78C0 +1040 +1700 +1880 +7040 +D240 +3180 +1000 +ENDCHAR +STARTCHAR U_304B +ENCODING 12363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +2000 +1100 +9C80 +7240 +1240 +12C0 +2200 +2200 +4A00 +4400 +ENDCHAR +STARTCHAR U_304C +ENCODING 12364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 1 -1 +BITMAP +00A0 +20A0 +1100 +9C80 +7240 +1240 +12C0 +2200 +2200 +4A00 +4400 +ENDCHAR +STARTCHAR U_304D +ENCODING 12365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +10 +1C +F0 +0E +F8 +04 +3A +46 +80 +40 +3C +ENDCHAR +STARTCHAR U_304E +ENCODING 12366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +15 +1D +F0 +0E +F8 +04 +3A +46 +80 +40 +3C +ENDCHAR +STARTCHAR U_304F +ENCODING 12367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 2 -1 +BITMAP +10 +08 +10 +20 +40 +80 +40 +20 +10 +08 +08 +ENDCHAR +STARTCHAR U_3050 +ENCODING 12368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +10 +08 +15 +25 +40 +80 +40 +20 +10 +08 +08 +ENDCHAR +STARTCHAR U_3051 +ENCODING 12369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0200 +8100 +41C0 +5F00 +8100 +8100 +8100 +8100 +6200 +4200 +0400 +ENDCHAR +STARTCHAR U_3052 +ENCODING 12370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 1 -1 +BITMAP +04A0 +82A0 +41C0 +5F00 +8100 +8100 +8100 +8100 +6200 +4200 +0400 +ENDCHAR +STARTCHAR U_3053 +ENCODING 12371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 9 2 0 +BITMAP +40 +3E +04 +00 +00 +80 +80 +41 +3E +ENDCHAR +STARTCHAR U_3054 +ENCODING 12372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +4280 +3E80 +0400 +0000 +0000 +8000 +8000 +4100 +3E00 +ENDCHAR +STARTCHAR U_3055 +ENCODING 12373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +20 +10 +8E +78 +04 +04 +7A +86 +80 +60 +1C +ENDCHAR +STARTCHAR U_3056 +ENCODING 12374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +2280 +1280 +8E00 +7800 +0400 +0400 +7A00 +8600 +8000 +6000 +1C00 +ENDCHAR +STARTCHAR U_3057 +ENCODING 12375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 1 -1 +BITMAP +80 +40 +40 +40 +40 +40 +40 +41 +26 +18 +ENDCHAR +STARTCHAR U_3058 +ENCODING 12376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 1 -1 +BITMAP +80 +45 +45 +40 +40 +40 +40 +41 +26 +18 +ENDCHAR +STARTCHAR U_3059 +ENCODING 12377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 12 0 -1 +BITMAP +0400 +0200 +83C0 +7E00 +0A00 +1600 +1200 +0E00 +0200 +0200 +0400 +0800 +ENDCHAR +STARTCHAR U_305A +ENCODING 12378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 12 0 -1 +BITMAP +04A0 +02A0 +83C0 +7E00 +0A00 +1600 +1200 +0E00 +0200 +0200 +0400 +0800 +ENDCHAR +STARTCHAR U_305B +ENCODING 12379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +0200 +2100 +11E0 +9700 +7900 +1100 +1300 +1000 +0800 +0780 +ENDCHAR +STARTCHAR U_305C +ENCODING 12380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 12 10 0 -1 +BITMAP +0250 +2150 +11E0 +9700 +7900 +1100 +1300 +1000 +0800 +0780 +ENDCHAR +STARTCHAR U_305D +ENCODING 12381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +4E00 +3400 +0800 +1380 +FC00 +0800 +1000 +1000 +0800 +0600 +ENDCHAR +STARTCHAR U_305E +ENCODING 12382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +4D40 +3540 +0800 +1380 +FC00 +0800 +1000 +1000 +0800 +0600 +ENDCHAR +STARTCHAR U_305F +ENCODING 12383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +2000 +1000 +1C00 +E000 +2700 +2180 +4200 +4000 +4800 +8800 +8780 +ENDCHAR +STARTCHAR U_3060 +ENCODING 12384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +1140 +1D40 +E000 +2700 +2180 +4200 +4000 +4800 +8800 +8780 +ENDCHAR +STARTCHAR U_3061 +ENCODING 12385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +0800 +8A00 +7C00 +1000 +1700 +1880 +2080 +0080 +0300 +1C00 +ENDCHAR +STARTCHAR U_3062 +ENCODING 12386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0080 +1140 +8A80 +5400 +3800 +1700 +3880 +2080 +0080 +0300 +1C00 +ENDCHAR +STARTCHAR U_3063 +ENCODING 12387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 5 2 -1 +BITMAP +38 +C4 +04 +08 +30 +ENDCHAR +STARTCHAR U_3064 +ENCODING 12388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 7 0 1 +BITMAP +0F00 +B080 +4040 +0040 +0080 +0300 +0C00 +ENDCHAR +STARTCHAR U_3065 +ENCODING 12389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 1 +BITMAP +00A0 +0FA0 +B080 +4040 +0040 +0080 +0300 +0C00 +ENDCHAR +STARTCHAR U_3066 +ENCODING 12390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +8380 +7C00 +0400 +0800 +1000 +1000 +1000 +0800 +0700 +ENDCHAR +STARTCHAR U_3067 +ENCODING 12391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 9 1 0 +BITMAP +8380 +7C00 +0540 +0940 +1000 +1000 +1000 +0800 +0700 +ENDCHAR +STARTCHAR U_3068 +ENCODING 12392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 9 2 0 +BITMAP +40 +20 +26 +28 +30 +40 +80 +40 +3E +ENDCHAR +STARTCHAR U_3069 +ENCODING 12393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 2 0 +BITMAP +4280 +2280 +2600 +2800 +3000 +4000 +8000 +4000 +3E00 +ENDCHAR +STARTCHAR U_306A +ENCODING 12394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +2000 +1400 +FB00 +2180 +2200 +4200 +4200 +9E00 +2300 +2280 +1C00 +ENDCHAR +STARTCHAR U_306B +ENCODING 12395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +8000 +4700 +5980 +8200 +8000 +8000 +8800 +A800 +C780 +4000 +ENDCHAR +STARTCHAR U_306C +ENCODING 12396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0400 +0400 +4F00 +5480 +6440 +6840 +A840 +9340 +A480 +4380 +ENDCHAR +STARTCHAR U_306D +ENCODING 12397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +1000 +1000 +9B80 +7440 +1840 +3040 +3040 +51C0 +B260 +1180 +ENDCHAR +STARTCHAR U_306E +ENCODING 12398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +1C00 +2A00 +4900 +8880 +9080 +9080 +A100 +4200 +0C00 +ENDCHAR +STARTCHAR U_306F +ENCODING 12399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0200 +8100 +51C0 +4F00 +8100 +8100 +8100 +8F00 +B180 +D140 +4E00 +ENDCHAR +STARTCHAR U_3070 +ENCODING 12400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 1 -1 +BITMAP +02A0 +81A0 +51C0 +4F00 +8100 +8100 +8100 +8F00 +B180 +D140 +4E00 +ENDCHAR +STARTCHAR U_3071 +ENCODING 12401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 1 -1 +BITMAP +02C0 +8120 +51C0 +4F00 +8100 +8100 +8100 +8F00 +B180 +D140 +4E00 +ENDCHAR +STARTCHAR U_3072 +ENCODING 12402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +0200 +1200 +F100 +2100 +2180 +4140 +4100 +4100 +2200 +1C00 +ENDCHAR +STARTCHAR U_3073 +ENCODING 12403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 1 -1 +BITMAP +02A0 +12A0 +F100 +2100 +2180 +4140 +4100 +4100 +2200 +1C00 +ENDCHAR +STARTCHAR U_3074 +ENCODING 12404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 1 -1 +BITMAP +00C0 +0320 +12C0 +F100 +2100 +2180 +4140 +4100 +4100 +2200 +1C00 +ENDCHAR +STARTCHAR U_3075 +ENCODING 12405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 1 -1 +BITMAP +1000 +0E00 +0400 +0800 +0800 +0580 +A440 +C2E0 +9200 +0C00 +ENDCHAR +STARTCHAR U_3076 +ENCODING 12406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 1 -1 +BITMAP +1140 +0F40 +0400 +0800 +0800 +0580 +A440 +C2E0 +9200 +0C00 +ENDCHAR +STARTCHAR U_3077 +ENCODING 12407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 1 -1 +BITMAP +10C0 +0F20 +04C0 +0800 +0800 +0580 +A440 +C2E0 +9200 +0C00 +ENDCHAR +STARTCHAR U_3078 +ENCODING 12408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 1 +BITMAP +1800 +2400 +C200 +0100 +0080 +0060 +ENDCHAR +STARTCHAR U_3079 +ENCODING 12409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 1 +BITMAP +0140 +0140 +1800 +2400 +C200 +0100 +0080 +0060 +ENDCHAR +STARTCHAR U_307A +ENCODING 12410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 1 +BITMAP +00C0 +0120 +18C0 +2400 +C200 +0100 +0080 +0060 +ENDCHAR +STARTCHAR U_307B +ENCODING 12411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +91C0 +4F00 +4140 +8F80 +8100 +8100 +8F00 +B180 +5140 +4E00 +ENDCHAR +STARTCHAR U_307C +ENCODING 12412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 1 -1 +BITMAP +00A0 +91A0 +4F00 +4140 +8F80 +8100 +8100 +8F00 +B180 +5140 +4E00 +ENDCHAR +STARTCHAR U_307D +ENCODING 12413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 1 -1 +BITMAP +00C0 +9120 +4FC0 +4100 +8FC0 +8100 +8100 +8F00 +B180 +5140 +4E00 +ENDCHAR +STARTCHAR U_307E +ENCODING 12414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +10 +8F +78 +08 +8E +78 +08 +78 +8E +89 +70 +ENDCHAR +STARTCHAR U_307F +ENCODING 12415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4400 +3C00 +0800 +0800 +0900 +3E80 +5180 +9140 +A100 +4200 +0400 +ENDCHAR +STARTCHAR U_3080 +ENCODING 12416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +9C00 +7180 +1040 +7000 +9000 +9000 +A100 +6080 +2080 +1F00 +ENDCHAR +STARTCHAR U_3081 +ENCODING 12417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0400 +4E00 +5500 +6480 +4840 +A840 +9040 +9080 +6100 +0600 +ENDCHAR +STARTCHAR U_3082 +ENCODING 12418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 1 -1 +BITMAP +20 +10 +70 +1C +28 +E2 +39 +21 +21 +12 +0C +ENDCHAR +STARTCHAR U_3083 +ENCODING 12419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 7 2 -1 +BITMAP +28 +2E +F5 +21 +16 +10 +10 +ENDCHAR +STARTCHAR U_3084 +ENCODING 12420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3700 +2000 +13C0 +9C20 +7020 +09C0 +0800 +0800 +0400 +0400 +ENDCHAR +STARTCHAR U_3085 +ENCODING 12421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 7 3 -1 +BITMAP +10 +9C +B2 +D2 +9C +10 +20 +ENDCHAR +STARTCHAR U_3086 +ENCODING 12422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +8200 +4780 +4A40 +5220 +6220 +6A40 +4780 +4200 +0400 +0800 +ENDCHAR +STARTCHAR U_3087 +ENCODING 12423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 7 2 -1 +BITMAP +10 +1C +10 +10 +78 +96 +60 +ENDCHAR +STARTCHAR U_3088 +ENCODING 12424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +0800 +0980 +0E00 +0800 +0800 +0800 +7800 +8E00 +8980 +7000 +ENDCHAR +STARTCHAR U_3089 +ENCODING 12425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +20 +18 +40 +80 +80 +BC +C2 +82 +02 +0C +70 +ENDCHAR +STARTCHAR U_308A +ENCODING 12426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +88 +54 +52 +62 +62 +42 +42 +04 +04 +08 +10 +ENDCHAR +STARTCHAR U_308B +ENCODING 12427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 1 -1 +BITMAP +4E +34 +08 +10 +3E +61 +81 +19 +26 +1C +ENDCHAR +STARTCHAR U_308C +ENCODING 12428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +1000 +1300 +3480 +D880 +1080 +1080 +3080 +5080 +B060 +1000 +ENDCHAR +STARTCHAR U_308D +ENCODING 12429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 1 -1 +BITMAP +4E +34 +08 +10 +3E +61 +81 +01 +06 +18 +ENDCHAR +STARTCHAR U_308E +ENCODING 12430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 7 2 -1 +BITMAP +40 +30 +EE +31 +61 +A2 +24 +ENDCHAR +STARTCHAR U_308F +ENCODING 12431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +1000 +1000 +9B80 +7C40 +1020 +1020 +3020 +5040 +B180 +1000 +ENDCHAR +STARTCHAR U_3090 +ENCODING 12432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +4E00 +3400 +0400 +1F00 +2880 +4840 +9040 +9640 +6980 +4700 +ENDCHAR +STARTCHAR U_3091 +ENCODING 12433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +1F00 +0400 +1F00 +2080 +4C80 +1300 +0C00 +0000 +5980 +8640 +ENDCHAR +STARTCHAR U_3092 +ENCODING 12434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +9E00 +7000 +2180 +7200 +8C00 +1400 +2400 +2000 +1F00 +ENDCHAR +STARTCHAR U_3093 +ENCODING 12435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +1000 +0800 +0800 +1000 +1000 +3800 +2400 +4440 +4480 +8300 +ENDCHAR +STARTCHAR U_3094 +ENCODING 12436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1000 +0C80 +0040 +1D00 +E280 +0200 +0200 +0400 +0400 +0800 +1000 +ENDCHAR +STARTCHAR U_3099 +ENCODING 12441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 3 0 7 +BITMAP +20 +90 +40 +ENDCHAR +STARTCHAR U_309B +ENCODING 12443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 3 0 6 +BITMAP +20 +90 +40 +ENDCHAR +STARTCHAR U_309C +ENCODING 12444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 3 0 6 +BITMAP +40 +A0 +40 +ENDCHAR + + +STARTCHAR u30A0 +ENCODING 12448 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +00 +F8 +ENDCHAR +STARTCHAR u30A1 +ENCODING 12449 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +F0 +10 +60 +40 +ENDCHAR +STARTCHAR u30A2 +ENCODING 12450 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +08 +28 +30 +20 +40 +ENDCHAR +STARTCHAR u30A3 +ENCODING 12451 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 3 4 1 0 +BITMAP +20 +40 +C0 +40 +ENDCHAR +STARTCHAR u30A4 +ENCODING 12452 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 6 0 0 +BITMAP +10 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR u30A5 +ENCODING 12453 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +20 +F0 +90 +20 +ENDCHAR +STARTCHAR u30A6 +ENCODING 12454 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +F8 +88 +08 +10 +20 +ENDCHAR +STARTCHAR u30A7 +ENCODING 12455 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 3 4 1 0 +BITMAP +E0 +40 +40 +E0 +ENDCHAR +STARTCHAR u30A8 +ENCODING 12456 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR u30A9 +ENCODING 12457 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +20 +F0 +60 +A0 +ENDCHAR +STARTCHAR u30AA +ENCODING 12458 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +30 +50 +90 +10 +ENDCHAR +STARTCHAR u30AB +ENCODING 12459 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +48 +48 +48 +90 +ENDCHAR +STARTCHAR u30AC +ENCODING 12460 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +40 +F8 +48 +48 +48 +90 +ENDCHAR +STARTCHAR u30AD +ENCODING 12461 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +F8 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR u30AE +ENCODING 12462 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +20 +F8 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR u30AF +ENCODING 12463 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 5 0 0 +BITMAP +70 +90 +10 +20 +C0 +ENDCHAR +STARTCHAR u30B0 +ENCODING 12464 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +70 +90 +10 +20 +C0 +ENDCHAR +STARTCHAR u30B1 +ENCODING 12465 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +78 +90 +10 +10 +20 +ENDCHAR +STARTCHAR u30B2 +ENCODING 12466 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +40 +78 +90 +10 +10 +20 +ENDCHAR +STARTCHAR u30BB3 +ENCODING 12467 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR u30B4 +ENCODING 12468 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +F8 +08 +08 +08 +F8 +ENDCHAR +STARTCHAR u30BB5 +ENCODING 12469 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +F8 +50 +10 +20 +40 +ENDCHAR +STARTCHAR u30B6 +ENCODING 12470 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +50 +F8 +50 +10 +20 +40 +ENDCHAR +STARTCHAR u30B7 +ENCODING 12471 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +08 +C8 +10 +E0 +ENDCHAR +STARTCHAR u30B8 +ENCODING 12472 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +C0 +08 +C8 +10 +E0 +ENDCHAR +STARTCHAR u30B9 +ENCODING 12473 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +10 +20 +50 +88 +ENDCHAR +STARTCHAR u30BA +ENCODING 12474 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +F8 +10 +20 +50 +88 +ENDCHAR +STARTCHAR u30BB +ENCODING 12475 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +48 +50 +40 +38 +ENDCHAR +STARTCHAR u30BC +ENCODING 12476 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +40 +F8 +48 +50 +40 +38 +ENDCHAR +STARTCHAR u30BD +ENCODING 12477 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +88 +48 +10 +60 +ENDCHAR +STARTCHAR u30BE +ENCODING 12478 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +88 +88 +48 +10 +60 +ENDCHAR +STARTCHAR u30BF +ENCODING 12479 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +48 +A8 +10 +60 +ENDCHAR +STARTCHAR u30C0 +ENCODING 12480 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +78 +48 +A8 +10 +60 +ENDCHAR +STARTCHAR u30C1 +ENCODING 12481 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +E0 +20 +F8 +20 +40 +ENDCHAR +STARTCHAR u30C2 +ENCODING 12482 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +10 +E0 +20 +F8 +20 +40 +ENDCHAR +STARTCHAR u30C3 +ENCODING 12483 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +A8 +A8 +08 +30 +ENDCHAR +STARTCHAR u30C4 +ENCODING 12484 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +A8 +08 +10 +20 +ENDCHAR +STARTCHAR u30C5 +ENCODING 12485 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +A8 +A8 +08 +10 +20 +ENDCHAR +STARTCHAR u30C6 +ENCODING 12486 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +00 +F8 +20 +20 +40 +ENDCHAR +STARTCHAR u30C7 +ENCODING 12487 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +70 +00 +F8 +20 +20 +40 +ENDCHAR +STARTCHAR u30C8 +ENCODING 12488 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +80 +80 +C0 +A0 +80 +80 +ENDCHAR +STARTCHAR u30C9 +ENCODING 12489 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 8 1 0 +BITMAP +50 +00 +80 +80 +C0 +A0 +80 +80 +ENDCHAR +STARTCHAR u30CA +ENCODING 12490 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +F8 +20 +20 +40 +80 +ENDCHAR +STARTCHAR u30CB +ENCODING 12491 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +00 +00 +00 +F8 +ENDCHAR +STARTCHAR u30CC +ENCODING 12492 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +50 +20 +D0 +ENDCHAR +STARTCHAR u30CD +ENCODING 12493 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +F8 +10 +20 +70 +A8 +ENDCHAR +STARTCHAR u30CE +ENCODING 12494 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +20 +20 +20 +20 +40 +80 +ENDCHAR +STARTCHAR u30CF +ENCODING 12495 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +88 +88 +88 +88 +ENDCHAR +STARTCHAR u30D0 +ENCODING 12496 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +10 +88 +88 +88 +88 +ENDCHAR +STARTCHAR u30D1 +ENCODING 12497 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +18 +00 +10 +88 +88 +88 +88 +ENDCHAR +STARTCHAR u30D2 +ENCODING 12498 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +80 +F8 +80 +80 +78 +ENDCHAR +STARTCHAR u30D3 +ENCODING 12499 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +80 +80 +F8 +80 +80 +78 +ENDCHAR +STARTCHAR u30D4 +ENCODING 12500 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +18 +98 +80 +F8 +80 +80 +78 +ENDCHAR +STARTCHAR u30D5 +ENCODING 12501 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +08 +10 +60 +ENDCHAR +STARTCHAR u30D6 +ENCODING 12502 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +F8 +08 +08 +10 +60 +ENDCHAR +STARTCHAR u30D7 +ENCODING 12503 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +18 +00 +F8 +08 +08 +10 +60 +ENDCHAR +STARTCHAR u30D8 +ENCODING 12504 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +40 +A0 +10 +08 +ENDCHAR +STARTCHAR u30D9 +ENCODING 12505 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +28 +00 +40 +A0 +10 +08 +ENDCHAR +STARTCHAR u30DA +ENCODING 12506 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +18 +18 +40 +A0 +10 +08 +ENDCHAR +STARTCHAR u30DB +ENCODING 12507 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +F8 +20 +A8 +A8 +20 +ENDCHAR +STARTCHAR u30DC +ENCODING 12508 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +20 +F8 +20 +A8 +A8 +20 +ENDCHAR +STARTCHAR u30DD +ENCODING 12509 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +18 +18 +20 +F8 +20 +A8 +A8 +20 +ENDCHAR +STARTCHAR u30DE +ENCODING 12510 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +50 +20 +10 +ENDCHAR +STARTCHAR u30DF +ENCODING 12511 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +E0 +00 +E0 +00 +F0 +ENDCHAR +STARTCHAR u30E0 +ENCODING 12512 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +40 +88 +F8 +08 +ENDCHAR +STARTCHAR u30E1 +ENCODING 12513 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +28 +10 +28 +C0 +ENDCHAR +STARTCHAR u30E2 +ENCODING 12514 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +40 +F8 +40 +38 +ENDCHAR +STARTCHAR u30E3 +ENCODING 12515 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +40 +F8 +50 +40 +ENDCHAR +STARTCHAR u30E4 +ENCODING 12516 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +F8 +48 +50 +40 +40 +ENDCHAR +STARTCHAR u30E5 +ENCODING 12517 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +60 +20 +20 +F0 +ENDCHAR +STARTCHAR u30E6 +ENCODING 12518 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +10 +10 +10 +F8 +ENDCHAR +STARTCHAR u30E7 +ENCODING 12519 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 5 0 0 +BITMAP +F0 +10 +F0 +10 +F0 +ENDCHAR +STARTCHAR u30E8 +ENCODING 12520 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +F8 +08 +F8 +ENDCHAR +STARTCHAR u30E9 +ENCODING 12521 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +00 +F8 +08 +10 +20 +ENDCHAR +STARTCHAR u30EA +ENCODING 12522 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 6 0 0 +BITMAP +90 +90 +90 +90 +10 +20 +ENDCHAR +STARTCHAR u30EB +ENCODING 12523 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +A0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR u30EC +ENCODING 12524 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 5 0 0 +BITMAP +80 +80 +90 +A0 +C0 +ENDCHAR +STARTCHAR u30ED +ENCODING 12525 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR u30EE +ENCODING 12526 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +F0 +90 +10 +20 +ENDCHAR +STARTCHAR u30EF +ENCODING 12527 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +08 +10 +20 +ENDCHAR +STARTCHAR u30F0 +ENCODING 12528 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +F8 +50 +50 +F8 +10 +ENDCHAR +STARTCHAR u30F1 +ENCODING 12529 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +30 +20 +F8 +ENDCHAR +STARTCHAR u30F2 +ENCODING 12530 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +08 +F8 +08 +30 +ENDCHAR +STARTCHAR u30F3 +ENCODING 12531 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +08 +08 +10 +E0 +ENDCHAR +STARTCHAR u30F4 +ENCODING 12532 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +20 +F8 +88 +08 +10 +20 +ENDCHAR +STARTCHAR u30F5 +ENCODING 12533 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +40 +F0 +50 +A0 +ENDCHAR +STARTCHAR u30F6 +ENCODING 12534 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +40 +F0 +20 +40 +ENDCHAR +STARTCHAR u30F7 +ENCODING 12535 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +F8 +88 +08 +10 +60 +ENDCHAR +STARTCHAR u30F8 +ENCODING 12536 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 8 0 0 +BITMAP +28 +00 +10 +F8 +50 +50 +F8 +10 +ENDCHAR +STARTCHAR u30F9 +ENCODING 12537 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +F8 +08 +30 +20 +F8 +ENDCHAR +STARTCHAR u30FA +ENCODING 12538 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +00 +F8 +08 +F8 +08 +30 +ENDCHAR +STARTCHAR u30FB +ENCODING 12539 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 2 2 2 2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR u30FC +ENCODING 12540 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 1 0 2 +BITMAP +F8 +ENDCHAR +STARTCHAR u30FD +ENCODING 12541 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +80 +60 +10 +08 +ENDCHAR +STARTCHAR u30FE +ENCODING 12542 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 5 0 1 +BITMAP +28 +80 +60 +10 +08 +ENDCHAR +STARTCHAR u30FF +ENCODING 12543 +SWIDTH 545 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +08 +08 +08 +08 +08 +ENDCHAR + + +STARTCHAR U_3105 +ENCODING 12549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +20 +20 +4F +F1 +01 +02 +02 +24 +1C +18 +ENDCHAR +STARTCHAR U_3106 +ENCODING 12550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +0400 +0800 +1380 +3D00 +0200 +1400 +0E00 +1100 +20C0 +C040 +ENDCHAR +STARTCHAR U_3107 +ENCODING 12551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 2 0 +BITMAP +0300 +FF80 +4100 +4100 +4100 +4100 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_3108 +ENCODING 12552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 7 2 1 +BITMAP +FF +80 +80 +80 +80 +80 +7F +ENDCHAR +STARTCHAR U_3109 +ENCODING 12553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +2000 +2000 +4000 +7F80 +9080 +1080 +2080 +2100 +4100 +8A00 +0400 +ENDCHAR +STARTCHAR U_310A +ENCODING 12554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +0400 +0400 +0400 +FFC0 +0800 +1000 +1200 +2100 +7E80 +2080 +ENDCHAR +STARTCHAR U_310B +ENCODING 12555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 9 3 0 +BITMAP +FC +08 +08 +1E +02 +04 +04 +28 +10 +ENDCHAR +STARTCHAR U_310C +ENCODING 12556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +08 +48 +48 +7F +11 +11 +21 +22 +4A +84 +ENDCHAR +STARTCHAR U_310D +ENCODING 12557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 9 2 0 +BITMAP +11 +22 +22 +44 +88 +88 +44 +22 +11 +ENDCHAR +STARTCHAR U_310E +ENCODING 12558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 9 1 0 +BITMAP +FFC0 +0800 +1000 +1F80 +0100 +0100 +0100 +0A00 +0600 +ENDCHAR +STARTCHAR U_310F +ENCODING 12559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +01C0 +1E00 +1000 +1000 +2000 +2000 +2000 +4000 +4000 +8000 +ENDCHAR +STARTCHAR U_3110 +ENCODING 12560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 3 -1 +BITMAP +0C +04 +C4 +44 +44 +4C +74 +C4 +04 +04 +04 +ENDCHAR +STARTCHAR U_3111 +ENCODING 12561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +06 +0C +10 +60 +C0 +60 +10 +0C +06 +02 +ENDCHAR +STARTCHAR U_3112 +ENCODING 12562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 9 1 0 +BITMAP +FFC0 +0400 +0400 +0400 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_3113 +ENCODING 12563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 9 1 0 +BITMAP +0800 +0800 +4900 +4900 +4900 +7F00 +0800 +0800 +FFC0 +ENDCHAR +STARTCHAR U_3114 +ENCODING 12564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 10 2 0 +BITMAP +02 +04 +0A +32 +04 +0C +34 +C4 +04 +04 +ENDCHAR +STARTCHAR U_3115 +ENCODING 12565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0100 +7F80 +0100 +0300 +3C00 +2000 +4000 +4000 +4000 +8000 +ENDCHAR +STARTCHAR U_3116 +ENCODING 12566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 9 2 0 +BITMAP +FE +82 +82 +B2 +8A +82 +82 +FE +82 +ENDCHAR +STARTCHAR U_3117 +ENCODING 12567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +03 +FD +11 +11 +11 +11 +12 +10 +10 +10 +10 +ENDCHAR +STARTCHAR U_3118 +ENCODING 12568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +0400 +0800 +FFC0 +0800 +0800 +1700 +0900 +0200 +0400 +0800 +ENDCHAR +STARTCHAR U_3119 +ENCODING 12569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +0400 +0400 +0800 +1000 +1000 +2000 +4100 +FF80 +0080 +ENDCHAR +STARTCHAR U_311A +ENCODING 12570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 9 2 0 +BITMAP +82 +44 +28 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR U_311B +ENCODING 12571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +1F +E8 +08 +08 +78 +80 +81 +7E +ENDCHAR +STARTCHAR U_311C +ENCODING 12572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +0400 +0400 +07C0 +FC00 +0400 +3C00 +4000 +4000 +2080 +1F00 +ENDCHAR +STARTCHAR U_311D +ENCODING 12573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 9 1 0 +BITMAP +2000 +1100 +1100 +13E0 +FE00 +1200 +1200 +1000 +0F00 +ENDCHAR +STARTCHAR U_311E +ENCODING 12574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 9 2 0 +BITMAP +FF +48 +48 +FF +11 +22 +42 +44 +84 +ENDCHAR +STARTCHAR U_311F +ENCODING 12575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 8 2 0 +BITMAP +1800 +E800 +0800 +0800 +0400 +0400 +0200 +0180 +ENDCHAR +STARTCHAR U_3120 +ENCODING 12576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 2 -1 +BITMAP +08 +10 +11 +22 +44 +F8 +14 +22 +FD +01 +ENDCHAR +STARTCHAR U_3121 +ENCODING 12577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 2 0 +BITMAP +0200 +7F00 +0200 +2400 +1C00 +0C00 +1200 +6100 +8080 +ENDCHAR +STARTCHAR U_3122 +ENCODING 12578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +7E +42 +44 +BF +C1 +02 +02 +04 +ENDCHAR +STARTCHAR U_3123 +ENCODING 12579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +2000 +2000 +4000 +4000 +7F80 +8080 +0100 +0100 +0200 +ENDCHAR +STARTCHAR U_3124 +ENCODING 12580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +0400 +0400 +0800 +7F80 +0C00 +1400 +1400 +2400 +4400 +83C0 +ENDCHAR +STARTCHAR U_3125 +ENCODING 12581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 8 1 1 +BITMAP +0400 +0400 +0800 +0800 +1000 +2000 +4000 +FFC0 +ENDCHAR +STARTCHAR U_3126 +ENCODING 12582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +0400 +2600 +2400 +2400 +2400 +2400 +2400 +2400 +4400 +83C0 +ENDCHAR +STARTCHAR U_3127 +ENCODING 12583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 1 11 5 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_3128 +ENCODING 12584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +02 +03 +42 +24 +14 +08 +14 +22 +41 +81 +ENDCHAR +STARTCHAR U_3129 +ENCODING 12585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 9 2 0 +BITMAP +C3 +41 +41 +41 +41 +81 +81 +FF +41 +ENDCHAR +STARTCHAR U_312A +ENCODING 12586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0800 +0800 +0F80 +0880 +1080 +1080 +1080 +2080 +4700 +ENDCHAR +STARTCHAR U_312B +ENCODING 12587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +1200 +1200 +1200 +1200 +1200 +1200 +2200 +4200 +81E0 +ENDCHAR +STARTCHAR U_312C +ENCODING 12588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +3FE0 +2000 +2000 +2000 +2000 +2000 +4000 +4000 +8000 +ENDCHAR +STARTCHAR U_312D +ENCODING 12589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0400 +0400 +7FC0 +4440 +4440 +4440 +4440 +0400 +0400 +ENDCHAR +STARTCHAR U_3131 +ENCODING 12593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 8 0 0 +BITMAP +FF80 +0080 +0080 +0080 +0080 +0080 +0080 +0080 +ENDCHAR +STARTCHAR U_3132 +ENCODING 12594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 7 0 0 +BITMAP +F780 +1080 +1080 +1080 +1080 +1080 +1080 +ENDCHAR +STARTCHAR U_3133 +ENCODING 12595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 7 0 0 +BITMAP +F100 +1100 +1100 +1280 +1280 +1440 +1820 +ENDCHAR +STARTCHAR U_3134 +ENCODING 12596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 6 0 1 +BITMAP +80 +80 +80 +80 +80 +FF +ENDCHAR +STARTCHAR U_3135 +ENCODING 12597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +8100 +8100 +8100 +8100 +8380 +8280 +86C0 +8440 +9440 +E820 +ENDCHAR +STARTCHAR U_3137 +ENCODING 12599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 5 0 2 +BITMAP +FE +80 +80 +80 +FE +ENDCHAR +STARTCHAR U_3139 +ENCODING 12601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 7 0 1 +BITMAP +FE +02 +02 +FE +80 +80 +FE +ENDCHAR +STARTCHAR U_313A +ENCODING 12602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 9 0 -1 +BITMAP +FBE0 +0820 +0820 +7820 +4020 +4020 +4020 +7E20 +0020 +ENDCHAR +STARTCHAR U_313B +ENCODING 12603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 7 0 1 +BITMAP +F1C0 +0A20 +0A20 +7220 +8220 +8220 +79C0 +ENDCHAR +STARTCHAR U_313C +ENCODING 12604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA20 +0A20 +0A20 +0A20 +FBE0 +8220 +8220 +8220 +8220 +9A20 +E3E0 +ENDCHAR +STARTCHAR U_313D +ENCODING 12605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +0880 +0880 +0880 +0880 +F880 +8140 +8140 +8140 +9A20 +E420 +ENDCHAR +STARTCHAR U_3141 +ENCODING 12609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 6 0 1 +BITMAP +FE +82 +82 +82 +82 +FE +ENDCHAR +STARTCHAR U_3142 +ENCODING 12610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 7 0 1 +BITMAP +82 +82 +82 +FE +82 +82 +FE +ENDCHAR +STARTCHAR U_3143 +ENCODING 12611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 -1 +BITMAP +8A20 +8A20 +8A20 +FBE0 +8A20 +8A20 +8A20 +71C0 +ENDCHAR +STARTCHAR U_3144 +ENCODING 12612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 1 +BITMAP +8880 +8880 +F880 +8880 +8940 +7220 +ENDCHAR +STARTCHAR U_3145 +ENCODING 12613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 1 +BITMAP +0400 +0400 +0400 +0A00 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_3147 +ENCODING 12615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 7 0 1 +BITMAP +3F80 +4040 +8020 +8020 +8020 +4040 +3F80 +ENDCHAR +STARTCHAR U_3148 +ENCODING 12616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 1 +BITMAP +FFE0 +0400 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_314C +ENCODING 12620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 8 0 1 +BITMAP +FFC0 +8000 +8000 +FFC0 +8000 +8000 +8000 +FFC0 +ENDCHAR +STARTCHAR U_3151 +ENCODING 12625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 9 0 0 +BITMAP +80 +80 +E0 +80 +E0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_3152 +ENCODING 12626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 9 0 0 +BITMAP +90 +90 +F0 +90 +F0 +90 +90 +90 +90 +ENDCHAR +STARTCHAR U_3154 +ENCODING 12628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 9 0 0 +BITMAP +22 +22 +22 +E2 +22 +22 +22 +22 +22 +ENDCHAR +STARTCHAR U_3155 +ENCODING 12629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 9 0 0 +BITMAP +20 +20 +E0 +20 +E0 +20 +20 +20 +20 +ENDCHAR +STARTCHAR U_3158 +ENCODING 12632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 9 0 0 +BITMAP +02 +02 +03 +02 +02 +22 +22 +FE +02 +ENDCHAR +STARTCHAR U_315B +ENCODING 12635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 3 0 0 +BITMAP +1400 +1400 +FF80 +ENDCHAR +STARTCHAR U_3162 +ENCODING 12642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 0 0 +BITMAP +0080 +0080 +0080 +0080 +0080 +0080 +0080 +FF80 +0080 +ENDCHAR +STARTCHAR U_3179 +ENCODING 12665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +9480 +F780 +9480 +6300 +0800 +7F00 +8080 +8080 +7F00 +ENDCHAR +STARTCHAR U_317A +ENCODING 12666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 7 0 1 +BITMAP +13E0 +1020 +1020 +1020 +2820 +4420 +8220 +ENDCHAR +STARTCHAR U_317D +ENCODING 12669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 7 1 1 +BITMAP +2440 +2440 +27C0 +2440 +2440 +5440 +8B80 +ENDCHAR +STARTCHAR U_317F +ENCODING 12671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 7 0 0 +BITMAP +0800 +1400 +2200 +2200 +4100 +8080 +FF80 +ENDCHAR +STARTCHAR U_3180 +ENCODING 12672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 0 +BITMAP +2080 +2080 +71C0 +8A20 +8A20 +8A20 +8A20 +71C0 +ENDCHAR +STARTCHAR U_3181 +ENCODING 12673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 8 1 1 +BITMAP +0800 +0800 +1C00 +6300 +8080 +8080 +6300 +1C00 +ENDCHAR +STARTCHAR U_318C +ENCODING 12684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 0 0 +BITMAP +0080 +0080 +0080 +0280 +FC80 +4880 +4880 +4880 +8880 +ENDCHAR +STARTCHAR U_318D +ENCODING 12685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 2 2 0 2 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR U_318E +ENCODING 12686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 9 0 0 +BITMAP +04 +04 +04 +C4 +C4 +04 +04 +04 +04 +ENDCHAR +STARTCHAR U_3192 +ENCODING 12690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 1 0 7 +BITMAP +FF80 +ENDCHAR +STARTCHAR U_3193 +ENCODING 12691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 4 0 5 +BITMAP +7E +00 +00 +FF +ENDCHAR +STARTCHAR U_3194 +ENCODING 12692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 5 0 4 +BITMAP +7E +00 +3C +00 +FF +ENDCHAR +STARTCHAR U_3195 +ENCODING 12693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 5 0 4 +BITMAP +FE +AA +CE +82 +FE +ENDCHAR +STARTCHAR U_3196 +ENCODING 12694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 6 0 4 +BITMAP +10 +10 +1C +10 +10 +FE +ENDCHAR +STARTCHAR U_3197 +ENCODING 12695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 7 0 3 +BITMAP +20 +20 +FC +A4 +FC +20 +20 +ENDCHAR +STARTCHAR U_3198 +ENCODING 12696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 6 0 4 +BITMAP +FE +10 +18 +14 +10 +10 +ENDCHAR +STARTCHAR U_3199 +ENCODING 12697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 7 0 3 +BITMAP +FE +92 +FE +92 +FE +10 +10 +ENDCHAR +STARTCHAR U_319A +ENCODING 12698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 6 0 4 +BITMAP +FC +18 +20 +40 +82 +7E +ENDCHAR +STARTCHAR U_319B +ENCODING 12699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 6 0 4 +BITMAP +7C +10 +FE +92 +AA +86 +ENDCHAR +STARTCHAR U_319C +ENCODING 12700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 6 0 4 +BITMAP +FE +10 +10 +10 +10 +30 +ENDCHAR +STARTCHAR U_319D +ENCODING 12701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 6 0 4 +BITMAP +7C +10 +FE +10 +28 +C6 +ENDCHAR +STARTCHAR U_319E +ENCODING 12702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 7 0 3 +BITMAP +44 +54 +FF +55 +56 +71 +9F +ENDCHAR +STARTCHAR U_319F +ENCODING 12703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 6 0 4 +BITMAP +10 +10 +10 +28 +44 +83 +ENDCHAR +STARTCHAR U_31C0 +ENCODING 12736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 3 1 3 +BITMAP +03 +1C +E0 +ENDCHAR +STARTCHAR U_31C1 +ENCODING 12737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 11 4 -1 +BITMAP +80 +40 +20 +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR U_31C2 +ENCODING 12738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 1 -1 +BITMAP +80 +80 +40 +40 +20 +20 +10 +10 +08 +05 +02 +ENDCHAR +STARTCHAR U_31C3 +ENCODING 12739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 5 0 2 +BITMAP +8000 +4000 +2040 +1840 +07C0 +ENDCHAR +STARTCHAR U_31C4 +ENCODING 12740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 9 2 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +FC +ENDCHAR +STARTCHAR U_31C5 +ENCODING 12741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 9 2 0 +BITMAP +F0 +10 +10 +10 +10 +10 +10 +10 +1E +ENDCHAR +STARTCHAR U_31C6 +ENCODING 12742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 1 -1 +BITMAP +FF +01 +01 +01 +01 +01 +01 +01 +05 +02 +ENDCHAR +STARTCHAR U_31C7 +ENCODING 12743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +FE +02 +02 +02 +04 +04 +08 +08 +10 +20 +ENDCHAR +STARTCHAR U_31C8 +ENCODING 12744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 0 -1 +BITMAP +F800 +0800 +0800 +0800 +0800 +0800 +0800 +0880 +0880 +0780 +ENDCHAR +STARTCHAR U_31C9 +ENCODING 12745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +8000 +8000 +8000 +8000 +8000 +FF80 +0080 +0080 +0100 +0500 +0200 +ENDCHAR +STARTCHAR U_31CA +ENCODING 12746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 8 1 0 +BITMAP +F0 +10 +10 +10 +10 +14 +18 +10 +ENDCHAR +STARTCHAR U_31CB +ENCODING 12747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 1 -1 +BITMAP +FE +04 +08 +0F +01 +01 +02 +02 +04 +18 +ENDCHAR +STARTCHAR U_31CC +ENCODING 12748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 10 3 -1 +BITMAP +F8 +08 +10 +20 +10 +08 +08 +08 +08 +30 +ENDCHAR +STARTCHAR U_31CD +ENCODING 12749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 6 1 2 +BITMAP +F800 +0800 +0800 +0800 +0800 +0780 +ENDCHAR +STARTCHAR U_31CE +ENCODING 12750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 1 -1 +BITMAP +F8 +08 +08 +08 +0F +01 +01 +01 +01 +01 +ENDCHAR +STARTCHAR U_31CF +ENCODING 12751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +80 +80 +40 +40 +20 +20 +10 +10 +08 +07 +02 +ENDCHAR +STARTCHAR U_31D0 +ENCODING 12752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 1 1 5 +BITMAP +FF80 +ENDCHAR +STARTCHAR U_31D1 +ENCODING 12753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 1 11 5 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_31D2 +ENCODING 12754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 7 1 2 +BITMAP +01 +01 +02 +04 +08 +10 +E0 +ENDCHAR +STARTCHAR U_31D3 +ENCODING 12755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 2 -1 +BITMAP +10 +10 +10 +10 +10 +10 +10 +20 +20 +40 +80 +ENDCHAR +STARTCHAR U_31D4 +ENCODING 12756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 5 3 3 +BITMAP +80 +40 +20 +10 +10 +ENDCHAR +STARTCHAR U_31D5 +ENCODING 12757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 7 2 1 +BITMAP +FE +02 +02 +02 +02 +02 +02 +ENDCHAR +STARTCHAR U_31D6 +ENCODING 12758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 3 0 4 +BITMAP +FFE0 +0040 +0080 +ENDCHAR +STARTCHAR U_31D7 +ENCODING 12759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 8 2 1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +FE +ENDCHAR +STARTCHAR U_31D8 +ENCODING 12760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 8 1 1 +BITMAP +01 +01 +01 +01 +01 +01 +01 +FF +ENDCHAR +STARTCHAR U_31D9 +ENCODING 12761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 10 4 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +A0 +C0 +80 +ENDCHAR +STARTCHAR U_31DA +ENCODING 12762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 11 4 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR U_31DB +ENCODING 12763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 9 3 0 +BITMAP +10 +10 +20 +40 +80 +40 +20 +10 +10 +ENDCHAR +STARTCHAR U_31DC +ENCODING 12764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 7 1 2 +BITMAP +0800 +0800 +1000 +1000 +2000 +4000 +FF80 +ENDCHAR +STARTCHAR U_31DD +ENCODING 12765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +2000 +2000 +5000 +9000 +0800 +0400 +0200 +0100 +0080 +0060 +ENDCHAR +STARTCHAR U_31DE +ENCODING 12766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 9 2 0 +BITMAP +80 +80 +80 +80 +FE +02 +02 +02 +02 +ENDCHAR +STARTCHAR U_31DF +ENCODING 12767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 3 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +84 +84 +7C +ENDCHAR +STARTCHAR U_31E0 +ENCODING 12768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FF80 +0100 +0200 +0400 +0800 +1000 +2000 +4020 +4020 +3FE0 +ENDCHAR +STARTCHAR U_31E1 +ENCODING 12769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +FF80 +0100 +0200 +07C0 +0040 +0040 +0040 +0040 +0280 +0100 +ENDCHAR +STARTCHAR U_31E2 +ENCODING 12770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +0080 +0080 +0100 +0100 +0200 +0400 +8800 +5000 +2000 +ENDCHAR +STARTCHAR U_31E3 +ENCODING 12771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 7 1 1 +BITMAP +7F00 +8080 +8080 +8080 +8080 +8080 +7F00 +ENDCHAR +STARTCHAR U_3200 +ENCODING 12800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4040 +8020 +BFA0 +80A0 +80A0 +80A0 +80A0 +8020 +4040 +2080 +ENDCHAR +STARTCHAR U_3202 +ENCODING 12802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +4100 +8080 +BE80 +A080 +A080 +BE80 +8080 +8080 +4100 +ENDCHAR +STARTCHAR U_3214 +ENCODING 12820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4940 +8920 +8920 +99A0 +9520 +A520 +A520 +C320 +8140 +4080 +ENDCHAR +STARTCHAR U_3216 +ENCODING 12822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +4120 +BD20 +91A0 +9120 +A920 +A920 +C520 +8120 +4140 +2080 +ENDCHAR +STARTCHAR U_321A +ENCODING 12826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +40C0 +BEA0 +94A0 +94E0 +94A0 +94A0 +94A0 +BEC0 +4040 +4040 +ENDCHAR +STARTCHAR U_321B +ENCODING 12827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4040 +9920 +8120 +BD20 +81A0 +9920 +A520 +9920 +4040 +2080 +ENDCHAR +STARTCHAR U_3220 +ENCODING 12832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4040 +8020 +8020 +8020 +BFA0 +8020 +8020 +8020 +4040 +2080 +ENDCHAR +STARTCHAR U_3221 +ENCODING 12833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4040 +8020 +9F20 +8020 +8020 +8020 +BFA0 +8020 +4040 +2080 +ENDCHAR +STARTCHAR U_3222 +ENCODING 12834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4040 +BFA0 +8020 +8020 +9F20 +8020 +8020 +BFA0 +4040 +2080 +ENDCHAR +STARTCHAR U_3223 +ENCODING 12835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4040 +BFA0 +AAA0 +AAA0 +AAA0 +B3A0 +A0A0 +BFA0 +4040 +2080 +ENDCHAR +STARTCHAR U_3224 +ENCODING 12836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4040 +9F20 +8420 +8420 +9F20 +8520 +8920 +BFA0 +4040 +2080 +ENDCHAR +STARTCHAR U_3225 +ENCODING 12837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4440 +8420 +BFA0 +8020 +8A20 +8A20 +9120 +A0A0 +4040 +2080 +ENDCHAR +STARTCHAR U_3226 +ENCODING 12838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4840 +8820 +89A0 +BE20 +8820 +8820 +88A0 +87A0 +4040 +2080 +ENDCHAR +STARTCHAR U_3227 +ENCODING 12839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4E40 +8220 +8220 +9220 +9220 +9120 +9120 +A0A0 +4040 +2080 +ENDCHAR +STARTCHAR U_3228 +ENCODING 12840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4840 +8820 +BE20 +8A20 +8A20 +8A20 +92A0 +A3A0 +4040 +2080 +ENDCHAR +STARTCHAR U_3229 +ENCODING 12841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4440 +8420 +8420 +8420 +BFA0 +8420 +8420 +8420 +4440 +2080 +ENDCHAR +STARTCHAR U_322D +ENCODING 12845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +8420 +BFA0 +8E20 +9520 +A4A0 +C460 +8420 +4440 +4040 +ENDCHAR +STARTCHAR U_322E +ENCODING 12846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +4A40 +9120 +A0A0 +DF60 +8420 +BFA0 +A4A0 +9520 +7FC0 +2080 +ENDCHAR +STARTCHAR U_3243 +ENCODING 12867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +5FC0 +8420 +8920 +9FA0 +8420 +9FA0 +8420 +8420 +5FC0 +4040 +ENDCHAR +STARTCHAR U_32A3 +ENCODING 12963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +7FC0 +8420 +8420 +97A0 +9420 +9420 +7FC0 +2080 +1F00 +ENDCHAR +STARTCHAR U_32A4 +ENCODING 12964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4440 +8420 +8720 +8420 +8420 +BFA0 +4040 +2080 +1F00 +ENDCHAR +STARTCHAR U_32A5 +ENCODING 12965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2480 +4440 +BFA0 +A4A0 +A4A0 +BFA0 +8420 +4440 +2080 +1F00 +ENDCHAR +STARTCHAR U_32A6 +ENCODING 12966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4040 +BFA0 +8420 +8620 +8520 +8420 +4440 +2080 +1F00 +ENDCHAR +STARTCHAR U_32A7 +ENCODING 12967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4840 +BF20 +9020 +9F20 +A420 +C420 +5F40 +2080 +1F00 +ENDCHAR +STARTCHAR U_32A8 +ENCODING 12968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4840 +BF20 +9020 +9F20 +B120 +D120 +5F40 +2080 +1F00 +ENDCHAR +STARTCHAR U_32D0 +ENCODING 13008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +BFA0 +80A0 +84A0 +8720 +8420 +8420 +8820 +5040 +3F80 +ENDCHAR +STARTCHAR U_32D1 +ENCODING 13009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +81A0 +8620 +8C20 +B420 +8420 +8420 +8420 +4440 +3F80 +ENDCHAR +STARTCHAR U_32D2 +ENCODING 13010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8420 +BFA0 +A0A0 +A0A0 +8120 +8120 +8220 +4440 +3F80 +ENDCHAR +STARTCHAR U_32D3 +ENCODING 13011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8020 +9F20 +8420 +8420 +8420 +8420 +BFA0 +4040 +3F80 +ENDCHAR +STARTCHAR U_32D4 +ENCODING 13012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8120 +BFE0 +8320 +8D20 +9120 +A120 +8520 +4340 +3F80 +ENDCHAR +STARTCHAR U_32D5 +ENCODING 13013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8820 +BFA0 +88A0 +88A0 +90A0 +90A0 +A520 +4240 +3F80 +ENDCHAR +STARTCHAR U_32D6 +ENCODING 13014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4840 +8B20 +9C20 +8420 +87A0 +BC20 +8220 +8220 +4240 +3F80 +ENDCHAR +STARTCHAR U_32D7 +ENCODING 13015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4840 +8F20 +9120 +9120 +A220 +8220 +8420 +8820 +5040 +3F80 +ENDCHAR +STARTCHAR U_32D8 +ENCODING 13016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4840 +8820 +9FA0 +9220 +A220 +8420 +8420 +8820 +5040 +3F80 +ENDCHAR +STARTCHAR U_32D9 +ENCODING 13017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8020 +9F20 +8120 +8120 +8120 +8120 +9F20 +4040 +3F80 +ENDCHAR +STARTCHAR U_32DA +ENCODING 13018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9120 +9120 +BFA0 +9120 +8120 +8220 +8C20 +4040 +3F80 +ENDCHAR +STARTCHAR U_32DB +ENCODING 13019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9820 +8020 +B820 +80A0 +8120 +8620 +9820 +4040 +3F80 +ENDCHAR +STARTCHAR U_32DC +ENCODING 13020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9F20 +8120 +8220 +8420 +8A20 +9120 +A0A0 +4040 +3F80 +ENDCHAR +STARTCHAR U_32DD +ENCODING 13021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9020 +97A0 +F920 +9120 +9020 +9020 +8F20 +4040 +3F80 +ENDCHAR +STARTCHAR U_32DE +ENCODING 13022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +A0A0 +90A0 +9120 +8120 +8220 +8420 +8820 +4040 +3F80 +ENDCHAR +STARTCHAR U_32DF +ENCODING 13023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4840 +8F20 +8920 +9920 +AA20 +8620 +8420 +8820 +5040 +3F80 +ENDCHAR +STARTCHAR U_32E0 +ENCODING 13024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8320 +9E20 +8420 +BFA0 +8420 +8420 +8820 +5040 +3F80 +ENDCHAR +STARTCHAR U_32E1 +ENCODING 13025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +A4A0 +94A0 +90A0 +8120 +8120 +8220 +8420 +4040 +3F80 +ENDCHAR +STARTCHAR U_32E2 +ENCODING 13026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9F20 +8020 +BFA0 +8220 +8220 +8420 +8820 +4040 +3F80 +ENDCHAR +STARTCHAR U_32E3 +ENCODING 13027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8820 +8820 +8C20 +8B20 +8820 +8820 +8820 +4040 +3F80 +ENDCHAR +STARTCHAR U_32E4 +ENCODING 13028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8420 +8420 +BFA0 +8420 +8420 +8820 +8820 +5040 +3F80 +ENDCHAR +STARTCHAR U_32E5 +ENCODING 13029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8020 +9F20 +8020 +8020 +8020 +BFA0 +8020 +4040 +3F80 +ENDCHAR +STARTCHAR U_32E6 +ENCODING 13030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9F20 +8120 +8120 +9A20 +8620 +8920 +9020 +6040 +3F80 +ENDCHAR +STARTCHAR U_32E7 +ENCODING 13031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8420 +9F20 +8120 +8220 +8620 +9D20 +A4A0 +4440 +3F80 +ENDCHAR +STARTCHAR U_32E8 +ENCODING 13032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8220 +8220 +8220 +8420 +8420 +8820 +9020 +4040 +3F80 +ENDCHAR +STARTCHAR U_32E9 +ENCODING 13033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8020 +8920 +8920 +9920 +90A0 +A0A0 +8020 +4040 +3F80 +ENDCHAR +STARTCHAR U_32EA +ENCODING 13034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9020 +9320 +9C20 +9020 +9020 +9020 +8F20 +4040 +3F80 +ENDCHAR +STARTCHAR U_32EB +ENCODING 13035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8020 +BFA0 +80A0 +80A0 +8120 +8220 +8420 +4840 +3F80 +ENDCHAR +STARTCHAR U_32EC +ENCODING 13036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8020 +8020 +8C20 +9220 +A120 +80E0 +8020 +4040 +3F80 +ENDCHAR +STARTCHAR U_32ED +ENCODING 13037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8420 +BFA0 +8420 +9520 +9520 +A4A0 +8420 +4040 +3F80 +ENDCHAR +STARTCHAR U_32EE +ENCODING 13038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8020 +BFA0 +8120 +9220 +8C20 +8420 +8220 +4040 +3F80 +ENDCHAR +STARTCHAR U_32EF +ENCODING 13039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9C20 +8320 +9820 +8620 +8020 +9820 +8720 +4040 +3F80 +ENDCHAR +STARTCHAR U_32F0 +ENCODING 13040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8420 +8420 +8820 +8A20 +9120 +A720 +B8A0 +4040 +3F80 +ENDCHAR +STARTCHAR U_32F1 +ENCODING 13041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8220 +8220 +9420 +8C20 +8A20 +9020 +A020 +4040 +3F80 +ENDCHAR +STARTCHAR U_32F2 +ENCODING 13042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9F20 +8420 +8420 +BFA0 +8420 +8420 +83A0 +4040 +3F80 +ENDCHAR +STARTCHAR U_32F3 +ENCODING 13043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9020 +93A0 +9CA0 +F120 +8A20 +8820 +8420 +4440 +3F80 +ENDCHAR +STARTCHAR U_32F4 +ENCODING 13044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8020 +9E20 +8220 +8220 +8220 +8220 +BFA0 +4040 +3F80 +ENDCHAR +STARTCHAR U_32F5 +ENCODING 13045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9F20 +8120 +8120 +9F20 +8120 +8120 +9F20 +4040 +3F80 +ENDCHAR +STARTCHAR U_32F6 +ENCODING 13046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9F20 +8020 +BFA0 +80A0 +80A0 +8120 +8620 +4840 +3F80 +ENDCHAR +STARTCHAR U_32F7 +ENCODING 13047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +9120 +9120 +9120 +8120 +8220 +8420 +8820 +4040 +3F80 +ENDCHAR +STARTCHAR U_32F8 +ENCODING 13048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8420 +8420 +9420 +94A0 +9520 +A620 +8420 +4040 +3F80 +ENDCHAR +STARTCHAR U_32F9 +ENCODING 13049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8820 +8820 +8820 +88A0 +8920 +8A20 +8C20 +4040 +3F80 +ENDCHAR +STARTCHAR U_32FA +ENCODING 13050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8020 +9F20 +9120 +9120 +9120 +9F20 +8020 +4040 +3F80 +ENDCHAR +STARTCHAR U_32FB +ENCODING 13051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8020 +BFA0 +A0A0 +A120 +8120 +8220 +8420 +4840 +3F80 +ENDCHAR +STARTCHAR U_32FC +ENCODING 13052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8220 +8220 +9F20 +9220 +9220 +BFA0 +8220 +4240 +3F80 +ENDCHAR +STARTCHAR U_32FD +ENCODING 13053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +8020 +9FA0 +80A0 +8720 +8420 +8420 +BFA0 +4040 +3F80 +ENDCHAR +STARTCHAR U_32FE +ENCODING 13054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +4040 +BFA0 +80A0 +9FA0 +8120 +8220 +8420 +9820 +4040 +3F80 +ENDCHAR +STARTCHAR U_3300 +ENCODING 13056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FAA0 +2A80 +3440 +2440 +4820 +8000 +0100 +0180 +F940 +0120 +0100 +ENDCHAR +STARTCHAR U_3322 +ENCODING 13090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F920 +4820 +4040 +3B80 +0000 +7800 +1000 +FC00 +1000 +6000 +ENDCHAR +STARTCHAR U_337B +ENCODING 13179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8A0 +2080 +AFE0 +7480 +2780 +FD80 +25A0 +2560 +2A40 +28C0 +3320 +ENDCHAR +STARTCHAR U_337C +ENCODING 13180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +2E00 +EAE0 +AAA0 +A7A0 +FAA0 +ABA0 +AEA0 +EAE0 +3AA0 +2A00 +ENDCHAR +STARTCHAR U_337D +ENCODING 13181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +2080 +FA80 +2280 +22E0 +2280 +2280 +5280 +5280 +8FE0 +ENDCHAR +STARTCHAR U_337E +ENCODING 13182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +3A40 +E940 +AC40 +BAA0 +E9E0 +B800 +A9E0 +EAA0 +AAA0 +4AE0 +ENDCHAR +STARTCHAR U_337F +ENCODING 13183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48A0 +FFE0 +6940 +D940 +6DC0 +4B20 +2240 +5740 +AAE0 +5740 +7AE0 +ENDCHAR +STARTCHAR U_338E +ENCODING 13198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 12 8 0 -1 +BITMAP +28D0 +D520 +5520 +5520 +54C0 +5520 +5520 +00C0 +ENDCHAR +STARTCHAR U_338F +ENCODING 13199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 1 -1 +BITMAP +C000 +4000 +4000 +59A0 +5240 +6240 +6240 +5180 +5240 +DA40 +03C0 +ENDCHAR +STARTCHAR U_339C +ENCODING 13212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 12 8 0 0 +BITMAP +AAA0 +5550 +5550 +5550 +5550 +5550 +5550 +5550 +ENDCHAR +STARTCHAR U_339D +ENCODING 13213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 1 0 +BITMAP +3540 +4AA0 +8AA0 +82A0 +82A0 +82A0 +4AA0 +32A0 +ENDCHAR +STARTCHAR U_339E +ENCODING 13214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 1 0 +BITMAP +C000 +4000 +4540 +5AA0 +52A0 +62A0 +62A0 +52A0 +52A0 +DAA0 +ENDCHAR +STARTCHAR U_33A1 +ENCODING 13217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 1 0 +BITMAP +0040 +00A0 +0020 +0040 +B6E0 +4900 +4900 +4900 +4900 +4900 +4900 +ENDCHAR +STARTCHAR U_33C4 +ENCODING 13252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 7 1 0 +BITMAP +30C0 +4920 +8200 +8200 +8200 +4920 +30C0 +ENDCHAR +STARTCHAR U_33CE +ENCODING 13262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 12 10 0 0 +BITMAP +8C10 +9630 +9550 +A550 +C550 +A490 +A490 +9490 +9490 +8C90 +ENDCHAR +STARTCHAR U_33D1 +ENCODING 13265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 2 0 +BITMAP +C000 +4000 +4000 +4B00 +4480 +4480 +4480 +4480 +4480 +ECC0 +ENDCHAR +STARTCHAR U_33D2 +ENCODING 13266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 12 11 0 -1 +BITMAP +C000 +4000 +4000 +48D0 +5520 +5520 +5520 +54C0 +5520 +E920 +00C0 +ENDCHAR +STARTCHAR U_33D5 +ENCODING 13269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +0060 +0120 +0020 +A920 +5520 +5520 +5520 +5520 +5520 +5520 +ENDCHAR +STARTCHAR U_33E0 +ENCODING 13280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 0 -1 +BITMAP +47C0 +C440 +4440 +4440 +47C0 +4440 +4440 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_33E1 +ENCODING 13281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +73E0 +8A20 +8A20 +0A20 +0BE0 +3220 +4220 +8220 +83E0 +FA20 +ENDCHAR +STARTCHAR U_33E2 +ENCODING 13282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +73E0 +8A20 +8A20 +0A20 +33E0 +0A20 +0A20 +8A20 +8BE0 +7220 +ENDCHAR +STARTCHAR U_33E3 +ENCODING 13283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +13E0 +1220 +3220 +3220 +53E0 +5220 +9220 +FA20 +13E0 +1220 +ENDCHAR +STARTCHAR U_33E4 +ENCODING 13284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FBE0 +8220 +8220 +8220 +F3E0 +8A20 +0A20 +0A20 +8BE0 +7220 +ENDCHAR +STARTCHAR U_33E5 +ENCODING 13285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +73E0 +8A20 +8A20 +8220 +F3E0 +8A20 +8A20 +8A20 +8BE0 +7220 +ENDCHAR +STARTCHAR U_33E6 +ENCODING 13286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FBE0 +8A20 +0A20 +1220 +13E0 +1220 +2220 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_33E7 +ENCODING 13287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +73E0 +8A20 +8A20 +8A20 +73E0 +8A20 +8A20 +8A20 +8BE0 +7220 +ENDCHAR +STARTCHAR U_33E8 +ENCODING 13288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +73E0 +8A20 +8A20 +8A20 +8BE0 +7A20 +0A20 +0A20 +8BE0 +7220 +ENDCHAR +STARTCHAR U_33E9 +ENCODING 13289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +4CE0 +D2A0 +52A0 +52A0 +52E0 +52A0 +52A0 +52A0 +52E0 +4CA0 +ENDCHAR +STARTCHAR U_33EA +ENCODING 13290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +49E0 +D920 +4920 +4920 +49E0 +4920 +4920 +4920 +49E0 +4920 +ENDCHAR +STARTCHAR U_33EB +ENCODING 13291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +49E0 +D520 +5520 +4520 +45E0 +4920 +4920 +5120 +51E0 +5D20 +ENDCHAR +STARTCHAR U_33EC +ENCODING 13292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +49E0 +D520 +5520 +4520 +49E0 +4520 +4520 +5520 +55E0 +4920 +ENDCHAR +STARTCHAR U_33ED +ENCODING 13293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +44E0 +C4A0 +4CA0 +4CA0 +54E0 +54A0 +54A0 +5EA0 +44E0 +44A0 +ENDCHAR +STARTCHAR U_33EE +ENCODING 13294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +5DE0 +D120 +5120 +5920 +55E0 +4520 +4520 +5520 +55E0 +4920 +ENDCHAR +STARTCHAR U_33EF +ENCODING 13295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +49E0 +D520 +5520 +5120 +59E0 +5520 +5520 +5520 +55E0 +4920 +ENDCHAR +STARTCHAR U_33F0 +ENCODING 13296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +5EE0 +D2A0 +42A0 +44A0 +44E0 +44A0 +44A0 +48A0 +48E0 +48A0 +ENDCHAR +STARTCHAR U_33F1 +ENCODING 13297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +49E0 +D520 +5520 +5520 +49E0 +5520 +5520 +5520 +55E0 +4920 +ENDCHAR +STARTCHAR U_33F2 +ENCODING 13298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +49E0 +D520 +5520 +5520 +55E0 +4D20 +4520 +5520 +55E0 +4920 +ENDCHAR +STARTCHAR U_33F3 +ENCODING 13299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +44E0 +AAA0 +AAA0 +2AA0 +2AE0 +4AA0 +4AA0 +8AA0 +8AE0 +E4A0 +ENDCHAR +STARTCHAR U_33F4 +ENCODING 13300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +45E0 +AD20 +A520 +2520 +45E0 +4520 +4520 +8520 +85E0 +E520 +ENDCHAR +STARTCHAR U_33F5 +ENCODING 13301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +44E0 +AAA0 +AAA0 +22A0 +22E0 +44A0 +44A0 +88A0 +88E0 +EEA0 +ENDCHAR +STARTCHAR U_33F6 +ENCODING 13302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +44E0 +AAA0 +AAA0 +22A0 +24E0 +42A0 +42A0 +8AA0 +8AE0 +E4A0 +ENDCHAR +STARTCHAR U_33F7 +ENCODING 13303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +42E0 +A2A0 +A6A0 +26A0 +2AE0 +4AA0 +4AA0 +8EA0 +82E0 +E2A0 +ENDCHAR +STARTCHAR U_33F8 +ENCODING 13304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +4EE0 +A8A0 +A8A0 +2CA0 +2AE0 +42A0 +42A0 +8AA0 +8AE0 +E4A0 +ENDCHAR +STARTCHAR U_33F9 +ENCODING 13305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +44E0 +AAA0 +AAA0 +28A0 +2CE0 +4AA0 +4AA0 +8AA0 +8AE0 +E4A0 +ENDCHAR +STARTCHAR U_33FA +ENCODING 13306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +4EE0 +AAA0 +A2A0 +22A0 +24E0 +44A0 +44A0 +84A0 +84E0 +E4A0 +ENDCHAR +STARTCHAR U_33FB +ENCODING 13307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +44E0 +AAA0 +AAA0 +2AA0 +24E0 +4AA0 +4AA0 +8AA0 +8AE0 +E4A0 +ENDCHAR +STARTCHAR U_33FC +ENCODING 13308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +44E0 +AAA0 +AAA0 +2AA0 +2AE0 +46A0 +42A0 +8AA0 +8AE0 +E4A0 +ENDCHAR +STARTCHAR U_33FD +ENCODING 13309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +44E0 +AAA0 +AAA0 +2AA0 +4AE0 +2AA0 +2AA0 +AAA0 +AAE0 +44A0 +ENDCHAR +STARTCHAR U_33FE +ENCODING 13310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +62E0 +96A0 +92A0 +12A0 +22E0 +12A0 +12A0 +92A0 +92E0 +62A0 +ENDCHAR +STARTCHAR U_3400 +ENCODING 13312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +1100 +1100 +1100 +1100 +F1E0 +1100 +1100 +1100 +1100 +FFE0 +ENDCHAR +STARTCHAR U_3401 +ENCODING 13313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0400 +7FC0 +4440 +4A40 +5140 +6140 +4040 +7FC0 +4040 +ENDCHAR +STARTCHAR U_3402 +ENCODING 13314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07C0 +7C00 +0420 +23E0 +2100 +FBE0 +2100 +2920 +3120 +20E0 +ENDCHAR +STARTCHAR U_3403 +ENCODING 13315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2080 +4040 +FFE0 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_3404 +ENCODING 13316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +0400 +4400 +4400 +FFE0 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_3405 +ENCODING 13317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 0 +BITMAP +0100 +4100 +2200 +1200 +0C00 +0400 +0A00 +1100 +2080 +C080 +ENDCHAR +STARTCHAR U_3406 +ENCODING 13318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 0 -1 +BITMAP +3F00 +2000 +3F00 +2100 +3F00 +2100 +3F00 +2000 +3F80 +4080 +8300 +ENDCHAR +STARTCHAR U_3407 +ENCODING 13319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +7F00 +1120 +2120 +C0E0 +7F00 +0200 +3C40 +4040 +3FC0 +ENDCHAR +STARTCHAR U_3408 +ENCODING 13320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +0400 +0A00 +3180 +C060 +7F80 +0100 +0E00 +3040 +4040 +3FC0 +ENDCHAR +STARTCHAR U_3409 +ENCODING 13321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0200 +0200 +0A00 +0400 +7FC0 +0300 +1C20 +2020 +1FE0 +ENDCHAR +STARTCHAR U_340A +ENCODING 13322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +3F80 +0000 +7FC0 +0180 +1E20 +2020 +1FE0 +ENDCHAR +STARTCHAR U_340B +ENCODING 13323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +3FC0 +0400 +FFE0 +0000 +7FC0 +0180 +1E20 +2020 +1FE0 +ENDCHAR +STARTCHAR U_340C +ENCODING 13324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7FC0 +4400 +8400 +27C0 +3C40 +E440 +2580 +2420 +2020 +1FE0 +ENDCHAR +STARTCHAR U_340D +ENCODING 13325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0380 +1C00 +E880 +4480 +2500 +FF80 +0100 +0E00 +7040 +8040 +7FC0 +ENDCHAR +STARTCHAR U_340E +ENCODING 13326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +3180 +C060 +3F80 +0300 +1C20 +2020 +1FE0 +ENDCHAR +STARTCHAR U_340F +ENCODING 13327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +3F80 +0880 +FFE0 +0000 +7FC0 +0100 +1E20 +2020 +1FE0 +ENDCHAR +STARTCHAR U_3410 +ENCODING 13328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FFE0 +4A40 +3180 +CA60 +0000 +7F80 +0600 +1800 +2040 +1FC0 +ENDCHAR +STARTCHAR U_3411 +ENCODING 13329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +5100 +0E00 +F5E0 +0A00 +0400 +7FC0 +0600 +1800 +2020 +1FE0 +ENDCHAR +STARTCHAR U_3412 +ENCODING 13330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +1040 +2080 +FFC0 +2040 +3FC0 +0000 +7FC0 +0C00 +3020 +1FE0 +ENDCHAR +STARTCHAR U_3413 +ENCODING 13331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0080 +3C80 +2480 +3C80 +0080 +FFE0 +0600 +1800 +2020 +1FE0 +ENDCHAR +STARTCHAR U_3414 +ENCODING 13332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +FF80 +0000 +3E00 +2200 +3E00 +0000 +FE00 +0800 +1080 +1F80 +ENDCHAR +STARTCHAR U_3415 +ENCODING 13333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0400 +7FC0 +4440 +7FC0 +4440 +7FC0 +0000 +FF80 +0600 +0840 +1FC0 +ENDCHAR +STARTCHAR U_3416 +ENCODING 13334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +FD00 +1100 +7D00 +0100 +7D00 +4500 +4520 +4520 +7CE0 +ENDCHAR +STARTCHAR U_3417 +ENCODING 13335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +1F80 +0500 +FFE0 +1900 +6A40 +8FC0 +0000 +3FA0 +0C20 +7FE0 +ENDCHAR +STARTCHAR U_3418 +ENCODING 13336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +FFE0 +0D00 +1480 +6440 +1F00 +0200 +0C00 +3020 +3FE0 +ENDCHAR +STARTCHAR U_3419 +ENCODING 13337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +2080 +3F80 +1100 +FFE0 +0000 +3FC0 +0180 +0E00 +7020 +3FE0 +ENDCHAR +STARTCHAR U_341A +ENCODING 13338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +3F80 +0880 +FFE0 +1100 +7FC0 +0200 +1C20 +6020 +3FE0 +ENDCHAR +STARTCHAR U_341B +ENCODING 13339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2FE0 +E400 +2BC0 +2240 +23C0 +7FC0 +0300 +0C00 +3040 +3FC0 +ENDCHAR +STARTCHAR U_341C +ENCODING 13340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2100 +FBC0 +2140 +A940 +7140 +2140 +7140 +AA40 +2240 +6460 +ENDCHAR +STARTCHAR U_341D +ENCODING 13341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +F7E0 +2820 +F720 +2520 +6760 +3F80 +0300 +1C00 +6040 +7FC0 +ENDCHAR +STARTCHAR U_341E +ENCODING 13342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +1F00 +1100 +FFE0 +2080 +5F40 +8220 +0C40 +1FC0 +ENDCHAR +STARTCHAR U_341F +ENCODING 13343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +F3C0 +1200 +7380 +1200 +F3C0 +0000 +7F80 +0C20 +3020 +1FE0 +ENDCHAR +STARTCHAR U_3420 +ENCODING 13344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +5480 +FC80 +0880 +7C80 +10A0 +10E0 +3F00 +0600 +1840 +3FC0 +ENDCHAR +STARTCHAR U_3421 +ENCODING 13345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4100 +FFE0 +5AA0 +5AA0 +5100 +57C0 +5100 +5280 +5460 +8FE0 +ENDCHAR +STARTCHAR U_3422 +ENCODING 13346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2540 +8FC0 +4080 +2FE0 +C100 +4200 +7F80 +0C20 +3020 +7FE0 +ENDCHAR +STARTCHAR U_3423 +ENCODING 13347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +7FE0 +5240 +5FC0 +5240 +7FE0 +4780 +4820 +9FE0 +ENDCHAR +STARTCHAR U_3424 +ENCODING 13348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F100 +57C0 +5440 +57C0 +5440 +5FE0 +5280 +5440 +9FE0 +ENDCHAR +STARTCHAR U_3425 +ENCODING 13349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +AE80 +5BE0 +EEA0 +4AA0 +FF40 +0000 +7F80 +0C20 +1020 +3FE0 +ENDCHAR +STARTCHAR U_3426 +ENCODING 13350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6EC0 +4840 +6EC0 +4A40 +FFE0 +2480 +C460 +3F80 +0600 +1820 +3FE0 +ENDCHAR +STARTCHAR U_3427 +ENCODING 13351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +1A00 +0A00 +0200 +FFE0 +0640 +0A00 +1200 +2200 +CA00 +0400 +ENDCHAR +STARTCHAR U_3428 +ENCODING 13352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +1040 +5140 +6180 +FBE0 +28A0 +2080 +2080 +2080 +2080 +6180 +ENDCHAR +STARTCHAR U_3429 +ENCODING 13353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5140 +5140 +FBE0 +5140 +5140 +5140 +FBE0 +5140 +5140 +5140 +9640 +ENDCHAR +STARTCHAR U_342A +ENCODING 13354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +4440 +4440 +7FC0 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_342B +ENCODING 13355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +0000 +5140 +4A40 +4440 +4A40 +5140 +4040 +7FC0 +ENDCHAR +STARTCHAR U_342C +ENCODING 13356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1000 +2080 +7FC0 +0020 +2480 +2480 +2480 +44A0 +84E0 +ENDCHAR +STARTCHAR U_342D +ENCODING 13357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0000 +7FC0 +4040 +5F40 +5140 +5140 +5F40 +4040 +7FC0 +ENDCHAR +STARTCHAR U_342E +ENCODING 13358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +4A40 +BFA0 +0A00 +3F80 +0A00 +7FC0 +3480 +D300 +19E0 +ENDCHAR +STARTCHAR U_342F +ENCODING 13359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +3F80 +4040 +7FC0 +0400 +7FC0 +1500 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3430 +ENCODING 13360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17E0 +2420 +2420 +6420 +A420 +2420 +2420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_3431 +ENCODING 13361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +1400 +2300 +48E0 +9200 +2480 +0900 +3200 +0400 +7800 +ENDCHAR +STARTCHAR U_3432 +ENCODING 13362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +6FE0 +A100 +2100 +2100 +2280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_3433 +ENCODING 13363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2280 +2280 +6280 +A280 +2480 +24A0 +24A0 +28A0 +3060 +ENDCHAR +STARTCHAR U_3434 +ENCODING 13364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +27E0 +2420 +6420 +AA40 +2140 +2080 +2080 +2100 +2600 +ENDCHAR +STARTCHAR U_3435 +ENCODING 13365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +17C0 +2100 +2100 +6FE0 +A100 +2100 +2100 +2100 +2300 +0100 +ENDCHAR +STARTCHAR U_3436 +ENCODING 13366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +2440 +6440 +A7C0 +2400 +2400 +2400 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_3437 +ENCODING 13367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1040 +2440 +6440 +A440 +27E0 +2020 +2FA0 +2020 +20A0 +2040 +ENDCHAR +STARTCHAR U_3438 +ENCODING 13368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +1400 +27E0 +6920 +A940 +2100 +2100 +2280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_3439 +ENCODING 13369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +17E0 +2400 +6BC0 +A000 +2F80 +2080 +2080 +2080 +20A0 +2060 +ENDCHAR +STARTCHAR U_343A +ENCODING 13370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +4880 +D880 +4880 +4880 +4880 +4940 +4940 +4A20 +4A20 +ENDCHAR +STARTCHAR U_343B +ENCODING 13371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +6FE0 +A920 +2920 +2920 +2AA0 +2C60 +2820 +2860 +ENDCHAR +STARTCHAR U_343C +ENCODING 13372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +1640 +2240 +6240 +AFE0 +2240 +2240 +2240 +2240 +2440 +2840 +ENDCHAR +STARTCHAR U_343D +ENCODING 13373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +2440 +66C0 +A540 +2540 +26C0 +2440 +2440 +2840 +3020 +ENDCHAR +STARTCHAR U_343E +ENCODING 13374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1000 +2000 +6FE0 +A280 +2280 +2280 +2280 +24A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_343F +ENCODING 13375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +1700 +2100 +6100 +A7C0 +2100 +2100 +2FE0 +2100 +2100 +2300 +ENDCHAR +STARTCHAR U_3440 +ENCODING 13376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +4200 +5FE0 +C200 +4500 +4500 +4480 +4880 +4A40 +5120 +ENDCHAR +STARTCHAR U_3441 +ENCODING 13377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1920 +2920 +6920 +AFE0 +2100 +2100 +2920 +2920 +2920 +2FE0 +ENDCHAR +STARTCHAR U_3442 +ENCODING 13378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +6100 +AFE0 +2920 +2920 +2AA0 +2C60 +2820 +2820 +2860 +ENDCHAR +STARTCHAR U_3443 +ENCODING 13379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +1480 +29E0 +6AA0 +AEA0 +22A0 +24A0 +28A0 +2BA0 +2D20 +2260 +ENDCHAR +STARTCHAR U_3444 +ENCODING 13380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +4A40 +C940 +5FE0 +4840 +4A40 +5140 +5FE0 +4040 +40C0 +ENDCHAR +STARTCHAR U_3445 +ENCODING 13381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +1400 +27E0 +6900 +B100 +2100 +21C0 +2100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_3446 +ENCODING 13382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +2440 +2440 +67C0 +A280 +2280 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_3447 +ENCODING 13383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +13C0 +2440 +6080 +AFE0 +2020 +2020 +27E0 +2020 +2020 +2FE0 +ENDCHAR +STARTCHAR U_3448 +ENCODING 13384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +6200 +A400 +2500 +2FE0 +2100 +2540 +2920 +2300 +ENDCHAR +STARTCHAR U_3449 +ENCODING 13385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +6FC0 +AA40 +2BC0 +2CC0 +2AC0 +2940 +2940 +2A40 +3420 +ENDCHAR +STARTCHAR U_344A +ENCODING 13386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +6280 +A280 +2AC0 +2AA0 +32A0 +2280 +2480 +2480 +2980 +ENDCHAR +STARTCHAR U_344B +ENCODING 13387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +1280 +2280 +6FE0 +AAA0 +2AA0 +2FE0 +2AA0 +2AA0 +2AA0 +2FE0 +ENDCHAR +STARTCHAR U_344C +ENCODING 13388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +6BE0 +A880 +2880 +2BE0 +2880 +2880 +2BE0 +2800 +2FE0 +ENDCHAR +STARTCHAR U_344D +ENCODING 13389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2100 +6FC0 +A100 +3FE0 +2380 +2540 +2520 +2920 +2100 +ENDCHAR +STARTCHAR U_344E +ENCODING 13390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +12A0 +1540 +2A80 +6540 +A540 +2000 +2100 +2920 +2920 +2920 +2FE0 +ENDCHAR +STARTCHAR U_344F +ENCODING 13391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2820 +6080 +AFE0 +2080 +2480 +2280 +2080 +2080 +2180 +ENDCHAR +STARTCHAR U_3450 +ENCODING 13392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +21C0 +6100 +A100 +2FE0 +2100 +2540 +2540 +2920 +2300 +ENDCHAR +STARTCHAR U_3451 +ENCODING 13393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1400 +2FE0 +6820 +AFE0 +2820 +2820 +2FE0 +2820 +2820 +2FE0 +ENDCHAR +STARTCHAR U_3452 +ENCODING 13394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +3180 +DF60 +0400 +3F80 +2480 +3F80 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_3453 +ENCODING 13395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2200 +6440 +AFA0 +2200 +2FE0 +2200 +25C0 +2540 +2880 +3360 +ENDCHAR +STARTCHAR U_3454 +ENCODING 13396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1100 +2200 +6FE0 +A820 +2920 +2920 +2920 +2920 +2240 +2C20 +ENDCHAR +STARTCHAR U_3455 +ENCODING 13397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1100 +1540 +2540 +67C0 +A200 +27C0 +2840 +2240 +2180 +2100 +2E00 +ENDCHAR +STARTCHAR U_3456 +ENCODING 13398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +1480 +2880 +7BE0 +AAA0 +2AA0 +2AA0 +2BE0 +2880 +2880 +2880 +ENDCHAR +STARTCHAR U_3457 +ENCODING 13399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17C0 +2440 +67C0 +A440 +27C0 +2440 +27E0 +2CC0 +2340 +2CC0 +ENDCHAR +STARTCHAR U_3458 +ENCODING 13400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10A0 +1080 +2FE0 +6080 +AAA0 +2AA0 +3FC0 +2A80 +2AC0 +3160 +2220 +ENDCHAR +STARTCHAR U_3459 +ENCODING 13401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2A00 +6E80 +AA80 +2E80 +2A80 +2A80 +2E80 +3A80 +22A0 +22E0 +ENDCHAR +STARTCHAR U_345A +ENCODING 13402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +4AA0 +CAA0 +5EA0 +4AC0 +4AA0 +5EA0 +4AA0 +4AE0 +5280 +6680 +ENDCHAR +STARTCHAR U_345B +ENCODING 13403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2100 +6FE0 +A920 +2920 +2FE0 +2380 +2540 +2540 +2920 +ENDCHAR +STARTCHAR U_345C +ENCODING 13404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1460 +1580 +2F00 +65E0 +A540 +2740 +2D40 +2540 +2540 +2540 +2E40 +ENDCHAR +STARTCHAR U_345D +ENCODING 13405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1100 +27E0 +2100 +6FE0 +A000 +2240 +2FE0 +2240 +2240 +2C40 +ENDCHAR +STARTCHAR U_345E +ENCODING 13406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1540 +2100 +2280 +6C60 +A240 +2FE0 +2240 +2240 +2440 +2840 +ENDCHAR +STARTCHAR U_345F +ENCODING 13407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +1600 +2400 +67C0 +A480 +2480 +2480 +2FE0 +2000 +2440 +2820 +ENDCHAR +STARTCHAR U_3460 +ENCODING 13408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1BE0 +2AA0 +6A40 +AAA0 +2320 +2000 +2100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_3461 +ENCODING 13409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +6AA0 +AEA0 +2AA0 +2EA0 +28E0 +2CA0 +2A80 +2E80 +2880 +ENDCHAR +STARTCHAR U_3462 +ENCODING 13410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +14E0 +24A0 +7FA0 +A4A0 +24A0 +3FA0 +24E0 +28A0 +2A80 +2B80 +2C80 +ENDCHAR +STARTCHAR U_3463 +ENCODING 13411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +2480 +7FE0 +A480 +2D80 +2FC0 +2DA0 +36A0 +2480 +2480 +2480 +ENDCHAR +STARTCHAR U_3464 +ENCODING 13412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +1FE0 +2240 +6000 +AFE0 +2920 +2920 +2FE0 +2920 +2920 +2FE0 +ENDCHAR +STARTCHAR U_3465 +ENCODING 13413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +2440 +27C0 +6440 +A7C0 +2800 +2FE0 +34A0 +24A0 +2920 +2260 +ENDCHAR +STARTCHAR U_3466 +ENCODING 13414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2E00 +6800 +AFE0 +2820 +2FE0 +2940 +2FE0 +2900 +2A80 +3460 +ENDCHAR +STARTCHAR U_3467 +ENCODING 13415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +4FE0 +4380 +CD60 +4100 +47C0 +4080 +4FE0 +4100 +4300 +ENDCHAR +STARTCHAR U_3468 +ENCODING 13416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +2440 +67C0 +A400 +27C0 +2900 +2100 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_3469 +ENCODING 13417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +2AA0 +4FE0 +4200 +C7C0 +4440 +4A40 +4180 +4300 +5C00 +ENDCHAR +STARTCHAR U_346A +ENCODING 13418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2440 +6380 +A440 +3C60 +27C0 +2440 +27C0 +2440 +2840 +ENDCHAR +STARTCHAR U_346B +ENCODING 13419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +1300 +1480 +2A60 +6100 +A780 +2080 +2360 +2900 +2A20 +21C0 +ENDCHAR +STARTCHAR U_346C +ENCODING 13420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2880 +4BE0 +FC80 +5480 +55E0 +5520 +4920 +5520 +5520 +61E0 +ENDCHAR +STARTCHAR U_346D +ENCODING 13421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1540 +27C0 +6540 +A7C0 +2000 +2FE0 +2240 +2240 +2440 +2840 +ENDCHAR +STARTCHAR U_346E +ENCODING 13422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1420 +2100 +6FE0 +A100 +27C0 +2540 +27C0 +2540 +2FE0 +2100 +ENDCHAR +STARTCHAR U_346F +ENCODING 13423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1200 +27C0 +6440 +A7C0 +2440 +27C0 +2440 +27C0 +2240 +2420 +ENDCHAR +STARTCHAR U_3470 +ENCODING 13424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27C0 +4440 +4F80 +C080 +5FE0 +4440 +5B80 +4540 +5940 +4320 +ENDCHAR +STARTCHAR U_3471 +ENCODING 13425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2280 +2100 +5FE0 +4540 +DB00 +4100 +5FE0 +4380 +4540 +4920 +ENDCHAR +STARTCHAR U_3472 +ENCODING 13426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2100 +6FE0 +AAA0 +2FE0 +2920 +2FE0 +2920 +2920 +2960 +ENDCHAR +STARTCHAR U_3473 +ENCODING 13427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2FE0 +5AA0 +CFA0 +4260 +4400 +4FE0 +5AA0 +4FA0 +4220 +4C60 +ENDCHAR +STARTCHAR U_3474 +ENCODING 13428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +2FC0 +4080 +DFE0 +5220 +4FC0 +4A40 +5FC0 +4480 +4300 +5CE0 +ENDCHAR +STARTCHAR U_3475 +ENCODING 13429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17E0 +2400 +3500 +6DE0 +A680 +2C80 +37E0 +2480 +2940 +3220 +ENDCHAR +STARTCHAR U_3476 +ENCODING 13430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2FE0 +5000 +CFC0 +4000 +7FC0 +5540 +4440 +5FC0 +4440 +5560 +ENDCHAR +STARTCHAR U_3477 +ENCODING 13431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +3280 +5EE0 +C080 +5EE0 +5200 +5E80 +52E0 +5E80 +52A0 +56E0 +ENDCHAR +STARTCHAR U_3478 +ENCODING 13432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2100 +67C0 +A440 +3FE0 +2040 +2F40 +2940 +2F40 +20C0 +ENDCHAR +STARTCHAR U_3479 +ENCODING 13433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1B00 +E0E0 +3F80 +4440 +7FC0 +4440 +7FC0 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_347A +ENCODING 13434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +5880 +CFE0 +4880 +4FE0 +5FC0 +4880 +49E0 +5020 +60C0 +ENDCHAR +STARTCHAR U_347B +ENCODING 13435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2A20 +4480 +D560 +43C0 +4C00 +4100 +4920 +4920 +4FE0 +ENDCHAR +STARTCHAR U_347C +ENCODING 13436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2360 +5FA0 +D540 +55A0 +5F00 +55E0 +55A0 +5FA0 +40A0 +40E0 +ENDCHAR +STARTCHAR U_347D +ENCODING 13437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +2FE0 +6820 +A7C0 +2440 +27C0 +2100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_347E +ENCODING 13438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2DE0 +5240 +C980 +5E00 +4100 +5FE0 +4000 +4FC0 +4840 +4FC0 +ENDCHAR +STARTCHAR U_347F +ENCODING 13439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2A80 +2540 +4FE0 +C920 +4FE0 +4920 +4FE0 +4100 +4FE0 +4540 +ENDCHAR +STARTCHAR U_3480 +ENCODING 13440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2440 +6FE0 +A920 +2FE0 +2920 +2BA0 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_3481 +ENCODING 13441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +6FE0 +A920 +2FE0 +2AA0 +2FE0 +2920 +2FE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_3482 +ENCODING 13442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +1EE0 +2440 +6120 +AFE0 +2140 +2FE0 +2640 +2BC0 +2240 +23C0 +ENDCHAR +STARTCHAR U_3483 +ENCODING 13443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2FE0 +4100 +DE80 +4080 +5E80 +5280 +5E80 +5280 +5EA0 +7340 +ENDCHAR +STARTCHAR U_3484 +ENCODING 13444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +28C0 +28A0 +4E80 +CBE0 +5680 +6D40 +4A20 +5420 +4000 +4D40 +52A0 +ENDCHAR +STARTCHAR U_3485 +ENCODING 13445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2200 +6DC0 +A340 +2E40 +2180 +2E00 +22A0 +2640 +2B20 +ENDCHAR +STARTCHAR U_3486 +ENCODING 13446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +3CE0 +4FC0 +C840 +4FC0 +5EE0 +4220 +5BA0 +4220 +4AA0 +5760 +ENDCHAR +STARTCHAR U_3487 +ENCODING 13447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2FE0 +5540 +D540 +7FE0 +5540 +5540 +7FE0 +4000 +5540 +62A0 +ENDCHAR +STARTCHAR U_3488 +ENCODING 13448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3E80 +2480 +7FE0 +D540 +5F40 +5540 +5D40 +5480 +7F40 +4540 +4620 +ENDCHAR +STARTCHAR U_3489 +ENCODING 13449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +5FE0 +D020 +47C0 +4440 +47C0 +4100 +5FE0 +4100 +4940 +ENDCHAR +STARTCHAR U_348A +ENCODING 13450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2AA0 +5BA0 +CAA0 +4AA0 +5560 +4440 +5660 +5540 +5540 +7FE0 +ENDCHAR +STARTCHAR U_348B +ENCODING 13451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A60 +3F80 +4A80 +CEE0 +4AA0 +4EA0 +4AA0 +5FA0 +40A0 +4AA0 +5120 +ENDCHAR +STARTCHAR U_348C +ENCODING 13452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +3540 +4EE0 +C440 +4AA0 +5FE0 +5020 +4780 +4480 +44A0 +58E0 +ENDCHAR +STARTCHAR U_348D +ENCODING 13453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +4FC0 +C880 +5320 +5FE0 +4480 +4D00 +4240 +5FE0 +4940 +5320 +ENDCHAR +STARTCHAR U_348E +ENCODING 13454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F80 +2200 +5FC0 +C500 +4880 +5DE0 +4500 +5DC0 +4500 +5DC0 +4500 +ENDCHAR +STARTCHAR U_348F +ENCODING 13455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +54A0 +CFC0 +4480 +5FE0 +4480 +5FE0 +4B40 +5020 +4780 +ENDCHAR +STARTCHAR U_3490 +ENCODING 13456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2EE0 +5540 +C800 +4FE0 +5020 +4F20 +4920 +4F20 +4920 +4F60 +ENDCHAR +STARTCHAR U_3491 +ENCODING 13457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +3140 +5A40 +D7E0 +5A40 +57E0 +5240 +57E0 +5A40 +5BE0 +5FE0 +ENDCHAR +STARTCHAR U_3492 +ENCODING 13458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2AA0 +46C0 +DFE0 +4440 +4FE0 +4100 +47C0 +4100 +5FE0 +4940 +ENDCHAR +STARTCHAR U_3493 +ENCODING 13459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2BE0 +4080 +DBE0 +4940 +4BE0 +5080 +4BE0 +4880 +4880 +57E0 +ENDCHAR +STARTCHAR U_3494 +ENCODING 13460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +4FE0 +C400 +4FE0 +5220 +4FA0 +4AA0 +4FA0 +4260 +5FE0 +ENDCHAR +STARTCHAR U_3495 +ENCODING 13461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +4940 +CBE0 +5540 +49E0 +4940 +55E0 +4D40 +45E0 +5900 +ENDCHAR +STARTCHAR U_3496 +ENCODING 13462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3FE0 +4480 +CFC0 +4A40 +4FC0 +4A40 +5FE0 +52A0 +57A0 +5060 +ENDCHAR +STARTCHAR U_3497 +ENCODING 13463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FC0 +4480 +C780 +4480 +5FE0 +57A0 +4200 +4FC0 +4200 +5FE0 +ENDCHAR +STARTCHAR U_3498 +ENCODING 13464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3EE0 +34A0 +5EA0 +D240 +5E40 +54A0 +5F20 +4100 +4FE0 +4100 +5FE0 +ENDCHAR +STARTCHAR U_3499 +ENCODING 13465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2BE0 +5220 +D7E0 +4A20 +4BE0 +5480 +4BE0 +42A0 +56A0 +5080 +ENDCHAR +STARTCHAR U_349A +ENCODING 13466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +5FE0 +C100 +5FE0 +4040 +5FE0 +4040 +4FC0 +5520 +67A0 +ENDCHAR +STARTCHAR U_349B +ENCODING 13467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2220 +4AA0 +C660 +4AA0 +4900 +5FE0 +4900 +4FE0 +4900 +4FE0 +ENDCHAR +STARTCHAR U_349C +ENCODING 13468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E60 +2BA0 +4E60 +CBA0 +4CE0 +4AA0 +4AA0 +5FE0 +4000 +4840 +5020 +ENDCHAR +STARTCHAR U_349D +ENCODING 13469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +3DC0 +4500 +DFC0 +5540 +5FC0 +4280 +5FE0 +5940 +55A0 +62C0 +ENDCHAR +STARTCHAR U_349E +ENCODING 13470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2FE0 +4500 +DFE0 +4900 +4FE0 +4900 +5FE0 +54A0 +57A0 +5060 +ENDCHAR +STARTCHAR U_349F +ENCODING 13471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +4900 +CFC0 +4900 +4FE0 +5520 +5560 +4E40 +5980 +4C60 +ENDCHAR +STARTCHAR U_34A0 +ENCODING 13472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +16E0 +24A0 +2F40 +7AA0 +A6C0 +2A80 +3EE0 +2280 +2EE0 +2280 +2FE0 +ENDCHAR +STARTCHAR U_34A1 +ENCODING 13473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +2C80 +22E0 +6E40 +6080 +AEE0 +3440 +2EC0 +2560 +2A40 +2EC0 +ENDCHAR +STARTCHAR U_34A2 +ENCODING 13474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2700 +2A80 +5FC0 +7560 +DFC0 +4000 +5FC0 +5540 +5FC0 +5540 +50C0 +ENDCHAR +STARTCHAR U_34A3 +ENCODING 13475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +5540 +D7E0 +5D40 +55E0 +5540 +55E0 +5280 +5620 +6BC0 +ENDCHAR +STARTCHAR U_34A4 +ENCODING 13476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2880 +4F80 +7FE0 +C080 +7FE0 +5540 +5DC0 +5540 +7FE0 +4440 +ENDCHAR +STARTCHAR U_34A5 +ENCODING 13477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6AA0 +7FE0 +6AA0 +FFE0 +6AA0 +7FE0 +5FC0 +5040 +5FC0 +4880 +7FE0 +ENDCHAR +STARTCHAR U_34A6 +ENCODING 13478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F80 +4A80 +4F80 +CA80 +7FE0 +6AA0 +7FE0 +6AA0 +5FC0 +4200 +7FE0 +ENDCHAR +STARTCHAR U_34A7 +ENCODING 13479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +5D40 +4B00 +D5E0 +5D40 +49E0 +5D40 +55E0 +5540 +5DE0 +5500 +ENDCHAR +STARTCHAR U_34A8 +ENCODING 13480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3A60 +57A0 +5DE0 +D6A0 +5DE0 +4680 +5FE0 +4D40 +5720 +4440 +47C0 +ENDCHAR +STARTCHAR U_34A9 +ENCODING 13481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2480 +5FE0 +4540 +DA80 +4540 +5FE0 +5540 +5FE0 +4440 +5EE0 +ENDCHAR +STARTCHAR U_34AA +ENCODING 13482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0600 +1980 +6060 +FBC0 +4200 +7BC0 +2000 +B7E0 +A140 +BAA0 +C580 +ENDCHAR +STARTCHAR U_34AB +ENCODING 13483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +3FC0 +2000 +3F80 +2000 +FFE0 +1200 +1200 +1200 +2220 +C1E0 +ENDCHAR +STARTCHAR U_34AC +ENCODING 13484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +73E0 +0080 +0080 +FBE0 +5080 +5080 +53E0 +5000 +8820 +87E0 +ENDCHAR +STARTCHAR U_34AD +ENCODING 13485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FBE0 +8A20 +8A20 +FBE0 +5140 +5140 +5140 +5A40 +9240 +8460 +ENDCHAR +STARTCHAR U_34AE +ENCODING 13486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +03C0 +7100 +06A0 +F9C0 +5280 +55E0 +52A0 +5180 +8820 +87E0 +ENDCHAR +STARTCHAR U_34AF +ENCODING 13487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2EE0 +B440 +6FE0 +2540 +FFE0 +5540 +5FE0 +5900 +57C0 +8100 +ENDCHAR +STARTCHAR U_34B0 +ENCODING 13488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3800 +0400 +0A00 +1100 +2080 +C060 +3F80 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_34B1 +ENCODING 13489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +0400 +0A00 +1100 +2480 +CF60 +1100 +6D00 +0200 +0C00 +7000 +ENDCHAR +STARTCHAR U_34B2 +ENCODING 13490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +0400 +0A00 +3180 +C060 +3F80 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_34B3 +ENCODING 13491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +8420 +C620 +A520 +A520 +D6A0 +CE60 +8420 +84A0 +8040 +ENDCHAR +STARTCHAR U_34B4 +ENCODING 13492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +0600 +1900 +60C0 +8420 +2480 +2480 +3F80 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_34B5 +ENCODING 13493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0800 +1000 +7F80 +4080 +7F80 +4080 +7F80 +0000 +2100 +40C0 +8040 +ENDCHAR +STARTCHAR U_34B6 +ENCODING 13494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +1100 +1100 +2080 +C860 +1000 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_34B7 +ENCODING 13495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +2480 +2480 +2A80 +3280 +2080 +FFE0 +0000 +1100 +60C0 +ENDCHAR +STARTCHAR U_34B8 +ENCODING 13496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +FFE0 +0400 +0840 +7480 +0B00 +7280 +0640 +FA20 +0600 +ENDCHAR +STARTCHAR U_34B9 +ENCODING 13497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +8A20 +AAA0 +AAA0 +AAA0 +FFE0 +5140 +8A20 +ENDCHAR +STARTCHAR U_34BA +ENCODING 13498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +8A20 +FFE0 +8420 +A420 +AA20 +B120 +A020 +BFA0 +8060 +ENDCHAR +STARTCHAR U_34BB +ENCODING 13499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +8080 +BE80 +8080 +7F00 +4100 +7F00 +4100 +7F00 +2240 +C3C0 +ENDCHAR +STARTCHAR U_34BC +ENCODING 13500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F00 +0400 +7FC0 +6640 +5540 +6EC0 +4440 +44C0 +ENDCHAR +STARTCHAR U_34BD +ENCODING 13501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +5F40 +1500 +3F80 +0800 +7FC0 +2080 +DF60 +1140 +1FC0 +ENDCHAR +STARTCHAR U_34BE +ENCODING 13502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +5F40 +2400 +F7E0 +4A80 +77E0 +52A0 +52A0 +5200 +B1E0 +ENDCHAR +STARTCHAR U_34BF +ENCODING 13503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +5F40 +2180 +FBE0 +DE80 +ABE0 +FA80 +ABE0 +FA80 +8BE0 +ENDCHAR +STARTCHAR U_34C0 +ENCODING 13504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +8440 +0400 +0600 +0500 +0480 +0480 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_34C1 +ENCODING 13505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 3 +BITMAP +7FE0 +4040 +9100 +1080 +2040 +4040 +ENDCHAR +STARTCHAR U_34C2 +ENCODING 13506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +B920 +07E0 +F940 +5240 +5440 +5280 +5100 +56E0 +8FE0 +ENDCHAR +STARTCHAR U_34C3 +ENCODING 13507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9020 +78C0 +0700 +7900 +0100 +79C0 +0700 +7900 +4920 +78E0 +ENDCHAR +STARTCHAR U_34C4 +ENCODING 13508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4BE0 +FAA0 +4AA0 +9480 +FC80 +20C0 +DCC0 +3140 +4940 +F660 +ENDCHAR +STARTCHAR U_34C5 +ENCODING 13509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +4FE0 +2100 +2100 +0100 +0100 +2100 +C100 +4100 +4100 +4300 +ENDCHAR +STARTCHAR U_34C6 +ENCODING 13510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +2500 +0880 +3060 +0480 +4500 +4600 +C400 +4420 +47E0 +ENDCHAR +STARTCHAR U_34C7 +ENCODING 13511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +8F00 +4200 +0200 +1FE0 +0200 +2200 +4500 +4480 +8840 +1020 +ENDCHAR +STARTCHAR U_34C8 +ENCODING 13512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +9FE0 +4200 +0200 +0400 +0FC0 +1440 +4440 +4440 +87C0 +0400 +ENDCHAR +STARTCHAR U_34C9 +ENCODING 13513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +8F00 +4200 +0200 +1FE0 +0200 +2FC0 +4840 +4840 +8FC0 +0800 +ENDCHAR +STARTCHAR U_34CA +ENCODING 13514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +2BA0 +0820 +0BA0 +0AA0 +2AA0 +CAA0 +4BA0 +4820 +4860 +ENDCHAR +STARTCHAR U_34CB +ENCODING 13515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +4480 +2FC0 +2480 +0480 +0480 +3FE0 +C000 +4480 +4840 +5020 +ENDCHAR +STARTCHAR U_34CC +ENCODING 13516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4200 +2500 +0880 +3060 +0F80 +2200 +CF80 +4200 +4200 +5FE0 +ENDCHAR +STARTCHAR U_34CD +ENCODING 13517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +2400 +2480 +08C0 +0F40 +2500 +C500 +4500 +4920 +50E0 +ENDCHAR +STARTCHAR U_34CE +ENCODING 13518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +4040 +2FE0 +2040 +1FE0 +1020 +2FC0 +C440 +4280 +4100 +4EE0 +ENDCHAR +STARTCHAR U_34CF +ENCODING 13519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +5020 +54A0 +1860 +1020 +57A0 +54A0 +D4A0 +57A0 +5020 +5060 +ENDCHAR +STARTCHAR U_34D0 +ENCODING 13520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +47C0 +2100 +2FE0 +0440 +0440 +2960 +C100 +47C0 +4100 +4FE0 +ENDCHAR +STARTCHAR U_34D1 +ENCODING 13521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +2100 +2FE0 +0440 +0FE0 +2100 +CFE0 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_34D2 +ENCODING 13522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +22E0 +1F00 +E220 +41E0 +0400 +1B00 +E4E0 +2480 +4540 +0C80 +ENDCHAR +STARTCHAR U_34D3 +ENCODING 13523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4FE0 +2100 +2FE0 +0AA0 +0FE0 +2920 +CFE0 +4920 +4920 +4960 +ENDCHAR +STARTCHAR U_34D4 +ENCODING 13524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4E40 +2BE0 +2E40 +0A40 +0F40 +2AC0 +DE40 +4640 +4A40 +56C0 +ENDCHAR +STARTCHAR U_34D5 +ENCODING 13525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +4FE0 +2880 +2F80 +0AA0 +0FA0 +2A40 +CA40 +4D40 +50E0 +5320 +ENDCHAR +STARTCHAR U_34D6 +ENCODING 13526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FC0 +5240 +5FC0 +1240 +1FC0 +0A80 +3FE0 +CA80 +5FC0 +4200 +5FC0 +ENDCHAR +STARTCHAR U_34D7 +ENCODING 13527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +85E0 +5EA0 +44A0 +1EA0 +0520 +1E60 +44A0 +CF00 +4240 +5FA0 +4A80 +ENDCHAR +STARTCHAR U_34D8 +ENCODING 13528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5F40 +4840 +77C0 +5540 +7E40 +5F40 +4440 +5F40 +8460 +BFA0 +ENDCHAR +STARTCHAR U_34D9 +ENCODING 13529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +8420 +BFA0 +9120 +8A20 +8A20 +8420 +8A20 +9120 +A0A0 +FFE0 +ENDCHAR +STARTCHAR U_34DA +ENCODING 13530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +7C20 +1120 +1120 +1120 +1120 +1520 +1920 +F020 +40A0 +0040 +ENDCHAR +STARTCHAR U_34DB +ENCODING 13531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +03E0 +7D20 +1120 +1120 +1120 +1520 +F920 +4220 +04A0 +1840 +ENDCHAR +STARTCHAR U_34DC +ENCODING 13532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +4920 +9120 +E120 +2120 +4120 +8920 +F620 +04A0 +1840 +ENDCHAR +STARTCHAR U_34DD +ENCODING 13533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2820 +2920 +7D20 +2920 +2920 +2920 +7D20 +2920 +2820 +48A0 +8840 +ENDCHAR +STARTCHAR U_34DE +ENCODING 13534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3920 +E120 +2120 +3920 +E120 +2120 +3920 +E220 +24A0 +2840 +ENDCHAR +STARTCHAR U_34DF +ENCODING 13535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0820 +7E20 +4AA0 +48A0 +7EA0 +62A0 +54A0 +48A0 +5420 +A220 +8060 +ENDCHAR +STARTCHAR U_34E0 +ENCODING 13536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +2020 +3D20 +2120 +2120 +2120 +FD20 +8520 +8420 +FCE0 +8440 +ENDCHAR +STARTCHAR U_34E1 +ENCODING 13537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6020 +4020 +7EA0 +90A0 +10A0 +FEA0 +10A0 +92A0 +9220 +92E0 +FE40 +ENDCHAR +STARTCHAR U_34E2 +ENCODING 13538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +4020 +7EA0 +C4A0 +24A0 +18A0 +66A0 +82A0 +7C20 +44E0 +7C40 +ENDCHAR +STARTCHAR U_34E3 +ENCODING 13539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +1020 +2920 +4520 +8320 +7D20 +0120 +7D20 +4420 +44E0 +7C20 +ENDCHAR +STARTCHAR U_34E4 +ENCODING 13540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +1020 +10A0 +FEA0 +10A0 +7CA0 +00A0 +7CA0 +4420 +44E0 +7C20 +ENDCHAR +STARTCHAR U_34E5 +ENCODING 13541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +2420 +AD20 +7120 +2120 +FD20 +0520 +FD20 +0420 +FDE0 +0040 +ENDCHAR +STARTCHAR U_34E6 +ENCODING 13542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +1020 +2120 +4120 +FD20 +8520 +8520 +FD20 +8420 +85E0 +FC40 +ENDCHAR +STARTCHAR U_34E7 +ENCODING 13543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +1820 +24A0 +52A0 +88A0 +7CA0 +08A0 +10A0 +7C20 +44A0 +7C40 +ENDCHAR +STARTCHAR U_34E8 +ENCODING 13544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +1020 +FEA0 +10A0 +54A0 +54A0 +BAA0 +92A0 +2820 +44E0 +8440 +ENDCHAR +STARTCHAR U_34E9 +ENCODING 13545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +3C20 +48A0 +90A0 +7EA0 +52A0 +7EA0 +52A0 +7EA0 +5220 +9660 +ENDCHAR +STARTCHAR U_34EA +ENCODING 13546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +8920 +F920 +8920 +F920 +8120 +A120 +9120 +EA20 +8C60 +ENDCHAR +STARTCHAR U_34EB +ENCODING 13547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE20 +28A0 +44A0 +82A0 +7CA0 +28A0 +FEA0 +28A0 +2820 +4860 +ENDCHAR +STARTCHAR U_34EC +ENCODING 13548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +5420 +FEA0 +10A0 +FEA0 +28A0 +44A0 +FEA0 +24A0 +2420 +CC60 +ENDCHAR +STARTCHAR U_34ED +ENCODING 13549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +44A0 +7CA0 +44A0 +7CA0 +20A0 +7EA0 +D2A0 +6AA0 +7A20 +0660 +ENDCHAR +STARTCHAR U_34EE +ENCODING 13550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +9220 +BAA0 +92A0 +FEA0 +82A0 +BAA0 +AAA0 +BA20 +8220 +8660 +ENDCHAR +STARTCHAR U_34EF +ENCODING 13551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A20 +2A20 +5420 +A8A0 +54A0 +2AA0 +FEA0 +92A0 +FEA0 +9220 +FE60 +ENDCHAR +STARTCHAR U_34F0 +ENCODING 13552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF20 +1020 +7CA0 +54A0 +D6A0 +FEA0 +D6A0 +D6A0 +FE20 +8220 +FE60 +ENDCHAR +STARTCHAR U_34F1 +ENCODING 13553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +2820 +C6A0 +78A0 +02A0 +E2A0 +AAA0 +EAA0 +AA20 +E220 +A660 +ENDCHAR +STARTCHAR U_34F2 +ENCODING 13554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E20 +7020 +40A0 +7EA0 +42A0 +7EA0 +40A0 +7EA0 +6A20 +7E20 +AA60 +ENDCHAR +STARTCHAR U_34F3 +ENCODING 13555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +4420 +7CA0 +44A0 +7CA0 +00A0 +FEA0 +10A0 +5C20 +5020 +BE60 +ENDCHAR +STARTCHAR U_34F4 +ENCODING 13556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +2020 +FEA0 +AAA0 +AAA0 +AAA0 +10A0 +FEA0 +1020 +28A0 +C640 +ENDCHAR +STARTCHAR U_34F5 +ENCODING 13557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE20 +AA20 +EEA0 +00A0 +7CA0 +00A0 +FEA0 +20A0 +3C20 +0420 +3860 +ENDCHAR +STARTCHAR U_34F6 +ENCODING 13558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E20 +EA20 +4AA0 +EAA0 +4AA0 +F6A0 +50A0 +FEA0 +2820 +4420 +8260 +ENDCHAR +STARTCHAR U_34F7 +ENCODING 13559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +7C20 +44A0 +7CA0 +44A0 +7CA0 +10A0 +FEA0 +1020 +5420 +9260 +ENDCHAR +STARTCHAR U_34F8 +ENCODING 13560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE20 +AA20 +AAA0 +EEA0 +28A0 +EEA0 +82A0 +EEA0 +2820 +2820 +FE60 +ENDCHAR +STARTCHAR U_34F9 +ENCODING 13561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F20 +4820 +6AA0 +5CA0 +48A0 +76A0 +48A0 +6AA0 +5C20 +4820 +B660 +ENDCHAR +STARTCHAR U_34FA +ENCODING 13562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E20 +0820 +7EA0 +4AA0 +7CA0 +48A0 +7EA0 +54A0 +5420 +4820 +B660 +ENDCHAR +STARTCHAR U_34FB +ENCODING 13563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +AA20 +AAA0 +FEA0 +00A0 +FEA0 +10A0 +5CA0 +5020 +5E20 +F060 +ENDCHAR +STARTCHAR U_34FC +ENCODING 13564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FF20 +38A0 +54A0 +92A0 +28A0 +C6A0 +92A0 +5420 +9220 +3060 +ENDCHAR +STARTCHAR U_34FD +ENCODING 13565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9220 +FE20 +10A0 +FEA0 +82A0 +7CA0 +00A0 +FEA0 +1020 +5420 +9260 +ENDCHAR +STARTCHAR U_34FE +ENCODING 13566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E20 +4220 +7EA0 +6AA0 +5CA0 +6AA0 +48A0 +5CA0 +6820 +BEA0 +8840 +ENDCHAR +STARTCHAR U_34FF +ENCODING 13567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3C20 +0820 +FFA0 +1CA0 +2AA0 +D5A0 +2AA0 +6BA0 +9C20 +2AA0 +1860 +ENDCHAR +STARTCHAR U_3500 +ENCODING 13568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3E20 +2220 +3EA0 +08A0 +FFA0 +3EA0 +22A0 +3EA0 +0820 +2AA0 +5960 +ENDCHAR +STARTCHAR U_3501 +ENCODING 13569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E920 +A6A0 +4320 +BD20 +00A0 +7EA0 +42A0 +7EA0 +4220 +24A0 +FF40 +ENDCHAR +STARTCHAR U_3502 +ENCODING 13570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9220 +5420 +FEA0 +54A0 +92A0 +54A0 +64A0 +BEA0 +54A0 +5F20 +8460 +ENDCHAR +STARTCHAR U_3503 +ENCODING 13571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +9120 +F7E0 +4520 +97E0 +F400 +AFE0 +0000 +FFE0 +0820 +7060 +ENDCHAR +STARTCHAR U_3504 +ENCODING 13572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +2820 +FEA0 +AAA0 +FEA0 +10A0 +54A0 +FEA0 +10A0 +5420 +9260 +ENDCHAR +STARTCHAR U_3505 +ENCODING 13573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +7C20 +1420 +FEA0 +14A0 +7EA0 +52A0 +7EA0 +5220 +7620 +B260 +ENDCHAR +STARTCHAR U_3506 +ENCODING 13574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +EE20 +AAA0 +EEA0 +55A0 +AAA0 +7CA0 +44A0 +7C20 +44A0 +7C40 +ENDCHAR +STARTCHAR U_3507 +ENCODING 13575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EA20 +2CA0 +ABA0 +44A0 +EEA0 +2AA0 +F1A0 +8EA0 +EA20 +24A0 +6B40 +ENDCHAR +STARTCHAR U_3508 +ENCODING 13576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2820 +FE20 +28A0 +00A0 +28A0 +EEA0 +28A0 +EEA0 +2820 +EE20 +2860 +ENDCHAR +STARTCHAR U_3509 +ENCODING 13577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E20 +4220 +7EA0 +5CA0 +6AA0 +7EA0 +48A0 +7E20 +AA20 +BEA0 +A240 +ENDCHAR +STARTCHAR U_350A +ENCODING 13578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE20 +00A0 +FEA0 +BAA0 +82A0 +FEA0 +44A0 +7C20 +4420 +FE60 +ENDCHAR +STARTCHAR U_350B +ENCODING 13579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F420 +A720 +F420 +98A0 +F0A0 +A7A0 +F0A0 +00A0 +7F20 +5520 +FFE0 +ENDCHAR +STARTCHAR U_350C +ENCODING 13580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE20 +A220 +EAA0 +A4A0 +EAA0 +30A0 +06A0 +F820 +5420 +BAA0 +1060 +ENDCHAR +STARTCHAR U_350D +ENCODING 13581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +7720 +AAA0 +7EA0 +5AA0 +5AA0 +7EA0 +2420 +FE20 +24A0 +4440 +ENDCHAR +STARTCHAR U_350E +ENCODING 13582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A880 +FBE0 +4140 +FBE0 +8880 +FBE0 +8880 +F880 +7FE0 +0820 +7060 +ENDCHAR +STARTCHAR U_350F +ENCODING 13583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF20 +2020 +7EA0 +A2A0 +3EA0 +00A0 +FFA0 +44A0 +FF20 +5520 +7760 +ENDCHAR +STARTCHAR U_3510 +ENCODING 13584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7BA0 +A520 +FEA0 +28A0 +EEA0 +28A0 +EEA0 +2820 +EE20 +FE60 +ENDCHAR +STARTCHAR U_3511 +ENCODING 13585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FBE0 +5100 +8080 +FBE0 +8940 +FBE0 +8880 +FFE0 +1020 +E060 +ENDCHAR +STARTCHAR U_3512 +ENCODING 13586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9220 +FE20 +48A0 +FEA0 +48A0 +7EA0 +48A0 +FEA0 +BA20 +EE20 +BA60 +ENDCHAR +STARTCHAR U_3513 +ENCODING 13587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C80 +F080 +13E0 +10A0 +FCA0 +10A0 +10A0 +10A0 +10A0 +1120 +1660 +ENDCHAR +STARTCHAR U_3514 +ENCODING 13588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FDE0 +2520 +2520 +4520 +8DE0 +0000 +3F80 +4040 +4040 +3F80 +ENDCHAR +STARTCHAR U_3515 +ENCODING 13589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7D00 +83E0 +7D20 +0120 +F920 +0920 +0920 +0A20 +0A20 +0460 +ENDCHAR +STARTCHAR U_3516 +ENCODING 13590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FDE0 +2520 +2520 +2520 +CDE0 +0000 +7FC0 +0040 +0040 +0040 +ENDCHAR +STARTCHAR U_3517 +ENCODING 13591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2880 +FE80 +2BE0 +FEA0 +A8A0 +FEA0 +2AA0 +2AA0 +2EA0 +4960 +ENDCHAR +STARTCHAR U_3518 +ENCODING 13592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +A900 +AFE0 +F920 +2120 +A920 +A920 +AA20 +FAA0 +8C40 +ENDCHAR +STARTCHAR U_3519 +ENCODING 13593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +4880 +FC80 +4BE0 +48A0 +48A0 +FCA0 +4920 +4920 +4920 +8A60 +ENDCHAR +STARTCHAR U_351A +ENCODING 13594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +0840 +3040 +5080 +1480 +FBE0 +1120 +7920 +4A40 +3A40 +24C0 +ENDCHAR +STARTCHAR U_351B +ENCODING 13595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +2080 +3F80 +0400 +FFE0 +0420 +0820 +F0C0 +ENDCHAR +STARTCHAR U_351C +ENCODING 13596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +E500 +5500 +2BE0 +7D20 +0920 +1120 +1D20 +F220 +1220 +34C0 +ENDCHAR +STARTCHAR U_351D +ENCODING 13597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +1080 +11E0 +FEA0 +92A0 +DAA0 +B6A0 +DAA0 +92A0 +9320 +9640 +ENDCHAR +STARTCHAR U_351E +ENCODING 13598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C80 +E080 +11E0 +FEA0 +10A0 +54A0 +D6A0 +54A0 +D6A0 +1120 +1140 +ENDCHAR +STARTCHAR U_351F +ENCODING 13599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +7FC0 +9140 +7FC0 +1140 +FE60 +0400 +FFE0 +0420 +1820 +E060 +ENDCHAR +STARTCHAR U_3520 +ENCODING 13600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +8480 +FC80 +87E0 +FCA0 +40A0 +7CA0 +9520 +AD20 +F520 +0A40 +ENDCHAR +STARTCHAR U_3521 +ENCODING 13601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +FE80 +ABE0 +92A0 +FEA0 +00A0 +88A0 +ED20 +8920 +A920 +CE60 +ENDCHAR +STARTCHAR U_3522 +ENCODING 13602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +9440 +63E0 +62A0 +F3E0 +0A00 +ABE0 +0400 +FFE0 +1020 +60C0 +ENDCHAR +STARTCHAR U_3523 +ENCODING 13603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +5480 +7DE0 +54A0 +7CA0 +00A0 +FEA0 +AAA0 +FEA0 +AAA0 +FF60 +ENDCHAR +STARTCHAR U_3524 +ENCODING 13604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +8280 +7DE0 +54A0 +FEA0 +54A0 +D6A0 +7CA0 +5520 +7E60 +ENDCHAR +STARTCHAR U_3525 +ENCODING 13605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +AA80 +FE80 +49E0 +AEA0 +E8A0 +A6A0 +E8A0 +AEA0 +E8A0 +A760 +ENDCHAR +STARTCHAR U_3526 +ENCODING 13606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +FC80 +2080 +FBE0 +20A0 +FCA0 +50A0 +FD20 +6920 +5120 +6A60 +ENDCHAR +STARTCHAR U_3527 +ENCODING 13607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3C80 +2080 +FE80 +A5E0 +F8A0 +A0A0 +BCA0 +A4A0 +BCA0 +A520 +7E60 +ENDCHAR +STARTCHAR U_3528 +ENCODING 13608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8A20 +3BA0 +0A20 +7BE0 +0020 +1F20 +1120 +1F20 +1120 +2360 +ENDCHAR +STARTCHAR U_3529 +ENCODING 13609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4420 +BFA0 +0420 +7FA0 +1220 +7FA0 +54A0 +FFA0 +0060 +ENDCHAR +STARTCHAR U_352A +ENCODING 13610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4820 +8F20 +0820 +7FA0 +55A0 +4AA0 +6DA0 +52A0 +7FE0 +ENDCHAR +STARTCHAR U_352B +ENCODING 13611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +FFE0 +0800 +0800 +1420 +14C0 +2700 +2400 +4420 +83E0 +ENDCHAR +STARTCHAR U_352C +ENCODING 13612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +7E00 +4020 +3FE0 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_352D +ENCODING 13613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +87C0 +8440 +87C0 +F440 +87C0 +8000 +9FE0 +8100 +A5C0 +C500 +1BE0 +ENDCHAR +STARTCHAR U_352E +ENCODING 13614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +FA60 +5540 +FF40 +A860 +FF00 +2540 +FF60 +2540 +5740 +8560 +ENDCHAR +STARTCHAR U_352F +ENCODING 13615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8000 +9F80 +9080 +A060 +DF80 +9080 +9080 +9F80 +8000 +FFE0 +ENDCHAR +STARTCHAR U_3530 +ENCODING 13616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9100 +9100 +9D00 +A580 +D540 +8920 +9100 +A100 +C100 +FFE0 +ENDCHAR +STARTCHAR U_3531 +ENCODING 13617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8A00 +B2C0 +A240 +BAC0 +A240 +BFC0 +8200 +8D80 +B040 +FFE0 +ENDCHAR +STARTCHAR U_3532 +ENCODING 13618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9100 +A900 +D3C0 +B940 +A940 +B940 +A140 +A960 +B200 +FFE0 +ENDCHAR +STARTCHAR U_3533 +ENCODING 13619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9000 +AB80 +D280 +BA80 +AA80 +BA80 +A2A0 +AAA0 +B460 +FFE0 +ENDCHAR +STARTCHAR U_3534 +ENCODING 13620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A480 +BF80 +A480 +BF80 +8A00 +BF80 +8A00 +BFC0 +9080 +FFE0 +ENDCHAR +STARTCHAR U_3535 +ENCODING 13621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A540 +BDC0 +A100 +BDC0 +8900 +9F80 +8900 +BFC0 +9080 +FFE0 +ENDCHAR +STARTCHAR U_3536 +ENCODING 13622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9100 +FDC0 +AB40 +FC80 +AB60 +B9C0 +9140 +FDC0 +9220 +FFE0 +ENDCHAR +STARTCHAR U_3537 +ENCODING 13623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8000 +BFC0 +8400 +BFC0 +A440 +AA40 +B140 +A0C0 +8000 +FFE0 +ENDCHAR +STARTCHAR U_3538 +ENCODING 13624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8040 +BF80 +A200 +AFC0 +AA40 +AF80 +AA00 +ABA0 +D4A0 +FFE0 +ENDCHAR +STARTCHAR U_3539 +ENCODING 13625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27E0 +F120 +2120 +2120 +2120 +2220 +2220 +24A0 +2840 +ENDCHAR +STARTCHAR U_353A +ENCODING 13626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +2480 +2080 +FBE0 +2080 +2080 +2020 +1FE0 +ENDCHAR +STARTCHAR U_353B +ENCODING 13627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0200 +0400 +1D80 +E460 +0400 +0000 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_353C +ENCODING 13628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +F7E0 +2C80 +37E0 +E480 +27E0 +2480 +67E0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_353D +ENCODING 13629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0F80 +0800 +0800 +FFE0 +8020 +9F20 +9120 +9F20 +8020 +FFE0 +ENDCHAR +STARTCHAR U_353E +ENCODING 13630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF00 +8100 +8100 +8100 +8100 +8500 +8200 +8000 +8040 +8040 +7FC0 +ENDCHAR +STARTCHAR U_353F +ENCODING 13631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2080 +2080 +2080 +2080 +2080 +2080 +2780 +3880 +0080 +0080 +ENDCHAR +STARTCHAR U_3540 +ENCODING 13632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FF80 +8880 +FF80 +8880 +FF80 +0000 +FF00 +8100 +8240 +7FC0 +ENDCHAR +STARTCHAR U_3541 +ENCODING 13633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +85E0 +4920 +3120 +CD20 +2120 +FD20 +2120 +5120 +5160 +A500 +7D00 +ENDCHAR +STARTCHAR U_3542 +ENCODING 13634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4200 +4500 +58C0 +6020 +4400 +4200 +5FC0 +4080 +4100 +8200 +ENDCHAR +STARTCHAR U_3543 +ENCODING 13635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5FE0 +4480 +4480 +5FE0 +4480 +4480 +4480 +4880 +9080 +ENDCHAR +STARTCHAR U_3544 +ENCODING 13636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5FE0 +4400 +4880 +5F00 +4200 +4400 +4840 +93E0 +9C20 +ENDCHAR +STARTCHAR U_3545 +ENCODING 13637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5FC0 +5240 +5240 +5FC0 +5240 +5FC0 +4200 +4200 +8200 +ENDCHAR +STARTCHAR U_3546 +ENCODING 13638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4200 +4200 +7FE0 +4200 +4200 +5FC0 +5040 +5040 +5040 +9FC0 +ENDCHAR +STARTCHAR U_3547 +ENCODING 13639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4400 +4200 +5FC0 +4000 +4880 +4880 +4880 +4500 +4500 +BFE0 +ENDCHAR +STARTCHAR U_3548 +ENCODING 13640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4400 +4200 +7FE0 +4400 +4A40 +7A80 +4900 +4900 +4880 +8C60 +ENDCHAR +STARTCHAR U_3549 +ENCODING 13641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4200 +4500 +4880 +7060 +4F80 +4000 +5FC0 +5040 +9040 +9FC0 +ENDCHAR +STARTCHAR U_354A +ENCODING 13642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4240 +7FE0 +4200 +5FE0 +5220 +5FE0 +5220 +5FE0 +5220 +9260 +ENDCHAR +STARTCHAR U_354B +ENCODING 13643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4200 +4500 +4880 +7060 +4F80 +4200 +5FC0 +4200 +8A80 +BFE0 +ENDCHAR +STARTCHAR U_354C +ENCODING 13644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5FC0 +5040 +5FC0 +5040 +5FC0 +4080 +7FE0 +4880 +8180 +ENDCHAR +STARTCHAR U_354D +ENCODING 13645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +7FC0 +4000 +4A00 +5100 +77C0 +5100 +57C0 +5100 +57C0 +5100 +97C0 +ENDCHAR +STARTCHAR U_354E +ENCODING 13646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4200 +4F80 +4200 +5FC0 +4480 +4FC0 +4000 +5FC0 +5540 +BFE0 +ENDCHAR +STARTCHAR U_354F +ENCODING 13647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5C40 +4140 +5C40 +5540 +5C40 +41E0 +5440 +4840 +9C40 +ENDCHAR +STARTCHAR U_3550 +ENCODING 13648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4400 +59C0 +5040 +5DC0 +5000 +5FE0 +4020 +5520 +6AA0 +8060 +ENDCHAR +STARTCHAR U_3551 +ENCODING 13649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +4840 +5C40 +49E0 +5C40 +5540 +5C40 +5440 +48C0 +9C40 +ENDCHAR +STARTCHAR U_3552 +ENCODING 13650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4880 +5FC0 +4200 +5FC0 +4920 +5FC0 +4940 +5C80 +48A0 +9940 +ENDCHAR +STARTCHAR U_3553 +ENCODING 13651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5240 +5540 +5FC0 +4200 +7FE0 +5540 +6220 +5FC0 +4200 +BFE0 +ENDCHAR +STARTCHAR U_3554 +ENCODING 13652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +54C0 +5FE0 +56A0 +5FE0 +5400 +5FE0 +7620 +5D40 +55A0 +A640 +ENDCHAR +STARTCHAR U_3555 +ENCODING 13653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +1000 +2200 +4100 +FF80 +0840 +1000 +2200 +4100 +FF80 +0040 +ENDCHAR +STARTCHAR U_3556 +ENCODING 13654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1200 +3F00 +1080 +2940 +7BE0 +0400 +FFE0 +1500 +2480 +4440 +ENDCHAR +STARTCHAR U_3557 +ENCODING 13655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +FE00 +1080 +7C80 +1100 +FD40 +1240 +3FE0 +4420 +9800 +27E0 +ENDCHAR +STARTCHAR U_3558 +ENCODING 13656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +3F80 +2080 +5140 +FBE0 +0400 +1B00 +2480 +CE60 +1500 +2C80 +ENDCHAR +STARTCHAR U_3559 +ENCODING 13657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +51C0 +FA40 +5080 +9BE0 +22A0 +7BE0 +D080 +21C0 +52A0 +8CE0 +ENDCHAR +STARTCHAR U_355A +ENCODING 13658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FC0 +2840 +2480 +9480 +4900 +4600 +0600 +0900 +3080 +C060 +ENDCHAR +STARTCHAR U_355B +ENCODING 13659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0080 +3100 +0E00 +3180 +C040 +7F80 +2080 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_355C +ENCODING 13660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +FF80 +8880 +8880 +FF80 +0800 +FF80 +4100 +2200 +1C00 +E380 +ENDCHAR +STARTCHAR U_355D +ENCODING 13661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +4040 +7FC0 +0000 +7F80 +2080 +1F00 +E0E0 +ENDCHAR +STARTCHAR U_355E +ENCODING 13662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E00 +42E0 +7EA0 +48A0 +48A0 +7EA0 +6AA0 +AA40 +2A40 +2EA0 +0920 +ENDCHAR +STARTCHAR U_355F +ENCODING 13663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1E00 +11E0 +FEA0 +AAA0 +AAA0 +FEA0 +AA40 +AA40 +AAA0 +8720 +ENDCHAR +STARTCHAR U_3560 +ENCODING 13664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +4FE0 +3900 +0FE0 +0900 +2FE0 +4900 +BFE0 +2080 +1F00 +E0E0 +ENDCHAR +STARTCHAR U_3561 +ENCODING 13665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3800 +23E0 +FD20 +8520 +7920 +30C0 +48C0 +78C0 +B540 +4920 +7A20 +ENDCHAR +STARTCHAR U_3562 +ENCODING 13666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +2020 +FD20 +8520 +7940 +4940 +7880 +4880 +7880 +4940 +8620 +ENDCHAR +STARTCHAR U_3563 +ENCODING 13667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +0900 +0900 +1080 +2080 +4040 +BFA0 +2080 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_3564 +ENCODING 13668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0200 +F200 +9F80 +9280 +9280 +9280 +9280 +F280 +04A0 +18E0 +ENDCHAR +STARTCHAR U_3565 +ENCODING 13669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +F100 +9100 +9100 +9100 +9100 +9280 +F280 +0440 +1820 +ENDCHAR +STARTCHAR U_3566 +ENCODING 13670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +2080 +3F80 +0400 +0400 +FFE0 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_3567 +ENCODING 13671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F420 +9420 +97E0 +9400 +9400 +9400 +F400 +0400 +0800 +3000 +ENDCHAR +STARTCHAR U_3568 +ENCODING 13672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +0480 +F480 +9480 +9680 +9580 +9480 +9480 +F480 +08A0 +1060 +ENDCHAR +STARTCHAR U_3569 +ENCODING 13673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +FFE0 +9100 +9100 +97C0 +9100 +9100 +FFE0 +0100 +0100 +ENDCHAR +STARTCHAR U_356A +ENCODING 13674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +EFE0 +A920 +A920 +A100 +A280 +E280 +02A0 +0CA0 +3060 +ENDCHAR +STARTCHAR U_356B +ENCODING 13675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0FE0 +F400 +9400 +97C0 +9440 +9440 +F440 +0440 +0940 +1080 +ENDCHAR +STARTCHAR U_356C +ENCODING 13676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +0280 +F240 +9440 +9420 +9920 +9100 +9280 +F240 +04A0 +0720 +ENDCHAR +STARTCHAR U_356D +ENCODING 13677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +0300 +ED00 +A100 +A100 +AFE0 +A100 +A280 +E480 +0840 +1020 +ENDCHAR +STARTCHAR U_356E +ENCODING 13678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0440 +E820 +A440 +A440 +A280 +A280 +A100 +E280 +0440 +0820 +ENDCHAR +STARTCHAR U_356F +ENCODING 13679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +0800 +FF80 +9480 +A280 +FF80 +A280 +A280 +BE80 +8280 +8180 +ENDCHAR +STARTCHAR U_3570 +ENCODING 13680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +1E00 +E200 +A380 +BE00 +A200 +A3C0 +FE00 +A220 +0220 +01E0 +ENDCHAR +STARTCHAR U_3571 +ENCODING 13681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F240 +9FE0 +9200 +9200 +9280 +9280 +9280 +F280 +04A0 +1860 +ENDCHAR +STARTCHAR U_3572 +ENCODING 13682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +F100 +9FE0 +9100 +9380 +9380 +9540 +F540 +0920 +1120 +ENDCHAR +STARTCHAR U_3573 +ENCODING 13683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +08A0 +EAA0 +AAA0 +AAA0 +A920 +A920 +EAA0 +0C60 +0FE0 +0020 +ENDCHAR +STARTCHAR U_3574 +ENCODING 13684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1020 +E780 +A480 +A480 +A480 +A480 +A480 +E480 +08A0 +1060 +ENDCHAR +STARTCHAR U_3575 +ENCODING 13685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0100 +F100 +9100 +9100 +97C0 +9100 +F100 +0100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_3576 +ENCODING 13686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E200 +A200 +A200 +AFC0 +A240 +A240 +E440 +8440 +0440 +1FE0 +ENDCHAR +STARTCHAR U_3577 +ENCODING 13687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0200 +F7E0 +9420 +9420 +97E0 +9420 +9420 +F420 +07E0 +0420 +ENDCHAR +STARTCHAR U_3578 +ENCODING 13688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +E000 +BFE0 +A000 +A840 +A840 +E480 +A480 +0000 +3FE0 +ENDCHAR +STARTCHAR U_3579 +ENCODING 13689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F240 +9FE0 +9200 +9240 +9240 +9540 +9480 +F480 +0940 +1220 +ENDCHAR +STARTCHAR U_357A +ENCODING 13690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +4A40 +7BC0 +0000 +FFE0 +1000 +2000 +3F80 +0080 +0300 +ENDCHAR +STARTCHAR U_357B +ENCODING 13691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +0400 +1D80 +E440 +0400 +7FC0 +4040 +4040 +7FC0 +ENDCHAR +STARTCHAR U_357C +ENCODING 13692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E7E0 +A820 +B2A0 +A120 +A920 +AAA0 +E820 +AFA0 +0020 +0060 +ENDCHAR +STARTCHAR U_357D +ENCODING 13693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +0840 +EC40 +AA40 +AA40 +A840 +AA40 +EC80 +0940 +0220 +0C20 +ENDCHAR +STARTCHAR U_357E +ENCODING 13694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1500 +2480 +C460 +0400 +0000 +7A20 +4BC0 +4A00 +4A20 +7BE0 +ENDCHAR +STARTCHAR U_357F +ENCODING 13695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C00 +0400 +FFE0 +0E00 +3580 +C460 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_3580 +ENCODING 13696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +07C0 +F140 +9FE0 +9140 +97C0 +9100 +F7C0 +9100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_3581 +ENCODING 13697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0640 +0180 +E240 +A420 +A100 +AFE0 +A200 +E480 +8900 +1240 +07E0 +ENDCHAR +STARTCHAR U_3582 +ENCODING 13698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A920 +AFE0 +A920 +AFE0 +A140 +E080 +A1A0 +0260 +0C20 +ENDCHAR +STARTCHAR U_3583 +ENCODING 13699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +EF00 +A800 +A800 +AFE0 +A800 +ABE0 +EA20 +AA20 +0A20 +13E0 +ENDCHAR +STARTCHAR U_3584 +ENCODING 13700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0820 +E920 +A920 +A920 +BDA0 +AB60 +A920 +E920 +A920 +1120 +2020 +ENDCHAR +STARTCHAR U_3585 +ENCODING 13701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00A0 +0080 +EFE0 +A880 +A8A0 +AEA0 +A8C0 +E880 +90A0 +1160 +2220 +ENDCHAR +STARTCHAR U_3586 +ENCODING 13702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0280 +EFE0 +AAA0 +AAA0 +AAA0 +AFE0 +AAA0 +EAA0 +0AA0 +0FE0 +ENDCHAR +STARTCHAR U_3587 +ENCODING 13703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0200 +E400 +AFE0 +AAA0 +AAA0 +AAA0 +AAA0 +EAA0 +0AA0 +0860 +ENDCHAR +STARTCHAR U_3588 +ENCODING 13704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +3E80 +0500 +FFE0 +1900 +2E20 +C7E0 +0000 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_3589 +ENCODING 13705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E100 +A280 +A440 +A920 +A100 +A500 +E5C0 +A500 +0500 +1FE0 +ENDCHAR +STARTCHAR U_358A +ENCODING 13706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E040 +A7C0 +A040 +AFC0 +A080 +AFE0 +E480 +A280 +0080 +0180 +ENDCHAR +STARTCHAR U_358B +ENCODING 13707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +3180 +D160 +1100 +2100 +4100 +7A60 +4B80 +4A20 +79E0 +ENDCHAR +STARTCHAR U_358C +ENCODING 13708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2200 +6F80 +A280 +24A0 +28E0 +0000 +7A40 +4B80 +4A20 +79E0 +ENDCHAR +STARTCHAR U_358D +ENCODING 13709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +4900 +21E0 +FF00 +0100 +0100 +7A40 +4B80 +4A00 +7A20 +49E0 +ENDCHAR +STARTCHAR U_358E +ENCODING 13710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A40 +4B80 +4A20 +79E0 +0400 +0A00 +3180 +D160 +1100 +1100 +2100 +ENDCHAR +STARTCHAR U_358F +ENCODING 13711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0440 +F7C0 +9440 +97C0 +9000 +9100 +97C0 +F100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_3590 +ENCODING 13712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +0000 +3F80 +0480 +FFE0 +0480 +3F80 +0800 +3000 +ENDCHAR +STARTCHAR U_3591 +ENCODING 13713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +00A0 +EFE0 +A080 +AAA0 +AAA0 +BFC0 +EAC0 +0AA0 +1160 +0620 +ENDCHAR +STARTCHAR U_3592 +ENCODING 13714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0280 +EFE0 +A120 +AFE0 +A900 +AFE0 +E320 +0520 +09A0 +1140 +ENDCHAR +STARTCHAR U_3593 +ENCODING 13715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +0680 +E900 +A280 +A540 +AFE0 +B100 +E380 +A100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_3594 +ENCODING 13716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +E200 +AFC0 +A480 +A840 +B7E0 +A480 +E480 +A480 +0780 +0480 +ENDCHAR +STARTCHAR U_3595 +ENCODING 13717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0100 +EFE0 +A440 +A280 +AFE0 +A100 +E100 +A7C0 +0100 +0100 +ENDCHAR +STARTCHAR U_3596 +ENCODING 13718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +0A00 +FFE0 +0400 +7FC0 +0400 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3597 +ENCODING 13719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E920 +AFE0 +A100 +A280 +A440 +BBA0 +E000 +A7C0 +0040 +0180 +ENDCHAR +STARTCHAR U_3598 +ENCODING 13720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0800 +EFC0 +A800 +AFE0 +AA80 +AAA0 +EAC0 +AA80 +0B40 +1220 +ENDCHAR +STARTCHAR U_3599 +ENCODING 13721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +1000 +7DE0 +1520 +2520 +4DE0 +8000 +7A40 +4A80 +4B20 +7BE0 +ENDCHAR +STARTCHAR U_359A +ENCODING 13722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +27E0 +6480 +A280 +2080 +2180 +7A40 +4A80 +4B00 +4A20 +7BE0 +ENDCHAR +STARTCHAR U_359B +ENCODING 13723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FF80 +1000 +7F00 +4100 +7F00 +0000 +F480 +9700 +9440 +F7C0 +ENDCHAR +STARTCHAR U_359C +ENCODING 13724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FF80 +0000 +7F00 +4100 +7F00 +0000 +F480 +9700 +9440 +F7C0 +ENDCHAR +STARTCHAR U_359D +ENCODING 13725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0400 +FFE0 +0E00 +3580 +C460 +7A00 +4A80 +4B20 +7BE0 +ENDCHAR +STARTCHAR U_359E +ENCODING 13726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0780 +0480 +E480 +A780 +A200 +AFC0 +AA40 +EB40 +8CC0 +0840 +08C0 +ENDCHAR +STARTCHAR U_359F +ENCODING 13727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +0300 +EC20 +A920 +A4C0 +AFE0 +B020 +E7C0 +A480 +0300 +0CE0 +ENDCHAR +STARTCHAR U_35A0 +ENCODING 13728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A280 +A440 +ABA0 +A000 +AFE0 +E100 +8540 +0920 +1320 +ENDCHAR +STARTCHAR U_35A1 +ENCODING 13729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +1FE0 +E480 +A8E0 +B920 +A9A0 +AA40 +ED40 +A880 +0940 +0A20 +ENDCHAR +STARTCHAR U_35A2 +ENCODING 13730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +AA80 +AA80 +AB80 +AAA0 +AEC0 +EA80 +AB80 +0EA0 +14E0 +ENDCHAR +STARTCHAR U_35A3 +ENCODING 13731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E100 +AFE0 +A440 +A280 +AFE0 +A000 +E7C0 +A440 +0440 +07C0 +ENDCHAR +STARTCHAR U_35A4 +ENCODING 13732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +07C0 +E080 +A920 +AD60 +ABA0 +A920 +EBA0 +AD60 +0920 +0FE0 +ENDCHAR +STARTCHAR U_35A5 +ENCODING 13733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +0FE0 +E8A0 +AF20 +A920 +AFE0 +A920 +EBA0 +AD60 +0920 +0FE0 +ENDCHAR +STARTCHAR U_35A6 +ENCODING 13734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +A7C0 +A540 +A7C0 +A540 +E7C0 +A100 +0540 +0920 +ENDCHAR +STARTCHAR U_35A7 +ENCODING 13735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +0900 +EFE0 +A880 +AC60 +A000 +AFC0 +E840 +AFC0 +0840 +0FC0 +ENDCHAR +STARTCHAR U_35A8 +ENCODING 13736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E040 +A7C0 +A040 +AFE0 +A100 +AD60 +E180 +A540 +0920 +0300 +ENDCHAR +STARTCHAR U_35A9 +ENCODING 13737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +EAE0 +AAA0 +AEA0 +AAA0 +AEA0 +EAA0 +AA40 +0E40 +12A0 +0320 +ENDCHAR +STARTCHAR U_35AA +ENCODING 13738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +E0A0 +BFE0 +A080 +AEA0 +AAA0 +AEC0 +E080 +A6A0 +1960 +0220 +ENDCHAR +STARTCHAR U_35AB +ENCODING 13739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +07C0 +E100 +AFE0 +A440 +A920 +A3C0 +E640 +A980 +0340 +0C20 +ENDCHAR +STARTCHAR U_35AC +ENCODING 13740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E820 +AEE0 +A820 +AFE0 +A000 +EFE0 +A440 +0280 +0380 +0C60 +ENDCHAR +STARTCHAR U_35AD +ENCODING 13741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +0FC0 +E200 +A200 +BFE0 +A500 +AAC0 +F220 +8B40 +12A0 +0600 +ENDCHAR +STARTCHAR U_35AE +ENCODING 13742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0300 +E480 +A840 +B7A0 +A000 +AFE0 +EAA0 +AFE0 +0AA0 +0860 +ENDCHAR +STARTCHAR U_35AF +ENCODING 13743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +8080 +FF80 +A280 +BE80 +8180 +0400 +F580 +9600 +9480 +F780 +ENDCHAR +STARTCHAR U_35B0 +ENCODING 13744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FA40 +8A80 +8B00 +FA40 +8BC0 +0000 +FFC0 +8040 +BF40 +9240 +9EC0 +ENDCHAR +STARTCHAR U_35B1 +ENCODING 13745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1200 +27C0 +EA40 +2580 +2300 +2CE0 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_35B2 +ENCODING 13746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FDE0 +4920 +C920 +31E0 +CC00 +0160 +FD80 +8500 +8520 +FCE0 +ENDCHAR +STARTCHAR U_35B3 +ENCODING 13747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +8240 +4440 +2280 +4180 +8E40 +7D60 +4580 +4520 +7CE0 +ENDCHAR +STARTCHAR U_35B4 +ENCODING 13748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +A480 +A800 +AFE0 +B2A0 +A2A0 +E4A0 +1920 +0220 +0C60 +ENDCHAR +STARTCHAR U_35B5 +ENCODING 13749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +AFC0 +A840 +AFC0 +A840 +AFC0 +E840 +1FE0 +0480 +0840 +ENDCHAR +STARTCHAR U_35B6 +ENCODING 13750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0280 +EFE0 +AAA0 +AEE0 +A820 +AFE0 +E100 +87C0 +0100 +1FE0 +ENDCHAR +STARTCHAR U_35B7 +ENCODING 13751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +97C0 +9440 +97C0 +9000 +9FE0 +F100 +95C0 +0500 +0BE0 +ENDCHAR +STARTCHAR U_35B8 +ENCODING 13752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +E100 +AFE0 +A920 +AFC0 +A900 +ABC0 +AA00 +EFE0 +0A00 +13C0 +ENDCHAR +STARTCHAR U_35B9 +ENCODING 13753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +E880 +B040 +AFA0 +A480 +A480 +A980 +FFC0 +1540 +1540 +3FE0 +ENDCHAR +STARTCHAR U_35BA +ENCODING 13754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +A7C0 +A100 +AFE0 +A7C0 +EC60 +17E0 +0440 +07C0 +ENDCHAR +STARTCHAR U_35BB +ENCODING 13755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E480 +BFE0 +A320 +A500 +AB00 +A100 +FFE0 +0380 +0540 +1920 +ENDCHAR +STARTCHAR U_35BC +ENCODING 13756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0FE0 +E440 +A7C0 +A440 +A7C0 +A100 +AFE0 +E380 +0540 +1920 +ENDCHAR +STARTCHAR U_35BD +ENCODING 13757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F100 +97E0 +9420 +97E0 +9420 +97E0 +9420 +F7E0 +0240 +0420 +ENDCHAR +STARTCHAR U_35BE +ENCODING 13758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +1100 +FFE0 +0400 +4440 +4440 +7FC0 +0800 +3000 +ENDCHAR +STARTCHAR U_35BF +ENCODING 13759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +EAA0 +AAA0 +AEA0 +AAC0 +AEA0 +AAA0 +ABA0 +EEE0 +1280 +0280 +ENDCHAR +STARTCHAR U_35C0 +ENCODING 13760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0920 +EDA0 +AB60 +AFA0 +AB60 +ADA0 +EFE0 +A920 +0FE0 +0820 +ENDCHAR +STARTCHAR U_35C1 +ENCODING 13761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +AEE0 +A000 +A7C0 +A000 +AFE0 +A200 +E7C0 +0040 +01C0 +ENDCHAR +STARTCHAR U_35C2 +ENCODING 13762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0540 +E5A0 +A920 +A3C0 +A640 +BBC0 +E240 +A3C0 +0240 +03C0 +ENDCHAR +STARTCHAR U_35C3 +ENCODING 13763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +0840 +EFC0 +A900 +AFE0 +A880 +AFC0 +A840 +EFC0 +A840 +0FC0 +ENDCHAR +STARTCHAR U_35C4 +ENCODING 13764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0AA0 +EFE0 +A200 +A100 +AFE0 +A200 +E3C0 +A440 +0440 +0980 +ENDCHAR +STARTCHAR U_35C5 +ENCODING 13765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04E0 +E4A0 +AEA0 +A4A0 +A4E0 +AEA0 +AAA0 +AAE0 +EEA0 +0120 +0260 +ENDCHAR +STARTCHAR U_35C6 +ENCODING 13766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0FE0 +E440 +A7C0 +A100 +AFE0 +A920 +EFE0 +A100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_35C7 +ENCODING 13767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EA20 +AA20 +AEE0 +A800 +AEE0 +A8A0 +AE40 +E840 +08A0 +0920 +ENDCHAR +STARTCHAR U_35C8 +ENCODING 13768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +0280 +EFE0 +A920 +AFE0 +A920 +AFE0 +E920 +AFE0 +0220 +0C40 +ENDCHAR +STARTCHAR U_35C9 +ENCODING 13769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F8A0 +20A0 +F920 +2F20 +F960 +2600 +1980 +FFE0 +1080 +1F80 +ENDCHAR +STARTCHAR U_35CA +ENCODING 13770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +F780 +9480 +9480 +F780 +0000 +F780 +9480 +9480 +F780 +9480 +ENDCHAR +STARTCHAR U_35CB +ENCODING 13771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +E480 +AFE0 +AA00 +ABE0 +AA80 +AC80 +EBE0 +0880 +1140 +2620 +ENDCHAR +STARTCHAR U_35CC +ENCODING 13772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A820 +A7C0 +A280 +A440 +A7E0 +A100 +E7C0 +0100 +0FE0 +ENDCHAR +STARTCHAR U_35CD +ENCODING 13773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +EF00 +A100 +AFE0 +A380 +A540 +BFE0 +A440 +E7C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_35CE +ENCODING 13774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1EE0 +EAA0 +AAA0 +B6E0 +A100 +BFE0 +A380 +E540 +1920 +0100 +ENDCHAR +STARTCHAR U_35CF +ENCODING 13775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E100 +A300 +A540 +A920 +A100 +AFE0 +A100 +E5C0 +0500 +1FE0 +ENDCHAR +STARTCHAR U_35D0 +ENCODING 13776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E200 +AFE0 +A480 +AA40 +B120 +E000 +AFC0 +0A40 +0940 +1FE0 +ENDCHAR +STARTCHAR U_35D1 +ENCODING 13777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1BE0 +E880 +A9C0 +BC80 +A9C0 +EC80 +9BE0 +0880 +0880 +1080 +ENDCHAR +STARTCHAR U_35D2 +ENCODING 13778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +1FE0 +E000 +AFC0 +A840 +AFC0 +E220 +A540 +0C80 +1540 +0620 +ENDCHAR +STARTCHAR U_35D3 +ENCODING 13779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +0900 +EBC0 +A240 +BBC0 +AA00 +ABE0 +EA20 +ABE0 +0C00 +13E0 +ENDCHAR +STARTCHAR U_35D4 +ENCODING 13780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01E0 +F100 +97E0 +9520 +97C0 +9520 +97E0 +F540 +9540 +0480 +0B60 +ENDCHAR +STARTCHAR U_35D5 +ENCODING 13781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EFE0 +A280 +A7C0 +A280 +AFE0 +A540 +E7C0 +A540 +0FE0 +0440 +ENDCHAR +STARTCHAR U_35D6 +ENCODING 13782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +0300 +EC20 +A540 +A000 +ACE0 +A820 +AEE0 +E820 +AFE0 +0820 +ENDCHAR +STARTCHAR U_35D7 +ENCODING 13783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F7C0 +9540 +97C0 +F540 +47C0 +F200 +5500 +5FE0 +5100 +B100 +ENDCHAR +STARTCHAR U_35D8 +ENCODING 13784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0120 +EFE0 +A540 +A7C0 +A540 +A7C0 +E540 +BFE0 +0440 +0240 +00C0 +ENDCHAR +STARTCHAR U_35D9 +ENCODING 13785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07E0 +EAA0 +A3E0 +A120 +A400 +E7E0 +AAA0 +13E0 +0120 +0640 +ENDCHAR +STARTCHAR U_35DA +ENCODING 13786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E280 +AFE0 +AAA0 +AFE0 +A100 +EFE0 +A300 +0580 +0940 +1120 +ENDCHAR +STARTCHAR U_35DB +ENCODING 13787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +07E0 +EA40 +B000 +A1C0 +A700 +E100 +AFE0 +0280 +0440 +0820 +ENDCHAR +STARTCHAR U_35DC +ENCODING 13788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0FE0 +E240 +A680 +A140 +A640 +AFE0 +E920 +AFE0 +0920 +0FE0 +ENDCHAR +STARTCHAR U_35DD +ENCODING 13789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0280 +EFE0 +A100 +A7C0 +A100 +E100 +AFE0 +0000 +0AA0 +0AA0 +ENDCHAR +STARTCHAR U_35DE +ENCODING 13790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +3E40 +11E0 +F140 +BDE0 +B5A0 +F5A0 +BDA0 +1140 +2240 +04A0 +ENDCHAR +STARTCHAR U_35DF +ENCODING 13791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8200 +5FC0 +0200 +CF80 +2200 +DFC0 +4480 +F500 +9600 +F440 +97C0 +ENDCHAR +STARTCHAR U_35E0 +ENCODING 13792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F940 +4BE0 +9220 +D3E0 +3220 +C800 +0260 +FA80 +8B20 +FBE0 +ENDCHAR +STARTCHAR U_35E1 +ENCODING 13793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1100 +FFC0 +1200 +2F00 +6500 +A580 +2880 +3180 +7A40 +4A80 +7BC0 +ENDCHAR +STARTCHAR U_35E2 +ENCODING 13794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C80 +0880 +FE80 +A9E0 +BEA0 +AAA0 +BEA0 +EAA0 +BEA0 +0920 +3E60 +ENDCHAR +STARTCHAR U_35E3 +ENCODING 13795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +EFE0 +A540 +AB60 +A000 +AFE0 +A920 +E7C0 +A540 +05C0 +0100 +ENDCHAR +STARTCHAR U_35E4 +ENCODING 13796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +7FE0 +4900 +4D40 +4940 +7E80 +ACA0 +5B60 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_35E5 +ENCODING 13797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0EE0 +E0A0 +AEA0 +AAC0 +AEC0 +A0A0 +EEA0 +02E0 +1F80 +0480 +ENDCHAR +STARTCHAR U_35E6 +ENCODING 13798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +2AE0 +EAA0 +BAA0 +AAA0 +BAA0 +ABA0 +EEE0 +3980 +0980 +0A80 +ENDCHAR +STARTCHAR U_35E7 +ENCODING 13799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +AAA0 +A440 +A7C0 +A240 +A7E0 +A100 +E7C0 +0100 +0FE0 +ENDCHAR +STARTCHAR U_35E8 +ENCODING 13800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +A140 +BE60 +D1C0 +FD40 +A880 +FD60 +0000 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_35E9 +ENCODING 13801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +E220 +AAA0 +A660 +AAA0 +A100 +AFE0 +E820 +AFE0 +0820 +0FE0 +ENDCHAR +STARTCHAR U_35EA +ENCODING 13802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +02A0 +EBC0 +AA80 +BFA0 +A460 +AF80 +A240 +EFE0 +A100 +0940 +1320 +ENDCHAR +STARTCHAR U_35EB +ENCODING 13803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +EEE0 +AAA0 +B640 +AC40 +ABA0 +B000 +AFE0 +E100 +0940 +1320 +ENDCHAR +STARTCHAR U_35EC +ENCODING 13804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FFE0 +A0A0 +3F80 +0800 +1F00 +6600 +1900 +67C0 +1900 +3E00 +ENDCHAR +STARTCHAR U_35ED +ENCODING 13805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +EF00 +A540 +A380 +AFE0 +A540 +A920 +A000 +E540 +1560 +17C0 +ENDCHAR +STARTCHAR U_35EE +ENCODING 13806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +77E0 +9500 +77C0 +2540 +77E0 +D540 +57C0 +5500 +7A80 +0C60 +ENDCHAR +STARTCHAR U_35EF +ENCODING 13807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +7F80 +0500 +FFE0 +3080 +DF80 +1080 +1FA0 +7DC0 +4520 +7CE0 +ENDCHAR +STARTCHAR U_35F0 +ENCODING 13808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +0940 +F6A0 +A800 +B880 +AA80 +AAE0 +AA80 +EA80 +0B80 +0C60 +ENDCHAR +STARTCHAR U_35F1 +ENCODING 13809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0BE0 +F900 +ABC0 +A900 +ABC0 +A100 +AFE0 +E380 +0540 +0920 +ENDCHAR +STARTCHAR U_35F2 +ENCODING 13810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +07C0 +E140 +AFE0 +A140 +AFE0 +A540 +A7C0 +E540 +A7C0 +0FE0 +ENDCHAR +STARTCHAR U_35F3 +ENCODING 13811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +0EE0 +F540 +A100 +A280 +A440 +BBA0 +E000 +A7C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_35F4 +ENCODING 13812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +0AA0 +EEE0 +AAA0 +AEE0 +ABA0 +AAA0 +EBA0 +AAA0 +0BA0 +0EE0 +ENDCHAR +STARTCHAR U_35F5 +ENCODING 13813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +1D00 +EBE0 +A8A0 +B480 +A080 +A880 +BD40 +E940 +A920 +1620 +ENDCHAR +STARTCHAR U_35F6 +ENCODING 13814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EC0 +0B60 +E4C0 +A820 +BEE0 +A2A0 +AF20 +E8E0 +AEA0 +0240 +06A0 +ENDCHAR +STARTCHAR U_35F7 +ENCODING 13815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0FE0 +EAA0 +A7C0 +A280 +A7C0 +A280 +FFE0 +A540 +0540 +0EE0 +ENDCHAR +STARTCHAR U_35F8 +ENCODING 13816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +EAE0 +B700 +AAE0 +AA40 +BF40 +AA40 +AB40 +EF40 +A840 +08C0 +ENDCHAR +STARTCHAR U_35F9 +ENCODING 13817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +0BE0 +F880 +ABE0 +A880 +ABE0 +A880 +EBE0 +AA40 +1560 +13C0 +ENDCHAR +STARTCHAR U_35FA +ENCODING 13818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E100 +AFE0 +A280 +A440 +BAA0 +AEE0 +E280 +AEE0 +0280 +0EE0 +ENDCHAR +STARTCHAR U_35FB +ENCODING 13819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +0920 +E1E0 +BDA0 +ABE0 +AAA0 +AAA0 +EAE0 +BA20 +0C20 +03E0 +ENDCHAR +STARTCHAR U_35FC +ENCODING 13820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0AA0 +06C0 +EFE0 +A280 +AFE0 +A100 +A7C0 +E100 +AFE0 +0380 +0D60 +ENDCHAR +STARTCHAR U_35FD +ENCODING 13821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +5EE0 +F2A0 +5EC0 +F2A0 +3EE0 +5480 +9A80 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_35FE +ENCODING 13822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +15C0 +FF40 +B540 +BD40 +A960 +BFC0 +AB40 +FF40 +A940 +1D40 +0960 +ENDCHAR +STARTCHAR U_35FF +ENCODING 13823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +0AA0 +EEE0 +AAA0 +AFE0 +A8A0 +ABA0 +EAA0 +ABA0 +08A0 +09E0 +ENDCHAR +STARTCHAR U_3600 +ENCODING 13824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0EE0 +E820 +AEE0 +A820 +AEE0 +A540 +EFE0 +0540 +0540 +0920 +ENDCHAR +STARTCHAR U_3601 +ENCODING 13825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0AA0 +EFE0 +A100 +A7C0 +A100 +AFE0 +E280 +0FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_3602 +ENCODING 13826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +1FE0 +E440 +AAA0 +A440 +A9A0 +AEC0 +E100 +1420 +24A0 +0780 +ENDCHAR +STARTCHAR U_3603 +ENCODING 13827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0FE0 +E200 +BFE0 +A200 +A7C0 +AC40 +F7C0 +A520 +0CA0 +0BC0 +ENDCHAR +STARTCHAR U_3604 +ENCODING 13828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0BE0 +EAA0 +BEA0 +ABE0 +AC80 +BBE0 +A900 +E9E0 +0920 +0A20 +0CC0 +ENDCHAR +STARTCHAR U_3605 +ENCODING 13829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +6AE0 +1100 +EEE0 +A440 +BF40 +A440 +EE40 +2440 +2640 +38C0 +ENDCHAR +STARTCHAR U_3606 +ENCODING 13830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0FE0 +E100 +A7C0 +A440 +AFE0 +AAA0 +A440 +E7C0 +0100 +0FE0 +ENDCHAR +STARTCHAR U_3607 +ENCODING 13831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +1DC0 +0880 +F540 +BFE0 +A220 +AFC0 +E200 +0A80 +0A40 +1240 +ENDCHAR +STARTCHAR U_3608 +ENCODING 13832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +09E0 +EE40 +A880 +A7E0 +A8A0 +AE80 +B4E0 +EE80 +0580 +0A80 +1460 +ENDCHAR +STARTCHAR U_3609 +ENCODING 13833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +1EE0 +E540 +BDE0 +A520 +BD20 +A520 +FD20 +2160 +2920 +3500 +ENDCHAR +STARTCHAR U_360A +ENCODING 13834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +0200 +FFE0 +AAA0 +AFC0 +A000 +AFC0 +E000 +0FC0 +0840 +0FC0 +ENDCHAR +STARTCHAR U_360B +ENCODING 13835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0AA0 +EFA0 +A940 +AFA0 +AAA0 +AFE0 +E540 +0540 +07C0 +0820 +ENDCHAR +STARTCHAR U_360C +ENCODING 13836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E20 +0820 +FF20 +AAA0 +BEA0 +A0A0 +BFA0 +ECA0 +3520 +2E20 +5560 +ENDCHAR +STARTCHAR U_360D +ENCODING 13837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0E60 +F540 +A7E0 +AA40 +BF40 +AA60 +EF40 +0AC0 +0F40 +0820 +ENDCHAR +STARTCHAR U_360E +ENCODING 13838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +1020 +EEA0 +A2E0 +BF20 +AAA0 +AE60 +EA60 +3EA0 +2320 +2260 +ENDCHAR +STARTCHAR U_360F +ENCODING 13839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +C480 +1FE0 +C400 +4FC0 +4940 +4FC0 +7000 +8FE0 +3A40 +2AA0 +3BE0 +ENDCHAR +STARTCHAR U_3610 +ENCODING 13840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F40 +0AE0 +EFA0 +AA00 +AFA0 +AAA0 +AF40 +E140 +0D40 +32A0 +04A0 +ENDCHAR +STARTCHAR U_3611 +ENCODING 13841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +1DE0 +E8A0 +BDE0 +AAA0 +A1E0 +BC80 +EAA0 +1DC0 +2AA0 +1980 +ENDCHAR +STARTCHAR U_3612 +ENCODING 13842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1860 +E380 +2080 +FFE0 +72A0 +ABE0 +2080 +FFE0 +8A40 +8AA0 +FBE0 +ENDCHAR +STARTCHAR U_3613 +ENCODING 13843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +0AA0 +EEE0 +A920 +AFE0 +AD60 +AFE0 +E920 +0BA0 +0D20 +0960 +ENDCHAR +STARTCHAR U_3614 +ENCODING 13844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0FE0 +0AA0 +E7C0 +A280 +A7C0 +AD60 +B6C0 +E540 +0280 +0C60 +ENDCHAR +STARTCHAR U_3615 +ENCODING 13845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0FE0 +E440 +AE80 +AAE0 +AE80 +EAE0 +0E80 +0FC0 +0A40 +1FE0 +ENDCHAR +STARTCHAR U_3616 +ENCODING 13846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1FE0 +F280 +ADE0 +BF60 +B5A0 +BB60 +B5A0 +FBE0 +14C0 +2920 +ENDCHAR +STARTCHAR U_3617 +ENCODING 13847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +0AA0 +EEE0 +AAA0 +AEE0 +AAA0 +A7E0 +EC80 +17E0 +0480 +07E0 +ENDCHAR +STARTCHAR U_3618 +ENCODING 13848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +4E80 +F1E0 +2E40 +50A0 +FFE0 +4A40 +AAA0 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3619 +ENCODING 13849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1DC0 +1540 +FFE0 +A480 +BEE0 +AB20 +AEA0 +EAA0 +2E40 +5A40 +42A0 +ENDCHAR +STARTCHAR U_361A +ENCODING 13850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3DE0 +2520 +FDE0 +A520 +BEA0 +ABE0 +AE60 +EB60 +3EA0 +2360 +2020 +ENDCHAR +STARTCHAR U_361B +ENCODING 13851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +1860 +EFC0 +A840 +AFE0 +AAA0 +BFE0 +AA80 +EEE0 +0A80 +16E0 +ENDCHAR +STARTCHAR U_361C +ENCODING 13852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +A540 +FFE0 +A140 +FFE0 +AB40 +FFE0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_361D +ENCODING 13853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +BF20 +8120 +9120 +8A20 +8420 +8B20 +B120 +8020 +FFE0 +ENDCHAR +STARTCHAR U_361E +ENCODING 13854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +8420 +BFA0 +84A0 +88A0 +88A0 +92A0 +A120 +8020 +FFE0 +ENDCHAR +STARTCHAR U_361F +ENCODING 13855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +8920 +8920 +BFE0 +8920 +8920 +8920 +9120 +A120 +FFE0 +ENDCHAR +STARTCHAR U_3620 +ENCODING 13856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8820 +8520 +9120 +B220 +D4A0 +9960 +9160 +EF20 +8020 +FFE0 +ENDCHAR +STARTCHAR U_3621 +ENCODING 13857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +BFA0 +A4A0 +BFA0 +A4A0 +BFA0 +8420 +8420 +8420 +FFE0 +ENDCHAR +STARTCHAR U_3622 +ENCODING 13858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +A4A0 +9520 +BFA0 +8A20 +8A20 +8A20 +92A0 +A1A0 +FFE0 +ENDCHAR +STARTCHAR U_3623 +ENCODING 13859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +9F20 +8020 +9F20 +9120 +9F20 +9120 +9F20 +9320 +FFE0 +ENDCHAR +STARTCHAR U_3624 +ENCODING 13860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +D560 +BDE0 +D060 +BFE0 +9060 +BDE0 +D560 +E560 +FFE0 +ENDCHAR +STARTCHAR U_3625 +ENCODING 13861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +BDA0 +EAA0 +D120 +A2A0 +FD60 +93A0 +FDA0 +9360 +D520 +FFE0 +ENDCHAR +STARTCHAR U_3626 +ENCODING 13862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +2100 +27E0 +F920 +2120 +2120 +2920 +3220 +C220 +04A0 +0840 +ENDCHAR +STARTCHAR U_3627 +ENCODING 13863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +2280 +F100 +2FE0 +2120 +2100 +2100 +3100 +C500 +0300 +ENDCHAR +STARTCHAR U_3628 +ENCODING 13864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4100 +4FE0 +E920 +4920 +4AA0 +6A60 +4C60 +8820 +0820 +0860 +ENDCHAR +STARTCHAR U_3629 +ENCODING 13865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +4880 +4880 +E880 +4EE0 +4880 +4880 +6880 +CA80 +0CA0 +08E0 +ENDCHAR +STARTCHAR U_362A +ENCODING 13866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +2100 +21C0 +F700 +2100 +21E0 +2700 +3100 +C120 +00E0 +ENDCHAR +STARTCHAR U_362B +ENCODING 13867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +2FE0 +F280 +2280 +2FE0 +2280 +3280 +E280 +0480 +0880 +ENDCHAR +STARTCHAR U_362C +ENCODING 13868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4400 +4FE0 +E820 +5220 +4220 +44A0 +4FA0 +6020 +80A0 +0040 +ENDCHAR +STARTCHAR U_362D +ENCODING 13869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +25E0 +2420 +F920 +2E20 +2220 +2420 +3420 +E920 +0F20 +0060 +ENDCHAR +STARTCHAR U_362E +ENCODING 13870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2440 +F440 +27C0 +2500 +2500 +2480 +3480 +C840 +1020 +ENDCHAR +STARTCHAR U_362F +ENCODING 13871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +27E0 +F500 +2900 +27E0 +2120 +3220 +E220 +04A0 +1840 +ENDCHAR +STARTCHAR U_3630 +ENCODING 13872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2480 +2280 +F080 +2480 +2280 +20E0 +2780 +3080 +C080 +0080 +ENDCHAR +STARTCHAR U_3631 +ENCODING 13873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27C0 +F540 +2540 +27C0 +2540 +3540 +CFE0 +0440 +04C0 +ENDCHAR +STARTCHAR U_3632 +ENCODING 13874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4840 +4840 +EFC0 +4A00 +4F80 +4A80 +4A80 +6AA0 +D4A0 +2860 +ENDCHAR +STARTCHAR U_3633 +ENCODING 13875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +0A60 +FB80 +0A00 +0A20 +3A20 +C9E0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3634 +ENCODING 13876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7480 +5480 +5480 +7540 +5620 +0400 +7FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3635 +ENCODING 13877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +5FE0 +E500 +4900 +5FE0 +6920 +4920 +6920 +C960 +0100 +ENDCHAR +STARTCHAR U_3636 +ENCODING 13878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3BE0 +4880 +AA80 +13E0 +2080 +C480 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3637 +ENCODING 13879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2440 +F000 +2440 +2440 +2280 +2280 +3100 +C280 +0C60 +ENDCHAR +STARTCHAR U_3638 +ENCODING 13880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2200 +7A40 +8B80 +5220 +2220 +C1E0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3639 +ENCODING 13881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1120 +5D40 +5180 +5120 +5D20 +E0E0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_363A +ENCODING 13882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +4280 +44E0 +E580 +4CA0 +54A0 +44C0 +44C0 +64A0 +C560 +0620 +ENDCHAR +STARTCHAR U_363B +ENCODING 13883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +2920 +F920 +2FE0 +2920 +2920 +2AA0 +3AA0 +CC60 +0FE0 +ENDCHAR +STARTCHAR U_363C +ENCODING 13884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27A0 +F140 +2FE0 +2100 +23E0 +2600 +2BE0 +3020 +C020 +00C0 +ENDCHAR +STARTCHAR U_363D +ENCODING 13885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +7D20 +1100 +FFE0 +1100 +1120 +7CA0 +10C0 +14A0 +F960 +4220 +ENDCHAR +STARTCHAR U_363E +ENCODING 13886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2820 +F7C0 +2100 +2100 +2FE0 +2100 +3100 +C100 +0300 +ENDCHAR +STARTCHAR U_363F +ENCODING 13887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +F440 +2440 +27C0 +2100 +27C0 +3100 +C100 +0FE0 +ENDCHAR +STARTCHAR U_3640 +ENCODING 13888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4FE0 +4AA0 +E280 +4C60 +4200 +47C0 +4240 +6240 +8440 +0860 +ENDCHAR +STARTCHAR U_3641 +ENCODING 13889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +47E0 +4800 +F7C0 +4540 +5FE0 +4640 +4940 +6FE0 +C140 +0080 +ENDCHAR +STARTCHAR U_3642 +ENCODING 13890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +4440 +4820 +F7C0 +4440 +4440 +57C0 +6280 +C480 +84A0 +18E0 +ENDCHAR +STARTCHAR U_3643 +ENCODING 13891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +4700 +4400 +E7C0 +4480 +4480 +4480 +6FE0 +C280 +8440 +0820 +ENDCHAR +STARTCHAR U_3644 +ENCODING 13892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +4EE0 +4880 +EA80 +4CE0 +4100 +4100 +47C0 +6100 +8100 +0FE0 +ENDCHAR +STARTCHAR U_3645 +ENCODING 13893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4F80 +4880 +4880 +EF80 +4200 +5FC0 +4200 +6A80 +4A40 +9240 +0200 +ENDCHAR +STARTCHAR U_3646 +ENCODING 13894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +2FE0 +2820 +F100 +2FE0 +2100 +2200 +3280 +C480 +0920 +13E0 +ENDCHAR +STARTCHAR U_3647 +ENCODING 13895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FB20 +24C0 +2380 +2B80 +34C0 +C1C0 +02A0 +0C80 +0100 +ENDCHAR +STARTCHAR U_3648 +ENCODING 13896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +41C0 +4100 +4FE0 +E920 +4F80 +4900 +48C0 +6A80 +92A0 +1460 +ENDCHAR +STARTCHAR U_3649 +ENCODING 13897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +4500 +5FC0 +5540 +5FC0 +F540 +5540 +7FE0 +4880 +6840 +D040 +ENDCHAR +STARTCHAR U_364A +ENCODING 13898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +4400 +4780 +E400 +4780 +4400 +5FE0 +4A40 +6980 +8A80 +0C60 +ENDCHAR +STARTCHAR U_364B +ENCODING 13899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +4480 +4FC0 +E480 +4780 +4480 +4780 +6480 +DFE0 +0480 +0840 +ENDCHAR +STARTCHAR U_364C +ENCODING 13900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +47C0 +4140 +EFE0 +4140 +47C0 +4540 +4540 +67C0 +8540 +0940 +ENDCHAR +STARTCHAR U_364D +ENCODING 13901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +4220 +4B40 +E480 +5B60 +4000 +5FE0 +5320 +6AA0 +8440 +1BA0 +ENDCHAR +STARTCHAR U_364E +ENCODING 13902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40A0 +5FE0 +F080 +5E80 +5480 +5FA0 +55A0 +5AC0 +7480 +DB60 +2220 +ENDCHAR +STARTCHAR U_364F +ENCODING 13903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +47E0 +5800 +E7C0 +4440 +47C0 +4440 +47C0 +6E40 +8180 +0E60 +ENDCHAR +STARTCHAR U_3650 +ENCODING 13904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4920 +4FE0 +E000 +4FE0 +4200 +4FE0 +6AA0 +8AA0 +0AA0 +0860 +ENDCHAR +STARTCHAR U_3651 +ENCODING 13905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +3F80 +2480 +7FC0 +4440 +5B40 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3652 +ENCODING 13906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A940 +A880 +FFE0 +A8A0 +AAC0 +F980 +0480 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3653 +ENCODING 13907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +2080 +FBC0 +3080 +E5E0 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3654 +ENCODING 13908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +4780 +4280 +EFC0 +4480 +4780 +4100 +6780 +8500 +1FE0 +0100 +ENDCHAR +STARTCHAR U_3655 +ENCODING 13909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +4920 +4FE0 +E920 +4FE0 +4000 +47C0 +6640 +85C0 +0740 +08C0 +ENDCHAR +STARTCHAR U_3656 +ENCODING 13910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +4E00 +4200 +EFC0 +4A40 +4FC0 +4200 +7FE0 +9220 +13A0 +1460 +ENDCHAR +STARTCHAR U_3657 +ENCODING 13911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +4540 +47C0 +E540 +47C0 +4000 +4FE0 +6500 +8540 +0480 +0660 +ENDCHAR +STARTCHAR U_3658 +ENCODING 13912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +4280 +4FE0 +EAA0 +4FE0 +4200 +4FE0 +6280 +8480 +0300 +0CE0 +ENDCHAR +STARTCHAR U_3659 +ENCODING 13913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8240 +5FE0 +0480 +C540 +0A80 +2A40 +D1E0 +8400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_365A +ENCODING 13914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +4FE0 +4100 +E7C0 +4100 +4FE0 +4100 +67C0 +8900 +1FE0 +0100 +ENDCHAR +STARTCHAR U_365B +ENCODING 13915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +4FE0 +4100 +EFE0 +4920 +4FE0 +4920 +6040 +8FE0 +0440 +02C0 +ENDCHAR +STARTCHAR U_365C +ENCODING 13916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0800 +FF80 +2200 +3E00 +0000 +FFC0 +A440 +88C0 +3E00 +0800 +FFC0 +ENDCHAR +STARTCHAR U_365D +ENCODING 13917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4FC0 +4440 +FFE0 +4AA0 +57E0 +4440 +67C0 +8440 +07C0 +0440 +ENDCHAR +STARTCHAR U_365E +ENCODING 13918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0200 +4F80 +4880 +EF80 +4880 +4F80 +4200 +6FC0 +8200 +0A80 +1240 +ENDCHAR +STARTCHAR U_365F +ENCODING 13919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4EE0 +4AA0 +EEA0 +4AE0 +4EA0 +48E0 +6AA0 +8AA0 +0CA0 +0960 +ENDCHAR +STARTCHAR U_3660 +ENCODING 13920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +A140 +BA20 +D1C0 +FD40 +A880 +FF60 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3661 +ENCODING 13921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +4940 +F540 +49C0 +5AA0 +4800 +4A80 +6AE0 +4A80 +8B80 +0C60 +ENDCHAR +STARTCHAR U_3662 +ENCODING 13922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +0500 +0F80 +4500 +E200 +5FC0 +7240 +9740 +1AC0 +12C0 +0200 +ENDCHAR +STARTCHAR U_3663 +ENCODING 13923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +4500 +45C0 +ED00 +51C0 +5100 +5FE0 +6520 +C5C0 +1540 +0DA0 +ENDCHAR +STARTCHAR U_3664 +ENCODING 13924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +4100 +4FE0 +E940 +4BE0 +48C0 +4BA0 +4AC0 +6FE0 +8880 +1380 +ENDCHAR +STARTCHAR U_3665 +ENCODING 13925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4440 +EFE0 +4440 +47C0 +4300 +4520 +6CC0 +9640 +0420 +ENDCHAR +STARTCHAR U_3666 +ENCODING 13926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5180 +FA80 +2180 +FFE0 +7080 +AC80 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3667 +ENCODING 13927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +2280 +2EE0 +FAA0 +2EE0 +2280 +27C0 +3540 +C7C0 +0540 +07C0 +ENDCHAR +STARTCHAR U_3668 +ENCODING 13928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0520 +4940 +5DE0 +EB40 +5FE0 +4140 +5FE0 +4900 +6940 +CCA0 +1360 +ENDCHAR +STARTCHAR U_3669 +ENCODING 13929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4AA0 +E440 +4FE0 +4440 +47C0 +4440 +67C0 +8540 +0B20 +ENDCHAR +STARTCHAR U_366A +ENCODING 13930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4100 +EFE0 +4820 +47C0 +4440 +47C0 +6440 +8280 +0FE0 +ENDCHAR +STARTCHAR U_366B +ENCODING 13931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +5FE0 +4900 +EFE0 +4900 +4FE0 +4900 +5FE0 +6380 +8540 +0920 +ENDCHAR +STARTCHAR U_366C +ENCODING 13932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10A0 +FFE0 +5480 +BA80 +1080 +3940 +D620 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_366D +ENCODING 13933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +5540 +52E0 +FFA0 +5240 +5AC0 +5FC0 +5240 +7440 +94A0 +2920 +ENDCHAR +STARTCHAR U_366E +ENCODING 13934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +4EE0 +5540 +E100 +4280 +4440 +5BA0 +4000 +67C0 +8440 +07C0 +ENDCHAR +STARTCHAR U_366F +ENCODING 13935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7100 +23C0 +DB40 +7140 +22E0 +7FC0 +0000 +FFE0 +1100 +3F80 +ENDCHAR +STARTCHAR U_3670 +ENCODING 13936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +73E0 +9120 +FA60 +AA80 +FBC0 +AC80 +FBE0 +8C80 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3671 +ENCODING 13937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +71C0 +5100 +FFE0 +4580 +77E0 +1540 +6B60 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3672 +ENCODING 13938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +5FE0 +4480 +EB40 +5DE0 +4540 +4BE0 +5D40 +65E0 +8940 +11E0 +ENDCHAR +STARTCHAR U_3673 +ENCODING 13939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40A0 +5FE0 +5080 +F7A0 +50A0 +5740 +55A0 +6740 +5440 +9AA0 +27A0 +ENDCHAR +STARTCHAR U_3674 +ENCODING 13940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +4480 +EFE0 +4A40 +4FE0 +4800 +4BC0 +4800 +6BC0 +8A40 +13C0 +ENDCHAR +STARTCHAR U_3675 +ENCODING 13941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4FE0 +4280 +EFE0 +4AA0 +4BA0 +4860 +4920 +67C0 +C100 +1FE0 +ENDCHAR +STARTCHAR U_3676 +ENCODING 13942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +3F80 +2480 +1500 +FFE0 +9120 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3677 +ENCODING 13943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +EFE0 +4820 +4FE0 +4440 +4EE0 +4440 +6EE0 +8540 +0AA0 +ENDCHAR +STARTCHAR U_3678 +ENCODING 13944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +4B60 +5940 +EBE0 +4940 +4BE0 +4880 +69C0 +8880 +0BE0 +0940 +ENDCHAR +STARTCHAR U_3679 +ENCODING 13945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5CE0 +4480 +EFE0 +4AA0 +5FE0 +5220 +65C0 +4A80 +8100 +0E00 +ENDCHAR +STARTCHAR U_367A +ENCODING 13946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +5100 +57C0 +F540 +5FE0 +5440 +57C0 +7440 +57C0 +9280 +1FE0 +ENDCHAR +STARTCHAR U_367B +ENCODING 13947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +F540 +57C0 +5540 +57C0 +5540 +7BA0 +57C0 +9100 +2FE0 +ENDCHAR +STARTCHAR U_367C +ENCODING 13948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +4540 +47C0 +E540 +47C0 +4000 +4FE0 +6AA0 +4FE0 +8AA0 +0FE0 +ENDCHAR +STARTCHAR U_367D +ENCODING 13949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +4200 +5FE0 +4A40 +FEE0 +56A0 +5EE0 +56A0 +7FE0 +C280 +1C60 +ENDCHAR +STARTCHAR U_367E +ENCODING 13950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +06C0 +4540 +46C0 +E540 +46C0 +4FE0 +5120 +6FC0 +C080 +0280 +0100 +ENDCHAR +STARTCHAR U_367F +ENCODING 13951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +5FE0 +4100 +EFC0 +4100 +5FE0 +4540 +7FE0 +4EA0 +9540 +0EA0 +ENDCHAR +STARTCHAR U_3680 +ENCODING 13952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0640 +4460 +5FE0 +F640 +5F40 +5040 +5FC0 +5560 +7740 +95C0 +2F20 +ENDCHAR +STARTCHAR U_3681 +ENCODING 13953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +71C0 +2080 +FBE0 +5140 +FBE0 +5140 +FFE0 +5140 +5940 +9260 +ENDCHAR +STARTCHAR U_3682 +ENCODING 13954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4FE0 +4540 +EFE0 +4D60 +47C0 +4540 +6FE0 +8540 +0C80 +0660 +ENDCHAR +STARTCHAR U_3683 +ENCODING 13955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +1F00 +0000 +FFE0 +AAA0 +2E80 +3F80 +1100 +FFE0 +ENDCHAR +STARTCHAR U_3684 +ENCODING 13956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +A4A0 +3F80 +2480 +7FC0 +2740 +3400 +CFE0 +ENDCHAR +STARTCHAR U_3685 +ENCODING 13957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +7100 +0E00 +1100 +EEE0 +1400 +3F80 +4400 +1F00 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3686 +ENCODING 13958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0000 +3F80 +2080 +3F80 +2080 +3F80 +6900 +0600 +FDE0 +ENDCHAR +STARTCHAR U_3687 +ENCODING 13959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +4640 +5940 +7FC0 +1080 +2840 +DFA0 +3080 +4900 +0600 +F9E0 +ENDCHAR +STARTCHAR U_3688 +ENCODING 13960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3C80 +4480 +C880 +2BE0 +1080 +1080 +2080 +4080 +8080 +0080 +ENDCHAR +STARTCHAR U_3689 +ENCODING 13961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +10E0 +2820 +DF60 +2A00 +0400 +0A00 +3780 +0C80 +0300 +3E00 +ENDCHAR +STARTCHAR U_368A +ENCODING 13962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7BE0 +C880 +3100 +2240 +5180 +B920 +4A40 +B480 +2140 +C620 +ENDCHAR +STARTCHAR U_368B +ENCODING 13963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7920 +9BA0 +6920 +4FE0 +C820 +7BA0 +9AA0 +6BA0 +4820 +9060 +ENDCHAR +STARTCHAR U_368C +ENCODING 13964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F540 +57C0 +2540 +47C0 +A100 +7FE0 +D300 +2380 +4540 +8920 +ENDCHAR +STARTCHAR U_368D +ENCODING 13965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +77C0 +D540 +2FE0 +4440 +C7C0 +7440 +D7C0 +2440 +47C0 +8820 +ENDCHAR +STARTCHAR U_368E +ENCODING 13966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0840 +FFE0 +1200 +2100 +4080 +8060 +2080 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_368F +ENCODING 13967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +1100 +2080 +4040 +9120 +1100 +FFE0 +1100 +1100 +2100 +ENDCHAR +STARTCHAR U_3690 +ENCODING 13968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0A00 +3180 +C460 +0400 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_3691 +ENCODING 13969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +3F80 +0080 +3F80 +0400 +0800 +FFE0 +1200 +2180 +C060 +ENDCHAR +STARTCHAR U_3692 +ENCODING 13970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +4500 +2480 +5540 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_3693 +ENCODING 13971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0A00 +3180 +C460 +0400 +FFE0 +0E00 +3580 +C460 +ENDCHAR +STARTCHAR U_3694 +ENCODING 13972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0A00 +3180 +CA60 +3F80 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_3695 +ENCODING 13973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +6AC0 +BFA0 +0A80 +3F80 +2A00 +3FC0 +1240 +2280 +ENDCHAR +STARTCHAR U_3696 +ENCODING 13974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FC0 +4040 +7FC0 +4040 +7FC0 +0400 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_3697 +ENCODING 13975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A00 +3180 +5F40 +9120 +1F00 +1100 +1F00 +1100 +FFE0 +ENDCHAR +STARTCHAR U_3698 +ENCODING 13976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +2080 +FBE0 +2080 +FBE0 +2080 +2140 +5140 +4A20 +8420 +ENDCHAR +STARTCHAR U_3699 +ENCODING 13977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +2A20 +2A20 +4A20 +9BE0 +0400 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_369A +ENCODING 13978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +2480 +CF60 +3200 +0C00 +3000 +DF80 +1080 +1F80 +ENDCHAR +STARTCHAR U_369B +ENCODING 13979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +20E0 +DE00 +1080 +1F80 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_369C +ENCODING 13980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2280 +C360 +FFE0 +4A80 +7A80 +0100 +3AA0 +C460 +ENDCHAR +STARTCHAR U_369D +ENCODING 13981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2280 +D760 +2200 +6FC0 +A200 +2780 +2200 +2FC0 +ENDCHAR +STARTCHAR U_369E +ENCODING 13982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2080 +D160 +7BC0 +1100 +3B80 +3540 +5140 +1100 +ENDCHAR +STARTCHAR U_369F +ENCODING 13983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2200 +7F80 +A080 +3F80 +2220 +31E0 +0400 +FFE0 +1100 +60E0 +ENDCHAR +STARTCHAR U_36A0 +ENCODING 13984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +60C0 +9120 +7FC0 +0400 +3F80 +0400 +FFE0 +8920 +ENDCHAR +STARTCHAR U_36A1 +ENCODING 13985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +5140 +8A20 +FFE0 +0820 +EBA0 +AAA0 +EBA0 +0820 +1860 +ENDCHAR +STARTCHAR U_36A2 +ENCODING 13986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +1100 +2100 +6FE0 +A240 +2480 +2280 +2100 +22C0 +2C20 +ENDCHAR +STARTCHAR U_36A3 +ENCODING 13987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +7180 +0400 +FFE0 +0900 +1A00 +0700 +78E0 +ENDCHAR +STARTCHAR U_36A4 +ENCODING 13988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +2100 +F9E0 +4B00 +5100 +9100 +5080 +20A0 +5060 +8820 +ENDCHAR +STARTCHAR U_36A5 +ENCODING 13989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +2080 +F880 +4880 +57E0 +9080 +5080 +2080 +5080 +8980 +ENDCHAR +STARTCHAR U_36A6 +ENCODING 13990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +2140 +F940 +4940 +5140 +9140 +5140 +2240 +5240 +8440 +ENDCHAR +STARTCHAR U_36A7 +ENCODING 13991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +23E0 +FA00 +4A00 +5200 +9200 +5200 +2200 +5400 +8400 +ENDCHAR +STARTCHAR U_36A8 +ENCODING 13992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2780 +2280 +FA80 +4A80 +5780 +9280 +52A0 +22A0 +5260 +8A20 +ENDCHAR +STARTCHAR U_36A9 +ENCODING 13993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +2240 +FA40 +4FE0 +5240 +9240 +57E0 +2240 +5240 +8AC0 +ENDCHAR +STARTCHAR U_36AA +ENCODING 13994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +2100 +F9E0 +4F00 +5100 +91E0 +5700 +2120 +5120 +89E0 +ENDCHAR +STARTCHAR U_36AB +ENCODING 13995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FC0 +2440 +F480 +55E0 +5420 +9640 +5540 +2480 +5940 +8A20 +ENDCHAR +STARTCHAR U_36AC +ENCODING 13996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +23E0 +FA20 +4D20 +50A0 +9020 +50A0 +2320 +5020 +88E0 +ENDCHAR +STARTCHAR U_36AD +ENCODING 13997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +2100 +FFE0 +4900 +5180 +9280 +5280 +2280 +54A0 +88E0 +ENDCHAR +STARTCHAR U_36AE +ENCODING 13998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2420 +F800 +4BC0 +5240 +9240 +5240 +2240 +5440 +8860 +ENDCHAR +STARTCHAR U_36AF +ENCODING 13999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +24C0 +FEC0 +4D40 +5540 +96C0 +5440 +2460 +5420 +8820 +ENDCHAR +STARTCHAR U_36B0 +ENCODING 14000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2100 +F900 +4B40 +5320 +9520 +5900 +2100 +5000 +8FE0 +ENDCHAR +STARTCHAR U_36B1 +ENCODING 14001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2300 +2200 +FA00 +4BE0 +5280 +9280 +5280 +2280 +5280 +87E0 +ENDCHAR +STARTCHAR U_36B2 +ENCODING 14002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2100 +F9E0 +4900 +5100 +97E0 +5420 +2420 +5420 +87E0 +ENDCHAR +STARTCHAR U_36B3 +ENCODING 14003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +2780 +FAE0 +4AA0 +52A0 +92A0 +52A0 +24E0 +5480 +8980 +ENDCHAR +STARTCHAR U_36B4 +ENCODING 14004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +27E0 +F900 +4A80 +57E0 +9AA0 +52A0 +22E0 +5080 +8880 +ENDCHAR +STARTCHAR U_36B5 +ENCODING 14005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +23E0 +FE40 +4980 +5240 +9420 +5180 +2040 +5300 +8880 +ENDCHAR +STARTCHAR U_36B6 +ENCODING 14006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +2240 +FBC0 +4A00 +5200 +93E0 +5220 +2220 +53E0 +8A20 +ENDCHAR +STARTCHAR U_36B7 +ENCODING 14007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2280 +FC40 +4920 +5100 +9540 +5920 +2120 +5100 +8B00 +ENDCHAR +STARTCHAR U_36B8 +ENCODING 14008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2020 +FBA0 +4820 +53A0 +92A0 +52A0 +23A0 +5020 +8860 +ENDCHAR +STARTCHAR U_36B9 +ENCODING 14009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2CE0 +2AA0 +FAA0 +4AA0 +52A0 +96A0 +5AE0 +2280 +5480 +8880 +ENDCHAR +STARTCHAR U_36BA +ENCODING 14010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2780 +2280 +FAE0 +4C20 +57A0 +9140 +5100 +27C0 +5100 +8B00 +ENDCHAR +STARTCHAR U_36BB +ENCODING 14011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +4900 +7F00 +4900 +7F00 +0800 +FF80 +1200 +3C00 +0E00 +F180 +ENDCHAR +STARTCHAR U_36BC +ENCODING 14012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +22A0 +FAA0 +4AA0 +53E0 +92A0 +52A0 +22A0 +53E0 +8A20 +ENDCHAR +STARTCHAR U_36BD +ENCODING 14013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +23E0 +3820 +E1A0 +0440 +FFE0 +0900 +1E00 +0700 +78E0 +ENDCHAR +STARTCHAR U_36BE +ENCODING 14014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2440 +FC40 +4C40 +57C0 +9280 +5280 +2280 +54A0 +88E0 +ENDCHAR +STARTCHAR U_36BF +ENCODING 14015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +23E0 +F420 +5BA0 +52A0 +93A0 +5220 +22C0 +5220 +8BE0 +ENDCHAR +STARTCHAR U_36C0 +ENCODING 14016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +2120 +FA20 +4C40 +53E0 +9020 +53E0 +2020 +5020 +8BE0 +ENDCHAR +STARTCHAR U_36C1 +ENCODING 14017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2100 +FD40 +4B80 +5100 +9FE0 +5100 +2100 +5100 +8100 +ENDCHAR +STARTCHAR U_36C2 +ENCODING 14018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +2400 +FDE0 +4D20 +55A0 +9520 +55E0 +2500 +5520 +89E0 +ENDCHAR +STARTCHAR U_36C3 +ENCODING 14019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7DE0 +10A0 +7CA0 +1120 +7E60 +1400 +FFE0 +1900 +0700 +78E0 +ENDCHAR +STARTCHAR U_36C4 +ENCODING 14020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +27E0 +F900 +4920 +52C0 +9680 +5A40 +2240 +5320 +8A20 +ENDCHAR +STARTCHAR U_36C5 +ENCODING 14021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2240 +2240 +FBC0 +4A40 +53C0 +9240 +5260 +27C0 +5040 +8040 +ENDCHAR +STARTCHAR U_36C6 +ENCODING 14022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +22E0 +FA20 +4C20 +5540 +9100 +5FE0 +2380 +5540 +8920 +ENDCHAR +STARTCHAR U_36C7 +ENCODING 14023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +27E0 +FC00 +4C80 +5480 +97E0 +5480 +2480 +5480 +8BE0 +ENDCHAR +STARTCHAR U_36C8 +ENCODING 14024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2120 +F940 +4FE0 +5100 +97C0 +5A00 +23E0 +5020 +89C0 +ENDCHAR +STARTCHAR U_36C9 +ENCODING 14025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +4280 +F280 +AFE0 +AAA0 +AAA0 +6CE0 +4820 +6820 +8FE0 +ENDCHAR +STARTCHAR U_36CA +ENCODING 14026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +2240 +FA40 +4A40 +5520 +9100 +57C0 +2380 +5540 +8920 +ENDCHAR +STARTCHAR U_36CB +ENCODING 14027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2280 +FC40 +4920 +5100 +9540 +55A0 +2940 +5100 +8B00 +ENDCHAR +STARTCHAR U_36CC +ENCODING 14028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2100 +2240 +FBE0 +48A0 +5280 +93E0 +5480 +27E0 +5080 +8880 +ENDCHAR +STARTCHAR U_36CD +ENCODING 14029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2FE0 +F900 +4D40 +5540 +93A0 +5100 +2280 +5440 +8820 +ENDCHAR +STARTCHAR U_36CE +ENCODING 14030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +2240 +FA40 +4BC0 +5000 +97E0 +5420 +2420 +57E0 +8420 +ENDCHAR +STARTCHAR U_36CF +ENCODING 14031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +2FE0 +F900 +4D40 +5380 +9380 +5540 +2120 +5100 +8B00 +ENDCHAR +STARTCHAR U_36D0 +ENCODING 14032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4100 +47C0 +F540 +57C0 +5540 +97C0 +6500 +2200 +5580 +8860 +ENDCHAR +STARTCHAR U_36D1 +ENCODING 14033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1DE0 +5120 +FCC0 +2540 +F920 +0400 +FFE0 +1100 +0F00 +78E0 +ENDCHAR +STARTCHAR U_36D2 +ENCODING 14034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4000 +F000 +57C0 +5440 +5440 +97C0 +6000 +2440 +5280 +8FE0 +ENDCHAR +STARTCHAR U_36D3 +ENCODING 14035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4660 +4180 +4660 +F100 +57E0 +5280 +97E0 +6AA0 +22E0 +5080 +8080 +ENDCHAR +STARTCHAR U_36D4 +ENCODING 14036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +47C0 +4C40 +F380 +5D60 +5380 +9100 +67C0 +2100 +57E0 +8100 +ENDCHAR +STARTCHAR U_36D5 +ENCODING 14037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47C0 +4440 +F7C0 +5000 +57C0 +9540 +67C0 +2400 +5420 +83E0 +ENDCHAR +STARTCHAR U_36D6 +ENCODING 14038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4240 +47C0 +F2A0 +5440 +5A20 +93C0 +6640 +2240 +5180 +8660 +ENDCHAR +STARTCHAR U_36D7 +ENCODING 14039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +4540 +F540 +5BA0 +5BA0 +9100 +67C0 +2100 +5100 +8FE0 +ENDCHAR +STARTCHAR U_36D8 +ENCODING 14040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +4100 +F7E0 +5820 +53C0 +9080 +67E0 +2100 +5100 +8300 +ENDCHAR +STARTCHAR U_36D9 +ENCODING 14041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4100 +4FE0 +F440 +5280 +5FE0 +9100 +67C0 +2100 +5100 +8100 +ENDCHAR +STARTCHAR U_36DA +ENCODING 14042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4040 +4380 +F080 +57E0 +5520 +97E0 +5520 +27E0 +5520 +8560 +ENDCHAR +STARTCHAR U_36DB +ENCODING 14043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +43C0 +4240 +FBC0 +5240 +53C0 +9260 +57C0 +20C0 +5140 +86C0 +ENDCHAR +STARTCHAR U_36DC +ENCODING 14044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +43E0 +D640 +5140 +5080 +4760 +0800 +FFE0 +1100 +0E00 +71C0 +ENDCHAR +STARTCHAR U_36DD +ENCODING 14045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +2240 +FBC0 +4A40 +53C0 +9240 +53C0 +2000 +5240 +8420 +ENDCHAR +STARTCHAR U_36DE +ENCODING 14046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4100 +47C0 +F100 +57E0 +5000 +9240 +67E0 +2240 +5240 +8440 +ENDCHAR +STARTCHAR U_36DF +ENCODING 14047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +2480 +F900 +4FC0 +5540 +9540 +57E0 +2100 +5280 +8460 +ENDCHAR +STARTCHAR U_36E0 +ENCODING 14048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +45E0 +E820 +4BA0 +AAA0 +ABA0 +AAA0 +AAA0 +4BA0 +4820 +A860 +ENDCHAR +STARTCHAR U_36E1 +ENCODING 14049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4100 +4FE0 +F820 +5780 +9000 +9FC0 +6500 +2520 +5520 +89E0 +ENDCHAR +STARTCHAR U_36E2 +ENCODING 14050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +27E0 +FB80 +4D40 +5120 +97C0 +5240 +2260 +5420 +88C0 +ENDCHAR +STARTCHAR U_36E3 +ENCODING 14051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +47C0 +F000 +57C0 +5440 +9540 +6540 +2540 +5280 +8460 +ENDCHAR +STARTCHAR U_36E4 +ENCODING 14052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4000 +FEE0 +AAA0 +AAA0 +AAA0 +AEE0 +AAA0 +4AA0 +6AA0 +9AA0 +ENDCHAR +STARTCHAR U_36E5 +ENCODING 14053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4120 +4FC0 +F340 +5520 +5900 +97E0 +6420 +27E0 +5420 +8FE0 +ENDCHAR +STARTCHAR U_36E6 +ENCODING 14054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4480 +4FE0 +F480 +55C0 +55A0 +96A0 +66A0 +2480 +5480 +8480 +ENDCHAR +STARTCHAR U_36E7 +ENCODING 14055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4540 +4540 +F7C0 +5000 +57E0 +9200 +67C0 +2A40 +5240 +83C0 +ENDCHAR +STARTCHAR U_36E8 +ENCODING 14056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4280 +47C0 +F100 +57C0 +5100 +9FE0 +6280 +22A0 +54A0 +88E0 +ENDCHAR +STARTCHAR U_36E9 +ENCODING 14057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4240 +F7C0 +5020 +57C0 +9440 +67C0 +2440 +57C0 +8440 +ENDCHAR +STARTCHAR U_36EA +ENCODING 14058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4280 +F560 +5FC0 +5540 +97C0 +6540 +27C0 +5120 +81E0 +ENDCHAR +STARTCHAR U_36EB +ENCODING 14059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +47C0 +F440 +57C0 +5200 +97E0 +5AA0 +24A0 +5120 +8240 +ENDCHAR +STARTCHAR U_36EC +ENCODING 14060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +F7E0 +4A80 +5440 +9920 +5100 +27C0 +5100 +87E0 +ENDCHAR +STARTCHAR U_36ED +ENCODING 14061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4280 +47C0 +F280 +5FE0 +5000 +97C0 +5440 +27C0 +5440 +87C0 +ENDCHAR +STARTCHAR U_36EE +ENCODING 14062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4920 +F7C0 +5100 +56C0 +9820 +67C0 +3440 +4380 +8C60 +ENDCHAR +STARTCHAR U_36EF +ENCODING 14063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +5E80 +E4E0 +7EA0 +AAA0 +AAA0 +BEA0 +54A0 +5500 +5420 +A3E0 +ENDCHAR +STARTCHAR U_36F0 +ENCODING 14064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +47C0 +F480 +57E0 +5440 +97E0 +6440 +27C0 +5440 +87C0 +ENDCHAR +STARTCHAR U_36F1 +ENCODING 14065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +27C0 +FD40 +4FC0 +5000 +97E0 +5520 +2540 +5480 +8660 +ENDCHAR +STARTCHAR U_36F2 +ENCODING 14066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4100 +47C0 +FC40 +57C0 +5440 +97C0 +5440 +27C0 +5440 +8820 +ENDCHAR +STARTCHAR U_36F3 +ENCODING 14067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2080 +FFE0 +8420 +7FC0 +4440 +FFE0 +3100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_36F4 +ENCODING 14068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +4540 +4280 +FD40 +52A0 +57E0 +96A0 +6520 +26A0 +5460 +8FE0 +ENDCHAR +STARTCHAR U_36F5 +ENCODING 14069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +4F80 +4A20 +F540 +5100 +57C0 +9540 +67C0 +2540 +5FE0 +8540 +ENDCHAR +STARTCHAR U_36F6 +ENCODING 14070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4120 +47E0 +FC00 +57E0 +5480 +96A0 +65C0 +2480 +5140 +8E20 +ENDCHAR +STARTCHAR U_36F7 +ENCODING 14071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D40 +1120 +FFE0 +3980 +56A0 +94E0 +0800 +FFE0 +1900 +0600 +79C0 +ENDCHAR +STARTCHAR U_36F8 +ENCODING 14072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +47E0 +F900 +4FC0 +5000 +97C0 +6440 +27C0 +5280 +8FE0 +ENDCHAR +STARTCHAR U_36F9 +ENCODING 14073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +4BE0 +4880 +EBE0 +5AA0 +ABE0 +AAA0 +ABE0 +4A80 +4900 +AAE0 +ENDCHAR +STARTCHAR U_36FA +ENCODING 14074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4440 +F280 +5FE0 +5000 +97C0 +6440 +27C0 +5440 +8FC0 +ENDCHAR +STARTCHAR U_36FB +ENCODING 14075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +F280 +5540 +5BA0 +9100 +A7E0 +6100 +23C0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_36FC +ENCODING 14076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4700 +4100 +F7E0 +5100 +5360 +9520 +6560 +2720 +5520 +87E0 +ENDCHAR +STARTCHAR U_36FD +ENCODING 14077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F820 +5540 +9380 +A100 +AFE0 +6380 +2540 +5920 +8100 +ENDCHAR +STARTCHAR U_36FE +ENCODING 14078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40A0 +4080 +4FE0 +E880 +AF80 +A880 +AEA0 +AA40 +4EC0 +A940 +9620 +ENDCHAR +STARTCHAR U_36FF +ENCODING 14079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +4540 +4FE0 +F540 +5FE0 +5920 +97C0 +5540 +2540 +5100 +8900 +ENDCHAR +STARTCHAR U_3700 +ENCODING 14080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +44E0 +5FA0 +E4A0 +AEE0 +ADA0 +B5A0 +A4E0 +44A0 +64A0 +84E0 +ENDCHAR +STARTCHAR U_3701 +ENCODING 14081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2380 +F540 +5FE0 +5440 +97C0 +6440 +27C0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_3702 +ENCODING 14082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +73E0 +2040 +FA40 +2140 +7140 +2440 +FFE0 +1100 +0F00 +7C80 +ENDCHAR +STARTCHAR U_3703 +ENCODING 14083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +5480 +FFE0 +5400 +55C0 +9400 +95C0 +6400 +25C0 +5540 +85C0 +ENDCHAR +STARTCHAR U_3704 +ENCODING 14084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +44C0 +5740 +F540 +57C0 +5540 +97C0 +E540 +25C0 +5740 +8820 +ENDCHAR +STARTCHAR U_3705 +ENCODING 14085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +F100 +5680 +5300 +9640 +97C0 +5540 +27C0 +5540 +87C0 +ENDCHAR +STARTCHAR U_3706 +ENCODING 14086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +51C0 +EBE0 +7C80 +A9C0 +A9C0 +AAA0 +6CA0 +2880 +5680 +81E0 +ENDCHAR +STARTCHAR U_3707 +ENCODING 14087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +57C0 +F100 +5FE0 +5100 +57C0 +9100 +5FE0 +2240 +5D60 +87C0 +ENDCHAR +STARTCHAR U_3708 +ENCODING 14088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79C0 +1240 +F9C0 +3EA0 +53C0 +9140 +3640 +FFE0 +0900 +0F00 +7880 +ENDCHAR +STARTCHAR U_3709 +ENCODING 14089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +4540 +52A0 +F7E0 +5420 +57E0 +9520 +67E0 +2400 +5420 +87E0 +ENDCHAR +STARTCHAR U_370A +ENCODING 14090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4420 +57E0 +F540 +57E0 +5540 +97E0 +5540 +2560 +5540 +89A0 +ENDCHAR +STARTCHAR U_370B +ENCODING 14091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4280 +5FE0 +E280 +A440 +A820 +B020 +6FE0 +2AA0 +5AA0 +9FE0 +ENDCHAR +STARTCHAR U_370C +ENCODING 14092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2240 +FA60 +0400 +FBC0 +AA40 +FA40 +5140 +3180 +DE60 +ENDCHAR +STARTCHAR U_370D +ENCODING 14093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +E900 +6FC0 +A940 +AFE0 +A940 +AFC0 +6A40 +6A40 +93C0 +ENDCHAR +STARTCHAR U_370E +ENCODING 14094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +5520 +F2C0 +5100 +5780 +5240 +97E0 +5100 +27E0 +5240 +8420 +ENDCHAR +STARTCHAR U_370F +ENCODING 14095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +5240 +F7E0 +5420 +57E0 +5420 +97E0 +5420 +27E0 +5240 +8420 +ENDCHAR +STARTCHAR U_3710 +ENCODING 14096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4540 +57C0 +F000 +57C0 +5000 +57C0 +5440 +27C0 +5280 +8FE0 +ENDCHAR +STARTCHAR U_3711 +ENCODING 14097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2FE0 +8540 +57C0 +2540 +C7C0 +4D40 +FFE0 +1100 +1F00 +70C0 +ENDCHAR +STARTCHAR U_3712 +ENCODING 14098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42E0 +4420 +5660 +F420 +5660 +5240 +97E0 +5240 +2240 +5240 +8440 +ENDCHAR +STARTCHAR U_3713 +ENCODING 14099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5EE0 +F540 +5100 +5280 +5440 +9BA0 +5000 +27C0 +5440 +87C0 +ENDCHAR +STARTCHAR U_3714 +ENCODING 14100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +5280 +FFE0 +5000 +57C0 +9440 +57C0 +2280 +52A0 +8C60 +ENDCHAR +STARTCHAR U_3715 +ENCODING 14101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +47E0 +F2A0 +6BE0 +BEA0 +ABE0 +A880 +6BE0 +2880 +5680 +81E0 +ENDCHAR +STARTCHAR U_3716 +ENCODING 14102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +5FE0 +4AA0 +FFE0 +AAA0 +AFE0 +A440 +67C0 +2440 +57C0 +8440 +ENDCHAR +STARTCHAR U_3717 +ENCODING 14103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4FC0 +4AA0 +FFE0 +A200 +A500 +AAE0 +7D00 +26C0 +5300 +8C00 +ENDCHAR +STARTCHAR U_3718 +ENCODING 14104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +4100 +EFE0 +6AA0 +AFC0 +AA40 +ABC0 +6A40 +2BC0 +5A40 +97E0 +ENDCHAR +STARTCHAR U_3719 +ENCODING 14105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4FE0 +EA80 +6FE0 +AAA0 +AFE0 +AA40 +AB60 +6A40 +5AC0 +9360 +ENDCHAR +STARTCHAR U_371A +ENCODING 14106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +E820 +65E0 +A480 +ADE0 +A520 +65E0 +2520 +55E0 +8520 +ENDCHAR +STARTCHAR U_371B +ENCODING 14107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5FE0 +4440 +FF40 +5540 +5F40 +9540 +5F40 +24A0 +5FA0 +8520 +ENDCHAR +STARTCHAR U_371C +ENCODING 14108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5EE0 +E5A0 +6EA0 +A8A0 +BE40 +A840 +6E40 +2AA0 +5AA0 +9520 +ENDCHAR +STARTCHAR U_371D +ENCODING 14109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4280 +5D60 +F7C0 +5080 +5FE0 +9280 +6FE0 +2AA0 +5D60 +8FE0 +ENDCHAR +STARTCHAR U_371E +ENCODING 14110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FB80 +2200 +FBE0 +AA80 +FA80 +AC80 +FFE0 +2900 +1E00 +7180 +ENDCHAR +STARTCHAR U_371F +ENCODING 14111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4D00 +4500 +FFE0 +5540 +5D40 +5540 +9C80 +5480 +3D40 +5540 +8620 +ENDCHAR +STARTCHAR U_3720 +ENCODING 14112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4920 +FFE0 +5480 +57E0 +5C80 +97E0 +6480 +27E0 +5480 +87E0 +ENDCHAR +STARTCHAR U_3721 +ENCODING 14113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +4940 +F6A0 +A800 +B880 +A880 +AAE0 +4A80 +6B80 +5A80 +8C60 +ENDCHAR +STARTCHAR U_3722 +ENCODING 14114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +F540 +6FE0 +A540 +A7C0 +A540 +6FE0 +2240 +5180 +8E40 +ENDCHAR +STARTCHAR U_3723 +ENCODING 14115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +4EC0 +F2A0 +ABE0 +B480 +AC80 +A940 +5220 +6000 +5540 +92A0 +ENDCHAR +STARTCHAR U_3724 +ENCODING 14116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4280 +EFE0 +AAA0 +AFE0 +A440 +A7C0 +6540 +2FE0 +5100 +8100 +ENDCHAR +STARTCHAR U_3725 +ENCODING 14117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +FFE0 +5440 +57C0 +5440 +97C0 +6440 +27C0 +5440 +8820 +ENDCHAR +STARTCHAR U_3726 +ENCODING 14118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4040 +EFE0 +6040 +AFE0 +A4A0 +AEE0 +6080 +5FE0 +4480 +8180 +ENDCHAR +STARTCHAR U_3727 +ENCODING 14119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4D40 +FA60 +6FC0 +AA40 +AAC0 +AFC0 +6A40 +2A40 +5AA0 +9520 +ENDCHAR +STARTCHAR U_3728 +ENCODING 14120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +EFE0 +6AA0 +A9C0 +AEA0 +AA80 +4FE0 +6880 +5FE0 +9080 +ENDCHAR +STARTCHAR U_3729 +ENCODING 14121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4FE0 +EB60 +6DA0 +AB20 +AFE0 +ABA0 +6540 +2FE0 +5300 +8CE0 +ENDCHAR +STARTCHAR U_372A +ENCODING 14122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FD80 +4900 +FDE0 +1140 +FE40 +5440 +FFE0 +0900 +1200 +7F80 +ENDCHAR +STARTCHAR U_372B +ENCODING 14123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +5A80 +EFE0 +B8A0 +AFA0 +B040 +D540 +5540 +7540 +95A0 +98A0 +ENDCHAR +STARTCHAR U_372C +ENCODING 14124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4480 +EFE0 +AAA0 +AFE0 +A800 +ABE0 +6800 +2BE0 +5A20 +93E0 +ENDCHAR +STARTCHAR U_372D +ENCODING 14125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +4540 +FFE0 +B020 +A7C0 +A440 +AFE0 +6920 +2FE0 +5920 +8FE0 +ENDCHAR +STARTCHAR U_372E +ENCODING 14126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F40 +4A40 +FFE0 +6900 +AF00 +AAE0 +AF00 +6000 +3FE0 +4AA0 +9FE0 +ENDCHAR +STARTCHAR U_372F +ENCODING 14127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +EFA0 +68E0 +AF80 +AA80 +AAA0 +4FE0 +6000 +5D40 +92A0 +ENDCHAR +STARTCHAR U_3730 +ENCODING 14128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4520 +4BC0 +FEE0 +67A0 +AAC0 +BFE0 +A100 +7FE0 +2380 +5540 +9920 +ENDCHAR +STARTCHAR U_3731 +ENCODING 14129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4880 +EFE0 +6AA0 +B7E0 +A440 +A7C0 +6440 +27C0 +5440 +8820 +ENDCHAR +STARTCHAR U_3732 +ENCODING 14130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +5400 +F7C0 +5440 +5FE0 +AAA0 +6FA0 +2AE0 +5FA0 +92A0 +ENDCHAR +STARTCHAR U_3733 +ENCODING 14131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +EAA0 +6FE0 +A920 +A7C0 +A920 +6240 +2D80 +5480 +8E60 +ENDCHAR +STARTCHAR U_3734 +ENCODING 14132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4EE0 +E280 +6FE0 +AAA0 +AFE0 +A820 +67C0 +2540 +56C0 +87C0 +ENDCHAR +STARTCHAR U_3735 +ENCODING 14133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +E480 +67C0 +A480 +A7C0 +A480 +77E0 +2AA0 +5DC0 +8660 +ENDCHAR +STARTCHAR U_3736 +ENCODING 14134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +45E0 +EC20 +77E0 +A5A0 +A6E0 +A500 +6FE0 +3520 +57C0 +8CE0 +ENDCHAR +STARTCHAR U_3737 +ENCODING 14135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +2540 +EFE0 +8B60 +EDA0 +2B60 +6DA0 +0880 +FFE0 +1100 +7FC0 +ENDCHAR +STARTCHAR U_3738 +ENCODING 14136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +4080 +FBE0 +8940 +F3E0 +8880 +FFE0 +1080 +1F00 +E0C0 +ENDCHAR +STARTCHAR U_3739 +ENCODING 14137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +EEE0 +6AA0 +AEE0 +A480 +AFE0 +7480 +27E0 +5480 +87E0 +ENDCHAR +STARTCHAR U_373A +ENCODING 14138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +5FE0 +4440 +FFE0 +6CC0 +B7E0 +A440 +67C0 +2440 +57C0 +8820 +ENDCHAR +STARTCHAR U_373B +ENCODING 14139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +53C0 +ECA0 +6BC0 +BC40 +ABE0 +B6A0 +6BC0 +2540 +54A0 +8BE0 +ENDCHAR +STARTCHAR U_373C +ENCODING 14140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4540 +E7C0 +A540 +AFE0 +AAA0 +AFE0 +6AA0 +2380 +5280 +8FE0 +ENDCHAR +STARTCHAR U_373D +ENCODING 14141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +4480 +2240 +3F80 +0200 +0440 +FFE0 +0400 +0400 +1C00 +0400 +ENDCHAR +STARTCHAR U_373E +ENCODING 14142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +1300 +2480 +2840 +34A0 +6480 +A480 +2480 +2480 +A480 +4880 +ENDCHAR +STARTCHAR U_373F +ENCODING 14143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +2080 +4300 +4100 +6FE0 +C140 +4100 +4100 +4100 +C500 +4300 +ENDCHAR +STARTCHAR U_3740 +ENCODING 14144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +6840 +5880 +4880 +FFE0 +6880 +5880 +4880 +FC80 +0980 +1880 +ENDCHAR +STARTCHAR U_3741 +ENCODING 14145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +5120 +9F20 +1120 +1F20 +00C0 +3F00 +0240 +FFE0 +0200 +0E00 +ENDCHAR +STARTCHAR U_3742 +ENCODING 14146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F460 +2580 +5F00 +45E0 +7540 +C740 +4D40 +5540 +4540 +4540 +CA40 +ENDCHAR +STARTCHAR U_3743 +ENCODING 14147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +23C0 +2480 +2FE0 +3520 +E520 +27E0 +2180 +2280 +A2A0 +6CE0 +ENDCHAR +STARTCHAR U_3744 +ENCODING 14148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +4BE0 +7880 +02A0 +FAA0 +13E0 +38A0 +E080 +20A0 +60E0 +ENDCHAR +STARTCHAR U_3745 +ENCODING 14149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2240 +FA20 +8C00 +73C0 +0040 +7280 +3900 +E280 +2460 +ENDCHAR +STARTCHAR U_3746 +ENCODING 14150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2100 +27C0 +3440 +E7C0 +2440 +2280 +2FE0 +A440 +67C0 +ENDCHAR +STARTCHAR U_3747 +ENCODING 14151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +0000 +7BC0 +4A40 +7BC0 +0000 +7BC0 +1880 +F3E0 +3180 +ENDCHAR +STARTCHAR U_3748 +ENCODING 14152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5EA0 +E1C0 +5EA0 +F1E0 +4E80 +FBE0 +2E40 +FBE0 +2040 +60C0 +ENDCHAR +STARTCHAR U_3749 +ENCODING 14153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 1 +BITMAP +0800 +0400 +FFE0 +8020 +8020 +0000 +0000 +7FC0 +ENDCHAR +STARTCHAR U_374A +ENCODING 14154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +8040 +3F80 +1100 +1100 +0A00 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_374B +ENCODING 14155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FE0 +4040 +BF00 +0200 +0400 +0400 +0400 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_374C +ENCODING 14156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +8840 +0F80 +1100 +2200 +0600 +0900 +3080 +C060 +ENDCHAR +STARTCHAR U_374D +ENCODING 14157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9040 +1F00 +1000 +3F80 +0080 +FFE0 +0080 +0680 +0100 +ENDCHAR +STARTCHAR U_374E +ENCODING 14158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4220 +7FE0 +8840 +0400 +3F80 +0100 +0600 +1800 +6C00 +03E0 +ENDCHAR +STARTCHAR U_374F +ENCODING 14159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FE0 +4040 +8480 +0A00 +1100 +2980 +C960 +0900 +1100 +2100 +ENDCHAR +STARTCHAR U_3750 +ENCODING 14160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +8A40 +1100 +2480 +C460 +0800 +1080 +27C0 +7840 +ENDCHAR +STARTCHAR U_3751 +ENCODING 14161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +8820 +0400 +FFE0 +0800 +0FC0 +0840 +1040 +2040 +C180 +ENDCHAR +STARTCHAR U_3752 +ENCODING 14162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +8020 +0400 +7FC0 +0400 +0400 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_3753 +ENCODING 14163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +0E00 +3180 +C060 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3754 +ENCODING 14164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0800 +0400 +FFC0 +8840 +0400 +FFC0 +1200 +6180 +1E00 +0C00 +F3C0 +ENDCHAR +STARTCHAR U_3755 +ENCODING 14165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0800 +FFC0 +9040 +0800 +6280 +9E40 +0000 +7F80 +2100 +1E00 +E1C0 +ENDCHAR +STARTCHAR U_3756 +ENCODING 14166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +0F80 +3900 +0600 +7C00 +0780 +3880 +0500 +7E00 +ENDCHAR +STARTCHAR U_3757 +ENCODING 14167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +3F80 +2080 +3F80 +2080 +3F80 +2480 +2700 +38C0 +ENDCHAR +STARTCHAR U_3758 +ENCODING 14168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +0400 +FFE0 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3759 +ENCODING 14169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +8040 +3FC0 +0400 +3F80 +0400 +7FC0 +0000 +FFE0 +2080 +ENDCHAR +STARTCHAR U_375A +ENCODING 14170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +8040 +7080 +1700 +2500 +35C0 +5500 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_375B +ENCODING 14171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +9040 +2FC0 +4200 +9FC0 +5240 +5540 +58C0 +5040 +5FC0 +ENDCHAR +STARTCHAR U_375C +ENCODING 14172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +A140 +7FC0 +2100 +FFE0 +0000 +7FC0 +4640 +5840 +7FC0 +ENDCHAR +STARTCHAR U_375D +ENCODING 14173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +2080 +FBE0 +2080 +71C0 +AAC0 +24A0 +2080 +2080 +ENDCHAR +STARTCHAR U_375E +ENCODING 14174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +7FC0 +0A00 +7BC0 +4040 +4040 +7BC0 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_375F +ENCODING 14175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +BFA0 +0000 +3F80 +2080 +3F80 +2080 +3F80 +0A20 +F3E0 +ENDCHAR +STARTCHAR U_3760 +ENCODING 14176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +2080 +3F80 +2080 +3F80 +0400 +7FC0 +1100 +ENDCHAR +STARTCHAR U_3761 +ENCODING 14177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +7E00 +25E0 +3D20 +2520 +3D40 +2480 +7D40 +0620 +ENDCHAR +STARTCHAR U_3762 +ENCODING 14178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +80A0 +3F80 +0400 +3F80 +2480 +3F80 +4540 +4F40 +4040 +ENDCHAR +STARTCHAR U_3763 +ENCODING 14179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A020 +7BC0 +2140 +FA40 +24C0 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3764 +ENCODING 14180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5120 +FFE0 +1100 +7FC0 +2480 +3F80 +2480 +FFE0 +2080 +ENDCHAR +STARTCHAR U_3765 +ENCODING 14181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +8020 +5920 +5540 +7FE0 +1100 +F380 +5540 +5920 +9100 +ENDCHAR +STARTCHAR U_3766 +ENCODING 14182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +9220 +1FC0 +7200 +1F80 +1200 +7FE0 +0980 +1040 +60C0 +ENDCHAR +STARTCHAR U_3767 +ENCODING 14183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7FC0 +1100 +0E00 +3580 +5540 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3768 +ENCODING 14184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +3F80 +0400 +FFE0 +2080 +3F80 +2240 +E980 +30E0 +ENDCHAR +STARTCHAR U_3769 +ENCODING 14185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8820 +7FC0 +4480 +7FE0 +4480 +7F80 +5480 +4D00 +B4C0 +ENDCHAR +STARTCHAR U_376A +ENCODING 14186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A120 +7900 +27C0 +F940 +5340 +F9C0 +2140 +FA60 +2C20 +ENDCHAR +STARTCHAR U_376B +ENCODING 14187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +77C0 +5A40 +7580 +57E0 +5900 +67C0 +4100 +4FE0 +ENDCHAR +STARTCHAR U_376C +ENCODING 14188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +A5E0 +7880 +2080 +7BE0 +2080 +FC80 +4940 +4A40 +7C20 +ENDCHAR +STARTCHAR U_376D +ENCODING 14189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +27C0 +24C0 +B540 +A7C0 +B900 +27C0 +2100 +3FE0 +ENDCHAR +STARTCHAR U_376E +ENCODING 14190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +A800 +FFC0 +AA40 +FA40 +0180 +F980 +7240 +AC20 +ENDCHAR +STARTCHAR U_376F +ENCODING 14191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +0400 +FFE0 +5140 +BFA0 +2A80 +2E80 +2180 +ENDCHAR +STARTCHAR U_3770 +ENCODING 14192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8820 +3F80 +2480 +FFE0 +A4A0 +5F40 +0400 +0F80 +3180 +ENDCHAR +STARTCHAR U_3771 +ENCODING 14193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +82A0 +5FC0 +5280 +7FE0 +1AA0 +7FE0 +5340 +5080 +9F00 +ENDCHAR +STARTCHAR U_3772 +ENCODING 14194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +82A0 +57C0 +5540 +77E0 +19A0 +F280 +5FE0 +9540 +1100 +ENDCHAR +STARTCHAR U_3773 +ENCODING 14195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +0400 +2540 +24A0 +44A0 +8400 +1400 +0800 +ENDCHAR +STARTCHAR U_3774 +ENCODING 14196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +7040 +07E0 +0040 +FA40 +5140 +5040 +5140 +5080 +9020 +8FE0 +ENDCHAR +STARTCHAR U_3775 +ENCODING 14197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +2880 +3F80 +0000 +3F80 +0100 +FFE0 +2100 +1100 +0300 +ENDCHAR +STARTCHAR U_3776 +ENCODING 14198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4940 +7FC0 +0A20 +1220 +E1E0 +0100 +FFE0 +2100 +1100 +0300 +ENDCHAR +STARTCHAR U_3777 +ENCODING 14199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +3F80 +0080 +7FC0 +2540 +FA60 +0520 +FFE0 +2100 +1300 +ENDCHAR +STARTCHAR U_3778 +ENCODING 14200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2580 +D460 +3F80 +2080 +3F80 +2080 +3F80 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_3779 +ENCODING 14201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2480 +C740 +0E20 +F200 +1F80 +6480 +3F80 +0B00 +12A0 +E1E0 +ENDCHAR +STARTCHAR U_377A +ENCODING 14202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FC80 +5080 +FDC0 +55A0 +FEA0 +54A0 +FCC0 +5880 +D500 +5600 +ENDCHAR +STARTCHAR U_377B +ENCODING 14203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FC80 +5080 +F9C0 +AAA0 +FCA0 +2080 +F8C0 +2080 +3900 +E600 +ENDCHAR +STARTCHAR U_377C +ENCODING 14204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +43C0 +F880 +5080 +57E0 +5080 +5080 +5280 +5100 +9020 +8FE0 +ENDCHAR +STARTCHAR U_377D +ENCODING 14205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4080 +F880 +57A0 +51C0 +52C0 +5CA0 +5080 +5180 +9020 +8FE0 +ENDCHAR +STARTCHAR U_377E +ENCODING 14206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +FBE0 +5100 +51E0 +5240 +5240 +55E0 +5000 +9020 +8FE0 +ENDCHAR +STARTCHAR U_377F +ENCODING 14207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +FD40 +5500 +57C0 +5640 +5580 +5A80 +5460 +9020 +8FE0 +ENDCHAR +STARTCHAR U_3780 +ENCODING 14208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +4FE0 +FA80 +52A0 +55C0 +5480 +5940 +5620 +9020 +8FE0 +ENDCHAR +STARTCHAR U_3781 +ENCODING 14209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +47C0 +FC40 +57C0 +5400 +57C0 +5440 +53C0 +9020 +8FE0 +ENDCHAR +STARTCHAR U_3782 +ENCODING 14210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +4640 +FD40 +5280 +57E0 +5240 +5240 +5180 +5660 +9020 +8FE0 +ENDCHAR +STARTCHAR U_3783 +ENCODING 14211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5140 +4920 +8500 +27E0 +3140 +4940 +8540 +7940 +4A40 +4A40 +7C60 +ENDCHAR +STARTCHAR U_3784 +ENCODING 14212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4540 +FFE0 +5540 +57C0 +5540 +57C0 +5100 +90E0 +8FC0 +ENDCHAR +STARTCHAR U_3785 +ENCODING 14213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4540 +FFC0 +5540 +57C0 +5100 +5FE0 +5540 +5920 +9020 +8FE0 +ENDCHAR +STARTCHAR U_3786 +ENCODING 14214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +4280 +FC40 +57E0 +5040 +5740 +5540 +5740 +90A0 +8FE0 +ENDCHAR +STARTCHAR U_3787 +ENCODING 14215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4540 +FFC0 +5540 +5FE0 +5540 +5580 +5480 +5660 +9020 +8FE0 +ENDCHAR +STARTCHAR U_3788 +ENCODING 14216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +FC20 +57E0 +5400 +57E0 +5AA0 +5FE0 +52A0 +9020 +8FE0 +ENDCHAR +STARTCHAR U_3789 +ENCODING 14217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +47E0 +F900 +53C0 +5100 +57E0 +5280 +5480 +5BE0 +9020 +8FE0 +ENDCHAR +STARTCHAR U_378A +ENCODING 14218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +F900 +AFE0 +F940 +0140 +7140 +0140 +F940 +7240 +AA40 +2460 +ENDCHAR +STARTCHAR U_378B +ENCODING 14219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4000 +7FC0 +5040 +4880 +4500 +4200 +8D80 +F060 +ENDCHAR +STARTCHAR U_378C +ENCODING 14220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4000 +4F80 +4100 +7FE0 +4200 +4200 +8200 +8600 +ENDCHAR +STARTCHAR U_378D +ENCODING 14221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4400 +4400 +5F80 +4480 +4C80 +4480 +8AA0 +B060 +ENDCHAR +STARTCHAR U_378E +ENCODING 14222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4000 +5FC0 +5240 +5FC0 +5000 +5020 +9020 +8FE0 +ENDCHAR +STARTCHAR U_378F +ENCODING 14223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4000 +5FC0 +4200 +5F80 +4080 +4300 +8C00 +B3E0 +ENDCHAR +STARTCHAR U_3790 +ENCODING 14224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4800 +4400 +7FC0 +4000 +5080 +4880 +4900 +BFE0 +ENDCHAR +STARTCHAR U_3791 +ENCODING 14225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4000 +4200 +5AE0 +4200 +5AE0 +4200 +8220 +81E0 +ENDCHAR +STARTCHAR U_3792 +ENCODING 14226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4400 +5FC0 +5040 +5FC0 +5040 +5FC0 +9040 +9FC0 +ENDCHAR +STARTCHAR U_3793 +ENCODING 14227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +5000 +5FC0 +5020 +4FE0 +5040 +5FC0 +9040 +9FC0 +ENDCHAR +STARTCHAR U_3794 +ENCODING 14228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4400 +4F80 +5500 +46E0 +5B20 +4540 +8180 +9E00 +ENDCHAR +STARTCHAR U_3795 +ENCODING 14229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4880 +5FC0 +68A0 +4F80 +4880 +4F80 +8880 +8980 +ENDCHAR +STARTCHAR U_3796 +ENCODING 14230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4200 +7FE0 +4200 +5FC0 +5240 +57C0 +8A80 +B260 +ENDCHAR +STARTCHAR U_3797 +ENCODING 14231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4280 +4240 +7FE0 +5220 +4B40 +4A80 +B260 +8600 +ENDCHAR +STARTCHAR U_3798 +ENCODING 14232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4000 +5FE0 +4600 +5B20 +4DC0 +5B40 +8520 +9A00 +ENDCHAR +STARTCHAR U_3799 +ENCODING 14233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4200 +4F80 +4200 +5FC0 +4220 +5BE0 +8A80 +B640 +ENDCHAR +STARTCHAR U_379A +ENCODING 14234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4000 +4F80 +4200 +7FE0 +5240 +5AC0 +5240 +9FC0 +ENDCHAR +STARTCHAR U_379B +ENCODING 14235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4A00 +73C0 +4A20 +71E0 +5240 +53C0 +5240 +93C0 +ENDCHAR +STARTCHAR U_379C +ENCODING 14236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4B80 +5100 +6FE0 +5540 +7FE0 +5240 +9180 +9660 +ENDCHAR +STARTCHAR U_379D +ENCODING 14237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +7FE0 +4D00 +48A0 +7E40 +AAA0 +BFC0 +2040 +3FC0 +2000 +4000 +ENDCHAR +STARTCHAR U_379E +ENCODING 14238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4A80 +72C0 +4D20 +7100 +55C0 +5500 +9700 +98E0 +ENDCHAR +STARTCHAR U_379F +ENCODING 14239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4880 +7FE0 +4500 +5FC0 +5540 +7FE0 +4880 +B060 +ENDCHAR +STARTCHAR U_37A0 +ENCODING 14240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4200 +7FE0 +54A0 +4FC0 +7960 +4FC0 +8A80 +B260 +ENDCHAR +STARTCHAR U_37A1 +ENCODING 14241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4880 +7DE0 +4880 +7DE0 +4A20 +5D40 +A880 +8C60 +ENDCHAR +STARTCHAR U_37A2 +ENCODING 14242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +4440 +4440 +4440 +4440 +7FC0 +0400 +0400 +0440 +FFE0 +ENDCHAR +STARTCHAR U_37A3 +ENCODING 14243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +1800 +E000 +1900 +60C0 +9FA0 +0880 +3080 +C300 +ENDCHAR +STARTCHAR U_37A4 +ENCODING 14244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +0000 +0400 +0400 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_37A5 +ENCODING 14245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +0000 +0800 +0400 +0A00 +1200 +2180 +C060 +ENDCHAR +STARTCHAR U_37A6 +ENCODING 14246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2280 +2280 +AA80 +AA80 +AA80 +AA80 +BAA0 +EAA0 +04A0 +1860 +ENDCHAR +STARTCHAR U_37A7 +ENCODING 14247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +0000 +7FC0 +0880 +11E0 +1020 +2020 +C0C0 +ENDCHAR +STARTCHAR U_37A8 +ENCODING 14248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +2080 +A900 +A900 +AFE0 +A900 +B900 +E900 +0100 +0300 +ENDCHAR +STARTCHAR U_37A9 +ENCODING 14249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +0000 +1F00 +1100 +1D00 +1320 +2120 +C0E0 +ENDCHAR +STARTCHAR U_37AA +ENCODING 14250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +3F80 +0080 +FFE0 +0000 +0400 +4440 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_37AB +ENCODING 14251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +0800 +0400 +7FC0 +0300 +0C00 +7000 +9FE0 +ENDCHAR +STARTCHAR U_37AC +ENCODING 14252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +4440 +4440 +7FC0 +0000 +7FC0 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_37AD +ENCODING 14253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +1100 +2080 +C060 +0400 +4440 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_37AE +ENCODING 14254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +0800 +0800 +17C0 +2080 +CD00 +0200 +0180 +ENDCHAR +STARTCHAR U_37AF +ENCODING 14255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +0040 +FFC0 +8000 +8020 +7FE0 +0000 +0400 +8420 +8420 +FFE0 +ENDCHAR +STARTCHAR U_37B0 +ENCODING 14256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +21E0 +AA80 +AC80 +A880 +ABE0 +B880 +E880 +0080 +0080 +ENDCHAR +STARTCHAR U_37B1 +ENCODING 14257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +8420 +8420 +FFE0 +0000 +7FC0 +4040 +7FC0 +4040 +4040 +7FC0 +ENDCHAR +STARTCHAR U_37B2 +ENCODING 14258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +2080 +ABE0 +AAA0 +AAA0 +AAA0 +BBE0 +E880 +0080 +0080 +ENDCHAR +STARTCHAR U_37B3 +ENCODING 14259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2480 +2280 +A880 +AC80 +AA80 +A8E0 +BF80 +E880 +0080 +0080 +ENDCHAR +STARTCHAR U_37B4 +ENCODING 14260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +AA80 +AA80 +ABE0 +AA80 +AA80 +AA80 +FAA0 +0360 +0220 +ENDCHAR +STARTCHAR U_37B5 +ENCODING 14261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +8420 +8420 +FFE0 +0800 +0400 +FFE0 +1100 +0E00 +1300 +E0E0 +ENDCHAR +STARTCHAR U_37B6 +ENCODING 14262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +27E0 +AA40 +AA40 +AA80 +AA80 +B900 +E280 +0440 +0820 +ENDCHAR +STARTCHAR U_37B7 +ENCODING 14263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +1800 +6000 +7FC0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_37B8 +ENCODING 14264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +0000 +FFE0 +0C00 +3700 +C4C0 +0420 +0400 +ENDCHAR +STARTCHAR U_37B9 +ENCODING 14265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2040 +2040 +AF40 +A940 +A940 +AF40 +B840 +E840 +0040 +00C0 +ENDCHAR +STARTCHAR U_37BA +ENCODING 14266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +2000 +3FC0 +4400 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_37BB +ENCODING 14267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0000 +3F80 +2080 +FFE0 +1000 +3F80 +0080 +0700 +ENDCHAR +STARTCHAR U_37BC +ENCODING 14268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0200 +0420 +F640 +0D80 +3480 +C460 +0C00 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_37BD +ENCODING 14269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +2FE0 +A900 +A920 +A960 +A940 +B940 +E880 +8CA0 +0960 +ENDCHAR +STARTCHAR U_37BE +ENCODING 14270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +2220 +ABE0 +AA00 +AA80 +AAA0 +BAC0 +EC80 +04A0 +08E0 +ENDCHAR +STARTCHAR U_37BF +ENCODING 14271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0000 +0400 +7FC0 +0400 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_37C0 +ENCODING 14272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E00 +0400 +FFE0 +1500 +E4E0 +0000 +0400 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_37C1 +ENCODING 14273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2200 +2200 +AAE0 +AA40 +AA40 +ABE0 +BA40 +EA40 +0440 +0440 +ENDCHAR +STARTCHAR U_37C2 +ENCODING 14274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +22C0 +AA40 +AFE0 +AA40 +AAC0 +BA40 +EBE0 +0040 +00C0 +ENDCHAR +STARTCHAR U_37C3 +ENCODING 14275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2020 +23A0 +A820 +ABA0 +AAA0 +AAA0 +AAA0 +FBA0 +0020 +00E0 +ENDCHAR +STARTCHAR U_37C4 +ENCODING 14276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +2FE0 +A100 +AFC0 +A900 +A900 +AFE0 +F900 +0100 +0100 +ENDCHAR +STARTCHAR U_37C5 +ENCODING 14277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +A920 +AAA0 +A820 +AFE0 +AA80 +BA80 +EAA0 +04A0 +0860 +ENDCHAR +STARTCHAR U_37C6 +ENCODING 14278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +22A0 +26C0 +AB80 +AAA0 +AA60 +A900 +AFE0 +F900 +0100 +0100 +ENDCHAR +STARTCHAR U_37C7 +ENCODING 14279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +2540 +AD40 +ABA0 +ABA0 +A900 +AFC0 +F900 +0100 +0FE0 +ENDCHAR +STARTCHAR U_37C8 +ENCODING 14280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +A7E0 +A900 +AD40 +AB80 +A980 +BB40 +E520 +0920 +0300 +ENDCHAR +STARTCHAR U_37C9 +ENCODING 14281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23E0 +AA20 +A880 +AA80 +ABE0 +AC80 +BBE0 +C880 +0080 +0080 +ENDCHAR +STARTCHAR U_37CA +ENCODING 14282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +24A0 +AA40 +A800 +ABC0 +A880 +AFE0 +F900 +0100 +0300 +ENDCHAR +STARTCHAR U_37CB +ENCODING 14283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +27C0 +A440 +A440 +AFC0 +AA80 +BA80 +EAA0 +04A0 +0860 +ENDCHAR +STARTCHAR U_37CC +ENCODING 14284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +AA00 +AFA0 +AA40 +AAA0 +AA40 +BAA0 +ED40 +05A0 +08E0 +ENDCHAR +STARTCHAR U_37CD +ENCODING 14285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +23E0 +AA20 +ABE0 +AA20 +ABE0 +BA80 +EAA0 +0240 +0320 +ENDCHAR +STARTCHAR U_37CE +ENCODING 14286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2700 +2920 +A4A0 +AA40 +A900 +AFE0 +B940 +EA40 +0180 +0660 +ENDCHAR +STARTCHAR U_37CF +ENCODING 14287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2180 +2240 +AD20 +A880 +ABE0 +A840 +BBE0 +EA20 +0220 +03E0 +ENDCHAR +STARTCHAR U_37D0 +ENCODING 14288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2440 +A900 +A880 +AFE0 +AA00 +BA00 +EA00 +0200 +03E0 +ENDCHAR +STARTCHAR U_37D1 +ENCODING 14289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +A100 +A7E0 +AC20 +ABC0 +A840 +BFE0 +E880 +0080 +0180 +ENDCHAR +STARTCHAR U_37D2 +ENCODING 14290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0000 +3F80 +1480 +1280 +FFE0 +2000 +5F80 +9080 +1F80 +ENDCHAR +STARTCHAR U_37D3 +ENCODING 14291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2660 +2180 +A660 +A100 +AFE0 +AA80 +AFE0 +BAA0 +EAA0 +02A0 +0080 +ENDCHAR +STARTCHAR U_37D4 +ENCODING 14292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0400 +0A00 +3180 +4440 +9F20 +0200 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_37D5 +ENCODING 14293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0280 +F980 +8C80 +8A80 +88E0 +8F80 +F880 +0080 +ENDCHAR +STARTCHAR U_37D6 +ENCODING 14294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0000 +7FC0 +0400 +3F80 +0400 +FFE0 +0900 +3F80 +1100 +ENDCHAR +STARTCHAR U_37D7 +ENCODING 14295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2500 +B5A0 +CE60 +FFE0 +94A0 +D6A0 +A520 +8420 +FFE0 +8020 +ENDCHAR +STARTCHAR U_37D8 +ENCODING 14296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0820 +2920 +2BA0 +A920 +ABA0 +A820 +ABA0 +AAA0 +FBA0 +1060 +ENDCHAR +STARTCHAR U_37D9 +ENCODING 14297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +2240 +A240 +AFE0 +A800 +AFE0 +BC20 +EFE0 +0420 +07E0 +ENDCHAR +STARTCHAR U_37DA +ENCODING 14298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +73E0 +6940 +A880 +2360 +0400 +2480 +2480 +3F80 +ENDCHAR +STARTCHAR U_37DB +ENCODING 14299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2480 +3F80 +0000 +2240 +F7E0 +3240 +63C0 +A240 +2240 +63C0 +ENDCHAR +STARTCHAR U_37DC +ENCODING 14300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +8880 +FF80 +0400 +EFC0 +2880 +F200 +8A80 +EA40 +3240 +C600 +ENDCHAR +STARTCHAR U_37DD +ENCODING 14301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +2220 +AA40 +A940 +AFE0 +A800 +BBE0 +EA20 +0220 +03E0 +ENDCHAR +STARTCHAR U_37DE +ENCODING 14302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +AA40 +A980 +AEE0 +A800 +AA80 +BFE0 +EA40 +0180 +06E0 +ENDCHAR +STARTCHAR U_37DF +ENCODING 14303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +1100 +7FC0 +1100 +FFE0 +3180 +5F40 +9520 +1200 +1FC0 +ENDCHAR +STARTCHAR U_37E0 +ENCODING 14304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +AC60 +AFE0 +A920 +AD60 +AD60 +AFE0 +F820 +0860 +0820 +ENDCHAR +STARTCHAR U_37E1 +ENCODING 14305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3F80 +1500 +3F80 +0400 +7FC0 +0A00 +1F80 +6A40 +88A0 +0F80 +ENDCHAR +STARTCHAR U_37E2 +ENCODING 14306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3F80 +0400 +3F80 +0A00 +FFE0 +0080 +1E80 +1280 +1E80 +0100 +ENDCHAR +STARTCHAR U_37E3 +ENCODING 14307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2540 +2F40 +A540 +AF20 +AEA0 +A480 +AD00 +FD40 +07A0 +0400 +ENDCHAR +STARTCHAR U_37E4 +ENCODING 14308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3F80 +0100 +1F00 +0100 +FFE0 +0400 +4480 +2500 +4480 +8C60 +ENDCHAR +STARTCHAR U_37E5 +ENCODING 14309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3F80 +0A00 +3F80 +0400 +FFE0 +0A00 +3580 +DE60 +0B20 +3C00 +ENDCHAR +STARTCHAR U_37E6 +ENCODING 14310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3F80 +0000 +7FE0 +8420 +7FC0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_37E7 +ENCODING 14311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0000 +7BC0 +4A40 +4A40 +FFE0 +1000 +3F80 +0080 +0700 +ENDCHAR +STARTCHAR U_37E8 +ENCODING 14312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +AFE0 +A000 +AFE0 +A900 +AFE0 +BAA0 +EAA0 +0AA0 +0860 +ENDCHAR +STARTCHAR U_37E9 +ENCODING 14313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +8BE0 +FA40 +9680 +F900 +9680 +C860 +0400 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_37EA +ENCODING 14314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +22A0 +ABE0 +AAA0 +ABE0 +A800 +AFE0 +BB00 +CAA0 +0240 +0320 +ENDCHAR +STARTCHAR U_37EB +ENCODING 14315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2420 +A7E0 +AC20 +AFE0 +A900 +BD20 +EBC0 +0540 +0920 +ENDCHAR +STARTCHAR U_37EC +ENCODING 14316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +8880 +FF80 +0000 +EB80 +8880 +EB80 +8880 +FF80 +6300 +3C00 +E780 +ENDCHAR +STARTCHAR U_37ED +ENCODING 14317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +0220 +23E0 +2240 +ABE0 +AA40 +ABE0 +AA20 +FBE0 +0220 +03E0 +ENDCHAR +STARTCHAR U_37EE +ENCODING 14318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +A7E0 +A5A0 +AA40 +A940 +AFE0 +B900 +E280 +0440 +0820 +ENDCHAR +STARTCHAR U_37EF +ENCODING 14319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3F80 +0400 +7FE0 +88A0 +3300 +4E00 +1100 +3F80 +5140 +1F00 +ENDCHAR +STARTCHAR U_37F0 +ENCODING 14320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +A7C0 +AC40 +AFC0 +AC40 +AFC0 +A900 +FFE0 +0440 +0820 +ENDCHAR +STARTCHAR U_37F1 +ENCODING 14321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +A7E0 +A900 +AFE0 +A900 +A900 +AFE0 +F800 +0540 +0AA0 +ENDCHAR +STARTCHAR U_37F2 +ENCODING 14322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2900 +ABE0 +AA20 +ABE0 +AA20 +ABE0 +A880 +FAC0 +14A0 +2180 +ENDCHAR +STARTCHAR U_37F3 +ENCODING 14323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +AFE0 +AAA0 +AAA0 +AFE0 +A900 +AFE0 +FB80 +0540 +0920 +ENDCHAR +STARTCHAR U_37F4 +ENCODING 14324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27E0 +A520 +AFE0 +AD20 +AFE0 +AA80 +BAE0 +E280 +04A0 +1860 +ENDCHAR +STARTCHAR U_37F5 +ENCODING 14325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0000 +7FC0 +4A40 +7FC0 +0000 +7FC0 +1700 +1400 +FFE0 +ENDCHAR +STARTCHAR U_37F6 +ENCODING 14326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0000 +7FC0 +4400 +5FC0 +5FC0 +5040 +5FC0 +8A80 +B660 +ENDCHAR +STARTCHAR U_37F7 +ENCODING 14327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2EE0 +A440 +A900 +AA80 +AC40 +ABA0 +B800 +E7C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_37F8 +ENCODING 14328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +AC40 +AFC0 +AC40 +AFC0 +A900 +BFE0 +E140 +0FE0 +0100 +ENDCHAR +STARTCHAR U_37F9 +ENCODING 14329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3E80 +2B60 +2AA0 +AEA0 +AAA0 +AEA0 +AAA0 +BAA0 +CFE0 +1A80 +0280 +ENDCHAR +STARTCHAR U_37FA +ENCODING 14330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2480 +FFE0 +2480 +3F80 +7FC0 +5540 +FFE0 +0E00 +3B80 +ENDCHAR +STARTCHAR U_37FB +ENCODING 14331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +FD80 +1100 +FDE0 +9540 +FD40 +1240 +FE40 +1400 +4440 +7FC0 +ENDCHAR +STARTCHAR U_37FC +ENCODING 14332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2100 +F900 +21E0 +7240 +2540 +F980 +3880 +4940 +9620 +ENDCHAR +STARTCHAR U_37FD +ENCODING 14333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +AFE0 +AAA0 +AFE0 +A800 +ABC0 +B800 +E7E0 +0540 +0B20 +ENDCHAR +STARTCHAR U_37FE +ENCODING 14334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FC0 +A940 +AFE0 +A940 +AFC0 +AD40 +AFC0 +FD40 +17C0 +1540 +ENDCHAR +STARTCHAR U_37FF +ENCODING 14335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +A440 +A920 +AFE0 +AA80 +AC60 +BA40 +EFE0 +0240 +0440 +ENDCHAR +STARTCHAR U_3800 +ENCODING 14336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +3FE0 +2000 +3FE0 +AA20 +4440 +7FC0 +ENDCHAR +STARTCHAR U_3801 +ENCODING 14337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4280 +D780 +D440 +DEE0 +D7A0 +DB60 +D580 +F660 +0180 +0E00 +ENDCHAR +STARTCHAR U_3802 +ENCODING 14338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3F80 +A500 +AFE0 +A520 +BF40 +A940 +AF40 +FA80 +0B40 +1620 +ENDCHAR +STARTCHAR U_3803 +ENCODING 14339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A440 +AA80 +AFE0 +A920 +ABA0 +A920 +FBA0 +0AA0 +0BA0 +ENDCHAR +STARTCHAR U_3804 +ENCODING 14340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0000 +FBE0 +28A0 +FBE0 +1540 +3F80 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3805 +ENCODING 14341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2400 +27E0 +4FC0 +B7C0 +6440 +A7E0 +2C80 +2300 +2EE0 +ENDCHAR +STARTCHAR U_3806 +ENCODING 14342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +DEE0 +D7C0 +D540 +D7C0 +D540 +D7C0 +F100 +9FE0 +0100 +ENDCHAR +STARTCHAR U_3807 +ENCODING 14343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2000 +FD20 +0100 +FFE0 +8900 +F980 +2280 +7280 +ACE0 +ENDCHAR +STARTCHAR U_3808 +ENCODING 14344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AEE0 +AAA0 +AEE0 +ABA0 +A920 +ABA0 +F920 +0BA0 +0860 +ENDCHAR +STARTCHAR U_3809 +ENCODING 14345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A440 +BFE0 +AFE0 +A920 +AFE0 +A900 +FFC0 +0100 +1FE0 +ENDCHAR +STARTCHAR U_380A +ENCODING 14346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +AFE0 +A900 +AFE0 +A900 +A8E0 +A940 +FB60 +1140 +17E0 +ENDCHAR +STARTCHAR U_380B +ENCODING 14347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +1100 +7FC0 +4A40 +7FC0 +0000 +FFE0 +3FC0 +0040 +0380 +ENDCHAR +STARTCHAR U_380C +ENCODING 14348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +4900 +FD00 +4BE0 +7CA0 +7880 +4880 +FD40 +4940 +8620 +ENDCHAR +STARTCHAR U_380D +ENCODING 14349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +1200 +3FC0 +6200 +BFC0 +3FC0 +2600 +FFE0 +1580 +E460 +ENDCHAR +STARTCHAR U_380E +ENCODING 14350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +2880 +AFE0 +A880 +AFE0 +A900 +BFE0 +E100 +0540 +0920 +ENDCHAR +STARTCHAR U_380F +ENCODING 14351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2EE0 +A440 +AFE0 +A540 +AFE0 +A540 +AFE0 +F900 +07C0 +0100 +ENDCHAR +STARTCHAR U_3810 +ENCODING 14352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0180 +3E00 +0440 +FFE0 +2A80 +7FC0 +AAA0 +2E80 +2180 +ENDCHAR +STARTCHAR U_3811 +ENCODING 14353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3F80 +0000 +7FC0 +4A40 +FFE0 +0A00 +7BC0 +0A00 +FBE0 +1200 +ENDCHAR +STARTCHAR U_3812 +ENCODING 14354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FA0 +2520 +2FA0 +AAA0 +ADA0 +AFA0 +A8A0 +BFA0 +E720 +8AA0 +1260 +ENDCHAR +STARTCHAR U_3813 +ENCODING 14355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +2A40 +AFE0 +A820 +ABC0 +A920 +BAC0 +EDA0 +82A0 +0580 +ENDCHAR +STARTCHAR U_3814 +ENCODING 14356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2480 +3F80 +0100 +3BC0 +2A80 +5FE0 +9100 +2BC0 +3900 +0100 +ENDCHAR +STARTCHAR U_3815 +ENCODING 14357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8880 +FF80 +0400 +EF80 +AA80 +AF80 +AA80 +AF80 +E540 +8980 +91C0 +ENDCHAR +STARTCHAR U_3816 +ENCODING 14358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +1100 +7FC0 +0400 +3F80 +1240 +FFE0 +1940 +71A0 +3660 +ENDCHAR +STARTCHAR U_3817 +ENCODING 14359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2B60 +ADA0 +AFE0 +ABA0 +AD60 +B100 +EFE0 +8240 +0C20 +ENDCHAR +STARTCHAR U_3818 +ENCODING 14360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8420 +FFE0 +4860 +8E20 +E8E0 +8E20 +E6E0 +8A20 +FFE0 +3180 +C060 +ENDCHAR +STARTCHAR U_3819 +ENCODING 14361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2A40 +AFE0 +A820 +ABC0 +A920 +BB40 +EDC0 +82A0 +0580 +ENDCHAR +STARTCHAR U_381A +ENCODING 14362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +3B40 +2A40 +BFE0 +AA40 +BF40 +A4C0 +BE40 +E440 +8640 +18C0 +ENDCHAR +STARTCHAR U_381B +ENCODING 14363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2EE0 +2A80 +AFE0 +AA80 +ABE0 +AA80 +BBE0 +EA40 +8180 +0E60 +ENDCHAR +STARTCHAR U_381C +ENCODING 14364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +2C40 +2880 +AFE0 +A8A0 +AC80 +A8E0 +FF80 +8880 +0D80 +1260 +ENDCHAR +STARTCHAR U_381D +ENCODING 14365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +2A40 +AFE0 +AA40 +ADA0 +AA40 +BBC0 +EA40 +83C0 +0420 +ENDCHAR +STARTCHAR U_381E +ENCODING 14366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3540 +55E0 +BFA0 +5540 +CE40 +44A0 +5F20 +0400 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_381F +ENCODING 14367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2740 +22E0 +2720 +2A60 +AFA0 +AAE0 +A900 +BA80 +ED60 +8380 +0540 +ENDCHAR +STARTCHAR U_3820 +ENCODING 14368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +2100 +2FE0 +A940 +AFE0 +AAA0 +ABE0 +AAA0 +FFE0 +8AA0 +1FE0 +ENDCHAR +STARTCHAR U_3821 +ENCODING 14369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +2FE0 +2280 +ABC0 +AA80 +ABE0 +AAA0 +FF40 +8640 +0A80 +0360 +ENDCHAR +STARTCHAR U_3822 +ENCODING 14370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2480 +3F80 +2480 +3F80 +1540 +FFE0 +2240 +E980 +3060 +ENDCHAR +STARTCHAR U_3823 +ENCODING 14371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +2920 +2A40 +AFE0 +AAC0 +AF60 +AA40 +A900 +F5C0 +9500 +2FE0 +ENDCHAR +STARTCHAR U_3824 +ENCODING 14372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +2FE0 +2AA0 +AEE0 +AA80 +AFE0 +AA80 +FFE0 +8540 +0C80 +0660 +ENDCHAR +STARTCHAR U_3825 +ENCODING 14373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +2540 +27C0 +A540 +AFE0 +AAA0 +AFE0 +A900 +FBC0 +8900 +07E0 +ENDCHAR +STARTCHAR U_3826 +ENCODING 14374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0AA0 +2FE0 +2AA0 +2FE0 +A800 +AFE0 +AA40 +ABC0 +FA40 +8180 +07E0 +ENDCHAR +STARTCHAR U_3827 +ENCODING 14375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AA40 +AFE0 +AB40 +AEE0 +AA80 +FEE0 +8A80 +0EE0 +1280 +ENDCHAR +STARTCHAR U_3828 +ENCODING 14376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +2EE0 +2540 +AFE0 +AAA0 +AFE0 +AD20 +ABE0 +FEA0 +8A20 +0D60 +ENDCHAR +STARTCHAR U_3829 +ENCODING 14377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +4400 +4A00 +7180 +4000 +7FC0 +2480 +2480 +2480 +4480 +8460 +ENDCHAR +STARTCHAR U_382A +ENCODING 14378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +FFE0 +0400 +0400 +0400 +0780 +0400 +0400 +0400 +0440 +FFE0 +ENDCHAR +STARTCHAR U_382B +ENCODING 14379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2240 +2340 +2AC0 +3240 +C460 +3F80 +0400 +FFE0 +0A00 +71C0 +ENDCHAR +STARTCHAR U_382C +ENCODING 14380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2220 +3A20 +E3E0 +0400 +3F80 +0400 +FFE0 +0900 +1080 +6060 +ENDCHAR +STARTCHAR U_382D +ENCODING 14381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +2080 +3880 +E3E0 +0000 +FBE0 +2080 +2080 +3880 +C7E0 +ENDCHAR +STARTCHAR U_382E +ENCODING 14382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +29E0 +FE80 +2880 +AA80 +6C80 +FE80 +4480 +7C80 +4480 +7FE0 +ENDCHAR +STARTCHAR U_382F +ENCODING 14383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF00 +0100 +8100 +FF00 +8000 +8000 +FF80 +8080 +8080 +FF80 +8000 +ENDCHAR +STARTCHAR U_3830 +ENCODING 14384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1000 +FBC0 +2A40 +4A40 +9BC0 +0000 +7F00 +0100 +7F00 +4040 +7FC0 +ENDCHAR +STARTCHAR U_3831 +ENCODING 14385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0080 +3F80 +2040 +7FE0 +1100 +1F00 +1100 +FFE0 +1100 +2080 +ENDCHAR +STARTCHAR U_3832 +ENCODING 14386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FA60 +AA80 +AB00 +AA00 +AA00 +AA20 +BA20 +2220 +21E0 +ENDCHAR +STARTCHAR U_3833 +ENCODING 14387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +0400 +1B00 +E0E0 +0400 +3FC0 +2440 +2440 +2540 +2480 +0400 +ENDCHAR +STARTCHAR U_3834 +ENCODING 14388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F920 +A920 +AB20 +AD20 +A920 +A920 +BA20 +22A0 +2440 +ENDCHAR +STARTCHAR U_3835 +ENCODING 14389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +3FC0 +0400 +7FC0 +4440 +4440 +4440 +44C0 +0400 +ENDCHAR +STARTCHAR U_3836 +ENCODING 14390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2200 +FB80 +AA80 +AA80 +AA80 +AA80 +AAA0 +BAA0 +24A0 +2860 +ENDCHAR +STARTCHAR U_3837 +ENCODING 14391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +FA80 +AAE0 +AA20 +AA20 +AA40 +AB40 +BA80 +2540 +2A20 +ENDCHAR +STARTCHAR U_3838 +ENCODING 14392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FBC0 +A900 +A900 +AFE0 +A900 +A900 +BA80 +2440 +2820 +ENDCHAR +STARTCHAR U_3839 +ENCODING 14393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA80 +AC40 +A820 +AA80 +AA80 +AA80 +BA80 +2280 +2480 +ENDCHAR +STARTCHAR U_383A +ENCODING 14394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +F8C0 +AAA0 +AAA0 +AC80 +A8A0 +A840 +B880 +2300 +2C00 +ENDCHAR +STARTCHAR U_383B +ENCODING 14395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +3FC0 +0500 +FFE0 +1400 +3FC0 +E440 +2440 +2540 +2480 +0400 +ENDCHAR +STARTCHAR U_383C +ENCODING 14396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2300 +FA00 +AA00 +ABE0 +AA40 +AA40 +AA40 +BA40 +2440 +2840 +ENDCHAR +STARTCHAR U_383D +ENCODING 14397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +FC40 +AA80 +A900 +AA80 +AC60 +A900 +B880 +2300 +2080 +ENDCHAR +STARTCHAR U_383E +ENCODING 14398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +3A40 +4AC0 +B220 +15E0 +2400 +FFC0 +2440 +2540 +2480 +0400 +ENDCHAR +STARTCHAR U_383F +ENCODING 14399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5AC0 +5300 +5A20 +E5E0 +0400 +3FC0 +2440 +2440 +25C0 +0400 +ENDCHAR +STARTCHAR U_3840 +ENCODING 14400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1480 +1500 +FFE0 +8420 +9520 +94A0 +A460 +C420 +8420 +8060 +ENDCHAR +STARTCHAR U_3841 +ENCODING 14401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F980 +AA40 +ADA0 +A800 +ABC0 +B900 +ABC0 +2040 +20C0 +ENDCHAR +STARTCHAR U_3842 +ENCODING 14402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +4120 +7D20 +C920 +3120 +2420 +C460 +7FC0 +4440 +44C0 +0400 +ENDCHAR +STARTCHAR U_3843 +ENCODING 14403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +FAA0 +AB00 +ABE0 +A800 +AAA0 +AAA0 +BAA0 +22A0 +2420 +ENDCHAR +STARTCHAR U_3844 +ENCODING 14404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FFE0 +A820 +ABA0 +AAA0 +ABA0 +AAA0 +BBA0 +20A0 +2040 +ENDCHAR +STARTCHAR U_3845 +ENCODING 14405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +21E0 +FB20 +A8C0 +A880 +AB40 +A8E0 +BB20 +A8C0 +2080 +2700 +ENDCHAR +STARTCHAR U_3846 +ENCODING 14406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA00 +AA00 +ABE0 +A800 +AAA0 +BAA0 +AAA0 +22A0 +2420 +ENDCHAR +STARTCHAR U_3847 +ENCODING 14407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A80 +FA80 +AE80 +AA80 +AE80 +AA80 +BA80 +AEA0 +32A0 +2260 +ENDCHAR +STARTCHAR U_3848 +ENCODING 14408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2240 +FC80 +ABE0 +AAA0 +AAA0 +ABE0 +B940 +A940 +2240 +2460 +ENDCHAR +STARTCHAR U_3849 +ENCODING 14409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2240 +FBE0 +AE40 +A8A0 +A920 +AEC0 +BA40 +AAA0 +23E0 +2D20 +ENDCHAR +STARTCHAR U_384A +ENCODING 14410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21C0 +FA40 +AC80 +A800 +AB40 +ACE0 +B420 +26E0 +2420 +27E0 +ENDCHAR +STARTCHAR U_384B +ENCODING 14411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23E0 +F940 +AAA0 +AFE0 +AAA0 +ABE0 +BAA0 +ABE0 +2080 +20E0 +ENDCHAR +STARTCHAR U_384C +ENCODING 14412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +A7E0 +FC20 +ABE0 +AA20 +BBE0 +AA20 +23E0 +2220 +2260 +ENDCHAR +STARTCHAR U_384D +ENCODING 14413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +3F80 +2680 +3880 +3F80 +0400 +FFE0 +2480 +DF60 +1500 +1500 +ENDCHAR +STARTCHAR U_384E +ENCODING 14414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27C0 +F900 +AFE0 +AA80 +AAC0 +AD20 +BA80 +AB40 +2080 +2700 +ENDCHAR +STARTCHAR U_384F +ENCODING 14415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC40 +ABA0 +A800 +AE20 +AAA0 +BEA0 +AAA0 +2E20 +3260 +ENDCHAR +STARTCHAR U_3850 +ENCODING 14416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +A800 +AE20 +AAA0 +AEA0 +BAA0 +2EA0 +2A20 +2A60 +ENDCHAR +STARTCHAR U_3851 +ENCODING 14417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3880 +E4A0 +22A0 +FAC0 +3080 +6940 +A620 +0400 +7FC0 +4440 +44C0 +ENDCHAR +STARTCHAR U_3852 +ENCODING 14418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F880 +AFE0 +A900 +ABC0 +AAC0 +AB40 +BAC0 +2B40 +33C0 +ENDCHAR +STARTCHAR U_3853 +ENCODING 14419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +FFE0 +A900 +AFC0 +A940 +AFC0 +A940 +BFE0 +2100 +2100 +ENDCHAR +STARTCHAR U_3854 +ENCODING 14420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +11E0 +FF20 +1540 +3080 +D360 +0400 +7FC0 +4440 +44C0 +0400 +ENDCHAR +STARTCHAR U_3855 +ENCODING 14421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2EE0 +A540 +F900 +AFC0 +A940 +A940 +BFE0 +A900 +2280 +2C60 +ENDCHAR +STARTCHAR U_3856 +ENCODING 14422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2080 +FFE0 +A880 +ABE0 +AAA0 +ABE0 +BAA0 +ABE0 +2080 +27E0 +ENDCHAR +STARTCHAR U_3857 +ENCODING 14423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2F00 +F9C0 +A900 +AFE0 +A940 +AFE0 +AA80 +2A80 +32A0 +2460 +ENDCHAR +STARTCHAR U_3858 +ENCODING 14424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +FA80 +AFE0 +AAA0 +AFE0 +AAA0 +AFE0 +BA80 +26C0 +2AA0 +ENDCHAR +STARTCHAR U_3859 +ENCODING 14425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +A920 +AAA0 +AFE0 +A880 +AEE0 +B880 +2AA0 +2CE0 +ENDCHAR +STARTCHAR U_385A +ENCODING 14426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +27E0 +F940 +ABE0 +A940 +AFE0 +AAA0 +ABE0 +BAA0 +27E0 +2220 +ENDCHAR +STARTCHAR U_385B +ENCODING 14427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +FA40 +A880 +AB40 +AA20 +ABE0 +A800 +BD40 +2540 +2D60 +ENDCHAR +STARTCHAR U_385C +ENCODING 14428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2760 +FDA0 +AAC0 +AE40 +ABA0 +A800 +AFE0 +BA80 +22C0 +25A0 +ENDCHAR +STARTCHAR U_385D +ENCODING 14429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +25A0 +FA40 +A8A0 +AFE0 +AA40 +AAE0 +AA40 +BAE0 +2240 +25E0 +ENDCHAR +STARTCHAR U_385E +ENCODING 14430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23E0 +FAA0 +AFE0 +AAA0 +ABE0 +AAA0 +BFE0 +A920 +21C0 +2620 +ENDCHAR +STARTCHAR U_385F +ENCODING 14431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +FA80 +AFE0 +AAA0 +AFE0 +AAA0 +BFE0 +24C0 +2740 +27C0 +ENDCHAR +STARTCHAR U_3860 +ENCODING 14432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +25A0 +FAC0 +AA40 +AFE0 +A800 +ABC0 +AA40 +BBC0 +2240 +27E0 +ENDCHAR +STARTCHAR U_3861 +ENCODING 14433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +FF20 +A820 +AFE0 +A920 +AFA0 +B960 +2E20 +3320 +2C60 +ENDCHAR +STARTCHAR U_3862 +ENCODING 14434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +AA40 +AFE0 +AAA0 +AFE0 +B900 +A9C0 +2240 +24C0 +ENDCHAR +STARTCHAR U_3863 +ENCODING 14435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +FD00 +49E0 +FC20 +85E0 +2100 +FDE0 +A500 +A5E0 +AD00 +21E0 +ENDCHAR +STARTCHAR U_3864 +ENCODING 14436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +26C0 +FFE0 +AA80 +AFE0 +A900 +AFC0 +A900 +BFE0 +2540 +2920 +ENDCHAR +STARTCHAR U_3865 +ENCODING 14437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2540 +FBE0 +A880 +ABE0 +A840 +AFE0 +A840 +BBC0 +2540 +2BA0 +ENDCHAR +STARTCHAR U_3866 +ENCODING 14438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +AFC0 +AB20 +ADC0 +AB40 +AEC0 +BB40 +23C0 +2420 +ENDCHAR +STARTCHAR U_3867 +ENCODING 14439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +AC40 +AB80 +AD60 +ABC0 +AE60 +BBC0 +2240 +27E0 +ENDCHAR +STARTCHAR U_3868 +ENCODING 14440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2560 +FAC0 +AFE0 +AA80 +AAC0 +AE80 +AAC0 +BEA0 +22C0 +2720 +ENDCHAR +STARTCHAR U_3869 +ENCODING 14441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +EEE0 +4040 +AEA0 +E0E0 +5F40 +AAA0 +FFE0 +4440 +44C0 +0400 +ENDCHAR +STARTCHAR U_386A +ENCODING 14442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2540 +FFE0 +A820 +AFE0 +AAA0 +AEA0 +BBC0 +AE60 +2980 +3660 +ENDCHAR +STARTCHAR U_386B +ENCODING 14443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +2440 +27C0 +4440 +D7E0 +5520 +2920 +26A0 +5460 +F7A0 +4060 +ENDCHAR +STARTCHAR U_386C +ENCODING 14444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +54A0 +E5C0 +54A0 +F5E0 +0480 +FFE0 +4240 +7A80 +49A0 +9E60 +ENDCHAR +STARTCHAR U_386D +ENCODING 14445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9080 +A940 +B9C0 +9080 +A940 +FFE0 +9080 +A940 +9080 +A940 +FFE0 +ENDCHAR +STARTCHAR U_386E +ENCODING 14446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5480 +FEE0 +5500 +FEE0 +1400 +7EE0 +4820 +6840 +5A80 +4D20 +B4E0 +ENDCHAR +STARTCHAR U_386F +ENCODING 14447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4080 +4F00 +4200 +4200 +5FC0 +4200 +4200 +4220 +83E0 +ENDCHAR +STARTCHAR U_3870 +ENCODING 14448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5FC0 +4200 +4200 +7FE0 +4200 +4200 +4200 +8600 +ENDCHAR +STARTCHAR U_3871 +ENCODING 14449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +4400 +4780 +4880 +4900 +5100 +4280 +4480 +9860 +ENDCHAR +STARTCHAR U_3872 +ENCODING 14450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4280 +4240 +5FE0 +4200 +4240 +4280 +4100 +42A0 +8C60 +ENDCHAR +STARTCHAR U_3873 +ENCODING 14451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5FC0 +5200 +5200 +5FC0 +5100 +5120 +54A0 +9860 +ENDCHAR +STARTCHAR U_3874 +ENCODING 14452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4400 +4200 +5FC0 +4000 +4880 +4480 +4500 +4000 +BFE0 +ENDCHAR +STARTCHAR U_3875 +ENCODING 14453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +4500 +4880 +7760 +4000 +4FC0 +4080 +4300 +8100 +ENDCHAR +STARTCHAR U_3876 +ENCODING 14454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +4FC0 +4840 +4840 +4FC0 +4000 +4480 +4440 +8840 +ENDCHAR +STARTCHAR U_3877 +ENCODING 14455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +4200 +5FC0 +4200 +4700 +4A80 +5240 +6FA0 +8200 +ENDCHAR +STARTCHAR U_3878 +ENCODING 14456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4400 +4400 +4FE0 +5200 +43C0 +4200 +43C0 +4200 +8200 +ENDCHAR +STARTCHAR U_3879 +ENCODING 14457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +4F80 +4880 +4F80 +4880 +4F80 +4880 +4880 +BFE0 +ENDCHAR +STARTCHAR U_387A +ENCODING 14458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5FC0 +5040 +5FC0 +5040 +5040 +5FC0 +4000 +BFE0 +ENDCHAR +STARTCHAR U_387B +ENCODING 14459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4400 +59E0 +5520 +5520 +5520 +5DA0 +5560 +4500 +8900 +ENDCHAR +STARTCHAR U_387C +ENCODING 14460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4200 +5FC0 +5240 +5FC0 +5240 +5FC0 +4280 +4320 +9DE0 +ENDCHAR +STARTCHAR U_387D +ENCODING 14461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4200 +5FC0 +4240 +7FE0 +4240 +5FC0 +4200 +BFE0 +8200 +ENDCHAR +STARTCHAR U_387E +ENCODING 14462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4000 +5FC0 +5040 +5FC0 +5040 +5FC0 +5240 +9580 +98E0 +ENDCHAR +STARTCHAR U_387F +ENCODING 14463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5040 +4880 +7FE0 +4200 +5240 +5FC0 +4200 +4400 +9800 +ENDCHAR +STARTCHAR U_3880 +ENCODING 14464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4200 +7FE0 +4200 +5FC0 +5240 +52C0 +4700 +4A80 +B260 +ENDCHAR +STARTCHAR U_3881 +ENCODING 14465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2200 +27C0 +2C40 +2380 +2E00 +21E0 +4E20 +41C0 +8F00 +ENDCHAR +STARTCHAR U_3882 +ENCODING 14466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2200 +2400 +2FC0 +2840 +2FC0 +2800 +4FC0 +4840 +8FC0 +ENDCHAR +STARTCHAR U_3883 +ENCODING 14467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2400 +2FC0 +2840 +2FC0 +2840 +2FC0 +4A40 +4980 +8CE0 +ENDCHAR +STARTCHAR U_3884 +ENCODING 14468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5FC0 +4000 +4F80 +4880 +4F80 +4880 +4500 +BFE0 +ENDCHAR +STARTCHAR U_3885 +ENCODING 14469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5FC0 +4200 +5FC0 +4200 +5FC0 +4880 +7FE0 +9080 +ENDCHAR +STARTCHAR U_3886 +ENCODING 14470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5240 +5FC0 +5240 +5FC0 +4200 +5FC0 +4200 +8200 +BFE0 +ENDCHAR +STARTCHAR U_3887 +ENCODING 14471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2100 +2FE0 +2000 +27C0 +2000 +27C0 +4440 +4440 +87C0 +ENDCHAR +STARTCHAR U_3888 +ENCODING 14472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4900 +4880 +5BE0 +6880 +4BE0 +4880 +4BE0 +4880 +8BE0 +ENDCHAR +STARTCHAR U_3889 +ENCODING 14473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4400 +5860 +4B80 +7C80 +4BE0 +5C80 +6A80 +48A0 +88E0 +ENDCHAR +STARTCHAR U_388A +ENCODING 14474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2100 +2FE0 +2280 +2440 +2FE0 +2540 +4740 +4040 +80C0 +ENDCHAR +STARTCHAR U_388B +ENCODING 14475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2480 +25E0 +2A40 +3980 +2B40 +28E0 +4B20 +48C0 +8B00 +ENDCHAR +STARTCHAR U_388C +ENCODING 14476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5FE0 +5440 +59C0 +5540 +55C0 +5C40 +50C0 +9040 +ENDCHAR +STARTCHAR U_388D +ENCODING 14477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +5DC0 +4A80 +4200 +4F80 +4A80 +7FE0 +4480 +9840 +ENDCHAR +STARTCHAR U_388E +ENCODING 14478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +2FE0 +2100 +2FE0 +2500 +2920 +4D60 +4920 +8FE0 +ENDCHAR +STARTCHAR U_388F +ENCODING 14479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +4500 +58C0 +6760 +5C40 +5540 +5D40 +5440 +ACC0 +ENDCHAR +STARTCHAR U_3890 +ENCODING 14480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4000 +4F80 +4880 +4B80 +4A80 +5FE0 +54A0 +97A0 +9060 +ENDCHAR +STARTCHAR U_3891 +ENCODING 14481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4900 +7FE0 +5100 +5FC0 +5100 +5FE0 +4100 +BFE0 +8100 +ENDCHAR +STARTCHAR U_3892 +ENCODING 14482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4500 +5FE0 +52A0 +5FC0 +5580 +5680 +5580 +9680 +AFE0 +ENDCHAR +STARTCHAR U_3893 +ENCODING 14483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4200 +5FC0 +4500 +7FE0 +4880 +4F80 +4880 +BFE0 +8200 +ENDCHAR +STARTCHAR U_3894 +ENCODING 14484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4A40 +5240 +6340 +4CA0 +5000 +7280 +52E0 +5380 +94E0 +ENDCHAR +STARTCHAR U_3895 +ENCODING 14485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4940 +52E0 +7E40 +4AE0 +5240 +7EE0 +4A40 +5240 +A2E0 +ENDCHAR +STARTCHAR U_3896 +ENCODING 14486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4000 +5FC0 +4A80 +7FE0 +4700 +5AC0 +6FA0 +8A80 +8F80 +ENDCHAR +STARTCHAR U_3897 +ENCODING 14487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5FC0 +4400 +7FE0 +5540 +7FE0 +5540 +9740 +90C0 +ENDCHAR +STARTCHAR U_3898 +ENCODING 14488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4880 +7FE0 +4500 +5FC0 +4540 +7FE0 +4540 +9FC0 +92A0 +ENDCHAR +STARTCHAR U_3899 +ENCODING 14489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5480 +7E80 +55E0 +7EA0 +6AA0 +7EA0 +48A0 +4D20 +BA60 +ENDCHAR +STARTCHAR U_389A +ENCODING 14490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4200 +5FE0 +5220 +5FC0 +5540 +57C0 +5540 +AFC0 +A440 +ENDCHAR +STARTCHAR U_389B +ENCODING 14491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4200 +4500 +4880 +7760 +5DC0 +5540 +5DC0 +8880 +B560 +ENDCHAR +STARTCHAR U_389C +ENCODING 14492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4880 +7FE0 +4880 +5FC0 +5240 +5FC0 +4A40 +A8A0 +A7A0 +ENDCHAR +STARTCHAR U_389D +ENCODING 14493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9C40 +A580 +BE80 +EBE0 +BE80 +AA80 +BFC0 +AAA0 +D580 +ENDCHAR +STARTCHAR U_389E +ENCODING 14494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +6940 +58C0 +6940 +5FC0 +5240 +7FE0 +4880 +BFE0 +9040 +ENDCHAR +STARTCHAR U_389F +ENCODING 14495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +2100 +4100 +F5C0 +1500 +1500 +9500 +6FE0 +2000 +DFE0 +ENDCHAR +STARTCHAR U_38A0 +ENCODING 14496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E820 +2BA0 +4AA0 +8AA0 +EBA0 +2AA0 +A820 +4860 +6000 +9FE0 +ENDCHAR +STARTCHAR U_38A1 +ENCODING 14497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +7AA0 +09C0 +7E40 +4BE0 +8940 +10C0 +1080 +FFE0 +1080 +6080 +ENDCHAR +STARTCHAR U_38A2 +ENCODING 14498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9280 +5500 +FFE0 +8240 +BB40 +AA80 +BB60 +2100 +FFE0 +2100 +4100 +ENDCHAR +STARTCHAR U_38A3 +ENCODING 14499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EF00 +29E0 +7F40 +8540 +7480 +5540 +7E20 +1080 +FFE0 +1080 +2080 +ENDCHAR +STARTCHAR U_38A4 +ENCODING 14500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1140 +7D20 +1100 +FFE0 +2100 +3D00 +2500 +2480 +44A0 +8C60 +ENDCHAR +STARTCHAR U_38A5 +ENCODING 14501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEC0 +82A0 +FE80 +83E0 +BA80 +AA80 +AA80 +AA80 +BA80 +8260 +8620 +ENDCHAR +STARTCHAR U_38A6 +ENCODING 14502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD40 +0920 +E900 +ABE0 +FD00 +0900 +E900 +A880 +E8A0 +0860 +1820 +ENDCHAR +STARTCHAR U_38A7 +ENCODING 14503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +0080 +0080 +3F80 +2000 +4000 +7FC0 +0040 +FE40 +0040 +0780 +ENDCHAR +STARTCHAR U_38A8 +ENCODING 14504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +1100 +1100 +F100 +8FE0 +8100 +F100 +1100 +1100 +5100 +2100 +ENDCHAR +STARTCHAR U_38A9 +ENCODING 14505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +1200 +13E0 +F420 +8020 +8220 +F120 +1120 +1020 +50A0 +2040 +ENDCHAR +STARTCHAR U_38AA +ENCODING 14506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +1000 +1000 +F7E0 +8200 +8200 +F3C0 +1040 +1040 +5140 +2080 +ENDCHAR +STARTCHAR U_38AB +ENCODING 14507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +1080 +1080 +F080 +84A0 +84A0 +F4A0 +14A0 +14A0 +54A0 +27E0 +ENDCHAR +STARTCHAR U_38AC +ENCODING 14508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1100 +1FE0 +7100 +8100 +8240 +F240 +1280 +1480 +1920 +63E0 +ENDCHAR +STARTCHAR U_38AD +ENCODING 14509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1100 +11C0 +F100 +8100 +87C0 +F440 +1440 +1280 +5100 +26E0 +ENDCHAR +STARTCHAR U_38AE +ENCODING 14510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +1400 +1FE0 +F500 +8500 +8FE0 +F520 +1540 +1400 +5420 +23E0 +ENDCHAR +STARTCHAR U_38AF +ENCODING 14511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +1420 +1420 +77E0 +8480 +8480 +F7E0 +1480 +14A0 +5660 +2420 +ENDCHAR +STARTCHAR U_38B0 +ENCODING 14512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E100 +2FE0 +2920 +E900 +8FC0 +EC40 +2A80 +2900 +AA80 +5460 +ENDCHAR +STARTCHAR U_38B1 +ENCODING 14513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1100 +1200 +F440 +8FE0 +8120 +F100 +1540 +1520 +5B20 +2100 +ENDCHAR +STARTCHAR U_38B2 +ENCODING 14514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +0840 +7BC0 +4200 +7BC0 +0840 +18C0 +FFE0 +0000 +1100 +2080 +ENDCHAR +STARTCHAR U_38B3 +ENCODING 14515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +17E0 +7400 +48C0 +7700 +1520 +14C0 +1480 +5440 +2620 +ENDCHAR +STARTCHAR U_38B4 +ENCODING 14516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +0080 +7F80 +8000 +FFC0 +4640 +6A40 +5640 +6A40 +7E40 +0180 +ENDCHAR +STARTCHAR U_38B5 +ENCODING 14517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1100 +1280 +F440 +8BA0 +8000 +F7C0 +1440 +1440 +57C0 +2440 +ENDCHAR +STARTCHAR U_38B6 +ENCODING 14518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +1200 +F7C0 +8440 +8440 +F7C0 +1440 +1440 +97C0 +6440 +ENDCHAR +STARTCHAR U_38B7 +ENCODING 14519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +14A0 +14A0 +F7E0 +8100 +81E0 +F220 +1520 +10C0 +5080 +2700 +ENDCHAR +STARTCHAR U_38B8 +ENCODING 14520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D900 +4900 +D9E0 +9240 +D840 +4940 +4940 +4940 +4880 +6940 +9620 +ENDCHAR +STARTCHAR U_38B9 +ENCODING 14521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1FE0 +1440 +7280 +4FE0 +7100 +1FE0 +1100 +1100 +5100 +2100 +ENDCHAR +STARTCHAR U_38BA +ENCODING 14522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1FE0 +F440 +8FE0 +F200 +1FE0 +1240 +1740 +1080 +A140 +4620 +ENDCHAR +STARTCHAR U_38BB +ENCODING 14523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0C0 +1700 +7100 +4FE0 +7340 +1D20 +1280 +1FE0 +1280 +5180 +2660 +ENDCHAR +STARTCHAR U_38BC +ENCODING 14524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F520 +1340 +F7E0 +8520 +F520 +17A0 +1560 +1520 +5520 +2540 +ENDCHAR +STARTCHAR U_38BD +ENCODING 14525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E0E0 +3F20 +2A20 +EEE0 +8A80 +8E80 +EAE0 +2E20 +3A20 +A2A0 +4240 +ENDCHAR +STARTCHAR U_38BE +ENCODING 14526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +2280 +2FE0 +EAA0 +8AA0 +8FE0 +E100 +27C0 +2100 +2100 +6FE0 +ENDCHAR +STARTCHAR U_38BF +ENCODING 14527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EB80 +2880 +2FE0 +EA00 +9BC0 +8D00 +E900 +2FE0 +2900 +2A80 +CC60 +ENDCHAR +STARTCHAR U_38C0 +ENCODING 14528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1FE0 +1100 +F7C0 +8540 +86C0 +F540 +1640 +1FE0 +1440 +6820 +ENDCHAR +STARTCHAR U_38C1 +ENCODING 14529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F7C0 +1280 +7FE0 +4400 +77C0 +1D40 +17C0 +1540 +57C0 +2540 +ENDCHAR +STARTCHAR U_38C2 +ENCODING 14530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +27C0 +E440 +87C0 +E000 +2FE0 +2C60 +2AA0 +2FE0 +A920 +4920 +ENDCHAR +STARTCHAR U_38C3 +ENCODING 14531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E4E0 +3F20 +EAE0 +9F80 +E1E0 +2E20 +2A20 +2E20 +2A20 +AEA0 +5240 +ENDCHAR +STARTCHAR U_38C4 +ENCODING 14532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E9E0 +25C0 +E920 +83E0 +ED00 +25E0 +2100 +2FE0 +2380 +A540 +4920 +ENDCHAR +STARTCHAR U_38C5 +ENCODING 14533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +3540 +3FE0 +E440 +8D40 +92A0 +EFC0 +2840 +2FC0 +2840 +CFC0 +ENDCHAR +STARTCHAR U_38C6 +ENCODING 14534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +2540 +2FE0 +ED60 +8BA0 +8000 +EFE0 +2100 +27C0 +2100 +CFE0 +ENDCHAR +STARTCHAR U_38C7 +ENCODING 14535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F80 +1080 +FFE0 +2A00 +D200 +3FC0 +D240 +1240 +12C0 +0200 +ENDCHAR +STARTCHAR U_38C8 +ENCODING 14536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +39C0 +4A40 +FFE0 +5140 +A680 +4100 +A280 +FBE0 +AAA0 +BAE0 +2080 +ENDCHAR +STARTCHAR U_38C9 +ENCODING 14537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +FC40 +1080 +1120 +1040 +1080 +1100 +1420 +3840 +C080 +0300 +ENDCHAR +STARTCHAR U_38CA +ENCODING 14538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0F80 +1900 +2600 +0900 +32E0 +CD00 +0200 +1C80 +0300 +1C00 +ENDCHAR +STARTCHAR U_38CB +ENCODING 14539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +FE40 +4480 +5500 +4440 +FE80 +4520 +4420 +4440 +4480 +8300 +ENDCHAR +STARTCHAR U_38CC +ENCODING 14540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2080 +3900 +2240 +2040 +2080 +F920 +8A20 +8840 +8880 +FB00 +ENDCHAR +STARTCHAR U_38CD +ENCODING 14541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +2040 +4080 +8520 +FC40 +0080 +FD20 +8420 +8440 +8480 +FD00 +ENDCHAR +STARTCHAR U_38CE +ENCODING 14542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +6080 +3F80 +2080 +3F80 +2580 +DC40 +0320 +3C80 +0300 +7C00 +ENDCHAR +STARTCHAR U_38CF +ENCODING 14543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE40 +2480 +FE00 +4420 +7CC0 +4500 +7C20 +1040 +FC80 +1300 +ENDCHAR +STARTCHAR U_38D0 +ENCODING 14544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FC80 +8500 +FC00 +8440 +FC80 +1100 +D420 +5840 +5480 +B100 +ENDCHAR +STARTCHAR U_38D1 +ENCODING 14545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE40 +8880 +BE00 +8A20 +FF40 +AA80 +BE00 +AA20 +BE40 +AB80 +ENDCHAR +STARTCHAR U_38D2 +ENCODING 14546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +FE20 +D640 +BB80 +FE20 +0040 +7D80 +4420 +7C40 +4580 +7E00 +ENDCHAR +STARTCHAR U_38D3 +ENCODING 14547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3820 +2740 +7D80 +CA00 +3120 +CB40 +2C80 +FF00 +2C20 +4A40 +8980 +ENDCHAR +STARTCHAR U_38D4 +ENCODING 14548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +2FE0 +4080 +9080 +2080 +6080 +A080 +2080 +2080 +2080 +2180 +ENDCHAR +STARTCHAR U_38D5 +ENCODING 14549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4200 +9200 +2FE0 +6200 +A200 +2200 +2500 +2480 +2840 +3020 +ENDCHAR +STARTCHAR U_38D6 +ENCODING 14550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2100 +C100 +1FE0 +2100 +E100 +2280 +2280 +2640 +2940 +3020 +ENDCHAR +STARTCHAR U_38D7 +ENCODING 14551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +47E0 +9420 +2420 +67E0 +A400 +2400 +2400 +2800 +3000 +ENDCHAR +STARTCHAR U_38D8 +ENCODING 14552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +43E0 +9420 +2820 +67A0 +A4A0 +24A0 +27A0 +2020 +20E0 +ENDCHAR +STARTCHAR U_38D9 +ENCODING 14553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4FE0 +9920 +2920 +6920 +AFE0 +2920 +2920 +2920 +2FE0 +ENDCHAR +STARTCHAR U_38DA +ENCODING 14554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +4820 +9BA0 +2820 +6BA0 +AAA0 +2AA0 +2BA0 +2820 +2860 +ENDCHAR +STARTCHAR U_38DB +ENCODING 14555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4280 +9440 +2820 +67C0 +A000 +27C0 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_38DC +ENCODING 14556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +5F20 +8A20 +2AA0 +4AA0 +DFA0 +4AA0 +4AA0 +4A20 +4A20 +5260 +ENDCHAR +STARTCHAR U_38DD +ENCODING 14557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +4120 +9FE0 +2100 +6500 +BF40 +2540 +2480 +24A0 +2960 +3220 +ENDCHAR +STARTCHAR U_38DE +ENCODING 14558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +4440 +9A20 +2440 +6FE0 +A000 +2480 +2480 +2480 +24A0 +28E0 +ENDCHAR +STARTCHAR U_38DF +ENCODING 14559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4100 +9FE0 +2100 +6100 +A7C0 +2000 +27C0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_38E0 +ENCODING 14560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +43C0 +9440 +2280 +5100 +D280 +5C60 +5100 +5280 +4100 +4080 +ENDCHAR +STARTCHAR U_38E1 +ENCODING 14561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +4880 +9880 +2BE0 +4AA0 +CAA0 +4BE0 +4880 +4880 +4880 +4880 +ENDCHAR +STARTCHAR U_38E2 +ENCODING 14562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +47E0 +9120 +27E0 +6500 +A7E0 +2120 +2320 +2560 +2900 +ENDCHAR +STARTCHAR U_38E3 +ENCODING 14563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4FE0 +9540 +2540 +6BA0 +A100 +2280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_38E4 +ENCODING 14564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +27E0 +4140 +90A0 +2760 +6000 +A140 +27E0 +2140 +20A0 +2760 +ENDCHAR +STARTCHAR U_38E5 +ENCODING 14565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +4880 +9FE0 +2880 +4BC0 +C840 +4FE0 +4A40 +4940 +4840 +48C0 +ENDCHAR +STARTCHAR U_38E6 +ENCODING 14566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +4FE0 +9380 +2540 +6920 +A200 +2FE0 +2240 +2180 +2E60 +ENDCHAR +STARTCHAR U_38E7 +ENCODING 14567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +4A80 +9C80 +2A80 +5E80 +D280 +5E80 +5280 +5E80 +52A0 +56E0 +ENDCHAR +STARTCHAR U_38E8 +ENCODING 14568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2840 +4840 +8BE0 +3E40 +4A40 +D240 +53E0 +4D20 +4520 +4BE0 +5120 +ENDCHAR +STARTCHAR U_38E9 +ENCODING 14569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +4480 +9FE0 +2480 +6E80 +ADC0 +36A0 +2480 +2480 +2480 +ENDCHAR +STARTCHAR U_38EA +ENCODING 14570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +4E20 +9540 +27C0 +6200 +AFE0 +2200 +23C0 +2640 +2980 +3660 +ENDCHAR +STARTCHAR U_38EB +ENCODING 14571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +4100 +9FE0 +2100 +67C0 +A540 +27C0 +2540 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_38EC +ENCODING 14572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +43C0 +9000 +27E0 +6240 +A3C0 +2260 +23C0 +2640 +2040 +ENDCHAR +STARTCHAR U_38ED +ENCODING 14573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +4920 +8AA0 +2FE0 +4480 +C880 +5460 +47C0 +4C80 +4300 +5CE0 +ENDCHAR +STARTCHAR U_38EE +ENCODING 14574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2100 +4FE0 +1200 +2FE0 +6AA0 +ABA0 +2920 +2FE0 +2920 +2960 +ENDCHAR +STARTCHAR U_38EF +ENCODING 14575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +4840 +9FC0 +2920 +4D40 +CBC0 +4A40 +4BC0 +4A40 +53C0 +6440 +ENDCHAR +STARTCHAR U_38F0 +ENCODING 14576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2920 +4540 +8FE0 +2380 +4540 +C920 +4200 +5540 +54A0 +57A0 +ENDCHAR +STARTCHAR U_38F1 +ENCODING 14577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +4100 +8FE0 +2440 +47C0 +C440 +47C0 +4440 +47C0 +4820 +ENDCHAR +STARTCHAR U_38F2 +ENCODING 14578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +5680 +9EE0 +2140 +5D40 +C140 +5C80 +5480 +5D40 +4220 +ENDCHAR +STARTCHAR U_38F3 +ENCODING 14579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +4FC0 +9A80 +2A80 +5FC0 +CA80 +7FE0 +4000 +5540 +5520 +ENDCHAR +STARTCHAR U_38F4 +ENCODING 14580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FC0 +4480 +9FE0 +2100 +4FC0 +C940 +4FC0 +4940 +4FC0 +5020 +ENDCHAR +STARTCHAR U_38F5 +ENCODING 14581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +33E0 +4880 +83E0 +3D40 +4BE0 +C880 +4BE0 +4880 +5480 +63E0 +ENDCHAR +STARTCHAR U_38F6 +ENCODING 14582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4440 +8540 +2440 +47C0 +C000 +47C0 +47C0 +4440 +5FE0 +ENDCHAR +STARTCHAR U_38F7 +ENCODING 14583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4920 +8280 +2BA0 +4000 +C7C0 +4540 +5FE0 +4100 +4300 +ENDCHAR +STARTCHAR U_38F8 +ENCODING 14584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2C40 +2D40 +5EC0 +8CE0 +3F40 +5840 +CEE0 +5440 +6EE0 +5500 +6CE0 +ENDCHAR +STARTCHAR U_38F9 +ENCODING 14585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +5540 +9FE0 +3540 +55E0 +D540 +55E0 +5280 +5660 +6BA0 +ENDCHAR +STARTCHAR U_38FA +ENCODING 14586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1000 +1000 +1000 +5480 +9240 +9240 +1000 +1000 +1000 +1000 +1000 +ENDCHAR +STARTCHAR U_38FB +ENCODING 14587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +1900 +0600 +0700 +0880 +3060 +4420 +1300 +5040 +5120 +8F20 +ENDCHAR +STARTCHAR U_38FC +ENCODING 14588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2220 +2220 +7220 +A620 +2320 +22A0 +2220 +2220 +24A0 +2860 +ENDCHAR +STARTCHAR U_38FD +ENCODING 14589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0880 +FFE0 +1100 +3600 +1B00 +60C0 +0440 +52A0 +90A0 +0F80 +ENDCHAR +STARTCHAR U_38FE +ENCODING 14590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +A540 +B540 +A440 +A280 +2280 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_38FF +ENCODING 14591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +A3E0 +B420 +A420 +AA20 +2120 +2120 +2020 +2240 +2180 +ENDCHAR +STARTCHAR U_3900 +ENCODING 14592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4C00 +4200 +4500 +58C0 +4000 +7FE0 +0000 +0440 +52A0 +90A0 +0F80 +ENDCHAR +STARTCHAR U_3901 +ENCODING 14593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +0A00 +1100 +E0E0 +0000 +0440 +52A0 +90A0 +0F80 +ENDCHAR +STARTCHAR U_3902 +ENCODING 14594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +1100 +13C0 +1840 +1580 +2200 +4DE0 +0000 +56A0 +90A0 +0F80 +ENDCHAR +STARTCHAR U_3903 +ENCODING 14595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +A200 +B200 +ABE0 +A220 +2220 +2420 +24A0 +2840 +ENDCHAR +STARTCHAR U_3904 +ENCODING 14596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AFE0 +B100 +AFE0 +A920 +2920 +2920 +2960 +2100 +2100 +ENDCHAR +STARTCHAR U_3905 +ENCODING 14597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +4400 +7FC0 +0A00 +3220 +C3E0 +0440 +52A0 +90A0 +0F80 +ENDCHAR +STARTCHAR U_3906 +ENCODING 14598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +A400 +B7E0 +AE20 +A620 +2540 +2540 +2480 +2540 +2A20 +ENDCHAR +STARTCHAR U_3907 +ENCODING 14599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F00 +2100 +A100 +B100 +AFE0 +A100 +2280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_3908 +ENCODING 14600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2100 +A080 +B280 +A280 +AA20 +2A20 +2A20 +2A00 +2240 +21C0 +ENDCHAR +STARTCHAR U_3909 +ENCODING 14601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +A080 +B480 +A480 +AFE0 +2280 +2280 +2480 +2A80 +2100 +ENDCHAR +STARTCHAR U_390A +ENCODING 14602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +2240 +A180 +B240 +A420 +A000 +2420 +2240 +2180 +2240 +2420 +ENDCHAR +STARTCHAR U_390B +ENCODING 14603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +A280 +B440 +A820 +A7C0 +2240 +2240 +2240 +2540 +2880 +ENDCHAR +STARTCHAR U_390C +ENCODING 14604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +A7E0 +B240 +AA40 +A240 +23C0 +2240 +2240 +2240 +23C0 +ENDCHAR +STARTCHAR U_390D +ENCODING 14605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +F900 +23E0 +2020 +3820 +C0E0 +0000 +0440 +52A0 +90A0 +0F80 +ENDCHAR +STARTCHAR U_390E +ENCODING 14606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FDE0 +2520 +2520 +2520 +49E0 +9000 +0440 +52A0 +90A0 +0F80 +ENDCHAR +STARTCHAR U_390F +ENCODING 14607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +A420 +BA40 +A980 +A240 +2C20 +2180 +2040 +2180 +2040 +ENDCHAR +STARTCHAR U_3910 +ENCODING 14608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07C0 +0400 +3F80 +2080 +3F80 +0000 +0440 +5220 +90A0 +0F80 +ENDCHAR +STARTCHAR U_3911 +ENCODING 14609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AFE0 +B100 +AA00 +A400 +2FC0 +3440 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_3912 +ENCODING 14610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AFE0 +B100 +AA80 +A540 +2920 +37C0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_3913 +ENCODING 14611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AFE0 +A100 +B380 +A540 +2920 +3100 +27C0 +2100 +2100 +ENDCHAR +STARTCHAR U_3914 +ENCODING 14612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +A240 +B5E0 +AC40 +B540 +2540 +2540 +2440 +2440 +24C0 +ENDCHAR +STARTCHAR U_3915 +ENCODING 14613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +2920 +B920 +AFE0 +A100 +2100 +2920 +2920 +2920 +2FE0 +ENDCHAR +STARTCHAR U_3916 +ENCODING 14614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +AFE0 +B820 +A000 +A7C0 +2100 +2100 +2100 +2500 +2300 +ENDCHAR +STARTCHAR U_3917 +ENCODING 14615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0400 +1F00 +0400 +7FC0 +1100 +E4E0 +0400 +2540 +0C00 +ENDCHAR +STARTCHAR U_3918 +ENCODING 14616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +B240 +A480 +AFE0 +A020 +2020 +27E0 +2020 +2020 +2FE0 +ENDCHAR +STARTCHAR U_3919 +ENCODING 14617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7E40 +4240 +7E40 +4040 +7FC0 +0440 +5220 +90A0 +0F80 +ENDCHAR +STARTCHAR U_391A +ENCODING 14618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +25C0 +A800 +B400 +A7E0 +A880 +3880 +2880 +2880 +2880 +2980 +ENDCHAR +STARTCHAR U_391B +ENCODING 14619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2240 +B380 +A480 +AC80 +B480 +27E0 +2480 +2480 +2480 +25C0 +ENDCHAR +STARTCHAR U_391C +ENCODING 14620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +AFE0 +B880 +ACA0 +AAA0 +2AC0 +2880 +2980 +2AA0 +3460 +ENDCHAR +STARTCHAR U_391D +ENCODING 14621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +AFE0 +B200 +A440 +AFE0 +22A0 +2280 +2280 +24A0 +2860 +ENDCHAR +STARTCHAR U_391E +ENCODING 14622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +BFE0 +A820 +A8E0 +A700 +2100 +2FE0 +2100 +2120 +20E0 +ENDCHAR +STARTCHAR U_391F +ENCODING 14623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +0A00 +7FC0 +4A40 +7FC0 +4A40 +7FC0 +0440 +5220 +90A0 +0F80 +ENDCHAR +STARTCHAR U_3920 +ENCODING 14624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +2020 +3920 +4920 +A920 +1120 +6060 +0400 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_3921 +ENCODING 14625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F20 +2420 +A4A0 +BEA0 +AAA0 +AAA0 +36A0 +22A0 +2420 +3820 +2060 +ENDCHAR +STARTCHAR U_3922 +ENCODING 14626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AFE0 +B200 +A3C0 +A640 +2BC0 +2240 +23C0 +2240 +22C0 +ENDCHAR +STARTCHAR U_3923 +ENCODING 14627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +7FC0 +1100 +FFE0 +1100 +6100 +0440 +5220 +90A0 +0F80 +ENDCHAR +STARTCHAR U_3924 +ENCODING 14628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +BFE0 +A920 +AFE0 +A920 +2FE0 +2900 +2500 +2200 +2DE0 +ENDCHAR +STARTCHAR U_3925 +ENCODING 14629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +AFE0 +A200 +A440 +A780 +2120 +2640 +2080 +2140 +2620 +ENDCHAR +STARTCHAR U_3926 +ENCODING 14630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AFE0 +B100 +AFE0 +A920 +2FE0 +2900 +2500 +2200 +2DE0 +ENDCHAR +STARTCHAR U_3927 +ENCODING 14631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2700 +B400 +AFE0 +AC00 +A400 +25E0 +2520 +2520 +2520 +29E0 +ENDCHAR +STARTCHAR U_3928 +ENCODING 14632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +B240 +AFE0 +AA40 +A240 +27E0 +2000 +2240 +2240 +2420 +ENDCHAR +STARTCHAR U_3929 +ENCODING 14633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +A080 +1F00 +60C0 +BFA0 +2080 +3F80 +0440 +5220 +90A0 +0F80 +ENDCHAR +STARTCHAR U_392A +ENCODING 14634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2000 +7BC0 +8A40 +52C0 +2220 +C3E0 +0440 +5220 +90A0 +0F80 +ENDCHAR +STARTCHAR U_392B +ENCODING 14635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +1000 +3F80 +E080 +3C80 +2780 +2080 +0420 +52A0 +8F80 +ENDCHAR +STARTCHAR U_392C +ENCODING 14636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +B7C0 +A100 +A100 +AFE0 +2100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_392D +ENCODING 14637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +B100 +A100 +AFE0 +A280 +2440 +2AA0 +2280 +2280 +2480 +ENDCHAR +STARTCHAR U_392E +ENCODING 14638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +3100 +E100 +27C0 +E100 +2FE0 +C000 +0440 +5220 +90A0 +0F80 +ENDCHAR +STARTCHAR U_392F +ENCODING 14639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +BAA0 +AC60 +A820 +ABA0 +2AA0 +2AA0 +2BA0 +2820 +2860 +ENDCHAR +STARTCHAR U_3930 +ENCODING 14640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +23E0 +6600 +ABC0 +2200 +23C0 +2200 +0440 +5220 +90A0 +0F80 +ENDCHAR +STARTCHAR U_3931 +ENCODING 14641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +B7C0 +AC40 +AC40 +A7C0 +2000 +2440 +2280 +2280 +2FE0 +ENDCHAR +STARTCHAR U_3932 +ENCODING 14642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +5540 +8A20 +1100 +E0E0 +0440 +52A0 +90A0 +0F80 +ENDCHAR +STARTCHAR U_3933 +ENCODING 14643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2380 +7540 +A920 +2100 +27C0 +2440 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_3934 +ENCODING 14644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +A500 +B540 +A740 +A540 +2740 +2540 +2760 +2D60 +2100 +ENDCHAR +STARTCHAR U_3935 +ENCODING 14645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +11E0 +2240 +3540 +E080 +2140 +6620 +0440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_3936 +ENCODING 14646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +A220 +B240 +A2A0 +A340 +25A0 +2540 +2980 +2B20 +30E0 +ENDCHAR +STARTCHAR U_3937 +ENCODING 14647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +B440 +ABA0 +A000 +A7C0 +2080 +2100 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_3938 +ENCODING 14648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +B100 +A100 +AFE0 +A280 +2AC0 +2AA0 +32A0 +2480 +2980 +ENDCHAR +STARTCHAR U_3939 +ENCODING 14649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +B100 +AFE0 +A100 +A920 +2540 +2540 +2920 +2100 +2300 +ENDCHAR +STARTCHAR U_393A +ENCODING 14650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +AFE0 +B400 +A400 +A7E0 +2000 +2540 +2540 +2540 +2960 +ENDCHAR +STARTCHAR U_393B +ENCODING 14651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +33E0 +C220 +AAA0 +9A20 +BAE0 +CA00 +1200 +E440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_393C +ENCODING 14652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +AE80 +B5E0 +A4A0 +AEA0 +24A0 +28A0 +2AA0 +3EA0 +2160 +ENDCHAR +STARTCHAR U_393D +ENCODING 14653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A100 +B7C0 +A100 +AFE0 +2240 +27E0 +2840 +3240 +20C0 +ENDCHAR +STARTCHAR U_393E +ENCODING 14654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +A280 +B440 +A100 +A100 +2FE0 +2380 +2540 +2540 +2920 +ENDCHAR +STARTCHAR U_393F +ENCODING 14655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A280 +B540 +AFE0 +A540 +27C0 +2540 +27C0 +2120 +21E0 +ENDCHAR +STARTCHAR U_3940 +ENCODING 14656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +B7C0 +AC40 +A440 +27C0 +2440 +27C0 +2440 +2FE0 +ENDCHAR +STARTCHAR U_3941 +ENCODING 14657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0800 +BFC0 +AA40 +BFC0 +8000 +FFE0 +4840 +A4A0 +9FA0 +ENDCHAR +STARTCHAR U_3942 +ENCODING 14658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +7440 +A7C0 +2000 +2FE0 +2040 +2FE0 +2440 +20C0 +ENDCHAR +STARTCHAR U_3943 +ENCODING 14659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2EE0 +7AA0 +AEE0 +2820 +2820 +2820 +2820 +2820 +2860 +ENDCHAR +STARTCHAR U_3944 +ENCODING 14660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +7FE0 +6440 +AA20 +27C0 +2A40 +2180 +2280 +2C60 +ENDCHAR +STARTCHAR U_3945 +ENCODING 14661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F20 +2540 +7FE0 +A820 +27C0 +2240 +2240 +2180 +2280 +2C60 +ENDCHAR +STARTCHAR U_3946 +ENCODING 14662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +3140 +6FE0 +A140 +27C0 +2920 +25C0 +2540 +2920 +2300 +ENDCHAR +STARTCHAR U_3947 +ENCODING 14663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +2240 +71A0 +A660 +2240 +2FE0 +2240 +2280 +2320 +2CE0 +ENDCHAR +STARTCHAR U_3948 +ENCODING 14664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F8E0 +A880 +ABE0 +AA20 +BA20 +ABE0 +2620 +5240 +50A0 +9FA0 +ENDCHAR +STARTCHAR U_3949 +ENCODING 14665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2240 +7240 +AFE0 +2000 +27E0 +2420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_394A +ENCODING 14666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2AA0 +7EE0 +AAA0 +2AA0 +2EE0 +2AA0 +2AA0 +2AA0 +3760 +ENDCHAR +STARTCHAR U_394B +ENCODING 14667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4FE0 +C200 +4540 +5C80 +4540 +4620 +0800 +5540 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_394C +ENCODING 14668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +2A20 +7AA0 +A720 +2FE0 +2220 +2720 +2AA0 +3260 +20C0 +ENDCHAR +STARTCHAR U_394D +ENCODING 14669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2440 +2FE0 +7440 +A7C0 +2440 +27C0 +2440 +2FE0 +2440 +2820 +ENDCHAR +STARTCHAR U_394E +ENCODING 14670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +23E0 +FD20 +2120 +7120 +6A20 +AC40 +0400 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_394F +ENCODING 14671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +2FE0 +7AA0 +AFE0 +2AA0 +2AA0 +3FE0 +2480 +2840 +3020 +ENDCHAR +STARTCHAR U_3950 +ENCODING 14672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +3180 +CE60 +0000 +7BC0 +4A40 +7AC0 +0600 +5240 +50A0 +9FA0 +ENDCHAR +STARTCHAR U_3951 +ENCODING 14673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +3F80 +2480 +2980 +3280 +FFE0 +8820 +6440 +A0A0 +9FA0 +ENDCHAR +STARTCHAR U_3952 +ENCODING 14674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2F20 +2540 +7000 +A100 +2FE0 +2100 +2380 +2540 +3920 +2100 +ENDCHAR +STARTCHAR U_3953 +ENCODING 14675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +7440 +AFE0 +2040 +2740 +2540 +2740 +2040 +20C0 +ENDCHAR +STARTCHAR U_3954 +ENCODING 14676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2440 +7FE0 +A000 +27C0 +2440 +27C0 +2440 +27C0 +2840 +ENDCHAR +STARTCHAR U_3955 +ENCODING 14677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +0A00 +71C0 +4440 +2A80 +1100 +E4E0 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_3956 +ENCODING 14678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4A40 +6A20 +5D20 +4940 +FE20 +4BE0 +4940 +4AA0 +8E60 +99C0 +ENDCHAR +STARTCHAR U_3957 +ENCODING 14679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +7440 +A7C0 +2100 +2FE0 +2280 +2280 +2100 +2EE0 +ENDCHAR +STARTCHAR U_3958 +ENCODING 14680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +25E0 +2EA0 +74A0 +A4A0 +2EA0 +25A0 +28A0 +2AA0 +2EA0 +2160 +ENDCHAR +STARTCHAR U_3959 +ENCODING 14681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2FE0 +7920 +AFE0 +2920 +2100 +2240 +2920 +2C60 +33C0 +ENDCHAR +STARTCHAR U_395A +ENCODING 14682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2960 +2920 +6D60 +B920 +2FE0 +2920 +2100 +2280 +2440 +3820 +ENDCHAR +STARTCHAR U_395B +ENCODING 14683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2200 +2700 +71E0 +AF20 +29A0 +2F40 +2940 +21A0 +2200 +2FE0 +ENDCHAR +STARTCHAR U_395C +ENCODING 14684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +24A0 +27E0 +74A0 +A7E0 +2000 +27E0 +2520 +24E0 +2720 +2860 +ENDCHAR +STARTCHAR U_395D +ENCODING 14685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +22A0 +22A0 +7EE0 +A8A0 +28E0 +2EA0 +22A0 +23E0 +2220 +2C20 +ENDCHAR +STARTCHAR U_395E +ENCODING 14686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +2FE0 +7100 +A320 +2DC0 +2280 +2DC0 +22A0 +2C80 +2300 +ENDCHAR +STARTCHAR U_395F +ENCODING 14687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2440 +2780 +7100 +AFE0 +2200 +2340 +2D80 +22C0 +2CA0 +2300 +ENDCHAR +STARTCHAR U_3960 +ENCODING 14688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2120 +35C0 +A700 +A9E0 +A000 +27C0 +2440 +27C0 +2440 +24C0 +ENDCHAR +STARTCHAR U_3961 +ENCODING 14689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +37E0 +AE00 +A7C0 +AA00 +33E0 +2100 +2FE0 +2340 +2D20 +ENDCHAR +STARTCHAR U_3962 +ENCODING 14690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +3280 +AFE0 +AAA0 +AAA0 +2C60 +2820 +2BA0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_3963 +ENCODING 14691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +2480 +5F40 +8420 +7FC0 +0400 +7FC0 +0800 +5540 +9F20 +ENDCHAR +STARTCHAR U_3964 +ENCODING 14692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +2940 +FEA0 +35C0 +5040 +B080 +1100 +0440 +5220 +90A0 +8F80 +ENDCHAR +STARTCHAR U_3965 +ENCODING 14693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +27C0 +7540 +6FC0 +A100 +2FE0 +2920 +2BA0 +2820 +2860 +ENDCHAR +STARTCHAR U_3966 +ENCODING 14694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4400 +7FC0 +5480 +5680 +6940 +7FC0 +0400 +5240 +90A0 +8F80 +ENDCHAR +STARTCHAR U_3967 +ENCODING 14695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2200 +3FE0 +A820 +AFE0 +A820 +2FE0 +2820 +2FE0 +2440 +2820 +ENDCHAR +STARTCHAR U_3968 +ENCODING 14696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFC0 +5100 +9FE0 +5100 +27C0 +5100 +8FE0 +5440 +92A0 +1F80 +ENDCHAR +STARTCHAR U_3969 +ENCODING 14697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FA0 +3240 +AA80 +BFE0 +A200 +27C0 +2C40 +37C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_396A +ENCODING 14698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2380 +2FE0 +7300 +AD80 +A960 +2200 +2FE0 +2480 +2300 +2DC0 +ENDCHAR +STARTCHAR U_396B +ENCODING 14699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2000 +B7C0 +AC40 +A7C0 +2FE0 +2820 +2FE0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_396C +ENCODING 14700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2440 +7280 +6FE0 +B120 +2FE0 +2200 +23C0 +2440 +28C0 +ENDCHAR +STARTCHAR U_396D +ENCODING 14701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +3100 +6FC0 +A200 +BFE0 +2540 +2D60 +3380 +2540 +2300 +ENDCHAR +STARTCHAR U_396E +ENCODING 14702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2FE0 +2920 +B7E0 +A120 +AA20 +2FE0 +2920 +37E0 +2120 +2660 +ENDCHAR +STARTCHAR U_396F +ENCODING 14703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +4880 +2500 +7FC0 +0040 +7FE0 +0040 +7FC0 +0440 +52A0 +9F80 +ENDCHAR +STARTCHAR U_3970 +ENCODING 14704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2560 +2920 +2D60 +7920 +AFE0 +2100 +2FC0 +2440 +2280 +2300 +3CE0 +ENDCHAR +STARTCHAR U_3971 +ENCODING 14705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2940 +2F60 +7940 +AF60 +2940 +2F60 +2940 +2940 +2A40 +2FE0 +ENDCHAR +STARTCHAR U_3972 +ENCODING 14706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0800 +3F80 +2480 +FFE0 +2080 +C460 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_3973 +ENCODING 14707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2900 +2BC0 +7A40 +ABC0 +2A40 +2BC0 +2880 +2AC0 +2CA0 +3180 +ENDCHAR +STARTCHAR U_3974 +ENCODING 14708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +5D40 +57E0 +F500 +D540 +57E0 +5400 +5540 +5540 +5540 +6A60 +ENDCHAR +STARTCHAR U_3975 +ENCODING 14709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2FE0 +7920 +AB60 +2DA0 +2AE0 +2CA0 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_3976 +ENCODING 14710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7FC0 +1100 +7FC0 +1100 +FFE0 +5440 +B2A0 +4F20 +ENDCHAR +STARTCHAR U_3977 +ENCODING 14711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +4200 +7FE0 +5240 +6DA0 +4880 +7460 +4A40 +98A0 +A7A0 +ENDCHAR +STARTCHAR U_3978 +ENCODING 14712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9540 +9540 +F7C0 +A540 +A7C0 +F200 +A540 +A520 +AA60 +DBC0 +ENDCHAR +STARTCHAR U_3979 +ENCODING 14713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A880 +7240 +2420 +FBC0 +2140 +7140 +AA40 +24C0 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_397A +ENCODING 14714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +7FE0 +A240 +2460 +27A0 +2000 +2FE0 +2AA0 +2FE0 +ENDCHAR +STARTCHAR U_397B +ENCODING 14715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7FE0 +4100 +5D20 +4940 +7E80 +AD60 +CA20 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_397C +ENCODING 14716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +25C0 +7500 +AFE0 +2400 +27C0 +2400 +27E0 +2AA0 +2840 +ENDCHAR +STARTCHAR U_397D +ENCODING 14717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +77C0 +A100 +2FE0 +2440 +27C0 +2440 +27C0 +2820 +ENDCHAR +STARTCHAR U_397E +ENCODING 14718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A40 +2FE0 +7A40 +AFE0 +2A00 +2FC0 +2A40 +2BC0 +2800 +2FE0 +ENDCHAR +STARTCHAR U_397F +ENCODING 14719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +23E0 +7540 +2140 +FC80 +4940 +9A20 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_3980 +ENCODING 14720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +57C0 +4A80 +6380 +DA80 +CD60 +53C0 +4900 +4BC0 +4D00 +53E0 +ENDCHAR +STARTCHAR U_3981 +ENCODING 14721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +7FE0 +D240 +5FC0 +5240 +7FE0 +4200 +BFE0 +1440 +52A0 +9FA0 +ENDCHAR +STARTCHAR U_3982 +ENCODING 14722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FFE0 +A0A0 +3F80 +4440 +44C0 +0400 +5440 +9220 +90A0 +0F80 +ENDCHAR +STARTCHAR U_3983 +ENCODING 14723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +3140 +6AA0 +AFE0 +AA80 +2BE0 +2C80 +2BE0 +2880 +37E0 +ENDCHAR +STARTCHAR U_3984 +ENCODING 14724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4880 +7FE0 +5980 +6EE0 +4880 +4200 +5940 +A8A0 +AFA0 +ENDCHAR +STARTCHAR U_3985 +ENCODING 14725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +3280 +6B80 +AD60 +A920 +27C0 +2540 +2540 +2540 +2100 +ENDCHAR +STARTCHAR U_3986 +ENCODING 14726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +43C0 +6200 +DFE0 +D200 +5FE0 +5200 +5FE0 +5540 +6FE0 +6300 +ENDCHAR +STARTCHAR U_3987 +ENCODING 14727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +3A80 +6FE0 +AAA0 +AFE0 +2A80 +2FE0 +2A80 +2BA0 +32E0 +ENDCHAR +STARTCHAR U_3988 +ENCODING 14728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +2FE0 +A100 +B7C0 +A100 +2FE0 +2000 +2FE0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_3989 +ENCODING 14729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +3100 +AFE0 +A820 +A7C0 +2440 +27C0 +2440 +2280 +2FE0 +ENDCHAR +STARTCHAR U_398A +ENCODING 14730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2EE0 +3440 +AFE0 +A540 +AFE0 +2540 +2FE0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_398B +ENCODING 14731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +3440 +A920 +A7C0 +A100 +2FE0 +2640 +2BC0 +3240 +23C0 +ENDCHAR +STARTCHAR U_398C +ENCODING 14732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFC0 +4500 +FFE0 +4100 +5140 +75C0 +1240 +D0A0 +1F80 +ENDCHAR +STARTCHAR U_398D +ENCODING 14733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2EE0 +B440 +A280 +AFE0 +2100 +2920 +2FE0 +2100 +2E00 +ENDCHAR +STARTCHAR U_398E +ENCODING 14734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +3240 +AFE0 +A240 +BFE0 +2FC0 +2A40 +2FC0 +2A40 +3FE0 +ENDCHAR +STARTCHAR U_398F +ENCODING 14735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +3EE0 +A880 +A660 +A480 +3FE0 +2480 +3FE0 +2480 +2840 +ENDCHAR +STARTCHAR U_3990 +ENCODING 14736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20A0 +2FE0 +7080 +AE80 +2080 +2E80 +2A80 +2E80 +2A80 +2E60 +3120 +ENDCHAR +STARTCHAR U_3991 +ENCODING 14737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2280 +22E0 +BFA0 +AAA0 +AEA0 +2AA0 +2E40 +2A40 +3EA0 +2320 +ENDCHAR +STARTCHAR U_3992 +ENCODING 14738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +2FE0 +B100 +AFE0 +A000 +27C0 +2000 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_3993 +ENCODING 14739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2EA0 +2BE0 +B680 +AA80 +2480 +2940 +3220 +2000 +2AA0 +32A0 +ENDCHAR +STARTCHAR U_3994 +ENCODING 14740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A8A0 +FBE0 +8880 +F880 +8940 +FA20 +8C20 +6540 +A0A0 +9FA0 +ENDCHAR +STARTCHAR U_3995 +ENCODING 14741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2B20 +AAC0 +BD20 +AAC0 +2B40 +2DE0 +2A40 +28E0 +2840 +29E0 +ENDCHAR +STARTCHAR U_3996 +ENCODING 14742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2EE0 +6AA0 +BEE0 +2820 +2920 +2E60 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_3997 +ENCODING 14743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2280 +77C0 +AAA0 +27C0 +2000 +2FE0 +2100 +2540 +2920 +ENDCHAR +STARTCHAR U_3998 +ENCODING 14744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F9E0 +AB40 +FD40 +4140 +FC80 +4940 +9A20 +5440 +9120 +8FA0 +ENDCHAR +STARTCHAR U_3999 +ENCODING 14745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +27C0 +7540 +AFE0 +2920 +2BA0 +2A60 +2540 +2CA0 +37A0 +ENDCHAR +STARTCHAR U_399A +ENCODING 14746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +F1E0 +A8A0 +A4A0 +5540 +F9E0 +4940 +FAE0 +4640 +4040 +8040 +ENDCHAR +STARTCHAR U_399B +ENCODING 14747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +69C0 +4E40 +68C0 +4E40 +6AC0 +5240 +FFE0 +4440 +B220 +50A0 +4F80 +ENDCHAR +STARTCHAR U_399C +ENCODING 14748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2280 +B480 +AFE0 +A480 +27C0 +2480 +2FE0 +2440 +2380 +3C60 +ENDCHAR +STARTCHAR U_399D +ENCODING 14749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EBE0 +5220 +F3E0 +1A20 +EBE0 +0940 +7660 +5240 +90A0 +8FA0 +ENDCHAR +STARTCHAR U_399E +ENCODING 14750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +0440 +7FE0 +5280 +7580 +5240 +90A0 +8FA0 +ENDCHAR +STARTCHAR U_399F +ENCODING 14751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +D540 +37C0 +D540 +37C0 +D100 +17E0 +6840 +A420 +A0A0 +9F80 +ENDCHAR +STARTCHAR U_39A0 +ENCODING 14752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +2520 +2DA0 +A520 +BFE0 +A520 +2FA0 +2260 +2720 +2260 +2FA0 +ENDCHAR +STARTCHAR U_39A1 +ENCODING 14753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4520 +4BC0 +46A0 +6BC0 +EAA0 +EFE0 +C100 +4FE0 +4380 +4D60 +4100 +ENDCHAR +STARTCHAR U_39A2 +ENCODING 14754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2FE0 +3540 +6000 +BEE0 +2AA0 +2EA0 +2AA0 +2EE0 +2A80 +2D80 +ENDCHAR +STARTCHAR U_39A3 +ENCODING 14755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +9F60 +4900 +9E60 +4B40 +54C0 +5F40 +4400 +1440 +52A0 +4F00 +ENDCHAR +STARTCHAR U_39A4 +ENCODING 14756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBE0 +2540 +F900 +8A80 +FA40 +5460 +F900 +54A0 +2660 +E9A0 +ENDCHAR +STARTCHAR U_39A5 +ENCODING 14757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A920 +B7C0 +A100 +AFE0 +2540 +27C0 +2200 +2D60 +2BC0 +ENDCHAR +STARTCHAR U_39A6 +ENCODING 14758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AEE0 +BAA0 +AEE0 +A920 +2AA0 +2BA0 +2AA0 +2CE0 +2820 +ENDCHAR +STARTCHAR U_39A7 +ENCODING 14759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2FE0 +2A40 +B7E0 +A540 +A9A0 +2000 +27C0 +2540 +2640 +27C0 +ENDCHAR +STARTCHAR U_39A8 +ENCODING 14760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AAA0 +BEE0 +A920 +2FE0 +2D60 +2FA0 +2BA0 +2D60 +2820 +ENDCHAR +STARTCHAR U_39A9 +ENCODING 14761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +AFC0 +BA80 +ABE0 +AA20 +2DE0 +2820 +2BC0 +2AA0 +2DC0 +ENDCHAR +STARTCHAR U_39AA +ENCODING 14762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +A440 +BBC0 +AAA0 +2BA0 +2000 +2FC0 +2440 +2380 +2C60 +ENDCHAR +STARTCHAR U_39AB +ENCODING 14763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +2FE0 +2280 +AFE0 +B540 +AFE0 +2440 +27C0 +2440 +27C0 +2820 +ENDCHAR +STARTCHAR U_39AC +ENCODING 14764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +2FE0 +B540 +ABE0 +AD40 +2BE0 +2F40 +25E0 +2B40 +29E0 +ENDCHAR +STARTCHAR U_39AD +ENCODING 14765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2FE0 +BBA0 +A540 +AFE0 +AAA0 +2FE0 +2540 +2BA0 +2FE0 +ENDCHAR +STARTCHAR U_39AE +ENCODING 14766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +7FC0 +0400 +7FC0 +0400 +FFE0 +0240 +0380 +06A0 +7860 +ENDCHAR +STARTCHAR U_39AF +ENCODING 14767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0240 +FFE0 +2200 +4200 +9220 +F940 +0180 +F9A0 +0660 +3820 +ENDCHAR +STARTCHAR U_39B0 +ENCODING 14768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2940 +2920 +5500 +FFE0 +0100 +0140 +0140 +00A0 +01A0 +0260 +0420 +ENDCHAR +STARTCHAR U_39B1 +ENCODING 14769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +7120 +0100 +FFE0 +0100 +2140 +2140 +7180 +2320 +34A0 +4060 +ENDCHAR +STARTCHAR U_39B2 +ENCODING 14770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1140 +7D20 +1100 +FFE0 +2100 +3D40 +2480 +44A0 +5960 +8620 +ENDCHAR +STARTCHAR U_39B3 +ENCODING 14771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +7D20 +1100 +FFE0 +0100 +1140 +7D40 +1140 +1CA0 +7160 +0220 +ENDCHAR +STARTCHAR U_39B4 +ENCODING 14772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +0120 +FFE0 +2100 +3920 +C920 +3140 +CD80 +79A0 +4A60 +7C20 +ENDCHAR +STARTCHAR U_39B5 +ENCODING 14773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5140 +5120 +7D00 +93E0 +1100 +FD20 +3940 +5480 +54A0 +9160 +9620 +ENDCHAR +STARTCHAR U_39B6 +ENCODING 14774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +0120 +FFE0 +0100 +F920 +5140 +B940 +2180 +F8A0 +2160 +FA20 +ENDCHAR +STARTCHAR U_39B7 +ENCODING 14775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +1140 +6120 +FFE0 +A900 +F920 +A940 +F880 +A8A0 +A960 +9A20 +ENDCHAR +STARTCHAR U_39B8 +ENCODING 14776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3940 +2120 +FFE0 +8900 +F920 +8940 +F940 +20A0 +F960 +2220 +ENDCHAR +STARTCHAR U_39B9 +ENCODING 14777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4940 +7920 +4BE0 +FD00 +2100 +7D20 +9540 +6C80 +15A0 +6E60 +ENDCHAR +STARTCHAR U_39BA +ENCODING 14778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +8140 +FD20 +B7E0 +A900 +B520 +AB20 +FD40 +08A0 +4960 +1A20 +ENDCHAR +STARTCHAR U_39BB +ENCODING 14779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +2540 +B520 +27E0 +6D00 +2120 +FD20 +8540 +FCA0 +8560 +FE20 +ENDCHAR +STARTCHAR U_39BC +ENCODING 14780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D40 +1120 +FFE0 +2900 +5520 +DF20 +4540 +6CA0 +4560 +7E20 +ENDCHAR +STARTCHAR U_39BD +ENCODING 14781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F8A0 +27E0 +4080 +FB80 +4AA0 +7BA0 +49C0 +7EA0 +4960 +5A20 +ENDCHAR +STARTCHAR U_39BE +ENCODING 14782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +7FC0 +4040 +7FC0 +5200 +53C0 +5E40 +7280 +5020 +9FE0 +ENDCHAR +STARTCHAR U_39BF +ENCODING 14783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4000 +7FC0 +4040 +7FC0 +4200 +5FC0 +4200 +4A40 +5220 +A220 +ENDCHAR +STARTCHAR U_39C0 +ENCODING 14784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2020 +3FE0 +2000 +2F80 +2480 +26E0 +4940 +4880 +9360 +ENDCHAR +STARTCHAR U_39C1 +ENCODING 14785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2020 +3FE0 +2100 +27C0 +2100 +2FE0 +4200 +4440 +8FE0 +ENDCHAR +STARTCHAR U_39C2 +ENCODING 14786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +3FE0 +2020 +3FE0 +2000 +2FE0 +2920 +4FE0 +4920 +8FE0 +ENDCHAR +STARTCHAR U_39C3 +ENCODING 14787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +2420 +2420 +F420 +2420 +3420 +65E0 +A620 +2020 +A020 +4020 +ENDCHAR +STARTCHAR U_39C4 +ENCODING 14788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +2420 +2420 +F420 +2420 +3420 +6420 +A420 +2420 +A420 +47E0 +ENDCHAR +STARTCHAR U_39C5 +ENCODING 14789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2120 +F120 +2120 +3120 +6120 +A220 +2220 +A4A0 +4840 +ENDCHAR +STARTCHAR U_39C6 +ENCODING 14790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +EFE0 +4920 +4920 +6920 +4920 +C9A0 +4960 +4100 +C100 +ENDCHAR +STARTCHAR U_39C7 +ENCODING 14791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +E820 +4820 +4820 +6BA0 +4820 +C820 +4820 +48A0 +C840 +ENDCHAR +STARTCHAR U_39C8 +ENCODING 14792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2020 +F020 +27E0 +2400 +3400 +67E0 +A020 +2020 +A0A0 +4040 +ENDCHAR +STARTCHAR U_39C9 +ENCODING 14793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +4FC0 +E800 +5780 +4000 +6F80 +4080 +C080 +40A0 +40A0 +C060 +ENDCHAR +STARTCHAR U_39CA +ENCODING 14794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +EFE0 +4100 +4FE0 +6920 +4920 +C920 +4960 +4920 +C100 +ENDCHAR +STARTCHAR U_39CB +ENCODING 14795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +4120 +E100 +4FE0 +4100 +6100 +4280 +C280 +4440 +4820 +D020 +ENDCHAR +STARTCHAR U_39CC +ENCODING 14796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F100 +21E0 +2F00 +3100 +61E0 +AF00 +2120 +A120 +41E0 +ENDCHAR +STARTCHAR U_39CD +ENCODING 14797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4100 +EFE0 +4200 +4200 +63E0 +4220 +C420 +4420 +48A0 +D040 +ENDCHAR +STARTCHAR U_39CE +ENCODING 14798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +E080 +4880 +4FE0 +6280 +4280 +C480 +4880 +5280 +C100 +ENDCHAR +STARTCHAR U_39CF +ENCODING 14799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +E820 +4C60 +4AA0 +6920 +4AA0 +CCA0 +4820 +48A0 +C840 +ENDCHAR +STARTCHAR U_39D0 +ENCODING 14800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4EE0 +E2A0 +4AA0 +4AA0 +6AA0 +44A0 +C440 +4AA0 +4920 +D220 +ENDCHAR +STARTCHAR U_39D1 +ENCODING 14801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2500 +F100 +2FE0 +2120 +31A0 +6160 +A220 +2220 +A4A0 +4840 +ENDCHAR +STARTCHAR U_39D2 +ENCODING 14802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2820 +2000 +3280 +6280 +A280 +2440 +A440 +4820 +ENDCHAR +STARTCHAR U_39D3 +ENCODING 14803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +4F00 +EA80 +4A80 +4A80 +6A80 +4A80 +CA40 +4AA0 +4BA0 +D2A0 +ENDCHAR +STARTCHAR U_39D4 +ENCODING 14804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +4120 +EFE0 +4900 +4940 +6940 +4940 +C880 +48A0 +4960 +D220 +ENDCHAR +STARTCHAR U_39D5 +ENCODING 14805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +44E0 +EAA0 +4AA0 +4AA0 +6AA0 +4EA0 +CAE0 +4280 +4480 +C880 +ENDCHAR +STARTCHAR U_39D6 +ENCODING 14806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +E820 +4FE0 +4800 +6BC0 +4840 +C880 +4920 +4A20 +D1E0 +ENDCHAR +STARTCHAR U_39D7 +ENCODING 14807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4280 +E280 +4AA0 +4BA0 +6AC0 +4A80 +CA80 +4AA0 +4BA0 +DC60 +ENDCHAR +STARTCHAR U_39D8 +ENCODING 14808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5DE0 +5100 +5D20 +E0E0 +1F00 +0400 +3F80 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_39D9 +ENCODING 14809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +40A0 +E220 +4240 +4A40 +6A80 +5340 +C220 +4600 +4A40 +D1C0 +ENDCHAR +STARTCHAR U_39DA +ENCODING 14810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +5FE0 +E400 +4400 +4780 +6480 +4680 +C580 +44A0 +47A0 +C860 +ENDCHAR +STARTCHAR U_39DB +ENCODING 14811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +53E0 +5480 +5840 +1F00 +0400 +3F80 +0400 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_39DC +ENCODING 14812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2880 +F880 +2BE0 +2AA0 +3AA0 +6AE0 +AAA0 +2880 +A880 +4FE0 +ENDCHAR +STARTCHAR U_39DD +ENCODING 14813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7DE0 +2520 +49E0 +1F00 +0400 +3F80 +0400 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_39DE +ENCODING 14814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +4E00 +E200 +5FE0 +4200 +63E0 +4220 +C540 +4480 +4940 +D220 +ENDCHAR +STARTCHAR U_39DF +ENCODING 14815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +4500 +E100 +4900 +4500 +6100 +4500 +C900 +5900 +4900 +C9E0 +ENDCHAR +STARTCHAR U_39E0 +ENCODING 14816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2200 +F440 +2FE0 +2020 +3100 +6540 +A520 +2920 +A100 +4300 +ENDCHAR +STARTCHAR U_39E1 +ENCODING 14817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4100 +EFE0 +4100 +4240 +6C80 +4720 +C240 +4C80 +4140 +CE20 +ENDCHAR +STARTCHAR U_39E2 +ENCODING 14818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +F920 +2920 +2FE0 +3920 +6920 +AAA0 +2C60 +A820 +4FE0 +ENDCHAR +STARTCHAR U_39E3 +ENCODING 14819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +4900 +EFE0 +5100 +4100 +5FE0 +6380 +C540 +4920 +5120 +C100 +ENDCHAR +STARTCHAR U_39E4 +ENCODING 14820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +F200 +2440 +3FE0 +6280 +A280 +2280 +A4A0 +4860 +ENDCHAR +STARTCHAR U_39E5 +ENCODING 14821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +F7C0 +2900 +2100 +3FE0 +6280 +A280 +22A0 +A4A0 +4860 +ENDCHAR +STARTCHAR U_39E6 +ENCODING 14822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +F7E0 +2820 +27A0 +34A0 +67A0 +A4A0 +27A0 +A0A0 +4040 +ENDCHAR +STARTCHAR U_39E7 +ENCODING 14823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4100 +EFE0 +4200 +4440 +6FE0 +4000 +C540 +4540 +4540 +C960 +ENDCHAR +STARTCHAR U_39E8 +ENCODING 14824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4F00 +E800 +4800 +4FE0 +6800 +4BC0 +CA40 +4A40 +4A40 +D3C0 +ENDCHAR +STARTCHAR U_39E9 +ENCODING 14825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +5040 +FFC0 +5240 +5FC0 +7AC0 +5AC0 +DAC0 +5240 +5260 +E220 +ENDCHAR +STARTCHAR U_39EA +ENCODING 14826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +43C0 +E480 +4FE0 +4800 +6BC0 +4A40 +CAC0 +4A00 +4A20 +D1E0 +ENDCHAR +STARTCHAR U_39EB +ENCODING 14827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +F200 +2FE0 +2AA0 +3AA0 +6AA0 +AAA0 +2AA0 +A820 +4860 +ENDCHAR +STARTCHAR U_39EC +ENCODING 14828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +4440 +4540 +7540 +C860 +1F00 +0400 +7FC0 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_39ED +ENCODING 14829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9E0 +2120 +2140 +3920 +E1E0 +1F00 +0400 +7FC0 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_39EE +ENCODING 14830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2400 +F8E0 +2820 +2820 +3820 +6EE0 +A820 +2820 +A820 +4FE0 +ENDCHAR +STARTCHAR U_39EF +ENCODING 14831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F120 +2140 +2FE0 +3100 +6240 +AE80 +2320 +A220 +41E0 +ENDCHAR +STARTCHAR U_39F0 +ENCODING 14832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4F00 +E800 +4900 +4900 +6FE0 +4100 +C540 +4920 +5520 +C200 +ENDCHAR +STARTCHAR U_39F1 +ENCODING 14833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +5080 +8BE0 +0080 +FBE0 +0080 +F880 +8880 +8880 +F980 +ENDCHAR +STARTCHAR U_39F2 +ENCODING 14834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4100 +EFE0 +4820 +4100 +6FE0 +4380 +C540 +4920 +5120 +C100 +ENDCHAR +STARTCHAR U_39F3 +ENCODING 14835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +EC60 +47C0 +E240 +44C0 +DF00 +0400 +3F80 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_39F4 +ENCODING 14836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42C0 +4CA0 +E480 +4FE0 +4480 +64A0 +46A0 +CCC0 +5480 +45A0 +CC60 +ENDCHAR +STARTCHAR U_39F5 +ENCODING 14837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2080 +F100 +2340 +3520 +2920 +6100 +AFE0 +2820 +A820 +4FE0 +ENDCHAR +STARTCHAR U_39F6 +ENCODING 14838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F440 +27C0 +2440 +37C0 +6460 +AFC0 +20C0 +A340 +4CC0 +ENDCHAR +STARTCHAR U_39F7 +ENCODING 14839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +F100 +2FE0 +2280 +3440 +6FE0 +A440 +2440 +A440 +47C0 +ENDCHAR +STARTCHAR U_39F8 +ENCODING 14840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F000 +27C0 +2440 +37C0 +6000 +A7C0 +2080 +A100 +4300 +ENDCHAR +STARTCHAR U_39F9 +ENCODING 14841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4840 +EFC0 +4840 +4FC0 +6000 +5FE0 +C080 +5FE0 +4880 +C580 +ENDCHAR +STARTCHAR U_39FA +ENCODING 14842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5D20 +E5C0 +4940 +5520 +4200 +6FC0 +C840 +4FC0 +4840 +CFC0 +ENDCHAR +STARTCHAR U_39FB +ENCODING 14843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +F200 +2D20 +21C0 +3680 +6EC0 +A3A0 +2FA0 +A080 +4300 +ENDCHAR +STARTCHAR U_39FC +ENCODING 14844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27C0 +3100 +2FE0 +6180 +A2A0 +26C0 +AA40 +4320 +ENDCHAR +STARTCHAR U_39FD +ENCODING 14845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +F920 +2FE0 +2920 +3BA0 +6AA0 +AAA0 +2BA0 +A820 +4FE0 +ENDCHAR +STARTCHAR U_39FE +ENCODING 14846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +47E0 +EAA0 +42A0 +4520 +6560 +4000 +C240 +5520 +5440 +C3C0 +ENDCHAR +STARTCHAR U_39FF +ENCODING 14847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +EAA0 +5120 +4000 +6100 +4500 +C5E0 +4500 +4B00 +D1E0 +ENDCHAR +STARTCHAR U_3A00 +ENCODING 14848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2100 +F7E0 +2100 +27C0 +3140 +6FE0 +A140 +27C0 +A380 +4540 +ENDCHAR +STARTCHAR U_3A01 +ENCODING 14849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27C0 +2440 +37C0 +6440 +A7C0 +2440 +A440 +4FE0 +ENDCHAR +STARTCHAR U_3A02 +ENCODING 14850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27C0 +2540 +37C0 +6540 +A7C0 +2380 +A540 +4920 +ENDCHAR +STARTCHAR U_3A03 +ENCODING 14851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F440 +27C0 +2000 +37C0 +6040 +AFE0 +2080 +A280 +4100 +ENDCHAR +STARTCHAR U_3A04 +ENCODING 14852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +FBA0 +2920 +2FE0 +3820 +6BA0 +AAA0 +2BA0 +A820 +5060 +ENDCHAR +STARTCHAR U_3A05 +ENCODING 14853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F440 +2100 +2FE0 +3920 +6AA0 +AA60 +2C60 +A820 +4860 +ENDCHAR +STARTCHAR U_3A06 +ENCODING 14854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +EEE0 +4440 +4440 +6CC0 +CEE0 +5560 +5540 +4440 +C440 +ENDCHAR +STARTCHAR U_3A07 +ENCODING 14855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +4F80 +AA80 +4D00 +0A00 +D500 +3E00 +0800 +3E00 +FF80 +0800 +1800 +ENDCHAR +STARTCHAR U_3A08 +ENCODING 14856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2100 +2EE0 +3000 +6440 +A7C0 +2440 +A7C0 +4840 +ENDCHAR +STARTCHAR U_3A09 +ENCODING 14857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +F7E0 +2480 +27E0 +3640 +67E0 +A420 +27E0 +A420 +47E0 +ENDCHAR +STARTCHAR U_3A0A +ENCODING 14858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F200 +23E0 +2480 +33E0 +6000 +A3E0 +22A0 +A260 +42A0 +ENDCHAR +STARTCHAR U_3A0B +ENCODING 14859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +27E0 +F140 +2FE0 +2100 +3200 +67E0 +AA20 +23E0 +A220 +43E0 +ENDCHAR +STARTCHAR U_3A0C +ENCODING 14860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +F9C0 +7140 +F940 +8A60 +7000 +23E0 +7220 +2140 +F880 +6360 +ENDCHAR +STARTCHAR U_3A0D +ENCODING 14861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +77E0 +2040 +FA40 +20C0 +F700 +0200 +1F80 +0200 +3FC0 +0600 +ENDCHAR +STARTCHAR U_3A0E +ENCODING 14862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +2AA0 +2AA0 +3860 +6100 +AFE0 +2100 +A280 +4C60 +ENDCHAR +STARTCHAR U_3A0F +ENCODING 14863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2520 +F7E0 +2200 +2FE0 +3280 +62A0 +A5C0 +2480 +A540 +4A20 +ENDCHAR +STARTCHAR U_3A10 +ENCODING 14864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BE0 +4A20 +EA20 +53E0 +5080 +73E0 +5080 +D1C0 +52A0 +56A0 +D080 +ENDCHAR +STARTCHAR U_3A11 +ENCODING 14865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AA0 +4920 +EAA0 +4FE0 +4440 +6A20 +43C0 +C440 +4A80 +4100 +CEE0 +ENDCHAR +STARTCHAR U_3A12 +ENCODING 14866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +E440 +4920 +47C0 +6100 +4FE0 +C100 +47C0 +4100 +CFE0 +ENDCHAR +STARTCHAR U_3A13 +ENCODING 14867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +EAA0 +4440 +4940 +6500 +47C0 +C900 +4FE0 +4100 +C100 +ENDCHAR +STARTCHAR U_3A14 +ENCODING 14868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40A0 +4080 +EFE0 +4880 +4E80 +68A0 +4EA0 +CAC0 +4E80 +51A0 +D260 +ENDCHAR +STARTCHAR U_3A15 +ENCODING 14869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +4840 +E860 +4FA0 +4AA0 +6920 +52A0 +C400 +5FC0 +5540 +BFE0 +ENDCHAR +STARTCHAR U_3A16 +ENCODING 14870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5D00 +4900 +E9E0 +5120 +5EA0 +6AA0 +48A0 +DC40 +48A0 +4D20 +D220 +ENDCHAR +STARTCHAR U_3A17 +ENCODING 14871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +4100 +E7C0 +4040 +4FE0 +6040 +47C0 +C100 +49E0 +4900 +D7E0 +ENDCHAR +STARTCHAR U_3A18 +ENCODING 14872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4540 +E540 +4BA0 +47C0 +6C40 +57C0 +C440 +47C0 +4440 +C7C0 +ENDCHAR +STARTCHAR U_3A19 +ENCODING 14873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +F300 +2640 +2380 +3220 +67E0 +A100 +2FE0 +A100 +4EE0 +ENDCHAR +STARTCHAR U_3A1A +ENCODING 14874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +F240 +27E0 +3820 +27A0 +64A0 +A7A0 +24A0 +A7A0 +4040 +ENDCHAR +STARTCHAR U_3A1B +ENCODING 14875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +EEE0 +4AA0 +4EE0 +6820 +4920 +C920 +4AA0 +4CA0 +C860 +ENDCHAR +STARTCHAR U_3A1C +ENCODING 14876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +4100 +EFE0 +4A20 +4FC0 +6A00 +4BE0 +C900 +4EE0 +4900 +D6E0 +ENDCHAR +STARTCHAR U_3A1D +ENCODING 14877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +EFE0 +4AA0 +49C0 +6BE0 +4A20 +CBE0 +4A20 +4BE0 +D260 +ENDCHAR +STARTCHAR U_3A1E +ENCODING 14878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +E7C0 +4FE0 +4200 +64C0 +4300 +C440 +4FE0 +4540 +C920 +ENDCHAR +STARTCHAR U_3A1F +ENCODING 14879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4920 +EFE0 +4000 +4FE0 +6000 +47C0 +C440 +47C0 +4280 +CFE0 +ENDCHAR +STARTCHAR U_3A20 +ENCODING 14880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +F7C0 +2440 +27C0 +3440 +67C0 +A100 +2FE0 +A440 +4820 +ENDCHAR +STARTCHAR U_3A21 +ENCODING 14881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FFE0 +2920 +2E20 +3960 +6EA0 +A9E0 +2EA0 +A920 +4FE0 +ENDCHAR +STARTCHAR U_3A22 +ENCODING 14882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48A0 +52C0 +FF80 +40A0 +5EE0 +7200 +5EA0 +D2C0 +5E80 +52A0 +D2E0 +ENDCHAR +STARTCHAR U_3A23 +ENCODING 14883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +2540 +FA20 +27C0 +3040 +6EE0 +AAA0 +2660 +AAA0 +4440 +ENDCHAR +STARTCHAR U_3A24 +ENCODING 14884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4940 +E9E0 +4A40 +4EE0 +6A40 +4AE0 +CA40 +4AE0 +4800 +CFE0 +ENDCHAR +STARTCHAR U_3A25 +ENCODING 14885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4880 +EBE0 +56A0 +4AA0 +6AA0 +56A0 +DB60 +4220 +4620 +DA60 +ENDCHAR +STARTCHAR U_3A26 +ENCODING 14886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4BE0 +F880 +4BE0 +4880 +6BE0 +4000 +C7C0 +4440 +4380 +CC60 +ENDCHAR +STARTCHAR U_3A27 +ENCODING 14887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2440 +F7E0 +2100 +2FE0 +3280 +67C0 +BD60 +27C0 +A540 +47C0 +ENDCHAR +STARTCHAR U_3A28 +ENCODING 14888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4DE0 +E8A0 +4AA0 +4D60 +6000 +4FE0 +C920 +4FE0 +4920 +CFE0 +ENDCHAR +STARTCHAR U_3A29 +ENCODING 14889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +E800 +4F20 +49C0 +6A40 +4AE0 +CB40 +4DE0 +4A00 +D5E0 +ENDCHAR +STARTCHAR U_3A2A +ENCODING 14890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +E7C0 +4440 +47C0 +6920 +4540 +CFE0 +4280 +42A0 +CC60 +ENDCHAR +STARTCHAR U_3A2B +ENCODING 14891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +5500 +F5E0 +5680 +5440 +4400 +6000 +DFC0 +5540 +5540 +BFE0 +ENDCHAR +STARTCHAR U_3A2C +ENCODING 14892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +2FE0 +2440 +27C0 +3120 +62C0 +A680 +2A60 +4300 +ENDCHAR +STARTCHAR U_3A2D +ENCODING 14893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +E820 +4FE0 +4A40 +6BC0 +4BE0 +CAA0 +4BE0 +4A00 +D3E0 +ENDCHAR +STARTCHAR U_3A2E +ENCODING 14894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4560 +4BA0 +EAA0 +4BA0 +4AA0 +6BA0 +4C60 +C280 +4280 +42A0 +CC60 +ENDCHAR +STARTCHAR U_3A2F +ENCODING 14895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +5FA0 +EEA0 +4AC0 +4EA0 +60A0 +4EA0 +C2C0 +5F80 +4480 +CC80 +ENDCHAR +STARTCHAR U_3A30 +ENCODING 14896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA80 +2640 +2CA0 +37C0 +6300 +A540 +2CC0 +B580 +4660 +ENDCHAR +STARTCHAR U_3A31 +ENCODING 14897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +47C0 +E940 +4580 +4E00 +6100 +CFE0 +4000 +4FE0 +C440 +47C0 +ENDCHAR +STARTCHAR U_3A32 +ENCODING 14898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F440 +2100 +2FE0 +2920 +37C0 +6100 +A380 +2540 +6920 +ENDCHAR +STARTCHAR U_3A33 +ENCODING 14899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F920 +27C0 +2280 +3FE0 +6040 +A740 +2540 +2740 +60C0 +ENDCHAR +STARTCHAR U_3A34 +ENCODING 14900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +5E80 +E9E0 +5E00 +52E0 +7E40 +D280 +5E80 +4900 +DF20 +48C0 +ENDCHAR +STARTCHAR U_3A35 +ENCODING 14901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5FE0 +EA00 +4EA0 +4AA0 +6EA0 +D260 +4000 +4FE0 +C220 +5CC0 +ENDCHAR +STARTCHAR U_3A36 +ENCODING 14902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +FC40 +27C0 +2400 +37C0 +6400 +A7E0 +2020 +2AA0 +6060 +ENDCHAR +STARTCHAR U_3A37 +ENCODING 14903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +F240 +27E0 +3D20 +67E0 +A100 +2FE0 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_3A38 +ENCODING 14904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +EA20 +4480 +5520 +C640 +5BC0 +4100 +4920 +4920 +CFE0 +ENDCHAR +STARTCHAR U_3A39 +ENCODING 14905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4EE0 +F440 +4EE0 +4440 +6EE0 +CFC0 +4040 +5FE0 +4040 +CFC0 +ENDCHAR +STARTCHAR U_3A3A +ENCODING 14906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F440 +27C0 +3100 +6FE0 +A920 +2BA0 +2D60 +A920 +6860 +ENDCHAR +STARTCHAR U_3A3B +ENCODING 14907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +FF00 +AA00 +FBE0 +AA80 +FC80 +2F80 +0400 +7FE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_3A3C +ENCODING 14908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0780 +FC80 +AB00 +FCC0 +AA80 +FB80 +1E00 +0400 +FFC0 +0400 +1C00 +ENDCHAR +STARTCHAR U_3A3D +ENCODING 14909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F20 +4020 +EE20 +4AA0 +4EA0 +60A0 +DFA0 +5520 +5F20 +5520 +DF60 +ENDCHAR +STARTCHAR U_3A3E +ENCODING 14910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4BA0 +E7C0 +4100 +4FE0 +6200 +CF20 +4140 +4F80 +4340 +CD20 +ENDCHAR +STARTCHAR U_3A3F +ENCODING 14911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2080 +F7E0 +24A0 +37C0 +6480 +A5E0 +26A0 +25A0 +A500 +6AE0 +ENDCHAR +STARTCHAR U_3A40 +ENCODING 14912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +4100 +EFE0 +4900 +4FC0 +6900 +CBE0 +4D60 +4AA0 +4920 +D2C0 +ENDCHAR +STARTCHAR U_3A41 +ENCODING 14913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2AA0 +F440 +2A20 +2480 +3FE0 +E480 +27E0 +2480 +E7E0 +ENDCHAR +STARTCHAR U_3A42 +ENCODING 14914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +4E40 +52C0 +E440 +5FC0 +5540 +7F60 +D5C0 +5F40 +5540 +E340 +ENDCHAR +STARTCHAR U_3A43 +ENCODING 14915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2AA0 +F7C0 +2280 +2FE0 +3280 +E540 +28A0 +2300 +6080 +ENDCHAR +STARTCHAR U_3A44 +ENCODING 14916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +27C0 +F000 +27C0 +2540 +37C0 +6540 +A7C0 +2000 +AD40 +57A0 +ENDCHAR +STARTCHAR U_3A45 +ENCODING 14917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2EE0 +FAA0 +2EE0 +2280 +3FE0 +E920 +2FE0 +2920 +6FE0 +ENDCHAR +STARTCHAR U_3A46 +ENCODING 14918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +48A0 +FE80 +41E0 +5C80 +5480 +7C80 +C880 +5D40 +CA40 +5C60 +ENDCHAR +STARTCHAR U_3A47 +ENCODING 14919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F140 +2FE0 +3140 +2FE0 +6540 +A7C0 +2540 +A540 +4FE0 +ENDCHAR +STARTCHAR U_3A48 +ENCODING 14920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +2440 +27C0 +3140 +67E0 +A240 +27C0 +AA40 +53C0 +ENDCHAR +STARTCHAR U_3A49 +ENCODING 14921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F7C0 +2820 +27C0 +3440 +6FE0 +AAA0 +2660 +BBA0 +4660 +ENDCHAR +STARTCHAR U_3A4A +ENCODING 14922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2F80 +F540 +2FE0 +2AA0 +2FE0 +3040 +EFE0 +2040 +2240 +60C0 +ENDCHAR +STARTCHAR U_3A4B +ENCODING 14923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F140 +2FE0 +2140 +37C0 +6BA0 +AD60 +2BA0 +AD60 +53A0 +ENDCHAR +STARTCHAR U_3A4C +ENCODING 14924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +F2A0 +2FE0 +2A80 +3FE0 +6460 +A7C0 +2440 +A7C0 +4C60 +ENDCHAR +STARTCHAR U_3A4D +ENCODING 14925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +FA40 +2100 +2FE0 +3100 +67C0 +A540 +2380 +A540 +4920 +ENDCHAR +STARTCHAR U_3A4E +ENCODING 14926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EC0 +2AA0 +FE80 +2BE0 +2E80 +3080 +6E80 +AA80 +2EC0 +AB20 +4A20 +ENDCHAR +STARTCHAR U_3A4F +ENCODING 14927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +F7C0 +2540 +27C0 +2100 +37C0 +E100 +2FE0 +2540 +6AA0 +ENDCHAR +STARTCHAR U_3A50 +ENCODING 14928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2EE0 +F540 +2100 +2FE0 +3100 +67C0 +A080 +2FE0 +A480 +4180 +ENDCHAR +STARTCHAR U_3A51 +ENCODING 14929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2280 +2440 +3EE0 +6280 +AEE0 +2280 +AEE0 +4280 +ENDCHAR +STARTCHAR U_3A52 +ENCODING 14930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +27C0 +2AA0 +37C0 +6000 +AFE0 +2540 +A520 +4920 +ENDCHAR +STARTCHAR U_3A53 +ENCODING 14931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BC0 +8A40 +DDE0 +AA80 +77E0 +2200 +DFC0 +0200 +FFE0 +0200 +0C00 +ENDCHAR +STARTCHAR U_3A54 +ENCODING 14932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +5140 +FF40 +5520 +5FE0 +5540 +7540 +DFC0 +5540 +54A0 +E920 +ENDCHAR +STARTCHAR U_3A55 +ENCODING 14933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2920 +27C0 +3100 +66C0 +A920 +27C0 +A280 +4100 +ENDCHAR +STARTCHAR U_3A56 +ENCODING 14934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +F7C0 +2540 +2FE0 +3100 +67C0 +A540 +27C0 +A540 +4FE0 +ENDCHAR +STARTCHAR U_3A57 +ENCODING 14935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2FE0 +F480 +2FE0 +2480 +37E0 +E480 +2FC0 +2240 +A420 +58E0 +ENDCHAR +STARTCHAR U_3A58 +ENCODING 14936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F100 +27C0 +3100 +2FE0 +6540 +BFE0 +24A0 +2E40 +64A0 +ENDCHAR +STARTCHAR U_3A59 +ENCODING 14937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2AA0 +F7C0 +2280 +2FE0 +3440 +E920 +27C0 +2100 +6FE0 +ENDCHAR +STARTCHAR U_3A5A +ENCODING 14938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2FE0 +2820 +37C0 +6220 +AD40 +2280 +AD60 +4200 +ENDCHAR +STARTCHAR U_3A5B +ENCODING 14939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5120 +FFE0 +5560 +57A0 +7560 +DFA0 +54A0 +52A0 +5120 +DFE0 +ENDCHAR +STARTCHAR U_3A5C +ENCODING 14940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +5480 +FEE0 +5300 +5E00 +54E0 +7F00 +C000 +5FC0 +5540 +FFE0 +ENDCHAR +STARTCHAR U_3A5D +ENCODING 14941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2FE0 +2820 +37C0 +6240 +AD80 +2340 +ACA0 +4300 +ENDCHAR +STARTCHAR U_3A5E +ENCODING 14942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +27E0 +F240 +2DA0 +2000 +3FE0 +6920 +A7C0 +2100 +A540 +4920 +ENDCHAR +STARTCHAR U_3A5F +ENCODING 14943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2AA0 +F7C0 +2280 +2FE0 +3540 +EFE0 +2100 +2540 +6B20 +ENDCHAR +STARTCHAR U_3A60 +ENCODING 14944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +FA80 +2FE0 +2AA0 +3FE0 +6A40 +AB60 +2A40 +A920 +5540 +ENDCHAR +STARTCHAR U_3A61 +ENCODING 14945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F200 +27C0 +2240 +33C0 +6EE0 +A880 +2EE0 +AAA0 +4EE0 +ENDCHAR +STARTCHAR U_3A62 +ENCODING 14946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2EE0 +F280 +2FE0 +2AA0 +3FE0 +6120 +AFE0 +2940 +ACA0 +5360 +ENDCHAR +STARTCHAR U_3A63 +ENCODING 14947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2660 +FAA0 +2FE0 +2920 +37C0 +6540 +A7C0 +2540 +AFE0 +4100 +ENDCHAR +STARTCHAR U_3A64 +ENCODING 14948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5E80 +E480 +5FE0 +5540 +5F40 +7540 +DE80 +4A80 +5340 +EF40 +ENDCHAR +STARTCHAR U_3A65 +ENCODING 14949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44C0 +4EA0 +E480 +5FE0 +4A80 +6BA0 +DAA0 +4B40 +5A40 +4FA0 +D920 +ENDCHAR +STARTCHAR U_3A66 +ENCODING 14950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +47E0 +E900 +5FC0 +4900 +6FE0 +4900 +DFE0 +54A0 +5AE0 +D320 +ENDCHAR +STARTCHAR U_3A67 +ENCODING 14951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4840 +EFC0 +4480 +5FE0 +6480 +DFE0 +4D40 +53A0 +5540 +CB20 +ENDCHAR +STARTCHAR U_3A68 +ENCODING 14952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4EE0 +E440 +4EE0 +4440 +6FC0 +D040 +4FC0 +4500 +5460 +D7C0 +ENDCHAR +STARTCHAR U_3A69 +ENCODING 14953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48E0 +4E40 +E8E0 +4EA0 +40E0 +64A0 +D5E0 +4EA0 +55E0 +4440 +CCA0 +ENDCHAR +STARTCHAR U_3A6A +ENCODING 14954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +4480 +E9E0 +4B20 +5DE0 +4520 +69E0 +DF20 +41E0 +54C0 +EB20 +ENDCHAR +STARTCHAR U_3A6B +ENCODING 14955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4660 +4880 +EFE0 +4AA0 +47C0 +6440 +C7C0 +4440 +47C0 +4280 +CC40 +ENDCHAR +STARTCHAR U_3A6C +ENCODING 14956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4640 +4440 +FFE0 +5440 +5F40 +5460 +77C0 +D540 +5DC0 +5560 +EFC0 +ENDCHAR +STARTCHAR U_3A6D +ENCODING 14957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4D60 +4AA0 +ED60 +4AA0 +5FE0 +5020 +67C0 +C080 +4FE0 +4100 +C700 +ENDCHAR +STARTCHAR U_3A6E +ENCODING 14958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5B60 +5220 +FB60 +5520 +7FE0 +4540 +6BA0 +D100 +4FC0 +4100 +C300 +ENDCHAR +STARTCHAR U_3A6F +ENCODING 14959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C80 +51E0 +FF40 +5480 +5F60 +4200 +6700 +C240 +4FC0 +4A80 +D640 +ENDCHAR +STARTCHAR U_3A70 +ENCODING 14960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2EE0 +F380 +2280 +2FE0 +2AA0 +6EE0 +A100 +2FE0 +A540 +4920 +ENDCHAR +STARTCHAR U_3A71 +ENCODING 14961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +FFE0 +2AA0 +2FE0 +3A20 +6EE0 +AA20 +2EA0 +AA20 +4D60 +ENDCHAR +STARTCHAR U_3A72 +ENCODING 14962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2EE0 +F6C0 +2AA0 +2EE0 +3480 +6FE0 +B480 +27E0 +A480 +47E0 +ENDCHAR +STARTCHAR U_3A73 +ENCODING 14963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +5FE0 +EA80 +4FE0 +4A80 +5FE0 +6000 +CFC0 +4440 +4380 +DC60 +ENDCHAR +STARTCHAR U_3A74 +ENCODING 14964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +2EE0 +3500 +6FE0 +B900 +2FE0 +A900 +4FE0 +ENDCHAR +STARTCHAR U_3A75 +ENCODING 14965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4740 +4460 +FF40 +54E0 +5D40 +5740 +7540 +D7A0 +5AA0 +DFA0 +6AA0 +ENDCHAR +STARTCHAR U_3A76 +ENCODING 14966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +4EE0 +F540 +5FE0 +4A40 +7220 +DFE0 +5B60 +56A0 +DB60 +56A0 +ENDCHAR +STARTCHAR U_3A77 +ENCODING 14967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +5FE0 +F4A0 +4FC0 +4480 +7FE0 +CD40 +57A0 +4500 +C7E0 +4AA0 +ENDCHAR +STARTCHAR U_3A78 +ENCODING 14968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +F7C0 +2540 +2FE0 +3DA0 +6B60 +AFE0 +2AA0 +A500 +4FE0 +ENDCHAR +STARTCHAR U_3A79 +ENCODING 14969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +4F80 +4A80 +EF80 +4A80 +5FC0 +7540 +DFC0 +5540 +4700 +C500 +5FC0 +ENDCHAR +STARTCHAR U_3A7A +ENCODING 14970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9080 +93E0 +9080 +FC80 +93E0 +9220 +9140 +9140 +9480 +D940 +9620 +ENDCHAR +STARTCHAR U_3A7B +ENCODING 14971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7080 +A7E0 +7880 +8080 +BBE0 +AA20 +B940 +A080 +A940 +B220 +ENDCHAR +STARTCHAR U_3A7C +ENCODING 14972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +97E0 +6100 +47C0 +A240 +7A40 +8A80 +5100 +2280 +CC60 +ENDCHAR +STARTCHAR U_3A7D +ENCODING 14973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +23E0 +FA40 +AE40 +FA80 +2280 +7180 +6900 +A280 +2C60 +ENDCHAR +STARTCHAR U_3A7E +ENCODING 14974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1880 +E080 +2080 +FDE0 +A880 +FC80 +ABE0 +2220 +F940 +2080 +FB60 +ENDCHAR +STARTCHAR U_3A7F +ENCODING 14975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +7A00 +83E0 +0240 +FA40 +1540 +2140 +4080 +8940 +FA20 +ENDCHAR +STARTCHAR U_3A80 +ENCODING 14976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2100 +23E0 +2240 +FA40 +2540 +2140 +2080 +2080 +A140 +4620 +ENDCHAR +STARTCHAR U_3A81 +ENCODING 14977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +28E0 +4480 +A3E0 +1220 +F940 +0940 +1080 +1140 +2620 +ENDCHAR +STARTCHAR U_3A82 +ENCODING 14978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +80E0 +7880 +0080 +F3E0 +1220 +1140 +1480 +1540 +0E20 +ENDCHAR +STARTCHAR U_3A83 +ENCODING 14979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FC80 +08E0 +E880 +A880 +ABE0 +AA20 +E940 +0880 +0940 +1A20 +ENDCHAR +STARTCHAR U_3A84 +ENCODING 14980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FD00 +55E0 +FD40 +D340 +FD40 +5540 +5480 +5C80 +5140 +9220 +ENDCHAR +STARTCHAR U_3A85 +ENCODING 14981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0200 +7FE0 +4520 +58A0 +4720 +0400 +3F80 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_3A86 +ENCODING 14982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +F080 +90E0 +9080 +FBE0 +9220 +9140 +9140 +B480 +CD40 +B620 +ENDCHAR +STARTCHAR U_3A87 +ENCODING 14983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5100 +7DE0 +9240 +1140 +FD40 +2940 +2880 +2A80 +4D40 +8A20 +ENDCHAR +STARTCHAR U_3A88 +ENCODING 14984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +70E0 +2080 +F880 +23E0 +2220 +F940 +2080 +3940 +C220 +ENDCHAR +STARTCHAR U_3A89 +ENCODING 14985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +53E0 +8A40 +0540 +F940 +0140 +F880 +8880 +8940 +FA20 +ENDCHAR +STARTCHAR U_3A8A +ENCODING 14986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +2880 +FCE0 +2880 +F880 +23E0 +7A20 +C940 +4880 +4940 +7A20 +ENDCHAR +STARTCHAR U_3A8B +ENCODING 14987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8880 +F8E0 +8880 +F880 +03E0 +FA20 +2140 +F880 +2140 +2220 +ENDCHAR +STARTCHAR U_3A8C +ENCODING 14988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +5080 +20E0 +F880 +A880 +FBE0 +AA20 +F940 +A880 +A940 +BA20 +ENDCHAR +STARTCHAR U_3A8D +ENCODING 14989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FD00 +21E0 +FE40 +8540 +7940 +0940 +1C80 +7080 +1140 +3220 +ENDCHAR +STARTCHAR U_3A8E +ENCODING 14990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FF00 +11E0 +5640 +5540 +BB40 +1140 +2880 +2880 +4540 +8620 +ENDCHAR +STARTCHAR U_3A8F +ENCODING 14991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +F880 +A8E0 +F880 +A880 +FBE0 +4220 +A140 +F880 +2140 +2220 +ENDCHAR +STARTCHAR U_3A90 +ENCODING 14992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +84E0 +FC80 +9880 +97E0 +FE20 +9140 +9080 +A940 +C620 +ENDCHAR +STARTCHAR U_3A91 +ENCODING 14993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +50E0 +AC80 +F880 +ABE0 +FA20 +A940 +F880 +2140 +3A20 +ENDCHAR +STARTCHAR U_3A92 +ENCODING 14994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +9C80 +84E0 +CC80 +8480 +FFE0 +5220 +5140 +5080 +5540 +9A20 +ENDCHAR +STARTCHAR U_3A93 +ENCODING 14995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C80 +E080 +20E0 +FC80 +2080 +6BE0 +EA20 +6D40 +E880 +6D40 +2220 +ENDCHAR +STARTCHAR U_3A94 +ENCODING 14996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +4880 +FCE0 +4880 +6C80 +DBE0 +6A20 +4940 +4880 +4940 +4A20 +ENDCHAR +STARTCHAR U_3A95 +ENCODING 14997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3880 +20E0 +F880 +8880 +FBE0 +8A20 +F940 +2080 +F940 +2220 +ENDCHAR +STARTCHAR U_3A96 +ENCODING 14998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +48E0 +7880 +0880 +FFE0 +1220 +5540 +3880 +5540 +3220 +ENDCHAR +STARTCHAR U_3A97 +ENCODING 14999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1080 +FCE0 +4880 +3080 +FFE0 +0220 +7940 +4880 +4940 +7A20 +ENDCHAR +STARTCHAR U_3A98 +ENCODING 15000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +29E0 +4640 +B940 +1140 +7D40 +5540 +7C80 +2940 +4620 +ENDCHAR +STARTCHAR U_3A99 +ENCODING 15001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A900 +F9E0 +AA40 +F940 +2140 +F940 +2140 +7140 +A880 +2360 +ENDCHAR +STARTCHAR U_3A9A +ENCODING 15002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F900 +51E0 +5240 +F940 +0140 +F940 +8940 +F940 +8880 +FB60 +ENDCHAR +STARTCHAR U_3A9B +ENCODING 15003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +FC80 +48E0 +7880 +4880 +7BE0 +4A20 +FD40 +5080 +6940 +7E20 +ENDCHAR +STARTCHAR U_3A9C +ENCODING 15004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +9280 +92E0 +FE80 +0080 +FFE0 +2220 +FF20 +AAC0 +AAC0 +83A0 +ENDCHAR +STARTCHAR U_3A9D +ENCODING 15005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +10E0 +FE80 +D680 +BBE0 +9220 +FF40 +3880 +5540 +9220 +ENDCHAR +STARTCHAR U_3A9E +ENCODING 15006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +8480 +A4E0 +9480 +0080 +FFE0 +8620 +E540 +9C80 +8540 +FE20 +ENDCHAR +STARTCHAR U_3A9F +ENCODING 15007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +01E0 +FA40 +8D40 +F940 +0140 +F940 +C880 +B940 +FE20 +ENDCHAR +STARTCHAR U_3AA0 +ENCODING 15008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FC80 +50E0 +FC80 +5480 +FFE0 +5520 +FD40 +5880 +D540 +5220 +ENDCHAR +STARTCHAR U_3AA1 +ENCODING 15009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +92E0 +7C80 +1080 +7FE0 +1220 +7D40 +4480 +4540 +7E20 +ENDCHAR +STARTCHAR U_3AA2 +ENCODING 15010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5480 +9280 +D6E0 +9280 +D680 +11E0 +7E20 +4540 +2880 +1140 +EE20 +ENDCHAR +STARTCHAR U_3AA3 +ENCODING 15011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +44E0 +7D20 +0320 +FF20 +8340 +BAC0 +AA80 +BB40 +8220 +ENDCHAR +STARTCHAR U_3AA4 +ENCODING 15012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +9280 +FE80 +92E0 +FEA0 +5520 +FEA0 +54A0 +FEC0 +10C0 +1320 +ENDCHAR +STARTCHAR U_3AA5 +ENCODING 15013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3880 +20E0 +FC80 +A480 +9BE0 +BE20 +A540 +BC80 +A540 +FE20 +ENDCHAR +STARTCHAR U_3AA6 +ENCODING 15014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FD00 +85E0 +7A40 +F940 +A940 +F940 +A880 +F880 +5140 +8A20 +ENDCHAR +STARTCHAR U_3AA7 +ENCODING 15015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +2880 +7CE0 +8280 +7FE0 +4520 +FD20 +B540 +6C80 +B540 +6E20 +ENDCHAR +STARTCHAR U_3AA8 +ENCODING 15016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +3080 +FEE0 +1080 +7C80 +57E0 +FE20 +0220 +7940 +4880 +7B60 +ENDCHAR +STARTCHAR U_3AA9 +ENCODING 15017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +28E0 +FC80 +2880 +FBE0 +FA20 +AA20 +F940 +E880 +BB60 +ENDCHAR +STARTCHAR U_3AAA +ENCODING 15018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +2080 +F8E0 +5080 +8880 +DBE0 +5220 +DA20 +5140 +D880 +5360 +ENDCHAR +STARTCHAR U_3AAB +ENCODING 15019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3880 +2080 +FCE0 +8480 +7880 +4BE0 +B620 +7A20 +ED40 +5880 +7B60 +ENDCHAR +STARTCHAR U_3AAC +ENCODING 15020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +B480 +6CE0 +B480 +2080 +53E0 +7E20 +D220 +7D40 +5080 +7F60 +ENDCHAR +STARTCHAR U_3AAD +ENCODING 15021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3880 +2080 +FCE0 +A480 +B880 +BBE0 +AA20 +BA20 +FD40 +D480 +FF60 +ENDCHAR +STARTCHAR U_3AAE +ENCODING 15022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +1080 +FCE0 +D480 +B880 +57E0 +0220 +AA20 +A940 +A880 +AB60 +ENDCHAR +STARTCHAR U_3AAF +ENCODING 15023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +7FC0 +1100 +0E00 +F1E0 +0400 +3F80 +0400 +7FC0 +0400 +ENDCHAR +STARTCHAR U_3AB0 +ENCODING 15024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0A00 +1F00 +E0E0 +2480 +1500 +FFE0 +2480 +4440 +ENDCHAR +STARTCHAR U_3AB1 +ENCODING 15025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23C0 +F480 +1D00 +57C0 +6540 +2540 +57E0 +5100 +8280 +0440 +ENDCHAR +STARTCHAR U_3AB2 +ENCODING 15026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +1200 +4200 +2200 +07E0 +FA00 +0200 +7FC0 +0040 +0040 +0040 +ENDCHAR +STARTCHAR U_3AB3 +ENCODING 15027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +1200 +4A00 +2200 +03E0 +FE00 +0200 +3FC0 +4020 +4020 +3FC0 +ENDCHAR +STARTCHAR U_3AB4 +ENCODING 15028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +7280 +0180 +0480 +FA80 +5080 +57E0 +5080 +5480 +5880 +9080 +ENDCHAR +STARTCHAR U_3AB5 +ENCODING 15029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +AA80 +7180 +2480 +FA80 +2080 +27E0 +F880 +2080 +2080 +4080 +ENDCHAR +STARTCHAR U_3AB6 +ENCODING 15030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FA80 +2180 +4480 +FA80 +8880 +8FE0 +F880 +8880 +8880 +F880 +ENDCHAR +STARTCHAR U_3AB7 +ENCODING 15031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F840 +0240 +F940 +8840 +8A40 +F940 +00E0 +8B40 +5040 +3840 +C040 +ENDCHAR +STARTCHAR U_3AB8 +ENCODING 15032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +FD40 +48C0 +7A40 +4940 +7840 +4BE0 +FC40 +0040 +4840 +8440 +ENDCHAR +STARTCHAR U_3AB9 +ENCODING 15033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +7D40 +D6C0 +7D40 +54C0 +7C40 +13E0 +FC40 +2440 +3840 +CC40 +ENDCHAR +STARTCHAR U_3ABA +ENCODING 15034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FD40 +20C0 +FC40 +B540 +FCC0 +B460 +FFC0 +2040 +5040 +8840 +ENDCHAR +STARTCHAR U_3ABB +ENCODING 15035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +8E80 +6A60 +8480 +6E60 +4A40 +AEA0 +4900 +2500 +FFE0 +0100 +ENDCHAR +STARTCHAR U_3ABC +ENCODING 15036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC60 +0B80 +0A00 +EBE0 +AA40 +AA40 +AA40 +EA40 +0A40 +0A40 +3440 +ENDCHAR +STARTCHAR U_3ABD +ENCODING 15037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0000 +F0E0 +9300 +9200 +F3E0 +9240 +9240 +F240 +0440 +0840 +ENDCHAR +STARTCHAR U_3ABE +ENCODING 15038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +3B80 +4A00 +AA00 +13E0 +2A40 +C240 +7A40 +4A40 +4A40 +7C40 +ENDCHAR +STARTCHAR U_3ABF +ENCODING 15039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +AB80 +AA00 +FA00 +23E0 +4240 +AA40 +AA40 +FA40 +2240 +C440 +ENDCHAR +STARTCHAR U_3AC0 +ENCODING 15040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +4980 +7900 +49E0 +7940 +0140 +FD40 +8540 +FD40 +8540 +FE40 +ENDCHAR +STARTCHAR U_3AC1 +ENCODING 15041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A460 +C980 +A500 +C900 +FDE0 +8140 +FD40 +A940 +AD40 +C140 +FA40 +ENDCHAR +STARTCHAR U_3AC2 +ENCODING 15042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +FD80 +8100 +A900 +FDE0 +A940 +A940 +B940 +8140 +5540 +9640 +ENDCHAR +STARTCHAR U_3AC3 +ENCODING 15043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1080 +FC80 +2080 +2080 +3880 +2940 +2940 +4A40 +5A20 +8420 +ENDCHAR +STARTCHAR U_3AC4 +ENCODING 15044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0000 +FFE0 +2000 +3FC0 +4840 +BF40 +1040 +1E40 +2240 +46C0 +ENDCHAR +STARTCHAR U_3AC5 +ENCODING 15045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F940 +4220 +45E0 +7800 +4BE0 +4940 +4940 +4940 +5940 +8240 +ENDCHAR +STARTCHAR U_3AC6 +ENCODING 15046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +4140 +4220 +7C80 +4880 +49C0 +4AA0 +4AA0 +4880 +9980 +ENDCHAR +STARTCHAR U_3AC7 +ENCODING 15047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F940 +4220 +7C80 +4840 +4980 +9840 +0000 +7FC0 +0040 +0040 +ENDCHAR +STARTCHAR U_3AC8 +ENCODING 15048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F940 +4220 +7880 +4840 +9880 +0040 +3F80 +4040 +4040 +3F80 +ENDCHAR +STARTCHAR U_3AC9 +ENCODING 15049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +23C0 +F480 +47E0 +7400 +55C0 +5540 +5540 +55C0 +9520 +B9E0 +ENDCHAR +STARTCHAR U_3ACA +ENCODING 15050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +F400 +4800 +4FE0 +7040 +5740 +5540 +5540 +5740 +B0C0 +ENDCHAR +STARTCHAR U_3ACB +ENCODING 15051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +F400 +4900 +47C0 +7540 +57C0 +5540 +5FE0 +9440 +B4C0 +ENDCHAR +STARTCHAR U_3ACC +ENCODING 15052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FBE0 +4400 +77E0 +5080 +5080 +52E0 +5280 +9280 +B7E0 +ENDCHAR +STARTCHAR U_3ACD +ENCODING 15053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +F7E0 +4940 +4280 +75E0 +5D20 +55A0 +5540 +9440 +B5A0 +ENDCHAR +STARTCHAR U_3ACE +ENCODING 15054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27E0 +F400 +4FE0 +4920 +77C0 +5540 +57C0 +5540 +9FE0 +B100 +ENDCHAR +STARTCHAR U_3ACF +ENCODING 15055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +F800 +4FE0 +4280 +7FE0 +5AA0 +5FE0 +5240 +9180 +B760 +ENDCHAR +STARTCHAR U_3AD0 +ENCODING 15056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF00 +8100 +FF00 +8100 +FF00 +0000 +8E00 +F080 +8080 +8080 +FF80 +ENDCHAR +STARTCHAR U_3AD1 +ENCODING 15057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +8BE0 +8920 +F920 +8920 +8920 +8920 +F920 +8AA0 +0440 +ENDCHAR +STARTCHAR U_3AD2 +ENCODING 15058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2040 +3FC0 +2040 +1080 +FFE0 +1080 +1080 +6080 +ENDCHAR +STARTCHAR U_3AD3 +ENCODING 15059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F900 +8BE0 +8C00 +8BC0 +F880 +8900 +8A00 +8C00 +FC20 +03C0 +ENDCHAR +STARTCHAR U_3AD4 +ENCODING 15060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2040 +3FC0 +2040 +0400 +07C0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3AD5 +ENCODING 15061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0000 +FFE0 +1100 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_3AD6 +ENCODING 15062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0780 +0400 +0400 +FFE0 +0000 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3AD7 +ENCODING 15063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4040 +7FC0 +0000 +7F80 +0200 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_3AD8 +ENCODING 15064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0C00 +1400 +2500 +4480 +8440 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3AD9 +ENCODING 15065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +97C0 +9100 +F100 +9FE0 +9100 +9100 +F280 +9440 +0820 +ENDCHAR +STARTCHAR U_3ADA +ENCODING 15066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7FE0 +8920 +1120 +22A0 +C460 +7FC0 +4040 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_3ADB +ENCODING 15067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +9440 +9440 +97C0 +F280 +9280 +9280 +9480 +F4A0 +08E0 +ENDCHAR +STARTCHAR U_3ADC +ENCODING 15068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +9440 +9440 +97C0 +F440 +9440 +9440 +97C0 +F000 +0FE0 +ENDCHAR +STARTCHAR U_3ADD +ENCODING 15069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +EF00 +A900 +A900 +AFE0 +E900 +A900 +A900 +A880 +EEA0 +0960 +ENDCHAR +STARTCHAR U_3ADE +ENCODING 15070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F540 +9540 +97C0 +9100 +F7C0 +9440 +9280 +9100 +F280 +0C60 +ENDCHAR +STARTCHAR U_3ADF +ENCODING 15071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +9440 +9440 +9440 +F860 +9000 +97C0 +9440 +F440 +07C0 +ENDCHAR +STARTCHAR U_3AE0 +ENCODING 15072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F920 +9540 +9100 +97C0 +F100 +9FE0 +9100 +9100 +F100 +0100 +ENDCHAR +STARTCHAR U_3AE1 +ENCODING 15073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +7FC0 +5C40 +4740 +7FC0 +1000 +3F00 +5300 +0C00 +1A00 +E5C0 +0C00 +ENDCHAR +STARTCHAR U_3AE2 +ENCODING 15074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +97C0 +9100 +9100 +FFE0 +9100 +9200 +9440 +FFE0 +0420 +ENDCHAR +STARTCHAR U_3AE3 +ENCODING 15075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F00 +4100 +7F00 +4100 +FF80 +8880 +FF80 +8880 +FF80 +0840 +0FC0 +ENDCHAR +STARTCHAR U_3AE4 +ENCODING 15076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5C40 +4740 +7FC0 +0C00 +1E20 +0240 +7B80 +0A80 +1240 +E620 +ENDCHAR +STARTCHAR U_3AE5 +ENCODING 15077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +91E0 +9220 +9540 +F080 +9100 +93E0 +9620 +FA20 +03E0 +ENDCHAR +STARTCHAR U_3AE6 +ENCODING 15078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +27C0 +4C40 +D280 +5100 +5EE0 +57C0 +5440 +57C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_3AE7 +ENCODING 15079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +3F80 +3C80 +2780 +3F80 +0400 +1500 +7FC0 +0400 +1500 +2480 +C440 +ENDCHAR +STARTCHAR U_3AE8 +ENCODING 15080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F080 +97E0 +9920 +9100 +FFE0 +9240 +9240 +9140 +F180 +0660 +ENDCHAR +STARTCHAR U_3AE9 +ENCODING 15081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +2480 +FBE0 +2080 +7FC0 +4040 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_3AEA +ENCODING 15082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FC0 +0800 +3F80 +1000 +FFE0 +48C0 +AEA0 +2B80 +2880 +2F80 +ENDCHAR +STARTCHAR U_3AEB +ENCODING 15083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2C80 +2680 +3F80 +0000 +7FC0 +0A00 +4A40 +2A80 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_3AEC +ENCODING 15084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +97E0 +9820 +97A0 +F4A0 +97A0 +94A0 +97A0 +F4A0 +0060 +ENDCHAR +STARTCHAR U_3AED +ENCODING 15085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +4100 +7F00 +4900 +7F00 +0800 +FF80 +0200 +7F80 +2200 +1600 +ENDCHAR +STARTCHAR U_3AEE +ENCODING 15086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +5DE0 +5100 +5D20 +F1E0 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3AEF +ENCODING 15087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +7FC0 +4040 +7FC0 +4040 +FFE0 +1100 +61E0 +ENDCHAR +STARTCHAR U_3AF0 +ENCODING 15088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F7E0 +9420 +97E0 +9420 +F7E0 +9500 +9520 +94C0 +F480 +0660 +ENDCHAR +STARTCHAR U_3AF1 +ENCODING 15089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2C80 +2680 +3F80 +0400 +7FC0 +0400 +FFE0 +0900 +5140 +A320 +ENDCHAR +STARTCHAR U_3AF2 +ENCODING 15090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9100 +97E0 +9820 +F7C0 +9080 +9FE0 +9100 +F100 +0300 +ENDCHAR +STARTCHAR U_3AF3 +ENCODING 15091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5C00 +4380 +7FC0 +4A40 +4980 +4CC0 +5FC0 +5640 +9340 +9FC0 +ENDCHAR +STARTCHAR U_3AF4 +ENCODING 15092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +9140 +9FE0 +9100 +F3C0 +9440 +9BE0 +9080 +F080 +0180 +ENDCHAR +STARTCHAR U_3AF5 +ENCODING 15093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +9EE0 +9280 +9EE0 +F280 +96E0 +9A80 +9280 +F480 +0880 +ENDCHAR +STARTCHAR U_3AF6 +ENCODING 15094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F040 +9FE0 +9040 +97E0 +F920 +97C0 +9540 +9540 +F540 +0100 +ENDCHAR +STARTCHAR U_3AF7 +ENCODING 15095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +1500 +1500 +FFE0 +1100 +3F80 +DD60 +1700 +1F00 +ENDCHAR +STARTCHAR U_3AF8 +ENCODING 15096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +9140 +9FE0 +9140 +F7C0 +9100 +95C0 +9500 +F700 +09E0 +ENDCHAR +STARTCHAR U_3AF9 +ENCODING 15097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +3040 +4380 +7A00 +4BE0 +7A40 +4240 +4240 +8440 +ENDCHAR +STARTCHAR U_3AFA +ENCODING 15098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +6180 +9A60 +2080 +6180 +9A60 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3AFB +ENCODING 15099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F280 +9440 +9820 +97C0 +F000 +9FE0 +9AA0 +9FE0 +FAA0 +0AA0 +ENDCHAR +STARTCHAR U_3AFC +ENCODING 15100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A20 +EFA0 +B220 +A760 +A260 +EFA0 +AAA0 +AAA0 +AAA0 +EBA0 +0260 +ENDCHAR +STARTCHAR U_3AFD +ENCODING 15101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F380 +9480 +9700 +9100 +FFE0 +9940 +9780 +9580 +F940 +0320 +ENDCHAR +STARTCHAR U_3AFE +ENCODING 15102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F920 +9540 +9540 +9FE0 +F820 +9BA0 +9AA0 +9BA0 +FAA0 +0860 +ENDCHAR +STARTCHAR U_3AFF +ENCODING 15103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F280 +9440 +9FE0 +9480 +F7E0 +9480 +97E0 +9480 +F7E0 +0400 +ENDCHAR +STARTCHAR U_3B00 +ENCODING 15104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F080 +9FE0 +9240 +F3C0 +9000 +93C0 +9080 +F7E0 +9080 +0180 +ENDCHAR +STARTCHAR U_3B01 +ENCODING 15105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4040 +7FC0 +8500 +4F80 +B040 +2FA0 +C880 +4F80 +ENDCHAR +STARTCHAR U_3B02 +ENCODING 15106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E920 +AFE0 +AFE0 +E100 +BFE0 +B120 +F160 +11E0 +1E20 +1060 +ENDCHAR +STARTCHAR U_3B03 +ENCODING 15107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +FF80 +FF80 +4100 +FF80 +0000 +FF80 +FF80 +4900 +3600 +6300 +8080 +ENDCHAR +STARTCHAR U_3B04 +ENCODING 15108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +0000 +7FE0 +4200 +5F80 +4200 +7FE0 +A940 +9320 +ENDCHAR +STARTCHAR U_3B05 +ENCODING 15109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +7FC0 +4940 +7FC0 +0400 +FFE0 +0800 +0F80 +1080 +6380 +ENDCHAR +STARTCHAR U_3B06 +ENCODING 15110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0FC0 +E840 +AFC0 +A900 +EFC0 +A880 +AC40 +EFC0 +A840 +0FC0 +0840 +ENDCHAR +STARTCHAR U_3B07 +ENCODING 15111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F380 +9480 +97C0 +F540 +9540 +9FE0 +9100 +F280 +0440 +0820 +ENDCHAR +STARTCHAR U_3B08 +ENCODING 15112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F80 +E880 +AF80 +A880 +EF80 +A000 +BFC0 +B540 +F540 +1540 +3FE0 +ENDCHAR +STARTCHAR U_3B09 +ENCODING 15113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A100 +AFE0 +AAA0 +EAA0 +AAA0 +A100 +AFE0 +E100 +0280 +0C60 +ENDCHAR +STARTCHAR U_3B0A +ENCODING 15114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2880 +2480 +7FC0 +1500 +7FC0 +0800 +FFE0 +1480 +2300 +5CE0 +ENDCHAR +STARTCHAR U_3B0B +ENCODING 15115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E5C0 +A840 +AFE0 +B900 +EBE0 +AC80 +ABE0 +E940 +0A40 +0C20 +ENDCHAR +STARTCHAR U_3B0C +ENCODING 15116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +0400 +FFE0 +2080 +3F80 +2080 +3F80 +1500 +6CC0 +ENDCHAR +STARTCHAR U_3B0D +ENCODING 15117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +0FE0 +E100 +AFE0 +A920 +EFE0 +A920 +A040 +EFE0 +0440 +02C0 +ENDCHAR +STARTCHAR U_3B0E +ENCODING 15118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +2100 +5280 +AD40 +7BC0 +6B40 +9120 +ENDCHAR +STARTCHAR U_3B0F +ENCODING 15119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +EFE0 +A000 +A7C0 +E440 +A7C0 +A000 +AFE0 +EAA0 +AFE0 +0920 +ENDCHAR +STARTCHAR U_3B10 +ENCODING 15120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E280 +AAA0 +A6C0 +AFE0 +E000 +A7C0 +A440 +E7C0 +A440 +07C0 +ENDCHAR +STARTCHAR U_3B11 +ENCODING 15121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1FE0 +EAA0 +AEA0 +A0C0 +EEA0 +A2A0 +A4A0 +BEE0 +E480 +0C80 +ENDCHAR +STARTCHAR U_3B12 +ENCODING 15122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +EFE0 +A400 +A140 +EFA0 +A280 +A440 +AAA0 +E280 +AFE0 +0480 +ENDCHAR +STARTCHAR U_3B13 +ENCODING 15123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E280 +AFE0 +AAA0 +EFE0 +A000 +A380 +A000 +EFE0 +A540 +0920 +ENDCHAR +STARTCHAR U_3B14 +ENCODING 15124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +A660 +AAA0 +E100 +A680 +A960 +A280 +E140 +A080 +0300 +ENDCHAR +STARTCHAR U_3B15 +ENCODING 15125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +08A0 +E5E0 +BE40 +A440 +E4E0 +AE40 +AC40 +B5E0 +E440 +A440 +0440 +ENDCHAR +STARTCHAR U_3B16 +ENCODING 15126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EEE0 +AAA0 +AEA0 +E940 +A840 +B1A0 +A220 +EFC0 +A840 +0FC0 +ENDCHAR +STARTCHAR U_3B17 +ENCODING 15127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +08C0 +0EA0 +EA80 +BBE0 +B680 +EC80 +A940 +B140 +E220 +1540 +22A0 +ENDCHAR +STARTCHAR U_3B18 +ENCODING 15128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E7C0 +A140 +AFE0 +E140 +AFC0 +A520 +AFE0 +E920 +AD60 +15A0 +ENDCHAR +STARTCHAR U_3B19 +ENCODING 15129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0060 +EFC0 +AAC0 +A780 +E480 +A7C0 +A440 +A7E0 +E960 +AAA0 +1460 +ENDCHAR +STARTCHAR U_3B1A +ENCODING 15130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +FFE0 +A940 +BF40 +A140 +EF40 +AA80 +AE80 +AA80 +EF40 +1220 +ENDCHAR +STARTCHAR U_3B1B +ENCODING 15131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E6C0 +ABA0 +A000 +E7C0 +A440 +A380 +AEE0 +E220 +AAA0 +0660 +ENDCHAR +STARTCHAR U_3B1C +ENCODING 15132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5140 +FBE0 +2080 +7BC0 +2080 +FFE0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3B1D +ENCODING 15133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +E280 +AFE0 +A920 +EBA0 +A920 +AFE0 +A440 +E7C0 +A440 +07C0 +ENDCHAR +STARTCHAR U_3B1E +ENCODING 15134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +EFE0 +A440 +A7C0 +E440 +A7E0 +AD20 +B6A0 +E420 +A7A0 +0040 +ENDCHAR +STARTCHAR U_3B1F +ENCODING 15135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +7FE0 +A920 +2BA0 +4920 +9FE0 +2A40 +CBC0 +0A40 +33C0 +ENDCHAR +STARTCHAR U_3B20 +ENCODING 15136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +EEE0 +B5A0 +AEA0 +E240 +BF40 +A2A0 +AF20 +E000 +AAA0 +12A0 +ENDCHAR +STARTCHAR U_3B21 +ENCODING 15137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E100 +AFE0 +B120 +E7C0 +A100 +A6C0 +B920 +E7C0 +0080 +0300 +ENDCHAR +STARTCHAR U_3B22 +ENCODING 15138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +EFE0 +A100 +A7C0 +E100 +BFE0 +A540 +AFE0 +E4A0 +AE40 +04A0 +ENDCHAR +STARTCHAR U_3B23 +ENCODING 15139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A40 +FB40 +AA40 +BFE0 +EA40 +BF40 +A4C0 +AE40 +E440 +A740 +18C0 +ENDCHAR +STARTCHAR U_3B24 +ENCODING 15140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E940 +AA40 +AFC0 +E480 +AFC0 +A920 +BFE0 +E000 +1540 +2520 +ENDCHAR +STARTCHAR U_3B25 +ENCODING 15141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +4440 +7FC0 +4440 +FFE0 +5540 +BFA0 +1500 +64C0 +ENDCHAR +STARTCHAR U_3B26 +ENCODING 15142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EEE0 +A280 +A7E0 +EC80 +A7C0 +A480 +AFE0 +E480 +0300 +1CE0 +ENDCHAR +STARTCHAR U_3B27 +ENCODING 15143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +4440 +7FC0 +4440 +FFE0 +4A40 +BF20 +2480 +CC60 +ENDCHAR +STARTCHAR U_3B28 +ENCODING 15144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +EEE0 +A440 +A440 +FFE0 +AAA0 +AAA0 +BBA0 +EAA0 +0AA0 +1760 +ENDCHAR +STARTCHAR U_3B29 +ENCODING 15145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E440 +AFE0 +A440 +EFC0 +A040 +AFE0 +A040 +EFC0 +1520 +13C0 +ENDCHAR +STARTCHAR U_3B2A +ENCODING 15146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +7FC0 +5540 +7FC0 +0400 +FFE0 +9120 +3E00 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3B2B +ENCODING 15147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +2A80 +EEE0 +2A80 +EEE0 +5140 +BFA0 +2480 +2880 +3F80 +ENDCHAR +STARTCHAR U_3B2C +ENCODING 15148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +AEE0 +AAA0 +EEE0 +A480 +AFE0 +B480 +E7E0 +0480 +07E0 +ENDCHAR +STARTCHAR U_3B2D +ENCODING 15149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E540 +AFE0 +AAA0 +EFE0 +AA20 +AFE0 +AA20 +EEA0 +0A20 +0D60 +ENDCHAR +STARTCHAR U_3B2E +ENCODING 15150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +5280 +FBE0 +5640 +FBE0 +AA40 +FBE0 +2240 +DBE0 +ENDCHAR +STARTCHAR U_3B2F +ENCODING 15151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A400 +A7E0 +E440 +AFE0 +AAA0 +AFA0 +EAE0 +0FA0 +1520 +ENDCHAR +STARTCHAR U_3B30 +ENCODING 15152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0600 +0400 +7FC0 +4440 +7FC0 +4440 +7FC0 +0A00 +1100 +20E0 +C040 +ENDCHAR +STARTCHAR U_3B31 +ENCODING 15153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A280 +FBE0 +2480 +FBE0 +5140 +9A60 +7FC0 +4040 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_3B32 +ENCODING 15154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA20 +2140 +FBE0 +A940 +FA20 +AC00 +FBE0 +22A0 +A7E0 +6000 +9FE0 +ENDCHAR +STARTCHAR U_3B33 +ENCODING 15155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7400 +57C0 +5500 +7900 +5100 +5FE0 +7100 +5100 +5100 +5100 +B100 +ENDCHAR +STARTCHAR U_3B34 +ENCODING 15156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5280 +5280 +77E0 +5280 +5280 +7FE0 +5280 +5240 +5460 +B820 +ENDCHAR +STARTCHAR U_3B35 +ENCODING 15157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7300 +5100 +5FE0 +7280 +5440 +5CA0 +7280 +5100 +5280 +5440 +B820 +ENDCHAR +STARTCHAR U_3B36 +ENCODING 15158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5280 +53E0 +7480 +5880 +57E0 +7000 +53E0 +5220 +5220 +B3E0 +ENDCHAR +STARTCHAR U_3B37 +ENCODING 15159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5520 +5520 +77E0 +5520 +55A0 +7760 +5520 +5520 +57E0 +B420 +ENDCHAR +STARTCHAR U_3B38 +ENCODING 15160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7240 +57E0 +5240 +7000 +52C0 +5380 +76E0 +5A80 +5280 +52A0 +B260 +ENDCHAR +STARTCHAR U_3B39 +ENCODING 15161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +71C0 +5740 +5280 +77C0 +5140 +57E0 +7140 +57C0 +5100 +5500 +B300 +ENDCHAR +STARTCHAR U_3B3A +ENCODING 15162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7540 +5380 +57C0 +7100 +5FE0 +5280 +7540 +5FE0 +5540 +5540 +B100 +ENDCHAR +STARTCHAR U_3B3B +ENCODING 15163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7240 +57E0 +5240 +7100 +57E0 +5200 +73E0 +5080 +52C0 +52C0 +B4A0 +ENDCHAR +STARTCHAR U_3B3C +ENCODING 15164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +FBE0 +4200 +F7E0 +5AA0 +73E0 +5200 +77E0 +5A40 +5180 +B660 +ENDCHAR +STARTCHAR U_3B3D +ENCODING 15165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +73C0 +5240 +57E0 +7520 +57E0 +5000 +7FE0 +5200 +57C0 +5040 +B180 +ENDCHAR +STARTCHAR U_3B3E +ENCODING 15166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +9140 +FA60 +91C0 +A940 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_3B3F +ENCODING 15167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +BF80 +AAE0 +EFA0 +A0A0 +AEA0 +E240 +A440 +BF40 +A4A0 +AD20 +ENDCHAR +STARTCHAR U_3B40 +ENCODING 15168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7480 +57E0 +5D40 +7220 +57C0 +5100 +7540 +5540 +5BA0 +5100 +BFE0 +ENDCHAR +STARTCHAR U_3B41 +ENCODING 15169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +FA40 +2280 +62E0 +7220 +A220 +2220 +2420 +2940 +2080 +ENDCHAR +STARTCHAR U_3B42 +ENCODING 15170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2180 +F900 +2100 +7580 +6560 +A920 +2100 +2100 +2500 +2200 +ENDCHAR +STARTCHAR U_3B43 +ENCODING 15171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2100 +FA00 +2460 +6240 +7180 +A100 +A200 +2440 +2FE0 +2420 +ENDCHAR +STARTCHAR U_3B44 +ENCODING 15172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2F80 +F280 +2280 +6280 +7780 +A280 +2280 +2280 +22A0 +2240 +ENDCHAR +STARTCHAR U_3B45 +ENCODING 15173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2000 +F7C0 +2000 +6000 +7000 +A7C0 +2000 +2000 +2000 +2FE0 +ENDCHAR +STARTCHAR U_3B46 +ENCODING 15174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0900 +13C0 +2020 +4440 +FFE0 +0400 +7FC0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_3B47 +ENCODING 15175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F900 +2240 +64E0 +7720 +A280 +2280 +22A0 +24A0 +2840 +ENDCHAR +STARTCHAR U_3B48 +ENCODING 15176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F7C0 +2140 +6140 +77E0 +A100 +2180 +2240 +2420 +2820 +ENDCHAR +STARTCHAR U_3B49 +ENCODING 15177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7FC0 +1100 +0400 +FFE0 +0E00 +1500 +2480 +4460 +0400 +ENDCHAR +STARTCHAR U_3B4A +ENCODING 15178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2220 +FA20 +23E0 +6200 +7200 +A3E0 +2220 +2220 +2420 +2820 +ENDCHAR +STARTCHAR U_3B4B +ENCODING 15179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +20E0 +FB80 +2080 +63E0 +7080 +A080 +27E0 +2080 +2080 +2080 +ENDCHAR +STARTCHAR U_3B4C +ENCODING 15180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2480 +F480 +27E0 +6480 +7880 +A7E0 +2080 +2080 +2080 +2080 +ENDCHAR +STARTCHAR U_3B4D +ENCODING 15181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3100 +01E0 +1700 +6100 +44E0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_3B4E +ENCODING 15182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FE60 +25A0 +64A0 +75A0 +A660 +2420 +2420 +24A0 +2440 +ENDCHAR +STARTCHAR U_3B4F +ENCODING 15183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +F900 +23C0 +6100 +77E0 +A120 +2120 +2120 +2140 +2100 +ENDCHAR +STARTCHAR U_3B50 +ENCODING 15184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0A00 +1500 +3FC0 +C420 +1F00 +0E00 +1500 +2480 +4460 +ENDCHAR +STARTCHAR U_3B51 +ENCODING 15185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FBC0 +2100 +6100 +77E0 +A100 +2380 +2540 +2920 +2100 +ENDCHAR +STARTCHAR U_3B52 +ENCODING 15186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +2440 +67C0 +7400 +AFE0 +A420 +2420 +2420 +27E0 +ENDCHAR +STARTCHAR U_3B53 +ENCODING 15187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2100 +FA40 +27E0 +6020 +7240 +A7E0 +2240 +2240 +2440 +2840 +ENDCHAR +STARTCHAR U_3B54 +ENCODING 15188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +FCA0 +22C0 +7180 +6FE0 +A080 +A080 +2080 +2280 +2180 +ENDCHAR +STARTCHAR U_3B55 +ENCODING 15189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F7E0 +2100 +6100 +7FE0 +A100 +2200 +2240 +25E0 +2620 +ENDCHAR +STARTCHAR U_3B56 +ENCODING 15190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +22C0 +F4A0 +2C80 +67E0 +7480 +A480 +2480 +24A0 +2440 +2440 +ENDCHAR +STARTCHAR U_3B57 +ENCODING 15191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0E00 +1500 +2480 +C460 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_3B58 +ENCODING 15192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F280 +2440 +6820 +77C0 +A000 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_3B59 +ENCODING 15193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F7C0 +2100 +6FE0 +7080 +AFE0 +2080 +2680 +2080 +2180 +ENDCHAR +STARTCHAR U_3B5A +ENCODING 15194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +F7E0 +2840 +6780 +7520 +A540 +2580 +2480 +2480 +2660 +ENDCHAR +STARTCHAR U_3B5B +ENCODING 15195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F00 +F8E0 +2B00 +6A80 +7AA0 +AAC0 +2A80 +2A40 +2A40 +3320 +ENDCHAR +STARTCHAR U_3B5C +ENCODING 15196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +FFE0 +2100 +7500 +7520 +AEA0 +24C0 +2480 +29A0 +2260 +ENDCHAR +STARTCHAR U_3B5D +ENCODING 15197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +3180 +6B40 +AD20 +0800 +7F00 +0900 +1100 +2120 +C1E0 +ENDCHAR +STARTCHAR U_3B5E +ENCODING 15198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +F560 +2980 +6200 +7500 +AFE0 +A120 +2220 +2420 +2860 +ENDCHAR +STARTCHAR U_3B5F +ENCODING 15199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +FFE0 +1100 +64C0 +FFE0 +0400 +1580 +E460 +0400 +ENDCHAR +STARTCHAR U_3B60 +ENCODING 15200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +F7C0 +2900 +6100 +77E0 +A280 +2280 +2280 +24A0 +28E0 +ENDCHAR +STARTCHAR U_3B61 +ENCODING 15201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2200 +F7E0 +2420 +6660 +75A0 +A5A0 +2660 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_3B62 +ENCODING 15202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +5F20 +EA20 +4AA0 +6AA0 +DFA0 +CAA0 +4A20 +5A20 +5260 +5220 +ENDCHAR +STARTCHAR U_3B63 +ENCODING 15203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +22E0 +F820 +2BA0 +6AA0 +7AA0 +AAA0 +2BA0 +2820 +2820 +2860 +ENDCHAR +STARTCHAR U_3B64 +ENCODING 15204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2200 +F7C0 +2540 +6540 +7480 +A7E0 +2020 +2FA0 +2020 +2060 +ENDCHAR +STARTCHAR U_3B65 +ENCODING 15205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +F440 +2880 +67E0 +7420 +A520 +2520 +2180 +2240 +2420 +ENDCHAR +STARTCHAR U_3B66 +ENCODING 15206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +F7E0 +2420 +60C0 +7300 +A100 +2FE0 +2100 +2120 +21E0 +ENDCHAR +STARTCHAR U_3B67 +ENCODING 15207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2480 +FFE0 +2480 +4180 +0400 +FFE0 +1500 +64C0 +0400 +ENDCHAR +STARTCHAR U_3B68 +ENCODING 15208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FAA0 +2AC0 +6FA0 +72A0 +A6A0 +26E0 +2A80 +3280 +2680 +ENDCHAR +STARTCHAR U_3B69 +ENCODING 15209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2720 +F540 +2280 +6040 +77E0 +A040 +2240 +2140 +2040 +20C0 +ENDCHAR +STARTCHAR U_3B6A +ENCODING 15210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2100 +2FE0 +F100 +2FE0 +7920 +6FE0 +A920 +AFE0 +2920 +2960 +ENDCHAR +STARTCHAR U_3B6B +ENCODING 15211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F540 +2540 +6BA0 +7100 +A100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_3B6C +ENCODING 15212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FA20 +2540 +6980 +7280 +ACC0 +29A0 +22A0 +2C80 +2300 +ENDCHAR +STARTCHAR U_3B6D +ENCODING 15213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E20 +2A20 +FAA0 +2EA0 +78A0 +7EA0 +AAA0 +2AA0 +2AA0 +2A20 +3660 +ENDCHAR +STARTCHAR U_3B6E +ENCODING 15214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +2540 +FAA0 +2000 +67E0 +7200 +A3E0 +2620 +2140 +2080 +2700 +ENDCHAR +STARTCHAR U_3B6F +ENCODING 15215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +4A80 +FA80 +4E80 +4A80 +EE80 +CA80 +4AA0 +4EA0 +5AA0 +42E0 +ENDCHAR +STARTCHAR U_3B70 +ENCODING 15216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5DE0 +5100 +FDE0 +0400 +FFE0 +0400 +7FC0 +4E40 +1500 +E4E0 +ENDCHAR +STARTCHAR U_3B71 +ENCODING 15217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +F7E0 +26A0 +67E0 +76A0 +A7E0 +2480 +2480 +2480 +27E0 +ENDCHAR +STARTCHAR U_3B72 +ENCODING 15218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2280 +F440 +2920 +6180 +7240 +A420 +2BC0 +2240 +2240 +23C0 +ENDCHAR +STARTCHAR U_3B73 +ENCODING 15219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23A0 +F940 +27E0 +6100 +7200 +A7E0 +2880 +27E0 +2080 +2180 +ENDCHAR +STARTCHAR U_3B74 +ENCODING 15220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2160 +25A0 +F540 +25A0 +6100 +7080 +A080 +23E0 +2080 +2080 +27E0 +ENDCHAR +STARTCHAR U_3B75 +ENCODING 15221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2100 +FA00 +27E0 +6820 +7FA0 +AAA0 +2FA0 +2AA0 +2FA0 +2060 +ENDCHAR +STARTCHAR U_3B76 +ENCODING 15222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +FA40 +2100 +6FE0 +7100 +A3E0 +2220 +2440 +2840 +3180 +ENDCHAR +STARTCHAR U_3B77 +ENCODING 15223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FFC0 +2540 +67C0 +7100 +A7E0 +2120 +2220 +2440 +28C0 +ENDCHAR +STARTCHAR U_3B78 +ENCODING 15224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +FA40 +2480 +6FE0 +7920 +A920 +2FE0 +2280 +2480 +28E0 +ENDCHAR +STARTCHAR U_3B79 +ENCODING 15225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2680 +FBE0 +2240 +7E80 +6900 +AFC0 +2240 +2280 +2520 +39E0 +ENDCHAR +STARTCHAR U_3B7A +ENCODING 15226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA80 +2540 +6FE0 +7540 +A7C0 +2540 +27C0 +2120 +21E0 +ENDCHAR +STARTCHAR U_3B7B +ENCODING 15227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +FB80 +2100 +6FE0 +7820 +ABA0 +2AA0 +2BA0 +2820 +2860 +ENDCHAR +STARTCHAR U_3B7C +ENCODING 15228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2120 +FD40 +2380 +6540 +7920 +AFE0 +2820 +2FE0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_3B7D +ENCODING 15229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2840 +6B80 +7A40 +ABE0 +2A40 +2BE0 +2820 +33E0 +ENDCHAR +STARTCHAR U_3B7E +ENCODING 15230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FFE0 +2800 +6AA0 +7AA0 +ABE0 +2880 +2AA0 +2AA0 +33E0 +ENDCHAR +STARTCHAR U_3B7F +ENCODING 15231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +2240 +63C0 +7100 +A6E0 +24A0 +24A0 +26E0 +2080 +ENDCHAR +STARTCHAR U_3B80 +ENCODING 15232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2080 +F900 +2540 +6BA0 +B920 +ABA0 +AD60 +2920 +2FE0 +ENDCHAR +STARTCHAR U_3B81 +ENCODING 15233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2660 +2380 +FD40 +27E0 +6200 +77E0 +AA20 +33A0 +2220 +23A0 +2660 +ENDCHAR +STARTCHAR U_3B82 +ENCODING 15234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +FFE0 +1100 +2480 +7FC0 +8420 +1480 +6460 +ENDCHAR +STARTCHAR U_3B83 +ENCODING 15235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2700 +F100 +2FE0 +6540 +7920 +A200 +3FE0 +2440 +2380 +2C40 +ENDCHAR +STARTCHAR U_3B84 +ENCODING 15236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2000 +FFE0 +2200 +6FE0 +7220 +AFA0 +2220 +23A0 +24A0 +2960 +ENDCHAR +STARTCHAR U_3B85 +ENCODING 15237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1480 +E660 +3FE0 +2200 +7FE0 +A200 +3FE0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_3B86 +ENCODING 15238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA80 +2C60 +6280 +77C0 +A100 +27C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_3B87 +ENCODING 15239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2100 +6280 +7460 +A900 +23A0 +25A0 +2100 +2300 +ENDCHAR +STARTCHAR U_3B88 +ENCODING 15240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F7E0 +2100 +6280 +77C0 +A820 +27C0 +2100 +2540 +2920 +ENDCHAR +STARTCHAR U_3B89 +ENCODING 15241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2480 +F7E0 +2C80 +66A0 +75C0 +A7E0 +2480 +2480 +2540 +2620 +ENDCHAR +STARTCHAR U_3B8A +ENCODING 15242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2280 +F5E0 +2E80 +6580 +75C0 +A6A0 +2480 +2480 +2480 +2C80 +ENDCHAR +STARTCHAR U_3B8B +ENCODING 15243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2F60 +F4A0 +2EA0 +6AE0 +7EA0 +AAA0 +AEA0 +2AC0 +2A80 +2A80 +ENDCHAR +STARTCHAR U_3B8C +ENCODING 15244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FA00 +2400 +6FE0 +7AA0 +ABA0 +2AA0 +2BA0 +2AA0 +2FE0 +ENDCHAR +STARTCHAR U_3B8D +ENCODING 15245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +4840 +7940 +4940 +7840 +4440 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_3B8E +ENCODING 15246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F180 +2340 +7520 +6900 +A100 +AFE0 +2AA0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_3B8F +ENCODING 15247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F380 +2540 +6920 +77E0 +A000 +2FE0 +2100 +2540 +2920 +ENDCHAR +STARTCHAR U_3B90 +ENCODING 15248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2340 +F560 +2180 +63E0 +7620 +ABE0 +2220 +23E0 +2220 +23E0 +ENDCHAR +STARTCHAR U_3B91 +ENCODING 15249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +F100 +2FE0 +2100 +7500 +6960 +A920 +2D60 +2920 +2FE0 +ENDCHAR +STARTCHAR U_3B92 +ENCODING 15250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2AA0 +6AA0 +7FE0 +A100 +2FE0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_3B93 +ENCODING 15251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +25E0 +F480 +2CE0 +66A0 +74E0 +A520 +25C0 +2540 +2480 +25E0 +ENDCHAR +STARTCHAR U_3B94 +ENCODING 15252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +F8E0 +2380 +63E0 +72A0 +A3E0 +2080 +23E0 +2080 +27E0 +ENDCHAR +STARTCHAR U_3B95 +ENCODING 15253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +2AA0 +6AA0 +7AE0 +A100 +2FE0 +2280 +2460 +2820 +ENDCHAR +STARTCHAR U_3B96 +ENCODING 15254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +27E0 +F9C0 +2080 +63E0 +72A0 +A3E0 +2080 +27E0 +2080 +2080 +ENDCHAR +STARTCHAR U_3B97 +ENCODING 15255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +2940 +12A0 +FDC0 +5440 +B080 +1500 +FFE0 +1500 +64C0 +0400 +ENDCHAR +STARTCHAR U_3B98 +ENCODING 15256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +22E0 +F500 +2EA0 +76A0 +6CA0 +ACA0 +B440 +24A0 +24A0 +2920 +ENDCHAR +STARTCHAR U_3B99 +ENCODING 15257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +F7E0 +2000 +73C0 +6000 +AFE0 +A100 +23E0 +2020 +20C0 +ENDCHAR +STARTCHAR U_3B9A +ENCODING 15258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0780 +0400 +3F80 +2480 +2A80 +3F80 +0400 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_3B9B +ENCODING 15259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F540 +27C0 +7000 +6FE0 +A100 +A5E0 +2500 +2700 +29E0 +ENDCHAR +STARTCHAR U_3B9C +ENCODING 15260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +F940 +2D40 +6FE0 +7940 +AF40 +ADE0 +2900 +2800 +2FE0 +ENDCHAR +STARTCHAR U_3B9D +ENCODING 15261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48E0 +4AA0 +E9A0 +54C0 +64C0 +CAA0 +D1A0 +6EE0 +4AA0 +4A80 +4E80 +ENDCHAR +STARTCHAR U_3B9E +ENCODING 15262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2DE0 +F220 +2080 +6D80 +7240 +A420 +27C0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_3B9F +ENCODING 15263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +5E80 +E9E0 +4880 +E9C0 +CEC0 +5AA0 +4AA0 +4A80 +4E80 +4880 +ENDCHAR +STARTCHAR U_3BA0 +ENCODING 15264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2FE0 +6920 +7100 +AFE0 +2100 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_3BA1 +ENCODING 15265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +AA00 +73C0 +23C0 +5200 +8BE0 +0400 +FFE0 +1500 +64C0 +0400 +ENDCHAR +STARTCHAR U_3BA2 +ENCODING 15266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22C0 +2440 +F7E0 +2D00 +65E0 +7680 +A480 +27E0 +2480 +2540 +2620 +ENDCHAR +STARTCHAR U_3BA3 +ENCODING 15267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9E0 +8A40 +FA80 +8BE0 +F980 +92A0 +ECE0 +0400 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_3BA4 +ENCODING 15268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +A4A0 +4A40 +3F80 +60C0 +BFA0 +0400 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_3BA5 +ENCODING 15269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +F7E0 +2200 +6FE0 +7440 +AFE0 +3540 +27C0 +2540 +27C0 +ENDCHAR +STARTCHAR U_3BA6 +ENCODING 15270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +2FE0 +6920 +7280 +A140 +27A0 +2100 +2540 +2920 +ENDCHAR +STARTCHAR U_3BA7 +ENCODING 15271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +FA40 +23C0 +6240 +73E0 +A200 +23E0 +2020 +2560 +22A0 +ENDCHAR +STARTCHAR U_3BA8 +ENCODING 15272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FFC0 +2540 +67C0 +7440 +AA20 +27C0 +2A80 +2100 +2EE0 +ENDCHAR +STARTCHAR U_3BA9 +ENCODING 15273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +FA40 +23C0 +6240 +73C0 +A240 +23C0 +2940 +2AA0 +33C0 +ENDCHAR +STARTCHAR U_3BAA +ENCODING 15274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DC0 +4940 +E9C0 +5D40 +6240 +C460 +C200 +5FE0 +4700 +4A80 +5240 +ENDCHAR +STARTCHAR U_3BAB +ENCODING 15275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F920 +27C0 +67C0 +7100 +A7C0 +2100 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_3BAC +ENCODING 15276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2540 +FAA0 +27C0 +6000 +76E0 +AAA0 +2660 +2660 +3BA0 +2660 +ENDCHAR +STARTCHAR U_3BAD +ENCODING 15277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2280 +F100 +2FE0 +6AA0 +7920 +AFE0 +2920 +2FE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_3BAE +ENCODING 15278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +22A0 +F7A0 +22A0 +6760 +7100 +A7C0 +2100 +2FE0 +2100 +2300 +ENDCHAR +STARTCHAR U_3BAF +ENCODING 15279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FFE0 +2A20 +6F60 +7AA0 +ADA0 +2AE0 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_3BB0 +ENCODING 15280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2200 +FFC0 +2540 +6540 +77C0 +A000 +2480 +26C0 +24A0 +2640 +ENDCHAR +STARTCHAR U_3BB1 +ENCODING 15281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +FA40 +2500 +67C0 +7900 +AFE0 +2280 +2280 +24A0 +2860 +ENDCHAR +STARTCHAR U_3BB2 +ENCODING 15282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27E0 +FD20 +27A0 +6260 +7400 +A7E0 +2D20 +27A0 +2120 +2260 +ENDCHAR +STARTCHAR U_3BB3 +ENCODING 15283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2EA0 +FAE0 +2A40 +6E40 +7A40 +AAE0 +2E40 +2A40 +2AA0 +22A0 +ENDCHAR +STARTCHAR U_3BB4 +ENCODING 15284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2340 +2520 +FF60 +2520 +67E0 +7100 +A7E0 +2220 +2140 +2080 +2760 +ENDCHAR +STARTCHAR U_3BB5 +ENCODING 15285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +25E0 +FE00 +24E0 +64A0 +76E0 +AAA0 +2AE0 +2AA0 +2AA0 +36A0 +ENDCHAR +STARTCHAR U_3BB6 +ENCODING 15286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +22E0 +FFA0 +22A0 +6AE0 +7AA0 +AFE0 +22A0 +22A0 +2520 +2960 +ENDCHAR +STARTCHAR U_3BB7 +ENCODING 15287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +27E0 +F900 +22A0 +64E0 +7200 +A7E0 +2420 +27E0 +2420 +27E0 +ENDCHAR +STARTCHAR U_3BB8 +ENCODING 15288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2940 +F7E0 +2080 +6C80 +77E0 +A480 +2540 +2520 +2A00 +31E0 +ENDCHAR +STARTCHAR U_3BB9 +ENCODING 15289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +2240 +F560 +2FA0 +6220 +72A0 +A720 +2240 +2340 +2CA0 +2920 +ENDCHAR +STARTCHAR U_3BBA +ENCODING 15290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +0E00 +1500 +3F80 +C460 +0000 +EEE0 +AAA0 +EEE0 +ENDCHAR +STARTCHAR U_3BBB +ENCODING 15291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FA80 +2100 +6280 +7540 +A7E0 +2540 +27C0 +2140 +2FE0 +ENDCHAR +STARTCHAR U_3BBC +ENCODING 15292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FC40 +27C0 +6400 +7760 +A5A0 +2760 +29A0 +2B60 +2920 +ENDCHAR +STARTCHAR U_3BBD +ENCODING 15293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +FD40 +2740 +6540 +7FA0 +A500 +27E0 +2520 +2B40 +29A0 +ENDCHAR +STARTCHAR U_3BBE +ENCODING 15294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +7A40 +4BC0 +7A40 +43C0 +5240 +6CC0 +0400 +7FC0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_3BBF +ENCODING 15295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FFC0 +2540 +67C0 +7100 +A540 +2FE0 +2100 +27C0 +2100 +ENDCHAR +STARTCHAR U_3BC0 +ENCODING 15296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2500 +F1E0 +2E00 +69E0 +7EA0 +AA80 +2AE0 +2A80 +2B80 +3460 +ENDCHAR +STARTCHAR U_3BC1 +ENCODING 15297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5D00 +5480 +F7E0 +5400 +5940 +F7E0 +5400 +55C0 +5D40 +5140 +51C0 +ENDCHAR +STARTCHAR U_3BC2 +ENCODING 15298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26C0 +2FE0 +F6C0 +2BA0 +7000 +6FE0 +A920 +27C0 +2540 +2540 +2100 +ENDCHAR +STARTCHAR U_3BC3 +ENCODING 15299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FB80 +2540 +6920 +7280 +AD60 +2540 +2380 +2540 +2B20 +ENDCHAR +STARTCHAR U_3BC4 +ENCODING 15300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +71C0 +AAA0 +01C0 +7E00 +7FC0 +5280 +5F80 +5020 +9FE0 +ENDCHAR +STARTCHAR U_3BC5 +ENCODING 15301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2FE0 +F900 +2BE0 +6AA0 +7BE0 +AAA0 +2BE0 +2A80 +2FE0 +3080 +ENDCHAR +STARTCHAR U_3BC6 +ENCODING 15302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +FA40 +2180 +67E0 +7540 +A5E0 +2540 +27E0 +2440 +2BE0 +ENDCHAR +STARTCHAR U_3BC7 +ENCODING 15303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2EE0 +F280 +2EE0 +6280 +76E0 +AA80 +2100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_3BC8 +ENCODING 15304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +4880 +E3E0 +5880 +CBE0 +EAA0 +5BE0 +4980 +4AC0 +5480 +4FE0 +ENDCHAR +STARTCHAR U_3BC9 +ENCODING 15305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +FFE0 +2940 +6BE0 +7840 +AB80 +2AA0 +2FE0 +2880 +3180 +ENDCHAR +STARTCHAR U_3BCA +ENCODING 15306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +F5C0 +2500 +2FE0 +7200 +A3C0 +2400 +27E0 +2AA0 +2840 +ENDCHAR +STARTCHAR U_3BCB +ENCODING 15307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +F100 +87C0 +7C40 +07C0 +F440 +27C0 +FC40 +27C0 +7440 +A820 +ENDCHAR +STARTCHAR U_3BCC +ENCODING 15308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2880 +F4C0 +2160 +2EC0 +6540 +76E0 +A540 +24C0 +3E00 +21E0 +ENDCHAR +STARTCHAR U_3BCD +ENCODING 15309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2AE0 +FB20 +2EA0 +2340 +62A0 +7FE0 +AA20 +2AA0 +32A0 +2240 +ENDCHAR +STARTCHAR U_3BCE +ENCODING 15310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2480 +FFE0 +2080 +6E80 +71C0 +AFA0 +2080 +2E80 +2A80 +2E80 +ENDCHAR +STARTCHAR U_3BCF +ENCODING 15311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FD40 +1260 +FDC0 +5540 +7C80 +8360 +0400 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_3BD0 +ENCODING 15312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A280 +C7E0 +AB40 +E2C0 +82C0 +0400 +FFE0 +1500 +64C0 +0400 +ENDCHAR +STARTCHAR U_3BD1 +ENCODING 15313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +4500 +E5E0 +5D00 +51E0 +7100 +DFE0 +4540 +4540 +4520 +59A0 +ENDCHAR +STARTCHAR U_3BD2 +ENCODING 15314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F20 +F540 +27C0 +6440 +77C0 +A440 +27C0 +27C0 +22A0 +2CE0 +ENDCHAR +STARTCHAR U_3BD3 +ENCODING 15315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F560 +2BC0 +6240 +73C0 +A000 +2EE0 +2660 +2AA0 +2660 +ENDCHAR +STARTCHAR U_3BD4 +ENCODING 15316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +0400 +7FC0 +2480 +7FC0 +2480 +FBC0 +24A0 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_3BD5 +ENCODING 15317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A60 +2F80 +FA80 +2EE0 +6AA0 +7EA0 +AAA0 +3FA0 +2AA0 +3120 +2220 +ENDCHAR +STARTCHAR U_3BD6 +ENCODING 15318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F200 +2FE0 +7AA0 +6FE0 +A000 +3FE0 +2440 +2D60 +27C0 +ENDCHAR +STARTCHAR U_3BD7 +ENCODING 15319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2EE0 +FAA0 +2EE0 +6820 +7920 +AFE0 +2920 +2BA0 +2D60 +2920 +ENDCHAR +STARTCHAR U_3BD8 +ENCODING 15320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +5D00 +E9E0 +5D20 +E280 +DC80 +4080 +5D80 +4940 +5D20 +4A00 +ENDCHAR +STARTCHAR U_3BD9 +ENCODING 15321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2F80 +F4E0 +2F20 +60A0 +7EA0 +AAA0 +2E40 +2A40 +2EA0 +2B20 +ENDCHAR +STARTCHAR U_3BDA +ENCODING 15322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2EE0 +F540 +2300 +6480 +7860 +A780 +2000 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_3BDB +ENCODING 15323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27C0 +6000 +7FE0 +AAA0 +2440 +26C0 +2280 +2FE0 +ENDCHAR +STARTCHAR U_3BDC +ENCODING 15324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2100 +6FE0 +7440 +AAA0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_3BDD +ENCODING 15325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +52E0 +F3A0 +5EA0 +4440 +E4A0 +D700 +54E0 +54A0 +5EA0 +50E0 +ENDCHAR +STARTCHAR U_3BDE +ENCODING 15326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +24A0 +FAE0 +2E00 +64E0 +7AA0 +AEE0 +20A0 +2AE0 +2AA0 +28A0 +ENDCHAR +STARTCHAR U_3BDF +ENCODING 15327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +71C0 +AAA0 +3F80 +0500 +0900 +FFE0 +2480 +1500 +6CC0 +ENDCHAR +STARTCHAR U_3BE0 +ENCODING 15328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +F940 +2280 +6FE0 +7AA0 +A140 +26E0 +2900 +2FE0 +2100 +ENDCHAR +STARTCHAR U_3BE1 +ENCODING 15329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +E400 +4BE0 +F020 +47A0 +A4A0 +47A0 +E460 +4400 +E420 +47E0 +ENDCHAR +STARTCHAR U_3BE2 +ENCODING 15330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +25A0 +F7E0 +2480 +67E0 +7280 +A7C0 +2280 +2FE0 +2440 +2820 +ENDCHAR +STARTCHAR U_3BE3 +ENCODING 15331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +F240 +2280 +77E0 +6A40 +A4C0 +2900 +2FE0 +2540 +2920 +ENDCHAR +STARTCHAR U_3BE4 +ENCODING 15332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FBE0 +2080 +AAA0 +FBE0 +AAA0 +2080 +71C0 +AAA0 +2480 +ENDCHAR +STARTCHAR U_3BE5 +ENCODING 15333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +2080 +71C0 +AAA0 +ENDCHAR +STARTCHAR U_3BE6 +ENCODING 15334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F440 +27C0 +67C0 +7440 +AFE0 +2540 +2BA0 +2540 +2920 +ENDCHAR +STARTCHAR U_3BE7 +ENCODING 15335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2EA0 +F4A0 +2F20 +6440 +77E0 +AD20 +2D20 +29E0 +2C00 +33E0 +ENDCHAR +STARTCHAR U_3BE8 +ENCODING 15336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2AA0 +6AA0 +7FE0 +A540 +2380 +2FE0 +2380 +2D60 +ENDCHAR +STARTCHAR U_3BE9 +ENCODING 15337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +53E0 +2080 +DBE0 +A8A0 +53E0 +AA80 +23E0 +F8A0 +7140 +AA20 +ENDCHAR +STARTCHAR U_3BEA +ENCODING 15338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2D60 +67C0 +7340 +A520 +2BC0 +2040 +2180 +2080 +ENDCHAR +STARTCHAR U_3BEB +ENCODING 15339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +FFE0 +2A20 +6FC0 +7A00 +AFE0 +2900 +2EA0 +29C0 +36A0 +ENDCHAR +STARTCHAR U_3BEC +ENCODING 15340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +71C0 +AAA0 +0200 +EFC0 +26A0 +4B40 +9FC0 +4200 +BFE0 +ENDCHAR +STARTCHAR U_3BED +ENCODING 15341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +FFE0 +2940 +6FE0 +7AA0 +AFE0 +2AA0 +2BE0 +2920 +3640 +ENDCHAR +STARTCHAR U_3BEE +ENCODING 15342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FFE0 +2400 +6BE0 +7220 +AFA0 +2AA0 +2FA0 +23A0 +2CC0 +ENDCHAR +STARTCHAR U_3BEF +ENCODING 15343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2C40 +F380 +2D60 +67C0 +7500 +A7C0 +2540 +2540 +27C0 +2820 +ENDCHAR +STARTCHAR U_3BF0 +ENCODING 15344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FFE0 +2100 +6FE0 +7440 +A7C0 +2440 +27C0 +2440 +2FE0 +ENDCHAR +STARTCHAR U_3BF1 +ENCODING 15345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2480 +FFE0 +A420 +7FE0 +2480 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_3BF2 +ENCODING 15346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +27C0 +6AA0 +77C0 +A000 +2FE0 +2100 +2540 +2B20 +ENDCHAR +STARTCHAR U_3BF3 +ENCODING 15347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +3F80 +EAE0 +2BA0 +6EA0 +72A0 +AE40 +2A40 +2E40 +22A0 +2D20 +ENDCHAR +STARTCHAR U_3BF4 +ENCODING 15348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F540 +2FE0 +6AA0 +7540 +A280 +2FE0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_3BF5 +ENCODING 15349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2280 +F7C0 +2100 +7FE0 +6540 +A7C0 +2540 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_3BF6 +ENCODING 15350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2D60 +FAA0 +2FE0 +6440 +7A20 +A7C0 +2C40 +2280 +2380 +2C60 +ENDCHAR +STARTCHAR U_3BF7 +ENCODING 15351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2760 +2940 +FFE0 +2940 +6BE0 +7880 +A9C0 +A880 +2BE0 +2940 +2A20 +ENDCHAR +STARTCHAR U_3BF8 +ENCODING 15352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2140 +FFE0 +2140 +67C0 +7100 +AFE0 +3540 +2FE0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_3BF9 +ENCODING 15353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F20 +4A20 +FFE0 +5520 +5F20 +E0A0 +CE60 +4020 +5F20 +4E20 +5560 +ENDCHAR +STARTCHAR U_3BFA +ENCODING 15354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +A3E0 +FD00 +8880 +FBE0 +A2A0 +FBE0 +0400 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_3BFB +ENCODING 15355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +FFE0 +94A0 +6B00 +3280 +0C40 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_3BFC +ENCODING 15356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2EE0 +F440 +2100 +27C0 +7100 +6FE0 +A440 +2FE0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_3BFD +ENCODING 15357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +F020 +4FC0 +4940 +EFC0 +CA40 +4BC0 +4A40 +4BC0 +5420 +ENDCHAR +STARTCHAR U_3BFE +ENCODING 15358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +23E0 +F140 +2BE0 +7EA0 +6BE0 +AAA0 +2BE0 +2940 +3D40 +23E0 +ENDCHAR +STARTCHAR U_3BFF +ENCODING 15359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +2540 +FAA0 +27E0 +6520 +77E0 +AD40 +A7C0 +2540 +27E0 +2520 +ENDCHAR +STARTCHAR U_3C00 +ENCODING 15360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2EE0 +F560 +3EA0 +2560 +6280 +B540 +2960 +2580 +2940 +3320 +ENDCHAR +STARTCHAR U_3C01 +ENCODING 15361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FBC0 +2640 +63C0 +7000 +AFE0 +2440 +2EE0 +3BA0 +2EE0 +ENDCHAR +STARTCHAR U_3C02 +ENCODING 15362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FBA0 +2540 +6FE0 +7380 +AFE0 +2540 +27C0 +2540 +27C0 +ENDCHAR +STARTCHAR U_3C03 +ENCODING 15363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4460 +4FC0 +FAA0 +4FE0 +4A40 +64A0 +DFE0 +5540 +55E0 +5760 +44C0 +ENDCHAR +STARTCHAR U_3C04 +ENCODING 15364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EA0 +2AE0 +FB80 +2EC0 +6AA0 +7F60 +AAA0 +2BE0 +2EA0 +2460 +2BA0 +ENDCHAR +STARTCHAR U_3C05 +ENCODING 15365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +57E0 +E940 +43E0 +7AA0 +EBE0 +CAA0 +4BE0 +4B60 +5AA0 +67E0 +ENDCHAR +STARTCHAR U_3C06 +ENCODING 15366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +FFE0 +8A20 +7BC0 +0A00 +7BC0 +0E00 +FFE0 +3580 +ENDCHAR +STARTCHAR U_3C07 +ENCODING 15367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44C0 +4FA0 +F4E0 +5F80 +6A80 +5BA0 +CAC0 +5B80 +4AA0 +4FA0 +5860 +ENDCHAR +STARTCHAR U_3C08 +ENCODING 15368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +71C0 +AAA0 +BFE0 +1240 +DFC0 +5240 +7FE0 +C200 +BFE0 +ENDCHAR +STARTCHAR U_3C09 +ENCODING 15369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +5FE0 +E880 +53E0 +5C80 +EBE0 +DD40 +4AA0 +4FE0 +59C0 +42A0 +ENDCHAR +STARTCHAR U_3C0A +ENCODING 15370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +5DA0 +EAC0 +5E80 +4D40 +F6A0 +C9A0 +5EC0 +4880 +4D40 +5220 +ENDCHAR +STARTCHAR U_3C0B +ENCODING 15371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +4480 +F7E0 +5520 +5FE0 +E520 +D5E0 +5720 +65E0 +48C0 +7120 +ENDCHAR +STARTCHAR U_3C0C +ENCODING 15372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4200 +FFE0 +5AA0 +4700 +EAC0 +C500 +4FC0 +5500 +47C0 +47E0 +ENDCHAR +STARTCHAR U_3C0D +ENCODING 15373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA00 +53C0 +FC40 +5380 +7240 +53C0 +0400 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_3C0E +ENCODING 15374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2FE0 +F480 +2FE0 +6480 +77E0 +A480 +27E0 +2EE0 +2BA0 +2820 +ENDCHAR +STARTCHAR U_3C0F +ENCODING 15375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +F920 +27E0 +6240 +73C0 +A7E0 +2420 +25A0 +25A0 +2460 +ENDCHAR +STARTCHAR U_3C10 +ENCODING 15376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +5DE0 +F480 +5AE0 +7540 +D5E0 +D6A0 +5AE0 +52A0 +5200 +55E0 +ENDCHAR +STARTCHAR U_3C11 +ENCODING 15377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +54A0 +E380 +4A40 +6920 +D6C0 +4100 +4FE0 +4380 +4540 +4920 +ENDCHAR +STARTCHAR U_3C12 +ENCODING 15378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4C60 +4AA0 +4D60 +FAA0 +4FE0 +6820 +D7C0 +4080 +4FE0 +4100 +4300 +ENDCHAR +STARTCHAR U_3C13 +ENCODING 15379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +54E0 +5A80 +F540 +5E20 +6FC0 +CA40 +C940 +4FC0 +4480 +4840 +ENDCHAR +STARTCHAR U_3C14 +ENCODING 15380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +7760 +58C0 +F740 +5040 +DF40 +E5A0 +4F00 +4500 +4200 +5DC0 +ENDCHAR +STARTCHAR U_3C15 +ENCODING 15381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +4F80 +4200 +EF80 +4540 +DFC0 +E500 +5D40 +4880 +4540 +5E20 +ENDCHAR +STARTCHAR U_3C16 +ENCODING 15382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +54E0 +5A80 +F560 +5E00 +E000 +CF80 +4880 +4A80 +4520 +59E0 +ENDCHAR +STARTCHAR U_3C17 +ENCODING 15383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2FE0 +FAA0 +2F40 +6AA0 +77C0 +A440 +27C0 +2540 +2780 +28E0 +ENDCHAR +STARTCHAR U_3C18 +ENCODING 15384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2240 +FFE0 +2AA0 +6FC0 +77A0 +AAE0 +2340 +2FE0 +2240 +2440 +ENDCHAR +STARTCHAR U_3C19 +ENCODING 15385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5480 +5540 +FFE0 +5540 +5F40 +EBE0 +DF40 +49E0 +7F40 +5540 +63E0 +ENDCHAR +STARTCHAR U_3C1A +ENCODING 15386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5F40 +EBE0 +5540 +DF40 +E5E0 +DF40 +55E0 +5740 +5D40 +53E0 +ENDCHAR +STARTCHAR U_3C1B +ENCODING 15387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F540 +2AA0 +7FC0 +6AA0 +AFE0 +2100 +2FE0 +2540 +2920 +ENDCHAR +STARTCHAR U_3C1C +ENCODING 15388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +2E40 +F4E0 +2EA0 +6AE0 +7EA0 +AAE0 +2AA0 +3FE0 +2AA0 +3120 +ENDCHAR +STARTCHAR U_3C1D +ENCODING 15389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +8BE0 +8D20 +F900 +8100 +8100 +8900 +B280 +C440 +1820 +ENDCHAR +STARTCHAR U_3C1E +ENCODING 15390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +23E0 +AD20 +A940 +A900 +A900 +A900 +FA80 +8440 +1820 +ENDCHAR +STARTCHAR U_3C1F +ENCODING 15391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7D00 +41E0 +BAA0 +0280 +F880 +0880 +0880 +0940 +0D40 +0620 +ENDCHAR +STARTCHAR U_3C20 +ENCODING 15392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2A00 +FBE0 +02A0 +7480 +5080 +5080 +5480 +5940 +5220 +8420 +ENDCHAR +STARTCHAR U_3C21 +ENCODING 15393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +53E0 +8D20 +5100 +5100 +5100 +5100 +5280 +5440 +9820 +ENDCHAR +STARTCHAR U_3C22 +ENCODING 15394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +5200 +53E0 +5520 +F900 +5100 +5100 +5100 +5180 +5240 +9C20 +ENDCHAR +STARTCHAR U_3C23 +ENCODING 15395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A00 +2A00 +ABE0 +AAA0 +BE80 +A880 +A880 +BA80 +EC80 +8940 +0220 +ENDCHAR +STARTCHAR U_3C24 +ENCODING 15396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FE00 +0BE0 +ED20 +A900 +A900 +A900 +E900 +0980 +0A40 +1C20 +ENDCHAR +STARTCHAR U_3C25 +ENCODING 15397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A00 +AA00 +ABE0 +FD20 +A900 +A900 +A900 +B900 +8180 +FA40 +0420 +ENDCHAR +STARTCHAR U_3C26 +ENCODING 15398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2520 +2140 +F900 +2100 +5100 +8980 +FA40 +0420 +ENDCHAR +STARTCHAR U_3C27 +ENCODING 15399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4200 +53E0 +8D20 +F900 +0100 +F900 +8900 +8980 +FA40 +8C20 +ENDCHAR +STARTCHAR U_3C28 +ENCODING 15400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +8A00 +8BE0 +8D20 +F900 +8900 +0100 +5100 +4980 +8A40 +8420 +ENDCHAR +STARTCHAR U_3C29 +ENCODING 15401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +AD20 +A900 +F900 +A100 +3100 +3980 +CA40 +0420 +ENDCHAR +STARTCHAR U_3C2A +ENCODING 15402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2520 +F900 +2100 +F900 +2100 +3A80 +C440 +0820 +ENDCHAR +STARTCHAR U_3C2B +ENCODING 15403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5100 +79E0 +92A0 +1080 +FC80 +2880 +2880 +2940 +4A20 +8C20 +ENDCHAR +STARTCHAR U_3C2C +ENCODING 15404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7DE0 +86A0 +7480 +5480 +7480 +5480 +7540 +0220 +1C20 +ENDCHAR +STARTCHAR U_3C2D +ENCODING 15405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +51E0 +8AA0 +7480 +0080 +F880 +4080 +7940 +0940 +3620 +ENDCHAR +STARTCHAR U_3C2E +ENCODING 15406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +4100 +7DE0 +42A0 +7E80 +5480 +5680 +5480 +5480 +9340 +1A20 +ENDCHAR +STARTCHAR U_3C2F +ENCODING 15407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +0100 +7BE0 +4AA0 +4C80 +7880 +8480 +4880 +1D40 +E140 +0620 +ENDCHAR +STARTCHAR U_3C30 +ENCODING 15408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +FDE0 +12A0 +5480 +5480 +BA80 +1080 +2940 +4540 +8220 +ENDCHAR +STARTCHAR U_3C31 +ENCODING 15409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +2200 +FBE0 +2520 +F900 +A900 +F900 +A900 +F980 +2240 +2C20 +ENDCHAR +STARTCHAR U_3C32 +ENCODING 15410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0D00 +0900 +FDE0 +0AA0 +EC80 +A880 +A880 +EC80 +2880 +D940 +2620 +ENDCHAR +STARTCHAR U_3C33 +ENCODING 15411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +53E0 +DAA0 +8C80 +8880 +D880 +5080 +5C80 +E140 +0620 +ENDCHAR +STARTCHAR U_3C34 +ENCODING 15412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FBE0 +8D20 +5100 +F900 +0100 +F900 +8980 +FA40 +8C20 +ENDCHAR +STARTCHAR U_3C35 +ENCODING 15413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FA00 +53E0 +5520 +A900 +2100 +2100 +F900 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_3C36 +ENCODING 15414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +7500 +95E0 +6AA0 +6080 +9E80 +0080 +7C80 +4480 +4540 +7E20 +ENDCHAR +STARTCHAR U_3C37 +ENCODING 15415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FD00 +4BE0 +4CA0 +6880 +A880 +EC80 +2880 +2940 +4940 +8E20 +ENDCHAR +STARTCHAR U_3C38 +ENCODING 15416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +5200 +8BE0 +7520 +2140 +F900 +A900 +F900 +2180 +5240 +8C20 +ENDCHAR +STARTCHAR U_3C39 +ENCODING 15417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0D00 +0900 +FDE0 +8AA0 +E880 +8880 +E880 +AD40 +E940 +9620 +E420 +ENDCHAR +STARTCHAR U_3C3A +ENCODING 15418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ED00 +A500 +A5E0 +EEA0 +8080 +FC80 +9480 +F480 +8940 +9540 +9620 +ENDCHAR +STARTCHAR U_3C3B +ENCODING 15419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FA00 +23E0 +FAA0 +0480 +F880 +8880 +F880 +9140 +7940 +C620 +ENDCHAR +STARTCHAR U_3C3C +ENCODING 15420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +9100 +FDE0 +92A0 +D480 +BA80 +9080 +A880 +C540 +FE20 +0420 +ENDCHAR +STARTCHAR U_3C3D +ENCODING 15421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +A900 +BBE0 +ACA0 +B880 +A880 +FC80 +A880 +9080 +A940 +FE20 +ENDCHAR +STARTCHAR U_3C3E +ENCODING 15422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F900 +89E0 +FAA0 +8C80 +F880 +2080 +FC80 +5140 +4A20 +9C20 +ENDCHAR +STARTCHAR U_3C3F +ENCODING 15423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A900 +53E0 +F4A0 +2080 +4880 +F880 +2080 +F940 +5220 +8C20 +ENDCHAR +STARTCHAR U_3C40 +ENCODING 15424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F900 +A9E0 +EA20 +5A80 +8080 +F880 +A940 +E940 +4A40 +9C20 +ENDCHAR +STARTCHAR U_3C41 +ENCODING 15425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +ABE0 +AAA0 +FC80 +2080 +A880 +A880 +A940 +FA40 +8C20 +ENDCHAR +STARTCHAR U_3C42 +ENCODING 15426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D00 +5100 +7DE0 +56A0 +7C80 +5480 +7C80 +5540 +B940 +B620 +ENDCHAR +STARTCHAR U_3C43 +ENCODING 15427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +6900 +9500 +79E0 +12A0 +FC80 +4880 +FC80 +CD40 +B540 +FE20 +ENDCHAR +STARTCHAR U_3C44 +ENCODING 15428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +5500 +7DE0 +56A0 +7C80 +1080 +7C80 +1080 +FD40 +5520 +AA20 +ENDCHAR +STARTCHAR U_3C45 +ENCODING 15429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +11E0 +FEA0 +8480 +FC80 +4880 +7880 +4940 +3140 +FE20 +ENDCHAR +STARTCHAR U_3C46 +ENCODING 15430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D00 +1100 +7FE0 +5520 +7E80 +4080 +7E80 +5480 +5D40 +9540 +BE20 +ENDCHAR +STARTCHAR U_3C47 +ENCODING 15431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FF00 +55E0 +BB20 +FE80 +4480 +7480 +5480 +7540 +4540 +7E20 +ENDCHAR +STARTCHAR U_3C48 +ENCODING 15432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +FD00 +29E0 +7D20 +AA80 +7C80 +0080 +FE80 +5540 +9340 +3220 +ENDCHAR +STARTCHAR U_3C49 +ENCODING 15433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ED00 +2900 +FDE0 +2A20 +FE80 +1080 +7C80 +1080 +FD40 +5540 +9220 +ENDCHAR +STARTCHAR U_3C4A +ENCODING 15434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +2100 +F9E0 +AAA0 +FC80 +A880 +5480 +7880 +C940 +3240 +CC20 +ENDCHAR +STARTCHAR U_3C4B +ENCODING 15435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +1100 +FDE0 +D6A0 +3880 +5480 +FC80 +4880 +7D40 +4940 +7E20 +ENDCHAR +STARTCHAR U_3C4C +ENCODING 15436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +4900 +79E0 +4AA0 +FC80 +0880 +FC80 +5480 +5540 +FD40 +2A20 +ENDCHAR +STARTCHAR U_3C4D +ENCODING 15437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +4A80 +9CE0 +E720 +5D40 +4240 +BC40 +E740 +1C40 +B5A0 +9D20 +ENDCHAR +STARTCHAR U_3C4E +ENCODING 15438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +AA80 +FFE0 +5520 +F280 +5C80 +D480 +7C80 +5540 +7D40 +AA20 +ENDCHAR +STARTCHAR U_3C4F +ENCODING 15439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0000 +FFE0 +0400 +0400 +2780 +2400 +2400 +2400 +2400 +FFE0 +ENDCHAR +STARTCHAR U_3C50 +ENCODING 15440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +7C40 +0040 +FFE0 +0000 +1000 +5E00 +5000 +5E00 +F000 +4000 +ENDCHAR +STARTCHAR U_3C51 +ENCODING 15441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2780 +2400 +FFE0 +0800 +1F80 +6880 +0500 +0600 +1800 +E000 +ENDCHAR +STARTCHAR U_3C52 +ENCODING 15442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +47C0 +4400 +FFE0 +0000 +7FC0 +0080 +3C80 +2480 +3C80 +0180 +ENDCHAR +STARTCHAR U_3C53 +ENCODING 15443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +1100 +1280 +5440 +5920 +5080 +57C0 +5040 +FA80 +4100 +0100 +ENDCHAR +STARTCHAR U_3C54 +ENCODING 15444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5200 +5FE0 +5200 +FDE0 +1000 +1F80 +6900 +0600 +0C00 +F000 +ENDCHAR +STARTCHAR U_3C55 +ENCODING 15445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +23C0 +B040 +AFE0 +A920 +A7C0 +B540 +E540 +85C0 +0100 +ENDCHAR +STARTCHAR U_3C56 +ENCODING 15446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +2100 +2FE0 +2440 +A440 +BAA0 +A100 +AFE0 +B100 +C100 +0100 +ENDCHAR +STARTCHAR U_3C57 +ENCODING 15447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +27C0 +2540 +BEC0 +A540 +A640 +A7C0 +B940 +EFE0 +8280 +0C60 +ENDCHAR +STARTCHAR U_3C58 +ENCODING 15448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +52C0 +5EA0 +53E0 +5E80 +5340 +5E20 +6200 +53C0 +9200 +BFE0 +ENDCHAR +STARTCHAR U_3C59 +ENCODING 15449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4100 +4100 +7A00 +CBE0 +B020 +1020 +2020 +4020 +83C0 +0080 +ENDCHAR +STARTCHAR U_3C5A +ENCODING 15450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2220 +2220 +3BE0 +4A20 +CA20 +33E0 +1220 +2220 +C420 +0860 +ENDCHAR +STARTCHAR U_3C5B +ENCODING 15451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2200 +2200 +7BC0 +4A40 +CE40 +3180 +2080 +4100 +8200 +0400 +ENDCHAR +STARTCHAR U_3C5C +ENCODING 15452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FC80 +4080 +7880 +4A80 +CAE0 +3280 +1280 +2280 +C780 +08E0 +ENDCHAR +STARTCHAR U_3C5D +ENCODING 15453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FC80 +4880 +6BE0 +A8A0 +ACA0 +68A0 +28A0 +4920 +4D20 +8AC0 +ENDCHAR +STARTCHAR U_3C5E +ENCODING 15454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F080 +4FE0 +7000 +9440 +5440 +2240 +2280 +4280 +8000 +0FE0 +ENDCHAR +STARTCHAR U_3C5F +ENCODING 15455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FBE0 +22A0 +3A80 +4A80 +6BE0 +92A0 +12A0 +2240 +C4A0 +0520 +ENDCHAR +STARTCHAR U_3C60 +ENCODING 15456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F880 +2080 +7BE0 +4880 +4880 +ABE0 +1220 +2220 +4220 +83E0 +ENDCHAR +STARTCHAR U_3C61 +ENCODING 15457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FA80 +25C0 +3900 +4900 +AFE0 +1180 +2280 +4480 +88A0 +00E0 +ENDCHAR +STARTCHAR U_3C62 +ENCODING 15458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F900 +47C0 +7440 +57C0 +D440 +37C0 +2520 +44C0 +8440 +0620 +ENDCHAR +STARTCHAR U_3C63 +ENCODING 15459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +FFA0 +42A0 +7A40 +4A40 +CFE0 +3240 +1640 +2180 +4140 +8620 +ENDCHAR +STARTCHAR U_3C64 +ENCODING 15460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F460 +4580 +4F00 +7500 +55E0 +D740 +3D40 +2540 +2540 +4540 +8640 +ENDCHAR +STARTCHAR U_3C65 +ENCODING 15461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +4100 +47C0 +7240 +9520 +D3C0 +2640 +2180 +4180 +8660 +ENDCHAR +STARTCHAR U_3C66 +ENCODING 15462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +4100 +4280 +7440 +9FE0 +D040 +2740 +2540 +4740 +80C0 +ENDCHAR +STARTCHAR U_3C67 +ENCODING 15463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +4820 +4000 +76E0 +9AA0 +DAE0 +2680 +2280 +44A0 +88E0 +ENDCHAR +STARTCHAR U_3C68 +ENCODING 15464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +4FE0 +4820 +77C0 +9100 +D5C0 +2500 +2500 +4700 +88E0 +ENDCHAR +STARTCHAR U_3C69 +ENCODING 15465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +4100 +4FE0 +7520 +9B40 +D500 +2FE0 +2100 +4280 +8C60 +ENDCHAR +STARTCHAR U_3C6A +ENCODING 15466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +FC40 +47C0 +4480 +77E0 +9440 +D7E0 +2440 +27C0 +4440 +87C0 +ENDCHAR +STARTCHAR U_3C6B +ENCODING 15467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4100 +47E0 +7560 +97A0 +D7E0 +3100 +2380 +4540 +8920 +ENDCHAR +STARTCHAR U_3C6C +ENCODING 15468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +FD40 +47C0 +4540 +77C0 +9000 +DFE0 +2540 +2480 +4540 +8620 +ENDCHAR +STARTCHAR U_3C6D +ENCODING 15469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +F4A0 +44A0 +4700 +74E0 +9720 +D4A0 +2740 +2C40 +44A0 +8520 +ENDCHAR +STARTCHAR U_3C6E +ENCODING 15470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +4540 +47C0 +7100 +97E0 +D540 +2540 +2540 +4280 +8C60 +ENDCHAR +STARTCHAR U_3C6F +ENCODING 15471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F540 +47C0 +4000 +7FE0 +9000 +D7C0 +2440 +27C0 +4280 +8FE0 +ENDCHAR +STARTCHAR U_3C70 +ENCODING 15472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4920 +47C0 +7440 +9280 +DFE0 +2100 +27C0 +4100 +8100 +ENDCHAR +STARTCHAR U_3C71 +ENCODING 15473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FC00 +47C0 +4540 +77C0 +9540 +D7C0 +22A0 +22E0 +4480 +8860 +ENDCHAR +STARTCHAR U_3C72 +ENCODING 15474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FA80 +27E0 +2280 +7C40 +4820 +D7C0 +3540 +2540 +4540 +8FE0 +ENDCHAR +STARTCHAR U_3C73 +ENCODING 15475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +1100 +3F80 +2480 +FFE0 +2080 +DF60 +0800 +3F00 +0500 +7E00 +ENDCHAR +STARTCHAR U_3C74 +ENCODING 15476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +4100 +43C0 +7100 +9FE0 +D240 +23C0 +2240 +43C0 +8C20 +ENDCHAR +STARTCHAR U_3C75 +ENCODING 15477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4540 +4FE0 +7440 +97C0 +D440 +27C0 +2440 +47C0 +8820 +ENDCHAR +STARTCHAR U_3C76 +ENCODING 15478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FF20 +4240 +4780 +7000 +9720 +55C0 +2700 +2880 +4520 +8FC0 +ENDCHAR +STARTCHAR U_3C77 +ENCODING 15479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +4480 +47E0 +7480 +97E0 +D480 +27E0 +2180 +42C0 +8CA0 +ENDCHAR +STARTCHAR U_3C78 +ENCODING 15480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F740 +45E0 +45A0 +7740 +94E0 +D740 +2540 +25E0 +4740 +8840 +ENDCHAR +STARTCHAR U_3C79 +ENCODING 15481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4480 +4760 +7540 +97E0 +D540 +37E0 +2480 +26E0 +4A80 +8BE0 +ENDCHAR +STARTCHAR U_3C7A +ENCODING 15482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +F900 +47E0 +7540 +57E0 +D540 +B7C0 +2540 +27C0 +4D40 +8FE0 +ENDCHAR +STARTCHAR U_3C7B +ENCODING 15483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4400 +43E0 +7440 +97C0 +D540 +27C0 +2540 +47C0 +8960 +ENDCHAR +STARTCHAR U_3C7C +ENCODING 15484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +F480 +9480 +9480 +9860 +F780 +8480 +9480 +A300 +C480 +1860 +ENDCHAR +STARTCHAR U_3C7D +ENCODING 15485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FA40 +AA40 +AC60 +2BC0 +5240 +5240 +5580 +9A40 +9420 +ENDCHAR +STARTCHAR U_3C7E +ENCODING 15486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2240 +FA40 +2240 +4C20 +F3C0 +2A40 +5240 +B180 +4980 +8660 +ENDCHAR +STARTCHAR U_3C7F +ENCODING 15487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +2240 +7240 +0240 +FDE0 +8A40 +FA40 +8980 +8980 +9E60 +ENDCHAR +STARTCHAR U_3C80 +ENCODING 15488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DC0 +4140 +7940 +4260 +7C00 +53E0 +5D40 +5880 +5540 +5A40 +9420 +ENDCHAR +STARTCHAR U_3C81 +ENCODING 15489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +1140 +7D40 +8660 +4800 +87E0 +FA20 +2140 +2080 +3940 +C220 +ENDCHAR +STARTCHAR U_3C82 +ENCODING 15490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +AA40 +7240 +FA40 +8C20 +EBC0 +AA40 +AA40 +E980 +8A40 +9C20 +ENDCHAR +STARTCHAR U_3C83 +ENCODING 15491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3BC0 +2240 +FA40 +AA40 +CC20 +FBC0 +4240 +7180 +4240 +7C20 +ENDCHAR +STARTCHAR U_3C84 +ENCODING 15492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +2240 +FA40 +8C20 +FBC0 +2240 +FA40 +2180 +3A40 +C420 +ENDCHAR +STARTCHAR U_3C85 +ENCODING 15493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +FD40 +A540 +F940 +2620 +F9C0 +2140 +F940 +8880 +F940 +8A20 +ENDCHAR +STARTCHAR U_3C86 +ENCODING 15494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FD40 +57E0 +7D40 +4180 +8E60 +3580 +C260 +1F80 +0900 +0600 +ENDCHAR +STARTCHAR U_3C87 +ENCODING 15495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FD40 +57E0 +7D40 +4E80 +B160 +0E00 +1900 +E6E0 +0800 +0600 +ENDCHAR +STARTCHAR U_3C88 +ENCODING 15496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FD40 +57E0 +7D40 +4080 +8360 +7F80 +1080 +7F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3C89 +ENCODING 15497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FDC0 +2140 +FD40 +8660 +FFC0 +D540 +BD40 +F480 +5D40 +9220 +ENDCHAR +STARTCHAR U_3C8A +ENCODING 15498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +39C0 +2140 +FD40 +8540 +7A20 +B5C0 +4940 +FD40 +5880 +6940 +7E20 +ENDCHAR +STARTCHAR U_3C8B +ENCODING 15499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F00 +2200 +7FC0 +A040 +3FC0 +2200 +3E60 +2380 +2E20 +31E0 +ENDCHAR +STARTCHAR U_3C8C +ENCODING 15500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +E780 +2280 +3A80 +E2C0 +2240 +3C40 +E440 +29A0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_3C8D +ENCODING 15501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +21C0 +2700 +F9E0 +4F00 +4920 +30E0 +4C00 +83E0 +ENDCHAR +STARTCHAR U_3C8E +ENCODING 15502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +18C0 +E700 +2100 +39C0 +E700 +2100 +39E0 +E700 +2900 +3120 +20E0 +ENDCHAR +STARTCHAR U_3C8F +ENCODING 15503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +5700 +5100 +51C0 +7F00 +4100 +79E0 +4F00 +4900 +8920 +88E0 +ENDCHAR +STARTCHAR U_3C90 +ENCODING 15504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +6100 +A280 +3440 +6920 +A7C0 +3040 +6080 +A100 +2020 +3FE0 +ENDCHAR +STARTCHAR U_3C91 +ENCODING 15505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +6100 +A740 +3380 +6580 +A540 +3920 +6100 +A300 +2020 +3FE0 +ENDCHAR +STARTCHAR U_3C92 +ENCODING 15506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +7900 +4900 +8FC0 +6900 +5900 +5FC0 +6900 +0920 +39E0 +ENDCHAR +STARTCHAR U_3C93 +ENCODING 15507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +18C0 +E0A0 +27E0 +3C80 +E6A0 +25A0 +3CC0 +E540 +2A20 +2020 +1FE0 +ENDCHAR +STARTCHAR U_3C94 +ENCODING 15508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +FF00 +8900 +51E0 +0700 +F900 +21E0 +FF00 +2120 +2120 +20E0 +ENDCHAR +STARTCHAR U_3C95 +ENCODING 15509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C60 +E780 +A480 +58E0 +0B80 +FC80 +88E0 +4B80 +0880 +08A0 +18E0 +ENDCHAR +STARTCHAR U_3C96 +ENCODING 15510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A8E0 +7380 +2080 +F8E0 +8B80 +F880 +88E0 +FB80 +8880 +88A0 +98E0 +ENDCHAR +STARTCHAR U_3C97 +ENCODING 15511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1CE0 +E780 +A880 +F8E0 +1780 +2080 +38E0 +E780 +2080 +20A0 +60E0 +ENDCHAR +STARTCHAR U_3C98 +ENCODING 15512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78E0 +4B80 +4880 +78E0 +4B80 +7880 +48E0 +4B80 +7880 +48A0 +84E0 +ENDCHAR +STARTCHAR U_3C99 +ENCODING 15513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +EFE0 +2200 +3440 +EFE0 +2540 +3540 +E540 +2960 +2020 +1FE0 +ENDCHAR +STARTCHAR U_3C9A +ENCODING 15514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +4B40 +1520 +E180 +5E00 +0400 +7F80 +0400 +FFC0 +0420 +07E0 +ENDCHAR +STARTCHAR U_3C9B +ENCODING 15515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +9120 +7DE0 +2800 +5F80 +0400 +7FC0 +0400 +FFE0 +0420 +07E0 +ENDCHAR +STARTCHAR U_3C9C +ENCODING 15516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +AB00 +7100 +21E0 +5700 +A900 +A9E0 +7700 +2100 +5120 +88E0 +ENDCHAR +STARTCHAR U_3C9D +ENCODING 15517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A00 +E500 +27C0 +3D00 +E7C0 +2500 +37C0 +E500 +27E0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_3C9E +ENCODING 15518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +1380 +FC80 +4BE0 +4880 +B480 +13E0 +FC80 +1080 +10A0 +10E0 +ENDCHAR +STARTCHAR U_3C9F +ENCODING 15519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +28C0 +FF80 +2880 +10E0 +7F80 +5480 +54E0 +FF80 +2880 +44A0 +80E0 +ENDCHAR +STARTCHAR U_3CA0 +ENCODING 15520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7DE0 +1340 +FC80 +5760 +3C00 +07C0 +7C00 +07C0 +7C20 +07E0 +ENDCHAR +STARTCHAR U_3CA1 +ENCODING 15521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +FF80 +3880 +D4E0 +7B80 +0080 +FCE0 +1380 +5880 +94A0 +30E0 +ENDCHAR +STARTCHAR U_3CA2 +ENCODING 15522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +7F80 +4280 +7EE0 +4180 +4080 +7EE0 +6B80 +FE80 +AAA0 +AAE0 +ENDCHAR +STARTCHAR U_3CA3 +ENCODING 15523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +60C0 +BB80 +A880 +F8E0 +AB80 +F880 +20E0 +FB80 +4880 +30A0 +CCE0 +ENDCHAR +STARTCHAR U_3CA4 +ENCODING 15524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +1380 +FC80 +48E0 +FF80 +4880 +78E0 +5780 +D880 +48A0 +64E0 +ENDCHAR +STARTCHAR U_3CA5 +ENCODING 15525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +7F80 +5480 +7EE0 +5580 +7C80 +50E0 +7F80 +6480 +BCA0 +A4E0 +ENDCHAR +STARTCHAR U_3CA6 +ENCODING 15526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F280 +4CE0 +F700 +9100 +F1C0 +9700 +F1C0 +4700 +F120 +41E0 +ENDCHAR +STARTCHAR U_3CA7 +ENCODING 15527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37C0 +C540 +4280 +7380 +CD60 +4540 +77C0 +C120 +4FE0 +4020 +3FE0 +ENDCHAR +STARTCHAR U_3CA8 +ENCODING 15528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48E0 +FF80 +4880 +FCE0 +4B80 +7880 +48E0 +7B80 +4880 +FCA0 +08E0 +ENDCHAR +STARTCHAR U_3CA9 +ENCODING 15529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +E440 +27C0 +3440 +EFE0 +2AA0 +3660 +EBA0 +2660 +2020 +1FE0 +ENDCHAR +STARTCHAR U_3CAA +ENCODING 15530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E8C0 +B780 +5880 +48E0 +B780 +0080 +78E0 +4B80 +7880 +48A0 +FCE0 +ENDCHAR +STARTCHAR U_3CAB +ENCODING 15531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +CCC0 +4B80 +FC80 +48E0 +FF80 +2080 +78E0 +2380 +FC80 +48A0 +84E0 +ENDCHAR +STARTCHAR U_3CAC +ENCODING 15532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +50E0 +7F80 +D080 +7CE0 +5380 +7C80 +50E0 +7F80 +4080 +A4A0 +A4E0 +ENDCHAR +STARTCHAR U_3CAD +ENCODING 15533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9460 +5580 +5880 +28E0 +4580 +8280 +54E0 +EF80 +4480 +AEA0 +92E0 +ENDCHAR +STARTCHAR U_3CAE +ENCODING 15534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6FE0 +CAA0 +4380 +7C60 +C7C0 +4000 +77C0 +C440 +47C0 +4020 +3FE0 +ENDCHAR +STARTCHAR U_3CAF +ENCODING 15535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +A980 +EC80 +B0E0 +E180 +AC80 +F0E0 +0180 +FE80 +AAA0 +FEE0 +ENDCHAR +STARTCHAR U_3CB0 +ENCODING 15536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FE80 +9280 +4CE0 +FB80 +AA80 +FEE0 +0180 +FE80 +10A0 +3060 +ENDCHAR +STARTCHAR U_3CB1 +ENCODING 15537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3540 +EA80 +2540 +2FC0 +F940 +2A40 +2FC0 +FA80 +2FA0 +2A60 +1FC0 +ENDCHAR +STARTCHAR U_3CB2 +ENCODING 15538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +5480 +FE80 +ABE0 +FE80 +8280 +7DE0 +4480 +7C80 +44A0 +FEE0 +ENDCHAR +STARTCHAR U_3CB3 +ENCODING 15539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1880 +F280 +93E0 +9280 +FC80 +97E0 +9080 +9080 +F140 +8A20 +6C20 +ENDCHAR +STARTCHAR U_3CB4 +ENCODING 15540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FC0 +4000 +BF80 +0000 +7F80 +0880 +7E80 +4A80 +7E60 +0820 +ENDCHAR +STARTCHAR U_3CB5 +ENCODING 15541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +4000 +BF80 +0000 +7F80 +2A80 +1C80 +3E80 +22A0 +3EA0 +2660 +ENDCHAR +STARTCHAR U_3CB6 +ENCODING 15542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +4000 +FF80 +2080 +3C80 +2080 +FE80 +AA80 +D6A0 +AA60 +FE20 +ENDCHAR +STARTCHAR U_3CB7 +ENCODING 15543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4000 +BFC0 +5540 +7F40 +2A40 +3E40 +2A40 +FFC0 +0860 +0820 +ENDCHAR +STARTCHAR U_3CB8 +ENCODING 15544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FC0 +0040 +8080 +4100 +1200 +2400 +C800 +4800 +4820 +47E0 +ENDCHAR +STARTCHAR U_3CB9 +ENCODING 15545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2480 +0480 +8480 +4480 +1480 +2480 +C480 +4480 +48A0 +1060 +ENDCHAR +STARTCHAR U_3CBA +ENCODING 15546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +1200 +0200 +8200 +43E0 +0E00 +1200 +2200 +C200 +4220 +41E0 +ENDCHAR +STARTCHAR U_3CBB +ENCODING 15547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +2240 +7A40 +CB80 +4B00 +4A80 +5280 +5240 +6220 +4600 +ENDCHAR +STARTCHAR U_3CBC +ENCODING 15548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2440 +0440 +8440 +4280 +1280 +2100 +C100 +4280 +4440 +1820 +ENDCHAR +STARTCHAR U_3CBD +ENCODING 15549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +0220 +8220 +4220 +1A20 +2620 +C220 +4420 +4820 +10C0 +ENDCHAR +STARTCHAR U_3CBE +ENCODING 15550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +0400 +0440 +F480 +1700 +2500 +4480 +8460 +1C00 +ENDCHAR +STARTCHAR U_3CBF +ENCODING 15551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0800 +8800 +4800 +1800 +2800 +C800 +4800 +4800 +1000 +ENDCHAR +STARTCHAR U_3CC0 +ENCODING 15552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2280 +0240 +8FE0 +4200 +1240 +2280 +C100 +4320 +44A0 +4840 +ENDCHAR +STARTCHAR U_3CC1 +ENCODING 15553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +0900 +8900 +4900 +0900 +2980 +CA80 +5240 +5440 +6820 +ENDCHAR +STARTCHAR U_3CC2 +ENCODING 15554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2280 +0280 +8240 +4440 +0920 +2100 +C200 +4240 +44C0 +4720 +ENDCHAR +STARTCHAR U_3CC3 +ENCODING 15555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +0FC0 +8280 +44A0 +0940 +2100 +CFE0 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_3CC4 +ENCODING 15556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2440 +07C0 +8A40 +5280 +0200 +2500 +C480 +4880 +4840 +5020 +ENDCHAR +STARTCHAR U_3CC5 +ENCODING 15557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +0100 +8200 +4340 +1520 +2920 +C100 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_3CC6 +ENCODING 15558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2480 +0280 +8080 +4480 +1280 +20E0 +CF80 +4080 +4080 +4080 +ENDCHAR +STARTCHAR U_3CC7 +ENCODING 15559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2480 +0440 +8820 +5480 +0480 +2300 +C100 +4280 +4480 +5860 +ENDCHAR +STARTCHAR U_3CC8 +ENCODING 15560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +1FE0 +8200 +4A80 +0A80 +2A80 +AA80 +4AA0 +52E0 +4200 +ENDCHAR +STARTCHAR U_3CC9 +ENCODING 15561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +0420 +87E0 +4420 +1420 +27E0 +A420 +4420 +48A0 +5060 +ENDCHAR +STARTCHAR U_3CCA +ENCODING 15562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +07E0 +8880 +5480 +1480 +2300 +A100 +4300 +4480 +5860 +ENDCHAR +STARTCHAR U_3CCB +ENCODING 15563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F00 +0800 +8800 +4FE0 +0880 +2880 +A880 +4880 +4880 +7FE0 +ENDCHAR +STARTCHAR U_3CCC +ENCODING 15564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +0920 +8FE0 +4920 +1920 +2FE0 +A100 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_3CCD +ENCODING 15565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +1FE0 +8500 +4FC0 +1940 +2940 +A940 +49C0 +4100 +4100 +ENDCHAR +STARTCHAR U_3CCE +ENCODING 15566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2400 +0840 +9FE0 +4480 +1480 +3FE0 +A480 +4480 +4880 +5080 +ENDCHAR +STARTCHAR U_3CCF +ENCODING 15567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +0FE0 +8920 +4920 +0FE0 +2900 +A500 +4300 +4680 +5860 +ENDCHAR +STARTCHAR U_3CD0 +ENCODING 15568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +0480 +9F80 +4480 +1480 +2E80 +CD80 +5480 +44A0 +04E0 +ENDCHAR +STARTCHAR U_3CD1 +ENCODING 15569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +4000 +2FC0 +1540 +9540 +5540 +1540 +3540 +D540 +5540 +5FE0 +ENDCHAR +STARTCHAR U_3CD2 +ENCODING 15570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +0FE0 +8280 +4280 +1440 +2920 +C100 +4200 +4440 +07A0 +ENDCHAR +STARTCHAR U_3CD3 +ENCODING 15571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +0100 +8FE0 +4200 +1400 +27C0 +CC40 +5440 +4440 +07C0 +ENDCHAR +STARTCHAR U_3CD4 +ENCODING 15572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2040 +0E40 +83E0 +4A40 +1B40 +26C0 +C440 +4A40 +5040 +00C0 +ENDCHAR +STARTCHAR U_3CD5 +ENCODING 15573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +0280 +8FE0 +4000 +1000 +27C0 +C000 +4000 +4000 +0FE0 +ENDCHAR +STARTCHAR U_3CD6 +ENCODING 15574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +0FE0 +8100 +4200 +0520 +3D40 +2480 +C480 +4540 +4620 +ENDCHAR +STARTCHAR U_3CD7 +ENCODING 15575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2520 +04C0 +8280 +4100 +0280 +2D60 +2100 +C7C0 +4100 +4FE0 +ENDCHAR +STARTCHAR U_3CD8 +ENCODING 15576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +0FE0 +8100 +4240 +17A0 +2200 +C280 +4280 +44A0 +08E0 +ENDCHAR +STARTCHAR U_3CD9 +ENCODING 15577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2200 +0440 +8FA0 +4000 +17C0 +2440 +C7C0 +4440 +47C0 +0840 +ENDCHAR +STARTCHAR U_3CDA +ENCODING 15578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +20A0 +0FE0 +8880 +4880 +1AA0 +29A0 +C8C0 +4880 +5160 +2620 +ENDCHAR +STARTCHAR U_3CDB +ENCODING 15579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +0960 +8920 +4D60 +1920 +2FE0 +C100 +4280 +4440 +1820 +ENDCHAR +STARTCHAR U_3CDC +ENCODING 15580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +0480 +8FE0 +5480 +0480 +25C0 +26A0 +C480 +4480 +4480 +ENDCHAR +STARTCHAR U_3CDD +ENCODING 15581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +25E0 +0880 +B880 +4880 +0FE0 +2880 +C880 +4880 +4880 +0BE0 +ENDCHAR +STARTCHAR U_3CDE +ENCODING 15582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +0880 +9BE0 +4AA0 +0AA0 +2BE0 +2880 +C880 +4880 +4880 +ENDCHAR +STARTCHAR U_3CDF +ENCODING 15583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +1100 +FFE0 +1100 +2480 +D560 +0E00 +3500 +4CC0 +ENDCHAR +STARTCHAR U_3CE0 +ENCODING 15584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2480 +03E0 +9C80 +4480 +1480 +2480 +C540 +4620 +4A00 +11E0 +ENDCHAR +STARTCHAR U_3CE1 +ENCODING 15585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2840 +0440 +81E0 +5C40 +1540 +24C0 +C440 +44C0 +4A00 +11E0 +ENDCHAR +STARTCHAR U_3CE2 +ENCODING 15586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +0100 +8FE0 +4100 +1280 +2C60 +C280 +4280 +4480 +0880 +ENDCHAR +STARTCHAR U_3CE3 +ENCODING 15587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +07C0 +8120 +4140 +1FE0 +2100 +C640 +4B80 +4220 +01C0 +ENDCHAR +STARTCHAR U_3CE4 +ENCODING 15588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2A80 +0680 +8280 +4FE0 +1280 +22C0 +CBA0 +5280 +4280 +0280 +ENDCHAR +STARTCHAR U_3CE5 +ENCODING 15589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +07C0 +8100 +47C0 +1000 +2280 +CFE0 +4280 +4280 +0480 +ENDCHAR +STARTCHAR U_3CE6 +ENCODING 15590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +20A0 +1FE0 +8A80 +4A80 +1FA0 +2AA0 +2AC0 +D2C0 +4160 +4620 +ENDCHAR +STARTCHAR U_3CE7 +ENCODING 15591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2A80 +0A80 +8E80 +4A80 +0A80 +2E80 +2A80 +CEA0 +5AA0 +4260 +ENDCHAR +STARTCHAR U_3CE8 +ENCODING 15592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4520 +2A40 +0520 +8000 +4FE0 +1200 +23C0 +C640 +4980 +4100 +0E00 +ENDCHAR +STARTCHAR U_3CE9 +ENCODING 15593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +3E40 +0B40 +8AC0 +4A40 +0BE0 +2E40 +3A40 +C240 +4440 +44C0 +ENDCHAR +STARTCHAR U_3CEA +ENCODING 15594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +0300 +8580 +5940 +0120 +2100 +27C0 +C440 +4440 +47C0 +ENDCHAR +STARTCHAR U_3CEB +ENCODING 15595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7640 +1580 +2480 +CC60 +1000 +2380 +2080 +3B80 +2080 +3F80 +ENDCHAR +STARTCHAR U_3CEC +ENCODING 15596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +0800 +87E0 +4120 +0140 +2500 +25E0 +C500 +4B00 +50E0 +ENDCHAR +STARTCHAR U_3CED +ENCODING 15597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +0440 +87C0 +4100 +1FE0 +2100 +C380 +4540 +5920 +0100 +ENDCHAR +STARTCHAR U_3CEE +ENCODING 15598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +3020 +1020 +9FE0 +5000 +1100 +3F20 +D3C0 +5540 +5920 +2300 +ENDCHAR +STARTCHAR U_3CEF +ENCODING 15599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0440 +8280 +4FE0 +1100 +2100 +CFE0 +4100 +4100 +0100 +ENDCHAR +STARTCHAR U_3CF0 +ENCODING 15600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0200 +8440 +47E0 +0240 +2240 +AFE0 +4240 +4240 +4440 +ENDCHAR +STARTCHAR U_3CF1 +ENCODING 15601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +0AA0 +8CA0 +4AE0 +0AA0 +2AA0 +AAA0 +4CE0 +48A0 +4800 +ENDCHAR +STARTCHAR U_3CF2 +ENCODING 15602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +2900 +0100 +A7E0 +5100 +0100 +2980 +2A80 +D240 +5540 +5820 +ENDCHAR +STARTCHAR U_3CF3 +ENCODING 15603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +0FE0 +8100 +47C0 +1440 +27C0 +A280 +4280 +44A0 +48E0 +ENDCHAR +STARTCHAR U_3CF4 +ENCODING 15604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2540 +14A0 +9520 +4640 +1BC0 +2100 +A7C0 +4100 +4100 +4FE0 +ENDCHAR +STARTCHAR U_3CF5 +ENCODING 15605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2700 +0100 +9FE0 +4540 +0920 +2780 +A080 +4FE0 +4100 +4300 +ENDCHAR +STARTCHAR U_3CF6 +ENCODING 15606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +3980 +1680 +8880 +5E80 +0280 +2780 +BC80 +44A0 +44A0 +4CE0 +ENDCHAR +STARTCHAR U_3CF7 +ENCODING 15607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +2FE0 +0AA0 +92A0 +4D20 +0240 +2FE0 +A820 +4FE0 +4820 +4FE0 +ENDCHAR +STARTCHAR U_3CF8 +ENCODING 15608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +0FE0 +8480 +4280 +14A0 +2CC0 +2780 +C480 +44A0 +44E0 +ENDCHAR +STARTCHAR U_3CF9 +ENCODING 15609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +25E0 +0440 +9F40 +4440 +0DE0 +2E40 +3540 +C440 +4440 +45E0 +ENDCHAR +STARTCHAR U_3CFA +ENCODING 15610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +1EE0 +8500 +44E0 +0720 +3C40 +25E0 +C440 +4440 +4CC0 +ENDCHAR +STARTCHAR U_3CFB +ENCODING 15611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +27C0 +0280 +8280 +4FE0 +0000 +27C0 +A440 +47C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_3CFC +ENCODING 15612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FFE0 +4A40 +7980 +01A0 +FA60 +0440 +7680 +1580 +E460 +0C00 +ENDCHAR +STARTCHAR U_3CFD +ENCODING 15613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5D00 +2500 +05E0 +9E80 +5080 +1080 +3DC0 +A6A0 +44A0 +4480 +5980 +ENDCHAR +STARTCHAR U_3CFE +ENCODING 15614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +0FE0 +8100 +47C0 +0100 +2FE0 +A280 +4280 +44A0 +4860 +ENDCHAR +STARTCHAR U_3CFF +ENCODING 15615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0200 +8440 +47C0 +1100 +2FE0 +2380 +C540 +4920 +4100 +ENDCHAR +STARTCHAR U_3D00 +ENCODING 15616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +4440 +2EE0 +0000 +87C0 +4100 +17C0 +2080 +C100 +4600 +49E0 +ENDCHAR +STARTCHAR U_3D01 +ENCODING 15617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2200 +1FE0 +8480 +4840 +14A0 +2FC0 +C480 +4FC0 +4480 +0880 +ENDCHAR +STARTCHAR U_3D02 +ENCODING 15618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +1BE0 +8AA0 +4AA0 +0BE0 +2AA0 +CFE0 +5A20 +4220 +0260 +ENDCHAR +STARTCHAR U_3D03 +ENCODING 15619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2800 +0FE0 +8820 +4FE0 +1880 +2FA0 +CAC0 +4AA0 +54A0 +2980 +ENDCHAR +STARTCHAR U_3D04 +ENCODING 15620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +0AA0 +8CE0 +4820 +1BA0 +2AA0 +CBA0 +4820 +4FE0 +4820 +ENDCHAR +STARTCHAR U_3D05 +ENCODING 15621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +7700 +1500 +2480 +C860 +7FC0 +4A40 +71C0 +5F40 +5140 +7FC0 +ENDCHAR +STARTCHAR U_3D06 +ENCODING 15622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2040 +1FE0 +8040 +4FE0 +0920 +27C0 +C540 +4540 +4540 +0100 +ENDCHAR +STARTCHAR U_3D07 +ENCODING 15623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +24A0 +F6C0 +6D80 +76C0 +ADA0 +B6A0 +24A0 +2480 +6D80 +ENDCHAR +STARTCHAR U_3D08 +ENCODING 15624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2400 +07C0 +8480 +4480 +1FE0 +2100 +C920 +4920 +4920 +0FE0 +ENDCHAR +STARTCHAR U_3D09 +ENCODING 15625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2480 +0BC0 +8440 +4280 +1520 +2AE0 +C000 +4FC0 +4000 +1FE0 +ENDCHAR +STARTCHAR U_3D0A +ENCODING 15626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5120 +2AA0 +1FA0 +84A0 +55A0 +15A0 +3FA0 +C4A0 +4820 +4820 +1060 +ENDCHAR +STARTCHAR U_3D0B +ENCODING 15627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2F80 +0280 +9FE0 +4280 +0F80 +2A40 +CB40 +4EC0 +4A40 +1240 +ENDCHAR +STARTCHAR U_3D0C +ENCODING 15628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 0 0 +BITMAP +4880 +2880 +09C0 +BE80 +5480 +15C0 +2940 +C940 +5540 +22C0 +ENDCHAR +STARTCHAR U_3D0D +ENCODING 15629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2080 +0120 +9BA0 +4540 +0BC0 +2920 +D3A0 +6120 +4500 +0200 +ENDCHAR +STARTCHAR U_3D0E +ENCODING 15630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +4100 +2FE0 +0280 +8440 +4BA0 +0000 +27C0 +C100 +4540 +4920 +ENDCHAR +STARTCHAR U_3D0F +ENCODING 15631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +0FE0 +8AA0 +44C0 +1000 +27C0 +C100 +47C0 +4100 +0FE0 +ENDCHAR +STARTCHAR U_3D10 +ENCODING 15632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +23E0 +1C80 +94E0 +5EA0 +16A0 +3FE0 +D420 +5C20 +4020 +40C0 +ENDCHAR +STARTCHAR U_3D11 +ENCODING 15633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +0800 +8A40 +4FE0 +1AA0 +2AA0 +CBE0 +4880 +5100 +2200 +ENDCHAR +STARTCHAR U_3D12 +ENCODING 15634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0280 +86C0 +4AA0 +1280 +2480 +CFE0 +4480 +4480 +0880 +ENDCHAR +STARTCHAR U_3D13 +ENCODING 15635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +0920 +8FE0 +4920 +1920 +2FE0 +C000 +4A40 +58A0 +2700 +ENDCHAR +STARTCHAR U_3D14 +ENCODING 15636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2780 +0880 +87C0 +4040 +1FE0 +2040 +C7C0 +4000 +4D40 +17A0 +ENDCHAR +STARTCHAR U_3D15 +ENCODING 15637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +0440 +81C0 +4E00 +1100 +2FE0 +C100 +4380 +4540 +0920 +ENDCHAR +STARTCHAR U_3D16 +ENCODING 15638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +0440 +87C0 +4000 +17C0 +2440 +C7C0 +4100 +4FE0 +0100 +ENDCHAR +STARTCHAR U_3D17 +ENCODING 15639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +0FE0 +8AA0 +4FE0 +1440 +2FE0 +C440 +4280 +4100 +06C0 +ENDCHAR +STARTCHAR U_3D18 +ENCODING 15640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +0FE0 +8820 +4FE0 +17C0 +2440 +C7C0 +47C0 +4440 +07C0 +ENDCHAR +STARTCHAR U_3D19 +ENCODING 15641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +0FE0 +8100 +4500 +1960 +2920 +C920 +4D60 +4920 +0FE0 +ENDCHAR +STARTCHAR U_3D1A +ENCODING 15642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +0FE0 +8100 +43A0 +14A0 +21C0 +C6A0 +41A0 +4680 +0300 +ENDCHAR +STARTCHAR U_3D1B +ENCODING 15643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E40 +2480 +0AE0 +9FA0 +44A0 +15A0 +2EA0 +C4A0 +4440 +46A0 +0920 +ENDCHAR +STARTCHAR U_3D1C +ENCODING 15644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +9FC0 +5000 +1FC0 +9040 +5FC0 +1000 +3FC0 +DB40 +5FC0 +6B40 +2B40 +ENDCHAR +STARTCHAR U_3D1D +ENCODING 15645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3C20 +10A0 +FEA0 +3820 +5660 +9980 +3460 +C580 +3F00 +1480 +6460 +ENDCHAR +STARTCHAR U_3D1E +ENCODING 15646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +2620 +1940 +8480 +4BE0 +1A20 +2A20 +CBE0 +4A20 +4A20 +0BE0 +ENDCHAR +STARTCHAR U_3D1F +ENCODING 15647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +0BE0 +8AA0 +4BE0 +1800 +2BC0 +C840 +57E0 +5080 +2180 +ENDCHAR +STARTCHAR U_3D20 +ENCODING 15648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +4080 +2100 +9120 +5DE0 +1560 +35A0 +5D60 +D320 +5120 +1FE0 +ENDCHAR +STARTCHAR U_3D21 +ENCODING 15649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +0100 +8FE0 +4380 +1560 +2FC0 +C440 +47C0 +4440 +07C0 +ENDCHAR +STARTCHAR U_3D22 +ENCODING 15650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A480 +5480 +0880 +ABE0 +5AA0 +0AA0 +4BE0 +5880 +A880 +A880 +A880 +ENDCHAR +STARTCHAR U_3D23 +ENCODING 15651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +2BE0 +2880 +83E0 +50A0 +53E0 +2A80 +ABE0 +50A0 +5140 +5620 +ENDCHAR +STARTCHAR U_3D24 +ENCODING 15652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2440 +0400 +9FE0 +4440 +0E40 +2DE0 +3440 +C440 +4440 +47E0 +ENDCHAR +STARTCHAR U_3D25 +ENCODING 15653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +25C0 +2480 +85E0 +5520 +55E0 +1520 +B5E0 +5720 +5D20 +4160 +ENDCHAR +STARTCHAR U_3D26 +ENCODING 15654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +1FE0 +9020 +4780 +1480 +2780 +A000 +4FC0 +4840 +4FC0 +ENDCHAR +STARTCHAR U_3D27 +ENCODING 15655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +17C0 +8440 +47C0 +0440 +17C0 +2440 +A7C0 +42A0 +4A60 +49C0 +ENDCHAR +STARTCHAR U_3D28 +ENCODING 15656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F20 +2AC0 +2A00 +8FE0 +4A80 +0BE0 +2E80 +AA80 +4AC0 +5320 +5620 +ENDCHAR +STARTCHAR U_3D29 +ENCODING 15657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4520 +2A40 +0520 +87C0 +4440 +1FE0 +2920 +AFE0 +4800 +4820 +47E0 +ENDCHAR +STARTCHAR U_3D2A +ENCODING 15658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27C0 +0540 +86C0 +4540 +1640 +27C0 +2100 +CFE0 +4540 +5920 +ENDCHAR +STARTCHAR U_3D2B +ENCODING 15659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +2AA0 +1FA0 +8AC0 +5EA0 +08A0 +2EA0 +2AA0 +DAE0 +4E80 +4A80 +ENDCHAR +STARTCHAR U_3D2C +ENCODING 15660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2E40 +0A40 +8FE0 +4A40 +0F40 +2AC0 +BE40 +4A40 +5240 +46C0 +ENDCHAR +STARTCHAR U_3D2D +ENCODING 15661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2AA0 +8440 +4FE0 +1440 +27C0 +2440 +C7C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_3D2E +ENCODING 15662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +0FE0 +8AA0 +4BE0 +1A20 +2BE0 +2A20 +CBE0 +5220 +5260 +ENDCHAR +STARTCHAR U_3D2F +ENCODING 15663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E80 +2A80 +0AE0 +8E80 +4A60 +0A00 +2EE0 +2AA0 +CAE0 +52A0 +56E0 +ENDCHAR +STARTCHAR U_3D30 +ENCODING 15664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +3280 +1EE0 +8080 +5EA0 +12E0 +3E80 +32E0 +DE80 +52A0 +56E0 +ENDCHAR +STARTCHAR U_3D31 +ENCODING 15665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +14A0 +8840 +5120 +5FE0 +2920 +2540 +C280 +4440 +5820 +ENDCHAR +STARTCHAR U_3D32 +ENCODING 15666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +3D00 +17E0 +9520 +57C0 +1500 +34C0 +3400 +D5C0 +5540 +6A60 +ENDCHAR +STARTCHAR U_3D33 +ENCODING 15667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +2920 +0BE0 +9D40 +4960 +0940 +2960 +2940 +CD60 +52C0 +4D60 +ENDCHAR +STARTCHAR U_3D34 +ENCODING 15668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2AA0 +0CC0 +8940 +4A20 +1FE0 +2880 +4AA0 +CD40 +4A20 +4FE0 +ENDCHAR +STARTCHAR U_3D35 +ENCODING 15669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2540 +14A0 +9520 +4640 +1BC0 +2000 +2FE0 +CAA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_3D36 +ENCODING 15670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +0A20 +8480 +4FE0 +1480 +27C0 +A480 +47C0 +4480 +47E0 +ENDCHAR +STARTCHAR U_3D37 +ENCODING 15671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +3E80 +1480 +9FE0 +54A0 +1C80 +3540 +3540 +DD40 +4540 +4660 +ENDCHAR +STARTCHAR U_3D38 +ENCODING 15672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +0EE0 +8AA0 +4EE0 +1920 +2920 +2AA0 +CC60 +4820 +4860 +ENDCHAR +STARTCHAR U_3D39 +ENCODING 15673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +22A0 +09C0 +8480 +43E0 +1C80 +25C0 +26A0 +C480 +4680 +59E0 +ENDCHAR +STARTCHAR U_3D3A +ENCODING 15674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +2900 +0FE0 +A100 +5540 +0540 +2BA0 +A900 +5280 +5440 +5820 +ENDCHAR +STARTCHAR U_3D3B +ENCODING 15675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +3E40 +0040 +9FE0 +5240 +1340 +3EC0 +3240 +CC40 +5E40 +40C0 +ENDCHAR +STARTCHAR U_3D3C +ENCODING 15676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3FE0 +1020 +87C0 +4900 +1BC0 +2A40 +2BC0 +CA40 +4A40 +4BC0 +ENDCHAR +STARTCHAR U_3D3D +ENCODING 15677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2F40 +0580 +9FE0 +4540 +1920 +2200 +2540 +CC20 +5440 +53C0 +ENDCHAR +STARTCHAR U_3D3E +ENCODING 15678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2E80 +0480 +9FE0 +5120 +0EA0 +24A0 +2740 +DC40 +44A0 +4D20 +ENDCHAR +STARTCHAR U_3D3F +ENCODING 15679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +3D00 +0BC0 +8A40 +4BC0 +0A40 +2BC0 +2A40 +CBC0 +5A40 +4420 +ENDCHAR +STARTCHAR U_3D40 +ENCODING 15680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2480 +00E0 +9F00 +48E0 +0F40 +2A40 +2BE0 +CA40 +52C0 +5720 +ENDCHAR +STARTCHAR U_3D41 +ENCODING 15681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +2480 +8100 +4FE0 +0440 +2FE0 +2540 +C540 +4540 +4960 +ENDCHAR +STARTCHAR U_3D42 +ENCODING 15682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2A40 +8A40 +4FE0 +0A40 +2A40 +2BC0 +C800 +5540 +5AA0 +ENDCHAR +STARTCHAR U_3D43 +ENCODING 15683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +2880 +0BE0 +BE20 +6A80 +2AA0 +3EC0 +2880 +CA80 +4EA0 +7AE0 +ENDCHAR +STARTCHAR U_3D44 +ENCODING 15684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +20A0 +3FE0 +8A80 +4E80 +00A0 +2EA0 +A440 +5F40 +4AE0 +5320 +ENDCHAR +STARTCHAR U_3D45 +ENCODING 15685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +2640 +1920 +87C0 +4080 +17C0 +2440 +27C0 +C440 +47C0 +4820 +ENDCHAR +STARTCHAR U_3D46 +ENCODING 15686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +3D40 +15E0 +9640 +5440 +1FE0 +3400 +35E0 +D520 +5D20 +41E0 +ENDCHAR +STARTCHAR U_3D47 +ENCODING 15687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +46A0 +2CA0 +04A0 +8FE0 +44A0 +04A0 +2EE0 +2AA0 +CAA0 +4EA0 +4AE0 +ENDCHAR +STARTCHAR U_3D48 +ENCODING 15688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +2A40 +0240 +AFE0 +5540 +0540 +2DE0 +AAA0 +52A0 +55A0 +58E0 +ENDCHAR +STARTCHAR U_3D49 +ENCODING 15689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +2A80 +0280 +A7E0 +5280 +06C0 +2BC0 +2AA0 +D280 +5280 +5280 +ENDCHAR +STARTCHAR U_3D4A +ENCODING 15690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +8440 +5FE0 +0A00 +2FE0 +2AA0 +CEA0 +5A40 +43A0 +ENDCHAR +STARTCHAR U_3D4B +ENCODING 15691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +2FE0 +8440 +47C0 +5440 +27C0 +2440 +C7C0 +4440 +4820 +ENDCHAR +STARTCHAR U_3D4C +ENCODING 15692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +2A40 +13E0 +8640 +5AE0 +0AA0 +2AE0 +AAA0 +4AE0 +4AA0 +4CE0 +ENDCHAR +STARTCHAR U_3D4D +ENCODING 15693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +2EE0 +8AA0 +4EE0 +1920 +2920 +2A60 +CEA0 +49A0 +4860 +ENDCHAR +STARTCHAR U_3D4E +ENCODING 15694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +2EE0 +8AA0 +4EE0 +4BA0 +2AA0 +2BA0 +CAA0 +4BA0 +4CE0 +ENDCHAR +STARTCHAR U_3D4F +ENCODING 15695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +2480 +8100 +4FE0 +1440 +2AA0 +2100 +CFE0 +4100 +4100 +ENDCHAR +STARTCHAR U_3D50 +ENCODING 15696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +3A00 +1480 +9FE0 +5560 +1540 +3F40 +3440 +D440 +54A0 +6920 +ENDCHAR +STARTCHAR U_3D51 +ENCODING 15697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +3EE0 +0AA0 +8AE0 +5200 +07C0 +2440 +A7C0 +4440 +47C0 +5820 +ENDCHAR +STARTCHAR U_3D52 +ENCODING 15698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +22A0 +8FE0 +4A80 +4FE0 +24A0 +2FC0 +C540 +47C0 +5820 +ENDCHAR +STARTCHAR U_3D53 +ENCODING 15699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +1020 +8780 +4580 +0680 +3FE0 +A200 +4BC0 +4E00 +51E0 +ENDCHAR +STARTCHAR U_3D54 +ENCODING 15700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0280 +8D60 +47C0 +0140 +2FE0 +2640 +DBC0 +4240 +43C0 +ENDCHAR +STARTCHAR U_3D55 +ENCODING 15701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FC0 +0900 +9240 +5FE0 +0300 +2480 +3A60 +CB40 +52A0 +4600 +ENDCHAR +STARTCHAR U_3D56 +ENCODING 15702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +3EE0 +0AA0 +92E0 +4480 +0FC0 +2440 +3FE0 +C540 +5920 +4300 +ENDCHAR +STARTCHAR U_3D57 +ENCODING 15703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +67E0 +1480 +07C0 +1480 +E7E0 +4AA0 +0AE0 +0440 +F680 +2580 +CC60 +ENDCHAR +STARTCHAR U_3D58 +ENCODING 15704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +EF20 +73C0 +AD40 +6320 +0000 +2120 +EFC0 +7340 +AD20 +6300 +ENDCHAR +STARTCHAR U_3D59 +ENCODING 15705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +87C0 +4440 +17C0 +2280 +2FE0 +C440 +47C0 +4440 +ENDCHAR +STARTCHAR U_3D5A +ENCODING 15706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2AA0 +0380 +8C60 +4380 +0440 +2BA0 +A100 +47C0 +4540 +4FE0 +ENDCHAR +STARTCHAR U_3D5B +ENCODING 15707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +0100 +87C0 +4100 +1FE0 +2540 +2FE0 +C440 +47C0 +4440 +ENDCHAR +STARTCHAR U_3D5C +ENCODING 15708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +2FE0 +0200 +A7E0 +5420 +0560 +25E0 +2CA0 +D7E0 +54A0 +5460 +ENDCHAR +STARTCHAR U_3D5D +ENCODING 15709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3FE0 +0520 +8CC0 +5640 +1420 +2FE0 +AAA0 +4EE0 +4BA0 +4860 +ENDCHAR +STARTCHAR U_3D5E +ENCODING 15710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E80 +2480 +1EA0 +85C0 +4E80 +1540 +2620 +A140 +4520 +5440 +53C0 +ENDCHAR +STARTCHAR U_3D5F +ENCODING 15711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9480 +7580 +5FE0 +10A0 +AEA0 +61A0 +2E40 +6A40 +AA40 +B3A0 +A120 +ENDCHAR +STARTCHAR U_3D60 +ENCODING 15712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +14A0 +8840 +4FC0 +1840 +2FC0 +CD40 +57C0 +5920 +2FE0 +ENDCHAR +STARTCHAR U_3D61 +ENCODING 15713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2200 +1FE0 +9AA0 +4780 +0A40 +27C0 +AD40 +5740 +44A0 +43E0 +ENDCHAR +STARTCHAR U_3D62 +ENCODING 15714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +0FE0 +9560 +4380 +0540 +27C0 +2540 +C7C0 +4540 +47C0 +ENDCHAR +STARTCHAR U_3D63 +ENCODING 15715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +3280 +1E80 +93E0 +5EA0 +1080 +3E80 +2A80 +F680 +5B40 +4420 +ENDCHAR +STARTCHAR U_3D64 +ENCODING 15716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +0660 +8AA0 +4100 +1FE0 +2540 +2BA0 +C100 +4280 +4C60 +ENDCHAR +STARTCHAR U_3D65 +ENCODING 15717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3FE0 +14A0 +86C0 +5520 +1640 +3BC0 +2000 +CFE0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_3D66 +ENCODING 15718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +37E0 +0940 +8BE0 +4520 +1DE0 +2920 +A9E0 +4920 +4E00 +51E0 +ENDCHAR +STARTCHAR U_3D67 +ENCODING 15719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +0280 +87C0 +4540 +0640 +27E0 +2CA0 +D560 +47A0 +40C0 +ENDCHAR +STARTCHAR U_3D68 +ENCODING 15720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4FE0 +7A40 +47E0 +7880 +CFE0 +7880 +04C0 +7700 +1580 +EC60 +ENDCHAR +STARTCHAR U_3D69 +ENCODING 15721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +0480 +8A80 +5FE0 +0A80 +2FC0 +2100 +DFE0 +4540 +5920 +ENDCHAR +STARTCHAR U_3D6A +ENCODING 15722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +0100 +87C0 +4100 +0FE0 +2100 +2DE0 +C2A0 +4CC0 +4320 +ENDCHAR +STARTCHAR U_3D6B +ENCODING 15723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2080 +0FE0 +8140 +4FE0 +0240 +26C0 +27C0 +C540 +4640 +47C0 +ENDCHAR +STARTCHAR U_3D6C +ENCODING 15724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +3540 +1560 +9DA0 +56A0 +5520 +1EE0 +3400 +D5E0 +56A0 +6BE0 +ENDCHAR +STARTCHAR U_3D6D +ENCODING 15725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0140 +8FE0 +4640 +0BC0 +2240 +23C0 +C040 +4AA0 +4AA0 +ENDCHAR +STARTCHAR U_3D6E +ENCODING 15726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +0480 +8FC0 +54A0 +0780 +2100 +2FC0 +C940 +5FE0 +4100 +ENDCHAR +STARTCHAR U_3D6F +ENCODING 15727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +0FC0 +8A40 +4F40 +0940 +2F40 +2940 +CFC0 +5AA0 +6920 +ENDCHAR +STARTCHAR U_3D70 +ENCODING 15728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4CC0 +3440 +1FC0 +9440 +5FC0 +1140 +1540 +3FE0 +C880 +5040 +6020 +ENDCHAR +STARTCHAR U_3D71 +ENCODING 15729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F40 +2A40 +1F40 +95E0 +5F40 +0140 +2EC0 +2040 +DF40 +4E40 +55C0 +ENDCHAR +STARTCHAR U_3D72 +ENCODING 15730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +3FE0 +0AA0 +9FE0 +4AA0 +1FE0 +2840 +2FE0 +D540 +47E0 +5840 +ENDCHAR +STARTCHAR U_3D73 +ENCODING 15731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2B60 +86C0 +4B40 +5DE0 +2680 +A100 +4640 +4180 +4E00 +ENDCHAR +STARTCHAR U_3D74 +ENCODING 15732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +20A0 +2FE0 +8880 +7F80 +4AA0 +3FA0 +2940 +AF40 +5AE0 +5720 +ENDCHAR +STARTCHAR U_3D75 +ENCODING 15733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F00 +2AE0 +0EA0 +8A40 +5EA0 +03A0 +2D00 +A360 +4D80 +4340 +4D20 +ENDCHAR +STARTCHAR U_3D76 +ENCODING 15734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44C0 +2EA0 +0480 +9FE0 +4A80 +1F80 +2AA0 +AFA0 +4AC0 +4FE0 +4320 +ENDCHAR +STARTCHAR U_3D77 +ENCODING 15735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2440 +F3E0 +9120 +68C0 +F5E0 +2240 +F3E0 +2C40 +4440 +8440 +ENDCHAR +STARTCHAR U_3D78 +ENCODING 15736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +0440 +9BA0 +4000 +07C0 +2540 +AFE0 +4AA0 +4FE0 +4AA0 +ENDCHAR +STARTCHAR U_3D79 +ENCODING 15737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +2BE0 +0940 +8BE0 +6A60 +2AA0 +2BE0 +BE80 +63E0 +4140 +4620 +ENDCHAR +STARTCHAR U_3D7A +ENCODING 15738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +3540 +2200 +8FC0 +4940 +4FC0 +2940 +AFC0 +4500 +5FE0 +4100 +ENDCHAR +STARTCHAR U_3D7B +ENCODING 15739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +B980 +6AE0 +2AA0 +3BE0 +AAA0 +6BE0 +3880 +6BE0 +A920 +A8C0 +DF20 +ENDCHAR +STARTCHAR U_3D7C +ENCODING 15740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +0440 +86C0 +4440 +07C0 +2400 +2FE0 +D2A0 +4AA0 +4840 +ENDCHAR +STARTCHAR U_3D7D +ENCODING 15741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +07C0 +8540 +47C0 +0000 +2FE0 +2AA0 +CFE0 +4AA0 +4FE0 +ENDCHAR +STARTCHAR U_3D7E +ENCODING 15742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +3EA0 +04E0 +8EA0 +44E0 +1FA0 +2AA0 +2EE0 +CA40 +4EC0 +4B60 +ENDCHAR +STARTCHAR U_3D7F +ENCODING 15743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27C0 +0540 +8640 +47C0 +0440 +2EE0 +2AA0 +CEE0 +4AA0 +4EE0 +ENDCHAR +STARTCHAR U_3D80 +ENCODING 15744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +35A0 +1760 +95A0 +5E60 +1480 +1F40 +34A0 +D740 +5480 +6F00 +ENDCHAR +STARTCHAR U_3D81 +ENCODING 15745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +46E0 +3880 +2BE0 +9D40 +45E0 +1F40 +2560 +B500 +4DE0 +46A0 +4D20 +ENDCHAR +STARTCHAR U_3D82 +ENCODING 15746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5140 +2FE0 +0140 +A7E0 +5080 +03E0 +2AA0 +ABE0 +52A0 +53E0 +5420 +ENDCHAR +STARTCHAR U_3D83 +ENCODING 15747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5400 +2C00 +07E0 +AD40 +5540 +0FE0 +2540 +AFE0 +5000 +56A0 +5AA0 +ENDCHAR +STARTCHAR U_3D84 +ENCODING 15748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +3520 +1DE0 +9520 +5FE0 +12A0 +1DA0 +36A0 +D4A0 +57A0 +5060 +ENDCHAR +STARTCHAR U_3D85 +ENCODING 15749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4CC0 +2AC0 +0D40 +8AC0 +5FE0 +1020 +2780 +2100 +CFC0 +4100 +4300 +ENDCHAR +STARTCHAR U_3D86 +ENCODING 15750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +3DE0 +00A0 +9CC0 +43E0 +1C80 +21E0 +3F20 +D5E0 +5520 +5DE0 +ENDCHAR +STARTCHAR U_3D87 +ENCODING 15751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +2BE0 +0940 +BFE0 +4880 +1BE0 +1EA0 +2BE0 +CAA0 +4BE0 +4C20 +ENDCHAR +STARTCHAR U_3D88 +ENCODING 15752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2BA0 +06C0 +8540 +4FE0 +0920 +27C0 +2540 +C7C0 +4120 +4FE0 +ENDCHAR +STARTCHAR U_3D89 +ENCODING 15753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4680 +3BC0 +1540 +8BC0 +5D40 +0BC0 +3F00 +29E0 +DE20 +4DA0 +5240 +ENDCHAR +STARTCHAR U_3D8A +ENCODING 15754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +3E40 +14E0 +94A0 +5EE0 +12A0 +1EE0 +34A0 +D4E0 +5EA0 +4120 +ENDCHAR +STARTCHAR U_3D8B +ENCODING 15755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A00 +3B40 +0AC0 +BFE0 +4A40 +36E0 +0D40 +B540 +4DE0 +5480 +4860 +ENDCHAR +STARTCHAR U_3D8C +ENCODING 15756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5D40 +3680 +17E0 +9D40 +56A0 +1FE0 +1540 +3560 +DF60 +4540 +4640 +ENDCHAR +STARTCHAR U_3D8D +ENCODING 15757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48A0 +2EA0 +0A40 +9FE0 +5540 +5FE0 +1540 +3FE0 +C040 +5540 +5540 +ENDCHAR +STARTCHAR U_3D8E +ENCODING 15758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +32A0 +0BE0 +8800 +47E0 +3A20 +0BE0 +2AA0 +CF40 +5A20 +67E0 +ENDCHAR +STARTCHAR U_3D8F +ENCODING 15759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +36A0 +17E0 +9880 +55E0 +1420 +17E0 +3820 +D3E0 +56A0 +59E0 +ENDCHAR +STARTCHAR U_3D90 +ENCODING 15760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +9FE0 +5540 +15E0 +9F40 +55E0 +1540 +55E0 +9200 +AD40 +2BA0 +ENDCHAR +STARTCHAR U_3D91 +ENCODING 15761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2A80 +31E0 +8F20 +4040 +5F40 +1540 +BF40 +4A40 +4AA0 +5520 +ENDCHAR +STARTCHAR U_3D92 +ENCODING 15762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +32A0 +1EE0 +92A0 +5FE0 +1520 +37A0 +B520 +57A0 +52A0 +5560 +ENDCHAR +STARTCHAR U_3D93 +ENCODING 15763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3FE0 +04A0 +AFE0 +6A80 +3FA0 +0960 +BF40 +6A40 +57A0 +5120 +ENDCHAR +STARTCHAR U_3D94 +ENCODING 15764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +3540 +1FC0 +8000 +7FE0 +2AA0 +3FE0 +A200 +5FE0 +4480 +7860 +ENDCHAR +STARTCHAR U_3D95 +ENCODING 15765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2EE0 +1540 +9EE0 +52A0 +1FE0 +34A0 +B7A0 +54A0 +57A0 +5060 +ENDCHAR +STARTCHAR U_3D96 +ENCODING 15766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +29E0 +1320 +B4C0 +5520 +17E0 +12A0 +B3E0 +5080 +57E0 +52A0 +ENDCHAR +STARTCHAR U_3D97 +ENCODING 15767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D40 +A7E0 +7D40 +57E0 +7DC0 +0AA0 +3F80 +2480 +7FC0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_3D98 +ENCODING 15768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2EE0 +1540 +8FE0 +4280 +0FE0 +2AA0 +AFE0 +4540 +4FE0 +4100 +ENDCHAR +STARTCHAR U_3D99 +ENCODING 15769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AA00 +5B40 +0AC0 +1FE0 +A440 +5BE0 +0640 +BBE0 +5600 +5B00 +54E0 +ENDCHAR +STARTCHAR U_3D9A +ENCODING 15770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2500 +1FE0 +9520 +5FE0 +0AA0 +3FE0 +AAA0 +55E0 +5EA0 +4560 +ENDCHAR +STARTCHAR U_3D9B +ENCODING 15771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +4BE0 +3C00 +9360 +55A0 +1F60 +14A0 +B7E0 +5540 +5A20 +6420 +ENDCHAR +STARTCHAR U_3D9C +ENCODING 15772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BFA0 +64A0 +3FA0 +B2A0 +7FA0 +2AA0 +2AA0 +BFA0 +6AA0 +4A20 +5460 +ENDCHAR +STARTCHAR U_3D9D +ENCODING 15773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +2FE0 +0A80 +AFE0 +5A80 +0BE0 +0A80 +AFE0 +5520 +5460 +5BC0 +ENDCHAR +STARTCHAR U_3D9E +ENCODING 15774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2940 +1FE0 +8AA0 +4EE0 +4480 +2FC0 +A480 +5FE0 +4C80 +5660 +ENDCHAR +STARTCHAR U_3D9F +ENCODING 15775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +0FE0 +8AA0 +4FE0 +1AA0 +2FE0 +A280 +47C0 +4920 +4300 +ENDCHAR +STARTCHAR U_3DA0 +ENCODING 15776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +3560 +1FE0 +9440 +5EE0 +1440 +3FE0 +D6A0 +6BE0 +4240 +0C40 +ENDCHAR +STARTCHAR U_3DA1 +ENCODING 15777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +2480 +2480 +2D80 +3680 +2480 +2A80 +51A0 +4060 +8020 +ENDCHAR +STARTCHAR U_3DA2 +ENCODING 15778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +0A00 +1100 +E8E0 +0800 +7F00 +0900 +1100 +2120 +C0E0 +ENDCHAR +STARTCHAR U_3DA3 +ENCODING 15779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +0400 +FFE0 +0400 +0400 +2480 +1500 +0A00 +1180 +E060 +ENDCHAR +STARTCHAR U_3DA4 +ENCODING 15780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +A9E0 +AA20 +B320 +24C0 +2040 +5080 +4900 +8200 +0C00 +ENDCHAR +STARTCHAR U_3DA5 +ENCODING 15781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2100 +A900 +B100 +2FE0 +2100 +5100 +4900 +8100 +0100 +ENDCHAR +STARTCHAR U_3DA6 +ENCODING 15782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +A980 +A880 +B7E0 +20A0 +2080 +3080 +4880 +8080 +0180 +ENDCHAR +STARTCHAR U_3DA7 +ENCODING 15783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27E0 +AD20 +B520 +A520 +26A0 +5460 +4C20 +8420 +0460 +ENDCHAR +STARTCHAR U_3DA8 +ENCODING 15784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +7FC0 +0400 +0D00 +1480 +E460 +0400 +0400 +5240 +4920 +8920 +ENDCHAR +STARTCHAR U_3DA9 +ENCODING 15785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27E0 +AD20 +B100 +2100 +2100 +5280 +4A80 +84A0 +18E0 +ENDCHAR +STARTCHAR U_3DAA +ENCODING 15786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0C00 +3580 +C460 +0400 +0400 +2480 +2500 +4A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3DAB +ENCODING 15787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +4480 +2F00 +30C0 +C020 +2480 +2480 +2B00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3DAC +ENCODING 15788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27E0 +A900 +A900 +37C0 +2100 +5380 +4D40 +8920 +0100 +ENDCHAR +STARTCHAR U_3DAD +ENCODING 15789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2480 +2480 +A9E0 +BAA0 +26A0 +28A0 +5AA0 +4EA0 +8120 +0660 +ENDCHAR +STARTCHAR U_3DAE +ENCODING 15790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +7FC0 +4440 +4A40 +5140 +0400 +2440 +2A80 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3DAF +ENCODING 15791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2600 +28E0 +2AA0 +AAA0 +BAA0 +AAA0 +2AA0 +2EE0 +5A80 +8A80 +0480 +ENDCHAR +STARTCHAR U_3DB0 +ENCODING 15792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +1240 +1240 +57E0 +5A40 +9240 +13C0 +2A40 +2A40 +4240 +83C0 +ENDCHAR +STARTCHAR U_3DB1 +ENCODING 15793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2900 +2900 +B7E0 +A100 +2100 +2380 +3540 +4BA0 +4100 +8100 +ENDCHAR +STARTCHAR U_3DB2 +ENCODING 15794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +2D20 +B7E0 +A520 +A7E0 +2520 +2520 +5520 +8D20 +8460 +ENDCHAR +STARTCHAR U_3DB3 +ENCODING 15795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0480 +FFE0 +0480 +3F80 +0400 +FFE0 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_3DB4 +ENCODING 15796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +21E0 +AF20 +A8C0 +B180 +2600 +21E0 +5320 +48C0 +8180 +0E00 +ENDCHAR +STARTCHAR U_3DB5 +ENCODING 15797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +2700 +6100 +A100 +2FE0 +2100 +2100 +27C0 +0000 +4920 +8920 +ENDCHAR +STARTCHAR U_3DB6 +ENCODING 15798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2FE0 +AA20 +B200 +A520 +2D40 +2480 +5480 +8D40 +0620 +ENDCHAR +STARTCHAR U_3DB7 +ENCODING 15799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +27E0 +A820 +B7A0 +A4A0 +27A0 +54A0 +4FA0 +8020 +00C0 +ENDCHAR +STARTCHAR U_3DB8 +ENCODING 15800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +2240 +AA40 +B240 +24C0 +2880 +5FE0 +4AA0 +8AA0 +1760 +ENDCHAR +STARTCHAR U_3DB9 +ENCODING 15801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2100 +6900 +BFE0 +2100 +2F20 +23C0 +5540 +9920 +0300 +ENDCHAR +STARTCHAR U_3DBA +ENCODING 15802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +2100 +AFE0 +AA40 +A420 +2BE0 +5240 +4A40 +83C0 +0240 +ENDCHAR +STARTCHAR U_3DBB +ENCODING 15803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +3100 +1F00 +E4E0 +3F80 +0400 +1F00 +0400 +7FC0 +9520 +9120 +ENDCHAR +STARTCHAR U_3DBC +ENCODING 15804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2440 +AFC0 +B400 +A7C0 +2900 +2100 +5FE0 +4A80 +8440 +0820 +ENDCHAR +STARTCHAR U_3DBD +ENCODING 15805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +AC40 +B7C0 +A100 +2FE0 +2920 +5AA0 +4C60 +8820 +0860 +ENDCHAR +STARTCHAR U_3DBE +ENCODING 15806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +0000 +FFE0 +2480 +1500 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_3DBF +ENCODING 15807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +AFE0 +B820 +A7C0 +2080 +57E0 +4900 +8100 +0300 +ENDCHAR +STARTCHAR U_3DC0 +ENCODING 15808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5540 +3B80 +2A80 +4440 +7F80 +0880 +FF80 +0880 +08A0 +0860 +ENDCHAR +STARTCHAR U_3DC1 +ENCODING 15809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +2180 +AFE0 +B520 +A7E0 +2520 +57E0 +4D20 +8520 +0560 +ENDCHAR +STARTCHAR U_3DC2 +ENCODING 15810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F800 +A3E0 +F920 +8940 +F880 +A140 +FE20 +2480 +1500 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_3DC3 +ENCODING 15811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +1B00 +E0E0 +1F80 +1000 +1F80 +1000 +FFE0 +1280 +19C0 +ENDCHAR +STARTCHAR U_3DC4 +ENCODING 15812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +A7C0 +AD40 +B7C0 +2100 +2FE0 +5380 +4D40 +8920 +0100 +ENDCHAR +STARTCHAR U_3DC5 +ENCODING 15813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC00 +5BC0 +6A40 +5980 +6980 +FE60 +0800 +2480 +1B00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3DC6 +ENCODING 15814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2440 +AFC0 +B400 +A7E0 +2420 +57E0 +4100 +8FE0 +0100 +ENDCHAR +STARTCHAR U_3DC7 +ENCODING 15815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7A00 +CFE0 +3200 +2280 +E2A0 +3BC0 +CA80 +3480 +2540 +CA20 +ENDCHAR +STARTCHAR U_3DC8 +ENCODING 15816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2440 +A920 +B7C0 +A540 +27C0 +5540 +4FC0 +8120 +00E0 +ENDCHAR +STARTCHAR U_3DC9 +ENCODING 15817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +4440 +7C40 +43E0 +5C40 +4140 +7EC0 +6A40 +5C40 +9440 +E2C0 +ENDCHAR +STARTCHAR U_3DCA +ENCODING 15818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +FFE0 +1100 +3B80 +5540 +9920 +1100 +1240 +8920 +8920 +ENDCHAR +STARTCHAR U_3DCB +ENCODING 15819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +22A0 +21C0 +A940 +AA20 +B480 +2480 +52A0 +49C0 +8240 +0C20 +ENDCHAR +STARTCHAR U_3DCC +ENCODING 15820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +ABC0 +B040 +2FE0 +2920 +27C0 +5540 +4D40 +85C0 +0100 +ENDCHAR +STARTCHAR U_3DCD +ENCODING 15821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2440 +AFE0 +B000 +AFE0 +2AA0 +2FE0 +5AA0 +8AA0 +0860 +ENDCHAR +STARTCHAR U_3DCE +ENCODING 15822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +AC40 +B7C0 +A200 +27E0 +5920 +4AA0 +87E0 +0040 +ENDCHAR +STARTCHAR U_3DCF +ENCODING 15823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +13C0 +FC80 +37E0 +5880 +9480 +0000 +2480 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_3DD0 +ENCODING 15824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2C60 +2820 +BEE0 +6820 +2FE0 +2100 +2FE0 +5100 +4100 +8FE0 +ENDCHAR +STARTCHAR U_3DD1 +ENCODING 15825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +4A80 +3F80 +CA60 +7FC0 +4A40 +7FC0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3DD2 +ENCODING 15826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +27C0 +AD40 +B7C0 +A100 +2FE0 +5960 +49E0 +8F20 +0860 +ENDCHAR +STARTCHAR U_3DD3 +ENCODING 15827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +27E0 +AAA0 +AFA0 +B2E0 +2540 +5120 +4AA0 +8A20 +09E0 +ENDCHAR +STARTCHAR U_3DD4 +ENCODING 15828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2720 +AD20 +AAC0 +B000 +25E0 +2520 +55E0 +4D20 +8520 +05E0 +ENDCHAR +STARTCHAR U_3DD5 +ENCODING 15829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2880 +FEA0 +29C0 +FE80 +AA80 +CE80 +8280 +FF40 +8340 +FE20 +ENDCHAR +STARTCHAR U_3DD6 +ENCODING 15830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8920 +F920 +8A20 +FC40 +2000 +ABE0 +B220 +5220 +4BE0 +8220 +ENDCHAR +STARTCHAR U_3DD7 +ENCODING 15831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +5520 +5D20 +51E0 +5D00 +5520 +9DE0 +2440 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_3DD8 +ENCODING 15832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +2000 +AFE0 +B420 +A7E0 +2100 +57E0 +4B80 +8540 +0920 +ENDCHAR +STARTCHAR U_3DD9 +ENCODING 15833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +AFE0 +B000 +AE20 +2AA0 +2EA0 +5AA0 +4EA0 +8A20 +0A60 +ENDCHAR +STARTCHAR U_3DDA +ENCODING 15834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +2000 +ABC0 +B240 +A7E0 +2420 +53C0 +4880 +8080 +0180 +ENDCHAR +STARTCHAR U_3DDB +ENCODING 15835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +2440 +27C0 +6100 +AFE0 +2380 +2540 +2920 +0000 +4A40 +8920 +ENDCHAR +STARTCHAR U_3DDC +ENCODING 15836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +AAC0 +B2A0 +A580 +2100 +57E0 +4980 +8240 +0C20 +ENDCHAR +STARTCHAR U_3DDD +ENCODING 15837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2AA0 +B440 +6920 +2140 +2120 +2FE0 +5280 +4440 +9820 +ENDCHAR +STARTCHAR U_3DDE +ENCODING 15838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +25C0 +AD40 +B5C0 +A540 +25C0 +5440 +4FE0 +8480 +0980 +ENDCHAR +STARTCHAR U_3DDF +ENCODING 15839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2900 +25E0 +B120 +6DE0 +2500 +29E0 +2520 +25E0 +5600 +89E0 +ENDCHAR +STARTCHAR U_3DE0 +ENCODING 15840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1F00 +1100 +64C0 +1F00 +F0E0 +2080 +3BC0 +EA80 +13E0 +E080 +ENDCHAR +STARTCHAR U_3DE1 +ENCODING 15841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9400 +F7C0 +9440 +F7C0 +9400 +F7E0 +4440 +2E80 +3180 +C060 +ENDCHAR +STARTCHAR U_3DE2 +ENCODING 15842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFE0 +0800 +3F80 +1000 +FFE0 +4400 +BFC0 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_3DE3 +ENCODING 15843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +A100 +B7C0 +A100 +2FE0 +2500 +5FC0 +5100 +8FE0 +0100 +ENDCHAR +STARTCHAR U_3DE4 +ENCODING 15844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2240 +FC20 +8BC0 +7240 +2240 +A980 +7180 +5240 +8C20 +ENDCHAR +STARTCHAR U_3DE5 +ENCODING 15845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AFE0 +A840 +7080 +50A0 +8FC0 +0180 +AAC0 +AAA0 +74A0 +5880 +8FE0 +ENDCHAR +STARTCHAR U_3DE6 +ENCODING 15846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +4CA0 +7AA0 +4AC0 +7880 +4940 +FA20 +0C20 +5240 +4920 +C920 +ENDCHAR +STARTCHAR U_3DE7 +ENCODING 15847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2900 +ABE0 +BA20 +ABE0 +2A20 +2BE0 +5880 +4AC0 +8CA0 +1180 +ENDCHAR +STARTCHAR U_3DE8 +ENCODING 15848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2FE0 +2440 +A380 +BD60 +A7C0 +2100 +27C0 +5100 +4FE0 +8100 +ENDCHAR +STARTCHAR U_3DE9 +ENCODING 15849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +5420 +5EE0 +5280 +5E80 +54A0 +9EE0 +4440 +2E80 +3180 +C060 +ENDCHAR +STARTCHAR U_3DEA +ENCODING 15850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +AC80 +B7E0 +A480 +27E0 +2480 +27C0 +5260 +4A20 +8C60 +ENDCHAR +STARTCHAR U_3DEB +ENCODING 15851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2460 +FBC0 +AA40 +F980 +8660 +2480 +1500 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_3DEC +ENCODING 15852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2280 +AFC0 +B4C0 +A540 +27C0 +2100 +5FE0 +5280 +8C60 +ENDCHAR +STARTCHAR U_3DED +ENCODING 15853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2C40 +F380 +2D60 +27C0 +F100 +0FE0 +2480 +1B00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3DEE +ENCODING 15854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2280 +AFE0 +BAA0 +AFE0 +2AA0 +2FE0 +5540 +4E40 +87C0 +ENDCHAR +STARTCHAR U_3DEF +ENCODING 15855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7100 +57E0 +8A00 +27E0 +2540 +FBA0 +2100 +3FE0 +C100 +ENDCHAR +STARTCHAR U_3DF0 +ENCODING 15856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AAC0 +B940 +AFC0 +2100 +2FE0 +2A20 +5AA0 +4FA0 +88A0 +ENDCHAR +STARTCHAR U_3DF1 +ENCODING 15857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4880 +FBE0 +4880 +7FE0 +4900 +7A20 +4BE0 +0000 +4920 +8920 +ENDCHAR +STARTCHAR U_3DF2 +ENCODING 15858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +2280 +AF80 +B2E0 +AFA0 +2AA0 +2FA0 +2AA0 +5FA0 +42A0 +8F60 +ENDCHAR +STARTCHAR U_3DF3 +ENCODING 15859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4A80 +57E0 +7C80 +57C0 +5480 +57E0 +5240 +4A80 +8500 +38E0 +ENDCHAR +STARTCHAR U_3DF4 +ENCODING 15860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4CC0 +7B80 +4880 +7FE0 +5DC0 +6AA0 +4200 +9240 +8D80 +38E0 +ENDCHAR +STARTCHAR U_3DF5 +ENCODING 15861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +27C0 +AD40 +B7C0 +A100 +27C0 +5100 +4FE0 +8AA0 +0AA0 +ENDCHAR +STARTCHAR U_3DF6 +ENCODING 15862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +2FE0 +6480 +BFE0 +2540 +2FC0 +3540 +27C0 +2540 +4920 +8920 +ENDCHAR +STARTCHAR U_3DF7 +ENCODING 15863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2EE0 +A880 +BEE0 +A240 +2FE0 +3240 +4FE0 +8240 +0C20 +ENDCHAR +STARTCHAR U_3DF8 +ENCODING 15864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +2640 +AFE0 +B540 +AFE0 +2540 +5FE0 +5100 +8FE0 +0100 +ENDCHAR +STARTCHAR U_3DF9 +ENCODING 15865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2280 +A9C0 +B100 +A7C0 +2440 +57C0 +5440 +8FE0 +0100 +ENDCHAR +STARTCHAR U_3DFA +ENCODING 15866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +99E0 +8B40 +DD40 +8880 +FB60 +0400 +4440 +2A80 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3DFB +ENCODING 15867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +27E0 +AD40 +B540 +AFE0 +2540 +5FE0 +5000 +8AA0 +0AA0 +ENDCHAR +STARTCHAR U_3DFC +ENCODING 15868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +2E80 +EAE0 +2A80 +EEE0 +4440 +2A80 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3DFD +ENCODING 15869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2100 +AFC0 +B100 +AFE0 +2540 +5FE0 +5440 +87C0 +0440 +ENDCHAR +STARTCHAR U_3DFE +ENCODING 15870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +27E0 +AD40 +B580 +A760 +2580 +56A0 +4DC0 +8AA0 +0980 +ENDCHAR +STARTCHAR U_3DFF +ENCODING 15871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +AC40 +BBA0 +A000 +2EE0 +2AA0 +5EE0 +5440 +8AC0 +1120 +ENDCHAR +STARTCHAR U_3E00 +ENCODING 15872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +AFE0 +BAA0 +ABA0 +2860 +5100 +4FC0 +8100 +0FE0 +ENDCHAR +STARTCHAR U_3E01 +ENCODING 15873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26C0 +2280 +2FE0 +AA80 +B7E0 +A100 +27C0 +5100 +4FE0 +8540 +0920 +ENDCHAR +STARTCHAR U_3E02 +ENCODING 15874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +0240 +ED80 +2360 +3D00 +C7E0 +4440 +2A80 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3E03 +ENCODING 15875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +5480 +7CE0 +5480 +7C80 +11E0 +7D20 +1120 +FDE0 +5240 +8920 +ENDCHAR +STARTCHAR U_3E04 +ENCODING 15876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +AFE0 +B540 +A920 +2440 +57C0 +4C40 +87C0 +0840 +ENDCHAR +STARTCHAR U_3E05 +ENCODING 15877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2FE0 +AA40 +BEE0 +AAA0 +2EA0 +2AA0 +5EA0 +48E0 +8A80 +0E80 +ENDCHAR +STARTCHAR U_3E06 +ENCODING 15878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +27C0 +A900 +BFE0 +A440 +27C0 +2280 +5EE0 +5280 +8EE0 +0280 +ENDCHAR +STARTCHAR U_3E07 +ENCODING 15879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2EE0 +2440 +AFE0 +B440 +AAA0 +27C0 +5540 +4D40 +87C0 +0820 +ENDCHAR +STARTCHAR U_3E08 +ENCODING 15880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +FFE0 +5280 +7FE0 +5280 +7FE0 +4400 +2440 +4A80 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3E09 +ENCODING 15881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +BFA0 +6AC0 +3F80 +2480 +5F40 +8420 +2480 +1B00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3E0A +ENCODING 15882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +22E0 +2F40 +AAE0 +BFA0 +AAE0 +2FA0 +52E0 +57A0 +8AE0 +0320 +ENDCHAR +STARTCHAR U_3E0B +ENCODING 15883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +3FA0 +EAC0 +57E0 +21C0 +C6A0 +23E0 +AAA0 +73E0 +52A0 +8BE0 +ENDCHAR +STARTCHAR U_3E0C +ENCODING 15884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +2FE0 +AD60 +B380 +A500 +27E0 +5480 +4FC0 +8480 +07E0 +ENDCHAR +STARTCHAR U_3E0D +ENCODING 15885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2340 +2260 +2F40 +BAE0 +AF40 +AA40 +2F60 +5940 +4F40 +95A0 +1F20 +ENDCHAR +STARTCHAR U_3E0E +ENCODING 15886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2240 +ABC0 +B240 +AFE0 +2540 +27C0 +5540 +4FE0 +8140 +0140 +ENDCHAR +STARTCHAR U_3E0F +ENCODING 15887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4880 +7FE0 +5AC0 +6DA0 +4500 +7DE0 +5240 +8F80 +B8E0 +ENDCHAR +STARTCHAR U_3E10 +ENCODING 15888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +FD40 +2BE0 +7D40 +55E0 +7D40 +11E0 +FD40 +49E0 +5240 +8920 +ENDCHAR +STARTCHAR U_3E11 +ENCODING 15889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +5140 +7FC0 +5540 +FFE0 +9120 +7FC0 +3B80 +5540 +3B80 +E0E0 +ENDCHAR +STARTCHAR U_3E12 +ENCODING 15890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +7880 +2480 +1500 +03C0 +3C00 +0400 +FFE0 +0400 +0400 +3FC0 +ENDCHAR +STARTCHAR U_3E13 +ENCODING 15891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0F80 +F100 +8900 +4A00 +0000 +FF80 +8080 +FF80 +8080 +FF80 +8080 +ENDCHAR +STARTCHAR U_3E14 +ENCODING 15892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C80 +2500 +FFE0 +0800 +1F80 +3480 +D980 +1280 +1480 +1F80 +ENDCHAR +STARTCHAR U_3E15 +ENCODING 15893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D40 +77E0 +5540 +55E0 +5540 +57E0 +5540 +5480 +5760 +9200 +91E0 +ENDCHAR +STARTCHAR U_3E16 +ENCODING 15894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +4BC0 +4640 +8640 +4BC0 +4A40 +33C0 +3240 +3240 +4A40 +87E0 +ENDCHAR +STARTCHAR U_3E17 +ENCODING 15895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1B00 +71C0 +0E00 +1B00 +E0E0 +3F80 +2080 +3F80 +2A80 +2E80 +2180 +ENDCHAR +STARTCHAR U_3E18 +ENCODING 15896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1B00 +71C0 +0E00 +1100 +E0E0 +3F80 +2A80 +FFE0 +0400 +0400 +0C00 +ENDCHAR +STARTCHAR U_3E19 +ENCODING 15897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1B00 +71C0 +0E00 +1100 +E4E0 +1F80 +0500 +FFE0 +1980 +6A80 +0F80 +ENDCHAR +STARTCHAR U_3E1A +ENCODING 15898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +CB20 +30C0 +30C0 +4920 +8A20 +0000 +CA20 +3140 +3080 +4940 +8E20 +ENDCHAR +STARTCHAR U_3E1B +ENCODING 15899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +4BE0 +4920 +7920 +0A20 +FC40 +4BE0 +4A20 +4A20 +8BE0 +0A20 +ENDCHAR +STARTCHAR U_3E1C +ENCODING 15900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5080 +57E0 +55A0 +7240 +1420 +F3C0 +5080 +5080 +9080 +97E0 +ENDCHAR +STARTCHAR U_3E1D +ENCODING 15901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5100 +5100 +53E0 +7CA0 +4080 +7880 +4880 +4940 +8A20 +8C20 +ENDCHAR +STARTCHAR U_3E1E +ENCODING 15902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5280 +5280 +5280 +7FE0 +4200 +7BC0 +4A40 +4A40 +8A40 +8C40 +ENDCHAR +STARTCHAR U_3E1F +ENCODING 15903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5260 +5380 +5220 +7DE0 +4000 +7BE0 +4A20 +4BE0 +8A20 +8BE0 +ENDCHAR +STARTCHAR U_3E20 +ENCODING 15904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +5280 +5AA0 +76C0 +4280 +46C0 +7AA0 +5280 +5280 +54A0 +9860 +ENDCHAR +STARTCHAR U_3E21 +ENCODING 15905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5500 +57C0 +5500 +7900 +47E0 +7100 +5380 +5540 +9920 +9100 +ENDCHAR +STARTCHAR U_3E22 +ENCODING 15906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +53E0 +5140 +7BE0 +4100 +43E0 +7EA0 +4BE0 +4AA0 +8BE0 +82A0 +ENDCHAR +STARTCHAR U_3E23 +ENCODING 15907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1360 +5140 +57E0 +5140 +7BE0 +4080 +7BC0 +4880 +4FE0 +49C0 +86A0 +ENDCHAR +STARTCHAR U_3E24 +ENCODING 15908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8280 +4A40 +EAE0 +AAA0 +4F40 +E8E0 +4E40 +EAE0 +4A40 +4A40 +9240 +ENDCHAR +STARTCHAR U_3E25 +ENCODING 15909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +5280 +57E0 +5220 +7BE0 +4280 +73E0 +56A0 +53E0 +5140 +96E0 +ENDCHAR +STARTCHAR U_3E26 +ENCODING 15910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +2400 +4400 +FFE0 +0400 +4400 +3400 +0E00 +05E0 +0400 +1C00 +ENDCHAR +STARTCHAR U_3E27 +ENCODING 15911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +1440 +57C0 +9440 +FC40 +37C0 +3520 +54C0 +9480 +1440 +3620 +ENDCHAR +STARTCHAR U_3E28 +ENCODING 15912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +5220 +5220 +7E20 +9220 +12E0 +1F20 +F020 +1020 +1020 +1020 +ENDCHAR +STARTCHAR U_3E29 +ENCODING 15913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +53E0 +5080 +7880 +9080 +1FE0 +F080 +1080 +1080 +1080 +1080 +ENDCHAR +STARTCHAR U_3E2A +ENCODING 15914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1220 +5220 +52A0 +7AA0 +92A0 +12A0 +3AA0 +D2A0 +12A0 +1420 +1820 +ENDCHAR +STARTCHAR U_3E2B +ENCODING 15915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +A400 +FC00 +A7E0 +2480 +3C80 +E480 +2480 +2880 +2880 +ENDCHAR +STARTCHAR U_3E2C +ENCODING 15916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AFE0 +F100 +A7C0 +2540 +3540 +E540 +25C0 +2100 +2100 +ENDCHAR +STARTCHAR U_3E2D +ENCODING 15917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +A540 +FD40 +A540 +27C0 +3C00 +E400 +2400 +2420 +23E0 +ENDCHAR +STARTCHAR U_3E2E +ENCODING 15918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +A240 +FC40 +A420 +23C0 +3940 +E140 +2140 +2240 +24C0 +ENDCHAR +STARTCHAR U_3E2F +ENCODING 15919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2480 +A280 +FC80 +A280 +20E0 +3F80 +E080 +2080 +2080 +2080 +ENDCHAR +STARTCHAR U_3E30 +ENCODING 15920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5080 +7BE0 +9420 +1200 +1A20 +7240 +9380 +1200 +1220 +13E0 +ENDCHAR +STARTCHAR U_3E31 +ENCODING 15921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5200 +53E0 +7E80 +92E0 +1FA0 +F2A0 +12E0 +1280 +1220 +11E0 +ENDCHAR +STARTCHAR U_3E32 +ENCODING 15922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +A7E0 +F900 +A1C0 +2100 +3900 +E1E0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_3E33 +ENCODING 15923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +A440 +FA20 +A100 +2000 +3FC0 +E040 +2280 +2100 +2100 +ENDCHAR +STARTCHAR U_3E34 +ENCODING 15924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +1000 +3F80 +D080 +1F80 +2400 +3F80 +4400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_3E35 +ENCODING 15925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +A7E0 +F880 +A080 +23E0 +3800 +E3E0 +2220 +2220 +23E0 +ENDCHAR +STARTCHAR U_3E36 +ENCODING 15926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +A420 +FD20 +A7E0 +2520 +3DA0 +E660 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_3E37 +ENCODING 15927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +2120 +7120 +2120 +FA40 +2400 +7FC0 +8400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_3E38 +ENCODING 15928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +A400 +FC00 +A7E0 +2400 +3DE0 +E520 +2520 +2520 +29E0 +ENDCHAR +STARTCHAR U_3E39 +ENCODING 15929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +A720 +FD20 +A2C0 +2040 +3FE0 +E240 +2140 +2140 +2040 +20C0 +ENDCHAR +STARTCHAR U_3E3A +ENCODING 15930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +9540 +4960 +2180 +CE00 +4400 +7FC0 +8400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_3E3B +ENCODING 15931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +A3E0 +FA00 +A3C0 +2480 +3880 +E7E0 +2080 +2140 +2620 +ENDCHAR +STARTCHAR U_3E3C +ENCODING 15932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2640 +A180 +FE60 +A080 +27E0 +3880 +E3C0 +2080 +27E0 +2080 +ENDCHAR +STARTCHAR U_3E3D +ENCODING 15933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +A440 +FFC0 +A440 +27C0 +3C40 +E440 +27C0 +2440 +2820 +ENDCHAR +STARTCHAR U_3E3E +ENCODING 15934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +A120 +FB20 +A520 +2220 +3CC0 +E200 +2140 +2520 +2C40 +2BC0 +ENDCHAR +STARTCHAR U_3E3F +ENCODING 15935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +A080 +FBC0 +A000 +3FE0 +E420 +23C0 +2240 +2240 +2460 +ENDCHAR +STARTCHAR U_3E40 +ENCODING 15936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +53E0 +7880 +93E0 +1420 +13C0 +1880 +37E0 +5080 +1280 +1180 +ENDCHAR +STARTCHAR U_3E41 +ENCODING 15937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +57E0 +7800 +D3C0 +1240 +1BC0 +3080 +51C0 +12A0 +1480 +1180 +ENDCHAR +STARTCHAR U_3E42 +ENCODING 15938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +9240 +E980 +9240 +FC20 +2400 +3F80 +4400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_3E43 +ENCODING 15939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +7BC0 +0A00 +7BC0 +0A00 +7BC0 +2400 +3FC0 +4400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_3E44 +ENCODING 15940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +A7C0 +FD40 +A7C0 +2820 +37C0 +E440 +2B80 +2280 +2C60 +ENDCHAR +STARTCHAR U_3E45 +ENCODING 15941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +A7E0 +FAA0 +AEA0 +23A0 +3D60 +E240 +2120 +2AA0 +2A40 +29C0 +ENDCHAR +STARTCHAR U_3E46 +ENCODING 15942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A920 +FFC0 +A100 +27C0 +3D40 +E7C0 +2540 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_3E47 +ENCODING 15943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +A7C0 +FC40 +A7C0 +3C00 +E7E0 +2D20 +26A0 +27A0 +20C0 +ENDCHAR +STARTCHAR U_3E48 +ENCODING 15944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +79E0 +1340 +FD40 +5880 +9760 +2400 +3FC0 +4400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_3E49 +ENCODING 15945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +A5E0 +FD20 +A5E0 +2520 +3DE0 +E480 +25C0 +2AA0 +2980 +ENDCHAR +STARTCHAR U_3E4A +ENCODING 15946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +F920 +AA80 +27E0 +3C80 +E7C0 +2480 +27C0 +2480 +27E0 +ENDCHAR +STARTCHAR U_3E4B +ENCODING 15947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +25E0 +A920 +FAC0 +AB20 +3A40 +EBA0 +2A40 +29A0 +2840 +2980 +ENDCHAR +STARTCHAR U_3E4C +ENCODING 15948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +A240 +FFE0 +A400 +3D40 +E7E0 +2440 +25E0 +2440 +2BE0 +ENDCHAR +STARTCHAR U_3E4D +ENCODING 15949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A440 +FFE0 +A920 +2FE0 +3920 +EBA0 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_3E4E +ENCODING 15950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +A540 +FFC0 +A540 +27C0 +3A80 +E7C0 +2480 +2FC0 +2940 +3320 +ENDCHAR +STARTCHAR U_3E4F +ENCODING 15951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +A7E0 +FA40 +A3C0 +24A0 +3CA0 +E7E0 +2080 +27C0 +2080 +27E0 +ENDCHAR +STARTCHAR U_3E50 +ENCODING 15952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3480 +CB60 +3100 +E5C0 +2700 +24E0 +4400 +7FC0 +8400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_3E51 +ENCODING 15953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20A0 +AFE0 +F080 +AE80 +2080 +3F80 +EA80 +2E40 +2A40 +2E60 +3120 +ENDCHAR +STARTCHAR U_3E52 +ENCODING 15954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26C0 +A280 +FFE0 +A280 +27C0 +3900 +E7C0 +2100 +2FE0 +2240 +2C20 +ENDCHAR +STARTCHAR U_3E53 +ENCODING 15955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +A100 +FFE0 +A240 +3FE0 +E240 +2FE0 +2280 +22A0 +2C60 +ENDCHAR +STARTCHAR U_3E54 +ENCODING 15956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A540 +F7C0 +A540 +2FE0 +3000 +E7C0 +2540 +27C0 +2540 +2FE0 +ENDCHAR +STARTCHAR U_3E55 +ENCODING 15957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +0200 +FFC0 +5540 +57C0 +9820 +2400 +3FC0 +4400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_3E56 +ENCODING 15958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +A100 +FFE0 +A440 +3FA0 +E320 +2CC0 +23C0 +2CA0 +2300 +ENDCHAR +STARTCHAR U_3E57 +ENCODING 15959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A100 +F7E0 +A120 +3FE0 +E040 +2FE0 +2A40 +2F40 +20C0 +ENDCHAR +STARTCHAR U_3E58 +ENCODING 15960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +AFE0 +FBA0 +A540 +3FE0 +E200 +2FE0 +2AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_3E59 +ENCODING 15961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +A7C0 +F540 +A920 +2FE0 +3820 +E7C0 +2540 +26C0 +2540 +27C0 +ENDCHAR +STARTCHAR U_3E5A +ENCODING 15962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +27C0 +A540 +F920 +AFE0 +3820 +E380 +2280 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_3E5B +ENCODING 15963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A100 +FBE0 +AAA0 +2FE0 +3A80 +EFE0 +2A40 +3660 +2180 +2660 +ENDCHAR +STARTCHAR U_3E5C +ENCODING 15964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2940 +2520 +FFE0 +2100 +2100 +2100 +5280 +4A80 +8440 +9820 +ENDCHAR +STARTCHAR U_3E5D +ENCODING 15965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +91C0 +5680 +2480 +6480 +9480 +37E0 +5480 +9480 +1480 +6560 +2620 +ENDCHAR +STARTCHAR U_3E5E +ENCODING 15966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +91C0 +5600 +2400 +6400 +97E0 +3480 +5480 +9480 +1480 +6880 +2880 +ENDCHAR +STARTCHAR U_3E5F +ENCODING 15967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5100 +27C0 +6140 +9140 +3140 +5FE0 +9100 +1280 +6440 +3820 +ENDCHAR +STARTCHAR U_3E60 +ENCODING 15968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5100 +2FE0 +2100 +5540 +9540 +37C0 +5540 +9100 +5120 +20E0 +ENDCHAR +STARTCHAR U_3E61 +ENCODING 15969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +5100 +2FE0 +2100 +5200 +9440 +3280 +5100 +9240 +5420 +27E0 +ENDCHAR +STARTCHAR U_3E62 +ENCODING 15970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A800 +4800 +7EE0 +AAA0 +2AA0 +6AA0 +AAA0 +2AA0 +2AA0 +CAE0 +5600 +ENDCHAR +STARTCHAR U_3E63 +ENCODING 15971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9400 +57C0 +2440 +2A80 +5100 +9280 +3D60 +5080 +9200 +5100 +2080 +ENDCHAR +STARTCHAR U_3E64 +ENCODING 15972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5100 +27C0 +2100 +5100 +9FE0 +3100 +5200 +9280 +6440 +27C0 +ENDCHAR +STARTCHAR U_3E65 +ENCODING 15973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +5100 +2FE0 +2100 +5100 +9100 +37C0 +5100 +9100 +5100 +2FE0 +ENDCHAR +STARTCHAR U_3E66 +ENCODING 15974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9000 +57E0 +2120 +5120 +9220 +3460 +5000 +97E0 +1420 +5420 +27E0 +ENDCHAR +STARTCHAR U_3E67 +ENCODING 15975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5100 +27C0 +6540 +9540 +3540 +5FE0 +9100 +1280 +6440 +3820 +ENDCHAR +STARTCHAR U_3E68 +ENCODING 15976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5100 +2100 +67E0 +9520 +3520 +57E0 +9520 +1520 +67E0 +2420 +ENDCHAR +STARTCHAR U_3E69 +ENCODING 15977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97C0 +5440 +2280 +6380 +9C60 +3100 +5100 +97C0 +1100 +5100 +2FE0 +ENDCHAR +STARTCHAR U_3E6A +ENCODING 15978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AEE0 +6AA0 +4AA0 +AAA0 +2AA0 +7FE0 +6AA0 +AAA0 +2AA0 +AAA0 +5760 +ENDCHAR +STARTCHAR U_3E6B +ENCODING 15979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +57E0 +2100 +67C0 +9140 +37C0 +5500 +97E0 +1120 +62C0 +2C60 +ENDCHAR +STARTCHAR U_3E6C +ENCODING 15980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9080 +5080 +27E0 +5080 +97E0 +34A0 +57E0 +9280 +1100 +A280 +4C60 +ENDCHAR +STARTCHAR U_3E6D +ENCODING 15981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5100 +27C0 +5540 +97C0 +3540 +57C0 +9140 +1180 +52A0 +2C60 +ENDCHAR +STARTCHAR U_3E6E +ENCODING 15982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5100 +2200 +57C0 +9440 +3440 +57C0 +9440 +1440 +57C0 +2440 +ENDCHAR +STARTCHAR U_3E6F +ENCODING 15983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9280 +5280 +2480 +5DE0 +9480 +3480 +55C0 +96A0 +1480 +6480 +2480 +ENDCHAR +STARTCHAR U_3E70 +ENCODING 15984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5540 +2540 +6100 +9FE0 +3280 +5280 +9280 +1280 +64A0 +4860 +ENDCHAR +STARTCHAR U_3E71 +ENCODING 15985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97C0 +5440 +2440 +67C0 +9100 +3500 +55C0 +9500 +1500 +6F00 +30E0 +ENDCHAR +STARTCHAR U_3E72 +ENCODING 15986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +57C0 +2240 +6FE0 +9100 +37C0 +5880 +97E0 +1080 +6080 +2180 +ENDCHAR +STARTCHAR U_3E73 +ENCODING 15987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97C0 +5100 +27C0 +6140 +9240 +37E0 +5000 +97C0 +1440 +67C0 +2440 +ENDCHAR +STARTCHAR U_3E74 +ENCODING 15988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97C0 +5100 +27C0 +6540 +97C0 +3540 +57C0 +9500 +1300 +6280 +4C60 +ENDCHAR +STARTCHAR U_3E75 +ENCODING 15989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97E0 +52A0 +2540 +6540 +92A0 +3000 +57E0 +9080 +1080 +6080 +47E0 +ENDCHAR +STARTCHAR U_3E76 +ENCODING 15990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A000 +6060 +3DC0 +6440 +A840 +3DE0 +6440 +A440 +37E0 +AC00 +53E0 +ENDCHAR +STARTCHAR U_3E77 +ENCODING 15991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +CC80 +30C0 +CCA0 +23E0 +FC80 +5080 +FC80 +5480 +5540 +5940 +1620 +ENDCHAR +STARTCHAR U_3E78 +ENCODING 15992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +57C0 +2440 +67C0 +9440 +37C0 +5280 +9280 +1280 +64A0 +2860 +ENDCHAR +STARTCHAR U_3E79 +ENCODING 15993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +57E0 +2500 +67C0 +9540 +37E0 +5540 +97C0 +1500 +5A80 +3460 +ENDCHAR +STARTCHAR U_3E7A +ENCODING 15994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5120 +2F40 +6380 +9540 +1920 +37C0 +5440 +97C0 +5440 +27C0 +ENDCHAR +STARTCHAR U_3E7B +ENCODING 15995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +91C0 +5700 +2100 +2FE0 +5540 +9920 +3240 +57E0 +9240 +5180 +2660 +ENDCHAR +STARTCHAR U_3E7C +ENCODING 15996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9400 +5400 +27E0 +6920 +9560 +37E0 +5320 +95A0 +1960 +5120 +20C0 +ENDCHAR +STARTCHAR U_3E7D +ENCODING 15997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9140 +57E0 +2140 +61A0 +9660 +3100 +5140 +97E0 +1140 +51A0 +2660 +ENDCHAR +STARTCHAR U_3E7E +ENCODING 15998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9440 +5740 +2560 +6D40 +9240 +35C0 +5860 +97C0 +1440 +57C0 +2440 +ENDCHAR +STARTCHAR U_3E7F +ENCODING 15999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +53C0 +2200 +67C0 +9440 +37C0 +5440 +97C0 +1100 +5FE0 +2100 +ENDCHAR +STARTCHAR U_3E80 +ENCODING 16000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9400 +57E0 +2AA0 +6AA0 +92A0 +3540 +5200 +9120 +1520 +6C40 +2BC0 +ENDCHAR +STARTCHAR U_3E81 +ENCODING 16001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +92A0 +5540 +2540 +62A0 +92A0 +3400 +57E0 +9560 +14A0 +5560 +27E0 +ENDCHAR +STARTCHAR U_3E82 +ENCODING 16002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +90C0 +50A0 +27E0 +6480 +9780 +34A0 +57A0 +94C0 +1780 +68E0 +4B20 +ENDCHAR +STARTCHAR U_3E83 +ENCODING 16003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9280 +5FE0 +2280 +6400 +97E0 +3820 +57A0 +94A0 +17A0 +5020 +20C0 +ENDCHAR +STARTCHAR U_3E84 +ENCODING 16004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A300 +6480 +2840 +77A0 +A000 +2E20 +6AA0 +AEA0 +2AA0 +AE20 +4A60 +ENDCHAR +STARTCHAR U_3E85 +ENCODING 16005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +5380 +2480 +6FE0 +9500 +35C0 +5680 +97E0 +1480 +6940 +2E20 +ENDCHAR +STARTCHAR U_3E86 +ENCODING 16006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9440 +5240 +2EE0 +6440 +96A0 +3520 +57C0 +9540 +1540 +6280 +2C60 +ENDCHAR +STARTCHAR U_3E87 +ENCODING 16007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9080 +5EC0 +34A0 +5480 +9FE0 +3280 +5E80 +9480 +1540 +7F40 +2220 +ENDCHAR +STARTCHAR U_3E88 +ENCODING 16008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5540 +27C0 +6100 +9FE0 +3100 +57C0 +9540 +17C0 +6120 +4FE0 +ENDCHAR +STARTCHAR U_3E89 +ENCODING 16009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +2240 +FA40 +8C20 +73C0 +2A40 +FA40 +2180 +5180 +8E60 +ENDCHAR +STARTCHAR U_3E8A +ENCODING 16010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9440 +5280 +2FE0 +6100 +97C0 +3100 +5FE0 +9240 +1520 +6C40 +4BC0 +ENDCHAR +STARTCHAR U_3E8B +ENCODING 16011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9280 +5440 +29A0 +6240 +97C0 +1000 +3FE0 +55A0 +9360 +5DA0 +2360 +ENDCHAR +STARTCHAR U_3E8C +ENCODING 16012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9240 +57E0 +2280 +67E0 +92A0 +3FE0 +52A0 +97E0 +16C0 +5AA0 +2280 +ENDCHAR +STARTCHAR U_3E8D +ENCODING 16013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5FE0 +2820 +6780 +9400 +37C0 +5480 +9480 +1FE0 +6440 +2820 +ENDCHAR +STARTCHAR U_3E8E +ENCODING 16014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +57E0 +2540 +67E0 +9540 +37C0 +5540 +97C0 +1540 +AFC0 +4940 +ENDCHAR +STARTCHAR U_3E8F +ENCODING 16015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +57C0 +2540 +6FE0 +9540 +37C0 +5540 +9FE0 +1440 +6380 +2C60 +ENDCHAR +STARTCHAR U_3E90 +ENCODING 16016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A540 +6A80 +4540 +A7C0 +2540 +67C0 +A540 +27C0 +A100 +CFE0 +8540 +ENDCHAR +STARTCHAR U_3E91 +ENCODING 16017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9240 +57E0 +2520 +5EE0 +9380 +34C0 +5B20 +9080 +1340 +6080 +2700 +ENDCHAR +STARTCHAR U_3E92 +ENCODING 16018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +55A0 +2360 +6DA0 +9100 +3280 +5D60 +9280 +1340 +A080 +4700 +ENDCHAR +STARTCHAR U_3E93 +ENCODING 16019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +57E0 +2100 +67C0 +9100 +3FE0 +5440 +97C0 +1440 +A7C0 +4820 +ENDCHAR +STARTCHAR U_3E94 +ENCODING 16020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97E0 +5540 +2380 +6480 +97C0 +3440 +57E0 +94A0 +16A0 +6A20 +4840 +ENDCHAR +STARTCHAR U_3E95 +ENCODING 16021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +90E0 +5F40 +2540 +6FE0 +9540 +3920 +57C0 +9540 +17C0 +6540 +27C0 +ENDCHAR +STARTCHAR U_3E96 +ENCODING 16022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A680 +6280 +5FE0 +AAA0 +2EA0 +6AA0 +AE40 +2A40 +3FA0 +A2A0 +4320 +ENDCHAR +STARTCHAR U_3E97 +ENCODING 16023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8EE0 +5AA0 +2FE0 +6540 +97C0 +3540 +57C0 +9100 +1FE0 +5100 +2100 +ENDCHAR +STARTCHAR U_3E98 +ENCODING 16024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9280 +57E0 +2C80 +27C0 +5480 +97C0 +3480 +57E0 +9000 +5AA0 +2AA0 +ENDCHAR +STARTCHAR U_3E99 +ENCODING 16025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5FE0 +2820 +67C0 +9540 +3FE0 +5540 +97C0 +1540 +66C0 +4C60 +ENDCHAR +STARTCHAR U_3E9A +ENCODING 16026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8080 +53E0 +2880 +63E0 +BD40 +2BE0 +6880 +ABE0 +2880 +AC80 +53E0 +ENDCHAR +STARTCHAR U_3E9B +ENCODING 16027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97C0 +5480 +27C0 +6480 +97E0 +3AA0 +50C0 +9240 +1FE0 +5240 +2440 +ENDCHAR +STARTCHAR U_3E9C +ENCODING 16028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8280 +5FE0 +2AA0 +6FE0 +AAA0 +2FC0 +6800 +AFE0 +2AA0 +AA40 +5320 +ENDCHAR +STARTCHAR U_3E9D +ENCODING 16029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8F40 +5A40 +2F60 +6940 +AFA0 +2A20 +6F00 +A000 +2FE0 +AAA0 +5FE0 +ENDCHAR +STARTCHAR U_3E9E +ENCODING 16030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5660 +2BA0 +6E60 +ABA0 +2CE0 +6AA0 +BFE0 +2440 +A820 +5020 +ENDCHAR +STARTCHAR U_3E9F +ENCODING 16031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97E0 +55A0 +2360 +65A0 +9520 +3C80 +57E0 +9480 +17E0 +5480 +27E0 +ENDCHAR +STARTCHAR U_3EA0 +ENCODING 16032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +5FE0 +34A0 +6860 +A600 +3CE0 +6BC0 +AAA0 +2AA0 +AEE0 +42A0 +ENDCHAR +STARTCHAR U_3EA1 +ENCODING 16033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97E0 +54A0 +27C0 +6540 +97E0 +3540 +57E0 +9440 +1560 +6940 +2BE0 +ENDCHAR +STARTCHAR U_3EA2 +ENCODING 16034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97C0 +5100 +2FE0 +6D60 +9780 +3540 +5FE0 +9480 +17C0 +5480 +27E0 +ENDCHAR +STARTCHAR U_3EA3 +ENCODING 16035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +96C0 +54A0 +3E80 +55E0 +9E80 +30A0 +5EA0 +92C0 +1E80 +6B60 +3E20 +ENDCHAR +STARTCHAR U_3EA4 +ENCODING 16036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8AC0 +55A0 +3FE0 +6A80 +BB80 +2AA0 +7BA0 +AAA0 +3BC0 +AA60 +5FA0 +ENDCHAR +STARTCHAR U_3EA5 +ENCODING 16037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9380 +5480 +27C0 +6440 +97C0 +34A0 +5FE0 +9540 +17C0 +62A0 +4CE0 +ENDCHAR +STARTCHAR U_3EA6 +ENCODING 16038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9D40 +5540 +36A0 +7FE0 +9540 +3EA0 +57E0 +9540 +1F60 +B540 +4640 +ENDCHAR +STARTCHAR U_3EA7 +ENCODING 16039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8EE0 +5AA0 +2FE0 +5200 +97C0 +3540 +5FE0 +9440 +1EE0 +6AA0 +4EE0 +ENDCHAR +STARTCHAR U_3EA8 +ENCODING 16040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +2100 +2100 +2200 +F200 +2200 +2400 +3C40 +E4E0 +0720 +ENDCHAR +STARTCHAR U_3EA9 +ENCODING 16041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +1220 +1220 +1220 +7A20 +1260 +12A0 +1320 +1C20 +E020 +0020 +ENDCHAR +STARTCHAR U_3EAA +ENCODING 16042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +2100 +2100 +2180 +F940 +2120 +2100 +3900 +E100 +0100 +ENDCHAR +STARTCHAR U_3EAB +ENCODING 16043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +FC20 +1020 +1120 +1120 +7D20 +1120 +1120 +1C20 +E020 +0060 +ENDCHAR +STARTCHAR U_3EAC +ENCODING 16044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +F480 +4480 +4480 +4680 +F580 +4480 +44A0 +74A0 +C8A0 +10E0 +ENDCHAR +STARTCHAR U_3EAD +ENCODING 16045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2040 +2080 +2080 +F880 +27E0 +2080 +2080 +3880 +E080 +0180 +ENDCHAR +STARTCHAR U_3EAE +ENCODING 16046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2000 +2000 +27E0 +F100 +2200 +23C0 +2040 +3840 +E040 +0180 +ENDCHAR +STARTCHAR U_3EAF +ENCODING 16047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +3F80 +0400 +0400 +FFE0 +0400 +7FC0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3EB0 +ENCODING 16048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +F880 +2080 +23E0 +22A0 +72A0 +22A0 +2AA0 +32A0 +C080 +0080 +ENDCHAR +STARTCHAR U_3EB1 +ENCODING 16049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +4480 +C5C0 +4840 +4B40 +5080 +7FC0 +0400 +3F80 +0480 +FFE0 +ENDCHAR +STARTCHAR U_3EB2 +ENCODING 16050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F240 +4240 +4240 +F240 +4FC0 +4240 +5240 +6240 +8240 +0FE0 +ENDCHAR +STARTCHAR U_3EB3 +ENCODING 16051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +41E0 +4100 +F100 +47C0 +4440 +5280 +6100 +82C0 +0C20 +ENDCHAR +STARTCHAR U_3EB4 +ENCODING 16052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +0140 +F900 +27E0 +2100 +F900 +2100 +2280 +3A80 +C440 +0820 +ENDCHAR +STARTCHAR U_3EB5 +ENCODING 16053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0200 +F7E0 +4420 +4940 +F100 +4100 +4280 +7280 +C440 +1820 +ENDCHAR +STARTCHAR U_3EB6 +ENCODING 16054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +0280 +F180 +4480 +4280 +F080 +47E0 +4080 +7080 +C080 +0080 +ENDCHAR +STARTCHAR U_3EB7 +ENCODING 16055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +0120 +F7E0 +4100 +4100 +F380 +4540 +4920 +7100 +C100 +0100 +ENDCHAR +STARTCHAR U_3EB8 +ENCODING 16056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1780 +2480 +E680 +2580 +24A0 +2860 +7FC0 +0400 +7FC0 +0480 +FFE0 +ENDCHAR +STARTCHAR U_3EB9 +ENCODING 16057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA40 +2420 +27E0 +FA40 +2240 +27E0 +2240 +3A40 +C240 +0440 +ENDCHAR +STARTCHAR U_3EBA +ENCODING 16058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F420 +4420 +47E0 +F420 +4420 +47E0 +4420 +7420 +C7E0 +0420 +ENDCHAR +STARTCHAR U_3EBB +ENCODING 16059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +4FE0 +4100 +47E0 +F520 +4520 +4520 +7520 +C560 +0100 +ENDCHAR +STARTCHAR U_3EBC +ENCODING 16060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F120 +4140 +4100 +4500 +F5C0 +4500 +4500 +7700 +C980 +1060 +ENDCHAR +STARTCHAR U_3EBD +ENCODING 16061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +4100 +4300 +4580 +F940 +4120 +4100 +7100 +C000 +0FE0 +ENDCHAR +STARTCHAR U_3EBE +ENCODING 16062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F820 +4820 +4BA0 +4AA0 +FAA0 +4BA0 +4820 +7820 +C820 +0860 +ENDCHAR +STARTCHAR U_3EBF +ENCODING 16063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F900 +4900 +4BC0 +4A40 +FA40 +4A40 +4BC0 +7900 +C900 +0FE0 +ENDCHAR +STARTCHAR U_3EC0 +ENCODING 16064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +F7C0 +4540 +47C0 +F540 +47C0 +4100 +7500 +C200 +0DE0 +ENDCHAR +STARTCHAR U_3EC1 +ENCODING 16065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F820 +2820 +2BA0 +FAA0 +2AA0 +2AA0 +2BA0 +3820 +C820 +0FE0 +ENDCHAR +STARTCHAR U_3EC2 +ENCODING 16066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0420 +F240 +27E0 +2240 +F240 +2FE0 +2240 +2240 +3240 +C440 +0840 +ENDCHAR +STARTCHAR U_3EC3 +ENCODING 16067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +7FC0 +7FC0 +4A40 +7FC0 +0000 +7FC0 +0400 +3F80 +0500 +FFE0 +ENDCHAR +STARTCHAR U_3EC4 +ENCODING 16068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +F700 +2000 +27E0 +F080 +2280 +22E0 +2280 +3680 +C580 +0860 +ENDCHAR +STARTCHAR U_3EC5 +ENCODING 16069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0200 +F300 +4480 +4860 +F780 +4000 +4FC0 +7200 +C480 +0F40 +ENDCHAR +STARTCHAR U_3EC6 +ENCODING 16070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0240 +F420 +27E0 +2000 +F7E0 +2420 +27E0 +3420 +C7E0 +0460 +ENDCHAR +STARTCHAR U_3EC7 +ENCODING 16071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +2280 +2C60 +F7C0 +2100 +2100 +27C0 +3100 +C100 +0FE0 +ENDCHAR +STARTCHAR U_3EC8 +ENCODING 16072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +F700 +2400 +27E0 +2400 +F400 +25E0 +2520 +3520 +C520 +09E0 +ENDCHAR +STARTCHAR U_3EC9 +ENCODING 16073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F500 +25C0 +2500 +2FE0 +F100 +2520 +2540 +3180 +C100 +0E00 +ENDCHAR +STARTCHAR U_3ECA +ENCODING 16074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F380 +2480 +2FE0 +2920 +F920 +2FE0 +2300 +3300 +C520 +19E0 +ENDCHAR +STARTCHAR U_3ECB +ENCODING 16075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +2FE0 +2100 +2FE0 +F920 +2FE0 +2300 +3580 +C940 +1120 +ENDCHAR +STARTCHAR U_3ECC +ENCODING 16076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F280 +2440 +2FE0 +F100 +2100 +2FE0 +2100 +3540 +C920 +0300 +ENDCHAR +STARTCHAR U_3ECD +ENCODING 16077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +27C0 +2000 +F7C0 +2100 +2FE0 +2100 +3280 +C440 +0820 +ENDCHAR +STARTCHAR U_3ECE +ENCODING 16078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +75C0 +2480 +75C0 +2480 +35C0 +4A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_3ECF +ENCODING 16079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F040 +27C0 +2040 +F7C0 +2100 +2520 +2940 +3280 +C440 +0820 +ENDCHAR +STARTCHAR U_3ED0 +ENCODING 16080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F240 +27E0 +2280 +F440 +2A20 +23C0 +2440 +3280 +C100 +0EE0 +ENDCHAR +STARTCHAR U_3ED1 +ENCODING 16081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +2FE0 +2380 +F540 +2920 +27C0 +2080 +3FE0 +C100 +0300 +ENDCHAR +STARTCHAR U_3ED2 +ENCODING 16082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F8A0 +2B20 +2920 +FFE0 +2920 +2BA0 +2D60 +3920 +CFE0 +0820 +ENDCHAR +STARTCHAR U_3ED3 +ENCODING 16083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +EAE0 +4AA0 +4EA0 +EAA0 +4E40 +4A40 +4A40 +6E40 +D2A0 +0320 +ENDCHAR +STARTCHAR U_3ED4 +ENCODING 16084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +2FE0 +2100 +F540 +2FE0 +2540 +2100 +3FE0 +C100 +07C0 +ENDCHAR +STARTCHAR U_3ED5 +ENCODING 16085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F420 +27E0 +2480 +F6A0 +26A0 +27E0 +2480 +36A0 +C6A0 +0BE0 +ENDCHAR +STARTCHAR U_3ED6 +ENCODING 16086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +2140 +2FE0 +F140 +27C0 +2100 +2540 +3380 +C540 +0B20 +ENDCHAR +STARTCHAR U_3ED7 +ENCODING 16087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +F1E0 +1100 +71C0 +F1E0 +1100 +7FC0 +0400 +3F80 +0500 +FFE0 +ENDCHAR +STARTCHAR U_3ED8 +ENCODING 16088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2820 +2100 +FFE0 +2920 +2FE0 +2920 +3FE0 +C100 +0100 +ENDCHAR +STARTCHAR U_3ED9 +ENCODING 16089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2240 +27E0 +F000 +27C0 +2440 +27C0 +3440 +C7C0 +0440 +ENDCHAR +STARTCHAR U_3EDA +ENCODING 16090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +FAA0 +2AA0 +2EE0 +FAA0 +2AA0 +2EE0 +2AA0 +3AA0 +CAA0 +1320 +ENDCHAR +STARTCHAR U_3EDB +ENCODING 16091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +27C0 +2440 +F7C0 +2400 +27E0 +2AA0 +34A0 +C920 +02C0 +ENDCHAR +STARTCHAR U_3EDC +ENCODING 16092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F240 +24C0 +2B20 +F100 +2100 +25C0 +2500 +3500 +CB00 +10E0 +ENDCHAR +STARTCHAR U_3EDD +ENCODING 16093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +FFA0 +2260 +2FE0 +FAE0 +2AE0 +2FE0 +2260 +3760 +CAA0 +1260 +ENDCHAR +STARTCHAR U_3EDE +ENCODING 16094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2420 +27E0 +F400 +27E0 +25A0 +25A0 +37E0 +CDA0 +1420 +ENDCHAR +STARTCHAR U_3EDF +ENCODING 16095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2200 +25C0 +F880 +27E0 +2240 +23C0 +3240 +C3C0 +0240 +ENDCHAR +STARTCHAR U_3EE0 +ENCODING 16096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +03E0 +FA20 +2140 +22A0 +F8C0 +23E0 +2080 +F940 +0220 +0420 +ENDCHAR +STARTCHAR U_3EE1 +ENCODING 16097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +0FE0 +E540 +45C0 +4400 +E7E0 +4100 +4FE0 +6100 +8540 +0920 +ENDCHAR +STARTCHAR U_3EE2 +ENCODING 16098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +0EE0 +E500 +4500 +4680 +EBE0 +4AA0 +4AA0 +EA80 +12A0 +06E0 +ENDCHAR +STARTCHAR U_3EE3 +ENCODING 16099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F7E0 +2240 +23C0 +F240 +23C0 +2240 +2FE0 +3540 +C620 +07E0 +ENDCHAR +STARTCHAR U_3EE4 +ENCODING 16100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F7E0 +2240 +2100 +F3E0 +2420 +2BA0 +22A0 +33A0 +C0A0 +0040 +ENDCHAR +STARTCHAR U_3EE5 +ENCODING 16101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F280 +2FE0 +2280 +FFE0 +2AA0 +2CE0 +2820 +3FE0 +C820 +0FE0 +ENDCHAR +STARTCHAR U_3EE6 +ENCODING 16102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F920 +2FE0 +2920 +FFE0 +2100 +2FE0 +29A0 +39E0 +CF20 +0860 +ENDCHAR +STARTCHAR U_3EE7 +ENCODING 16103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F740 +25E0 +2D40 +F3E0 +2640 +2140 +2FE0 +3380 +C540 +0920 +ENDCHAR +STARTCHAR U_3EE8 +ENCODING 16104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A2A0 +FD40 +8A80 +F940 +A220 +FFC0 +0400 +3F80 +0500 +FFE0 +ENDCHAR +STARTCHAR U_3EE9 +ENCODING 16105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +E500 +5FE0 +4500 +EFC0 +4540 +5FE0 +4540 +6FC0 +8D80 +1560 +ENDCHAR +STARTCHAR U_3EEA +ENCODING 16106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +F7E0 +2C80 +27E0 +F7E0 +2480 +2FE0 +2280 +32E0 +C420 +0860 +ENDCHAR +STARTCHAR U_3EEB +ENCODING 16107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E920 +4FE0 +4920 +EFE0 +4540 +5FE0 +4540 +6FE0 +87C0 +0100 +ENDCHAR +STARTCHAR U_3EEC +ENCODING 16108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +2FE0 +2BA0 +F540 +27C0 +2FE0 +2200 +37C0 +C040 +01C0 +ENDCHAR +STARTCHAR U_3EED +ENCODING 16109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +4100 +4AA0 +E540 +4AA0 +47C0 +4100 +6FE0 +8100 +0100 +ENDCHAR +STARTCHAR U_3EEE +ENCODING 16110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +EFE0 +4920 +56C0 +EA40 +47A0 +5800 +4FE0 +6500 +8940 +1120 +ENDCHAR +STARTCHAR U_3EEF +ENCODING 16111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +E100 +5FE0 +5420 +FFC0 +5400 +53C0 +5540 +7FE0 +9100 +2300 +ENDCHAR +STARTCHAR U_3EF0 +ENCODING 16112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +EEE0 +4440 +4EE0 +E440 +4CE0 +4780 +4040 +6FE0 +C040 +07C0 +ENDCHAR +STARTCHAR U_3EF1 +ENCODING 16113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E9C0 +4340 +5CC0 +E920 +4A80 +4BE0 +4880 +6BE0 +8C80 +13E0 +ENDCHAR +STARTCHAR U_3EF2 +ENCODING 16114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E7C0 +4D60 +47C0 +E100 +47C0 +4540 +4FE0 +6480 +8380 +0E40 +ENDCHAR +STARTCHAR U_3EF3 +ENCODING 16115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EFE0 +4480 +4E20 +E4A0 +5EA0 +44A0 +4EA0 +6D20 +9420 +0460 +ENDCHAR +STARTCHAR U_3EF4 +ENCODING 16116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E440 +47C0 +4440 +4FE0 +EAA0 +4FE0 +47C0 +6440 +8380 +0C60 +ENDCHAR +STARTCHAR U_3EF5 +ENCODING 16117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E820 +4FE0 +4840 +EFE0 +4880 +4FE0 +4A40 +6FE0 +8A40 +16C0 +ENDCHAR +STARTCHAR U_3EF6 +ENCODING 16118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +0FE0 +F540 +4FE0 +4240 +FFE0 +4240 +4FC0 +7200 +CFE0 +0200 +ENDCHAR +STARTCHAR U_3EF7 +ENCODING 16119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +1FE0 +E480 +5FE0 +56A0 +F6A0 +56A0 +45C0 +6EA0 +95A0 +0480 +ENDCHAR +STARTCHAR U_3EF8 +ENCODING 16120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +1540 +F540 +5FE0 +4CC0 +F560 +4FC0 +4840 +7FC0 +C840 +0FC0 +ENDCHAR +STARTCHAR U_3EF9 +ENCODING 16121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2140 +3A80 +6DC0 +BAA0 +0100 +7FC0 +0400 +3F80 +0500 +FFE0 +ENDCHAR +STARTCHAR U_3EFA +ENCODING 16122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5DC0 +4880 +7FE0 +5DC0 +6AA0 +5FC0 +4200 +5FC0 +4280 +BFE0 +ENDCHAR +STARTCHAR U_3EFB +ENCODING 16123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +1F80 +E080 +4EE0 +4BA0 +EEA0 +42A0 +4440 +7F40 +C4A0 +0D20 +ENDCHAR +STARTCHAR U_3EFC +ENCODING 16124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0280 +EFE0 +4AA0 +4FE0 +E440 +47C0 +4440 +6FE0 +C100 +0100 +ENDCHAR +STARTCHAR U_3EFD +ENCODING 16125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +0FE0 +E900 +5FC0 +4900 +EFE0 +4000 +4EE0 +EBA0 +0820 +0860 +ENDCHAR +STARTCHAR U_3EFE +ENCODING 16126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1280 +7FE0 +2BC0 +1280 +FFE0 +0400 +3FC0 +0480 +FFE0 +ENDCHAR +STARTCHAR U_3EFF +ENCODING 16127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0AA0 +EFE0 +4400 +4FE0 +F220 +4FA0 +4AA0 +EFA0 +02A0 +0FE0 +ENDCHAR +STARTCHAR U_3F00 +ENCODING 16128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +0BC0 +E100 +47E0 +5A80 +EFE0 +4900 +4FC0 +6900 +D500 +23E0 +ENDCHAR +STARTCHAR U_3F01 +ENCODING 16129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F7E0 +2100 +27C0 +2100 +F7E0 +22A0 +2FE0 +32A0 +CF40 +04A0 +ENDCHAR +STARTCHAR U_3F02 +ENCODING 16130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +36C0 +4440 +77C0 +4540 +FFE0 +8020 +3F80 +0400 +1F80 +0500 +FFE0 +ENDCHAR +STARTCHAR U_3F03 +ENCODING 16131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +02A0 +F540 +22A0 +27E0 +26A0 +F520 +27E0 +2540 +37C0 +E560 +07A0 +ENDCHAR +STARTCHAR U_3F04 +ENCODING 16132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FFE0 +2540 +2FE0 +2140 +FFE0 +2A80 +2FA0 +3AC0 +CFE0 +0120 +ENDCHAR +STARTCHAR U_3F05 +ENCODING 16133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2A40 +2FE0 +2A40 +FFE0 +2AA0 +2BE0 +3AA0 +CBE0 +1420 +ENDCHAR +STARTCHAR U_3F06 +ENCODING 16134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0AA0 +F7C0 +2540 +2920 +2FE0 +F820 +27C0 +2100 +37C0 +C140 +0FE0 +ENDCHAR +STARTCHAR U_3F07 +ENCODING 16135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04A0 +F7E0 +2280 +2FE0 +2480 +F7E0 +2480 +27E0 +3660 +C5A0 +0420 +ENDCHAR +STARTCHAR U_3F08 +ENCODING 16136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +FAA0 +2FE0 +2540 +29E0 +FF40 +25E0 +2940 +3FE0 +D540 +15E0 +ENDCHAR +STARTCHAR U_3F09 +ENCODING 16137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C80 +7880 +5BE0 +56A0 +5480 +5480 +55A0 +56E0 +6A00 +B900 +80E0 +ENDCHAR +STARTCHAR U_3F0A +ENCODING 16138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2740 +FD40 +2540 +AD40 +AD40 +FD40 +A540 +2EC0 +3BA0 +1020 +ENDCHAR +STARTCHAR U_3F0B +ENCODING 16139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +4740 +FD40 +4540 +4540 +F540 +9540 +9540 +96C0 +F7A0 +9820 +ENDCHAR +STARTCHAR U_3F0C +ENCODING 16140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78E0 +A740 +B540 +B540 +B540 +AD40 +AD40 +A540 +D6A0 +FBA0 +8820 +ENDCHAR +STARTCHAR U_3F0D +ENCODING 16141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +FF40 +2540 +7540 +2540 +FD40 +2540 +7540 +6EA0 +ABA0 +2820 +ENDCHAR +STARTCHAR U_3F0E +ENCODING 16142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +7480 +57E0 +5540 +5760 +5540 +5480 +5540 +6E20 +BB00 +80E0 +ENDCHAR +STARTCHAR U_3F0F +ENCODING 16143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +38E0 +CF40 +B540 +5540 +5540 +FD40 +5540 +D540 +36A0 +4BA0 +8820 +ENDCHAR +STARTCHAR U_3F10 +ENCODING 16144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FFC0 +8D40 +FD40 +8540 +8540 +FD40 +A940 +FAA0 +ABA0 +A820 +ENDCHAR +STARTCHAR U_3F11 +ENCODING 16145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +FF40 +1540 +FD40 +D540 +BD40 +FD40 +3540 +5EA0 +97A0 +1820 +ENDCHAR +STARTCHAR U_3F12 +ENCODING 16146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1DC0 +7540 +55C0 +5540 +57E0 +5500 +55E0 +56A0 +6D20 +BB40 +80E0 +ENDCHAR +STARTCHAR U_3F13 +ENCODING 16147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A40 +AFE0 +AA80 +AFE0 +AAA0 +AFE0 +AAA0 +A7E0 +D6C0 +FAA0 +8280 +ENDCHAR +STARTCHAR U_3F14 +ENCODING 16148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0E0 +9740 +F540 +9540 +F540 +0540 +FD40 +A940 +AAA0 +FBA0 +0820 +ENDCHAR +STARTCHAR U_3F15 +ENCODING 16149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +A7C0 +FD40 +8D40 +7540 +5540 +FD40 +AA40 +FAA0 +ABA0 +F820 +ENDCHAR +STARTCHAR U_3F16 +ENCODING 16150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3B80 +F480 +AFE0 +AB40 +ADA0 +AA80 +AFE0 +AAA0 +DFE0 +F2A0 +8FE0 +ENDCHAR +STARTCHAR U_3F17 +ENCODING 16151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FA00 +2200 +23C0 +2240 +2340 +24C0 +2440 +2440 +2540 +6660 +ENDCHAR +STARTCHAR U_3F18 +ENCODING 16152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +2100 +A9C0 +A940 +A940 +AB40 +AAC0 +FA40 +8A40 +0360 +ENDCHAR +STARTCHAR U_3F19 +ENCODING 16153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2100 +F900 +A9C0 +A940 +A940 +AAC0 +BA40 +2240 +2360 +ENDCHAR +STARTCHAR U_3F1A +ENCODING 16154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +2100 +F900 +01C0 +7140 +5140 +52C0 +5240 +9A40 +9360 +ENDCHAR +STARTCHAR U_3F1B +ENCODING 16155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4900 +4900 +49C0 +4940 +FD40 +4940 +4AC0 +4A40 +8A40 +8B60 +ENDCHAR +STARTCHAR U_3F1C +ENCODING 16156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +2480 +FFE0 +1100 +3F80 +D060 +1E00 +2A00 +2640 +31C0 +ENDCHAR +STARTCHAR U_3F1D +ENCODING 16157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +CA40 +32A0 +E3E0 +0000 +FFE0 +1000 +1F00 +1500 +2340 +30C0 +ENDCHAR +STARTCHAR U_3F1E +ENCODING 16158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2100 +A900 +7100 +21C0 +FA40 +2340 +22C0 +2240 +2240 +2360 +ENDCHAR +STARTCHAR U_3F1F +ENCODING 16159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +4FE0 +F200 +9200 +93C0 +F240 +9340 +94C0 +9440 +F540 +0660 +ENDCHAR +STARTCHAR U_3F20 +ENCODING 16160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +F900 +8900 +41C0 +7940 +4340 +42C0 +5A40 +6240 +0360 +ENDCHAR +STARTCHAR U_3F21 +ENCODING 16161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +57E0 +7900 +9100 +11C0 +FD40 +3340 +3AC0 +5640 +9240 +1360 +ENDCHAR +STARTCHAR U_3F22 +ENCODING 16162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +9100 +91C0 +B940 +A940 +BAC0 +9240 +9240 +FA40 +0360 +ENDCHAR +STARTCHAR U_3F23 +ENCODING 16163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +2100 +F9C0 +8940 +8940 +FAC0 +8A40 +8A40 +FAC0 +0360 +ENDCHAR +STARTCHAR U_3F24 +ENCODING 16164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FFE0 +1120 +7920 +1240 +FFE0 +0800 +1F00 +1500 +2320 +38E0 +ENDCHAR +STARTCHAR U_3F25 +ENCODING 16165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +7900 +2900 +FDC0 +4140 +FB40 +22C0 +7A40 +0A40 +3360 +ENDCHAR +STARTCHAR U_3F26 +ENCODING 16166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2340 +3AC0 +E460 +0800 +FFE0 +0800 +1F00 +1500 +2320 +30E0 +ENDCHAR +STARTCHAR U_3F27 +ENCODING 16167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5100 +2100 +F9C0 +A940 +F940 +AB40 +FAC0 +AA40 +AA40 +9B60 +ENDCHAR +STARTCHAR U_3F28 +ENCODING 16168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +57C0 +AA00 +F200 +1380 +2280 +F680 +9580 +9480 +F4A0 +9660 +ENDCHAR +STARTCHAR U_3F29 +ENCODING 16169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +17E0 +1100 +FD00 +91C0 +9540 +EEC0 +AA40 +AA40 +D740 +A260 +ENDCHAR +STARTCHAR U_3F2A +ENCODING 16170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F900 +2100 +69C0 +6940 +B740 +22C0 +3240 +4AC0 +8360 +ENDCHAR +STARTCHAR U_3F2B +ENCODING 16171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A900 +F900 +A9C0 +F940 +2140 +FAC0 +7240 +6A40 +A2C0 +2360 +ENDCHAR +STARTCHAR U_3F2C +ENCODING 16172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +77E0 +2100 +F900 +51C0 +7140 +2340 +FAC0 +2240 +22C0 +2360 +ENDCHAR +STARTCHAR U_3F2D +ENCODING 16173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +F900 +23E0 +3A20 +E3E0 +0000 +FFE0 +1000 +1F00 +2520 +32E0 +ENDCHAR +STARTCHAR U_3F2E +ENCODING 16174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +2100 +F900 +29C0 +FD40 +2B40 +FAC0 +5240 +72C0 +CB60 +ENDCHAR +STARTCHAR U_3F2F +ENCODING 16175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +2100 +F900 +A9C0 +F940 +AB40 +FAC0 +7240 +AA40 +2360 +ENDCHAR +STARTCHAR U_3F30 +ENCODING 16176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +FA00 +AA00 +FBC0 +AA40 +FB40 +62C0 +A240 +FA40 +2360 +2620 +ENDCHAR +STARTCHAR U_3F31 +ENCODING 16177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7B80 +0A20 +FBE0 +0000 +FFE0 +A0A0 +5F40 +1000 +1F00 +2520 +32E0 +ENDCHAR +STARTCHAR U_3F32 +ENCODING 16178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +2200 +FE00 +AB80 +AA80 +AA80 +2580 +FC80 +24A0 +55A0 +8E60 +ENDCHAR +STARTCHAR U_3F33 +ENCODING 16179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +6BE0 +B500 +2100 +F9C0 +4940 +7B40 +4AC0 +7A40 +4AC0 +7B60 +ENDCHAR +STARTCHAR U_3F34 +ENCODING 16180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A900 +F900 +A9C0 +F940 +2340 +FAC0 +AA40 +BA40 +EAC0 +8B60 +ENDCHAR +STARTCHAR U_3F35 +ENCODING 16181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7800 +4BE0 +7900 +4900 +FDC0 +1340 +5AC0 +5240 +7360 +9C00 +83E0 +ENDCHAR +STARTCHAR U_3F36 +ENCODING 16182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +2BC0 +4500 +BB00 +01C0 +EB40 +AAC0 +EA40 +AA40 +E2C0 +A760 +ENDCHAR +STARTCHAR U_3F37 +ENCODING 16183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +ABE0 +A900 +F900 +01C0 +FD40 +4140 +FEC0 +AA40 +AAC0 +8360 +ENDCHAR +STARTCHAR U_3F38 +ENCODING 16184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FFE0 +8500 +4900 +B5C0 +4940 +86C0 +7A40 +4A40 +4AC0 +7B60 +ENDCHAR +STARTCHAR U_3F39 +ENCODING 16185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +FFE0 +4900 +1100 +FDC0 +4140 +7DC0 +5540 +5540 +5540 +9760 +ENDCHAR +STARTCHAR U_3F3A +ENCODING 16186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7FE0 +5100 +7D00 +55C0 +7F40 +55C0 +7D40 +6540 +BD40 +A760 +ENDCHAR +STARTCHAR U_3F3B +ENCODING 16187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3280 +CD60 +3500 +E5E0 +2700 +28E0 +FFC0 +1000 +1F00 +2520 +30E0 +ENDCHAR +STARTCHAR U_3F3C +ENCODING 16188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5100 +F900 +A9C0 +FA40 +0340 +72C0 +0240 +FA40 +72C0 +AB60 +ENDCHAR +STARTCHAR U_3F3D +ENCODING 16189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +13E0 +FD00 +B500 +59C0 +B540 +5AC0 +B640 +2A40 +46C0 +8360 +ENDCHAR +STARTCHAR U_3F3E +ENCODING 16190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FE0 +5500 +7D00 +55C0 +7D40 +4940 +6AC0 +BE40 +AA40 +BF60 +ENDCHAR +STARTCHAR U_3F3F +ENCODING 16191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +8900 +5100 +FDC0 +A940 +FAC0 +AA40 +FA40 +22C0 +FB60 +ENDCHAR +STARTCHAR U_3F40 +ENCODING 16192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +FFE0 +2900 +FD00 +ADC0 +D540 +FEC0 +1240 +FE40 +2A40 +C760 +ENDCHAR +STARTCHAR U_3F41 +ENCODING 16193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4CC0 +4880 +7FE0 +5DC0 +6AA0 +7FE0 +4800 +4F80 +94A0 +9AE0 +ENDCHAR +STARTCHAR U_3F42 +ENCODING 16194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3000 +4BE0 +B500 +01C0 +7940 +4940 +FDC0 +B540 +6D40 +B520 +6DA0 +ENDCHAR +STARTCHAR U_3F43 +ENCODING 16195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F800 +ABE0 +F900 +7100 +A9C0 +AB40 +FAC0 +AA40 +FA40 +AAE0 +FB20 +ENDCHAR +STARTCHAR U_3F44 +ENCODING 16196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49C0 +FD00 +59E0 +6940 +FD40 +4A40 +FFE0 +2000 +3F00 +4940 +64C0 +ENDCHAR +STARTCHAR U_3F45 +ENCODING 16197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EBE0 +B500 +5900 +85C0 +FD40 +0140 +7AC0 +4A40 +7A40 +4AC0 +FF60 +ENDCHAR +STARTCHAR U_3F46 +ENCODING 16198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A400 +6BE0 +F900 +89C0 +7140 +5140 +FAC0 +AA40 +FA40 +AAE0 +FB20 +ENDCHAR +STARTCHAR U_3F47 +ENCODING 16199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1B80 +2480 +3B80 +2480 +FFE0 +8020 +7F80 +1000 +1F00 +2540 +32C0 +ENDCHAR +STARTCHAR U_3F48 +ENCODING 16200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +59E0 +6040 +7BE0 +9140 +FD60 +4AC0 +FFE0 +1000 +3F80 +24A0 +72E0 +ENDCHAR +STARTCHAR U_3F49 +ENCODING 16201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +9480 +EBE0 +92A0 +FBE0 +0000 +FFE0 +1000 +1F80 +24A0 +32E0 +ENDCHAR +STARTCHAR U_3F4A +ENCODING 16202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5400 +FFE0 +5500 +7DC0 +AB40 +B940 +01C0 +7D40 +2540 +1960 +E7A0 +ENDCHAR +STARTCHAR U_3F4B +ENCODING 16203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2840 +4480 +FFE0 +4440 +FFE0 +AAA0 +7FC0 +1000 +1F00 +2940 +35C0 +ENDCHAR +STARTCHAR U_3F4C +ENCODING 16204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +1100 +FF00 +D5C0 +7F40 +AB40 +FDC0 +5540 +7D40 +5560 +7DA0 +ENDCHAR +STARTCHAR U_3F4D +ENCODING 16205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +4FE0 +4900 +FD00 +49C0 +4940 +7AC0 +4A40 +4A40 +7AA0 +4B20 +ENDCHAR +STARTCHAR U_3F4E +ENCODING 16206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +FC80 +4BE0 +7AA0 +4A80 +7880 +4940 +FD40 +B140 +C940 +FE60 +ENDCHAR +STARTCHAR U_3F4F +ENCODING 16207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +9280 +47C0 +1820 +E7C0 +4440 +47C0 +1100 +FFE0 +1500 +1F00 +ENDCHAR +STARTCHAR U_3F50 +ENCODING 16208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +57E0 +FA80 +57E0 +52A0 +7FE0 +52A0 +57E0 +5280 +76C0 +5AA0 +ENDCHAR +STARTCHAR U_3F51 +ENCODING 16209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57C0 +5280 +FFC0 +5540 +57C0 +5280 +7380 +5280 +5FE0 +5100 +7100 +ENDCHAR +STARTCHAR U_3F52 +ENCODING 16210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +AA80 +FFE0 +AC80 +F880 +23E0 +F880 +2880 +2880 +4880 +93E0 +ENDCHAR +STARTCHAR U_3F53 +ENCODING 16211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +3F80 +4400 +BF80 +0400 +FFE0 +5280 +7BE0 +9480 +1080 +FBE0 +ENDCHAR +STARTCHAR U_3F54 +ENCODING 16212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +D880 +5280 +FBE0 +2280 +65C0 +9080 +5880 +B3E0 +5800 +27E0 +ENDCHAR +STARTCHAR U_3F55 +ENCODING 16213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +2480 +2480 +3F80 +0000 +FF80 +2080 +3FE0 +0020 +00E0 +ENDCHAR +STARTCHAR U_3F56 +ENCODING 16214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +F900 +ABE0 +A920 +F920 +AA20 +AA20 +FA20 +0540 +0880 +ENDCHAR +STARTCHAR U_3F57 +ENCODING 16215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +F900 +A900 +A900 +F900 +A900 +AA80 +FA80 +0440 +0820 +ENDCHAR +STARTCHAR U_3F58 +ENCODING 16216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0100 +FFE0 +A800 +AB80 +FA80 +AA80 +AA80 +FA80 +04A0 +18C0 +ENDCHAR +STARTCHAR U_3F59 +ENCODING 16217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +FA40 +AC20 +AFE0 +FA80 +AA80 +AA80 +FA80 +04A0 +18E0 +ENDCHAR +STARTCHAR U_3F5A +ENCODING 16218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +7FC0 +2400 +7FC0 +8400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_3F5B +ENCODING 16219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +FBE0 +AC20 +A820 +FBA0 +AAA0 +ABA0 +F820 +0020 +00C0 +ENDCHAR +STARTCHAR U_3F5C +ENCODING 16220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BC0 +8A40 +52A0 +23E0 +C000 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_3F5D +ENCODING 16221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +FC40 +2140 +3940 +4940 +B140 +20C0 +FF80 +2480 +3F80 +2480 +3F80 +ENDCHAR +STARTCHAR U_3F5E +ENCODING 16222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +F780 +9480 +9480 +F780 +0000 +7F00 +4900 +7F00 +4900 +7F00 +ENDCHAR +STARTCHAR U_3F5F +ENCODING 16223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +0700 +FAA0 +AAA0 +A940 +F840 +AFE0 +A840 +F940 +0040 +00C0 +ENDCHAR +STARTCHAR U_3F60 +ENCODING 16224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +FFE0 +A940 +AD40 +FBA0 +A900 +A900 +FA80 +0440 +0820 +ENDCHAR +STARTCHAR U_3F61 +ENCODING 16225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +03E0 +FAA0 +ABE0 +AAA0 +FBE0 +A940 +AA40 +FBE0 +0040 +0040 +ENDCHAR +STARTCHAR U_3F62 +ENCODING 16226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +07E0 +F940 +AAA0 +AFE0 +FAA0 +ABE0 +AAA0 +FBE0 +0080 +00E0 +ENDCHAR +STARTCHAR U_3F63 +ENCODING 16227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +00A0 +FFE0 +A880 +AE80 +FAA0 +AAA0 +AEC0 +F8A0 +0F60 +0220 +ENDCHAR +STARTCHAR U_3F64 +ENCODING 16228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07E0 +F920 +AD60 +ABA0 +FFE0 +A920 +ABA0 +FD60 +0120 +00C0 +ENDCHAR +STARTCHAR U_3F65 +ENCODING 16229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +F880 +AFE0 +A9A0 +FA80 +AD80 +A880 +ABE0 +F880 +02C0 +04A0 +ENDCHAR +STARTCHAR U_3F66 +ENCODING 16230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +3B80 +2A80 +C440 +7FE0 +8020 +3F80 +2480 +3F80 +2480 +3F80 +ENDCHAR +STARTCHAR U_3F67 +ENCODING 16231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +07E0 +FA40 +AA40 +AC80 +FDA0 +AAE0 +AA40 +FE80 +05A0 +06E0 +ENDCHAR +STARTCHAR U_3F68 +ENCODING 16232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +07E0 +F900 +AFC0 +A900 +FFE0 +AA00 +ABE0 +FC80 +0480 +0BE0 +ENDCHAR +STARTCHAR U_3F69 +ENCODING 16233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0240 +FBC0 +AA40 +ADA0 +FF60 +A940 +AEA0 +FB40 +0080 +0700 +ENDCHAR +STARTCHAR U_3F6A +ENCODING 16234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0FE0 +F920 +ABA0 +A920 +FFE0 +AA40 +ABC0 +FA40 +0240 +03C0 +ENDCHAR +STARTCHAR U_3F6B +ENCODING 16235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +5280 +F7E0 +5A80 +62E0 +BF80 +2480 +3F80 +2480 +3F80 +ENDCHAR +STARTCHAR U_3F6C +ENCODING 16236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0000 +F3C0 +9240 +F3C0 +0000 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +ENDCHAR +STARTCHAR U_3F6D +ENCODING 16237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +AFE0 +A920 +FBC0 +A900 +AFE0 +F100 +8FE0 +0AA0 +0860 +ENDCHAR +STARTCHAR U_3F6E +ENCODING 16238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +FFE0 +A4A0 +FFE0 +A4A0 +7FC0 +4400 +BF80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_3F6F +ENCODING 16239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0520 +07E0 +FA80 +AFE0 +AA80 +FBE0 +AA80 +AFE0 +FAA0 +0FE0 +0820 +ENDCHAR +STARTCHAR U_3F70 +ENCODING 16240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7DE0 +5460 +5440 +7D40 +5560 +5540 +7D40 +5540 +55C0 +BE60 +ENDCHAR +STARTCHAR U_3F71 +ENCODING 16241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6440 +2440 +2440 +6440 +A5C0 +2640 +4040 +8040 +ENDCHAR +STARTCHAR U_3F72 +ENCODING 16242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2200 +2400 +6FE0 +A020 +2020 +4140 +8080 +ENDCHAR +STARTCHAR U_3F73 +ENCODING 16243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +67C0 +2100 +2100 +6FE0 +A100 +2100 +4500 +8300 +ENDCHAR +STARTCHAR U_3F74 +ENCODING 16244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A080 +6080 +3FE0 +2080 +6480 +A500 +2200 +4500 +98E0 +ENDCHAR +STARTCHAR U_3F75 +ENCODING 16245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6200 +2200 +2200 +6FC0 +A200 +2200 +4200 +9FE0 +ENDCHAR +STARTCHAR U_3F76 +ENCODING 16246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2040 +2040 +6FC0 +A800 +2820 +4820 +87E0 +ENDCHAR +STARTCHAR U_3F77 +ENCODING 16247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6100 +3D20 +25A0 +65C0 +A940 +3140 +4520 +8300 +ENDCHAR +STARTCHAR U_3F78 +ENCODING 16248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6100 +2FE0 +2A20 +6200 +A300 +2520 +4920 +90E0 +ENDCHAR +STARTCHAR U_3F79 +ENCODING 16249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +61C0 +2E00 +2800 +6FC0 +AC40 +2A80 +5100 +A6C0 +ENDCHAR +STARTCHAR U_3F7A +ENCODING 16250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2480 +24E0 +6620 +A540 +2880 +5140 +A620 +ENDCHAR +STARTCHAR U_3F7B +ENCODING 16251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6100 +2FE0 +2100 +6FE0 +A440 +2280 +4100 +8EE0 +ENDCHAR +STARTCHAR U_3F7C +ENCODING 16252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6F40 +2140 +2F40 +6840 +AF40 +2140 +4540 +8240 +ENDCHAR +STARTCHAR U_3F7D +ENCODING 16253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6100 +2FE0 +2100 +6100 +A7C0 +2440 +4440 +87C0 +ENDCHAR +STARTCHAR U_3F7E +ENCODING 16254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6100 +2920 +2920 +6FE0 +A100 +2920 +4920 +8FE0 +ENDCHAR +STARTCHAR U_3F7F +ENCODING 16255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +61C0 +2E80 +2A80 +6A80 +AA40 +2B40 +52A0 +A320 +ENDCHAR +STARTCHAR U_3F80 +ENCODING 16256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6100 +27C0 +2100 +6FE0 +A100 +2240 +44E0 +8F20 +ENDCHAR +STARTCHAR U_3F81 +ENCODING 16257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A140 +6120 +2100 +2FE0 +6100 +A380 +2540 +4920 +9120 +ENDCHAR +STARTCHAR U_3F82 +ENCODING 16258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +A200 +6400 +2840 +2FE0 +6020 +AFC0 +2840 +4840 +8FC0 +ENDCHAR +STARTCHAR U_3F83 +ENCODING 16259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +6100 +2FE0 +2820 +6480 +A500 +2600 +4440 +83C0 +ENDCHAR +STARTCHAR U_3F84 +ENCODING 16260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6100 +2FE0 +2920 +6920 +AFE0 +2920 +4920 +8FE0 +ENDCHAR +STARTCHAR U_3F85 +ENCODING 16261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +61C0 +2F00 +2900 +6FE0 +A320 +2520 +4960 +9100 +ENDCHAR +STARTCHAR U_3F86 +ENCODING 16262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6100 +27C0 +2540 +67C0 +A540 +2FE0 +4440 +84C0 +ENDCHAR +STARTCHAR U_3F87 +ENCODING 16263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2840 +2FC0 +6840 +AFC0 +2840 +4840 +8FC0 +ENDCHAR +STARTCHAR U_3F88 +ENCODING 16264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6440 +2440 +2BE0 +7840 +AA40 +2940 +4840 +88C0 +ENDCHAR +STARTCHAR U_3F89 +ENCODING 16265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6280 +2C60 +2380 +6000 +A7C0 +2040 +4380 +8080 +ENDCHAR +STARTCHAR U_3F8A +ENCODING 16266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2100 +2FE0 +6920 +A960 +2380 +4540 +8920 +ENDCHAR +STARTCHAR U_3F8B +ENCODING 16267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6480 +2480 +2BE0 +7880 +A9C0 +2AA0 +4AA0 +8880 +ENDCHAR +STARTCHAR U_3F8C +ENCODING 16268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A500 +67C0 +2900 +2100 +6FE0 +A280 +2280 +44A0 +9860 +ENDCHAR +STARTCHAR U_3F8D +ENCODING 16269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2100 +2200 +6FE0 +AAA0 +2AA0 +4AA0 +8860 +ENDCHAR +STARTCHAR U_3F8E +ENCODING 16270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6EE0 +2AA0 +2AA0 +6AA0 +ABA0 +2820 +4820 +8FE0 +ENDCHAR +STARTCHAR U_3F8F +ENCODING 16271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +67C0 +2100 +2FE0 +6000 +A100 +27C0 +4100 +8FE0 +ENDCHAR +STARTCHAR U_3F90 +ENCODING 16272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +7E20 +28A0 +2EA0 +72A0 +AAA0 +24A0 +4820 +9060 +ENDCHAR +STARTCHAR U_3F91 +ENCODING 16273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A300 +6480 +2840 +77A0 +A000 +2FC0 +4840 +4840 +8FC0 +ENDCHAR +STARTCHAR U_3F92 +ENCODING 16274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A800 +6AE0 +3FA0 +6AA0 +AAA0 +3AA0 +44A0 +4AE0 +9200 +ENDCHAR +STARTCHAR U_3F93 +ENCODING 16275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AFC0 +6840 +2FC0 +2000 +6FC0 +A840 +2E40 +49C0 +8840 +ENDCHAR +STARTCHAR U_3F94 +ENCODING 16276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +67C0 +2440 +67C0 +A000 +2FE0 +4820 +4820 +8FE0 +ENDCHAR +STARTCHAR U_3F95 +ENCODING 16277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2440 +6280 +AFE0 +2100 +4FE0 +4100 +8100 +ENDCHAR +STARTCHAR U_3F96 +ENCODING 16278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AFE0 +6920 +2FE0 +2920 +6FE0 +A100 +27C0 +4100 +8FE0 +ENDCHAR +STARTCHAR U_3F97 +ENCODING 16279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FC0 +2840 +6FC0 +A840 +2FC0 +4A40 +4980 +8CE0 +ENDCHAR +STARTCHAR U_3F98 +ENCODING 16280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2920 +6FE0 +A920 +2FE0 +4500 +4200 +8DE0 +ENDCHAR +STARTCHAR U_3F99 +ENCODING 16281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AC40 +6380 +2C40 +6200 +AFE0 +2500 +4FC0 +5540 +8100 +ENDCHAR +STARTCHAR U_3F9A +ENCODING 16282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +66E0 +3480 +36A0 +78E0 +A000 +27C0 +4000 +8FE0 +ENDCHAR +STARTCHAR U_3F9B +ENCODING 16283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A040 +67C0 +2040 +27C0 +6FE0 +ABA0 +2280 +4100 +8EE0 +ENDCHAR +STARTCHAR U_3F9C +ENCODING 16284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2100 +2540 +6540 +ABA0 +2100 +4280 +8C60 +ENDCHAR +STARTCHAR U_3F9D +ENCODING 16285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +27C0 +2540 +67C0 +A540 +27C0 +4FE0 +8100 +ENDCHAR +STARTCHAR U_3F9E +ENCODING 16286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2280 +2FE0 +6AA0 +AC60 +2BA0 +4820 +8FE0 +ENDCHAR +STARTCHAR U_3F9F +ENCODING 16287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +65C0 +2500 +2FE0 +6100 +A520 +2940 +4180 +8E00 +ENDCHAR +STARTCHAR U_3FA0 +ENCODING 16288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6BC0 +2480 +2C80 +65C0 +AC80 +2480 +4480 +89C0 +ENDCHAR +STARTCHAR U_3FA1 +ENCODING 16289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +64E0 +2EA0 +64A0 +BFA0 +24A0 +4AE0 +5F80 +8080 +ENDCHAR +STARTCHAR U_3FA2 +ENCODING 16290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +7FE0 +2520 +6940 +B5A0 +2300 +4580 +4940 +9120 +ENDCHAR +STARTCHAR U_3FA3 +ENCODING 16291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7DC0 +2000 +2F80 +6200 +BFC0 +3240 +4A80 +9FC0 +ENDCHAR +STARTCHAR U_3FA4 +ENCODING 16292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2820 +2280 +6C60 +A7C0 +2100 +4100 +8FE0 +ENDCHAR +STARTCHAR U_3FA5 +ENCODING 16293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +6700 +24E0 +7FA0 +A4A0 +2EA0 +55A0 +4440 +8CA0 +ENDCHAR +STARTCHAR U_3FA6 +ENCODING 16294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2440 +2280 +6FE0 +A000 +27C0 +4440 +87C0 +ENDCHAR +STARTCHAR U_3FA7 +ENCODING 16295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AFE0 +6920 +2FE0 +2920 +6FE0 +A100 +2FE0 +4380 +8D60 +ENDCHAR +STARTCHAR U_3FA8 +ENCODING 16296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2100 +2EE0 +6000 +AFE0 +2540 +4740 +80C0 +ENDCHAR +STARTCHAR U_3FA9 +ENCODING 16297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A0C0 +6F00 +2200 +7FE0 +AA80 +3AE0 +4A80 +5A80 +8A60 +ENDCHAR +STARTCHAR U_3FAA +ENCODING 16298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +6AC0 +3320 +2FC0 +7840 +AF40 +2BC0 +4840 +8FC0 +ENDCHAR +STARTCHAR U_3FAB +ENCODING 16299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2820 +2FE0 +6800 +AFE0 +2AA0 +5FE0 +AAA0 +ENDCHAR +STARTCHAR U_3FAC +ENCODING 16300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A880 +6EE0 +2880 +2EE0 +6400 +AFE0 +2B20 +49A0 +8FE0 +ENDCHAR +STARTCHAR U_3FAD +ENCODING 16301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +7C80 +2AA0 +3EA0 +69C0 +BC80 +3B40 +4940 +8A20 +ENDCHAR +STARTCHAR U_3FAE +ENCODING 16302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A7C0 +6440 +27C0 +2440 +6FE0 +A100 +27C0 +4100 +8FE0 +ENDCHAR +STARTCHAR U_3FAF +ENCODING 16303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6F80 +2A80 +2F80 +6A80 +BFE0 +2A40 +4980 +8CE0 +ENDCHAR +STARTCHAR U_3FB0 +ENCODING 16304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +64E0 +3FA0 +64E0 +A4A0 +3EE0 +52A0 +52A0 +9F60 +ENDCHAR +STARTCHAR U_3FB1 +ENCODING 16305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A140 +7EA0 +2AC0 +6440 +BFE0 +2480 +2FC0 +44A0 +98E0 +ENDCHAR +STARTCHAR U_3FB2 +ENCODING 16306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FE0 +A500 +7FE0 +2540 +3F40 +6540 +BE80 +2880 +4F40 +B220 +ENDCHAR +STARTCHAR U_3FB3 +ENCODING 16307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7BE0 +24A0 +2880 +7360 +A480 +3FE0 +4480 +9F40 +ENDCHAR +STARTCHAR U_3FB4 +ENCODING 16308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7FE0 +2A80 +7240 +AFA0 +2880 +4F80 +4880 +BFE0 +ENDCHAR +STARTCHAR U_3FB5 +ENCODING 16309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +2100 +3FE0 +A440 +7E40 +21E0 +6E40 +A040 +2E40 +4A40 +8E40 +ENDCHAR +STARTCHAR U_3FB6 +ENCODING 16310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A880 +6B80 +2A80 +3FE0 +68A0 +AF80 +2880 +4F80 +8880 +ENDCHAR +STARTCHAR U_3FB7 +ENCODING 16311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +DFC0 +5100 +57E0 +D540 +57E0 +5540 +5540 +AA60 +ENDCHAR +STARTCHAR U_3FB8 +ENCODING 16312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2100 +AFE0 +6000 +27C0 +6440 +AFE0 +2AA0 +4BA0 +8860 +ENDCHAR +STARTCHAR U_3FB9 +ENCODING 16313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FE0 +2280 +ABE0 +6A80 +3F60 +6100 +BFE0 +2580 +4940 +9120 +ENDCHAR +STARTCHAR U_3FBA +ENCODING 16314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2900 +AFC0 +6900 +2FC0 +6900 +AFE0 +2520 +5520 +90C0 +ENDCHAR +STARTCHAR U_3FBB +ENCODING 16315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4080 +5D40 +D620 +59C0 +5480 +D7E0 +5C80 +52C0 +95A0 +ENDCHAR +STARTCHAR U_3FBC +ENCODING 16316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2240 +ABC0 +7E40 +2BC0 +6AA0 +AA40 +2B20 +5C00 +83E0 +ENDCHAR +STARTCHAR U_3FBD +ENCODING 16317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2080 +B100 +6BC0 +3E40 +6BE0 +AA20 +2BE0 +5C00 +A3E0 +ENDCHAR +STARTCHAR U_3FBE +ENCODING 16318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2480 +BFE0 +6540 +3FE0 +6540 +AFC0 +2500 +4D40 +9520 +ENDCHAR +STARTCHAR U_3FBF +ENCODING 16319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +6EE0 +2AA0 +6EC0 +AAA0 +2EA0 +28A0 +4AE0 +8D80 +ENDCHAR +STARTCHAR U_3FC0 +ENCODING 16320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4100 +F9E0 +5540 +5540 +7DE0 +D540 +5140 +5A40 +B5E0 +ENDCHAR +STARTCHAR U_3FC1 +ENCODING 16321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +6FC0 +2940 +2A40 +7FE0 +A940 +37A0 +4100 +8100 +ENDCHAR +STARTCHAR U_3FC2 +ENCODING 16322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4500 +55E0 +DF40 +4140 +5F40 +C940 +5C80 +4940 +9E20 +ENDCHAR +STARTCHAR U_3FC3 +ENCODING 16323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +D540 +7FE0 +5540 +6FA0 +D240 +5FC0 +5240 +52C0 +8200 +ENDCHAR +STARTCHAR U_3FC4 +ENCODING 16324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5FC0 +D540 +5E20 +55C0 +DF40 +5540 +5A80 +9F60 +ENDCHAR +STARTCHAR U_3FC5 +ENCODING 16325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2480 +AAE0 +7680 +2BE0 +7880 +AAE0 +2A80 +4B80 +8C60 +ENDCHAR +STARTCHAR U_3FC6 +ENCODING 16326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2100 +7FE0 +A940 +3FE0 +2540 +5880 +8C60 +ENDCHAR +STARTCHAR U_3FC7 +ENCODING 16327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AAA0 +6660 +3AA0 +2220 +67C0 +A440 +27C0 +4440 +87C0 +ENDCHAR +STARTCHAR U_3FC8 +ENCODING 16328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A880 +7140 +2FE0 +2940 +73E0 +AD40 +25E0 +4940 +91E0 +ENDCHAR +STARTCHAR U_3FC9 +ENCODING 16329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +6F80 +2A80 +7FE0 +A880 +2F80 +2880 +4F80 +9040 +ENDCHAR +STARTCHAR U_3FCA +ENCODING 16330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5540 +DFE0 +5540 +6660 +4000 +CFC0 +4940 +4A40 +8FC0 +ENDCHAR +STARTCHAR U_3FCB +ENCODING 16331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +6FE0 +2920 +6FE0 +A100 +3FE0 +2100 +4540 +9920 +ENDCHAR +STARTCHAR U_3FCC +ENCODING 16332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6280 +2C60 +6380 +AEE0 +2AA0 +2EE0 +4440 +9BA0 +ENDCHAR +STARTCHAR U_3FCD +ENCODING 16333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A800 +7FE0 +24A0 +3F20 +6A40 +BFE0 +2A40 +7FE0 +AA40 +ENDCHAR +STARTCHAR U_3FCE +ENCODING 16334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +7FE0 +2540 +3FE0 +6440 +A7C0 +2440 +47C0 +9820 +ENDCHAR +STARTCHAR U_3FCF +ENCODING 16335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +7FE0 +2480 +3F80 +6900 +B7C0 +2100 +4FC0 +8100 +ENDCHAR +STARTCHAR U_3FD0 +ENCODING 16336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4480 +5EE0 +C5A0 +7E40 +44A0 +D7A0 +5440 +5C80 +A3E0 +ENDCHAR +STARTCHAR U_3FD1 +ENCODING 16337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AAA0 +6660 +3BA0 +2480 +6BE0 +B880 +2BE0 +4880 +8BE0 +ENDCHAR +STARTCHAR U_3FD2 +ENCODING 16338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +7FE0 +2100 +2FE0 +6240 +BFE0 +2A40 +4F40 +80C0 +ENDCHAR +STARTCHAR U_3FD3 +ENCODING 16339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7FE0 +2A40 +37A0 +6CC0 +B7A0 +2AC0 +4F00 +91E0 +ENDCHAR +STARTCHAR U_3FD4 +ENCODING 16340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A540 +67C0 +2540 +6FE0 +AAA0 +2FE0 +2AA0 +4FE0 +8820 +ENDCHAR +STARTCHAR U_3FD5 +ENCODING 16341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AAA0 +6EE0 +2B20 +6DA0 +A8A0 +2DA0 +28A0 +4FA0 +8860 +ENDCHAR +STARTCHAR U_3FD6 +ENCODING 16342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2940 +6E80 +ABE0 +2AA0 +2FE0 +5AA0 +AFE0 +ENDCHAR +STARTCHAR U_3FD7 +ENCODING 16343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6EE0 +2440 +7FE0 +A4A0 +2EE0 +35A0 +4AE0 +9B20 +ENDCHAR +STARTCHAR U_3FD8 +ENCODING 16344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +6AA0 +DDC0 +5540 +6220 +7FE0 +C8A0 +5FC0 +5040 +9FC0 +ENDCHAR +STARTCHAR U_3FD9 +ENCODING 16345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A540 +7FE0 +2AA0 +3FE0 +6200 +BFE0 +2480 +4840 +B020 +ENDCHAR +STARTCHAR U_3FDA +ENCODING 16346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5540 +DFC0 +5100 +7E80 +53E0 +FE80 +53E0 +6A80 +ABE0 +ENDCHAR +STARTCHAR U_3FDB +ENCODING 16347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AAA0 +6EE0 +2AA0 +6FE0 +AAA0 +2FE0 +2AA0 +4AC0 +9360 +ENDCHAR +STARTCHAR U_3FDC +ENCODING 16348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +6FC0 +2A40 +6FC0 +AA80 +3FE0 +5540 +5FC0 +9540 +ENDCHAR +STARTCHAR U_3FDD +ENCODING 16349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +2000 +7F80 +4080 +7F80 +4080 +7F80 +2000 +4080 +80C0 +7F40 +ENDCHAR +STARTCHAR U_3FDE +ENCODING 16350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +4700 +F100 +91E0 +9700 +F100 +91E0 +9F00 +F100 +9120 +00E0 +ENDCHAR +STARTCHAR U_3FDF +ENCODING 16351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4100 +F7E0 +9420 +9420 +F7E0 +9420 +9420 +9420 +F7E0 +9420 +ENDCHAR +STARTCHAR U_3FE0 +ENCODING 16352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4920 +F540 +9380 +9FE0 +F280 +9280 +9280 +F2A0 +04A0 +0860 +ENDCHAR +STARTCHAR U_3FE1 +ENCODING 16353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +3F80 +4A40 +2B80 +4A40 +1220 +E1E0 +ENDCHAR +STARTCHAR U_3FE2 +ENCODING 16354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +F780 +9480 +F780 +9480 +F780 +0C80 +7F00 +4100 +7F00 +4100 +7F00 +ENDCHAR +STARTCHAR U_3FE3 +ENCODING 16355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +4440 +F7C0 +9440 +97C0 +F400 +97E0 +9D20 +F6A0 +07A0 +0060 +ENDCHAR +STARTCHAR U_3FE4 +ENCODING 16356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4FE0 +F100 +97C0 +9200 +FFE0 +9640 +9BE0 +F240 +03C0 +0240 +ENDCHAR +STARTCHAR U_3FE5 +ENCODING 16357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4FE0 +F920 +9280 +97E0 +FC80 +97E0 +9480 +F7E0 +0480 +07E0 +ENDCHAR +STARTCHAR U_3FE6 +ENCODING 16358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2260 +FDC0 +AA40 +F980 +9260 +BF80 +2480 +2880 +3F80 +ENDCHAR +STARTCHAR U_3FE7 +ENCODING 16359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4FE0 +8100 +FFE0 +A120 +AFC0 +E040 +BFE0 +AA40 +EF40 +00C0 +ENDCHAR +STARTCHAR U_3FE8 +ENCODING 16360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +8920 +EEC0 +AA40 +AFE0 +EA40 +AFE0 +AA40 +EAE0 +1280 +17E0 +ENDCHAR +STARTCHAR U_3FE9 +ENCODING 16361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +4FE0 +8AA0 +F7C0 +9540 +97C0 +F100 +97C0 +9100 +FFE0 +0AA0 +ENDCHAR +STARTCHAR U_3FEA +ENCODING 16362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FBC0 +A940 +A140 +FB40 +89C0 +B140 +9240 +AA40 +C460 +ENDCHAR +STARTCHAR U_3FEB +ENCODING 16363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BC0 +4220 +79E0 +0400 +7FC0 +4440 +5F80 +4880 +4700 +B8E0 +ENDCHAR +STARTCHAR U_3FEC +ENCODING 16364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +AAA0 +A2A0 +FBE0 +8A00 +D200 +A200 +B200 +CA20 +81E0 +ENDCHAR +STARTCHAR U_3FED +ENCODING 16365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1880 +6080 +43E0 +7EA0 +5280 +53E0 +5AA0 +56A0 +5240 +92A0 +1520 +ENDCHAR +STARTCHAR U_3FEE +ENCODING 16366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FBE0 +AAA0 +AA80 +ABE0 +FEA0 +22A0 +5240 +4AA0 +8520 +ENDCHAR +STARTCHAR U_3FEF +ENCODING 16367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +E0E0 +3F80 +2080 +3F80 +0400 +7FC0 +4440 +5F80 +4900 +BFE0 +ENDCHAR +STARTCHAR U_3FF0 +ENCODING 16368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +52A0 +8A80 +53E0 +2220 +2240 +5340 +4A80 +8AC0 +0520 +ENDCHAR +STARTCHAR U_3FF1 +ENCODING 16369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +FB00 +23E0 +7280 +2480 +1FC0 +1440 +1F00 +1500 +1200 +2D80 +ENDCHAR +STARTCHAR U_3FF2 +ENCODING 16370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +23E0 +52A0 +8A80 +FBE0 +0B20 +EAA0 +AA40 +EAA0 +1D00 +ENDCHAR +STARTCHAR U_3FF3 +ENCODING 16371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +22A0 +FD40 +AAA0 +A2A0 +F800 +8BE0 +D2A0 +A3E0 +B2A0 +CBE0 +ENDCHAR +STARTCHAR U_3FF4 +ENCODING 16372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +23E0 +52A0 +FA80 +53E0 +7220 +52A0 +7240 +FAA0 +1500 +ENDCHAR +STARTCHAR U_3FF5 +ENCODING 16373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +A5A0 +F5A0 +95A0 +D100 +A7E0 +B100 +CA80 +8460 +ENDCHAR +STARTCHAR U_3FF6 +ENCODING 16374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +53E0 +FEA0 +A680 +FBE0 +2220 +7B40 +4A80 +8B40 +1C20 +ENDCHAR +STARTCHAR U_3FF7 +ENCODING 16375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F880 +23E0 +FAA0 +2280 +FBE0 +2220 +7B40 +9280 +1540 +7A20 +ENDCHAR +STARTCHAR U_3FF8 +ENCODING 16376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FB40 +AA40 +A7E0 +A520 +FFE0 +8800 +ABC0 +9140 +A880 +CB60 +ENDCHAR +STARTCHAR U_3FF9 +ENCODING 16377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +A880 +A3E0 +FD40 +97E0 +D480 +A7E0 +A480 +D480 +8BE0 +ENDCHAR +STARTCHAR U_3FFA +ENCODING 16378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +FBE0 +8AA0 +FA80 +5280 +FBE0 +5220 +AAA0 +7240 +72A0 +AD20 +ENDCHAR +STARTCHAR U_3FFB +ENCODING 16379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +FFE0 +0400 +0400 +0000 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_3FFC +ENCODING 16380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +1100 +1100 +FFE0 +1100 +1100 +2100 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_3FFD +ENCODING 16381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5F40 +8820 +1F80 +0080 +0500 +0200 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_3FFE +ENCODING 16382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +0400 +0400 +0C00 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_3FFF +ENCODING 16383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FC0 +0440 +2700 +3400 +4FE0 +8000 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_4000 +ENCODING 16384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +8540 +5480 +2420 +C3E0 +4000 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_4001 +ENCODING 16385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0800 +1F00 +3100 +DF00 +1100 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_4002 +ENCODING 16386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4420 +BFC0 +1100 +0E00 +1100 +FFE0 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_4003 +ENCODING 16387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0800 +7580 +0E00 +7500 +0CE0 +7400 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_4004 +ENCODING 16388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +4A40 +1680 +5540 +8F40 +1000 +7F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_4005 +ENCODING 16389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F100 +17C0 +2900 +6100 +AFE0 +2000 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_4006 +ENCODING 16390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7F80 +0480 +FFE0 +1480 +6B00 +1080 +FFE0 +2A80 +2A80 +FFC0 +ENDCHAR +STARTCHAR U_4007 +ENCODING 16391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +F7C0 +2900 +F7C0 +9100 +9540 +F7C0 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_4008 +ENCODING 16392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8880 +FA80 +8BE0 +F980 +92A0 +F460 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_4009 +ENCODING 16393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +0400 +FFE0 +2A80 +DF60 +1100 +1D00 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_400A +ENCODING 16394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2AA0 +8660 +5AA0 +2500 +DAE0 +4500 +5FC0 +1540 +1540 +7FE0 +ENDCHAR +STARTCHAR U_400B +ENCODING 16395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2500 +F9E0 +2100 +27E0 +3EA0 +C560 +3FE0 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_400C +ENCODING 16396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0480 +FFE0 +0400 +7FC0 +2480 +5540 +3F80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_400D +ENCODING 16397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FFC0 +5480 +FB00 +74E0 +5780 +FF80 +28C0 +3F80 +2A80 +FFC0 +ENDCHAR +STARTCHAR U_400E +ENCODING 16398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F200 +9200 +F400 +9400 +F7C0 +9040 +9040 +F040 +9280 +0100 +ENDCHAR +STARTCHAR U_400F +ENCODING 16399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +3FE0 +2020 +5E20 +9220 +1E20 +1220 +1E20 +1220 +1EA0 +0040 +ENDCHAR +STARTCHAR U_4010 +ENCODING 16400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +F840 +8B80 +8800 +F820 +8840 +FB80 +8800 +8820 +F840 +0380 +ENDCHAR +STARTCHAR U_4011 +ENCODING 16401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +EFC0 +A240 +E940 +A480 +A280 +E100 +A280 +A480 +E840 +1020 +ENDCHAR +STARTCHAR U_4012 +ENCODING 16402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F700 +9100 +9100 +F100 +9FE0 +F100 +9100 +9100 +F100 +0100 +ENDCHAR +STARTCHAR U_4013 +ENCODING 16403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +9200 +9F80 +F280 +9A80 +F680 +92A0 +95A0 +F4A0 +0860 +ENDCHAR +STARTCHAR U_4014 +ENCODING 16404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F120 +9120 +9520 +F520 +9920 +F120 +9220 +9220 +F4A0 +0840 +ENDCHAR +STARTCHAR U_4015 +ENCODING 16405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0720 +F120 +9720 +9420 +F420 +9720 +F120 +9120 +9120 +F520 +0220 +ENDCHAR +STARTCHAR U_4016 +ENCODING 16406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +9100 +9100 +FFE0 +9100 +F280 +9280 +9440 +F440 +0820 +ENDCHAR +STARTCHAR U_4017 +ENCODING 16407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +97C0 +F240 +9240 +9FE0 +F200 +9500 +F500 +0880 +1060 +ENDCHAR +STARTCHAR U_4018 +ENCODING 16408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F280 +9280 +9280 +FFE0 +9280 +F280 +9280 +9280 +F480 +0880 +ENDCHAR +STARTCHAR U_4019 +ENCODING 16409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +05E0 +F4A0 +94A0 +9EA0 +F4A0 +94A0 +F4A0 +96A0 +94A0 +F120 +0260 +ENDCHAR +STARTCHAR U_401A +ENCODING 16410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +6900 +5500 +7F00 +2000 +C780 +9480 +9480 +D580 +2400 +C400 +ENDCHAR +STARTCHAR U_401B +ENCODING 16411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F400 +97E0 +9AA0 +F2A0 +94A0 +F920 +9120 +9220 +F4A0 +0040 +ENDCHAR +STARTCHAR U_401C +ENCODING 16412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 0 -1 +BITMAP +2000 +3F80 +4A80 +9280 +2480 +4900 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_401D +ENCODING 16413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F500 +9520 +95C0 +F700 +9500 +F500 +9500 +9520 +F720 +04E0 +ENDCHAR +STARTCHAR U_401E +ENCODING 16414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F480 +9280 +9880 +F480 +9480 +F0E0 +9380 +9C80 +F080 +0080 +ENDCHAR +STARTCHAR U_401F +ENCODING 16415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +97E0 +92A0 +F7E0 +9680 +F7E0 +92A0 +94E0 +F480 +0880 +ENDCHAR +STARTCHAR U_4020 +ENCODING 16416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F420 +9420 +F7E0 +9420 +9420 +F7E0 +9420 +9420 +F7E0 +0420 +ENDCHAR +STARTCHAR U_4021 +ENCODING 16417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +91E0 +F100 +9100 +97E0 +F420 +9420 +9420 +F7E0 +0420 +ENDCHAR +STARTCHAR U_4022 +ENCODING 16418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F400 +97C0 +9A00 +F200 +9FC0 +F200 +9200 +9500 +F480 +0860 +ENDCHAR +STARTCHAR U_4023 +ENCODING 16419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F140 +9240 +F280 +9680 +F6C0 +9B20 +9260 +F240 +05C0 +1800 +ENDCHAR +STARTCHAR U_4024 +ENCODING 16420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +3D00 +2540 +D520 +0920 +3100 +DF80 +1280 +1980 +1480 +1F80 +ENDCHAR +STARTCHAR U_4025 +ENCODING 16421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +0700 +F400 +9500 +F500 +97E0 +F140 +9540 +F520 +0920 +0300 +ENDCHAR +STARTCHAR U_4026 +ENCODING 16422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9100 +FFE0 +9100 +9100 +F7C0 +9440 +F440 +97C0 +0440 +ENDCHAR +STARTCHAR U_4027 +ENCODING 16423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +97C0 +F280 +9280 +FFE0 +9000 +9280 +F280 +9240 +0440 +ENDCHAR +STARTCHAR U_4028 +ENCODING 16424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F700 +9100 +F100 +9FE0 +9100 +F100 +97C0 +9440 +F440 +07C0 +ENDCHAR +STARTCHAR U_4029 +ENCODING 16425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7C0 +9840 +F480 +9300 +9CE0 +F000 +97C0 +9440 +F440 +07C0 +ENDCHAR +STARTCHAR U_402A +ENCODING 16426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E5C0 +A800 +F400 +A7E0 +E880 +B880 +A880 +E880 +0A80 +0900 +ENDCHAR +STARTCHAR U_402B +ENCODING 16427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9280 +F280 +9440 +FBA0 +9000 +97C0 +F440 +0440 +07C0 +ENDCHAR +STARTCHAR U_402C +ENCODING 16428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +F280 +9440 +F820 +97C0 +F100 +97C0 +F100 +9100 +0FE0 +ENDCHAR +STARTCHAR U_402D +ENCODING 16429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +9200 +F480 +9740 +F240 +9480 +F900 +1280 +0460 +ENDCHAR +STARTCHAR U_402E +ENCODING 16430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +FFE0 +A800 +E800 +AFC0 +E000 +AA80 +EAA0 +0AA0 +1260 +ENDCHAR +STARTCHAR U_402F +ENCODING 16431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +F140 +9FE0 +F100 +97C0 +F540 +97C0 +9540 +F7C0 +0540 +04C0 +ENDCHAR +STARTCHAR U_4030 +ENCODING 16432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +9440 +9920 +F280 +9440 +F820 +97C0 +9440 +F440 +97C0 +ENDCHAR +STARTCHAR U_4031 +ENCODING 16433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E7C0 +AC40 +E380 +AD60 +A7C0 +E100 +A7C0 +A100 +EFE0 +0100 +ENDCHAR +STARTCHAR U_4032 +ENCODING 16434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E7E0 +A800 +E7C0 +A540 +BFE0 +EA40 +A940 +AFE0 +E040 +00C0 +ENDCHAR +STARTCHAR U_4033 +ENCODING 16435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +A7C0 +E540 +A7C0 +E100 +A380 +A540 +E920 +0100 +ENDCHAR +STARTCHAR U_4034 +ENCODING 16436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E540 +AA80 +AA80 +E540 +A000 +A7C0 +E100 +A100 +A100 +EFE0 +ENDCHAR +STARTCHAR U_4035 +ENCODING 16437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E480 +AFC0 +A840 +E400 +AFE0 +A100 +EFE0 +A100 +A280 +EC60 +ENDCHAR +STARTCHAR U_4036 +ENCODING 16438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +E100 +AFC0 +A840 +EFC0 +A840 +AFC0 +EA00 +AAC0 +A900 +E900 +0CC0 +ENDCHAR +STARTCHAR U_4037 +ENCODING 16439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E480 +AE80 +A5E0 +E4A0 +BFA0 +A4A0 +EAA0 +BFA0 +A120 +E260 +ENDCHAR +STARTCHAR U_4038 +ENCODING 16440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA00 +23E0 +7240 +A240 +6440 +3F80 +3480 +2A80 +2580 +3F80 +ENDCHAR +STARTCHAR U_4039 +ENCODING 16441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A200 +AA80 +EA80 +B740 +A200 +E200 +A500 +A880 +F060 +ENDCHAR +STARTCHAR U_403A +ENCODING 16442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +11E0 +2B40 +6880 +A940 +2220 +3FC0 +3240 +2940 +24C0 +3FC0 +ENDCHAR +STARTCHAR U_403B +ENCODING 16443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E7C0 +A540 +A7C0 +E540 +BFE0 +A400 +EFE0 +A040 +A280 +E100 +ENDCHAR +STARTCHAR U_403C +ENCODING 16444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A800 +AF80 +E800 +AFE0 +AA80 +EAA0 +AAC0 +AA80 +EA40 +1320 +ENDCHAR +STARTCHAR U_403D +ENCODING 16445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0060 +EDC0 +A440 +E440 +A860 +A540 +E540 +B540 +A9E0 +E800 +17E0 +ENDCHAR +STARTCHAR U_403E +ENCODING 16446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +2140 +7880 +A940 +3A20 +0000 +3FC0 +3240 +2940 +24C0 +3FC0 +ENDCHAR +STARTCHAR U_403F +ENCODING 16447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E460 +AF80 +E500 +A5E0 +A540 +E740 +BD40 +A540 +E540 +0E40 +ENDCHAR +STARTCHAR U_4040 +ENCODING 16448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +10C0 +7B00 +1200 +3BE0 +D280 +3480 +ENDCHAR +STARTCHAR U_4041 +ENCODING 16449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A000 +A7C0 +E440 +A7C0 +E100 +A380 +A540 +E920 +0300 +ENDCHAR +STARTCHAR U_4042 +ENCODING 16450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +A240 +F280 +9100 +F280 +A460 +FF80 +4080 +7F80 +4080 +7F80 +ENDCHAR +STARTCHAR U_4043 +ENCODING 16451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A200 +EFC0 +A200 +BFE0 +E200 +A540 +AC80 +F540 +0620 +ENDCHAR +STARTCHAR U_4044 +ENCODING 16452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EF80 +A200 +BFC0 +E500 +A200 +FFC0 +A200 +BFE0 +E200 +0200 +ENDCHAR +STARTCHAR U_4045 +ENCODING 16453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A080 +A100 +EFE0 +A100 +A300 +EFE0 +AAA0 +AAA0 +EAA0 +1FE0 +ENDCHAR +STARTCHAR U_4046 +ENCODING 16454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +BFC0 +A500 +FAC0 +AF80 +AA80 +EF80 +AA80 +AF80 +E220 +03E0 +ENDCHAR +STARTCHAR U_4047 +ENCODING 16455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +94A0 +5340 +3CA0 +5F80 +0000 +7FC0 +5240 +4940 +7FC0 +ENDCHAR +STARTCHAR U_4048 +ENCODING 16456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FE0 +4540 +7C80 +4160 +BF80 +2480 +3280 +2980 +2480 +3F80 +ENDCHAR +STARTCHAR U_4049 +ENCODING 16457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +7FE0 +4940 +79A0 +42C0 +BF80 +2480 +3280 +2980 +2480 +3F80 +ENDCHAR +STARTCHAR U_404A +ENCODING 16458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A280 +A100 +E280 +AC60 +A7C0 +E7C0 +A440 +A7C0 +E440 +07C0 +ENDCHAR +STARTCHAR U_404B +ENCODING 16459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EA80 +BFE0 +AA80 +EB80 +AFE0 +A100 +EFE0 +A380 +A540 +E920 +0100 +ENDCHAR +STARTCHAR U_404C +ENCODING 16460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A920 +AFE0 +E920 +AFE0 +A440 +E7C0 +A440 +A7C0 +E440 +04C0 +ENDCHAR +STARTCHAR U_404D +ENCODING 16461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00A0 +EFE0 +A880 +EF80 +A8A0 +AEA0 +EAC0 +AE80 +A980 +EAA0 +1060 +ENDCHAR +STARTCHAR U_404E +ENCODING 16462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A000 +E7C0 +A440 +AFE0 +E820 +A7C0 +A100 +E100 +0300 +ENDCHAR +STARTCHAR U_404F +ENCODING 16463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A280 +AFE0 +EAA0 +AFE0 +A200 +EFE0 +A280 +A480 +E300 +0CC0 +ENDCHAR +STARTCHAR U_4050 +ENCODING 16464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EFC0 +A480 +E200 +AFC0 +AA40 +EA40 +BFE0 +A200 +E500 +18C0 +ENDCHAR +STARTCHAR U_4051 +ENCODING 16465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +AA40 +A940 +EFC0 +A000 +BFE0 +E400 +AFC0 +B540 +EA40 +0580 +ENDCHAR +STARTCHAR U_4052 +ENCODING 16466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E440 +A7C0 +EFE0 +A440 +A7C0 +E440 +A7C0 +A440 +EFE0 +0040 +ENDCHAR +STARTCHAR U_4053 +ENCODING 16467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E280 +A920 +AAA0 +EFE0 +A440 +AA20 +E3C0 +A640 +AA80 +E100 +06C0 +ENDCHAR +STARTCHAR U_4054 +ENCODING 16468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E1E0 +AEA0 +A540 +EFE0 +A200 +AFE0 +E200 +A3C0 +A540 +E480 +0B60 +ENDCHAR +STARTCHAR U_4055 +ENCODING 16469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A840 +AFC0 +E900 +AFC0 +A8A0 +EFE0 +A840 +AFC0 +E840 +0FC0 +ENDCHAR +STARTCHAR U_4056 +ENCODING 16470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E920 +A540 +AFE0 +E540 +A920 +A200 +EFE0 +A440 +A280 +E100 +06C0 +ENDCHAR +STARTCHAR U_4057 +ENCODING 16471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EA80 +AF80 +A000 +FFE0 +A000 +AF80 +E880 +AF80 +A500 +E200 +1FC0 +ENDCHAR +STARTCHAR U_4058 +ENCODING 16472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E0C0 +BF20 +A540 +E280 +A800 +AFC0 +F100 +AFE0 +A100 +E920 +0FE0 +ENDCHAR +STARTCHAR U_4059 +ENCODING 16473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A540 +A4C0 +E7C0 +A100 +AFE0 +E920 +AFC0 +A280 +E100 +06C0 +ENDCHAR +STARTCHAR U_405A +ENCODING 16474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +9240 +97E0 +F420 +97E0 +9420 +F7E0 +9420 +97E0 +F240 +0C20 +ENDCHAR +STARTCHAR U_405B +ENCODING 16475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +AF80 +AA80 +EF80 +AA80 +AF80 +E200 +A280 +A5C0 +E920 +11E0 +ENDCHAR +STARTCHAR U_405C +ENCODING 16476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A440 +A7C0 +E440 +A7C0 +A920 +E540 +AFE0 +A280 +E4A0 +08E0 +ENDCHAR +STARTCHAR U_405D +ENCODING 16477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +71C0 +2080 +DB60 +0000 +FFE0 +90A0 +1F80 +1080 +1080 +1F80 +ENDCHAR +STARTCHAR U_405E +ENCODING 16478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +2940 +1080 +2940 +FFE0 +2880 +2F80 +2880 +2F80 +4880 +8F80 +ENDCHAR +STARTCHAR U_405F +ENCODING 16479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E440 +A280 +AFC0 +E200 +AFC0 +A200 +EFC0 +A400 +AB80 +E900 +17E0 +ENDCHAR +STARTCHAR U_4060 +ENCODING 16480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +EFC0 +A500 +AFC0 +E540 +BFE0 +A540 +EFC0 +A500 +AD80 +F560 +ENDCHAR +STARTCHAR U_4061 +ENCODING 16481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +EAA0 +AEE0 +A920 +E920 +AAA0 +AC60 +E820 +0860 +ENDCHAR +STARTCHAR U_4062 +ENCODING 16482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +E880 +BEE0 +A900 +EEE0 +AA40 +AB60 +EB40 +AB40 +B3C0 +EE60 +ENDCHAR +STARTCHAR U_4063 +ENCODING 16483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A540 +E7C0 +A540 +A540 +EFE0 +A080 +AFE0 +E280 +0180 +ENDCHAR +STARTCHAR U_4064 +ENCODING 16484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A280 +EFE0 +A920 +ABA0 +E920 +ABA0 +AAA0 +EBA0 +0860 +ENDCHAR +STARTCHAR U_4065 +ENCODING 16485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +AA80 +AFC0 +EA80 +AFC0 +AA00 +EFC0 +AA40 +ABC0 +E800 +0FE0 +ENDCHAR +STARTCHAR U_4066 +ENCODING 16486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E180 +A100 +AFE0 +E900 +ABA0 +A920 +EBE0 +AA40 +ABC0 +EA40 +17E0 +ENDCHAR +STARTCHAR U_4067 +ENCODING 16487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0500 +EF80 +A200 +AF80 +EA80 +AF80 +EFC0 +A200 +BFC0 +E500 +0880 +ENDCHAR +STARTCHAR U_4068 +ENCODING 16488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +EEE0 +A0A0 +EEA0 +AAC0 +AEA0 +EAA0 +A4A0 +AEA0 +E4E0 +0C80 +ENDCHAR +STARTCHAR U_4069 +ENCODING 16489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E780 +A900 +BFC0 +EA40 +AFC0 +EA40 +AFC0 +A000 +ED40 +12A0 +ENDCHAR +STARTCHAR U_406A +ENCODING 16490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0420 +EEC0 +A480 +EE80 +AAE0 +AEA0 +EAA0 +AEA0 +A4A0 +EEA0 +0520 +ENDCHAR +STARTCHAR U_406B +ENCODING 16491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +AAC0 +AF40 +EFC0 +A200 +EFC0 +A200 +BFE0 +A000 +ED40 +12A0 +ENDCHAR +STARTCHAR U_406C +ENCODING 16492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +EFE0 +AD60 +ABA0 +EFE0 +A000 +E7C0 +A440 +A7C0 +E440 +07C0 +ENDCHAR +STARTCHAR U_406D +ENCODING 16493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EFC0 +A200 +A500 +E880 +A660 +E440 +AEE0 +A440 +EAA0 +1120 +ENDCHAR +STARTCHAR U_406E +ENCODING 16494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +F540 +AEE0 +E440 +AEE0 +B100 +EFC0 +A840 +AFC0 +E840 +0FC0 +ENDCHAR +STARTCHAR U_406F +ENCODING 16495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E280 +A7C0 +E820 +A7C0 +A440 +EFE0 +AAA0 +A660 +EAA0 +0660 +ENDCHAR +STARTCHAR U_4070 +ENCODING 16496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E1E0 +BC80 +ABE0 +EA20 +ABE0 +AA20 +EFE0 +AA20 +B3E0 +E140 +0220 +ENDCHAR +STARTCHAR U_4071 +ENCODING 16497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +A7C0 +A540 +EFE0 +A440 +BFE0 +E000 +BFE0 +A480 +E4A0 +18E0 +ENDCHAR +STARTCHAR U_4072 +ENCODING 16498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +AAA0 +AFE0 +E440 +A7C0 +A440 +E7C0 +A440 +A7C0 +E280 +0C60 +ENDCHAR +STARTCHAR U_4073 +ENCODING 16499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EFE0 +A480 +A200 +EFC0 +A480 +B860 +E480 +BFE0 +A480 +E880 +ENDCHAR +STARTCHAR U_4074 +ENCODING 16500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A440 +E540 +A7C0 +A000 +E7C0 +A440 +A7C0 +E440 +1FE0 +ENDCHAR +STARTCHAR U_4075 +ENCODING 16501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EAA0 +AFE0 +E000 +BFE0 +A840 +EFC0 +A500 +A540 +EC80 +1640 +ENDCHAR +STARTCHAR U_4076 +ENCODING 16502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EE80 +AAE0 +AF20 +EAA0 +AEA0 +E4A0 +BE40 +AA40 +EAA0 +1720 +ENDCHAR +STARTCHAR U_4077 +ENCODING 16503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +4440 +6AC0 +4A40 +FFE0 +8020 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_4078 +ENCODING 16504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E280 +AFE0 +AAA0 +EFE0 +A800 +AFC0 +E800 +AFE0 +AA80 +EAC0 +1360 +ENDCHAR +STARTCHAR U_4079 +ENCODING 16505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E080 +AFE0 +AAA0 +EE40 +A9E0 +A840 +EE40 +ABE0 +AA40 +EE40 +1040 +ENDCHAR +STARTCHAR U_407A +ENCODING 16506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +AAA0 +AFE0 +E280 +AFC0 +A280 +EFE0 +A100 +BFE0 +E100 +0100 +ENDCHAR +STARTCHAR U_407B +ENCODING 16507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EA40 +AF40 +B580 +EF40 +B5A0 +BFE0 +E200 +BFC0 +A700 +EA80 +1240 +ENDCHAR +STARTCHAR U_407C +ENCODING 16508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +ED60 +ABA0 +AFE0 +E100 +A7C0 +E100 +AFE0 +A7C0 +E100 +0FE0 +ENDCHAR +STARTCHAR U_407D +ENCODING 16509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +EA80 +A540 +AFE0 +EAA0 +AFE0 +AA40 +EB40 +AEC0 +AA40 +EF60 +ENDCHAR +STARTCHAR U_407E +ENCODING 16510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +AFE0 +A480 +EFE0 +AAA0 +AFE0 +E140 +AFE0 +AD80 +EB20 +14E0 +ENDCHAR +STARTCHAR U_407F +ENCODING 16511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +54C0 +7CA0 +13E0 +7880 +1140 +FFA0 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_4080 +ENCODING 16512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EFC0 +A200 +EFC0 +A4A0 +AE80 +E5E0 +BE80 +A4A0 +E2C0 +0D20 +ENDCHAR +STARTCHAR U_4081 +ENCODING 16513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7C0 +9C40 +F7A0 +94E0 +97C0 +FD40 +97C0 +9340 +F520 +09E0 +ENDCHAR +STARTCHAR U_4082 +ENCODING 16514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +AEE0 +AAA0 +EFE0 +A480 +EFE0 +B480 +A7E0 +E480 +07E0 +ENDCHAR +STARTCHAR U_4083 +ENCODING 16515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +EE20 +A540 +AFE0 +EAA0 +AFE0 +EE40 +AAE0 +AF40 +EAC0 +0F40 +ENDCHAR +STARTCHAR U_4084 +ENCODING 16516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +AEE0 +EBA0 +AEE0 +A5C0 +EC80 +A7E0 +A440 +E380 +0C60 +ENDCHAR +STARTCHAR U_4085 +ENCODING 16517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A40 +EF80 +B4A0 +BFE0 +F540 +BA60 +EF80 +AA80 +AF80 +E240 +1FC0 +ENDCHAR +STARTCHAR U_4086 +ENCODING 16518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +F200 +1200 +53C0 +2440 +F840 +2A40 +6140 +A040 +2040 +2140 +6080 +ENDCHAR +STARTCHAR U_4087 +ENCODING 16519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +1140 +5140 +2140 +F940 +2BC0 +6140 +A140 +2240 +2240 +67E0 +ENDCHAR +STARTCHAR U_4088 +ENCODING 16520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1100 +5100 +27E0 +FD20 +2D20 +67E0 +A100 +2140 +21E0 +6620 +ENDCHAR +STARTCHAR U_4089 +ENCODING 16521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +13C0 +5440 +27E0 +FD00 +2DC0 +6680 +A7E0 +2480 +2540 +6620 +ENDCHAR +STARTCHAR U_408A +ENCODING 16522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +13C0 +5240 +27E0 +FAA0 +2BE0 +6140 +A680 +21C0 +26A0 +6180 +ENDCHAR +STARTCHAR U_408B +ENCODING 16523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F140 +2080 +F7E0 +92A0 +F580 +2080 +F7E0 +A1C0 +F2A0 +24A0 +ENDCHAR +STARTCHAR U_408C +ENCODING 16524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +17E0 +5240 +27E0 +FAA0 +2BE0 +62A0 +A3E0 +21C0 +2080 +67E0 +ENDCHAR +STARTCHAR U_408D +ENCODING 16525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +1640 +5540 +27C0 +FA80 +2FE0 +6580 +AB60 +2380 +2D60 +6300 +ENDCHAR +STARTCHAR U_408E +ENCODING 16526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +1FE0 +5540 +2EE0 +F440 +6FE0 +6A40 +A940 +AFC0 +2480 +6840 +ENDCHAR +STARTCHAR U_408F +ENCODING 16527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47E0 +7920 +A120 +2220 +FA60 +2400 +33E0 +4A20 +4A20 +83E0 +ENDCHAR +STARTCHAR U_4090 +ENCODING 16528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7520 +A520 +2520 +F7E0 +2100 +2520 +5520 +5520 +87E0 +ENDCHAR +STARTCHAR U_4091 +ENCODING 16529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4480 +7C80 +A480 +27A0 +FCC0 +2480 +3480 +4D80 +46A0 +84E0 +ENDCHAR +STARTCHAR U_4092 +ENCODING 16530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4080 +7BE0 +A080 +2080 +FBE0 +2000 +33E0 +4A20 +4A20 +83E0 +ENDCHAR +STARTCHAR U_4093 +ENCODING 16531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +7FC0 +A440 +27C0 +FC40 +27C0 +3280 +4A80 +44A0 +88E0 +ENDCHAR +STARTCHAR U_4094 +ENCODING 16532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +7900 +A7E0 +2280 +FFC0 +2100 +37E0 +4900 +4900 +8100 +ENDCHAR +STARTCHAR U_4095 +ENCODING 16533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +43C0 +7A40 +A7C0 +2080 +FFE0 +22C0 +35A0 +4AA0 +4D40 +82C0 +ENDCHAR +STARTCHAR U_4096 +ENCODING 16534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0400 +0900 +1080 +2040 +7F80 +A080 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_4097 +ENCODING 16535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FE00 +2200 +2220 +4240 +7380 +5E00 +D220 +5220 +7220 +01E0 +ENDCHAR +STARTCHAR U_4098 +ENCODING 16536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFC0 +2440 +2540 +4280 +7280 +5100 +D100 +5280 +7440 +0820 +ENDCHAR +STARTCHAR U_4099 +ENCODING 16537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +FA20 +2240 +2280 +4240 +7220 +5220 +D3A0 +5240 +7200 +0200 +ENDCHAR +STARTCHAR U_409A +ENCODING 16538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FA40 +2180 +2180 +4640 +7440 +5240 +D180 +5180 +7640 +0420 +ENDCHAR +STARTCHAR U_409B +ENCODING 16539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F840 +2280 +2100 +4FE0 +7140 +5100 +D100 +5100 +7100 +0300 +ENDCHAR +STARTCHAR U_409C +ENCODING 16540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +27E0 +2100 +4100 +77C0 +5100 +DFE0 +5100 +7100 +0100 +ENDCHAR +STARTCHAR U_409D +ENCODING 16541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0180 +FD40 +21E0 +2700 +7940 +6940 +A880 +28A0 +39A0 +0660 +ENDCHAR +STARTCHAR U_409E +ENCODING 16542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +1F80 +3080 +5F80 +0400 +FFE0 +0E00 +1500 +64C0 +0400 +ENDCHAR +STARTCHAR U_409F +ENCODING 16543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2000 +7BC0 +2A40 +2A40 +4BC0 +9000 +7FC0 +0800 +1F80 +2880 +4F80 +ENDCHAR +STARTCHAR U_40A0 +ENCODING 16544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +23C0 +2500 +4100 +7FE0 +5100 +D100 +5280 +7440 +0820 +ENDCHAR +STARTCHAR U_40A1 +ENCODING 16545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +FB00 +2200 +2200 +43C0 +7280 +5280 +D280 +5280 +7280 +0FE0 +ENDCHAR +STARTCHAR U_40A2 +ENCODING 16546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBC0 +2440 +2A80 +4100 +7280 +5C40 +D320 +5080 +7600 +0180 +ENDCHAR +STARTCHAR U_40A3 +ENCODING 16547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +F940 +2140 +2540 +45E0 +7540 +5540 +D540 +55C0 +7760 +0C60 +ENDCHAR +STARTCHAR U_40A4 +ENCODING 16548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +F940 +2240 +23E0 +4640 +7A40 +5340 +D2C0 +5240 +7240 +02C0 +ENDCHAR +STARTCHAR U_40A5 +ENCODING 16549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +FC40 +27C0 +2500 +4500 +77C0 +5500 +D500 +54A0 +76A0 +0460 +ENDCHAR +STARTCHAR U_40A6 +ENCODING 16550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +2280 +2440 +4920 +7600 +5180 +D600 +5040 +7180 +0E00 +ENDCHAR +STARTCHAR U_40A7 +ENCODING 16551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FC00 +27E0 +2820 +4100 +7540 +5540 +D920 +5120 +7100 +0300 +ENDCHAR +STARTCHAR U_40A8 +ENCODING 16552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +FF00 +2400 +2400 +47E0 +7480 +5480 +D580 +54C0 +74A0 +0880 +ENDCHAR +STARTCHAR U_40A9 +ENCODING 16553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FC20 +2520 +2520 +47E0 +7520 +55A0 +D660 +5420 +7420 +07E0 +ENDCHAR +STARTCHAR U_40AA +ENCODING 16554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FA80 +2280 +2AA0 +46C0 +7280 +56C0 +DAA0 +5280 +74A0 +08E0 +ENDCHAR +STARTCHAR U_40AB +ENCODING 16555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +03E0 +FE20 +1540 +2080 +7940 +6EA0 +ABC0 +3A80 +07E0 +0080 +ENDCHAR +STARTCHAR U_40AC +ENCODING 16556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F780 +2480 +2680 +35A0 +C8E0 +1000 +FFE0 +0800 +1F80 +3080 +5F80 +ENDCHAR +STARTCHAR U_40AD +ENCODING 16557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0100 +FFE0 +2280 +2440 +78A0 +6A80 +A900 +2900 +3A80 +0460 +ENDCHAR +STARTCHAR U_40AE +ENCODING 16558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +2120 +F920 +22A0 +FA40 +7FE0 +1000 +3FC0 +5040 +9FC0 +ENDCHAR +STARTCHAR U_40AF +ENCODING 16559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F880 +27E0 +2480 +4480 +77E0 +5480 +D480 +5480 +77E0 +0800 +ENDCHAR +STARTCHAR U_40B0 +ENCODING 16560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01A0 +0E20 +F2A0 +2FA0 +42A0 +72A0 +D7A0 +5AA0 +7220 +02A0 +0240 +ENDCHAR +STARTCHAR U_40B1 +ENCODING 16561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FA80 +2000 +27C0 +4440 +7440 +57C0 +D280 +52A0 +74A0 +08E0 +ENDCHAR +STARTCHAR U_40B2 +ENCODING 16562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7080 +23E0 +F8A0 +5120 +EA40 +7FE0 +0800 +1F80 +3080 +5F80 +ENDCHAR +STARTCHAR U_40B3 +ENCODING 16563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +FD40 +2540 +2540 +7BA0 +5100 +D7C0 +5100 +7100 +0FE0 +ENDCHAR +STARTCHAR U_40B4 +ENCODING 16564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +2FE0 +2000 +47C0 +7000 +57C0 +D000 +57C0 +7440 +07C0 +ENDCHAR +STARTCHAR U_40B5 +ENCODING 16565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F900 +2100 +2FE0 +4000 +77C0 +5440 +D540 +5100 +7280 +0460 +ENDCHAR +STARTCHAR U_40B6 +ENCODING 16566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0480 +FF80 +25E0 +24A0 +7FA0 +54A0 +DAA0 +5EA0 +7120 +0260 +ENDCHAR +STARTCHAR U_40B7 +ENCODING 16567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +0700 +F100 +2FE0 +4100 +F540 +5D60 +5540 +7D60 +0500 +0100 +ENDCHAR +STARTCHAR U_40B8 +ENCODING 16568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +0120 +F100 +2FE0 +2100 +7EA0 +5AC0 +DE80 +70A0 +0DA0 +0260 +ENDCHAR +STARTCHAR U_40B9 +ENCODING 16569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +23E0 +2540 +4280 +7300 +5D20 +D540 +5980 +7280 +0C60 +ENDCHAR +STARTCHAR U_40BA +ENCODING 16570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0540 +FFC0 +2540 +27C0 +7900 +6FE0 +AB80 +2D40 +3920 +0100 +ENDCHAR +STARTCHAR U_40BB +ENCODING 16571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +FC00 +27C0 +2400 +47C0 +7400 +5FE0 +D480 +54A0 +7540 +0620 +ENDCHAR +STARTCHAR U_40BC +ENCODING 16572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +2280 +2540 +48A0 +77C0 +5080 +D240 +56A0 +7A40 +01C0 +ENDCHAR +STARTCHAR U_40BD +ENCODING 16573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +01E0 +F900 +27C0 +2440 +77C0 +5440 +D7C0 +5100 +7FE0 +0100 +ENDCHAR +STARTCHAR U_40BE +ENCODING 16574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +FFE0 +2540 +2540 +7BA0 +6900 +AB80 +2D40 +3920 +0100 +ENDCHAR +STARTCHAR U_40BF +ENCODING 16575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F920 +2740 +2380 +4540 +7120 +57C0 +D440 +57C0 +7440 +07C0 +ENDCHAR +STARTCHAR U_40C0 +ENCODING 16576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2100 +27C0 +4140 +FFE0 +5140 +5FE0 +7440 +0380 +0440 +ENDCHAR +STARTCHAR U_40C1 +ENCODING 16577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F280 +2280 +2EE0 +4820 +F820 +5EE0 +5280 +7280 +0280 +0FE0 +ENDCHAR +STARTCHAR U_40C2 +ENCODING 16578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F420 +27E0 +2420 +47E0 +F000 +5480 +57E0 +7480 +06A0 +0440 +ENDCHAR +STARTCHAR U_40C3 +ENCODING 16579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +FAA0 +2920 +2FE0 +4920 +FFE0 +5A20 +5A20 +7BE0 +0820 +0860 +ENDCHAR +STARTCHAR U_40C4 +ENCODING 16580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0FE0 +F000 +27C0 +4440 +F7C0 +5100 +5540 +7920 +0100 +0300 +ENDCHAR +STARTCHAR U_40C5 +ENCODING 16581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F180 +27E0 +4520 +F7E0 +5520 +57E0 +5100 +77E0 +0100 +0100 +ENDCHAR +STARTCHAR U_40C6 +ENCODING 16582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +07E0 +F240 +23C0 +4240 +F3C0 +5240 +5240 +7FE0 +0240 +0420 +ENDCHAR +STARTCHAR U_40C7 +ENCODING 16583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +07C0 +F440 +27C0 +4440 +F7C0 +5100 +5FE0 +7920 +0960 +0100 +ENDCHAR +STARTCHAR U_40C8 +ENCODING 16584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +07E0 +F480 +26A0 +4440 +F200 +57C0 +5440 +77C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_40C9 +ENCODING 16585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0440 +F7C0 +2480 +47E0 +F440 +57E0 +5440 +77C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_40CA +ENCODING 16586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0FE0 +F440 +2000 +47C0 +F440 +57C0 +5440 +77C0 +0440 +0FE0 +ENDCHAR +STARTCHAR U_40CB +ENCODING 16587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0280 +F440 +2BA0 +4000 +F720 +5560 +5760 +7560 +0720 +0560 +ENDCHAR +STARTCHAR U_40CC +ENCODING 16588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F280 +2FE0 +4AA0 +FCE0 +5820 +5FE0 +7100 +07C0 +0100 +0FE0 +ENDCHAR +STARTCHAR U_40CD +ENCODING 16589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +0300 +FFE0 +2200 +4520 +FAC0 +55C0 +5AA0 +74A0 +0A80 +0100 +ENDCHAR +STARTCHAR U_40CE +ENCODING 16590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +F7E0 +2280 +4540 +FBA0 +5500 +5280 +7D40 +0280 +0300 +ENDCHAR +STARTCHAR U_40CF +ENCODING 16591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F820 +2FE0 +4820 +FFE0 +5500 +57E0 +7900 +0FE0 +0100 +0FE0 +ENDCHAR +STARTCHAR U_40D0 +ENCODING 16592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0100 +FFE0 +2AA0 +2540 +7140 +5FE0 +D100 +5280 +7440 +0820 +ENDCHAR +STARTCHAR U_40D1 +ENCODING 16593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04E0 +08A0 +FEA0 +4AA0 +4EA0 +EB00 +BEE0 +AAA0 +AEA0 +EA40 +16A0 +ENDCHAR +STARTCHAR U_40D2 +ENCODING 16594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F800 +23C0 +2240 +43C0 +7000 +57E0 +D6A0 +57E0 +7520 +0460 +ENDCHAR +STARTCHAR U_40D3 +ENCODING 16595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFC0 +2280 +27C0 +4100 +77C0 +5540 +D7C0 +5540 +7FE0 +0440 +ENDCHAR +STARTCHAR U_40D4 +ENCODING 16596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2420 +23C0 +4240 +73C0 +5000 +D7E0 +5420 +7420 +07E0 +ENDCHAR +STARTCHAR U_40D5 +ENCODING 16597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +14A0 +39C0 +5280 +2940 +FFE0 +8020 +7FC0 +0800 +1F80 +3080 +5F80 +ENDCHAR +STARTCHAR U_40D6 +ENCODING 16598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +2440 +27C0 +4440 +77E0 +5400 +D7E0 +5520 +7AA0 +00C0 +ENDCHAR +STARTCHAR U_40D7 +ENCODING 16599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E20 +F220 +2E20 +22A0 +5FA0 +74A0 +5EA0 +D4A0 +5E20 +7520 +0C60 +ENDCHAR +STARTCHAR U_40D8 +ENCODING 16600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +FAA0 +2FA0 +2940 +4F40 +7AA0 +5F20 +D100 +57C0 +7100 +0FE0 +ENDCHAR +STARTCHAR U_40D9 +ENCODING 16601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2540 +27E0 +4560 +77E0 +5480 +D7E0 +5680 +7BA0 +0AE0 +ENDCHAR +STARTCHAR U_40DA +ENCODING 16602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +F280 +2FE0 +2480 +4740 +75E0 +5540 +D5E0 +5540 +7540 +0AA0 +ENDCHAR +STARTCHAR U_40DB +ENCODING 16603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FBE0 +2480 +23E0 +4EA0 +77E0 +57E0 +D480 +57E0 +7480 +0BE0 +ENDCHAR +STARTCHAR U_40DC +ENCODING 16604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +A140 +B940 +D220 +FDC0 +A940 +FC80 +0140 +FFC0 +3100 +5F00 +ENDCHAR +STARTCHAR U_40DD +ENCODING 16605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0780 +F2E0 +2FA0 +22A0 +73A0 +5D40 +D240 +5FA0 +72A0 +0720 +ENDCHAR +STARTCHAR U_40DE +ENCODING 16606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +4940 +7B40 +21C0 +7260 +7FE0 +0800 +1F80 +6880 +0F80 +ENDCHAR +STARTCHAR U_40DF +ENCODING 16607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A80 +1F80 +EAE0 +5FA0 +40A0 +EEA0 +AAA0 +AE40 +EA40 +0EA0 +0B20 +ENDCHAR +STARTCHAR U_40E0 +ENCODING 16608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +F4E0 +4E80 +4500 +44E0 +7740 +D540 +5560 +5540 +75C0 +0A60 +ENDCHAR +STARTCHAR U_40E1 +ENCODING 16609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FA40 +4FE0 +4240 +46C0 +7B60 +D7C0 +5440 +57C0 +7440 +07C0 +ENDCHAR +STARTCHAR U_40E2 +ENCODING 16610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FA80 +51E0 +4EA0 +4540 +7F40 +D540 +5E40 +5440 +76A0 +0D20 +ENDCHAR +STARTCHAR U_40E3 +ENCODING 16611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +F300 +4F80 +4280 +43C0 +7440 +D7E0 +58A0 +52A0 +7A20 +08C0 +ENDCHAR +STARTCHAR U_40E4 +ENCODING 16612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +4140 +4FE0 +4140 +F7C0 +5540 +57C0 +7540 +47C0 +0B40 +ENDCHAR +STARTCHAR U_40E5 +ENCODING 16613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +4440 +4280 +4FE0 +F540 +57C0 +5540 +77C0 +4100 +0FE0 +ENDCHAR +STARTCHAR U_40E6 +ENCODING 16614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FFE0 +4A40 +7D80 +D180 +3660 +FFE0 +1000 +3F80 +D080 +1F80 +ENDCHAR +STARTCHAR U_40E7 +ENCODING 16615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +ABA0 +D500 +B7E0 +8000 +FFE0 +1000 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_40E8 +ENCODING 16616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1DE0 +E520 +45E0 +5C80 +53E0 +F2A0 +5FE0 +5480 +54A0 +64E0 +1BA0 +ENDCHAR +STARTCHAR U_40E9 +ENCODING 16617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +4AA0 +4FE0 +4AA0 +7FE0 +D400 +57E0 +56A0 +7A40 +0B20 +ENDCHAR +STARTCHAR U_40EA +ENCODING 16618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4440 +4740 +4540 +7540 +D7C0 +5240 +53C0 +7240 +0FE0 +ENDCHAR +STARTCHAR U_40EB +ENCODING 16619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FA40 +47E0 +4D40 +4720 +7480 +D7E0 +5400 +57E0 +7A20 +0BE0 +ENDCHAR +STARTCHAR U_40EC +ENCODING 16620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0520 +F7E0 +4200 +47E0 +4520 +77E0 +D520 +57E0 +5140 +72A0 +0CE0 +ENDCHAR +STARTCHAR U_40ED +ENCODING 16621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00A0 +F7E0 +4480 +47A0 +7560 +D740 +54A0 +5940 +7520 +4C60 +0BC0 +ENDCHAR +STARTCHAR U_40EE +ENCODING 16622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F3E0 +4880 +47E0 +4140 +FFE0 +5480 +57E0 +7480 +4700 +18E0 +ENDCHAR +STARTCHAR U_40EF +ENCODING 16623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBA0 +46C0 +4380 +76C0 +5BA0 +D100 +5FE0 +7380 +4540 +0920 +ENDCHAR +STARTCHAR U_40F0 +ENCODING 16624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4820 +46E0 +4AA0 +7440 +DBA0 +5000 +5FE0 +7540 +0B20 +ENDCHAR +STARTCHAR U_40F1 +ENCODING 16625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FF60 +4240 +4FE0 +4540 +7DC0 +D560 +5DC0 +5740 +7CA0 +0720 +ENDCHAR +STARTCHAR U_40F2 +ENCODING 16626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FEE0 +4AA0 +4F20 +4AE0 +7EA0 +D2C0 +5520 +5FE0 +72A0 +0FE0 +ENDCHAR +STARTCHAR U_40F3 +ENCODING 16627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +02A0 +F540 +42A0 +47E0 +44A0 +F560 +57E0 +5540 +57C0 +7560 +07A0 +ENDCHAR +STARTCHAR U_40F4 +ENCODING 16628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +0480 +FFE0 +40A0 +4FE0 +7080 +DFE0 +50A0 +5EE0 +7AA0 +0EE0 +ENDCHAR +STARTCHAR U_40F5 +ENCODING 16629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +4280 +43C0 +4280 +F7E0 +5AA0 +5520 +5CC0 +7540 +0620 +ENDCHAR +STARTCHAR U_40F6 +ENCODING 16630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4000 +4FE0 +4AA0 +7FE0 +D540 +52A0 +5CC0 +7580 +0660 +ENDCHAR +STARTCHAR U_40F7 +ENCODING 16631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4400 +47C0 +7440 +D7C0 +52E0 +5FA0 +7AE0 +4FA0 +12A0 +ENDCHAR +STARTCHAR U_40F8 +ENCODING 16632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +F560 +4AC0 +4FE0 +4540 +7DC0 +D560 +5DC0 +5740 +7CA0 +0720 +ENDCHAR +STARTCHAR U_40F9 +ENCODING 16633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +FAA0 +4AA0 +4EE0 +4920 +FFE0 +5D60 +5FE0 +7BA0 +4D60 +0920 +ENDCHAR +STARTCHAR U_40FA +ENCODING 16634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F7E0 +4540 +47E0 +4540 +77E0 +D540 +5760 +7540 +4760 +0940 +ENDCHAR +STARTCHAR U_40FB +ENCODING 16635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +4FE0 +4BA0 +4540 +7FE0 +D2A0 +5FE0 +7AA0 +4FE0 +02A0 +ENDCHAR +STARTCHAR U_40FC +ENCODING 16636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +1100 +F900 +0900 +1180 +3940 +D520 +1100 +1100 +1100 +1100 +ENDCHAR +STARTCHAR U_40FD +ENCODING 16637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F100 +17E0 +2100 +77C0 +AC40 +2280 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_40FE +ENCODING 16638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +F480 +1480 +24E0 +7780 +AC80 +2480 +24A0 +25A0 +2660 +ENDCHAR +STARTCHAR U_40FF +ENCODING 16639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F100 +17C0 +2100 +7100 +AFE0 +2100 +2280 +2440 +3820 +ENDCHAR +STARTCHAR U_4100 +ENCODING 16640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2240 +FFE0 +1200 +2240 +7240 +AA80 +2100 +2100 +22A0 +2C40 +ENDCHAR +STARTCHAR U_4101 +ENCODING 16641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2540 +F540 +1540 +2FE0 +7540 +AD40 +25C0 +2400 +2400 +27E0 +ENDCHAR +STARTCHAR U_4102 +ENCODING 16642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +1920 +2920 +7920 +AFE0 +2920 +2920 +2920 +2FE0 +ENDCHAR +STARTCHAR U_4103 +ENCODING 16643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F7C0 +1540 +2540 +7540 +AFE0 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4104 +ENCODING 16644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +F920 +1FE0 +2920 +7920 +A920 +2AA0 +2A60 +2C20 +2FE0 +ENDCHAR +STARTCHAR U_4105 +ENCODING 16645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +3F80 +0800 +FFE0 +1080 +2F40 +C020 +3FC0 +1500 +2480 +4C40 +ENDCHAR +STARTCHAR U_4106 +ENCODING 16646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +F100 +1100 +2FE0 +7100 +AFC0 +2440 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_4107 +ENCODING 16647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F440 +17C0 +2000 +77C0 +A900 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4108 +ENCODING 16648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2000 +F7C0 +1440 +2440 +77C0 +A800 +2440 +2240 +2280 +2FE0 +ENDCHAR +STARTCHAR U_4109 +ENCODING 16649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EC0 +24A0 +F480 +1FE0 +2480 +74A0 +A6C0 +2C80 +34A0 +2560 +2C20 +ENDCHAR +STARTCHAR U_410A +ENCODING 16650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +1100 +2100 +77C0 +AA00 +2520 +2C40 +2440 +23C0 +ENDCHAR +STARTCHAR U_410B +ENCODING 16651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F280 +1540 +2920 +77E0 +AD40 +27C0 +2540 +27C0 +20E0 +ENDCHAR +STARTCHAR U_410C +ENCODING 16652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +25A0 +F240 +13A0 +2520 +77E0 +ADA0 +25A0 +2240 +22A0 +2520 +ENDCHAR +STARTCHAR U_410D +ENCODING 16653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +F7C0 +1280 +2FE0 +7000 +AFC0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_410E +ENCODING 16654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +F100 +1280 +2FE0 +7040 +AF40 +2540 +2740 +2040 +2080 +ENDCHAR +STARTCHAR U_410F +ENCODING 16655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +F440 +10C0 +2700 +7100 +AFE0 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4110 +ENCODING 16656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +ABC0 +FA40 +AA40 +FBC0 +0240 +FA00 +2220 +7220 +A9E0 +2000 +ENDCHAR +STARTCHAR U_4111 +ENCODING 16657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +F700 +1500 +27C0 +74A0 +6A60 +A7C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_4112 +ENCODING 16658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FA80 +1540 +28A0 +77C0 +A280 +2140 +2D20 +3440 +23C0 +ENDCHAR +STARTCHAR U_4113 +ENCODING 16659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2200 +F7E0 +1420 +27E0 +7420 +AFE0 +2100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4114 +ENCODING 16660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +F100 +17C0 +2540 +7540 +AFE0 +2920 +29E0 +2B20 +2860 +ENDCHAR +STARTCHAR U_4115 +ENCODING 16661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2120 +F540 +1380 +2540 +7120 +AFC0 +2540 +27C0 +2540 +27C0 +ENDCHAR +STARTCHAR U_4116 +ENCODING 16662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F280 +1440 +2BA0 +5000 +AE20 +2AA0 +2EA0 +2AA0 +2E20 +2AE0 +ENDCHAR +STARTCHAR U_4117 +ENCODING 16663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +4540 +2540 +F540 +17C0 +2440 +77C0 +A440 +27C0 +2540 +2540 +2940 +ENDCHAR +STARTCHAR U_4118 +ENCODING 16664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +F7C0 +1280 +2FE0 +7220 +B7C0 +2200 +2380 +2480 +2980 +ENDCHAR +STARTCHAR U_4119 +ENCODING 16665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F820 +17E0 +2440 +47C0 +E440 +57C0 +4100 +4FE0 +4280 +4440 +ENDCHAR +STARTCHAR U_411A +ENCODING 16666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +F280 +1FE0 +2AA0 +7AA0 +AFE0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_411B +ENCODING 16667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +FD60 +27C0 +7100 +A7C0 +2540 +2FE0 +2280 +2100 +26C0 +ENDCHAR +STARTCHAR U_411C +ENCODING 16668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4FE0 +F540 +16C0 +27C0 +7100 +AFE0 +2920 +29A0 +2EA0 +2860 +ENDCHAR +STARTCHAR U_411D +ENCODING 16669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F900 +13C0 +2100 +77E0 +A280 +2C60 +26C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_411E +ENCODING 16670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2360 +F5A0 +1640 +2A40 +77A0 +A800 +27C0 +2100 +2540 +2B20 +ENDCHAR +STARTCHAR U_411F +ENCODING 16671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +3C00 +17C0 +F4A0 +1FE0 +0000 +3F80 +0000 +FFE0 +1480 +6C60 +ENDCHAR +STARTCHAR U_4120 +ENCODING 16672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +FFE0 +2540 +2740 +7440 +A7C0 +2480 +2780 +2480 +2FE0 +ENDCHAR +STARTCHAR U_4121 +ENCODING 16673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +2480 +FFE0 +2A40 +6FE0 +7800 +ABC0 +2800 +2BC0 +2A40 +33C0 +ENDCHAR +STARTCHAR U_4122 +ENCODING 16674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F480 +2360 +2EC0 +76A0 +AA80 +27C0 +2440 +27C0 +2840 +ENDCHAR +STARTCHAR U_4123 +ENCODING 16675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F100 +2FE0 +6AA0 +7FE0 +A440 +27C0 +2440 +27C0 +2820 +ENDCHAR +STARTCHAR U_4124 +ENCODING 16676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42E0 +2F60 +F2A0 +2FE0 +6AA0 +7FE0 +A2A0 +27E0 +26C0 +2AA0 +2320 +ENDCHAR +STARTCHAR U_4125 +ENCODING 16677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +FFE0 +2BA0 +2540 +7FE0 +AAA0 +2FE0 +2540 +2BA0 +2FE0 +ENDCHAR +STARTCHAR U_4126 +ENCODING 16678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +E7E0 +2040 +F880 +2080 +7080 +6880 +A080 +2080 +2080 +2380 +ENDCHAR +STARTCHAR U_4127 +ENCODING 16679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37C0 +E240 +2240 +FA80 +22E0 +7220 +6A20 +A220 +2220 +24A0 +2840 +ENDCHAR +STARTCHAR U_4128 +ENCODING 16680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +E3E0 +2080 +F880 +27E0 +7080 +6880 +A080 +2080 +2080 +2380 +ENDCHAR +STARTCHAR U_4129 +ENCODING 16681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3200 +E280 +2240 +F200 +2FE0 +7200 +6A00 +A100 +2100 +2080 +2060 +ENDCHAR +STARTCHAR U_412A +ENCODING 16682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E100 +23E0 +FA20 +2420 +7220 +6920 +A120 +2020 +2020 +20C0 +ENDCHAR +STARTCHAR U_412B +ENCODING 16683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3000 +E7C0 +2040 +F840 +27C0 +7440 +6C00 +A400 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_412C +ENCODING 16684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +E500 +2500 +F5C0 +2F40 +7540 +6540 +A5C0 +2500 +2420 +27E0 +ENDCHAR +STARTCHAR U_412D +ENCODING 16685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +30C0 +E700 +2100 +F900 +27E0 +7100 +6900 +A100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_412E +ENCODING 16686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +E100 +27C0 +F900 +2100 +77E0 +6900 +A280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_412F +ENCODING 16687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3800 +E7E0 +2240 +FA40 +2240 +7FE0 +6A40 +A240 +2240 +2440 +2840 +ENDCHAR +STARTCHAR U_4130 +ENCODING 16688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +63E0 +2040 +FA40 +2240 +73E0 +68C0 +A140 +2140 +2240 +24C0 +ENDCHAR +STARTCHAR U_4131 +ENCODING 16689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +6080 +27E0 +F900 +2100 +71E0 +6920 +A220 +2220 +2420 +28C0 +ENDCHAR +STARTCHAR U_4132 +ENCODING 16690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A00 +6100 +2100 +FFE0 +2520 +75A0 +6D60 +A620 +2420 +2420 +2460 +ENDCHAR +STARTCHAR U_4133 +ENCODING 16691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1880 +6080 +2080 +FA80 +22E0 +7280 +6A80 +AA80 +2280 +2280 +27E0 +ENDCHAR +STARTCHAR U_4134 +ENCODING 16692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +63E0 +2220 +FA20 +23E0 +7220 +6A20 +A3E0 +2220 +2420 +2860 +ENDCHAR +STARTCHAR U_4135 +ENCODING 16693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +3C00 +0400 +FFE0 +0D00 +3480 +C460 +3F80 +2400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_4136 +ENCODING 16694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A80 +67E0 +22A0 +FFE0 +2A80 +7FE0 +6AA0 +A2A0 +22E0 +2480 +2880 +ENDCHAR +STARTCHAR U_4137 +ENCODING 16695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +67E0 +2100 +FA00 +23C0 +7640 +6A40 +B240 +2240 +2240 +23C0 +ENDCHAR +STARTCHAR U_4138 +ENCODING 16696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1880 +6100 +27E0 +FC20 +2420 +77E0 +6C20 +A420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_4139 +ENCODING 16697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +3C00 +0400 +FFE0 +2480 +CA60 +3180 +DF60 +0400 +3F80 +0400 +ENDCHAR +STARTCHAR U_413A +ENCODING 16698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +67E0 +2100 +F7E0 +2120 +77E0 +6D00 +A7E0 +2120 +2280 +2C60 +ENDCHAR +STARTCHAR U_413B +ENCODING 16699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A80 +6280 +2AA0 +F6C0 +2280 +7280 +6EC0 +AAA0 +2280 +24A0 +2860 +ENDCHAR +STARTCHAR U_413C +ENCODING 16700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BE0 +6080 +2080 +FBE0 +22A0 +72A0 +6AA0 +A360 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_413D +ENCODING 16701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +6280 +2FE0 +FAA0 +2AA0 +7AA0 +6AE0 +AC20 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_413E +ENCODING 16702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +18A0 +67E0 +2080 +FA80 +22A0 +77A0 +6AC0 +A280 +24A0 +2560 +2A20 +ENDCHAR +STARTCHAR U_413F +ENCODING 16703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +67E0 +2520 +FFE0 +2520 +77E0 +6900 +A140 +20A0 +2360 +2C20 +ENDCHAR +STARTCHAR U_4140 +ENCODING 16704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3020 +EF20 +2420 +F4A0 +26A0 +7AA0 +6AA0 +A6A0 +2220 +2420 +2860 +ENDCHAR +STARTCHAR U_4141 +ENCODING 16705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8920 +3F80 +1200 +6DC0 +0F00 +3400 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_4142 +ENCODING 16706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3200 +E200 +27C0 +FA40 +2180 +7240 +6C20 +A3C0 +2240 +2240 +23C0 +ENDCHAR +STARTCHAR U_4143 +ENCODING 16707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2240 +2340 +3AC0 +C460 +0300 +3C00 +0400 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_4144 +ENCODING 16708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3200 +E200 +27C0 +FA40 +2240 +74C0 +6880 +BFE0 +2AA0 +2AA0 +3760 +ENDCHAR +STARTCHAR U_4145 +ENCODING 16709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E100 +27C0 +F900 +2100 +77E0 +6900 +A7C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4146 +ENCODING 16710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +E100 +29E0 +F620 +2080 +7280 +6C80 +A480 +2540 +2220 +2420 +ENDCHAR +STARTCHAR U_4147 +ENCODING 16711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +0000 +3F80 +0400 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_4148 +ENCODING 16712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +7F80 +0400 +FFE0 +2080 +DF60 +0400 +7FC0 +0D00 +1480 +6440 +ENDCHAR +STARTCHAR U_4149 +ENCODING 16713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +E7E0 +2280 +FA80 +2280 +7AA0 +6EC0 +A280 +2280 +2280 +2FE0 +ENDCHAR +STARTCHAR U_414A +ENCODING 16714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +E7E0 +2400 +FCC0 +2780 +7480 +6FE0 +A480 +2480 +28A0 +28E0 +ENDCHAR +STARTCHAR U_414B +ENCODING 16715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3200 +E380 +2480 +FFC0 +2540 +7540 +6FC0 +A280 +2280 +24A0 +28E0 +ENDCHAR +STARTCHAR U_414C +ENCODING 16716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +33C0 +E240 +23C0 +F800 +27E0 +7420 +6FE0 +A420 +27E0 +2420 +2460 +ENDCHAR +STARTCHAR U_414D +ENCODING 16717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3000 +EE60 +22C0 +F240 +2440 +77E0 +6A40 +AA40 +26E0 +2500 +28E0 +ENDCHAR +STARTCHAR U_414E +ENCODING 16718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +30C0 +E700 +2100 +FFE0 +2540 +7920 +6FC0 +A240 +2260 +2420 +28C0 +ENDCHAR +STARTCHAR U_414F +ENCODING 16719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +E440 +27C0 +FC00 +25C0 +6700 +75C0 +AF00 +25C0 +2B20 +28E0 +ENDCHAR +STARTCHAR U_4150 +ENCODING 16720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +E440 +27C0 +FC40 +27C0 +6440 +77C0 +AA80 +2280 +24A0 +28E0 +ENDCHAR +STARTCHAR U_4151 +ENCODING 16721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +18E0 +E720 +24A0 +FAC0 +2200 +77E0 +6A40 +A240 +2680 +21C0 +2E20 +ENDCHAR +STARTCHAR U_4152 +ENCODING 16722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A40 +E240 +27E0 +FA40 +2100 +67E0 +7200 +AA00 +2200 +2200 +23E0 +ENDCHAR +STARTCHAR U_4153 +ENCODING 16723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3400 +E5E0 +2EA0 +F2A0 +2EA0 +7AA0 +6A40 +AE40 +22A0 +22A0 +2720 +ENDCHAR +STARTCHAR U_4154 +ENCODING 16724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3AA0 +E2A0 +2540 +FD40 +22A0 +77E0 +ACA0 +A7E0 +24A0 +24A0 +27E0 +ENDCHAR +STARTCHAR U_4155 +ENCODING 16725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +E420 +27E0 +FC80 +6480 +77E0 +AC80 +27E0 +2620 +2A20 +2BE0 +ENDCHAR +STARTCHAR U_4156 +ENCODING 16726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EFE0 +2280 +F540 +2FE0 +7540 +BFC0 +A540 +27C0 +2120 +20E0 +ENDCHAR +STARTCHAR U_4157 +ENCODING 16727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +19C0 +E700 +2100 +FFE0 +2540 +7920 +6FE0 +A240 +2640 +2180 +2660 +ENDCHAR +STARTCHAR U_4158 +ENCODING 16728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E100 +27E0 +FD40 +2540 +7BA0 +6900 +A380 +2540 +2920 +2100 +ENDCHAR +STARTCHAR U_4159 +ENCODING 16729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +E440 +27C0 +FC40 +27C0 +7480 +6CE0 +A780 +2480 +25A0 +26E0 +ENDCHAR +STARTCHAR U_415A +ENCODING 16730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3920 +E540 +27E0 +F900 +2FE0 +7440 +6BE0 +A240 +22C0 +2220 +21E0 +ENDCHAR +STARTCHAR U_415B +ENCODING 16731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +E440 +27C0 +FC40 +27C0 +7000 +6FE0 +A820 +2FE0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_415C +ENCODING 16732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +30C0 +E700 +2100 +FFE0 +2540 +7FE0 +A540 +2540 +2FE0 +2100 +27C0 +ENDCHAR +STARTCHAR U_415D +ENCODING 16733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A00 +E100 +2FE0 +FAA0 +2440 +6820 +77C0 +A900 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_415E +ENCODING 16734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37C0 +E540 +2640 +F7C0 +2000 +67C0 +7080 +AFE0 +2880 +2480 +2180 +ENDCHAR +STARTCHAR U_415F +ENCODING 16735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A80 +E440 +27C0 +F100 +2FE0 +7280 +6D40 +AAA0 +2340 +2080 +2700 +ENDCHAR +STARTCHAR U_4160 +ENCODING 16736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BC0 +E240 +23C0 +FA40 +23C0 +7000 +AFE0 +2100 +25C0 +2700 +29E0 +ENDCHAR +STARTCHAR U_4161 +ENCODING 16737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37E0 +E100 +27C0 +FC40 +27C0 +7440 +6FC0 +A440 +27C0 +2280 +2460 +ENDCHAR +STARTCHAR U_4162 +ENCODING 16738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EFE0 +2920 +FFE0 +2920 +6FE0 +B440 +A7C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_4163 +ENCODING 16739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +E7C0 +24C0 +F740 +27C0 +7000 +6FC0 +A100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4164 +ENCODING 16740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37C0 +E100 +2140 +FFE0 +2100 +6D60 +7920 +AD60 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_4165 +ENCODING 16741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37C0 +E440 +27C0 +F440 +27C0 +6200 +77E0 +AD20 +26A0 +27E0 +2040 +ENDCHAR +STARTCHAR U_4166 +ENCODING 16742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3240 +E7E0 +2240 +F240 +2000 +77E0 +6D20 +A7E0 +2520 +27E0 +2420 +ENDCHAR +STARTCHAR U_4167 +ENCODING 16743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EFE0 +2440 +F280 +2FE0 +7000 +6FC0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_4168 +ENCODING 16744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +31C0 +E700 +2100 +FFE0 +2540 +6920 +77C0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_4169 +ENCODING 16745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EFE0 +2100 +F7C0 +2240 +7180 +6FE0 +A440 +27C0 +2440 +2820 +ENDCHAR +STARTCHAR U_416A +ENCODING 16746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +E7C0 +2540 +F7C0 +2100 +6FE0 +7440 +A540 +2540 +26C0 +2C60 +ENDCHAR +STARTCHAR U_416B +ENCODING 16747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EFE0 +2000 +F7C0 +2440 +67C0 +7440 +A7C0 +2540 +2520 +2B20 +ENDCHAR +STARTCHAR U_416C +ENCODING 16748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3440 +E280 +2FE0 +F280 +2240 +7420 +6820 +AFE0 +2AA0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_416D +ENCODING 16749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EFE0 +2440 +F280 +2FE0 +6920 +77C0 +A200 +23C0 +2440 +2980 +ENDCHAR +STARTCHAR U_416E +ENCODING 16750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +E280 +27C0 +F820 +27C0 +6440 +77C0 +A440 +27C0 +2A40 +33C0 +ENDCHAR +STARTCHAR U_416F +ENCODING 16751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EFE0 +2940 +FFE0 +2940 +6BC0 +7900 +ABC0 +2A40 +2BC0 +3240 +ENDCHAR +STARTCHAR U_4170 +ENCODING 16752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37E0 +E520 +27E0 +F5A0 +6660 +77E0 +6000 +A540 +2AA0 +2A40 +21C0 +ENDCHAR +STARTCHAR U_4171 +ENCODING 16753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +E540 +27C0 +F000 +2FE0 +7000 +67C0 +A440 +27C0 +2280 +2FE0 +ENDCHAR +STARTCHAR U_4172 +ENCODING 16754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +E7C0 +2140 +F7E0 +2340 +7580 +6FE0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_4173 +ENCODING 16755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +33E0 +64A0 +22A0 +F3E0 +2120 +77E0 +64A0 +AAA0 +23E0 +2120 +2660 +ENDCHAR +STARTCHAR U_4174 +ENCODING 16756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EFE0 +2100 +FFE0 +2AA0 +6700 +7280 +AFC0 +2580 +2540 +2B40 +ENDCHAR +STARTCHAR U_4175 +ENCODING 16757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3440 +E280 +2FE0 +F100 +67C0 +7100 +6140 +AFE0 +2540 +2AA0 +2AA0 +ENDCHAR +STARTCHAR U_4176 +ENCODING 16758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +E800 +2FC0 +F800 +2FE0 +7AA0 +AAC0 +2A40 +2FE0 +3240 +20C0 +ENDCHAR +STARTCHAR U_4177 +ENCODING 16759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3440 +EEE0 +2540 +F280 +2440 +6BA0 +7100 +AFE0 +2540 +2520 +2B20 +ENDCHAR +STARTCHAR U_4178 +ENCODING 16760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3440 +EEE0 +2440 +F100 +2FE0 +6440 +7280 +AFE0 +2100 +27C0 +2100 +ENDCHAR +STARTCHAR U_4179 +ENCODING 16761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +E7C0 +2540 +FFE0 +2540 +77C0 +6540 +AFE0 +2480 +2380 +2C60 +ENDCHAR +STARTCHAR U_417A +ENCODING 16762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +E280 +2FE0 +FAA0 +2FE0 +6000 +77C0 +A000 +2FE0 +2540 +2920 +ENDCHAR +STARTCHAR U_417B +ENCODING 16763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EFE0 +2280 +F920 +2AA0 +6FE0 +7100 +AFE0 +2960 +2FA0 +2860 +ENDCHAR +STARTCHAR U_417C +ENCODING 16764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37C0 +E4C0 +2740 +FFE0 +2AA0 +6FE0 +7000 +A7C0 +2240 +2180 +2E60 +ENDCHAR +STARTCHAR U_417D +ENCODING 16765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FD40 +1220 +7DC0 +5540 +7C80 +4F60 +8400 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_417E +ENCODING 16766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37E0 +E540 +2FE0 +F6C0 +2B60 +6240 +77C0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_417F +ENCODING 16767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3440 +EEE0 +2440 +FFE0 +2540 +6FE0 +7540 +AFE0 +2100 +27C0 +2100 +ENDCHAR +STARTCHAR U_4180 +ENCODING 16768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +ED60 +2BA0 +FFE0 +6100 +77C0 +A100 +2FE0 +2D40 +2AA0 +32A0 +ENDCHAR +STARTCHAR U_4181 +ENCODING 16769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +EAA0 +2D60 +F7C0 +2100 +6FE0 +7440 +AFE0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_4182 +ENCODING 16770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EFE0 +2A40 +FFE0 +2A80 +7FE0 +6AA0 +AFE0 +2AC0 +2EA0 +3AA0 +ENDCHAR +STARTCHAR U_4183 +ENCODING 16771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8500 +5FC0 +EA80 +2D80 +2A80 +FFE0 +0F00 +3400 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_4184 +ENCODING 16772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3140 +EFE0 +2440 +F5C0 +2540 +65C0 +7440 +A7C0 +2580 +2680 +2FE0 +ENDCHAR +STARTCHAR U_4185 +ENCODING 16773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EDE0 +2280 +FD40 +2220 +77C0 +6540 +A6C0 +2540 +27C0 +2820 +ENDCHAR +STARTCHAR U_4186 +ENCODING 16774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3380 +E280 +2380 +FEE0 +2AA0 +6EE0 +7100 +AFE0 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_4187 +ENCODING 16775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +EA40 +2F40 +F940 +2F40 +7940 +6FC0 +A840 +2FC0 +2AA0 +3520 +ENDCHAR +STARTCHAR U_4188 +ENCODING 16776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +C420 +57E0 +FEA0 +55C0 +F6A0 +D5E0 +5680 +5BE0 +6480 +43E0 +ENDCHAR +STARTCHAR U_4189 +ENCODING 16777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +EAA0 +2FE0 +F480 +2AE0 +7E80 +6A60 +AE80 +2AE0 +2E80 +3260 +ENDCHAR +STARTCHAR U_418A +ENCODING 16778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +EEE0 +2280 +FFE0 +2540 +77C0 +A540 +27C0 +2280 +2FE0 +2440 +ENDCHAR +STARTCHAR U_418B +ENCODING 16779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3780 +E900 +2EE0 +FAA0 +2FE0 +72A0 +AAE0 +26A0 +2BE0 +2600 +29E0 +ENDCHAR +STARTCHAR U_418C +ENCODING 16780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3EA0 +E5E0 +2E80 +F5A0 +2E60 +7500 +AFE0 +2000 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_418D +ENCODING 16781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +34E0 +EF80 +2AE0 +FF20 +20E0 +6E80 +7AE0 +AE80 +2AE0 +2E80 +3260 +ENDCHAR +STARTCHAR U_418E +ENCODING 16782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AC0 +CAA0 +5580 +EFE0 +5A80 +EBA0 +DAA0 +4BC0 +5A40 +4FE0 +5920 +ENDCHAR +STARTCHAR U_418F +ENCODING 16783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3540 +EFE0 +2540 +FBA0 +2540 +77C0 +A540 +27C0 +2280 +2FE0 +2440 +ENDCHAR +STARTCHAR U_4190 +ENCODING 16784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +FFE0 +2E80 +D560 +7FC0 +D560 +6DA0 +FBE0 +AAA0 +ENDCHAR +STARTCHAR U_4191 +ENCODING 16785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +4040 +8020 +7FE0 +0400 +0400 +0400 +1400 +0C00 +ENDCHAR +STARTCHAR U_4192 +ENCODING 16786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +9140 +2900 +C8C0 +7F00 +0900 +2900 +1100 +2920 +C8E0 +ENDCHAR +STARTCHAR U_4193 +ENCODING 16787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2900 +C8C0 +1100 +3F80 +1280 +1200 +2220 +C1E0 +ENDCHAR +STARTCHAR U_4194 +ENCODING 16788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2500 +C4C0 +3F80 +2480 +3F80 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_4195 +ENCODING 16789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +9140 +2900 +C8E0 +3F80 +0880 +FFE0 +1100 +2080 +C040 +ENDCHAR +STARTCHAR U_4196 +ENCODING 16790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +2860 +C800 +3FC0 +1000 +1200 +2400 +4880 +9FC0 +ENDCHAR +STARTCHAR U_4197 +ENCODING 16791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +20C0 +C000 +7A40 +4A40 +4A40 +7BC0 +4840 +0040 +ENDCHAR +STARTCHAR U_4198 +ENCODING 16792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +9120 +20E0 +FF80 +2480 +3F80 +2480 +3F80 +0400 +0400 +ENDCHAR +STARTCHAR U_4199 +ENCODING 16793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +20E0 +C080 +7FC0 +0400 +2700 +2400 +2440 +FFE0 +ENDCHAR +STARTCHAR U_419A +ENCODING 16794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A120 +40E0 +BF80 +2080 +2E80 +2080 +2E80 +2A80 +2E80 +ENDCHAR +STARTCHAR U_419B +ENCODING 16795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +A0A0 +4060 +8180 +F700 +9100 +9FE0 +F100 +9120 +01E0 +ENDCHAR +STARTCHAR U_419C +ENCODING 16796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +24E0 +C400 +3FC0 +1880 +6F80 +0880 +0F80 +1080 +ENDCHAR +STARTCHAR U_419D +ENCODING 16797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +20E0 +C800 +1080 +7FC0 +4A40 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_419E +ENCODING 16798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +7FE0 +A680 +3880 +3F80 +2000 +3F80 +2040 +1FC0 +ENDCHAR +STARTCHAR U_419F +ENCODING 16799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +64C0 +0A00 +3180 +DF60 +0000 +1F00 +1100 +1F00 +ENDCHAR +STARTCHAR U_41A0 +ENCODING 16800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +20E0 +FF80 +2400 +3F00 +2100 +3F00 +2480 +3FC0 +ENDCHAR +STARTCHAR U_41A1 +ENCODING 16801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +4460 +BF80 +2680 +3880 +3FC0 +2480 +2B00 +30C0 +ENDCHAR +STARTCHAR U_41A2 +ENCODING 16802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +6060 +2100 +F3C0 +2140 +37E0 +E140 +2220 +6420 +ENDCHAR +STARTCHAR U_41A3 +ENCODING 16803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +3F80 +E040 +3F80 +2000 +3FC0 +2940 +4C80 +9860 +ENDCHAR +STARTCHAR U_41A4 +ENCODING 16804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +A4A0 +5F60 +9500 +1B00 +1500 +1B40 +7D80 +0700 +3900 +ENDCHAR +STARTCHAR U_41A5 +ENCODING 16805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A120 +40C0 +FFC0 +0840 +7480 +0F00 +7500 +0C80 +7460 +ENDCHAR +STARTCHAR U_41A6 +ENCODING 16806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +A120 +44C0 +A480 +1B00 +E0E0 +0400 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_41A7 +ENCODING 16807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +CF60 +1400 +7FC0 +1500 +2480 +FFE0 +0900 +7FC0 +ENDCHAR +STARTCHAR U_41A8 +ENCODING 16808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +B2A0 +54C0 +9FA0 +0000 +3F80 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_41A9 +ENCODING 16809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +B5A0 +5940 +9320 +1500 +1F00 +0400 +FFE0 +1900 +E0C0 +ENDCHAR +STARTCHAR U_41AA +ENCODING 16810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7540 +2260 +FC00 +53C0 +5100 +5100 +57E0 +5020 +9FE0 +ENDCHAR +STARTCHAR U_41AB +ENCODING 16811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +5060 +BF80 +4A80 +1A80 +6E80 +29C0 +A4A0 +9FA0 +ENDCHAR +STARTCHAR U_41AC +ENCODING 16812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +6EC0 +0A00 +1F00 +1500 +1B00 +1500 +1F00 +2080 +ENDCHAR +STARTCHAR U_41AD +ENCODING 16813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +6040 +1000 +FFC0 +5480 +7FE0 +5480 +FE80 +1080 +ENDCHAR +STARTCHAR U_41AE +ENCODING 16814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +67E0 +4080 +2380 +C080 +2FE0 +2AA0 +C100 +4EC0 +ENDCHAR +STARTCHAR U_41AF +ENCODING 16815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +60C0 +FFE0 +5140 +FBE0 +5140 +FFE0 +1100 +7EC0 +ENDCHAR +STARTCHAR U_41B0 +ENCODING 16816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +6080 +7FE0 +4900 +4F00 +4000 +5DC0 +5540 +7FE0 +ENDCHAR +STARTCHAR U_41B1 +ENCODING 16817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +E0E0 +4100 +2540 +8280 +5560 +2540 +C280 +4C60 +ENDCHAR +STARTCHAR U_41B2 +ENCODING 16818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A8A0 +C460 +3FC0 +2480 +3FC0 +2480 +3F80 +4D00 +B4C0 +ENDCHAR +STARTCHAR U_41B3 +ENCODING 16819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +60C0 +4780 +2100 +F340 +2DC0 +22A0 +FD00 +03E0 +ENDCHAR +STARTCHAR U_41B4 +ENCODING 16820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +AB20 +52C0 +9F00 +1500 +3F80 +2480 +3F80 +24A0 +1FE0 +ENDCHAR +STARTCHAR U_41B5 +ENCODING 16821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +CA60 +7FC0 +5540 +7FC0 +1100 +1F00 +1100 +1F00 +ENDCHAR +STARTCHAR U_41B6 +ENCODING 16822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A120 +D4C0 +2200 +FFC0 +2200 +3FC0 +2200 +7FC0 +8920 +ENDCHAR +STARTCHAR U_41B7 +ENCODING 16823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +6F60 +0200 +7F80 +1500 +7FE0 +59A0 +6F60 +4020 +ENDCHAR +STARTCHAR U_41B8 +ENCODING 16824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +60C0 +5E80 +5140 +3F80 +D160 +1F00 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_41B9 +ENCODING 16825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9920 +64C0 +1F00 +0A00 +7FC0 +1500 +1F00 +1500 +7FC0 +ENDCHAR +STARTCHAR U_41BA +ENCODING 16826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +7FE0 +90A0 +6F60 +3480 +1500 +7FC0 +3580 +DF60 +1500 +1F00 +ENDCHAR +STARTCHAR U_41BB +ENCODING 16827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8920 +70C0 +1100 +FDE0 +6B40 +5940 +6880 +F940 +0A20 +ENDCHAR +STARTCHAR U_41BC +ENCODING 16828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +67C0 +2440 +F5C0 +2540 +2FE0 +2AA0 +FAA0 +0FE0 +ENDCHAR +STARTCHAR U_41BD +ENCODING 16829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +6EC0 +0800 +7FC0 +4900 +7FC0 +4C80 +7700 +9AC0 +ENDCHAR +STARTCHAR U_41BE +ENCODING 16830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +E260 +7BC0 +5400 +79C0 +4800 +7F80 +5280 +FFE0 +ENDCHAR +STARTCHAR U_41BF +ENCODING 16831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +6260 +57C0 +7540 +16C0 +7540 +5FE0 +5540 +9920 +ENDCHAR +STARTCHAR U_41C0 +ENCODING 16832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +9120 +6080 +2BE0 +FD40 +29C0 +7D40 +55E0 +FF40 +1040 +ENDCHAR +STARTCHAR U_41C1 +ENCODING 16833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8920 +70C0 +5140 +FFE0 +5480 +7DC0 +5480 +7FE0 +AA80 +ENDCHAR +STARTCHAR U_41C2 +ENCODING 16834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +7FC0 +2080 +1100 +FFE0 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_41C3 +ENCODING 16835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +43C0 +2240 +FA40 +0240 +8BC0 +4A40 +5200 +3A00 +C220 +01E0 +ENDCHAR +STARTCHAR U_41C4 +ENCODING 16836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2240 +FBE0 +0400 +9000 +53C0 +6080 +0100 +3A00 +C420 +03E0 +ENDCHAR +STARTCHAR U_41C5 +ENCODING 16837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2140 +F920 +07E0 +8900 +4900 +5140 +4180 +3900 +C2A0 +0C60 +ENDCHAR +STARTCHAR U_41C6 +ENCODING 16838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +4280 +2180 +FC80 +0280 +8A80 +57E0 +5080 +3880 +C080 +0080 +ENDCHAR +STARTCHAR U_41C7 +ENCODING 16839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +47E0 +2420 +FFE0 +0480 +9480 +57E0 +6480 +3C80 +C6A0 +0460 +ENDCHAR +STARTCHAR U_41C8 +ENCODING 16840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +4240 +2280 +F900 +0280 +8960 +5100 +57C0 +3900 +C100 +0FE0 +ENDCHAR +STARTCHAR U_41C9 +ENCODING 16841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +47E0 +2100 +F900 +9200 +57C0 +6A40 +3240 +C240 +03C0 +0240 +ENDCHAR +STARTCHAR U_41CA +ENCODING 16842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4480 +27E0 +FC00 +0480 +9480 +5500 +6500 +3640 +CBE0 +1020 +ENDCHAR +STARTCHAR U_41CB +ENCODING 16843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +41C0 +2640 +F980 +0100 +96E0 +5120 +66C0 +3840 +C180 +0E00 +ENDCHAR +STARTCHAR U_41CC +ENCODING 16844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +44A0 +22A0 +FAC0 +07E0 +9420 +57E0 +6C20 +37E0 +C420 +0860 +ENDCHAR +STARTCHAR U_41CD +ENCODING 16845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +4220 +2220 +FBE0 +0080 +8A80 +4AE0 +5280 +3A80 +C380 +0CE0 +ENDCHAR +STARTCHAR U_41CE +ENCODING 16846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +43E0 +2140 +F940 +03E0 +9000 +53E0 +6220 +3BE0 +C220 +03E0 +ENDCHAR +STARTCHAR U_41CF +ENCODING 16847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4FE0 +2000 +FFC0 +9440 +57C0 +6000 +37C0 +C080 +0FE0 +0180 +ENDCHAR +STARTCHAR U_41D0 +ENCODING 16848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0140 +FFE0 +0140 +97C0 +5120 +63C0 +3540 +C920 +0300 +ENDCHAR +STARTCHAR U_41D1 +ENCODING 16849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27E0 +04A0 +FFE0 +04A0 +97E0 +5280 +6480 +3FE0 +C080 +0080 +ENDCHAR +STARTCHAR U_41D2 +ENCODING 16850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +B280 +D480 +FFE0 +A180 +F6E0 +0400 +7FC0 +2080 +1100 +FFE0 +ENDCHAR +STARTCHAR U_41D3 +ENCODING 16851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37E0 +C100 +37C0 +C540 +3540 +CFC0 +0420 +7FC0 +2080 +1100 +FFE0 +ENDCHAR +STARTCHAR U_41D4 +ENCODING 16852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +3F80 +2080 +3F80 +E5C0 +BF40 +EBC0 +A540 +BE60 +ENDCHAR +STARTCHAR U_41D5 +ENCODING 16853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +0FE0 +FD60 +9380 +9540 +5FE0 +6200 +3FE0 +CAA0 +0AE0 +ENDCHAR +STARTCHAR U_41D6 +ENCODING 16854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +5280 +8C40 +2000 +3FC0 +C840 +0840 +1040 +6280 +0100 +ENDCHAR +STARTCHAR U_41D7 +ENCODING 16855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +5280 +8C40 +0200 +1100 +2480 +C860 +1100 +2380 +3C80 +ENDCHAR +STARTCHAR U_41D8 +ENCODING 16856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +9480 +FFE0 +1000 +1F00 +2100 +2100 +3E00 +0200 +FFE0 +ENDCHAR +STARTCHAR U_41D9 +ENCODING 16857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +A280 +1440 +7C40 +0540 +7D40 +4140 +7D40 +0440 +38C0 +ENDCHAR +STARTCHAR U_41DA +ENCODING 16858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +5280 +8C40 +1100 +2100 +E180 +2140 +2120 +2100 +2100 +ENDCHAR +STARTCHAR U_41DB +ENCODING 16859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +5280 +8C40 +0400 +2400 +27C0 +2400 +2400 +2400 +FFE0 +ENDCHAR +STARTCHAR U_41DC +ENCODING 16860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +A280 +1440 +2000 +3FC0 +2440 +4480 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_41DD +ENCODING 16861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +0900 +0880 +0BE0 +FC40 +0280 +0300 +0CA0 +F060 +ENDCHAR +STARTCHAR U_41DE +ENCODING 16862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A280 +1440 +1100 +FFE0 +1100 +1F00 +1100 +1100 +1F00 +ENDCHAR +STARTCHAR U_41DF +ENCODING 16863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +5280 +8C40 +2100 +3FE0 +4520 +A920 +1120 +22A0 +C440 +ENDCHAR +STARTCHAR U_41E0 +ENCODING 16864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A280 +1440 +0800 +0400 +7FC0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_41E1 +ENCODING 16865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9280 +0C40 +0400 +FFE0 +8020 +7FC0 +0400 +0400 +0C00 +ENDCHAR +STARTCHAR U_41E2 +ENCODING 16866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +A280 +1440 +0400 +FFE0 +0400 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_41E3 +ENCODING 16867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +A280 +1440 +0A00 +3580 +C460 +1500 +2480 +4440 +0C00 +ENDCHAR +STARTCHAR U_41E4 +ENCODING 16868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A280 +1440 +FFE0 +0400 +7FC0 +4440 +4A40 +7140 +40C0 +ENDCHAR +STARTCHAR U_41E5 +ENCODING 16869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A280 +1440 +7FC0 +0400 +0400 +2780 +2400 +2400 +FFE0 +ENDCHAR +STARTCHAR U_41E6 +ENCODING 16870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9280 +0400 +3F80 +2480 +2480 +FFE0 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_41E7 +ENCODING 16871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A280 +1440 +FFE0 +0400 +7FC0 +4440 +4A40 +5140 +7FC0 +ENDCHAR +STARTCHAR U_41E8 +ENCODING 16872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +1F80 +7080 +1F00 +E4E0 +1F80 +2400 +3F80 +0400 +ENDCHAR +STARTCHAR U_41E9 +ENCODING 16873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +3F80 +2480 +3F80 +2480 +3F80 +0480 +0720 +7CE0 +ENDCHAR +STARTCHAR U_41EA +ENCODING 16874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9240 +FFE0 +1100 +2080 +3F80 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_41EB +ENCODING 16875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +A280 +1440 +7FC0 +4400 +5F80 +5080 +5F80 +4400 +7FE0 +ENDCHAR +STARTCHAR U_41EC +ENCODING 16876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +5280 +8C40 +2400 +3F80 +4400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_41ED +ENCODING 16877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A280 +1440 +3F80 +0500 +FFE0 +1800 +EF80 +0840 +07C0 +ENDCHAR +STARTCHAR U_41EE +ENCODING 16878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +5280 +8C40 +11C0 +2700 +E100 +2FE0 +2100 +2100 +27C0 +ENDCHAR +STARTCHAR U_41EF +ENCODING 16879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +1080 +1F80 +1080 +1F80 +1080 +FFE0 +0080 +ENDCHAR +STARTCHAR U_41F0 +ENCODING 16880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +D280 +1F80 +0100 +7640 +1580 +2480 +CC60 +0000 +FFE0 +ENDCHAR +STARTCHAR U_41F1 +ENCODING 16881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +9480 +7FC0 +4440 +4740 +5940 +4640 +4440 +5840 +7FC0 +ENDCHAR +STARTCHAR U_41F2 +ENCODING 16882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8440 +7FC0 +2480 +1500 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_41F3 +ENCODING 16883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9680 +FFE0 +0400 +7FC0 +0400 +FFE0 +0580 +0E20 +F1E0 +ENDCHAR +STARTCHAR U_41F4 +ENCODING 16884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +3F80 +0A00 +7FC0 +4A40 +4A40 +73C0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_41F5 +ENCODING 16885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +21C0 +9600 +4400 +47E0 +1480 +E480 +4480 +4880 +ENDCHAR +STARTCHAR U_41F6 +ENCODING 16886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +D280 +1F00 +2100 +FFC0 +4440 +7FC0 +4440 +7FC0 +8440 +ENDCHAR +STARTCHAR U_41F7 +ENCODING 16887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +21C0 +9600 +4400 +47E0 +1480 +E480 +4480 +4880 +ENDCHAR +STARTCHAR U_41F8 +ENCODING 16888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +9240 +3F80 +2080 +3F80 +0000 +3F80 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_41F9 +ENCODING 16889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79E0 +D240 +3F80 +0880 +FFE0 +0880 +3F80 +1000 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_41FA +ENCODING 16890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9240 +7FC0 +0000 +3F80 +2080 +3F80 +2080 +1100 +FFE0 +ENDCHAR +STARTCHAR U_41FB +ENCODING 16891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79E0 +9280 +7FC0 +4040 +7FC0 +4400 +7FC0 +4400 +7FC0 +4420 +87E0 +ENDCHAR +STARTCHAR U_41FC +ENCODING 16892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +5140 +8A20 +3F80 +2080 +7FC0 +4440 +7FC0 +4020 +7FE0 +ENDCHAR +STARTCHAR U_41FD +ENCODING 16893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9280 +2000 +27C0 +F400 +27E0 +3480 +E480 +2480 +E880 +ENDCHAR +STARTCHAR U_41FE +ENCODING 16894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9280 +0400 +FFE0 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_41FF +ENCODING 16895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +7FC0 +0400 +3F80 +2480 +3F80 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_4200 +ENCODING 16896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +FE20 +AAA0 +AAA0 +FFA0 +AAA0 +AAA0 +AA20 +8260 +ENDCHAR +STARTCHAR U_4201 +ENCODING 16897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +D280 +0400 +0A00 +3F80 +C060 +3F80 +2A80 +3F80 +2A80 +ENDCHAR +STARTCHAR U_4202 +ENCODING 16898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +D280 +2080 +1100 +7FC0 +1100 +FFE0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_4203 +ENCODING 16899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9240 +27C0 +9240 +4240 +5480 +2FC0 +E440 +4440 +47C0 +ENDCHAR +STARTCHAR U_4204 +ENCODING 16900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9240 +3F80 +0100 +A660 +94A0 +8D20 +94A0 +A460 +FFE0 +ENDCHAR +STARTCHAR U_4205 +ENCODING 16901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +D280 +0240 +FFE0 +0200 +7920 +4940 +7980 +02A0 +FC60 +ENDCHAR +STARTCHAR U_4206 +ENCODING 16902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +9280 +3FC0 +2000 +3FC0 +2040 +3FC0 +2280 +3FE0 +4480 +B860 +ENDCHAR +STARTCHAR U_4207 +ENCODING 16903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9480 +0F00 +0400 +3F80 +2080 +3F80 +2080 +FFE0 +0400 +ENDCHAR +STARTCHAR U_4208 +ENCODING 16904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8C40 +7BE0 +4AA0 +7AA0 +4BE0 +7A00 +4A20 +9BE0 +ENDCHAR +STARTCHAR U_4209 +ENCODING 16905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +3F80 +1100 +7FC0 +0900 +FFE0 +1100 +0E00 +71C0 +ENDCHAR +STARTCHAR U_420A +ENCODING 16906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +9480 +3F80 +0400 +FFE0 +2880 +DF60 +2900 +0600 +79C0 +ENDCHAR +STARTCHAR U_420B +ENCODING 16907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +A680 +75C0 +1600 +2580 +DF60 +1100 +1F00 +1100 +1F00 +ENDCHAR +STARTCHAR U_420C +ENCODING 16908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +2000 +17C0 +9440 +47C0 +5440 +27C0 +C440 +4FE0 +ENDCHAR +STARTCHAR U_420D +ENCODING 16909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7BE0 +9480 +FFE0 +2000 +3FC0 +1680 +1880 +1580 +1680 +1F80 +ENDCHAR +STARTCHAR U_420E +ENCODING 16910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9240 +2900 +7FC0 +2900 +3FC0 +0400 +FFE0 +2480 +4440 +ENDCHAR +STARTCHAR U_420F +ENCODING 16911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8400 +7FC0 +1100 +3F80 +2480 +3F80 +2480 +3F80 +ENDCHAR +STARTCHAR U_4210 +ENCODING 16912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +2400 +2FE0 +7480 +A6A0 +25C0 +2480 +2940 +2620 +ENDCHAR +STARTCHAR U_4211 +ENCODING 16913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +1F00 +1100 +1700 +1500 +7FC0 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_4212 +ENCODING 16914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7BE0 +9480 +FFE0 +0400 +7FC0 +4A40 +5F40 +4440 +5F40 +44C0 +ENDCHAR +STARTCHAR U_4213 +ENCODING 16915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +3F00 +2500 +2900 +3FC0 +6440 +AB40 +3FC0 +0080 +ENDCHAR +STARTCHAR U_4214 +ENCODING 16916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +9480 +7BC0 +4840 +7BC0 +4000 +7FC0 +4240 +7980 +4660 +ENDCHAR +STARTCHAR U_4215 +ENCODING 16917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +9480 +3F00 +2500 +2900 +FFE0 +2400 +3780 +4C00 +87E0 +ENDCHAR +STARTCHAR U_4216 +ENCODING 16918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +7C40 +1140 +FCC0 +1240 +3840 +57E0 +9040 +1040 +ENDCHAR +STARTCHAR U_4217 +ENCODING 16919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +1440 +2FE0 +6440 +AA20 +23C0 +2C40 +2380 +2C60 +ENDCHAR +STARTCHAR U_4218 +ENCODING 16920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9480 +2080 +1100 +FFE0 +2080 +4920 +30C0 +4920 +79E0 +ENDCHAR +STARTCHAR U_4219 +ENCODING 16921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9480 +2040 +4840 +F3E0 +2240 +4940 +F940 +A840 +A8C0 +ENDCHAR +STARTCHAR U_421A +ENCODING 16922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9500 +2080 +7FC0 +0000 +3F80 +2080 +7FC0 +A4A0 +9FA0 +ENDCHAR +STARTCHAR U_421B +ENCODING 16923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +2040 +3DE0 +2120 +FEA0 +AA40 +FE40 +AAA0 +AB20 +ENDCHAR +STARTCHAR U_421C +ENCODING 16924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +2780 +4080 +DFE0 +4080 +5FE0 +54A0 +4300 +5CE0 +ENDCHAR +STARTCHAR U_421D +ENCODING 16925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +2500 +DFE0 +1100 +1F00 +1100 +1F00 +1100 +ENDCHAR +STARTCHAR U_421E +ENCODING 16926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +FFE0 +2080 +3F80 +0000 +3F80 +2280 +2C80 +3F80 +ENDCHAR +STARTCHAR U_421F +ENCODING 16927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +7C40 +4540 +7D40 +4540 +7D40 +4540 +7C40 +82C0 +ENDCHAR +STARTCHAR U_4220 +ENCODING 16928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +3FC0 +1480 +7FC0 +0800 +FFE0 +1480 +2300 +DCE0 +ENDCHAR +STARTCHAR U_4221 +ENCODING 16929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +9480 +3FC0 +4940 +BA40 +2740 +0980 +A440 +A0A0 +9FA0 +ENDCHAR +STARTCHAR U_4222 +ENCODING 16930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7BE0 +9480 +2080 +7FC0 +2080 +3F80 +0400 +FFE0 +2480 +C440 +ENDCHAR +STARTCHAR U_4223 +ENCODING 16931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +0100 +FBE0 +5240 +5E40 +5180 +5D80 +E240 +0C20 +ENDCHAR +STARTCHAR U_4224 +ENCODING 16932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9280 +2240 +FA40 +27E0 +7240 +6BC0 +A240 +2240 +23C0 +ENDCHAR +STARTCHAR U_4225 +ENCODING 16933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +3C80 +C880 +7FE0 +54A0 +7CA0 +5520 +7D20 +9660 +ENDCHAR +STARTCHAR U_4226 +ENCODING 16934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +AA80 +2480 +2A80 +3F80 +2880 +CF60 +1900 +0600 +79C0 +ENDCHAR +STARTCHAR U_4227 +ENCODING 16935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +2440 +7F80 +0880 +1FC0 +2040 +7FE0 +9520 +22C0 +ENDCHAR +STARTCHAR U_4228 +ENCODING 16936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +F7C0 +9440 +E7C0 +9440 +D7C0 +A540 +8480 +8660 +ENDCHAR +STARTCHAR U_4229 +ENCODING 16937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +A680 +1040 +2C20 +C2A0 +7CA0 +A2A0 +54A0 +5E20 +E060 +ENDCHAR +STARTCHAR U_422A +ENCODING 16938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +9480 +7FC0 +1100 +1F00 +0000 +7FC0 +4A40 +5F40 +44C0 +ENDCHAR +STARTCHAR U_422B +ENCODING 16939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9280 +2540 +4880 +F3E0 +22A0 +4AA0 +FB60 +AA20 +AA60 +ENDCHAR +STARTCHAR U_422C +ENCODING 16940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +4280 +2240 +9FE0 +4A40 +1FC0 +2A40 +CFC0 +4A40 +ENDCHAR +STARTCHAR U_422D +ENCODING 16941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +CA80 +1000 +3F80 +2480 +3F80 +2480 +3F80 +1540 +E3E0 +ENDCHAR +STARTCHAR U_422E +ENCODING 16942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +2200 +FBE0 +0420 +8BA0 +4AA0 +52A0 +3BA0 +C060 +ENDCHAR +STARTCHAR U_422F +ENCODING 16943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +D480 +FFE0 +0800 +3F80 +2980 +3280 +FFE0 +2080 +4040 +ENDCHAR +STARTCHAR U_4230 +ENCODING 16944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +AB40 +77C0 +2440 +37C0 +6440 +A7C0 +2440 +64C0 +ENDCHAR +STARTCHAR U_4231 +ENCODING 16945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8B40 +7C80 +1500 +3B80 +2080 +3B80 +2080 +3F80 +ENDCHAR +STARTCHAR U_4232 +ENCODING 16946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +A840 +FB80 +6A80 +4C60 +FB80 +6A80 +4900 +96E0 +ENDCHAR +STARTCHAR U_4233 +ENCODING 16947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +BFC0 +2480 +3F80 +0000 +7BC0 +4A40 +2940 +5AC0 +ENDCHAR +STARTCHAR U_4234 +ENCODING 16948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5500 +8A80 +7FC0 +0A80 +7FE0 +0A80 +3F80 +1B00 +6AC0 +ENDCHAR +STARTCHAR U_4235 +ENCODING 16949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +9540 +2A80 +5F40 +0000 +7FC0 +2A40 +1940 +6AC0 +ENDCHAR +STARTCHAR U_4236 +ENCODING 16950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +BFC0 +5140 +6EC0 +1100 +3F80 +5140 +1100 +1F00 +ENDCHAR +STARTCHAR U_4237 +ENCODING 16951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8A40 +2780 +FC80 +2300 +7480 +AFE0 +2480 +2780 +ENDCHAR +STARTCHAR U_4238 +ENCODING 16952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +BC40 +4940 +FCC0 +5640 +7D40 +5440 +7FE0 +9440 +ENDCHAR +STARTCHAR U_4239 +ENCODING 16953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +BFE0 +2020 +4FC0 +1200 +37C0 +5540 +1540 +17C0 +ENDCHAR +STARTCHAR U_423A +ENCODING 16954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +A440 +4380 +7480 +2B00 +5480 +6960 +0200 +A980 +ENDCHAR +STARTCHAR U_423B +ENCODING 16955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4AA0 +FFE0 +4880 +7BE0 +4AA0 +7BE0 +4AA0 +4BE0 +9AA0 +ENDCHAR +STARTCHAR U_423C +ENCODING 16956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +FFE0 +4A20 +92C0 +54A0 +8FA0 +1240 +7240 +1FC0 +ENDCHAR +STARTCHAR U_423D +ENCODING 16957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +FFE0 +0900 +3F80 +2480 +3F80 +1F00 +0400 +7FC0 +ENDCHAR +STARTCHAR U_423E +ENCODING 16958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +AB40 +77C0 +2440 +37C0 +6C40 +A7C0 +2440 +24C0 +ENDCHAR +STARTCHAR U_423F +ENCODING 16959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +FFE0 +54A0 +1280 +1F80 +0400 +FFE0 +1100 +60C0 +ENDCHAR +STARTCHAR U_4240 +ENCODING 16960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +BFC0 +2900 +3FC0 +2900 +2F00 +4000 +5540 +A2A0 +ENDCHAR +STARTCHAR U_4241 +ENCODING 16961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +FD60 +4A80 +7D60 +4900 +7BC0 +4C80 +FB00 +0880 +ENDCHAR +STARTCHAR U_4242 +ENCODING 16962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +BFC0 +2480 +3F80 +3F80 +0900 +3F80 +1500 +6CC0 +ENDCHAR +STARTCHAR U_4243 +ENCODING 16963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +95E0 +56A0 +52C0 +7740 +1040 +F7E0 +5240 +90C0 +ENDCHAR +STARTCHAR U_4244 +ENCODING 16964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5540 +F7E0 +5100 +6FE0 +5640 +5BA0 +7480 +4300 +4CE0 +ENDCHAR +STARTCHAR U_4245 +ENCODING 16965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A40 +BC20 +1200 +7F80 +2A80 +7E80 +13A0 +FE60 +1420 +ENDCHAR +STARTCHAR U_4246 +ENCODING 16966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +BF40 +2900 +2500 +3FC0 +2000 +3FE0 +5520 +8AC0 +ENDCHAR +STARTCHAR U_4247 +ENCODING 16967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +A440 +7D40 +2540 +3D40 +2540 +FF40 +5440 +7EC0 +ENDCHAR +STARTCHAR U_4248 +ENCODING 16968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +FD40 +2900 +FDE0 +4A40 +7D40 +4880 +7940 +4E20 +ENDCHAR +STARTCHAR U_4249 +ENCODING 16969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +B460 +49C0 +FF40 +5540 +7D40 +5540 +7D20 +95A0 +ENDCHAR +STARTCHAR U_424A +ENCODING 16970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +9F40 +0400 +FFE0 +2480 +7FC0 +A4A0 +7FC0 +0400 +ENDCHAR +STARTCHAR U_424B +ENCODING 16971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +AFC0 +2540 +F7C0 +55C0 +5640 +2BC0 +5A40 +93C0 +ENDCHAR +STARTCHAR U_424C +ENCODING 16972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +FC40 +4A80 +57E0 +4900 +4EC0 +69A0 +52A0 +4580 +ENDCHAR +STARTCHAR U_424D +ENCODING 16973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +FFC0 +4A40 +7BC0 +4440 +4B40 +5AC0 +6640 +40C0 +ENDCHAR +STARTCHAR U_424E +ENCODING 16974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +6480 +9540 +FFE0 +9120 +1F00 +0400 +7FE0 +1480 +6460 +ENDCHAR +STARTCHAR U_424F +ENCODING 16975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +B460 +4BC0 +FD40 +5680 +7DE0 +5480 +7FE0 +9480 +ENDCHAR +STARTCHAR U_4250 +ENCODING 16976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +FC80 +13E0 +7C80 +55E0 +7D20 +5520 +FF20 +11E0 +ENDCHAR +STARTCHAR U_4251 +ENCODING 16977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +2000 +7FC0 +AA80 +3FC0 +2A80 +FFE0 +4A40 +8520 +ENDCHAR +STARTCHAR U_4252 +ENCODING 16978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +A480 +13C0 +7C80 +2500 +FFE0 +2480 +7FC0 +A4A0 +3F80 +ENDCHAR +STARTCHAR U_4253 +ENCODING 16979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +27C0 +FD40 +27C0 +7540 +6FE0 +A380 +2540 +2920 +ENDCHAR +STARTCHAR U_4254 +ENCODING 16980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +F940 +27E0 +3940 +4880 +A940 +17E0 +2140 +C7E0 +ENDCHAR +STARTCHAR U_4255 +ENCODING 16981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +9480 +7FC0 +5540 +4E40 +7FC0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_4256 +ENCODING 16982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +1140 +FE20 +5480 +7C40 +55E0 +FE20 +11C0 +1040 +ENDCHAR +STARTCHAR U_4257 +ENCODING 16983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +27C0 +F440 +2FE0 +2540 +36C0 +E540 +2FE0 +6040 +ENDCHAR +STARTCHAR U_4258 +ENCODING 16984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +2100 +FFE0 +2820 +67C0 +7000 +AFE0 +2540 +2B20 +ENDCHAR +STARTCHAR U_4259 +ENCODING 16985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +A480 +FFE0 +A4A0 +1500 +7FC0 +0000 +FFE0 +1100 +3F80 +ENDCHAR +STARTCHAR U_425A +ENCODING 16986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +3F80 +2A80 +FFE0 +9020 +1F00 +1900 +2540 +30C0 +ENDCHAR +STARTCHAR U_425B +ENCODING 16987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +7FC0 +5540 +4E40 +7FC0 +5540 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_425C +ENCODING 16988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +4280 +77E0 +AC80 +27C0 +FC80 +27C0 +5480 +8FE0 +ENDCHAR +STARTCHAR U_425D +ENCODING 16989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +9480 +7FC0 +0400 +3F80 +4480 +FFE0 +2280 +F900 +46E0 +ENDCHAR +STARTCHAR U_425E +ENCODING 16990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +7FE0 +4100 +7F40 +5480 +9D60 +5240 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_425F +ENCODING 16991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +2FE0 +F480 +27E0 +3C80 +E7E0 +2240 +2180 +6660 +ENDCHAR +STARTCHAR U_4260 +ENCODING 16992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +A480 +3500 +5FE0 +A140 +5F40 +C080 +4A80 +4B40 +5220 +ENDCHAR +STARTCHAR U_4261 +ENCODING 16993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +FFE0 +2A80 +2E80 +2080 +3F80 +1300 +1500 +FFE0 +ENDCHAR +STARTCHAR U_4262 +ENCODING 16994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +7FC0 +2480 +5540 +FFE0 +2080 +2E80 +2A80 +3F80 +ENDCHAR +STARTCHAR U_4263 +ENCODING 16995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +39C0 +2040 +39C0 +2040 +3FE0 +5020 +9560 +2540 +ENDCHAR +STARTCHAR U_4264 +ENCODING 16996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +5500 +FDE0 +5740 +2940 +FF40 +4880 +3940 +C620 +ENDCHAR +STARTCHAR U_4265 +ENCODING 16997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +A480 +5FE0 +52A0 +FFE0 +5520 +7FE0 +CA40 +5AA0 +E7A0 +ENDCHAR +STARTCHAR U_4266 +ENCODING 16998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +5FE0 +2AA0 +FFE0 +2480 +2FE0 +3480 +27C0 +F000 +0FE0 +ENDCHAR +STARTCHAR U_4267 +ENCODING 16999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +A480 +EE20 +AAA0 +D2A0 +7EA0 +10A0 +FEA0 +5420 +FE60 +ENDCHAR +STARTCHAR U_4268 +ENCODING 17000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +7DC0 +2940 +FE20 +25C0 +D940 +3540 +D480 +2360 +ENDCHAR +STARTCHAR U_4269 +ENCODING 17001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +2FE0 +FA80 +2B80 +7EE0 +AAA0 +2EE0 +2800 +2FE0 +ENDCHAR +STARTCHAR U_426A +ENCODING 17002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +9280 +3F80 +2480 +3F80 +2480 +FFE0 +AAA0 +FBE0 +AAA0 +FBE0 +ENDCHAR +STARTCHAR U_426B +ENCODING 17003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +7DE0 +12A0 +FCA0 +5560 +3B80 +E4E0 +1500 +64C0 +ENDCHAR +STARTCHAR U_426C +ENCODING 17004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +9480 +7FE0 +6940 +55E0 +7D40 +53E0 +5D40 +4480 +BB60 +ENDCHAR +STARTCHAR U_426D +ENCODING 17005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +2900 +7FC0 +4440 +4A40 +7FC0 +4480 +7780 +4460 +7720 +ENDCHAR +STARTCHAR U_426E +ENCODING 17006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +FBE0 +AA60 +CAA0 +FFE0 +9220 +BFA0 +9220 +9FA0 +ENDCHAR +STARTCHAR U_426F +ENCODING 17007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +9480 +7FE0 +5140 +7880 +4EC0 +75A0 +1A80 +1F80 +6040 +ENDCHAR +STARTCHAR U_4270 +ENCODING 17008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +9480 +7FE0 +5540 +FE20 +A540 +3D40 +2480 +3D40 +C620 +ENDCHAR +STARTCHAR U_4271 +ENCODING 17009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9680 +2040 +EFE0 +3A40 +6BC0 +B800 +2EE0 +2AA0 +2FE0 +ENDCHAR +STARTCHAR U_4272 +ENCODING 17010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +EFE0 +2540 +EFE0 +8D60 +EBA0 +2D60 +2BA0 +CD60 +ENDCHAR +STARTCHAR U_4273 +ENCODING 17011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +7220 +9140 +FBE0 +A880 +FBE0 +A880 +FBE0 +A880 +ENDCHAR +STARTCHAR U_4274 +ENCODING 17012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +9480 +FFE0 +4A40 +7FC0 +1100 +7FC0 +2480 +EB00 +30E0 +ENDCHAR +STARTCHAR U_4275 +ENCODING 17013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +A480 +3F80 +2480 +FFE0 +4A40 +9F20 +3580 +5F40 +1280 +39C0 +ENDCHAR +STARTCHAR U_4276 +ENCODING 17014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +9480 +7FE0 +D280 +7FC0 +5280 +7FE0 +5100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_4277 +ENCODING 17015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +D680 +39C0 +2940 +7FE0 +4900 +7FE0 +5540 +5D40 +5680 +BD60 +ENDCHAR +STARTCHAR U_4278 +ENCODING 17016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +4440 +EEE0 +A0A0 +EEE0 +4040 +EEE0 +4A40 +8E40 +ENDCHAR +STARTCHAR U_4279 +ENCODING 17017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +FFE0 +9520 +EEE0 +AAA0 +FFE0 +2480 +5540 +FFE0 +ENDCHAR +STARTCHAR U_427A +ENCODING 17018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +A800 +77C0 +2100 +F900 +2100 +7100 +6900 +A100 +2FE0 +2000 +ENDCHAR +STARTCHAR U_427B +ENCODING 17019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +AF80 +7480 +2480 +FC80 +27E0 +7480 +6C80 +A4A0 +2660 +2420 +ENDCHAR +STARTCHAR U_427C +ENCODING 17020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +AF00 +7400 +2400 +FFE0 +2480 +7480 +6C80 +A480 +2480 +2880 +ENDCHAR +STARTCHAR U_427D +ENCODING 17021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +AAA0 +71C0 +2080 +FBE0 +6080 +7080 +ABE0 +A080 +2080 +2080 +ENDCHAR +STARTCHAR U_427E +ENCODING 17022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +7BC0 +0A00 +FA20 +09E0 +2480 +1500 +FFE0 +1500 +2480 +4440 +ENDCHAR +STARTCHAR U_427F +ENCODING 17023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +AB80 +72A0 +21C0 +F880 +27E0 +7080 +6880 +A080 +2280 +2100 +ENDCHAR +STARTCHAR U_4280 +ENCODING 17024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +7100 +27E0 +F900 +2100 +77C0 +6C40 +A440 +2440 +27C0 +ENDCHAR +STARTCHAR U_4281 +ENCODING 17025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AD00 +77C0 +2500 +F900 +2FE0 +7280 +6A80 +A280 +24A0 +28E0 +ENDCHAR +STARTCHAR U_4282 +ENCODING 17026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +77E0 +2100 +FFC0 +2540 +7540 +6D40 +A380 +2540 +2920 +ENDCHAR +STARTCHAR U_4283 +ENCODING 17027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +AFC0 +7440 +27C0 +FD40 +27C0 +7540 +6D40 +A540 +25C0 +2920 +ENDCHAR +STARTCHAR U_4284 +ENCODING 17028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FA40 +2340 +3AC0 +E240 +24E0 +1500 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_4285 +ENCODING 17029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +AA00 +73C0 +2440 +FA80 +2100 +73E0 +AE20 +2A20 +23E0 +2220 +ENDCHAR +STARTCHAR U_4286 +ENCODING 17030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +63C0 +4040 +7BC0 +4040 +7FC0 +2480 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_4287 +ENCODING 17031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +A920 +77E0 +2100 +FFE0 +2520 +77E0 +6D20 +A7E0 +2520 +2560 +ENDCHAR +STARTCHAR U_4288 +ENCODING 17032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +AFE0 +7000 +27C0 +F540 +2FE0 +7540 +6D40 +A7E0 +2040 +2180 +ENDCHAR +STARTCHAR U_4289 +ENCODING 17033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A880 +77E0 +2420 +F900 +27E0 +7100 +6B80 +A540 +2920 +2100 +ENDCHAR +STARTCHAR U_428A +ENCODING 17034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +AC20 +77E0 +2400 +FDE0 +2480 +77E0 +6C80 +A7E0 +2480 +28E0 +ENDCHAR +STARTCHAR U_428B +ENCODING 17035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +AD40 +7540 +2740 +F9E0 +2740 +7540 +6D40 +A540 +29E0 +2100 +ENDCHAR +STARTCHAR U_428C +ENCODING 17036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7800 +2A80 +FA80 +2BE0 +6A80 +7A80 +AA80 +2BA0 +32E0 +ENDCHAR +STARTCHAR U_428D +ENCODING 17037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +13E0 +FD20 +1120 +3A20 +D4C0 +1480 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_428E +ENCODING 17038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +AB40 +77E0 +2100 +FFE0 +2240 +77E0 +6A40 +A2C0 +2220 +23E0 +ENDCHAR +STARTCHAR U_428F +ENCODING 17039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +AAA0 +71C0 +2080 +F940 +2620 +7080 +6AA0 +A1C0 +2140 +2620 +ENDCHAR +STARTCHAR U_4290 +ENCODING 17040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +AC40 +77C0 +2440 +FFC0 +2480 +7480 +6FE0 +A480 +25A0 +2660 +ENDCHAR +STARTCHAR U_4291 +ENCODING 17041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A920 +7540 +2100 +FFE0 +2820 +6BA0 +7AA0 +ABA0 +2820 +2860 +ENDCHAR +STARTCHAR U_4292 +ENCODING 17042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +AA80 +77E0 +2C80 +F480 +27C0 +7480 +6FC0 +A480 +2480 +27E0 +ENDCHAR +STARTCHAR U_4293 +ENCODING 17043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +AA40 +73C0 +2240 +FBC0 +2000 +77E0 +6900 +A5C0 +2700 +29E0 +ENDCHAR +STARTCHAR U_4294 +ENCODING 17044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AFE0 +7280 +2100 +FFC0 +2540 +7540 +6FE0 +A280 +2440 +2820 +ENDCHAR +STARTCHAR U_4295 +ENCODING 17045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A9E0 +7EA0 +23E0 +FCA0 +25E0 +7280 +6BE0 +AA80 +2480 +3BE0 +ENDCHAR +STARTCHAR U_4296 +ENCODING 17046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +7FE0 +2200 +FFE0 +2AA0 +7FE0 +6920 +AFE0 +2920 +2960 +ENDCHAR +STARTCHAR U_4297 +ENCODING 17047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +AFC0 +7540 +2640 +FFC0 +2000 +77C0 +6900 +A7C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4298 +ENCODING 17048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7520 +27E0 +FD20 +27E0 +7240 +6BC0 +A240 +23C0 +2240 +ENDCHAR +STARTCHAR U_4299 +ENCODING 17049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2240 +47E0 +FA40 +4A40 +7E40 +2480 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_429A +ENCODING 17050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A900 +75E0 +2120 +FFE0 +2500 +75E0 +6D20 +A5E0 +3C00 +23E0 +ENDCHAR +STARTCHAR U_429B +ENCODING 17051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BC0 +AD40 +7540 +2B60 +FE00 +25C0 +7F40 +6540 +AE80 +3540 +2620 +ENDCHAR +STARTCHAR U_429C +ENCODING 17052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7540 +27C0 +F540 +2FE0 +7040 +6FE0 +A440 +2240 +20C0 +ENDCHAR +STARTCHAR U_429D +ENCODING 17053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +AF20 +7540 +2FE0 +F540 +2520 +7920 +6AC0 +A2A0 +2A20 +29C0 +ENDCHAR +STARTCHAR U_429E +ENCODING 17054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7440 +2280 +FFE0 +2920 +7FE0 +6920 +ABA0 +2AA0 +2BE0 +ENDCHAR +STARTCHAR U_429F +ENCODING 17055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +AFE0 +7440 +27C0 +F900 +2FE0 +7920 +6D60 +ABA0 +2D60 +2820 +ENDCHAR +STARTCHAR U_42A0 +ENCODING 17056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A880 +FA80 +93E0 +B940 +CA60 +2480 +1500 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_42A1 +ENCODING 17057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +ACC0 +7540 +2FE0 +FAA0 +2FE0 +7000 +6FC0 +A240 +2380 +2C60 +ENDCHAR +STARTCHAR U_42A2 +ENCODING 17058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +73C0 +1540 +F280 +5FE0 +9240 +24C0 +1500 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_42A3 +ENCODING 17059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AFE0 +7280 +2FE0 +F800 +27C0 +7540 +6FC0 +A540 +27C0 +2820 +ENDCHAR +STARTCHAR U_42A4 +ENCODING 17060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +AA80 +7FE0 +2AA0 +FFE0 +2440 +77C0 +A440 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_42A5 +ENCODING 17061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFC0 +7140 +2FE0 +F140 +27C0 +7540 +6FC0 +A540 +27C0 +2940 +ENDCHAR +STARTCHAR U_42A6 +ENCODING 17062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7100 +2FE0 +F820 +27C0 +7440 +67C0 +A440 +2280 +2FE0 +ENDCHAR +STARTCHAR U_42A7 +ENCODING 17063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AFE0 +72A0 +2FE0 +FA80 +2FE0 +74A0 +6FC0 +A540 +27C0 +2820 +ENDCHAR +STARTCHAR U_42A8 +ENCODING 17064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +4000 +3FC0 +2080 +7FC0 +5540 +7F40 +5540 +7F40 +9560 +ENDCHAR +STARTCHAR U_42A9 +ENCODING 17065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +AF20 +7540 +2FE0 +F540 +2920 +77C0 +6D40 +A7C0 +2540 +27C0 +ENDCHAR +STARTCHAR U_42AA +ENCODING 17066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AFE0 +7280 +27C0 +FD40 +27C0 +7540 +6FE0 +A920 +2FE0 +2A20 +ENDCHAR +STARTCHAR U_42AB +ENCODING 17067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +AAA0 +7FE0 +2280 +FEE0 +2280 +7EE0 +6280 +AEE0 +2280 +2480 +ENDCHAR +STARTCHAR U_42AC +ENCODING 17068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +2540 +FFC0 +2540 +7FE0 +A540 +2920 +2480 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_42AD +ENCODING 17069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7100 +27E0 +F820 +27C0 +7100 +6FE0 +AA40 +2F40 +20C0 +ENDCHAR +STARTCHAR U_42AE +ENCODING 17070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +ADA0 +7360 +25A0 +FB20 +2480 +77E0 +6C80 +A7E0 +2480 +27E0 +ENDCHAR +STARTCHAR U_42AF +ENCODING 17071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7A80 +2FE0 +FA80 +2FE0 +7540 +6FC0 +A540 +27C0 +2820 +ENDCHAR +STARTCHAR U_42B0 +ENCODING 17072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A8A0 +75E0 +2EA0 +F1E0 +2E80 +71E0 +AEA0 +2AE0 +2EA0 +20E0 +ENDCHAR +STARTCHAR U_42B1 +ENCODING 17073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +AD60 +7AC0 +2FE0 +F540 +2DC0 +7560 +6DC0 +A540 +2FE0 +2120 +ENDCHAR +STARTCHAR U_42B2 +ENCODING 17074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +2BE0 +FF40 +AA80 +FFE0 +9680 +5BE0 +FE80 +33E0 +5E80 +95E0 +ENDCHAR +STARTCHAR U_42B3 +ENCODING 17075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +AFE0 +7540 +27E0 +FD40 +27E0 +7540 +6F60 +A540 +2760 +2940 +ENDCHAR +STARTCHAR U_42B4 +ENCODING 17076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +AFE0 +7540 +2100 +F280 +2FE0 +7540 +6D40 +A7C0 +2280 +2D60 +ENDCHAR +STARTCHAR U_42B5 +ENCODING 17077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4200 +9F80 +F280 +2280 +4280 +9280 +FA80 +AA80 +A4A0 +9860 +ENDCHAR +STARTCHAR U_42B6 +ENCODING 17078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4100 +9500 +F5E0 +2F20 +4520 +9540 +F500 +AC20 +A420 +83E0 +ENDCHAR +STARTCHAR U_42B7 +ENCODING 17079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +4040 +9040 +FFE0 +2040 +40C0 +9140 +FA40 +AC40 +A840 +80C0 +ENDCHAR +STARTCHAR U_42B8 +ENCODING 17080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +4000 +9000 +FFE0 +2200 +4200 +97C0 +F840 +A840 +A080 +8300 +ENDCHAR +STARTCHAR U_42B9 +ENCODING 17081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +4700 +9100 +F100 +2FE0 +4100 +9100 +F900 +A900 +A100 +8100 +ENDCHAR +STARTCHAR U_42BA +ENCODING 17082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +47E0 +9100 +F200 +23C0 +4440 +9440 +FB80 +A880 +A100 +8FE0 +ENDCHAR +STARTCHAR U_42BB +ENCODING 17083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +4400 +97E0 +F520 +2940 +4100 +9100 +F900 +AA80 +A440 +9820 +ENDCHAR +STARTCHAR U_42BC +ENCODING 17084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4080 +9080 +F080 +2480 +44E0 +9480 +F480 +AC80 +A480 +8FE0 +ENDCHAR +STARTCHAR U_42BD +ENCODING 17085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4100 +97C0 +F140 +2140 +4FE0 +9100 +F180 +0A40 +AA20 +A420 +ENDCHAR +STARTCHAR U_42BE +ENCODING 17086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4100 +9100 +F7E0 +2100 +4380 +9380 +F540 +A920 +A900 +8100 +ENDCHAR +STARTCHAR U_42BF +ENCODING 17087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4100 +97E0 +F100 +2100 +47E0 +9100 +F900 +0A80 +A440 +A820 +ENDCHAR +STARTCHAR U_42C0 +ENCODING 17088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +7FE0 +4480 +4900 +4640 +5FE0 +4200 +9AC0 +A620 +ENDCHAR +STARTCHAR U_42C1 +ENCODING 17089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4FE0 +9000 +6380 +2A80 +7A80 +8280 +2A80 +AAA0 +84E0 +ENDCHAR +STARTCHAR U_42C2 +ENCODING 17090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2640 +4180 +9340 +F420 +2000 +4240 +FA40 +0980 +A980 +A240 +8C20 +ENDCHAR +STARTCHAR U_42C3 +ENCODING 17091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +4700 +9100 +F1E0 +4700 +9100 +F1E0 +0F00 +A900 +A120 +80E0 +ENDCHAR +STARTCHAR U_42C4 +ENCODING 17092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +4420 +9420 +E660 +45A0 +95A0 +F660 +0C20 +AC20 +A420 +8460 +ENDCHAR +STARTCHAR U_42C5 +ENCODING 17093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4100 +9500 +F7C0 +4900 +9100 +FFE0 +0100 +A900 +A900 +8100 +ENDCHAR +STARTCHAR U_42C6 +ENCODING 17094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4100 +97E0 +E420 +4420 +97E0 +F400 +0C00 +A400 +A400 +8800 +ENDCHAR +STARTCHAR U_42C7 +ENCODING 17095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +47C0 +9440 +F440 +47C0 +9500 +F500 +0C80 +A480 +A840 +8820 +ENDCHAR +STARTCHAR U_42C8 +ENCODING 17096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BC0 +FE40 +4980 +3640 +C920 +3F00 +1100 +3F80 +1500 +2480 +4440 +ENDCHAR +STARTCHAR U_42C9 +ENCODING 17097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4100 +9FE0 +E820 +4000 +9280 +F280 +0A80 +A440 +A440 +8820 +ENDCHAR +STARTCHAR U_42CA +ENCODING 17098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +4FE0 +9100 +E100 +4100 +95E0 +F500 +0D00 +A500 +A500 +9FE0 +ENDCHAR +STARTCHAR U_42CB +ENCODING 17099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +4420 +97E0 +E480 +4480 +97E0 +F480 +0C80 +A4A0 +A660 +8420 +ENDCHAR +STARTCHAR U_42CC +ENCODING 17100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +4400 +9400 +E7C0 +4440 +9440 +F7C0 +0C00 +A400 +A400 +87E0 +ENDCHAR +STARTCHAR U_42CD +ENCODING 17101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +4FE0 +9040 +F040 +4740 +9540 +F540 +0F40 +A840 +A040 +80C0 +ENDCHAR +STARTCHAR U_42CE +ENCODING 17102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +47C0 +9440 +E440 +47C0 +9440 +F440 +0FC0 +A800 +A000 +8FE0 +ENDCHAR +STARTCHAR U_42CF +ENCODING 17103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4200 +93E0 +F500 +4100 +91C0 +F900 +09E0 +A900 +A100 +8100 +ENDCHAR +STARTCHAR U_42D0 +ENCODING 17104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +4100 +57E0 +E500 +2520 +44C0 +F480 +04A0 +ADA0 +A660 +ENDCHAR +STARTCHAR U_42D1 +ENCODING 17105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +4100 +5FE0 +E920 +2920 +4AA0 +FC60 +0820 +A820 +A8E0 +ENDCHAR +STARTCHAR U_42D2 +ENCODING 17106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2040 +4180 +5080 +EFE0 +20A0 +4180 +F280 +0480 +A880 +A380 +ENDCHAR +STARTCHAR U_42D3 +ENCODING 17107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +43E0 +5440 +E880 +27E0 +4020 +F7E0 +0020 +A820 +A7E0 +ENDCHAR +STARTCHAR U_42D4 +ENCODING 17108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +4080 +5100 +E380 +2540 +4920 +F100 +0100 +A000 +AFE0 +ENDCHAR +STARTCHAR U_42D5 +ENCODING 17109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +2100 +6FE0 +A100 +27C0 +0A00 +1480 +3FC0 +0400 +1500 +6CC0 +ENDCHAR +STARTCHAR U_42D6 +ENCODING 17110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +4140 +57E0 +E140 +27C0 +4100 +F7C0 +0100 +AFE0 +A100 +ENDCHAR +STARTCHAR U_42D7 +ENCODING 17111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +4480 +5480 +E7E0 +2420 +4420 +F7E0 +0480 +AC80 +A7E0 +ENDCHAR +STARTCHAR U_42D8 +ENCODING 17112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2780 +4100 +57C0 +E100 +2FE0 +4100 +F380 +0540 +A920 +A100 +ENDCHAR +STARTCHAR U_42D9 +ENCODING 17113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2440 +4440 +57C0 +E440 +27C0 +4440 +F460 +0FC0 +A040 +A040 +ENDCHAR +STARTCHAR U_42DA +ENCODING 17114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2220 +4AA0 +5660 +E220 +2660 +4AA0 +F220 +0220 +A220 +AEE0 +ENDCHAR +STARTCHAR U_42DB +ENCODING 17115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +4380 +5100 +EFE0 +2100 +4380 +F540 +0120 +A900 +A100 +ENDCHAR +STARTCHAR U_42DC +ENCODING 17116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3E0 +8220 +F140 +9080 +F540 +8A20 +FE00 +0480 +3FC0 +1280 +2640 +ENDCHAR +STARTCHAR U_42DD +ENCODING 17117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2920 +4540 +5000 +E100 +2FE0 +4280 +F280 +0100 +AA80 +A440 +ENDCHAR +STARTCHAR U_42DE +ENCODING 17118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +4820 +5D60 +EAA0 +2AA0 +4D60 +F820 +0820 +A8A0 +A840 +ENDCHAR +STARTCHAR U_42DF +ENCODING 17119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +47C0 +5400 +E7E0 +2000 +4100 +FAA0 +06A0 +AA40 +A3C0 +ENDCHAR +STARTCHAR U_42E0 +ENCODING 17120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2FE0 +4100 +5FE0 +E920 +2FE0 +4920 +FFE0 +0920 +A920 +A960 +ENDCHAR +STARTCHAR U_42E1 +ENCODING 17121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +4440 +5BA0 +E100 +27C0 +4100 +F380 +0540 +A920 +A300 +ENDCHAR +STARTCHAR U_42E2 +ENCODING 17122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA00 +23E0 +FA40 +2440 +6E00 +1080 +7FC0 +0420 +1500 +2480 +ENDCHAR +STARTCHAR U_42E3 +ENCODING 17123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7900 +8240 +7B80 +4900 +6FE0 +F880 +49C0 +6AA0 +7C80 +1180 +ENDCHAR +STARTCHAR U_42E4 +ENCODING 17124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +23E0 +FA20 +2520 +54A0 +20A0 +F820 +7020 +A940 +6080 +ENDCHAR +STARTCHAR U_42E5 +ENCODING 17125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +47C0 +5540 +E540 +27C0 +4100 +F7C0 +0100 +A100 +AFE0 +ENDCHAR +STARTCHAR U_42E6 +ENCODING 17126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +4800 +57C0 +E540 +2FE0 +4440 +F540 +07E0 +A840 +A080 +ENDCHAR +STARTCHAR U_42E7 +ENCODING 17127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +4420 +57E0 +E480 +27E0 +4480 +F7E0 +0620 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_42E8 +ENCODING 17128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +4FE0 +5440 +E280 +2FE0 +4000 +F7C0 +0440 +A440 +A7C0 +ENDCHAR +STARTCHAR U_42E9 +ENCODING 17129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +26C0 +4440 +56C0 +E440 +2440 +47C0 +F280 +02A0 +A4A0 +A8E0 +ENDCHAR +STARTCHAR U_42EA +ENCODING 17130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E00 +2BE0 +4A40 +5A40 +EDC0 +2B40 +4B40 +FBC0 +0E40 +A840 +A8C0 +ENDCHAR +STARTCHAR U_42EB +ENCODING 17131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +4880 +57C0 +E140 +2FE0 +4140 +F140 +07C0 +A100 +A300 +ENDCHAR +STARTCHAR U_42EC +ENCODING 17132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +4100 +5FE0 +E280 +2440 +4920 +F540 +09A0 +A140 +A300 +ENDCHAR +STARTCHAR U_42ED +ENCODING 17133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4200 +57C0 +E000 +27C0 +4440 +F7C0 +0440 +A7C0 +A440 +ENDCHAR +STARTCHAR U_42EE +ENCODING 17134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +4440 +5820 +E7C0 +2100 +47C0 +F100 +0540 +A380 +AFE0 +ENDCHAR +STARTCHAR U_42EF +ENCODING 17135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3140 +47E0 +7100 +57C0 +7480 +8E60 +9080 +3FC0 +0420 +2480 +4C40 +ENDCHAR +STARTCHAR U_42F0 +ENCODING 17136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +FFE0 +3580 +CE60 +0880 +3FC0 +1500 +2480 +ENDCHAR +STARTCHAR U_42F1 +ENCODING 17137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4100 +5540 +E540 +2BA0 +4100 +F380 +0540 +A920 +A100 +ENDCHAR +STARTCHAR U_42F2 +ENCODING 17138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +47C0 +5100 +EFE0 +2920 +4FE0 +F920 +0FE0 +A100 +A1E0 +ENDCHAR +STARTCHAR U_42F3 +ENCODING 17139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2EE0 +4280 +56A0 +EAE0 +27C0 +4440 +F7C0 +0440 +A7C0 +A440 +ENDCHAR +STARTCHAR U_42F4 +ENCODING 17140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2140 +4080 +57E0 +E280 +2480 +4100 +F7E0 +0380 +A540 +A920 +ENDCHAR +STARTCHAR U_42F5 +ENCODING 17141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +47C0 +5440 +E7C0 +2200 +47E0 +FCA0 +0560 +A7A0 +A060 +ENDCHAR +STARTCHAR U_42F6 +ENCODING 17142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2FC0 +2200 +4FC0 +5840 +EFC0 +2840 +4FC0 +F840 +0FC0 +A480 +A840 +ENDCHAR +STARTCHAR U_42F7 +ENCODING 17143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +13E0 +FD40 +5080 +9560 +0E00 +1080 +7FC0 +0420 +1500 +2480 +ENDCHAR +STARTCHAR U_42F8 +ENCODING 17144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +47E0 +5480 +E5E0 +2520 +45E0 +F520 +05E0 +A520 +A9E0 +ENDCHAR +STARTCHAR U_42F9 +ENCODING 17145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2000 +43C0 +5240 +E3C0 +2000 +47E0 +F520 +07E0 +A520 +A7E0 +ENDCHAR +STARTCHAR U_42FA +ENCODING 17146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2340 +2C40 +4440 +4560 +FF40 +2C40 +5640 +F540 +0440 +A4A0 +A520 +ENDCHAR +STARTCHAR U_42FB +ENCODING 17147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4100 +5FE0 +EC60 +2AA0 +4FE0 +F920 +0FE0 +A920 +A860 +ENDCHAR +STARTCHAR U_42FC +ENCODING 17148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2480 +45E0 +5420 +E7A0 +2920 +4AA0 +FFE0 +0AA0 +AAA0 +AFE0 +ENDCHAR +STARTCHAR U_42FD +ENCODING 17149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2E40 +45E0 +5440 +EE40 +2540 +44C0 +FE40 +0440 +A640 +A8C0 +ENDCHAR +STARTCHAR U_42FE +ENCODING 17150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4440 +5BA0 +E480 +2D40 +42E0 +F520 +02C0 +A080 +A700 +ENDCHAR +STARTCHAR U_42FF +ENCODING 17151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +47C0 +5540 +EFE0 +2500 +4520 +F4C0 +0480 +A540 +A620 +ENDCHAR +STARTCHAR U_4300 +ENCODING 17152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2C40 +4540 +54C0 +EE40 +2540 +4EC0 +F460 +05C0 +A440 +A440 +ENDCHAR +STARTCHAR U_4301 +ENCODING 17153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +4FE0 +5AA0 +EBA0 +2820 +4100 +F7E0 +0240 +A180 +A640 +ENDCHAR +STARTCHAR U_4302 +ENCODING 17154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +47E0 +5400 +E7E0 +2500 +47E0 +F480 +07E0 +A880 +ABE0 +ENDCHAR +STARTCHAR U_4303 +ENCODING 17155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +3520 +4EA0 +54A0 +EEA0 +2AA0 +4EA0 +FAA0 +0E20 +AA20 +AAE0 +ENDCHAR +STARTCHAR U_4304 +ENCODING 17156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +4FE0 +5AA0 +ED20 +29E0 +4100 +FFE0 +0440 +A380 +AC60 +ENDCHAR +STARTCHAR U_4305 +ENCODING 17157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4900 +5BC0 +E940 +2FE0 +4940 +FBC0 +0A40 +AA40 +ABC0 +ENDCHAR +STARTCHAR U_4306 +ENCODING 17158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +4A40 +5FC0 +EA40 +2FC0 +4540 +F5A0 +05E0 +A920 +B0E0 +ENDCHAR +STARTCHAR U_4307 +ENCODING 17159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +4100 +57E0 +E920 +2280 +4700 +E240 +0FE0 +A540 +AB20 +ENDCHAR +STARTCHAR U_4308 +ENCODING 17160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +47C0 +5440 +E7C0 +2EE0 +4220 +EAA0 +0660 +AAA0 +A440 +ENDCHAR +STARTCHAR U_4309 +ENCODING 17161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +4AA0 +5FE0 +E000 +2FE0 +4100 +F5E0 +0500 +A500 +AFE0 +ENDCHAR +STARTCHAR U_430A +ENCODING 17162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +4A80 +5500 +E200 +2FC0 +4100 +EFE0 +0100 +A920 +AFE0 +ENDCHAR +STARTCHAR U_430B +ENCODING 17163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4280 +5100 +E280 +2440 +4BA0 +F000 +07C0 +A440 +A7C0 +ENDCHAR +STARTCHAR U_430C +ENCODING 17164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +4660 +4AA0 +E220 +2440 +47E0 +F420 +07E0 +A420 +A7E0 +ENDCHAR +STARTCHAR U_430D +ENCODING 17165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +4440 +57C0 +EFE0 +2920 +4FE0 +F100 +0FE0 +A100 +AFE0 +ENDCHAR +STARTCHAR U_430E +ENCODING 17166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F7E0 +9A40 +9180 +F660 +0BC0 +1E40 +0BC0 +7FE0 +2480 +4440 +ENDCHAR +STARTCHAR U_430F +ENCODING 17167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4920 +5480 +ED20 +27C0 +4800 +F100 +0920 +A920 +AFE0 +ENDCHAR +STARTCHAR U_4310 +ENCODING 17168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F00 +4540 +5280 +E7C0 +2440 +47C0 +F440 +07C0 +A280 +ACE0 +ENDCHAR +STARTCHAR U_4311 +ENCODING 17169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +4FA0 +5940 +EF40 +2AE0 +4FA0 +F100 +07C0 +A100 +AFE0 +ENDCHAR +STARTCHAR U_4312 +ENCODING 17170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +4540 +57E0 +E540 +27E0 +4400 +F6A0 +07C0 +AA80 +ABE0 +ENDCHAR +STARTCHAR U_4313 +ENCODING 17171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DC0 +D540 +7E20 +57E0 +7D40 +0880 +1F60 +0800 +3F80 +1500 +2C80 +ENDCHAR +STARTCHAR U_4314 +ENCODING 17172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +4BC0 +5A40 +EBC0 +2800 +4FE0 +FDA0 +0FE0 +A800 +AFE0 +ENDCHAR +STARTCHAR U_4315 +ENCODING 17173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +4FE0 +5A40 +EA40 +2FE0 +4A40 +FAC0 +0F60 +AA40 +AA40 +ENDCHAR +STARTCHAR U_4316 +ENCODING 17174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2440 +4FE0 +5480 +E7E0 +2480 +47E0 +F480 +0FE0 +A2C0 +A4A0 +ENDCHAR +STARTCHAR U_4317 +ENCODING 17175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +4FE0 +5540 +E540 +2FE0 +4540 +F540 +0FE0 +A000 +8AA0 +ENDCHAR +STARTCHAR U_4318 +ENCODING 17176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +73E0 +FD40 +A880 +FD40 +AE00 +1080 +3FC0 +0420 +2480 +4C40 +ENDCHAR +STARTCHAR U_4319 +ENCODING 17177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4280 +5380 +EFE0 +2540 +47C0 +F540 +07C0 +A280 +AC60 +ENDCHAR +STARTCHAR U_431A +ENCODING 17178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +4FE0 +5AA0 +EFE0 +2920 +4540 +FFE0 +0380 +A540 +A920 +ENDCHAR +STARTCHAR U_431B +ENCODING 17179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7900 +5240 +A380 +4100 +A7E0 +F880 +02C0 +F2A0 +94A0 +F180 +ENDCHAR +STARTCHAR U_431C +ENCODING 17180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2AA0 +46C0 +5FE0 +E440 +2280 +4FE0 +F100 +0FE0 +A540 +A920 +ENDCHAR +STARTCHAR U_431D +ENCODING 17181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4280 +57C0 +EAA0 +2280 +47C0 +F000 +0FE0 +A540 +A920 +ENDCHAR +STARTCHAR U_431E +ENCODING 17182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +4440 +5BA0 +E000 +2EE0 +4AA0 +FEE0 +0440 +A440 +AAA0 +ENDCHAR +STARTCHAR U_431F +ENCODING 17183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2E40 +4BE0 +5AA0 +EE40 +29E0 +4E40 +FA40 +0BE0 +AE40 +A840 +ENDCHAR +STARTCHAR U_4320 +ENCODING 17184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +7DE0 +52A0 +4A80 +B540 +BA20 +0C80 +3FC0 +0420 +2480 +4C40 +ENDCHAR +STARTCHAR U_4321 +ENCODING 17185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4AA0 +5FE0 +EAA0 +2FE0 +4440 +F7C0 +0440 +A280 +AFE0 +ENDCHAR +STARTCHAR U_4322 +ENCODING 17186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +4FE0 +5DA0 +EB60 +2280 +4540 +FBA0 +0080 +A300 +A080 +ENDCHAR +STARTCHAR U_4323 +ENCODING 17187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +26E0 +4D40 +5320 +EFE0 +2820 +57C0 +F480 +07C0 +A440 +A7C0 +ENDCHAR +STARTCHAR U_4324 +ENCODING 17188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +4920 +5FE0 +ED60 +2BA0 +4D60 +F920 +0D60 +ABA0 +AD60 +ENDCHAR +STARTCHAR U_4325 +ENCODING 17189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +4FE0 +5100 +EFE0 +2040 +47C0 +F040 +07C0 +AA40 +ABA0 +ENDCHAR +STARTCHAR U_4326 +ENCODING 17190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +25A0 +4360 +55A0 +EB20 +2480 +4FE0 +F480 +07E0 +A480 +A7E0 +ENDCHAR +STARTCHAR U_4327 +ENCODING 17191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4100 +5FE0 +E020 +27C0 +4100 +FFE0 +0E40 +ABE0 +AE40 +ENDCHAR +STARTCHAR U_4328 +ENCODING 17192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +4440 +55E0 +EAA0 +3440 +4BA0 +F000 +0FE0 +A540 +AB20 +ENDCHAR +STARTCHAR U_4329 +ENCODING 17193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4280 +5FE0 +EAA0 +2FE0 +4140 +FFE0 +08A0 +AA40 +A8A0 +ENDCHAR +STARTCHAR U_432A +ENCODING 17194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +4EE0 +5AA0 +EEE0 +2BA0 +4AA0 +FB20 +0AA0 +ABA0 +A860 +ENDCHAR +STARTCHAR U_432B +ENCODING 17195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +2A40 +4F60 +5A40 +EFA0 +2000 +47C0 +F540 +07C0 +A280 +ACE0 +ENDCHAR +STARTCHAR U_432C +ENCODING 17196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2EE0 +4A80 +54E0 +EE20 +2AE0 +4E80 +FAE0 +0E80 +AAA0 +AAE0 +ENDCHAR +STARTCHAR U_432D +ENCODING 17197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4280 +5500 +EFE0 +2480 +47E0 +F480 +07E0 +A540 +AAA0 +ENDCHAR +STARTCHAR U_432E +ENCODING 17198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +4FE0 +5920 +EBA0 +2100 +42E0 +FFA0 +06E0 +ABA0 +AAE0 +ENDCHAR +STARTCHAR U_432F +ENCODING 17199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4280 +57C0 +E540 +2280 +47E0 +FC80 +07E0 +A480 +A7E0 +ENDCHAR +STARTCHAR U_4330 +ENCODING 17200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +4440 +57C0 +E440 +2FE0 +4540 +F7C0 +0540 +AFE0 +A140 +ENDCHAR +STARTCHAR U_4331 +ENCODING 17201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +4400 +57C0 +E440 +2FE0 +4AA0 +FEA0 +0BE0 +AEA0 +ABA0 +ENDCHAR +STARTCHAR U_4332 +ENCODING 17202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4280 +5FE0 +E100 +2FE0 +4AA0 +FFE0 +0100 +AFE0 +AAA0 +ENDCHAR +STARTCHAR U_4333 +ENCODING 17203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +4FE0 +5D60 +EBA0 +2D60 +4BA0 +F100 +07C0 +A140 +AFE0 +ENDCHAR +STARTCHAR U_4334 +ENCODING 17204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +4400 +57C0 +E440 +2FE0 +4AA0 +FFA0 +0AE0 +AFA0 +AAA0 +ENDCHAR +STARTCHAR U_4335 +ENCODING 17205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +47E0 +5540 +E7E0 +26A0 +47E0 +F4A0 +07E0 +A8A0 +ABE0 +ENDCHAR +STARTCHAR U_4336 +ENCODING 17206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +4080 +57E0 +E180 +2180 +4280 +F280 +0480 +3480 +C980 +ENDCHAR +STARTCHAR U_4337 +ENCODING 17207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4FE0 +5920 +E920 +2920 +4FE0 +F920 +0920 +3920 +CFE0 +ENDCHAR +STARTCHAR U_4338 +ENCODING 17208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +47C0 +5200 +E200 +2FE0 +4400 +F7C0 +0080 +3300 +C080 +ENDCHAR +STARTCHAR U_4339 +ENCODING 17209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +4820 +5BA0 +EAA0 +2AA0 +4BA0 +FAA0 +0820 +38A0 +C840 +ENDCHAR +STARTCHAR U_433A +ENCODING 17210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2440 +4440 +57C0 +E440 +2440 +47C0 +F440 +04E0 +3F40 +C040 +ENDCHAR +STARTCHAR U_433B +ENCODING 17211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2220 +4220 +5320 +EAA0 +2660 +4AA0 +F320 +0220 +3220 +C660 +ENDCHAR +STARTCHAR U_433C +ENCODING 17212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +47C0 +5440 +E440 +27C0 +4280 +F280 +02A0 +34A0 +C8E0 +ENDCHAR +STARTCHAR U_433D +ENCODING 17213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F20 +4A40 +5540 +E100 +2FE0 +4380 +F540 +0540 +A920 +A920 +ENDCHAR +STARTCHAR U_433E +ENCODING 17214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4100 +5FE0 +E820 +2AA0 +4FE0 +F920 +0FE0 +3920 +C960 +ENDCHAR +STARTCHAR U_433F +ENCODING 17215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2000 +43C0 +5240 +E3C0 +2000 +47E0 +F4A0 +07E0 +34A0 +C7E0 +ENDCHAR +STARTCHAR U_4340 +ENCODING 17216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2A80 +4AE0 +5A80 +EAC0 +2B20 +4200 +FFE0 +0AA0 +3AA0 +CFE0 +ENDCHAR +STARTCHAR U_4341 +ENCODING 17217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2940 +47E0 +5080 +ED00 +26A0 +45C0 +F680 +05C0 +36A0 +CBE0 +ENDCHAR +STARTCHAR U_4342 +ENCODING 17218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47C0 +7900 +A100 +2100 +FFE0 +2100 +A900 +B900 +C900 +0700 +ENDCHAR +STARTCHAR U_4343 +ENCODING 17219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +FC40 +4880 +2500 +7FC0 +8400 +0400 +FFE0 +0400 +4440 +7FC0 +ENDCHAR +STARTCHAR U_4344 +ENCODING 17220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4080 +78E0 +A080 +2080 +F880 +23E0 +AA20 +BA20 +CBE0 +0220 +ENDCHAR +STARTCHAR U_4345 +ENCODING 17221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7A80 +A240 +2520 +F880 +27E0 +A840 +BA80 +C900 +0080 +ENDCHAR +STARTCHAR U_4346 +ENCODING 17222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4080 +7FE0 +A420 +2000 +FBC0 +2080 +A880 +B880 +C880 +0380 +ENDCHAR +STARTCHAR U_4347 +ENCODING 17223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +4700 +7900 +A080 +27C0 +F840 +2080 +A880 +B900 +CB00 +04E0 +ENDCHAR +STARTCHAR U_4348 +ENCODING 17224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47C0 +7900 +A540 +2380 +F900 +27E0 +A900 +B900 +C900 +0100 +ENDCHAR +STARTCHAR U_4349 +ENCODING 17225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +43E0 +7A20 +A220 +2220 +FBE0 +2000 +A940 +B940 +CA20 +0420 +ENDCHAR +STARTCHAR U_434A +ENCODING 17226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4100 +7FE0 +A280 +2440 +FAA0 +2280 +A900 +B900 +CA80 +0440 +ENDCHAR +STARTCHAR U_434B +ENCODING 17227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4700 +7900 +A7E0 +2540 +FD40 +27E0 +AD40 +BFE0 +C900 +03C0 +ENDCHAR +STARTCHAR U_434C +ENCODING 17228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4080 +7FE0 +A240 +2180 +FFE0 +2000 +ABC0 +BA40 +CA40 +03C0 +ENDCHAR +STARTCHAR U_434D +ENCODING 17229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2240 +FA60 +8C00 +77E0 +2240 +F980 +2180 +AA40 +FC20 +ENDCHAR +STARTCHAR U_434E +ENCODING 17230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +47E0 +7A40 +A7E0 +2540 +FFE0 +2560 +A7E0 +BD00 +C5E0 +0AA0 +ENDCHAR +STARTCHAR U_434F +ENCODING 17231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +FFC0 +9240 +9240 +9240 +9240 +FFC0 +8040 +8040 +8040 +8140 +8080 +ENDCHAR +STARTCHAR U_4350 +ENCODING 17232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +4A40 +7FC0 +0000 +3F80 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_4351 +ENCODING 17233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +AAA0 +9120 +AAA0 +8020 +3F80 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_4352 +ENCODING 17234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +FFC0 +9240 +FFC0 +0800 +0800 +FFC0 +1C00 +2A00 +4900 +88C0 +0800 +ENDCHAR +STARTCHAR U_4353 +ENCODING 17235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5240 +7FC0 +0000 +7FC0 +1100 +2100 +7FE0 +0900 +3100 +C300 +ENDCHAR +STARTCHAR U_4354 +ENCODING 17236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +FFC0 +0800 +0800 +FFE0 +1000 +1200 +2400 +4980 +9E40 +ENDCHAR +STARTCHAR U_4355 +ENCODING 17237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +A480 +FF80 +0000 +FF80 +8800 +8800 +FFC0 +8400 +AA40 +C5C0 +ENDCHAR +STARTCHAR U_4356 +ENCODING 17238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +FFC0 +4000 +7F80 +8080 +3E80 +2280 +3EA0 +2020 +3FE0 +ENDCHAR +STARTCHAR U_4357 +ENCODING 17239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +FFC0 +0800 +FFE0 +1000 +2100 +7E00 +0C00 +3080 +FFC0 +ENDCHAR +STARTCHAR U_4358 +ENCODING 17240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5240 +5240 +7FC0 +2480 +1500 +FFE0 +0E00 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_4359 +ENCODING 17241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +FFC0 +4000 +7FC0 +A480 +2280 +FFE0 +4900 +7FC0 +0100 +ENDCHAR +STARTCHAR U_435A +ENCODING 17242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +FFC0 +0800 +7F80 +4080 +7F80 +4080 +7F80 +4A00 +67E0 +ENDCHAR +STARTCHAR U_435B +ENCODING 17243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8920 +FFE0 +0000 +FFE0 +8420 +BFA0 +8420 +9F20 +9120 +FFE0 +ENDCHAR +STARTCHAR U_435C +ENCODING 17244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +FFC0 +2000 +7FC0 +C400 +7FC0 +4400 +7FC0 +4400 +7FE0 +ENDCHAR +STARTCHAR U_435D +ENCODING 17245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +FFE0 +0420 +F640 +2580 +5480 +8860 +FFE0 +8420 +FFE0 +ENDCHAR +STARTCHAR U_435E +ENCODING 17246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +AAA0 +9120 +AAA0 +0280 +FFE0 +7A00 +4A40 +7980 +01A0 +FA60 +ENDCHAR +STARTCHAR U_435F +ENCODING 17247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +FFC0 +0C00 +9240 +FFC0 +5080 +BF40 +4A20 +0E00 +3180 +ENDCHAR +STARTCHAR U_4360 +ENCODING 17248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0400 +FFE0 +2A80 +2480 +7FC0 +4A40 +5F40 +4080 +ENDCHAR +STARTCHAR U_4361 +ENCODING 17249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0400 +7FC0 +4900 +7FC0 +4940 +7FC0 +5120 +9DE0 +ENDCHAR +STARTCHAR U_4362 +ENCODING 17250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +2000 +7FC0 +AA80 +7FC0 +2A80 +FFE0 +5240 +C920 +ENDCHAR +STARTCHAR U_4363 +ENCODING 17251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0400 +FFE0 +9520 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_4364 +ENCODING 17252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0400 +FFE0 +5B40 +5540 +9520 +2080 +3F80 +4080 +ENDCHAR +STARTCHAR U_4365 +ENCODING 17253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0000 +7FC0 +4880 +5DC0 +6AA0 +53C0 +9200 +BFE0 +ENDCHAR +STARTCHAR U_4366 +ENCODING 17254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +1080 +FDE0 +5740 +7DE0 +1140 +FDE0 +9540 +BDE0 +ENDCHAR +STARTCHAR U_4367 +ENCODING 17255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +AFE0 +F100 +A100 +A7C0 +3100 +6100 +AFE0 +2100 +2100 +ENDCHAR +STARTCHAR U_4368 +ENCODING 17256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +6100 +F7E0 +2100 +F7E0 +2520 +F520 +2520 +25A0 +4540 +8100 +ENDCHAR +STARTCHAR U_4369 +ENCODING 17257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A00 +5200 +FBE0 +2440 +7240 +2240 +FA40 +2180 +2180 +4240 +8420 +ENDCHAR +STARTCHAR U_436A +ENCODING 17258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +6100 +FFE0 +2100 +F100 +27C0 +F100 +2380 +2540 +4920 +9100 +ENDCHAR +STARTCHAR U_436B +ENCODING 17259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +6080 +F7E0 +2420 +F200 +2240 +F280 +2300 +2220 +4220 +83E0 +ENDCHAR +STARTCHAR U_436C +ENCODING 17260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9000 +67C0 +F100 +2540 +F380 +2100 +FFE0 +2100 +2100 +4100 +8100 +ENDCHAR +STARTCHAR U_436D +ENCODING 17261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9000 +67C0 +F440 +2540 +F540 +2FE0 +F440 +2540 +27E0 +4040 +8080 +ENDCHAR +STARTCHAR U_436E +ENCODING 17262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9280 +6280 +FAA0 +26C0 +F280 +2280 +F6C0 +2AA0 +2280 +44A0 +88E0 +ENDCHAR +STARTCHAR U_436F +ENCODING 17263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +63C0 +F480 +2FE0 +F400 +25C0 +F540 +25C0 +2500 +4520 +89E0 +ENDCHAR +STARTCHAR U_4370 +ENCODING 17264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9000 +67E0 +F4A0 +24A0 +F7E0 +24A0 +F4A0 +2560 +2620 +47E0 +8420 +ENDCHAR +STARTCHAR U_4371 +ENCODING 17265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +6100 +F280 +2440 +FBA0 +2100 +FFE0 +2100 +2540 +4920 +8300 +ENDCHAR +STARTCHAR U_4372 +ENCODING 17266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +64C0 +F440 +26C0 +F440 +27C0 +F280 +2280 +22A0 +44A0 +88E0 +ENDCHAR +STARTCHAR U_4373 +ENCODING 17267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9000 +6EE0 +FAA0 +2440 +FAA0 +2000 +FEE0 +2AA0 +2440 +4440 +8AA0 +ENDCHAR +STARTCHAR U_4374 +ENCODING 17268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +90C0 +6700 +F100 +2FE0 +F380 +2D60 +F100 +2FE0 +2240 +4180 +8660 +ENDCHAR +STARTCHAR U_4375 +ENCODING 17269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +63C0 +F480 +2FC0 +F140 +2FE0 +F140 +27C0 +2100 +4500 +8200 +ENDCHAR +STARTCHAR U_4376 +ENCODING 17270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +6FE0 +F100 +27C0 +F540 +27C0 +F540 +27C0 +2380 +4540 +8920 +ENDCHAR +STARTCHAR U_4377 +ENCODING 17271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +67C0 +F240 +2FE0 +F440 +27C0 +F100 +2FE0 +2500 +4FE0 +8100 +ENDCHAR +STARTCHAR U_4378 +ENCODING 17272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9140 +6FE0 +F100 +27C0 +F540 +27C0 +F540 +2080 +2FE0 +4280 +8080 +ENDCHAR +STARTCHAR U_4379 +ENCODING 17273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +67C0 +F440 +27C0 +F440 +27C0 +F440 +2140 +2FE0 +4280 +8C60 +ENDCHAR +STARTCHAR U_437A +ENCODING 17274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +67C0 +F540 +27C0 +F100 +27C0 +F540 +27C0 +2100 +4AA0 +8BC0 +ENDCHAR +STARTCHAR U_437B +ENCODING 17275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97E0 +65A0 +F7E0 +2480 +F7E0 +2240 +F7E0 +2240 +2FE0 +4240 +8C20 +ENDCHAR +STARTCHAR U_437C +ENCODING 17276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9000 +6FE0 +FA40 +2FE0 +F6C0 +2B60 +F7C0 +2440 +27C0 +4440 +87C0 +ENDCHAR +STARTCHAR U_437D +ENCODING 17277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97E0 +6400 +F7E0 +2540 +F7E0 +2540 +F7E0 +2540 +24E0 +4680 +8BE0 +ENDCHAR +STARTCHAR U_437E +ENCODING 17278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5120 +5120 +55A0 +5360 +F920 +5360 +55A0 +5120 +55A0 +9240 +ENDCHAR +STARTCHAR U_437F +ENCODING 17279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +4920 +28A0 +1860 +69A0 +8A20 +7FC0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_4380 +ENCODING 17280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +28A0 +ABE0 +7A80 +2A80 +2AA0 +7AA0 +ABC0 +2AA0 +A960 +5A20 +ENDCHAR +STARTCHAR U_4381 +ENCODING 17281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +F920 +25A0 +2360 +2120 +FB60 +8DA0 +8920 +8DA0 +FA40 +ENDCHAR +STARTCHAR U_4382 +ENCODING 17282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2BE0 +AA20 +7FA0 +2AA0 +6BA0 +BA60 +2A00 +2A20 +AA20 +59E0 +ENDCHAR +STARTCHAR U_4383 +ENCODING 17283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +13E0 +7CA0 +56A0 +55E0 +7CA0 +55E0 +54A0 +FEA0 +44A0 +4DE0 +ENDCHAR +STARTCHAR U_4384 +ENCODING 17284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +F7E0 +5120 +55A0 +5360 +B120 +0360 +F5A0 +9120 +95A0 +F240 +ENDCHAR +STARTCHAR U_4385 +ENCODING 17285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +47E0 +F120 +95A0 +9360 +9120 +F360 +95A0 +9120 +95A0 +F240 +ENDCHAR +STARTCHAR U_4386 +ENCODING 17286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +4920 +28A0 +D760 +0A00 +1980 +E460 +1F80 +0100 +0E00 +0100 +ENDCHAR +STARTCHAR U_4387 +ENCODING 17287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +2120 +7920 +4DA0 +6B60 +5920 +EB60 +6DA0 +5920 +8DA0 +9A40 +ENDCHAR +STARTCHAR U_4388 +ENCODING 17288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +2880 +2BE0 +BAA0 +6BE0 +2AA0 +6BE0 +B8A0 +28C0 +A8A0 +5B60 +ENDCHAR +STARTCHAR U_4389 +ENCODING 17289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +28A0 +ABE0 +7A80 +2AA0 +2BA0 +7AC0 +AA80 +2AA0 +AD60 +5620 +ENDCHAR +STARTCHAR U_438A +ENCODING 17290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FE0 +8920 +55A0 +2360 +5120 +8920 +7B60 +4DA0 +4920 +7B60 +ENDCHAR +STARTCHAR U_438B +ENCODING 17291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +A7E0 +F920 +A5A0 +2360 +F920 +0120 +FB60 +8DA0 +8920 +FB60 +ENDCHAR +STARTCHAR U_438C +ENCODING 17292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2520 +2520 +B5E0 +6C40 +2440 +6D60 +B540 +25C0 +B540 +4A20 +ENDCHAR +STARTCHAR U_438D +ENCODING 17293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8A0 +2BE0 +2880 +BBE0 +6AA0 +2BE0 +6AA0 +BBE0 +2AA0 +AAA0 +5A40 +ENDCHAR +STARTCHAR U_438E +ENCODING 17294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5540 +5540 +7740 +D540 +5740 +7540 +D5C0 +5740 +5D40 +A160 +ENDCHAR +STARTCHAR U_438F +ENCODING 17295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +53E0 +68A0 +86A0 +79E0 +10A0 +21A0 +7AE0 +48A0 +4AA0 +7960 +ENDCHAR +STARTCHAR U_4390 +ENCODING 17296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +F7E0 +2120 +F5A0 +9360 +F120 +9360 +F5A0 +2120 +F5A0 +2240 +ENDCHAR +STARTCHAR U_4391 +ENCODING 17297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2840 +ABC0 +7840 +2FE0 +2880 +7AA0 +A9C0 +2AC0 +ACA0 +5980 +ENDCHAR +STARTCHAR U_4392 +ENCODING 17298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +2FE0 +A900 +79C0 +2EA0 +2860 +7940 +AFE0 +2940 +A9A0 +5E60 +ENDCHAR +STARTCHAR U_4393 +ENCODING 17299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +2BA0 +A9C0 +7AC0 +2CA0 +2980 +7BE0 +AA20 +2BE0 +AA20 +5BE0 +ENDCHAR +STARTCHAR U_4394 +ENCODING 17300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8A0 +2FE0 +A880 +7BE0 +2AA0 +2BE0 +7AA0 +A840 +2FE0 +A940 +5840 +ENDCHAR +STARTCHAR U_4395 +ENCODING 17301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +5500 +2A80 +4440 +7FE0 +8020 +7BC0 +2940 +18C0 +6B40 +1840 +ENDCHAR +STARTCHAR U_4396 +ENCODING 17302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8800 +57E0 +F920 +ADA0 +FB60 +0120 +7B60 +4DA0 +7920 +4DA0 +7A40 +ENDCHAR +STARTCHAR U_4397 +ENCODING 17303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7800 +23E0 +FCA0 +4AA0 +F5E0 +50A0 +FDA0 +86E0 +BCA0 +AEA0 +BD60 +ENDCHAR +STARTCHAR U_4398 +ENCODING 17304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +2920 +FDA0 +2B60 +F920 +2360 +ADA0 +F920 +ADA0 +AA40 +ENDCHAR +STARTCHAR U_4399 +ENCODING 17305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +84A0 +7AA0 +29E0 +B0A0 +7DA0 +D6E0 +7CA0 +4AA0 +8560 +ENDCHAR +STARTCHAR U_439A +ENCODING 17306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +2FE0 +2A40 +AFE0 +7A40 +2FE0 +6920 +BFE0 +2A80 +AE20 +5BC0 +ENDCHAR +STARTCHAR U_439B +ENCODING 17307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3E80 +0900 +FFE0 +0C00 +3040 +DFC0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_439C +ENCODING 17308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +7BC0 +14A0 +FFE0 +1080 +6100 +BB60 +2180 +2D20 +31E0 +ENDCHAR +STARTCHAR U_439D +ENCODING 17309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3E80 +0900 +FFE0 +0800 +3040 +DFC0 +0000 +FBE0 +28A0 +DB60 +ENDCHAR +STARTCHAR U_439E +ENCODING 17310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3E80 +0500 +FFE0 +0900 +3F80 +D4C0 +1280 +7FC0 +0040 +0180 +ENDCHAR +STARTCHAR U_439F +ENCODING 17311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47E0 +F900 +5FE0 +5AA0 +9AA0 +AAA0 +6AA0 +5A20 +9AA0 +0840 +ENDCHAR +STARTCHAR U_43A0 +ENCODING 17312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +4200 +FFE0 +5AA0 +5AA0 +DAA0 +7A20 +5840 +5020 +9FE0 +ENDCHAR +STARTCHAR U_43A1 +ENCODING 17313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +7FC0 +5240 +5240 +52C0 +4400 +2440 +4A80 +3180 +C060 +ENDCHAR +STARTCHAR U_43A2 +ENCODING 17314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +2400 +7000 +27E0 +F840 +2080 +7100 +6A20 +A420 +23E0 +ENDCHAR +STARTCHAR U_43A3 +ENCODING 17315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FA40 +2540 +7540 +2440 +FC40 +2540 +7640 +6CA0 +A120 +2600 +ENDCHAR +STARTCHAR U_43A4 +ENCODING 17316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC40 +27C0 +7400 +27E0 +FC20 +27A0 +76A0 +6FA0 +A420 +2840 +ENDCHAR +STARTCHAR U_43A5 +ENCODING 17317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FA40 +2420 +7180 +2240 +FC20 +23C0 +7240 +6A40 +A3C0 +2240 +ENDCHAR +STARTCHAR U_43A6 +ENCODING 17318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FAA0 +22A0 +74C0 +2120 +FA20 +2080 +72A0 +6AC0 +A120 +2620 +ENDCHAR +STARTCHAR U_43A7 +ENCODING 17319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F880 +27E0 +7240 +2180 +FFE0 +2000 +73C0 +6A40 +A240 +23C0 +ENDCHAR +STARTCHAR U_43A8 +ENCODING 17320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2280 +7540 +27E0 +FD40 +27C0 +7540 +6FC0 +A120 +21E0 +ENDCHAR +STARTCHAR U_43A9 +ENCODING 17321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +FD40 +2A80 +7540 +22A0 +FFE0 +24A0 +77E0 +6CA0 +A7E0 +2420 +ENDCHAR +STARTCHAR U_43AA +ENCODING 17322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC40 +27C0 +7440 +27C0 +F880 +2FE0 +7480 +6A80 +A080 +2180 +ENDCHAR +STARTCHAR U_43AB +ENCODING 17323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +FCA0 +2560 +77E0 +2240 +FD20 +23C0 +7240 +6D80 +A180 +2660 +ENDCHAR +STARTCHAR U_43AC +ENCODING 17324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +26A0 +F7E0 +2100 +FBC0 +2100 +77E0 +6900 +A240 +27A0 +ENDCHAR +STARTCHAR U_43AD +ENCODING 17325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +F5E0 +2340 +7040 +27E0 +FA00 +22E0 +72A0 +6AE0 +A500 +28E0 +ENDCHAR +STARTCHAR U_43AE +ENCODING 17326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +2140 +77E0 +24A0 +FFE0 +24A0 +75E0 +6D60 +A5E0 +2420 +ENDCHAR +STARTCHAR U_43AF +ENCODING 17327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +2240 +77E0 +2520 +FFE0 +2100 +77E0 +6900 +A240 +2420 +ENDCHAR +STARTCHAR U_43B0 +ENCODING 17328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A20 +FFC0 +2A80 +7F80 +20E0 +FEA0 +2AA0 +7EA0 +6AA0 +AEA0 +2120 +ENDCHAR +STARTCHAR U_43B1 +ENCODING 17329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +FAA0 +2FE0 +7480 +2AE0 +FE80 +20E0 +7E80 +6AE0 +AE80 +2AE0 +ENDCHAR +STARTCHAR U_43B2 +ENCODING 17330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +5040 +5080 +7080 +5100 +7100 +5200 +5A20 +7420 +D420 +13E0 +ENDCHAR +STARTCHAR U_43B3 +ENCODING 17331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +4920 +4920 +79E0 +4920 +7920 +49E0 +4D20 +7920 +C920 +0A60 +ENDCHAR +STARTCHAR U_43B4 +ENCODING 17332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FA40 +5240 +77E0 +5240 +7240 +57E0 +7A40 +D240 +1240 +1440 +ENDCHAR +STARTCHAR U_43B5 +ENCODING 17333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F940 +5040 +7240 +5280 +76C0 +5AA0 +5320 +7A00 +D640 +19C0 +ENDCHAR +STARTCHAR U_43B6 +ENCODING 17334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F880 +57E0 +74A0 +54A0 +77E0 +54A0 +5CA0 +77E0 +D080 +1080 +ENDCHAR +STARTCHAR U_43B7 +ENCODING 17335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FD00 +57C0 +7500 +5100 +7FE0 +5100 +5B80 +7540 +D920 +1100 +ENDCHAR +STARTCHAR U_43B8 +ENCODING 17336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +5100 +57C0 +7240 +5240 +77E0 +5000 +7BC0 +D240 +1240 +13C0 +ENDCHAR +STARTCHAR U_43B9 +ENCODING 17337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +1500 +FFC0 +1500 +2480 +FFE0 +1100 +1F00 +11E0 +FF00 +0100 +ENDCHAR +STARTCHAR U_43BA +ENCODING 17338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +FA20 +5FA0 +72A0 +5FA0 +72A0 +5FA0 +5AA0 +7AA0 +D220 +1260 +ENDCHAR +STARTCHAR U_43BB +ENCODING 17339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +52A0 +53E0 +72A0 +53E0 +7220 +5BE0 +7360 +D3E0 +1220 +1460 +ENDCHAR +STARTCHAR U_43BC +ENCODING 17340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +5040 +53C0 +7040 +5FE0 +7100 +5D40 +7380 +D540 +1920 +1300 +ENDCHAR +STARTCHAR U_43BD +ENCODING 17341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5280 +53E0 +7240 +5320 +7000 +53E0 +5A20 +73E0 +D220 +13E0 +ENDCHAR +STARTCHAR U_43BE +ENCODING 17342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +5440 +7BA0 +5000 +77E0 +56A0 +5FE0 +76A0 +D6A0 +1460 +ENDCHAR +STARTCHAR U_43BF +ENCODING 17343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FC80 +5480 +75A0 +5FA0 +74C0 +5680 +5D80 +74C0 +D520 +1520 +ENDCHAR +STARTCHAR U_43C0 +ENCODING 17344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +FA20 +5FA0 +72A0 +5FA0 +7AA0 +5FA0 +52A0 +7F20 +DAA0 +1260 +ENDCHAR +STARTCHAR U_43C1 +ENCODING 17345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F900 +5FE0 +7920 +57C0 +7280 +5FE0 +5100 +7FC0 +D100 +1100 +ENDCHAR +STARTCHAR U_43C2 +ENCODING 17346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +FD60 +5520 +7760 +5520 +77E0 +5100 +57E0 +7A40 +D180 +1660 +ENDCHAR +STARTCHAR U_43C3 +ENCODING 17347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5420 +53C0 +7240 +53C0 +7240 +5BC0 +7080 +D7E0 +1240 +1420 +ENDCHAR +STARTCHAR U_43C4 +ENCODING 17348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +5AA0 +7440 +5BA0 +7200 +57C0 +5900 +77C0 +D100 +17E0 +ENDCHAR +STARTCHAR U_43C5 +ENCODING 17349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +57E0 +55A0 +7A40 +5420 +7BC0 +5000 +5FE0 +7540 +D920 +1100 +ENDCHAR +STARTCHAR U_43C6 +ENCODING 17350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +5280 +7FE0 +5AA0 +7FE0 +5AA0 +5FE0 +7540 +D4C0 +17C0 +ENDCHAR +STARTCHAR U_43C7 +ENCODING 17351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5280 +5FE0 +7AA0 +5FE0 +7000 +57C0 +5000 +7FE0 +D540 +1920 +ENDCHAR +STARTCHAR U_43C8 +ENCODING 17352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FA40 +5480 +77E0 +5240 +7480 +57E0 +5A40 +76C0 +DB60 +1240 +ENDCHAR +STARTCHAR U_43C9 +ENCODING 17353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5520 +57E0 +7240 +5480 +77E0 +5240 +57E0 +7000 +D540 +1AA0 +ENDCHAR +STARTCHAR U_43CA +ENCODING 17354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FAE0 +5F80 +75E0 +5F20 +70E0 +5780 +5DE0 +7780 +D5A0 +15E0 +ENDCHAR +STARTCHAR U_43CB +ENCODING 17355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0480 +FFE0 +0480 +3F80 +2480 +E5E0 +4540 +CDC0 +5520 +75E0 +ENDCHAR +STARTCHAR U_43CC +ENCODING 17356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +1200 +2100 +4080 +BFE0 +2080 +3F80 +2080 +3F80 +2080 +2180 +ENDCHAR +STARTCHAR U_43CD +ENCODING 17357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +1200 +2100 +FF80 +0080 +7F00 +4100 +5900 +4700 +5900 +4300 +ENDCHAR +STARTCHAR U_43CE +ENCODING 17358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F780 +9480 +9480 +F480 +9680 +9580 +F580 +9480 +94A0 +94A0 +B8E0 +ENDCHAR +STARTCHAR U_43CF +ENCODING 17359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4880 +4880 +7880 +4FE0 +4880 +7880 +4880 +4880 +AA80 +9100 +ENDCHAR +STARTCHAR U_43D0 +ENCODING 17360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4BC0 +7940 +4940 +4FE0 +7900 +4900 +4A80 +AA40 +9420 +ENDCHAR +STARTCHAR U_43D1 +ENCODING 17361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1000 +1F80 +2900 +E600 +1800 +3FC0 +C440 +5B40 +4440 +5B40 +4040 +ENDCHAR +STARTCHAR U_43D2 +ENCODING 17362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A80 +4A80 +4A80 +7BE0 +4A00 +4A00 +7BC0 +4A40 +4A40 +AA40 +9440 +ENDCHAR +STARTCHAR U_43D3 +ENCODING 17363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7800 +4BC0 +6800 +5800 +4FE0 +5A80 +6A80 +4A80 +4AA0 +AAA0 +94E0 +ENDCHAR +STARTCHAR U_43D4 +ENCODING 17364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4940 +4940 +7940 +4940 +4BC0 +7940 +4940 +4940 +A940 +97E0 +ENDCHAR +STARTCHAR U_43D5 +ENCODING 17365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +4B80 +4880 +7880 +4880 +4BE0 +7880 +4880 +4880 +A880 +93E0 +ENDCHAR +STARTCHAR U_43D6 +ENCODING 17366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BA0 +48A0 +48A0 +7BA0 +4A20 +4A20 +7BA0 +48A0 +48A0 +AAA0 +9120 +ENDCHAR +STARTCHAR U_43D7 +ENCODING 17367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +4BC0 +4C00 +7BC0 +4800 +4F80 +7880 +4880 +48A0 +A860 +9020 +ENDCHAR +STARTCHAR U_43D8 +ENCODING 17368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9540 +9540 +F540 +9540 +9540 +F540 +9560 +9600 +9400 +B7E0 +ENDCHAR +STARTCHAR U_43D9 +ENCODING 17369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4FE0 +7D20 +4D20 +4900 +7980 +4A80 +4AA0 +AAA0 +94E0 +ENDCHAR +STARTCHAR U_43DA +ENCODING 17370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4900 +7B40 +4D20 +4D00 +7920 +4840 +4880 +A900 +9600 +ENDCHAR +STARTCHAR U_43DB +ENCODING 17371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +4BE0 +6A20 +5C20 +49A0 +5820 +6BE0 +4820 +4820 +A940 +9080 +ENDCHAR +STARTCHAR U_43DC +ENCODING 17372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +6A40 +5A80 +4AE0 +5A20 +6B20 +4AC0 +4A40 +AAA0 +9520 +ENDCHAR +STARTCHAR U_43DD +ENCODING 17373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4FC0 +4900 +7900 +4FE0 +4A00 +7BC0 +4840 +4A80 +A900 +9080 +ENDCHAR +STARTCHAR U_43DE +ENCODING 17374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4880 +6BC0 +5880 +4880 +5FE0 +6880 +49C0 +4AA0 +AAA0 +9480 +ENDCHAR +STARTCHAR U_43DF +ENCODING 17375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9080 +92A0 +F220 +9640 +9AA0 +FB20 +9200 +9620 +9A20 +B1E0 +ENDCHAR +STARTCHAR U_43E0 +ENCODING 17376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +5100 +5FE0 +7000 +5440 +5440 +7240 +5280 +5080 +9100 +B7E0 +ENDCHAR +STARTCHAR U_43E1 +ENCODING 17377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4800 +4800 +7800 +4FE0 +4880 +7980 +4AC0 +4CA0 +8880 +9980 +ENDCHAR +STARTCHAR U_43E2 +ENCODING 17378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +5080 +57E0 +74A0 +5480 +57C0 +7540 +5540 +5480 +9540 +BA20 +ENDCHAR +STARTCHAR U_43E3 +ENCODING 17379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +4A40 +7BC0 +4A40 +4A40 +7BC0 +4A40 +4A40 +8A40 +9FE0 +ENDCHAR +STARTCHAR U_43E4 +ENCODING 17380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4820 +4820 +7FE0 +4820 +4BA0 +7AA0 +4AA0 +4BA0 +8820 +9860 +ENDCHAR +STARTCHAR U_43E5 +ENCODING 17381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7100 +57C0 +5540 +77C0 +5540 +7FE0 +5440 +5440 +9440 +B4C0 +ENDCHAR +STARTCHAR U_43E6 +ENCODING 17382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +70C0 +5700 +5100 +7FE0 +5100 +5100 +77C0 +5440 +5440 +97C0 +B440 +ENDCHAR +STARTCHAR U_43E7 +ENCODING 17383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +49C0 +4A40 +7D80 +4900 +7E80 +49E0 +4F20 +48C0 +8980 +9E00 +ENDCHAR +STARTCHAR U_43E8 +ENCODING 17384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BE0 +4A20 +7A20 +4BE0 +4A00 +7BE0 +4A20 +4A20 +8BE0 +9A20 +ENDCHAR +STARTCHAR U_43E9 +ENCODING 17385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4980 +4A40 +7C20 +4BC0 +4800 +7BC0 +4A40 +4A40 +8BC0 +9A40 +ENDCHAR +STARTCHAR U_43EA +ENCODING 17386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4A40 +4A40 +7BC0 +4A40 +4BC0 +7A40 +4A40 +4FE0 +4840 +9840 +ENDCHAR +STARTCHAR U_43EB +ENCODING 17387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5280 +5480 +7FE0 +5480 +5580 +76C0 +54A0 +5480 +9480 +B480 +ENDCHAR +STARTCHAR U_43EC +ENCODING 17388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5280 +5440 +77C0 +5500 +57C0 +7900 +5100 +5FE0 +9100 +B100 +ENDCHAR +STARTCHAR U_43ED +ENCODING 17389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5500 +57C0 +7900 +5100 +5FE0 +7100 +5380 +5540 +9920 +B100 +ENDCHAR +STARTCHAR U_43EE +ENCODING 17390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5100 +5FE0 +7120 +5220 +54C0 +7820 +56C0 +5000 +9280 +BC60 +ENDCHAR +STARTCHAR U_43EF +ENCODING 17391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5100 +5FE0 +7100 +5100 +57C0 +7100 +52A0 +5620 +5A40 +A9C0 +ENDCHAR +STARTCHAR U_43F0 +ENCODING 17392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5120 +5520 +7920 +52A0 +5C40 +7100 +52A0 +5620 +9A40 +A9C0 +ENDCHAR +STARTCHAR U_43F1 +ENCODING 17393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5440 +57C0 +7400 +57E0 +5420 +77A0 +54A0 +57A0 +9420 +B8C0 +ENDCHAR +STARTCHAR U_43F2 +ENCODING 17394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7440 +5280 +57C0 +7140 +57C0 +5500 +7FE0 +5320 +5520 +99C0 +B100 +ENDCHAR +STARTCHAR U_43F3 +ENCODING 17395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7420 +55C0 +5F00 +7500 +55E0 +5740 +7D40 +5540 +5540 +9540 +BA40 +ENDCHAR +STARTCHAR U_43F4 +ENCODING 17396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +54A0 +52C0 +77E0 +5420 +57E0 +7420 +57E0 +5420 +9420 +B460 +ENDCHAR +STARTCHAR U_43F5 +ENCODING 17397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5240 +5FE0 +72A0 +52C0 +52A0 +72C0 +52A0 +54C0 +97A0 +B8E0 +ENDCHAR +STARTCHAR U_43F6 +ENCODING 17398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7480 +5480 +57E0 +7480 +55A0 +56E0 +7100 +57C0 +5100 +9100 +BFE0 +ENDCHAR +STARTCHAR U_43F7 +ENCODING 17399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5440 +57C0 +7440 +57C0 +5000 +77C0 +5100 +5FE0 +9100 +B100 +ENDCHAR +STARTCHAR U_43F8 +ENCODING 17400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5100 +57C0 +7240 +5240 +5FE0 +7000 +53C0 +5240 +9240 +B3C0 +ENDCHAR +STARTCHAR U_43F9 +ENCODING 17401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5440 +57C0 +7440 +57C0 +5440 +77C0 +5280 +5280 +94A0 +B8E0 +ENDCHAR +STARTCHAR U_43FA +ENCODING 17402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5C40 +5380 +7C60 +5100 +57C0 +7100 +57C0 +5100 +9FE0 +B100 +ENDCHAR +STARTCHAR U_43FB +ENCODING 17403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5100 +57C0 +7100 +5100 +5FE0 +7100 +5200 +5240 +94E0 +B720 +ENDCHAR +STARTCHAR U_43FC +ENCODING 17404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A80 +4A40 +4FE0 +7940 +49A0 +4E60 +7A40 +4FE0 +4940 +89A0 +9E60 +ENDCHAR +STARTCHAR U_43FD +ENCODING 17405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +5100 +5FE0 +7440 +5280 +5FE0 +7000 +57C0 +5440 +9440 +B7C0 +ENDCHAR +STARTCHAR U_43FE +ENCODING 17406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +5100 +7FC0 +5200 +5FE0 +7540 +5BA0 +5100 +9FC0 +B100 +ENDCHAR +STARTCHAR U_43FF +ENCODING 17407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +7BE0 +4E40 +7980 +4260 +BF80 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_4400 +ENCODING 17408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5280 +7440 +5FE0 +5040 +7740 +5540 +5740 +5040 +B0C0 +ENDCHAR +STARTCHAR U_4401 +ENCODING 17409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5100 +5100 +72A0 +5DC0 +5280 +7FC0 +52A0 +5DA0 +5280 +9100 +ENDCHAR +STARTCHAR U_4402 +ENCODING 17410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +53C0 +5440 +7780 +5100 +5FE0 +7520 +53C0 +5540 +5920 +B300 +ENDCHAR +STARTCHAR U_4403 +ENCODING 17411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5420 +54E0 +77A0 +54A0 +57E0 +74A0 +55A0 +56E0 +54A0 +97E0 +ENDCHAR +STARTCHAR U_4404 +ENCODING 17412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +53C0 +5240 +7480 +5300 +5460 +7420 +56E0 +5420 +5420 +B7E0 +ENDCHAR +STARTCHAR U_4405 +ENCODING 17413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5420 +57E0 +7500 +55E0 +5680 +7480 +57E0 +5480 +5540 +9A20 +ENDCHAR +STARTCHAR U_4406 +ENCODING 17414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +70E0 +5720 +5920 +7540 +5100 +5FE0 +7100 +5380 +5540 +5920 +9100 +ENDCHAR +STARTCHAR U_4407 +ENCODING 17415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7400 +57E0 +5AA0 +72A0 +52A0 +5540 +77E0 +5420 +57E0 +5420 +B7E0 +ENDCHAR +STARTCHAR U_4408 +ENCODING 17416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5200 +77C0 +5440 +77C0 +5440 +57C0 +5440 +5440 +BFE0 +ENDCHAR +STARTCHAR U_4409 +ENCODING 17417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +72A0 +5540 +5540 +72A0 +5000 +57E0 +7520 +57E0 +5520 +57E0 +9420 +ENDCHAR +STARTCHAR U_440A +ENCODING 17418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5420 +57E0 +7420 +57E0 +5480 +7480 +57E0 +5480 +55A0 +B6E0 +ENDCHAR +STARTCHAR U_440B +ENCODING 17419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +5240 +5420 +7900 +5240 +57E0 +7200 +5140 +5520 +5C40 +93C0 +ENDCHAR +STARTCHAR U_440C +ENCODING 17420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +3F80 +2A80 +3F80 +2A80 +FFE0 +5140 +9F20 +1100 +1F00 +2100 +ENDCHAR +STARTCHAR U_440D +ENCODING 17421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5100 +77C0 +5000 +57C0 +7440 +57C0 +5440 +5280 +9FE0 +ENDCHAR +STARTCHAR U_440E +ENCODING 17422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5440 +57C0 +7440 +57C0 +5000 +7FE0 +5500 +55C0 +5700 +98E0 +ENDCHAR +STARTCHAR U_440F +ENCODING 17423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5100 +77C0 +5200 +5FE0 +7440 +5FE0 +5540 +5640 +97C0 +ENDCHAR +STARTCHAR U_4410 +ENCODING 17424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7340 +5E40 +5340 +72E0 +5F40 +5240 +7740 +5AC0 +5240 +52A0 +9320 +ENDCHAR +STARTCHAR U_4411 +ENCODING 17425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7540 +5FE0 +5540 +75C0 +5400 +57E0 +7100 +5FE0 +5380 +5540 +B920 +ENDCHAR +STARTCHAR U_4412 +ENCODING 17426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5440 +7920 +53C0 +5E80 +7100 +5FC0 +5240 +5180 +9E00 +ENDCHAR +STARTCHAR U_4413 +ENCODING 17427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5200 +57C0 +7440 +57C0 +5440 +77C0 +5440 +57C0 +9440 +9820 +ENDCHAR +STARTCHAR U_4414 +ENCODING 17428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A800 +AFE0 +E820 +AFE0 +A800 +EFE0 +AAA0 +AFE0 +AAA0 +B2A0 +ENDCHAR +STARTCHAR U_4415 +ENCODING 17429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5440 +5FE0 +7440 +57C0 +5440 +77C0 +5440 +5FE0 +5040 +B040 +ENDCHAR +STARTCHAR U_4416 +ENCODING 17430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5420 +57E0 +7480 +56A0 +55C0 +77E0 +5480 +55C0 +56A0 +9880 +ENDCHAR +STARTCHAR U_4417 +ENCODING 17431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +57C0 +5240 +7280 +5FE0 +5240 +77E0 +5C40 +57C0 +5440 +97C0 +ENDCHAR +STARTCHAR U_4418 +ENCODING 17432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5520 +5280 +57E0 +7200 +5FE0 +7200 +53E0 +5520 +54C0 +9B20 +ENDCHAR +STARTCHAR U_4419 +ENCODING 17433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7440 +5FE0 +5440 +77C0 +5100 +57C0 +7540 +57C0 +5100 +5FE0 +9100 +ENDCHAR +STARTCHAR U_441A +ENCODING 17434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AAA0 +EEA0 +AAA0 +AEA0 +E8A0 +AAA0 +AEE0 +A980 +A080 +ENDCHAR +STARTCHAR U_441B +ENCODING 17435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5240 +77E0 +5A40 +53C0 +7240 +53C0 +5240 +5FE0 +9040 +ENDCHAR +STARTCHAR U_441C +ENCODING 17436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5200 +77C0 +5440 +57C0 +7440 +57C0 +5440 +5FE0 +9440 +ENDCHAR +STARTCHAR U_441D +ENCODING 17437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7920 +5540 +57C0 +7440 +57C0 +5440 +77C0 +5440 +57C0 +5440 +B820 +ENDCHAR +STARTCHAR U_441E +ENCODING 17438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7EE0 +5220 +56E0 +7880 +56E0 +5220 +7BA0 +5660 +5BA0 +5220 +BCC0 +ENDCHAR +STARTCHAR U_441F +ENCODING 17439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5FE0 +5280 +77C0 +5280 +5FE0 +7540 +57C0 +5540 +5FE0 +B440 +ENDCHAR +STARTCHAR U_4420 +ENCODING 17440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7440 +5FE0 +5440 +7100 +5FE0 +5400 +77C0 +5540 +5540 +5540 +B960 +ENDCHAR +STARTCHAR U_4421 +ENCODING 17441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A40 +F580 +5540 +9520 +7FC0 +4A40 +75C0 +4A40 +71C0 +ENDCHAR +STARTCHAR U_4422 +ENCODING 17442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7400 +57E0 +5AA0 +77A0 +5220 +5440 +77E0 +5AA0 +57A0 +5220 +BCC0 +ENDCHAR +STARTCHAR U_4423 +ENCODING 17443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5440 +57C0 +7000 +57C0 +5540 +76C0 +5540 +5640 +57C0 +B820 +ENDCHAR +STARTCHAR U_4424 +ENCODING 17444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7240 +5FE0 +5100 +77C0 +5100 +5FE0 +7400 +57E0 +5480 +5880 +B7E0 +ENDCHAR +STARTCHAR U_4425 +ENCODING 17445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5440 +5A20 +7480 +57C0 +5000 +7EE0 +5AA0 +5660 +5AA0 +9660 +ENDCHAR +STARTCHAR U_4426 +ENCODING 17446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFC0 +A100 +FFE0 +A480 +AFC0 +E000 +AFE0 +AAA0 +AAA0 +BFE0 +ENDCHAR +STARTCHAR U_4427 +ENCODING 17447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +5000 +73C0 +5240 +57E0 +7420 +57A0 +54A0 +57A0 +B460 +ENDCHAR +STARTCHAR U_4428 +ENCODING 17448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +FE40 +1240 +7C60 +0000 +FFC0 +AA40 +3A40 +2980 +3A40 +4C20 +ENDCHAR +STARTCHAR U_4429 +ENCODING 17449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7540 +5540 +57C0 +7000 +5FE0 +5000 +77C0 +5440 +57C0 +5280 +9FE0 +ENDCHAR +STARTCHAR U_442A +ENCODING 17450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7480 +57E0 +5C80 +77C0 +5480 +57E0 +7480 +57C0 +5260 +5420 +B8C0 +ENDCHAR +STARTCHAR U_442B +ENCODING 17451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E540 +A940 +B2A0 +E6A0 +A800 +B880 +EAE0 +AA80 +AA80 +AB80 +AC60 +ENDCHAR +STARTCHAR U_442C +ENCODING 17452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E280 +AFE0 +A280 +EFE0 +AAA0 +AFE0 +EAA0 +AFE0 +A540 +A640 +A7C0 +ENDCHAR +STARTCHAR U_442D +ENCODING 17453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EAA0 +BFE0 +AAA0 +FBA0 +A000 +BFE0 +E220 +AFC0 +AA40 +AAC0 +A200 +ENDCHAR +STARTCHAR U_442E +ENCODING 17454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A440 +E280 +AFE0 +AA80 +EBC0 +AC80 +ABC0 +A880 +B7E0 +ENDCHAR +STARTCHAR U_442F +ENCODING 17455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5540 +57C0 +7540 +57C0 +5280 +77C0 +5440 +5FE0 +5540 +B920 +ENDCHAR +STARTCHAR U_4430 +ENCODING 17456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +A4E0 +A9A0 +EA40 +BAA0 +ABE0 +EAA0 +AAE0 +AAA0 +A8E0 +A8A0 +ENDCHAR +STARTCHAR U_4431 +ENCODING 17457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A280 +EFE0 +A920 +AFE0 +E920 +ABA0 +AAA0 +ABA0 +A860 +ENDCHAR +STARTCHAR U_4432 +ENCODING 17458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5220 +5BA0 +7660 +5BA0 +5220 +77C0 +5440 +57C0 +5440 +97C0 +ENDCHAR +STARTCHAR U_4433 +ENCODING 17459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +53C0 +5480 +7FE0 +5520 +57E0 +7520 +57E0 +5000 +5AA0 +92A0 +ENDCHAR +STARTCHAR U_4434 +ENCODING 17460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AA80 +FFE0 +9180 +AAA0 +CC60 +3F80 +2080 +3F80 +2080 +2180 +ENDCHAR +STARTCHAR U_4435 +ENCODING 17461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5FE0 +5280 +7380 +5000 +5FE0 +7540 +57C0 +5540 +57C0 +B820 +ENDCHAR +STARTCHAR U_4436 +ENCODING 17462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +AAA0 +BFE0 +EAA0 +B320 +A000 +EFC0 +A840 +AFC0 +A840 +AFC0 +ENDCHAR +STARTCHAR U_4437 +ENCODING 17463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5540 +57C0 +7000 +57C0 +5540 +77C0 +5540 +5FE0 +5100 +B100 +ENDCHAR +STARTCHAR U_4438 +ENCODING 17464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5140 +5FE0 +7140 +57C0 +7540 +5FE0 +5540 +57C0 +5000 +BFE0 +ENDCHAR +STARTCHAR U_4439 +ENCODING 17465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +AFC0 +A240 +FFE0 +A240 +AFC0 +EAA0 +AFE0 +AA20 +AEE0 +B2A0 +ENDCHAR +STARTCHAR U_443A +ENCODING 17466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A280 +AFE0 +EAA0 +AFE0 +A440 +E7C0 +A440 +BFE0 +A100 +A100 +ENDCHAR +STARTCHAR U_443B +ENCODING 17467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5100 +77C0 +5440 +57C0 +7100 +57C0 +5280 +5FE0 +9100 +ENDCHAR +STARTCHAR U_443C +ENCODING 17468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +54A0 +5EA0 +74A0 +5F60 +5480 +77C0 +5480 +5FE0 +5540 +9920 +ENDCHAR +STARTCHAR U_443D +ENCODING 17469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E440 +AFE0 +A440 +E7C0 +A000 +AFE0 +E920 +AD60 +ABA0 +AD60 +A920 +ENDCHAR +STARTCHAR U_443E +ENCODING 17470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +AAA0 +AFE0 +E100 +AFE0 +A100 +EFE0 +A440 +AFE0 +A100 +A100 +ENDCHAR +STARTCHAR U_443F +ENCODING 17471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E400 +AFE0 +AB60 +EDA0 +AFE0 +AB20 +ED60 +A100 +AFE0 +A440 +B820 +ENDCHAR +STARTCHAR U_4440 +ENCODING 17472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +7740 +55E0 +7720 +54A0 +7740 +55E0 +5D40 +57E0 +B040 +9040 +ENDCHAR +STARTCHAR U_4441 +ENCODING 17473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +75C0 +4A40 +75C0 +4A40 +FFE0 +A0A0 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_4442 +ENCODING 17474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E600 +AAC0 +AB40 +EEC0 +AB40 +AFC0 +EB40 +AD40 +BFE0 +A480 +A840 +ENDCHAR +STARTCHAR U_4443 +ENCODING 17475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +77C0 +5280 +5FE0 +7BA0 +56C0 +7580 +5340 +5580 +5AC0 +9120 +ENDCHAR +STARTCHAR U_4444 +ENCODING 17476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7780 +5480 +5780 +7480 +5FC0 +7540 +5FE0 +5280 +5280 +9480 +ENDCHAR +STARTCHAR U_4445 +ENCODING 17477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +57C0 +5280 +77C0 +5540 +5FE0 +7920 +53C0 +5680 +5180 +9600 +ENDCHAR +STARTCHAR U_4446 +ENCODING 17478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +77C0 +5100 +57C0 +7FE0 +5280 +77C0 +5AA0 +53C0 +5280 +9760 +ENDCHAR +STARTCHAR U_4447 +ENCODING 17479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +7480 +57E0 +56C0 +7A40 +57C0 +7440 +57C0 +5440 +57C0 +9C60 +ENDCHAR +STARTCHAR U_4448 +ENCODING 17480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +77A0 +5AC0 +57A0 +7AC0 +5FE0 +7100 +5FE0 +5380 +5560 +9920 +ENDCHAR +STARTCHAR U_4449 +ENCODING 17481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7FE0 +5400 +57C0 +76C0 +5380 +76C0 +57C0 +57C0 +5540 +9AE0 +ENDCHAR +STARTCHAR U_444A +ENCODING 17482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +73C0 +5AC0 +57E0 +7140 +5DC0 +7540 +55C0 +57E0 +5540 +9BE0 +ENDCHAR +STARTCHAR U_444B +ENCODING 17483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7FE0 +56C0 +56C0 +7280 +57C0 +7280 +5FE0 +5340 +5680 +9B60 +ENDCHAR +STARTCHAR U_444C +ENCODING 17484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +E920 +AFE0 +A920 +EBA0 +AAA0 +A920 +ABA0 +AD60 +ENDCHAR +STARTCHAR U_444D +ENCODING 17485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +EAA0 +AEE0 +AAA0 +E200 +BFE0 +A480 +A300 +ACC0 +ENDCHAR +STARTCHAR U_444E +ENCODING 17486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EAA0 +B580 +BFE0 +EA80 +BB80 +AA80 +FBA0 +AAA0 +BBA0 +AF40 +B0A0 +ENDCHAR +STARTCHAR U_444F +ENCODING 17487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5EE0 +56C0 +76C0 +5300 +57C0 +7D00 +57C0 +57C0 +5500 +97E0 +ENDCHAR +STARTCHAR U_4450 +ENCODING 17488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +A3E0 +A480 +F880 +8880 +89C0 +FAA0 +A4A0 +A080 +F980 +ENDCHAR +STARTCHAR U_4451 +ENCODING 17489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +06C0 +F280 +AFE0 +A280 +F7C0 +9100 +97C0 +F100 +AFE0 +A280 +FC60 +ENDCHAR +STARTCHAR U_4452 +ENCODING 17490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F800 +27E0 +4120 +9120 +FB20 +2520 +F920 +2120 +2A20 +3420 +C8C0 +ENDCHAR +STARTCHAR U_4453 +ENCODING 17491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +1500 +FFE0 +9120 +3F80 +0400 +3F80 +0400 +7FC0 +ENDCHAR +STARTCHAR U_4454 +ENCODING 17492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4080 +9FE0 +8880 +8BE0 +DAA0 +8AA0 +8AA0 +FAE0 +8880 +0080 +ENDCHAR +STARTCHAR U_4455 +ENCODING 17493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BC0 +4040 +7BC0 +4040 +7FC0 +4440 +7FC0 +4440 +7FC0 +4460 +8420 +ENDCHAR +STARTCHAR U_4456 +ENCODING 17494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +47E0 +9940 +8FE0 +8940 +DBC0 +8900 +8DC0 +8D00 +F780 +8860 +ENDCHAR +STARTCHAR U_4457 +ENCODING 17495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +4240 +9BC0 +8A40 +8FE0 +DA00 +8BE0 +8D60 +FAA0 +8520 +02C0 +ENDCHAR +STARTCHAR U_4458 +ENCODING 17496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +47E0 +9900 +8BC0 +8900 +DFE0 +8A00 +8BC0 +FC80 +8880 +07E0 +ENDCHAR +STARTCHAR U_4459 +ENCODING 17497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BC0 +E240 +2240 +27E0 +FA40 +2240 +27E0 +7A40 +4A40 +4A40 +7AC0 +ENDCHAR +STARTCHAR U_445A +ENCODING 17498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +E220 +2220 +FBE0 +2220 +23E0 +7A20 +4A20 +4A20 +7A20 +4C60 +ENDCHAR +STARTCHAR U_445B +ENCODING 17499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1860 +E3C0 +2240 +2240 +FA40 +23E0 +2240 +7A40 +4B40 +4A20 +79A0 +ENDCHAR +STARTCHAR U_445C +ENCODING 17500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3540 +EFE0 +2540 +25C0 +FC00 +27E0 +7880 +4FE0 +4980 +7AC0 +4CA0 +ENDCHAR +STARTCHAR U_445D +ENCODING 17501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +0000 +FFE0 +A0A0 +7BE0 +CA80 +37E0 +2080 +C080 +ENDCHAR +STARTCHAR U_445E +ENCODING 17502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5500 +4E00 +5580 +4A00 +7FC0 +2080 +7BE0 +AA80 +17E0 +E080 +ENDCHAR +STARTCHAR U_445F +ENCODING 17503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C80 +E5E0 +A960 +FDA0 +85E0 +6800 +BDE0 +E840 +3DE0 +4840 +8BE0 +ENDCHAR +STARTCHAR U_4460 +ENCODING 17504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7BE0 +4820 +7840 +4880 +FC80 +4880 +6880 +5880 +4880 +9B80 +ENDCHAR +STARTCHAR U_4461 +ENCODING 17505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7FC0 +5440 +7540 +54C0 +F280 +5280 +7100 +5280 +5440 +9820 +ENDCHAR +STARTCHAR U_4462 +ENCODING 17506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +77E0 +5280 +7280 +5280 +FA80 +5280 +7280 +52A0 +54A0 +98E0 +ENDCHAR +STARTCHAR U_4463 +ENCODING 17507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +7880 +4B00 +7800 +4840 +FC80 +4B00 +6820 +5840 +4880 +9B00 +ENDCHAR +STARTCHAR U_4464 +ENCODING 17508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7900 +4A80 +7C40 +4BA0 +F800 +4FC0 +6840 +5840 +4880 +9900 +ENDCHAR +STARTCHAR U_4465 +ENCODING 17509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +77C0 +5440 +7480 +57E0 +FD20 +5520 +7540 +5480 +5940 +9620 +ENDCHAR +STARTCHAR U_4466 +ENCODING 17510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +7400 +57E0 +7820 +57A0 +F4A0 +54A0 +77A0 +5020 +5020 +B0C0 +ENDCHAR +STARTCHAR U_4467 +ENCODING 17511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +7440 +5C40 +77E0 +5440 +FD40 +54C0 +7440 +5440 +5440 +94C0 +ENDCHAR +STARTCHAR U_4468 +ENCODING 17512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +7400 +57E0 +7880 +5480 +FCE0 +57A0 +74A0 +5400 +5420 +93E0 +ENDCHAR +STARTCHAR U_4469 +ENCODING 17513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7100 +5100 +7FE0 +5100 +F100 +57C0 +7440 +5440 +5440 +97C0 +ENDCHAR +STARTCHAR U_446A +ENCODING 17514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7100 +5280 +7440 +5820 +F7C0 +5000 +77C0 +5440 +5440 +97C0 +ENDCHAR +STARTCHAR U_446B +ENCODING 17515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +7240 +57E0 +7240 +5240 +FA40 +57E0 +7240 +5240 +5240 +9440 +ENDCHAR +STARTCHAR U_446C +ENCODING 17516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +7280 +5280 +7AA0 +56C0 +F280 +56C0 +7AA0 +5280 +54A0 +98E0 +ENDCHAR +STARTCHAR U_446D +ENCODING 17517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +72E0 +5040 +7840 +5440 +F040 +5240 +7240 +5C40 +5440 +95E0 +ENDCHAR +STARTCHAR U_446E +ENCODING 17518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +7240 +5240 +7420 +5900 +F7E0 +5100 +7380 +5540 +5920 +9100 +ENDCHAR +STARTCHAR U_446F +ENCODING 17519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +7280 +57C0 +7140 +57C0 +FD00 +57E0 +5120 +7320 +5D20 +B140 +ENDCHAR +STARTCHAR U_4470 +ENCODING 17520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7500 +55C0 +7500 +5FE0 +F100 +5500 +7540 +5980 +5300 +9C00 +ENDCHAR +STARTCHAR U_4471 +ENCODING 17521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77E0 +5420 +7000 +57E0 +F4A0 +54E0 +7AA0 +5180 +52A0 +9CE0 +ENDCHAR +STARTCHAR U_4472 +ENCODING 17522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +71C0 +5100 +77C0 +5440 +F7C0 +5440 +77C0 +5100 +5FE0 +9100 +ENDCHAR +STARTCHAR U_4473 +ENCODING 17523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7A80 +4C40 +7BA0 +4800 +FFE0 +4AA0 +6FE0 +5AA0 +4AA0 +8860 +ENDCHAR +STARTCHAR U_4474 +ENCODING 17524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +7240 +57E0 +7240 +53C0 +F240 +53C0 +7240 +5FE0 +5240 +9420 +ENDCHAR +STARTCHAR U_4475 +ENCODING 17525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +7220 +52E0 +7220 +53E0 +FA20 +53E0 +7220 +53E0 +5220 +B460 +ENDCHAR +STARTCHAR U_4476 +ENCODING 17526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77E0 +5100 +77C0 +5100 +FFE0 +5440 +77C0 +5440 +57C0 +9440 +ENDCHAR +STARTCHAR U_4477 +ENCODING 17527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77E0 +5420 +77E0 +5400 +FDE0 +5520 +75E0 +5520 +55E0 +9920 +ENDCHAR +STARTCHAR U_4478 +ENCODING 17528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77E0 +5420 +73C0 +5000 +F7E0 +5100 +7540 +5520 +5920 +9100 +ENDCHAR +STARTCHAR U_4479 +ENCODING 17529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77E0 +5920 +7540 +5280 +F440 +5820 +77C0 +5240 +5180 +9E60 +ENDCHAR +STARTCHAR U_447A +ENCODING 17530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +7440 +57C0 +7540 +57C0 +F540 +57C0 +7540 +55C0 +5660 +9820 +ENDCHAR +STARTCHAR U_447B +ENCODING 17531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +7280 +50E0 +7F00 +54E0 +F740 +5540 +75E0 +5540 +5940 +93C0 +ENDCHAR +STARTCHAR U_447C +ENCODING 17532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +77E0 +5AA0 +77A0 +5220 +F440 +57E0 +7AA0 +57A0 +5220 +94C0 +ENDCHAR +STARTCHAR U_447D +ENCODING 17533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +7440 +57C0 +7440 +57C0 +F000 +5FE0 +7120 +5DA0 +5360 +9DA0 +ENDCHAR +STARTCHAR U_447E +ENCODING 17534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +77E0 +5C80 +77C0 +5480 +F7C0 +5480 +77E0 +5440 +5380 +9C60 +ENDCHAR +STARTCHAR U_447F +ENCODING 17535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77E0 +5420 +73E0 +5480 +FDE0 +5520 +55E0 +7520 +5520 +95E0 +ENDCHAR +STARTCHAR U_4480 +ENCODING 17536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +77E0 +5540 +7A40 +57E0 +FC40 +5440 +7540 +54C0 +5440 +B4C0 +ENDCHAR +STARTCHAR U_4481 +ENCODING 17537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +7AA0 +5660 +7AA0 +5220 +F400 +57C0 +7440 +57C0 +5440 +B7C0 +ENDCHAR +STARTCHAR U_4482 +ENCODING 17538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +7560 +55A0 +7560 +5740 +F1E0 +5720 +75A0 +5560 +9520 +9960 +ENDCHAR +STARTCHAR U_4483 +ENCODING 17539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7940 +55E0 +7240 +5FE0 +F400 +55E0 +7520 +55E0 +5C00 +93E0 +ENDCHAR +STARTCHAR U_4484 +ENCODING 17540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7FE0 +5020 +77C0 +5280 +F280 +57C0 +7540 +57C0 +5540 +97C0 +ENDCHAR +STARTCHAR U_4485 +ENCODING 17541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +7FE0 +5100 +7FE0 +5240 +F7E0 +5AC0 +7340 +52C0 +5340 +93C0 +ENDCHAR +STARTCHAR U_4486 +ENCODING 17542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +7280 +5FE0 +74A0 +5FA0 +F4A0 +5740 +7540 +5740 +55A0 +9B20 +ENDCHAR +STARTCHAR U_4487 +ENCODING 17543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +5020 +77E0 +5280 +FA80 +57C0 +7540 +57C0 +5540 +97C0 +ENDCHAR +STARTCHAR U_4488 +ENCODING 17544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +5540 +7FE0 +5440 +F7C0 +5440 +77C0 +5440 +57C0 +9820 +ENDCHAR +STARTCHAR U_4489 +ENCODING 17545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +7FE0 +5540 +7FE0 +5540 +FFE0 +5440 +7FE0 +5540 +53E0 +9C40 +ENDCHAR +STARTCHAR U_448A +ENCODING 17546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +49E0 +8640 +FBE0 +22A0 +42A0 +7BE0 +0A00 +0A00 +5220 +21E0 +ENDCHAR +STARTCHAR U_448B +ENCODING 17547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21C0 +FA40 +ABE0 +AAA0 +FEA0 +23E0 +3200 +4A20 +4220 +81E0 +ENDCHAR +STARTCHAR U_448C +ENCODING 17548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +85E0 +7A40 +4BE0 +7AA0 +4AA0 +7BE0 +2200 +FE20 +4A20 +85E0 +ENDCHAR +STARTCHAR U_448D +ENCODING 17549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F9C0 +5640 +2080 +FFE0 +A2A0 +7BE0 +2200 +3A20 +4A20 +99E0 +ENDCHAR +STARTCHAR U_448E +ENCODING 17550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FDC0 +5240 +2880 +FFE0 +52A0 +8BE0 +5200 +FA20 +5220 +91E0 +ENDCHAR +STARTCHAR U_448F +ENCODING 17551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +51C0 +FA40 +AC80 +FBE0 +AAA0 +FBE0 +5200 +7220 +5220 +71E0 +ENDCHAR +STARTCHAR U_4490 +ENCODING 17552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ED00 +29E0 +FE40 +ABE0 +FEA0 +02A0 +FFE0 +AA00 +3A20 +2A20 +39E0 +ENDCHAR +STARTCHAR U_4491 +ENCODING 17553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 0 +BITMAP +4040 +2040 +2080 +1080 +1100 +0000 +0040 +FFE0 +ENDCHAR +STARTCHAR U_4492 +ENCODING 17554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +0040 +0240 +0C40 +3040 +C040 +0140 +0080 +ENDCHAR +STARTCHAR U_4493 +ENCODING 17555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +7FE0 +1000 +3F80 +0080 +0080 +0900 +0600 +ENDCHAR +STARTCHAR U_4494 +ENCODING 17556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +1200 +1200 +1100 +2100 +2080 +4040 +8060 +ENDCHAR +STARTCHAR U_4495 +ENCODING 17557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +0400 +2480 +2440 +4420 +8420 +0400 +1C00 +ENDCHAR +STARTCHAR U_4496 +ENCODING 17558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F80 +0880 +0880 +7E80 +0880 +0880 +08A0 +0860 +ENDCHAR +STARTCHAR U_4497 +ENCODING 17559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4000 +7FC0 +8000 +3F00 +0400 +1840 +2040 +3FC0 +ENDCHAR +STARTCHAR U_4498 +ENCODING 17560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2000 +3F80 +6100 +9100 +0A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_4499 +ENCODING 17561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +2480 +0400 +0400 +0780 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_449A +ENCODING 17562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +0400 +2500 +2480 +4440 +8520 +0200 +1C00 +E000 +ENDCHAR +STARTCHAR U_449B +ENCODING 17563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2000 +4000 +57C0 +F040 +2040 +4040 +5040 +F980 +ENDCHAR +STARTCHAR U_449C +ENCODING 17564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2400 +3FC0 +4400 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_449D +ENCODING 17565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3180 +0E00 +71C0 +1100 +1100 +0A00 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_449E +ENCODING 17566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +7FE0 +4440 +8400 +0A00 +1200 +2220 +C1E0 +ENDCHAR +STARTCHAR U_449F +ENCODING 17567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F80 +1480 +1280 +FFE0 +1080 +1080 +2080 +4380 +ENDCHAR +STARTCHAR U_44A0 +ENCODING 17568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +0780 +7C00 +0400 +7FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_44A1 +ENCODING 17569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +7C40 +0440 +7C40 +4040 +FC40 +0440 +3840 +ENDCHAR +STARTCHAR U_44A2 +ENCODING 17570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +1BC0 +6240 +4240 +4A40 +72C0 +0200 +0200 +ENDCHAR +STARTCHAR U_44A3 +ENCODING 17571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +2080 +7FC0 +2080 +FFE0 +2080 +2180 +ENDCHAR +STARTCHAR U_44A4 +ENCODING 17572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +2080 +3F80 +2080 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_44A5 +ENCODING 17573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0400 +3F80 +2480 +2480 +2480 +2580 +0400 +ENDCHAR +STARTCHAR U_44A6 +ENCODING 17574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +03C0 +7C00 +0200 +3F80 +0100 +0600 +1800 +67E0 +ENDCHAR +STARTCHAR U_44A7 +ENCODING 17575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +3F80 +0400 +FFE0 +0800 +1080 +7FC0 +2040 +ENDCHAR +STARTCHAR U_44A8 +ENCODING 17576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2000 +3F80 +4400 +0400 +FFE0 +0900 +1080 +E060 +ENDCHAR +STARTCHAR U_44A9 +ENCODING 17577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FBE0 +1080 +0380 +7C00 +0400 +FFE0 +1480 +2440 +C420 +0400 +ENDCHAR +STARTCHAR U_44AA +ENCODING 17578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2080 +7FC0 +1100 +1100 +FFE0 +1100 +2100 +C100 +ENDCHAR +STARTCHAR U_44AB +ENCODING 17579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1280 +2240 +63E0 +AE00 +2100 +2120 +20A0 +2060 +ENDCHAR +STARTCHAR U_44AC +ENCODING 17580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +0000 +FFE0 +0400 +1480 +2440 +C420 +0C00 +ENDCHAR +STARTCHAR U_44AD +ENCODING 17581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +0080 +FFE0 +0100 +FFE0 +1100 +0900 +0300 +ENDCHAR +STARTCHAR U_44AE +ENCODING 17582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8020 +1F00 +1100 +1D00 +1320 +2120 +C0E0 +ENDCHAR +STARTCHAR U_44AF +ENCODING 17583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8820 +7F00 +0900 +3900 +1520 +2120 +C0E0 +ENDCHAR +STARTCHAR U_44B0 +ENCODING 17584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +1100 +7FC0 +4000 +5FC0 +4200 +4F80 +4200 +5FC0 +4000 +7FC0 +ENDCHAR +STARTCHAR U_44B1 +ENCODING 17585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFE0 +1200 +3F00 +0200 +F440 +1680 +2500 +4CE0 +8400 +7FC0 +ENDCHAR +STARTCHAR U_44B2 +ENCODING 17586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +20C0 +F700 +5100 +5100 +5FE0 +2100 +5120 +81E0 +ENDCHAR +STARTCHAR U_44B3 +ENCODING 17587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F80 +1080 +11C0 +2440 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_44B4 +ENCODING 17588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2480 +FFE0 +1000 +3F80 +D080 +1F80 +1080 +1F80 +1080 +ENDCHAR +STARTCHAR U_44B5 +ENCODING 17589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2000 +FBC0 +5040 +5080 +57E0 +2080 +5080 +8180 +ENDCHAR +STARTCHAR U_44B6 +ENCODING 17590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2480 +7FC0 +4440 +7FC0 +4440 +7FC0 +0480 +0720 +F8E0 +ENDCHAR +STARTCHAR U_44B7 +ENCODING 17591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0380 +7C00 +0400 +FFE0 +0400 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_44B8 +ENCODING 17592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +0800 +3F80 +2A80 +2A80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_44B9 +ENCODING 17593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +07C0 +7C00 +0400 +7F80 +0400 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_44BA +ENCODING 17594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +0800 +3300 +0C00 +1080 +7FC0 +2500 +2480 +4C40 +ENDCHAR +STARTCHAR U_44BB +ENCODING 17595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +23E0 +2220 +AA20 +ABE0 +AA00 +AA20 +FA20 +01E0 +ENDCHAR +STARTCHAR U_44BC +ENCODING 17596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0A00 +0A00 +7FC0 +4A40 +7FC0 +4A40 +4A40 +7FC0 +ENDCHAR +STARTCHAR U_44BD +ENCODING 17597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4040 +6AC0 +5140 +5140 +6AC0 +4040 +40C0 +ENDCHAR +STARTCHAR U_44BE +ENCODING 17598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +1000 +2480 +E300 +2200 +2980 +3060 +ENDCHAR +STARTCHAR U_44BF +ENCODING 17599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8020 +BFA0 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_44C0 +ENCODING 17600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +7FC0 +0400 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_44C1 +ENCODING 17601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0400 +3F80 +0100 +FFE0 +2100 +1100 +0600 +ENDCHAR +STARTCHAR U_44C2 +ENCODING 17602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_44C3 +ENCODING 17603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +7FC0 +4440 +7FC0 +4000 +4020 +3FE0 +ENDCHAR +STARTCHAR U_44C4 +ENCODING 17604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +D0C0 +2700 +5400 +B7E0 +5480 +9480 +1480 +6880 +ENDCHAR +STARTCHAR U_44C5 +ENCODING 17605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +61C0 +1600 +C400 +27E0 +1480 +E480 +4880 +5080 +ENDCHAR +STARTCHAR U_44C6 +ENCODING 17606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +20C0 +F700 +2400 +37E0 +E480 +2480 +2480 +E880 +ENDCHAR +STARTCHAR U_44C7 +ENCODING 17607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +3F80 +0400 +FFE0 +1100 +5140 +9120 +2300 +ENDCHAR +STARTCHAR U_44C8 +ENCODING 17608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2780 +5480 +A860 +6780 +A480 +2280 +2300 +2CE0 +ENDCHAR +STARTCHAR U_44C9 +ENCODING 17609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FE0 +2A40 +4AC0 +FE20 +2A20 +4B20 +8AC0 +1A00 +ENDCHAR +STARTCHAR U_44CA +ENCODING 17610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0800 +7F80 +0880 +FFE0 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_44CB +ENCODING 17611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +67C0 +1480 +C480 +27E0 +1480 +E480 +46A0 +4460 +ENDCHAR +STARTCHAR U_44CC +ENCODING 17612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +0400 +3F80 +0440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_44CD +ENCODING 17613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +3F80 +0000 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_44CE +ENCODING 17614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2400 +27C0 +6840 +B240 +2140 +3140 +4840 +8180 +ENDCHAR +STARTCHAR U_44CF +ENCODING 17615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +0D00 +3480 +C460 +0400 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_44D0 +ENCODING 17616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +1100 +2480 +FFE0 +2480 +3F80 +24A0 +07E0 +ENDCHAR +STARTCHAR U_44D1 +ENCODING 17617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FC0 +2480 +8480 +5FE0 +1480 +A480 +4480 +4880 +ENDCHAR +STARTCHAR U_44D2 +ENCODING 17618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3FC0 +4040 +BF40 +2940 +3F40 +2940 +3F40 +0180 +ENDCHAR +STARTCHAR U_44D3 +ENCODING 17619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0800 +3F80 +1100 +FFE0 +4900 +8900 +0300 +ENDCHAR +STARTCHAR U_44D4 +ENCODING 17620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +0500 +FFE0 +0400 +1F80 +2100 +DFE0 +0200 +ENDCHAR +STARTCHAR U_44D5 +ENCODING 17621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +47C0 +2000 +FFE0 +2280 +22A0 +24E0 +5800 +8FE0 +ENDCHAR +STARTCHAR U_44D6 +ENCODING 17622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +7FE0 +90A0 +6440 +3F80 +0880 +1080 +6300 +ENDCHAR +STARTCHAR U_44D7 +ENCODING 17623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2880 +D160 +3F80 +1080 +0440 +52A0 +52A0 +8F80 +ENDCHAR +STARTCHAR U_44D8 +ENCODING 17624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FBE0 +1100 +3900 +CA80 +3440 +CFE0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_44D9 +ENCODING 17625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +0400 +FFE0 +1500 +75C0 +1500 +F4E0 +0400 +ENDCHAR +STARTCHAR U_44DA +ENCODING 17626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +5440 +A7C0 +6440 +A7C0 +2440 +2440 +2FE0 +ENDCHAR +STARTCHAR U_44DB +ENCODING 17627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4040 +7FC0 +4200 +5240 +5FC0 +9240 +9FC0 +ENDCHAR +STARTCHAR U_44DC +ENCODING 17628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FC0 +2900 +8900 +4FE0 +1900 +2AA0 +CEA0 +4960 +ENDCHAR +STARTCHAR U_44DD +ENCODING 17629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F00 +0200 +7FC0 +0400 +0400 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_44DE +ENCODING 17630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F80 +4000 +7F80 +4080 +7FC0 +4500 +DF00 +B0C0 +ENDCHAR +STARTCHAR U_44DF +ENCODING 17631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFE0 +1200 +7FC0 +4440 +5F40 +4440 +7FC0 +5140 +5F40 +80C0 +ENDCHAR +STARTCHAR U_44E0 +ENCODING 17632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FBE0 +1500 +7CC0 +1700 +E4E0 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_44E1 +ENCODING 17633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2000 +7DE0 +9120 +FD20 +1120 +2920 +45E0 +8000 +ENDCHAR +STARTCHAR U_44E2 +ENCODING 17634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4440 +7FC0 +4440 +5F40 +5140 +5140 +7FC0 +ENDCHAR +STARTCHAR U_44E3 +ENCODING 17635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0400 +7FC0 +5540 +5540 +6EC0 +4440 +41C0 +ENDCHAR +STARTCHAR U_44E4 +ENCODING 17636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3FC0 +4A40 +1240 +2480 +0A00 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_44E5 +ENCODING 17637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +F1E0 +1100 +7FC0 +1100 +3F80 +2080 +3F80 +2080 +FFE0 +0400 +ENDCHAR +STARTCHAR U_44E6 +ENCODING 17638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0A00 +3F80 +2A80 +3F80 +2A80 +FFE0 +2080 +4040 +ENDCHAR +STARTCHAR U_44E7 +ENCODING 17639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +0200 +77C0 +5540 +7480 +5F40 +0000 +FFE0 +ENDCHAR +STARTCHAR U_44E8 +ENCODING 17640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +A020 +7F80 +0400 +7FC0 +0400 +2480 +3F80 +ENDCHAR +STARTCHAR U_44E9 +ENCODING 17641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2100 +FFE0 +2100 +77C0 +6A40 +A280 +2180 +2E60 +ENDCHAR +STARTCHAR U_44EA +ENCODING 17642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +3F80 +2080 +3FC0 +CA40 +1440 +6980 +ENDCHAR +STARTCHAR U_44EB +ENCODING 17643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +7FC0 +1100 +FFE0 +2480 +2480 +3C80 +0180 +ENDCHAR +STARTCHAR U_44EC +ENCODING 17644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0780 +0400 +3F80 +2080 +3F80 +2080 +FFE0 +0400 +ENDCHAR +STARTCHAR U_44ED +ENCODING 17645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4620 +38A0 +D4A0 +12A0 +FEA0 +38A0 +5420 +9260 +ENDCHAR +STARTCHAR U_44EE +ENCODING 17646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7A00 +2BE0 +1140 +FD40 +3540 +5080 +9140 +3620 +ENDCHAR +STARTCHAR U_44EF +ENCODING 17647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0400 +7F80 +2480 +FFE0 +2480 +3FC0 +1100 +ENDCHAR +STARTCHAR U_44F0 +ENCODING 17648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +0A00 +3F80 +2A80 +2A80 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_44F1 +ENCODING 17649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +5DC0 +5100 +FCE0 +0400 +FFE0 +1480 +2440 +C420 +ENDCHAR +STARTCHAR U_44F2 +ENCODING 17650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2480 +C860 +5780 +4480 +4480 +4780 +44A0 +5860 +ENDCHAR +STARTCHAR U_44F3 +ENCODING 17651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +D440 +27C0 +E440 +27C0 +2520 +24C0 +2660 +ENDCHAR +STARTCHAR U_44F4 +ENCODING 17652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0800 +7FC0 +5240 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_44F5 +ENCODING 17653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +3F80 +0000 +FBE0 +8A20 +8A20 +FBE0 +ENDCHAR +STARTCHAR U_44F6 +ENCODING 17654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FE20 +1120 +7D20 +5520 +7D20 +3920 +5420 +9260 +ENDCHAR +STARTCHAR U_44F7 +ENCODING 17655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +6400 +19E0 +C400 +3BE0 +2840 +C840 +4840 +49C0 +ENDCHAR +STARTCHAR U_44F8 +ENCODING 17656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +5000 +FBE0 +5080 +A880 +57E0 +F880 +5080 +A880 +ENDCHAR +STARTCHAR U_44F9 +ENCODING 17657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0E00 +3980 +C460 +3F80 +2480 +3F80 +2500 +33C0 +ENDCHAR +STARTCHAR U_44FA +ENCODING 17658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0A00 +FFE0 +0400 +7FC0 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_44FB +ENCODING 17659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8020 +7240 +07E0 +FA40 +5180 +5240 +8FE0 +ENDCHAR +STARTCHAR U_44FC +ENCODING 17660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4480 +5FE0 +E440 +A4A0 +A640 +6AA0 +4A40 +91E0 +ENDCHAR +STARTCHAR U_44FD +ENCODING 17661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2000 +FFC0 +0040 +F040 +07C0 +F400 +9420 +F3E0 +ENDCHAR +STARTCHAR U_44FE +ENCODING 17662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +E540 +09A0 +E100 +1200 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_44FF +ENCODING 17663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +0A00 +7FC0 +5140 +4A40 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_4500 +ENCODING 17664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +2080 +17C0 +2100 +6FE0 +A540 +2B20 +2EE0 +2380 +2C60 +ENDCHAR +STARTCHAR U_4501 +ENCODING 17665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FFE0 +1100 +6AC0 +7FC0 +0400 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_4502 +ENCODING 17666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2480 +FFE0 +8420 +3F80 +1100 +FFE0 +0400 +7FC0 +0400 +ENDCHAR +STARTCHAR U_4503 +ENCODING 17667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +4000 +23C0 +FA40 +13C0 +3240 +6BC0 +A240 +27E0 +ENDCHAR +STARTCHAR U_4504 +ENCODING 17668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2880 +3FC0 +D100 +2E00 +FBC0 +4400 +FFE0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_4505 +ENCODING 17669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +7FC0 +3E80 +2280 +FFE0 +3E80 +2280 +3E80 +0180 +ENDCHAR +STARTCHAR U_4506 +ENCODING 17670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +D7C0 +2540 +D540 +37C0 +D100 +17C0 +5100 +2FE0 +ENDCHAR +STARTCHAR U_4507 +ENCODING 17671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2480 +4440 +7FC0 +0000 +FFE0 +2080 +3F80 +1100 +FFE0 +ENDCHAR +STARTCHAR U_4508 +ENCODING 17672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +1F00 +0400 +FFE0 +1100 +1F00 +1100 +1F00 +3180 +ENDCHAR +STARTCHAR U_4509 +ENCODING 17673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +1860 +E380 +2080 +FBE0 +30C0 +69A0 +AAA0 +2080 +ENDCHAR +STARTCHAR U_450A +ENCODING 17674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FA40 +27E0 +2240 +FA40 +27E0 +2A40 +3240 +C440 +ENDCHAR +STARTCHAR U_450B +ENCODING 17675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2100 +4540 +F520 +4520 +9140 +F180 +5300 +AC00 +ENDCHAR +STARTCHAR U_450C +ENCODING 17676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0900 +3F80 +2480 +3F80 +1000 +FFE0 +4480 +BF60 +0400 +ENDCHAR +STARTCHAR U_450D +ENCODING 17677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2400 +3F80 +2400 +3FE0 +0020 +5520 +5540 +ENDCHAR +STARTCHAR U_450E +ENCODING 17678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FE0 +2100 +F7C0 +2540 +27C0 +2540 +7920 +87E0 +ENDCHAR +STARTCHAR U_450F +ENCODING 17679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4500 +27C0 +F900 +2FE0 +2440 +27C0 +3800 +C7E0 +ENDCHAR +STARTCHAR U_4510 +ENCODING 17680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2480 +1FE0 +8320 +5DE0 +1240 +AFE0 +4320 +5CE0 +ENDCHAR +STARTCHAR U_4511 +ENCODING 17681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFE0 +1200 +3040 +CD40 +78C0 +1240 +FD60 +5BC0 +9440 +3040 +ENDCHAR +STARTCHAR U_4512 +ENCODING 17682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +E100 +AFE0 +C440 +BFE0 +A000 +E7C0 +8440 +87C0 +ENDCHAR +STARTCHAR U_4513 +ENCODING 17683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2200 +FBE0 +0480 +7880 +07E0 +7880 +4880 +7880 +ENDCHAR +STARTCHAR U_4514 +ENCODING 17684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +3FC0 +1100 +FFE0 +2480 +3F80 +1120 +E0E0 +ENDCHAR +STARTCHAR U_4515 +ENCODING 17685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1140 +7FE0 +5100 +77C0 +5540 +77C0 +5540 +57C0 +9540 +ENDCHAR +STARTCHAR U_4516 +ENCODING 17686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +9100 +AFC0 +9460 +DFC0 +A440 +8B80 +8C60 +ENDCHAR +STARTCHAR U_4517 +ENCODING 17687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4440 +2280 +F7C0 +2100 +77C0 +A100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_4518 +ENCODING 17688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4000 +7BC0 +A240 +FBC0 +2240 +ABC0 +AA40 +FFE0 +ENDCHAR +STARTCHAR U_4519 +ENCODING 17689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3200 +4BE0 +FC20 +1220 +7D20 +5420 +3820 +60C0 +ENDCHAR +STARTCHAR U_451A +ENCODING 17690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F80 +4000 +7FC0 +5280 +5FC0 +5280 +9F80 +9080 +ENDCHAR +STARTCHAR U_451B +ENCODING 17691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +47E0 +4100 +7BC0 +4240 +43C0 +5A40 +63C0 +0420 +ENDCHAR +STARTCHAR U_451C +ENCODING 17692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F900 +57C0 +7540 +57C0 +7540 +5FE0 +F440 +14C0 +ENDCHAR +STARTCHAR U_451D +ENCODING 17693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFE0 +1200 +5FC0 +5220 +F9E0 +0F00 +0900 +3F80 +1500 +64C0 +ENDCHAR +STARTCHAR U_451E +ENCODING 17694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +0A00 +5F40 +2A80 +5F40 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_451F +ENCODING 17695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +39C0 +E240 +2180 +FEE0 +2120 +72C0 +A880 +2700 +ENDCHAR +STARTCHAR U_4520 +ENCODING 17696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2540 +F380 +27C0 +7440 +6FC0 +A440 +27C0 +2440 +ENDCHAR +STARTCHAR U_4521 +ENCODING 17697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F00 +2200 +FF80 +2480 +3F80 +2480 +7FC0 +8920 +ENDCHAR +STARTCHAR U_4522 +ENCODING 17698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +6EC0 +1100 +7FC0 +0000 +FFE0 +1000 +3FC0 +0080 +ENDCHAR +STARTCHAR U_4523 +ENCODING 17699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7C40 +1140 +FD40 +5440 +3F80 +4400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_4524 +ENCODING 17700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +47E0 +8200 +F7E0 +9420 +F7E0 +9420 +9420 +F7E0 +ENDCHAR +STARTCHAR U_4525 +ENCODING 17701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0440 +FFE0 +0440 +7FC0 +5540 +7FC0 +A540 +ENDCHAR +STARTCHAR U_4526 +ENCODING 17702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +2400 +FFE0 +2540 +7540 +AFE0 +2540 +2FE0 +2080 +ENDCHAR +STARTCHAR U_4527 +ENCODING 17703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7C40 +1140 +FF40 +5440 +9480 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_4528 +ENCODING 17704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2480 +4FE0 +7480 +27C0 +4C80 +77C0 +2480 +C7E0 +ENDCHAR +STARTCHAR U_4529 +ENCODING 17705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2100 +FE00 +23E0 +FE40 +AA40 +F980 +7180 +AA40 +2420 +ENDCHAR +STARTCHAR U_452A +ENCODING 17706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +5540 +2480 +5740 +2480 +DB60 +1100 +E0E0 +ENDCHAR +STARTCHAR U_452B +ENCODING 17707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +1500 +57E0 +5D20 +5560 +5380 +5D40 +E920 +ENDCHAR +STARTCHAR U_452C +ENCODING 17708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +3F80 +2480 +7FC0 +1100 +FFE0 +2080 +ENDCHAR +STARTCHAR U_452D +ENCODING 17709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +A4A0 +5160 +BF80 +2480 +3F80 +2480 +5E80 +ENDCHAR +STARTCHAR U_452E +ENCODING 17710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +4900 +FFE0 +4A00 +7BE0 +4A40 +7A40 +4A40 +FE40 +4840 +ENDCHAR +STARTCHAR U_452F +ENCODING 17711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FC80 +2880 +FFE0 +AC80 +C5E0 +BD20 +8520 +FDE0 +ENDCHAR +STARTCHAR U_4530 +ENCODING 17712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F1E0 +2480 +FFE0 +8020 +7FC0 +1100 +3F80 +2480 +3F80 +2480 +3F80 +ENDCHAR +STARTCHAR U_4531 +ENCODING 17713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +1080 +27C0 +F440 +2FE0 +3440 +E7C0 +2440 +2FE0 +6040 +ENDCHAR +STARTCHAR U_4532 +ENCODING 17714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7940 +4E80 +3180 +DF60 +1100 +1F00 +1100 +FFE0 +ENDCHAR +STARTCHAR U_4533 +ENCODING 17715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3140 +4920 +AFE0 +5180 +2240 +CC20 +4920 +8920 +ENDCHAR +STARTCHAR U_4534 +ENCODING 17716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +A7C0 +FD40 +A540 +FD40 +0080 +FC80 +5540 +9220 +ENDCHAR +STARTCHAR U_4535 +ENCODING 17717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBE0 +AAA0 +FBE0 +8420 +BFA0 +8E20 +B5A0 +8460 +ENDCHAR +STARTCHAR U_4536 +ENCODING 17718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +F440 +27C0 +3440 +EFE0 +2540 +2780 +68E0 +ENDCHAR +STARTCHAR U_4537 +ENCODING 17719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +1100 +7FC0 +1100 +E4E0 +1F00 +0200 +0C00 +ENDCHAR +STARTCHAR U_4538 +ENCODING 17720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0480 +FFE0 +1100 +60C0 +2920 +FFE0 +4A40 +8420 +ENDCHAR +STARTCHAR U_4539 +ENCODING 17721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7240 +57E0 +6120 +56C0 +5180 +76C0 +40A0 +4300 +ENDCHAR +STARTCHAR U_453A +ENCODING 17722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FE0 +5280 +67E0 +5A40 +53C0 +7240 +43C0 +4240 +ENDCHAR +STARTCHAR U_453B +ENCODING 17723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +1100 +FDE0 +4B40 +7D40 +1140 +FC80 +1140 +3620 +ENDCHAR +STARTCHAR U_453C +ENCODING 17724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBE0 +28A0 +6AA0 +5D60 +9280 +5AE0 +5280 +FFE0 +ENDCHAR +STARTCHAR U_453D +ENCODING 17725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FC0 +2940 +8A40 +4FE0 +1920 +2AA0 +CFE0 +4040 +ENDCHAR +STARTCHAR U_453E +ENCODING 17726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FC0 +F940 +4A40 +6FE0 +D920 +4AA0 +4FE0 +C040 +ENDCHAR +STARTCHAR U_453F +ENCODING 17727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +0A00 +3F80 +2A80 +3580 +FFE0 +1100 +0B00 +ENDCHAR +STARTCHAR U_4540 +ENCODING 17728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FE00 +13E0 +7AA0 +0080 +FC80 +5880 +5540 +9220 +ENDCHAR +STARTCHAR U_4541 +ENCODING 17729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F1E0 +1100 +71C0 +1500 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_4542 +ENCODING 17730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4440 +2FE0 +F440 +27C0 +2CA0 +2540 +7620 +8FE0 +ENDCHAR +STARTCHAR U_4543 +ENCODING 17731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F380 +9C60 +A7C0 +9500 +9480 +EFE0 +8480 +8FC0 +ENDCHAR +STARTCHAR U_4544 +ENCODING 17732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F00 +0440 +F580 +2480 +C460 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_4545 +ENCODING 17733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +42C0 +5540 +F7C0 +5540 +97C0 +6440 +3380 +CC60 +ENDCHAR +STARTCHAR U_4546 +ENCODING 17734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2280 +2440 +FFA0 +2A20 +7EA0 +AAA0 +2EA0 +2A60 +ENDCHAR +STARTCHAR U_4547 +ENCODING 17735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2480 +7FE0 +4800 +5F80 +5280 +5F80 +5280 +5F80 +8940 +B1E0 +ENDCHAR +STARTCHAR U_4548 +ENCODING 17736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +5540 +5FE0 +7540 +47E0 +7100 +5FE0 +5540 +9920 +ENDCHAR +STARTCHAR U_4549 +ENCODING 17737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2A80 +7FC0 +0400 +FFE0 +1100 +7FC0 +0400 +ENDCHAR +STARTCHAR U_454A +ENCODING 17738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2A80 +2A80 +3F80 +1100 +1F00 +1100 +FFE0 +ENDCHAR +STARTCHAR U_454B +ENCODING 17739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FE0 +2940 +FFE0 +2940 +2FC0 +3A40 +CA40 +13C0 +ENDCHAR +STARTCHAR U_454C +ENCODING 17740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7480 +27E0 +FC80 +27C0 +7480 +6FC0 +A480 +27E0 +ENDCHAR +STARTCHAR U_454D +ENCODING 17741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +3480 +D300 +11C0 +7FC0 +5140 +7FC0 +4040 +ENDCHAR +STARTCHAR U_454E +ENCODING 17742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0FE0 +F280 +9280 +F7C0 +9540 +F7C0 +9540 +07C0 +ENDCHAR +STARTCHAR U_454F +ENCODING 17743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3FC0 +0400 +7F80 +1540 +FFE0 +1140 +7980 +2660 +ENDCHAR +STARTCHAR U_4550 +ENCODING 17744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27E0 +FA40 +2240 +77E0 +AD20 +27E0 +2520 +27E0 +ENDCHAR +STARTCHAR U_4551 +ENCODING 17745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +47E0 +44A0 +A240 +47E0 +9240 +F240 +A980 +A660 +ENDCHAR +STARTCHAR U_4552 +ENCODING 17746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0400 +3FC0 +1100 +FFE0 +1540 +25C0 +4D40 +ENDCHAR +STARTCHAR U_4553 +ENCODING 17747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +1480 +FFE0 +AAA0 +5100 +2EC0 +4000 +3F80 +1500 +2480 +ENDCHAR +STARTCHAR U_4554 +ENCODING 17748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2EE0 +D100 +2EE0 +C440 +5F40 +5540 +4E40 +5FC0 +ENDCHAR +STARTCHAR U_4555 +ENCODING 17749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +47C0 +2540 +8FE0 +4AA0 +1FE0 +A440 +4380 +4C60 +ENDCHAR +STARTCHAR U_4556 +ENCODING 17750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +9FE0 +4480 +0BC0 +FD20 +4BE0 +4A80 +74A0 +8FE0 +ENDCHAR +STARTCHAR U_4557 +ENCODING 17751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2480 +1F00 +1500 +1500 +3F80 +2480 +FFE0 +1100 +6100 +ENDCHAR +STARTCHAR U_4558 +ENCODING 17752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +37E0 +4900 +B7C0 +0240 +7BC0 +4A40 +33C0 +2420 +ENDCHAR +STARTCHAR U_4559 +ENCODING 17753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2000 +FD40 +2120 +FFE0 +5100 +FCA0 +50C0 +7F20 +ENDCHAR +STARTCHAR U_455A +ENCODING 17754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +1100 +7FC0 +4200 +5FC0 +5240 +7FE0 +4A80 +4F80 +5040 +7FE0 +ENDCHAR +STARTCHAR U_455B +ENCODING 17755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2100 +FFE0 +0540 +7540 +0BA0 +7100 +5280 +7C60 +ENDCHAR +STARTCHAR U_455C +ENCODING 17756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +2540 +14C0 +7FC0 +2080 +5540 +FFE0 +0400 +ENDCHAR +STARTCHAR U_455D +ENCODING 17757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1040 +FFA0 +2940 +F7C0 +2540 +77C0 +A540 +2FE0 +2440 +ENDCHAR +STARTCHAR U_455E +ENCODING 17758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +2080 +FBE0 +AAA0 +F5E0 +9F20 +9520 +9FA0 +9520 +9BA0 +ENDCHAR +STARTCHAR U_455F +ENCODING 17759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2100 +5FC0 +5140 +7FC0 +5540 +7DC0 +5140 +FFE0 +2080 +C060 +ENDCHAR +STARTCHAR U_4560 +ENCODING 17760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2480 +7FE0 +6940 +5DC0 +6560 +5E00 +51C0 +5D40 +8480 +9B60 +ENDCHAR +STARTCHAR U_4561 +ENCODING 17761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +AAA0 +FBE0 +9F20 +9120 +BFA0 +A0A0 +BFA0 +ENDCHAR +STARTCHAR U_4562 +ENCODING 17762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0240 +FFE0 +2100 +23C0 +7900 +CBE0 +7C80 +4BE0 +ENDCHAR +STARTCHAR U_4563 +ENCODING 17763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +F540 +2540 +77E0 +A920 +3AA0 +2FE0 +2040 +ENDCHAR +STARTCHAR U_4564 +ENCODING 17764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +EEE0 +AAA0 +FEC0 +54A0 +7CA0 +54A0 +FEC0 +1080 +ENDCHAR +STARTCHAR U_4565 +ENCODING 17765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5140 +9520 +2480 +FFE0 +6EC0 +5540 +6EC0 +5540 +6EC0 +ENDCHAR +STARTCHAR U_4566 +ENCODING 17766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2480 +FFE0 +4000 +7FE0 +4040 +3F80 +EAE0 +BFA0 +EAE0 +BD20 +ENDCHAR +STARTCHAR U_4567 +ENCODING 17767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7C80 +57E0 +FD40 +8220 +7D40 +4480 +7D40 +4620 +ENDCHAR +STARTCHAR U_4568 +ENCODING 17768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7540 +57C0 +5100 +7FE0 +5540 +7AA0 +57C0 +9920 +ENDCHAR +STARTCHAR U_4569 +ENCODING 17769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FE0 +FAA0 +2C60 +67C0 +7540 +AFC0 +2540 +2920 +ENDCHAR +STARTCHAR U_456A +ENCODING 17770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FE0 +2AA0 +8FE0 +4440 +0FE0 +2100 +CFE0 +4100 +ENDCHAR +STARTCHAR U_456B +ENCODING 17771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +24E0 +BFA0 +AAE0 +FF80 +28E0 +D900 +0600 +79E0 +ENDCHAR +STARTCHAR U_456C +ENCODING 17772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +1540 +7540 +4FE0 +7540 +17C0 +1540 +6FE0 +ENDCHAR +STARTCHAR U_456D +ENCODING 17773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +2080 +72A0 +21C0 +F940 +5220 +AAA0 +F9C0 +2140 +F620 +ENDCHAR +STARTCHAR U_456E +ENCODING 17774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +7400 +27E0 +FD20 +57E0 +FBA0 +2560 +F920 +20C0 +ENDCHAR +STARTCHAR U_456F +ENCODING 17775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FCE0 +5380 +FAC0 +AAC0 +FAA0 +02A0 +FD20 +ABE0 +ENDCHAR +STARTCHAR U_4570 +ENCODING 17776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +AD40 +77E0 +2380 +2D60 +57C0 +4D40 +87C0 +ENDCHAR +STARTCHAR U_4571 +ENCODING 17777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0100 +FBC0 +8A40 +FBC0 +8A40 +53C0 +FC20 +ENDCHAR +STARTCHAR U_4572 +ENCODING 17778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +5540 +5540 +5FC0 +4000 +7FE0 +8A80 +B240 +ENDCHAR +STARTCHAR U_4573 +ENCODING 17779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +EFE0 +2540 +EFE0 +8D60 +EBA0 +2D60 +2BA0 +C960 +ENDCHAR +STARTCHAR U_4574 +ENCODING 17780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7A80 +27E0 +FC80 +27E0 +7480 +A7E0 +2540 +2AA0 +ENDCHAR +STARTCHAR U_4575 +ENCODING 17781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4200 +F7C0 +4540 +F7E0 +0400 +F7E0 +9520 +F540 +ENDCHAR +STARTCHAR U_4576 +ENCODING 17782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +4280 +F7E0 +0A80 +F3E0 +0280 +F7E0 +9240 +F180 +9E60 +ENDCHAR +STARTCHAR U_4577 +ENCODING 17783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2480 +7FE0 +4880 +7FE0 +5AC0 +6FA0 +4480 +5FC0 +9280 +A640 +ENDCHAR +STARTCHAR U_4578 +ENCODING 17784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F880 +ABE0 +F880 +23E0 +F800 +23E0 +FA20 +ABE0 +ENDCHAR +STARTCHAR U_4579 +ENCODING 17785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2280 +FBE0 +5640 +ABE0 +2240 +FBE0 +7240 +ABE0 +ENDCHAR +STARTCHAR U_457A +ENCODING 17786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5140 +FFE0 +0400 +7F80 +0400 +FFE0 +4940 +F880 +0B60 +ENDCHAR +STARTCHAR U_457B +ENCODING 17787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +6B40 +5AC0 +7FE0 +4A40 +7FC0 +5520 +9CE0 +ENDCHAR +STARTCHAR U_457C +ENCODING 17788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FA80 +57E0 +FA40 +ABE0 +FA40 +23E0 +FA40 +53E0 +ENDCHAR +STARTCHAR U_457D +ENCODING 17789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F7C0 +9540 +F7E0 +2AA0 +BFA0 +A220 +FFE0 +8040 +ENDCHAR +STARTCHAR U_457E +ENCODING 17790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3B80 +2A80 +7FE0 +4900 +7DE0 +5740 +BC80 +8760 +ENDCHAR +STARTCHAR U_457F +ENCODING 17791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBC0 +52C0 +FB40 +ABE0 +FA00 +23E0 +F520 +5560 +ENDCHAR +STARTCHAR U_4580 +ENCODING 17792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +1080 +7BC0 +4A40 +FFE0 +2480 +2880 +7FC0 +AAA0 +3B80 +ENDCHAR +STARTCHAR U_4581 +ENCODING 17793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +FFE0 +4940 +7FE0 +5540 +7DC0 +5540 +FDC0 +9520 +FEA0 +85C0 +ENDCHAR +STARTCHAR U_4582 +ENCODING 17794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5540 +FFE0 +4A40 +EEE0 +A4A0 +3F80 +0400 +7FC0 +0C00 +ENDCHAR +STARTCHAR U_4583 +ENCODING 17795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +1500 +FFE0 +1480 +6780 +5140 +FBE0 +2080 +FBE0 +69A0 +BAE0 +ENDCHAR +STARTCHAR U_4584 +ENCODING 17796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5100 +FA80 +57E0 +FA80 +ABE0 +FA80 +4BE0 +9240 +8920 +ENDCHAR +STARTCHAR U_4585 +ENCODING 17797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +1080 +7FC0 +0400 +FFE0 +AAA0 +7FC0 +2480 +5540 +FFE0 +ENDCHAR +STARTCHAR U_4586 +ENCODING 17798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +1080 +FFE0 +52A0 +FBE0 +A940 +DFE0 +89A0 +AB40 +F9A0 +ENDCHAR +STARTCHAR U_4587 +ENCODING 17799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2480 +FFE0 +75C0 +AEA0 +FFE0 +A8A0 +7B00 +48C0 +7300 +ENDCHAR +STARTCHAR U_4588 +ENCODING 17800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +0400 +7FE0 +44A0 +4500 +5FC0 +4000 +4980 +4E00 +8840 +87C0 +ENDCHAR +STARTCHAR U_4589 +ENCODING 17801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0700 +0400 +7FE0 +44A0 +5FC0 +4000 +4FC0 +4100 +5FE0 +4100 +8300 +ENDCHAR +STARTCHAR U_458A +ENCODING 17802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +1100 +97E0 +5540 +5580 +26E0 +2400 +55C0 +9540 +1940 +0A60 +ENDCHAR +STARTCHAR U_458B +ENCODING 17803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C80 +1080 +7C80 +5480 +7C80 +4080 +5C80 +5540 +5540 +A620 +A420 +ENDCHAR +STARTCHAR U_458C +ENCODING 17804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C20 +1020 +7E20 +52A0 +7CA0 +50A0 +5CA0 +54A0 +5420 +A620 +A460 +ENDCHAR +STARTCHAR U_458D +ENCODING 17805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0F80 +0800 +7FE0 +4920 +7FC0 +4800 +4F80 +5880 +8700 +B8E0 +ENDCHAR +STARTCHAR U_458E +ENCODING 17806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +E100 +AFE0 +AA20 +CFC0 +AA00 +ABC0 +AA80 +EA80 +92A0 +94E0 +ENDCHAR +STARTCHAR U_458F +ENCODING 17807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +0400 +7FE0 +4920 +7FC0 +5000 +5FC0 +6A40 +5F40 +8AE0 +9480 +ENDCHAR +STARTCHAR U_4590 +ENCODING 17808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +61C0 +4100 +47E0 +7D40 +57E0 +5400 +5540 +5540 +9540 +9A60 +ENDCHAR +STARTCHAR U_4591 +ENCODING 17809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1DE0 +1120 +7F20 +51E0 +7D20 +5120 +5DE0 +5400 +5420 +A7E0 +ENDCHAR +STARTCHAR U_4592 +ENCODING 17810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F00 +0800 +7FE0 +4920 +7F80 +4000 +7FC0 +5080 +5F80 +8900 +BFE0 +ENDCHAR +STARTCHAR U_4593 +ENCODING 17811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2080 +ABE0 +AAA0 +FBE0 +2280 +AAE0 +AA00 +AAA0 +FAA0 +8D20 +ENDCHAR +STARTCHAR U_4594 +ENCODING 17812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +27E0 +F520 +27E0 +F500 +24E0 +5540 +8D40 +F540 +0A60 +ENDCHAR +STARTCHAR U_4595 +ENCODING 17813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C00 +11C0 +7D40 +55C0 +7D40 +5140 +5DC0 +4540 +57E0 +9420 +A3E0 +ENDCHAR +STARTCHAR U_4596 +ENCODING 17814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C00 +13E0 +7EA0 +53E0 +7EA0 +53E0 +5C80 +4080 +54A0 +9420 +A7E0 +ENDCHAR +STARTCHAR U_4597 +ENCODING 17815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0700 +0400 +7FE0 +4920 +7F80 +40A0 +5FE0 +5080 +5FA0 +5540 +A7A0 +ENDCHAR +STARTCHAR U_4598 +ENCODING 17816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D00 +11C0 +7E40 +5480 +7FE0 +52A0 +5BE0 +4140 +5560 +9540 +A660 +ENDCHAR +STARTCHAR U_4599 +ENCODING 17817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +9080 +ED40 +9220 +FF80 +4400 +5FC0 +5540 +5F80 +5540 +A9C0 +ENDCHAR +STARTCHAR U_459A +ENCODING 17818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D00 +13C0 +7E40 +53C0 +7E00 +53C0 +4E00 +5BE0 +54A0 +56A0 +A460 +ENDCHAR +STARTCHAR U_459B +ENCODING 17819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3900 +27E0 +F900 +A7E0 +FD20 +A3C0 +9940 +ABC0 +AAA0 +ACA0 +47E0 +ENDCHAR +STARTCHAR U_459C +ENCODING 17820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +39C0 +2100 +7FE0 +52A0 +7FE0 +AA80 +5FE0 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_459D +ENCODING 17821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +7C00 +0400 +7FC0 +4440 +4440 +7FC0 +4400 +0440 +07E0 +FC20 +ENDCHAR +STARTCHAR U_459E +ENCODING 17822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2040 +F840 +AFE0 +A840 +FA40 +2140 +2940 +3840 +E840 +01C0 +ENDCHAR +STARTCHAR U_459F +ENCODING 17823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +2000 +1FC0 +0400 +3F80 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45A0 +ENCODING 17824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +2240 +FA40 +AB40 +AAC0 +FA40 +2240 +2A40 +3A40 +CC60 +ENDCHAR +STARTCHAR U_45A1 +ENCODING 17825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2140 +2140 +F940 +A940 +AFC0 +FA40 +2240 +2240 +3A40 +CFE0 +ENDCHAR +STARTCHAR U_45A2 +ENCODING 17826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +2080 +FAC0 +AAA0 +AC80 +F8A0 +2040 +2080 +3900 +CE00 +ENDCHAR +STARTCHAR U_45A3 +ENCODING 17827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2740 +FD40 +AD40 +AD40 +FD40 +2540 +2540 +3D40 +E920 +0820 +ENDCHAR +STARTCHAR U_45A4 +ENCODING 17828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +B2C0 +2220 +C1E0 +0400 +3F80 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45A5 +ENCODING 17829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +0900 +0600 +FFE0 +1440 +6400 +3F80 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45A6 +ENCODING 17830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +22A0 +22A0 +FAA0 +ABE0 +A880 +FAA0 +22A0 +3AA0 +EBE0 +0220 +ENDCHAR +STARTCHAR U_45A7 +ENCODING 17831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +2240 +FBC0 +AA40 +AA40 +FBC0 +2000 +3800 +C800 +07E0 +ENDCHAR +STARTCHAR U_45A8 +ENCODING 17832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F900 +A900 +A900 +FA00 +27E0 +2A20 +3A20 +EBE0 +0220 +ENDCHAR +STARTCHAR U_45A9 +ENCODING 17833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2140 +20C0 +FA40 +AE40 +AAA0 +FAA0 +22A0 +2B00 +FA40 +0DC0 +ENDCHAR +STARTCHAR U_45AA +ENCODING 17834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5E60 +5380 +5E20 +E1E0 +0400 +7FC0 +4440 +7FC0 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45AB +ENCODING 17835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FC40 +A820 +ABC0 +F900 +2100 +2FE0 +3900 +E900 +0100 +ENDCHAR +STARTCHAR U_45AC +ENCODING 17836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +FAA0 +ABE0 +AAA0 +FAA0 +23E0 +2880 +3880 +C880 +0080 +ENDCHAR +STARTCHAR U_45AD +ENCODING 17837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +7F80 +0800 +FFE0 +2480 +FFE0 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45AE +ENCODING 17838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2100 +FBE0 +AA20 +AA20 +FBA0 +22A0 +22A0 +3BA0 +CA20 +0260 +ENDCHAR +STARTCHAR U_45AF +ENCODING 17839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +0400 +7FC0 +2480 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45B0 +ENCODING 17840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F00 +2860 +FB80 +AA80 +AAA0 +FAC0 +2A80 +3A80 +CA40 +1320 +ENDCHAR +STARTCHAR U_45B1 +ENCODING 17841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +2200 +FBE0 +AA80 +ABE0 +FA80 +2280 +3BE0 +CA00 +03E0 +ENDCHAR +STARTCHAR U_45B2 +ENCODING 17842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +23E0 +FC20 +ABA0 +AAA0 +FBA0 +22A0 +3BA0 +C820 +00C0 +ENDCHAR +STARTCHAR U_45B3 +ENCODING 17843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +AC20 +A8C0 +FB00 +2100 +2FE0 +3900 +C920 +00E0 +ENDCHAR +STARTCHAR U_45B4 +ENCODING 17844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FAA0 +AEC0 +AA80 +FAC0 +26A0 +2A80 +3AA0 +ECA0 +0460 +ENDCHAR +STARTCHAR U_45B5 +ENCODING 17845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +2080 +FBE0 +AAA0 +AAA0 +FBE0 +2080 +28A0 +38E0 +CB20 +ENDCHAR +STARTCHAR U_45B6 +ENCODING 17846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F900 +AB00 +ACA0 +F9C0 +2680 +29C0 +3EA0 +E880 +0300 +ENDCHAR +STARTCHAR U_45B7 +ENCODING 17847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2180 +F980 +AE60 +A900 +FFE0 +2280 +2FE0 +3AA0 +CAE0 +0080 +ENDCHAR +STARTCHAR U_45B8 +ENCODING 17848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A80 +1240 +FFE0 +1540 +F980 +2660 +7F80 +4480 +7F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45B9 +ENCODING 17849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +26E0 +FA80 +A800 +AFC0 +F900 +2100 +2FE0 +3900 +C900 +0100 +ENDCHAR +STARTCHAR U_45BA +ENCODING 17850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27C0 +4440 +D380 +5C60 +5100 +57C0 +5540 +57C0 +4140 +4FE0 +ENDCHAR +STARTCHAR U_45BB +ENCODING 17851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +AA00 +AC40 +FFE0 +2540 +2D40 +3D40 +C540 +0960 +ENDCHAR +STARTCHAR U_45BC +ENCODING 17852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +22E0 +FAA0 +AFA0 +AAA0 +FFA0 +22A0 +2CA0 +3DE0 +C780 +0080 +ENDCHAR +STARTCHAR U_45BD +ENCODING 17853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +1120 +FD20 +3920 +D520 +0C60 +3F80 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45BE +ENCODING 17854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +27E0 +FC20 +ABC0 +A800 +FFE0 +2280 +3A80 +CAA0 +0460 +ENDCHAR +STARTCHAR U_45BF +ENCODING 17855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +23E0 +FCA0 +70A0 +AB20 +2440 +3F80 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45C0 +ENCODING 17856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +FFE0 +AA40 +AE20 +FBC0 +2640 +3980 +C980 +0660 +ENDCHAR +STARTCHAR U_45C1 +ENCODING 17857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2280 +FC40 +AFE0 +A840 +FF40 +2540 +3F40 +C840 +00C0 +ENDCHAR +STARTCHAR U_45C2 +ENCODING 17858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2080 +FBE0 +AAA0 +AAC0 +FB60 +2200 +2AC0 +3B40 +CD40 +0660 +ENDCHAR +STARTCHAR U_45C3 +ENCODING 17859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +27E0 +F940 +A880 +AF60 +F940 +27E0 +3940 +C8A0 +0760 +ENDCHAR +STARTCHAR U_45C4 +ENCODING 17860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2C60 +2280 +FB80 +AC60 +ABC0 +FC00 +27E0 +3C80 +C480 +0880 +ENDCHAR +STARTCHAR U_45C5 +ENCODING 17861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2200 +FBC0 +AA00 +ABC0 +FA00 +27E0 +2AA0 +3AC0 +CA40 +0320 +ENDCHAR +STARTCHAR U_45C6 +ENCODING 17862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +27E0 +FC20 +ABC0 +AA40 +FBC0 +2200 +3BE0 +CA20 +03E0 +ENDCHAR +STARTCHAR U_45C7 +ENCODING 17863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +AD60 +ABA0 +FFE0 +2120 +2BA0 +3D60 +C920 +00C0 +ENDCHAR +STARTCHAR U_45C8 +ENCODING 17864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +27E0 +FA00 +A9C0 +AA40 +FBC0 +2240 +3BC0 +EA40 +03C0 +ENDCHAR +STARTCHAR U_45C9 +ENCODING 17865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +AA40 +ABC0 +F800 +27E0 +2C20 +3FE0 +C420 +07E0 +ENDCHAR +STARTCHAR U_45CA +ENCODING 17866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +22A0 +FAC0 +A880 +A940 +FE20 +2080 +2AA0 +3AC0 +E940 +0620 +ENDCHAR +STARTCHAR U_45CB +ENCODING 17867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +FA40 +ABC0 +AA40 +FBC0 +2080 +2FE0 +39C0 +CEA0 +0080 +ENDCHAR +STARTCHAR U_45CC +ENCODING 17868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +AA40 +ABC0 +FA80 +27E0 +2880 +3BC0 +C880 +07E0 +ENDCHAR +STARTCHAR U_45CD +ENCODING 17869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1200 +FFE0 +1480 +6F00 +14C0 +7F80 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45CE +ENCODING 17870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2280 +FFE0 +AAA0 +AFE0 +F900 +27C0 +3900 +C900 +0FE0 +ENDCHAR +STARTCHAR U_45CF +ENCODING 17871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FD20 +AD40 +AB80 +FA40 +2420 +2BC0 +3A40 +E980 +0660 +ENDCHAR +STARTCHAR U_45D0 +ENCODING 17872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FC80 +43E0 +7AA0 +89E0 +0400 +3F80 +2480 +3F80 +0480 +7FC0 +ENDCHAR +STARTCHAR U_45D1 +ENCODING 17873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +AA40 +ABC0 +F900 +A080 +27E0 +3A40 +E940 +07E0 +ENDCHAR +STARTCHAR U_45D2 +ENCODING 17874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +27E0 +FA80 +AA80 +AAA0 +FEC0 +2280 +3A80 +EA80 +07E0 +ENDCHAR +STARTCHAR U_45D3 +ENCODING 17875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +FAA0 +AAA0 +AD20 +FAC0 +2100 +28A0 +3AA0 +EA40 +01C0 +ENDCHAR +STARTCHAR U_45D4 +ENCODING 17876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22C0 +2240 +FFE0 +AA80 +AAE0 +FB40 +2240 +2BE0 +3A40 +EAC0 +0320 +ENDCHAR +STARTCHAR U_45D5 +ENCODING 17877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A020 +7BC0 +CA40 +35E0 +FF80 +2480 +3F80 +0480 +7FC0 +ENDCHAR +STARTCHAR U_45D6 +ENCODING 17878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +2540 +F940 +AFE0 +A920 +FFC0 +2540 +3D40 +E5C0 +0100 +ENDCHAR +STARTCHAR U_45D7 +ENCODING 17879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +23E0 +2540 +F800 +AFE0 +A940 +F940 +2FE0 +3940 +EA40 +0240 +ENDCHAR +STARTCHAR U_45D8 +ENCODING 17880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2100 +FFE0 +A900 +AA40 +FBC0 +2000 +3FC0 +E540 +0FE0 +ENDCHAR +STARTCHAR U_45D9 +ENCODING 17881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +9120 +7FC0 +1100 +F5E0 +3F80 +64C0 +BFA0 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45DA +ENCODING 17882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20A0 +27E0 +FAA0 +ABE0 +AAA0 +FBE0 +22A0 +27E0 +3940 +C840 +00C0 +ENDCHAR +STARTCHAR U_45DB +ENCODING 17883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +25E0 +28A0 +FA40 +ABA0 +AAE0 +FAA0 +2AE0 +3AA0 +E8E0 +08A0 +ENDCHAR +STARTCHAR U_45DC +ENCODING 17884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2260 +2360 +FAA0 +AB60 +A800 +FBE0 +2AA0 +3BE0 +EAA0 +03E0 +ENDCHAR +STARTCHAR U_45DD +ENCODING 17885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +03E0 +FEA0 +33E0 +5AA0 +95E0 +3F80 +2480 +3F80 +0480 +7FC0 +ENDCHAR +STARTCHAR U_45DE +ENCODING 17886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +1100 +E0E0 +2080 +FBE0 +AAA0 +FBE0 +28A0 +FBE0 +ENDCHAR +STARTCHAR U_45DF +ENCODING 17887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A240 +FDE0 +9240 +FD80 +A660 +FF80 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45E0 +ENCODING 17888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +44A0 +7AC0 +4B80 +94E0 +3F80 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_45E1 +ENCODING 17889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +22C0 +FA80 +AFE0 +AA00 +FBE0 +2200 +2BE0 +FAA0 +0860 +ENDCHAR +STARTCHAR U_45E2 +ENCODING 17890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2140 +25E0 +FA40 +AFE0 +AA00 +FAE0 +22A0 +3AE0 +EF00 +00E0 +ENDCHAR +STARTCHAR U_45E3 +ENCODING 17891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +1900 +1F00 +2080 +FBE0 +AAA0 +FBE0 +28A0 +FBE0 +ENDCHAR +STARTCHAR U_45E4 +ENCODING 17892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2940 +FFE0 +A940 +AFC0 +F940 +2FC0 +2D40 +F7C0 +1540 +ENDCHAR +STARTCHAR U_45E5 +ENCODING 17893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +3940 +2540 +FAA0 +A880 +AA80 +FAE0 +2A80 +3A80 +EB80 +0C60 +ENDCHAR +STARTCHAR U_45E6 +ENCODING 17894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +24A0 +FA40 +A8A0 +AFE0 +FA40 +22E0 +2A40 +3AE0 +EE40 +01E0 +ENDCHAR +STARTCHAR U_45E7 +ENCODING 17895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23E0 +2280 +FBE0 +AAA0 +ABE0 +FAA0 +23E0 +3AA0 +EDC0 +06A0 +ENDCHAR +STARTCHAR U_45E8 +ENCODING 17896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21C0 +FA40 +AFE0 +AAA0 +FBE0 +22A0 +2BE0 +3800 +EAA0 +02A0 +ENDCHAR +STARTCHAR U_45E9 +ENCODING 17897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +2FE0 +FA80 +AB80 +AAA0 +FFA0 +2AC0 +3F40 +CAA0 +1320 +ENDCHAR +STARTCHAR U_45EA +ENCODING 17898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4880 +7FE0 +4880 +4F80 +5540 +AAA0 +3F80 +24C0 +7FE0 +ENDCHAR +STARTCHAR U_45EB +ENCODING 17899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +FA80 +AA80 +AFE0 +FA80 +2BC0 +3EA0 +EA80 +1280 +ENDCHAR +STARTCHAR U_45EC +ENCODING 17900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FA80 +2D60 +3100 +CFE0 +0400 +3F80 +2480 +3F80 +0440 +7FE0 +ENDCHAR +STARTCHAR U_45ED +ENCODING 17901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EA0 +2AC0 +24A0 +FC40 +ABA0 +A800 +FFC0 +2440 +2FC0 +FA80 +0FE0 +ENDCHAR +STARTCHAR U_45EE +ENCODING 17902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +FBA0 +AD40 +ABA0 +FD40 +23A0 +3900 +EA80 +0C60 +ENDCHAR +STARTCHAR U_45EF +ENCODING 17903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2140 +25E0 +FB40 +A9E0 +AF40 +F5E0 +2540 +3DE0 +E600 +09E0 +ENDCHAR +STARTCHAR U_45F0 +ENCODING 17904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +22A0 +27E0 +FAA0 +ABE0 +AA20 +FBE0 +2220 +2BE0 +3D40 +CA20 +ENDCHAR +STARTCHAR U_45F1 +ENCODING 17905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2280 +FFE0 +A900 +ABC0 +F900 +27E0 +2280 +3440 +C820 +ENDCHAR +STARTCHAR U_45F2 +ENCODING 17906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2380 +27E0 +FB80 +AD40 +AAE0 +FD40 +2740 +29E0 +3A40 +CC40 +ENDCHAR +STARTCHAR U_45F3 +ENCODING 17907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2520 +FFE0 +A900 +AFE0 +FD20 +27E0 +2940 +3E60 +CBC0 +ENDCHAR +STARTCHAR U_45F4 +ENCODING 17908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +2940 +FFE0 +AA80 +ABE0 +FC80 +2280 +2BE0 +3A00 +CDE0 +ENDCHAR +STARTCHAR U_45F5 +ENCODING 17909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +23E0 +FAA0 +ABE0 +AAA0 +FFE0 +22A0 +2BE0 +3AA0 +CFE0 +ENDCHAR +STARTCHAR U_45F6 +ENCODING 17910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2440 +FBC0 +AA40 +ABE0 +FAA0 +2560 +2A20 +3BA0 +C840 +ENDCHAR +STARTCHAR U_45F7 +ENCODING 17911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +2140 +FFE0 +AA20 +ABE0 +FA20 +23E0 +2CA0 +3A40 +CBC0 +ENDCHAR +STARTCHAR U_45F8 +ENCODING 17912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +57E0 +F480 +2760 +7FC0 +A440 +3FC0 +0440 +7FA0 +ENDCHAR +STARTCHAR U_45F9 +ENCODING 17913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +27E0 +FA40 +AD80 +AEE0 +FA40 +26E0 +2920 +3A40 +CBC0 +ENDCHAR +STARTCHAR U_45FA +ENCODING 17914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +71E0 +1700 +61C0 +1500 +67E0 +5080 +FFE0 +AAA0 +FBE0 +2480 +FFE0 +ENDCHAR +STARTCHAR U_45FB +ENCODING 17915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +2940 +FEE0 +AAA0 +AEA0 +FAA0 +2EA0 +28E0 +3E80 +CA80 +ENDCHAR +STARTCHAR U_45FC +ENCODING 17916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F00 +2100 +FFE0 +AD60 +ABA0 +FFE0 +2100 +2FE0 +3540 +CAA0 +ENDCHAR +STARTCHAR U_45FD +ENCODING 17917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +5480 +EFE0 +5480 +EFE0 +2480 +7FE0 +2440 +3FC0 +0480 +FFE0 +ENDCHAR +STARTCHAR U_45FE +ENCODING 17918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +27E0 +FA40 +ACA0 +AA40 +FCA0 +26E0 +2800 +3D40 +CAA0 +ENDCHAR +STARTCHAR U_45FF +ENCODING 17919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2520 +FA40 +ABC0 +A800 +FBE0 +22A0 +2FE0 +3880 +CB80 +ENDCHAR +STARTCHAR U_4600 +ENCODING 17920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F00 +2100 +3F80 +2080 +3F80 +2900 +7FE0 +4920 +7FE0 +C920 +ENDCHAR +STARTCHAR U_4601 +ENCODING 17921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D40 +1120 +FFE0 +2920 +7F40 +C920 +7FC0 +4840 +7FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_4602 +ENCODING 17922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27C0 +22A0 +FFE0 +AA80 +AFA0 +FAA0 +2740 +2A40 +3AA0 +CF20 +ENDCHAR +STARTCHAR U_4603 +ENCODING 17923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +2D60 +FBA0 +AFE0 +A900 +FFE0 +2540 +2FE0 +3100 +CFE0 +ENDCHAR +STARTCHAR U_4604 +ENCODING 17924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +3F80 +0500 +FFE0 +1900 +2900 +FFE0 +54A0 +7FE0 +14A0 +FBC0 +ENDCHAR +STARTCHAR U_4605 +ENCODING 17925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22C0 +4B00 +FBE0 +4A40 +7B80 +4A20 +7BE0 +5540 +7BC0 +1520 +FBC0 +ENDCHAR +STARTCHAR U_4606 +ENCODING 17926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2920 +FFC0 +A900 +AFC0 +F900 +27C0 +2940 +3520 +D7A0 +ENDCHAR +STARTCHAR U_4607 +ENCODING 17927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +FFE0 +1500 +3580 +FBE0 +AAA0 +FBE0 +24C0 +FBA0 +ENDCHAR +STARTCHAR U_4608 +ENCODING 17928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A80 +2FC0 +FAE0 +AFA0 +AAA0 +FFA0 +2AA0 +2BA0 +38A0 +D160 +ENDCHAR +STARTCHAR U_4609 +ENCODING 17929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +1100 +7F80 +9560 +7FC0 +5540 +7FC0 +1100 +FFE0 +ENDCHAR +STARTCHAR U_460A +ENCODING 17930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +2AA0 +FFE0 +AD40 +FFE0 +2680 +2DA0 +34A0 +C8C0 +1320 +ENDCHAR +STARTCHAR U_460B +ENCODING 17931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2580 +2AA0 +2FE0 +FA80 +AF80 +AAA0 +FFA0 +2240 +3F40 +32C0 +CF20 +ENDCHAR +STARTCHAR U_460C +ENCODING 17932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9100 +BFC0 +9100 +BFC0 +A880 +FFE0 +AAA0 +FBE0 +2480 +FBA0 +ENDCHAR +STARTCHAR U_460D +ENCODING 17933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2080 +3F80 +2480 +FFE0 +9120 +7FC0 +5540 +7FC0 +D560 +ENDCHAR +STARTCHAR U_460E +ENCODING 17934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2BA0 +2D40 +FAA0 +AFC0 +A840 +FFC0 +2400 +2FE0 +3820 +C8E0 +ENDCHAR +STARTCHAR U_460F +ENCODING 17935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +20A0 +FEA0 +AAC0 +AAA0 +AAA0 +AAA0 +AFC0 +F080 +0080 +0080 +ENDCHAR +STARTCHAR U_4610 +ENCODING 17936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +2140 +4140 +FD40 +AD40 +D760 +A540 +FF40 +0140 +0240 +04C0 +ENDCHAR +STARTCHAR U_4611 +ENCODING 17937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +2080 +2380 +4080 +FCA0 +AFC0 +D5C0 +A6A0 +FCA0 +0080 +0180 +ENDCHAR +STARTCHAR U_4612 +ENCODING 17938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2140 +4220 +FFE0 +AD40 +D620 +A5C0 +FF40 +0080 +0140 +0620 +ENDCHAR +STARTCHAR U_4613 +ENCODING 17939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +21C0 +4240 +FC80 +AB60 +AA20 +AB60 +BE20 +C220 +03E0 +0220 +ENDCHAR +STARTCHAR U_4614 +ENCODING 17940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +23E0 +4220 +FDC0 +AF40 +D480 +AF60 +F1C0 +0140 +0140 +01C0 +ENDCHAR +STARTCHAR U_4615 +ENCODING 17941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +44E0 +9E00 +2000 +5DE0 +D440 +5440 +5540 +5640 +6440 +40C0 +ENDCHAR +STARTCHAR U_4616 +ENCODING 17942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3000 +5EE0 +9400 +24E0 +5F40 +C440 +5540 +5540 +5F40 +4140 +40C0 +ENDCHAR +STARTCHAR U_4617 +ENCODING 17943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +55E0 +9F00 +2000 +5FE0 +CA40 +5E40 +4A40 +5F40 +5540 +64C0 +ENDCHAR +STARTCHAR U_4618 +ENCODING 17944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +5EE0 +A400 +5E00 +C5E0 +5E40 +4A40 +5E40 +4A40 +5F40 +65C0 +ENDCHAR +STARTCHAR U_4619 +ENCODING 17945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +5EE0 +8A00 +7FE0 +5240 +DE40 +4440 +7F40 +4440 +5F40 +55C0 +ENDCHAR +STARTCHAR U_461A +ENCODING 17946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1440 +3280 +D180 +1860 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_461B +ENCODING 17947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2780 +F480 +1480 +2C80 +7480 +AC80 +2480 +2480 +24A0 +2860 +ENDCHAR +STARTCHAR U_461C +ENCODING 17948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +F7E0 +14A0 +2CA0 +74A0 +ACA0 +24E0 +24A0 +2080 +2080 +ENDCHAR +STARTCHAR U_461D +ENCODING 17949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2140 +F120 +17E0 +2900 +7100 +A900 +2080 +20A0 +2060 +2020 +ENDCHAR +STARTCHAR U_461E +ENCODING 17950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2040 +F240 +1240 +2A40 +73E0 +A820 +2020 +2FA0 +2020 +20C0 +ENDCHAR +STARTCHAR U_461F +ENCODING 17951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +F140 +1140 +2FC0 +7500 +AFE0 +2120 +2120 +21C0 +2100 +ENDCHAR +STARTCHAR U_4620 +ENCODING 17952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +FFE0 +1400 +2540 +6D40 +B540 +2C80 +2480 +2940 +3220 +ENDCHAR +STARTCHAR U_4621 +ENCODING 17953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +FBC0 +8200 +9A20 +69E0 +0400 +FFE0 +1440 +3280 +D100 +18E0 +ENDCHAR +STARTCHAR U_4622 +ENCODING 17954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +F7E0 +1420 +2800 +77E0 +A880 +2080 +2080 +2080 +2380 +ENDCHAR +STARTCHAR U_4623 +ENCODING 17955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2280 +F280 +1280 +2BE0 +7280 +AA80 +2A80 +2A80 +2BA0 +2C60 +ENDCHAR +STARTCHAR U_4624 +ENCODING 17956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2120 +F7E0 +1100 +2B80 +7380 +AD40 +2540 +2920 +2100 +2100 +ENDCHAR +STARTCHAR U_4625 +ENCODING 17957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +22A0 +F3E0 +12A0 +2AA0 +73E0 +A880 +2080 +2080 +2080 +2080 +ENDCHAR +STARTCHAR U_4626 +ENCODING 17958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +F420 +17E0 +2C00 +7500 +ADE0 +2500 +2500 +2520 +28E0 +ENDCHAR +STARTCHAR U_4627 +ENCODING 17959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F100 +27C0 +3540 +6540 +BFE0 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4628 +ENCODING 17960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +F7E0 +1240 +2420 +7240 +A240 +3180 +2180 +2240 +2C20 +ENDCHAR +STARTCHAR U_4629 +ENCODING 17961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +F7E0 +1820 +27A0 +74A0 +A7A0 +34A0 +27A0 +2020 +20C0 +ENDCHAR +STARTCHAR U_462A +ENCODING 17962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +FFE0 +1200 +2440 +77C0 +A280 +3280 +2280 +24A0 +2460 +ENDCHAR +STARTCHAR U_462B +ENCODING 17963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +FDE0 +4920 +49E0 +3120 +4800 +FFE0 +1240 +E180 +2880 +3060 +ENDCHAR +STARTCHAR U_462C +ENCODING 17964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +20A0 +F080 +1FE0 +2480 +7FA0 +A4A0 +34C0 +28A0 +2160 +2620 +ENDCHAR +STARTCHAR U_462D +ENCODING 17965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +F100 +1240 +27E0 +7080 +A080 +33E0 +2080 +2080 +27E0 +ENDCHAR +STARTCHAR U_462E +ENCODING 17966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +2480 +2480 +5540 +FFE0 +2480 +2300 +2900 +30E0 +ENDCHAR +STARTCHAR U_462F +ENCODING 17967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +22A0 +F1C0 +13E0 +2A20 +73E0 +AA20 +23E0 +2220 +2220 +2260 +ENDCHAR +STARTCHAR U_4630 +ENCODING 17968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8060 +41C0 +FC40 +4440 +6960 +C940 +6540 +4540 +55E0 +4800 +57E0 +ENDCHAR +STARTCHAR U_4631 +ENCODING 17969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +4E40 +3180 +DF60 +1100 +1F00 +3240 +D180 +1860 +ENDCHAR +STARTCHAR U_4632 +ENCODING 17970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2040 +F3C0 +1040 +27E0 +7420 +A3C0 +3240 +2180 +2180 +2660 +ENDCHAR +STARTCHAR U_4633 +ENCODING 17971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +F440 +2820 +37C0 +6100 +B100 +27C0 +2920 +2540 +2FE0 +ENDCHAR +STARTCHAR U_4634 +ENCODING 17972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +E540 +2520 +5E20 +64A0 +C480 +6E80 +5480 +4540 +4520 +45E0 +ENDCHAR +STARTCHAR U_4635 +ENCODING 17973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2040 +F3C0 +1040 +27E0 +7080 +A6A0 +31C0 +26A0 +2080 +2180 +ENDCHAR +STARTCHAR U_4636 +ENCODING 17974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +F080 +2100 +2D60 +7BA0 +A920 +3BA0 +2D60 +2920 +2FE0 +ENDCHAR +STARTCHAR U_4637 +ENCODING 17975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +24A0 +F2A0 +12C0 +27E0 +74A0 +A5A0 +36E0 +24A0 +24A0 +24E0 +ENDCHAR +STARTCHAR U_4638 +ENCODING 17976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +F7E0 +1280 +2CE0 +75A0 +A760 +3520 +24C0 +24C0 +2720 +ENDCHAR +STARTCHAR U_4639 +ENCODING 17977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +F7E0 +2240 +3240 +65A0 +B100 +27E0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_463A +ENCODING 17978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +F7E0 +2420 +33C0 +6080 +B280 +22C0 +2280 +2780 +28E0 +ENDCHAR +STARTCHAR U_463B +ENCODING 17979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F240 +27E0 +3000 +63C0 +B240 +23C0 +2240 +23C0 +2440 +ENDCHAR +STARTCHAR U_463C +ENCODING 17980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +FFE0 +2820 +35C0 +6740 +B540 +2BC0 +2100 +2320 +2CE0 +ENDCHAR +STARTCHAR U_463D +ENCODING 17981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +2460 +F420 +2760 +3420 +67E0 +B280 +2280 +2280 +24A0 +2860 +ENDCHAR +STARTCHAR U_463E +ENCODING 17982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +F7E0 +2420 +2BC0 +7240 +ABC0 +2200 +23E0 +2220 +23E0 +ENDCHAR +STARTCHAR U_463F +ENCODING 17983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +F820 +2FE0 +3880 +6AA0 +BBE0 +2880 +2AA0 +2AA0 +33E0 +ENDCHAR +STARTCHAR U_4640 +ENCODING 17984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2EE0 +FAA0 +2AA0 +2EE0 +7AA0 +AEE0 +3AA0 +2AA0 +2AA0 +3760 +ENDCHAR +STARTCHAR U_4641 +ENCODING 17985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2120 +F7E0 +1140 +20A0 +7760 +A140 +37E0 +2140 +2180 +2660 +ENDCHAR +STARTCHAR U_4642 +ENCODING 17986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2440 +FA20 +2280 +3440 +67C0 +B100 +20A0 +2A20 +2A40 +29C0 +ENDCHAR +STARTCHAR U_4643 +ENCODING 17987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +F200 +27C0 +3880 +67E0 +B240 +23C0 +2240 +23C0 +2440 +ENDCHAR +STARTCHAR U_4644 +ENCODING 17988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2100 +F7E0 +2100 +3300 +6560 +B520 +2760 +2520 +27E0 +2420 +ENDCHAR +STARTCHAR U_4645 +ENCODING 17989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +F280 +2FE0 +3AA0 +6FE0 +B240 +2FE0 +2440 +2380 +2C60 +ENDCHAR +STARTCHAR U_4646 +ENCODING 17990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EA0 +2AC0 +F6A0 +1440 +2840 +77A0 +A100 +3FE0 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4647 +ENCODING 17991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +F200 +2FE0 +3AA0 +6AA0 +B100 +2FE0 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4648 +ENCODING 17992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23C0 +F440 +2FE0 +3500 +65E0 +B680 +27E0 +2480 +2540 +2620 +ENDCHAR +STARTCHAR U_4649 +ENCODING 17993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2480 +F7E0 +2480 +35E0 +6520 +B5E0 +2520 +25E0 +2520 +29E0 +ENDCHAR +STARTCHAR U_464A +ENCODING 17994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2FE0 +F540 +2FE0 +3920 +67E0 +B540 +2540 +2540 +25C0 +2100 +ENDCHAR +STARTCHAR U_464B +ENCODING 17995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F820 +27C0 +3000 +67C0 +B540 +2640 +27C0 +2000 +2FE0 +ENDCHAR +STARTCHAR U_464C +ENCODING 17996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +F540 +2FE0 +3000 +67C0 +B440 +2540 +2540 +2280 +2C60 +ENDCHAR +STARTCHAR U_464D +ENCODING 17997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2060 +F640 +2D60 +3520 +6FC0 +B560 +2540 +2560 +2940 +3120 +ENDCHAR +STARTCHAR U_464E +ENCODING 17998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2520 +F100 +2240 +3780 +6240 +B7E0 +2100 +2FE0 +2240 +2C20 +ENDCHAR +STARTCHAR U_464F +ENCODING 17999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2FE0 +F540 +27C0 +3540 +67C0 +B540 +2FE0 +2440 +2240 +20C0 +ENDCHAR +STARTCHAR U_4650 +ENCODING 18000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2000 +F7C0 +1440 +2FC0 +7000 +AFE0 +2AA0 +2FE0 +2920 +2960 +ENDCHAR +STARTCHAR U_4651 +ENCODING 18001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F000 +13C0 +2A40 +77E0 +AA40 +23C0 +26A0 +2A40 +2320 +ENDCHAR +STARTCHAR U_4652 +ENCODING 18002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +FFE0 +1240 +2F80 +7440 +AFC0 +2540 +27C0 +2540 +27C0 +ENDCHAR +STARTCHAR U_4653 +ENCODING 18003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +FAA0 +2FE0 +3100 +67C0 +B100 +2FE0 +2200 +2440 +27E0 +ENDCHAR +STARTCHAR U_4654 +ENCODING 18004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2400 +F5C0 +1540 +2DC0 +7400 +AFE0 +24A0 +27E0 +2400 +27E0 +ENDCHAR +STARTCHAR U_4655 +ENCODING 18005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2940 +F2A0 +14A0 +2800 +7880 +AAE0 +3A80 +2A80 +2B80 +2C60 +ENDCHAR +STARTCHAR U_4656 +ENCODING 18006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2920 +FFE0 +2000 +3EE0 +6AA0 +BEE0 +2AA0 +2EE0 +2AA0 +3360 +ENDCHAR +STARTCHAR U_4657 +ENCODING 18007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F440 +2FE0 +7920 +AFE0 +3920 +2BA0 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_4658 +ENCODING 18008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +80A0 +40A0 +EFE0 +2A80 +5B80 +EAA0 +DFA0 +4A40 +4F40 +4AA0 +5120 +ENDCHAR +STARTCHAR U_4659 +ENCODING 18009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +F7C0 +3EA0 +35C0 +6FA0 +A5C0 +2680 +2BE0 +2880 +3080 +ENDCHAR +STARTCHAR U_465A +ENCODING 18010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F00 +2500 +3F80 +2000 +3FC0 +5440 +FFE0 +2240 +E980 +30E0 +ENDCHAR +STARTCHAR U_465B +ENCODING 18011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +FFE0 +2440 +3FE0 +6440 +B7C0 +2320 +2CC0 +2440 +2620 +ENDCHAR +STARTCHAR U_465C +ENCODING 18012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2340 +F9C0 +26A0 +31C0 +6E80 +B5C0 +2480 +25E0 +2680 +39E0 +ENDCHAR +STARTCHAR U_465D +ENCODING 18013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2100 +FBC0 +2140 +FB40 +54E0 +FA40 +2180 +EC80 +3060 +ENDCHAR +STARTCHAR U_465E +ENCODING 18014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F40 +25A0 +F240 +2420 +3FE0 +6000 +B7C0 +2440 +27C0 +2280 +2FE0 +ENDCHAR +STARTCHAR U_465F +ENCODING 18015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +FFA0 +2AA0 +3FE0 +6AA0 +BBA0 +2D20 +2FE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_4660 +ENCODING 18016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +5080 +FA80 +34E0 +5F20 +F540 +D540 +7F40 +54A0 +54A0 +6920 +ENDCHAR +STARTCHAR U_4661 +ENCODING 18017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +F540 +27C0 +5100 +6FE0 +B440 +2540 +2540 +27C0 +2C60 +ENDCHAR +STARTCHAR U_4662 +ENCODING 18018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4280 +FFE0 +2920 +5D60 +6BA0 +DFE0 +4440 +47C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_4663 +ENCODING 18019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +FFE0 +1280 +2C60 +7280 +6EE0 +B280 +2EE0 +2280 +2480 +ENDCHAR +STARTCHAR U_4664 +ENCODING 18020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +87C0 +5440 +F5C0 +2540 +5FE0 +6820 +CBA0 +6AA0 +4BA0 +4820 +5FE0 +ENDCHAR +STARTCHAR U_4665 +ENCODING 18021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +EFE0 +2D60 +5BA0 +7280 +DD60 +4780 +4080 +4300 +4080 +ENDCHAR +STARTCHAR U_4666 +ENCODING 18022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +F280 +2FE0 +5AA0 +6FE0 +D220 +47E0 +5C80 +4300 +5C00 +ENDCHAR +STARTCHAR U_4667 +ENCODING 18023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +FFE0 +2540 +57C0 +67C0 +B100 +27C0 +2100 +2FE0 +2AA0 +ENDCHAR +STARTCHAR U_4668 +ENCODING 18024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +F7C0 +2540 +5FE0 +6380 +BD60 +2320 +2D40 +2480 +2660 +ENDCHAR +STARTCHAR U_4669 +ENCODING 18025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4FE0 +F440 +2FE0 +5820 +E7C0 +D240 +4D80 +4340 +4D20 +4300 +ENDCHAR +STARTCHAR U_466A +ENCODING 18026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +2480 +FDE0 +76C0 +ADA0 +FFE0 +2480 +FFE0 +1280 +3500 +D8C0 +ENDCHAR +STARTCHAR U_466B +ENCODING 18027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +2EC0 +F2A0 +2FE0 +2540 +57C0 +6540 +D7C0 +4280 +4FE0 +4440 +ENDCHAR +STARTCHAR U_466C +ENCODING 18028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +FEE0 +2AA0 +2EE0 +5440 +62A0 +DFE0 +4480 +4300 +4CE0 +ENDCHAR +STARTCHAR U_466D +ENCODING 18029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +FAA0 +2FC0 +2280 +5FE0 +6480 +DB40 +45A0 +4500 +4BC0 +ENDCHAR +STARTCHAR U_466E +ENCODING 18030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +F480 +2EE0 +2AA0 +5EE0 +67E0 +D880 +4BE0 +4880 +4BE0 +ENDCHAR +STARTCHAR U_466F +ENCODING 18031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2FE0 +FA80 +2EC0 +2B20 +57E0 +6480 +D780 +45C0 +4700 +49E0 +ENDCHAR +STARTCHAR U_4670 +ENCODING 18032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +FF20 +25E0 +5B40 +7540 +DFE0 +6540 +5FE0 +5540 +5F40 +51E0 +ENDCHAR +STARTCHAR U_4671 +ENCODING 18033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +FFE0 +2940 +3FE0 +6AA0 +BFE0 +2AA0 +2FA0 +2AA0 +3F40 +ENDCHAR +STARTCHAR U_4672 +ENCODING 18034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +4A40 +7FC0 +0400 +FFE0 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_4673 +ENCODING 18035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +4A40 +7FC0 +4440 +2480 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_4674 +ENCODING 18036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7FC0 +5140 +7FC0 +0400 +FFE0 +2040 +DFA0 +1080 +1FE0 +ENDCHAR +STARTCHAR U_4675 +ENCODING 18037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +0400 +FFE0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_4676 +ENCODING 18038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FD00 +2FE0 +2920 +FE00 +AAA0 +AEA0 +C2C0 +8240 +FE40 +8320 +ENDCHAR +STARTCHAR U_4677 +ENCODING 18039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2580 +2A80 +3480 +3F80 +20A0 +C160 +7F80 +1100 +0900 +0300 +ENDCHAR +STARTCHAR U_4678 +ENCODING 18040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +9080 +FFE0 +9080 +F480 +9280 +F280 +5080 +51A0 +9020 +9FE0 +ENDCHAR +STARTCHAR U_4679 +ENCODING 18041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +5240 +53C0 +5240 +FBC0 +5240 +53C0 +5280 +5280 +94A0 +9860 +ENDCHAR +STARTCHAR U_467A +ENCODING 18042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +A7C0 +AC40 +7440 +27C0 +2440 +37C0 +4A80 +44A0 +9860 +ENDCHAR +STARTCHAR U_467B +ENCODING 18043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +3A40 +E3C0 +A240 +A3C0 +FA40 +2BC0 +6A80 +BA80 +24A0 +2860 +ENDCHAR +STARTCHAR U_467C +ENCODING 18044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FA40 +2BC0 +2A40 +4A40 +93C0 +7A40 +4BC0 +4A80 +7AA0 +4C60 +ENDCHAR +STARTCHAR U_467D +ENCODING 18045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +4A40 +3180 +DF60 +1500 +1B00 +1500 +1900 +1F40 +61C0 +ENDCHAR +STARTCHAR U_467E +ENCODING 18046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2240 +FA40 +8BC0 +4240 +7BC0 +4240 +43C0 +4A80 +3AA0 +0C60 +ENDCHAR +STARTCHAR U_467F +ENCODING 18047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +77C0 +2440 +27C0 +FC40 +27C0 +6440 +77C0 +AA80 +24A0 +28E0 +ENDCHAR +STARTCHAR U_4680 +ENCODING 18048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7BC0 +4A40 +6BC0 +5E40 +EBC0 +6A40 +5BC0 +4980 +5AA0 +8CE0 +ENDCHAR +STARTCHAR U_4681 +ENCODING 18049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +43C0 +FA40 +8BC0 +EA40 +ABC0 +AA40 +EBC0 +8980 +9AA0 +8CE0 +ENDCHAR +STARTCHAR U_4682 +ENCODING 18050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +7440 +27C0 +FC40 +57C0 +5440 +DFC0 +5280 +94A0 +B8E0 +ENDCHAR +STARTCHAR U_4683 +ENCODING 18051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7780 +4480 +F780 +9480 +D780 +D480 +9780 +9300 +F520 +09E0 +ENDCHAR +STARTCHAR U_4684 +ENCODING 18052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +0A40 +7BC0 +0A40 +FFC0 +1240 +57C0 +3980 +56A0 +92A0 +3460 +ENDCHAR +STARTCHAR U_4685 +ENCODING 18053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +FC40 +27C0 +7440 +FFC0 +2440 +77C0 +AA80 +24A0 +28E0 +ENDCHAR +STARTCHAR U_4686 +ENCODING 18054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +FF80 +5480 +2780 +7480 +5780 +5480 +FF80 +2300 +5520 +89E0 +ENDCHAR +STARTCHAR U_4687 +ENCODING 18055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +77C0 +AC40 +37C0 +4440 +F7C0 +5440 +77C0 +5280 +74A0 +08E0 +ENDCHAR +STARTCHAR U_4688 +ENCODING 18056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F800 +23C0 +FA40 +ABC0 +DA40 +FBC0 +2240 +73C0 +2180 +3AA0 +E4E0 +ENDCHAR +STARTCHAR U_4689 +ENCODING 18057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +FDC0 +5540 +F5C0 +5540 +EDC0 +4140 +FDC0 +3180 +4AA0 +84E0 +ENDCHAR +STARTCHAR U_468A +ENCODING 18058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8BC0 +5240 +FBC0 +5240 +8BC0 +FA40 +ABC0 +A980 +AD80 +FAA0 +84E0 +ENDCHAR +STARTCHAR U_468B +ENCODING 18059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +73C0 +5240 +FBC0 +8A40 +FBC0 +8A40 +FA40 +8BC0 +F980 +52A0 +8CE0 +ENDCHAR +STARTCHAR U_468C +ENCODING 18060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7BC0 +4A40 +7BC0 +4A40 +FFC0 +2240 +73C0 +A980 +72A0 +24E0 +ENDCHAR +STARTCHAR U_468D +ENCODING 18061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +73C0 +2240 +73C0 +2240 +FBC0 +5240 +73C0 +5180 +72A0 +8CE0 +ENDCHAR +STARTCHAR U_468E +ENCODING 18062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7DC0 +1140 +7DC0 +1140 +FFC0 +2940 +C7C0 +6C80 +45A0 +7EE0 +ENDCHAR +STARTCHAR U_468F +ENCODING 18063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +ABC0 +FA40 +73C0 +AA40 +4BC0 +FE40 +ABC0 +FD80 +4AA0 +8CE0 +ENDCHAR +STARTCHAR U_4690 +ENCODING 18064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8000 +FDC0 +5540 +F5C0 +5D40 +A1C0 +7940 +49C0 +7880 +49A0 +7AE0 +ENDCHAR +STARTCHAR U_4691 +ENCODING 18065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FBC0 +AA40 +FBC0 +5240 +73C0 +5240 +73C0 +5180 +72A0 +8CE0 +ENDCHAR +STARTCHAR U_4692 +ENCODING 18066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +5240 +FBC0 +AA40 +FBC0 +AA40 +FBC0 +2180 +3AA0 +C4E0 +ENDCHAR +STARTCHAR U_4693 +ENCODING 18067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F800 +23C0 +FA40 +ABC0 +7240 +53C0 +7240 +53C0 +F980 +22A0 +24E0 +ENDCHAR +STARTCHAR U_4694 +ENCODING 18068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +8A40 +73C0 +AA40 +73C0 +D240 +73C0 +5180 +72A0 +8CE0 +ENDCHAR +STARTCHAR U_4695 +ENCODING 18069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D800 +03C0 +FA40 +ABC0 +AA40 +23C0 +FA40 +93C0 +D980 +92A0 +DCE0 +ENDCHAR +STARTCHAR U_4696 +ENCODING 18070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F800 +23C0 +FA40 +ABC0 +7240 +ABC0 +FA40 +73C0 +A980 +72A0 +FCE0 +ENDCHAR +STARTCHAR U_4697 +ENCODING 18071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +9280 +FA40 +AA40 +FC20 +A900 +F900 +AA40 +ABA0 +9A20 +ENDCHAR +STARTCHAR U_4698 +ENCODING 18072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +4EE0 +9400 +3FE0 +5540 +DF40 +5540 +5F40 +5540 +5140 +63C0 +ENDCHAR +STARTCHAR U_4699 +ENCODING 18073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BC0 +9000 +FBC0 +AA40 +FBC0 +AA40 +FBC0 +A800 +8800 +9BE0 +ENDCHAR +STARTCHAR U_469A +ENCODING 18074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7A80 +93E0 +FA80 +A880 +FFE0 +A940 +F940 +A940 +AA40 +9C60 +ENDCHAR +STARTCHAR U_469B +ENCODING 18075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7A80 +93E0 +FC80 +A880 +FFE0 +A800 +FBE0 +AA20 +AA20 +9BE0 +ENDCHAR +STARTCHAR U_469C +ENCODING 18076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +92A0 +FBE0 +AAA0 +FBE0 +AA40 +FFE0 +A840 +A840 +9840 +ENDCHAR +STARTCHAR U_469D +ENCODING 18077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BE0 +9000 +F940 +A940 +FAA0 +A880 +FBE0 +A880 +A880 +9880 +ENDCHAR +STARTCHAR U_469E +ENCODING 18078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BC0 +9100 +FD40 +AD40 +FBA0 +A900 +FB80 +AD40 +A920 +9900 +ENDCHAR +STARTCHAR U_469F +ENCODING 18079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +9220 +FBE0 +AA20 +FBE0 +A800 +FFE0 +AA40 +A840 +98C0 +ENDCHAR +STARTCHAR U_46A0 +ENCODING 18080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7000 +53E0 +9220 +FBE0 +AA20 +ABE0 +FA80 +ABE0 +FA80 +AAA0 +9BE0 +ENDCHAR +STARTCHAR U_46A1 +ENCODING 18081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7AA0 +92A0 +FBE0 +AAA0 +FBE0 +A840 +FAA0 +AE80 +AA20 +99E0 +ENDCHAR +STARTCHAR U_46A2 +ENCODING 18082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +72A0 +57E0 +92A0 +FAE0 +AA00 +FBE0 +A880 +FFE0 +AAC0 +ACA0 +9880 +ENDCHAR +STARTCHAR U_46A3 +ENCODING 18083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +73C0 +5240 +93C0 +FA40 +AFE0 +F880 +AA80 +FAE0 +AA80 +AB80 +9CE0 +ENDCHAR +STARTCHAR U_46A4 +ENCODING 18084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +72A0 +93E0 +FAA0 +ABE0 +F880 +ABE0 +FAA0 +AAE0 +ABA0 +9A60 +ENDCHAR +STARTCHAR U_46A5 +ENCODING 18085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7120 +AF60 +F880 +AFE0 +F920 +ADA0 +FB60 +ADA0 +A920 +9EC0 +ENDCHAR +STARTCHAR U_46A6 +ENCODING 18086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +71C0 +5F00 +A9C0 +F900 +ABE0 +FAA0 +ABE0 +FA80 +AAE0 +AB40 +9D60 +ENDCHAR +STARTCHAR U_46A7 +ENCODING 18087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +75A0 +9360 +FCA0 +A980 +FE60 +AB80 +F8C0 +AB20 +A8C0 +9F00 +ENDCHAR +STARTCHAR U_46A8 +ENCODING 18088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4740 +75A0 +9240 +FC20 +A6E0 +FAA0 +AF00 +F8E0 +AEA0 +AA40 +8DA0 +ENDCHAR +STARTCHAR U_46A9 +ENCODING 18089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +7100 +97E0 +FA40 +AFA0 +FA80 +ABE0 +FA20 +ABA0 +AAA0 +9BA0 +ENDCHAR +STARTCHAR U_46AA +ENCODING 18090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7AA0 +AFE0 +F800 +AFE0 +FA40 +ABC0 +FAA0 +AEC0 +AA40 +9B20 +ENDCHAR +STARTCHAR U_46AB +ENCODING 18091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +FBE0 +AD40 +F940 +4F80 +9160 +3F80 +2480 +3E80 +2480 +5E80 +ENDCHAR +STARTCHAR U_46AC +ENCODING 18092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7920 +5540 +AFE0 +FB40 +AD20 +FA40 +ABE0 +FD40 +ABE0 +A940 +BE40 +ENDCHAR +STARTCHAR U_46AD +ENCODING 18093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4760 +7140 +93E0 +FAA0 +ABE0 +FA40 +AFE0 +FA40 +ABE0 +AA40 +9BE0 +ENDCHAR +STARTCHAR U_46AE +ENCODING 18094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2F80 +F480 +0480 +F500 +05E0 +F420 +0420 +F420 +95E0 +F840 +ENDCHAR +STARTCHAR U_46AF +ENCODING 18095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +1020 +FE20 +0120 +7D20 +0120 +7D20 +0120 +7C20 +4420 +7CE0 +ENDCHAR +STARTCHAR U_46B0 +ENCODING 18096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +1200 +FE00 +0260 +7B80 +0600 +7A00 +0200 +7A20 +4A20 +79E0 +ENDCHAR +STARTCHAR U_46B1 +ENCODING 18097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1080 +FC80 +0080 +7AC0 +02A0 +7CA0 +0080 +7880 +4880 +7980 +ENDCHAR +STARTCHAR U_46B2 +ENCODING 18098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +1020 +FCC0 +0300 +7820 +00C0 +7B00 +0000 +7820 +48C0 +7F00 +ENDCHAR +STARTCHAR U_46B3 +ENCODING 18099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +0100 +F100 +07C0 +F440 +0280 +F100 +9280 +FC60 +ENDCHAR +STARTCHAR U_46B4 +ENCODING 18100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +13E0 +FE20 +03E0 +7A20 +03E0 +7A20 +0220 +7A20 +4A20 +7CE0 +ENDCHAR +STARTCHAR U_46B5 +ENCODING 18101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2280 +F880 +0480 +F280 +0080 +FFE0 +0080 +F080 +9080 +F080 +ENDCHAR +STARTCHAR U_46B6 +ENCODING 18102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +F900 +0100 +F100 +0FE0 +F100 +0280 +F280 +9440 +F820 +ENDCHAR +STARTCHAR U_46B7 +ENCODING 18103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2240 +FC20 +0000 +F7E0 +0200 +F7E0 +0020 +F020 +9140 +F080 +ENDCHAR +STARTCHAR U_46B8 +ENCODING 18104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FA80 +0440 +F820 +0240 +F240 +0240 +F240 +9240 +F440 +ENDCHAR +STARTCHAR U_46B9 +ENCODING 18105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +FC80 +0480 +F7E0 +0480 +F480 +0480 +F480 +95A0 +F6E0 +ENDCHAR +STARTCHAR U_46BA +ENCODING 18106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FBE0 +0640 +FA40 +0240 +F240 +0180 +F180 +9240 +FC20 +ENDCHAR +STARTCHAR U_46BB +ENCODING 18107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0F80 +1500 +6A00 +0400 +FFC0 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_46BC +ENCODING 18108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +FA40 +0240 +F240 +07E0 +F240 +0240 +F240 +9240 +FFE0 +ENDCHAR +STARTCHAR U_46BD +ENCODING 18109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +F900 +01C0 +F700 +0100 +F1E0 +0F00 +F100 +9120 +F0E0 +ENDCHAR +STARTCHAR U_46BE +ENCODING 18110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +2780 +F880 +0080 +F080 +0FE0 +F080 +0080 +F080 +9080 +F7E0 +ENDCHAR +STARTCHAR U_46BF +ENCODING 18111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +F7E0 +0520 +F540 +0900 +F100 +0280 +F280 +9440 +F820 +ENDCHAR +STARTCHAR U_46C0 +ENCODING 18112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +FC00 +07E0 +F620 +0520 +F540 +0480 +F480 +9540 +FA20 +ENDCHAR +STARTCHAR U_46C1 +ENCODING 18113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +23C0 +F240 +0240 +F7E0 +0240 +F7E0 +0240 +F240 +9240 +F4C0 +ENDCHAR +STARTCHAR U_46C2 +ENCODING 18114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2340 +FD40 +0140 +FBE0 +0140 +F940 +0140 +F940 +9A40 +FC40 +ENDCHAR +STARTCHAR U_46C3 +ENCODING 18115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +F000 +0000 +F7E0 +0280 +F280 +02A0 +F4A0 +94A0 +F860 +ENDCHAR +STARTCHAR U_46C4 +ENCODING 18116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +4400 +EFE0 +0AA0 +EAA0 +16E0 +E280 +0280 +E4A0 +A4A0 +E8E0 +ENDCHAR +STARTCHAR U_46C5 +ENCODING 18117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +24A0 +F4A0 +07E0 +F4A0 +04A0 +F7E0 +04A0 +F080 +9080 +F080 +ENDCHAR +STARTCHAR U_46C6 +ENCODING 18118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +0080 +7BE0 +02A0 +7AA0 +03E0 +7AA0 +4AA0 +4AA0 +7BE0 +ENDCHAR +STARTCHAR U_46C7 +ENCODING 18119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +FA40 +0240 +F240 +0420 +F800 +03E0 +F220 +9220 +F220 +93E0 +ENDCHAR +STARTCHAR U_46C8 +ENCODING 18120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +F500 +0900 +F100 +07E0 +F100 +0100 +F280 +9240 +F420 +ENDCHAR +STARTCHAR U_46C9 +ENCODING 18121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F440 +07C0 +F500 +07C0 +F500 +0500 +F4A0 +9660 +F420 +ENDCHAR +STARTCHAR U_46CA +ENCODING 18122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +23E0 +FE20 +0220 +7A20 +03E0 +7800 +0000 +7940 +4A20 +7C20 +ENDCHAR +STARTCHAR U_46CB +ENCODING 18123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +20A0 +F080 +07E0 +F480 +0480 +F4A0 +04C0 +F4A0 +96A0 +F160 +ENDCHAR +STARTCHAR U_46CC +ENCODING 18124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +F3E0 +0420 +F3A0 +02A0 +F3A0 +0260 +F200 +9220 +F1E0 +ENDCHAR +STARTCHAR U_46CD +ENCODING 18125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +FFE0 +02A0 +FFE0 +0A80 +FFE0 +02A0 +F2A0 +94E0 +F880 +ENDCHAR +STARTCHAR U_46CE +ENCODING 18126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F420 +0840 +F280 +0280 +F280 +0280 +F2A0 +94A0 +F8E0 +ENDCHAR +STARTCHAR U_46CF +ENCODING 18127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +23E0 +F220 +03E0 +F280 +02A0 +F2C0 +0280 +F2A0 +94A0 +F4E0 +ENDCHAR +STARTCHAR U_46D0 +ENCODING 18128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0040 +3FC0 +1140 +FFE0 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_46D1 +ENCODING 18129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +F540 +0440 +F480 +0C80 +F540 +0620 +F420 +9C40 +F3C0 +ENDCHAR +STARTCHAR U_46D2 +ENCODING 18130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2100 +FBE0 +0420 +FFE0 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_46D3 +ENCODING 18131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +93E0 +9480 +1440 +FFE0 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_46D4 +ENCODING 18132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +FFE0 +0100 +E200 +0FE0 +EAA0 +0AA0 +EAA0 +AAA0 +AAA0 +E860 +ENDCHAR +STARTCHAR U_46D5 +ENCODING 18133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +F7E0 +04A0 +F7E0 +04A0 +F7E0 +0480 +F280 +9180 +FE60 +ENDCHAR +STARTCHAR U_46D6 +ENCODING 18134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +0520 +F7E0 +0520 +F7E0 +0140 +F080 +9160 +FE20 +ENDCHAR +STARTCHAR U_46D7 +ENCODING 18135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F880 +A7E0 +A000 +FBC0 +8800 +8BC0 +F800 +A3C0 +A240 +FBC0 +ENDCHAR +STARTCHAR U_46D8 +ENCODING 18136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +24E0 +FF80 +0480 +F480 +0480 +F7E0 +0480 +F480 +9480 +F5E0 +ENDCHAR +STARTCHAR U_46D9 +ENCODING 18137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2480 +FC80 +07E0 +F480 +0580 +F5C0 +06A0 +F480 +9480 +F480 +ENDCHAR +STARTCHAR U_46DA +ENCODING 18138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +1120 +7920 +1240 +FFE0 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_46DB +ENCODING 18139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +FFE0 +0820 +EBA0 +0AA0 +EAA0 +0AA0 +EBA0 +A820 +AFE0 +E820 +ENDCHAR +STARTCHAR U_46DC +ENCODING 18140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F200 +0FE0 +E820 +0C60 +EAA0 +0920 +EAA0 +AC60 +A820 +EFE0 +ENDCHAR +STARTCHAR U_46DD +ENCODING 18141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F240 +0240 +F7C0 +0240 +FFE0 +0100 +F520 +9520 +97E0 +F420 +ENDCHAR +STARTCHAR U_46DE +ENCODING 18142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F440 +07C0 +F440 +07C0 +F000 +07C0 +F100 +9FE0 +9100 +F100 +ENDCHAR +STARTCHAR U_46DF +ENCODING 18143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +0540 +F540 +0BA0 +F100 +0280 +F280 +9440 +F820 +ENDCHAR +STARTCHAR U_46E0 +ENCODING 18144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2000 +F7C0 +0440 +F440 +07C0 +F000 +0440 +F240 +9280 +FFE0 +ENDCHAR +STARTCHAR U_46E1 +ENCODING 18145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2780 +F480 +07E0 +F480 +0660 +F420 +07E0 +F420 +9420 +F7E0 +ENDCHAR +STARTCHAR U_46E2 +ENCODING 18146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2780 +F100 +0FE0 +F380 +0540 +F920 +0280 +F280 +94A0 +F860 +ENDCHAR +STARTCHAR U_46E3 +ENCODING 18147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +F540 +07C0 +F540 +0FE0 +F200 +07C0 +F040 +9240 +F180 +ENDCHAR +STARTCHAR U_46E4 +ENCODING 18148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47C0 +F440 +0440 +F7C0 +0100 +F1E0 +0500 +F500 +9700 +F9E0 +ENDCHAR +STARTCHAR U_46E5 +ENCODING 18149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4300 +E480 +0200 +FFE0 +0500 +EFC0 +1540 +E540 +A540 +E100 +ENDCHAR +STARTCHAR U_46E6 +ENCODING 18150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2240 +F440 +0900 +F180 +0240 +F420 +0BC0 +F240 +9240 +F3C0 +ENDCHAR +STARTCHAR U_46E7 +ENCODING 18151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +4D40 +EB80 +0900 +EFC0 +0900 +EB80 +0B40 +ED40 +A900 +EFE0 +ENDCHAR +STARTCHAR U_46E8 +ENCODING 18152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F440 +0280 +FFE0 +0100 +F100 +07C0 +F100 +9100 +F100 +ENDCHAR +STARTCHAR U_46E9 +ENCODING 18153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4280 +F280 +0EE0 +F820 +0820 +FEE0 +0280 +F280 +9280 +FFE0 +ENDCHAR +STARTCHAR U_46EA +ENCODING 18154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +FAA0 +0480 +FFE0 +0040 +F7C0 +0400 +F7C0 +9040 +F180 +ENDCHAR +STARTCHAR U_46EB +ENCODING 18155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4400 +F7C0 +0400 +F7C0 +0400 +FFE0 +0500 +F540 +9480 +F660 +ENDCHAR +STARTCHAR U_46EC +ENCODING 18156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +4FE0 +F420 +0FA0 +F220 +1FE0 +E220 +0AA0 +EAA0 +AFA0 +E0C0 +ENDCHAR +STARTCHAR U_46ED +ENCODING 18157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +F100 +0FE0 +F440 +0280 +F7C0 +0100 +FFE0 +9100 +F100 +ENDCHAR +STARTCHAR U_46EE +ENCODING 18158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4EC0 +FAA0 +0480 +F480 +0BE0 +F000 +07C0 +F440 +9440 +F7C0 +ENDCHAR +STARTCHAR U_46EF +ENCODING 18159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +E820 +0FE0 +E880 +0FE0 +E880 +0BE0 +EA20 +AA20 +F3E0 +ENDCHAR +STARTCHAR U_46F0 +ENCODING 18160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +F7E0 +0420 +F7E0 +0000 +F4A0 +07C0 +F480 +95A0 +F660 +ENDCHAR +STARTCHAR U_46F1 +ENCODING 18161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +F540 +0540 +F7C0 +0100 +F000 +0540 +FCA0 +9440 +F3C0 +ENDCHAR +STARTCHAR U_46F2 +ENCODING 18162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +47C0 +E440 +07C0 +E440 +07C0 +E100 +0FE0 +E920 +A960 +E100 +ENDCHAR +STARTCHAR U_46F3 +ENCODING 18163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +E280 +0540 +EFE0 +1540 +E7C0 +0540 +E7C0 +A120 +E0E0 +ENDCHAR +STARTCHAR U_46F4 +ENCODING 18164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +E280 +0440 +EFE0 +0040 +E740 +0540 +E740 +A040 +E1C0 +ENDCHAR +STARTCHAR U_46F5 +ENCODING 18165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +4E40 +EA40 +0580 +FFE0 +1020 +F7A0 +0480 +E300 +A280 +EC60 +ENDCHAR +STARTCHAR U_46F6 +ENCODING 18166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7C0 +0100 +F7C0 +0100 +F7C0 +0100 +FFE0 +9380 +9540 +F920 +ENDCHAR +STARTCHAR U_46F7 +ENCODING 18167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4100 +FFE0 +1420 +E6E0 +0AA0 +FAA0 +06C0 +E480 +A8A0 +F0E0 +ENDCHAR +STARTCHAR U_46F8 +ENCODING 18168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4100 +EFE0 +0900 +E900 +09E0 +E900 +0BC0 +EA40 +AA40 +F3C0 +ENDCHAR +STARTCHAR U_46F9 +ENCODING 18169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +43C0 +E440 +0780 +E080 +1FE0 +E540 +1B80 +E5C0 +BAA0 +E580 +ENDCHAR +STARTCHAR U_46FA +ENCODING 18170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4920 +EFE0 +0920 +EFE0 +0480 +E860 +1440 +E440 +A440 +E840 +ENDCHAR +STARTCHAR U_46FB +ENCODING 18171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4900 +EFE0 +0900 +EBC0 +0A40 +EBC0 +0A40 +EBC0 +AA40 +F3C0 +ENDCHAR +STARTCHAR U_46FC +ENCODING 18172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4CE0 +E820 +0EE0 +E820 +0FE0 +E000 +07C0 +E100 +A100 +EFE0 +ENDCHAR +STARTCHAR U_46FD +ENCODING 18173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4700 +E100 +0FE0 +E100 +0500 +E960 +0920 +ED60 +A920 +EFE0 +ENDCHAR +STARTCHAR U_46FE +ENCODING 18174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4100 +E7C0 +0100 +EFE0 +0200 +E680 +0300 +EFE0 +A540 +E920 +ENDCHAR +STARTCHAR U_46FF +ENCODING 18175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4000 +E7C0 +0440 +E7C0 +0000 +EFE0 +0AA0 +EFE0 +A920 +E920 +ENDCHAR +STARTCHAR U_4700 +ENCODING 18176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +4AA0 +FBA0 +0EE0 +EAA0 +1760 +F100 +05C0 +F500 +9500 +FFE0 +ENDCHAR +STARTCHAR U_4701 +ENCODING 18177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45C0 +4480 +F7E0 +0480 +F7E0 +0480 +F7E0 +0080 +F7E0 +9140 +F620 +ENDCHAR +STARTCHAR U_4702 +ENCODING 18178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +F440 +07C0 +F440 +07C0 +F200 +0FE0 +F540 +9BA0 +F100 +ENDCHAR +STARTCHAR U_4703 +ENCODING 18179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +F7E0 +0C80 +F7E0 +0480 +F7E0 +9480 +F7E0 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_4704 +ENCODING 18180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4420 +F7E0 +06A0 +F5C0 +06A0 +F580 +05E0 +F680 +9BE0 +F880 +ENDCHAR +STARTCHAR U_4705 +ENCODING 18181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2920 +FFE0 +0480 +F7E0 +0C80 +F7E0 +0480 +F7E0 +9480 +F7E0 +ENDCHAR +STARTCHAR U_4706 +ENCODING 18182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +5DC0 +6AA0 +7FE0 +4000 +5FC0 +5040 +9FC0 +ENDCHAR +STARTCHAR U_4707 +ENCODING 18183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F280 +0480 +FFE0 +0440 +F7C0 +0D20 +F4C0 +9440 +F620 +ENDCHAR +STARTCHAR U_4708 +ENCODING 18184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4520 +2A40 +FFE0 +0920 +FFE0 +0920 +FFE0 +0100 +FFE0 +9540 +F920 +ENDCHAR +STARTCHAR U_4709 +ENCODING 18185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F380 +0D60 +F100 +0380 +FD60 +0540 +F380 +9540 +F720 +ENDCHAR +STARTCHAR U_470A +ENCODING 18186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +FFE0 +0AA0 +FFE0 +0AA0 +FFE0 +0440 +F7C0 +9440 +F7C0 +ENDCHAR +STARTCHAR U_470B +ENCODING 18187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +F540 +07C0 +F100 +0FE0 +F440 +0540 +F540 +97C0 +FC60 +ENDCHAR +STARTCHAR U_470C +ENCODING 18188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +4E40 +5080 +FFE0 +2040 +5EA0 +F1E0 +0E00 +AAA0 +AEA0 +8B00 +ENDCHAR +STARTCHAR U_470D +ENCODING 18189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +FAA0 +0440 +F7C0 +0C60 +F7C0 +0440 +F7C0 +9540 +FB20 +ENDCHAR +STARTCHAR U_470E +ENCODING 18190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +4AE0 +F740 +0240 +FDA0 +0FE0 +F920 +07C0 +F140 +9240 +F4C0 +ENDCHAR +STARTCHAR U_470F +ENCODING 18191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4FE0 +EA80 +0DE0 +EB40 +0AE0 +EAA0 +0CE0 +E8A0 +A8E0 +E8A0 +ENDCHAR +STARTCHAR U_4710 +ENCODING 18192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +6280 +57E0 +7AC0 +4240 +FFE0 +0000 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_4711 +ENCODING 18193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4280 +EEE0 +0820 +EEE0 +0280 +EFE0 +0240 +ED20 +B440 +E7C0 +ENDCHAR +STARTCHAR U_4712 +ENCODING 18194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4FE0 +ED60 +0BA0 +E920 +0FE0 +EBA0 +0D60 +FFE0 +A280 +EC60 +ENDCHAR +STARTCHAR U_4713 +ENCODING 18195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4EE0 +F440 +0540 +FFE0 +0540 +F7E0 +0100 +FFE0 +9340 +FD20 +ENDCHAR +STARTCHAR U_4714 +ENCODING 18196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +4900 +E7E0 +1E80 +E9E0 +0920 +E9E0 +0920 +E9E0 +AA20 +F7E0 +ENDCHAR +STARTCHAR U_4715 +ENCODING 18197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5FE0 +E480 +0FC0 +EA40 +0FC0 +EA40 +0FE0 +EAA0 +AFA0 +E860 +ENDCHAR +STARTCHAR U_4716 +ENCODING 18198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4280 +EFE0 +0AA0 +EFE0 +0440 +E5C0 +0740 +E440 +A7C0 +EC60 +ENDCHAR +STARTCHAR U_4717 +ENCODING 18199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +80A0 +5FE0 +F080 +17A0 +F0A0 +17A0 +F540 +17C0 +F540 +BCA0 +F7C0 +ENDCHAR +STARTCHAR U_4718 +ENCODING 18200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +FB80 +0AE0 +EFA0 +11A0 +FFA0 +0B40 +EF40 +A1A0 +A5A0 +E2A0 +ENDCHAR +STARTCHAR U_4719 +ENCODING 18201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +F840 +0FC0 +F840 +0FC0 +F480 +0FE0 +F440 +9AA0 +9FE0 +FAA0 +ENDCHAR +STARTCHAR U_471A +ENCODING 18202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +5AA0 +EFE0 +0100 +FBC0 +0D20 +E900 +0BC0 +ED20 +A900 +F7E0 +ENDCHAR +STARTCHAR U_471B +ENCODING 18203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +4500 +F7C0 +0540 +F7C0 +02A0 +F7E0 +0560 +F7C0 +92A0 +FCE0 +ENDCHAR +STARTCHAR U_471C +ENCODING 18204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +4100 +EFE0 +0800 +EFE0 +0A40 +EDA0 +0A40 +EFE0 +AA40 +F3C0 +ENDCHAR +STARTCHAR U_471D +ENCODING 18205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +4A40 +EDA0 +0A40 +EDA0 +0FE0 +EA40 +0DA0 +EA40 +ADA0 +EFE0 +ENDCHAR +STARTCHAR U_471E +ENCODING 18206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F280 +1D60 +F540 +1560 +FD40 +07C0 +F440 +97C0 +F840 +ENDCHAR +STARTCHAR U_471F +ENCODING 18207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44A0 +4EA0 +E480 +1FE0 +EA80 +1B80 +EAA0 +1BA0 +EA40 +BFC0 +E120 +ENDCHAR +STARTCHAR U_4720 +ENCODING 18208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +F880 +0FE0 +FAA0 +0AA0 +F7C0 +0440 +F540 +9540 +97C0 +FC60 +ENDCHAR +STARTCHAR U_4721 +ENCODING 18209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F100 +07C0 +F440 +0FE0 +F920 +0460 +F3C0 +9640 +9980 +F660 +ENDCHAR +STARTCHAR U_4722 +ENCODING 18210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F920 +07C0 +F100 +0FE0 +FAA0 +0FE0 +F100 +9540 +9C60 +F7C0 +ENDCHAR +STARTCHAR U_4723 +ENCODING 18211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +4700 +2400 +0400 +E7E0 +2480 +2480 +2480 +3C80 +2880 +1080 +ENDCHAR +STARTCHAR U_4724 +ENCODING 18212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +4480 +2480 +0FC0 +E480 +2480 +3FE0 +2000 +3480 +2440 +0840 +ENDCHAR +STARTCHAR U_4725 +ENCODING 18213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +9DE0 +4520 +09E0 +DD20 +4520 +55E0 +4800 +69E0 +5400 +23E0 +ENDCHAR +STARTCHAR U_4726 +ENCODING 18214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +5FE0 +2480 +0FE0 +F020 +27A0 +24A0 +2FA0 +34A0 +27A0 +0040 +ENDCHAR +STARTCHAR U_4727 +ENCODING 18215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +9FE0 +4AA0 +1BA0 +CAA0 +5320 +4100 +45C0 +5500 +6500 +5FE0 +ENDCHAR +STARTCHAR U_4728 +ENCODING 18216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +87C0 +4540 +0FE0 +C920 +4FE0 +4100 +4A40 +4920 +7460 +57C0 +ENDCHAR +STARTCHAR U_4729 +ENCODING 18217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +9FE0 +4480 +0F80 +38E0 +CF80 +4D80 +7FE0 +5000 +6D40 +52A0 +ENDCHAR +STARTCHAR U_472A +ENCODING 18218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +5100 +4BC0 +A940 +2140 +5140 +8940 +7140 +5240 +5260 +7460 +ENDCHAR +STARTCHAR U_472B +ENCODING 18219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +4800 +4FC0 +A900 +2100 +5100 +8900 +7100 +5100 +5100 +7FE0 +ENDCHAR +STARTCHAR U_472C +ENCODING 18220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +5080 +4BE0 +AAA0 +22A0 +52A0 +8BE0 +72A0 +52A0 +52A0 +73E0 +ENDCHAR +STARTCHAR U_472D +ENCODING 18221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +0400 +FFE0 +8020 +7FC0 +2E80 +D160 +3F80 +E160 +2100 +3F00 +ENDCHAR +STARTCHAR U_472E +ENCODING 18222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +57E0 +4C20 +A880 +2280 +53E0 +8C80 +7080 +57E0 +5080 +7080 +ENDCHAR +STARTCHAR U_472F +ENCODING 18223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5200 +53E0 +4C20 +AD60 +23A0 +57E0 +8920 +73A0 +5360 +5520 +7140 +ENDCHAR +STARTCHAR U_4730 +ENCODING 18224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53C0 +5240 +4BC0 +AA40 +23C0 +5100 +8FE0 +7280 +5540 +5BA0 +7100 +ENDCHAR +STARTCHAR U_4731 +ENCODING 18225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53C0 +4A40 +4BC0 +A240 +2FE0 +5AA0 +8FE0 +7440 +5280 +5380 +7C60 +ENDCHAR +STARTCHAR U_4732 +ENCODING 18226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +52A0 +4D40 +4AA0 +A7E0 +2520 +56A0 +8FE0 +7540 +57C0 +5540 +77A0 +ENDCHAR +STARTCHAR U_4733 +ENCODING 18227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0000 +3FC0 +2040 +3FC0 +1080 +0900 +FFE0 +2000 +2000 +3FC0 +ENDCHAR +STARTCHAR U_4734 +ENCODING 18228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +01C0 +7100 +5100 +57C0 +7440 +0240 +5280 +5100 +3280 +CC60 +ENDCHAR +STARTCHAR U_4735 +ENCODING 18229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +07E0 +74A0 +5480 +57E0 +7620 +0520 +5540 +5480 +3540 +CA20 +ENDCHAR +STARTCHAR U_4736 +ENCODING 18230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +03C0 +7640 +5180 +5240 +7CA0 +0080 +53C0 +5280 +3BC0 +C080 +ENDCHAR +STARTCHAR U_4737 +ENCODING 18231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +0040 +77E0 +5040 +5FE0 +7820 +03C0 +5240 +5180 +3A40 +C420 +ENDCHAR +STARTCHAR U_4738 +ENCODING 18232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +0220 +73E0 +5200 +53C0 +7280 +03C0 +5280 +53E0 +3C80 +C460 +ENDCHAR +STARTCHAR U_4739 +ENCODING 18233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +0FE0 +7100 +57C0 +5540 +7540 +07C0 +5100 +5380 +3540 +C920 +ENDCHAR +STARTCHAR U_473A +ENCODING 18234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +07E0 +7240 +5240 +5FE0 +7000 +03C0 +5240 +53C0 +3A40 +C3C0 +ENDCHAR +STARTCHAR U_473B +ENCODING 18235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +0240 +73C0 +5240 +53C0 +7000 +0FE0 +5100 +55C0 +3500 +CBE0 +ENDCHAR +STARTCHAR U_473C +ENCODING 18236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +29E0 +FD20 +36A0 +D840 +31A0 +FFE0 +2080 +3F80 +1100 +FFE0 +ENDCHAR +STARTCHAR U_473D +ENCODING 18237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +0280 +E440 +ABA0 +BE20 +EAA0 +0EA0 +AAA0 +AEA0 +3A20 +CA60 +ENDCHAR +STARTCHAR U_473E +ENCODING 18238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +07C0 +7280 +5280 +5FE0 +7000 +07C0 +5440 +57C0 +3C40 +C7C0 +ENDCHAR +STARTCHAR U_473F +ENCODING 18239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +51E0 +7D00 +4580 +7E40 +5240 +FFE0 +2080 +3F80 +1100 +FFE0 +ENDCHAR +STARTCHAR U_4740 +ENCODING 18240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +F4E0 +06A0 +F5A0 +9760 +F000 +97E0 +6520 +37E0 +C520 +07E0 +ENDCHAR +STARTCHAR U_4741 +ENCODING 18241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +71C0 +8A20 +FFE0 +8020 +7FC0 +2080 +3F80 +2080 +1100 +FFE0 +ENDCHAR +STARTCHAR U_4742 +ENCODING 18242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +B240 +CDE0 +B240 +9180 +9240 +FFE0 +2080 +3F80 +1100 +FFE0 +ENDCHAR +STARTCHAR U_4743 +ENCODING 18243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +04A0 +F520 +97E0 +9240 +F5A0 +97E0 +6240 +37E0 +CAA0 +0AA0 +ENDCHAR +STARTCHAR U_4744 +ENCODING 18244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F7E0 +0D40 +F7E0 +9540 +F7E0 +0540 +97E0 +7240 +C180 +0E60 +ENDCHAR +STARTCHAR U_4745 +ENCODING 18245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FC80 +2080 +D080 +37E0 +D880 +1080 +3880 +D480 +1080 +67E0 +ENDCHAR +STARTCHAR U_4746 +ENCODING 18246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +3FC0 +4A40 +3240 +0480 +FFE0 +0880 +7700 +0B80 +7260 +0C00 +ENDCHAR +STARTCHAR U_4747 +ENCODING 18247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +4FE0 +8900 +56A0 +51C0 +5680 +51C0 +56A0 +5280 +9120 +8FE0 +ENDCHAR +STARTCHAR U_4748 +ENCODING 18248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +FF00 +2400 +37E0 +DC00 +35C0 +D540 +3DC0 +D500 +1520 +68E0 +ENDCHAR +STARTCHAR U_4749 +ENCODING 18249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +2A80 +FFE0 +8020 +7FC0 +0880 +7500 +0E00 +7500 +04C0 +1800 +ENDCHAR +STARTCHAR U_474A +ENCODING 18250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +27E0 +2140 +D7E0 +3140 +D7C0 +3100 +D5C0 +5700 +38E0 +ENDCHAR +STARTCHAR U_474B +ENCODING 18251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FFE0 +2420 +23C0 +D000 +3FE0 +D080 +3AC0 +D2A0 +54A0 +2180 +ENDCHAR +STARTCHAR U_474C +ENCODING 18252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FAA0 +22A0 +2940 +D6A0 +33E0 +DAA0 +36A0 +D140 +52A0 +2CA0 +ENDCHAR +STARTCHAR U_474D +ENCODING 18253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F920 +27C0 +2100 +DFC0 +3540 +D7C0 +3540 +DFE0 +5100 +2100 +ENDCHAR +STARTCHAR U_474E +ENCODING 18254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FAA0 +23E0 +2000 +D7E0 +3900 +D3E0 +3AA0 +D6A0 +52A0 +2260 +ENDCHAR +STARTCHAR U_474F +ENCODING 18255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +2540 +2FE0 +D540 +37C0 +D540 +3FE0 +D440 +5380 +2C60 +ENDCHAR +STARTCHAR U_4750 +ENCODING 18256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FFE0 +4A80 +4AE0 +BD40 +6AE0 +AAA0 +7AE0 +AEA0 +28E0 +48A0 +ENDCHAR +STARTCHAR U_4751 +ENCODING 18257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +2440 +2280 +DFE0 +3540 +D7C0 +3540 +DFC0 +5100 +2FE0 +ENDCHAR +STARTCHAR U_4752 +ENCODING 18258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F00 +FAE0 +2EA0 +4A40 +BF40 +62A0 +AFE0 +7540 +A540 +2BA0 +4100 +ENDCHAR +STARTCHAR U_4753 +ENCODING 18259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +02A0 +FD40 +22A0 +27E0 +DD20 +36A0 +D7E0 +3D40 +D7C0 +5560 +27A0 +ENDCHAR +STARTCHAR U_4754 +ENCODING 18260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +4280 +4EE0 +BAA0 +6EE0 +A7C0 +6C80 +B7C0 +2480 +47E0 +ENDCHAR +STARTCHAR U_4755 +ENCODING 18261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FAC0 +2340 +27E0 +D840 +37E0 +D2A0 +3BE0 +D2A0 +57E0 +20A0 +ENDCHAR +STARTCHAR U_4756 +ENCODING 18262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +2740 +DD40 +3540 +E540 +3540 +D540 +3540 +D540 +5520 +2920 +ENDCHAR +STARTCHAR U_4757 +ENCODING 18263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +6900 +D100 +27E0 +E100 +3380 +D380 +3540 +D920 +5100 +2100 +ENDCHAR +STARTCHAR U_4758 +ENCODING 18264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +2240 +D240 +6240 +D420 +33C0 +D240 +3240 +D180 +1240 +2C20 +ENDCHAR +STARTCHAR U_4759 +ENCODING 18265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +27E0 +DC00 +5440 +E640 +3580 +D480 +3540 +D620 +5400 +27E0 +ENDCHAR +STARTCHAR U_475A +ENCODING 18266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +2440 +DC40 +57C0 +E500 +3520 +D5C0 +3500 +D520 +5920 +28E0 +ENDCHAR +STARTCHAR U_475B +ENCODING 18267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +2080 +DFE0 +54A0 +E480 +37C0 +D540 +3540 +D480 +5940 +2A20 +ENDCHAR +STARTCHAR U_475C +ENCODING 18268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2240 +D7E0 +5240 +E420 +33C0 +D240 +3640 +D180 +5240 +2C20 +ENDCHAR +STARTCHAR U_475D +ENCODING 18269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +27E0 +DA80 +5440 +EFE0 +3040 +D740 +3540 +D740 +5040 +20C0 +ENDCHAR +STARTCHAR U_475E +ENCODING 18270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +2100 +DFE0 +5540 +E780 +34E0 +D400 +35C0 +D540 +5940 +2A60 +ENDCHAR +STARTCHAR U_475F +ENCODING 18271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +27E0 +DAA0 +57A0 +E2A0 +3760 +D100 +37E0 +D180 +5240 +2C20 +ENDCHAR +STARTCHAR U_4760 +ENCODING 18272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5C80 +D5E0 +2520 +E5E0 +3520 +D5E0 +3480 +D6A0 +14A0 +6980 +ENDCHAR +STARTCHAR U_4761 +ENCODING 18273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +6FE0 +D240 +23C0 +E100 +37E0 +D520 +3760 +D5A0 +1760 +6420 +ENDCHAR +STARTCHAR U_4762 +ENCODING 18274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +EC40 +57C0 +2440 +DFE0 +2AA0 +DFE0 +2800 +CFE0 +3240 +2FE0 +ENDCHAR +STARTCHAR U_4763 +ENCODING 18275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26E0 +6980 +D6E0 +21A0 +E6E0 +3280 +D7E0 +3180 +D2C0 +1CA0 +3080 +ENDCHAR +STARTCHAR U_4764 +ENCODING 18276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +6FE0 +9540 +6AA0 +C440 +2FE0 +D540 +37C0 +D100 +1540 +6B20 +ENDCHAR +STARTCHAR U_4765 +ENCODING 18277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4FE0 +B4A0 +67E0 +C080 +26A0 +D080 +36A0 +D080 +17E0 +6080 +ENDCHAR +STARTCHAR U_4766 +ENCODING 18278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +6AA0 +9FE0 +6000 +C1E0 +2F00 +D100 +3540 +D540 +1BA0 +6120 +ENDCHAR +STARTCHAR U_4767 +ENCODING 18279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +97E0 +F420 +9820 +F7A0 +9020 +F1A0 +4620 +9020 +90C0 +ENDCHAR +STARTCHAR U_4768 +ENCODING 18280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +9240 +9180 +9260 +3F80 +2480 +3280 +2980 +2480 +3F80 +60C0 +ENDCHAR +STARTCHAR U_4769 +ENCODING 18281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9280 +F440 +9920 +F280 +9500 +F240 +4480 +9100 +9600 +ENDCHAR +STARTCHAR U_476A +ENCODING 18282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +F140 +9100 +9500 +F5E0 +9500 +F500 +4500 +9700 +98E0 +ENDCHAR +STARTCHAR U_476B +ENCODING 18283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9200 +F7E0 +9500 +99E0 +F100 +9100 +F1E0 +4100 +9100 +9100 +ENDCHAR +STARTCHAR U_476C +ENCODING 18284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +F100 +9100 +F100 +97C0 +F100 +4100 +9100 +9FE0 +ENDCHAR +STARTCHAR U_476D +ENCODING 18285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F400 +97E0 +F820 +97A0 +F4A0 +94A0 +F7A0 +4020 +9020 +90C0 +ENDCHAR +STARTCHAR U_476E +ENCODING 18286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +F100 +9200 +F440 +9780 +F200 +4440 +9FE0 +9420 +ENDCHAR +STARTCHAR U_476F +ENCODING 18287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F400 +97E0 +F800 +9500 +FFE0 +9520 +F540 +4500 +9420 +93E0 +ENDCHAR +STARTCHAR U_4770 +ENCODING 18288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9FE0 +F100 +97C0 +F080 +9FE0 +F480 +2280 +5080 +9180 +ENDCHAR +STARTCHAR U_4771 +ENCODING 18289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1F80 +2480 +FFE0 +2920 +DFE0 +2080 +3F80 +2080 +3F80 +4040 +ENDCHAR +STARTCHAR U_4772 +ENCODING 18290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +F7C0 +9480 +9440 +F520 +94A0 +F400 +4900 +9080 +9080 +ENDCHAR +STARTCHAR U_4773 +ENCODING 18291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1DE0 +5120 +7D40 +A480 +1140 +FFA0 +1080 +1F80 +1080 +1F80 +2040 +ENDCHAR +STARTCHAR U_4774 +ENCODING 18292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +3F80 +0400 +FFE0 +9120 +1F00 +1100 +1F00 +60C0 +ENDCHAR +STARTCHAR U_4775 +ENCODING 18293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +F120 +97E0 +F100 +97E0 +F520 +97E0 +F520 +47E0 +9520 +9560 +ENDCHAR +STARTCHAR U_4776 +ENCODING 18294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +F000 +97C0 +F440 +97C0 +F100 +4540 +9920 +9300 +ENDCHAR +STARTCHAR U_4777 +ENCODING 18295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7DE0 +9120 +FFE0 +2420 +5F80 +1080 +1F80 +1080 +1F80 +2040 +ENDCHAR +STARTCHAR U_4778 +ENCODING 18296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +9480 +F100 +9FE0 +F100 +97C0 +F440 +4280 +9100 +9EE0 +ENDCHAR +STARTCHAR U_4779 +ENCODING 18297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +E820 +A400 +AEE0 +EAA0 +AAA0 +F6E0 +0280 +A4A0 +A8E0 +ENDCHAR +STARTCHAR U_477A +ENCODING 18298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +4A40 +3180 +DF60 +1100 +1F00 +1100 +1F00 +1100 +2080 +ENDCHAR +STARTCHAR U_477B +ENCODING 18299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +9420 +F7E0 +9480 +F7E0 +9480 +F7E0 +4A20 +9A20 +93E0 +ENDCHAR +STARTCHAR U_477C +ENCODING 18300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9100 +F7C0 +9100 +FFE0 +9440 +F7C0 +4440 +97C0 +9440 +ENDCHAR +STARTCHAR U_477D +ENCODING 18301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9480 +F5E0 +9480 +9480 +F7E0 +9480 +F5E0 +4880 +9880 +97E0 +ENDCHAR +STARTCHAR U_477E +ENCODING 18302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A80 +0240 +FFE0 +5100 +5CA0 +F760 +1100 +1F00 +1100 +1F00 +6080 +ENDCHAR +STARTCHAR U_477F +ENCODING 18303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +35C0 +4440 +75C0 +4440 +75C0 +1B00 +F1E0 +1F00 +1100 +1F80 +6040 +ENDCHAR +STARTCHAR U_4780 +ENCODING 18304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +F440 +9FE0 +F480 +9500 +F7E0 +9480 +F7E0 +4480 +9540 +9620 +ENDCHAR +STARTCHAR U_4781 +ENCODING 18305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9400 +F5C0 +9540 +95C0 +F540 +97E0 +F540 +45C0 +9520 +97E0 +ENDCHAR +STARTCHAR U_4782 +ENCODING 18306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A200 +EFE0 +AAA0 +AAA0 +EAA0 +A100 +EFE0 +4280 +A440 +A820 +ENDCHAR +STARTCHAR U_4783 +ENCODING 18307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FF80 +A4E0 +EAA0 +BFA0 +E4A0 +BF40 +E440 +4740 +BCA0 +A120 +ENDCHAR +STARTCHAR U_4784 +ENCODING 18308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FFE0 +4280 +7FE0 +4AA0 +BFC0 +2080 +3F80 +2080 +3F80 +C040 +ENDCHAR +STARTCHAR U_4785 +ENCODING 18309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9400 +95C0 +F400 +97E0 +F540 +95A0 +F800 +47C0 +5440 +97C0 +ENDCHAR +STARTCHAR U_4786 +ENCODING 18310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +9540 +F100 +97C0 +9440 +F7C0 +9440 +F7C0 +4440 +57C0 +9820 +ENDCHAR +STARTCHAR U_4787 +ENCODING 18311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1140 +FF40 +55C0 +BF60 +1100 +1F00 +1100 +1F00 +60C0 +ENDCHAR +STARTCHAR U_4788 +ENCODING 18312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9540 +F7C0 +9480 +97C0 +F440 +97E0 +F420 +0560 +AAA0 +9060 +ENDCHAR +STARTCHAR U_4789 +ENCODING 18313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +9FE0 +F100 +9FE0 +9440 +FFE0 +9440 +F7C0 +4440 +57C0 +9820 +ENDCHAR +STARTCHAR U_478A +ENCODING 18314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E1C0 +A100 +EFE0 +A940 +AFE0 +EA80 +AFE0 +EA40 +6BC0 +9240 +93C0 +ENDCHAR +STARTCHAR U_478B +ENCODING 18315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E4E0 +BFA0 +AAE0 +EAA0 +BFA0 +E4E0 +BFA0 +E4A0 +4EE0 +B4A0 +A520 +ENDCHAR +STARTCHAR U_478C +ENCODING 18316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F860 +8B80 +A880 +A880 +AFE0 +A880 +A880 +23E0 +5220 +4A20 +83E0 +ENDCHAR +STARTCHAR U_478D +ENCODING 18317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8FE0 +A900 +ABC0 +A900 +AFE0 +A440 +27C0 +5440 +4FC0 +8440 +ENDCHAR +STARTCHAR U_478E +ENCODING 18318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +8A40 +ABC0 +AA40 +ABC0 +A800 +A7E0 +2420 +57E0 +4C20 +87E0 +ENDCHAR +STARTCHAR U_478F +ENCODING 18319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8AA0 +AAA0 +ABE0 +AAA0 +ABE0 +A840 +A2A0 +2680 +5A20 +89E0 +ENDCHAR +STARTCHAR U_4790 +ENCODING 18320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +8900 +AFE0 +A900 +AFE0 +AA40 +AF60 +22C0 +5240 +83C0 +ENDCHAR +STARTCHAR U_4791 +ENCODING 18321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +13E0 +7C80 +1080 +FE80 +2880 +6C80 +AA80 +2880 +4880 +9BE0 +ENDCHAR +STARTCHAR U_4792 +ENCODING 18322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1220 +7BE0 +1220 +FFA0 +2AA0 +6AA0 +AFA0 +2A20 +4A20 +9A60 +ENDCHAR +STARTCHAR U_4793 +ENCODING 18323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +10A0 +7D40 +1140 +FEA0 +2800 +6DE0 +AA80 +2880 +4880 +9BE0 +ENDCHAR +STARTCHAR U_4794 +ENCODING 18324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1220 +7BE0 +1200 +FFE0 +2A80 +6BE0 +AE80 +2BE0 +4AA0 +9CE0 +ENDCHAR +STARTCHAR U_4795 +ENCODING 18325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1080 +7FE0 +12A0 +FDC0 +2AA0 +6BE0 +AC80 +2BE0 +4AA0 +9AA0 +ENDCHAR +STARTCHAR U_4796 +ENCODING 18326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1140 +7D20 +17E0 +FD00 +1100 +5C80 +50A0 +5060 +B020 +8FE0 +ENDCHAR +STARTCHAR U_4797 +ENCODING 18327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +1040 +7BE0 +10C0 +FCC0 +1140 +5940 +5240 +5540 +7080 +8FE0 +ENDCHAR +STARTCHAR U_4798 +ENCODING 18328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +13E0 +7C00 +13E0 +FC40 +1080 +5D00 +5220 +51E0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_4799 +ENCODING 18329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1080 +7BE0 +12A0 +FEA0 +12A0 +5EA0 +52E0 +5080 +B080 +8FE0 +ENDCHAR +STARTCHAR U_479A +ENCODING 18330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +7FE0 +1080 +FC80 +13E0 +5D40 +5080 +5140 +B220 +8FE0 +ENDCHAR +STARTCHAR U_479B +ENCODING 18331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1080 +7EE0 +12A0 +FEA0 +13E0 +5C20 +5020 +50A0 +B040 +8FE0 +ENDCHAR +STARTCHAR U_479C +ENCODING 18332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1080 +7C80 +1180 +FD40 +12A0 +5CA0 +5080 +5080 +B080 +8FE0 +ENDCHAR +STARTCHAR U_479D +ENCODING 18333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +13E0 +7C80 +1080 +FFE0 +1080 +5CC0 +50A0 +53E0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_479E +ENCODING 18334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +17E0 +7AA0 +17E0 +FA80 +17E0 +5AA0 +52A0 +52C0 +B480 +8FE0 +ENDCHAR +STARTCHAR U_479F +ENCODING 18335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1100 +7BE0 +1220 +FE20 +13E0 +5E20 +5220 +53E0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47A0 +ENCODING 18336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +13E0 +7C80 +1080 +FD00 +13E0 +5D20 +5120 +51E0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47A1 +ENCODING 18337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +1240 +7E40 +13C0 +FE40 +1240 +5BC0 +5000 +57E0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47A2 +ENCODING 18338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7BE0 +1500 +FDE0 +1100 +5DE0 +5100 +5100 +B100 +8FE0 +ENDCHAR +STARTCHAR U_47A3 +ENCODING 18339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +1380 +7E00 +13E0 +FE40 +12C0 +5E60 +5240 +5440 +B840 +8FE0 +ENDCHAR +STARTCHAR U_47A4 +ENCODING 18340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +13E0 +7C20 +13A0 +FEA0 +12A0 +5BA0 +5020 +50A0 +B040 +8FE0 +ENDCHAR +STARTCHAR U_47A5 +ENCODING 18341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +7FE0 +1100 +FBE0 +1520 +5DE0 +5120 +51E0 +B120 +8FE0 +ENDCHAR +STARTCHAR U_47A6 +ENCODING 18342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +13E0 +7D40 +1080 +FD40 +1220 +5DC0 +5140 +51C0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47A7 +ENCODING 18343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +10E0 +7F00 +1200 +FFE0 +1200 +5FE0 +5320 +55E0 +B800 +8FE0 +ENDCHAR +STARTCHAR U_47A8 +ENCODING 18344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +7DE0 +1080 +FFE0 +1080 +5DE0 +5080 +53E0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47A9 +ENCODING 18345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1180 +7A40 +1420 +FBC0 +1000 +5BC0 +5240 +53C0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47AA +ENCODING 18346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1400 +7DE0 +1500 +FDE0 +1540 +5D40 +5640 +57E0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47AB +ENCODING 18347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +1140 +7FE0 +1140 +FFC0 +1200 +57C0 +5A40 +53C0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47AC +ENCODING 18348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +1380 +7C80 +13E0 +FDC0 +12A0 +5BE0 +5140 +5160 +B220 +8FE0 +ENDCHAR +STARTCHAR U_47AD +ENCODING 18349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1240 +7FE0 +1240 +FE20 +13C0 +5A40 +5580 +5180 +B240 +8FE0 +ENDCHAR +STARTCHAR U_47AE +ENCODING 18350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1140 +7A20 +17E0 +FC80 +13E0 +5C80 +52C0 +54A0 +B080 +8FE0 +ENDCHAR +STARTCHAR U_47AF +ENCODING 18351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +1320 +7AA0 +1140 +FDE0 +1040 +5C80 +53E0 +5080 +B080 +8FE0 +ENDCHAR +STARTCHAR U_47B0 +ENCODING 18352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7FC0 +1100 +FFE0 +1280 +56C0 +5AA0 +5480 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47B1 +ENCODING 18353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1240 +7C20 +1180 +FE40 +1420 +5BC0 +5240 +53C0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47B2 +ENCODING 18354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +16A0 +7A80 +17E0 +FA80 +13A0 +5EA0 +5240 +52C0 +B520 +8FE0 +ENDCHAR +STARTCHAR U_47B3 +ENCODING 18355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17E0 +7A40 +1180 +FFE0 +5000 +5BC0 +5240 +53C0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47B4 +ENCODING 18356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +12A0 +7BE0 +12A0 +FFE0 +1220 +5BA0 +52A0 +53A0 +B440 +8FE0 +ENDCHAR +STARTCHAR U_47B5 +ENCODING 18357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +13E0 +7EA0 +1140 +FEA0 +1000 +5FE0 +52A0 +5140 +B2A0 +8FE0 +ENDCHAR +STARTCHAR U_47B6 +ENCODING 18358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +12C0 +7B40 +13C0 +FE00 +13E0 +5560 +5AA0 +5520 +B240 +8FE0 +ENDCHAR +STARTCHAR U_47B7 +ENCODING 18359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1220 +7FE0 +1280 +FEA0 +13E0 +5E80 +52A0 +55E0 +B800 +8FE0 +ENDCHAR +STARTCHAR U_47B8 +ENCODING 18360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +1000 +7BE0 +1080 +FAA0 +1480 +5BE0 +5220 +53E0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47B9 +ENCODING 18361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +11C0 +7D40 +1140 +FFE0 +1080 +5DC0 +5080 +53E0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47BA +ENCODING 18362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1480 +7FE0 +1480 +FDE0 +15A0 +5D60 +55A0 +55E0 +B800 +8FE0 +ENDCHAR +STARTCHAR U_47BB +ENCODING 18363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1140 +7FE0 +12A0 +FFE0 +12A0 +5EA0 +53E0 +5120 +B220 +8FE0 +ENDCHAR +STARTCHAR U_47BC +ENCODING 18364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +1140 +7B80 +1080 +FFE0 +1220 +5D40 +52C0 +55A0 +B280 +8FE0 +ENDCHAR +STARTCHAR U_47BD +ENCODING 18365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +13E0 +7C80 +17E0 +FAA0 +1140 +5FE0 +5080 +52A0 +B480 +8FE0 +ENDCHAR +STARTCHAR U_47BE +ENCODING 18366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +1780 +7CE0 +1480 +FFE0 +14A0 +5FC0 +5480 +5560 +BA40 +8FE0 +ENDCHAR +STARTCHAR U_47BF +ENCODING 18367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7FC0 +1100 +FFE0 +2480 +DF60 +1480 +1D00 +67E0 +ENDCHAR +STARTCHAR U_47C0 +ENCODING 18368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +17E0 +7880 +17E0 +F900 +17E0 +5280 +5C80 +53E0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_47C1 +ENCODING 18369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +12A0 +1540 +7AA0 +13E0 +FEA0 +13E0 +5AA0 +57E0 +51C0 +B2A0 +8FE0 +ENDCHAR +STARTCHAR U_47C2 +ENCODING 18370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +1240 +7FC0 +1240 +FFE0 +5520 +5FE0 +5240 +5180 +B660 +8FE0 +ENDCHAR +STARTCHAR U_47C3 +ENCODING 18371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +13E0 +7D20 +17E0 +F880 +17E0 +5940 +56A0 +5140 +B080 +8FE0 +ENDCHAR +STARTCHAR U_47C4 +ENCODING 18372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17E0 +7900 +17E0 +FB40 +12C0 +5B40 +52C0 +53C0 +B420 +8FE0 +ENDCHAR +STARTCHAR U_47C5 +ENCODING 18373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5500 +7DE0 +5540 +FE40 +1440 +3F80 +0400 +7FC0 +1400 +EFE0 +ENDCHAR +STARTCHAR U_47C6 +ENCODING 18374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +12A0 +7FE0 +12A0 +FFE0 +12A0 +5FE0 +52A0 +57E0 +B080 +8FE0 +ENDCHAR +STARTCHAR U_47C7 +ENCODING 18375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +12A0 +15C0 +7AA0 +17E0 +FAA0 +17E0 +5A80 +52A0 +5540 +B8A0 +87E0 +ENDCHAR +STARTCHAR U_47C8 +ENCODING 18376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +12C0 +17A0 +7A80 +17E0 +FD80 +17A0 +5AA0 +5740 +5240 +B4A0 +8FE0 +ENDCHAR +STARTCHAR U_47C9 +ENCODING 18377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +12A0 +7FE0 +1200 +FFE0 +1520 +5BA0 +5120 +53A0 +B040 +8FE0 +ENDCHAR +STARTCHAR U_47CA +ENCODING 18378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +1080 +7FE0 +12A0 +FFC0 +12A0 +5FE0 +5340 +55C0 +BAA0 +87E0 +ENDCHAR +STARTCHAR U_47CB +ENCODING 18379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +1480 +7FE0 +1540 +FFE0 +1400 +5DC0 +5400 +57E0 +B940 +8FE0 +ENDCHAR +STARTCHAR U_47CC +ENCODING 18380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +17E0 +7A40 +17E0 +FD40 +17C0 +5D60 +57C0 +5540 +B5A0 +8FE0 +ENDCHAR +STARTCHAR U_47CD +ENCODING 18381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +13C0 +7A40 +17E0 +FAA0 +1540 +5FE0 +5100 +53C0 +B440 +8FE0 +ENDCHAR +STARTCHAR U_47CE +ENCODING 18382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +17E0 +7A40 +17E0 +FD20 +13C0 +5B40 +52C0 +53C0 +B420 +8FE0 +ENDCHAR +STARTCHAR U_47CF +ENCODING 18383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2BA0 +FEE0 +27C0 +FAA0 +2FE0 +B900 +A7E0 +E380 +B540 +8FE0 +ENDCHAR +STARTCHAR U_47D0 +ENCODING 18384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2540 +F7E0 +2540 +F760 +2440 +2560 +B540 +ABE0 +F000 +8FE0 +ENDCHAR +STARTCHAR U_47D1 +ENCODING 18385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F440 +2BA0 +F540 +27C0 +2540 +B7C0 +A540 +E000 +9FE0 +ENDCHAR +STARTCHAR U_47D2 +ENCODING 18386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FEE0 +2280 +F5E0 +2C80 +25E0 +B480 +A5E0 +E000 +9FE0 +ENDCHAR +STARTCHAR U_47D3 +ENCODING 18387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8880 +8880 +F880 +2080 +2080 +B880 +A080 +A080 +B880 +C380 +ENDCHAR +STARTCHAR U_47D4 +ENCODING 18388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +FA00 +8A00 +8A00 +FA00 +2300 +2280 +BA40 +A240 +A200 +BA00 +C200 +ENDCHAR +STARTCHAR U_47D5 +ENCODING 18389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F800 +8FE0 +8A20 +FD20 +2440 +2280 +BA80 +A100 +A280 +B440 +C820 +ENDCHAR +STARTCHAR U_47D6 +ENCODING 18390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8900 +8900 +FD20 +2520 +2520 +BD20 +A520 +A520 +BFE0 +C420 +ENDCHAR +STARTCHAR U_47D7 +ENCODING 18391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0E0 +9780 +9480 +F480 +27E0 +2480 +B480 +A480 +A4A0 +B660 +C420 +ENDCHAR +STARTCHAR U_47D8 +ENCODING 18392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +8900 +8FE0 +F800 +2380 +2280 +BAA0 +A2A0 +A2A0 +BAA0 +C460 +ENDCHAR +STARTCHAR U_47D9 +ENCODING 18393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F5E0 +94A0 +9EA0 +F4A0 +24A0 +B4A0 +A4A0 +A6A0 +B520 +C260 +ENDCHAR +STARTCHAR U_47DA +ENCODING 18394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +8800 +8800 +FFE0 +2240 +2240 +BA40 +A240 +A240 +BA40 +C440 +ENDCHAR +STARTCHAR U_47DB +ENCODING 18395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9FE0 +9100 +FFE0 +2920 +B920 +A920 +A920 +B940 +C100 +ENDCHAR +STARTCHAR U_47DC +ENCODING 18396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8900 +8FE0 +FD20 +2520 +2520 +BEA0 +A460 +A420 +BC20 +C460 +ENDCHAR +STARTCHAR U_47DD +ENCODING 18397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +F240 +9240 +9240 +F460 +2BC0 +B240 +A180 +A180 +B240 +C420 +ENDCHAR +STARTCHAR U_47DE +ENCODING 18398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8900 +8900 +F940 +2520 +2520 +B900 +A120 +A040 +B980 +C600 +ENDCHAR +STARTCHAR U_47DF +ENCODING 18399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BE0 +6220 +4220 +7A20 +53E0 +5080 +5080 +5AE0 +5280 +5780 +9860 +ENDCHAR +STARTCHAR U_47E0 +ENCODING 18400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +88A0 +8880 +FFE0 +2480 +24A0 +BCC0 +A480 +A4A0 +BD60 +C620 +ENDCHAR +STARTCHAR U_47E1 +ENCODING 18401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F060 +9780 +9480 +F480 +27E0 +2480 +B480 +A4A0 +A560 +B6A0 +C4A0 +ENDCHAR +STARTCHAR U_47E2 +ENCODING 18402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9200 +93E0 +F500 +2100 +2540 +B540 +A920 +A120 +B100 +C300 +ENDCHAR +STARTCHAR U_47E3 +ENCODING 18403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +8900 +8FE0 +F900 +2180 +2380 +BB40 +A540 +A520 +B920 +C100 +ENDCHAR +STARTCHAR U_47E4 +ENCODING 18404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +88A0 +8A20 +FA40 +2240 +2680 +BB20 +A220 +A600 +BA20 +C1C0 +ENDCHAR +STARTCHAR U_47E5 +ENCODING 18405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +8880 +8A80 +F900 +27E0 +2120 +BB40 +A300 +A500 +B900 +C300 +ENDCHAR +STARTCHAR U_47E6 +ENCODING 18406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +F700 +9100 +9FE0 +F100 +2100 +B3E0 +A2A0 +A2A0 +B440 +C9A0 +ENDCHAR +STARTCHAR U_47E7 +ENCODING 18407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F000 +97E0 +9520 +F520 +2520 +27E0 +B520 +A520 +A520 +B7E0 +C420 +ENDCHAR +STARTCHAR U_47E8 +ENCODING 18408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +9420 +F7E0 +2480 +27E0 +B480 +A4A0 +A4A0 +B660 +C420 +ENDCHAR +STARTCHAR U_47E9 +ENCODING 18409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8900 +8FC0 +F900 +2100 +27E0 +B900 +A200 +A440 +BFA0 +C420 +ENDCHAR +STARTCHAR U_47EA +ENCODING 18410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8E0 +8F00 +8900 +F880 +27E0 +2040 +B880 +A100 +A200 +B600 +C9E0 +ENDCHAR +STARTCHAR U_47EB +ENCODING 18411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +7FE0 +8020 +3F80 +2080 +3F80 +0400 +27C0 +3C00 +C7E0 +ENDCHAR +STARTCHAR U_47EC +ENCODING 18412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F000 +91C0 +9600 +F400 +27C0 +2480 +B480 +A480 +A480 +B480 +CFE0 +ENDCHAR +STARTCHAR U_47ED +ENCODING 18413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +8A00 +8BE0 +FD00 +2100 +21E0 +B900 +A100 +A1E0 +B900 +C100 +ENDCHAR +STARTCHAR U_47EE +ENCODING 18414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F2C0 +92A0 +9480 +F7E0 +2C80 +B480 +A540 +A540 +B640 +C620 +ENDCHAR +STARTCHAR U_47EF +ENCODING 18415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +8F00 +8900 +F900 +27E0 +2100 +B900 +A7C0 +A440 +BC40 +C7C0 +ENDCHAR +STARTCHAR U_47F0 +ENCODING 18416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +92E0 +9500 +F200 +27E0 +2A40 +B240 +A240 +A240 +B240 +C2C0 +ENDCHAR +STARTCHAR U_47F1 +ENCODING 18417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97E0 +9100 +F7E0 +2520 +2560 +B100 +A380 +A540 +B920 +C100 +ENDCHAR +STARTCHAR U_47F2 +ENCODING 18418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +97E0 +9100 +F240 +27E0 +22A0 +B280 +A280 +A2A0 +B2A0 +C4E0 +ENDCHAR +STARTCHAR U_47F3 +ENCODING 18419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +4DA0 +7B60 +1360 +5DA0 +5120 +55A0 +7240 +9000 +8FE0 +ENDCHAR +STARTCHAR U_47F4 +ENCODING 18420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9400 +95C0 +F400 +27E0 +2540 +B560 +A540 +A540 +B5A0 +C520 +ENDCHAR +STARTCHAR U_47F5 +ENCODING 18421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F140 +9120 +9FE0 +F100 +2920 +2540 +B380 +A540 +A920 +B100 +C300 +ENDCHAR +STARTCHAR U_47F6 +ENCODING 18422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9540 +9540 +F540 +2BA0 +2100 +B7C0 +A100 +A100 +B900 +C7E0 +ENDCHAR +STARTCHAR U_47F7 +ENCODING 18423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F460 +9580 +9F00 +F5E0 +2540 +2740 +B540 +AD40 +A540 +B640 +CA40 +ENDCHAR +STARTCHAR U_47F8 +ENCODING 18424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +93E0 +9540 +FA80 +2300 +2C80 +B280 +A7E0 +A280 +B280 +C480 +ENDCHAR +STARTCHAR U_47F9 +ENCODING 18425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0E0 +9700 +9020 +F540 +2280 +27E0 +B080 +A480 +A280 +B080 +C180 +ENDCHAR +STARTCHAR U_47FA +ENCODING 18426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +8BE0 +FA20 +23E0 +2220 +BBE0 +A000 +A140 +B940 +C220 +ENDCHAR +STARTCHAR U_47FB +ENCODING 18427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9280 +9440 +FBA0 +2100 +27C0 +B100 +A540 +A920 +B100 +C300 +ENDCHAR +STARTCHAR U_47FC +ENCODING 18428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F040 +9760 +9040 +F7E0 +2040 +2140 +B5C0 +A540 +A540 +B5E0 +CE20 +ENDCHAR +STARTCHAR U_47FD +ENCODING 18429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9100 +F200 +2440 +2FE0 +B560 +A540 +A540 +B540 +C960 +ENDCHAR +STARTCHAR U_47FE +ENCODING 18430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9120 +95A0 +F240 +25A0 +2000 +B7E0 +A120 +A5A0 +B240 +C5A0 +ENDCHAR +STARTCHAR U_47FF +ENCODING 18431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9040 +97C0 +F040 +2FE0 +2100 +B540 +A380 +A540 +B120 +C600 +ENDCHAR +STARTCHAR U_4800 +ENCODING 18432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F540 +9380 +9100 +FFE0 +2820 +3BA0 +AAA0 +ABA0 +B820 +C860 +ENDCHAR +STARTCHAR U_4801 +ENCODING 18433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +F240 +97E0 +9240 +F5A0 +2FE0 +3800 +A7C0 +A000 +B000 +CFE0 +ENDCHAR +STARTCHAR U_4802 +ENCODING 18434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +71C0 +AAA0 +A480 +1F00 +1100 +5F00 +4400 +6700 +9FE0 +ENDCHAR +STARTCHAR U_4803 +ENCODING 18435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +9100 +9FE0 +F920 +2DA0 +2B60 +BB60 +ADA0 +B920 +C960 +ENDCHAR +STARTCHAR U_4804 +ENCODING 18436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +97C0 +9540 +F7C0 +2540 +3FE0 +A000 +A480 +F440 +8840 +ENDCHAR +STARTCHAR U_4805 +ENCODING 18437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +94A0 +9720 +F520 +27E0 +A520 +BDA0 +A760 +A520 +FD20 +87E0 +ENDCHAR +STARTCHAR U_4806 +ENCODING 18438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9400 +97C0 +F400 +2FE0 +A500 +BD20 +A540 +AC80 +F440 +0620 +ENDCHAR +STARTCHAR U_4807 +ENCODING 18439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +97E0 +F480 +26A0 +A6A0 +B7E0 +A480 +A6A0 +FAA0 +8BE0 +ENDCHAR +STARTCHAR U_4808 +ENCODING 18440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +9140 +FFE0 +2140 +A7C0 +B920 +A540 +AB80 +B540 +C920 +ENDCHAR +STARTCHAR U_4809 +ENCODING 18441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0100 +F7E0 +9820 +97C0 +F440 +27C0 +3400 +A7C0 +B440 +C7C0 +ENDCHAR +STARTCHAR U_480A +ENCODING 18442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +9EE0 +9280 +F280 +2EE0 +B280 +A280 +AEE0 +F280 +8480 +ENDCHAR +STARTCHAR U_480B +ENCODING 18443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9540 +97C0 +F540 +27C0 +B200 +A500 +AFE0 +B100 +C100 +ENDCHAR +STARTCHAR U_480C +ENCODING 18444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +9380 +9540 +FB20 +27C0 +2440 +B7C0 +A440 +A7C0 +BC40 +C4C0 +ENDCHAR +STARTCHAR U_480D +ENCODING 18445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9520 +9520 +F7E0 +2400 +27E0 +B4A0 +A740 +A440 +F7A0 +8520 +ENDCHAR +STARTCHAR U_480E +ENCODING 18446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +97E0 +F400 +27E0 +2540 +B7E0 +A480 +A5C0 +F480 +8BE0 +ENDCHAR +STARTCHAR U_480F +ENCODING 18447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEA0 +92C0 +96A0 +92C0 +F440 +2BA0 +B100 +AFE0 +A280 +B440 +C820 +ENDCHAR +STARTCHAR U_4810 +ENCODING 18448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +F440 +27C0 +2440 +B7C0 +A120 +A7E0 +B280 +E440 +ENDCHAR +STARTCHAR U_4811 +ENCODING 18449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A280 +A540 +EFE0 +2100 +2FE0 +B100 +A7C0 +B100 +CFE0 +ENDCHAR +STARTCHAR U_4812 +ENCODING 18450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E400 +A4E0 +A4A0 +FFA0 +24E0 +2EA0 +BAA0 +AAE0 +AEA0 +B0A0 +C120 +ENDCHAR +STARTCHAR U_4813 +ENCODING 18451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F280 +9FE0 +9280 +FFE0 +2AA0 +2EE0 +B820 +ABA0 +B820 +CFE0 +ENDCHAR +STARTCHAR U_4814 +ENCODING 18452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9280 +9FE0 +F100 +2320 +25C0 +B280 +A580 +A2C0 +B4A0 +CB20 +ENDCHAR +STARTCHAR U_4815 +ENCODING 18453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +E240 +AB60 +AA40 +EF60 +2100 +B7C0 +A100 +A380 +B540 +C920 +ENDCHAR +STARTCHAR U_4816 +ENCODING 18454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EBE0 +A220 +E480 +2880 +2B60 +B000 +A7E0 +A420 +B420 +C7E0 +ENDCHAR +STARTCHAR U_4817 +ENCODING 18455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F7C0 +9540 +96C0 +F540 +27C0 +B120 +AFE0 +A280 +B440 +C820 +ENDCHAR +STARTCHAR U_4818 +ENCODING 18456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +9660 +95A0 +F5A0 +2660 +B7E0 +A480 +A6E0 +B480 +C6E0 +ENDCHAR +STARTCHAR U_4819 +ENCODING 18457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A440 +A280 +EFE0 +2920 +B7C0 +A200 +A3C0 +BA40 +C440 +ENDCHAR +STARTCHAR U_481A +ENCODING 18458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A820 +A280 +EC60 +2380 +B540 +A540 +A540 +B520 +CBA0 +ENDCHAR +STARTCHAR U_481B +ENCODING 18459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0200 +E7C0 +AA80 +A100 +EA00 +27C0 +B900 +A7C0 +A100 +B540 +C7C0 +ENDCHAR +STARTCHAR U_481C +ENCODING 18460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FEE0 +9440 +9FE0 +F240 +23C0 +B240 +A3C0 +A240 +B7E0 +C040 +ENDCHAR +STARTCHAR U_481D +ENCODING 18461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +9240 +97E0 +F420 +27E0 +2420 +B7E0 +A420 +A7E0 +B240 +C420 +ENDCHAR +STARTCHAR U_481E +ENCODING 18462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00A0 +E080 +AFE0 +AA80 +EB80 +2AA0 +BFA0 +AA40 +AF40 +BA40 +D0A0 +ENDCHAR +STARTCHAR U_481F +ENCODING 18463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +23C0 +F940 +5340 +F9C0 +2260 +7F80 +2080 +3F80 +4900 +BFE0 +ENDCHAR +STARTCHAR U_4820 +ENCODING 18464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +FFE0 +4A40 +FFE0 +8420 +3F80 +3580 +2A80 +3FC0 +4400 +BFE0 +ENDCHAR +STARTCHAR U_4821 +ENCODING 18465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +E080 +AFE0 +A900 +EBC0 +29C0 +B800 +ABC0 +AAC0 +BB40 +D7E0 +ENDCHAR +STARTCHAR U_4822 +ENCODING 18466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +5140 +7FC0 +0000 +FFE0 +8020 +3F80 +2080 +3FC0 +4400 +BFE0 +ENDCHAR +STARTCHAR U_4823 +ENCODING 18467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +E880 +2EE0 +2280 +BFE0 +A280 +AFE0 +B240 +C420 +ENDCHAR +STARTCHAR U_4824 +ENCODING 18468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +E000 +27C0 +26C0 +B540 +A7C0 +A100 +BFE0 +C100 +ENDCHAR +STARTCHAR U_4825 +ENCODING 18469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E440 +B540 +AE80 +E4E0 +5F20 +55A0 +F5A0 +DF40 +D540 +F540 +95A0 +ENDCHAR +STARTCHAR U_4826 +ENCODING 18470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +EFE0 +B2A0 +AFA0 +E2E0 +2500 +B7C0 +A440 +A7C0 +B440 +C7C0 +ENDCHAR +STARTCHAR U_4827 +ENCODING 18471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +97E0 +F480 +25C0 +24A0 +B7E0 +A520 +A7E0 +B520 +C9E0 +ENDCHAR +STARTCHAR U_4828 +ENCODING 18472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E3C0 +A480 +AFE0 +E540 +27E0 +2400 +B5E0 +A400 +A5E0 +B520 +C9E0 +ENDCHAR +STARTCHAR U_4829 +ENCODING 18473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +AFE0 +A080 +EFE0 +2880 +2FA0 +BAA0 +AE40 +AB40 +AA40 +D4A0 +ENDCHAR +STARTCHAR U_482A +ENCODING 18474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +EA40 +ADA0 +AA40 +EDA0 +2FE0 +BA40 +ADA0 +AA40 +BDA0 +CFE0 +ENDCHAR +STARTCHAR U_482B +ENCODING 18475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EF00 +A5E0 +A7A0 +E540 +2740 +2DA0 +B000 +AFE0 +A520 +A940 +D5A0 +ENDCHAR +STARTCHAR U_482C +ENCODING 18476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DD60 +AAA0 +BBA0 +EAC0 +31A0 +2EA0 +B0A0 +AEA0 +AAC0 +B580 +CE80 +ENDCHAR +STARTCHAR U_482D +ENCODING 18477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E4E0 +AF20 +A4E0 +EEA0 +2AE0 +2EA0 +B4E0 +AEA0 +B5E0 +A4A0 +C520 +ENDCHAR +STARTCHAR U_482E +ENCODING 18478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E540 +AFE0 +A200 +EFE0 +2480 +AFE0 +BD40 +AA80 +AFE0 +D020 +AAA0 +ENDCHAR +STARTCHAR U_482F +ENCODING 18479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E300 +A480 +AB40 +E000 +2FE0 +2AA0 +B540 +AFE0 +AAA0 +BFE0 +CAA0 +ENDCHAR +STARTCHAR U_4830 +ENCODING 18480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +9280 +97C0 +F540 +26C0 +23E0 +BC80 +A7E0 +B480 +C7E0 +ENDCHAR +STARTCHAR U_4831 +ENCODING 18481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +97E0 +F540 +27E0 +24A0 +B7E0 +A520 +B7E0 +E520 +8BC0 +ENDCHAR +STARTCHAR U_4832 +ENCODING 18482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7280 +5440 +7820 +5380 +7000 +57C0 +F040 +5280 +9100 +3100 +ENDCHAR +STARTCHAR U_4833 +ENCODING 18483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7520 +5520 +7520 +57E0 +7100 +5520 +F520 +5520 +97E0 +3420 +ENDCHAR +STARTCHAR U_4834 +ENCODING 18484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7080 +57E0 +7000 +5420 +7420 +5220 +F240 +5240 +9000 +37E0 +ENDCHAR +STARTCHAR U_4835 +ENCODING 18485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +7240 +5440 +77E0 +5440 +7E40 +5540 +F440 +5440 +9440 +34C0 +ENDCHAR +STARTCHAR U_4836 +ENCODING 18486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7200 +53E0 +7480 +5880 +77E0 +5880 +F140 +3140 +5220 +B420 +ENDCHAR +STARTCHAR U_4837 +ENCODING 18487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +7280 +5AA0 +76C0 +5280 +72C0 +56A0 +FA80 +32A0 +52A0 +B4E0 +ENDCHAR +STARTCHAR U_4838 +ENCODING 18488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +5280 +7440 +5BA0 +7000 +57C0 +F200 +57C0 +9040 +3180 +ENDCHAR +STARTCHAR U_4839 +ENCODING 18489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7FE0 +4900 +7A00 +4A40 +7980 +4920 +FE40 +2880 +4940 +9E20 +ENDCHAR +STARTCHAR U_483A +ENCODING 18490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +E3E0 +A820 +E820 +ABA0 +EAA0 +BAA0 +EBA0 +6AA0 +A820 +6860 +ENDCHAR +STARTCHAR U_483B +ENCODING 18491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77E0 +5AA0 +7440 +57C0 +7040 +53C0 +F400 +57E0 +9020 +33C0 +ENDCHAR +STARTCHAR U_483C +ENCODING 18492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +E280 +A440 +FBA0 +AE20 +EAA0 +BEA0 +EAA0 +6EA0 +AA20 +6A60 +ENDCHAR +STARTCHAR U_483D +ENCODING 18493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7540 +57C0 +7000 +5FE0 +7000 +57C0 +D440 +37C0 +5280 +9FE0 +ENDCHAR +STARTCHAR U_483E +ENCODING 18494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +EAA0 +AEE0 +EAA0 +AEE0 +E920 +B920 +EAA0 +6C60 +A820 +6860 +ENDCHAR +STARTCHAR U_483F +ENCODING 18495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77C0 +5540 +77C0 +5100 +7FE0 +5440 +F7C0 +5440 +97C0 +3820 +ENDCHAR +STARTCHAR U_4840 +ENCODING 18496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +EFE0 +A000 +EFE0 +A920 +EAA0 +AFE0 +F440 +27C0 +6440 +AFE0 +ENDCHAR +STARTCHAR U_4841 +ENCODING 18497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +DF80 +AAE0 +FF20 +A0E0 +EE80 +AAE0 +EE80 +3AE0 +6E80 +AAE0 +ENDCHAR +STARTCHAR U_4842 +ENCODING 18498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2040 +FA40 +2240 +FA40 +AA40 +FA40 +AA40 +FBC0 +2040 +F840 +2040 +ENDCHAR +STARTCHAR U_4843 +ENCODING 18499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +F900 +2100 +FBE0 +A920 +F920 +A920 +F920 +2220 +FA20 +24C0 +ENDCHAR +STARTCHAR U_4844 +ENCODING 18500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FB80 +2280 +FA80 +AA80 +FA80 +AA80 +FA80 +22A0 +FAA0 +24E0 +ENDCHAR +STARTCHAR U_4845 +ENCODING 18501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +FA20 +22A0 +FAA0 +AAA0 +FAA0 +AAA0 +FAA0 +22A0 +FA20 +2420 +ENDCHAR +STARTCHAR U_4846 +ENCODING 18502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +F940 +2140 +F940 +AA20 +FAA0 +AC80 +F900 +2240 +FBE0 +2020 +ENDCHAR +STARTCHAR U_4847 +ENCODING 18503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +2000 +F800 +AFE0 +FA80 +AA80 +FA80 +2280 +FC80 +2460 +ENDCHAR +STARTCHAR U_4848 +ENCODING 18504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +F940 +2080 +F940 +AA20 +F800 +AA20 +F940 +2080 +F940 +2220 +ENDCHAR +STARTCHAR U_4849 +ENCODING 18505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F880 +27E0 +F800 +ABC0 +FA40 +AA40 +FA40 +2240 +FA40 +2420 +ENDCHAR +STARTCHAR U_484A +ENCODING 18506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FB80 +2200 +FA00 +ABE0 +FAA0 +AAA0 +FAA0 +2240 +FCA0 +2920 +ENDCHAR +STARTCHAR U_484B +ENCODING 18507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +23E0 +F880 +A880 +FBE0 +AA20 +F940 +2080 +F940 +2220 +ENDCHAR +STARTCHAR U_484C +ENCODING 18508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +27E0 +F900 +A940 +FA40 +AA80 +FC80 +2120 +FBE0 +2020 +ENDCHAR +STARTCHAR U_484D +ENCODING 18509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +23E0 +F880 +A880 +FBE0 +A880 +F940 +2140 +FA20 +2220 +ENDCHAR +STARTCHAR U_484E +ENCODING 18510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FB80 +2200 +FBE0 +AA20 +FA20 +ABE0 +FA00 +2200 +FC00 +2400 +ENDCHAR +STARTCHAR U_484F +ENCODING 18511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2740 +F940 +2140 +FB40 +AC40 +F840 +AE40 +FAA0 +22A0 +FBE0 +2620 +ENDCHAR +STARTCHAR U_4850 +ENCODING 18512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F880 +23E0 +FA20 +A800 +F900 +A920 +F9C0 +2100 +F920 +20E0 +ENDCHAR +STARTCHAR U_4851 +ENCODING 18513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +2220 +FA20 +ABE0 +FA80 +AA80 +FBE0 +2280 +FA40 +2320 +ENDCHAR +STARTCHAR U_4852 +ENCODING 18514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +22A0 +FAA0 +AAA0 +FBE0 +AAA0 +FAA0 +22A0 +FBE0 +2000 +ENDCHAR +STARTCHAR U_4853 +ENCODING 18515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +3F60 +4400 +9F00 +35E0 +5F40 +D540 +5F40 +4440 +5F40 +44C0 +ENDCHAR +STARTCHAR U_4854 +ENCODING 18516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBC0 +2440 +FA80 +A900 +FA80 +A9E0 +FA20 +2140 +F880 +2300 +ENDCHAR +STARTCHAR U_4855 +ENCODING 18517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F840 +2080 +F8A0 +AEC0 +FAA0 +AAA0 +FAA0 +2480 +F800 +23E0 +ENDCHAR +STARTCHAR U_4856 +ENCODING 18518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F800 +2140 +FA20 +AC80 +F880 +ABE0 +F880 +2080 +F880 +23E0 +ENDCHAR +STARTCHAR U_4857 +ENCODING 18519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +2240 +3740 +C260 +0400 +FFE0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_4858 +ENCODING 18520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +2420 +F820 +AFA0 +FAA0 +AFA0 +FAA0 +27A0 +F820 +2040 +ENDCHAR +STARTCHAR U_4859 +ENCODING 18521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2220 +FBE0 +AA20 +FBE0 +AA80 +FAA0 +2240 +FA40 +2320 +ENDCHAR +STARTCHAR U_485A +ENCODING 18522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F900 +23E0 +FA20 +ABE0 +FA20 +ABE0 +F940 +2140 +FA40 +2460 +ENDCHAR +STARTCHAR U_485B +ENCODING 18523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +2080 +FBE0 +2080 +ENDCHAR +STARTCHAR U_485C +ENCODING 18524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +A940 +FA40 +AC60 +F880 +23E0 +F880 +23E0 +ENDCHAR +STARTCHAR U_485D +ENCODING 18525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2420 +FA00 +ABE0 +FAA0 +A8A0 +FAA0 +2140 +FA40 +2460 +ENDCHAR +STARTCHAR U_485E +ENCODING 18526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2880 +2480 +FFE0 +2480 +7FC0 +9520 +1F00 +1500 +7FC0 +0400 +ENDCHAR +STARTCHAR U_485F +ENCODING 18527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F900 +23E0 +FAA0 +ABE0 +FAA0 +ABE0 +F940 +2240 +FBE0 +2040 +ENDCHAR +STARTCHAR U_4860 +ENCODING 18528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +F880 +23E0 +FA20 +ABE0 +FA20 +ABE0 +FA20 +23E0 +F940 +2220 +ENDCHAR +STARTCHAR U_4861 +ENCODING 18529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +FBE0 +2280 +FBA0 +AA60 +F900 +ABE0 +FA20 +23E0 +FA20 +23E0 +ENDCHAR +STARTCHAR U_4862 +ENCODING 18530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +FA00 +23E0 +FA20 +ABE0 +FA00 +ABE0 +FAA0 +23E0 +FAA0 +2460 +ENDCHAR +STARTCHAR U_4863 +ENCODING 18531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA20 +2080 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +2080 +FBE0 +2080 +ENDCHAR +STARTCHAR U_4864 +ENCODING 18532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0420 +3F40 +0480 +FFE0 +3480 +5280 +FFE0 +4E40 +5540 +FFE0 +0400 +ENDCHAR +STARTCHAR U_4865 +ENCODING 18533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +2440 +FA80 +AC40 +F980 +AA40 +FFE0 +2240 +FA40 +23C0 +ENDCHAR +STARTCHAR U_4866 +ENCODING 18534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F940 +2080 +FFE0 +AAA0 +FB40 +ACA0 +F880 +27E0 +FAC0 +24A0 +ENDCHAR +STARTCHAR U_4867 +ENCODING 18535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBE0 +2220 +FBE0 +AA00 +FBE0 +AA00 +FBE0 +2020 +FAA0 +2060 +ENDCHAR +STARTCHAR U_4868 +ENCODING 18536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +0400 +7FC0 +2200 +5FC0 +8400 +FFE0 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_4869 +ENCODING 18537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +AA20 +FBA0 +AAE0 +FA20 +27E0 +F940 +2220 +ENDCHAR +STARTCHAR U_486A +ENCODING 18538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +FA00 +23E0 +FA20 +ABE0 +FA00 +ABE0 +FAA0 +23E0 +FAA0 +25E0 +ENDCHAR +STARTCHAR U_486B +ENCODING 18539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +FD20 +22A0 +FE40 +AAA0 +FB40 +AAE0 +FA40 +22E0 +FA40 +25E0 +ENDCHAR +STARTCHAR U_486C +ENCODING 18540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +23C0 +FA40 +AFE0 +FAA0 +AFE0 +FBC0 +2240 +F980 +2660 +ENDCHAR +STARTCHAR U_486D +ENCODING 18541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +FFE0 +2080 +FBE0 +A880 +FFE0 +ABC0 +FD40 +27C0 +F940 +27E0 +ENDCHAR +STARTCHAR U_486E +ENCODING 18542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +FAA0 +24A0 +F940 +AA00 +FA40 +AEC0 +FAE0 +22C0 +FAC0 +2360 +ENDCHAR +STARTCHAR U_486F +ENCODING 18543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +26A0 +FD60 +ACA0 +FFE0 +A900 +FAA0 +2620 +FA40 +23C0 +ENDCHAR +STARTCHAR U_4870 +ENCODING 18544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FD40 +1220 +7DC0 +5540 +FFE0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_4871 +ENCODING 18545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA00 +22E0 +FAA0 +AAE0 +FA00 +ABE0 +FAA0 +23E0 +FE00 +23E0 +ENDCHAR +STARTCHAR U_4872 +ENCODING 18546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FAA0 +23E0 +F800 +ABE0 +FAA0 +ABE0 +FAA0 +27E0 +F880 +2080 +ENDCHAR +STARTCHAR U_4873 +ENCODING 18547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FAA0 +27C0 +FA80 +ABE0 +FAA0 +ABA0 +FAA0 +27A0 +FAA0 +24A0 +ENDCHAR +STARTCHAR U_4874 +ENCODING 18548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2140 +FFE0 +A800 +FBE0 +AAE0 +FBA0 +27E0 +F880 +27E0 +ENDCHAR +STARTCHAR U_4875 +ENCODING 18549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +FBE0 +2680 +FAC0 +AB60 +FEC0 +AB60 +FAC0 +2340 +FAC0 +25E0 +ENDCHAR +STARTCHAR U_4876 +ENCODING 18550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2740 +FDE0 +2500 +FDA0 +AF40 +FCE0 +AF40 +FDE0 +2540 +FD40 +2F40 +ENDCHAR +STARTCHAR U_4877 +ENCODING 18551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +2240 +F880 +ABE0 +F880 +AFE0 +FA00 +27E0 +FAA0 +2FE0 +ENDCHAR +STARTCHAR U_4878 +ENCODING 18552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +FBE0 +2140 +FBE0 +AAA0 +FBE0 +A880 +FBE0 +22A0 +FA40 +23A0 +ENDCHAR +STARTCHAR U_4879 +ENCODING 18553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FFE0 +ABE0 +FAA0 +ABE0 +F880 +22C0 +FA80 +25E0 +ENDCHAR +STARTCHAR U_487A +ENCODING 18554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +2240 +FBC0 +A840 +FFE0 +A840 +FBC0 +2080 +FB60 +25C0 +ENDCHAR +STARTCHAR U_487B +ENCODING 18555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +2240 +FBC0 +AA40 +FFE0 +AD40 +FA20 +27C0 +FA40 +24C0 +ENDCHAR +STARTCHAR U_487C +ENCODING 18556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F880 +27E0 +FCA0 +AAA0 +F940 +AA20 +FFE0 +25A0 +FDA0 +27E0 +ENDCHAR +STARTCHAR U_487D +ENCODING 18557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +2240 +FFE0 +AA40 +FDA0 +ABC0 +FA40 +23C0 +FA40 +2660 +ENDCHAR +STARTCHAR U_487E +ENCODING 18558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFC0 +2A60 +FF40 +AAE0 +FF40 +A940 +FF40 +2B60 +FDA0 +2B20 +ENDCHAR +STARTCHAR U_487F +ENCODING 18559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +F100 +2FE0 +F920 +AFE0 +FAA0 +AFE0 +FD40 +2BA0 +F100 +2FE0 +ENDCHAR +STARTCHAR U_4880 +ENCODING 18560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +F200 +47E0 +A800 +A7C0 +F040 +2080 +3100 +6200 +A420 +27E0 +ENDCHAR +STARTCHAR U_4881 +ENCODING 18561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2000 +F7C0 +4440 +A440 +A740 +F440 +2740 +3440 +6440 +A9C0 +3080 +ENDCHAR +STARTCHAR U_4882 +ENCODING 18562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +F100 +4FE0 +8000 +A440 +F440 +2280 +3280 +6100 +AFE0 +2000 +ENDCHAR +STARTCHAR U_4883 +ENCODING 18563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4FE0 +7A80 +47E0 +B900 +AFE0 +3940 +0080 +0900 +0600 +F9E0 +ENDCHAR +STARTCHAR U_4884 +ENCODING 18564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F7E0 +0280 +F7E0 +9100 +F7E0 +2100 +FFE0 +2100 +7380 +AD60 +ENDCHAR +STARTCHAR U_4885 +ENCODING 18565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BC0 +4040 +7BC0 +4040 +7FE0 +4000 +5FC0 +4000 +7FE0 +5240 +99E0 +ENDCHAR +STARTCHAR U_4886 +ENCODING 18566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8400 +8DC0 +7400 +57E0 +5540 +55A0 +5440 +5FE0 +9540 +88C0 +ENDCHAR +STARTCHAR U_4887 +ENCODING 18567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2400 +FDC0 +8400 +7FE0 +55A0 +5540 +5520 +57E0 +9940 +88C0 +ENDCHAR +STARTCHAR U_4888 +ENCODING 18568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4000 +7FC0 +5280 +91C0 +1F00 +F5E0 +2E80 +3F80 +1500 +1F00 +ENDCHAR +STARTCHAR U_4889 +ENCODING 18569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24C0 +5F40 +7BC0 +5540 +7FC0 +4000 +7FC0 +4000 +7FE0 +5280 +99C0 +ENDCHAR +STARTCHAR U_488A +ENCODING 18570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2040 +2080 +07E0 +F080 +2080 +2080 +2280 +2100 +5000 +8FE0 +ENDCHAR +STARTCHAR U_488B +ENCODING 18571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2000 +2FE0 +0240 +F240 +2240 +2240 +2440 +2840 +5000 +8FE0 +ENDCHAR +STARTCHAR U_488C +ENCODING 18572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +2FE0 +0100 +F7C0 +2540 +2540 +2540 +25C0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_488D +ENCODING 18573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +2FE0 +0200 +F3C0 +2240 +2440 +2840 +2180 +5800 +87E0 +ENDCHAR +STARTCHAR U_488E +ENCODING 18574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +2280 +0280 +F7E0 +2280 +2280 +2480 +2880 +5C00 +83E0 +ENDCHAR +STARTCHAR U_488F +ENCODING 18575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +2280 +0180 +F480 +22E0 +2F80 +2080 +2080 +3080 +CFE0 +ENDCHAR +STARTCHAR U_4890 +ENCODING 18576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F80 +8880 +4880 +0F80 +C880 +4F80 +4880 +4880 +5FE0 +A000 +9FE0 +ENDCHAR +STARTCHAR U_4891 +ENCODING 18577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2680 +2480 +07E0 +F480 +2480 +24A0 +2560 +26A0 +3800 +C7E0 +ENDCHAR +STARTCHAR U_4892 +ENCODING 18578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +2FE0 +0440 +EC60 +2280 +2100 +2280 +2460 +5000 +8FE0 +ENDCHAR +STARTCHAR U_4893 +ENCODING 18579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2820 +07C0 +F100 +2FE0 +2100 +2100 +2300 +5800 +87E0 +ENDCHAR +STARTCHAR U_4894 +ENCODING 18580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +2440 +0BA0 +E000 +27C0 +2440 +2440 +27C0 +5800 +87E0 +ENDCHAR +STARTCHAR U_4895 +ENCODING 18581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +20A0 +27E0 +0480 +F780 +24A0 +24C0 +24E0 +2B20 +5800 +87E0 +ENDCHAR +STARTCHAR U_4896 +ENCODING 18582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +2140 +0FE0 +F140 +27C0 +2100 +2FE0 +2100 +5900 +87E0 +ENDCHAR +STARTCHAR U_4897 +ENCODING 18583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +2FE0 +0AA0 +FAA0 +2FE0 +2AA0 +2AA0 +2FE0 +3800 +C7E0 +ENDCHAR +STARTCHAR U_4898 +ENCODING 18584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +28A0 +0080 +F7C0 +2880 +2480 +2080 +2180 +5800 +87E0 +ENDCHAR +STARTCHAR U_4899 +ENCODING 18585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +2440 +07C0 +F440 +27C0 +2440 +27C0 +2820 +5000 +8FE0 +ENDCHAR +STARTCHAR U_489A +ENCODING 18586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +27C0 +0540 +F7C0 +2540 +27C0 +2500 +2380 +5C60 +87E0 +ENDCHAR +STARTCHAR U_489B +ENCODING 18587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +2AA0 +0C60 +FBA0 +2AA0 +2AA0 +2BA0 +2860 +7800 +87E0 +ENDCHAR +STARTCHAR U_489C +ENCODING 18588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2040 +27C0 +0040 +FFE0 +2920 +27C0 +2540 +25C0 +3900 +C7E0 +ENDCHAR +STARTCHAR U_489D +ENCODING 18589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +2280 +0EE0 +E820 +2EE0 +2280 +2280 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_489E +ENCODING 18590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +3FE0 +0480 +F480 +2DC0 +36A0 +2480 +2480 +5800 +87E0 +ENDCHAR +STARTCHAR U_489F +ENCODING 18591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2480 +3EE0 +09A0 +EEA0 +2AA0 +2A40 +2AA0 +3520 +5000 +8FE0 +ENDCHAR +STARTCHAR U_48A0 +ENCODING 18592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2520 +2940 +0280 +EC60 +2240 +2FE0 +2240 +2440 +5840 +8FE0 +ENDCHAR +STARTCHAR U_48A1 +ENCODING 18593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2FE0 +2540 +07E0 +F100 +2FE0 +2380 +2540 +2920 +3800 +C7E0 +ENDCHAR +STARTCHAR U_48A2 +ENCODING 18594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +2540 +2FE0 +0440 +F7C0 +2440 +2FE0 +3420 +27E0 +3800 +C7E0 +ENDCHAR +STARTCHAR U_48A3 +ENCODING 18595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +27C0 +2240 +0F80 +F100 +2FE0 +2500 +2280 +27C0 +7440 +8FE0 +ENDCHAR +STARTCHAR U_48A4 +ENCODING 18596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +46C0 +2CA0 +2480 +1FE0 +E480 +2DC0 +36A0 +2480 +2480 +3C80 +C7E0 +ENDCHAR +STARTCHAR U_48A5 +ENCODING 18597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +25C0 +0500 +FFE0 +2540 +26C0 +2540 +27C0 +3800 +C7E0 +ENDCHAR +STARTCHAR U_48A6 +ENCODING 18598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2AA0 +07C0 +EAA0 +2FE0 +2100 +2FE0 +2100 +3900 +C7E0 +ENDCHAR +STARTCHAR U_48A7 +ENCODING 18599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +2660 +0BA0 +F540 +2A20 +2180 +2640 +2180 +3A00 +C7E0 +ENDCHAR +STARTCHAR U_48A8 +ENCODING 18600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2940 +36A0 +0800 +FA80 +2AE0 +2A80 +2B80 +2CE0 +7800 +87E0 +ENDCHAR +STARTCHAR U_48A9 +ENCODING 18601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +2880 +3EE0 +0BA0 +EAA0 +3FA0 +2A40 +2AA0 +2F20 +7800 +87E0 +ENDCHAR +STARTCHAR U_48AA +ENCODING 18602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2200 +2FE0 +0480 +FFC0 +24A0 +2FC0 +2940 +2F40 +7840 +87E0 +ENDCHAR +STARTCHAR U_48AB +ENCODING 18603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E80 +2BE0 +2C80 +0BE0 +FA40 +2BE0 +2D20 +29E0 +2920 +7800 +87E0 +ENDCHAR +STARTCHAR U_48AC +ENCODING 18604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2E40 +2A80 +0FE0 +F4A0 +2FC0 +3A80 +27E0 +2480 +3880 +C7E0 +ENDCHAR +STARTCHAR U_48AD +ENCODING 18605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +2100 +07C0 +F100 +2FE0 +24A0 +22C0 +2D20 +F800 +07E0 +ENDCHAR +STARTCHAR U_48AE +ENCODING 18606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +27E0 +0D60 +F380 +2540 +27C0 +2540 +27C0 +7800 +87E0 +ENDCHAR +STARTCHAR U_48AF +ENCODING 18607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2380 +2D60 +0380 +FC60 +27C0 +2A80 +27E0 +2480 +7880 +87E0 +ENDCHAR +STARTCHAR U_48B0 +ENCODING 18608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3DE0 +94A0 +4C60 +14A0 +FFE0 +4900 +4FC0 +4900 +4FC0 +6900 +9FE0 +ENDCHAR +STARTCHAR U_48B1 +ENCODING 18609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4FE0 +2100 +0FE0 +FAA0 +2FE0 +2540 +2540 +27C0 +7820 +8FE0 +ENDCHAR +STARTCHAR U_48B2 +ENCODING 18610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +4AA0 +2EE0 +FAA0 +2FE0 +2480 +27E0 +2480 +2FE0 +7240 +8FE0 +ENDCHAR +STARTCHAR U_48B3 +ENCODING 18611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79E0 +4920 +4940 +4980 +4940 +4920 +4920 +4B20 +4DC0 +4900 +8100 +ENDCHAR +STARTCHAR U_48B4 +ENCODING 18612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 0 -1 +BITMAP +1BC0 +E240 +2280 +2280 +FA40 +2240 +2340 +2280 +4200 +8200 +ENDCHAR +STARTCHAR U_48B5 +ENCODING 18613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01E0 +F920 +0140 +0140 +FD20 +2120 +4120 +4920 +8DC0 +F500 +0100 +ENDCHAR +STARTCHAR U_48B6 +ENCODING 18614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +1120 +FD40 +1180 +3140 +3920 +5520 +9120 +11C0 +1100 +1100 +ENDCHAR +STARTCHAR U_48B7 +ENCODING 18615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4520 +6540 +5540 +4520 +FF20 +4520 +4520 +45A0 +8540 +8D00 +ENDCHAR +STARTCHAR U_48B8 +ENCODING 18616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4520 +4540 +7D40 +4520 +4520 +7D20 +4520 +47A0 +F940 +0100 +ENDCHAR +STARTCHAR U_48B9 +ENCODING 18617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +8120 +8120 +F940 +8940 +8920 +F920 +8120 +81A0 +FD40 +0100 +ENDCHAR +STARTCHAR U_48BA +ENCODING 18618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +9520 +9520 +FD40 +1140 +1120 +9520 +9520 +95A0 +FD40 +0100 +ENDCHAR +STARTCHAR U_48BB +ENCODING 18619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +9120 +9140 +F940 +8920 +8920 +F920 +91A0 +9140 +FD00 +0100 +ENDCHAR +STARTCHAR U_48BC +ENCODING 18620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +4920 +FD40 +4940 +4920 +4920 +FD20 +0120 +49C0 +4500 +8500 +ENDCHAR +STARTCHAR U_48BD +ENCODING 18621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7FC0 +2080 +FFE0 +5140 +BFA0 +2480 +3F80 +2000 +2040 +1FC0 +ENDCHAR +STARTCHAR U_48BE +ENCODING 18622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +5120 +7D40 +9140 +1120 +FF20 +2920 +2920 +4BC0 +8D00 +0100 +ENDCHAR +STARTCHAR U_48BF +ENCODING 18623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +FD20 +8540 +4140 +4920 +FD20 +4920 +4920 +39C0 +C500 +0100 +ENDCHAR +STARTCHAR U_48C0 +ENCODING 18624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +3EA0 +44A0 +FEC0 +40A0 +5EA0 +52A0 +56C0 +5080 +9C80 +9080 +ENDCHAR +STARTCHAR U_48C1 +ENCODING 18625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +22A0 +AAA0 +66C0 +22A0 +66A0 +AAA0 +22A0 +22E0 +AA80 +4480 +ENDCHAR +STARTCHAR U_48C2 +ENCODING 18626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +15E0 +7920 +1120 +7D40 +1140 +FF20 +3120 +39A0 +5540 +5500 +9100 +ENDCHAR +STARTCHAR U_48C3 +ENCODING 18627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +7CA0 +90A0 +10C0 +FEA0 +10A0 +5EA0 +50C0 +5080 +5E80 +F080 +ENDCHAR +STARTCHAR U_48C4 +ENCODING 18628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +28A0 +44A0 +B8C0 +10A0 +7CA0 +10A0 +58C0 +5480 +B480 +1080 +ENDCHAR +STARTCHAR U_48C5 +ENCODING 18629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7EE0 +40A0 +7CA0 +40C0 +7EA0 +50A0 +5AA0 +54C0 +5480 +9280 +9880 +ENDCHAR +STARTCHAR U_48C6 +ENCODING 18630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +0120 +5520 +A940 +5540 +0120 +FD20 +2120 +3DC0 +E100 +0100 +ENDCHAR +STARTCHAR U_48C7 +ENCODING 18631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +14E0 +12A0 +FEA0 +10C0 +92A0 +54A0 +10A0 +54C0 +9280 +9280 +3080 +ENDCHAR +STARTCHAR U_48C8 +ENCODING 18632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +8A40 +FBC0 +0000 +FBE0 +AAA0 +AAA0 +FBE0 +8200 +BA20 +C3E0 +ENDCHAR +STARTCHAR U_48C9 +ENCODING 18633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +AA80 +5340 +8400 +7F80 +2080 +7FC0 +4440 +7FC0 +4020 +7FE0 +ENDCHAR +STARTCHAR U_48CA +ENCODING 18634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +92E0 +54A0 +10A0 +FEC0 +82A0 +BAA0 +AAA0 +AAC0 +BA80 +8280 +8680 +ENDCHAR +STARTCHAR U_48CB +ENCODING 18635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +54A0 +48A0 +12C0 +FEA0 +10A0 +38A0 +54C0 +9080 +1080 +1080 +ENDCHAR +STARTCHAR U_48CC +ENCODING 18636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +08E0 +7FA0 +40A0 +5EC0 +54A0 +54A0 +5EA0 +54C0 +5280 +9980 +9680 +ENDCHAR +STARTCHAR U_48CD +ENCODING 18637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +FEA0 +34A0 +52C0 +FFA0 +52A0 +7EA0 +52C0 +7E80 +1080 +1C80 +ENDCHAR +STARTCHAR U_48CE +ENCODING 18638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +55E0 +5520 +A920 +5540 +0140 +7D20 +5520 +7DA0 +5540 +5500 +7D00 +ENDCHAR +STARTCHAR U_48CF +ENCODING 18639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AE0 +2AA0 +2AA0 +5FC0 +4AA0 +CAA0 +7FA0 +40A0 +4AE0 +4980 +5080 +ENDCHAR +STARTCHAR U_48D0 +ENCODING 18640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +FFE0 +2920 +1140 +7D40 +5520 +5520 +FF20 +29C0 +4500 +8300 +ENDCHAR +STARTCHAR U_48D1 +ENCODING 18641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4120 +7D40 +55C0 +7D20 +5520 +7D20 +51A0 +7D40 +9100 +BF00 +ENDCHAR +STARTCHAR U_48D2 +ENCODING 18642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7DE0 +5520 +FF40 +0140 +7D20 +5520 +55A0 +5540 +2900 +C500 +ENDCHAR +STARTCHAR U_48D3 +ENCODING 18643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FCE0 +00A0 +7CA0 +44C0 +7CA0 +00A0 +FEA0 +AAA0 +FEE0 +9280 +9680 +ENDCHAR +STARTCHAR U_48D4 +ENCODING 18644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9400 +59E0 +FD20 +8540 +FD40 +8520 +FD20 +8520 +FDC0 +4900 +8500 +ENDCHAR +STARTCHAR U_48D5 +ENCODING 18645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +5120 +7D40 +5140 +7D20 +5120 +7D20 +05A0 +AD40 +A500 +1900 +ENDCHAR +STARTCHAR U_48D6 +ENCODING 18646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +5240 +7A40 +53C0 +7800 +53E0 +7AA0 +0BE0 +AA00 +AA20 +19E0 +ENDCHAR +STARTCHAR U_48D7 +ENCODING 18647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7DE0 +4520 +7D40 +4540 +7D20 +2120 +FFA0 +5540 +FF00 +1100 +ENDCHAR +STARTCHAR U_48D8 +ENCODING 18648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +95E0 +5920 +FD40 +8540 +7920 +4920 +7920 +21A0 +7940 +2100 +FD00 +ENDCHAR +STARTCHAR U_48D9 +ENCODING 18649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +92E0 +FEA0 +00A0 +EEC0 +AAA0 +EEA0 +AAA0 +EEE0 +AA80 +B280 +ENDCHAR +STARTCHAR U_48DA +ENCODING 18650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7DE0 +5520 +FF40 +5540 +7D20 +5520 +FDA0 +4940 +3900 +C700 +ENDCHAR +STARTCHAR U_48DB +ENCODING 18651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FFE0 +3920 +5540 +9140 +2920 +D720 +55A0 +3940 +D500 +3100 +ENDCHAR +STARTCHAR U_48DC +ENCODING 18652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C00 +10E0 +7EA0 +54A0 +7CC0 +54A0 +5CA0 +54A0 +5CE0 +9480 +BE80 +ENDCHAR +STARTCHAR U_48DD +ENCODING 18653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7EE0 +42A0 +7EA0 +48C0 +7EA0 +4AA0 +7FA0 +52A0 +7EE0 +9280 +9E80 +ENDCHAR +STARTCHAR U_48DE +ENCODING 18654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +EEA0 +44C0 +FEA0 +10A0 +54A0 +54A0 +7CE0 +2080 +C080 +ENDCHAR +STARTCHAR U_48DF +ENCODING 18655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +A520 +FF40 +2540 +7F20 +A520 +7D20 +45A0 +7D40 +4500 +7D00 +ENDCHAR +STARTCHAR U_48E0 +ENCODING 18656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +EF20 +4520 +EF40 +4540 +AB20 +7D20 +45A0 +7D40 +4500 +7D00 +ENDCHAR +STARTCHAR U_48E1 +ENCODING 18657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +FD20 +2140 +7940 +2120 +FD20 +5520 +FDA0 +5540 +E900 +5500 +ENDCHAR +STARTCHAR U_48E2 +ENCODING 18658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AE0 +FFA0 +4AC0 +EAA0 +5FA0 +E0A0 +4EA0 +6AA0 +DEC0 +4A80 +4E80 +ENDCHAR +STARTCHAR U_48E3 +ENCODING 18659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +54E0 +FEA0 +AAA0 +7CC0 +54A0 +7CA0 +10A0 +7CA0 +10E0 +FE80 +5480 +ENDCHAR +STARTCHAR U_48E4 +ENCODING 18660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +EEA0 +AAC0 +7EA0 +C8A0 +7CA0 +48A0 +FEC0 +4880 +FC80 +ENDCHAR +STARTCHAR U_48E5 +ENCODING 18661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +2200 +FA00 +AA20 +AAC0 +DB00 +8A00 +FA00 +8A00 +FA20 +89C0 +ENDCHAR +STARTCHAR U_48E6 +ENCODING 18662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2100 +27E0 +F920 +A920 +D920 +8920 +F920 +8A20 +FAA0 +8C40 +ENDCHAR +STARTCHAR U_48E7 +ENCODING 18663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +2120 +2100 +FFE0 +A900 +D900 +8900 +F880 +8880 +F860 +8820 +ENDCHAR +STARTCHAR U_48E8 +ENCODING 18664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2100 +F9C0 +AF00 +A900 +D900 +8FE0 +F900 +8900 +F920 +88C0 +ENDCHAR +STARTCHAR U_48E9 +ENCODING 18665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +2080 +27E0 +F880 +AAA0 +AAA0 +DBE0 +8880 +F880 +8880 +F860 +ENDCHAR +STARTCHAR U_48EA +ENCODING 18666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +23E0 +F880 +ABE0 +AAA0 +DAA0 +8AA0 +FAA0 +8AA0 +F880 +8880 +ENDCHAR +STARTCHAR U_48EB +ENCODING 18667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +2080 +FBE0 +A880 +A880 +DBE0 +8A20 +F940 +8880 +F940 +8A20 +ENDCHAR +STARTCHAR U_48EC +ENCODING 18668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +2120 +27E0 +F900 +A920 +D920 +8940 +F880 +8980 +FA60 +8C20 +ENDCHAR +STARTCHAR U_48ED +ENCODING 18669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +20A0 +F880 +ABE0 +A880 +D880 +8880 +F940 +8940 +FA20 +8A20 +ENDCHAR +STARTCHAR U_48EE +ENCODING 18670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +2120 +27E0 +F900 +A920 +D920 +89A0 +FA40 +8AC0 +FD20 +8A20 +ENDCHAR +STARTCHAR U_48EF +ENCODING 18671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2240 +2240 +FBC0 +AA40 +AA40 +DBC0 +8A40 +FA40 +8A40 +FFE0 +ENDCHAR +STARTCHAR U_48F0 +ENCODING 18672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2200 +FA00 +ABE0 +AA20 +DA20 +8BE0 +FA00 +8A00 +FBE0 +8A00 +ENDCHAR +STARTCHAR U_48F1 +ENCODING 18673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +2200 +27E0 +F820 +ABA0 +AAA0 +DAA0 +8BA0 +FAA0 +8820 +F8C0 +ENDCHAR +STARTCHAR U_48F2 +ENCODING 18674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2240 +27E0 +F800 +AA40 +DA40 +8FE0 +FA40 +8A40 +FA40 +8C40 +ENDCHAR +STARTCHAR U_48F3 +ENCODING 18675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2020 +2020 +FBE0 +A820 +DBA0 +8AA0 +FBA0 +8820 +F8A0 +8840 +ENDCHAR +STARTCHAR U_48F4 +ENCODING 18676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA20 +2360 +22A0 +FB60 +AA20 +DBE0 +8940 +F940 +8940 +FA40 +8C60 +ENDCHAR +STARTCHAR U_48F5 +ENCODING 18677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2240 +FA40 +ABC0 +AA40 +DBC0 +8A40 +FA40 +8FE0 +F840 +8840 +ENDCHAR +STARTCHAR U_48F6 +ENCODING 18678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +F880 +ABE0 +A880 +D880 +8BE0 +FA20 +8A20 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_48F7 +ENCODING 18679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FA80 +23C0 +FC80 +A880 +DFE0 +8880 +F9C0 +8AA0 +FC80 +8880 +ENDCHAR +STARTCHAR U_48F8 +ENCODING 18680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37C0 +E100 +3FE0 +2100 +FFE0 +1100 +7FC0 +5140 +6EC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_48F9 +ENCODING 18681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +22A0 +2680 +FBE0 +AA80 +DAA0 +8AA0 +FA40 +8A40 +FAE0 +8B20 +ENDCHAR +STARTCHAR U_48FA +ENCODING 18682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2220 +FBE0 +A800 +ABE0 +DA20 +8BE0 +FA20 +8BE0 +FA20 +8C60 +ENDCHAR +STARTCHAR U_48FB +ENCODING 18683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2280 +27C0 +F820 +ABC0 +D880 +8900 +FBC0 +8A40 +FA40 +8BC0 +ENDCHAR +STARTCHAR U_48FC +ENCODING 18684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +23E0 +F800 +ABE0 +AA20 +DBE0 +8880 +FAA0 +8CA0 +F8A0 +8980 +ENDCHAR +STARTCHAR U_48FD +ENCODING 18685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7800 +A3C0 +FA40 +53C0 +8800 +FFE0 +1100 +7FC0 +5140 +6EC0 +7FC0 +ENDCHAR +STARTCHAR U_48FE +ENCODING 18686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2080 +FBE0 +AC20 +ABC0 +DA40 +8BC0 +FA40 +8BC0 +FA40 +8FE0 +ENDCHAR +STARTCHAR U_48FF +ENCODING 18687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2080 +27E0 +F880 +A880 +D980 +8800 +FFE0 +8AA0 +FAA0 +8FE0 +ENDCHAR +STARTCHAR U_4900 +ENCODING 18688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FFE0 +2240 +F900 +AFE0 +D900 +8A00 +FFC0 +8A40 +FA40 +8BC0 +ENDCHAR +STARTCHAR U_4901 +ENCODING 18689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +FFE0 +2140 +F9C0 +A940 +D9C0 +8940 +FFE0 +8AC0 +FB20 +8BE0 +ENDCHAR +STARTCHAR U_4902 +ENCODING 18690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +23E0 +F940 +A9C0 +A940 +D880 +8BE0 +F880 +89C0 +FAA0 +8880 +ENDCHAR +STARTCHAR U_4903 +ENCODING 18691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +27E0 +FA40 +A980 +AFE0 +D800 +8BC0 +FA40 +8BC0 +FA40 +8BC0 +ENDCHAR +STARTCHAR U_4904 +ENCODING 18692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2200 +2400 +FFE0 +AAA0 +DBA0 +8AA0 +FBA0 +8AA0 +FFE0 +8820 +ENDCHAR +STARTCHAR U_4905 +ENCODING 18693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +2440 +FBA0 +A800 +DE20 +8AA0 +FEA0 +8AA0 +FE20 +8A60 +ENDCHAR +STARTCHAR U_4906 +ENCODING 18694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEA0 +2AC0 +26A0 +FA40 +AC20 +FBC0 +8900 +FFE0 +8980 +FA40 +8C20 +ENDCHAR +STARTCHAR U_4907 +ENCODING 18695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +24A0 +FAC0 +A980 +D940 +8E20 +FBC0 +8A40 +F980 +8E60 +ENDCHAR +STARTCHAR U_4908 +ENCODING 18696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FA40 +2420 +FFE0 +A900 +FBC0 +8840 +F880 +8FE0 +FAA0 +8FE0 +ENDCHAR +STARTCHAR U_4909 +ENCODING 18697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F940 +24A0 +FB20 +AA40 +DDC0 +8800 +FFE0 +8AA0 +FAA0 +8FE0 +ENDCHAR +STARTCHAR U_490A +ENCODING 18698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +27E0 +FA40 +AFE0 +AA40 +DBC0 +8A40 +FBC0 +8A40 +FFE0 +8840 +ENDCHAR +STARTCHAR U_490B +ENCODING 18699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +88C0 +50A0 +FFE0 +2080 +FB80 +AA80 +DBA0 +88A0 +FF40 +88C0 +FB20 +ENDCHAR +STARTCHAR U_490C +ENCODING 18700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +FA40 +25A0 +F800 +ABC0 +FA40 +8BC0 +FA40 +8BE0 +FE20 +8BE0 +ENDCHAR +STARTCHAR U_490D +ENCODING 18701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +27E0 +FA40 +ABC0 +A900 +DFE0 +8DA0 +FB60 +8DA0 +F920 +8860 +ENDCHAR +STARTCHAR U_490E +ENCODING 18702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2140 +FFE0 +A9A0 +AA80 +DC80 +8FE0 +FAA0 +8FE0 +FAA0 +8BA0 +ENDCHAR +STARTCHAR U_490F +ENCODING 18703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF60 +2140 +2760 +F940 +ABE0 +D880 +8BE0 +F880 +8FE0 +F880 +8980 +ENDCHAR +STARTCHAR U_4910 +ENCODING 18704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2540 +27E0 +FB40 +ADE0 +A800 +DBC0 +8A40 +FBC0 +8A40 +FBC0 +ENDCHAR +STARTCHAR U_4911 +ENCODING 18705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +23E0 +2140 +FFE0 +A880 +DBE0 +8AA0 +FBE0 +8AA0 +FBE0 +8C20 +ENDCHAR +STARTCHAR U_4912 +ENCODING 18706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FFE0 +2540 +FFE0 +A940 +FBE0 +8A80 +FAA0 +8B40 +FCC0 +8B20 +ENDCHAR +STARTCHAR U_4913 +ENCODING 18707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FFE0 +2240 +FFE0 +AC20 +DBC0 +8920 +FEC0 +89C0 +FEA0 +8980 +ENDCHAR +STARTCHAR U_4914 +ENCODING 18708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48E0 +BF80 +6AE0 +3FA0 +C920 +FFE0 +1100 +7FC0 +5140 +6EC0 +7FC0 +ENDCHAR +STARTCHAR U_4915 +ENCODING 18709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FDC0 +2AA0 +FFC0 +AAA0 +FFE0 +8900 +FFE0 +8B40 +FD20 +8900 +ENDCHAR +STARTCHAR U_4916 +ENCODING 18710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +22A0 +FBE0 +A940 +ABE0 +D940 +8FE0 +FAA0 +8EA0 +F9C0 +8EA0 +ENDCHAR +STARTCHAR U_4917 +ENCODING 18711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FDC0 +4740 +FDE0 +5680 +FFE0 +1100 +7FC0 +5140 +6EC0 +7FC0 +ENDCHAR +STARTCHAR U_4918 +ENCODING 18712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0AC0 +FAA0 +2580 +FFE0 +AA80 +DB80 +8AA0 +FBC0 +8E80 +F960 +8E20 +ENDCHAR +STARTCHAR U_4919 +ENCODING 18713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +FA80 +27E0 +FB40 +ADC0 +FAA0 +8FE0 +FAA0 +8FE0 +F2A0 +8FE0 +ENDCHAR +STARTCHAR U_491A +ENCODING 18714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9540 +97C0 +F540 +97C0 +9540 +F100 +97C0 +9100 +B100 +9FE0 +ENDCHAR +STARTCHAR U_491B +ENCODING 18715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2040 +5240 +8A40 +7240 +2240 +FA40 +2A40 +B3C0 +6040 +3840 +C040 +ENDCHAR +STARTCHAR U_491C +ENCODING 18716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5080 +88E0 +7780 +2080 +F880 +27E0 +A880 +B080 +38A0 +C060 +ENDCHAR +STARTCHAR U_491D +ENCODING 18717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +34E0 +4CA0 +F4A0 +24A0 +FCA0 +2CA0 +B5A0 +66E0 +3C80 +E080 +ENDCHAR +STARTCHAR U_491E +ENCODING 18718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +30C0 +48A0 +FFE0 +2080 +FC80 +2940 +B140 +6140 +3A40 +E460 +ENDCHAR +STARTCHAR U_491F +ENCODING 18719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +57E0 +8C40 +7380 +2280 +FA80 +2280 +AA80 +7280 +3AA0 +C460 +ENDCHAR +STARTCHAR U_4920 +ENCODING 18720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4880 +F080 +2280 +FAE0 +2A80 +B280 +6280 +3A80 +C7E0 +ENDCHAR +STARTCHAR U_4921 +ENCODING 18721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4BE0 +F2A0 +23E0 +FAA0 +2FE0 +B220 +6220 +3A60 +C220 +ENDCHAR +STARTCHAR U_4922 +ENCODING 18722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +3220 +4A20 +F3E0 +2000 +F900 +2BE0 +B120 +6120 +3A20 +C460 +ENDCHAR +STARTCHAR U_4923 +ENCODING 18723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +3380 +4880 +F2A0 +21C0 +F880 +2FE0 +B080 +6080 +3980 +C080 +ENDCHAR +STARTCHAR U_4924 +ENCODING 18724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +37E0 +4880 +F120 +2240 +F980 +2920 +B240 +6080 +3940 +C620 +ENDCHAR +STARTCHAR U_4925 +ENCODING 18725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +31E0 +4A40 +F3E0 +2200 +FAE0 +2AA0 +B2E0 +6280 +3AA0 +C4E0 +ENDCHAR +STARTCHAR U_4926 +ENCODING 18726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +32C0 +4AA0 +F280 +27E0 +FA80 +2AA0 +B2C0 +62A0 +3B60 +C220 +ENDCHAR +STARTCHAR U_4927 +ENCODING 18727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +33E0 +4A20 +F220 +22E0 +FAA0 +2AA0 +B2E0 +6220 +3A20 +C3E0 +ENDCHAR +STARTCHAR U_4928 +ENCODING 18728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +3380 +4C60 +F580 +2540 +FD40 +2D60 +B540 +6540 +3D40 +C9A0 +ENDCHAR +STARTCHAR U_4929 +ENCODING 18729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4C20 +F0C0 +2700 +F900 +2FE0 +B100 +6100 +3920 +C1E0 +ENDCHAR +STARTCHAR U_492A +ENCODING 18730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +3240 +4A40 +F260 +2480 +FBE0 +2880 +B2C0 +62A0 +3AA0 +C480 +ENDCHAR +STARTCHAR U_492B +ENCODING 18731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3540 +4D40 +F7C0 +2100 +FA80 +2D40 +B820 +67C0 +3840 +C080 +ENDCHAR +STARTCHAR U_492C +ENCODING 18732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3280 +4880 +F9C0 +26A0 +FA80 +2980 +B6A0 +62C0 +3A80 +C300 +ENDCHAR +STARTCHAR U_492D +ENCODING 18733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2640 +31C0 +4E20 +F100 +27E0 +FA80 +2FE0 +B2A0 +62A0 +3AE0 +C080 +ENDCHAR +STARTCHAR U_492E +ENCODING 18734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +32E0 +4A80 +F7E0 +2080 +FA80 +2A80 +B4A0 +60C0 +3980 +C600 +ENDCHAR +STARTCHAR U_492F +ENCODING 18735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27A0 +32A0 +4AC0 +F280 +27A0 +FAA0 +2AC0 +B280 +62A0 +3AA0 +C4C0 +ENDCHAR +STARTCHAR U_4930 +ENCODING 18736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +24A0 +3940 +C620 +1B00 +6EC0 +8420 +3F80 +1500 +FFE0 +ENDCHAR +STARTCHAR U_4931 +ENCODING 18737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +32A0 +4BE0 +F020 +23C0 +FA00 +2BE0 +B240 +6240 +3A40 +C440 +ENDCHAR +STARTCHAR U_4932 +ENCODING 18738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4BE0 +F080 +27E0 +F940 +2940 +B360 +6540 +3940 +C240 +ENDCHAR +STARTCHAR U_4933 +ENCODING 18739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4940 +F240 +2660 +FAA0 +2BE0 +B2A0 +6240 +3A40 +C2A0 +ENDCHAR +STARTCHAR U_4934 +ENCODING 18740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +3040 +4880 +F080 +24A0 +FEE0 +2DA0 +B6E0 +65A0 +3C20 +C7E0 +ENDCHAR +STARTCHAR U_4935 +ENCODING 18741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +3140 +4B60 +F140 +2360 +F940 +2B60 +B540 +6140 +3A40 +C240 +ENDCHAR +STARTCHAR U_4936 +ENCODING 18742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +33C0 +4900 +F2C0 +2520 +FBC0 +2D40 +B540 +63C0 +3900 +C0E0 +ENDCHAR +STARTCHAR U_4937 +ENCODING 18743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3520 +4DE0 +F520 +25E0 +FC80 +2FE0 +B540 +64C0 +3D20 +C7E0 +ENDCHAR +STARTCHAR U_4938 +ENCODING 18744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +31C0 +4940 +FFE0 +2080 +F9A0 +2AC0 +B540 +62E0 +3940 +C2C0 +ENDCHAR +STARTCHAR U_4939 +ENCODING 18745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +33E0 +4AA0 +F1C0 +2080 +F940 +2A20 +B3E0 +6140 +3880 +C360 +ENDCHAR +STARTCHAR U_493A +ENCODING 18746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +37C0 +4A80 +F280 +24E0 +FBA0 +2AA0 +B2A0 +63A0 +38A0 +C120 +ENDCHAR +STARTCHAR U_493B +ENCODING 18747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4A80 +F5E0 +2000 +FBE0 +2A20 +B3E0 +6220 +3BE0 +C420 +ENDCHAR +STARTCHAR U_493C +ENCODING 18748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +33E0 +4A20 +F3E0 +2220 +FBE0 +2880 +B7A0 +61C0 +3AA0 +C5A0 +ENDCHAR +STARTCHAR U_493D +ENCODING 18749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3520 +47E0 +F080 +22A0 +F9C0 +2880 +B1C0 +62A0 +3880 +C080 +ENDCHAR +STARTCHAR U_493E +ENCODING 18750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +3380 +4AA0 +F140 +2000 +FA00 +2CE0 +B420 +6760 +3C20 +C7E0 +ENDCHAR +STARTCHAR U_493F +ENCODING 18751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +37A0 +4AA0 +F7A0 +2260 +FBC0 +2880 +B080 +63E0 +3880 +C180 +ENDCHAR +STARTCHAR U_4940 +ENCODING 18752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +32A0 +4BE0 +F000 +23E0 +F880 +2BE0 +B2A0 +63E0 +3880 +C3E0 +ENDCHAR +STARTCHAR U_4941 +ENCODING 18753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +3040 +4880 +F3E0 +2220 +FB60 +2AA0 +B3E0 +62A0 +3AA0 +C3E0 +ENDCHAR +STARTCHAR U_4942 +ENCODING 18754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3420 +4BC0 +F000 +27E0 +F900 +2EA0 +B140 +66E0 +3940 +C680 +ENDCHAR +STARTCHAR U_4943 +ENCODING 18755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4D20 +F240 +27E0 +FA40 +2BE0 +B240 +63E0 +3A40 +C3E0 +ENDCHAR +STARTCHAR U_4944 +ENCODING 18756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3540 +4FE0 +F540 +27E0 +FC00 +2DE0 +B520 +65E0 +3D20 +C9E0 +ENDCHAR +STARTCHAR U_4945 +ENCODING 18757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +75C0 +2480 +75C0 +1B00 +64C0 +BFA0 +1500 +7FC0 +ENDCHAR +STARTCHAR U_4946 +ENCODING 18758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +71C0 +1100 +75C0 +1B00 +64C0 +BFA0 +1500 +7FC0 +ENDCHAR +STARTCHAR U_4947 +ENCODING 18759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4C20 +F7E0 +2400 +FF60 +2D20 +B760 +6520 +3F60 +C920 +ENDCHAR +STARTCHAR U_4948 +ENCODING 18760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +37E0 +4A40 +F120 +27E0 +FA80 +2C60 +B140 +67E0 +3940 +C240 +ENDCHAR +STARTCHAR U_4949 +ENCODING 18761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4C20 +F1C0 +2240 +FFE0 +2AA0 +B3E0 +6140 +3AA0 +C4E0 +ENDCHAR +STARTCHAR U_494A +ENCODING 18762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +33E0 +4880 +F3E0 +2080 +FFE0 +2A20 +B3E0 +6220 +3BE0 +C620 +ENDCHAR +STARTCHAR U_494B +ENCODING 18763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +37E0 +4A40 +F3C0 +2000 +FBE0 +2840 +B080 +6180 +3880 +C560 +ENDCHAR +STARTCHAR U_494C +ENCODING 18764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +AAA0 +3B80 +2A80 +3B80 +0400 +1B00 +EEE0 +1500 +7FC0 +ENDCHAR +STARTCHAR U_494D +ENCODING 18765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +73C0 +2140 +FB40 +5140 +FA60 +2400 +1B00 +EEE0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_494E +ENCODING 18766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3400 +4FE0 +F540 +2540 +FDA0 +2BE0 +B220 +63A0 +3A60 +C220 +ENDCHAR +STARTCHAR U_494F +ENCODING 18767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A00 +6BE0 +96A0 +E2A0 +4FA0 +EAA0 +5AE0 +EBA0 +4A80 +6B80 +8C80 +ENDCHAR +STARTCHAR U_4950 +ENCODING 18768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +5340 +FC80 +2940 +67E0 +A140 +2EC0 +3580 +DF60 +1500 +3F80 +ENDCHAR +STARTCHAR U_4951 +ENCODING 18769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4D40 +F540 +2BA0 +F960 +2BC0 +B340 +6480 +3940 +C640 +ENDCHAR +STARTCHAR U_4952 +ENCODING 18770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +1240 +F7E0 +84A0 +F3E0 +1EA0 +E5E0 +1500 +3F80 +1500 +7FE0 +ENDCHAR +STARTCHAR U_4953 +ENCODING 18771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +5FE0 +8AC0 +7340 +22C0 +FB40 +2FE0 +B540 +6BA0 +3100 +C7E0 +ENDCHAR +STARTCHAR U_4954 +ENCODING 18772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5240 +8FE0 +7AA0 +2AA0 +FFE0 +2540 +AFE0 +7380 +3D40 +E920 +ENDCHAR +STARTCHAR U_4955 +ENCODING 18773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5280 +8BE0 +7620 +2FA0 +FAA0 +2BA0 +BEC0 +6AC0 +3AA0 +EBA0 +ENDCHAR +STARTCHAR U_4956 +ENCODING 18774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5FE0 +8280 +7FE0 +2AA0 +FC60 +2FE0 +B100 +6FE0 +3280 +CC60 +ENDCHAR +STARTCHAR U_4957 +ENCODING 18775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +5F80 +84E0 +7F20 +2040 +F740 +2040 +BFC0 +6E40 +35A0 +C520 +ENDCHAR +STARTCHAR U_4958 +ENCODING 18776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +5140 +8AA0 +F140 +2140 +FAA0 +2BE0 +B220 +63E0 +3A20 +C3E0 +ENDCHAR +STARTCHAR U_4959 +ENCODING 18777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +5EC0 +8A00 +7DE0 +2A80 +FB60 +2AC0 +BF40 +68E0 +3B40 +C880 +ENDCHAR +STARTCHAR U_495A +ENCODING 18778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5540 +5DC0 +5540 +5DC0 +5540 +5F40 +64C0 +5F40 +9560 +FFA0 +ENDCHAR +STARTCHAR U_495B +ENCODING 18779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +52A0 +8FA0 +72A0 +2F20 +F2C0 +2B80 +B440 +67C0 +3540 +CB20 +ENDCHAR +STARTCHAR U_495C +ENCODING 18780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +5AA0 +8EE0 +7AA0 +2EE0 +F920 +2FE0 +BBA0 +6D60 +3920 +C860 +ENDCHAR +STARTCHAR U_495D +ENCODING 18781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8AA0 +7FE0 +2AA0 +FAC0 +2B60 +BA00 +6BC0 +3A00 +D1E0 +ENDCHAR +STARTCHAR U_495E +ENCODING 18782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2E80 +5A80 +8EE0 +7BA0 +2EA0 +F4A0 +2E40 +BA40 +6AA0 +F520 +ENDCHAR +STARTCHAR U_495F +ENCODING 18783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25C0 +3540 +4FC0 +F540 +25C0 +F700 +25E0 +BEA0 +6560 +35A0 +CCC0 +ENDCHAR +STARTCHAR U_4960 +ENCODING 18784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +5FE0 +8A80 +70A0 +27E0 +F480 +2FA0 +B460 +6740 +3DA0 +D720 +ENDCHAR +STARTCHAR U_4961 +ENCODING 18785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +5BE0 +8AA0 +7AE0 +2E00 +F9E0 +2E40 +BBE0 +6A40 +3AE0 +D140 +ENDCHAR +STARTCHAR U_4962 +ENCODING 18786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +4880 +7BC0 +5140 +FC80 +0F60 +3580 +DF60 +1500 +3F80 +ENDCHAR +STARTCHAR U_4963 +ENCODING 18787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BC0 +8A40 +DFE0 +8A40 +F980 +2260 +FF00 +3580 +DF60 +1500 +3F80 +ENDCHAR +STARTCHAR U_4964 +ENCODING 18788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5100 +8FE0 +7560 +2380 +F440 +2FC0 +B540 +6740 +34A0 +E3E0 +ENDCHAR +STARTCHAR U_4965 +ENCODING 18789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8A40 +7FE0 +2A80 +FFE0 +2AA0 +BFE0 +6AC0 +3EA0 +D280 +ENDCHAR +STARTCHAR U_4966 +ENCODING 18790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +53E0 +8940 +75E0 +2F40 +F5C0 +2540 +B5C0 +6540 +3E00 +D1E0 +ENDCHAR +STARTCHAR U_4967 +ENCODING 18791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +5100 +8FE0 +7420 +23C0 +FDA0 +2A40 +B7E0 +62C0 +3340 +C3C0 +ENDCHAR +STARTCHAR U_4968 +ENCODING 18792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +5AA0 +8EE0 +7AA0 +2FE0 +FAA0 +2BA0 +B820 +6BA0 +3AA0 +CBE0 +ENDCHAR +STARTCHAR U_4969 +ENCODING 18793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A00 +5A80 +AAE0 +1FA0 +F0A0 +57A0 +F040 +5740 +F540 +75A0 +D4A0 +ENDCHAR +STARTCHAR U_496A +ENCODING 18794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +54C0 +8D40 +77C0 +2240 +FFE0 +2A40 +B7E0 +6000 +3AA0 +CAA0 +ENDCHAR +STARTCHAR U_496B +ENCODING 18795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +5FC0 +84A0 +7FE0 +2480 +FFA0 +2AA0 +BF40 +6AC0 +3F20 +C220 +ENDCHAR +STARTCHAR U_496C +ENCODING 18796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5FE0 +8540 +77E0 +2540 +FFC0 +2D40 +B7E0 +6240 +3A40 +E0C0 +ENDCHAR +STARTCHAR U_496D +ENCODING 18797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +28A0 +FFE0 +AAA0 +71C0 +AEA0 +3180 +EEE0 +0400 +3F80 +1500 +7FC0 +ENDCHAR +STARTCHAR U_496E +ENCODING 18798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5280 +8FE0 +7AA0 +2FE0 +F800 +2FE0 +BAA0 +6FA0 +3AE0 +CF80 +ENDCHAR +STARTCHAR U_496F +ENCODING 18799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5AA0 +8FE0 +7480 +2AE0 +FE80 +2A60 +BE80 +6AE0 +3E80 +CA60 +ENDCHAR +STARTCHAR U_4970 +ENCODING 18800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +8FE0 +7200 +21C0 +FA80 +2FE0 +BAA0 +6FE0 +32A0 +C7E0 +ENDCHAR +STARTCHAR U_4971 +ENCODING 18801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8C20 +72C0 +2440 +FEC0 +2440 +B7E0 +6820 +3560 +C540 +ENDCHAR +STARTCHAR U_4972 +ENCODING 18802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5F80 +8AE0 +7F20 +2880 +FF80 +2A80 +BF80 +6880 +3F40 +C220 +ENDCHAR +STARTCHAR U_4973 +ENCODING 18803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5200 +8FC0 +7540 +2FE0 +FA40 +2560 +BBC0 +6C40 +3380 +CC60 +ENDCHAR +STARTCHAR U_4974 +ENCODING 18804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +57E0 +8280 +7FE0 +2480 +FFE0 +2480 +B760 +65A0 +3420 +C460 +ENDCHAR +STARTCHAR U_4975 +ENCODING 18805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +BFE0 +1480 +F7E0 +5D40 +F7E0 +5540 +77E0 +DD40 +4140 +E260 +ENDCHAR +STARTCHAR U_4976 +ENCODING 18806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5400 +8FE0 +7540 +27E0 +FD40 +2FE0 +B440 +6560 +3940 +CFE0 +ENDCHAR +STARTCHAR U_4977 +ENCODING 18807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A20 +6F20 +9A20 +70A0 +2EA0 +FAA0 +2EA0 +BA20 +6F20 +3A20 +D260 +ENDCHAR +STARTCHAR U_4978 +ENCODING 18808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +2540 +CFE0 +8D60 +EBA0 +2D60 +5F00 +E4E0 +1F00 +1500 +7FC0 +ENDCHAR +STARTCHAR U_4979 +ENCODING 18809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +52A0 +8FA0 +72A0 +2740 +FAE0 +2A80 +B7E0 +6520 +3EE0 +C7E0 +ENDCHAR +STARTCHAR U_497A +ENCODING 18810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +7840 +8240 +7440 +27E0 +F8C0 +2140 +2640 +3040 +20C0 +ENDCHAR +STARTCHAR U_497B +ENCODING 18811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +7900 +8100 +7100 +27E0 +F900 +2180 +2280 +2AA0 +34E0 +ENDCHAR +STARTCHAR U_497C +ENCODING 18812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +7FE0 +8AA0 +72A0 +22A0 +F2A0 +24A0 +2920 +3220 +20C0 +ENDCHAR +STARTCHAR U_497D +ENCODING 18813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4540 +7520 +8FE0 +7100 +2200 +FBC0 +2640 +2580 +2980 +3660 +ENDCHAR +STARTCHAR U_497E +ENCODING 18814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4420 +7200 +83E0 +F200 +23E0 +FA20 +2020 +2FE0 +3020 +20C0 +ENDCHAR +STARTCHAR U_497F +ENCODING 18815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4700 +7800 +8FE0 +F900 +49C0 +F940 +4940 +4A40 +6A40 +54C0 +ENDCHAR +STARTCHAR U_4980 +ENCODING 18816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47E0 +7920 +85A0 +7360 +2120 +FB60 +25A0 +2120 +2920 +3360 +ENDCHAR +STARTCHAR U_4981 +ENCODING 18817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +42E0 +7FA0 +82A0 +77C0 +22A0 +FFA0 +22A0 +22E0 +2A80 +3480 +ENDCHAR +STARTCHAR U_4982 +ENCODING 18818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7820 +8FE0 +F800 +4FE0 +FDA0 +4B60 +4DA0 +5920 +6360 +ENDCHAR +STARTCHAR U_4983 +ENCODING 18819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4FE0 +7280 +8100 +F7E0 +4140 +F7E0 +4240 +4FC0 +5240 +63C0 +ENDCHAR +STARTCHAR U_4984 +ENCODING 18820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7540 +87C0 +F540 +47C0 +F120 +4FE0 +4540 +5C80 +6660 +ENDCHAR +STARTCHAR U_4985 +ENCODING 18821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +7FC0 +8100 +77C0 +2100 +FFE0 +2540 +2FE0 +3440 +27C0 +ENDCHAR +STARTCHAR U_4986 +ENCODING 18822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +7EE0 +8AA0 +FFE0 +4480 +FFE0 +4480 +4FE0 +6240 +4FE0 +ENDCHAR +STARTCHAR U_4987 +ENCODING 18823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4240 +7A40 +4520 +7D20 +4200 +FBC0 +5040 +8840 +F840 +0180 +ENDCHAR +STARTCHAR U_4988 +ENCODING 18824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4100 +7FE0 +4100 +7900 +43E0 +FA80 +2280 +4A80 +FC80 +0BE0 +ENDCHAR +STARTCHAR U_4989 +ENCODING 18825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +8AA0 +EAA0 +8AA0 +EAA0 +8AA0 +FCE0 +4820 +9820 +FFE0 +8820 +ENDCHAR +STARTCHAR U_498A +ENCODING 18826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4100 +79C0 +4100 +7900 +47E0 +F900 +5340 +8D20 +F920 +0300 +ENDCHAR +STARTCHAR U_498B +ENCODING 18827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +9E80 +E5E0 +9EA0 +E4A0 +9EA0 +E8A0 +4E40 +8A40 +AAA0 +F720 +ENDCHAR +STARTCHAR U_498C +ENCODING 18828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8020 +8420 +9F20 +8420 +BFA0 +8060 +ENDCHAR +STARTCHAR U_498D +ENCODING 18829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +F1E0 +9F20 +A020 +9C20 +8820 +9120 +9F60 +ENDCHAR +STARTCHAR U_498E +ENCODING 18830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +F3E0 +9E20 +8020 +BF20 +8A20 +92A0 +A3A0 +ENDCHAR +STARTCHAR U_498F +ENCODING 18831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +9B20 +EAE0 +8A20 +9220 +A260 +ENDCHAR +STARTCHAR U_4990 +ENCODING 18832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +8420 +9F20 +8420 +BFA0 +8420 +9C60 +ENDCHAR +STARTCHAR U_4991 +ENCODING 18833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +9F20 +8520 +BFA0 +8A20 +B1E0 +ENDCHAR +STARTCHAR U_4992 +ENCODING 18834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8020 +BFA0 +8820 +9FA0 +E8A0 +8FE0 +ENDCHAR +STARTCHAR U_4993 +ENCODING 18835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8820 +8F20 +8820 +BF20 +A120 +BF60 +ENDCHAR +STARTCHAR U_4994 +ENCODING 18836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AA60 +CAA0 +FBE0 +8020 +9F20 +9320 +9520 +9F20 +8020 +BFE0 +ENDCHAR +STARTCHAR U_4995 +ENCODING 18837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AB20 +CAA0 +FBE0 +9120 +8A20 +9F20 +8A20 +BFA0 +8A20 +92E0 +ENDCHAR +STARTCHAR U_4996 +ENCODING 18838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FBE0 +8420 +BFA0 +8420 +9F20 +8020 +9F20 +9120 +9F60 +ENDCHAR +STARTCHAR U_4997 +ENCODING 18839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9020 +BFA0 +AAA0 +AAA0 +FFA0 +8060 +ENDCHAR +STARTCHAR U_4998 +ENCODING 18840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +CB20 +FFE0 +9120 +9F20 +9120 +9F20 +92A0 +9520 +98E0 +ENDCHAR +STARTCHAR U_4999 +ENCODING 18841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FBE0 +8420 +9F20 +8420 +BFA0 +8220 +9F20 +8A20 +8660 +ENDCHAR +STARTCHAR U_499A +ENCODING 18842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AA60 +CAA0 +F3E0 +9C20 +8420 +BFA0 +8420 +9F20 +9120 +9F60 +ENDCHAR +STARTCHAR U_499B +ENCODING 18843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FFE0 +8A20 +9F20 +8520 +BFA0 +8520 +9F20 +8420 +8C60 +ENDCHAR +STARTCHAR U_499C +ENCODING 18844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +8420 +9F20 +8920 +BFA0 +9120 +9F60 +ENDCHAR +STARTCHAR U_499D +ENCODING 18845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +CB20 +FBE0 +8420 +9F20 +8420 +BFA0 +9B20 +AAA0 +9660 +ENDCHAR +STARTCHAR U_499E +ENCODING 18846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +CB20 +FBE0 +9020 +8FA0 +B120 +87A0 +8920 +B7A0 +8060 +ENDCHAR +STARTCHAR U_499F +ENCODING 18847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9520 +AEA0 +8420 +9F20 +8420 +BFE0 +ENDCHAR +STARTCHAR U_49A0 +ENCODING 18848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +F3C0 +9240 +F3C0 +9240 +F3C0 +BE40 +9540 +AE40 +95C0 +AC40 +80C0 +ENDCHAR +STARTCHAR U_49A1 +ENCODING 18849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +F3C0 +9240 +F3C0 +9A40 +FFC0 +A140 +9E40 +9240 +9F40 +9140 +9FC0 +ENDCHAR +STARTCHAR U_49A2 +ENCODING 18850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +F3C0 +9240 +F3C0 +9240 +F3C0 +A740 +D240 +AFC0 +E540 +AF40 +A0C0 +ENDCHAR +STARTCHAR U_49A3 +ENCODING 18851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FBE0 +8420 +9F20 +8A20 +BFA0 +8020 +9F20 +9120 +9F60 +ENDCHAR +STARTCHAR U_49A4 +ENCODING 18852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8E20 +FBE0 +9120 +EEA0 +BBA0 +AAA0 +9120 +EAE0 +ENDCHAR +STARTCHAR U_49A5 +ENCODING 18853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9120 +FFE0 +9120 +BBA0 +D560 +9160 +ENDCHAR +STARTCHAR U_49A6 +ENCODING 18854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +CB20 +FBE0 +8E20 +9120 +AEA0 +8420 +BFA0 +9520 +BFE0 +ENDCHAR +STARTCHAR U_49A7 +ENCODING 18855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +CB20 +F3E0 +9120 +9B20 +9120 +9F20 +8A20 +92A0 +A1E0 +ENDCHAR +STARTCHAR U_49A8 +ENCODING 18856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FBE0 +8420 +BFA0 +9520 +9F20 +9520 +9F20 +9520 +ACE0 +ENDCHAR +STARTCHAR U_49A9 +ENCODING 18857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9520 +9520 +9F20 +B120 +8E20 +F360 +ENDCHAR +STARTCHAR U_49AA +ENCODING 18858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FFE0 +9120 +9F20 +9120 +9FA0 +B4A0 +DAA0 +9FA0 +8160 +ENDCHAR +STARTCHAR U_49AB +ENCODING 18859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FBE0 +9120 +FFE0 +9520 +BFA0 +A4A0 +FFE0 +9220 +E1A0 +ENDCHAR +STARTCHAR U_49AC +ENCODING 18860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FFE0 +92A0 +BAA0 +92A0 +FCA0 +9520 +BFA0 +8A20 +B1E0 +ENDCHAR +STARTCHAR U_49AD +ENCODING 18861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +F3E0 +9C20 +8420 +BFA0 +9520 +E4E0 +9F20 +9520 +9F60 +ENDCHAR +STARTCHAR U_49AE +ENCODING 18862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FFE0 +8420 +9F20 +8820 +BFA0 +99A0 +EF60 +8920 +8F60 +ENDCHAR +STARTCHAR U_49AF +ENCODING 18863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FBE0 +8020 +FE20 +ABE0 +FEA0 +92A0 +B920 +92A0 +FC60 +ENDCHAR +STARTCHAR U_49B0 +ENCODING 18864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FFE0 +9220 +BF20 +9520 +9F20 +9520 +9F20 +9560 +8FE0 +ENDCHAR +STARTCHAR U_49B1 +ENCODING 18865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FFE0 +9520 +9E20 +9220 +9F20 +9120 +BFA0 +AAA0 +CB60 +ENDCHAR +STARTCHAR U_49B2 +ENCODING 18866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FFE0 +8A20 +9FE0 +B4A0 +9FE0 +9020 +97A0 +A4A0 +A7A0 +ENDCHAR +STARTCHAR U_49B3 +ENCODING 18867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FBE0 +8220 +9FE0 +A960 +BFA0 +A960 +BF60 +9BA0 +AD20 +ENDCHAR +STARTCHAR U_49B4 +ENCODING 18868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +CB20 +FFE0 +AAA0 +BFA0 +8420 +FFE0 +9120 +BFA0 +8460 +ENDCHAR +STARTCHAR U_49B5 +ENCODING 18869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FBE0 +8020 +BFA0 +9520 +BFA0 +EDE0 +B6A0 +ADA0 +B6A0 +ENDCHAR +STARTCHAR U_49B6 +ENCODING 18870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2420 +8F20 +9220 +9F20 +8520 +BFA0 +8520 +9F20 +8420 +8C60 +ENDCHAR +STARTCHAR U_49B7 +ENCODING 18871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +8020 +9520 +9520 +AEA0 +8420 +9F20 +8420 +BFA0 +8060 +ENDCHAR +STARTCHAR U_49B8 +ENCODING 18872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8000 +5FE0 +4020 +9F20 +9520 +9F20 +9520 +BFA0 +A6A0 +BFA0 +A0E0 +ENDCHAR +STARTCHAR U_49B9 +ENCODING 18873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9100 +A100 +AFE0 +9100 +9100 +9100 +E100 +8100 +8100 +8100 +ENDCHAR +STARTCHAR U_49BA +ENCODING 18874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F000 +97E0 +A080 +A080 +9080 +9080 +D080 +A080 +8080 +8280 +8100 +ENDCHAR +STARTCHAR U_49BB +ENCODING 18875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9040 +A080 +A100 +9100 +9FE0 +D100 +A100 +8100 +8100 +8700 +ENDCHAR +STARTCHAR U_49BC +ENCODING 18876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9200 +AFC0 +A240 +9240 +9240 +DFE0 +A300 +8480 +8840 +B020 +ENDCHAR +STARTCHAR U_49BD +ENCODING 18877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9040 +A280 +A100 +9FE0 +9120 +9100 +E100 +8100 +8100 +8300 +ENDCHAR +STARTCHAR U_49BE +ENCODING 18878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4280 +F440 +9FE0 +F480 +8480 +F480 +9480 +F4A0 +88A0 +10E0 +ENDCHAR +STARTCHAR U_49BF +ENCODING 18879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9100 +A7E0 +A520 +9520 +97E0 +9100 +D100 +A100 +8100 +8100 +ENDCHAR +STARTCHAR U_49C0 +ENCODING 18880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9200 +AFE0 +A200 +9400 +9500 +9500 +EA00 +8A80 +9440 +87C0 +ENDCHAR +STARTCHAR U_49C1 +ENCODING 18881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +9400 +A7E0 +A820 +97A0 +94A0 +94A0 +E7A0 +84A0 +8020 +80C0 +ENDCHAR +STARTCHAR U_49C2 +ENCODING 18882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9220 +A220 +A220 +94A0 +9840 +D7E0 +A420 +8420 +87E0 +8420 +ENDCHAR +STARTCHAR U_49C3 +ENCODING 18883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F000 +97E0 +A4A0 +A4A0 +97E0 +94A0 +94A0 +D4A0 +A7E0 +8420 +8000 +ENDCHAR +STARTCHAR U_49C4 +ENCODING 18884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +97C0 +A440 +AA80 +9380 +9C60 +9000 +D7C0 +A440 +8440 +87C0 +ENDCHAR +STARTCHAR U_49C5 +ENCODING 18885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +A100 +A7C0 +9140 +97C0 +9500 +D7E0 +A120 +82C0 +8C60 +ENDCHAR +STARTCHAR U_49C6 +ENCODING 18886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9280 +A280 +AFE0 +9280 +9280 +DFE0 +A000 +8280 +8440 +8820 +ENDCHAR +STARTCHAR U_49C7 +ENCODING 18887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9100 +AFE0 +A100 +9320 +9540 +9C80 +D480 +A440 +8540 +8620 +ENDCHAR +STARTCHAR U_49C8 +ENCODING 18888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A280 +A280 +CFE0 +AAA0 +AAA0 +AAA0 +ACE0 +C820 +8FE0 +8820 +ENDCHAR +STARTCHAR U_49C9 +ENCODING 18889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9540 +A7C0 +A540 +9540 +97C0 +9100 +D7C0 +A100 +8100 +8FE0 +ENDCHAR +STARTCHAR U_49CA +ENCODING 18890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9500 +A7C0 +A900 +9100 +9FE0 +9000 +D7C0 +A440 +8440 +87C0 +ENDCHAR +STARTCHAR U_49CB +ENCODING 18891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +A7C0 +A440 +97C0 +9440 +97C0 +D280 +A280 +84A0 +98E0 +ENDCHAR +STARTCHAR U_49CC +ENCODING 18892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0E0 +9F20 +A520 +A4C0 +9200 +9240 +9FE0 +D440 +A480 +8380 +9C60 +ENDCHAR +STARTCHAR U_49CD +ENCODING 18893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9440 +A920 +A100 +9280 +9440 +9820 +D7C0 +A440 +8440 +87C0 +ENDCHAR +STARTCHAR U_49CE +ENCODING 18894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +A7E0 +A000 +97E0 +9420 +97E0 +D420 +A7E0 +8420 +8460 +ENDCHAR +STARTCHAR U_49CF +ENCODING 18895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E400 +A780 +A880 +D700 +AA80 +BFE0 +A200 +CF80 +8200 +9FC0 +8200 +ENDCHAR +STARTCHAR U_49D0 +ENCODING 18896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A440 +C440 +A7C0 +A000 +A7C0 +C080 +8FE0 +8080 +8380 +ENDCHAR +STARTCHAR U_49D1 +ENCODING 18897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A820 +C7C0 +A100 +A100 +A5C0 +C500 +8B00 +8900 +90E0 +ENDCHAR +STARTCHAR U_49D2 +ENCODING 18898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A100 +C540 +A540 +ABA0 +A100 +C380 +8540 +8920 +8100 +ENDCHAR +STARTCHAR U_49D3 +ENCODING 18899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A920 +ABA0 +C920 +ABA0 +A820 +ABA0 +CAA0 +8BA0 +8820 +9060 +ENDCHAR +STARTCHAR U_49D4 +ENCODING 18900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +A500 +A880 +D240 +AFA0 +A080 +A100 +C200 +8940 +94A0 +97A0 +ENDCHAR +STARTCHAR U_49D5 +ENCODING 18901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E080 +A0A0 +BFE0 +C080 +AE80 +AAA0 +AEA0 +C0C0 +8680 +9940 +8220 +ENDCHAR +STARTCHAR U_49D6 +ENCODING 18902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E500 +AFC0 +A480 +C300 +A4C0 +A500 +AFC0 +C400 +8280 +8320 +8CE0 +ENDCHAR +STARTCHAR U_49D7 +ENCODING 18903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E400 +AFE0 +B840 +CFC0 +A840 +AFC0 +A400 +CFC0 +9480 +8300 +9CE0 +ENDCHAR +STARTCHAR U_49D8 +ENCODING 18904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +A3C0 +A480 +CFE0 +A200 +AD20 +A2C0 +CD80 +82C0 +8CA0 +8300 +ENDCHAR +STARTCHAR U_49D9 +ENCODING 18905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +AA40 +AFC0 +C200 +A700 +A880 +B260 +C200 +8B40 +92A0 +8600 +ENDCHAR +STARTCHAR U_49DA +ENCODING 18906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A280 +C380 +A000 +AFE0 +A820 +CBA0 +8AA0 +8BA0 +8860 +ENDCHAR +STARTCHAR U_49DB +ENCODING 18907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A280 +CFE0 +A920 +A7C0 +A200 +C3C0 +8240 +8440 +8980 +ENDCHAR +STARTCHAR U_49DC +ENCODING 18908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A940 +CFE0 +A940 +AFC0 +A900 +CFC0 +9440 +9440 +A7C0 +ENDCHAR +STARTCHAR U_49DD +ENCODING 18909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E540 +A7C0 +A100 +CFE0 +A100 +A7C0 +A540 +C7C0 +8100 +8140 +8FE0 +ENDCHAR +STARTCHAR U_49DE +ENCODING 18910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A900 +AFC0 +C900 +AFC0 +A900 +AFE0 +C020 +8AA0 +9520 +80C0 +ENDCHAR +STARTCHAR U_49DF +ENCODING 18911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E1C0 +AE00 +A920 +C540 +A000 +A200 +ACE0 +C820 +8EE0 +8820 +8FE0 +ENDCHAR +STARTCHAR U_49E0 +ENCODING 18912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A540 +C7C0 +A540 +AFE0 +A080 +CFE0 +8480 +8080 +8180 +ENDCHAR +STARTCHAR U_49E1 +ENCODING 18913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A940 +CFE0 +A940 +AFE0 +AD20 +AFE0 +D520 +97E0 +A520 +ENDCHAR +STARTCHAR U_49E2 +ENCODING 18914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A800 +AB80 +CA80 +AB80 +A800 +AFC0 +AD40 +CFC0 +8800 +8FE0 +ENDCHAR +STARTCHAR U_49E3 +ENCODING 18915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A280 +AFE0 +CAA0 +AFE0 +A000 +A7C0 +A000 +CFE0 +8540 +8920 +ENDCHAR +STARTCHAR U_49E4 +ENCODING 18916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EAA0 +AFE0 +A440 +C280 +AFE0 +A100 +A7C0 +A100 +CFE0 +8280 +8C60 +ENDCHAR +STARTCHAR U_49E5 +ENCODING 18917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +BFC0 +AA80 +CF80 +AA80 +AF80 +A240 +DFA0 +8400 +9AC0 +AFA0 +ENDCHAR +STARTCHAR U_49E6 +ENCODING 18918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E1C0 +AE00 +A540 +CFC0 +A480 +A7C0 +A840 +CFE0 +9020 +8AA0 +9540 +ENDCHAR +STARTCHAR U_49E7 +ENCODING 18919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E500 +BFC0 +A200 +CF80 +A200 +BFC0 +A940 +DFE0 +8940 +BCA0 +8960 +ENDCHAR +STARTCHAR U_49E8 +ENCODING 18920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EAA0 +A280 +AFE0 +C440 +AFE0 +A100 +A7C0 +A100 +CFE0 +8540 +8920 +ENDCHAR +STARTCHAR U_49E9 +ENCODING 18921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE80 +A280 +BEE0 +CB40 +AE40 +AB40 +AE80 +CA80 +8F40 +9A60 +8220 +ENDCHAR +STARTCHAR U_49EA +ENCODING 18922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFC0 +A900 +CFC0 +AA80 +AD40 +AA80 +AFE0 +CA80 +9380 +8440 +ENDCHAR +STARTCHAR U_49EB +ENCODING 18923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A280 +CFE0 +A820 +A7C0 +A500 +CAC0 +8580 +8AC0 +8520 +ENDCHAR +STARTCHAR U_49EC +ENCODING 18924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A920 +C540 +A180 +A7C0 +AC40 +B7C0 +C440 +87C0 +8820 +ENDCHAR +STARTCHAR U_49ED +ENCODING 18925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E400 +AFC0 +AA40 +CD40 +AAC0 +A940 +AFC0 +C400 +9B40 +A8A0 +8780 +ENDCHAR +STARTCHAR U_49EE +ENCODING 18926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A920 +C7C0 +A100 +AFE0 +A540 +A7C0 +C240 +9920 +97C0 +ENDCHAR +STARTCHAR U_49EF +ENCODING 18927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E780 +A900 +BFC0 +C900 +AFC0 +A500 +AF80 +DA80 +8F80 +8540 +99E0 +ENDCHAR +STARTCHAR U_49F0 +ENCODING 18928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E880 +BC80 +A540 +DFC0 +AA80 +BF40 +ABE0 +DE80 +95C0 +AAA0 +8080 +ENDCHAR +STARTCHAR U_49F1 +ENCODING 18929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +4480 +F7E0 +5C80 +57C0 +5480 +5480 +57C0 +5C80 +9480 +87E0 +ENDCHAR +STARTCHAR U_49F2 +ENCODING 18930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +7240 +27E0 +2C80 +F480 +27E0 +2480 +27E0 +2480 +2480 +27E0 +ENDCHAR +STARTCHAR U_49F3 +ENCODING 18931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2200 +A3E0 +BA40 +A640 +A3E0 +A240 +ABE0 +B240 +C240 +03E0 +ENDCHAR +STARTCHAR U_49F4 +ENCODING 18932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2100 +FBE0 +2240 +2640 +FBE0 +0A40 +53E0 +2240 +5240 +8BE0 +ENDCHAR +STARTCHAR U_49F5 +ENCODING 18933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2200 +FBE0 +AE40 +2240 +33E0 +3240 +33E0 +5240 +5A40 +83E0 +ENDCHAR +STARTCHAR U_49F6 +ENCODING 18934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +6100 +7FE0 +A100 +3FE0 +0400 +FFE0 +0000 +1080 +6040 +ENDCHAR +STARTCHAR U_49F7 +ENCODING 18935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4280 +F440 +9FE0 +6480 +67E0 +9480 +47E0 +2480 +4480 +27E0 +ENDCHAR +STARTCHAR U_49F8 +ENCODING 18936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2280 +2440 +F7E0 +2C80 +27E0 +F480 +97E0 +9480 +9480 +F7E0 +ENDCHAR +STARTCHAR U_49F9 +ENCODING 18937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4A80 +4A40 +57E0 +7C80 +57E0 +5480 +57E0 +5480 +97E0 +ENDCHAR +STARTCHAR U_49FA +ENCODING 18938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +F7E0 +2C80 +4480 +47E0 +F480 +57E0 +5480 +5480 +77E0 +ENDCHAR +STARTCHAR U_49FB +ENCODING 18939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2140 +2120 +53E0 +8A40 +77E0 +0240 +73E0 +5240 +5240 +73E0 +ENDCHAR +STARTCHAR U_49FC +ENCODING 18940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A140 +FA20 +A3E0 +2640 +FBE0 +0240 +F3E0 +9240 +9240 +F3E0 +ENDCHAR +STARTCHAR U_49FD +ENCODING 18941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1940 +E120 +ABE0 +7640 +2240 +FBE0 +2240 +73E0 +6A40 +A240 +23E0 +ENDCHAR +STARTCHAR U_49FE +ENCODING 18942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +53E0 +8A40 +7640 +23E0 +FA40 +23E0 +7240 +5240 +73E0 +ENDCHAR +STARTCHAR U_49FF +ENCODING 18943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +4920 +FDE0 +4B40 +FD40 +01E0 +7940 +49E0 +7940 +4940 +79E0 +ENDCHAR +STARTCHAR U_4A00 +ENCODING 18944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2180 +5240 +8BE0 +2640 +ABE0 +2240 +FBE0 +7240 +ABE0 +2200 +ENDCHAR +STARTCHAR U_4A01 +ENCODING 18945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +13E0 +FD40 +3480 +5360 +9200 +3FC0 +2200 +7FC0 +A200 +3FE0 +ENDCHAR +STARTCHAR U_4A02 +ENCODING 18946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +22A0 +FDC0 +3080 +6940 +A220 +7FE0 +A200 +3FC0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_4A03 +ENCODING 18947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4940 +79E0 +4B40 +FD40 +A5E0 +2140 +FDE0 +4940 +3140 +CDE0 +ENDCHAR +STARTCHAR U_4A04 +ENCODING 18948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2900 +5540 +B9E0 +0B40 +FDE0 +2940 +DDE0 +B540 +CDE0 +B500 +ENDCHAR +STARTCHAR U_4A05 +ENCODING 18949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F940 +ABE0 +5640 +FA40 +53E0 +7240 +53E0 +7240 +AA40 +63E0 +ENDCHAR +STARTCHAR U_4A06 +ENCODING 18950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +73E0 +FA40 +AD40 +F880 +AB40 +3FE0 +6200 +BFC0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_4A07 +ENCODING 18951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +FFE0 +5280 +7BC0 +5280 +7FE0 +0000 +FBE0 +4920 +30C0 +CB20 +ENDCHAR +STARTCHAR U_4A08 +ENCODING 18952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FA40 +8FE0 +7280 +6A80 +B3E0 +5280 +F3E0 +5280 +7280 +8BE0 +ENDCHAR +STARTCHAR U_4A09 +ENCODING 18953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +B540 +DDE0 +B740 +4940 +B5E0 +4940 +FDE0 +4940 +3140 +CDE0 +ENDCHAR +STARTCHAR U_4A0A +ENCODING 18954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +3FC0 +5100 +FFE0 +5140 +7FE0 +5140 +7DE0 +4920 +7FE0 +8920 +ENDCHAR +STARTCHAR U_4A0B +ENCODING 18955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +A4A0 +1500 +2080 +3F80 +0400 +7FC0 +0420 +07E0 +ENDCHAR +STARTCHAR U_4A0C +ENCODING 18956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +A4A0 +1500 +2480 +7FC0 +0000 +FFC0 +1220 +E3E0 +ENDCHAR +STARTCHAR U_4A0D +ENCODING 18957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +2E80 +1100 +7FC0 +1100 +FFE0 +1100 +2100 +ENDCHAR +STARTCHAR U_4A0E +ENCODING 18958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A520 +7A80 +0900 +7900 +4100 +7A00 +0A40 +33A0 +ENDCHAR +STARTCHAR U_4A0F +ENCODING 18959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +A4A0 +9540 +2480 +E7E0 +0920 +2180 +C240 +0420 +ENDCHAR +STARTCHAR U_4A10 +ENCODING 18960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +5B40 +2080 +DF60 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_4A11 +ENCODING 18961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +7FC0 +0480 +7FC0 +4400 +FFE0 +0A20 +7160 +ENDCHAR +STARTCHAR U_4A12 +ENCODING 18962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +1500 +2480 +FBE0 +0820 +4920 +28A0 +DB60 +ENDCHAR +STARTCHAR U_4A13 +ENCODING 18963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +A4A0 +9520 +2480 +7FC0 +4040 +5F40 +5140 +7FC0 +ENDCHAR +STARTCHAR U_4A14 +ENCODING 18964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +9120 +2480 +1500 +7FC0 +0A00 +1220 +E3E0 +ENDCHAR +STARTCHAR U_4A15 +ENCODING 18965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A520 +1480 +6000 +03C0 +C080 +07E0 +2080 +4180 +ENDCHAR +STARTCHAR U_4A16 +ENCODING 18966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +7FE0 +94A0 +0900 +7FE0 +1000 +2F80 +4880 +8F80 +0880 +ENDCHAR +STARTCHAR U_4A17 +ENCODING 18967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +7F80 +2900 +7F80 +0200 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_4A18 +ENCODING 18968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +2480 +1F00 +1100 +1500 +1F00 +0A20 +73C0 +ENDCHAR +STARTCHAR U_4A19 +ENCODING 18969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +A520 +1480 +2520 +43C0 +A880 +57E0 +3080 +E7E0 +ENDCHAR +STARTCHAR U_4A1A +ENCODING 18970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +94A0 +A520 +1FC0 +2540 +4A80 +1500 +52A0 +8F80 +ENDCHAR +STARTCHAR U_4A1B +ENCODING 18971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +7FE0 +A4A0 +1500 +2040 +F7E0 +2400 +77E0 +A480 +2480 +ENDCHAR +STARTCHAR U_4A1C +ENCODING 18972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +7BC0 +4A40 +7BC0 +4A40 +7BC0 +4A40 +8C40 +ENDCHAR +STARTCHAR U_4A1D +ENCODING 18973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +3F80 +0400 +FFE0 +2080 +3C80 +2780 +2080 +ENDCHAR +STARTCHAR U_4A1E +ENCODING 18974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +FFE0 +A4A0 +1500 +2080 +1F00 +3F80 +2480 +FFE0 +8520 +9F20 +ENDCHAR +STARTCHAR U_4A1F +ENCODING 18975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +7FE0 +8420 +37C0 +9100 +47E0 +9100 +57C0 +2100 +CFE0 +ENDCHAR +STARTCHAR U_4A20 +ENCODING 18976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +7FE0 +94A0 +3F00 +2900 +3FC0 +6440 +AA40 +3F40 +0080 +ENDCHAR +STARTCHAR U_4A21 +ENCODING 18977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9540 +3F80 +0200 +3580 +8E20 +B520 +8CA0 +FFE0 +ENDCHAR +STARTCHAR U_4A22 +ENCODING 18978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +1100 +7FC0 +1500 +FFE0 +2500 +2880 +3FC0 +ENDCHAR +STARTCHAR U_4A23 +ENCODING 18979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +A4A0 +1140 +7FC0 +1100 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_4A24 +ENCODING 18980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +4480 +0200 +CF80 +4A80 +4F80 +6A80 +9FE0 +ENDCHAR +STARTCHAR U_4A25 +ENCODING 18981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +1200 +3FC0 +5200 +1FC0 +7100 +0E00 +71C0 +ENDCHAR +STARTCHAR U_4A26 +ENCODING 18982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +0400 +FFE0 +A4A0 +7FC0 +1100 +FFE0 +8420 +7FC0 +1100 +2300 +ENDCHAR +STARTCHAR U_4A27 +ENCODING 18983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +A4A0 +1500 +2180 +FE60 +5080 +57E0 +3A40 +C180 +ENDCHAR +STARTCHAR U_4A28 +ENCODING 18984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +A520 +CFA0 +2880 +EF80 +2800 +2FC0 +6840 +9FE0 +ENDCHAR +STARTCHAR U_4A29 +ENCODING 18985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +8420 +7480 +27E0 +FAA0 +13E0 +6AA0 +ABE0 +2080 +ENDCHAR +STARTCHAR U_4A2A +ENCODING 18986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +94A0 +27C0 +2540 +F7C0 +2100 +37C0 +E100 +0FE0 +ENDCHAR +STARTCHAR U_4A2B +ENCODING 18987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +FFE0 +5540 +2480 +DF60 +2900 +0600 +7900 +ENDCHAR +STARTCHAR U_4A2C +ENCODING 18988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +4880 +1DE0 +C880 +1DC0 +6AA0 +8880 +8880 +ENDCHAR +STARTCHAR U_4A2D +ENCODING 18989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +22A0 +FAA0 +A880 +FBE0 +AA20 +73E0 +0220 +FBE0 +5220 +FA60 +ENDCHAR +STARTCHAR U_4A2E +ENCODING 18990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +7BC0 +1100 +7BC0 +1140 +7FE0 +0040 +7FC0 +ENDCHAR +STARTCHAR U_4A2F +ENCODING 18991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +EFE0 +A540 +C7C0 +A540 +A7C0 +C540 +9920 +ENDCHAR +STARTCHAR U_4A30 +ENCODING 18992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +0280 +6FC0 +0280 +C7C0 +1540 +EFE0 +4100 +ENDCHAR +STARTCHAR U_4A31 +ENCODING 18993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +2800 +CFE0 +3540 +C7C0 +5A40 +4180 +4E60 +ENDCHAR +STARTCHAR U_4A32 +ENCODING 18994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +2140 +FA40 +ABE0 +FAA0 +22A0 +FBE0 +4080 +F960 +A940 +AA60 +ENDCHAR +STARTCHAR U_4A33 +ENCODING 18995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +7BC0 +4A40 +7BC0 +4A40 +7BC0 +52A0 +9CE0 +ENDCHAR +STARTCHAR U_4A34 +ENCODING 18996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +D440 +5BE0 +FC40 +4A40 +FD40 +1040 +FCC0 +ENDCHAR +STARTCHAR U_4A35 +ENCODING 18997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +92A0 +4FE0 +2AA0 +8FE0 +6540 +1540 +EFE0 +4100 +ENDCHAR +STARTCHAR U_4A36 +ENCODING 18998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +2980 +5F40 +5540 +7FC0 +0A00 +FBC0 +4A40 +ENDCHAR +STARTCHAR U_4A37 +ENCODING 18999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +4880 +FDC0 +4900 +FFC0 +4A40 +7980 +8E60 +ENDCHAR +STARTCHAR U_4A38 +ENCODING 19000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +94A0 +EFE0 +5540 +6FE0 +5040 +57C0 +6540 +4BA0 +ENDCHAR +STARTCHAR U_4A39 +ENCODING 19001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +9520 +2280 +5FE0 +D540 +57C0 +5100 +57C0 +4AA0 +ENDCHAR +STARTCHAR U_4A3A +ENCODING 19002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +A520 +7FE0 +1100 +FFE0 +AAA0 +7BE0 +5140 +FBA0 +ENDCHAR +STARTCHAR U_4A3B +ENCODING 19003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +71C0 +2080 +FBE0 +AAA0 +71C0 +5140 +FBE0 +AAA0 +71C0 +5140 +71C0 +ENDCHAR +STARTCHAR U_4A3C +ENCODING 19004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +FB60 +2140 +7BE0 +2280 +FFE0 +4A80 +7BE0 +4940 +7880 +8B60 +ENDCHAR +STARTCHAR U_4A3D +ENCODING 19005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1400 +F780 +1400 +F780 +1400 +FF80 +0100 +FF00 +8040 +8040 +7FC0 +ENDCHAR +STARTCHAR U_4A3E +ENCODING 19006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +4500 +5DC0 +4500 +5DC0 +4500 +5DC0 +4500 +8900 +ENDCHAR +STARTCHAR U_4A3F +ENCODING 19007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +0A00 +71C0 +9120 +71C0 +1100 +71C0 +1100 +61C0 +ENDCHAR +STARTCHAR U_4A40 +ENCODING 19008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0A00 +7BC0 +0A00 +FFE0 +2080 +3F80 +2080 +3F80 +1100 +60C0 +ENDCHAR +STARTCHAR U_4A41 +ENCODING 19009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +73C0 +1D00 +77C0 +1D00 +6600 +3DC0 +E700 +31C0 +E720 +3DE0 +ENDCHAR +STARTCHAR U_4A42 +ENCODING 19010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +2140 +4220 +FE20 +ABC0 +BA00 +ABE0 +BA20 +AA40 +FE40 +8280 +ENDCHAR +STARTCHAR U_4A43 +ENCODING 19011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +2280 +4280 +FEA0 +ABC0 +BA80 +AA80 +BA80 +AA80 +FFA0 +82E0 +ENDCHAR +STARTCHAR U_4A44 +ENCODING 19012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2220 +42A0 +FEA0 +AAA0 +BAA0 +AAA0 +BAA0 +AB40 +FD40 +8260 +ENDCHAR +STARTCHAR U_4A45 +ENCODING 19013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +23E0 +42A0 +FE80 +AA80 +BBE0 +AAA0 +BAA0 +AA40 +FEA0 +8520 +ENDCHAR +STARTCHAR U_4A46 +ENCODING 19014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +FE80 +11E0 +2280 +FE80 +AAE0 +BA80 +AA80 +BAE0 +AA80 +FE80 +ENDCHAR +STARTCHAR U_4A47 +ENCODING 19015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FE80 +20E0 +FE80 +AA80 +BBE0 +AA20 +BA20 +AA20 +FFE0 +8220 +ENDCHAR +STARTCHAR U_4A48 +ENCODING 19016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +23E0 +4400 +FFC0 +AB40 +BAC0 +AFE0 +BA40 +ABE0 +FC40 +8180 +ENDCHAR +STARTCHAR U_4A49 +ENCODING 19017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FCC0 +20A0 +43E0 +FE80 +ABE0 +BAA0 +ABE0 +BAA0 +ABE0 +FEA0 +82A0 +ENDCHAR +STARTCHAR U_4A4A +ENCODING 19018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +23E0 +4220 +FE00 +ABE0 +BAA0 +ABA0 +BAE0 +AA80 +FFA0 +8260 +ENDCHAR +STARTCHAR U_4A4B +ENCODING 19019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +2FE0 +4A80 +FFE0 +AA80 +BA80 +AB80 +BEC0 +AAA0 +FE80 +9280 +ENDCHAR +STARTCHAR U_4A4C +ENCODING 19020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +43E0 +FE80 +ABC0 +BA80 +ABC0 +BA80 +ABE0 +FC00 +85A0 +ENDCHAR +STARTCHAR U_4A4D +ENCODING 19021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2A40 +4420 +FFC0 +AA40 +BBC0 +AA40 +BBC0 +AAA0 +FCA0 +ENDCHAR +STARTCHAR U_4A4E +ENCODING 19022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +2440 +4FE0 +F800 +AFE0 +D920 +AFE0 +AA40 +FA40 +05A0 +ENDCHAR +STARTCHAR U_4A4F +ENCODING 19023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +27E0 +4140 +FBE0 +AAA0 +BBE0 +A840 +BBE0 +AA40 +ABE0 +FCA0 +ENDCHAR +STARTCHAR U_4A50 +ENCODING 19024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F9E0 +5200 +2400 +FBE0 +A820 +F840 +2080 +F900 +2220 +23E0 +ENDCHAR +STARTCHAR U_4A51 +ENCODING 19025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5020 +FBE0 +5020 +73E0 +2200 +FA00 +ABE0 +F820 +2020 +FA20 +21C0 +ENDCHAR +STARTCHAR U_4A52 +ENCODING 19026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +FBE0 +5080 +7080 +2080 +FFE0 +A880 +F880 +2080 +F880 +2180 +ENDCHAR +STARTCHAR U_4A53 +ENCODING 19027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F900 +53E0 +7420 +2120 +F920 +AA20 +FAA0 +27A0 +F820 +20C0 +ENDCHAR +STARTCHAR U_4A54 +ENCODING 19028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29C0 +FD40 +2940 +3960 +1200 +7FE0 +5540 +7D40 +1080 +FD40 +1220 +ENDCHAR +STARTCHAR U_4A55 +ENCODING 19029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F900 +72E0 +22A0 +FAA0 +AAA0 +FAA0 +23A0 +FAE0 +20A0 +2080 +ENDCHAR +STARTCHAR U_4A56 +ENCODING 19030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F880 +52A0 +72A0 +22A0 +FA80 +ACA0 +F840 +2080 +F900 +2600 +ENDCHAR +STARTCHAR U_4A57 +ENCODING 19031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +F9E0 +5120 +7120 +21E0 +F920 +A920 +F9E0 +2120 +FA20 +2460 +ENDCHAR +STARTCHAR U_4A58 +ENCODING 19032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +FBE0 +5080 +7100 +2240 +FE80 +AB00 +F940 +2240 +FEE0 +2720 +ENDCHAR +STARTCHAR U_4A59 +ENCODING 19033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F880 +57E0 +7080 +2100 +FA40 +AC80 +FB40 +2240 +FDE0 +2620 +ENDCHAR +STARTCHAR U_4A5A +ENCODING 19034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +50E0 +FB80 +5280 +7280 +2280 +FBE0 +AA80 +FA80 +22A0 +FB60 +22A0 +ENDCHAR +STARTCHAR U_4A5B +ENCODING 19035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F8A0 +5020 +7140 +2140 +FB40 +ADC0 +F9A0 +2100 +FB20 +25E0 +ENDCHAR +STARTCHAR U_4A5C +ENCODING 19036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F880 +5080 +73E0 +22A0 +FAA0 +ABE0 +FAA0 +22A0 +FAA0 +23E0 +ENDCHAR +STARTCHAR U_4A5D +ENCODING 19037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5060 +FFC0 +5540 +7540 +2540 +FD40 +A940 +F940 +2AA0 +FBA0 +2820 +ENDCHAR +STARTCHAR U_4A5E +ENCODING 19038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F880 +5080 +70E0 +2080 +F880 +ABE0 +FA20 +2220 +FA20 +23E0 +ENDCHAR +STARTCHAR U_4A5F +ENCODING 19039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FFE0 +5080 +73E0 +20A0 +FBE0 +AA80 +FBE0 +20A0 +F940 +2620 +ENDCHAR +STARTCHAR U_4A60 +ENCODING 19040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +F820 +5740 +71C0 +2240 +FBE0 +A940 +FEE0 +2300 +FC80 +2460 +ENDCHAR +STARTCHAR U_4A61 +ENCODING 19041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5180 +F920 +57E0 +7100 +2540 +FB40 +A9A0 +F900 +2280 +FA40 +2420 +ENDCHAR +STARTCHAR U_4A62 +ENCODING 19042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5200 +FA60 +5280 +7F80 +22E0 +FAA0 +ABA0 +FEA0 +22A0 +FAA0 +24A0 +ENDCHAR +STARTCHAR U_4A63 +ENCODING 19043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F880 +5140 +2220 +FDC0 +A880 +FBE0 +2080 +FAC0 +24A0 +2180 +ENDCHAR +STARTCHAR U_4A64 +ENCODING 19044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +FBC0 +5240 +73C0 +2240 +FBC0 +AA40 +FBC0 +2180 +FAA0 +24E0 +ENDCHAR +STARTCHAR U_4A65 +ENCODING 19045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +F8E0 +5740 +2140 +FA60 +AF40 +F940 +2540 +F3E0 +2500 +28E0 +ENDCHAR +STARTCHAR U_4A66 +ENCODING 19046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +D680 +5180 +4740 +5100 +7FC0 +1100 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_4A67 +ENCODING 19047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F880 +57E0 +7000 +23C0 +F800 +ABC0 +F800 +23C0 +FA40 +23C0 +ENDCHAR +STARTCHAR U_4A68 +ENCODING 19048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FA00 +53C0 +7200 +23C0 +FA00 +AFE0 +FAA0 +22C0 +FB40 +2220 +ENDCHAR +STARTCHAR U_4A69 +ENCODING 19049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FFE0 +5420 +7200 +23E0 +FDA0 +ABA0 +F9E0 +2280 +FAA0 +24E0 +ENDCHAR +STARTCHAR U_4A6A +ENCODING 19050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FFE0 +5420 +73C0 +2240 +FBC0 +AA00 +FBC0 +2240 +FA40 +23C0 +ENDCHAR +STARTCHAR U_4A6B +ENCODING 19051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +F880 +53E0 +72A0 +FAA0 +ABE0 +FBE0 +22A0 +FAA0 +22A0 +2220 +ENDCHAR +STARTCHAR U_4A6C +ENCODING 19052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FBE0 +5080 +73C0 +F900 +AFE0 +FAA0 +25C0 +F880 +23E0 +2080 +ENDCHAR +STARTCHAR U_4A6D +ENCODING 19053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F7E0 +5180 +7240 +27E0 +F840 +ABC0 +FAC0 +23C0 +F840 +20C0 +ENDCHAR +STARTCHAR U_4A6E +ENCODING 19054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5200 +FFC0 +5440 +7780 +2080 +FFE0 +B520 +F3C0 +2540 +F920 +2300 +ENDCHAR +STARTCHAR U_4A6F +ENCODING 19055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +57E0 +F900 +5200 +FAE0 +A9A0 +FB40 +21A0 +FAA0 +2000 +27E0 +ENDCHAR +STARTCHAR U_4A70 +ENCODING 19056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53C0 +FA40 +53C0 +7000 +27E0 +FAC0 +AB40 +FAC0 +2340 +FFE0 +2040 +ENDCHAR +STARTCHAR U_4A71 +ENCODING 19057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FA80 +5440 +7BA0 +2000 +FF20 +ADA0 +FFA0 +25A0 +FF20 +2560 +ENDCHAR +STARTCHAR U_4A72 +ENCODING 19058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FFE0 +5540 +77E0 +FD40 +ADC0 +FC00 +27C0 +FD40 +2480 +2B60 +ENDCHAR +STARTCHAR U_4A73 +ENCODING 19059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FBE0 +52A0 +7480 +23C0 +F940 +AA20 +F9C0 +2140 +F880 +2140 +ENDCHAR +STARTCHAR U_4A74 +ENCODING 19060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5200 +FAE0 +57A0 +72A0 +22E0 +FFA0 +ADA0 +FDE0 +27A0 +F920 +2260 +ENDCHAR +STARTCHAR U_4A75 +ENCODING 19061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FAA0 +5080 +73E0 +22A0 +FBE0 +AAA0 +FBE0 +2080 +FBE0 +2080 +ENDCHAR +STARTCHAR U_4A76 +ENCODING 19062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +52A0 +FAA0 +53E0 +7080 +27E0 +F880 +ABE0 +FAA0 +23E0 +F8A0 +23E0 +ENDCHAR +STARTCHAR U_4A77 +ENCODING 19063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FFE0 +5240 +77E0 +24A0 +FFE0 +A900 +F9E0 +2220 +FA20 +24C0 +ENDCHAR +STARTCHAR U_4A78 +ENCODING 19064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +FFE0 +5240 +77E0 +2240 +FBC0 +AA40 +FBC0 +2240 +FFE0 +2040 +ENDCHAR +STARTCHAR U_4A79 +ENCODING 19065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +F800 +53C0 +7240 +23C0 +F800 +AFE0 +FD60 +27E0 +FCA0 +24A0 +ENDCHAR +STARTCHAR U_4A7A +ENCODING 19066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FA40 +5520 +7A80 +27C0 +F800 +AFE0 +FDA0 +2360 +FDA0 +2360 +ENDCHAR +STARTCHAR U_4A7B +ENCODING 19067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53C0 +FE80 +53C0 +7280 +23C0 +FA80 +ABE0 +F820 +22A0 +FD20 +20C0 +ENDCHAR +STARTCHAR U_4A7C +ENCODING 19068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5040 +FAC0 +5120 +76C0 +23A0 +FC40 +AAE0 +FA40 +22E0 +FE40 +21E0 +ENDCHAR +STARTCHAR U_4A7D +ENCODING 19069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +FC00 +55C0 +7540 +25C0 +FC00 +AFE0 +FEA0 +27E0 +FC00 +27E0 +ENDCHAR +STARTCHAR U_4A7E +ENCODING 19070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FFE0 +5400 +7540 +27E0 +FD40 +AD40 +FDC0 +2400 +F940 +2AA0 +ENDCHAR +STARTCHAR U_4A7F +ENCODING 19071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FFE0 +5540 +7FE0 +2440 +FFC0 +AC40 +FFC0 +2440 +FFC0 +2C60 +ENDCHAR +STARTCHAR U_4A80 +ENCODING 19072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FFE0 +5420 +73C0 +2240 +FBE0 +AA20 +FBE0 +2520 +F440 +2BC0 +ENDCHAR +STARTCHAR U_4A81 +ENCODING 19073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +52A0 +FAC0 +57E0 +7280 +27E0 +F900 +ABC0 +F900 +27E0 +FA80 +2460 +ENDCHAR +STARTCHAR U_4A82 +ENCODING 19074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +FFE0 +5280 +7280 +2FE0 +FAA0 +AAA0 +FBA0 +26C0 +FAA0 +2280 +ENDCHAR +STARTCHAR U_4A83 +ENCODING 19075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +FFC0 +5040 +7760 +2580 +FF20 +A8A0 +FFA0 +2240 +FDA0 +2320 +ENDCHAR +STARTCHAR U_4A84 +ENCODING 19076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5140 +FBE0 +5140 +77E0 +2080 +FBE0 +AAA0 +FBE0 +22A0 +FBE0 +2620 +ENDCHAR +STARTCHAR U_4A85 +ENCODING 19077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +FD20 +57E0 +7200 +23E0 +FD20 +ABA0 +FAA0 +23A0 +F920 +2360 +ENDCHAR +STARTCHAR U_4A86 +ENCODING 19078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +FFE0 +52A0 +7FE0 +2AA0 +FFE0 +AA40 +FA40 +23C0 +F940 +27E0 +ENDCHAR +STARTCHAR U_4A87 +ENCODING 19079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +FFE0 +5240 +2120 +FFE0 +A540 +FFC0 +2540 +FFE0 +2240 +20C0 +ENDCHAR +STARTCHAR U_4A88 +ENCODING 19080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5040 +FAE0 +56A0 +72E0 +2440 +FAE0 +AAA0 +FAA0 +26E0 +FA00 +21E0 +ENDCHAR +STARTCHAR U_4A89 +ENCODING 19081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +52A0 +FD40 +52A0 +7FE0 +2920 +FAA0 +AFE0 +F940 +2DC0 +FB40 +2DA0 +ENDCHAR +STARTCHAR U_4A8A +ENCODING 19082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +54E0 +FF80 +52E0 +7F20 +2AE0 +FA80 +AEE0 +FA80 +2EE0 +FA80 +2AE0 +ENDCHAR +STARTCHAR U_4A8B +ENCODING 19083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FBE0 +56A0 +73E0 +2080 +FFE0 +AAC0 +FB40 +2BC0 +FE20 +21E0 +ENDCHAR +STARTCHAR U_4A8C +ENCODING 19084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53C0 +FC80 +57E0 +7420 +27E0 +FA40 +ABE0 +FD20 +27C0 +FAA0 +24E0 +ENDCHAR +STARTCHAR U_4A8D +ENCODING 19085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +FAA0 +4EE0 +7AA0 +2FE0 +F920 +AFE0 +FAA0 +2BA0 +FD60 +2920 +ENDCHAR +STARTCHAR U_4A8E +ENCODING 19086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +54A0 +FFE0 +5240 +77E0 +2240 +FBE0 +AA40 +FFE0 +25A0 +FE60 +25A0 +ENDCHAR +STARTCHAR U_4A8F +ENCODING 19087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +2BE0 +FEA0 +8AA0 +FAA0 +22A0 +FB60 +A220 +FA20 +2260 +ENDCHAR +STARTCHAR U_4A90 +ENCODING 19088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F0A0 +5220 +FA40 +5240 +7660 +2AA0 +7280 +A2A0 +F920 +26C0 +ENDCHAR +STARTCHAR U_4A91 +ENCODING 19089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7880 +2BE0 +FC20 +3000 +4A40 +3240 +7A80 +5320 +FE20 +13C0 +ENDCHAR +STARTCHAR U_4A92 +ENCODING 19090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7880 +2BE0 +FC80 +0080 +7BE0 +4880 +7880 +5080 +FC80 +13E0 +ENDCHAR +STARTCHAR U_4A93 +ENCODING 19091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7880 +48E0 +FC80 +0080 +7880 +4BE0 +FA20 +A220 +FA20 +23E0 +ENDCHAR +STARTCHAR U_4A94 +ENCODING 19092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +78A0 +4BE0 +F880 +03E0 +7AA0 +4BE0 +FAA0 +A3E0 +FAA0 +22A0 +ENDCHAR +STARTCHAR U_4A95 +ENCODING 19093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7A00 +4BE0 +FD20 +03A0 +7920 +4BE0 +F920 +A3A0 +F920 +2060 +ENDCHAR +STARTCHAR U_4A96 +ENCODING 19094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +79E0 +2B20 +FDE0 +0120 +79E0 +4900 +7BE0 +5140 +FC80 +1360 +ENDCHAR +STARTCHAR U_4A97 +ENCODING 19095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +F760 +5520 +FF60 +5400 +76E0 +24A0 +F6A0 +A440 +F4A0 +2520 +ENDCHAR +STARTCHAR U_4A98 +ENCODING 19096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA20 +2BE0 +FE20 +4BE0 +7800 +23E0 +F880 +A2E0 +FA80 +25E0 +ENDCHAR +STARTCHAR U_4A99 +ENCODING 19097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7BE0 +2880 +FFE0 +02A0 +7BE0 +4AA0 +7840 +13E0 +FD40 +10C0 +ENDCHAR +STARTCHAR U_4A9A +ENCODING 19098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2BC0 +FA40 +4BC0 +7800 +27E0 +FDA0 +A360 +FDA0 +2360 +ENDCHAR +STARTCHAR U_4A9B +ENCODING 19099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FB80 +2AA0 +FFE0 +49C0 +7AA0 +23E0 +FAA0 +A3E0 +FAA0 +23E0 +ENDCHAR +STARTCHAR U_4A9C +ENCODING 19100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +7BE0 +2EA0 +FB40 +4BE0 +7A00 +13E0 +FA00 +55E0 +F920 +11E0 +ENDCHAR +STARTCHAR U_4A9D +ENCODING 19101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +F7E0 +5240 +FBE0 +5680 +73E0 +2280 +77E0 +A240 +F180 +2660 +ENDCHAR +STARTCHAR U_4A9E +ENCODING 19102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +0400 +7FC0 +0A00 +3180 +CA60 +3B80 +0A00 +3B80 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_4A9F +ENCODING 19103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FA80 +2100 +FEE0 +AA80 +AEC0 +AA80 +BEC0 +2280 +27E0 +ENDCHAR +STARTCHAR U_4AA0 +ENCODING 19104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FDE0 +92A0 +FC80 +5560 +9200 +7BC0 +0A00 +7BC0 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_4AA1 +ENCODING 19105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F5E0 +A2A0 +FC80 +6B60 +A000 +79C0 +0900 +79C0 +0900 +FFE0 +ENDCHAR +STARTCHAR U_4AA2 +ENCODING 19106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +35E0 +E0A0 +A540 +A220 +F940 +2B60 +2940 +6B60 +A140 +23E0 +ENDCHAR +STARTCHAR U_4AA3 +ENCODING 19107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FDE0 +22A0 +FC80 +A940 +A940 +BF60 +2140 +6760 +A140 +27E0 +ENDCHAR +STARTCHAR U_4AA4 +ENCODING 19108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5060 +5F80 +D540 +5FE0 +D380 +5540 +5FE0 +D540 +5FC0 +7540 +C7C0 +ENDCHAR +STARTCHAR U_4AA5 +ENCODING 19109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +3A20 +2140 +F880 +8B60 +7140 +5360 +7140 +5360 +7140 +8BE0 +ENDCHAR +STARTCHAR U_4AA6 +ENCODING 19110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FDE0 +4880 +3080 +FC80 +0080 +7880 +4880 +7880 +4880 +7BE0 +ENDCHAR +STARTCHAR U_4AA7 +ENCODING 19111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +4A80 +32E0 +FFA0 +02A0 +7AE0 +4A80 +7A20 +4A20 +7BE0 +ENDCHAR +STARTCHAR U_4AA8 +ENCODING 19112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FD00 +4BE0 +3220 +FC20 +0120 +78A0 +48A0 +7820 +4820 +78C0 +ENDCHAR +STARTCHAR U_4AA9 +ENCODING 19113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +5140 +5220 +FD00 +0080 +FBE0 +8820 +F840 +8840 +F880 +ENDCHAR +STARTCHAR U_4AAA +ENCODING 19114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FDE0 +2520 +C9E0 +0400 +3FC0 +0900 +FFE0 +1280 +1480 +1F80 +ENDCHAR +STARTCHAR U_4AAB +ENCODING 19115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F940 +52A0 +2140 +FBE0 +0000 +FBE0 +8880 +F880 +8880 +FBE0 +ENDCHAR +STARTCHAR U_4AAC +ENCODING 19116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +5080 +57E0 +FC20 +03C0 +7040 +5080 +77E0 +5080 +7180 +ENDCHAR +STARTCHAR U_4AAD +ENCODING 19117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +5240 +2180 +FFE0 +0000 +7BC0 +4A40 +7BC0 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_4AAE +ENCODING 19118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +FBE0 +9520 +63A0 +F960 +0200 +F3E0 +9520 +F7E0 +9120 +F260 +ENDCHAR +STARTCHAR U_4AAF +ENCODING 19119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +71C0 +5140 +7FE0 +8420 +7FC0 +1100 +FFE0 +1280 +1480 +1F80 +ENDCHAR +STARTCHAR U_4AB0 +ENCODING 19120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +9440 +6280 +FFE0 +0440 +F7C0 +9440 +F7C0 +9D60 +F3C0 +ENDCHAR +STARTCHAR U_4AB1 +ENCODING 19121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0900 +0BE0 +0A20 +FBE0 +8220 +8BE0 +9220 +A3E0 +C140 +8220 +ENDCHAR +STARTCHAR U_4AB2 +ENCODING 19122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +FD00 +53E0 +5220 +53E0 +5220 +53E0 +5620 +5BE0 +9140 +8220 +ENDCHAR +STARTCHAR U_4AB3 +ENCODING 19123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +2900 +FFE0 +2A20 +2BE0 +7A20 +23E0 +2220 +43E0 +4140 +8220 +ENDCHAR +STARTCHAR U_4AB4 +ENCODING 19124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F900 +ABC0 +AA40 +23C0 +3240 +33C0 +5240 +57C0 +5A40 +9420 +ENDCHAR +STARTCHAR U_4AB5 +ENCODING 19125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5100 +53E0 +9220 +FBE0 +3220 +53E0 +5220 +53E0 +9140 +3220 +ENDCHAR +STARTCHAR U_4AB6 +ENCODING 19126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +7880 +4BE0 +7A20 +4BE0 +4A20 +7BE0 +4A20 +5FE0 +E140 +0220 +ENDCHAR +STARTCHAR U_4AB7 +ENCODING 19127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +7C80 +45E0 +F520 +55E0 +5520 +55E0 +7520 +05E0 +04C0 +1920 +ENDCHAR +STARTCHAR U_4AB8 +ENCODING 19128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8880 +8BE0 +FA20 +A3E0 +A220 +FBE0 +A220 +93E0 +D540 +8A20 +ENDCHAR +STARTCHAR U_4AB9 +ENCODING 19129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +FBE0 +2080 +73E0 +AA20 +ABE0 +A220 +23E0 +0140 +F940 +0220 +ENDCHAR +STARTCHAR U_4ABA +ENCODING 19130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2100 +FBE0 +2220 +23E0 +FA20 +23E0 +4A20 +9BE0 +E940 +0220 +ENDCHAR +STARTCHAR U_4ABB +ENCODING 19131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2000 +47C0 +5200 +EFC0 +0440 +5740 +FC40 +5740 +5540 +9280 +1440 +ENDCHAR +STARTCHAR U_4ABC +ENCODING 19132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +A880 +A900 +ABC0 +FA40 +23C0 +AA40 +ABC0 +AA40 +FBC0 +0420 +ENDCHAR +STARTCHAR U_4ABD +ENCODING 19133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4880 +7BE0 +0220 +FFE0 +2220 +7BE0 +0A20 +0BE0 +0940 +3220 +ENDCHAR +STARTCHAR U_4ABE +ENCODING 19134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2100 +FAC0 +8C20 +F880 +8B00 +F840 +8980 +FA20 +50C0 +8B00 +ENDCHAR +STARTCHAR U_4ABF +ENCODING 19135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +2080 +FBE0 +8A20 +DBE0 +AA20 +ABE0 +DA20 +8BE0 +F940 +0220 +ENDCHAR +STARTCHAR U_4AC0 +ENCODING 19136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8880 +8BE0 +FA20 +8BE0 +8A20 +FBE0 +8220 +ABE0 +9140 +CA20 +ENDCHAR +STARTCHAR U_4AC1 +ENCODING 19137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +4080 +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8940 +0220 +ENDCHAR +STARTCHAR U_4AC2 +ENCODING 19138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +7880 +93E0 +6220 +53E0 +9A20 +27E0 +5A20 +13E0 +6140 +8220 +ENDCHAR +STARTCHAR U_4AC3 +ENCODING 19139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8080 +F3E0 +8220 +F3E0 +A220 +ABE0 +B220 +ABE0 +A540 +B220 +ENDCHAR +STARTCHAR U_4AC4 +ENCODING 19140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8BE0 +5080 +0100 +FBE0 +8A20 +8BA0 +FAE0 +5220 +53E0 +5940 +9220 +ENDCHAR +STARTCHAR U_4AC5 +ENCODING 19141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F880 +8BE0 +2220 +FBE0 +2220 +73E0 +6A20 +ABE0 +2140 +2220 +ENDCHAR +STARTCHAR U_4AC6 +ENCODING 19142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0DE0 +0A80 +7DE0 +4920 +4BE0 +7520 +55E0 +5520 +75E0 +8AC0 +8320 +ENDCHAR +STARTCHAR U_4AC7 +ENCODING 19143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0900 +F3E0 +0A20 +F3E0 +6220 +93E0 +FA20 +93E0 +F940 +9220 +ENDCHAR +STARTCHAR U_4AC8 +ENCODING 19144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +A880 +FBE0 +5220 +8BE0 +7220 +03E0 +FA20 +13E0 +1140 +2220 +ENDCHAR +STARTCHAR U_4AC9 +ENCODING 19145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +A880 +53E0 +2220 +D3E0 +2A20 +5BE0 +2A20 +CBE0 +3140 +1220 +ENDCHAR +STARTCHAR U_4ACA +ENCODING 19146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +1080 +23E0 +7220 +ABE0 +2220 +FBE0 +8A20 +8BE0 +F940 +8A20 +ENDCHAR +STARTCHAR U_4ACB +ENCODING 19147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +2100 +FBC0 +7240 +ABC0 +2240 +FBC0 +5240 +93C0 +7240 +8C20 +ENDCHAR +STARTCHAR U_4ACC +ENCODING 19148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +F900 +ABE0 +FA20 +ABE0 +FA20 +43E0 +A220 +FBE0 +2140 +2220 +ENDCHAR +STARTCHAR U_4ACD +ENCODING 19149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +2900 +EFE0 +2A20 +6FE0 +2A20 +6FE0 +AA20 +2BE0 +4940 +8A20 +ENDCHAR +STARTCHAR U_4ACE +ENCODING 19150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +B480 +49E0 +4920 +B5E0 +0120 +FDE0 +B520 +49E0 +48C0 +B520 +ENDCHAR +STARTCHAR U_4ACF +ENCODING 19151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BE0 +FD00 +4BE0 +7A20 +4BE0 +7A20 +4BE0 +FE20 +4BE0 +4940 +8620 +ENDCHAR +STARTCHAR U_4AD0 +ENCODING 19152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BE0 +4900 +FFE0 +4A20 +7BE0 +DE20 +DBE0 +6A20 +6BE0 +4940 +4A20 +ENDCHAR +STARTCHAR U_4AD1 +ENCODING 19153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F880 +23E0 +5220 +FFE0 +0A20 +EBE0 +AA20 +EBE0 +0940 +1A20 +ENDCHAR +STARTCHAR U_4AD2 +ENCODING 19154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +A100 +FBE0 +A220 +97E0 +CA20 +FBE0 +8A20 +FBE0 +8940 +FA20 +ENDCHAR +STARTCHAR U_4AD3 +ENCODING 19155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +2100 +FBE0 +4A20 +53E0 +FA20 +03E0 +FA20 +8BE0 +8940 +FA20 +ENDCHAR +STARTCHAR U_4AD4 +ENCODING 19156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +FC80 +55E0 +F620 +47E0 +EA20 +53E0 +FE20 +11E0 +2940 +C620 +ENDCHAR +STARTCHAR U_4AD5 +ENCODING 19157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F900 +53E0 +5220 +FFE0 +A620 +7BE0 +AA20 +ABE0 +B940 +2220 +ENDCHAR +STARTCHAR U_4AD6 +ENCODING 19158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +FC80 +49E0 +7920 +49E0 +7920 +49E0 +FD20 +A9E0 +C4C0 +FD20 +ENDCHAR +STARTCHAR U_4AD7 +ENCODING 19159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EDE0 +A480 +A7E0 +EA20 +83E0 +EE20 +8BE0 +EA20 +8BE0 +8540 +9A20 +ENDCHAR +STARTCHAR U_4AD8 +ENCODING 19160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4880 +79E0 +4920 +79E0 +4120 +BDE0 +5520 +6DE0 +74C0 +0920 +ENDCHAR +STARTCHAR U_4AD9 +ENCODING 19161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F880 +23E0 +5220 +FBE0 +5220 +23E0 +FA20 +73E0 +B140 +AA20 +ENDCHAR +STARTCHAR U_4ADA +ENCODING 19162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4480 +75E0 +5520 +55E0 +FD20 +85E0 +BD20 +ADE0 +BCC0 +8520 +ENDCHAR +STARTCHAR U_4ADB +ENCODING 19163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +3C80 +45E0 +7F20 +D1E0 +5D20 +69E0 +7F20 +49E0 +54C0 +6320 +ENDCHAR +STARTCHAR U_4ADC +ENCODING 19164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +A880 +BBE0 +EA20 +BBE0 +AA20 +EBE0 +BA20 +ABE0 +F940 +8A20 +ENDCHAR +STARTCHAR U_4ADD +ENCODING 19165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BE0 +E100 +23E0 +FA20 +73E0 +AA20 +FBE0 +8A20 +FBE0 +8940 +FA20 +ENDCHAR +STARTCHAR U_4ADE +ENCODING 19166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8BE0 +5080 +FBE0 +2220 +FBE0 +2220 +23E0 +FA20 +03E0 +A940 +AA20 +ENDCHAR +STARTCHAR U_4ADF +ENCODING 19167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4900 +7BE0 +0220 +FBE0 +8A20 +FBE0 +8A20 +FBE0 +5140 +8A20 +ENDCHAR +STARTCHAR U_4AE0 +ENCODING 19168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +5080 +ABE0 +5220 +FFE0 +2220 +7BE0 +A620 +7BE0 +4940 +7A20 +ENDCHAR +STARTCHAR U_4AE1 +ENCODING 19169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +51E0 +FC80 +51E0 +FD20 +55E0 +FF20 +55E0 +FD20 +51E0 +D8C0 +D520 +ENDCHAR +STARTCHAR U_4AE2 +ENCODING 19170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +9080 +BFE0 +AA20 +BDE0 +A920 +ADE0 +A120 +ADE0 +5480 +A720 +ENDCHAR +STARTCHAR U_4AE3 +ENCODING 19171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +C900 +ABE0 +5220 +9BE0 +7220 +8BE0 +7620 +23E0 +FD40 +4A20 +ENDCHAR +STARTCHAR U_4AE4 +ENCODING 19172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4240 +BDE0 +3520 +2DA0 +3D60 +1120 +7DE0 +1040 +28C0 +4520 +ENDCHAR +STARTCHAR U_4AE5 +ENCODING 19173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F900 +ABC0 +FA40 +ABC0 +FA40 +2BC0 +7640 +6BC0 +A420 +9FE0 +ENDCHAR +STARTCHAR U_4AE6 +ENCODING 19174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F900 +23E0 +FE20 +23E0 +4A20 +FFE0 +0220 +FFE0 +AB40 +FE20 +ENDCHAR +STARTCHAR U_4AE7 +ENCODING 19175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F900 +8BE0 +FA20 +8BE0 +FA20 +23E0 +DA20 +ABE0 +F940 +2220 +ENDCHAR +STARTCHAR U_4AE8 +ENCODING 19176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +F440 +27E0 +F5A0 +29E0 +F5A0 +42E0 +72A0 +55E0 +94A0 +B920 +ENDCHAR +STARTCHAR U_4AE9 +ENCODING 19177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +7880 +49E0 +9520 +FFE0 +5520 +A9E0 +1520 +61E0 +08C0 +7120 +ENDCHAR +STARTCHAR U_4AEA +ENCODING 19178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FE80 +11E0 +BB20 +55E0 +BB20 +55E0 +BB20 +11E0 +2880 +C520 +ENDCHAR +STARTCHAR U_4AEB +ENCODING 19179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F900 +ABC0 +FE40 +ABC0 +FA40 +ABC0 +FA40 +53C0 +7140 +CA20 +ENDCHAR +STARTCHAR U_4AEC +ENCODING 19180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +A880 +FFE0 +5520 +B7E0 +2520 +79E0 +4920 +79E0 +4880 +7920 +ENDCHAR +STARTCHAR U_4AED +ENCODING 19181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7C80 +55E0 +FF20 +01E0 +7D20 +45E0 +5520 +55E0 +2880 +4520 +ENDCHAR +STARTCHAR U_4AEE +ENCODING 19182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79E0 +0880 +FFE0 +0920 +F5E0 +5520 +EDE0 +0920 +FFE0 +4880 +1920 +ENDCHAR +STARTCHAR U_4AEF +ENCODING 19183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +2F40 +F4E0 +4AA0 +7FE0 +52A0 +5EE0 +5AA0 +5EE0 +9240 +B6A0 +ENDCHAR +STARTCHAR U_4AF0 +ENCODING 19184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +4540 +FFE0 +9540 +F920 +9540 +F7E0 +9940 +F5E0 +5240 +9440 +ENDCHAR +STARTCHAR U_4AF1 +ENCODING 19185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +2040 +FEE0 +AAA0 +AAE0 +00A0 +FEE0 +20A0 +FEE0 +AA40 +AAA0 +ENDCHAR +STARTCHAR U_4AF2 +ENCODING 19186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +15E0 +7E80 +51E0 +7920 +4BE0 +7520 +D5E0 +7B20 +29E0 +A2A0 +9F20 +ENDCHAR +STARTCHAR U_4AF3 +ENCODING 19187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +AA80 +FFE0 +4120 +7FE0 +9120 +7DE0 +5520 +7DE0 +14C0 +7B20 +ENDCHAR +STARTCHAR U_4AF4 +ENCODING 19188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +FE80 +75E0 +AF20 +25E0 +7D20 +01E0 +FF20 +39E0 +5540 +9220 +ENDCHAR +STARTCHAR U_4AF5 +ENCODING 19189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FC80 +A5E0 +FD20 +11E0 +FD20 +ABE0 +4520 +FDE0 +48A0 +9920 +ENDCHAR +STARTCHAR U_4AF6 +ENCODING 19190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42E0 +EF40 +52E0 +6BA0 +CEE0 +52A0 +6AE0 +10A0 +FEE0 +2840 +C5A0 +ENDCHAR +STARTCHAR U_4AF7 +ENCODING 19191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2080 +F9E0 +A920 +FDE0 +2120 +F9E0 +A920 +F9E0 +2120 +FE20 +ENDCHAR +STARTCHAR U_4AF8 +ENCODING 19192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +42A0 +7EA0 +4AA0 +7EA0 +4AA0 +7F20 +4A60 +4F20 +B0E0 +ENDCHAR +STARTCHAR U_4AF9 +ENCODING 19193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C00 +47E0 +7C80 +5480 +7C80 +5480 +7C80 +57E0 +5C00 +6620 +81E0 +ENDCHAR +STARTCHAR U_4AFA +ENCODING 19194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2540 +27C0 +4540 +57C0 +9540 +AD40 +7BA0 +08A0 +ENDCHAR +STARTCHAR U_4AFB +ENCODING 19195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C00 +45C0 +7D40 +5540 +7DC0 +5540 +7D40 +55C0 +5A00 +BD20 +80E0 +ENDCHAR +STARTCHAR U_4AFC +ENCODING 19196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +4D00 +77C0 +5540 +7D40 +57E0 +7D40 +5520 +5E20 +7400 +83E0 +ENDCHAR +STARTCHAR U_4AFD +ENCODING 19197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C00 +45E0 +7C80 +57E0 +7C80 +57E0 +7C80 +54E0 +5C00 +7220 +81E0 +ENDCHAR +STARTCHAR U_4AFE +ENCODING 19198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +4440 +7D20 +5740 +7DA0 +5700 +7D20 +54E0 +5C00 +B220 +81E0 +ENDCHAR +STARTCHAR U_4AFF +ENCODING 19199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C00 +47E0 +7CA0 +5520 +7E60 +5400 +7DE0 +5520 +5DE0 +7300 +80E0 +ENDCHAR +STARTCHAR U_4B00 +ENCODING 19200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +8AE0 +FDA0 +ADA0 +FAA0 +ADA0 +FDA0 +AAA0 +B960 +C400 +83E0 +ENDCHAR +STARTCHAR U_4B01 +ENCODING 19201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +4440 +7DE0 +5620 +7D00 +55C0 +7D00 +5520 +55E0 +7A00 +81E0 +ENDCHAR +STARTCHAR U_4B02 +ENCODING 19202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8A0 +8BE0 +FA80 +AAA0 +FAA0 +AA40 +FAC0 +AB20 +BA20 +C400 +83E0 +ENDCHAR +STARTCHAR U_4B03 +ENCODING 19203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C00 +4480 +7FE0 +5440 +7D40 +5540 +7C80 +57E0 +5C00 +6220 +81E0 +ENDCHAR +STARTCHAR U_4B04 +ENCODING 19204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8A0 +8BE0 +FA80 +AA80 +FBA0 +AAC0 +FA40 +ACA0 +BB00 +E420 +83E0 +ENDCHAR +STARTCHAR U_4B05 +ENCODING 19205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8FC0 +F940 +A940 +FA40 +AFE0 +FB60 +ADA0 +B960 +E400 +83E0 +ENDCHAR +STARTCHAR U_4B06 +ENCODING 19206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +8E20 +FAA0 +AFA0 +FAA0 +AEA0 +FBA0 +AA20 +AA60 +B400 +83E0 +ENDCHAR +STARTCHAR U_4B07 +ENCODING 19207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97C0 +6440 +F7C0 +9540 +97C0 +F540 +47C0 +6540 +65C0 +B660 +A820 +ENDCHAR +STARTCHAR U_4B08 +ENCODING 19208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +8A20 +FFE0 +AA20 +FBE0 +A940 +F940 +A940 +BA60 +C420 +83E0 +ENDCHAR +STARTCHAR U_4B09 +ENCODING 19209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +89C0 +F880 +ABE0 +F940 +AB60 +FD40 +A940 +BA40 +E420 +83E0 +ENDCHAR +STARTCHAR U_4B0A +ENCODING 19210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8FE0 +F880 +AAA0 +FAA0 +ADC0 +F940 +AA20 +B400 +EA20 +81E0 +ENDCHAR +STARTCHAR U_4B0B +ENCODING 19211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +45C0 +7C80 +57E0 +7D40 +56A0 +7DC0 +5740 +5C80 +7340 +81E0 +ENDCHAR +STARTCHAR U_4B0C +ENCODING 19212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +7E20 +53E0 +7E20 +53E0 +5EA0 +43E0 +7AA0 +AAE0 +AB20 +4C20 +ENDCHAR +STARTCHAR U_4B0D +ENCODING 19213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +8FE0 +FAA0 +AAA0 +FD20 +A940 +FAA0 +AE40 +B9C0 +C420 +83E0 +ENDCHAR +STARTCHAR U_4B0E +ENCODING 19214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8A0 +8FE0 +F880 +AFA0 +FD40 +AF40 +F840 +AFA0 +B8A0 +C400 +83E0 +ENDCHAR +STARTCHAR U_4B0F +ENCODING 19215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +47E0 +7D40 +5480 +7FE0 +5400 +7DC0 +5540 +5DC0 +7220 +81E0 +ENDCHAR +STARTCHAR U_4B10 +ENCODING 19216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4480 +7FE0 +55C0 +7EA0 +57E0 +7D40 +5480 +5F60 +6400 +83E0 +ENDCHAR +STARTCHAR U_4B11 +ENCODING 19217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8AA0 +FBE0 +AAA0 +FBE0 +A940 +F9C0 +A940 +A9C0 +F540 +93E0 +ENDCHAR +STARTCHAR U_4B12 +ENCODING 19218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8FE0 +FAA0 +AD40 +F980 +AE60 +FBC0 +AA40 +B980 +E640 +83E0 +ENDCHAR +STARTCHAR U_4B13 +ENCODING 19219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F800 +8880 +FBE0 +A940 +FBE0 +A940 +F9C0 +A940 +B9C0 +C420 +83E0 +ENDCHAR +STARTCHAR U_4B14 +ENCODING 19220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8940 +FBE0 +AC00 +FBA0 +AAA0 +FBA0 +AAA0 +BAA0 +C400 +83E0 +ENDCHAR +STARTCHAR U_4B15 +ENCODING 19221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +AAA0 +BAE0 +CB20 +8C20 +ENDCHAR +STARTCHAR U_4B16 +ENCODING 19222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8BE0 +FAA0 +AB20 +FBE0 +A880 +FBE0 +A880 +BBE0 +C400 +83E0 +ENDCHAR +STARTCHAR U_4B17 +ENCODING 19223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4A20 +7BE0 +4AA0 +FFE0 +42A0 +FBE0 +5AA0 +AAA0 +4BE0 +3420 +ENDCHAR +STARTCHAR U_4B18 +ENCODING 19224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8FE0 +F940 +A940 +FBE0 +AA20 +FBA0 +AAA0 +BBA0 +EA20 +87E0 +ENDCHAR +STARTCHAR U_4B19 +ENCODING 19225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +8E40 +FB80 +AE80 +FBE0 +A880 +FFE0 +AAA0 +ABE0 +FC00 +83E0 +ENDCHAR +STARTCHAR U_4B1A +ENCODING 19226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +9A80 +EBC0 +AA80 +FBC0 +AA80 +FBE0 +AAA0 +BD60 +EEA0 +83E0 +ENDCHAR +STARTCHAR U_4B1B +ENCODING 19227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8AA0 +FBE0 +AAA0 +F9C0 +AAA0 +FFE0 +AAA0 +BFE0 +E880 +87E0 +ENDCHAR +STARTCHAR U_4B1C +ENCODING 19228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8BE0 +F940 +AAA0 +FBE0 +A880 +FBE0 +AAA0 +ABE0 +F620 +81E0 +ENDCHAR +STARTCHAR U_4B1D +ENCODING 19229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +8BE0 +F940 +AFE0 +FAA0 +ABE0 +FAA0 +ABE0 +B940 +E620 +83E0 +ENDCHAR +STARTCHAR U_4B1E +ENCODING 19230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8FE0 +F880 +ABE0 +F920 +AFE0 +F920 +AFA0 +B860 +E420 +83E0 +ENDCHAR +STARTCHAR U_4B1F +ENCODING 19231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDA0 +89A0 +FEA0 +A9A0 +FF20 +AAA0 +FFA0 +AAA0 +BF60 +E400 +83E0 +ENDCHAR +STARTCHAR U_4B20 +ENCODING 19232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0400 +FFE0 +A4A0 +3F40 +6580 +2540 +FEE0 +2580 +2540 +44E0 +ENDCHAR +STARTCHAR U_4B21 +ENCODING 19233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0500 +FFE0 +3280 +D480 +7FA0 +24C0 +FFE0 +2480 +4460 +ENDCHAR +STARTCHAR U_4B22 +ENCODING 19234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +33E0 +4920 +B120 +4920 +7920 +4920 +7920 +4220 +5A20 +6CC0 +ENDCHAR +STARTCHAR U_4B23 +ENCODING 19235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +53E0 +EC00 +0000 +FBC0 +A840 +A880 +F900 +8200 +B220 +C9E0 +ENDCHAR +STARTCHAR U_4B24 +ENCODING 19236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4600 +4D00 +72C0 +5F80 +5480 +5F40 +5580 +98C0 +ENDCHAR +STARTCHAR U_4B25 +ENCODING 19237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +0100 +08A0 +1660 +2980 +FF60 +2900 +3F80 +2500 +3BC0 +ENDCHAR +STARTCHAR U_4B26 +ENCODING 19238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +33C0 +4A40 +A640 +7A20 +4C00 +7BC0 +4A40 +7A40 +4180 +5240 +6C20 +ENDCHAR +STARTCHAR U_4B27 +ENCODING 19239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +37C0 +4800 +B000 +4FE0 +7A80 +4A80 +7A80 +4280 +5AA0 +6C60 +ENDCHAR +STARTCHAR U_4B28 +ENCODING 19240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3200 +4FE0 +B220 +4FA0 +7AA0 +4AA0 +7AA0 +54E0 +5820 +68C0 +ENDCHAR +STARTCHAR U_4B29 +ENCODING 19241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0C00 +3580 +C460 +1F00 +E4E0 +3F80 +2480 +3FC0 +2A80 +31E0 +ENDCHAR +STARTCHAR U_4B2A +ENCODING 19242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +37E0 +4880 +B080 +4980 +7AC0 +4CA0 +7880 +5080 +5880 +6880 +ENDCHAR +STARTCHAR U_4B2B +ENCODING 19243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +3380 +4A80 +B280 +4BE0 +7A80 +4A80 +7A80 +5240 +5B60 +6AA0 +ENDCHAR +STARTCHAR U_4B2C +ENCODING 19244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5100 +AFC0 +F540 +9540 +F540 +9FE0 +F100 +8280 +B440 +D820 +ENDCHAR +STARTCHAR U_4B2D +ENCODING 19245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4920 +7920 +4260 +1F00 +E4E0 +3F80 +2480 +3FC0 +2A80 +31E0 +ENDCHAR +STARTCHAR U_4B2E +ENCODING 19246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +5440 +AC40 +F440 +9640 +F540 +95C0 +F640 +A440 +B0A0 +D320 +ENDCHAR +STARTCHAR U_4B2F +ENCODING 19247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +48E0 +B080 +4880 +7BE0 +4A20 +7A20 +4220 +5BE0 +6A20 +ENDCHAR +STARTCHAR U_4B30 +ENCODING 19248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +33E0 +48A0 +A4A0 +78A0 +4920 +7960 +4A20 +79E0 +4120 +5920 +69E0 +ENDCHAR +STARTCHAR U_4B31 +ENCODING 19249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +5100 +AFE0 +7100 +5380 +7540 +5920 +77C0 +5100 +6900 +ENDCHAR +STARTCHAR U_4B32 +ENCODING 19250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +3200 +4FE0 +A420 +FBA0 +4AA0 +7AA0 +4BA0 +7820 +5020 +68E0 +ENDCHAR +STARTCHAR U_4B33 +ENCODING 19251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +32A0 +49C0 +F880 +4BE0 +7880 +4880 +7BE0 +5080 +5880 +6880 +ENDCHAR +STARTCHAR U_4B34 +ENCODING 19252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +8000 +47E0 +3100 +1100 +8100 +6680 +1100 +0100 +F100 +06E0 +ENDCHAR +STARTCHAR U_4B35 +ENCODING 19253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +6FE0 +8100 +7220 +57C0 +7080 +5320 +74C0 +5140 +6A20 +ENDCHAR +STARTCHAR U_4B36 +ENCODING 19254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +AFC0 +F440 +97C0 +F500 +9520 +F4C0 +8480 +B540 +D620 +ENDCHAR +STARTCHAR U_4B37 +ENCODING 19255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +31E0 +6A40 +9580 +7900 +4A80 +7D60 +4A20 +7940 +5080 +6F00 +ENDCHAR +STARTCHAR U_4B38 +ENCODING 19256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2140 +5180 +D640 +2A20 +D500 +2E80 +D160 +1E00 +1500 +3BC0 +ENDCHAR +STARTCHAR U_4B39 +ENCODING 19257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +2BE0 +6480 +9140 +7BE0 +4880 +7880 +49C0 +7880 +5080 +6BE0 +ENDCHAR +STARTCHAR U_4B3A +ENCODING 19258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5280 +AFE0 +F100 +97C0 +F100 +9100 +FFE0 +A100 +B100 +D100 +ENDCHAR +STARTCHAR U_4B3B +ENCODING 19259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +3120 +4FE0 +7900 +CFE0 +7900 +4FE0 +7920 +4140 +51A0 +6E60 +ENDCHAR +STARTCHAR U_4B3C +ENCODING 19260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +2A20 +57E0 +F800 +4BE0 +7A20 +4BE0 +7A20 +43E0 +5A20 +6A60 +ENDCHAR +STARTCHAR U_4B3D +ENCODING 19261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5440 +E820 +07C0 +7440 +5440 +77C0 +5280 +6280 +54A0 +68E0 +ENDCHAR +STARTCHAR U_4B3E +ENCODING 19262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5280 +AFE0 +F120 +97E0 +F500 +97E0 +F120 +8320 +B560 +D900 +ENDCHAR +STARTCHAR U_4B3F +ENCODING 19263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +3220 +6BE0 +BE40 +4B80 +7AE0 +4B80 +7AE0 +4580 +54A0 +68E0 +ENDCHAR +STARTCHAR U_4B40 +ENCODING 19264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +53C0 +A940 +F540 +9F40 +F5C0 +9540 +F540 +A660 +BC40 +D3E0 +ENDCHAR +STARTCHAR U_4B41 +ENCODING 19265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA00 +23E0 +F240 +2E40 +3580 +FF60 +2900 +3F80 +2500 +33C0 +ENDCHAR +STARTCHAR U_4B42 +ENCODING 19266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +2A40 +67C0 +9000 +7BE0 +4AA0 +7AA0 +4BE0 +7A00 +5220 +6BE0 +ENDCHAR +STARTCHAR U_4B43 +ENCODING 19267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5280 +AE60 +F100 +97C0 +F040 +9180 +F240 +A520 +B440 +CBC0 +ENDCHAR +STARTCHAR U_4B44 +ENCODING 19268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +A540 +F7C0 +9100 +F7C0 +9140 +FFE0 +A140 +B7C0 +D100 +ENDCHAR +STARTCHAR U_4B45 +ENCODING 19269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +7520 +AFE0 +7520 +5520 +77A0 +54A0 +77A0 +4C20 +57E0 +7420 +ENDCHAR +STARTCHAR U_4B46 +ENCODING 19270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +9080 +E940 +9220 +EE00 +3580 +DF60 +2900 +3F80 +2500 +33C0 +ENDCHAR +STARTCHAR U_4B47 +ENCODING 19271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +57E0 +AC20 +F120 +97E0 +F120 +93A0 +F2A0 +83A0 +9020 +E9C0 +ENDCHAR +STARTCHAR U_4B48 +ENCODING 19272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +51E0 +AEA0 +F3E0 +94A0 +F5E0 +9280 +F280 +8DE0 +A480 +DBE0 +ENDCHAR +STARTCHAR U_4B49 +ENCODING 19273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +57E0 +AA00 +F3C0 +9480 +FFE0 +9240 +F3C0 +A240 +B3C0 +D440 +ENDCHAR +STARTCHAR U_4B4A +ENCODING 19274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6280 +5FE0 +AA80 +F100 +97C0 +F540 +9540 +FFE0 +A100 +B240 +DC20 +ENDCHAR +STARTCHAR U_4B4B +ENCODING 19275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +55E0 +AD20 +F5E0 +9480 +F7E0 +9480 +F5C0 +A5A0 +B6A0 +D480 +ENDCHAR +STARTCHAR U_4B4C +ENCODING 19276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +23C0 +FA40 +8AC0 +7F40 +A4E0 +3F00 +2940 +3F80 +20C0 +ENDCHAR +STARTCHAR U_4B4D +ENCODING 19277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +A900 +F3C0 +9100 +FFE0 +9000 +F7C0 +A540 +B540 +CFE0 +ENDCHAR +STARTCHAR U_4B4E +ENCODING 19278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +57E0 +AD40 +F5C0 +9400 +F7C0 +9100 +FFE0 +A100 +B540 +D920 +ENDCHAR +STARTCHAR U_4B4F +ENCODING 19279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +6FE0 +9820 +EFE0 +A800 +EFE0 +AAA0 +EFE0 +8AA0 +AAA0 +D060 +ENDCHAR +STARTCHAR U_4B50 +ENCODING 19280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5280 +AFE0 +7100 +57C0 +7100 +5FE0 +7200 +5540 +7C60 +4B80 +ENDCHAR +STARTCHAR U_4B51 +ENCODING 19281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +3280 +4FE0 +B280 +07E0 +72A0 +57E0 +72A0 +47E0 +5280 +6AA0 +ENDCHAR +STARTCHAR U_4B52 +ENCODING 19282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5200 +EBE0 +82A0 +7360 +52A0 +73E0 +5100 +66A0 +5A00 +69E0 +ENDCHAR +STARTCHAR U_4B53 +ENCODING 19283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +77C0 +E800 +77C0 +5000 +7380 +5280 +7380 +5440 +5A80 +6FE0 +ENDCHAR +STARTCHAR U_4B54 +ENCODING 19284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +6900 +D5C0 +F140 +9DC0 +F500 +95C0 +F940 +A5C0 +B400 +CBE0 +ENDCHAR +STARTCHAR U_4B55 +ENCODING 19285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +AA00 +FBE0 +AA40 +F440 +2E40 +3580 +DF60 +1100 +1F00 +1080 +ENDCHAR +STARTCHAR U_4B56 +ENCODING 19286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +AFE0 +4A40 +EA40 +AFE0 +EA40 +ABC0 +E800 +8A40 +ADA0 +D4A0 +ENDCHAR +STARTCHAR U_4B57 +ENCODING 19287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +33E0 +4940 +FBE0 +4A20 +7BE0 +4A20 +7BE0 +5140 +5A40 +6C60 +ENDCHAR +STARTCHAR U_4B58 +ENCODING 19288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5340 +BAC0 +03C0 +7880 +6FE0 +5BC0 +7A40 +63C0 +52C0 +6DA0 +ENDCHAR +STARTCHAR U_4B59 +ENCODING 19289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +56C0 +AB40 +7FE0 +56C0 +7B60 +57C0 +7440 +67C0 +5440 +77C0 +ENDCHAR +STARTCHAR U_4B5A +ENCODING 19290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +EA80 +7FE0 +5540 +77C0 +5540 +77C0 +6100 +77C0 +5FE0 +ENDCHAR +STARTCHAR U_4B5B +ENCODING 19291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +57C0 +8A60 +F7A0 +55A0 +75A0 +5760 +7540 +57E0 +6D40 +41A0 +ENDCHAR +STARTCHAR U_4B5C +ENCODING 19292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +BFE0 +D540 +EF80 +B8C0 +EFA0 +A880 +EF80 +8A80 +F240 +A220 +ENDCHAR +STARTCHAR U_4B5D +ENCODING 19293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +2880 +5540 +FAA0 +4FE0 +7AA0 +4BE0 +7A20 +43E0 +5220 +6BE0 +ENDCHAR +STARTCHAR U_4B5E +ENCODING 19294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +6AA0 +9FE0 +4100 +F7C0 +9FE0 +F280 +97C0 +F100 +AFE0 +F100 +ENDCHAR +STARTCHAR U_4B5F +ENCODING 19295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3140 +2B60 +7EA0 +83E0 +7AA0 +4AE0 +7A00 +4BE0 +7880 +53E0 +6AA0 +ENDCHAR +STARTCHAR U_4B60 +ENCODING 19296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +AFE0 +4A80 +EFE0 +AAA0 +EFE0 +AAA0 +EFE0 +8A80 +EEC0 +B2A0 +ENDCHAR +STARTCHAR U_4B61 +ENCODING 19297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +52A0 +AFE0 +F080 +97E0 +F020 +97E0 +F020 +87E0 +A540 +DBA0 +ENDCHAR +STARTCHAR U_4B62 +ENCODING 19298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +A920 +F6A0 +9BC0 +F540 +9FE0 +F000 +9FE0 +A100 +D300 +ENDCHAR +STARTCHAR U_4B63 +ENCODING 19299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +57E0 +A940 +7EC0 +56A0 +7AC0 +5240 +73C0 +4240 +53C0 +7440 +ENDCHAR +STARTCHAR U_4B64 +ENCODING 19300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +53E0 +AAA0 +77E0 +5140 +7F40 +55E0 +7520 +45E0 +5E00 +71E0 +ENDCHAR +STARTCHAR U_4B65 +ENCODING 19301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +5FE0 +A900 +77C0 +5100 +77E0 +5540 +7FE0 +4540 +57C0 +7460 +ENDCHAR +STARTCHAR U_4B66 +ENCODING 19302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57E0 +AAC0 +77E0 +52A0 +7BE0 +56A0 +7440 +47E0 +5940 +68C0 +ENDCHAR +STARTCHAR U_4B67 +ENCODING 19303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +AFE0 +5A40 +EFE0 +AA40 +EEE0 +AB40 +E980 +8A40 +AFE0 +F540 +ENDCHAR +STARTCHAR U_4B68 +ENCODING 19304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +AFE0 +5280 +E7E0 +AC80 +E7E0 +A480 +EFE0 +8AA0 +AFE0 +E820 +ENDCHAR +STARTCHAR U_4B69 +ENCODING 19305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +AFE0 +4A40 +EFE0 +AAC0 +EF60 +AA40 +EF60 +8940 +AF60 +F140 +ENDCHAR +STARTCHAR U_4B6A +ENCODING 19306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +4240 +7BC0 +AA40 +2FE0 +2540 +27C0 +2540 +37C0 +6100 +0FE0 +ENDCHAR +STARTCHAR U_4B6B +ENCODING 19307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8440 +F280 +8FE0 +9200 +F7C0 +0440 +F7C0 +9440 +F7C0 +9440 +F7C0 +ENDCHAR +STARTCHAR U_4B6C +ENCODING 19308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8540 +8A80 +F540 +8FC0 +F200 +07C0 +F540 +96C0 +F540 +9640 +F7C0 +ENDCHAR +STARTCHAR U_4B6D +ENCODING 19309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BE0 +FD00 +23E0 +7A20 +4BE0 +7A20 +4BE0 +7A20 +4BE0 +7940 +0220 +ENDCHAR +STARTCHAR U_4B6E +ENCODING 19310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +49A0 +5040 +FDA0 +4940 +FFE0 +0800 +1F80 +1280 +1280 +1F80 +ENDCHAR +STARTCHAR U_4B6F +ENCODING 19311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +2080 +FAA0 +72A0 +AAA0 +ABE0 +7080 +52A0 +72A0 +52A0 +73E0 +ENDCHAR +STARTCHAR U_4B70 +ENCODING 19312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +27E0 +F900 +77C0 +AA00 +2FE0 +7540 +5BA0 +7100 +57C0 +7100 +ENDCHAR +STARTCHAR U_4B71 +ENCODING 19313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +74A0 +22A0 +FAC0 +27E0 +74A0 +ADA0 +75E0 +56A0 +74A0 +54A0 +74E0 +ENDCHAR +STARTCHAR U_4B72 +ENCODING 19314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +27E0 +F980 +2240 +7420 +AFE0 +7040 +5740 +7540 +5740 +70C0 +ENDCHAR +STARTCHAR U_4B73 +ENCODING 19315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +23E0 +FAA0 +23E0 +DD80 +5660 +FFE0 +2480 +DFE0 +1280 +1F80 +ENDCHAR +STARTCHAR U_4B74 +ENCODING 19316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4400 +7FC0 +4400 +7FE0 +92A0 +9240 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_4B75 +ENCODING 19317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +A240 +F240 +A240 +F340 +A2C0 +FA40 +2A40 +AA40 +8C40 +3860 +ENDCHAR +STARTCHAR U_4B76 +ENCODING 19318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F800 +A7E0 +F140 +A140 +F140 +A140 +F940 +0A40 +AA40 +8A40 +3440 +ENDCHAR +STARTCHAR U_4B77 +ENCODING 19319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F1C0 +A700 +F100 +A7C0 +F100 +A100 +FFE0 +0900 +5900 +A920 +10E0 +ENDCHAR +STARTCHAR U_4B78 +ENCODING 19320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +A220 +F420 +A240 +F240 +A240 +FA40 +0980 +A980 +8A40 +3420 +ENDCHAR +STARTCHAR U_4B79 +ENCODING 19321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A6E0 +F4A0 +A4A0 +F4A0 +A4A0 +F5A0 +0EA0 +A8E0 +8880 +3080 +ENDCHAR +STARTCHAR U_4B7A +ENCODING 19322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +A100 +F7E0 +A000 +F380 +A280 +FA80 +0AA0 +AAA0 +8AA0 +3460 +ENDCHAR +STARTCHAR U_4B7B +ENCODING 19323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +A240 +F240 +A420 +F3C0 +A940 +F940 +0A40 +AA40 +8D40 +3080 +ENDCHAR +STARTCHAR U_4B7C +ENCODING 19324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79C0 +5000 +7800 +53E0 +7940 +5140 +7D40 +0540 +F540 +8A40 +3440 +ENDCHAR +STARTCHAR U_4B7D +ENCODING 19325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +5280 +7BE0 +5280 +7C80 +5080 +7FE0 +0880 +A880 +8880 +1080 +ENDCHAR +STARTCHAR U_4B7E +ENCODING 19326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +5140 +7920 +57E0 +7900 +5100 +7900 +0A80 +AA80 +9440 +2820 +ENDCHAR +STARTCHAR U_4B7F +ENCODING 19327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A280 +FBE0 +A480 +F880 +A7E0 +F880 +0940 +A940 +8A20 +3420 +ENDCHAR +STARTCHAR U_4B80 +ENCODING 19328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A3E0 +FA20 +A7A0 +FAA0 +A2A0 +FBA0 +0A60 +AA00 +8A20 +33E0 +ENDCHAR +STARTCHAR U_4B81 +ENCODING 19329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A240 +F7E0 +A000 +F240 +A240 +FFE0 +0A40 +AA40 +8A40 +3640 +ENDCHAR +STARTCHAR U_4B82 +ENCODING 19330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +A120 +F7E0 +A100 +F900 +A1E0 +FA20 +0B40 +AC80 +8940 +3620 +ENDCHAR +STARTCHAR U_4B83 +ENCODING 19331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A100 +F7C0 +A100 +F100 +AFE0 +F900 +0A00 +AA80 +8C40 +37C0 +ENDCHAR +STARTCHAR U_4B84 +ENCODING 19332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A080 +F7E0 +A080 +F100 +A200 +F940 +0880 +A900 +8A40 +33E0 +ENDCHAR +STARTCHAR U_4B85 +ENCODING 19333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8A0 +A080 +F3E0 +A280 +F280 +A2A0 +FAA0 +0AA0 +AB40 +8AA0 +3120 +ENDCHAR +STARTCHAR U_4B86 +ENCODING 19334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A080 +F9C0 +A2A0 +F8A0 +A000 +F880 +0BE0 +A880 +8880 +3080 +ENDCHAR +STARTCHAR U_4B87 +ENCODING 19335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A3E0 +F8A0 +A3E0 +F8A0 +A3E0 +F880 +0BE0 +A880 +8FE0 +3080 +ENDCHAR +STARTCHAR U_4B88 +ENCODING 19336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A0E0 +F920 +A2C0 +F880 +A300 +F8E0 +0920 +AAC0 +8880 +3700 +ENDCHAR +STARTCHAR U_4B89 +ENCODING 19337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +A3E0 +F440 +AB80 +F220 +A340 +FA80 +0A40 +AA40 +8AA0 +3320 +ENDCHAR +STARTCHAR U_4B8A +ENCODING 19338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +53E0 +7880 +53E0 +78A0 +53C0 +7A80 +07E0 +54A0 +A540 +9A20 +ENDCHAR +STARTCHAR U_4B8B +ENCODING 19339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +7BA0 +5120 +7920 +53A0 +52E0 +7AA0 +0D20 +5920 +AA20 +1440 +ENDCHAR +STARTCHAR U_4B8C +ENCODING 19340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +A480 +F7E0 +AC80 +F480 +A5C0 +F6A0 +16A0 +B480 +9480 +6480 +ENDCHAR +STARTCHAR U_4B8D +ENCODING 19341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +3F80 +2400 +3F00 +2400 +3FC0 +5540 +8A80 +7FC0 +3500 +D200 +19C0 +ENDCHAR +STARTCHAR U_4B8E +ENCODING 19342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +F6C0 +A380 +F6C0 +A200 +F7C0 +A300 +F7C0 +9D40 +7540 +D5C0 +B100 +ENDCHAR +STARTCHAR U_4B8F +ENCODING 19343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +5100 +7900 +53C0 +7940 +5140 +7BE0 +0800 +6BC0 +8A40 +33C0 +ENDCHAR +STARTCHAR U_4B90 +ENCODING 19344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A2A0 +F360 +A220 +F3A0 +A2A0 +FAA0 +0BA0 +AA20 +8A20 +3240 +ENDCHAR +STARTCHAR U_4B91 +ENCODING 19345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A2A0 +F140 +A000 +F040 +A7E0 +F840 +0A40 +A940 +8840 +3080 +ENDCHAR +STARTCHAR U_4B92 +ENCODING 19346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78A0 +53E0 +7880 +53E0 +7AA0 +53E0 +7AA0 +0BE0 +AAA0 +AAA0 +1A60 +ENDCHAR +STARTCHAR U_4B93 +ENCODING 19347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +F100 +A1C0 +F100 +A7C0 +F4C0 +2740 +F7C0 +1100 +F7C0 +1100 +6100 +ENDCHAR +STARTCHAR U_4B94 +ENCODING 19348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8E0 +A780 +F080 +A7E0 +F2A0 +A7E0 +FAA0 +0AA0 +AFE0 +8880 +37E0 +ENDCHAR +STARTCHAR U_4B95 +ENCODING 19349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A120 +F5A0 +A240 +F5A0 +A000 +FFE0 +0920 +ADA0 +8A40 +35A0 +ENDCHAR +STARTCHAR U_4B96 +ENCODING 19350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +A240 +F3C0 +A240 +F3C0 +A000 +F7E0 +3420 +57E0 +9420 +27E0 +ENDCHAR +STARTCHAR U_4B97 +ENCODING 19351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A2A0 +F3E0 +A000 +F3E0 +A200 +FBE0 +0A40 +ABE0 +8A40 +3440 +ENDCHAR +STARTCHAR U_4B98 +ENCODING 19352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A6C0 +F440 +A6C0 +F440 +A7C0 +FA80 +0A80 +AA80 +8AA0 +3460 +ENDCHAR +STARTCHAR U_4B99 +ENCODING 19353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8A0 +A080 +F7E0 +A080 +F780 +A5A0 +FDA0 +0FA0 +AA40 +8CC0 +3320 +ENDCHAR +STARTCHAR U_4B9A +ENCODING 19354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A3C0 +F100 +A7E0 +F280 +A4E0 +FBC0 +0A40 +AD40 +8880 +3360 +ENDCHAR +STARTCHAR U_4B9B +ENCODING 19355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEA0 +AAA0 +FAA0 +AAE0 +FDA0 +AAA0 +FAE0 +0AA0 +AEA0 +88A0 +38E0 +ENDCHAR +STARTCHAR U_4B9C +ENCODING 19356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +AFE0 +F540 +A5C0 +F400 +A7E0 +F100 +5FE0 +B100 +5540 +B920 +ENDCHAR +STARTCHAR U_4B9D +ENCODING 19357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +A920 +F7C0 +A540 +F7C0 +A540 +FFC0 +0900 +6FC0 +8900 +1900 +ENDCHAR +STARTCHAR U_4B9E +ENCODING 19358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +A7C0 +F280 +AFE0 +F440 +AFE0 +FC60 +17C0 +5440 +97C0 +2440 +ENDCHAR +STARTCHAR U_4B9F +ENCODING 19359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A7E0 +FDA0 +A240 +FDA0 +A240 +FC20 +2BC0 +DA80 +A900 +16E0 +ENDCHAR +STARTCHAR U_4BA0 +ENCODING 19360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A000 +FBE0 +A220 +FBE0 +A000 +FBE0 +0AA0 +FBE0 +8AA0 +33E0 +ENDCHAR +STARTCHAR U_4BA1 +ENCODING 19361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +A3E0 +F640 +A3C0 +F240 +A3C0 +FA00 +0FC0 +AA40 +8980 +3660 +ENDCHAR +STARTCHAR U_4BA2 +ENCODING 19362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78E0 +5380 +7880 +57E0 +7980 +52E0 +7AA0 +2BE0 +7AA0 +CBE0 +1A20 +ENDCHAR +STARTCHAR U_4BA3 +ENCODING 19363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +A140 +F080 +A140 +F7E0 +A5A0 +F240 +15A0 +FFE0 +9380 +3540 +ENDCHAR +STARTCHAR U_4BA4 +ENCODING 19364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A7E0 +F520 +A240 +F2E0 +A440 +FAE0 +0A40 +AAE0 +8A40 +32E0 +ENDCHAR +STARTCHAR U_4BA5 +ENCODING 19365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A000 +F3C0 +A240 +F3C0 +A000 +FBE0 +0B60 +AAA0 +8BE0 +32A0 +ENDCHAR +STARTCHAR U_4BA6 +ENCODING 19366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A3E0 +F940 +A1C0 +F800 +A3E0 +FA20 +2AA0 +5B60 +AAA0 +1A60 +ENDCHAR +STARTCHAR U_4BA7 +ENCODING 19367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F280 +2C60 +F7C0 +9480 +F7C0 +9480 +F7E0 +2520 +FAA0 +20C0 +ENDCHAR +STARTCHAR U_4BA8 +ENCODING 19368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A7E0 +F920 +A7C0 +FA80 +A100 +FFE0 +0900 +5FC0 +A900 +1900 +ENDCHAR +STARTCHAR U_4BA9 +ENCODING 19369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +A240 +F2C0 +A2C0 +F7E0 +A420 +FBC0 +0B40 +AAC0 +8B40 +3440 +ENDCHAR +STARTCHAR U_4BAA +ENCODING 19370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A40 +53E0 +7D40 +5740 +79E0 +56C0 +7FE0 +0880 +A9C0 +9AA0 +0CA0 +ENDCHAR +STARTCHAR U_4BAB +ENCODING 19371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A3E0 +F6A0 +A3E0 +F080 +A3E0 +FAA0 +0940 +ABE0 +8940 +33A0 +ENDCHAR +STARTCHAR U_4BAC +ENCODING 19372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +A7E0 +F240 +A3C0 +F240 +A3C0 +F880 +0FE0 +A900 +8A40 +3420 +ENDCHAR +STARTCHAR U_4BAD +ENCODING 19373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9E0 +A6A0 +F2C0 +A3C0 +F240 +ABC0 +FA40 +0BC0 +A900 +8AA0 +34E0 +ENDCHAR +STARTCHAR U_4BAE +ENCODING 19374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A7E0 +FD40 +A540 +FBA0 +A540 +FAA0 +09C0 +AF40 +8880 +3740 +ENDCHAR +STARTCHAR U_4BAF +ENCODING 19375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +A7E0 +F2A0 +A7A0 +F2A0 +A7A0 +FAA0 +0B40 +AD40 +8D40 +35A0 +ENDCHAR +STARTCHAR U_4BB0 +ENCODING 19376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A3E0 +F140 +A140 +F3E0 +A2A0 +FBE0 +0AA0 +AB60 +8BE0 +3220 +ENDCHAR +STARTCHAR U_4BB1 +ENCODING 19377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F000 +ABE0 +F480 +A140 +F2E0 +AD40 +F6C0 +9560 +5640 +9480 +6BE0 +ENDCHAR +STARTCHAR U_4BB2 +ENCODING 19378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +A7E0 +F140 +A7E0 +F1C0 +A2A0 +FBE0 +0AA0 +ABE0 +8940 +3220 +ENDCHAR +STARTCHAR U_4BB3 +ENCODING 19379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E1E0 +AF00 +E540 +BFE0 +E540 +A920 +F7C0 +5540 +B7C0 +5540 +B7C0 +ENDCHAR +STARTCHAR U_4BB4 +ENCODING 19380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F740 +A2A0 +F640 +A440 +F7E0 +A820 +FBC0 +0A40 +ABC0 +AA40 +17E0 +ENDCHAR +STARTCHAR U_4BB5 +ENCODING 19381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A7E0 +F220 +A140 +F7E0 +A2A0 +FBE0 +0AA0 +ABE0 +8880 +37E0 +ENDCHAR +STARTCHAR U_4BB6 +ENCODING 19382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +A3E0 +F480 +ABE0 +F280 +A3E0 +FA80 +0BE0 +A880 +8AA0 +3080 +ENDCHAR +STARTCHAR U_4BB7 +ENCODING 19383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +A6A0 +F7E0 +A400 +F7E0 +8920 +FBA0 +0BA0 +A920 +8BA0 +30C0 +ENDCHAR +STARTCHAR U_4BB8 +ENCODING 19384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6AC0 +4440 +6AC0 +4040 +FFE0 +A420 +3F00 +2400 +3FC0 +5440 +AAC0 +ENDCHAR +STARTCHAR U_4BB9 +ENCODING 19385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F2C0 +A280 +F7E0 +A040 +F7E0 +A440 +F7C0 +1540 +57E0 +9540 +2AA0 +ENDCHAR +STARTCHAR U_4BBA +ENCODING 19386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +A7C0 +F2A0 +AD40 +F7A0 +ABE0 +FA40 +1BC0 +2A40 +CBC0 +3E40 +ENDCHAR +STARTCHAR U_4BBB +ENCODING 19387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +A7C0 +A000 +AFE0 +A020 +F380 +1040 +3FE0 +5040 +9240 +3080 +ENDCHAR +STARTCHAR U_4BBC +ENCODING 19388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +A540 +F100 +A2C0 +F520 +A540 +FA80 +0CE0 +AB40 +8DE0 +3240 +ENDCHAR +STARTCHAR U_4BBD +ENCODING 19389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +A7E0 +F540 +A7E0 +F560 +A7E0 +F540 +15E0 +B540 +95E0 +2EA0 +ENDCHAR +STARTCHAR U_4BBE +ENCODING 19390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +DFE0 +EA80 +DFE0 +E060 +CE80 +EAE0 +2E80 +EAE0 +AE80 +6AE0 +ENDCHAR +STARTCHAR U_4BBF +ENCODING 19391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +AFE0 +FAA0 +A7C0 +F280 +AFE0 +F240 +17E0 +B2C0 +9680 +39E0 +ENDCHAR +STARTCHAR U_4BC0 +ENCODING 19392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +A2C0 +F340 +A2C0 +F7E0 +A040 +FFE0 +0AA0 +AAE0 +8FA0 +3220 +ENDCHAR +STARTCHAR U_4BC1 +ENCODING 19393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +AFE0 +F400 +A7C0 +F240 +AFC0 +F540 +37C0 +5D40 +97C0 +6D60 +ENDCHAR +STARTCHAR U_4BC2 +ENCODING 19394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +2A00 +1F80 +2A80 +FFE0 +AA80 +7DE0 +AAA0 +7FC0 +1500 +64C0 +ENDCHAR +STARTCHAR U_4BC3 +ENCODING 19395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1080 +57E0 +5420 +5100 +7FE0 +0A40 +3A40 +C980 +0980 +3660 +ENDCHAR +STARTCHAR U_4BC4 +ENCODING 19396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +1240 +5240 +53C0 +5080 +7BE0 +0AA0 +3AA0 +CB60 +0A20 +3260 +ENDCHAR +STARTCHAR U_4BC5 +ENCODING 19397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +5240 +53C0 +5240 +53C0 +7A40 +0FE0 +3840 +CFE0 +0A40 +35A0 +ENDCHAR +STARTCHAR U_4BC6 +ENCODING 19398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +6900 +FD00 +8500 +7900 +4900 +7900 +4920 +7920 +49E0 +ENDCHAR +STARTCHAR U_4BC7 +ENCODING 19399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +5900 +FFE0 +8520 +7920 +4920 +7920 +4920 +7A20 +9C40 +ENDCHAR +STARTCHAR U_4BC8 +ENCODING 19400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79C0 +4800 +6BE0 +FD40 +CD40 +6940 +5940 +6940 +5940 +4A40 +9A60 +ENDCHAR +STARTCHAR U_4BC9 +ENCODING 19401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +6880 +59E0 +FD20 +86C0 +7880 +4880 +7880 +4940 +7A20 +4C20 +ENDCHAR +STARTCHAR U_4BCA +ENCODING 19402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7800 +6BE0 +5840 +FC40 +87C0 +7AC0 +4AC0 +7BC0 +4840 +7940 +4880 +ENDCHAR +STARTCHAR U_4BCB +ENCODING 19403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +4920 +6BE0 +FD00 +85E0 +7A20 +4A40 +7B40 +4C80 +7940 +4A20 +ENDCHAR +STARTCHAR U_4BCC +ENCODING 19404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5420 +57E0 +FD00 +8D00 +77C0 +5540 +7540 +5540 +7540 +5A60 +ENDCHAR +STARTCHAR U_4BCD +ENCODING 19405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5100 +FA80 +8A80 +7440 +5BA0 +7000 +57E0 +7040 +9180 +B080 +ENDCHAR +STARTCHAR U_4BCE +ENCODING 19406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7B80 +4940 +4940 +7A20 +85C0 +7880 +4880 +6BE0 +4880 +6880 +9880 +ENDCHAR +STARTCHAR U_4BCF +ENCODING 19407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 0 -1 +BITMAP +7840 +4880 +6980 +5A80 +FFC0 +8480 +7880 +6BC0 +4A40 +5BC0 +ENDCHAR +STARTCHAR U_4BD0 +ENCODING 19408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +6880 +5BE0 +FEA0 +8760 +7AA0 +4AA0 +7B60 +4A20 +7A20 +4A60 +ENDCHAR +STARTCHAR U_4BD1 +ENCODING 19409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +68A0 +5AA0 +FDC0 +8480 +7BE0 +4940 +7940 +4940 +7A40 +4C60 +ENDCHAR +STARTCHAR U_4BD2 +ENCODING 19410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +6AE0 +5A00 +FD00 +85E0 +7A40 +4E40 +7A40 +4A40 +7A40 +4AC0 +ENDCHAR +STARTCHAR U_4BD3 +ENCODING 19411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +6880 +5BE0 +FC80 +87E0 +7C80 +4880 +7BE0 +4880 +7880 +4FE0 +ENDCHAR +STARTCHAR U_4BD4 +ENCODING 19412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4880 +6BE0 +FE20 +85C0 +7B00 +4900 +69E0 +5F00 +4920 +59E0 +ENDCHAR +STARTCHAR U_4BD5 +ENCODING 19413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7820 +6B40 +59C0 +FD40 +8640 +7BE0 +4940 +7E40 +4AE0 +7B00 +4CE0 +ENDCHAR +STARTCHAR U_4BD6 +ENCODING 19414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +6A40 +5BC0 +FE40 +83C0 +7A20 +4B40 +7A80 +4A40 +5B20 +ENDCHAR +STARTCHAR U_4BD7 +ENCODING 19415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A40 +4B60 +6A40 +5A40 +FF60 +8480 +7880 +49C0 +5880 +6880 +5BE0 +ENDCHAR +STARTCHAR U_4BD8 +ENCODING 19416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FBE0 +5220 +75C0 +2400 +FFE0 +A940 +F940 +2140 +FA40 +2460 +ENDCHAR +STARTCHAR U_4BD9 +ENCODING 19417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +48A0 +6BE0 +5880 +FFE0 +82A0 +7BE0 +4AA0 +7BE0 +4AA0 +5A60 +ENDCHAR +STARTCHAR U_4BDA +ENCODING 19418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +6920 +5BC0 +FD20 +87E0 +7C00 +49E0 +7920 +49E0 +7920 +4960 +ENDCHAR +STARTCHAR U_4BDB +ENCODING 19419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +6BE0 +5A20 +FD00 +87E0 +7EA0 +4AA0 +7DE0 +4980 +7AA0 +4C60 +ENDCHAR +STARTCHAR U_4BDC +ENCODING 19420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +6BC0 +5A40 +FDC0 +8600 +7BE0 +4D60 +5AA0 +6920 +5A40 +ENDCHAR +STARTCHAR U_4BDD +ENCODING 19421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +6880 +FDE0 +8640 +7BE0 +4920 +79E0 +4920 +79E0 +4920 +ENDCHAR +STARTCHAR U_4BDE +ENCODING 19422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +73C0 +5240 +7340 +FB40 +8FE0 +7420 +55E0 +7560 +55E0 +7420 +5460 +ENDCHAR +STARTCHAR U_4BDF +ENCODING 19423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A40 +6FE0 +5900 +FE80 +85A0 +7AC0 +4D80 +7AC0 +4CA0 +7A80 +4900 +ENDCHAR +STARTCHAR U_4BE0 +ENCODING 19424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7380 +5280 +7380 +5280 +FB80 +5000 +77C0 +5540 +7540 +5540 +9FE0 +ENDCHAR +STARTCHAR U_4BE1 +ENCODING 19425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7440 +5FE0 +7280 +FFE0 +8AA0 +7FE0 +52A0 +77E0 +5280 +76C0 +5AA0 +ENDCHAR +STARTCHAR U_4BE2 +ENCODING 19426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4880 +7DE0 +6AA0 +4F80 +4880 +5FE0 +68A0 +8F80 +9080 +ENDCHAR +STARTCHAR U_4BE3 +ENCODING 19427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57C0 +5540 +FFE0 +8800 +77C0 +5440 +77C0 +5440 +77C0 +5820 +ENDCHAR +STARTCHAR U_4BE4 +ENCODING 19428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +6980 +5A40 +FFE0 +86A0 +7D20 +4FE0 +6A40 +5BC0 +4A40 +5BC0 +ENDCHAR +STARTCHAR U_4BE5 +ENCODING 19429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +6A20 +5BE0 +FE20 +87E0 +7A40 +4B60 +7A40 +4FE0 +7800 +4DA0 +ENDCHAR +STARTCHAR U_4BE6 +ENCODING 19430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +6B60 +5940 +FBE0 +82A0 +7BE0 +4880 +7BE0 +4AA0 +7A40 +4CA0 +ENDCHAR +STARTCHAR U_4BE7 +ENCODING 19431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +0800 +FF80 +2200 +FF80 +8080 +7F00 +5500 +5D00 +4100 +4300 +ENDCHAR +STARTCHAR U_4BE8 +ENCODING 19432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +7FC0 +5140 +5F40 +40C0 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_4BE9 +ENCODING 19433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0800 +0400 +7FC0 +0A00 +7FC0 +4A40 +BF40 +25C0 +3F00 +2080 +3FC0 +ENDCHAR +STARTCHAR U_4BEA +ENCODING 19434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F880 +53E0 +7220 +FBE0 +8A20 +FBE0 +DA20 +FBE0 +8940 +9A20 +ENDCHAR +STARTCHAR U_4BEB +ENCODING 19435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +57E0 +7240 +53C0 +F800 +57E0 +7420 +27A0 +76A0 +AFA0 +6460 +ENDCHAR +STARTCHAR U_4BEC +ENCODING 19436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +52A0 +FBE0 +AAA0 +DBE0 +AAA0 +FBE0 +2080 +FBE0 +2080 +ENDCHAR +STARTCHAR U_4BED +ENCODING 19437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7840 +4380 +7860 +4380 +FC60 +4B80 +F400 +3F80 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_4BEE +ENCODING 19438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4380 +7860 +4380 +FC60 +4380 +FF80 +1080 +11E0 +2020 +40C0 +ENDCHAR +STARTCHAR U_4BEF +ENCODING 19439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7900 +4280 +7140 +4280 +F900 +2200 +7000 +0400 +2680 +0400 +3800 +ENDCHAR +STARTCHAR U_4BF0 +ENCODING 19440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4380 +7C60 +4380 +FC60 +4980 +7600 +1B00 +71C0 +9120 +2100 +ENDCHAR +STARTCHAR U_4BF1 +ENCODING 19441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +4300 +F860 +5180 +E860 +8D80 +FFE0 +0C00 +3500 +44C0 +0400 +ENDCHAR +STARTCHAR U_4BF2 +ENCODING 19442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4040 +FD80 +4840 +FD80 +0000 +7FC0 +4440 +7FC0 +4020 +7FE0 +ENDCHAR +STARTCHAR U_4BF3 +ENCODING 19443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7900 +4200 +7100 +4280 +F900 +5200 +F800 +2200 +C980 +1400 +3E00 +ENDCHAR +STARTCHAR U_4BF4 +ENCODING 19444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +FC60 +4980 +F060 +1F80 +1100 +EEE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_4BF5 +ENCODING 19445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +FC60 +4980 +FC60 +0580 +7FC0 +2480 +FFE0 +2080 +C080 +ENDCHAR +STARTCHAR U_4BF6 +ENCODING 19446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +FC60 +4980 +FC60 +0180 +3F80 +2080 +3F80 +2080 +FFE0 +ENDCHAR +STARTCHAR U_4BF7 +ENCODING 19447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +4380 +F860 +5380 +F800 +0440 +FFE0 +2240 +F980 +22A0 +C460 +ENDCHAR +STARTCHAR U_4BF8 +ENCODING 19448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7840 +5180 +6040 +FD80 +4860 +FA80 +43C0 +2540 +1100 +2280 +4C60 +ENDCHAR +STARTCHAR U_4BF9 +ENCODING 19449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79C0 +5020 +FBC0 +5020 +FFC0 +0100 +7FC0 +0100 +FFE0 +8E20 +3B80 +ENDCHAR +STARTCHAR U_4BFA +ENCODING 19450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +FD80 +4860 +FD80 +00C0 +7F00 +4220 +79E0 +2080 +3F80 +ENDCHAR +STARTCHAR U_4BFB +ENCODING 19451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7840 +51A0 +6040 +FDA0 +5040 +F580 +1F00 +2400 +7FC0 +1100 +1F00 +ENDCHAR +STARTCHAR U_4BFC +ENCODING 19452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +5140 +4AA0 +FCC0 +5300 +E880 +2AA0 +F2E0 +1880 +E940 +1A20 +ENDCHAR +STARTCHAR U_4BFD +ENCODING 19453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +FD80 +4860 +FD80 +0400 +7FC0 +1100 +FFE0 +2080 +3F80 +ENDCHAR +STARTCHAR U_4BFE +ENCODING 19454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7840 +5180 +6860 +FD80 +5860 +E580 +3FC0 +2E40 +35C0 +4A40 +8EC0 +ENDCHAR +STARTCHAR U_4BFF +ENCODING 19455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4380 +7C60 +4380 +FC60 +5580 +FFE0 +2080 +5540 +FFE0 +0400 +ENDCHAR +STARTCHAR U_4C00 +ENCODING 19456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +5140 +FE80 +4940 +BF80 +0400 +7FC0 +1500 +FFE0 +1200 +7FC0 +ENDCHAR +STARTCHAR U_4C01 +ENCODING 19457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +FD80 +4860 +F980 +0F00 +1200 +FFE0 +2480 +1500 +6CC0 +ENDCHAR +STARTCHAR U_4C02 +ENCODING 19458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +FD80 +4860 +FC80 +07C0 +3A80 +1500 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_4C03 +ENCODING 19459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +FD80 +4860 +FD80 +2080 +1100 +FFE0 +4A40 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_4C04 +ENCODING 19460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4040 +FD80 +4860 +FF80 +1280 +1F80 +1280 +1F40 +50A0 +9F80 +ENDCHAR +STARTCHAR U_4C05 +ENCODING 19461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +FD80 +4840 +FFE0 +0400 +3F80 +2280 +3F80 +1100 +60C0 +ENDCHAR +STARTCHAR U_4C06 +ENCODING 19462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +FD80 +4860 +FF80 +0900 +FFE0 +1440 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_4C07 +ENCODING 19463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +F980 +5460 +FF80 +0500 +7FE0 +0880 +1F80 +E880 +0F80 +ENDCHAR +STARTCHAR U_4C08 +ENCODING 19464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3C20 +20C0 +3B20 +2AC0 +FF20 +24C0 +7F80 +1000 +7F80 +8400 +7FC0 +ENDCHAR +STARTCHAR U_4C09 +ENCODING 19465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +FD80 +4860 +FC80 +23C0 +7A40 +4FE0 +FA40 +4980 +9E40 +ENDCHAR +STARTCHAR U_4C0A +ENCODING 19466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +FD80 +4860 +FF80 +2480 +3F80 +2480 +FFC0 +2100 +1300 +ENDCHAR +STARTCHAR U_4C0B +ENCODING 19467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +FD80 +4860 +FD80 +1080 +FFE0 +8420 +7FC0 +0A00 +77C0 +ENDCHAR +STARTCHAR U_4C0C +ENCODING 19468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +FD80 +4860 +FD80 +2280 +5540 +2100 +65C0 +A500 +2BE0 +ENDCHAR +STARTCHAR U_4C0D +ENCODING 19469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7140 +42A0 +F940 +5280 +0400 +FFE0 +1500 +6AC0 +9520 +6EC0 +1500 +ENDCHAR +STARTCHAR U_4C0E +ENCODING 19470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +5320 +FC40 +53A0 +F440 +3F80 +2480 +FFE0 +2080 +3F80 +60C0 +ENDCHAR +STARTCHAR U_4C0F +ENCODING 19471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +4060 +FD80 +4860 +FD80 +2240 +FFE0 +5200 +FD40 +50A0 +7D60 +ENDCHAR +STARTCHAR U_4C10 +ENCODING 19472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +5300 +F8C0 +5300 +F8C0 +4B00 +79E0 +5240 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_4C11 +ENCODING 19473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +5360 +FDA0 +4840 +FFC0 +0400 +7FC0 +5540 +FFE0 +4A40 +4AC0 +ENDCHAR +STARTCHAR U_4C12 +ENCODING 19474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +5180 +FC60 +4980 +FBE0 +2080 +FFE0 +8CA0 +7680 +0B00 +74C0 +ENDCHAR +STARTCHAR U_4C13 +ENCODING 19475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +5180 +FC60 +4980 +7F60 +1500 +FFE0 +A4A0 +7FC0 +0900 +3300 +ENDCHAR +STARTCHAR U_4C14 +ENCODING 19476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +5180 +FC60 +29C0 +7D20 +57E0 +FD20 +54C0 +7FA0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_4C15 +ENCODING 19477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +51A0 +FC40 +49A0 +7EC0 +0400 +7FE0 +4AA0 +5FC0 +5540 +BFE0 +ENDCHAR +STARTCHAR U_4C16 +ENCODING 19478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CE0 +5100 +FEE0 +4900 +F9E0 +2240 +FFE0 +5540 +9560 +1F00 +2080 +ENDCHAR +STARTCHAR U_4C17 +ENCODING 19479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A0A0 +FFE0 +9220 +BF20 +9120 +BFA0 +AAA0 +BFA0 +8420 +87A0 +ENDCHAR +STARTCHAR U_4C18 +ENCODING 19480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A0A0 +FBE0 +AAA0 +99A0 +AEA0 +9520 +FAE0 +8D20 +8220 +9C60 +ENDCHAR +STARTCHAR U_4C19 +ENCODING 19481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE40 +0040 +7DE0 +4440 +7C40 +01E0 +FEA0 +AAA0 +92A0 +FE40 +93A0 +ENDCHAR +STARTCHAR U_4C1A +ENCODING 19482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +0080 +7BE0 +4940 +7940 +0140 +FD40 +D480 +A480 +FD40 +A620 +ENDCHAR +STARTCHAR U_4C1B +ENCODING 19483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0100 +7900 +49C0 +7940 +0140 +FDC0 +D540 +A540 +FD60 +A5A0 +ENDCHAR +STARTCHAR U_4C1C +ENCODING 19484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DF60 +4020 +5F20 +D160 +9F40 +8040 +DF60 +5120 +5B20 +5520 +D560 +ENDCHAR +STARTCHAR U_4C1D +ENCODING 19485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A20 +0140 +7BE0 +4AA0 +7BE0 +02A0 +FFE0 +AD40 +95C0 +FD40 +95C0 +ENDCHAR +STARTCHAR U_4C1E +ENCODING 19486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +2520 +FFE0 +8A80 +FEE0 +2A20 +7FE0 +1100 +7FC0 +5540 +4440 +ENDCHAR +STARTCHAR U_4C1F +ENCODING 19487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0000 +FFE0 +2080 +7FC0 +2440 +3FC0 +2440 +3FC0 +12A0 +E3E0 +ENDCHAR +STARTCHAR U_4C20 +ENCODING 19488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +F880 +ABE0 +FAA0 +ABE0 +FAA0 +53E0 +5880 +5480 +98A0 +8FE0 +ENDCHAR +STARTCHAR U_4C21 +ENCODING 19489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +FA80 +ABE0 +FC80 +A880 +FFE0 +5080 +5940 +5620 +9820 +8FE0 +ENDCHAR +STARTCHAR U_4C22 +ENCODING 19490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FAE0 +AD00 +FAE0 +AE40 +FA40 +5240 +5AC0 +5640 +9820 +8FE0 +ENDCHAR +STARTCHAR U_4C23 +ENCODING 19491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +FA20 +AB60 +FAA0 +AB60 +FA20 +5360 +5AA0 +5760 +9A20 +8FC0 +ENDCHAR +STARTCHAR U_4C24 +ENCODING 19492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBE0 +22A0 +FBE0 +AAA0 +FBE0 +A940 +F940 +7160 +AA40 +2460 +ENDCHAR +STARTCHAR U_4C25 +ENCODING 19493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +4A40 +F1C0 +3F20 +2480 +3F80 +2480 +3F80 +12A0 +E3E0 +ENDCHAR +STARTCHAR U_4C26 +ENCODING 19494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +5180 +5A80 +57E0 +9880 +8FE0 +ENDCHAR +STARTCHAR U_4C27 +ENCODING 19495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +4080 +FBE0 +AAA0 +FBC0 +AA80 +FAE0 +5540 +5540 +5220 +9FE0 +ENDCHAR +STARTCHAR U_4C28 +ENCODING 19496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +FAA0 +ABE0 +FA00 +AAE0 +FAA0 +52E0 +5AA0 +54E0 +98A0 +8FE0 +ENDCHAR +STARTCHAR U_4C29 +ENCODING 19497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBE0 +2AA0 +33E0 +FAA0 +23E0 +7940 +C9A0 +7AE0 +4A80 +7CE0 +ENDCHAR +STARTCHAR U_4C2A +ENCODING 19498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +77C0 +AD40 +57C0 +8D40 +77C0 +5280 +72A0 +52E0 +7280 +94E0 +ENDCHAR +STARTCHAR U_4C2B +ENCODING 19499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +FBC0 +A880 +FFE0 +AA40 +FFE0 +5240 +57E0 +5940 +9620 +8FE0 +ENDCHAR +STARTCHAR U_4C2C +ENCODING 19500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +F840 +AFE0 +FAA0 +AC80 +FBE0 +52A0 +5B60 +56A0 +9800 +8FE0 +ENDCHAR +STARTCHAR U_4C2D +ENCODING 19501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +23E0 +FAA0 +ABE0 +AAA0 +03E0 +FC80 +20C0 +F9E0 +AAA0 +ACE0 +ENDCHAR +STARTCHAR U_4C2E +ENCODING 19502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +FBE0 +A880 +FBE0 +A880 +FBE0 +5140 +5BE0 +5540 +9B20 +8FE0 +ENDCHAR +STARTCHAR U_4C2F +ENCODING 19503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26E0 +4420 +FF40 +A8E0 +FF40 +AA60 +FF40 +55C0 +5960 +9000 +8FE0 +ENDCHAR +STARTCHAR U_4C30 +ENCODING 19504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +13E0 +FEA0 +BBE0 +D6A0 +2BE0 +FCA0 +4140 +FD60 +A540 +AE60 +ENDCHAR +STARTCHAR U_4C31 +ENCODING 19505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +27C0 +FD40 +AFC0 +7540 +AFC0 +F940 +21A0 +ABC0 +7520 +F9E0 +ENDCHAR +STARTCHAR U_4C32 +ENCODING 19506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7A00 +9200 +FA00 +AA00 +FA00 +AA00 +FA20 +0220 +AA20 +A9E0 +ENDCHAR +STARTCHAR U_4C33 +ENCODING 19507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +9080 +F880 +A880 +F880 +A880 +F880 +0080 +AA80 +A900 +ENDCHAR +STARTCHAR U_4C34 +ENCODING 19508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +93E0 +FC00 +ABC0 +F820 +A840 +F880 +0100 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_4C35 +ENCODING 19509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +7BE0 +9020 +F8C0 +A880 +FFE0 +A880 +F880 +0080 +AA80 +A980 +ENDCHAR +STARTCHAR U_4C36 +ENCODING 19510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7900 +9080 +FFE0 +AA00 +FA00 +AA00 +FA00 +0200 +ABE0 +A800 +ENDCHAR +STARTCHAR U_4C37 +ENCODING 19511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +3C80 +CBE0 +7C80 +5480 +7FE0 +5480 +7C80 +03E0 +5480 +AA80 +ENDCHAR +STARTCHAR U_4C38 +ENCODING 19512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +7940 +9140 +F940 +AA40 +FA20 +ACA0 +F900 +0100 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_4C39 +ENCODING 19513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +78A0 +9080 +FBE0 +A880 +F880 +A8A0 +F840 +00C0 +A940 +D420 +ENDCHAR +STARTCHAR U_4C3A +ENCODING 19514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +7B80 +9200 +FA00 +ABE0 +FA40 +AA40 +FA40 +0240 +5440 +A840 +ENDCHAR +STARTCHAR U_4C3B +ENCODING 19515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +91E0 +FA00 +A840 +FA40 +A940 +F940 +0080 +A940 +AA20 +ENDCHAR +STARTCHAR U_4C3C +ENCODING 19516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +9280 +FC40 +ABA0 +F800 +AFE0 +F840 +0280 +A900 +A880 +ENDCHAR +STARTCHAR U_4C3D +ENCODING 19517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +97E0 +F880 +ABE0 +FAA0 +AAA0 +FAA0 +02A0 +A880 +A880 +ENDCHAR +STARTCHAR U_4C3E +ENCODING 19518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +92A0 +FAA0 +AAA0 +FBE0 +AA00 +FA00 +0200 +AA20 +A9E0 +ENDCHAR +STARTCHAR U_4C3F +ENCODING 19519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +93E0 +FC00 +AA80 +FAE0 +AFA0 +FAA0 +0200 +AA20 +A9C0 +ENDCHAR +STARTCHAR U_4C40 +ENCODING 19520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7100 +97C0 +2540 +FD40 +AD40 +FFE0 +A900 +FA80 +0440 +A820 +ENDCHAR +STARTCHAR U_4C41 +ENCODING 19521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7880 +8BE0 +7C80 +55C0 +7DC0 +56A0 +7CA0 +03E0 +5A80 +A480 +ENDCHAR +STARTCHAR U_4C42 +ENCODING 19522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7A80 +9280 +FDE0 +AEA0 +FAA0 +AAA0 +FDA0 +07A0 +ACA0 +A940 +ENDCHAR +STARTCHAR U_4C43 +ENCODING 19523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7A80 +9280 +FBE0 +AC80 +F880 +AFE0 +F880 +0140 +A940 +AA20 +ENDCHAR +STARTCHAR U_4C44 +ENCODING 19524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +7B80 +96A0 +FAA0 +AAA0 +FAA0 +AAA0 +FAA0 +02E0 +AA20 +AC20 +ENDCHAR +STARTCHAR U_4C45 +ENCODING 19525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +97E0 +F880 +A880 +FBE0 +A880 +F9C0 +02A0 +ACA0 +A880 +ENDCHAR +STARTCHAR U_4C46 +ENCODING 19526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A80 +9260 +FA20 +ADE0 +F840 +A880 +FFE0 +0080 +A880 +A980 +ENDCHAR +STARTCHAR U_4C47 +ENCODING 19527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3000 +53C0 +2240 +FA40 +ABC0 +FA40 +AA40 +ABC0 +FA40 +0800 +A7E0 +ENDCHAR +STARTCHAR U_4C48 +ENCODING 19528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +79C0 +9000 +F800 +ABE0 +F880 +A9C0 +FAA0 +04A0 +A880 +A880 +ENDCHAR +STARTCHAR U_4C49 +ENCODING 19529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BC0 +9240 +FA40 +ABC0 +FA40 +AA40 +FBC0 +0240 +AA40 +AFE0 +ENDCHAR +STARTCHAR U_4C4A +ENCODING 19530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7AA0 +49C0 +9080 +7FE0 +5480 +7DC0 +55C0 +7EA0 +54A0 +AA80 +ENDCHAR +STARTCHAR U_4C4B +ENCODING 19531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7940 +4940 +FFE0 +5540 +7D40 +57E0 +7C00 +0140 +A920 +AA20 +ENDCHAR +STARTCHAR U_4C4C +ENCODING 19532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7A40 +9240 +FAE0 +AAA0 +FAA0 +AAA0 +FAE0 +0240 +AA40 +ABE0 +ENDCHAR +STARTCHAR U_4C4D +ENCODING 19533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7900 +9100 +F9E0 +AA20 +FB20 +AAA0 +FD40 +00C0 +A840 +ABE0 +ENDCHAR +STARTCHAR U_4C4E +ENCODING 19534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +9000 +FBC0 +AA40 +FBC0 +AA40 +FA40 +03C0 +A800 +AFE0 +ENDCHAR +STARTCHAR U_4C4F +ENCODING 19535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7800 +93C0 +FA40 +ABC0 +F800 +AA40 +FA40 +0180 +A980 +AFE0 +ENDCHAR +STARTCHAR U_4C50 +ENCODING 19536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +7B00 +92A0 +F940 +ABE0 +F840 +A880 +FBE0 +0080 +3880 +C180 +ENDCHAR +STARTCHAR U_4C51 +ENCODING 19537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7AC0 +9780 +FA80 +AAE0 +FBA0 +AEA0 +FAA0 +02A0 +AAA0 +AF20 +ENDCHAR +STARTCHAR U_4C52 +ENCODING 19538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7A20 +93E0 +F800 +ABE0 +FAA0 +AAA0 +FBE0 +0200 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_4C53 +ENCODING 19539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +77C0 +9140 +FA40 +AFE0 +F940 +A940 +FD40 +02E0 +AB00 +ACE0 +ENDCHAR +STARTCHAR U_4C54 +ENCODING 19540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7940 +92E0 +FBA0 +AEA0 +FAA0 +AAA0 +FA40 +0240 +AAA0 +AB20 +ENDCHAR +STARTCHAR U_4C55 +ENCODING 19541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +73E0 +9400 +FBE0 +AAA0 +FFE0 +AAA0 +FAA0 +03E0 +3820 +C0C0 +ENDCHAR +STARTCHAR U_4C56 +ENCODING 19542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FE0 +9280 +FA80 +AEE0 +FAA0 +AAA0 +FEE0 +0280 +A480 +A880 +ENDCHAR +STARTCHAR U_4C57 +ENCODING 19543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BC0 +2140 +7940 +AE80 +1140 +FFA0 +2480 +3F80 +2480 +3F80 +5240 +ENDCHAR +STARTCHAR U_4C58 +ENCODING 19544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +7040 +2140 +F940 +7640 +AAC0 +3F80 +2480 +3F80 +2480 +3F80 +6AC0 +ENDCHAR +STARTCHAR U_4C59 +ENCODING 19545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7B00 +92E0 +FFA0 +AAA0 +FAA0 +AFA0 +FAA0 +0240 +AA40 +AAA0 +ENDCHAR +STARTCHAR U_4C5A +ENCODING 19546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79C0 +9240 +FB80 +A880 +FBE0 +A880 +FAA0 +01C0 +AAA0 +A980 +ENDCHAR +STARTCHAR U_4C5B +ENCODING 19547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +78A0 +97E0 +F880 +AE80 +FAA0 +AEA0 +F840 +06C0 +A940 +AA20 +ENDCHAR +STARTCHAR U_4C5C +ENCODING 19548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +7BE0 +9140 +F940 +ABE0 +F800 +ABE0 +FA20 +03E0 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_4C5D +ENCODING 19549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +73E0 +92A0 +FBE0 +AAA0 +FBE0 +A940 +FA40 +07E0 +A840 +A040 +ENDCHAR +STARTCHAR U_4C5E +ENCODING 19550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +77E0 +9140 +FA20 +AFE0 +F800 +AFE0 +F880 +02C0 +AAA0 +A5A0 +ENDCHAR +STARTCHAR U_4C5F +ENCODING 19551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +73E0 +A220 +FBE0 +AA80 +FBE0 +AA80 +FBE0 +5320 +AD20 +A9E0 +ENDCHAR +STARTCHAR U_4C60 +ENCODING 19552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7240 +97E0 +F940 +A8A0 +FB60 +AA40 +FFE0 +0140 +A8A0 +AB60 +ENDCHAR +STARTCHAR U_4C61 +ENCODING 19553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +73E0 +A520 +FD60 +ABA0 +FFE0 +A920 +FBA0 +2D60 +D520 +A0C0 +ENDCHAR +STARTCHAR U_4C62 +ENCODING 19554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BC0 +9480 +FBC0 +A940 +FFE0 +A940 +FBC0 +0100 +A900 +AB00 +ENDCHAR +STARTCHAR U_4C63 +ENCODING 19555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BE0 +9000 +F940 +AAA0 +F800 +A880 +FBE0 +0080 +A880 +A880 +ENDCHAR +STARTCHAR U_4C64 +ENCODING 19556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9120 +FA20 +A840 +F900 +AA60 +FA20 +0360 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_4C65 +ENCODING 19557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4820 +7EA0 +88A0 +7E20 +4A60 +3F80 +2480 +3F80 +2480 +3F80 +4940 +ENDCHAR +STARTCHAR U_4C66 +ENCODING 19558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3A80 +5280 +A5E0 +7E80 +ABC0 +FA80 +AA80 +FBC0 +0280 +ABE0 +ENDCHAR +STARTCHAR U_4C67 +ENCODING 19559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +7880 +93E0 +F880 +ABE0 +F940 +AA20 +FDC0 +0140 +A920 +A9E0 +ENDCHAR +STARTCHAR U_4C68 +ENCODING 19560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +6FA0 +9220 +FFA0 +AAA0 +FAA0 +ABA0 +FA20 +0720 +AAA0 +AA60 +ENDCHAR +STARTCHAR U_4C69 +ENCODING 19561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +73E0 +9360 +FAA0 +ABE0 +FAA0 +ABE0 +FAA0 +02E0 +AA20 +AA60 +ENDCHAR +STARTCHAR U_4C6A +ENCODING 19562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +73C0 +9100 +FFC0 +A900 +FFC0 +A920 +FAC0 +0680 +AA40 +AB20 +ENDCHAR +STARTCHAR U_4C6B +ENCODING 19563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +FE40 +1140 +7D40 +5540 +7C40 +D4C0 +7FC0 +4440 +7FC0 +EAE0 +ENDCHAR +STARTCHAR U_4C6C +ENCODING 19564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +78A0 +92C0 +FA80 +ADE0 +F800 +ABE0 +FA20 +03E0 +AA20 +AA60 +ENDCHAR +STARTCHAR U_4C6D +ENCODING 19565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9240 +FB40 +AEA0 +FAA0 +AAE0 +FAA0 +0340 +AA40 +ABE0 +ENDCHAR +STARTCHAR U_4C6E +ENCODING 19566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +77E0 +92A0 +FFA0 +AAA0 +FF60 +AA80 +FFE0 +0080 +A940 +AE20 +ENDCHAR +STARTCHAR U_4C6F +ENCODING 19567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +13E0 +FD40 +5480 +9360 +3F80 +6480 +3F80 +2480 +3F80 +4A40 +ENDCHAR +STARTCHAR U_4C70 +ENCODING 19568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7880 +97E0 +F880 +ABE0 +FAA0 +ABE0 +FAA0 +03E0 +A880 +AFE0 +ENDCHAR +STARTCHAR U_4C71 +ENCODING 19569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7880 +93E0 +F940 +ABE0 +FCA0 +ABC0 +FAA0 +02A0 +AAA0 +A880 +ENDCHAR +STARTCHAR U_4C72 +ENCODING 19570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +7A40 +9380 +F880 +AFE0 +F900 +AEA0 +F9C0 +06A0 +A8A0 +AB00 +ENDCHAR +STARTCHAR U_4C73 +ENCODING 19571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7800 +8BE0 +FAA0 +ABE0 +FAA0 +ABE0 +F880 +0BE0 +A880 +B3E0 +ENDCHAR +STARTCHAR U_4C74 +ENCODING 19572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +7A00 +92E0 +FEA0 +ABA0 +FAE0 +AAA0 +FAA0 +02E0 +AA00 +AAE0 +ENDCHAR +STARTCHAR U_4C75 +ENCODING 19573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7A40 +9520 +FA40 +ABC0 +F800 +AFE0 +F5A0 +0360 +ADA0 +AA60 +ENDCHAR +STARTCHAR U_4C76 +ENCODING 19574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +64E0 +AEA0 +FAC0 +AEA0 +FAA0 +AEA0 +F8A0 +2AE0 +AE80 +8080 +ENDCHAR +STARTCHAR U_4C77 +ENCODING 19575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +1100 +7F00 +59E0 +6B40 +7D40 +5540 +7D40 +5480 +7D40 +AA20 +ENDCHAR +STARTCHAR U_4C78 +ENCODING 19576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +7AA0 +93E0 +FAA0 +ABE0 +F880 +ABE0 +F920 +00C0 +A8C0 +AB20 +ENDCHAR +STARTCHAR U_4C79 +ENCODING 19577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7BE0 +9080 +FBE0 +A880 +FFE0 +AA00 +FBE0 +0680 +A880 +AFE0 +ENDCHAR +STARTCHAR U_4C7A +ENCODING 19578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7AA0 +93E0 +F800 +ABE0 +F800 +ABE0 +FA20 +03E0 +A940 +ABE0 +ENDCHAR +STARTCHAR U_4C7B +ENCODING 19579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7B40 +92C0 +FFE0 +AC20 +FBC0 +AA40 +FBC0 +0240 +ABC0 +AA40 +ENDCHAR +STARTCHAR U_4C7C +ENCODING 19580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7820 +AFE0 +FA40 +AFE0 +FA40 +AFE0 +FA80 +0AA0 +AA40 +B320 +ENDCHAR +STARTCHAR U_4C7D +ENCODING 19581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7140 +A3E0 +FC00 +ABE0 +FAA0 +ABE0 +FA00 +0BE0 +A520 +A9E0 +ENDCHAR +STARTCHAR U_4C7E +ENCODING 19582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BE0 +92A0 +FFE0 +AAA0 +FBE0 +AAA0 +F9E0 +0220 +A9C0 +AE20 +ENDCHAR +STARTCHAR U_4C7F +ENCODING 19583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7760 +9280 +FF80 +AAE0 +FFA0 +AAA0 +FFA0 +02A0 +AF20 +AA20 +ENDCHAR +STARTCHAR U_4C80 +ENCODING 19584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +27C0 +F940 +57C0 +FA60 +2F80 +6480 +3F80 +2480 +3F80 +4A40 +ENDCHAR +STARTCHAR U_4C81 +ENCODING 19585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F20 +7920 +8F20 +F8E0 +AF20 +F8A0 +AF60 +FA20 +0F20 +AAA0 +B260 +ENDCHAR +STARTCHAR U_4C82 +ENCODING 19586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +75E0 +AE00 +F9E0 +A8A0 +FE80 +AAC0 +FA80 +0A80 +AB80 +B460 +ENDCHAR +STARTCHAR U_4C83 +ENCODING 19587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +7D40 +92A0 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +0880 +AFE0 +A2A0 +ENDCHAR +STARTCHAR U_4C84 +ENCODING 19588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +7680 +98E0 +FF20 +AAA0 +FAA0 +AEA0 +FA40 +0F40 +A2A0 +A520 +ENDCHAR +STARTCHAR U_4C85 +ENCODING 19589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7AE0 +97A0 +FAE0 +AAA0 +FFE0 +AAA0 +FAE0 +0240 +ADC0 +A960 +ENDCHAR +STARTCHAR U_4C86 +ENCODING 19590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9240 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +0000 +AAA0 +AAA0 +ENDCHAR +STARTCHAR U_4C87 +ENCODING 19591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +73E0 +9480 +FBE0 +AAA0 +FBE0 +AA80 +FBC0 +02A0 +AA80 +ADE0 +ENDCHAR +STARTCHAR U_4C88 +ENCODING 19592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7880 +9000 +FFE0 +AA40 +FFE0 +AA40 +FB40 +0EE0 +AA40 +B240 +ENDCHAR +STARTCHAR U_4C89 +ENCODING 19593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A20 +6AC0 +AF80 +FAE0 +AEA0 +FAA0 +AEA0 +FAA0 +0FA0 +AAA0 +B120 +ENDCHAR +STARTCHAR U_4C8A +ENCODING 19594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E80 +6BE0 +AA80 +FCE0 +AB40 +FAE0 +AEA0 +F8E0 +08A0 +A8E0 +A920 +ENDCHAR +STARTCHAR U_4C8B +ENCODING 19595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +77E0 +9240 +FFE0 +AA40 +FDA0 +ABE0 +FA20 +03E0 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_4C8C +ENCODING 19596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7780 +92E0 +FF40 +A840 +FF40 +A840 +FF40 +0240 +AAA0 +AB20 +ENDCHAR +STARTCHAR U_4C8D +ENCODING 19597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +77E0 +5100 +7FE0 +5480 +FFE0 +5540 +77C0 +5540 +57C0 +AAA0 +ENDCHAR +STARTCHAR U_4C8E +ENCODING 19598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E80 +7480 +AEE0 +FBA0 +AEA0 +FAA0 +AEA0 +FA40 +0E40 +A2A0 +A320 +ENDCHAR +STARTCHAR U_4C8F +ENCODING 19599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +77E0 +9240 +FDA0 +A800 +FFE0 +A920 +FBC0 +0140 +AA40 +ACC0 +ENDCHAR +STARTCHAR U_4C90 +ENCODING 19600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +7880 +93E0 +FA80 +AAA0 +FBE0 +AAA0 +FBE0 +0280 +ABE0 +AD20 +ENDCHAR +STARTCHAR U_4C91 +ENCODING 19601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +77E0 +A100 +FBC0 +A900 +FFE0 +AAA0 +FFE0 +02A0 +AB40 +ACA0 +ENDCHAR +STARTCHAR U_4C92 +ENCODING 19602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +7EA0 +92A0 +FF60 +B540 +FFE0 +B540 +FFE0 +1540 +A540 +A340 +ENDCHAR +STARTCHAR U_4C93 +ENCODING 19603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7A80 +9440 +FBA0 +A800 +FEE0 +AAA0 +FEE0 +0440 +AAA0 +AAA0 +ENDCHAR +STARTCHAR U_4C94 +ENCODING 19604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7AA0 +93E0 +FAA0 +ABE0 +F800 +AFE0 +FAA0 +03E0 +AAA0 +AFE0 +ENDCHAR +STARTCHAR U_4C95 +ENCODING 19605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7940 +93E0 +F940 +AB60 +F940 +ABE0 +F940 +01C0 +A940 +A9C0 +ENDCHAR +STARTCHAR U_4C96 +ENCODING 19606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +77E0 +9080 +FFE0 +A8A0 +FBC0 +A840 +FFE0 +0540 +AFC0 +A840 +ENDCHAR +STARTCHAR U_4C97 +ENCODING 19607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A00 +7760 +A880 +FFE0 +AA20 +FFA0 +AA20 +FEA0 +0B20 +AFA0 +A860 +ENDCHAR +STARTCHAR U_4C98 +ENCODING 19608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7BE0 +9540 +F880 +AFE0 +F820 +ABC0 +FA40 +03E0 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_4C99 +ENCODING 19609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +6EE0 +B540 +FEE0 +AAA0 +FEA0 +AAA0 +FEA0 +08A0 +AAE0 +AE80 +ENDCHAR +STARTCHAR U_4C9A +ENCODING 19610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42E0 +7FA0 +9220 +FFE0 +AAA0 +FAE0 +AFA0 +FAE0 +0740 +AAA0 +AAA0 +ENDCHAR +STARTCHAR U_4C9B +ENCODING 19611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7FE0 +A280 +FFE0 +AAA0 +FFE0 +A820 +F7C0 +0D40 +A540 +A7C0 +ENDCHAR +STARTCHAR U_4C9C +ENCODING 19612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3B80 +7FC0 +D540 +7FC0 +5540 +AAA0 +5540 +7FC0 +5540 +7FC0 +AAA0 +ENDCHAR +STARTCHAR U_4C9D +ENCODING 19613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7980 +9240 +FC20 +ABC0 +FA40 +AA40 +FAC0 +0A40 +3220 +C3E0 +ENDCHAR +STARTCHAR U_4C9E +ENCODING 19614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7880 +9080 +FFE0 +A800 +FA20 +AA20 +F940 +0940 +3000 +C7E0 +ENDCHAR +STARTCHAR U_4C9F +ENCODING 19615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +72E0 +92A0 +22A0 +FBA0 +AAA0 +FAA0 +ABE0 +FAA0 +0080 +F880 +ENDCHAR +STARTCHAR U_4CA0 +ENCODING 19616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7900 +93C0 +F900 +AFE0 +FA40 +AFE0 +FA40 +03C0 +1A40 +E3C0 +ENDCHAR +STARTCHAR U_4CA1 +ENCODING 19617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7940 +97E0 +2140 +FBE0 +AB60 +FB60 +AA20 +FBE0 +0220 +FBE0 +ENDCHAR +STARTCHAR U_4CA2 +ENCODING 19618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7540 +5180 +57C0 +7200 +5FE0 +5440 +7BA0 +5540 +57C0 +5540 +BFE0 +ENDCHAR +STARTCHAR U_4CA3 +ENCODING 19619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3900 +2100 +FDE0 +A640 +F940 +A540 +F940 +A880 +F880 +A940 +FE20 +ENDCHAR +STARTCHAR U_4CA4 +ENCODING 19620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BE0 +7540 +9140 +FBE0 +AAA0 +FEA0 +AAA0 +FB60 +06A0 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_4CA5 +ENCODING 19621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FF00 +1120 +29E0 +FF00 +2500 +3F00 +2000 +3FE0 +4A20 +9560 +ENDCHAR +STARTCHAR U_4CA6 +ENCODING 19622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +9100 +F7C0 +9100 +F100 +8100 +FA80 +2A80 +8A40 +3420 +ENDCHAR +STARTCHAR U_4CA7 +ENCODING 19623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +27C0 +2440 +27C0 +FC40 +27E0 +2400 +27E0 +3820 +C520 +0AE0 +ENDCHAR +STARTCHAR U_4CA8 +ENCODING 19624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +07C0 +FC40 +27C0 +2440 +27E0 +2400 +27E0 +3AA0 +C520 +00C0 +ENDCHAR +STARTCHAR U_4CA9 +ENCODING 19625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2400 +2FE0 +2820 +2FE0 +2820 +4FE0 +5520 +9560 +ENDCHAR +STARTCHAR U_4CAA +ENCODING 19626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +2240 +FBC0 +2240 +23E0 +3200 +53E0 +4820 +4D60 +82A0 +ENDCHAR +STARTCHAR U_4CAB +ENCODING 19627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +53C0 +5240 +53C0 +5240 +53E0 +5200 +53E0 +5520 +9440 +8FE0 +ENDCHAR +STARTCHAR U_4CAC +ENCODING 19628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +7B80 +4A80 +7A80 +4A80 +7BE0 +4280 +7A80 +AAA0 +8A60 +3320 +ENDCHAR +STARTCHAR U_4CAD +ENCODING 19629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3900 +D3C0 +9240 +93C0 +FA40 +93E0 +9200 +93E0 +9020 +D560 +8AA0 +ENDCHAR +STARTCHAR U_4CAE +ENCODING 19630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7FC0 +0440 +FFC0 +5440 +57C0 +5400 +57E0 +52A0 +5D20 +8560 +ENDCHAR +STARTCHAR U_4CAF +ENCODING 19631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +4BC0 +4A40 +53C0 +5240 +7BE0 +4A00 +6BE0 +9020 +AAA0 +C960 +ENDCHAR +STARTCHAR U_4CB0 +ENCODING 19632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +73C0 +0240 +03C0 +FA40 +23E0 +2200 +43E0 +4D20 +FAA0 +0840 +ENDCHAR +STARTCHAR U_4CB1 +ENCODING 19633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +97E0 +F200 +93C0 +F240 +8240 +FA40 +0A40 +DA40 +AC80 +ENDCHAR +STARTCHAR U_4CB2 +ENCODING 19634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +2960 +49A0 +4920 +A5C0 +2100 +21E0 +4820 +75E0 +8420 +00C0 +ENDCHAR +STARTCHAR U_4CB3 +ENCODING 19635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +23C0 +FA40 +03C0 +7240 +53E0 +5200 +53E0 +5820 +5560 +82A0 +ENDCHAR +STARTCHAR U_4CB4 +ENCODING 19636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +2A40 +B3C0 +A240 +A3E0 +2200 +23E0 +5020 +5560 +82A0 +ENDCHAR +STARTCHAR U_4CB5 +ENCODING 19637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +2B00 +4C80 +8800 +1400 +7F00 +4900 +7FC0 +4000 +7F80 +AA80 +ENDCHAR +STARTCHAR U_4CB6 +ENCODING 19638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +0000 +FFE0 +2900 +5F20 +95E0 +1F00 +1000 +1FC0 +2A40 +54C0 +ENDCHAR +STARTCHAR U_4CB7 +ENCODING 19639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +7F00 +4900 +7FC0 +4000 +7F80 +AA80 +0800 +FF80 +4900 +8880 +ENDCHAR +STARTCHAR U_4CB8 +ENCODING 19640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +5240 +8BC0 +5240 +53E0 +5200 +53E0 +5020 +5560 +92A0 +ENDCHAR +STARTCHAR U_4CB9 +ENCODING 19641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +2240 +23C0 +7240 +ABE0 +2200 +23E0 +2020 +1D60 +E2A0 +ENDCHAR +STARTCHAR U_4CBA +ENCODING 19642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +4BC0 +FE40 +4BC0 +4A40 +7BE0 +4A00 +4BE0 +4820 +7D60 +02A0 +ENDCHAR +STARTCHAR U_4CBB +ENCODING 19643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +13C0 +FE40 +23C0 +4A40 +53E0 +2200 +4BE0 +8420 +FD60 +02A0 +ENDCHAR +STARTCHAR U_4CBC +ENCODING 19644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +53C0 +5240 +7FC0 +9240 +13E0 +7E00 +13E0 +1020 +1D60 +E2A0 +ENDCHAR +STARTCHAR U_4CBD +ENCODING 19645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +2240 +23C0 +4240 +7BE0 +AA00 +2BE0 +2920 +3EE0 +0040 +ENDCHAR +STARTCHAR U_4CBE +ENCODING 19646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +2200 +27E0 +3020 +C9C0 +3F80 +2080 +3F80 +2000 +3FC0 +5540 +ENDCHAR +STARTCHAR U_4CBF +ENCODING 19647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +4A40 +4BC0 +7A40 +53E0 +5E00 +53E0 +5420 +9960 +92A0 +ENDCHAR +STARTCHAR U_4CC0 +ENCODING 19648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F500 +97C0 +F900 +9100 +FFE0 +8100 +F900 +0A80 +DA40 +AC20 +ENDCHAR +STARTCHAR U_4CC1 +ENCODING 19649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +F220 +9200 +F7E0 +9200 +F2A0 +82A0 +FAA0 +0A40 +DAA0 +AD20 +ENDCHAR +STARTCHAR U_4CC2 +ENCODING 19650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +2A40 +2BC0 +4A40 +9BE0 +0200 +7BE0 +4820 +4D60 +7AA0 +ENDCHAR +STARTCHAR U_4CC3 +ENCODING 19651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F00 +2900 +3F80 +2000 +3FC0 +D240 +3B80 +6A80 +1220 +63E0 +ENDCHAR +STARTCHAR U_4CC4 +ENCODING 19652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +2BC0 +2A40 +ABC0 +BE40 +ABE0 +AA00 +ABE0 +BCA0 +E2A0 +8260 +ENDCHAR +STARTCHAR U_4CC5 +ENCODING 19653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +F3E0 +9220 +F220 +9220 +F3E0 +8000 +F940 +0940 +DA20 +A420 +ENDCHAR +STARTCHAR U_4CC6 +ENCODING 19654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +47C0 +F440 +97C0 +9440 +F7E0 +9400 +97E0 +F2A0 +8AA0 +0860 +ENDCHAR +STARTCHAR U_4CC7 +ENCODING 19655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8BE0 +AAA0 +8BE0 +FE00 +8BE0 +AA00 +8BE0 +FC20 +09A0 +1A60 +ENDCHAR +STARTCHAR U_4CC8 +ENCODING 19656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +FBE0 +8A20 +FC20 +83A0 +FAA0 +83A0 +FA60 +0A00 +6A20 +9BE0 +ENDCHAR +STARTCHAR U_4CC9 +ENCODING 19657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BC0 +9240 +D3C0 +2240 +53C0 +8A00 +27E0 +52A0 +2560 +1060 +ENDCHAR +STARTCHAR U_4CCA +ENCODING 19658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +43E0 +FA20 +43E0 +4A20 +6BE0 +5300 +AAE0 +ABE0 +4120 +86E0 +ENDCHAR +STARTCHAR U_4CCB +ENCODING 19659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23E0 +FA20 +ABE0 +AA20 +FBE0 +2200 +2BE0 +3420 +C2A0 +0560 +ENDCHAR +STARTCHAR U_4CCC +ENCODING 19660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4BC0 +FE40 +03C0 +7A40 +4BE0 +7A00 +4BE0 +7820 +4D60 +9AA0 +ENDCHAR +STARTCHAR U_4CCD +ENCODING 19661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +53C0 +FA40 +53C0 +5240 +53E0 +FA40 +03E0 +5020 +52A0 +8560 +ENDCHAR +STARTCHAR U_4CCE +ENCODING 19662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +9BC0 +8A40 +8BC0 +8A40 +DBE0 +8A00 +8BE0 +8820 +8AA0 +F960 +ENDCHAR +STARTCHAR U_4CCF +ENCODING 19663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F7C0 +4440 +F7C0 +4440 +47E0 +F400 +47E0 +42A0 +7AA0 +C860 +ENDCHAR +STARTCHAR U_4CD0 +ENCODING 19664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +1940 +E280 +4C60 +3F00 +2900 +2500 +3FE0 +5520 +AAC0 +ENDCHAR +STARTCHAR U_4CD1 +ENCODING 19665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +4240 +FBC0 +CA40 +7BE0 +4A00 +7BE0 +4820 +4D60 +92A0 +ENDCHAR +STARTCHAR U_4CD2 +ENCODING 19666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +7480 +2480 +FFE0 +4200 +FA20 +8940 +FC80 +0580 +F640 +0C20 +ENDCHAR +STARTCHAR U_4CD3 +ENCODING 19667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +73C0 +2A40 +FBC0 +2240 +43E0 +AA00 +33E0 +2820 +2D60 +3AA0 +ENDCHAR +STARTCHAR U_4CD4 +ENCODING 19668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F780 +E780 +8080 +F780 +1000 +7F00 +4900 +7FC0 +4000 +7F80 +AA80 +ENDCHAR +STARTCHAR U_4CD5 +ENCODING 19669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +39E0 +C520 +55E0 +2920 +7DE0 +0900 +15E0 +7820 +92A0 +3560 +ENDCHAR +STARTCHAR U_4CD6 +ENCODING 19670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +F7E0 +9540 +F740 +9540 +F740 +8540 +FD40 +0F40 +D960 +A940 +ENDCHAR +STARTCHAR U_4CD7 +ENCODING 19671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +7F00 +4900 +7FC0 +4000 +7F80 +AA80 +6480 +FFC0 +3200 +6500 +ENDCHAR +STARTCHAR U_4CD8 +ENCODING 19672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +F660 +9240 +F7E0 +9240 +FA40 +8340 +FE60 +0AC0 +AA40 +B660 +ENDCHAR +STARTCHAR U_4CD9 +ENCODING 19673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +FA20 +ABE0 +AA00 +FBA0 +0200 +FBE0 +40A0 +BB20 +1220 +71E0 +ENDCHAR +STARTCHAR U_4CDA +ENCODING 19674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8BC0 +FA40 +8BC0 +FA40 +03E0 +FA00 +23E0 +FAA0 +2560 +2040 +ENDCHAR +STARTCHAR U_4CDB +ENCODING 19675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8BE0 +FA20 +8BE0 +FA00 +43E0 +FA00 +53E0 +9020 +6520 +9560 +ENDCHAR +STARTCHAR U_4CDC +ENCODING 19676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +33C0 +4B40 +F640 +23C0 +FA00 +23E0 +7020 +AAA0 +2520 +6060 +ENDCHAR +STARTCHAR U_4CDD +ENCODING 19677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +4A40 +33C0 +FE40 +03E0 +7A00 +4BE0 +4AA0 +7D20 +4860 +ENDCHAR +STARTCHAR U_4CDE +ENCODING 19678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1100 +7D00 +12C0 +3A40 +12C0 +FD40 +20C0 +7B40 +9040 +3D80 +1100 +ENDCHAR +STARTCHAR U_4CDF +ENCODING 19679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3900 +EBC0 +AA40 +BBC0 +EA40 +BBC0 +AA00 +EBE0 +2AA0 +4D20 +98C0 +ENDCHAR +STARTCHAR U_4CE0 +ENCODING 19680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E3C0 +2240 +FBC0 +2240 +ABE0 +FA00 +ABE0 +7520 +2AA0 +F060 +ENDCHAR +STARTCHAR U_4CE1 +ENCODING 19681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +43C0 +D240 +7BC0 +5240 +7BE0 +5200 +7BE0 +52A0 +7D60 +4420 +ENDCHAR +STARTCHAR U_4CE2 +ENCODING 19682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +53C0 +FA40 +53C0 +7240 +53E0 +7200 +53E0 +FAA0 +5520 +8860 +ENDCHAR +STARTCHAR U_4CE3 +ENCODING 19683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +2120 +FFE0 +4940 +5F80 +B160 +1F00 +1100 +1FC0 +1540 +6A40 +ENDCHAR +STARTCHAR U_4CE4 +ENCODING 19684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +ABC0 +7240 +23C0 +FA40 +ABE0 +BA00 +EBE0 +A820 +AAA0 +8D60 +ENDCHAR +STARTCHAR U_4CE5 +ENCODING 19685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A5E0 +A520 +FDE0 +2120 +51E0 +AD00 +11E0 +F8A0 +4D20 +3560 +ENDCHAR +STARTCHAR U_4CE6 +ENCODING 19686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +8240 +7BC0 +0240 +7BE0 +4A00 +7BE0 +48A0 +7EA0 +C260 +ENDCHAR +STARTCHAR U_4CE7 +ENCODING 19687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F2E0 +9220 +F7E0 +9680 +FAE0 +8240 +FBE0 +0A40 +DAA0 +AB20 +ENDCHAR +STARTCHAR U_4CE8 +ENCODING 19688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BC0 +4A40 +7BC0 +4A40 +FBC0 +2200 +FBE0 +22A0 +3D20 +C560 +ENDCHAR +STARTCHAR U_4CE9 +ENCODING 19689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +2BC0 +FE40 +ABC0 +AA40 +FFE0 +4A00 +FFE0 +4820 +32A0 +CD40 +ENDCHAR +STARTCHAR U_4CEA +ENCODING 19690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +ABE0 +AAA0 +FBE0 +0200 +FBE0 +2200 +FBE0 +A820 +ABA0 +8860 +ENDCHAR +STARTCHAR U_4CEB +ENCODING 19691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E900 +B7C0 +5A40 +53C0 +8A40 +7FE0 +2200 +FFE0 +20A0 +5AA0 +8A60 +ENDCHAR +STARTCHAR U_4CEC +ENCODING 19692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FBC0 +5240 +73C0 +2240 +FBE0 +AA00 +FBE0 +2120 +FD60 +2440 +ENDCHAR +STARTCHAR U_4CED +ENCODING 19693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE80 +ABC0 +AA40 +EBC0 +AA40 +ABE0 +EA00 +8BE0 +AEA0 +EAA0 +0860 +ENDCHAR +STARTCHAR U_4CEE +ENCODING 19694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4B80 +78A0 +4BC0 +4AA0 +BF80 +2480 +3FE0 +2000 +3FC0 +5540 +ENDCHAR +STARTCHAR U_4CEF +ENCODING 19695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +23C0 +FA40 +23C0 +FA40 +ABE0 +FA00 +ABE0 +F820 +2560 +FAA0 +ENDCHAR +STARTCHAR U_4CF0 +ENCODING 19696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DC0 +5540 +55C0 +DD40 +49E0 +7F00 +49E0 +5C20 +6BA0 +4A60 +ENDCHAR +STARTCHAR U_4CF1 +ENCODING 19697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3E0 +5540 +FBE0 +20A0 +6360 +3F80 +2480 +3FE0 +2000 +3FC0 +5540 +ENDCHAR +STARTCHAR U_4CF2 +ENCODING 19698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +E400 +57E0 +E540 +55A0 +3F80 +2480 +3FE0 +2000 +3FC0 +5540 +ENDCHAR +STARTCHAR U_4CF3 +ENCODING 19699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +FBC0 +2240 +ABC0 +FA40 +03E0 +7200 +03E0 +F820 +7560 +AAA0 +ENDCHAR +STARTCHAR U_4CF4 +ENCODING 19700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +ABC0 +AA40 +FBC0 +2240 +ABE0 +7200 +23E0 +7020 +A960 +22A0 +ENDCHAR +STARTCHAR U_4CF5 +ENCODING 19701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +51E0 +DD20 +75E0 +D520 +55E0 +F500 +55E0 +D420 +6560 +48A0 +ENDCHAR +STARTCHAR U_4CF6 +ENCODING 19702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F2A0 +9000 +F340 +9280 +F100 +81E0 +F8A0 +0BC0 +D940 +AA20 +ENDCHAR +STARTCHAR U_4CF7 +ENCODING 19703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +AB60 +4580 +CB00 +52E0 +3F80 +2480 +3FE0 +2000 +3FC0 +5540 +ENDCHAR +STARTCHAR U_4CF8 +ENCODING 19704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4880 +7FE0 +5DC0 +6AA0 +56C0 +5B40 +5FE0 +4020 +A560 +ENDCHAR +STARTCHAR U_4CF9 +ENCODING 19705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +9020 +F760 +9040 +FFE0 +85A0 +F540 +15A0 +D920 +31E0 +ENDCHAR +STARTCHAR U_4CFA +ENCODING 19706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +53C0 +AA40 +73C0 +1240 +FBE0 +5200 +FBE0 +A820 +DD60 +FAA0 +ENDCHAR +STARTCHAR U_4CFB +ENCODING 19707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FD00 +79E0 +7940 +FD40 +2A40 +7F00 +7F00 +7FE0 +AA20 +A960 +ENDCHAR +STARTCHAR U_4CFC +ENCODING 19708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F400 +95C0 +F540 +95C0 +FC00 +87E0 +F6A0 +17E0 +F400 +17E0 +ENDCHAR +STARTCHAR U_4CFD +ENCODING 19709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +ABC0 +FA40 +53C0 +7A40 +D3E0 +7A00 +53E0 +7AA0 +5520 +7860 +ENDCHAR +STARTCHAR U_4CFE +ENCODING 19710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D080 +BBE0 +52A0 +ABE0 +7200 +53E0 +7200 +03E0 +5060 +3BA0 +E060 +ENDCHAR +STARTCHAR U_4CFF +ENCODING 19711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4C80 +6BE0 +BF20 +69E0 +A920 +49E0 +5500 +A1E0 +0020 +AAA0 +A860 +ENDCHAR +STARTCHAR U_4D00 +ENCODING 19712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +5240 +FBC0 +AA40 +FBE0 +AA00 +FBE0 +2020 +3D60 +E540 +ENDCHAR +STARTCHAR U_4D01 +ENCODING 19713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +8320 +7DE0 +5520 +7DE0 +5500 +FFE0 +92A0 +9BA0 +A660 +ENDCHAR +STARTCHAR U_4D02 +ENCODING 19714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +93C0 +FA40 +ABC0 +AA40 +FBE0 +4A00 +B3E0 +7520 +AD60 +6040 +ENDCHAR +STARTCHAR U_4D03 +ENCODING 19715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +7DE0 +1120 +FFE0 +4520 +EFE0 +4500 +FDE0 +4820 +4D60 +8AA0 +ENDCHAR +STARTCHAR U_4D04 +ENCODING 19716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E3C0 +AA40 +FFC0 +8640 +4BE0 +FE00 +ABE0 +7C20 +4AA0 +8AC0 +ENDCHAR +STARTCHAR U_4D05 +ENCODING 19717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +5520 +FFE0 +4520 +79E0 +4900 +79E0 +4820 +7AA0 +86E0 +ENDCHAR +STARTCHAR U_4D06 +ENCODING 19718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D900 +53C0 +FA40 +53C0 +FA40 +23E0 +7200 +23E0 +F820 +52A0 +8AC0 +ENDCHAR +STARTCHAR U_4D07 +ENCODING 19719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +11C0 +FF40 +D5C0 +3940 +65E0 +9300 +79E0 +0AA0 +32A0 +1060 +ENDCHAR +STARTCHAR U_4D08 +ENCODING 19720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FBC0 +BA40 +EBC0 +BA40 +EBE0 +2200 +FBE0 +2020 +5160 +8AA0 +ENDCHAR +STARTCHAR U_4D09 +ENCODING 19721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +ABC0 +FE40 +03C0 +FE40 +4BE0 +7A00 +57E0 +D820 +4D60 +6540 +ENDCHAR +STARTCHAR U_4D0A +ENCODING 19722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FBC0 +2240 +FBC0 +2240 +FBE0 +5200 +FBE0 +5020 +FBA0 +4C60 +ENDCHAR +STARTCHAR U_4D0B +ENCODING 19723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +F2A0 +93E0 +F000 +97E0 +FA20 +83E0 +F920 +2EC0 +AA40 +9320 +ENDCHAR +STARTCHAR U_4D0C +ENCODING 19724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +F7E0 +9240 +F7E0 +9420 +FBC0 +8100 +FEA0 +09C0 +AEA0 +B100 +ENDCHAR +STARTCHAR U_4D0D +ENCODING 19725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE40 +AAE0 +EEA0 +AAE0 +AAA0 +EEE0 +AA80 +EEE0 +4420 +ABA0 +AA60 +ENDCHAR +STARTCHAR U_4D0E +ENCODING 19726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +1500 +FFE0 +AAA0 +FBE0 +1000 +3F80 +2480 +3FE0 +5520 +8AC0 +ENDCHAR +STARTCHAR U_4D0F +ENCODING 19727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +FDE0 +4920 +79E0 +4520 +F7E0 +5500 +F7E0 +4020 +AAA0 +AAE0 +ENDCHAR +STARTCHAR U_4D10 +ENCODING 19728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FDC0 +9540 +69C0 +DD40 +69E0 +9D00 +71E0 +4820 +7AA0 +CE60 +ENDCHAR +STARTCHAR U_4D11 +ENCODING 19729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +49C0 +FD40 +A5C0 +FD40 +85E0 +7900 +49E0 +7AA0 +4AA0 +FC60 +ENDCHAR +STARTCHAR U_4D12 +ENCODING 19730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +10E0 +FEA0 +BAE0 +54A0 +FEE0 +AA80 +FEE0 +5420 +BBA0 +FE60 +ENDCHAR +STARTCHAR U_4D13 +ENCODING 19731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E3C0 +2340 +FAC0 +AA40 +AAC0 +AA00 +ABE0 +A820 +B7E0 +2040 +ENDCHAR +STARTCHAR U_4D14 +ENCODING 19732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +23C0 +FB40 +52C0 +8A40 +5280 +53E0 +5020 +27E0 +5020 +88C0 +ENDCHAR +STARTCHAR U_4D15 +ENCODING 19733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +2120 +F920 +4920 +3460 +DF80 +1480 +1FC0 +0040 +7E40 +0180 +ENDCHAR +STARTCHAR U_4D16 +ENCODING 19734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +2240 +7B40 +22C0 +FE00 +4BE0 +7820 +4FE0 +7820 +48C0 +ENDCHAR +STARTCHAR U_4D17 +ENCODING 19735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +7B40 +4AC0 +7A40 +4A80 +7BE0 +2820 +FFA0 +4820 +84C0 +ENDCHAR +STARTCHAR U_4D18 +ENCODING 19736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +53C0 +5A40 +5340 +7EC0 +5200 +7BE0 +4020 +7BA0 +A820 +CCC0 +ENDCHAR +STARTCHAR U_4D19 +ENCODING 19737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +7FC0 +5140 +7BC0 +4540 +4FC0 +7500 +5FE0 +7420 +95A0 +0440 +ENDCHAR +STARTCHAR U_4D1A +ENCODING 19738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3880 +27E0 +F800 +8BC0 +DA40 +AA40 +DA40 +AA40 +8A40 +FC60 +ENDCHAR +STARTCHAR U_4D1B +ENCODING 19739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +3AA0 +21C0 +FBE0 +8A20 +DBE0 +AA20 +ABE0 +DA20 +AA20 +FC60 +ENDCHAR +STARTCHAR U_4D1C +ENCODING 19740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BE0 +22A0 +FBE0 +8AA0 +DBE0 +A940 +A940 +D960 +AA40 +FA60 +ENDCHAR +STARTCHAR U_4D1D +ENCODING 19741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +39C0 +2140 +F9C0 +A940 +DFE0 +AA80 +FBE0 +AAA0 +DBC0 +AEA0 +F880 +ENDCHAR +STARTCHAR U_4D1E +ENCODING 19742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2360 +3DA0 +2360 +FDA0 +AAA0 +DA40 +AFE0 +FA40 +ABE0 +DA40 +FBE0 +ENDCHAR +STARTCHAR U_4D1F +ENCODING 19743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4A40 +7FC0 +5100 +5DC0 +5120 +5FE0 +9900 +9520 +20E0 +ENDCHAR +STARTCHAR U_4D20 +ENCODING 19744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4940 +7FC0 +5520 +58E0 +4F00 +4200 +5FE0 +8880 +B060 +ENDCHAR +STARTCHAR U_4D21 +ENCODING 19745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4920 +2940 +7FE0 +4A00 +7FC0 +4A40 +7FC0 +5A80 +9320 +9BE0 +ENDCHAR +STARTCHAR U_4D22 +ENCODING 19746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4A40 +7FC0 +5120 +5CE0 +4200 +7FC0 +4A80 +9240 +A220 +ENDCHAR +STARTCHAR U_4D23 +ENCODING 19747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FFC0 +AAA0 +FDC0 +9480 +FFE0 +A880 +BC80 +A880 +B880 +AD80 +ENDCHAR +STARTCHAR U_4D24 +ENCODING 19748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4940 +7FC0 +5080 +5EE0 +4B80 +5200 +4F80 +8200 +9FC0 +ENDCHAR +STARTCHAR U_4D25 +ENCODING 19749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9240 +FFC0 +A100 +AD20 +B0E0 +9000 +BDE0 +9520 +ADE0 +ENDCHAR +STARTCHAR U_4D26 +ENCODING 19750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4A40 +7FC0 +5080 +5AC0 +7FE0 +4000 +4F80 +8880 +0F80 +ENDCHAR +STARTCHAR U_4D27 +ENCODING 19751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FC80 +ABE0 +FC80 +ADC0 +FEA0 +8080 +ABE0 +BD40 +A880 +B760 +ENDCHAR +STARTCHAR U_4D28 +ENCODING 19752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FE80 +ABE0 +FE20 +ABE0 +FE20 +ABE0 +BE80 +ABC0 +BAA0 +AD80 +ENDCHAR +STARTCHAR U_4D29 +ENCODING 19753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4940 +7FC0 +5100 +7FE0 +5540 +5FC0 +4000 +9FC0 +B260 +ENDCHAR +STARTCHAR U_4D2A +ENCODING 19754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5240 +7FC0 +5100 +79C0 +4A40 +57E0 +7AA0 +91C0 +92A0 +ENDCHAR +STARTCHAR U_4D2B +ENCODING 19755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FC80 +ABE0 +FEA0 +ADC0 +FC80 +A940 +BEA0 +A9C0 +A840 +BCC0 +ENDCHAR +STARTCHAR U_4D2C +ENCODING 19756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +FEA0 +55E0 +BA80 +3880 +5480 +A280 +3C80 +6440 +1860 +E620 +ENDCHAR +STARTCHAR U_4D2D +ENCODING 19757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +F840 +A840 +57E0 +A8C0 +5140 +A940 +7240 +D440 +2940 +D080 +ENDCHAR +STARTCHAR U_4D2E +ENCODING 19758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +A880 +52A0 +AAA0 +52A0 +AAA0 +72A0 +D2A0 +22A0 +D3E0 +ENDCHAR +STARTCHAR U_4D2F +ENCODING 19759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FF00 +55E0 +56A0 +B8A0 +5520 +A660 +78A0 +4B20 +3020 +CC40 +ENDCHAR +STARTCHAR U_4D30 +ENCODING 19760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +10A0 +FC80 +55E0 +BA80 +2880 +C4A0 +38A0 +E8C0 +3160 +CA20 +ENDCHAR +STARTCHAR U_4D31 +ENCODING 19761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FC80 +ABE0 +6A20 +B500 +4940 +A580 +7920 +C920 +3120 +C9E0 +ENDCHAR +STARTCHAR U_4D32 +ENCODING 19762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FD00 +AFE0 +5100 +ABC0 +5100 +AB80 +7540 +D920 +2100 +D100 +ENDCHAR +STARTCHAR U_4D33 +ENCODING 19763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F880 +AFE0 +5420 +A800 +5140 +A940 +7140 +D240 +2220 +D420 +ENDCHAR +STARTCHAR U_4D34 +ENCODING 19764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +A9E0 +5100 +A900 +5100 +AFE0 +7420 +D420 +2420 +D7E0 +ENDCHAR +STARTCHAR U_4D35 +ENCODING 19765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +F940 +ABE0 +5140 +A940 +57E0 +A940 +7140 +D140 +2240 +D440 +ENDCHAR +STARTCHAR U_4D36 +ENCODING 19766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +FB40 +A9C0 +52A0 +ADE0 +5080 +A3E0 +7080 +D3E0 +2080 +DFE0 +ENDCHAR +STARTCHAR U_4D37 +ENCODING 19767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +A820 +5380 +A800 +57E0 +AA80 +72A0 +D2A0 +24A0 +D860 +ENDCHAR +STARTCHAR U_4D38 +ENCODING 19768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FBA0 +AAA0 +5140 +ABE0 +7040 +97E0 +5080 +2080 +5280 +9100 +ENDCHAR +STARTCHAR U_4D39 +ENCODING 19769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FAA0 +ABE0 +52A0 +8BE0 +2080 +77E0 +91C0 +52A0 +24A0 +D080 +ENDCHAR +STARTCHAR U_4D3A +ENCODING 19770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +AC40 +5280 +AFE0 +5000 +AFC0 +7440 +D440 +2440 +D7C0 +ENDCHAR +STARTCHAR U_4D3B +ENCODING 19771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +21E0 +FAA0 +2520 +FFE0 +2480 +5B40 +2E80 +D160 +0E00 +F1C0 +ENDCHAR +STARTCHAR U_4D3C +ENCODING 19772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +AA80 +5120 +AEE0 +5280 +A240 +7FE0 +D140 +20A0 +D760 +ENDCHAR +STARTCHAR U_4D3D +ENCODING 19773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBE0 +AAA0 +53E0 +AAA0 +53E0 +A980 +7280 +D7E0 +2080 +D080 +ENDCHAR +STARTCHAR U_4D3E +ENCODING 19774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +FBE0 +A880 +53E0 +A880 +53E0 +A900 +71E0 +D280 +2480 +DBE0 +ENDCHAR +STARTCHAR U_4D3F +ENCODING 19775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FC20 +ABC0 +5000 +AFE0 +5200 +ADA0 +72C0 +D5A0 +2280 +D580 +ENDCHAR +STARTCHAR U_4D40 +ENCODING 19776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FAA0 +A9C0 +53E0 +AA20 +53A0 +AAE0 +7220 +D3E0 +2140 +D220 +ENDCHAR +STARTCHAR U_4D41 +ENCODING 19777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +FAE0 +2F20 +72C0 +AA80 +7340 +AE40 +7BE0 +DA40 +2B40 +DAC0 +ENDCHAR +STARTCHAR U_4D42 +ENCODING 19778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +2240 +77E0 +AD20 +77E0 +AD20 +7FA0 +D4A0 +27A0 +D460 +ENDCHAR +STARTCHAR U_4D43 +ENCODING 19779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +FFE0 +5540 +BBE0 +26A0 +5BE0 +CAA0 +2BE0 +1140 +2A20 +C420 +ENDCHAR +STARTCHAR U_4D44 +ENCODING 19780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +FBE0 +AAA0 +73E0 +AAA0 +57E0 +8A20 +73E0 +D220 +3140 +4BE0 +ENDCHAR +STARTCHAR U_4D45 +ENCODING 19781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FDE0 +1340 +FCC0 +4920 +FFE0 +4A40 +B7A0 +4940 +0F00 +70C0 +ENDCHAR +STARTCHAR U_4D46 +ENCODING 19782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +AA40 +57E0 +AC20 +53C0 +A920 +76C0 +D180 +26C0 +D120 +ENDCHAR +STARTCHAR U_4D47 +ENCODING 19783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D00 +41E0 +5440 +7F40 +5540 +5D40 +7680 +5C80 +5540 +9220 +ENDCHAR +STARTCHAR U_4D48 +ENCODING 19784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5600 +AFE0 +6220 +AFC0 +2A80 +15C0 +7FE0 +4880 +7DE0 +5DC0 +AAA0 +ENDCHAR +STARTCHAR U_4D49 +ENCODING 19785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +5DC0 +6AA0 +5580 +7F60 +5540 +9D40 +94C0 +ENDCHAR +STARTCHAR U_4D4A +ENCODING 19786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +57C0 +5280 +7FE0 +5540 +FFC0 +5540 +57C0 +5000 +9280 +B440 +ENDCHAR +STARTCHAR U_4D4B +ENCODING 19787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F900 +57E0 +FA00 +03C0 +FE40 +ABC0 +FA40 +ABC0 +5240 +8AC0 +ENDCHAR +STARTCHAR U_4D4C +ENCODING 19788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F900 +57C0 +FD40 +AB40 +FBA0 +AD00 +F900 +5280 +5440 +8820 +ENDCHAR +STARTCHAR U_4D4D +ENCODING 19789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FBE0 +5000 +F9C0 +0140 +F9C0 +A800 +A9C0 +F880 +53E0 +8880 +ENDCHAR +STARTCHAR U_4D4E +ENCODING 19790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FAA0 +53E0 +F800 +23E0 +F900 +ABE0 +FAA0 +AAA0 +52A0 +8A60 +ENDCHAR +STARTCHAR U_4D4F +ENCODING 19791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +F920 +55A0 +FB60 +05A0 +FB60 +A880 +FB40 +A8A0 +5040 +8B80 +ENDCHAR +STARTCHAR U_4D50 +ENCODING 19792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FAA0 +53E0 +FD40 +02A0 +FBE0 +AAA0 +FBE0 +A880 +57E0 +8880 +ENDCHAR +STARTCHAR U_4D51 +ENCODING 19793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +F3E0 +2120 +F920 +7320 +A920 +51A0 +A920 +7120 +AA20 +64C0 +ENDCHAR +STARTCHAR U_4D52 +ENCODING 19794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1800 +E3C0 +2240 +FE40 +7240 +ABC0 +2240 +5240 +AA40 +73C0 +AA40 +ENDCHAR +STARTCHAR U_4D53 +ENCODING 19795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +2280 +FBE0 +7480 +A880 +5080 +AFE0 +A880 +7080 +A880 +6080 +ENDCHAR +STARTCHAR U_4D54 +ENCODING 19796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +23E0 +FC80 +73E0 +AAA0 +23E0 +DAA0 +ABE0 +71C0 +AAA0 +64A0 +ENDCHAR +STARTCHAR U_4D55 +ENCODING 19797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +E3E0 +2220 +FBE0 +7280 +ABE0 +5280 +AA80 +73E0 +AB20 +65E0 +ENDCHAR +STARTCHAR U_4D56 +ENCODING 19798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A140 +F880 +9140 +FFA0 +0400 +FFE0 +2A80 +D560 +2E80 +5540 +ENDCHAR +STARTCHAR U_4D57 +ENCODING 19799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +2000 +FDC0 +6940 +A5C0 +5000 +ABE0 +AAA0 +73E0 +AEA0 +63E0 +ENDCHAR +STARTCHAR U_4D58 +ENCODING 19800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +73C0 +2240 +FBC0 +7240 +AFE0 +5200 +ABE0 +AEA0 +72A0 +AD20 +6240 +ENDCHAR +STARTCHAR U_4D59 +ENCODING 19801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +27E0 +FA40 +75E0 +AB40 +2080 +5300 +A9E0 +72A0 +A8C0 +6700 +ENDCHAR +STARTCHAR U_4D5A +ENCODING 19802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78E0 +2720 +FD20 +72C0 +A900 +2660 +5420 +AF60 +7420 +AFE0 +6420 +ENDCHAR +STARTCHAR U_4D5B +ENCODING 19803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F760 +4AA0 +FFA0 +6940 +DF40 +4AA0 +AFA0 +5100 +E7C0 +5100 +DFE0 +ENDCHAR +STARTCHAR U_4D5C +ENCODING 19804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7140 +23E0 +FAA0 +73E0 +AAA0 +73E0 +AA00 +ABE0 +76A0 +AA40 +6B20 +ENDCHAR +STARTCHAR U_4D5D +ENCODING 19805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +D680 +BA80 +FE80 +1080 +7C80 +1080 +FE80 +0080 +AAA0 +AAE0 +ENDCHAR +STARTCHAR U_4D5E +ENCODING 19806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +D420 +BD20 +9520 +FD20 +1120 +7D20 +1120 +FC20 +AA20 +AA60 +ENDCHAR +STARTCHAR U_4D5F +ENCODING 19807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +DC80 +B480 +FC80 +1080 +7BE0 +1080 +FC80 +0080 +A480 +A480 +ENDCHAR +STARTCHAR U_4D60 +ENCODING 19808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +5500 +7DE0 +5520 +7E20 +1020 +7D20 +10A0 +FE20 +AAA0 +AA40 +ENDCHAR +STARTCHAR U_4D61 +ENCODING 19809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0400 +FFC0 +3580 +6EC0 +BFA0 +0400 +3F80 +0400 +FFE0 +5240 +ENDCHAR +STARTCHAR U_4D62 +ENCODING 19810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A880 +F9C0 +2080 +7080 +23E0 +F880 +01C0 +51C0 +AAA0 +0080 +ENDCHAR +STARTCHAR U_4D63 +ENCODING 19811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7DE0 +6D20 +5520 +7DE0 +1120 +7D20 +11E0 +FE00 +0000 +ABE0 +ENDCHAR +STARTCHAR U_4D64 +ENCODING 19812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +1100 +FFE0 +2100 +7FC0 +5540 +7FC0 +0400 +FFE0 +5240 +8920 +ENDCHAR +STARTCHAR U_4D65 +ENCODING 19813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +AC80 +FFE0 +2AA0 +72A0 +23E0 +FA00 +6A20 +D620 +A3E0 +ENDCHAR +STARTCHAR U_4D66 +ENCODING 19814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +AA40 +F840 +ADE0 +FA40 +2040 +7140 +2140 +FA40 +5240 +AEC0 +ENDCHAR +STARTCHAR U_4D67 +ENCODING 19815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +F920 +2100 +FFE0 +A900 +F940 +2140 +F880 +2180 +FEA0 +AA60 +ENDCHAR +STARTCHAR U_4D68 +ENCODING 19816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D40 +5540 +7FE0 +5500 +7D40 +1180 +7AE0 +1280 +FAE0 +5580 +54E0 +ENDCHAR +STARTCHAR U_4D69 +ENCODING 19817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +1120 +FD20 +3920 +F460 +3F80 +2E80 +3F80 +1500 +FFE0 +6AC0 +ENDCHAR +STARTCHAR U_4D6A +ENCODING 19818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +5520 +7DE0 +5520 +7DE0 +1000 +7D40 +11E0 +FF40 +AB40 +ABE0 +ENDCHAR +STARTCHAR U_4D6B +ENCODING 19819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A3A0 +5480 +AC40 +1780 +7FC0 +5540 +0400 +7FC0 +9120 +ENDCHAR +STARTCHAR U_4D6C +ENCODING 19820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CA0 +57C0 +7D80 +56C0 +7CA0 +1080 +7DE0 +1120 +FFE0 +AB20 +ABE0 +ENDCHAR +STARTCHAR U_4D6D +ENCODING 19821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +55C0 +7CA0 +54A0 +7FE0 +1080 +7FE0 +1320 +FDE0 +AB20 +ABE0 +ENDCHAR +STARTCHAR U_4D6E +ENCODING 19822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AA20 +ABE0 +FA20 +23E0 +F800 +27E0 +3A00 +E7E0 +1520 +AAE0 +ENDCHAR +STARTCHAR U_4D6F +ENCODING 19823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +AB80 +FFE0 +FAA0 +23E0 +72A0 +23E0 +F080 +55C0 +AA80 +83E0 +ENDCHAR +STARTCHAR U_4D70 +ENCODING 19824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +ABE0 +FE40 +ABC0 +FA40 +27E0 +7200 +27E0 +FAA0 +0520 +AAC0 +ENDCHAR +STARTCHAR U_4D71 +ENCODING 19825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +AFE0 +F880 +AFE0 +FA40 +23C0 +F940 +27E0 +3A40 +EBC0 +AA40 +ENDCHAR +STARTCHAR U_4D72 +ENCODING 19826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +AA40 +FA40 +AFE0 +FDA0 +27E0 +7080 +27E0 +F9C0 +52A0 +ACA0 +ENDCHAR +STARTCHAR U_4D73 +ENCODING 19827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F980 +AA40 +FDA0 +A800 +FFE0 +24A0 +FFE0 +2240 +FBC0 +AA40 +A3C0 +ENDCHAR +STARTCHAR U_4D74 +ENCODING 19828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FAA0 +ABE0 +F880 +23E0 +72A0 +23E0 +7AA0 +D7A0 +A8E0 +ENDCHAR +STARTCHAR U_4D75 +ENCODING 19829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +79E0 +9240 +3F80 +2880 +2480 +FFE0 +2480 +DF60 +0400 +6B40 +ENDCHAR +STARTCHAR U_4D76 +ENCODING 19830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7AA0 +8EE0 +0A80 +EEE0 +AAA0 +AEE0 +EAA0 +0EE0 +0A80 +33E0 +ENDCHAR +STARTCHAR U_4D77 +ENCODING 19831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +EEE0 +4280 +EEE0 +0AA0 +4EE0 +EAA0 +4EE0 +6A00 +83E0 +ENDCHAR +STARTCHAR U_4D78 +ENCODING 19832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +22A0 +FC80 +7140 +AA20 +2420 +7FC0 +4A40 +7BC0 +0A20 +0FE0 +ENDCHAR +STARTCHAR U_4D79 +ENCODING 19833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +7E40 +ABE0 +7A40 +2E40 +D0C0 +7FC0 +4A40 +7BC0 +0A20 +0FE0 +ENDCHAR +STARTCHAR U_4D7A +ENCODING 19834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +4AA0 +4BA0 +4AA0 +EBA0 +4820 +4EE0 +4280 +6EE0 +8AA0 +12A0 +ENDCHAR +STARTCHAR U_4D7B +ENCODING 19835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3940 +2BE0 +B940 +ABE0 +B940 +A940 +FFE0 +2840 +EFE0 +AA40 +ABC0 +ENDCHAR +STARTCHAR U_4D7C +ENCODING 19836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +7A40 +0FE0 +7A40 +8940 +5FA0 +54A0 +72E0 +1F80 +70E0 +90A0 +ENDCHAR +STARTCHAR U_4D7D +ENCODING 19837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +73E0 +5220 +7740 +5E80 +F560 +3F00 +1080 +3FC0 +ENDCHAR +STARTCHAR U_4D7E +ENCODING 19838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +6FE0 +A480 +2280 +F880 +23E0 +F880 +53E0 +7140 +5080 +FB60 +ENDCHAR +STARTCHAR U_4D7F +ENCODING 19839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +9120 +F4C0 +5720 +E400 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_4D80 +ENCODING 19840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +4880 +7BC0 +5140 +FAE0 +0E00 +3180 +CE60 +1100 +1F00 +ENDCHAR +STARTCHAR U_4D81 +ENCODING 19841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +5640 +3D80 +D660 +2D80 +3FC0 +2240 +3FC0 +ENDCHAR +STARTCHAR U_4D82 +ENCODING 19842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5900 +8900 +DBE0 +8A20 +DC20 +A920 +F8A0 +A820 +F820 +AA20 +F6C0 +ENDCHAR +STARTCHAR U_4D83 +ENCODING 19843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5880 +8880 +D940 +8940 +FA20 +ACA0 +73C0 +A840 +F840 +AC80 +F880 +ENDCHAR +STARTCHAR U_4D84 +ENCODING 19844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BE0 +8880 +DAA0 +89C0 +F880 +AFE0 +F880 +A880 +F880 +AC80 +E880 +ENDCHAR +STARTCHAR U_4D85 +ENCODING 19845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D900 +89E0 +DB40 +8C80 +F940 +0620 +ABC0 +FA40 +ABC0 +F820 +A7C0 +ENDCHAR +STARTCHAR U_4D86 +ENCODING 19846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +9A40 +8BE0 +DE40 +8BE0 +FA40 +AA40 +FBE0 +AA40 +FA40 +A7E0 +ENDCHAR +STARTCHAR U_4D87 +ENCODING 19847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D880 +8BE0 +DAA0 +8BE0 +FAA0 +03E0 +A940 +F9C0 +A940 +F9C0 +A540 +ENDCHAR +STARTCHAR U_4D88 +ENCODING 19848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D880 +8BE0 +D880 +8BE0 +FAA0 +03E0 +AAA0 +F840 +ABE0 +F940 +A4C0 +ENDCHAR +STARTCHAR U_4D89 +ENCODING 19849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +8AE0 +DAA0 +8B60 +F940 +0240 +ABE0 +FAA0 +ABE0 +FAA0 +ABE0 +ENDCHAR +STARTCHAR U_4D8A +ENCODING 19850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7BE0 +4920 +7920 +4920 +FFE0 +A520 +FD20 +4920 +4920 +8BE0 +ENDCHAR +STARTCHAR U_4D8B +ENCODING 19851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +7240 +5280 +7AE0 +5220 +FB20 +AB40 +FAC0 +5480 +5540 +9A20 +ENDCHAR +STARTCHAR U_4D8C +ENCODING 19852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7BE0 +5C20 +6BA0 +FAA0 +ABA0 +FA20 +AA60 +FA00 +5220 +93E0 +ENDCHAR +STARTCHAR U_4D8D +ENCODING 19853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F9E0 +2160 +49A0 +FBE0 +26A0 +FBE0 +22A0 +23E0 +3940 +C240 +ENDCHAR +STARTCHAR U_4D8E +ENCODING 19854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7880 +5940 +6A20 +7FE0 +5400 +7DC0 +5540 +FF40 +29C0 +C940 +ENDCHAR +STARTCHAR U_4D8F +ENCODING 19855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +11E0 +F960 +29A0 +FBE0 +A2A0 +FBE0 +6AA0 +6BE0 +B940 +2240 +ENDCHAR +STARTCHAR U_4D90 +ENCODING 19856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +7A40 +5DA0 +6800 +FBE0 +AAA0 +FBE0 +0120 +F9E0 +5120 +91E0 +ENDCHAR +STARTCHAR U_4D91 +ENCODING 19857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7BE0 +5880 +6BE0 +FEA0 +ABE0 +F940 +ABE0 +F8C0 +5280 +95E0 +ENDCHAR +STARTCHAR U_4D92 +ENCODING 19858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A00 +F5E0 +5540 +A0A0 +5F40 +4840 +5B40 +4C40 +9B20 +ENDCHAR +STARTCHAR U_4D93 +ENCODING 19859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +F940 +AEA0 +AAC0 +AEA0 +AA40 +ABC0 +BA40 +23C0 +2440 +ENDCHAR +STARTCHAR U_4D94 +ENCODING 19860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +B880 +A2A0 +FBE0 +06A0 +AAA0 +DAA0 +FAC0 +AA80 +DA20 +F9E0 +ENDCHAR +STARTCHAR U_4D95 +ENCODING 19861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +B3E0 +A2A0 +FAA0 +02A0 +ABE0 +DA00 +AA00 +DA20 +8A20 +F9C0 +ENDCHAR +STARTCHAR U_4D96 +ENCODING 19862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +B140 +A140 +FA20 +05E0 +A800 +DBE0 +A820 +D840 +8880 +F900 +ENDCHAR +STARTCHAR U_4D97 +ENCODING 19863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +B7E0 +A040 +F840 +03C0 +AAC0 +DAC0 +ABC0 +D840 +8840 +F8C0 +ENDCHAR +STARTCHAR U_4D98 +ENCODING 19864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5880 +53E0 +F800 +0220 +DA20 +A920 +F940 +D940 +A800 +FBE0 +ENDCHAR +STARTCHAR U_4D99 +ENCODING 19865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +B3E0 +A200 +FBC0 +0240 +AA40 +DA40 +ABC0 +DA00 +8A00 +FBE0 +ENDCHAR +STARTCHAR U_4D9A +ENCODING 19866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +B080 +A080 +FBE0 +02A0 +AAA0 +DBE0 +A880 +D8A0 +89E0 +FA20 +ENDCHAR +STARTCHAR U_4D9B +ENCODING 19867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +2120 +7D20 +AA20 +1360 +6A00 +FFE0 +4940 +76C0 +4940 +7FC0 +ENDCHAR +STARTCHAR U_4D9C +ENCODING 19868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1280 +5BE0 +5280 +FFE0 +0000 +ADE0 +D520 +AD20 +D520 +FDE0 +ENDCHAR +STARTCHAR U_4D9D +ENCODING 19869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +5C80 +53E0 +FC80 +A6A0 +B5C0 +CEA0 +FC80 +A540 +D540 +FE20 +ENDCHAR +STARTCHAR U_4D9E +ENCODING 19870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5140 +5D40 +53E0 +FF40 +ADC0 +D540 +FDC0 +AD40 +B7E0 +CD40 +FE20 +ENDCHAR +STARTCHAR U_4D9F +ENCODING 19871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +B9E0 +A220 +FA40 +0500 +AA60 +DA20 +AB60 +DA20 +8A20 +FBE0 +ENDCHAR +STARTCHAR U_4DA0 +ENCODING 19872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4080 +7FA0 +5540 +9DC0 +2120 +FFE0 +5240 +6DC0 +5240 +7FC0 +ENDCHAR +STARTCHAR U_4DA1 +ENCODING 19873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3E20 +AA20 +FAA0 +2EA0 +5AA0 +8EA0 +FAA0 +AEA0 +D8A0 +8A20 +FA60 +ENDCHAR +STARTCHAR U_4DA2 +ENCODING 19874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +B8A0 +AFE0 +F880 +2F80 +D880 +AEA0 +FAA0 +AE40 +D8C0 +F320 +ENDCHAR +STARTCHAR U_4DA3 +ENCODING 19875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5AA0 +53E0 +FC00 +01E0 +AD20 +D520 +FDE0 +AD20 +D4C0 +FFE0 +ENDCHAR +STARTCHAR U_4DA4 +ENCODING 19876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +BC40 +A5C0 +F540 +2FE0 +DA40 +ABC0 +FA40 +ABC0 +DA40 +FCC0 +ENDCHAR +STARTCHAR U_4DA5 +ENCODING 19877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +B880 +A3E0 +FAA0 +23E0 +DAA0 +AAE0 +FAA0 +AAE0 +DAA0 +FDE0 +ENDCHAR +STARTCHAR U_4DA6 +ENCODING 19878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +B7E0 +A100 +FBC0 +2100 +DFE0 +AA40 +FBC0 +AA40 +DBC0 +FC20 +ENDCHAR +STARTCHAR U_4DA7 +ENCODING 19879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C80 +53E0 +FC80 +2BE0 +B540 +DFE0 +F540 +AFE0 +D540 +FD40 +8260 +ENDCHAR +STARTCHAR U_4DA8 +ENCODING 19880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +B940 +A220 +FDC0 +0000 +ABE0 +AAA0 +FBE0 +A940 +AAA0 +FCA0 +ENDCHAR +STARTCHAR U_4DA9 +ENCODING 19881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +BFE0 +A280 +FD60 +2540 +DD60 +AA40 +FBC0 +AA40 +DBC0 +FC40 +ENDCHAR +STARTCHAR U_4DAA +ENCODING 19882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +BF60 +A240 +FFE0 +2A40 +D940 +AFC0 +F960 +AFC0 +D920 +FFA0 +ENDCHAR +STARTCHAR U_4DAB +ENCODING 19883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +B360 +A2A0 +F800 +23E0 +DA80 +8BE0 +FAA0 +ABA0 +DAA0 +8BC0 +FCA0 +ENDCHAR +STARTCHAR U_4DAC +ENCODING 19884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +FBE0 +2080 +FBC0 +5200 +FBC0 +5040 +73C0 +5220 +B3E0 +ENDCHAR +STARTCHAR U_4DAD +ENCODING 19885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +4BE0 +F880 +4080 +53E0 +5080 +5480 +57E0 +5800 +4820 +97E0 +ENDCHAR +STARTCHAR U_4DAE +ENCODING 19886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +7FC0 +0A80 +3320 +E1E0 +3F80 +0400 +7FC0 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_4DAF +ENCODING 19887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +53C0 +F480 +57E0 +5AA0 +56E0 +9AC0 +6AA0 +27C0 +5A20 +85C0 +ENDCHAR +STARTCHAR U_4DB0 +ENCODING 19888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +38C0 +4980 +FE80 +AA80 +EFE0 +2880 +FFE0 +2A80 +FE80 +20A0 +DEE0 +ENDCHAR +STARTCHAR U_4DB1 +ENCODING 19889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +5A40 +D7E0 +22A0 +57E0 +4A80 +A7E0 +12A0 +47E0 +2220 +11E0 +ENDCHAR +STARTCHAR U_4DB2 +ENCODING 19890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FC20 +AAE0 +FE80 +AAE0 +FFA0 +8AE0 +8F80 +8AA0 +9EE0 +ENDCHAR +STARTCHAR U_4DB3 +ENCODING 19891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +3840 +45E0 +FE00 +AAE0 +FEA0 +00A0 +FEA0 +AAA0 +FEA0 +AB20 +ENDCHAR +STARTCHAR U_4DB4 +ENCODING 19892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABE0 +74A0 +5140 +8F20 +F0E0 +3F80 +2A80 +7FC0 +4A40 +7FC0 +4A40 +ENDCHAR +STARTCHAR U_4DB5 +ENCODING 19893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +39E0 +4540 +BA60 +0240 +FFE0 +AAA0 +FEC0 +AB60 +FEA0 +AAA0 +8520 +ENDCHAR +STARTCHAR U_4E00 +ENCODING 19968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 2 0 4 +BITMAP +0040 +FFE0 +ENDCHAR +STARTCHAR U_4E01 +ENCODING 19969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +FFC0 +0400 +0400 +0400 +0400 +0400 +0400 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_4E02 +ENCODING 19970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +0800 +1000 +3FC0 +0040 +0040 +0040 +0080 +0080 +0700 +ENDCHAR +STARTCHAR U_4E03 +ENCODING 19971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +0800 +08C0 +0F00 +F800 +0800 +0800 +0840 +0840 +07C0 +ENDCHAR +STARTCHAR U_4E04 +ENCODING 19972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 9 0 0 +BITMAP +0400 +0400 +0400 +0400 +0400 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_4E05 +ENCODING 19973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +FFE0 +0400 +0400 +0400 +0400 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_4E06 +ENCODING 19974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 2 +BITMAP +FFE0 +0400 +0400 +0800 +1000 +6000 +ENDCHAR +STARTCHAR U_4E07 +ENCODING 19975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0800 +0800 +0F80 +0880 +0880 +1080 +1080 +2080 +4300 +ENDCHAR +STARTCHAR U_4E08 +ENCODING 19976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +2400 +2400 +1400 +0800 +1400 +2200 +C1E0 +ENDCHAR +STARTCHAR U_4E09 +ENCODING 19977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FC0 +0000 +0000 +0000 +3F80 +0000 +0000 +0000 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4E0A +ENCODING 19978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +0400 +07C0 +0400 +0400 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_4E0B +ENCODING 19979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0400 +0400 +0600 +0500 +0480 +0480 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_4E0C +ENCODING 19980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +FFE0 +1100 +1100 +1100 +1100 +1100 +2100 +2100 +4100 +8100 +ENDCHAR +STARTCHAR U_4E0D +ENCODING 19981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0200 +0200 +0400 +0D00 +1480 +2440 +4420 +8400 +0400 +0400 +ENDCHAR +STARTCHAR U_4E0E +ENCODING 19982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +1FE0 +1000 +1000 +1FC0 +0040 +FE40 +0040 +0040 +0380 +ENDCHAR +STARTCHAR U_4E0F +ENCODING 19983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +0800 +4FC0 +4840 +4840 +7FC0 +0040 +0040 +0280 +0100 +ENDCHAR +STARTCHAR U_4E10 +ENCODING 19984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +4400 +47C0 +4400 +7FC0 +0040 +0040 +0040 +0280 +0100 +ENDCHAR +STARTCHAR U_4E11 +ENCODING 19985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7F80 +0880 +0880 +0880 +7F80 +1080 +1080 +1080 +1080 +FFE0 +ENDCHAR +STARTCHAR U_4E12 +ENCODING 19986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +0840 +2840 +1840 +0C40 +0A40 +1040 +2040 +4380 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4E13 +ENCODING 19987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FC0 +0400 +0400 +FFE0 +0800 +1FC0 +0080 +0D00 +0200 +0100 +ENDCHAR +STARTCHAR U_4E14 +ENCODING 19988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F00 +2100 +2100 +3F00 +2100 +2100 +2100 +3F00 +2100 +2100 +FFC0 +ENDCHAR +STARTCHAR U_4E15 +ENCODING 19989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0200 +0400 +0C00 +1480 +2440 +4420 +8420 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_4E16 +ENCODING 19990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +2480 +2480 +FFE0 +2480 +2480 +2480 +2780 +2000 +2000 +3FE0 +ENDCHAR +STARTCHAR U_4E17 +ENCODING 19991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2480 +2480 +FFE0 +2480 +2480 +2480 +2480 +2480 +3F80 +2080 +ENDCHAR +STARTCHAR U_4E18 +ENCODING 19992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +1E00 +1000 +1000 +1FC0 +1100 +1100 +1100 +1100 +1100 +FFE0 +ENDCHAR +STARTCHAR U_4E19 +ENCODING 19993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0400 +7FC0 +4440 +4640 +4940 +5040 +4040 +4040 +41C0 +ENDCHAR +STARTCHAR U_4E1A +ENCODING 19994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +0900 +0920 +8920 +4940 +2940 +2980 +0900 +0900 +0900 +FFE0 +ENDCHAR +STARTCHAR U_4E1B +ENCODING 19995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +1080 +1080 +1080 +2880 +2540 +4240 +8C20 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4E1C +ENCODING 19996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +FFC0 +1400 +2400 +7F80 +0400 +2500 +4480 +8440 +1C00 +ENDCHAR +STARTCHAR U_4E1D +ENCODING 19997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2940 +4A40 +F780 +1080 +2100 +4200 +F7C0 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4E1E +ENCODING 19998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0100 +0220 +74C0 +1700 +2500 +4480 +8460 +0C00 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4E1F +ENCODING 19999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FC0 +0400 +7FC0 +0400 +0400 +FFE0 +0800 +1100 +2080 +7FC0 +ENDCHAR +STARTCHAR U_4E20 +ENCODING 20000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +1240 +F280 +1300 +1200 +3240 +D240 +11C0 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4E21 +ENCODING 20001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0400 +7FC0 +4440 +5540 +5540 +5540 +5F40 +4040 +40C0 +ENDCHAR +STARTCHAR U_4E22 +ENCODING 20002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +3E00 +0400 +7FC0 +0400 +0400 +FFE0 +0800 +1080 +3FC0 +1040 +ENDCHAR +STARTCHAR U_4E23 +ENCODING 20003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +0A00 +7BC0 +4A40 +4A40 +7BC0 +0A00 +1200 +1200 +2200 +ENDCHAR +STARTCHAR U_4E24 +ENCODING 20004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1200 +1200 +7FC0 +5240 +5240 +5B40 +64C0 +4840 +4040 +40C0 +ENDCHAR +STARTCHAR U_4E25 +ENCODING 20005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +7FC0 +0A00 +4A40 +2A80 +0A00 +7FC0 +4000 +4000 +4000 +4000 +8000 +ENDCHAR +STARTCHAR U_4E26 +ENCODING 20006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +FFE0 +0A00 +4A40 +4A40 +2A40 +2A80 +0A00 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_4E27 +ENCODING 20007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +2480 +1500 +FFE0 +2440 +2280 +2100 +2C80 +3060 +ENDCHAR +STARTCHAR U_4E28 +ENCODING 20008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 1 11 6 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_4E29 +ENCODING 20009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 3 -1 +BITMAP +08 +88 +88 +88 +88 +98 +E8 +88 +08 +08 +08 +ENDCHAR +STARTCHAR U_4E2A +ENCODING 20010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +1400 +2200 +4900 +88C0 +0800 +0800 +0800 +0800 +0800 +ENDCHAR +STARTCHAR U_4E2B +ENCODING 20011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +8080 +4100 +2200 +2400 +0800 +0800 +0800 +0800 +0800 +0800 +0800 +ENDCHAR +STARTCHAR U_4E2C +ENCODING 20012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 1 -1 +BITMAP +04 +44 +24 +24 +04 +14 +24 +C4 +44 +04 +04 +ENDCHAR +STARTCHAR U_4E2D +ENCODING 20013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +FF80 +8880 +8880 +8880 +FF80 +8880 +0800 +0800 +0800 +ENDCHAR +STARTCHAR U_4E2E +ENCODING 20014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF80 +0880 +0880 +7E80 +0880 +0880 +FF80 +08A0 +08A0 +0860 +0820 +ENDCHAR +STARTCHAR U_4E2F +ENCODING 20015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0580 +0E00 +7440 +0580 +0E00 +7460 +0580 +1E00 +E400 +0400 +ENDCHAR +STARTCHAR U_4E30 +ENCODING 20016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +0400 +0400 +3F80 +0400 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_4E31 +ENCODING 20017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +9240 +9240 +9240 +9240 +B3C0 +D240 +1200 +2200 +4200 +8200 +ENDCHAR +STARTCHAR U_4E32 +ENCODING 20018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +7F00 +4900 +7F00 +0800 +FF80 +8880 +8880 +FF80 +0800 +0800 +ENDCHAR +STARTCHAR U_4E33 +ENCODING 20019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +7F80 +5280 +7F80 +1200 +FFC0 +9240 +FFC0 +1200 +2200 +C200 +ENDCHAR +STARTCHAR U_4E34 +ENCODING 20020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +A7E0 +A800 +B100 +A080 +AFE0 +A920 +A920 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_4E35 +ENCODING 20021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +4A40 +2A80 +FFE0 +1100 +0A00 +7FC0 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_4E36 +ENCODING 20022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 4 4 3 +BITMAP +80 +40 +20 +20 +ENDCHAR +STARTCHAR U_4E37 +ENCODING 20023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 5 1 3 +BITMAP +80C0 +4080 +3100 +1200 +0400 +ENDCHAR +STARTCHAR U_4E38 +ENCODING 20024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +7F00 +0900 +0900 +2900 +1900 +1500 +2520 +4120 +80E0 +ENDCHAR +STARTCHAR U_4E39 +ENCODING 20025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +1080 +1480 +1280 +1080 +FFE0 +1080 +1080 +1080 +2080 +4380 +ENDCHAR +STARTCHAR U_4E3A +ENCODING 20026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +4800 +2800 +0800 +FF80 +0880 +0C80 +1280 +1280 +2080 +4480 +8300 +ENDCHAR +STARTCHAR U_4E3B +ENCODING 20027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +0400 +0400 +0400 +7FC0 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_4E3C +ENCODING 20028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7FE0 +1100 +1900 +1500 +FFE0 +1100 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_4E3D +ENCODING 20029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0000 +7BC0 +4A40 +4A40 +6B40 +5AC0 +4A40 +4A40 +4A40 +5AC0 +ENDCHAR +STARTCHAR U_4E3E +ENCODING 20030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +2480 +FFE0 +1100 +2480 +5F40 +8420 +0400 +7FC0 +0400 +0400 +ENDCHAR +STARTCHAR U_4E3F +ENCODING 20031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 3 -1 +BITMAP +10 +10 +10 +10 +10 +10 +10 +20 +20 +40 +80 +ENDCHAR +STARTCHAR U_4E40 +ENCODING 20032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 9 0 0 +BITMAP +2000 +2000 +5000 +8800 +0400 +0200 +0100 +00E0 +0040 +ENDCHAR +STARTCHAR U_4E41 +ENCODING 20033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FC00 +0400 +0400 +0400 +0400 +0200 +0200 +0100 +0080 +0060 +ENDCHAR +STARTCHAR U_4E42 +ENCODING 20034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +2080 +2080 +1100 +1100 +1200 +0A00 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_4E43 +ENCODING 20035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0880 +0880 +0900 +13E0 +1020 +1020 +2020 +2020 +4240 +8180 +ENDCHAR +STARTCHAR U_4E44 +ENCODING 20036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 0 0 +BITMAP +0040 +0040 +0080 +0880 +0500 +0300 +0280 +8440 +9840 +E000 +ENDCHAR +STARTCHAR U_4E45 +ENCODING 20037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +1F00 +2100 +4200 +0200 +0400 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_4E46 +ENCODING 20038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1100 +1100 +2100 +3E00 +0200 +0500 +0900 +1080 +2040 +C020 +ENDCHAR +STARTCHAR U_4E47 +ENCODING 20039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +0600 +F800 +0800 +0800 +0FC0 +F800 +0800 +0820 +0820 +07E0 +ENDCHAR +STARTCHAR U_4E48 +ENCODING 20040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0800 +1100 +2100 +4200 +8400 +0880 +1040 +7FE0 +2020 +ENDCHAR +STARTCHAR U_4E49 +ENCODING 20041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +2480 +2480 +2100 +1100 +1200 +0A00 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_4E4A +ENCODING 20042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 1 +BITMAP +01E0 +FE00 +0000 +0040 +4040 +2080 +1080 +1100 +ENDCHAR +STARTCHAR U_4E4B +ENCODING 20043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +7FC0 +0080 +0100 +0200 +0400 +0800 +3000 +4800 +87E0 +ENDCHAR +STARTCHAR U_4E4C +ENCODING 20044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1F80 +1080 +1080 +1180 +1000 +1FE0 +0020 +FF20 +0020 +00C0 +ENDCHAR +STARTCHAR U_4E4D +ENCODING 20045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +1FE0 +2400 +4400 +87C0 +0400 +0400 +07C0 +0400 +0400 +ENDCHAR +STARTCHAR U_4E4E +ENCODING 20046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E00 +2440 +1480 +1500 +FFE0 +0400 +0400 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_4E4F +ENCODING 20047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0300 +FC00 +0800 +0400 +7F00 +0200 +0400 +0800 +3000 +4800 +87C0 +ENDCHAR +STARTCHAR U_4E50 +ENCODING 20048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0380 +7C00 +4000 +4400 +4400 +7FC0 +0400 +2500 +4480 +8440 +0C00 +ENDCHAR +STARTCHAR U_4E51 +ENCODING 20049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FC00 +0440 +1480 +2500 +4600 +1600 +2500 +4480 +8460 +0440 +ENDCHAR +STARTCHAR U_4E52 +ENCODING 20050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +1E00 +1000 +1FC0 +1100 +1100 +FFE0 +0000 +0800 +1000 +6000 +ENDCHAR +STARTCHAR U_4E53 +ENCODING 20051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +1E00 +1000 +1FC0 +1100 +1100 +FFE0 +0000 +0100 +0080 +0060 +ENDCHAR +STARTCHAR U_4E54 +ENCODING 20052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E00 +0800 +FFE0 +1100 +2080 +D160 +1100 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_4E55 +ENCODING 20053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01E0 +7E00 +4200 +5FC0 +4200 +7FE0 +4200 +5FC0 +5240 +92C0 +8200 +ENDCHAR +STARTCHAR U_4E56 +ENCODING 20054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E00 +0400 +FFE0 +1500 +7540 +1580 +3520 +D4E0 +0400 +0400 +ENDCHAR +STARTCHAR U_4E57 +ENCODING 20055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E00 +0400 +7FC0 +1500 +FFE0 +1500 +7FC0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_4E58 +ENCODING 20056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +7C00 +0400 +FFE0 +1540 +75A0 +1520 +FEE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_4E59 +ENCODING 20057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +0100 +0200 +0400 +0800 +1000 +2000 +4000 +8040 +8040 +7FC0 +ENDCHAR +STARTCHAR U_4E5A +ENCODING 20058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +82 +82 +82 +7E +ENDCHAR +STARTCHAR U_4E5B +ENCODING 20059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 3 0 6 +BITMAP +FFE0 +0040 +0080 +ENDCHAR +STARTCHAR U_4E5C +ENCODING 20060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1040 +13C0 +1C40 +F040 +1040 +1280 +1100 +1020 +1020 +0FE0 +ENDCHAR +STARTCHAR U_4E5D +ENCODING 20061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +1000 +1000 +FE00 +1200 +1200 +1200 +2200 +2240 +4240 +81C0 +ENDCHAR +STARTCHAR U_4E5E +ENCODING 20062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +2000 +3F80 +4000 +BE00 +0400 +0800 +1000 +2040 +2040 +1FC0 +ENDCHAR +STARTCHAR U_4E5F +ENCODING 20063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +24C0 +2740 +3C40 +E440 +2540 +2480 +2420 +2020 +1FE0 +ENDCHAR +STARTCHAR U_4E60 +ENCODING 20064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +0080 +2080 +1080 +1080 +0280 +0C80 +3080 +C080 +0480 +0300 +ENDCHAR +STARTCHAR U_4E61 +ENCODING 20065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +1000 +2200 +7C00 +0880 +1100 +7F00 +0200 +0400 +1800 +E000 +ENDCHAR +STARTCHAR U_4E62 +ENCODING 20066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +2200 +2200 +AA00 +AA00 +AA00 +AA00 +AA00 +BA40 +EA40 +81C0 +ENDCHAR +STARTCHAR U_4E63 +ENCODING 20067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2200 +2200 +4200 +8A00 +F200 +1200 +2200 +4200 +9240 +FA40 +09C0 +ENDCHAR +STARTCHAR U_4E64 +ENCODING 20068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0480 +0460 +0420 +FF80 +0100 +0600 +3820 +4020 +3FE0 +ENDCHAR +STARTCHAR U_4E65 +ENCODING 20069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +FC40 +2080 +1100 +0000 +FFC0 +0300 +0C00 +3020 +4020 +3FE0 +ENDCHAR +STARTCHAR U_4E66 +ENCODING 20070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +0860 +7FA0 +0880 +0880 +FFE0 +0820 +0820 +0940 +0880 +0800 +ENDCHAR +STARTCHAR U_4E67 +ENCODING 20071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +4A00 +2200 +0FE0 +F200 +0200 +FF80 +0C00 +3000 +4020 +3FE0 +ENDCHAR +STARTCHAR U_4E68 +ENCODING 20072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +4900 +FD00 +0500 +7900 +4900 +4920 +4920 +78E0 +ENDCHAR +STARTCHAR U_4E69 +ENCODING 20073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +3D00 +2100 +2100 +FD00 +8500 +8500 +8520 +FD20 +84E0 +ENDCHAR +STARTCHAR U_4E6A +ENCODING 20074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F000 +17C0 +1540 +2540 +27C0 +4540 +4540 +47C0 +8020 +8020 +7FE0 +ENDCHAR +STARTCHAR U_4E6B +ENCODING 20075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FDE0 +2520 +2520 +55E0 +8800 +FFC0 +0700 +3820 +4020 +3FE0 +ENDCHAR +STARTCHAR U_4E6C +ENCODING 20076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4000 +7F80 +4080 +7F80 +4000 +FFE0 +0700 +3800 +4020 +3FE0 +ENDCHAR +STARTCHAR U_4E6D +ENCODING 20077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1000 +3FC0 +5040 +9FC0 +0000 +7F80 +0600 +1800 +2020 +1FE0 +ENDCHAR +STARTCHAR U_4E6E +ENCODING 20078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3800 +43C0 +4A40 +7A40 +4AC0 +1200 +FF80 +0C00 +3020 +4020 +3FE0 +ENDCHAR +STARTCHAR U_4E6F +ENCODING 20079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C80 +1500 +FFE0 +0400 +0400 +7F80 +0600 +1800 +2020 +1FE0 +ENDCHAR +STARTCHAR U_4E70 +ENCODING 20080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0040 +2480 +1400 +4400 +2400 +FFE0 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_4E71 +ENCODING 20081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0D00 +7100 +1100 +FF00 +1100 +1100 +7D00 +4500 +4520 +7D20 +44E0 +ENDCHAR +STARTCHAR U_4E72 +ENCODING 20082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +0940 +2300 +C480 +4860 +3F80 +0600 +1800 +2020 +1FE0 +ENDCHAR +STARTCHAR U_4E73 +ENCODING 20083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F00 +F500 +5500 +2900 +FD00 +0900 +1100 +1D00 +F120 +1120 +30E0 +ENDCHAR +STARTCHAR U_4E74 +ENCODING 20084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +FB80 +1200 +FBE0 +1240 +2440 +FFC0 +0300 +3C00 +4040 +3FC0 +ENDCHAR +STARTCHAR U_4E75 +ENCODING 20085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +1100 +FF00 +4500 +2900 +FD00 +1100 +7D00 +1120 +1120 +10E0 +ENDCHAR +STARTCHAR U_4E76 +ENCODING 20086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +FFE0 +2480 +3F80 +2480 +3F80 +2480 +FF80 +1C20 +2020 +3FE0 +ENDCHAR +STARTCHAR U_4E77 +ENCODING 20087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2540 +8520 +4940 +2180 +CE00 +0000 +FF80 +1800 +2020 +3FE0 +ENDCHAR +STARTCHAR U_4E78 +ENCODING 20088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +A2A0 +BAA0 +EFE0 +AAA0 +AAA0 +ABE0 +9840 +8020 +7FE0 +ENDCHAR +STARTCHAR U_4E79 +ENCODING 20089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FA00 +2200 +FA00 +8A00 +FA00 +8A00 +FA20 +2220 +FA20 +21E0 +ENDCHAR +STARTCHAR U_4E7A +ENCODING 20090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +38C0 +4300 +7A00 +4BE0 +7A40 +4240 +8440 +7F00 +1820 +2020 +1FE0 +ENDCHAR +STARTCHAR U_4E7B +ENCODING 20091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +2140 +3A20 +4C80 +4940 +9080 +7FC0 +0C00 +1020 +1FE0 +ENDCHAR +STARTCHAR U_4E7C +ENCODING 20092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8100 +47C0 +2100 +4FE0 +8000 +7FC0 +0C00 +1020 +1FE0 +ENDCHAR +STARTCHAR U_4E7D +ENCODING 20093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +3F80 +0500 +FFE0 +1880 +EF80 +0880 +7F80 +0620 +1820 +0FE0 +ENDCHAR +STARTCHAR U_4E7E +ENCODING 20094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FD00 +21E0 +FA00 +8BC0 +F840 +8880 +F900 +2220 +FA20 +21E0 +ENDCHAR +STARTCHAR U_4E7F +ENCODING 20095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +EA80 +5480 +2480 +7880 +2480 +7E80 +0880 +2CA0 +4AA0 +9960 +ENDCHAR +STARTCHAR U_4E80 +ENCODING 20096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3E00 +4200 +FF00 +4900 +7F00 +4900 +FF80 +8880 +FF80 +0840 +0FC0 +ENDCHAR +STARTCHAR U_4E81 +ENCODING 20097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +10E0 +7D00 +4600 +7DE0 +4440 +FC80 +1120 +FE20 +11E0 +ENDCHAR +STARTCHAR U_4E82 +ENCODING 20098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +5500 +FD00 +2900 +FD00 +A500 +FD00 +AD00 +9520 +AD20 +84E0 +ENDCHAR +STARTCHAR U_4E83 +ENCODING 20099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9280 +5480 +FE80 +5480 +9280 +4480 +7E80 +D480 +3FA0 +44A0 +8460 +ENDCHAR +STARTCHAR U_4E84 +ENCODING 20100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +1080 +FE80 +8280 +BA80 +0080 +7C80 +4480 +7CA0 +28A0 +FE60 +ENDCHAR +STARTCHAR U_4E85 +ENCODING 20101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 11 4 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR U_4E86 +ENCODING 20102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +0100 +0200 +0C00 +0800 +0800 +0800 +0800 +0800 +2800 +1000 +ENDCHAR +STARTCHAR U_4E87 +ENCODING 20103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +1FE0 +2240 +4280 +8200 +0200 +0200 +0200 +0200 +0E00 +ENDCHAR +STARTCHAR U_4E88 +ENCODING 20104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0100 +0A00 +0400 +FFE0 +0440 +0480 +0400 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_4E89 +ENCODING 20105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F00 +2200 +7FC0 +0440 +FFE0 +0440 +7FC0 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_4E8A +ENCODING 20106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2480 +1500 +7FC0 +0440 +FFE0 +0440 +7FC0 +0400 +0C00 +ENDCHAR +STARTCHAR U_4E8B +ENCODING 20107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +2480 +7FC0 +0440 +FFE0 +0440 +7FC0 +0400 +1C00 +ENDCHAR +STARTCHAR U_4E8C +ENCODING 20108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 0 +BITMAP +7FC0 +0000 +0000 +0000 +0000 +0000 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4E8D +ENCODING 20109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0000 +0000 +FFE0 +0200 +0200 +0200 +0200 +0200 +0A00 +0400 +ENDCHAR +STARTCHAR U_4E8E +ENCODING 20110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +0400 +FFE0 +0400 +0400 +0400 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_4E8F +ENCODING 20111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0000 +0000 +FFE0 +0800 +1000 +3FC0 +0040 +0040 +0480 +0300 +ENDCHAR +STARTCHAR U_4E90 +ENCODING 20112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0800 +0800 +FFE0 +1000 +3F80 +0080 +0080 +0080 +0500 +0200 +ENDCHAR +STARTCHAR U_4E91 +ENCODING 20113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0000 +0000 +0000 +FFE0 +0800 +1000 +1100 +2080 +7FC0 +2040 +ENDCHAR +STARTCHAR U_4E92 +ENCODING 20114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +0800 +0F80 +1080 +1080 +1080 +3F00 +0100 +0100 +FFE0 +ENDCHAR +STARTCHAR U_4E93 +ENCODING 20115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0000 +0000 +0000 +FFE0 +1100 +1100 +1100 +2100 +2100 +4100 +ENDCHAR +STARTCHAR U_4E94 +ENCODING 20116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FC0 +0400 +0400 +0400 +3F80 +0880 +0880 +0880 +0880 +FFE0 +ENDCHAR +STARTCHAR U_4E95 +ENCODING 20117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +1200 +FFC0 +1200 +1200 +1200 +FFC0 +2200 +2200 +4200 +8200 +ENDCHAR +STARTCHAR U_4E96 +ENCODING 20118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +3F80 +0000 +0000 +FFE0 +0000 +0000 +3F80 +0000 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4E97 +ENCODING 20119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +2480 +2480 +3F80 +0000 +0000 +3F80 +0000 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4E98 +ENCODING 20120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0000 +3F80 +2080 +2080 +3F80 +2080 +2080 +3F80 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4E99 +ENCODING 20121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +1000 +1000 +1F00 +2900 +2500 +5200 +4A00 +0400 +0400 +FFC0 +ENDCHAR +STARTCHAR U_4E9A +ENCODING 20122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FC0 +0A00 +0A00 +4A40 +2A40 +2A80 +2A80 +0A00 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_4E9B +ENCODING 20123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1240 +5A80 +5320 +5220 +5A20 +E1E0 +0000 +3F80 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4E9C +ENCODING 20124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +4A40 +4A40 +7FC0 +0A00 +0A00 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_4E9D +ENCODING 20125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1100 +3F00 +0000 +2100 +4A40 +FBE0 +0020 +3F80 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4E9E +ENCODING 20126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +1100 +1100 +71C0 +4040 +4040 +71C0 +1100 +1100 +FFE0 +ENDCHAR +STARTCHAR U_4E9F +ENCODING 20127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0200 +0400 +75C0 +5540 +5480 +7540 +0640 +1400 +0800 +FFE0 +ENDCHAR +STARTCHAR U_4EA0 +ENCODING 20128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 4 0 6 +BITMAP +0800 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_4EA1 +ENCODING 20129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0600 +0200 +FFE0 +2000 +2000 +2000 +2000 +2000 +2000 +3FC0 +ENDCHAR +STARTCHAR U_4EA2 +ENCODING 20130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +FFE0 +0000 +1F00 +1100 +1100 +1100 +1120 +2120 +40E0 +ENDCHAR +STARTCHAR U_4EA3 +ENCODING 20131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +1100 +1100 +1100 +1100 +2100 +2100 +4100 +8100 +ENDCHAR +STARTCHAR U_4EA4 +ENCODING 20132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0000 +1100 +2080 +5140 +1100 +0A00 +0400 +1B00 +60E0 +ENDCHAR +STARTCHAR U_4EA5 +ENCODING 20133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0400 +FFC0 +1000 +2200 +7C80 +0900 +3200 +C600 +1900 +E0C0 +ENDCHAR +STARTCHAR U_4EA6 +ENCODING 20134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +FFE0 +0900 +2940 +2920 +4920 +0900 +1100 +2100 +4700 +ENDCHAR +STARTCHAR U_4EA7 +ENCODING 20135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +1080 +0900 +3FE0 +2000 +2000 +2000 +4000 +4000 +8000 +ENDCHAR +STARTCHAR U_4EA8 +ENCODING 20136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +3F80 +0000 +7FC0 +0100 +0600 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_4EA9 +ENCODING 20137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +0000 +3F80 +2480 +3F80 +2480 +2480 +3F80 +2080 +ENDCHAR +STARTCHAR U_4EAA +ENCODING 20138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +5140 +9120 +6300 +0000 +7F80 +0080 +0080 +0060 +ENDCHAR +STARTCHAR U_4EAB +ENCODING 20139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +2080 +3F80 +0000 +3F80 +0100 +7FE0 +0200 +0200 +0E00 +ENDCHAR +STARTCHAR U_4EAC +ENCODING 20140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0000 +3F80 +2080 +2080 +3F80 +0400 +2480 +4440 +8C20 +ENDCHAR +STARTCHAR U_4EAD +ENCODING 20141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +3F80 +0000 +FFE0 +8020 +BFA0 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_4EAE +ENCODING 20142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +1F00 +0000 +FFE0 +8020 +1F00 +1100 +2120 +C0E0 +ENDCHAR +STARTCHAR U_4EAF +ENCODING 20143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +2080 +3F80 +0000 +7FC0 +4040 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_4EB0 +ENCODING 20144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0000 +3F80 +2080 +3F80 +2080 +3F80 +2480 +4440 +8C20 +ENDCHAR +STARTCHAR U_4EB1 +ENCODING 20145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +1000 +27C0 +6440 +A7C0 +2440 +27C0 +2000 +2FE0 +ENDCHAR +STARTCHAR U_4EB2 +ENCODING 20146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +0A00 +FFE0 +0400 +7FC0 +0400 +2480 +4440 +8C20 +ENDCHAR +STARTCHAR U_4EB3 +ENCODING 20147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +3F80 +0000 +FFE0 +8320 +3C00 +07C0 +7C20 +03E0 +ENDCHAR +STARTCHAR U_4EB4 +ENCODING 20148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +FFE0 +8420 +7FC0 +0800 +7F00 +0920 +1120 +E1E0 +ENDCHAR +STARTCHAR U_4EB5 +ENCODING 20149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +2200 +FF80 +2A80 +76A0 +A960 +3480 +E300 +2900 +70E0 +ENDCHAR +STARTCHAR U_4EB6 +ENCODING 20150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +5140 +5F40 +4040 +7FC0 +2080 +3E80 +2780 +2080 +FFE0 +ENDCHAR +STARTCHAR U_4EB7 +ENCODING 20151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +7FE0 +4A80 +7FE0 +4A80 +7F80 +5B00 +AA80 +CA60 +ENDCHAR +STARTCHAR U_4EB8 +ENCODING 20152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +FA80 +57C0 +7540 +07C0 +F540 +17C0 +2100 +FFE0 +2100 +6100 +ENDCHAR +STARTCHAR U_4EB9 +ENCODING 20153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +60C0 +4E40 +6AC0 +4A40 +FFE0 +A0A0 +3F80 +2080 +FFE0 +ENDCHAR +STARTCHAR U_4EBA +ENCODING 20154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +0400 +0400 +0400 +0A00 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_4EBB +ENCODING 20155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 0 -1 +BITMAP +10 +10 +20 +20 +60 +A0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR U_4EBC +ENCODING 20156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +0A00 +0A00 +1100 +1080 +2060 +4040 +0000 +FFE0 +ENDCHAR +STARTCHAR U_4EBD +ENCODING 20157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +0400 +0400 +0A00 +1100 +2080 +C060 +0800 +0400 +0200 +0200 +ENDCHAR +STARTCHAR U_4EBE +ENCODING 20158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +8400 +8400 +8400 +8400 +8A00 +8A00 +9100 +A0C0 +8000 +FFE0 +ENDCHAR +STARTCHAR U_4EBF +ENCODING 20159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2080 +2100 +6200 +A200 +2400 +2400 +2820 +2820 +27E0 +ENDCHAR +STARTCHAR U_4EC0 +ENCODING 20160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +2100 +6FE0 +A100 +2100 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_4EC1 +ENCODING 20161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +27C0 +2000 +6000 +A000 +2000 +2000 +2000 +2FE0 +2000 +ENDCHAR +STARTCHAR U_4EC2 +ENCODING 20162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2200 +2FE0 +6220 +A220 +2220 +2220 +2420 +2820 +30C0 +ENDCHAR +STARTCHAR U_4EC3 +ENCODING 20163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2080 +2080 +6080 +A080 +2080 +2080 +2080 +2280 +2100 +ENDCHAR +STARTCHAR U_4EC4 +ENCODING 20164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4200 +4200 +4200 +4200 +4200 +4200 +4500 +4880 +5060 +A040 +ENDCHAR +STARTCHAR U_4EC5 +ENCODING 20165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FC0 +2440 +2440 +6440 +A280 +2280 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4EC6 +ENCODING 20166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +1200 +2300 +2280 +6260 +A220 +2200 +2200 +2200 +2200 +ENDCHAR +STARTCHAR U_4EC7 +ENCODING 20167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2200 +2F80 +6280 +A280 +2280 +2480 +24A0 +28A0 +3060 +ENDCHAR +STARTCHAR U_4EC8 +ENCODING 20168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1480 +2480 +2480 +6480 +A480 +2480 +2840 +2840 +2820 +3020 +ENDCHAR +STARTCHAR U_4EC9 +ENCODING 20169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1780 +1480 +1480 +2480 +6480 +A480 +2480 +2480 +24A0 +28A0 +3060 +ENDCHAR +STARTCHAR U_4ECA +ENCODING 20170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2480 +C260 +0000 +3F80 +0100 +0200 +0200 +0400 +ENDCHAR +STARTCHAR U_4ECB +ENCODING 20171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2080 +D160 +1100 +1100 +1100 +2100 +2100 +4100 +ENDCHAR +STARTCHAR U_4ECC +ENCODING 20172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0A00 +1100 +2480 +4440 +0A00 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_4ECD +ENCODING 20173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2440 +2480 +4480 +45E0 +C420 +4420 +4420 +4820 +48A0 +5040 +ENDCHAR +STARTCHAR U_4ECE +ENCODING 20174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +1100 +1100 +1100 +1100 +2A80 +2A80 +4440 +8840 +1020 +ENDCHAR +STARTCHAR U_4ECF +ENCODING 20175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +6200 +A200 +2200 +2400 +2480 +2840 +2FE0 +2020 +ENDCHAR +STARTCHAR U_4ED0 +ENCODING 20176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0A00 +1100 +2080 +C460 +0400 +7FC0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_4ED1 +ENCODING 20177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2080 +D060 +1100 +1200 +1C00 +1040 +1040 +0FC0 +ENDCHAR +STARTCHAR U_4ED2 +ENCODING 20178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0800 +0800 +1400 +1200 +2100 +48C0 +8400 +0200 +1800 +0400 +0200 +ENDCHAR +STARTCHAR U_4ED3 +ENCODING 20179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0600 +0900 +1080 +3F40 +D120 +1500 +1200 +1040 +1040 +0FC0 +ENDCHAR +STARTCHAR U_4ED4 +ENCODING 20180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2080 +2100 +6100 +AFE0 +2100 +2100 +2100 +2100 +2700 +ENDCHAR +STARTCHAR U_4ED5 +ENCODING 20181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +2100 +6FE0 +A100 +2100 +2100 +2100 +2100 +27C0 +ENDCHAR +STARTCHAR U_4ED6 +ENCODING 20182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2540 +25C0 +6F40 +A540 +2540 +2580 +2520 +2420 +23E0 +ENDCHAR +STARTCHAR U_4ED7 +ENCODING 20183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +2FE0 +2080 +6480 +A280 +2280 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4ED8 +ENCODING 20184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +2080 +2FE0 +6080 +A480 +2280 +2280 +2080 +2080 +2380 +ENDCHAR +STARTCHAR U_4ED9 +ENCODING 20185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +2920 +6920 +A920 +2920 +2920 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_4EDA +ENCODING 20186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2480 +C460 +0400 +4440 +4440 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_4EDB +ENCODING 20187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +11C0 +2E00 +6200 +A200 +23E0 +3E00 +2200 +2200 +2220 +21E0 +ENDCHAR +STARTCHAR U_4EDC +ENCODING 20188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2100 +2100 +6100 +A100 +2100 +2100 +2100 +2FE0 +2000 +ENDCHAR +STARTCHAR U_4EDD +ENCODING 20189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2080 +C060 +3F80 +0400 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_4EDE +ENCODING 20190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17E0 +2120 +2120 +6520 +A520 +2920 +2220 +2220 +2420 +28C0 +ENDCHAR +STARTCHAR U_4EDF +ENCODING 20191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +1700 +2100 +2100 +6100 +AFE0 +2100 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_4EE0 +ENCODING 20192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +2100 +6100 +A100 +2FE0 +2100 +2100 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_4EE1 +ENCODING 20193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +27E0 +2800 +67C0 +A040 +2180 +2200 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_4EE2 +ENCODING 20194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2400 +2400 +4FC0 +C840 +5040 +4440 +4340 +4140 +4040 +4040 +41C0 +ENDCHAR +STARTCHAR U_4EE3 +ENCODING 20195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +1240 +2200 +23E0 +6E00 +A200 +2200 +2100 +2120 +20A0 +2060 +ENDCHAR +STARTCHAR U_4EE4 +ENCODING 20196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0A00 +1100 +2480 +C260 +3F80 +0100 +0A00 +0400 +0200 +ENDCHAR +STARTCHAR U_4EE5 +ENCODING 20197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0100 +8100 +9100 +8900 +8900 +8100 +9100 +A100 +C280 +8440 +1840 +ENDCHAR +STARTCHAR U_4EE6 +ENCODING 20198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +6540 +A540 +2520 +2920 +2920 +2100 +2100 +2700 +ENDCHAR +STARTCHAR U_4EE7 +ENCODING 20199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0780 +0400 +0400 +FFE0 +0400 +0600 +0900 +1080 +6060 +ENDCHAR +STARTCHAR U_4EE8 +ENCODING 20200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +2FE0 +2000 +6000 +A000 +27C0 +2000 +2000 +2000 +2FE0 +ENDCHAR +STARTCHAR U_4EE9 +ENCODING 20201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2200 +2200 +63C0 +A200 +2200 +2200 +2200 +2200 +3FE0 +ENDCHAR +STARTCHAR U_4EEA +ENCODING 20202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1140 +2940 +2840 +6440 +A480 +2280 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4EEB +ENCODING 20203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2200 +2280 +6480 +A900 +2100 +2240 +2420 +2FE0 +2420 +ENDCHAR +STARTCHAR U_4EEC +ENCODING 20204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +22E0 +4A20 +4820 +C820 +4820 +4820 +4820 +4820 +4820 +4860 +ENDCHAR +STARTCHAR U_4EED +ENCODING 20205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FC0 +2240 +6240 +B240 +2E40 +2340 +24E0 +2440 +2840 +31C0 +ENDCHAR +STARTCHAR U_4EEE +ENCODING 20206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +1780 +2400 +2400 +67E0 +A620 +2520 +2540 +2880 +2940 +3220 +ENDCHAR +STARTCHAR U_4EEF +ENCODING 20207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2280 +2A40 +6A20 +AA20 +3240 +2240 +2080 +2300 +2C00 +ENDCHAR +STARTCHAR U_4EF0 +ENCODING 20208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1DE0 +2920 +2920 +6920 +A920 +2B20 +2D20 +2960 +2100 +2100 +ENDCHAR +STARTCHAR U_4EF1 +ENCODING 20209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2500 +2880 +7260 +A100 +2FC0 +2080 +2080 +2100 +2200 +ENDCHAR +STARTCHAR U_4EF2 +ENCODING 20210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +2FE0 +6920 +A920 +2FE0 +2920 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_4EF3 +ENCODING 20211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +1480 +2480 +24A0 +67C0 +A480 +2480 +2480 +25A0 +26A0 +2460 +ENDCHAR +STARTCHAR U_4EF4 +ENCODING 20212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1420 +2420 +27E0 +6420 +A420 +27E0 +2420 +2420 +2820 +30E0 +ENDCHAR +STARTCHAR U_4EF5 +ENCODING 20213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +1400 +27C0 +2900 +6100 +A100 +3FE0 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_4EF6 +ENCODING 20214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1500 +2500 +2FC0 +7100 +A100 +2FE0 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_4EF7 +ENCODING 20215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1300 +2480 +3860 +6480 +A480 +2480 +2480 +2480 +2880 +3080 +ENDCHAR +STARTCHAR U_4EF8 +ENCODING 20216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +1780 +1100 +2100 +2FE0 +6100 +A300 +2280 +2480 +2840 +3020 +ENDCHAR +STARTCHAR U_4EF9 +ENCODING 20217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2100 +6100 +A7C0 +2100 +2100 +3FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_4EFA +ENCODING 20218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0A00 +1100 +2080 +DF60 +1000 +1F00 +1000 +1000 +1F80 +ENDCHAR +STARTCHAR U_4EFB +ENCODING 20219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +1700 +2100 +2100 +6100 +AFE0 +2100 +2100 +2100 +2100 +27C0 +ENDCHAR +STARTCHAR U_4EFC +ENCODING 20220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +2FE0 +2100 +2100 +67C0 +A100 +2100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4EFD +ENCODING 20221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1280 +2240 +2440 +6820 +A7C0 +2240 +2240 +2240 +2440 +28C0 +ENDCHAR +STARTCHAR U_4EFE +ENCODING 20222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2200 +2200 +63E0 +A440 +2440 +2FC0 +2080 +2080 +3FE0 +ENDCHAR +STARTCHAR U_4EFF +ENCODING 20223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2200 +6200 +A3C0 +2240 +2240 +2440 +2440 +2980 +ENDCHAR +STARTCHAR U_4F00 +ENCODING 20224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1480 +2480 +2440 +6940 +A920 +3200 +2200 +2440 +2FE0 +2420 +ENDCHAR +STARTCHAR U_4F01 +ENCODING 20225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0600 +0900 +1080 +2260 +C200 +1380 +1200 +1200 +1200 +7FE0 +ENDCHAR +STARTCHAR U_4F02 +ENCODING 20226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2100 +6FE0 +A920 +2920 +2920 +2960 +2100 +2100 +ENDCHAR +STARTCHAR U_4F03 +ENCODING 20227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2080 +2300 +6100 +AFE0 +2140 +2100 +2100 +2500 +2200 +ENDCHAR +STARTCHAR U_4F04 +ENCODING 20228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1140 +2140 +2FC0 +6900 +A900 +2FE0 +2120 +21A0 +2140 +2100 +ENDCHAR +STARTCHAR U_4F05 +ENCODING 20229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2100 +6920 +A920 +2FE0 +2100 +2120 +2120 +20E0 +ENDCHAR +STARTCHAR U_4F06 +ENCODING 20230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +1400 +27E0 +2AA0 +62A0 +A520 +2520 +2920 +2220 +2420 +20C0 +ENDCHAR +STARTCHAR U_4F07 +ENCODING 20231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1780 +2480 +2480 +6860 +B780 +2480 +2280 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_4F08 +ENCODING 20232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1080 +2080 +2200 +6200 +AA40 +2A20 +3220 +2240 +2240 +21C0 +ENDCHAR +STARTCHAR U_4F09 +ENCODING 20233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2000 +6780 +A480 +2480 +2480 +24A0 +28A0 +3060 +ENDCHAR +STARTCHAR U_4F0A +ENCODING 20234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2240 +2240 +6FE0 +A240 +2240 +2FC0 +2200 +2400 +2800 +ENDCHAR +STARTCHAR U_4F0B +ENCODING 20235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2240 +2280 +62E0 +A220 +2220 +2540 +2480 +2940 +3220 +ENDCHAR +STARTCHAR U_4F0C +ENCODING 20236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17E0 +2400 +25C0 +6540 +A540 +25C0 +2500 +2920 +2920 +30E0 +ENDCHAR +STARTCHAR U_4F0D +ENCODING 20237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2200 +2200 +6200 +AFC0 +2240 +2440 +2440 +2440 +3FE0 +ENDCHAR +STARTCHAR U_4F0E +ENCODING 20238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2100 +6100 +AFE0 +2440 +2280 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_4F0F +ENCODING 20239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1140 +2120 +2100 +6FE0 +A100 +2100 +2280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4F10 +ENCODING 20240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +1240 +2200 +23E0 +7E20 +A240 +2280 +2100 +22A0 +2C60 +2020 +ENDCHAR +STARTCHAR U_4F11 +ENCODING 20241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +3FE0 +6100 +A380 +2380 +2540 +2920 +3100 +2100 +ENDCHAR +STARTCHAR U_4F12 +ENCODING 20242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +1700 +2400 +2400 +67E0 +A480 +2480 +2480 +2480 +2880 +3080 +ENDCHAR +STARTCHAR U_4F13 +ENCODING 20243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2080 +2100 +6100 +A340 +2520 +2920 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_4F14 +ENCODING 20244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2820 +2820 +6780 +A480 +2480 +2480 +24A0 +28A0 +3060 +ENDCHAR +STARTCHAR U_4F15 +ENCODING 20245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +27C0 +2100 +6100 +AFE0 +2100 +2280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4F16 +ENCODING 20246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2FE0 +2200 +6200 +A3C0 +2640 +2540 +2880 +3340 +2C20 +ENDCHAR +STARTCHAR U_4F17 +ENCODING 20247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0A00 +1100 +2080 +D160 +1100 +1100 +2A80 +4440 +8820 +ENDCHAR +STARTCHAR U_4F18 +ENCODING 20248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +1220 +2200 +3FE0 +6200 +A300 +2300 +2500 +2520 +2920 +30E0 +ENDCHAR +STARTCHAR U_4F19 +ENCODING 20249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2120 +2540 +6580 +A900 +2100 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4F1A +ENCODING 20250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2080 +DF60 +0000 +0000 +7FC0 +0800 +1080 +3FC0 +ENDCHAR +STARTCHAR U_4F1B +ENCODING 20251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +2840 +2A40 +6980 +A880 +2940 +2A20 +2800 +2800 +2FE0 +ENDCHAR +STARTCHAR U_4F1C +ENCODING 20252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2F80 +6280 +A4A0 +38E0 +2100 +2FE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_4F1D +ENCODING 20253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2000 +2000 +6FE0 +A100 +2200 +2200 +2440 +2FE0 +2420 +ENDCHAR +STARTCHAR U_4F1E +ENCODING 20254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0A00 +3180 +C460 +2480 +1500 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_4F1F +ENCODING 20255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2100 +67C0 +A100 +2FE0 +2120 +2120 +2160 +2100 +ENDCHAR +STARTCHAR U_4F20 +ENCODING 20256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +27E0 +2100 +6FE0 +A200 +27E0 +2040 +2280 +2100 +2080 +ENDCHAR +STARTCHAR U_4F21 +ENCODING 20257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2FE0 +2400 +6500 +A900 +2FE0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_4F22 +ENCODING 20258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2480 +2880 +6FE0 +A080 +2180 +2280 +2480 +3880 +2180 +ENDCHAR +STARTCHAR U_4F23 +ENCODING 20259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FC0 +2840 +2A40 +6A40 +AA40 +2300 +2500 +2520 +2920 +30E0 +ENDCHAR +STARTCHAR U_4F24 +ENCODING 20260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +1400 +27E0 +2900 +6100 +A7E0 +2120 +2120 +2220 +24A0 +2840 +ENDCHAR +STARTCHAR U_4F25 +ENCODING 20261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +1480 +2500 +2600 +6400 +BFC0 +2500 +2500 +2480 +2540 +2620 +ENDCHAR +STARTCHAR U_4F26 +ENCODING 20262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2280 +2440 +6820 +A240 +2280 +2300 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_4F27 +ENCODING 20263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2280 +2440 +6FE0 +B440 +2440 +25C0 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_4F28 +ENCODING 20264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +27E0 +2820 +7220 +A120 +20A0 +2320 +2C20 +2020 +20C0 +ENDCHAR +STARTCHAR U_4F29 +ENCODING 20265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2000 +2FE0 +2440 +6440 +A280 +2280 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_4F2A +ENCODING 20266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +1500 +2100 +2FE0 +6220 +A320 +22A0 +24A0 +2420 +2820 +30C0 +ENDCHAR +STARTCHAR U_4F2B +ENCODING 20267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2820 +7040 +A000 +2000 +2000 +2000 +2FE0 +2000 +ENDCHAR +STARTCHAR U_4F2C +ENCODING 20268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1420 +2420 +2420 +67E0 +A480 +2480 +2480 +2840 +2840 +3020 +ENDCHAR +STARTCHAR U_4F2D +ENCODING 20269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2200 +6440 +AF80 +2100 +2200 +2440 +2FE0 +2420 +ENDCHAR +STARTCHAR U_4F2E +ENCODING 20270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +29E0 +48A0 +FEA0 +4AA0 +52A0 +52A0 +4A40 +4440 +4AA0 +5120 +ENDCHAR +STARTCHAR U_4F2F +ENCODING 20271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1200 +27E0 +2420 +6420 +A7E0 +2420 +2420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_4F30 +ENCODING 20272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +2FE0 +6100 +A100 +27C0 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_4F31 +ENCODING 20273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2500 +6880 +B240 +2220 +2A80 +2A40 +3240 +2200 +2600 +ENDCHAR +STARTCHAR U_4F32 +ENCODING 20274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1420 +2420 +27E0 +6400 +A520 +2540 +2580 +2920 +2920 +30E0 +ENDCHAR +STARTCHAR U_4F33 +ENCODING 20275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +1540 +2540 +2FE0 +6540 +A540 +2540 +25C0 +2540 +2400 +27E0 +ENDCHAR +STARTCHAR U_4F34 +ENCODING 20276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1920 +2540 +2100 +67C0 +A100 +2100 +2FE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_4F35 +ENCODING 20277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +4AA0 +CAA0 +4AA0 +4AA0 +4AA0 +4CE0 +4820 +4820 +4FE0 +ENDCHAR +STARTCHAR U_4F36 +ENCODING 20278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2280 +2440 +7920 +A080 +2FE0 +2040 +2280 +2100 +2080 +ENDCHAR +STARTCHAR U_4F37 +ENCODING 20279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4100 +CFE0 +4920 +4920 +4FE0 +4920 +4920 +4920 +4FE0 +ENDCHAR +STARTCHAR U_4F38 +ENCODING 20280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2920 +6FE0 +A920 +2920 +2FE0 +2920 +2100 +2100 +ENDCHAR +STARTCHAR U_4F39 +ENCODING 20281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2440 +6440 +A7C0 +2440 +2440 +27C0 +2440 +2440 +2FE0 +ENDCHAR +STARTCHAR U_4F3A +ENCODING 20282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17E0 +2020 +2FA0 +6020 +A720 +2520 +2520 +2720 +2020 +20E0 +ENDCHAR +STARTCHAR U_4F3B +ENCODING 20283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2100 +2920 +6520 +A540 +2FE0 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_4F3C +ENCODING 20284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2A40 +2940 +2940 +6840 +A840 +2840 +2A80 +2CC0 +3120 +2620 +ENDCHAR +STARTCHAR U_4F3D +ENCODING 20285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2800 +3EE0 +2AA0 +6AA0 +AAA0 +2AA0 +2AA0 +2AA0 +32E0 +26A0 +ENDCHAR +STARTCHAR U_4F3E +ENCODING 20286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2080 +2100 +6300 +A540 +2920 +2120 +2100 +2000 +2FE0 +ENDCHAR +STARTCHAR U_4F3F +ENCODING 20287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2440 +2440 +6440 +A7C0 +2000 +2280 +2240 +2420 +2820 +ENDCHAR +STARTCHAR U_4F40 +ENCODING 20288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FC0 +4840 +C840 +4FC0 +4800 +4FE0 +4820 +4820 +4820 +4FE0 +ENDCHAR +STARTCHAR U_4F41 +ENCODING 20289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2200 +2440 +6FE0 +A020 +27C0 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_4F42 +ENCODING 20290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +4100 +C100 +4100 +49C0 +4900 +4900 +4900 +4900 +5FE0 +ENDCHAR +STARTCHAR U_4F43 +ENCODING 20291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2920 +2920 +6920 +AFE0 +2920 +2920 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_4F44 +ENCODING 20292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2880 +4880 +FFE0 +4880 +4880 +4F80 +4880 +4880 +4880 +4F80 +ENDCHAR +STARTCHAR U_4F45 +ENCODING 20293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2FC0 +2200 +6200 +BFE0 +2700 +2A80 +3240 +2220 +2200 +ENDCHAR +STARTCHAR U_4F46 +ENCODING 20294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2440 +2440 +67C0 +A440 +2440 +27C0 +2000 +2000 +2FE0 +ENDCHAR +STARTCHAR U_4F47 +ENCODING 20295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1080 +2FE0 +2820 +6000 +AFE0 +2100 +2100 +2100 +2100 +2700 +ENDCHAR +STARTCHAR U_4F48 +ENCODING 20296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +3FE0 +2500 +6900 +AFE0 +3920 +2920 +2960 +2100 +2100 +ENDCHAR +STARTCHAR U_4F49 +ENCODING 20297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2100 +6100 +BFE0 +2200 +2280 +2440 +2FE0 +2420 +ENDCHAR +STARTCHAR U_4F4A +ENCODING 20298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4FE0 +C920 +4920 +4FC0 +4A40 +4A80 +5100 +5280 +6C60 +ENDCHAR +STARTCHAR U_4F4B +ENCODING 20299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +4220 +C220 +4540 +4880 +57E0 +4420 +4420 +4420 +47E0 +ENDCHAR +STARTCHAR U_4F4C +ENCODING 20300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +4480 +54A0 +D7C0 +5480 +5480 +5480 +56A0 +54A0 +5860 +ENDCHAR +STARTCHAR U_4F4D +ENCODING 20301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2000 +2FE0 +6000 +A440 +2240 +2280 +2080 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4F4E +ENCODING 20302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +1F00 +2900 +2900 +6900 +AFE0 +2900 +2920 +2AA0 +2D60 +28A0 +ENDCHAR +STARTCHAR U_4F4F +ENCODING 20303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2100 +6100 +A100 +27C0 +2100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4F50 +ENCODING 20304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2FE0 +2400 +6400 +A7C0 +2900 +2900 +3100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4F51 +ENCODING 20305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2FE0 +2200 +6400 +A7C0 +2C40 +3440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_4F52 +ENCODING 20306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +27C0 +2540 +6540 +A540 +2FE0 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4F53 +ENCODING 20307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +5FC0 +4200 +C700 +4A80 +5240 +6220 +4F80 +4200 +4200 +ENDCHAR +STARTCHAR U_4F54 +ENCODING 20308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +21E0 +2100 +6100 +A7C0 +2440 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_4F55 +ENCODING 20309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2040 +6F40 +A940 +2940 +2F40 +2940 +2040 +2040 +20C0 +ENDCHAR +STARTCHAR U_4F56 +ENCODING 20310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2140 +2480 +2480 +6C80 +B540 +3520 +2620 +2440 +2C40 +33C0 +ENDCHAR +STARTCHAR U_4F57 +ENCODING 20311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2820 +6400 +A480 +2500 +2600 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_4F58 +ENCODING 20312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2080 +DF60 +0000 +3FC0 +0400 +1500 +2480 +4C40 +ENDCHAR +STARTCHAR U_4F59 +ENCODING 20313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2080 +DF60 +0400 +7FC0 +0400 +1500 +2480 +4C40 +ENDCHAR +STARTCHAR U_4F5A +ENCODING 20314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1500 +2500 +2FC0 +6900 +A100 +2FE0 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4F5B +ENCODING 20315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2500 +5FC0 +C540 +5FC0 +5500 +5FE0 +4520 +45A0 +4940 +5100 +ENDCHAR +STARTCHAR U_4F5C +ENCODING 20316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +1400 +27E0 +2A00 +7200 +A3C0 +2200 +2200 +23E0 +2200 +2200 +ENDCHAR +STARTCHAR U_4F5D +ENCODING 20317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +1400 +27E0 +2820 +7720 +A520 +2520 +2720 +2020 +2020 +20E0 +ENDCHAR +STARTCHAR U_4F5E +ENCODING 20318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2000 +2FE0 +6100 +A100 +2FE0 +2240 +2480 +2380 +2E60 +ENDCHAR +STARTCHAR U_4F5F +ENCODING 20319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +13C0 +2440 +2A80 +6100 +A680 +3860 +2300 +2080 +2600 +2180 +ENDCHAR +STARTCHAR U_4F60 +ENCODING 20320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +1400 +27E0 +2820 +6100 +A540 +2540 +2920 +3120 +2120 +2300 +ENDCHAR +STARTCHAR U_4F61 +ENCODING 20321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2280 +2440 +6920 +A100 +2920 +2920 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_4F62 +ENCODING 20322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1400 +2400 +27C0 +6440 +A440 +27C0 +2400 +2400 +2400 +27E0 +ENDCHAR +STARTCHAR U_4F63 +ENCODING 20323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +2920 +2FE0 +6920 +A920 +2FE0 +2920 +2920 +2920 +3060 +ENDCHAR +STARTCHAR U_4F64 +ENCODING 20324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1400 +2400 +2780 +6480 +A680 +2580 +2880 +2AA0 +2CA0 +2860 +ENDCHAR +STARTCHAR U_4F65 +ENCODING 20325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0C00 +1200 +2100 +DEC0 +0000 +0880 +4480 +2500 +2100 +FFC0 +ENDCHAR +STARTCHAR U_4F66 +ENCODING 20326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +4200 +C200 +4400 +47E0 +4C20 +5420 +4420 +47E0 +4420 +ENDCHAR +STARTCHAR U_4F67 +ENCODING 20327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +23C0 +2200 +6200 +AFE0 +2200 +2300 +2280 +2240 +2200 +ENDCHAR +STARTCHAR U_4F68 +ENCODING 20328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2800 +4FC0 +D040 +6F40 +4940 +4F40 +48C0 +4800 +4820 +47E0 +ENDCHAR +STARTCHAR U_4F69 +ENCODING 20329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +5040 +57C0 +5140 +D7C0 +5540 +5540 +5540 +55C0 +5540 +6120 +ENDCHAR +STARTCHAR U_4F6A +ENCODING 20330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2820 +2BA0 +6AA0 +AAA0 +2BA0 +2AA0 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_4F6B +ENCODING 20331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +17C0 +2440 +2680 +6900 +A280 +2460 +3FC0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_4F6C +ENCODING 20332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1FA0 +2240 +2280 +7FE0 +A200 +24C0 +2F00 +3420 +2420 +23E0 +ENDCHAR +STARTCHAR U_4F6D +ENCODING 20333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27C0 +4C40 +D280 +4100 +4680 +5960 +47C0 +4900 +4FE0 +4100 +ENDCHAR +STARTCHAR U_4F6E +ENCODING 20334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2500 +2880 +7040 +AFA0 +2000 +2FC0 +2840 +2840 +2FC0 +ENDCHAR +STARTCHAR U_4F6F +ENCODING 20335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +1280 +2FE0 +2100 +6100 +A7C0 +2100 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_4F70 +ENCODING 20336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1100 +2200 +27C0 +6440 +A440 +27C0 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_4F71 +ENCODING 20337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2080 +DF60 +0000 +7FC0 +0400 +1780 +1400 +FFE0 +ENDCHAR +STARTCHAR U_4F72 +ENCODING 20338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2200 +23C0 +4440 +CA80 +5100 +4200 +47C0 +4C40 +5440 +4440 +47C0 +ENDCHAR +STARTCHAR U_4F73 +ENCODING 20339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17C0 +2100 +2100 +6FE0 +A100 +2100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4F74 +ENCODING 20340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1440 +2440 +27C0 +6440 +A440 +27C0 +2440 +24E0 +3F40 +2040 +ENDCHAR +STARTCHAR U_4F75 +ENCODING 20341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2840 +2480 +2FE0 +2480 +6480 +A480 +3FE0 +2480 +2480 +2880 +3080 +ENDCHAR +STARTCHAR U_4F76 +ENCODING 20342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2100 +6100 +A7C0 +2000 +27C0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_4F77 +ENCODING 20343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +27C0 +2440 +67C0 +A500 +2520 +24C0 +2480 +2540 +2620 +ENDCHAR +STARTCHAR U_4F78 +ENCODING 20344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +1700 +2100 +2100 +6FE0 +A100 +2100 +27C0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_4F79 +ENCODING 20345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +13C0 +2480 +27E0 +6C00 +A5C0 +2540 +2540 +2580 +2920 +31E0 +ENDCHAR +STARTCHAR U_4F7A +ENCODING 20346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1280 +2440 +2820 +67C0 +A100 +2100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4F7B +ENCODING 20347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +1280 +2AA0 +26C0 +6280 +A2C0 +26A0 +2A80 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_4F7C +ENCODING 20348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2280 +6440 +AAA0 +3280 +2280 +2100 +2280 +3C60 +ENDCHAR +STARTCHAR U_4F7D +ENCODING 20349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +29E0 +2620 +60A0 +A480 +3880 +2880 +2940 +2220 +2420 +ENDCHAR +STARTCHAR U_4F7E +ENCODING 20350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +1440 +2820 +27C0 +6440 +A7C0 +2440 +27C0 +2440 +2440 +25C0 +ENDCHAR +STARTCHAR U_4F7F +ENCODING 20351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2100 +2FE0 +6920 +AFE0 +2900 +2500 +2200 +2580 +3860 +ENDCHAR +STARTCHAR U_4F80 +ENCODING 20352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F20 +2AA0 +2AA0 +6AA0 +BFA0 +2AA0 +2AA0 +2AA0 +2A20 +3220 +22E0 +ENDCHAR +STARTCHAR U_4F81 +ENCODING 20353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +1500 +27C0 +2900 +6100 +AFE0 +2280 +2280 +24A0 +28A0 +3060 +ENDCHAR +STARTCHAR U_4F82 +ENCODING 20354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2800 +28C0 +6B00 +A900 +29E0 +2F00 +2920 +2920 +30E0 +ENDCHAR +STARTCHAR U_4F83 +ENCODING 20355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F80 +2880 +2880 +4F80 +4000 +CA80 +4A80 +4A80 +4AA0 +52A0 +62E0 +ENDCHAR +STARTCHAR U_4F84 +ENCODING 20356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2200 +2440 +6FE0 +A120 +2100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4F85 +ENCODING 20357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2200 +2440 +6F80 +A120 +2240 +2C80 +2140 +2220 +2C20 +ENDCHAR +STARTCHAR U_4F86 +ENCODING 20358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +2480 +2480 +5540 +8E20 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_4F87 +ENCODING 20359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2100 +27E0 +6120 +AFE0 +2900 +2FE0 +2120 +2280 +2C60 +ENDCHAR +STARTCHAR U_4F88 +ENCODING 20360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +13C0 +2440 +2A80 +6300 +AD00 +23E0 +2620 +2940 +2180 +2E00 +ENDCHAR +STARTCHAR U_4F89 +ENCODING 20361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2440 +2BA0 +7000 +AFE0 +2200 +27C0 +2040 +2040 +2180 +ENDCHAR +STARTCHAR U_4F8A +ENCODING 20362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2920 +6540 +A100 +2FE0 +2280 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_4F8B +ENCODING 20363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F20 +2420 +24A0 +6BA0 +69A0 +BAA0 +26A0 +22A0 +2420 +2820 +3060 +ENDCHAR +STARTCHAR U_4F8C +ENCODING 20364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1500 +2280 +DF60 +0200 +3FC0 +0000 +FFE0 +1080 +3FC0 +ENDCHAR +STARTCHAR U_4F8D +ENCODING 20365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17C0 +2100 +2100 +6FE0 +A040 +2FE0 +2440 +2240 +2040 +21C0 +ENDCHAR +STARTCHAR U_4F8E +ENCODING 20366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3240 +4A80 +C200 +5FE0 +4200 +4700 +4A80 +5240 +6220 +4200 +ENDCHAR +STARTCHAR U_4F8F +ENCODING 20367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1500 +27C0 +2900 +6100 +AFE0 +2380 +2540 +2940 +3120 +2100 +ENDCHAR +STARTCHAR U_4F90 +ENCODING 20368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1200 +2FE0 +2AA0 +6AA0 +AAA0 +2AA0 +2AA0 +2AA0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_4F91 +ENCODING 20369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1FE0 +2200 +27C0 +6440 +AFC0 +3440 +27C0 +2440 +2440 +24C0 +ENDCHAR +STARTCHAR U_4F92 +ENCODING 20370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2920 +2100 +6FE0 +A240 +2440 +2280 +2180 +2240 +2C20 +ENDCHAR +STARTCHAR U_4F93 +ENCODING 20371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17C0 +2140 +2FE0 +6140 +A7C0 +2100 +27C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_4F94 +ENCODING 20372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1440 +2FE0 +2100 +6900 +AFE0 +3100 +2100 +3FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_4F95 +ENCODING 20373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1100 +2200 +2FE0 +6AA0 +AAA0 +2AA0 +2AA0 +2AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_4F96 +ENCODING 20374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0E00 +1100 +2E80 +4060 +BFC0 +2A40 +2A40 +3FC0 +2A40 +2AC0 +ENDCHAR +STARTCHAR U_4F97 +ENCODING 20375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2BA0 +6820 +ABA0 +2AA0 +2AA0 +2BA0 +2820 +2820 +28E0 +ENDCHAR +STARTCHAR U_4F98 +ENCODING 20376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2820 +2180 +6600 +A2C0 +2F00 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_4F99 +ENCODING 20377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1140 +2120 +2FE0 +6100 +AF00 +2500 +2480 +26A0 +3860 +2020 +ENDCHAR +STARTCHAR U_4F9A +ENCODING 20378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +1400 +27E0 +2820 +77A0 +A4A0 +27A0 +24A0 +27A0 +2020 +2060 +ENDCHAR +STARTCHAR U_4F9B +ENCODING 20379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +1480 +2480 +2FE0 +6480 +A480 +3FE0 +2000 +2480 +2840 +3020 +ENDCHAR +STARTCHAR U_4F9C +ENCODING 20380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +17C0 +2440 +2640 +6540 +BFE0 +2440 +2640 +2540 +2840 +30C0 +ENDCHAR +STARTCHAR U_4F9D +ENCODING 20381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2100 +6320 +A540 +2C80 +3480 +2440 +2520 +2620 +ENDCHAR +STARTCHAR U_4F9E +ENCODING 20382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +24E0 +3EA0 +6AA0 +AAA0 +2AA0 +2AA0 +24A0 +24E0 +2AA0 +3000 +ENDCHAR +STARTCHAR U_4F9F +ENCODING 20383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2200 +65E0 +AC40 +37E0 +2440 +2440 +2440 +24C0 +ENDCHAR +STARTCHAR U_4FA0 +ENCODING 20384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2920 +6540 +A100 +2FE0 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4FA1 +ENCODING 20385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +2FE0 +6280 +A280 +2FE0 +2AA0 +2AA0 +2AA0 +2AA0 +2FE0 +ENDCHAR +STARTCHAR U_4FA2 +ENCODING 20386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2100 +67C0 +A540 +27C0 +2540 +3FE0 +2440 +2540 +24C0 +ENDCHAR +STARTCHAR U_4FA3 +ENCODING 20387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2440 +2440 +67C0 +A000 +2FE0 +2820 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_4FA4 +ENCODING 20388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1740 +2280 +7FE0 +A100 +23C0 +2500 +2BC0 +2040 +2040 +2180 +ENDCHAR +STARTCHAR U_4FA5 +ENCODING 20389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1FE0 +2240 +22A0 +6120 +AEE0 +2000 +3FE0 +2480 +28A0 +3060 +ENDCHAR +STARTCHAR U_4FA6 +ENCODING 20390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +11E0 +2100 +27E0 +6420 +A520 +2520 +2520 +2280 +2240 +2C20 +ENDCHAR +STARTCHAR U_4FA7 +ENCODING 20391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +3F20 +5120 +55A0 +D5A0 +55A0 +55A0 +5520 +4620 +4920 +5060 +ENDCHAR +STARTCHAR U_4FA8 +ENCODING 20392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F00 +4200 +5FE0 +C480 +4840 +54A0 +4480 +4480 +4880 +5080 +ENDCHAR +STARTCHAR U_4FA9 +ENCODING 20393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1280 +2440 +2820 +67C0 +A000 +2FE0 +2100 +2200 +2440 +2FA0 +ENDCHAR +STARTCHAR U_4FAA +ENCODING 20394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2440 +2280 +6100 +A680 +3860 +2480 +2480 +2880 +3080 +ENDCHAR +STARTCHAR U_4FAB +ENCODING 20395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +6400 +A7C0 +2200 +2FE0 +2480 +2300 +22C0 +2C40 +ENDCHAR +STARTCHAR U_4FAC +ENCODING 20396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2920 +6200 +A340 +2480 +2C80 +3440 +2540 +2620 +ENDCHAR +STARTCHAR U_4FAD +ENCODING 20397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2440 +67C0 +A500 +2880 +2B40 +3120 +2400 +2300 +2100 +ENDCHAR +STARTCHAR U_4FAE +ENCODING 20398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1800 +27E0 +2520 +64A0 +AFE0 +2520 +24A0 +2FE0 +2020 +20C0 +ENDCHAR +STARTCHAR U_4FAF +ENCODING 20399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1780 +1080 +2FE0 +2400 +67C0 +A900 +2100 +2FE0 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4FB0 +ENCODING 20400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FC0 +2240 +7FE0 +A240 +2FC0 +2400 +2FC0 +3440 +2440 +27C0 +ENDCHAR +STARTCHAR U_4FB1 +ENCODING 20401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2440 +67C0 +A000 +2FE0 +2100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4FB2 +ENCODING 20402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +4BC0 +4800 +CFE0 +4A80 +4AA0 +4A40 +4A40 +53A0 +6220 +ENDCHAR +STARTCHAR U_4FB3 +ENCODING 20403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1540 +2540 +2540 +6BA0 +A100 +27C0 +2100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4FB4 +ENCODING 20404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0600 +0900 +1080 +2F60 +C040 +7D40 +1540 +7D40 +2640 +F8C0 +ENDCHAR +STARTCHAR U_4FB5 +ENCODING 20405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2040 +4FC0 +4040 +DFE0 +5020 +4FC0 +4480 +4300 +4480 +5860 +ENDCHAR +STARTCHAR U_4FB6 +ENCODING 20406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +2440 +27C0 +6100 +A200 +2FE0 +2820 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_4FB7 +ENCODING 20407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2FE0 +2800 +6FE0 +A820 +2BA0 +2AA0 +2BA0 +2820 +30C0 +ENDCHAR +STARTCHAR U_4FB8 +ENCODING 20408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2000 +67C0 +A440 +27C0 +2000 +2440 +2240 +2280 +2FE0 +ENDCHAR +STARTCHAR U_4FB9 +ENCODING 20409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2D80 +2480 +6480 +ABE0 +2C80 +2480 +3480 +2DC0 +2C00 +33E0 +ENDCHAR +STARTCHAR U_4FBA +ENCODING 20410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +2FE0 +6100 +A280 +2540 +38A0 +27C0 +2040 +2080 +2100 +ENDCHAR +STARTCHAR U_4FBB +ENCODING 20411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +1280 +2FC0 +2840 +6840 +AFC0 +2280 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_4FBC +ENCODING 20412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17C0 +2100 +6FE0 +A820 +27C0 +2080 +2FE0 +2100 +2100 +2700 +ENDCHAR +STARTCHAR U_4FBD +ENCODING 20413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1540 +27C0 +6540 +A7C0 +2100 +2FE0 +2220 +2220 +2420 +28C0 +ENDCHAR +STARTCHAR U_4FBE +ENCODING 20414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1740 +2280 +7FE0 +A200 +27C0 +2900 +37E0 +2100 +2100 +2300 +ENDCHAR +STARTCHAR U_4FBF +ENCODING 20415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2FE0 +2920 +6FE0 +A920 +2FE0 +2500 +2200 +2500 +38E0 +ENDCHAR +STARTCHAR U_4FC0 +ENCODING 20416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +1F20 +2A20 +2540 +6100 +AFE0 +2240 +2440 +2380 +2140 +2E20 +ENDCHAR +STARTCHAR U_4FC1 +ENCODING 20417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +1240 +2A40 +2BC0 +6800 +AFC0 +2140 +3FE0 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_4FC2 +ENCODING 20418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +1F00 +2200 +6480 +AF00 +2240 +2FE0 +2100 +2940 +3120 +2300 +ENDCHAR +STARTCHAR U_4FC3 +ENCODING 20419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +2440 +27C0 +6100 +A100 +25C0 +2500 +2500 +2B00 +30E0 +ENDCHAR +STARTCHAR U_4FC4 +ENCODING 20420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1340 +1D20 +2500 +3FE0 +6500 +A720 +2D40 +3480 +25A0 +26A0 +2C60 +ENDCHAR +STARTCHAR U_4FC5 +ENCODING 20421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1180 +1140 +2FE0 +2100 +6920 +A540 +2380 +2540 +3920 +2120 +2700 +ENDCHAR +STARTCHAR U_4FC6 +ENCODING 20422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1280 +2440 +6820 +B7E0 +2100 +2FE0 +2100 +2540 +2920 +2300 +ENDCHAR +STARTCHAR U_4FC7 +ENCODING 20423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +3BE0 +4880 +5480 +C480 +4FE0 +5480 +6480 +4480 +5480 +4BE0 +ENDCHAR +STARTCHAR U_4FC8 +ENCODING 20424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1500 +27C0 +6900 +B100 +2FE0 +2000 +27C0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_4FC9 +ENCODING 20425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1100 +2FC0 +2240 +6240 +BFE0 +2000 +27C0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_4FCA +ENCODING 20426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1440 +2FE0 +22A0 +6640 +ABE0 +2440 +2A80 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_4FCB +ENCODING 20427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1780 +1480 +2780 +2000 +6FC0 +A940 +2940 +2FC0 +2800 +2820 +27E0 +ENDCHAR +STARTCHAR U_4FCC +ENCODING 20428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +1240 +2FE0 +6200 +AFC0 +2A40 +2FC0 +2A40 +2FC0 +2A40 +2AC0 +ENDCHAR +STARTCHAR U_4FCD +ENCODING 20429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FC0 +2840 +6FC0 +A840 +2FC0 +2920 +28C0 +2A40 +2C20 +ENDCHAR +STARTCHAR U_4FCE +ENCODING 20430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +2240 +53C0 +8A40 +2240 +23C0 +2240 +5240 +8A40 +0FE0 +ENDCHAR +STARTCHAR U_4FCF +ENCODING 20431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +14A0 +22C0 +27E0 +6420 +A7E0 +2420 +2420 +27E0 +2420 +2460 +ENDCHAR +STARTCHAR U_4FD0 +ENCODING 20432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2320 +3C20 +24A0 +24A0 +7FA0 +A4A0 +2EA0 +35A0 +24A0 +2420 +2460 +ENDCHAR +STARTCHAR U_4FD1 +ENCODING 20433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2280 +2100 +2FE0 +6920 +AFE0 +2920 +2FE0 +2920 +2920 +2860 +ENDCHAR +STARTCHAR U_4FD2 +ENCODING 20434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2820 +6380 +A000 +2FE0 +2280 +2280 +24A0 +2860 +ENDCHAR +STARTCHAR U_4FD3 +ENCODING 20435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1540 +2540 +2A80 +6540 +A540 +2FE0 +2100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_4FD4 +ENCODING 20436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +27C0 +2440 +67C0 +A440 +27C0 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_4FD5 +ENCODING 20437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +6820 +A100 +2FE0 +2300 +2580 +2540 +3920 +2100 +ENDCHAR +STARTCHAR U_4FD6 +ENCODING 20438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1100 +2380 +2540 +6920 +A100 +27C0 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_4FD7 +ENCODING 20439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +1440 +2920 +2180 +6240 +A420 +3FC0 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_4FD8 +ENCODING 20440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +1F20 +2A20 +2540 +6FE0 +A080 +2100 +3FE0 +2100 +2100 +2700 +ENDCHAR +STARTCHAR U_4FD9 +ENCODING 20441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1660 +1180 +2660 +2100 +6FE0 +A500 +2FE0 +3520 +2520 +2560 +2100 +ENDCHAR +STARTCHAR U_4FDA +ENCODING 20442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2920 +2FE0 +6920 +AFE0 +2100 +2FE0 +2100 +2100 +3FE0 +ENDCHAR +STARTCHAR U_4FDB +ENCODING 20443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +17C0 +2880 +3FE0 +6920 +A920 +2FE0 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_4FDC +ENCODING 20444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17C0 +2540 +27C0 +6540 +BFE0 +2200 +27C0 +2040 +2040 +2180 +ENDCHAR +STARTCHAR U_4FDD +ENCODING 20445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +2440 +27C0 +6100 +AFE0 +2100 +2380 +2540 +2920 +2100 +ENDCHAR +STARTCHAR U_4FDE +ENCODING 20446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +3180 +CF60 +3C40 +2540 +3D40 +2540 +3D40 +2440 +2CC0 +ENDCHAR +STARTCHAR U_4FDF +ENCODING 20447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1440 +2FE0 +2420 +67C0 +A900 +2100 +3FE0 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4FE0 +ENCODING 20448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2100 +6540 +A540 +2BA0 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4FE1 +ENCODING 20449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2000 +67C0 +A000 +27C0 +2000 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_4FE2 +ENCODING 20450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +13E0 +2640 +6980 +A240 +2520 +2A80 +2520 +2240 +2080 +2700 +ENDCHAR +STARTCHAR U_4FE3 +ENCODING 20451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +2440 +27C0 +6000 +A7C0 +2100 +2FE0 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_4FE4 +ENCODING 20452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +1280 +2FE0 +6120 +AFE0 +2900 +2FE0 +2320 +2520 +2960 +2100 +ENDCHAR +STARTCHAR U_4FE5 +ENCODING 20453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1FE0 +2200 +6FC0 +AA40 +2FC0 +2A40 +2FC0 +2200 +3FE0 +2200 +ENDCHAR +STARTCHAR U_4FE6 +ENCODING 20454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1FE0 +2200 +2FE0 +6200 +AFE0 +2440 +2FE0 +3440 +2240 +20C0 +ENDCHAR +STARTCHAR U_4FE7 +ENCODING 20455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +6100 +A100 +27C0 +2200 +2940 +2AA0 +3240 +23C0 +ENDCHAR +STARTCHAR U_4FE8 +ENCODING 20456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1280 +2AA0 +26C0 +6FE0 +A800 +2800 +2800 +2800 +2800 +3000 +ENDCHAR +STARTCHAR U_4FE9 +ENCODING 20457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2480 +4480 +5FE0 +D4A0 +54A0 +56A0 +5960 +5220 +5020 +50E0 +ENDCHAR +STARTCHAR U_4FEA +ENCODING 20458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +5DE0 +5520 +D520 +5DA0 +5560 +5520 +5520 +5520 +5560 +ENDCHAR +STARTCHAR U_4FEB +ENCODING 20459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +6540 +A380 +3FE0 +2300 +2580 +2940 +3120 +2100 +ENDCHAR +STARTCHAR U_4FEC +ENCODING 20460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2340 +3C40 +4440 +4440 +DF40 +4480 +4E80 +55A0 +6520 +45E0 +4520 +ENDCHAR +STARTCHAR U_4FED +ENCODING 20461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1300 +2480 +2840 +77A0 +A000 +2A40 +2540 +2540 +2080 +3FE0 +ENDCHAR +STARTCHAR U_4FEE +ENCODING 20462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +13E0 +2D40 +2880 +6B40 +ACA0 +2940 +2A80 +2920 +20C0 +2700 +ENDCHAR +STARTCHAR U_4FEF +ENCODING 20463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2A40 +2A40 +6BE0 +AE40 +2B40 +2AC0 +2A40 +2A40 +32C0 +ENDCHAR +STARTCHAR U_4FF0 +ENCODING 20464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1300 +1C00 +24E0 +64A0 +BFA0 +24A0 +2EA0 +2DA0 +34E0 +24A0 +2400 +ENDCHAR +STARTCHAR U_4FF1 +ENCODING 20465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +27C0 +6440 +A7C0 +2440 +27C0 +2440 +3FE0 +2440 +2820 +ENDCHAR +STARTCHAR U_4FF2 +ENCODING 20466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2280 +3F80 +69E0 +AAA0 +31A0 +2AA0 +24A0 +2B20 +31A0 +2240 +ENDCHAR +STARTCHAR U_4FF3 +ENCODING 20467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +1280 +2EE0 +2280 +6280 +AEE0 +2280 +2280 +2EE0 +2280 +2280 +ENDCHAR +STARTCHAR U_4FF4 +ENCODING 20468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +1FE0 +2140 +23A0 +6C60 +A280 +2240 +2FE0 +2140 +21A0 +2E60 +ENDCHAR +STARTCHAR U_4FF5 +ENCODING 20469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2100 +27C0 +6100 +AFE0 +2520 +2CC0 +3480 +2540 +2620 +ENDCHAR +STARTCHAR U_4FF6 +ENCODING 20470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +29E0 +2EA0 +48A0 +FEA0 +48A0 +5CA0 +6A40 +4840 +48A0 +5920 +ENDCHAR +STARTCHAR U_4FF7 +ENCODING 20471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +52A0 +D2A0 +5EA0 +53E0 +5E00 +5200 +5220 +5220 +67E0 +ENDCHAR +STARTCHAR U_4FF8 +ENCODING 20472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2100 +27E0 +6200 +AFE0 +2540 +2BA0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_4FF9 +ENCODING 20473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FC0 +4500 +C500 +5DC0 +5040 +5040 +5DC0 +4500 +4500 +7FE0 +ENDCHAR +STARTCHAR U_4FFA +ENCODING 20474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1FC0 +2500 +2A80 +6FC0 +BAA0 +2F80 +2A80 +2FA0 +2220 +23E0 +ENDCHAR +STARTCHAR U_4FFB +ENCODING 20475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +17C0 +2C80 +3300 +6480 +B860 +2FC0 +2A40 +2FC0 +2A40 +2FC0 +ENDCHAR +STARTCHAR U_4FFC +ENCODING 20476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2440 +2FE0 +6000 +A7C0 +2440 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_4FFD +ENCODING 20477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2680 +3900 +51E0 +DE20 +5480 +5480 +5480 +5480 +5540 +5520 +6620 +ENDCHAR +STARTCHAR U_4FFE +ENCODING 20478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1FE0 +2920 +2FE0 +6920 +AFE0 +2280 +2480 +3FE0 +2080 +2080 +ENDCHAR +STARTCHAR U_4FFF +ENCODING 20479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +1200 +2FE0 +2A40 +6F80 +AA40 +29C0 +2800 +2B80 +2AA0 +34E0 +ENDCHAR +STARTCHAR U_5000 +ENCODING 20480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1400 +2780 +2400 +6780 +A400 +3FE0 +2540 +2480 +2540 +2620 +ENDCHAR +STARTCHAR U_5001 +ENCODING 20481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2800 +4EE0 +D4A0 +64A0 +5EA0 +44A0 +44A0 +4AA0 +49E0 +5100 +ENDCHAR +STARTCHAR U_5002 +ENCODING 20482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +1240 +2480 +2EE0 +6440 +A440 +2EE0 +2440 +2440 +2840 +3040 +ENDCHAR +STARTCHAR U_5003 +ENCODING 20483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2EC0 +52A0 +EAA0 +4480 +4B00 +70E0 +4FC0 +4840 +4840 +4FC0 +ENDCHAR +STARTCHAR U_5004 +ENCODING 20484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +14C0 +1300 +2480 +2FE0 +6400 +AFC0 +3440 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_5005 +ENCODING 20485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2440 +6440 +AAA0 +2100 +3FE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_5006 +ENCODING 20486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2100 +2FE0 +6920 +ADA0 +2B60 +2DA0 +2B60 +2920 +2960 +ENDCHAR +STARTCHAR U_5007 +ENCODING 20487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2820 +2400 +6EE0 +AAA0 +2AA0 +36E0 +2480 +28A0 +3060 +ENDCHAR +STARTCHAR U_5008 +ENCODING 20488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2FE0 +2540 +6540 +ABA0 +3100 +2380 +2540 +2920 +3100 +ENDCHAR +STARTCHAR U_5009 +ENCODING 20489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +3580 +C260 +1F80 +1280 +1F80 +1000 +2FC0 +2840 +4FC0 +ENDCHAR +STARTCHAR U_500A +ENCODING 20490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2480 +4A40 +D220 +4480 +4F40 +4200 +4140 +5420 +5480 +4380 +ENDCHAR +STARTCHAR U_500B +ENCODING 20491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +2920 +2FE0 +6920 +ABA0 +2AA0 +2BA0 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_500C +ENCODING 20492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2820 +67C0 +A440 +27C0 +2400 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_500D +ENCODING 20493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2440 +6280 +AFE0 +2000 +27C0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_500E +ENCODING 20494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2AA0 +2AA0 +6FE0 +AAA0 +2AA0 +3FE0 +2480 +2860 +3020 +ENDCHAR +STARTCHAR U_500F +ENCODING 20495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +13E0 +2640 +2980 +6E60 +A980 +2940 +2FE0 +2900 +2280 +2C60 +ENDCHAR +STARTCHAR U_5010 +ENCODING 20496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +5680 +D900 +5280 +5C60 +5100 +5540 +5900 +4280 +4C60 +ENDCHAR +STARTCHAR U_5011 +ENCODING 20497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2EE0 +2AA0 +6EE0 +A820 +2820 +2820 +2820 +2820 +2860 +ENDCHAR +STARTCHAR U_5012 +ENCODING 20498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +3F20 +48A0 +52A0 +DFA0 +44A0 +44A0 +5FA0 +44A0 +4720 +5860 +ENDCHAR +STARTCHAR U_5013 +ENCODING 20499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1540 +1580 +2900 +2280 +6440 +B920 +2540 +2580 +2A80 +2440 +3820 +ENDCHAR +STARTCHAR U_5014 +ENCODING 20500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2FE0 +6880 +AAA0 +2AA0 +2BE0 +2880 +2AA0 +2AA0 +33E0 +ENDCHAR +STARTCHAR U_5015 +ENCODING 20501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +1700 +2100 +2FE0 +6540 +BFE0 +2540 +2540 +2FE0 +2100 +27C0 +ENDCHAR +STARTCHAR U_5016 +ENCODING 20502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17C0 +2100 +6FE0 +A440 +2280 +2FE0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_5017 +ENCODING 20503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2AA0 +6EE0 +AAA0 +2AA0 +2EE0 +2AA0 +2AA0 +2AA0 +3760 +ENDCHAR +STARTCHAR U_5018 +ENCODING 20504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1920 +2540 +2FE0 +6820 +ABA0 +2AA0 +2AA0 +2BA0 +2820 +2860 +ENDCHAR +STARTCHAR U_5019 +ENCODING 20505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +2080 +5FE0 +5400 +D7C0 +5900 +5FE0 +5100 +5280 +4440 +4820 +ENDCHAR +STARTCHAR U_501A +ENCODING 20506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2280 +2440 +7FE0 +A040 +2F40 +2940 +2F40 +2040 +21C0 +ENDCHAR +STARTCHAR U_501B +ENCODING 20507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +1FE0 +2440 +27C0 +6440 +A7C0 +2440 +3FE0 +2000 +2440 +2820 +ENDCHAR +STARTCHAR U_501C +ENCODING 20508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +2FA0 +2920 +6FE0 +A820 +2BA0 +2AA0 +2BA0 +2820 +30E0 +ENDCHAR +STARTCHAR U_501D +ENCODING 20509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +7C80 +1080 +7C80 +4480 +7D40 +4540 +7D40 +1240 +FE20 +1420 +ENDCHAR +STARTCHAR U_501E +ENCODING 20510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2000 +67C0 +A440 +27C0 +2100 +2540 +2920 +3320 +ENDCHAR +STARTCHAR U_501F +ENCODING 20511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +1FE0 +2480 +2480 +7FE0 +A000 +27C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_5020 +ENCODING 20512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +1240 +27E0 +6C80 +B480 +27E0 +2480 +27E0 +2480 +2480 +27E0 +ENDCHAR +STARTCHAR U_5021 +ENCODING 20513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +27C0 +2440 +67C0 +A000 +2FE0 +2820 +2FE0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_5022 +ENCODING 20514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1100 +2FC0 +2140 +7FE0 +A140 +2FC0 +2500 +25C0 +2B00 +31E0 +ENDCHAR +STARTCHAR U_5023 +ENCODING 20515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2480 +3FE0 +68A0 +AFA0 +2AA0 +2AA0 +2AA0 +2A40 +2AA0 +3720 +ENDCHAR +STARTCHAR U_5024 +ENCODING 20516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4200 +C7C0 +5440 +57C0 +5440 +57C0 +5440 +57C0 +5FE0 +ENDCHAR +STARTCHAR U_5025 +ENCODING 20517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2AA0 +6440 +A820 +27C0 +2100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_5026 +ENCODING 20518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2680 +3FE0 +6400 +BFE0 +2840 +37A0 +2480 +2580 +2420 +23E0 +ENDCHAR +STARTCHAR U_5027 +ENCODING 20519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +2FE0 +2820 +67C0 +A000 +2FE0 +2100 +2540 +2920 +3320 +ENDCHAR +STARTCHAR U_5028 +ENCODING 20520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1420 +2420 +27E0 +6480 +A7E0 +2480 +2BE0 +2A20 +2A20 +33E0 +ENDCHAR +STARTCHAR U_5029 +ENCODING 20521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2100 +27C0 +6100 +AFE0 +2440 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_502A +ENCODING 20522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2CE0 +2820 +2EE0 +6820 +AFE0 +2280 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_502B +ENCODING 20523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1280 +2440 +3BA0 +6000 +AFE0 +2AA0 +2FE0 +2AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_502C +ENCODING 20524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +13E0 +2200 +6FC0 +A840 +2FC0 +2840 +2FC0 +2200 +3FE0 +2200 +ENDCHAR +STARTCHAR U_502D +ENCODING 20525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +1780 +2100 +3FE0 +6540 +A920 +2200 +3FE0 +2480 +2300 +2CE0 +ENDCHAR +STARTCHAR U_502E +ENCODING 20526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2940 +2FC0 +2940 +6FC0 +A100 +3FE0 +2300 +2580 +2940 +3120 +ENDCHAR +STARTCHAR U_502F +ENCODING 20527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2840 +2940 +4940 +7D40 +C920 +5AA0 +5C80 +6880 +4940 +4920 +4BE0 +ENDCHAR +STARTCHAR U_5030 +ENCODING 20528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17C0 +2100 +2FE0 +6440 +AA20 +33C0 +2440 +2A80 +2180 +2E60 +ENDCHAR +STARTCHAR U_5031 +ENCODING 20529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +2FC0 +2840 +6FC0 +A020 +2940 +2F80 +2920 +2B20 +2CE0 +ENDCHAR +STARTCHAR U_5032 +ENCODING 20530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +4200 +CFC0 +4A40 +4FC0 +4A40 +4FC0 +4700 +4A80 +7260 +ENDCHAR +STARTCHAR U_5033 +ENCODING 20531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5FC0 +D240 +5FC0 +4240 +7FE0 +4240 +5FC0 +4200 +4600 +ENDCHAR +STARTCHAR U_5034 +ENCODING 20532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FC0 +4500 +CA80 +7760 +4200 +4880 +7FE0 +4880 +4880 +5080 +ENDCHAR +STARTCHAR U_5035 +ENCODING 20533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2EA0 +40A0 +5FE0 +C480 +5480 +5780 +54A0 +54A0 +5EA0 +6060 +ENDCHAR +STARTCHAR U_5036 +ENCODING 20534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F80 +2880 +4F80 +C880 +4F80 +4880 +4F80 +4000 +7FE0 +4480 +4840 +ENDCHAR +STARTCHAR U_5037 +ENCODING 20535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1FE0 +2480 +2840 +77A0 +A000 +2FC0 +2100 +2540 +2920 +3320 +ENDCHAR +STARTCHAR U_5038 +ENCODING 20536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F00 +5220 +C940 +4200 +5FE0 +4200 +4700 +4A80 +5240 +6220 +ENDCHAR +STARTCHAR U_5039 +ENCODING 20537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2500 +4880 +D740 +6220 +4FC0 +4A40 +4FC0 +4200 +4500 +58C0 +ENDCHAR +STARTCHAR U_503A +ENCODING 20538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2100 +27C0 +6100 +AFE0 +2440 +2540 +2540 +2280 +2C60 +ENDCHAR +STARTCHAR U_503B +ENCODING 20539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +5520 +DD40 +5580 +5D40 +5520 +5FA0 +7540 +4500 +4500 +ENDCHAR +STARTCHAR U_503C +ENCODING 20540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2200 +27C0 +6440 +A7C0 +2440 +2740 +25C0 +2440 +2FE0 +ENDCHAR +STARTCHAR U_503D +ENCODING 20541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +4500 +C880 +5740 +6220 +5FC0 +4200 +4F80 +4880 +4F80 +ENDCHAR +STARTCHAR U_503E +ENCODING 20542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1900 +2BE0 +2E20 +6AA0 +AAA0 +2AA0 +2EA0 +2AA0 +2140 +2620 +ENDCHAR +STARTCHAR U_503F +ENCODING 20543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FC0 +4880 +C500 +5FC0 +4200 +5FE0 +4480 +4980 +4600 +5DC0 +ENDCHAR +STARTCHAR U_5040 +ENCODING 20544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +1FE0 +2480 +2100 +6FC0 +A940 +2940 +3FE0 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_5041 +ENCODING 20545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2A20 +2540 +2100 +6FC0 +A940 +2FC0 +2940 +3FE0 +2840 +29C0 +ENDCHAR +STARTCHAR U_5042 +ENCODING 20546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2840 +2480 +5FE0 +C000 +5E20 +52A0 +5EA0 +52A0 +5EA0 +5220 +5660 +ENDCHAR +STARTCHAR U_5043 +ENCODING 20547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A40 +2BC0 +2A40 +6BC0 +A900 +2FE0 +2A40 +2980 +2A40 +2FE0 +ENDCHAR +STARTCHAR U_5044 +ENCODING 20548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2200 +5FC0 +D540 +5540 +52C0 +4200 +5FE0 +4500 +4880 +7060 +ENDCHAR +STARTCHAR U_5045 +ENCODING 20549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2100 +3FE0 +2940 +6FC0 +A940 +2FC0 +2100 +2FC0 +2100 +3FE0 +ENDCHAR +STARTCHAR U_5046 +ENCODING 20550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2100 +2FE0 +6280 +A440 +2FE0 +3440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_5047 +ENCODING 20551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2A20 +2A20 +2EE0 +6800 +AEE0 +28A0 +2EA0 +2840 +28C0 +2920 +ENDCHAR +STARTCHAR U_5048 +ENCODING 20552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +2FC0 +2840 +6FC0 +A400 +2FE0 +3920 +2AA0 +2FA0 +2040 +ENDCHAR +STARTCHAR U_5049 +ENCODING 20553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +17C0 +2240 +2FE0 +6440 +A7C0 +2100 +27E0 +2500 +2FE0 +2100 +ENDCHAR +STARTCHAR U_504A +ENCODING 20554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1100 +27C0 +2540 +67C0 +A100 +2FE0 +2920 +2FA0 +28A0 +2860 +ENDCHAR +STARTCHAR U_504B +ENCODING 20555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2FE0 +2A20 +6940 +AFE0 +2940 +2FE0 +2940 +3240 +2440 +ENDCHAR +STARTCHAR U_504C +ENCODING 20556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +1FE0 +2480 +2100 +6FE0 +A200 +27C0 +2C40 +3440 +27C0 +2440 +ENDCHAR +STARTCHAR U_504D +ENCODING 20557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +27C0 +2440 +67C0 +A000 +2FE0 +2500 +25E0 +2B00 +31E0 +ENDCHAR +STARTCHAR U_504E +ENCODING 20558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2940 +2FC0 +2940 +6FC0 +A000 +3FE0 +2540 +2480 +2640 +2C20 +ENDCHAR +STARTCHAR U_504F +ENCODING 20559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2820 +2FE0 +6800 +AFE0 +2AA0 +2FE0 +2AA0 +3AA0 +2860 +ENDCHAR +STARTCHAR U_5050 +ENCODING 20560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2FE0 +6440 +A280 +2FE0 +2840 +2B80 +2860 +2B80 +2860 +3380 +ENDCHAR +STARTCHAR U_5051 +ENCODING 20561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FC0 +5140 +5E40 +D440 +5F40 +5540 +5F40 +5440 +5520 +6F20 +ENDCHAR +STARTCHAR U_5052 +ENCODING 20562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1780 +1480 +2780 +2480 +7FE0 +A800 +2FE0 +32A0 +24A0 +2920 +2260 +ENDCHAR +STARTCHAR U_5053 +ENCODING 20563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2FE0 +2800 +6FE0 +AA40 +2FE0 +2880 +2BE0 +3080 +27E0 +ENDCHAR +STARTCHAR U_5054 +ENCODING 20564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +4EE0 +C000 +4FC0 +4000 +5FE0 +4400 +47C0 +4080 +4300 +ENDCHAR +STARTCHAR U_5055 +ENCODING 20565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2EA0 +28C0 +2AA0 +6C60 +A100 +27E0 +2420 +27E0 +2420 +27E0 +ENDCHAR +STARTCHAR U_5056 +ENCODING 20566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1240 +2FC0 +2280 +7FE0 +A100 +27C0 +3C40 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_5057 +ENCODING 20567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +1520 +2940 +3080 +67E0 +BC20 +27E0 +2420 +27E0 +2420 +27E0 +ENDCHAR +STARTCHAR U_5058 +ENCODING 20568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2440 +2440 +67C0 +A000 +2EE0 +2AA0 +2AA0 +2AA0 +2EE0 +ENDCHAR +STARTCHAR U_5059 +ENCODING 20569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FC0 +4880 +C500 +5FE0 +5220 +4FC0 +4A40 +4A40 +4AC0 +4200 +ENDCHAR +STARTCHAR U_505A +ENCODING 20570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2880 +4880 +7FE0 +C940 +4B40 +5D40 +5540 +5480 +5D40 +4220 +ENDCHAR +STARTCHAR U_505B +ENCODING 20571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +1700 +2100 +3FE0 +6100 +AD60 +2920 +2D60 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_505C +ENCODING 20572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +2000 +4FC0 +4840 +DFE0 +5020 +4FC0 +4100 +4100 +4700 +ENDCHAR +STARTCHAR U_505D +ENCODING 20573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +2EC0 +22A0 +2E60 +67C0 +A440 +27C0 +2440 +27C0 +2440 +24C0 +ENDCHAR +STARTCHAR U_505E +ENCODING 20574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1540 +1FE0 +2540 +25C0 +6400 +A7E0 +2100 +2FE0 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_505F +ENCODING 20575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1200 +27C0 +2440 +67C0 +A440 +2FE0 +2100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_5060 +ENCODING 20576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2FE0 +6AA0 +AFE0 +2200 +2FE0 +2240 +2480 +2300 +2CE0 +ENDCHAR +STARTCHAR U_5061 +ENCODING 20577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2440 +27C0 +6440 +A7C0 +2440 +3FE0 +2540 +2620 +27E0 +ENDCHAR +STARTCHAR U_5062 +ENCODING 20578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2C40 +2540 +3F60 +6540 +A640 +2D40 +3440 +2440 +24A0 +2520 +ENDCHAR +STARTCHAR U_5063 +ENCODING 20579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2440 +2280 +6FE0 +A000 +27C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_5064 +ENCODING 20580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +1280 +2FE0 +2280 +6FE0 +AAA0 +2CE0 +2820 +2FE0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_5065 +ENCODING 20581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BC0 +4940 +CFE0 +5140 +5FE0 +4500 +57E0 +4900 +5500 +63E0 +ENDCHAR +STARTCHAR U_5066 +ENCODING 20582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2240 +2B80 +4E00 +F1E0 +4F80 +4880 +4F80 +4880 +4F80 +4880 +ENDCHAR +STARTCHAR U_5067 +ENCODING 20583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +4500 +CA80 +7560 +4200 +4D80 +4240 +4580 +4100 +4E00 +ENDCHAR +STARTCHAR U_5068 +ENCODING 20584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +24A0 +56C0 +5480 +D6A0 +5960 +4100 +5FE0 +4580 +4940 +5120 +ENDCHAR +STARTCHAR U_5069 +ENCODING 20585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +1480 +2FE0 +2420 +67E0 +A420 +27E0 +2420 +27E0 +2280 +2C60 +ENDCHAR +STARTCHAR U_506A +ENCODING 20586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1000 +27C0 +2440 +67C0 +A000 +2FE0 +2920 +2FE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_506B +ENCODING 20587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +4880 +5480 +CBE0 +5840 +4FE0 +4A40 +4940 +4840 +48C0 +ENDCHAR +STARTCHAR U_506C +ENCODING 20588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2FE0 +4AA0 +54A0 +CF20 +52A0 +4440 +4240 +5520 +5440 +63C0 +ENDCHAR +STARTCHAR U_506D +ENCODING 20589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4200 +5FE0 +D4A0 +57A0 +54A0 +57A0 +54A0 +5FE0 +5020 +ENDCHAR +STARTCHAR U_506E +ENCODING 20590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17C0 +2440 +27C0 +6000 +AFE0 +2440 +27C0 +2440 +2FE0 +2040 +ENDCHAR +STARTCHAR U_506F +ENCODING 20591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2000 +27C0 +6440 +A7C0 +2320 +2540 +2C80 +2540 +2620 +ENDCHAR +STARTCHAR U_5070 +ENCODING 20592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +3FE0 +48A0 +DEA0 +48A0 +5F60 +4A00 +7FE0 +4500 +4880 +7060 +ENDCHAR +STARTCHAR U_5071 +ENCODING 20593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1880 +2BE0 +2880 +6BE0 +AA20 +2BE0 +2A20 +2BE0 +2A20 +33E0 +ENDCHAR +STARTCHAR U_5072 +ENCODING 20594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +2FE0 +6920 +AFE0 +2820 +2200 +2540 +2C20 +3440 +23C0 +ENDCHAR +STARTCHAR U_5073 +ENCODING 20595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1540 +27C0 +2000 +6FE0 +A100 +2FE0 +2AA0 +2AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_5074 +ENCODING 20596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +3E20 +52A0 +5EA0 +D2A0 +5EA0 +52A0 +5EA0 +4420 +4A20 +5160 +ENDCHAR +STARTCHAR U_5075 +ENCODING 20597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2200 +2FC0 +6840 +AFC0 +2840 +2FC0 +2840 +2FC0 +3860 +ENDCHAR +STARTCHAR U_5076 +ENCODING 20598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1540 +27C0 +2540 +67C0 +A100 +2FE0 +2920 +29A0 +2F20 +2860 +ENDCHAR +STARTCHAR U_5077 +ENCODING 20599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2480 +5B60 +4000 +5E20 +D2A0 +5EA0 +52A0 +5EA0 +5220 +56E0 +ENDCHAR +STARTCHAR U_5078 +ENCODING 20600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2500 +2880 +7760 +A000 +2EA0 +2AA0 +2F40 +2B40 +2EA0 +2AA0 +ENDCHAR +STARTCHAR U_5079 +ENCODING 20601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +5440 +DC80 +5380 +5C60 +57C0 +5540 +57C0 +4540 +47C0 +ENDCHAR +STARTCHAR U_507A +ENCODING 20602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2EC0 +2AA0 +76A0 +A580 +2860 +37C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_507B +ENCODING 20603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +2FE0 +2100 +6540 +A920 +2FE0 +2240 +2680 +2140 +2E20 +ENDCHAR +STARTCHAR U_507C +ENCODING 20604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +4200 +CFC0 +4040 +4FC0 +4040 +4FC0 +5200 +5A00 +67E0 +ENDCHAR +STARTCHAR U_507D +ENCODING 20605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A00 +2600 +2F80 +2480 +67C0 +A440 +27E0 +2820 +3520 +2AA0 +2060 +ENDCHAR +STARTCHAR U_507E +ENCODING 20606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2540 +2FE0 +6440 +AFE0 +2820 +2920 +2920 +2280 +2C60 +ENDCHAR +STARTCHAR U_507F +ENCODING 20607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +4100 +5FE0 +D020 +4FC0 +4000 +5FE0 +4200 +4440 +4FE0 +ENDCHAR +STARTCHAR U_5080 +ENCODING 20608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FC0 +5240 +5FC0 +D240 +5FC0 +4240 +46A0 +46E0 +4A20 +51E0 +ENDCHAR +STARTCHAR U_5081 +ENCODING 20609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2EC0 +4A40 +4EC0 +CA40 +4FC0 +4200 +4FC0 +4480 +4300 +5CE0 +ENDCHAR +STARTCHAR U_5082 +ENCODING 20610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +5F00 +51C0 +5100 +D7E0 +5520 +57E0 +5500 +65C0 +4940 +5260 +ENDCHAR +STARTCHAR U_5083 +ENCODING 20611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +27C0 +2100 +6FE0 +A280 +2700 +2240 +27A0 +2940 +3320 +ENDCHAR +STARTCHAR U_5084 +ENCODING 20612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +2540 +5480 +4FC0 +D860 +4FC0 +4840 +4FC0 +4840 +4FC0 +ENDCHAR +STARTCHAR U_5085 +ENCODING 20613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +3FE0 +4200 +4FC0 +CA40 +4FC0 +4A40 +7FE0 +4880 +4480 +4180 +ENDCHAR +STARTCHAR U_5086 +ENCODING 20614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +3100 +57C0 +5440 +D7C0 +5440 +57C0 +5100 +5540 +5520 +6B20 +ENDCHAR +STARTCHAR U_5087 +ENCODING 20615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +1FE0 +2240 +2FE0 +6440 +A7C0 +2440 +27C0 +2460 +2FC0 +2040 +ENDCHAR +STARTCHAR U_5088 +ENCODING 20616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2FE0 +2AA0 +6AA0 +AFE0 +2100 +2FE0 +2540 +2920 +3120 +ENDCHAR +STARTCHAR U_5089 +ENCODING 20617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +2BC0 +4800 +4FE0 +CA80 +4B60 +4840 +4FE0 +5240 +51C0 +ENDCHAR +STARTCHAR U_508A +ENCODING 20618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +4000 +4FE0 +C820 +4FE0 +4820 +4FE0 +4440 +4820 +ENDCHAR +STARTCHAR U_508B +ENCODING 20619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3FE0 +2480 +2FC0 +6480 +BFE0 +2A40 +2FC0 +2A40 +3FE0 +2840 +ENDCHAR +STARTCHAR U_508C +ENCODING 20620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2900 +2FC0 +2900 +6FC0 +A900 +2FE0 +2020 +2D20 +2AA0 +32E0 +ENDCHAR +STARTCHAR U_508D +ENCODING 20621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +6FE0 +A920 +2FE0 +2200 +23E0 +2220 +2420 +28C0 +ENDCHAR +STARTCHAR U_508E +ENCODING 20622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2440 +27C0 +6440 +A740 +25C0 +2440 +3FE0 +2480 +3860 +ENDCHAR +STARTCHAR U_508F +ENCODING 20623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4900 +4FC0 +C940 +4FE0 +4940 +4FC0 +5440 +5440 +67C0 +ENDCHAR +STARTCHAR U_5090 +ENCODING 20624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +4000 +4780 +C480 +5FE0 +5020 +57A0 +54A0 +57A0 +5060 +ENDCHAR +STARTCHAR U_5091 +ENCODING 20625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2840 +2DE0 +5540 +5D40 +C7E0 +4840 +5240 +7FE0 +4A80 +5240 +6220 +ENDCHAR +STARTCHAR U_5092 +ENCODING 20626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +3F20 +2940 +2480 +6700 +A240 +2FA0 +2100 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_5093 +ENCODING 20627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4820 +4FE0 +C800 +4EE0 +4A20 +4AA0 +4E60 +52A0 +6660 +ENDCHAR +STARTCHAR U_5094 +ENCODING 20628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +3FE0 +4500 +5FC0 +C540 +7FE0 +4540 +5FC0 +4D80 +5540 +6520 +ENDCHAR +STARTCHAR U_5095 +ENCODING 20629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2AA0 +23E0 +6480 +AFE0 +3480 +27E0 +2480 +2480 +27E0 +ENDCHAR +STARTCHAR U_5096 +ENCODING 20630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2500 +4A80 +5160 +EFC0 +4940 +4FC0 +4800 +4FC0 +5440 +67C0 +ENDCHAR +STARTCHAR U_5097 +ENCODING 20631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +4480 +4F00 +C480 +5FC0 +5240 +5FC0 +5240 +5FC0 +5040 +ENDCHAR +STARTCHAR U_5098 +ENCODING 20632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1B00 +E4E0 +2480 +5540 +2480 +5540 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_5099 +ENCODING 20633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FC0 +2480 +3FE0 +6400 +AFE0 +2920 +3FE0 +2920 +2FE0 +2920 +ENDCHAR +STARTCHAR U_509A +ENCODING 20634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2480 +3FE0 +6AA0 +B1A0 +2AA0 +24A0 +24A0 +2A40 +30A0 +2320 +ENDCHAR +STARTCHAR U_509B +ENCODING 20635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4820 +4440 +C920 +4280 +4440 +4FE0 +4440 +4440 +47C0 +ENDCHAR +STARTCHAR U_509C +ENCODING 20636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +1E20 +2A20 +2540 +6400 +AFC0 +3100 +2FE0 +2100 +2920 +2FE0 +ENDCHAR +STARTCHAR U_509D +ENCODING 20637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +4FC0 +4840 +CFC0 +4000 +5EE0 +4AA0 +4660 +5BA0 +4660 +ENDCHAR +STARTCHAR U_509E +ENCODING 20638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +1280 +2FE0 +2100 +67C0 +A100 +3FE0 +2400 +2FC0 +3100 +2FE0 +ENDCHAR +STARTCHAR U_509F +ENCODING 20639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +2A40 +54A0 +4F80 +C000 +5DC0 +5540 +4CC0 +5540 +4CC0 +ENDCHAR +STARTCHAR U_50A0 +ENCODING 20640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2840 +2440 +3E40 +41E0 +5E40 +C140 +5EC0 +4040 +5E40 +5240 +5EC0 +ENDCHAR +STARTCHAR U_50A1 +ENCODING 20641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2880 +4000 +5DE0 +C000 +5540 +5540 +5540 +4840 +4C80 +73E0 +ENDCHAR +STARTCHAR U_50A2 +ENCODING 20642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +3020 +2FC0 +6440 +AA80 +3500 +2B80 +2540 +2920 +2600 +ENDCHAR +STARTCHAR U_50A3 +ENCODING 20643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +2200 +2FC0 +6400 +BFE0 +2940 +3560 +2380 +2540 +2B20 +ENDCHAR +STARTCHAR U_50A4 +ENCODING 20644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2580 +3F40 +4540 +5FE0 +C900 +5F40 +5540 +5E80 +44A0 +5F60 +4520 +ENDCHAR +STARTCHAR U_50A5 +ENCODING 20645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +2FE0 +2820 +67C0 +A440 +27C0 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_50A6 +ENCODING 20646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2E40 +4A40 +5FE0 +D020 +4FC0 +4840 +4FC0 +4840 +4FC0 +4840 +ENDCHAR +STARTCHAR U_50A7 +ENCODING 20647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +28A0 +2700 +6400 +A7C0 +2480 +2480 +3FE0 +2480 +3860 +ENDCHAR +STARTCHAR U_50A8 +ENCODING 20648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6120 +57C0 +4140 +77E0 +D100 +53C0 +5640 +53C0 +5A40 +5240 +43C0 +ENDCHAR +STARTCHAR U_50A9 +ENCODING 20649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +3D40 +47E0 +5640 +D7E0 +4A40 +4BE0 +5640 +6240 +43E0 +4200 +ENDCHAR +STARTCHAR U_50AA +ENCODING 20650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FC0 +4000 +48A0 +DDE0 +4200 +4D80 +5260 +4480 +4100 +4E00 +ENDCHAR +STARTCHAR U_50AB +ENCODING 20651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2940 +4FC0 +4940 +CFC0 +4480 +4340 +5FE0 +4100 +4940 +5720 +ENDCHAR +STARTCHAR U_50AC +ENCODING 20652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +2FE0 +2500 +6FE0 +A900 +3FC0 +2900 +2FC0 +2900 +2FE0 +ENDCHAR +STARTCHAR U_50AD +ENCODING 20653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2940 +2BE0 +6940 +AFE0 +2AA0 +2BE0 +2AA0 +2BE0 +32A0 +ENDCHAR +STARTCHAR U_50AE +ENCODING 20654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2FE0 +2AA0 +6FE0 +AAA0 +2FE0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_50AF +ENCODING 20655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +2940 +2B40 +6EC0 +A940 +2FC0 +2540 +2CA0 +3460 +23C0 +ENDCHAR +STARTCHAR U_50B0 +ENCODING 20656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2FE0 +2000 +2EE0 +6AA0 +AEE0 +2AA0 +2EE0 +2AA0 +2AA0 +3760 +ENDCHAR +STARTCHAR U_50B1 +ENCODING 20657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2940 +2940 +32A0 +64A0 +A800 +3A80 +2AE0 +2A80 +2A80 +2D80 +28E0 +ENDCHAR +STARTCHAR U_50B2 +ENCODING 20658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +3F00 +4900 +5FE0 +C940 +7F40 +4940 +5D40 +5480 +6540 +4A20 +ENDCHAR +STARTCHAR U_50B3 +ENCODING 20659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +2A40 +2FC0 +6A40 +BFC0 +2280 +3FE0 +2880 +2480 +2180 +ENDCHAR +STARTCHAR U_50B4 +ENCODING 20660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2BC0 +2A40 +2BC0 +6800 +AEE0 +2AA0 +2AA0 +2EE0 +2800 +2FE0 +ENDCHAR +STARTCHAR U_50B5 +ENCODING 20661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2100 +27C0 +6100 +AFE0 +2440 +27C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_50B6 +ENCODING 20662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +3FE0 +5500 +5700 +D520 +5F20 +5540 +5E80 +55A0 +54E0 +6D20 +ENDCHAR +STARTCHAR U_50B7 +ENCODING 20663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +2C40 +37C0 +6440 +BFE0 +2400 +2FE0 +3520 +2A20 +24C0 +ENDCHAR +STARTCHAR U_50B8 +ENCODING 20664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FC0 +2200 +3740 +6A80 +B740 +2A80 +3740 +2200 +2580 +3860 +ENDCHAR +STARTCHAR U_50B9 +ENCODING 20665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +4480 +5FE0 +C840 +4FC0 +4840 +4FC0 +4480 +44A0 +58E0 +ENDCHAR +STARTCHAR U_50BA +ENCODING 20666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +52A0 +5AC0 +6440 +5BA0 +D000 +6FE0 +4100 +4940 +5120 +6720 +ENDCHAR +STARTCHAR U_50BB +ENCODING 20667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +2AA0 +2920 +6AA0 +AFE0 +2A40 +37E0 +2C80 +2300 +2CE0 +ENDCHAR +STARTCHAR U_50BC +ENCODING 20668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3FE0 +4480 +4780 +CFC0 +4A40 +4FC0 +4200 +5FE0 +4480 +5860 +ENDCHAR +STARTCHAR U_50BD +ENCODING 20669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +2FE0 +6440 +A7C0 +2440 +27C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_50BE +ENCODING 20670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1080 +2BE0 +2A20 +6FE0 +AA20 +2BE0 +2E20 +2BE0 +3140 +2620 +ENDCHAR +STARTCHAR U_50BF +ENCODING 20671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +25C0 +2500 +6FE0 +A400 +2FC0 +2800 +2FE0 +2AA0 +3560 +ENDCHAR +STARTCHAR U_50C0 +ENCODING 20672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +7FE0 +5540 +D760 +6000 +5FE0 +5220 +4FC0 +4A40 +4A40 +4AC0 +ENDCHAR +STARTCHAR U_50C1 +ENCODING 20673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +5240 +4A80 +5FE0 +CA80 +7260 +4000 +4640 +5520 +54A0 +6380 +ENDCHAR +STARTCHAR U_50C2 +ENCODING 20674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17C0 +2540 +2FE0 +6540 +AFC0 +2940 +3FE0 +2440 +2380 +3E60 +ENDCHAR +STARTCHAR U_50C3 +ENCODING 20675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +3FE0 +5500 +DFE0 +6020 +4FA0 +4AA0 +4FA0 +4AA0 +4FA0 +4AE0 +ENDCHAR +STARTCHAR U_50C4 +ENCODING 20676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +4480 +5FE0 +54A0 +DFE0 +4000 +4FC0 +4000 +5FE0 +4940 +5320 +ENDCHAR +STARTCHAR U_50C5 +ENCODING 20677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +1FE0 +2280 +27C0 +6540 +A540 +2FE0 +2100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_50C6 +ENCODING 20678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +37E0 +2AA0 +23E0 +7AA0 +ABE0 +2880 +2BE0 +2880 +3480 +23E0 +ENDCHAR +STARTCHAR U_50C7 +ENCODING 20679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3EE0 +2AA0 +4660 +4AA0 +57A0 +C940 +5620 +4080 +4720 +4040 +4F80 +ENDCHAR +STARTCHAR U_50C8 +ENCODING 20680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +27C0 +2440 +6FE0 +AAA0 +2AA0 +2FE0 +2480 +2300 +3CE0 +ENDCHAR +STARTCHAR U_50C9 +ENCODING 20681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +3180 +DF60 +0000 +7BC0 +4A40 +7BC0 +1080 +2940 +C620 +ENDCHAR +STARTCHAR U_50CA +ENCODING 20682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1280 +2FE0 +2AA0 +6FE0 +A200 +3FE0 +2CC0 +35A0 +2440 +23C0 +ENDCHAR +STARTCHAR U_50CB +ENCODING 20683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2480 +4A40 +57A0 +C100 +4FC0 +4840 +4FC0 +4840 +4FC0 +5860 +ENDCHAR +STARTCHAR U_50CC +ENCODING 20684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +3F40 +44E0 +5FA0 +D5A0 +5FA0 +5540 +5F40 +4440 +5EA0 +4520 +ENDCHAR +STARTCHAR U_50CD +ENCODING 20685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F80 +4480 +7FE0 +D5A0 +5FA0 +55A0 +5FA0 +44A0 +5FA0 +44A0 +5F40 +ENDCHAR +STARTCHAR U_50CE +ENCODING 20686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2EE0 +4880 +CEE0 +4480 +4FC0 +4480 +5FE0 +4480 +5860 +ENDCHAR +STARTCHAR U_50CF +ENCODING 20687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +1480 +2FE0 +3520 +67E0 +A220 +2D40 +2280 +2DC0 +22A0 +2D80 +ENDCHAR +STARTCHAR U_50D0 +ENCODING 20688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +3FE0 +2200 +5FC0 +C200 +5FC0 +4A80 +7FE0 +4880 +4880 +4F80 +ENDCHAR +STARTCHAR U_50D1 +ENCODING 20689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2200 +5FE0 +4840 +D7A0 +6480 +5FE0 +5020 +57A0 +54A0 +57E0 +ENDCHAR +STARTCHAR U_50D2 +ENCODING 20690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +28A0 +5FC0 +C480 +7FE0 +5F80 +4800 +5FC0 +6840 +4FC0 +ENDCHAR +STARTCHAR U_50D3 +ENCODING 20691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17C0 +2540 +67C0 +A000 +3FE0 +2640 +2540 +27C0 +2280 +2C60 +ENDCHAR +STARTCHAR U_50D4 +ENCODING 20692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +1FE0 +2280 +2FE0 +6AA0 +AC60 +2FE0 +2080 +3FE0 +2880 +2580 +ENDCHAR +STARTCHAR U_50D5 +ENCODING 20693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +26C0 +2FE0 +2280 +6FE0 +A100 +27E0 +2100 +3FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_50D6 +ENCODING 20694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +2200 +3FE0 +6840 +AFC0 +2480 +3FE0 +2840 +2840 +2FC0 +ENDCHAR +STARTCHAR U_50D7 +ENCODING 20695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AA0 +5DC0 +6A80 +D540 +6220 +5FE0 +5220 +4FC0 +4240 +4440 +5980 +ENDCHAR +STARTCHAR U_50D8 +ENCODING 20696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +5580 +4EE0 +DF20 +51A0 +5DA0 +5540 +5D40 +51A0 +5320 +ENDCHAR +STARTCHAR U_50D9 +ENCODING 20697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FC0 +2480 +5FE0 +4100 +CFC0 +4940 +4FC0 +4940 +4FC0 +5860 +ENDCHAR +STARTCHAR U_50DA +ENCODING 20698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5540 +4F80 +D8C0 +6F80 +4880 +4F80 +4A80 +5240 +6620 +ENDCHAR +STARTCHAR U_50DB +ENCODING 20699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +7F80 +52E0 +DF20 +5280 +5E80 +5280 +7F80 +4880 +5540 +6220 +ENDCHAR +STARTCHAR U_50DC +ENCODING 20700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2D40 +2580 +54A0 +4FC0 +D020 +4FC0 +4840 +4FC0 +4840 +4480 +5FE0 +ENDCHAR +STARTCHAR U_50DD +ENCODING 20701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2FE0 +6880 +AFE0 +2880 +2FE0 +2A40 +2FE0 +3240 +26C0 +ENDCHAR +STARTCHAR U_50DE +ENCODING 20702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +1F20 +2540 +6F80 +A880 +2FC0 +2840 +2FE0 +2AA0 +2AA0 +3060 +ENDCHAR +STARTCHAR U_50DF +ENCODING 20703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +29A0 +4FE0 +4540 +CBA0 +5FE0 +4900 +5FE0 +4940 +4CA0 +5160 +ENDCHAR +STARTCHAR U_50E0 +ENCODING 20704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +1FA0 +2540 +2FE0 +6540 +A920 +2FE0 +2920 +2FE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_50E1 +ENCODING 20705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +2A40 +4FC0 +4A40 +CFC0 +4240 +5FE0 +4520 +5440 +57C0 +ENDCHAR +STARTCHAR U_50E2 +ENCODING 20706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F40 +4A80 +5FE0 +D020 +4E40 +52E0 +5D40 +45E0 +4840 +5040 +ENDCHAR +STARTCHAR U_50E3 +ENCODING 20707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +3DE0 +4880 +7DE0 +C880 +5540 +6FE0 +4840 +4FC0 +4840 +4FC0 +ENDCHAR +STARTCHAR U_50E4 +ENCODING 20708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2FE0 +2920 +6FE0 +A920 +2FE0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_50E5 +ENCODING 20709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17C0 +2100 +6FE0 +A440 +2EE0 +2440 +3FE0 +2480 +24A0 +3860 +ENDCHAR +STARTCHAR U_50E6 +ENCODING 20710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +7EC0 +40A0 +5FE0 +D280 +5E80 +4880 +5C80 +6AA0 +49A0 +5A60 +ENDCHAR +STARTCHAR U_50E7 +ENCODING 20711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +1280 +2FE0 +2D60 +6BA0 +AFE0 +2440 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_50E8 +ENCODING 20712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2540 +3FE0 +6440 +AFC0 +2840 +2FC0 +2840 +2FC0 +3860 +ENDCHAR +STARTCHAR U_50E9 +ENCODING 20713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2EE0 +2AA0 +6EE0 +ABA0 +2AA0 +2BA0 +2AA0 +2BA0 +2CE0 +ENDCHAR +STARTCHAR U_50EA +ENCODING 20714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2280 +5FE0 +4540 +C900 +5FE0 +54A0 +5FE0 +54A0 +57A0 +5060 +ENDCHAR +STARTCHAR U_50EB +ENCODING 20715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2500 +5DC0 +5040 +5DC0 +C500 +5FE0 +4240 +5520 +5440 +47C0 +ENDCHAR +STARTCHAR U_50EC +ENCODING 20716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +1480 +27E0 +2C80 +67E0 +A480 +27E0 +2480 +27E0 +2540 +2AA0 +ENDCHAR +STARTCHAR U_50ED +ENCODING 20717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +4540 +5540 +7FE0 +CCC0 +5560 +6FC0 +4840 +4FC0 +4840 +4FC0 +ENDCHAR +STARTCHAR U_50EE +ENCODING 20718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1FE0 +2440 +2280 +6FE0 +A540 +27C0 +2540 +2FE0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_50EF +ENCODING 20719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +2FE0 +2540 +6920 +B540 +2EE0 +2B40 +35E0 +2840 +3040 +ENDCHAR +STARTCHAR U_50F0 +ENCODING 20720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +AAA0 +7180 +AAC0 +24A0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_50F1 +ENCODING 20721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +5020 +5FE0 +D500 +5480 +5FE0 +5480 +57E0 +5480 +67E0 +ENDCHAR +STARTCHAR U_50F2 +ENCODING 20722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +4FE0 +4AA0 +CFE0 +4840 +4DE0 +5540 +6DE0 +4840 +5040 +ENDCHAR +STARTCHAR U_50F3 +ENCODING 20723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2FE0 +2AA0 +6FE0 +A920 +2540 +3FE0 +2580 +2940 +3120 +ENDCHAR +STARTCHAR U_50F4 +ENCODING 20724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +5520 +5DE0 +5520 +DFE0 +54A0 +57A0 +54A0 +57A0 +5020 +5060 +ENDCHAR +STARTCHAR U_50F5 +ENCODING 20725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +27C0 +2540 +67C0 +A540 +2FE0 +2540 +27C0 +2540 +2FE0 +ENDCHAR +STARTCHAR U_50F6 +ENCODING 20726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +2EE0 +6280 +AEE0 +2AA0 +2EE0 +2AA0 +2EE0 +2280 +21E0 +ENDCHAR +STARTCHAR U_50F7 +ENCODING 20727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +1FE0 +1280 +2540 +7FE0 +A540 +27E0 +2100 +2FE0 +2540 +2920 +ENDCHAR +STARTCHAR U_50F8 +ENCODING 20728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2EE0 +2440 +6EE0 +B540 +2FC0 +2000 +2FE0 +2580 +2940 +3320 +ENDCHAR +STARTCHAR U_50F9 +ENCODING 20729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2FE0 +2AA0 +6FE0 +A440 +2740 +25C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_50FA +ENCODING 20730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +27C0 +6000 +AEE0 +2AA0 +2EE0 +2100 +2FE0 +2540 +2920 +ENDCHAR +STARTCHAR U_50FB +ENCODING 20731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +3FE0 +52A0 +5E40 +D1E0 +5040 +5E40 +5BE0 +6A40 +4E40 +4040 +ENDCHAR +STARTCHAR U_50FC +ENCODING 20732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +3FC0 +5540 +5FC0 +D540 +7FE0 +5040 +5FC0 +4880 +4500 +5FC0 +ENDCHAR +STARTCHAR U_50FD +ENCODING 20733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3E40 +2940 +5F60 +4940 +DC40 +6AA0 +4920 +4240 +5520 +54A0 +6380 +ENDCHAR +STARTCHAR U_50FE +ENCODING 20734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +2FE0 +2920 +6640 +ABE0 +2200 +27E0 +2A40 +2180 +2E60 +ENDCHAR +STARTCHAR U_50FF +ENCODING 20735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +34A0 +2FC0 +6480 +BFE0 +2480 +2A40 +37A0 +2200 +2FE0 +ENDCHAR +STARTCHAR U_5100 +ENCODING 20736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FC0 +4200 +4FC0 +C200 +5FE0 +4940 +5FE0 +6D40 +5AA0 +4860 +ENDCHAR +STARTCHAR U_5101 +ENCODING 20737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2FC0 +2900 +5FC0 +4900 +CFE0 +4800 +4EE0 +4AA0 +4BA0 +4860 +ENDCHAR +STARTCHAR U_5102 +ENCODING 20738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4AA0 +4FE0 +CAA0 +5FE0 +5000 +5FE0 +54A0 +5540 +6620 +ENDCHAR +STARTCHAR U_5103 +ENCODING 20739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +5540 +5740 +5040 +DFC0 +4F80 +4880 +4F80 +4880 +7FE0 +ENDCHAR +STARTCHAR U_5104 +ENCODING 20740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +4480 +5FE0 +C840 +4FC0 +4840 +4FC0 +4540 +54A0 +63A0 +ENDCHAR +STARTCHAR U_5105 +ENCODING 20741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3240 +2A80 +5FE0 +5020 +C780 +4480 +5FE0 +5120 +5FE0 +5120 +5FE0 +ENDCHAR +STARTCHAR U_5106 +ENCODING 20742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +3F80 +4AE0 +4AA0 +DFA0 +62A0 +5EA0 +56A0 +5E40 +42A0 +4D20 +ENDCHAR +STARTCHAR U_5107 +ENCODING 20743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +2AA0 +3FE0 +6000 +AFC0 +2840 +2FC0 +2540 +2C80 +3660 +ENDCHAR +STARTCHAR U_5108 +ENCODING 20744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1280 +27C0 +3820 +6FE0 +AAA0 +2FE0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_5109 +ENCODING 20745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1280 +27C0 +3820 +6EE0 +AAA0 +2AA0 +2EE0 +2440 +2AA0 +3120 +ENDCHAR +STARTCHAR U_510A +ENCODING 20746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +1FE0 +2440 +2EE0 +7540 +A000 +3FE0 +2520 +25C0 +2B00 +31E0 +ENDCHAR +STARTCHAR U_510B +ENCODING 20747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +1480 +2FE0 +3AA0 +6FE0 +A800 +2BE0 +2800 +2BE0 +2A20 +33E0 +ENDCHAR +STARTCHAR U_510C +ENCODING 20748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +5280 +5EE0 +5320 +DEA0 +48A0 +7FA0 +50A0 +5E40 +52A0 +6D20 +ENDCHAR +STARTCHAR U_510D +ENCODING 20749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2D40 +2AC0 +4D40 +CFC0 +4480 +4A40 +77A0 +4480 +4300 +5CE0 +ENDCHAR +STARTCHAR U_510E +ENCODING 20750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3FC0 +24A0 +5FE0 +C480 +5FA0 +54A0 +5FC0 +54C0 +7FA0 +4520 +ENDCHAR +STARTCHAR U_510F +ENCODING 20751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +26E0 +24A0 +4E40 +DAA0 +4440 +5A80 +5FE0 +4700 +4A80 +5260 +ENDCHAR +STARTCHAR U_5110 +ENCODING 20752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2820 +27E0 +6940 +A7C0 +3C40 +27C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_5111 +ENCODING 20753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2FE0 +2820 +6FE0 +A440 +2AA0 +2440 +2EE0 +2440 +2AA0 +ENDCHAR +STARTCHAR U_5112 +ENCODING 20754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2FE0 +2920 +67C0 +A100 +2FE0 +2100 +2FE0 +2AA0 +2AE0 +ENDCHAR +STARTCHAR U_5113 +ENCODING 20755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +4200 +4F80 +4880 +FFE0 +64A0 +5FC0 +4200 +5FC0 +4200 +7FE0 +ENDCHAR +STARTCHAR U_5114 +ENCODING 20756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +4200 +5FE0 +4220 +DFC0 +4000 +5FE0 +4040 +5FE0 +5540 +5CC0 +ENDCHAR +STARTCHAR U_5115 +ENCODING 20757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5540 +4A80 +DAC0 +6AA0 +4840 +4FC0 +4840 +4FC0 +5040 +ENDCHAR +STARTCHAR U_5116 +ENCODING 20758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3E80 +34E0 +5E80 +5EC0 +D520 +5E20 +4000 +5FC0 +5540 +5540 +7FE0 +ENDCHAR +STARTCHAR U_5117 +ENCODING 20759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AE0 +2C20 +4AC0 +4E40 +D1E0 +5E40 +6940 +5F60 +4940 +55C0 +6260 +ENDCHAR +STARTCHAR U_5118 +ENCODING 20760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2240 +3FE0 +4240 +4FC0 +C200 +5FE0 +4AA0 +5FC0 +5540 +7FE0 +ENDCHAR +STARTCHAR U_5119 +ENCODING 20761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +67C0 +5540 +5FE0 +C480 +7780 +57C0 +5440 +57C0 +5000 +6FE0 +ENDCHAR +STARTCHAR U_511A +ENCODING 20762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3FE0 +4480 +5FC0 +D540 +5FE0 +5420 +4F80 +5480 +4300 +5C00 +ENDCHAR +STARTCHAR U_511B +ENCODING 20763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2FE0 +3540 +4FE0 +C540 +7FE0 +4840 +5FE0 +6B40 +45E0 +5840 +ENDCHAR +STARTCHAR U_511C +ENCODING 20764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2AA0 +2540 +6FE0 +AAA0 +3FE0 +2000 +3FE0 +2100 +2700 +ENDCHAR +STARTCHAR U_511D +ENCODING 20765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +36C0 +2D80 +4480 +CB40 +5FE0 +5220 +4FC0 +4680 +4A40 +5220 +ENDCHAR +STARTCHAR U_511E +ENCODING 20766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +2A40 +5FE0 +D220 +5B60 +56A0 +5B60 +5B60 +56A0 +5B60 +ENDCHAR +STARTCHAR U_511F +ENCODING 20767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +3FE0 +34A0 +2480 +6FC0 +A840 +2F40 +2BC0 +2840 +2FC0 +3860 +ENDCHAR +STARTCHAR U_5120 +ENCODING 20768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +3500 +4A80 +5FC0 +D540 +5FC0 +56C0 +5B40 +56C0 +5240 +5B20 +ENDCHAR +STARTCHAR U_5121 +ENCODING 20769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +5240 +5FC0 +5240 +DFC0 +4000 +7FE0 +6AA0 +7FE0 +6AA0 +7FE0 +ENDCHAR +STARTCHAR U_5122 +ENCODING 20770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2200 +5FE0 +5220 +D7E0 +5540 +57C0 +5540 +57C0 +6AA0 +53C0 +ENDCHAR +STARTCHAR U_5123 +ENCODING 20771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +3280 +57C0 +D280 +5FE0 +5540 +57C0 +5540 +57C0 +6C60 +ENDCHAR +STARTCHAR U_5124 +ENCODING 20772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1440 +27C0 +2440 +6FE0 +A280 +3FE0 +2540 +3BA0 +2540 +3B20 +ENDCHAR +STARTCHAR U_5125 +ENCODING 20773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +2FE0 +6AA0 +AFE0 +2440 +27C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_5126 +ENCODING 20774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5540 +5540 +DFC0 +54A0 +56C0 +54A0 +56E0 +5540 +5AA0 +ENDCHAR +STARTCHAR U_5127 +ENCODING 20775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +1EE0 +2440 +2EE0 +6AA0 +A7C0 +2440 +27C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_5128 +ENCODING 20776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2880 +2EE0 +68C0 +B540 +2FC0 +2840 +2FC0 +2840 +2FC0 +3860 +ENDCHAR +STARTCHAR U_5129 +ENCODING 20777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +5520 +55E0 +5D20 +D5E0 +5D00 +57E0 +5D60 +4AA0 +5520 +62C0 +ENDCHAR +STARTCHAR U_512A +ENCODING 20778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2440 +27C0 +2440 +6FE0 +B220 +2D40 +37A0 +2480 +2300 +3CE0 +ENDCHAR +STARTCHAR U_512B +ENCODING 20779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +4480 +DFE0 +5020 +4FC0 +4200 +4D40 +5380 +4540 +4B20 +ENDCHAR +STARTCHAR U_512C +ENCODING 20780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +3E20 +4BE0 +DE20 +4BE0 +7E20 +57E0 +5D40 +5540 +5D40 +5660 +ENDCHAR +STARTCHAR U_512D +ENCODING 20781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +7F20 +55E0 +4920 +FF20 +49E0 +5D20 +49E0 +5C80 +69A0 +5AE0 +ENDCHAR +STARTCHAR U_512E +ENCODING 20782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +2A40 +2FE0 +6940 +ABE0 +2D40 +2900 +35E0 +2500 +2FE0 +ENDCHAR +STARTCHAR U_512F +ENCODING 20783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1540 +1FE0 +2100 +2FE0 +6280 +AFC0 +3920 +2900 +2FE0 +2520 +2AE0 +ENDCHAR +STARTCHAR U_5130 +ENCODING 20784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3FE0 +5480 +4A00 +DF80 +4480 +47C0 +4840 +5FE0 +6AA0 +5560 +ENDCHAR +STARTCHAR U_5131 +ENCODING 20785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +3E80 +2BE0 +3E20 +6AE0 +AE80 +2AE0 +2E80 +2AE0 +2AA0 +36E0 +ENDCHAR +STARTCHAR U_5132 +ENCODING 20786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +3DE0 +40A0 +5DE0 +C080 +5DE0 +4320 +5DE0 +5520 +5DE0 +5520 +ENDCHAR +STARTCHAR U_5133 +ENCODING 20787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +5FC0 +4AA0 +CFE0 +4480 +4FC0 +5940 +4FC0 +4520 +59E0 +ENDCHAR +STARTCHAR U_5134 +ENCODING 20788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5540 +DDC0 +4500 +5FC0 +4500 +5FE0 +4D40 +5480 +4660 +ENDCHAR +STARTCHAR U_5135 +ENCODING 20789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2640 +5980 +5240 +DFE0 +5AA0 +5FE0 +5100 +5FE0 +4540 +4AA0 +ENDCHAR +STARTCHAR U_5136 +ENCODING 20790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2FE0 +4900 +DFE0 +6900 +4FE0 +4900 +5FE0 +54A0 +57A0 +5020 +ENDCHAR +STARTCHAR U_5137 +ENCODING 20791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2000 +2FE0 +2AA0 +6FE0 +AAA0 +2FE0 +2C80 +37E0 +2480 +26E0 +ENDCHAR +STARTCHAR U_5138 +ENCODING 20792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +2FE0 +2940 +75E0 +A940 +37E0 +3D40 +21E0 +2B40 +35E0 +ENDCHAR +STARTCHAR U_5139 +ENCODING 20793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +3540 +2FE0 +6A40 +B7E0 +2440 +27C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_513A +ENCODING 20794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +7F40 +55E0 +4940 +FFE0 +4940 +7FE0 +4940 +7FE0 +5540 +63E0 +ENDCHAR +STARTCHAR U_513B +ENCODING 20795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +7FE0 +68A0 +5FC0 +D540 +5FC0 +4200 +4FC0 +4200 +5FE0 +52A0 +ENDCHAR +STARTCHAR U_513C +ENCODING 20796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +5520 +5FE0 +5280 +DE80 +53E0 +5EA0 +53A0 +5E40 +52A0 +6320 +ENDCHAR +STARTCHAR U_513D +ENCODING 20797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +5240 +5FC0 +7240 +DFE0 +6AA0 +5FE0 +4440 +5FA0 +4A80 +7660 +ENDCHAR +STARTCHAR U_513E +ENCODING 20798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +4A40 +DFE0 +5540 +4FC0 +4480 +5FE0 +4500 +4D80 +5660 +ENDCHAR +STARTCHAR U_513F +ENCODING 20799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +1100 +1100 +1100 +1100 +1100 +1100 +2120 +4120 +80E0 +ENDCHAR +STARTCHAR U_5140 +ENCODING 20800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0080 +FFC0 +1200 +1200 +1200 +1200 +1200 +2200 +2240 +4240 +81C0 +ENDCHAR +STARTCHAR U_5141 +ENCODING 20801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +1000 +2100 +7F80 +1280 +1200 +1200 +1200 +2240 +2240 +C1C0 +ENDCHAR +STARTCHAR U_5142 +ENCODING 20802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +4400 +4400 +FFE0 +0A00 +0A00 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_5143 +ENCODING 20803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +7F80 +0000 +0000 +FFC0 +1200 +1200 +2200 +2240 +4240 +81C0 +ENDCHAR +STARTCHAR U_5144 +ENCODING 20804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F00 +4100 +4100 +4100 +7F00 +5500 +1400 +1400 +2440 +4440 +83C0 +ENDCHAR +STARTCHAR U_5145 +ENCODING 20805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +FFC0 +0800 +1100 +7F80 +1280 +1200 +1200 +2240 +2240 +C1C0 +ENDCHAR +STARTCHAR U_5146 +ENCODING 20806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +9240 +5280 +5300 +1200 +3380 +5240 +9200 +2240 +4240 +81C0 +ENDCHAR +STARTCHAR U_5147 +ENCODING 20807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +4A80 +4480 +4A80 +5080 +7F80 +1200 +1200 +2240 +4240 +81C0 +ENDCHAR +STARTCHAR U_5148 +ENCODING 20808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2400 +3FC0 +4400 +8400 +FFE0 +1200 +1200 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_5149 +ENCODING 20809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +2480 +0400 +FFE0 +1200 +1200 +1220 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_514A +ENCODING 20810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +1100 +2480 +4840 +9120 +3F80 +0840 +0A00 +1200 +2220 +43E0 +ENDCHAR +STARTCHAR U_514B +ENCODING 20811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +2080 +2080 +3F80 +0A00 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_514C +ENCODING 20812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2100 +4080 +BF40 +2100 +2100 +3F00 +0A00 +1220 +2220 +41E0 +ENDCHAR +STARTCHAR U_514D +ENCODING 20813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +3E00 +4400 +FF80 +4880 +4880 +7F80 +1400 +1440 +2440 +C3C0 +ENDCHAR +STARTCHAR U_514E +ENCODING 20814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +3E00 +0400 +3F80 +2480 +2480 +3FC0 +0A00 +1280 +2220 +C1E0 +ENDCHAR +STARTCHAR U_514F +ENCODING 20815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4200 +43C0 +4200 +4200 +7FE0 +4500 +4500 +4900 +9120 +A0E0 +ENDCHAR +STARTCHAR U_5150 +ENCODING 20816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +2440 +27C0 +2000 +0900 +0900 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_5151 +ENCODING 20817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2100 +1200 +3F00 +2100 +2100 +2100 +3F00 +1200 +1240 +2240 +C1C0 +ENDCHAR +STARTCHAR U_5152 +ENCODING 20818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +6780 +4080 +7380 +4080 +7F80 +5280 +1200 +1240 +2240 +C1C0 +ENDCHAR +STARTCHAR U_5153 +ENCODING 20819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +A280 +A280 +FFE0 +5080 +5180 +5280 +5AA0 +94A0 +8860 +ENDCHAR +STARTCHAR U_5154 +ENCODING 20820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F00 +2200 +7FC0 +A440 +3FC0 +0400 +0A80 +0AA0 +1220 +61E0 +ENDCHAR +STARTCHAR U_5155 +ENCODING 20821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F780 +9480 +9480 +9C80 +8080 +FF80 +9280 +1200 +1240 +2240 +C1C0 +ENDCHAR +STARTCHAR U_5156 +ENCODING 20822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +FFC0 +2100 +4880 +9240 +2100 +3E80 +1200 +1240 +2240 +C1C0 +ENDCHAR +STARTCHAR U_5157 +ENCODING 20823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +2100 +4080 +BF40 +2100 +3F00 +1400 +1440 +2440 +C3C0 +ENDCHAR +STARTCHAR U_5158 +ENCODING 20824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FA00 +0280 +FA40 +57C0 +5000 +57C0 +5440 +57C0 +9020 +8FE0 +ENDCHAR +STARTCHAR U_5159 +ENCODING 20825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +1080 +7FE0 +4480 +4480 +7C80 +2880 +28A0 +4820 +87E0 +ENDCHAR +STARTCHAR U_515A +ENCODING 20826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4900 +2A00 +FFC0 +8040 +BF40 +2100 +3F00 +1400 +1440 +2440 +C3C0 +ENDCHAR +STARTCHAR U_515B +ENCODING 20827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +7F80 +1080 +7C80 +47E0 +4480 +7C80 +2880 +28A0 +4820 +87E0 +ENDCHAR +STARTCHAR U_515C +ENCODING 20828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2800 +DEC0 +9240 +9E40 +9240 +FEC0 +8040 +1200 +1240 +2240 +C1C0 +ENDCHAR +STARTCHAR U_515D +ENCODING 20829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +FD40 +1220 +7C20 +47C0 +4540 +7D40 +2A40 +2CC0 +4820 +87E0 +ENDCHAR +STARTCHAR U_515E +ENCODING 20830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FB00 +2100 +FFC0 +8900 +8FC0 +F900 +5120 +50C0 +5020 +8FE0 +ENDCHAR +STARTCHAR U_515F +ENCODING 20831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A280 +A280 +FBE0 +2480 +2480 +FBE0 +5280 +5680 +9AA0 +A4A0 +08E0 +ENDCHAR +STARTCHAR U_5160 +ENCODING 20832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +EEA0 +2AC0 +2E80 +6A80 +AEA0 +2060 +1200 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_5161 +ENCODING 20833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F880 +2100 +FBE0 +8A20 +8BE0 +FA20 +53E0 +5000 +5020 +8FE0 +ENDCHAR +STARTCHAR U_5162 +ENCODING 20834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +8A20 +FBE0 +5080 +5580 +5AA0 +A2A0 +8C60 +ENDCHAR +STARTCHAR U_5163 +ENCODING 20835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FC00 +27E0 +F4A0 +97E0 +94A0 +F7E0 +5480 +5BE0 +9020 +0FE0 +ENDCHAR +STARTCHAR U_5164 +ENCODING 20836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A7E0 +AD40 +67E0 +FC80 +57E0 +56A0 +57E0 +5540 +5A20 +8FE0 +ENDCHAR +STARTCHAR U_5165 +ENCODING 20837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +0400 +0400 +0400 +0A00 +0A00 +1100 +1100 +2080 +4040 +8020 +ENDCHAR +STARTCHAR U_5166 +ENCODING 20838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +8200 +8200 +8200 +8500 +8500 +8880 +9040 +A020 +8000 +FFE0 +ENDCHAR +STARTCHAR U_5167 +ENCODING 20839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +0800 +FF80 +8880 +8880 +8880 +9480 +A280 +C280 +8080 +8180 +ENDCHAR +STARTCHAR U_5168 +ENCODING 20840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2080 +DF60 +0400 +0400 +1F00 +0400 +0400 +7FC0 +ENDCHAR +STARTCHAR U_5169 +ENCODING 20841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +0800 +FFC0 +8840 +CC40 +AA40 +AA40 +DD40 +8840 +8840 +88C0 +ENDCHAR +STARTCHAR U_516A +ENCODING 20842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +3180 +DF60 +0000 +7940 +4940 +7A80 +4A80 +7940 +4940 +ENDCHAR +STARTCHAR U_516B +ENCODING 20843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +0200 +1200 +1200 +1200 +1100 +1100 +2080 +2080 +4040 +8020 +ENDCHAR +STARTCHAR U_516C +ENCODING 20844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +1100 +1080 +2080 +2440 +4420 +8800 +0900 +1080 +3FC0 +1040 +ENDCHAR +STARTCHAR U_516D +ENCODING 20845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +0000 +FFE0 +0000 +0000 +1100 +1080 +2040 +4020 +8020 +ENDCHAR +STARTCHAR U_516E +ENCODING 20846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2080 +5F40 +8820 +0800 +1F80 +0080 +0080 +0080 +0700 +ENDCHAR +STARTCHAR U_516F +ENCODING 20847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +4040 +2080 +1100 +1200 +FFC0 +0840 +0840 +0840 +0840 +0980 +0800 +ENDCHAR +STARTCHAR U_5170 +ENCODING 20848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +7FC0 +0000 +0000 +0000 +3F80 +0000 +0000 +0000 +FFE0 +ENDCHAR +STARTCHAR U_5171 +ENCODING 20849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7FC0 +1100 +1100 +1100 +FFE0 +0000 +1100 +2080 +4040 +ENDCHAR +STARTCHAR U_5172 +ENCODING 20850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +3F00 +0400 +0400 +FFC0 +0000 +1200 +2100 +4080 +8060 +ENDCHAR +STARTCHAR U_5173 +ENCODING 20851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +7FC0 +0400 +0400 +FFC0 +0400 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_5174 +ENCODING 20852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0840 +4440 +2480 +2080 +0100 +FFE0 +0000 +1100 +1080 +2040 +4040 +ENDCHAR +STARTCHAR U_5175 +ENCODING 20853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +3E00 +2000 +3FE0 +2100 +2100 +2100 +FFE0 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_5176 +ENCODING 20854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +1F00 +1100 +1F00 +1100 +FFE0 +1100 +2080 +C040 +ENDCHAR +STARTCHAR U_5177 +ENCODING 20855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +2080 +3F80 +2080 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5178 +ENCODING 20856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +0A00 +3FC0 +2A40 +3FC0 +2A40 +2A40 +FFE0 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_5179 +ENCODING 20857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +1200 +FFE0 +2100 +2100 +4A40 +FBC0 +2100 +2100 +4A40 +FBE0 +ENDCHAR +STARTCHAR U_517A +ENCODING 20858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +1100 +20C0 +DFA0 +0880 +3280 +C100 +7A40 +4B80 +4A20 +79E0 +ENDCHAR +STARTCHAR U_517B +ENCODING 20859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +0400 +7FC0 +0800 +FFE0 +1100 +3180 +D160 +1100 +2100 +ENDCHAR +STARTCHAR U_517C +ENCODING 20860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +1200 +7F80 +1280 +FFE0 +1280 +7F80 +3300 +5280 +9260 +ENDCHAR +STARTCHAR U_517D +ENCODING 20861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +7FC0 +4440 +7FC0 +4440 +FFE0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_517E +ENCODING 20862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +3F80 +2480 +3F80 +2480 +3F80 +1100 +7FC0 +1100 +FFE0 +2080 +ENDCHAR +STARTCHAR U_517F +ENCODING 20863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7FC0 +1100 +7BC0 +1140 +7A40 +1F60 +0000 +FFE0 +0900 +3F80 +ENDCHAR +STARTCHAR U_5180 +ENCODING 20864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7B80 +0A20 +7FE0 +2480 +3F80 +2480 +7FC0 +0900 +FFE0 +0900 +70E0 +ENDCHAR +STARTCHAR U_5181 +ENCODING 20865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97E0 +5420 +27E0 +FD40 +A7E0 +FD40 +A7E0 +FDA0 +2540 +F920 +29A0 +ENDCHAR +STARTCHAR U_5182 +ENCODING 20866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +8040 +8040 +8040 +8040 +8040 +8040 +8040 +8040 +81C0 +ENDCHAR +STARTCHAR U_5183 +ENCODING 20867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +FF80 +8080 +8080 +BE80 +8080 +8080 +BE80 +8080 +8080 +8380 +ENDCHAR +STARTCHAR U_5184 +ENCODING 20868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +3F80 +2080 +2080 +FFE0 +2080 +2080 +FFE0 +2080 +2080 +2380 +ENDCHAR +STARTCHAR U_5185 +ENCODING 20869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +FFC0 +8840 +8840 +8C40 +9240 +A140 +8040 +8040 +81C0 +ENDCHAR +STARTCHAR U_5186 +ENCODING 20870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +FF80 +8880 +8880 +8880 +FF80 +8080 +8080 +8080 +8080 +8380 +ENDCHAR +STARTCHAR U_5187 +ENCODING 20871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0800 +1000 +1F80 +3080 +5080 +1080 +1080 +1080 +1180 +ENDCHAR +STARTCHAR U_5188 +ENCODING 20872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +8140 +9140 +8A40 +8440 +8A40 +9140 +A140 +8040 +81C0 +ENDCHAR +STARTCHAR U_5189 +ENCODING 20873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +4440 +7FC0 +4440 +4440 +FFE0 +4040 +4040 +41C0 +ENDCHAR +STARTCHAR U_518A +ENCODING 20874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +4A40 +4A40 +FFE0 +4A40 +4A40 +4A40 +4A40 +4A40 +40C0 +ENDCHAR +STARTCHAR U_518B +ENCODING 20875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 0 -1 +BITMAP +FFC0 +8040 +8040 +9E40 +9240 +9240 +9E40 +8040 +8040 +81C0 +ENDCHAR +STARTCHAR U_518C +ENCODING 20876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +4A40 +4A40 +FFE0 +4A40 +4A40 +4A40 +4A40 +4A40 +9CC0 +ENDCHAR +STARTCHAR U_518D +ENCODING 20877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +3F80 +2480 +3F80 +2480 +2480 +FFE0 +2080 +2080 +2180 +ENDCHAR +STARTCHAR U_518E +ENCODING 20878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3E80 +2280 +2280 +FFE0 +8020 +8020 +8020 +8020 +80E0 +ENDCHAR +STARTCHAR U_518F +ENCODING 20879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +9240 +A140 +DEC0 +9240 +9240 +9240 +9E40 +8040 +80C0 +ENDCHAR +STARTCHAR U_5190 +ENCODING 20880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +8080 +BE80 +8080 +7F00 +4100 +7F00 +4100 +7F00 +4100 +4300 +ENDCHAR +STARTCHAR U_5191 +ENCODING 20881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +FF80 +8880 +FF80 +8880 +FF80 +4100 +5D00 +4100 +5D00 +4300 +ENDCHAR +STARTCHAR U_5192 +ENCODING 20882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +BFA0 +8020 +BFA0 +2080 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_5193 +ENCODING 20883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +7FC0 +1100 +FFE0 +2480 +3F80 +2480 +FFE0 +2080 +ENDCHAR +STARTCHAR U_5194 +ENCODING 20884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +5F40 +4040 +5F40 +0000 +F7C0 +9100 +9FE0 +F100 +0300 +ENDCHAR +STARTCHAR U_5195 +ENCODING 20885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +5F40 +4040 +5F40 +2200 +7F80 +A480 +3FA0 +0A20 +F1E0 +ENDCHAR +STARTCHAR U_5196 +ENCODING 20886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 3 0 6 +BITMAP +7FE0 +4040 +8080 +ENDCHAR +STARTCHAR U_5197 +ENCODING 20887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FE0 +4020 +9F40 +1100 +1100 +1100 +1100 +2120 +4120 +80E0 +ENDCHAR +STARTCHAR U_5198 +ENCODING 20888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +7FC0 +8880 +0800 +0C00 +0C00 +1400 +1440 +2440 +C3C0 +ENDCHAR +STARTCHAR U_5199 +ENCODING 20889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +9040 +1F80 +1000 +1FC0 +0040 +7F40 +0040 +0280 +0100 +ENDCHAR +STARTCHAR U_519A +ENCODING 20890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FE0 +4020 +8400 +0400 +4440 +4440 +4440 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_519B +ENCODING 20891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +0800 +7F80 +1000 +2400 +7F80 +0400 +FFC0 +0400 +0400 +ENDCHAR +STARTCHAR U_519C +ENCODING 20892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4420 +8C40 +1200 +1240 +3280 +5100 +9480 +1860 +1020 +ENDCHAR +STARTCHAR U_519D +ENCODING 20893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FE0 +4040 +9F00 +1100 +1F00 +1100 +1F00 +1100 +1100 +FFE0 +ENDCHAR +STARTCHAR U_519E +ENCODING 20894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +0400 +2480 +1500 +FFE0 +0E00 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_519F +ENCODING 20895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +8820 +3F80 +2080 +3F80 +2080 +3F80 +4000 +7F80 +4020 +3FE0 +ENDCHAR +STARTCHAR U_51A0 +ENCODING 20896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +80A0 +7880 +03E0 +FC80 +5280 +5080 +51A0 +5020 +8FE0 +ENDCHAR +STARTCHAR U_51A1 +ENCODING 20897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +9F80 +0000 +7FE0 +0880 +1500 +6A00 +1700 +6AE0 +1600 +ENDCHAR +STARTCHAR U_51A2 +ENCODING 20898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +7F00 +1000 +2C80 +D500 +2E00 +D500 +2480 +C440 +1800 +ENDCHAR +STARTCHAR U_51A3 +ENCODING 20899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FE0 +8020 +7F80 +2400 +3DC0 +2540 +3C80 +2480 +7D40 +0620 +ENDCHAR +STARTCHAR U_51A4 +ENCODING 20900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8820 +1F00 +2200 +7FC0 +A240 +3FC0 +0A00 +0AA0 +3220 +C1E0 +ENDCHAR +STARTCHAR U_51A5 +ENCODING 20901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +BFA0 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_51A6 +ENCODING 20902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +8020 +3900 +01C0 +FD00 +2BC0 +2A40 +2980 +2920 +4AA0 +87E0 +ENDCHAR +STARTCHAR U_51A7 +ENCODING 20903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FE0 +4040 +9100 +1100 +7BC0 +1100 +3B80 +5540 +9120 +1100 +ENDCHAR +STARTCHAR U_51A8 +ENCODING 20904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +BFC0 +0000 +1F80 +1080 +3FC0 +2240 +3FC0 +2240 +3FC0 +ENDCHAR +STARTCHAR U_51A9 +ENCODING 20905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +3B80 +2080 +3B80 +2080 +3FE0 +4120 +94A0 +2A20 +4A60 +ENDCHAR +STARTCHAR U_51AA +ENCODING 20906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8A20 +BFA0 +2080 +3F80 +2080 +FFE0 +1500 +7FC0 +A4A0 +2580 +ENDCHAR +STARTCHAR U_51AB +ENCODING 20907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 0 -1 +BITMAP +80 +40 +20 +00 +10 +20 +C0 +40 +40 +40 +40 +ENDCHAR +STARTCHAR U_51AC +ENCODING 20908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F00 +3100 +4A00 +0400 +1B00 +E4E0 +0200 +1800 +0400 +0200 +ENDCHAR +STARTCHAR U_51AD +ENCODING 20909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0A00 +1100 +2080 +CC60 +0300 +1900 +0400 +0200 +ENDCHAR +STARTCHAR U_51AE +ENCODING 20910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 0 -1 +BITMAP +8F80 +4200 +4200 +0200 +2200 +4200 +C200 +4200 +4200 +5FC0 +ENDCHAR +STARTCHAR U_51AF +ENCODING 20911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8F80 +4080 +4480 +1480 +2480 +27E0 +C020 +5FA0 +4020 +4020 +00C0 +ENDCHAR +STARTCHAR U_51B0 +ENCODING 20912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +0120 +2D40 +2580 +4580 +C940 +4940 +5120 +4100 +0700 +ENDCHAR +STARTCHAR U_51B1 +ENCODING 20913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2200 +0200 +13C0 +2440 +2440 +4840 +CF80 +4080 +4080 +5FE0 +ENDCHAR +STARTCHAR U_51B2 +ENCODING 20914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +2FE0 +0920 +2920 +2920 +CFE0 +4920 +4100 +4100 +0100 +ENDCHAR +STARTCHAR U_51B3 +ENCODING 20915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +2FC0 +0240 +2240 +2240 +5FE0 +C200 +4500 +4880 +5060 +ENDCHAR +STARTCHAR U_51B4 +ENCODING 20916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +8FE0 +4080 +4480 +1480 +2FE0 +4180 +C280 +4480 +5880 +0100 +ENDCHAR +STARTCHAR U_51B5 +ENCODING 20917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +4840 +4840 +0840 +2FC0 +2500 +C500 +4500 +4520 +4920 +51E0 +ENDCHAR +STARTCHAR U_51B6 +ENCODING 20918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4200 +0440 +2FE0 +2020 +47C0 +C440 +4440 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_51B7 +ENCODING 20919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4200 +0500 +2880 +3260 +4100 +4FC0 +8080 +8700 +8100 +0080 +ENDCHAR +STARTCHAR U_51B8 +ENCODING 20920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4920 +2520 +2540 +0FE0 +1100 +2100 +DFE0 +4100 +4100 +0100 +ENDCHAR +STARTCHAR U_51B9 +ENCODING 20921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8280 +4240 +4FE0 +0200 +23C0 +2540 +4540 +C880 +4880 +5340 +2420 +ENDCHAR +STARTCHAR U_51BA +ENCODING 20922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +2FC0 +0900 +0900 +1FE0 +2900 +C880 +4AA0 +4C60 +4820 +ENDCHAR +STARTCHAR U_51BB +ENCODING 20923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +2400 +2500 +0900 +5FE0 +C100 +4540 +4920 +5120 +0300 +ENDCHAR +STARTCHAR U_51BC +ENCODING 20924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4500 +27E0 +2900 +0100 +2FE0 +C280 +4280 +42A0 +44A0 +1860 +ENDCHAR +STARTCHAR U_51BD +ENCODING 20925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9F20 +4420 +46A0 +0AA0 +2AA0 +2AA0 +56A0 +C2A0 +4420 +4820 +50E0 +ENDCHAR +STARTCHAR U_51BE +ENCODING 20926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4500 +4880 +1040 +0FA0 +2000 +2FC0 +4840 +C840 +4FC0 +4840 +ENDCHAR +STARTCHAR U_51BF +ENCODING 20927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +47C0 +2140 +2FE0 +0140 +17C0 +2100 +C7C0 +4100 +4FE0 +0100 +ENDCHAR +STARTCHAR U_51C0 +ENCODING 20928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +4F80 +4900 +1FC0 +2240 +3FE0 +2240 +CFC0 +4200 +4200 +4E00 +ENDCHAR +STARTCHAR U_51C1 +ENCODING 20929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +9FE0 +4200 +4FC0 +1A40 +2A40 +2FC0 +C200 +4700 +4A80 +3260 +ENDCHAR +STARTCHAR U_51C2 +ENCODING 20930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +47C0 +2880 +2FE0 +1920 +2920 +2FE0 +C280 +42A0 +44A0 +5860 +ENDCHAR +STARTCHAR U_51C3 +ENCODING 20931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4200 +4500 +0880 +3760 +2200 +4F80 +C200 +4A80 +5240 +2620 +ENDCHAR +STARTCHAR U_51C4 +ENCODING 20932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4FE0 +4240 +0FE0 +0240 +2FC0 +2240 +DFE0 +4480 +4340 +5C20 +ENDCHAR +STARTCHAR U_51C5 +ENCODING 20933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +5220 +5220 +1FE0 +1220 +37A0 +54A0 +D4A0 +57A0 +5020 +5FE0 +ENDCHAR +STARTCHAR U_51C6 +ENCODING 20934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +8900 +4FE0 +5900 +0900 +2FC0 +2900 +CFC0 +4900 +4900 +4FE0 +ENDCHAR +STARTCHAR U_51C7 +ENCODING 20935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8940 +4940 +5D40 +0A20 +1AA0 +2C80 +6900 +C900 +4940 +4BE0 +4A20 +ENDCHAR +STARTCHAR U_51C8 +ENCODING 20936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5220 +4940 +0FC0 +2140 +3FE0 +C140 +4FC0 +4100 +4100 +4700 +ENDCHAR +STARTCHAR U_51C9 +ENCODING 20937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +4000 +07C0 +2440 +2440 +27C0 +C100 +4540 +4920 +5320 +ENDCHAR +STARTCHAR U_51CA +ENCODING 20938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +4100 +07C0 +0100 +2FE0 +2440 +C7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_51CB +ENCODING 20939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4920 +4FE0 +0920 +2FE0 +2820 +CBA0 +4AA0 +4BA0 +5020 +20E0 +ENDCHAR +STARTCHAR U_51CC +ENCODING 20940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4FC0 +4200 +3FE0 +2880 +5460 +C780 +4C80 +5300 +4480 +1860 +ENDCHAR +STARTCHAR U_51CD +ENCODING 20941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +4100 +0FE0 +2920 +2FE0 +4920 +CFE0 +4540 +4920 +5120 +ENDCHAR +STARTCHAR U_51CE +ENCODING 20942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0700 +8880 +5040 +4FA0 +2200 +2200 +DFE0 +5240 +4A80 +4200 +5FE0 +ENDCHAR +STARTCHAR U_51CF +ENCODING 20943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +80A0 +5FE0 +5080 +1780 +30A0 +57A0 +D5C0 +56A0 +5160 +6220 +ENDCHAR +STARTCHAR U_51D0 +ENCODING 20944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4280 +4FE0 +2AA0 +2AA0 +2FE0 +4100 +C7C0 +4100 +4100 +4FE0 +ENDCHAR +STARTCHAR U_51D1 +ENCODING 20945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4100 +4FC0 +0200 +2FE0 +2840 +37A0 +C100 +5FE0 +4480 +5860 +ENDCHAR +STARTCHAR U_51D2 +ENCODING 20946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4540 +2540 +27C0 +1000 +2FE0 +C440 +47C0 +4280 +4100 +0FE0 +ENDCHAR +STARTCHAR U_51D3 +ENCODING 20947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +4280 +2FE0 +2AA0 +0FE0 +1100 +2FE0 +C100 +4380 +4540 +1920 +ENDCHAR +STARTCHAR U_51D4 +ENCODING 20948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4280 +2540 +2920 +07C0 +2440 +27C0 +C440 +4BE0 +4A20 +53E0 +ENDCHAR +STARTCHAR U_51D5 +ENCODING 20949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +4820 +27C0 +2440 +17C0 +2440 +C7C0 +4100 +5FE0 +4280 +0C60 +ENDCHAR +STARTCHAR U_51D6 +ENCODING 20950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2BE0 +0880 +5BE0 +C880 +4BE0 +4880 +0BE0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_51D7 +ENCODING 20951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2920 +2FE0 +0900 +2FE0 +2900 +DFC0 +4900 +4FC0 +4900 +4FE0 +ENDCHAR +STARTCHAR U_51D8 +ENCODING 20952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8AE0 +5F80 +4A80 +0EE0 +2AA0 +2EA0 +4AA0 +DFA0 +4AA0 +5120 +6220 +ENDCHAR +STARTCHAR U_51D9 +ENCODING 20953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4AA0 +2FE0 +2100 +0FE0 +2100 +5FE0 +C440 +4FE0 +4100 +5FE0 +ENDCHAR +STARTCHAR U_51DA +ENCODING 20954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +9FE0 +4480 +4EC0 +15A0 +2FC0 +2000 +DFE0 +4580 +4940 +3320 +ENDCHAR +STARTCHAR U_51DB +ENCODING 20955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +7FE0 +5540 +1740 +1040 +3FC0 +C000 +7FE0 +4A80 +5240 +6620 +ENDCHAR +STARTCHAR U_51DC +ENCODING 20956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +BFE0 +5540 +5740 +1040 +3FC0 +4200 +DFE0 +4A80 +5240 +6220 +ENDCHAR +STARTCHAR U_51DD +ENCODING 20957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +89E0 +4CA0 +4840 +0E40 +29E0 +2E40 +5440 +DF60 +4540 +4B40 +52E0 +ENDCHAR +STARTCHAR U_51DE +ENCODING 20958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BEE0 +64A0 +24A0 +6EA0 +AAE0 +AE80 +A480 +A4A0 +BEE0 +4A40 +9120 +ENDCHAR +STARTCHAR U_51DF +ENCODING 20959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +9FE0 +4100 +4FE0 +1AA0 +2FE0 +2440 +C7C0 +4440 +47C0 +4C60 +ENDCHAR +STARTCHAR U_51E0 +ENCODING 20960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +1100 +1100 +1100 +1100 +1100 +1100 +1100 +2120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_51E1 +ENCODING 20961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +1100 +1100 +1100 +1900 +1500 +1500 +1100 +2120 +4120 +80E0 +ENDCHAR +STARTCHAR U_51E2 +ENCODING 20962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0800 +1F00 +1100 +1100 +1100 +1100 +1120 +2120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_51E3 +ENCODING 20963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +1F00 +1100 +1100 +1100 +1100 +1120 +2120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_51E4 +ENCODING 20964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +4080 +5E80 +4280 +5280 +4A80 +4480 +44A0 +4AA0 +5260 +8020 +ENDCHAR +STARTCHAR U_51E5 +ENCODING 20965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4000 +4F00 +4900 +4900 +4900 +4920 +5120 +A0E0 +ENDCHAR +STARTCHAR U_51E6 +ENCODING 20966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2380 +3A80 +4A80 +AA80 +2AA0 +12A0 +14A0 +2860 +4600 +81E0 +ENDCHAR +STARTCHAR U_51E7 +ENCODING 20967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +4440 +5F40 +5540 +5540 +5540 +5540 +5740 +4460 +8420 +ENDCHAR +STARTCHAR U_51E8 +ENCODING 20968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +4080 +5E80 +4080 +7F80 +4880 +4880 +5280 +5EA0 +4060 +8020 +ENDCHAR +STARTCHAR U_51E9 +ENCODING 20969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +4440 +4440 +5F40 +4440 +4E40 +5540 +6540 +4460 +8020 +ENDCHAR +STARTCHAR U_51EA +ENCODING 20970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +4080 +4480 +4480 +5480 +5680 +5480 +5480 +54A0 +BF60 +8020 +ENDCHAR +STARTCHAR U_51EB +ENCODING 20971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7F00 +5100 +4B00 +4000 +7FC0 +0040 +3E40 +22A0 +4220 +81E0 +ENDCHAR +STARTCHAR U_51EC +ENCODING 20972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +4080 +5E80 +4080 +5E80 +5280 +5E80 +5280 +5EA0 +4060 +8020 +ENDCHAR +STARTCHAR U_51ED +ENCODING 20973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +3F00 +6200 +BFE0 +2200 +2FC0 +0000 +1F00 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_51EE +ENCODING 20974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +4080 +5E80 +4880 +5E80 +5280 +5E80 +5280 +5EA0 +40A0 +8060 +ENDCHAR +STARTCHAR U_51EF +ENCODING 20975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABC0 +AA40 +FA40 +0240 +FA40 +0A40 +FA40 +8240 +9240 +A440 +C860 +ENDCHAR +STARTCHAR U_51F0 +ENCODING 20976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +4880 +5E80 +5280 +5E80 +5280 +7F80 +4480 +5FA0 +8460 +BFA0 +ENDCHAR +STARTCHAR U_51F1 +ENCODING 20977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +AA40 +FA40 +0240 +FA40 +0240 +FA40 +8A40 +FA40 +5440 +F860 +ENDCHAR +STARTCHAR U_51F2 +ENCODING 20978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5240 +7F40 +5440 +7F40 +5540 +7FC0 +5540 +7F40 +9640 +9560 +ENDCHAR +STARTCHAR U_51F3 +ENCODING 20979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A80 +5140 +2E80 +C060 +1F00 +1100 +FFE0 +0000 +1F20 +1120 +E0E0 +ENDCHAR +STARTCHAR U_51F4 +ENCODING 20980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4900 +2FC0 +2900 +CFE0 +5520 +5560 +1F00 +1100 +1120 +E1E0 +ENDCHAR +STARTCHAR U_51F5 +ENCODING 20981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +4020 +4020 +4020 +4020 +4020 +4020 +4020 +4020 +FFE0 +4020 +ENDCHAR +STARTCHAR U_51F6 +ENCODING 20982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +9120 +8A20 +8420 +8620 +8A20 +9120 +A120 +8020 +FFE0 +8020 +ENDCHAR +STARTCHAR U_51F7 +ENCODING 20983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +8420 +8420 +9F20 +8420 +8420 +BFA0 +8020 +8020 +FFE0 +ENDCHAR +STARTCHAR U_51F8 +ENCODING 20984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1E00 +1200 +1200 +1200 +F3C0 +8040 +8040 +8040 +8040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_51F9 +ENCODING 20985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +F3C0 +9240 +9240 +9240 +9E40 +8040 +8040 +8040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_51FA +ENCODING 20986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +4440 +4440 +7FC0 +0400 +8420 +8420 +8420 +8420 +FFE0 +ENDCHAR +STARTCHAR U_51FB +ENCODING 20987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +0400 +0400 +FFE0 +0400 +4440 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_51FC +ENCODING 20988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +8420 +B4A0 +9520 +9620 +A520 +C4A0 +9420 +8820 +FFE0 +8020 +ENDCHAR +STARTCHAR U_51FD +ENCODING 20989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0100 +0200 +2480 +9520 +8E20 +9520 +A4A0 +CCA0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_51FE +ENCODING 20990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0100 +0200 +3BC0 +AB60 +AAA0 +BB60 +8260 +8A20 +8420 +FFE0 +ENDCHAR +STARTCHAR U_51FF +ENCODING 20991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +2A80 +FFE0 +1100 +4A40 +5F40 +4440 +5F40 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_5200 +ENCODING 20992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +FF80 +1080 +1080 +1080 +1080 +1080 +2080 +2080 +4080 +8300 +ENDCHAR +STARTCHAR U_5201 +ENCODING 20993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +7FE0 +0040 +0040 +0240 +0C40 +3040 +C040 +0040 +0040 +0180 +ENDCHAR +STARTCHAR U_5202 +ENCODING 20994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 7 -1 +BITMAP +10 +10 +90 +90 +90 +90 +90 +10 +10 +10 +70 +ENDCHAR +STARTCHAR U_5203 +ENCODING 20995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0080 +FFC0 +0880 +0880 +4880 +4880 +8880 +1080 +2080 +4080 +8700 +ENDCHAR +STARTCHAR U_5204 +ENCODING 20996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +1080 +9080 +5080 +3080 +1080 +1880 +1680 +21C0 +4280 +8100 +ENDCHAR +STARTCHAR U_5205 +ENCODING 20997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7F00 +1100 +1100 +5140 +9120 +9120 +1120 +2100 +4500 +8200 +ENDCHAR +STARTCHAR U_5206 +ENCODING 20998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2080 +2080 +4040 +BFA0 +0880 +0880 +1080 +2080 +C300 +ENDCHAR +STARTCHAR U_5207 +ENCODING 20999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2120 +3920 +E120 +2120 +2920 +3220 +2220 +0420 +08C0 +ENDCHAR +STARTCHAR U_5208 +ENCODING 21000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0820 +8920 +4920 +2920 +1120 +1120 +2920 +2520 +4420 +8020 +00E0 +ENDCHAR +STARTCHAR U_5209 +ENCODING 21001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +3EA0 +40A0 +80A0 +3CA0 +08A0 +10A0 +20A0 +4220 +4220 +3EE0 +ENDCHAR +STARTCHAR U_520A +ENCODING 21002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +1120 +1120 +1120 +FF20 +1120 +1120 +1120 +1020 +1020 +10E0 +ENDCHAR +STARTCHAR U_520B +ENCODING 21003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +0C20 +7020 +1120 +1120 +FD20 +1120 +1120 +1020 +2020 +C0E0 +ENDCHAR +STARTCHAR U_520C +ENCODING 21004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0820 +0820 +08A0 +FEA0 +08A0 +48A0 +28A0 +28A0 +0820 +2820 +10E0 +ENDCHAR +STARTCHAR U_520D +ENCODING 21005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +1F00 +2200 +4400 +BF80 +0080 +0080 +3F80 +0080 +0080 +7F80 +ENDCHAR +STARTCHAR U_520E +ENCODING 21006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +7E20 +AAA0 +2AA0 +2AA0 +4AA0 +92A0 +12A0 +2220 +4A20 +04E0 +ENDCHAR +STARTCHAR U_520F +ENCODING 21007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +7C20 +80A0 +78A0 +00A0 +F8A0 +08A0 +08A0 +0A20 +0A20 +06E0 +ENDCHAR +STARTCHAR U_5210 +ENCODING 21008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +4420 +64A0 +54A0 +44A0 +FEA0 +44A0 +44A0 +4420 +5420 +88E0 +ENDCHAR +STARTCHAR U_5211 +ENCODING 21009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E20 +2420 +24A0 +24A0 +FEA0 +24A0 +24A0 +24A0 +4420 +4420 +84E0 +ENDCHAR +STARTCHAR U_5212 +ENCODING 21010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2820 +2420 +20A0 +FEA0 +20A0 +24A0 +28A0 +10A0 +3220 +4A20 +86E0 +ENDCHAR +STARTCHAR U_5213 +ENCODING 21011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +00A0 +00A0 +FEA0 +28A0 +28A0 +28A0 +28A0 +4A20 +4C20 +88E0 +ENDCHAR +STARTCHAR U_5214 +ENCODING 21012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +F820 +2920 +2920 +2920 +FD20 +2120 +2120 +5020 +4820 +84E0 +ENDCHAR +STARTCHAR U_5215 +ENCODING 21013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0840 +0840 +1240 +E180 +0000 +FBE0 +4920 +4920 +4A20 +B4C0 +ENDCHAR +STARTCHAR U_5216 +ENCODING 21014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3E20 +22A0 +22A0 +3EA0 +22A0 +22A0 +3EA0 +22A0 +2220 +4A20 +84E0 +ENDCHAR +STARTCHAR U_5217 +ENCODING 21015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E20 +1020 +1120 +3D20 +2520 +6520 +9920 +0920 +1020 +2020 +C0E0 +ENDCHAR +STARTCHAR U_5218 +ENCODING 21016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +1020 +FEA0 +04A0 +24A0 +18A0 +08A0 +14A0 +2220 +42A0 +8040 +ENDCHAR +STARTCHAR U_5219 +ENCODING 21017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +7C40 +4540 +4540 +5540 +5540 +5540 +5540 +1140 +2840 +4440 +81C0 +ENDCHAR +STARTCHAR U_521A +ENCODING 21018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +82A0 +8AA0 +CAA0 +B2A0 +92A0 +AAA0 +CAA0 +8220 +8A20 +84E0 +ENDCHAR +STARTCHAR U_521B +ENCODING 21019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +1820 +24A0 +42A0 +BCA0 +24A0 +24A0 +38A0 +2220 +2220 +1E60 +ENDCHAR +STARTCHAR U_521C +ENCODING 21020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2820 +FEA0 +2AA0 +2AA0 +FEA0 +A8A0 +FEA0 +2AA0 +2E20 +4820 +88E0 +ENDCHAR +STARTCHAR U_521D +ENCODING 21021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +F920 +1120 +2120 +6920 +B120 +2920 +2220 +2420 +28C0 +ENDCHAR +STARTCHAR U_521E +ENCODING 21022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +44A0 +44A0 +7CA0 +44A0 +44A0 +7CA0 +44A0 +4420 +5E20 +E0E0 +ENDCHAR +STARTCHAR U_521F +ENCODING 21023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E20 +2220 +22A0 +22A0 +4CA0 +80A0 +7EA0 +42A0 +4220 +7E20 +42E0 +ENDCHAR +STARTCHAR U_5220 +ENCODING 21024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE20 +AAA0 +AAA0 +AAA0 +FFA0 +AAA0 +AAA0 +AAA0 +AA20 +AA20 +B6E0 +ENDCHAR +STARTCHAR U_5221 +ENCODING 21025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +8420 +84A0 +FCA0 +90A0 +FEA0 +90A0 +92A0 +8A20 +A620 +C2E0 +ENDCHAR +STARTCHAR U_5222 +ENCODING 21026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +1820 +24A0 +54A0 +90A0 +00A0 +7CA0 +04A0 +2820 +1020 +08E0 +ENDCHAR +STARTCHAR U_5223 +ENCODING 21027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +1020 +20A0 +44A0 +FEA0 +02A0 +7CA0 +44A0 +4420 +4420 +7CE0 +ENDCHAR +STARTCHAR U_5224 +ENCODING 21028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9220 +52A0 +54A0 +10A0 +7CA0 +10A0 +FEA0 +10A0 +1020 +2020 +C0E0 +ENDCHAR +STARTCHAR U_5225 +ENCODING 21029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +4420 +4520 +7D20 +2120 +3D20 +2520 +2520 +2420 +4420 +98E0 +ENDCHAR +STARTCHAR U_5226 +ENCODING 21030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +1020 +7CA0 +10A0 +10A0 +FCA0 +10A0 +20A0 +4420 +FE20 +02E0 +ENDCHAR +STARTCHAR U_5227 +ENCODING 21031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +7920 +1120 +1120 +FD20 +1120 +1120 +2120 +4920 +FD20 +0660 +ENDCHAR +STARTCHAR U_5228 +ENCODING 21032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +3EA0 +42A0 +FAA0 +4AA0 +4AA0 +7AA0 +4CA0 +4020 +4220 +3EE0 +ENDCHAR +STARTCHAR U_5229 +ENCODING 21033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C20 +70A0 +10A0 +FEA0 +10A0 +38A0 +34A0 +52A0 +9020 +1020 +10E0 +ENDCHAR +STARTCHAR U_522A +ENCODING 21034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +AAA0 +AAA0 +AAA0 +FFA0 +AAA0 +AAA0 +AAA0 +AA20 +A220 +8EE0 +ENDCHAR +STARTCHAR U_522B +ENCODING 21035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +4420 +44A0 +7CA0 +10A0 +FEA0 +12A0 +22A0 +2220 +4220 +8CE0 +ENDCHAR +STARTCHAR U_522C +ENCODING 21036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +2820 +FD20 +2120 +2120 +FD20 +1120 +1D20 +3020 +CA20 +04E0 +ENDCHAR +STARTCHAR U_522D +ENCODING 21037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +08A0 +10A0 +28A0 +44A0 +FCA0 +10A0 +10A0 +1020 +1C20 +E0E0 +ENDCHAR +STARTCHAR U_522E +ENCODING 21038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C20 +F020 +1120 +1120 +FD20 +1120 +7D20 +4520 +4420 +7C20 +44E0 +ENDCHAR +STARTCHAR U_522F +ENCODING 21039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +0020 +7CA0 +44A0 +44A0 +7CA0 +44A0 +7CA0 +0020 +1E20 +E0E0 +ENDCHAR +STARTCHAR U_5230 +ENCODING 21040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +1020 +20A0 +44A0 +FEA0 +10A0 +7CA0 +10A0 +1020 +1E20 +E0E0 +ENDCHAR +STARTCHAR U_5231 +ENCODING 21041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57C0 +5140 +5140 +FB40 +5560 +5140 +FD40 +5140 +5240 +5240 +94C0 +ENDCHAR +STARTCHAR U_5232 +ENCODING 21042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +1120 +7D20 +1120 +1120 +FD20 +1120 +7D20 +1020 +1E20 +E0E0 +ENDCHAR +STARTCHAR U_5233 +ENCODING 21043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE20 +24A0 +42A0 +BDA0 +00A0 +FEA0 +20A0 +7C20 +04A0 +1840 +ENDCHAR +STARTCHAR U_5234 +ENCODING 21044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +2820 +2EA0 +42A0 +4AA0 +94A0 +10A0 +FEA0 +3820 +5420 +92E0 +ENDCHAR +STARTCHAR U_5235 +ENCODING 21045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +2420 +24A0 +3CA0 +24A0 +3CA0 +24A0 +26A0 +FCA0 +0420 +04E0 +ENDCHAR +STARTCHAR U_5236 +ENCODING 21046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +50A0 +7EA0 +90A0 +FEA0 +10A0 +7EA0 +52A0 +5220 +5620 +10E0 +ENDCHAR +STARTCHAR U_5237 +ENCODING 21047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E20 +4220 +7EA0 +48A0 +48A0 +7EA0 +6AA0 +AAA0 +AAA0 +2E20 +08E0 +ENDCHAR +STARTCHAR U_5238 +ENCODING 21048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2500 +7FC0 +0800 +FFE0 +2080 +5FC0 +8920 +0900 +1100 +2600 +ENDCHAR +STARTCHAR U_5239 +ENCODING 21049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6C20 +1020 +28A0 +54A0 +10A0 +FEA0 +10A0 +54A0 +5220 +9220 +30E0 +ENDCHAR +STARTCHAR U_523A +ENCODING 21050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FEA0 +10A0 +7EA0 +52A0 +52A0 +56A0 +38A0 +5420 +9220 +1060 +ENDCHAR +STARTCHAR U_523B +ENCODING 21051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +1020 +FEA0 +24A0 +48A0 +F4A0 +24A0 +48A0 +9820 +2420 +C4E0 +ENDCHAR +STARTCHAR U_523C +ENCODING 21052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +10A0 +7CA0 +12A0 +FEA0 +12A0 +2120 +2920 +4520 +9EA0 +6440 +ENDCHAR +STARTCHAR U_523D +ENCODING 21053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1820 +2420 +42A0 +B8A0 +00A0 +00A0 +FEA0 +20A0 +4820 +8C20 +F4E0 +ENDCHAR +STARTCHAR U_523E +ENCODING 21054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +7C20 +10A0 +54A0 +54A0 +10A0 +FEA0 +10A0 +2820 +2420 +C2E0 +ENDCHAR +STARTCHAR U_523F +ENCODING 21055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +9220 +92A0 +FEA0 +20A0 +3CA0 +44A0 +C4A0 +2820 +10A0 +E040 +ENDCHAR +STARTCHAR U_5240 +ENCODING 21056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +9220 +FEA0 +02A0 +7CA0 +04A0 +7CA0 +40A0 +4020 +4C20 +70E0 +ENDCHAR +STARTCHAR U_5241 +ENCODING 21057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +4420 +44A0 +44A0 +96A0 +10A0 +FEA0 +10A0 +3820 +5420 +92E0 +ENDCHAR +STARTCHAR U_5242 +ENCODING 21058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +1020 +FEA0 +44A0 +38A0 +C6A0 +24A0 +24A0 +2420 +4420 +84E0 +ENDCHAR +STARTCHAR U_5243 +ENCODING 21059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +28A0 +FEA0 +12A0 +FEA0 +90A0 +FEA0 +12A0 +3220 +5620 +90E0 +ENDCHAR +STARTCHAR U_5244 +ENCODING 21060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +54A0 +A8A0 +A8A0 +54A0 +00A0 +FEA0 +10A0 +1020 +1E20 +E0E0 +ENDCHAR +STARTCHAR U_5245 +ENCODING 21061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +0020 +7CA0 +44A0 +44A0 +7CA0 +00A0 +44A0 +2820 +1C20 +E0E0 +ENDCHAR +STARTCHAR U_5246 +ENCODING 21062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +1120 +FD20 +8520 +FD20 +8520 +FD20 +9120 +8820 +B420 +C4E0 +ENDCHAR +STARTCHAR U_5247 +ENCODING 21063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +4520 +4520 +7D20 +4520 +7D20 +4520 +4520 +7C20 +2820 +C6E0 +ENDCHAR +STARTCHAR U_5248 +ENCODING 21064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7820 +4820 +7920 +0120 +FD20 +8520 +FD20 +8520 +FC20 +8420 +8CE0 +ENDCHAR +STARTCHAR U_5249 +ENCODING 21065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +54A0 +54A0 +54A0 +BAA0 +10A0 +10A0 +7EA0 +1020 +1020 +FEE0 +ENDCHAR +STARTCHAR U_524A +ENCODING 21066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9220 +5420 +10A0 +7CA0 +44A0 +7CA0 +44A0 +7CA0 +4420 +4420 +4CE0 +ENDCHAR +STARTCHAR U_524B +ENCODING 21067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +FD40 +1140 +7D40 +4540 +4540 +7D40 +2840 +28C0 +4820 +87E0 +ENDCHAR +STARTCHAR U_524C +ENCODING 21068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE20 +10A0 +FEA0 +92A0 +FEA0 +92A0 +18A0 +34A0 +5220 +90E0 +ENDCHAR +STARTCHAR U_524D +ENCODING 21069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2100 +1200 +FFC0 +0000 +7A80 +4A80 +7A80 +4A80 +7A80 +4880 +5B80 +ENDCHAR +STARTCHAR U_524E +ENCODING 21070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6C20 +10A0 +28A0 +54A0 +14A0 +FEA0 +10A0 +38A0 +5420 +9220 +10E0 +ENDCHAR +STARTCHAR U_524F +ENCODING 21071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +24A0 +08A0 +FCA0 +2AA0 +2AA0 +FEA0 +28A0 +2920 +4AA0 +8A40 +ENDCHAR +STARTCHAR U_5250 +ENCODING 21072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +4420 +44A0 +7CA0 +10A0 +FEA0 +92A0 +9AA0 +A620 +C220 +86E0 +ENDCHAR +STARTCHAR U_5251 +ENCODING 21073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1820 +2420 +42A0 +BCA0 +00A0 +24A0 +94A0 +54A0 +4820 +1E20 +E060 +ENDCHAR +STARTCHAR U_5252 +ENCODING 21074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2820 +2820 +FEA0 +28A0 +FEA0 +00A0 +7CA0 +44A0 +7CA0 +4420 +7CE0 +ENDCHAR +STARTCHAR U_5253 +ENCODING 21075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +11E0 +FEA0 +32A0 +5920 +92C0 +0000 +7FE0 +0420 +0820 +70C0 +ENDCHAR +STARTCHAR U_5254 +ENCODING 21076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E20 +42A0 +7EA0 +42A0 +7EA0 +20A0 +7EA0 +AAA0 +5220 +2220 +CCE0 +ENDCHAR +STARTCHAR U_5255 +ENCODING 21077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2820 +2820 +EEA0 +28A0 +28A0 +EEA0 +28A0 +28A0 +EEA0 +2820 +28E0 +ENDCHAR +STARTCHAR U_5256 +ENCODING 21078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +10A0 +FEA0 +44A0 +28A0 +FEA0 +00A0 +7CA0 +4420 +4420 +7CE0 +ENDCHAR +STARTCHAR U_5257 +ENCODING 21079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2820 +2420 +FD20 +2920 +1520 +ED20 +2920 +FD20 +2920 +1420 +EC60 +ENDCHAR +STARTCHAR U_5258 +ENCODING 21080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +FE20 +44A0 +7CA0 +44A0 +7CA0 +44A0 +FEA0 +2820 +4420 +8460 +ENDCHAR +STARTCHAR U_5259 +ENCODING 21081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8800 +57C0 +F940 +5140 +5360 +5540 +FD40 +5140 +5140 +5240 +94C0 +ENDCHAR +STARTCHAR U_525A +ENCODING 21082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FEA0 +54A0 +54A0 +FEA0 +12A0 +FFA0 +12A0 +FEA0 +1020 +30E0 +ENDCHAR +STARTCHAR U_525B +ENCODING 21083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +CAA0 +AAA0 +92A0 +FEA0 +92A0 +92A0 +D6A0 +FE20 +8220 +86E0 +ENDCHAR +STARTCHAR U_525C +ENCODING 21084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +0820 +FEA0 +82A0 +7EA0 +5AA0 +DAA0 +2EA0 +2820 +4A20 +8CE0 +ENDCHAR +STARTCHAR U_525D +ENCODING 21085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3C20 +44A0 +78A0 +08A0 +FEA0 +92A0 +54A0 +38A0 +5420 +9220 +30E0 +ENDCHAR +STARTCHAR U_525E +ENCODING 21086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE20 +28A0 +44A0 +FEA0 +04A0 +74A0 +54A0 +7420 +0420 +1CE0 +ENDCHAR +STARTCHAR U_525F +ENCODING 21087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE20 +AAA0 +44A0 +AAA0 +91A0 +00A0 +EEA0 +AAA0 +44A0 +AA20 +91E0 +ENDCHAR +STARTCHAR U_5260 +ENCODING 21088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2040 +1040 +FE40 +0040 +7D40 +4540 +7D40 +1140 +5840 +9440 +31C0 +ENDCHAR +STARTCHAR U_5261 +ENCODING 21089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5220 +5220 +94A0 +28A0 +C6A0 +10A0 +52A0 +94A0 +1020 +28A0 +C640 +ENDCHAR +STARTCHAR U_5262 +ENCODING 21090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +2020 +72A0 +94A0 +28A0 +68A0 +BCA0 +2AA0 +CA20 +2820 +10E0 +ENDCHAR +STARTCHAR U_5263 +ENCODING 21091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +2820 +44A0 +BAA0 +10A0 +7CA0 +54A0 +7CA0 +1020 +2820 +C460 +ENDCHAR +STARTCHAR U_5264 +ENCODING 21092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0820 +7E20 +2420 +18A0 +24A0 +42A0 +BFA0 +22A0 +3E20 +4220 +8260 +ENDCHAR +STARTCHAR U_5265 +ENCODING 21093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +0420 +7CA0 +04A0 +FEA0 +10A0 +54A0 +38A0 +5420 +9220 +30E0 +ENDCHAR +STARTCHAR U_5266 +ENCODING 21094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE20 +4420 +92A0 +7DA0 +54A0 +7CA0 +54A0 +7C20 +1020 +1C60 +ENDCHAR +STARTCHAR U_5267 +ENCODING 21095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E20 +4220 +7EA0 +48A0 +48A0 +7EA0 +48A0 +7EA0 +6220 +A220 +BEE0 +ENDCHAR +STARTCHAR U_5268 +ENCODING 21096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE20 +10A0 +7CA0 +10A0 +7CA0 +10A0 +FEA0 +6420 +A420 +3CE0 +ENDCHAR +STARTCHAR U_5269 +ENCODING 21097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0620 +7820 +10A0 +FEA0 +54A0 +D6A0 +54A0 +D6A0 +3820 +5420 +92E0 +ENDCHAR +STARTCHAR U_526A +ENCODING 21098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +4840 +7A40 +4A40 +7A40 +48C0 +0000 +7FC0 +0840 +7180 +ENDCHAR +STARTCHAR U_526B +ENCODING 21099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE20 +A4A0 +FEA0 +A4A0 +BCA0 +80A0 +FEA0 +A420 +9820 +E6E0 +ENDCHAR +STARTCHAR U_526C +ENCODING 21100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9220 +92A0 +FEA0 +00A0 +FEA0 +10A0 +FEA0 +AAA0 +AA20 +AA20 +86E0 +ENDCHAR +STARTCHAR U_526D +ENCODING 21101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +82A0 +FEA0 +80A0 +FEA0 +A4A0 +FEA0 +88A0 +BE20 +8820 +FF60 +ENDCHAR +STARTCHAR U_526E +ENCODING 21102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +44A0 +74A0 +54A0 +FEA0 +82A0 +BAA0 +AAA0 +AA20 +BA20 +86E0 +ENDCHAR +STARTCHAR U_526F +ENCODING 21103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +00A0 +7CA0 +44A0 +7CA0 +00A0 +FEA0 +92A0 +FE20 +9220 +FEE0 +ENDCHAR +STARTCHAR U_5270 +ENCODING 21104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C20 +7020 +10A0 +FEA0 +54A0 +FEA0 +54A0 +FEA0 +3820 +5420 +9260 +ENDCHAR +STARTCHAR U_5271 +ENCODING 21105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2000 +53C0 +8940 +7140 +2340 +FD40 +A940 +FA40 +2240 +5440 +88C0 +ENDCHAR +STARTCHAR U_5272 +ENCODING 21106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE20 +92A0 +7CA0 +10A0 +7CA0 +10A0 +FEA0 +4420 +4420 +7CE0 +ENDCHAR +STARTCHAR U_5273 +ENCODING 21107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +FE20 +44A0 +54A0 +28A0 +44A0 +BAA0 +00A0 +7C20 +4420 +7CE0 +ENDCHAR +STARTCHAR U_5274 +ENCODING 21108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9220 +92A0 +FEA0 +00A0 +FEA0 +00A0 +7CA0 +44A0 +7C20 +2820 +FEE0 +ENDCHAR +STARTCHAR U_5275 +ENCODING 21109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +2820 +54A0 +FEA0 +44A0 +7CA0 +44A0 +7CA0 +C420 +4420 +7CE0 +ENDCHAR +STARTCHAR U_5276 +ENCODING 21110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +7E20 +4420 +FCA0 +08A0 +FEA0 +52A0 +A8A0 +5C20 +AA20 +58E0 +ENDCHAR +STARTCHAR U_5277 +ENCODING 21111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FEA0 +44A0 +28A0 +7FA0 +68A0 +7EA0 +48A0 +7E20 +8820 +3EE0 +ENDCHAR +STARTCHAR U_5278 +ENCODING 21112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FEA0 +54A0 +7CA0 +54A0 +7CA0 +54A0 +0AA0 +FE20 +4820 +18E0 +ENDCHAR +STARTCHAR U_5279 +ENCODING 21113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE20 +2220 +AAA0 +36A0 +48A0 +94A0 +6AA0 +12A0 +6420 +0820 +F0E0 +ENDCHAR +STARTCHAR U_527A +ENCODING 21114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7DE0 +1340 +FD40 +5480 +9340 +3FE0 +2000 +2FE0 +4420 +98C0 +ENDCHAR +STARTCHAR U_527B +ENCODING 21115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9220 +9220 +FEA0 +00A0 +EEA0 +AAA0 +EEA0 +AAA0 +EEA0 +AA20 +B6E0 +ENDCHAR +STARTCHAR U_527C +ENCODING 21116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +7CA0 +24A0 +FEA0 +10A0 +28A0 +D6A0 +28A0 +5420 +0820 +70E0 +ENDCHAR +STARTCHAR U_527D +ENCODING 21117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +28A0 +FEA0 +AAA0 +FEA0 +00A0 +7CA0 +00A0 +FEA0 +5420 +B360 +ENDCHAR +STARTCHAR U_527E +ENCODING 21118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +8020 +BCA0 +A4A0 +BCA0 +80A0 +FEA0 +DAA0 +FE20 +8020 +FEE0 +ENDCHAR +STARTCHAR U_527F +ENCODING 21119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5420 +A8A0 +54A0 +7CA0 +54A0 +7CA0 +54A0 +FEA0 +2820 +5420 +92E0 +ENDCHAR +STARTCHAR U_5280 +ENCODING 21120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +2820 +FEA0 +2AA0 +48A0 +FEA0 +AAA0 +FEA0 +AA20 +BA20 +86E0 +ENDCHAR +STARTCHAR U_5281 +ENCODING 21121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4820 +7EA0 +48A0 +FEA0 +48A0 +7EA0 +48A0 +7EA0 +0020 +5220 +A960 +ENDCHAR +STARTCHAR U_5282 +ENCODING 21122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF20 +D420 +A4A0 +FFA0 +A0A0 +AAA0 +AAA0 +FAA0 +A620 +A920 +50E0 +ENDCHAR +STARTCHAR U_5283 +ENCODING 21123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +7EA0 +12A0 +FFA0 +12A0 +FFA0 +54A0 +7CA0 +5420 +5420 +FEE0 +ENDCHAR +STARTCHAR U_5284 +ENCODING 21124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4820 +7F20 +AAA0 +10A0 +38A0 +44A0 +BAA0 +00A0 +7EA0 +4220 +7E60 +ENDCHAR +STARTCHAR U_5285 +ENCODING 21125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +AA20 +FEA0 +40A0 +7EA0 +92A0 +7EA0 +56A0 +7E20 +1220 +FA60 +ENDCHAR +STARTCHAR U_5286 +ENCODING 21126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0820 +7E20 +54A0 +7EA0 +54A0 +7BA0 +54A0 +7EA0 +5420 +B620 +D5E0 +ENDCHAR +STARTCHAR U_5287 +ENCODING 21127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1E20 +1020 +FEA0 +92A0 +BCA0 +92A0 +FEA0 +ADA0 +D620 +A520 +D9E0 +ENDCHAR +STARTCHAR U_5288 +ENCODING 21128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +47E0 +7D40 +43E0 +7C80 +A7E0 +3C80 +0080 +7FC0 +0840 +7180 +ENDCHAR +STARTCHAR U_5289 +ENCODING 21129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DE20 +8A20 +AAA0 +D6A0 +28A0 +FEA0 +10A0 +FEA0 +9220 +5420 +FEE0 +ENDCHAR +STARTCHAR U_528A +ENCODING 21130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3820 +4420 +BAA0 +00A0 +FEA0 +AAA0 +FEA0 +44A0 +7C20 +4420 +7CE0 +ENDCHAR +STARTCHAR U_528B +ENCODING 21131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +4420 +7CA0 +00A0 +EEA0 +AAA0 +EEA0 +10A0 +FF20 +5420 +9360 +ENDCHAR +STARTCHAR U_528C +ENCODING 21132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E20 +2820 +7F20 +0AA0 +7FA0 +44A0 +7DA0 +56A0 +7520 +AB20 +9160 +ENDCHAR +STARTCHAR U_528D +ENCODING 21133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +2820 +44A0 +BAA0 +00A0 +EEA0 +AAA0 +EEA0 +4420 +AA20 +9160 +ENDCHAR +STARTCHAR U_528E +ENCODING 21134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +29E0 +44A0 +BAA0 +00A0 +EEA0 +AAA0 +EEA0 +4520 +4520 +AA60 +ENDCHAR +STARTCHAR U_528F +ENCODING 21135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9220 +5420 +FEA0 +82A0 +7CA0 +44A0 +FEA0 +92A0 +FE20 +9220 +FEE0 +ENDCHAR +STARTCHAR U_5290 +ENCODING 21136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +FF20 +24A0 +7EA0 +C8A0 +7EA0 +48A0 +7EA0 +2420 +1820 +66E0 +ENDCHAR +STARTCHAR U_5291 +ENCODING 21137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FF20 +2AA0 +54A0 +56A0 +95A0 +42A0 +7EA0 +4220 +7E20 +82E0 +ENDCHAR +STARTCHAR U_5292 +ENCODING 21138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +29E0 +46A0 +BAA0 +01A0 +EEA0 +AAA0 +EEA0 +0120 +4520 +AA60 +ENDCHAR +STARTCHAR U_5293 +ENCODING 21139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +7C20 +54A0 +54A0 +FEA0 +92A0 +FEA0 +92A0 +FF20 +2420 +C4E0 +ENDCHAR +STARTCHAR U_5294 +ENCODING 21140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +53C0 +8940 +7540 +0140 +FB40 +A9C0 +F960 +5240 +5240 +AC80 +ENDCHAR +STARTCHAR U_5295 +ENCODING 21141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7620 +44A0 +7FA0 +AAA0 +7EA0 +4AA0 +66A0 +52A0 +7E20 +2420 +4260 +ENDCHAR +STARTCHAR U_5296 +ENCODING 21142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7820 +FE20 +42A0 +FFA0 +ADA0 +EAA0 +7EA0 +52A0 +7E20 +2A20 +C7E0 +ENDCHAR +STARTCHAR U_5297 +ENCODING 21143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A420 +FF20 +24A0 +FFA0 +55A0 +FEA0 +42A0 +7EA0 +4220 +7E20 +C3E0 +ENDCHAR +STARTCHAR U_5298 +ENCODING 21144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0420 +7F20 +54A0 +7EA0 +56A0 +5DA0 +76A0 +54A0 +7620 +9420 +F760 +ENDCHAR +STARTCHAR U_5299 +ENCODING 21145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +7C20 +24A0 +FFA0 +66A0 +D5A0 +EEA0 +AAA0 +EE20 +4420 +EEE0 +ENDCHAR +STARTCHAR U_529A +ENCODING 21146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E20 +42A0 +7EA0 +54A0 +48A0 +7EA0 +56A0 +7EA0 +4A20 +CA20 +34E0 +ENDCHAR +STARTCHAR U_529B +ENCODING 21147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +0800 +FF80 +0880 +0880 +1080 +1080 +2080 +4080 +8700 +ENDCHAR +STARTCHAR U_529C +ENCODING 21148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2100 +FD00 +2500 +2500 +2500 +2520 +4520 +4520 +99E0 +ENDCHAR +STARTCHAR U_529D +ENCODING 21149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +0BE0 +8920 +4920 +3120 +1120 +2920 +4A20 +8420 +08C0 +ENDCHAR +STARTCHAR U_529E +ENCODING 21150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +1000 +FF00 +1100 +1100 +5180 +5140 +A140 +2100 +4500 +8200 +ENDCHAR +STARTCHAR U_529F +ENCODING 21151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +F900 +27E0 +2120 +2120 +2120 +3A20 +C220 +0420 +18C0 +ENDCHAR +STARTCHAR U_52A0 +ENCODING 21152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2000 +FDE0 +2520 +2520 +2520 +2520 +2520 +4520 +55E0 +8920 +ENDCHAR +STARTCHAR U_52A1 +ENCODING 21153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F80 +3100 +4A00 +0400 +1B00 +E4E0 +3F80 +0880 +1080 +6300 +ENDCHAR +STARTCHAR U_52A2 +ENCODING 21154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FC80 +2080 +3BE0 +28A0 +28A0 +28A0 +4920 +4920 +8A20 +9460 +ENDCHAR +STARTCHAR U_52A3 +ENCODING 21155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +2500 +4480 +8140 +1E00 +E400 +3FC0 +0440 +0840 +1040 +E180 +ENDCHAR +STARTCHAR U_52A4 +ENCODING 21156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1880 +6080 +43E0 +40A0 +7CA0 +48A0 +48A0 +48A0 +4920 +8920 +8A60 +ENDCHAR +STARTCHAR U_52A5 +ENCODING 21157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F900 +03E0 +7120 +5120 +5120 +5520 +5A20 +5420 +88C0 +ENDCHAR +STARTCHAR U_52A6 +ENCODING 21158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FC0 +0440 +0980 +7080 +1080 +7FE0 +14A0 +24A0 +4520 +9AC0 +ENDCHAR +STARTCHAR U_52A7 +ENCODING 21159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +7C80 +1080 +13E0 +7CA0 +10A0 +FCA0 +1120 +1120 +5220 +2460 +ENDCHAR +STARTCHAR U_52A8 +ENCODING 21160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7900 +0100 +03E0 +FD20 +2120 +2120 +4920 +FA20 +0A20 +04C0 +ENDCHAR +STARTCHAR U_52A9 +ENCODING 21161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7900 +4900 +4BE0 +7920 +4920 +7920 +4920 +5E20 +E2A0 +0440 +ENDCHAR +STARTCHAR U_52AA +ENCODING 21162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +FFC0 +5480 +9300 +6280 +DC40 +0800 +FF80 +0880 +1080 +E300 +ENDCHAR +STARTCHAR U_52AB +ENCODING 21163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7D00 +13E0 +1120 +FD20 +2120 +2920 +4A20 +7A20 +04C0 +ENDCHAR +STARTCHAR U_52AC +ENCODING 21164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4080 +7C80 +87E0 +74A0 +54A0 +54A0 +54A0 +7520 +0520 +1A60 +ENDCHAR +STARTCHAR U_52AD +ENCODING 21165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +4900 +4BE0 +4920 +4920 +9920 +0120 +F920 +8920 +8B20 +FCE0 +ENDCHAR +STARTCHAR U_52AE +ENCODING 21166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5080 +7C80 +93E0 +10A0 +FEA0 +10A0 +18A0 +2520 +4220 +8460 +ENDCHAR +STARTCHAR U_52AF +ENCODING 21167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FD00 +27E0 +2120 +4120 +7920 +C920 +4920 +4920 +7A20 +0460 +ENDCHAR +STARTCHAR U_52B0 +ENCODING 21168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4100 +FBE0 +8920 +8920 +F920 +8920 +8A20 +FA20 +04C0 +ENDCHAR +STARTCHAR U_52B1 +ENCODING 21169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +4080 +4080 +7DE0 +50A0 +5CA0 +54A0 +54A0 +5520 +AA20 +4460 +ENDCHAR +STARTCHAR U_52B2 +ENCODING 21170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +0900 +17E0 +2920 +4520 +8120 +7920 +1120 +1220 +3A20 +C460 +ENDCHAR +STARTCHAR U_52B3 +ENCODING 21171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +FFC0 +8080 +0800 +7F80 +0880 +1080 +2080 +C300 +ENDCHAR +STARTCHAR U_52B4 +ENCODING 21172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +2440 +2480 +7FE0 +4420 +8400 +7FC0 +0440 +0840 +1040 +6180 +ENDCHAR +STARTCHAR U_52B5 +ENCODING 21173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2500 +7F80 +0800 +FFE0 +2080 +4440 +BFA0 +0880 +1080 +6300 +ENDCHAR +STARTCHAR U_52B6 +ENCODING 21174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C80 +7080 +4080 +7DE0 +40A0 +5CA0 +54A0 +54A0 +5D20 +8220 +04C0 +ENDCHAR +STARTCHAR U_52B7 +ENCODING 21175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2880 +FC80 +13E0 +7CA0 +10A0 +FCA0 +1120 +1120 +2220 +C4C0 +ENDCHAR +STARTCHAR U_52B8 +ENCODING 21176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +7C80 +1080 +13E0 +FCA0 +10A0 +7CA0 +1120 +1120 +1E20 +E4C0 +ENDCHAR +STARTCHAR U_52B9 +ENCODING 21177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1080 +FC80 +4BE0 +44A0 +8AA0 +28A0 +1120 +2920 +4520 +8660 +ENDCHAR +STARTCHAR U_52BA +ENCODING 21178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4880 +7C80 +17E0 +50A0 +7CA0 +90A0 +10A0 +FD20 +1120 +1260 +ENDCHAR +STARTCHAR U_52BB +ENCODING 21179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FC80 +83E0 +FCA0 +90A0 +B8A0 +90A0 +FD20 +8120 +FE20 +04C0 +ENDCHAR +STARTCHAR U_52BC +ENCODING 21180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +13E0 +10A0 +7CA0 +00A0 +7CA0 +44A0 +4520 +7E20 +44C0 +ENDCHAR +STARTCHAR U_52BD +ENCODING 21181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FC40 +2140 +7940 +8940 +5140 +2840 +C8C0 +7F80 +0880 +1080 +6300 +ENDCHAR +STARTCHAR U_52BE +ENCODING 21182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1080 +FE80 +23E0 +48A0 +F0A0 +14A0 +28A0 +5920 +2620 +C4C0 +ENDCHAR +STARTCHAR U_52BF +ENCODING 21183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2140 +FD40 +2240 +ED60 +0800 +7FC0 +0840 +1040 +E1C0 +ENDCHAR +STARTCHAR U_52C0 +ENCODING 21184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +23E0 +F8A0 +88A0 +88A0 +F8A0 +50A0 +5520 +5A20 +94C0 +ENDCHAR +STARTCHAR U_52C1 +ENCODING 21185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +5500 +A900 +ABE0 +5520 +0120 +FD20 +2120 +2220 +3A20 +CCC0 +ENDCHAR +STARTCHAR U_52C2 +ENCODING 21186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +5100 +7FE0 +9120 +FD20 +0120 +7D20 +4520 +4520 +7E20 +44C0 +ENDCHAR +STARTCHAR U_52C3 +ENCODING 21187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +7C80 +11E0 +7EA0 +84A0 +78A0 +08A0 +10A0 +7D20 +1220 +3460 +ENDCHAR +STARTCHAR U_52C4 +ENCODING 21188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7E80 +8080 +7DE0 +54A0 +54A0 +FEA0 +54A0 +7D20 +0520 +1A60 +ENDCHAR +STARTCHAR U_52C5 +ENCODING 21189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +FE80 +13E0 +7CA0 +54A0 +7CA0 +10A0 +3920 +5520 +1260 +ENDCHAR +STARTCHAR U_52C6 +ENCODING 21190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F900 +8BE0 +F920 +8920 +F920 +A120 +B220 +CA20 +84C0 +ENDCHAR +STARTCHAR U_52C7 +ENCODING 21191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +1200 +7F80 +4880 +7F80 +4880 +7F80 +4880 +FFC0 +1040 +E380 +ENDCHAR +STARTCHAR U_52C8 +ENCODING 21192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +5100 +2100 +FBE0 +A920 +F920 +A920 +FA20 +AA20 +AA20 +BCC0 +ENDCHAR +STARTCHAR U_52C9 +ENCODING 21193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3880 +4BE0 +7CA0 +D4A0 +54A0 +7D20 +2A20 +2CC0 +4820 +87E0 +ENDCHAR +STARTCHAR U_52CA +ENCODING 21194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +23C0 +F940 +8940 +8940 +F940 +5240 +5480 +5060 +8FC0 +ENDCHAR +STARTCHAR U_52CB +ENCODING 21195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8900 +F900 +03E0 +F920 +8920 +A920 +A920 +A120 +5220 +8CC0 +ENDCHAR +STARTCHAR U_52CC +ENCODING 21196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5500 +1100 +7D00 +13E0 +FD20 +2920 +4520 +B920 +2920 +2220 +3CC0 +ENDCHAR +STARTCHAR U_52CD +ENCODING 21197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1080 +FDE0 +00A0 +7CA0 +44A0 +7CA0 +10A0 +5920 +9520 +3260 +ENDCHAR +STARTCHAR U_52CE +ENCODING 21198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7080 +23E0 +FCA0 +48A0 +A4A0 +20A0 +F920 +2120 +3A20 +C4C0 +ENDCHAR +STARTCHAR U_52CF +ENCODING 21199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1080 +FC80 +4BE0 +50A0 +FCA0 +00A0 +78A0 +4920 +4920 +7A60 +ENDCHAR +STARTCHAR U_52D0 +ENCODING 21200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +0880 +1080 +FFE0 +10A0 +50A0 +20A0 +7CA0 +5520 +5520 +FE60 +ENDCHAR +STARTCHAR U_52D1 +ENCODING 21201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +5480 +55E0 +BAA0 +10A0 +3920 +3520 +5520 +9220 +1460 +ENDCHAR +STARTCHAR U_52D2 +ENCODING 21202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F900 +5100 +77E0 +2120 +F920 +A920 +F920 +2220 +FA20 +2460 +ENDCHAR +STARTCHAR U_52D3 +ENCODING 21203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9480 +F880 +95E0 +DCA0 +20A0 +FCA0 +84A0 +FCA0 +8520 +FD20 +8660 +ENDCHAR +STARTCHAR U_52D4 +ENCODING 21204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FC80 +2080 +FBE0 +A8A0 +B8A0 +A8A0 +B920 +A920 +FA20 +0460 +ENDCHAR +STARTCHAR U_52D5 +ENCODING 21205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +1080 +FE80 +55E0 +7CA0 +54A0 +7CA0 +10A0 +7D20 +1120 +FE60 +ENDCHAR +STARTCHAR U_52D6 +ENCODING 21206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +8280 +BBE0 +82A0 +BAA0 +44A0 +7CA0 +44A0 +7CA0 +4520 +7E60 +ENDCHAR +STARTCHAR U_52D7 +ENCODING 21207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2040 +7FC0 +4900 +7BE0 +4920 +7920 +4A20 +FC60 +ENDCHAR +STARTCHAR U_52D8 +ENCODING 21208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FE80 +2480 +3DE0 +24A0 +3CA0 +24A0 +FEA0 +54A0 +6320 +7E60 +ENDCHAR +STARTCHAR U_52D9 +ENCODING 21209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +53E0 +2640 +F980 +2A40 +3520 +6FE0 +A120 +2120 +A2A0 +6C40 +ENDCHAR +STARTCHAR U_52DA +ENCODING 21210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5480 +FE80 +5480 +5DE0 +40A0 +7CA0 +44A0 +54A0 +1120 +2920 +C660 +ENDCHAR +STARTCHAR U_52DB +ENCODING 21211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4880 +FDE0 +84A0 +FCA0 +84A0 +FCA0 +84A0 +FD20 +4A20 +8460 +ENDCHAR +STARTCHAR U_52DC +ENCODING 21212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +5480 +AA80 +7DE0 +00A0 +EEA0 +22A0 +AAA0 +66A0 +AAA0 +4560 +ENDCHAR +STARTCHAR U_52DD +ENCODING 21213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +9540 +9FE0 +F200 +9FE0 +9240 +F520 +9FC0 +9240 +9440 +B9C0 +ENDCHAR +STARTCHAR U_52DE +ENCODING 21214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2100 +B580 +A500 +5280 +8C40 +FFC0 +8840 +7F80 +1080 +2080 +C300 +ENDCHAR +STARTCHAR U_52DF +ENCODING 21215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +2880 +FFE0 +4840 +BFA0 +1080 +6300 +ENDCHAR +STARTCHAR U_52E0 +ENCODING 21216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE80 +AA80 +6680 +ABE0 +18A0 +E6A0 +38A0 +04A0 +78A0 +0520 +7A60 +ENDCHAR +STARTCHAR U_52E1 +ENCODING 21217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +2880 +FE80 +ABE0 +FEA0 +00A0 +FEA0 +54A0 +5520 +9520 +2260 +ENDCHAR +STARTCHAR U_52E2 +ENCODING 21218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +1140 +FF40 +5540 +BAA0 +1420 +7FC0 +0440 +0840 +7180 +ENDCHAR +STARTCHAR U_52E3 +ENCODING 21219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +11E0 +FCA0 +10A0 +FEA0 +44A0 +7CA0 +4520 +7D20 +C660 +ENDCHAR +STARTCHAR U_52E4 +ENCODING 21220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +FE80 +2880 +7FE0 +54A0 +54A0 +7CA0 +10A0 +7D20 +1120 +FE60 +ENDCHAR +STARTCHAR U_52E5 +ENCODING 21221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +1440 +FFE0 +8920 +FFE0 +1140 +77E0 +0820 +7FC0 +0840 +F0C0 +ENDCHAR +STARTCHAR U_52E6 +ENCODING 21222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5480 +A880 +5480 +7DE0 +54A0 +7CA0 +54A0 +FEA0 +1920 +5520 +9260 +ENDCHAR +STARTCHAR U_52E7 +ENCODING 21223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7C80 +93E0 +20A0 +7CA0 +D0A0 +7CA0 +50A0 +7D20 +5120 +7E60 +ENDCHAR +STARTCHAR U_52E8 +ENCODING 21224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +9080 +7C80 +55E0 +7CA0 +20A0 +D4A0 +38A0 +5520 +A920 +5A60 +ENDCHAR +STARTCHAR U_52E9 +ENCODING 21225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +FC80 +4BE0 +78A0 +40A0 +7CA0 +44A0 +7CA0 +4520 +7D20 +C660 +ENDCHAR +STARTCHAR U_52EA +ENCODING 21226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +1080 +FE80 +45E0 +BAA0 +28A0 +FEA0 +82A0 +BB20 +AB20 +BA60 +ENDCHAR +STARTCHAR U_52EB +ENCODING 21227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +F480 +ABE0 +FCA0 +68A0 +A4A0 +FCA0 +A4A0 +FD20 +A520 +FE60 +ENDCHAR +STARTCHAR U_52EC +ENCODING 21228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5480 +FE80 +1080 +FFE0 +54A0 +BAA0 +54A0 +FF20 +5520 +9320 +3660 +ENDCHAR +STARTCHAR U_52ED +ENCODING 21229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +2880 +FFE0 +54A0 +7CA0 +54A0 +7CA0 +1120 +1D20 +E260 +ENDCHAR +STARTCHAR U_52EE +ENCODING 21230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C80 +1080 +7FE0 +52A0 +7CA0 +50A0 +7EA0 +6AA0 +5CA0 +6AA0 +9160 +ENDCHAR +STARTCHAR U_52EF +ENCODING 21231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FC80 +8480 +B5E0 +84A0 +FCA0 +48A0 +78A0 +4920 +4920 +FE60 +ENDCHAR +STARTCHAR U_52F0 +ENCODING 21232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FAA0 +2BE0 +4AA0 +9BE0 +5220 +FCC0 +55A0 +5680 +54A0 +ACE0 +ENDCHAR +STARTCHAR U_52F1 +ENCODING 21233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +FE80 +29E0 +7CA0 +54A0 +7CA0 +54A0 +FEA0 +96A0 +FB20 +8660 +ENDCHAR +STARTCHAR U_52F2 +ENCODING 21234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +1080 +FFE0 +54A0 +7CA0 +54A0 +7D20 +1260 +FC00 +5540 +AAA0 +ENDCHAR +STARTCHAR U_52F3 +ENCODING 21235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +1080 +FE80 +ABE0 +FEA0 +10A0 +FCA0 +10A0 +FD20 +5520 +AA60 +ENDCHAR +STARTCHAR U_52F4 +ENCODING 21236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3C80 +2080 +FE80 +8BE0 +FCA0 +94A0 +FCA0 +9520 +FD20 +AA20 +9E40 +ENDCHAR +STARTCHAR U_52F5 +ENCODING 21237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +9480 +BE80 +ABE0 +BEA0 +AAA0 +FEA0 +8AA0 +BEA0 +8320 +8660 +ENDCHAR +STARTCHAR U_52F6 +ENCODING 21238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +5EE0 +AB20 +5EA0 +CA40 +4EC0 +4B20 +0400 +7FC0 +0840 +71C0 +ENDCHAR +STARTCHAR U_52F7 +ENCODING 21239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +AA80 +EFE0 +28A0 +FCA0 +28A0 +FEA0 +2AA0 +E520 +3A60 +ENDCHAR +STARTCHAR U_52F8 +ENCODING 21240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +2880 +EE80 +ABE0 +EEA0 +48A0 +FEA0 +48A0 +7D20 +4920 +7E60 +ENDCHAR +STARTCHAR U_52F9 +ENCODING 21241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +3FC0 +4040 +8040 +0040 +0040 +0040 +0040 +0040 +0040 +0380 +ENDCHAR +STARTCHAR U_52FA +ENCODING 21242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2000 +3FC0 +2040 +4040 +8840 +0440 +0440 +0040 +0040 +0040 +0380 +ENDCHAR +STARTCHAR U_52FB +ENCODING 21243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2000 +2000 +3FC0 +4040 +9E40 +0040 +0040 +3F40 +0040 +0040 +0380 +ENDCHAR +STARTCHAR U_52FC +ENCODING 21244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +2020 +4820 +BE20 +0A20 +0AA0 +12A0 +21A0 +4020 +00C0 +ENDCHAR +STARTCHAR U_52FD +ENCODING 21245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4020 +8820 +0820 +0820 +1420 +2220 +4020 +0020 +01C0 +ENDCHAR +STARTCHAR U_52FE +ENCODING 21246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +2000 +3FC0 +4040 +9040 +1040 +2440 +7E40 +0240 +0040 +0380 +ENDCHAR +STARTCHAR U_52FF +ENCODING 21247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +1FE0 +2920 +4920 +8920 +1120 +2220 +4420 +0920 +30C0 +ENDCHAR +STARTCHAR U_5300 +ENCODING 21248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +3FE0 +2020 +5820 +8620 +0020 +0320 +0C20 +3020 +0020 +01C0 +ENDCHAR +STARTCHAR U_5301 +ENCODING 21249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +1F80 +2280 +5280 +8C80 +0480 +0A80 +1180 +60E0 +0300 +ENDCHAR +STARTCHAR U_5302 +ENCODING 21250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2020 +50A0 +9320 +1C20 +10A0 +0FA0 +0020 +0020 +01C0 +ENDCHAR +STARTCHAR U_5303 +ENCODING 21251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +1220 +2220 +4220 +A520 +28A0 +2060 +3FA0 +0020 +01C0 +ENDCHAR +STARTCHAR U_5304 +ENCODING 21252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4820 +8420 +7FA0 +2020 +2020 +2020 +3F20 +0020 +01C0 +ENDCHAR +STARTCHAR U_5305 +ENCODING 21253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FC0 +4040 +7E40 +A240 +2240 +3E40 +2040 +21A0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_5306 +ENCODING 21254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +2000 +2000 +3F80 +4A80 +B280 +1A80 +2680 +4580 +8880 +1080 +2300 +ENDCHAR +STARTCHAR U_5307 +ENCODING 21255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2020 +4820 +8FA0 +08A0 +1520 +0220 +0420 +1820 +01C0 +ENDCHAR +STARTCHAR U_5308 +ENCODING 21256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +3FE0 +4020 +9220 +2D20 +2520 +2B20 +2120 +3F20 +0020 +00C0 +ENDCHAR +STARTCHAR U_5309 +ENCODING 21257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +7FC0 +8040 +3E40 +4940 +2A40 +FF40 +0840 +0840 +0840 +0180 +ENDCHAR +STARTCHAR U_530A +ENCODING 21258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +3FC0 +4840 +C940 +2A40 +FF40 +1840 +2C40 +4B40 +0840 +0180 +ENDCHAR +STARTCHAR U_530B +ENCODING 21259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +7FC0 +A040 +3E40 +4840 +FF40 +0840 +4A40 +7E40 +0040 +0180 +ENDCHAR +STARTCHAR U_530C +ENCODING 21260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4420 +4A20 +9120 +2EA0 +4060 +1F20 +1120 +1F20 +00C0 +ENDCHAR +STARTCHAR U_530D +ENCODING 21261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +7FC0 +8A40 +7F40 +4940 +7F40 +4940 +7F40 +4940 +4A40 +0180 +ENDCHAR +STARTCHAR U_530E +ENCODING 21262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4820 +BFA0 +1520 +3FA0 +5560 +1F20 +04A0 +07A0 +00C0 +ENDCHAR +STARTCHAR U_530F +ENCODING 21263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FDE0 +4A20 +87A0 +7AA0 +03A0 +FEA0 +4220 +7A40 +0A20 +73E0 +ENDCHAR +STARTCHAR U_5310 +ENCODING 21264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4020 +BFA0 +1120 +3FA0 +24A0 +3FA0 +24A0 +3FA0 +00C0 +ENDCHAR +STARTCHAR U_5311 +ENCODING 21265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +5020 +BBA0 +28A0 +3BA0 +2A20 +7BA0 +28A0 +4B20 +98C0 +ENDCHAR +STARTCHAR U_5312 +ENCODING 21266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +5120 +BFA0 +1120 +1F20 +60E0 +1F20 +1120 +1F20 +00C0 +ENDCHAR +STARTCHAR U_5313 +ENCODING 21267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2020 +7BA0 +AAA0 +3AE0 +2C20 +3BA0 +22A0 +3940 +2AC0 +ENDCHAR +STARTCHAR U_5314 +ENCODING 21268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +5020 +BBA0 +2AA0 +3BA0 +2820 +7BA0 +2AA0 +4BA0 +10C0 +ENDCHAR +STARTCHAR U_5315 +ENCODING 21269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 3 -1 +BITMAP +80 +80 +86 +98 +E0 +80 +80 +81 +81 +7F +ENDCHAR +STARTCHAR U_5316 +ENCODING 21270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2240 +2280 +6300 +A200 +2600 +2A00 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_5317 +ENCODING 21271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +1200 +F260 +1380 +1200 +1200 +3200 +5220 +9220 +11E0 +ENDCHAR +STARTCHAR U_5318 +ENCODING 21272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +82A0 +8540 +8A80 +A540 +CFE0 +8820 +8AA0 +8920 +8AA0 +A820 +6FE0 +ENDCHAR +STARTCHAR U_5319 +ENCODING 21273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +4500 +7D20 +4540 +7D80 +0100 +FF20 +5120 +5CE0 +B000 +9FE0 +ENDCHAR +STARTCHAR U_531A +ENCODING 21274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +FF80 +8000 +8000 +8000 +8000 +8000 +8000 +8000 +FFC0 +8000 +ENDCHAR +STARTCHAR U_531B +ENCODING 21275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8000 +8800 +8F80 +9080 +A100 +8200 +8500 +8880 +B040 +FFE0 +ENDCHAR +STARTCHAR U_531C +ENCODING 21276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8400 +9400 +9700 +9D00 +F500 +9500 +9080 +8F80 +8000 +FFC0 +ENDCHAR +STARTCHAR U_531D +ENCODING 21277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8000 +8400 +BF80 +A480 +A480 +A480 +A580 +8400 +8400 +FFC0 +ENDCHAR +STARTCHAR U_531E +ENCODING 21278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8000 +9F80 +8200 +8200 +8200 +8200 +BFC0 +8000 +8000 +FFE0 +ENDCHAR +STARTCHAR U_531F +ENCODING 21279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8800 +8400 +FF80 +8000 +9E00 +9280 +9280 +A180 +8000 +FFC0 +ENDCHAR +STARTCHAR U_5320 +ENCODING 21280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8100 +9E00 +9000 +9FC0 +9200 +9200 +9200 +A200 +C200 +FFC0 +ENDCHAR +STARTCHAR U_5321 +ENCODING 21281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8000 +BF80 +8400 +8400 +9F00 +8400 +8400 +BF80 +8000 +FFE0 +ENDCHAR +STARTCHAR U_5322 +ENCODING 21282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9000 +BF80 +CA80 +8A80 +9280 +A480 +8880 +9300 +8000 +FFC0 +ENDCHAR +STARTCHAR U_5323 +ENCODING 21283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8000 +BF80 +A480 +BF80 +A480 +BF80 +8400 +8400 +8400 +FFC0 +ENDCHAR +STARTCHAR U_5324 +ENCODING 21284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8000 +BFC0 +8400 +8400 +9F80 +8500 +8480 +BFC0 +8000 +FFE0 +ENDCHAR +STARTCHAR U_5325 +ENCODING 21285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8800 +9100 +BF80 +8080 +9100 +FFC0 +9100 +9100 +A100 +FFE0 +ENDCHAR +STARTCHAR U_5326 +ENCODING 21286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9100 +F900 +93C0 +A940 +FD40 +8940 +FD40 +8960 +8A40 +FFE0 +ENDCHAR +STARTCHAR U_5327 +ENCODING 21287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8400 +BFC0 +9480 +9480 +AD40 +C520 +8A00 +9100 +A0C0 +FFE0 +ENDCHAR +STARTCHAR U_5328 +ENCODING 21288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A880 +A880 +B880 +8BE0 +F880 +A880 +A880 +CBE0 +8800 +FFE0 +ENDCHAR +STARTCHAR U_5329 +ENCODING 21289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8200 +9240 +9FC0 +8200 +BFE0 +8000 +8200 +9FC0 +8200 +FFE0 +ENDCHAR +STARTCHAR U_532A +ENCODING 21290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8000 +8A00 +FBC0 +8A00 +BB80 +8A00 +FBC0 +8A00 +8A00 +FFC0 +ENDCHAR +STARTCHAR U_532B +ENCODING 21291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8800 +9FC0 +A940 +9240 +A540 +BFC0 +A040 +BFC0 +A040 +FFE0 +ENDCHAR +STARTCHAR U_532C +ENCODING 21292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8400 +8A00 +9180 +EF60 +BC40 +A540 +BD40 +A540 +A4C0 +FFE0 +ENDCHAR +STARTCHAR U_532D +ENCODING 21293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A200 +FA00 +A780 +FA80 +AA80 +FAA0 +AAA0 +FE60 +A400 +FFE0 +ENDCHAR +STARTCHAR U_532E +ENCODING 21294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8400 +9F00 +9500 +FFC0 +8000 +BF80 +A480 +AA80 +9100 +FFC0 +ENDCHAR +STARTCHAR U_532F +ENCODING 21295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A500 +97C0 +C500 +AFC0 +9500 +E7C0 +A500 +A7E0 +A400 +FFE0 +ENDCHAR +STARTCHAR U_5330 +ENCODING 21296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +AA80 +BB80 +8000 +BF80 +A480 +BF80 +A480 +FFC0 +8400 +FFC0 +ENDCHAR +STARTCHAR U_5331 +ENCODING 21297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8400 +9F00 +9500 +FFE0 +9080 +9F80 +9080 +9F80 +B0C0 +FFE0 +ENDCHAR +STARTCHAR U_5332 +ENCODING 21298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8400 +BFC0 +8900 +9F80 +E960 +8F00 +BDC0 +A540 +BDC0 +FFE0 +ENDCHAR +STARTCHAR U_5333 +ENCODING 21299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8400 +8A00 +9180 +EE60 +BB80 +AA80 +BB80 +9100 +AA80 +FFE0 +ENDCHAR +STARTCHAR U_5334 +ENCODING 21300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A100 +BDE0 +CA40 +9FC0 +9040 +9FC0 +8480 +BFE0 +8880 +FFE0 +ENDCHAR +STARTCHAR U_5335 +ENCODING 21301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8400 +BFC0 +8400 +BF80 +AA80 +BF80 +9500 +9F00 +A080 +FFE0 +ENDCHAR +STARTCHAR U_5336 +ENCODING 21302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9100 +FFC0 +9500 +BF80 +D400 +9F80 +A080 +BB80 +A080 +FFE0 +ENDCHAR +STARTCHAR U_5337 +ENCODING 21303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +AA40 +BBC0 +AA40 +BBC0 +9400 +BFC0 +E200 +BFC0 +A200 +FFE0 +ENDCHAR +STARTCHAR U_5338 +ENCODING 21304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +2000 +2000 +2000 +2000 +2000 +2000 +2000 +2000 +3FE0 +ENDCHAR +STARTCHAR U_5339 +ENCODING 21305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9200 +9200 +9200 +9200 +9240 +A240 +A1C0 +C000 +8000 +FFC0 +ENDCHAR +STARTCHAR U_533A +ENCODING 21306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +8000 +A100 +9100 +8A00 +8400 +8A00 +9100 +A100 +8000 +FFC0 +ENDCHAR +STARTCHAR U_533B +ENCODING 21307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9000 +9000 +9F80 +A400 +FFC0 +8400 +8A00 +9100 +A080 +FFC0 +ENDCHAR +STARTCHAR U_533C +ENCODING 21308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8400 +8A00 +9100 +EEC0 +8000 +9F00 +9100 +9F00 +8000 +FFC0 +ENDCHAR +STARTCHAR U_533D +ENCODING 21309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9100 +9F00 +9100 +9F00 +8400 +FF80 +9200 +8E00 +9900 +FFC0 +ENDCHAR +STARTCHAR U_533E +ENCODING 21310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8400 +BF80 +A080 +BF80 +A000 +BFC0 +B540 +DFC0 +9540 +FFE0 +ENDCHAR +STARTCHAR U_533F +ENCODING 21311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9200 +FF80 +9200 +FFC0 +8800 +9F00 +B100 +DF00 +8000 +FFC0 +ENDCHAR +STARTCHAR U_5340 +ENCODING 21312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8880 +8880 +8F80 +8000 +BDE0 +A520 +A520 +BDE0 +8000 +FFE0 +ENDCHAR +STARTCHAR U_5341 +ENCODING 21313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +0400 +FFE0 +0400 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_5342 +ENCODING 21314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF00 +1100 +1100 +1100 +FF00 +1100 +1100 +10A0 +10A0 +1060 +1020 +ENDCHAR +STARTCHAR U_5343 +ENCODING 21315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +7C00 +0400 +0400 +FFE0 +0400 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_5344 +ENCODING 21316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +1100 +1100 +FFE0 +1100 +1100 +1100 +1100 +1100 +1100 +ENDCHAR +STARTCHAR U_5345 +ENCODING 21317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2440 +2440 +2440 +FFE0 +2440 +2440 +2440 +2440 +4440 +8040 +ENDCHAR +STARTCHAR U_5346 +ENCODING 21318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7F00 +1120 +2120 +44E0 +8400 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_5347 +ENCODING 21319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0D00 +7100 +1100 +1100 +1100 +FFC0 +1100 +1100 +2100 +4100 +8100 +ENDCHAR +STARTCHAR U_5348 +ENCODING 21320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +3F80 +4400 +8400 +0400 +FFC0 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_5349 +ENCODING 21321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +0200 +1280 +1280 +1080 +FFE0 +1080 +1080 +2080 +4080 +ENDCHAR +STARTCHAR U_534A +ENCODING 21322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +2480 +1500 +7FC0 +0400 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_534B +ENCODING 21323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +0400 +2480 +2080 +FFE0 +2080 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_534C +ENCODING 21324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2A80 +2A80 +2A80 +FFE0 +2A80 +2A80 +2A80 +2A80 +2A80 +2080 +ENDCHAR +STARTCHAR U_534D +ENCODING 21325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F880 +0880 +0880 +0880 +0880 +FF80 +8800 +8800 +8800 +8800 +8FC0 +ENDCHAR +STARTCHAR U_534E +ENCODING 21326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +2280 +6300 +AE20 +2220 +21E0 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_534F +ENCODING 21327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +4F80 +E280 +4280 +4AC0 +52A0 +4480 +4480 +4A80 +5100 +ENDCHAR +STARTCHAR U_5350 +ENCODING 21328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +4200 +4200 +4200 +4200 +7FE0 +0220 +0220 +0220 +0220 +FE20 +ENDCHAR +STARTCHAR U_5351 +ENCODING 21329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +7F80 +4480 +7F80 +4480 +7F80 +1400 +FFC0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_5352 +ENCODING 21330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +1100 +2A80 +4440 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_5353 +ENCODING 21331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07C0 +0400 +3F80 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_5354 +ENCODING 21332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +2240 +FA40 +2480 +2480 +3FE0 +2AA0 +2AA0 +3320 +2440 +ENDCHAR +STARTCHAR U_5355 +ENCODING 21333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +0A00 +7FC0 +4440 +7FC0 +4440 +7FC0 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_5356 +ENCODING 21334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +1040 +2A80 +1200 +FFE0 +0200 +0D80 +7040 +ENDCHAR +STARTCHAR U_5357 +ENCODING 21335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +5140 +4A40 +7FC0 +4440 +7FC0 +4440 +44C0 +ENDCHAR +STARTCHAR U_5358 +ENCODING 21336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +2480 +3F80 +2480 +3F80 +2480 +3F80 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_5359 +ENCODING 21337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FE80 +2480 +3C80 +27E0 +3C80 +2480 +FE80 +5480 +6280 +7E80 +ENDCHAR +STARTCHAR U_535A +ENCODING 21338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +5FE0 +4200 +EFC0 +4A40 +4FC0 +4A40 +7FE0 +4880 +4480 +4180 +ENDCHAR +STARTCHAR U_535B +ENCODING 21339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +4EA0 +F1E0 +4E80 +F1E0 +0E00 +AAA0 +AEA0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_535C +ENCODING 21340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 4 -1 +BITMAP +80 +80 +80 +C0 +A0 +90 +8C +84 +80 +80 +80 +ENDCHAR +STARTCHAR U_535D +ENCODING 21341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +1200 +1200 +1200 +F3E0 +1200 +1200 +1200 +1200 +1200 +ENDCHAR +STARTCHAR U_535E +ENCODING 21342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0400 +FFC0 +0800 +0800 +0E00 +0980 +0880 +0800 +0800 +0800 +ENDCHAR +STARTCHAR U_535F +ENCODING 21343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0200 +0200 +F200 +9200 +9300 +92C0 +9240 +F200 +9200 +0200 +0200 +ENDCHAR +STARTCHAR U_5360 +ENCODING 21344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +1000 +1F80 +1000 +1000 +FF00 +8100 +8100 +8100 +FF00 +8100 +ENDCHAR +STARTCHAR U_5361 +ENCODING 21345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0F80 +0800 +0800 +FFE0 +0800 +0A00 +0900 +0880 +0800 +0800 +ENDCHAR +STARTCHAR U_5362 +ENCODING 21346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07E0 +0400 +3FC0 +2040 +2040 +3FC0 +2000 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_5363 +ENCODING 21347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0FC0 +0800 +FF80 +8080 +FC80 +8480 +FC80 +8080 +FF80 +8080 +ENDCHAR +STARTCHAR U_5364 +ENCODING 21348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0F80 +0800 +FF80 +A280 +9480 +8880 +9480 +A280 +FF80 +8080 +ENDCHAR +STARTCHAR U_5365 +ENCODING 21349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +1F80 +1000 +FFC0 +A940 +9140 +AA40 +C440 +8A40 +9040 +FFC0 +ENDCHAR +STARTCHAR U_5366 +ENCODING 21350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7D00 +1100 +FD80 +1140 +1120 +7D20 +1100 +1D00 +E100 +ENDCHAR +STARTCHAR U_5367 +ENCODING 21351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +9100 +9100 +FD80 +8560 +8520 +FD00 +9100 +9100 +FD00 +0100 +ENDCHAR +STARTCHAR U_5368 +ENCODING 21352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +3F80 +2080 +3E80 +2280 +FFE0 +8020 +9F20 +9120 +9F60 +ENDCHAR +STARTCHAR U_5369 +ENCODING 21353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 5 -1 +BITMAP +F8 +88 +88 +88 +88 +88 +A8 +90 +80 +80 +80 +ENDCHAR +STARTCHAR U_536A +ENCODING 21354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +FE +82 +A2 +92 +92 +82 +92 +8C +80 +80 +80 +ENDCHAR +STARTCHAR U_536B +ENCODING 21355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +FF80 +0880 +0880 +0880 +0A80 +0900 +0800 +0800 +0800 +FFC0 +ENDCHAR +STARTCHAR U_536C +ENCODING 21356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1800 +E7C0 +8440 +8440 +8440 +8440 +9440 +A540 +C480 +0400 +0400 +ENDCHAR +STARTCHAR U_536D +ENCODING 21357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2220 +2220 +2220 +2220 +2220 +2220 +3AA0 +C240 +0200 +0200 +ENDCHAR +STARTCHAR U_536E +ENCODING 21358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +3E00 +2000 +3FE0 +2000 +2F80 +2880 +2880 +2B20 +4820 +87E0 +ENDCHAR +STARTCHAR U_536F +ENCODING 21359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +E7C0 +8440 +9440 +9440 +9440 +B440 +D540 +1480 +2400 +C400 +ENDCHAR +STARTCHAR U_5370 +ENCODING 21360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +E7C0 +8440 +8440 +F440 +8440 +8440 +9440 +E580 +8400 +0400 +ENDCHAR +STARTCHAR U_5371 +ENCODING 21361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F80 +2100 +7FE0 +2000 +2F80 +2880 +2880 +2B20 +4820 +87E0 +ENDCHAR +STARTCHAR U_5372 +ENCODING 21362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2520 +2520 +2520 +5920 +8120 +7D20 +45A0 +4540 +7D00 +4500 +ENDCHAR +STARTCHAR U_5373 +ENCODING 21363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FBC0 +8A40 +FA40 +8A40 +FA40 +8A40 +A240 +9340 +AA80 +CA00 +0200 +ENDCHAR +STARTCHAR U_5374 +ENCODING 21364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +11E0 +7D20 +1120 +1120 +FF20 +1120 +2120 +4D60 +7500 +0100 +ENDCHAR +STARTCHAR U_5375 +ENCODING 21365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1800 +E7C0 +9440 +D440 +B540 +94C0 +9440 +F440 +15C0 +2400 +C400 +ENDCHAR +STARTCHAR U_5376 +ENCODING 21366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +1D20 +2520 +6920 +1120 +2920 +DF20 +2320 +55E0 +0900 +7100 +ENDCHAR +STARTCHAR U_5377 +ENCODING 21367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2500 +7FE0 +0800 +FFE0 +1080 +3F40 +D120 +1300 +1040 +1FC0 +ENDCHAR +STARTCHAR U_5378 +ENCODING 21368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7DE0 +9120 +1120 +FF20 +1120 +5D20 +5120 +51A0 +5D40 +E100 +ENDCHAR +STARTCHAR U_5379 +ENCODING 21369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +20A0 +FEA0 +AAA0 +AAA0 +AAA0 +AAA0 +AAA0 +AFE0 +F080 +0080 +ENDCHAR +STARTCHAR U_537A +ENCODING 21370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0100 +F640 +2580 +5480 +8860 +7FC0 +2100 +2640 +2040 +1FC0 +ENDCHAR +STARTCHAR U_537B +ENCODING 21371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +25E0 +5320 +9920 +2520 +4320 +BD20 +25A0 +2540 +3D00 +2500 +ENDCHAR +STARTCHAR U_537C +ENCODING 21372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FA40 +57E0 +5400 +55C0 +5540 +55C0 +5520 +59E0 +9000 +8FE0 +ENDCHAR +STARTCHAR U_537D +ENCODING 21373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4000 +FBC0 +8A40 +FA40 +8A40 +FA40 +8240 +F240 +82C0 +B200 +C200 +ENDCHAR +STARTCHAR U_537E +ENCODING 21374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +B520 +FD20 +0120 +7920 +0120 +FDA0 +4140 +7900 +0900 +3100 +ENDCHAR +STARTCHAR U_537F +ENCODING 21375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +CAA0 +AEA0 +AAA0 +AEA0 +AAA0 +E8A0 +AAE0 +2D80 +4880 +8080 +ENDCHAR +STARTCHAR U_5380 +ENCODING 21376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FD20 +3920 +5520 +9120 +2920 +D720 +55A0 +3940 +5500 +B200 +ENDCHAR +STARTCHAR U_5381 +ENCODING 21377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +28C0 +5540 +B8C0 +5040 +5BE0 +B440 +7FC0 +0440 +05C0 +0400 +ENDCHAR +STARTCHAR U_5382 +ENCODING 21378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +3FE0 +2000 +2000 +2000 +2000 +2000 +2000 +4000 +4000 +8000 +ENDCHAR +STARTCHAR U_5383 +ENCODING 21379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F80 +2080 +4100 +BFE0 +2000 +2000 +2000 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_5384 +ENCODING 21380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +2000 +2F80 +2880 +2880 +2880 +2B00 +4820 +4820 +87E0 +ENDCHAR +STARTCHAR U_5385 +ENCODING 21381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +2000 +3FE0 +2100 +2100 +2100 +2100 +4100 +4100 +8700 +ENDCHAR +STARTCHAR U_5386 +ENCODING 21382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +2200 +2200 +2FE0 +2220 +2220 +2420 +4420 +4820 +90C0 +ENDCHAR +STARTCHAR U_5387 +ENCODING 21383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +23C0 +2E00 +2200 +2200 +3FE0 +2200 +4220 +4220 +81E0 +ENDCHAR +STARTCHAR U_5388 +ENCODING 21384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +2FC0 +2100 +2100 +3FE0 +2100 +2100 +4100 +4100 +8100 +ENDCHAR +STARTCHAR U_5389 +ENCODING 21385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +3FE0 +2400 +2400 +27C0 +2440 +2440 +4840 +4840 +9180 +ENDCHAR +STARTCHAR U_538A +ENCODING 21386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5FE0 +4480 +4880 +5FE0 +4280 +4480 +4880 +9080 +A380 +ENDCHAR +STARTCHAR U_538B +ENCODING 21387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +2200 +2200 +2200 +3FC0 +2200 +2280 +4240 +4200 +BFE0 +ENDCHAR +STARTCHAR U_538C +ENCODING 21388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +4280 +4240 +5FE0 +4200 +4200 +4500 +4500 +8880 +B060 +ENDCHAR +STARTCHAR U_538D +ENCODING 21389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +4400 +5FE0 +4800 +4A00 +5FC0 +4200 +7FE0 +8200 +8200 +ENDCHAR +STARTCHAR U_538E +ENCODING 21390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5FC0 +5100 +5100 +5FE0 +5100 +5100 +5520 +9AA0 +9160 +ENDCHAR +STARTCHAR U_538F +ENCODING 21391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4800 +4800 +4FE0 +5400 +67C0 +4400 +4400 +47E0 +8400 +8400 +ENDCHAR +STARTCHAR U_5390 +ENCODING 21392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2480 +2440 +3FE0 +2400 +2540 +2540 +2580 +4B20 +5520 +A0E0 +ENDCHAR +STARTCHAR U_5391 +ENCODING 21393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4100 +4100 +5D60 +5580 +5500 +5500 +5520 +5D20 +8120 +80E0 +ENDCHAR +STARTCHAR U_5392 +ENCODING 21394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +4800 +4FC0 +5200 +7FE0 +4200 +5240 +5240 +9FC0 +9040 +ENDCHAR +STARTCHAR U_5393 +ENCODING 21395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4200 +5FC0 +4200 +7FE0 +4000 +4200 +5FC0 +4200 +8200 +BFE0 +ENDCHAR +STARTCHAR U_5394 +ENCODING 21396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5FE0 +4400 +4880 +5FC0 +4240 +4F80 +4200 +8200 +BFE0 +ENDCHAR +STARTCHAR U_5395 +ENCODING 21397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8000 +BE20 +A2A0 +AAA0 +AAA0 +AAA0 +AAA0 +AA20 +9420 +A2E0 +ENDCHAR +STARTCHAR U_5396 +ENCODING 21398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4880 +4840 +7FE0 +4900 +4A80 +4940 +5680 +5520 +A620 +DBE0 +ENDCHAR +STARTCHAR U_5397 +ENCODING 21399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4400 +4200 +7FE0 +4500 +4200 +7FE0 +4200 +5FC0 +8200 +8200 +ENDCHAR +STARTCHAR U_5398 +ENCODING 21400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +2FE0 +2920 +2FE0 +2920 +2FE0 +2100 +2FE0 +4100 +9FE0 +ENDCHAR +STARTCHAR U_5399 +ENCODING 21401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4200 +7FE0 +5240 +5FC0 +5240 +5FC0 +4200 +7FE0 +8200 +8200 +ENDCHAR +STARTCHAR U_539A +ENCODING 21402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +2FC0 +2840 +2FC0 +2840 +2FC0 +2080 +3FE0 +4100 +8700 +ENDCHAR +STARTCHAR U_539B +ENCODING 21403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +41C0 +5D00 +5500 +55E0 +5540 +5D40 +4140 +8240 +8440 +ENDCHAR +STARTCHAR U_539C +ENCODING 21404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4080 +5F00 +4200 +5FC0 +4A80 +7FE0 +4A80 +5FE0 +8200 +9FC0 +ENDCHAR +STARTCHAR U_539D +ENCODING 21405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4480 +5FC0 +4480 +5FE0 +4000 +4FC0 +4840 +4FC0 +8840 +8FC0 +ENDCHAR +STARTCHAR U_539E +ENCODING 21406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4500 +4500 +7DE0 +4500 +5DC0 +4500 +7DE0 +4500 +8500 +8500 +ENDCHAR +STARTCHAR U_539F +ENCODING 21407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2200 +2FC0 +2840 +2FC0 +2840 +2FC0 +2200 +2A80 +5260 +A620 +ENDCHAR +STARTCHAR U_53A0 +ENCODING 21408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5E20 +52A0 +5EA0 +52A0 +5EA0 +52A0 +5E20 +5420 +A2E0 +ENDCHAR +STARTCHAR U_53A1 +ENCODING 21409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2200 +2FC0 +2840 +2FC0 +2840 +2FC0 +2120 +5DC0 +4540 +9B20 +ENDCHAR +STARTCHAR U_53A2 +ENCODING 21410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +4800 +49E0 +7F20 +49E0 +4D20 +5BE0 +6920 +89E0 +8920 +ENDCHAR +STARTCHAR U_53A3 +ENCODING 21411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4280 +7FE0 +4880 +7FE0 +5240 +5FC0 +5240 +5FC0 +8200 +8200 +ENDCHAR +STARTCHAR U_53A4 +ENCODING 21412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4440 +5980 +4880 +7FE0 +4880 +4D80 +5AC0 +6AA0 +8880 +8880 +ENDCHAR +STARTCHAR U_53A5 +ENCODING 21413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5480 +4880 +7EE0 +4920 +6A80 +6A80 +7E80 +4880 +9140 +A220 +ENDCHAR +STARTCHAR U_53A6 +ENCODING 21414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5FE0 +4840 +4F40 +4BC0 +4840 +4FC0 +4C80 +5300 +ACE0 +ENDCHAR +STARTCHAR U_53A7 +ENCODING 21415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4200 +7FE0 +4880 +4F80 +4880 +4F80 +4880 +7FE0 +8880 +B060 +ENDCHAR +STARTCHAR U_53A8 +ENCODING 21416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4040 +5E40 +4040 +5DE0 +5440 +5540 +5CC0 +5440 +8E40 +B8C0 +ENDCHAR +STARTCHAR U_53A9 +ENCODING 21417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5DE0 +5440 +5D40 +5540 +5FE0 +5080 +5580 +9AA0 +8460 +ENDCHAR +STARTCHAR U_53AA +ENCODING 21418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2480 +2FE0 +2480 +2FE0 +2920 +2FE0 +2100 +4FE0 +4100 +9FE0 +ENDCHAR +STARTCHAR U_53AB +ENCODING 21419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4880 +7C80 +49E0 +7E40 +4940 +7EC0 +5040 +5EA0 +52A0 +A720 +ENDCHAR +STARTCHAR U_53AC +ENCODING 21420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5040 +5FC0 +5040 +5FC0 +5280 +6CC0 +52A0 +6FE0 +8840 +8FC0 +ENDCHAR +STARTCHAR U_53AD +ENCODING 21421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5EC0 +52A0 +5E80 +41E0 +5E80 +5280 +5E80 +9340 +9620 +ENDCHAR +STARTCHAR U_53AE +ENCODING 21422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5220 +7FC0 +5280 +5E80 +52E0 +5EA0 +52A0 +5FA0 +92A0 +A120 +ENDCHAR +STARTCHAR U_53AF +ENCODING 21423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4880 +7DE0 +4880 +5DC0 +6AA0 +4000 +5240 +6920 +A8A0 +8F80 +ENDCHAR +STARTCHAR U_53B0 +ENCODING 21424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4880 +5A80 +4CE0 +5F20 +52A0 +5EA0 +5640 +5E40 +52A0 +9520 +ENDCHAR +STARTCHAR U_53B1 +ENCODING 21425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4200 +4500 +4880 +7760 +4000 +5DC0 +5540 +5DC0 +8880 +9540 +ENDCHAR +STARTCHAR U_53B2 +ENCODING 21426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4480 +5FE0 +4480 +4FC0 +4A40 +4FC0 +4A40 +5FE0 +92A0 +9760 +ENDCHAR +STARTCHAR U_53B3 +ENCODING 21427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +7FE0 +4100 +5D00 +45E0 +7E40 +5540 +5D40 +5680 +7C80 +8560 +ENDCHAR +STARTCHAR U_53B4 +ENCODING 21428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +54A0 +5FE0 +5480 +5FC0 +5260 +5FC0 +5240 +5FC0 +8200 +8200 +ENDCHAR +STARTCHAR U_53B5 +ENCODING 21429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4400 +5FC0 +5240 +5FC0 +8A80 +7FE0 +5240 +7FE0 +4AA0 +B5C0 +ENDCHAR +STARTCHAR U_53B6 +ENCODING 21430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +0400 +0400 +0800 +0800 +1000 +1080 +2040 +41C0 +FE20 +4020 +ENDCHAR +STARTCHAR U_53B7 +ENCODING 21431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0800 +0900 +1100 +1200 +2280 +2440 +4FC0 +8840 +ENDCHAR +STARTCHAR U_53B8 +ENCODING 21432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +2080 +2080 +2080 +4100 +5140 +5140 +4920 +FBE0 +4920 +ENDCHAR +STARTCHAR U_53B9 +ENCODING 21433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +FF00 +1100 +1140 +2140 +48C0 +8800 +1000 +2100 +FF80 +4080 +ENDCHAR +STARTCHAR U_53BA +ENCODING 21434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0A00 +1100 +2480 +C460 +0900 +1080 +23C0 +7C40 +ENDCHAR +STARTCHAR U_53BB +ENCODING 21435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +3F80 +0400 +0400 +FFE0 +0400 +0900 +1080 +7FC0 +2040 +ENDCHAR +STARTCHAR U_53BC +ENCODING 21436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1100 +2080 +7FC0 +0040 +0400 +2480 +2440 +4420 +8420 +1C00 +ENDCHAR +STARTCHAR U_53BD +ENCODING 21437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +1100 +2080 +7FC0 +0040 +2080 +2080 +4920 +FBE0 +0820 +ENDCHAR +STARTCHAR U_53BE +ENCODING 21438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF80 +1080 +1080 +7C80 +1080 +1080 +FE80 +20A0 +44A0 +FE60 +4220 +ENDCHAR +STARTCHAR U_53BF +ENCODING 21439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +2080 +FFE0 +0800 +1080 +7FC0 +2040 +ENDCHAR +STARTCHAR U_53C0 +ENCODING 21440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +0800 +7F80 +4880 +7F80 +4880 +7F80 +1200 +2100 +7F80 +ENDCHAR +STARTCHAR U_53C1 +ENCODING 21441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1100 +3F80 +0440 +FFE0 +2080 +DF60 +0000 +3F80 +0000 +FFE0 +ENDCHAR +STARTCHAR U_53C2 +ENCODING 21442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1100 +3F80 +0800 +FFE0 +2480 +D860 +0600 +1880 +0300 +3C00 +ENDCHAR +STARTCHAR U_53C3 +ENCODING 21443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1100 +3E80 +5140 +FFC0 +2080 +CC60 +3300 +0C80 +0300 +7C00 +ENDCHAR +STARTCHAR U_53C4 +ENCODING 21444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1200 +3F00 +2100 +4A40 +FFE0 +1120 +3F80 +C460 +0200 +7FC0 +ENDCHAR +STARTCHAR U_53C5 +ENCODING 21445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +1F00 +1100 +2A80 +7FC0 +0A00 +3180 +C460 +2680 +4540 +0C00 +ENDCHAR +STARTCHAR U_53C6 +ENCODING 21446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +7700 +02A0 +07E0 +F520 +27E0 +2100 +51E0 +52A0 +FAC0 +0D20 +ENDCHAR +STARTCHAR U_53C7 +ENCODING 21447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +75E0 +04A0 +03E0 +F0A0 +4DE0 +46A0 +95C0 +F6A0 +1480 +0BE0 +ENDCHAR +STARTCHAR U_53C8 +ENCODING 21448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FC0 +1040 +1080 +0880 +0900 +0500 +0200 +0600 +1980 +E060 +ENDCHAR +STARTCHAR U_53C9 +ENCODING 21449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +7F00 +2900 +2500 +2200 +1200 +1400 +0800 +0C00 +3300 +C0C0 +ENDCHAR +STARTCHAR U_53CA +ENCODING 21450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F00 +1100 +1200 +1200 +17C0 +1040 +2880 +2500 +4200 +4580 +9860 +ENDCHAR +STARTCHAR U_53CB +ENCODING 21451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +FFE0 +0800 +1F80 +1880 +2880 +2500 +4200 +8D80 +3060 +ENDCHAR +STARTCHAR U_53CC +ENCODING 21452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0A40 +4A40 +2A40 +1140 +1140 +2880 +4580 +8240 +0420 +ENDCHAR +STARTCHAR U_53CD +ENCODING 21453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +3E00 +2000 +2000 +3FC0 +2880 +2500 +2200 +4500 +4880 +B060 +ENDCHAR +STARTCHAR U_53CE +ENCODING 21454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +9FC0 +9440 +9440 +9280 +9280 +B100 +D100 +1280 +1440 +1820 +ENDCHAR +STARTCHAR U_53CF +ENCODING 21455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +0880 +FFE0 +0800 +7F80 +2080 +1300 +0C00 +3300 +C0E0 +ENDCHAR +STARTCHAR U_53D0 +ENCODING 21456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C00 +0800 +FFE0 +0800 +1F80 +1880 +2500 +2200 +4D00 +B0E0 +ENDCHAR +STARTCHAR U_53D1 +ENCODING 21457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2440 +4400 +7FE0 +0800 +0F80 +0880 +1500 +2200 +4580 +9860 +ENDCHAR +STARTCHAR U_53D2 +ENCODING 21458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +2080 +1100 +0E00 +F1C0 +0000 +FBC0 +4940 +4940 +3080 +CB60 +ENDCHAR +STARTCHAR U_53D3 +ENCODING 21459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +4440 +7FC0 +0400 +7FC0 +1100 +0E00 +71E0 +ENDCHAR +STARTCHAR U_53D4 +ENCODING 21460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +13C0 +1C40 +1140 +FF40 +1140 +5540 +5280 +9280 +9140 +3220 +ENDCHAR +STARTCHAR U_53D5 +ENCODING 21461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0A20 +5140 +2080 +5360 +8C20 +F7C0 +5240 +2180 +5240 +8C20 +ENDCHAR +STARTCHAR U_53D6 +ENCODING 21462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC00 +4BE0 +4A20 +7A20 +4940 +7940 +4880 +4C80 +F940 +0A40 +0C20 +ENDCHAR +STARTCHAR U_53D7 +ENCODING 21463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0380 +7C80 +2900 +1500 +FFC0 +8040 +3F00 +1200 +0C00 +1300 +E0C0 +ENDCHAR +STARTCHAR U_53D8 +ENCODING 21464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +1200 +5280 +9240 +0000 +7F80 +1200 +0C00 +1200 +E1C0 +ENDCHAR +STARTCHAR U_53D9 +ENCODING 21465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +2BE0 +4520 +BB20 +1120 +7D40 +1140 +5880 +5540 +9240 +3420 +ENDCHAR +STARTCHAR U_53DA +ENCODING 21466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8820 +8820 +FBE0 +8000 +FBE0 +8220 +8140 +F880 +8140 +8620 +ENDCHAR +STARTCHAR U_53DB +ENCODING 21467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +AB00 +7200 +2200 +FBE0 +2240 +FA40 +2540 +2480 +4940 +9620 +ENDCHAR +STARTCHAR U_53DC +ENCODING 21468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9420 +1580 +2600 +1980 +E060 +1F80 +0900 +0600 +79C0 +ENDCHAR +STARTCHAR U_53DD +ENCODING 21469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +FAA0 +2240 +2200 +FBE0 +22A0 +42A0 +4A40 +FAA0 +0320 +ENDCHAR +STARTCHAR U_53DE +ENCODING 21470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C00 +47C0 +7D40 +4140 +7D40 +4140 +7F40 +4880 +AC80 +AB40 +5A20 +ENDCHAR +STARTCHAR U_53DF +ENCODING 21471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +65C0 +4440 +75C0 +4440 +7FC0 +0400 +7FC0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_53E0 +ENCODING 21472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0A00 +1500 +FFE0 +5280 +AD40 +FFE0 +A0A0 +3F80 +2080 +FFE0 +ENDCHAR +STARTCHAR U_53E1 +ENCODING 21473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3C00 +21E0 +FD20 +4920 +B520 +4940 +FD40 +4880 +7980 +4A40 +7C20 +ENDCHAR +STARTCHAR U_53E2 +ENCODING 21474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +FFE0 +1200 +7FC0 +0400 +FFE0 +4540 +7D40 +4480 +FD40 +0620 +ENDCHAR +STARTCHAR U_53E3 +ENCODING 21475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +FF80 +8080 +8080 +8080 +8080 +8080 +8080 +FF80 +8080 +ENDCHAR +STARTCHAR U_53E4 +ENCODING 21476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +0400 +3F80 +2080 +2080 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_53E5 +ENCODING 21477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +3FE0 +2020 +4020 +BE20 +2220 +2220 +3E20 +2220 +0020 +00C0 +ENDCHAR +STARTCHAR U_53E6 +ENCODING 21478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F80 +2080 +2080 +3F80 +2480 +0400 +7FC0 +0840 +1040 +2040 +C380 +ENDCHAR +STARTCHAR U_53E7 +ENCODING 21479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F80 +4080 +4080 +7F80 +0000 +FF80 +0880 +0880 +1080 +2080 +C700 +ENDCHAR +STARTCHAR U_53E8 +ENCODING 21480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F220 +9220 +9220 +9220 +9220 +F220 +9420 +0420 +0820 +30C0 +ENDCHAR +STARTCHAR U_53E9 +ENCODING 21481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +07C0 +F440 +9440 +9440 +9440 +9440 +F440 +9440 +05C0 +0400 +0400 +ENDCHAR +STARTCHAR U_53EA +ENCODING 21482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F80 +2080 +2080 +2080 +2080 +3F80 +2080 +1100 +2080 +4040 +8040 +ENDCHAR +STARTCHAR U_53EB +ENCODING 21483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0040 +0440 +F440 +9440 +9440 +9440 +95C0 +F640 +0040 +0040 +0040 +ENDCHAR +STARTCHAR U_53EC +ENCODING 21484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +1080 +1080 +1080 +2280 +4100 +FF80 +4080 +4080 +4080 +7F80 +ENDCHAR +STARTCHAR U_53ED +ENCODING 21485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F280 +9280 +9280 +9280 +9280 +F240 +0440 +0440 +0820 +1020 +ENDCHAR +STARTCHAR U_53EE +ENCODING 21486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F080 +9080 +9080 +9080 +9080 +F080 +9080 +0080 +0080 +0380 +ENDCHAR +STARTCHAR U_53EF +ENCODING 21487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0080 +3C80 +2480 +2480 +3C80 +2480 +0080 +0080 +0380 +ENDCHAR +STARTCHAR U_53F0 +ENCODING 21488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +1000 +2200 +4100 +FF80 +0080 +7F00 +4100 +4100 +4100 +7F00 +ENDCHAR +STARTCHAR U_53F1 +ENCODING 21489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +9220 +9240 +9280 +9300 +9600 +F200 +9220 +0220 +01E0 +ENDCHAR +STARTCHAR U_53F2 +ENCODING 21490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +4440 +4440 +7FC0 +2400 +1400 +0800 +1600 +E1E0 +ENDCHAR +STARTCHAR U_53F3 +ENCODING 21491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0800 +1000 +1F80 +3080 +5080 +9080 +1F80 +1080 +ENDCHAR +STARTCHAR U_53F4 +ENCODING 21492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7F00 +0900 +0900 +1120 +20E0 +C000 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_53F5 +ENCODING 21493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +FFC0 +8000 +8000 +9F00 +9100 +9100 +9F00 +9100 +8000 +8000 +FFC0 +ENDCHAR +STARTCHAR U_53F6 +ENCODING 21494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9100 +9100 +9FE0 +9100 +F100 +9100 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_53F7 +ENCODING 21495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +0000 +FFE0 +0800 +1F80 +0080 +0080 +0480 +0300 +ENDCHAR +STARTCHAR U_53F8 +ENCODING 21496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +7FC0 +0040 +FF40 +0040 +7E40 +4240 +4240 +7E40 +0040 +0040 +0380 +ENDCHAR +STARTCHAR U_53F9 +ENCODING 21497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F440 +9440 +9240 +9280 +9280 +F100 +9100 +0280 +0440 +1820 +ENDCHAR +STARTCHAR U_53FA +ENCODING 21498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +F200 +9200 +9200 +9200 +F500 +8500 +0880 +1040 +2020 +ENDCHAR +STARTCHAR U_53FB +ENCODING 21499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +97E0 +9120 +9120 +9120 +F120 +9220 +0220 +0420 +08C0 +ENDCHAR +STARTCHAR U_53FC +ENCODING 21500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F020 +9020 +90A0 +9120 +9220 +F420 +9820 +0020 +0020 +00C0 +ENDCHAR +STARTCHAR U_53FD +ENCODING 21501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +F480 +9480 +9480 +9480 +9480 +F480 +9480 +04A0 +08A0 +10E0 +ENDCHAR +STARTCHAR U_53FE +ENCODING 21502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +0200 +0400 +0400 +1400 +0800 +0000 +FF80 +8080 +8080 +FF80 +ENDCHAR +STARTCHAR U_53FF +ENCODING 21503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +1FC0 +E200 +A200 +A200 +A200 +A200 +E200 +0200 +0200 +3FE0 +ENDCHAR +STARTCHAR U_5400 +ENCODING 21504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +0F00 +0100 +F100 +9100 +9FE0 +9100 +9100 +F100 +0100 +0100 +ENDCHAR +STARTCHAR U_5401 +ENCODING 21505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +9100 +9100 +9FE0 +9100 +F100 +9100 +0100 +0100 +0700 +ENDCHAR +STARTCHAR U_5402 +ENCODING 21506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +2000 +2000 +3FC0 +0000 +3FC0 +2040 +2040 +3FC0 +ENDCHAR +STARTCHAR U_5403 +ENCODING 21507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +97E0 +9800 +97C0 +9080 +9100 +F200 +9420 +0420 +03E0 +ENDCHAR +STARTCHAR U_5404 +ENCODING 21508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F80 +3080 +4900 +0600 +0900 +3080 +DFE0 +1080 +1080 +1F80 +ENDCHAR +STARTCHAR U_5405 +ENCODING 21509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +F780 +9480 +9480 +9480 +9480 +9480 +9480 +9480 +F780 +9480 +ENDCHAR +STARTCHAR U_5406 +ENCODING 21510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9240 +9240 +9480 +9F80 +9100 +F240 +9420 +0FE0 +0420 +ENDCHAR +STARTCHAR U_5407 +ENCODING 21511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F040 +9080 +9100 +9FE0 +9100 +9100 +F100 +0100 +0100 +0700 +ENDCHAR +STARTCHAR U_5408 +ENCODING 21512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2080 +DF60 +0000 +3F80 +2080 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_5409 +ENCODING 21513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +7FC0 +0000 +3F80 +2080 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_540A +ENCODING 21514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +4100 +4100 +7F00 +0800 +FF80 +8880 +8880 +8880 +8980 +0800 +ENDCHAR +STARTCHAR U_540B +ENCODING 21515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F080 +9FE0 +9080 +9480 +9280 +9280 +F080 +0080 +0080 +0380 +ENDCHAR +STARTCHAR U_540C +ENCODING 21516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +FFC0 +8040 +BF40 +8040 +9E40 +9240 +9240 +9E40 +9240 +8040 +80C0 +ENDCHAR +STARTCHAR U_540D +ENCODING 21517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1000 +1FC0 +1080 +2900 +4600 +0400 +1FC0 +F040 +1040 +1040 +1FC0 +ENDCHAR +STARTCHAR U_540E +ENCODING 21518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +3E00 +2000 +3FE0 +2000 +2000 +2FC0 +2840 +4840 +4FC0 +8840 +ENDCHAR +STARTCHAR U_540F +ENCODING 21519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +4440 +7FC0 +2400 +1400 +0800 +1600 +E1E0 +ENDCHAR +STARTCHAR U_5410 +ENCODING 21520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +F100 +9100 +97C0 +9100 +9100 +F100 +9100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_5411 +ENCODING 21521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0800 +1000 +FFC0 +8040 +9E40 +9240 +9240 +9E40 +8040 +8040 +81C0 +ENDCHAR +STARTCHAR U_5412 +ENCODING 21522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +0700 +F100 +9100 +91E0 +9F00 +9100 +F100 +9120 +0120 +00E0 +ENDCHAR +STARTCHAR U_5413 +ENCODING 21523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +9100 +9100 +9180 +9140 +F120 +9120 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_5414 +ENCODING 21524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0A00 +EAC0 +AB40 +AE40 +BA40 +AA40 +EAC0 +0A20 +0820 +07E0 +ENDCHAR +STARTCHAR U_5415 +ENCODING 21525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +4100 +4100 +7F00 +4100 +0000 +FF80 +8080 +8080 +8080 +FF80 +ENDCHAR +STARTCHAR U_5416 +ENCODING 21526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0820 +0440 +F280 +9100 +9100 +9100 +9100 +F100 +9100 +0100 +0100 +ENDCHAR +STARTCHAR U_5417 +ENCODING 21527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +F040 +9240 +9240 +9440 +97E0 +9020 +9FA0 +F020 +0020 +01C0 +ENDCHAR +STARTCHAR U_5418 +ENCODING 21528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E7C0 +A900 +B100 +A100 +BFE0 +A100 +E100 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_5419 +ENCODING 21529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0200 +E240 +AA40 +AA80 +B200 +A300 +E480 +0480 +0840 +1060 +ENDCHAR +STARTCHAR U_541A +ENCODING 21530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E240 +A240 +BFE0 +A240 +A240 +EFC0 +0400 +0400 +0800 +1000 +ENDCHAR +STARTCHAR U_541B +ENCODING 21531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +0440 +FFE0 +0840 +3FC0 +1000 +2000 +5FC0 +9040 +1040 +1FC0 +ENDCHAR +STARTCHAR U_541C +ENCODING 21532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F240 +9240 +9240 +9240 +97C0 +9240 +F240 +0240 +0240 +1FE0 +ENDCHAR +STARTCHAR U_541D +ENCODING 21533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFC0 +2100 +1200 +0C00 +1200 +6180 +BF60 +2100 +2100 +3F00 +ENDCHAR +STARTCHAR U_541E +ENCODING 21534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +FFE0 +1100 +2080 +7FC0 +A0A0 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_541F +ENCODING 21535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9280 +9440 +9A20 +9100 +97C0 +F040 +9080 +0100 +0200 +ENDCHAR +STARTCHAR U_5420 +ENCODING 21536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F140 +9120 +9FE0 +9100 +9100 +F280 +9280 +0440 +0840 +1020 +ENDCHAR +STARTCHAR U_5421 +ENCODING 21537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +E900 +A900 +A920 +AFC0 +A900 +A900 +E900 +AB20 +0D20 +08E0 +ENDCHAR +STARTCHAR U_5422 +ENCODING 21538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +5220 +52A0 +9080 +0F80 +0000 +3FC0 +2040 +2040 +3FC0 +2040 +ENDCHAR +STARTCHAR U_5423 +ENCODING 21539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0080 +E080 +A200 +A240 +AA20 +AA20 +B200 +E220 +0220 +01E0 +ENDCHAR +STARTCHAR U_5424 +ENCODING 21540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9280 +9440 +9CA0 +9480 +F480 +9480 +0480 +0880 +1080 +ENDCHAR +STARTCHAR U_5425 +ENCODING 21541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F080 +9080 +9100 +9380 +9540 +9920 +F100 +9100 +0100 +0100 +ENDCHAR +STARTCHAR U_5426 +ENCODING 21542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0D80 +3440 +C420 +0400 +3FC0 +2040 +2040 +3FC0 +2040 +ENDCHAR +STARTCHAR U_5427 +ENCODING 21543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E940 +A940 +A940 +A940 +AFC0 +E800 +A800 +0820 +0820 +07E0 +ENDCHAR +STARTCHAR U_5428 +ENCODING 21544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E200 +BFE0 +A200 +AA40 +AA40 +EFC0 +0200 +0220 +0220 +01E0 +ENDCHAR +STARTCHAR U_5429 +ENCODING 21545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +9440 +9440 +9820 +97C0 +F240 +9240 +0440 +0840 +1180 +ENDCHAR +STARTCHAR U_542A +ENCODING 21546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +E500 +A920 +A940 +B980 +A900 +AB00 +ED00 +A920 +0920 +08E0 +ENDCHAR +STARTCHAR U_542B +ENCODING 21547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1900 +2480 +FFE0 +0100 +0200 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_542C +ENCODING 21548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F700 +9400 +9400 +97E0 +9480 +F480 +0480 +0880 +1080 +2080 +ENDCHAR +STARTCHAR U_542D +ENCODING 21549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +9000 +9780 +9480 +9480 +F480 +04A0 +08A0 +3060 +ENDCHAR +STARTCHAR U_542E +ENCODING 21550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F200 +9440 +9FE0 +9020 +9480 +F480 +9480 +04A0 +08A0 +3060 +ENDCHAR +STARTCHAR U_542F +ENCODING 21551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0400 +3FC0 +2040 +2040 +3FC0 +2000 +3FC0 +3040 +5040 +5FC0 +9040 +ENDCHAR +STARTCHAR U_5430 +ENCODING 21552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E200 +AFE0 +A200 +A280 +A480 +A480 +E900 +0A40 +17E0 +2220 +ENDCHAR +STARTCHAR U_5431 +ENCODING 21553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9FE0 +9100 +97C0 +9440 +F280 +9100 +0280 +0440 +1820 +ENDCHAR +STARTCHAR U_5432 +ENCODING 21554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F20 +E120 +A120 +AF20 +A820 +AF20 +A120 +E120 +0120 +0920 +0620 +ENDCHAR +STARTCHAR U_5433 +ENCODING 21555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F80 +2880 +2880 +2F80 +2000 +3FC0 +0440 +7FE0 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_5434 +ENCODING 21556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +2080 +3F80 +0000 +3FC0 +0400 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5435 +ENCODING 21557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E100 +A540 +A520 +A900 +B120 +A140 +E080 +0100 +0600 +1800 +ENDCHAR +STARTCHAR U_5436 +ENCODING 21558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0100 +EFE0 +A920 +A920 +A920 +AAA0 +EC60 +0820 +08A0 +0840 +ENDCHAR +STARTCHAR U_5437 +ENCODING 21559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E200 +AFC0 +A240 +A240 +BFE0 +A200 +E200 +0500 +0880 +3060 +ENDCHAR +STARTCHAR U_5438 +ENCODING 21560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E480 +A480 +A480 +A5E0 +A440 +EA40 +0A80 +1100 +2280 +4C60 +ENDCHAR +STARTCHAR U_5439 +ENCODING 21561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +93E0 +9420 +9940 +9100 +9100 +F280 +0280 +0440 +0820 +ENDCHAR +STARTCHAR U_543A +ENCODING 21562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +E480 +A480 +A4E0 +A800 +B7C0 +E440 +A280 +0100 +0680 +1860 +ENDCHAR +STARTCHAR U_543B +ENCODING 21563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +F7E0 +9AA0 +92A0 +94A0 +9520 +F920 +0220 +04A0 +1840 +ENDCHAR +STARTCHAR U_543C +ENCODING 21564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1E80 +E280 +A480 +A480 +A480 +A680 +BC80 +E480 +04A0 +14A0 +0860 +ENDCHAR +STARTCHAR U_543D +ENCODING 21565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F500 +9500 +97C0 +9900 +9100 +9FE0 +F100 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_543E +ENCODING 21566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +3F80 +0880 +0880 +FFE0 +0000 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_543F +ENCODING 21567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +3FC0 +4400 +0400 +FFE0 +0400 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_5440 +ENCODING 21568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E480 +A480 +A880 +AFE0 +A180 +E280 +A480 +0880 +3080 +0180 +ENDCHAR +STARTCHAR U_5441 +ENCODING 21569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7E0 +9420 +9820 +9220 +90A0 +9120 +F220 +0C20 +0020 +00E0 +ENDCHAR +STARTCHAR U_5442 +ENCODING 21570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +4100 +4100 +7F00 +0800 +1000 +FF80 +8080 +8080 +FF80 +8080 +ENDCHAR +STARTCHAR U_5443 +ENCODING 21571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A800 +ABC0 +AA40 +AA40 +AA40 +EA40 +AAC0 +0A20 +1220 +21E0 +ENDCHAR +STARTCHAR U_5444 +ENCODING 21572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +1100 +13C0 +2040 +4480 +FFE0 +0400 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_5445 +ENCODING 21573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +9440 +9440 +9280 +9280 +F100 +9280 +0440 +0820 +ENDCHAR +STARTCHAR U_5446 +ENCODING 21574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +2080 +3F80 +0400 +FFE0 +0E00 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_5447 +ENCODING 21575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0480 +F500 +1600 +2500 +54C0 +8800 +7F00 +4100 +4100 +7F00 +4100 +ENDCHAR +STARTCHAR U_5448 +ENCODING 21576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +2080 +3F80 +0000 +7FC0 +0400 +3F80 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5449 +ENCODING 21577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +5080 +5080 +5F80 +4000 +7F80 +0080 +FFE0 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_544A +ENCODING 21578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +3FC0 +4400 +0400 +FFE0 +0000 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_544B +ENCODING 21579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +97C0 +9100 +9100 +9FE0 +F100 +9100 +0280 +0440 +0820 +ENDCHAR +STARTCHAR U_544C +ENCODING 21580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +E480 +A280 +A880 +A480 +A0E0 +E380 +AC80 +0080 +0080 +0080 +ENDCHAR +STARTCHAR U_544D +ENCODING 21581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F000 +9000 +9000 +9FE0 +9100 +9200 +F280 +8440 +09E0 +0E20 +ENDCHAR +STARTCHAR U_544E +ENCODING 21582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +9440 +9440 +97C0 +9500 +F500 +9480 +0880 +1040 +2020 +ENDCHAR +STARTCHAR U_544F +ENCODING 21583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EC80 +A480 +A480 +BFE0 +A480 +E480 +A880 +0880 +1080 +2080 +ENDCHAR +STARTCHAR U_5450 +ENCODING 21584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +EFE0 +A920 +A920 +A9A0 +AA60 +EC20 +A820 +0820 +0860 +ENDCHAR +STARTCHAR U_5451 +ENCODING 21585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +7C00 +0400 +FFE0 +0A00 +3180 +C060 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_5452 +ENCODING 21586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +9100 +9100 +9FE0 +9280 +F280 +9480 +04A0 +08A0 +3060 +ENDCHAR +STARTCHAR U_5453 +ENCODING 21587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +9280 +9000 +9FC0 +9080 +9100 +F200 +9420 +0820 +07E0 +ENDCHAR +STARTCHAR U_5454 +ENCODING 21588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E100 +A100 +AFE0 +A100 +A100 +A280 +E280 +A640 +0940 +1020 +ENDCHAR +STARTCHAR U_5455 +ENCODING 21589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E800 +A840 +AA40 +A980 +A880 +A980 +EA40 +AC40 +0800 +0FE0 +ENDCHAR +STARTCHAR U_5456 +ENCODING 21590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E900 +A900 +ABE0 +A920 +A920 +E920 +A920 +0920 +1220 +24C0 +ENDCHAR +STARTCHAR U_5457 +ENCODING 21591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F420 +9520 +9520 +9520 +9520 +F520 +9520 +0280 +0440 +1820 +ENDCHAR +STARTCHAR U_5458 +ENCODING 21592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +0000 +7FC0 +4040 +4440 +4440 +4A40 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5459 +ENCODING 21593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +4100 +4100 +7F00 +0800 +FF80 +8880 +9480 +A280 +8080 +8180 +ENDCHAR +STARTCHAR U_545A +ENCODING 21594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0200 +F200 +97E0 +9480 +9A80 +9280 +F100 +8100 +0280 +1C60 +ENDCHAR +STARTCHAR U_545B +ENCODING 21595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F280 +9440 +9820 +97C0 +9440 +9440 +F580 +9420 +0420 +03E0 +ENDCHAR +STARTCHAR U_545C +ENCODING 21596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9440 +9440 +9580 +9400 +F7E0 +9020 +0FA0 +0020 +00C0 +ENDCHAR +STARTCHAR U_545D +ENCODING 21597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +0200 +EF80 +A880 +AF80 +A800 +EB80 +9100 +1200 +2440 +47C0 +ENDCHAR +STARTCHAR U_545E +ENCODING 21598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 0 -1 +BITMAP +1FC0 +0040 +EF40 +A040 +AF40 +A940 +EF40 +A040 +0040 +01C0 +ENDCHAR +STARTCHAR U_545F +ENCODING 21599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +0200 +EFC0 +A200 +A480 +A880 +EF00 +A200 +8480 +0FC0 +0040 +ENDCHAR +STARTCHAR U_5460 +ENCODING 21600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9FE0 +9100 +9380 +9540 +F920 +97C0 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_5461 +ENCODING 21601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +A840 +AFC0 +A900 +AFE0 +E900 +A900 +0AA0 +0C60 +0820 +ENDCHAR +STARTCHAR U_5462 +ENCODING 21602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +A840 +AFC0 +A800 +AA20 +EAC0 +AB00 +0A20 +1220 +61E0 +ENDCHAR +STARTCHAR U_5463 +ENCODING 21603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +AA40 +A940 +BFE0 +A840 +AA40 +E940 +AFE0 +0040 +0180 +ENDCHAR +STARTCHAR U_5464 +ENCODING 21604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +E480 +A840 +B220 +A100 +AFC0 +E040 +A480 +0300 +0100 +0080 +ENDCHAR +STARTCHAR U_5465 +ENCODING 21605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9540 +9540 +97C0 +9540 +FFE0 +9440 +0440 +0440 +04C0 +ENDCHAR +STARTCHAR U_5466 +ENCODING 21606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E480 +A5E0 +AAA0 +AEA0 +A2A0 +A4A0 +EAA0 +1D20 +02A0 +0440 +ENDCHAR +STARTCHAR U_5467 +ENCODING 21607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0060 +F780 +9480 +9480 +97E0 +9480 +F480 +9480 +05A0 +0760 +04A0 +ENDCHAR +STARTCHAR U_5468 +ENCODING 21608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2220 +2FA0 +2220 +3FE0 +2020 +2FA0 +28A0 +4FA0 +4020 +8060 +ENDCHAR +STARTCHAR U_5469 +ENCODING 21609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +0F80 +E000 +BFC0 +A200 +AA80 +EA40 +AA40 +1240 +0200 +0600 +ENDCHAR +STARTCHAR U_546A +ENCODING 21610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +9440 +9440 +97C0 +9280 +9280 +F280 +92A0 +04A0 +08E0 +ENDCHAR +STARTCHAR U_546B +ENCODING 21611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +F1E0 +9100 +9100 +97C0 +9440 +F440 +9440 +07C0 +0440 +ENDCHAR +STARTCHAR U_546C +ENCODING 21612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EAA0 +AAA0 +AAA0 +AAA0 +AAA0 +ECE0 +A820 +0820 +0FE0 +0820 +ENDCHAR +STARTCHAR U_546D +ENCODING 21613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EA80 +AA80 +AA80 +BFE0 +AA80 +AA80 +EA80 +AB80 +0800 +0FE0 +ENDCHAR +STARTCHAR U_546E +ENCODING 21614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +07E0 +F420 +9420 +9420 +97E0 +9000 +F240 +0240 +0420 +0820 +ENDCHAR +STARTCHAR U_546F +ENCODING 21615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E100 +A920 +A540 +A540 +AFE0 +E100 +A100 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_5470 +ENCODING 21616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5160 +5D80 +5120 +5D20 +E0E0 +1F80 +1080 +1080 +1F80 +1080 +ENDCHAR +STARTCHAR U_5471 +ENCODING 21617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +EF00 +AA80 +AA80 +AA80 +AA80 +EA40 +AA40 +0AA0 +13A0 +26A0 +ENDCHAR +STARTCHAR U_5472 +ENCODING 21618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +E280 +A280 +ABA0 +AAC0 +AA80 +EA80 +AA80 +0BA0 +0CA0 +1060 +ENDCHAR +STARTCHAR U_5473 +ENCODING 21619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +97C0 +9100 +9FE0 +9100 +F380 +9540 +0920 +1120 +0100 +ENDCHAR +STARTCHAR U_5474 +ENCODING 21620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7E0 +9820 +9020 +97A0 +94A0 +F4A0 +97A0 +0020 +0020 +00C0 +ENDCHAR +STARTCHAR U_5475 +ENCODING 21621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F040 +9040 +9740 +9540 +9540 +F740 +9540 +0040 +0040 +01C0 +ENDCHAR +STARTCHAR U_5476 +ENCODING 21622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E5E0 +BEA0 +AAA0 +AAA0 +AAA0 +EAA0 +A440 +0AC0 +1120 +2220 +ENDCHAR +STARTCHAR U_5477 +ENCODING 21623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E920 +A920 +AFE0 +A920 +A920 +EFE0 +A920 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_5478 +ENCODING 21624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +0FE0 +F080 +9100 +9340 +9520 +9920 +9100 +F100 +0000 +1FE0 +ENDCHAR +STARTCHAR U_5479 +ENCODING 21625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0A00 +EFC0 +B200 +A200 +BFE0 +E200 +0500 +0480 +0840 +3020 +ENDCHAR +STARTCHAR U_547A +ENCODING 21626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +9440 +97C0 +9000 +9FE0 +F200 +97C0 +0040 +0040 +0180 +ENDCHAR +STARTCHAR U_547B +ENCODING 21627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E100 +AFE0 +A920 +AFE0 +A920 +A920 +EFE0 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_547C +ENCODING 21628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +EF00 +A120 +A920 +A540 +BFE0 +E100 +A100 +0100 +0100 +0700 +ENDCHAR +STARTCHAR U_547D +ENCODING 21629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +EEE0 +0000 +7BC0 +4A40 +4A40 +7A40 +4AC0 +0200 +ENDCHAR +STARTCHAR U_547E +ENCODING 21630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +A840 +A840 +AFC0 +A840 +A840 +EFC0 +A840 +0000 +1FE0 +ENDCHAR +STARTCHAR U_547F +ENCODING 21631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +97C0 +9100 +9100 +9FE0 +F100 +9200 +0440 +0FE0 +0420 +ENDCHAR +STARTCHAR U_5480 +ENCODING 21632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +9440 +97C0 +9440 +9440 +F7C0 +9440 +0440 +0440 +1FE0 +ENDCHAR +STARTCHAR U_5481 +ENCODING 21633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F440 +9FE0 +9440 +9440 +97C0 +F440 +9440 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_5482 +ENCODING 21634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E880 +A880 +ABE0 +AAA0 +AAA0 +EAA0 +AAE0 +0880 +0880 +0FE0 +ENDCHAR +STARTCHAR U_5483 +ENCODING 21635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E480 +A4A0 +AAE0 +BBA0 +AEA0 +AAA0 +EAE0 +AA80 +0A20 +0BE0 +ENDCHAR +STARTCHAR U_5484 +ENCODING 21636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E540 +A540 +A540 +A7C0 +A100 +A920 +E920 +0920 +0920 +0FE0 +ENDCHAR +STARTCHAR U_5485 +ENCODING 21637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +7FE0 +1080 +0900 +FFE0 +0000 +3FC0 +2040 +2040 +3FC0 +ENDCHAR +STARTCHAR U_5486 +ENCODING 21638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07E0 +E820 +B7A0 +A4A0 +A4A0 +A7A0 +E440 +A400 +0420 +03E0 +ENDCHAR +STARTCHAR U_5487 +ENCODING 21639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +0140 +E440 +A480 +A480 +AD40 +B520 +E620 +0440 +0C40 +33C0 +ENDCHAR +STARTCHAR U_5488 +ENCODING 21640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EFE0 +A2A0 +AFE0 +AA80 +AA80 +EFE0 +A2A0 +04E0 +0880 +1080 +ENDCHAR +STARTCHAR U_5489 +ENCODING 21641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E100 +AFE0 +A920 +A920 +A920 +BFE0 +E100 +A280 +0440 +0820 +ENDCHAR +STARTCHAR U_548A +ENCODING 21642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0060 +F780 +9100 +9100 +9FE0 +9100 +9380 +F340 +9520 +0920 +0100 +ENDCHAR +STARTCHAR U_548B +ENCODING 21643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E400 +A7E0 +AA00 +B3C0 +A200 +E200 +A3C0 +0200 +0200 +0200 +ENDCHAR +STARTCHAR U_548C +ENCODING 21644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C00 +7000 +11E0 +FD20 +1120 +3920 +3520 +5520 +9120 +11E0 +1000 +ENDCHAR +STARTCHAR U_548D +ENCODING 21645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F200 +9440 +9FE0 +9420 +9000 +97C0 +F440 +9440 +07C0 +0440 +ENDCHAR +STARTCHAR U_548E +ENCODING 21646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3D80 +4540 +A520 +1900 +27E0 +C000 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_548F +ENCODING 21647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +F000 +9700 +9120 +9F40 +9580 +F580 +9540 +0920 +1120 +0700 +ENDCHAR +STARTCHAR U_5490 +ENCODING 21648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F240 +9440 +97E0 +9C40 +9540 +F4C0 +9440 +0440 +0440 +05C0 +ENDCHAR +STARTCHAR U_5491 +ENCODING 21649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E5E0 +BE40 +A440 +A440 +A640 +EC40 +B440 +0440 +0440 +0CC0 +ENDCHAR +STARTCHAR U_5492 +ENCODING 21650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F3C0 +9240 +9240 +F3C0 +0000 +1E00 +1200 +1200 +1240 +2240 +C1C0 +ENDCHAR +STARTCHAR U_5493 +ENCODING 21651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F200 +9200 +9380 +9280 +9480 +9680 +F580 +94A0 +05A0 +0EE0 +ENDCHAR +STARTCHAR U_5494 +ENCODING 21652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E3C0 +A200 +A200 +BFE0 +A200 +E300 +A280 +0240 +0200 +0200 +ENDCHAR +STARTCHAR U_5495 +ENCODING 21653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9FE0 +9100 +9100 +97C0 +F440 +9440 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_5496 +ENCODING 21654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +FEE0 +AAA0 +AAA0 +AAA0 +AAA0 +EAA0 +AAA0 +12E0 +2600 +ENDCHAR +STARTCHAR U_5497 +ENCODING 21655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9FE0 +9200 +9200 +9200 +97C0 +F480 +9480 +0880 +17E0 +ENDCHAR +STARTCHAR U_5498 +ENCODING 21656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E200 +BFE0 +A500 +A500 +AFC0 +B540 +E540 +A540 +05C0 +0100 +ENDCHAR +STARTCHAR U_5499 +ENCODING 21657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E440 +A400 +BFE0 +A500 +A540 +E580 +A900 +0B20 +1520 +21E0 +ENDCHAR +STARTCHAR U_549A +ENCODING 21658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E3C0 +A440 +AA80 +A100 +A280 +EC60 +B300 +0080 +0600 +0180 +ENDCHAR +STARTCHAR U_549B +ENCODING 21659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A820 +A000 +AFE0 +A100 +A100 +E100 +A100 +0100 +0700 +ENDCHAR +STARTCHAR U_549C +ENCODING 21660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +97E0 +9820 +9200 +9240 +9380 +F200 +9200 +0220 +01E0 +ENDCHAR +STARTCHAR U_549D +ENCODING 21661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +E440 +A880 +A880 +B320 +BDC0 +A440 +E880 +1EE0 +0000 +1FE0 +ENDCHAR +STARTCHAR U_549E +ENCODING 21662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +F7E0 +9240 +9240 +9240 +9FE0 +9240 +F240 +9240 +0240 +0440 +ENDCHAR +STARTCHAR U_549F +ENCODING 21663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +F7E0 +9080 +9100 +97E0 +9420 +9420 +F7E0 +9420 +0420 +07E0 +ENDCHAR +STARTCHAR U_54A0 +ENCODING 21664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F00 +2100 +2100 +FFC0 +2100 +3F00 +2100 +3F00 +21C0 +FF00 +0100 +ENDCHAR +STARTCHAR U_54A1 +ENCODING 21665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F440 +97C0 +9440 +9440 +97C0 +F440 +9460 +07C0 +0C40 +0040 +ENDCHAR +STARTCHAR U_54A2 +ENCODING 21666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +0000 +3F80 +0000 +FFE0 +1000 +3F80 +0080 +0700 +ENDCHAR +STARTCHAR U_54A3 +ENCODING 21667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +F520 +9540 +9100 +9FE0 +9280 +F280 +9280 +04A0 +08A0 +1060 +ENDCHAR +STARTCHAR U_54A4 +ENCODING 21668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9820 +90C0 +9700 +9120 +F1C0 +9700 +0120 +0120 +00E0 +ENDCHAR +STARTCHAR U_54A5 +ENCODING 21669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +9200 +9440 +9FE0 +9020 +F100 +97C0 +0100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_54A6 +ENCODING 21670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +AFE0 +A120 +AFE0 +E900 +AFE0 +0120 +0680 +1860 +ENDCHAR +STARTCHAR U_54A7 +ENCODING 21671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F20 +E420 +A6A0 +AAA0 +B2A0 +AAA0 +EAA0 +A4A0 +0420 +0820 +10E0 +ENDCHAR +STARTCHAR U_54A8 +ENCODING 21672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +1540 +2900 +C280 +4460 +3F80 +2080 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_54A9 +ENCODING 21673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F280 +9FE0 +9100 +9100 +97C0 +F100 +9100 +0FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_54AA +ENCODING 21674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F920 +9540 +9540 +9FE0 +9100 +F380 +9540 +0920 +1120 +0100 +ENDCHAR +STARTCHAR U_54AB +ENCODING 21675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4A20 +4A20 +4A20 +7BE0 +5000 +5140 +4A20 +4420 +8300 +80E0 +ENDCHAR +STARTCHAR U_54AC +ENCODING 21676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9280 +9440 +9AA0 +9280 +F280 +9100 +0100 +0680 +1860 +ENDCHAR +STARTCHAR U_54AD +ENCODING 21677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9100 +9100 +97C0 +9000 +F7C0 +9440 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_54AE +ENCODING 21678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +E500 +A7C0 +A900 +A100 +AFE0 +E100 +A380 +0540 +0920 +1120 +ENDCHAR +STARTCHAR U_54AF +ENCODING 21679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7C0 +9440 +9A80 +9100 +9280 +FFE0 +9440 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_54B0 +ENCODING 21680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E7E0 +A820 +A7A0 +A4A0 +A7A0 +E4A0 +A7A0 +04A0 +0020 +00C0 +ENDCHAR +STARTCHAR U_54B1 +ENCODING 21681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0100 +0200 +EFC0 +A840 +AFC0 +A840 +AFC0 +A840 +E840 +0FC0 +0840 +ENDCHAR +STARTCHAR U_54B2 +ENCODING 21682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0240 +E280 +AFE0 +A100 +A100 +BFE0 +E100 +8280 +0440 +0820 +ENDCHAR +STARTCHAR U_54B3 +ENCODING 21683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E100 +AFE0 +A200 +A480 +AF00 +E240 +A480 +1980 +0240 +1C20 +ENDCHAR +STARTCHAR U_54B4 +ENCODING 21684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFE0 +A200 +A280 +A4A0 +A5A0 +EAC0 +A880 +1180 +2240 +0C20 +ENDCHAR +STARTCHAR U_54B5 +ENCODING 21685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +1FE0 +E500 +A880 +B740 +A020 +BFC0 +E400 +8780 +0080 +0300 +ENDCHAR +STARTCHAR U_54B6 +ENCODING 21686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F700 +9100 +9FE0 +9100 +9100 +F7C0 +9440 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_54B7 +ENCODING 21687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +02A0 +EAC0 +A680 +A280 +A6C0 +AAA0 +E280 +A4A0 +08A0 +1060 +ENDCHAR +STARTCHAR U_54B8 +ENCODING 21688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +0120 +7FE0 +4100 +5D40 +4140 +5D80 +5480 +5DA0 +4260 +8C20 +ENDCHAR +STARTCHAR U_54B9 +ENCODING 21689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0100 +EFE0 +A820 +A200 +AFE0 +A280 +E680 +A180 +0240 +0C20 +ENDCHAR +STARTCHAR U_54BA +ENCODING 21690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F000 +97C0 +9440 +9440 +97C0 +9440 +F7C0 +0440 +0000 +1FE0 +ENDCHAR +STARTCHAR U_54BB +ENCODING 21691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E480 +A880 +AFE0 +A880 +B880 +A9C0 +EAA0 +ACA0 +0880 +0880 +ENDCHAR +STARTCHAR U_54BC +ENCODING 21692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3C80 +2480 +2480 +FFE0 +8020 +9F20 +9120 +9F20 +8060 +ENDCHAR +STARTCHAR U_54BD +ENCODING 21693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E820 +A920 +AFE0 +A920 +A920 +A9A0 +EA60 +AC20 +0FE0 +0820 +ENDCHAR +STARTCHAR U_54BE +ENCODING 21694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E120 +A7C0 +A140 +A180 +AFE0 +E240 +A680 +0B20 +1220 +01E0 +ENDCHAR +STARTCHAR U_54BF +ENCODING 21695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0BC0 +E940 +A940 +AFE0 +B940 +A940 +ABC0 +E900 +A900 +0A00 +0C00 +ENDCHAR +STARTCHAR U_54C0 +ENCODING 21696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0000 +3F80 +2080 +3F80 +1440 +3280 +D100 +1480 +3860 +ENDCHAR +STARTCHAR U_54C1 +ENCODING 21697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F00 +2100 +2100 +3F00 +0000 +F3C0 +9240 +9240 +9240 +F3C0 +9240 +ENDCHAR +STARTCHAR U_54C2 +ENCODING 21698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E280 +A280 +AFE0 +AAA0 +AAA0 +EAE0 +AC20 +0820 +0FE0 +0820 +ENDCHAR +STARTCHAR U_54C3 +ENCODING 21699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E820 +ABA0 +A820 +ABA0 +AAA0 +AAA0 +EBA0 +A820 +0820 +0860 +ENDCHAR +STARTCHAR U_54C4 +ENCODING 21700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +E280 +AFE0 +A280 +A280 +A280 +AFE0 +E000 +A480 +0840 +1020 +ENDCHAR +STARTCHAR U_54C5 +ENCODING 21701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E7E0 +A820 +B520 +AAA0 +AAA0 +ADA0 +E8A0 +AFA0 +0020 +00C0 +ENDCHAR +STARTCHAR U_54C6 +ENCODING 21702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E3C0 +AC40 +A280 +A300 +AD00 +E3E0 +AC40 +0280 +0300 +1C00 +ENDCHAR +STARTCHAR U_54C7 +ENCODING 21703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9100 +9100 +9FE0 +9000 +F100 +97C0 +0100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_54C8 +ENCODING 21704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +F280 +9440 +9FE0 +9000 +97C0 +F440 +9440 +07C0 +0440 +ENDCHAR +STARTCHAR U_54C9 +ENCODING 21705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2200 +2280 +FA40 +2200 +FFC0 +0200 +7A80 +4B00 +4A40 +7D40 +48C0 +ENDCHAR +STARTCHAR U_54CA +ENCODING 21706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +1FE0 +E400 +AFC0 +B440 +A7C0 +A440 +E7C0 +A440 +0440 +04C0 +ENDCHAR +STARTCHAR U_54CB +ENCODING 21707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +0A80 +EAA0 +BEE0 +ABA0 +AEA0 +AAA0 +AAA0 +EE00 +3A20 +03E0 +ENDCHAR +STARTCHAR U_54CC +ENCODING 21708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +EF00 +A800 +ABC0 +AA80 +AAA0 +EAC0 +AA80 +0A40 +1320 +2620 +ENDCHAR +STARTCHAR U_54CD +ENCODING 21709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0200 +EFE0 +A820 +ABA0 +AAA0 +AAA0 +EBA0 +0820 +0820 +0860 +ENDCHAR +STARTCHAR U_54CE +ENCODING 21710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +1FE0 +E480 +A000 +A480 +A480 +A280 +E300 +0100 +0680 +1860 +ENDCHAR +STARTCHAR U_54CF +ENCODING 21711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +AFC0 +A840 +AFC0 +AA40 +EA20 +A940 +0880 +0A40 +0C20 +ENDCHAR +STARTCHAR U_54D0 +ENCODING 21712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E800 +ABE0 +A880 +A880 +ABE0 +E880 +A880 +0BE0 +0800 +0FE0 +ENDCHAR +STARTCHAR U_54D1 +ENCODING 21713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E280 +A280 +A280 +AAA0 +AAA0 +E6C0 +A280 +0280 +0280 +1FE0 +ENDCHAR +STARTCHAR U_54D2 +ENCODING 21714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +F480 +93E0 +9080 +9C80 +9480 +F540 +9620 +0400 +0A00 +11E0 +ENDCHAR +STARTCHAR U_54D3 +ENCODING 21715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFE0 +A240 +A280 +A120 +AEE0 +E000 +AFE0 +0280 +04A0 +1860 +ENDCHAR +STARTCHAR U_54D4 +ENCODING 21716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +E8A0 +AEC0 +A8A0 +AAA0 +AD60 +E100 +AFE0 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_54D5 +ENCODING 21717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E920 +A920 +AFE0 +A200 +A3E0 +E620 +A940 +0080 +0300 +1C00 +ENDCHAR +STARTCHAR U_54D6 +ENCODING 21718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E7E0 +A880 +A080 +A7E0 +A480 +E480 +AFE0 +0080 +0080 +0080 +ENDCHAR +STARTCHAR U_54D7 +ENCODING 21719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +E520 +AD40 +B580 +A520 +A6E0 +E100 +BFE0 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_54D8 +ENCODING 21720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +05E0 +E800 +B200 +A5E0 +AC40 +B440 +E440 +A440 +0440 +05C0 +ENDCHAR +STARTCHAR U_54D9 +ENCODING 21721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +E480 +A840 +B020 +A780 +A000 +BFE0 +E200 +A480 +09C0 +1E40 +ENDCHAR +STARTCHAR U_54DA +ENCODING 21722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +E480 +A480 +A860 +B100 +AFE0 +E100 +A380 +0540 +0920 +0100 +ENDCHAR +STARTCHAR U_54DB +ENCODING 21723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +F5C0 +9600 +F420 +93C0 +0900 +1080 +2F40 +4920 +9500 +2200 +ENDCHAR +STARTCHAR U_54DC +ENCODING 21724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9480 +9300 +9280 +9C60 +F480 +9480 +0480 +0880 +1080 +ENDCHAR +STARTCHAR U_54DD +ENCODING 21725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E100 +AFE0 +AA20 +A200 +A520 +E540 +AC80 +1440 +0540 +0620 +ENDCHAR +STARTCHAR U_54DE +ENCODING 21726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E480 +A840 +BFA0 +A500 +A7C0 +E900 +A100 +1FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_54DF +ENCODING 21727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E480 +A8E0 +AB20 +BD20 +A4A0 +AAA0 +FC20 +A020 +0620 +18C0 +ENDCHAR +STARTCHAR U_54E0 +ENCODING 21728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +E500 +A7C0 +A900 +AFE0 +A000 +E7C0 +A440 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_54E1 +ENCODING 21729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F00 +2100 +7F80 +4080 +7F80 +4080 +7F80 +4080 +7F80 +2100 +C0C0 +ENDCHAR +STARTCHAR U_54E2 +ENCODING 21730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E100 +A7C0 +A100 +AFE0 +A480 +EFE0 +A480 +0480 +0880 +1080 +ENDCHAR +STARTCHAR U_54E3 +ENCODING 21731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0000 +F7C0 +9440 +9440 +97C0 +F000 +8440 +0240 +0280 +1FE0 +ENDCHAR +STARTCHAR U_54E4 +ENCODING 21732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C40 +EA80 +BF20 +A840 +AA80 +AB20 +EA40 +AA80 +1320 +2220 +41E0 +ENDCHAR +STARTCHAR U_54E5 +ENCODING 21733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +0100 +7900 +4900 +7900 +FFC0 +0100 +7900 +4900 +7900 +0700 +ENDCHAR +STARTCHAR U_54E6 +ENCODING 21734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +06C0 +FCA0 +A480 +BFE0 +A480 +A6A0 +ACC0 +B480 +E5A0 +1660 +0820 +ENDCHAR +STARTCHAR U_54E7 +ENCODING 21735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E7C0 +A100 +A100 +AFE0 +A280 +AAC0 +EAA0 +12A0 +0480 +1980 +ENDCHAR +STARTCHAR U_54E8 +ENCODING 21736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +F540 +9100 +97E0 +9420 +97E0 +F420 +97E0 +0420 +0420 +04E0 +ENDCHAR +STARTCHAR U_54E9 +ENCODING 21737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E920 +AFE0 +A920 +AFE0 +A100 +A100 +E7C0 +0100 +0100 +1FE0 +ENDCHAR +STARTCHAR U_54EA +ENCODING 21738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1EE0 +EAA0 +AAA0 +BEC0 +AAA0 +BEA0 +EAA0 +AAA0 +0AE0 +1280 +2680 +ENDCHAR +STARTCHAR U_54EB +ENCODING 21739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +9440 +97C0 +9100 +9100 +F5C0 +9500 +0500 +0B00 +11E0 +ENDCHAR +STARTCHAR U_54EC +ENCODING 21740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0FE0 +E820 +BBA0 +AAA0 +AAA0 +EAA0 +ABA0 +0820 +0820 +08E0 +ENDCHAR +STARTCHAR U_54ED +ENCODING 21741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +4A40 +7BC0 +0500 +0480 +FFE0 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_54EE +ENCODING 21742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +EFC0 +A280 +BFE0 +A200 +A7C0 +E880 +B7E0 +2080 +0080 +0380 +ENDCHAR +STARTCHAR U_54EF +ENCODING 21743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +97C0 +9440 +97C0 +9440 +F7C0 +9280 +02A0 +04A0 +0860 +ENDCHAR +STARTCHAR U_54F0 +ENCODING 21744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFE0 +B220 +AA00 +AFC0 +B200 +E200 +9FE0 +0200 +0200 +0200 +ENDCHAR +STARTCHAR U_54F1 +ENCODING 21745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +AFE0 +A820 +A7C0 +E080 +AFE0 +0100 +0100 +0700 +ENDCHAR +STARTCHAR U_54F2 +ENCODING 21746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +FC00 +27E0 +F480 +2480 +6880 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_54F3 +ENCODING 21747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +05E0 +E500 +BF00 +A5E0 +A540 +A740 +ED40 +B540 +0540 +0540 +1E40 +ENDCHAR +STARTCHAR U_54F4 +ENCODING 21748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0FC0 +E840 +AFC0 +A840 +AFC0 +AA00 +E940 +0980 +0A80 +0C60 +ENDCHAR +STARTCHAR U_54F5 +ENCODING 21749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1E20 +1220 +FEA0 +A8A0 +A8A0 +BEA0 +EAA0 +8AA0 +0A20 +1220 +26E0 +ENDCHAR +STARTCHAR U_54F6 +ENCODING 21750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +ECE0 +A480 +A480 +AFC0 +A200 +A200 +FFE0 +0200 +0200 +0200 +ENDCHAR +STARTCHAR U_54F7 +ENCODING 21751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +0FA0 +EA20 +A540 +A040 +AFE0 +A040 +E240 +A140 +0040 +01C0 +ENDCHAR +STARTCHAR U_54F8 +ENCODING 21752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +FF00 +A220 +A940 +A400 +A200 +BFE0 +E480 +0300 +0280 +1C60 +ENDCHAR +STARTCHAR U_54F9 +ENCODING 21753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +0F00 +EA20 +A540 +AFC0 +A080 +E100 +BFE0 +0100 +0100 +0700 +ENDCHAR +STARTCHAR U_54FA +ENCODING 21754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +E140 +BFE0 +A100 +AFE0 +A920 +EFE0 +A920 +0FE0 +0920 +0960 +ENDCHAR +STARTCHAR U_54FB +ENCODING 21755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E440 +A7C0 +A440 +A7C0 +A000 +E7C0 +A100 +0FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_54FC +ENCODING 21756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0FE0 +F000 +97C0 +9440 +97C0 +F000 +97C0 +0080 +0100 +0300 +ENDCHAR +STARTCHAR U_54FD +ENCODING 21757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E100 +AFE0 +A920 +AFE0 +A920 +EFE0 +A500 +0200 +0500 +18E0 +ENDCHAR +STARTCHAR U_54FE +ENCODING 21758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +0500 +EFC0 +A840 +A840 +AFC0 +E500 +A500 +0500 +0920 +10E0 +ENDCHAR +STARTCHAR U_54FF +ENCODING 21759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +1520 +25E0 +4800 +FFE0 +0040 +1E40 +1240 +1E40 +01C0 +ENDCHAR +STARTCHAR U_5500 +ENCODING 21760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +0E00 +E200 +BFE0 +A700 +AA80 +F760 +A500 +05C0 +0840 +1180 +ENDCHAR +STARTCHAR U_5501 +ENCODING 21761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0100 +EFE0 +A000 +A7C0 +A000 +A7C0 +E000 +A7C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_5502 +ENCODING 21762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +EA40 +B240 +A500 +A880 +BFE0 +E880 +0880 +0F80 +0880 +ENDCHAR +STARTCHAR U_5503 +ENCODING 21763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +03C0 +E480 +AFE0 +A920 +AFE0 +E920 +AFE0 +0920 +0920 +1060 +ENDCHAR +STARTCHAR U_5504 +ENCODING 21764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F420 +9420 +97E0 +9420 +97E0 +F420 +97E0 +0280 +0440 +0820 +ENDCHAR +STARTCHAR U_5505 +ENCODING 21765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E280 +A440 +A920 +B7C0 +A040 +E080 +A7C0 +0440 +0440 +07C0 +ENDCHAR +STARTCHAR U_5506 +ENCODING 21766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E440 +AFE0 +A440 +AA20 +B3C0 +E640 +AA80 +0100 +0680 +1860 +ENDCHAR +STARTCHAR U_5507 +ENCODING 21767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +5FC0 +4000 +7FE0 +5240 +5980 +5060 +9FC0 +9040 +1FC0 +ENDCHAR +STARTCHAR U_5508 +ENCODING 21768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E440 +A7C0 +A000 +AFE0 +A920 +E920 +AFE0 +0800 +0820 +07E0 +ENDCHAR +STARTCHAR U_5509 +ENCODING 21769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0440 +F7A0 +9400 +97C0 +9900 +9100 +FFE0 +8280 +0440 +1820 +ENDCHAR +STARTCHAR U_550A +ENCODING 21770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +A540 +A540 +ABA0 +E920 +A300 +0480 +0840 +1020 +ENDCHAR +STARTCHAR U_550B +ENCODING 21771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +E480 +A840 +B7A0 +A100 +A100 +AFE0 +E100 +0940 +0920 +1320 +ENDCHAR +STARTCHAR U_550C +ENCODING 21772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +FDC0 +A440 +A840 +BD60 +A540 +E540 +B540 +09E0 +1400 +23E0 +ENDCHAR +STARTCHAR U_550D +ENCODING 21773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0100 +EFE0 +A820 +A380 +A000 +EFE0 +A280 +0280 +04A0 +0860 +ENDCHAR +STARTCHAR U_550E +ENCODING 21774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +FCA0 +A4A0 +BFA0 +A4A0 +A6A0 +E5A0 +ACA0 +1420 +0420 +04E0 +ENDCHAR +STARTCHAR U_550F +ENCODING 21775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0CC0 +E300 +ACC0 +A200 +BFE0 +A500 +EFE0 +B520 +0520 +0560 +0100 +ENDCHAR +STARTCHAR U_5510 +ENCODING 21776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +7FE0 +4240 +7FE0 +4240 +5FC0 +4200 +5FC0 +5040 +9FC0 +ENDCHAR +STARTCHAR U_5511 +ENCODING 21777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E540 +A540 +A540 +ABA0 +B100 +A100 +E7C0 +0100 +0100 +1FE0 +ENDCHAR +STARTCHAR U_5512 +ENCODING 21778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E280 +A280 +AFE0 +AAA0 +AAA0 +ACE0 +E820 +AFE0 +0820 +0FE0 +ENDCHAR +STARTCHAR U_5513 +ENCODING 21779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0FE0 +E100 +AFE0 +A920 +AFE0 +A920 +EFE0 +A100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_5514 +ENCODING 21780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +97C0 +9240 +9FE0 +9000 +F7C0 +9440 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_5515 +ENCODING 21781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0200 +F7C0 +9440 +97C0 +9440 +97C0 +F100 +9FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_5516 +ENCODING 21782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0280 +EFE0 +AAA0 +AAA0 +AAA0 +AAA0 +EFE0 +A280 +0280 +0FE0 +ENDCHAR +STARTCHAR U_5517 +ENCODING 21783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +97C0 +9100 +9FE0 +9100 +F500 +95C0 +0500 +0B00 +11E0 +ENDCHAR +STARTCHAR U_5518 +ENCODING 21784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +2220 +3D40 +6480 +BD60 +0220 +1FC0 +1040 +1040 +1FC0 +1040 +ENDCHAR +STARTCHAR U_5519 +ENCODING 21785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +EA80 +A4A0 +AEA0 +B5C0 +A480 +AC80 +F540 +8540 +1620 +0A20 +ENDCHAR +STARTCHAR U_551A +ENCODING 21786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E040 +AFC0 +A040 +BFE0 +B020 +AFC0 +E480 +0300 +0480 +1860 +ENDCHAR +STARTCHAR U_551B +ENCODING 21787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +A7C0 +A100 +AFE0 +A200 +E7C0 +AA40 +0180 +0E60 +ENDCHAR +STARTCHAR U_551C +ENCODING 21788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +3F80 +1500 +E4E0 +0200 +7A40 +4B80 +4A20 +79E0 +ENDCHAR +STARTCHAR U_551D +ENCODING 21789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0100 +F100 +9FE0 +9000 +97C0 +F540 +9540 +0100 +0280 +0C40 +ENDCHAR +STARTCHAR U_551E +ENCODING 21790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0540 +E4C0 +BE40 +A540 +A6C0 +AC60 +F7C0 +8440 +1440 +0840 +ENDCHAR +STARTCHAR U_551F +ENCODING 21791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +1080 +7FC0 +0000 +7A60 +4B80 +4A20 +79E0 +ENDCHAR +STARTCHAR U_5520 +ENCODING 21792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EFE0 +A280 +AFE0 +A820 +A200 +AFC0 +E240 +0240 +0440 +0980 +ENDCHAR +STARTCHAR U_5521 +ENCODING 21793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E280 +AFE0 +AAA0 +AAA0 +AAA0 +EDA0 +A960 +8A20 +0820 +08E0 +ENDCHAR +STARTCHAR U_5522 +ENCODING 21794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +F540 +9100 +97E0 +9420 +9520 +F520 +9520 +0520 +0240 +0C20 +ENDCHAR +STARTCHAR U_5523 +ENCODING 21795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A840 +AFC0 +A840 +AFC0 +A220 +E3C0 +1E00 +0220 +01E0 +ENDCHAR +STARTCHAR U_5524 +ENCODING 21796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +03C0 +F480 +9FC0 +9540 +9540 +F540 +9FE0 +0100 +0280 +0C60 +ENDCHAR +STARTCHAR U_5525 +ENCODING 21797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +1100 +EA80 +A440 +A120 +A7C0 +A840 +F280 +1100 +1100 +1100 +ENDCHAR +STARTCHAR U_5526 +ENCODING 21798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E900 +A140 +B520 +AD20 +A540 +A940 +F880 +A900 +0200 +0C00 +ENDCHAR +STARTCHAR U_5527 +ENCODING 21799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +AEA0 +AAA0 +AAA0 +AEA0 +A8A0 +EAE0 +0E80 +0A80 +0080 +ENDCHAR +STARTCHAR U_5528 +ENCODING 21800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +EAE0 +AAA0 +ACA0 +ACE0 +AAA0 +AAA0 +EEE0 +08A0 +09E0 +0800 +ENDCHAR +STARTCHAR U_5529 +ENCODING 21801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +0F00 +E100 +BFE0 +A380 +BD60 +A200 +BFE0 +E480 +0300 +0CE0 +ENDCHAR +STARTCHAR U_552A +ENCODING 21802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A200 +AFC0 +A400 +BFE0 +EA80 +1740 +2220 +0F80 +0200 +ENDCHAR +STARTCHAR U_552B +ENCODING 21803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0500 +E880 +B060 +AF80 +A200 +AF80 +E200 +0A80 +0700 +1FC0 +ENDCHAR +STARTCHAR U_552C +ENCODING 21804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +E200 +AFE0 +AA20 +ABC0 +AE20 +E9E0 +AB80 +0A80 +12A0 +2CE0 +ENDCHAR +STARTCHAR U_552D +ENCODING 21805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +EFE0 +A440 +A7C0 +A440 +A7C0 +E440 +BFE0 +0000 +0440 +1820 +ENDCHAR +STARTCHAR U_552E +ENCODING 21806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +2200 +7FC0 +A200 +3FC0 +2200 +3FE0 +2040 +2040 +3FC0 +ENDCHAR +STARTCHAR U_552F +ENCODING 21807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +F480 +97E0 +9C80 +97E0 +9480 +F7E0 +9480 +0480 +07E0 +0400 +ENDCHAR +STARTCHAR U_5530 +ENCODING 21808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FA0 +08A0 +EFA0 +AA20 +AA20 +AFA0 +EAA0 +0AA0 +1BA0 +1220 +2260 +ENDCHAR +STARTCHAR U_5531 +ENCODING 21809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +97C0 +9440 +97C0 +9000 +FFE0 +0820 +0FE0 +0820 +0FE0 +ENDCHAR +STARTCHAR U_5532 +ENCODING 21810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F6E0 +9420 +96E0 +9420 +9420 +F7E0 +9280 +02A0 +04A0 +1860 +ENDCHAR +STARTCHAR U_5533 +ENCODING 21811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A820 +AFE0 +A940 +A920 +EFE0 +0900 +1280 +2440 +4820 +ENDCHAR +STARTCHAR U_5534 +ENCODING 21812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F280 +9FE0 +9100 +97C0 +9100 +FFE0 +9280 +02A0 +04A0 +1860 +ENDCHAR +STARTCHAR U_5535 +ENCODING 21813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +A500 +AA80 +BFC0 +AAA0 +EF80 +AA80 +0FA0 +0220 +01E0 +ENDCHAR +STARTCHAR U_5536 +ENCODING 21814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +9280 +9280 +9FE0 +9000 +97C0 +F440 +07C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_5537 +ENCODING 21815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9440 +9FE0 +9000 +97C0 +F440 +97C0 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_5538 +ENCODING 21816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E500 +AA80 +B160 +AF80 +A100 +E600 +A240 +1520 +1460 +23C0 +ENDCHAR +STARTCHAR U_5539 +ENCODING 21817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +E480 +BE80 +A940 +AE20 +AA80 +EA40 +AA00 +0A80 +1240 +2420 +ENDCHAR +STARTCHAR U_553A +ENCODING 21818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0280 +EFE0 +AAA0 +AFE0 +AAA0 +AAA0 +FFE0 +0280 +0440 +0820 +ENDCHAR +STARTCHAR U_553B +ENCODING 21819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9100 +9540 +9540 +9BA0 +9100 +F380 +0540 +0920 +1120 +ENDCHAR +STARTCHAR U_553C +ENCODING 21820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A440 +A280 +AFE0 +A200 +FFE0 +A240 +0480 +0300 +1CE0 +ENDCHAR +STARTCHAR U_553D +ENCODING 21821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0460 +E580 +BF00 +A5E0 +AF40 +AD40 +ED40 +1540 +2540 +0640 +ENDCHAR +STARTCHAR U_553E +ENCODING 21822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F700 +9100 +9FE0 +9540 +9FE0 +F540 +9540 +0FE0 +0100 +0FE0 +ENDCHAR +STARTCHAR U_553F +ENCODING 21823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7E0 +9AA0 +92A0 +9520 +92C0 +F400 +9340 +0AA0 +0A60 +11C0 +ENDCHAR +STARTCHAR U_5540 +ENCODING 21824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E880 +A880 +ABE0 +A880 +ABE0 +E880 +ABE0 +0880 +1080 +27E0 +ENDCHAR +STARTCHAR U_5541 +ENCODING 21825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E920 +ABA0 +A920 +AFE0 +A820 +EBA0 +0AA0 +0BA0 +1020 +2060 +ENDCHAR +STARTCHAR U_5542 +ENCODING 21826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0680 +F880 +AA80 +B480 +A080 +AE80 +A480 +E680 +BCA0 +04A0 +0C60 +ENDCHAR +STARTCHAR U_5543 +ENCODING 21827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F5E0 +9500 +9FE0 +9000 +97C0 +F440 +97C0 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_5544 +ENCODING 21828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +9200 +9520 +9B40 +9580 +FD40 +9340 +0520 +0920 +1300 +ENDCHAR +STARTCHAR U_5545 +ENCODING 21829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01E0 +F100 +97C0 +9440 +97C0 +9440 +F7C0 +9100 +0FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_5546 +ENCODING 21830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +7FC0 +4A40 +5140 +7FC0 +5140 +5F40 +5140 +40C0 +ENDCHAR +STARTCHAR U_5547 +ENCODING 21831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +1100 +7FC0 +4840 +7F40 +4840 +5E40 +5240 +5EC0 +ENDCHAR +STARTCHAR U_5548 +ENCODING 21832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9100 +9FE0 +9440 +9280 +97C0 +F100 +0FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_5549 +ENCODING 21833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E480 +BFE0 +A480 +A480 +AEC0 +ADA0 +F6A0 +0480 +0480 +0480 +ENDCHAR +STARTCHAR U_554A +ENCODING 21834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +E820 +A820 +B3A0 +AAA0 +AAA0 +EBA0 +B820 +2020 +2020 +20E0 +ENDCHAR +STARTCHAR U_554B +ENCODING 21835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +EF20 +A920 +A4C0 +A100 +AFE0 +A100 +E380 +0540 +1920 +0100 +ENDCHAR +STARTCHAR U_554C +ENCODING 21836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0100 +EFE0 +A820 +B280 +A440 +A820 +E7C0 +8100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_554D +ENCODING 21837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A440 +A7C0 +A000 +AFC0 +E080 +AFE0 +0100 +0100 +0700 +ENDCHAR +STARTCHAR U_554E +ENCODING 21838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7100 +A7C0 +2140 +2140 +FFE0 +2000 +27E0 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_554F +ENCODING 21839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8020 +9F20 +9120 +9120 +9F20 +8060 +ENDCHAR +STARTCHAR U_5550 +ENCODING 21840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +9440 +9440 +9AA0 +9100 +FFE0 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_5551 +ENCODING 21841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E100 +AFC0 +A140 +BFE0 +A140 +AFC0 +E900 +09E0 +1500 +23E0 +ENDCHAR +STARTCHAR U_5552 +ENCODING 21842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E820 +AFE0 +A880 +AAA0 +AAA0 +ABE0 +E880 +0CA0 +14A0 +27E0 +ENDCHAR +STARTCHAR U_5553 +ENCODING 21843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7BE0 +4A40 +7D40 +4080 +4140 +4220 +BFC0 +2040 +2040 +3FC0 +ENDCHAR +STARTCHAR U_5554 +ENCODING 21844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +7D00 +47E0 +7D20 +41C0 +4720 +80E0 +3FA0 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_5555 +ENCODING 21845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +EFE0 +B420 +A7A0 +AA20 +BFE0 +E220 +AAA0 +0FA0 +0020 +00C0 +ENDCHAR +STARTCHAR U_5556 +ENCODING 21846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0120 +F540 +9580 +9A80 +9540 +9920 +F540 +0580 +0A80 +0440 +1820 +ENDCHAR +STARTCHAR U_5557 +ENCODING 21847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E3C0 +A440 +AA80 +BCE0 +A820 +E820 +AEE0 +0820 +0FE0 +0820 +ENDCHAR +STARTCHAR U_5558 +ENCODING 21848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A820 +A5C0 +AF40 +AB40 +B740 +E5C0 +8500 +0920 +10E0 +ENDCHAR +STARTCHAR U_5559 +ENCODING 21849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1240 +5B80 +5200 +5220 +F9E0 +0000 +7BC0 +4A40 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_555A +ENCODING 21850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +0400 +FFE0 +0400 +7FC0 +4040 +5F40 +5140 +7FC0 +ENDCHAR +STARTCHAR U_555B +ENCODING 21851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFE0 +A200 +AFC0 +A240 +BFE0 +E240 +9FE0 +0480 +0300 +0CC0 +ENDCHAR +STARTCHAR U_555C +ENCODING 21852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1EE0 +E220 +ACC0 +A440 +AAA0 +B100 +BEE0 +AAA0 +E440 +0AA0 +1120 +ENDCHAR +STARTCHAR U_555D +ENCODING 21853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1E00 +E5E0 +A520 +BF20 +A520 +AF20 +AD20 +F520 +15E0 +2400 +0400 +ENDCHAR +STARTCHAR U_555E +ENCODING 21854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E280 +A280 +AEE0 +A820 +A820 +AEE0 +E280 +0280 +0280 +1FE0 +ENDCHAR +STARTCHAR U_555F +ENCODING 21855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D00 +45E0 +7D40 +4340 +5D40 +5540 +5480 +9480 +9D40 +8220 +ENDCHAR +STARTCHAR U_5560 +ENCODING 21856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +18E0 +6300 +4200 +7BE0 +5240 +5240 +9440 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_5561 +ENCODING 21857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +9EE0 +9280 +9280 +9EE0 +9280 +F280 +8EE0 +0280 +0280 +ENDCHAR +STARTCHAR U_5562 +ENCODING 21858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E100 +A100 +AFE0 +A920 +ADA0 +AB60 +EDA0 +A920 +0920 +0960 +ENDCHAR +STARTCHAR U_5563 +ENCODING 21859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +EEE0 +B4A0 +A4A0 +BEA0 +A4A0 +E6A0 +14A0 +16E0 +1880 +0080 +ENDCHAR +STARTCHAR U_5564 +ENCODING 21860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFE0 +A920 +AFE0 +A920 +AFE0 +E280 +A480 +1FE0 +0080 +0080 +ENDCHAR +STARTCHAR U_5565 +ENCODING 21861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F280 +9440 +9BA0 +9100 +9FE0 +9100 +F7C0 +0440 +0440 +07C0 +ENDCHAR +STARTCHAR U_5566 +ENCODING 21862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +E480 +BFE0 +A400 +A640 +A540 +ED40 +B540 +0480 +07E0 +1C00 +ENDCHAR +STARTCHAR U_5567 +ENCODING 21863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +A7C0 +A100 +AFE0 +E440 +A540 +0540 +0280 +1C60 +ENDCHAR +STARTCHAR U_5568 +ENCODING 21864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EF80 +A200 +AF80 +A200 +BFE0 +A880 +EF80 +0880 +0F80 +0880 +ENDCHAR +STARTCHAR U_5569 +ENCODING 21865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EE80 +A480 +BE80 +A0C0 +A4A0 +AE80 +E480 +0680 +1880 +0080 +ENDCHAR +STARTCHAR U_556A +ENCODING 21866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +E480 +BFE0 +A520 +A520 +A720 +EDE0 +B520 +0520 +0520 +1DE0 +ENDCHAR +STARTCHAR U_556B +ENCODING 21867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFA0 +A240 +BFE0 +A200 +A7C0 +EC40 +9440 +27C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_556C +ENCODING 21868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FF80 +4900 +2A00 +FFC0 +0000 +7F80 +5280 +5E80 +4080 +7F80 +ENDCHAR +STARTCHAR U_556D +ENCODING 21869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +E440 +BFE0 +A840 +B5E0 +BE80 +E4E0 +A620 +1D40 +0480 +0440 +ENDCHAR +STARTCHAR U_556E +ENCODING 21870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E5E0 +A500 +BFE0 +A100 +A920 +A920 +EAA0 +0C60 +0820 +0FE0 +ENDCHAR +STARTCHAR U_556F +ENCODING 21871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E820 +AFE0 +A920 +AFE0 +A9A0 +A960 +EFE0 +0820 +0820 +0FE0 +ENDCHAR +STARTCHAR U_5570 +ENCODING 21872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EAA0 +AAA0 +AFE0 +A200 +A7C0 +E440 +8B40 +1080 +0100 +0E00 +ENDCHAR +STARTCHAR U_5571 +ENCODING 21873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0920 +E920 +AFE0 +A000 +BFE0 +A200 +E7E0 +AC20 +1420 +27E0 +ENDCHAR +STARTCHAR U_5572 +ENCODING 21874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0440 +E880 +AEE0 +AB20 +AA20 +AEA0 +AA60 +EA20 +AA20 +0E60 +ENDCHAR +STARTCHAR U_5573 +ENCODING 21875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +0540 +EFE0 +A100 +AFE0 +A280 +A7C0 +ECA0 +9580 +2420 +03E0 +ENDCHAR +STARTCHAR U_5574 +ENCODING 21876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0280 +EFE0 +A920 +AFE0 +A920 +AFE0 +A100 +FFE0 +0100 +0100 +ENDCHAR +STARTCHAR U_5575 +ENCODING 21877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +E7E0 +A2A0 +B280 +ABE0 +A220 +A720 +BAC0 +EA80 +0D40 +0A20 +ENDCHAR +STARTCHAR U_5576 +ENCODING 21878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +9820 +97C0 +9100 +9100 +F5C0 +0500 +0B00 +11E0 +ENDCHAR +STARTCHAR U_5577 +ENCODING 21879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04E0 +EEA0 +AAA0 +AEA0 +AAC0 +AEA0 +E8A0 +AAA0 +0DE0 +0880 +0080 +ENDCHAR +STARTCHAR U_5578 +ENCODING 21880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFC0 +A140 +BFE0 +A140 +AFC0 +E920 +ABA0 +0D60 +1120 +2120 +ENDCHAR +STARTCHAR U_5579 +ENCODING 21881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +AFC0 +A900 +A900 +AFE0 +E900 +AFC0 +1440 +1440 +27C0 +ENDCHAR +STARTCHAR U_557A +ENCODING 21882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +E480 +A780 +A480 +BFE0 +A400 +EFC0 +1540 +0A40 +1540 +0880 +ENDCHAR +STARTCHAR U_557B +ENCODING 21883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +FFE0 +8420 +3F80 +2480 +0400 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_557C +ENCODING 21884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A440 +A280 +AFE0 +A920 +A7C0 +E540 +0540 +05C0 +0100 +ENDCHAR +STARTCHAR U_557D +ENCODING 21885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F280 +97C0 +9820 +97C0 +9440 +F7C0 +9280 +1FE0 +0280 +0C80 +ENDCHAR +STARTCHAR U_557E +ENCODING 21886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C80 +F880 +AAA0 +BEC0 +AA80 +AC80 +EA80 +1880 +2940 +0A20 +0C20 +ENDCHAR +STARTCHAR U_557F +ENCODING 21887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +9440 +97C0 +9440 +97C0 +F440 +9FE0 +0A80 +0C40 +0FE0 +ENDCHAR +STARTCHAR U_5580 +ENCODING 21888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A820 +A7C0 +AC40 +A380 +A440 +EFE0 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_5581 +ENCODING 21889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F540 +97C0 +9540 +97C0 +9100 +FFE0 +9960 +0FA0 +0820 +0860 +ENDCHAR +STARTCHAR U_5582 +ENCODING 21890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F540 +97C0 +9540 +97C0 +9000 +FFE0 +9540 +0480 +0540 +0E20 +ENDCHAR +STARTCHAR U_5583 +ENCODING 21891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +AFE0 +AAA0 +A920 +AFE0 +E920 +0FE0 +0920 +0860 +ENDCHAR +STARTCHAR U_5584 +ENCODING 21892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0400 +7FC0 +0400 +FFE0 +1100 +FFE0 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_5585 +ENCODING 21893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +97C0 +9440 +97C0 +9100 +9FE0 +F440 +9240 +0280 +1FE0 +ENDCHAR +STARTCHAR U_5586 +ENCODING 21894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FBE0 +2080 +2080 +FBE0 +0000 +FBE0 +8A20 +8A20 +FBE0 +ENDCHAR +STARTCHAR U_5587 +ENCODING 21895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0420 +FF20 +A4A0 +BFA0 +B5A0 +B5A0 +FFA0 +A4A0 +0E20 +1520 +2460 +ENDCHAR +STARTCHAR U_5588 +ENCODING 21896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +E8A0 +AEC0 +A8A0 +AEE0 +BA00 +E7C0 +A440 +07C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_5589 +ENCODING 21897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0BC0 +E840 +AFE0 +BA00 +ABE0 +AC80 +E880 +AFE0 +0880 +0940 +0A20 +ENDCHAR +STARTCHAR U_558A +ENCODING 21898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +E0A0 +AFE0 +A880 +AEA0 +A8A0 +EEC0 +AA80 +0EA0 +1160 +2220 +ENDCHAR +STARTCHAR U_558B +ENCODING 21899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FFE0 +9540 +95C0 +9400 +97E0 +F100 +9FE0 +0580 +0940 +1120 +ENDCHAR +STARTCHAR U_558C +ENCODING 21900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4A20 +4A20 +7BE0 +0000 +1220 +5B20 +56A0 +9220 +2220 +4220 +ENDCHAR +STARTCHAR U_558D +ENCODING 21901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +02A0 +EAC0 +AB80 +AAA0 +ABA0 +BC60 +E100 +AFE0 +0580 +0940 +1120 +ENDCHAR +STARTCHAR U_558E +ENCODING 21902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E440 +A740 +A540 +AFE0 +A820 +EBA0 +AAA0 +0BA0 +0820 +0860 +ENDCHAR +STARTCHAR U_558F +ENCODING 21903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +A480 +A200 +BFE0 +A400 +E7C0 +AC40 +1440 +27C0 +0440 +ENDCHAR +STARTCHAR U_5590 +ENCODING 21904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E4E0 +BFA0 +A8A0 +AEC0 +BAA0 +EEA0 +8AA0 +0EC0 +0A80 +0A80 +ENDCHAR +STARTCHAR U_5591 +ENCODING 21905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9440 +9280 +9FE0 +9000 +F7C0 +9440 +07C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_5592 +ENCODING 21906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +EF80 +AAC0 +BAA0 +A500 +A8E0 +F7C0 +A440 +07C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_5593 +ENCODING 21907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E280 +AFE0 +AAA0 +AFE0 +A200 +EFE0 +A440 +0380 +0140 +0E20 +ENDCHAR +STARTCHAR U_5594 +ENCODING 21908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E820 +AFE0 +A800 +AFE0 +AA40 +EFE0 +A900 +0FC0 +1100 +2FE0 +ENDCHAR +STARTCHAR U_5595 +ENCODING 21909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E100 +A200 +AFE0 +AAA0 +ABA0 +AAA0 +EBA0 +AAA0 +0FE0 +0820 +ENDCHAR +STARTCHAR U_5596 +ENCODING 21910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E480 +BE80 +A5E0 +AC80 +AE80 +F5E0 +A520 +0520 +05E0 +0520 +ENDCHAR +STARTCHAR U_5597 +ENCODING 21911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E920 +B7C0 +A100 +A7C0 +E7C0 +8540 +07C0 +0100 +1FE0 +0100 +ENDCHAR +STARTCHAR U_5598 +ENCODING 21912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E920 +AFE0 +A000 +AFE0 +A200 +EFE0 +AAA0 +0AA0 +0AA0 +0860 +ENDCHAR +STARTCHAR U_5599 +ENCODING 21913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07C0 +E880 +BFE0 +A200 +AD20 +A340 +ED80 +0340 +1D20 +0300 +ENDCHAR +STARTCHAR U_559A +ENCODING 21914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +E480 +A900 +BFC0 +AB40 +ACC0 +EA40 +1FE0 +0280 +0440 +1820 +ENDCHAR +STARTCHAR U_559B +ENCODING 21915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +1E40 +EA80 +BFC0 +A400 +BFE0 +A400 +E7C0 +8A80 +1100 +26E0 +ENDCHAR +STARTCHAR U_559C +ENCODING 21916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +2080 +3F80 +1100 +FFE0 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_559D +ENCODING 21917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +AFC0 +A840 +AFC0 +A400 +EFE0 +1920 +0AA0 +0F20 +00C0 +ENDCHAR +STARTCHAR U_559E +ENCODING 21918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +EEE0 +AAA0 +AEA0 +AAA0 +AEA0 +E8A0 +AEA0 +08C0 +0A80 +0680 +ENDCHAR +STARTCHAR U_559F +ENCODING 21919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E920 +AFE0 +A920 +AFE0 +A440 +E7C0 +A440 +07C0 +0440 +04C0 +ENDCHAR +STARTCHAR U_55A0 +ENCODING 21920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E200 +BFE0 +AA40 +AFC0 +AA40 +EFC0 +8200 +0FC0 +0200 +1FE0 +ENDCHAR +STARTCHAR U_55A1 +ENCODING 21921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFC0 +9240 +9FE0 +9440 +97C0 +F080 +9FE0 +9480 +0FE0 +0080 +ENDCHAR +STARTCHAR U_55A2 +ENCODING 21922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +E700 +A100 +AFE0 +A100 +ADE0 +A920 +ED60 +0920 +0FE0 +0820 +ENDCHAR +STARTCHAR U_55A3 +ENCODING 21923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F3E0 +9420 +9BA0 +92A0 +93A0 +F020 +00C0 +5240 +4920 +8920 +ENDCHAR +STARTCHAR U_55A4 +ENCODING 21924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9440 +97C0 +9440 +9FE0 +F100 +97C0 +0100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_55A5 +ENCODING 21925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +AA40 +AFE0 +AA40 +ABC0 +E800 +AFE0 +0A40 +1180 +2660 +ENDCHAR +STARTCHAR U_55A6 +ENCODING 21926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +1080 +1F80 +0000 +F1E0 +9520 +F5E0 +0400 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_55A7 +ENCODING 21927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A820 +AFE0 +A000 +A7C0 +A440 +E7C0 +A440 +0440 +0FE0 +ENDCHAR +STARTCHAR U_55A8 +ENCODING 21928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9440 +97C0 +9000 +9FE0 +F820 +9380 +02A0 +04A0 +0860 +ENDCHAR +STARTCHAR U_55A9 +ENCODING 21929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E500 +A880 +B760 +A000 +BD40 +F540 +9E80 +1680 +1D40 +1540 +ENDCHAR +STARTCHAR U_55AA +ENCODING 21930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +75C0 +5540 +75C0 +0400 +FFE0 +2140 +2880 +3060 +ENDCHAR +STARTCHAR U_55AB +ENCODING 21931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +05E0 +FEA0 +A4A0 +BEA0 +A520 +BEC0 +E200 +BFE0 +0200 +0D80 +3060 +ENDCHAR +STARTCHAR U_55AC +ENCODING 21932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0800 +FFE0 +2080 +DF60 +1100 +7FC0 +4040 +4F40 +4940 +4FC0 +ENDCHAR +STARTCHAR U_55AD +ENCODING 21933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A280 +AFE0 +A880 +A900 +EE40 +A980 +0E60 +1080 +2F00 +ENDCHAR +STARTCHAR U_55AE +ENCODING 21934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F3C0 +9240 +9240 +FFC0 +4480 +7F80 +4480 +7F80 +0400 +FFC0 +0400 +ENDCHAR +STARTCHAR U_55AF +ENCODING 21935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +1FC0 +E480 +BA60 +AFC0 +A200 +EA80 +BFE0 +0880 +0880 +3080 +ENDCHAR +STARTCHAR U_55B0 +ENCODING 21936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0280 +F540 +9FE0 +9440 +97C0 +F440 +87C0 +0560 +0480 +0660 +ENDCHAR +STARTCHAR U_55B1 +ENCODING 21937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E800 +ABE0 +AAA0 +ABE0 +AAA0 +EBE0 +A880 +0BE0 +1080 +27E0 +ENDCHAR +STARTCHAR U_55B2 +ENCODING 21938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E480 +A8E0 +BB20 +A420 +AB20 +BEA0 +E0A0 +0A20 +1520 +15C0 +ENDCHAR +STARTCHAR U_55B3 +ENCODING 21939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9540 +9920 +97C0 +9440 +F7C0 +9440 +07C0 +0000 +1FE0 +ENDCHAR +STARTCHAR U_55B4 +ENCODING 21940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +02A0 +EAC0 +AB80 +AAA0 +BFE0 +A100 +E100 +AFE0 +0580 +0940 +1120 +ENDCHAR +STARTCHAR U_55B5 +ENCODING 21941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +9FE0 +9280 +97E0 +9520 +F520 +97E0 +0520 +07E0 +0420 +ENDCHAR +STARTCHAR U_55B6 +ENCODING 21942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +4880 +2500 +FFC0 +8040 +BF40 +2100 +3F00 +0000 +7F80 +4080 +7F80 +ENDCHAR +STARTCHAR U_55B7 +ENCODING 21943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A540 +AFE0 +A440 +AFE0 +E820 +A920 +0920 +0280 +0C60 +ENDCHAR +STARTCHAR U_55B8 +ENCODING 21944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +4440 +7FC0 +4440 +7FC0 +4440 +0280 +7B00 +4A40 +79C0 +ENDCHAR +STARTCHAR U_55B9 +ENCODING 21945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9280 +9540 +9FE0 +9100 +FFE0 +9100 +07C0 +0100 +1FE0 +ENDCHAR +STARTCHAR U_55BA +ENCODING 21946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04C0 +E700 +A900 +AA40 +BBC0 +A920 +EBC0 +A880 +0AC0 +0CA0 +0920 +ENDCHAR +STARTCHAR U_55BB +ENCODING 21947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +E480 +BB60 +A000 +AE20 +AAA0 +EEA0 +AAA0 +0EA0 +0A20 +0AE0 +ENDCHAR +STARTCHAR U_55BC +ENCODING 21948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +0900 +F7C0 +9040 +97C0 +9040 +F7C0 +8200 +0D40 +1460 +03C0 +ENDCHAR +STARTCHAR U_55BD +ENCODING 21949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +F540 +9FE0 +9380 +9540 +9920 +FFE0 +9240 +0680 +0140 +0E20 +ENDCHAR +STARTCHAR U_55BE +ENCODING 21950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4880 +2500 +FFC0 +A440 +3F00 +4400 +FFC0 +0000 +3F00 +2100 +3F00 +ENDCHAR +STARTCHAR U_55BF +ENCODING 21951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +2080 +FFE0 +8A20 +FBE0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_55C0 +ENCODING 21952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +7D40 +1140 +FE60 +8400 +7BC0 +0140 +7940 +4880 +7940 +4A20 +ENDCHAR +STARTCHAR U_55C1 +ENCODING 21953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E900 +A9C0 +A900 +ABE0 +AAA0 +EBC0 +AA80 +15C0 +1540 +2A60 +ENDCHAR +STARTCHAR U_55C2 +ENCODING 21954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +0C40 +EA40 +A580 +A200 +A7C0 +A900 +EFE0 +A100 +0920 +0FE0 +ENDCHAR +STARTCHAR U_55C3 +ENCODING 21955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A440 +A7C0 +A000 +AFE0 +E820 +ABA0 +0AA0 +0BA0 +0860 +ENDCHAR +STARTCHAR U_55C4 +ENCODING 21956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E200 +A7C0 +A440 +A740 +A5C0 +E440 +AFE0 +1480 +0300 +1CE0 +ENDCHAR +STARTCHAR U_55C5 +ENCODING 21957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +07C0 +F440 +9740 +95C0 +9440 +97C0 +F140 +9FE0 +0280 +0C60 +ENDCHAR +STARTCHAR U_55C6 +ENCODING 21958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +E680 +A940 +BFA0 +A880 +AF80 +E880 +AFC0 +0C40 +17C0 +2440 +ENDCHAR +STARTCHAR U_55C7 +ENCODING 21959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +5540 +FFE0 +0000 +3FC0 +2940 +2F40 +2040 +3FC0 +ENDCHAR +STARTCHAR U_55C8 +ENCODING 21960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FA80 +9540 +97C0 +9440 +9FC0 +FA40 +9A40 +0FC0 +0820 +07E0 +ENDCHAR +STARTCHAR U_55C9 +ENCODING 21961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +97C0 +9100 +9FE0 +9240 +FF80 +9440 +0FA0 +0540 +1B20 +ENDCHAR +STARTCHAR U_55CA +ENCODING 21962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +9FE0 +9440 +97C0 +9440 +F7C0 +9440 +07C0 +0280 +0C60 +ENDCHAR +STARTCHAR U_55CB +ENCODING 21963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFC0 +A440 +BFE0 +AAA0 +BFC0 +E840 +AFC0 +0840 +0FC0 +0840 +ENDCHAR +STARTCHAR U_55CC +ENCODING 21964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0840 +E480 +BFE0 +A280 +A440 +A820 +BFE0 +EAA0 +AAA0 +0AA0 +1FE0 +ENDCHAR +STARTCHAR U_55CD +ENCODING 21965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0BE0 +E520 +BF20 +A520 +B5E0 +B520 +FF20 +A5E0 +0520 +0A20 +14E0 +ENDCHAR +STARTCHAR U_55CE +ENCODING 21966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E900 +AFC0 +A900 +AFC0 +A900 +EFE0 +A020 +0D20 +0AA0 +12C0 +ENDCHAR +STARTCHAR U_55CF +ENCODING 21967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +9480 +9300 +9480 +9960 +F100 +9FE0 +0580 +0940 +1320 +ENDCHAR +STARTCHAR U_55D0 +ENCODING 21968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A920 +A7C0 +A100 +A7C0 +E100 +1FE0 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_55D1 +ENCODING 21969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E7C0 +A100 +AFE0 +A440 +AFA0 +A000 +EFE0 +AAA0 +0AA0 +1FE0 +ENDCHAR +STARTCHAR U_55D2 +ENCODING 21970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +9480 +9380 +9440 +9BA0 +F000 +97C0 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_55D3 +ENCODING 21971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E480 +A300 +BFE0 +AAA0 +A440 +EBA0 +0100 +1FE0 +0540 +0920 +ENDCHAR +STARTCHAR U_55D4 +ENCODING 21972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9440 +97C0 +9440 +9740 +F5C0 +9440 +0FE0 +0280 +0C60 +ENDCHAR +STARTCHAR U_55D5 +ENCODING 21973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E800 +ABC0 +A800 +AFE0 +AAA0 +EB40 +AA60 +0FE0 +1440 +22C0 +ENDCHAR +STARTCHAR U_55D6 +ENCODING 21974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +ED60 +A920 +AF60 +A920 +AFE0 +E100 +AFE0 +0440 +0380 +1C60 +ENDCHAR +STARTCHAR U_55D7 +ENCODING 21975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E440 +A740 +A540 +AFE0 +F460 +87C0 +0440 +07C0 +0440 +04C0 +ENDCHAR +STARTCHAR U_55D8 +ENCODING 21976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +0F00 +F520 +92C0 +97C0 +9280 +F7C0 +9100 +8FE0 +0280 +1C60 +ENDCHAR +STARTCHAR U_55D9 +ENCODING 21977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9440 +9280 +9FE0 +9920 +FFE0 +9200 +03C0 +0440 +1980 +ENDCHAR +STARTCHAR U_55DA +ENCODING 21978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A840 +AFC0 +A800 +AFE0 +E800 +AFE0 +0020 +0AA0 +1540 +ENDCHAR +STARTCHAR U_55DB +ENCODING 21979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +FFE0 +A500 +AFC0 +A540 +BFE0 +E540 +AFC0 +0500 +0D40 +1520 +ENDCHAR +STARTCHAR U_55DC +ENCODING 21980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +9140 +9FE0 +9380 +9D20 +F7E0 +9440 +07C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_55DD +ENCODING 21981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E440 +A7C0 +A000 +AFE0 +AAA0 +E920 +AFE0 +0920 +0920 +0860 +ENDCHAR +STARTCHAR U_55DE +ENCODING 21982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0280 +EFE0 +A240 +A440 +A480 +A9A0 +E640 +A240 +05A0 +0EE0 +ENDCHAR +STARTCHAR U_55DF +ENCODING 21983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F280 +9FE0 +9100 +97C0 +9100 +FFE0 +9400 +0FC0 +1100 +2FE0 +ENDCHAR +STARTCHAR U_55E0 +ENCODING 21984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A00 +E7C0 +AA40 +5440 +7A80 +0900 +1280 +FFE0 +1440 +5440 +27C0 +ENDCHAR +STARTCHAR U_55E1 +ENCODING 21985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EA40 +B4A0 +AFC0 +A000 +AEE0 +F320 +AAA0 +0EE0 +1320 +0660 +ENDCHAR +STARTCHAR U_55E2 +ENCODING 21986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +97C0 +9440 +97C0 +9000 +FFE0 +9AA0 +0AA0 +0AA0 +1FE0 +ENDCHAR +STARTCHAR U_55E3 +ENCODING 21987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4820 +7BA0 +0020 +FBA0 +AAA0 +AAA0 +FBA0 +A820 +A820 +98E0 +ENDCHAR +STARTCHAR U_55E4 +ENCODING 21988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +0920 +EFE0 +A100 +BFE0 +A100 +AFE0 +E920 +0FE0 +0120 +1FE0 +ENDCHAR +STARTCHAR U_55E5 +ENCODING 21989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +07C0 +E440 +A7C0 +A440 +BFE0 +A540 +E920 +17C0 +0100 +0100 +ENDCHAR +STARTCHAR U_55E6 +ENCODING 21990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +BFE0 +B2A0 +AF00 +E240 +AFA0 +0540 +0920 +1320 +ENDCHAR +STARTCHAR U_55E7 +ENCODING 21991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +2A20 +5FE0 +8900 +3F80 +C060 +7FC0 +4A40 +7FC0 +4A40 +ENDCHAR +STARTCHAR U_55E8 +ENCODING 21992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +0BE0 +E400 +B3E0 +AAA0 +A2A0 +A7E0 +FAA0 +0BE0 +0820 +08C0 +ENDCHAR +STARTCHAR U_55E9 +ENCODING 21993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +0540 +EFE0 +A820 +AFE0 +A820 +AFE0 +E820 +0FE0 +0440 +0820 +ENDCHAR +STARTCHAR U_55EA +ENCODING 21994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +AFC0 +A200 +BFE0 +E540 +0920 +1FE0 +0540 +1920 +ENDCHAR +STARTCHAR U_55EB +ENCODING 21995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E440 +A7C0 +A440 +A7C0 +A440 +FFE0 +0AA0 +0440 +0AA0 +1120 +ENDCHAR +STARTCHAR U_55EC +ENCODING 21996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +1FE0 +E480 +A800 +AFE0 +B040 +B740 +F540 +1740 +1040 +10C0 +ENDCHAR +STARTCHAR U_55ED +ENCODING 21997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +2880 +2480 +FFE0 +0240 +7B80 +4A20 +79E0 +ENDCHAR +STARTCHAR U_55EE +ENCODING 21998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +E940 +A940 +ABE0 +BAA0 +AAA0 +AAA0 +EB60 +3A20 +2BE0 +0220 +ENDCHAR +STARTCHAR U_55EF +ENCODING 21999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E920 +AFE0 +A920 +AAA0 +AFE0 +E000 +0540 +1520 +1460 +03C0 +ENDCHAR +STARTCHAR U_55F0 +ENCODING 22000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +2FE0 +E920 +AFE0 +A920 +ABA0 +AAA0 +EAA0 +2BA0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_55F1 +ENCODING 22001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +0480 +FB40 +A7A0 +A480 +A780 +A100 +E7C0 +0100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_55F2 +ENCODING 22002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +EAA0 +A100 +AEE0 +A380 +A480 +EBE0 +A240 +0D80 +0100 +0E00 +ENDCHAR +STARTCHAR U_55F3 +ENCODING 22003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +EF20 +A540 +AFE0 +B220 +AFC0 +E400 +07C0 +0A80 +1100 +0EE0 +ENDCHAR +STARTCHAR U_55F4 +ENCODING 22004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0FE0 +E100 +A7C0 +A100 +BFE0 +A340 +E3A0 +05E0 +0520 +18E0 +ENDCHAR +STARTCHAR U_55F5 +ENCODING 22005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +0940 +E3E0 +A2A0 +BBE0 +AAA0 +ABE0 +EAA0 +0AE0 +1400 +23E0 +ENDCHAR +STARTCHAR U_55F6 +ENCODING 22006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F540 +97C0 +9540 +9FE0 +9540 +FFE0 +9540 +0FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_55F7 +ENCODING 22007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +1E80 +E480 +BEE0 +A520 +BF20 +A8A0 +EE40 +0A40 +12A0 +2520 +ENDCHAR +STARTCHAR U_55F8 +ENCODING 22008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +23E0 +FD40 +2140 +3880 +4940 +9220 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_55F9 +ENCODING 22009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +17E0 +E880 +A3E0 +BAA0 +ABE0 +AAA0 +EFE0 +0880 +1480 +23E0 +ENDCHAR +STARTCHAR U_55FA +ENCODING 22010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0920 +EFE0 +A500 +AFE0 +B900 +AFC0 +E900 +0FC0 +0900 +0FE0 +ENDCHAR +STARTCHAR U_55FB +ENCODING 22011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A800 +AA40 +AFE0 +AA40 +ABC0 +E800 +1540 +16A0 +2AA0 +ENDCHAR +STARTCHAR U_55FC +ENCODING 22012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +1FE0 +E480 +AFC0 +AA40 +A940 +AFC0 +E200 +1FE0 +0480 +1860 +ENDCHAR +STARTCHAR U_55FD +ENCODING 22013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +3E80 +E8E0 +BF20 +AAC0 +AA80 +BE80 +EC80 +1A80 +2940 +0A20 +ENDCHAR +STARTCHAR U_55FE +ENCODING 22014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +0480 +FFE0 +A900 +AFE0 +AA80 +ABE0 +EA80 +0B40 +1540 +2A20 +ENDCHAR +STARTCHAR U_55FF +ENCODING 22015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +0480 +EA40 +B7A0 +A100 +AFC0 +A840 +EFC0 +0840 +0FC0 +1860 +ENDCHAR +STARTCHAR U_5600 +ENCODING 22016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0FE0 +E480 +AFE0 +A920 +AFE0 +A920 +EBA0 +0AA0 +0BA0 +0860 +ENDCHAR +STARTCHAR U_5601 +ENCODING 22017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +E0A0 +AFE0 +AA80 +ABA0 +AAA0 +AFA0 +EAC0 +0EA0 +1360 +2620 +ENDCHAR +STARTCHAR U_5602 +ENCODING 22018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E2E0 +AAA0 +AAA0 +AAA0 +EAE0 +0A00 +EAE0 +AEA0 +A2A0 +A2A0 +E2E0 +ENDCHAR +STARTCHAR U_5603 +ENCODING 22019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A940 +AFE0 +A940 +AFC0 +E900 +0FC0 +0D40 +17C0 +2540 +ENDCHAR +STARTCHAR U_5604 +ENCODING 22020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A840 +AFC0 +A840 +AFE0 +E220 +1FA0 +0760 +0A80 +3260 +ENDCHAR +STARTCHAR U_5605 +ENCODING 22021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +EA80 +AE80 +AA80 +AFE0 +A880 +EC80 +0B80 +0DA0 +0AA0 +0460 +ENDCHAR +STARTCHAR U_5606 +ENCODING 22022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +E500 +AFC0 +AA40 +AFC0 +A200 +EFC0 +0200 +1FE0 +0480 +1860 +ENDCHAR +STARTCHAR U_5607 +ENCODING 22023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E480 +AFC0 +A480 +AFC0 +A500 +EA80 +1560 +0A80 +0100 +1E00 +ENDCHAR +STARTCHAR U_5608 +ENCODING 22024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +AAA0 +AFE0 +AAA0 +AFE0 +E440 +07C0 +0440 +07C0 +0440 +ENDCHAR +STARTCHAR U_5609 +ENCODING 22025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +2080 +3F80 +1100 +FFE0 +2A40 +4A40 +9BC0 +ENDCHAR +STARTCHAR U_560A +ENCODING 22026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0940 +EFC0 +A000 +AFE0 +A900 +AFC0 +E900 +17C0 +1100 +2FE0 +ENDCHAR +STARTCHAR U_560B +ENCODING 22027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +EF40 +A560 +BFA0 +A4A0 +AFA0 +F240 +0440 +1E40 +04A0 +0D20 +ENDCHAR +STARTCHAR U_560C +ENCODING 22028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E280 +AFE0 +AAA0 +AFE0 +A000 +A7C0 +E000 +1FE0 +0940 +1320 +ENDCHAR +STARTCHAR U_560D +ENCODING 22029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E7C0 +A540 +AFE0 +A540 +AFE0 +E920 +1FE0 +0280 +0380 +1C60 +ENDCHAR +STARTCHAR U_560E +ENCODING 22030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +0200 +EFC0 +AA40 +A940 +AFC0 +A240 +FFE0 +0280 +0320 +1CE0 +ENDCHAR +STARTCHAR U_560F +ENCODING 22031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4A20 +FA20 +4EE0 +4800 +EEE0 +A8A0 +A8A0 +EE40 +A8A0 +0B20 +ENDCHAR +STARTCHAR U_5610 +ENCODING 22032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1EE0 +EAA0 +A660 +AAA0 +A300 +A480 +FA60 +0500 +0A80 +0100 +0E00 +ENDCHAR +STARTCHAR U_5611 +ENCODING 22033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +E200 +AFE0 +AA20 +AF80 +AA40 +EFC0 +1540 +1FE0 +1100 +2300 +ENDCHAR +STARTCHAR U_5612 +ENCODING 22034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +E440 +AEE0 +A440 +AEE0 +A440 +EFE0 +0020 +0FE0 +0020 +0FE0 +ENDCHAR +STARTCHAR U_5613 +ENCODING 22035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +E160 +BFE0 +A120 +BD20 +B560 +FDA0 +2120 +3AA0 +2460 +3FE0 +ENDCHAR +STARTCHAR U_5614 +ENCODING 22036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E800 +ABC0 +AA40 +ABC0 +A800 +EEE0 +0AA0 +0EE0 +0800 +0FE0 +ENDCHAR +STARTCHAR U_5615 +ENCODING 22037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E100 +A9C0 +A900 +BFE0 +A800 +EFC0 +0800 +0FE0 +1AA0 +2560 +ENDCHAR +STARTCHAR U_5616 +ENCODING 22038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +A7C0 +A100 +AFE0 +E440 +07C0 +0440 +07C0 +0C60 +ENDCHAR +STARTCHAR U_5617 +ENCODING 22039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FFE0 +9120 +1F00 +2200 +2C40 +3FC0 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_5618 +ENCODING 22040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +E200 +AFE0 +AA20 +AFC0 +AA20 +E9E0 +AA80 +1AA0 +26C0 +5FE0 +ENDCHAR +STARTCHAR U_5619 +ENCODING 22041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +EBE0 +A2A0 +BBC0 +A740 +AA80 +F540 +1FE0 +0480 +0300 +0CC0 +ENDCHAR +STARTCHAR U_561A +ENCODING 22042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0BE0 +EA20 +B3E0 +AA20 +ABE0 +B800 +EBE0 +0840 +0BE0 +0A40 +09C0 +ENDCHAR +STARTCHAR U_561B +ENCODING 22043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +1FE0 +F480 +9480 +9FE0 +9480 +F6C0 +1DA0 +14A0 +2480 +4480 +ENDCHAR +STARTCHAR U_561C +ENCODING 22044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +A940 +A940 +B6A0 +A440 +FBA0 +0480 +0B00 +0280 +1C40 +ENDCHAR +STARTCHAR U_561D +ENCODING 22045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0720 +EA60 +BFA0 +AAA0 +AFE0 +AAA0 +EFA0 +0AE0 +0AA0 +12A0 +21A0 +ENDCHAR +STARTCHAR U_561E +ENCODING 22046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A80 +FE80 +ABE0 +AEA0 +A4A0 +BFA0 +F5A0 +1FA0 +04A0 +1F20 +0560 +ENDCHAR +STARTCHAR U_561F +ENCODING 22047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +08E0 +FDA0 +AAA0 +BFC0 +A4A0 +AEA0 +EAA0 +1EA0 +2AE0 +0E80 +0A80 +ENDCHAR +STARTCHAR U_5620 +ENCODING 22048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E200 +A7C0 +A540 +A540 +BFE0 +F2A0 +0FC0 +0240 +01A0 +1E60 +ENDCHAR +STARTCHAR U_5621 +ENCODING 22049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0540 +EFE0 +A820 +A7C0 +A440 +A7C0 +E100 +07C0 +0100 +0FE0 +ENDCHAR +STARTCHAR U_5622 +ENCODING 22050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3EE0 +EA20 +AAA0 +BE40 +ABE0 +BE40 +E840 +1E40 +0840 +0E40 +30C0 +ENDCHAR +STARTCHAR U_5623 +ENCODING 22051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +E920 +AFE0 +A000 +AEE0 +AAA0 +EEE0 +AAA0 +0EE0 +12A0 +2760 +ENDCHAR +STARTCHAR U_5624 +ENCODING 22052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2220 +EAA0 +AAA0 +AAA0 +B540 +A220 +FFE0 +0480 +0300 +3CE0 +ENDCHAR +STARTCHAR U_5625 +ENCODING 22053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +EA80 +B2E0 +AA80 +BFE0 +A880 +EA80 +0AE0 +0A80 +0D80 +08E0 +ENDCHAR +STARTCHAR U_5626 +ENCODING 22054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +4040 +BFA0 +0A00 +3F80 +2A80 +FFE0 +0A00 +3580 +ENDCHAR +STARTCHAR U_5627 +ENCODING 22055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +B220 +A980 +B520 +A6A0 +FB80 +0100 +0920 +0920 +0FE0 +ENDCHAR +STARTCHAR U_5628 +ENCODING 22056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A240 +BFE0 +A240 +AFC0 +F6C0 +1FC0 +1240 +2740 +4AC0 +ENDCHAR +STARTCHAR U_5629 +ENCODING 22057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +9280 +9FE0 +9540 +9FE0 +9540 +FFE0 +0100 +07C0 +0100 +ENDCHAR +STARTCHAR U_562A +ENCODING 22058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +F4A0 +B4A0 +BFE0 +A840 +AFC0 +E840 +0FC0 +0840 +0FC0 +1860 +ENDCHAR +STARTCHAR U_562B +ENCODING 22059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E6C0 +AAA0 +B7E0 +AA80 +A480 +E940 +1220 +0000 +14A0 +14A0 +ENDCHAR +STARTCHAR U_562C +ENCODING 22060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +97C0 +9440 +9FE0 +9A00 +FFE0 +0A20 +0F40 +0AC0 +1F20 +ENDCHAR +STARTCHAR U_562D +ENCODING 22061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EF20 +A240 +AF80 +A020 +AF40 +E980 +0F20 +0940 +0680 +1F00 +ENDCHAR +STARTCHAR U_562E +ENCODING 22062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +15A0 +EEC0 +A480 +AB40 +B220 +BFE0 +F220 +0FC0 +0240 +0440 +09C0 +ENDCHAR +STARTCHAR U_562F +ENCODING 22063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A120 +BFE0 +A120 +AFE0 +A920 +EFE0 +0920 +1DE0 +25A0 +ENDCHAR +STARTCHAR U_5630 +ENCODING 22064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +EBA0 +BDC0 +AB40 +BFE0 +A940 +FFE0 +A940 +0CA0 +1160 +2620 +ENDCHAR +STARTCHAR U_5631 +ENCODING 22065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E820 +AFE0 +A900 +AFC0 +AD40 +EFC0 +1100 +1FE0 +2920 +4FE0 +ENDCHAR +STARTCHAR U_5632 +ENCODING 22066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04E0 +1FA0 +E4A0 +AEE0 +AAA0 +AEA0 +EAE0 +AEA0 +04A0 +1F20 +0560 +ENDCHAR +STARTCHAR U_5633 +ENCODING 22067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +AA40 +BFE0 +A840 +AFC0 +E840 +0FC0 +0840 +0FC0 +1860 +ENDCHAR +STARTCHAR U_5634 +ENCODING 22068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +02A0 +EBC0 +AAA0 +BFE0 +A480 +AFE0 +F920 +0FE0 +0920 +0FE0 +1120 +ENDCHAR +STARTCHAR U_5635 +ENCODING 22069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E7C0 +A100 +AFE0 +A480 +AFE0 +E480 +1FE0 +0280 +04A0 +1860 +ENDCHAR +STARTCHAR U_5636 +ENCODING 22070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0AE0 +FF80 +AA80 +AEE0 +AAA0 +AEA0 +EAA0 +1FA0 +0AA0 +1120 +2220 +ENDCHAR +STARTCHAR U_5637 +ENCODING 22071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A840 +AFC0 +A840 +AFC0 +EA40 +0680 +0A40 +1FE0 +0200 +ENDCHAR +STARTCHAR U_5638 +ENCODING 22072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +EFE0 +B540 +A540 +AFE0 +A540 +A540 +EFE0 +0D40 +0AA0 +12A0 +ENDCHAR +STARTCHAR U_5639 +ENCODING 22073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +B4A0 +AFC0 +B8A0 +AF80 +E880 +0F80 +0A80 +1240 +2620 +ENDCHAR +STARTCHAR U_563A +ENCODING 22074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E200 +BFE0 +A440 +BFA0 +A480 +FFE0 +1020 +17A0 +14A0 +17A0 +ENDCHAR +STARTCHAR U_563B +ENCODING 22075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +BFE0 +A440 +A7C0 +E280 +0FE0 +0440 +0440 +07C0 +ENDCHAR +STARTCHAR U_563C +ENCODING 22076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7FC0 +2480 +3F80 +2480 +FFE0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_563D +ENCODING 22077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +AEE0 +A000 +A7C0 +A540 +E7C0 +0540 +1FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_563E +ENCODING 22078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E280 +AFE0 +AAA0 +AFE0 +A440 +E7C0 +0440 +1FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_563F +ENCODING 22079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EAA0 +A920 +AFE0 +A100 +A7C0 +E100 +BFE0 +0000 +0AA0 +12A0 +ENDCHAR +STARTCHAR U_5640 +ENCODING 22080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1EE0 +F2A0 +BEE0 +B2A0 +AE60 +A480 +BFE0 +E480 +1FE0 +0480 +1860 +ENDCHAR +STARTCHAR U_5641 +ENCODING 22081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E280 +AEE0 +A820 +AEE0 +A280 +EFE0 +0140 +1520 +1440 +23C0 +ENDCHAR +STARTCHAR U_5642 +ENCODING 22082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0FE0 +E280 +AFE0 +AAA0 +AC60 +ABA0 +E820 +1FE0 +0440 +02C0 +ENDCHAR +STARTCHAR U_5643 +ENCODING 22083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E540 +A380 +AFE0 +A540 +A920 +FFE0 +0920 +0FE0 +0920 +0FE0 +ENDCHAR +STARTCHAR U_5644 +ENCODING 22084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +05E0 +EEA0 +A4A0 +AEA0 +A540 +A280 +AFE0 +E540 +1FE0 +0940 +1320 +ENDCHAR +STARTCHAR U_5645 +ENCODING 22085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +EF40 +A540 +AFC0 +A840 +AFC0 +E840 +0FE0 +0820 +1AA0 +2560 +ENDCHAR +STARTCHAR U_5646 +ENCODING 22086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +EA80 +BFE0 +A880 +BDA0 +AA60 +EFC0 +0840 +0FC0 +0840 +0FC0 +ENDCHAR +STARTCHAR U_5647 +ENCODING 22087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +1FC0 +E500 +BFE0 +AA80 +AF80 +AA80 +EA80 +1FC0 +0200 +3FE0 +ENDCHAR +STARTCHAR U_5648 +ENCODING 22088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +E4C0 +BEA0 +A1E0 +BE80 +A280 +BEC0 +E8C0 +1CC0 +2B40 +5A60 +ENDCHAR +STARTCHAR U_5649 +ENCODING 22089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D00 +E900 +BFE0 +A540 +BD40 +A540 +BD40 +E540 +3E80 +0540 +0620 +ENDCHAR +STARTCHAR U_564A +ENCODING 22090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E280 +AFE0 +A540 +A900 +AFE0 +EAA0 +0FE0 +0AA0 +0BA0 +0860 +ENDCHAR +STARTCHAR U_564B +ENCODING 22091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +1F40 +EA80 +AEE0 +A120 +AEA0 +A2A0 +E440 +1E40 +04A0 +0D20 +ENDCHAR +STARTCHAR U_564C +ENCODING 22092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EFE0 +A920 +AAA0 +AFE0 +A000 +E7C0 +0440 +07C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_564D +ENCODING 22093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +E480 +AFE0 +A900 +BFE0 +A900 +EFE0 +0900 +0FE0 +0D40 +12A0 +ENDCHAR +STARTCHAR U_564E +ENCODING 22094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +AFE0 +A820 +A7C0 +E440 +07C0 +0440 +0280 +1FE0 +ENDCHAR +STARTCHAR U_564F +ENCODING 22095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +E480 +BB60 +A000 +A7C0 +A440 +BFE0 +EAA0 +0660 +0AA0 +1760 +ENDCHAR +STARTCHAR U_5650 +ENCODING 22096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +0000 +7FC0 +0400 +FFE0 +0000 +7FC0 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_5651 +ENCODING 22097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0FC0 +E840 +AFC0 +A840 +AFC0 +AA80 +E700 +0A80 +3FE0 +0200 +ENDCHAR +STARTCHAR U_5652 +ENCODING 22098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +E540 +AFE0 +A540 +A920 +A440 +AEE0 +F340 +0AE0 +0440 +1840 +ENDCHAR +STARTCHAR U_5653 +ENCODING 22099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +E200 +AFE0 +AA20 +AB80 +AE20 +E9E0 +0AA0 +0EE0 +1280 +2FE0 +ENDCHAR +STARTCHAR U_5654 +ENCODING 22100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F40 +E280 +ACE0 +A440 +ABA0 +B000 +E7C0 +0440 +07C0 +0280 +1FE0 +ENDCHAR +STARTCHAR U_5655 +ENCODING 22101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +7C80 +1500 +3FC0 +2080 +3FE0 +5520 +A960 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_5656 +ENCODING 22102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +E440 +AEE0 +A440 +AFE0 +A280 +E640 +1920 +07C0 +0080 +0100 +ENDCHAR +STARTCHAR U_5657 +ENCODING 22103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0AA0 +E6C0 +BFE0 +A280 +AFE0 +A100 +E7C0 +0100 +0FE0 +0280 +0C60 +ENDCHAR +STARTCHAR U_5658 +ENCODING 22104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +ED00 +AA80 +AFE0 +AA20 +AA80 +EF80 +0A80 +1280 +2540 +4A20 +ENDCHAR +STARTCHAR U_5659 +ENCODING 22105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E280 +A640 +B920 +A7C0 +A540 +E6C0 +0FE0 +0AA0 +0FA0 +0860 +ENDCHAR +STARTCHAR U_565A +ENCODING 22106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E040 +A7C0 +A040 +AFE0 +A4A0 +FEE0 +0040 +1FE0 +0440 +02C0 +ENDCHAR +STARTCHAR U_565B +ENCODING 22107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +05C0 +E500 +BFE0 +AAC0 +AB40 +AFC0 +EA40 +0F40 +0AC0 +0FC0 +ENDCHAR +STARTCHAR U_565C +ENCODING 22108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +E480 +AFE0 +B920 +AFE0 +A920 +BFE0 +E440 +07C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_565D +ENCODING 22109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +E880 +B520 +BDC0 +A880 +B520 +BDE0 +E080 +15C0 +2AA0 +01A0 +ENDCHAR +STARTCHAR U_565E +ENCODING 22110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +E440 +ABA0 +B000 +AEE0 +AAA0 +EAA0 +0EE0 +0440 +0AA0 +1120 +ENDCHAR +STARTCHAR U_565F +ENCODING 22111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4B00 +5480 +5FC0 +7480 +57C0 +5480 +5FC0 +5040 +9FC0 +ENDCHAR +STARTCHAR U_5660 +ENCODING 22112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +E880 +A3E0 +A140 +BBE0 +A880 +EBE0 +0880 +0BE0 +1480 +23E0 +ENDCHAR +STARTCHAR U_5661 +ENCODING 22113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E880 +BFE0 +AA40 +AFE0 +A800 +EBC0 +0800 +0BC0 +1240 +23C0 +ENDCHAR +STARTCHAR U_5662 +ENCODING 22114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFE0 +AD60 +ABA0 +AFE0 +ABA0 +ED60 +1FE0 +0280 +0440 +1820 +ENDCHAR +STARTCHAR U_5663 +ENCODING 22115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0AA0 +EFE0 +A400 +A7E0 +AA20 +BFA0 +EAA0 +0FA0 +02A0 +1FE0 +ENDCHAR +STARTCHAR U_5664 +ENCODING 22116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +A480 +AEC0 +B5A0 +A480 +EFC0 +0000 +1FE0 +0940 +1320 +ENDCHAR +STARTCHAR U_5665 +ENCODING 22117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EFE0 +AAA0 +AFE0 +AAA0 +AFE0 +E800 +0FE0 +0AA0 +1340 +2220 +ENDCHAR +STARTCHAR U_5666 +ENCODING 22118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +05C0 +E500 +BFE0 +A0A0 +BFE0 +A080 +FFA0 +24C0 +2EA0 +3560 +4A20 +ENDCHAR +STARTCHAR U_5667 +ENCODING 22119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +A440 +A7C0 +A540 +A7C0 +E540 +0FE0 +0AA0 +0FA0 +0860 +ENDCHAR +STARTCHAR U_5668 +ENCODING 22120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +4A40 +7BC0 +0480 +FFE0 +1100 +FBE0 +4A40 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_5669 +ENCODING 22121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +75C0 +5540 +FFE0 +0400 +75C0 +5540 +75C0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_566A +ENCODING 22122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +E480 +A780 +BDE0 +A520 +BDE0 +E200 +1FE0 +0A80 +1240 +2220 +ENDCHAR +STARTCHAR U_566B +ENCODING 22123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A280 +BFE0 +A440 +A7C0 +E440 +07C0 +0120 +0A60 +09C0 +ENDCHAR +STARTCHAR U_566C +ENCODING 22124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +EEE0 +AD40 +B220 +AFE0 +A100 +E540 +0540 +0BA0 +0100 +1FE0 +ENDCHAR +STARTCHAR U_566D +ENCODING 22125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EE80 +AAE0 +AFA0 +AAA0 +AEA0 +A4A0 +FF40 +0A40 +12A0 +2720 +ENDCHAR +STARTCHAR U_566E +ENCODING 22126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EAA0 +AFE0 +A000 +BFE0 +A840 +AFC0 +E520 +0CC0 +1540 +2620 +ENDCHAR +STARTCHAR U_566F +ENCODING 22127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +0F20 +E540 +AFE0 +A920 +AA60 +F3C0 +0400 +0FC0 +1380 +0C60 +ENDCHAR +STARTCHAR U_5670 +ENCODING 22128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +A940 +B7E0 +BA40 +ABE0 +F640 +1FE0 +0A40 +13E0 +2200 +ENDCHAR +STARTCHAR U_5671 +ENCODING 22129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +E200 +AFE0 +AA20 +AFC0 +AA20 +EFE0 +0AA0 +15C0 +22A0 +4DA0 +ENDCHAR +STARTCHAR U_5672 +ENCODING 22130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +E440 +ABA0 +B000 +AFE0 +AAA0 +AFE0 +E440 +07C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_5673 +ENCODING 22131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +0200 +EFE0 +AA20 +AFC0 +AA20 +EBE0 +0A40 +1FE0 +1280 +2C60 +ENDCHAR +STARTCHAR U_5674 +ENCODING 22132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A540 +AFE0 +A440 +A7C0 +E440 +07C0 +0440 +07C0 +0C60 +ENDCHAR +STARTCHAR U_5675 +ENCODING 22133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8840 +5FE0 +0200 +CFC0 +4940 +4CC0 +6A40 +9FE0 +1080 +1080 +1F80 +ENDCHAR +STARTCHAR U_5676 +ENCODING 22134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +0480 +EFC0 +A840 +AFC0 +A840 +AFE0 +F920 +2AA0 +0FA0 +0040 +ENDCHAR +STARTCHAR U_5677 +ENCODING 22135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FF80 +AAE0 +A420 +BEC0 +A080 +AE80 +EA80 +0F40 +0B40 +0E20 +ENDCHAR +STARTCHAR U_5678 +ENCODING 22136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +09E0 +0880 +FFE0 +A920 +ABE0 +AB20 +BFE0 +E920 +0BE0 +0D40 +0A20 +ENDCHAR +STARTCHAR U_5679 +ENCODING 22137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FFE0 +B020 +A780 +A480 +AFE0 +E920 +0FE0 +0920 +0FE0 +0820 +ENDCHAR +STARTCHAR U_567A +ENCODING 22138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0860 +FF80 +B500 +ADE0 +BF40 +A940 +BF40 +E940 +1D40 +2A40 +1C40 +ENDCHAR +STARTCHAR U_567B +ENCODING 22139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +B520 +AFE0 +A500 +BFE0 +E480 +0A40 +17A0 +0200 +1FE0 +ENDCHAR +STARTCHAR U_567C +ENCODING 22140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E40 +EBE0 +AAA0 +AEA0 +A840 +AFE0 +EA40 +1AE0 +1A40 +2E40 +0040 +ENDCHAR +STARTCHAR U_567D +ENCODING 22141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FFE0 +1080 +7C80 +45C0 +7EA0 +28A0 +FE80 +4480 +4400 +7FE0 +ENDCHAR +STARTCHAR U_567E +ENCODING 22142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0FE0 +EAA0 +A540 +AFE0 +A280 +AFE0 +E440 +07C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_567F +ENCODING 22143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +EAA0 +A660 +AAA0 +BFE0 +A440 +EAA0 +0100 +1FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_5680 +ENCODING 22144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +B520 +AD40 +BFE0 +AAA0 +AFE0 +E000 +0FE0 +0100 +0300 +ENDCHAR +STARTCHAR U_5681 +ENCODING 22145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +EAA0 +A660 +AAA0 +AFE0 +B900 +EFC0 +0900 +0FC0 +0900 +0FE0 +ENDCHAR +STARTCHAR U_5682 +ENCODING 22146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F40 +EA40 +AF60 +A980 +AF40 +AA20 +EF00 +0000 +0FE0 +0AA0 +1FE0 +ENDCHAR +STARTCHAR U_5683 +ENCODING 22147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EAA0 +AFE0 +B100 +AB40 +BD20 +EB40 +0D20 +0900 +0C00 +13E0 +ENDCHAR +STARTCHAR U_5684 +ENCODING 22148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +A480 +AFE0 +A900 +BFE0 +A900 +EFE0 +0480 +0300 +1CE0 +ENDCHAR +STARTCHAR U_5685 +ENCODING 22149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E100 +BFE0 +B560 +A380 +A540 +EFE0 +0100 +0FE0 +0AA0 +0AE0 +ENDCHAR +STARTCHAR U_5686 +ENCODING 22150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +A540 +AFE0 +A280 +A380 +E000 +AFE0 +0AA0 +0BA0 +0860 +ENDCHAR +STARTCHAR U_5687 +ENCODING 22151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +1FE0 +E480 +BFE0 +AD40 +AD40 +BF60 +ED60 +0D40 +1540 +2EC0 +ENDCHAR +STARTCHAR U_5688 +ENCODING 22152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2E40 +EA60 +AE40 +A1E0 +AE40 +AA40 +EE40 +2A40 +2EA0 +4B20 +ENDCHAR +STARTCHAR U_5689 +ENCODING 22153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A40 +1B40 +EA40 +BFE0 +AA40 +BF40 +A4C0 +FF40 +0440 +0740 +18C0 +ENDCHAR +STARTCHAR U_568A +ENCODING 22154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E7C0 +A540 +A6C0 +AFE0 +A920 +AFE0 +E920 +1FE0 +0440 +0840 +ENDCHAR +STARTCHAR U_568B +ENCODING 22155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A200 +BFE0 +A000 +AFE0 +A200 +BFE0 +EA40 +0F40 +00C0 +ENDCHAR +STARTCHAR U_568C +ENCODING 22156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +1FE0 +E520 +BAC0 +AAA0 +B2A0 +AFC0 +E840 +0FC0 +0840 +1040 +ENDCHAR +STARTCHAR U_568D +ENCODING 22157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E140 +BFE0 +A140 +AFE0 +A100 +FFE0 +0AA0 +0FE0 +0AA0 +1FE0 +ENDCHAR +STARTCHAR U_568E +ENCODING 22158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +A480 +BFE0 +B020 +AFC0 +EA20 +1540 +0B80 +0540 +1B20 +ENDCHAR +STARTCHAR U_568F +ENCODING 22159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E100 +BFE0 +B540 +A7C0 +A540 +EFE0 +0120 +09C0 +0D00 +13E0 +ENDCHAR +STARTCHAR U_5690 +ENCODING 22160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0940 +0580 +FFE0 +B4A0 +A780 +A920 +AFE0 +E440 +07C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_5691 +ENCODING 22161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E200 +BFE0 +AAC0 +AB40 +AFC0 +A200 +EFC0 +0200 +1FE0 +12A0 +ENDCHAR +STARTCHAR U_5692 +ENCODING 22162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +AA40 +AFE0 +AB40 +AEE0 +A940 +EA40 +1180 +1240 +27E0 +ENDCHAR +STARTCHAR U_5693 +ENCODING 22163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +1FE0 +F820 +AFE0 +AAA0 +B440 +ABA0 +F000 +1FE0 +0940 +1320 +ENDCHAR +STARTCHAR U_5694 +ENCODING 22164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EF80 +A200 +BFE0 +AAA0 +AF80 +A500 +FFC0 +0340 +0A00 +17E0 +ENDCHAR +STARTCHAR U_5695 +ENCODING 22165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +E880 +BFE0 +A920 +AFE0 +A920 +EFE0 +0AA0 +17E0 +0440 +07C0 +ENDCHAR +STARTCHAR U_5696 +ENCODING 22166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +A480 +BFE0 +A480 +AFC0 +E040 +0FC0 +0A20 +2940 +47C0 +ENDCHAR +STARTCHAR U_5697 +ENCODING 22167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +AFC0 +A480 +BFE0 +A480 +BFE0 +EA40 +1AA0 +2700 +1AC0 +ENDCHAR +STARTCHAR U_5698 +ENCODING 22168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E440 +A740 +A5C0 +A440 +BFE0 +B520 +EFE0 +0A40 +0180 +0E60 +ENDCHAR +STARTCHAR U_5699 +ENCODING 22169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E5E0 +A500 +BFE0 +AAA0 +AD60 +EFE0 +0AA0 +0D60 +0820 +0FE0 +ENDCHAR +STARTCHAR U_569A +ENCODING 22170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FFE0 +4400 +7FC0 +4040 +7FC0 +4400 +FFE0 +8A20 +FBE0 +ENDCHAR +STARTCHAR U_569B +ENCODING 22171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A40 +0B40 +F5A0 +AB40 +B5A0 +BFE0 +A200 +FFE0 +0700 +0A80 +3260 +ENDCHAR +STARTCHAR U_569C +ENCODING 22172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EAA0 +A920 +AFE0 +A100 +BFE0 +AAA0 +E100 +0FC0 +0100 +1FE0 +ENDCHAR +STARTCHAR U_569D +ENCODING 22173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +1FE0 +F280 +9FE0 +9280 +9FE0 +9540 +F7C0 +1540 +17C0 +2C60 +ENDCHAR +STARTCHAR U_569E +ENCODING 22174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +3F80 +1100 +FFE0 +1100 +FFE0 +4A40 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_569F +ENCODING 22175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +F9E0 +A8A0 +BEA0 +AD20 +BA40 +ED80 +3260 +0A80 +0700 +1AC0 +ENDCHAR +STARTCHAR U_56A0 +ENCODING 22176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1620 +EA20 +AAA0 +B6A0 +A8A0 +B6A0 +BEA0 +E8A0 +3E20 +2AA0 +3E40 +ENDCHAR +STARTCHAR U_56A1 +ENCODING 22177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A40 +FF40 +AAE0 +AE40 +A4E0 +BF40 +B5E0 +FF40 +0440 +3E40 +05E0 +ENDCHAR +STARTCHAR U_56A2 +ENCODING 22178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2480 +7FC0 +5140 +EAE0 +3FC0 +0A00 +7FC0 +2A80 +CDC0 +ENDCHAR +STARTCHAR U_56A3 +ENCODING 22179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +FFE0 +0400 +7FC0 +4440 +5B40 +2080 +FBE0 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_56A4 +ENCODING 22180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +1FE0 +F480 +9FE0 +95C0 +9EA0 +97C0 +F080 +1FE0 +2100 +4300 +ENDCHAR +STARTCHAR U_56A5 +ENCODING 22181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +A480 +A780 +A840 +BF60 +AD40 +ED40 +3F20 +0D40 +12A0 +ENDCHAR +STARTCHAR U_56A6 +ENCODING 22182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +E240 +AC80 +BFC0 +A480 +AFC0 +B4A0 +E100 +25C0 +4500 +9FE0 +ENDCHAR +STARTCHAR U_56A7 +ENCODING 22183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +E200 +BFE0 +A420 +AFE0 +AA80 +EF80 +2A80 +3FC0 +5540 +BFE0 +ENDCHAR +STARTCHAR U_56A8 +ENCODING 22184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04E0 +FF80 +AAE0 +A420 +BFE0 +AA80 +AEE0 +EA80 +0EE0 +0A80 +0AE0 +ENDCHAR +STARTCHAR U_56A9 +ENCODING 22185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +08A0 +F3E0 +BC80 +ABE0 +B6A0 +BBE0 +A2A0 +F440 +17E0 +2140 +00C0 +ENDCHAR +STARTCHAR U_56AA +ENCODING 22186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3DE0 +E520 +BDE0 +A520 +BFE0 +A920 +B5A0 +E8A0 +2DA0 +28A0 +2FE0 +ENDCHAR +STARTCHAR U_56AB +ENCODING 22187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04E0 +FFA0 +AAE0 +A4A0 +BFA0 +A4E0 +AEA0 +E4E0 +0E40 +15C0 +2D60 +ENDCHAR +STARTCHAR U_56AC +ENCODING 22188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +02E0 +EB40 +AAE0 +BFA0 +A2E0 +AAA0 +AAE0 +F3A0 +02E0 +04A0 +1920 +ENDCHAR +STARTCHAR U_56AD +ENCODING 22189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +2080 +FDC0 +4AA0 +7C80 +5080 +FFE0 +4A20 +7BE0 +4A20 +ENDCHAR +STARTCHAR U_56AE +ENCODING 22190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +BEA0 +D2C0 +BEC0 +D4A0 +5EE0 +8980 +7FC0 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_56AF +ENCODING 22191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E100 +BFE0 +B5A0 +A940 +A500 +EFE0 +B900 +0FC0 +0900 +0FE0 +ENDCHAR +STARTCHAR U_56B0 +ENCODING 22192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0FE0 +EA40 +AFE0 +AF60 +AAC0 +AFE0 +E900 +ABC0 +1640 +23C0 +ENDCHAR +STARTCHAR U_56B1 +ENCODING 22193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E80 +08C0 +FEA0 +ABE0 +BC80 +AAA0 +BEC0 +EA80 +2F40 +2A60 +5F20 +ENDCHAR +STARTCHAR U_56B2 +ENCODING 22194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FEA0 +4BE0 +7AA0 +03E0 +FAA0 +13E0 +3880 +E7E0 +2080 +6080 +ENDCHAR +STARTCHAR U_56B3 +ENCODING 22195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6AC0 +4440 +6AC0 +4440 +FFE0 +9420 +3FC0 +4400 +FFE0 +2080 +3F80 +ENDCHAR +STARTCHAR U_56B4 +ENCODING 22196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7FE0 +4500 +7F00 +55E0 +5D20 +56A0 +5C40 +56A0 +BD20 +ENDCHAR +STARTCHAR U_56B5 +ENCODING 22197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +E880 +BFE0 +A920 +AFE0 +A520 +AFE0 +F540 +07C0 +02A0 +1CE0 +ENDCHAR +STARTCHAR U_56B6 +ENCODING 22198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +AEE0 +AAA0 +AEE0 +A440 +EAA0 +BFE0 +0480 +0380 +1C60 +ENDCHAR +STARTCHAR U_56B7 +ENCODING 22199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +AAA0 +AEE0 +A280 +AFE0 +A280 +EFE0 +0540 +0C80 +1660 +ENDCHAR +STARTCHAR U_56B8 +ENCODING 22200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F40 +F540 +BF60 +B540 +BF40 +A440 +FFE0 +A520 +1F20 +1520 +2BE0 +ENDCHAR +STARTCHAR U_56B9 +ENCODING 22201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +F080 +BFE0 +AA80 +ABC0 +BEA0 +ABE0 +EAC0 +0BE0 +2A40 +3EC0 +ENDCHAR +STARTCHAR U_56BA +ENCODING 22202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EAA0 +BAA0 +AFE0 +A200 +BB40 +ED80 +AB60 +0D20 +0B00 +17E0 +ENDCHAR +STARTCHAR U_56BB +ENCODING 22203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +E4E0 +AEA0 +EAE0 +0E00 +EAE0 +AEA0 +AAA0 +AEA0 +EAE0 +1100 +ENDCHAR +STARTCHAR U_56BC +ENCODING 22204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E540 +AFE0 +AAA0 +AFE0 +AA20 +EFE0 +AB20 +0EA0 +0820 +0EE0 +ENDCHAR +STARTCHAR U_56BD +ENCODING 22205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +A4A0 +BF40 +B2A0 +AFC0 +E840 +AFC0 +0840 +0FC0 +1860 +ENDCHAR +STARTCHAR U_56BE +ENCODING 22206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E480 +AEE0 +AAA0 +AFE0 +A900 +AFC0 +F900 +0FC0 +0900 +0FE0 +ENDCHAR +STARTCHAR U_56BF +ENCODING 22207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0840 +FFE0 +A900 +AFC0 +BFC0 +A900 +EFE0 +A440 +0EC0 +0840 +0FC0 +ENDCHAR +STARTCHAR U_56C0 +ENCODING 22208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +3FE0 +E8A0 +BFE0 +AAA0 +BFE0 +AA40 +FFE0 +8940 +3F40 +08C0 +ENDCHAR +STARTCHAR U_56C1 +ENCODING 22209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E440 +A7C0 +A440 +AFE0 +A040 +FFE0 +AAA0 +0EE0 +0AA0 +1FE0 +ENDCHAR +STARTCHAR U_56C2 +ENCODING 22210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +FFE0 +0400 +3F80 +2080 +3F80 +2080 +FFE0 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_56C3 +ENCODING 22211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +FF40 +ABE0 +B540 +ABE0 +A940 +FFE0 +A940 +1D40 +2BE0 +0900 +ENDCHAR +STARTCHAR U_56C4 +ENCODING 22212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FF40 +B5E0 +AB40 +BFE0 +A540 +BFE0 +B540 +FF40 +93E0 +1100 +ENDCHAR +STARTCHAR U_56C5 +ENCODING 22213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +AC20 +FFE0 +2D40 +FFE0 +AD40 +FFE0 +25A0 +FD40 +2540 +2BA0 +ENDCHAR +STARTCHAR U_56C6 +ENCODING 22214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E480 +AFC0 +AA40 +BFE0 +B2A0 +BFE0 +EA40 +0FC0 +0240 +1FA0 +ENDCHAR +STARTCHAR U_56C7 +ENCODING 22215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +E000 +AEE0 +ABA0 +AFE0 +AA80 +AFE0 +EAA0 +AFE0 +1280 +2760 +ENDCHAR +STARTCHAR U_56C8 +ENCODING 22216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E480 +BFE0 +A4A0 +BFA0 +A4E0 +FFA0 +A000 +1FE0 +0440 +0FA0 +ENDCHAR +STARTCHAR U_56C9 +ENCODING 22217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EAA0 +AFE0 +A540 +A9E0 +BF40 +A9E0 +F540 +1BE0 +1540 +2BE0 +ENDCHAR +STARTCHAR U_56CA +ENCODING 22218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +FFE0 +AAA0 +7FC0 +1100 +FFE0 +1240 +3180 +D8E0 +ENDCHAR +STARTCHAR U_56CB +ENCODING 22219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1540 +FFE0 +A440 +BFE0 +AAA0 +B7C0 +E440 +A7C0 +0440 +07C0 +0820 +ENDCHAR +STARTCHAR U_56CC +ENCODING 22220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +AC80 +B5E0 +BE40 +ABE0 +BE40 +EAE0 +1F40 +1440 +2A40 +ENDCHAR +STARTCHAR U_56CD +ENCODING 22221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +2080 +FBE0 +8A20 +FBE0 +5140 +FFE0 +8A20 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_56CE +ENCODING 22222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +0E80 +EBE0 +AEA0 +ABE0 +AEA0 +ABE0 +EF20 +A5E0 +0B20 +11E0 +ENDCHAR +STARTCHAR U_56CF +ENCODING 22223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +FFE0 +2900 +7FC0 +5440 +7FC0 +1280 +FFE0 +2A40 +47C0 +8240 +ENDCHAR +STARTCHAR U_56D0 +ENCODING 22224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +0F60 +0A40 +EFE0 +AD40 +AA40 +AF40 +E940 +0F40 +15A0 +1520 +ENDCHAR +STARTCHAR U_56D1 +ENCODING 22225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +E020 +BFE0 +A540 +AFE0 +AAA0 +EFE0 +2AA0 +2FA0 +22A0 +5F60 +ENDCHAR +STARTCHAR U_56D2 +ENCODING 22226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +0FE0 +E440 +AEE0 +AAA0 +AEE0 +A920 +EFE0 +0BA0 +0D60 +0920 +ENDCHAR +STARTCHAR U_56D3 +ENCODING 22227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E8A0 +BF20 +AA20 +BFC0 +AA00 +BFE0 +F520 +BFE0 +12A0 +1FE0 +ENDCHAR +STARTCHAR U_56D4 +ENCODING 22228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +AA40 +BFE0 +B2A0 +BFE0 +E480 +BFE0 +0D40 +1480 +2760 +ENDCHAR +STARTCHAR U_56D5 +ENCODING 22229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F40 +0AE0 +EF40 +AAA0 +AFC0 +A440 +A7C0 +E440 +07C0 +02A0 +0CE0 +ENDCHAR +STARTCHAR U_56D6 +ENCODING 22230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +0EE0 +F540 +AFE0 +AAA0 +AFE0 +A480 +EB40 +05E0 +0F40 +05E0 +ENDCHAR +STARTCHAR U_56D7 +ENCODING 22231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +8040 +8040 +8040 +8040 +8040 +8040 +8040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56D8 +ENCODING 22232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +9F20 +9120 +9120 +9F20 +9020 +90A0 +8FA0 +8020 +8060 +ENDCHAR +STARTCHAR U_56D9 +ENCODING 22233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +8040 +FE40 +8240 +8240 +8240 +FE40 +8040 +8040 +FFC0 +ENDCHAR +STARTCHAR U_56DA +ENCODING 22234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +8840 +8840 +8840 +8C40 +9240 +A140 +8040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56DB +ENCODING 22235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +FF80 +9480 +9480 +9480 +9480 +A780 +C080 +8080 +FF80 +8080 +ENDCHAR +STARTCHAR U_56DC +ENCODING 22236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +8840 +8840 +9040 +9240 +A740 +B940 +8040 +8040 +FFC0 +ENDCHAR +STARTCHAR U_56DD +ENCODING 22237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +9F20 +8220 +8420 +BFA0 +8420 +9420 +8820 +8020 +FFE0 +ENDCHAR +STARTCHAR U_56DE +ENCODING 22238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +8040 +9E40 +9240 +9240 +9E40 +9240 +8040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56DF +ENCODING 22239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +FF80 +8080 +A280 +9280 +8C80 +8C80 +9280 +A280 +8080 +FF80 +ENDCHAR +STARTCHAR U_56E0 +ENCODING 22240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +8420 +BFA0 +8420 +8420 +8A20 +9120 +A0A0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_56E1 +ENCODING 22241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8840 +8840 +FFC0 +9240 +A440 +9C40 +9240 +A140 +8040 +FFC0 +ENDCHAR +STARTCHAR U_56E2 +ENCODING 22242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8440 +8440 +FF40 +8440 +8C40 +9440 +A440 +8C40 +8040 +FFC0 +ENDCHAR +STARTCHAR U_56E3 +ENCODING 22243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8240 +8240 +BF40 +8240 +9240 +8A40 +8240 +8640 +8040 +FFC0 +ENDCHAR +STARTCHAR U_56E4 +ENCODING 22244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8840 +FF40 +8840 +AA40 +BE40 +8940 +8F40 +8040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56E5 +ENCODING 22245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8840 +BF40 +8040 +9C40 +9440 +9540 +A740 +C040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56E6 +ENCODING 22246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +84A0 +B520 +9620 +9520 +A520 +C4A0 +8C20 +8020 +FFE0 +ENDCHAR +STARTCHAR U_56E7 +ENCODING 22247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +9240 +A140 +C0C0 +9E40 +9240 +9240 +9240 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56E8 +ENCODING 22248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +BFA0 +8220 +8C20 +9520 +A4A0 +8420 +8420 +8020 +FFE0 +ENDCHAR +STARTCHAR U_56E9 +ENCODING 22249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +9F20 +8020 +BFA0 +8420 +8920 +93A0 +BCA0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_56EA +ENCODING 22250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0800 +1000 +FFC0 +8040 +9540 +8A40 +B440 +8640 +9940 +8040 +FFC0 +ENDCHAR +STARTCHAR U_56EB +ENCODING 22251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +A040 +BF40 +D540 +9540 +A540 +C940 +9540 +A240 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56EC +ENCODING 22252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +9120 +9F20 +9120 +9120 +9F20 +9120 +9120 +9120 +FFE0 +ENDCHAR +STARTCHAR U_56ED +ENCODING 22253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +BE40 +8040 +FF40 +9440 +9540 +A540 +C340 +8040 +FFC0 +ENDCHAR +STARTCHAR U_56EE +ENCODING 22254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +9440 +9540 +B640 +DC40 +9540 +9340 +8040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56EF +ENCODING 22255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +BFA0 +8420 +8420 +9F20 +8420 +8420 +BFA0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_56F0 +ENCODING 22256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8440 +8440 +BF40 +8440 +8E40 +9540 +A540 +8440 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56F1 +ENCODING 22257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +FFC0 +8840 +8840 +9F40 +B240 +CC40 +9240 +A140 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56F2 +ENCODING 22258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +8920 +BFA0 +8920 +8920 +BFA0 +8920 +9120 +8020 +FFE0 +ENDCHAR +STARTCHAR U_56F3 +ENCODING 22259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +94A0 +AAA0 +9120 +8A20 +8420 +8A20 +B1A0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_56F4 +ENCODING 22260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8840 +FF40 +8840 +BE40 +8840 +FF40 +8940 +8A40 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56F5 +ENCODING 22261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8840 +9440 +A240 +D540 +9840 +9140 +8F40 +8040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56F6 +ENCODING 22262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +8A20 +9120 +A4A0 +8420 +9F20 +8420 +BFA0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_56F7 +ENCODING 22263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8240 +BC40 +8840 +FF40 +8C40 +9A40 +A940 +C840 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56F8 +ENCODING 22264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +BFA0 +8420 +8420 +9720 +9420 +9420 +BFA0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_56F9 +ENCODING 22265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8840 +9440 +AA40 +C940 +BF40 +9240 +8C40 +8440 +FFC0 +8040 +ENDCHAR +STARTCHAR U_56FA +ENCODING 22266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8840 +8840 +FF40 +8840 +BE40 +A240 +A240 +BE40 +8040 +FFC0 +ENDCHAR +STARTCHAR U_56FB +ENCODING 22267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +9F20 +9120 +9F20 +9420 +9F20 +9220 +B9A0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_56FC +ENCODING 22268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +8820 +9120 +BFA0 +8020 +9F20 +9120 +9F20 +8020 +FFE0 +ENDCHAR +STARTCHAR U_56FD +ENCODING 22269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +BF40 +8840 +8840 +BF40 +8A40 +8940 +FFC0 +8040 +FFC0 +ENDCHAR +STARTCHAR U_56FE +ENCODING 22270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9040 +9F40 +B240 +CC40 +9240 +E9C0 +8440 +8840 +8440 +FFC0 +ENDCHAR +STARTCHAR U_56FF +ENCODING 22271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8840 +FFC0 +9140 +BF40 +D140 +9F40 +9140 +9740 +8040 +FFC0 +ENDCHAR +STARTCHAR U_5700 +ENCODING 22272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8A20 +9120 +A4A0 +DF60 +8820 +8F20 +9120 +9120 +A620 +FFE0 +ENDCHAR +STARTCHAR U_5701 +ENCODING 22273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8840 +BF40 +8040 +BF40 +8040 +BF40 +9240 +9E40 +8040 +FFC0 +ENDCHAR +STARTCHAR U_5702 +ENCODING 22274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +BF40 +8840 +9D40 +A540 +8E40 +B540 +8CC0 +9440 +FFC0 +ENDCHAR +STARTCHAR U_5703 +ENCODING 22275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8A40 +FFC0 +A940 +BF40 +A940 +BF40 +A940 +AB40 +8040 +FFC0 +ENDCHAR +STARTCHAR U_5704 +ENCODING 22276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +BF40 +8840 +BE40 +9240 +FF40 +9240 +9E40 +8040 +FFC0 +ENDCHAR +STARTCHAR U_5705 +ENCODING 22277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +1200 +0C00 +FF80 +A280 +9480 +BE80 +8880 +BE80 +8880 +FF80 +ENDCHAR +STARTCHAR U_5706 +ENCODING 22278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +9F20 +9120 +BFA0 +A0A0 +A4A0 +A4A0 +8A20 +9120 +FFE0 +ENDCHAR +STARTCHAR U_5707 +ENCODING 22279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +8A20 +9120 +AEA0 +8020 +BFA0 +AAA0 +BFA0 +AAA0 +FFE0 +ENDCHAR +STARTCHAR U_5708 +ENCODING 22280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9520 +BFA0 +8820 +BFA0 +9120 +BEE0 +D2A0 +9FA0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_5709 +ENCODING 22281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +9F20 +8420 +BFA0 +8A20 +9F20 +8420 +BFA0 +8420 +FFE0 +ENDCHAR +STARTCHAR U_570A +ENCODING 22282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +BFA0 +8420 +9F20 +8420 +BFA0 +9120 +9F20 +9120 +FFE0 +ENDCHAR +STARTCHAR U_570B +ENCODING 22283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8540 +FFC0 +8440 +F540 +D540 +F640 +8540 +FB40 +8140 +FFC0 +ENDCHAR +STARTCHAR U_570C +ENCODING 22284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +A4A0 +BFA0 +8020 +BFA0 +8420 +BFA0 +AAA0 +ABA0 +FFE0 +ENDCHAR +STARTCHAR U_570D +ENCODING 22285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8840 +BE40 +9240 +BF40 +9240 +BF40 +A440 +FF40 +8440 +FFC0 +ENDCHAR +STARTCHAR U_570E +ENCODING 22286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +BFA0 +8020 +9F20 +9120 +9F20 +9120 +9F20 +A0A0 +FFE0 +ENDCHAR +STARTCHAR U_570F +ENCODING 22287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9520 +BFA0 +8820 +BFA0 +9120 +AEA0 +C960 +8F20 +8020 +FFE0 +ENDCHAR +STARTCHAR U_5710 +ENCODING 22288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +AAA0 +BFA0 +8420 +BFA0 +8820 +8F20 +9120 +A320 +8020 +FFE0 +ENDCHAR +STARTCHAR U_5711 +ENCODING 22289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8520 +FFE0 +A4A0 +BFA0 +A4A0 +8120 +FFE0 +9120 +8320 +FFE0 +ENDCHAR +STARTCHAR U_5712 +ENCODING 22290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8840 +BE40 +8840 +FF40 +A240 +BEC0 +9540 +F240 +9140 +FFC0 +ENDCHAR +STARTCHAR U_5713 +ENCODING 22291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +BFA0 +A0A0 +BFA0 +A0A0 +BFA0 +A0A0 +BFA0 +E0E0 +FFE0 +ENDCHAR +STARTCHAR U_5714 +ENCODING 22292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +9F20 +8420 +BFA0 +8920 +9EA0 +8020 +BFA0 +AAA0 +FFE0 +ENDCHAR +STARTCHAR U_5715 +ENCODING 22293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +BFA0 +84A0 +FFE0 +84A0 +BFA0 +9120 +9F20 +9120 +FFE0 +ENDCHAR +STARTCHAR U_5716 +ENCODING 22294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +9F20 +8420 +FFE0 +AAA0 +AEA0 +A0A0 +BFA0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_5717 +ENCODING 22295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +BFA0 +8420 +FFE0 +AAA0 +AEA0 +AAA0 +BFA0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_5718 +ENCODING 22296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +FFE0 +A4A0 +BFA0 +A4A0 +BFA0 +8260 +FFA0 +9220 +FFE0 +ENDCHAR +STARTCHAR U_5719 +ENCODING 22297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +A0A0 +DF60 +8820 +BFA0 +AAA0 +AEA0 +BFA0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_571A +ENCODING 22298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +BFA0 +A4A0 +FFE0 +9120 +9F20 +9120 +9F20 +B1A0 +FFE0 +ENDCHAR +STARTCHAR U_571B +ENCODING 22299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +AAA0 +BFA0 +8420 +9F20 +8420 +BFA0 +8A20 +BFA0 +8420 +FFE0 +ENDCHAR +STARTCHAR U_571C +ENCODING 22300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +BFA0 +AAA0 +FFE0 +9120 +9F20 +8AA0 +9920 +ACA0 +FFE0 +ENDCHAR +STARTCHAR U_571D +ENCODING 22301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A4A0 +DF60 +A1E0 +DEA0 +D160 +FFE0 +AAA0 +DF60 +8020 +FFE0 +ENDCHAR +STARTCHAR U_571E +ENCODING 22302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A4A0 +DF60 +A0A0 +FFE0 +AAA0 +D560 +FFE0 +9520 +A4A0 +FFE0 +ENDCHAR +STARTCHAR U_571F +ENCODING 22303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +0400 +7FC0 +0400 +0400 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5720 +ENCODING 22304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +2200 +FA00 +2200 +2200 +2200 +3A00 +C220 +0220 +01E0 +ENDCHAR +STARTCHAR U_5721 +ENCODING 22305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +0400 +0400 +0400 +7FC0 +0400 +0600 +0580 +0480 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5722 +ENCODING 22306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +2080 +F880 +2080 +2080 +2080 +3880 +E080 +0280 +0100 +ENDCHAR +STARTCHAR U_5723 +ENCODING 22307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +1080 +0900 +0600 +1980 +E460 +0400 +3F80 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5724 +ENCODING 22308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2200 +2200 +2200 +FB00 +2280 +2240 +2240 +2200 +3A00 +C200 +0200 +ENDCHAR +STARTCHAR U_5725 +ENCODING 22309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +0400 +0400 +FFE0 +1100 +1100 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_5726 +ENCODING 22310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C00 +2200 +2200 +FA00 +2200 +2200 +2500 +3500 +C880 +1060 +2040 +ENDCHAR +STARTCHAR U_5727 +ENCODING 22311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2200 +2200 +2200 +2FC0 +2200 +2200 +2200 +4200 +5FE0 +8000 +ENDCHAR +STARTCHAR U_5728 +ENCODING 22312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +FFC0 +1000 +2200 +6200 +AF80 +2200 +2200 +2200 +3FC0 +ENDCHAR +STARTCHAR U_5729 +ENCODING 22313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +2100 +F100 +2FE0 +2100 +2100 +3100 +C100 +0500 +0200 +ENDCHAR +STARTCHAR U_572A +ENCODING 22314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2400 +F800 +27C0 +2080 +2100 +3A00 +E420 +0420 +03E0 +ENDCHAR +STARTCHAR U_572B +ENCODING 22315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +2E00 +2200 +2200 +FBE0 +2E00 +2200 +2A00 +3200 +E220 +01E0 +ENDCHAR +STARTCHAR U_572C +ENCODING 22316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2000 +2000 +FFE0 +2200 +2200 +27E0 +3820 +C020 +0140 +0080 +ENDCHAR +STARTCHAR U_572D +ENCODING 22317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +7F80 +0800 +FFC0 +0000 +0800 +7F80 +0800 +0800 +FFC0 +ENDCHAR +STARTCHAR U_572E +ENCODING 22318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2020 +2020 +F820 +27E0 +2420 +2400 +2400 +3C20 +E420 +03E0 +ENDCHAR +STARTCHAR U_572F +ENCODING 22319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +2420 +FC20 +27E0 +2420 +2400 +3C00 +E420 +0420 +03E0 +ENDCHAR +STARTCHAR U_5730 +ENCODING 22320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +2540 +F5C0 +2740 +2D40 +2540 +25C0 +3520 +C420 +03E0 +ENDCHAR +STARTCHAR U_5731 +ENCODING 22321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E100 +2100 +2100 +F900 +27C0 +2100 +2100 +4100 +4100 +8FE0 +ENDCHAR +STARTCHAR U_5732 +ENCODING 22322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +2100 +F900 +2100 +2FE0 +2100 +3900 +E100 +0100 +0100 +ENDCHAR +STARTCHAR U_5733 +ENCODING 22323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +2520 +2520 +FD20 +2520 +2520 +2520 +3D20 +C920 +1020 +2020 +ENDCHAR +STARTCHAR U_5734 +ENCODING 22324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2220 +FC20 +2220 +2120 +2120 +3820 +C020 +0120 +00C0 +ENDCHAR +STARTCHAR U_5735 +ENCODING 22325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +2200 +2200 +FBC0 +2200 +2200 +2200 +3A00 +E200 +0FE0 +ENDCHAR +STARTCHAR U_5736 +ENCODING 22326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +0A00 +1100 +E4E0 +0400 +3F80 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5737 +ENCODING 22327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2100 +2100 +F900 +2180 +2140 +2140 +3900 +C100 +0100 +ENDCHAR +STARTCHAR U_5738 +ENCODING 22328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2100 +2520 +FD20 +2520 +2520 +2520 +3D20 +C7E0 +0420 +ENDCHAR +STARTCHAR U_5739 +ENCODING 22329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +27E0 +FC00 +2400 +2400 +2400 +3C00 +C400 +0800 +1000 +ENDCHAR +STARTCHAR U_573A +ENCODING 22330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2080 +2100 +F200 +2FE0 +22A0 +24A0 +3920 +C220 +0C20 +00C0 +ENDCHAR +STARTCHAR U_573B +ENCODING 22331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +2200 +FA00 +23E0 +2240 +2240 +3C40 +E440 +0840 +1040 +ENDCHAR +STARTCHAR U_573C +ENCODING 22332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +2080 +3F80 +0400 +7FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_573D +ENCODING 22333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +F7E0 +2520 +2960 +2260 +24A0 +2120 +3220 +C4A0 +0040 +ENDCHAR +STARTCHAR U_573E +ENCODING 22334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2240 +2240 +FA80 +22E0 +2220 +2420 +3540 +C880 +1140 +2620 +ENDCHAR +STARTCHAR U_573F +ENCODING 22335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2280 +FC40 +2AA0 +2280 +2280 +3A80 +C280 +0480 +0880 +ENDCHAR +STARTCHAR U_5740 +ENCODING 22336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2100 +FD00 +25E0 +2500 +2500 +2500 +3D00 +C500 +1FE0 +ENDCHAR +STARTCHAR U_5741 +ENCODING 22337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +2480 +FC80 +27E0 +2480 +2480 +3C80 +E5A0 +0660 +0C20 +ENDCHAR +STARTCHAR U_5742 +ENCODING 22338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +2400 +FC00 +27E0 +2520 +2540 +3D40 +C480 +0940 +1620 +ENDCHAR +STARTCHAR U_5743 +ENCODING 22339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2000 +2000 +FFE0 +2280 +2280 +2A80 +3480 +C4A0 +08E0 +1000 +ENDCHAR +STARTCHAR U_5744 +ENCODING 22340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +2480 +2480 +F4E0 +2800 +2780 +2480 +3280 +C100 +0280 +1C60 +ENDCHAR +STARTCHAR U_5745 +ENCODING 22341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2280 +F440 +2920 +2080 +27E0 +3840 +C080 +0080 +0100 +ENDCHAR +STARTCHAR U_5746 +ENCODING 22342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2440 +2A40 +2280 +2280 +2100 +3A80 +C460 +1840 +ENDCHAR +STARTCHAR U_5747 +ENCODING 22343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +27E0 +F020 +2420 +2220 +28A0 +3120 +C620 +0020 +00C0 +ENDCHAR +STARTCHAR U_5748 +ENCODING 22344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2820 +F000 +2780 +2480 +2480 +3480 +C4A0 +08A0 +1060 +ENDCHAR +STARTCHAR U_5749 +ENCODING 22345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2FE0 +F100 +2540 +2540 +27C0 +3900 +C120 +0120 +00E0 +ENDCHAR +STARTCHAR U_574A +ENCODING 22346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +27E0 +FA00 +23C0 +2240 +2240 +3A40 +C240 +0440 +1980 +ENDCHAR +STARTCHAR U_574B +ENCODING 22347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +2240 +FC20 +2800 +27E0 +2220 +3A20 +C220 +0420 +18C0 +ENDCHAR +STARTCHAR U_574C +ENCODING 22348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2080 +5FC0 +88A0 +0880 +1280 +6500 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_574D +ENCODING 22349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2640 +FD40 +2440 +2FE0 +2440 +3C40 +C440 +0940 +1080 +ENDCHAR +STARTCHAR U_574E +ENCODING 22350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +23E0 +FC20 +2140 +2100 +2100 +3A80 +C280 +0440 +1820 +ENDCHAR +STARTCHAR U_574F +ENCODING 22351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2080 +F880 +2100 +2180 +2340 +3520 +C920 +0100 +0100 +ENDCHAR +STARTCHAR U_5750 +ENCODING 22352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2480 +2480 +2480 +5540 +8E20 +0400 +7FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5751 +ENCODING 22353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +F000 +2780 +2480 +2480 +3C80 +E4A0 +08A0 +1060 +ENDCHAR +STARTCHAR U_5752 +ENCODING 22354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4240 +7A80 +4320 +5A20 +E1E0 +0400 +7FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5753 +ENCODING 22355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +0900 +7FC0 +0900 +FFE0 +1100 +2500 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5754 +ENCODING 22356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0460 +F580 +1600 +2580 +D460 +0800 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5755 +ENCODING 22357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +3E00 +2900 +2900 +2880 +4460 +8400 +3F80 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5756 +ENCODING 22358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0000 +FFE0 +1200 +1220 +21E0 +C400 +3FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5757 +ENCODING 22359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27C0 +F940 +2140 +2140 +2FE0 +3100 +C280 +0440 +1820 +ENDCHAR +STARTCHAR U_5758 +ENCODING 22360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2200 +FA00 +23C0 +2440 +2440 +2780 +3880 +C080 +0FE0 +ENDCHAR +STARTCHAR U_5759 +ENCODING 22361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +2480 +4480 +4900 +2480 +2480 +0400 +7FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_575A +ENCODING 22362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +5440 +5280 +5100 +5280 +1460 +0400 +3F80 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_575B +ENCODING 22363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2000 +F000 +2FE0 +2100 +2200 +3200 +C440 +1FE0 +0820 +ENDCHAR +STARTCHAR U_575C +ENCODING 22364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +2480 +FC80 +27E0 +24A0 +24A0 +3CA0 +C520 +0AA0 +1440 +ENDCHAR +STARTCHAR U_575D +ENCODING 22365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +2520 +FD20 +2520 +2520 +2520 +3D20 +E280 +0440 +0820 +ENDCHAR +STARTCHAR U_575E +ENCODING 22366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2440 +FC40 +2580 +2400 +27E0 +3820 +E7A0 +0020 +00C0 +ENDCHAR +STARTCHAR U_575F +ENCODING 22367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +F440 +2440 +2280 +2280 +3900 +E280 +0440 +0820 +ENDCHAR +STARTCHAR U_5760 +ENCODING 22368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +9100 +A100 +9280 +D440 +A820 +8400 +7FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5761 +ENCODING 22369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +27E0 +FCA0 +2480 +27C0 +2D40 +3540 +E480 +0940 +1620 +ENDCHAR +STARTCHAR U_5762 +ENCODING 22370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +2540 +F900 +27C0 +2100 +3900 +EFE0 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_5763 +ENCODING 22371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2480 +1480 +7FE0 +4020 +8440 +3F80 +0400 +0400 +0400 +7FC0 +ENDCHAR +STARTCHAR U_5764 +ENCODING 22372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2FE0 +F920 +2FE0 +2920 +2FE0 +3920 +C100 +0100 +0100 +ENDCHAR +STARTCHAR U_5765 +ENCODING 22373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2440 +FFC0 +2440 +2440 +27C0 +2440 +3C40 +C440 +1FE0 +ENDCHAR +STARTCHAR U_5766 +ENCODING 22374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2440 +2440 +FFC0 +2440 +2440 +27C0 +3800 +C000 +0FE0 +ENDCHAR +STARTCHAR U_5767 +ENCODING 22375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2200 +F200 +2400 +27C0 +2C40 +2440 +3440 +E7C0 +0440 +ENDCHAR +STARTCHAR U_5768 +ENCODING 22376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +27E0 +FC20 +2200 +2240 +2280 +3B00 +C220 +0220 +01E0 +ENDCHAR +STARTCHAR U_5769 +ENCODING 22377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2440 +2FE0 +F440 +2440 +27C0 +2440 +3C40 +C440 +07C0 +0440 +ENDCHAR +STARTCHAR U_576A +ENCODING 22378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2920 +F520 +2540 +2100 +2FE0 +3100 +C100 +0100 +0100 +ENDCHAR +STARTCHAR U_576B +ENCODING 22379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +21E0 +F900 +2100 +27E0 +2420 +3C20 +E420 +07E0 +0420 +ENDCHAR +STARTCHAR U_576C +ENCODING 22380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +2F80 +2A80 +FA80 +2A80 +2A80 +2A40 +3A40 +CAC0 +13A0 +24A0 +ENDCHAR +STARTCHAR U_576D +ENCODING 22381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +2420 +FFE0 +2500 +2520 +2540 +3D80 +C520 +0920 +10E0 +ENDCHAR +STARTCHAR U_576E +ENCODING 22382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2200 +F440 +27E0 +2000 +27C0 +3C40 +E440 +07C0 +0440 +ENDCHAR +STARTCHAR U_576F +ENCODING 22383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2100 +F900 +2380 +2540 +2920 +3920 +E100 +0100 +1FE0 +ENDCHAR +STARTCHAR U_5770 +ENCODING 22384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2BA0 +FAA0 +2AA0 +2AA0 +2BA0 +3AA0 +C820 +08A0 +0840 +ENDCHAR +STARTCHAR U_5771 +ENCODING 22385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27C0 +F540 +2540 +2540 +2FE0 +3900 +C280 +0440 +0820 +ENDCHAR +STARTCHAR U_5772 +ENCODING 22386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +2FE0 +F2A0 +2FE0 +2A80 +2FE0 +32A0 +C4E0 +0880 +1080 +ENDCHAR +STARTCHAR U_5773 +ENCODING 22387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +25E0 +FAA0 +2EA0 +24A0 +24A0 +3BA0 +CCA0 +0120 +0260 +ENDCHAR +STARTCHAR U_5774 +ENCODING 22388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +0400 +FFE0 +2080 +C460 +3F80 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5775 +ENCODING 22389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +2200 +FA00 +23E0 +2240 +2240 +2240 +3A40 +C240 +07E0 +ENDCHAR +STARTCHAR U_5776 +ENCODING 22390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2640 +2540 +F440 +2FE0 +2640 +2540 +3C40 +C7E0 +0040 +0180 +ENDCHAR +STARTCHAR U_5777 +ENCODING 22391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +2040 +2040 +F740 +2540 +2540 +2740 +3540 +C040 +0040 +01C0 +ENDCHAR +STARTCHAR U_5778 +ENCODING 22392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2200 +2200 +27C0 +F840 +2F40 +2940 +2940 +2F40 +3040 +C140 +0080 +ENDCHAR +STARTCHAR U_5779 +ENCODING 22393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +2100 +2FE0 +2820 +FAA0 +2280 +2280 +3280 +C440 +0440 +0820 +ENDCHAR +STARTCHAR U_577A +ENCODING 22394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +2240 +2FE0 +2200 +F3C0 +2240 +2240 +2540 +3480 +C940 +1260 +ENDCHAR +STARTCHAR U_577B +ENCODING 22395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +2480 +FC80 +27E0 +2480 +2480 +3C80 +E540 +06A0 +00A0 +ENDCHAR +STARTCHAR U_577C +ENCODING 22396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2400 +2400 +FFE0 +2480 +2580 +24C0 +3CA0 +C4A0 +0880 +1080 +ENDCHAR +STARTCHAR U_577D +ENCODING 22397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2440 +F920 +2080 +27E0 +2040 +3A80 +C100 +0080 +0080 +ENDCHAR +STARTCHAR U_577E +ENCODING 22398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +27E0 +7420 +2000 +23C0 +2880 +3080 +C080 +4280 +0100 +ENDCHAR +STARTCHAR U_577F +ENCODING 22399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +4440 +EBE0 +5840 +4A40 +4940 +6940 +4840 +8940 +0880 +ENDCHAR +STARTCHAR U_5780 +ENCODING 22400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +2520 +FB40 +2100 +2FE0 +2100 +3900 +C100 +0500 +0200 +ENDCHAR +STARTCHAR U_5781 +ENCODING 22401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +23C0 +F500 +2900 +2FE0 +2100 +2100 +3280 +C440 +0820 +ENDCHAR +STARTCHAR U_5782 +ENCODING 22402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +7E00 +0400 +FFE0 +2480 +FFE0 +2480 +2480 +FFE0 +0400 +7FC0 +ENDCHAR +STARTCHAR U_5783 +ENCODING 22403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +27E0 +F800 +2440 +2440 +2240 +3A40 +C280 +0080 +0FE0 +ENDCHAR +STARTCHAR U_5784 +ENCODING 22404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +0900 +FFE0 +1480 +1520 +2620 +5BE0 +8400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5785 +ENCODING 22405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +FA00 +2FE0 +2500 +2540 +2540 +3D80 +C520 +0920 +12E0 +ENDCHAR +STARTCHAR U_5786 +ENCODING 22406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +2100 +FFE0 +2420 +2420 +27E0 +3C20 +C400 +0800 +1000 +ENDCHAR +STARTCHAR U_5787 +ENCODING 22407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +5CE0 +54A0 +54A0 +F4A0 +57A0 +54A0 +5020 +7020 +9FE0 +1020 +ENDCHAR +STARTCHAR U_5788 +ENCODING 22408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +2240 +6FE0 +A200 +21A0 +2460 +0400 +3F80 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5789 +ENCODING 22409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +4FC0 +5040 +EF40 +4940 +4940 +4F40 +5940 +6880 +C820 +07E0 +ENDCHAR +STARTCHAR U_578A +ENCODING 22410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4840 +4FC0 +E900 +4900 +4FE0 +4900 +6900 +4AA0 +8CA0 +0860 +ENDCHAR +STARTCHAR U_578B +ENCODING 22411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E40 +2940 +2940 +FF40 +2940 +2840 +4CC0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_578C +ENCODING 22412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2BA0 +F820 +2BA0 +2AA0 +2BA0 +3AA0 +C820 +08A0 +0840 +ENDCHAR +STARTCHAR U_578D +ENCODING 22413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2200 +27E0 +FC20 +2420 +27E0 +2420 +3FE0 +C420 +0420 +07E0 +ENDCHAR +STARTCHAR U_578E +ENCODING 22414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2440 +FA80 +2100 +2280 +2C60 +37C0 +C440 +0440 +07C0 +ENDCHAR +STARTCHAR U_578F +ENCODING 22415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2140 +FFE0 +2140 +27C0 +2100 +37C0 +C100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_5790 +ENCODING 22416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +87C0 +5440 +2A80 +D300 +4480 +5860 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5791 +ENCODING 22417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +23C0 +2440 +FA80 +2300 +2D00 +23E0 +3C40 +C280 +0100 +0E00 +ENDCHAR +STARTCHAR U_5792 +ENCODING 22418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1080 +7F40 +2080 +5140 +EBA0 +0400 +3F80 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5793 +ENCODING 22419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +27E0 +FA40 +2480 +2320 +2240 +3C80 +C140 +0220 +0C20 +ENDCHAR +STARTCHAR U_5794 +ENCODING 22420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +4A40 +7FC0 +4440 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5795 +ENCODING 22421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +4000 +7FC0 +4000 +5F80 +5080 +9F80 +0400 +3F80 +0400 +FFC0 +ENDCHAR +STARTCHAR U_5796 +ENCODING 22422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2100 +23E0 +FA20 +2220 +23E0 +2200 +3BE0 +C220 +0220 +03E0 +ENDCHAR +STARTCHAR U_5797 +ENCODING 22423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +2AA0 +F6C0 +2280 +26C0 +2AA0 +3280 +C4A0 +04A0 +0860 +ENDCHAR +STARTCHAR U_5798 +ENCODING 22424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +22C0 +24A0 +F7E0 +2C80 +2480 +2480 +3540 +C540 +0520 +0620 +ENDCHAR +STARTCHAR U_5799 +ENCODING 22425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +2540 +F100 +2FE0 +2280 +2280 +3A80 +C2A0 +04A0 +0860 +ENDCHAR +STARTCHAR U_579A +ENCODING 22426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0400 +0400 +FFE0 +0000 +2080 +FBE0 +2080 +3880 +C7E0 +ENDCHAR +STARTCHAR U_579B +ENCODING 22427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2280 +2280 +FCE0 +2100 +2100 +2FE0 +3100 +C580 +0940 +1120 +ENDCHAR +STARTCHAR U_579C +ENCODING 22428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +2280 +22E0 +FA20 +24A0 +2940 +2FE0 +3380 +C540 +1920 +0100 +ENDCHAR +STARTCHAR U_579D +ENCODING 22429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +2480 +FFE0 +2400 +25E0 +2520 +3D60 +C500 +0920 +10E0 +ENDCHAR +STARTCHAR U_579E +ENCODING 22430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +F820 +20C0 +2700 +2100 +39E0 +C700 +0120 +00E0 +ENDCHAR +STARTCHAR U_579F +ENCODING 22431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +2FE0 +F100 +2100 +27C0 +2100 +3100 +CFE0 +0100 +0100 +ENDCHAR +STARTCHAR U_57A0 +ENCODING 22432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +FC40 +27C0 +2520 +2540 +3C80 +C480 +0540 +0620 +ENDCHAR +STARTCHAR U_57A1 +ENCODING 22433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2480 +7FE0 +A440 +2280 +2320 +3CE0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57A2 +ENCODING 22434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +2400 +F400 +27E0 +2400 +27E0 +3620 +CA20 +0BE0 +1220 +ENDCHAR +STARTCHAR U_57A3 +ENCODING 22435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +27C0 +F440 +2440 +27C0 +2440 +37C0 +C440 +0000 +0FE0 +ENDCHAR +STARTCHAR U_57A4 +ENCODING 22436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2200 +F440 +27A0 +2100 +2100 +37C0 +C100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_57A5 +ENCODING 22437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2440 +F820 +27C0 +2000 +27C0 +3C40 +C440 +07C0 +0440 +ENDCHAR +STARTCHAR U_57A6 +ENCODING 22438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +4080 +7F80 +4080 +7FA0 +4940 +F080 +0460 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57A7 +ENCODING 22439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2400 +2FE0 +F820 +2BA0 +2AA0 +2AA0 +3BA0 +C820 +08A0 +0840 +ENDCHAR +STARTCHAR U_57A8 +ENCODING 22440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +2FE0 +F820 +2080 +27E0 +2080 +3480 +C280 +0080 +0180 +ENDCHAR +STARTCHAR U_57A9 +ENCODING 22441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0900 +4940 +2980 +0900 +FFE0 +0400 +0400 +3FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57AA +ENCODING 22442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +27C0 +FA80 +2280 +2FE0 +2280 +3280 +C480 +0480 +0880 +ENDCHAR +STARTCHAR U_57AB +ENCODING 22443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FF80 +2280 +36A0 +E3A0 +2CE0 +6400 +0400 +3FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57AC +ENCODING 22444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +27E0 +FA40 +2240 +2240 +2FE0 +3000 +C240 +0420 +0820 +ENDCHAR +STARTCHAR U_57AD +ENCODING 22445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2280 +F2A0 +2AA0 +26C0 +2280 +3280 +C280 +0280 +0FE0 +ENDCHAR +STARTCHAR U_57AE +ENCODING 22446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2440 +FBA0 +2000 +2FE0 +2200 +3BC0 +E040 +0240 +0180 +ENDCHAR +STARTCHAR U_57AF +ENCODING 22447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2880 +2480 +23E0 +FC80 +2480 +2540 +2620 +3420 +CA00 +11E0 +ENDCHAR +STARTCHAR U_57B0 +ENCODING 22448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +21C0 +F900 +27E0 +2000 +27E0 +3100 +C140 +0120 +0100 +ENDCHAR +STARTCHAR U_57B1 +ENCODING 22449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +2920 +2540 +F100 +27E0 +2020 +2020 +23E0 +3020 +C020 +07E0 +ENDCHAR +STARTCHAR U_57B2 +ENCODING 22450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2920 +2FE0 +F000 +2FE0 +2020 +2FE0 +3800 +C800 +0820 +07E0 +ENDCHAR +STARTCHAR U_57B3 +ENCODING 22451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +24E0 +2800 +F200 +25E0 +2C40 +2440 +2440 +3440 +C440 +04C0 +ENDCHAR +STARTCHAR U_57B4 +ENCODING 22452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +F000 +2280 +2AA0 +2920 +3AA0 +CAA0 +0FE0 +0820 +ENDCHAR +STARTCHAR U_57B5 +ENCODING 22453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +27E0 +F520 +2100 +2FE0 +2240 +3A40 +E180 +0140 +0E20 +ENDCHAR +STARTCHAR U_57B6 +ENCODING 22454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +F440 +2280 +2FE0 +2100 +37C0 +C100 +0100 +0100 +ENDCHAR +STARTCHAR U_57B7 +ENCODING 22455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +FC40 +27C0 +2440 +27C0 +3280 +C280 +04A0 +0860 +ENDCHAR +STARTCHAR U_57B8 +ENCODING 22456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2820 +F7C0 +2000 +2FE0 +2280 +3280 +C2A0 +04A0 +1860 +ENDCHAR +STARTCHAR U_57B9 +ENCODING 22457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +44A0 +5FA0 +E4A0 +4EC0 +44A0 +5FA0 +64A0 +84E0 +0880 +1080 +ENDCHAR +STARTCHAR U_57BA +ENCODING 22458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F20 +2540 +F280 +27E0 +2040 +2080 +37E0 +C080 +0080 +0380 +ENDCHAR +STARTCHAR U_57BB +ENCODING 22459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +27E0 +FC20 +2420 +27E0 +2420 +37E0 +C240 +0420 +0820 +ENDCHAR +STARTCHAR U_57BC +ENCODING 22460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +44E0 +9800 +2FC0 +6480 +A300 +2CE0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57BD +ENCODING 22461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +A400 +57E0 +1480 +2480 +C880 +5080 +0400 +3FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57BE +ENCODING 22462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +FC40 +27C0 +2000 +27C0 +3100 +CFE0 +0100 +0100 +ENDCHAR +STARTCHAR U_57BF +ENCODING 22463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2800 +FFE0 +2940 +2880 +2FE0 +38A0 +C880 +1280 +2100 +ENDCHAR +STARTCHAR U_57C0 +ENCODING 22464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +1500 +75C0 +1520 +F5E0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57C1 +ENCODING 22465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2920 +2FE0 +F100 +2280 +2540 +2920 +37C0 +C080 +0100 +0200 +ENDCHAR +STARTCHAR U_57C2 +ENCODING 22466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2FE0 +F920 +2FE0 +2920 +2FE0 +3500 +C200 +0500 +18E0 +ENDCHAR +STARTCHAR U_57C3 +ENCODING 22467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2440 +2FA0 +F400 +27C0 +2900 +2100 +3FE0 +C280 +0440 +1820 +ENDCHAR +STARTCHAR U_57C4 +ENCODING 22468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +2A80 +F100 +2EE0 +2100 +27C0 +3100 +CFE0 +0100 +0100 +ENDCHAR +STARTCHAR U_57C5 +ENCODING 22469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +6200 +53C0 +5240 +6540 +4880 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57C6 +ENCODING 22470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +2880 +FFE0 +2920 +2FE0 +2920 +3FE0 +C920 +0920 +1060 +ENDCHAR +STARTCHAR U_57C7 +ENCODING 22471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2100 +FFE0 +2920 +2FE0 +2920 +3FE0 +C920 +0920 +0860 +ENDCHAR +STARTCHAR U_57C8 +ENCODING 22472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2240 +27E0 +FA40 +2520 +23E0 +3640 +C980 +0240 +0C20 +ENDCHAR +STARTCHAR U_57C9 +ENCODING 22473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +5FE0 +E200 +4A40 +4A40 +56A0 +6200 +C500 +0880 +1060 +ENDCHAR +STARTCHAR U_57CA +ENCODING 22474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0400 +74C0 +2500 +C8E0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57CB +ENCODING 22475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +2540 +FFC0 +2540 +27C0 +2100 +3FC0 +C100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_57CC +ENCODING 22476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2440 +FFC0 +2440 +27C0 +2520 +3D40 +C480 +0540 +0620 +ENDCHAR +STARTCHAR U_57CD +ENCODING 22477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +27E0 +F800 +27E0 +2420 +3FE0 +E420 +47E0 +0420 +0460 +ENDCHAR +STARTCHAR U_57CE +ENCODING 22478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +40A0 +4FE0 +F880 +4EA0 +4AA0 +5AC0 +6A80 +D6A0 +1160 +2220 +ENDCHAR +STARTCHAR U_57CF +ENCODING 22479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C20 +45C0 +4440 +E960 +4D40 +4540 +4540 +75E0 +CC00 +1200 +21E0 +ENDCHAR +STARTCHAR U_57D0 +ENCODING 22480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4040 +47C0 +E040 +5FE0 +5020 +4FC0 +6480 +8300 +0CC0 +3020 +ENDCHAR +STARTCHAR U_57D1 +ENCODING 22481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +FE00 +13E0 +1E80 +F280 +1480 +3880 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57D2 +ENCODING 22482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2720 +2520 +FAC0 +2040 +2FE0 +2440 +3A40 +C240 +0040 +00C0 +ENDCHAR +STARTCHAR U_57D3 +ENCODING 22483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F00 +24A0 +F2C0 +2340 +2C40 +27E0 +3040 +C440 +0240 +00C0 +ENDCHAR +STARTCHAR U_57D4 +ENCODING 22484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +2FE0 +F100 +2FE0 +2920 +2FE0 +3920 +CFE0 +0920 +0860 +ENDCHAR +STARTCHAR U_57D5 +ENCODING 22485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2440 +F7C0 +2000 +2FE0 +2100 +37C0 +E100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_57D6 +ENCODING 22486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3FE0 +2480 +2200 +FA80 +24A0 +2CC0 +2580 +3680 +C4A0 +0460 +ENDCHAR +STARTCHAR U_57D7 +ENCODING 22487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +25C0 +F500 +2FE0 +2100 +2520 +3540 +C980 +0100 +0E00 +ENDCHAR +STARTCHAR U_57D8 +ENCODING 22488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2E40 +2A40 +FBE0 +2A40 +2F40 +2AC0 +2A40 +3A40 +CE40 +00C0 +ENDCHAR +STARTCHAR U_57D9 +ENCODING 22489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +F000 +2FE0 +2820 +2920 +3920 +C920 +0280 +0C60 +ENDCHAR +STARTCHAR U_57DA +ENCODING 22490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2440 +F7C0 +2100 +2FE0 +2920 +3AA0 +CC60 +0820 +0860 +ENDCHAR +STARTCHAR U_57DB +ENCODING 22491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2820 +2AA0 +FC60 +2BA0 +2AA0 +2BA0 +3820 +C8A0 +0840 +ENDCHAR +STARTCHAR U_57DC +ENCODING 22492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +3080 +69C0 +A2A0 +2480 +0400 +7FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57DD +ENCODING 22493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2480 +2A40 +F120 +2FC0 +2080 +2100 +32C0 +CA20 +0A60 +11C0 +ENDCHAR +STARTCHAR U_57DE +ENCODING 22494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +2820 +F000 +2FC0 +2200 +2BC0 +3A00 +CA00 +0E00 +11E0 +ENDCHAR +STARTCHAR U_57DF +ENCODING 22495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +2FE0 +F080 +2EA0 +2AA0 +2EC0 +3080 +C6A0 +1960 +0220 +ENDCHAR +STARTCHAR U_57E0 +ENCODING 22496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +2440 +F7C0 +2400 +27C0 +2440 +37C0 +C100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_57E1 +ENCODING 22497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2280 +FEE0 +2820 +2820 +2820 +3EE0 +E280 +0280 +1FE0 +ENDCHAR +STARTCHAR U_57E2 +ENCODING 22498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +2FE0 +F100 +2FE0 +2440 +2FA0 +3C80 +E5A0 +0420 +03E0 +ENDCHAR +STARTCHAR U_57E3 +ENCODING 22499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2440 +F440 +2AA0 +2920 +2100 +3FE0 +C100 +0100 +0100 +ENDCHAR +STARTCHAR U_57E4 +ENCODING 22500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +2920 +FFE0 +2920 +2FE0 +2AA0 +3480 +CFE0 +0080 +0080 +ENDCHAR +STARTCHAR U_57E5 +ENCODING 22501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +F7C0 +2100 +2FE0 +2440 +3FC0 +C440 +07C0 +04C0 +ENDCHAR +STARTCHAR U_57E6 +ENCODING 22502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2420 +FA40 +27E0 +29A0 +36A0 +22E0 +3A80 +C4A0 +1860 +ENDCHAR +STARTCHAR U_57E7 +ENCODING 22503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +2FC0 +F840 +2FC0 +2840 +2FC0 +3840 +CFE0 +0480 +1860 +ENDCHAR +STARTCHAR U_57E8 +ENCODING 22504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4300 +4480 +F840 +5720 +4000 +4FE0 +4AA0 +7FE0 +CAA0 +0AA0 +ENDCHAR +STARTCHAR U_57E9 +ENCODING 22505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +2480 +FFC0 +2140 +2FE0 +2140 +37C0 +C100 +0100 +0300 +ENDCHAR +STARTCHAR U_57EA +ENCODING 22506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +4100 +4FE0 +4820 +F280 +4440 +4000 +47C0 +7100 +C100 +0FE0 +ENDCHAR +STARTCHAR U_57EB +ENCODING 22507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +2540 +FFE0 +2820 +2BA0 +2AA0 +3AA0 +EBA0 +0820 +0840 +ENDCHAR +STARTCHAR U_57EC +ENCODING 22508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +FFE0 +2920 +2FE0 +2920 +3FE0 +E580 +0940 +1120 +ENDCHAR +STARTCHAR U_57ED +ENCODING 22509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FC0 +2140 +FFE0 +2140 +2FE0 +2540 +3380 +C540 +1920 +0300 +ENDCHAR +STARTCHAR U_57EE +ENCODING 22510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +2540 +2900 +F280 +2D60 +2120 +2540 +3580 +C900 +0280 +0C60 +ENDCHAR +STARTCHAR U_57EF +ENCODING 22511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +F540 +2FE0 +2540 +27C0 +3D40 +E7C0 +0120 +00E0 +ENDCHAR +STARTCHAR U_57F0 +ENCODING 22512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F20 +2A20 +F540 +2100 +2FE0 +2100 +3380 +C540 +0920 +1120 +ENDCHAR +STARTCHAR U_57F1 +ENCODING 22513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +45E0 +46A0 +E4A0 +5FA0 +44A0 +46A0 +6DA0 +D440 +24A0 +0D20 +ENDCHAR +STARTCHAR U_57F2 +ENCODING 22514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +F7C0 +2200 +2FE0 +3540 +CBA0 +0100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_57F3 +ENCODING 22515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +2440 +F880 +22E0 +2C20 +2820 +3EE0 +C820 +0FE0 +0820 +ENDCHAR +STARTCHAR U_57F4 +ENCODING 22516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +F7C0 +2440 +27C0 +2440 +3F40 +C5C0 +0440 +1FE0 +ENDCHAR +STARTCHAR U_57F5 +ENCODING 22517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +2100 +FFE0 +2540 +2FE0 +2540 +3540 +CFE0 +0100 +07C0 +ENDCHAR +STARTCHAR U_57F6 +ENCODING 22518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D00 +13C0 +FD40 +2940 +5740 +9140 +79C0 +1240 +FC60 +0420 +ENDCHAR +STARTCHAR U_57F7 +ENCODING 22519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +27C0 +F940 +5540 +FB40 +2140 +F9C0 +2240 +2420 +2820 +ENDCHAR +STARTCHAR U_57F8 +ENCODING 22520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +FC40 +27C0 +2200 +27E0 +3AA0 +C2A0 +0D20 +02C0 +ENDCHAR +STARTCHAR U_57F9 +ENCODING 22521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +F440 +2280 +2FE0 +2000 +37C0 +C440 +0440 +07C0 +ENDCHAR +STARTCHAR U_57FA +ENCODING 22522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +1D00 +1700 +1100 +FFE0 +2480 +DF60 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57FB +ENCODING 22523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2440 +F7C0 +2000 +27E0 +2080 +3FE0 +E100 +0500 +0200 +ENDCHAR +STARTCHAR U_57FC +ENCODING 22524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +F440 +2FE0 +2040 +2740 +3D40 +C740 +0040 +01C0 +ENDCHAR +STARTCHAR U_57FD +ENCODING 22525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2040 +27C0 +F040 +2FE0 +2920 +27C0 +3540 +C540 +05C0 +0100 +ENDCHAR +STARTCHAR U_57FE +ENCODING 22526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2620 +3D40 +2480 +3C80 +2560 +FE20 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_57FF +ENCODING 22527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +8FC0 +5A00 +2BC0 +CA20 +55E0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5800 +ENCODING 22528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2820 +FFE0 +2880 +2AA0 +2BE0 +2880 +3AA0 +CAA0 +13E0 +ENDCHAR +STARTCHAR U_5801 +ENCODING 22529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +27C0 +FD40 +27C0 +2100 +27E0 +3900 +C380 +0540 +0920 +ENDCHAR +STARTCHAR U_5802 +ENCODING 22530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +FFE0 +8020 +BFA0 +2080 +3F80 +0400 +3FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5803 +ENCODING 22531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +4200 +7BC0 +4A40 +6A40 +9CC0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5804 +ENCODING 22532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2CE0 +2820 +FEE0 +2820 +2820 +2FE0 +3A80 +C2A0 +04A0 +1860 +ENDCHAR +STARTCHAR U_5805 +ENCODING 22533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +A480 +FC80 +8A80 +F900 +A280 +F440 +0800 +7F80 +0800 +FFC0 +ENDCHAR +STARTCHAR U_5806 +ENCODING 22534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2480 +27E0 +FC80 +27E0 +2480 +2480 +3FE0 +C480 +07E0 +0400 +ENDCHAR +STARTCHAR U_5807 +ENCODING 22535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +1200 +7F80 +4480 +FFC0 +0400 +7F80 +0400 +FFC0 +ENDCHAR +STARTCHAR U_5808 +ENCODING 22536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +2920 +FFE0 +2920 +2D60 +2D60 +3FE0 +C820 +08A0 +0840 +ENDCHAR +STARTCHAR U_5809 +ENCODING 22537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2240 +FFA0 +2000 +27C0 +2440 +3FC0 +C440 +07C0 +0440 +ENDCHAR +STARTCHAR U_580A +ENCODING 22538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0900 +79E0 +4020 +79E0 +0900 +7FE0 +0400 +3FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_580B +ENCODING 22539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2AA0 +FEE0 +2AA0 +2AA0 +2EE0 +2AA0 +D2A0 +12A0 +2760 +ENDCHAR +STARTCHAR U_580C +ENCODING 22540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +2920 +FFE0 +2920 +2BA0 +2AA0 +3BA0 +CAA0 +0820 +0FE0 +ENDCHAR +STARTCHAR U_580D +ENCODING 22541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +2480 +FFC0 +2540 +2540 +27C0 +3300 +C5A0 +0920 +10E0 +ENDCHAR +STARTCHAR U_580E +ENCODING 22542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +FFE0 +2440 +2A20 +23C0 +3E40 +C180 +0240 +0C20 +ENDCHAR +STARTCHAR U_580F +ENCODING 22543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FBE0 +1100 +39E0 +5520 +92A0 +1440 +3FC0 +0400 +0400 +7FE0 +ENDCHAR +STARTCHAR U_5810 +ENCODING 22544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2900 +2900 +FFC0 +2900 +2FE0 +2900 +3FC0 +C900 +1100 +2FE0 +ENDCHAR +STARTCHAR U_5811 +ENCODING 22545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +FDC0 +5100 +FDE0 +1140 +7A40 +1440 +0200 +3FC0 +0200 +7FE0 +ENDCHAR +STARTCHAR U_5812 +ENCODING 22546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +2FC0 +F840 +2FC0 +2900 +2960 +3F80 +E920 +0B20 +0CE0 +ENDCHAR +STARTCHAR U_5813 +ENCODING 22547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2520 +27E0 +F000 +27E0 +2400 +35C0 +C480 +07E0 +0880 +1080 +ENDCHAR +STARTCHAR U_5814 +ENCODING 22548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +2440 +F920 +2100 +2FE0 +2100 +3380 +C540 +0920 +1120 +ENDCHAR +STARTCHAR U_5815 +ENCODING 22549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +AFE0 +A440 +CFC0 +A440 +A7C0 +E440 +84C0 +3FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5816 +ENCODING 22550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2540 +2A80 +FA80 +2540 +2FE0 +2AA0 +3920 +CAA0 +0820 +0FE0 +ENDCHAR +STARTCHAR U_5817 +ENCODING 22551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +2FE0 +2820 +2240 +F5A0 +2140 +2FE0 +3100 +C280 +0440 +0820 +ENDCHAR +STARTCHAR U_5818 +ENCODING 22552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2680 +2FC0 +F200 +3FE0 +2500 +2880 +3260 +EF80 +0200 +1FE0 +ENDCHAR +STARTCHAR U_5819 +ENCODING 22553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2FE0 +FAA0 +2AA0 +2FE0 +2100 +37C0 +C100 +0100 +1FE0 +ENDCHAR +STARTCHAR U_581A +ENCODING 22554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5220 +EFC0 +4200 +4FC0 +4EC0 +4B40 +6FC0 +C200 +1FE0 +0200 +ENDCHAR +STARTCHAR U_581B +ENCODING 22555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +27C0 +F440 +27C0 +2000 +2FE0 +3920 +CFE0 +0920 +0FE0 +ENDCHAR +STARTCHAR U_581C +ENCODING 22556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +FFE0 +2AA0 +2920 +2FE0 +3100 +C380 +0540 +0920 +ENDCHAR +STARTCHAR U_581D +ENCODING 22557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2740 +F540 +2FE0 +2820 +2BA0 +3AA0 +CBA0 +0820 +0860 +ENDCHAR +STARTCHAR U_581E +ENCODING 22558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +2540 +F5C0 +2400 +27E0 +2100 +3FE0 +C380 +0540 +0920 +ENDCHAR +STARTCHAR U_581F +ENCODING 22559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +4440 +4780 +E080 +5FE0 +4340 +4580 +7AC0 +C5A0 +02A0 +0D80 +ENDCHAR +STARTCHAR U_5820 +ENCODING 22560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27E0 +F500 +2DE0 +2680 +2480 +37E0 +C480 +0540 +0620 +ENDCHAR +STARTCHAR U_5821 +ENCODING 22561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +2FC0 +6200 +BFE0 +2A80 +3260 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5822 +ENCODING 22562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +47E0 +4A20 +FBE0 +4880 +4FE0 +4880 +79C0 +CAA0 +0CA0 +0880 +ENDCHAR +STARTCHAR U_5823 +ENCODING 22563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +27C0 +FD40 +27C0 +2100 +2FE0 +3920 +C960 +0FA0 +0860 +ENDCHAR +STARTCHAR U_5824 +ENCODING 22564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +FC40 +27C0 +2000 +2FE0 +3500 +C5C0 +0B00 +10E0 +ENDCHAR +STARTCHAR U_5825 +ENCODING 22565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +29E0 +1140 +7F40 +1480 +3140 +5220 +B200 +1FC0 +0200 +7FE0 +ENDCHAR +STARTCHAR U_5826 +ENCODING 22566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2960 +2F80 +F920 +2EE0 +2000 +27C0 +3440 +E7C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_5827 +ENCODING 22567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2FE0 +FAA0 +2AA0 +2860 +2100 +3FE0 +C100 +0280 +0C60 +ENDCHAR +STARTCHAR U_5828 +ENCODING 22568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +FC40 +27C0 +2200 +27E0 +3CA0 +C560 +07A0 +00C0 +ENDCHAR +STARTCHAR U_5829 +ENCODING 22569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +4BE0 +4800 +EBE0 +4E20 +5BE0 +4A20 +7BE0 +8800 +0800 +0BE0 +ENDCHAR +STARTCHAR U_582A +ENCODING 22570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +2240 +FBC0 +2240 +23C0 +2240 +3FE0 +C540 +0620 +07E0 +ENDCHAR +STARTCHAR U_582B +ENCODING 22571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2920 +2AA0 +FFE0 +2480 +2A40 +33A0 +2480 +3A80 +C100 +1EE0 +ENDCHAR +STARTCHAR U_582C +ENCODING 22572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +4440 +4BA0 +F000 +4EA0 +4AA0 +4EA0 +7AA0 +8EA0 +0A20 +0AE0 +ENDCHAR +STARTCHAR U_582D +ENCODING 22573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2440 +F7C0 +2440 +2FE0 +2100 +3100 +C7C0 +0100 +1FE0 +ENDCHAR +STARTCHAR U_582E +ENCODING 22574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2EE0 +F000 +27C0 +2000 +2FE0 +3200 +E7C0 +0040 +0180 +ENDCHAR +STARTCHAR U_582F +ENCODING 22575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0400 +7FC0 +2100 +FBC0 +2100 +FFE0 +0A00 +1220 +E1E0 +ENDCHAR +STARTCHAR U_5830 +ENCODING 22576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4A40 +4BC0 +FA40 +4BC0 +4900 +4FE0 +7A40 +C980 +0A40 +0FE0 +ENDCHAR +STARTCHAR U_5831 +ENCODING 22577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +7E20 +1220 +FEC0 +4600 +2BE0 +7E20 +1320 +FEC0 +12A0 +1320 +ENDCHAR +STARTCHAR U_5832 +ENCODING 22578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4520 +7D20 +4520 +7D20 +4960 +7500 +0400 +3FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5833 +ENCODING 22579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4920 +4FE0 +F800 +4BE0 +4A20 +4BE0 +7A20 +CBE0 +1220 +23E0 +ENDCHAR +STARTCHAR U_5834 +ENCODING 22580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +F440 +2FE0 +2200 +37E0 +CAA0 +14A0 +0920 +02C0 +ENDCHAR +STARTCHAR U_5835 +ENCODING 22581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2120 +27A0 +F940 +27E0 +2100 +3BE0 +E620 +0BE0 +1220 +03E0 +ENDCHAR +STARTCHAR U_5836 +ENCODING 22582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2200 +F7C0 +2880 +27E0 +2420 +3FE0 +C420 +07E0 +0420 +ENDCHAR +STARTCHAR U_5837 +ENCODING 22583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4440 +F280 +4FE0 +4000 +47C0 +7440 +C7C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_5838 +ENCODING 22584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +48A0 +4F20 +FA20 +4FA0 +4AA0 +4AA0 +7FA0 +CA20 +12A0 +2F60 +ENDCHAR +STARTCHAR U_5839 +ENCODING 22585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +2FE0 +FD40 +27C0 +2540 +27C0 +3900 +C7C0 +0100 +0FE0 +ENDCHAR +STARTCHAR U_583A +ENCODING 22586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4A40 +FFC0 +4A40 +4FC0 +4480 +4840 +74A0 +C480 +0480 +0880 +ENDCHAR +STARTCHAR U_583B +ENCODING 22587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2240 +8FE0 +6240 +3FE0 +C200 +5FE0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_583C +ENCODING 22588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +7C40 +13E0 +FE40 +1140 +7C40 +1940 +E480 +3FC0 +0400 +7FE0 +ENDCHAR +STARTCHAR U_583D +ENCODING 22589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +4AA0 +FFE0 +4000 +4FE0 +4100 +75C0 +C500 +0500 +1FE0 +ENDCHAR +STARTCHAR U_583E +ENCODING 22590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +2200 +F780 +2200 +2FE0 +2480 +2FC0 +F7A0 +2480 +0780 +ENDCHAR +STARTCHAR U_583F +ENCODING 22591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +40A0 +4FE0 +F880 +4F80 +48A0 +7EA0 +CAC0 +0EA0 +1160 +2220 +ENDCHAR +STARTCHAR U_5840 +ENCODING 22592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +2FC0 +FC40 +2A80 +2FE0 +2A80 +3FE0 +CA80 +1280 +2480 +ENDCHAR +STARTCHAR U_5841 +ENCODING 22593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +7FC0 +2100 +1600 +2500 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5842 +ENCODING 22594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4480 +4FC0 +E480 +5FE0 +4480 +4FC0 +74A0 +C780 +0420 +07E0 +ENDCHAR +STARTCHAR U_5843 +ENCODING 22595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5FE0 +E480 +4100 +5FE0 +4400 +47C0 +4000 +6540 +C540 +0960 +ENDCHAR +STARTCHAR U_5844 +ENCODING 22596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +2AA0 +FFE0 +2100 +2FE0 +2200 +33C0 +C440 +0940 +1080 +ENDCHAR +STARTCHAR U_5845 +ENCODING 22597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45C0 +5940 +5160 +FE00 +51C0 +5D40 +5140 +5480 +7880 +D140 +1220 +ENDCHAR +STARTCHAR U_5846 +ENCODING 22598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +5FE0 +4D80 +5540 +EFC0 +4040 +4FC0 +4800 +6FC0 +C040 +01C0 +ENDCHAR +STARTCHAR U_5847 +ENCODING 22599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +F820 +27C0 +2000 +27C0 +3C40 +C7C0 +0440 +0FE0 +ENDCHAR +STARTCHAR U_5848 +ENCODING 22600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F7C0 +9500 +FFC0 +9100 +F340 +A540 +D8C0 +0800 +7F80 +0800 +FFC0 +ENDCHAR +STARTCHAR U_5849 +ENCODING 22601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2D60 +2380 +2D60 +F280 +2FE0 +2440 +27C0 +3C40 +C7C0 +0440 +04C0 +ENDCHAR +STARTCHAR U_584A +ENCODING 22602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +2920 +FFE0 +2920 +2FE0 +2140 +33A0 +E5E0 +0920 +10E0 +ENDCHAR +STARTCHAR U_584B +ENCODING 22603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +55A0 +5AC0 +9080 +2940 +4620 +FFE0 +8420 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_584C +ENCODING 22604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +F440 +27C0 +3000 +2EE0 +3AA0 +C660 +0BA0 +0660 +ENDCHAR +STARTCHAR U_584D +ENCODING 22605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7920 +5540 +57E0 +7200 +5FE0 +5540 +7920 +57C0 +5100 +9100 +BFE0 +ENDCHAR +STARTCHAR U_584E +ENCODING 22606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2AA0 +F440 +2920 +2280 +2440 +3FE0 +C440 +07C0 +0440 +ENDCHAR +STARTCHAR U_584F +ENCODING 22607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +2FE0 +F000 +2FE0 +2000 +27C0 +3440 +C7C0 +0280 +1FE0 +ENDCHAR +STARTCHAR U_5850 +ENCODING 22608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4100 +EFE0 +4480 +4F00 +4240 +6FE0 +C100 +0940 +1320 +ENDCHAR +STARTCHAR U_5851 +ENCODING 22609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +FF20 +11E0 +5520 +7DE0 +1220 +2C60 +4400 +3FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5852 +ENCODING 22610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2FE0 +2A40 +FBE0 +2E40 +2BE0 +2A40 +3F40 +CAC0 +0040 +00C0 +ENDCHAR +STARTCHAR U_5853 +ENCODING 22611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +27C0 +F440 +27C0 +2440 +27C0 +3900 +EFE0 +0280 +0C60 +ENDCHAR +STARTCHAR U_5854 +ENCODING 22612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2540 +FA80 +2440 +2BA0 +2000 +3FC0 +E440 +07C0 +0440 +ENDCHAR +STARTCHAR U_5855 +ENCODING 22613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4A40 +54A0 +FF40 +4000 +5EE0 +42A0 +6A60 +C6A0 +1B20 +0660 +ENDCHAR +STARTCHAR U_5856 +ENCODING 22614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4100 +5FE0 +E540 +5D60 +4540 +5D60 +6100 +C380 +0540 +1920 +ENDCHAR +STARTCHAR U_5857 +ENCODING 22615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +A840 +57A0 +2200 +5FC0 +CA80 +5240 +6620 +3FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5858 +ENCODING 22616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4900 +FFC0 +4940 +4FE0 +7940 +CFC0 +0C40 +17C0 +2440 +ENDCHAR +STARTCHAR U_5859 +ENCODING 22617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2440 +F7C0 +2000 +2FE0 +2820 +3BA0 +CAA0 +0BA0 +0860 +ENDCHAR +STARTCHAR U_585A +ENCODING 22618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +27C0 +F200 +2520 +2EC0 +3480 +CBC0 +06A0 +1880 +0300 +ENDCHAR +STARTCHAR U_585B +ENCODING 22619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4280 +4FE0 +FAA0 +4FE0 +4100 +4FE0 +7100 +C380 +0540 +0920 +ENDCHAR +STARTCHAR U_585C +ENCODING 22620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +47C0 +E000 +4FE0 +4640 +4B80 +6540 +CB40 +0520 +1B00 +ENDCHAR +STARTCHAR U_585D +ENCODING 22621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +FFE0 +2920 +2FE0 +2200 +3BC0 +C240 +0540 +0880 +ENDCHAR +STARTCHAR U_585E +ENCODING 22622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7FC0 +1100 +FFE0 +1100 +2480 +5F40 +0400 +FFE0 +ENDCHAR +STARTCHAR U_585F +ENCODING 22623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +1A00 +6B80 +1220 +E5E0 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5860 +ENCODING 22624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5180 +4A00 +4BC0 +E240 +5BC0 +4A00 +4BC0 +4A40 +6BC0 +8800 +17E0 +ENDCHAR +STARTCHAR U_5861 +ENCODING 22625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +4400 +47E0 +F000 +4BC0 +4A40 +4BC0 +5A40 +6FE0 +C440 +0820 +ENDCHAR +STARTCHAR U_5862 +ENCODING 22626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2440 +FFC0 +2400 +27E0 +2400 +3FE0 +C020 +0AA0 +1540 +ENDCHAR +STARTCHAR U_5863 +ENCODING 22627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +A840 +5FC0 +2200 +CFC0 +4200 +5FE0 +0400 +3FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5864 +ENCODING 22628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2FE0 +F820 +2FE0 +2820 +2FE0 +3820 +CFE0 +0480 +1860 +ENDCHAR +STARTCHAR U_5865 +ENCODING 22629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +27C0 +F440 +27C0 +2000 +2FE0 +3AA0 +CFE0 +0920 +0960 +ENDCHAR +STARTCHAR U_5866 +ENCODING 22630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7FE0 +5540 +67C0 +5540 +7FE0 +4100 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5867 +ENCODING 22631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4280 +4FE0 +F000 +4440 +4820 +47C0 +4540 +7540 +C540 +0FE0 +ENDCHAR +STARTCHAR U_5868 +ENCODING 22632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4FC0 +4480 +F480 +4FE0 +4A40 +5220 +6340 +CAA0 +12A0 +0600 +ENDCHAR +STARTCHAR U_5869 +ENCODING 22633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +4FC0 +5000 +EF80 +4880 +4F80 +4000 +5FC0 +7540 +D540 +3FE0 +ENDCHAR +STARTCHAR U_586A +ENCODING 22634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +4F00 +4920 +F540 +4000 +4EE0 +4820 +4EE0 +6820 +C820 +0FE0 +ENDCHAR +STARTCHAR U_586B +ENCODING 22635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +F7C0 +2440 +2740 +25C0 +3440 +EFE0 +0280 +0C60 +ENDCHAR +STARTCHAR U_586C +ENCODING 22636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4880 +4BE0 +FA20 +4BE0 +4A20 +4BE0 +7880 +CAC0 +14A0 +29A0 +ENDCHAR +STARTCHAR U_586D +ENCODING 22637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +F440 +27C0 +2000 +2FE0 +3AA0 +CAA0 +0AA0 +1FE0 +ENDCHAR +STARTCHAR U_586E +ENCODING 22638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4E40 +4A40 +EFE0 +4A40 +4F40 +4AC0 +5E40 +6640 +CA40 +16C0 +ENDCHAR +STARTCHAR U_586F +ENCODING 22639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4DE0 +48A0 +FAA0 +4F20 +4240 +4FE0 +7920 +CFE0 +0920 +0FE0 +ENDCHAR +STARTCHAR U_5870 +ENCODING 22640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2FE0 +9540 +2FC0 +4A80 +CFC0 +4080 +0580 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5871 +ENCODING 22641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA20 +8BE0 +FA20 +8BE0 +FA20 +94E0 +E400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5872 +ENCODING 22642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +47E0 +4C40 +F7C0 +4440 +4FE0 +4400 +6FE0 +D2A0 +0D20 +06C0 +ENDCHAR +STARTCHAR U_5873 +ENCODING 22643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +57C0 +4A40 +E180 +5F60 +4900 +4BC0 +6900 +CFE0 +0900 +17E0 +ENDCHAR +STARTCHAR U_5874 +ENCODING 22644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +4FE0 +4000 +FEE0 +4AA0 +4EE0 +4AA0 +7EE0 +CAA0 +12A0 +2760 +ENDCHAR +STARTCHAR U_5875 +ENCODING 22645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4940 +4940 +7FC0 +5240 +5FA0 +5220 +5FE0 +4200 +BFE0 +ENDCHAR +STARTCHAR U_5876 +ENCODING 22646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +5280 +FFE0 +52A0 +5FE0 +54A0 +77C0 +D480 +15A0 +2660 +ENDCHAR +STARTCHAR U_5877 +ENCODING 22647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +41E0 +4100 +EFE0 +4920 +4AA0 +4D60 +6AA0 +CD60 +0920 +0FE0 +ENDCHAR +STARTCHAR U_5878 +ENCODING 22648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5000 +5380 +F280 +5380 +5000 +57C0 +7540 +D7C0 +1000 +1FE0 +ENDCHAR +STARTCHAR U_5879 +ENCODING 22649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF00 +55E0 +7D40 +5540 +5540 +FE40 +1200 +3FC0 +0200 +FFE0 +ENDCHAR +STARTCHAR U_587A +ENCODING 22650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +4880 +5DC0 +6AA0 +4200 +5FC0 +4200 +BFE0 +ENDCHAR +STARTCHAR U_587B +ENCODING 22651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2280 +FFC0 +2440 +27C0 +2440 +3FE0 +C100 +0280 +1C60 +ENDCHAR +STARTCHAR U_587C +ENCODING 22652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2540 +F7C0 +2D40 +27C0 +20A0 +3FE0 +C480 +0280 +0100 +ENDCHAR +STARTCHAR U_587D +ENCODING 22653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +FBA0 +2540 +2BA0 +2540 +3BA0 +C280 +0440 +0820 +ENDCHAR +STARTCHAR U_587E +ENCODING 22654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +4BC0 +7940 +0740 +F940 +26C0 +FC20 +2420 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_587F +ENCODING 22655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FC0 +4940 +FFE0 +4940 +4FC0 +4940 +7FE0 +C480 +0300 +1CE0 +ENDCHAR +STARTCHAR U_5880 +ENCODING 22656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +4FE0 +ED20 +5B40 +4D20 +4A80 +6BE0 +CC80 +17E0 +2080 +ENDCHAR +STARTCHAR U_5881 +ENCODING 22657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +F440 +2FE0 +2AA0 +2AA0 +3FE0 +C480 +0300 +1CE0 +ENDCHAR +STARTCHAR U_5882 +ENCODING 22658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4280 +4FE0 +FAA0 +4FE0 +4000 +47C0 +7000 +CFE0 +0540 +1B20 +ENDCHAR +STARTCHAR U_5883 +ENCODING 22659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +FFE0 +2440 +27C0 +2440 +37C0 +C280 +04A0 +1860 +ENDCHAR +STARTCHAR U_5884 +ENCODING 22660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40A0 +4080 +5FE0 +F480 +57A0 +54A0 +5FA0 +7440 +DF40 +14A0 +2D20 +ENDCHAR +STARTCHAR U_5885 +ENCODING 22661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A940 +F880 +ABE0 +FCA0 +2080 +F980 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5886 +ENCODING 22662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +5FE0 +4A80 +FBE0 +4000 +5FE0 +5120 +7FC0 +8940 +09C0 +0100 +ENDCHAR +STARTCHAR U_5887 +ENCODING 22663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +FFE0 +2440 +27C0 +2440 +37C0 +C100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_5888 +ENCODING 22664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +5F80 +4A80 +EFE0 +4AA0 +4EA0 +4AA0 +7FA0 +D4A0 +1B20 +1E60 +ENDCHAR +STARTCHAR U_5889 +ENCODING 22665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4940 +EFE0 +4940 +4FE0 +7920 +CFE0 +1920 +2FE0 +4920 +ENDCHAR +STARTCHAR U_588A +ENCODING 22666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +23C0 +F940 +5140 +FB40 +22C0 +FC20 +2420 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_588B +ENCODING 22667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +27E0 +FAA0 +27E0 +2280 +2540 +3AA0 +C540 +0280 +0100 +ENDCHAR +STARTCHAR U_588C +ENCODING 22668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4800 +EA80 +4FE0 +4A80 +4A80 +6B80 +D000 +1AA0 +2AA0 +ENDCHAR +STARTCHAR U_588D +ENCODING 22669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7BC0 +4A80 +7BE0 +4880 +7980 +52A0 +7460 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_588E +ENCODING 22670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +5FA0 +4AA0 +EEC0 +40A0 +4EA0 +42A0 +64A0 +DEE0 +0480 +0C80 +ENDCHAR +STARTCHAR U_588F +ENCODING 22671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53C0 +5240 +7580 +1D40 +F7E0 +5240 +94C0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5890 +ENCODING 22672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4FE0 +4440 +FFE0 +4920 +4920 +4FE0 +7100 +C7C0 +0100 +1FE0 +ENDCHAR +STARTCHAR U_5891 +ENCODING 22673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +FFE0 +2920 +2FE0 +2920 +3BA0 +CAA0 +0BA0 +0860 +ENDCHAR +STARTCHAR U_5892 +ENCODING 22674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +FFE0 +2AA0 +2C60 +2BA0 +3AA0 +CBA0 +0820 +0860 +ENDCHAR +STARTCHAR U_5893 +ENCODING 22675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0900 +3F80 +2080 +3F80 +2080 +FFE0 +2480 +DF60 +0400 +7FC0 +ENDCHAR +STARTCHAR U_5894 +ENCODING 22676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +4FE0 +4500 +F900 +4FE0 +5900 +4FC0 +7900 +CFC0 +0900 +0FE0 +ENDCHAR +STARTCHAR U_5895 +ENCODING 22677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +4200 +EBC0 +4A00 +5FE0 +4800 +4FC0 +4800 +6FE0 +C020 +1560 +ENDCHAR +STARTCHAR U_5896 +ENCODING 22678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4D80 +5740 +F040 +4FA0 +4880 +5FC0 +5240 +7FC0 +D240 +1FC0 +ENDCHAR +STARTCHAR U_5897 +ENCODING 22679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4FE0 +4920 +EFE0 +4920 +4FE0 +47C0 +4440 +67C0 +C440 +07C0 +ENDCHAR +STARTCHAR U_5898 +ENCODING 22680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5E80 +44E0 +FF00 +53E0 +5E40 +5280 +7E80 +C520 +1F20 +04E0 +ENDCHAR +STARTCHAR U_5899 +ENCODING 22681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4920 +F540 +4FE0 +4000 +4FE0 +7820 +CBA0 +0AA0 +0FE0 +ENDCHAR +STARTCHAR U_589A +ENCODING 22682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BC0 +5540 +4B60 +E540 +5940 +4AC0 +4900 +7FE0 +C580 +0940 +1120 +ENDCHAR +STARTCHAR U_589B +ENCODING 22683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E40 +5240 +5240 +FEE0 +5040 +56C0 +50C0 +7F40 +D540 +1540 +2CC0 +ENDCHAR +STARTCHAR U_589C +ENCODING 22684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +BFE0 +C220 +AD40 +A380 +ED40 +8320 +8400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_589D +ENCODING 22685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +FFE0 +2440 +2EE0 +2440 +3FE0 +C280 +04A0 +1860 +ENDCHAR +STARTCHAR U_589E +ENCODING 22686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +2FE0 +F920 +2BA0 +2920 +2FE0 +2440 +37C0 +C440 +07C0 +ENDCHAR +STARTCHAR U_589F +ENCODING 22687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2200 +2FE0 +FAA0 +2F00 +2BE0 +2A80 +3AA0 +CEC0 +1280 +2FE0 +ENDCHAR +STARTCHAR U_58A0 +ENCODING 22688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2FE0 +F540 +27C0 +2540 +2FC0 +3100 +CFE0 +0100 +0100 +ENDCHAR +STARTCHAR U_58A1 +ENCODING 22689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2100 +F7C0 +2100 +2FE0 +2280 +3FE0 +E440 +07C0 +0440 +ENDCHAR +STARTCHAR U_58A2 +ENCODING 22690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EC0 +4AA0 +4440 +F860 +45C0 +5D40 +5220 +7DC0 +C540 +0480 +1B60 +ENDCHAR +STARTCHAR U_58A3 +ENCODING 22691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +26C0 +2FE0 +F280 +2FE0 +2100 +27C0 +3100 +CFE0 +0280 +1C60 +ENDCHAR +STARTCHAR U_58A4 +ENCODING 22692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +4540 +EFE0 +4000 +47C0 +4440 +77C0 +C440 +07C0 +0C60 +ENDCHAR +STARTCHAR U_58A5 +ENCODING 22693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +F100 +2FE0 +2540 +27C0 +3540 +CFE0 +0100 +1FE0 +ENDCHAR +STARTCHAR U_58A6 +ENCODING 22694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F20 +2540 +FFE0 +2540 +2920 +27C0 +3540 +C7C0 +0540 +07C0 +ENDCHAR +STARTCHAR U_58A7 +ENCODING 22695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4200 +5FE0 +E480 +5FE0 +4480 +4FE0 +6BA0 +CAA0 +0BA0 +0860 +ENDCHAR +STARTCHAR U_58A8 +ENCODING 22696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5540 +7FC0 +0400 +3F80 +0400 +FFE0 +5540 +BFA0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58A9 +ENCODING 22697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5F80 +4AE0 +EFA0 +40A0 +5FA0 +42A0 +64A0 +DE40 +04A0 +0D20 +ENDCHAR +STARTCHAR U_58AA +ENCODING 22698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +49E0 +7A40 +0940 +7D80 +1260 +3400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58AB +ENCODING 22699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +3FE0 +2B40 +FDC0 +2A40 +2FC0 +2840 +3FE0 +C880 +0480 +0180 +ENDCHAR +STARTCHAR U_58AC +ENCODING 22700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E780 +A480 +BFE0 +C220 +AD40 +A380 +ED40 +8520 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58AD +ENCODING 22701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +4FE0 +4900 +EF40 +4AA0 +4F60 +5220 +6FC0 +CB40 +0B40 +1FE0 +ENDCHAR +STARTCHAR U_58AE +ENCODING 22702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A500 +A7E0 +CC40 +B7C0 +A440 +E7C0 +8440 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58AF +ENCODING 22703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2500 +77E0 +AC40 +B7C0 +2440 +27C0 +2440 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58B0 +ENCODING 22704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4280 +4FE0 +EAA0 +4FE0 +4640 +4540 +67C0 +C100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_58B1 +ENCODING 22705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EA0 +2B40 +2480 +F440 +2BA0 +2000 +27C0 +3C40 +C7C0 +0280 +1FE0 +ENDCHAR +STARTCHAR U_58B2 +ENCODING 22706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +4FE0 +5B40 +EB40 +5FE0 +4B40 +4B40 +7FE0 +C000 +12A0 +12A0 +ENDCHAR +STARTCHAR U_58B3 +ENCODING 22707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2540 +FFE0 +2440 +27C0 +2440 +3FC0 +E440 +07C0 +0C60 +ENDCHAR +STARTCHAR U_58B4 +ENCODING 22708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4FC0 +4480 +FFE0 +4100 +4FC0 +4940 +6FC0 +C940 +0FC0 +1860 +ENDCHAR +STARTCHAR U_58B5 +ENCODING 22709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4100 +4FE0 +4920 +F540 +4000 +47C0 +6000 +CFE0 +0440 +0FE0 +ENDCHAR +STARTCHAR U_58B6 +ENCODING 22710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +53C0 +4900 +E7E0 +4280 +5FE0 +4900 +6BC0 +C900 +1900 +27E0 +ENDCHAR +STARTCHAR U_58B7 +ENCODING 22711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5FE0 +4480 +FFE0 +4940 +5FE0 +4940 +5FE0 +6100 +CFC0 +0100 +ENDCHAR +STARTCHAR U_58B8 +ENCODING 22712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5FE0 +4480 +E240 +4FC0 +4280 +5FE0 +6440 +DFC0 +0440 +07C0 +ENDCHAR +STARTCHAR U_58B9 +ENCODING 22713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +4EE0 +EAA0 +4EE0 +4BA0 +4AA0 +6BA0 +CAA0 +0BA0 +0860 +ENDCHAR +STARTCHAR U_58BA +ENCODING 22714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +2D60 +FBA0 +2FE0 +2BA0 +2D60 +3920 +CFE0 +0280 +1C60 +ENDCHAR +STARTCHAR U_58BB +ENCODING 22715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4540 +FBA0 +4FE0 +4000 +4FE0 +7820 +CBA0 +0AA0 +0FE0 +ENDCHAR +STARTCHAR U_58BC +ENCODING 22716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +A940 +F960 +AA00 +FFE0 +A940 +F8C0 +0520 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58BD +ENCODING 22717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5E80 +52E0 +FFA0 +52A0 +5EA0 +48A0 +7EA0 +CA40 +12A0 +2720 +ENDCHAR +STARTCHAR U_58BE +ENCODING 22718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +33C0 +DA40 +53C0 +E240 +5BC0 +AAA0 +5340 +2420 +3FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58BF +ENCODING 22719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +2FE0 +F100 +2FE0 +2280 +27C0 +3100 +CFE0 +0100 +0100 +ENDCHAR +STARTCHAR U_58C0 +ENCODING 22720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E80 +4A40 +4BE0 +EE00 +48A0 +49E0 +4E40 +6AE0 +DA40 +2E40 +0840 +ENDCHAR +STARTCHAR U_58C1 +ENCODING 22721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +47E0 +7D40 +43E0 +7C80 +67E0 +BC80 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58C2 +ENCODING 22722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +8540 +FD60 +AA00 +FFE0 +A940 +FCC0 +AB20 +7FC0 +0200 +FFE0 +ENDCHAR +STARTCHAR U_58C3 +ENCODING 22723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +4000 +4FC0 +E940 +5FE0 +4000 +4FE0 +6940 +CFC0 +0940 +1FE0 +ENDCHAR +STARTCHAR U_58C4 +ENCODING 22724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2A80 +F5E0 +2E80 +75C0 +A4A0 +2C80 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58C5 +ENCODING 22725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2500 +5480 +E7E0 +2C80 +F7E0 +2480 +7FE0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58C6 +ENCODING 22726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4440 +7BC0 +4A40 +75C0 +4A40 +FFE0 +8420 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58C7 +ENCODING 22727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4AA0 +FBA0 +4820 +4FE0 +4440 +7740 +C5C0 +0440 +1FE0 +ENDCHAR +STARTCHAR U_58C8 +ENCODING 22728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +4AA0 +FBA0 +4820 +4FE0 +4180 +7100 +CFE0 +0540 +1920 +ENDCHAR +STARTCHAR U_58C9 +ENCODING 22729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +2FE0 +F920 +2FC0 +2A80 +2D20 +3AC0 +CD80 +12C0 +25A0 +ENDCHAR +STARTCHAR U_58CA +ENCODING 22730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +4100 +4FE0 +EAA0 +4FE0 +4100 +5FE0 +6540 +9C80 +0660 +ENDCHAR +STARTCHAR U_58CB +ENCODING 22731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +4540 +4FE0 +E820 +47C0 +4440 +4FE0 +6920 +CFE0 +0920 +0FE0 +ENDCHAR +STARTCHAR U_58CC +ENCODING 22732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4440 +EAA0 +4FC0 +4280 +4FE0 +6300 +C4A0 +1C40 +0720 +ENDCHAR +STARTCHAR U_58CD +ENCODING 22733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BFE0 +4900 +9DE0 +5D40 +C940 +7F40 +4940 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58CE +ENCODING 22734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4100 +4FE0 +FAA0 +4920 +4FE0 +4100 +7FE0 +C100 +0FE0 +12A0 +ENDCHAR +STARTCHAR U_58CF +ENCODING 22735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F80 +5480 +5EE0 +F280 +5F40 +5420 +5F20 +6000 +DFC0 +1540 +3FE0 +ENDCHAR +STARTCHAR U_58D0 +ENCODING 22736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +2480 +7FC0 +EEE0 +5540 +6EC0 +5140 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58D1 +ENCODING 22737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1DE0 +10A0 +FEA0 +AAA0 +5440 +28A0 +7F20 +2400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58D2 +ENCODING 22738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +2480 +F7C0 +2100 +2FE0 +2280 +3440 +EFE0 +0AA0 +1FE0 +ENDCHAR +STARTCHAR U_58D3 +ENCODING 22739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +54C0 +5CA0 +55E0 +7E80 +6280 +7F40 +6220 +5FC0 +8200 +BFE0 +ENDCHAR +STARTCHAR U_58D4 +ENCODING 22740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +FFE0 +2120 +2FC0 +2040 +3FE0 +CA40 +0F40 +00C0 +ENDCHAR +STARTCHAR U_58D5 +ENCODING 22741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4440 +FFE0 +5020 +4FC0 +4440 +6B80 +D540 +0AA0 +1520 +ENDCHAR +STARTCHAR U_58D6 +ENCODING 22742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4100 +4FE0 +F920 +4540 +4920 +4FE0 +7100 +CFE0 +0AA0 +0AA0 +ENDCHAR +STARTCHAR U_58D7 +ENCODING 22743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +4140 +4FE0 +F140 +4FE0 +4540 +7AA0 +CFE0 +0AA0 +1FE0 +ENDCHAR +STARTCHAR U_58D8 +ENCODING 22744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +2480 +FFE0 +AAA0 +FBE0 +AAA0 +FFE0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58D9 +ENCODING 22745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2A80 +FFE0 +2A80 +2FE0 +2D40 +3FC0 +ED40 +17C0 +2C60 +ENDCHAR +STARTCHAR U_58DA +ENCODING 22746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4200 +5FE0 +F220 +5FE0 +5540 +57C0 +7540 +DFE0 +2AA0 +5FE0 +ENDCHAR +STARTCHAR U_58DB +ENCODING 22747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +5520 +5DE0 +F520 +5FE0 +52A0 +54A0 +77A0 +D4A0 +17A0 +1060 +ENDCHAR +STARTCHAR U_58DC +ENCODING 22748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4840 +4FC0 +F100 +4FE0 +4920 +4540 +7000 +CFE0 +0480 +0FE0 +ENDCHAR +STARTCHAR U_58DD +ENCODING 22749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +53E0 +4AA0 +E7E0 +7A20 +4BE0 +4A20 +6BE0 +C940 +1A20 +27E0 +ENDCHAR +STARTCHAR U_58DE +ENCODING 22750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +4AA0 +EFE0 +4940 +4580 +4940 +7720 +CCC0 +1540 +0620 +ENDCHAR +STARTCHAR U_58DF +ENCODING 22751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA00 +53E0 +FC20 +8BE0 +EA00 +BBE0 +8A20 +7FE0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58E0 +ENCODING 22752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5EE0 +4A80 +FFE0 +4020 +4EE0 +4A80 +4EE0 +6A80 +CEA0 +0AE0 +ENDCHAR +STARTCHAR U_58E1 +ENCODING 22753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BC0 +2140 +FD40 +8480 +6940 +B2A0 +4C80 +FBC0 +4880 +7880 +4FE0 +ENDCHAR +STARTCHAR U_58E2 +ENCODING 22754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5360 +5240 +FFE0 +5240 +57E0 +5A40 +7100 +D5E0 +1500 +2FE0 +ENDCHAR +STARTCHAR U_58E3 +ENCODING 22755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5D40 +56A0 +5540 +FEA0 +57E0 +5C00 +5540 +7560 +DF60 +3540 +0640 +ENDCHAR +STARTCHAR U_58E4 +ENCODING 22756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +5540 +5DC0 +E500 +5FC0 +4500 +5FE0 +6D40 +9480 +0660 +ENDCHAR +STARTCHAR U_58E5 +ENCODING 22757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4800 +4FC0 +ED40 +4FC0 +4900 +4FE0 +6AA0 +D7C0 +1100 +2FE0 +ENDCHAR +STARTCHAR U_58E6 +ENCODING 22758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4FE0 +4440 +4AA0 +FEE0 +4480 +4FE0 +7480 +C7E0 +0480 +07E0 +ENDCHAR +STARTCHAR U_58E7 +ENCODING 22759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +5FE0 +F000 +5E80 +54E0 +5FA0 +7AA0 +D640 +1EC0 +2320 +ENDCHAR +STARTCHAR U_58E8 +ENCODING 22760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +AAA0 +FFE0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_58E9 +ENCODING 22761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4100 +4FE0 +EBA0 +4540 +5FE0 +6AA0 +DFE0 +14A0 +3FE0 +0520 +ENDCHAR +STARTCHAR U_58EA +ENCODING 22762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +6FA0 +5540 +EDA0 +5FC0 +4040 +5FC0 +7000 +5FC0 +8040 +00C0 +ENDCHAR +STARTCHAR U_58EB +ENCODING 22763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +0400 +FFE0 +0400 +0400 +0400 +0400 +0400 +7FC0 +ENDCHAR +STARTCHAR U_58EC +ENCODING 22764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0380 +7C00 +0400 +0440 +FFE0 +0400 +0400 +0400 +0480 +7FC0 +ENDCHAR +STARTCHAR U_58ED +ENCODING 22765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +0000 +7FC0 +0440 +0440 +0540 +0480 +0400 +ENDCHAR +STARTCHAR U_58EE +ENCODING 22766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +9100 +5100 +5100 +1FE0 +1100 +3100 +5100 +9100 +1100 +17C0 +ENDCHAR +STARTCHAR U_58EF +ENCODING 22767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5100 +5100 +5100 +7FE0 +1100 +F100 +5100 +5100 +5100 +97C0 +ENDCHAR +STARTCHAR U_58F0 +ENCODING 22768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3FC0 +0000 +3FC0 +2440 +3FC0 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_58F1 +ENCODING 22769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +3F80 +0000 +FFE0 +8020 +1100 +1E00 +1080 +0F80 +ENDCHAR +STARTCHAR U_58F2 +ENCODING 22770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +3F80 +0000 +FFE0 +8020 +1200 +1200 +2240 +41C0 +ENDCHAR +STARTCHAR U_58F3 +ENCODING 22771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3FC0 +0000 +FFE0 +8020 +1F00 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_58F4 +ENCODING 22772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +0000 +3F80 +2080 +3F80 +1100 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_58F5 +ENCODING 22773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +0400 +7FC0 +0000 +2080 +FBE0 +2080 +2080 +FBE0 +ENDCHAR +STARTCHAR U_58F6 +ENCODING 22774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +0000 +FFE0 +8920 +2940 +1980 +0900 +FFE0 +ENDCHAR +STARTCHAR U_58F7 +ENCODING 22775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +7FC0 +8A20 +BFA0 +2A80 +2A80 +3F80 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_58F8 +ENCODING 22776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +0400 +3FC0 +0000 +7FE0 +8020 +BF80 +4A40 +2A80 +7FE0 +ENDCHAR +STARTCHAR U_58F9 +ENCODING 22777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +0000 +FFE0 +A0A0 +3F80 +1100 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_58FA +ENCODING 22778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +FFE0 +8A20 +0A00 +3B80 +2080 +3B80 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_58FB +ENCODING 22779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2200 +2BC0 +2E00 +F3E0 +2000 +27C0 +2440 +37C0 +C440 +04C0 +ENDCHAR +STARTCHAR U_58FC +ENCODING 22780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +FFE0 +8020 +7FC0 +0A00 +3B80 +2080 +1B00 +FFE0 +ENDCHAR +STARTCHAR U_58FD +ENCODING 22781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +0440 +7FC0 +0040 +FFE0 +4A40 +4940 +78C0 +ENDCHAR +STARTCHAR U_58FE +ENCODING 22782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA00 +2200 +FBC0 +0240 +FA40 +8BC0 +FA40 +5200 +2200 +FBE0 +ENDCHAR +STARTCHAR U_58FF +ENCODING 22783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4FE0 +4280 +FFE0 +4AA0 +4C60 +4FE0 +7040 +CFE0 +0440 +02C0 +ENDCHAR +STARTCHAR U_5900 +ENCODING 22784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +FFE0 +24A0 +3F80 +0400 +FFE0 +5440 +7240 +00C0 +ENDCHAR +STARTCHAR U_5901 +ENCODING 22785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +5140 +7FC0 +2480 +2E80 +2A80 +2A80 +3F80 +ENDCHAR +STARTCHAR U_5902 +ENCODING 22786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 2 +BITMAP +1000 +1F00 +3100 +4A00 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_5903 +ENCODING 22787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +1080 +1100 +13E0 +1020 +1F20 +1120 +2A20 +2620 +4920 +B0C0 +ENDCHAR +STARTCHAR U_5904 +ENCODING 22788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +3D00 +2580 +4540 +A920 +2900 +1100 +2900 +4600 +81E0 +ENDCHAR +STARTCHAR U_5905 +ENCODING 22789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FC0 +3080 +C900 +0E00 +3580 +C460 +3F80 +2400 +7FC0 +0400 +ENDCHAR +STARTCHAR U_5906 +ENCODING 22790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +3100 +4E00 +FBE0 +0400 +7FC0 +0400 +3FC0 +0400 +7FE0 +0400 +ENDCHAR +STARTCHAR U_5907 +ENCODING 22791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F80 +3100 +4E00 +0B00 +30E0 +FF80 +2480 +3F80 +2480 +3F80 +ENDCHAR +STARTCHAR U_5908 +ENCODING 22792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FC0 +2080 +5900 +8600 +1980 +6460 +1500 +7FC0 +1500 +64C0 +ENDCHAR +STARTCHAR U_5909 +ENCODING 22793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0900 +2940 +D320 +2800 +1F80 +2900 +4600 +0900 +F0E0 +ENDCHAR +STARTCHAR U_590A +ENCODING 22794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +1F80 +5080 +2080 +5100 +8A00 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_590B +ENCODING 22795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +1100 +7F80 +2100 +4880 +9F40 +1100 +2A00 +4400 +1B00 +E0C0 +ENDCHAR +STARTCHAR U_590C +ENCODING 22796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0400 +FFE0 +1100 +2480 +4F40 +1900 +2600 +1900 +E0E0 +ENDCHAR +STARTCHAR U_590D +ENCODING 22797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +6080 +BF80 +2080 +3F80 +1000 +3F80 +C900 +0600 +F9E0 +ENDCHAR +STARTCHAR U_590E +ENCODING 22798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +5540 +7FC0 +0400 +FFE0 +1000 +3F80 +4900 +0600 +79E0 +ENDCHAR +STARTCHAR U_590F +ENCODING 22799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +1F80 +1080 +1C80 +1780 +1080 +3F80 +4900 +8600 +39E0 +ENDCHAR +STARTCHAR U_5910 +ENCODING 22800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +2100 +FFC0 +2A40 +1F80 +1480 +1280 +1F80 +6900 +0600 +F9E0 +ENDCHAR +STARTCHAR U_5911 +ENCODING 22801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5F60 +E0C0 +4F40 +6AA0 +9F20 +1000 +3F80 +5100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_5912 +ENCODING 22802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +2FE0 +B920 +AFE0 +A900 +FFE0 +5240 +8C20 +1300 +E0E0 +ENDCHAR +STARTCHAR U_5913 +ENCODING 22803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EC0 +4440 +6EC0 +4A40 +6A40 +4EC0 +6860 +8FA0 +7100 +0E00 +F1C0 +ENDCHAR +STARTCHAR U_5914 +ENCODING 22804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2A00 +BAE0 +AEA0 +AA80 +FFE0 +4940 +8920 +0600 +79E0 +ENDCHAR +STARTCHAR U_5915 +ENCODING 22805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0840 +0FE0 +1040 +2880 +4480 +0500 +0100 +0200 +0C00 +F000 +ENDCHAR +STARTCHAR U_5916 +ENCODING 22806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +3D00 +2500 +4580 +A540 +1920 +0900 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_5917 +ENCODING 22807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +3E40 +4A40 +4A40 +AA40 +12C0 +1200 +2220 +4220 +81E0 +ENDCHAR +STARTCHAR U_5918 +ENCODING 22808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3DE0 +2520 +4520 +A520 +1520 +09A0 +1140 +2100 +C100 +0100 +ENDCHAR +STARTCHAR U_5919 +ENCODING 22809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +4080 +7F80 +4880 +4F80 +5280 +6A80 +4AA0 +44A0 +8860 +B020 +ENDCHAR +STARTCHAR U_591A +ENCODING 22810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +1F00 +2100 +5200 +0C00 +3400 +CF80 +1080 +6900 +0600 +F800 +ENDCHAR +STARTCHAR U_591B +ENCODING 22811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +1F80 +0080 +FFE0 +1000 +1F80 +6080 +1900 +0600 +7800 +ENDCHAR +STARTCHAR U_591C +ENCODING 22812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1200 +13C0 +2640 +6940 +B480 +2280 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_591D +ENCODING 22813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4500 +7500 +57E0 +9900 +5100 +57E0 +2100 +2100 +4100 +8FE0 +ENDCHAR +STARTCHAR U_591E +ENCODING 22814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +7D80 +A540 +1920 +3100 +C100 +7A60 +4B80 +4A20 +79E0 +ENDCHAR +STARTCHAR U_591F +ENCODING 22815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +4620 +8540 +7480 +57E0 +5520 +76A0 +0440 +0480 +1B00 +ENDCHAR +STARTCHAR U_5920 +ENCODING 22816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +79E0 +8A20 +5020 +23A0 +FAA0 +2AA0 +CBA0 +2820 +1120 +E0C0 +ENDCHAR +STARTCHAR U_5921 +ENCODING 22817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3900 +4FE0 +B100 +23C0 +4000 +BBC0 +4A40 +B240 +2240 +C3C0 +ENDCHAR +STARTCHAR U_5922 +ENCODING 22818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4A40 +FFE0 +8820 +1F80 +2900 +0600 +7800 +ENDCHAR +STARTCHAR U_5923 +ENCODING 22819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +3F80 +2A80 +FFE0 +8820 +1F80 +6900 +0600 +7800 +ENDCHAR +STARTCHAR U_5924 +ENCODING 22820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +7100 +0A00 +FFE0 +8020 +7FC0 +2480 +3F80 +2480 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_5925 +ENCODING 22821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A9E0 +FA20 +A940 +F880 +23E0 +F920 +22A0 +7040 +A880 +2300 +ENDCHAR +STARTCHAR U_5926 +ENCODING 22822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FEE0 +2520 +3CA0 +2440 +3D80 +24E0 +FF20 +54A0 +6240 +7D80 +ENDCHAR +STARTCHAR U_5927 +ENCODING 22823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +FFE0 +0400 +0400 +0A00 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_5928 +ENCODING 22824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +3C00 +0400 +0400 +FFE0 +0400 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_5929 +ENCODING 22825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +0400 +FFE0 +0400 +0A00 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_592A +ENCODING 22826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +FFE0 +0400 +0A00 +0A00 +1100 +1900 +2480 +C460 +ENDCHAR +STARTCHAR U_592B +ENCODING 22827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +0400 +0400 +FFE0 +0400 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_592C +ENCODING 22828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +3F80 +0480 +0480 +FFE0 +0400 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_592D +ENCODING 22829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E00 +0400 +0400 +FFE0 +0400 +0400 +0A00 +1100 +20E0 +C040 +ENDCHAR +STARTCHAR U_592E +ENCODING 22830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +3F80 +2480 +2480 +2480 +FFE0 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_592F +ENCODING 22831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +1200 +2100 +4880 +8860 +7F80 +0880 +1080 +2080 +C300 +ENDCHAR +STARTCHAR U_5930 +ENCODING 22832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A00 +1100 +2080 +D160 +1100 +1100 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_5931 +ENCODING 22833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +3FC0 +4400 +0400 +FFE0 +0400 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_5932 +ENCODING 22834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A00 +1100 +2480 +C460 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_5933 +ENCODING 22835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +0A00 +1100 +E0E0 +1F40 +0000 +0000 +0000 +7FC0 +ENDCHAR +STARTCHAR U_5934 +ENCODING 22836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +0A00 +2200 +1200 +0200 +FFE0 +0200 +0500 +0880 +1040 +6020 +ENDCHAR +STARTCHAR U_5935 +ENCODING 22837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +1100 +2480 +C460 +1500 +2480 +C440 +0440 +1C00 +ENDCHAR +STARTCHAR U_5936 +ENCODING 22838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +1100 +FFE0 +1100 +1100 +2A80 +2A80 +4440 +4440 +8820 +ENDCHAR +STARTCHAR U_5937 +ENCODING 22839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +0440 +7FC0 +4400 +7FE0 +0A20 +3180 +C060 +ENDCHAR +STARTCHAR U_5938 +ENCODING 22840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2E80 +4040 +BFA0 +0800 +1F80 +0080 +0900 +0600 +ENDCHAR +STARTCHAR U_5939 +ENCODING 22841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +2480 +1500 +FFE0 +0400 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_593A +ENCODING 22842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +0900 +1080 +2040 +C120 +3FC0 +1100 +0900 +0100 +0700 +ENDCHAR +STARTCHAR U_593B +ENCODING 22843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0A00 +1100 +2080 +C060 +3F80 +2080 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_593C +ENCODING 22844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A00 +3180 +C060 +2480 +2480 +2480 +2480 +4480 +8080 +ENDCHAR +STARTCHAR U_593D +ENCODING 22845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +0A00 +1100 +2080 +DF60 +0000 +7FC0 +0900 +1080 +3FC0 +ENDCHAR +STARTCHAR U_593E +ENCODING 22846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +2480 +2480 +5540 +8E20 +0A00 +1100 +20E0 +C040 +ENDCHAR +STARTCHAR U_593F +ENCODING 22847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +0900 +3080 +C060 +3F80 +2480 +3F80 +2020 +2020 +1FE0 +ENDCHAR +STARTCHAR U_5940 +ENCODING 22848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0D00 +34C0 +C440 +0400 +FFE0 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_5941 +ENCODING 22849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2080 +FFE0 +2880 +2500 +2200 +2500 +2880 +3FC0 +ENDCHAR +STARTCHAR U_5942 +ENCODING 22850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F80 +2100 +7FC0 +A440 +2440 +2440 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_5943 +ENCODING 22851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0900 +1080 +3F60 +D200 +1FC0 +1200 +1120 +14A0 +1A60 +ENDCHAR +STARTCHAR U_5944 +ENCODING 22852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2480 +7FC0 +A4A0 +3F80 +2480 +3FA0 +0420 +07E0 +ENDCHAR +STARTCHAR U_5945 +ENCODING 22853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2880 +F3E0 +4A40 +4A40 +5A40 +6AC0 +1200 +6200 +ENDCHAR +STARTCHAR U_5946 +ENCODING 22854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2080 +FF60 +2000 +3F80 +2080 +3F80 +2000 +3FC0 +ENDCHAR +STARTCHAR U_5947 +ENCODING 22855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0A00 +1100 +FFE0 +0080 +3E80 +2280 +3E80 +0080 +0180 +ENDCHAR +STARTCHAR U_5948 +ENCODING 22856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2080 +DF60 +0000 +7FC0 +0400 +2480 +4440 +8C20 +ENDCHAR +STARTCHAR U_5949 +ENCODING 22857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0800 +3F80 +1000 +FFE0 +2480 +5F40 +8420 +7FC0 +0400 +ENDCHAR +STARTCHAR U_594A +ENCODING 22858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F80 +2200 +3FC0 +2200 +2F80 +2200 +3FC0 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_594B +ENCODING 22859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A00 +1100 +2080 +FFE0 +2480 +3F80 +2480 +2480 +3F80 +ENDCHAR +STARTCHAR U_594C +ENCODING 22860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07C0 +0400 +3F80 +2080 +3F80 +0400 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_594D +ENCODING 22861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +3FC0 +0400 +7FE0 +1080 +2940 +C920 +1100 +1100 +2100 +ENDCHAR +STARTCHAR U_594E +ENCODING 22862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FC0 +1100 +2480 +DF60 +0400 +7FC0 +0400 +3F80 +0400 +7FC0 +ENDCHAR +STARTCHAR U_594F +ENCODING 22863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0800 +FFE0 +1100 +3F80 +C460 +3F80 +0A00 +1100 +60C0 +ENDCHAR +STARTCHAR U_5950 +ENCODING 22864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F00 +2200 +7FC0 +AA40 +3140 +2440 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5951 +ENCODING 22865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7FE0 +1120 +7D20 +1220 +7CC0 +1400 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5952 +ENCODING 22866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2480 +7FC0 +8920 +1A00 +0480 +3900 +0680 +7840 +ENDCHAR +STARTCHAR U_5953 +ENCODING 22867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2F80 +D960 +0600 +3BC0 +0480 +1D00 +0200 +7C00 +ENDCHAR +STARTCHAR U_5954 +ENCODING 22868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2480 +DF60 +0400 +1080 +FFE0 +1080 +2080 +4080 +ENDCHAR +STARTCHAR U_5955 +ENCODING 22869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A00 +2A80 +4A40 +1600 +0400 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_5956 +ENCODING 22870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +53E0 +1640 +3180 +D100 +1600 +0400 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_5957 +ENCODING 22871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +1080 +3F40 +D020 +1F00 +1000 +FFE0 +0800 +1080 +3FC0 +ENDCHAR +STARTCHAR U_5958 +ENCODING 22872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +7FE0 +0880 +F880 +2BE0 +4C00 +0400 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_5959 +ENCODING 22873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +3F80 +0400 +FFE0 +1100 +2480 +FFE0 +2480 +3FA0 +0420 +03E0 +ENDCHAR +STARTCHAR U_595A +ENCODING 22874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C80 +2480 +0900 +1E00 +0880 +3F40 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_595B +ENCODING 22875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2080 +FBE0 +4A40 +7BC0 +4A40 +7BC0 +0440 +08C0 +ENDCHAR +STARTCHAR U_595C +ENCODING 22876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FBE0 +0A00 +7BC0 +0A00 +FBE0 +0400 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_595D +ENCODING 22877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1080 +3FC0 +E460 +2F40 +2440 +3FC0 +2940 +2F40 +40C0 +ENDCHAR +STARTCHAR U_595E +ENCODING 22878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0900 +3480 +DF60 +2200 +7F80 +A200 +3F80 +2200 +3FC0 +ENDCHAR +STARTCHAR U_595F +ENCODING 22879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2080 +FBE0 +4A40 +7BC0 +4A40 +7BC0 +4A40 +94C0 +ENDCHAR +STARTCHAR U_5960 +ENCODING 22880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0A00 +3F80 +2A80 +3380 +2E80 +2080 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5961 +ENCODING 22881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +3F80 +2080 +3C80 +2780 +2080 +FFE0 +5140 +9120 +2100 +ENDCHAR +STARTCHAR U_5962 +ENCODING 22882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +2880 +5D40 +8A20 +7FE0 +1080 +3F80 +D080 +1F80 +1080 +ENDCHAR +STARTCHAR U_5963 +ENCODING 22883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +1100 +2080 +FBE0 +4A40 +7BC0 +4A40 +7BC0 +0440 +ENDCHAR +STARTCHAR U_5964 +ENCODING 22884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +3F80 +C460 +7FC0 +4A40 +4E40 +4A40 +4A40 +7FC0 +ENDCHAR +STARTCHAR U_5965 +ENCODING 22885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FC0 +5540 +4E40 +7FC0 +4E40 +5540 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5966 +ENCODING 22886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +5640 +2380 +F560 +6BC0 +A140 +66C0 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5967 +ENCODING 22887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FC0 +4340 +7D40 +5640 +7FC0 +5540 +64C0 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5968 +ENCODING 22888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +5620 +3540 +1FE0 +3240 +D140 +1480 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5969 +ENCODING 22889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +2100 +4080 +FFE0 +5200 +5E00 +4000 +7B80 +4A80 +7FC0 +ENDCHAR +STARTCHAR U_596A +ENCODING 22890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2880 +5240 +BFA0 +6200 +BFC0 +2200 +FFE0 +2100 +1700 +ENDCHAR +STARTCHAR U_596B +ENCODING 22891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +D560 +5DC0 +B040 +5FC0 +3040 +DDC0 +5540 +6540 +ENDCHAR +STARTCHAR U_596C +ENCODING 22892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +5640 +7980 +1640 +FFE0 +5240 +91C0 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_596D +ENCODING 22893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +75C0 +2480 +75C0 +5540 +75C0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_596E +ENCODING 22894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +3280 +5FE0 +A200 +7F80 +A200 +3FE0 +2440 +3FC0 +2440 +3FC0 +ENDCHAR +STARTCHAR U_596F +ENCODING 22895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +1480 +2740 +D420 +7FE0 +4A40 +5940 +6AA0 +4D60 +B220 +ENDCHAR +STARTCHAR U_5970 +ENCODING 22896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2A80 +3F80 +0000 +FBE0 +AAA0 +FBE0 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5971 +ENCODING 22897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E40 +E0E0 +4E40 +E0E0 +5F40 +ABA0 +AEA0 +0400 +FFE0 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_5972 +ENCODING 22898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FAA0 +4BE0 +F6A0 +2AA0 +FBE0 +4AA0 +FBE0 +4880 +7BE0 +4880 +ENDCHAR +STARTCHAR U_5973 +ENCODING 22899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +0800 +FFE0 +1100 +1100 +2100 +3A00 +0600 +0980 +7040 +ENDCHAR +STARTCHAR U_5974 +ENCODING 22900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +FA20 +2A20 +2A40 +4940 +5140 +3080 +2880 +4940 +8620 +ENDCHAR +STARTCHAR U_5975 +ENCODING 22901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2080 +F880 +2880 +2880 +4880 +3080 +2880 +4880 +8380 +ENDCHAR +STARTCHAR U_5976 +ENCODING 22902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +FA40 +2A80 +2AE0 +4A20 +5220 +3420 +2C20 +4520 +88C0 +ENDCHAR +STARTCHAR U_5977 +ENCODING 22903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +F880 +2880 +2FE0 +4880 +5080 +3080 +2880 +4880 +8080 +ENDCHAR +STARTCHAR U_5978 +ENCODING 22904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +F880 +2880 +2880 +4FE0 +4880 +3080 +3080 +4880 +8080 +ENDCHAR +STARTCHAR U_5979 +ENCODING 22905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +F5C0 +5740 +5D40 +5540 +55C0 +2500 +3420 +5420 +83E0 +ENDCHAR +STARTCHAR U_597A +ENCODING 22906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +23C0 +FA40 +2C80 +2880 +4900 +5100 +2280 +5240 +8C20 +ENDCHAR +STARTCHAR U_597B +ENCODING 22907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2940 +2940 +4A40 +5240 +3180 +2880 +4540 +8220 +ENDCHAR +STARTCHAR U_597C +ENCODING 22908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +2900 +29E0 +4F00 +5100 +3100 +2920 +4920 +84E0 +ENDCHAR +STARTCHAR U_597D +ENCODING 22909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +F840 +2880 +2880 +4FE0 +5080 +3080 +2880 +4880 +8380 +ENDCHAR +STARTCHAR U_597E +ENCODING 22910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +F880 +2AA0 +2AA0 +4AA0 +52A0 +32A0 +2AA0 +4BE0 +8220 +ENDCHAR +STARTCHAR U_597F +ENCODING 22911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FBE0 +2940 +2940 +2A40 +6940 +3880 +4940 +4A20 +87E0 +ENDCHAR +STARTCHAR U_5980 +ENCODING 22912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +1100 +1FE0 +F240 +8440 +8440 +9280 +A180 +C240 +9C20 +ENDCHAR +STARTCHAR U_5981 +ENCODING 22913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2C20 +2820 +4A20 +5120 +3120 +2820 +48A0 +8040 +ENDCHAR +STARTCHAR U_5982 +ENCODING 22914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2000 +FBE0 +2A20 +2A20 +4A20 +4A20 +3220 +33E0 +4A20 +8000 +ENDCHAR +STARTCHAR U_5983 +ENCODING 22915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2020 +F820 +2820 +2BE0 +4A00 +5200 +3200 +2A20 +4E20 +81E0 +ENDCHAR +STARTCHAR U_5984 +ENCODING 22916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +2000 +3FC0 +0800 +FFE0 +1100 +1A00 +0600 +F9E0 +ENDCHAR +STARTCHAR U_5985 +ENCODING 22917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F880 +2880 +2880 +4880 +5080 +3080 +2880 +4FE0 +8000 +ENDCHAR +STARTCHAR U_5986 +ENCODING 22918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +9100 +5FE0 +5240 +1440 +3480 +5280 +9100 +1280 +1C60 +ENDCHAR +STARTCHAR U_5987 +ENCODING 22919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +F820 +2820 +2820 +4BE0 +5020 +3020 +2820 +4BE0 +8020 +ENDCHAR +STARTCHAR U_5988 +ENCODING 22920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +FA40 +2A40 +2A40 +4BE0 +5020 +37A0 +2820 +4820 +81C0 +ENDCHAR +STARTCHAR U_5989 +ENCODING 22921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27E0 +FD20 +2900 +2900 +4980 +5280 +22A0 +54A0 +8860 +ENDCHAR +STARTCHAR U_598A +ENCODING 22922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +F880 +2880 +2880 +4FE0 +5080 +3080 +2880 +4880 +83E0 +ENDCHAR +STARTCHAR U_598B +ENCODING 22923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27E0 +F900 +2900 +4FE0 +4900 +5280 +2280 +5440 +8820 +ENDCHAR +STARTCHAR U_598C +ENCODING 22924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +4240 +FFE0 +5240 +5240 +97E0 +5240 +2240 +5440 +8440 +0840 +ENDCHAR +STARTCHAR U_598D +ENCODING 22925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2240 +FA40 +2A40 +4FE0 +5240 +3240 +2240 +5440 +8840 +ENDCHAR +STARTCHAR U_598E +ENCODING 22926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2180 +2240 +F420 +5A40 +5240 +9240 +5240 +2240 +5440 +8840 +ENDCHAR +STARTCHAR U_598F +ENCODING 22927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +F7E0 +5240 +5240 +5140 +9140 +6080 +2080 +5140 +9620 +ENDCHAR +STARTCHAR U_5990 +ENCODING 22928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FA40 +5440 +5520 +5920 +5200 +2200 +2440 +5FE0 +8420 +ENDCHAR +STARTCHAR U_5991 +ENCODING 22929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47C0 +F540 +5540 +5540 +97C0 +9400 +6400 +2420 +5420 +93E0 +ENDCHAR +STARTCHAR U_5992 +ENCODING 22930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FBE0 +2A20 +2A20 +4BE0 +5200 +3200 +2A00 +4A00 +8400 +ENDCHAR +STARTCHAR U_5993 +ENCODING 22931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +2900 +2FC0 +4C40 +5280 +3280 +2900 +4A80 +8460 +ENDCHAR +STARTCHAR U_5994 +ENCODING 22932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +F800 +2B80 +2A80 +4A80 +5280 +22A0 +52A0 +8C60 +ENDCHAR +STARTCHAR U_5995 +ENCODING 22933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FBE0 +2AA0 +2AA0 +4AA0 +2BE0 +1080 +2880 +4880 +8080 +ENDCHAR +STARTCHAR U_5996 +ENCODING 22934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +2900 +2FE0 +4900 +5100 +3100 +2A80 +4A40 +8420 +ENDCHAR +STARTCHAR U_5997 +ENCODING 22935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA80 +2C40 +2920 +4880 +57E0 +3040 +2840 +4880 +8080 +ENDCHAR +STARTCHAR U_5998 +ENCODING 22936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2000 +F800 +2800 +2FE0 +4900 +5100 +3240 +2A40 +4FA0 +8020 +ENDCHAR +STARTCHAR U_5999 +ENCODING 22937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FB40 +2D20 +2920 +4900 +3120 +1040 +2880 +4100 +8600 +ENDCHAR +STARTCHAR U_599A +ENCODING 22938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F880 +2880 +49C0 +49A0 +2AA0 +1480 +2880 +4880 +8080 +ENDCHAR +STARTCHAR U_599B +ENCODING 22939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0400 +FFE0 +0800 +FFE0 +0900 +1200 +0D00 +70C0 +ENDCHAR +STARTCHAR U_599C +ENCODING 22940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FBC0 +2940 +2940 +4FE0 +5100 +3100 +2A80 +4440 +8820 +ENDCHAR +STARTCHAR U_599D +ENCODING 22941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +4900 +4900 +7FE0 +4940 +0A40 +FA40 +4940 +4880 +4940 +8E20 +ENDCHAR +STARTCHAR U_599E +ENCODING 22942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2140 +F940 +2940 +2940 +4FC0 +5240 +3240 +2A40 +4A40 +87E0 +ENDCHAR +STARTCHAR U_599F +ENCODING 22943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0800 +FFE0 +0900 +1200 +0E00 +71C0 +ENDCHAR +STARTCHAR U_59A0 +ENCODING 22944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FBE0 +2AA0 +2AA0 +4AA0 +5360 +3220 +2A20 +4A20 +8260 +ENDCHAR +STARTCHAR U_59A1 +ENCODING 22945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +FA00 +2BE0 +2A40 +4A40 +5240 +3240 +2A40 +4440 +8840 +ENDCHAR +STARTCHAR U_59A2 +ENCODING 22946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FC40 +2820 +2FC0 +4A40 +5240 +3240 +2A40 +4440 +88C0 +ENDCHAR +STARTCHAR U_59A3 +ENCODING 22947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +FC80 +54A0 +57C0 +5480 +5480 +3480 +24A0 +55A0 +8E60 +ENDCHAR +STARTCHAR U_59A4 +ENCODING 22948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2020 +F940 +2880 +2FE0 +48A0 +5080 +3080 +2880 +4A80 +8100 +ENDCHAR +STARTCHAR U_59A5 +ENCODING 22949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +7C00 +0840 +4480 +2100 +0800 +FFE0 +1100 +3200 +0E00 +71C0 +ENDCHAR +STARTCHAR U_59A6 +ENCODING 22950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FFE0 +2880 +2880 +4BE0 +5080 +3080 +2FE0 +4880 +8080 +ENDCHAR +STARTCHAR U_59A7 +ENCODING 22951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2000 +F800 +2FE0 +2A80 +4A80 +5280 +3280 +2AA0 +44A0 +8860 +ENDCHAR +STARTCHAR U_59A8 +ENCODING 22952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2900 +29E0 +4920 +5120 +3120 +2920 +4AA0 +8440 +ENDCHAR +STARTCHAR U_59A9 +ENCODING 22953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +F900 +2900 +2FE0 +4900 +5180 +3280 +2AA0 +44A0 +88E0 +ENDCHAR +STARTCHAR U_59AA +ENCODING 22954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2200 +FB20 +2AA0 +2A40 +4A40 +52A0 +3320 +2A00 +4A00 +83E0 +ENDCHAR +STARTCHAR U_59AB +ENCODING 22955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2300 +F900 +2FE0 +2920 +4920 +51A0 +3260 +2A20 +44A0 +8840 +ENDCHAR +STARTCHAR U_59AC +ENCODING 22956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F900 +2900 +2A00 +4BC0 +5640 +3240 +2A40 +4A40 +83C0 +ENDCHAR +STARTCHAR U_59AD +ENCODING 22957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +FFE0 +2A00 +2BC0 +4A40 +4A40 +3340 +3480 +4940 +9220 +ENDCHAR +STARTCHAR U_59AE +ENCODING 22958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4420 +FC20 +57E0 +5400 +5520 +9540 +6580 +3520 +4920 +90E0 +ENDCHAR +STARTCHAR U_59AF +ENCODING 22959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FBE0 +2AA0 +2AA0 +4BE0 +52A0 +32A0 +2AA0 +4BE0 +8220 +ENDCHAR +STARTCHAR U_59B0 +ENCODING 22960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FBE0 +2D00 +2900 +49E0 +5100 +3100 +29E0 +4900 +8100 +ENDCHAR +STARTCHAR U_59B1 +ENCODING 22961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +F920 +2920 +2AA0 +4C40 +53E0 +3220 +2A20 +4BE0 +8220 +ENDCHAR +STARTCHAR U_59B2 +ENCODING 22962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +FA20 +2A20 +2BE0 +4A20 +5220 +33E0 +2800 +4800 +87E0 +ENDCHAR +STARTCHAR U_59B3 +ENCODING 22963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2CA0 +2880 +4AC0 +52A0 +34A0 +2880 +4880 +8180 +ENDCHAR +STARTCHAR U_59B4 +ENCODING 22964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3BC0 +4A40 +D2C0 +2220 +C9E0 +0800 +FFE0 +1100 +0E00 +71C0 +ENDCHAR +STARTCHAR U_59B5 +ENCODING 22965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2880 +2880 +4880 +53E0 +3080 +2880 +4880 +87E0 +ENDCHAR +STARTCHAR U_59B6 +ENCODING 22966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2900 +2940 +4A40 +5780 +3080 +2900 +4A40 +87A0 +ENDCHAR +STARTCHAR U_59B7 +ENCODING 22967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4500 +F7C0 +5900 +5100 +5FE0 +9100 +5100 +2280 +5440 +8820 +ENDCHAR +STARTCHAR U_59B8 +ENCODING 22968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +F040 +5740 +5540 +5540 +9740 +6040 +3040 +4840 +81C0 +ENDCHAR +STARTCHAR U_59B9 +ENCODING 22969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFC0 +2900 +2900 +4FE0 +5100 +2380 +3540 +4920 +8100 +ENDCHAR +STARTCHAR U_59BA +ENCODING 22970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2900 +2900 +4FC0 +5100 +3380 +2D40 +4920 +8100 +ENDCHAR +STARTCHAR U_59BB +ENCODING 22971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +0480 +7FE0 +0480 +FFE0 +0900 +0700 +78E0 +ENDCHAR +STARTCHAR U_59BC +ENCODING 22972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2140 +FA40 +2A40 +2A80 +4EC0 +52A0 +3300 +2240 +5240 +8DC0 +ENDCHAR +STARTCHAR U_59BD +ENCODING 22973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FBE0 +2AA0 +2BE0 +4AA0 +52A0 +33E0 +2880 +4880 +8080 +ENDCHAR +STARTCHAR U_59BE +ENCODING 22974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +0A00 +FFE0 +0800 +FFE0 +1100 +3200 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_59BF +ENCODING 22975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7BC0 +2A40 +2A40 +5BC0 +0400 +FFE0 +0900 +1200 +0E00 +71C0 +ENDCHAR +STARTCHAR U_59C0 +ENCODING 22976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +2900 +2FE0 +4900 +5380 +3540 +2920 +4900 +8100 +ENDCHAR +STARTCHAR U_59C1 +ENCODING 22977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2C20 +2BA0 +4AA0 +52A0 +33A0 +2820 +4820 +80C0 +ENDCHAR +STARTCHAR U_59C2 +ENCODING 22978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4F00 +4100 +F080 +57C0 +5040 +9080 +5100 +2200 +5700 +88E0 +ENDCHAR +STARTCHAR U_59C3 +ENCODING 22979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F880 +2880 +2880 +4AE0 +4A80 +3280 +3280 +4A80 +87E0 +ENDCHAR +STARTCHAR U_59C4 +ENCODING 22980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4420 +FC20 +57E0 +5480 +9480 +97E0 +6480 +34A0 +4D60 +8620 +ENDCHAR +STARTCHAR U_59C5 +ENCODING 22981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +24A0 +FAC0 +2880 +2FE0 +4880 +5080 +37E0 +2880 +4880 +8080 +ENDCHAR +STARTCHAR U_59C6 +ENCODING 22982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4640 +F540 +5440 +5FE0 +9640 +9540 +6440 +37C0 +4840 +80C0 +ENDCHAR +STARTCHAR U_59C7 +ENCODING 22983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +6FE0 +A480 +2280 +2180 +0800 +FFE0 +1100 +3200 +0E00 +71C0 +ENDCHAR +STARTCHAR U_59C8 +ENCODING 22984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA80 +2C40 +2920 +4880 +57E0 +3040 +2A80 +4900 +8080 +ENDCHAR +STARTCHAR U_59C9 +ENCODING 22985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F100 +57C0 +5540 +5540 +5540 +2540 +25C0 +5100 +8100 +ENDCHAR +STARTCHAR U_59CA +ENCODING 22986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4160 +F780 +5500 +5500 +57E0 +5120 +2320 +35C0 +4900 +8100 +ENDCHAR +STARTCHAR U_59CB +ENCODING 22987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA40 +2A20 +2FE0 +4800 +53E0 +3220 +2A20 +4BE0 +8220 +ENDCHAR +STARTCHAR U_59CC +ENCODING 22988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F7C0 +5540 +57C0 +5540 +5540 +2FE0 +3440 +4C40 +84C0 +ENDCHAR +STARTCHAR U_59CD +ENCODING 22989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +FAA0 +AAA0 +AAA0 +BFE0 +AAA0 +4AA0 +6AA0 +5AA0 +8860 +ENDCHAR +STARTCHAR U_59CE +ENCODING 22990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +F7C0 +5540 +5540 +5540 +9FE0 +6100 +2280 +5440 +8820 +ENDCHAR +STARTCHAR U_59CF +ENCODING 22991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +F7E0 +5240 +5240 +93C0 +5240 +2240 +5240 +53C0 +8240 +ENDCHAR +STARTCHAR U_59D0 +ENCODING 22992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +FA40 +2A40 +2BC0 +4A40 +5240 +33C0 +2A40 +4A40 +87E0 +ENDCHAR +STARTCHAR U_59D1 +ENCODING 22993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FFE0 +2880 +2880 +4BE0 +5220 +3220 +2A20 +4BE0 +8220 +ENDCHAR +STARTCHAR U_59D2 +ENCODING 22994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2440 +F640 +5540 +5540 +5440 +5440 +3540 +2E40 +44A0 +8120 +ENDCHAR +STARTCHAR U_59D3 +ENCODING 22995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +FA80 +2BE0 +2C80 +4880 +53E0 +3080 +2880 +4880 +87E0 +ENDCHAR +STARTCHAR U_59D4 +ENCODING 22996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E00 +0400 +FFE0 +1500 +E4E0 +0800 +FFE0 +1100 +0E00 +71C0 +ENDCHAR +STARTCHAR U_59D5 +ENCODING 22997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5A60 +5380 +5A20 +E1E0 +0800 +FFE0 +0900 +1200 +0C00 +73C0 +ENDCHAR +STARTCHAR U_59D6 +ENCODING 22998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4400 +FC00 +57C0 +5440 +5440 +97C0 +6400 +3400 +4C00 +87E0 +ENDCHAR +STARTCHAR U_59D7 +ENCODING 22999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +EAA0 +AAA0 +BFE0 +AAA0 +AAA0 +4AA0 +6AA0 +5AA0 +9360 +ENDCHAR +STARTCHAR U_59D8 +ENCODING 23000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +2A40 +2A40 +4FE0 +5240 +3240 +2A40 +4A40 +8440 +ENDCHAR +STARTCHAR U_59D9 +ENCODING 23001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4460 +4780 +F480 +5480 +5C80 +97E0 +9480 +6480 +2480 +5480 +87E0 +ENDCHAR +STARTCHAR U_59DA +ENCODING 23002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FAA0 +56C0 +5280 +52C0 +96A0 +6A80 +22A0 +54A0 +8860 +ENDCHAR +STARTCHAR U_59DB +ENCODING 23003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +FBA0 +A820 +ABA0 +AAA0 +AAA0 +4BA0 +6820 +9820 +8860 +ENDCHAR +STARTCHAR U_59DC +ENCODING 23004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0400 +7FC0 +0400 +FFE0 +0800 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_59DD +ENCODING 23005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +F7C0 +5900 +5100 +9FE0 +5100 +2380 +3540 +4920 +8100 +ENDCHAR +STARTCHAR U_59DE +ENCODING 23006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FFE0 +2880 +2BE0 +4800 +53E0 +3220 +2A20 +4BE0 +8220 +ENDCHAR +STARTCHAR U_59DF +ENCODING 23007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2900 +2A40 +4FA0 +5140 +3280 +2D40 +4A20 +8420 +ENDCHAR +STARTCHAR U_59E0 +ENCODING 23008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4200 +FFE0 +A820 +ABA0 +AAA0 +AAA0 +4BA0 +6820 +9820 +88E0 +ENDCHAR +STARTCHAR U_59E1 +ENCODING 23009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F100 +5100 +5FE0 +5100 +97C0 +6440 +3440 +4C40 +87C0 +ENDCHAR +STARTCHAR U_59E2 +ENCODING 23010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4440 +FFE0 +5000 +57C0 +5440 +97C0 +6440 +37C0 +4C40 +84C0 +ENDCHAR +STARTCHAR U_59E3 +ENCODING 23011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2A40 +2C20 +4A40 +5240 +3180 +2980 +4A40 +8420 +ENDCHAR +STARTCHAR U_59E4 +ENCODING 23012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +F400 +57E0 +5400 +55E0 +5520 +3520 +2D20 +45E0 +8920 +ENDCHAR +STARTCHAR U_59E5 +ENCODING 23013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2120 +F7C0 +5140 +5FE0 +5200 +5240 +3680 +2B20 +4A20 +81E0 +ENDCHAR +STARTCHAR U_59E6 +ENCODING 23014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +71C0 +2080 +FFE0 +4A40 +4A40 +3180 +CE60 +ENDCHAR +STARTCHAR U_59E7 +ENCODING 23015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +FC80 +4880 +3080 +CBE0 +2080 +FC80 +4880 +3080 +C880 +ENDCHAR +STARTCHAR U_59E8 +ENCODING 23016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +57E0 +5120 +57E0 +5500 +37E0 +2920 +4280 +8C60 +ENDCHAR +STARTCHAR U_59E9 +ENCODING 23017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +FA80 +5480 +53E0 +5280 +5280 +2FE0 +3080 +4880 +8080 +ENDCHAR +STARTCHAR U_59EA +ENCODING 23018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +F200 +5440 +57A0 +5100 +5100 +27C0 +3100 +4900 +87E0 +ENDCHAR +STARTCHAR U_59EB +ENCODING 23019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4480 +FC80 +57E0 +5420 +5420 +97E0 +6480 +3480 +4C80 +87E0 +ENDCHAR +STARTCHAR U_59EC +ENCODING 23020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +FC80 +55C0 +5540 +5540 +5540 +25C0 +3480 +4C80 +87E0 +ENDCHAR +STARTCHAR U_59ED +ENCODING 23021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7F80 +1100 +FBE0 +2920 +DA60 +0400 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_59EE +ENCODING 23022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2000 +FBC0 +2A40 +2A40 +4BC0 +5240 +23C0 +3240 +4800 +87E0 +ENDCHAR +STARTCHAR U_59EF +ENCODING 23023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4920 +F540 +5100 +5FE0 +5280 +9280 +6280 +22A0 +54A0 +8860 +ENDCHAR +STARTCHAR U_59F0 +ENCODING 23024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2C20 +2BA0 +4AA0 +53A0 +32A0 +2BA0 +4820 +80E0 +ENDCHAR +STARTCHAR U_59F1 +ENCODING 23025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +5440 +5BA0 +5000 +5FE0 +2200 +33C0 +4840 +8180 +ENDCHAR +STARTCHAR U_59F2 +ENCODING 23026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +F7E0 +5520 +5100 +57E0 +5240 +2240 +3180 +4940 +8620 +ENDCHAR +STARTCHAR U_59F3 +ENCODING 23027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +F220 +5540 +5080 +5100 +57E0 +2220 +3220 +4BE0 +8220 +ENDCHAR +STARTCHAR U_59F4 +ENCODING 23028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FC40 +2240 +7A40 +8A40 +50C0 +2800 +FFC0 +1200 +2400 +1A00 +F1C0 +ENDCHAR +STARTCHAR U_59F5 +ENCODING 23029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +FFC0 +5540 +57C0 +5540 +9540 +6540 +35C0 +4920 +9120 +ENDCHAR +STARTCHAR U_59F6 +ENCODING 23030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F440 +5820 +57C0 +5000 +57C0 +2440 +3440 +4FC0 +8440 +ENDCHAR +STARTCHAR U_59F7 +ENCODING 23031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA00 +53E0 +5620 +5BE0 +5220 +23E0 +3220 +4A20 +8260 +ENDCHAR +STARTCHAR U_59F8 +ENCODING 23032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4EE0 +F440 +5440 +5440 +5EE0 +9440 +6440 +3440 +4840 +9040 +ENDCHAR +STARTCHAR U_59F9 +ENCODING 23033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2C20 +2BC0 +4900 +51E0 +3700 +2920 +4920 +80E0 +ENDCHAR +STARTCHAR U_59FA +ENCODING 23034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +F7C0 +5900 +5100 +5FE0 +5280 +3280 +2AA0 +44A0 +8860 +ENDCHAR +STARTCHAR U_59FB +ENCODING 23035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +F520 +57E0 +5520 +5520 +55A0 +2660 +3420 +4FE0 +8420 +ENDCHAR +STARTCHAR U_59FC +ENCODING 23036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +FA20 +5540 +5080 +5100 +56E0 +2120 +32A0 +4840 +8780 +ENDCHAR +STARTCHAR U_59FD +ENCODING 23037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +FC80 +57E0 +5400 +55C0 +9540 +65C0 +3500 +4920 +90E0 +ENDCHAR +STARTCHAR U_59FE +ENCODING 23038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC40 +2820 +2FC0 +4900 +5100 +37C0 +2900 +4900 +87E0 +ENDCHAR +STARTCHAR U_59FF +ENCODING 23039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +2A40 +C200 +4500 +48E0 +0800 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_5A00 +ENCODING 23040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +20C0 +F0A0 +5FE0 +5480 +54A0 +5FA0 +24C0 +3480 +4960 +8220 +ENDCHAR +STARTCHAR U_5A01 +ENCODING 23041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +0120 +7FE0 +4100 +5D20 +4920 +7F40 +5540 +4CA0 +9360 +A420 +ENDCHAR +STARTCHAR U_5A02 +ENCODING 23042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FFE0 +5280 +5280 +9280 +5FE0 +2000 +3280 +4460 +8840 +ENDCHAR +STARTCHAR U_5A03 +ENCODING 23043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F7C0 +5100 +5FE0 +9100 +5100 +27C0 +3100 +4900 +87E0 +ENDCHAR +STARTCHAR U_5A04 +ENCODING 23044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +FFE0 +1500 +2480 +C460 +0800 +FFE0 +1100 +0F00 +F8E0 +ENDCHAR +STARTCHAR U_5A05 +ENCODING 23045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +F280 +5280 +5AA0 +56C0 +9280 +6280 +2280 +5280 +8FE0 +ENDCHAR +STARTCHAR U_5A06 +ENCODING 23046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +2F00 +F2A0 +5120 +56E0 +5000 +5FE0 +2280 +32A0 +4CA0 +8860 +ENDCHAR +STARTCHAR U_5A07 +ENCODING 23047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F100 +5FE0 +5240 +5420 +9240 +6240 +2240 +5440 +8840 +ENDCHAR +STARTCHAR U_5A08 +ENCODING 23048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +0900 +2940 +4920 +0400 +FFE0 +0900 +1200 +0F00 +F8E0 +ENDCHAR +STARTCHAR U_5A09 +ENCODING 23049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FD40 +57C0 +5540 +9FE0 +5200 +27C0 +3040 +4840 +8180 +ENDCHAR +STARTCHAR U_5A0A +ENCODING 23050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +FFC0 +5440 +57C0 +9440 +57C0 +2280 +32A0 +44A0 +8860 +ENDCHAR +STARTCHAR U_5A0B +ENCODING 23051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2520 +F340 +57E0 +5420 +97E0 +5420 +27E0 +3420 +4C20 +8460 +ENDCHAR +STARTCHAR U_5A0C +ENCODING 23052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FD40 +57C0 +5540 +57C0 +9100 +67C0 +2100 +5100 +8FE0 +ENDCHAR +STARTCHAR U_5A0D +ENCODING 23053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +40A0 +F7E0 +5480 +5480 +57A0 +95A0 +6540 +3560 +4AA0 +9120 +ENDCHAR +STARTCHAR U_5A0E +ENCODING 23054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FE00 +1BE0 +3280 +D480 +0400 +FFE0 +0880 +1900 +0600 +79C0 +ENDCHAR +STARTCHAR U_5A0F +ENCODING 23055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +4480 +4FE0 +F500 +55C0 +9500 +55C0 +2500 +55C0 +4B20 +94E0 +ENDCHAR +STARTCHAR U_5A10 +ENCODING 23056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2720 +F540 +5280 +57E0 +9040 +5080 +27E0 +3080 +4880 +8180 +ENDCHAR +STARTCHAR U_5A11 +ENCODING 23057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2540 +C920 +2940 +4080 +C700 +4800 +FFE0 +1100 +0E00 +F9E0 +ENDCHAR +STARTCHAR U_5A12 +ENCODING 23058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +47E0 +F800 +57C0 +5540 +5540 +9FE0 +6540 +27E0 +5040 +80C0 +ENDCHAR +STARTCHAR U_5A13 +ENCODING 23059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FFE0 +5440 +5780 +94E0 +5780 +24E0 +3780 +48A0 +9060 +ENDCHAR +STARTCHAR U_5A14 +ENCODING 23060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +57C0 +5440 +9440 +57C0 +2280 +3280 +4AA0 +8460 +ENDCHAR +STARTCHAR U_5A15 +ENCODING 23061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +57E0 +5520 +97E0 +5100 +2380 +3540 +4920 +8100 +ENDCHAR +STARTCHAR U_5A16 +ENCODING 23062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +FA20 +2BE0 +2880 +4A80 +52E0 +3280 +2A80 +4580 +88E0 +ENDCHAR +STARTCHAR U_5A17 +ENCODING 23063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E60 +4380 +F480 +5480 +5FE0 +5280 +9280 +6A80 +25E0 +5600 +89E0 +ENDCHAR +STARTCHAR U_5A18 +ENCODING 23064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +F440 +57C0 +5440 +57C0 +9520 +6540 +3480 +4E40 +8420 +ENDCHAR +STARTCHAR U_5A19 +ENCODING 23065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +22A0 +FAA0 +5540 +52A0 +92A0 +5000 +27C0 +3100 +4900 +8FE0 +ENDCHAR +STARTCHAR U_5A1A +ENCODING 23066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FFC0 +5540 +57C0 +9100 +5FE0 +2220 +3220 +44A0 +8840 +ENDCHAR +STARTCHAR U_5A1B +ENCODING 23067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FE40 +57C0 +5400 +57C0 +7140 +17E0 +2900 +4280 +8C60 +ENDCHAR +STARTCHAR U_5A1C +ENCODING 23068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +4AA0 +FAA0 +AEA0 +AAC0 +BEA0 +AAA0 +4AA0 +6AE0 +5280 +9480 +ENDCHAR +STARTCHAR U_5A1D +ENCODING 23069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +F980 +52C0 +54A0 +9080 +53E0 +2220 +3220 +4BE0 +8220 +ENDCHAR +STARTCHAR U_5A1E +ENCODING 23070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F20 +F540 +5280 +5100 +9FE0 +5240 +2640 +3180 +4A40 +8420 +ENDCHAR +STARTCHAR U_5A1F +ENCODING 23071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +FBE0 +2800 +2BE0 +4A20 +53E0 +3220 +2BE0 +4A20 +8260 +ENDCHAR +STARTCHAR U_5A20 +ENCODING 23072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4800 +FBC0 +A800 +AFE0 +AA80 +AAA0 +6AC0 +5A80 +8B40 +1620 +ENDCHAR +STARTCHAR U_5A21 +ENCODING 23073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +5100 +57C0 +9000 +5140 +26A0 +3A20 +4A40 +81C0 +ENDCHAR +STARTCHAR U_5A22 +ENCODING 23074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F280 +5540 +5920 +97C0 +5080 +2100 +27C0 +5440 +87C0 +ENDCHAR +STARTCHAR U_5A23 +ENCODING 23075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +F7C0 +5140 +57C0 +5500 +57E0 +2320 +3520 +49C0 +8100 +ENDCHAR +STARTCHAR U_5A24 +ENCODING 23076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +4880 +7FE0 +0880 +F880 +2BE0 +4400 +FFE0 +0880 +0700 +38C0 +ENDCHAR +STARTCHAR U_5A25 +ENCODING 23077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +26C0 +FAA0 +57E0 +5280 +52A0 +53C0 +36A0 +2AA0 +4360 +8620 +ENDCHAR +STARTCHAR U_5A26 +ENCODING 23078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F400 +5400 +57E0 +9480 +5480 +2FE0 +3000 +4440 +8820 +ENDCHAR +STARTCHAR U_5A27 +ENCODING 23079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4280 +F7C0 +5440 +5440 +97C0 +5280 +2280 +3280 +44A0 +8860 +ENDCHAR +STARTCHAR U_5A28 +ENCODING 23080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +FBE0 +2A20 +2BE0 +4800 +53E0 +3080 +2BE0 +4880 +8080 +ENDCHAR +STARTCHAR U_5A29 +ENCODING 23081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +F480 +5FE0 +5520 +5520 +97E0 +6280 +2280 +54A0 +88E0 +ENDCHAR +STARTCHAR U_5A2A +ENCODING 23082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FBC0 +2940 +2940 +4FE0 +5000 +33E0 +2A20 +4A20 +83E0 +ENDCHAR +STARTCHAR U_5A2B +ENCODING 23083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +4DC0 +F440 +5560 +5940 +5540 +9540 +6FE0 +3400 +4A00 +91E0 +ENDCHAR +STARTCHAR U_5A2C +ENCODING 23084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +27E0 +F040 +5FE0 +5140 +5540 +55C0 +5540 +2540 +57C0 +8820 +ENDCHAR +STARTCHAR U_5A2D +ENCODING 23085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +F7A0 +5200 +57C0 +5900 +9100 +6FE0 +2280 +5440 +8820 +ENDCHAR +STARTCHAR U_5A2E +ENCODING 23086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +F800 +2BE0 +2800 +4BE0 +5000 +33E0 +2A20 +4A20 +83E0 +ENDCHAR +STARTCHAR U_5A2F +ENCODING 23087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2140 +F540 +55C0 +5400 +57C0 +9040 +6FE0 +2000 +5440 +8820 +ENDCHAR +STARTCHAR U_5A30 +ENCODING 23088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4520 +4D20 +F520 +55A0 +5560 +5520 +55A0 +2540 +5460 +84A0 +ENDCHAR +STARTCHAR U_5A31 +ENCODING 23089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +57C0 +5000 +97C0 +5100 +2FE0 +2280 +5440 +8820 +ENDCHAR +STARTCHAR U_5A32 +ENCODING 23090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +F440 +A7C0 +A100 +AFE0 +A920 +CAA0 +2C60 +5820 +8860 +ENDCHAR +STARTCHAR U_5A33 +ENCODING 23091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4120 +4E20 +F4A0 +AFA0 +A4A0 +A6A0 +ADA0 +54A0 +24A0 +5420 +84E0 +ENDCHAR +STARTCHAR U_5A34 +ENCODING 23092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +4220 +F920 +AFE0 +A920 +A920 +CBA0 +6D60 +5920 +8920 +08E0 +ENDCHAR +STARTCHAR U_5A35 +ENCODING 23093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F80 +4AE0 +FEA0 +AAA0 +AAA0 +AEA0 +AAA0 +CB40 +3E40 +52A0 +8320 +ENDCHAR +STARTCHAR U_5A36 +ENCODING 23094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC00 +4BE0 +6940 +5880 +4940 +FA20 +0800 +FFE0 +1900 +0600 +F9E0 +ENDCHAR +STARTCHAR U_5A37 +ENCODING 23095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +4780 +F100 +AFE0 +A540 +A540 +AFE0 +C540 +2FE0 +5100 +8FC0 +ENDCHAR +STARTCHAR U_5A38 +ENCODING 23096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +FA40 +2BC0 +2A40 +4BC0 +5240 +37E0 +2A80 +4C40 +8020 +ENDCHAR +STARTCHAR U_5A39 +ENCODING 23097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E80 +4240 +F3E0 +AE80 +A8A0 +AF20 +A3C0 +4240 +22A0 +5B60 +85A0 +ENDCHAR +STARTCHAR U_5A3A +ENCODING 23098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +6AA0 +4440 +FAA0 +5000 +5EE0 +9AA0 +5AA0 +6440 +5AA0 +9AA0 +ENDCHAR +STARTCHAR U_5A3B +ENCODING 23099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +6FE0 +4100 +F7C0 +5540 +57C0 +5540 +57C0 +2380 +5540 +8920 +ENDCHAR +STARTCHAR U_5A3C +ENCODING 23100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +5240 +53C0 +5000 +57E0 +3420 +2FE0 +4420 +87E0 +ENDCHAR +STARTCHAR U_5A3D +ENCODING 23101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4040 +F7C0 +5040 +5FE0 +5100 +5D60 +5380 +2540 +5920 +8300 +ENDCHAR +STARTCHAR U_5A3E +ENCODING 23102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FC80 +57E0 +5480 +57E0 +5480 +27E0 +3480 +4880 +8BE0 +ENDCHAR +STARTCHAR U_5A3F +ENCODING 23103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5040 +6740 +5540 +7740 +4840 +FFE0 +1100 +1900 +0600 +3980 +ENDCHAR +STARTCHAR U_5A40 +ENCODING 23104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4A20 +FA20 +ACE0 +AAA0 +AAA0 +AAA0 +4EE0 +2820 +5820 +88E0 +ENDCHAR +STARTCHAR U_5A41 +ENCODING 23105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +2480 +FFE0 +2480 +7FC0 +4440 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_5A42 +ENCODING 23106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F440 +57C0 +5440 +57C0 +5100 +3FE0 +2920 +4960 +8100 +ENDCHAR +STARTCHAR U_5A43 +ENCODING 23107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2820 +2BC0 +4800 +57E0 +3100 +2D40 +4920 +8320 +ENDCHAR +STARTCHAR U_5A44 +ENCODING 23108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2C40 +2A80 +4FE0 +5000 +37C0 +2C40 +4C40 +87C0 +ENDCHAR +STARTCHAR U_5A45 +ENCODING 23109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +47E0 +F920 +5560 +55A0 +5FE0 +5320 +55E0 +2920 +5120 +8160 +ENDCHAR +STARTCHAR U_5A46 +ENCODING 23110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +AFE0 +4920 +2FC0 +CA40 +5180 +4640 +FFE0 +1100 +0E00 +F9E0 +ENDCHAR +STARTCHAR U_5A47 +ENCODING 23111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +27A0 +FD20 +2AC0 +2900 +4FE0 +5100 +3380 +2D40 +4920 +8100 +ENDCHAR +STARTCHAR U_5A48 +ENCODING 23112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +2FE0 +2A40 +4D20 +53C0 +3640 +2980 +4A40 +8420 +ENDCHAR +STARTCHAR U_5A49 +ENCODING 23113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +5400 +57E0 +5AA0 +56E0 +3280 +2AA0 +44A0 +88E0 +ENDCHAR +STARTCHAR U_5A4A +ENCODING 23114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F100 +53C0 +5100 +57E0 +52A0 +36C0 +2A80 +4B40 +8220 +ENDCHAR +STARTCHAR U_5A4B +ENCODING 23115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +4080 +F7E0 +5500 +57C0 +5520 +95E0 +5400 +25C0 +6540 +9A60 +ENDCHAR +STARTCHAR U_5A4C +ENCODING 23116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +46E0 +E4A0 +A4A0 +BFA0 +A4A0 +AEA0 +75A0 +2440 +54A0 +8920 +ENDCHAR +STARTCHAR U_5A4D +ENCODING 23117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +5440 +5FE0 +5040 +5740 +2540 +3740 +4840 +81C0 +ENDCHAR +STARTCHAR U_5A4E +ENCODING 23118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4480 +4FE0 +F480 +57E0 +5480 +9480 +57E0 +2480 +5480 +8FE0 +ENDCHAR +STARTCHAR U_5A4F +ENCODING 23119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +2480 +FFE0 +5520 +5520 +57E0 +2280 +52A0 +9480 +8860 +ENDCHAR +STARTCHAR U_5A50 +ENCODING 23120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FFC0 +5540 +57C0 +5100 +5FE0 +3100 +2B80 +4540 +8920 +ENDCHAR +STARTCHAR U_5A51 +ENCODING 23121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +5340 +5D20 +5100 +5FE0 +2240 +3280 +4980 +8660 +ENDCHAR +STARTCHAR U_5A52 +ENCODING 23122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +2540 +F580 +5A80 +5460 +5100 +5520 +2540 +3A80 +4A40 +8420 +ENDCHAR +STARTCHAR U_5A53 +ENCODING 23123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FBE0 +0A00 +7BC0 +0A00 +FBE0 +0400 +FFE0 +0900 +0600 +79C0 +ENDCHAR +STARTCHAR U_5A54 +ENCODING 23124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4280 +FEE0 +5280 +5280 +5EE0 +5280 +5280 +2EE0 +5280 +8280 +ENDCHAR +STARTCHAR U_5A55 +ENCODING 23125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +F7C0 +5140 +57E0 +5140 +57C0 +3500 +25C0 +5B00 +91E0 +ENDCHAR +STARTCHAR U_5A56 +ENCODING 23126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +5280 +5540 +5920 +5140 +25A0 +3560 +4940 +8700 +ENDCHAR +STARTCHAR U_5A57 +ENCODING 23127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26E0 +2420 +FC20 +56E0 +5420 +57E0 +5280 +3280 +2AA0 +44A0 +8860 +ENDCHAR +STARTCHAR U_5A58 +ENCODING 23128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +4540 +FFE0 +A200 +AFE0 +A440 +AFA0 +6480 +35A0 +4420 +83E0 +ENDCHAR +STARTCHAR U_5A59 +ENCODING 23129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +47C0 +F880 +57C0 +5140 +9FE0 +5140 +57C0 +2100 +5100 +8300 +ENDCHAR +STARTCHAR U_5A5A +ENCODING 23130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2480 +FFE0 +5480 +5660 +5020 +57C0 +2440 +37C0 +4C40 +87C0 +ENDCHAR +STARTCHAR U_5A5B +ENCODING 23131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F000 +57C0 +5440 +57C0 +5100 +2380 +3540 +4920 +9320 +ENDCHAR +STARTCHAR U_5A5C +ENCODING 23132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A140 +F940 +8880 +F940 +A420 +FFE0 +1100 +1A00 +0580 +F860 +ENDCHAR +STARTCHAR U_5A5D +ENCODING 23133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FC20 +5000 +57E0 +5080 +5280 +32E0 +2A80 +4580 +88E0 +ENDCHAR +STARTCHAR U_5A5E +ENCODING 23134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +5FE0 +5440 +5280 +57C0 +2100 +37E0 +4900 +8100 +ENDCHAR +STARTCHAR U_5A5F +ENCODING 23135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +F920 +AFE0 +A920 +ABA0 +AAA0 +6BA0 +5820 +8FE0 +0820 +ENDCHAR +STARTCHAR U_5A60 +ENCODING 23136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +5820 +57C0 +5440 +57C0 +3400 +2FE0 +4420 +87E0 +ENDCHAR +STARTCHAR U_5A61 +ENCODING 23137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F100 +5540 +5540 +5BA0 +9100 +6380 +2540 +5920 +8100 +ENDCHAR +STARTCHAR U_5A62 +ENCODING 23138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FCA0 +57E0 +54A0 +57E0 +5180 +2280 +37E0 +4880 +8080 +ENDCHAR +STARTCHAR U_5A63 +ENCODING 23139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AA0 +4AA0 +4EE0 +F820 +5FE0 +9820 +9EE0 +6AA0 +52A0 +92A0 +A020 +ENDCHAR +STARTCHAR U_5A64 +ENCODING 23140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4920 +FBA0 +A920 +AFE0 +A820 +ABA0 +6AA0 +3BA0 +4820 +90E0 +ENDCHAR +STARTCHAR U_5A65 +ENCODING 23141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2100 +FFC0 +5440 +57C0 +5440 +57C0 +5100 +2FE0 +5100 +8900 +ENDCHAR +STARTCHAR U_5A66 +ENCODING 23142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4040 +F7C0 +A040 +AFE0 +A920 +A7C0 +4540 +2540 +5540 +8100 +ENDCHAR +STARTCHAR U_5A67 +ENCODING 23143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FBC0 +5100 +5FE0 +5440 +57C0 +3440 +2FC0 +4440 +84C0 +ENDCHAR +STARTCHAR U_5A68 +ENCODING 23144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2280 +FC60 +57C0 +9000 +AFE0 +6AA0 +5FE0 +8AA0 +8AA0 +ENDCHAR +STARTCHAR U_5A69 +ENCODING 23145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24A0 +27E0 +F800 +57E0 +5400 +55C0 +5480 +27E0 +3480 +4880 +9080 +ENDCHAR +STARTCHAR U_5A6A +ENCODING 23146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +3100 +6B80 +A540 +2500 +FFE0 +0900 +1200 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_5A6B +ENCODING 23147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +FC40 +57C0 +5480 +94A0 +56C0 +2480 +56A0 +84E0 +ENDCHAR +STARTCHAR U_5A6C +ENCODING 23148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4F20 +FA20 +A540 +A040 +A780 +A100 +6FE0 +2100 +5100 +87C0 +ENDCHAR +STARTCHAR U_5A6D +ENCODING 23149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2140 +F940 +5760 +5420 +5420 +5760 +2140 +3140 +4940 +8FE0 +ENDCHAR +STARTCHAR U_5A6E +ENCODING 23150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47E0 +F420 +57E0 +5480 +57E0 +5480 +27E0 +2620 +5A20 +93E0 +ENDCHAR +STARTCHAR U_5A6F +ENCODING 23151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0000 +7BC0 +4A40 +6B40 +4A40 +0800 +FFE0 +1100 +0E00 +71C0 +ENDCHAR +STARTCHAR U_5A70 +ENCODING 23152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4FE0 +FAA0 +AAA0 +AFE0 +AAA0 +AAA0 +5FE0 +6480 +9840 +1020 +ENDCHAR +STARTCHAR U_5A71 +ENCODING 23153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +1FE0 +7240 +4780 +7140 +17E0 +2400 +FFE0 +0900 +0E00 +31C0 +ENDCHAR +STARTCHAR U_5A72 +ENCODING 23154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4280 +FFE0 +5280 +5480 +5CA0 +54C0 +5580 +2480 +54A0 +84E0 +ENDCHAR +STARTCHAR U_5A73 +ENCODING 23155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +F000 +57C0 +5D60 +5FE0 +5D60 +7D60 +2FE0 +5820 +8FE0 +ENDCHAR +STARTCHAR U_5A74 +ENCODING 23156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +5540 +5540 +5540 +2A80 +4440 +FFE0 +1100 +0E00 +F1C0 +ENDCHAR +STARTCHAR U_5A75 +ENCODING 23157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4280 +FFE0 +A920 +AFE0 +A920 +AFE0 +6100 +2FE0 +5100 +8900 +ENDCHAR +STARTCHAR U_5A76 +ENCODING 23158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F820 +A100 +AFE0 +A920 +AFE0 +4920 +6FE0 +9100 +0100 +ENDCHAR +STARTCHAR U_5A77 +ENCODING 23159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F440 +A7C0 +A000 +AFE0 +A820 +67C0 +3080 +4A80 +8100 +ENDCHAR +STARTCHAR U_5A78 +ENCODING 23160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +5440 +5FE0 +5200 +57E0 +2AA0 +32A0 +4D20 +8260 +ENDCHAR +STARTCHAR U_5A79 +ENCODING 23161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +F280 +5FE0 +5AA0 +5FE0 +5100 +7FE0 +2440 +5380 +8C60 +ENDCHAR +STARTCHAR U_5A7A +ENCODING 23162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +29E0 +1140 +FD40 +3480 +5140 +9420 +FFE0 +1100 +0F80 +F060 +ENDCHAR +STARTCHAR U_5A7B +ENCODING 23163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F100 +AFE0 +AAA0 +A920 +AFE0 +4920 +6FE0 +9920 +0860 +ENDCHAR +STARTCHAR U_5A7C +ENCODING 23164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +FA40 +5100 +5100 +9FE0 +5200 +27E0 +2A20 +5220 +83E0 +ENDCHAR +STARTCHAR U_5A7D +ENCODING 23165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2760 +2520 +FD20 +5760 +5400 +57E0 +54A0 +27A0 +3440 +44A0 +8520 +ENDCHAR +STARTCHAR U_5A7E +ENCODING 23166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4280 +F440 +5BA0 +9000 +AEA0 +AAA0 +4F40 +4AA0 +AEA0 +AAA0 +ENDCHAR +STARTCHAR U_5A7F +ENCODING 23167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2120 +F5C0 +5500 +5FE0 +5440 +57C0 +2440 +37C0 +4C40 +84C0 +ENDCHAR +STARTCHAR U_5A80 +ENCODING 23168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4540 +47C0 +FD40 +57C0 +9100 +AFE0 +6920 +59E0 +8E20 +8860 +ENDCHAR +STARTCHAR U_5A81 +ENCODING 23169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +4240 +FFE0 +5000 +57C0 +9440 +9FE0 +6500 +5FE0 +8100 +ENDCHAR +STARTCHAR U_5A82 +ENCODING 23170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F440 +5FE0 +5920 +5FE0 +5540 +2540 +5540 +8100 +0100 +ENDCHAR +STARTCHAR U_5A83 +ENCODING 23171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2280 +F100 +5FE0 +5520 +5940 +5100 +2FE0 +3380 +4540 +8920 +ENDCHAR +STARTCHAR U_5A84 +ENCODING 23172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +5100 +57C0 +5100 +5FE0 +2100 +3FE0 +4280 +8C60 +ENDCHAR +STARTCHAR U_5A85 +ENCODING 23173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +47E0 +FA40 +53C0 +5240 +53C0 +9240 +6FE0 +2540 +5620 +87E0 +ENDCHAR +STARTCHAR U_5A86 +ENCODING 23174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4200 +F7E0 +5520 +5520 +5460 +9100 +6FE0 +2280 +5440 +8820 +ENDCHAR +STARTCHAR U_5A87 +ENCODING 23175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4440 +F280 +5FE0 +9100 +9FE0 +6380 +2340 +5520 +8920 +ENDCHAR +STARTCHAR U_5A88 +ENCODING 23176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4920 +47C0 +F900 +57C0 +9540 +97C0 +6540 +2FE0 +5100 +8100 +ENDCHAR +STARTCHAR U_5A89 +ENCODING 23177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4420 +47E0 +F400 +57E0 +9540 +97E0 +6480 +27E0 +5480 +8BE0 +ENDCHAR +STARTCHAR U_5A8A +ENCODING 23178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4280 +FFE0 +A000 +AE20 +AAA0 +AEA0 +4AA0 +6EA0 +5A20 +8A60 +ENDCHAR +STARTCHAR U_5A8B +ENCODING 23179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FFC0 +5200 +57E0 +5240 +57E0 +2A40 +33C0 +4A40 +83C0 +ENDCHAR +STARTCHAR U_5A8C +ENCODING 23180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +FFE0 +5240 +5000 +57E0 +9520 +67E0 +2520 +57E0 +8420 +ENDCHAR +STARTCHAR U_5A8D +ENCODING 23181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +2240 +FFE0 +5220 +53E0 +9220 +53E0 +2220 +51C0 +8A20 +ENDCHAR +STARTCHAR U_5A8E +ENCODING 23182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +27E0 +F140 +5180 +5FE0 +5200 +97C0 +6A40 +23C0 +5240 +83C0 +ENDCHAR +STARTCHAR U_5A8F +ENCODING 23183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +4920 +FFE0 +A000 +AFE0 +A200 +AFE0 +4AA0 +2AA0 +5AA0 +8860 +ENDCHAR +STARTCHAR U_5A90 +ENCODING 23184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +9240 +BBC0 +AA00 +9220 +FDE0 +0800 +FFE0 +1100 +0E00 +F1C0 +ENDCHAR +STARTCHAR U_5A91 +ENCODING 23185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +6100 +4FE0 +F100 +57C0 +5540 +57C0 +5100 +27C0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_5A92 +ENCODING 23186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2440 +F7C0 +5440 +57C0 +5100 +2FE0 +3380 +4D40 +8920 +ENDCHAR +STARTCHAR U_5A93 +ENCODING 23187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FC40 +57C0 +5440 +5FE0 +5100 +2100 +37C0 +4900 +8FE0 +ENDCHAR +STARTCHAR U_5A94 +ENCODING 23188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4100 +F200 +AFE0 +AAA0 +ABA0 +AAA0 +CBA0 +2AA0 +5FE0 +8820 +ENDCHAR +STARTCHAR U_5A95 +ENCODING 23189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2440 +FBA0 +5000 +57C0 +5440 +57C0 +2280 +3FE0 +4A80 +8480 +ENDCHAR +STARTCHAR U_5A96 +ENCODING 23190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4FE0 +F440 +5100 +57C0 +9540 +5540 +2FE0 +3280 +4440 +8820 +ENDCHAR +STARTCHAR U_5A97 +ENCODING 23191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +5000 +5FE0 +5440 +57C0 +2440 +37C0 +4000 +8FE0 +ENDCHAR +STARTCHAR U_5A98 +ENCODING 23192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +66E0 +4480 +F6A0 +54E0 +9100 +97E0 +5420 +27E0 +5420 +87E0 +ENDCHAR +STARTCHAR U_5A99 +ENCODING 23193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40A0 +4FE0 +4880 +FF80 +AAA0 +AAA0 +AFC0 +6940 +2D40 +52A0 +9520 +ENDCHAR +STARTCHAR U_5A9A +ENCODING 23194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +24A0 +F7E0 +5400 +55E0 +5520 +55E0 +3520 +2DE0 +4920 +91E0 +ENDCHAR +STARTCHAR U_5A9B +ENCODING 23195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2720 +F540 +57E0 +5100 +5FE0 +5200 +33E0 +2D40 +4880 +9760 +ENDCHAR +STARTCHAR U_5A9C +ENCODING 23196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2100 +FFC0 +5440 +57C0 +5440 +57C0 +2440 +37C0 +4280 +8C60 +ENDCHAR +STARTCHAR U_5A9D +ENCODING 23197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7120 +2540 +FD80 +3100 +6A80 +A440 +FFE0 +0880 +1900 +0700 +F8E0 +ENDCHAR +STARTCHAR U_5A9E +ENCODING 23198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +5440 +57C0 +5000 +5FE0 +2500 +35E0 +4B00 +91E0 +ENDCHAR +STARTCHAR U_5A9F +ENCODING 23199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +F540 +55C0 +5400 +57E0 +5100 +2FE0 +3380 +4D40 +8920 +ENDCHAR +STARTCHAR U_5AA0 +ENCODING 23200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +F200 +57E0 +5C80 +57E0 +5420 +57E0 +2420 +57E0 +8420 +ENDCHAR +STARTCHAR U_5AA1 +ENCODING 23201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F100 +57C0 +5540 +57C0 +5540 +57C0 +2380 +5540 +8920 +ENDCHAR +STARTCHAR U_5AA2 +ENCODING 23202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FBA0 +5820 +5FE0 +5440 +57C0 +2440 +37C0 +4C40 +87C0 +ENDCHAR +STARTCHAR U_5AA3 +ENCODING 23203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +43C0 +4940 +F540 +5940 +9A60 +9100 +6FE0 +2380 +5540 +8920 +ENDCHAR +STARTCHAR U_5AA4 +ENCODING 23204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4540 +47C0 +FD40 +57C0 +9000 +9540 +64A0 +2AA0 +5240 +81C0 +ENDCHAR +STARTCHAR U_5AA5 +ENCODING 23205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F820 +AFE0 +A800 +AFE0 +AAA0 +4FE0 +2AA0 +5AA0 +A860 +ENDCHAR +STARTCHAR U_5AA6 +ENCODING 23206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4920 +FFE0 +A920 +AFE0 +A440 +A7C0 +A440 +67C0 +5440 +8CC0 +ENDCHAR +STARTCHAR U_5AA7 +ENCODING 23207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +F740 +A540 +AFE0 +A820 +ABA0 +6AA0 +3AA0 +4BA0 +8860 +ENDCHAR +STARTCHAR U_5AA8 +ENCODING 23208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4FE0 +4280 +FFE0 +5AA0 +9AA0 +9CE0 +6820 +2FE0 +5820 +8FE0 +ENDCHAR +STARTCHAR U_5AA9 +ENCODING 23209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +24A0 +FFA0 +54E0 +54A0 +5EA0 +5AE0 +2AA0 +3EA0 +4920 +8260 +ENDCHAR +STARTCHAR U_5AAA +ENCODING 23210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +5440 +57C0 +5440 +5000 +6FE0 +3AA0 +4AA0 +9FE0 +ENDCHAR +STARTCHAR U_5AAB +ENCODING 23211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +41C0 +4100 +F7C0 +5040 +5FE0 +9100 +E5C0 +2500 +5B00 +91E0 +ENDCHAR +STARTCHAR U_5AAC +ENCODING 23212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2520 +F520 +5DE0 +5480 +57E0 +5480 +25C0 +36A0 +4CA0 +8480 +ENDCHAR +STARTCHAR U_5AAD +ENCODING 23213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37E0 +C200 +37E0 +C520 +3520 +C280 +0440 +FFE0 +0900 +0E00 +31C0 +ENDCHAR +STARTCHAR U_5AAE +ENCODING 23214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +4440 +FBA0 +A000 +AE20 +AAA0 +AEA0 +6AA0 +2EA0 +5A20 +8A60 +ENDCHAR +STARTCHAR U_5AAF +ENCODING 23215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +4500 +EF80 +A480 +A7C0 +A440 +A7E0 +A820 +6560 +5AA0 +8060 +ENDCHAR +STARTCHAR U_5AB0 +ENCODING 23216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +26A0 +FBE0 +5120 +5240 +53E0 +56A0 +5AA0 +23E0 +5120 +8EC0 +ENDCHAR +STARTCHAR U_5AB1 +ENCODING 23217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2740 +FD40 +2A80 +2A00 +4BE0 +5480 +33E0 +2880 +4AA0 +83E0 +ENDCHAR +STARTCHAR U_5AB2 +ENCODING 23218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4FE0 +FAA0 +A920 +AAA0 +AFE0 +A880 +AEA0 +68C0 +5AA0 +8CE0 +ENDCHAR +STARTCHAR U_5AB3 +ENCODING 23219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FC40 +57C0 +5440 +57C0 +5440 +27C0 +3540 +4AA0 +83C0 +ENDCHAR +STARTCHAR U_5AB4 +ENCODING 23220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +5FE0 +5440 +57C0 +5120 +2340 +3C80 +4D40 +8620 +ENDCHAR +STARTCHAR U_5AB5 +ENCODING 23221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E920 +A540 +AFE0 +E200 +AFE0 +A540 +EA20 +AFE0 +A480 +A380 +6C60 +ENDCHAR +STARTCHAR U_5AB6 +ENCODING 23222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +FA80 +57E0 +5240 +53C0 +5240 +53C0 +2240 +57E0 +8840 +ENDCHAR +STARTCHAR U_5AB7 +ENCODING 23223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4BC0 +E800 +AFE0 +AAA0 +AAC0 +AB20 +A840 +6FE0 +5440 +A2C0 +ENDCHAR +STARTCHAR U_5AB8 +ENCODING 23224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +4FE0 +F100 +AFE0 +A100 +AFE0 +A920 +6FE0 +3100 +4140 +8FE0 +ENDCHAR +STARTCHAR U_5AB9 +ENCODING 23225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +24A0 +FCA0 +5720 +5560 +5000 +57E0 +2520 +37E0 +4D20 +87E0 +ENDCHAR +STARTCHAR U_5ABA +ENCODING 23226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +5540 +FFE0 +A0A0 +AEA0 +A0A0 +AEC0 +4A40 +6B40 +8AA0 +1120 +ENDCHAR +STARTCHAR U_5ABB +ENCODING 23227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +FA60 +AC00 +FBC0 +AA40 +9980 +0A40 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_5ABC +ENCODING 23228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +5440 +57C0 +5000 +57C0 +2540 +3540 +4D40 +9FE0 +ENDCHAR +STARTCHAR U_5ABD +ENCODING 23229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +FFC0 +5480 +57C0 +5480 +57E0 +3020 +2AA0 +4560 +8960 +ENDCHAR +STARTCHAR U_5ABE +ENCODING 23230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +57E0 +5280 +5FE0 +5540 +27C0 +3540 +4FE0 +84C0 +ENDCHAR +STARTCHAR U_5ABF +ENCODING 23231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +FD40 +5540 +57C0 +5540 +57C0 +3140 +2BA0 +4520 +88E0 +ENDCHAR +STARTCHAR U_5AC0 +ENCODING 23232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F100 +57C0 +5200 +5FE0 +5540 +2FE0 +3380 +4540 +8920 +ENDCHAR +STARTCHAR U_5AC1 +ENCODING 23233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +57C0 +5220 +5D40 +5280 +35C0 +2AA0 +44A0 +8300 +ENDCHAR +STARTCHAR U_5AC2 +ENCODING 23234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4DE0 +F920 +AF60 +A920 +AFE0 +A100 +6FC0 +3480 +4300 +9CE0 +ENDCHAR +STARTCHAR U_5AC3 +ENCODING 23235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F100 +57C0 +5440 +57C0 +9440 +67C0 +2440 +5FE0 +8440 +ENDCHAR +STARTCHAR U_5AC4 +ENCODING 23236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4880 +FBE0 +AA20 +ABE0 +AA20 +ABE0 +6880 +39C0 +4AA0 +95A0 +ENDCHAR +STARTCHAR U_5AC5 +ENCODING 23237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +47E0 +4080 +F3C0 +5100 +97E0 +9200 +63E0 +2480 +5480 +8BE0 +ENDCHAR +STARTCHAR U_5AC6 +ENCODING 23238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +FAA0 +A440 +AAA0 +A440 +AFE0 +6440 +3440 +4FC0 +8440 +ENDCHAR +STARTCHAR U_5AC7 +ENCODING 23239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +F7C0 +A440 +A7C0 +A440 +A7C0 +4100 +6FE0 +9280 +0C60 +ENDCHAR +STARTCHAR U_5AC8 +ENCODING 23240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +14A0 +5AC0 +5280 +2980 +4640 +FFE0 +8420 +7FC0 +1900 +0F00 +70E0 +ENDCHAR +STARTCHAR U_5AC9 +ENCODING 23241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +F500 +ADE0 +A680 +AC80 +B7E0 +6480 +3540 +4A20 +9420 +ENDCHAR +STARTCHAR U_5ACA +ENCODING 23242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +57C0 +5100 +5FE0 +9280 +6540 +3FE0 +4940 +9320 +ENDCHAR +STARTCHAR U_5ACB +ENCODING 23243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4220 +FEE0 +A880 +AEE0 +A220 +AAA0 +4660 +6BA0 +9220 +0CC0 +ENDCHAR +STARTCHAR U_5ACC +ENCODING 23244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +4FE0 +F500 +AFC0 +A540 +BFE0 +A540 +4FC0 +3500 +4D40 +9520 +ENDCHAR +STARTCHAR U_5ACD +ENCODING 23245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2520 +FAA0 +5140 +5260 +5420 +5760 +2420 +3420 +4FE0 +8420 +ENDCHAR +STARTCHAR U_5ACE +ENCODING 23246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4440 +F280 +5FE0 +9920 +9FE0 +6180 +2240 +5440 +8880 +ENDCHAR +STARTCHAR U_5ACF +ENCODING 23247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +4EE0 +4AA0 +FEA0 +AAA0 +AEC0 +A8A0 +AAA0 +6BE0 +5C80 +8880 +ENDCHAR +STARTCHAR U_5AD0 +ENCODING 23248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F40 +5540 +5F40 +5540 +FFE0 +A4A0 +BFA0 +4540 +6960 +ADA0 +B2A0 +ENDCHAR +STARTCHAR U_5AD1 +ENCODING 23249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +1500 +2480 +7FC0 +1200 +7FC0 +5240 +FFE0 +2100 +1E00 +61C0 +ENDCHAR +STARTCHAR U_5AD2 +ENCODING 23250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4540 +FFE0 +AA20 +AFE0 +A200 +A3C0 +6640 +2980 +5240 +8C20 +ENDCHAR +STARTCHAR U_5AD3 +ENCODING 23251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +47C0 +4480 +FFE0 +5AA0 +9920 +9AA0 +68A0 +2EC0 +5880 +8EE0 +ENDCHAR +STARTCHAR U_5AD4 +ENCODING 23252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F8A0 +5700 +5400 +57E0 +5480 +2480 +3FE0 +4440 +8820 +ENDCHAR +STARTCHAR U_5AD5 +ENCODING 23253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2500 +FDE0 +5680 +57E0 +5540 +57E0 +2140 +36A0 +4A40 +81C0 +ENDCHAR +STARTCHAR U_5AD6 +ENCODING 23254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4280 +FFE0 +AAA0 +AFE0 +A000 +A7C0 +6000 +2FE0 +5540 +8B20 +ENDCHAR +STARTCHAR U_5AD7 +ENCODING 23255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4800 +F9C0 +A940 +A9C0 +A800 +ABE0 +4AA0 +2BE0 +5800 +8FE0 +ENDCHAR +STARTCHAR U_5AD8 +ENCODING 23256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4920 +FFE0 +A920 +AFE0 +A280 +A700 +6240 +37E0 +4540 +8B20 +ENDCHAR +STARTCHAR U_5AD9 +ENCODING 23257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +45E0 +FF00 +A9E0 +AEA0 +AA80 +AAE0 +4A80 +7380 +9280 +2660 +ENDCHAR +STARTCHAR U_5ADA +ENCODING 23258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +F7C0 +A440 +AFE0 +AAA0 +AAA0 +6FE0 +5440 +8B80 +0C60 +ENDCHAR +STARTCHAR U_5ADB +ENCODING 23259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +9160 +FFC0 +9140 +A880 +FD60 +0A00 +FFE0 +1100 +0E00 +F9E0 +ENDCHAR +STARTCHAR U_5ADC +ENCODING 23260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +5100 +5FE0 +5440 +57C0 +2440 +3FE0 +4900 +8100 +ENDCHAR +STARTCHAR U_5ADD +ENCODING 23261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +E940 +AFE0 +A940 +AFC0 +A920 +4D40 +3380 +5540 +8B20 +ENDCHAR +STARTCHAR U_5ADE +ENCODING 23262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F940 +AFE0 +A940 +AFE0 +A920 +4FE0 +2D20 +57E0 +A560 +ENDCHAR +STARTCHAR U_5ADF +ENCODING 23263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2540 +FFE0 +5540 +57E0 +5500 +55E0 +2720 +35E0 +4C00 +87E0 +ENDCHAR +STARTCHAR U_5AE0 +ENCODING 23264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9E0 +2240 +FD80 +7260 +A800 +7FE0 +4400 +7FE0 +4900 +8700 +3CE0 +ENDCHAR +STARTCHAR U_5AE1 +ENCODING 23265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F280 +AFE0 +A920 +AFE0 +A920 +4BA0 +2AA0 +5BA0 +8860 +ENDCHAR +STARTCHAR U_5AE2 +ENCODING 23266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC40 +27C0 +FC40 +27C0 +52A0 +84E0 +FFE0 +1100 +0E00 +F9C0 +ENDCHAR +STARTCHAR U_5AE3 +ENCODING 23267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FDE0 +5500 +57E0 +5200 +53E0 +2200 +37E0 +4AA0 +9560 +ENDCHAR +STARTCHAR U_5AE4 +ENCODING 23268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4FE0 +4440 +F7C0 +5100 +97C0 +9540 +6540 +2FE0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_5AE5 +ENCODING 23269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F540 +57C0 +5540 +57C0 +50A0 +27E0 +3480 +4A80 +8100 +ENDCHAR +STARTCHAR U_5AE6 +ENCODING 23270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +F820 +57C0 +5440 +57C0 +5100 +6FE0 +2920 +5960 +8100 +ENDCHAR +STARTCHAR U_5AE7 +ENCODING 23271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +F100 +57C0 +5100 +5FE0 +9440 +67C0 +2440 +57C0 +8820 +ENDCHAR +STARTCHAR U_5AE8 +ENCODING 23272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFC0 +5540 +5FE0 +5100 +57E0 +3100 +2FE0 +5280 +8C60 +ENDCHAR +STARTCHAR U_5AE9 +ENCODING 23273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5F80 +E4E0 +5FA0 +B5A0 +BFA0 +A4A0 +6E40 +5540 +64A0 +8520 +ENDCHAR +STARTCHAR U_5AEA +ENCODING 23274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +F660 +AAA0 +A700 +BAE0 +A480 +6120 +3640 +4980 +8600 +ENDCHAR +STARTCHAR U_5AEB +ENCODING 23275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +57C0 +5440 +57C0 +5440 +2FE0 +3100 +4A80 +8C60 +ENDCHAR +STARTCHAR U_5AEC +ENCODING 23276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F800 +AA40 +AFE0 +AA40 +ABC0 +6800 +2540 +5AA0 +8820 +ENDCHAR +STARTCHAR U_5AED +ENCODING 23277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +4100 +FFE0 +AA40 +AFE0 +A840 +AFC0 +4AA0 +2FE0 +5880 +9180 +ENDCHAR +STARTCHAR U_5AEE +ENCODING 23278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4100 +FFE0 +A920 +ABA0 +A540 +AFE0 +6200 +27C0 +5040 +8B80 +ENDCHAR +STARTCHAR U_5AEF +ENCODING 23279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D00 +11E0 +7F40 +2480 +DD60 +0800 +FFE0 +1100 +0E00 +71C0 +ENDCHAR +STARTCHAR U_5AF0 +ENCODING 23280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2F40 +2440 +FF60 +55A0 +5F40 +5440 +5640 +2DA0 +54A0 +8520 +ENDCHAR +STARTCHAR U_5AF1 +ENCODING 23281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F920 +5540 +5FE0 +5000 +5FE0 +6AA0 +3BA0 +4820 +8FE0 +ENDCHAR +STARTCHAR U_5AF2 +ENCODING 23282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2800 +FA40 +5FE0 +5A40 +5B40 +6EC0 +3B60 +4A40 +9240 +ENDCHAR +STARTCHAR U_5AF3 +ENCODING 23283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +FDE0 +A740 +F480 +AD40 +A620 +0800 +FFE0 +1200 +0D00 +F0E0 +ENDCHAR +STARTCHAR U_5AF4 +ENCODING 23284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +57C0 +5440 +5FE0 +5280 +2FE0 +3100 +57C0 +8100 +ENDCHAR +STARTCHAR U_5AF5 +ENCODING 23285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +47E0 +FD40 +A540 +AFE0 +A540 +A540 +6FE0 +3540 +4AA0 +8AA0 +ENDCHAR +STARTCHAR U_5AF6 +ENCODING 23286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +47E0 +F480 +AFE0 +A480 +A7E0 +A480 +67E0 +3540 +4AA0 +8AA0 +ENDCHAR +STARTCHAR U_5AF7 +ENCODING 23287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4A80 +FBE0 +AD40 +ABE0 +A920 +ABE0 +CD20 +29E0 +5920 +8960 +ENDCHAR +STARTCHAR U_5AF8 +ENCODING 23288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F100 +57C0 +5100 +5FE0 +5280 +2FE0 +3440 +47C0 +8440 +ENDCHAR +STARTCHAR U_5AF9 +ENCODING 23289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +47C0 +F280 +5FE0 +5100 +97C0 +5540 +27C0 +3540 +47C0 +8820 +ENDCHAR +STARTCHAR U_5AFA +ENCODING 23290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +FEE0 +AAA0 +AEE0 +ABA0 +AAA0 +4BA0 +2AA0 +5BA0 +8AE0 +ENDCHAR +STARTCHAR U_5AFB +ENCODING 23291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +FEE0 +AAA0 +AEE0 +A920 +AFE0 +4920 +2BA0 +5D60 +8920 +ENDCHAR +STARTCHAR U_5AFC +ENCODING 23292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2D60 +FBA0 +5FE0 +5100 +67C0 +2100 +57E0 +4D40 +92A0 +ENDCHAR +STARTCHAR U_5AFD +ENCODING 23293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +FAA0 +A440 +AFE0 +A440 +A7C0 +6440 +57C0 +8D40 +0B20 +ENDCHAR +STARTCHAR U_5AFE +ENCODING 23294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +FFE0 +5380 +5D60 +5440 +56E0 +2B40 +35E0 +4C40 +8040 +ENDCHAR +STARTCHAR U_5AFF +ENCODING 23295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2140 +FFE0 +5140 +57C0 +5100 +5FE0 +5540 +27C0 +5540 +8FE0 +ENDCHAR +STARTCHAR U_5B00 +ENCODING 23296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2E40 +2540 +F780 +5480 +57C0 +5440 +57E0 +2820 +5AA0 +9060 +ENDCHAR +STARTCHAR U_5B01 +ENCODING 23297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EA0 +2B40 +F480 +5BC0 +5020 +57C0 +5440 +27C0 +3440 +4A80 +8FE0 +ENDCHAR +STARTCHAR U_5B02 +ENCODING 23298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4FC0 +EAA0 +BFE0 +A080 +AE80 +AAA0 +6EC0 +2AA0 +5F60 +8220 +ENDCHAR +STARTCHAR U_5B03 +ENCODING 23299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +D440 +27C0 +D440 +27C0 +C280 +0C40 +FFE0 +1100 +0F00 +F8E0 +ENDCHAR +STARTCHAR U_5B04 +ENCODING 23300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +57C0 +5000 +5FE0 +5820 +27C0 +3440 +4A80 +87E0 +ENDCHAR +STARTCHAR U_5B05 +ENCODING 23301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4FE0 +F280 +AFE0 +A540 +AFE0 +A540 +6FE0 +2100 +5FE0 +8100 +ENDCHAR +STARTCHAR U_5B06 +ENCODING 23302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2C60 +F7C0 +5440 +57C0 +5000 +3FE0 +2AA0 +4660 +8AA0 +ENDCHAR +STARTCHAR U_5B07 +ENCODING 23303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F540 +5FE0 +5440 +57C0 +5440 +27C0 +3440 +4FC0 +8C60 +ENDCHAR +STARTCHAR U_5B08 +ENCODING 23304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +5FE0 +5440 +5EE0 +5440 +2FE0 +3280 +4CA0 +8860 +ENDCHAR +STARTCHAR U_5B09 +ENCODING 23305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +5FE0 +5440 +57C0 +5280 +6FE0 +3440 +4FC0 +8440 +ENDCHAR +STARTCHAR U_5B0A +ENCODING 23306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +6EC0 +2AA0 +EEE0 +0400 +7FC0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_5B0B +ENCODING 23307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +FFE0 +A920 +AFE0 +A920 +AFE0 +6100 +37E0 +4900 +8100 +ENDCHAR +STARTCHAR U_5B0C +ENCODING 23308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +5440 +5BA0 +5280 +5FE0 +2AA0 +3BA0 +4820 +8860 +ENDCHAR +STARTCHAR U_5B0D +ENCODING 23309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5540 +5F40 +F0E0 +5FA0 +54A0 +9EA0 +6440 +2440 +5EA0 +8120 +ENDCHAR +STARTCHAR U_5B0E +ENCODING 23310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +4EC0 +4540 +FFE0 +AA40 +ABE0 +AE40 +E440 +55E0 +4A00 +93E0 +ENDCHAR +STARTCHAR U_5B0F +ENCODING 23311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4920 +F540 +AFE0 +A540 +A920 +AFE0 +E920 +2FE0 +5920 +8FE0 +ENDCHAR +STARTCHAR U_5B10 +ENCODING 23312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +4440 +FBA0 +A000 +AEE0 +AAA0 +AEE0 +6000 +3440 +4AA0 +9120 +ENDCHAR +STARTCHAR U_5B11 +ENCODING 23313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2440 +FFE0 +5000 +57C0 +9440 +67C0 +2920 +5440 +87C0 +ENDCHAR +STARTCHAR U_5B12 +ENCODING 23314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4280 +4440 +FFE0 +AD60 +ABA0 +AFE0 +A440 +67C0 +5440 +87C0 +ENDCHAR +STARTCHAR U_5B13 +ENCODING 23315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4E80 +FAE0 +AEA0 +ABA0 +AEA0 +A4A0 +5FA0 +6A40 +92A0 +2520 +ENDCHAR +STARTCHAR U_5B14 +ENCODING 23316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E40 +4B40 +FFE0 +5540 +5540 +55E0 +9F40 +5440 +2DE0 +5520 +A3E0 +ENDCHAR +STARTCHAR U_5B15 +ENCODING 23317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +2FE0 +F100 +57C0 +5100 +9FE0 +E280 +2FE0 +5100 +8100 +ENDCHAR +STARTCHAR U_5B16 +ENCODING 23318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +4940 +7FE0 +A480 +3FE0 +0480 +FFE0 +0900 +0700 +78E0 +ENDCHAR +STARTCHAR U_5B17 +ENCODING 23319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F820 +ABA0 +AAA0 +AAA0 +AFE0 +6440 +27C0 +5440 +8FE0 +ENDCHAR +STARTCHAR U_5B18 +ENCODING 23320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +4940 +4BE0 +F100 +52A0 +5D40 +96E0 +E540 +34C0 +4C00 +93E0 +ENDCHAR +STARTCHAR U_5B19 +ENCODING 23321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F540 +ABA0 +A100 +AFE0 +AAA0 +6BA0 +2820 +5FE0 +8820 +ENDCHAR +STARTCHAR U_5B1A +ENCODING 23322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +FA80 +AFE0 +AAA0 +AFE0 +AAA0 +4FE0 +3280 +56C0 +AAA0 +ENDCHAR +STARTCHAR U_5B1B +ENCODING 23323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FFE0 +5000 +5FE0 +5440 +57C0 +6280 +36A0 +4A40 +8320 +ENDCHAR +STARTCHAR U_5B1C +ENCODING 23324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D00 +29E0 +FEA0 +4880 +7940 +4A20 +FFE0 +1100 +0F00 +70C0 +ENDCHAR +STARTCHAR U_5B1D +ENCODING 23325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4FC0 +F840 +AFC0 +A840 +AFE0 +A220 +BFA0 +6AC0 +5900 +8CE0 +ENDCHAR +STARTCHAR U_5B1E +ENCODING 23326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFC0 +5100 +5FE0 +5540 +57C0 +5540 +2FE0 +5100 +9FE0 +ENDCHAR +STARTCHAR U_5B1F +ENCODING 23327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +2100 +F7C0 +5100 +5FE0 +9540 +6280 +2FE0 +5240 +96A0 +ENDCHAR +STARTCHAR U_5B20 +ENCODING 23328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +4280 +F380 +AEE0 +AAA0 +AEE0 +A100 +AFE0 +6380 +5540 +8920 +ENDCHAR +STARTCHAR U_5B21 +ENCODING 23329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2540 +FFE0 +5520 +52C0 +5620 +53E0 +2240 +3580 +4A40 +8420 +ENDCHAR +STARTCHAR U_5B22 +ENCODING 23330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2440 +F2A0 +57C0 +5280 +9FE0 +E300 +36A0 +5A40 +8320 +ENDCHAR +STARTCHAR U_5B23 +ENCODING 23331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +F2A0 +AA40 +AFE0 +AAA0 +BFE0 +C000 +2FE0 +5100 +8300 +ENDCHAR +STARTCHAR U_5B24 +ENCODING 23332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +EA40 +AFE0 +AB40 +AEE0 +AA40 +4D40 +6B80 +9440 +27A0 +ENDCHAR +STARTCHAR U_5B25 +ENCODING 23333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +E660 +AAA0 +A220 +A900 +BFE0 +C900 +2FC0 +5900 +8FE0 +ENDCHAR +STARTCHAR U_5B26 +ENCODING 23334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F100 +AFE0 +A120 +AFC0 +A020 +DFE0 +2AA0 +5EA0 +8060 +ENDCHAR +STARTCHAR U_5B27 +ENCODING 23335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4FC0 +F240 +AFE0 +A240 +AFE0 +A540 +CAA0 +3FE0 +4AA0 +9FE0 +ENDCHAR +STARTCHAR U_5B28 +ENCODING 23336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4FE0 +E440 +A9A0 +BEC0 +AAA0 +AEE0 +E240 +2D20 +5460 +83C0 +ENDCHAR +STARTCHAR U_5B29 +ENCODING 23337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4F40 +4A40 +FFC0 +4940 +5DC0 +9940 +EFE0 +2000 +5440 +8820 +ENDCHAR +STARTCHAR U_5B2A +ENCODING 23338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F820 +A7C0 +A980 +AFC0 +B440 +C7C0 +2440 +57C0 +8C60 +ENDCHAR +STARTCHAR U_5B2B +ENCODING 23339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2B60 +2A40 +F5A0 +5000 +5FE0 +9920 +57C0 +2380 +5540 +9920 +ENDCHAR +STARTCHAR U_5B2C +ENCODING 23340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4100 +EFE0 +AAA0 +A440 +AFE0 +A100 +CFE0 +2AA0 +5AA0 +8860 +ENDCHAR +STARTCHAR U_5B2D +ENCODING 23341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4540 +F920 +AFE0 +A920 +ADA0 +AB60 +CDA0 +6B60 +5DA0 +8860 +ENDCHAR +STARTCHAR U_5B2E +ENCODING 23342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +54C0 +5CA0 +57E0 +5C80 +5540 +5620 +7FE0 +4480 +8700 +98C0 +ENDCHAR +STARTCHAR U_5B2F +ENCODING 23343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +E100 +AFE0 +B440 +BFE0 +A2A0 +A440 +5FE0 +4100 +9FE0 +ENDCHAR +STARTCHAR U_5B30 +ENCODING 23344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +7BC0 +2A80 +4440 +FFE0 +1100 +0F00 +F8E0 +ENDCHAR +STARTCHAR U_5B31 +ENCODING 23345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +3F00 +95E0 +5F40 +3540 +DF40 +4440 +FFE0 +1100 +0E00 +71C0 +ENDCHAR +STARTCHAR U_5B32 +ENCODING 23346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +FBE0 +AEA0 +FBE0 +4A80 +FBE0 +54A0 +54A0 +9B20 +6260 +ENDCHAR +STARTCHAR U_5B33 +ENCODING 23347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +57E0 +5C80 +57E0 +9480 +57E0 +2240 +5180 +8E60 +ENDCHAR +STARTCHAR U_5B34 +ENCODING 23348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +4000 +7FC0 +4080 +FFC0 +A540 +FFC0 +AB40 +E540 +BA60 +ENDCHAR +STARTCHAR U_5B35 +ENCODING 23349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4680 +6500 +4BE0 +FD20 +55E0 +5480 +53E0 +2EA0 +2AA0 +54E0 +9480 +ENDCHAR +STARTCHAR U_5B36 +ENCODING 23350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +F340 +52C0 +57E0 +5520 +97E0 +5520 +27E0 +5240 +8440 +ENDCHAR +STARTCHAR U_5B37 +ENCODING 23351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +FA40 +AFE0 +AA40 +AFE0 +A940 +EA80 +2D40 +5240 +A3A0 +ENDCHAR +STARTCHAR U_5B38 +ENCODING 23352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FB20 +5540 +5FE0 +5540 +5FE0 +2540 +37C0 +4D40 +87C0 +ENDCHAR +STARTCHAR U_5B39 +ENCODING 23353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4BA0 +4AA0 +EEE0 +ABA0 +AEE0 +AAA0 +BFE0 +A000 +4440 +A820 +ENDCHAR +STARTCHAR U_5B3A +ENCODING 23354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A40 +2FE0 +F900 +5FC0 +5940 +5FE0 +2140 +5520 +8A40 +0BC0 +ENDCHAR +STARTCHAR U_5B3B +ENCODING 23355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +FFE0 +5AA0 +5FE0 +9440 +E7C0 +2440 +57C0 +8820 +ENDCHAR +STARTCHAR U_5B3C +ENCODING 23356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FA0 +56A0 +FCA0 +A5A0 +AAA0 +BFA0 +A4A0 +BFA0 +7520 +4E20 +9F60 +ENDCHAR +STARTCHAR U_5B3D +ENCODING 23357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F80 +4A80 +EFA0 +B020 +BFE0 +B540 +AFE0 +E100 +3FE0 +5280 +8C60 +ENDCHAR +STARTCHAR U_5B3E +ENCODING 23358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2EE0 +F540 +5FE0 +5520 +55E0 +5F20 +55E0 +2F20 +55E0 +8720 +ENDCHAR +STARTCHAR U_5B3F +ENCODING 23359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5FE0 +E480 +A780 +A8A0 +BBC0 +AA80 +DBE0 +2000 +6D40 +92A0 +ENDCHAR +STARTCHAR U_5B40 +ENCODING 23360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +5AA0 +55E0 +5F20 +55E0 +2720 +2DE0 +5520 +85E0 +ENDCHAR +STARTCHAR U_5B41 +ENCODING 23361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +8420 +77C0 +5540 +77C0 +0800 +FFE0 +0A00 +75C0 +ENDCHAR +STARTCHAR U_5B42 +ENCODING 23362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +FAA0 +57C0 +5440 +57C0 +9540 +6480 +27C0 +5540 +8FE0 +ENDCHAR +STARTCHAR U_5B43 +ENCODING 23363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +FAA0 +AEE0 +A280 +AFE0 +A280 +AFE0 +76A0 +4A40 +8320 +ENDCHAR +STARTCHAR U_5B44 +ENCODING 23364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +4EE0 +FAA0 +5EE0 +5BA0 +9D60 +EFE0 +2920 +5BA0 +8D60 +ENDCHAR +STARTCHAR U_5B45 +ENCODING 23365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AC0 +4AA0 +F580 +BFE0 +AA80 +BBA0 +AAA0 +9B40 +6A40 +5FA0 +8120 +ENDCHAR +STARTCHAR U_5B46 +ENCODING 23366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +4EE0 +FAA0 +5EE0 +5440 +9AA0 +EFE0 +2480 +5380 +8C60 +ENDCHAR +STARTCHAR U_5B47 +ENCODING 23367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +5FE0 +F540 +BFE0 +A540 +BFE0 +A540 +DFE0 +2440 +5380 +8C60 +ENDCHAR +STARTCHAR U_5B48 +ENCODING 23368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +4920 +FFE0 +A900 +AFE0 +A900 +AFE0 +CAA0 +2FE0 +5AA0 +8BA0 +ENDCHAR +STARTCHAR U_5B49 +ENCODING 23369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +5FE0 +4280 +FEE0 +5AA0 +5AE0 +97E0 +DC80 +27E0 +5480 +87E0 +ENDCHAR +STARTCHAR U_5B4A +ENCODING 23370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4A40 +FFE0 +5A40 +5BA0 +9EE0 +EA80 +2EE0 +5280 +96E0 +ENDCHAR +STARTCHAR U_5B4B +ENCODING 23371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4920 +EDA0 +AB60 +AFE0 +AAA0 +AFE0 +ECA0 +2FC0 +54A0 +A6E0 +ENDCHAR +STARTCHAR U_5B4C +ENCODING 23372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E40 +9080 +EEE0 +4040 +BEE0 +AAA0 +5B40 +FFE0 +1100 +0E00 +F9E0 +ENDCHAR +STARTCHAR U_5B4D +ENCODING 23373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +FFE0 +AE00 +AA80 +AEE0 +ABA0 +6EA0 +2AA0 +5E40 +A2A0 +ENDCHAR +STARTCHAR U_5B4E +ENCODING 23374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +FFE0 +AD40 +AB80 +AD40 +AFE0 +CAA0 +37A0 +52A0 +8760 +ENDCHAR +STARTCHAR U_5B4F +ENCODING 23375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4FE0 +4280 +FEE0 +5AA0 +5FE0 +9920 +EFE0 +2D60 +5BA0 +8D60 +ENDCHAR +STARTCHAR U_5B50 +ENCODING 23376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0100 +0200 +0400 +0400 +FFE0 +0400 +0400 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_5B51 +ENCODING 23377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +0100 +0600 +0420 +04C0 +0F00 +F400 +0400 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_5B52 +ENCODING 23378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF00 +0200 +0400 +1800 +1000 +1F80 +1000 +1000 +1000 +5000 +2000 +ENDCHAR +STARTCHAR U_5B53 +ENCODING 23379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0100 +8200 +4C00 +2800 +1800 +0C00 +0B00 +08E0 +2800 +1000 +ENDCHAR +STARTCHAR U_5B54 +ENCODING 23380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +0500 +0900 +1100 +1100 +1D00 +F100 +1120 +1120 +1120 +70E0 +ENDCHAR +STARTCHAR U_5B55 +ENCODING 23381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +1100 +13E0 +2020 +5F20 +82C0 +0400 +FFE0 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_5B56 +ENCODING 23382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0820 +1040 +2080 +2080 +3BE0 +E080 +2080 +2080 +2080 +6180 +ENDCHAR +STARTCHAR U_5B57 +ENCODING 23383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +9F40 +0200 +0400 +FFE0 +0400 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_5B58 +ENCODING 23384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +1000 +2FC0 +2080 +6100 +BFE0 +2100 +2100 +2100 +2700 +ENDCHAR +STARTCHAR U_5B59 +ENCODING 23385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1100 +2100 +2540 +3540 +E520 +2920 +2920 +2100 +2100 +E700 +ENDCHAR +STARTCHAR U_5B5A +ENCODING 23386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +7E40 +4840 +2480 +7FC0 +0200 +0400 +FFE0 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_5B5B +ENCODING 23387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +8020 +3F80 +0200 +FFE0 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_5B5C +ENCODING 23388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +0BE0 +3240 +2640 +3A40 +E140 +2080 +2180 +A240 +4420 +ENDCHAR +STARTCHAR U_5B5D +ENCODING 23389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0420 +3FC0 +0500 +FFE0 +0400 +1F80 +6100 +8200 +7FE0 +0200 +0600 +ENDCHAR +STARTCHAR U_5B5E +ENCODING 23390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0200 +0400 +FFE0 +0400 +1400 +0800 +4440 +A520 +A120 +1F00 +ENDCHAR +STARTCHAR U_5B5F +ENCODING 23391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +0200 +0400 +FFC0 +0400 +1400 +0800 +7F80 +5280 +5280 +FFC0 +ENDCHAR +STARTCHAR U_5B60 +ENCODING 23392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0020 +7FA0 +2120 +3F20 +0060 +3F00 +0200 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_5B61 +ENCODING 23393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +0900 +1200 +2440 +37A0 +6000 +A7E0 +2420 +2420 +2420 +E7E0 +ENDCHAR +STARTCHAR U_5B62 +ENCODING 23394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +0BE0 +1420 +23A0 +2AA0 +33A0 +E220 +22C0 +2200 +A220 +61E0 +ENDCHAR +STARTCHAR U_5B63 +ENCODING 23395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0400 +FFE0 +1500 +E4E0 +3F80 +0200 +FFE0 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_5B64 +ENCODING 23396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8E0 +1740 +2540 +2D40 +3540 +E540 +2540 +2520 +25A0 +AB60 +5020 +ENDCHAR +STARTCHAR U_5B65 +ENCODING 23397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FA40 +4980 +3640 +C820 +1F80 +0100 +FFE0 +0200 +0A00 +0400 +ENDCHAR +STARTCHAR U_5B66 +ENCODING 23398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4880 +2500 +FFC0 +8040 +3F00 +0200 +0400 +FFC0 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_5B67 +ENCODING 23399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +47E0 +F120 +2220 +52A0 +E440 +3F00 +0200 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_5B68 +ENCODING 23400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +0200 +FFE0 +0400 +1400 +0C00 +7BC0 +0840 +3BE0 +D080 +3180 +ENDCHAR +STARTCHAR U_5B69 +ENCODING 23401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +17E0 +2100 +2240 +3780 +E120 +2240 +2480 +2140 +A220 +4C20 +ENDCHAR +STARTCHAR U_5B6A +ENCODING 23402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2A80 +4A40 +8020 +3F80 +0200 +FFE0 +0400 +0400 +0C00 +ENDCHAR +STARTCHAR U_5B6B +ENCODING 23403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +FB00 +1100 +2240 +2780 +3140 +E7A0 +2080 +22C0 +A4A0 +4180 +ENDCHAR +STARTCHAR U_5B6C +ENCODING 23404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0200 +0EC0 +7220 +23C0 +F840 +2880 +4FE0 +5080 +2A80 +C580 +ENDCHAR +STARTCHAR U_5B6D +ENCODING 23405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7BE0 +0A20 +13E0 +1220 +3BE0 +D220 +13E0 +1000 +1240 +3420 +ENDCHAR +STARTCHAR U_5B6E +ENCODING 23406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1FE0 +2820 +27C0 +3000 +6FE0 +A100 +2540 +2920 +B120 +4300 +ENDCHAR +STARTCHAR U_5B6F +ENCODING 23407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +5240 +7940 +4880 +7B60 +0000 +7F80 +0200 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_5B70 +ENCODING 23408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +4BC0 +7940 +0140 +7F40 +09C0 +1140 +7A40 +1420 +7820 +ENDCHAR +STARTCHAR U_5B71 +ENCODING 23409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2100 +3FE0 +2100 +3EE0 +2440 +5FE0 +4440 +9CC0 +ENDCHAR +STARTCHAR U_5B72 +ENCODING 23410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1280 +2280 +2EE0 +2820 +3820 +E820 +2EE0 +2280 +A280 +6FE0 +ENDCHAR +STARTCHAR U_5B73 +ENCODING 23411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2940 +F780 +4A40 +FFA0 +0100 +FFE0 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_5B74 +ENCODING 23412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0200 +FFE0 +1040 +FBE0 +2080 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_5B75 +ENCODING 23413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +CD00 +8A80 +AB20 +EEA0 +ABE0 +EA40 +AEE0 +2840 +4840 +88C0 +ENDCHAR +STARTCHAR U_5B76 +ENCODING 23414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2A80 +1140 +7FC0 +0000 +3F80 +0200 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_5B77 +ENCODING 23415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBE0 +2540 +FC80 +7140 +AA20 +7FE0 +4200 +5FC0 +4200 +8600 +ENDCHAR +STARTCHAR U_5B78 +ENCODING 23416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6AC0 +4440 +6AC0 +4440 +FFE0 +8020 +3F00 +0200 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_5B79 +ENCODING 23417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4FC0 +7A80 +47C0 +7900 +A900 +3F80 +0200 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_5B7A +ENCODING 23418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +1100 +2FE0 +2920 +3AA0 +6FE0 +A100 +2FE0 +2AA0 +AAA0 +6860 +ENDCHAR +STARTCHAR U_5B7B +ENCODING 23419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +17C0 +2140 +27E0 +3140 +6FE0 +A540 +2AA0 +2FE0 +AAA0 +7FE0 +ENDCHAR +STARTCHAR U_5B7C +ENCODING 23420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +FBC0 +5280 +FFE0 +4900 +7900 +1F80 +0200 +FFC0 +0400 +1C00 +ENDCHAR +STARTCHAR U_5B7D +ENCODING 23421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +2080 +7BE0 +4940 +7BE0 +4880 +7FC0 +0100 +FFE0 +0200 +0E00 +ENDCHAR +STARTCHAR U_5B7E +ENCODING 23422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +2AA0 +2EE0 +4AA0 +4EE0 +6440 +CAA0 +5FE0 +4480 +4380 +CC60 +ENDCHAR +STARTCHAR U_5B7F +ENCODING 23423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FA0 +A0C0 +4E40 +E0E0 +4F40 +AAA0 +3F80 +0200 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_5B80 +ENCODING 23424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 5 0 5 +BITMAP +0400 +0200 +7FE0 +4040 +8080 +ENDCHAR +STARTCHAR U_5B81 +ENCODING 23425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +FFC0 +8040 +0000 +FFC0 +0400 +0400 +0400 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_5B82 +ENCODING 23426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +7FE0 +4040 +9E80 +1200 +1200 +2200 +2200 +4240 +81C0 +ENDCHAR +STARTCHAR U_5B83 +ENCODING 23427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +9040 +1000 +1380 +1C00 +1000 +1020 +1020 +0FE0 +ENDCHAR +STARTCHAR U_5B84 +ENCODING 23428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +0800 +7F00 +0900 +0900 +0900 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_5B85 +ENCODING 23429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +8340 +3C00 +0400 +07C0 +7C00 +0420 +0420 +03E0 +ENDCHAR +STARTCHAR U_5B86 +ENCODING 23430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FE0 +4040 +BF80 +0080 +3F80 +2000 +3FC0 +0040 +02C0 +0100 +ENDCHAR +STARTCHAR U_5B87 +ENCODING 23431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +9F80 +0200 +0200 +7FE0 +0200 +0200 +0A00 +0400 +ENDCHAR +STARTCHAR U_5B88 +ENCODING 23432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +7FE0 +4040 +8200 +7FC0 +0200 +2200 +1200 +0200 +0E00 +ENDCHAR +STARTCHAR U_5B89 +ENCODING 23433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +8840 +0800 +FFE0 +1100 +3100 +0E00 +0980 +7060 +ENDCHAR +STARTCHAR U_5B8A +ENCODING 23434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +8540 +0480 +7FC0 +0400 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_5B8B +ENCODING 23435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +8440 +0400 +FFE0 +0E00 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_5B8C +ENCODING 23436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +9F40 +0000 +7FE0 +0A00 +1200 +1220 +2220 +41E0 +ENDCHAR +STARTCHAR U_5B8D +ENCODING 23437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +8840 +0400 +FFE0 +0000 +0900 +1080 +2040 +C040 +ENDCHAR +STARTCHAR U_5B8E +ENCODING 23438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +8340 +3C00 +0400 +FFE0 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_5B8F +ENCODING 23439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4420 +8440 +7FE0 +0800 +0A00 +1200 +2480 +4860 +1FA0 +ENDCHAR +STARTCHAR U_5B90 +ENCODING 23440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +8820 +0F80 +1080 +2900 +2500 +0100 +0200 +FFE0 +ENDCHAR +STARTCHAR U_5B91 +ENCODING 23441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +1100 +7FC0 +1100 +1100 +FFE0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_5B92 +ENCODING 23442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +87A0 +3C00 +0780 +7C00 +07C0 +FC20 +0420 +03E0 +ENDCHAR +STARTCHAR U_5B93 +ENCODING 23443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8820 +84A0 +1480 +5100 +5240 +5420 +98A0 +3080 +CF80 +ENDCHAR +STARTCHAR U_5B94 +ENCODING 23444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +0400 +7FC0 +0400 +0400 +7FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5B95 +ENCODING 23445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +8040 +7FE0 +0800 +1FC0 +3040 +5040 +1FC0 +1040 +ENDCHAR +STARTCHAR U_5B96 +ENCODING 23446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +7880 +0880 +7880 +4100 +7900 +0A40 +0FE0 +3020 +ENDCHAR +STARTCHAR U_5B97 +ENCODING 23447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4020 +9F80 +0000 +7FE0 +0200 +2280 +2240 +4A40 +0400 +ENDCHAR +STARTCHAR U_5B98 +ENCODING 23448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +9FC0 +1080 +1F80 +1000 +1FC0 +1040 +1FC0 +1040 +ENDCHAR +STARTCHAR U_5B99 +ENCODING 23449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4440 +8400 +3FC0 +2440 +3FC0 +2440 +2440 +3FC0 +2040 +ENDCHAR +STARTCHAR U_5B9A +ENCODING 23450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +8040 +3FC0 +0400 +2400 +2780 +2400 +5400 +8FE0 +ENDCHAR +STARTCHAR U_5B9B +ENCODING 23451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +A040 +3FC0 +2A40 +6A40 +1AC0 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_5B9C +ENCODING 23452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +9FC0 +1080 +1F80 +1080 +1F80 +1080 +1080 +7FE0 +ENDCHAR +STARTCHAR U_5B9D +ENCODING 23453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +8020 +3F80 +0400 +0400 +3F80 +0500 +0480 +FFE0 +ENDCHAR +STARTCHAR U_5B9E +ENCODING 23454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5020 +8A40 +2200 +1200 +7FE0 +0200 +0500 +0880 +7060 +ENDCHAR +STARTCHAR U_5B9F +ENCODING 23455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +3F80 +0400 +3F80 +0400 +7FC0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_5BA0 +ENCODING 23456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8A20 +0900 +FFE0 +0A00 +1240 +1280 +2320 +4620 +99E0 +ENDCHAR +STARTCHAR U_5BA1 +ENCODING 23457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +7FC0 +4440 +7FC0 +4440 +7FC0 +4440 +0400 +0400 +ENDCHAR +STARTCHAR U_5BA2 +ENCODING 23458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +9040 +3F00 +5200 +8C00 +3300 +FFC0 +2100 +2100 +3F00 +ENDCHAR +STARTCHAR U_5BA3 +ENCODING 23459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +0000 +3F80 +2080 +3F80 +2080 +3F80 +FFE0 +ENDCHAR +STARTCHAR U_5BA4 +ENCODING 23460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +BFA0 +0800 +1100 +3E80 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5BA5 +ENCODING 23461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8820 +7FC0 +1000 +3F80 +5080 +9F80 +1080 +1F80 +1180 +ENDCHAR +STARTCHAR U_5BA6 +ENCODING 23462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4040 +BF80 +2200 +3F80 +2080 +3F80 +2200 +2200 +3FC0 +ENDCHAR +STARTCHAR U_5BA7 +ENCODING 23463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +BFA0 +2200 +2F80 +2880 +2F80 +2200 +2200 +3FC0 +ENDCHAR +STARTCHAR U_5BA8 +ENCODING 23464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8A20 +2A40 +1A80 +0A00 +1B00 +6AC0 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_5BA9 +ENCODING 23465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +A520 +1600 +FFE0 +0E00 +1500 +6480 +8460 +0400 +ENDCHAR +STARTCHAR U_5BAA +ENCODING 23466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +FFC0 +8040 +2400 +3F00 +4400 +FFC0 +1200 +1200 +2240 +C1C0 +ENDCHAR +STARTCHAR U_5BAB +ENCODING 23467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +8040 +3F00 +2100 +3F00 +0000 +7F80 +4080 +7F80 +4080 +ENDCHAR +STARTCHAR U_5BAC +ENCODING 23468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +42A0 +3FE0 +2200 +3A40 +2A40 +2A80 +2920 +52A0 +8460 +ENDCHAR +STARTCHAR U_5BAD +ENCODING 23469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +0880 +7FE0 +0880 +7FC0 +3040 +5FC0 +9040 +ENDCHAR +STARTCHAR U_5BAE +ENCODING 23470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4040 +9F80 +1080 +1F80 +0400 +3FC0 +2040 +3FC0 +2040 +ENDCHAR +STARTCHAR U_5BAF +ENCODING 23471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +1F40 +0480 +FFE0 +0900 +3200 +CFC0 +0200 +0E00 +ENDCHAR +STARTCHAR U_5BB0 +ENCODING 23472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +3F80 +1100 +0A00 +FFE0 +0400 +3FC0 +0400 +0400 +ENDCHAR +STARTCHAR U_5BB1 +ENCODING 23473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2200 +67C0 +AA00 +23C0 +2200 +23C0 +2200 +2200 +ENDCHAR +STARTCHAR U_5BB2 +ENCODING 23474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +4040 +1F00 +1100 +1F00 +0400 +FFE0 +0E00 +1500 +64C0 +ENDCHAR +STARTCHAR U_5BB3 +ENCODING 23475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +BFA0 +0400 +3F80 +0400 +FFE0 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_5BB4 +ENCODING 23476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +A140 +BF40 +2100 +3F00 +0800 +FFC0 +2200 +1E00 +F1C0 +ENDCHAR +STARTCHAR U_5BB5 +ENCODING 23477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A4A0 +1500 +3F80 +2080 +3F80 +2080 +3F80 +2080 +2180 +ENDCHAR +STARTCHAR U_5BB6 +ENCODING 23478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +BFA0 +1440 +2A80 +1300 +6E80 +1240 +6220 +0C00 +ENDCHAR +STARTCHAR U_5BB7 +ENCODING 23479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +81A0 +3E00 +2480 +1500 +FFE0 +0E00 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_5BB8 +ENCODING 23480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +BFA0 +2000 +2F80 +2000 +3FE0 +2940 +4880 +8C60 +ENDCHAR +STARTCHAR U_5BB9 +ENCODING 23481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2480 +4A40 +1100 +2080 +DF60 +1100 +1100 +1F00 +ENDCHAR +STARTCHAR U_5BBA +ENCODING 23482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +2080 +3F80 +0000 +FFE0 +1500 +2520 +45E0 +ENDCHAR +STARTCHAR U_5BBB +ENCODING 23483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +4A40 +2480 +1B00 +E0E0 +0400 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5BBC +ENCODING 23484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +7200 +07C0 +FA80 +5480 +5280 +5120 +52A0 +8FE0 +ENDCHAR +STARTCHAR U_5BBD +ENCODING 23485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7FC0 +1100 +3F80 +2480 +2480 +2AA0 +1220 +E1E0 +ENDCHAR +STARTCHAR U_5BBE +ENCODING 23486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +80A0 +9F20 +1000 +1FC0 +1100 +1100 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5BBF +ENCODING 23487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9020 +1FC0 +2100 +67C0 +A440 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_5BC0 +ENCODING 23488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +80A0 +FF20 +2480 +1500 +FFE0 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_5BC1 +ENCODING 23489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +8440 +7F80 +0500 +FFC0 +0500 +3F80 +2400 +5400 +8FC0 +ENDCHAR +STARTCHAR U_5BC2 +ENCODING 23490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9020 +1DC0 +1140 +FF40 +1140 +3940 +5480 +9140 +3620 +ENDCHAR +STARTCHAR U_5BC3 +ENCODING 23491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5020 +9E40 +2200 +7F80 +2480 +3F80 +0A80 +1220 +E3E0 +ENDCHAR +STARTCHAR U_5BC4 +ENCODING 23492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +BFA0 +1100 +FFE0 +0080 +3C80 +2480 +3C80 +0380 +ENDCHAR +STARTCHAR U_5BC5 +ENCODING 23493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +BFA0 +0400 +3F80 +2480 +3F80 +2480 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_5BC6 +ENCODING 23494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +88A0 +5500 +9240 +14A0 +EFA0 +0400 +2480 +2480 +3F80 +ENDCHAR +STARTCHAR U_5BC7 +ENCODING 23495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8120 +39C0 +0100 +7FC0 +2940 +2880 +2960 +4A20 +87E0 +ENDCHAR +STARTCHAR U_5BC8 +ENCODING 23496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +3F80 +0400 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_5BC9 +ENCODING 23497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +9220 +BFC0 +6200 +BFC0 +2200 +3FC0 +2200 +3FE0 +2000 +ENDCHAR +STARTCHAR U_5BCA +ENCODING 23498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +07C0 +0400 +3F80 +2080 +3F80 +2080 +3F80 +C060 +ENDCHAR +STARTCHAR U_5BCB +ENCODING 23499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8920 +BFA0 +0900 +7FE0 +1880 +2F40 +4B20 +0840 +07C0 +ENDCHAR +STARTCHAR U_5BCC +ENCODING 23500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +1F00 +1100 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5BCD +ENCODING 23501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +94A0 +5240 +9040 +0F80 +0000 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_5BCE +ENCODING 23502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +8020 +ABE0 +2880 +7BE0 +0AA0 +FAA0 +2B60 +4A20 +8A60 +ENDCHAR +STARTCHAR U_5BCF +ENCODING 23503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8820 +1F00 +2200 +FFC0 +5140 +64C0 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5BD0 +ENCODING 23504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +D120 +57C0 +7100 +1FE0 +F100 +5380 +5540 +9920 +ENDCHAR +STARTCHAR U_5BD1 +ENCODING 23505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +8020 +97A0 +2080 +2780 +6080 +AFE0 +2AA0 +2100 +2EE0 +ENDCHAR +STARTCHAR U_5BD2 +ENCODING 23506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8920 +BFA0 +0900 +FFE0 +0900 +1480 +E360 +0C00 +0300 +ENDCHAR +STARTCHAR U_5BD3 +ENCODING 23507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +BFA0 +2480 +3F80 +2480 +7FC0 +4540 +5F40 +40C0 +ENDCHAR +STARTCHAR U_5BD4 +ENCODING 23508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +90A0 +1F80 +1080 +FFE0 +1200 +13C0 +2A00 +C7E0 +ENDCHAR +STARTCHAR U_5BD5 +ENCODING 23509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +7FC0 +0800 +7FC0 +4A40 +FFE0 +0400 +0400 +0C00 +ENDCHAR +STARTCHAR U_5BD6 +ENCODING 23510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +80A0 +2780 +1080 +9F80 +6080 +3FE0 +D4A0 +4300 +4C60 +ENDCHAR +STARTCHAR U_5BD7 +ENCODING 23511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9220 +54C0 +3FA0 +E480 +3F80 +2480 +FFE0 +2080 +2180 +ENDCHAR +STARTCHAR U_5BD8 +ENCODING 23512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +8840 +7F80 +2100 +3D00 +2F00 +2100 +FFC0 +1200 +E1C0 +ENDCHAR +STARTCHAR U_5BD9 +ENCODING 23513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +89E0 +7700 +5540 +5540 +5540 +5520 +9DE0 +A240 +ENDCHAR +STARTCHAR U_5BDA +ENCODING 23514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +0400 +7FC0 +2000 +3FC0 +C400 +2440 +7FC0 +ENDCHAR +STARTCHAR U_5BDB +ENCODING 23515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5240 +BF80 +1200 +3F80 +2080 +3F80 +2A80 +0A20 +71E0 +ENDCHAR +STARTCHAR U_5BDC +ENCODING 23516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4440 +9100 +5F40 +0000 +3F80 +2A80 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_5BDD +ENCODING 23517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +97A0 +5080 +3780 +1080 +3FE0 +DAA0 +1100 +1EE0 +ENDCHAR +STARTCHAR U_5BDE +ENCODING 23518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +FFE0 +2080 +3F80 +2080 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_5BDF +ENCODING 23519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A220 +BDE0 +6940 +5080 +2F40 +C020 +7FC0 +2480 +CC60 +ENDCHAR +STARTCHAR U_5BE0 +ENCODING 23520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A4A0 +FFE0 +2480 +7FC0 +4440 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_5BE1 +ENCODING 23521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +8840 +3F00 +2100 +3F00 +2100 +FFC0 +4A80 +9240 +6600 +ENDCHAR +STARTCHAR U_5BE2 +ENCODING 23522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +5780 +5080 +7780 +1000 +FFE0 +5AA0 +5100 +9EE0 +ENDCHAR +STARTCHAR U_5BE3 +ENCODING 23523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +5FE0 +5000 +77C0 +1000 +F7C0 +5440 +57C0 +9440 +ENDCHAR +STARTCHAR U_5BE4 +ENCODING 23524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +57C0 +5100 +77C0 +1240 +FFE0 +5440 +5440 +97C0 +ENDCHAR +STARTCHAR U_5BE5 +ENCODING 23525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +AAA0 +99A0 +2A80 +0E00 +F5E0 +1900 +0600 +0180 +1E00 +ENDCHAR +STARTCHAR U_5BE6 +ENCODING 23526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9520 +7FC0 +2A00 +3F80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_5BE7 +ENCODING 23527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +8420 +32C0 +5FA0 +0000 +3F80 +2A80 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_5BE8 +ENCODING 23528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +3F80 +1100 +FFE0 +2480 +5F40 +8420 +2480 +4C40 +ENDCHAR +STARTCHAR U_5BE9 +ENCODING 23529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A4A0 +1500 +FFE0 +1500 +7FC0 +A4A0 +3F80 +2480 +3F80 +ENDCHAR +STARTCHAR U_5BEA +ENCODING 23530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A8A0 +1500 +3F80 +2080 +3FC0 +2040 +3FE0 +5520 +AA60 +ENDCHAR +STARTCHAR U_5BEB +ENCODING 23531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8820 +B3A0 +2080 +3B80 +2080 +3FE0 +D520 +2AA0 +4AC0 +ENDCHAR +STARTCHAR U_5BEC +ENCODING 23532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7FC0 +1100 +3F80 +2080 +3F80 +20E0 +3FA0 +E0E0 +ENDCHAR +STARTCHAR U_5BED +ENCODING 23533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4440 +BF80 +0400 +3F80 +24A0 +FFE0 +0400 +5140 +8F20 +ENDCHAR +STARTCHAR U_5BEE +ENCODING 23534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +FFE0 +5240 +3F80 +E0E0 +3F80 +1500 +2480 +CC60 +ENDCHAR +STARTCHAR U_5BEF +ENCODING 23535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A220 +3FC0 +6200 +BFE0 +2200 +7BC0 +4A40 +4E40 +40C0 +ENDCHAR +STARTCHAR U_5BF0 +ENCODING 23536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +2A80 +FFE0 +2080 +3F80 +1280 +F100 +18E0 +ENDCHAR +STARTCHAR U_5BF1 +ENCODING 23537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8120 +57C0 +5440 +77C0 +1440 +FFE0 +5380 +5540 +9920 +ENDCHAR +STARTCHAR U_5BF2 +ENCODING 23538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +A820 +B7E0 +3D40 +03E0 +7CA0 +1280 +7EE0 +2A80 +C5E0 +ENDCHAR +STARTCHAR U_5BF3 +ENCODING 23539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8220 +7BC0 +1540 +7B80 +1540 +3F80 +2080 +3F80 +60C0 +ENDCHAR +STARTCHAR U_5BF4 +ENCODING 23540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +9020 +7DE0 +2920 +7FE0 +1120 +7DE0 +10C0 +5540 +B260 +ENDCHAR +STARTCHAR U_5BF5 +ENCODING 23541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +93A0 +7A00 +2BC0 +FC40 +4BC0 +7A00 +4BC0 +7A20 +59E0 +ENDCHAR +STARTCHAR U_5BF6 +ENCODING 23542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A520 +77C0 +2540 +FFC0 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_5BF7 +ENCODING 23543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9520 +5540 +7FC0 +5540 +FFE0 +2080 +3F80 +1100 +FFE0 +ENDCHAR +STARTCHAR U_5BF8 +ENCODING 23544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0200 +0200 +0200 +FFC0 +0200 +2200 +1200 +0200 +0200 +0200 +0E00 +ENDCHAR +STARTCHAR U_5BF9 +ENCODING 23545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F080 +1FE0 +9080 +5080 +2480 +2280 +5080 +5080 +8280 +0100 +ENDCHAR +STARTCHAR U_5BFA +ENCODING 23546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +0400 +FFE0 +0100 +FFE0 +2100 +1100 +0500 +0200 +ENDCHAR +STARTCHAR U_5BFB +ENCODING 23547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0080 +3F80 +0080 +7F80 +0100 +FFE0 +2100 +1100 +0500 +0200 +ENDCHAR +STARTCHAR U_5BFC +ENCODING 23548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3FA0 +2020 +1FE0 +0100 +FFE0 +1100 +0900 +0900 +0300 +ENDCHAR +STARTCHAR U_5BFD +ENCODING 23549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C00 +4840 +2480 +1500 +0080 +FFE0 +2080 +1080 +1280 +0100 +ENDCHAR +STARTCHAR U_5BFE +ENCODING 23550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2040 +FBE0 +1040 +9240 +5140 +2140 +2040 +5040 +4940 +8880 +ENDCHAR +STARTCHAR U_5BFF +ENCODING 23551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +0400 +3FC0 +0800 +FFE0 +1080 +3FE0 +4880 +0480 +0180 +ENDCHAR +STARTCHAR U_5C00 +ENCODING 23552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +FC40 +83E0 +B840 +AA40 +A940 +B940 +A840 +8040 +FD40 +0080 +ENDCHAR +STARTCHAR U_5C01 +ENCODING 23553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +7C40 +1040 +13E0 +FC40 +1240 +7D40 +1040 +1040 +1C40 +E1C0 +ENDCHAR +STARTCHAR U_5C02 +ENCODING 23554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +3F80 +2480 +3F80 +0100 +FFE0 +2100 +1100 +1300 +ENDCHAR +STARTCHAR U_5C03 +ENCODING 23555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0900 +FFC0 +4880 +7F80 +4880 +7F80 +4880 +4100 +FFC0 +4100 +2700 +ENDCHAR +STARTCHAR U_5C04 +ENCODING 23556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +7C40 +4440 +7FE0 +4440 +7E40 +4540 +FC40 +2440 +4440 +8CC0 +ENDCHAR +STARTCHAR U_5C05 +ENCODING 23557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +7C40 +13E0 +7C40 +4540 +7D40 +2840 +2940 +2880 +4820 +87C0 +ENDCHAR +STARTCHAR U_5C06 +ENCODING 23558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +A480 +6B00 +2280 +2480 +6FE0 +A480 +2280 +2080 +2180 +ENDCHAR +STARTCHAR U_5C07 +ENCODING 23559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +53E0 +5540 +5280 +F140 +1240 +FFE0 +5240 +5140 +5040 +91C0 +ENDCHAR +STARTCHAR U_5C08 +ENCODING 23560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2480 +3F80 +2480 +7F80 +0540 +FFE0 +1100 +0900 +0300 +ENDCHAR +STARTCHAR U_5C09 +ENCODING 23561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E40 +4240 +7E40 +41E0 +5C40 +4140 +7EC0 +4840 +5C40 +EA40 +99C0 +ENDCHAR +STARTCHAR U_5C0A +ENCODING 23562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0A00 +3FC0 +2A40 +35C0 +3FC0 +0100 +FFE0 +1100 +0700 +ENDCHAR +STARTCHAR U_5C0B +ENCODING 23563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0080 +3F80 +0080 +FFC0 +2240 +FBC0 +0100 +FFE0 +2100 +1700 +ENDCHAR +STARTCHAR U_5C0C +ENCODING 23564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FC40 +2040 +FBE0 +0040 +FA40 +8940 +F940 +8840 +5140 +FC80 +ENDCHAR +STARTCHAR U_5C0D +ENCODING 23565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2840 +AA40 +6C40 +FFE0 +2840 +7D40 +10C0 +7C40 +1040 +1D40 +E080 +ENDCHAR +STARTCHAR U_5C0E +ENCODING 23566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +5FE0 +0840 +CF40 +4BC0 +4840 +BFE0 +0080 +FFE0 +1080 +0980 +ENDCHAR +STARTCHAR U_5C0F +ENCODING 23567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +2480 +2440 +4440 +4420 +8420 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_5C10 +ENCODING 23568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +2480 +4440 +8420 +0400 +2400 +5000 +0800 +0600 +01E0 +ENDCHAR +STARTCHAR U_5C11 +ENCODING 23569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +1480 +1440 +2420 +4480 +0500 +0200 +0400 +1800 +E000 +ENDCHAR +STARTCHAR U_5C12 +ENCODING 23570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2480 +C460 +0500 +2480 +2480 +4440 +9440 +0800 +ENDCHAR +STARTCHAR U_5C13 +ENCODING 23571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +3FE0 +4400 +8400 +1500 +2480 +4440 +8440 +1400 +0800 +ENDCHAR +STARTCHAR U_5C14 +ENCODING 23572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +3FC0 +4040 +8480 +0400 +2500 +2480 +4480 +4440 +8440 +1C00 +ENDCHAR +STARTCHAR U_5C15 +ENCODING 23573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF80 +1100 +13E0 +2020 +44C0 +8400 +2480 +2440 +4420 +9420 +0800 +ENDCHAR +STARTCHAR U_5C16 +ENCODING 23574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1500 +2480 +4440 +8020 +0400 +FFE0 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_5C17 +ENCODING 23575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0780 +0400 +0400 +FFE0 +0400 +2500 +2480 +4440 +9440 +0800 +ENDCHAR +STARTCHAR U_5C18 +ENCODING 23576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +2480 +2440 +4420 +8000 +0400 +7FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5C19 +ENCODING 23577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2480 +4440 +8420 +7FC0 +4040 +5F40 +5140 +5F40 +4040 +40C0 +ENDCHAR +STARTCHAR U_5C1A +ENCODING 23578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2480 +1500 +FFE0 +8020 +9F20 +9120 +9120 +9F20 +8020 +80E0 +ENDCHAR +STARTCHAR U_5C1B +ENCODING 23579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1500 +2480 +4440 +0400 +1080 +1080 +5AC0 +94A0 +1080 +3180 +ENDCHAR +STARTCHAR U_5C1C +ENCODING 23580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2480 +4440 +8020 +0400 +FFE0 +1500 +E4E0 +1500 +2480 +CC60 +ENDCHAR +STARTCHAR U_5C1D +ENCODING 23581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2480 +0400 +FFE0 +8020 +3F80 +0000 +FFE0 +1000 +2080 +7FC0 +ENDCHAR +STARTCHAR U_5C1E +ENCODING 23582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2A80 +1F00 +3180 +DF60 +1100 +1F00 +0400 +2480 +4C40 +ENDCHAR +STARTCHAR U_5C1F +ENCODING 23583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +4480 +7DC0 +46A0 +7CA0 +0080 +FCA0 +5040 +5D80 +B000 +8FE0 +ENDCHAR +STARTCHAR U_5C20 +ENCODING 23584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +FC80 +4880 +79C0 +49A0 +7A80 +48A0 +FCA0 +5840 +6480 +7F00 +ENDCHAR +STARTCHAR U_5C21 +ENCODING 23585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +AA20 +73E0 +2220 +FBE0 +5280 +53A0 +52C0 +5280 +9AA0 +9360 +ENDCHAR +STARTCHAR U_5C22 +ENCODING 23586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +0800 +FFE0 +0A00 +0A00 +0A00 +1200 +1220 +2220 +41E0 +ENDCHAR +STARTCHAR U_5C23 +ENCODING 23587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1200 +2100 +4080 +9240 +1200 +1200 +1200 +2220 +4220 +81E0 +ENDCHAR +STARTCHAR U_5C24 +ENCODING 23588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +0880 +0800 +FFE0 +0A00 +0A00 +1200 +1200 +2220 +4220 +81E0 +ENDCHAR +STARTCHAR U_5C25 +ENCODING 23589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +FC40 +2040 +2A40 +2940 +2940 +2840 +28E0 +4820 +87E0 +ENDCHAR +STARTCHAR U_5C26 +ENCODING 23590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2500 +43C0 +AC40 +2A40 +2940 +2840 +2940 +48A0 +4820 +87E0 +ENDCHAR +STARTCHAR U_5C27 +ENCODING 23591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +FD00 +0A40 +0C40 +73C0 +0000 +FFE0 +1200 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_5C28 +ENCODING 23592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +0840 +FFE0 +0A00 +0B40 +16A0 +1340 +1680 +2320 +4620 +81E0 +ENDCHAR +STARTCHAR U_5C29 +ENCODING 23593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +27C0 +4500 +A900 +2BC0 +2900 +2900 +2FC0 +2800 +4820 +87E0 +ENDCHAR +STARTCHAR U_5C2A +ENCODING 23594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4100 +F900 +57C0 +5100 +5100 +5100 +5FE0 +5020 +9020 +8FE0 +ENDCHAR +STARTCHAR U_5C2B +ENCODING 23595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC00 +57C0 +5100 +5100 +57C0 +5100 +5100 +57E0 +5000 +9020 +8FE0 +ENDCHAR +STARTCHAR U_5C2C +ENCODING 23596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +4240 +FC20 +5280 +5280 +5280 +5280 +5280 +54A0 +9020 +8FE0 +ENDCHAR +STARTCHAR U_5C2D +ENCODING 23597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +2080 +FFE0 +2080 +7FC0 +1200 +1200 +2220 +C1E0 +ENDCHAR +STARTCHAR U_5C2E +ENCODING 23598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F80 +4480 +FCC0 +5440 +58C0 +5100 +5FE0 +5540 +5920 +5120 +8FE0 +ENDCHAR +STARTCHAR U_5C2F +ENCODING 23599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4480 +FFE0 +5400 +55C0 +5540 +55C0 +5520 +59E0 +5020 +8FE0 +ENDCHAR +STARTCHAR U_5C30 +ENCODING 23600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4100 +FFE0 +5540 +57C0 +5540 +57C0 +5100 +57C0 +9120 +8FE0 +ENDCHAR +STARTCHAR U_5C31 +ENCODING 23601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD40 +0120 +7FE0 +4A80 +7A80 +1280 +5AA0 +56A0 +92A0 +3460 +ENDCHAR +STARTCHAR U_5C32 +ENCODING 23602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +5FC0 +4500 +FFC0 +5540 +5FE0 +5540 +5FC0 +55A0 +5D60 +8FE0 +ENDCHAR +STARTCHAR U_5C33 +ENCODING 23603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2640 +F540 +5FE0 +5A20 +53C0 +5240 +53C0 +5240 +9260 +8FE0 +ENDCHAR +STARTCHAR U_5C34 +ENCODING 23604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4AE0 +FB80 +4A40 +A200 +A000 +AFE0 +AAA0 +BFE0 +A020 +9FE0 +ENDCHAR +STARTCHAR U_5C35 +ENCODING 23605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +F540 +5FE0 +5000 +57C0 +5540 +57C0 +5280 +5440 +8FE0 +ENDCHAR +STARTCHAR U_5C36 +ENCODING 23606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +5560 +57C0 +54A0 +57A0 +5520 +57E0 +5540 +5FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_5C37 +ENCODING 23607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F40 +4AE0 +FF00 +4940 +4F20 +4A00 +4FE0 +AAA0 +BFE0 +A020 +9FE0 +ENDCHAR +STARTCHAR U_5C38 +ENCODING 23608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +2020 +2020 +3FE0 +2020 +2000 +2000 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_5C39 +ENCODING 23609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +0880 +0880 +FFC0 +0880 +0880 +7F80 +1080 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_5C3A +ENCODING 23610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +2040 +2040 +3FC0 +2400 +2400 +2200 +2100 +4080 +8060 +ENDCHAR +STARTCHAR U_5C3B +ENCODING 23611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +2040 +3FC0 +2400 +3F80 +2480 +2480 +44A0 +48A0 +90E0 +ENDCHAR +STARTCHAR U_5C3C +ENCODING 23612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +2040 +3FC0 +2000 +2840 +2980 +2E00 +4820 +4820 +87E0 +ENDCHAR +STARTCHAR U_5C3D +ENCODING 23613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +2080 +3F80 +2200 +2100 +4C80 +4240 +9820 +0400 +0200 +ENDCHAR +STARTCHAR U_5C3E +ENCODING 23614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2180 +3E00 +23C0 +3E00 +23C0 +3E20 +4220 +83E0 +ENDCHAR +STARTCHAR U_5C3F +ENCODING 23615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2200 +2240 +3E80 +2700 +2A80 +5240 +AA20 +0400 +ENDCHAR +STARTCHAR U_5C40 +ENCODING 23616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2000 +3FE0 +2020 +2F20 +2920 +4F20 +4920 +80C0 +ENDCHAR +STARTCHAR U_5C41 +ENCODING 23617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2900 +2900 +2F40 +2980 +2900 +2B20 +4D20 +89E0 +ENDCHAR +STARTCHAR U_5C42 +ENCODING 23618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2000 +2FC0 +2000 +3FE0 +2200 +2480 +4840 +8FE0 +ENDCHAR +STARTCHAR U_5C43 +ENCODING 23619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4000 +5FC0 +5040 +5240 +5240 +5200 +44C0 +9820 +ENDCHAR +STARTCHAR U_5C44 +ENCODING 23620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2100 +2FE0 +2820 +2AA0 +2480 +2440 +4820 +9020 +ENDCHAR +STARTCHAR U_5C45 +ENCODING 23621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2200 +3FE0 +2200 +2FC0 +2840 +2840 +4FC0 +8840 +ENDCHAR +STARTCHAR U_5C46 +ENCODING 23622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2100 +2920 +2FE0 +2920 +2FE0 +2820 +4FE0 +8820 +ENDCHAR +STARTCHAR U_5C47 +ENCODING 23623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2000 +2FE0 +2920 +2920 +2FE0 +2920 +4920 +8FE0 +ENDCHAR +STARTCHAR U_5C48 +ENCODING 23624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2000 +2920 +2920 +2FE0 +2100 +2920 +4920 +8FE0 +ENDCHAR +STARTCHAR U_5C49 +ENCODING 23625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2A80 +2A80 +3FE0 +2A80 +2A80 +4B80 +4800 +8FE0 +ENDCHAR +STARTCHAR U_5C4A +ENCODING 23626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2100 +2100 +2FE0 +2920 +2FE0 +4920 +4FE0 +8820 +ENDCHAR +STARTCHAR U_5C4B +ENCODING 23627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2000 +3FE0 +2480 +2FC0 +2100 +2FC0 +4100 +9FE0 +ENDCHAR +STARTCHAR U_5C4C +ENCODING 23628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2000 +2FC0 +2840 +2FC0 +2100 +2FE0 +4920 +8960 +ENDCHAR +STARTCHAR U_5C4D +ENCODING 23629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2000 +3FE0 +2900 +2F20 +3340 +2DA0 +4920 +90E0 +ENDCHAR +STARTCHAR U_5C4E +ENCODING 23630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2200 +2A40 +2680 +3FE0 +2300 +2680 +4A40 +9220 +ENDCHAR +STARTCHAR U_5C4F +ENCODING 23631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2840 +2480 +3FE0 +2480 +3FE0 +2480 +4880 +9080 +ENDCHAR +STARTCHAR U_5C50 +ENCODING 23632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2480 +2BE0 +3480 +2BE0 +3940 +2880 +4940 +8A20 +ENDCHAR +STARTCHAR U_5C51 +ENCODING 23633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2920 +2540 +2FC0 +2840 +2FC0 +2840 +4FC0 +8840 +ENDCHAR +STARTCHAR U_5C52 +ENCODING 23634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4000 +5FC0 +5000 +5FC0 +5000 +5FE0 +A940 +CCE0 +ENDCHAR +STARTCHAR U_5C53 +ENCODING 23635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4000 +5FC0 +5040 +5FC0 +5040 +5FC0 +4480 +9840 +ENDCHAR +STARTCHAR U_5C54 +ENCODING 23636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +7420 +4420 +7FE0 +5500 +5520 +5540 +5580 +5D20 +F520 +08E0 +ENDCHAR +STARTCHAR U_5C55 +ENCODING 23637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4900 +7FC0 +4900 +7FE0 +5240 +5180 +9480 +9860 +ENDCHAR +STARTCHAR U_5C56 +ENCODING 23638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2200 +3FE0 +2500 +3FE0 +2200 +3FE0 +4200 +8200 +ENDCHAR +STARTCHAR U_5C57 +ENCODING 23639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +4440 +7FE0 +4A40 +7140 +5D40 +7040 +5D40 +70A0 +9020 +8FE0 +ENDCHAR +STARTCHAR U_5C58 +ENCODING 23640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4440 +7C80 +4880 +73E0 +5080 +7C80 +5080 +7DA0 +5020 +8FE0 +ENDCHAR +STARTCHAR U_5C59 +ENCODING 23641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4000 +5FE0 +5440 +59C0 +5540 +55C0 +5C40 +90C0 +ENDCHAR +STARTCHAR U_5C5A +ENCODING 23642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4000 +7FE0 +4200 +7FE0 +6AA0 +6220 +AAA0 +A260 +ENDCHAR +STARTCHAR U_5C5B +ENCODING 23643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4440 +4880 +5DE0 +4880 +5DE0 +4880 +8880 +9080 +ENDCHAR +STARTCHAR U_5C5C +ENCODING 23644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4AA0 +52A0 +6FE0 +52A0 +72A0 +52E0 +9200 +93E0 +ENDCHAR +STARTCHAR U_5C5D +ENCODING 23645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2500 +3DE0 +2500 +3DC0 +2500 +5DE0 +4500 +8500 +ENDCHAR +STARTCHAR U_5C5E +ENCODING 23646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4040 +5F80 +4200 +5FC0 +5240 +BFE0 +A220 +AF60 +ENDCHAR +STARTCHAR U_5C5F +ENCODING 23647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +5280 +7FE0 +5280 +5F80 +4400 +7FE0 +5480 +A440 +ENDCHAR +STARTCHAR U_5C60 +ENCODING 23648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2240 +2F40 +2280 +3FE0 +2440 +2FC0 +5440 +87C0 +ENDCHAR +STARTCHAR U_5C61 +ENCODING 23649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2940 +3FE0 +2940 +3220 +3FE0 +2480 +4300 +9CE0 +ENDCHAR +STARTCHAR U_5C62 +ENCODING 23650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4A80 +7FE0 +4A40 +7FE0 +4480 +4880 +8700 +BCE0 +ENDCHAR +STARTCHAR U_5C63 +ENCODING 23651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2480 +2AE0 +3680 +2BE0 +2A80 +2AE0 +4D80 +88E0 +ENDCHAR +STARTCHAR U_5C64 +ENCODING 23652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4480 +5FE0 +5520 +5FE0 +4840 +4FC0 +8840 +8FC0 +ENDCHAR +STARTCHAR U_5C65 +ENCODING 23653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4A40 +53C0 +6A40 +53C0 +7640 +5A80 +9180 +9660 +ENDCHAR +STARTCHAR U_5C66 +ENCODING 23654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +5540 +67E0 +4B40 +5520 +77E0 +5240 +9180 +9660 +ENDCHAR +STARTCHAR U_5C67 +ENCODING 23655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +5540 +6FE0 +4D40 +57E0 +7100 +5FE0 +9540 +9920 +ENDCHAR +STARTCHAR U_5C68 +ENCODING 23656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2AA0 +37E0 +26A0 +2AA0 +3FE0 +4A40 +4980 +8E60 +ENDCHAR +STARTCHAR U_5C69 +ENCODING 23657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +FFE0 +9100 +AFE0 +D480 +AFE0 +E480 +AFE0 +AAA0 +ABE0 +ENDCHAR +STARTCHAR U_5C6A +ENCODING 23658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4200 +7FE0 +68A0 +5FC0 +68A0 +4F80 +8A80 +B260 +ENDCHAR +STARTCHAR U_5C6B +ENCODING 23659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +4900 +6FE0 +6A40 +7DA0 +4BE0 +BAA0 +ABA0 +CA60 +ENDCHAR +STARTCHAR U_5C6C +ENCODING 23660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2A80 +3FC0 +2540 +3FE0 +3AA0 +2FA0 +42A0 +9F60 +ENDCHAR +STARTCHAR U_5C6D +ENCODING 23661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +5040 +5FC0 +5040 +5FC0 +5540 +5540 +5DC0 +A220 +ENDCHAR +STARTCHAR U_5C6E +ENCODING 23662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +8880 +8880 +8880 +FF80 +8880 +0800 +0800 +0800 +0800 +ENDCHAR +STARTCHAR U_5C6F +ENCODING 23663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +2480 +2480 +2480 +3F80 +0420 +0420 +03E0 +ENDCHAR +STARTCHAR U_5C70 +ENCODING 23664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +1200 +FFE0 +0400 +4440 +4440 +7FC0 +4440 +0800 +1000 +6000 +ENDCHAR +STARTCHAR U_5C71 +ENCODING 23665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +8880 +8880 +8880 +8880 +8880 +8880 +8880 +FF80 +8080 +ENDCHAR +STARTCHAR U_5C72 +ENCODING 23666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +03E0 +FC00 +0400 +0400 +4440 +4440 +4440 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5C73 +ENCODING 23667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C00 +0400 +0A00 +3180 +C460 +0400 +4440 +4440 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_5C74 +ENCODING 23668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +4440 +4440 +7FC0 +0400 +FF80 +0880 +0880 +1080 +2480 +C300 +ENDCHAR +STARTCHAR U_5C75 +ENCODING 23669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +0000 +7FC0 +4000 +4000 +4000 +8000 +8000 +ENDCHAR +STARTCHAR U_5C76 +ENCODING 23670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +0000 +7FC0 +1040 +1040 +1040 +2140 +C080 +ENDCHAR +STARTCHAR U_5C77 +ENCODING 23671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +AA80 +AB00 +ABE0 +AA20 +AA20 +AA20 +FA20 +84A0 +0860 +ENDCHAR +STARTCHAR U_5C78 +ENCODING 23672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +A900 +A900 +A900 +A900 +A900 +A900 +F900 +0100 +0FE0 +ENDCHAR +STARTCHAR U_5C79 +ENCODING 23673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +AA00 +AC00 +ABE0 +A840 +A880 +A900 +F920 +8A20 +01E0 +ENDCHAR +STARTCHAR U_5C7A +ENCODING 23674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2020 +A820 +A820 +ABE0 +AA20 +AA00 +AA00 +FA20 +8A20 +01E0 +ENDCHAR +STARTCHAR U_5C7B +ENCODING 23675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +A920 +AB20 +AD20 +A920 +A920 +AA20 +FA20 +04A0 +0840 +ENDCHAR +STARTCHAR U_5C7C +ENCODING 23676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +AA80 +AA80 +AA80 +AA80 +AA80 +BA80 +C4A0 +04A0 +08E0 +ENDCHAR +STARTCHAR U_5C7D +ENCODING 23677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +2100 +A900 +A900 +AFE0 +A900 +A900 +A900 +F900 +8100 +ENDCHAR +STARTCHAR U_5C7E +ENCODING 23678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +AAA0 +AAA0 +AAA0 +AAA0 +AAA0 +AAA0 +BAA0 +CBE0 +0220 +ENDCHAR +STARTCHAR U_5C7F +ENCODING 23679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +2200 +23E0 +AA00 +AA00 +ABE0 +A820 +AFA0 +B820 +C020 +00C0 +ENDCHAR +STARTCHAR U_5C80 +ENCODING 23680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +4040 +0400 +8420 +8420 +8420 +FFE0 +8020 +ENDCHAR +STARTCHAR U_5C81 +ENCODING 23681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +4440 +4440 +7FC0 +0800 +0FC0 +1040 +6880 +0500 +0200 +0C00 +F000 +ENDCHAR +STARTCHAR U_5C82 +ENCODING 23682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8880 +8880 +FF80 +0000 +FF00 +0100 +FF00 +8000 +8040 +8040 +7FC0 +ENDCHAR +STARTCHAR U_5C83 +ENCODING 23683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0400 +4440 +4440 +7FC0 +0000 +FFC0 +0440 +2440 +C840 +1040 +61C0 +ENDCHAR +STARTCHAR U_5C84 +ENCODING 23684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +AA20 +ABE0 +AA20 +AA20 +ABE0 +AA20 +FA20 +8420 +0860 +ENDCHAR +STARTCHAR U_5C85 +ENCODING 23685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +2200 +ABC0 +AA40 +AA40 +AB40 +BC80 +C480 +0940 +1220 +ENDCHAR +STARTCHAR U_5C86 +ENCODING 23686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2380 +A880 +A880 +AFE0 +A880 +A880 +A940 +FA40 +8C20 +0820 +ENDCHAR +STARTCHAR U_5C87 +ENCODING 23687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +8880 +FF80 +0000 +3780 +C480 +8480 +A680 +C500 +0400 +0400 +ENDCHAR +STARTCHAR U_5C88 +ENCODING 23688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2280 +AA80 +AA80 +AFE0 +A880 +A980 +AA80 +FC80 +8A80 +0100 +ENDCHAR +STARTCHAR U_5C89 +ENCODING 23689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +AFE0 +AAA0 +AAA0 +AAA0 +ACA0 +A920 +FA20 +8C20 +00C0 +ENDCHAR +STARTCHAR U_5C8A +ENCODING 23690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +8880 +FF80 +8040 +8040 +7FC0 +0800 +8880 +8880 +FF80 +8080 +ENDCHAR +STARTCHAR U_5C8B +ENCODING 23691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +AA40 +AA80 +AAE0 +AA20 +AA40 +FD40 +8480 +0940 +1220 +ENDCHAR +STARTCHAR U_5C8C +ENCODING 23692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8840 +8840 +FFC0 +0000 +FF80 +1100 +1380 +1900 +2600 +4900 +B0C0 +ENDCHAR +STARTCHAR U_5C8D +ENCODING 23693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2240 +AA40 +AA40 +AFE0 +AA40 +AA40 +AA40 +FA40 +8C40 +0840 +ENDCHAR +STARTCHAR U_5C8E +ENCODING 23694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +AA80 +AC40 +A820 +AFC0 +AA40 +BA40 +C240 +0540 +0880 +ENDCHAR +STARTCHAR U_5C8F +ENCODING 23695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2000 +A800 +AFE0 +AA80 +AA80 +AA80 +FA80 +8AA0 +04A0 +0860 +ENDCHAR +STARTCHAR U_5C90 +ENCODING 23696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +A900 +A900 +AFC0 +AC40 +AC40 +FA80 +8900 +0280 +0C60 +ENDCHAR +STARTCHAR U_5C91 +ENCODING 23697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +0400 +0A00 +3580 +C260 +1F80 +0100 +0200 +0400 +ENDCHAR +STARTCHAR U_5C92 +ENCODING 23698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +AC60 +A920 +A880 +A800 +AFE0 +F840 +8840 +0080 +0100 +ENDCHAR +STARTCHAR U_5C93 +ENCODING 23699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2380 +AA00 +AA00 +ABE0 +AA40 +AA40 +FA40 +8A40 +0440 +0840 +ENDCHAR +STARTCHAR U_5C94 +ENCODING 23700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2100 +4080 +BF60 +0900 +1100 +6600 +0400 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5C95 +ENCODING 23701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +0400 +0A00 +3180 +C060 +1100 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_5C96 +ENCODING 23702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2200 +AB20 +AAA0 +AA40 +AA40 +AAA0 +FB20 +8A00 +0200 +03E0 +ENDCHAR +STARTCHAR U_5C97 +ENCODING 23703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +8880 +8880 +FF80 +0000 +FF80 +A280 +9480 +8C80 +9280 +A080 +8180 +ENDCHAR +STARTCHAR U_5C98 +ENCODING 23704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +AAA0 +AAA0 +AAA0 +AAA0 +AAA0 +A880 +F9A0 +8AA0 +0460 +ENDCHAR +STARTCHAR U_5C99 +ENCODING 23705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E00 +0400 +FFE0 +0A00 +3580 +C460 +4440 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_5C9A +ENCODING 23706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +0000 +7FC0 +4040 +5140 +4A40 +4440 +4A40 +9120 +ENDCHAR +STARTCHAR U_5C9B +ENCODING 23707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0800 +7F00 +5100 +4900 +4200 +7FC0 +1040 +9240 +9240 +FE40 +0180 +ENDCHAR +STARTCHAR U_5C9C +ENCODING 23708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +8880 +8880 +FF80 +0000 +FF00 +8900 +FF00 +8100 +8080 +8080 +7F80 +ENDCHAR +STARTCHAR U_5C9D +ENCODING 23709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4440 +4440 +7FC0 +1000 +3FC0 +4800 +8F80 +0800 +0FC0 +0800 +0800 +ENDCHAR +STARTCHAR U_5C9E +ENCODING 23710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +2100 +23E0 +AD00 +A900 +A9E0 +A900 +A9E0 +B900 +C900 +0100 +ENDCHAR +STARTCHAR U_5C9F +ENCODING 23711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AFC0 +AD40 +AD40 +AD40 +AFE0 +F900 +8A80 +0440 +0820 +ENDCHAR +STARTCHAR U_5CA0 +ENCODING 23712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2200 +AA00 +ABC0 +AA40 +AA40 +ABC0 +FA40 +8A00 +0200 +03E0 +ENDCHAR +STARTCHAR U_5CA1 +ENCODING 23713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +9120 +8A20 +FFE0 +8420 +A4A0 +A4A0 +BFA0 +8020 +80E0 +ENDCHAR +STARTCHAR U_5CA2 +ENCODING 23714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +4220 +7FE0 +0000 +FFE0 +0080 +3C80 +2480 +3C80 +0080 +0180 +ENDCHAR +STARTCHAR U_5CA3 +ENCODING 23715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +ABE0 +AC20 +ABA0 +AAA0 +AAA0 +ABA0 +F820 +8820 +00C0 +ENDCHAR +STARTCHAR U_5CA4 +ENCODING 23716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +AFE0 +A820 +AA80 +AA80 +AA80 +AA40 +FC40 +8420 +0820 +ENDCHAR +STARTCHAR U_5CA5 +ENCODING 23717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23E0 +AAA0 +AA80 +ABE0 +AA40 +AA40 +FB40 +8A80 +0540 +0A20 +ENDCHAR +STARTCHAR U_5CA6 +ENCODING 23718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +0800 +0400 +7FC0 +0000 +1100 +0900 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_5CA7 +ENCODING 23719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4440 +7FC0 +0000 +FFC0 +0840 +3280 +C100 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_5CA8 +ENCODING 23720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +AA40 +ABC0 +AA40 +AA40 +ABC0 +FA40 +8A40 +0240 +0FE0 +ENDCHAR +STARTCHAR U_5CA9 +ENCODING 23721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8840 +8840 +FFC0 +0000 +FFC0 +1000 +3F80 +6080 +A080 +3F80 +2080 +ENDCHAR +STARTCHAR U_5CAA +ENCODING 23722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8440 +FFC0 +1200 +FFC0 +1240 +FFC0 +9200 +FFC0 +1240 +2240 +C280 +ENDCHAR +STARTCHAR U_5CAB +ENCODING 23723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +ABE0 +AAA0 +AAA0 +ABE0 +AAA0 +AAA0 +FAA0 +8BE0 +0220 +ENDCHAR +STARTCHAR U_5CAC +ENCODING 23724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +22A0 +AAA0 +ABE0 +AAA0 +AAA0 +ABE0 +FAA0 +8880 +0080 +0080 +ENDCHAR +STARTCHAR U_5CAD +ENCODING 23725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2180 +AA40 +AD20 +A880 +A800 +AFE0 +B840 +EB80 +0080 +0040 +ENDCHAR +STARTCHAR U_5CAE +ENCODING 23726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +AFE0 +AC20 +A900 +A920 +A940 +A980 +F920 +8920 +00E0 +ENDCHAR +STARTCHAR U_5CAF +ENCODING 23727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2080 +A900 +A900 +AB40 +AD20 +A920 +F900 +8900 +0000 +0FE0 +ENDCHAR +STARTCHAR U_5CB0 +ENCODING 23728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +ADE0 +AAA0 +AEA0 +AAA0 +ACA0 +FAA0 +8FA0 +0120 +0240 +ENDCHAR +STARTCHAR U_5CB1 +ENCODING 23729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +2440 +3FE0 +6200 +A120 +24E0 +0400 +4440 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_5CB2 +ENCODING 23730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +2220 +2220 +AA20 +ABE0 +A940 +A940 +A940 +B940 +CA40 +0460 +ENDCHAR +STARTCHAR U_5CB3 +ENCODING 23731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +3E00 +2000 +3FC0 +2200 +2200 +FFE0 +0400 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5CB4 +ENCODING 23732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +2200 +2200 +AA00 +ABE0 +AA40 +AA40 +AA40 +BA40 +CA40 +07E0 +ENDCHAR +STARTCHAR U_5CB5 +ENCODING 23733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +ABE0 +A880 +A880 +ABE0 +AA20 +AA20 +FA20 +8BE0 +0220 +ENDCHAR +STARTCHAR U_5CB6 +ENCODING 23734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2100 +ABE0 +AA20 +AA20 +ABE0 +AA20 +AA20 +FA20 +8BE0 +0220 +ENDCHAR +STARTCHAR U_5CB7 +ENCODING 23735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +AA20 +ABE0 +AA80 +AA80 +ABE0 +AA80 +FAA0 +8B60 +0620 +ENDCHAR +STARTCHAR U_5CB8 +ENCODING 23736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +0000 +7FE0 +4000 +5FC0 +4200 +7FE0 +4200 +8200 +ENDCHAR +STARTCHAR U_5CB9 +ENCODING 23737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +2120 +2120 +A920 +AA60 +A800 +ABE0 +AA20 +BA20 +CBE0 +0220 +ENDCHAR +STARTCHAR U_5CBA +ENCODING 23738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0400 +0A00 +3580 +C460 +1F00 +0100 +0A00 +0400 +ENDCHAR +STARTCHAR U_5CBB +ENCODING 23739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +2380 +2280 +AA80 +ABE0 +AA80 +AA80 +AA80 +AA40 +FB40 +02A0 +ENDCHAR +STARTCHAR U_5CBC +ENCODING 23740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +2100 +2120 +AD40 +AB80 +AFE0 +A900 +A900 +B900 +C900 +0100 +ENDCHAR +STARTCHAR U_5CBD +ENCODING 23741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +0800 +7FE0 +1200 +7FC0 +0200 +1280 +2A40 +C420 +ENDCHAR +STARTCHAR U_5CBE +ENCODING 23742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +2080 +2080 +A8E0 +A880 +A880 +ABE0 +AA20 +BA20 +CA20 +03E0 +ENDCHAR +STARTCHAR U_5CBF +ENCODING 23743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +0800 +4FE0 +4820 +4820 +4BE0 +4820 +3020 +C7E0 +ENDCHAR +STARTCHAR U_5CC0 +ENCODING 23744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +8880 +FF80 +0800 +FF80 +8880 +8880 +FF80 +8880 +8880 +FF80 +ENDCHAR +STARTCHAR U_5CC1 +ENCODING 23745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8440 +8440 +FFC0 +0800 +73C0 +4240 +4A40 +5A40 +EAC0 +1200 +E200 +ENDCHAR +STARTCHAR U_5CC2 +ENCODING 23746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +23C0 +2440 +AA80 +A900 +AA80 +AC60 +AB00 +B880 +CA00 +0180 +ENDCHAR +STARTCHAR U_5CC3 +ENCODING 23747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +24C0 +1500 +FFE0 +8020 +0400 +4440 +4440 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5CC4 +ENCODING 23748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2440 +AA80 +A900 +AEE0 +A900 +AFC0 +F900 +8FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_5CC5 +ENCODING 23749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +2100 +2240 +AFE0 +AA40 +AA40 +AFE0 +AA40 +BA40 +CC40 +0840 +ENDCHAR +STARTCHAR U_5CC6 +ENCODING 23750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +AC40 +A820 +ABC0 +A800 +ABC0 +FA40 +8A40 +03C0 +0240 +ENDCHAR +STARTCHAR U_5CC7 +ENCODING 23751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +7FE0 +0A00 +1100 +2080 +5F40 +8020 +1F80 +1080 +1F80 +1080 +ENDCHAR +STARTCHAR U_5CC8 +ENCODING 23752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +AE40 +A980 +AA40 +AC20 +ABE0 +FA20 +8A20 +03E0 +0220 +ENDCHAR +STARTCHAR U_5CC9 +ENCODING 23753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +1000 +3F80 +5100 +8E00 +3180 +DF60 +1100 +1100 +1F00 +ENDCHAR +STARTCHAR U_5CCA +ENCODING 23754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +7F00 +4100 +7F00 +4000 +7F80 +4080 +7F80 +8440 +8440 +FFC0 +ENDCHAR +STARTCHAR U_5CCB +ENCODING 23755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +AC20 +ABA0 +AAA0 +ABA0 +AAA0 +FBA0 +8AA0 +0020 +00C0 +ENDCHAR +STARTCHAR U_5CCC +ENCODING 23756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +A900 +AA40 +AFA0 +A900 +A900 +FFC0 +8900 +0100 +0FE0 +ENDCHAR +STARTCHAR U_5CCD +ENCODING 23757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +27C0 +2140 +AFE0 +A940 +AFC0 +A900 +AFC0 +B900 +CFE0 +0100 +ENDCHAR +STARTCHAR U_5CCE +ENCODING 23758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8440 +FFC0 +0000 +7F80 +4080 +7F80 +4080 +7FC0 +4480 +5B00 +61C0 +ENDCHAR +STARTCHAR U_5CCF +ENCODING 23759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +AA00 +AFE0 +AAA0 +AAA0 +AAA0 +FAA0 +8AA0 +0A20 +0860 +ENDCHAR +STARTCHAR U_5CD0 +ENCODING 23760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +A880 +A920 +ABC0 +A880 +A920 +FA40 +8880 +0140 +0620 +ENDCHAR +STARTCHAR U_5CD1 +ENCODING 23761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0400 +1B00 +E0E0 +1F00 +0400 +3F80 +0400 +7FC0 +ENDCHAR +STARTCHAR U_5CD2 +ENCODING 23762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +ABA0 +A820 +ABA0 +AAA0 +AAA0 +FBA0 +8AA0 +0820 +0860 +ENDCHAR +STARTCHAR U_5CD3 +ENCODING 23763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +A900 +AFC0 +A940 +AFC0 +A900 +FFE0 +8AA0 +0440 +0820 +ENDCHAR +STARTCHAR U_5CD4 +ENCODING 23764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2120 +AFA0 +A940 +AFE0 +A900 +AA40 +FE80 +8B20 +0220 +01E0 +ENDCHAR +STARTCHAR U_5CD5 +ENCODING 23765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0400 +FFE0 +0000 +7FC0 +4040 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_5CD6 +ENCODING 23766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +AD20 +A900 +AFE0 +A940 +AA40 +FA40 +8980 +0340 +0C20 +ENDCHAR +STARTCHAR U_5CD7 +ENCODING 23767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +AC80 +AFE0 +AC00 +ADE0 +AD20 +FD60 +8500 +0920 +10E0 +ENDCHAR +STARTCHAR U_5CD8 +ENCODING 23768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2000 +ABC0 +AA40 +AA40 +ABC0 +AA40 +FBC0 +8A40 +0000 +07E0 +ENDCHAR +STARTCHAR U_5CD9 +ENCODING 23769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +A900 +AFE0 +A840 +AFE0 +AA40 +F940 +8840 +01C0 +ENDCHAR +STARTCHAR U_5CDA +ENCODING 23770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0000 +0400 +FFE0 +1100 +2480 +DF60 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5CDB +ENCODING 23771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8840 +FFC0 +0000 +FC40 +2140 +3D40 +4940 +A940 +1140 +2040 +C0C0 +ENDCHAR +STARTCHAR U_5CDC +ENCODING 23772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0400 +0A00 +3580 +C460 +1700 +1400 +1400 +FFE0 +ENDCHAR +STARTCHAR U_5CDD +ENCODING 23773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +8880 +FF80 +0000 +FF80 +8080 +BE80 +8080 +BE80 +A280 +BE80 +8180 +ENDCHAR +STARTCHAR U_5CDE +ENCODING 23774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +1000 +1F00 +2200 +7FE0 +2000 +2F80 +48A0 +4920 +87E0 +ENDCHAR +STARTCHAR U_5CDF +ENCODING 23775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0800 +FFE0 +1000 +3F80 +5080 +9F80 +1080 +1F80 +1080 +ENDCHAR +STARTCHAR U_5CE0 +ENCODING 23776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +21C0 +2100 +AFE0 +A800 +AFE0 +A900 +A980 +B940 +C920 +0100 +ENDCHAR +STARTCHAR U_5CE1 +ENCODING 23777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AFE0 +AD20 +AB40 +A900 +AFE0 +F900 +8A80 +0440 +0820 +ENDCHAR +STARTCHAR U_5CE2 +ENCODING 23778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07A0 +2220 +23A0 +AAA0 +ACE0 +AB60 +A960 +A920 +BA20 +CAA0 +0440 +ENDCHAR +STARTCHAR U_5CE3 +ENCODING 23779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +27C0 +2120 +A8C0 +A980 +AA60 +AFE0 +AA80 +BA80 +CAA0 +04E0 +ENDCHAR +STARTCHAR U_5CE4 +ENCODING 23780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +A900 +AFE0 +AA80 +AC60 +AA40 +FA40 +8A40 +0440 +0840 +ENDCHAR +STARTCHAR U_5CE5 +ENCODING 23781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +AC80 +AFC0 +A960 +AFC0 +A940 +FFC0 +9100 +0500 +0200 +ENDCHAR +STARTCHAR U_5CE6 +ENCODING 23782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0900 +2940 +4920 +8920 +0400 +2480 +2480 +2480 +3F80 +ENDCHAR +STARTCHAR U_5CE7 +ENCODING 23783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +2100 +27E0 +AA40 +AC20 +AA40 +AA40 +AA40 +B980 +C980 +0660 +ENDCHAR +STARTCHAR U_5CE8 +ENCODING 23784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +26A0 +AA80 +AFE0 +AA80 +AB80 +AEA0 +FAC0 +8AA0 +0360 +0620 +ENDCHAR +STARTCHAR U_5CE9 +ENCODING 23785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0200 +7A40 +1240 +FFE0 +1280 +3900 +D2A0 +3460 +ENDCHAR +STARTCHAR U_5CEA +ENCODING 23786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2420 +A980 +AA40 +AC20 +A800 +ABC0 +FA40 +8A40 +03C0 +0240 +ENDCHAR +STARTCHAR U_5CEB +ENCODING 23787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +22A0 +2AA0 +BEA0 +B2C0 +B2C0 +B6A0 +B6A0 +BAE0 +CA80 +1680 +ENDCHAR +STARTCHAR U_5CEC +ENCODING 23788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +AFE0 +A880 +ABE0 +AAA0 +ABE0 +AAA0 +FBE0 +8AA0 +0260 +ENDCHAR +STARTCHAR U_5CED +ENCODING 23789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +21C0 +A880 +ABE0 +AA20 +ABE0 +AA20 +AA20 +FBE0 +8A20 +0260 +ENDCHAR +STARTCHAR U_5CEE +ENCODING 23790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2140 +AFE0 +A940 +AFC0 +AA00 +ABC0 +FA40 +8E40 +0BC0 +0240 +ENDCHAR +STARTCHAR U_5CEF +ENCODING 23791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0800 +1F80 +7100 +0E00 +F5E0 +0E00 +0400 +7FC0 +0400 +ENDCHAR +STARTCHAR U_5CF0 +ENCODING 23792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +AE40 +A980 +AA40 +AFE0 +A900 +BFC0 +C100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_5CF1 +ENCODING 23793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57C0 +2240 +6240 +97C0 +3240 +5FE0 +9000 +1100 +1520 +5520 +27E0 +ENDCHAR +STARTCHAR U_5CF2 +ENCODING 23794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0800 +7140 +1140 +FD40 +3940 +5540 +9240 +10C0 +ENDCHAR +STARTCHAR U_5CF3 +ENCODING 23795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +8880 +FF80 +2200 +27C0 +5480 +DA80 +5280 +5100 +4280 +4C40 +ENDCHAR +STARTCHAR U_5CF4 +ENCODING 23796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +AFC0 +AC40 +AFC0 +AC40 +AFC0 +FA80 +92A0 +04A0 +0860 +ENDCHAR +STARTCHAR U_5CF5 +ENCODING 23797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +27E0 +2520 +A900 +AFE0 +A900 +AA40 +AA80 +BD40 +CA20 +03E0 +ENDCHAR +STARTCHAR U_5CF6 +ENCODING 23798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +7F00 +4100 +7F00 +4100 +7FC0 +4000 +7FC0 +9240 +FE40 +8380 +ENDCHAR +STARTCHAR U_5CF7 +ENCODING 23799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0400 +7FC0 +2100 +1200 +FFE0 +0400 +7FC0 +0400 +0400 +ENDCHAR +STARTCHAR U_5CF8 +ENCODING 23800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +AFE0 +A880 +A880 +AEA0 +AAA0 +FAC0 +8EA0 +0960 +1220 +ENDCHAR +STARTCHAR U_5CF9 +ENCODING 23801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +3180 +DF60 +0400 +FFE0 +2480 +CC60 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_5CFA +ENCODING 23802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +2080 +23E0 +AAA0 +ABE0 +AAA0 +ABE0 +AC80 +BA80 +C900 +0EE0 +ENDCHAR +STARTCHAR U_5CFB +ENCODING 23803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +AFA0 +AA40 +AC20 +ABE0 +AE40 +FA40 +8980 +0240 +0C20 +ENDCHAR +STARTCHAR U_5CFC +ENCODING 23804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +23E0 +2480 +A880 +AFE0 +A800 +ABE0 +AA20 +BA20 +CBE0 +0220 +ENDCHAR +STARTCHAR U_5CFD +ENCODING 23805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27E0 +A900 +AD40 +AD40 +ABA0 +B900 +CA80 +0440 +1820 +ENDCHAR +STARTCHAR U_5CFE +ENCODING 23806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2E00 +8800 +5FE0 +2880 +C880 +5080 +0400 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5CFF +ENCODING 23807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +AFC0 +A940 +A940 +AFE0 +A800 +FBE0 +8A20 +03E0 +0220 +ENDCHAR +STARTCHAR U_5D00 +ENCODING 23808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +8880 +FF80 +0800 +7F00 +4100 +7F00 +4100 +7F00 +4500 +73C0 +ENDCHAR +STARTCHAR U_5D01 +ENCODING 23809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0040 +2400 +27E0 +F520 +2940 +2100 +3A80 +E440 +0820 +ENDCHAR +STARTCHAR U_5D02 +ENCODING 23810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +2240 +AFE0 +AD20 +A900 +AFE0 +A920 +F920 +8A20 +04C0 +ENDCHAR +STARTCHAR U_5D03 +ENCODING 23811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +AD40 +AB80 +A900 +AFE0 +A900 +FB80 +8540 +0920 +0100 +ENDCHAR +STARTCHAR U_5D04 +ENCODING 23812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +22C0 +AC20 +ABC0 +A800 +A920 +ACA0 +FA40 +0080 +0FE0 +ENDCHAR +STARTCHAR U_5D05 +ENCODING 23813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +21E0 +AA40 +AFE0 +AAA0 +ABE0 +AAA0 +BBE0 +C2A0 +02A0 +0460 +ENDCHAR +STARTCHAR U_5D06 +ENCODING 23814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2420 +AA80 +AC40 +A820 +AFC0 +A900 +F900 +0100 +0FE0 +ENDCHAR +STARTCHAR U_5D07 +ENCODING 23815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0400 +FFE0 +8020 +3F80 +0000 +FFE0 +2480 +5440 +8820 +ENDCHAR +STARTCHAR U_5D08 +ENCODING 23816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +0000 +FFE0 +2480 +4C40 +0400 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5D09 +ENCODING 23817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +AFA0 +A9C0 +AAA0 +AC80 +ABE0 +BA20 +C3E0 +0220 +03E0 +ENDCHAR +STARTCHAR U_5D0A +ENCODING 23818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +2FE0 +AA40 +AA40 +AB40 +AEC0 +BB60 +CA40 +0240 +0240 +ENDCHAR +STARTCHAR U_5D0B +ENCODING 23819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0000 +7FC0 +2480 +FFE0 +2480 +7FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_5D0C +ENCODING 23820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +ABE0 +AA80 +ABE0 +AA80 +AA80 +FBE0 +8620 +0BE0 +0220 +ENDCHAR +STARTCHAR U_5D0D +ENCODING 23821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +A900 +AB40 +AB40 +ADA0 +A900 +FB80 +8D40 +0920 +0100 +ENDCHAR +STARTCHAR U_5D0E +ENCODING 23822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +AA80 +AC40 +AFE0 +A840 +AF40 +FD40 +8F40 +0040 +00C0 +ENDCHAR +STARTCHAR U_5D0F +ENCODING 23823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2280 +ABE0 +AA80 +AB60 +A800 +ABE0 +BA20 +C3E0 +0220 +03E0 +ENDCHAR +STARTCHAR U_5D10 +ENCODING 23824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +ABE0 +AA20 +ABE0 +A800 +AAA0 +BBC0 +C280 +02A0 +0360 +ENDCHAR +STARTCHAR U_5D11 +ENCODING 23825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8880 +FF80 +4100 +7F00 +4100 +7F00 +8400 +F780 +8400 +B440 +C3C0 +ENDCHAR +STARTCHAR U_5D12 +ENCODING 23826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8880 +8880 +FF80 +0800 +FFC0 +2200 +5500 +8880 +FFC0 +0800 +0800 +ENDCHAR +STARTCHAR U_5D13 +ENCODING 23827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +A920 +AFE0 +A920 +ABA0 +AAA0 +ABA0 +B820 +CFE0 +0820 +ENDCHAR +STARTCHAR U_5D14 +ENCODING 23828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +1200 +3FE0 +6200 +BFC0 +2200 +3FC0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_5D15 +ENCODING 23829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2280 +ABE0 +AA80 +ABE0 +AA00 +AA80 +BBE0 +CA80 +0480 +0BE0 +ENDCHAR +STARTCHAR U_5D16 +ENCODING 23830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2220 +3FE0 +2200 +2F80 +2200 +3FE0 +2200 +2FC0 +4200 +BFE0 +ENDCHAR +STARTCHAR U_5D17 +ENCODING 23831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8440 +8440 +FFC0 +0000 +FFC0 +9240 +FFC0 +A540 +A540 +BF40 +80C0 +ENDCHAR +STARTCHAR U_5D18 +ENCODING 23832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2460 +AB80 +A800 +AFE0 +AAA0 +AAA0 +FFE0 +8AA0 +0A60 +ENDCHAR +STARTCHAR U_5D19 +ENCODING 23833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0400 +1B00 +EEE0 +0000 +7FC0 +4A40 +7FC0 +4A40 +40C0 +ENDCHAR +STARTCHAR U_5D1A +ENCODING 23834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +A900 +AFE0 +AA40 +AB20 +ADC0 +FB40 +8C80 +0140 +0620 +ENDCHAR +STARTCHAR U_5D1B +ENCODING 23835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +AFE0 +A880 +AAA0 +AAA0 +ABE0 +F880 +8AA0 +0AA0 +13E0 +ENDCHAR +STARTCHAR U_5D1C +ENCODING 23836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +2080 +AFE0 +AAA0 +AAA0 +AFE0 +BAA0 +CFE0 +0080 +07E0 +ENDCHAR +STARTCHAR U_5D1D +ENCODING 23837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +A880 +ABC0 +A880 +AFE0 +AA20 +BBE0 +CA20 +03E0 +0220 +ENDCHAR +STARTCHAR U_5D1E +ENCODING 23838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +AA40 +ABC0 +A800 +AFE0 +A880 +FFE0 +8900 +0100 +0300 +ENDCHAR +STARTCHAR U_5D1F +ENCODING 23839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0400 +0A00 +3180 +DF60 +0400 +7FC0 +2480 +1500 +FFE0 +ENDCHAR +STARTCHAR U_5D20 +ENCODING 23840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +A880 +ABE0 +AAA0 +ABE0 +AAA0 +FBE0 +89C0 +02A0 +04A0 +ENDCHAR +STARTCHAR U_5D21 +ENCODING 23841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2040 +2080 +A920 +AD60 +ABA0 +AD60 +A920 +FB20 +0820 +0FE0 +ENDCHAR +STARTCHAR U_5D22 +ENCODING 23842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2520 +AA40 +AFC0 +A940 +AFE0 +A940 +FFC0 +8900 +0100 +0300 +ENDCHAR +STARTCHAR U_5D23 +ENCODING 23843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0300 +1C00 +FFE0 +2480 +4840 +FFE0 +1100 +0E00 +79E0 +ENDCHAR +STARTCHAR U_5D24 +ENCODING 23844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2660 +2180 +AE60 +A900 +AFE0 +AA20 +AFE0 +FA20 +8BE0 +0220 +0260 +ENDCHAR +STARTCHAR U_5D25 +ENCODING 23845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23E0 +AAA0 +ABE0 +AAA0 +ABE0 +A9A0 +FA80 +8FE0 +0080 +0080 +ENDCHAR +STARTCHAR U_5D26 +ENCODING 23846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AA80 +AD40 +AFE0 +AD40 +AFC0 +FD40 +8FC0 +0120 +00E0 +ENDCHAR +STARTCHAR U_5D27 +ENCODING 23847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7FE0 +1000 +1280 +FA80 +1440 +3920 +5500 +9240 +17E0 +1020 +ENDCHAR +STARTCHAR U_5D28 +ENCODING 23848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +A940 +AFE0 +A940 +AFC0 +A900 +FDE0 +8500 +0B00 +11E0 +ENDCHAR +STARTCHAR U_5D29 +ENCODING 23849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +3FE0 +0000 +3DE0 +2520 +3DE0 +2520 +3DE0 +2520 +4520 +8E60 +ENDCHAR +STARTCHAR U_5D2A +ENCODING 23850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +2240 +AA40 +ADA0 +A880 +A880 +AFE0 +F880 +0080 +0080 +ENDCHAR +STARTCHAR U_5D2B +ENCODING 23851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0000 +7FC0 +4040 +7FC0 +5280 +5F80 +A220 +BFE0 +ENDCHAR +STARTCHAR U_5D2C +ENCODING 23852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0400 +FFE0 +2480 +3F80 +2480 +3F80 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_5D2D +ENCODING 23853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2020 +FDC0 +2100 +51E0 +FD40 +1140 +1D40 +F240 +1440 +ENDCHAR +STARTCHAR U_5D2E +ENCODING 23854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8440 +8440 +FFC0 +0000 +FFC0 +8840 +FF40 +A240 +BE40 +8040 +FFC0 +ENDCHAR +STARTCHAR U_5D2F +ENCODING 23855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2440 +ABA0 +A900 +A900 +AFE0 +A900 +FD20 +0340 +0FE0 +ENDCHAR +STARTCHAR U_5D30 +ENCODING 23856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +2540 +AAA0 +A940 +ABE0 +AAA0 +AAA0 +FBE0 +8AA0 +03E0 +0220 +ENDCHAR +STARTCHAR U_5D31 +ENCODING 23857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +7FE0 +0000 +7C20 +4520 +7D20 +4520 +7D20 +4520 +7C20 +C6E0 +ENDCHAR +STARTCHAR U_5D32 +ENCODING 23858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23E0 +AA20 +ABE0 +AA20 +AFE0 +A880 +ABE0 +F880 +0080 +07E0 +ENDCHAR +STARTCHAR U_5D33 +ENCODING 23859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2440 +ABA0 +A800 +AE20 +AAA0 +AEA0 +FAA0 +8EA0 +0A20 +0AE0 +ENDCHAR +STARTCHAR U_5D34 +ENCODING 23860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7FE0 +0140 +7FE0 +4100 +7F40 +4940 +7F40 +54A0 +4960 +B620 +ENDCHAR +STARTCHAR U_5D35 +ENCODING 23861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +ABC0 +AA40 +AFE0 +AA00 +AFE0 +FAA0 +8CA0 +0120 +06C0 +ENDCHAR +STARTCHAR U_5D36 +ENCODING 23862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8440 +FFC0 +1040 +7C40 +13E0 +FC40 +1240 +7D40 +1040 +1D40 +F080 +ENDCHAR +STARTCHAR U_5D37 +ENCODING 23863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +AFE0 +AA80 +AFE0 +AAA0 +ACE0 +F820 +8FE0 +0820 +0FE0 +ENDCHAR +STARTCHAR U_5D38 +ENCODING 23864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +ABE0 +AA20 +ABE0 +AA20 +ABE0 +FA20 +8BE0 +0140 +0620 +ENDCHAR +STARTCHAR U_5D39 +ENCODING 23865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AA80 +AFE0 +A920 +AFC0 +AD40 +FD40 +8540 +05C0 +0100 +ENDCHAR +STARTCHAR U_5D3A +ENCODING 23866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8420 +FFE0 +2200 +FBE0 +2480 +3AE0 +2BA0 +2EA0 +2A80 +4A20 +B1E0 +ENDCHAR +STARTCHAR U_5D3B +ENCODING 23867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +25E0 +AA80 +ADE0 +AA40 +ABE0 +AA40 +FBC0 +0240 +02C0 +ENDCHAR +STARTCHAR U_5D3C +ENCODING 23868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +ABC0 +AA40 +ABC0 +A800 +AFE0 +FA80 +8AE0 +0580 +08E0 +ENDCHAR +STARTCHAR U_5D3D +ENCODING 23869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0000 +3F80 +2480 +3F80 +2480 +3F80 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_5D3E +ENCODING 23870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2280 +AFE0 +AAA0 +AFE0 +A900 +AFE0 +FA40 +8380 +0140 +0620 +ENDCHAR +STARTCHAR U_5D3F +ENCODING 23871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +22A0 +ABE0 +A800 +ABE0 +A800 +AFE0 +F900 +8BE0 +0020 +00C0 +ENDCHAR +STARTCHAR U_5D40 +ENCODING 23872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2100 +2100 +FFE0 +2100 +7100 +AFC0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_5D41 +ENCODING 23873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +AA40 +ABC0 +AA40 +ABC0 +AA40 +FFE0 +8940 +0A20 +0FE0 +ENDCHAR +STARTCHAR U_5D42 +ENCODING 23874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0200 +2FC0 +4260 +9FC0 +2240 +6FE0 +A200 +3FE0 +2200 +ENDCHAR +STARTCHAR U_5D43 +ENCODING 23875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A280 +AFE0 +A880 +A900 +AE40 +F8A0 +8B40 +1080 +2700 +ENDCHAR +STARTCHAR U_5D44 +ENCODING 23876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2100 +AFC0 +A900 +AFC0 +A900 +BFE0 +E900 +0280 +0C60 +ENDCHAR +STARTCHAR U_5D45 +ENCODING 23877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0140 +7FE0 +4100 +5D20 +4140 +5D80 +54A0 +9D60 +8220 +ENDCHAR +STARTCHAR U_5D46 +ENCODING 23878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7140 +2140 +F7E0 +2100 +7280 +A4A0 +A8E0 +2400 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5D47 +ENCODING 23879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +E120 +2FE0 +F280 +22A0 +34E0 +6900 +A920 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_5D48 +ENCODING 23880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2520 +A240 +AFE0 +A900 +AFE0 +AA00 +FBE0 +0520 +18C0 +0320 +ENDCHAR +STARTCHAR U_5D49 +ENCODING 23881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +A800 +ABC0 +AA40 +AFE0 +AC20 +FBC0 +8880 +0280 +0100 +ENDCHAR +STARTCHAR U_5D4A +ENCODING 23882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +A900 +AFE0 +A940 +AF60 +A940 +FF60 +8B80 +0540 +0920 +ENDCHAR +STARTCHAR U_5D4B +ENCODING 23883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +22A0 +ABE0 +AA00 +ABE0 +AB20 +ABE0 +FD20 +85E0 +0920 +11E0 +ENDCHAR +STARTCHAR U_5D4C +ENCODING 23884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +0100 +4900 +FFE0 +4AA0 +7880 +4940 +7A20 +4C20 +ENDCHAR +STARTCHAR U_5D4D +ENCODING 23885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +29E0 +1140 +FE40 +3540 +5080 +9140 +3620 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5D4E +ENCODING 23886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +22A0 +ABE0 +AAA0 +ABE0 +A880 +ABE0 +FAA0 +8BE0 +0220 +0260 +ENDCHAR +STARTCHAR U_5D4F +ENCODING 23887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0A00 +2480 +2A80 +3F80 +5040 +9FA0 +2900 +4600 +1980 +ENDCHAR +STARTCHAR U_5D50 +ENCODING 23888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +4140 +5E40 +4440 +5F40 +5540 +5F40 +4560 +BEA0 +ENDCHAR +STARTCHAR U_5D51 +ENCODING 23889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +ABC0 +AA40 +ABC0 +A900 +ABE0 +FEA0 +8B60 +03A0 +0040 +ENDCHAR +STARTCHAR U_5D52 +ENCODING 23890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F00 +2100 +3F00 +0000 +F3C0 +9240 +F3C0 +0400 +8440 +8440 +FFC0 +ENDCHAR +STARTCHAR U_5D53 +ENCODING 23891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0000 +3F80 +2080 +3F80 +0000 +FBE0 +8A20 +FBE0 +ENDCHAR +STARTCHAR U_5D54 +ENCODING 23892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0000 +3F80 +2480 +2E80 +2480 +FFE0 +4480 +5300 +60E0 +ENDCHAR +STARTCHAR U_5D55 +ENCODING 23893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2660 +25A0 +AE60 +AC20 +ABE0 +AD40 +AA20 +FFE0 +8A40 +0180 +0660 +ENDCHAR +STARTCHAR U_5D56 +ENCODING 23894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +A980 +AAC0 +ACA0 +ABC0 +AA40 +BBC0 +EA40 +03C0 +0FE0 +ENDCHAR +STARTCHAR U_5D57 +ENCODING 23895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0100 +7FE0 +4100 +7F00 +4920 +5D40 +6880 +CD40 +3020 +ENDCHAR +STARTCHAR U_5D58 +ENCODING 23896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +27E0 +A940 +AFE0 +AC20 +A880 +AFE0 +F880 +89C0 +02A0 +04A0 +ENDCHAR +STARTCHAR U_5D59 +ENCODING 23897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +7FE0 +0800 +7240 +1140 +FE40 +1140 +3860 +57C0 +9040 +1040 +ENDCHAR +STARTCHAR U_5D5A +ENCODING 23898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +4200 +7BE0 +8520 +7900 +2100 +7900 +2280 +2A40 +3420 +ENDCHAR +STARTCHAR U_5D5B +ENCODING 23899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0C00 +3300 +CEE0 +7C40 +4540 +7D40 +4540 +7C40 +44C0 +ENDCHAR +STARTCHAR U_5D5C +ENCODING 23900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3F80 +0400 +7FC0 +1100 +FFE0 +0080 +3C80 +2480 +3C80 +0180 +ENDCHAR +STARTCHAR U_5D5D +ENCODING 23901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +2340 +AFE0 +A980 +AB40 +AD20 +AFE0 +FA40 +8A80 +0140 +0620 +ENDCHAR +STARTCHAR U_5D5E +ENCODING 23902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +3180 +DF60 +0400 +FFC0 +2480 +4C40 +2080 +AAA0 +AAA0 +FBE0 +ENDCHAR +STARTCHAR U_5D5F +ENCODING 23903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3F80 +0000 +7FE0 +4A00 +57C0 +7100 +57C0 +5100 +9100 +9FE0 +ENDCHAR +STARTCHAR U_5D60 +ENCODING 23904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +22A0 +A940 +AA40 +AF80 +A920 +AFE0 +F900 +07E0 +0140 +0620 +ENDCHAR +STARTCHAR U_5D61 +ENCODING 23905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +1100 +2880 +DF60 +0100 +7BC0 +8C40 +5AC0 +2940 +4A40 +ENDCHAR +STARTCHAR U_5D62 +ENCODING 23906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2240 +ACA0 +ABC0 +AA40 +ABC0 +AA40 +FBE0 +8620 +0BE0 +1220 +ENDCHAR +STARTCHAR U_5D63 +ENCODING 23907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2FE0 +A8A0 +AFE0 +A8A0 +AFE0 +A880 +FBE0 +8A20 +0BE0 +1220 +ENDCHAR +STARTCHAR U_5D64 +ENCODING 23908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +AAA0 +71C0 +2080 +5140 +8A20 +FFE0 +8420 +2480 +2480 +3F80 +ENDCHAR +STARTCHAR U_5D65 +ENCODING 23909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2740 +25E0 +AB40 +A9E0 +AA40 +AC40 +AFE0 +F900 +8B80 +0540 +0920 +ENDCHAR +STARTCHAR U_5D66 +ENCODING 23910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +24A0 +A7E0 +A800 +AFE0 +A800 +ABE0 +AA20 +FBE0 +0140 +07E0 +ENDCHAR +STARTCHAR U_5D67 +ENCODING 23911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2DE0 +28A0 +AAA0 +AEA0 +A920 +AFE0 +A920 +FFE0 +8920 +0FE0 +0820 +ENDCHAR +STARTCHAR U_5D68 +ENCODING 23912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23E0 +AA20 +ABE0 +AA00 +ABE0 +AA00 +FBE0 +0520 +0AA0 +0AE0 +ENDCHAR +STARTCHAR U_5D69 +ENCODING 23913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8440 +FFC0 +0400 +FFC0 +2100 +3F00 +0000 +FFC0 +9240 +9E40 +80C0 +ENDCHAR +STARTCHAR U_5D6A +ENCODING 23914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2000 +ABC0 +AA40 +AFE0 +A820 +BBA0 +CAA0 +0BA0 +0860 +ENDCHAR +STARTCHAR U_5D6B +ENCODING 23915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +AFE0 +AA40 +AC80 +AFE0 +AA40 +FA40 +8C80 +05A0 +07E0 +ENDCHAR +STARTCHAR U_5D6C +ENCODING 23916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0800 +7FC0 +4440 +7FC0 +4440 +7FC0 +1480 +2540 +C3E0 +ENDCHAR +STARTCHAR U_5D6D +ENCODING 23917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2240 +A980 +AFE0 +AD40 +BBE0 +E900 +89C0 +0240 +0480 +ENDCHAR +STARTCHAR U_5D6E +ENCODING 23918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2100 +ABC0 +AA40 +ABC0 +AA40 +FBC0 +0A40 +07E0 +0240 +ENDCHAR +STARTCHAR U_5D6F +ENCODING 23919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +A900 +ABC0 +A900 +AFE0 +AA00 +FBC0 +8C80 +0880 +17E0 +ENDCHAR +STARTCHAR U_5D70 +ENCODING 23920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2280 +A7E0 +AAA0 +AFE0 +AAA0 +BFE0 +EA80 +86C0 +0AA0 +ENDCHAR +STARTCHAR U_5D71 +ENCODING 23921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +AC20 +AA40 +ADA0 +AA40 +AC20 +FBC0 +8A40 +0240 +03C0 +ENDCHAR +STARTCHAR U_5D72 +ENCODING 23922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23E0 +AA20 +ABE0 +AA20 +ABE0 +A900 +FFE0 +8B80 +0540 +0920 +ENDCHAR +STARTCHAR U_5D73 +ENCODING 23923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +1080 +7FC0 +0400 +FFE0 +0800 +1780 +2200 +CFE0 +ENDCHAR +STARTCHAR U_5D74 +ENCODING 23924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2380 +A940 +AE80 +AA40 +AFE0 +AA40 +ABC0 +FA40 +03C0 +0240 +ENDCHAR +STARTCHAR U_5D75 +ENCODING 23925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0100 +F7E0 +9100 +FFE0 +9080 +9FE0 +F480 +9280 +0180 +ENDCHAR +STARTCHAR U_5D76 +ENCODING 23926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2760 +2120 +2360 +AA40 +AB60 +ADA0 +AB60 +A920 +FB60 +05A0 +0360 +ENDCHAR +STARTCHAR U_5D77 +ENCODING 23927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2940 +A2A0 +AAA0 +AC80 +A880 +AAE0 +FA80 +8A80 +0B80 +0CE0 +ENDCHAR +STARTCHAR U_5D78 +ENCODING 23928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +2480 +4480 +AB40 +4220 +D200 +5BC0 +5600 +61E0 +ENDCHAR +STARTCHAR U_5D79 +ENCODING 23929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0440 +F7C0 +1100 +F7C0 +8540 +F540 +17C0 +1140 +6FA0 +ENDCHAR +STARTCHAR U_5D7A +ENCODING 23930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +25A0 +AB60 +ADA0 +A880 +AB40 +ACA0 +FB40 +89A0 +0040 +0780 +ENDCHAR +STARTCHAR U_5D7B +ENCODING 23931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23E0 +AA80 +ABE0 +AAA0 +ABE0 +AAA0 +F5E0 +06A0 +0880 +02A0 +ENDCHAR +STARTCHAR U_5D7C +ENCODING 23932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +A940 +AFE0 +A880 +AA80 +ABE0 +FC80 +89E0 +0880 +13E0 +ENDCHAR +STARTCHAR U_5D7D +ENCODING 23933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +A540 +A760 +A800 +AFE0 +A920 +AFC0 +F940 +89C0 +0100 +ENDCHAR +STARTCHAR U_5D7E +ENCODING 23934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +1100 +7F80 +1080 +7DE0 +1B00 +ECE0 +3680 +0900 +7E00 +ENDCHAR +STARTCHAR U_5D7F +ENCODING 23935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0100 +F7C0 +2440 +27C0 +2440 +27C0 +2440 +A7C0 +6C60 +ENDCHAR +STARTCHAR U_5D80 +ENCODING 23936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +27E0 +AD20 +ABA0 +AD40 +AFE0 +FA00 +8FE0 +0020 +00C0 +ENDCHAR +STARTCHAR U_5D81 +ENCODING 23937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +A540 +AFE0 +AD40 +AFE0 +A920 +F7E0 +8480 +0380 +1C60 +ENDCHAR +STARTCHAR U_5D82 +ENCODING 23938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2280 +AFE0 +AA40 +ABC0 +AA40 +ABC0 +F900 +8FE0 +0100 +ENDCHAR +STARTCHAR U_5D83 +ENCODING 23939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +2F80 +AA80 +AFE0 +AAA0 +AFA0 +AAA0 +F7A0 +02A0 +0FA0 +0220 +ENDCHAR +STARTCHAR U_5D84 +ENCODING 23940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7FE0 +1020 +FFC0 +5500 +7DE0 +5540 +7D40 +1140 +FE40 +1440 +ENDCHAR +STARTCHAR U_5D85 +ENCODING 23941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FA00 +23E0 +FA40 +2540 +3880 +4B40 +9420 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5D86 +ENCODING 23942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2A80 +AFE0 +AAA0 +AFE0 +AAA0 +AFE0 +FC40 +87C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_5D87 +ENCODING 23943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +ABC0 +AA40 +ABC0 +A800 +AEE0 +FAA0 +8EE0 +0800 +0FE0 +ENDCHAR +STARTCHAR U_5D88 +ENCODING 23944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +5100 +57E0 +7A80 +1540 +FFE0 +5440 +5240 +5040 +90C0 +ENDCHAR +STARTCHAR U_5D89 +ENCODING 23945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0500 +E500 +AFE0 +B900 +AFC0 +A900 +EFC0 +A900 +0FE0 +ENDCHAR +STARTCHAR U_5D8A +ENCODING 23946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2280 +2480 +FFE0 +2480 +37E0 +E480 +27E0 +2480 +67E0 +ENDCHAR +STARTCHAR U_5D8B +ENCODING 23947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23C0 +AA40 +ABC0 +AA40 +ABE0 +AA00 +FBE0 +0020 +0AA0 +0060 +ENDCHAR +STARTCHAR U_5D8C +ENCODING 23948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8880 +FF80 +1000 +7F00 +5100 +4900 +7FC0 +4000 +7FC0 +5440 +AAC0 +ENDCHAR +STARTCHAR U_5D8D +ENCODING 23949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +ADA0 +AB60 +ACA0 +A900 +ABE0 +FA20 +8BE0 +0220 +03E0 +ENDCHAR +STARTCHAR U_5D8E +ENCODING 23950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0000 +7C40 +47E0 +7C40 +4140 +7C40 +4A40 +98C0 +ENDCHAR +STARTCHAR U_5D8F +ENCODING 23951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0000 +7FE0 +4000 +5EE0 +4C20 +5EE0 +9280 +9EE0 +ENDCHAR +STARTCHAR U_5D90 +ENCODING 23952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +7F80 +0400 +EFE0 +B440 +C380 +AD60 +C900 +8FE0 +8100 +8FE0 +ENDCHAR +STARTCHAR U_5D91 +ENCODING 23953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +AFE0 +AAA0 +ABE0 +AA80 +ADA0 +F2C0 +0580 +02C0 +0DA0 +ENDCHAR +STARTCHAR U_5D92 +ENCODING 23954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +AFE0 +AAA0 +A920 +AFE0 +AA40 +ABC0 +FA40 +83C0 +0240 +ENDCHAR +STARTCHAR U_5D93 +ENCODING 23955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +27A0 +AD40 +AFE0 +AB40 +AD20 +ABE0 +AAA0 +FBE0 +82A0 +03E0 +ENDCHAR +STARTCHAR U_5D94 +ENCODING 23956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2200 +53E0 +FC20 +2140 +F900 +2900 +B180 +6240 +FC20 +ENDCHAR +STARTCHAR U_5D95 +ENCODING 23957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +23E0 +AE80 +ABE0 +AA80 +ABE0 +AA80 +ABE0 +FD40 +8AA0 +0AA0 +ENDCHAR +STARTCHAR U_5D96 +ENCODING 23958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2240 +A7E0 +AA40 +ABC0 +A800 +AF60 +F9A0 +0560 +03A0 +0D60 +ENDCHAR +STARTCHAR U_5D97 +ENCODING 23959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2760 +AAC0 +AD40 +A8A0 +AFE0 +AA20 +FFC0 +8A40 +0440 +08C0 +ENDCHAR +STARTCHAR U_5D98 +ENCODING 23960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +7F80 +2240 +2FE0 +F240 +2180 +7560 +6FC0 +A480 +2320 +2CE0 +ENDCHAR +STARTCHAR U_5D99 +ENCODING 23961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +2340 +AFE0 +A940 +AB20 +AC40 +AFE0 +F940 +8DE0 +0240 +0C40 +ENDCHAR +STARTCHAR U_5D9A +ENCODING 23962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0400 +FFE0 +5140 +3F80 +D160 +1F00 +0400 +3580 +CC60 +ENDCHAR +STARTCHAR U_5D9B +ENCODING 23963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +AAA0 +AC40 +ABE0 +AA40 +ABC0 +AA40 +FBC0 +04A0 +09A0 +ENDCHAR +STARTCHAR U_5D9C +ENCODING 23964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8420 +FFE0 +A280 +FFE0 +3180 +52A0 +BEE0 +2040 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_5D9D +ENCODING 23965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2740 +25A0 +AA40 +AC20 +ABC0 +A800 +ABC0 +AA40 +FBC0 +0280 +0FE0 +ENDCHAR +STARTCHAR U_5D9E +ENCODING 23966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A500 +AFE0 +C440 +A7C0 +A440 +E7C0 +8440 +44C0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5D9F +ENCODING 23967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +AA80 +AFE0 +AAA0 +AD60 +A820 +AFE0 +FA40 +0140 +00C0 +ENDCHAR +STARTCHAR U_5DA0 +ENCODING 23968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +AFE0 +AA80 +AFC0 +AAA0 +AFE0 +AAA0 +FBA0 +8820 +0860 +ENDCHAR +STARTCHAR U_5DA1 +ENCODING 23969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0000 +7FE0 +5480 +7EE0 +49A0 +6A80 +7E80 +8940 +9220 +ENDCHAR +STARTCHAR U_5DA2 +ENCODING 23970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +A900 +AFE0 +AA40 +AFE0 +AA40 +FFE0 +8A80 +02A0 +0CE0 +ENDCHAR +STARTCHAR U_5DA3 +ENCODING 23971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2200 +3FE0 +6200 +BFC0 +2200 +3FC0 +2200 +3FE0 +C920 +ENDCHAR +STARTCHAR U_5DA4 +ENCODING 23972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0400 +7FC0 +0400 +FFE0 +2040 +FFE0 +1200 +2220 +C1E0 +ENDCHAR +STARTCHAR U_5DA5 +ENCODING 23973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2880 +2DC0 +AA80 +AFE0 +AA40 +AA40 +FFC0 +8A40 +14A0 +2920 +ENDCHAR +STARTCHAR U_5DA6 +ENCODING 23974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2440 +2FE0 +AA40 +AFE0 +A800 +ABC0 +F800 +8BC0 +1240 +23C0 +ENDCHAR +STARTCHAR U_5DA7 +ENCODING 23975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +AFE0 +A900 +AFE0 +AA80 +AFE0 +A900 +FFE0 +8100 +0100 +ENDCHAR +STARTCHAR U_5DA8 +ENCODING 23976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AC0 +4440 +7BC0 +4A40 +75C0 +4A40 +FFE0 +8020 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5DA9 +ENCODING 23977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +AAA0 +AFE0 +AAA0 +AFE0 +A800 +FFE0 +9AA0 +0A40 +1720 +ENDCHAR +STARTCHAR U_5DAA +ENCODING 23978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2A80 +FFE0 +1100 +7FC0 +0400 +FFE0 +0400 +3580 +C460 +ENDCHAR +STARTCHAR U_5DAB +ENCODING 23979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +2280 +AFE0 +AA80 +AFE0 +A900 +AFE0 +F900 +0FE0 +0540 +0920 +ENDCHAR +STARTCHAR U_5DAC +ENCODING 23980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +A900 +AFE0 +AB40 +AAA0 +AFE0 +FAA0 +8F40 +02E0 +0720 +ENDCHAR +STARTCHAR U_5DAD +ENCODING 23981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +4100 +F7E0 +9280 +F100 +8FE0 +F100 +97C0 +F100 +9100 +ENDCHAR +STARTCHAR U_5DAE +ENCODING 23982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2240 +AC20 +ABC0 +A800 +AFE0 +A920 +FFE0 +8240 +04A0 +0920 +ENDCHAR +STARTCHAR U_5DAF +ENCODING 23983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8420 +FFE0 +4900 +FD40 +4D20 +7BE0 +4920 +7940 +4CA0 +F960 +0A20 +ENDCHAR +STARTCHAR U_5DB0 +ENCODING 23984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +AEA0 +AB60 +AE40 +AAE0 +AB40 +FFE0 +8A40 +0A40 +1240 +ENDCHAR +STARTCHAR U_5DB1 +ENCODING 23985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +ABC0 +AA40 +ABC0 +AA40 +ABE0 +ACA0 +F960 +8FA0 +0060 +ENDCHAR +STARTCHAR U_5DB2 +ENCODING 23986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +7FE0 +1200 +3FC0 +6200 +BFC0 +2200 +79E0 +4920 +4F20 +4060 +ENDCHAR +STARTCHAR U_5DB3 +ENCODING 23987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3F80 +0000 +FFE0 +2C80 +D700 +2AE0 +2680 +7BC0 +2080 +FBE0 +ENDCHAR +STARTCHAR U_5DB4 +ENCODING 23988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FC0 +64C0 +5540 +7FC0 +5540 +FFE0 +1500 +E4E0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5DB5 +ENCODING 23989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +AFE0 +AA80 +AEE0 +AA80 +AEE0 +AA80 +FEE0 +8A80 +0280 +ENDCHAR +STARTCHAR U_5DB6 +ENCODING 23990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +3FC0 +5540 +9F40 +20E0 +5F20 +C0A0 +5CA0 +5440 +56A0 +6520 +ENDCHAR +STARTCHAR U_5DB7 +ENCODING 23991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +7FE0 +4800 +53E0 +7D40 +43E0 +F8A0 +2280 +FEE0 +5580 +88E0 +ENDCHAR +STARTCHAR U_5DB8 +ENCODING 23992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +AA40 +ADA0 +AFE0 +A920 +AFE0 +F900 +8B80 +0540 +0920 +ENDCHAR +STARTCHAR U_5DB9 +ENCODING 23993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +A900 +AFC0 +A800 +AFE0 +A920 +FFE0 +0E40 +0B40 +0EC0 +ENDCHAR +STARTCHAR U_5DBA +ENCODING 23994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8420 +FFE0 +2100 +57C0 +AC40 +27C0 +FC40 +17C0 +A440 +47C0 +2820 +ENDCHAR +STARTCHAR U_5DBB +ENCODING 23995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +3FC0 +7980 +2140 +FFE0 +5140 +7D40 +D080 +7CA0 +5160 +7E20 +ENDCHAR +STARTCHAR U_5DBC +ENCODING 23996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E60 +2B20 +AE60 +ABA0 +A8A0 +AEE0 +AAA0 +FFE0 +8A80 +0440 +0820 +ENDCHAR +STARTCHAR U_5DBD +ENCODING 23997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +3FC0 +4480 +2EC0 +60A0 +BFE0 +2080 +6E80 +AA80 +2F40 +CA20 +ENDCHAR +STARTCHAR U_5DBE +ENCODING 23998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +23C0 +A880 +AFE0 +A940 +A840 +FBC0 +0520 +0AA0 +03C0 +ENDCHAR +STARTCHAR U_5DBF +ENCODING 23999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +2FE0 +A920 +ADA0 +A920 +ABC0 +F080 +0FE0 +0AA0 +0A60 +ENDCHAR +STARTCHAR U_5DC0 +ENCODING 24000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +1180 +5540 +9520 +1BC0 +FD20 +4940 +7CA0 +4960 +7C20 +ENDCHAR +STARTCHAR U_5DC1 +ENCODING 24001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A40 +AFE0 +AA40 +ABE0 +AAA0 +ABE0 +F880 +17E0 +14A0 +25A0 +ENDCHAR +STARTCHAR U_5DC2 +ENCODING 24002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8420 +FFE0 +2440 +7FC0 +C400 +7FC0 +4400 +FFE0 +AAA0 +CA60 +8EE0 +ENDCHAR +STARTCHAR U_5DC3 +ENCODING 24003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7FE0 +1100 +7DE0 +2900 +FFE0 +4420 +7DE0 +45C0 +7D20 +4DE0 +ENDCHAR +STARTCHAR U_5DC4 +ENCODING 24004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +AA80 +AFE0 +A820 +AEE0 +AA80 +AEE0 +FA80 +0EA0 +12E0 +ENDCHAR +STARTCHAR U_5DC5 +ENCODING 24005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8420 +FFE0 +2000 +FFE0 +4900 +6BE0 +5A20 +4AA0 +FEA0 +4940 +8620 +ENDCHAR +STARTCHAR U_5DC6 +ENCODING 24006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +AA40 +ACA0 +AFE0 +AA60 +ABC0 +F800 +87E0 +0420 +07E0 +ENDCHAR +STARTCHAR U_5DC7 +ENCODING 24007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2760 +2440 +AF60 +A9C0 +AF40 +A860 +AF40 +F940 +8F60 +15A0 +2F20 +ENDCHAR +STARTCHAR U_5DC8 +ENCODING 24008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +5200 +FBE0 +5520 +FB60 +A920 +FFE0 +2120 +FBA0 +2560 +ENDCHAR +STARTCHAR U_5DC9 +ENCODING 24009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +AFC0 +A880 +AFC0 +AAA0 +AFE0 +F940 +8FC0 +02A0 +0CE0 +ENDCHAR +STARTCHAR U_5DCA +ENCODING 24010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AEE0 +AAA0 +AA40 +ADA0 +AA00 +AFE0 +FA40 +0180 +0E60 +ENDCHAR +STARTCHAR U_5DCB +ENCODING 24011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7FE0 +4840 +7FC0 +4440 +7FE0 +16A0 +53E0 +5AA0 +52E0 +FC80 +ENDCHAR +STARTCHAR U_5DCC +ENCODING 24012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +1080 +7FE0 +4900 +7FC0 +5480 +5580 +5CC0 +8520 +ENDCHAR +STARTCHAR U_5DCD +ENCODING 24013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0900 +F7E0 +2520 +FFE0 +AD20 +FFE0 +52C0 +32A0 +CC60 +ENDCHAR +STARTCHAR U_5DCE +ENCODING 24014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +ABE0 +AAA0 +AFE0 +AAC0 +BFA0 +CA80 +1300 +06C0 +1820 +ENDCHAR +STARTCHAR U_5DCF +ENCODING 24015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2480 +AEE0 +AAA0 +AFE0 +A900 +AFE0 +F900 +8FC0 +0900 +0FE0 +ENDCHAR +STARTCHAR U_5DD0 +ENCODING 24016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8440 +FFC0 +2000 +F7C0 +5640 +7540 +97C0 +F340 +BE40 +93E0 +9C40 +ENDCHAR +STARTCHAR U_5DD1 +ENCODING 24017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A40 +2FE0 +A240 +AFE0 +A540 +BFE0 +A840 +FFC0 +8840 +0FC0 +1860 +ENDCHAR +STARTCHAR U_5DD2 +ENCODING 24018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +8E80 +E1C0 +4E80 +F0E0 +5F40 +AAA0 +0E00 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_5DD3 +ENCODING 24019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2800 +B3E0 +A480 +BDC0 +A940 +B9C0 +FD40 +29C0 +CA20 +ENDCHAR +STARTCHAR U_5DD4 +ENCODING 24020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +2000 +FFE0 +4A40 +6BC0 +5A40 +4BC0 +FE40 +53C0 +8E60 +ENDCHAR +STARTCHAR U_5DD5 +ENCODING 24021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2480 +AEA0 +ABE0 +AE40 +ABE0 +AC80 +FFE0 +8100 +0FE0 +0300 +ENDCHAR +STARTCHAR U_5DD6 +ENCODING 24022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8420 +FFE0 +4A40 +FFE0 +8900 +BDE0 +A520 +BF40 +A480 +FD40 +8620 +ENDCHAR +STARTCHAR U_5DD7 +ENCODING 24023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +2FE0 +2880 +AFE0 +AAA0 +AEA0 +FAA0 +8F40 +12A0 +12A0 +ENDCHAR +STARTCHAR U_5DD8 +ENCODING 24024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +AA40 +AFE0 +AA40 +AFC0 +AA40 +FF40 +8940 +1FA0 +2AA0 +ENDCHAR +STARTCHAR U_5DD9 +ENCODING 24025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2100 +ABE0 +AAA0 +AFE0 +AA80 +BBE0 +C640 +0180 +0E60 +ENDCHAR +STARTCHAR U_5DDA +ENCODING 24026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +3FC0 +1080 +7CA0 +57E0 +7C80 +5080 +7D40 +7540 +AD20 +B620 +ENDCHAR +STARTCHAR U_5DDB +ENCODING 24027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +2220 +2220 +4440 +4440 +8880 +8880 +4440 +4440 +2220 +2220 +ENDCHAR +STARTCHAR U_5DDC +ENCODING 24028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1100 +1100 +2200 +4400 +8800 +4400 +2200 +2200 +1100 +1980 +1100 +ENDCHAR +STARTCHAR U_5DDD +ENCODING 24029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +2220 +2220 +2220 +2220 +2220 +2220 +2220 +2220 +4020 +8020 +ENDCHAR +STARTCHAR U_5DDE +ENCODING 24030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +1220 +1220 +5B20 +56A0 +92A0 +1220 +1220 +1220 +2220 +4020 +ENDCHAR +STARTCHAR U_5DDF +ENCODING 24031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +2000 +3FC0 +0000 +2480 +2480 +44A0 +44A0 +8460 +ENDCHAR +STARTCHAR U_5DE0 +ENCODING 24032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2480 +4900 +4900 +2480 +2480 +7FC0 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5DE1 +ENCODING 24033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +22A0 +2540 +0540 +EA80 +2540 +2540 +22A0 +22A0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_5DE2 +ENCODING 24034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +2480 +1240 +3FC0 +2440 +3FC0 +2440 +7FE0 +0400 +3580 +C460 +ENDCHAR +STARTCHAR U_5DE3 +ENCODING 24035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2500 +7FC0 +4440 +7FC0 +4440 +7FC0 +0400 +FFE0 +2480 +4460 +ENDCHAR +STARTCHAR U_5DE4 +ENCODING 24036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4900 +9200 +4900 +FF00 +A900 +9500 +FF00 +9500 +D900 +9540 +D880 +ENDCHAR +STARTCHAR U_5DE5 +ENCODING 24037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 9 0 0 +BITMAP +7FC0 +0400 +0400 +0400 +0400 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5DE6 +ENCODING 24038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +FFE0 +0800 +1000 +1FC0 +2200 +2200 +4200 +8200 +3FE0 +ENDCHAR +STARTCHAR U_5DE7 +ENCODING 24039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +2100 +2200 +23E0 +2020 +3820 +C020 +0020 +0240 +0180 +ENDCHAR +STARTCHAR U_5DE8 +ENCODING 24040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +8000 +8000 +FF00 +8100 +8100 +FF00 +8000 +8000 +8000 +FFC0 +ENDCHAR +STARTCHAR U_5DE9 +ENCODING 24041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +FC80 +2480 +2480 +2680 +2580 +2480 +3480 +C4A0 +08A0 +3060 +ENDCHAR +STARTCHAR U_5DEA +ENCODING 24042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +7FC0 +4000 +7F80 +4080 +7F80 +4000 +7FC0 +0000 +FFC0 +0040 +0040 +ENDCHAR +STARTCHAR U_5DEB +ENCODING 24043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +2480 +2480 +4500 +6580 +9640 +9640 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_5DEC +ENCODING 24044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F780 +2480 +24A0 +3860 +C400 +1F00 +0400 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_5DED +ENCODING 24045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2120 +3A20 +C460 +0400 +7FC0 +0400 +FFE0 +1200 +E1E0 +ENDCHAR +STARTCHAR U_5DEE +ENCODING 24046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +0900 +FFE0 +0400 +7FC0 +0800 +FFE0 +1000 +2F80 +4200 +BFE0 +ENDCHAR +STARTCHAR U_5DEF +ENCODING 24047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +17E0 +2100 +5240 +8FA0 +F020 +2540 +2540 +3D40 +C940 +1160 +ENDCHAR +STARTCHAR U_5DF0 +ENCODING 24048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +57E0 +5500 +AA40 +ABA0 +4400 +FD40 +2540 +2540 +3D40 +C960 +ENDCHAR +STARTCHAR U_5DF1 +ENCODING 24049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FF80 +0080 +0080 +7F80 +4000 +4000 +4000 +4020 +4020 +3FE0 +ENDCHAR +STARTCHAR U_5DF2 +ENCODING 24050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +FF00 +0100 +0100 +8100 +FF00 +8000 +8040 +8040 +8040 +7FC0 +ENDCHAR +STARTCHAR U_5DF3 +ENCODING 24051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF00 +8100 +8100 +8100 +FF00 +8000 +8000 +8040 +8040 +8040 +7FC0 +ENDCHAR +STARTCHAR U_5DF4 +ENCODING 24052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 1 -1 +BITMAP +FF80 +8880 +8880 +8880 +FF80 +8000 +8000 +8040 +8040 +7FC0 +ENDCHAR +STARTCHAR U_5DF5 +ENCODING 24053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E00 +4000 +7FE0 +4000 +5FC0 +5240 +5240 +5FC0 +5020 +8FE0 +ENDCHAR +STARTCHAR U_5DF6 +ENCODING 24054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +4A40 +4A40 +4A40 +9BC0 +0240 +FA00 +8A00 +8A20 +8A20 +F9E0 +ENDCHAR +STARTCHAR U_5DF7 +ENCODING 24055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +FFE0 +1100 +3F80 +D160 +1F00 +1040 +1040 +1FC0 +ENDCHAR +STARTCHAR U_5DF8 +ENCODING 24056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +9240 +9240 +BA40 +ABC0 +AA40 +BA00 +9200 +9200 +9220 +F9E0 +ENDCHAR +STARTCHAR U_5DF9 +ENCODING 24057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +0240 +7580 +2480 +DFC0 +0000 +3F80 +0080 +3FA0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_5DFA +ENCODING 24058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4200 +3DC0 +0000 +FFE0 +0000 +1100 +20C0 +C040 +ENDCHAR +STARTCHAR U_5DFB +ENCODING 24059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +0D00 +3F80 +0400 +7FE0 +1080 +3F40 +C120 +1F00 +1080 +1F80 +ENDCHAR +STARTCHAR U_5DFC +ENCODING 24060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +8880 +FF80 +8040 +FFC0 +0000 +F440 +9780 +9400 +F440 +03C0 +ENDCHAR +STARTCHAR U_5DFD +ENCODING 24061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +9240 +F3C0 +8A20 +FBE0 +1100 +7FC0 +1100 +FFE0 +0900 +F0E0 +ENDCHAR +STARTCHAR U_5DFE +ENCODING 24062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +FF80 +8880 +8880 +8880 +8880 +8A80 +8900 +0800 +0800 +ENDCHAR +STARTCHAR U_5DFF +ENCODING 24063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +0400 +7FC0 +4440 +4440 +4440 +45C0 +0400 +0400 +ENDCHAR +STARTCHAR U_5E00 +ENCODING 24064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0400 +0400 +7FC0 +4440 +4440 +4540 +4480 +0400 +0400 +ENDCHAR +STARTCHAR U_5E01 +ENCODING 24065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +01C0 +FE00 +0400 +7FC0 +4440 +4440 +4440 +4540 +4480 +0400 +0400 +ENDCHAR +STARTCHAR U_5E02 +ENCODING 24066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +3FC0 +2440 +2440 +2440 +2540 +2480 +0400 +ENDCHAR +STARTCHAR U_5E03 +ENCODING 24067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +FFE0 +1200 +1200 +3FC0 +5240 +9240 +1240 +12C0 +0200 +ENDCHAR +STARTCHAR U_5E04 +ENCODING 24068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F880 +A880 +A880 +A880 +A880 +A880 +B880 +2080 +2280 +2100 +ENDCHAR +STARTCHAR U_5E05 +ENCODING 24069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +97E0 +9520 +9520 +9520 +9520 +9520 +2560 +4100 +8100 +ENDCHAR +STARTCHAR U_5E06 +ENCODING 24070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FA40 +AA40 +AB40 +AAC0 +AA40 +AA40 +2240 +2440 +2860 +ENDCHAR +STARTCHAR U_5E07 +ENCODING 24071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0440 +FFE0 +0440 +7FC0 +0400 +7FC0 +4440 +44C0 +0400 +ENDCHAR +STARTCHAR U_5E08 +ENCODING 24072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A100 +A100 +AFE0 +A920 +A920 +A920 +2920 +2960 +4100 +8100 +ENDCHAR +STARTCHAR U_5E09 +ENCODING 24073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +FA40 +AA40 +AC20 +ABC0 +A940 +A940 +BA40 +2240 +2CC0 +ENDCHAR +STARTCHAR U_5E0A +ENCODING 24074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +22A0 +FAA0 +AAA0 +AAA0 +ABE0 +AA20 +BA00 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_5E0B +ENCODING 24075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +8800 +FFC0 +A400 +D240 +09C0 +FF80 +8880 +8880 +8B80 +0800 +ENDCHAR +STARTCHAR U_5E0C +ENCODING 24076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3380 +0C00 +7380 +0800 +FFC0 +1400 +3F80 +E480 +2480 +2580 +0400 +ENDCHAR +STARTCHAR U_5E0D +ENCODING 24077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0400 +7FC0 +4040 +7FC0 +4200 +5FC0 +5240 +5240 +5240 +52C0 +8200 +ENDCHAR +STARTCHAR U_5E0E +ENCODING 24078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FBE0 +AAA0 +AAA0 +A880 +A880 +B980 +2280 +24A0 +2860 +ENDCHAR +STARTCHAR U_5E0F +ENCODING 24079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +AFE0 +A900 +AFE0 +A920 +A920 +2160 +2100 +2100 +ENDCHAR +STARTCHAR U_5E10 +ENCODING 24080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +FA80 +AB00 +AA00 +AFE0 +AA80 +BA80 +2240 +22C0 +2320 +ENDCHAR +STARTCHAR U_5E11 +ENCODING 24081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +5240 +5180 +3080 +6D40 +8620 +7FC0 +4440 +45C0 +0400 +ENDCHAR +STARTCHAR U_5E12 +ENCODING 24082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +2480 +7FE0 +A200 +25A0 +2460 +7FC0 +4440 +4440 +44C0 +0400 +ENDCHAR +STARTCHAR U_5E13 +ENCODING 24083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +A900 +AFC0 +A900 +AB80 +BB40 +2540 +2920 +2100 +ENDCHAR +STARTCHAR U_5E14 +ENCODING 24084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FBE0 +AAA0 +AA80 +ABE0 +AA20 +BB40 +2280 +2540 +2A20 +ENDCHAR +STARTCHAR U_5E15 +ENCODING 24085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2100 +FBE0 +AA20 +AA20 +ABE0 +AA20 +BA20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_5E16 +ENCODING 24086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +F8E0 +A880 +A880 +ABE0 +AA20 +BA20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_5E17 +ENCODING 24087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +FFE0 +A900 +A9E0 +A920 +A9A0 +BA40 +22C0 +2520 +2A20 +ENDCHAR +STARTCHAR U_5E18 +ENCODING 24088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2080 +4440 +BFA0 +2480 +2480 +2480 +2580 +0400 +ENDCHAR +STARTCHAR U_5E19 +ENCODING 24089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FBC0 +AC80 +A880 +AFE0 +A880 +B940 +2140 +2220 +2420 +ENDCHAR +STARTCHAR U_5E1A +ENCODING 24090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +1F80 +0080 +FFE0 +8420 +3F80 +2480 +2480 +2580 +0400 +ENDCHAR +STARTCHAR U_5E1B +ENCODING 24091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +7F00 +4100 +7F00 +4100 +7F00 +0800 +FF80 +8880 +8B80 +0800 +ENDCHAR +STARTCHAR U_5E1C +ENCODING 24092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +FA20 +AA20 +AA20 +ABE0 +AA20 +B800 +2140 +2220 +2420 +ENDCHAR +STARTCHAR U_5E1D +ENCODING 24093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0A00 +FFE0 +8420 +BFA0 +2480 +2480 +2580 +0400 +ENDCHAR +STARTCHAR U_5E1E +ENCODING 24094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FBE0 +AA20 +AA20 +ABE0 +AA20 +BA20 +2220 +2220 +23E0 +ENDCHAR +STARTCHAR U_5E1F +ENCODING 24095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2A80 +4A40 +9620 +2400 +7FC0 +4440 +4440 +45C0 +0400 +ENDCHAR +STARTCHAR U_5E20 +ENCODING 24096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +7700 +4100 +7700 +4100 +7F00 +0800 +FF80 +8880 +8880 +8980 +0800 +ENDCHAR +STARTCHAR U_5E21 +ENCODING 24097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +2240 +F800 +AFE0 +AA40 +AA40 +AFE0 +BA40 +2240 +2440 +2840 +ENDCHAR +STARTCHAR U_5E22 +ENCODING 24098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2180 +FA40 +AC20 +ABC0 +A800 +ABE0 +AA20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_5E23 +ENCODING 24099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2900 +FFC0 +1000 +FFE0 +2480 +4440 +FFE0 +4440 +45C0 +0400 +ENDCHAR +STARTCHAR U_5E24 +ENCODING 24100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +4A20 +D220 +2BE0 +4220 +8400 +7FC0 +4440 +45C0 +0400 +ENDCHAR +STARTCHAR U_5E25 +ENCODING 24101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +97E0 +9520 +F520 +8520 +F520 +9520 +9560 +F100 +9100 +ENDCHAR +STARTCHAR U_5E26 +ENCODING 24102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FFE0 +2480 +2480 +FFE0 +8420 +BFA0 +2480 +2480 +2580 +0400 +ENDCHAR +STARTCHAR U_5E27 +ENCODING 24103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +20E0 +F880 +ABE0 +AA20 +AAA0 +AAA0 +AAA0 +B880 +2140 +2620 +ENDCHAR +STARTCHAR U_5E28 +ENCODING 24104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +2240 +2000 +FBE0 +AA20 +AA20 +ABE0 +BA80 +2280 +24A0 +2860 +ENDCHAR +STARTCHAR U_5E29 +ENCODING 24105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +21C0 +F880 +ABE0 +AA20 +ABE0 +AA20 +ABE0 +2220 +2220 +22E0 +ENDCHAR +STARTCHAR U_5E2A +ENCODING 24106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2400 +FDC0 +AC00 +AFE0 +AD40 +BD60 +A540 +2920 +31A0 +ENDCHAR +STARTCHAR U_5E2B +ENCODING 24107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F100 +9100 +97E0 +F520 +8520 +F520 +9520 +9560 +F100 +9100 +ENDCHAR +STARTCHAR U_5E2C +ENCODING 24108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +1080 +FFE0 +2080 +7FC0 +A040 +3FC0 +0400 +3FC0 +2440 +24C0 +ENDCHAR +STARTCHAR U_5E2D +ENCODING 24109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +4880 +4F80 +4200 +5FC0 +5240 +52C0 +8200 +ENDCHAR +STARTCHAR U_5E2E +ENCODING 24110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7DE0 +1120 +7D40 +1120 +FDE0 +2500 +7FC0 +2440 +24C0 +0400 +ENDCHAR +STARTCHAR U_5E2F +ENCODING 24111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FFE0 +2480 +3F80 +0000 +FFE0 +8420 +BFC0 +2480 +2580 +0400 +ENDCHAR +STARTCHAR U_5E30 +ENCODING 24112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +27C0 +A040 +AFE0 +A920 +37C0 +2540 +2540 +45C0 +8100 +ENDCHAR +STARTCHAR U_5E31 +ENCODING 24113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FBE0 +A900 +AFE0 +AA40 +AFE0 +BA40 +2540 +2840 +20C0 +ENDCHAR +STARTCHAR U_5E32 +ENCODING 24114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +2240 +FF60 +AA40 +AA40 +AA40 +AF60 +AA40 +BA40 +2440 +2840 +ENDCHAR +STARTCHAR U_5E33 +ENCODING 24115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2200 +FBC0 +AA00 +ABC0 +AA00 +AFE0 +BAA0 +2240 +23A0 +2620 +ENDCHAR +STARTCHAR U_5E34 +ENCODING 24116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +FA40 +A9A0 +AEE0 +AA40 +AFE0 +BA40 +21A0 +2160 +2620 +ENDCHAR +STARTCHAR U_5E35 +ENCODING 24117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +A820 +AEE0 +AAA0 +AEA0 +AAE0 +BA80 +24A0 +28E0 +ENDCHAR +STARTCHAR U_5E36 +ENCODING 24118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +FFE0 +5280 +DEE0 +0000 +FFE0 +8420 +BFA0 +2480 +2580 +0400 +ENDCHAR +STARTCHAR U_5E37 +ENCODING 24119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +23E0 +FA80 +AE80 +ABE0 +AA80 +AA80 +BBE0 +2280 +2280 +23E0 +ENDCHAR +STARTCHAR U_5E38 +ENCODING 24120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +7FE0 +4020 +9FA0 +1080 +1F80 +0400 +3FC0 +2440 +24C0 +0400 +ENDCHAR +STARTCHAR U_5E39 +ENCODING 24121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FA80 +AFE0 +A900 +AFE0 +AA80 +AA80 +BA80 +2100 +26C0 +ENDCHAR +STARTCHAR U_5E3A +ENCODING 24122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +FFE0 +AA40 +ABC0 +AA40 +ABC0 +AA40 +BFE0 +2240 +2420 +ENDCHAR +STARTCHAR U_5E3B +ENCODING 24123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +F880 +ABE0 +A880 +AFE0 +AA20 +BAA0 +22A0 +2140 +2620 +ENDCHAR +STARTCHAR U_5E3C +ENCODING 24124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FFE0 +AD20 +AD20 +AFE0 +ADA0 +BD60 +27E0 +2420 +27E0 +ENDCHAR +STARTCHAR U_5E3D +ENCODING 24125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FDA0 +AC20 +ABC0 +AA40 +ABC0 +BA40 +23C0 +2240 +23C0 +ENDCHAR +STARTCHAR U_5E3E +ENCODING 24126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +27A0 +F940 +AFE0 +A900 +ABE0 +AE20 +BBE0 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_5E3F +ENCODING 24127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +25C0 +F840 +AFE0 +A900 +ABE0 +AC80 +ABE0 +B880 +2940 +2A20 +ENDCHAR +STARTCHAR U_5E40 +ENCODING 24128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2100 +FBE0 +AA20 +ABE0 +AA20 +ABE0 +BA20 +23E0 +2140 +2620 +ENDCHAR +STARTCHAR U_5E41 +ENCODING 24129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FBE0 +AA20 +ABE0 +AA20 +ABE0 +BA20 +23E0 +2240 +2420 +ENDCHAR +STARTCHAR U_5E42 +ENCODING 24130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +A140 +BF40 +2100 +3F00 +1000 +FFC0 +2900 +7F80 +A940 +2B00 +ENDCHAR +STARTCHAR U_5E43 +ENCODING 24131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +F940 +AFE0 +AA40 +ABC0 +A880 +BFE0 +2280 +27E0 +2080 +ENDCHAR +STARTCHAR U_5E44 +ENCODING 24132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +FBE0 +AA00 +ABE0 +AAA0 +ABE0 +BC80 +25E0 +2880 +27E0 +ENDCHAR +STARTCHAR U_5E45 +ENCODING 24133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2000 +FBC0 +AA40 +ABC0 +A800 +AFE0 +BD20 +27E0 +2520 +27E0 +ENDCHAR +STARTCHAR U_5E46 +ENCODING 24134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +AA40 +ABC0 +A900 +ABE0 +AEA0 +BB60 +23A0 +2040 +ENDCHAR +STARTCHAR U_5E47 +ENCODING 24135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +7C40 +13E0 +FC40 +1140 +3CC0 +4400 +7FC0 +4440 +44C0 +0400 +ENDCHAR +STARTCHAR U_5E48 +ENCODING 24136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FFE0 +AA40 +AFE0 +AA40 +AFE0 +AA40 +BA40 +2A40 +3440 +ENDCHAR +STARTCHAR U_5E49 +ENCODING 24137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +2FE0 +FA80 +AB80 +A800 +AFE0 +A900 +AFE0 +B900 +27C0 +2920 +ENDCHAR +STARTCHAR U_5E4A +ENCODING 24138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2080 +FFE0 +AA20 +ABE0 +AA20 +ABE0 +BA20 +23E0 +2140 +2620 +ENDCHAR +STARTCHAR U_5E4B +ENCODING 24139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +FA40 +AA60 +FFE0 +AA40 +A980 +1E60 +0400 +7FC0 +4440 +44C0 +ENDCHAR +STARTCHAR U_5E4C +ENCODING 24140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +FBE0 +AA20 +ABE0 +ACA0 +AAC0 +BFE0 +2180 +22A0 +24E0 +ENDCHAR +STARTCHAR U_5E4D +ENCODING 24141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2720 +FD20 +AAC0 +AA00 +ACE0 +A820 +BEE0 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_5E4E +ENCODING 24142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FFE0 +AA40 +ABC0 +AA40 +ABC0 +B900 +27E0 +2240 +2420 +ENDCHAR +STARTCHAR U_5E4F +ENCODING 24143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +AFE0 +AA00 +AD40 +AA80 +BDC0 +22A0 +24A0 +2300 +ENDCHAR +STARTCHAR U_5E50 +ENCODING 24144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7540 +5FE0 +5100 +7FE0 +5280 +5540 +7FE0 +5540 +5540 +95C0 +B100 +ENDCHAR +STARTCHAR U_5E51 +ENCODING 24145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3540 +5540 +9FE0 +20A0 +5FA0 +C4A0 +5FC0 +5540 +5540 +57A0 +44A0 +ENDCHAR +STARTCHAR U_5E52 +ENCODING 24146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +F940 +AA40 +A940 +AFC0 +A800 +AA40 +BD20 +2440 +27C0 +ENDCHAR +STARTCHAR U_5E53 +ENCODING 24147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27A0 +FA40 +AFE0 +A900 +AA80 +AD60 +BA80 +2120 +2240 +2180 +ENDCHAR +STARTCHAR U_5E54 +ENCODING 24148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +AA40 +AFE0 +AAA0 +AFE0 +AC40 +BA80 +2100 +2EE0 +ENDCHAR +STARTCHAR U_5E55 +ENCODING 24149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +3F80 +2080 +3F80 +2880 +FFE0 +1480 +FFE0 +2480 +2580 +ENDCHAR +STARTCHAR U_5E56 +ENCODING 24150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +AAA0 +AFE0 +A800 +AFC0 +A800 +BFE0 +2540 +2B20 +ENDCHAR +STARTCHAR U_5E57 +ENCODING 24151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2960 +FFE0 +A920 +AF20 +A960 +AFA0 +B920 +2EE0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_5E58 +ENCODING 24152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +AFE0 +AA40 +ABC0 +AA40 +BBC0 +2240 +23C0 +2420 +ENDCHAR +STARTCHAR U_5E59 +ENCODING 24153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +FA80 +ABC0 +AA40 +ABC0 +AA40 +BFE0 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_5E5A +ENCODING 24154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FD20 +1140 +FD20 +21E0 +C100 +3F80 +2480 +7FC0 +4440 +44C0 +ENDCHAR +STARTCHAR U_5E5B +ENCODING 24155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA40 +AFE0 +AA40 +ABC0 +AA40 +BBC0 +2100 +27E0 +2100 +ENDCHAR +STARTCHAR U_5E5C +ENCODING 24156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +AC40 +AFC0 +A900 +AFE0 +BC40 +27C0 +2540 +2B20 +ENDCHAR +STARTCHAR U_5E5D +ENCODING 24157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +FFE0 +AAA0 +ABE0 +AAA0 +ABE0 +B880 +27E0 +2080 +2080 +ENDCHAR +STARTCHAR U_5E5E +ENCODING 24158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2360 +FFE0 +A940 +ABE0 +A880 +ABE0 +B880 +27E0 +2140 +2620 +ENDCHAR +STARTCHAR U_5E5F +ENCODING 24159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24C0 +2FA0 +FA80 +AFE0 +A880 +AEA0 +AAC0 +BE80 +2AA0 +2F60 +2220 +ENDCHAR +STARTCHAR U_5E60 +ENCODING 24160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +FAA0 +AAA0 +AFE0 +AAA0 +AAA0 +BFE0 +2540 +2AA0 +2AA0 +ENDCHAR +STARTCHAR U_5E61 +ENCODING 24161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +FFE0 +AB40 +AD20 +A900 +AFE0 +B920 +2FE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_5E62 +ENCODING 24162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA80 +A900 +AFE0 +AD40 +AFC0 +BD40 +A7E0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_5E63 +ENCODING 24163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9300 +55E0 +FE20 +9B20 +B6C0 +D320 +0200 +3FC0 +2240 +22C0 +0200 +ENDCHAR +STARTCHAR U_5E64 +ENCODING 24164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5500 +FDE0 +AD40 +BF40 +8480 +8D40 +0520 +7FC0 +4440 +44C0 +0400 +ENDCHAR +STARTCHAR U_5E65 +ENCODING 24165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FFE0 +AAA0 +AB80 +A900 +AFC0 +A900 +BFE0 +2100 +2300 +ENDCHAR +STARTCHAR U_5E66 +ENCODING 24166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +7940 +47E0 +7880 +ABE0 +3C80 +0480 +7FC0 +4440 +44C0 +ENDCHAR +STARTCHAR U_5E67 +ENCODING 24167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +AFE0 +AAA0 +AEE0 +A900 +BFE0 +2540 +2920 +2920 +ENDCHAR +STARTCHAR U_5E68 +ENCODING 24168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2280 +FFE0 +AA40 +AFE0 +A800 +ABE0 +B800 +2BE0 +2A20 +33E0 +ENDCHAR +STARTCHAR U_5E69 +ENCODING 24169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +FAA0 +AFE0 +AA20 +ABE0 +AA20 +BBE0 +2220 +23E0 +2620 +ENDCHAR +STARTCHAR U_5E6A +ENCODING 24170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +AFE0 +A820 +AFE0 +AA40 +BD80 +2340 +2520 +2300 +ENDCHAR +STARTCHAR U_5E6B +ENCODING 24171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FBE0 +2240 +F940 +2440 +FF80 +2080 +3F80 +2480 +7FC0 +44C0 +ENDCHAR +STARTCHAR U_5E6C +ENCODING 24172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +AFE0 +A920 +AFC0 +A820 +B9E0 +2F20 +2AA0 +2E60 +ENDCHAR +STARTCHAR U_5E6D +ENCODING 24173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +AAA0 +AFE0 +A940 +AFE0 +B940 +2E80 +29A0 +3660 +ENDCHAR +STARTCHAR U_5E6E +ENCODING 24174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F900 +AFA0 +A920 +AFE0 +AAA0 +BBA0 +2D60 +2A20 +3760 +ENDCHAR +STARTCHAR U_5E6F +ENCODING 24175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +FA40 +AEE0 +AAA0 +AEA0 +AAA0 +BEA0 +2AE0 +2A80 +2D80 +ENDCHAR +STARTCHAR U_5E70 +ENCODING 24176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +FFC0 +A900 +AFE0 +AAA0 +AFE0 +B800 +2540 +2CA0 +33A0 +ENDCHAR +STARTCHAR U_5E71 +ENCODING 24177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FAA0 +AEE0 +A920 +AFE0 +AAA0 +ABA0 +B920 +2BA0 +2D60 +ENDCHAR +STARTCHAR U_5E72 +ENCODING 24178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +0400 +FFE0 +0400 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_5E73 +ENCODING 24179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +2480 +1500 +0400 +FFE0 +0400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_5E74 +ENCODING 24180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4200 +8200 +3FC0 +2200 +2200 +FFE0 +0200 +0200 +0200 +ENDCHAR +STARTCHAR U_5E75 +ENCODING 24181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79E0 +1080 +1080 +1080 +FBE0 +1080 +1080 +1080 +2080 +2080 +4080 +ENDCHAR +STARTCHAR U_5E76 +ENCODING 24182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +7FC0 +1100 +1100 +1100 +FFE0 +1100 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_5E77 +ENCODING 24183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0840 +1080 +7DE0 +1080 +1080 +FDE0 +1080 +1080 +1080 +2080 +4080 +ENDCHAR +STARTCHAR U_5E78 +ENCODING 24184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +1100 +0A00 +7FC0 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_5E79 +ENCODING 24185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F940 +2220 +FDC0 +8880 +F880 +8BE0 +F880 +2080 +F880 +2080 +ENDCHAR +STARTCHAR U_5E7A +ENCODING 24186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +0800 +1100 +2100 +7E00 +0400 +0800 +1080 +27C0 +F840 +ENDCHAR +STARTCHAR U_5E7B +ENCODING 24187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2020 +4820 +4820 +F020 +2020 +2820 +4420 +FD40 +0080 +ENDCHAR +STARTCHAR U_5E7C +ENCODING 24188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +4FE0 +F920 +1120 +2120 +4920 +F520 +42A0 +0440 +ENDCHAR +STARTCHAR U_5E7D +ENCODING 24189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +94A0 +A520 +AD60 +F7A0 +94A0 +AD60 +FFE0 +8420 +8420 +FFE0 +ENDCHAR +STARTCHAR U_5E7E +ENCODING 24190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +4500 +F7C0 +2CA0 +FFE0 +2480 +FFE0 +2280 +3120 +49A0 +8E60 +ENDCHAR +STARTCHAR U_5E7F +ENCODING 24191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +7FE0 +4000 +4000 +4000 +4000 +4000 +4000 +8000 +8000 +ENDCHAR +STARTCHAR U_5E80 +ENCODING 24192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +2400 +2440 +2480 +2700 +2400 +2420 +4420 +83E0 +ENDCHAR +STARTCHAR U_5E81 +ENCODING 24193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +3FE0 +2000 +2FE0 +2100 +2100 +2100 +4100 +4500 +8200 +ENDCHAR +STARTCHAR U_5E82 +ENCODING 24194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +2200 +2200 +2200 +2200 +2500 +2880 +5060 +A020 +ENDCHAR +STARTCHAR U_5E83 +ENCODING 24195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +3FE0 +2000 +2200 +2200 +2200 +2400 +4840 +5FE0 +8020 +ENDCHAR +STARTCHAR U_5E84 +ENCODING 24196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +2200 +2200 +2FC0 +2200 +2200 +2200 +4200 +9FE0 +ENDCHAR +STARTCHAR U_5E85 +ENCODING 24197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +3FE0 +2200 +2280 +2480 +2900 +2200 +4440 +4FE0 +8020 +ENDCHAR +STARTCHAR U_5E86 +ENCODING 24198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FE0 +2200 +2200 +3FE0 +2200 +2200 +2500 +4480 +4840 +9020 +ENDCHAR +STARTCHAR U_5E87 +ENCODING 24199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5100 +5120 +5D40 +5180 +5100 +5520 +9920 +90E0 +ENDCHAR +STARTCHAR U_5E88 +ENCODING 24200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +4500 +4880 +5260 +6220 +5FC0 +4080 +8100 +8200 +ENDCHAR +STARTCHAR U_5E89 +ENCODING 24201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +5FC0 +4200 +5240 +5240 +5FC0 +4200 +8220 +81E0 +ENDCHAR +STARTCHAR U_5E8A +ENCODING 24202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +4200 +7FE0 +4200 +4700 +4A80 +5240 +A220 +8200 +ENDCHAR +STARTCHAR U_5E8B +ENCODING 24203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +7FE0 +4200 +5FC0 +4880 +4500 +4200 +8D80 +B060 +ENDCHAR +STARTCHAR U_5E8C +ENCODING 24204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +3FE0 +2500 +2900 +2FE0 +2300 +2500 +4900 +9300 +ENDCHAR +STARTCHAR U_5E8D +ENCODING 24205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2040 +2F80 +2800 +2FE0 +2880 +2880 +2880 +4880 +9080 +ENDCHAR +STARTCHAR U_5E8E +ENCODING 24206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +3FE0 +2200 +2580 +2840 +34A0 +2480 +4480 +4480 +8880 +ENDCHAR +STARTCHAR U_5E8F +ENCODING 24207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4000 +5F80 +4500 +4200 +7FE0 +4240 +4200 +8200 +8E00 +ENDCHAR +STARTCHAR U_5E90 +ENCODING 24208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2100 +2FC0 +2840 +2840 +2FC0 +2800 +4800 +5000 +A000 +ENDCHAR +STARTCHAR U_5E91 +ENCODING 24209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5FC0 +4200 +5FE0 +4500 +4500 +4920 +9120 +A0E0 +ENDCHAR +STARTCHAR U_5E92 +ENCODING 24210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +4200 +4200 +5FC0 +4200 +4280 +4240 +8200 +BFE0 +ENDCHAR +STARTCHAR U_5E93 +ENCODING 24211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2200 +3FE0 +2400 +2900 +2FC0 +2100 +3FE0 +4100 +8100 +ENDCHAR +STARTCHAR U_5E94 +ENCODING 24212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +7FE0 +4000 +4440 +5240 +4A40 +4880 +4080 +8100 +9FE0 +ENDCHAR +STARTCHAR U_5E95 +ENCODING 24213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +2FC0 +2900 +2FE0 +2900 +2880 +2AA0 +4D60 +8920 +ENDCHAR +STARTCHAR U_5E96 +ENCODING 24214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4800 +4FC0 +5040 +6F40 +4940 +4F40 +48A0 +4820 +87E0 +ENDCHAR +STARTCHAR U_5E97 +ENCODING 24215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +2200 +23C0 +2200 +2FC0 +2840 +2840 +4FC0 +8840 +ENDCHAR +STARTCHAR U_5E98 +ENCODING 24216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5FC0 +5240 +5FC0 +5240 +5FC0 +4200 +4200 +8200 +ENDCHAR +STARTCHAR U_5E99 +ENCODING 24217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +4200 +5FC0 +5240 +5FC0 +5240 +5240 +9FC0 +9040 +ENDCHAR +STARTCHAR U_5E9A +ENCODING 24218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2200 +2FC0 +2240 +3FE0 +2240 +2FC0 +2500 +4880 +B060 +ENDCHAR +STARTCHAR U_5E9B +ENCODING 24219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4480 +4480 +54A0 +57C0 +5480 +5480 +54A0 +96A0 +B8E0 +ENDCHAR +STARTCHAR U_5E9C +ENCODING 24220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4440 +4840 +4BE0 +5840 +6A40 +4940 +4840 +8940 +8880 +ENDCHAR +STARTCHAR U_5E9D +ENCODING 24221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4400 +4F80 +4880 +5500 +4200 +4D00 +72C0 +4C00 +8300 +ENDCHAR +STARTCHAR U_5E9E +ENCODING 24222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2280 +2240 +3FE0 +2220 +2540 +2580 +2520 +4B20 +B4E0 +ENDCHAR +STARTCHAR U_5E9F +ENCODING 24223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2A80 +2A40 +3FE0 +2400 +27C0 +2A40 +3180 +4240 +8C20 +ENDCHAR +STARTCHAR U_5EA0 +ENCODING 24224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2880 +2500 +3FE0 +2200 +3FC0 +2200 +3FE0 +4200 +8200 +ENDCHAR +STARTCHAR U_5EA1 +ENCODING 24225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +4400 +7FC0 +4400 +4A40 +5A80 +6900 +4880 +4C60 +8800 +ENDCHAR +STARTCHAR U_5EA2 +ENCODING 24226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5FE0 +4480 +4840 +4FE0 +4200 +5FC0 +8200 +BFE0 +ENDCHAR +STARTCHAR U_5EA3 +ENCODING 24227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +3540 +2D80 +2500 +2D80 +3540 +2520 +4920 +90E0 +ENDCHAR +STARTCHAR U_5EA4 +ENCODING 24228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +5FC0 +4200 +7FE0 +4080 +5FE0 +4880 +8480 +8380 +ENDCHAR +STARTCHAR U_5EA5 +ENCODING 24229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +4880 +4FE0 +5880 +6980 +4AC0 +4CA0 +8880 +8880 +ENDCHAR +STARTCHAR U_5EA6 +ENCODING 24230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4900 +7FC0 +4900 +4F00 +4000 +5F80 +4900 +8600 +B9C0 +ENDCHAR +STARTCHAR U_5EA7 +ENCODING 24231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +4A80 +4A80 +5740 +6220 +5FC0 +4200 +8200 +BFE0 +ENDCHAR +STARTCHAR U_5EA8 +ENCODING 24232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4240 +5FC0 +4280 +7FE0 +4400 +4F80 +5100 +AFC0 +8200 +ENDCHAR +STARTCHAR U_5EA9 +ENCODING 24233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4500 +4880 +5740 +6220 +5FC0 +4700 +4A80 +5240 +8600 +ENDCHAR +STARTCHAR U_5EAA +ENCODING 24234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +4880 +4BE0 +4D40 +7940 +4880 +A940 +9220 +ENDCHAR +STARTCHAR U_5EAB +ENCODING 24235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +7FE0 +5240 +5FC0 +5240 +5FC0 +4200 +BFE0 +8200 +ENDCHAR +STARTCHAR U_5EAC +ENCODING 24236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4900 +4880 +7FE0 +5480 +5700 +54C0 +5720 +5420 +A3E0 +ENDCHAR +STARTCHAR U_5EAD +ENCODING 24237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +7BE0 +5080 +7BE0 +4880 +6880 +53E0 +9000 +AFE0 +ENDCHAR +STARTCHAR U_5EAE +ENCODING 24238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +7FE0 +4500 +5FC0 +5540 +59C0 +5740 +9040 +9FC0 +ENDCHAR +STARTCHAR U_5EAF +ENCODING 24239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4280 +7FE0 +4200 +5FC0 +5240 +5FC0 +5240 +5FC0 +9240 +ENDCHAR +STARTCHAR U_5EB0 +ENCODING 24240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5080 +4900 +7FC0 +4900 +7FE0 +4900 +4900 +9100 +A100 +ENDCHAR +STARTCHAR U_5EB1 +ENCODING 24241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +5FC0 +4200 +7FE0 +5440 +6FA0 +5480 +8300 +9CE0 +ENDCHAR +STARTCHAR U_5EB2 +ENCODING 24242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +7FE0 +4A40 +4A40 +56A0 +6700 +4A80 +9240 +A220 +ENDCHAR +STARTCHAR U_5EB3 +ENCODING 24243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4400 +5FC0 +5240 +5FC0 +5240 +5FC0 +4900 +BFE0 +8100 +ENDCHAR +STARTCHAR U_5EB4 +ENCODING 24244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4480 +5FE0 +4480 +7FE0 +4000 +4FC0 +4940 +8A40 +8FC0 +ENDCHAR +STARTCHAR U_5EB5 +ENCODING 24245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4400 +7FE0 +5280 +5FC0 +72A0 +5F80 +52A0 +8220 +81E0 +ENDCHAR +STARTCHAR U_5EB6 +ENCODING 24246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +4480 +5FE0 +4480 +4780 +4000 +5540 +92A0 +A2A0 +ENDCHAR +STARTCHAR U_5EB7 +ENCODING 24247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +5FC0 +4240 +7FE0 +4240 +5FC0 +5240 +8A80 +B660 +ENDCHAR +STARTCHAR U_5EB8 +ENCODING 24248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4FC0 +4240 +5FE0 +4240 +5FC0 +5240 +5FC0 +9240 +92C0 +ENDCHAR +STARTCHAR U_5EB9 +ENCODING 24249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +4880 +4FC0 +4840 +4FC0 +4900 +9080 +A060 +ENDCHAR +STARTCHAR U_5EBA +ENCODING 24250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4880 +5540 +68A0 +5FC0 +4200 +7FE0 +4700 +4A80 +B260 +ENDCHAR +STARTCHAR U_5EBB +ENCODING 24251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4900 +7FE0 +4900 +4F00 +4000 +4880 +4880 +5540 +A220 +ENDCHAR +STARTCHAR U_5EBC +ENCODING 24252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +53E0 +5080 +5BE0 +52A0 +52A0 +5AA0 +6140 +8220 +ENDCHAR +STARTCHAR U_5EBD +ENCODING 24253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4A80 +4F80 +4A80 +4F80 +4200 +5FC0 +5240 +53C0 +9C40 +ENDCHAR +STARTCHAR U_5EBE +ENCODING 24254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5AC0 +5240 +5AC0 +5240 +5FC0 +4500 +8880 +B060 +ENDCHAR +STARTCHAR U_5EBF +ENCODING 24255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +4880 +5FC0 +5240 +5FC0 +5240 +5240 +9FC0 +ENDCHAR +STARTCHAR U_5EC0 +ENCODING 24256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +5FC0 +5240 +4D80 +5040 +67A0 +4480 +4300 +8CC0 +ENDCHAR +STARTCHAR U_5EC1 +ENCODING 24257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5EA0 +52A0 +5AA0 +56A0 +52A0 +5E20 +9420 +A2E0 +ENDCHAR +STARTCHAR U_5EC2 +ENCODING 24258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4800 +49E0 +7F20 +49E0 +4D20 +5BE0 +6920 +89E0 +8920 +ENDCHAR +STARTCHAR U_5EC3 +ENCODING 24259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4140 +5D80 +54A0 +4840 +77A0 +4500 +5FE0 +8500 +19E0 +ENDCHAR +STARTCHAR U_5EC4 +ENCODING 24260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5D40 +5540 +5D60 +5400 +5FE0 +5540 +5A80 +B140 +8220 +ENDCHAR +STARTCHAR U_5EC5 +ENCODING 24261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +5FC0 +4200 +7FE0 +4880 +5FC0 +5540 +9540 +BFE0 +ENDCHAR +STARTCHAR U_5EC6 +ENCODING 24262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4400 +5FC0 +5240 +5FC0 +5240 +5FC0 +4740 +8AA0 +B1E0 +ENDCHAR +STARTCHAR U_5EC7 +ENCODING 24263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4400 +59E0 +54A0 +5560 +5FC0 +5240 +5FC0 +9240 +9FC0 +ENDCHAR +STARTCHAR U_5EC8 +ENCODING 24264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +5FE0 +4840 +4FC0 +4840 +4FC0 +5480 +A300 +9CE0 +ENDCHAR +STARTCHAR U_5EC9 +ENCODING 24265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4500 +5FE0 +4540 +7FE0 +4540 +5FC0 +4D80 +9540 +A520 +ENDCHAR +STARTCHAR U_5ECA +ENCODING 24266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4800 +5EE0 +52A0 +5EA0 +52C0 +5EA0 +54A0 +96E0 +9A80 +ENDCHAR +STARTCHAR U_5ECB +ENCODING 24267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5240 +5BC0 +5240 +5FC0 +4200 +5FC0 +4880 +8700 +B8E0 +ENDCHAR +STARTCHAR U_5ECC +ENCODING 24268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4900 +7FC0 +4940 +7FE0 +4800 +5FE0 +5520 +AAA0 +AAC0 +ENDCHAR +STARTCHAR U_5ECD +ENCODING 24269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4800 +7FE0 +52A0 +7FA0 +40C0 +5EA0 +52A0 +52E0 +9E80 +ENDCHAR +STARTCHAR U_5ECE +ENCODING 24270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +57E0 +5240 +5FC0 +5240 +53C0 +5640 +5BC0 +8660 +ENDCHAR +STARTCHAR U_5ECF +ENCODING 24271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4800 +5DC0 +5540 +5D60 +5600 +5DE0 +5140 +9480 +9D60 +ENDCHAR +STARTCHAR U_5ED0 +ENCODING 24272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4800 +5DE0 +5440 +5D40 +57E0 +5CC0 +58C0 +9540 +9A60 +ENDCHAR +STARTCHAR U_5ED1 +ENCODING 24273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +5240 +5240 +7FE0 +4200 +5FC0 +8200 +BFE0 +ENDCHAR +STARTCHAR U_5ED2 +ENCODING 24274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7EE0 +48A0 +7FA0 +48A0 +7EA0 +5240 +A2A0 +A520 +ENDCHAR +STARTCHAR U_5ED3 +ENCODING 24275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4800 +7FE0 +52A0 +52C0 +7EA0 +48A0 +7EA0 +88E0 +9880 +ENDCHAR +STARTCHAR U_5ED4 +ENCODING 24276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5240 +7FE0 +5240 +5FC0 +5240 +7FE0 +4480 +8700 +B8E0 +ENDCHAR +STARTCHAR U_5ED5 +ENCODING 24277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4140 +5EA0 +57C0 +5840 +55E0 +5400 +5BE0 +9140 +93A0 +ENDCHAR +STARTCHAR U_5ED6 +ENCODING 24278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5540 +4CC0 +5540 +4700 +78E0 +4300 +5C40 +8380 +9C00 +ENDCHAR +STARTCHAR U_5ED7 +ENCODING 24279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5540 +7FE0 +5540 +7760 +4000 +7FE0 +6220 +5FC0 +9240 +ENDCHAR +STARTCHAR U_5ED8 +ENCODING 24280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +5FE0 +5280 +5FE0 +52A0 +5FE0 +5B40 +ADA0 +AEE0 +ENDCHAR +STARTCHAR U_5ED9 +ENCODING 24281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5240 +5FC0 +5240 +7FE0 +4480 +7FE0 +4000 +8D80 +B060 +ENDCHAR +STARTCHAR U_5EDA +ENCODING 24282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4840 +7E40 +49E0 +4840 +7F40 +52C0 +5E40 +9440 +BEC0 +ENDCHAR +STARTCHAR U_5EDB +ENCODING 24283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5240 +5FC0 +5240 +7FE0 +4A80 +5240 +6FA0 +8200 +9FE0 +ENDCHAR +STARTCHAR U_5EDC +ENCODING 24284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5040 +5FC0 +5200 +5FE0 +5440 +5FC0 +5440 +57C0 +A440 +ENDCHAR +STARTCHAR U_5EDD +ENCODING 24285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5420 +7FC0 +5500 +5DE0 +5540 +5540 +BF40 +9540 +2240 +ENDCHAR +STARTCHAR U_5EDE +ENCODING 24286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4900 +55E0 +7E20 +4880 +7C80 +4A80 +AD40 +9A20 +3E20 +ENDCHAR +STARTCHAR U_5EDF +ENCODING 24287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4800 +7FE0 +52A0 +5EE0 +52A0 +5EE0 +48A0 +7F20 +8960 +ENDCHAR +STARTCHAR U_5EE0 +ENCODING 24288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +8880 +AA80 +9CE0 +BFA0 +A2A0 +AEA0 +AA40 +AEA0 +A720 +ENDCHAR +STARTCHAR U_5EE1 +ENCODING 24289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4800 +5FE0 +7540 +5540 +7FE0 +5540 +7FE0 +9540 +AAA0 +ENDCHAR +STARTCHAR U_5EE2 +ENCODING 24290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5540 +48A0 +7DC0 +4520 +5E00 +51C0 +5D40 +8480 +9B60 +ENDCHAR +STARTCHAR U_5EE3 +ENCODING 24291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4480 +5FC0 +4480 +7FE0 +5240 +5FC0 +5240 +5FC0 +B060 +ENDCHAR +STARTCHAR U_5EE4 +ENCODING 24292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +7FE0 +5240 +5FC0 +4200 +5D20 +55C0 +5500 +9DE0 +ENDCHAR +STARTCHAR U_5EE5 +ENCODING 24293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4D80 +5040 +7FE0 +5540 +5FC0 +4880 +4F80 +8880 +8F80 +ENDCHAR +STARTCHAR U_5EE6 +ENCODING 24294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +8080 +BFE0 +A540 +BC80 +A3E0 +BC80 +D7E0 +9480 +9C80 +ENDCHAR +STARTCHAR U_5EE7 +ENCODING 24295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +7FE0 +5240 +6AA0 +7FE0 +5540 +5740 +9040 +9FC0 +ENDCHAR +STARTCHAR U_5EE8 +ENCODING 24296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +52A0 +5FA0 +55A0 +5F40 +55E0 +5F40 +55E0 +9540 +A340 +ENDCHAR +STARTCHAR U_5EE9 +ENCODING 24297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4200 +7FE0 +5540 +5240 +5FC0 +4200 +5FE0 +8A80 +B260 +ENDCHAR +STARTCHAR U_5EEA +ENCODING 24298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +7FE0 +5740 +5040 +5FC0 +4000 +7FE0 +8A80 +B660 +ENDCHAR +STARTCHAR U_5EEB +ENCODING 24299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4000 +5F60 +5520 +5F60 +5520 +56A0 +5D40 +56A0 +A540 +ENDCHAR +STARTCHAR U_5EEC +ENCODING 24300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +5FE0 +5240 +52A0 +57E0 +5540 +6FE0 +AAA0 +9FE0 +ENDCHAR +STARTCHAR U_5EED +ENCODING 24301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4480 +5BE0 +4880 +7FE0 +4A20 +5FE0 +6A20 +4BE0 +8A20 +ENDCHAR +STARTCHAR U_5EEE +ENCODING 24302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5540 +5DC0 +5540 +5DC0 +5540 +7FE0 +4480 +8300 +9CE0 +ENDCHAR +STARTCHAR U_5EEF +ENCODING 24303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5540 +7E80 +6BE0 +7E80 +6BE0 +7E80 +55E0 +AA80 +AA80 +ENDCHAR +STARTCHAR U_5EF0 +ENCODING 24304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4080 +7FE0 +5540 +5EA0 +57E0 +5C00 +5540 +5F20 +A5E0 +ENDCHAR +STARTCHAR U_5EF1 +ENCODING 24305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5540 +6B40 +7DE0 +4540 +7DE0 +5540 +7DE0 +A140 +BDE0 +ENDCHAR +STARTCHAR U_5EF2 +ENCODING 24306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +9540 +9DC0 +9540 +BFE0 +A540 +BFC0 +AB40 +ADA0 +5DE0 +ENDCHAR +STARTCHAR U_5EF3 +ENCODING 24307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A880 +BBE0 +AAA0 +FAA0 +AFE0 +A940 +FAA0 +AD40 +F9C0 +ENDCHAR +STARTCHAR U_5EF4 +ENCODING 24308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F800 +1000 +2000 +2000 +7800 +0800 +8800 +5000 +2000 +3000 +CFE0 +ENDCHAR +STARTCHAR U_5EF5 +ENCODING 24309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +F2A0 +12A0 +22A0 +7540 +1540 +92A0 +62A0 +22A0 +5800 +87E0 +ENDCHAR +STARTCHAR U_5EF6 +ENCODING 24310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F060 +1780 +2080 +4080 +F4E0 +1480 +9480 +5480 +27E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_5EF7 +ENCODING 24311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F040 +1780 +2100 +4100 +FFE0 +1100 +9100 +57C0 +2000 +5000 +8FE0 +ENDCHAR +STARTCHAR U_5EF8 +ENCODING 24312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7100 +27C0 +4540 +77C0 +1540 +9540 +57C0 +3440 +4800 +87E0 +ENDCHAR +STARTCHAR U_5EF9 +ENCODING 24313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +77C0 +1440 +2440 +47C0 +7440 +1440 +57C0 +2440 +5800 +87E0 +ENDCHAR +STARTCHAR U_5EFA +ENCODING 24314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +2240 +5FE0 +E240 +2FC0 +A200 +6FE0 +2200 +5200 +8FE0 +ENDCHAR +STARTCHAR U_5EFB +ENCODING 24315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +EFE0 +2820 +4BA0 +EAA0 +2AA0 +ABA0 +A820 +4FE0 +A000 +9FE0 +ENDCHAR +STARTCHAR U_5EFC +ENCODING 24316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +2280 +4280 +EFE0 +2AA0 +2AA0 +ACE0 +A820 +4FE0 +A000 +1FE0 +ENDCHAR +STARTCHAR U_5EFD +ENCODING 24317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E000 +2FE0 +2AA0 +4BA0 +EAA0 +2BA0 +AAA0 +6AA0 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_5EFE +ENCODING 24318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +1080 +1080 +FFE0 +1080 +1080 +2080 +2080 +4080 +8080 +ENDCHAR +STARTCHAR U_5EFF +ENCODING 24319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +1080 +FFE0 +1080 +1080 +1080 +1080 +1080 +1F80 +1080 +ENDCHAR +STARTCHAR U_5F00 +ENCODING 24320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +1100 +1100 +1100 +1100 +FFE0 +1100 +2100 +2100 +4100 +8100 +ENDCHAR +STARTCHAR U_5F01 +ENCODING 24321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1100 +2080 +7FC0 +1140 +1100 +FFE0 +1100 +1100 +2100 +C100 +ENDCHAR +STARTCHAR U_5F02 +ENCODING 24322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2020 +3FE0 +1100 +1100 +FFE0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_5F03 +ENCODING 24323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0800 +1080 +3FC0 +1100 +FFE0 +1100 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_5F04 +ENCODING 24324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +3F80 +0400 +FFE0 +0000 +1100 +FFE0 +1100 +2100 +C100 +ENDCHAR +STARTCHAR U_5F05 +ENCODING 24325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2080 +DFE0 +0480 +0880 +7700 +1100 +FFE0 +1100 +2100 +C100 +ENDCHAR +STARTCHAR U_5F06 +ENCODING 24326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +7FC0 +1100 +7FC0 +2080 +FFE0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_5F07 +ENCODING 24327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1100 +3F80 +C060 +3F80 +2080 +3F80 +1100 +FFE0 +1100 +6100 +ENDCHAR +STARTCHAR U_5F08 +ENCODING 24328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +4940 +8920 +1120 +6B00 +0900 +FFE0 +0900 +1100 +6100 +ENDCHAR +STARTCHAR U_5F09 +ENCODING 24329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +7FE0 +0900 +7900 +4FC0 +8800 +1100 +FFE0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_5F0A +ENCODING 24330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9300 +5500 +FDE0 +9720 +BCC0 +D720 +1100 +0900 +FFE0 +1100 +6100 +ENDCHAR +STARTCHAR U_5F0B +ENCODING 24331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +0400 +07E0 +FC00 +0400 +0200 +0200 +0120 +00A0 +0060 +ENDCHAR +STARTCHAR U_5F0C +ENCODING 24332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +04C0 +0400 +FFE0 +0200 +0200 +0100 +0100 +FCA0 +0060 +0020 +ENDCHAR +STARTCHAR U_5F0D +ENCODING 24333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0280 +0240 +FFE0 +0200 +7A00 +0100 +0100 +1CA0 +E060 +0020 +ENDCHAR +STARTCHAR U_5F0E +ENCODING 24334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +FFE0 +0400 +0400 +FA00 +0200 +7100 +0120 +FCA0 +0040 +ENDCHAR +STARTCHAR U_5F0F +ENCODING 24335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0240 +0200 +FFE0 +0200 +7A00 +1200 +1100 +1120 +18A0 +E060 +ENDCHAR +STARTCHAR U_5F10 +ENCODING 24336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7C80 +0440 +FFE0 +0400 +0400 +7A00 +0200 +1D00 +E0A0 +0040 +ENDCHAR +STARTCHAR U_5F11 +ENCODING 24337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +88C0 +50A0 +27E0 +5080 +AF80 +FA80 +2280 +7240 +AB40 +2C20 +6020 +ENDCHAR +STARTCHAR U_5F12 +ENCODING 24338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +90C0 +60A0 +9FE0 +2880 +F880 +2780 +3280 +6A40 +A340 +2E20 +2020 +ENDCHAR +STARTCHAR U_5F13 +ENCODING 24339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +0080 +3F80 +2000 +4000 +7F80 +0080 +0080 +0080 +0500 +0200 +ENDCHAR +STARTCHAR U_5F14 +ENCODING 24340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +0880 +0880 +7F80 +4800 +FFC0 +0840 +0840 +0940 +0880 +0800 +ENDCHAR +STARTCHAR U_5F15 +ENCODING 24341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FC40 +0440 +0440 +7C40 +4040 +FC40 +0440 +0440 +0440 +2840 +1040 +ENDCHAR +STARTCHAR U_5F16 +ENCODING 24342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +1F80 +2000 +2000 +3F80 +0080 +0080 +0500 +0200 +FFE0 +ENDCHAR +STARTCHAR U_5F17 +ENCODING 24343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +1200 +FF80 +1280 +7F80 +5200 +FFC0 +1240 +1240 +2380 +C200 +ENDCHAR +STARTCHAR U_5F18 +ENCODING 24344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +1080 +1080 +F100 +8100 +8100 +F240 +1240 +1240 +A7E0 +4020 +ENDCHAR +STARTCHAR U_5F19 +ENCODING 24345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +1100 +1100 +F100 +8FE0 +8100 +F100 +1100 +1100 +A500 +4200 +ENDCHAR +STARTCHAR U_5F1A +ENCODING 24346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +4200 +2400 +FF00 +0900 +FF00 +8800 +FF80 +0880 +0880 +0B00 +0800 +ENDCHAR +STARTCHAR U_5F1B +ENCODING 24347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1500 +1540 +F5E0 +8F40 +8540 +F540 +15C0 +1520 +A420 +43E0 +ENDCHAR +STARTCHAR U_5F1C +ENCODING 24348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9E0 +0820 +0820 +79E0 +4100 +79E0 +0820 +0820 +0820 +5140 +2080 +ENDCHAR +STARTCHAR U_5F1D +ENCODING 24349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +1540 +1540 +7540 +47C0 +F440 +1400 +1400 +1420 +9420 +63E0 +ENDCHAR +STARTCHAR U_5F1E +ENCODING 24350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +0A00 +0BE0 +7D40 +4100 +7900 +0900 +0A80 +0A80 +5460 +2840 +ENDCHAR +STARTCHAR U_5F1F +ENCODING 24351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +0A00 +7FC0 +0440 +3FC0 +4400 +7FE0 +1420 +24A0 +C440 +0400 +ENDCHAR +STARTCHAR U_5F20 +ENCODING 24352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E440 +2440 +2480 +E700 +8400 +9FE0 +E500 +2500 +2480 +A640 +4420 +ENDCHAR +STARTCHAR U_5F21 +ENCODING 24353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F7C0 +1400 +1400 +F780 +8480 +F480 +1780 +1400 +1400 +A7C0 +4000 +ENDCHAR +STARTCHAR U_5F22 +ENCODING 24354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1520 +1520 +F7E0 +8100 +8FE0 +F440 +1280 +1100 +9280 +6C60 +ENDCHAR +STARTCHAR U_5F23 +ENCODING 24355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +1240 +1440 +F5E0 +8C40 +F640 +1540 +1440 +1440 +5540 +2480 +ENDCHAR +STARTCHAR U_5F24 +ENCODING 24356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F060 +1780 +1480 +F480 +87E0 +8480 +F480 +1480 +1540 +A720 +4CA0 +ENDCHAR +STARTCHAR U_5F25 +ENCODING 24357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +1400 +17E0 +F820 +8100 +8100 +F540 +1520 +1920 +A100 +4300 +ENDCHAR +STARTCHAR U_5F26 +ENCODING 24358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +1100 +1FE0 +F100 +8240 +8780 +F080 +1100 +1240 +AFA0 +4420 +ENDCHAR +STARTCHAR U_5F27 +ENCODING 24359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0E0 +1740 +1540 +F540 +8540 +8540 +F540 +1520 +15A0 +A960 +4A20 +ENDCHAR +STARTCHAR U_5F28 +ENCODING 24360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +1120 +1120 +F220 +84A0 +8840 +F7E0 +1420 +1420 +A7E0 +4420 +ENDCHAR +STARTCHAR U_5F29 +ENCODING 24361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +5180 +2A40 +7FA0 +0080 +3F80 +2000 +7FC0 +0040 +0380 +ENDCHAR +STARTCHAR U_5F2A +ENCODING 24362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +1040 +1080 +F180 +8260 +8420 +F7E0 +1100 +1100 +A100 +4FE0 +ENDCHAR +STARTCHAR U_5F2B +ENCODING 24363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +1500 +7500 +47C0 +4440 +7440 +17C0 +1500 +1500 +A7E0 +4000 +ENDCHAR +STARTCHAR U_5F2C +ENCODING 24364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +2880 +E880 +8AC0 +8A40 +EA40 +2AC0 +2880 +2880 +AFE0 +4000 +ENDCHAR +STARTCHAR U_5F2D +ENCODING 24365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +1240 +1240 +F3C0 +8240 +8240 +F3C0 +1240 +1260 +A7C0 +4040 +ENDCHAR +STARTCHAR U_5F2E +ENCODING 24366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +7FC0 +0800 +FFE0 +2180 +DF60 +1000 +3F80 +0080 +0480 +0300 +ENDCHAR +STARTCHAR U_5F2F +ENCODING 24367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2940 +4920 +BFC0 +0040 +7F80 +4000 +7FC0 +0040 +0380 +ENDCHAR +STARTCHAR U_5F30 +ENCODING 24368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F4A0 +12C0 +1080 +F7E0 +8420 +87E0 +F420 +17E0 +1420 +A420 +44E0 +ENDCHAR +STARTCHAR U_5F31 +ENCODING 24369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0820 +FBE0 +8200 +FBE0 +8A20 +4920 +38E0 +CB20 +0820 +71C0 +ENDCHAR +STARTCHAR U_5F32 +ENCODING 24370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +1240 +13C0 +F000 +87E0 +8420 +F7E0 +1420 +17E0 +A420 +4460 +ENDCHAR +STARTCHAR U_5F33 +ENCODING 24371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +1540 +1540 +FA80 +8540 +8540 +F000 +17C0 +1100 +A100 +4FE0 +ENDCHAR +STARTCHAR U_5F34 +ENCODING 24372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFE0 +2440 +E7C0 +8000 +EFC0 +2080 +3FE0 +2100 +A500 +4200 +ENDCHAR +STARTCHAR U_5F35 +ENCODING 24373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +1400 +17C0 +F400 +87C0 +8400 +FFE0 +14A0 +1440 +A520 +4620 +ENDCHAR +STARTCHAR U_5F36 +ENCODING 24374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1080 +1FE0 +F000 +87C0 +8440 +F7C0 +1100 +1540 +A920 +4B20 +ENDCHAR +STARTCHAR U_5F37 +ENCODING 24375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1240 +1420 +F7E0 +8100 +87C0 +F540 +17C0 +1120 +51E0 +2E20 +ENDCHAR +STARTCHAR U_5F38 +ENCODING 24376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +2AA0 +2AA0 +EEE0 +8AA0 +8AA0 +EEE0 +2AA0 +2AA0 +B320 +4660 +ENDCHAR +STARTCHAR U_5F39 +ENCODING 24377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E440 +2280 +2FE0 +E920 +8FE0 +8920 +EFE0 +2100 +2FE0 +A100 +4100 +ENDCHAR +STARTCHAR U_5F3A +ENCODING 24378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +2440 +27C0 +E100 +8FE0 +8920 +E920 +2FC0 +2120 +21E0 +CF20 +ENDCHAR +STARTCHAR U_5F3B +ENCODING 24379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2420 +3F20 +F560 +9540 +9B40 +FB60 +3120 +3120 +BFA0 +4040 +ENDCHAR +STARTCHAR U_5F3C +ENCODING 24380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +2420 +2E20 +EAE0 +8A80 +8E80 +EAE0 +2A20 +2E20 +AAA0 +4040 +ENDCHAR +STARTCHAR U_5F3D +ENCODING 24381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +1FE0 +1540 +F5C0 +8400 +F7E0 +1100 +1FE0 +1380 +A540 +4920 +ENDCHAR +STARTCHAR U_5F3E +ENCODING 24382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A20 +E540 +2FC0 +EA40 +8FC0 +EA40 +2FC0 +2200 +3FE0 +A200 +4200 +ENDCHAR +STARTCHAR U_5F3F +ENCODING 24383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7F80 +1100 +FFE0 +2F80 +D060 +1F00 +0100 +0600 +ENDCHAR +STARTCHAR U_5F40 +ENCODING 24384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +FD40 +2140 +FD60 +8E00 +7BE0 +4240 +7940 +0880 +4940 +3620 +ENDCHAR +STARTCHAR U_5F41 +ENCODING 24385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1740 +1540 +7740 +4040 +4FE0 +7540 +1740 +1040 +A140 +4080 +ENDCHAR +STARTCHAR U_5F42 +ENCODING 24386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +2A40 +2A80 +FFE0 +1500 +77E0 +4900 +77E0 +1280 +5440 +2820 +ENDCHAR +STARTCHAR U_5F43 +ENCODING 24387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +2920 +2FE0 +E920 +8FE0 +8540 +EFE0 +2100 +2FE0 +A100 +4100 +ENDCHAR +STARTCHAR U_5F44 +ENCODING 24388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +2800 +2BC0 +EA40 +8BC0 +8800 +EBE0 +2AA0 +2BE0 +A800 +4FE0 +ENDCHAR +STARTCHAR U_5F45 +ENCODING 24389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E240 +2FE0 +2000 +EEA0 +8AA0 +EEA0 +2A40 +2FE0 +2220 +A4A0 +4840 +ENDCHAR +STARTCHAR U_5F46 +ENCODING 24390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +FFE0 +B540 +EC80 +BFC0 +00A0 +3F80 +2000 +3FC0 +0040 +0380 +ENDCHAR +STARTCHAR U_5F47 +ENCODING 24391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +27C0 +2140 +EFE0 +8140 +8BA0 +ED60 +2FE0 +2920 +AD60 +53A0 +ENDCHAR +STARTCHAR U_5F48 +ENCODING 24392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +2AA0 +2FE0 +E920 +8FE0 +8920 +EFE0 +2100 +2FE0 +A100 +4100 +ENDCHAR +STARTCHAR U_5F49 +ENCODING 24393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F7C0 +1280 +1FE0 +F100 +87C0 +F540 +17C0 +1540 +97C0 +6C60 +ENDCHAR +STARTCHAR U_5F4A +ENCODING 24394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1540 +17C0 +F540 +8FE0 +8000 +F7C0 +1540 +17C0 +A540 +4FE0 +ENDCHAR +STARTCHAR U_5F4B +ENCODING 24395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +2AA0 +2FE0 +E000 +9FE0 +8840 +EFE0 +2540 +2C80 +B540 +4E20 +ENDCHAR +STARTCHAR U_5F4C +ENCODING 24396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +2540 +2920 +FFE0 +8920 +8DA0 +EB60 +2DA0 +2B60 +ADA0 +4960 +ENDCHAR +STARTCHAR U_5F4D +ENCODING 24397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +2A40 +EFE0 +8A40 +EFE0 +2940 +2FC0 +2940 +AFC0 +5660 +ENDCHAR +STARTCHAR U_5F4E +ENCODING 24398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E80 +A1C0 +CEA0 +51C0 +FEA0 +AB40 +3F80 +2000 +3FC0 +0040 +0380 +ENDCHAR +STARTCHAR U_5F4F +ENCODING 24399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +2AA0 +2EE0 +EAA0 +8FE0 +8900 +EFC0 +2900 +2FE0 +A300 +5CE0 +ENDCHAR +STARTCHAR U_5F50 +ENCODING 24400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +FF80 +0080 +0080 +0080 +7F80 +0080 +0080 +0080 +FF80 +ENDCHAR +STARTCHAR U_5F51 +ENCODING 24401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +1000 +1F00 +1100 +1100 +2100 +7E00 +0200 +0200 +FFE0 +ENDCHAR +STARTCHAR U_5F52 +ENCODING 24402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +17C0 +9040 +9040 +9040 +97C0 +9040 +9040 +2040 +4FC0 +8040 +ENDCHAR +STARTCHAR U_5F53 +ENCODING 24403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +8880 +4900 +2A00 +FF80 +0080 +0080 +7F80 +0080 +0080 +FF80 +ENDCHAR +STARTCHAR U_5F54 +ENCODING 24404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +1100 +3F00 +0200 +FFE0 +4440 +2680 +1D00 +2480 +D460 +0800 +ENDCHAR +STARTCHAR U_5F55 +ENCODING 24405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +3F80 +0080 +FFE0 +2440 +1680 +0D00 +3480 +C460 +0C00 +ENDCHAR +STARTCHAR U_5F56 +ENCODING 24406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +1080 +3F00 +0100 +FFE0 +1440 +6A80 +1700 +6A80 +1240 +6C20 +ENDCHAR +STARTCHAR U_5F57 +ENCODING 24407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2100 +FBC0 +2100 +FBE0 +2100 +7FC0 +0040 +3FC0 +0040 +7FC0 +ENDCHAR +STARTCHAR U_5F58 +ENCODING 24408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +2100 +3F00 +0100 +FFE0 +8880 +EFA0 +94C0 +9F80 +CAA0 +9160 +ENDCHAR +STARTCHAR U_5F59 +ENCODING 24409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2100 +FFE0 +8020 +BFA0 +2480 +3F80 +2480 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_5F5A +ENCODING 24410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +FFE0 +A4A0 +3F80 +2480 +3F80 +0400 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_5F5B +ENCODING 24411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +7FC0 +1280 +5440 +FFA0 +3A80 +5580 +FFE0 +1100 +2100 +ENDCHAR +STARTCHAR U_5F5C +ENCODING 24412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F00 +1100 +FFE0 +5580 +FE40 +5BE0 +9540 +2280 +FFE0 +2100 +4100 +ENDCHAR +STARTCHAR U_5F5D +ENCODING 24413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +2100 +FFE0 +5480 +3940 +FFA0 +39C0 +56A0 +FFE0 +1100 +6100 +ENDCHAR +STARTCHAR U_5F5E +ENCODING 24414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +FFE0 +5680 +3940 +FFE0 +39C0 +56A0 +FFE0 +1080 +2080 +ENDCHAR +STARTCHAR U_5F5F +ENCODING 24415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +0BE0 +7E80 +0BC0 +FA80 +13C0 +FA80 +97C0 +5280 +1100 +36E0 +ENDCHAR +STARTCHAR U_5F60 +ENCODING 24416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A80 +0FE0 +7A80 +07C0 +FA80 +2FC0 +FA80 +17C0 +FA80 +5100 +36E0 +ENDCHAR +STARTCHAR U_5F61 +ENCODING 24417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 1 -1 +BITMAP +02 +04 +08 +32 +C4 +08 +31 +C2 +04 +18 +E0 +ENDCHAR +STARTCHAR U_5F62 +ENCODING 24418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E20 +2440 +2480 +2420 +FE40 +2480 +2500 +2420 +2440 +4480 +8700 +ENDCHAR +STARTCHAR U_5F63 +ENCODING 24419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2080 +FB00 +5040 +5080 +5300 +5040 +2080 +3300 +4C00 +83E0 +ENDCHAR +STARTCHAR U_5F64 +ENCODING 24420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3E00 +2220 +3240 +2A80 +2220 +FF40 +2280 +2220 +2240 +4A80 +8500 +ENDCHAR +STARTCHAR U_5F65 +ENCODING 24421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FC0 +0A80 +0500 +7FE0 +4300 +5CC0 +4300 +5CC0 +4300 +9C00 +ENDCHAR +STARTCHAR U_5F66 +ENCODING 24422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FC0 +1080 +0900 +7FE0 +4300 +5CC0 +4300 +5CC0 +4300 +9C00 +ENDCHAR +STARTCHAR U_5F67 +ENCODING 24423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +FFE0 +0500 +7680 +5520 +7A40 +0680 +3920 +C2A0 +0C60 +ENDCHAR +STARTCHAR U_5F68 +ENCODING 24424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +FE20 +0040 +EEA0 +AA20 +EE40 +AA80 +AA20 +AA20 +AA40 +AA80 +ENDCHAR +STARTCHAR U_5F69 +ENCODING 24425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C40 +F280 +5500 +2820 +1040 +FE80 +3900 +5420 +9240 +1080 +1300 +ENDCHAR +STARTCHAR U_5F6A +ENCODING 24426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1E20 +1040 +7EA0 +5240 +7C80 +5220 +5E40 +4080 +5D20 +9420 +A3E0 +ENDCHAR +STARTCHAR U_5F6B +ENCODING 24427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE40 +9280 +BB00 +9220 +FE40 +8280 +BB00 +AA20 +BA40 +8280 +8700 +ENDCHAR +STARTCHAR U_5F6C +ENCODING 24428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2220 +FF40 +2280 +7620 +6B40 +AA80 +A220 +2240 +2280 +2300 +ENDCHAR +STARTCHAR U_5F6D +ENCODING 24429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE40 +1080 +7D20 +0040 +7C80 +4500 +7C20 +2840 +2C80 +F300 +ENDCHAR +STARTCHAR U_5F6E +ENCODING 24430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE40 +AA80 +4520 +9240 +2880 +4500 +FE20 +4440 +4480 +7F00 +ENDCHAR +STARTCHAR U_5F6F +ENCODING 24431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +2840 +FE80 +AB20 +FE40 +0080 +7D00 +0020 +FE40 +5480 +B300 +ENDCHAR +STARTCHAR U_5F70 +ENCODING 24432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FE40 +2880 +FF20 +4440 +7C80 +4500 +7C20 +1040 +FE80 +1100 +ENDCHAR +STARTCHAR U_5F71 +ENCODING 24433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +4440 +7C80 +4520 +7C40 +1080 +FF00 +4420 +7C40 +5480 +B300 +ENDCHAR +STARTCHAR U_5F72 +ENCODING 24434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7720 +0020 +7740 +5580 +3F20 +5440 +7F80 +5520 +7F40 +5480 +9F00 +ENDCHAR +STARTCHAR U_5F73 +ENCODING 24435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 0 -1 +BITMAP +10 +20 +40 +88 +10 +20 +60 +A0 +20 +20 +20 +ENDCHAR +STARTCHAR U_5F74 +ENCODING 24436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2200 +43E0 +9420 +2820 +6220 +A120 +2020 +2020 +2140 +2080 +ENDCHAR +STARTCHAR U_5F75 +ENCODING 24437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2500 +4560 +97A0 +2D20 +6520 +A520 +2560 +2500 +2420 +23E0 +ENDCHAR +STARTCHAR U_5F76 +ENCODING 24438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +2440 +4440 +9480 +25E0 +6420 +A620 +2540 +2880 +2940 +3620 +ENDCHAR +STARTCHAR U_5F77 +ENCODING 24439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2100 +4FE0 +9200 +2200 +63C0 +A240 +2240 +2240 +2540 +2880 +ENDCHAR +STARTCHAR U_5F78 +ENCODING 24440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4500 +8480 +2480 +4840 +CA40 +5220 +4400 +4480 +5FC0 +4840 +ENDCHAR +STARTCHAR U_5F79 +ENCODING 24441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +4480 +8480 +08E0 +3000 +4780 +C480 +4300 +4300 +4480 +5860 +ENDCHAR +STARTCHAR U_5F7A +ENCODING 24442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +27C0 +4100 +8100 +1100 +2100 +67C0 +A100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_5F7B +ENCODING 24443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +4BE0 +88A0 +2CA0 +58A0 +C8A0 +4D20 +4920 +4220 +44A0 +4840 +ENDCHAR +STARTCHAR U_5F7C +ENCODING 24444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4FE0 +8920 +2900 +4900 +CFC0 +4C40 +4A80 +5100 +5280 +6C60 +ENDCHAR +STARTCHAR U_5F7D +ENCODING 24445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +4F00 +8900 +2900 +4FE0 +C900 +4900 +4880 +4AA0 +4D60 +4920 +ENDCHAR +STARTCHAR U_5F7E +ENCODING 24446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4500 +8880 +3440 +4220 +DFC0 +4080 +4100 +4600 +4200 +4100 +ENDCHAR +STARTCHAR U_5F7F +ENCODING 24447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +2280 +57E0 +A2A0 +6FE0 +AA80 +2FE0 +22A0 +22E0 +2480 +2880 +ENDCHAR +STARTCHAR U_5F80 +ENCODING 24448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2100 +4FE0 +9100 +2100 +6100 +A7C0 +2100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_5F81 +ENCODING 24449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +4100 +9100 +2100 +65E0 +A500 +2500 +2500 +2500 +3FE0 +ENDCHAR +STARTCHAR U_5F82 +ENCODING 24450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +2440 +4440 +9440 +27C0 +6440 +A440 +27C0 +2440 +2440 +2FE0 +ENDCHAR +STARTCHAR U_5F83 +ENCODING 24451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2500 +4500 +97C0 +2900 +6100 +A7C0 +2100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_5F84 +ENCODING 24452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +2080 +4900 +9280 +2440 +6820 +A7C0 +2100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_5F85 +ENCODING 24453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2100 +47C0 +9100 +1FE0 +2080 +6FE0 +A480 +2280 +2080 +2180 +ENDCHAR +STARTCHAR U_5F86 +ENCODING 24454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +4280 +8280 +1FE0 +2AA0 +6AA0 +AAA0 +2C60 +2820 +2820 +2FE0 +ENDCHAR +STARTCHAR U_5F87 +ENCODING 24455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +27E0 +4820 +97A0 +24A0 +67A0 +A4A0 +27A0 +2020 +20A0 +2040 +ENDCHAR +STARTCHAR U_5F88 +ENCODING 24456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +2440 +47C0 +9440 +27C0 +6520 +A540 +2480 +2480 +2640 +2420 +ENDCHAR +STARTCHAR U_5F89 +ENCODING 24457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +2280 +4FE0 +9100 +2100 +67C0 +A100 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_5F8A +ENCODING 24458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +5020 +9020 +37A0 +54A0 +D4A0 +57A0 +5020 +5020 +5FE0 +5020 +ENDCHAR +STARTCHAR U_5F8B +ENCODING 24459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +5FC0 +8240 +3FE0 +4240 +DFC0 +4200 +5FC0 +4200 +7FE0 +4200 +ENDCHAR +STARTCHAR U_5F8C +ENCODING 24460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2480 +4700 +9240 +2FE0 +6420 +A7C0 +2C40 +3280 +2380 +2C60 +ENDCHAR +STARTCHAR U_5F8D +ENCODING 24461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +5100 +9100 +2FE0 +6100 +A100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_5F8E +ENCODING 24462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +2440 +4440 +97C0 +2000 +6FE0 +A100 +27C0 +2100 +2100 +3FE0 +ENDCHAR +STARTCHAR U_5F8F +ENCODING 24463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2100 +45C0 +9500 +2FE0 +4100 +C520 +4540 +4980 +4300 +5C00 +ENDCHAR +STARTCHAR U_5F90 +ENCODING 24464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4280 +9440 +2820 +67C0 +A100 +2FE0 +2100 +2540 +2920 +2300 +ENDCHAR +STARTCHAR U_5F91 +ENCODING 24465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +2540 +4540 +9A80 +2540 +6540 +A000 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_5F92 +ENCODING 24466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2100 +47C0 +9100 +2FE0 +6100 +A500 +25E0 +2500 +2B00 +30E0 +ENDCHAR +STARTCHAR U_5F93 +ENCODING 24467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +4FE0 +8100 +2100 +4500 +C5C0 +4500 +4500 +4B00 +50E0 +ENDCHAR +STARTCHAR U_5F94 +ENCODING 24468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +2480 +4FE0 +9480 +2200 +6FC0 +A080 +2100 +2600 +2C00 +33E0 +ENDCHAR +STARTCHAR U_5F95 +ENCODING 24469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4200 +9FC0 +3240 +4A80 +FFE0 +4700 +4A80 +5240 +6220 +4200 +ENDCHAR +STARTCHAR U_5F96 +ENCODING 24470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2100 +4FE0 +9820 +27C0 +6000 +AFE0 +2100 +2540 +2920 +2300 +ENDCHAR +STARTCHAR U_5F97 +ENCODING 24471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +47C0 +9440 +27C0 +6000 +A7E0 +2080 +2FE0 +2480 +2180 +ENDCHAR +STARTCHAR U_5F98 +ENCODING 24472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +2280 +4EE0 +9280 +2280 +6EE0 +A280 +2280 +2EE0 +2280 +2280 +ENDCHAR +STARTCHAR U_5F99 +ENCODING 24473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2500 +45E0 +9500 +2FE0 +6100 +A500 +25E0 +2500 +2B00 +30E0 +ENDCHAR +STARTCHAR U_5F9A +ENCODING 24474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +4200 +9FC0 +3AC0 +5740 +DFC0 +4700 +4A80 +5240 +6220 +ENDCHAR +STARTCHAR U_5F9B +ENCODING 24475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2FE0 +4280 +9440 +2FE0 +6040 +A740 +2540 +2740 +2040 +20C0 +ENDCHAR +STARTCHAR U_5F9C +ENCODING 24476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2920 +4540 +9100 +2FE0 +6820 +ABA0 +2AA0 +2BA0 +2820 +2860 +ENDCHAR +STARTCHAR U_5F9D +ENCODING 24477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4200 +97C0 +2440 +67C0 +A440 +27C0 +2440 +2440 +2FE0 +ENDCHAR +STARTCHAR U_5F9E +ENCODING 24478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +2240 +45A0 +9920 +2000 +6500 +A500 +25E0 +2500 +2B00 +31E0 +ENDCHAR +STARTCHAR U_5F9F +ENCODING 24479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +2920 +4920 +9BA0 +2920 +6FE0 +A820 +2BA0 +2AA0 +2BA0 +3060 +ENDCHAR +STARTCHAR U_5FA0 +ENCODING 24480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2100 +4FE0 +9540 +2540 +6BA0 +A120 +2380 +2540 +2920 +2100 +ENDCHAR +STARTCHAR U_5FA1 +ENCODING 24481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +24E0 +47A0 +9AA0 +2FA0 +62A0 +ABA0 +2AA0 +2BE0 +3C80 +2080 +ENDCHAR +STARTCHAR U_5FA2 +ENCODING 24482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FC0 +4280 +9FE0 +2280 +4F80 +C200 +4B80 +4A00 +5600 +63C0 +ENDCHAR +STARTCHAR U_5FA3 +ENCODING 24483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +2280 +4FE0 +9280 +2FE0 +6000 +A7C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_5FA4 +ENCODING 24484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BC0 +4940 +8FE0 +3140 +5BC0 +C900 +6FE0 +5100 +5900 +67E0 +ENDCHAR +STARTCHAR U_5FA5 +ENCODING 24485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +4440 +87C0 +1440 +27C0 +6000 +AFE0 +2100 +25C0 +2B00 +30E0 +ENDCHAR +STARTCHAR U_5FA6 +ENCODING 24486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +4A20 +8A20 +2EE0 +4800 +CEE0 +48A0 +4EA0 +4840 +48A0 +4920 +ENDCHAR +STARTCHAR U_5FA7 +ENCODING 24487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +4840 +9FC0 +2800 +4FE0 +CAA0 +5FE0 +5AA0 +6AA0 +4860 +ENDCHAR +STARTCHAR U_5FA8 +ENCODING 24488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +27C0 +4440 +97C0 +2440 +6FE0 +A100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_5FA9 +ENCODING 24489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +27E0 +4C40 +97C0 +2440 +67C0 +A400 +27C0 +2C80 +3300 +2CE0 +ENDCHAR +STARTCHAR U_5FAA +ENCODING 24490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +2880 +4FE0 +9880 +2BE0 +6A20 +ABE0 +2A20 +2BE0 +2A20 +33E0 +ENDCHAR +STARTCHAR U_5FAB +ENCODING 24491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +27C0 +4240 +9FE0 +2440 +67C0 +A080 +27E0 +2480 +2FE0 +2080 +ENDCHAR +STARTCHAR U_5FAC +ENCODING 24492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8480 +3FE0 +5120 +DFE0 +4200 +43C0 +4240 +4440 +48C0 +ENDCHAR +STARTCHAR U_5FAD +ENCODING 24493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +4E40 +8A40 +1580 +2900 +6FC0 +B100 +2FE0 +2100 +2920 +2FE0 +ENDCHAR +STARTCHAR U_5FAE +ENCODING 24494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +6A80 +BE80 +01E0 +5D40 +C340 +5D40 +5480 +5680 +5540 +6220 +ENDCHAR +STARTCHAR U_5FAF +ENCODING 24495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FA0 +2A40 +4580 +9240 +2F80 +6240 +AFA0 +2100 +2FE0 +2280 +3C60 +ENDCHAR +STARTCHAR U_5FB0 +ENCODING 24496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +45C0 +9500 +1FE0 +2000 +67E0 +A100 +25C0 +2500 +2FE0 +ENDCHAR +STARTCHAR U_5FB1 +ENCODING 24497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2500 +5FC0 +9540 +3FC0 +4000 +CF80 +4000 +5FE0 +4A80 +5640 +ENDCHAR +STARTCHAR U_5FB2 +ENCODING 24498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +4820 +8FE0 +1AA0 +29C0 +6AA0 +ABE0 +2C80 +2FE0 +2880 +3080 +ENDCHAR +STARTCHAR U_5FB3 +ENCODING 24499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4100 +9FE0 +2AA0 +4FE0 +C400 +4A40 +5AA0 +68A0 +4780 +ENDCHAR +STARTCHAR U_5FB4 +ENCODING 24500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +5680 +9FE0 +2140 +5F40 +C540 +5E80 +4480 +4540 +5A20 +ENDCHAR +STARTCHAR U_5FB5 +ENCODING 24501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3540 +5540 +9F60 +10A0 +2EA0 +60A0 +BEA0 +24A0 +2E40 +24A0 +3F20 +ENDCHAR +STARTCHAR U_5FB6 +ENCODING 24502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3580 +4E80 +84E0 +3F20 +5520 +D520 +5FA0 +5540 +5540 +55A0 +5320 +ENDCHAR +STARTCHAR U_5FB7 +ENCODING 24503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +5FE0 +8200 +3FC0 +5540 +DFC0 +4000 +7FE0 +4A40 +58A0 +6F80 +ENDCHAR +STARTCHAR U_5FB8 +ENCODING 24504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +4480 +9FE0 +2A40 +4A40 +CFC0 +4200 +4FC0 +4200 +5FE0 +ENDCHAR +STARTCHAR U_5FB9 +ENCODING 24505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +5F80 +8AE0 +3FA0 +40A0 +DEA0 +52A0 +5E40 +5240 +5EA0 +5320 +ENDCHAR +STARTCHAR U_5FBA +ENCODING 24506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +4200 +9FE0 +2480 +4FC0 +C480 +5FE0 +4500 +4520 +58E0 +ENDCHAR +STARTCHAR U_5FBB +ENCODING 24507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +4440 +8BA0 +1000 +2FE0 +6AA0 +AFE0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_5FBC +ENCODING 24508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +5E80 +92E0 +3FA0 +52A0 +FFA0 +48A0 +4EA0 +4A40 +52A0 +6720 +ENDCHAR +STARTCHAR U_5FBD +ENCODING 24509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +7E80 +80E0 +3FA0 +48A0 +DCA0 +4AA0 +7F40 +5C40 +6AA0 +5920 +ENDCHAR +STARTCHAR U_5FBE +ENCODING 24510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3540 +5540 +9F60 +25A0 +5EA0 +C0A0 +5EA0 +40A0 +5E40 +52A0 +5F20 +ENDCHAR +STARTCHAR U_5FBF +ENCODING 24511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +5F80 +8AE0 +2420 +5FE0 +D280 +5EE0 +5280 +5EE0 +5280 +56E0 +ENDCHAR +STARTCHAR U_5FC0 +ENCODING 24512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8AA0 +2EE0 +4280 +CFE0 +4280 +5FE0 +4D40 +5480 +4660 +ENDCHAR +STARTCHAR U_5FC1 +ENCODING 24513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +4820 +8FE0 +2940 +4FC0 +D120 +5FE0 +4D40 +53A0 +4540 +4B20 +ENDCHAR +STARTCHAR U_5FC2 +ENCODING 24514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +4EE0 +BAA0 +6EE0 +A900 +2FE0 +3900 +2FC0 +2900 +2FE0 +ENDCHAR +STARTCHAR U_5FC3 +ENCODING 24515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +1200 +1200 +1040 +5020 +5020 +50A0 +9080 +1080 +0F80 +ENDCHAR +STARTCHAR U_5FC4 +ENCODING 24516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 0 -1 +BITMAP +20 +20 +30 +A8 +A8 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR U_5FC5 +ENCODING 24517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +0480 +0500 +1100 +5240 +5220 +9420 +1880 +1080 +3080 +CF80 +ENDCHAR +STARTCHAR U_5FC6 +ENCODING 24518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +3040 +A880 +A880 +A100 +2200 +2200 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_5FC7 +ENCODING 24519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2100 +B7E0 +A920 +2120 +2120 +2220 +2220 +24A0 +2840 +ENDCHAR +STARTCHAR U_5FC8 +ENCODING 24520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +3F80 +0000 +0000 +FFE0 +0000 +0440 +5220 +50A0 +9080 +0F80 +ENDCHAR +STARTCHAR U_5FC9 +ENCODING 24521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2120 +B120 +A920 +2120 +2120 +2220 +2220 +24A0 +2840 +ENDCHAR +STARTCHAR U_5FCA +ENCODING 24522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2100 +B100 +A900 +2100 +2100 +2100 +2100 +2500 +2200 +ENDCHAR +STARTCHAR U_5FCB +ENCODING 24523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2040 +B040 +A840 +27C0 +2400 +2400 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_5FCC +ENCODING 24524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +3F80 +2020 +2020 +1FE0 +0400 +1240 +50A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_5FCD +ENCODING 24525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0440 +2440 +2440 +4840 +1180 +6400 +1240 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_5FCE +ENCODING 24526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C00 +0400 +FFE0 +0400 +0400 +0440 +5220 +52A0 +9080 +0F80 +ENDCHAR +STARTCHAR U_5FCF +ENCODING 24527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +A100 +B100 +A900 +2FE0 +2100 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_5FD0 +ENCODING 24528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +07C0 +0400 +0400 +FFE0 +0400 +1240 +50A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_5FD1 +ENCODING 24529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0700 +0480 +0400 +0000 +0400 +1240 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_5FD2 +ENCODING 24530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +0120 +FFE0 +1100 +0900 +0100 +1500 +52A0 +52A0 +9460 +0C20 +ENDCHAR +STARTCHAR U_5FD3 +ENCODING 24531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2100 +B100 +A900 +AFE0 +2100 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_5FD4 +ENCODING 24532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +A3E0 +B400 +ABC0 +A080 +2100 +2200 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_5FD5 +ENCODING 24533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +B100 +AFE0 +A100 +A100 +2280 +2280 +2440 +2440 +2820 +ENDCHAR +STARTCHAR U_5FD6 +ENCODING 24534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2040 +A040 +B7E0 +A840 +2240 +2140 +2040 +2040 +2140 +2080 +ENDCHAR +STARTCHAR U_5FD7 +ENCODING 24535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +0400 +7FC0 +0400 +1240 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_5FD8 +ENCODING 24536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +2000 +2000 +3FC0 +0400 +1240 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_5FD9 +ENCODING 24537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2000 +AFE0 +B400 +AC00 +A400 +2400 +2400 +2400 +27E0 +ENDCHAR +STARTCHAR U_5FDA +ENCODING 24538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2500 +B5C0 +A740 +2D40 +2540 +25C0 +2520 +2420 +23E0 +ENDCHAR +STARTCHAR U_5FDB +ENCODING 24539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +2480 +2480 +B480 +B680 +A580 +2480 +2480 +2480 +28A0 +3060 +ENDCHAR +STARTCHAR U_5FDC +ENCODING 24540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +7FE0 +4000 +4400 +4200 +4A40 +5820 +68A0 +4880 +8F80 +ENDCHAR +STARTCHAR U_5FDD +ENCODING 24541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +FFE0 +1100 +2480 +4440 +A6A0 +2540 +4540 +0C00 +ENDCHAR +STARTCHAR U_5FDE +ENCODING 24542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +3180 +C060 +0400 +1240 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_5FDF +ENCODING 24543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +B440 +B440 +A280 +2280 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_5FE0 +ENCODING 24544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +4440 +4440 +7FC0 +0400 +0400 +1240 +50A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_5FE1 +ENCODING 24545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AFE0 +B920 +A920 +2FE0 +2100 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_5FE2 +ENCODING 24546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +3F80 +0880 +0880 +FFE0 +0400 +1240 +50A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_5FE3 +ENCODING 24547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2240 +2280 +B3E0 +A220 +A220 +2240 +2540 +2480 +2940 +3220 +ENDCHAR +STARTCHAR U_5FE4 +ENCODING 24548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +B7C0 +A900 +B100 +3FE0 +2100 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_5FE5 +ENCODING 24549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FC0 +4000 +9F80 +0000 +3F80 +0880 +2580 +A0A0 +A260 +9E20 +ENDCHAR +STARTCHAR U_5FE6 +ENCODING 24550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +6300 +D480 +C840 +54A0 +4480 +4480 +4480 +4880 +5080 +ENDCHAR +STARTCHAR U_5FE7 +ENCODING 24551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2140 +2120 +B7E0 +AA80 +2280 +2280 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_5FE8 +ENCODING 24552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +B000 +A800 +AFE0 +2280 +2280 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_5FE9 +ENCODING 24553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0900 +1080 +2440 +4920 +1F80 +0000 +1440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_5FEA +ENCODING 24554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +3280 +B440 +A440 +A920 +2120 +2200 +2240 +2440 +27E0 +ENDCHAR +STARTCHAR U_5FEB +ENCODING 24555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +37C0 +AA40 +A240 +BFE0 +2200 +2300 +2480 +2840 +3020 +ENDCHAR +STARTCHAR U_5FEC +ENCODING 24556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2040 +B280 +A100 +AFE0 +2120 +2100 +2100 +2100 +2300 +ENDCHAR +STARTCHAR U_5FED +ENCODING 24557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +B100 +A900 +A1C0 +2120 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_5FEE +ENCODING 24558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2FE0 +B100 +A900 +A7C0 +2440 +2280 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_5FEF +ENCODING 24559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +2480 +B480 +AFE0 +A480 +2480 +2480 +24A0 +2660 +2420 +ENDCHAR +STARTCHAR U_5FF0 +ENCODING 24560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2F80 +2280 +B2A0 +ACA0 +A960 +2100 +2FE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_5FF1 +ENCODING 24561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27E0 +B520 +AD40 +A100 +2300 +2300 +2520 +2920 +30E0 +ENDCHAR +STARTCHAR U_5FF2 +ENCODING 24562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +6200 +DFE0 +C200 +4500 +4500 +4480 +4A80 +4A40 +5020 +ENDCHAR +STARTCHAR U_5FF3 +ENCODING 24563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2FE0 +B100 +AD40 +A540 +27C0 +2100 +2120 +2120 +20E0 +ENDCHAR +STARTCHAR U_5FF4 +ENCODING 24564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +B280 +AC40 +A920 +B080 +27E0 +2040 +2080 +2080 +2100 +ENDCHAR +STARTCHAR U_5FF5 +ENCODING 24565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1500 +22E0 +DF80 +0100 +0200 +1440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_5FF6 +ENCODING 24566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2000 +B000 +A800 +AFE0 +2100 +2100 +2240 +2420 +2FE0 +ENDCHAR +STARTCHAR U_5FF7 +ENCODING 24567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +28A0 +ACA0 +BB20 +A920 +2920 +2AA0 +2AA0 +2CA0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_5FF8 +ENCODING 24568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2240 +2240 +B240 +AA40 +AFC0 +2440 +2440 +2440 +2440 +2FE0 +ENDCHAR +STARTCHAR U_5FF9 +ENCODING 24569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FC0 +4200 +E200 +D200 +4F80 +4200 +4200 +4200 +4200 +5FE0 +ENDCHAR +STARTCHAR U_5FFA +ENCODING 24570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +27E0 +B520 +A940 +B100 +2100 +2280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_5FFB +ENCODING 24571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +2400 +B400 +AFE0 +A480 +2480 +2480 +2480 +2880 +3080 +ENDCHAR +STARTCHAR U_5FFC +ENCODING 24572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +4200 +5FE0 +E000 +D780 +4480 +4480 +4480 +44A0 +48A0 +5060 +ENDCHAR +STARTCHAR U_5FFD +ENCODING 24573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FC0 +2A40 +4A40 +1440 +2840 +0580 +1240 +50A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_5FFE +ENCODING 24574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +3800 +AFC0 +B000 +AF80 +2080 +2080 +20A0 +2060 +2020 +ENDCHAR +STARTCHAR U_5FFF +ENCODING 24575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +1080 +2040 +FFA0 +0880 +1080 +6700 +1440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6000 +ENCODING 24576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2080 +A100 +B180 +AB40 +A520 +2920 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_6001 +ENCODING 24577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +0A00 +3980 +C460 +0000 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6002 +ENCODING 24578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +1100 +2A80 +4440 +8820 +0400 +1240 +5020 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6003 +ENCODING 24579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +2100 +B100 +AFE0 +A180 +2180 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_6004 +ENCODING 24580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +2820 +BA20 +A940 +A880 +2940 +2E20 +2820 +2800 +2FE0 +ENDCHAR +STARTCHAR U_6005 +ENCODING 24581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2440 +2480 +B500 +A600 +BFE0 +2500 +2500 +2480 +2540 +2620 +ENDCHAR +STARTCHAR U_6006 +ENCODING 24582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +B440 +A820 +AF80 +A480 +2480 +2580 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_6007 +ENCODING 24583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +2400 +B7C0 +AC40 +2440 +2440 +27C0 +2400 +2400 +27E0 +ENDCHAR +STARTCHAR U_6008 +ENCODING 24584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +4A40 +6A40 +DFE0 +CA40 +4A40 +4A40 +4BC0 +4800 +4800 +4FE0 +ENDCHAR +STARTCHAR U_6009 +ENCODING 24585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27C0 +A840 +B740 +A540 +2540 +2740 +24C0 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_600A +ENCODING 24586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2120 +B120 +AA20 +A4A0 +A840 +27E0 +2420 +2420 +2420 +27E0 +ENDCHAR +STARTCHAR U_600B +ENCODING 24587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +A840 +BFC0 +A900 +2FE0 +2900 +2920 +28A0 +2A60 +2C20 +ENDCHAR +STARTCHAR U_600C +ENCODING 24588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +B100 +AB80 +A540 +A920 +3120 +2100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_600D +ENCODING 24589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +B3E0 +AE00 +ABC0 +2200 +2200 +23E0 +2200 +2200 +2200 +ENDCHAR +STARTCHAR U_600E +ENCODING 24590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2800 +4F80 +0800 +0FC0 +0800 +5440 +52A0 +90A0 +0F80 +ENDCHAR +STARTCHAR U_600F +ENCODING 24591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +B7C0 +AD40 +A540 +2540 +2FE0 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6010 +ENCODING 24592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +37E0 +A820 +B7A0 +24A0 +24A0 +27A0 +2020 +20A0 +2040 +ENDCHAR +STARTCHAR U_6011 +ENCODING 24593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +2540 +B100 +AFE0 +2100 +2100 +2FE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_6012 +ENCODING 24594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FA40 +4A40 +4A80 +3180 +2E60 +C000 +1440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6013 +ENCODING 24595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +24E0 +BFA0 +AAA0 +AAA0 +AAA0 +2AA0 +24A0 +2640 +29A0 +3120 +ENDCHAR +STARTCHAR U_6014 +ENCODING 24596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +A100 +B100 +AD00 +25E0 +2500 +2500 +2500 +2500 +2FE0 +ENDCHAR +STARTCHAR U_6015 +ENCODING 24597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2200 +27E0 +B420 +AC20 +A420 +27E0 +2420 +2420 +2420 +27E0 +ENDCHAR +STARTCHAR U_6016 +ENCODING 24598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B200 +AD00 +A7E0 +AD20 +3520 +2520 +2520 +2560 +2100 +ENDCHAR +STARTCHAR U_6017 +ENCODING 24599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +B1E0 +A900 +A100 +27E0 +2420 +2420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_6018 +ENCODING 24600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +2080 +3F80 +0400 +1240 +52A0 +90A0 +0F80 +ENDCHAR +STARTCHAR U_6019 +ENCODING 24601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AFE0 +B100 +A900 +27C0 +2440 +2440 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_601A +ENCODING 24602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B440 +AC40 +A7C0 +A440 +2440 +27C0 +2440 +2440 +3FE0 +ENDCHAR +STARTCHAR U_601B +ENCODING 24603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +A440 +B440 +AFC0 +A440 +2440 +27C0 +2000 +2000 +2FE0 +ENDCHAR +STARTCHAR U_601C +ENCODING 24604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2500 +2880 +B240 +A120 +AFC0 +2080 +2080 +2500 +2200 +2100 +ENDCHAR +STARTCHAR U_601D +ENCODING 24605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +2480 +3F80 +2480 +2480 +3F80 +0440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_601E +ENCODING 24606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +B100 +AFE0 +A920 +2920 +2FE0 +2920 +2920 +2920 +2FE0 +ENDCHAR +STARTCHAR U_601F +ENCODING 24607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4F00 +4900 +E900 +DFE0 +4900 +4900 +48A0 +4AA0 +4D60 +4920 +ENDCHAR +STARTCHAR U_6020 +ENCODING 24608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1080 +7FC0 +0040 +3F80 +2080 +3F80 +0440 +5220 +90A0 +0F80 +ENDCHAR +STARTCHAR U_6021 +ENCODING 24609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +B240 +AC20 +AFE0 +2000 +27C0 +2440 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_6022 +ENCODING 24610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +A7C0 +B500 +A900 +BFE0 +2100 +2100 +2280 +2440 +3820 +ENDCHAR +STARTCHAR U_6023 +ENCODING 24611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2400 +3FC0 +4400 +FFC0 +0A00 +F1E0 +0440 +5220 +9080 +0F80 +ENDCHAR +STARTCHAR U_6024 +ENCODING 24612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +2080 +6FE0 +A880 +2480 +2080 +2580 +1240 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6025 +ENCODING 24613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F00 +1100 +3FC0 +4040 +1FC0 +0040 +3FC0 +1440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6026 +ENCODING 24614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +A520 +B340 +A900 +AFE0 +2100 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_6027 +ENCODING 24615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +B500 +AFE0 +A900 +B100 +27C0 +2100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6028 +ENCODING 24616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3BC0 +4A40 +AA40 +13A0 +2220 +41E0 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6029 +ENCODING 24617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +A7E0 +B400 +AC00 +A520 +2540 +2580 +2520 +2920 +30E0 +ENDCHAR +STARTCHAR U_602A +ENCODING 24618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2440 +B280 +A900 +A280 +AD60 +2100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_602B +ENCODING 24619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +B2A0 +AFE0 +AA80 +2FE0 +22A0 +22A0 +22E0 +2480 +2880 +ENDCHAR +STARTCHAR U_602C +ENCODING 24620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +BAA0 +AAA0 +AAA0 +AAA0 +2CE0 +2820 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_602D +ENCODING 24621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2140 +B240 +AA40 +A280 +AAA0 +2AA0 +3300 +2240 +2640 +29C0 +ENDCHAR +STARTCHAR U_602E +ENCODING 24622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +B9E0 +AAA0 +ACA0 +A4A0 +24A0 +2AA0 +3D20 +22A0 +2440 +ENDCHAR +STARTCHAR U_602F +ENCODING 24623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +B7C0 +A900 +A100 +AFE0 +2100 +2240 +2440 +2FA0 +2420 +ENDCHAR +STARTCHAR U_6030 +ENCODING 24624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +A200 +B440 +AF80 +2100 +2200 +2440 +2FE0 +2020 +ENDCHAR +STARTCHAR U_6031 +ENCODING 24625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FC0 +2540 +D540 +0A40 +3540 +0A80 +0000 +54C0 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_6032 +ENCODING 24626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +A100 +BFE0 +A920 +A920 +2AA0 +2C60 +2820 +2820 +28E0 +ENDCHAR +STARTCHAR U_6033 +ENCODING 24627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +A440 +B440 +AC40 +A7C0 +2280 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_6034 +ENCODING 24628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2140 +AFE0 +B900 +A920 +A920 +2940 +2B40 +2CA0 +2960 +2220 +ENDCHAR +STARTCHAR U_6035 +ENCODING 24629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2140 +A100 +B7E0 +A900 +A380 +2340 +2540 +2520 +2920 +3100 +ENDCHAR +STARTCHAR U_6036 +ENCODING 24630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2FE0 +B940 +A900 +2FC0 +2A40 +2A40 +2980 +2A40 +3420 +ENDCHAR +STARTCHAR U_6037 +ENCODING 24631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +0400 +2500 +2500 +C4E0 +0400 +1240 +5020 +5080 +8F80 +ENDCHAR +STARTCHAR U_6038 +ENCODING 24632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +0400 +FFE0 +1500 +2480 +C460 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6039 +ENCODING 24633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +25C0 +2740 +6D40 +A580 +2420 +23E0 +1400 +5240 +90A0 +8FA0 +ENDCHAR +STARTCHAR U_603A +ENCODING 24634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2720 +3120 +A140 +AD80 +2540 +2920 +3120 +2500 +2200 +ENDCHAR +STARTCHAR U_603B +ENCODING 24635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +0A00 +3F80 +2080 +2080 +3F80 +2080 +0440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_603C +ENCODING 24636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +17E0 +5080 +2480 +3280 +4880 +8180 +1400 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_603D +ENCODING 24637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +37C0 +A900 +A100 +2FE0 +2100 +2380 +2540 +2920 +2100 +ENDCHAR +STARTCHAR U_603E +ENCODING 24638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2440 +B440 +A440 +A7C0 +2000 +2280 +2240 +2420 +2820 +ENDCHAR +STARTCHAR U_603F +ENCODING 24639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2240 +B180 +AA40 +A520 +A100 +27C0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_6040 +ENCODING 24640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +A480 +BB00 +A280 +ADE0 +2220 +2540 +2080 +2300 +2C00 +ENDCHAR +STARTCHAR U_6041 +ENCODING 24641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +3F00 +4200 +5FE0 +C200 +4FC0 +4000 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6042 +ENCODING 24642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +B7E0 +A820 +A3A0 +A2A0 +23A0 +22A0 +23A0 +2020 +20C0 +ENDCHAR +STARTCHAR U_6043 +ENCODING 24643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +B100 +A900 +AFE0 +A080 +2FE0 +2480 +2280 +2080 +2180 +ENDCHAR +STARTCHAR U_6044 +ENCODING 24644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A100 +B100 +A7C0 +A000 +27C0 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_6045 +ENCODING 24645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +27A0 +B140 +A940 +AFE0 +A100 +2240 +2680 +2B20 +2220 +21E0 +ENDCHAR +STARTCHAR U_6046 +ENCODING 24646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2200 +B3C0 +AC40 +A540 +A4C0 +2A40 +2940 +2040 +2040 +3FE0 +ENDCHAR +STARTCHAR U_6047 +ENCODING 24647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +B7E0 +AC80 +A480 +A7E0 +2480 +2480 +27E0 +2400 +27E0 +ENDCHAR +STARTCHAR U_6048 +ENCODING 24648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2200 +2440 +B7E0 +A900 +2FC0 +3100 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_6049 +ENCODING 24649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24C0 +2700 +B420 +AFE0 +A000 +A7E0 +2420 +27E0 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_604A +ENCODING 24650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27C0 +B240 +A340 +2480 +3FE0 +2AA0 +2AA0 +2AA0 +3540 +ENDCHAR +STARTCHAR U_604B +ENCODING 24651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A00 +2A80 +2A40 +4A40 +0000 +5440 +52A0 +90A0 +0F80 +ENDCHAR +STARTCHAR U_604C +ENCODING 24652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +AAA0 +B6C0 +AA80 +A280 +26C0 +2AA0 +2280 +24A0 +2860 +ENDCHAR +STARTCHAR U_604D +ENCODING 24653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +B540 +AB80 +A100 +AFE0 +2280 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_604E +ENCODING 24654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2200 +B440 +AFE0 +2100 +27C0 +2100 +2100 +2FE0 +2000 +ENDCHAR +STARTCHAR U_604F +ENCODING 24655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +13E0 +FC40 +2480 +6BE0 +1080 +E980 +0440 +54A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6050 +ENCODING 24656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +FC80 +2680 +25A0 +3CA0 +C860 +0400 +1240 +50A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6051 +ENCODING 24657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +A480 +BFE0 +A800 +2BC0 +2A40 +2AC0 +2A20 +2A20 +31E0 +ENDCHAR +STARTCHAR U_6052 +ENCODING 24658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +B7C0 +AC40 +A440 +27C0 +2440 +27C0 +2440 +2000 +2FE0 +ENDCHAR +STARTCHAR U_6053 +ENCODING 24659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +A280 +BFE0 +AAA0 +AAA0 +2AA0 +2CE0 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_6054 +ENCODING 24660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +AFE0 +B480 +A840 +B4A0 +2480 +2300 +2300 +2480 +3860 +ENDCHAR +STARTCHAR U_6055 +ENCODING 24661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +2A40 +4A40 +3240 +2BC0 +C400 +1440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6056 +ENCODING 24662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +2A80 +2480 +2A80 +3F80 +0440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6057 +ENCODING 24663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +2300 +B480 +AFC0 +B020 +27C0 +2200 +2380 +2080 +2180 +ENDCHAR +STARTCHAR U_6058 +ENCODING 24664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +B480 +AFE0 +B480 +A5C0 +26A0 +26A0 +2480 +2480 +2480 +ENDCHAR +STARTCHAR U_6059 +ENCODING 24665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +0A00 +7FE0 +0400 +3FC0 +0400 +FFE0 +0400 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_605A +ENCODING 24666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +0400 +7FC0 +0400 +FFE0 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_605B +ENCODING 24667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +B820 +ABA0 +AAA0 +AAA0 +2BA0 +2AA0 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_605C +ENCODING 24668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +AFE0 +A100 +BF00 +A500 +2500 +24A0 +26A0 +3860 +2020 +ENDCHAR +STARTCHAR U_605D +ENCODING 24669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +2120 +F920 +2120 +FA20 +24C0 +1440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_605E +ENCODING 24670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A100 +B7C0 +A940 +A7C0 +2500 +2FE0 +2120 +2280 +2C60 +ENDCHAR +STARTCHAR U_605F +ENCODING 24671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2FE0 +A820 +B520 +AAA0 +ADA0 +28A0 +2FA0 +28A0 +2020 +20C0 +ENDCHAR +STARTCHAR U_6060 +ENCODING 24672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +2FE0 +B280 +A480 +AFC0 +3480 +2480 +2480 +27E0 +2400 +ENDCHAR +STARTCHAR U_6061 +ENCODING 24673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2280 +2300 +B480 +A200 +AFE0 +2200 +2500 +2900 +2240 +27E0 +ENDCHAR +STARTCHAR U_6062 +ENCODING 24674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +B200 +AA80 +A480 +A5A0 +2AC0 +3080 +2140 +2240 +2420 +ENDCHAR +STARTCHAR U_6063 +ENCODING 24675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +2A20 +C240 +4500 +4880 +7060 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6064 +ENCODING 24676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2200 +AFE0 +BAA0 +AAA0 +AAA0 +2AA0 +2AA0 +2AA0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_6065 +ENCODING 24677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +5080 +5280 +7200 +5240 +7620 +5A20 +5240 +7A40 +D240 +13C0 +ENDCHAR +STARTCHAR U_6066 +ENCODING 24678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2400 +AFE0 +B820 +ABA0 +AAA0 +2AA0 +2BA0 +2820 +2820 +2860 +ENDCHAR +STARTCHAR U_6067 +ENCODING 24679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +7FC0 +4A40 +4A40 +4A40 +40C0 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6068 +ENCODING 24680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B7C0 +AC40 +A7C0 +A520 +2540 +2480 +2480 +2640 +2420 +ENDCHAR +STARTCHAR U_6069 +ENCODING 24681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +4A40 +5140 +7FC0 +0400 +6240 +A0A0 +9FA0 +ENDCHAR +STARTCHAR U_606A +ENCODING 24682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +A440 +BA80 +A100 +2280 +2FE0 +2440 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_606B +ENCODING 24683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +ABA0 +B820 +ABA0 +AAA0 +2AA0 +2BA0 +2820 +2820 +28E0 +ENDCHAR +STARTCHAR U_606C +ENCODING 24684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +B100 +AFE0 +A100 +A100 +27E0 +2420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_606D +ENCODING 24685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +FFE0 +1200 +2900 +48C0 +AA20 +2940 +4940 +1800 +ENDCHAR +STARTCHAR U_606E +ENCODING 24686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +BC40 +A820 +A7C0 +A100 +2100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_606F +ENCODING 24687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +3F80 +2080 +3F80 +5440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_6070 +ENCODING 24688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +B440 +A820 +A7C0 +2000 +27C0 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_6071 +ENCODING 24689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +B540 +AA20 +A480 +2FC0 +2000 +2280 +22A0 +24A0 +28E0 +ENDCHAR +STARTCHAR U_6072 +ENCODING 24690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +B7E0 +AA40 +A240 +AFE0 +2240 +2240 +2240 +2440 +2840 +ENDCHAR +STARTCHAR U_6073 +ENCODING 24691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3FA0 +2440 +2B80 +34E0 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_6074 +ENCODING 24692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +0000 +3F80 +2080 +3F80 +2080 +3F80 +5440 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_6075 +ENCODING 24693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +2480 +3F80 +2480 +3F80 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_6076 +ENCODING 24694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0A00 +4A40 +2A80 +0A00 +FFE0 +0000 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6077 +ENCODING 24695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +2FC0 +6200 +A700 +2A80 +2260 +0800 +54C0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6078 +ENCODING 24696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2080 +B1E0 +A8A0 +BFA0 +24A0 +24A0 +2AA0 +3DA0 +2120 +22C0 +ENDCHAR +STARTCHAR U_6079 +ENCODING 24697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +B4C0 +ACA0 +A7E0 +A480 +2480 +2480 +2940 +2A20 +3420 +ENDCHAR +STARTCHAR U_607A +ENCODING 24698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +A520 +B7E0 +A800 +A7E0 +2020 +27E0 +2400 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_607B +ENCODING 24699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F20 +5120 +F5A0 +D5A0 +D5A0 +55A0 +55A0 +5520 +5520 +4A20 +5160 +ENDCHAR +STARTCHAR U_607C +ENCODING 24700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +AFE0 +B480 +AAA0 +A920 +2AA0 +2CA0 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_607D +ENCODING 24701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +A100 +B7E0 +AC80 +A7C0 +2080 +2FE0 +2080 +2080 +2080 +ENDCHAR +STARTCHAR U_607E +ENCODING 24702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +2FE0 +B480 +A200 +BFE0 +2400 +2400 +2400 +27C0 +2000 +ENDCHAR +STARTCHAR U_607F +ENCODING 24703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0A00 +7FC0 +4440 +7FC0 +4440 +7FC0 +4440 +12C0 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_6080 +ENCODING 24704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2440 +B280 +AFE0 +A920 +AFE0 +2920 +2FE0 +2920 +2920 +2860 +ENDCHAR +STARTCHAR U_6081 +ENCODING 24705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +B3C0 +A800 +A7E0 +A420 +27E0 +2420 +27E0 +2420 +24E0 +ENDCHAR +STARTCHAR U_6082 +ENCODING 24706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2880 +2EE0 +B880 +ACA0 +A960 +2100 +2FC0 +2100 +2100 +3FE0 +ENDCHAR +STARTCHAR U_6083 +ENCODING 24707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +A920 +BFE0 +A920 +ABA0 +2D60 +2920 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_6084 +ENCODING 24708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +A100 +B7E0 +A420 +A7E0 +2420 +27E0 +2420 +2420 +24E0 +ENDCHAR +STARTCHAR U_6085 +ENCODING 24709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2440 +B7E0 +AC40 +A440 +A7C0 +2280 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_6086 +ENCODING 24710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1100 +EEE0 +0400 +7FC0 +1500 +ECE0 +0200 +5140 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_6087 +ENCODING 24711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A280 +B440 +A820 +A7C0 +2100 +2FE0 +2540 +2920 +3120 +2300 +ENDCHAR +STARTCHAR U_6088 +ENCODING 24712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +AFE0 +B080 +AAA0 +AAA0 +3FC0 +2A80 +2AA0 +3160 +2220 +ENDCHAR +STARTCHAR U_6089 +ENCODING 24713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +7F00 +2480 +1500 +FFE0 +1600 +6580 +8460 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_608A +ENCODING 24714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA00 +23E0 +3A80 +E280 +2480 +6880 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_608B +ENCODING 24715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +3280 +A900 +AA80 +A440 +2FE0 +2440 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_608C +ENCODING 24716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +B7E0 +A920 +A7E0 +2500 +27E0 +2120 +2320 +25C0 +2900 +ENDCHAR +STARTCHAR U_608D +ENCODING 24717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +A7C0 +BC40 +A7C0 +A000 +27C0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_608E +ENCODING 24718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +A7C0 +B500 +A900 +AFE0 +2000 +27C0 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_608F +ENCODING 24719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +37E0 +A900 +A540 +A540 +2BA0 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6090 +ENCODING 24720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5120 +2540 +5580 +3900 +5280 +9440 +6820 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6091 +ENCODING 24721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2100 +37E0 +A900 +AFE0 +A520 +27E0 +2520 +27E0 +2520 +2560 +ENDCHAR +STARTCHAR U_6092 +ENCODING 24722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B7C0 +A000 +AFE0 +A920 +2FE0 +2800 +2820 +2820 +27E0 +ENDCHAR +STARTCHAR U_6093 +ENCODING 24723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B7C0 +B440 +A7C0 +2440 +27C0 +2280 +2280 +22A0 +2CE0 +ENDCHAR +STARTCHAR U_6094 +ENCODING 24724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +B000 +AFC0 +A540 +A540 +3FE0 +2940 +2FE0 +2040 +2180 +ENDCHAR +STARTCHAR U_6095 +ENCODING 24725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2660 +2180 +B660 +A900 +AFE0 +A280 +27E0 +2AA0 +22A0 +22E0 +2080 +ENDCHAR +STARTCHAR U_6096 +ENCODING 24726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +B100 +AFE0 +A820 +A7C0 +2080 +2FE0 +2100 +2500 +2200 +ENDCHAR +STARTCHAR U_6097 +ENCODING 24727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +B480 +AFE0 +A520 +A520 +27E0 +2180 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_6098 +ENCODING 24728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4800 +4F80 +5200 +7FC0 +4880 +7FC0 +0000 +5440 +92A0 +0F80 +ENDCHAR +STARTCHAR U_6099 +ENCODING 24729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B000 +B7C0 +2440 +27C0 +2080 +2100 +2100 +2100 +2300 +ENDCHAR +STARTCHAR U_609A +ENCODING 24730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A100 +BFE0 +A920 +AFE0 +2920 +2100 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_609B +ENCODING 24731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2440 +B7A0 +AA40 +A420 +ABC0 +2440 +2A80 +2180 +2240 +2C20 +ENDCHAR +STARTCHAR U_609C +ENCODING 24732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B440 +AFC0 +A000 +AFE0 +2100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_609D +ENCODING 24733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +B7C0 +AD40 +A7C0 +A540 +2100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_609E +ENCODING 24734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2A40 +ABC0 +B800 +2FC0 +2240 +3FE0 +2200 +2500 +2880 +3060 +ENDCHAR +STARTCHAR U_609F +ENCODING 24735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +B7C0 +A240 +A240 +AFE0 +2000 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_60A0 +ENCODING 24736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +53E0 +D640 +5240 +5180 +5660 +4000 +1400 +52C0 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_60A1 +ENCODING 24737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +1140 +FD40 +1140 +3940 +D440 +10C0 +0400 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_60A2 +ENCODING 24738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +B440 +AFC0 +A440 +A7C0 +2520 +2540 +2480 +2640 +2C20 +ENDCHAR +STARTCHAR U_60A3 +ENCODING 24739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +2480 +3F80 +0400 +7FC0 +4440 +7FC0 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_60A4 +ENCODING 24740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7FC0 +4840 +4F40 +5540 +4A40 +7FC0 +0400 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_60A5 +ENCODING 24741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +0000 +1F80 +0000 +1F80 +1080 +1F80 +5040 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_60A6 +ENCODING 24742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +2000 +B7C0 +AC40 +A440 +27C0 +2280 +22A0 +24A0 +28E0 +ENDCHAR +STARTCHAR U_60A7 +ENCODING 24743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +4E20 +44A0 +E4A0 +DEA0 +44A0 +4EA0 +4CA0 +5420 +44A0 +4440 +ENDCHAR +STARTCHAR U_60A8 +ENCODING 24744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +4920 +D540 +4520 +4920 +4300 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_60A9 +ENCODING 24745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2220 +2920 +A540 +B400 +A080 +2AA0 +2920 +2AA0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_60AA +ENCODING 24746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +0A00 +FFE0 +0400 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_60AB +ENCODING 24747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +FFE0 +8020 +1E40 +F3C0 +0400 +52C0 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_60AC +ENCODING 24748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3C80 +2780 +2080 +FFE0 +1080 +7F40 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_60AD +ENCODING 24749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2AA0 +AAA0 +BA40 +AAA0 +AB20 +2100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_60AE +ENCODING 24750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +3440 +B7C0 +B000 +A7C0 +2100 +2FE0 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_60AF +ENCODING 24751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +2420 +A920 +BFE0 +AAA0 +AAA0 +2920 +2AA0 +2C60 +2820 +28E0 +ENDCHAR +STARTCHAR U_60B0 +ENCODING 24752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A820 +B7C0 +A000 +AFE0 +2100 +2540 +2920 +3120 +2300 +ENDCHAR +STARTCHAR U_60B1 +ENCODING 24753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2EE0 +A280 +B280 +AEE0 +A280 +2280 +2EE0 +2280 +2280 +2280 +ENDCHAR +STARTCHAR U_60B2 +ENCODING 24754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FBE0 +0A00 +7BC0 +0A00 +FBE0 +0A00 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_60B3 +ENCODING 24755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +5F80 +5280 +5F80 +4000 +7FE0 +1440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_60B4 +ENCODING 24756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A440 +B440 +AAA0 +A920 +2100 +2FE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_60B5 +ENCODING 24757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +B7C0 +AC00 +A7C0 +A400 +2FE0 +2540 +2480 +2640 +2C20 +ENDCHAR +STARTCHAR U_60B6 +ENCODING 24758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +8A20 +A8A0 +A960 +C720 +8060 +ENDCHAR +STARTCHAR U_60B7 +ENCODING 24759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B820 +AFE0 +A940 +A920 +2FE0 +2900 +2A80 +3440 +2820 +ENDCHAR +STARTCHAR U_60B8 +ENCODING 24760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +BFE0 +A540 +A920 +B7C0 +2080 +3FE0 +2100 +2500 +2200 +ENDCHAR +STARTCHAR U_60B9 +ENCODING 24761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F00 +2100 +3F80 +2080 +3F80 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_60BA +ENCODING 24762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +B820 +A7C0 +A440 +27C0 +2400 +27E0 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_60BB +ENCODING 24763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +B100 +AFE0 +A440 +2280 +2FC0 +2100 +3FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_60BC +ENCODING 24764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21C0 +A100 +B7C0 +AC40 +A7C0 +2440 +27C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_60BD +ENCODING 24765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B140 +AFE0 +A140 +A7C0 +2200 +3FE0 +2480 +2380 +2E60 +ENDCHAR +STARTCHAR U_60BE +ENCODING 24766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A820 +B280 +A440 +A820 +27C0 +2100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_60BF +ENCODING 24767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +BFE0 +A280 +A440 +BA20 +2340 +2AA0 +2AA0 +3200 +2600 +ENDCHAR +STARTCHAR U_60C0 +ENCODING 24768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2480 +A840 +B7A0 +A000 +AFE0 +2AA0 +2FE0 +2AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_60C1 +ENCODING 24769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FF80 +2400 +37E0 +6C80 +A480 +2880 +1400 +52C0 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_60C2 +ENCODING 24770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +B240 +AC80 +AA00 +24E0 +2420 +26E0 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_60C3 +ENCODING 24771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B7C0 +AC40 +A7C0 +A880 +2EA0 +28C0 +2880 +2EA0 +2860 +ENDCHAR +STARTCHAR U_60C4 +ENCODING 24772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1D40 +1140 +FC80 +5540 +9220 +2400 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_60C5 +ENCODING 24773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +A100 +B7C0 +A100 +AFE0 +2440 +2740 +25C0 +2440 +24C0 +ENDCHAR +STARTCHAR U_60C6 +ENCODING 24774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +BBA0 +A920 +AFE0 +A820 +2BA0 +2AA0 +2BA0 +2820 +3060 +ENDCHAR +STARTCHAR U_60C7 +ENCODING 24775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B440 +AFC0 +A000 +A7C0 +2080 +2FE0 +2100 +2100 +2300 +ENDCHAR +STARTCHAR U_60C8 +ENCODING 24776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +B7C0 +AD40 +A7C0 +A100 +2FE0 +2100 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_60C9 +ENCODING 24777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +93C0 +6200 +2FC0 +C840 +4FC0 +4840 +1400 +52C0 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_60CA +ENCODING 24778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B000 +AFC0 +A440 +A7C0 +2100 +2540 +2920 +3520 +2200 +ENDCHAR +STARTCHAR U_60CB +ENCODING 24779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B820 +A400 +A7E0 +A5A0 +29A0 +36E0 +2280 +24A0 +2860 +ENDCHAR +STARTCHAR U_60CC +ENCODING 24780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A020 +3BC0 +4A40 +B2C0 +1220 +E7E0 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_60CD +ENCODING 24781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2480 +A840 +B020 +A7C0 +A100 +2FE0 +2100 +2920 +2540 +2FE0 +ENDCHAR +STARTCHAR U_60CE +ENCODING 24782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +1D00 +1700 +1100 +FFE0 +4440 +92A0 +3140 +4F40 +ENDCHAR +STARTCHAR U_60CF +ENCODING 24783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +AFE0 +B480 +AC80 +AEC0 +35A0 +26A0 +2480 +2480 +2480 +ENDCHAR +STARTCHAR U_60D0 +ENCODING 24784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2180 +2140 +AFE0 +B100 +AF20 +2AA0 +2EC0 +22A0 +2D60 +2220 +ENDCHAR +STARTCHAR U_60D1 +ENCODING 24785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FFE0 +0200 +7A40 +4A80 +7920 +02A0 +FC60 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_60D2 +ENCODING 24786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +E3C0 +2240 +FA40 +7240 +ABC0 +0000 +1440 +54A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_60D3 +ENCODING 24787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +B7E0 +AA00 +AFE0 +A440 +2FA0 +3480 +25A0 +2420 +23E0 +ENDCHAR +STARTCHAR U_60D4 +ENCODING 24788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2520 +B540 +A980 +A240 +AD20 +2520 +2540 +2980 +2280 +2C60 +ENDCHAR +STARTCHAR U_60D5 +ENCODING 24789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B7C0 +A440 +AFC0 +A400 +27E0 +2AA0 +2520 +2A20 +24C0 +ENDCHAR +STARTCHAR U_60D6 +ENCODING 24790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +1000 +3FC0 +C940 +32C0 +0400 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_60D7 +ENCODING 24791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2300 +2480 +AA60 +B100 +A780 +2080 +2140 +2CA0 +34A0 +2380 +ENDCHAR +STARTCHAR U_60D8 +ENCODING 24792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +A920 +BFE0 +A920 +AFE0 +2A20 +2A20 +2BA0 +2820 +28E0 +ENDCHAR +STARTCHAR U_60D9 +ENCODING 24793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +24A0 +BAC0 +A520 +A000 +AFE0 +2AA0 +24A0 +2240 +24A0 +2920 +ENDCHAR +STARTCHAR U_60DA +ENCODING 24794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +AAA0 +B4A0 +A920 +A220 +24C0 +2500 +2D40 +34A0 +2380 +ENDCHAR +STARTCHAR U_60DB +ENCODING 24795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2480 +B7E0 +AC80 +A760 +A420 +27C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_60DC +ENCODING 24796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27C0 +B280 +AA80 +AFE0 +2000 +27C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_60DD +ENCODING 24797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +B100 +AFE0 +A820 +ABA0 +2AA0 +2BA0 +2AA0 +2820 +28E0 +ENDCHAR +STARTCHAR U_60DE +ENCODING 24798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4680 +5880 +71E0 +DF20 +D480 +5480 +5480 +5480 +5540 +5540 +6620 +ENDCHAR +STARTCHAR U_60DF +ENCODING 24799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2480 +B7E0 +AC80 +B7E0 +A480 +2480 +27E0 +2480 +27E0 +2400 +ENDCHAR +STARTCHAR U_60E0 +ENCODING 24800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2440 +3FC0 +2440 +3FC0 +0440 +7FA0 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_60E1 +ENCODING 24801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7BC0 +4040 +7BC0 +0A00 +FFE0 +1400 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_60E2 +ENCODING 24802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +5280 +5040 +9140 +0F00 +1080 +2940 +2B20 +6560 +A940 +38C0 +ENDCHAR +STARTCHAR U_60E3 +ENCODING 24803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +53E0 +7D60 +52A0 +98A0 +7320 +1060 +0440 +2AA0 +48A0 +0780 +ENDCHAR +STARTCHAR U_60E4 +ENCODING 24804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2240 +B3E0 +AE40 +A880 +BF20 +22C0 +2240 +2280 +2AA0 +25E0 +ENDCHAR +STARTCHAR U_60E5 +ENCODING 24805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +65C0 +4440 +75C0 +4440 +7FC0 +1100 +E4E0 +1280 +50C0 +8FA0 +ENDCHAR +STARTCHAR U_60E6 +ENCODING 24806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +B7E0 +AC80 +A4E0 +A480 +27E0 +2620 +2A20 +2BE0 +3220 +ENDCHAR +STARTCHAR U_60E7 +ENCODING 24807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B7C0 +AC40 +A7C0 +A440 +27C0 +2440 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_60E8 +ENCODING 24808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FC0 +A200 +BFE0 +A480 +B960 +2680 +2100 +2640 +2180 +2E00 +ENDCHAR +STARTCHAR U_60E9 +ENCODING 24809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +4100 +A100 +49C0 +C900 +4900 +5FE0 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_60EA +ENCODING 24810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +2080 +3F80 +2080 +FFE0 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_60EB +ENCODING 24811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +6900 +0600 +3F80 +E4E0 +3F80 +2480 +3F80 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_60EC +ENCODING 24812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2880 +AFE0 +BAA0 +A9C0 +A880 +2FE0 +2880 +2940 +2A20 +2FE0 +ENDCHAR +STARTCHAR U_60ED +ENCODING 24813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25C0 +3F00 +A900 +B5E0 +BF40 +A540 +2740 +3D40 +2540 +2540 +2640 +ENDCHAR +STARTCHAR U_60EE +ENCODING 24814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +B7C0 +AD40 +A7C0 +A540 +27C0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_60EF +ENCODING 24815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +BFE0 +A540 +A7C0 +2000 +2FE0 +2920 +2920 +2280 +2C60 +ENDCHAR +STARTCHAR U_60F0 +ENCODING 24816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +A200 +B7C0 +A900 +37E0 +2440 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_60F1 +ENCODING 24817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +2540 +A540 +B2A0 +A000 +2FE0 +28A0 +2AA0 +2920 +2AA0 +2FE0 +ENDCHAR +STARTCHAR U_60F2 +ENCODING 24818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +B100 +AFE0 +A540 +27C0 +2540 +27C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_60F3 +ENCODING 24819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +77C0 +AC40 +27C0 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_60F4 +ENCODING 24820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2920 +AFE0 +B000 +AFE0 +2200 +2FE0 +2AA0 +2AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_60F5 +ENCODING 24821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +B540 +ADC0 +A400 +27E0 +2100 +2FE0 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_60F6 +ENCODING 24822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +B440 +AFC0 +A440 +2FE0 +2100 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_60F7 +ENCODING 24823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0800 +FFE0 +3180 +5F40 +9120 +1F00 +5440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_60F8 +ENCODING 24824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2CA0 +B7A0 +ACA0 +A7A0 +2060 +27C0 +2080 +2FE0 +2100 +2300 +ENDCHAR +STARTCHAR U_60F9 +ENCODING 24825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +1000 +3F80 +D080 +1F80 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_60FA +ENCODING 24826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B7C0 +AC40 +A7C0 +2500 +27E0 +2900 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_60FB +ENCODING 24827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E20 +2AA0 +AAA0 +BEA0 +AAA0 +AEA0 +2AA0 +2EA0 +2020 +2A20 +3160 +ENDCHAR +STARTCHAR U_60FC +ENCODING 24828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A820 +BFE0 +A800 +2FE0 +2AA0 +2FE0 +3AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_60FD +ENCODING 24829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +2FC0 +B900 +AFC0 +A8A0 +2FE0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_60FE +ENCODING 24830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2920 +BAA0 +AFE0 +A280 +2440 +2A20 +27C0 +2A80 +2100 +2EE0 +ENDCHAR +STARTCHAR U_60FF +ENCODING 24831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B7C0 +AC40 +A7C0 +2000 +2FE0 +2500 +25E0 +2B00 +30E0 +ENDCHAR +STARTCHAR U_6100 +ENCODING 24832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2C80 +2480 +BEA0 +A5C0 +AE80 +2D80 +3480 +2540 +2540 +2620 +ENDCHAR +STARTCHAR U_6101 +ENCODING 24833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +1120 +FD40 +3B80 +5580 +9240 +1C20 +0440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6102 +ENCODING 24834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +7C80 +13E0 +FEA0 +8AA0 +7CA0 +1160 +3600 +0440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_6103 +ENCODING 24835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2820 +B000 +AFE0 +A000 +27C0 +2440 +27C0 +2440 +2FE0 +ENDCHAR +STARTCHAR U_6104 +ENCODING 24836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +37C0 +AD40 +A7C0 +A000 +3FE0 +2540 +2480 +2640 +2420 +ENDCHAR +STARTCHAR U_6105 +ENCODING 24837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +A280 +B380 +A900 +A7C0 +2540 +27C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_6106 +ENCODING 24838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +45E0 +A800 +45E0 +C440 +5840 +49C0 +0400 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_6107 +ENCODING 24839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +3240 +AFE0 +A440 +A7C0 +2100 +2FE0 +2900 +3FE0 +2100 +ENDCHAR +STARTCHAR U_6108 +ENCODING 24840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1100 +7EE0 +A440 +3D40 +2540 +3C40 +24C0 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_6109 +ENCODING 24841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2480 +2B60 +B000 +AE20 +AAA0 +2EA0 +2AA0 +2EA0 +2A20 +2AE0 +ENDCHAR +STARTCHAR U_610A +ENCODING 24842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +27C0 +B440 +AFC0 +A000 +2FE0 +2920 +2FE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_610B +ENCODING 24843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2520 +32C0 +AFE0 +A100 +AFE0 +2200 +27C0 +2A40 +3180 +2660 +ENDCHAR +STARTCHAR U_610C +ENCODING 24844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2480 +3100 +AFE0 +AAA0 +AC60 +2920 +2100 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_610D +ENCODING 24845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +8BE0 +FA40 +A240 +F980 +A180 +9260 +CC00 +1240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_610E +ENCODING 24846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +2C40 +B7C0 +A440 +A7C0 +2200 +27E0 +2A40 +2180 +2E60 +ENDCHAR +STARTCHAR U_610F +ENCODING 24847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +FFE0 +2080 +3F80 +2080 +3F80 +5440 +52A0 +9FA0 +ENDCHAR +STARTCHAR U_6110 +ENCODING 24848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +A200 +AFE0 +BAA0 +ABA0 +2AA0 +2BA0 +2AA0 +2AA0 +2FE0 +ENDCHAR +STARTCHAR U_6111 +ENCODING 24849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2140 +27E0 +B520 +AFE0 +A520 +27E0 +2520 +2FE0 +2220 +2460 +ENDCHAR +STARTCHAR U_6112 +ENCODING 24850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +37C0 +AC40 +A7C0 +A400 +2FE0 +3920 +2AA0 +2FA0 +2040 +ENDCHAR +STARTCHAR U_6113 +ENCODING 24851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +B440 +AFE0 +A200 +27E0 +2AA0 +32A0 +2520 +2AC0 +ENDCHAR +STARTCHAR U_6114 +ENCODING 24852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2440 +B280 +AFE0 +A000 +27C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_6115 +ENCODING 24853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2EE0 +B000 +AFC0 +A000 +3FE0 +2200 +27C0 +2040 +2380 +ENDCHAR +STARTCHAR U_6116 +ENCODING 24854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +B440 +AFC0 +A440 +A7C0 +2440 +3FE0 +2A80 +2C40 +2FE0 +ENDCHAR +STARTCHAR U_6117 +ENCODING 24855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +0900 +13E0 +FD40 +3540 +5080 +9140 +3620 +4440 +52A0 +9FA0 +ENDCHAR +STARTCHAR U_6118 +ENCODING 24856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2A20 +B7C0 +AA40 +A180 +2E60 +27C0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_6119 +ENCODING 24857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8820 +1F00 +2A00 +0E00 +F1E0 +1F00 +4440 +52A0 +9FA0 +ENDCHAR +STARTCHAR U_611A +ENCODING 24858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +2480 +7FC0 +4540 +5F40 +44C0 +1240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_611B +ENCODING 24859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +2480 +FFE0 +9220 +50C0 +4FA0 +1000 +1FC0 +2880 +4700 +38E0 +ENDCHAR +STARTCHAR U_611C +ENCODING 24860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2900 +2900 +AFE0 +BB40 +AB40 +2D20 +2980 +2A40 +2C20 +2FE0 +ENDCHAR +STARTCHAR U_611D +ENCODING 24861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A40 +ABC0 +BA40 +ABC0 +A900 +2FE0 +2A40 +2980 +2A40 +2FE0 +ENDCHAR +STARTCHAR U_611E +ENCODING 24862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +4100 +4FE0 +EAA0 +DAA0 +4860 +4100 +5FE0 +4100 +4280 +4C60 +ENDCHAR +STARTCHAR U_611F +ENCODING 24863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +7FE0 +4100 +7F40 +5D40 +5280 +9DA0 +8260 +2440 +A2A0 +9F80 +ENDCHAR +STARTCHAR U_6120 +ENCODING 24864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +B440 +AFC0 +A000 +2FE0 +2AA0 +2AA0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_6121 +ENCODING 24865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +4FE0 +52A0 +EAA0 +E6A0 +49A0 +5260 +4040 +5520 +5440 +63C0 +ENDCHAR +STARTCHAR U_6122 +ENCODING 24866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4920 +4FE0 +E920 +C920 +4FE0 +4000 +4240 +5520 +5440 +63C0 +ENDCHAR +STARTCHAR U_6123 +ENCODING 24867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +BAA0 +AFE0 +A100 +2FE0 +2200 +23C0 +2440 +2840 +3180 +ENDCHAR +STARTCHAR U_6124 +ENCODING 24868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2540 +BFE0 +A440 +A7C0 +2440 +2540 +2540 +2280 +2C60 +ENDCHAR +STARTCHAR U_6125 +ENCODING 24869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2280 +B100 +AFC0 +A540 +2540 +3FE0 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_6126 +ENCODING 24870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +B540 +AFE0 +A000 +27C0 +2440 +2540 +2540 +2280 +2C60 +ENDCHAR +STARTCHAR U_6127 +ENCODING 24871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +A920 +BFE0 +A920 +2FE0 +2340 +25A0 +25E0 +2920 +30E0 +ENDCHAR +STARTCHAR U_6128 +ENCODING 24872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +FD40 +2260 +F800 +03C0 +FE40 +8580 +7A60 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_6129 +ENCODING 24873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +2FE0 +B440 +AFC0 +A440 +27C0 +2440 +27C0 +2440 +2820 +ENDCHAR +STARTCHAR U_612A +ENCODING 24874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +B7E0 +A800 +A7E0 +2420 +27E0 +2420 +27E0 +2240 +2420 +ENDCHAR +STARTCHAR U_612B +ENCODING 24875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B100 +AFE0 +A240 +2780 +2240 +2FE0 +2540 +2920 +3320 +ENDCHAR +STARTCHAR U_612C +ENCODING 24876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +FF20 +55E0 +5520 +7DE0 +2220 +4460 +0400 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_612D +ENCODING 24877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +B140 +AFE0 +A280 +2720 +3BE0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_612E +ENCODING 24878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F00 +B520 +A940 +A400 +27C0 +2900 +3FE0 +2100 +2920 +2FE0 +ENDCHAR +STARTCHAR U_612F +ENCODING 24879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +B480 +AFE0 +A480 +27E0 +2480 +2FE0 +2240 +2180 +2E60 +ENDCHAR +STARTCHAR U_6130 +ENCODING 24880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B7C0 +AC40 +A7C0 +2940 +2580 +2FE0 +2280 +24A0 +28E0 +ENDCHAR +STARTCHAR U_6131 +ENCODING 24881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +B500 +ADE0 +B680 +2C80 +2FE0 +3480 +2540 +2A40 +3420 +ENDCHAR +STARTCHAR U_6132 +ENCODING 24882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B740 +AFE0 +A820 +27C0 +2440 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_6133 +ENCODING 24883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +7BC0 +4A40 +7BC0 +0400 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_6134 +ENCODING 24884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +B440 +A920 +BFC0 +2840 +2FC0 +2840 +2FE0 +2820 +37E0 +ENDCHAR +STARTCHAR U_6135 +ENCODING 24885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2220 +2220 +AEE0 +B880 +AEE0 +2220 +2AA0 +2660 +3BA0 +2660 +ENDCHAR +STARTCHAR U_6136 +ENCODING 24886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4240 +E480 +DFE0 +CAA0 +5540 +4FC0 +4840 +4FC0 +4840 +48C0 +ENDCHAR +STARTCHAR U_6137 +ENCODING 24887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +2FE0 +B000 +AFE0 +A000 +27C0 +2440 +27C0 +2280 +2FE0 +ENDCHAR +STARTCHAR U_6138 +ENCODING 24888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +55E0 +BAA0 +10A0 +38A0 +D560 +0000 +5440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_6139 +ENCODING 24889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +3820 +AA80 +A540 +A280 +2C60 +27C0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_613A +ENCODING 24890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2280 +B7C0 +A440 +A7C0 +2440 +27C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_613B +ENCODING 24891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +1140 +2380 +F940 +27E0 +2540 +6920 +1400 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_613C +ENCODING 24892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44C0 +4700 +5400 +F3E0 +D440 +57C0 +5440 +57C0 +5440 +5FE0 +4440 +ENDCHAR +STARTCHAR U_613D +ENCODING 24893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2200 +BFC0 +AA40 +AFC0 +2A40 +2080 +3FE0 +2480 +2180 +ENDCHAR +STARTCHAR U_613E +ENCODING 24894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +A800 +B7C0 +A040 +2AC0 +2740 +3FC0 +2740 +2AA0 +3220 +ENDCHAR +STARTCHAR U_613F +ENCODING 24895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4400 +5FC0 +5240 +5FC0 +4A80 +5640 +4400 +4A40 +A8A0 +AF80 +ENDCHAR +STARTCHAR U_6140 +ENCODING 24896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2A20 +2540 +B280 +AF00 +A240 +2FC0 +2100 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_6141 +ENCODING 24897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +5140 +6E40 +5540 +6CC0 +7FC0 +1240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6142 +ENCODING 24898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2480 +8FC0 +5A40 +2FC0 +CA40 +4AC0 +0400 +5240 +90A0 +0F80 +ENDCHAR +STARTCHAR U_6143 +ENCODING 24899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2540 +2AA0 +B7C0 +A000 +2EE0 +2220 +2AA0 +2660 +3AA0 +2760 +ENDCHAR +STARTCHAR U_6144 +ENCODING 24900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2FE0 +BAA0 +AFE0 +2100 +2FE0 +2380 +2540 +2920 +3120 +ENDCHAR +STARTCHAR U_6145 +ENCODING 24901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +B280 +AB00 +ACE0 +2100 +2FE0 +2920 +2FE0 +2140 +2FE0 +ENDCHAR +STARTCHAR U_6146 +ENCODING 24902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F20 +AA20 +B540 +A200 +ACE0 +2820 +2EE0 +2820 +2820 +2FE0 +ENDCHAR +STARTCHAR U_6147 +ENCODING 24903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4240 +7860 +4BC0 +7A40 +4980 +9E60 +0000 +5440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_6148 +ENCODING 24904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2940 +7B80 +1080 +2940 +7FE0 +0400 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6149 +ENCODING 24905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2500 +B240 +AFE0 +A000 +27C0 +2540 +27C0 +2540 +27C0 +ENDCHAR +STARTCHAR U_614A +ENCODING 24906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +5FE0 +4500 +EFC0 +C540 +5FE0 +4540 +5FC0 +4D80 +5540 +6520 +ENDCHAR +STARTCHAR U_614B +ENCODING 24907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4BC0 +FE20 +4BE0 +7A00 +4BC0 +7A20 +4BE0 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_614C +ENCODING 24908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +2240 +B100 +AFE0 +A400 +27E0 +2540 +2540 +2540 +2960 +ENDCHAR +STARTCHAR U_614D +ENCODING 24909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +2540 +B6C0 +AFC0 +A000 +2FE0 +2AA0 +2AA0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_614E +ENCODING 24910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +B7C0 +AC40 +A7C0 +2440 +27C0 +2440 +2FE0 +2440 +ENDCHAR +STARTCHAR U_614F +ENCODING 24911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +27C0 +B440 +AFC0 +A440 +27C0 +2100 +2FE0 +2440 +2820 +ENDCHAR +STARTCHAR U_6150 +ENCODING 24912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +2A80 +2580 +3F80 +1100 +2480 +1220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6151 +ENCODING 24913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2240 +A3C0 +B240 +AFE0 +A040 +2FE0 +2920 +26A0 +2640 +29A0 +ENDCHAR +STARTCHAR U_6152 +ENCODING 24914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +3FE0 +2AA0 +AFE0 +BAA0 +AFE0 +2440 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_6153 +ENCODING 24915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2FE0 +BAA0 +AFE0 +A000 +27C0 +2000 +2FE0 +2540 +2B20 +ENDCHAR +STARTCHAR U_6154 +ENCODING 24916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +B280 +AFC0 +A640 +2540 +27C0 +2100 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_6155 +ENCODING 24917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +2280 +FFE0 +2480 +C460 +2680 +4D40 +ENDCHAR +STARTCHAR U_6156 +ENCODING 24918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +28A0 +AFE0 +B8A0 +AEA0 +AAA0 +2EE0 +28A0 +2EA0 +2960 +2FE0 +ENDCHAR +STARTCHAR U_6157 +ENCODING 24919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FDE0 +5640 +7D40 +3880 +5540 +9220 +0000 +5440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_6158 +ENCODING 24920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +B7E0 +AAA0 +AFE0 +2280 +2540 +2AA0 +2140 +2080 +2700 +ENDCHAR +STARTCHAR U_6159 +ENCODING 24921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FEC0 +5500 +7DE0 +5540 +FF40 +1240 +0400 +A240 +A0A0 +1F80 +ENDCHAR +STARTCHAR U_615A +ENCODING 24922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2FC0 +B280 +AF80 +AAE0 +2FA0 +2AA0 +2FA0 +22A0 +3FA0 +22A0 +ENDCHAR +STARTCHAR U_615B +ENCODING 24923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +2FE0 +B500 +AFE0 +3900 +2FC0 +2900 +2FC0 +2900 +2FE0 +ENDCHAR +STARTCHAR U_615C +ENCODING 24924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7E80 +C5E0 +5620 +FD40 +5480 +7D40 +0420 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_615D +ENCODING 24925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4900 +7FC0 +4900 +7FE0 +5880 +6880 +7FE0 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_615E +ENCODING 24926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B280 +AFE0 +A440 +27C0 +2440 +27C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_615F +ENCODING 24927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F80 +2280 +AF80 +BAE0 +AFA0 +2AA0 +2FA0 +22A0 +2FA0 +22A0 +2F40 +ENDCHAR +STARTCHAR U_6160 +ENCODING 24928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4E80 +C480 +EEE0 +C4A0 +5EA0 +49A0 +4E40 +4A40 +52A0 +6520 +ENDCHAR +STARTCHAR U_6161 +ENCODING 24929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +ABA0 +B540 +ABA0 +2540 +2BA0 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6162 +ENCODING 24930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +B440 +AFE0 +AAA0 +2FE0 +2000 +27C0 +2380 +2C60 +ENDCHAR +STARTCHAR U_6163 +ENCODING 24931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +2FE0 +B540 +AFC0 +A440 +27C0 +2440 +27C0 +2440 +2820 +ENDCHAR +STARTCHAR U_6164 +ENCODING 24932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2260 +FC00 +87C0 +7240 +5980 +9660 +0440 +52A0 +9F80 +ENDCHAR +STARTCHAR U_6165 +ENCODING 24933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2A80 +ABE0 +B480 +A3E0 +3800 +2BE0 +2A20 +2BE0 +2C00 +33E0 +ENDCHAR +STARTCHAR U_6166 +ENCODING 24934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +FFE0 +5540 +3940 +5480 +9340 +3220 +0400 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6167 +ENCODING 24935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +2080 +3FC0 +0040 +3FC0 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_6168 +ENCODING 24936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A80 +AA80 +BE80 +ABE0 +AE80 +2C80 +2A80 +2DA0 +2AA0 +2460 +ENDCHAR +STARTCHAR U_6169 +ENCODING 24937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +57C0 +7100 +C7C0 +F540 +57C0 +5540 +5FE0 +5100 +5100 +6FE0 +ENDCHAR +STARTCHAR U_616A +ENCODING 24938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +ABC0 +BA40 +ABC0 +2800 +2EE0 +2AA0 +2EE0 +2800 +2FE0 +ENDCHAR +STARTCHAR U_616B +ENCODING 24939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +4480 +AB40 +5120 +C9C0 +4D00 +53E0 +0400 +1240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_616C +ENCODING 24940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2280 +B100 +AFC0 +A540 +27C0 +2100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_616D +ENCODING 24941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +FEA0 +55E0 +FE80 +3880 +5540 +9220 +0000 +5540 +5120 +8F00 +ENDCHAR +STARTCHAR U_616E +ENCODING 24942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +0400 +7FE0 +4420 +7FE0 +5240 +5FC0 +5240 +9FC0 +AAA0 +4FA0 +ENDCHAR +STARTCHAR U_616F +ENCODING 24943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +AC40 +B7C0 +A440 +2FE0 +2400 +2FE0 +32A0 +2520 +2A60 +ENDCHAR +STARTCHAR U_6170 +ENCODING 24944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +4440 +7FE0 +4040 +7D40 +50C0 +D440 +B2C0 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_6171 +ENCODING 24945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A540 +B7C0 +A540 +2FE0 +2080 +3FE0 +2480 +2280 +2100 +ENDCHAR +STARTCHAR U_6172 +ENCODING 24946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +2240 +B3C0 +A900 +AFE0 +2920 +2DA0 +2B60 +2DA0 +2960 +ENDCHAR +STARTCHAR U_6173 +ENCODING 24947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +AFA0 +B940 +AF40 +2AA0 +2F20 +2100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6174 +ENCODING 24948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2220 +AAA0 +B660 +AAA0 +2200 +27C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_6175 +ENCODING 24949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +D140 +FFE0 +D140 +57C0 +5540 +57C0 +5540 +57C0 +6540 +ENDCHAR +STARTCHAR U_6176 +ENCODING 24950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4900 +7FC0 +4940 +7FE0 +4AA0 +6FC0 +5880 +A700 +98E0 +ENDCHAR +STARTCHAR U_6177 +ENCODING 24951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +E940 +DFE0 +C940 +4FC0 +4900 +4D40 +4B80 +5540 +6B20 +ENDCHAR +STARTCHAR U_6178 +ENCODING 24952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +FFE0 +2A80 +4E60 +FFE0 +8420 +7FC0 +4440 +0400 +52A0 +9FA0 +ENDCHAR +STARTCHAR U_6179 +ENCODING 24953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2140 +F940 +5340 +F940 +22C0 +2420 +1240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_617A +ENCODING 24954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +B540 +AFE0 +A540 +27C0 +2540 +2FE0 +2240 +2380 +2C60 +ENDCHAR +STARTCHAR U_617B +ENCODING 24955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +5FC0 +4200 +DFE0 +E500 +C880 +5FC0 +68A0 +4F80 +4880 +4F80 +ENDCHAR +STARTCHAR U_617C +ENCODING 24956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +7FE0 +4900 +4920 +7F40 +48A0 +AB60 +DA20 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_617D +ENCODING 24957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +40A0 +5FE0 +F480 +D6A0 +D4A0 +5FA0 +54C0 +5EA0 +6560 +4E20 +ENDCHAR +STARTCHAR U_617E +ENCODING 24958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +55E0 +AA20 +4480 +F880 +4940 +7A20 +0400 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_617F +ENCODING 24959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2900 +0FC0 +1900 +2FE0 +C4A0 +5FE0 +44A0 +0800 +52A0 +9FA0 +ENDCHAR +STARTCHAR U_6180 +ENCODING 24960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +25A0 +B360 +ACA0 +A100 +2280 +2D60 +2280 +2140 +2080 +2700 +ENDCHAR +STARTCHAR U_6181 +ENCODING 24961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4FE0 +4920 +EBE0 +DEA0 +4920 +4FE0 +4240 +4920 +5840 +67C0 +ENDCHAR +STARTCHAR U_6182 +ENCODING 24962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +3F80 +2480 +FFE0 +9520 +5F40 +1000 +2F80 +0600 +79E0 +ENDCHAR +STARTCHAR U_6183 +ENCODING 24963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0800 +FFE0 +2080 +7BC0 +A0A0 +3F80 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_6184 +ENCODING 24964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4FE0 +A100 +67C0 +A440 +27C0 +2440 +2FE0 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_6185 +ENCODING 24965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +1080 +FFE0 +54A0 +7CA0 +54A0 +7CA0 +1120 +FE60 +52C0 +8FA0 +ENDCHAR +STARTCHAR U_6186 +ENCODING 24966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +2FE0 +A820 +B7C0 +AC40 +27C0 +2100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6187 +ENCODING 24967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A40 +1240 +FFE0 +1240 +7BC0 +4A40 +7BC0 +0400 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6188 +ENCODING 24968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4200 +6FE0 +D920 +C9C0 +4F20 +49E0 +4A80 +4AA0 +56C0 +6FE0 +ENDCHAR +STARTCHAR U_6189 +ENCODING 24969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +3F40 +A480 +AF00 +B020 +2F40 +2980 +2F00 +2A20 +2740 +3880 +ENDCHAR +STARTCHAR U_618A +ENCODING 24970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3FE0 +4480 +FFE0 +4D40 +57C0 +6540 +45C0 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_618B +ENCODING 24971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5500 +39E0 +7F40 +5540 +7480 +5D40 +5620 +1040 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_618C +ENCODING 24972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3900 +45E0 +FE20 +1120 +FCA0 +9120 +5E20 +E0C0 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_618D +ENCODING 24973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2100 +AFE0 +B440 +ABA0 +3280 +2FE0 +2820 +2BA0 +2AA0 +2BA0 +ENDCHAR +STARTCHAR U_618E +ENCODING 24974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +AAA0 +B920 +AFE0 +2000 +27C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_618F +ENCODING 24975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +4EE0 +5320 +ECC0 +C740 +D820 +4FC0 +4100 +4540 +4920 +4300 +ENDCHAR +STARTCHAR U_6190 +ENCODING 24976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +4680 +DFE0 +EA80 +D260 +4840 +4FE0 +5540 +4DE0 +4840 +5040 +ENDCHAR +STARTCHAR U_6191 +ENCODING 24977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2900 +9FC0 +2900 +CFE0 +4020 +6AA0 +0460 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6192 +ENCODING 24978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +B540 +AFE0 +A440 +27C0 +2440 +27C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_6193 +ENCODING 24979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2540 +B7C0 +A540 +A7C0 +2120 +2FE0 +2540 +2C60 +33C0 +ENDCHAR +STARTCHAR U_6194 +ENCODING 24980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +27E0 +B900 +AFC0 +B900 +2FC0 +2900 +2FE0 +2000 +2AA0 +2AA0 +ENDCHAR +STARTCHAR U_6195 +ENCODING 24981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2F40 +2AA0 +B440 +AFC0 +B020 +2FC0 +2840 +2FC0 +2480 +3FE0 +ENDCHAR +STARTCHAR U_6196 +ENCODING 24982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +FEA0 +55E0 +BA80 +3880 +5540 +9220 +0400 +1240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6197 +ENCODING 24983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FDE0 +5640 +B940 +1480 +3940 +D620 +0400 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6198 +ENCODING 24984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +B7C0 +B440 +A7C0 +2280 +2FE0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_6199 +ENCODING 24985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2080 +3F80 +0A00 +FFE0 +2080 +3F80 +0400 +52A0 +9FA0 +ENDCHAR +STARTCHAR U_619A +ENCODING 24986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2EE0 +B000 +AFC0 +A940 +2FC0 +2940 +3FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_619B +ENCODING 24987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +AFE0 +BAA0 +AFE0 +2440 +27C0 +2440 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_619C +ENCODING 24988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5D00 +57E0 +D500 +FBE0 +D480 +57E0 +5A40 +53C0 +5240 +53C0 +5240 +ENDCHAR +STARTCHAR U_619D +ENCODING 24989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2540 +7D40 +0880 +7D40 +1220 +3000 +1220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_619E +ENCODING 24990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5E80 +40E0 +EEA0 +CB20 +4EA0 +4040 +5E40 +44A0 +5EA0 +4520 +ENDCHAR +STARTCHAR U_619F +ENCODING 24991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +AFE0 +BAA0 +AFE0 +2920 +2540 +3FE0 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_61A0 +ENCODING 24992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5500 +7FE0 +6AA0 +7E80 +4940 +5220 +8400 +1240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_61A1 +ENCODING 24993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2EE0 +B540 +AFE0 +A100 +2FE0 +2920 +2960 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_61A2 +ENCODING 24994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +B100 +AFE0 +A440 +2EE0 +2440 +3FE0 +2480 +24A0 +38E0 +ENDCHAR +STARTCHAR U_61A3 +ENCODING 24995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +B380 +AFE0 +A380 +2540 +2FE0 +2540 +27C0 +2540 +27C0 +ENDCHAR +STARTCHAR U_61A4 +ENCODING 24996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B540 +AFE0 +A440 +27C0 +2440 +27C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_61A5 +ENCODING 24997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AD40 +7380 +3280 +4C40 +FFE0 +8840 +7F80 +1080 +2540 +52A0 +9F80 +ENDCHAR +STARTCHAR U_61A6 +ENCODING 24998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +55A0 +CEC0 +E480 +CB40 +5FE0 +5220 +4FC0 +4240 +4440 +58C0 +ENDCHAR +STARTCHAR U_61A7 +ENCODING 24999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B280 +A900 +AFE0 +2540 +27C0 +2540 +27C0 +2100 +3FE0 +ENDCHAR +STARTCHAR U_61A8 +ENCODING 25000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +11E0 +FE40 +4A40 +7980 +4980 +FE60 +0800 +1240 +52A0 +8F80 +ENDCHAR +STARTCHAR U_61A9 +ENCODING 25001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1880 +E3E0 +2220 +FFE0 +2220 +7BE0 +4A20 +7BE0 +1440 +52A0 +9FA0 +ENDCHAR +STARTCHAR U_61AA +ENCODING 25002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AEE0 +BAA0 +AFE0 +2AA0 +2BA0 +2AA0 +2BA0 +2AA0 +2DE0 +ENDCHAR +STARTCHAR U_61AB +ENCODING 25003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AEE0 +BAA0 +AEE0 +2920 +2FE0 +2AA0 +2920 +2AA0 +2C60 +ENDCHAR +STARTCHAR U_61AC +ENCODING 25004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +A7C0 +B440 +A7C0 +2100 +2FE0 +2440 +27C0 +2940 +3320 +ENDCHAR +STARTCHAR U_61AD +ENCODING 25005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AAA0 +B7C0 +AC60 +27C0 +2440 +27C0 +2100 +2940 +3320 +ENDCHAR +STARTCHAR U_61AE +ENCODING 25006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +2FE0 +B540 +A540 +AFE0 +2540 +2FE0 +2000 +2AA0 +2AA0 +ENDCHAR +STARTCHAR U_61AF +ENCODING 25007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A40 +AFE0 +B6C0 +AB60 +3240 +27C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_61B0 +ENCODING 25008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2280 +AFE0 +B2A0 +A480 +2FE0 +2AA0 +2FE0 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_61B1 +ENCODING 25009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2460 +2F40 +B0E0 +AF40 +2940 +2F40 +24C0 +2EC0 +3540 +2E60 +ENDCHAR +STARTCHAR U_61B2 +ENCODING 25010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +BFA0 +0400 +FFE0 +2A80 +3F80 +0400 +52A0 +9FA0 +ENDCHAR +STARTCHAR U_61B3 +ENCODING 25011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +27C0 +B040 +AFE0 +24A0 +2EE0 +2040 +2FE0 +2440 +22C0 +ENDCHAR +STARTCHAR U_61B4 +ENCODING 25012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +AEE0 +B280 +AEE0 +AAA0 +2EE0 +2AA0 +2EE0 +2280 +23E0 +ENDCHAR +STARTCHAR U_61B5 +ENCODING 25013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +7940 +4080 +7BE0 +A880 +BBE0 +1480 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_61B6 +ENCODING 25014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +B280 +AFE0 +A440 +27C0 +2440 +27C0 +2540 +2CA0 +33A0 +ENDCHAR +STARTCHAR U_61B7 +ENCODING 25015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +B6C0 +AB60 +A240 +2FE0 +2120 +2500 +25E0 +2B00 +31E0 +ENDCHAR +STARTCHAR U_61B8 +ENCODING 25016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +B440 +AFE0 +B000 +2EE0 +2AA0 +2EE0 +2440 +2AA0 +3120 +ENDCHAR +STARTCHAR U_61B9 +ENCODING 25017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +5FC0 +5540 +FFC0 +D540 +5FE0 +5000 +5FE0 +5540 +5480 +6660 +ENDCHAR +STARTCHAR U_61BA +ENCODING 25018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2480 +AFE0 +BAA0 +AFE0 +2800 +2BE0 +2800 +2BE0 +2A20 +33E0 +ENDCHAR +STARTCHAR U_61BB +ENCODING 25019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +5540 +F740 +D040 +5FC0 +4C80 +4A80 +4F80 +4000 +7FE0 +ENDCHAR +STARTCHAR U_61BC +ENCODING 25020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +7FE0 +2940 +7F40 +D480 +7540 +0E20 +0400 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_61BD +ENCODING 25021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4FE0 +6480 +DFC0 +D540 +6B40 +44C0 +4200 +5940 +68A0 +4780 +ENDCHAR +STARTCHAR U_61BE +ENCODING 25022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2FE0 +A900 +BF20 +A940 +2EA0 +3AA0 +2F60 +2500 +2CA0 +33A0 +ENDCHAR +STARTCHAR U_61BF +ENCODING 25023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2E80 +ABE0 +BEA0 +AAA0 +3FA0 +28A0 +2EA0 +2A40 +2AA0 +3720 +ENDCHAR +STARTCHAR U_61C0 +ENCODING 25024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +4480 +6B40 +D020 +CFC0 +4A40 +4FC0 +4480 +4780 +4480 +4780 +ENDCHAR +STARTCHAR U_61C1 +ENCODING 25025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +AFE0 +B000 +AFE0 +2440 +27E0 +2320 +26C0 +2A40 +2320 +ENDCHAR +STARTCHAR U_61C2 +ENCODING 25026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +A7C0 +B100 +AFE0 +2540 +27C0 +2540 +2FE0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_61C3 +ENCODING 25027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +FE80 +29E0 +FCA0 +94A0 +FD20 +12C0 +FC00 +1240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_61C4 +ENCODING 25028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +5F80 +4A80 +DFE0 +F5A0 +DFA0 +44A0 +5EA0 +4520 +47A0 +5840 +ENDCHAR +STARTCHAR U_61C5 +ENCODING 25029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +AFE0 +B920 +AFC0 +A920 +2FE0 +2A40 +2D80 +32C0 +25A0 +ENDCHAR +STARTCHAR U_61C6 +ENCODING 25030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +A7C0 +B000 +AEE0 +2AA0 +2EE0 +2100 +2FE0 +2540 +2920 +ENDCHAR +STARTCHAR U_61C7 +ENCODING 25031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +33C0 +EA40 +53C0 +3240 +DBC0 +2AA0 +5340 +0420 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_61C8 +ENCODING 25032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +2EA0 +B4A0 +AF60 +AB40 +3FE0 +2A40 +3FE0 +2A40 +2A40 +2E40 +ENDCHAR +STARTCHAR U_61C9 +ENCODING 25033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4A80 +57E0 +7C80 +57C0 +5480 +57E0 +4A40 +A8A0 +4FA0 +ENDCHAR +STARTCHAR U_61CA +ENCODING 25034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +5FC0 +5AC0 +F740 +DFC0 +5740 +5AC0 +7FE0 +4300 +4480 +5860 +ENDCHAR +STARTCHAR U_61CB +ENCODING 25035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +F5E0 +3F80 +2480 +6DC0 +B6A0 +2C80 +1400 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_61CC +ENCODING 25036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +AFE0 +B100 +AFE0 +2280 +27C0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_61CD +ENCODING 25037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +AAA0 +BBA0 +A820 +2FE0 +2100 +3FE0 +2380 +2540 +3920 +ENDCHAR +STARTCHAR U_61CE +ENCODING 25038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +5FC0 +6A80 +D740 +FFE0 +5040 +5740 +5540 +5740 +5040 +5FC0 +ENDCHAR +STARTCHAR U_61CF +ENCODING 25039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4FE0 +5880 +EFC0 +D880 +4FE0 +4000 +4EE0 +4AA0 +4BA0 +4860 +ENDCHAR +STARTCHAR U_61D0 +ENCODING 25040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +4AA0 +EFE0 +D100 +5FE0 +4200 +4540 +4C80 +7660 +4440 +ENDCHAR +STARTCHAR U_61D1 +ENCODING 25041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +BFE0 +4480 +3FE0 +C480 +5FE0 +5520 +1AA0 +5440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_61D2 +ENCODING 25042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +28E0 +3D40 +ABE0 +BE20 +AAA0 +3EA0 +2AA0 +3CA0 +2B40 +2A20 +ENDCHAR +STARTCHAR U_61D3 +ENCODING 25043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +4E40 +6580 +DFE0 +C920 +4A60 +53C0 +4400 +4FC0 +5380 +4C60 +ENDCHAR +STARTCHAR U_61D4 +ENCODING 25044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +ABA0 +B820 +AFE0 +2000 +27C0 +2000 +2FE0 +2540 +2B20 +ENDCHAR +STARTCHAR U_61D5 +ENCODING 25045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +52C0 +5EA0 +41E0 +5E80 +5280 +5F60 +5240 +4920 +6840 +A7C0 +ENDCHAR +STARTCHAR U_61D6 +ENCODING 25046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +5380 +F880 +27E0 +F880 +ABE0 +7220 +FBE0 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_61D7 +ENCODING 25047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +4880 +5FE0 +C880 +FFE0 +5540 +7760 +5540 +5540 +5540 +6EC0 +ENDCHAR +STARTCHAR U_61D8 +ENCODING 25048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +BFE0 +5540 +2520 +DFE0 +5220 +4FC0 +0A40 +5440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_61D9 +ENCODING 25049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4F60 +4A20 +EFE0 +DAA0 +4EE0 +4AA0 +5FE0 +4440 +4820 +5020 +ENDCHAR +STARTCHAR U_61DA +ENCODING 25050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4A80 +4FC0 +E200 +DFE0 +C040 +4FC0 +4040 +4FC0 +5560 +57C0 +ENDCHAR +STARTCHAR U_61DB +ENCODING 25051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +5FE0 +4200 +CFC0 +E480 +5FE0 +5220 +4480 +4FC0 +4200 +5FE0 +ENDCHAR +STARTCHAR U_61DC +ENCODING 25052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5FE0 +6480 +DFE0 +CAA0 +5FE0 +5420 +4780 +4C80 +4300 +4E00 +ENDCHAR +STARTCHAR U_61DD +ENCODING 25053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5400 +5BE0 +5140 +EC80 +D3E0 +5C80 +6AE0 +7E80 +4A80 +5780 +64E0 +ENDCHAR +STARTCHAR U_61DE +ENCODING 25054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +A280 +BFE0 +A820 +A7C0 +2940 +2280 +2DC0 +22A0 +2D20 +ENDCHAR +STARTCHAR U_61DF +ENCODING 25055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AA40 +6C40 +FFE0 +2840 +FF40 +10C0 +7C40 +10C0 +FF00 +52A0 +9FA0 +ENDCHAR +STARTCHAR U_61E0 +ENCODING 25056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A160 +BEC0 +AAA0 +36C0 +2440 +27C0 +2440 +27C0 +2840 +ENDCHAR +STARTCHAR U_61E1 +ENCODING 25057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +5240 +FFE0 +D6C0 +DB60 +5240 +5280 +5500 +6A40 +47E0 +ENDCHAR +STARTCHAR U_61E2 +ENCODING 25058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E00 +5480 +5EE0 +F280 +DEC0 +D520 +5E00 +4000 +5FC0 +5540 +7FE0 +ENDCHAR +STARTCHAR U_61E3 +ENCODING 25059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3FE0 +8480 +5FE0 +3B20 +D6A0 +5B60 +4000 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_61E4 +ENCODING 25060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B100 +AFE0 +A120 +2FC0 +2040 +3FE0 +2A40 +2F40 +20C0 +ENDCHAR +STARTCHAR U_61E5 +ENCODING 25061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +BFE0 +A540 +A7C0 +2540 +2FE0 +2120 +25C0 +2B00 +31E0 +ENDCHAR +STARTCHAR U_61E6 +ENCODING 25062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +BFE0 +ABA0 +A540 +AFE0 +2100 +2FE0 +2AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_61E7 +ENCODING 25063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A920 +B660 +ABC0 +A000 +2FE0 +2AA0 +3FE0 +2100 +2300 +ENDCHAR +STARTCHAR U_61E8 +ENCODING 25064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2940 +AF60 +B940 +AFE0 +A940 +2F40 +2940 +2F40 +39A0 +2B20 +ENDCHAR +STARTCHAR U_61E9 +ENCODING 25065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +A100 +BFE0 +A200 +3FE0 +2D40 +37E0 +2540 +2480 +2660 +ENDCHAR +STARTCHAR U_61EA +ENCODING 25066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +A7C0 +B440 +AFC0 +2280 +3FE0 +2D40 +33A0 +2540 +3B20 +ENDCHAR +STARTCHAR U_61EB +ENCODING 25067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2DC0 +2900 +AFE0 +A940 +B7C0 +2440 +2740 +25C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_61EC +ENCODING 25068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4900 +7FE0 +4A80 +4F80 +4A80 +4F80 +5040 +AAA0 +AFA0 +ENDCHAR +STARTCHAR U_61ED +ENCODING 25069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2FE0 +A940 +BFE0 +A940 +2FE0 +2AA0 +2BE0 +2AA0 +2BE0 +3620 +ENDCHAR +STARTCHAR U_61EE +ENCODING 25070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +A7C0 +B440 +AFE0 +2AA0 +2640 +2BC0 +2640 +2980 +2E60 +ENDCHAR +STARTCHAR U_61EF +ENCODING 25071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +FF00 +55E0 +7E20 +5540 +1080 +FD40 +4A20 +9C40 +52A0 +4F80 +ENDCHAR +STARTCHAR U_61F0 +ENCODING 25072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FA0 +2AA0 +AEA0 +BAA0 +A520 +AFA0 +3220 +2FA0 +2AA0 +2720 +3FE0 +ENDCHAR +STARTCHAR U_61F1 +ENCODING 25073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2FE0 +BAA0 +AFE0 +A140 +2FE0 +2920 +2D40 +28C0 +3320 +ENDCHAR +STARTCHAR U_61F2 +ENCODING 25074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3580 +5FE0 +A0A0 +5FA0 +C440 +5E40 +44A0 +5F20 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_61F3 +ENCODING 25075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4FC0 +4480 +EFC0 +C480 +4FC0 +4040 +4FC0 +4220 +5940 +67C0 +ENDCHAR +STARTCHAR U_61F4 +ENCODING 25076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4EC0 +64A0 +DFE0 +CA80 +5BA0 +4AA0 +5BC0 +4AA0 +4F60 +5A20 +ENDCHAR +STARTCHAR U_61F5 +ENCODING 25077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +AFE0 +BAA0 +AFE0 +A820 +27C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_61F6 +ENCODING 25078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +5F40 +C4E0 +FFA0 +D5E0 +55A0 +5FE0 +44A0 +4EE0 +5540 +64A0 +ENDCHAR +STARTCHAR U_61F7 +ENCODING 25079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AAA0 +BFE0 +A940 +A580 +2B60 +2520 +2CC0 +2640 +2420 +ENDCHAR +STARTCHAR U_61F8 +ENCODING 25080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4940 +6B80 +5920 +4BE0 +FC80 +AAA0 +A5A0 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_61F9 +ENCODING 25081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B5A0 +AFE0 +A240 +2FE0 +2240 +3FE0 +24A0 +3D40 +2620 +ENDCHAR +STARTCHAR U_61FA +ENCODING 25082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AC0 +35A0 +BFE0 +AA80 +BBA0 +2AA0 +3BC0 +2A40 +3B60 +2AA0 +3F20 +ENDCHAR +STARTCHAR U_61FB +ENCODING 25083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +2EC0 +22A0 +AFE0 +B540 +A7C0 +2240 +2FE0 +2240 +2FE0 +2420 +ENDCHAR +STARTCHAR U_61FC +ENCODING 25084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +BEE0 +AAA0 +AFE0 +A480 +2FE0 +3480 +27C0 +2480 +27E0 +ENDCHAR +STARTCHAR U_61FD +ENCODING 25085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +AEE0 +BAA0 +AEE0 +A480 +2FE0 +3480 +27E0 +2480 +27E0 +ENDCHAR +STARTCHAR U_61FE +ENCODING 25086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2240 +A3C0 +B240 +AFE0 +2040 +3FE0 +2AA0 +2EE0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_61FF +ENCODING 25087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +13E0 +FD20 +8680 +7A80 +0540 +7A20 +4800 +7AA0 +5660 +F9C0 +ENDCHAR +STARTCHAR U_6200 +ENCODING 25088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +4E80 +E1E0 +4E40 +A0A0 +EFE0 +5B40 +AEA0 +0440 +52A0 +4F80 +ENDCHAR +STARTCHAR U_6201 +ENCODING 25089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2940 +FFE0 +2940 +57E0 +7D40 +11E0 +7D40 +29E0 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_6202 +ENCODING 25090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +4A40 +EFE0 +DAE0 +4F40 +4A80 +4EE0 +5280 +5EE0 +6280 +ENDCHAR +STARTCHAR U_6203 +ENCODING 25091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +A820 +B7C0 +A440 +2FE0 +2AA0 +2FE0 +2100 +3FE0 +2AA0 +ENDCHAR +STARTCHAR U_6204 +ENCODING 25092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +AAA0 +BAA0 +AFE0 +A900 +3FE0 +2900 +2FE0 +2480 +2300 +2CE0 +ENDCHAR +STARTCHAR U_6205 +ENCODING 25093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F880 +57E0 +FA40 +53C0 +7240 +23C0 +FA40 +2420 +52A0 +9F80 +ENDCHAR +STARTCHAR U_6206 +ENCODING 25094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +51C0 +FE20 +8BE0 +F880 +23E0 +FEA0 +2140 +5620 +50A0 +8F80 +ENDCHAR +STARTCHAR U_6207 +ENCODING 25095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +5140 +FFE0 +8880 +FFE0 +AA40 +FBC0 +2240 +5420 +52A0 +8F80 +ENDCHAR +STARTCHAR U_6208 +ENCODING 25096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +0900 +0800 +FFE0 +0880 +0880 +0900 +0600 +0A20 +31A0 +C060 +ENDCHAR +STARTCHAR U_6209 +ENCODING 25097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0A00 +0900 +FFC0 +8800 +8880 +8880 +8900 +8600 +A640 +C940 +90C0 +ENDCHAR +STARTCHAR U_620A +ENCODING 25098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0240 +3FE0 +2200 +2240 +2240 +2180 +2120 +42A0 +4460 +9820 +ENDCHAR +STARTCHAR U_620B +ENCODING 25099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +FFE0 +0400 +07E0 +7C00 +0440 +0280 +0320 +0CA0 +7060 +ENDCHAR +STARTCHAR U_620C +ENCODING 25100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0240 +3FE0 +2200 +2240 +3E40 +2280 +2100 +2320 +44A0 +9860 +ENDCHAR +STARTCHAR U_620D +ENCODING 25101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0240 +7FE0 +4200 +4240 +6240 +5280 +5100 +4320 +84A0 +9860 +ENDCHAR +STARTCHAR U_620E +ENCODING 25102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0240 +FFE0 +2200 +2240 +2240 +FA80 +2100 +2320 +44A0 +9860 +ENDCHAR +STARTCHAR U_620F +ENCODING 25103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +7A40 +0A00 +4FE0 +2A00 +1240 +1280 +2900 +4120 +86A0 +0060 +ENDCHAR +STARTCHAR U_6210 +ENCODING 25104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0240 +7FE0 +4200 +4200 +7A40 +4A40 +4A80 +4920 +52A0 +8460 +ENDCHAR +STARTCHAR U_6211 +ENCODING 25105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A80 +7240 +1200 +FFE0 +1200 +1A40 +3280 +D100 +1320 +54A0 +2060 +ENDCHAR +STARTCHAR U_6212 +ENCODING 25106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +0220 +FFE0 +0200 +2A40 +2A40 +FE80 +2980 +4920 +4AA0 +8460 +ENDCHAR +STARTCHAR U_6213 +ENCODING 25107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +FFE0 +0400 +F440 +9480 +9500 +F200 +0520 +18A0 +6060 +ENDCHAR +STARTCHAR U_6214 +ENCODING 25108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +0FE0 +F880 +0500 +0620 +79E0 +1100 +FFE0 +0900 +0E20 +71E0 +ENDCHAR +STARTCHAR U_6215 +ENCODING 25109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +4920 +49E0 +7F00 +0920 +0920 +F940 +4880 +49A0 +4A60 +8C20 +ENDCHAR +STARTCHAR U_6216 +ENCODING 25110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0240 +FFE0 +0200 +7A40 +4A40 +7940 +0180 +1CA0 +E160 +0620 +ENDCHAR +STARTCHAR U_6217 +ENCODING 25111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +2920 +45E0 +8700 +7920 +4920 +4940 +5880 +44A0 +4560 +3E20 +ENDCHAR +STARTCHAR U_6218 +ENCODING 25112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2140 +3D00 +2160 +2780 +F920 +8940 +8980 +8920 +FEA0 +8860 +ENDCHAR +STARTCHAR U_6219 +ENCODING 25113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEC0 +82A0 +BA80 +83E0 +BA80 +AAA0 +AAA0 +BAC0 +82A0 +82E0 +8720 +ENDCHAR +STARTCHAR U_621A +ENCODING 25114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +0120 +7FE0 +4900 +4D20 +4920 +7F40 +4880 +5CA0 +AB60 +5A20 +ENDCHAR +STARTCHAR U_621B +ENCODING 25115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2080 +3E80 +2F80 +2080 +3F80 +0900 +FFE0 +0480 +0720 +F8E0 +ENDCHAR +STARTCHAR U_621C +ENCODING 25116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +0120 +FFE0 +0100 +7920 +4920 +FD40 +1080 +7CA0 +1160 +FE20 +ENDCHAR +STARTCHAR U_621D +ENCODING 25117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7940 +4900 +79E0 +4F00 +7920 +4940 +7880 +01A0 +5660 +8820 +ENDCHAR +STARTCHAR U_621E +ENCODING 25118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0800 +3F80 +2480 +2280 +FFE0 +8920 +0FC0 +F900 +0E40 +71C0 +ENDCHAR +STARTCHAR U_621F +ENCODING 25119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +FD20 +1100 +7FE0 +4900 +7940 +4940 +7880 +10A0 +FD60 +1220 +ENDCHAR +STARTCHAR U_6220 +ENCODING 25120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +FD20 +4900 +3100 +FFE0 +0100 +7920 +48C0 +78A0 +4960 +7A20 +ENDCHAR +STARTCHAR U_6221 +ENCODING 25121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +FD20 +4900 +7FE0 +4920 +7920 +4940 +FE80 +A8A0 +C560 +FE20 +ENDCHAR +STARTCHAR U_6222 +ENCODING 25122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +4920 +4900 +FFE0 +4500 +7D20 +4520 +7D40 +44A0 +FD60 +0620 +ENDCHAR +STARTCHAR U_6223 +ENCODING 25123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +3520 +EBE0 +4500 +8320 +7D20 +1140 +FC80 +28A0 +4560 +8220 +ENDCHAR +STARTCHAR U_6224 +ENCODING 25124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD40 +4920 +5D00 +47E0 +7D00 +9120 +2940 +FE80 +AAA0 +AB60 +FE20 +ENDCHAR +STARTCHAR U_6225 +ENCODING 25125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D40 +4520 +7D00 +47E0 +7D20 +5140 +7D40 +9080 +7CA0 +1160 +FE20 +ENDCHAR +STARTCHAR U_6226 +ENCODING 25126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A500 +5980 +7D40 +55E0 +7F00 +5520 +7D40 +1080 +FDA0 +1260 +1420 +ENDCHAR +STARTCHAR U_6227 +ENCODING 25127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3940 +5520 +FF00 +47E0 +7D00 +4540 +7D40 +4080 +7CA0 +A560 +BE20 +ENDCHAR +STARTCHAR U_6228 +ENCODING 25128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF40 +0520 +7500 +55E0 +FF00 +0520 +7540 +5480 +75A0 +1660 +0820 +ENDCHAR +STARTCHAR U_6229 +ENCODING 25129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD40 +4920 +B500 +FFE0 +0100 +F940 +8940 +F880 +88A0 +F960 +8A20 +ENDCHAR +STARTCHAR U_622A +ENCODING 25130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +7D20 +1100 +FFE0 +2900 +7D20 +C920 +7D40 +4880 +7DA0 +4260 +ENDCHAR +STARTCHAR U_622B +ENCODING 25131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +F8A0 +47E0 +7080 +D7A0 +75A0 +57A0 +70C0 +56A0 +5160 +5220 +ENDCHAR +STARTCHAR U_622C +ENCODING 25132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD40 +A920 +6FE0 +2900 +FD40 +0140 +7D40 +4480 +7CA0 +4560 +7E20 +ENDCHAR +STARTCHAR U_622D +ENCODING 25133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +FF20 +8300 +7DE0 +1300 +7D20 +5540 +7C80 +54A0 +7D60 +C620 +ENDCHAR +STARTCHAR U_622E +ENCODING 25134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD40 +B520 +6D00 +B7E0 +3100 +4920 +A540 +5080 +29A0 +1260 +EC20 +ENDCHAR +STARTCHAR U_622F +ENCODING 25135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D40 +1120 +7D00 +57E0 +7D00 +5120 +4EC0 +5480 +76A0 +9560 +BE20 +ENDCHAR +STARTCHAR U_6230 +ENCODING 25136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEC0 +AAA0 +FE80 +54E0 +7F80 +54A0 +7CA0 +10C0 +FEA0 +1160 +1220 +ENDCHAR +STARTCHAR U_6231 +ENCODING 25137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3900 +2140 +FD20 +A7E0 +F900 +A520 +9CC0 +AA80 +EEA0 +A960 +FE20 +ENDCHAR +STARTCHAR U_6232 +ENCODING 25138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1CC0 +10A0 +FE80 +93E0 +BC80 +92A0 +BEA0 +A4C0 +BCA0 +A960 +FE20 +ENDCHAR +STARTCHAR U_6233 +ENCODING 25139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEC0 +9AA0 +5680 +AAE0 +7F80 +48A0 +FEA0 +48C0 +7EA0 +4960 +7E20 +ENDCHAR +STARTCHAR U_6234 +ENCODING 25140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D40 +1120 +FFE0 +5500 +7D40 +5540 +7D40 +2880 +FEA0 +4960 +8620 +ENDCHAR +STARTCHAR U_6235 +ENCODING 25141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE80 +AAC0 +EEA0 +ABE0 +EE80 +28A0 +7EA0 +C8C0 +7EA0 +4960 +7E20 +ENDCHAR +STARTCHAR U_6236 +ENCODING 25142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +01C0 +3E00 +2000 +3FC0 +2040 +2040 +3FC0 +2000 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_6237 +ENCODING 25143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0400 +0200 +3FC0 +2040 +2040 +3FC0 +2000 +2000 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_6238 +ENCODING 25144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0000 +3FC0 +2040 +3FC0 +2000 +2000 +2000 +4000 +4000 +8000 +ENDCHAR +STARTCHAR U_6239 +ENCODING 25145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2020 +3FE0 +2000 +2FC0 +2080 +2300 +4420 +4820 +87E0 +ENDCHAR +STARTCHAR U_623A +ENCODING 25146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +09E0 +7D20 +4520 +4520 +7DE0 +4100 +4100 +4120 +8120 +80E0 +ENDCHAR +STARTCHAR U_623B +ENCODING 25147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +3FC0 +2040 +3FC0 +2200 +3FE0 +2200 +4500 +4880 +B060 +ENDCHAR +STARTCHAR U_623C +ENCODING 25148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0A00 +0A00 +7BC0 +4A40 +7BC0 +0A00 +0A00 +1200 +2200 +4200 +ENDCHAR +STARTCHAR U_623D +ENCODING 25149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2020 +3FE0 +2480 +2280 +2880 +24E0 +3F80 +4080 +8080 +ENDCHAR +STARTCHAR U_623E +ENCODING 25150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +4040 +7FC0 +4500 +4480 +7FC0 +4600 +4500 +4880 +B060 +ENDCHAR +STARTCHAR U_623F +ENCODING 25151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FC0 +2040 +3FC0 +2200 +3FE0 +2400 +27C0 +4440 +4840 +9180 +ENDCHAR +STARTCHAR U_6240 +ENCODING 25152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1860 +6380 +4200 +7A00 +4BE0 +4A40 +7A40 +4240 +4240 +4440 +8840 +ENDCHAR +STARTCHAR U_6241 +ENCODING 25153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2020 +3FE0 +2000 +2FE0 +2AA0 +2FE0 +4AA0 +4AA0 +8860 +ENDCHAR +STARTCHAR U_6242 +ENCODING 25154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2020 +3FE0 +2200 +23E0 +2200 +2FE0 +2820 +4820 +8FE0 +ENDCHAR +STARTCHAR U_6243 +ENCODING 25155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +7FE0 +4000 +5FE0 +5020 +57A0 +54A0 +97A0 +9060 +ENDCHAR +STARTCHAR U_6244 +ENCODING 25156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4020 +7FE0 +4400 +5FE0 +5020 +57A0 +54A0 +97A0 +9060 +ENDCHAR +STARTCHAR U_6245 +ENCODING 25157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2020 +3FE0 +2400 +2780 +2D00 +23E0 +4E40 +4180 +9E00 +ENDCHAR +STARTCHAR U_6246 +ENCODING 25158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2020 +3FE0 +2200 +3FE0 +2220 +2540 +3C80 +4640 +8420 +ENDCHAR +STARTCHAR U_6247 +ENCODING 25159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +7FE0 +4000 +7DE0 +4420 +54A0 +4C60 +54A0 +A960 +ENDCHAR +STARTCHAR U_6248 +ENCODING 25160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +7FE0 +4880 +5FC0 +5240 +5FC0 +5020 +9020 +8FE0 +ENDCHAR +STARTCHAR U_6249 +ENCODING 25161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4020 +7FE0 +4500 +7DE0 +4500 +7DE0 +4500 +BDE0 +8500 +ENDCHAR +STARTCHAR U_624A +ENCODING 25162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +4040 +7FC0 +5280 +5700 +48E0 +7200 +4A80 +8500 +B8E0 +ENDCHAR +STARTCHAR U_624B +ENCODING 25163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C00 +0400 +7FC0 +0400 +0400 +FFE0 +0400 +0400 +0400 +0C00 +ENDCHAR +STARTCHAR U_624C +ENCODING 25164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 1 -1 +BITMAP +20 +20 +20 +F8 +20 +30 +E0 +20 +20 +20 +60 +ENDCHAR +STARTCHAR U_624D +ENCODING 25165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +7FE0 +0300 +0500 +0900 +1100 +2100 +C100 +0500 +0200 +ENDCHAR +STARTCHAR U_624E +ENCODING 25166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FA00 +2200 +2A00 +3200 +6200 +A200 +2220 +2220 +E1E0 +ENDCHAR +STARTCHAR U_624F +ENCODING 25167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +F200 +2F80 +2280 +3280 +6280 +A280 +24A0 +A4A0 +4860 +ENDCHAR +STARTCHAR U_6250 +ENCODING 25168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FBE0 +2120 +2920 +3120 +6120 +A220 +2220 +A4A0 +4840 +ENDCHAR +STARTCHAR U_6251 +ENCODING 25169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FD00 +2180 +2940 +3120 +6100 +A100 +2100 +A100 +4100 +ENDCHAR +STARTCHAR U_6252 +ENCODING 25170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2080 +FA80 +2280 +2A80 +3280 +6240 +A440 +2440 +2820 +F020 +ENDCHAR +STARTCHAR U_6253 +ENCODING 25171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F880 +2080 +2880 +3080 +6080 +A080 +2080 +2080 +E380 +ENDCHAR +STARTCHAR U_6254 +ENCODING 25172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +FA40 +2280 +2AE0 +3220 +6220 +A220 +2420 +2420 +E8C0 +ENDCHAR +STARTCHAR U_6255 +ENCODING 25173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2100 +F100 +2100 +2A00 +3280 +6240 +A440 +2FE0 +2420 +E000 +ENDCHAR +STARTCHAR U_6256 +ENCODING 25174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2400 +F200 +2200 +2A00 +3300 +6500 +A480 +2480 +2860 +F040 +ENDCHAR +STARTCHAR U_6257 +ENCODING 25175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F100 +2100 +27C0 +3100 +6100 +A100 +2100 +2FE0 +E000 +ENDCHAR +STARTCHAR U_6258 +ENCODING 25176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +2100 +29E0 +3700 +6100 +A100 +2120 +2120 +E0E0 +ENDCHAR +STARTCHAR U_6259 +ENCODING 25177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FFE0 +2080 +2480 +3480 +6280 +A100 +2100 +2280 +EC60 +ENDCHAR +STARTCHAR U_625A +ENCODING 25178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2420 +2820 +3220 +6120 +A120 +2020 +2020 +E0C0 +ENDCHAR +STARTCHAR U_625B +ENCODING 25179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F900 +2100 +2900 +3100 +6100 +A100 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_625C +ENCODING 25180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +F880 +2080 +27E0 +3080 +6080 +A080 +2080 +2280 +E100 +ENDCHAR +STARTCHAR U_625D +ENCODING 25181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2000 +F000 +2FE0 +2200 +3400 +67C0 +A040 +2040 +2280 +E100 +ENDCHAR +STARTCHAR U_625E +ENCODING 25182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +F900 +2100 +2100 +3FE0 +6100 +A100 +2100 +2100 +E100 +ENDCHAR +STARTCHAR U_625F +ENCODING 25183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2F80 +F480 +2480 +2480 +3F80 +6480 +A480 +24A0 +2460 +E420 +ENDCHAR +STARTCHAR U_6260 +ENCODING 25184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FD40 +24C0 +2C40 +3280 +6280 +A100 +2280 +2440 +F820 +ENDCHAR +STARTCHAR U_6261 +ENCODING 25185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +FDC0 +2740 +2D40 +3540 +6540 +A5C0 +2520 +2420 +E3E0 +ENDCHAR +STARTCHAR U_6262 +ENCODING 25186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2400 +2BC0 +3080 +6100 +A200 +2420 +2420 +E3E0 +ENDCHAR +STARTCHAR U_6263 +ENCODING 25187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +FA20 +2220 +2A20 +3220 +6220 +A220 +2220 +23E0 +E000 +ENDCHAR +STARTCHAR U_6264 +ENCODING 25188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +FA80 +2280 +2A80 +3280 +6280 +A280 +24A0 +28A0 +F060 +ENDCHAR +STARTCHAR U_6265 +ENCODING 25189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F1C0 +2700 +2100 +31E0 +6F00 +A100 +2100 +2120 +E0E0 +ENDCHAR +STARTCHAR U_6266 +ENCODING 25190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +2100 +2900 +37E0 +6100 +A100 +2100 +2100 +E100 +ENDCHAR +STARTCHAR U_6267 +ENCODING 25191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FF80 +2280 +2A80 +3680 +6280 +A7A0 +24A0 +A8A0 +5060 +ENDCHAR +STARTCHAR U_6268 +ENCODING 25192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2000 +27C0 +F240 +2240 +2640 +3A40 +6240 +A240 +2440 +2540 +E880 +ENDCHAR +STARTCHAR U_6269 +ENCODING 25193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2400 +2C00 +3400 +6400 +A400 +2400 +2400 +6800 +ENDCHAR +STARTCHAR U_626A +ENCODING 25194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +22E0 +FC20 +2420 +2C20 +3420 +6420 +A420 +2420 +24A0 +E440 +ENDCHAR +STARTCHAR U_626B +ENCODING 25195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F820 +2020 +2820 +33E0 +6020 +A020 +2020 +27E0 +E000 +ENDCHAR +STARTCHAR U_626C +ENCODING 25196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2080 +F900 +2200 +2FE0 +32A0 +62A0 +A520 +2920 +2220 +E4C0 +ENDCHAR +STARTCHAR U_626D +ENCODING 25197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +FA40 +2240 +2A40 +37C0 +6240 +A240 +2240 +2240 +EFE0 +ENDCHAR +STARTCHAR U_626E +ENCODING 25198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +FA40 +2440 +2820 +37C0 +6240 +A240 +2240 +2440 +E980 +ENDCHAR +STARTCHAR U_626F +ENCODING 25199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +F880 +2280 +22E0 +3280 +6280 +A280 +2280 +2280 +EFE0 +ENDCHAR +STARTCHAR U_6270 +ENCODING 25200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2140 +F920 +27E0 +2900 +3180 +6280 +A280 +24A0 +28A0 +F060 +ENDCHAR +STARTCHAR U_6271 +ENCODING 25201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +FA40 +2280 +2AE0 +3220 +6220 +A540 +2480 +2940 +F620 +ENDCHAR +STARTCHAR U_6272 +ENCODING 25202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA80 +2440 +2920 +3080 +6FE0 +A040 +2080 +2100 +E200 +ENDCHAR +STARTCHAR U_6273 +ENCODING 25203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +FC00 +27C0 +2440 +3640 +6540 +A480 +2980 +2A40 +F420 +ENDCHAR +STARTCHAR U_6274 +ENCODING 25204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F280 +2460 +2A40 +3240 +6240 +A240 +2240 +2440 +E840 +ENDCHAR +STARTCHAR U_6275 +ENCODING 25205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +F200 +2500 +2880 +3460 +6300 +A100 +2400 +2300 +E100 +ENDCHAR +STARTCHAR U_6276 +ENCODING 25206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F7C0 +2100 +2100 +3FE0 +6100 +A280 +2280 +2440 +F820 +ENDCHAR +STARTCHAR U_6277 +ENCODING 25207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +2100 +2FE0 +3100 +6100 +A280 +2480 +2840 +F020 +ENDCHAR +STARTCHAR U_6278 +ENCODING 25208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +FA80 +23E0 +2A00 +3200 +63C0 +A240 +2440 +2440 +E840 +ENDCHAR +STARTCHAR U_6279 +ENCODING 25209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +FC80 +24A0 +2FC0 +3480 +6480 +A480 +25A0 +26A0 +E460 +ENDCHAR +STARTCHAR U_627A +ENCODING 25210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +FC80 +2480 +2FE0 +3480 +6480 +A480 +24A0 +2660 +E420 +ENDCHAR +STARTCHAR U_627B +ENCODING 25211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2420 +2940 +3100 +6100 +A280 +2280 +2440 +E820 +ENDCHAR +STARTCHAR U_627C +ENCODING 25212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FDE0 +2520 +2D20 +3520 +6560 +A500 +2900 +2920 +F0E0 +ENDCHAR +STARTCHAR U_627D +ENCODING 25213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2100 +2D40 +3540 +6540 +A7C0 +2120 +2120 +E0E0 +ENDCHAR +STARTCHAR U_627E +ENCODING 25214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +FFE0 +2200 +2A40 +3240 +6280 +A100 +2320 +24A0 +E860 +ENDCHAR +STARTCHAR U_627F +ENCODING 25215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +0200 +0420 +FFC0 +2480 +3F80 +2440 +7FC0 +4420 +8420 +1C00 +ENDCHAR +STARTCHAR U_6280 +ENCODING 25216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2100 +2FC0 +3440 +6440 +A280 +2100 +2280 +EC60 +ENDCHAR +STARTCHAR U_6281 +ENCODING 25217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +FC20 +27E0 +2A80 +3280 +6280 +A280 +24A0 +24A0 +E860 +ENDCHAR +STARTCHAR U_6282 +ENCODING 25218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +F900 +2100 +2900 +37C0 +6100 +A100 +2100 +2FE0 +E000 +ENDCHAR +STARTCHAR U_6283 +ENCODING 25219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +F800 +27E0 +2900 +3180 +6160 +A120 +2100 +2100 +E100 +ENDCHAR +STARTCHAR U_6284 +ENCODING 25220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FB40 +2520 +2900 +3120 +6140 +A080 +2100 +2200 +EC00 +ENDCHAR +STARTCHAR U_6285 +ENCODING 25221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +F3E0 +2420 +2A20 +3220 +64A0 +AFE0 +2020 +20A0 +E040 +ENDCHAR +STARTCHAR U_6286 +ENCODING 25222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2440 +2440 +3280 +E280 +2100 +2280 +2440 +6820 +ENDCHAR +STARTCHAR U_6287 +ENCODING 25223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +FA20 +2220 +2BE0 +3220 +6220 +A220 +2220 +23E0 +E220 +ENDCHAR +STARTCHAR U_6288 +ENCODING 25224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +FA20 +23E0 +2A20 +3220 +63E0 +A220 +2220 +24A0 +E840 +ENDCHAR +STARTCHAR U_6289 +ENCODING 25225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FBC0 +2140 +2940 +3140 +6FE0 +A100 +2280 +2440 +E820 +ENDCHAR +STARTCHAR U_628A +ENCODING 25226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +FD40 +2540 +2D40 +37C0 +6400 +A400 +2420 +2420 +E7E0 +ENDCHAR +STARTCHAR U_628B +ENCODING 25227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +F900 +2200 +2A40 +3220 +6620 +AA00 +2A00 +2220 +E1E0 +ENDCHAR +STARTCHAR U_628C +ENCODING 25228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2520 +2940 +3100 +6100 +A300 +2520 +2920 +F0E0 +ENDCHAR +STARTCHAR U_628D +ENCODING 25229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2640 +F240 +2A40 +2240 +37E0 +6240 +A240 +2440 +2440 +E840 +ENDCHAR +STARTCHAR U_628E +ENCODING 25230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +F800 +2000 +2FE0 +3100 +6100 +A240 +2240 +2FA0 +E420 +ENDCHAR +STARTCHAR U_628F +ENCODING 25231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2000 +F800 +2000 +2FE0 +3280 +6280 +A280 +22A0 +24A0 +E860 +ENDCHAR +STARTCHAR U_6290 +ENCODING 25232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2920 +2920 +3920 +6AA0 +AC60 +2820 +2820 +6860 +ENDCHAR +STARTCHAR U_6291 +ENCODING 25233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +26E0 +FCA0 +24A0 +2CA0 +34A0 +65A0 +A6A0 +24E0 +2080 +E080 +ENDCHAR +STARTCHAR U_6292 +ENCODING 25234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +FA80 +2100 +2FE0 +3120 +6140 +A100 +2100 +2100 +E700 +ENDCHAR +STARTCHAR U_6293 +ENCODING 25235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +27C0 +FD40 +2540 +2D40 +3540 +6540 +A540 +2540 +2920 +F120 +ENDCHAR +STARTCHAR U_6294 +ENCODING 25236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F900 +2180 +2B40 +3520 +6920 +A100 +2100 +2100 +E100 +ENDCHAR +STARTCHAR U_6295 +ENCODING 25237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FA40 +2460 +2800 +37C0 +6440 +A280 +2100 +2280 +EC60 +ENDCHAR +STARTCHAR U_6296 +ENCODING 25238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2240 +F940 +2040 +2A40 +3140 +60E0 +AF40 +2040 +2040 +E040 +ENDCHAR +STARTCHAR U_6297 +ENCODING 25239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2000 +2780 +3480 +6480 +A480 +24A0 +28A0 +F060 +ENDCHAR +STARTCHAR U_6298 +ENCODING 25240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +FA00 +2200 +23E0 +3A40 +6240 +A240 +2240 +2440 +E840 +ENDCHAR +STARTCHAR U_6299 +ENCODING 25241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +27C0 +2100 +3FE0 +6100 +A100 +2100 +2500 +E200 +ENDCHAR +STARTCHAR U_629A +ENCODING 25242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +F900 +2100 +2FE0 +3280 +6280 +A280 +24A0 +28A0 +F060 +ENDCHAR +STARTCHAR U_629B +ENCODING 25243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2880 +F9E0 +2EA0 +2AA0 +3AA0 +6AA0 +AAA0 +2B40 +2A20 +F1E0 +ENDCHAR +STARTCHAR U_629C +ENCODING 25244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FA00 +2FE0 +2200 +33C0 +6440 +A640 +2980 +2A40 +F420 +ENDCHAR +STARTCHAR U_629D +ENCODING 25245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +22E0 +F220 +2420 +2F20 +3220 +6420 +A520 +2F20 +20A0 +E040 +ENDCHAR +STARTCHAR U_629E +ENCODING 25246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +FA20 +2220 +2BE0 +3280 +6280 +A280 +2440 +2440 +E820 +ENDCHAR +STARTCHAR U_629F +ENCODING 25247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F7C0 +2100 +2FE0 +3200 +67E0 +A040 +2380 +2080 +E040 +ENDCHAR +STARTCHAR U_62A0 +ENCODING 25248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FC40 +2640 +2D40 +3480 +6480 +A540 +2640 +2400 +E7E0 +ENDCHAR +STARTCHAR U_62A1 +ENCODING 25249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F440 +2820 +2A00 +3240 +6280 +A300 +2220 +2220 +E1E0 +ENDCHAR +STARTCHAR U_62A2 +ENCODING 25250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F440 +2820 +2780 +3480 +6480 +A580 +2420 +2420 +E3E0 +ENDCHAR +STARTCHAR U_62A3 +ENCODING 25251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2420 +2A20 +3220 +60A0 +A120 +2620 +20A0 +E040 +ENDCHAR +STARTCHAR U_62A4 +ENCODING 25252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +F7E0 +2420 +2420 +37E0 +6400 +A400 +2400 +2800 +F000 +ENDCHAR +STARTCHAR U_62A5 +ENCODING 25253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +2580 +2C00 +37E0 +6540 +A540 +2480 +2540 +E620 +ENDCHAR +STARTCHAR U_62A6 +ENCODING 25254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F100 +2FE0 +2920 +3920 +6AA0 +AC60 +2820 +28A0 +E840 +ENDCHAR +STARTCHAR U_62A7 +ENCODING 25255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +FA20 +2220 +2A20 +33E0 +6000 +A140 +2140 +2220 +E420 +ENDCHAR +STARTCHAR U_62A8 +ENCODING 25256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +F900 +2520 +2B40 +3100 +6FE0 +A100 +2100 +2100 +E100 +ENDCHAR +STARTCHAR U_62A9 +ENCODING 25257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFC0 +2540 +2FC0 +3540 +6540 +AFE0 +2440 +2440 +E4C0 +ENDCHAR +STARTCHAR U_62AA +ENCODING 25258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA00 +2280 +2FE0 +34A0 +6CA0 +A4A0 +24E0 +2080 +E080 +ENDCHAR +STARTCHAR U_62AB +ENCODING 25259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FFE0 +24A0 +2C80 +37E0 +6540 +A540 +2480 +2940 +F620 +ENDCHAR +STARTCHAR U_62AC +ENCODING 25260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA40 +27A0 +2820 +3000 +67E0 +A420 +2420 +27E0 +E420 +ENDCHAR +STARTCHAR U_62AD +ENCODING 25261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2420 +2800 +3380 +6280 +A280 +24A0 +28A0 +F0E0 +ENDCHAR +STARTCHAR U_62AE +ENCODING 25262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA80 +2440 +2920 +3200 +6480 +A120 +2640 +2180 +EE00 +ENDCHAR +STARTCHAR U_62AF +ENCODING 25263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +FC40 +2440 +2FC0 +3440 +6440 +A7C0 +2440 +2440 +FFE0 +ENDCHAR +STARTCHAR U_62B0 +ENCODING 25264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFC0 +2540 +2D40 +3540 +6FE0 +A100 +2280 +2440 +E820 +ENDCHAR +STARTCHAR U_62B1 +ENCODING 25265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +F820 +27A0 +24A0 +34A0 +67A0 +A4C0 +2420 +2420 +E3E0 +ENDCHAR +STARTCHAR U_62B2 +ENCODING 25266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F040 +2740 +2540 +3540 +6740 +A040 +2040 +2140 +E080 +ENDCHAR +STARTCHAR U_62B3 +ENCODING 25267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FC20 +27E0 +2C00 +3520 +6540 +A580 +2520 +2920 +F0E0 +ENDCHAR +STARTCHAR U_62B4 +ENCODING 25268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2540 +F540 +2FE0 +2540 +3540 +65C0 +A540 +2400 +2400 +E7E0 +ENDCHAR +STARTCHAR U_62B5 +ENCODING 25269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +FC80 +2480 +2FE0 +3480 +6480 +A480 +24A0 +2760 +E4A0 +ENDCHAR +STARTCHAR U_62B6 +ENCODING 25270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +F7C0 +2900 +2100 +37E0 +6100 +A100 +2280 +2440 +E820 +ENDCHAR +STARTCHAR U_62B7 +ENCODING 25271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F880 +2100 +2B80 +3540 +E920 +2100 +2100 +2000 +6FE0 +ENDCHAR +STARTCHAR U_62B8 +ENCODING 25272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +F900 +2080 +27E0 +3040 +6080 +A100 +2200 +2500 +E8E0 +ENDCHAR +STARTCHAR U_62B9 +ENCODING 25273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2100 +2100 +37C0 +6100 +A380 +2540 +2920 +E100 +ENDCHAR +STARTCHAR U_62BA +ENCODING 25274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F7C0 +2100 +2FE0 +3100 +6380 +A540 +2920 +2100 +E100 +ENDCHAR +STARTCHAR U_62BB +ENCODING 25275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2520 +2FE0 +3520 +67E0 +A520 +2100 +2100 +E100 +ENDCHAR +STARTCHAR U_62BC +ENCODING 25276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +24A0 +FCA0 +27E0 +2CA0 +34A0 +67E0 +A4A0 +2080 +2080 +E080 +ENDCHAR +STARTCHAR U_62BD +ENCODING 25277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +F880 +27E0 +2CA0 +34A0 +67E0 +A4A0 +24A0 +27E0 +E420 +ENDCHAR +STARTCHAR U_62BE +ENCODING 25278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F7C0 +2100 +2100 +37E0 +6100 +A200 +2440 +2FA0 +E420 +ENDCHAR +STARTCHAR U_62BF +ENCODING 25279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FC20 +27E0 +2C80 +3480 +67E0 +A480 +24A0 +2560 +E620 +ENDCHAR +STARTCHAR U_62C0 +ENCODING 25280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +F440 +2440 +27C0 +3280 +6280 +A280 +2480 +24A0 +E860 +ENDCHAR +STARTCHAR U_62C1 +ENCODING 25281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2800 +FEE0 +2AA0 +2AA0 +3AA0 +6AA0 +AAA0 +2AA0 +2AE0 +F600 +ENDCHAR +STARTCHAR U_62C2 +ENCODING 25282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FFE0 +22A0 +2FE0 +3A80 +6FE0 +A2A0 +22A0 +24C0 +E880 +ENDCHAR +STARTCHAR U_62C3 +ENCODING 25283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +F7E0 +2A00 +2200 +33C0 +6200 +A200 +23C0 +2200 +E200 +ENDCHAR +STARTCHAR U_62C4 +ENCODING 25284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2100 +2900 +3100 +67C0 +A100 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_62C5 +ENCODING 25285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +FC40 +2440 +2FC0 +3440 +6440 +A7C0 +2440 +2000 +EFE0 +ENDCHAR +STARTCHAR U_62C6 +ENCODING 25286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F400 +27E0 +2480 +3580 +64C0 +A4A0 +2480 +A880 +4880 +ENDCHAR +STARTCHAR U_62C7 +ENCODING 25287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FD40 +2540 +2FE0 +3440 +6540 +A540 +27E0 +2040 +E180 +ENDCHAR +STARTCHAR U_62C8 +ENCODING 25288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F9E0 +2100 +2900 +3100 +67E0 +A420 +2420 +27E0 +E420 +ENDCHAR +STARTCHAR U_62C9 +ENCODING 25289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2000 +2040 +3440 +6240 +A280 +2080 +2100 +EFE0 +ENDCHAR +STARTCHAR U_62CA +ENCODING 25290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +FC40 +25E0 +2C40 +3640 +E540 +2440 +2440 +A540 +4480 +ENDCHAR +STARTCHAR U_62CB +ENCODING 25291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +4880 +E9E0 +5EA0 +4AA0 +6AA0 +CAA0 +4AA0 +5360 +5200 +E1E0 +ENDCHAR +STARTCHAR U_62CC +ENCODING 25292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +F540 +2100 +27C0 +3100 +6100 +AFE0 +2100 +2100 +E100 +ENDCHAR +STARTCHAR U_62CD +ENCODING 25293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2100 +FBE0 +2220 +2A20 +33E0 +6220 +A220 +2220 +23E0 +E220 +ENDCHAR +STARTCHAR U_62CE +ENCODING 25294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F440 +2A20 +2100 +37E0 +6040 +A080 +2300 +2080 +E040 +ENDCHAR +STARTCHAR U_62CF +ENCODING 25295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FE40 +4980 +2A60 +DF80 +0200 +3FC0 +0200 +FFE0 +0200 +0E00 +ENDCHAR +STARTCHAR U_62D0 +ENCODING 25296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FC20 +27E0 +2900 +3100 +67E0 +A120 +2220 +2520 +E8C0 +ENDCHAR +STARTCHAR U_62D1 +ENCODING 25297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +FFE0 +2240 +2A40 +33C0 +6240 +A240 +2240 +23C0 +E240 +ENDCHAR +STARTCHAR U_62D2 +ENCODING 25298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FC00 +27C0 +2C40 +3440 +67C0 +A440 +2400 +2400 +E7E0 +ENDCHAR +STARTCHAR U_62D3 +ENCODING 25299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F900 +2100 +2A00 +37E0 +6A20 +A220 +2220 +23E0 +E220 +ENDCHAR +STARTCHAR U_62D4 +ENCODING 25300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +FFE0 +2200 +2BC0 +3240 +6540 +A480 +2880 +2940 +E620 +ENDCHAR +STARTCHAR U_62D5 +ENCODING 25301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F440 +2800 +2200 +3240 +6280 +A300 +2220 +2220 +E1E0 +ENDCHAR +STARTCHAR U_62D6 +ENCODING 25302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +F800 +2100 +25C0 +3740 +6D40 +A5C0 +2520 +2420 +E3E0 +ENDCHAR +STARTCHAR U_62D7 +ENCODING 25303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2480 +FC80 +2BE0 +2CA0 +36A0 +65A0 +AEA0 +28A0 +2120 +E260 +ENDCHAR +STARTCHAR U_62D8 +ENCODING 25304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2420 +2FA0 +34A0 +64A0 +A7A0 +24A0 +2120 +E0C0 +ENDCHAR +STARTCHAR U_62D9 +ENCODING 25305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +FD40 +2540 +2FC0 +3100 +6920 +A920 +2920 +2FE0 +E820 +ENDCHAR +STARTCHAR U_62DA +ENCODING 25306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +FFA0 +2000 +2A40 +3240 +6FE0 +A240 +2240 +2440 +E840 +ENDCHAR +STARTCHAR U_62DB +ENCODING 25307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +F920 +2120 +2A60 +3400 +63E0 +A220 +2220 +23E0 +E220 +ENDCHAR +STARTCHAR U_62DC +ENCODING 25308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1800 +E7C0 +2100 +F7C0 +2100 +27C0 +F900 +27C0 +2100 +4100 +8100 +ENDCHAR +STARTCHAR U_62DD +ENCODING 25309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +F7C0 +2100 +27C0 +3100 +6FE0 +A100 +2100 +2100 +E100 +ENDCHAR +STARTCHAR U_62DE +ENCODING 25310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +20C0 +F700 +2400 +27E0 +3480 +6480 +A480 +2480 +2FE0 +E000 +ENDCHAR +STARTCHAR U_62DF +ENCODING 25311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2140 +FD40 +2440 +2C40 +3440 +6540 +A640 +24C0 +2120 +E620 +ENDCHAR +STARTCHAR U_62E0 +ENCODING 25312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +51C0 +FD40 +5540 +5540 +5540 +ED40 +4540 +4A60 +4900 +D0E0 +ENDCHAR +STARTCHAR U_62E1 +ENCODING 25313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +F7E0 +2480 +2480 +3480 +6500 +A540 +2A20 +2BE0 +F020 +ENDCHAR +STARTCHAR U_62E2 +ENCODING 25314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +F200 +2FE0 +2280 +32A0 +62C0 +A480 +25A0 +2AA0 +F0E0 +ENDCHAR +STARTCHAR U_62E3 +ENCODING 25315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA00 +2780 +2C80 +37E0 +6080 +A2C0 +24A0 +2AA0 +E100 +ENDCHAR +STARTCHAR U_62E4 +ENCODING 25316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +F3C0 +2200 +2FE0 +3200 +6280 +A240 +2240 +2200 +E200 +ENDCHAR +STARTCHAR U_62E5 +ENCODING 25317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +F920 +2FE0 +2920 +3920 +6FE0 +A920 +2920 +2920 +F060 +ENDCHAR +STARTCHAR U_62E6 +ENCODING 25318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2240 +FA80 +27E0 +2000 +3000 +63C0 +A000 +2000 +2000 +EFE0 +ENDCHAR +STARTCHAR U_62E7 +ENCODING 25319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +F7E0 +2420 +2000 +37E0 +6080 +A080 +2080 +2280 +E100 +ENDCHAR +STARTCHAR U_62E8 +ENCODING 25320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +FD20 +27E0 +2900 +33E0 +6240 +A540 +2880 +3140 +E620 +ENDCHAR +STARTCHAR U_62E9 +ENCODING 25321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2240 +F980 +2240 +2C20 +3100 +67C0 +A100 +2FE0 +2100 +E100 +ENDCHAR +STARTCHAR U_62EA +ENCODING 25322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F280 +2FE0 +2AA0 +3AA0 +6AE0 +AC20 +2820 +2FE0 +E820 +ENDCHAR +STARTCHAR U_62EB +ENCODING 25323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +2C40 +37C0 +6520 +A540 +2480 +2540 +E620 +ENDCHAR +STARTCHAR U_62EC +ENCODING 25324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +2100 +2FE0 +3100 +67E0 +A420 +2420 +27E0 +E420 +ENDCHAR +STARTCHAR U_62ED +ENCODING 25325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +FFE0 +2080 +2080 +3780 +6280 +A2A0 +23A0 +2E60 +E020 +ENDCHAR +STARTCHAR U_62EE +ENCODING 25326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2100 +2FC0 +3000 +67C0 +A440 +2440 +27C0 +E440 +ENDCHAR +STARTCHAR U_62EF +ENCODING 25327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2040 +F980 +2120 +2F40 +3580 +6540 +A920 +2720 +2000 +EFE0 +ENDCHAR +STARTCHAR U_62F0 +ENCODING 25328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +25C0 +FC80 +2480 +2C80 +37E0 +6480 +A480 +2480 +2480 +E7E0 +ENDCHAR +STARTCHAR U_62F1 +ENCODING 25329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FA80 +27C0 +2A80 +3280 +6FE0 +A000 +2240 +2420 +E820 +ENDCHAR +STARTCHAR U_62F2 +ENCODING 25330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +FFE0 +1100 +2E80 +4440 +BFA0 +0400 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_62F3 +ENCODING 25331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +7FC0 +0800 +FFE0 +2080 +5F40 +8420 +3F80 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_62F4 +ENCODING 25332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F440 +2820 +27C0 +3100 +6100 +A7C0 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_62F5 +ENCODING 25333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F200 +27E0 +2C40 +3480 +E7E0 +2480 +2480 +2480 +6580 +ENDCHAR +STARTCHAR U_62F6 +ENCODING 25334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +2540 +FAA0 +2000 +2A00 +33E0 +6440 +AA40 +2180 +2300 +EC00 +ENDCHAR +STARTCHAR U_62F7 +ENCODING 25335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +27A0 +F940 +27E0 +2900 +33E0 +6500 +ABE0 +2020 +2120 +E0C0 +ENDCHAR +STARTCHAR U_62F8 +ENCODING 25336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +FE40 +2280 +2B00 +31E0 +6220 +A540 +2080 +2300 +EC00 +ENDCHAR +STARTCHAR U_62F9 +ENCODING 25337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +FA40 +2240 +2480 +3480 +6FE0 +AAA0 +2AA0 +2AA0 +E540 +ENDCHAR +STARTCHAR U_62FA +ENCODING 25338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +27E0 +2D20 +3520 +6560 +A380 +2540 +2920 +E120 +ENDCHAR +STARTCHAR U_62FB +ENCODING 25339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FFE0 +2500 +3520 +EB40 +2900 +3280 +2280 +A440 +4820 +ENDCHAR +STARTCHAR U_62FC +ENCODING 25340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +2240 +FFE0 +2240 +2240 +3FE0 +6240 +A240 +2440 +2440 +6840 +ENDCHAR +STARTCHAR U_62FD +ENCODING 25341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FD20 +27E0 +2D20 +37E0 +6140 +A180 +2120 +22A0 +EC60 +ENDCHAR +STARTCHAR U_62FE +ENCODING 25342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA80 +2440 +2BA0 +3000 +67C0 +A440 +2440 +27C0 +E440 +ENDCHAR +STARTCHAR U_62FF +ENCODING 25343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1100 +EEE0 +1100 +3F80 +0400 +3F80 +0400 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_6300 +ENCODING 25344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F00 +F860 +2B80 +3AA0 +6AA0 +AA40 +2A40 +2A40 +AB20 +5220 +ENDCHAR +STARTCHAR U_6301 +ENCODING 25345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F900 +2100 +2FE0 +3080 +6FE0 +A480 +2280 +2080 +E180 +ENDCHAR +STARTCHAR U_6302 +ENCODING 25346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F900 +2100 +2FE0 +3100 +6100 +A7C0 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_6303 +ENCODING 25347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FA00 +2440 +2FA0 +3120 +6100 +A7C0 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_6304 +ENCODING 25348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +F540 +2380 +2FE0 +3280 +6280 +A280 +2480 +24A0 +E860 +ENDCHAR +STARTCHAR U_6305 +ENCODING 25349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2280 +FAE0 +2420 +2560 +3900 +6FE0 +A380 +2540 +2920 +E100 +ENDCHAR +STARTCHAR U_6306 +ENCODING 25350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +F440 +2440 +2960 +3100 +6FE0 +A380 +2540 +2920 +E100 +ENDCHAR +STARTCHAR U_6307 +ENCODING 25351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2260 +FB80 +2220 +2BE0 +3000 +63E0 +A220 +23E0 +2220 +E3E0 +ENDCHAR +STARTCHAR U_6308 +ENCODING 25352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F8A0 +20A0 +F920 +2240 +7F00 +0400 +7FC0 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_6309 +ENCODING 25353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2520 +2900 +37E0 +6240 +A640 +2180 +2280 +EC60 +ENDCHAR +STARTCHAR U_630A +ENCODING 25354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21C0 +F900 +27E0 +2800 +37E0 +6100 +A180 +2140 +2140 +E100 +ENDCHAR +STARTCHAR U_630B +ENCODING 25355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +FC80 +27E0 +2C20 +3420 +67E0 +A480 +2480 +2480 +E7E0 +ENDCHAR +STARTCHAR U_630C +ENCODING 25356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +FE40 +2180 +2A40 +3420 +6FC0 +A440 +2440 +27C0 +E440 +ENDCHAR +STARTCHAR U_630D +ENCODING 25357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +F7E0 +2240 +24A0 +3A80 +6280 +A100 +2280 +2440 +E820 +ENDCHAR +STARTCHAR U_630E +ENCODING 25358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA80 +2440 +2BA0 +3000 +6FC0 +A200 +27C0 +2040 +E180 +ENDCHAR +STARTCHAR U_630F +ENCODING 25359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FBA0 +2820 +2BA0 +3AA0 +6AA0 +ABA0 +2AA0 +2820 +E8E0 +ENDCHAR +STARTCHAR U_6310 +ENCODING 25360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4A20 +F3E0 +2A20 +DF80 +0400 +7FC0 +0400 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_6311 +ENCODING 25361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FAA0 +26C0 +2A80 +36C0 +6AA0 +A280 +22A0 +24A0 +E8E0 +ENDCHAR +STARTCHAR U_6312 +ENCODING 25362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E20 +2420 +F4A0 +2EA0 +2AA0 +32A0 +6AA0 +A4A0 +2420 +28A0 +F040 +ENDCHAR +STARTCHAR U_6313 +ENCODING 25363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +24A0 +2B00 +3100 +61E0 +AF00 +2120 +2120 +E0E0 +ENDCHAR +STARTCHAR U_6314 +ENCODING 25364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2100 +2AA0 +36C0 +6A80 +A280 +22C0 +2320 +E620 +ENDCHAR +STARTCHAR U_6315 +ENCODING 25365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2240 +FA40 +23C0 +2A40 +3240 +63C0 +A240 +2260 +2FC0 +E040 +ENDCHAR +STARTCHAR U_6316 +ENCODING 25366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F420 +2240 +2420 +37E0 +6080 +A100 +2220 +2420 +E3E0 +ENDCHAR +STARTCHAR U_6317 +ENCODING 25367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +2FE0 +2120 +3FE0 +6900 +AFE0 +22A0 +2440 +E820 +ENDCHAR +STARTCHAR U_6318 +ENCODING 25368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +F520 +2940 +2180 +3100 +6200 +AFE0 +2220 +24A0 +E840 +ENDCHAR +STARTCHAR U_6319 +ENCODING 25369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2500 +FFE0 +1100 +2EC0 +C420 +3F80 +0400 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_631A +ENCODING 25370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2940 +F740 +2140 +7FA0 +0400 +7FC0 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_631B +ENCODING 25371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2940 +4920 +BFA0 +0400 +7FC0 +0400 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_631C +ENCODING 25372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F280 +2280 +2AA0 +36C0 +6280 +A280 +2280 +2FE0 +E000 +ENDCHAR +STARTCHAR U_631D +ENCODING 25373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2840 +F7E0 +2040 +2240 +3D40 +6440 +A540 +2480 +2400 +EBE0 +ENDCHAR +STARTCHAR U_631E +ENCODING 25374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2880 +F480 +23E0 +2C80 +3480 +6480 +A540 +2620 +2400 +EBE0 +ENDCHAR +STARTCHAR U_631F +ENCODING 25375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F920 +2540 +2B80 +3100 +6FE0 +A100 +2280 +2440 +E820 +ENDCHAR +STARTCHAR U_6320 +ENCODING 25376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27E0 +FA80 +2120 +36E0 +6000 +AFE0 +2280 +22A0 +24A0 +E8E0 +ENDCHAR +STARTCHAR U_6321 +ENCODING 25377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2520 +FB40 +2100 +2FE0 +3020 +6020 +A7E0 +2020 +2020 +EFE0 +ENDCHAR +STARTCHAR U_6322 +ENCODING 25378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +27E0 +2A40 +3420 +6200 +A240 +2240 +2440 +E840 +ENDCHAR +STARTCHAR U_6323 +ENCODING 25379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +FC80 +27C0 +2940 +3FE0 +6140 +A7C0 +2100 +2500 +E200 +ENDCHAR +STARTCHAR U_6324 +ENCODING 25380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA40 +2180 +2E60 +3000 +6240 +A240 +2240 +2440 +E840 +ENDCHAR +STARTCHAR U_6325 +ENCODING 25381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FA00 +27E0 +2A00 +3500 +67C0 +A100 +2FE0 +2100 +E100 +ENDCHAR +STARTCHAR U_6326 +ENCODING 25382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +F7C0 +2040 +27C0 +3080 +6FE0 +A480 +2280 +2080 +E180 +ENDCHAR +STARTCHAR U_6327 +ENCODING 25383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F220 +2B20 +26A0 +3260 +66A0 +AB20 +2220 +2AA0 +E440 +ENDCHAR +STARTCHAR U_6328 +ENCODING 25384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2440 +FFA0 +2400 +27C0 +3900 +E100 +2FE0 +2280 +2440 +E820 +ENDCHAR +STARTCHAR U_6329 +ENCODING 25385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +FC20 +27E0 +2C20 +3420 +67E0 +A280 +2280 +24A0 +E860 +ENDCHAR +STARTCHAR U_632A +ENCODING 25386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +4AA0 +EAA0 +5EA0 +4AC0 +6AA0 +5EA0 +CAA0 +4AE0 +4A80 +D680 +ENDCHAR +STARTCHAR U_632B +ENCODING 25387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +FD40 +2540 +2BA0 +3120 +6100 +A7C0 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_632C +ENCODING 25388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +27E0 +2C20 +37C0 +6080 +AFE0 +2100 +2100 +E300 +ENDCHAR +STARTCHAR U_632D +ENCODING 25389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +2520 +2FE0 +3520 +67E0 +A520 +2200 +2580 +E860 +ENDCHAR +STARTCHAR U_632E +ENCODING 25390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +F7C0 +2940 +27C0 +3500 +67E0 +A320 +25A0 +2940 +E100 +ENDCHAR +STARTCHAR U_632F +ENCODING 25391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FDC0 +2400 +2FE0 +3500 +65A0 +A540 +2540 +29A0 +E920 +ENDCHAR +STARTCHAR U_6330 +ENCODING 25392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +27C0 +2000 +37C0 +6100 +A7C0 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_6331 +ENCODING 25393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2480 +F2C0 +2AA0 +26A0 +3280 +64A0 +A820 +2840 +2880 +EB00 +ENDCHAR +STARTCHAR U_6332 +ENCODING 25394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +A540 +5920 +E1C0 +5F00 +4200 +7FC0 +0200 +FFE0 +0200 +0E00 +ENDCHAR +STARTCHAR U_6333 +ENCODING 25395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +22A0 +FAA0 +2540 +2AA0 +32A0 +6000 +A7E0 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_6334 +ENCODING 25396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +FC00 +27C0 +2D40 +3540 +6FE0 +A540 +2540 +27E0 +E040 +ENDCHAR +STARTCHAR U_6335 +ENCODING 25397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +F7C0 +2100 +2FE0 +3240 +6FE0 +A240 +2240 +2440 +E840 +ENDCHAR +STARTCHAR U_6336 +ENCODING 25398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2400 +2FE0 +3420 +67A0 +A6A0 +2BA0 +2820 +F0C0 +ENDCHAR +STARTCHAR U_6337 +ENCODING 25399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2FE0 +F4A0 +24A0 +2FC0 +34E0 +64A0 +AFA0 +24C0 +2880 +F080 +ENDCHAR +STARTCHAR U_6338 +ENCODING 25400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +2FC0 +3440 +67C0 +A280 +22A0 +24A0 +E860 +ENDCHAR +STARTCHAR U_6339 +ENCODING 25401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2000 +27C0 +3540 +6540 +A7C0 +2420 +2420 +E3E0 +ENDCHAR +STARTCHAR U_633A +ENCODING 25402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +2FC0 +FA40 +2440 +2FE0 +3240 +6240 +AA40 +25E0 +2A00 +F1E0 +ENDCHAR +STARTCHAR U_633B +ENCODING 25403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E20 +23C0 +FA40 +2440 +2E60 +3540 +E540 +2D40 +25E0 +AA00 +51E0 +ENDCHAR +STARTCHAR U_633C +ENCODING 25404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +27A0 +FD20 +2AC0 +2100 +3FE0 +6240 +A480 +2380 +2240 +EC20 +ENDCHAR +STARTCHAR U_633D +ENCODING 25405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +FC80 +27E0 +2D20 +3520 +E7E0 +2280 +22A0 +A4A0 +48E0 +ENDCHAR +STARTCHAR U_633E +ENCODING 25406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +2540 +2540 +3BA0 +6100 +A280 +2440 +2820 +F020 +ENDCHAR +STARTCHAR U_633F +ENCODING 25407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F100 +2FE0 +2100 +3FE0 +6920 +AFE0 +2920 +2FE0 +E100 +ENDCHAR +STARTCHAR U_6340 +ENCODING 25408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2680 +F900 +26E0 +2900 +3FE0 +6100 +A7C0 +2100 +2FE0 +E100 +ENDCHAR +STARTCHAR U_6341 +ENCODING 25409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2500 +FFC0 +2100 +2FE0 +3000 +67C0 +A440 +2440 +27C0 +E440 +ENDCHAR +STARTCHAR U_6342 +ENCODING 25410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +F7C0 +2240 +2240 +3FE0 +6000 +A7C0 +2440 +27C0 +E440 +ENDCHAR +STARTCHAR U_6343 +ENCODING 25411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +FFE0 +2240 +2FC0 +3200 +63E0 +A620 +2A20 +23E0 +E220 +ENDCHAR +STARTCHAR U_6344 +ENCODING 25412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +FFE0 +2100 +2920 +3540 +6380 +A540 +2920 +2520 +E200 +ENDCHAR +STARTCHAR U_6345 +ENCODING 25413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +F100 +2FE0 +2920 +3FE0 +6920 +AFE0 +2920 +2920 +E8E0 +ENDCHAR +STARTCHAR U_6346 +ENCODING 25414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +F920 +2FE0 +2920 +3BA0 +6D60 +A920 +2920 +2FE0 +E820 +ENDCHAR +STARTCHAR U_6347 +ENCODING 25415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F900 +2100 +2FE0 +3280 +6AC0 +AAA0 +22A0 +2480 +E980 +ENDCHAR +STARTCHAR U_6348 +ENCODING 25416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F440 +2FE0 +2100 +3100 +6FE0 +A100 +2540 +2920 +F320 +ENDCHAR +STARTCHAR U_6349 +ENCODING 25417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +2440 +2FC0 +3100 +6500 +A5E0 +2500 +2B00 +F1E0 +ENDCHAR +STARTCHAR U_634A +ENCODING 25418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +27A0 +FD20 +2280 +2FE0 +3040 +6080 +AFE0 +2080 +2280 +E100 +ENDCHAR +STARTCHAR U_634B +ENCODING 25419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2720 +F920 +2440 +2A80 +3FE0 +6080 +A480 +2280 +2080 +E380 +ENDCHAR +STARTCHAR U_634C +ENCODING 25420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F20 +2920 +F920 +2F20 +24A0 +34A0 +6FA0 +A5A0 +2520 +2920 +F660 +ENDCHAR +STARTCHAR U_634D +ENCODING 25421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +2FC0 +3000 +67C0 +A100 +2FE0 +2100 +E100 +ENDCHAR +STARTCHAR U_634E +ENCODING 25422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2520 +FB40 +27E0 +2C20 +37E0 +6420 +A7E0 +2420 +2420 +E4E0 +ENDCHAR +STARTCHAR U_634F +ENCODING 25423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +2FC0 +3100 +6100 +A7C0 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_6350 +ENCODING 25424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +2000 +2FE0 +3420 +E7E0 +2420 +27E0 +2420 +6460 +ENDCHAR +STARTCHAR U_6351 +ENCODING 25425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2520 +FDE0 +2520 +2DE0 +3400 +67C0 +A080 +2FE0 +2240 +EC20 +ENDCHAR +STARTCHAR U_6352 +ENCODING 25426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27C0 +2D40 +37C0 +6100 +A380 +2540 +2920 +E100 +ENDCHAR +STARTCHAR U_6353 +ENCODING 25427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +FAA0 +2AA0 +2FC0 +32A0 +62A0 +A6A0 +2AC0 +3280 +E680 +ENDCHAR +STARTCHAR U_6354 +ENCODING 25428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2480 +FFE0 +2520 +2FE0 +3520 +67E0 +A520 +2520 +2920 +F060 +ENDCHAR +STARTCHAR U_6355 +ENCODING 25429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +FFE0 +2100 +2FE0 +3920 +6FE0 +A920 +2FE0 +2920 +E960 +ENDCHAR +STARTCHAR U_6356 +ENCODING 25430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2420 +2BC0 +3000 +6FE0 +A280 +22A0 +24A0 +E860 +ENDCHAR +STARTCHAR U_6357 +ENCODING 25431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +25E0 +FD00 +2500 +2FE0 +3100 +6520 +A940 +2080 +2300 +EC00 +ENDCHAR +STARTCHAR U_6358 +ENCODING 25432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +FFA0 +2240 +2D20 +33C0 +6640 +AA80 +2100 +2280 +EC60 +ENDCHAR +STARTCHAR U_6359 +ENCODING 25433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F900 +27C0 +2D40 +37C0 +6540 +A7C0 +2100 +2FE0 +E100 +ENDCHAR +STARTCHAR U_635A +ENCODING 25434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +FFE0 +2920 +2FE0 +3100 +6100 +A7C0 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_635B +ENCODING 25435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +F240 +2240 +23C0 +3000 +67E0 +A420 +2420 +2420 +E7E0 +ENDCHAR +STARTCHAR U_635C +ENCODING 25436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FD20 +27E0 +2D20 +37E0 +6100 +A7E0 +2240 +2180 +6660 +ENDCHAR +STARTCHAR U_635D +ENCODING 25437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2240 +FA80 +27C0 +2440 +37C0 +6280 +A280 +22A0 +24A0 +E8E0 +ENDCHAR +STARTCHAR U_635E +ENCODING 25438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +FA40 +27E0 +2C20 +3100 +6FE0 +A220 +2220 +2520 +E8C0 +ENDCHAR +STARTCHAR U_635F +ENCODING 25439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +2000 +2FE0 +3420 +6520 +A520 +2520 +2280 +EC60 +ENDCHAR +STARTCHAR U_6360 +ENCODING 25440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +F400 +27E0 +2480 +3480 +6480 +AFE0 +2280 +2460 +E820 +ENDCHAR +STARTCHAR U_6361 +ENCODING 25441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC40 +2420 +2BC0 +3000 +6A40 +A540 +2480 +2080 +EFE0 +ENDCHAR +STARTCHAR U_6362 +ENCODING 25442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +FC80 +27C0 +2D40 +3540 +6FE0 +A100 +2280 +2440 +E820 +ENDCHAR +STARTCHAR U_6363 +ENCODING 25443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +FC40 +2540 +2C80 +37E0 +6220 +AAA0 +2AA0 +2FA0 +E0C0 +ENDCHAR +STARTCHAR U_6364 +ENCODING 25444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2480 +2F00 +35C0 +6700 +A5E0 +2700 +2920 +F0E0 +ENDCHAR +STARTCHAR U_6365 +ENCODING 25445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +2400 +26E0 +3AA0 +6AA0 +A6E0 +2280 +24A0 +F860 +ENDCHAR +STARTCHAR U_6366 +ENCODING 25446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +F500 +2880 +2760 +3200 +6F80 +A200 +2A40 +2680 +EFC0 +ENDCHAR +STARTCHAR U_6367 +ENCODING 25447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +27C0 +2900 +3FE0 +6540 +ABA0 +2100 +2FE0 +E100 +ENDCHAR +STARTCHAR U_6368 +ENCODING 25448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC40 +27E0 +2900 +3FE0 +6100 +A7C0 +2440 +27C0 +E440 +ENDCHAR +STARTCHAR U_6369 +ENCODING 25449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +2FE0 +2940 +3920 +6FE0 +A900 +2A80 +2440 +E820 +ENDCHAR +STARTCHAR U_636A +ENCODING 25450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +FD00 +27E0 +2D00 +36A0 +67E0 +A440 +27C0 +2440 +E7C0 +ENDCHAR +STARTCHAR U_636B +ENCODING 25451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +2EE0 +3820 +6820 +A820 +2820 +28A0 +E840 +ENDCHAR +STARTCHAR U_636C +ENCODING 25452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +FA40 +2BE0 +3E40 +6B40 +AAC0 +2A40 +B240 +52C0 +ENDCHAR +STARTCHAR U_636D +ENCODING 25453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FD20 +27E0 +2D20 +37E0 +6280 +A480 +2FE0 +2080 +E080 +ENDCHAR +STARTCHAR U_636E +ENCODING 25454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FC20 +27E0 +2C80 +37E0 +6480 +A7E0 +2E20 +AA20 +53E0 +ENDCHAR +STARTCHAR U_636F +ENCODING 25455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +2F20 +F4A0 +2AA0 +2FA0 +34A0 +EFA0 +24A0 +2420 +2720 +7860 +ENDCHAR +STARTCHAR U_6370 +ENCODING 25456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FFC0 +2540 +2FC0 +3100 +6FE0 +A100 +2380 +2540 +E920 +ENDCHAR +STARTCHAR U_6371 +ENCODING 25457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FC80 +27E0 +2C80 +37E0 +E400 +2480 +2BE0 +A880 +57E0 +ENDCHAR +STARTCHAR U_6372 +ENCODING 25458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FFE0 +2200 +2FE0 +3440 +6FA0 +A480 +25A0 +2420 +E3E0 +ENDCHAR +STARTCHAR U_6373 +ENCODING 25459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +FC00 +27E0 +2C80 +3480 +6FE0 +A100 +2920 +2920 +EFE0 +ENDCHAR +STARTCHAR U_6374 +ENCODING 25460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2280 +F480 +2A40 +24A0 +3780 +6000 +A240 +25A0 +2CA0 +F380 +ENDCHAR +STARTCHAR U_6375 +ENCODING 25461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FFE0 +2AA0 +2FE0 +3AA0 +6AA0 +AFE0 +2280 +2440 +F820 +ENDCHAR +STARTCHAR U_6376 +ENCODING 25462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +F100 +2FE0 +2540 +3540 +6FE0 +A540 +2FE0 +2100 +E7C0 +ENDCHAR +STARTCHAR U_6377 +ENCODING 25463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +2FC0 +2140 +3FE0 +6140 +AFE0 +2900 +2D00 +F3E0 +ENDCHAR +STARTCHAR U_6378 +ENCODING 25464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F940 +27E0 +2940 +37C0 +6520 +A3C0 +2540 +2920 +F720 +ENDCHAR +STARTCHAR U_6379 +ENCODING 25465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2540 +2BA0 +3100 +6240 +AFE0 +2240 +2240 +E440 +ENDCHAR +STARTCHAR U_637A +ENCODING 25466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA80 +2440 +2BA0 +3000 +6FC0 +A100 +2540 +2920 +F320 +ENDCHAR +STARTCHAR U_637B +ENCODING 25467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC40 +2120 +2FC0 +3080 +6100 +A240 +2AA0 +2A60 +F1C0 +ENDCHAR +STARTCHAR U_637C +ENCODING 25468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2380 +2540 +3920 +6FE0 +A240 +2480 +2380 +DC60 +ENDCHAR +STARTCHAR U_637D +ENCODING 25469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2240 +2A40 +35A0 +6100 +AFE0 +2100 +2100 +E100 +ENDCHAR +STARTCHAR U_637E +ENCODING 25470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FC20 +23C0 +2A40 +33C0 +6200 +A3E0 +2220 +23E0 +E220 +ENDCHAR +STARTCHAR U_637F +ENCODING 25471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F280 +27E0 +2280 +3780 +6200 +AFE0 +2480 +2300 +ECC0 +ENDCHAR +STARTCHAR U_6380 +ENCODING 25472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2C80 +F8E0 +2920 +2F40 +3A40 +6A40 +AA40 +2AA0 +2AA0 +F320 +ENDCHAR +STARTCHAR U_6381 +ENCODING 25473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FFC0 +2400 +27C0 +3400 +6FE0 +A520 +24C0 +2540 +E620 +ENDCHAR +STARTCHAR U_6382 +ENCODING 25474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2480 +2CE0 +3480 +6480 +A7E0 +2A20 +2A20 +F3E0 +ENDCHAR +STARTCHAR U_6383 +ENCODING 25475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +F7C0 +2040 +2FE0 +3920 +6FC0 +A540 +2540 +25C0 +E100 +ENDCHAR +STARTCHAR U_6384 +ENCODING 25476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2440 +FBA0 +2000 +2FE0 +3AA0 +6AA0 +AFE0 +2AA0 +2AA0 +E860 +ENDCHAR +STARTCHAR U_6385 +ENCODING 25477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27C0 +2100 +3FE0 +6440 +A7C0 +2440 +27C0 +E440 +ENDCHAR +STARTCHAR U_6386 +ENCODING 25478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2AA0 +FFE0 +2920 +3D60 +6D60 +AFE0 +2C60 +A8A0 +4840 +ENDCHAR +STARTCHAR U_6387 +ENCODING 25479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +25A0 +F240 +25A0 +2900 +3FE0 +6AA0 +A4A0 +2240 +25A0 +E920 +ENDCHAR +STARTCHAR U_6388 +ENCODING 25480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2A20 +F540 +2800 +2FE0 +3820 +67C0 +A480 +2300 +2480 +F860 +ENDCHAR +STARTCHAR U_6389 +ENCODING 25481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +F900 +27C0 +2C40 +37C0 +6440 +A7C0 +2100 +2FE0 +E100 +ENDCHAR +STARTCHAR U_638A +ENCODING 25482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2440 +2A80 +37E0 +6000 +A7C0 +2440 +27C0 +E440 +ENDCHAR +STARTCHAR U_638B +ENCODING 25483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F800 +2BE0 +2A80 +3A80 +EBE0 +2A80 +2AA0 +2B60 +72A0 +ENDCHAR +STARTCHAR U_638C +ENCODING 25484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +FFE0 +9120 +3F80 +0400 +7FC0 +0400 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_638D +ENCODING 25485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +27C0 +3000 +64A0 +A7C0 +24A0 +25A0 +EE60 +ENDCHAR +STARTCHAR U_638E +ENCODING 25486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA80 +2440 +27E0 +3040 +6740 +A540 +2740 +2040 +E1C0 +ENDCHAR +STARTCHAR U_638F +ENCODING 25487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +F820 +27A0 +2220 +3FE0 +6220 +AAA0 +2FA0 +2020 +E0C0 +ENDCHAR +STARTCHAR U_6390 +ENCODING 25488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +F440 +2A80 +2CE0 +3820 +6820 +AEE0 +2820 +2FE0 +E820 +ENDCHAR +STARTCHAR U_6391 +ENCODING 25489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F440 +27C0 +2440 +37C0 +6440 +AFE0 +2280 +2440 +E820 +ENDCHAR +STARTCHAR U_6392 +ENCODING 25490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FEE0 +2280 +2280 +3EE0 +6280 +A280 +2EE0 +2280 +E280 +ENDCHAR +STARTCHAR U_6393 +ENCODING 25491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2700 +F4E0 +24A0 +2FA0 +34A0 +6EA0 +B540 +2540 +24A0 +ED20 +ENDCHAR +STARTCHAR U_6394 +ENCODING 25492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +A240 +FA40 +8980 +FA60 +A400 +FF80 +0400 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_6395 +ENCODING 25493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +FFE0 +2480 +3A60 +6380 +A680 +2100 +A280 +4C60 +ENDCHAR +STARTCHAR U_6396 +ENCODING 25494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F480 +24E0 +2D20 +36A0 +6540 +A540 +2480 +2540 +E620 +ENDCHAR +STARTCHAR U_6397 +ENCODING 25495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +F280 +2EE0 +2820 +3820 +E820 +2EE0 +2280 +A280 +4FE0 +ENDCHAR +STARTCHAR U_6398 +ENCODING 25496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FFE0 +2880 +2AA0 +3BE0 +E880 +2AA0 +2AA0 +AAA0 +53E0 +ENDCHAR +STARTCHAR U_6399 +ENCODING 25497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2FA0 +FA40 +2500 +27C0 +3140 +EFE0 +2140 +27C0 +A100 +4700 +ENDCHAR +STARTCHAR U_639A +ENCODING 25498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F100 +2FE0 +2DA0 +3B60 +6B60 +ADA0 +2920 +29A0 +E940 +ENDCHAR +STARTCHAR U_639B +ENCODING 25499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +FE80 +2480 +2FC0 +30A0 +64A0 +AF80 +2480 +2780 +F880 +ENDCHAR +STARTCHAR U_639C +ENCODING 25500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2E60 +F820 +2EE0 +2820 +3FE0 +EAA0 +2280 +22A0 +A4A0 +4860 +ENDCHAR +STARTCHAR U_639D +ENCODING 25501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +FFE0 +2080 +2E80 +3AA0 +EEA0 +20C0 +26A0 +B960 +4220 +ENDCHAR +STARTCHAR U_639E +ENCODING 25502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +2540 +F580 +2A40 +2920 +3120 +6540 +A580 +2A40 +2420 +E820 +ENDCHAR +STARTCHAR U_639F +ENCODING 25503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +2000 +2FE0 +3100 +6500 +A5E0 +2500 +2B00 +F1E0 +ENDCHAR +STARTCHAR U_63A0 +ENCODING 25504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F000 +27C0 +2440 +3440 +67C0 +A100 +2540 +2920 +F320 +ENDCHAR +STARTCHAR U_63A1 +ENCODING 25505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2FA0 +FA20 +2540 +2100 +3FE0 +6100 +A380 +2540 +2920 +F120 +ENDCHAR +STARTCHAR U_63A2 +ENCODING 25506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +F280 +2440 +2920 +3100 +6FE0 +A100 +2580 +2940 +F120 +ENDCHAR +STARTCHAR U_63A3 +ENCODING 25507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5020 +7EA0 +90A0 +FEA0 +5460 +5F80 +0200 +7FE0 +0200 +FFE0 +0600 +ENDCHAR +STARTCHAR U_63A4 +ENCODING 25508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FAA0 +2EE0 +2AA0 +3AA0 +6EE0 +AAA0 +2AA0 +2AA0 +F760 +ENDCHAR +STARTCHAR U_63A5 +ENCODING 25509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F440 +2280 +2FE0 +3100 +6FE0 +A240 +2680 +2140 +EE20 +ENDCHAR +STARTCHAR U_63A6 +ENCODING 25510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2C40 +27C0 +3200 +67E0 +AAA0 +24A0 +2120 +E2C0 +ENDCHAR +STARTCHAR U_63A7 +ENCODING 25511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +2280 +2440 +3820 +67C0 +A100 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_63A8 +ENCODING 25512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2480 +F7E0 +2480 +2C80 +37E0 +6480 +A7E0 +2480 +2480 +E7E0 +ENDCHAR +STARTCHAR U_63A9 +ENCODING 25513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2540 +2FE0 +3540 +67C0 +A540 +27C0 +2120 +E0E0 +ENDCHAR +STARTCHAR U_63AA +ENCODING 25514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27C0 +F280 +2280 +2FE0 +3000 +67C0 +A440 +27C0 +2440 +E7C0 +ENDCHAR +STARTCHAR U_63AB +ENCODING 25515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +2BE0 +FAA0 +2EA0 +2AA0 +3EA0 +EAA0 +2BA0 +3E40 +A2A0 +6320 +ENDCHAR +STARTCHAR U_63AC +ENCODING 25516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +F960 +25A0 +2320 +3FE0 +E120 +23A0 +2560 +A920 +61C0 +ENDCHAR +STARTCHAR U_63AD +ENCODING 25517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2280 +2440 +3920 +6540 +A5A0 +2960 +2500 +E200 +ENDCHAR +STARTCHAR U_63AE +ENCODING 25518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F420 +27E0 +2400 +37E0 +6420 +A7E0 +2A20 +2BE0 +F260 +ENDCHAR +STARTCHAR U_63AF +ENCODING 25519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +22E0 +F280 +2FE0 +2000 +37E0 +6420 +A7E0 +2420 +27E0 +E460 +ENDCHAR +STARTCHAR U_63B0 +ENCODING 25520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +EDC0 +4A40 +53E0 +F040 +5E40 +EBE0 +4A40 +4A40 +5240 +E4C0 +ENDCHAR +STARTCHAR U_63B1 +ENCODING 25521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +3F80 +0400 +FFE0 +2480 +FFE0 +2080 +FBE0 +2080 +E380 +ENDCHAR +STARTCHAR U_63B2 +ENCODING 25522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2C40 +27C0 +3200 +67E0 +ACA0 +2520 +27A0 +E040 +ENDCHAR +STARTCHAR U_63B3 +ENCODING 25523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2100 +F7E0 +2520 +27C0 +3520 +65E0 +A480 +27E0 +2A20 +F4C0 +ENDCHAR +STARTCHAR U_63B4 +ENCODING 25524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FFE0 +2920 +2920 +3BA0 +6920 +A960 +2FE0 +2820 +EFE0 +ENDCHAR +STARTCHAR U_63B5 +ENCODING 25525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F280 +2440 +2BA0 +3000 +6EE0 +AAA0 +2AA0 +2EE0 +E080 +ENDCHAR +STARTCHAR U_63B6 +ENCODING 25526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F900 +2FC0 +2940 +3FE0 +6940 +AFC0 +2900 +2A80 +F460 +ENDCHAR +STARTCHAR U_63B7 +ENCODING 25527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AE0 +24A0 +FFA0 +24C0 +24A0 +3FA0 +E4A0 +24E0 +2A80 +B180 +4080 +ENDCHAR +STARTCHAR U_63B8 +ENCODING 25528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +F7C0 +2540 +27C0 +3540 +67C0 +A100 +2FE0 +2100 +E100 +ENDCHAR +STARTCHAR U_63B9 +ENCODING 25529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2080 +F100 +2FE0 +2100 +3500 +6200 +AFE0 +2AA0 +2AA0 +FFE0 +ENDCHAR +STARTCHAR U_63BA +ENCODING 25530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2440 +FFA0 +2100 +2FE0 +3540 +6AA0 +A500 +2240 +2080 +E700 +ENDCHAR +STARTCHAR U_63BB +ENCODING 25531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2480 +F300 +2280 +2D60 +3100 +67C0 +A540 +27C0 +2140 +EFA0 +ENDCHAR +STARTCHAR U_63BC +ENCODING 25532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FFE0 +2540 +27C0 +3000 +E7C0 +2540 +2540 +2280 +6C60 +ENDCHAR +STARTCHAR U_63BD +ENCODING 25533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +F000 +27E0 +2280 +3AA0 +6AA0 +A6C0 +2280 +2280 +EFE0 +ENDCHAR +STARTCHAR U_63BE +ENCODING 25534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +F780 +2080 +2FE0 +3540 +6A80 +A5C0 +2AA0 +24A0 +EB00 +ENDCHAR +STARTCHAR U_63BF +ENCODING 25535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27C0 +F280 +2100 +2FE0 +3200 +67C0 +AC40 +2440 +2440 +E7C0 +ENDCHAR +STARTCHAR U_63C0 +ENCODING 25536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +2FE0 +2920 +3AA0 +6FE0 +A100 +2380 +2540 +F920 +ENDCHAR +STARTCHAR U_63C1 +ENCODING 25537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +23C0 +2200 +FFC0 +2840 +2FC0 +3840 +6FC0 +A840 +2FC0 +2480 +6840 +ENDCHAR +STARTCHAR U_63C2 +ENCODING 25538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +2280 +2FE0 +3AA0 +6CE0 +A820 +2FE0 +2820 +EFE0 +ENDCHAR +STARTCHAR U_63C3 +ENCODING 25539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +2000 +2E20 +3AA0 +6EA0 +AAA0 +2EA0 +2A20 +EAE0 +ENDCHAR +STARTCHAR U_63C4 +ENCODING 25540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2440 +FFA0 +2000 +2E20 +3AA0 +6EA0 +AAA0 +2EA0 +2A20 +EA60 +ENDCHAR +STARTCHAR U_63C5 +ENCODING 25541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +2140 +3BE0 +6940 +BF40 +0200 +3FC0 +0200 +7FE0 +0200 +0E00 +ENDCHAR +STARTCHAR U_63C6 +ENCODING 25542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +2580 +F2A0 +2440 +2BA0 +3100 +6100 +AFE0 +2280 +2440 +F820 +ENDCHAR +STARTCHAR U_63C7 +ENCODING 25543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +2FE0 +2AA0 +3920 +6FE0 +A920 +2FE0 +2920 +E860 +ENDCHAR +STARTCHAR U_63C8 +ENCODING 25544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +FA20 +2FE0 +2020 +37A0 +6020 +A7A0 +24A0 +27A0 +E0C0 +ENDCHAR +STARTCHAR U_63C9 +ENCODING 25545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2280 +FFE0 +2320 +2500 +3B00 +E100 +2FE0 +2380 +2540 +6920 +ENDCHAR +STARTCHAR U_63CA +ENCODING 25546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +F7C0 +2440 +27C0 +3000 +6FE0 +A920 +2FE0 +2920 +EFE0 +ENDCHAR +STARTCHAR U_63CB +ENCODING 25547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +F7C0 +2540 +27C0 +3000 +6FE0 +A520 +24C0 +2540 +E620 +ENDCHAR +STARTCHAR U_63CC +ENCODING 25548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +FFE0 +2920 +2FE0 +3820 +6200 +A540 +2CA0 +24A0 +E380 +ENDCHAR +STARTCHAR U_63CD +ENCODING 25549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27C0 +2200 +3FE0 +6B40 +A120 +2FE0 +2280 +EC60 +ENDCHAR +STARTCHAR U_63CE +ENCODING 25550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +2000 +2FE0 +3440 +67C0 +A440 +27C0 +2000 +EFE0 +ENDCHAR +STARTCHAR U_63CF +ENCODING 25551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2000 +27E0 +3520 +6520 +A7E0 +2520 +27E0 +E420 +ENDCHAR +STARTCHAR U_63D0 +ENCODING 25552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +27C0 +3000 +6FE0 +A500 +25E0 +2B00 +F1E0 +ENDCHAR +STARTCHAR U_63D1 +ENCODING 25553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +26E0 +F420 +26E0 +2420 +37E0 +6000 +A7E0 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_63D2 +ENCODING 25554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F100 +2FE0 +2100 +3560 +6920 +AD60 +2920 +2920 +EFE0 +ENDCHAR +STARTCHAR U_63D3 +ENCODING 25555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +45E0 +FE00 +5080 +5EE0 +77A0 +D6A0 +56E0 +5680 +5620 +ADE0 +ENDCHAR +STARTCHAR U_63D4 +ENCODING 25556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +FAA0 +26A0 +2520 +3AE0 +E000 +2240 +2D20 +3440 +63C0 +ENDCHAR +STARTCHAR U_63D5 +ENCODING 25557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +F240 +23C0 +2A40 +33C0 +E240 +2FE0 +2540 +2620 +67E0 +ENDCHAR +STARTCHAR U_63D6 +ENCODING 25558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2000 +2FE0 +3440 +67C0 +A440 +24E0 +2F40 +E040 +ENDCHAR +STARTCHAR U_63D7 +ENCODING 25559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2880 +FFE0 +2880 +2BE0 +3A20 +6BE0 +AA20 +2BE0 +2A20 +F3E0 +ENDCHAR +STARTCHAR U_63D8 +ENCODING 25560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F440 +27C0 +2440 +3FE0 +6100 +A7C0 +2100 +2100 +EFE0 +ENDCHAR +STARTCHAR U_63D9 +ENCODING 25561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +2FE0 +2800 +3FE0 +6AA0 +AFE0 +2AA0 +2AA0 +EA60 +ENDCHAR +STARTCHAR U_63DA +ENCODING 25562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2440 +2FE0 +3200 +67E0 +AAA0 +24A0 +2920 +E2C0 +ENDCHAR +STARTCHAR U_63DB +ENCODING 25563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +F480 +2FE0 +2AA0 +3AA0 +6C60 +A100 +2FE0 +2280 +EC60 +ENDCHAR +STARTCHAR U_63DC +ENCODING 25564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F7C0 +2820 +27C0 +3440 +67C0 +A280 +2FE0 +2480 +E880 +ENDCHAR +STARTCHAR U_63DD +ENCODING 25565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +26C0 +FAA0 +2A80 +2680 +39E0 +67C0 +A440 +27C0 +2440 +E7C0 +ENDCHAR +STARTCHAR U_63DE +ENCODING 25566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F440 +2280 +2FE0 +3000 +67C0 +A440 +27C0 +2440 +E7C0 +ENDCHAR +STARTCHAR U_63DF +ENCODING 25567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2120 +FDC0 +2700 +28E0 +37C0 +6440 +A7C0 +2440 +27C0 +E440 +ENDCHAR +STARTCHAR U_63E0 +ENCODING 25568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A40 +FBC0 +2A40 +2BC0 +3900 +6FE0 +AA40 +2980 +2A40 +EFE0 +ENDCHAR +STARTCHAR U_63E1 +ENCODING 25569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +F7E0 +2400 +27E0 +3540 +67E0 +A480 +27E0 +2880 +F7E0 +ENDCHAR +STARTCHAR U_63E2 +ENCODING 25570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA40 +23C0 +2640 +3980 +6240 +AFE0 +2440 +2440 +E7C0 +ENDCHAR +STARTCHAR U_63E3 +ENCODING 25571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2920 +FFE0 +2000 +2FE0 +3200 +6FE0 +AAA0 +2AA0 +2AA0 +E860 +ENDCHAR +STARTCHAR U_63E4 +ENCODING 25572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2EE0 +FAA0 +2EA0 +2AA0 +3EA0 +68A0 +AAA0 +2AE0 +2D80 +E880 +ENDCHAR +STARTCHAR U_63E5 +ENCODING 25573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F440 +2280 +2FE0 +3920 +67C0 +A540 +2540 +25C0 +E100 +ENDCHAR +STARTCHAR U_63E6 +ENCODING 25574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2FA0 +F220 +2FA0 +2AA0 +3FA0 +6620 +AB20 +2AA0 +2220 +E260 +ENDCHAR +STARTCHAR U_63E7 +ENCODING 25575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FEA0 +54A0 +7CA0 +5420 +9260 +3FC0 +0400 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_63E8 +ENCODING 25576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F000 +27C0 +2440 +3FE0 +6820 +A7C0 +2100 +2100 +E300 +ENDCHAR +STARTCHAR U_63E9 +ENCODING 25577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +24A0 +FFC0 +24A0 +2760 +3200 +67C0 +A440 +27C0 +2440 +E7C0 +ENDCHAR +STARTCHAR U_63EA +ENCODING 25578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2480 +F4A0 +2FC0 +2580 +3680 +6D80 +A480 +2540 +2620 +6420 +ENDCHAR +STARTCHAR U_63EB +ENCODING 25579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +22A0 +FCC0 +2980 +6640 +A420 +7FC0 +0400 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_63EC +ENCODING 25580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F840 +2480 +2A40 +3280 +6FC0 +A200 +2500 +2480 +F860 +ENDCHAR +STARTCHAR U_63ED +ENCODING 25581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2440 +27C0 +3400 +6FE0 +B920 +2AA0 +AFA0 +40C0 +ENDCHAR +STARTCHAR U_63EE +ENCODING 25582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +FFE0 +2540 +27C0 +3540 +67C0 +A100 +2FE0 +A100 +4100 +ENDCHAR +STARTCHAR U_63EF +ENCODING 25583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2480 +F500 +25E0 +2720 +35A0 +E560 +25A0 +2560 +2440 +E5E0 +ENDCHAR +STARTCHAR U_63F0 +ENCODING 25584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +2FE0 +27C0 +3540 +67C0 +A540 +2FE0 +2100 +EFE0 +ENDCHAR +STARTCHAR U_63F1 +ENCODING 25585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D620 +7D20 +4520 +7520 +5CE0 +4700 +0400 +3FC0 +0400 +7FE0 +0C00 +ENDCHAR +STARTCHAR U_63F2 +ENCODING 25586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +F540 +25C0 +2C00 +37E0 +6100 +AFE0 +2380 +2540 +E920 +ENDCHAR +STARTCHAR U_63F3 +ENCODING 25587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2EA0 +F4A0 +2EA0 +24A0 +3FA0 +6540 +AFE0 +2280 +2440 +E820 +ENDCHAR +STARTCHAR U_63F4 +ENCODING 25588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2520 +F2C0 +2FE0 +2100 +3FE0 +6200 +A3E0 +2540 +2880 +D360 +ENDCHAR +STARTCHAR U_63F5 +ENCODING 25589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +23E0 +F2A0 +27E0 +2C80 +35E0 +6480 +B7E0 +2880 +AC80 +53E0 +ENDCHAR +STARTCHAR U_63F6 +ENCODING 25590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2AA0 +FAA0 +2EA0 +2AC0 +3AA0 +6EA0 +AAA0 +2BA0 +BEC0 +4280 +ENDCHAR +STARTCHAR U_63F7 +ENCODING 25591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F00 +F100 +2FE0 +2100 +3D60 +E920 +2D60 +2920 +AFE0 +4100 +ENDCHAR +STARTCHAR U_63F8 +ENCODING 25592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F540 +2920 +27C0 +3440 +67C0 +A440 +27C0 +A000 +4FE0 +ENDCHAR +STARTCHAR U_63F9 +ENCODING 25593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +2EC0 +F2A0 +2EE0 +2000 +37C0 +6440 +A7C0 +2440 +A7C0 +44C0 +ENDCHAR +STARTCHAR U_63FA +ENCODING 25594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2700 +F020 +2520 +2540 +3FE0 +E100 +2FE0 +2100 +A920 +4FE0 +ENDCHAR +STARTCHAR U_63FB +ENCODING 25595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4140 +FFE0 +5080 +5FA0 +74A0 +DFA0 +55A0 +5640 +56C0 +EB20 +ENDCHAR +STARTCHAR U_63FC +ENCODING 25596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +4400 +EFC0 +5440 +4440 +67C0 +C120 +4D40 +4580 +4940 +D320 +ENDCHAR +STARTCHAR U_63FD +ENCODING 25597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2AE0 +FB40 +2A20 +2000 +37C0 +6540 +A540 +2540 +22A0 +ECE0 +ENDCHAR +STARTCHAR U_63FE +ENCODING 25598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F80 +4880 +EF80 +4880 +4F80 +6000 +5FC0 +D540 +5540 +5540 +FFE0 +ENDCHAR +STARTCHAR U_63FF +ENCODING 25599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2E80 +F0E0 +2E20 +2440 +3F40 +6440 +A540 +2640 +ACA0 +4120 +ENDCHAR +STARTCHAR U_6400 +ENCODING 25600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +F880 +2FC0 +2A40 +3FC0 +E4A0 +2B60 +3080 +A600 +4180 +ENDCHAR +STARTCHAR U_6401 +ENCODING 25601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +4420 +F7E0 +54A0 +5320 +54A0 +FFE0 +54A0 +54A0 +57A0 +D060 +ENDCHAR +STARTCHAR U_6402 +ENCODING 25602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FFE0 +2540 +2920 +3100 +6FE0 +A240 +2680 +A180 +4E60 +ENDCHAR +STARTCHAR U_6403 +ENCODING 25603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +F7E0 +2420 +3420 +27E0 +6000 +A240 +3520 +B4A0 +43C0 +ENDCHAR +STARTCHAR U_6404 +ENCODING 25604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +4FE0 +E800 +5FC0 +5A40 +6BC0 +CA40 +4A40 +4BC0 +4800 +CFE0 +ENDCHAR +STARTCHAR U_6405 +ENCODING 25605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A20 +2540 +FFE0 +2820 +2FC0 +3440 +E540 +2540 +2300 +2520 +69E0 +ENDCHAR +STARTCHAR U_6406 +ENCODING 25606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2FE0 +2280 +3FE0 +6540 +A7C0 +2540 +2FE0 +E4C0 +ENDCHAR +STARTCHAR U_6407 +ENCODING 25607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +5CE0 +E200 +4FC0 +4080 +6300 +DFE0 +4200 +4D40 +5480 +C660 +ENDCHAR +STARTCHAR U_6408 +ENCODING 25608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F840 +2480 +2640 +3B00 +6480 +AFE0 +2440 +2440 +E7C0 +ENDCHAR +STARTCHAR U_6409 +ENCODING 25609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA20 +2480 +2FE0 +3480 +E7E0 +2480 +27E0 +2480 +67E0 +ENDCHAR +STARTCHAR U_640A +ENCODING 25610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2FE0 +F520 +27E0 +2240 +37E0 +6860 +A560 +27E0 +2220 +ECC0 +ENDCHAR +STARTCHAR U_640B +ENCODING 25611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +28E0 +F880 +2BE0 +2AA0 +3BC0 +6AA0 +ABE0 +2A40 +AA40 +5460 +ENDCHAR +STARTCHAR U_640C +ENCODING 25612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +F7E0 +2540 +27E0 +3540 +67E0 +A6A0 +2A40 +AB40 +5220 +ENDCHAR +STARTCHAR U_640D +ENCODING 25613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2000 +27E0 +3420 +67E0 +A420 +27E0 +A280 +4C60 +ENDCHAR +STARTCHAR U_640E +ENCODING 25614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F40 +2280 +F540 +24A0 +2DC0 +34A0 +EFE0 +3480 +25C0 +B6A0 +4DA0 +ENDCHAR +STARTCHAR U_640F +ENCODING 25615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2FE0 +F540 +27C0 +2D40 +37C0 +E540 +3FE0 +2480 +2280 +6180 +ENDCHAR +STARTCHAR U_6410 +ENCODING 25616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2140 +27E0 +3000 +E7E0 +2520 +27E0 +2520 +67E0 +ENDCHAR +STARTCHAR U_6411 +ENCODING 25617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2FE0 +2440 +37C0 +6440 +A7C0 +2460 +2FC0 +E040 +ENDCHAR +STARTCHAR U_6412 +ENCODING 25618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F280 +2FE0 +2920 +3FE0 +6200 +A3E0 +2220 +24A0 +F840 +ENDCHAR +STARTCHAR U_6413 +ENCODING 25619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +2100 +27C0 +3100 +6FE0 +A400 +2FC0 +2100 +EFE0 +ENDCHAR +STARTCHAR U_6414 +ENCODING 25620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2520 +FA40 +2180 +2E60 +3100 +67E0 +A520 +27E0 +2140 +EFA0 +ENDCHAR +STARTCHAR U_6415 +ENCODING 25621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +2FE0 +2200 +3440 +6FA0 +A000 +2FE0 +2AA0 +FFE0 +ENDCHAR +STARTCHAR U_6416 +ENCODING 25622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +F540 +2A80 +2300 +3FC0 +E500 +2FE0 +3100 +2920 +6FE0 +ENDCHAR +STARTCHAR U_6417 +ENCODING 25623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +FC40 +27C0 +2C40 +37E0 +6400 +A7E0 +2AA0 +2FA0 +E0C0 +ENDCHAR +STARTCHAR U_6418 +ENCODING 25624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27A0 +2140 +FFE0 +2240 +27A0 +3A20 +67E0 +A420 +27E0 +2420 +E7E0 +ENDCHAR +STARTCHAR U_6419 +ENCODING 25625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +FFE0 +2B40 +2A80 +3B60 +6880 +AFE0 +2A80 +2880 +F180 +ENDCHAR +STARTCHAR U_641A +ENCODING 25626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +FFE0 +24A0 +2920 +37E0 +6420 +A7E0 +2420 +27E0 +E460 +ENDCHAR +STARTCHAR U_641B +ENCODING 25627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2FE0 +F500 +2FC0 +2540 +3FE0 +6540 +AFC0 +2580 +2D40 +F520 +ENDCHAR +STARTCHAR U_641C +ENCODING 25628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2D60 +F920 +2D60 +2920 +3FE0 +6100 +AFC0 +2480 +2300 +ECE0 +ENDCHAR +STARTCHAR U_641D +ENCODING 25629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +F840 +2FC0 +2840 +3FC0 +6280 +AFE0 +2200 +2580 +F860 +ENDCHAR +STARTCHAR U_641E +ENCODING 25630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F440 +27C0 +2000 +3FE0 +6820 +ABA0 +2AA0 +2BA0 +E860 +ENDCHAR +STARTCHAR U_641F +ENCODING 25631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +5F40 +E440 +5F40 +55E0 +7F40 +D540 +5F40 +4440 +5F40 +C440 +ENDCHAR +STARTCHAR U_6420 +ENCODING 25632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AE0 +24A0 +FFA0 +22E0 +2AA0 +3AA0 +6FE0 +A2A0 +22A0 +2520 +EA60 +ENDCHAR +STARTCHAR U_6421 +ENCODING 25633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2240 +F7E0 +2AA0 +2440 +3AA0 +6120 +AFE0 +2580 +2940 +F120 +ENDCHAR +STARTCHAR U_6422 +ENCODING 25634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FAA0 +26C0 +2280 +3FE0 +6440 +A7C0 +2440 +2440 +E7C0 +ENDCHAR +STARTCHAR U_6423 +ENCODING 25635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +FFE0 +2880 +2F80 +3AA0 +6BA0 +AEC0 +2BA0 +2AE0 +F520 +ENDCHAR +STARTCHAR U_6424 +ENCODING 25636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +F000 +2FE0 +2280 +3440 +6FE0 +A540 +2540 +2540 +FFE0 +ENDCHAR +STARTCHAR U_6425 +ENCODING 25637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +25E0 +F520 +21E0 +2100 +3DE0 +6520 +A5E0 +2520 +2A00 +F1E0 +ENDCHAR +STARTCHAR U_6426 +ENCODING 25638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2220 +FEE0 +2880 +2EE0 +3220 +EAA0 +2660 +3BA0 +A220 +6CC0 +ENDCHAR +STARTCHAR U_6427 +ENCODING 25639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +2FE0 +2800 +3FE0 +6920 +ADA0 +2B60 +2DA0 +F360 +ENDCHAR +STARTCHAR U_6428 +ENCODING 25640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +27C0 +3000 +6FE0 +AAA0 +2660 +2BA0 +E660 +ENDCHAR +STARTCHAR U_6429 +ENCODING 25641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +27E0 +F940 +2FE0 +2240 +3D40 +6FE0 +A380 +2540 +2960 +E100 +ENDCHAR +STARTCHAR U_642A +ENCODING 25642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F900 +2FC0 +2940 +3FE0 +6940 +AFC0 +2A40 +2A40 +F3C0 +ENDCHAR +STARTCHAR U_642B +ENCODING 25643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +AA60 +FFC0 +AA40 +8980 +3F40 +0400 +7FC0 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_642C +ENCODING 25644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +5DC0 +F540 +5D40 +5560 +7E00 +55C0 +DD40 +5480 +5540 +EE20 +ENDCHAR +STARTCHAR U_642D +ENCODING 25645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2100 +2280 +3440 +EBA0 +2000 +27C0 +A440 +47C0 +ENDCHAR +STARTCHAR U_642E +ENCODING 25646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2AA0 +2FE0 +3100 +6FE0 +A100 +2380 +2560 +F920 +ENDCHAR +STARTCHAR U_642F +ENCODING 25647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2720 +F520 +22C0 +2200 +3CE0 +6820 +AEE0 +2820 +2FE0 +E820 +ENDCHAR +STARTCHAR U_6430 +ENCODING 25648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F740 +2FE0 +2820 +37C0 +6440 +A7C0 +2440 +27C0 +E440 +ENDCHAR +STARTCHAR U_6431 +ENCODING 25649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +F7E0 +2480 +27E0 +3540 +67E0 +A480 +2BE0 +2880 +F080 +ENDCHAR +STARTCHAR U_6432 +ENCODING 25650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +FAC0 +2440 +29E0 +3E80 +6A80 +AA80 +2A40 +2BA0 +F2A0 +ENDCHAR +STARTCHAR U_6433 +ENCODING 25651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F920 +27C0 +2100 +37C0 +6100 +AFE0 +2440 +27C0 +E440 +ENDCHAR +STARTCHAR U_6434 +ENCODING 25652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4920 +1FC0 +0900 +FFE0 +2240 +DFA0 +0200 +3FE0 +0200 +ENDCHAR +STARTCHAR U_6435 +ENCODING 25653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FEC0 +2440 +2FC0 +3000 +EFE0 +2AA0 +2AA0 +2AA0 +6FE0 +ENDCHAR +STARTCHAR U_6436 +ENCODING 25654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F540 +28A0 +27C0 +3440 +67C0 +A440 +27E0 +2A20 +EBE0 +ENDCHAR +STARTCHAR U_6437 +ENCODING 25655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27C0 +2440 +3740 +65C0 +A440 +2FE0 +2280 +EC60 +ENDCHAR +STARTCHAR U_6438 +ENCODING 25656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4FE0 +E200 +5FE0 +4480 +6F40 +D220 +4FC0 +4680 +4A40 +D220 +ENDCHAR +STARTCHAR U_6439 +ENCODING 25657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2440 +F7C0 +2000 +2FE0 +3AA0 +6920 +AFE0 +2920 +2920 +E860 +ENDCHAR +STARTCHAR U_643A +ENCODING 25658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F480 +27E0 +2480 +37E0 +6480 +AFE0 +2240 +2420 +E8E0 +ENDCHAR +STARTCHAR U_643B +ENCODING 25659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1B00 +6EC0 +0000 +3F80 +2080 +3F80 +FBE0 +2080 +FBE0 +2080 +ENDCHAR +STARTCHAR U_643C +ENCODING 25660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +F100 +2FE0 +2440 +3BA0 +6120 +A7C0 +2100 +2FE0 +E100 +ENDCHAR +STARTCHAR U_643D +ENCODING 25661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2380 +2440 +3920 +67C0 +A100 +2540 +2920 +F320 +ENDCHAR +STARTCHAR U_643E +ENCODING 25662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +2440 +2200 +37E0 +6A00 +A3C0 +2200 +23E0 +E200 +ENDCHAR +STARTCHAR U_643F +ENCODING 25663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +12E0 +E640 +2940 +2FE0 +7040 +2F40 +29E0 +F940 +2F40 +4940 +80C0 +ENDCHAR +STARTCHAR U_6440 +ENCODING 25664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +F440 +27C0 +2400 +37E0 +6400 +A7E0 +2520 +2AA0 +EAC0 +ENDCHAR +STARTCHAR U_6441 +ENCODING 25665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +FFE0 +2520 +2EA0 +37E0 +6100 +A2C0 +2A20 +2A60 +F1C0 +ENDCHAR +STARTCHAR U_6442 +ENCODING 25666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2240 +FBC0 +2240 +2FE0 +3040 +6820 +A6C0 +2000 +26C0 +E820 +ENDCHAR +STARTCHAR U_6443 +ENCODING 25667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2440 +27C0 +3440 +67C0 +A440 +27C0 +2280 +EC60 +ENDCHAR +STARTCHAR U_6444 +ENCODING 25668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2240 +FBC0 +2240 +2BC0 +3240 +6FE0 +AAA0 +2440 +2AA0 +F120 +ENDCHAR +STARTCHAR U_6445 +ENCODING 25669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2100 +FFE0 +2920 +29C0 +3F20 +69E0 +AB40 +2AA0 +2E40 +F1C0 +ENDCHAR +STARTCHAR U_6446 +ENCODING 25670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FAA0 +2FE0 +2100 +37C0 +6100 +AFE0 +2200 +2440 +EFE0 +ENDCHAR +STARTCHAR U_6447 +ENCODING 25671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F20 +FA20 +2540 +27C0 +3900 +6FE0 +A100 +2920 +2FE0 +E820 +ENDCHAR +STARTCHAR U_6448 +ENCODING 25672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +2780 +2400 +37C0 +6480 +AFE0 +2280 +2440 +E820 +ENDCHAR +STARTCHAR U_6449 +ENCODING 25673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +5FE0 +F020 +4480 +5A60 +6300 +DCE0 +4200 +5FC0 +4480 +CF00 +ENDCHAR +STARTCHAR U_644A +ENCODING 25674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2E40 +F3E0 +2B40 +25E0 +3540 +6540 +ABE0 +3340 +2140 +E1E0 +ENDCHAR +STARTCHAR U_644B +ENCODING 25675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +55C0 +4940 +F540 +4A60 +49C0 +7E40 +C940 +5D40 +6A80 +4940 +CA20 +ENDCHAR +STARTCHAR U_644C +ENCODING 25676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2FE0 +2A80 +3BC0 +EC80 +2BC0 +2880 +A880 +57E0 +ENDCHAR +STARTCHAR U_644D +ENCODING 25677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +27E0 +2480 +3DE0 +6520 +A5E0 +2520 +25E0 +E520 +ENDCHAR +STARTCHAR U_644E +ENCODING 25678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +F660 +2AA0 +2300 +3480 +6A60 +A500 +2240 +2480 +E300 +ENDCHAR +STARTCHAR U_644F +ENCODING 25679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +5FE0 +E200 +4FC0 +4200 +7FE0 +D5C0 +68A0 +4D80 +4880 +CF80 +ENDCHAR +STARTCHAR U_6450 +ENCODING 25680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2540 +F940 +22A0 +2CA0 +3880 +6A80 +AAE0 +2A80 +2D80 +E8E0 +ENDCHAR +STARTCHAR U_6451 +ENCODING 25681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5160 +FFE0 +5120 +5D60 +75A0 +DD20 +52A0 +5C60 +D020 +5FE0 +ENDCHAR +STARTCHAR U_6452 +ENCODING 25682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FFE0 +2540 +2480 +37E0 +6540 +A7E0 +2540 +2540 +EA40 +ENDCHAR +STARTCHAR U_6453 +ENCODING 25683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +27E0 +F540 +2080 +2F60 +3480 +67E0 +A480 +27E0 +2A80 +F1E0 +ENDCHAR +STARTCHAR U_6454 +ENCODING 25684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2920 +2540 +37A0 +6940 +A100 +2FE0 +2100 +E100 +ENDCHAR +STARTCHAR U_6455 +ENCODING 25685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +7FE0 +5540 +F760 +4000 +7FE0 +D220 +4FC0 +4A40 +4AC0 +C200 +ENDCHAR +STARTCHAR U_6456 +ENCODING 25686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48E0 +5E20 +F2C0 +4C40 +4BA0 +7000 +C7C0 +4100 +4540 +4920 +C300 +ENDCHAR +STARTCHAR U_6457 +ENCODING 25687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5F80 +E4E0 +5F20 +5500 +7F40 +C440 +4E40 +5540 +64A0 +C520 +ENDCHAR +STARTCHAR U_6458 +ENCODING 25688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2FE0 +2920 +3FE0 +E920 +2BA0 +2AA0 +2BA0 +6860 +ENDCHAR +STARTCHAR U_6459 +ENCODING 25689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +2480 +F3E0 +22A0 +23E0 +3AA0 +6BE0 +A880 +2BE0 +2C80 +F3E0 +ENDCHAR +STARTCHAR U_645A +ENCODING 25690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +FFE0 +2820 +27C0 +3440 +E7C0 +2100 +27C0 +A100 +4FE0 +ENDCHAR +STARTCHAR U_645B +ENCODING 25691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F540 +26C0 +2540 +37C0 +E100 +2FE0 +2AA0 +ABA0 +6860 +ENDCHAR +STARTCHAR U_645C +ENCODING 25692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FFE0 +2540 +27C0 +3C40 +E7C0 +2440 +27C0 +2440 +6820 +ENDCHAR +STARTCHAR U_645D +ENCODING 25693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA80 +2FE0 +2AA0 +3FE0 +E880 +2CA0 +2FC0 +B4A0 +66E0 +ENDCHAR +STARTCHAR U_645E +ENCODING 25694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +FFE0 +2920 +2FE0 +3240 +E780 +2240 +2FE0 +A540 +7B20 +ENDCHAR +STARTCHAR U_645F +ENCODING 25695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F540 +2FE0 +2540 +3FE0 +E920 +2FE0 +2440 +2380 +6C60 +ENDCHAR +STARTCHAR U_6460 +ENCODING 25696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +FA40 +2AC0 +2D40 +3AC0 +EFC0 +2540 +24A0 +AC60 +73C0 +ENDCHAR +STARTCHAR U_6461 +ENCODING 25697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2940 +F940 +2F40 +29E0 +3F40 +E840 +2A40 +2EC0 +A940 +4260 +ENDCHAR +STARTCHAR U_6462 +ENCODING 25698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +4200 +FFE0 +5220 +5FC0 +7220 +DFE0 +5540 +5FE0 +5100 +A300 +ENDCHAR +STARTCHAR U_6463 +ENCODING 25699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +4200 +FFE0 +5240 +5F80 +7220 +D7E0 +5440 +57C0 +5440 +AFE0 +ENDCHAR +STARTCHAR U_6464 +ENCODING 25700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +2BA0 +2540 +3BA0 +EBA0 +2540 +2BA0 +A280 +4C60 +ENDCHAR +STARTCHAR U_6465 +ENCODING 25701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +FC40 +27C0 +2440 +3FE0 +2400 +EFE0 +34A0 +A920 +66C0 +ENDCHAR +STARTCHAR U_6466 +ENCODING 25702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +4AA0 +F6A0 +5EA0 +62A0 +7EA0 +D2A0 +5EA0 +42A0 +52E0 +CDA0 +ENDCHAR +STARTCHAR U_6467 +ENCODING 25703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24A0 +24A0 +F7E0 +2280 +37E0 +2C80 +F7C0 +2480 +27C0 +A480 +67E0 +ENDCHAR +STARTCHAR U_6468 +ENCODING 25704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FFE0 +2AA0 +29C0 +3EA0 +EA80 +2BC0 +2C80 +ABE0 +7080 +ENDCHAR +STARTCHAR U_6469 +ENCODING 25705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +5DC0 +6AA0 +5FC0 +4200 +7FE0 +4200 +8E00 +ENDCHAR +STARTCHAR U_646A +ENCODING 25706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +55E0 +F720 +5CC0 +6480 +C540 +7FE0 +5440 +5540 +5440 +A4C0 +ENDCHAR +STARTCHAR U_646B +ENCODING 25707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2520 +FFE0 +2520 +25E0 +2F20 +E5E0 +2440 +2AC0 +B140 +6660 +ENDCHAR +STARTCHAR U_646C +ENCODING 25708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F280 +2FE0 +2440 +37C0 +E440 +27C0 +22A0 +A4A0 +6860 +ENDCHAR +STARTCHAR U_646D +ENCODING 25709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2540 +2FE0 +3540 +E540 +25C0 +2400 +2AA0 +6AA0 +ENDCHAR +STARTCHAR U_646E +ENCODING 25710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7DE0 +1140 +FC80 +2760 +4400 +7FC0 +0400 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_646F +ENCODING 25711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FF80 +2280 +FEA0 +53A0 +FEE0 +0400 +7F80 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_6470 +ENCODING 25712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +5940 +B7C0 +1120 +7FA0 +0400 +7FC0 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_6471 +ENCODING 25713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2440 +2FE0 +3AA0 +EFE0 +2440 +2280 +A100 +4EE0 +ENDCHAR +STARTCHAR U_6472 +ENCODING 25714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2FC0 +F280 +2F80 +2AE0 +3FA0 +EAA0 +2FA0 +22A0 +AFA0 +6220 +ENDCHAR +STARTCHAR U_6473 +ENCODING 25715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +FBC0 +2A40 +2BC0 +3800 +EEE0 +2AA0 +2EE0 +A800 +6FE0 +ENDCHAR +STARTCHAR U_6474 +ENCODING 25716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +2920 +2AA0 +37C0 +E000 +2FE0 +2040 +A240 +6180 +ENDCHAR +STARTCHAR U_6475 +ENCODING 25717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +FFE0 +2A80 +2B80 +3A80 +EFA0 +2A40 +2F40 +AAA0 +7720 +ENDCHAR +STARTCHAR U_6476 +ENCODING 25718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F540 +27C0 +2540 +3FC0 +E120 +2FE0 +2480 +2280 +6100 +ENDCHAR +STARTCHAR U_6477 +ENCODING 25719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2A80 +F540 +27C0 +2540 +37C0 +E540 +2FE0 +2580 +2940 +7120 +ENDCHAR +STARTCHAR U_6478 +ENCODING 25720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +27C0 +2440 +37C0 +E440 +3FE0 +2100 +A280 +6C60 +ENDCHAR +STARTCHAR U_6479 +ENCODING 25721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +2080 +3F80 +2080 +FFE0 +2440 +DFA0 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_647A +ENCODING 25722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +F660 +2AA0 +2320 +3100 +E7E0 +2420 +27E0 +2420 +67E0 +ENDCHAR +STARTCHAR U_647B +ENCODING 25723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +F7E0 +2AA0 +2F60 +3280 +E560 +2A80 +2120 +20C0 +6700 +ENDCHAR +STARTCHAR U_647C +ENCODING 25724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F00 +2AE0 +FF20 +29A0 +2F40 +3A40 +EFA0 +2100 +27C0 +2100 +6FE0 +ENDCHAR +STARTCHAR U_647D +ENCODING 25725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2AA0 +2FE0 +3000 +E7C0 +2000 +2FE0 +A540 +7B20 +ENDCHAR +STARTCHAR U_647E +ENCODING 25726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +5DE0 +E520 +45E0 +5C80 +73E0 +DEA0 +47E0 +4480 +54A0 +CBE0 +ENDCHAR +STARTCHAR U_647F +ENCODING 25727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F540 +2FE0 +2440 +3280 +EFE0 +2440 +27C0 +A440 +67C0 +ENDCHAR +STARTCHAR U_6480 +ENCODING 25728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FD40 +1220 +7DC0 +5540 +7C80 +8160 +3FC0 +0400 +7FE0 +0400 +ENDCHAR +STARTCHAR U_6481 +ENCODING 25729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2FE0 +3AA0 +67C0 +A500 +27C0 +2900 +3FE0 +6100 +ENDCHAR +STARTCHAR U_6482 +ENCODING 25730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +F7C0 +2540 +27E0 +3C40 +E380 +2440 +2FE0 +2440 +E7C0 +ENDCHAR +STARTCHAR U_6483 +ENCODING 25731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FD40 +5620 +7FE0 +5540 +FE80 +1160 +7FC0 +0400 +7FC0 +0400 +ENDCHAR +STARTCHAR U_6484 +ENCODING 25732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FAA0 +2AA0 +2AA0 +3540 +E920 +2FE0 +2480 +A380 +6E60 +ENDCHAR +STARTCHAR U_6485 +ENCODING 25733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2D80 +FA80 +2FE0 +2A20 +3AC0 +EAC0 +2FC0 +2A40 +34A0 +E920 +ENDCHAR +STARTCHAR U_6486 +ENCODING 25734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9500 +59E0 +FF20 +B4C0 +DCC0 +9520 +3F80 +0400 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_6487 +ENCODING 25735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5580 +4E80 +E4E0 +5F20 +5520 +75A0 +DFA0 +55A0 +5540 +55A0 +D320 +ENDCHAR +STARTCHAR U_6488 +ENCODING 25736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2FE0 +FA40 +2540 +28A0 +3FE0 +E920 +27C0 +2240 +2440 +68C0 +ENDCHAR +STARTCHAR U_6489 +ENCODING 25737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +4BE0 +FD40 +1140 +F880 +1F60 +1400 +7FC0 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_648A +ENCODING 25738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +52A0 +FEE0 +52A0 +5EE0 +77A0 +D4A0 +57A0 +54A0 +57A0 +D4E0 +ENDCHAR +STARTCHAR U_648B +ENCODING 25739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +2EE0 +3BA0 +E920 +2BA0 +2920 +ABA0 +4860 +ENDCHAR +STARTCHAR U_648C +ENCODING 25740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F540 +2FE0 +2440 +37C0 +E440 +27C0 +2440 +27C0 +6C60 +ENDCHAR +STARTCHAR U_648D +ENCODING 25741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +4A40 +EFE0 +46C0 +6B60 +5000 +CFC0 +4840 +4FC0 +C840 +4FC0 +ENDCHAR +STARTCHAR U_648E +ENCODING 25742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +2FE0 +2820 +3FE0 +E440 +27C0 +2440 +2280 +6FE0 +ENDCHAR +STARTCHAR U_648F +ENCODING 25743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2040 +FFC0 +2040 +2FE0 +32A0 +EFE0 +2040 +3FE0 +A840 +65C0 +ENDCHAR +STARTCHAR U_6490 +ENCODING 25744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +F4A0 +27A0 +2000 +3FE0 +E480 +2FE0 +2280 +A480 +6980 +ENDCHAR +STARTCHAR U_6491 +ENCODING 25745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +F820 +2380 +3280 +67C0 +A100 +27C0 +2100 +2FE0 +6100 +ENDCHAR +STARTCHAR U_6492 +ENCODING 25746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +3F80 +EAE0 +3FA0 +2AA0 +6EA0 +AAA0 +2EA0 +2A40 +AAA0 +6F20 +ENDCHAR +STARTCHAR U_6493 +ENCODING 25747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +2FE0 +2440 +3EE0 +E440 +2FE0 +2280 +A4A0 +7860 +ENDCHAR +STARTCHAR U_6494 +ENCODING 25748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +F440 +2FE0 +2440 +37C0 +E100 +2540 +2920 +6300 +ENDCHAR +STARTCHAR U_6495 +ENCODING 25749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A20 +2AC0 +FF80 +2A80 +3EE0 +6AA0 +BEA0 +2AA0 +3FA0 +2AA0 +7120 +ENDCHAR +STARTCHAR U_6496 +ENCODING 25750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +24E0 +FFA0 +2AA0 +3FA0 +2AA0 +6EA0 +ABA0 +2E40 +BAA0 +6320 +ENDCHAR +STARTCHAR U_6497 +ENCODING 25751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2FE0 +2100 +37C0 +E540 +27C0 +2540 +27C0 +6C60 +ENDCHAR +STARTCHAR U_6498 +ENCODING 25752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +26E0 +FA40 +2120 +2280 +3440 +EBA0 +2000 +27C0 +A440 +67C0 +ENDCHAR +STARTCHAR U_6499 +ENCODING 25753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +2940 +2EC0 +3840 +EFC0 +2840 +3FE0 +A880 +6580 +ENDCHAR +STARTCHAR U_649A +ENCODING 25754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +26C0 +FAA0 +2FE0 +2A80 +3540 +E540 +2A20 +2540 +AAA0 +6AA0 +ENDCHAR +STARTCHAR U_649B +ENCODING 25755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +4680 +FFE0 +4680 +5A60 +6840 +CDE0 +5540 +4DE0 +4840 +D040 +ENDCHAR +STARTCHAR U_649C +ENCODING 25756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E40 +2BA0 +F6C0 +2440 +2BA0 +3000 +E7C0 +2440 +27C0 +A280 +6FE0 +ENDCHAR +STARTCHAR U_649D +ENCODING 25757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F40 +F540 +2780 +2480 +37C0 +E440 +2FE0 +3520 +2AA0 +6040 +ENDCHAR +STARTCHAR U_649E +ENCODING 25758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2100 +2FE0 +3540 +E7C0 +2540 +2FE0 +2100 +EFE0 +ENDCHAR +STARTCHAR U_649F +ENCODING 25759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2440 +2BA0 +3280 +EFE0 +2AA0 +2BA0 +2820 +6860 +ENDCHAR +STARTCHAR U_64A0 +ENCODING 25760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FC0 +F4A0 +2EE0 +2B80 +3EA0 +EAA0 +2EC0 +24A0 +3F60 +6420 +ENDCHAR +STARTCHAR U_64A1 +ENCODING 25761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +47C0 +F440 +5AA0 +6FE0 +4480 +C960 +5100 +45A0 +4940 +C300 +ENDCHAR +STARTCHAR U_64A2 +ENCODING 25762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2AA0 +2FE0 +3440 +E7C0 +2440 +2FE0 +2100 +6100 +ENDCHAR +STARTCHAR U_64A3 +ENCODING 25763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FFE0 +2540 +27C0 +3540 +E7C0 +2100 +2FE0 +2100 +6100 +ENDCHAR +STARTCHAR U_64A4 +ENCODING 25764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5F80 +EAE0 +5DA0 +52A0 +5EA0 +D2A0 +5EA0 +5240 +52A0 +D720 +ENDCHAR +STARTCHAR U_64A5 +ENCODING 25765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +2AA0 +F440 +2FE0 +2340 +3E20 +E9E0 +2EA0 +22A0 +B2C0 +6D20 +ENDCHAR +STARTCHAR U_64A6 +ENCODING 25766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F240 +2520 +2FA0 +3140 +EFE0 +2440 +2FC0 +A440 +67C0 +ENDCHAR +STARTCHAR U_64A7 +ENCODING 25767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +49C0 +F240 +5FE0 +6AA0 +52A0 +DFE0 +4200 +6A20 +5620 +C1E0 +ENDCHAR +STARTCHAR U_64A8 +ENCODING 25768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +4480 +F7E0 +4900 +7FE0 +4900 +CFE0 +4900 +4FE0 +4D40 +D2A0 +ENDCHAR +STARTCHAR U_64A9 +ENCODING 25769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +27C0 +2C60 +37C0 +E440 +27C0 +2580 +A960 +7320 +ENDCHAR +STARTCHAR U_64AA +ENCODING 25770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +47C0 +F100 +4FE0 +5540 +6FE0 +C540 +47C0 +4540 +4FE0 +C100 +ENDCHAR +STARTCHAR U_64AB +ENCODING 25771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +FD40 +2540 +2FE0 +3540 +E540 +2FE0 +2540 +AAA0 +6AA0 +ENDCHAR +STARTCHAR U_64AC +ENCODING 25772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2700 +F1C0 +2F20 +24E0 +3880 +EDC0 +2880 +3FC0 +A8A0 +6EE0 +ENDCHAR +STARTCHAR U_64AD +ENCODING 25773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F00 +F540 +2FE0 +2540 +3920 +EFE0 +2920 +2FE0 +2920 +6FE0 +ENDCHAR +STARTCHAR U_64AE +ENCODING 25774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2440 +3FE0 +2A00 +EBE0 +2EA0 +2AA0 +3E40 +E3A0 +ENDCHAR +STARTCHAR U_64AF +ENCODING 25775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4FE0 +F200 +47C0 +4200 +7FE0 +C400 +4FC0 +5540 +E6C0 +47C0 +ENDCHAR +STARTCHAR U_64B0 +ENCODING 25776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2880 +2EE0 +3280 +EFE0 +2280 +2FE0 +2280 +6C60 +ENDCHAR +STARTCHAR U_64B1 +ENCODING 25777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2BE0 +FB00 +2DE0 +2A80 +3BE0 +EB20 +2FE0 +2920 +A9E0 +6960 +ENDCHAR +STARTCHAR U_64B2 +ENCODING 25778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +26C0 +FFE0 +2280 +2FE0 +3100 +E7C0 +2100 +2FE0 +A280 +6C60 +ENDCHAR +STARTCHAR U_64B3 +ENCODING 25779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2A80 +F1E0 +2F20 +2480 +3F80 +6480 +B580 +2EC0 +A520 +7E20 +ENDCHAR +STARTCHAR U_64B4 +ENCODING 25780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +5E80 +E080 +5DE0 +5540 +7E40 +C540 +4880 +7C80 +4940 +DA20 +ENDCHAR +STARTCHAR U_64B5 +ENCODING 25781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2440 +FEE0 +2440 +3AA0 +2FE0 +E500 +27C0 +2100 +AFE0 +6100 +ENDCHAR +STARTCHAR U_64B6 +ENCODING 25782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2FE0 +3540 +6FE0 +A540 +2FE0 +2100 +2FE0 +6100 +ENDCHAR +STARTCHAR U_64B7 +ENCODING 25783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +3C80 +EBE0 +3E20 +22A0 +3EA0 +EAA0 +2AA0 +2EA0 +A140 +6220 +ENDCHAR +STARTCHAR U_64B8 +ENCODING 25784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2480 +FFC0 +2540 +37C0 +2D40 +EFE0 +2440 +27C0 +A440 +67C0 +ENDCHAR +STARTCHAR U_64B9 +ENCODING 25785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +4580 +FFE0 +5040 +4F80 +6A80 +CD80 +4A80 +4F80 +4520 +D8E0 +ENDCHAR +STARTCHAR U_64BA +ENCODING 25786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +2540 +2FE0 +3540 +EFE0 +2920 +2FE0 +A920 +6100 +ENDCHAR +STARTCHAR U_64BB +ENCODING 25787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +2480 +F3E0 +2140 +23E0 +3C80 +E7E0 +2480 +27E0 +AC80 +73E0 +ENDCHAR +STARTCHAR U_64BC +ENCODING 25788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40A0 +4FE0 +E880 +4EA0 +48C0 +6EA0 +CB60 +5620 +4D40 +54A0 +D3A0 +ENDCHAR +STARTCHAR U_64BD +ENCODING 25789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2E80 +FBE0 +2EA0 +3AA0 +EEA0 +24A0 +3FA0 +2A40 +AAA0 +7720 +ENDCHAR +STARTCHAR U_64BE +ENCODING 25790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BC0 +2640 +F340 +22C0 +3FE0 +E820 +2BA0 +2AA0 +2BE0 +AC00 +73E0 +ENDCHAR +STARTCHAR U_64BF +ENCODING 25791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F440 +2BA0 +2000 +3EE0 +EAA0 +2EE0 +2440 +AAA0 +5120 +ENDCHAR +STARTCHAR U_64C0 +ENCODING 25792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2F40 +F2A0 +2F00 +29E0 +3F40 +E940 +2FE0 +2240 +AFC0 +6240 +ENDCHAR +STARTCHAR U_64C1 +ENCODING 25793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F540 +25E0 +2B40 +3DE0 +6B40 +BDE0 +2540 +2940 +71E0 +ENDCHAR +STARTCHAR U_64C2 +ENCODING 25794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +2920 +2BA0 +3540 +EFE0 +2920 +2FE0 +2920 +CFE0 +ENDCHAR +STARTCHAR U_64C3 +ENCODING 25795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +FAA0 +2FE0 +2AA0 +3FE0 +E800 +2FE0 +2CA0 +B540 +6620 +ENDCHAR +STARTCHAR U_64C4 +ENCODING 25796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2200 +FFE0 +2A20 +2FE0 +3AA0 +EBE0 +2AA0 +37E0 +A220 +6CC0 +ENDCHAR +STARTCHAR U_64C5 +ENCODING 25797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +2BA0 +2820 +3FE0 +E440 +27C0 +2440 +A440 +6FE0 +ENDCHAR +STARTCHAR U_64C6 +ENCODING 25798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F540 +2FE0 +3180 +6FE0 +A200 +27C0 +3D40 +2540 +67C0 +ENDCHAR +STARTCHAR U_64C7 +ENCODING 25799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FFE0 +2100 +2FE0 +3280 +E7C0 +2100 +2FE0 +A100 +6100 +ENDCHAR +STARTCHAR U_64C8 +ENCODING 25800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +26C0 +FFE0 +2280 +37C0 +6100 +A7C0 +2100 +2FE0 +A380 +4D60 +ENDCHAR +STARTCHAR U_64C9 +ENCODING 25801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FFE0 +2400 +2FE0 +3A20 +EFA0 +2AA0 +2FA0 +A2A0 +6F40 +ENDCHAR +STARTCHAR U_64CA +ENCODING 25802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +A940 +F960 +ABC0 +FD40 +A980 +AB60 +FE00 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_64CB +ENCODING 25803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FFE0 +2AA0 +2B80 +3000 +EFE0 +2920 +2FE0 +A920 +6FE0 +ENDCHAR +STARTCHAR U_64CC +ENCODING 25804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +4EE0 +F540 +4200 +5FE0 +6A40 +CA40 +56A0 +4500 +4880 +D060 +ENDCHAR +STARTCHAR U_64CD +ENCODING 25805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2EE0 +2AA0 +3EE0 +E100 +3FE0 +2380 +2540 +6920 +ENDCHAR +STARTCHAR U_64CE +ENCODING 25806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +29E0 +FF40 +5480 +7560 +1FC0 +0400 +7FE0 +0400 +FFE0 +0C00 +ENDCHAR +STARTCHAR U_64CF +ENCODING 25807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +3F80 +EAE0 +28A0 +2FA0 +32A0 +EEA0 +2AA0 +2E40 +A2A0 +6D20 +ENDCHAR +STARTCHAR U_64D0 +ENCODING 25808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FFE0 +2000 +2FE0 +3440 +E7C0 +2520 +2CC0 +B540 +6620 +ENDCHAR +STARTCHAR U_64D1 +ENCODING 25809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4EC0 +EAA0 +5FE0 +4A80 +6EA0 +CAA0 +4EC0 +4AA0 +5F60 +C220 +ENDCHAR +STARTCHAR U_64D2 +ENCODING 25810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2540 +FFE0 +2AA0 +2920 +3FE0 +E100 +2FE0 +2AA0 +2BA0 +E860 +ENDCHAR +STARTCHAR U_64D3 +ENCODING 25811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5A40 +57E0 +FA40 +57E0 +7240 +D7E0 +5A40 +5BE0 +5200 +DFE0 +ENDCHAR +STARTCHAR U_64D4 +ENCODING 25812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2480 +FFE0 +2AA0 +2FE0 +3800 +EBE0 +2800 +2BE0 +B220 +63E0 +ENDCHAR +STARTCHAR U_64D5 +ENCODING 25813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2FE0 +F900 +2FC0 +3900 +6FE0 +A000 +2EE0 +2AA0 +ABA0 +4860 +ENDCHAR +STARTCHAR U_64D6 +ENCODING 25814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFC0 +2440 +27C0 +3440 +EFE0 +2920 +2AA0 +AFA0 +60C0 +ENDCHAR +STARTCHAR U_64D7 +ENCODING 25815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E40 +2BE0 +FAA0 +2E40 +29E0 +3E40 +EA40 +2AE0 +2A40 +AE40 +6A40 +ENDCHAR +STARTCHAR U_64D8 +ENCODING 25816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +7D40 +67E0 +BC80 +7FC0 +0200 +3FC0 +0200 +7FE0 +0600 +ENDCHAR +STARTCHAR U_64D9 +ENCODING 25817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +FD40 +2A40 +2FC0 +3A40 +ED40 +2AC0 +3FE0 +A480 +7860 +ENDCHAR +STARTCHAR U_64DA +ENCODING 25818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4200 +FFE0 +52A0 +5300 +7FE0 +D540 +5A80 +55C0 +52A0 +E5A0 +ENDCHAR +STARTCHAR U_64DB +ENCODING 25819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +F540 +2FE0 +25C0 +3400 +E7E0 +2100 +3FE0 +A540 +7920 +ENDCHAR +STARTCHAR U_64DC +ENCODING 25820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5F40 +E460 +5F40 +7BE0 +5540 +DF40 +5540 +5F40 +55A0 +D520 +ENDCHAR +STARTCHAR U_64DD +ENCODING 25821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2EA0 +FAE0 +2EA0 +3AE0 +6EA0 +A140 +2FE0 +2AA0 +AAA0 +5FE0 +ENDCHAR +STARTCHAR U_64DE +ENCODING 25822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3580 +2E80 +FFE0 +24A0 +3EA0 +65A0 +BFA0 +2AA0 +2E40 +25A0 +6920 +ENDCHAR +STARTCHAR U_64DF +ENCODING 25823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4540 +E920 +5FE0 +4DA0 +6B60 +CDA0 +4DA0 +4B60 +4DA0 +C960 +ENDCHAR +STARTCHAR U_64E0 +ENCODING 25824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +2540 +2D60 +3540 +E440 +27C0 +2440 +A7C0 +6840 +ENDCHAR +STARTCHAR U_64E1 +ENCODING 25825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +2380 +2FE0 +3820 +67C0 +A280 +27C0 +A100 +4FE0 +ENDCHAR +STARTCHAR U_64E2 +ENCODING 25826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +25A0 +F360 +2DA0 +27E0 +3500 +EFC0 +3500 +27C0 +A500 +67E0 +ENDCHAR +STARTCHAR U_64E3 +ENCODING 25827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F100 +27E0 +2120 +37C0 +E000 +3FE0 +2A40 +AF40 +60C0 +ENDCHAR +STARTCHAR U_64E4 +ENCODING 25828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2440 +2FE0 +3920 +EFE0 +2920 +2FE0 +A480 +6880 +ENDCHAR +STARTCHAR U_64E5 +ENCODING 25829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +A3E0 +F480 +97E0 +A4A0 +FFE0 +0000 +7FC0 +0400 +7FE0 +0400 +ENDCHAR +STARTCHAR U_64E6 +ENCODING 25830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +F4A0 +2BA0 +3440 +2BA0 +F000 +2FE0 +2540 +2920 +F320 +ENDCHAR +STARTCHAR U_64E7 +ENCODING 25831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +68C0 +4E40 +62C0 +4A40 +FFE0 +2080 +5F40 +8420 +7FC0 +0400 +0C00 +ENDCHAR +STARTCHAR U_64E8 +ENCODING 25832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2BE0 +FAA0 +2FC0 +2AC0 +3E40 +EBC0 +2840 +2F40 +B5A0 +6920 +ENDCHAR +STARTCHAR U_64E9 +ENCODING 25833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +2920 +2380 +3540 +EFE0 +2100 +2FE0 +AAA0 +6860 +ENDCHAR +STARTCHAR U_64EA +ENCODING 25834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +54A0 +5FE0 +5480 +5D40 +5620 +5F80 +4200 +5FE0 +8200 +8600 +ENDCHAR +STARTCHAR U_64EB +ENCODING 25835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2940 +FF60 +2940 +2FE0 +3940 +EF40 +2940 +2F40 +B9A0 +6B20 +ENDCHAR +STARTCHAR U_64EC +ENCODING 25836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +2CA0 +F840 +2E40 +39E0 +2E40 +E560 +3F40 +2540 +AAC0 +7260 +ENDCHAR +STARTCHAR U_64ED +ENCODING 25837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2240 +F480 +27E0 +2C80 +37C0 +E480 +2FE0 +2240 +A180 +6E60 +ENDCHAR +STARTCHAR U_64EE +ENCODING 25838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4EC0 +E4A0 +5FE0 +5A80 +6FA0 +DAA0 +6F40 +4AA0 +4F60 +C820 +ENDCHAR +STARTCHAR U_64EF +ENCODING 25839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +27C0 +2940 +37C0 +EC40 +27C0 +2440 +A7C0 +6C60 +ENDCHAR +STARTCHAR U_64F0 +ENCODING 25840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +27C0 +2820 +3FE0 +EAA0 +2FE0 +2100 +A500 +6200 +ENDCHAR +STARTCHAR U_64F1 +ENCODING 25841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +2FE0 +3AA0 +ED20 +2AA0 +2FE0 +AAA0 +6BE0 +ENDCHAR +STARTCHAR U_64F2 +ENCODING 25842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AE0 +2FA0 +F4A0 +2FA0 +2AC0 +3DA0 +EFA0 +24A0 +3FE0 +A480 +7B80 +ENDCHAR +STARTCHAR U_64F3 +ENCODING 25843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2FE0 +F440 +2EE0 +2AA0 +3EA0 +EAA0 +2EA0 +2AA0 +AEE0 +7880 +ENDCHAR +STARTCHAR U_64F4 +ENCODING 25844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F940 +2FE0 +2940 +3FE0 +EAA0 +2BE0 +2AA0 +ABE0 +5620 +ENDCHAR +STARTCHAR U_64F5 +ENCODING 25845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +F240 +5FE0 +56E0 +7B40 +D7C0 +5100 +5FE0 +5100 +E300 +ENDCHAR +STARTCHAR U_64F6 +ENCODING 25846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +FD40 +2280 +3FE0 +6020 +AEA0 +2AA0 +2EA0 +2AA0 +6A60 +ENDCHAR +STARTCHAR U_64F7 +ENCODING 25847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2480 +FFE0 +2520 +2FE0 +3120 +EFE0 +2B20 +2BE0 +2EC0 +6120 +ENDCHAR +STARTCHAR U_64F8 +ENCODING 25848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2A80 +F540 +2FE0 +2AA0 +3FE0 +EB60 +2DA0 +2B60 +A920 +6DA0 +ENDCHAR +STARTCHAR U_64F9 +ENCODING 25849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +5F80 +EAE0 +5F20 +5540 +7F40 +C440 +5F40 +44A0 +CAA0 +5120 +ENDCHAR +STARTCHAR U_64FA +ENCODING 25850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FFE0 +2AA0 +3DC0 +2A80 +EE60 +2AA0 +2EC0 +AAA0 +6AE0 +ENDCHAR +STARTCHAR U_64FB +ENCODING 25851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2F80 +FAE0 +3FA0 +2AA0 +3FA0 +EAA0 +3FA0 +2A40 +A6A0 +7920 +ENDCHAR +STARTCHAR U_64FC +ENCODING 25852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2480 +FFE0 +2920 +2FE0 +3920 +EFE0 +2AA0 +27C0 +A440 +67C0 +ENDCHAR +STARTCHAR U_64FD +ENCODING 25853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +2BC0 +FAA0 +2FE0 +2A80 +3FE0 +E100 +2FE0 +2380 +A540 +6920 +ENDCHAR +STARTCHAR U_64FE +ENCODING 25854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2240 +F3C0 +2240 +2FE0 +3AA0 +EA20 +27E0 +2A40 +A180 +6E60 +ENDCHAR +STARTCHAR U_64FF +ENCODING 25855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +57E0 +EA40 +4FE0 +6920 +FFE0 +5AA0 +5AA0 +5BA0 +D860 +6FE0 +ENDCHAR +STARTCHAR U_6500 +ENCODING 25856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +F5E0 +4A80 +F5C0 +4AA0 +FFE0 +1500 +3F80 +C460 +3F80 +0C00 +ENDCHAR +STARTCHAR U_6501 +ENCODING 25857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F100 +2FE0 +2440 +3FE0 +E440 +27C0 +24A0 +A440 +6720 +ENDCHAR +STARTCHAR U_6502 +ENCODING 25858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4540 +F7C0 +5540 +67C0 +4000 +DFE0 +52A0 +5FE0 +52A0 +DFE0 +ENDCHAR +STARTCHAR U_6503 +ENCODING 25859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +27E0 +2940 +3680 +EBE0 +2000 +2FE0 +A540 +7B20 +ENDCHAR +STARTCHAR U_6504 +ENCODING 25860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2100 +FFE0 +2920 +3FE0 +2D40 +EFC0 +2D40 +2FC0 +B6A0 +6BE0 +ENDCHAR +STARTCHAR U_6505 +ENCODING 25861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2FE0 +3540 +6FE0 +A540 +26C0 +2540 +27C0 +6C60 +ENDCHAR +STARTCHAR U_6506 +ENCODING 25862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2480 +FFE0 +2A40 +3120 +3FE0 +E540 +27C0 +2540 +AFE0 +6100 +ENDCHAR +STARTCHAR U_6507 +ENCODING 25863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F920 +27C0 +2100 +3FE0 +EAA0 +2FE0 +2540 +ACA0 +73A0 +ENDCHAR +STARTCHAR U_6508 +ENCODING 25864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +5FE0 +F540 +5FC0 +5500 +77C0 +D520 +5FE0 +5700 +6A80 +D260 +ENDCHAR +STARTCHAR U_6509 +ENCODING 25865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FFE0 +2AA0 +27E0 +3500 +EFC0 +3500 +27C0 +A500 +67E0 +ENDCHAR +STARTCHAR U_650A +ENCODING 25866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4B60 +EA40 +4FE0 +4AC0 +6F60 +4A40 +C880 +52E0 +5280 +EFE0 +ENDCHAR +STARTCHAR U_650B +ENCODING 25867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5EE0 +E540 +5FE0 +5520 +7FE0 +CD20 +57E0 +6520 +45E0 +C4A0 +ENDCHAR +STARTCHAR U_650C +ENCODING 25868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FFE0 +2820 +2FE0 +3AA0 +EBA0 +2960 +2EA0 +AA60 +6FE0 +ENDCHAR +STARTCHAR U_650D +ENCODING 25869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F400 +27E0 +2440 +37C0 +EA60 +2FA0 +2AE0 +AF20 +6AA0 +ENDCHAR +STARTCHAR U_650E +ENCODING 25870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2200 +FFE0 +2A20 +2FE0 +3940 +EFC0 +2940 +3FE0 +AAA0 +6FE0 +ENDCHAR +STARTCHAR U_650F +ENCODING 25871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +2F80 +FAE0 +2420 +2FE0 +3A80 +EEE0 +2A80 +2EE0 +AAA0 +6AE0 +ENDCHAR +STARTCHAR U_6510 +ENCODING 25872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +27C0 +2280 +3FE0 +E540 +2BA0 +22C0 +2E40 +6320 +ENDCHAR +STARTCHAR U_6511 +ENCODING 25873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2DE0 +2920 +FFE0 +2AA0 +3FE0 +2540 +6FE0 +B100 +2FE0 +6100 +ENDCHAR +STARTCHAR U_6512 +ENCODING 25874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2FE0 +F240 +2FE0 +2A40 +3560 +EFE0 +2920 +2920 +2280 +CC60 +ENDCHAR +STARTCHAR U_6513 +ENCODING 25875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +27C0 +2280 +3FE0 +ECC0 +37A0 +25E0 +A500 +7BE0 +ENDCHAR +STARTCHAR U_6514 +ENCODING 25876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +2EE0 +3920 +EFE0 +2AA0 +2FE0 +2BA0 +ED60 +ENDCHAR +STARTCHAR U_6515 +ENCODING 25877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AC0 +55A0 +FFE0 +4A80 +5B80 +6AA0 +DBA0 +4AC0 +5BA0 +CA60 +5F20 +ENDCHAR +STARTCHAR U_6516 +ENCODING 25878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +2EE0 +3440 +EAA0 +2FE0 +2480 +A380 +6C60 +ENDCHAR +STARTCHAR U_6517 +ENCODING 25879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +2FE0 +2AA0 +3CC0 +EBE0 +2D40 +3FE0 +A540 +6920 +ENDCHAR +STARTCHAR U_6518 +ENCODING 25880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +EAA0 +4EE0 +4480 +6FE0 +C480 +5FE0 +4D40 +5480 +C660 +ENDCHAR +STARTCHAR U_6519 +ENCODING 25881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2480 +FFE0 +2420 +2FE0 +34A0 +E7E0 +2540 +27C0 +A120 +6EE0 +ENDCHAR +STARTCHAR U_651A +ENCODING 25882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +4EE0 +4440 +FAA0 +4FE0 +6820 +4780 +C480 +4FC0 +4840 +CFC0 +ENDCHAR +STARTCHAR U_651B +ENCODING 25883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +F4A0 +4EC0 +4840 +6FC0 +C940 +56C0 +5B40 +56C0 +DB20 +ENDCHAR +STARTCHAR U_651C +ENCODING 25884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +FFE0 +2500 +2FE0 +3500 +EFE0 +2AA0 +2FE0 +AAA0 +6BA0 +ENDCHAR +STARTCHAR U_651D +ENCODING 25885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2440 +F7C0 +2440 +2FE0 +3040 +EFE0 +2AA0 +2EE0 +AAA0 +7FE0 +ENDCHAR +STARTCHAR U_651E +ENCODING 25886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +EFE0 +4A40 +77E0 +5A40 +CBE0 +5E40 +43E0 +6A40 +D7E0 +ENDCHAR +STARTCHAR U_651F +ENCODING 25887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +5FE0 +F540 +5FC0 +54A0 +77E0 +D4A0 +57E0 +55A0 +D6E0 +67E0 +ENDCHAR +STARTCHAR U_6520 +ENCODING 25888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA40 +2FE0 +2A40 +3FE0 +EA80 +2EE0 +2A80 +AEE0 +7280 +ENDCHAR +STARTCHAR U_6521 +ENCODING 25889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2580 +3F40 +F5E0 +2B40 +35E0 +FF40 +2940 +3FE0 +2B40 +ED40 +23E0 +ENDCHAR +STARTCHAR U_6522 +ENCODING 25890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2FE0 +F240 +2FE0 +2AA0 +37C0 +E440 +27C0 +2440 +A7C0 +6C60 +ENDCHAR +STARTCHAR U_6523 +ENCODING 25891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5FA0 +E040 +5FE0 +F940 +2FA0 +5200 +3FC0 +0200 +7FE0 +0600 +ENDCHAR +STARTCHAR U_6524 +ENCODING 25892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AC0 +5F40 +EBE0 +4540 +5FE0 +7540 +DF40 +45E0 +5F40 +4D40 +D3E0 +ENDCHAR +STARTCHAR U_6525 +ENCODING 25893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +3540 +F7C0 +2440 +37C0 +6440 +BFE0 +2AA0 +2FC0 +A540 +7B20 +ENDCHAR +STARTCHAR U_6526 +ENCODING 25894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2000 +FEE0 +2AA0 +2FE0 +3AA0 +EFE0 +2CA0 +2EC0 +B4A0 +66E0 +ENDCHAR +STARTCHAR U_6527 +ENCODING 25895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +5C80 +E9E0 +5D20 +55E0 +7D20 +55E0 +DD20 +55E0 +7EA0 +D520 +ENDCHAR +STARTCHAR U_6528 +ENCODING 25896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +5FE0 +F4A0 +4FC0 +5A80 +6B40 +4AA0 +FFE0 +5540 +59A0 +D540 +ENDCHAR +STARTCHAR U_6529 +ENCODING 25897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +FAA0 +2280 +2FE0 +3AA0 +EFE0 +2100 +2FE0 +A540 +6AA0 +ENDCHAR +STARTCHAR U_652A +ENCODING 25898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2D60 +2AA0 +FD60 +2AA0 +3FE0 +2C60 +E7C0 +2440 +27C0 +A2A0 +7CE0 +ENDCHAR +STARTCHAR U_652B +ENCODING 25899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2EE0 +FAA0 +2FE0 +2900 +3FE0 +E900 +2FE0 +2440 +2380 +DC60 +ENDCHAR +STARTCHAR U_652C +ENCODING 25900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2B40 +FFE0 +2AA0 +2FE0 +3440 +E7C0 +2440 +27C0 +A2A0 +6CE0 +ENDCHAR +STARTCHAR U_652D +ENCODING 25901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +2480 +FFE0 +2540 +3B80 +2540 +FFE0 +2AA0 +3FE0 +AAA0 +7DE0 +ENDCHAR +STARTCHAR U_652E +ENCODING 25902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +FFE0 +2920 +3FE0 +2480 +EFC0 +2480 +3FE0 +ACA0 +7660 +ENDCHAR +STARTCHAR U_652F +ENCODING 25903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +3F80 +1100 +1100 +0A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_6530 +ENCODING 25904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2120 +F920 +8920 +4920 +5220 +22A0 +5440 +8FE0 +ENDCHAR +STARTCHAR U_6531 +ENCODING 25905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +0100 +97C0 +5440 +5440 +2280 +1900 +E280 +1C60 +ENDCHAR +STARTCHAR U_6532 +ENCODING 25906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +53E0 +8880 +FFE0 +0A20 +E940 +A940 +E880 +0940 +3A20 +ENDCHAR +STARTCHAR U_6533 +ENCODING 25907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2020 +FBE0 +2020 +FFE0 +52A0 +5FE0 +5440 +22C0 +5800 +87E0 +ENDCHAR +STARTCHAR U_6534 +ENCODING 25908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07C0 +0400 +0400 +7FC0 +1080 +1100 +0A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_6535 +ENCODING 25909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +1FC0 +2100 +2100 +5100 +8A00 +0400 +0A00 +1180 +E060 +ENDCHAR +STARTCHAR U_6536 +ENCODING 25910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +93E0 +9440 +9A40 +9240 +B280 +D100 +9180 +1240 +1420 +ENDCHAR +STARTCHAR U_6537 +ENCODING 25911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +43E0 +4440 +8A40 +F280 +1280 +1100 +1100 +A280 +4C60 +ENDCHAR +STARTCHAR U_6538 +ENCODING 25912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +21E0 +2A40 +6E40 +AA40 +2940 +2940 +2080 +2340 +2C20 +ENDCHAR +STARTCHAR U_6539 +ENCODING 25913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +0BE0 +0C40 +7A40 +4240 +4240 +4180 +5180 +6240 +4C20 +ENDCHAR +STARTCHAR U_653A +ENCODING 25914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +93E0 +9440 +F440 +8A80 +8100 +9100 +A280 +C440 +9820 +ENDCHAR +STARTCHAR U_653B +ENCODING 25915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0200 +FA00 +27E0 +2440 +2C40 +2280 +3900 +C280 +0440 +1820 +ENDCHAR +STARTCHAR U_653C +ENCODING 25916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +23E0 +2240 +2440 +FA80 +2280 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_653D +ENCODING 25917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5100 +4900 +4BE0 +8640 +7A40 +2940 +2940 +2880 +4940 +9A20 +ENDCHAR +STARTCHAR U_653E +ENCODING 25918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +1100 +FDE0 +2240 +2540 +3940 +2940 +2880 +4980 +4A40 +9420 +ENDCHAR +STARTCHAR U_653F +ENCODING 25919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FD00 +11E0 +1340 +5D40 +5140 +5140 +5080 +5C80 +E140 +0620 +ENDCHAR +STARTCHAR U_6540 +ENCODING 25920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +43E0 +F240 +9240 +9440 +FA40 +9280 +9100 +F280 +0440 +0820 +ENDCHAR +STARTCHAR U_6541 +ENCODING 25921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +3900 +2100 +27C0 +FA40 +8A40 +8940 +8880 +F940 +0620 +ENDCHAR +STARTCHAR U_6542 +ENCODING 25922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2100 +7DE0 +8520 +7620 +5520 +5520 +7540 +0480 +1540 +0A20 +ENDCHAR +STARTCHAR U_6543 +ENCODING 25923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8900 +89E0 +FB40 +9140 +FD40 +9140 +9140 +9480 +AD40 +C620 +ENDCHAR +STARTCHAR U_6544 +ENCODING 25924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +0900 +53E0 +2240 +FC40 +2A40 +6280 +A180 +2100 +2280 +6C60 +ENDCHAR +STARTCHAR U_6545 +ENCODING 25925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +FDE0 +1140 +1240 +7D40 +4940 +4880 +4880 +7940 +4E20 +ENDCHAR +STARTCHAR U_6546 +ENCODING 25926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +2880 +44E0 +8080 +3BE0 +0120 +7D20 +44C0 +4480 +7D40 +4620 +ENDCHAR +STARTCHAR U_6547 +ENCODING 25927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +10E0 +7D20 +5620 +5540 +5D40 +1080 +3880 +5540 +9220 +ENDCHAR +STARTCHAR U_6548 +ENCODING 25928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +1100 +FDE0 +2B40 +4540 +8940 +2940 +1080 +2880 +4140 +8620 +ENDCHAR +STARTCHAR U_6549 +ENCODING 25929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +71E0 +2340 +FD40 +2140 +7140 +6940 +A080 +2340 +2C20 +ENDCHAR +STARTCHAR U_654A +ENCODING 25930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1CE0 +1080 +FFE0 +1220 +1220 +5940 +5540 +9480 +1140 +3220 +ENDCHAR +STARTCHAR U_654B +ENCODING 25931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7A00 +8BE0 +5240 +2240 +5440 +8240 +7A80 +4900 +4A80 +7C60 +ENDCHAR +STARTCHAR U_654C +ENCODING 25932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E100 +21E0 +FA40 +2540 +2140 +F940 +8880 +8880 +F940 +8E20 +ENDCHAR +STARTCHAR U_654D +ENCODING 25933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +51C0 +8900 +7100 +27C0 +FA40 +2280 +7100 +AA80 +6460 +ENDCHAR +STARTCHAR U_654E +ENCODING 25934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +2100 +D900 +23E0 +FA40 +4440 +BA80 +1280 +F900 +1280 +3460 +ENDCHAR +STARTCHAR U_654F +ENCODING 25935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7D00 +81E0 +7F40 +5540 +FF40 +5540 +5540 +FE80 +0540 +1A20 +ENDCHAR +STARTCHAR U_6550 +ENCODING 25936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +8100 +B9E0 +8240 +FE40 +A140 +B540 +A880 +A480 +B540 +A220 +ENDCHAR +STARTCHAR U_6551 +ENCODING 25937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +1500 +FDE0 +1240 +5540 +3940 +5540 +9480 +1080 +1140 +3220 +ENDCHAR +STARTCHAR U_6552 +ENCODING 25938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +4880 +7EE0 +6B20 +FF20 +6AA0 +7EA0 +4840 +4840 +4840 +49A0 +ENDCHAR +STARTCHAR U_6553 +ENCODING 25939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2900 +7DE0 +4640 +4540 +7D40 +2940 +2940 +2A80 +4D40 +8A20 +ENDCHAR +STARTCHAR U_6554 +ENCODING 25940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +1100 +79E0 +2B40 +2940 +FD40 +0140 +7D40 +4480 +7D40 +4620 +ENDCHAR +STARTCHAR U_6555 +ENCODING 25941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +11E0 +7E40 +5540 +7D40 +1140 +3940 +5480 +9140 +1220 +ENDCHAR +STARTCHAR U_6556 +ENCODING 25942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +11E0 +7E40 +1140 +FD40 +2140 +3D40 +2480 +4540 +9A20 +ENDCHAR +STARTCHAR U_6557 +ENCODING 25943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +4500 +7DE0 +4740 +7D40 +4540 +7D40 +4540 +2880 +4540 +8620 +ENDCHAR +STARTCHAR U_6558 +ENCODING 25944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2900 +45E0 +BB40 +1140 +7D40 +1140 +5940 +5480 +9340 +3220 +ENDCHAR +STARTCHAR U_6559 +ENCODING 25945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +FD00 +29E0 +FF40 +1140 +7D40 +4940 +9D40 +7080 +1140 +7220 +ENDCHAR +STARTCHAR U_655A +ENCODING 25946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5100 +FBE0 +8E40 +8A40 +FA80 +5280 +5100 +5A80 +5240 +8C20 +ENDCHAR +STARTCHAR U_655B +ENCODING 25947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2900 +45E0 +BB40 +0140 +2540 +9540 +4940 +4080 +1D40 +E220 +ENDCHAR +STARTCHAR U_655C +ENCODING 25948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2900 +65E0 +9240 +7E40 +0940 +1140 +2880 +6280 +A540 +3E20 +ENDCHAR +STARTCHAR U_655D +ENCODING 25949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A500 +6900 +21E0 +FD40 +A740 +B540 +ED40 +A540 +A480 +A540 +8E20 +ENDCHAR +STARTCHAR U_655E +ENCODING 25950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9500 +5900 +11E0 +FD40 +8740 +BD40 +AD40 +AC80 +BC80 +8540 +8E20 +ENDCHAR +STARTCHAR U_655F +ENCODING 25951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2900 +FFE0 +AA40 +FE40 +AA40 +AB40 +FE80 +0080 +4540 +8220 +ENDCHAR +STARTCHAR U_6560 +ENCODING 25952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +2480 +B4E0 +4880 +B480 +03E0 +FD20 +2540 +B480 +4940 +B620 +ENDCHAR +STARTCHAR U_6561 +ENCODING 25953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +4480 +7CE0 +4480 +7FE0 +2220 +7D20 +AD40 +5480 +A540 +4E20 +ENDCHAR +STARTCHAR U_6562 +ENCODING 25954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +1100 +FDE0 +4B40 +7940 +4940 +7940 +4940 +5C80 +E940 +0A20 +ENDCHAR +STARTCHAR U_6563 +ENCODING 25955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +7D00 +29E0 +FF40 +4940 +7940 +4940 +7940 +4880 +4940 +5A20 +ENDCHAR +STARTCHAR U_6564 +ENCODING 25956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A8E0 +F880 +ABE0 +FA20 +2220 +FD40 +3140 +6880 +A540 +2220 +ENDCHAR +STARTCHAR U_6565 +ENCODING 25957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A880 +A8E0 +3080 +4BE0 +A620 +2220 +A940 +A940 +5080 +4940 +8620 +ENDCHAR +STARTCHAR U_6566 +ENCODING 25958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +49E0 +7B40 +0140 +FD40 +1140 +FD40 +1080 +5140 +2220 +ENDCHAR +STARTCHAR U_6567 +ENCODING 25959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FCE0 +3080 +4880 +FFE0 +0940 +E940 +A940 +E880 +0940 +3A20 +ENDCHAR +STARTCHAR U_6568 +ENCODING 25960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +1100 +FDE0 +4B40 +3140 +FD40 +0140 +7940 +4880 +7940 +4A20 +ENDCHAR +STARTCHAR U_6569 +ENCODING 25961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +9500 +4900 +FEE0 +8240 +7D40 +0940 +FC80 +1080 +1140 +3220 +ENDCHAR +STARTCHAR U_656A +ENCODING 25962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +B480 +48E0 +B480 +03E0 +FD40 +2540 +B540 +4880 +B540 +2620 +ENDCHAR +STARTCHAR U_656B +ENCODING 25963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D00 +45E0 +7F40 +4540 +7D40 +2140 +FF40 +2880 +4940 +9A20 +ENDCHAR +STARTCHAR U_656C +ENCODING 25964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +FD00 +29E0 +4340 +7D40 +8540 +7540 +5540 +7480 +0540 +1A20 +ENDCHAR +STARTCHAR U_656D +ENCODING 25965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A900 +99E0 +FA40 +0140 +FD40 +4140 +FC80 +5480 +A540 +4E20 +ENDCHAR +STARTCHAR U_656E +ENCODING 25966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C80 +7080 +10E0 +FE80 +11E0 +5720 +92A0 +D6C0 +9240 +FEA0 +0120 +ENDCHAR +STARTCHAR U_656F +ENCODING 25967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +8480 +FCE0 +9080 +FFE0 +8940 +7D40 +4540 +7C80 +4540 +7E20 +ENDCHAR +STARTCHAR U_6570 +ENCODING 25968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9500 +5900 +FDE0 +3340 +5940 +9540 +FD40 +2940 +6880 +1140 +EE20 +ENDCHAR +STARTCHAR U_6571 +ENCODING 25969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A880 +F8E0 +0080 +F880 +03E0 +FA20 +8A40 +F940 +9080 +5940 +E620 +ENDCHAR +STARTCHAR U_6572 +ENCODING 25970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FEE0 +0080 +7880 +4BE0 +7940 +0140 +FF40 +AA80 +BB40 +8620 +ENDCHAR +STARTCHAR U_6573 +ENCODING 25971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9500 +9500 +FDE0 +0340 +F940 +0140 +F940 +8940 +F880 +5140 +FA20 +ENDCHAR +STARTCHAR U_6574 +ENCODING 25972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5540 +7C80 +3940 +5620 +7FC0 +0400 +2780 +2400 +FFE0 +ENDCHAR +STARTCHAR U_6575 +ENCODING 25973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FF00 +29E0 +FF40 +9240 +FE40 +9240 +BB40 +AA80 +BB40 +8220 +ENDCHAR +STARTCHAR U_6576 +ENCODING 25974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +BF80 +A4E0 +BF20 +D520 +BF20 +B5C0 +FE40 +8C40 +96A0 +A520 +ENDCHAR +STARTCHAR U_6577 +ENCODING 25975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF00 +5100 +7FE0 +5240 +7E40 +5240 +FE40 +2140 +3C80 +2540 +CA20 +ENDCHAR +STARTCHAR U_6578 +ENCODING 25976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D00 +55E0 +FF40 +5540 +FD40 +9540 +FF40 +2880 +1940 +E620 +ENDCHAR +STARTCHAR U_6579 +ENCODING 25977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D00 +1100 +FDE0 +8740 +7D40 +9540 +5940 +FD40 +3880 +5540 +9220 +ENDCHAR +STARTCHAR U_657A +ENCODING 25978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +80E0 +BC80 +A480 +BFE0 +8140 +EF40 +AB40 +EE80 +8140 +FE20 +ENDCHAR +STARTCHAR U_657B +ENCODING 25979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2200 +FFE0 +4920 +7FE0 +2C40 +2340 +1F80 +6880 +0F00 +F0E0 +ENDCHAR +STARTCHAR U_657C +ENCODING 25980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +10E0 +FE80 +45E0 +7D40 +2940 +FF40 +4480 +7D40 +4620 +ENDCHAR +STARTCHAR U_657D +ENCODING 25981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +2080 +FCE0 +4880 +FC80 +4BE0 +FD20 +D540 +F480 +8540 +8E20 +ENDCHAR +STARTCHAR U_657E +ENCODING 25982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5100 +F9E0 +2240 +FE40 +2940 +FD40 +0080 +F880 +8940 +FA20 +ENDCHAR +STARTCHAR U_657F +ENCODING 25983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +1100 +FDE0 +2740 +7D40 +A540 +FF40 +AB40 +BA80 +8340 +8620 +ENDCHAR +STARTCHAR U_6580 +ENCODING 25984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +AA80 +FEE0 +2080 +7FE0 +A2A0 +FAA0 +AAA0 +FA40 +2AA0 +F520 +ENDCHAR +STARTCHAR U_6581 +ENCODING 25985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +AA80 +FFE0 +1140 +FF40 +2940 +FD40 +1140 +FE80 +1140 +1220 +ENDCHAR +STARTCHAR U_6582 +ENCODING 25986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +2500 +7DE0 +8340 +7D40 +5540 +7D40 +2940 +2880 +5540 +9220 +ENDCHAR +STARTCHAR U_6583 +ENCODING 25987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9280 +55E0 +FF20 +BAC0 +D720 +9220 +FFE0 +4640 +AB80 +1220 +E1E0 +ENDCHAR +STARTCHAR U_6584 +ENCODING 25988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79E0 +1340 +FC80 +5540 +FFE0 +4200 +7FE0 +5240 +6FA0 +4A80 +B260 +ENDCHAR +STARTCHAR U_6585 +ENCODING 25989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6680 +5AE0 +6680 +5A80 +FFE0 +8220 +7940 +1080 +7D40 +1160 +3240 +ENDCHAR +STARTCHAR U_6586 +ENCODING 25990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6C80 +5480 +6DE0 +5520 +FF20 +82A0 +38A0 +1040 +7C40 +10A0 +3320 +ENDCHAR +STARTCHAR U_6587 +ENCODING 25991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +1100 +1100 +1100 +0A00 +0A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_6588 +ENCODING 25992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +3180 +DF60 +0200 +0400 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_6589 +ENCODING 25993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +3180 +E0E0 +3F80 +2080 +3F80 +2080 +4080 +ENDCHAR +STARTCHAR U_658A +ENCODING 25994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +3180 +FFE0 +2080 +3F80 +2080 +FFE0 +0080 +ENDCHAR +STARTCHAR U_658B +ENCODING 25995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +F1E0 +0000 +FFC0 +0400 +7FC0 +4A40 +4AC0 +ENDCHAR +STARTCHAR U_658C +ENCODING 25996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +27A0 +F080 +1FE0 +9280 +5280 +2B80 +3AA0 +4BA0 +9C60 +0020 +ENDCHAR +STARTCHAR U_658D +ENCODING 25997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +3F80 +D160 +1F00 +1100 +1F00 +0A20 +F1E0 +ENDCHAR +STARTCHAR U_658E +ENCODING 25998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +3180 +DF60 +4040 +7FC0 +5540 +64C0 +8C40 +ENDCHAR +STARTCHAR U_658F +ENCODING 25999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +FFC0 +1440 +97C0 +5440 +27C0 +5520 +54C0 +8C80 +0660 +ENDCHAR +STARTCHAR U_6590 +ENCODING 26000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FBE0 +0A00 +7BC0 +0A00 +FBE0 +0400 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_6591 +ENCODING 26001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E9E0 +4440 +5F40 +4240 +EA40 +45E0 +4440 +4640 +6A40 +D040 +23E0 +ENDCHAR +STARTCHAR U_6592 +ENCODING 26002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +FFE0 +2820 +AFE0 +6800 +2FE0 +2AA0 +5FE0 +8AA0 +0860 +ENDCHAR +STARTCHAR U_6593 +ENCODING 26003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +2A20 +F920 +2FE0 +A920 +6FE0 +2AA0 +2FE0 +5920 +8BA0 +0D60 +ENDCHAR +STARTCHAR U_6594 +ENCODING 26004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FEE0 +54A0 +24A0 +DEE0 +24A0 +FFE0 +A8A0 +F940 +2A20 +F420 +ENDCHAR +STARTCHAR U_6595 +ENCODING 26005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +FEE0 +2AA0 +A920 +6FE0 +2AA0 +2FE0 +5920 +8BA0 +0D60 +ENDCHAR +STARTCHAR U_6596 +ENCODING 26006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +F5E0 +5F40 +71C0 +5540 +FFE0 +A0A0 +3F80 +2080 +FFE0 +ENDCHAR +STARTCHAR U_6597 +ENCODING 26007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +0900 +0900 +2100 +1100 +1100 +01E0 +FF00 +0100 +0100 +0100 +ENDCHAR +STARTCHAR U_6598 +ENCODING 26008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2240 +3D40 +4440 +4A40 +6940 +9860 +17C0 +2040 +4040 +8040 +ENDCHAR +STARTCHAR U_6599 +ENCODING 26009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +AC80 +7280 +2080 +FC80 +2280 +30E0 +6F80 +A080 +2080 +2080 +ENDCHAR +STARTCHAR U_659A +ENCODING 26010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5140 +FBE0 +0000 +FFE0 +9220 +0A00 +6600 +13E0 +FE00 +0200 +ENDCHAR +STARTCHAR U_659B +ENCODING 26011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +7A40 +5140 +FC40 +5640 +7D40 +5460 +7DC0 +5440 +5440 +8C40 +ENDCHAR +STARTCHAR U_659C +ENCODING 26012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +2940 +44C0 +B840 +1240 +7D40 +1060 +55C0 +5240 +9240 +3040 +ENDCHAR +STARTCHAR U_659D +ENCODING 26013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7BC0 +4A40 +7BC0 +0000 +FFC0 +9240 +4A00 +2200 +03C0 +FE00 +0200 +ENDCHAR +STARTCHAR U_659E +ENCODING 26014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +DD40 +94C0 +DC40 +9540 +FCC0 +1060 +2BC0 +2440 +4440 +8040 +ENDCHAR +STARTCHAR U_659F +ENCODING 26015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +FD40 +48C0 +7A40 +4940 +7940 +4860 +FFC0 +A840 +C440 +FE40 +ENDCHAR +STARTCHAR U_65A0 +ENCODING 26016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2940 +FEC0 +2840 +7D40 +28C0 +FE40 +5460 +7DC0 +5440 +FE40 +4C40 +ENDCHAR +STARTCHAR U_65A1 +ENCODING 26017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +FA40 +2420 +F940 +88C0 +FA40 +8940 +F860 +27C0 +F840 +2040 +ENDCHAR +STARTCHAR U_65A2 +ENCODING 26018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2840 +FF40 +28C0 +FE40 +1140 +7CC0 +5460 +7DC0 +5440 +7C40 +C640 +ENDCHAR +STARTCHAR U_65A3 +ENCODING 26019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE40 +AB40 +FEC0 +4140 +FEC0 +A3E0 +FA40 +AA40 +FA40 +2640 +FA40 +ENDCHAR +STARTCHAR U_65A4 +ENCODING 26020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +3E00 +2000 +2000 +3FE0 +2100 +2100 +2100 +2100 +4100 +8100 +ENDCHAR +STARTCHAR U_65A5 +ENCODING 26021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +3E00 +2000 +2000 +3FE0 +2200 +2700 +2280 +2240 +4200 +8200 +ENDCHAR +STARTCHAR U_65A6 +ENCODING 26022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1860 +6180 +4100 +79E0 +5140 +5140 +5140 +5140 +5240 +9240 +9440 +ENDCHAR +STARTCHAR U_65A7 +ENCODING 26023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +1080 +6960 +0600 +1980 +E060 +1F80 +1000 +1FC0 +2100 +4100 +ENDCHAR +STARTCHAR U_65A8 +ENCODING 26024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4860 +4B80 +4A00 +7A00 +0BE0 +FA40 +4A40 +4A40 +4A40 +4A40 +8C40 +ENDCHAR +STARTCHAR U_65A9 +ENCODING 26025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FB80 +4200 +5200 +93E0 +FA40 +1240 +1A40 +F240 +1440 +1840 +ENDCHAR +STARTCHAR U_65AA +ENCODING 26026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +7B80 +8A00 +0A00 +EBE0 +AA40 +AA40 +EA40 +0A40 +4A40 +3440 +ENDCHAR +STARTCHAR U_65AB +ENCODING 26027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +FBC0 +2200 +2200 +7BE0 +CA40 +4A40 +4A40 +7C40 +4840 +1040 +ENDCHAR +STARTCHAR U_65AC +ENCODING 26028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FF80 +2200 +FA00 +ABE0 +FA40 +AA40 +FA40 +2240 +FA40 +2440 +ENDCHAR +STARTCHAR U_65AD +ENCODING 26029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +D580 +B900 +9100 +FDE0 +B140 +D940 +D540 +9140 +FA40 +0440 +ENDCHAR +STARTCHAR U_65AE +ENCODING 26030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5040 +5380 +FE00 +5200 +FFE0 +0240 +7A40 +4A40 +7A40 +4A40 +7C40 +ENDCHAR +STARTCHAR U_65AF +ENCODING 26031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4860 +FD80 +4900 +7900 +49E0 +7940 +4940 +FD40 +2940 +4640 +8440 +ENDCHAR +STARTCHAR U_65B0 +ENCODING 26032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +FD80 +4500 +2900 +FDE0 +1140 +FD40 +1140 +5540 +9240 +3440 +ENDCHAR +STARTCHAR U_65B1 +ENCODING 26033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2580 +F500 +2900 +FDE0 +2140 +7940 +C940 +7A40 +4A40 +7C40 +ENDCHAR +STARTCHAR U_65B2 +ENCODING 26034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE60 +AB80 +EF00 +29E0 +ED40 +8540 +ED40 +2940 +2940 +3E40 +C240 +ENDCHAR +STARTCHAR U_65B3 +ENCODING 26035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2820 +FFC0 +2900 +2900 +7DE0 +5540 +FF40 +1140 +7D40 +1240 +FC40 +ENDCHAR +STARTCHAR U_65B4 +ENCODING 26036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9220 +54C0 +FE80 +5480 +B2E0 +A2A0 +EFA0 +AAA0 +6FA0 +42A0 +8320 +ENDCHAR +STARTCHAR U_65B5 +ENCODING 26037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DE60 +AA80 +F280 +4480 +FCE0 +50A0 +DCA0 +84A0 +DD20 +5120 +7A20 +ENDCHAR +STARTCHAR U_65B6 +ENCODING 26038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +CAA0 +8FE0 +8400 +FFE0 +B220 +AFA0 +AAA0 +AFA0 +A2A0 +AF40 +ENDCHAR +STARTCHAR U_65B7 +ENCODING 26039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AA40 +FD80 +9500 +AB00 +FFE0 +A940 +AB40 +FD40 +9540 +AB40 +FE40 +ENDCHAR +STARTCHAR U_65B8 +ENCODING 26040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +85C0 +FD00 +A9E0 +FD40 +9540 +FD40 +D540 +FD40 +9540 +FA40 +ENDCHAR +STARTCHAR U_65B9 +ENCODING 26041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +0800 +0800 +0F80 +1080 +1080 +2080 +4080 +8700 +ENDCHAR +STARTCHAR U_65BA +ENCODING 26042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1080 +FD40 +2140 +3A20 +2940 +2940 +4940 +4A40 +AA40 +9440 +ENDCHAR +STARTCHAR U_65BB +ENCODING 26043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FBE0 +4400 +7B80 +4A80 +4A80 +4A80 +4A80 +6AA0 +9460 +ENDCHAR +STARTCHAR U_65BC +ENCODING 26044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1080 +FD40 +2140 +3A20 +2C80 +2840 +2840 +4900 +4880 +9840 +ENDCHAR +STARTCHAR U_65BD +ENCODING 26045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FC00 +2080 +3AE0 +2BA0 +2EA0 +2AE0 +2A80 +4A20 +91E0 +ENDCHAR +STARTCHAR U_65BE +ENCODING 26046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27E0 +FD00 +4900 +77E0 +5520 +5520 +5520 +55A0 +B540 +0100 +ENDCHAR +STARTCHAR U_65BF +ENCODING 26047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FC00 +23E0 +3840 +2880 +2FE0 +2880 +4880 +6A80 +9100 +ENDCHAR +STARTCHAR U_65C0 +ENCODING 26048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FA40 +47E0 +7100 +5140 +5540 +5520 +5920 +9100 +B300 +ENDCHAR +STARTCHAR U_65C1 +ENCODING 26049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +1200 +FFC0 +8840 +0400 +FFC0 +1000 +1F80 +2080 +C300 +ENDCHAR +STARTCHAR U_65C2 +ENCODING 26050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FC00 +2040 +3B80 +2A00 +2BE0 +2A40 +2A40 +4A40 +9440 +ENDCHAR +STARTCHAR U_65C3 +ENCODING 26051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FC00 +43C0 +7240 +5340 +52C0 +57E0 +5240 +9440 +A8C0 +ENDCHAR +STARTCHAR U_65C4 +ENCODING 26052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FC00 +20C0 +3B80 +28E0 +2B80 +28E0 +2F80 +48A0 +90E0 +ENDCHAR +STARTCHAR U_65C5 +ENCODING 26053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FE00 +24C0 +3B00 +2AA0 +2AC0 +2A80 +4A40 +4A40 +9B20 +ENDCHAR +STARTCHAR U_65C6 +ENCODING 26054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FC80 +27E0 +3880 +2BE0 +2AA0 +2AA0 +2AA0 +4AE0 +9080 +ENDCHAR +STARTCHAR U_65C7 +ENCODING 26055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +F480 +4FE0 +44A0 +75C0 +5540 +5540 +5480 +9540 +BA20 +ENDCHAR +STARTCHAR U_65C8 +ENCODING 26056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F900 +4240 +77E0 +5020 +5540 +5540 +5540 +9540 +A960 +ENDCHAR +STARTCHAR U_65C9 +ENCODING 26057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +FFE0 +4440 +7FC0 +4440 +7FC0 +54C0 +FFE0 +1080 +2080 +C300 +ENDCHAR +STARTCHAR U_65CA +ENCODING 26058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +FC00 +47E0 +4200 +7BC0 +4A40 +4B40 +4A40 +6B60 +9660 +ENDCHAR +STARTCHAR U_65CB +ENCODING 26059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +FC00 +47E0 +78A0 +4A80 +4AE0 +4A80 +4A80 +AD80 +90E0 +ENDCHAR +STARTCHAR U_65CC +ENCODING 26060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FC00 +2280 +3BE0 +2C80 +2880 +2BE0 +2880 +4880 +97E0 +ENDCHAR +STARTCHAR U_65CD +ENCODING 26061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +FC80 +4140 +7A20 +4C80 +4FE0 +4840 +4A80 +A900 +9080 +ENDCHAR +STARTCHAR U_65CE +ENCODING 26062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +FC00 +47E0 +7420 +57E0 +5520 +5540 +5580 +9520 +A8E0 +ENDCHAR +STARTCHAR U_65CF +ENCODING 26063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FC00 +2200 +3BE0 +2C80 +2880 +4FE0 +4880 +A940 +9620 +ENDCHAR +STARTCHAR U_65D0 +ENCODING 26064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FC00 +4280 +7AA0 +56C0 +5280 +56C0 +5AA0 +94A0 +A860 +ENDCHAR +STARTCHAR U_65D1 +ENCODING 26065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F900 +4280 +77E0 +5040 +5740 +5540 +5740 +9040 +30C0 +ENDCHAR +STARTCHAR U_65D2 +ENCODING 26066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FD00 +47E0 +7240 +57A0 +5000 +5540 +5540 +9540 +A860 +ENDCHAR +STARTCHAR U_65D3 +ENCODING 26067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FEA0 +21C0 +3880 +2BE0 +2A20 +2BE0 +2A20 +4BE0 +B260 +ENDCHAR +STARTCHAR U_65D4 +ENCODING 26068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FC0 +F540 +47E0 +7540 +5BC0 +5500 +5500 +5FE0 +5500 +ABE0 +ENDCHAR +STARTCHAR U_65D5 +ENCODING 26069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F980 +2240 +7DA0 +4900 +9880 +0200 +7A40 +4B80 +7A20 +4BE0 +ENDCHAR +STARTCHAR U_65D6 +ENCODING 26070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +17E0 +F900 +47E0 +7280 +5FE0 +5040 +5740 +5540 +9740 +A0C0 +ENDCHAR +STARTCHAR U_65D7 +ENCODING 26071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +FA40 +47E0 +7240 +5340 +52C0 +5240 +5FE0 +9240 +AC20 +ENDCHAR +STARTCHAR U_65D8 +ENCODING 26072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +5FC0 +EAA0 +5FE0 +7080 +57A0 +5540 +5740 +5540 +97A0 +A120 +ENDCHAR +STARTCHAR U_65D9 +ENCODING 26073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2F40 +F580 +4FE0 +4380 +7540 +57C0 +5540 +57C0 +9540 +A7C0 +ENDCHAR +STARTCHAR U_65DA +ENCODING 26074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +FE80 +4FE0 +7AA0 +4AA0 +4FE0 +4800 +4FE0 +AAC0 +95A0 +ENDCHAR +STARTCHAR U_65DB +ENCODING 26075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +FD40 +47E0 +7B40 +5520 +57C0 +5540 +57C0 +9540 +A7C0 +ENDCHAR +STARTCHAR U_65DC +ENCODING 26076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +27E0 +F500 +4FE0 +76C0 +5540 +57C0 +5000 +57C0 +D540 +2FE0 +ENDCHAR +STARTCHAR U_65DD +ENCODING 26077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +FA80 +4440 +7FE0 +5AA0 +5FE0 +5240 +53C0 +9240 +A3C0 +ENDCHAR +STARTCHAR U_65DE +ENCODING 26078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27E0 +F940 +47E0 +72A0 +5D40 +56C0 +5560 +5740 +9480 +ABE0 +ENDCHAR +STARTCHAR U_65DF +ENCODING 26079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +F900 +4FE0 +7920 +4FE0 +4AA0 +4AA0 +4FE0 +9280 +AC60 +ENDCHAR +STARTCHAR U_65E0 +ENCODING 26080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +0400 +FFE0 +0A00 +0A00 +1200 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_65E1 +ENCODING 26081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +0400 +4400 +4400 +FFC0 +0800 +0C00 +1400 +2440 +4440 +83C0 +ENDCHAR +STARTCHAR U_65E2 +ENCODING 26082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F7C0 +9100 +9500 +F500 +9FC0 +F100 +A100 +9300 +AD40 +C940 +90C0 +ENDCHAR +STARTCHAR U_65E3 +ENCODING 26083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +F7C0 +9100 +F500 +97E0 +F100 +8300 +E300 +8520 +A520 +C8E0 +ENDCHAR +STARTCHAR U_65E4 +ENCODING 26084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79E0 +4880 +6A80 +6A80 +FFE0 +8480 +F480 +D480 +F5A0 +86A0 +8CE0 +ENDCHAR +STARTCHAR U_65E5 +ENCODING 26085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +FE +82 +82 +82 +FE +82 +82 +82 +FE +82 +ENDCHAR +STARTCHAR U_65E6 +ENCODING 26086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +3F80 +2080 +2080 +3F80 +2080 +2080 +3F80 +2080 +0000 +FFE0 +ENDCHAR +STARTCHAR U_65E7 +ENCODING 26087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +9F80 +9080 +9080 +9080 +9F80 +9080 +9080 +9080 +9080 +9F80 +ENDCHAR +STARTCHAR U_65E8 +ENCODING 26088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +8300 +9C00 +E080 +8080 +7F80 +0000 +7F00 +4100 +7F00 +4100 +7F00 +ENDCHAR +STARTCHAR U_65E9 +ENCODING 26089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0400 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_65EA +ENCODING 26090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +0100 +F100 +9100 +9FE0 +F100 +9100 +9100 +F100 +9100 +0100 +ENDCHAR +STARTCHAR U_65EB +ENCODING 26091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 10 0 -1 +BITMAP +F7C0 +9240 +9240 +F240 +9240 +9240 +9240 +F240 +0540 +0880 +ENDCHAR +STARTCHAR U_65EC +ENCODING 26092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2000 +2000 +3FC0 +4040 +BE40 +2240 +3E40 +2240 +3E40 +0140 +0080 +ENDCHAR +STARTCHAR U_65ED +ENCODING 26093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +2240 +FA40 +2BC0 +2A40 +2A40 +2BC0 +2800 +4820 +87E0 +ENDCHAR +STARTCHAR U_65EE +ENCODING 26094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7F00 +0900 +1120 +2120 +C0E0 +3FC0 +2040 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_65EF +ENCODING 26095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +4080 +7F80 +4080 +7F80 +1000 +FE00 +1200 +2240 +4240 +81C0 +ENDCHAR +STARTCHAR U_65F0 +ENCODING 26096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +9100 +9100 +F100 +9FE0 +9100 +F100 +9100 +0100 +0100 +ENDCHAR +STARTCHAR U_65F1 +ENCODING 26097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0000 +7FC0 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_65F2 +ENCODING 26098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_65F3 +ENCODING 26099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +93E0 +9420 +F820 +9220 +9120 +F120 +9020 +0120 +00C0 +ENDCHAR +STARTCHAR U_65F4 +ENCODING 26100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9100 +9100 +9100 +FFE0 +9100 +9100 +9100 +F900 +0500 +0200 +ENDCHAR +STARTCHAR U_65F5 +ENCODING 26101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +4080 +7F80 +4080 +7F80 +0400 +8440 +8440 +8440 +FFC0 +8040 +ENDCHAR +STARTCHAR U_65F6 +ENCODING 26102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F080 +9FE0 +9080 +9480 +F280 +9280 +9080 +9080 +F080 +0380 +ENDCHAR +STARTCHAR U_65F7 +ENCODING 26103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F080 +97E0 +9400 +F400 +9400 +9400 +F400 +9400 +0800 +1000 +ENDCHAR +STARTCHAR U_65F8 +ENCODING 26104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +0080 +F100 +97E0 +92A0 +F2A0 +9520 +9920 +F220 +0C20 +00C0 +ENDCHAR +STARTCHAR U_65F9 +ENCODING 26105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0400 +FFE0 +0000 +7FC0 +4040 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_65FA +ENCODING 26106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +9100 +9100 +F100 +97C0 +9100 +9100 +F100 +9100 +0FE0 +ENDCHAR +STARTCHAR U_65FB +ENCODING 26107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +1100 +0A00 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_65FC +ENCODING 26108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +9440 +F440 +9280 +9280 +F100 +9280 +0440 +0820 +ENDCHAR +STARTCHAR U_65FD +ENCODING 26109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9FE0 +9100 +F540 +9540 +97C0 +F100 +9120 +0120 +00E0 +ENDCHAR +STARTCHAR U_65FE +ENCODING 26110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +2480 +3FA0 +0420 +3FE0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_65FF +ENCODING 26111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0200 +F3E0 +9480 +9880 +F080 +9FE0 +9080 +F080 +9080 +0080 +ENDCHAR +STARTCHAR U_6600 +ENCODING 26112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F400 +97E0 +9420 +9A20 +F120 +9020 +91A0 +F620 +90A0 +0040 +ENDCHAR +STARTCHAR U_6601 +ENCODING 26113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9100 +97E0 +F520 +9520 +9520 +F520 +95A0 +0540 +0100 +ENDCHAR +STARTCHAR U_6602 +ENCODING 26114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +4100 +7F00 +4100 +7F00 +1000 +E780 +8480 +9480 +E580 +0400 +ENDCHAR +STARTCHAR U_6603 +ENCODING 26115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2040 +3FC0 +0000 +7FE0 +4200 +4500 +4880 +B060 +ENDCHAR +STARTCHAR U_6604 +ENCODING 26116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F700 +9400 +9400 +F7E0 +9440 +9440 +F680 +9900 +0A80 +1460 +ENDCHAR +STARTCHAR U_6605 +ENCODING 26117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +F240 +9240 +9280 +F2E0 +9240 +9240 +F540 +9880 +1140 +2620 +ENDCHAR +STARTCHAR U_6606 +ENCODING 26118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F00 +4100 +7F00 +4100 +7F00 +0000 +8480 +F500 +8640 +B440 +C3C0 +ENDCHAR +STARTCHAR U_6607 +ENCODING 26119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2040 +3FC0 +7900 +1100 +FFE0 +1100 +2100 +C100 +ENDCHAR +STARTCHAR U_6608 +ENCODING 26120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F080 +97E0 +9420 +F420 +97E0 +9420 +F400 +9400 +0800 +1000 +ENDCHAR +STARTCHAR U_6609 +ENCODING 26121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +9200 +F3C0 +9240 +9240 +F240 +9440 +0540 +1880 +ENDCHAR +STARTCHAR U_660A +ENCODING 26122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0000 +7FC0 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_660B +ENCODING 26123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FC0 +0800 +FFE0 +1100 +2080 +FFE0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_660C +ENCODING 26124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +7E +42 +7E +42 +7E +00 +FF +81 +FF +81 +FF +ENDCHAR +STARTCHAR U_660D +ENCODING 26125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +07C0 +F440 +9440 +9440 +F7C0 +9440 +9440 +9440 +F440 +97C0 +0440 +ENDCHAR +STARTCHAR U_660E +ENCODING 26126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +F220 +9220 +93E0 +F220 +9220 +93E0 +F220 +0420 +08A0 +3040 +ENDCHAR +STARTCHAR U_660F +ENCODING 26127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F00 +8800 +FFC0 +8400 +B240 +C1C0 +7F00 +4100 +7F00 +4100 +7F00 +ENDCHAR +STARTCHAR U_6610 +ENCODING 26128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +9440 +9820 +F7C0 +9240 +9240 +F240 +9240 +0540 +1880 +ENDCHAR +STARTCHAR U_6611 +ENCODING 26129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9280 +9440 +FA20 +9100 +97E0 +F040 +9080 +0080 +0100 +ENDCHAR +STARTCHAR U_6612 +ENCODING 26130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7E0 +9AA0 +92A0 +F2A0 +94A0 +98A0 +F120 +9220 +0420 +08C0 +ENDCHAR +STARTCHAR U_6613 +ENCODING 26131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +2000 +3FC0 +4A40 +9240 +2440 +4980 +ENDCHAR +STARTCHAR U_6614 +ENCODING 26132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7FC0 +1100 +FFE0 +0000 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_6615 +ENCODING 26133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F700 +9400 +9400 +F7E0 +9480 +9480 +F480 +9480 +0880 +1080 +ENDCHAR +STARTCHAR U_6616 +ENCODING 26134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F500 +9480 +9480 +F840 +9A40 +9220 +9200 +F480 +9FC0 +0440 +ENDCHAR +STARTCHAR U_6617 +ENCODING 26135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +0000 +0900 +10C0 +6040 +ENDCHAR +STARTCHAR U_6618 +ENCODING 26136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +1000 +1F80 +2080 +C380 +ENDCHAR +STARTCHAR U_6619 +ENCODING 26137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0000 +7FC0 +0000 +FFE0 +1080 +3FC0 +ENDCHAR +STARTCHAR U_661A +ENCODING 26138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +4440 +2A80 +1100 +3F80 +D0E0 +1F80 +1080 +1F80 +1080 +ENDCHAR +STARTCHAR U_661B +ENCODING 26139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F400 +9400 +97C0 +F440 +9440 +97C0 +9400 +F400 +9400 +07E0 +ENDCHAR +STARTCHAR U_661C +ENCODING 26140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +FFE0 +1000 +3FC0 +4940 +9240 +2440 +0980 +ENDCHAR +STARTCHAR U_661D +ENCODING 26141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3D00 +45C0 +A920 +1900 +3FE0 +D080 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_661E +ENCODING 26142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F100 +9100 +97E0 +F520 +9520 +96A0 +9460 +F420 +9420 +0460 +ENDCHAR +STARTCHAR U_661F +ENCODING 26143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +2400 +7FC0 +8400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_6620 +ENCODING 26144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +97C0 +9540 +F540 +9540 +9FE0 +F100 +9280 +0440 +0820 +ENDCHAR +STARTCHAR U_6621 +ENCODING 26145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F080 +9FE0 +9100 +F240 +9680 +9100 +F100 +9240 +0FE0 +0420 +ENDCHAR +STARTCHAR U_6622 +ENCODING 26146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F520 +9520 +9520 +F7E0 +9100 +9100 +9520 +F520 +9520 +07E0 +ENDCHAR +STARTCHAR U_6623 +ENCODING 26147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9280 +9440 +F920 +9280 +9500 +9240 +F080 +9100 +0600 +ENDCHAR +STARTCHAR U_6624 +ENCODING 26148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9280 +9440 +F920 +9080 +9FE0 +9040 +F280 +9100 +0080 +ENDCHAR +STARTCHAR U_6625 +ENCODING 26149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +0400 +3FC0 +0800 +FFE0 +30C0 +DCA0 +1780 +1080 +1F80 +ENDCHAR +STARTCHAR U_6626 +ENCODING 26150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0800 +FFE0 +2080 +D160 +1100 +6100 +ENDCHAR +STARTCHAR U_6627 +ENCODING 26151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +97C0 +9100 +F100 +9FE0 +9100 +F380 +9540 +0920 +0100 +ENDCHAR +STARTCHAR U_6628 +ENCODING 26152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +93E0 +9600 +FA00 +93C0 +9200 +F200 +93C0 +0200 +0200 +ENDCHAR +STARTCHAR U_6629 +ENCODING 26153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9FE0 +9100 +F7C0 +9100 +9380 +9540 +F920 +9100 +0100 +ENDCHAR +STARTCHAR U_662A +ENCODING 26154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +1100 +7FC0 +1100 +FFE0 +2100 +4100 +ENDCHAR +STARTCHAR U_662B +ENCODING 26155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F3E0 +9420 +9820 +F7A0 +94A0 +94A0 +F7A0 +94A0 +0020 +00C0 +ENDCHAR +STARTCHAR U_662C +ENCODING 26156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF00 +8100 +FF00 +8800 +FF80 +8240 +FFC0 +4100 +7F00 +4100 +7F00 +ENDCHAR +STARTCHAR U_662D +ENCODING 26157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F120 +9120 +9220 +F4C0 +9800 +93E0 +9220 +F220 +03E0 +0220 +ENDCHAR +STARTCHAR U_662E +ENCODING 26158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0100 +FFE0 +2120 +2120 +3A20 +C4C0 +ENDCHAR +STARTCHAR U_662F +ENCODING 26159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +1080 +1F80 +1080 +1F80 +0000 +FFE0 +2400 +2780 +5400 +8FE0 +ENDCHAR +STARTCHAR U_6630 +ENCODING 26160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0000 +7FC0 +0400 +2780 +2400 +FFE0 +ENDCHAR +STARTCHAR U_6631 +ENCODING 26161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0400 +7FC0 +0100 +1100 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_6632 +ENCODING 26162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +9FE0 +92A0 +FFE0 +9A80 +9FE0 +92A0 +F2E0 +9480 +0880 +ENDCHAR +STARTCHAR U_6633 +ENCODING 26163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +F500 +97C0 +9900 +F100 +9FE0 +9100 +F100 +9280 +0440 +1820 +ENDCHAR +STARTCHAR U_6634 +ENCODING 26164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +4100 +7F00 +4100 +7F00 +C000 +9780 +B480 +D480 +2580 +C400 +ENDCHAR +STARTCHAR U_6635 +ENCODING 26165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +9440 +97C0 +F400 +9520 +9540 +F580 +9520 +0920 +10E0 +ENDCHAR +STARTCHAR U_6636 +ENCODING 26166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3000 +09E0 +7920 +0B20 +EDE0 +2920 +2D20 +2BE0 +4900 +A880 +1060 +ENDCHAR +STARTCHAR U_6637 +ENCODING 26167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0000 +7FC0 +4A40 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_6638 +ENCODING 26168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F3C0 +9440 +9A80 +F300 +9480 +9860 +9300 +F080 +9300 +0080 +ENDCHAR +STARTCHAR U_6639 +ENCODING 26169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +E080 +AF00 +A120 +FD40 +A580 +A500 +E980 +A940 +1520 +0200 +ENDCHAR +STARTCHAR U_663A +ENCODING 26170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +FFE0 +0400 +7FC0 +4440 +4A40 +5140 +40C0 +ENDCHAR +STARTCHAR U_663B +ENCODING 26171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0000 +FBC0 +2240 +3A40 +C2C0 +0200 +ENDCHAR +STARTCHAR U_663C +ENCODING 26172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2100 +3F80 +60E0 +BF80 +2080 +3F80 +0000 +FFE0 +ENDCHAR +STARTCHAR U_663D +ENCODING 26173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F220 +9200 +9FE0 +F280 +92A0 +92A0 +92C0 +F480 +95A0 +0AE0 +ENDCHAR +STARTCHAR U_663E +ENCODING 26174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0A00 +4A40 +2A40 +2A80 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_663F +ENCODING 26175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E100 +AFE0 +A800 +E900 +A900 +A900 +AA00 +EA40 +17E0 +2220 +ENDCHAR +STARTCHAR U_6640 +ENCODING 26176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +E500 +B540 +AD40 +E580 +AD80 +B540 +A540 +E500 +0520 +38E0 +ENDCHAR +STARTCHAR U_6641 +ENCODING 26177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +4080 +7F80 +4080 +7F80 +9480 +5500 +3600 +D580 +2440 +C3C0 +ENDCHAR +STARTCHAR U_6642 +ENCODING 26178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9100 +9100 +FFE0 +9080 +9FE0 +9480 +F280 +0080 +0380 +ENDCHAR +STARTCHAR U_6643 +ENCODING 26179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +2480 +1500 +FFE0 +0A00 +1220 +61E0 +ENDCHAR +STARTCHAR U_6644 +ENCODING 26180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F240 +AA80 +A200 +FFE0 +A500 +A500 +A500 +E500 +0920 +30E0 +ENDCHAR +STARTCHAR U_6645 +ENCODING 26181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F000 +97C0 +9440 +F440 +97C0 +9440 +F440 +97C0 +0000 +1FE0 +ENDCHAR +STARTCHAR U_6646 +ENCODING 26182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9100 +9100 +FFE0 +9100 +9100 +97C0 +F100 +9100 +0FE0 +ENDCHAR +STARTCHAR U_6647 +ENCODING 26183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9240 +97A0 +F000 +9FE0 +9200 +F7C0 +9040 +0240 +0180 +ENDCHAR +STARTCHAR U_6648 +ENCODING 26184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9280 +9440 +F820 +9440 +9280 +9100 +F280 +0440 +1820 +ENDCHAR +STARTCHAR U_6649 +ENCODING 26185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +1100 +2A80 +7BC0 +0000 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_664A +ENCODING 26186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +9200 +9440 +FFA0 +9120 +9100 +F7C0 +9100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_664B +ENCODING 26187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0A00 +4A40 +2A80 +FFE0 +0000 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_664C +ENCODING 26188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E200 +AFE0 +A820 +EBA0 +AAA0 +AAA0 +ABA0 +EAA0 +A820 +0860 +ENDCHAR +STARTCHAR U_664D +ENCODING 26189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E820 +ABA0 +A820 +EBA0 +AAA0 +ABA0 +E820 +0820 +08A0 +0840 +ENDCHAR +STARTCHAR U_664E +ENCODING 26190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E480 +A480 +AFC0 +E480 +A480 +BFE0 +E000 +0480 +0840 +3040 +ENDCHAR +STARTCHAR U_664F +ENCODING 26191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F00 +2100 +3F00 +2100 +FFC0 +8840 +1000 +FFC0 +2200 +1E00 +F1C0 +ENDCHAR +STARTCHAR U_6650 +ENCODING 26192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +9100 +F240 +9780 +9120 +9240 +F480 +9140 +0E20 +ENDCHAR +STARTCHAR U_6651 +ENCODING 26193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +4100 +7F00 +4100 +7F00 +1000 +FF80 +8080 +9C80 +9480 +9D80 +ENDCHAR +STARTCHAR U_6652 +ENCODING 26194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E280 +A280 +AFE0 +EAA0 +AAA0 +AAE0 +EC20 +A820 +0FE0 +0820 +ENDCHAR +STARTCHAR U_6653 +ENCODING 26195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F3E0 +9E80 +9120 +F6E0 +9000 +9FE0 +F280 +92A0 +04A0 +18E0 +ENDCHAR +STARTCHAR U_6654 +ENCODING 26196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F2A0 +94C0 +9DA0 +F4A0 +9460 +9100 +FFE0 +9100 +0100 +0100 +ENDCHAR +STARTCHAR U_6655 +ENCODING 26197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +2280 +FFE0 +8820 +7FC0 +2400 +7FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_6656 +ENCODING 26198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F420 +9100 +9FE0 +F280 +97E0 +9080 +FFE0 +9080 +0080 +0080 +ENDCHAR +STARTCHAR U_6657 +ENCODING 26199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F280 +9440 +9920 +F7C0 +9040 +9080 +F7C0 +9440 +07C0 +0440 +ENDCHAR +STARTCHAR U_6658 +ENCODING 26200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +97C0 +9440 +F7C0 +9000 +97C0 +F100 +9FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_6659 +ENCODING 26201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F240 +97E0 +9240 +F420 +9BE0 +9640 +FA80 +9180 +0240 +0C20 +ENDCHAR +STARTCHAR U_665A +ENCODING 26202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E780 +A900 +BFC0 +EA40 +AA40 +AFC0 +A300 +E520 +0920 +11E0 +ENDCHAR +STARTCHAR U_665B +ENCODING 26203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +9440 +F7C0 +9440 +97C0 +F280 +92A0 +04A0 +1860 +ENDCHAR +STARTCHAR U_665C +ENCODING 26204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F00 +4100 +7F00 +4100 +7F00 +1400 +FF80 +0900 +FFC0 +2840 +C980 +ENDCHAR +STARTCHAR U_665D +ENCODING 26205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0480 +FFE0 +0480 +7FC0 +0400 +FFE0 +2080 +3F80 +2080 +FFE0 +ENDCHAR +STARTCHAR U_665E +ENCODING 26206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C60 +E380 +AC60 +A200 +FFE0 +A500 +AFE0 +F520 +A520 +0560 +0100 +ENDCHAR +STARTCHAR U_665F +ENCODING 26207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2040 +3FC0 +0280 +7FE0 +4240 +7A80 +4920 +96E0 +ENDCHAR +STARTCHAR U_6660 +ENCODING 26208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E140 +AFE0 +A900 +E920 +AF20 +AAC0 +AA80 +EAA0 +1560 +2220 +ENDCHAR +STARTCHAR U_6661 +ENCODING 26209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +E120 +AFE0 +A100 +EFE0 +A920 +AFE0 +E920 +AFE0 +0920 +0960 +ENDCHAR +STARTCHAR U_6662 +ENCODING 26210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC00 +37E0 +E480 +2480 +6880 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_6663 +ENCODING 26211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0460 +E580 +BF00 +A5E0 +E540 +A740 +AD40 +B540 +E540 +1640 +0840 +ENDCHAR +STARTCHAR U_6664 +ENCODING 26212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +97C0 +9240 +F240 +9FE0 +9000 +F7C0 +9440 +0440 +07C0 +ENDCHAR +STARTCHAR U_6665 +ENCODING 26213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +9820 +F7C0 +9000 +9FE0 +F280 +92A0 +04A0 +1860 +ENDCHAR +STARTCHAR U_6666 +ENCODING 26214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7E0 +9800 +97C0 +F540 +9540 +9FE0 +F540 +9540 +07E0 +0180 +ENDCHAR +STARTCHAR U_6667 +ENCODING 26215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F500 +97C0 +9900 +F100 +9FE0 +9000 +97C0 +F440 +0440 +07C0 +ENDCHAR +STARTCHAR U_6668 +ENCODING 26216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +7FE0 +4000 +5FC0 +4000 +7FE0 +5280 +99C0 +ENDCHAR +STARTCHAR U_6669 +ENCODING 26217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E780 +A900 +BFC0 +EA40 +AA40 +AFC0 +A500 +E500 +0920 +30E0 +ENDCHAR +STARTCHAR U_666A +ENCODING 26218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +E280 +AFE0 +AAA0 +EAA0 +AFE0 +AAA0 +EAA0 +BFE0 +0480 +1860 +ENDCHAR +STARTCHAR U_666B +ENCODING 26219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F1E0 +9100 +97C0 +F440 +97C0 +9440 +97C0 +F100 +9FE0 +0100 +ENDCHAR +STARTCHAR U_666C +ENCODING 26220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +9480 +F6C0 +9920 +9100 +FFE0 +9100 +0100 +0100 +ENDCHAR +STARTCHAR U_666D +ENCODING 26221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E920 +ABA0 +A920 +EFE0 +A820 +ABA0 +AAA0 +EBA0 +1020 +20C0 +ENDCHAR +STARTCHAR U_666E +ENCODING 26222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +4A40 +2A80 +FFE0 +0000 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_666F +ENCODING 26223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +2080 +3F80 +2480 +4C40 +ENDCHAR +STARTCHAR U_6670 +ENCODING 26224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E460 +A580 +BF00 +E5E0 +AF40 +B540 +A540 +E540 +0540 +0640 +ENDCHAR +STARTCHAR U_6671 +ENCODING 26225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0120 +F540 +9580 +9A80 +F440 +9920 +9540 +F580 +9B00 +0480 +1860 +ENDCHAR +STARTCHAR U_6672 +ENCODING 26226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +ECE0 +A820 +AEE0 +E820 +AFE0 +AAA0 +E280 +A2A0 +04A0 +1860 +ENDCHAR +STARTCHAR U_6673 +ENCODING 26227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FB80 +2200 +73E0 +AA80 +2480 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_6674 +ENCODING 26228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9100 +97C0 +F100 +9FE0 +9440 +F740 +95C0 +0440 +04C0 +ENDCHAR +STARTCHAR U_6675 +ENCODING 26229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7BC0 +4C40 +7A80 +4100 +86E0 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_6676 +ENCODING 26230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0000 +FBE0 +8A20 +FBE0 +8A20 +FBE0 +ENDCHAR +STARTCHAR U_6677 +ENCODING 26231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2040 +3FC0 +6500 +99E0 +2500 +7FE0 +A080 +3F80 +ENDCHAR +STARTCHAR U_6678 +ENCODING 26232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0100 +F9E0 +1240 +5D40 +5180 +FE60 +ENDCHAR +STARTCHAR U_6679 +ENCODING 26233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +97C0 +9440 +F7C0 +9200 +97E0 +FAA0 +94A0 +0920 +06C0 +ENDCHAR +STARTCHAR U_667A +ENCODING 26234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4000 +7BC0 +A240 +FE40 +33C0 +4A40 +BF80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_667B +ENCODING 26235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9280 +97C0 +FD60 +97C0 +9540 +F7C0 +9120 +0120 +00E0 +ENDCHAR +STARTCHAR U_667C +ENCODING 26236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A820 +A400 +E7E0 +A8A0 +B5A0 +E2E0 +A480 +08A0 +10E0 +ENDCHAR +STARTCHAR U_667D +ENCODING 26237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E480 +BFE0 +A480 +EEC0 +ADA0 +B6A0 +A4A0 +E480 +0480 +0480 +ENDCHAR +STARTCHAR U_667E +ENCODING 26238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9000 +97C0 +F440 +97C0 +9100 +F380 +9540 +0920 +1320 +ENDCHAR +STARTCHAR U_667F +ENCODING 26239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E440 +A7C0 +A440 +E7C0 +A000 +AFE0 +E820 +0FE0 +0820 +0FE0 +ENDCHAR +STARTCHAR U_6680 +ENCODING 26240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F480 +9BE0 +9280 +F480 +9C80 +95C0 +F480 +9480 +0480 +07E0 +ENDCHAR +STARTCHAR U_6681 +ENCODING 26241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A200 +AA80 +FFE0 +A880 +A880 +BFC0 +E500 +0920 +30E0 +ENDCHAR +STARTCHAR U_6682 +ENCODING 26242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FB80 +5200 +FBE0 +1280 +F480 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_6683 +ENCODING 26243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2880 +2480 +3F80 +0A00 +7BC0 +0A00 +7BC0 +0A00 +FBE0 +0A00 +ENDCHAR +STARTCHAR U_6684 +ENCODING 26244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9820 +9FE0 +F000 +97C0 +94C0 +F540 +97C0 +0000 +0FE0 +ENDCHAR +STARTCHAR U_6685 +ENCODING 26245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +EFE0 +A800 +ABC0 +EE40 +BBC0 +AA40 +ABC0 +E800 +0FE0 +0800 +ENDCHAR +STARTCHAR U_6686 +ENCODING 26246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +A880 +AE80 +EAE0 +ABA0 +AAA0 +EAA0 +AA80 +0A20 +15E0 +ENDCHAR +STARTCHAR U_6687 +ENCODING 26247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EA20 +AEE0 +A800 +E9E0 +AF40 +A940 +EF40 +A880 +0940 +0A20 +ENDCHAR +STARTCHAR U_6688 +ENCODING 26248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2880 +2680 +FFE0 +8420 +7FC0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_6689 +ENCODING 26249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E820 +A100 +AFE0 +E540 +A7C0 +A540 +E7C0 +A100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_668A +ENCODING 26250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +97C0 +9440 +F7C0 +9440 +97C0 +F440 +97C0 +0280 +0C60 +ENDCHAR +STARTCHAR U_668B +ENCODING 26251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +89E0 +FB40 +9080 +FD40 +8A20 +FF80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_668C +ENCODING 26252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F40 +F180 +96A0 +9240 +F420 +9BC0 +9100 +FFE0 +9280 +0440 +0820 +ENDCHAR +STARTCHAR U_668D +ENCODING 26253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +97C0 +9440 +F7C0 +9200 +97E0 +F8A0 +9560 +07A0 +00C0 +ENDCHAR +STARTCHAR U_668E +ENCODING 26254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +A480 +A200 +EFC0 +AA40 +BFE0 +E200 +0500 +08E0 +3040 +ENDCHAR +STARTCHAR U_668F +ENCODING 26255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A240 +A280 +FFE0 +A400 +AFC0 +B440 +E7C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_6690 +ENCODING 26256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9140 +9FE0 +F440 +97C0 +9100 +FFE0 +9500 +0FE0 +0100 +ENDCHAR +STARTCHAR U_6691 +ENCODING 26257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +7FC0 +0500 +FFE0 +0880 +3F80 +D080 +1F80 +ENDCHAR +STARTCHAR U_6692 +ENCODING 26258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E440 +A7C0 +A440 +E7C0 +A900 +AFC0 +B100 +E7C0 +0100 +1FE0 +ENDCHAR +STARTCHAR U_6693 +ENCODING 26259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +2BE0 +FC40 +3240 +5180 +A260 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_6694 +ENCODING 26260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +AFE0 +AAA0 +EAA0 +AFE0 +A920 +EFE0 +0920 +0860 +ENDCHAR +STARTCHAR U_6695 +ENCODING 26261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +AFE0 +EAA0 +A920 +AFE0 +E920 +A380 +0540 +0920 +ENDCHAR +STARTCHAR U_6696 +ENCODING 26262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +FA20 +9540 +9FE0 +F200 +9FE0 +9200 +F7C0 +9A40 +1180 +2E60 +ENDCHAR +STARTCHAR U_6697 +ENCODING 26263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9440 +9280 +FFE0 +9000 +97C0 +F440 +97C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_6698 +ENCODING 26264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +97C0 +9440 +FFE0 +9200 +97E0 +FAA0 +9520 +0220 +0CC0 +ENDCHAR +STARTCHAR U_6699 +ENCODING 26265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9200 +97C0 +F200 +9FE0 +9440 +FFE0 +9440 +07C0 +0440 +ENDCHAR +STARTCHAR U_669A +ENCODING 26266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +EE20 +A540 +A280 +E7E0 +A900 +AFE0 +B100 +E920 +0FE0 +0820 +ENDCHAR +STARTCHAR U_669B +ENCODING 26267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +A200 +AFC0 +E200 +BFE0 +A400 +E7C0 +0900 +3100 +1FE0 +ENDCHAR +STARTCHAR U_669C +ENCODING 26268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +4A40 +5140 +FFE0 +0000 +3FC0 +2040 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_669D +ENCODING 26269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E820 +A7C0 +A440 +E7C0 +A440 +A7C0 +E100 +AFE0 +0280 +0C60 +ENDCHAR +STARTCHAR U_669E +ENCODING 26270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E7C0 +A440 +A7C0 +A440 +E7C0 +A100 +BFE0 +E540 +0920 +1120 +ENDCHAR +STARTCHAR U_669F +ENCODING 26271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +FFE0 +9000 +9FE0 +F000 +97C0 +9440 +F7C0 +9440 +0280 +0FE0 +ENDCHAR +STARTCHAR U_66A0 +ENCODING 26272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +FFE0 +1100 +7FC0 +4040 +5F40 +5140 +5FC0 +ENDCHAR +STARTCHAR U_66A1 +ENCODING 26273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FA40 +94A0 +9780 +F000 +9FE0 +92A0 +FA60 +96A0 +0B20 +0660 +ENDCHAR +STARTCHAR U_66A2 +ENCODING 26274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +AA40 +FFE0 +AA00 +FFE0 +AAA0 +24A0 +2920 +22C0 +ENDCHAR +STARTCHAR U_66A3 +ENCODING 26275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +EFC0 +B200 +A100 +FFC0 +B540 +AE40 +BFC0 +EE40 +1540 +24A0 +ENDCHAR +STARTCHAR U_66A4 +ENCODING 26276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A840 +AFC0 +E840 +AFC0 +A200 +FFE0 +A540 +1BA0 +0100 +ENDCHAR +STARTCHAR U_66A5 +ENCODING 26277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +EA40 +A940 +AFC0 +E200 +AFC0 +AA40 +BFE0 +E480 +0300 +1CC0 +ENDCHAR +STARTCHAR U_66A6 +ENCODING 26278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4880 +7FE0 +4880 +5DC0 +6AA0 +5FC0 +5040 +5FC0 +5040 +9FC0 +ENDCHAR +STARTCHAR U_66A7 +ENCODING 26279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0060 +EFA0 +A540 +AFE0 +E920 +A7E0 +A200 +E3C0 +A640 +0980 +1660 +ENDCHAR +STARTCHAR U_66A8 +ENCODING 26280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F7C0 +9500 +FFC0 +9300 +F540 +99C0 +FF00 +2100 +3F00 +2100 +FFC0 +ENDCHAR +STARTCHAR U_66A9 +ENCODING 26281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F940 +9580 +9A40 +F420 +9BC0 +9000 +FFE0 +9540 +0920 +1320 +ENDCHAR +STARTCHAR U_66AA +ENCODING 26282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +EFE0 +A440 +A7C0 +E100 +AFE0 +A920 +EDA0 +AB60 +0DA0 +0960 +ENDCHAR +STARTCHAR U_66AB +ENCODING 26283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF00 +55E0 +7D40 +5540 +FFC0 +1040 +1FC0 +1040 +1FC0 +1040 +ENDCHAR +STARTCHAR U_66AC +ENCODING 26284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7BC0 +1140 +FD40 +4A40 +9560 +7F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_66AD +ENCODING 26285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F7C0 +9440 +97C0 +F440 +97C0 +9920 +9540 +F920 +9FE0 +0100 +ENDCHAR +STARTCHAR U_66AE +ENCODING 26286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +3F80 +2080 +3F80 +2080 +FFE0 +2080 +7FC0 +A0A0 +3F80 +ENDCHAR +STARTCHAR U_66AF +ENCODING 26287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F280 +97C0 +9440 +F7C0 +9440 +97C0 +F100 +9FE0 +0280 +1C60 +ENDCHAR +STARTCHAR U_66B0 +ENCODING 26288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +E940 +B2A0 +A400 +E880 +B880 +AAE0 +EA80 +AA80 +0B80 +0C60 +ENDCHAR +STARTCHAR U_66B1 +ENCODING 26289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F540 +97E0 +9540 +F7E0 +9500 +95E0 +F720 +95E0 +0400 +07E0 +ENDCHAR +STARTCHAR U_66B2 +ENCODING 26290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9280 +9FE0 +F440 +97C0 +9440 +F7C0 +9100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_66B3 +ENCODING 26291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1EE0 +E440 +BEE0 +A440 +FEE0 +A440 +AFC0 +A040 +EFC0 +0040 +0FC0 +ENDCHAR +STARTCHAR U_66B4 +ENCODING 26292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +7FC0 +1100 +FFE0 +5540 +8E20 +1500 +6CC0 +ENDCHAR +STARTCHAR U_66B5 +ENCODING 26293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +9280 +9100 +F7C0 +9540 +9FE0 +F100 +9FE0 +0280 +1C60 +ENDCHAR +STARTCHAR U_66B6 +ENCODING 26294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E900 +BDE0 +AA00 +E9E0 +A880 +AE80 +AAE0 +EA80 +1380 +2460 +ENDCHAR +STARTCHAR U_66B7 +ENCODING 26295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9540 +97C0 +F540 +97C0 +90A0 +FFE0 +9480 +0280 +0100 +ENDCHAR +STARTCHAR U_66B8 +ENCODING 26296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +B4A0 +AFC0 +F460 +A7C0 +A440 +E7C0 +A540 +0920 +1320 +ENDCHAR +STARTCHAR U_66B9 +ENCODING 26297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +1080 +9F80 +5080 +1F80 +CA00 +5F80 +7200 +5F80 +5200 +BFE0 +ENDCHAR +STARTCHAR U_66BA +ENCODING 26298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +AFE0 +A920 +EFE0 +A920 +AFE0 +E100 +AFE0 +0100 +0100 +ENDCHAR +STARTCHAR U_66BB +ENCODING 26299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +97C0 +9440 +F7C0 +9100 +9FE0 +F440 +97C0 +0940 +1320 +ENDCHAR +STARTCHAR U_66BC +ENCODING 26300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +73E0 +FA40 +AD40 +F880 +AB60 +7F80 +4080 +7F80 +4080 +7F80 +ENDCHAR +STARTCHAR U_66BD +ENCODING 26301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +E540 +BFE0 +A580 +F960 +A940 +AFE0 +FB40 +A5E0 +0840 +3040 +ENDCHAR +STARTCHAR U_66BE +ENCODING 26302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FF80 +AAE0 +AEA0 +E0A0 +BFA0 +A2A0 +E4A0 +BE40 +04A0 +0D20 +ENDCHAR +STARTCHAR U_66BF +ENCODING 26303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +A200 +AFC0 +E840 +AFC0 +A480 +BFE0 +EFC0 +0840 +0FC0 +ENDCHAR +STARTCHAR U_66C0 +ENCODING 26304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +9FE0 +9820 +F7C0 +9000 +97C0 +F440 +97C0 +0280 +0FE0 +ENDCHAR +STARTCHAR U_66C1 +ENCODING 26305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +8A80 +FFE0 +8180 +B2A0 +C460 +3F80 +2880 +2480 +FFE0 +ENDCHAR +STARTCHAR U_66C2 +ENCODING 26306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EFC0 +A480 +BFE0 +E100 +AFC0 +A940 +EFC0 +0940 +0FC0 +0480 +ENDCHAR +STARTCHAR U_66C3 +ENCODING 26307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E7C0 +B140 +AFE0 +E140 +BBC0 +AD40 +EB80 +AD40 +0920 +17E0 +ENDCHAR +STARTCHAR U_66C4 +ENCODING 26308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EFE0 +A280 +AFE0 +E540 +AFE0 +A540 +EFE0 +A100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_66C5 +ENCODING 26309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2440 +3FC0 +1100 +7FC0 +1500 +FFE0 +1500 +1500 +7FC0 +0400 +ENDCHAR +STARTCHAR U_66C6 +ENCODING 26310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5DC0 +4880 +7FE0 +5DC0 +6AA0 +5FC0 +5040 +5FC0 +9040 +9FC0 +ENDCHAR +STARTCHAR U_66C7 +ENCODING 26311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +7FC0 +0400 +FFE0 +9520 +3F80 +0000 +FFE0 +1080 +3F40 +ENDCHAR +STARTCHAR U_66C8 +ENCODING 26312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A280 +A100 +FFE0 +A540 +A7C0 +E540 +AFE0 +0100 +1FE0 +ENDCHAR +STARTCHAR U_66C9 +ENCODING 26313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9100 +9FE0 +F440 +9EE0 +9440 +FFE0 +9480 +04A0 +1860 +ENDCHAR +STARTCHAR U_66CA +ENCODING 26314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +92A0 +9FC0 +F2A0 +9FE0 +9440 +F7C0 +9440 +07C0 +0C60 +ENDCHAR +STARTCHAR U_66CB +ENCODING 26315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F280 +9FE0 +9AA0 +FFE0 +9440 +97C0 +F440 +9FE0 +0100 +0100 +ENDCHAR +STARTCHAR U_66CC +ENCODING 26316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +7BC0 +0440 +FFE0 +A0A0 +5F40 +0400 +FFE0 +ENDCHAR +STARTCHAR U_66CD +ENCODING 26317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F7C0 +9540 +96C0 +F540 +97C0 +9540 +9920 +FFE0 +9100 +0100 +ENDCHAR +STARTCHAR U_66CE +ENCODING 26318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EAA0 +AFE0 +A100 +EFE0 +A100 +BFE0 +E440 +AFE0 +0100 +0100 +ENDCHAR +STARTCHAR U_66CF +ENCODING 26319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2C40 +2340 +3FC0 +4AE0 +AEA0 +EAC0 +5EA0 +E8A0 +2AE0 +CD80 +ENDCHAR +STARTCHAR U_66D0 +ENCODING 26320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +FFE0 +AAA0 +FFE0 +2400 +3F80 +4400 +1F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_66D1 +ENCODING 26321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +2900 +FFE0 +AAA0 +FFE0 +1200 +E9E0 +1400 +6900 +0200 +3C00 +ENDCHAR +STARTCHAR U_66D2 +ENCODING 26322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EE80 +AAE0 +AEA0 +EAA0 +BFA0 +A8A0 +EEA0 +AA40 +12A0 +2520 +ENDCHAR +STARTCHAR U_66D3 +ENCODING 26323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +7FC0 +4440 +7FC0 +0400 +FFE0 +2480 +DF60 +1500 +6EC0 +ENDCHAR +STARTCHAR U_66D4 +ENCODING 26324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EA80 +BF80 +AAE0 +A920 +EEA0 +B2A0 +AEA0 +AA40 +EE40 +02A0 +0D20 +ENDCHAR +STARTCHAR U_66D5 +ENCODING 26325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E880 +BFE0 +AA40 +EFE0 +A800 +AFC0 +A800 +EFC0 +1440 +27C0 +ENDCHAR +STARTCHAR U_66D6 +ENCODING 26326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E540 +AFE0 +A920 +E6C0 +ABA0 +A200 +E7C0 +AC80 +0300 +1CE0 +ENDCHAR +STARTCHAR U_66D7 +ENCODING 26327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +14A0 +ECC0 +BFE0 +A480 +EFC0 +A200 +AFC0 +E200 +1FE0 +0A80 +3260 +ENDCHAR +STARTCHAR U_66D8 +ENCODING 26328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E100 +AFE0 +A920 +EAA0 +BFE0 +A100 +EFE0 +AAA0 +0AA0 +0860 +ENDCHAR +STARTCHAR U_66D9 +ENCODING 26329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EAA0 +AFE0 +A100 +E7A0 +A140 +AFE0 +E440 +0FC0 +1440 +07C0 +ENDCHAR +STARTCHAR U_66DA +ENCODING 26330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EFE0 +A280 +AFE0 +E820 +AFC0 +AA40 +F580 +AAC0 +04A0 +0B20 +ENDCHAR +STARTCHAR U_66DB +ENCODING 26331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E100 +BFE0 +AAA0 +E920 +AFE0 +A100 +EFE0 +A100 +1FE0 +12A0 +ENDCHAR +STARTCHAR U_66DC +ENCODING 26332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +A660 +AAA0 +E7E0 +AC80 +B7E0 +E480 +A7E0 +0480 +07E0 +ENDCHAR +STARTCHAR U_66DD +ENCODING 26333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +AFC0 +A840 +FFE0 +A280 +BFE0 +E540 +ABA0 +0540 +0B20 +ENDCHAR +STARTCHAR U_66DE +ENCODING 26334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +F280 +9FE0 +9280 +F7C0 +9540 +97C0 +F540 +9FE0 +0960 +0BA0 +ENDCHAR +STARTCHAR U_66DF +ENCODING 26335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +FFE0 +AAA0 +FFE0 +4000 +7F80 +4000 +7FE0 +5540 +98E0 +ENDCHAR +STARTCHAR U_66E0 +ENCODING 26336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +AA40 +AFE0 +EA40 +AFE0 +AD40 +EFC0 +AD40 +17C0 +2C60 +ENDCHAR +STARTCHAR U_66E1 +ENCODING 26337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +1500 +7FC0 +5540 +FFE0 +9120 +9F20 +1100 +1F00 +1100 +FFE0 +ENDCHAR +STARTCHAR U_66E2 +ENCODING 26338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A920 +AFE0 +E540 +AEE0 +A440 +E7C0 +A100 +0540 +0920 +ENDCHAR +STARTCHAR U_66E3 +ENCODING 26339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +A480 +A780 +E020 +BFC0 +A480 +E7A0 +BCE0 +0B20 +12A0 +ENDCHAR +STARTCHAR U_66E4 +ENCODING 26340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E100 +AFE0 +A920 +E7C0 +A500 +AFE0 +F500 +A7C0 +0500 +07E0 +ENDCHAR +STARTCHAR U_66E5 +ENCODING 26341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +E200 +AFE0 +AA20 +EF80 +AA40 +ABC0 +AA80 +EFC0 +1540 +3FE0 +ENDCHAR +STARTCHAR U_66E6 +ENCODING 26342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EFC0 +A100 +BFE0 +E4A0 +BFE0 +A480 +FEC0 +AAA0 +0360 +0C20 +ENDCHAR +STARTCHAR U_66E7 +ENCODING 26343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2C40 +2340 +3FC0 +FC80 +4BE0 +FEA0 +D7E0 +FC80 +A4E0 +AB20 +ENDCHAR +STARTCHAR U_66E8 +ENCODING 26344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04E0 +FF80 +AAE0 +A420 +FFE0 +AA80 +AEE0 +EA80 +AEE0 +0AA0 +0EE0 +ENDCHAR +STARTCHAR U_66E9 +ENCODING 26345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +FFE0 +4A40 +7BC0 +1100 +FFE0 +1100 +FFE0 +5140 +BCE0 +ENDCHAR +STARTCHAR U_66EA +ENCODING 26346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EAA0 +AFE0 +A940 +F5E0 +BA40 +ABE0 +F640 +03E0 +2A40 +2BE0 +ENDCHAR +STARTCHAR U_66EB +ENCODING 26347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E40 +50A0 +EFC0 +5080 +EFE0 +5940 +BFE0 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_66EC +ENCODING 26348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +E000 +AFE0 +AAA0 +EFE0 +AAA0 +AFE0 +EC80 +B6E0 +2480 +0EE0 +ENDCHAR +STARTCHAR U_66ED +ENCODING 26349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FFE0 +B4A0 +AFE0 +EAA0 +AFE0 +A100 +EFE0 +A100 +0FE0 +0AA0 +ENDCHAR +STARTCHAR U_66EE +ENCODING 26350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +AFE0 +AA80 +EAE0 +AFA0 +A9A0 +EFA0 +A940 +1FA0 +2120 +ENDCHAR +STARTCHAR U_66EF +ENCODING 26351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +F040 +BFC0 +F500 +BFC0 +B240 +BFE0 +F2A0 +1FA0 +22A0 +5F60 +ENDCHAR +STARTCHAR U_66F0 +ENCODING 26352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +FF80 +8080 +8080 +8080 +FE80 +8080 +8080 +8080 +FF80 +8080 +ENDCHAR +STARTCHAR U_66F1 +ENCODING 26353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +8080 +FF80 +8880 +8880 +FF80 +8880 +0800 +0800 +0800 +0800 +ENDCHAR +STARTCHAR U_66F2 +ENCODING 26354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +1200 +FFC0 +9240 +9240 +9240 +FFC0 +9240 +9240 +FFC0 +8040 +ENDCHAR +STARTCHAR U_66F3 +ENCODING 26355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +4440 +7FC0 +4440 +7FC0 +0480 +0300 +0220 +1DA0 +E060 +ENDCHAR +STARTCHAR U_66F4 +ENCODING 26356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0200 +3FC0 +2240 +3FC0 +2240 +3FC0 +0A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_66F5 +ENCODING 26357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +7FC0 +4440 +7FC0 +4440 +7FC0 +0500 +0220 +0DA0 +F060 +ENDCHAR +STARTCHAR U_66F6 +ENCODING 26358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +2000 +7F80 +9280 +2480 +4A80 +1100 +7F80 +4080 +7F80 +4080 +7F80 +ENDCHAR +STARTCHAR U_66F7 +ENCODING 26359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +1040 +1FC0 +1040 +1FC0 +1000 +3FE0 +6520 +A8A0 +3F20 +00C0 +ENDCHAR +STARTCHAR U_66F8 +ENCODING 26360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0480 +FFE0 +0480 +7FC0 +0400 +FFE0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_66F9 +ENCODING 26361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4940 +7FC0 +4940 +7FC0 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_66FA +ENCODING 26362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +4440 +7FC0 +4440 +7FC0 +2880 +2480 +3F80 +ENDCHAR +STARTCHAR U_66FB +ENCODING 26363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2040 +3FC0 +4080 +7BC0 +8A80 +57E0 +2080 +C080 +ENDCHAR +STARTCHAR U_66FC +ENCODING 26364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F00 +2900 +2500 +FFC0 +9240 +FFC0 +0000 +3F00 +1200 +0C00 +F3C0 +ENDCHAR +STARTCHAR U_66FD +ENCODING 26365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +2100 +1200 +FF80 +8880 +FF80 +8880 +FF80 +4100 +7F00 +4100 +7F00 +ENDCHAR +STARTCHAR U_66FE +ENCODING 26366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +2400 +FF80 +C980 +AA80 +FF80 +0000 +7F00 +4100 +7F00 +4100 +7F00 +ENDCHAR +STARTCHAR U_66FF +ENCODING 26367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +3180 +4A40 +BFA0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_6700 +ENCODING 26368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +FFE0 +4800 +7FC0 +4A40 +7980 +C980 +0E60 +ENDCHAR +STARTCHAR U_6701 +ENCODING 26369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A280 +FBE0 +2180 +6AA0 +B4E0 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_6702 +ENCODING 26370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2C80 +2680 +FFE0 +4900 +7900 +4FC0 +7940 +4940 +FA40 +0CC0 +ENDCHAR +STARTCHAR U_6703 +ENCODING 26371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1100 +2E80 +C060 +7FC0 +5540 +7FC0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_6704 +ENCODING 26372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F900 +AFE0 +FAA0 +A920 +FFE0 +A900 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_6705 +ENCODING 26373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +27C0 +FA00 +27E0 +4CA0 +9560 +EFA0 +0040 +ENDCHAR +STARTCHAR U_6706 +ENCODING 26374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A00 +5200 +FBE0 +ACA0 +F8A0 +A960 +FA60 +48A0 +7920 +4AA0 +7840 +ENDCHAR +STARTCHAR U_6707 +ENCODING 26375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3080 +4BE0 +B6A0 +03E0 +FEA0 +97E0 +FC80 +4A80 +7FE0 +4880 +7880 +ENDCHAR +STARTCHAR U_6708 +ENCODING 26376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +3F80 +2080 +2080 +3F80 +2080 +2080 +3F80 +2080 +2080 +4280 +8100 +ENDCHAR +STARTCHAR U_6709 +ENCODING 26377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +1000 +1F80 +3080 +5F80 +9080 +1F80 +1080 +1080 +1180 +ENDCHAR +STARTCHAR U_670A +ENCODING 26378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5000 +5000 +7000 +5FE0 +5280 +7280 +5280 +52A0 +94A0 +B860 +ENDCHAR +STARTCHAR U_670B +ENCODING 26379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79E0 +4920 +4920 +79E0 +4920 +4920 +79E0 +4920 +4920 +4920 +9A60 +ENDCHAR +STARTCHAR U_670C +ENCODING 26380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +7A80 +4A40 +7A40 +4C20 +4BC0 +7940 +4940 +4940 +4A40 +9480 +ENDCHAR +STARTCHAR U_670D +ENCODING 26381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4A20 +4A20 +7AE0 +4A00 +4BE0 +7A20 +4AC0 +4A40 +8AA0 +9B20 +ENDCHAR +STARTCHAR U_670E +ENCODING 26382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7100 +5280 +7440 +5A20 +5100 +77C0 +5040 +5280 +5100 +A100 +ENDCHAR +STARTCHAR U_670F +ENCODING 26383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5520 +5520 +7520 +57E0 +5100 +7100 +5520 +5520 +97E0 +B420 +ENDCHAR +STARTCHAR U_6710 +ENCODING 26384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +5200 +53E0 +7420 +5BA0 +52A0 +72A0 +53A0 +52A0 +9020 +B0C0 +ENDCHAR +STARTCHAR U_6711 +ENCODING 26385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7140 +5540 +5540 +7540 +5FE0 +5540 +7540 +55C0 +5400 +57E0 +A000 +ENDCHAR +STARTCHAR U_6712 +ENCODING 26386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5100 +57E0 +7520 +56A0 +5560 +7520 +56A0 +5460 +9420 +B460 +ENDCHAR +STARTCHAR U_6713 +ENCODING 26387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5280 +5AA0 +76C0 +5280 +52C0 +76A0 +5A80 +52A0 +94A0 +B860 +ENDCHAR +STARTCHAR U_6714 +ENCODING 26388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +2920 +7F20 +11E0 +5520 +5520 +7DE0 +1120 +1120 +2220 +C460 +ENDCHAR +STARTCHAR U_6715 +ENCODING 26389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7440 +5240 +5080 +77C0 +5100 +5100 +7FE0 +5100 +5280 +9440 +B820 +ENDCHAR +STARTCHAR U_6716 +ENCODING 26390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57C0 +5440 +77C0 +5440 +57C0 +7620 +5540 +5480 +5540 +A620 +ENDCHAR +STARTCHAR U_6717 +ENCODING 26391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +23E0 +FA20 +8A20 +FBE0 +8A20 +FA20 +A3E0 +9220 +AA20 +CC60 +ENDCHAR +STARTCHAR U_6718 +ENCODING 26392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5240 +5FA0 +7440 +5A20 +53C0 +7640 +5280 +5100 +9280 +BC60 +ENDCHAR +STARTCHAR U_6719 +ENCODING 26393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01E0 +FD20 +B5E0 +CD20 +8520 +BDE0 +A520 +A520 +FD20 +02A0 +0C40 +ENDCHAR +STARTCHAR U_671A +ENCODING 26394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +3FC0 +0000 +7BC0 +4A40 +7BC0 +4A40 +7BC0 +0440 +ENDCHAR +STARTCHAR U_671B +ENCODING 26395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +1240 +FBC0 +2240 +3BC0 +2440 +7FC0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_671C +ENCODING 26396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5000 +73C0 +5240 +57C0 +7080 +5100 +5FE0 +5100 +B300 +ENDCHAR +STARTCHAR U_671D +ENCODING 26397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF20 +1120 +7DE0 +4520 +7D20 +45E0 +7D20 +1120 +FD20 +1260 +ENDCHAR +STARTCHAR U_671E +ENCODING 26398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1900 +1500 +FFE0 +2080 +5F40 +9120 +1F00 +1100 +1300 +ENDCHAR +STARTCHAR U_671F +ENCODING 26399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +FD20 +4920 +79E0 +4920 +7920 +49E0 +FD20 +0120 +4920 +8660 +ENDCHAR +STARTCHAR U_6720 +ENCODING 26400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7440 +5FE0 +5440 +7100 +57C0 +5540 +7540 +5FE0 +5280 +9440 +B820 +ENDCHAR +STARTCHAR U_6721 +ENCODING 26401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7AA0 +4B60 +4AA0 +7BE0 +4940 +4E20 +79E0 +4B40 +4C80 +8940 +9E20 +ENDCHAR +STARTCHAR U_6722 +ENCODING 26402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9E0 +A120 +F9E0 +8920 +F9E0 +A220 +FFC0 +0400 +7F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_6723 +ENCODING 26403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5280 +7100 +5FE0 +5540 +77C0 +5540 +5FE0 +9100 +BFE0 +ENDCHAR +STARTCHAR U_6724 +ENCODING 26404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79E0 +4920 +79E0 +4920 +9240 +79E0 +4920 +69A0 +5960 +69A0 +9240 +ENDCHAR +STARTCHAR U_6725 +ENCODING 26405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7240 +56C0 +5360 +7240 +55A0 +5FE0 +7A20 +57C0 +5240 +5240 +A4C0 +ENDCHAR +STARTCHAR U_6726 +ENCODING 26406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5FE0 +5280 +7FE0 +5820 +5FE0 +7540 +5A80 +55C0 +9AA0 +B500 +ENDCHAR +STARTCHAR U_6727 +ENCODING 26407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +AA80 +A4E0 +FF20 +AAE0 +AA80 +EEE0 +AA80 +AEE0 +AAA0 +AAE0 +ENDCHAR +STARTCHAR U_6728 +ENCODING 26408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0400 +FFE0 +0400 +0E00 +1500 +2480 +C460 +0440 +0400 +ENDCHAR +STARTCHAR U_6729 +ENCODING 26409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +2500 +2480 +2480 +4440 +8440 +1400 +0800 +ENDCHAR +STARTCHAR U_672A +ENCODING 26410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +0400 +FFE0 +0400 +0E00 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_672B +ENCODING 26411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0400 +7FC0 +0400 +0E00 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_672C +ENCODING 26412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +0E00 +1500 +1500 +2480 +4440 +9F20 +0400 +0400 +ENDCHAR +STARTCHAR U_672D +ENCODING 26413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7D00 +1100 +1900 +3500 +5500 +9100 +1120 +1120 +10E0 +ENDCHAR +STARTCHAR U_672E +ENCODING 26414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +0440 +FFE0 +0400 +1480 +1480 +1480 +1480 +2480 +4460 +0400 +ENDCHAR +STARTCHAR U_672F +ENCODING 26415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +0400 +FFE0 +0400 +0E00 +1500 +2480 +4440 +8420 +0400 +ENDCHAR +STARTCHAR U_6730 +ENCODING 26416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0E00 +1500 +E4E0 +7F80 +0200 +0C00 +1040 +2040 +1FC0 +ENDCHAR +STARTCHAR U_6731 +ENCODING 26417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +3FC0 +4400 +0400 +FFE0 +0E00 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_6732 +ENCODING 26418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2100 +FD00 +2100 +7100 +6A80 +AA80 +2440 +2860 +3040 +ENDCHAR +STARTCHAR U_6733 +ENCODING 26419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +FE80 +2280 +3280 +6A80 +6A40 +A240 +2440 +2420 +2820 +ENDCHAR +STARTCHAR U_6734 +ENCODING 26420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7D00 +1180 +1940 +3520 +5520 +9100 +1100 +1100 +1100 +ENDCHAR +STARTCHAR U_6735 +ENCODING 26421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +1100 +1100 +20E0 +4400 +0400 +FFE0 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_6736 +ENCODING 26422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +1100 +13C0 +2040 +2140 +4480 +FFE0 +0E00 +3580 +C460 +0400 +ENDCHAR +STARTCHAR U_6737 +ENCODING 26423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2120 +F920 +2120 +7120 +6A20 +AA20 +2220 +24A0 +2840 +ENDCHAR +STARTCHAR U_6738 +ENCODING 26424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2120 +3120 +6920 +6120 +A120 +2220 +24A0 +2840 +ENDCHAR +STARTCHAR U_6739 +ENCODING 26425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FA00 +2780 +3280 +6A80 +A280 +A480 +24A0 +28A0 +3060 +ENDCHAR +STARTCHAR U_673A +ENCODING 26426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2780 +2480 +FC80 +2480 +7480 +6C80 +A480 +A480 +28A0 +30E0 +ENDCHAR +STARTCHAR U_673B +ENCODING 26427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +1120 +FD20 +1120 +3120 +3920 +5560 +93A0 +1120 +1020 +1020 +ENDCHAR +STARTCHAR U_673C +ENCODING 26428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +1240 +FE40 +1280 +3B00 +5600 +9200 +1220 +1220 +11E0 +ENDCHAR +STARTCHAR U_673D +ENCODING 26429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1100 +FD00 +1200 +3BE0 +3420 +5020 +9020 +1020 +1140 +1080 +ENDCHAR +STARTCHAR U_673E +ENCODING 26430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17E0 +F880 +1080 +3080 +3880 +5480 +5080 +9080 +1080 +1380 +ENDCHAR +STARTCHAR U_673F +ENCODING 26431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +FFC0 +0400 +7F80 +4480 +4480 +4F80 +1500 +2480 +C440 +0400 +ENDCHAR +STARTCHAR U_6740 +ENCODING 26432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1900 +0600 +1900 +64C0 +0400 +FFE0 +1500 +2480 +C460 +0C00 +ENDCHAR +STARTCHAR U_6741 +ENCODING 26433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2200 +F900 +2100 +7100 +6A80 +A280 +A440 +2440 +2820 +2000 +ENDCHAR +STARTCHAR U_6742 +ENCODING 26434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7F00 +0900 +1120 +64E0 +0400 +FFE0 +0400 +2480 +5440 +8820 +ENDCHAR +STARTCHAR U_6743 +ENCODING 26435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FC0 +F440 +2440 +2440 +7280 +6A80 +A100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6744 +ENCODING 26436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +2100 +77E0 +6900 +A100 +A100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_6745 +ENCODING 26437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2080 +F880 +2080 +37E0 +6880 +A080 +A080 +2080 +2280 +2100 +ENDCHAR +STARTCHAR U_6746 +ENCODING 26438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +F880 +2080 +3080 +6FE0 +6080 +A080 +2080 +2080 +2080 +ENDCHAR +STARTCHAR U_6747 +ENCODING 26439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2000 +F800 +27E0 +3100 +6A00 +63C0 +A040 +2040 +2140 +2080 +ENDCHAR +STARTCHAR U_6748 +ENCODING 26440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +FA40 +2340 +62C0 +7240 +A980 +A180 +2180 +2240 +2420 +ENDCHAR +STARTCHAR U_6749 +ENCODING 26441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +1080 +FD00 +1220 +1840 +3480 +5300 +9020 +1040 +1080 +1300 +ENDCHAR +STARTCHAR U_674A +ENCODING 26442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2220 +FAA0 +22A0 +72A0 +6AA0 +A2A0 +A2A0 +24A0 +2420 +2820 +ENDCHAR +STARTCHAR U_674B +ENCODING 26443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2780 +FC80 +2480 +3680 +6D80 +A480 +A480 +24A0 +28A0 +3060 +ENDCHAR +STARTCHAR U_674C +ENCODING 26444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +FA80 +2280 +3280 +2A80 +6280 +A280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_674D +ENCODING 26445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2020 +F840 +2080 +2080 +37E0 +6880 +A080 +2080 +2280 +2100 +ENDCHAR +STARTCHAR U_674E +ENCODING 26446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1500 +2480 +C460 +1F00 +0200 +0400 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_674F +ENCODING 26447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +0E00 +3580 +C460 +3F80 +2080 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_6750 +ENCODING 26448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2040 +2040 +FBE0 +2040 +70C0 +6940 +A240 +2440 +2140 +2080 +ENDCHAR +STARTCHAR U_6751 +ENCODING 26449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2040 +FBE0 +2040 +7240 +6940 +A140 +2040 +2040 +2040 +21C0 +ENDCHAR +STARTCHAR U_6752 +ENCODING 26450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +F920 +2520 +2520 +7120 +6920 +AA20 +2220 +24A0 +2840 +ENDCHAR +STARTCHAR U_6753 +ENCODING 26451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2420 +3020 +2A20 +6120 +A120 +2020 +2120 +20C0 +ENDCHAR +STARTCHAR U_6754 +ENCODING 26452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +2100 +7100 +6FE0 +A100 +2100 +2120 +2120 +20E0 +ENDCHAR +STARTCHAR U_6755 +ENCODING 26453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F900 +27E0 +7100 +6900 +A100 +A280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6756 +ENCODING 26454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FFE0 +2080 +2480 +3280 +6A80 +A100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6757 +ENCODING 26455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +2000 +3FC0 +0400 +FFE0 +1500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_6758 +ENCODING 26456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2400 +2400 +3FC0 +2600 +4D00 +5480 +A460 +0400 +ENDCHAR +STARTCHAR U_6759 +ENCODING 26457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +FA00 +23E0 +2600 +3200 +6A00 +A100 +2120 +20A0 +2060 +ENDCHAR +STARTCHAR U_675A +ENCODING 26458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2400 +23C0 +3080 +6900 +A200 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_675B +ENCODING 26459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2020 +F820 +23E0 +7200 +6BE0 +A020 +A020 +2020 +2140 +2080 +ENDCHAR +STARTCHAR U_675C +ENCODING 26460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2100 +F900 +27C0 +7100 +6900 +A100 +2100 +2FE0 +2000 +ENDCHAR +STARTCHAR U_675D +ENCODING 26461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +FAA0 +23E0 +26A0 +32A0 +6AE0 +A280 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_675E +ENCODING 26462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2020 +F820 +2020 +23E0 +3220 +6A00 +A200 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_675F +ENCODING 26463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +2480 +2480 +3F80 +0E00 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_6760 +ENCODING 26464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +F900 +2100 +2100 +3100 +6900 +A100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6761 +ENCODING 26465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F80 +2900 +4600 +0A00 +3580 +C460 +3F80 +1500 +2480 +DC40 +ENDCHAR +STARTCHAR U_6762 +ENCODING 26466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +1500 +2480 +C060 +3F80 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_6763 +ENCODING 26467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +F880 +24A0 +74A0 +6CA0 +A4A0 +A4A0 +24A0 +27E0 +2000 +ENDCHAR +STARTCHAR U_6764 +ENCODING 26468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +FA00 +2200 +73C0 +6A40 +A240 +A440 +2440 +2940 +2880 +ENDCHAR +STARTCHAR U_6765 +ENCODING 26469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2480 +1500 +FFE0 +0400 +0E00 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_6766 +ENCODING 26470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBC0 +2280 +7480 +6900 +A100 +A280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6767 +ENCODING 26471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +F900 +2FE0 +7200 +6A00 +A200 +A200 +2200 +23E0 +2000 +ENDCHAR +STARTCHAR U_6768 +ENCODING 26472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2080 +F900 +2200 +77E0 +6AA0 +A2A0 +A4A0 +2920 +2220 +24C0 +ENDCHAR +STARTCHAR U_6769 +ENCODING 26473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +FA40 +2240 +7240 +6BE0 +A020 +A7A0 +2020 +2020 +20C0 +ENDCHAR +STARTCHAR U_676A +ENCODING 26474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F900 +2540 +7520 +6900 +A120 +A040 +2080 +2300 +2C00 +ENDCHAR +STARTCHAR U_676B +ENCODING 26475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F900 +21C0 +7500 +6D00 +A500 +A500 +2500 +2FE0 +2000 +ENDCHAR +STARTCHAR U_676C +ENCODING 26476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2000 +F800 +27E0 +6280 +7280 +AA80 +A280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_676D +ENCODING 26477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2000 +2380 +3280 +6A80 +A280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_676E +ENCODING 26478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +27E0 +7520 +6D20 +A520 +A5A0 +2540 +2100 +2100 +ENDCHAR +STARTCHAR U_676F +ENCODING 26479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F880 +2100 +3100 +2B40 +6520 +A920 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_6770 +ENCODING 26480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +FFE0 +1500 +2480 +4440 +8420 +0000 +5240 +4920 +8920 +ENDCHAR +STARTCHAR U_6771 +ENCODING 26481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +2480 +3F80 +2480 +3F80 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_6772 +ENCODING 26482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +0E00 +3580 +C460 +0400 +ENDCHAR +STARTCHAR U_6773 +ENCODING 26483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1500 +2480 +4440 +BFA0 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_6774 +ENCODING 26484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2220 +6540 +7100 +A900 +A280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6775 +ENCODING 26485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2480 +6080 +77E0 +A880 +A080 +2080 +2080 +2080 +ENDCHAR +STARTCHAR U_6776 +ENCODING 26486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2100 +2540 +3540 +6FC0 +A100 +2120 +2120 +20E0 +ENDCHAR +STARTCHAR U_6777 +ENCODING 26487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +FD40 +2540 +6540 +77C0 +AC00 +A400 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_6778 +ENCODING 26488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FA40 +2240 +6420 +77C0 +AA40 +A240 +2180 +2240 +2C20 +ENDCHAR +STARTCHAR U_6779 +ENCODING 26489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FCA0 +24A0 +6CC0 +7480 +AD80 +A680 +24A0 +24A0 +2460 +ENDCHAR +STARTCHAR U_677A +ENCODING 26490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FA80 +2200 +2200 +3640 +6A20 +A220 +2240 +2240 +21C0 +ENDCHAR +STARTCHAR U_677B +ENCODING 26491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2140 +F940 +2140 +2140 +37C0 +6A40 +A240 +2240 +2240 +2FE0 +ENDCHAR +STARTCHAR U_677C +ENCODING 26492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2040 +FA80 +2100 +6FE0 +7120 +A940 +A100 +2100 +2100 +2300 +ENDCHAR +STARTCHAR U_677D +ENCODING 26493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2780 +F880 +27E0 +2080 +7080 +6FE0 +A080 +2080 +2280 +2100 +ENDCHAR +STARTCHAR U_677E +ENCODING 26494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +FA40 +2440 +2420 +3120 +6900 +A200 +2240 +2440 +27A0 +ENDCHAR +STARTCHAR U_677F +ENCODING 26495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +FC00 +2400 +27C0 +7440 +6E40 +A580 +2880 +2940 +3620 +ENDCHAR +STARTCHAR U_6780 +ENCODING 26496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2080 +C860 +1100 +3F80 +0400 +FFE0 +1500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_6781 +ENCODING 26497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2240 +FA80 +22E0 +2220 +7220 +6D40 +A540 +2480 +2940 +3220 +ENDCHAR +STARTCHAR U_6782 +ENCODING 26498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +FA20 +23E0 +7220 +6A20 +A3E0 +A220 +2220 +2420 +2860 +ENDCHAR +STARTCHAR U_6783 +ENCODING 26499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FFE0 +2020 +6220 +7120 +A8A0 +A120 +2620 +20A0 +2040 +ENDCHAR +STARTCHAR U_6784 +ENCODING 26500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2420 +2220 +7220 +6CA0 +A7A0 +20A0 +2020 +20C0 +ENDCHAR +STARTCHAR U_6785 +ENCODING 26501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2240 +FA40 +2240 +27E0 +3240 +6A40 +A240 +2240 +2440 +2840 +ENDCHAR +STARTCHAR U_6786 +ENCODING 26502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +F900 +2100 +21E0 +3700 +6900 +A1E0 +2720 +2120 +20E0 +ENDCHAR +STARTCHAR U_6787 +ENCODING 26503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +FC80 +24A0 +27C0 +3480 +6C80 +A480 +25A0 +26A0 +2460 +ENDCHAR +STARTCHAR U_6788 +ENCODING 26504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3AC0 +2300 +2A40 +31C0 +0400 +FFE0 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_6789 +ENCODING 26505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +F900 +2100 +2100 +37C0 +6900 +A100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_678A +ENCODING 26506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +25E0 +FD20 +2520 +7520 +6D20 +A520 +A7A0 +2540 +2100 +2100 +ENDCHAR +STARTCHAR U_678B +ENCODING 26507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2100 +61E0 +7120 +A920 +A220 +2220 +24A0 +2840 +ENDCHAR +STARTCHAR U_678C +ENCODING 26508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +FA80 +2240 +7420 +6FE0 +A240 +A240 +2240 +2540 +2880 +ENDCHAR +STARTCHAR U_678D +ENCODING 26509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +FA40 +2420 +6FE0 +7200 +ABC0 +A040 +2040 +2140 +2080 +ENDCHAR +STARTCHAR U_678E +ENCODING 26510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F7C0 +2100 +7100 +6FE0 +A100 +A280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_678F +ENCODING 26511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +F440 +2FE0 +7440 +6C40 +AFE0 +A440 +2440 +2440 +24C0 +ENDCHAR +STARTCHAR U_6790 +ENCODING 26512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +FC00 +2400 +27E0 +3480 +6C80 +A480 +2480 +2880 +3080 +ENDCHAR +STARTCHAR U_6791 +ENCODING 26513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2200 +FA00 +23C0 +2240 +3440 +6C40 +A7C0 +2080 +2080 +2FE0 +ENDCHAR +STARTCHAR U_6792 +ENCODING 26514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2040 +FA40 +2240 +67E0 +70C0 +A940 +A240 +2440 +2840 +20C0 +ENDCHAR +STARTCHAR U_6793 +ENCODING 26515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2240 +F940 +2040 +2240 +3140 +6860 +A7C0 +2040 +2040 +2040 +ENDCHAR +STARTCHAR U_6794 +ENCODING 26516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA80 +2440 +2920 +3080 +67E0 +A040 +2040 +2080 +2100 +ENDCHAR +STARTCHAR U_6795 +ENCODING 26517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2520 +3540 +6980 +A980 +A280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_6796 +ENCODING 26518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +2100 +F900 +27E0 +7100 +6900 +A280 +A280 +2440 +2820 +ENDCHAR +STARTCHAR U_6797 +ENCODING 26519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2100 +7100 +6B80 +A540 +A920 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_6798 +ENCODING 26520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2520 +6520 +75A0 +AE60 +A420 +2420 +2420 +2460 +ENDCHAR +STARTCHAR U_6799 +ENCODING 26521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FC00 +25E0 +2520 +3520 +6D60 +A500 +2520 +2920 +30E0 +ENDCHAR +STARTCHAR U_679A +ENCODING 26522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2240 +2440 +7640 +6A80 +A180 +2180 +2240 +2C20 +ENDCHAR +STARTCHAR U_679B +ENCODING 26523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2740 +FD40 +2540 +7540 +6D40 +A540 +A540 +2520 +2920 +2100 +ENDCHAR +STARTCHAR U_679C +ENCODING 26524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +2480 +3F80 +0400 +FFE0 +0E00 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_679D +ENCODING 26525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2FE0 +F100 +27C0 +7240 +6A40 +A280 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_679E +ENCODING 26526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +FC80 +2480 +6480 +7680 +AD80 +A480 +2940 +3220 +2420 +ENDCHAR +STARTCHAR U_679F +ENCODING 26527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +F800 +2000 +67E0 +7100 +A900 +A200 +2240 +2FE0 +2420 +ENDCHAR +STARTCHAR U_67A0 +ENCODING 26528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2780 +FA80 +22A0 +74A0 +6A60 +A200 +AFE0 +2200 +2200 +2200 +ENDCHAR +STARTCHAR U_67A1 +ENCODING 26529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2640 +FA40 +2240 +7240 +6FE0 +A240 +A240 +2440 +2440 +3040 +ENDCHAR +STARTCHAR U_67A2 +ENCODING 26530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FC20 +2620 +2540 +3480 +6D40 +A620 +2420 +2400 +27E0 +ENDCHAR +STARTCHAR U_67A3 +ENCODING 26531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +2480 +2E80 +1500 +6E80 +0160 +1C00 +0300 +ENDCHAR +STARTCHAR U_67A4 +ENCODING 26532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2180 +F940 +27E0 +7100 +6900 +A280 +A280 +2440 +2440 +2820 +ENDCHAR +STARTCHAR U_67A5 +ENCODING 26533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FC80 +2480 +27E0 +34A0 +6CA0 +A4A0 +2520 +2AA0 +3440 +ENDCHAR +STARTCHAR U_67A6 +ENCODING 26534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FBE0 +2220 +73E0 +6A00 +A200 +2200 +2400 +2400 +2800 +ENDCHAR +STARTCHAR U_67A7 +ENCODING 26535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FD40 +2540 +2540 +3540 +6D40 +A180 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_67A8 +ENCODING 26536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2260 +2240 +FA80 +2300 +2200 +37E0 +6A80 +A280 +22C0 +2320 +2220 +ENDCHAR +STARTCHAR U_67A9 +ENCODING 26537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1500 +2480 +C460 +0000 +1100 +2480 +C860 +1100 +3F80 +ENDCHAR +STARTCHAR U_67AA +ENCODING 26538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC40 +2020 +27C0 +3440 +6C40 +A580 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_67AB +ENCODING 26539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +26C0 +2540 +3540 +6D40 +A6C0 +2440 +2820 +3020 +ENDCHAR +STARTCHAR U_67AC +ENCODING 26540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +FC40 +2640 +7540 +6FE0 +A440 +2440 +2840 +2940 +3080 +ENDCHAR +STARTCHAR U_67AD +ENCODING 26541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2880 +2580 +2000 +3FE0 +0420 +7FA0 +1560 +2480 +C460 +ENDCHAR +STARTCHAR U_67AE +ENCODING 26542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F9E0 +2100 +2100 +37E0 +6C20 +A420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_67AF +ENCODING 26543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FFE0 +2080 +2080 +33E0 +6A20 +A220 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_67B0 +ENCODING 26544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +F920 +2540 +2340 +3100 +6FE0 +A100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_67B1 +ENCODING 26545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA00 +2440 +77E0 +6820 +67C0 +A440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_67B2 +ENCODING 26546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +2080 +7FC0 +0040 +3F80 +2080 +3F80 +0400 +FFE0 +1580 +E460 +ENDCHAR +STARTCHAR U_67B3 +ENCODING 26547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +FC40 +2440 +7440 +6FC0 +A000 +A000 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_67B4 +ENCODING 26548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +27C0 +6000 +77E0 +A920 +A120 +2220 +24A0 +2840 +ENDCHAR +STARTCHAR U_67B5 +ENCODING 26549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2000 +6FE0 +7200 +ABC0 +A040 +2040 +2140 +2080 +ENDCHAR +STARTCHAR U_67B6 +ENCODING 26550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +2A20 +2A20 +4BE0 +9220 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_67B7 +ENCODING 26551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +48E0 +5EA0 +FAA0 +4AA0 +6AA0 +DAA0 +4AA0 +4AA0 +52E0 +64A0 +ENDCHAR +STARTCHAR U_67B8 +ENCODING 26552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2420 +23A0 +32A0 +6AA0 +A3A0 +2020 +2120 +20C0 +ENDCHAR +STARTCHAR U_67B9 +ENCODING 26553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +F820 +27A0 +24A0 +34A0 +6FA0 +A4C0 +2400 +2420 +23E0 +ENDCHAR +STARTCHAR U_67BA +ENCODING 26554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +2100 +67C0 +7100 +AB80 +A540 +2920 +2100 +2100 +ENDCHAR +STARTCHAR U_67BB +ENCODING 26555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2540 +F540 +2FE0 +6540 +7540 +AD40 +A5C0 +2400 +2400 +27E0 +ENDCHAR +STARTCHAR U_67BC +ENCODING 26556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +FFE0 +2900 +2F00 +2000 +3FC0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_67BD +ENCODING 26557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2480 +FFE0 +2080 +3F80 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_67BE +ENCODING 26558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +2540 +7540 +6FC0 +A540 +2540 +2940 +2100 +2100 +ENDCHAR +STARTCHAR U_67BF +ENCODING 26559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F7E0 +2100 +7240 +6A40 +AFE0 +2240 +2240 +2440 +2840 +ENDCHAR +STARTCHAR U_67C0 +ENCODING 26560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FFE0 +24A0 +2480 +37E0 +6D40 +A540 +2880 +3140 +2620 +ENDCHAR +STARTCHAR U_67C1 +ENCODING 26561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2420 +2200 +3240 +6B80 +A200 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_67C2 +ENCODING 26562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +FC80 +22A0 +22E0 +33A0 +6EA0 +A2E0 +2280 +2220 +21E0 +ENDCHAR +STARTCHAR U_67C3 +ENCODING 26563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA80 +2440 +6920 +7080 +AFE0 +A040 +2280 +2100 +2080 +ENDCHAR +STARTCHAR U_67C4 +ENCODING 26564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +F880 +27E0 +24A0 +34A0 +6DA0 +A660 +2420 +2420 +24E0 +ENDCHAR +STARTCHAR U_67C5 +ENCODING 26565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FC20 +27E0 +2400 +3520 +6D40 +A580 +2520 +2920 +30E0 +ENDCHAR +STARTCHAR U_67C6 +ENCODING 26566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2000 +2440 +3440 +6A40 +A240 +2080 +2080 +2FE0 +ENDCHAR +STARTCHAR U_67C7 +ENCODING 26567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F100 +2FE0 +7100 +6B00 +A380 +2540 +2920 +2100 +2100 +ENDCHAR +STARTCHAR U_67C8 +ENCODING 26568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2520 +FD40 +2100 +27C0 +3100 +6FE0 +A100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_67C9 +ENCODING 26569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +F900 +2080 +27E0 +3040 +6880 +A300 +2400 +2A00 +31E0 +ENDCHAR +STARTCHAR U_67CA +ENCODING 26570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +FC40 +2280 +2100 +3280 +6C60 +A100 +20C0 +2300 +20C0 +ENDCHAR +STARTCHAR U_67CB +ENCODING 26571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +2480 +7FE0 +A200 +2120 +24E0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_67CC +ENCODING 26572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2020 +FFA0 +2020 +27A0 +34A0 +6CA0 +A7A0 +24A0 +2020 +20E0 +ENDCHAR +STARTCHAR U_67CD +ENCODING 26573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFC0 +2540 +2540 +3540 +6FE0 +A100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_67CE +ENCODING 26574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +FC40 +25E0 +2440 +3640 +6D40 +A440 +2440 +2540 +2480 +ENDCHAR +STARTCHAR U_67CF +ENCODING 26575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2100 +FBE0 +2220 +2220 +33E0 +6A20 +A220 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_67D0 +ENCODING 26576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F00 +1100 +1F00 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_67D1 +ENCODING 26577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +FFE0 +2240 +2240 +33C0 +6A40 +A240 +2240 +23C0 +2240 +ENDCHAR +STARTCHAR U_67D2 +ENCODING 26578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +5260 +3380 +6E20 +21E0 +2400 +FFE0 +1500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_67D3 +ENCODING 26579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +AF80 +5480 +24A0 +C8E0 +5000 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_67D4 +ENCODING 26580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0900 +7FE0 +1440 +2480 +4C00 +8400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_67D5 +ENCODING 26581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2140 +F880 +27E0 +30A0 +69C0 +6280 +A480 +3880 +2280 +2100 +ENDCHAR +STARTCHAR U_67D6 +ENCODING 26582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +FA20 +2220 +74A0 +6840 +A7E0 +2420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_67D7 +ENCODING 26583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2280 +FA80 +2240 +7440 +6820 +A7C0 +2440 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_67D8 +ENCODING 26584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F900 +2100 +7200 +6BE0 +A620 +AA20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_67D9 +ENCODING 26585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +24A0 +FCA0 +27E0 +24A0 +34A0 +6FE0 +A4A0 +2080 +2080 +2080 +ENDCHAR +STARTCHAR U_67DA +ENCODING 26586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2920 +3920 +6FE0 +A920 +A920 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_67DB +ENCODING 26587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2520 +27E0 +3520 +6FE0 +A520 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_67DC +ENCODING 26588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FC00 +27C0 +2440 +7440 +6FC0 +A400 +A400 +2400 +27E0 +ENDCHAR +STARTCHAR U_67DD +ENCODING 26589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +FC00 +2400 +27E0 +3480 +6D80 +A4C0 +24A0 +2880 +3080 +ENDCHAR +STARTCHAR U_67DE +ENCODING 26590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +2500 +2100 +31E0 +6900 +A100 +21E0 +2100 +2100 +ENDCHAR +STARTCHAR U_67DF +ENCODING 26591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FD40 +2540 +27C0 +3540 +6D40 +AFE0 +2440 +2440 +24C0 +ENDCHAR +STARTCHAR U_67E0 +ENCODING 26592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +FC20 +2000 +27E0 +3080 +6880 +A080 +2080 +2080 +2380 +ENDCHAR +STARTCHAR U_67E1 +ENCODING 26593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2000 +FFE0 +2100 +7100 +6DA0 +A540 +A940 +3120 +2300 +ENDCHAR +STARTCHAR U_67E2 +ENCODING 26594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +FC80 +2480 +27E0 +3480 +6C80 +A4A0 +2560 +2720 +24A0 +ENDCHAR +STARTCHAR U_67E3 +ENCODING 26595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2500 +FFC0 +2900 +2100 +37E0 +6900 +A100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_67E4 +ENCODING 26596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +27C0 +2440 +3440 +6C40 +A7C0 +2440 +2440 +2FE0 +ENDCHAR +STARTCHAR U_67E5 +ENCODING 26597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1500 +2480 +FFE0 +2080 +3F80 +2080 +3F80 +0000 +FFE0 +ENDCHAR +STARTCHAR U_67E6 +ENCODING 26598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +FC40 +2440 +67C0 +7440 +AC40 +A7C0 +2000 +2000 +2FE0 +ENDCHAR +STARTCHAR U_67E7 +ENCODING 26599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2740 +FD40 +2540 +6540 +7540 +AD40 +A540 +2520 +2960 +31A0 +ENDCHAR +STARTCHAR U_67E8 +ENCODING 26600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FFE0 +2500 +77C0 +6D40 +B540 +A540 +2540 +25C0 +2100 +ENDCHAR +STARTCHAR U_67E9 +ENCODING 26601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FD00 +25C0 +2540 +3640 +6C40 +A4A0 +2520 +2400 +27E0 +ENDCHAR +STARTCHAR U_67EA +ENCODING 26602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +FDE0 +2AA0 +26A0 +34A0 +6EA0 +A9A0 +3EA0 +2120 +22C0 +ENDCHAR +STARTCHAR U_67EB +ENCODING 26603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FFE0 +22A0 +6FE0 +7A80 +AFE0 +A2A0 +22A0 +24C0 +2880 +ENDCHAR +STARTCHAR U_67EC +ENCODING 26604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +5540 +4A40 +7FC0 +0E00 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_67ED +ENCODING 26605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +FFE0 +2200 +7200 +6BE0 +A240 +A540 +2480 +2940 +3620 +ENDCHAR +STARTCHAR U_67EE +ENCODING 26606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2520 +FD20 +2520 +27E0 +3100 +6D20 +A520 +2520 +27E0 +2420 +ENDCHAR +STARTCHAR U_67EF +ENCODING 26607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2040 +F840 +2740 +2540 +3540 +6F40 +A540 +2040 +2140 +2080 +ENDCHAR +STARTCHAR U_67F0 +ENCODING 26608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1500 +2480 +C460 +3F80 +0000 +FFE0 +2480 +4440 +8C20 +ENDCHAR +STARTCHAR U_67F1 +ENCODING 26609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2100 +7100 +6900 +A7C0 +A100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_67F2 +ENCODING 26610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2140 +FA40 +2240 +2240 +3680 +6AA0 +A320 +2240 +2640 +39C0 +ENDCHAR +STARTCHAR U_67F3 +ENCODING 26611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2CE0 +FAA0 +2AA0 +2AA0 +3AA0 +6EA0 +AAA0 +22E0 +2480 +2880 +ENDCHAR +STARTCHAR U_67F4 +ENCODING 26612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1240 +5E80 +5320 +5220 +F9E0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_67F5 +ENCODING 26613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +FAA0 +4AA0 +5FE0 +6AA0 +DAA0 +4AA0 +4AA0 +4AA0 +4860 +ENDCHAR +STARTCHAR U_67F6 +ENCODING 26614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FAA0 +2AA0 +2AA0 +3AA0 +6CE0 +A820 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_67F7 +ENCODING 26615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +2440 +67C0 +7280 +AA80 +A280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_67F8 +ENCODING 26616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F900 +2180 +6340 +7520 +A920 +A100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_67F9 +ENCODING 26617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +F700 +2500 +7500 +6FE0 +AB20 +25A0 +3940 +2100 +2100 +ENDCHAR +STARTCHAR U_67FA +ENCODING 26618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FC20 +27E0 +7100 +6FE0 +A120 +A120 +2220 +24A0 +2840 +ENDCHAR +STARTCHAR U_67FB +ENCODING 26619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1500 +E4E0 +3F80 +2080 +3F80 +2080 +3F80 +2080 +FFE0 +ENDCHAR +STARTCHAR U_67FC +ENCODING 26620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2820 +6080 +7280 +AA80 +A240 +2440 +2420 +2820 +ENDCHAR +STARTCHAR U_67FD +ENCODING 26621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2440 +FA40 +2180 +7240 +6D20 +A100 +A7C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_67FE +ENCODING 26622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F900 +2100 +3500 +6DC0 +6500 +A500 +2500 +2500 +2FE0 +ENDCHAR +STARTCHAR U_67FF +ENCODING 26623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +2100 +27E0 +3520 +6D20 +A520 +2560 +2100 +2100 +ENDCHAR +STARTCHAR U_6800 +ENCODING 26624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +2400 +FFE0 +2400 +75C0 +6D40 +A5C0 +A520 +2520 +29E0 +ENDCHAR +STARTCHAR U_6801 +ENCODING 26625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +24E0 +F7A0 +25A0 +79A0 +6AA0 +B6A0 +A2E0 +2480 +2880 +3080 +ENDCHAR +STARTCHAR U_6802 +ENCODING 26626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +FC40 +2640 +7540 +6FE0 +A640 +A940 +2FE0 +2040 +2180 +ENDCHAR +STARTCHAR U_6803 +ENCODING 26627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F00 +2800 +FFE0 +2900 +69E0 +7920 +A920 +AA20 +2AA0 +3440 +ENDCHAR +STARTCHAR U_6804 +ENCODING 26628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +1500 +FFE0 +8420 +0400 +7FC0 +0E00 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_6805 +ENCODING 26629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FAA0 +2AA0 +3FE0 +2AA0 +6AA0 +AAA0 +2AA0 +2AA0 +3560 +ENDCHAR +STARTCHAR U_6806 +ENCODING 26630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +2480 +3F80 +0A00 +3180 +C460 +0A00 +0400 +ENDCHAR +STARTCHAR U_6807 +ENCODING 26631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2000 +F800 +2FE0 +2100 +7100 +6540 +A520 +2920 +2100 +2300 +ENDCHAR +STARTCHAR U_6808 +ENCODING 26632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +FFE0 +2100 +31E0 +6F00 +6120 +A140 +20A0 +2360 +2C20 +ENDCHAR +STARTCHAR U_6809 +ENCODING 26633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +FA40 +2000 +2FE0 +3120 +6920 +A120 +2160 +2100 +2100 +ENDCHAR +STARTCHAR U_680A +ENCODING 26634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2140 +F900 +27E0 +2280 +32A0 +6AA0 +A2C0 +2480 +29A0 +3260 +ENDCHAR +STARTCHAR U_680B +ENCODING 26635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +2280 +7480 +6FE0 +A080 +A4C0 +24A0 +28A0 +2180 +ENDCHAR +STARTCHAR U_680C +ENCODING 26636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +F900 +27E0 +7420 +6C20 +A7E0 +A400 +2400 +2800 +3000 +ENDCHAR +STARTCHAR U_680D +ENCODING 26637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +2500 +F7E0 +2900 +7100 +6FC0 +A100 +A100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_680E +ENCODING 26638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2380 +FC00 +2480 +2480 +37E0 +6880 +A2C0 +24A0 +28A0 +2180 +ENDCHAR +STARTCHAR U_680F +ENCODING 26639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +2240 +F000 +2FE0 +6000 +7000 +A7C0 +A000 +2000 +2000 +2FE0 +ENDCHAR +STARTCHAR U_6810 +ENCODING 26640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2080 +FF00 +2120 +2F40 +7380 +6D40 +A540 +A920 +2100 +2300 +ENDCHAR +STARTCHAR U_6811 +ENCODING 26641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2E40 +F3E0 +2A40 +2A40 +7540 +A4C0 +2A40 +3140 +2040 +20C0 +ENDCHAR +STARTCHAR U_6812 +ENCODING 26642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +F7E0 +2820 +23A0 +32A0 +6BA0 +A2A0 +23A0 +2020 +20C0 +ENDCHAR +STARTCHAR U_6813 +ENCODING 26643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC40 +2020 +27C0 +3100 +6900 +A7C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6814 +ENCODING 26644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1120 +7920 +1120 +FEC0 +1400 +FFE0 +1500 +2480 +4460 +8420 +ENDCHAR +STARTCHAR U_6815 +ENCODING 26645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2900 +FFC0 +2840 +3840 +6840 +AFC0 +2900 +2900 +2FE0 +ENDCHAR +STARTCHAR U_6816 +ENCODING 26646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +F280 +2FE0 +6AA0 +7AA0 +AAE0 +AC20 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_6817 +ENCODING 26647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +0400 +FFE0 +1500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_6818 +ENCODING 26648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +FA40 +2580 +2100 +36E0 +6920 +A6A0 +2040 +2080 +2700 +ENDCHAR +STARTCHAR U_6819 +ENCODING 26649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +F680 +2100 +76E0 +6900 +AFC0 +2500 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_681A +ENCODING 26650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFC0 +2100 +2100 +37E0 +6900 +A100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_681B +ENCODING 26651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +FA40 +2240 +7540 +6880 +BFE0 +AAA0 +2AA0 +2AA0 +3760 +ENDCHAR +STARTCHAR U_681C +ENCODING 26652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27E0 +7520 +6D20 +A560 +A380 +2540 +2920 +2100 +ENDCHAR +STARTCHAR U_681D +ENCODING 26653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F900 +27E0 +7100 +6900 +A7E0 +A420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_681E +ENCODING 26654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +1080 +1080 +7BE0 +2080 +4480 +FFE0 +0D00 +3480 +C460 +0400 +ENDCHAR +STARTCHAR U_681F +ENCODING 26655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +2280 +7280 +6FE0 +A280 +A280 +2280 +2480 +2880 +ENDCHAR +STARTCHAR U_6820 +ENCODING 26656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +4F00 +C100 +5FE0 +4100 +4FC0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_6821 +ENCODING 26657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +F000 +2280 +7440 +6AA0 +A280 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_6822 +ENCODING 26658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +FA00 +27C0 +7440 +6C40 +A7C0 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_6823 +ENCODING 26659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2260 +F780 +2C80 +7480 +67E0 +A480 +2480 +2480 +27E0 +2400 +ENDCHAR +STARTCHAR U_6824 +ENCODING 26660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5100 +E940 +4740 +6380 +CB80 +D540 +5520 +4920 +5500 +4200 +ENDCHAR +STARTCHAR U_6825 +ENCODING 26661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +1A40 +2300 +C480 +4840 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_6826 +ENCODING 26662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +22A0 +FAA0 +22A0 +77E0 +6AA0 +A2A0 +A2A0 +22A0 +24A0 +2820 +ENDCHAR +STARTCHAR U_6827 +ENCODING 26663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FD40 +27C0 +7540 +6FC0 +A140 +2180 +22A0 +2C60 +2020 +ENDCHAR +STARTCHAR U_6828 +ENCODING 26664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2500 +F9E0 +2220 +20A0 +3280 +6A80 +AC80 +2480 +2540 +2620 +ENDCHAR +STARTCHAR U_6829 +ENCODING 26665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F920 +25A0 +7360 +6920 +A360 +A5A0 +2120 +2120 +2360 +ENDCHAR +STARTCHAR U_682A +ENCODING 26666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +F7C0 +2900 +7100 +6FE0 +A100 +A380 +2540 +2920 +2100 +ENDCHAR +STARTCHAR U_682B +ENCODING 26667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F200 +25E0 +3440 +2C80 +77E0 +A480 +2480 +2480 +2580 +ENDCHAR +STARTCHAR U_682C +ENCODING 26668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +2480 +FFC0 +2540 +7540 +6FC0 +A400 +A420 +2420 +23E0 +ENDCHAR +STARTCHAR U_682D +ENCODING 26669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +F200 +2FE0 +3AA0 +2AA0 +6AA0 +AAA0 +2AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_682E +ENCODING 26670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2440 +FC40 +27C0 +2440 +37C0 +6C40 +A440 +25E0 +2E40 +2040 +ENDCHAR +STARTCHAR U_682F +ENCODING 26671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2200 +23E0 +3620 +6BE0 +A220 +23E0 +2220 +22E0 +ENDCHAR +STARTCHAR U_6830 +ENCODING 26672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22C0 +22A0 +F480 +2FE0 +7480 +6CA0 +A4A0 +A4C0 +24A0 +2560 +2620 +ENDCHAR +STARTCHAR U_6831 +ENCODING 26673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FA80 +27E0 +2280 +3280 +6FE0 +A000 +2240 +2420 +2820 +ENDCHAR +STARTCHAR U_6832 +ENCODING 26674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +27A0 +F940 +2FE0 +2100 +33E0 +6D00 +A3E0 +2020 +2120 +20C0 +ENDCHAR +STARTCHAR U_6833 +ENCODING 26675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27A0 +F920 +2140 +27E0 +3100 +6A40 +A780 +2A20 +2220 +21E0 +ENDCHAR +STARTCHAR U_6834 +ENCODING 26676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +F800 +27C0 +2540 +3540 +6FE0 +A440 +2440 +2940 +3080 +ENDCHAR +STARTCHAR U_6835 +ENCODING 26677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FA0 +2420 +F4A0 +27A0 +28A0 +39A0 +66A0 +A2A0 +2420 +2820 +30E0 +ENDCHAR +STARTCHAR U_6836 +ENCODING 26678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F920 +2FE0 +6920 +7920 +AAA0 +AC60 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_6837 +ENCODING 26679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +2100 +77C0 +6100 +A100 +2FE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_6838 +ENCODING 26680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2100 +2240 +7780 +6920 +A240 +2480 +2140 +2E20 +ENDCHAR +STARTCHAR U_6839 +ENCODING 26681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +27C0 +3520 +6D40 +A480 +2480 +2540 +2620 +ENDCHAR +STARTCHAR U_683A +ENCODING 26682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24C0 +2700 +FC20 +23E0 +2000 +37E0 +6C20 +A7E0 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_683B +ENCODING 26683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +FFE0 +2080 +7080 +6F80 +A480 +A4A0 +27A0 +3C60 +2020 +ENDCHAR +STARTCHAR U_683C +ENCODING 26684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +F440 +2A80 +2100 +7280 +6C60 +A7C0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_683D +ENCODING 26685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +7D20 +1100 +FFE0 +1100 +FD20 +1140 +3880 +55A0 +9260 +1420 +ENDCHAR +STARTCHAR U_683E +ENCODING 26686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0900 +2940 +C920 +0400 +FFE0 +1500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_683F +ENCODING 26687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +22C0 +24A0 +FFE0 +2480 +7480 +6C80 +A480 +2540 +2540 +2620 +ENDCHAR +STARTCHAR U_6840 +ENCODING 26688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7FE0 +4880 +B280 +17E0 +2080 +4480 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_6841 +ENCODING 26689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +25E0 +F800 +2200 +75E0 +6C40 +A440 +A440 +2440 +2440 +24C0 +ENDCHAR +STARTCHAR U_6842 +ENCODING 26690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F900 +2100 +2FE0 +3000 +6900 +A7C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6843 +ENCODING 26691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FAA0 +26C0 +2280 +36C0 +6AA0 +A280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_6844 +ENCODING 26692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FD40 +2100 +27E0 +3280 +6A80 +A280 +24A0 +28A0 +3060 +ENDCHAR +STARTCHAR U_6845 +ENCODING 26693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +F480 +2FE0 +2400 +35E0 +6D20 +A560 +2500 +2520 +28E0 +ENDCHAR +STARTCHAR U_6846 +ENCODING 26694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FFE0 +2480 +2480 +75C0 +6C80 +A480 +27E0 +2400 +27E0 +ENDCHAR +STARTCHAR U_6847 +ENCODING 26695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FBC0 +2A40 +6A40 +13C0 +6C00 +FFE0 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_6848 +ENCODING 26696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8820 +FFE0 +1200 +0F00 +F8E0 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6849 +ENCODING 26697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2520 +2100 +37E0 +6A40 +A240 +2180 +2340 +2C20 +ENDCHAR +STARTCHAR U_684A +ENCODING 26698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +7FC0 +0800 +FFE0 +2080 +4440 +BFA0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_684B +ENCODING 26699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F100 +2FC0 +2140 +37C0 +6500 +AFE0 +2160 +2280 +2C60 +ENDCHAR +STARTCHAR U_684C +ENCODING 26700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +3F80 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_684D +ENCODING 26701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA80 +2440 +6BA0 +7000 +AFE0 +A200 +27C0 +2040 +2180 +ENDCHAR +STARTCHAR U_684E +ENCODING 26702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FA00 +2440 +2FA0 +3100 +6900 +A7C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_684F +ENCODING 26703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2EA0 +FCA0 +24A0 +24C0 +34A0 +6DA0 +A6A0 +3CE0 +2080 +2080 +ENDCHAR +STARTCHAR U_6850 +ENCODING 26704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FBA0 +2820 +6BA0 +7AA0 +AAA0 +ABA0 +2AA0 +2820 +2860 +ENDCHAR +STARTCHAR U_6851 +ENCODING 26705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +1100 +0E00 +1100 +FBE0 +4A40 +3180 +4A40 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6852 +ENCODING 26706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2480 +FFE0 +2080 +0400 +FFE0 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_6853 +ENCODING 26707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +F800 +27C0 +6440 +77C0 +AC40 +A7C0 +2440 +2000 +2FE0 +ENDCHAR +STARTCHAR U_6854 +ENCODING 26708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2100 +27C0 +3000 +6FC0 +A440 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_6855 +ENCODING 26709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2CE0 +F820 +2820 +2820 +3EE0 +6820 +A820 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_6856 +ENCODING 26710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +4800 +5FC0 +F540 +5540 +F540 +D540 +5540 +5540 +7FE0 +4000 +ENDCHAR +STARTCHAR U_6857 +ENCODING 26711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2240 +FAE0 +2420 +78A0 +6240 +AFE0 +2700 +2A80 +3260 +2200 +ENDCHAR +STARTCHAR U_6858 +ENCODING 26712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +2440 +FC40 +27C0 +7400 +67E0 +A420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_6859 +ENCODING 26713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +F7C0 +2140 +3500 +67C0 +A900 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_685A +ENCODING 26714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2540 +2A80 +F540 +2200 +77E0 +6440 +AA40 +2180 +2300 +2C00 +ENDCHAR +STARTCHAR U_685B +ENCODING 26715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +FA00 +2FE0 +7000 +6FE0 +A200 +2300 +22C0 +2240 +2200 +ENDCHAR +STARTCHAR U_685C +ENCODING 26716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2560 +FD40 +3280 +6A00 +6FE0 +A240 +2680 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_685D +ENCODING 26717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2440 +2840 +FFE0 +2A40 +7B40 +65E0 +A440 +2440 +2840 +2040 +ENDCHAR +STARTCHAR U_685E +ENCODING 26718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +24E0 +2EA0 +FAA0 +2AC0 +76A0 +62A0 +A4E0 +2480 +2480 +2880 +ENDCHAR +STARTCHAR U_685F +ENCODING 26719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +FBC0 +2E00 +73C0 +6E00 +A3E0 +2E80 +2120 +2EA0 +2060 +ENDCHAR +STARTCHAR U_6860 +ENCODING 26720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F280 +2280 +72A0 +6AA0 +A6C0 +A280 +2280 +2280 +2FE0 +ENDCHAR +STARTCHAR U_6861 +ENCODING 26721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +FF40 +21A0 +2660 +3000 +6FE0 +A280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_6862 +ENCODING 26722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +F900 +27E0 +2420 +3520 +6D20 +A520 +2520 +2280 +2C60 +ENDCHAR +STARTCHAR U_6863 +ENCODING 26723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2520 +FB40 +2100 +27E0 +7020 +6820 +A7E0 +2020 +2020 +27E0 +ENDCHAR +STARTCHAR U_6864 +ENCODING 26724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2920 +FFE0 +2000 +67E0 +7020 +AFE0 +A400 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_6865 +ENCODING 26725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F100 +2FE0 +6280 +7440 +AAA0 +A280 +2280 +2480 +2880 +ENDCHAR +STARTCHAR U_6866 +ENCODING 26726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +22A0 +FCC0 +25A0 +74A0 +6C60 +A100 +AFE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_6867 +ENCODING 26727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA80 +2440 +6FE0 +7000 +AFE0 +A200 +2440 +2FE0 +2420 +ENDCHAR +STARTCHAR U_6868 +ENCODING 26728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +33E0 +1440 +3280 +D700 +0400 +FFE0 +1500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_6869 +ENCODING 26729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +FC00 +2480 +2480 +37E0 +6C80 +A480 +2480 +2880 +37E0 +ENDCHAR +STARTCHAR U_686A +ENCODING 26730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +F7C0 +2040 +77C0 +6880 +AFE0 +A480 +2280 +2080 +2180 +ENDCHAR +STARTCHAR U_686B +ENCODING 26731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2280 +F8C0 +25A0 +7280 +6AA0 +A420 +AC40 +2480 +2500 +2600 +ENDCHAR +STARTCHAR U_686C +ENCODING 26732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +AA80 +4A40 +3280 +CF00 +5400 +FFE0 +0E00 +3580 +C460 +0400 +ENDCHAR +STARTCHAR U_686D +ENCODING 26733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FDC0 +2400 +67E0 +7580 +ADA0 +A540 +2540 +29A0 +3120 +ENDCHAR +STARTCHAR U_686E +ENCODING 26734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2080 +F980 +2340 +6520 +7100 +AFE0 +A420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_686F +ENCODING 26735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +27C0 +2000 +37E0 +6900 +A7C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6870 +ENCODING 26736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2700 +FD00 +27E0 +6480 +75A0 +A660 +2000 +27E0 +2420 +27E0 +ENDCHAR +STARTCHAR U_6871 +ENCODING 26737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2540 +FD40 +2A80 +2540 +3540 +6FC0 +A100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6872 +ENCODING 26738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F900 +2FE0 +6820 +77C0 +A880 +AFE0 +2100 +2100 +2300 +ENDCHAR +STARTCHAR U_6873 +ENCODING 26739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2440 +FFE0 +2100 +6FE0 +7280 +A540 +A920 +27C0 +2100 +2100 +ENDCHAR +STARTCHAR U_6874 +ENCODING 26740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2720 +FD40 +2280 +77C0 +6880 +A100 +AFE0 +2100 +2100 +2300 +ENDCHAR +STARTCHAR U_6875 +ENCODING 26741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +27A0 +FD20 +22C0 +7100 +6FE0 +A140 +A240 +2280 +2140 +2620 +ENDCHAR +STARTCHAR U_6876 +ENCODING 26742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2240 +F980 +27E0 +6520 +77E0 +AD20 +A7E0 +2520 +2520 +2460 +ENDCHAR +STARTCHAR U_6877 +ENCODING 26743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +F480 +2FE0 +6520 +77E0 +AD20 +A7E0 +2520 +2920 +3160 +ENDCHAR +STARTCHAR U_6878 +ENCODING 26744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2660 +2180 +F660 +2900 +2FE0 +3480 +6FE0 +B4A0 +24A0 +24E0 +2080 +ENDCHAR +STARTCHAR U_6879 +ENCODING 26745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FC40 +27C0 +6440 +77C0 +AD20 +A540 +2480 +2640 +2420 +ENDCHAR +STARTCHAR U_687A +ENCODING 26746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F280 +2EE0 +6AA0 +7AA0 +AEE0 +2280 +2280 +2480 +2880 +ENDCHAR +STARTCHAR U_687B +ENCODING 26747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2C40 +F380 +2C60 +7100 +6FE0 +A100 +A7C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_687C +ENCODING 26748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1500 +2480 +CE60 +3580 +C4E0 +1500 +0E00 +3580 +CC60 +ENDCHAR +STARTCHAR U_687D +ENCODING 26749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1500 +2480 +C060 +2480 +5540 +8620 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_687E +ENCODING 26750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2140 +FFE0 +2140 +77C0 +6A00 +A7C0 +AA40 +3240 +23C0 +2240 +ENDCHAR +STARTCHAR U_687F +ENCODING 26751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +77C0 +6800 +A7C0 +A100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_6880 +ENCODING 26752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +27E0 +6520 +77E0 +A900 +A380 +2540 +2920 +2100 +ENDCHAR +STARTCHAR U_6881 +ENCODING 26753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F80 +A280 +4AC0 +2AA0 +D4A0 +4980 +5400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_6882 +ENCODING 26754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +FFE0 +2120 +2940 +3580 +6B40 +A540 +2920 +2120 +2300 +ENDCHAR +STARTCHAR U_6883 +ENCODING 26755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E20 +23C0 +FA40 +2440 +2FE0 +3240 +6A40 +ABE0 +2400 +2A00 +31E0 +ENDCHAR +STARTCHAR U_6884 +ENCODING 26756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2AA0 +6AA0 +7C60 +A820 +AFE0 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_6885 +ENCODING 26757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +F800 +27C0 +7540 +6FE0 +A540 +A540 +27E0 +2040 +2180 +ENDCHAR +STARTCHAR U_6886 +ENCODING 26758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +24E0 +FFA0 +24A0 +6FC0 +74A0 +AFA0 +A4A0 +24E0 +2880 +3080 +ENDCHAR +STARTCHAR U_6887 +ENCODING 26759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFC0 +2100 +2FE0 +3240 +6FE0 +A240 +2240 +2440 +2840 +ENDCHAR +STARTCHAR U_6888 +ENCODING 26760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F800 +27C0 +7440 +6FC0 +A000 +AFC0 +2100 +2100 +2300 +ENDCHAR +STARTCHAR U_6889 +ENCODING 26761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2A40 +FA40 +2E40 +23E0 +3240 +6E40 +AA40 +2A40 +2A40 +32E0 +ENDCHAR +STARTCHAR U_688A +ENCODING 26762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FF80 +2400 +F7E0 +2480 +E880 +0480 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_688B +ENCODING 26763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FFE0 +2000 +27E0 +3420 +6FE0 +A420 +27E0 +2420 +2460 +ENDCHAR +STARTCHAR U_688C +ENCODING 26764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC40 +2820 +27C0 +7100 +6FE0 +A100 +2540 +2920 +3320 +ENDCHAR +STARTCHAR U_688D +ENCODING 26765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +F840 +2FC0 +7840 +6FC0 +A200 +23E0 +2E00 +2220 +21E0 +ENDCHAR +STARTCHAR U_688E +ENCODING 26766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FC40 +27C0 +7440 +6FC0 +A400 +24C0 +2720 +2420 +23E0 +ENDCHAR +STARTCHAR U_688F +ENCODING 26767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2480 +F7E0 +2880 +77E0 +6800 +A7E0 +A420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_6890 +ENCODING 26768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +24A0 +FFC0 +2480 +75A0 +6E60 +A100 +A7C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6891 +ENCODING 26769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +2480 +F8A0 +25A0 +26C0 +3480 +6C80 +B480 +24C0 +3520 +2A20 +ENDCHAR +STARTCHAR U_6892 +ENCODING 26770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F280 +2D60 +67C0 +7080 +A100 +A7C0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_6893 +ENCODING 26771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2440 +7280 +6FE0 +A100 +A100 +27C0 +2100 +2100 +ENDCHAR +STARTCHAR U_6894 +ENCODING 26772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +FC00 +27E0 +2400 +37C0 +6D40 +A7C0 +2400 +2C20 +33E0 +ENDCHAR +STARTCHAR U_6895 +ENCODING 26773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F920 +2520 +7520 +6AA0 +A440 +2120 +2AA0 +2A40 +21C0 +ENDCHAR +STARTCHAR U_6896 +ENCODING 26774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +2440 +37C0 +6C40 +A7C0 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6897 +ENCODING 26775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +2520 +77E0 +6D20 +A7E0 +A100 +2500 +2300 +2CE0 +ENDCHAR +STARTCHAR U_6898 +ENCODING 26776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +77C0 +6C40 +A7C0 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_6899 +ENCODING 26777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FD40 +27C0 +7100 +6FE0 +A920 +AFE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_689A +ENCODING 26778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +F480 +2FC0 +7540 +6D40 +A7C0 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_689B +ENCODING 26779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +4AA0 +EAA0 +5EA0 +4AC0 +6AA0 +DEA0 +4AA0 +4AE0 +5280 +6480 +ENDCHAR +STARTCHAR U_689C +ENCODING 26780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +2540 +2540 +3BA0 +6920 +A100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_689D +ENCODING 26781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +5A40 +5180 +DE60 +5100 +5FE0 +5100 +4540 +4920 +5320 +ENDCHAR +STARTCHAR U_689E +ENCODING 26782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +F7C0 +2400 +7440 +6BC0 +A200 +2540 +2D20 +3440 +23C0 +ENDCHAR +STARTCHAR U_689F +ENCODING 26783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7F80 +4080 +7FE0 +4000 +7FE0 +0420 +FFE0 +1520 +2480 +C460 +ENDCHAR +STARTCHAR U_68A0 +ENCODING 26784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +27C0 +6000 +7000 +AFE0 +A420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_68A1 +ENCODING 26785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FC20 +23C0 +7000 +6FE0 +A280 +A280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_68A2 +ENCODING 26786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +F900 +27E0 +6420 +77E0 +AC20 +A7E0 +2420 +2420 +2460 +ENDCHAR +STARTCHAR U_68A3 +ENCODING 26787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +2520 +FFE0 +2100 +2280 +3540 +6920 +A7C0 +2040 +2080 +2100 +ENDCHAR +STARTCHAR U_68A4 +ENCODING 26788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2520 +2520 +FFE0 +2280 +7440 +6FE0 +A240 +A240 +2540 +2880 +ENDCHAR +STARTCHAR U_68A5 +ENCODING 26789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2880 +5140 +3F80 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_68A6 +ENCODING 26790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FBE0 +1080 +39C0 +D6A0 +0800 +0FC0 +7080 +0D00 +0600 +7800 +ENDCHAR +STARTCHAR U_68A7 +ENCODING 26791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FFC0 +2240 +6240 +77E0 +A800 +A7C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_68A8 +ENCODING 26792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F940 +1140 +FF40 +5540 +92C0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_68A9 +ENCODING 26793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +F540 +27C0 +7540 +6FC0 +A100 +A7C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_68AA +ENCODING 26794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +F800 +27C0 +7440 +6C40 +A7C0 +A000 +2440 +2280 +2FE0 +ENDCHAR +STARTCHAR U_68AB +ENCODING 26795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +FFC0 +2040 +6FE0 +7820 +A7C0 +A440 +2380 +2280 +2C60 +ENDCHAR +STARTCHAR U_68AC +ENCODING 26796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FD40 +27C0 +7540 +6FE0 +A200 +A7C0 +2040 +2140 +2080 +ENDCHAR +STARTCHAR U_68AD +ENCODING 26797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +FFE0 +2240 +7420 +6A00 +A3C0 +A640 +2980 +2240 +2C20 +ENDCHAR +STARTCHAR U_68AE +ENCODING 26798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FFE0 +2400 +77E0 +6C20 +A7A0 +A6A0 +2BA0 +2820 +30C0 +ENDCHAR +STARTCHAR U_68AF +ENCODING 26799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +27C0 +F940 +27C0 +7500 +6FE0 +A320 +2520 +29C0 +2100 +ENDCHAR +STARTCHAR U_68B0 +ENCODING 26800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +FFE0 +2080 +2AA0 +3AA0 +6FA0 +AAC0 +2AA0 +3160 +2220 +ENDCHAR +STARTCHAR U_68B1 +ENCODING 26801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +F920 +2FE0 +2920 +3920 +6BA0 +AD60 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_68B2 +ENCODING 26802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2440 +FFE0 +2440 +6440 +77C0 +AA80 +A280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_68B3 +ENCODING 26803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F200 +2440 +77E0 +6800 +A540 +A540 +2540 +2960 +3020 +ENDCHAR +STARTCHAR U_68B4 +ENCODING 26804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C20 +45C0 +F840 +4960 +6D40 +5540 +C940 +5940 +4BE0 +5400 +63E0 +ENDCHAR +STARTCHAR U_68B5 +ENCODING 26805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +2080 +71C0 +AAA0 +2480 +1F00 +1100 +1920 +2520 +C0E0 +ENDCHAR +STARTCHAR U_68B6 +ENCODING 26806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2400 +67C0 +7500 +A7C0 +2500 +27E0 +2920 +28E0 +ENDCHAR +STARTCHAR U_68B7 +ENCODING 26807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3A20 +2140 +F880 +8940 +FA20 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_68B8 +ENCODING 26808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +26A0 +FAA0 +2FA0 +72A0 +66A0 +ABA0 +32A0 +2220 +22A0 +2240 +ENDCHAR +STARTCHAR U_68B9 +ENCODING 26809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +F400 +27C0 +7480 +6480 +BFE0 +2000 +2480 +2860 +3020 +ENDCHAR +STARTCHAR U_68BA +ENCODING 26810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +7180 +6AC0 +A4A0 +FFE0 +0400 +0500 +04C0 +0440 +0400 +ENDCHAR +STARTCHAR U_68BB +ENCODING 26811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2680 +2A80 +FFE0 +2AA0 +6FE0 +7A80 +AFE0 +2AA0 +2AA0 +2AE0 +2C80 +ENDCHAR +STARTCHAR U_68BC +ENCODING 26812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +27E0 +7100 +6FE0 +A240 +A7E0 +2940 +3040 +20C0 +ENDCHAR +STARTCHAR U_68BD +ENCODING 26813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FFE0 +2100 +77E0 +6800 +A200 +2540 +2D20 +3440 +23C0 +ENDCHAR +STARTCHAR U_68BE +ENCODING 26814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +F200 +2A80 +7700 +7FE0 +A200 +2700 +2A80 +3260 +2200 +ENDCHAR +STARTCHAR U_68BF +ENCODING 26815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +F900 +2A80 +67E0 +7880 +A880 +2FE0 +2880 +2880 +37E0 +ENDCHAR +STARTCHAR U_68C0 +ENCODING 26816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC40 +2820 +27C0 +7000 +6920 +A4A0 +2240 +2280 +2FE0 +ENDCHAR +STARTCHAR U_68C1 +ENCODING 26817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +F7C0 +2440 +7440 +6FC0 +A280 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_68C2 +ENCODING 26818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2020 +FBE0 +2020 +77E0 +6900 +A520 +A940 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_68C3 +ENCODING 26819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +11E0 +FEA0 +38A0 +5520 +9260 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_68C4 +ENCODING 26820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +7FC0 +2480 +FFE0 +2480 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_68C5 +ENCODING 26821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2200 +FFE0 +2240 +6FE0 +7240 +AFC0 +2700 +2A80 +3260 +2200 +ENDCHAR +STARTCHAR U_68C6 +ENCODING 26822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC40 +2BA0 +2000 +3FE0 +6AA0 +AFE0 +2AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_68C7 +ENCODING 26823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FC40 +2520 +2100 +3240 +6FA0 +A140 +2AA0 +2A20 +33C0 +ENDCHAR +STARTCHAR U_68C8 +ENCODING 26824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +27C0 +7100 +6FE0 +A440 +A7C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_68C9 +ENCODING 26825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FC40 +27C0 +7440 +6FC0 +A100 +AFE0 +2920 +2960 +2100 +ENDCHAR +STARTCHAR U_68CA +ENCODING 26826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +1F00 +1100 +FFE0 +2480 +7FC0 +9520 +2480 +4440 +ENDCHAR +STARTCHAR U_68CB +ENCODING 26827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +FA40 +23C0 +2240 +33C0 +6A40 +AFE0 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_68CC +ENCODING 26828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2720 +F920 +24C0 +2000 +3100 +6FE0 +A100 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_68CD +ENCODING 26829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +27C0 +3000 +6CA0 +A7C0 +24A0 +27A0 +2460 +ENDCHAR +STARTCHAR U_68CE +ENCODING 26830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FA40 +2420 +7100 +6FE0 +A100 +A380 +2540 +2920 +2100 +ENDCHAR +STARTCHAR U_68CF +ENCODING 26831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +77E0 +6840 +AFE0 +A040 +2440 +2240 +20C0 +ENDCHAR +STARTCHAR U_68D0 +ENCODING 26832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FBE0 +0A00 +FBE0 +0A00 +FBE0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_68D1 +ENCODING 26833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FEE0 +2280 +7280 +6EE0 +A280 +A280 +2EE0 +2280 +2280 +ENDCHAR +STARTCHAR U_68D2 +ENCODING 26834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +27C0 +7200 +6FE0 +A540 +ABA0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_68D3 +ENCODING 26835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2440 +6280 +77E0 +A800 +A7C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_68D4 +ENCODING 26836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2480 +FFE0 +2480 +26A0 +3460 +6FC0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_68D5 +ENCODING 26837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +27C0 +2000 +37E0 +6900 +A540 +2920 +3120 +2300 +ENDCHAR +STARTCHAR U_68D6 +ENCODING 26838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +FFC0 +2400 +27C0 +3400 +6FE0 +A540 +2480 +2540 +2620 +ENDCHAR +STARTCHAR U_68D7 +ENCODING 26839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +2E80 +1500 +2480 +FFE0 +2480 +2E80 +1500 +E4E0 +ENDCHAR +STARTCHAR U_68D8 +ENCODING 26840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +2080 +FBE0 +AAA0 +AAA0 +BAE0 +2080 +71C0 +AAA0 +2080 +ENDCHAR +STARTCHAR U_68D9 +ENCODING 26841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FC20 +27E0 +3500 +6D40 +67E0 +A500 +2980 +2A40 +3420 +ENDCHAR +STARTCHAR U_68DA +ENCODING 26842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FAA0 +2EE0 +2AA0 +3AA0 +6EE0 +AAA0 +2AA0 +32A0 +2560 +ENDCHAR +STARTCHAR U_68DB +ENCODING 26843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F200 +2440 +6FE0 +7440 +AFC0 +2440 +27C0 +2440 +24C0 +ENDCHAR +STARTCHAR U_68DC +ENCODING 26844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2840 +2440 +FEA0 +2520 +2E20 +3A80 +6A60 +AA20 +2A80 +3260 +2420 +ENDCHAR +STARTCHAR U_68DD +ENCODING 26845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +F920 +2FE0 +3920 +6BA0 +AAA0 +ABA0 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_68DE +ENCODING 26846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +28A0 +FB20 +2920 +3FE0 +6920 +ABA0 +AD60 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_68DF +ENCODING 26847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +27C0 +2540 +37C0 +6D40 +A7C0 +2340 +2520 +2920 +ENDCHAR +STARTCHAR U_68E0 +ENCODING 26848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2480 +FFE0 +8020 +3F80 +2080 +3F80 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_68E1 +ENCODING 26849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FAA0 +2920 +2FE0 +3920 +6D60 +AD60 +2FE0 +2820 +2860 +ENDCHAR +STARTCHAR U_68E2 +ENCODING 26850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +FAA0 +2FE0 +7920 +6FE0 +AA20 +2A20 +2BE0 +2820 +2860 +ENDCHAR +STARTCHAR U_68E3 +ENCODING 26851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F140 +2FE0 +2140 +37C0 +6920 +A540 +2380 +2540 +2B20 +ENDCHAR +STARTCHAR U_68E4 +ENCODING 26852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FFE0 +2280 +6FE0 +7000 +AFC0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_68E5 +ENCODING 26853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2A80 +F5E0 +2480 +6BC0 +7AA0 +A4A0 +2A80 +2280 +2080 +2080 +ENDCHAR +STARTCHAR U_68E6 +ENCODING 26854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +F880 +27C0 +7140 +6FE0 +A140 +A7C0 +2100 +2100 +2300 +ENDCHAR +STARTCHAR U_68E7 +ENCODING 26855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +F940 +21A0 +2660 +3280 +6BE0 +AE40 +22A0 +21A0 +2E60 +ENDCHAR +STARTCHAR U_68E8 +ENCODING 26856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7DE0 +4620 +7D40 +4080 +8360 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_68E9 +ENCODING 26857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +2AA0 +FAA0 +2EE0 +6820 +7FE0 +A820 +AEE0 +2AA0 +2AA0 +32A0 +ENDCHAR +STARTCHAR U_68EA +ENCODING 26858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +2540 +F580 +2980 +2240 +3520 +6D40 +A580 +2980 +2240 +2C20 +ENDCHAR +STARTCHAR U_68EB +ENCODING 26859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +FFE0 +2080 +3EA0 +2AA0 +6EC0 +A080 +26A0 +3960 +2620 +ENDCHAR +STARTCHAR U_68EC +ENCODING 26860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FFE0 +2200 +2FE0 +3440 +6FA0 +B480 +25A0 +2420 +23E0 +ENDCHAR +STARTCHAR U_68ED +ENCODING 26861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F500 +25E0 +6920 +7AA0 +AE40 +A940 +2880 +2940 +2E20 +ENDCHAR +STARTCHAR U_68EE +ENCODING 26862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1500 +2480 +C460 +1100 +FFE0 +3180 +5B40 +9520 +1100 +ENDCHAR +STARTCHAR U_68EF +ENCODING 26863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F540 +28A0 +27C0 +3040 +6880 +A340 +2AA0 +2A40 +31C0 +ENDCHAR +STARTCHAR U_68F0 +ENCODING 26864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2540 +7540 +6FE0 +A540 +A540 +2FE0 +2100 +27C0 +ENDCHAR +STARTCHAR U_68F1 +ENCODING 26865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +2FE0 +2440 +3A20 +6BC0 +A680 +2900 +2280 +2C60 +ENDCHAR +STARTCHAR U_68F2 +ENCODING 26866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F140 +2FE0 +6140 +77C0 +A100 +AFE0 +2240 +2380 +2C60 +ENDCHAR +STARTCHAR U_68F3 +ENCODING 26867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +F440 +2AA0 +2100 +37E0 +6AA0 +A2A0 +2440 +2AA0 +3120 +ENDCHAR +STARTCHAR U_68F4 +ENCODING 26868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FAE0 +2E80 +6AE0 +7AA0 +AEA0 +AAA0 +2AC0 +2AC0 +36A0 +ENDCHAR +STARTCHAR U_68F5 +ENCODING 26869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +FFE0 +2520 +27E0 +3100 +6FE0 +A380 +2540 +2920 +3120 +ENDCHAR +STARTCHAR U_68F6 +ENCODING 26870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +2540 +2540 +3BA0 +6900 +A380 +2540 +2920 +2100 +ENDCHAR +STARTCHAR U_68F7 +ENCODING 26871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +2AE0 +FEA0 +2AA0 +2AA0 +3EA0 +6AA0 +ABA0 +3E40 +22A0 +2320 +ENDCHAR +STARTCHAR U_68F8 +ENCODING 26872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC00 +4BE0 +7840 +4940 +7880 +4940 +FE20 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_68F9 +ENCODING 26873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +F900 +27C0 +2440 +37C0 +6C40 +A7C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_68FA +ENCODING 26874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +27C0 +2440 +37C0 +6C00 +A7E0 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_68FB +ENCODING 26875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +4940 +9320 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_68FC +ENCODING 26876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +3980 +56C0 +90A0 +1100 +2080 +7FC0 +88A0 +1080 +6300 +ENDCHAR +STARTCHAR U_68FD +ENCODING 26877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +3180 +5AC0 +94A0 +0A00 +1500 +E2E0 +1F80 +0100 +0200 +ENDCHAR +STARTCHAR U_68FE +ENCODING 26878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +3B80 +D560 +1100 +FFE0 +8020 +1F00 +1100 +2120 +C0E0 +ENDCHAR +STARTCHAR U_68FF +ENCODING 26879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +24C0 +F440 +26C0 +7440 +6FC0 +A280 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_6900 +ENCODING 26880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +2800 +6FC0 +6B40 +BB40 +A5C0 +2520 +2920 +30E0 +ENDCHAR +STARTCHAR U_6901 +ENCODING 26881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F800 +23C0 +7240 +6BC0 +A080 +A100 +2FE0 +2100 +2300 +ENDCHAR +STARTCHAR U_6902 +ENCODING 26882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +F7C0 +2040 +77E0 +6900 +A560 +A380 +2540 +2960 +2300 +ENDCHAR +STARTCHAR U_6903 +ENCODING 26883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2200 +FFE0 +2A20 +7F80 +6A40 +6BC0 +A800 +2B80 +2AA0 +34E0 +ENDCHAR +STARTCHAR U_6904 +ENCODING 26884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2440 +2280 +37E0 +6900 +AFE0 +2480 +2380 +3E60 +ENDCHAR +STARTCHAR U_6905 +ENCODING 26885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +2280 +77E0 +6840 +A740 +A540 +2740 +2040 +20C0 +ENDCHAR +STARTCHAR U_6906 +ENCODING 26886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +FFA0 +2520 +27E0 +3420 +6FA0 +A6A0 +27A0 +2820 +30E0 +ENDCHAR +STARTCHAR U_6907 +ENCODING 26887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +67C0 +7440 +AFC0 +A440 +2FE0 +2440 +2820 +ENDCHAR +STARTCHAR U_6908 +ENCODING 26888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +F7E0 +2D60 +23A0 +37E0 +6920 +A3A0 +2560 +2920 +20C0 +ENDCHAR +STARTCHAR U_6909 +ENCODING 26889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1080 +3BE0 +6A80 +13E0 +6480 +FFE0 +0E00 +3580 +C460 +ENDCHAR +STARTCHAR U_690A +ENCODING 26890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2440 +7640 +69A0 +A100 +AFE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_690B +ENCODING 26891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F800 +27C0 +2440 +37C0 +6900 +A540 +2920 +3120 +2300 +ENDCHAR +STARTCHAR U_690C +ENCODING 26892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FC20 +2240 +2420 +3000 +6FC0 +A100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_690D +ENCODING 26893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27C0 +2440 +37C0 +6C40 +A740 +25C0 +2440 +2FE0 +ENDCHAR +STARTCHAR U_690E +ENCODING 26894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +FC80 +2480 +27E0 +3480 +6C80 +A7E0 +2480 +2480 +27E0 +ENDCHAR +STARTCHAR U_690F +ENCODING 26895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FA80 +26E0 +2420 +3420 +6C20 +A6E0 +2280 +2280 +2FE0 +ENDCHAR +STARTCHAR U_6910 +ENCODING 26896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FFE0 +24A0 +2480 +37E0 +6C80 +A7E0 +2A20 +33E0 +2220 +ENDCHAR +STARTCHAR U_6911 +ENCODING 26897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FD20 +27E0 +2520 +37E0 +6A80 +A480 +2FE0 +2080 +2080 +ENDCHAR +STARTCHAR U_6912 +ENCODING 26898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +24A0 +F7A0 +24A0 +2FA0 +34A0 +66A0 +ADA0 +3440 +24A0 +2D20 +ENDCHAR +STARTCHAR U_6913 +ENCODING 26899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FA20 +2D40 +2680 +3480 +6DC0 +A2A0 +24A0 +2CA0 +2300 +ENDCHAR +STARTCHAR U_6914 +ENCODING 26900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +22A0 +FD40 +22A0 +22A0 +37E0 +6D20 +A7E0 +2520 +27E0 +2420 +ENDCHAR +STARTCHAR U_6915 +ENCODING 26901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2A40 +FAE0 +2140 +2F40 +3540 +6DE0 +A560 +2540 +2940 +3340 +ENDCHAR +STARTCHAR U_6916 +ENCODING 26902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +FC20 +27E0 +7480 +6FE0 +A500 +25E0 +2920 +2A20 +3460 +ENDCHAR +STARTCHAR U_6917 +ENCODING 26903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +2820 +2FE0 +3100 +6D00 +A5E0 +2500 +2B00 +31E0 +ENDCHAR +STARTCHAR U_6918 +ENCODING 26904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FE0 +3B80 +5540 +9920 +0400 +7FC0 +0300 +0C00 +7000 +8FE0 +ENDCHAR +STARTCHAR U_6919 +ENCODING 26905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +77C0 +6800 +AFE0 +A820 +2FE0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_691A +ENCODING 26906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +6EE0 +7820 +A820 +A820 +2820 +28A0 +2840 +ENDCHAR +STARTCHAR U_691B +ENCODING 26907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +F480 +3200 +6A80 +64A0 +ACC0 +3480 +25A0 +24A0 +2460 +ENDCHAR +STARTCHAR U_691C +ENCODING 26908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC40 +33A0 +6900 +67C0 +A540 +27C0 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_691D +ENCODING 26909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +F440 +2540 +F540 +52A0 +8CE0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_691E +ENCODING 26910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +FE00 +3BE0 +5680 +9280 +1480 +FFE0 +0E00 +3580 +C460 +0400 +ENDCHAR +STARTCHAR U_691F +ENCODING 26911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +2FE0 +2420 +3B00 +6500 +AFE0 +2100 +2240 +2C20 +ENDCHAR +STARTCHAR U_6920 +ENCODING 26912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FB80 +5200 +FBE0 +1280 +FC80 +1480 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_6921 +ENCODING 26913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +5F20 +E4A0 +4AA0 +5FA0 +E4A0 +DFA0 +44A0 +4420 +4720 +5860 +ENDCHAR +STARTCHAR U_6922 +ENCODING 26914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +F820 +2FE0 +7920 +6FE0 +A9A0 +2960 +2FE0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_6923 +ENCODING 26915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FFE0 +2AA0 +7FE0 +6AA0 +AAA0 +3FE0 +2000 +2440 +2820 +ENDCHAR +STARTCHAR U_6924 +ENCODING 26916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FAA0 +2FE0 +2100 +33E0 +6E40 +A140 +2080 +2300 +2C00 +ENDCHAR +STARTCHAR U_6925 +ENCODING 26917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +24E0 +F7A0 +2AA0 +2FA0 +72A0 +6AA0 +A2A0 +25A0 +28E0 +3000 +ENDCHAR +STARTCHAR U_6926 +ENCODING 26918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +FFE0 +3200 +6FE0 +6480 +AA40 +37A0 +2280 +2480 +2980 +ENDCHAR +STARTCHAR U_6927 +ENCODING 26919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC60 +33C0 +6800 +6EE0 +AAA0 +2AA0 +2EE0 +2080 +2080 +ENDCHAR +STARTCHAR U_6928 +ENCODING 26920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +F900 +4A40 +6FE0 +DA40 +4B40 +4AC0 +4A40 +4A40 +52C0 +ENDCHAR +STARTCHAR U_6929 +ENCODING 26921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F900 +2FC0 +7940 +6FE0 +A940 +2FC0 +2900 +3280 +2460 +ENDCHAR +STARTCHAR U_692A +ENCODING 26922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2240 +F280 +2FE0 +2280 +3AA0 +6AA0 +A6C0 +2280 +2280 +2FE0 +ENDCHAR +STARTCHAR U_692B +ENCODING 26923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +F7C0 +2540 +77C0 +6D40 +A7C0 +A100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_692C +ENCODING 26924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +27C0 +7440 +6FC0 +A440 +A7C0 +2440 +2440 +3FE0 +ENDCHAR +STARTCHAR U_692D +ENCODING 26925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2BE0 +FA80 +2DE0 +2AA0 +3AE0 +6AA0 +AEE0 +28A0 +28A0 +28E0 +ENDCHAR +STARTCHAR U_692E +ENCODING 26926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +4F80 +E200 +5FE0 +6500 +CA80 +D560 +C200 +4C80 +4300 +5C00 +ENDCHAR +STARTCHAR U_692F +ENCODING 26927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2920 +FFE0 +2000 +2FE0 +3100 +6FE0 +AAA0 +2AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_6930 +ENCODING 26928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FEA0 +2AA0 +2AC0 +3EA0 +6AA0 +AAA0 +2FE0 +2280 +2280 +ENDCHAR +STARTCHAR U_6931 +ENCODING 26929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27E0 +F800 +23C0 +7240 +6BC0 +A240 +23C0 +2640 +2980 +2660 +ENDCHAR +STARTCHAR U_6932 +ENCODING 26930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F240 +2FE0 +2440 +37C0 +6900 +AFE0 +2500 +2FE0 +2100 +ENDCHAR +STARTCHAR U_6933 +ENCODING 26931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FFC0 +2540 +27C0 +3000 +6FE0 +A520 +2540 +2680 +2C60 +ENDCHAR +STARTCHAR U_6934 +ENCODING 26932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2940 +FF40 +2860 +29C0 +3F40 +6940 +A940 +3E80 +2940 +2A20 +ENDCHAR +STARTCHAR U_6935 +ENCODING 26933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2A20 +FEE0 +2800 +2EE0 +38A0 +68A0 +AEA0 +2840 +28A0 +2920 +ENDCHAR +STARTCHAR U_6936 +ENCODING 26934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2920 +FAA0 +2FE0 +7440 +6A20 +B7E0 +2A40 +2180 +2280 +2C60 +ENDCHAR +STARTCHAR U_6937 +ENCODING 26935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +FFE0 +2880 +2FA0 +38A0 +6EA0 +AAC0 +2EA0 +3160 +2220 +ENDCHAR +STARTCHAR U_6938 +ENCODING 26936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2500 +2FE0 +FA80 +2EA0 +3AE0 +6BA0 +AAE0 +2A80 +3220 +25E0 +ENDCHAR +STARTCHAR U_6939 +ENCODING 26937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +FA40 +23C0 +2240 +33C0 +6A40 +AFE0 +2540 +2620 +27E0 +ENDCHAR +STARTCHAR U_693A +ENCODING 26938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2BC0 +FA40 +2BC0 +3900 +6FE0 +6900 +AB80 +2D40 +2920 +2900 +ENDCHAR +STARTCHAR U_693B +ENCODING 26939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +FDE0 +2520 +25E0 +3480 +6FE0 +A540 +24C0 +2520 +27E0 +ENDCHAR +STARTCHAR U_693C +ENCODING 26940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26E0 +2900 +F000 +26E0 +2940 +3940 +6940 +AE40 +2A40 +2A40 +2AC0 +ENDCHAR +STARTCHAR U_693D +ENCODING 26941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2280 +F780 +2080 +6FE0 +7520 +AAC0 +A580 +2AC0 +24A0 +2980 +ENDCHAR +STARTCHAR U_693E +ENCODING 26942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +F000 +2E20 +7AA0 +6EA0 +6AA0 +AEA0 +2AA0 +2A20 +2A60 +ENDCHAR +STARTCHAR U_693F +ENCODING 26943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +27C0 +3200 +6FE0 +6440 +AFE0 +2540 +24C0 +27C0 +ENDCHAR +STARTCHAR U_6940 +ENCODING 26944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +F900 +27C0 +3540 +2FC0 +6100 +AFE0 +29A0 +2F60 +2860 +ENDCHAR +STARTCHAR U_6941 +ENCODING 26945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA20 +23C0 +3240 +2D80 +6240 +AFE0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_6942 +ENCODING 26946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FD40 +2920 +37C0 +2C40 +67C0 +A440 +27C0 +2000 +2FE0 +ENDCHAR +STARTCHAR U_6943 +ENCODING 26947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +FFC0 +6800 +7FC0 +AA80 +AFC0 +2900 +2FC0 +3100 +2FE0 +ENDCHAR +STARTCHAR U_6944 +ENCODING 26948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +2FE0 +3800 +2FE0 +6AA0 +AFE0 +2AA0 +3AA0 +2860 +ENDCHAR +STARTCHAR U_6945 +ENCODING 26949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2000 +FBC0 +2240 +33C0 +2800 +67E0 +A520 +27E0 +2520 +27E0 +ENDCHAR +STARTCHAR U_6946 +ENCODING 26950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2AA0 +6FE0 +7100 +AFE0 +2240 +2680 +2140 +2E20 +ENDCHAR +STARTCHAR U_6947 +ENCODING 26951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FF40 +2540 +7FE0 +6820 +ABA0 +AAA0 +2BA0 +2820 +2860 +ENDCHAR +STARTCHAR U_6948 +ENCODING 26952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2120 +F5C0 +2D00 +37E0 +2C40 +67C0 +A440 +27C0 +2440 +24C0 +ENDCHAR +STARTCHAR U_6949 +ENCODING 26953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +FA40 +2100 +37E0 +2A00 +67E0 +AA20 +3220 +23E0 +2220 +ENDCHAR +STARTCHAR U_694A +ENCODING 26954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +37E0 +2C00 +67E0 +AAA0 +22A0 +2520 +22C0 +ENDCHAR +STARTCHAR U_694B +ENCODING 26955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2F20 +F2A0 +2FA0 +2AA0 +3FA0 +62A0 +A6A0 +2B20 +32A0 +2260 +ENDCHAR +STARTCHAR U_694C +ENCODING 26956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA80 +27E0 +3440 +2C80 +6720 +A4C0 +2720 +28C0 +3300 +ENDCHAR +STARTCHAR U_694D +ENCODING 26957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0E00 +1500 +E4E0 +0000 +EEE0 +AAA0 +AAA0 +AAA0 +EEE0 +ENDCHAR +STARTCHAR U_694E +ENCODING 26958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +F100 +2FE0 +3540 +2FC0 +6540 +A7C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_694F +ENCODING 26959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA40 +2520 +33C0 +2900 +6FE0 +A100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6950 +ENCODING 26960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2A40 +FFC0 +2A40 +6FC0 +7300 +ACE0 +3480 +2480 +2480 +2880 +ENDCHAR +STARTCHAR U_6951 +ENCODING 26961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EA0 +2B40 +F680 +2240 +3420 +2FC0 +6100 +AFE0 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6952 +ENCODING 26962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +FFE0 +2520 +37E0 +2C20 +6100 +A2C0 +2A20 +3A60 +21C0 +ENDCHAR +STARTCHAR U_6953 +ENCODING 26963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +24C0 +FD40 +27C0 +3540 +2D40 +67C0 +A540 +2540 +2920 +33A0 +ENDCHAR +STARTCHAR U_6954 +ENCODING 26964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2EA0 +F4A0 +2EA0 +24A0 +3F20 +6440 +AFE0 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_6955 +ENCODING 26965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F400 +37C0 +6900 +7FE0 +A440 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_6956 +ENCODING 26966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEA0 +2AA0 +2EA0 +3AA0 +68A0 +AAA0 +2AE0 +2D80 +2880 +ENDCHAR +STARTCHAR U_6957 +ENCODING 26967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3C80 +25E0 +F4A0 +2BE0 +3CA0 +27E0 +7480 +AFE0 +2480 +2A80 +31E0 +ENDCHAR +STARTCHAR U_6958 +ENCODING 26968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +29E0 +FF40 +3480 +5140 +B220 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_6959 +ENCODING 26969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2A80 +F5E0 +2F80 +2580 +34C0 +6DA0 +B6A0 +2480 +2480 +2C80 +ENDCHAR +STARTCHAR U_695A +ENCODING 26970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +1080 +39C0 +56A0 +9080 +7FE0 +1220 +13C0 +2A00 +C7E0 +ENDCHAR +STARTCHAR U_695B +ENCODING 26971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +FA40 +2100 +37E0 +2900 +67C0 +A440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_695C +ENCODING 26972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +24A0 +FFA0 +24E0 +34A0 +6EA0 +AAE0 +2AA0 +2EA0 +2120 +2260 +ENDCHAR +STARTCHAR U_695D +ENCODING 26973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +2FE0 +2AA0 +3920 +6FE0 +A100 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_695E +ENCODING 26974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FAA0 +2FE0 +7100 +6FE0 +A200 +A3E0 +2220 +24A0 +2840 +ENDCHAR +STARTCHAR U_695F +ENCODING 26975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA40 +23C0 +6000 +77E0 +A820 +A7E0 +2080 +2080 +2180 +ENDCHAR +STARTCHAR U_6960 +ENCODING 26976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +2FE0 +2AA0 +3920 +6FE0 +A920 +2FE0 +2920 +2860 +ENDCHAR +STARTCHAR U_6961 +ENCODING 26977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F440 +2BA0 +7000 +6EA0 +AAA0 +2F40 +2B40 +2EA0 +2AA0 +ENDCHAR +STARTCHAR U_6962 +ENCODING 26978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +2280 +2FE0 +3AA0 +6CE0 +A820 +2FE0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_6963 +ENCODING 26979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +FFE0 +2800 +2BE0 +3A20 +6BE0 +AA20 +2BE0 +3220 +23E0 +ENDCHAR +STARTCHAR U_6964 +ENCODING 26980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +FAA0 +34A0 +2920 +62A0 +6440 +B240 +3520 +2460 +23C0 +ENDCHAR +STARTCHAR U_6965 +ENCODING 26981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +27A0 +FCA0 +27E0 +2100 +37E0 +6A00 +A3E0 +2520 +28C0 +3320 +ENDCHAR +STARTCHAR U_6966 +ENCODING 26982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FC20 +2000 +37E0 +2A40 +63C0 +A240 +23C0 +2000 +2FE0 +ENDCHAR +STARTCHAR U_6967 +ENCODING 26983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +F480 +2200 +2FC0 +7A40 +6A40 +BFE0 +2500 +2880 +3060 +ENDCHAR +STARTCHAR U_6968 +ENCODING 26984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +F900 +27C0 +2440 +37C0 +6C40 +A7C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_6969 +ENCODING 26985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +FBE0 +2AA0 +2BE0 +3AA0 +6BE0 +AA80 +2900 +2A80 +2C60 +ENDCHAR +STARTCHAR U_696A +ENCODING 26986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +27E0 +FD40 +25C0 +3400 +2FE0 +6100 +AFE0 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_696B +ENCODING 26987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +2FE0 +2440 +37C0 +6C40 +A7C0 +2460 +2FC0 +2040 +ENDCHAR +STARTCHAR U_696C +ENCODING 26988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +37C0 +2A00 +67E0 +ACA0 +2560 +27A0 +20C0 +ENDCHAR +STARTCHAR U_696D +ENCODING 26989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +2A80 +FFE0 +1100 +7FC0 +0400 +3F80 +0400 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_696E +ENCODING 26990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +27A0 +F940 +2FE0 +3100 +2FC0 +6440 +AFC0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_696F +ENCODING 26991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2480 +FFE0 +2480 +35E0 +2D20 +65E0 +A520 +25E0 +2920 +31E0 +ENDCHAR +STARTCHAR U_6970 +ENCODING 26992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2D60 +F920 +2FE0 +2920 +3FE0 +6920 +A100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6971 +ENCODING 26993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FFC0 +2200 +37E0 +2C40 +6BA0 +A100 +27C0 +2280 +2C60 +ENDCHAR +STARTCHAR U_6972 +ENCODING 26994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +40A0 +FFE0 +5680 +74A0 +DFA0 +54A0 +5AC0 +54A0 +6B60 +4220 +ENDCHAR +STARTCHAR U_6973 +ENCODING 26995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F440 +27C0 +7440 +6FC0 +A100 +AFE0 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_6974 +ENCODING 26996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F440 +2280 +3FE0 +2920 +67C0 +A540 +2540 +25C0 +2100 +ENDCHAR +STARTCHAR U_6975 +ENCODING 26997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4080 +E100 +5DE0 +7520 +55A0 +DD40 +55A0 +4120 +4200 +4FE0 +ENDCHAR +STARTCHAR U_6976 +ENCODING 26998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2FE0 +D320 +4CC0 +3F80 +2080 +3F80 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6977 +ENCODING 26999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +26A0 +FCC0 +26A0 +64E0 +7900 +A7C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_6978 +ENCODING 27000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E40 +2440 +F540 +2F60 +3540 +2640 +6D40 +B4A0 +24A0 +2520 +2620 +ENDCHAR +STARTCHAR U_6979 +ENCODING 27001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F80 +2480 +F5E0 +27A0 +74A0 +6B20 +B4C0 +A000 +2FE0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_697A +ENCODING 27002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2280 +FFE0 +21A0 +32C0 +2D80 +6100 +AFE0 +2540 +2920 +3120 +ENDCHAR +STARTCHAR U_697B +ENCODING 27003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FC40 +27C0 +7440 +6FE0 +A100 +A7C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_697C +ENCODING 27004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +F100 +2FE0 +7540 +6920 +A100 +2FE0 +2240 +2180 +2E60 +ENDCHAR +STARTCHAR U_697D +ENCODING 27005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +9F20 +5140 +3F80 +5140 +9F20 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_697E +ENCODING 27006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +FC40 +27C0 +7440 +6FC0 +A100 +2D60 +2580 +2960 +2300 +ENDCHAR +STARTCHAR U_697F +ENCODING 27007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2380 +7D40 +6920 +A7C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_6980 +ENCODING 27008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FC40 +27C0 +2000 +3EE0 +6AA0 +AAA0 +2AA0 +2EE0 +2AA0 +ENDCHAR +STARTCHAR U_6981 +ENCODING 27009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F820 +27C0 +7200 +6480 +AFC0 +2240 +2F80 +2200 +3FE0 +ENDCHAR +STARTCHAR U_6982 +ENCODING 27010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2A40 +FE40 +2B40 +2FE0 +3A40 +6C40 +AAC0 +2D40 +2A40 +2460 +ENDCHAR +STARTCHAR U_6983 +ENCODING 27011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +71C0 +AAA0 +A4A0 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_6984 +ENCODING 27012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2AE0 +FB40 +2A20 +27C0 +3440 +6D40 +A540 +25C0 +22A0 +2CE0 +ENDCHAR +STARTCHAR U_6985 +ENCODING 27013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47C0 +F440 +47C0 +6440 +D7C0 +D000 +4FE0 +4AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_6986 +ENCODING 27014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2480 +FB60 +2000 +6E20 +7AA0 +AEA0 +AAA0 +2EA0 +2A20 +2A60 +ENDCHAR +STARTCHAR U_6987 +ENCODING 27015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F440 +2280 +2FE0 +3100 +6FC0 +A100 +2540 +2920 +3320 +ENDCHAR +STARTCHAR U_6988 +ENCODING 27016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +2420 +F820 +2BA0 +6AA0 +7BA0 +A820 +ABA0 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_6989 +ENCODING 27017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FFE0 +2280 +3540 +2920 +67C0 +A100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_698A +ENCODING 27018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +4480 +FFE0 +6AA0 +5FE0 +DAA0 +6BE0 +4880 +4880 +4880 +4880 +ENDCHAR +STARTCHAR U_698B +ENCODING 27019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +F7C0 +2040 +77C0 +6800 +AEE0 +2220 +2EE0 +2220 +2EE0 +ENDCHAR +STARTCHAR U_698C +ENCODING 27020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2F40 +F180 +2540 +7AC0 +6A00 +BFA0 +2AC0 +2AA0 +2A40 +3220 +ENDCHAR +STARTCHAR U_698D +ENCODING 27021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FFE0 +2CA0 +2AC0 +3BE0 +6A20 +ABE0 +2A20 +2BE0 +3260 +ENDCHAR +STARTCHAR U_698E +ENCODING 27022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2440 +FF40 +25C0 +3440 +2FC0 +6200 +A7E0 +2A40 +2180 +2E60 +ENDCHAR +STARTCHAR U_698F +ENCODING 27023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +2280 +7440 +6820 +AFE0 +AAA0 +2AA0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_6990 +ENCODING 27024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FFE0 +2540 +37E0 +2D40 +67E0 +AAA0 +2A40 +2B20 +3620 +ENDCHAR +STARTCHAR U_6991 +ENCODING 27025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2FE0 +F540 +2FC0 +3540 +27C0 +6D40 +AFE0 +2440 +2240 +20C0 +ENDCHAR +STARTCHAR U_6992 +ENCODING 27026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2EE0 +F220 +6EE0 +7880 +6EE0 +AAA0 +2660 +2AA0 +2220 +2440 +ENDCHAR +STARTCHAR U_6993 +ENCODING 27027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2280 +F740 +2A20 +3240 +2DC0 +6000 +AFE0 +2AA0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_6994 +ENCODING 27028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +2EA0 +FAA0 +2EA0 +3AC0 +2EA0 +68A0 +AAA0 +2AE0 +3D80 +2080 +ENDCHAR +STARTCHAR U_6995 +ENCODING 27029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +2440 +3380 +2C40 +6FE0 +A440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_6996 +ENCODING 27030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2240 +FA40 +8C20 +73C0 +2240 +FD40 +7080 +A940 +2620 +ENDCHAR +STARTCHAR U_6997 +ENCODING 27031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FAA0 +26C0 +2FE0 +3000 +6FC0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_6998 +ENCODING 27032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7A00 +A3C0 +FA40 +23C0 +5200 +8BE0 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6999 +ENCODING 27033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +FA80 +2380 +3440 +2BA0 +6000 +A7C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_699A +ENCODING 27034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +2100 +37C0 +2900 +6FE0 +A000 +2540 +2AA0 +32A0 +ENDCHAR +STARTCHAR U_699B +ENCODING 27035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +27C0 +7200 +6FE0 +A540 +2BA0 +2100 +2540 +2920 +ENDCHAR +STARTCHAR U_699C +ENCODING 27036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2FE0 +2920 +3080 +6FE0 +A200 +23C0 +2440 +39C0 +ENDCHAR +STARTCHAR U_699D +ENCODING 27037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +55C0 +4940 +5540 +EA60 +5C00 +E9C0 +DD40 +5B40 +6880 +4940 +4A20 +ENDCHAR +STARTCHAR U_699E +ENCODING 27038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +FDE0 +2520 +35E0 +2D20 +65E0 +A480 +29C0 +2AA0 +35A0 +ENDCHAR +STARTCHAR U_699F +ENCODING 27039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +3920 +6FC0 +6280 +6FE0 +A100 +27C0 +2100 +2100 +ENDCHAR +STARTCHAR U_69A0 +ENCODING 27040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FFC0 +2440 +27C0 +3440 +6FC0 +A100 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_69A1 +ENCODING 27041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +F7C0 +2100 +2FE0 +3240 +6780 +A240 +2FA0 +2540 +3B20 +ENDCHAR +STARTCHAR U_69A2 +ENCODING 27042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F820 +37C0 +2A00 +6560 +6280 +ADC0 +22A0 +2C80 +2100 +ENDCHAR +STARTCHAR U_69A3 +ENCODING 27043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2700 +FD20 +22C0 +6400 +77E0 +A880 +AFE0 +2080 +24A0 +27E0 +ENDCHAR +STARTCHAR U_69A4 +ENCODING 27044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +27E0 +F940 +25E0 +3240 +2D40 +6FE0 +A100 +2380 +2540 +3920 +ENDCHAR +STARTCHAR U_69A5 +ENCODING 27045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FFE0 +2420 +37E0 +2920 +6540 +AFE0 +2280 +24A0 +2860 +ENDCHAR +STARTCHAR U_69A6 +ENCODING 27046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +2140 +FE20 +8880 +FFE0 +8880 +F9C0 +22A0 +FCA0 +2080 +ENDCHAR +STARTCHAR U_69A7 +ENCODING 27047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2540 +FD40 +2760 +3540 +2F60 +6540 +A760 +2540 +2540 +27E0 +ENDCHAR +STARTCHAR U_69A8 +ENCODING 27048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FD20 +2240 +3520 +2BE0 +6500 +A9E0 +2100 +21E0 +2100 +ENDCHAR +STARTCHAR U_69A9 +ENCODING 27049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +F900 +27E0 +3520 +2FE0 +6480 +A7E0 +2A40 +3180 +2660 +ENDCHAR +STARTCHAR U_69AA +ENCODING 27050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +FFC0 +2480 +37C0 +2C80 +67E0 +A020 +2560 +2AA0 +2A60 +ENDCHAR +STARTCHAR U_69AB +ENCODING 27051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +FC80 +27C0 +3480 +2FC0 +6480 +A7E0 +2080 +2FE0 +2080 +ENDCHAR +STARTCHAR U_69AC +ENCODING 27052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F900 +27E0 +3000 +2FC0 +6440 +A7C0 +26A0 +2A40 +2320 +ENDCHAR +STARTCHAR U_69AD +ENCODING 27053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2E40 +FBE0 +2E40 +3B40 +2EC0 +6A40 +BE40 +2A40 +3240 +26C0 +ENDCHAR +STARTCHAR U_69AE +ENCODING 27054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +54A0 +5AA0 +9080 +2940 +4620 +FFE0 +8420 +7FC0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_69AF +ENCODING 27055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2FE0 +FA80 +2BE0 +2E40 +3BE0 +6A40 +AF40 +2AC0 +2040 +20C0 +ENDCHAR +STARTCHAR U_69B0 +ENCODING 27056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27A0 +2140 +FFE0 +2240 +27A0 +3220 +6FE0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_69B1 +ENCODING 27057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F800 +23C0 +3240 +2FE0 +6240 +A3C0 +26A0 +2B40 +2220 +ENDCHAR +STARTCHAR U_69B2 +ENCODING 27058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FEC0 +2440 +77C0 +6800 +AFE0 +AAA0 +2AA0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_69B3 +ENCODING 27059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F800 +2EE0 +2A40 +3FE0 +6A40 +AA40 +2BE0 +3500 +28E0 +ENDCHAR +STARTCHAR U_69B4 +ENCODING 27060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2DE0 +28A0 +FAA0 +2DA0 +3960 +2000 +6FE0 +A920 +2FE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_69B5 +ENCODING 27061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +FA40 +2FE0 +3440 +2FC0 +6440 +A7C0 +2460 +2FC0 +2040 +ENDCHAR +STARTCHAR U_69B6 +ENCODING 27062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FD40 +27E0 +3540 +2FC0 +6500 +A7C0 +2A40 +2BC0 +3240 +ENDCHAR +STARTCHAR U_69B7 +ENCODING 27063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +27E0 +3480 +2FC0 +7480 +A7C0 +2480 +2480 +27E0 +ENDCHAR +STARTCHAR U_69B8 +ENCODING 27064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4BE0 +EAA0 +5FE0 +6AA0 +DAA0 +CBE0 +4880 +4FE0 +7080 +4FE0 +ENDCHAR +STARTCHAR U_69B9 +ENCODING 27065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +FCE0 +2480 +37E0 +2CA0 +67C0 +A4A0 +25E0 +2940 +3260 +ENDCHAR +STARTCHAR U_69BA +ENCODING 27066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7540 +5380 +5FE0 +7100 +5FE0 +5440 +7920 +57C0 +5380 +9540 +B920 +ENDCHAR +STARTCHAR U_69BB +ENCODING 27067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +77C0 +6800 +AEE0 +AAA0 +2660 +2AA0 +2660 +ENDCHAR +STARTCHAR U_69BC +ENCODING 27068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +2FE0 +3200 +2440 +6FA0 +A000 +2FE0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_69BD +ENCODING 27069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2520 +FAC0 +2240 +3780 +2940 +67A0 +A100 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_69BE +ENCODING 27070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F740 +2FE0 +6820 +77C0 +AC40 +A7C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_69BF +ENCODING 27071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2920 +FFE0 +2000 +3FE0 +2800 +67C0 +A440 +27C0 +2280 +2FE0 +ENDCHAR +STARTCHAR U_69C0 +ENCODING 27072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +7FC0 +5140 +5F40 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_69C1 +ENCODING 27073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F440 +27C0 +3000 +6FE0 +A820 +2BA0 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_69C2 +ENCODING 27074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C60 +4780 +F920 +4BC0 +48A0 +6FE0 +D880 +4AC0 +4AA0 +6CA0 +5980 +ENDCHAR +STARTCHAR U_69C3 +ENCODING 27075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +FA40 +AA60 +FC00 +ABE0 +A940 +9880 +0540 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_69C4 +ENCODING 27076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2720 +F820 +2540 +7200 +6CE0 +A420 +A6E0 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_69C5 +ENCODING 27077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2440 +FFC0 +3000 +6FE0 +6CA0 +AAA0 +2FE0 +2920 +2920 +2860 +ENDCHAR +STARTCHAR U_69C6 +ENCODING 27078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +27E0 +3420 +2BA0 +62A0 +A3A0 +22A0 +23A0 +20C0 +ENDCHAR +STARTCHAR U_69C7 +ENCODING 27079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2400 +F7E0 +32C0 +2B40 +6AC0 +6BC0 +A800 +2FE0 +2440 +2820 +ENDCHAR +STARTCHAR U_69C8 +ENCODING 27080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2800 +FFE0 +2B40 +6A80 +7B60 +A840 +AFE0 +2A40 +2A40 +30C0 +ENDCHAR +STARTCHAR U_69C9 +ENCODING 27081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +F500 +2D00 +35E0 +2680 +6FE0 +B480 +2540 +2A20 +3420 +ENDCHAR +STARTCHAR U_69CA +ENCODING 27082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +FD20 +11E0 +5520 +7DE0 +1220 +2460 +4400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_69CB +ENCODING 27083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +F480 +2FE0 +3480 +6FE0 +A940 +AFC0 +2940 +3FE0 +28C0 +ENDCHAR +STARTCHAR U_69CC +ENCODING 27084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +25E0 +F520 +21E0 +3D00 +65E0 +A520 +25E0 +2520 +2A00 +31E0 +ENDCHAR +STARTCHAR U_69CD +ENCODING 27085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F540 +2FE0 +3440 +27C0 +6440 +A7E0 +2C20 +3420 +27E0 +ENDCHAR +STARTCHAR U_69CE +ENCODING 27086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +2100 +27C0 +3100 +6FE0 +A200 +27C0 +2880 +37E0 +ENDCHAR +STARTCHAR U_69CF +ENCODING 27087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +F500 +2FC0 +2540 +3FE0 +6540 +AFC0 +2580 +2D40 +3520 +ENDCHAR +STARTCHAR U_69D0 +ENCODING 27088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +FA40 +2FC0 +3A40 +2FC0 +6240 +A3A0 +2560 +2920 +31E0 +ENDCHAR +STARTCHAR U_69D1 +ENCODING 27089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +4A40 +7BC0 +1100 +FBE0 +3B80 +5540 +5920 +9100 +1100 +ENDCHAR +STARTCHAR U_69D2 +ENCODING 27090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2140 +77E0 +6800 +67E0 +A520 +27E0 +2520 +27E0 +ENDCHAR +STARTCHAR U_69D3 +ENCODING 27091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2440 +37C0 +6C40 +A7C0 +A440 +27C0 +2280 +2C60 +ENDCHAR +STARTCHAR U_69D4 +ENCODING 27092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F440 +2FC0 +2440 +3FE0 +6540 +A920 +37C0 +2100 +2100 +ENDCHAR +STARTCHAR U_69D5 +ENCODING 27093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +F900 +27C0 +7440 +6FC0 +A440 +AFE0 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_69D6 +ENCODING 27094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +8820 +3F80 +D080 +1080 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_69D7 +ENCODING 27095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F400 +2FC0 +7440 +6FE0 +A820 +ABA0 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_69D8 +ENCODING 27096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F100 +2FC0 +7100 +6FE0 +A100 +A540 +2380 +2D40 +2320 +ENDCHAR +STARTCHAR U_69D9 +ENCODING 27097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F900 +27C0 +3440 +2F40 +65C0 +A440 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_69DA +ENCODING 27098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2AA0 +7FE0 +6800 +A7C0 +A540 +2540 +2280 +2C60 +ENDCHAR +STARTCHAR U_69DB +ENCODING 27099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2A80 +FAE0 +2A80 +2AC0 +3320 +6000 +AFE0 +2AA0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_69DC +ENCODING 27100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +27E0 +FC80 +37C0 +6C80 +67E0 +A400 +2FC0 +2260 +2420 +28C0 +ENDCHAR +STARTCHAR U_69DD +ENCODING 27101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +F440 +27C0 +7440 +6FC0 +6400 +A7E0 +2AA0 +2FA0 +2060 +ENDCHAR +STARTCHAR U_69DE +ENCODING 27102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2FE0 +7540 +6FC0 +A540 +27C0 +2100 +2120 +20E0 +ENDCHAR +STARTCHAR U_69DF +ENCODING 27103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +27C0 +7400 +6FE0 +A480 +A480 +3FE0 +2440 +2820 +ENDCHAR +STARTCHAR U_69E0 +ENCODING 27104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20A0 +2BE0 +F4A0 +23E0 +6C80 +75E0 +A520 +A7E0 +2520 +21E0 +2120 +ENDCHAR +STARTCHAR U_69E1 +ENCODING 27105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2280 +F100 +2EE0 +7440 +6AA0 +A100 +AFE0 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_69E2 +ENCODING 27106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2220 +FAA0 +2660 +3AA0 +6920 +A7C0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_69E3 +ENCODING 27107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F920 +37C0 +2A80 +6440 +6FE0 +A540 +2740 +2040 +20C0 +ENDCHAR +STARTCHAR U_69E4 +ENCODING 27108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +27E0 +F2A0 +23E0 +2EA0 +37E0 +6C80 +A7E0 +2480 +2A80 +31E0 +ENDCHAR +STARTCHAR U_69E5 +ENCODING 27109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2440 +FEE0 +2440 +3EE0 +2440 +67E0 +A020 +27E0 +2020 +27E0 +ENDCHAR +STARTCHAR U_69E6 +ENCODING 27110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F940 +2FE0 +3940 +2FE0 +6D20 +AFE0 +2D20 +37E0 +2560 +ENDCHAR +STARTCHAR U_69E7 +ENCODING 27111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF00 +5500 +7DE0 +5540 +FD40 +1240 +0400 +FFE0 +1480 +E460 +ENDCHAR +STARTCHAR U_69E8 +ENCODING 27112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +2FA0 +FAA0 +2EC0 +30A0 +2FA0 +62A0 +A7A0 +3CE0 +2480 +2C80 +ENDCHAR +STARTCHAR U_69E9 +ENCODING 27113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +6A80 +5BE0 +7980 +52A0 +6CE0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_69EA +ENCODING 27114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2FE0 +FA40 +2E40 +7BE0 +6E40 +A840 +AEC0 +28C0 +2740 +2260 +ENDCHAR +STARTCHAR U_69EB +ENCODING 27115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F540 +27C0 +7540 +6FC0 +A0A0 +AFE0 +2480 +2280 +2180 +ENDCHAR +STARTCHAR U_69EC +ENCODING 27116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +26A0 +FAA0 +2EA0 +22A0 +7EA0 +AAA0 +AEA0 +22A0 +32E0 +2DA0 +ENDCHAR +STARTCHAR U_69ED +ENCODING 27117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +FFE0 +2A80 +3B80 +6AA0 +AFA0 +2A40 +2F40 +2AA0 +3720 +ENDCHAR +STARTCHAR U_69EE +ENCODING 27118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +F7E0 +2AA0 +7FE0 +6A80 +A540 +AAA0 +2140 +2080 +2700 +ENDCHAR +STARTCHAR U_69EF +ENCODING 27119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +FFC0 +3280 +6FE0 +7C80 +A7C0 +2480 +27C0 +2480 +27E0 +ENDCHAR +STARTCHAR U_69F0 +ENCODING 27120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +F640 +2980 +7760 +7900 +ABC0 +2900 +2FE0 +2900 +37E0 +ENDCHAR +STARTCHAR U_69F1 +ENCODING 27121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2AA0 +3CE0 +2820 +6FE0 +A820 +2FE0 +2540 +2AA0 +ENDCHAR +STARTCHAR U_69F2 +ENCODING 27122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +27A0 +FA60 +2FA0 +2AE0 +3FA0 +6AA0 +AFE0 +2AA0 +2AA0 +31A0 +ENDCHAR +STARTCHAR U_69F3 +ENCODING 27123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +4B40 +7E80 +0940 +FFE0 +4940 +8A40 +FFE0 +1280 +2240 +C220 +ENDCHAR +STARTCHAR U_69F4 +ENCODING 27124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +2FE0 +2940 +3BE0 +6AA0 +ABE0 +2A00 +3220 +21E0 +ENDCHAR +STARTCHAR U_69F5 +ENCODING 27125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +FA40 +2FC0 +2200 +6FC0 +6A40 +AFC0 +2220 +3540 +33C0 +ENDCHAR +STARTCHAR U_69F6 +ENCODING 27126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2960 +FFE0 +2920 +2EA0 +3AA0 +6EE0 +A8A0 +2F60 +2820 +2FE0 +ENDCHAR +STARTCHAR U_69F7 +ENCODING 27127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +2140 +FF40 +69C0 +A540 +FA20 +2400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_69F8 +ENCODING 27128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2E80 +F5E0 +2FA0 +34A0 +6BA0 +A4E0 +AEA0 +24A0 +3F20 +2220 +ENDCHAR +STARTCHAR U_69F9 +ENCODING 27129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +F440 +27C0 +7440 +6FC0 +A540 +A380 +2540 +2FE0 +2100 +ENDCHAR +STARTCHAR U_69FA +ENCODING 27130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F940 +2FE0 +7940 +6FC0 +A900 +2D40 +2B80 +3560 +2B00 +ENDCHAR +STARTCHAR U_69FB +ENCODING 27131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2520 +FFE0 +2520 +6FE0 +7520 +ADE0 +A480 +2AA0 +31A0 +2260 +ENDCHAR +STARTCHAR U_69FC +ENCODING 27132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC40 +27C0 +FC40 +27C0 +5280 +8EE0 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_69FD +ENCODING 27133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +FAA0 +2FE0 +2AA0 +3FE0 +6440 +A7C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_69FE +ENCODING 27134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +F7C0 +2440 +3FE0 +2AA0 +6AA0 +AFE0 +2480 +2300 +2CE0 +ENDCHAR +STARTCHAR U_69FF +ENCODING 27135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2100 +27C0 +3540 +6FE0 +A100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6A00 +ENCODING 27136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F240 +2FE0 +6920 +7FE0 +A920 +ABA0 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_6A01 +ENCODING 27137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +2FE0 +6280 +7440 +AEE0 +A440 +26C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_6A02 +ENCODING 27138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5E40 +92A0 +FFE0 +5240 +FFE0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_6A03 +ENCODING 27139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2EE0 +FAA0 +2EA0 +7AE0 +6EA0 +A8E0 +2CA0 +2AA0 +2D20 +2260 +ENDCHAR +STARTCHAR U_6A04 +ENCODING 27140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2BE0 +FA80 +2DE0 +3AA0 +2BE0 +6AA0 +AFE0 +2880 +29C0 +2EA0 +ENDCHAR +STARTCHAR U_6A05 +ENCODING 27141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2940 +F6A0 +22A0 +3800 +2A80 +7AE0 +AA80 +2A80 +2D80 +28E0 +ENDCHAR +STARTCHAR U_6A06 +ENCODING 27142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F920 +2AA0 +2FE0 +3100 +6FE0 +A920 +2AA0 +2F60 +2820 +ENDCHAR +STARTCHAR U_6A07 +ENCODING 27143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +24E0 +F9A0 +2A40 +3AA0 +2AE0 +6AA0 +AAE0 +2AA0 +2AE0 +28A0 +ENDCHAR +STARTCHAR U_6A08 +ENCODING 27144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2FE0 +6440 +77C0 +AC40 +A7C0 +2280 +24A0 +2860 +ENDCHAR +STARTCHAR U_6A09 +ENCODING 27145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +2BA0 +3540 +2BA0 +6540 +AAA0 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6A0A +ENCODING 27146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2440 +FBE0 +2A40 +74E0 +AB40 +2440 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_6A0B +ENCODING 27147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +33E0 +2940 +F080 +63E0 +7AA0 +ABE0 +AAA0 +2BE0 +2AA0 +2800 +37E0 +ENDCHAR +STARTCHAR U_6A0C +ENCODING 27148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FFE0 +2540 +77C0 +6C40 +A7C0 +A440 +27C0 +2440 +2820 +ENDCHAR +STARTCHAR U_6A0D +ENCODING 27149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27C0 +2100 +37E0 +6C40 +A7C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_6A0E +ENCODING 27150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F420 +37C0 +6900 +7BC0 +6A40 +ABC0 +2A40 +2A40 +2BC0 +ENDCHAR +STARTCHAR U_6A0F +ENCODING 27151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +FFE0 +2920 +3FE0 +2240 +6F80 +A240 +2FA0 +2940 +3320 +ENDCHAR +STARTCHAR U_6A10 +ENCODING 27152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +F900 +2FE0 +6D60 +7AA0 +6D60 +AAA0 +2D60 +2820 +2FE0 +ENDCHAR +STARTCHAR U_6A11 +ENCODING 27153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BC0 +2540 +FB60 +2540 +7940 +6AC0 +A500 +AFE0 +2580 +2940 +3120 +ENDCHAR +STARTCHAR U_6A12 +ENCODING 27154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F940 +62A0 +7740 +6BC0 +AC00 +2100 +2940 +2940 +2FC0 +ENDCHAR +STARTCHAR U_6A13 +ENCODING 27155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2540 +FFE0 +2540 +3FE0 +6520 +AFE0 +2240 +2180 +2E60 +ENDCHAR +STARTCHAR U_6A14 +ENCODING 27156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2A80 +F540 +27C0 +3540 +2FC0 +6540 +AFE0 +2580 +2940 +3120 +ENDCHAR +STARTCHAR U_6A15 +ENCODING 27157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F2A0 +2FA0 +2A40 +7FC0 +6A40 +A740 +2AC0 +32A0 +2320 +ENDCHAR +STARTCHAR U_6A16 +ENCODING 27158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +3180 +CE60 +3F80 +2080 +3FE0 +E040 +2740 +7540 +AF40 +20C0 +ENDCHAR +STARTCHAR U_6A17 +ENCODING 27159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +2AA0 +67C0 +7000 +AFE0 +A200 +27C0 +2040 +2180 +ENDCHAR +STARTCHAR U_6A18 +ENCODING 27160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FFE0 +2820 +27C0 +3440 +6FC0 +A100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6A19 +ENCODING 27161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2AA0 +2FE0 +3000 +67C0 +A000 +2FE0 +2540 +3B20 +ENDCHAR +STARTCHAR U_6A1A +ENCODING 27162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA80 +2FE0 +7AA0 +6FE0 +AA80 +ABE0 +2A80 +2AA0 +3360 +ENDCHAR +STARTCHAR U_6A1B +ENCODING 27163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +25A0 +FB60 +25A0 +2320 +3CE0 +6640 +A180 +2620 +20C0 +2700 +ENDCHAR +STARTCHAR U_6A1C +ENCODING 27164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA40 +6A40 +7FE0 +AA40 +AA40 +2BC0 +2800 +36A0 +2AA0 +ENDCHAR +STARTCHAR U_6A1D +ENCODING 27165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2100 +FFE0 +2920 +2F80 +3920 +6BE0 +AA40 +2BC0 +2A40 +37E0 +ENDCHAR +STARTCHAR U_6A1E +ENCODING 27166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +FBC0 +2A40 +2BC0 +3800 +6EE0 +AAA0 +2EE0 +2800 +2FE0 +ENDCHAR +STARTCHAR U_6A1F +ENCODING 27167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F280 +2FE0 +3440 +6FC0 +A440 +27C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_6A20 +ENCODING 27168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2380 +3100 +2FE0 +6920 +ADA0 +2B60 +2920 +2860 +ENDCHAR +STARTCHAR U_6A21 +ENCODING 27169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +27C0 +3440 +6FC0 +6440 +AFE0 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_6A22 +ENCODING 27170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +FC40 +27C0 +7440 +6FE0 +A400 +A7E0 +2020 +2AA0 +2AE0 +ENDCHAR +STARTCHAR U_6A23 +ENCODING 27171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F100 +27C0 +7100 +6FE0 +A100 +AF20 +25C0 +2540 +3B20 +ENDCHAR +STARTCHAR U_6A24 +ENCODING 27172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +49E0 +F340 +5480 +7560 +D680 +D5E0 +5480 +52C0 +54A0 +5180 +ENDCHAR +STARTCHAR U_6A25 +ENCODING 27173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +23C0 +6D40 +7380 +AD60 +A7C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_6A26 +ENCODING 27174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +FC40 +2220 +2100 +37E0 +6900 +A100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6A27 +ENCODING 27175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BC0 +2540 +FB40 +2560 +3600 +2FE0 +64A0 +AEA0 +3540 +24A0 +2520 +ENDCHAR +STARTCHAR U_6A28 +ENCODING 27176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +F7E0 +26A0 +35C0 +6EA0 +A480 +27E0 +2480 +2BE0 +3080 +ENDCHAR +STARTCHAR U_6A29 +ENCODING 27177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +2900 +F7E0 +2200 +7480 +6FE0 +B480 +27E0 +2480 +27E0 +ENDCHAR +STARTCHAR U_6A2A +ENCODING 27178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2FE0 +2100 +77C0 +6540 +A7C0 +2540 +27C0 +2C60 +ENDCHAR +STARTCHAR U_6A2B +ENCODING 27179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +54A0 +FEA0 +5240 +FE40 +D4A0 +DE20 +4100 +4FC0 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6A2C +ENCODING 27180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +FD40 +25C0 +76C0 +6D40 +A7C0 +A240 +2520 +2C40 +33C0 +ENDCHAR +STARTCHAR U_6A2D +ENCODING 27181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +F480 +2780 +7480 +6FE0 +A480 +A940 +37A0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6A2E +ENCODING 27182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2FE0 +FAA0 +2FE0 +7100 +6920 +A540 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_6A2F +ENCODING 27183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F920 +2540 +3FE0 +6000 +AFE0 +AAA0 +2BA0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_6A30 +ENCODING 27184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +6D20 +7340 +6D20 +A7C0 +2040 +27C0 +2040 +27C0 +ENDCHAR +STARTCHAR U_6A31 +ENCODING 27185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FAA0 +2AA0 +2AA0 +3540 +6920 +AFE0 +2280 +2180 +2E60 +ENDCHAR +STARTCHAR U_6A32 +ENCODING 27186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20A0 +2FE0 +F080 +2E80 +2080 +3F80 +6A80 +AE80 +2AA0 +2E60 +3B20 +ENDCHAR +STARTCHAR U_6A33 +ENCODING 27187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +F7C0 +7040 +6FE0 +64A0 +A6E0 +2840 +2FE0 +2240 +2080 +ENDCHAR +STARTCHAR U_6A34 +ENCODING 27188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FC0 +FAA0 +2480 +6FE0 +7080 +AEA0 +AAC0 +2EA0 +2B60 +2E20 +ENDCHAR +STARTCHAR U_6A35 +ENCODING 27189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +FC80 +27E0 +7480 +6FE0 +A480 +A7E0 +2540 +2AA0 +2AA0 +ENDCHAR +STARTCHAR U_6A36 +ENCODING 27190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +FFC0 +2840 +3FE0 +6A00 +7EE0 +AAA0 +AB40 +3EA0 +2320 +ENDCHAR +STARTCHAR U_6A37 +ENCODING 27191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +71C0 +AAA0 +2080 +FFE0 +4800 +7BE0 +4940 +FDC0 +0A20 +ENDCHAR +STARTCHAR U_6A38 +ENCODING 27192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +26C0 +FFE0 +2280 +67C0 +7100 +AFC0 +A100 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_6A39 +ENCODING 27193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2FA0 +F220 +2FE0 +7020 +6F20 +A9A0 +AF60 +2920 +2620 +3F60 +ENDCHAR +STARTCHAR U_6A3A +ENCODING 27194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2FE0 +2540 +3FE0 +6540 +AFE0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_6A3B +ENCODING 27195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F540 +2FE0 +2440 +37C0 +6C40 +A7C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_6A3C +ENCODING 27196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FFE0 +2440 +37E0 +6C80 +A7E0 +2A40 +2FE0 +2A40 +36C0 +ENDCHAR +STARTCHAR U_6A3D +ENCODING 27197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F280 +2FE0 +6AA0 +7C60 +AFE0 +A040 +2FE0 +2440 +22C0 +ENDCHAR +STARTCHAR U_6A3E +ENCODING 27198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4460 +4440 +FFE0 +4540 +5F40 +6560 +D740 +55A0 +5520 +6C00 +47E0 +ENDCHAR +STARTCHAR U_6A3F +ENCODING 27199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FFE0 +2540 +27C0 +3540 +6FC0 +A100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_6A40 +ENCODING 27200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F240 +2FA0 +2540 +3540 +6960 +A000 +2FE0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_6A41 +ENCODING 27201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +F240 +27E0 +6820 +77A0 +A4A0 +A7A0 +24A0 +27A0 +2040 +ENDCHAR +STARTCHAR U_6A42 +ENCODING 27202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F280 +2FE0 +7AA0 +6C60 +AFE0 +A100 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_6A43 +ENCODING 27203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5D40 +54A0 +E840 +7DE0 +4540 +DE60 +5000 +5DC0 +4540 +5480 +4940 +ENDCHAR +STARTCHAR U_6A44 +ENCODING 27204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2280 +FFE0 +2AA0 +2EA0 +3AA0 +6EA0 +AAA0 +2A40 +3EA0 +2320 +ENDCHAR +STARTCHAR U_6A45 +ENCODING 27205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +EFE0 +3540 +6FE0 +6540 +A540 +BFE0 +2000 +2D40 +32A0 +ENDCHAR +STARTCHAR U_6A46 +ENCODING 27206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7FE0 +AA80 +FFE0 +2A80 +FFE0 +2080 +FBE0 +2080 +71C0 +AAA0 +ENDCHAR +STARTCHAR U_6A47 +ENCODING 27207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2100 +37E0 +2100 +6FE0 +A480 +2FE0 +24A0 +2FE0 +ENDCHAR +STARTCHAR U_6A48 +ENCODING 27208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +2FE0 +7440 +6FE0 +A440 +AFE0 +2280 +24A0 +2860 +ENDCHAR +STARTCHAR U_6A49 +ENCODING 27209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FFE0 +2540 +6920 +7440 +A7E0 +A940 +2BE0 +2440 +2840 +ENDCHAR +STARTCHAR U_6A4A +ENCODING 27210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FEE0 +2AA0 +6EE0 +7280 +AFE0 +2920 +2FE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_6A4B +ENCODING 27211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2200 +FFE0 +2480 +2FC0 +74A0 +AFE0 +AAA0 +2BA0 +2820 +2860 +ENDCHAR +STARTCHAR U_6A4C +ENCODING 27212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +FEE0 +4AA0 +6EE0 +DBA0 +CAA0 +4BA0 +4AA0 +4DA0 +4840 +ENDCHAR +STARTCHAR U_6A4D +ENCODING 27213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +6EE0 +7BA0 +A920 +ABA0 +2920 +2BA0 +2860 +ENDCHAR +STARTCHAR U_6A4E +ENCODING 27214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2920 +F540 +2FE0 +3540 +6920 +A7C0 +2540 +27C0 +2540 +27C0 +ENDCHAR +STARTCHAR U_6A4F +ENCODING 27215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F100 +27C0 +3100 +6FE0 +A280 +2FE0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_6A50 +ENCODING 27216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +4440 +FFE0 +8020 +BFE0 +5080 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_6A51 +ENCODING 27217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +27C0 +6C60 +77C0 +A440 +A7C0 +2100 +2940 +3320 +ENDCHAR +STARTCHAR U_6A52 +ENCODING 27218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2920 +7540 +6920 +A7C0 +2000 +2FE0 +2280 +27C0 +ENDCHAR +STARTCHAR U_6A53 +ENCODING 27219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F20 +F540 +2FE0 +6820 +7440 +AFE0 +B340 +2DE0 +2840 +3040 +ENDCHAR +STARTCHAR U_6A54 +ENCODING 27220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2F80 +FAE0 +2FA0 +70A0 +6EA0 +A4A0 +A6A0 +2C40 +24A0 +2D20 +ENDCHAR +STARTCHAR U_6A55 +ENCODING 27221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FFE0 +2AA0 +6380 +7000 +AFE0 +A480 +2FE0 +2280 +2D80 +ENDCHAR +STARTCHAR U_6A56 +ENCODING 27222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FFE0 +2820 +67C0 +7440 +AFC0 +A100 +2FE0 +2540 +2920 +ENDCHAR +STARTCHAR U_6A57 +ENCODING 27223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +F480 +2EE0 +6AA0 +7EE0 +AAA0 +AAE0 +2EA0 +2120 +2260 +ENDCHAR +STARTCHAR U_6A58 +ENCODING 27224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2520 +2940 +3FE0 +6AA0 +AC60 +2BA0 +2AA0 +2BE0 +ENDCHAR +STARTCHAR U_6A59 +ENCODING 27225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +2AA0 +F440 +27C0 +3820 +27C0 +6440 +A7C0 +2440 +2280 +2FE0 +ENDCHAR +STARTCHAR U_6A5A +ENCODING 27226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F140 +2FE0 +6140 +7FC0 +A920 +AFE0 +2920 +2EE0 +32A0 +ENDCHAR +STARTCHAR U_6A5B +ENCODING 27227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2D80 +FA80 +2FE0 +2A20 +3AC0 +6FC0 +AA40 +2A40 +34A0 +2920 +ENDCHAR +STARTCHAR U_6A5C +ENCODING 27228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5480 +7FE0 +4AA0 +7E80 +4940 +5220 +7FE0 +4A80 +9240 +A220 +ENDCHAR +STARTCHAR U_6A5D +ENCODING 27229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2AA0 +2FE0 +3440 +6FC0 +A440 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_6A5E +ENCODING 27230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F540 +27C0 +2540 +37C0 +6140 +AFA0 +2AC0 +2A20 +31C0 +ENDCHAR +STARTCHAR U_6A5F +ENCODING 27231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +29A0 +FF40 +2520 +6FE0 +7540 +AFE0 +A540 +26A0 +2960 +3220 +ENDCHAR +STARTCHAR U_6A60 +ENCODING 27232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2500 +7280 +6DE0 +A240 +AF80 +22A0 +2E40 +2320 +ENDCHAR +STARTCHAR U_6A61 +ENCODING 27233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FFE0 +24A0 +37E0 +2A40 +6D80 +A2C0 +2DA0 +22A0 +2D80 +ENDCHAR +STARTCHAR U_6A62 +ENCODING 27234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2BE0 +FA00 +2DE0 +6A80 +7BE0 +AB20 +AFE0 +2920 +29E0 +2920 +ENDCHAR +STARTCHAR U_6A63 +ENCODING 27235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4FE0 +F940 +44A0 +6B80 +DFC0 +CA40 +4FC0 +4A40 +4FC0 +4A40 +ENDCHAR +STARTCHAR U_6A64 +ENCODING 27236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1600 +5140 +5F20 +2080 +5340 +CD20 +79E0 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6A65 +ENCODING 27237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57A0 +2140 +6FE0 +B440 +5FC0 +9440 +37C0 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6A66 +ENCODING 27238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F280 +2100 +37E0 +2D40 +67C0 +A540 +2FE0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6A67 +ENCODING 27239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +2AA0 +2920 +3FE0 +6440 +A7C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_6A68 +ENCODING 27240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F540 +2FE0 +6440 +77C0 +AC40 +A7C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_6A69 +ENCODING 27241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2F60 +F540 +2440 +2AA0 +3FE0 +6820 +A780 +24A0 +28A0 +3060 +ENDCHAR +STARTCHAR U_6A6A +ENCODING 27242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24C0 +26A0 +F580 +2DE0 +7280 +6A80 +A540 +AA20 +2000 +2AA0 +2AA0 +ENDCHAR +STARTCHAR U_6A6B +ENCODING 27243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +27E0 +2100 +37C0 +6D40 +A7C0 +2540 +27C0 +2C60 +ENDCHAR +STARTCHAR U_6A6C +ENCODING 27244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +5540 +FFE0 +4AC0 +6B60 +D000 +C7C0 +4440 +47C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_6A6D +ENCODING 27245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27C0 +2440 +3FE0 +6280 +AFE0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_6A6E +ENCODING 27246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26E0 +28A0 +FAA0 +2D60 +77C0 +6C40 +A7C0 +A440 +27C0 +2440 +2820 +ENDCHAR +STARTCHAR U_6A6F +ENCODING 27247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2B60 +F2C0 +2520 +3FE0 +6820 +A200 +2FE0 +2220 +2520 +38C0 +ENDCHAR +STARTCHAR U_6A70 +ENCODING 27248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F440 +27C0 +7440 +67C0 +AD60 +2380 +2540 +2FE0 +2100 +ENDCHAR +STARTCHAR U_6A71 +ENCODING 27249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +FFA0 +2820 +6BE0 +7AA0 +ABE0 +AAA0 +2920 +2FA0 +3060 +ENDCHAR +STARTCHAR U_6A72 +ENCODING 27250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F200 +2FC0 +7840 +6FC0 +A480 +3FE0 +2840 +2840 +2FC0 +ENDCHAR +STARTCHAR U_6A73 +ENCODING 27251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EA0 +55C0 +F7E0 +5C80 +77E0 +D540 +DEA0 +57C0 +5540 +6540 +4EC0 +ENDCHAR +STARTCHAR U_6A74 +ENCODING 27252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44A0 +56C0 +F4A0 +5EE0 +E240 +D580 +C240 +4FE0 +4100 +4D40 +5320 +ENDCHAR +STARTCHAR U_6A75 +ENCODING 27253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +5F40 +EAE0 +5FA0 +E0A0 +DEA0 +D2A0 +5E40 +5240 +5EA0 +5320 +ENDCHAR +STARTCHAR U_6A76 +ENCODING 27254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24C0 +2FA0 +F480 +2FE0 +6A80 +7EA0 +AAA0 +AEA0 +2440 +2EE0 +2520 +ENDCHAR +STARTCHAR U_6A77 +ENCODING 27255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +4BC0 +FAE0 +4BC0 +DAC0 +EBE0 +C000 +4480 +44A0 +44A0 +58E0 +ENDCHAR +STARTCHAR U_6A78 +ENCODING 27256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +F7C0 +4440 +E7C0 +DEE0 +4AA0 +4EA0 +4AE0 +4AA0 +4EE0 +ENDCHAR +STARTCHAR U_6A79 +ENCODING 27257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2480 +FFC0 +2540 +67C0 +7540 +AFE0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_6A7A +ENCODING 27258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +6EE0 +7BA0 +AAA0 +ABA0 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_6A7B +ENCODING 27259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4240 +F7C0 +4240 +6240 +DFE0 +CAA0 +4AA0 +5FE0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_6A7C +ENCODING 27260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25C0 +2540 +F940 +2FE0 +3500 +6AA0 +ADC0 +A2A0 +25A0 +3A80 +2100 +ENDCHAR +STARTCHAR U_6A7D +ENCODING 27261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +4BE0 +F080 +47E0 +D940 +EBE0 +C880 +4BE0 +4880 +4C80 +53E0 +ENDCHAR +STARTCHAR U_6A7E +ENCODING 27262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +2000 +6EE0 +7AA0 +AEE0 +A100 +2FE0 +2540 +2920 +ENDCHAR +STARTCHAR U_6A7F +ENCODING 27263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +FFC0 +2540 +2FE0 +3000 +67C0 +A540 +27C0 +2540 +2FE0 +ENDCHAR +STARTCHAR U_6A80 +ENCODING 27264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +2AA0 +2BA0 +3820 +6FE0 +A440 +27C0 +2440 +2FE0 +ENDCHAR +STARTCHAR U_6A81 +ENCODING 27265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +2BA0 +3820 +2FE0 +6380 +A100 +2FE0 +2540 +3920 +ENDCHAR +STARTCHAR U_6A82 +ENCODING 27266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4FE0 +FAA0 +4FE0 +E000 +DFE0 +C800 +4FE0 +4AA0 +4A40 +5320 +ENDCHAR +STARTCHAR U_6A83 +ENCODING 27267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EF80 +AA40 +AFC0 +C100 +AFE0 +A040 +EFC0 +8040 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6A84 +ENCODING 27268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +5E80 +F2E0 +5F20 +52A0 +FEA0 +C8A0 +5EA0 +4A40 +52A0 +6720 +ENDCHAR +STARTCHAR U_6A85 +ENCODING 27269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25C0 +2500 +FFE0 +20A0 +2FE0 +3880 +6FA0 +AA40 +2F40 +3260 +2DA0 +ENDCHAR +STARTCHAR U_6A86 +ENCODING 27270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5760 +F440 +4640 +E940 +D4E0 +C5A0 +56A0 +54A0 +4AA0 +50E0 +ENDCHAR +STARTCHAR U_6A87 +ENCODING 27271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2FE0 +F900 +2FE0 +3900 +2FE0 +6900 +AFE0 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_6A88 +ENCODING 27272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +FFE0 +4000 +EFE0 +D840 +CFC0 +4520 +44C0 +5D40 +4620 +ENDCHAR +STARTCHAR U_6A89 +ENCODING 27273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +2AE0 +FEA0 +2AA0 +2FE0 +3A00 +6FE0 +A100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6A8A +ENCODING 27274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5F40 +F4A0 +4EA0 +EAE0 +DE40 +CA40 +4FE0 +4440 +5E40 +4440 +ENDCHAR +STARTCHAR U_6A8B +ENCODING 27275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4FE0 +E280 +4FE0 +6540 +5FE0 +C540 +47C0 +4540 +4FE0 +4100 +ENDCHAR +STARTCHAR U_6A8C +ENCODING 27276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FAA0 +2FE0 +6280 +7EE0 +A280 +AEE0 +2280 +2EE0 +2280 +ENDCHAR +STARTCHAR U_6A8D +ENCODING 27277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2FE0 +3440 +67C0 +A440 +27C0 +2D40 +34A0 +23A0 +ENDCHAR +STARTCHAR U_6A8E +ENCODING 27278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F540 +2FE0 +26C0 +3540 +6FC0 +A200 +2FE0 +2AA0 +2B60 +ENDCHAR +STARTCHAR U_6A8F +ENCODING 27279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4AA0 +EFE0 +4480 +6FE0 +5100 +CFC0 +4100 +5FE0 +4540 +5920 +ENDCHAR +STARTCHAR U_6A90 +ENCODING 27280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FFE0 +26A0 +27E0 +3400 +6DC0 +A400 +27E0 +2A20 +33E0 +ENDCHAR +STARTCHAR U_6A91 +ENCODING 27281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +2920 +2BA0 +3540 +6FE0 +A920 +2FE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_6A92 +ENCODING 27282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +6AC0 +A4A0 +7FC0 +4440 +5F40 +5540 +5F40 +8540 +BEA0 +ENDCHAR +STARTCHAR U_6A93 +ENCODING 27283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +29A0 +FFA0 +29A0 +6F00 +70E0 +AEA0 +A4A0 +2440 +26A0 +3920 +ENDCHAR +STARTCHAR U_6A94 +ENCODING 27284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FFE0 +2AA0 +3380 +2800 +6FE0 +A920 +2FE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_6A95 +ENCODING 27285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +54A0 +7D20 +55E0 +FEA0 +5440 +7DA0 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6A96 +ENCODING 27286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2BE0 +F480 +2100 +7EA0 +65C0 +A6C0 +A5A0 +26A0 +2C80 +33E0 +ENDCHAR +STARTCHAR U_6A97 +ENCODING 27287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8FE0 +F940 +87E0 +F880 +CFE0 +7880 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6A98 +ENCODING 27288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +5E40 +F3E0 +52A0 +5EC0 +7040 +DFE0 +5A40 +5BE0 +6E40 +4040 +ENDCHAR +STARTCHAR U_6A99 +ENCODING 27289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +4280 +EBA0 +4AA0 +4BA0 +6EE0 +C280 +5EE0 +4AA0 +4AA0 +52A0 +ENDCHAR +STARTCHAR U_6A9A +ENCODING 27290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +F2C0 +2760 +2A40 +3FE0 +6520 +A500 +25C0 +2B00 +31E0 +ENDCHAR +STARTCHAR U_6A9B +ENCODING 27291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FF40 +2540 +7FE0 +6820 +ABA0 +AAA0 +2BA0 +3420 +23E0 +ENDCHAR +STARTCHAR U_6A9C +ENCODING 27292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +27C0 +F820 +2FE0 +2AA0 +3920 +6FE0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_6A9D +ENCODING 27293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EC0 +4AA0 +EE80 +5FE0 +4A80 +6EA0 +CAA0 +4E40 +4B40 +5EA0 +4320 +ENDCHAR +STARTCHAR U_6A9E +ENCODING 27294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +52A0 +FFA0 +5540 +7540 +DFE0 +5540 +5FE0 +5540 +5540 +6340 +ENDCHAR +STARTCHAR U_6A9F +ENCODING 27295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +FFE0 +2AA0 +2FE0 +3440 +6F40 +A5C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_6AA0 +ENCODING 27296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +FFE0 +2940 +FD40 +5480 +5540 +7620 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6AA1 +ENCODING 27297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FFE0 +2100 +2FE0 +3280 +6FE0 +A100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_6AA2 +ENCODING 27298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +F440 +2BA0 +6000 +7EE0 +AAA0 +AEE0 +2440 +2AC0 +3120 +ENDCHAR +STARTCHAR U_6AA3 +ENCODING 27299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F540 +2BA0 +2FE0 +3000 +6FE0 +AAA0 +2BA0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_6AA4 +ENCODING 27300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2940 +27E0 +F480 +21E0 +3D20 +25A0 +6560 +A520 +25E0 +2A00 +31E0 +ENDCHAR +STARTCHAR U_6AA5 +ENCODING 27301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F900 +27C0 +3100 +2FE0 +62A0 +AFE0 +26C0 +2BA0 +2E60 +ENDCHAR +STARTCHAR U_6AA6 +ENCODING 27302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FA0 +4A20 +FFA0 +55A0 +5FA0 +E0A0 +5EA0 +40A0 +7F20 +5520 +6CE0 +ENDCHAR +STARTCHAR U_6AA7 +ENCODING 27303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +27E0 +6AA0 +76A0 +A960 +A200 +2540 +2C60 +33C0 +ENDCHAR +STARTCHAR U_6AA8 +ENCODING 27304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F100 +27C0 +7100 +6FE0 +A100 +ABE0 +24A0 +2D40 +2620 +ENDCHAR +STARTCHAR U_6AA9 +ENCODING 27305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +2920 +7FE0 +6800 +A7C0 +A000 +2FE0 +2540 +2B20 +ENDCHAR +STARTCHAR U_6AAA +ENCODING 27306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4BA0 +F6A0 +43C0 +6AA0 +5380 +C100 +5FE0 +4380 +4540 +5920 +ENDCHAR +STARTCHAR U_6AAB +ENCODING 27307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F520 +2740 +6AA0 +7440 +AFE0 +A000 +2FE0 +2540 +3B20 +ENDCHAR +STARTCHAR U_6AAC +ENCODING 27308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +E280 +3FE0 +2820 +37C0 +6A40 +B580 +2B40 +2520 +2B00 +ENDCHAR +STARTCHAR U_6AAD +ENCODING 27309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2B20 +F1E0 +2F20 +65E0 +6F80 +B5A0 +AD40 +2740 +39A0 +2120 +ENDCHAR +STARTCHAR U_6AAE +ENCODING 27310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +2FE0 +3220 +2FC0 +6040 +AFE0 +2B40 +2EC0 +20C0 +ENDCHAR +STARTCHAR U_6AAF +ENCODING 27311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F100 +27C0 +2440 +7FE0 +6920 +A240 +27A0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6AB0 +ENCODING 27312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +49E0 +F520 +5DE0 +6920 +55E0 +DC80 +43E0 +56A0 +52E0 +4080 +ENDCHAR +STARTCHAR U_6AB1 +ENCODING 27313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +4EE0 +F340 +4480 +6FE0 +5480 +C780 +4480 +5FE0 +4440 +4820 +ENDCHAR +STARTCHAR U_6AB2 +ENCODING 27314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5120 +FFE0 +55A0 +57A0 +7120 +DFE0 +54A0 +52A0 +5120 +5FE0 +ENDCHAR +STARTCHAR U_6AB3 +ENCODING 27315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +27C0 +3540 +2FC0 +6440 +A7C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_6AB4 +ENCODING 27316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F540 +2FE0 +2900 +3FE0 +6900 +AFE0 +2240 +2180 +2E60 +ENDCHAR +STARTCHAR U_6AB5 +ENCODING 27317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +4DA0 +EA40 +4FE0 +4800 +6FE0 +CA40 +4DA0 +4A40 +4B60 +4FE0 +ENDCHAR +STARTCHAR U_6AB6 +ENCODING 27318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F280 +2FE0 +2A40 +3BC0 +6800 +AEE0 +2AA0 +2AA0 +2FE0 +ENDCHAR +STARTCHAR U_6AB7 +ENCODING 27319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +FFE0 +2920 +6DA0 +7B60 +ADA0 +AB60 +2DA0 +2920 +2860 +ENDCHAR +STARTCHAR U_6AB8 +ENCODING 27320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F920 +2CC0 +77A0 +6000 +AFE0 +AAA0 +2FE0 +2100 +2700 +ENDCHAR +STARTCHAR U_6AB9 +ENCODING 27321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +25E0 +FE80 +29E0 +7EA0 +6BE0 +AA20 +ABA0 +2AA0 +2BA0 +3660 +ENDCHAR +STARTCHAR U_6ABA +ENCODING 27322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F440 +2FE0 +3820 +27C0 +6500 +AAA0 +25C0 +2AA0 +25A0 +ENDCHAR +STARTCHAR U_6ABB +ENCODING 27323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +2A40 +FF60 +2980 +2F40 +7A20 +AF00 +2000 +2FE0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_6ABC +ENCODING 27324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +F7E0 +2020 +77E0 +6820 +A7E0 +A240 +2D20 +3440 +23C0 +ENDCHAR +STARTCHAR U_6ABD +ENCODING 27325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +2920 +7540 +6920 +AFE0 +A200 +2FE0 +2AA0 +2AA0 +ENDCHAR +STARTCHAR U_6ABE +ENCODING 27326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +5B80 +9100 +6A40 +FFE0 +8020 +1100 +FFE0 +3B80 +5540 +9920 +ENDCHAR +STARTCHAR U_6ABF +ENCODING 27327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A480 +BCA0 +A5E0 +BC80 +A4C0 +A520 +8200 +BFE0 +8A80 +B260 +ENDCHAR +STARTCHAR U_6AC0 +ENCODING 27328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F540 +2FE0 +7540 +6AA0 +B780 +A240 +2FE0 +2540 +3B20 +ENDCHAR +STARTCHAR U_6AC1 +ENCODING 27329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +FAA0 +4500 +5660 +69C0 +D100 +47C0 +4540 +47C0 +5FE0 +ENDCHAR +STARTCHAR U_6AC2 +ENCODING 27330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +25A0 +FB60 +25A0 +37E0 +2C80 +67E0 +A480 +27E0 +2480 +27E0 +ENDCHAR +STARTCHAR U_6AC3 +ENCODING 27331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2880 +FBE0 +2AA0 +3FE0 +2A40 +6BC0 +AA40 +2BC0 +2A60 +2FE0 +ENDCHAR +STARTCHAR U_6AC4 +ENCODING 27332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4200 +FFE0 +4A40 +4EC0 +6A40 +CFC0 +4200 +5FE0 +4940 +52A0 +ENDCHAR +STARTCHAR U_6AC5 +ENCODING 27333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F2A0 +2D40 +2560 +3540 +6FC0 +A440 +27C0 +2840 +3040 +ENDCHAR +STARTCHAR U_6AC6 +ENCODING 27334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48A0 +5F60 +F520 +5FA0 +5560 +7F20 +C4E0 +4520 +4EA0 +5520 +67E0 +ENDCHAR +STARTCHAR U_6AC7 +ENCODING 27335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +5E80 +75E0 +5520 +7FE0 +DB20 +D5E0 +5520 +5BE0 +6AC0 +7120 +ENDCHAR +STARTCHAR U_6AC8 +ENCODING 27336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EC0 +4AA0 +F7C0 +4C60 +57C0 +6280 +CFE0 +4000 +4780 +44A0 +48E0 +ENDCHAR +STARTCHAR U_6AC9 +ENCODING 27337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5240 +F740 +5240 +5FE0 +7740 +D5C0 +5740 +55C0 +5340 +6CC0 +ENDCHAR +STARTCHAR U_6ACA +ENCODING 27338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +52A0 +FEE0 +5020 +53A0 +74A0 +D320 +5FE0 +54A0 +57A0 +5060 +ENDCHAR +STARTCHAR U_6ACB +ENCODING 27339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FC40 +27C0 +3440 +2FE0 +6AA0 +A540 +2FE0 +2220 +2CC0 +ENDCHAR +STARTCHAR U_6ACC +ENCODING 27340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2440 +F740 +25C0 +3440 +2FE0 +6AA0 +A7C0 +2A40 +2180 +2E60 +ENDCHAR +STARTCHAR U_6ACD +ENCODING 27341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2880 +FFE0 +2AA0 +27C0 +3440 +6F40 +A5C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_6ACE +ENCODING 27342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA80 +2FC0 +7A80 +6FE0 +AD40 +2FC0 +2D40 +2FC0 +3280 +ENDCHAR +STARTCHAR U_6ACF +ENCODING 27343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +2540 +F3E0 +22A0 +3FE0 +2940 +6BE0 +AD40 +29C0 +2D20 +33E0 +ENDCHAR +STARTCHAR U_6AD0 +ENCODING 27344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +2480 +FFE0 +AAA0 +FBE0 +AAA0 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6AD1 +ENCODING 27345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +F7C0 +2540 +27C0 +3440 +6FE0 +AAA0 +2FE0 +2AA0 +2FE0 +ENDCHAR +STARTCHAR U_6AD2 +ENCODING 27346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +FA80 +26E0 +6AA0 +7440 +ABA0 +2000 +2FE0 +2540 +2B20 +ENDCHAR +STARTCHAR U_6AD3 +ENCODING 27347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2480 +FFE0 +2920 +2FE0 +3920 +6FE0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_6AD4 +ENCODING 27348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2940 +FFE0 +2940 +6BE0 +7AA0 +AFE0 +2CA0 +2FE0 +3420 +3460 +ENDCHAR +STARTCHAR U_6AD5 +ENCODING 27349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2EE0 +F440 +2AA0 +77E0 +6460 +A7C0 +A440 +27C0 +2440 +2820 +ENDCHAR +STARTCHAR U_6AD6 +ENCODING 27350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2200 +FFE0 +2A40 +6FE0 +7AA0 +ABE0 +2AA0 +2BE0 +3540 +3BC0 +ENDCHAR +STARTCHAR U_6AD7 +ENCODING 27351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2FE0 +6AA0 +7FE0 +A100 +2FE0 +2940 +2CA0 +3360 +ENDCHAR +STARTCHAR U_6AD8 +ENCODING 27352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +F480 +2FE0 +7480 +EFC0 +A240 +2FC0 +2D60 +3440 +23C0 +ENDCHAR +STARTCHAR U_6AD9 +ENCODING 27353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2FE0 +2A40 +3BC0 +6800 +AEE0 +2AA0 +2EE0 +2FE0 +ENDCHAR +STARTCHAR U_6ADA +ENCODING 27354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +6FE0 +7AA0 +ABA0 +A820 +2BA0 +2AA0 +2BE0 +ENDCHAR +STARTCHAR U_6ADB +ENCODING 27355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2FE0 +F440 +2EE0 +2AA0 +3EA0 +6AA0 +AEA0 +28E0 +2A80 +2D80 +ENDCHAR +STARTCHAR U_6ADC +ENCODING 27356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2480 +FFE0 +A120 +7980 +2940 +FFE0 +1080 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6ADD +ENCODING 27357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +2AA0 +2FE0 +3440 +6F40 +A5C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_6ADE +ENCODING 27358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49C0 +5540 +F540 +5BC0 +6900 +D6A0 +DDC0 +5680 +55C0 +6AA0 +41A0 +ENDCHAR +STARTCHAR U_6ADF +ENCODING 27359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +2BC0 +FAA0 +2FE0 +2AA0 +3FE0 +6100 +BFE0 +2580 +2940 +3120 +ENDCHAR +STARTCHAR U_6AE0 +ENCODING 27360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FEC0 +2A40 +2EE0 +3AA0 +6F00 +A9E0 +2EA0 +3240 +26A0 +ENDCHAR +STARTCHAR U_6AE1 +ENCODING 27361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +FA40 +27A0 +2140 +3FE0 +6240 +A7C0 +2A40 +23C0 +2240 +ENDCHAR +STARTCHAR U_6AE2 +ENCODING 27362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FC0 +FA80 +2FE0 +6AA0 +7FA0 +A240 +3F40 +25A0 +22A0 +2D20 +ENDCHAR +STARTCHAR U_6AE3 +ENCODING 27363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +57E0 +EA40 +4100 +4FE0 +F540 +D7C0 +5540 +5FE0 +5100 +6FE0 +ENDCHAR +STARTCHAR U_6AE4 +ENCODING 27364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +FD40 +2A20 +6FE0 +7000 +AEA0 +2AA0 +2EA0 +2A20 +2A60 +ENDCHAR +STARTCHAR U_6AE5 +ENCODING 27365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2FE0 +F920 +2FA0 +2960 +3FA0 +6AE0 +ABA0 +2AA0 +3D20 +27E0 +ENDCHAR +STARTCHAR U_6AE6 +ENCODING 27366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +5FE0 +F500 +5FC0 +7540 +DFC0 +D540 +5BA0 +5680 +5100 +6EC0 +ENDCHAR +STARTCHAR U_6AE7 +ENCODING 27367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24A0 +2FE0 +F0A0 +2DE0 +3080 +2DE0 +6320 +BDE0 +3520 +3DE0 +3520 +ENDCHAR +STARTCHAR U_6AE8 +ENCODING 27368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +FFE0 +2920 +3FC0 +2D20 +6BE0 +AAA0 +37E0 +2540 +2FE0 +ENDCHAR +STARTCHAR U_6AE9 +ENCODING 27369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2820 +6BA0 +7D20 +ABA0 +2AA0 +2AA0 +2BA0 +2840 +ENDCHAR +STARTCHAR U_6AEA +ENCODING 27370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2B60 +FA40 +2FE0 +3B40 +2EE0 +6A40 +A880 +2AE0 +3280 +2FE0 +ENDCHAR +STARTCHAR U_6AEB +ENCODING 27371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +27C0 +5940 +57E0 +BA40 +57C0 +9240 +27C0 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_6AEC +ENCODING 27372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +2FA0 +F5E0 +22A0 +2FA0 +32E0 +6FA0 +A2E0 +2740 +2AC0 +2760 +ENDCHAR +STARTCHAR U_6AED +ENCODING 27373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +5540 +FDE0 +5440 +7CC0 +D160 +DF80 +4880 +4F80 +4880 +5FE0 +ENDCHAR +STARTCHAR U_6AEE +ENCODING 27374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +F540 +27C0 +2100 +3FE0 +6540 +A540 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_6AEF +ENCODING 27375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4A40 +FFE0 +7540 +5540 +DFC0 +D560 +5560 +5F40 +5540 +6AC0 +ENDCHAR +STARTCHAR U_6AF0 +ENCODING 27376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +2FE0 +2540 +3380 +6D40 +A320 +3D40 +2480 +2660 +ENDCHAR +STARTCHAR U_6AF1 +ENCODING 27377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A880 +FBE0 +4940 +CFE0 +7880 +4FE0 +7880 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6AF2 +ENCODING 27378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5CE0 +4540 +FBE0 +5EA0 +6BE0 +C900 +CAA0 +4940 +4AC0 +6960 +52A0 +ENDCHAR +STARTCHAR U_6AF3 +ENCODING 27379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +2E80 +FAE0 +2E20 +20E0 +3E80 +6AE0 +AE80 +2AE0 +2EA0 +2AE0 +ENDCHAR +STARTCHAR U_6AF4 +ENCODING 27380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5EE0 +E540 +5FE0 +7520 +DFE0 +C5A0 +4F60 +55E0 +6540 +4620 +ENDCHAR +STARTCHAR U_6AF5 +ENCODING 27381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F540 +2FC0 +6900 +7FC0 +A900 +2FC0 +2540 +2AA0 +32A0 +ENDCHAR +STARTCHAR U_6AF6 +ENCODING 27382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F920 +27C0 +6100 +7FE0 +AAA0 +2FE0 +2540 +2CA0 +23A0 +ENDCHAR +STARTCHAR U_6AF7 +ENCODING 27383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +5FC0 +F040 +5DC0 +6500 +F5E0 +DD60 +75A0 +5DE0 +7500 +43E0 +ENDCHAR +STARTCHAR U_6AF8 +ENCODING 27384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2DE0 +2920 +FFE0 +2AA0 +2AA0 +3FE0 +6940 +B7A0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_6AF9 +ENCODING 27385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +F7E0 +2140 +37C0 +2D60 +6FE0 +A920 +2FE0 +2D60 +3560 +ENDCHAR +STARTCHAR U_6AFA +ENCODING 27386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +7FE0 +2920 +3BA0 +2440 +6FE0 +AAA0 +2AA0 +2FE0 +2AA0 +ENDCHAR +STARTCHAR U_6AFB +ENCODING 27387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +FFE0 +2920 +2FE0 +34A0 +6B40 +AFE0 +2480 +2380 +2C60 +ENDCHAR +STARTCHAR U_6AFC +ENCODING 27388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2560 +2AC0 +FFE0 +2540 +2DC0 +3560 +6DC0 +A540 +2DE0 +2520 +2FA0 +ENDCHAR +STARTCHAR U_6AFD +ENCODING 27389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5540 +67C0 +5040 +5FE0 +7540 +5BA0 +4400 +FFC0 +1500 +64C0 +ENDCHAR +STARTCHAR U_6AFE +ENCODING 27390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DC0 +5480 +F900 +4FC0 +7500 +DFE0 +C4A0 +56C0 +57A0 +5EA0 +4180 +ENDCHAR +STARTCHAR U_6AFF +ENCODING 27391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2EE0 +F440 +2AA0 +6FE0 +7820 +A7C0 +2440 +2FE0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_6B00 +ENCODING 27392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +FB40 +2FC0 +7500 +6FC0 +A500 +3FE0 +24A0 +2D40 +3620 +ENDCHAR +STARTCHAR U_6B01 +ENCODING 27393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +5F40 +F5E0 +5F40 +7540 +DFC0 +D0E0 +5F60 +5A40 +6940 +6C80 +ENDCHAR +STARTCHAR U_6B02 +ENCODING 27394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F2A0 +2BE0 +76A0 +6BE0 +AAA0 +BFE0 +2A40 +2940 +28C0 +ENDCHAR +STARTCHAR U_6B03 +ENCODING 27395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2480 +FFE0 +2420 +27E0 +3C80 +67E0 +A4A0 +27E0 +22A0 +2CE0 +ENDCHAR +STARTCHAR U_6B04 +ENCODING 27396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +3FE0 +6920 +AFE0 +AAA0 +2FE0 +2AA0 +2D60 +ENDCHAR +STARTCHAR U_6B05 +ENCODING 27397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5B60 +5220 +FF60 +5520 +7FE0 +C940 +D7A0 +6100 +4FC0 +4100 +4300 +ENDCHAR +STARTCHAR U_6B06 +ENCODING 27398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +27E0 +FD40 +27E0 +7540 +6FE0 +A000 +2780 +2480 +2300 +2CE0 +ENDCHAR +STARTCHAR U_6B07 +ENCODING 27399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +F6C0 +2FE0 +7040 +7FE0 +AAA0 +2EE0 +2AA0 +3FE0 +2220 +ENDCHAR +STARTCHAR U_6B08 +ENCODING 27400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2FE0 +F500 +2FE0 +3500 +2FE0 +6500 +AFE0 +2AA0 +2EE0 +2BA0 +ENDCHAR +STARTCHAR U_6B09 +ENCODING 27401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +26C0 +FFE0 +2280 +3FE0 +2100 +6FE0 +AAA0 +2E40 +2AA0 +3F20 +ENDCHAR +STARTCHAR U_6B0A +ENCODING 27402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2240 +FEE0 +2AA0 +2FE0 +3480 +67E0 +BC80 +27E0 +2480 +27E0 +ENDCHAR +STARTCHAR U_6B0B +ENCODING 27403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +2FE0 +3900 +6FE0 +B900 +2FC0 +2900 +2FE0 +ENDCHAR +STARTCHAR U_6B0C +ENCODING 27404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4FE0 +FA80 +57C0 +7480 +DFA0 +C4E0 +5FC0 +5540 +57A0 +4920 +ENDCHAR +STARTCHAR U_6B0D +ENCODING 27405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +F300 +2480 +77E0 +6C80 +A7E0 +2400 +2760 +2420 +27E0 +ENDCHAR +STARTCHAR U_6B0E +ENCODING 27406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +F5E0 +6AC0 +B5A0 +FFE0 +8020 +7C40 +47E0 +7D40 +5840 +64C0 +ENDCHAR +STARTCHAR U_6B0F +ENCODING 27407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FFE0 +2940 +25E0 +7940 +AFE0 +2540 +3FE0 +2B40 +35E0 +ENDCHAR +STARTCHAR U_6B10 +ENCODING 27408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2000 +FEE0 +2AA0 +2FE0 +3AA0 +6FE0 +ACA0 +2FC0 +34A0 +27E0 +ENDCHAR +STARTCHAR U_6B11 +ENCODING 27409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2FE0 +F240 +2FE0 +2540 +3FE0 +6440 +A7C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_6B12 +ENCODING 27410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5FA0 +E0C0 +4E40 +A0A0 +EEE0 +4A40 +AAA0 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6B13 +ENCODING 27411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +F4A0 +2FE0 +2AA0 +3FE0 +6100 +AFC0 +2100 +2FE0 +2AA0 +ENDCHAR +STARTCHAR U_6B14 +ENCODING 27412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +7FE0 +67C0 +AD00 +27C0 +2480 +2300 +2CE0 +ENDCHAR +STARTCHAR U_6B15 +ENCODING 27413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +FFE0 +5680 +7280 +DFE0 +D5A0 +5740 +5540 +5FA0 +6120 +ENDCHAR +STARTCHAR U_6B16 +ENCODING 27414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2B40 +FFE0 +2AA0 +3FE0 +2440 +67C0 +A440 +27C0 +22A0 +2CE0 +ENDCHAR +STARTCHAR U_6B17 +ENCODING 27415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2480 +FFE0 +2920 +2FE0 +3920 +6FE0 +AAA0 +2FE0 +2BA0 +2D60 +ENDCHAR +STARTCHAR U_6B18 +ENCODING 27416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FFE0 +2940 +2FE0 +3AA0 +6FE0 +A920 +2BA0 +2960 +37E0 +ENDCHAR +STARTCHAR U_6B19 +ENCODING 27417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +F7C0 +2540 +2FE0 +3920 +6FE0 +A2A0 +2FC0 +2540 +2B20 +ENDCHAR +STARTCHAR U_6B1A +ENCODING 27418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +2480 +FFE0 +2540 +2B80 +2540 +7FE0 +AAA0 +3FE0 +2AA0 +3DE0 +ENDCHAR +STARTCHAR U_6B1B +ENCODING 27419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2920 +7540 +6AE0 +BFA0 +2AE0 +2EA0 +3EE0 +2520 +ENDCHAR +STARTCHAR U_6B1C +ENCODING 27420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FFE0 +2A80 +3FE0 +7560 +7FC0 +A500 +2FE0 +2540 +2EA0 +3560 +ENDCHAR +STARTCHAR U_6B1D +ENCODING 27421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +F5E0 +6AC0 +D5A0 +7F80 +4A80 +7F80 +4880 +7FE0 +5280 +6D80 +ENDCHAR +STARTCHAR U_6B1E +ENCODING 27422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +FFE0 +2AA0 +3540 +2FE0 +6AA0 +AFE0 +2540 +2BA0 +2FE0 +ENDCHAR +STARTCHAR U_6B1F +ENCODING 27423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AE0 +5FA0 +EAE0 +5FA0 +75E0 +DFA0 +F4E0 +5E40 +54C0 +5EC0 +5160 +ENDCHAR +STARTCHAR U_6B20 +ENCODING 27424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +2000 +3FC0 +4040 +8880 +0800 +0800 +0C00 +1200 +2100 +C0C0 +ENDCHAR +STARTCHAR U_6B21 +ENCODING 27425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +27E0 +0440 +2900 +2100 +C100 +4280 +4280 +4440 +1820 +ENDCHAR +STARTCHAR U_6B22 +ENCODING 27426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBE0 +0A20 +8D40 +5100 +2100 +3100 +2A80 +4A80 +8440 +0820 +ENDCHAR +STARTCHAR U_6B23 +ENCODING 27427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +7200 +43E0 +7E20 +5540 +5100 +5100 +5280 +5280 +9440 +9820 +ENDCHAR +STARTCHAR U_6B24 +ENCODING 27428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7DE0 +4120 +7AC0 +0880 +3880 +C880 +0940 +0940 +3220 +ENDCHAR +STARTCHAR U_6B25 +ENCODING 27429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +97E0 +9420 +F940 +9100 +9100 +9280 +F280 +9440 +0820 +ENDCHAR +STARTCHAR U_6B26 +ENCODING 27430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +33E0 +4C20 +A540 +1100 +F900 +0A80 +1280 +1440 +2820 +ENDCHAR +STARTCHAR U_6B27 +ENCODING 27431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FD00 +81E0 +CA20 +AC80 +9080 +9080 +A880 +C940 +8240 +FC20 +ENDCHAR +STARTCHAR U_6B28 +ENCODING 27432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7DE0 +8520 +76C0 +5480 +5480 +7480 +0540 +1540 +0A20 +ENDCHAR +STARTCHAR U_6B29 +ENCODING 27433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +2BE0 +2A20 +4D40 +9100 +7900 +4A80 +4A80 +7A40 +0420 +ENDCHAR +STARTCHAR U_6B2A +ENCODING 27434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +ABE0 +AA20 +FD40 +2100 +A900 +AA80 +AA80 +FC40 +0820 +ENDCHAR +STARTCHAR U_6B2B +ENCODING 27435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +7BE0 +9420 +F940 +1100 +5D00 +5280 +5A80 +E440 +0820 +ENDCHAR +STARTCHAR U_6B2C +ENCODING 27436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +1100 +FDE0 +2220 +4880 +F080 +2480 +4940 +1140 +2A20 +C420 +ENDCHAR +STARTCHAR U_6B2D +ENCODING 27437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +8500 +95E0 +FE20 +94A0 +9480 +AC80 +C480 +8480 +FD40 +8620 +ENDCHAR +STARTCHAR U_6B2E +ENCODING 27438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2900 +FFE0 +1220 +5540 +5500 +7D00 +1280 +1280 +2460 +C840 +ENDCHAR +STARTCHAR U_6B2F +ENCODING 27439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +FDE0 +1220 +7AC0 +0480 +7880 +4880 +4940 +7940 +4A20 +ENDCHAR +STARTCHAR U_6B30 +ENCODING 27440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4100 +FBE0 +AA20 +AD40 +A900 +A900 +AA80 +FA80 +0440 +0820 +ENDCHAR +STARTCHAR U_6B31 +ENCODING 27441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +51E0 +4A20 +84C0 +7880 +0080 +7880 +4940 +4940 +7A20 +ENDCHAR +STARTCHAR U_6B32 +ENCODING 27442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +4500 +91E0 +3220 +4880 +8480 +7880 +4880 +4940 +7A20 +0420 +ENDCHAR +STARTCHAR U_6B33 +ENCODING 27443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1D00 +11E0 +FEA0 +AA80 +AA80 +FE80 +AA80 +AB40 +AA20 +8620 +ENDCHAR +STARTCHAR U_6B34 +ENCODING 27444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +1100 +FBE0 +8C20 +F880 +8880 +F880 +9080 +9940 +EA20 +8C20 +ENDCHAR +STARTCHAR U_6B35 +ENCODING 27445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7200 +4BE0 +3A40 +4500 +7900 +9100 +F980 +3240 +4C60 +8840 +ENDCHAR +STARTCHAR U_6B36 +ENCODING 27446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +11E0 +7EA0 +54A0 +7C80 +1080 +3880 +5540 +9220 +1420 +ENDCHAR +STARTCHAR U_6B37 +ENCODING 27447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +CD00 +3100 +CDE0 +1220 +FCA0 +5080 +FC80 +5480 +5540 +5E20 +1420 +ENDCHAR +STARTCHAR U_6B38 +ENCODING 27448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +4500 +FDE0 +4220 +7CA0 +9080 +FC80 +1080 +2940 +4620 +8420 +ENDCHAR +STARTCHAR U_6B39 +ENCODING 27449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FD00 +51E0 +8A20 +FCA0 +0880 +E880 +A880 +E940 +0A20 +1C20 +ENDCHAR +STARTCHAR U_6B3A +ENCODING 27450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +FD00 +49E0 +7A20 +48A0 +7880 +4880 +FE80 +2940 +4620 +8420 +ENDCHAR +STARTCHAR U_6B3B +ENCODING 27451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +5900 +51E0 +AA20 +52A0 +9480 +5880 +5080 +A940 +4620 +8420 +ENDCHAR +STARTCHAR U_6B3C +ENCODING 27452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +AA80 +45E0 +AA20 +10A0 +EE80 +AA80 +4480 +2940 +5620 +A220 +ENDCHAR +STARTCHAR U_6B3D +ENCODING 27453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +5200 +8BE0 +F420 +2120 +F900 +2100 +A900 +7280 +2440 +F820 +ENDCHAR +STARTCHAR U_6B3E +ENCODING 27454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +11E0 +7A20 +00A0 +7880 +0080 +FC80 +5540 +9240 +7420 +ENDCHAR +STARTCHAR U_6B3F +ENCODING 27455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7D00 +45E0 +8A20 +20A0 +CE80 +8280 +EE80 +8280 +FF40 +8220 +ENDCHAR +STARTCHAR U_6B40 +ENCODING 27456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D00 +39E0 +5620 +9280 +7C80 +0080 +FC80 +5940 +9560 +3240 +ENDCHAR +STARTCHAR U_6B41 +ENCODING 27457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +FD00 +49E0 +7A20 +48A0 +7880 +4880 +FE80 +A880 +C540 +FE20 +ENDCHAR +STARTCHAR U_6B42 +ENCODING 27458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9280 +9280 +FEE0 +0120 +FE40 +1040 +FE40 +AA40 +AA40 +AAA0 +8720 +ENDCHAR +STARTCHAR U_6B43 +ENCODING 27459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0D00 +F100 +11E0 +FE20 +10A0 +F680 +9280 +FE80 +9280 +FF40 +8220 +ENDCHAR +STARTCHAR U_6B44 +ENCODING 27460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +4500 +75E0 +5620 +FEC0 +8280 +BA80 +AB40 +BB40 +8A20 +8420 +ENDCHAR +STARTCHAR U_6B45 +ENCODING 27461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF00 +2900 +FFE0 +AA20 +AAA0 +FE80 +1080 +7C80 +1140 +FE20 +4420 +ENDCHAR +STARTCHAR U_6B46 +ENCODING 27462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FD00 +49E0 +3220 +FCA0 +0080 +7880 +4940 +7940 +4A20 +7C20 +ENDCHAR +STARTCHAR U_6B47 +ENCODING 27463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8900 +F9E0 +8A20 +F8A0 +2080 +7C80 +9480 +AD40 +F620 +0C20 +ENDCHAR +STARTCHAR U_6B48 +ENCODING 27464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3900 +4500 +BBE0 +0020 +E2A0 +AA80 +EA80 +AA80 +EA80 +A340 +AE20 +ENDCHAR +STARTCHAR U_6B49 +ENCODING 27465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +FF00 +29E0 +FF20 +2AA0 +FF80 +2A80 +FE80 +6C80 +AB40 +AA20 +ENDCHAR +STARTCHAR U_6B4A +ENCODING 27466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FF00 +49E0 +7A20 +00A0 +FE80 +8280 +BA80 +AA80 +BB40 +8620 +ENDCHAR +STARTCHAR U_6B4B +ENCODING 27467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4F00 +49E0 +7E20 +48A0 +5C80 +4A80 +5E80 +5480 +5540 +A620 +ENDCHAR +STARTCHAR U_6B4C +ENCODING 27468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +0900 +E9E0 +AA20 +FE80 +0880 +E880 +A940 +E940 +0A20 +1C20 +ENDCHAR +STARTCHAR U_6B4D +ENCODING 27469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +FA00 +8BE0 +FA20 +80A0 +FC80 +8080 +FC80 +5480 +AD40 +AA20 +ENDCHAR +STARTCHAR U_6B4E +ENCODING 27470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FD00 +51E0 +2220 +F880 +A880 +FC80 +2080 +FD80 +5240 +8C20 +ENDCHAR +STARTCHAR U_6B4F +ENCODING 27471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +FF00 +49E0 +FE20 +A540 +FD00 +2100 +FA80 +2280 +3A40 +E460 +ENDCHAR +STARTCHAR U_6B50 +ENCODING 27472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +8100 +BDE0 +A620 +BCA0 +8080 +EE80 +AA80 +EE80 +8140 +FE20 +ENDCHAR +STARTCHAR U_6B51 +ENCODING 27473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3900 +2100 +FFE0 +9220 +FCA0 +9280 +FE80 +AA80 +FE80 +8940 +9A20 +ENDCHAR +STARTCHAR U_6B52 +ENCODING 27474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +28E0 +FF20 +92C0 +FE80 +9280 +BA80 +AB40 +BB40 +8620 +ENDCHAR +STARTCHAR U_6B53 +ENCODING 27475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7D00 +91E0 +7D20 +2A80 +7C80 +C880 +7D40 +4940 +7E20 +4420 +ENDCHAR +STARTCHAR U_6B54 +ENCODING 27476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D00 +1100 +FFE0 +9220 +FCA0 +9280 +9E80 +AA80 +EE80 +A940 +FE20 +ENDCHAR +STARTCHAR U_6B55 +ENCODING 27477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FF00 +55E0 +FE20 +44A0 +7C80 +4480 +7C80 +4480 +7D40 +C620 +ENDCHAR +STARTCHAR U_6B56 +ENCODING 27478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FF00 +11E0 +FF20 +44A0 +7C80 +2880 +FE80 +4480 +7D40 +4620 +ENDCHAR +STARTCHAR U_6B57 +ENCODING 27479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C00 +1480 +FEE0 +1520 +7C80 +BA80 +D680 +FE80 +D6C0 +BB20 +9220 +ENDCHAR +STARTCHAR U_6B58 +ENCODING 27480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5500 +3900 +11E0 +6A20 +4480 +D580 +6E80 +4480 +4B40 +A940 +9220 +ENDCHAR +STARTCHAR U_6B59 +ENCODING 27481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +4900 +FDE0 +0220 +7CA0 +4480 +FE80 +AA80 +6680 +BB40 +6620 +ENDCHAR +STARTCHAR U_6B5A +ENCODING 27482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +7D00 +11E0 +7E20 +10C0 +5480 +FE80 +0140 +7D40 +4620 +7C20 +ENDCHAR +STARTCHAR U_6B5B +ENCODING 27483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2900 +45E0 +FE20 +00A0 +EE80 +AA80 +EE80 +4540 +6D40 +9220 +ENDCHAR +STARTCHAR U_6B5C +ENCODING 27484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +AA80 +FEE0 +2120 +7EA0 +A280 +FA80 +AA80 +FA80 +2B40 +F420 +ENDCHAR +STARTCHAR U_6B5D +ENCODING 27485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +AA80 +FEE0 +1120 +FE80 +2880 +FC80 +1140 +FD40 +1260 +1440 +ENDCHAR +STARTCHAR U_6B5E +ENCODING 27486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +8500 +FDE0 +8620 +FCA0 +5280 +FC80 +4A80 +FE80 +5540 +AA20 +ENDCHAR +STARTCHAR U_6B5F +ENCODING 27487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5680 +9A80 +92E0 +FF20 +AAA0 +EE80 +AA80 +AA80 +FEC0 +2920 +C620 +ENDCHAR +STARTCHAR U_6B60 +ENCODING 27488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +AA80 +44E0 +FF20 +AAA0 +4480 +AA80 +BA80 +EEC0 +8320 +FE20 +ENDCHAR +STARTCHAR U_6B61 +ENCODING 27489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +4480 +EEE0 +AB20 +EE80 +5080 +FE80 +4880 +7D40 +4940 +7E20 +ENDCHAR +STARTCHAR U_6B62 +ENCODING 27490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +0400 +0400 +2400 +2780 +2400 +2400 +2400 +2400 +2400 +FFC0 +ENDCHAR +STARTCHAR U_6B63 +ENCODING 27491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0400 +0400 +2400 +27C0 +2400 +2400 +2400 +2400 +FFE0 +ENDCHAR +STARTCHAR U_6B64 +ENCODING 27492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +1120 +5140 +5D80 +5100 +5100 +5100 +5120 +5D20 +E0E0 +ENDCHAR +STARTCHAR U_6B65 +ENCODING 27493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +27C0 +2400 +2400 +FFE0 +0400 +1440 +2480 +4100 +0600 +F800 +ENDCHAR +STARTCHAR U_6B66 +ENCODING 27494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +3D40 +0100 +FFE0 +0900 +2900 +2D00 +2900 +28A0 +2EA0 +F060 +ENDCHAR +STARTCHAR U_6B67 +ENCODING 27495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +17E0 +5100 +5BC0 +5240 +5280 +5180 +7900 +C280 +0C60 +ENDCHAR +STARTCHAR U_6B68 +ENCODING 27496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +23C0 +2200 +2200 +FFE0 +0200 +2200 +23C0 +2200 +5A00 +87E0 +ENDCHAR +STARTCHAR U_6B69 +ENCODING 27497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +27C0 +2400 +FFE0 +0480 +2440 +24A0 +4500 +0600 +0C00 +7000 +ENDCHAR +STARTCHAR U_6B6A +ENCODING 27498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +1D80 +E460 +0400 +7FE0 +0400 +27C0 +2400 +2400 +FFE0 +ENDCHAR +STARTCHAR U_6B6B +ENCODING 27499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +13E0 +1200 +5200 +5BE0 +5220 +53E0 +5200 +5A00 +E200 +03E0 +ENDCHAR +STARTCHAR U_6B6C +ENCODING 27500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +27C0 +2400 +FFE0 +0000 +3F80 +2480 +FFE0 +2880 +2480 +C180 +ENDCHAR +STARTCHAR U_6B6D +ENCODING 27501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +17C0 +5100 +5900 +57E0 +5040 +57E0 +5240 +5940 +E040 +41C0 +ENDCHAR +STARTCHAR U_6B6E +ENCODING 27502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +13C0 +1200 +1200 +FFE0 +1080 +18E0 +5280 +5280 +5280 +FFE0 +ENDCHAR +STARTCHAR U_6B6F +ENCODING 27503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +27C0 +2400 +FFE0 +5540 +4E40 +7FC0 +4E40 +5540 +64C0 +7FC0 +ENDCHAR +STARTCHAR U_6B70 +ENCODING 27504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +2940 +AD40 +6B40 +4A40 +9CC0 +1080 +5AC0 +5280 +7A80 +C7E0 +ENDCHAR +STARTCHAR U_6B71 +ENCODING 27505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +2FE0 +A100 +B7C0 +A540 +A7C0 +A100 +B7C0 +C100 +0FE0 +ENDCHAR +STARTCHAR U_6B72 +ENCODING 27506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2400 +FFE0 +0140 +7FE0 +4100 +7F40 +4B40 +54A0 +69A0 +9660 +ENDCHAR +STARTCHAR U_6B73 +ENCODING 27507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +2400 +7FE0 +0240 +7FE0 +4200 +7D40 +4940 +5CA0 +AB60 +1A20 +ENDCHAR +STARTCHAR U_6B74 +ENCODING 27508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4880 +7FE0 +5DC0 +5AA0 +6880 +4200 +5200 +53C0 +9200 +3FE0 +ENDCHAR +STARTCHAR U_6B75 +ENCODING 27509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +BFE0 +A000 +A7C0 +A540 +BEC0 +C540 +07C0 +0C60 +ENDCHAR +STARTCHAR U_6B76 +ENCODING 27510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +5F80 +5220 +FBE0 +3F80 +2480 +3F80 +2480 +FFE0 +8520 +BF60 +ENDCHAR +STARTCHAR U_6B77 +ENCODING 27511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4440 +5980 +4880 +7FE0 +4880 +5DC0 +6AA0 +53C0 +9200 +BFE0 +ENDCHAR +STARTCHAR U_6B78 +ENCODING 27512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +F040 +93C0 +F840 +8FE0 +FCA0 +2080 +BBE0 +A2A0 +BAE0 +E080 +ENDCHAR +STARTCHAR U_6B79 +ENCODING 27513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +0800 +0FC0 +1080 +1080 +2900 +4500 +0200 +0C00 +F000 +ENDCHAR +STARTCHAR U_6B7A +ENCODING 27514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +07E0 +1400 +1FC0 +2080 +5100 +0A00 +0400 +1800 +E000 +ENDCHAR +STARTCHAR U_6B7B +ENCODING 27515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1000 +1100 +1D20 +2540 +6580 +9500 +0900 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_6B7C +ENCODING 27516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC60 +2380 +2080 +7880 +4FE0 +A880 +1080 +1080 +2080 +4080 +8080 +ENDCHAR +STARTCHAR U_6B7D +ENCODING 27517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +2300 +2200 +3A00 +4BE0 +B280 +1280 +2280 +2480 +4480 +8880 +ENDCHAR +STARTCHAR U_6B7E +ENCODING 27518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +23E0 +3EA0 +4AA0 +4AA0 +AAA0 +14A0 +1120 +2220 +4420 +80C0 +ENDCHAR +STARTCHAR U_6B7F +ENCODING 27519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +21E0 +2120 +3A60 +4C00 +CBE0 +2A20 +1140 +1080 +2140 +C620 +ENDCHAR +STARTCHAR U_6B80 +ENCODING 27520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +2300 +2100 +7900 +4FE0 +A900 +1100 +1100 +2280 +4440 +8820 +ENDCHAR +STARTCHAR U_6B81 +ENCODING 27521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +2240 +3A40 +2A60 +4C00 +ABE0 +1220 +1140 +2080 +4140 +8620 +ENDCHAR +STARTCHAR U_6B82 +ENCODING 27522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2240 +2240 +3BC0 +4A40 +AA40 +13C0 +1240 +2240 +4240 +8FE0 +ENDCHAR +STARTCHAR U_6B83 +ENCODING 27523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +47C0 +7540 +5540 +9540 +5FE0 +3100 +2280 +4440 +8820 +ENDCHAR +STARTCHAR U_6B84 +ENCODING 27524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FD80 +2240 +3AA0 +4D00 +AA40 +1080 +1120 +2240 +4080 +8300 +ENDCHAR +STARTCHAR U_6B85 +ENCODING 27525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7D00 +2500 +3FE0 +4900 +B100 +17C0 +2100 +4100 +8100 +1FE0 +ENDCHAR +STARTCHAR U_6B86 +ENCODING 27526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +2080 +2100 +3920 +4BE0 +C800 +2BE0 +1220 +1220 +23E0 +C220 +ENDCHAR +STARTCHAR U_6B87 +ENCODING 27527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +23E0 +2400 +3BC0 +4900 +6BE0 +9AA0 +14A0 +2920 +4220 +84C0 +ENDCHAR +STARTCHAR U_6B88 +ENCODING 27528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FB00 +2200 +2FE0 +3AA0 +4AA0 +AAA0 +1AA0 +2AA0 +4AA0 +8AA0 +1FE0 +ENDCHAR +STARTCHAR U_6B89 +ENCODING 27529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +23E0 +2420 +3BA0 +4AA0 +CBA0 +2AA0 +13A0 +22A0 +4020 +80C0 +ENDCHAR +STARTCHAR U_6B8A +ENCODING 27530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2500 +27C0 +3900 +4900 +4FE0 +B100 +1380 +2540 +4920 +8100 +ENDCHAR +STARTCHAR U_6B8B +ENCODING 27531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +F940 +27E0 +2100 +7900 +4FE0 +A900 +1140 +10A0 +2160 +C620 +ENDCHAR +STARTCHAR U_6B8C +ENCODING 27532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +22A0 +3AA0 +4D40 +4AA0 +AAA0 +1FE0 +1100 +2100 +4100 +8FE0 +ENDCHAR +STARTCHAR U_6B8D +ENCODING 27533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0060 +FBA0 +22A0 +2140 +7BE0 +4840 +A880 +17E0 +1080 +2080 +C180 +ENDCHAR +STARTCHAR U_6B8E +ENCODING 27534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +47E0 +4100 +7540 +5540 +DBA0 +3120 +1280 +2280 +4440 +9820 +ENDCHAR +STARTCHAR U_6B8F +ENCODING 27535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +F920 +27E0 +3900 +4D20 +AB40 +1180 +1340 +2540 +4920 +8300 +ENDCHAR +STARTCHAR U_6B90 +ENCODING 27536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4100 +77C0 +5540 +D7C0 +2300 +2580 +4940 +9120 +0100 +ENDCHAR +STARTCHAR U_6B91 +ENCODING 27537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +27E0 +2100 +3BC0 +4A40 +AA40 +1BC0 +1280 +22A0 +44A0 +8860 +ENDCHAR +STARTCHAR U_6B92 +ENCODING 27538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2220 +23E0 +3800 +4BE0 +AA20 +1AA0 +12A0 +22A0 +4140 +8620 +ENDCHAR +STARTCHAR U_6B93 +ENCODING 27539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2280 +2440 +3820 +4FC0 +4A40 +A940 +1540 +2480 +4100 +9FE0 +ENDCHAR +STARTCHAR U_6B94 +ENCODING 27540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +27C0 +2140 +3FE0 +4940 +CFE0 +3940 +1580 +2340 +4520 +9B20 +ENDCHAR +STARTCHAR U_6B95 +ENCODING 27541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F900 +47E0 +7440 +5280 +5FE0 +B000 +17C0 +2440 +47C0 +8440 +ENDCHAR +STARTCHAR U_6B96 +ENCODING 27542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +27E0 +2100 +3FC0 +4C40 +AFC0 +1440 +1740 +25C0 +4440 +9FE0 +ENDCHAR +STARTCHAR U_6B97 +ENCODING 27543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +27E0 +2280 +3540 +5FE0 +D540 +37C0 +1540 +27C0 +4120 +80E0 +ENDCHAR +STARTCHAR U_6B98 +ENCODING 27544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +2FE0 +2240 +39A0 +4B60 +4A80 +ABE0 +1E40 +2280 +4120 +8EE0 +ENDCHAR +STARTCHAR U_6B99 +ENCODING 27545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +2480 +27E0 +3C80 +4F60 +4820 +AFC0 +1440 +27C0 +4440 +87C0 +ENDCHAR +STARTCHAR U_6B9A +ENCODING 27546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC40 +2280 +2FE0 +3920 +4FE0 +4920 +BFE0 +1100 +2FE0 +4100 +8100 +ENDCHAR +STARTCHAR U_6B9B +ENCODING 27547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +2080 +2100 +7DE0 +5520 +55A0 +B540 +1DA0 +2320 +4000 +9FE0 +ENDCHAR +STARTCHAR U_6B9C +ENCODING 27548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FFE0 +4540 +75C0 +5400 +97E0 +5100 +2FE0 +4380 +8540 +1920 +ENDCHAR +STARTCHAR U_6B9D +ENCODING 27549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +27C0 +7100 +5FE0 +9440 +5BA0 +2100 +4FE0 +8540 +1920 +ENDCHAR +STARTCHAR U_6B9E +ENCODING 27550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2240 +27E0 +3C20 +47E0 +A420 +2FE0 +1420 +27E0 +4280 +8C60 +ENDCHAR +STARTCHAR U_6B9F +ENCODING 27551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +2440 +27C0 +7440 +57C0 +D000 +3FE0 +1AA0 +2AA0 +4AA0 +9FE0 +ENDCHAR +STARTCHAR U_6BA0 +ENCODING 27552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +47C0 +4440 +77C0 +9440 +97C0 +5440 +2FE0 +2100 +4280 +8C60 +ENDCHAR +STARTCHAR U_6BA1 +ENCODING 27553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +4820 +4780 +7400 +97E0 +5480 +2480 +2FE0 +4440 +8820 +ENDCHAR +STARTCHAR U_6BA2 +ENCODING 27554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +4FE0 +7A80 +5BE0 +5000 +DFE0 +3920 +17C0 +2540 +45C0 +8100 +ENDCHAR +STARTCHAR U_6BA3 +ENCODING 27555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +4FE0 +4280 +7100 +57C0 +5540 +BFE0 +1100 +27C0 +4100 +8FE0 +ENDCHAR +STARTCHAR U_6BA4 +ENCODING 27556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +47E0 +4A40 +73C0 +5240 +9FE0 +5400 +17E0 +2AA0 +4520 +8240 +ENDCHAR +STARTCHAR U_6BA5 +ENCODING 27557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +2FE0 +2820 +37C0 +5100 +57C0 +B540 +17C0 +2540 +47C0 +8C60 +ENDCHAR +STARTCHAR U_6BA6 +ENCODING 27558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +47C0 +4440 +77C0 +5440 +D7E0 +3400 +17E0 +2AA0 +5560 +9540 +ENDCHAR +STARTCHAR U_6BA7 +ENCODING 27559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFC0 +40A0 +7FE0 +5A80 +DE80 +B480 +14C0 +2EC0 +5540 +8E60 +ENDCHAR +STARTCHAR U_6BA8 +ENCODING 27560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +4540 +7FE0 +5440 +D7C0 +B440 +27C0 +2440 +47C0 +8820 +ENDCHAR +STARTCHAR U_6BA9 +ENCODING 27561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7E0 +44A0 +7E40 +5AA0 +D5A0 +BB40 +2FE0 +2380 +4540 +9920 +ENDCHAR +STARTCHAR U_6BAA +ENCODING 27562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4100 +4FE0 +7820 +57C0 +D000 +37C0 +1440 +27C0 +4280 +8FE0 +ENDCHAR +STARTCHAR U_6BAB +ENCODING 27563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +4AA0 +4FE0 +7540 +57C0 +D540 +37C0 +1100 +2FE0 +4100 +8100 +ENDCHAR +STARTCHAR U_6BAC +ENCODING 27564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2AA0 +2FE0 +7900 +4FE0 +AA80 +17C0 +1100 +2FE0 +C100 +0100 +ENDCHAR +STARTCHAR U_6BAD +ENCODING 27565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4540 +47C0 +7540 +5FE0 +D000 +37C0 +1540 +27C0 +4540 +9FE0 +ENDCHAR +STARTCHAR U_6BAE +ENCODING 27566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +4280 +4440 +7FE0 +5000 +5EE0 +B2A0 +1EE0 +2440 +4AA0 +9120 +ENDCHAR +STARTCHAR U_6BAF +ENCODING 27567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +4FE0 +4820 +77C0 +5540 +57C0 +BC40 +17C0 +2440 +47C0 +8C60 +ENDCHAR +STARTCHAR U_6BB0 +ENCODING 27568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4100 +4FE0 +7AA0 +5FE0 +D440 +3740 +15C0 +2440 +47C0 +8C60 +ENDCHAR +STARTCHAR U_6BB1 +ENCODING 27569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FEC0 +44A0 +7FE0 +AA80 +7BA0 +2AA0 +3B80 +4AA0 +8F60 +3020 +ENDCHAR +STARTCHAR U_6BB2 +ENCODING 27570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EAC0 +55A0 +5FE0 +6A80 +BB80 +AAA0 +7BA0 +2A40 +3B60 +4AA0 +9F20 +ENDCHAR +STARTCHAR U_6BB3 +ENCODING 27571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +1100 +1100 +20E0 +C000 +3F80 +1100 +0A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_6BB4 +ENCODING 27572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +8240 +8A60 +CC00 +B3E0 +9240 +AA40 +C980 +8180 +FE40 +0420 +ENDCHAR +STARTCHAR U_6BB5 +ENCODING 27573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1B80 +6280 +4280 +74E0 +4000 +77C0 +4440 +4280 +F100 +4280 +4C60 +ENDCHAR +STARTCHAR U_6BB6 +ENCODING 27574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2240 +FA40 +2460 +2000 +FFE0 +2240 +2140 +3980 +E240 +4420 +ENDCHAR +STARTCHAR U_6BB7 +ENCODING 27575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DC0 +4140 +7D40 +4660 +7C00 +47E0 +7D40 +4140 +7C80 +8540 +9A20 +ENDCHAR +STARTCHAR U_6BB8 +ENCODING 27576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FF40 +1140 +7D60 +0200 +7FE0 +5640 +7D40 +4080 +4140 +8620 +ENDCHAR +STARTCHAR U_6BB9 +ENCODING 27577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FB80 +A280 +BA80 +D2E0 +9400 +FBC0 +9240 +AA80 +C100 +FAE0 +0440 +ENDCHAR +STARTCHAR U_6BBA +ENCODING 27578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D9C0 +2140 +D940 +3220 +2800 +FBE0 +2140 +7140 +A880 +2940 +6220 +ENDCHAR +STARTCHAR U_6BBB +ENCODING 27579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2240 +7260 +0400 +FBC0 +8A40 +7140 +5480 +5940 +9620 +ENDCHAR +STARTCHAR U_6BBC +ENCODING 27580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FD40 +1140 +FF60 +8400 +7BE0 +0140 +7940 +4A80 +4D40 +8220 +ENDCHAR +STARTCHAR U_6BBD +ENCODING 27581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +CDC0 +3140 +4940 +FE60 +4000 +7BE0 +C940 +7940 +4880 +7940 +4A20 +ENDCHAR +STARTCHAR U_6BBE +ENCODING 27582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +7680 +2A80 +FCE0 +1400 +7FC0 +CA40 +7A80 +4900 +4AE0 +7C40 +ENDCHAR +STARTCHAR U_6BBF +ENCODING 27583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +8540 +FD40 +8260 +A800 +FFE0 +A940 +FD40 +9880 +A540 +C620 +ENDCHAR +STARTCHAR U_6BC0 +ENCODING 27584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +59C0 +8940 +D940 +8A60 +FC00 +23E0 +2140 +F940 +2080 +3940 +C620 +ENDCHAR +STARTCHAR U_6BC1 +ENCODING 27585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EDC0 +8540 +DD40 +8560 +FE00 +03C0 +FD40 +1140 +1080 +1D40 +E220 +ENDCHAR +STARTCHAR U_6BC2 +ENCODING 27586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +7D40 +1140 +FF60 +9200 +FFE0 +5140 +7D40 +1080 +FD40 +1220 +ENDCHAR +STARTCHAR U_6BC3 +ENCODING 27587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FF40 +4940 +7960 +0200 +FFE0 +8220 +BB40 +AA80 +BB40 +8E20 +ENDCHAR +STARTCHAR U_6BC4 +ENCODING 27588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +FD40 +A940 +FB60 +A800 +FBE0 +2140 +FD40 +8880 +F940 +8A20 +ENDCHAR +STARTCHAR U_6BC5 +ENCODING 27589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FD40 +2940 +FE60 +2000 +57E0 +A940 +5D40 +AA80 +4940 +9220 +ENDCHAR +STARTCHAR U_6BC6 +ENCODING 27590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +8140 +B940 +AA60 +B800 +81E0 +EE40 +AB40 +EE80 +8140 +FE20 +ENDCHAR +STARTCHAR U_6BC7 +ENCODING 27591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4DC0 +8540 +ED40 +8760 +FC00 +93E0 +5540 +FF40 +3880 +5540 +9220 +ENDCHAR +STARTCHAR U_6BC8 +ENCODING 27592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DEE0 +AAA0 +ABA0 +EA00 +AEE0 +ABA0 +AAA0 +EEA0 +2B40 +4AA0 +8B20 +ENDCHAR +STARTCHAR U_6BC9 +ENCODING 27593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +9160 +FA00 +93C0 +A940 +FC80 +0140 +7FC0 +2480 +5540 +FFE0 +ENDCHAR +STARTCHAR U_6BCA +ENCODING 27594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FE60 +13C0 +7D40 +5480 +7FC0 +5140 +9120 +7FC0 +5140 +5F40 +ENDCHAR +STARTCHAR U_6BCB +ENCODING 27595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +2480 +2480 +FFE0 +2480 +2480 +7FE0 +0880 +1080 +2300 +ENDCHAR +STARTCHAR U_6BCC +ENCODING 27596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +3F80 +2480 +2480 +2480 +FFE0 +4880 +4880 +4880 +7F80 +0080 +ENDCHAR +STARTCHAR U_6BCD +ENCODING 27597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2880 +2480 +2080 +FFE0 +2880 +2480 +2080 +7FE0 +0080 +0300 +ENDCHAR +STARTCHAR U_6BCE +ENCODING 27598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FC0 +4000 +BF80 +2480 +FFE0 +2480 +4880 +7FE0 +0080 +0300 +ENDCHAR +STARTCHAR U_6BCF +ENCODING 27599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4000 +9F80 +1480 +FFE0 +2480 +2280 +7FE0 +0080 +0300 +ENDCHAR +STARTCHAR U_6BD0 +ENCODING 27600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +2480 +2480 +FFE0 +4880 +7FE0 +1080 +6300 +ENDCHAR +STARTCHAR U_6BD1 +ENCODING 27601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4880 +6AE0 +5FA0 +FAA0 +4AA0 +6AE0 +5A80 +7A20 +29E0 +1000 +ENDCHAR +STARTCHAR U_6BD2 +ENCODING 27602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +0400 +FFE0 +2480 +FFE0 +4480 +7FE0 +0300 +ENDCHAR +STARTCHAR U_6BD3 +ENCODING 27603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7FE0 +8100 +FA40 +ABA0 +A800 +FEA0 +AAA0 +AAA0 +FAA0 +1420 +ENDCHAR +STARTCHAR U_6BD4 +ENCODING 27604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8400 +8400 +8480 +8500 +F600 +8400 +8400 +8400 +B440 +C440 +83C0 +ENDCHAR +STARTCHAR U_6BD5 +ENCODING 27605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4240 +7B80 +4220 +4A20 +71E0 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_6BD6 +ENCODING 27606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7A80 +4320 +5A20 +E3E0 +0480 +5300 +5240 +94A0 +18A0 +EF80 +ENDCHAR +STARTCHAR U_6BD7 +ENCODING 27607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FA80 +AA80 +AAA0 +FBC0 +AA80 +AA80 +AA80 +FAA0 +8BA0 +02E0 +ENDCHAR +STARTCHAR U_6BD8 +ENCODING 27608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +7FC0 +0000 +4240 +7A80 +4320 +FA20 +43E0 +ENDCHAR +STARTCHAR U_6BD9 +ENCODING 27609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7B80 +4220 +FBE0 +0000 +FFE0 +2240 +7A80 +CB20 +3220 +E1E0 +ENDCHAR +STARTCHAR U_6BDA +ENCODING 27610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1E00 +2400 +FF80 +4080 +7FA0 +4220 +7FE0 +2480 +7F80 +0CA0 +F3E0 +ENDCHAR +STARTCHAR U_6BDB +ENCODING 27611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +7C00 +0400 +0780 +7C00 +0400 +07E0 +FC00 +0420 +0420 +03E0 +ENDCHAR +STARTCHAR U_6BDC +ENCODING 27612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1880 +6080 +2080 +3880 +E1C0 +2AA0 +34A0 +E880 +22A0 +2120 +1FE0 +ENDCHAR +STARTCHAR U_6BDD +ENCODING 27613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +E040 +2080 +3B40 +E080 +2320 +3840 +E080 +2F20 +2020 +1FE0 +ENDCHAR +STARTCHAR U_6BDE +ENCODING 27614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7B80 +4220 +79E0 +0380 +3C00 +0780 +7C00 +07A0 +FC20 +07E0 +ENDCHAR +STARTCHAR U_6BDF +ENCODING 27615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1500 +2480 +C560 +0600 +7C00 +0780 +3C00 +07C0 +7C20 +03E0 +ENDCHAR +STARTCHAR U_6BE0 +ENCODING 27616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA20 +2BE0 +4A20 +9FC0 +0400 +7FC0 +0400 +7FC0 +0420 +03E0 +ENDCHAR +STARTCHAR U_6BE1 +ENCODING 27617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E100 +2DE0 +F100 +27E0 +2C20 +F420 +27E0 +2420 +2020 +1FE0 +ENDCHAR +STARTCHAR U_6BE2 +ENCODING 27618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E280 +4FE0 +5AA0 +EAA0 +4CE0 +5820 +EFE0 +4820 +4020 +3FE0 +ENDCHAR +STARTCHAR U_6BE3 +ENCODING 27619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +2940 +18C0 +E940 +3F80 +0800 +7F80 +0800 +FFA0 +0820 +07E0 +ENDCHAR +STARTCHAR U_6BE4 +ENCODING 27620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +28C0 +4700 +91C0 +2300 +49C0 +FF00 +0120 +2920 +28E0 +4820 +87E0 +ENDCHAR +STARTCHAR U_6BE5 +ENCODING 27621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3A00 +E3E0 +2420 +3BA0 +E2A0 +23A0 +3AA0 +E3A0 +2040 +2020 +1FE0 +ENDCHAR +STARTCHAR U_6BE6 +ENCODING 27622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC40 +4B80 +4900 +7900 +4BC0 +7900 +4900 +4BC0 +FD20 +0920 +08E0 +ENDCHAR +STARTCHAR U_6BE7 +ENCODING 27623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +30C0 +C0A0 +4FE0 +44A0 +F4C0 +4FA0 +44A0 +F560 +4A00 +4020 +3FE0 +ENDCHAR +STARTCHAR U_6BE8 +ENCODING 27624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A80 +F280 +23E0 +2480 +FBE0 +2140 +2140 +FA60 +2400 +2020 +1FE0 +ENDCHAR +STARTCHAR U_6BE9 +ENCODING 27625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +6540 +2380 +3900 +E7E0 +2100 +3B80 +E540 +2940 +2120 +1FE0 +ENDCHAR +STARTCHAR U_6BEA +ENCODING 27626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +F240 +27A0 +2280 +FBC0 +2480 +27E0 +F880 +20A0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_6BEB +ENCODING 27627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +FFE0 +8220 +3C00 +0780 +3C00 +07A0 +7C20 +07E0 +ENDCHAR +STARTCHAR U_6BEC +ENCODING 27628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +18C0 +E0A0 +27E0 +2080 +FCA0 +23C0 +22C0 +FCA0 +2180 +2020 +1FE0 +ENDCHAR +STARTCHAR U_6BED +ENCODING 27629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +FB00 +0100 +79E0 +4B00 +49E0 +7B00 +4900 +2920 +3D20 +C0E0 +ENDCHAR +STARTCHAR U_6BEE +ENCODING 27630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +2920 +F1A0 +2E80 +3700 +E1C0 +2700 +21C0 +AF20 +40E0 +ENDCHAR +STARTCHAR U_6BEF +ENCODING 27631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0AA0 +F2C0 +2480 +2140 +FAA0 +22E0 +2480 +F980 +2260 +2420 +1FE0 +ENDCHAR +STARTCHAR U_6BF0 +ENCODING 27632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +F7E0 +2220 +2140 +FFE0 +2000 +23C0 +FA40 +23E0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_6BF1 +ENCODING 27633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +37C0 +CAC0 +4740 +7240 +CFC0 +7340 +C6C0 +4A40 +40A0 +3FE0 +ENDCHAR +STARTCHAR U_6BF2 +ENCODING 27634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +ABC0 +4480 +AA80 +ABE0 +FE80 +AA80 +ABE0 +4480 +AAA0 +AA60 +ENDCHAR +STARTCHAR U_6BF3 +ENCODING 27635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0800 +7FA0 +0820 +FFE0 +2100 +FFE0 +2100 +FFE0 +2120 +38E0 +ENDCHAR +STARTCHAR U_6BF4 +ENCODING 27636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A80 +E280 +26E0 +3A80 +E6E0 +3A80 +E6E0 +2280 +22A0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_6BF5 +ENCODING 27637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +4BC0 +FC80 +1080 +FFE0 +A480 +4880 +93E0 +6880 +10A0 +6060 +ENDCHAR +STARTCHAR U_6BF6 +ENCODING 27638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +C240 +47C0 +7100 +CFE0 +7240 +CCA0 +4740 +40A0 +4720 +3FE0 +ENDCHAR +STARTCHAR U_6BF7 +ENCODING 27639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +87C0 +FC80 +84E0 +FF80 +4880 +78E0 +4B80 +7880 +48A0 +7860 +ENDCHAR +STARTCHAR U_6BF8 +ENCODING 27640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +E540 +47C0 +4540 +F7C0 +4100 +46A0 +FA20 +4BC0 +4020 +3FE0 +ENDCHAR +STARTCHAR U_6BF9 +ENCODING 27641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +39E0 +4480 +BA80 +01E0 +EA80 +AA80 +EBE0 +AA80 +EAA0 +A2A0 +A660 +ENDCHAR +STARTCHAR U_6BFA +ENCODING 27642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +C180 +4240 +75A0 +C800 +4EA0 +7AA0 +CEA0 +4A40 +4020 +3FE0 +ENDCHAR +STARTCHAR U_6BFB +ENCODING 27643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +FF80 +2080 +7C80 +93E0 +7C80 +4480 +7FE0 +4480 +7CA0 +4C60 +ENDCHAR +STARTCHAR U_6BFC +ENCODING 27644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F860 +8B80 +F880 +88E0 +FB80 +4080 +FCE0 +A780 +D4A0 +F4A0 +1860 +ENDCHAR +STARTCHAR U_6BFD +ENCODING 27645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E4A0 +25E0 +2CA0 +F7E0 +2C80 +27E0 +F480 +2BE0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_6BFE +ENCODING 27646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4780 +7C80 +44E0 +7F80 +0080 +FCE0 +B780 +6CA0 +B4A0 +6C60 +ENDCHAR +STARTCHAR U_6BFF +ENCODING 27647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4860 +FF80 +4880 +B4E0 +DF80 +3080 +48E0 +A780 +54A0 +A8A0 +3060 +ENDCHAR +STARTCHAR U_6C00 +ENCODING 27648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +7D80 +D680 +7CE0 +1380 +7C80 +54E0 +FF80 +2480 +38A0 +6460 +ENDCHAR +STARTCHAR U_6C01 +ENCODING 27649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +EFE0 +4280 +47C0 +F440 +47C0 +4440 +FFE0 +4280 +4460 +3FE0 +ENDCHAR +STARTCHAR U_6C02 +ENCODING 27650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +11E0 +FEA0 +5440 +92A0 +3FE0 +2300 +3E00 +2380 +5E20 +83E0 +ENDCHAR +STARTCHAR U_6C03 +ENCODING 27651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +FF80 +2880 +10E0 +FF80 +5480 +7CE0 +5780 +FEA0 +10A0 +FE60 +ENDCHAR +STARTCHAR U_6C04 +ENCODING 27652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC60 +2B80 +FC80 +54E0 +9380 +FC80 +B4E0 +CF80 +BCA0 +A4A0 +BC60 +ENDCHAR +STARTCHAR U_6C05 +ENCODING 27653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5500 +FFE0 +82A0 +BA40 +AAA0 +7FA0 +07C0 +7C00 +07C0 +7C20 +07E0 +ENDCHAR +STARTCHAR U_6C06 +ENCODING 27654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +EFE0 +4AA0 +46C0 +FFE0 +4440 +47C0 +F440 +47C0 +4020 +3FE0 +ENDCHAR +STARTCHAR U_6C07 +ENCODING 27655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1780 +E480 +4FC0 +4540 +F7C0 +4D60 +47C0 +F440 +47C0 +4460 +3FE0 +ENDCHAR +STARTCHAR U_6C08 +ENCODING 27656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +FF80 +AA80 +BAE0 +8380 +FE80 +48E0 +7B80 +48A0 +48A0 +FC60 +ENDCHAR +STARTCHAR U_6C09 +ENCODING 27657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +4B80 +4880 +FCE0 +B780 +FC80 +10E0 +FF80 +38A0 +54A0 +9260 +ENDCHAR +STARTCHAR U_6C0A +ENCODING 27658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3200 +DFE0 +4A40 +FBC0 +4840 +4FC0 +F480 +44A0 +4FE0 +4020 +3FE0 +ENDCHAR +STARTCHAR U_6C0B +ENCODING 27659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2860 +FF80 +2880 +FEE0 +8380 +7C80 +A8E0 +5980 +2CA0 +CAA0 +3160 +ENDCHAR +STARTCHAR U_6C0C +ENCODING 27660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1B80 +E480 +4FC0 +4540 +77C0 +CAA0 +47C0 +7440 +C7C0 +4460 +3FE0 +ENDCHAR +STARTCHAR U_6C0D +ENCODING 27661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE60 +9380 +FE80 +92E0 +FF80 +2880 +7EE0 +C980 +7EA0 +48A0 +7E60 +ENDCHAR +STARTCHAR U_6C0E +ENCODING 27662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +5580 +FE80 +ABE0 +FE80 +2080 +FFE0 +A280 +7CA0 +28A0 +FE60 +ENDCHAR +STARTCHAR U_6C0F +ENCODING 27663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0300 +FC00 +8800 +8800 +FFC0 +8800 +8800 +8400 +A440 +C240 +81C0 +ENDCHAR +STARTCHAR U_6C10 +ENCODING 27664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0300 +FC00 +8800 +8800 +FFC0 +8400 +8400 +9200 +A240 +D140 +88C0 +ENDCHAR +STARTCHAR U_6C11 +ENCODING 27665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +8080 +8080 +FF80 +8800 +8800 +FFC0 +8400 +9440 +A240 +C1C0 +ENDCHAR +STARTCHAR U_6C12 +ENCODING 27666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E00 +4240 +7FE0 +4900 +50A0 +6460 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_6C13 +ENCODING 27667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +2420 +FFE0 +4480 +47E0 +4480 +4480 +7CA0 +0560 +0620 +ENDCHAR +STARTCHAR U_6C14 +ENCODING 27668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FC0 +2000 +5F80 +8000 +3F00 +0100 +0120 +0120 +00A0 +0060 +ENDCHAR +STARTCHAR U_6C15 +ENCODING 27669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2000 +5F80 +8000 +3F80 +0080 +08A0 +08A0 +1060 +6020 +ENDCHAR +STARTCHAR U_6C16 +ENCODING 27670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +3FE0 +4000 +BF80 +0080 +7E80 +1480 +16A0 +22A0 +4260 +8C20 +ENDCHAR +STARTCHAR U_6C17 +ENCODING 27671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2000 +5FC0 +8000 +7F80 +0280 +2480 +18A0 +2660 +4220 +ENDCHAR +STARTCHAR U_6C18 +ENCODING 27672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +3FE0 +4000 +9F80 +0000 +3F80 +0080 +2480 +24A0 +2460 +4420 +ENDCHAR +STARTCHAR U_6C19 +ENCODING 27673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4000 +BF80 +0000 +7F80 +1080 +9280 +92A0 +FE60 +8220 +ENDCHAR +STARTCHAR U_6C1A +ENCODING 27674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FE0 +4000 +BF80 +0000 +7F80 +0080 +2A80 +2AA0 +2A60 +4220 +ENDCHAR +STARTCHAR U_6C1B +ENCODING 27675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4000 +FF80 +1480 +2280 +4180 +BEA0 +12A0 +2260 +4C20 +ENDCHAR +STARTCHAR U_6C1C +ENCODING 27676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FC0 +4000 +BF80 +0000 +FF80 +2280 +3E80 +22A0 +2260 +3E20 +ENDCHAR +STARTCHAR U_6C1D +ENCODING 27677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FE0 +8000 +FF80 +1080 +FE80 +9280 +9280 +AAA0 +C660 +8620 +ENDCHAR +STARTCHAR U_6C1E +ENCODING 27678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FC0 +8000 +FF80 +0080 +FE80 +1080 +FE80 +92A0 +AA60 +8620 +ENDCHAR +STARTCHAR U_6C1F +ENCODING 27679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FE0 +8000 +7F80 +2880 +7E80 +2A80 +FF80 +29A0 +4B60 +8820 +ENDCHAR +STARTCHAR U_6C20 +ENCODING 27680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4000 +BF80 +0880 +3E80 +2A80 +3EA0 +2AA0 +3E60 +0820 +ENDCHAR +STARTCHAR U_6C21 +ENCODING 27681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4000 +BF80 +2280 +5480 +0880 +F780 +08A0 +2460 +1820 +ENDCHAR +STARTCHAR U_6C22 +ENCODING 27682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FC0 +4000 +BF80 +0080 +7E80 +0C80 +13A0 +FEA0 +0860 +7F20 +ENDCHAR +STARTCHAR U_6C23 +ENCODING 27683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4000 +BF80 +0080 +4980 +2A80 +FFA0 +1CA0 +2A60 +C920 +ENDCHAR +STARTCHAR U_6C24 +ENCODING 27684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +4000 +BF80 +0080 +FE80 +9280 +FE80 +9280 +AAA0 +FE60 +8220 +ENDCHAR +STARTCHAR U_6C25 +ENCODING 27685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +4000 +BF80 +0080 +FE80 +2880 +FE80 +AAA0 +EEA0 +8260 +FE20 +ENDCHAR +STARTCHAR U_6C26 +ENCODING 27686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +4000 +BF80 +1080 +FE80 +2480 +7880 +1480 +68A0 +1460 +E320 +ENDCHAR +STARTCHAR U_6C27 +ENCODING 27687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +4000 +BF80 +4480 +2880 +FE80 +1080 +7CA0 +10A0 +FE60 +1020 +ENDCHAR +STARTCHAR U_6C28 +ENCODING 27688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +4000 +BF80 +1080 +FE80 +9280 +FF80 +2480 +38A0 +1660 +E120 +ENDCHAR +STARTCHAR U_6C29 +ENCODING 27689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +BF80 +0080 +FF80 +2880 +A980 +6A80 +28A0 +2860 +FF20 +ENDCHAR +STARTCHAR U_6C2A +ENCODING 27690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +4000 +BF80 +0880 +7E80 +0880 +3E80 +2280 +3EA0 +1560 +E720 +ENDCHAR +STARTCHAR U_6C2B +ENCODING 27691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +4000 +BF80 +0080 +FE80 +5480 +A880 +5480 +FEA0 +1060 +FF20 +ENDCHAR +STARTCHAR U_6C2C +ENCODING 27692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +4000 +BF80 +0080 +FF80 +2880 +EE80 +8280 +EEA0 +2860 +FF20 +ENDCHAR +STARTCHAR U_6C2D +ENCODING 27693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FC0 +8000 +7F80 +2A80 +3E80 +2A80 +3E80 +1CA0 +2A60 +C920 +ENDCHAR +STARTCHAR U_6C2E +ENCODING 27694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +4000 +BF80 +1280 +5480 +A880 +5480 +9280 +5480 +A8A0 +C660 +ENDCHAR +STARTCHAR U_6C2F +ENCODING 27695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +BF80 +0280 +3E80 +0280 +FF80 +4A80 +2CA0 +4A60 +9920 +ENDCHAR +STARTCHAR U_6C30 +ENCODING 27696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +4000 +BF80 +1080 +7E80 +1080 +FF80 +42A0 +7AA0 +5E60 +4220 +ENDCHAR +STARTCHAR U_6C31 +ENCODING 27697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FC0 +8000 +FF80 +2480 +3C80 +2480 +7E80 +AAA0 +5260 +2420 +ENDCHAR +STARTCHAR U_6C32 +ENCODING 27698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +4000 +BF80 +0080 +7C80 +4480 +7C80 +4480 +FEA0 +AA60 +FF20 +ENDCHAR +STARTCHAR U_6C33 +ENCODING 27699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +BF80 +0080 +7C80 +5480 +5480 +6C80 +FEA0 +AA60 +FF20 +ENDCHAR +STARTCHAR U_6C34 +ENCODING 27700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0440 +F680 +1500 +1500 +2480 +2480 +4440 +9420 +0800 +ENDCHAR +STARTCHAR U_6C35 +ENCODING 27701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 11 0 -1 +BITMAP +40 +20 +00 +80 +50 +10 +20 +E0 +20 +20 +20 +ENDCHAR +STARTCHAR U_6C36 +ENCODING 27702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0200 +0400 +04C0 +7500 +1600 +1500 +2500 +2480 +5460 +8800 +ENDCHAR +STARTCHAR U_6C37 +ENCODING 27703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4400 +2400 +04C0 +F500 +1600 +1500 +2480 +4460 +9440 +0800 +ENDCHAR +STARTCHAR U_6C38 +ENCODING 27704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +3C40 +0480 +F500 +1600 +2500 +2480 +4460 +9400 +0800 +ENDCHAR +STARTCHAR U_6C39 +ENCODING 27705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +1120 +1D40 +2580 +2540 +4920 +9120 +8500 +8220 +7FE0 +ENDCHAR +STARTCHAR U_6C3A +ENCODING 27706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0400 +0400 +4440 +2480 +2500 +1600 +2500 +C4C0 +0440 +1400 +0800 +ENDCHAR +STARTCHAR U_6C3B +ENCODING 27707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +1100 +97E0 +5120 +2120 +2120 +C220 +4420 +4920 +50C0 +ENDCHAR +STARTCHAR U_6C3C +ENCODING 27708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +7580 +1600 +2500 +D480 +0860 +0400 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_6C3D +ENCODING 27709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0600 +0900 +3080 +C260 +0200 +7B20 +0B40 +1280 +2240 +CA20 +0400 +ENDCHAR +STARTCHAR U_6C3E +ENCODING 27710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +0440 +8440 +4C40 +1440 +1580 +E400 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_6C3F +ENCODING 27711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +0F80 +9280 +5280 +2280 +2280 +C480 +44A0 +48A0 +5060 +ENDCHAR +STARTCHAR U_6C40 +ENCODING 27712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +2100 +8100 +4100 +2100 +2100 +C100 +4100 +4100 +4700 +ENDCHAR +STARTCHAR U_6C41 +ENCODING 27713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8100 +5100 +1FE0 +2100 +2100 +C100 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6C42 +ENCODING 27714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +0440 +FFE0 +0400 +2480 +1500 +0E00 +1500 +2480 +C460 +0C00 +ENDCHAR +STARTCHAR U_6C43 +ENCODING 27715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2480 +8480 +5480 +1480 +2480 +2480 +C840 +4840 +5020 +5020 +ENDCHAR +STARTCHAR U_6C44 +ENCODING 27716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +2200 +8200 +4200 +1200 +2500 +C500 +4880 +4860 +5040 +ENDCHAR +STARTCHAR U_6C45 +ENCODING 27717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +8200 +4200 +5400 +27C0 +2040 +C040 +4040 +4280 +4100 +ENDCHAR +STARTCHAR U_6C46 +ENCODING 27718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C00 +1200 +2580 +C460 +0440 +7E80 +1500 +1500 +2480 +5460 +8820 +ENDCHAR +STARTCHAR U_6C47 +ENCODING 27719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +8400 +5400 +1400 +2400 +2400 +C400 +4400 +4400 +47E0 +ENDCHAR +STARTCHAR U_6C48 +ENCODING 27720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +0020 +8020 +50A0 +2120 +2220 +CC20 +4020 +40A0 +4040 +ENDCHAR +STARTCHAR U_6C49 +ENCODING 27721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2FE0 +8440 +5440 +1440 +2280 +2280 +C100 +4280 +4440 +5820 +ENDCHAR +STARTCHAR U_6C4A +ENCODING 27722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2FE0 +8440 +5540 +1540 +2280 +2280 +C100 +4280 +4440 +4820 +ENDCHAR +STARTCHAR U_6C4B +ENCODING 27723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +87E0 +5420 +1A20 +2120 +2120 +C020 +4020 +40A0 +4040 +ENDCHAR +STARTCHAR U_6C4C +ENCODING 27724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +22A0 +82A0 +52A0 +12A0 +22A0 +22A0 +C2A0 +44A0 +44A0 +4820 +ENDCHAR +STARTCHAR U_6C4D +ENCODING 27725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +8F80 +5280 +1280 +2680 +2380 +C2A0 +44A0 +4860 +5020 +ENDCHAR +STARTCHAR U_6C4E +ENCODING 27726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2480 +8480 +4480 +1680 +2580 +2480 +C480 +44A0 +48A0 +50E0 +ENDCHAR +STARTCHAR U_6C4F +ENCODING 27727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8100 +5FE0 +1100 +2100 +2100 +C280 +4280 +4440 +4820 +ENDCHAR +STARTCHAR U_6C50 +ENCODING 27728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +83E0 +5220 +1420 +2A40 +2140 +C080 +4100 +4600 +5800 +ENDCHAR +STARTCHAR U_6C51 +ENCODING 27729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2E00 +8200 +4200 +03E0 +2E00 +2200 +C200 +4220 +4220 +41E0 +ENDCHAR +STARTCHAR U_6C52 +ENCODING 27730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +5400 +1400 +2400 +2400 +C400 +4400 +4400 +47E0 +ENDCHAR +STARTCHAR U_6C53 +ENCODING 27731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FC0 +8080 +4100 +5100 +2FE0 +2100 +C100 +4100 +4500 +4200 +ENDCHAR +STARTCHAR U_6C54 +ENCODING 27732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +8400 +5800 +17C0 +2080 +2100 +C200 +4420 +4420 +43E0 +ENDCHAR +STARTCHAR U_6C55 +ENCODING 27733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8100 +4920 +1920 +2920 +2920 +C920 +4920 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6C56 +ENCODING 27734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0000 +0440 +7580 +1600 +2580 +C460 +1440 +0800 +ENDCHAR +STARTCHAR U_6C57 +ENCODING 27735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +8100 +5100 +1FE0 +2100 +2100 +C100 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6C58 +ENCODING 27736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2E00 +8200 +5200 +2200 +3FE0 +C200 +4200 +4200 +4200 +0200 +ENDCHAR +STARTCHAR U_6C59 +ENCODING 27737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +8100 +4100 +1FE0 +2100 +2100 +C100 +4100 +4100 +4700 +ENDCHAR +STARTCHAR U_6C5A +ENCODING 27738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +8200 +4200 +5FE0 +2400 +27C0 +C040 +4040 +4140 +4080 +ENDCHAR +STARTCHAR U_6C5B +ENCODING 27739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2FC0 +8480 +5480 +1480 +2F80 +2480 +C4A0 +44A0 +4460 +4420 +ENDCHAR +STARTCHAR U_6C5C +ENCODING 27740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +8440 +5440 +17C0 +2440 +2400 +C400 +4420 +4420 +43E0 +ENDCHAR +STARTCHAR U_6C5D +ENCODING 27741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +0200 +9FE0 +5480 +2480 +2880 +CD00 +4300 +44C0 +5820 +ENDCHAR +STARTCHAR U_6C5E +ENCODING 27742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +FFE0 +0400 +7C40 +1680 +1500 +2480 +5460 +8820 +ENDCHAR +STARTCHAR U_6C5F +ENCODING 27743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +8100 +5100 +1100 +2100 +2100 +C100 +4100 +5FE0 +4000 +ENDCHAR +STARTCHAR U_6C60 +ENCODING 27744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +8500 +55C0 +1740 +2D40 +2540 +C5C0 +4520 +4420 +43E0 +ENDCHAR +STARTCHAR U_6C61 +ENCODING 27745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2000 +8000 +5FE0 +1400 +2400 +27C0 +C040 +4040 +4140 +4080 +ENDCHAR +STARTCHAR U_6C62 +ENCODING 27746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +0200 +9200 +5FC0 +2200 +4200 +C200 +4200 +5FE0 +4000 +ENDCHAR +STARTCHAR U_6C63 +ENCODING 27747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +07C0 +8440 +4840 +2080 +4080 +C100 +4280 +4440 +5820 +ENDCHAR +STARTCHAR U_6C64 +ENCODING 27748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2080 +8100 +5200 +17E0 +22A0 +24A0 +C920 +4220 +44A0 +4840 +ENDCHAR +STARTCHAR U_6C65 +ENCODING 27749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8100 +5100 +1FE0 +2440 +2280 +C100 +4380 +4460 +5820 +ENDCHAR +STARTCHAR U_6C66 +ENCODING 27750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F00 +8900 +4900 +1FE0 +2900 +2900 +C920 +4AA0 +4C60 +4820 +ENDCHAR +STARTCHAR U_6C67 +ENCODING 27751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2480 +8480 +5480 +1FE0 +2480 +2480 +C480 +4480 +4880 +5080 +ENDCHAR +STARTCHAR U_6C68 +ENCODING 27752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +8420 +5420 +17E0 +2420 +2420 +C420 +4420 +47E0 +4420 +ENDCHAR +STARTCHAR U_6C69 +ENCODING 27753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2000 +8FE0 +4820 +0820 +2FA0 +2820 +C820 +4820 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6C6A +ENCODING 27754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +8100 +5100 +1100 +27C0 +2100 +C100 +4100 +4100 +4FE0 +ENDCHAR +STARTCHAR U_6C6B +ENCODING 27755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +9FE0 +4480 +2480 +2FE0 +2480 +C480 +4480 +4880 +5080 +ENDCHAR +STARTCHAR U_6C6C +ENCODING 27756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +7FC0 +0900 +FFE0 +1100 +6500 +0400 +76C0 +1500 +2480 +CC60 +ENDCHAR +STARTCHAR U_6C6D +ENCODING 27757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +0FE0 +9920 +5920 +2AA0 +2C60 +C820 +4820 +4820 +4860 +ENDCHAR +STARTCHAR U_6C6E +ENCODING 27758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +07E0 +8820 +6420 +32A0 +2120 +C220 +4C20 +4020 +40C0 +ENDCHAR +STARTCHAR U_6C6F +ENCODING 27759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +8FE0 +5200 +1200 +2480 +2480 +C900 +4940 +5220 +67E0 +ENDCHAR +STARTCHAR U_6C70 +ENCODING 27760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8100 +5FE0 +1100 +2100 +2280 +C280 +4640 +4940 +5020 +ENDCHAR +STARTCHAR U_6C71 +ENCODING 27761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2280 +8240 +5FE0 +1200 +2200 +2200 +C500 +4480 +4840 +5020 +ENDCHAR +STARTCHAR U_6C72 +ENCODING 27762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +2440 +8480 +55C0 +1440 +2440 +2640 +C980 +4900 +5280 +6C60 +ENDCHAR +STARTCHAR U_6C73 +ENCODING 27763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +2700 +8400 +5400 +17E0 +2420 +2640 +C940 +4880 +5140 +6620 +ENDCHAR +STARTCHAR U_6C74 +ENCODING 27764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +5100 +1100 +2180 +2140 +C100 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6C75 +ENCODING 27765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +2500 +8880 +5260 +2100 +2FC0 +4080 +C100 +4100 +4200 +ENDCHAR +STARTCHAR U_6C76 +ENCODING 27766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +5440 +1440 +2280 +2280 +C100 +4280 +4440 +5820 +ENDCHAR +STARTCHAR U_6C77 +ENCODING 27767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +03C0 +8440 +5440 +2A80 +4280 +C100 +4280 +4440 +5820 +ENDCHAR +STARTCHAR U_6C78 +ENCODING 27768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +5200 +13C0 +2240 +2240 +C440 +4440 +4940 +5080 +ENDCHAR +STARTCHAR U_6C79 +ENCODING 27769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +28A0 +8CA0 +5AA0 +1920 +2920 +2AA0 +CA60 +4C20 +4820 +4FE0 +ENDCHAR +STARTCHAR U_6C7A +ENCODING 27770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +8FC0 +5240 +1240 +2FE0 +2200 +C300 +4480 +4840 +5020 +ENDCHAR +STARTCHAR U_6C7B +ENCODING 27771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27C0 +8900 +5100 +1100 +2FE0 +2100 +C100 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6C7C +ENCODING 27772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8900 +4FC0 +1100 +2100 +2FE0 +C100 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6C7D +ENCODING 27773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +8800 +57C0 +1000 +2F80 +2080 +C080 +40A0 +4060 +4020 +ENDCHAR +STARTCHAR U_6C7E +ENCODING 27774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +8440 +4820 +17E0 +2240 +2240 +C240 +4440 +4540 +4880 +ENDCHAR +STARTCHAR U_6C7F +ENCODING 27775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2040 +0280 +8100 +5FE0 +2120 +4100 +C100 +4100 +4100 +4300 +ENDCHAR +STARTCHAR U_6C80 +ENCODING 27776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1020 +1540 +F880 +3BE0 +38A0 +5480 +5480 +9280 +1080 +3180 +ENDCHAR +STARTCHAR U_6C81 +ENCODING 27777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +8280 +5200 +1240 +2A20 +2A20 +D200 +4220 +4220 +41E0 +ENDCHAR +STARTCHAR U_6C82 +ENCODING 27778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +8400 +5400 +17E0 +2480 +2480 +C480 +4480 +4880 +5080 +ENDCHAR +STARTCHAR U_6C83 +ENCODING 27779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +2E00 +8200 +5200 +1FE0 +2200 +2200 +C500 +4500 +4880 +7060 +ENDCHAR +STARTCHAR U_6C84 +ENCODING 27780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +8000 +5000 +1000 +2FE0 +2200 +C200 +4440 +4FE0 +4420 +ENDCHAR +STARTCHAR U_6C85 +ENCODING 27781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2000 +8000 +5FE0 +1280 +2280 +2280 +C280 +44A0 +44A0 +4860 +ENDCHAR +STARTCHAR U_6C86 +ENCODING 27782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +5000 +1780 +2480 +2480 +C480 +44A0 +48A0 +5060 +ENDCHAR +STARTCHAR U_6C87 +ENCODING 27783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2480 +8840 +5FE0 +1020 +2480 +2480 +C480 +44A0 +48A0 +5060 +ENDCHAR +STARTCHAR U_6C88 +ENCODING 27784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +8FE0 +4A40 +1200 +2300 +2500 +C500 +4520 +4920 +50E0 +ENDCHAR +STARTCHAR U_6C89 +ENCODING 27785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8000 +5780 +1480 +2480 +2480 +C480 +44A0 +48A0 +5060 +ENDCHAR +STARTCHAR U_6C8A +ENCODING 27786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F920 +AF40 +2380 +2540 +3540 +3920 +5300 +5020 +8FE0 +ENDCHAR +STARTCHAR U_6C8B +ENCODING 27787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2240 +8FE0 +5200 +1300 +2300 +2500 +C500 +4520 +4920 +50E0 +ENDCHAR +STARTCHAR U_6C8C +ENCODING 27788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8FE0 +5100 +1920 +2920 +2FE0 +C100 +4120 +4120 +40E0 +ENDCHAR +STARTCHAR U_6C8D +ENCODING 27789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2200 +8200 +43E0 +1440 +2440 +2440 +CFC0 +4080 +4080 +5FE0 +ENDCHAR +STARTCHAR U_6C8E +ENCODING 27790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2500 +8920 +5920 +2940 +2980 +2900 +CB00 +4D20 +4920 +48E0 +ENDCHAR +STARTCHAR U_6C8F +ENCODING 27791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +2BE0 +88A0 +5EA0 +28A0 +28A0 +2AA0 +DCA0 +4920 +42A0 +4440 +ENDCHAR +STARTCHAR U_6C90 +ENCODING 27792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8100 +5FE0 +1380 +2380 +2540 +C540 +4920 +5120 +4100 +ENDCHAR +STARTCHAR U_6C91 +ENCODING 27793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FC0 +8240 +4240 +5240 +2FC0 +2440 +C440 +4440 +4440 +5FE0 +ENDCHAR +STARTCHAR U_6C92 +ENCODING 27794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23C0 +8440 +5940 +1080 +27C0 +2440 +C280 +4100 +4680 +5860 +ENDCHAR +STARTCHAR U_6C93 +ENCODING 27795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +7580 +1600 +2500 +CCC0 +0000 +7F00 +4100 +7F00 +4100 +7F00 +ENDCHAR +STARTCHAR U_6C94 +ENCODING 27796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +8100 +59E0 +1920 +2920 +2FE0 +C020 +4020 +40A0 +4040 +ENDCHAR +STARTCHAR U_6C95 +ENCODING 27797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +87E0 +4AA0 +12A0 +24A0 +2920 +D120 +4220 +4CA0 +4040 +ENDCHAR +STARTCHAR U_6C96 +ENCODING 27798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8FE0 +5920 +1920 +2FE0 +2920 +C100 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6C97 +ENCODING 27799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +1100 +2480 +E4E0 +1500 +0E00 +1500 +64C0 +0C40 +ENDCHAR +STARTCHAR U_6C98 +ENCODING 27800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +2900 +8920 +4940 +1F80 +2900 +2900 +C900 +4B20 +4D20 +48E0 +ENDCHAR +STARTCHAR U_6C99 +ENCODING 27801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8540 +4520 +1520 +2900 +2120 +C040 +4080 +4300 +5C00 +ENDCHAR +STARTCHAR U_6C9A +ENCODING 27802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8100 +5500 +15E0 +2500 +2500 +C500 +4500 +4500 +5FE0 +ENDCHAR +STARTCHAR U_6C9B +ENCODING 27803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8100 +5FE0 +1920 +2920 +2920 +C920 +4960 +4100 +4100 +ENDCHAR +STARTCHAR U_6C9C +ENCODING 27804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +8480 +57E0 +1400 +27C0 +2440 +C440 +4840 +4840 +5040 +ENDCHAR +STARTCHAR U_6C9D +ENCODING 27805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +10A0 +F7C0 +3980 +31C0 +5AC0 +56A0 +92A0 +14A0 +3180 +ENDCHAR +STARTCHAR U_6C9E +ENCODING 27806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2200 +8200 +4FC0 +1A40 +2A40 +4A40 +CA40 +4AC0 +4200 +4200 +ENDCHAR +STARTCHAR U_6C9F +ENCODING 27807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +07E0 +9820 +5220 +2220 +2520 +CFA0 +4020 +40A0 +4040 +ENDCHAR +STARTCHAR U_6CA0 +ENCODING 27808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2E80 +8A80 +4A80 +1A80 +2A80 +4A80 +CA40 +5240 +5220 +6220 +ENDCHAR +STARTCHAR U_6CA1 +ENCODING 27809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2480 +8480 +48E0 +1000 +2FC0 +2480 +4280 +C300 +4480 +5860 +ENDCHAR +STARTCHAR U_6CA2 +ENCODING 27810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FC0 +8840 +5840 +2FC0 +2A00 +4A00 +C900 +5100 +5080 +6060 +ENDCHAR +STARTCHAR U_6CA3 +ENCODING 27811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8FE0 +5100 +17C0 +2100 +2100 +CFE0 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6CA4 +ENCODING 27812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +8840 +4A40 +1980 +2880 +2940 +CA20 +4C20 +4800 +4FE0 +ENDCHAR +STARTCHAR U_6CA5 +ENCODING 27813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2480 +8480 +57E0 +14A0 +24A0 +24A0 +C920 +4920 +52A0 +6440 +ENDCHAR +STARTCHAR U_6CA6 +ENCODING 27814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2300 +8480 +5840 +1020 +2440 +2480 +C700 +4420 +4420 +43E0 +ENDCHAR +STARTCHAR U_6CA7 +ENCODING 27815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +8440 +5820 +17C0 +2440 +2440 +C580 +4420 +4420 +43E0 +ENDCHAR +STARTCHAR U_6CA8 +ENCODING 27816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +4FC0 +2840 +8CC0 +4AC0 +2940 +4940 +CAC0 +5440 +5020 +6020 +ENDCHAR +STARTCHAR U_6CA9 +ENCODING 27817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +2500 +8100 +5FE0 +1120 +2120 +22A0 +C2A0 +4420 +4820 +50C0 +ENDCHAR +STARTCHAR U_6CAA +ENCODING 27818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +87E0 +5420 +1420 +27E0 +2400 +C400 +4400 +4800 +5000 +ENDCHAR +STARTCHAR U_6CAB +ENCODING 27819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +9FE0 +4200 +0FC0 +2200 +2700 +CA80 +5240 +6220 +4200 +ENDCHAR +STARTCHAR U_6CAC +ENCODING 27820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +8FC0 +4200 +1FE0 +2200 +2700 +CA80 +5240 +6220 +4200 +ENDCHAR +STARTCHAR U_6CAD +ENCODING 27821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2240 +9FE0 +4200 +1700 +2700 +2A80 +D240 +6220 +4200 +4200 +ENDCHAR +STARTCHAR U_6CAE +ENCODING 27822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +8440 +5440 +17C0 +2440 +2440 +C7C0 +4440 +4440 +4FE0 +ENDCHAR +STARTCHAR U_6CAF +ENCODING 27823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +76C0 +1500 +2480 +CC60 +0000 +FFE0 +0800 +3F80 +D080 +1F80 +ENDCHAR +STARTCHAR U_6CB0 +ENCODING 27824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2200 +8200 +5400 +27E0 +2C20 +5420 +C420 +4420 +47E0 +4420 +ENDCHAR +STARTCHAR U_6CB1 +ENCODING 27825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +5820 +1400 +24C0 +2700 +C400 +4420 +4420 +43E0 +ENDCHAR +STARTCHAR U_6CB2 +ENCODING 27826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +2FE0 +9000 +6200 +2BC0 +2E40 +3A40 +CAC0 +4A00 +4820 +47E0 +ENDCHAR +STARTCHAR U_6CB3 +ENCODING 27827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2040 +8040 +4F40 +0940 +2940 +2F40 +C040 +4040 +4140 +4080 +ENDCHAR +STARTCHAR U_6CB4 +ENCODING 27828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +8500 +4880 +3260 +2500 +4A40 +C480 +4100 +4200 +4C00 +ENDCHAR +STARTCHAR U_6CB5 +ENCODING 27829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +0FE0 +8820 +5100 +2100 +4940 +D120 +4120 +4500 +4200 +ENDCHAR +STARTCHAR U_6CB6 +ENCODING 27830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2000 +8000 +5FE0 +1100 +2580 +2540 +C920 +5120 +4100 +4300 +ENDCHAR +STARTCHAR U_6CB7 +ENCODING 27831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2240 +8FE0 +5200 +13C0 +2240 +2640 +C580 +4980 +5240 +6420 +ENDCHAR +STARTCHAR U_6CB8 +ENCODING 27832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2500 +9FC0 +4540 +3FC0 +5500 +5FE0 +C520 +4520 +49C0 +5100 +ENDCHAR +STARTCHAR U_6CB9 +ENCODING 27833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8FE0 +4920 +1920 +2920 +2FE0 +C920 +4920 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6CBA +ENCODING 27834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +8920 +4920 +1FE0 +2920 +2920 +C920 +4920 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6CBB +ENCODING 27835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8200 +5440 +3FE0 +2020 +C7C0 +4440 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6CBC +ENCODING 27836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2220 +8220 +5420 +18C0 +2000 +27E0 +C420 +4420 +47E0 +4420 +ENDCHAR +STARTCHAR U_6CBD +ENCODING 27837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +9FE0 +4200 +1200 +2FC0 +2840 +C840 +4840 +4FC0 +4840 +ENDCHAR +STARTCHAR U_6CBE +ENCODING 27838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +83E0 +5200 +1200 +2FC0 +2840 +C840 +4840 +4FC0 +4840 +ENDCHAR +STARTCHAR U_6CBF +ENCODING 27839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2480 +8480 +5480 +1860 +2000 +2FC0 +C840 +4840 +4840 +4FC0 +ENDCHAR +STARTCHAR U_6CC0 +ENCODING 27840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +87A0 +5020 +1720 +2520 +2520 +C720 +4020 +40A0 +4040 +ENDCHAR +STARTCHAR U_6CC1 +ENCODING 27841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +8840 +5840 +1FC0 +2500 +2500 +C500 +4920 +4920 +50E0 +ENDCHAR +STARTCHAR U_6CC2 +ENCODING 27842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8820 +4BA0 +1AA0 +2AA0 +2BA0 +C820 +4820 +4820 +4860 +ENDCHAR +STARTCHAR U_6CC3 +ENCODING 27843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +87E0 +4820 +17A0 +24A0 +24A0 +C7A0 +4020 +4020 +40C0 +ENDCHAR +STARTCHAR U_6CC4 +ENCODING 27844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2540 +8540 +5FE0 +1540 +2540 +2540 +C5C0 +4400 +4400 +47E0 +ENDCHAR +STARTCHAR U_6CC5 +ENCODING 27845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8920 +4920 +1920 +2920 +2AA0 +CC60 +4820 +4820 +4FE0 +ENDCHAR +STARTCHAR U_6CC6 +ENCODING 27846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +87C0 +5900 +1100 +2FE0 +2100 +C100 +4280 +4440 +4820 +ENDCHAR +STARTCHAR U_6CC7 +ENCODING 27847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +2800 +9EE0 +4AA0 +1AA0 +2AA0 +2AA0 +CAA0 +4AA0 +5AE0 +64A0 +ENDCHAR +STARTCHAR U_6CC8 +ENCODING 27848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27C0 +0C80 +D500 +2300 +2480 +5A60 +C100 +4280 +4100 +4080 +ENDCHAR +STARTCHAR U_6CC9 +ENCODING 27849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +2080 +3F80 +2080 +3F80 +04C0 +7700 +1500 +2480 +CC60 +ENDCHAR +STARTCHAR U_6CCA +ENCODING 27850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2200 +87E0 +5420 +1420 +27E0 +2420 +C420 +4420 +47E0 +4420 +ENDCHAR +STARTCHAR U_6CCB +ENCODING 27851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +0200 +8A80 +6880 +3FE0 +4880 +C880 +4880 +4880 +5080 +ENDCHAR +STARTCHAR U_6CCC +ENCODING 27852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +20A0 +8220 +5240 +1240 +2AA0 +2AA0 +D300 +4220 +4620 +49E0 +ENDCHAR +STARTCHAR U_6CCD +ENCODING 27853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8FE0 +5100 +1380 +2380 +2540 +C920 +57E0 +4100 +4100 +ENDCHAR +STARTCHAR U_6CCE +ENCODING 27854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +07E0 +8A00 +53C0 +2200 +2200 +C3E0 +4200 +4200 +4200 +ENDCHAR +STARTCHAR U_6CCF +ENCODING 27855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2920 +8920 +4920 +0920 +2FE0 +2100 +C920 +4920 +4920 +4FE0 +ENDCHAR +STARTCHAR U_6CD0 +ENCODING 27856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E80 +2A80 +8BE0 +5CA0 +1AA0 +2AA0 +2AA0 +CEA0 +48A0 +4920 +4AC0 +ENDCHAR +STARTCHAR U_6CD1 +ENCODING 27857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +89E0 +5AA0 +1EA0 +24A0 +24A0 +CAA0 +5F20 +41A0 +4240 +ENDCHAR +STARTCHAR U_6CD2 +ENCODING 27858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +2F80 +8A80 +5A80 +1A80 +2A80 +2A80 +CA40 +4AC0 +52A0 +5360 +ENDCHAR +STARTCHAR U_6CD3 +ENCODING 27859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E40 +2240 +8240 +4E40 +0840 +2E80 +2280 +C2A0 +4320 +4BE0 +4420 +ENDCHAR +STARTCHAR U_6CD4 +ENCODING 27860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2440 +8FE0 +5440 +1440 +2440 +27C0 +C440 +4440 +4440 +47C0 +ENDCHAR +STARTCHAR U_6CD5 +ENCODING 27861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +07C0 +8100 +4100 +0FE0 +2100 +C200 +4440 +4FA0 +4420 +ENDCHAR +STARTCHAR U_6CD6 +ENCODING 27862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2CE0 +8AA0 +4AA0 +1AA0 +2AA0 +2AA0 +CEE0 +4280 +4480 +4880 +ENDCHAR +STARTCHAR U_6CD7 +ENCODING 27863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +8AA0 +5AA0 +1AA0 +2AA0 +2AE0 +CC20 +4820 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6CD8 +ENCODING 27864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2E00 +0200 +9240 +4A80 +3FE0 +4200 +C200 +4200 +4A00 +4400 +ENDCHAR +STARTCHAR U_6CD9 +ENCODING 27865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +8920 +4540 +0100 +3FE0 +2100 +C100 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6CDA +ENCODING 27866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +8A80 +4BA0 +1AC0 +2A80 +2A80 +CA80 +4AA0 +4BA0 +5C60 +ENDCHAR +STARTCHAR U_6CDB +ENCODING 27867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +2F00 +8200 +5100 +1FE0 +2080 +2100 +C200 +4400 +4A00 +51E0 +ENDCHAR +STARTCHAR U_6CDC +ENCODING 27868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F00 +8900 +4900 +1FE0 +2900 +2900 +C880 +4AA0 +4D60 +4920 +ENDCHAR +STARTCHAR U_6CDD +ENCODING 27869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +8400 +47E0 +1480 +2480 +24C0 +C4A0 +4880 +4880 +5080 +ENDCHAR +STARTCHAR U_6CDE +ENCODING 27870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +4820 +2000 +4FE0 +4100 +C100 +4100 +4100 +4300 +ENDCHAR +STARTCHAR U_6CDF +ENCODING 27871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +8100 +4100 +29E0 +2900 +4900 +C900 +4900 +4900 +5FE0 +ENDCHAR +STARTCHAR U_6CE0 +ENCODING 27872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8280 +4440 +1920 +2080 +2FE0 +C040 +4280 +4100 +4080 +ENDCHAR +STARTCHAR U_6CE1 +ENCODING 27873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +2800 +8FC0 +5040 +2F40 +2940 +2F40 +C8C0 +4820 +4820 +47E0 +ENDCHAR +STARTCHAR U_6CE2 +ENCODING 27874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8FE0 +4920 +1900 +2FC0 +2840 +CA80 +4900 +5280 +6C60 +ENDCHAR +STARTCHAR U_6CE3 +ENCODING 27875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +4000 +2080 +2880 +2480 +C480 +4500 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6CE4 +ENCODING 27876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2880 +0C80 +8A80 +4880 +2A80 +4C80 +C980 +4140 +4240 +4C20 +ENDCHAR +STARTCHAR U_6CE5 +ENCODING 27877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8820 +4FE0 +1800 +2A00 +2A60 +CB80 +5220 +5220 +61E0 +ENDCHAR +STARTCHAR U_6CE6 +ENCODING 27878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +0FC0 +8800 +5A00 +2F80 +2A80 +CAA0 +52A0 +54A0 +6860 +ENDCHAR +STARTCHAR U_6CE7 +ENCODING 27879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2120 +8FE0 +5900 +1920 +2920 +2940 +CA80 +4CA0 +4960 +4220 +ENDCHAR +STARTCHAR U_6CE8 +ENCODING 27880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +5100 +1100 +2100 +27C0 +C100 +4100 +4100 +4FE0 +ENDCHAR +STARTCHAR U_6CE9 +ENCODING 27881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +87E0 +5900 +1100 +2100 +27C0 +C100 +4100 +4100 +4FE0 +ENDCHAR +STARTCHAR U_6CEA +ENCODING 27882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +8420 +57E0 +1420 +2420 +27E0 +C420 +4420 +47E0 +4420 +ENDCHAR +STARTCHAR U_6CEB +ENCODING 27883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +5100 +1200 +2440 +2F80 +C100 +4240 +4420 +4FE0 +ENDCHAR +STARTCHAR U_6CEC +ENCODING 27884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +4820 +2080 +2280 +2280 +C440 +4440 +4820 +5020 +ENDCHAR +STARTCHAR U_6CED +ENCODING 27885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2440 +8840 +4BE0 +3840 +2A40 +2940 +C940 +4840 +4940 +4880 +ENDCHAR +STARTCHAR U_6CEE +ENCODING 27886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2920 +8540 +5100 +17C0 +2100 +2100 +CFE0 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6CEF +ENCODING 27887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8820 +4FE0 +1900 +2FE0 +2900 +C900 +48A0 +4AA0 +4C60 +ENDCHAR +STARTCHAR U_6CF0 +ENCODING 27888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +0800 +FFE0 +2480 +5540 +8E20 +1500 +6CC0 +ENDCHAR +STARTCHAR U_6CF1 +ENCODING 27889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8FC0 +4940 +2940 +2940 +3FE0 +C100 +4280 +4440 +5820 +ENDCHAR +STARTCHAR U_6CF2 +ENCODING 27890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +21E0 +8F00 +4900 +1900 +2FE0 +2320 +C520 +4960 +5100 +4100 +ENDCHAR +STARTCHAR U_6CF3 +ENCODING 27891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8600 +4240 +3A80 +2B00 +4A80 +D240 +6220 +4200 +4600 +ENDCHAR +STARTCHAR U_6CF4 +ENCODING 27892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +7500 +1600 +2500 +C4C0 +0C00 +0000 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_6CF5 +ENCODING 27893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +1F80 +3080 +DF80 +0480 +7500 +1600 +2500 +C4E0 +0C00 +ENDCHAR +STARTCHAR U_6CF6 +ENCODING 27894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +1500 +FFE0 +8420 +0400 +7440 +1680 +1500 +2480 +5460 +8820 +ENDCHAR +STARTCHAR U_6CF7 +ENCODING 27895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2440 +8FE0 +5500 +1500 +2540 +2540 +C980 +4920 +5320 +64E0 +ENDCHAR +STARTCHAR U_6CF8 +ENCODING 27896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +21E0 +8100 +5FE0 +1820 +2FE0 +2800 +C800 +4800 +5000 +6000 +ENDCHAR +STARTCHAR U_6CF9 +ENCODING 27897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +8440 +4440 +17C0 +2440 +2440 +C7C0 +4000 +4000 +4FE0 +ENDCHAR +STARTCHAR U_6CFA +ENCODING 27898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F00 +8900 +5900 +1FE0 +2100 +2100 +C940 +4920 +5120 +4300 +ENDCHAR +STARTCHAR U_6CFB +ENCODING 27899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8400 +57E0 +1400 +27E0 +2020 +DFA0 +4020 +40A0 +4040 +ENDCHAR +STARTCHAR U_6CFC +ENCODING 27900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2A80 +8A40 +5FE0 +1200 +27C0 +2440 +CA80 +4900 +5280 +6C60 +ENDCHAR +STARTCHAR U_6CFD +ENCODING 27901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2480 +0300 +8480 +5A60 +2200 +4FC0 +C200 +5FE0 +4200 +4200 +ENDCHAR +STARTCHAR U_6CFE +ENCODING 27902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2080 +8100 +5280 +1440 +2820 +27C0 +C100 +4100 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6CFF +ENCODING 27903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +0FC0 +8840 +5FC0 +2C00 +2A40 +C980 +4880 +4A40 +4C20 +ENDCHAR +STARTCHAR U_6D00 +ENCODING 27904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27C0 +8440 +4640 +1540 +2FE0 +4640 +C540 +4440 +4840 +50C0 +ENDCHAR +STARTCHAR U_6D01 +ENCODING 27905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8100 +5100 +17C0 +2000 +27C0 +C440 +4440 +4440 +47C0 +ENDCHAR +STARTCHAR U_6D02 +ENCODING 27906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +0FE0 +8280 +5280 +2AC0 +2AA0 +D2A0 +4480 +4A80 +5100 +ENDCHAR +STARTCHAR U_6D03 +ENCODING 27907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +8FE0 +5400 +1500 +2520 +2B40 +C900 +5280 +6440 +4820 +ENDCHAR +STARTCHAR U_6D04 +ENCODING 27908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8820 +5BA0 +1AA0 +2AA0 +2BA0 +C820 +4820 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6D05 +ENCODING 27909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2200 +8FC0 +4A40 +0FC0 +2A40 +4A40 +DFE0 +4840 +4840 +48C0 +ENDCHAR +STARTCHAR U_6D06 +ENCODING 27910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9F80 +4100 +0200 +8240 +5B80 +0A80 +2A80 +D240 +6620 +4000 +5FE0 +ENDCHAR +STARTCHAR U_6D07 +ENCODING 27911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +8920 +5FE0 +1920 +2920 +2AA0 +CC60 +4820 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6D08 +ENCODING 27912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2780 +8900 +4FE0 +1800 +2BC0 +2A40 +CA40 +4AC0 +5220 +63E0 +ENDCHAR +STARTCHAR U_6D09 +ENCODING 27913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2E00 +8800 +4FE0 +1800 +2800 +2BE0 +CA20 +5220 +5220 +63E0 +ENDCHAR +STARTCHAR U_6D0A +ENCODING 27914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3FE0 +8400 +4BE0 +1840 +2880 +2FE0 +C880 +4880 +4880 +4980 +ENDCHAR +STARTCHAR U_6D0B +ENCODING 27915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +8FE0 +4100 +1100 +27C0 +2100 +C100 +4FE0 +4100 +4100 +ENDCHAR +STARTCHAR U_6D0C +ENCODING 27916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F20 +2420 +84A0 +47A0 +09A0 +35A0 +22A0 +C2A0 +44A0 +4820 +5060 +ENDCHAR +STARTCHAR U_6D0D +ENCODING 27917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2900 +8900 +4BC0 +1A40 +2A40 +2BC0 +C900 +4900 +4900 +4FE0 +ENDCHAR +STARTCHAR U_6D0E +ENCODING 27918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2200 +87E0 +5420 +17E0 +2420 +2420 +C7E0 +4420 +4420 +47E0 +ENDCHAR +STARTCHAR U_6D0F +ENCODING 27919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +8200 +5FE0 +1AA0 +2AA0 +2AA0 +CAA0 +4AA0 +4AA0 +4860 +ENDCHAR +STARTCHAR U_6D10 +ENCODING 27920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +2800 +9400 +45E0 +0840 +3840 +2840 +C840 +4840 +4940 +4880 +ENDCHAR +STARTCHAR U_6D11 +ENCODING 27921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2540 +8920 +5FE0 +1900 +2900 +2900 +C980 +4A80 +4A40 +4C20 +ENDCHAR +STARTCHAR U_6D12 +ENCODING 27922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +8280 +5FE0 +1AA0 +2AA0 +2AE0 +CC20 +4820 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6D13 +ENCODING 27923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +0200 +8FC0 +5A40 +2A40 +4AC0 +C700 +4A80 +5260 +4200 +ENDCHAR +STARTCHAR U_6D14 +ENCODING 27924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +8200 +5FE0 +2080 +1FE0 +2880 +C480 +4080 +4280 +4100 +ENDCHAR +STARTCHAR U_6D15 +ENCODING 27925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +8880 +5FE0 +2880 +2F80 +4880 +CF80 +4880 +4880 +4980 +ENDCHAR +STARTCHAR U_6D16 +ENCODING 27926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +8FC0 +4000 +1FC0 +2200 +3FE0 +C200 +4500 +4880 +5060 +ENDCHAR +STARTCHAR U_6D17 +ENCODING 27927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +87C0 +4900 +2100 +3FE0 +4280 +C280 +44A0 +48A0 +50E0 +ENDCHAR +STARTCHAR U_6D18 +ENCODING 27928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27A0 +8140 +5FE0 +1200 +27E0 +2A00 +D3E0 +4020 +4020 +40C0 +ENDCHAR +STARTCHAR U_6D19 +ENCODING 27929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2900 +8FC0 +5100 +2100 +3FE0 +2300 +C580 +4940 +5120 +4100 +ENDCHAR +STARTCHAR U_6D1A +ENCODING 27930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27C0 +8C80 +5300 +1CE0 +2100 +3FE0 +C900 +4FE0 +4100 +4100 +ENDCHAR +STARTCHAR U_6D1B +ENCODING 27931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27C0 +8440 +5A80 +1100 +2280 +2FE0 +C440 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6D1C +ENCODING 27932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +2900 +0600 +1980 +F0E0 +1F80 +0400 +75C0 +1600 +2500 +CCE0 +ENDCHAR +STARTCHAR U_6D1D +ENCODING 27933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8820 +5100 +1FE0 +2240 +2440 +C280 +4300 +4480 +5860 +ENDCHAR +STARTCHAR U_6D1E +ENCODING 27934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8820 +5BA0 +1820 +2BA0 +2AA0 +CBA0 +4820 +4820 +4860 +ENDCHAR +STARTCHAR U_6D1F +ENCODING 27935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8100 +5FE0 +1120 +2FE0 +2900 +CFE0 +4120 +4280 +4C60 +ENDCHAR +STARTCHAR U_6D20 +ENCODING 27936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2480 +8FC0 +5100 +1500 +27C0 +2900 +DFE0 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6D21 +ENCODING 27937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +0200 +8FC0 +6200 +2FE0 +4700 +CA80 +7240 +4220 +4200 +ENDCHAR +STARTCHAR U_6D22 +ENCODING 27938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +8940 +5BE0 +1940 +2940 +2BC0 +C900 +4900 +4A00 +4C00 +ENDCHAR +STARTCHAR U_6D23 +ENCODING 27939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5240 +0A40 +8A80 +5FE0 +2200 +2700 +CA80 +5240 +6220 +4200 +ENDCHAR +STARTCHAR U_6D24 +ENCODING 27940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +0500 +8880 +57E0 +2200 +C200 +4F80 +4200 +4200 +5FC0 +ENDCHAR +STARTCHAR U_6D25 +ENCODING 27941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +8240 +5FE0 +1240 +2FC0 +2200 +CFC0 +4200 +5FE0 +4200 +ENDCHAR +STARTCHAR U_6D26 +ENCODING 27942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +4200 +0400 +8FC0 +5840 +2840 +2FC0 +C840 +4840 +4840 +4FC0 +ENDCHAR +STARTCHAR U_6D27 +ENCODING 27943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8200 +57C0 +1440 +2FC0 +3440 +C7C0 +4440 +4440 +44C0 +ENDCHAR +STARTCHAR U_6D28 +ENCODING 27944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +4080 +2440 +2860 +3480 +C300 +4300 +4480 +5860 +ENDCHAR +STARTCHAR U_6D29 +ENCODING 27945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +8A40 +4FC0 +1A40 +2FC0 +2240 +C280 +4120 +46A0 +5860 +ENDCHAR +STARTCHAR U_6D2A +ENCODING 27946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +8480 +5FE0 +0480 +2480 +3FE0 +C000 +4480 +4860 +5020 +ENDCHAR +STARTCHAR U_6D2B +ENCODING 27947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +2200 +8FE0 +5AA0 +1AA0 +2AA0 +2AA0 +CAA0 +4AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_6D2C +ENCODING 27948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +8FC0 +5A40 +1BC0 +2D40 +2B40 +C940 +4940 +5220 +6420 +ENDCHAR +STARTCHAR U_6D2D +ENCODING 27949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +8BE0 +5880 +1880 +29C0 +2880 +C880 +4BE0 +4800 +4FE0 +ENDCHAR +STARTCHAR U_6D2E +ENCODING 27950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +8AA0 +56C0 +1280 +26C0 +2AA0 +C280 +44A0 +48A0 +5060 +ENDCHAR +STARTCHAR U_6D2F +ENCODING 27951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F920 +2120 +FA20 +24C0 +FC00 +0440 +7680 +2500 +4480 +8C60 +ENDCHAR +STARTCHAR U_6D30 +ENCODING 27952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +8800 +5FC0 +1840 +2840 +2FC0 +C800 +4800 +4800 +4FE0 +ENDCHAR +STARTCHAR U_6D31 +ENCODING 27953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2440 +8440 +57C0 +1440 +27C0 +2440 +C5E0 +5E40 +4040 +4040 +ENDCHAR +STARTCHAR U_6D32 +ENCODING 27954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2920 +8920 +5920 +0DA0 +2B60 +2920 +C920 +4920 +4920 +5020 +ENDCHAR +STARTCHAR U_6D33 +ENCODING 27955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +9FE0 +4AA0 +2AA0 +2AA0 +2AA0 +C4A0 +46A0 +4AE0 +5100 +ENDCHAR +STARTCHAR U_6D34 +ENCODING 27956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +8FE0 +5280 +1280 +2FE0 +2280 +C280 +4480 +4880 +5080 +ENDCHAR +STARTCHAR U_6D35 +ENCODING 27957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +8820 +57A0 +14A0 +27A0 +24A0 +C7A0 +44A0 +4120 +40C0 +ENDCHAR +STARTCHAR U_6D36 +ENCODING 27958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +8820 +5520 +1AA0 +2AA0 +2DA0 +C8A0 +4FA0 +4120 +40C0 +ENDCHAR +STARTCHAR U_6D37 +ENCODING 27959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +8200 +5440 +17E0 +2120 +2100 +C7C0 +4100 +4100 +4FE0 +ENDCHAR +STARTCHAR U_6D38 +ENCODING 27960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +8540 +5100 +1FE0 +2280 +2280 +C280 +44A0 +48A0 +5060 +ENDCHAR +STARTCHAR U_6D39 +ENCODING 27961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2000 +8000 +57C0 +1440 +27C0 +2440 +C7C0 +4440 +4000 +5FE0 +ENDCHAR +STARTCHAR U_6D3A +ENCODING 27962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +8440 +5A80 +1100 +2200 +27E0 +CA20 +4220 +43E0 +4220 +ENDCHAR +STARTCHAR U_6D3B +ENCODING 27963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +8100 +5FE0 +1100 +2100 +27C0 +C440 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6D3C +ENCODING 27964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +8100 +5100 +1FE0 +2000 +2100 +C7C0 +4100 +4100 +4FE0 +ENDCHAR +STARTCHAR U_6D3D +ENCODING 27965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +8440 +5820 +1780 +2000 +27C0 +C440 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6D3E +ENCODING 27966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F00 +0860 +8B80 +5A80 +2AA0 +2AC0 +CA80 +4A40 +4A40 +5320 +ENDCHAR +STARTCHAR U_6D3F +ENCODING 27967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8440 +5BA0 +1000 +2FE0 +2200 +C7C0 +4040 +4240 +4180 +ENDCHAR +STARTCHAR U_6D40 +ENCODING 27968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +8FE0 +5AA0 +1AA0 +2FE0 +2AA0 +CAA0 +4AA0 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6D41 +ENCODING 27969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +0400 +8880 +5FC0 +2040 +2A80 +CA80 +4AA0 +4AA0 +5260 +ENDCHAR +STARTCHAR U_6D42 +ENCODING 27970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +87E0 +5100 +1100 +2FE0 +2100 +C280 +4280 +4440 +5820 +ENDCHAR +STARTCHAR U_6D43 +ENCODING 27971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8100 +5920 +1540 +2FE0 +2100 +C100 +4280 +4440 +4820 +ENDCHAR +STARTCHAR U_6D44 +ENCODING 27972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +67C0 +2880 +8FC0 +5140 +2FE0 +4140 +CFC0 +4100 +4100 +4300 +ENDCHAR +STARTCHAR U_6D45 +ENCODING 27973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2240 +8FC0 +5200 +1FE0 +2200 +2240 +C280 +4120 +46A0 +5860 +ENDCHAR +STARTCHAR U_6D46 +ENCODING 27974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +2BE0 +0E40 +3980 +CE00 +0440 +7E80 +1500 +2500 +4480 +8C60 +ENDCHAR +STARTCHAR U_6D47 +ENCODING 27975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4460 +2F80 +8240 +53A0 +1CE0 +2000 +2FE0 +C280 +42A0 +44A0 +5860 +ENDCHAR +STARTCHAR U_6D48 +ENCODING 27976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +21E0 +8100 +57E0 +1420 +2520 +2520 +C520 +4280 +4460 +5820 +ENDCHAR +STARTCHAR U_6D49 +ENCODING 27977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8800 +4BE0 +2880 +ABE0 +6AA0 +2AA0 +2AA0 +CAE0 +4880 +5080 +6080 +ENDCHAR +STARTCHAR U_6D4A +ENCODING 27978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8FE0 +5920 +1920 +2920 +2FE0 +C100 +4140 +41E0 +5E20 +ENDCHAR +STARTCHAR U_6D4B +ENCODING 27979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BE20 +62A0 +2AA0 +AAA0 +6AA0 +2AA0 +2AA0 +C8A0 +5420 +6220 +40E0 +ENDCHAR +STARTCHAR U_6D4C +ENCODING 27980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2540 +0920 +9BE0 +6900 +2920 +4940 +C880 +49A0 +4A60 +4820 +ENDCHAR +STARTCHAR U_6D4D +ENCODING 27981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +8440 +5820 +17C0 +2000 +2FE0 +C200 +4440 +4FA0 +4420 +ENDCHAR +STARTCHAR U_6D4E +ENCODING 27982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8480 +5300 +1480 +2860 +2480 +C480 +4480 +4880 +5080 +ENDCHAR +STARTCHAR U_6D4F +ENCODING 27983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4820 +2420 +9EA0 +42A0 +0AA0 +24A0 +24A0 +CAA0 +5220 +6020 +4060 +ENDCHAR +STARTCHAR U_6D50 +ENCODING 27984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +0440 +9280 +6FE0 +2800 +4800 +C800 +5000 +5000 +6000 +ENDCHAR +STARTCHAR U_6D51 +ENCODING 27985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8200 +5FE0 +1500 +2FE0 +2100 +CFE0 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6D52 +ENCODING 27986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +2500 +81E0 +4280 +3C80 +2BE0 +2880 +CA80 +4C80 +4880 +4080 +ENDCHAR +STARTCHAR U_6D53 +ENCODING 27987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8FE0 +4A20 +1200 +2520 +2540 +CC80 +5440 +4520 +4600 +ENDCHAR +STARTCHAR U_6D54 +ENCODING 27988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2040 +87C0 +4040 +2FC0 +2080 +4FE0 +C880 +4480 +4080 +4180 +ENDCHAR +STARTCHAR U_6D55 +ENCODING 27989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +8840 +4FC0 +0900 +2880 +5240 +D120 +6000 +4200 +4100 +ENDCHAR +STARTCHAR U_6D56 +ENCODING 27990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2E00 +0A40 +8540 +5080 +2FE0 +4480 +C280 +4080 +4280 +4100 +ENDCHAR +STARTCHAR U_6D57 +ENCODING 27991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2240 +8FE0 +5200 +2AC0 +2700 +4A80 +F240 +4220 +4A00 +4400 +ENDCHAR +STARTCHAR U_6D58 +ENCODING 27992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8FE0 +5840 +1B80 +2900 +2FC0 +C900 +4FC0 +5120 +60E0 +ENDCHAR +STARTCHAR U_6D59 +ENCODING 27993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +25C0 +9F00 +5500 +17E0 +2D40 +3540 +C540 +4540 +5640 +4A40 +ENDCHAR +STARTCHAR U_6D5A +ENCODING 27994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2440 +8FA0 +5280 +1440 +2A20 +27C0 +CA80 +4100 +4280 +4C60 +ENDCHAR +STARTCHAR U_6D5B +ENCODING 27995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4500 +0A80 +9260 +6FC0 +2100 +4200 +CFC0 +4840 +4FC0 +4840 +ENDCHAR +STARTCHAR U_6D5C +ENCODING 27996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2780 +8400 +57E0 +1480 +2480 +2480 +CFE0 +4280 +4440 +5820 +ENDCHAR +STARTCHAR U_6D5D +ENCODING 27997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +4440 +1FE0 +8600 +5680 +2740 +4A80 +CB20 +4AC0 +5320 +6DE0 +ENDCHAR +STARTCHAR U_6D5E +ENCODING 27998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +8440 +57C0 +1100 +2100 +25E0 +C500 +4500 +4B00 +51E0 +ENDCHAR +STARTCHAR U_6D5F +ENCODING 27999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +2900 +95E0 +5540 +1740 +3540 +3540 +D540 +5480 +5140 +5220 +ENDCHAR +STARTCHAR U_6D60 +ENCODING 28000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4CC0 +2300 +8CC0 +5200 +1FE0 +2500 +2FE0 +D520 +4520 +4560 +4100 +ENDCHAR +STARTCHAR U_6D61 +ENCODING 28001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8100 +5FE0 +1020 +27C0 +2080 +CFE0 +4100 +4100 +4300 +ENDCHAR +STARTCHAR U_6D62 +ENCODING 28002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2000 +87C0 +5440 +1440 +27C0 +2000 +C440 +4280 +4100 +4FE0 +ENDCHAR +STARTCHAR U_6D63 +ENCODING 28003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8820 +5380 +1000 +2FE0 +2280 +C280 +42A0 +44A0 +4860 +ENDCHAR +STARTCHAR U_6D64 +ENCODING 28004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8820 +5200 +1FE0 +2400 +2500 +C900 +5240 +6240 +47A0 +ENDCHAR +STARTCHAR U_6D65 +ENCODING 28005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +87C0 +5000 +1FE0 +2920 +2FE0 +C800 +4820 +4820 +47E0 +ENDCHAR +STARTCHAR U_6D66 +ENCODING 28006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2120 +8FE0 +5100 +1FE0 +2920 +2FE0 +C920 +4FE0 +4920 +4960 +ENDCHAR +STARTCHAR U_6D67 +ENCODING 28007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +8440 +57C0 +1000 +2FE0 +2100 +C7C0 +4100 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6D68 +ENCODING 28008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8820 +5100 +1FE0 +2100 +2380 +C340 +4540 +4920 +4100 +ENDCHAR +STARTCHAR U_6D69 +ENCODING 28009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2500 +87C0 +5900 +1100 +2FE0 +2000 +C7C0 +4440 +4440 +47C0 +ENDCHAR +STARTCHAR U_6D6A +ENCODING 28010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +8840 +4FC0 +1840 +2FC0 +2A20 +C940 +4980 +4A80 +4C60 +ENDCHAR +STARTCHAR U_6D6B +ENCODING 28011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +5020 +0480 +8840 +4FC0 +2200 +2200 +DFE0 +4200 +4200 +4200 +ENDCHAR +STARTCHAR U_6D6C +ENCODING 28012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +8FE0 +5920 +1FE0 +2920 +2100 +CFE0 +4100 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6D6D +ENCODING 28013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +8FE0 +5920 +1FE0 +2920 +2FE0 +C500 +4200 +4580 +5860 +ENDCHAR +STARTCHAR U_6D6E +ENCODING 28014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F20 +8A20 +5540 +17E0 +2080 +2100 +DFE0 +4100 +4500 +4200 +ENDCHAR +STARTCHAR U_6D6F +ENCODING 28015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +8FC0 +5240 +1240 +2FE0 +2000 +C7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6D70 +ENCODING 28016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +2C20 +84A0 +5FA0 +14A0 +26A0 +2DA0 +D4A0 +6420 +4420 +44E0 +ENDCHAR +STARTCHAR U_6D71 +ENCODING 28017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FC0 +5000 +17C0 +9000 +5FE0 +3520 +5540 +D480 +5480 +6660 +4400 +ENDCHAR +STARTCHAR U_6D72 +ENCODING 28018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8800 +4FC0 +1880 +8700 +5AE0 +2F80 +4200 +CFC0 +4200 +5FE0 +4200 +ENDCHAR +STARTCHAR U_6D73 +ENCODING 28019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +22E0 +0F00 +90A0 +6FE0 +2840 +4FC0 +C840 +4FC0 +4840 +48C0 +ENDCHAR +STARTCHAR U_6D74 +ENCODING 28020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2440 +8920 +5280 +1440 +2820 +37C0 +C440 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6D75 +ENCODING 28021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F20 +2940 +8D80 +4B20 +2940 +3F80 +2920 +C920 +4940 +5180 +6300 +ENDCHAR +STARTCHAR U_6D76 +ENCODING 28022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8820 +5500 +17C0 +2900 +2100 +CFE0 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6D77 +ENCODING 28023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +8800 +57C0 +1540 +2FE0 +2940 +C940 +4FE0 +4040 +4180 +ENDCHAR +STARTCHAR U_6D78 +ENCODING 28024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2040 +87C0 +5040 +1FE0 +2820 +27C0 +C280 +4100 +4280 +4C60 +ENDCHAR +STARTCHAR U_6D79 +ENCODING 28025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8FE0 +4100 +0540 +2540 +2BA0 +C280 +4280 +4440 +4820 +ENDCHAR +STARTCHAR U_6D7A +ENCODING 28026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2880 +8C80 +5BE0 +1AA0 +2AA0 +2BE0 +CAA0 +4880 +4880 +4880 +ENDCHAR +STARTCHAR U_6D7B +ENCODING 28027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +8AA0 +5C60 +1820 +2BA0 +2AA0 +CAA0 +4BA0 +4820 +48E0 +ENDCHAR +STARTCHAR U_6D7C +ENCODING 28028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27C0 +8880 +5FC0 +0A40 +2A40 +2FC0 +C300 +4520 +4920 +50E0 +ENDCHAR +STARTCHAR U_6D7D +ENCODING 28029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +2F80 +8920 +54A0 +1140 +2100 +2FE0 +C440 +4280 +4140 +4E20 +ENDCHAR +STARTCHAR U_6D7E +ENCODING 28030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +87C0 +5100 +1FE0 +2280 +2AC0 +CAA0 +52A0 +4480 +4980 +ENDCHAR +STARTCHAR U_6D7F +ENCODING 28031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +87C0 +5440 +1440 +27C0 +2440 +C7C0 +4280 +4440 +4820 +ENDCHAR +STARTCHAR U_6D80 +ENCODING 28032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +8FC0 +5840 +1FC0 +2840 +2FC0 +C280 +42A0 +44A0 +4860 +ENDCHAR +STARTCHAR U_6D81 +ENCODING 28033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2440 +9E80 +4540 +2C40 +2E80 +5520 +E420 +4440 +4480 +4500 +ENDCHAR +STARTCHAR U_6D82 +ENCODING 28034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +8440 +5BA0 +1100 +2FE0 +2100 +C580 +4940 +5120 +4300 +ENDCHAR +STARTCHAR U_6D83 +ENCODING 28035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +8920 +5FE0 +1920 +2BA0 +2D60 +C920 +4920 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6D84 +ENCODING 28036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +8540 +57C0 +1540 +2FE0 +2200 +C7C0 +4040 +4240 +4180 +ENDCHAR +STARTCHAR U_6D85 +ENCODING 28037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +87C0 +5440 +17C0 +2000 +2100 +C7C0 +4100 +4100 +4FE0 +ENDCHAR +STARTCHAR U_6D86 +ENCODING 28038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +2E40 +8A40 +5A40 +1FE0 +2A40 +2A40 +CA40 +4E40 +4A40 +4040 +ENDCHAR +STARTCHAR U_6D87 +ENCODING 28039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2540 +8540 +5A80 +1540 +2540 +2FE0 +C100 +4100 +4100 +4FE0 +ENDCHAR +STARTCHAR U_6D88 +ENCODING 28040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +8100 +57E0 +1420 +27E0 +2420 +C7E0 +4420 +4420 +4460 +ENDCHAR +STARTCHAR U_6D89 +ENCODING 28041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +85E0 +5500 +1FE0 +2100 +2520 +C940 +5080 +4100 +4E00 +ENDCHAR +STARTCHAR U_6D8A +ENCODING 28042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2120 +8520 +5520 +1B20 +24C0 +2100 +CAC0 +4A20 +5260 +43C0 +ENDCHAR +STARTCHAR U_6D8B +ENCODING 28043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8820 +5180 +1140 +2FE0 +2100 +C100 +4280 +4440 +5820 +ENDCHAR +STARTCHAR U_6D8C +ENCODING 28044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2280 +0100 +8FE0 +4920 +1FE0 +2920 +CFE0 +4920 +4920 +4860 +ENDCHAR +STARTCHAR U_6D8D +ENCODING 28045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FA0 +8140 +5FE0 +1100 +2FE0 +2480 +CFE0 +4100 +4500 +4200 +ENDCHAR +STARTCHAR U_6D8E +ENCODING 28046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C20 +25C0 +8440 +4960 +1D40 +2540 +2540 +D5E0 +4800 +5600 +61E0 +ENDCHAR +STARTCHAR U_6D8F +ENCODING 28047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8060 +5D80 +0480 +8880 +5FE0 +2480 +4480 +DBE0 +4C00 +4A00 +51E0 +ENDCHAR +STARTCHAR U_6D90 +ENCODING 28048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2CC0 +84A0 +5FE0 +1480 +26A0 +2CA0 +D4A0 +4440 +44A0 +4D20 +ENDCHAR +STARTCHAR U_6D91 +ENCODING 28049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8100 +5FE0 +1920 +2FE0 +2100 +C380 +4540 +4920 +5120 +ENDCHAR +STARTCHAR U_6D92 +ENCODING 28050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2240 +8FE0 +5240 +1FC0 +2200 +27C0 +CC40 +5440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6D93 +ENCODING 28051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +87C0 +5000 +1FE0 +2820 +2FE0 +C820 +4FE0 +4820 +48E0 +ENDCHAR +STARTCHAR U_6D94 +ENCODING 28052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2920 +8FE0 +5100 +1280 +2540 +28A0 +CFC0 +4040 +4080 +4100 +ENDCHAR +STARTCHAR U_6D95 +ENCODING 28053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +8FC0 +5140 +1FC0 +2900 +2FE0 +C320 +4520 +4940 +5100 +ENDCHAR +STARTCHAR U_6D96 +ENCODING 28054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +4880 +17E0 +B000 +5440 +3240 +5240 +D280 +5080 +5FE0 +5000 +ENDCHAR +STARTCHAR U_6D97 +ENCODING 28055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +8840 +57E0 +1440 +2440 +27C0 +C280 +42A0 +44A0 +5860 +ENDCHAR +STARTCHAR U_6D98 +ENCODING 28056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2440 +8FA0 +5400 +17E0 +2900 +2FE0 +C100 +4280 +4440 +4820 +ENDCHAR +STARTCHAR U_6D99 +ENCODING 28057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +8840 +5FC0 +2900 +2FE0 +4900 +C900 +5280 +5460 +6840 +ENDCHAR +STARTCHAR U_6D9A +ENCODING 28058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2500 +8FC0 +5840 +2840 +2FC0 +4500 +C520 +4520 +4920 +50E0 +ENDCHAR +STARTCHAR U_6D9B +ENCODING 28059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +8200 +5FC0 +1200 +2FE0 +2440 +C7E0 +4A40 +5140 +4080 +ENDCHAR +STARTCHAR U_6D9C +ENCODING 28060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8100 +47C0 +2000 +3FE0 +5020 +C480 +44A0 +48A0 +5060 +ENDCHAR +STARTCHAR U_6D9D +ENCODING 28061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +8280 +5FE0 +1820 +2200 +2FC0 +C240 +4240 +4540 +5880 +ENDCHAR +STARTCHAR U_6D9E +ENCODING 28062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8920 +5540 +1380 +2FE0 +2100 +C380 +4540 +4920 +5120 +ENDCHAR +STARTCHAR U_6D9F +ENCODING 28063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +2BE0 +8900 +5280 +17E0 +3880 +2BE0 +C880 +4880 +5400 +63E0 +ENDCHAR +STARTCHAR U_6DA0 +ENCODING 28064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +8FE0 +5920 +1FA0 +2920 +2FE0 +C960 +49A0 +4920 +4FE0 +ENDCHAR +STARTCHAR U_6DA1 +ENCODING 28065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +8440 +57C0 +1100 +2FE0 +2920 +CAA0 +4C60 +4820 +48E0 +ENDCHAR +STARTCHAR U_6DA2 +ENCODING 28066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +8FC0 +5000 +2FC0 +2840 +4940 +C940 +4280 +4460 +5820 +ENDCHAR +STARTCHAR U_6DA3 +ENCODING 28067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23C0 +8480 +57C0 +1D40 +2540 +2540 +DFE0 +4280 +4440 +4820 +ENDCHAR +STARTCHAR U_6DA4 +ENCODING 28068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27C0 +8A40 +5180 +1E60 +2100 +2FE0 +C100 +4540 +4920 +5320 +ENDCHAR +STARTCHAR U_6DA5 +ENCODING 28069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0000 +87C0 +5440 +27C0 +2000 +CFC0 +4080 +4100 +4300 +ENDCHAR +STARTCHAR U_6DA6 +ENCODING 28070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +2220 +8820 +5BA0 +1920 +2BA0 +2920 +C920 +4FE0 +4820 +48E0 +ENDCHAR +STARTCHAR U_6DA7 +ENCODING 28071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +2220 +8820 +5BA0 +1AA0 +2BA0 +2AA0 +CBA0 +4AA0 +4820 +48E0 +ENDCHAR +STARTCHAR U_6DA8 +ENCODING 28072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5D00 +2520 +8540 +5D80 +1100 +33E0 +5D80 +C540 +4540 +45A0 +5920 +ENDCHAR +STARTCHAR U_6DA9 +ENCODING 28073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2120 +8520 +5520 +12A0 +2C40 +2100 +C5C0 +4500 +4500 +5FE0 +ENDCHAR +STARTCHAR U_6DAA +ENCODING 28074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8440 +5280 +1FE0 +2000 +27C0 +C440 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6DAB +ENCODING 28075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8820 +57C0 +1440 +27C0 +2400 +C7E0 +4420 +47E0 +4420 +ENDCHAR +STARTCHAR U_6DAC +ENCODING 28076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +8100 +5FE0 +1440 +2280 +2FE0 +C100 +4FE0 +4100 +4100 +ENDCHAR +STARTCHAR U_6DAD +ENCODING 28077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +81C0 +5E40 +0A80 +9FE0 +5020 +2FC0 +4440 +C280 +4100 +4680 +5860 +ENDCHAR +STARTCHAR U_6DAE +ENCODING 28078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F20 +31A0 +9FA0 +54A0 +14A0 +3FA0 +34A0 +D4A0 +55A0 +5420 +64E0 +ENDCHAR +STARTCHAR U_6DAF +ENCODING 28079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +8880 +5BE0 +1880 +2FE0 +2880 +CBE0 +4880 +5080 +6FE0 +ENDCHAR +STARTCHAR U_6DB0 +ENCODING 28080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2EE0 +0AA0 +8440 +6AA0 +2000 +4EE0 +CAA0 +4440 +4AA0 +5120 +ENDCHAR +STARTCHAR U_6DB1 +ENCODING 28081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2400 +2780 +8400 +5780 +2400 +7FE0 +C520 +4540 +4480 +4660 +ENDCHAR +STARTCHAR U_6DB2 +ENCODING 28082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8280 +52E0 +1520 +2DA0 +3640 +C540 +4480 +4540 +4620 +ENDCHAR +STARTCHAR U_6DB3 +ENCODING 28083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8820 +5280 +1440 +2820 +27C0 +C100 +4100 +4100 +4FE0 +ENDCHAR +STARTCHAR U_6DB4 +ENCODING 28084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8820 +5400 +1EE0 +2AA0 +36A0 +C2C0 +44A0 +44A0 +5860 +ENDCHAR +STARTCHAR U_6DB5 +ENCODING 28085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2040 +8080 +5100 +1D60 +2BA0 +2B20 +CDA0 +4960 +4A20 +4FE0 +ENDCHAR +STARTCHAR U_6DB6 +ENCODING 28086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2E00 +8200 +5FE0 +2A40 +3FE0 +4A40 +CA40 +5FE0 +4200 +4FC0 +ENDCHAR +STARTCHAR U_6DB7 +ENCODING 28087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8100 +57C0 +1540 +27C0 +2540 +C7C0 +4100 +4780 +5960 +ENDCHAR +STARTCHAR U_6DB8 +ENCODING 28088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8920 +5FE0 +1920 +2BA0 +2AA0 +CBA0 +4820 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6DB9 +ENCODING 28089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +4200 +1FE0 +8680 +5A60 +2200 +5FE0 +C480 +4900 +4700 +58C0 +ENDCHAR +STARTCHAR U_6DBA +ENCODING 28090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8FE0 +5880 +1FE0 +2880 +2BE0 +CA20 +4A20 +53E0 +6220 +ENDCHAR +STARTCHAR U_6DBB +ENCODING 28091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +8440 +5BA0 +1100 +2FE0 +2100 +C7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6DBC +ENCODING 28092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +8FE0 +5000 +17C0 +2440 +27C0 +C100 +4540 +4920 +5320 +ENDCHAR +STARTCHAR U_6DBD +ENCODING 28093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2F80 +8900 +5FE0 +1880 +2E60 +27C0 +C440 +47C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_6DBE +ENCODING 28094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4120 +2F40 +8380 +5540 +1920 +2300 +2FC0 +C840 +4FC0 +4840 +4FC0 +ENDCHAR +STARTCHAR U_6DBF +ENCODING 28095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2200 +8620 +5940 +1680 +24C0 +2BA0 +D2A0 +44A0 +5C80 +4300 +ENDCHAR +STARTCHAR U_6DC0 +ENCODING 28096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8820 +5000 +1FE0 +2100 +25E0 +C500 +4500 +4B00 +51E0 +ENDCHAR +STARTCHAR U_6DC1 +ENCODING 28097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +0880 +8500 +5FE0 +2200 +5FE0 +C480 +4D00 +4300 +5CC0 +ENDCHAR +STARTCHAR U_6DC2 +ENCODING 28098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +87C0 +5440 +17C0 +2000 +27E0 +C080 +5FE0 +4880 +4580 +ENDCHAR +STARTCHAR U_6DC3 +ENCODING 28099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9240 +4A80 +1FC0 +8200 +5FE0 +2480 +4FE0 +D480 +45A0 +4420 +43E0 +ENDCHAR +STARTCHAR U_6DC4 +ENCODING 28100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2540 +8A80 +5A80 +1540 +2540 +2FE0 +C920 +4FE0 +4920 +4FE0 +ENDCHAR +STARTCHAR U_6DC5 +ENCODING 28101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +25C0 +8500 +5F00 +15E0 +2740 +2D40 +D540 +4540 +4540 +4640 +ENDCHAR +STARTCHAR U_6DC6 +ENCODING 28102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +46C0 +2100 +86C0 +5FE0 +1200 +27C0 +2C40 +D7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6DC7 +ENCODING 28103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3FE0 +8480 +5780 +1480 +2780 +2480 +DFE0 +4480 +4860 +5020 +ENDCHAR +STARTCHAR U_6DC8 +ENCODING 28104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8FE0 +5880 +1AA0 +2AA0 +2BE0 +C880 +4AA0 +52A0 +73E0 +ENDCHAR +STARTCHAR U_6DC9 +ENCODING 28105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +8FE0 +5920 +1FE0 +2100 +2FE0 +C380 +4540 +4920 +5120 +ENDCHAR +STARTCHAR U_6DCA +ENCODING 28106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23C0 +8440 +5880 +1200 +2CE0 +2820 +CEE0 +4820 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6DCB +ENCODING 28107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2880 +9FE0 +4880 +2880 +3DC0 +2AA0 +CAA0 +4880 +4880 +4880 +ENDCHAR +STARTCHAR U_6DCC +ENCODING 28108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +8100 +5FE0 +1820 +2BA0 +2AA0 +CBA0 +4AA0 +4820 +48E0 +ENDCHAR +STARTCHAR U_6DCD +ENCODING 28109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +8BA0 +5920 +1FE0 +2820 +2BA0 +CAA0 +4BA0 +5020 +60E0 +ENDCHAR +STARTCHAR U_6DCE +ENCODING 28110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +0200 +9FC0 +6400 +3FE0 +4A80 +D7C0 +6220 +5FC0 +4200 +ENDCHAR +STARTCHAR U_6DCF +ENCODING 28111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +87C0 +5440 +17C0 +2000 +2FE0 +C100 +4FE0 +4280 +5C60 +ENDCHAR +STARTCHAR U_6DD0 +ENCODING 28112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +9440 +57C0 +2000 +2FE0 +C820 +4FE0 +4820 +4FE0 +ENDCHAR +STARTCHAR U_6DD1 +ENCODING 28113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +24E0 +07A0 +94A0 +5FA0 +24A0 +2EA0 +D5A0 +6540 +44A0 +4D20 +ENDCHAR +STARTCHAR U_6DD2 +ENCODING 28114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0140 +9FE0 +5140 +27C0 +2100 +DFE0 +4480 +4380 +4E60 +ENDCHAR +STARTCHAR U_6DD3 +ENCODING 28115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2FE0 +0240 +9100 +5FE0 +2200 +23C0 +C240 +4240 +4540 +5880 +ENDCHAR +STARTCHAR U_6DD4 +ENCODING 28116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +97C0 +5440 +27C0 +2440 +C740 +45C0 +4440 +5FE0 +ENDCHAR +STARTCHAR U_6DD5 +ENCODING 28117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0100 +9FE0 +5480 +2440 +2920 +D100 +47C0 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6DD6 +ENCODING 28118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +21E0 +0100 +97C0 +5440 +27C0 +2440 +C7C0 +4100 +4FE0 +4100 +ENDCHAR +STARTCHAR U_6DD7 +ENCODING 28119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +0A20 +8A60 +56A0 +22A0 +2FE0 +C320 +46A0 +4A60 +52C0 +ENDCHAR +STARTCHAR U_6DD8 +ENCODING 28120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +0C20 +97A0 +5A20 +2FE0 +2220 +CAA0 +4FA0 +4020 +40C0 +ENDCHAR +STARTCHAR U_6DD9 +ENCODING 28121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0820 +97C0 +5000 +2FE0 +2100 +C540 +4540 +4920 +5320 +ENDCHAR +STARTCHAR U_6DDA +ENCODING 28122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0820 +8FE0 +5940 +2920 +2FE0 +C900 +4980 +5260 +6C20 +ENDCHAR +STARTCHAR U_6DDB +ENCODING 28123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +34A0 +1EA0 +94A0 +5FA0 +24A0 +3FA0 +D5A0 +5520 +5720 +4460 +ENDCHAR +STARTCHAR U_6DDC +ENCODING 28124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +0AA0 +9EE0 +5AA0 +2AA0 +2EE0 +CAA0 +4AA0 +52A0 +6760 +ENDCHAR +STARTCHAR U_6DDD +ENCODING 28125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +32A0 +1EA0 +92A0 +53E0 +3E00 +3200 +D200 +5220 +5220 +6DE0 +ENDCHAR +STARTCHAR U_6DDE +ENCODING 28126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2940 +1D40 +8A20 +4AA0 +2C80 +3A80 +C940 +4920 +4FE0 +4A20 +ENDCHAR +STARTCHAR U_6DDF +ENCODING 28127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +0FE0 +9AA0 +5FE0 +2AA0 +2AA0 +DFE0 +4280 +4460 +5820 +ENDCHAR +STARTCHAR U_6DE0 +ENCODING 28128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +0FE0 +8920 +5FE0 +2000 +3FE0 +C240 +4240 +4440 +4840 +ENDCHAR +STARTCHAR U_6DE1 +ENCODING 28129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2540 +0980 +8280 +5440 +2920 +2540 +C580 +4900 +4280 +5C60 +ENDCHAR +STARTCHAR U_6DE2 +ENCODING 28130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +20A0 +0FE0 +9080 +5E80 +2AA0 +2EA0 +C0C0 +46A0 +5960 +4620 +ENDCHAR +STARTCHAR U_6DE3 +ENCODING 28131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2CE0 +0820 +9EE0 +5820 +2FE0 +2280 +C280 +42A0 +44A0 +5860 +ENDCHAR +STARTCHAR U_6DE4 +ENCODING 28132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +2440 +1EA0 +8920 +5E00 +2A80 +2A60 +CA20 +4A80 +5260 +6620 +ENDCHAR +STARTCHAR U_6DE5 +ENCODING 28133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2880 +0F80 +9100 +5FE0 +2920 +2540 +C380 +4540 +5920 +4300 +ENDCHAR +STARTCHAR U_6DE6 +ENCODING 28134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +2480 +0840 +97A0 +5100 +2100 +2FE0 +C100 +4920 +4540 +5FE0 +ENDCHAR +STARTCHAR U_6DE7 +ENCODING 28135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +2FE0 +8820 +5240 +2540 +5480 +D540 +4620 +4C40 +53C0 +ENDCHAR +STARTCHAR U_6DE8 +ENCODING 28136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F40 +0A40 +9480 +5FC0 +2240 +2FE0 +C240 +4FC0 +4200 +4600 +ENDCHAR +STARTCHAR U_6DE9 +ENCODING 28137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0100 +9FE0 +5280 +2440 +2BE0 +C640 +4980 +4240 +4C20 +ENDCHAR +STARTCHAR U_6DEA +ENCODING 28138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +2480 +0840 +97A0 +5000 +2FE0 +2AA0 +CFE0 +4AA0 +4AA0 +4860 +ENDCHAR +STARTCHAR U_6DEB +ENCODING 28139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F20 +0920 +9540 +5060 +2F80 +2100 +DFE0 +4100 +4100 +4FC0 +ENDCHAR +STARTCHAR U_6DEC +ENCODING 28140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0240 +9240 +55A0 +2900 +2100 +CFE0 +4100 +4100 +4100 +ENDCHAR +STARTCHAR U_6DED +ENCODING 28141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0820 +9FE0 +5900 +2FE0 +2900 +CB80 +5540 +5920 +6100 +ENDCHAR +STARTCHAR U_6DEE +ENCODING 28142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2480 +07E0 +9C80 +57E0 +2480 +2480 +C7E0 +4480 +4480 +47E0 +ENDCHAR +STARTCHAR U_6DEF +ENCODING 28143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0240 +97E0 +5000 +27C0 +2440 +C7C0 +4440 +47C0 +44C0 +ENDCHAR +STARTCHAR U_6DF0 +ENCODING 28144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +0640 +9920 +57C0 +2040 +2280 +C500 +5540 +54A0 +63A0 +ENDCHAR +STARTCHAR U_6DF1 +ENCODING 28145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +0480 +8940 +4100 +2FE0 +2100 +C380 +4540 +5920 +4100 +ENDCHAR +STARTCHAR U_6DF2 +ENCODING 28146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2100 +0FE0 +9920 +5FC0 +2920 +2BE0 +CA80 +4A80 +52A0 +6460 +ENDCHAR +STARTCHAR U_6DF3 +ENCODING 28147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0440 +97C0 +5000 +2FC0 +2080 +C100 +5FE0 +4100 +4700 +ENDCHAR +STARTCHAR U_6DF4 +ENCODING 28148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +0AA0 +92A0 +5520 +2A20 +20C0 +D540 +54A0 +6440 +43C0 +ENDCHAR +STARTCHAR U_6DF5 +ENCODING 28149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AA0 +2AA0 +0AA0 +9EE0 +5820 +2FE0 +2820 +CEE0 +4AA0 +4AA0 +52A0 +ENDCHAR +STARTCHAR U_6DF6 +ENCODING 28150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0540 +9540 +5540 +2BA0 +2100 +C380 +4540 +4920 +5120 +ENDCHAR +STARTCHAR U_6DF7 +ENCODING 28151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +0FC0 +8840 +5FC0 +2920 +2940 +CF80 +4920 +4B20 +4CE0 +ENDCHAR +STARTCHAR U_6DF8 +ENCODING 28152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4FC0 +0200 +8FC0 +4200 +3FE0 +4A40 +CA40 +4FC0 +4840 +48C0 +ENDCHAR +STARTCHAR U_6DF9 +ENCODING 28153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +0480 +8A40 +5FA0 +2A80 +2F80 +CA80 +4FA0 +4220 +41E0 +ENDCHAR +STARTCHAR U_6DFA +ENCODING 28154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +0280 +9320 +5DE0 +2480 +23E0 +DE00 +42A0 +4320 +5CE0 +ENDCHAR +STARTCHAR U_6DFB +ENCODING 28155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2200 +0200 +9FE0 +4880 +3260 +2200 +CB40 +4AA0 +52A0 +4600 +ENDCHAR +STARTCHAR U_6DFC +ENCODING 28156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04C0 +7500 +1600 +2580 +CC60 +10A0 +F7A0 +59C0 +56A0 +94A0 +31A0 +ENDCHAR +STARTCHAR U_6DFD +ENCODING 28157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3FE0 +0480 +9480 +5100 +2500 +25C0 +C500 +4500 +4500 +5FE0 +ENDCHAR +STARTCHAR U_6DFE +ENCODING 28158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1F00 +2480 +DF60 +1500 +7FC0 +0400 +7CC0 +1700 +2480 +CC60 +ENDCHAR +STARTCHAR U_6DFF +ENCODING 28159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +8440 +47C0 +1440 +27C0 +4100 +CFE0 +4920 +4960 +4100 +ENDCHAR +STARTCHAR U_6E00 +ENCODING 28160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +0500 +8A80 +77E0 +2200 +4A80 +DFE0 +4880 +4880 +5080 +ENDCHAR +STARTCHAR U_6E01 +ENCODING 28161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5EC0 +0700 +8A80 +5640 +6200 +5EC0 +C700 +4A80 +5260 +4400 +ENDCHAR +STARTCHAR U_6E02 +ENCODING 28162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +4840 +0FC0 +9840 +6FC0 +2100 +5FE0 +C480 +4300 +4480 +5860 +ENDCHAR +STARTCHAR U_6E03 +ENCODING 28163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +0480 +9200 +5FE0 +2200 +27C0 +CC40 +5440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6E04 +ENCODING 28164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +2EE0 +8280 +4EE0 +2280 +4280 +DEE0 +4280 +4280 +4280 +ENDCHAR +STARTCHAR U_6E05 +ENCODING 28165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +97C0 +5100 +2FE0 +2440 +C740 +45C0 +4440 +44C0 +ENDCHAR +STARTCHAR U_6E06 +ENCODING 28166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9120 +4A20 +1FA0 +8AA0 +6AA0 +3FA0 +4AA0 +CAA0 +4A20 +4AA0 +5240 +ENDCHAR +STARTCHAR U_6E07 +ENCODING 28167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +8FC0 +5840 +2FC0 +2400 +CFE0 +5020 +4E20 +4920 +4F40 +ENDCHAR +STARTCHAR U_6E08 +ENCODING 28168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +0480 +8300 +54E0 +2C40 +47C0 +C440 +47C0 +4840 +5040 +ENDCHAR +STARTCHAR U_6E09 +ENCODING 28169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2BC0 +8A00 +5FE0 +2200 +2A40 +4A20 +D280 +4100 +4600 +5800 +ENDCHAR +STARTCHAR U_6E0A +ENCODING 28170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2D60 +0BA0 +9920 +5FE0 +2920 +2BA0 +CD60 +4920 +4920 +5120 +ENDCHAR +STARTCHAR U_6E0B +ENCODING 28171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4100 +05C0 +8500 +5FE0 +2000 +4840 +C480 +4000 +4480 +5840 +ENDCHAR +STARTCHAR U_6E0C +ENCODING 28172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2040 +07C0 +9040 +5FE0 +2920 +2540 +C380 +5D40 +4920 +4720 +ENDCHAR +STARTCHAR U_6E0D +ENCODING 28173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +97C0 +5100 +2FE0 +2440 +C540 +4540 +4280 +5C60 +ENDCHAR +STARTCHAR U_6E0E +ENCODING 28174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0100 +9FE0 +54A0 +2A80 +2480 +CFE0 +4180 +4240 +4C20 +ENDCHAR +STARTCHAR U_6E0F +ENCODING 28175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +0500 +8880 +5FE0 +2040 +4F40 +C940 +4F40 +4040 +40C0 +ENDCHAR +STARTCHAR U_6E10 +ENCODING 28176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4820 +3FC0 +0900 +9500 +55E0 +3F40 +2540 +C740 +5D40 +4540 +4640 +ENDCHAR +STARTCHAR U_6E11 +ENCODING 28177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +9100 +5FE0 +2920 +2FE0 +C920 +4FE0 +4120 +40E0 +ENDCHAR +STARTCHAR U_6E12 +ENCODING 28178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +0940 +8FC0 +5940 +1FC0 +2400 +C900 +5FE0 +4100 +4100 +ENDCHAR +STARTCHAR U_6E13 +ENCODING 28179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2E40 +8A40 +6580 +2200 +2FC0 +4200 +DFE0 +4300 +4480 +5860 +ENDCHAR +STARTCHAR U_6E14 +ENCODING 28180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23C0 +0480 +8FE0 +5920 +2FE0 +2920 +CFE0 +4820 +4000 +5FE0 +ENDCHAR +STARTCHAR U_6E15 +ENCODING 28181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +2A20 +84A0 +4EA0 +04A0 +24A0 +4EA0 +C4A0 +4A20 +4920 +5060 +ENDCHAR +STARTCHAR U_6E16 +ENCODING 28182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0820 +9100 +5FE0 +2920 +2FE0 +C920 +4FE0 +4100 +4100 +ENDCHAR +STARTCHAR U_6E17 +ENCODING 28183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2240 +07C0 +9120 +5FE0 +2940 +36A0 +C100 +4E40 +4180 +4E00 +ENDCHAR +STARTCHAR U_6E18 +ENCODING 28184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8F80 +4500 +0200 +9FE0 +4640 +3A00 +4200 +DFE0 +4700 +5AE0 +4200 +ENDCHAR +STARTCHAR U_6E19 +ENCODING 28185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27C0 +0880 +9FE0 +5AA0 +2C60 +2920 +DFE0 +4100 +4680 +5860 +ENDCHAR +STARTCHAR U_6E1A +ENCODING 28186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FA0 +0240 +9FE0 +5200 +27C0 +2C40 +D7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6E1B +ENCODING 28187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +20A0 +0FE0 +9880 +5E80 +28A0 +2EA0 +CAC0 +4EA0 +5160 +6620 +ENDCHAR +STARTCHAR U_6E1C +ENCODING 28188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +0FE0 +9AA0 +5AA0 +2A60 +2100 +DFE0 +4100 +4680 +5860 +ENDCHAR +STARTCHAR U_6E1D +ENCODING 28189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +2480 +0B60 +9000 +5E20 +2AA0 +2EA0 +CAA0 +4EA0 +4A20 +4AE0 +ENDCHAR +STARTCHAR U_6E1E +ENCODING 28190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +4500 +1FE0 +8200 +5FC0 +2840 +4FC0 +C840 +4FC0 +4840 +4FC0 +ENDCHAR +STARTCHAR U_6E1F +ENCODING 28191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0440 +97C0 +5000 +2FE0 +2820 +C7C0 +4100 +4100 +4300 +ENDCHAR +STARTCHAR U_6E20 +ENCODING 28192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +8FC0 +5840 +AFC0 +4800 +4FE0 +4400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_6E21 +ENCODING 28193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0A80 +9FE0 +5A80 +2B80 +2800 +CFC0 +4A80 +5100 +6EE0 +ENDCHAR +STARTCHAR U_6E22 +ENCODING 28194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +0F40 +9A40 +5FC0 +2AC0 +2FC0 +CA40 +4AC0 +5FA0 +6020 +ENDCHAR +STARTCHAR U_6E23 +ENCODING 28195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +0540 +9920 +57C0 +2440 +27C0 +C440 +47C0 +4000 +5FE0 +ENDCHAR +STARTCHAR U_6E24 +ENCODING 28196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2E80 +05E0 +9FA0 +52A0 +3EA0 +24A0 +DFA0 +44A0 +4520 +4A60 +ENDCHAR +STARTCHAR U_6E25 +ENCODING 28197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +0FE0 +8800 +5FE0 +2A40 +2FA0 +C900 +4FC0 +5100 +6FE0 +ENDCHAR +STARTCHAR U_6E26 +ENCODING 28198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +0740 +9540 +5FE0 +2820 +2BA0 +CAA0 +4BA0 +4820 +48E0 +ENDCHAR +STARTCHAR U_6E27 +ENCODING 28199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0440 +9280 +5FE0 +2920 +27C0 +C540 +4540 +45C0 +4100 +ENDCHAR +STARTCHAR U_6E28 +ENCODING 28200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2940 +0FC0 +8940 +5FC0 +2000 +3FE0 +C920 +4940 +4A80 +4C60 +ENDCHAR +STARTCHAR U_6E29 +ENCODING 28201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +9440 +57C0 +2000 +2FE0 +CAA0 +4AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_6E2A +ENCODING 28202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +4200 +0FC0 +8A40 +6FC0 +2200 +5FE0 +D220 +52A0 +5FA0 +5060 +ENDCHAR +STARTCHAR U_6E2B +ENCODING 28203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2FE0 +0540 +95C0 +5400 +27E0 +2100 +DFE0 +4580 +4960 +5120 +ENDCHAR +STARTCHAR U_6E2C +ENCODING 28204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E20 +2AA0 +0AA0 +8EA0 +5AA0 +2EA0 +2AA0 +CAA0 +4E20 +4A20 +5160 +ENDCHAR +STARTCHAR U_6E2D +ENCODING 28205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +0FE0 +9920 +5FE0 +2440 +27C0 +C440 +47C0 +4440 +44C0 +ENDCHAR +STARTCHAR U_6E2E +ENCODING 28206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3FE0 +0480 +9FE0 +5040 +2F40 +2940 +CF40 +4940 +4040 +40C0 +ENDCHAR +STARTCHAR U_6E2F +ENCODING 28207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +0480 +9FE0 +5480 +27C0 +2CA0 +D780 +4420 +4420 +43E0 +ENDCHAR +STARTCHAR U_6E30 +ENCODING 28208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +2480 +0FC0 +9020 +5FC0 +2840 +2FC0 +C480 +5FE0 +4480 +4880 +ENDCHAR +STARTCHAR U_6E31 +ENCODING 28209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +24E0 +1F40 +9540 +5540 +3F40 +3540 +C440 +4540 +7F40 +41E0 +ENDCHAR +STARTCHAR U_6E32 +ENCODING 28210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0820 +97E0 +5000 +27C0 +2640 +C540 +47C0 +4000 +5FE0 +ENDCHAR +STARTCHAR U_6E33 +ENCODING 28211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2540 +0540 +9DC0 +5140 +31C0 +3D40 +C560 +47C0 +5440 +4840 +ENDCHAR +STARTCHAR U_6E34 +ENCODING 28212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +9440 +57C0 +2400 +2FE0 +D920 +4AA0 +4FA0 +4040 +ENDCHAR +STARTCHAR U_6E35 +ENCODING 28213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +0FE0 +9480 +5FE0 +2920 +2920 +CFE0 +4920 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6E36 +ENCODING 28214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +0280 +9100 +57C0 +2540 +2540 +CFE0 +4280 +4440 +4820 +ENDCHAR +STARTCHAR U_6E37 +ENCODING 28215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +0080 +8840 +5FE0 +2840 +4FC0 +C500 +4500 +4920 +50E0 +ENDCHAR +STARTCHAR U_6E38 +ENCODING 28216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +24E0 +1F00 +88E0 +5E20 +2A40 +2BE0 +CA40 +4A40 +5240 +66C0 +ENDCHAR +STARTCHAR U_6E39 +ENCODING 28217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +2FE0 +1220 +8FE0 +5020 +27A0 +2020 +CFA0 +48A0 +4FA0 +40C0 +ENDCHAR +STARTCHAR U_6E3A +ENCODING 28218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C80 +3480 +15C0 +9EA0 +56A0 +3480 +3CA0 +D420 +5440 +5C80 +4300 +ENDCHAR +STARTCHAR U_6E3B +ENCODING 28219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2520 +0960 +9080 +47E0 +2420 +3FE0 +C420 +47E0 +4420 +47E0 +ENDCHAR +STARTCHAR U_6E3C +ENCODING 28220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +1FE0 +9100 +47C0 +2100 +2FE0 +C100 +4FE0 +4280 +5C60 +ENDCHAR +STARTCHAR U_6E3D +ENCODING 28221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2EC0 +04A0 +9FE0 +4080 +2EA0 +2AA0 +CAC0 +4EA0 +4960 +4220 +ENDCHAR +STARTCHAR U_6E3E +ENCODING 28222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +0100 +9FE0 +5540 +27C0 +2540 +C7C0 +4100 +5FE0 +4100 +ENDCHAR +STARTCHAR U_6E3F +ENCODING 28223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0380 +8540 +4920 +27C0 +2000 +DFE0 +4100 +4940 +5320 +ENDCHAR +STARTCHAR U_6E40 +ENCODING 28224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F40 +2AA0 +0A40 +8440 +4BA0 +3100 +2100 +CFE0 +4300 +4480 +5860 +ENDCHAR +STARTCHAR U_6E41 +ENCODING 28225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2940 +1E20 +8A20 +49C0 +2C00 +3BE0 +CA20 +4A20 +4BE0 +5A20 +ENDCHAR +STARTCHAR U_6E42 +ENCODING 28226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +0EE0 +8000 +57C0 +2000 +4FE0 +C200 +43C0 +4040 +40C0 +ENDCHAR +STARTCHAR U_6E43 +ENCODING 28227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3DE0 +0440 +9FE0 +4440 +25E0 +3E40 +C5E0 +4440 +4840 +5040 +ENDCHAR +STARTCHAR U_6E44 +ENCODING 28228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +0FE0 +8800 +4BE0 +2A20 +2BE0 +CA20 +4BE0 +5220 +63E0 +ENDCHAR +STARTCHAR U_6E45 +ENCODING 28229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +1100 +9FE0 +4D60 +2BA0 +2FE0 +C380 +4540 +4920 +5120 +ENDCHAR +STARTCHAR U_6E46 +ENCODING 28230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0440 +8280 +4FE0 +2000 +27C0 +C440 +47C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_6E47 +ENCODING 28231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0280 +8FE0 +4000 +27C0 +2440 +C7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6E48 +ENCODING 28232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +0480 +8780 +5480 +2780 +4200 +DFE0 +4680 +5A60 +4200 +ENDCHAR +STARTCHAR U_6E49 +ENCODING 28233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4460 +2580 +1480 +97E0 +5480 +2480 +25E0 +C520 +4520 +45E0 +4520 +ENDCHAR +STARTCHAR U_6E4A +ENCODING 28234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +07E0 +8100 +4FE0 +2440 +3BA0 +C100 +4FE0 +4280 +4C60 +ENDCHAR +STARTCHAR U_6E4B +ENCODING 28235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0240 +8FE0 +4440 +27C0 +2100 +CFE0 +4500 +4FE0 +4100 +ENDCHAR +STARTCHAR U_6E4C +ENCODING 28236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4500 +0A80 +9FE0 +6880 +2F80 +4880 +CF80 +4A80 +4900 +4CC0 +ENDCHAR +STARTCHAR U_6E4D +ENCODING 28237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2920 +0FE0 +8000 +4FE0 +2100 +2FE0 +CAA0 +4AA0 +4AA0 +4860 +ENDCHAR +STARTCHAR U_6E4E +ENCODING 28238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +0200 +9FE0 +5AA0 +2BA0 +2AA0 +CBA0 +4AA0 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6E4F +ENCODING 28239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +4200 +0FC0 +9840 +6FC0 +2840 +4FC0 +C840 +4FC0 +4480 +5860 +ENDCHAR +STARTCHAR U_6E50 +ENCODING 28240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8840 +4880 +1FE0 +8920 +6D20 +3BE0 +5920 +E920 +4920 +49E0 +4920 +ENDCHAR +STARTCHAR U_6E51 +ENCODING 28241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2120 +05C0 +8500 +5FE0 +2440 +27C0 +C440 +47C0 +4440 +44C0 +ENDCHAR +STARTCHAR U_6E52 +ENCODING 28242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +8000 +5FE0 +2440 +27C0 +C440 +47C0 +4460 +4FC0 +ENDCHAR +STARTCHAR U_6E53 +ENCODING 28243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2840 +17E0 +8240 +4440 +2980 +3000 +CFE0 +4AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_6E54 +ENCODING 28244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +2480 +1FE0 +8000 +4EA0 +2AA0 +2EA0 +CAA0 +4EA0 +4A20 +4AE0 +ENDCHAR +STARTCHAR U_6E55 +ENCODING 28245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +24A0 +0BE0 +9CA0 +47E0 +2480 +27E0 +D480 +4BE0 +5480 +63E0 +ENDCHAR +STARTCHAR U_6E56 +ENCODING 28246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +24A0 +1FA0 +94E0 +54A0 +2EA0 +2AE0 +CAA0 +4EA0 +4120 +4260 +ENDCHAR +STARTCHAR U_6E57 +ENCODING 28247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8840 +4840 +1C40 +89E0 +7E40 +4940 +5EC0 +C840 +4E40 +7840 +40C0 +ENDCHAR +STARTCHAR U_6E58 +ENCODING 28248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +2520 +0520 +9FE0 +4520 +2720 +2DE0 +D520 +4520 +45E0 +4520 +ENDCHAR +STARTCHAR U_6E59 +ENCODING 28249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +0500 +9540 +6520 +2B00 +4200 +DFE0 +4300 +4480 +5860 +ENDCHAR +STARTCHAR U_6E5A +ENCODING 28250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +3F40 +1540 +9EC0 +5040 +3740 +3540 +D740 +5540 +5740 +6560 +ENDCHAR +STARTCHAR U_6E5B +ENCODING 28251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +0440 +97C0 +5440 +27C0 +2440 +DFE0 +4A80 +4C40 +4FE0 +ENDCHAR +STARTCHAR U_6E5C +ENCODING 28252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +8440 +47C0 +2000 +2FE0 +C500 +45E0 +4B00 +51E0 +ENDCHAR +STARTCHAR U_6E5D +ENCODING 28253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48A0 +2EC0 +0880 +9AA0 +5CE0 +2100 +27C0 +C440 +47C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_6E5E +ENCODING 28254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +2100 +07C0 +9440 +57C0 +2440 +27C0 +C440 +47C0 +4280 +4C60 +ENDCHAR +STARTCHAR U_6E5F +ENCODING 28255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27C0 +0440 +97C0 +5440 +2FE0 +2100 +C100 +47C0 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6E60 +ENCODING 28256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2920 +0FE0 +8200 +5FE0 +2480 +26A0 +CAC0 +4C80 +5140 +6620 +ENDCHAR +STARTCHAR U_6E61 +ENCODING 28257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +07C0 +9540 +57C0 +2100 +2FE0 +C920 +4960 +4BA0 +4860 +ENDCHAR +STARTCHAR U_6E62 +ENCODING 28258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2000 +07C0 +9440 +57C0 +2000 +2FE0 +C920 +4FE0 +4920 +4FE0 +ENDCHAR +STARTCHAR U_6E63 +ENCODING 28259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +0FC0 +8900 +5FE0 +2880 +2FE0 +C440 +47C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_6E64 +ENCODING 28260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +2900 +1FE0 +8880 +5EE0 +2BA0 +2AA0 +CAE0 +4A80 +5220 +4DE0 +ENDCHAR +STARTCHAR U_6E65 +ENCODING 28261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0AA0 +8440 +49A0 +2140 +2FE0 +C100 +4280 +4440 +5820 +ENDCHAR +STARTCHAR U_6E66 +ENCODING 28262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +0FC0 +8840 +4FC0 +2500 +2FE0 +D100 +47C0 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6E67 +ENCODING 28263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2280 +0FE0 +8920 +5FE0 +2920 +2FE0 +C200 +5FE0 +4420 +58C0 +ENDCHAR +STARTCHAR U_6E68 +ENCODING 28264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +17C0 +9440 +47C0 +2440 +27C0 +C140 +4FE0 +4280 +5C60 +ENDCHAR +STARTCHAR U_6E69 +ENCODING 28265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2100 +0FE0 +8920 +4FE0 +2920 +2FE0 +C100 +4FE0 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6E6A +ENCODING 28266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +47C0 +0480 +9FE0 +4400 +3AC0 +4500 +DB80 +4540 +5920 +4200 +ENDCHAR +STARTCHAR U_6E6B +ENCODING 28267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3880 +0AA0 +9EC0 +4A80 +2C80 +3A80 +C880 +4880 +4940 +4A20 +ENDCHAR +STARTCHAR U_6E6C +ENCODING 28268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +2540 +FB80 +7280 +AC60 +2400 +7580 +1600 +2580 +C460 +0C00 +ENDCHAR +STARTCHAR U_6E6D +ENCODING 28269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +8FE0 +5280 +1FE0 +2AA0 +4AA0 +CC60 +4FA0 +4820 +4FE0 +ENDCHAR +STARTCHAR U_6E6E +ENCODING 28270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +0FE0 +9AA0 +4AA0 +2FE0 +2100 +C7C0 +4100 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6E6F +ENCODING 28271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +9440 +5FE0 +2400 +27E0 +CAA0 +52A0 +4520 +4AC0 +ENDCHAR +STARTCHAR U_6E70 +ENCODING 28272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5880 +0700 +98E0 +4780 +2A00 +4FC0 +D200 +4FC0 +4200 +5FE0 +ENDCHAR +STARTCHAR U_6E71 +ENCODING 28273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +87C0 +4100 +2FE0 +2200 +DFE0 +4A20 +5220 +43E0 +ENDCHAR +STARTCHAR U_6E72 +ENCODING 28274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2A20 +0540 +97E0 +5100 +2FE0 +2400 +C7E0 +4A40 +5180 +6660 +ENDCHAR +STARTCHAR U_6E73 +ENCODING 28275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +8FE0 +4AA0 +2920 +2FE0 +C920 +4FE0 +4920 +4860 +ENDCHAR +STARTCHAR U_6E74 +ENCODING 28276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +07E0 +9280 +5280 +2AA0 +2AA0 +C6C0 +4280 +4280 +4FE0 +ENDCHAR +STARTCHAR U_6E75 +ENCODING 28277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +4FC0 +0200 +8FC0 +4200 +3FE0 +4400 +C780 +4900 +4280 +4C60 +ENDCHAR +STARTCHAR U_6E76 +ENCODING 28278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4F80 +0880 +9F80 +6880 +2F80 +4240 +DB80 +4A80 +7260 +4600 +ENDCHAR +STARTCHAR U_6E77 +ENCODING 28279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +87C0 +4200 +3FE0 +2C40 +D7E0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6E78 +ENCODING 28280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +0440 +87C0 +4000 +2FE0 +2820 +C380 +42A0 +44A0 +5860 +ENDCHAR +STARTCHAR U_6E79 +ENCODING 28281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +0BE0 +8AA0 +4BE0 +2AA0 +2BE0 +C880 +4BE0 +5080 +67E0 +ENDCHAR +STARTCHAR U_6E7A +ENCODING 28282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8800 +4BC0 +1240 +93C0 +7100 +37E0 +5380 +D540 +5540 +5920 +5100 +ENDCHAR +STARTCHAR U_6E7B +ENCODING 28283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +4200 +1FE0 +8480 +5780 +2000 +4FC0 +C840 +4FC0 +4840 +4FC0 +ENDCHAR +STARTCHAR U_6E7C +ENCODING 28284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2CC0 +8840 +4CC0 +0840 +2FC0 +4000 +CFC0 +4200 +4200 +5FE0 +ENDCHAR +STARTCHAR U_6E7D +ENCODING 28285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8540 +4A80 +1FE0 +AA80 +4540 +5FC0 +5240 +DFC0 +5240 +5FC0 +5040 +ENDCHAR +STARTCHAR U_6E7E +ENCODING 28286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +06C0 +8AA0 +47C0 +2040 +27C0 +C400 +47E0 +4020 +40C0 +ENDCHAR +STARTCHAR U_6E7F +ENCODING 28287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +9440 +57C0 +2440 +2280 +CAA0 +46C0 +4280 +4FE0 +ENDCHAR +STARTCHAR U_6E80 +ENCODING 28288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +5FE0 +0480 +BFE0 +6200 +3FE0 +5220 +DAA0 +5FA0 +50A0 +5040 +ENDCHAR +STARTCHAR U_6E81 +ENCODING 28289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +5FE0 +0480 +9FE0 +5220 +2FC0 +4200 +C700 +4A80 +5260 +4200 +ENDCHAR +STARTCHAR U_6E82 +ENCODING 28290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8820 +7E20 +08A0 +BEA0 +6AA0 +3EA0 +48A0 +DCA0 +6A20 +48A0 +4840 +ENDCHAR +STARTCHAR U_6E83 +ENCODING 28291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0540 +9FE0 +4000 +27C0 +2440 +C540 +4540 +4280 +5C60 +ENDCHAR +STARTCHAR U_6E84 +ENCODING 28292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9240 +5FC0 +0400 +8FC0 +5880 +2700 +5AE0 +CF80 +4200 +5FC0 +4200 +ENDCHAR +STARTCHAR U_6E85 +ENCODING 28293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BEC0 +62A0 +2BE0 +AA80 +6BE0 +2A80 +6A80 +EAA0 +4C40 +52A0 +6120 +ENDCHAR +STARTCHAR U_6E86 +ENCODING 28294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4600 +29E0 +10A0 +8FA0 +44A0 +3FA0 +24A0 +CEA0 +5540 +44A0 +4D20 +ENDCHAR +STARTCHAR U_6E87 +ENCODING 28295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9240 +4A80 +1FE0 +8680 +5A60 +2200 +5FE0 +C480 +4900 +4700 +58C0 +ENDCHAR +STARTCHAR U_6E88 +ENCODING 28296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A00 +2600 +1F80 +8480 +47C0 +2440 +2FE0 +D020 +6560 +4AA0 +4AC0 +ENDCHAR +STARTCHAR U_6E89 +ENCODING 28297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +3480 +1C80 +9680 +57E0 +3C80 +30A0 +D5A0 +5AA0 +52A0 +4460 +ENDCHAR +STARTCHAR U_6E8A +ENCODING 28298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +3DC0 +1440 +9DC0 +5000 +3DC0 +5140 +DD40 +5080 +5140 +5620 +ENDCHAR +STARTCHAR U_6E8B +ENCODING 28299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FC0 +4480 +07C0 +8D40 +4B40 +3540 +4080 +DFC0 +5540 +5540 +7FE0 +ENDCHAR +STARTCHAR U_6E8C +ENCODING 28300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8280 +5D40 +1480 +8860 +5F80 +2500 +5FC0 +C500 +4500 +4920 +50E0 +ENDCHAR +STARTCHAR U_6E8D +ENCODING 28301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +0AA0 +86C0 +4FE0 +2000 +27C0 +C440 +47C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_6E8E +ENCODING 28302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +29E0 +1E80 +8880 +4DE0 +3A00 +2880 +CBE0 +4880 +4880 +4BE0 +ENDCHAR +STARTCHAR U_6E8F +ENCODING 28303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0940 +8FE0 +5940 +2FC0 +2900 +CFC0 +5440 +57C0 +6440 +ENDCHAR +STARTCHAR U_6E90 +ENCODING 28304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2880 +8BE0 +4A20 +1BE0 +2A20 +2BE0 +C880 +4AC0 +54A0 +69A0 +ENDCHAR +STARTCHAR U_6E91 +ENCODING 28305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +2680 +8FC0 +4840 +1FC0 +2840 +2FC0 +C840 +4FC0 +4840 +5020 +ENDCHAR +STARTCHAR U_6E92 +ENCODING 28306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0100 +8FE0 +4000 +27C0 +2440 +C7C0 +4CA0 +5540 +4620 +ENDCHAR +STARTCHAR U_6E93 +ENCODING 28307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2500 +1FE0 +8540 +5FE0 +2540 +3FC0 +C500 +4D80 +5540 +6520 +ENDCHAR +STARTCHAR U_6E94 +ENCODING 28308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +0FE0 +9100 +57C0 +2100 +2FE0 +C000 +4540 +4AA0 +4AA0 +ENDCHAR +STARTCHAR U_6E95 +ENCODING 28309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +5020 +0FC0 +8000 +5FE0 +2600 +4B60 +C580 +5B40 +4560 +5B00 +ENDCHAR +STARTCHAR U_6E96 +ENCODING 28310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8500 +4FE0 +9900 +4FC0 +4900 +CFC0 +4900 +4FE0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_6E97 +ENCODING 28311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2200 +1FE0 +8AA0 +5AC0 +2AA0 +3AE0 +C700 +4A80 +5240 +6220 +ENDCHAR +STARTCHAR U_6E98 +ENCODING 28312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0100 +8FE0 +4100 +2240 +27A0 +C000 +4FE0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_6E99 +ENCODING 28313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +87C0 +4200 +2FE0 +2D40 +D360 +4580 +4940 +5320 +ENDCHAR +STARTCHAR U_6E9A +ENCODING 28314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +5FC0 +0A80 +8500 +4880 +3760 +4000 +CF80 +4880 +4F80 +4880 +ENDCHAR +STARTCHAR U_6E9B +ENCODING 28315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +14A0 +8840 +5FA0 +2A40 +2A40 +CA40 +4A40 +4AA0 +53A0 +ENDCHAR +STARTCHAR U_6E9C +ENCODING 28316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2DE0 +08A0 +9AA0 +5F20 +2140 +2FE0 +C920 +4FE0 +4920 +4FE0 +ENDCHAR +STARTCHAR U_6E9D +ENCODING 28317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +3FE0 +0280 +8FE0 +4280 +3FE0 +2940 +CFC0 +4940 +5FE0 +48C0 +ENDCHAR +STARTCHAR U_6E9E +ENCODING 28318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2540 +0280 +8180 +4E60 +2100 +2FE0 +C920 +4FE0 +4140 +5FA0 +ENDCHAR +STARTCHAR U_6E9F +ENCODING 28319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +07C0 +8440 +47C0 +2440 +27C0 +C100 +5FE0 +4280 +5C60 +ENDCHAR +STARTCHAR U_6EA0 +ENCODING 28320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +0FE0 +8100 +47E0 +2100 +2FE0 +C400 +4FC0 +5100 +6FE0 +ENDCHAR +STARTCHAR U_6EA1 +ENCODING 28321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +3DE0 +1480 +97E0 +5400 +3C40 +37E0 +D540 +5CC0 +4040 +41C0 +ENDCHAR +STARTCHAR U_6EA2 +ENCODING 28322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +0FE0 +8280 +4440 +2820 +3FE0 +CAA0 +4AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_6EA3 +ENCODING 28323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +6280 +2440 +ABA0 +6000 +2FE0 +6AA0 +AFE0 +AAA0 +AAA0 +A860 +ENDCHAR +STARTCHAR U_6EA4 +ENCODING 28324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2900 +0FC0 +8900 +4FC0 +2900 +2FE0 +C020 +4AA0 +5560 +5560 +ENDCHAR +STARTCHAR U_6EA5 +ENCODING 28325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +3FE0 +0920 +8FE0 +4920 +2FE0 +2920 +C140 +5FE0 +4440 +42C0 +ENDCHAR +STARTCHAR U_6EA6 +ENCODING 28326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +3540 +1F60 +80A0 +4FA0 +20A0 +2EA0 +CAA0 +4A40 +4BA0 +5120 +ENDCHAR +STARTCHAR U_6EA7 +ENCODING 28327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +0FE0 +8AA0 +4FE0 +2100 +2FE0 +C100 +4380 +4540 +4920 +ENDCHAR +STARTCHAR U_6EA8 +ENCODING 28328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8940 +5D20 +0900 +BFE0 +4900 +3F60 +4940 +DC80 +6AA0 +4960 +4E20 +ENDCHAR +STARTCHAR U_6EA9 +ENCODING 28329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +0840 +9FC0 +6800 +2FE0 +4800 +CFE0 +4020 +5AA0 +6560 +ENDCHAR +STARTCHAR U_6EAA +ENCODING 28330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +04C0 +8240 +4780 +2240 +2FA0 +C100 +5FE0 +4280 +5C60 +ENDCHAR +STARTCHAR U_6EAB +ENCODING 28331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +06C0 +8440 +47C0 +2000 +2FE0 +CAA0 +4AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_6EAC +ENCODING 28332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +5FE0 +0200 +8FC0 +6200 +3FE0 +4680 +C740 +4BC0 +4A20 +51E0 +ENDCHAR +STARTCHAR U_6EAD +ENCODING 28333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FC0 +5240 +1FC0 +9240 +5FC0 +2880 +5440 +CFA0 +5500 +4200 +5DC0 +ENDCHAR +STARTCHAR U_6EAE +ENCODING 28334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +2880 +1C80 +97E0 +5EA0 +32A0 +3EA0 +D6A0 +56E0 +5C80 +5080 +ENDCHAR +STARTCHAR U_6EAF +ENCODING 28335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AE0 +24A0 +1FA0 +84E0 +55A0 +15A0 +5FE0 +C4A0 +44A0 +4920 +5260 +ENDCHAR +STARTCHAR U_6EB0 +ENCODING 28336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2920 +0FE0 +8000 +5FE0 +2000 +2FC0 +C840 +4FC0 +4480 +5FE0 +ENDCHAR +STARTCHAR U_6EB1 +ENCODING 28337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +87C0 +4200 +2FE0 +2940 +DFE0 +4380 +4540 +5920 +ENDCHAR +STARTCHAR U_6EB2 +ENCODING 28338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4DE0 +2920 +0FE0 +8920 +5FE0 +2100 +2FE0 +C440 +4280 +4100 +4EE0 +ENDCHAR +STARTCHAR U_6EB3 +ENCODING 28339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2480 +0FC0 +9840 +5FC0 +2840 +2FC0 +C840 +4FC0 +4480 +5860 +ENDCHAR +STARTCHAR U_6EB4 +ENCODING 28340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0440 +8740 +55C0 +2440 +27C0 +C140 +4FE0 +4280 +4C60 +ENDCHAR +STARTCHAR U_6EB5 +ENCODING 28341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9DC0 +5140 +1D40 +9540 +5E20 +35C0 +5D40 +D280 +5C80 +6540 +4E20 +ENDCHAR +STARTCHAR U_6EB6 +ENCODING 28342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0AA0 +9540 +5AA0 +2440 +2820 +D7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6EB7 +ENCODING 28343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +0FE0 +8A20 +5EA0 +2920 +2BA0 +CD60 +4920 +4A20 +4FE0 +ENDCHAR +STARTCHAR U_6EB8 +ENCODING 28344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FC0 +0200 +8F80 +4200 +3FE0 +2B00 +C480 +5FC0 +5280 +5640 +ENDCHAR +STARTCHAR U_6EB9 +ENCODING 28345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +8FE0 +4920 +2780 +2240 +CFA0 +4580 +4940 +5320 +ENDCHAR +STARTCHAR U_6EBA +ENCODING 28346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +2220 +1EE0 +9080 +5EE0 +3220 +2AA0 +C660 +5BA0 +4220 +4CC0 +ENDCHAR +STARTCHAR U_6EBB +ENCODING 28347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +9440 +57C0 +2000 +3FE0 +CAA0 +4660 +5AA0 +46E0 +ENDCHAR +STARTCHAR U_6EBC +ENCODING 28348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2880 +1540 +9DC0 +4880 +3540 +3DE0 +C100 +4FC0 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6EBD +ENCODING 28349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +0BC0 +8800 +4FE0 +2AA0 +2A40 +CFE0 +4840 +5240 +60C0 +ENDCHAR +STARTCHAR U_6EBE +ENCODING 28350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +0A40 +8FC0 +5A40 +2FC0 +2140 +C3A0 +4540 +4920 +50E0 +ENDCHAR +STARTCHAR U_6EBF +ENCODING 28351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8080 +7EA0 +2BC0 +AA80 +7FE0 +2A80 +6BE0 +AA80 +BE80 +A280 +8080 +ENDCHAR +STARTCHAR U_6EC0 +ENCODING 28352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0480 +8F00 +4240 +2FE0 +2920 +CFE0 +4920 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6EC1 +ENCODING 28353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C80 +3540 +1620 +99E0 +5480 +35E0 +3480 +DDC0 +52A0 +54A0 +5180 +ENDCHAR +STARTCHAR U_6EC2 +ENCODING 28354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0280 +8FE0 +4820 +2100 +2FE0 +C200 +43C0 +4440 +5980 +ENDCHAR +STARTCHAR U_6EC3 +ENCODING 28355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3A40 +04A0 +8FC0 +4000 +3FE0 +2AA0 +C660 +5BA0 +4220 +4660 +ENDCHAR +STARTCHAR U_6EC4 +ENCODING 28356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +2240 +0520 +9FC0 +5440 +27C0 +2440 +C7E0 +4A20 +53E0 +6220 +ENDCHAR +STARTCHAR U_6EC5 +ENCODING 28357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +20A0 +0FE0 +8880 +4FA0 +2AA0 +2FA0 +CA40 +5560 +68A0 +5120 +ENDCHAR +STARTCHAR U_6EC6 +ENCODING 28358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2440 +07C0 +8000 +4FE0 +2AA0 +2920 +CFE0 +4920 +4920 +4860 +ENDCHAR +STARTCHAR U_6EC7 +ENCODING 28359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0440 +87C0 +4440 +2740 +25C0 +C440 +5FE0 +4280 +4C60 +ENDCHAR +STARTCHAR U_6EC8 +ENCODING 28360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0440 +87C0 +4000 +2FE0 +2820 +CBA0 +4AA0 +4BA0 +4860 +ENDCHAR +STARTCHAR U_6EC9 +ENCODING 28361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +0FC0 +8840 +4FC0 +2540 +3FE0 +C480 +44A0 +48A0 +5060 +ENDCHAR +STARTCHAR U_6ECA +ENCODING 28362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +2FE0 +1000 +8FC0 +5240 +2AC0 +2740 +DFC0 +4640 +4B20 +52A0 +ENDCHAR +STARTCHAR U_6ECB +ENCODING 28363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +2480 +1FE0 +8440 +4880 +2AA0 +3DC0 +C440 +48A0 +52A0 +5DE0 +ENDCHAR +STARTCHAR U_6ECC +ENCODING 28364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +29E0 +1740 +9480 +5760 +3480 +37E0 +D480 +55C0 +52A0 +54A0 +ENDCHAR +STARTCHAR U_6ECD +ENCODING 28365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2920 +0FE0 +9100 +5FE0 +2100 +2FE0 +C920 +4FE0 +4120 +4FE0 +ENDCHAR +STARTCHAR U_6ECE +ENCODING 28366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +14A0 +5AC0 +5280 +2940 +4620 +FFE0 +8420 +7EC0 +1500 +2480 +CC60 +ENDCHAR +STARTCHAR U_6ECF +ENCODING 28367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44C0 +2A20 +1180 +8240 +4420 +2B80 +2100 +CFE0 +4920 +4540 +5FE0 +ENDCHAR +STARTCHAR U_6ED0 +ENCODING 28368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +2FE0 +3340 +8DE0 +4840 +3140 +3FE0 +C380 +4540 +4920 +4100 +ENDCHAR +STARTCHAR U_6ED1 +ENCODING 28369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +0740 +8540 +5FE0 +3460 +27C0 +C440 +47C0 +4440 +44C0 +ENDCHAR +STARTCHAR U_6ED2 +ENCODING 28370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2740 +0540 +8740 +4040 +2FE0 +2040 +C740 +4540 +4740 +40C0 +ENDCHAR +STARTCHAR U_6ED3 +ENCODING 28371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0920 +8FE0 +4280 +2100 +3FE0 +C100 +4FE0 +4100 +4100 +ENDCHAR +STARTCHAR U_6ED4 +ENCODING 28372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +27A0 +0A20 +8540 +4260 +2C20 +2820 +CEE0 +4820 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6ED5 +ENCODING 28373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E920 +A540 +AFE0 +E200 +AFE0 +A540 +ED60 +A380 +A540 +A920 +B320 +ENDCHAR +STARTCHAR U_6ED6 +ENCODING 28374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0000 +87C0 +5440 +2FE0 +2440 +C7C0 +4CA0 +7540 +4620 +ENDCHAR +STARTCHAR U_6ED7 +ENCODING 28375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2EE0 +1540 +8020 +4F80 +2200 +3FC0 +C200 +5FE0 +4220 +41E0 +ENDCHAR +STARTCHAR U_6ED8 +ENCODING 28376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +0440 +8BA0 +4100 +2FE0 +2000 +C7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6ED9 +ENCODING 28377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2A80 +2BC0 +8E80 +4BC0 +2A80 +2BC0 +2A80 +EBC0 +2800 +2FE0 +ENDCHAR +STARTCHAR U_6EDA +ENCODING 28378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0440 +8920 +52A0 +2740 +2220 +C540 +5C80 +4540 +4620 +ENDCHAR +STARTCHAR U_6EDB +ENCODING 28379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2E00 +2220 +8920 +4540 +0FE0 +5100 +6FE0 +C100 +4920 +4FE0 +ENDCHAR +STARTCHAR U_6EDC +ENCODING 28380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +0840 +8FC0 +4840 +2FC0 +2200 +DFE0 +5240 +6FA0 +4200 +ENDCHAR +STARTCHAR U_6EDD +ENCODING 28381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2F80 +2500 +9FC0 +4A80 +2A80 +2F80 +EA80 +2F80 +2220 +21E0 +ENDCHAR +STARTCHAR U_6EDE +ENCODING 28382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +3FE0 +0540 +9000 +5FE0 +2920 +27C0 +C540 +4540 +45C0 +4100 +ENDCHAR +STARTCHAR U_6EDF +ENCODING 28383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +29E0 +1E40 +8BE0 +5EA0 +2AA0 +2BE0 +DE00 +4A20 +4A20 +49E0 +ENDCHAR +STARTCHAR U_6EE0 +ENCODING 28384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2440 +07C0 +8440 +5FE0 +2040 +3FE0 +D2A0 +4C40 +4AA0 +5120 +ENDCHAR +STARTCHAR U_6EE1 +ENCODING 28385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +1280 +9FE0 +4280 +2FE0 +2AA0 +CAA0 +4D60 +4920 +4860 +ENDCHAR +STARTCHAR U_6EE2 +ENCODING 28386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +3FE0 +0280 +9FE0 +5020 +2FC0 +2100 +C7C0 +4140 +4120 +5FE0 +ENDCHAR +STARTCHAR U_6EE3 +ENCODING 28387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +2FC0 +8800 +4FE0 +2B40 +4A80 +CA60 +57C0 +5440 +67C0 +ENDCHAR +STARTCHAR U_6EE4 +ENCODING 28388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +2100 +0FE0 +8920 +4FC0 +2920 +29E0 +CB40 +4AA0 +5640 +69C0 +ENDCHAR +STARTCHAR U_6EE5 +ENCODING 28389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2A80 +0AE0 +8B40 +4A20 +2200 +2FE0 +CAA0 +4AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_6EE6 +ENCODING 28390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +0480 +8CC0 +54A0 +2100 +3FE0 +C300 +4580 +4960 +5120 +ENDCHAR +STARTCHAR U_6EE7 +ENCODING 28391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +7E80 +14E0 +9540 +2340 +5540 +4880 +C880 +4880 +5540 +6620 +ENDCHAR +STARTCHAR U_6EE8 +ENCODING 28392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +08A0 +9700 +5400 +27E0 +2480 +C480 +5FE0 +4480 +5860 +ENDCHAR +STARTCHAR U_6EE9 +ENCODING 28393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +3D40 +05E0 +9740 +5540 +29E0 +2940 +CD40 +55E0 +6340 +41E0 +ENDCHAR +STARTCHAR U_6EEA +ENCODING 28394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BDE0 +4480 +1900 +8BE0 +7EA0 +2AA0 +4AA0 +CAA0 +4880 +6960 +5220 +ENDCHAR +STARTCHAR U_6EEB +ENCODING 28395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +2720 +0AC0 +9B20 +4A00 +2BE0 +2B20 +CBE0 +4B20 +49E0 +4920 +ENDCHAR +STARTCHAR U_6EEC +ENCODING 28396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0820 +8FE0 +4A40 +2FE0 +2D20 +CFE0 +4C00 +5420 +63E0 +ENDCHAR +STARTCHAR U_6EED +ENCODING 28397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +0FE0 +8920 +5FE0 +2540 +2FE0 +C540 +4FE0 +4100 +4100 +ENDCHAR +STARTCHAR U_6EEE +ENCODING 28398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +2220 +0FC0 +8A80 +4F20 +2AC0 +2B80 +D020 +5740 +5520 +69E0 +ENDCHAR +STARTCHAR U_6EEF +ENCODING 28399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +3FE0 +0540 +9760 +5800 +2FE0 +2920 +C7C0 +4540 +45C0 +4100 +ENDCHAR +STARTCHAR U_6EF0 +ENCODING 28400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2F80 +2500 +9FE0 +4880 +2F80 +2880 +CF80 +4500 +4520 +58E0 +ENDCHAR +STARTCHAR U_6EF1 +ENCODING 28401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +1020 +8E60 +4040 +3FE0 +2AA0 +CA40 +4AA0 +5320 +61E0 +ENDCHAR +STARTCHAR U_6EF2 +ENCODING 28402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +27A0 +1540 +8AA0 +4D60 +2280 +2D60 +C280 +4D60 +4080 +4700 +ENDCHAR +STARTCHAR U_6EF3 +ENCODING 28403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2440 +8280 +4FE0 +1AA0 +2C60 +EBA0 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_6EF4 +ENCODING 28404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0280 +8FE0 +4920 +2FE0 +2920 +CBA0 +4AA0 +4BA0 +4860 +ENDCHAR +STARTCHAR U_6EF5 +ENCODING 28405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +1120 +8CC0 +5520 +2640 +3BC0 +C920 +4920 +4FE0 +4820 +ENDCHAR +STARTCHAR U_6EF6 +ENCODING 28406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3F80 +04E0 +9FA0 +44A0 +3FA0 +28A0 +CEA0 +4A40 +52A0 +6520 +ENDCHAR +STARTCHAR U_6EF7 +ENCODING 28407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +21E0 +0100 +9FE0 +5820 +2D60 +2AA0 +CD60 +4AA0 +4D60 +4FE0 +ENDCHAR +STARTCHAR U_6EF8 +ENCODING 28408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2480 +1EE0 +8140 +5E40 +21E0 +3E40 +C040 +5E40 +5240 +5E40 +ENDCHAR +STARTCHAR U_6EF9 +ENCODING 28409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +2100 +0FE0 +8920 +4FC0 +2920 +2FE0 +CD40 +57E0 +6100 +4300 +ENDCHAR +STARTCHAR U_6EFA +ENCODING 28410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +2DE0 +1640 +B540 +5480 +1360 +2000 +CA40 +5AA0 +68A0 +4780 +ENDCHAR +STARTCHAR U_6EFB +ENCODING 28411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0440 +9280 +5FE0 +2A80 +2BE0 +CC80 +4BC0 +4880 +57E0 +ENDCHAR +STARTCHAR U_6EFC +ENCODING 28412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3FE0 +0480 +8FC0 +54A0 +2000 +2780 +C480 +46A0 +49A0 +5060 +ENDCHAR +STARTCHAR U_6EFD +ENCODING 28413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0940 +8FE0 +5940 +2FE0 +2D20 +CFE0 +5520 +57E0 +6520 +ENDCHAR +STARTCHAR U_6EFE +ENCODING 28414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0440 +8FE0 +5440 +27C0 +2220 +C540 +5C80 +4640 +4420 +ENDCHAR +STARTCHAR U_6EFF +ENCODING 28415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +0440 +87C0 +4100 +2FE0 +2920 +CDA0 +4B60 +4DA0 +4960 +ENDCHAR +STARTCHAR U_6F00 +ENCODING 28416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +7D40 +1260 +FDC0 +5540 +7C80 +4360 +BA40 +0B80 +1280 +E660 +ENDCHAR +STARTCHAR U_6F01 +ENCODING 28417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27C0 +0880 +9FE0 +4920 +2FE0 +2920 +C920 +4FE0 +5540 +64A0 +ENDCHAR +STARTCHAR U_6F02 +ENCODING 28418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2280 +0FE0 +8AA0 +4FE0 +2000 +27C0 +C000 +5FE0 +4940 +5320 +ENDCHAR +STARTCHAR U_6F03 +ENCODING 28419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +1420 +87E0 +44A0 +3FA0 +24A0 +CEA0 +5540 +64A0 +4D20 +ENDCHAR +STARTCHAR U_6F04 +ENCODING 28420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2540 +2FE0 +8900 +4BC0 +0900 +2FE0 +C900 +4BC0 +5100 +6FE0 +ENDCHAR +STARTCHAR U_6F05 +ENCODING 28421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2A80 +0540 +87C0 +4540 +27C0 +2540 +DFE0 +4580 +4940 +5120 +ENDCHAR +STARTCHAR U_6F06 +ENCODING 28422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0380 +8560 +4B80 +2560 +2D40 +C380 +4540 +5920 +4300 +ENDCHAR +STARTCHAR U_6F07 +ENCODING 28423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2880 +12E0 +8680 +4BE0 +3880 +2A80 +CAE0 +4A80 +4D80 +48E0 +ENDCHAR +STARTCHAR U_6F08 +ENCODING 28424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +27A0 +1540 +8A40 +57E0 +2800 +2FE0 +C100 +4580 +4960 +5320 +ENDCHAR +STARTCHAR U_6F09 +ENCODING 28425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0A80 +8FE0 +4AA0 +2FE0 +2C80 +CEE0 +5480 +56A0 +6460 +ENDCHAR +STARTCHAR U_6F0A +ENCODING 28426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0540 +9FE0 +5540 +2FE0 +2920 +DFE0 +4480 +4300 +5CE0 +ENDCHAR +STARTCHAR U_6F0B +ENCODING 28427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5D00 +55C0 +1740 +9880 +5540 +37E0 +5A80 +D3C0 +5480 +51C0 +57E0 +ENDCHAR +STARTCHAR U_6F0C +ENCODING 28428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +3FE0 +8880 +5FC0 +1240 +3FC0 +4200 +DFC0 +4F80 +4200 +7FE0 +ENDCHAR +STARTCHAR U_6F0D +ENCODING 28429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +31A0 +1160 +9FE0 +5520 +3D60 +31A0 +DD20 +51E0 +5260 +5FE0 +ENDCHAR +STARTCHAR U_6F0E +ENCODING 28430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2940 +12A0 +8420 +4880 +3A80 +2AE0 +CA80 +4A80 +4D80 +48E0 +ENDCHAR +STARTCHAR U_6F0F +ENCODING 28431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +0FE0 +9800 +5FE0 +2900 +2FE0 +CDA0 +4B60 +5DA0 +4960 +ENDCHAR +STARTCHAR U_6F10 +ENCODING 28432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57C0 +FD40 +2340 +FAC0 +2420 +0400 +F6C0 +2500 +4480 +8C60 +ENDCHAR +STARTCHAR U_6F11 +ENCODING 28433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8800 +5FE0 +1440 +9D40 +5540 +1DE0 +20C0 +D4C0 +5940 +5340 +4E60 +ENDCHAR +STARTCHAR U_6F12 +ENCODING 28434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BE0 +2A20 +0BE0 +9880 +53E0 +32A0 +3AA0 +CBE0 +4880 +68A0 +57E0 +ENDCHAR +STARTCHAR U_6F13 +ENCODING 28435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +0AA0 +8920 +5AA0 +2FE0 +2100 +CFE0 +4AA0 +4FA0 +4860 +ENDCHAR +STARTCHAR U_6F14 +ENCODING 28436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0820 +9FE0 +5100 +27C0 +2540 +C7C0 +4540 +47C0 +4C60 +ENDCHAR +STARTCHAR U_6F15 +ENCODING 28437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +3FE0 +0AA0 +8FE0 +5AA0 +2FE0 +2440 +C7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6F16 +ENCODING 28438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +5C80 +0AE0 +BF40 +4940 +1D40 +6480 +DE80 +4540 +5540 +4A20 +ENDCHAR +STARTCHAR U_6F17 +ENCODING 28439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2FC0 +2A40 +8B40 +4D40 +2AC0 +2FC0 +C240 +5520 +5440 +47C0 +ENDCHAR +STARTCHAR U_6F18 +ENCODING 28440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +0FE0 +8AA0 +4E60 +2BE0 +2A20 +CBE0 +4A20 +53E0 +6220 +ENDCHAR +STARTCHAR U_6F19 +ENCODING 28441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3FE0 +0A40 +8FC0 +4A40 +2FC0 +2220 +DFE0 +4880 +4480 +4180 +ENDCHAR +STARTCHAR U_6F1A +ENCODING 28442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +0BC0 +8A40 +5BC0 +2800 +2EE0 +CAA0 +4EE0 +4800 +4FE0 +ENDCHAR +STARTCHAR U_6F1B +ENCODING 28443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +1FC0 +0200 +BFE0 +4500 +2A80 +5A60 +E680 +4B80 +5240 +4400 +ENDCHAR +STARTCHAR U_6F1C +ENCODING 28444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +3FE0 +0880 +9DC0 +4AA0 +2880 +2100 +CFC0 +4100 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6F1D +ENCODING 28445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2220 +2AA0 +8660 +4AA0 +1100 +27E0 +E420 +27E0 +2420 +27E0 +ENDCHAR +STARTCHAR U_6F1E +ENCODING 28446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FA0 +2A20 +0540 +8FC0 +5840 +2F40 +2BC0 +C840 +4FC0 +44A0 +58E0 +ENDCHAR +STARTCHAR U_6F1F +ENCODING 28447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +0FE0 +9820 +47C0 +2440 +27C0 +C100 +47C0 +4100 +4FE0 +ENDCHAR +STARTCHAR U_6F20 +ENCODING 28448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3FE0 +0480 +8FC0 +4840 +2FC0 +2840 +DFE0 +4300 +4480 +5860 +ENDCHAR +STARTCHAR U_6F21 +ENCODING 28449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +0A40 +93C0 +5240 +2FE0 +2400 +CFE0 +52A0 +4520 +4AC0 +ENDCHAR +STARTCHAR U_6F22 +ENCODING 28450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2480 +0FC0 +8A40 +5FC0 +2200 +2FC0 +C200 +5FE0 +4480 +5860 +ENDCHAR +STARTCHAR U_6F23 +ENCODING 28451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +2880 +0BE0 +82A0 +5BE0 +2AA0 +2BE0 +C880 +4BE0 +5480 +63E0 +ENDCHAR +STARTCHAR U_6F24 +ENCODING 28452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +3FE0 +0880 +9DC0 +6AA0 +2200 +3FE0 +C240 +4480 +4380 +5C60 +ENDCHAR +STARTCHAR U_6F25 +ENCODING 28453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +1460 +8920 +47C0 +2100 +2FE0 +C100 +47C0 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6F26 +ENCODING 28454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7DE0 +1120 +FEC0 +38C0 +D520 +7FE0 +4200 +7B60 +4A80 +B660 +ENDCHAR +STARTCHAR U_6F27 +ENCODING 28455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3F80 +04E0 +8F00 +5AE0 +2E20 +2A40 +CE80 +44A0 +5FA0 +44E0 +ENDCHAR +STARTCHAR U_6F28 +ENCODING 28456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +53C0 +1680 +8100 +5EE0 +4900 +4FC0 +4900 +CFC0 +5900 +67E0 +ENDCHAR +STARTCHAR U_6F29 +ENCODING 28457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +2500 +1FE0 +8A00 +4DE0 +3440 +3560 +D540 +5540 +56C0 +5460 +ENDCHAR +STARTCHAR U_6F2A +ENCODING 28458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5480 +2BE0 +1940 +8A20 +4FE0 +2820 +2BA0 +DAA0 +6BA0 +4820 +5860 +ENDCHAR +STARTCHAR U_6F2B +ENCODING 28459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +9440 +5FE0 +2AA0 +2FE0 +C440 +4280 +4380 +4C60 +ENDCHAR +STARTCHAR U_6F2C +ENCODING 28460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +9FE0 +4100 +2FE0 +2440 +C7C0 +4440 +47C0 +4C60 +ENDCHAR +STARTCHAR U_6F2D +ENCODING 28461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +0480 +8240 +4FE0 +2440 +2AA0 +DFE0 +4280 +4480 +4880 +ENDCHAR +STARTCHAR U_6F2E +ENCODING 28462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0940 +8FE0 +4940 +2FC0 +2920 +CD40 +4B80 +5540 +6B20 +ENDCHAR +STARTCHAR U_6F2F +ENCODING 28463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2940 +0FC0 +8940 +5FC0 +2200 +2F80 +C240 +5FE0 +4940 +5320 +ENDCHAR +STARTCHAR U_6F30 +ENCODING 28464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2920 +0FE0 +9000 +5EE0 +2AA0 +2EE0 +CAA0 +4EE0 +52A0 +6760 +ENDCHAR +STARTCHAR U_6F31 +ENCODING 28465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3F80 +0480 +9FE0 +5520 +3F40 +2440 +CE40 +5540 +64A0 +4520 +ENDCHAR +STARTCHAR U_6F32 +ENCODING 28466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BE0 +2A00 +0BC0 +9A00 +53C0 +3200 +3FE0 +CAA0 +4AC0 +6B40 +5220 +ENDCHAR +STARTCHAR U_6F33 +ENCODING 28467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0280 +9FE0 +5440 +27C0 +2440 +C7C0 +4100 +5FE0 +4100 +ENDCHAR +STARTCHAR U_6F34 +ENCODING 28468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9240 +5FC0 +0200 +9FE0 +6020 +2F80 +4000 +DFE0 +4A80 +5240 +4600 +ENDCHAR +STARTCHAR U_6F35 +ENCODING 28469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +0AE0 +9FA0 +44A0 +3FA0 +24A0 +CEA0 +5540 +64A0 +4D20 +ENDCHAR +STARTCHAR U_6F36 +ENCODING 28470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +1540 +9FE0 +4920 +2FE0 +2100 +C240 +5520 +5440 +63C0 +ENDCHAR +STARTCHAR U_6F37 +ENCODING 28471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +3FE0 +0AA0 +8AA0 +4EC0 +20A0 +3EA0 +C4A0 +5EE0 +4480 +4C80 +ENDCHAR +STARTCHAR U_6F38 +ENCODING 28472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +3F00 +0500 +9FE0 +5540 +3F40 +3540 +DF40 +4540 +5F40 +4540 +ENDCHAR +STARTCHAR U_6F39 +ENCODING 28473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +05C0 +8500 +5FE0 +2400 +27C0 +C800 +4FE0 +4AA0 +5560 +ENDCHAR +STARTCHAR U_6F3A +ENCODING 28474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +8BA0 +4540 +2BA0 +2540 +CBA0 +4280 +4440 +5820 +ENDCHAR +STARTCHAR U_6F3B +ENCODING 28475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2AA0 +0660 +9AA0 +4300 +2480 +3A60 +C500 +4640 +4080 +4700 +ENDCHAR +STARTCHAR U_6F3C +ENCODING 28476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2FE0 +0500 +8500 +4FE0 +2900 +3FE0 +C900 +4FE0 +4900 +4FE0 +ENDCHAR +STARTCHAR U_6F3D +ENCODING 28477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FC0 +5040 +1FC0 +9540 +7380 +3D40 +5500 +D7C0 +5900 +6FE0 +4100 +ENDCHAR +STARTCHAR U_6F3E +ENCODING 28478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +3FE0 +0100 +8FC0 +4100 +3FE0 +2220 +CF40 +4580 +4940 +5320 +ENDCHAR +STARTCHAR U_6F3F +ENCODING 28479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53C0 +5680 +7940 +17E0 +F240 +55C0 +8400 +76C0 +1500 +2480 +CC60 +ENDCHAR +STARTCHAR U_6F40 +ENCODING 28480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +0FE0 +8000 +40E0 +2F00 +2540 +C540 +4BA0 +5120 +4100 +ENDCHAR +STARTCHAR U_6F41 +ENCODING 28481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BE0 +7080 +4BE0 +3A20 +17E0 +FA20 +33E0 +5A20 +57E0 +9140 +3620 +ENDCHAR +STARTCHAR U_6F42 +ENCODING 28482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5240 +1FC0 +C880 +2500 +3FE0 +4500 +D540 +4D80 +4500 +5FE0 +ENDCHAR +STARTCHAR U_6F43 +ENCODING 28483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +29E0 +1340 +8480 +4BE0 +3E40 +2BC0 +CA40 +4BC0 +4A40 +4AC0 +ENDCHAR +STARTCHAR U_6F44 +ENCODING 28484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +7E80 +0880 +BFE0 +6B40 +3F40 +5940 +DC80 +6A80 +4940 +4A20 +ENDCHAR +STARTCHAR U_6F45 +ENCODING 28485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5200 +2FE0 +8500 +6FE0 +1900 +6FC0 +C900 +4FC0 +4900 +4FE0 +ENDCHAR +STARTCHAR U_6F46 +ENCODING 28486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +0280 +9FE0 +52A0 +2F00 +2240 +CFE0 +4500 +4940 +5320 +ENDCHAR +STARTCHAR U_6F47 +ENCODING 28487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +5FE0 +0480 +8FC0 +4140 +3FE0 +2140 +CFC0 +4920 +4BA0 +5560 +ENDCHAR +STARTCHAR U_6F48 +ENCODING 28488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4AA0 +0AA0 +8FE0 +4200 +2D20 +4340 +CD80 +4340 +5D20 +4300 +ENDCHAR +STARTCHAR U_6F49 +ENCODING 28489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4940 +0FC0 +8840 +6FC0 +2840 +4FC0 +C920 +4DC0 +4920 +4CE0 +ENDCHAR +STARTCHAR U_6F4A +ENCODING 28490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8440 +4640 +0960 +9F40 +44E0 +1EA0 +24A0 +CE40 +5540 +44A0 +4D20 +ENDCHAR +STARTCHAR U_6F4B +ENCODING 28491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2A80 +11E0 +8EA0 +40A0 +29A0 +35A0 +CAA0 +4340 +5CA0 +4120 +ENDCHAR +STARTCHAR U_6F4C +ENCODING 28492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3FE0 +9520 +6880 +2FC0 +4480 +4FC0 +C200 +4FC0 +4200 +5FE0 +ENDCHAR +STARTCHAR U_6F4D +ENCODING 28493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +29E0 +1740 +9D40 +49E0 +2B40 +2DE0 +C140 +4D40 +71E0 +4100 +ENDCHAR +STARTCHAR U_6F4E +ENCODING 28494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5580 +2E80 +04E0 +9FA0 +5520 +3520 +3F20 +D5A0 +5540 +55A0 +5320 +ENDCHAR +STARTCHAR U_6F4F +ENCODING 28495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2280 +0FE0 +84A0 +5980 +2FE0 +2AA0 +CFE0 +4AA0 +4BA0 +4860 +ENDCHAR +STARTCHAR U_6F50 +ENCODING 28496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2FE0 +0900 +9FC0 +4900 +2FC0 +2900 +CFE0 +4940 +52A0 +52A0 +ENDCHAR +STARTCHAR U_6F51 +ENCODING 28497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5D40 +34A0 +0840 +9DE0 +4540 +3D60 +3000 +DFE0 +4540 +5480 +4B60 +ENDCHAR +STARTCHAR U_6F52 +ENCODING 28498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +2480 +0FE0 +9920 +4FE0 +2220 +2D40 +C280 +4DC0 +42A0 +4D80 +ENDCHAR +STARTCHAR U_6F53 +ENCODING 28499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +0920 +8FE0 +4920 +2FE0 +2140 +CFE0 +4540 +5460 +63C0 +ENDCHAR +STARTCHAR U_6F54 +ENCODING 28500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +24A0 +1EA0 +84A0 +5F60 +2480 +2F00 +C240 +5FE0 +4940 +5320 +ENDCHAR +STARTCHAR U_6F55 +ENCODING 28501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8800 +5FE0 +3540 +9540 +5FE0 +3540 +3540 +DFE0 +4D40 +52A0 +52A0 +ENDCHAR +STARTCHAR U_6F56 +ENCODING 28502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +4440 +1EE0 +8440 +7EE0 +2000 +4FC0 +CA40 +4FC0 +4820 +47E0 +ENDCHAR +STARTCHAR U_6F57 +ENCODING 28503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +27E0 +0D00 +97C0 +4500 +27C0 +2500 +CFE0 +4380 +4540 +5920 +ENDCHAR +STARTCHAR U_6F58 +ENCODING 28504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +3E40 +0A80 +9FE0 +4A80 +3240 +3FE0 +CA40 +4FC0 +4A40 +4FC0 +ENDCHAR +STARTCHAR U_6F59 +ENCODING 28505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +81C0 +4E40 +0A80 +9F80 +6880 +2FC0 +4840 +CFE0 +4020 +5AA0 +5560 +ENDCHAR +STARTCHAR U_6F5A +ENCODING 28506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2240 +0FE0 +8240 +5FC0 +36A0 +3EE0 +D220 +5EE0 +5AA0 +6AA0 +ENDCHAR +STARTCHAR U_6F5B +ENCODING 28507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +3540 +1FE0 +8C40 +4EE0 +3540 +2FC0 +C840 +4FC0 +4840 +4FC0 +ENDCHAR +STARTCHAR U_6F5C +ENCODING 28508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +5DC0 +0880 +BDE0 +4880 +1540 +2FA0 +C880 +4F80 +4880 +4F80 +ENDCHAR +STARTCHAR U_6F5D +ENCODING 28509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2840 +17E0 +8440 +47C0 +2000 +3FE0 +CAA0 +4660 +5BA0 +4660 +ENDCHAR +STARTCHAR U_6F5E +ENCODING 28510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +32E0 +1320 +9EC0 +44C0 +2520 +3620 +D5E0 +5520 +7720 +59E0 +ENDCHAR +STARTCHAR U_6F5F +ENCODING 28511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +46C0 +2840 +0EC0 +8840 +4FC0 +2400 +2FE0 +D020 +4560 +4AA0 +4040 +ENDCHAR +STARTCHAR U_6F60 +ENCODING 28512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DC0 +3540 +1DC0 +9120 +5FE0 +2480 +2FC0 +C480 +5FE0 +4480 +5860 +ENDCHAR +STARTCHAR U_6F61 +ENCODING 28513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3F80 +0AE0 +8AA0 +4FA0 +20A0 +3EA0 +C440 +5F40 +44A0 +4D20 +ENDCHAR +STARTCHAR U_6F62 +ENCODING 28514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +0280 +8FE0 +5100 +27C0 +2540 +C7C0 +4540 +47C0 +4C60 +ENDCHAR +STARTCHAR U_6F63 +ENCODING 28515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +0EE0 +8AA0 +4EE0 +2920 +2FE0 +CAA0 +4920 +4AA0 +4860 +ENDCHAR +STARTCHAR U_6F64 +ENCODING 28516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +0EE0 +8AA0 +4EE0 +2BA0 +2920 +CBA0 +4920 +4BA0 +4860 +ENDCHAR +STARTCHAR U_6F65 +ENCODING 28517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FC0 +4500 +1FC0 +9540 +5FC0 +2A40 +4680 +DFE0 +4A80 +5260 +4200 +ENDCHAR +STARTCHAR U_6F66 +ENCODING 28518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3FE0 +14A0 +8FC0 +5460 +27C0 +2440 +C7C0 +4540 +4920 +4300 +ENDCHAR +STARTCHAR U_6F67 +ENCODING 28519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +0FE0 +8AA0 +4920 +2FE0 +2440 +C7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6F68 +ENCODING 28520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FC0 +1540 +9FC0 +40C0 +3F00 +4A40 +D780 +6A80 +5260 +6200 +ENDCHAR +STARTCHAR U_6F69 +ENCODING 28521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +0FE0 +8920 +4FE0 +2280 +2FE0 +C280 +5FE0 +4440 +4820 +ENDCHAR +STARTCHAR U_6F6A +ENCODING 28522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +2EE0 +14A0 +8FA0 +44E0 +2A00 +37C0 +C440 +47C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_6F6B +ENCODING 28523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2FE0 +0200 +8FE0 +4A40 +37A0 +2240 +CFE0 +4580 +4940 +5320 +ENDCHAR +STARTCHAR U_6F6C +ENCODING 28524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +0FE0 +8540 +47C0 +2540 +27C0 +C100 +5FE0 +4100 +4100 +ENDCHAR +STARTCHAR U_6F6D +ENCODING 28525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2280 +0FE0 +8AA0 +4FE0 +2440 +27C0 +C440 +5FE0 +4100 +4100 +ENDCHAR +STARTCHAR U_6F6E +ENCODING 28526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +3EA0 +04A0 +9EE0 +52A0 +1EA0 +32E0 +DEA0 +44A0 +5EA0 +4560 +ENDCHAR +STARTCHAR U_6F6F +ENCODING 28527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2040 +07C0 +8040 +4FE0 +24A0 +2EE0 +C040 +5FE0 +4840 +44C0 +ENDCHAR +STARTCHAR U_6F70 +ENCODING 28528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FC0 +0940 +9FE0 +4840 +2FC0 +2840 +CFC0 +4840 +4FC0 +5860 +ENDCHAR +STARTCHAR U_6F71 +ENCODING 28529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2200 +1FE0 +9020 +4FC0 +2000 +4FC0 +C840 +4FC0 +4480 +5FE0 +ENDCHAR +STARTCHAR U_6F72 +ENCODING 28530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4680 +3DA0 +04C0 +9FE0 +4520 +2DE0 +2F20 +D5E0 +6520 +4520 +4560 +ENDCHAR +STARTCHAR U_6F73 +ENCODING 28531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +0FE0 +8900 +4FE0 +2940 +2FE0 +CA20 +4FE0 +5220 +63E0 +ENDCHAR +STARTCHAR U_6F74 +ENCODING 28532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +35E0 +08A0 +97E0 +4480 +2DE0 +3520 +C7E0 +4520 +55E0 +4920 +ENDCHAR +STARTCHAR U_6F75 +ENCODING 28533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9480 +7E80 +14E0 +BF40 +6140 +3F40 +5280 +DE80 +5280 +5F60 +5240 +ENDCHAR +STARTCHAR U_6F76 +ENCODING 28534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +0920 +8FE0 +5100 +2FE0 +2100 +CFE0 +4000 +4AA0 +4AA0 +ENDCHAR +STARTCHAR U_6F77 +ENCODING 28535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8EE0 +5540 +2220 +9FC0 +4240 +3FE0 +2240 +DFE0 +4200 +7FE0 +4200 +ENDCHAR +STARTCHAR U_6F78 +ENCODING 28536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +3FE0 +0440 +8EE0 +5540 +27C0 +2440 +C7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_6F79 +ENCODING 28537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FC0 +0700 +8A80 +5240 +0A80 +5FC0 +CD80 +5AC0 +6AA0 +4880 +ENDCHAR +STARTCHAR U_6F7A +ENCODING 28538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +0FE0 +8880 +4FE0 +2900 +2FE0 +CA40 +4FE0 +5240 +66C0 +ENDCHAR +STARTCHAR U_6F7B +ENCODING 28539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +0FE0 +8540 +4920 +3380 +2D60 +C540 +4380 +4540 +5B20 +ENDCHAR +STARTCHAR U_6F7C +ENCODING 28540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0280 +8100 +5FE0 +2540 +27C0 +C540 +47C0 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6F7D +ENCODING 28541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +3FE0 +0AA0 +86C0 +5FE0 +2000 +27C0 +C440 +47C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_6F7E +ENCODING 28542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +0FE0 +8540 +4920 +3040 +2FE0 +C940 +57E0 +4840 +5040 +ENDCHAR +STARTCHAR U_6F7F +ENCODING 28543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +3220 +17A0 +92A0 +5FE0 +34A0 +3FE0 +D520 +57E0 +5120 +5FE0 +ENDCHAR +STARTCHAR U_6F80 +ENCODING 28544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2AA0 +1BA0 +8AA0 +5320 +2440 +2440 +D760 +5540 +5D40 +73E0 +ENDCHAR +STARTCHAR U_6F81 +ENCODING 28545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4BC0 +0A00 +9FE0 +4000 +2440 +5760 +D540 +5F40 +71E0 +4000 +ENDCHAR +STARTCHAR U_6F82 +ENCODING 28546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +3540 +1FE0 +80A0 +4EA0 +21A0 +3EA0 +C4A0 +4E40 +44A0 +5F20 +ENDCHAR +STARTCHAR U_6F83 +ENCODING 28547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +C540 +26C0 +D540 +27C0 +C440 +0820 +7580 +1600 +2500 +CCC0 +ENDCHAR +STARTCHAR U_6F84 +ENCODING 28548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F40 +2AA0 +0440 +8FC0 +5020 +27C0 +2440 +C7C0 +4440 +4280 +4FE0 +ENDCHAR +STARTCHAR U_6F85 +ENCODING 28549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2140 +0FE0 +9140 +57C0 +2100 +3FE0 +C540 +47C0 +4540 +5FE0 +ENDCHAR +STARTCHAR U_6F86 +ENCODING 28550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +9FE0 +4440 +2EE0 +2440 +DFE0 +4480 +48A0 +5060 +ENDCHAR +STARTCHAR U_6F87 +ENCODING 28551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9540 +4EE0 +0440 +8AA0 +4FE0 +2A20 +2FC0 +C240 +4240 +4440 +58C0 +ENDCHAR +STARTCHAR U_6F88 +ENCODING 28552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +3F00 +15E0 +BD40 +4340 +3D40 +5540 +DC80 +5480 +5D40 +5620 +ENDCHAR +STARTCHAR U_6F89 +ENCODING 28553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +2480 +1FE0 +8AA0 +4EA0 +2AA0 +2EA0 +CAA0 +5F40 +42A0 +4320 +ENDCHAR +STARTCHAR U_6F8A +ENCODING 28554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +5FE0 +0500 +9FC0 +5540 +38C0 +5740 +D0C0 +7FE0 +4480 +4180 +ENDCHAR +STARTCHAR U_6F8B +ENCODING 28555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +9440 +57C0 +2100 +2FE0 +C440 +47C0 +4940 +5320 +ENDCHAR +STARTCHAR U_6F8C +ENCODING 28556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AE0 +3F80 +0A80 +8EE0 +4AA0 +2EA0 +2AA0 +DFA0 +4AA0 +52A0 +6120 +ENDCHAR +STARTCHAR U_6F8D +ENCODING 28557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +3F20 +04E0 +9F20 +4020 +3F20 +32A0 +DEA0 +4A20 +44A0 +5E40 +ENDCHAR +STARTCHAR U_6F8E +ENCODING 28558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +3F20 +0440 +8E80 +4020 +0F40 +2980 +CF20 +4920 +4640 +5980 +ENDCHAR +STARTCHAR U_6F8F +ENCODING 28559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2480 +8780 +4000 +3DE0 +5520 +5DE0 +C200 +5220 +5220 +5FE0 +ENDCHAR +STARTCHAR U_6F90 +ENCODING 28560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +0FE0 +8920 +52A0 +2FC0 +2000 +CFE0 +4280 +4440 +4FA0 +ENDCHAR +STARTCHAR U_6F91 +ENCODING 28561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4280 +0EE0 +8AA0 +5EE0 +2280 +4FE0 +C920 +4FE0 +4920 +4FE0 +ENDCHAR +STARTCHAR U_6F92 +ENCODING 28562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +2080 +1FE0 +8A20 +4BE0 +2A20 +2FE0 +DA20 +43E0 +4140 +4620 +ENDCHAR +STARTCHAR U_6F93 +ENCODING 28563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4600 +2BE0 +1240 +87C0 +4A40 +3BC0 +2900 +CBE0 +4D40 +4880 +4F60 +ENDCHAR +STARTCHAR U_6F94 +ENCODING 28564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +2940 +1DE0 +9640 +57E0 +3C00 +35E0 +D520 +5D20 +55E0 +4120 +ENDCHAR +STARTCHAR U_6F95 +ENCODING 28565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +0280 +9FE0 +5540 +2FE0 +2540 +CFE0 +4100 +4FE0 +4100 +ENDCHAR +STARTCHAR U_6F96 +ENCODING 28566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +0EE0 +8AA0 +4EE0 +2920 +2FE0 +C920 +4BA0 +4D60 +4860 +ENDCHAR +STARTCHAR U_6F97 +ENCODING 28567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +0EE0 +8AA0 +4EE0 +2BA0 +2AA0 +CBA0 +4AA0 +4BA0 +4860 +ENDCHAR +STARTCHAR U_6F98 +ENCODING 28568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +5FE0 +8DC0 +5AA0 +2A80 +2000 +4FC0 +C840 +4FC0 +4840 +4FC0 +ENDCHAR +STARTCHAR U_6F99 +ENCODING 28569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +39C0 +1040 +9DC0 +5040 +3FC0 +4800 +DFE0 +4020 +55A0 +5540 +ENDCHAR +STARTCHAR U_6F9A +ENCODING 28570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +5FC0 +1AC0 +9FC0 +5740 +1AC0 +3FE0 +C400 +47C0 +4040 +40C0 +ENDCHAR +STARTCHAR U_6F9B +ENCODING 28571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8780 +5900 +0FC0 +CA40 +1FC0 +2A40 +3FE0 +C880 +4F80 +4880 +4F80 +ENDCHAR +STARTCHAR U_6F9C +ENCODING 28572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +2520 +1FE0 +9120 +5FE0 +3560 +3FE0 +D120 +53A0 +5560 +5160 +ENDCHAR +STARTCHAR U_6F9D +ENCODING 28573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +1240 +8CA0 +5380 +2FC0 +2A40 +CFC0 +4A40 +4FC0 +4A40 +ENDCHAR +STARTCHAR U_6F9E +ENCODING 28574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2100 +0FE0 +8920 +4FC0 +2920 +2FE0 +CC40 +5FE0 +6280 +4C60 +ENDCHAR +STARTCHAR U_6F9F +ENCODING 28575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3FE0 +1040 +9740 +1540 +5FC0 +4200 +DFE0 +4680 +5A60 +4200 +ENDCHAR +STARTCHAR U_6FA0 +ENCODING 28576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +3540 +1DC0 +8500 +5DC0 +3540 +3DC0 +D540 +5DC0 +4520 +43E0 +ENDCHAR +STARTCHAR U_6FA1 +ENCODING 28577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +8000 +4EE0 +2AA0 +2EE0 +C100 +5FE0 +4540 +5920 +ENDCHAR +STARTCHAR U_6FA2 +ENCODING 28578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +1FE0 +94A0 +4780 +2000 +2FE0 +C920 +4FE0 +4920 +4FE0 +ENDCHAR +STARTCHAR U_6FA3 +ENCODING 28579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3EC0 +0520 +9E00 +53E0 +3E40 +33E0 +DE40 +4440 +5E40 +4440 +ENDCHAR +STARTCHAR U_6FA4 +ENCODING 28580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +0FE0 +8100 +47C0 +2100 +2FE0 +C280 +4100 +4FE0 +4100 +ENDCHAR +STARTCHAR U_6FA5 +ENCODING 28581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +2EA0 +12A0 +9F20 +5540 +3FE0 +3540 +D5E0 +5F40 +5540 +6340 +ENDCHAR +STARTCHAR U_6FA6 +ENCODING 28582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +3480 +09E0 +9F20 +4BE0 +2920 +29E0 +C920 +49E0 +6940 +5220 +ENDCHAR +STARTCHAR U_6FA7 +ENCODING 28583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +0AA0 +8FE0 +4AA0 +3FE0 +2840 +CFC0 +4480 +4300 +5FE0 +ENDCHAR +STARTCHAR U_6FA8 +ENCODING 28584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2A40 +1120 +8000 +4FE0 +2940 +2940 +D5A0 +5520 +4100 +5FE0 +ENDCHAR +STARTCHAR U_6FA9 +ENCODING 28585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +71C0 +4A40 +75C0 +4A40 +75C0 +4A40 +FFE0 +8220 +7B40 +1280 +E660 +ENDCHAR +STARTCHAR U_6FAA +ENCODING 28586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +0FE0 +8920 +5540 +2AA0 +2540 +CFE0 +4080 +4300 +4080 +ENDCHAR +STARTCHAR U_6FAB +ENCODING 28587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +0280 +97C0 +5540 +27C0 +2D40 +CFE0 +4960 +4FA0 +4860 +ENDCHAR +STARTCHAR U_6FAC +ENCODING 28588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +25E0 +06A0 +8940 +4220 +27C0 +2440 +C7C0 +4440 +47C0 +4C60 +ENDCHAR +STARTCHAR U_6FAD +ENCODING 28589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +0940 +8BE0 +5540 +39E0 +2B40 +D5E0 +5D40 +49E0 +5100 +ENDCHAR +STARTCHAR U_6FAE +ENCODING 28590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +2440 +0BA0 +9000 +5FE0 +2AA0 +2FE0 +C440 +47C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_6FAF +ENCODING 28591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +46E0 +24A0 +0E40 +92A0 +4D20 +2920 +3540 +DFE0 +4580 +4940 +5120 +ENDCHAR +STARTCHAR U_6FB0 +ENCODING 28592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2380 +0440 +9BA0 +5000 +2EE0 +2AA0 +CEE0 +4440 +4AA0 +5120 +ENDCHAR +STARTCHAR U_6FB1 +ENCODING 28593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BEE0 +62A0 +3EA0 +AAA0 +7F00 +2AE0 +6AA0 +BFA0 +A040 +CAA0 +9120 +ENDCHAR +STARTCHAR U_6FB2 +ENCODING 28594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AA0 +26C0 +0FE0 +8280 +4FE0 +2100 +2FE0 +C100 +4FE0 +4540 +4920 +ENDCHAR +STARTCHAR U_6FB3 +ENCODING 28595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +0D60 +8BA0 +4FE0 +2920 +2BA0 +CD60 +5FE0 +4480 +5860 +ENDCHAR +STARTCHAR U_6FB4 +ENCODING 28596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +0FE0 +9000 +5FE0 +2440 +27C0 +C520 +4CC0 +5540 +4620 +ENDCHAR +STARTCHAR U_6FB5 +ENCODING 28597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9020 +49C0 +3F00 +9500 +7FE0 +2940 +7F40 +CD40 +5B40 +6940 +4A40 +ENDCHAR +STARTCHAR U_6FB6 +ENCODING 28598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +0AA0 +8BA0 +4820 +2FE0 +2440 +C7C0 +4440 +4440 +5FE0 +ENDCHAR +STARTCHAR U_6FB7 +ENCODING 28599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8F80 +4880 +0F80 +8880 +5FC0 +1540 +3FC0 +C200 +5FE0 +4480 +4980 +ENDCHAR +STARTCHAR U_6FB8 +ENCODING 28600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40A0 +2FE0 +8880 +4EA0 +2AA0 +2EC0 +5160 +E220 +5540 +5460 +63C0 +ENDCHAR +STARTCHAR U_6FB9 +ENCODING 28601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2480 +1FE0 +8AA0 +4FE0 +2800 +2BC0 +C800 +4FE0 +5420 +67E0 +ENDCHAR +STARTCHAR U_6FBA +ENCODING 28602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0280 +8FE0 +4440 +27C0 +2440 +C7C0 +5540 +54A0 +63E0 +ENDCHAR +STARTCHAR U_6FBB +ENCODING 28603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8440 +6280 +1FC0 +9200 +4540 +3380 +5D40 +D320 +5500 +7900 +47E0 +ENDCHAR +STARTCHAR U_6FBC +ENCODING 28604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E40 +2BE0 +0AA0 +8E40 +49E0 +2E40 +2BE0 +DA40 +6A40 +4E40 +4A40 +ENDCHAR +STARTCHAR U_6FBD +ENCODING 28605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +2100 +0FE0 +8A80 +4B20 +2FE0 +2900 +CEA0 +49C0 +56A0 +6120 +ENDCHAR +STARTCHAR U_6FBE +ENCODING 28606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +47C0 +1100 +97E0 +4280 +37C0 +5100 +D7E0 +5100 +5900 +67E0 +ENDCHAR +STARTCHAR U_6FBF +ENCODING 28607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +3FE0 +0440 +8EE0 +5540 +2440 +2FC0 +C000 +5FE0 +4940 +5320 +ENDCHAR +STARTCHAR U_6FC0 +ENCODING 28608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3E80 +12E0 +9EA0 +53A0 +3EA0 +28A0 +DFA0 +4A40 +52A0 +6520 +ENDCHAR +STARTCHAR U_6FC1 +ENCODING 28609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +0FE0 +8400 +4FE0 +3220 +2FA0 +CAA0 +4FA0 +42A0 +4FE0 +ENDCHAR +STARTCHAR U_6FC2 +ENCODING 28610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0A40 +8FE0 +4AA0 +2FE0 +2AA0 +CFE0 +52C0 +66A0 +6AA0 +ENDCHAR +STARTCHAR U_6FC3 +ENCODING 28611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +8AA0 +4FE0 +2AA0 +2FE0 +2800 +CFE0 +4D40 +5480 +6660 +ENDCHAR +STARTCHAR U_6FC4 +ENCODING 28612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A7C0 +5440 +1740 +8540 +7FE0 +2820 +2BA0 +CAA0 +4BA0 +5400 +63E0 +ENDCHAR +STARTCHAR U_6FC5 +ENCODING 28613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +7FE0 +20A0 +8F80 +4080 +3FE0 +2220 +CF80 +4500 +4200 +4DC0 +ENDCHAR +STARTCHAR U_6FC6 +ENCODING 28614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8540 +4FE0 +2440 +27C0 +2440 +C7C0 +4440 +47C0 +4C60 +ENDCHAR +STARTCHAR U_6FC7 +ENCODING 28615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8540 +4BA0 +3FE0 +2820 +2BA0 +CAA0 +4BA0 +4820 +4FE0 +ENDCHAR +STARTCHAR U_6FC8 +ENCODING 28616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EC0 +2AA0 +8E80 +40E0 +3F80 +2AA0 +2EA0 +CA40 +4E40 +4A60 +5FA0 +ENDCHAR +STARTCHAR U_6FC9 +ENCODING 28617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +3D40 +95E0 +5F40 +1540 +15E0 +3D40 +D5E0 +5D40 +5540 +41E0 +ENDCHAR +STARTCHAR U_6FCA +ENCODING 28618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +2500 +8FE0 +40A0 +2FE0 +2A80 +2AA0 +CEA0 +4B40 +52A0 +6520 +ENDCHAR +STARTCHAR U_6FCB +ENCODING 28619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +3FE0 +8440 +4EE0 +3540 +2440 +3FE0 +C920 +49C0 +5500 +63E0 +ENDCHAR +STARTCHAR U_6FCC +ENCODING 28620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +26A0 +F9C0 +AEA0 +F980 +A800 +FBE0 +2220 +FBE0 +2220 +FBE0 +ENDCHAR +STARTCHAR U_6FCD +ENCODING 28621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3FE0 +8480 +4FE0 +2AA0 +3720 +2DA0 +C6C0 +5940 +68A0 +47A0 +ENDCHAR +STARTCHAR U_6FCE +ENCODING 28622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +2AA0 +8BA0 +4AA0 +2BA0 +2AA0 +2FE0 +C280 +5EE0 +4AA0 +52A0 +ENDCHAR +STARTCHAR U_6FCF +ENCODING 28623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2440 +8EE0 +4440 +2EE0 +2100 +24C0 +D4A0 +5520 +6640 +5BC0 +ENDCHAR +STARTCHAR U_6FD0 +ENCODING 28624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +4A40 +0FC0 +8220 +4FC0 +2280 +3FE0 +C440 +7FC0 +4440 +47C0 +ENDCHAR +STARTCHAR U_6FD1 +ENCODING 28625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +88E0 +7F40 +09E0 +BE20 +6AA0 +2AA0 +7EA0 +CAA0 +5EA0 +6B40 +4A20 +ENDCHAR +STARTCHAR U_6FD2 +ENCODING 28626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +2E80 +8BE0 +5E20 +2AA0 +2AA0 +3AA0 +CAA0 +4680 +4940 +5220 +ENDCHAR +STARTCHAR U_6FD3 +ENCODING 28627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +0480 +9FE0 +5540 +3FE0 +5540 +DFC0 +5580 +6D60 +5500 +ENDCHAR +STARTCHAR U_6FD4 +ENCODING 28628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2540 +8920 +4FE0 +2DA0 +2B60 +2DA0 +CB60 +4DA0 +4920 +4960 +ENDCHAR +STARTCHAR U_6FD5 +ENCODING 28629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +9FE0 +5820 +2FE0 +2540 +3EE0 +CAA0 +5FE0 +4D40 +52A0 +ENDCHAR +STARTCHAR U_6FD6 +ENCODING 28630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FC0 +5540 +1FC0 +8220 +5FC0 +2280 +5FE0 +F880 +4F80 +4880 +4F80 +ENDCHAR +STARTCHAR U_6FD7 +ENCODING 28631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8500 +5FE0 +0500 +8F80 +4A80 +3FE0 +2A80 +DFC0 +6AA0 +4B80 +4200 +ENDCHAR +STARTCHAR U_6FD8 +ENCODING 28632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8AA0 +4640 +2940 +2FE0 +2AA0 +DFE0 +4100 +4100 +4700 +ENDCHAR +STARTCHAR U_6FD9 +ENCODING 28633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +5DC0 +0880 +9540 +5FE0 +1020 +2A40 +CA80 +5300 +4480 +5860 +ENDCHAR +STARTCHAR U_6FDA +ENCODING 28634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FC0 +8480 +4B40 +1FE0 +3220 +2FC0 +C700 +4A80 +5260 +4200 +ENDCHAR +STARTCHAR U_6FDB +ENCODING 28635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +8280 +4FE0 +2820 +2FE0 +2340 +DC80 +42C0 +5CA0 +4320 +ENDCHAR +STARTCHAR U_6FDC +ENCODING 28636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FC0 +8140 +4FE0 +2140 +3FE0 +2AA0 +CFE0 +4AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_6FDD +ENCODING 28637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3FE0 +8480 +4780 +2480 +3FE0 +2A40 +D520 +4FC0 +4940 +5320 +ENDCHAR +STARTCHAR U_6FDE +ENCODING 28638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27C0 +9440 +5440 +2FE0 +2920 +2FE0 +C920 +5FE0 +4440 +4840 +ENDCHAR +STARTCHAR U_6FDF +ENCODING 28639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3FE0 +8540 +5EA0 +2AA0 +2AA0 +3200 +CFC0 +4840 +4FC0 +5040 +ENDCHAR +STARTCHAR U_6FE0 +ENCODING 28640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8440 +5FE0 +3020 +2FC0 +2940 +D280 +4DC0 +42A0 +5D20 +ENDCHAR +STARTCHAR U_6FE1 +ENCODING 28641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +8FE0 +4920 +2BA0 +2540 +2FE0 +C100 +4FE0 +4AA0 +4AE0 +ENDCHAR +STARTCHAR U_6FE2 +ENCODING 28642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2AA0 +8660 +4AA0 +2120 +3FC0 +2480 +CB40 +5FE0 +4100 +4100 +ENDCHAR +STARTCHAR U_6FE3 +ENCODING 28643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3F40 +8420 +5F40 +32C0 +3F40 +32C0 +DE60 +45C0 +5E40 +4440 +ENDCHAR +STARTCHAR U_6FE4 +ENCODING 28644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3FE0 +8200 +5FE0 +2220 +2FC0 +2040 +DFE0 +5540 +5D40 +40C0 +ENDCHAR +STARTCHAR U_6FE5 +ENCODING 28645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8780 +4D00 +0600 +BFE0 +5220 +2FC0 +2A40 +CFC0 +4A40 +4FC0 +4480 +ENDCHAR +STARTCHAR U_6FE6 +ENCODING 28646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +2920 +9FE0 +4200 +3FE0 +2040 +2FC0 +C040 +5FC0 +5920 +6FC0 +ENDCHAR +STARTCHAR U_6FE7 +ENCODING 28647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5B20 +2A20 +9F20 +4AE0 +2420 +3F20 +24A0 +DF60 +4420 +5F20 +4060 +ENDCHAR +STARTCHAR U_6FE8 +ENCODING 28648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2500 +9FE0 +4440 +2AA0 +2440 +2AA0 +DEE0 +5540 +54A0 +63A0 +ENDCHAR +STARTCHAR U_6FE9 +ENCODING 28649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +8480 +4FE0 +3480 +27E0 +2480 +CFE0 +4240 +4180 +4E60 +ENDCHAR +STARTCHAR U_6FEA +ENCODING 28650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +5EE0 +0940 +9DE0 +6960 +3FA0 +55E0 +DD00 +5500 +5D20 +54E0 +ENDCHAR +STARTCHAR U_6FEB +ENCODING 28651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +3480 +1EE0 +9280 +5F40 +3420 +3E00 +C000 +5FC0 +5540 +7FE0 +ENDCHAR +STARTCHAR U_6FEC +ENCODING 28652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2100 +1FE0 +94A0 +4B40 +2480 +2FE0 +C440 +47C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_6FED +ENCODING 28653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +3FE0 +0540 +8FC0 +4100 +2FE0 +2200 +C440 +4FE0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_6FEE +ENCODING 28654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2B60 +0FE0 +8940 +5FE0 +2880 +2BE0 +C880 +4FE0 +4940 +4A20 +ENDCHAR +STARTCHAR U_6FEF +ENCODING 28655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2AA0 +0660 +8AA0 +6320 +2900 +2FE0 +D900 +4FC0 +4900 +4FE0 +ENDCHAR +STARTCHAR U_6FF0 +ENCODING 28656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4980 +2940 +13E0 +9D40 +4940 +2BE0 +3F40 +C1E0 +5540 +6B40 +41E0 +ENDCHAR +STARTCHAR U_6FF1 +ENCODING 28657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +1020 +8FC0 +4540 +3FC0 +2440 +C7C0 +4440 +47C0 +4C60 +ENDCHAR +STARTCHAR U_6FF2 +ENCODING 28658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +3FA0 +04A0 +9FA0 +5500 +3FE0 +24A0 +DEA0 +4440 +4EA0 +5520 +ENDCHAR +STARTCHAR U_6FF3 +ENCODING 28659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9480 +5FE0 +2480 +9FE0 +4CA0 +3360 +4FC0 +C840 +4FC0 +4840 +4FC0 +ENDCHAR +STARTCHAR U_6FF4 +ENCODING 28660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2EE0 +1440 +8AA0 +5FE0 +3120 +2F20 +C540 +4580 +4940 +5320 +ENDCHAR +STARTCHAR U_6FF5 +ENCODING 28661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +1020 +8FC0 +4A40 +2FC0 +2D40 +CEC0 +5540 +57C0 +6480 +ENDCHAR +STARTCHAR U_6FF6 +ENCODING 28662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9DE0 +5520 +1DE0 +9520 +7FE0 +5220 +DFE0 +5220 +57A0 +54A0 +57E0 +ENDCHAR +STARTCHAR U_6FF7 +ENCODING 28663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0640 +7D80 +14E0 +2C80 +DFE0 +0480 +DFE0 +39A0 +D560 +5B20 +5160 +ENDCHAR +STARTCHAR U_6FF8 +ENCODING 28664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +7FE0 +0A80 +8500 +4F80 +38E0 +2F80 +C880 +4FC0 +5840 +6FC0 +ENDCHAR +STARTCHAR U_6FF9 +ENCODING 28665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FC0 +3740 +1FC0 +8200 +4FC0 +2200 +3FE0 +EAA0 +4FC0 +4200 +5FE0 +ENDCHAR +STARTCHAR U_6FFA +ENCODING 28666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5D40 +37E0 +1540 +9CA0 +5760 +3D40 +37E0 +D520 +5D40 +48A0 +5760 +ENDCHAR +STARTCHAR U_6FFB +ENCODING 28667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C80 +37E0 +16A0 +9BE0 +5480 +37E0 +3620 +DFE0 +5220 +53E0 +5620 +ENDCHAR +STARTCHAR U_6FFC +ENCODING 28668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +2FA0 +1540 +8FA0 +5540 +3FE0 +2100 +DFE0 +4580 +4940 +5120 +ENDCHAR +STARTCHAR U_6FFD +ENCODING 28669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8440 +4EE0 +0440 +8FE0 +6AA0 +27C0 +2540 +C6C0 +4540 +47C0 +4C60 +ENDCHAR +STARTCHAR U_6FFE +ENCODING 28670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2200 +0FE0 +8A20 +4FE0 +2920 +2FE0 +C920 +57E0 +6D40 +47A0 +ENDCHAR +STARTCHAR U_6FFF +ENCODING 28671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +3280 +1FE0 +9280 +57C0 +3540 +37C0 +D540 +5FE0 +6920 +4BA0 +ENDCHAR +STARTCHAR U_7000 +ENCODING 28672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +4440 +07C0 +8440 +5FE0 +2AA0 +57A0 +4400 +CFC0 +5300 +4CC0 +ENDCHAR +STARTCHAR U_7001 +ENCODING 28673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +0100 +9FE0 +4840 +3FE0 +2840 +CFC0 +4A20 +4940 +4CE0 +ENDCHAR +STARTCHAR U_7002 +ENCODING 28674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8700 +4900 +1FC0 +9240 +5FC0 +3240 +5FC0 +E8A0 +4F80 +4880 +4F80 +ENDCHAR +STARTCHAR U_7003 +ENCODING 28675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +81E0 +5D20 +15E0 +9D20 +55E0 +1D00 +37E0 +DCA0 +4360 +54A0 +5360 +ENDCHAR +STARTCHAR U_7004 +ENCODING 28676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +1540 +8EE0 +4AA0 +2EA0 +2AA0 +CEA0 +4AE0 +4D80 +4880 +ENDCHAR +STARTCHAR U_7005 +ENCODING 28677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2F60 +1540 +8AA0 +4FE0 +2820 +2FE0 +C100 +47C0 +4140 +5FE0 +ENDCHAR +STARTCHAR U_7006 +ENCODING 28678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +8FE0 +4AA0 +2FE0 +2440 +C7C0 +4440 +47C0 +4C60 +ENDCHAR +STARTCHAR U_7007 +ENCODING 28679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +1280 +9FE0 +5280 +3FE0 +3540 +D7C0 +5540 +57C0 +6C60 +ENDCHAR +STARTCHAR U_7008 +ENCODING 28680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9DC0 +5540 +0CC0 +9540 +7FE0 +2AA0 +2F80 +CA80 +5FE0 +4200 +4200 +ENDCHAR +STARTCHAR U_7009 +ENCODING 28681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +12A0 +8840 +4EC0 +2840 +2FC0 +C800 +5FE0 +6560 +4AA0 +ENDCHAR +STARTCHAR U_700A +ENCODING 28682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49C0 +3D40 +1620 +95E0 +5D40 +3480 +3760 +C000 +5FC0 +5540 +7FE0 +ENDCHAR +STARTCHAR U_700B +ENCODING 28683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +9960 +4580 +3FE0 +2940 +3FE0 +C940 +4FC0 +4940 +4FC0 +ENDCHAR +STARTCHAR U_700C +ENCODING 28684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +9280 +5FE0 +12A0 +3FE0 +3480 +D7E0 +5480 +57E0 +6AA0 +ENDCHAR +STARTCHAR U_700D +ENCODING 28685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8AA0 +4BE0 +2AA0 +2FE0 +2A40 +CCA0 +57E0 +5080 +6FE0 +ENDCHAR +STARTCHAR U_700E +ENCODING 28686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +8480 +4FE0 +1AA0 +2FE0 +2140 +CFE0 +48A0 +4D60 +5220 +ENDCHAR +STARTCHAR U_700F +ENCODING 28687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FA0 +34A0 +9DA0 +56A0 +09A0 +3FA0 +24A0 +DFA0 +55A0 +4F20 +7860 +ENDCHAR +STARTCHAR U_7010 +ENCODING 28688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +5EC0 +04A0 +BFE0 +4A80 +3BA0 +4AA0 +DBC0 +4AA0 +4F60 +5220 +ENDCHAR +STARTCHAR U_7011 +ENCODING 28689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2840 +8FC0 +4840 +1FE0 +2480 +3FE0 +CD40 +53A0 +4540 +4B20 +ENDCHAR +STARTCHAR U_7012 +ENCODING 28690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +1240 +9740 +6AA0 +5240 +7FE0 +D540 +5740 +5040 +5FC0 +ENDCHAR +STARTCHAR U_7013 +ENCODING 28691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +5280 +2AE0 +8FA0 +50A0 +3720 +52A0 +D740 +5240 +5FA0 +5120 +ENDCHAR +STARTCHAR U_7014 +ENCODING 28692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +3FA0 +84A0 +5FA0 +1000 +2FE0 +24A0 +DFA0 +4440 +4EA0 +5520 +ENDCHAR +STARTCHAR U_7015 +ENCODING 28693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +3680 +95E0 +5F20 +05E0 +2D20 +35E0 +D720 +45E0 +4940 +5220 +ENDCHAR +STARTCHAR U_7016 +ENCODING 28694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +8FE0 +4920 +07C0 +2900 +2FE0 +D900 +4FE0 +4900 +4FE0 +ENDCHAR +STARTCHAR U_7017 +ENCODING 28695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +9120 +4FC0 +2100 +3FE0 +2AA0 +CFE0 +5140 +54A0 +67A0 +ENDCHAR +STARTCHAR U_7018 +ENCODING 28696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2200 +8FE0 +4A20 +0FC0 +2A20 +2FE0 +C940 +4FE0 +5AA0 +6FE0 +ENDCHAR +STARTCHAR U_7019 +ENCODING 28697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +3F20 +8BE0 +4520 +1F20 +25E0 +3F20 +C5E0 +4EC0 +5540 +6E60 +ENDCHAR +STARTCHAR U_701A +ENCODING 28698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +3F40 +8820 +5FE0 +12A0 +3FE0 +32A0 +DFE0 +48A0 +5EA0 +49E0 +ENDCHAR +STARTCHAR U_701B +ENCODING 28699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +8800 +4FE0 +0100 +3FE0 +36A0 +DDE0 +55A0 +56A0 +6D20 +ENDCHAR +STARTCHAR U_701C +ENCODING 28700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BE80 +5480 +1E80 +83E0 +7EA0 +36A0 +2BE0 +7E80 +AA80 +AAA0 +AFE0 +ENDCHAR +STARTCHAR U_701D +ENCODING 28701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2B60 +8A40 +4FE0 +0A40 +2FE0 +2A40 +D100 +55E0 +6500 +4FE0 +ENDCHAR +STARTCHAR U_701E +ENCODING 28702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +7FC0 +0A80 +9DE0 +48A0 +7FE0 +54A0 +DDE0 +5480 +5C80 +5580 +ENDCHAR +STARTCHAR U_701F +ENCODING 28703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +3FE0 +8A80 +5FC0 +0240 +3FE0 +32A0 +DEE0 +5220 +5EE0 +62A0 +ENDCHAR +STARTCHAR U_7020 +ENCODING 28704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +3760 +9540 +4AA0 +1FE0 +3220 +2F00 +C440 +5FA0 +4A80 +7660 +ENDCHAR +STARTCHAR U_7021 +ENCODING 28705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C80 +35E0 +9640 +5BE0 +14A0 +36E0 +3AA0 +D2E0 +52A0 +52A0 +55E0 +ENDCHAR +STARTCHAR U_7022 +ENCODING 28706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +2BE0 +8AA0 +47E0 +1A20 +2BE0 +2A20 +CBE0 +4940 +4A20 +57E0 +ENDCHAR +STARTCHAR U_7023 +ENCODING 28707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +28A0 +8FA0 +5240 +0CA0 +2A80 +3EE0 +C280 +4EE0 +4280 +5FE0 +ENDCHAR +STARTCHAR U_7024 +ENCODING 28708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +8AA0 +4FE0 +0520 +2380 +2D60 +C540 +4C80 +5640 +4C20 +ENDCHAR +STARTCHAR U_7025 +ENCODING 28709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +0660 +8AA0 +7FE0 +2280 +4280 +CFE0 +4AA0 +4BA0 +4860 +ENDCHAR +STARTCHAR U_7026 +ENCODING 28710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40A0 +3FE0 +88A0 +53E0 +2C80 +19E0 +6B20 +D9E0 +6D20 +49E0 +5920 +ENDCHAR +STARTCHAR U_7027 +ENCODING 28711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +3F80 +8AE0 +5F20 +0AE0 +2E80 +2AE0 +CE80 +4AE0 +4AA0 +4EE0 +ENDCHAR +STARTCHAR U_7028 +ENCODING 28712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +3EA0 +85E0 +5F20 +15E0 +1520 +3FE0 +C520 +4FE0 +54C0 +6520 +ENDCHAR +STARTCHAR U_7029 +ENCODING 28713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2440 +9FE0 +44A0 +0EE0 +35A0 +2EE0 +CAA0 +4BE0 +52C0 +6120 +ENDCHAR +STARTCHAR U_702A +ENCODING 28714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +ABE0 +FF40 +A880 +FD60 +1200 +3F80 +20A0 +7FC0 +1500 +ECE0 +ENDCHAR +STARTCHAR U_702B +ENCODING 28715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +3FA0 +84A0 +5FA0 +1400 +2AE0 +3EA0 +CAA0 +5F40 +56A0 +6520 +ENDCHAR +STARTCHAR U_702C +ENCODING 28716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +89E0 +5E80 +09E0 +BF20 +6BE0 +3F20 +5DE0 +DB20 +69E0 +4920 +4A20 +ENDCHAR +STARTCHAR U_702D +ENCODING 28717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +5D40 +0BE0 +BE00 +6BA0 +3EA0 +2BA0 +FEA0 +4BA0 +7EA0 +4AE0 +ENDCHAR +STARTCHAR U_702E +ENCODING 28718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +4200 +1FE0 +BAA0 +6700 +2AE0 +4880 +FDE0 +5DC0 +6AA0 +4880 +ENDCHAR +STARTCHAR U_702F +ENCODING 28719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +3660 +9440 +4AA0 +1FE0 +34A0 +2780 +C000 +4FC0 +4840 +4FC0 +ENDCHAR +STARTCHAR U_7030 +ENCODING 28720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BFE0 +5540 +1920 +BFE0 +6920 +2D60 +3BA0 +4960 +CDA0 +4B60 +5920 +ENDCHAR +STARTCHAR U_7031 +ENCODING 28721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +8FE0 +4A00 +2F20 +2AA0 +2DA0 +CAA0 +57A0 +5220 +6D60 +ENDCHAR +STARTCHAR U_7032 +ENCODING 28722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4C80 +3280 +A1E0 +5EA0 +00A0 +7EA0 +6AA0 +BEA0 +9340 +ACA0 +8520 +ENDCHAR +STARTCHAR U_7033 +ENCODING 28723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +8540 +4FE0 +2AA0 +2FE0 +2A00 +CBE0 +4A00 +57E0 +6AA0 +ENDCHAR +STARTCHAR U_7034 +ENCODING 28724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +3520 +9DE0 +5520 +3DE0 +2840 +36A0 +DFE0 +4480 +4380 +5E60 +ENDCHAR +STARTCHAR U_7035 +ENCODING 28725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +2FE0 +9540 +5920 +2FC0 +2A40 +5FE0 +4480 +DFE0 +4480 +5860 +ENDCHAR +STARTCHAR U_7036 +ENCODING 28726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +7DE0 +2A00 +A9C0 +7D40 +25C0 +7C00 +6BE0 +AAA0 +BEA0 +83E0 +ENDCHAR +STARTCHAR U_7037 +ENCODING 28727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2AA0 +8660 +4AA0 +2FE0 +2920 +2FE0 +C240 +5FE0 +4480 +5860 +ENDCHAR +STARTCHAR U_7038 +ENCODING 28728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AC0 +35A0 +9FE0 +4A80 +3BA0 +2AA0 +3BA0 +CA40 +7B60 +4A60 +5FA0 +ENDCHAR +STARTCHAR U_7039 +ENCODING 28729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +27C0 +8820 +5FE0 +2AA0 +2FE0 +2000 +CFE0 +4AA0 +4FE0 +4AA0 +ENDCHAR +STARTCHAR U_703A +ENCODING 28730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2900 +9FC0 +4840 +2FC0 +2880 +5FE0 +C940 +4FC0 +4520 +59E0 +ENDCHAR +STARTCHAR U_703B +ENCODING 28731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F60 +2440 +9FE0 +5540 +1F40 +3540 +5F40 +CA60 +5F40 +4AA0 +5120 +ENDCHAR +STARTCHAR U_703C +ENCODING 28732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +8AA0 +4EE0 +2280 +2FE0 +2280 +DFE0 +44A0 +5D40 +4620 +ENDCHAR +STARTCHAR U_703D +ENCODING 28733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +7FE0 +2520 +9FC0 +4500 +3FE0 +4880 +DFC0 +6220 +4B80 +77E0 +ENDCHAR +STARTCHAR U_703E +ENCODING 28734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +8EE0 +4AA0 +2EE0 +2920 +4FE0 +CAA0 +4FE0 +4BA0 +4D60 +ENDCHAR +STARTCHAR U_703F +ENCODING 28735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F40 +35E0 +9FA0 +5540 +3FA0 +2100 +4F80 +C440 +5FC0 +4540 +5B20 +ENDCHAR +STARTCHAR U_7040 +ENCODING 28736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +8FE0 +4920 +22E0 +24A0 +5FE0 +C4A0 +4EE0 +55A0 +44E0 +ENDCHAR +STARTCHAR U_7041 +ENCODING 28737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +32A0 +9EE0 +52A0 +3FE0 +34A0 +57A0 +D4E0 +5FA0 +55A0 +5B60 +ENDCHAR +STARTCHAR U_7042 +ENCODING 28738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FA0 +2A40 +9FE0 +54A0 +3FE0 +3240 +5FE0 +D240 +5EC0 +5440 +5AC0 +ENDCHAR +STARTCHAR U_7043 +ENCODING 28739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +8AA0 +4FE0 +2AA0 +3FE0 +4840 +CFC0 +4880 +4500 +5FE0 +ENDCHAR +STARTCHAR U_7044 +ENCODING 28740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2440 +87C0 +4440 +3FE0 +2040 +4FE0 +CAA0 +4EE0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_7045 +ENCODING 28741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2A40 +8FC0 +4A40 +3FE0 +2AA0 +3FE0 +EAA0 +7FE0 +4200 +7FE0 +ENDCHAR +STARTCHAR U_7046 +ENCODING 28742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3FE0 +8480 +5E80 +34E0 +3F40 +5220 +D400 +5FE0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_7047 +ENCODING 28743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +94A0 +4CC0 +1FE0 +8480 +7FE0 +2A00 +4EE0 +CAA0 +4E40 +4BA0 +5E20 +ENDCHAR +STARTCHAR U_7048 +ENCODING 28744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +8EE0 +4AA0 +2EE0 +2AA0 +4FE0 +D900 +4FC0 +4900 +4FE0 +ENDCHAR +STARTCHAR U_7049 +ENCODING 28745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9480 +6B40 +95E0 +4B40 +1FE0 +5140 +7F40 +A9E0 +BF40 +A340 +BFE0 +ENDCHAR +STARTCHAR U_704A +ENCODING 28746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +3540 +9FE0 +5640 +24A0 +3FE0 +4440 +CFE0 +4AA0 +4FE0 +4920 +ENDCHAR +STARTCHAR U_704B +ENCODING 28747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +1540 +9FC0 +5400 +57E0 +5AA0 +D200 +6FE0 +6480 +4FC0 +ENDCHAR +STARTCHAR U_704C +ENCODING 28748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2440 +8EE0 +4AA0 +2EE0 +2500 +4FE0 +D900 +4FE0 +4900 +4FE0 +ENDCHAR +STARTCHAR U_704D +ENCODING 28749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BDE0 +6520 +3DE0 +A520 +7FE0 +2960 +6AA0 +7EA0 +A960 +B220 +A060 +ENDCHAR +STARTCHAR U_704E +ENCODING 28750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A80 +7FE0 +2A80 +BFE0 +6A80 +3F40 +57E0 +5EA0 +D6A0 +4AA0 +7FE0 +ENDCHAR +STARTCHAR U_704F +ENCODING 28751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +3480 +9FE0 +5220 +5EA0 +6AA0 +5EA0 +92A0 +9EA0 +AD40 +CA20 +ENDCHAR +STARTCHAR U_7050 +ENCODING 28752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +94A0 +4FC0 +0CC0 +9320 +7FE0 +2520 +4F80 +F260 +4FC0 +4A80 +5FE0 +ENDCHAR +STARTCHAR U_7051 +ENCODING 28753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2000 +8FE0 +4AA0 +2FE0 +2AA0 +4FE0 +CC80 +56C0 +54A0 +66E0 +ENDCHAR +STARTCHAR U_7052 +ENCODING 28754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +2FE0 +8240 +5FE0 +2960 +37C0 +4440 +C7C0 +4440 +47C0 +4C60 +ENDCHAR +STARTCHAR U_7053 +ENCODING 28755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +AEA0 +4440 +AEA0 +FBE0 +AEA0 +0400 +7680 +2500 +D4E0 +0800 +ENDCHAR +STARTCHAR U_7054 +ENCODING 28756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A80 +7FE0 +2A40 +BFE0 +6AA0 +3FA0 +1EE0 +5280 +DE80 +4AA0 +5F60 +ENDCHAR +STARTCHAR U_7055 +ENCODING 28757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3E40 +95E0 +5B40 +3540 +3FE0 +5540 +D540 +5BE0 +5740 +51E0 +ENDCHAR +STARTCHAR U_7056 +ENCODING 28758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3FE0 +9480 +5FE0 +35A0 +5EE0 +5280 +DEE0 +5280 +6EE0 +4280 +ENDCHAR +STARTCHAR U_7057 +ENCODING 28759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +4BE0 +3E20 +ABA0 +6AA0 +2BE0 +7FC0 +8940 +8DC0 +BB40 +83E0 +ENDCHAR +STARTCHAR U_7058 +ENCODING 28760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4B40 +3FE0 +8940 +4F40 +05E0 +3F40 +5540 +FFE0 +4940 +5540 +63E0 +ENDCHAR +STARTCHAR U_7059 +ENCODING 28761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A80 +5FE0 +54A0 +8FC0 +4A40 +2FC0 +2200 +CFC0 +4200 +5FE0 +52A0 +ENDCHAR +STARTCHAR U_705A +ENCODING 28762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2920 +8AA0 +4D60 +0AA0 +1FE0 +34A0 +C780 +4480 +47A0 +5CE0 +ENDCHAR +STARTCHAR U_705B +ENCODING 28763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +2520 +3DE0 +A720 +7AE0 +2FA0 +6AA0 +AFA0 +A220 +AFA0 +A260 +ENDCHAR +STARTCHAR U_705C +ENCODING 28764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +3FE0 +0800 +8FC0 +4880 +3FC0 +5540 +DF40 +5540 +5F60 +6520 +ENDCHAR +STARTCHAR U_705D +ENCODING 28765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +3280 +9FE0 +5120 +1FE0 +2520 +5FE0 +D120 +5FE0 +5C40 +6AA0 +ENDCHAR +STARTCHAR U_705E +ENCODING 28766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2100 +9FE0 +52A0 +1FE0 +2AA0 +5FE0 +D4A0 +7FE0 +44A0 +4560 +ENDCHAR +STARTCHAR U_705F +ENCODING 28767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +3020 +9FE0 +5540 +1FE0 +1AA0 +37E0 +DA20 +5FA0 +62A0 +4FE0 +ENDCHAR +STARTCHAR U_7060 +ENCODING 28768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F00 +35E0 +9E80 +55E0 +3520 +2FE0 +2880 +CF80 +4880 +4FA0 +58E0 +ENDCHAR +STARTCHAR U_7061 +ENCODING 28769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2480 +8EE0 +4AA0 +1FE0 +2920 +4FE0 +CAA0 +4FE0 +4BA0 +4D60 +ENDCHAR +STARTCHAR U_7062 +ENCODING 28770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2940 +9FE0 +5540 +3DC0 +2480 +3FC0 +C480 +5FE0 +4CA0 +5660 +ENDCHAR +STARTCHAR U_7063 +ENCODING 28771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +3FE0 +8840 +5FA0 +2AC0 +36A0 +2FE0 +C800 +4FE0 +4020 +41C0 +ENDCHAR +STARTCHAR U_7064 +ENCODING 28772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2BC0 +9C60 +4BC0 +3EE0 +4BA0 +56C0 +C100 +5FE0 +4540 +5920 +ENDCHAR +STARTCHAR U_7065 +ENCODING 28773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +1500 +FFE0 +8A20 +FBE0 +2080 +AAA0 +71C0 +AEA0 +ENDCHAR +STARTCHAR U_7066 +ENCODING 28774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +3240 +9EE0 +52A0 +3EE0 +4AA0 +5FE0 +D4A0 +5FE0 +4AC0 +5520 +ENDCHAR +STARTCHAR U_7067 +ENCODING 28775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AA80 +7EE0 +2B40 +BEE0 +6AA0 +3FA0 +52E0 +DE80 +5280 +4CA0 +7F60 +ENDCHAR +STARTCHAR U_7068 +ENCODING 28776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +3FE0 +8B40 +5EA0 +31E0 +3F20 +51E0 +DF20 +49E0 +7F40 +4A20 +ENDCHAR +STARTCHAR U_7069 +ENCODING 28777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +3F40 +95E0 +5F40 +15E0 +3FA0 +52E0 +DE00 +57E0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_706A +ENCODING 28778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +3FE0 +1240 +AFA0 +7FE0 +2420 +5BC0 +5520 +DFC0 +5420 +5FC0 +ENDCHAR +STARTCHAR U_706B +ENCODING 28779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +2440 +2480 +2500 +4400 +0A00 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_706C +ENCODING 28780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 3 0 0 +BITMAP +5240 +4920 +8920 +ENDCHAR +STARTCHAR U_706D +ENCODING 28781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0400 +2440 +2440 +2480 +4A00 +0A00 +1100 +20E0 +C040 +ENDCHAR +STARTCHAR U_706E +ENCODING 28782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2440 +4580 +0A00 +3180 +C060 +1200 +1200 +1200 +2220 +C1E0 +ENDCHAR +STARTCHAR U_706F +ENCODING 28783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +17E0 +5480 +5880 +5080 +9080 +1080 +1080 +2880 +4480 +8180 +ENDCHAR +STARTCHAR U_7070 +ENCODING 28784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +0A00 +1200 +1240 +2A80 +4B00 +9200 +0500 +1880 +6060 +ENDCHAR +STARTCHAR U_7071 +ENCODING 28785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +A920 +B120 +A120 +2120 +2120 +3220 +2A20 +4520 +88C0 +ENDCHAR +STARTCHAR U_7072 +ENCODING 28786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2040 +2040 +6A40 +6A40 +B240 +2240 +3240 +2A40 +4A40 +4140 +8080 +ENDCHAR +STARTCHAR U_7073 +ENCODING 28787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2000 +3FC0 +4040 +8840 +2940 +2A40 +4840 +1440 +2240 +4040 +0180 +ENDCHAR +STARTCHAR U_7074 +ENCODING 28788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +2900 +B100 +A100 +A100 +2100 +3100 +4900 +4100 +8FE0 +ENDCHAR +STARTCHAR U_7075 +ENCODING 28789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +3F80 +0080 +3F80 +0400 +1440 +2480 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7076 +ENCODING 28790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2100 +A900 +B7C0 +A100 +2100 +2100 +5100 +5100 +8FE0 +ENDCHAR +STARTCHAR U_7077 +ENCODING 28791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +4B00 +1100 +60E0 +0900 +FFE0 +0900 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_7078 +ENCODING 28792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1F00 +2200 +4500 +18E0 +E440 +1480 +6500 +0A00 +3100 +C0E0 +ENDCHAR +STARTCHAR U_7079 +ENCODING 28793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2A00 +6A00 +73E0 +AE00 +2200 +5200 +4A00 +4A20 +81E0 +ENDCHAR +STARTCHAR U_707A +ENCODING 28794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +22A0 +2AE0 +B3A0 +AEA0 +A2A0 +22E0 +3280 +2A20 +4220 +81E0 +ENDCHAR +STARTCHAR U_707B +ENCODING 28795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +0000 +0400 +2480 +4680 +0900 +30E0 +C040 +ENDCHAR +STARTCHAR U_707C +ENCODING 28796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +2BE0 +B420 +AA20 +A120 +2120 +3020 +2820 +4120 +80C0 +ENDCHAR +STARTCHAR U_707D +ENCODING 28797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +4900 +4900 +2480 +0400 +2480 +2500 +4A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_707E +ENCODING 28798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +0400 +2480 +2480 +4500 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_707F +ENCODING 28799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +2AA0 +B2A0 +A2A0 +A2A0 +22A0 +32A0 +4AA0 +4BE0 +8220 +ENDCHAR +STARTCHAR U_7080 +ENCODING 28800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +2100 +2A00 +B400 +A7E0 +A2A0 +24A0 +3120 +4A20 +4D20 +80C0 +ENDCHAR +STARTCHAR U_7081 +ENCODING 28801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +4400 +7FC0 +0A00 +1220 +E1E0 +0000 +5240 +4920 +8920 +ENDCHAR +STARTCHAR U_7082 +ENCODING 28802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +2A40 +B440 +A520 +A900 +2100 +3200 +4A40 +47A0 +8220 +ENDCHAR +STARTCHAR U_7083 +ENCODING 28803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1180 +2040 +5FA0 +0880 +1380 +6400 +2480 +2500 +4A00 +3180 +C060 +ENDCHAR +STARTCHAR U_7084 +ENCODING 28804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +2A40 +B240 +A240 +A7C0 +2240 +3240 +4A40 +4240 +8FE0 +ENDCHAR +STARTCHAR U_7085 +ENCODING 28805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +4080 +7F80 +4080 +7F80 +0880 +4900 +4A00 +9400 +2300 +C0C0 +ENDCHAR +STARTCHAR U_7086 +ENCODING 28806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +B440 +A440 +A280 +2280 +3100 +4900 +4280 +8C60 +ENDCHAR +STARTCHAR U_7087 +ENCODING 28807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1100 +1500 +5BE0 +5240 +9640 +1280 +2900 +2980 +4240 +8420 +ENDCHAR +STARTCHAR U_7088 +ENCODING 28808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +2480 +6C80 +74E0 +A800 +2780 +2480 +5300 +4B00 +8480 +1860 +ENDCHAR +STARTCHAR U_7089 +ENCODING 28809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +2FE0 +B420 +A420 +A7E0 +2400 +5400 +5400 +4800 +9000 +ENDCHAR +STARTCHAR U_708A +ENCODING 28810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +2BE0 +B220 +A540 +A100 +2100 +5100 +4A80 +4440 +8820 +ENDCHAR +STARTCHAR U_708B +ENCODING 28811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2900 +7300 +6300 +A540 +2920 +5120 +4900 +8100 +0100 +ENDCHAR +STARTCHAR U_708C +ENCODING 28812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +6A80 +7460 +AA80 +2280 +2280 +5280 +4A80 +8480 +0880 +ENDCHAR +STARTCHAR U_708D +ENCODING 28813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +2400 +6FC0 +7440 +A640 +2540 +3480 +4880 +4940 +9620 +ENDCHAR +STARTCHAR U_708E +ENCODING 28814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2480 +2500 +4A00 +3180 +C460 +2480 +2500 +4A00 +3180 +C060 +ENDCHAR +STARTCHAR U_708F +ENCODING 28815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +6A40 +7240 +AA80 +2A00 +2200 +5500 +4480 +8860 +1040 +ENDCHAR +STARTCHAR U_7090 +ENCODING 28816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2900 +2FE0 +7100 +67C0 +A100 +3100 +4FE0 +4100 +8100 +0100 +ENDCHAR +STARTCHAR U_7091 +ENCODING 28817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2FE0 +B100 +A100 +A380 +2540 +3520 +4920 +4900 +8100 +ENDCHAR +STARTCHAR U_7092 +ENCODING 28818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2940 +B520 +A500 +A920 +2120 +3140 +4880 +4300 +8C00 +ENDCHAR +STARTCHAR U_7093 +ENCODING 28819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2240 +2940 +B040 +A240 +A140 +2060 +37C0 +4840 +4840 +8040 +ENDCHAR +STARTCHAR U_7094 +ENCODING 28820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2FC0 +B140 +A140 +AFE0 +2100 +3100 +4A80 +4440 +8820 +ENDCHAR +STARTCHAR U_7095 +ENCODING 28821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +B000 +A380 +A280 +2280 +3280 +4AA0 +44A0 +8860 +ENDCHAR +STARTCHAR U_7096 +ENCODING 28822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2900 +B540 +A540 +A540 +27C0 +3100 +4920 +4920 +80E0 +ENDCHAR +STARTCHAR U_7097 +ENCODING 28823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +0900 +FFE0 +0900 +0F00 +0400 +1440 +2580 +0A00 +1100 +60E0 +ENDCHAR +STARTCHAR U_7098 +ENCODING 28824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2380 +2A00 +B200 +A3E0 +A240 +2240 +3240 +4A40 +4C40 +9040 +ENDCHAR +STARTCHAR U_7099 +ENCODING 28825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1F80 +3100 +4A00 +2C00 +F480 +1500 +2A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_709A +ENCODING 28826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9520 +9540 +F580 +9900 +9100 +F100 +9280 +0440 +1820 +ENDCHAR +STARTCHAR U_709B +ENCODING 28827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +2480 +4B00 +1180 +2A60 +D200 +3280 +D300 +1E20 +1220 +11E0 +ENDCHAR +STARTCHAR U_709C +ENCODING 28828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2900 +B7E0 +A100 +AFE0 +2120 +3120 +4960 +4900 +8100 +ENDCHAR +STARTCHAR U_709D +ENCODING 28829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2C40 +B020 +A3C0 +A240 +2240 +32C0 +4A20 +4A20 +81E0 +ENDCHAR +STARTCHAR U_709E +ENCODING 28830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2200 +2FE0 +6A00 +7200 +A280 +2240 +3240 +4A00 +4200 +8200 +ENDCHAR +STARTCHAR U_709F +ENCODING 28831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2C40 +B440 +A7C0 +A440 +2440 +37C0 +4C40 +4000 +8FE0 +ENDCHAR +STARTCHAR U_70A0 +ENCODING 28832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +24A0 +2CA0 +77E0 +64A0 +A4A0 +27E0 +5080 +4880 +8080 +0080 +ENDCHAR +STARTCHAR U_70A1 +ENCODING 28833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +2880 +B080 +A480 +A4E0 +2480 +3480 +4C80 +4480 +8FE0 +ENDCHAR +STARTCHAR U_70A2 +ENCODING 28834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2140 +2900 +B7E0 +A100 +2380 +3540 +4D20 +4920 +9100 +0100 +ENDCHAR +STARTCHAR U_70A3 +ENCODING 28835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2040 +6840 +7740 +A540 +2740 +5040 +5040 +4140 +8080 +ENDCHAR +STARTCHAR U_70A4 +ENCODING 28836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +2920 +B2A0 +A440 +A800 +23E0 +3220 +4A20 +43E0 +8220 +ENDCHAR +STARTCHAR U_70A5 +ENCODING 28837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +32A0 +BFE0 +AA80 +AFE0 +22A0 +52A0 +54E0 +8480 +0880 +ENDCHAR +STARTCHAR U_70A6 +ENCODING 28838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +2FE0 +AA00 +B3C0 +A240 +2240 +3580 +5500 +4AE0 +9440 +ENDCHAR +STARTCHAR U_70A7 +ENCODING 28839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +2C00 +6900 +75C0 +A740 +2D40 +2540 +5540 +54A0 +83E0 +ENDCHAR +STARTCHAR U_70A8 +ENCODING 28840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2820 +A000 +AA00 +B240 +2380 +5200 +4A20 +8A20 +81E0 +ENDCHAR +STARTCHAR U_70A9 +ENCODING 28841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2C40 +B120 +A080 +A7E0 +2040 +3080 +4B00 +4080 +8040 +ENDCHAR +STARTCHAR U_70AA +ENCODING 28842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +2080 +24A0 +6CA0 +74A0 +A7E0 +2080 +24A0 +54A0 +4CA0 +87E0 +ENDCHAR +STARTCHAR U_70AB +ENCODING 28843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +2FE0 +B100 +A240 +A780 +2080 +3100 +4A40 +47E0 +8220 +ENDCHAR +STARTCHAR U_70AC +ENCODING 28844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +2C00 +B7C0 +A440 +A440 +27C0 +3440 +4C00 +4400 +87E0 +ENDCHAR +STARTCHAR U_70AD +ENCODING 28845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +1000 +7FE0 +1200 +1A40 +2A80 +4500 +8880 +3060 +ENDCHAR +STARTCHAR U_70AE +ENCODING 28846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +2C20 +B7A0 +ACA0 +A4A0 +27A0 +3420 +4CC0 +4420 +83E0 +ENDCHAR +STARTCHAR U_70AF +ENCODING 28847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2820 +BBA0 +AAA0 +AAA0 +2AA0 +2BA0 +5820 +4820 +88E0 +ENDCHAR +STARTCHAR U_70B0 +ENCODING 28848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FC0 +4040 +BE40 +2240 +3E80 +2020 +2020 +1FE0 +4A40 +8920 +ENDCHAR +STARTCHAR U_70B1 +ENCODING 28849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1080 +7FC0 +0040 +3F80 +2080 +3F80 +2440 +4A80 +1180 +E060 +ENDCHAR +STARTCHAR U_70B2 +ENCODING 28850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AA80 +B440 +AFE0 +2020 +27C0 +5440 +4C40 +87C0 +8440 +ENDCHAR +STARTCHAR U_70B3 +ENCODING 28851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2FE0 +B520 +A520 +A520 +25A0 +3660 +4C20 +4420 +84E0 +ENDCHAR +STARTCHAR U_70B4 +ENCODING 28852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2FC0 +B540 +A540 +A540 +2FE0 +3100 +4A80 +4440 +8820 +ENDCHAR +STARTCHAR U_70B5 +ENCODING 28853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2E40 +B180 +A280 +AC60 +2100 +30C0 +4800 +4580 +8060 +ENDCHAR +STARTCHAR U_70B6 +ENCODING 28854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2900 +69E0 +7100 +A100 +27C0 +3440 +4C40 +4C40 +87C0 +ENDCHAR +STARTCHAR U_70B7 +ENCODING 28855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +B100 +A100 +A100 +27C0 +2100 +5100 +4900 +8FE0 +ENDCHAR +STARTCHAR U_70B8 +ENCODING 28856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +2BE0 +B500 +A900 +A1E0 +2100 +31E0 +4900 +4100 +8100 +ENDCHAR +STARTCHAR U_70B9 +ENCODING 28857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +07C0 +0400 +3F80 +2080 +2080 +3F80 +0000 +5240 +8920 +ENDCHAR +STARTCHAR U_70BA +ENCODING 28858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +1400 +7F80 +0480 +0FC0 +1040 +3FE0 +4020 +AAA0 +2AA0 +0040 +ENDCHAR +STARTCHAR U_70BB +ENCODING 28859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +A900 +B100 +A200 +27E0 +2A20 +3220 +4A20 +43E0 +8220 +ENDCHAR +STARTCHAR U_70BC +ENCODING 28860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2900 +B780 +A280 +A7E0 +2080 +32C0 +4CA0 +44A0 +8180 +ENDCHAR +STARTCHAR U_70BD +ENCODING 28861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2C40 +B440 +A440 +A7C0 +2000 +3280 +4A40 +4420 +8820 +ENDCHAR +STARTCHAR U_70BE +ENCODING 28862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2C40 +B440 +A7C0 +A280 +2280 +3280 +4AA0 +44A0 +8860 +ENDCHAR +STARTCHAR U_70BF +ENCODING 28863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +AC40 +B640 +A540 +2FE0 +2440 +3440 +4C40 +4840 +90C0 +ENDCHAR +STARTCHAR U_70C0 +ENCODING 28864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +28A0 +B4A0 +A2C0 +AFE0 +2080 +2080 +5080 +4A80 +8100 +ENDCHAR +STARTCHAR U_70C1 +ENCODING 28865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2E00 +2900 +B900 +AFE0 +A100 +2100 +3540 +4920 +5120 +8300 +ENDCHAR +STARTCHAR U_70C2 +ENCODING 28866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2240 +2A80 +B7E0 +A000 +A000 +23C0 +3000 +4800 +4800 +87E0 +ENDCHAR +STARTCHAR U_70C3 +ENCODING 28867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2080 +2900 +B280 +AC60 +A000 +27C0 +3100 +4900 +4100 +8FE0 +ENDCHAR +STARTCHAR U_70C4 +ENCODING 28868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +B280 +A440 +A8A0 +2480 +3300 +4B00 +4480 +8860 +ENDCHAR +STARTCHAR U_70C5 +ENCODING 28869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2200 +2FE0 +BAA0 +AAA0 +AAA0 +2AA0 +2AA0 +5AA0 +4AA0 +9FE0 +ENDCHAR +STARTCHAR U_70C6 +ENCODING 28870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +2400 +2800 +B3E0 +A440 +AC40 +2440 +3440 +4C40 +4440 +84C0 +ENDCHAR +STARTCHAR U_70C7 +ENCODING 28871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2440 +B820 +A7C0 +A100 +27C0 +3100 +4900 +4100 +8FE0 +ENDCHAR +STARTCHAR U_70C8 +ENCODING 28872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +2120 +3D20 +4920 +A920 +1120 +20E0 +C040 +1240 +4920 +8920 +ENDCHAR +STARTCHAR U_70C9 +ENCODING 28873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +3F00 +4200 +FFC0 +4A40 +5140 +0400 +4440 +2A80 +3180 +C060 +ENDCHAR +STARTCHAR U_70CA +ENCODING 28874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +2FE0 +B100 +A100 +A7C0 +2100 +3100 +4FE0 +4100 +8100 +ENDCHAR +STARTCHAR U_70CB +ENCODING 28875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +3FE0 +6100 +A380 +2540 +2920 +2100 +5240 +4920 +8920 +ENDCHAR +STARTCHAR U_70CC +ENCODING 28876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +2880 +BBE0 +A880 +A9C0 +29C0 +5AA0 +4CA0 +8880 +0880 +ENDCHAR +STARTCHAR U_70CD +ENCODING 28877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +A7C0 +B900 +A100 +2FE0 +2280 +3280 +4AA0 +44A0 +8860 +ENDCHAR +STARTCHAR U_70CE +ENCODING 28878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +1100 +FFE0 +1100 +2100 +4500 +2440 +4480 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_70CF +ENCODING 28879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2000 +3FE0 +2000 +3FE0 +5520 +4AA0 +8040 +ENDCHAR +STARTCHAR U_70D0 +ENCODING 28880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +AC40 +B640 +A540 +2FE0 +2440 +3640 +4D40 +4840 +90C0 +ENDCHAR +STARTCHAR U_70D1 +ENCODING 28881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +2AA0 +B6C0 +A280 +A6C0 +2AA0 +3280 +4AA0 +44A0 +8860 +ENDCHAR +STARTCHAR U_70D2 +ENCODING 28882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +2FE0 +B080 +A080 +A780 +2280 +3280 +4BA0 +4C60 +8020 +ENDCHAR +STARTCHAR U_70D3 +ENCODING 28883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +A900 +B100 +AFE0 +2000 +2100 +27C0 +5100 +4900 +87E0 +ENDCHAR +STARTCHAR U_70D4 +ENCODING 28884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2BA0 +B820 +ABA0 +AAA0 +2AA0 +2BA0 +5820 +4820 +8860 +ENDCHAR +STARTCHAR U_70D5 +ENCODING 28885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +0240 +7FE0 +4200 +7E40 +4A40 +6E80 +5900 +4D00 +52A0 +A460 +ENDCHAR +STARTCHAR U_70D6 +ENCODING 28886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +7A40 +1200 +FFE0 +1200 +5640 +5940 +9180 +29A0 +4660 +8C20 +ENDCHAR +STARTCHAR U_70D7 +ENCODING 28887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2900 +B200 +A440 +A780 +2120 +3240 +4C80 +4160 +8620 +ENDCHAR +STARTCHAR U_70D8 +ENCODING 28888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +2A80 +B7C0 +A280 +A280 +2FE0 +3000 +4A80 +4440 +8820 +ENDCHAR +STARTCHAR U_70D9 +ENCODING 28889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2A40 +B580 +A240 +AC20 +27C0 +3440 +4C40 +47C0 +8440 +ENDCHAR +STARTCHAR U_70DA +ENCODING 28890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2A80 +B440 +AFE0 +A000 +27C0 +3440 +4C40 +4440 +87C0 +ENDCHAR +STARTCHAR U_70DB +ENCODING 28891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +AFE0 +B520 +A520 +2520 +27E0 +2100 +5120 +4FE0 +8020 +ENDCHAR +STARTCHAR U_70DC +ENCODING 28892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +2FC0 +B440 +A440 +A7C0 +2440 +3440 +4FC0 +4000 +8FE0 +ENDCHAR +STARTCHAR U_70DD +ENCODING 28893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0200 +F4C0 +1700 +2500 +5480 +8860 +7FC0 +0000 +5240 +8920 +ENDCHAR +STARTCHAR U_70DE +ENCODING 28894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +2F80 +B280 +A6C0 +ABA0 +32A0 +2280 +5280 +4A80 +8280 +ENDCHAR +STARTCHAR U_70DF +ENCODING 28895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +2D20 +B7E0 +A520 +A520 +25A0 +3660 +4C20 +47E0 +8420 +ENDCHAR +STARTCHAR U_70E0 +ENCODING 28896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2A00 +B3C0 +A640 +ABC0 +2240 +23C0 +5240 +4A40 +82C0 +ENDCHAR +STARTCHAR U_70E1 +ENCODING 28897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2480 +4B00 +1100 +E0E0 +0900 +7FE0 +0900 +FFE0 +1080 +E060 +ENDCHAR +STARTCHAR U_70E2 +ENCODING 28898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2820 +A8C0 +B700 +A100 +21E0 +2F00 +5100 +4920 +80E0 +ENDCHAR +STARTCHAR U_70E3 +ENCODING 28899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +2FE0 +AA80 +B280 +A2A0 +25C0 +3480 +4940 +5240 +A420 +ENDCHAR +STARTCHAR U_70E4 +ENCODING 28900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27C0 +2A80 +B7E0 +A200 +A7E0 +2A00 +33C0 +4840 +4840 +8180 +ENDCHAR +STARTCHAR U_70E5 +ENCODING 28901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +2C80 +B7E0 +A420 +A420 +27E0 +3480 +4C80 +4480 +87E0 +ENDCHAR +STARTCHAR U_70E6 +ENCODING 28902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2A00 +B7C0 +A440 +A540 +2540 +2540 +5280 +5440 +8820 +ENDCHAR +STARTCHAR U_70E7 +ENCODING 28903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +22E0 +2F40 +B2A0 +A1A0 +AE60 +2000 +37E0 +4A80 +44A0 +8860 +ENDCHAR +STARTCHAR U_70E8 +ENCODING 28904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +22A0 +2CC0 +B580 +A4A0 +A4E0 +2100 +37E0 +4900 +4100 +8100 +ENDCHAR +STARTCHAR U_70E9 +ENCODING 28905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2A80 +B440 +ABA0 +A000 +2FE0 +3100 +4A00 +4440 +8FE0 +ENDCHAR +STARTCHAR U_70EA +ENCODING 28906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2840 +2480 +2FC0 +AA00 +B200 +AFE0 +2200 +2500 +5480 +4840 +9020 +ENDCHAR +STARTCHAR U_70EB +ENCODING 28907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F80 +2100 +9FE0 +24A0 +C920 +52C0 +0400 +2440 +4A80 +1100 +E0E0 +ENDCHAR +STARTCHAR U_70EC +ENCODING 28908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2440 +AFC0 +B480 +A440 +2920 +2880 +5200 +4980 +8080 +ENDCHAR +STARTCHAR U_70ED +ENCODING 28909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +F780 +2280 +3280 +6680 +A380 +24A0 +6860 +0000 +5240 +8920 +ENDCHAR +STARTCHAR U_70EE +ENCODING 28910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E40 +1140 +3D40 +4940 +3040 +C4C0 +0400 +2440 +4A80 +3180 +C060 +ENDCHAR +STARTCHAR U_70EF +ENCODING 28911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44C0 +4300 +5CC0 +E200 +DFE0 +C500 +4FE0 +5520 +6520 +9560 +8100 +ENDCHAR +STARTCHAR U_70F0 +ENCODING 28912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +2D40 +B280 +A7C0 +A080 +2100 +2FE0 +5100 +4900 +8300 +ENDCHAR +STARTCHAR U_70F1 +ENCODING 28913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2820 +BAA0 +AC60 +ABA0 +2AA0 +2BA0 +5820 +4820 +8860 +ENDCHAR +STARTCHAR U_70F2 +ENCODING 28914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA00 +23E0 +F280 +2480 +6880 +0400 +2480 +4B00 +3180 +C060 +ENDCHAR +STARTCHAR U_70F3 +ENCODING 28915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +27E0 +A900 +B7E0 +A520 +27E0 +2520 +57E0 +4D20 +8560 +ENDCHAR +STARTCHAR U_70F4 +ENCODING 28916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2000 +2AA0 +B540 +A2A0 +A000 +27E0 +3080 +4880 +4080 +8FE0 +ENDCHAR +STARTCHAR U_70F5 +ENCODING 28917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +2240 +AC00 +B7E0 +A820 +2320 +20A0 +5020 +4940 +8080 +ENDCHAR +STARTCHAR U_70F6 +ENCODING 28918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E20 +22C0 +B440 +AE40 +A2E0 +2240 +2240 +2DE0 +5400 +4A00 +91E0 +ENDCHAR +STARTCHAR U_70F7 +ENCODING 28919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2C20 +B3C0 +A000 +AFE0 +2280 +3280 +4AA0 +44A0 +8860 +ENDCHAR +STARTCHAR U_70F8 +ENCODING 28920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +2800 +B7C0 +A540 +AFE0 +2540 +3540 +4FC0 +4040 +8180 +ENDCHAR +STARTCHAR U_70F9 +ENCODING 28921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +3F80 +0000 +7FC0 +0300 +0400 +1C00 +5240 +8920 +ENDCHAR +STARTCHAR U_70FA +ENCODING 28922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2C40 +B7C0 +A440 +A7C0 +2520 +3540 +4C80 +4640 +8420 +ENDCHAR +STARTCHAR U_70FB +ENCODING 28923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2C60 +25C0 +B440 +A560 +A940 +A540 +2540 +2DE0 +5400 +4B00 +90E0 +ENDCHAR +STARTCHAR U_70FC +ENCODING 28924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2A00 +B520 +A940 +A280 +25C0 +2AA0 +54A0 +4A80 +8100 +ENDCHAR +STARTCHAR U_70FD +ENCODING 28925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2440 +AB80 +B560 +AB80 +2100 +27C0 +5100 +4FE0 +8100 +ENDCHAR +STARTCHAR U_70FE +ENCODING 28926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2440 +4A80 +3580 +C460 +2A80 +1180 +E460 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_70FF +ENCODING 28927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2720 +2540 +2D80 +B720 +A540 +AF80 +2500 +3520 +4D40 +4980 +9300 +ENDCHAR +STARTCHAR U_7100 +ENCODING 28928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2840 +2220 +B300 +A480 +2860 +2FC0 +2840 +5840 +4840 +8FC0 +ENDCHAR +STARTCHAR U_7101 +ENCODING 28929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7BE0 +4D40 +7A80 +0460 +0800 +4440 +2480 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_7102 +ENCODING 28930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +5440 +DA80 +5100 +56E0 +0400 +2440 +4A80 +3180 +C060 +ENDCHAR +STARTCHAR U_7103 +ENCODING 28931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +AFE0 +B280 +AAC0 +2AA0 +32A0 +4A80 +4480 +8980 +ENDCHAR +STARTCHAR U_7104 +ENCODING 28932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0840 +FFE0 +0840 +7FC0 +1000 +3FC0 +D040 +1FC0 +5240 +8920 +ENDCHAR +STARTCHAR U_7105 +ENCODING 28933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +27E0 +B500 +A900 +AFE0 +2000 +27C0 +5440 +4C40 +87C0 +ENDCHAR +STARTCHAR U_7106 +ENCODING 28934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +27E0 +A800 +B7E0 +A420 +27E0 +3420 +4FE0 +4420 +8460 +ENDCHAR +STARTCHAR U_7107 +ENCODING 28935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +24A0 +2AC0 +B7E0 +A420 +A7E0 +2420 +37E0 +4C20 +4420 +8460 +ENDCHAR +STARTCHAR U_7108 +ENCODING 28936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7BC0 +4A40 +7BC0 +4220 +41E0 +8400 +2440 +4A80 +3180 +C060 +ENDCHAR +STARTCHAR U_7109 +ENCODING 28937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +2780 +2400 +FFE0 +2000 +3FC0 +2000 +3FE0 +5520 +8AC0 +ENDCHAR +STARTCHAR U_710A +ENCODING 28938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2FC0 +B440 +A7C0 +A000 +27C0 +3100 +4FE0 +4100 +8100 +ENDCHAR +STARTCHAR U_710B +ENCODING 28939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +7900 +0FE0 +F900 +4BC0 +4800 +8400 +2440 +4A80 +1100 +E0E0 +ENDCHAR +STARTCHAR U_710C +ENCODING 28940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +2FE0 +B240 +A520 +A9C0 +2240 +3680 +4900 +4280 +9C60 +ENDCHAR +STARTCHAR U_710D +ENCODING 28941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +2FE0 +B120 +AFE0 +A900 +2FE0 +3320 +4D20 +4960 +9100 +ENDCHAR +STARTCHAR U_710E +ENCODING 28942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +7B00 +1600 +1BE0 +3240 +D240 +1440 +3840 +0000 +5240 +8920 +ENDCHAR +STARTCHAR U_710F +ENCODING 28943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0300 +75E0 +5420 +5540 +7480 +0540 +0E20 +0000 +4920 +8920 +ENDCHAR +STARTCHAR U_7110 +ENCODING 28944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +2FC0 +B240 +A240 +AFE0 +2000 +37C0 +4C40 +4440 +87C0 +ENDCHAR +STARTCHAR U_7111 +ENCODING 28945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2920 +2920 +7FE0 +ABA0 +2B60 +2D60 +5920 +4920 +8FE0 +ENDCHAR +STARTCHAR U_7112 +ENCODING 28946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +2440 +6C40 +77C0 +A000 +2FE0 +5820 +4820 +4820 +8FE0 +ENDCHAR +STARTCHAR U_7113 +ENCODING 28947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2640 +A920 +B7C0 +A080 +2100 +37C0 +4C40 +4C40 +87C0 +ENDCHAR +STARTCHAR U_7114 +ENCODING 28948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2200 +23C0 +2A40 +B480 +A900 +ABC0 +2A40 +2A40 +5BC0 +4A40 +8BC0 +ENDCHAR +STARTCHAR U_7115 +ENCODING 28949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2780 +2900 +B7C0 +A540 +A540 +2FE0 +3100 +4A80 +4440 +9820 +ENDCHAR +STARTCHAR U_7116 +ENCODING 28950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +2420 +B920 +A8A0 +AA20 +2AA0 +2E60 +2A20 +59E0 +4820 +88E0 +ENDCHAR +STARTCHAR U_7117 +ENCODING 28951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +2FE0 +B800 +AFE0 +A820 +2BA0 +2AA0 +5BA0 +48A0 +9040 +ENDCHAR +STARTCHAR U_7118 +ENCODING 28952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +1100 +3FC0 +4900 +8900 +0300 +5240 +8920 +ENDCHAR +STARTCHAR U_7119 +ENCODING 28953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2840 +B440 +A280 +AFE0 +2000 +37C0 +4C40 +4440 +87C0 +ENDCHAR +STARTCHAR U_711A +ENCODING 28954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2300 +7580 +A940 +2520 +0480 +2D00 +4A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_711B +ENCODING 28955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +94A0 +A720 +8920 +B0A0 +8060 +ENDCHAR +STARTCHAR U_711C +ENCODING 28956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2FC0 +B440 +A7C0 +A000 +24A0 +37C0 +4C80 +46A0 +8460 +ENDCHAR +STARTCHAR U_711D +ENCODING 28957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +27E0 +AC80 +B640 +A420 +27C0 +3440 +4FC0 +4440 +87C0 +ENDCHAR +STARTCHAR U_711E +ENCODING 28958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +A800 +B7C0 +A440 +27C0 +2080 +37E0 +4900 +4100 +8300 +ENDCHAR +STARTCHAR U_711F +ENCODING 28959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +2A80 +B280 +AFE0 +A000 +27C0 +3440 +4FC0 +4440 +87C0 +ENDCHAR +STARTCHAR U_7120 +ENCODING 28960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2C40 +B440 +AAA0 +A100 +2FE0 +2100 +5100 +4900 +8100 +ENDCHAR +STARTCHAR U_7121 +ENCODING 28961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FE0 +AA80 +2A80 +FFE0 +2A80 +2A80 +FFE0 +1240 +4920 +8920 +ENDCHAR +STARTCHAR U_7122 +ENCODING 28962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2820 +B240 +A420 +A820 +27C0 +2100 +5100 +4900 +8FE0 +ENDCHAR +STARTCHAR U_7123 +ENCODING 28963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC00 +4BC0 +7A40 +4A40 +7980 +4D80 +FA40 +0C20 +5240 +8920 +8920 +ENDCHAR +STARTCHAR U_7124 +ENCODING 28964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4840 +5FE0 +6A40 +4940 +8480 +2440 +4A80 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7125 +ENCODING 28965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2820 +B400 +A6E0 +AAA0 +2AA0 +26E0 +5280 +44A0 +88E0 +ENDCHAR +STARTCHAR U_7126 +ENCODING 28966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +2200 +7FE0 +A200 +3FC0 +2200 +3FC0 +2200 +3FE0 +5240 +8920 +ENDCHAR +STARTCHAR U_7127 +ENCODING 28967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +2440 +BA60 +A480 +AFC0 +2020 +3240 +5520 +4C40 +8BC0 +ENDCHAR +STARTCHAR U_7128 +ENCODING 28968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +2DA0 +B420 +A3C0 +A240 +23C0 +2240 +53C0 +4A40 +82C0 +ENDCHAR +STARTCHAR U_7129 +ENCODING 28969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2AA0 +BEE0 +AAA0 +AAA0 +2EE0 +5AA0 +4AA0 +9B20 +2660 +ENDCHAR +STARTCHAR U_712A +ENCODING 28970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2AA0 +B440 +ABE0 +A040 +27C0 +2400 +57E0 +4820 +80C0 +ENDCHAR +STARTCHAR U_712B +ENCODING 28971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2440 +B100 +AFE0 +A920 +2920 +29A0 +5A60 +4C20 +8860 +ENDCHAR +STARTCHAR U_712C +ENCODING 28972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2FC0 +B440 +A7C0 +A200 +27E0 +2AA0 +5520 +4AA0 +8440 +ENDCHAR +STARTCHAR U_712D +ENCODING 28973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5540 +2A80 +4440 +7FE0 +4040 +9E80 +1200 +1240 +2240 +41C0 +ENDCHAR +STARTCHAR U_712E +ENCODING 28974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2880 +2FE0 +BB20 +AA40 +AA40 +2A40 +3A40 +4A40 +4AA0 +9120 +ENDCHAR +STARTCHAR U_712F +ENCODING 28975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +2900 +B7E0 +A420 +A7E0 +2420 +37E0 +4900 +4FE0 +8100 +ENDCHAR +STARTCHAR U_7130 +ENCODING 28976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +AA40 +B480 +A800 +26E0 +2420 +26E0 +5420 +4C20 +87E0 +ENDCHAR +STARTCHAR U_7131 +ENCODING 28977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +4480 +0A00 +3180 +C060 +1500 +5B40 +9580 +1100 +2A80 +C460 +ENDCHAR +STARTCHAR U_7132 +ENCODING 28978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +AA80 +B2E0 +A4A0 +ADA0 +3640 +2540 +5480 +4D40 +8620 +ENDCHAR +STARTCHAR U_7133 +ENCODING 28979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2480 +2FE0 +B900 +AFC0 +A900 +2FC0 +5900 +4900 +4FE0 +8800 +ENDCHAR +STARTCHAR U_7134 +ENCODING 28980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +AFC0 +B000 +A7C0 +2440 +37C0 +4C40 +47C0 +8440 +ENDCHAR +STARTCHAR U_7135 +ENCODING 28981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +4820 +DAA0 +EFE0 +C920 +4D60 +4D60 +6FE0 +9820 +8860 +ENDCHAR +STARTCHAR U_7136 +ENCODING 28982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2280 +3240 +4FE0 +B200 +5500 +2500 +4880 +9060 +5240 +8920 +ENDCHAR +STARTCHAR U_7137 +ENCODING 28983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FC0 +A940 +BFC0 +A940 +2FC0 +2200 +3500 +4FE0 +4100 +8100 +ENDCHAR +STARTCHAR U_7138 +ENCODING 28984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +7BC0 +0400 +1440 +6680 +0900 +30E0 +C040 +ENDCHAR +STARTCHAR U_7139 +ENCODING 28985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2AA0 +BFE0 +A920 +AFE0 +2A20 +2BA0 +5820 +4820 +8860 +ENDCHAR +STARTCHAR U_713A +ENCODING 28986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +AFE0 +B420 +A7E0 +A140 +2640 +2240 +5FE0 +5240 +8440 +ENDCHAR +STARTCHAR U_713B +ENCODING 28987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +27E0 +AC20 +B7E0 +A000 +27E0 +2420 +57E0 +4C20 +87E0 +ENDCHAR +STARTCHAR U_713C +ENCODING 28988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +B440 +AFE0 +A440 +2FE0 +2280 +5280 +44A0 +9860 +ENDCHAR +STARTCHAR U_713D +ENCODING 28989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +7CC0 +0000 +2480 +4500 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_713E +ENCODING 28990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2300 +2680 +B940 +B7E0 +A080 +2100 +3480 +4D20 +5440 +83C0 +ENDCHAR +STARTCHAR U_713F +ENCODING 28991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +2900 +AFC0 +B940 +AFE0 +2940 +5FC0 +4900 +9280 +2C60 +ENDCHAR +STARTCHAR U_7140 +ENCODING 28992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +4FE0 +D880 +EAA0 +CAA0 +4BE0 +6880 +5AA0 +92A0 +A3E0 +ENDCHAR +STARTCHAR U_7141 +ENCODING 28993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +AA40 +B3C0 +A240 +A3C0 +2240 +2FE0 +5540 +5620 +87E0 +ENDCHAR +STARTCHAR U_7142 +ENCODING 28994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +AA80 +B380 +A100 +A7C0 +2540 +27C0 +5100 +4FE0 +8100 +ENDCHAR +STARTCHAR U_7143 +ENCODING 28995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AA80 +B540 +ABA0 +2100 +2FE0 +2100 +57C0 +4100 +8FE0 +ENDCHAR +STARTCHAR U_7144 +ENCODING 28996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +AFE0 +B540 +A7C0 +A540 +27C0 +2100 +57C0 +4100 +8FE0 +ENDCHAR +STARTCHAR U_7145 +ENCODING 28997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +28A0 +AEA0 +B920 +A800 +2EE0 +28A0 +2EA0 +5840 +48A0 +8920 +ENDCHAR +STARTCHAR U_7146 +ENCODING 28998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2760 +2520 +AD20 +B760 +A400 +27E0 +24A0 +27A0 +5440 +4CA0 +8520 +ENDCHAR +STARTCHAR U_7147 +ENCODING 28999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +2FE0 +B540 +A7C0 +2540 +27C0 +2100 +5FE0 +4900 +8100 +ENDCHAR +STARTCHAR U_7148 +ENCODING 29000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2940 +AF40 +BA40 +AFC0 +AAC0 +2FC0 +2A40 +53C0 +AC60 +4020 +ENDCHAR +STARTCHAR U_7149 +ENCODING 29001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +BFE0 +AAA0 +A920 +2FE0 +2380 +5540 +4920 +9120 +ENDCHAR +STARTCHAR U_714A +ENCODING 29002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2820 +B000 +AFE0 +A000 +27C0 +2440 +57C0 +5440 +8FE0 +ENDCHAR +STARTCHAR U_714B +ENCODING 29003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +AFC0 +B440 +A7C0 +A500 +27C0 +2900 +57C0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_714C +ENCODING 29004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +AC40 +B7C0 +A440 +AFE0 +2100 +27C0 +5100 +4900 +8FE0 +ENDCHAR +STARTCHAR U_714D +ENCODING 29005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E40 +2440 +2540 +BF60 +A540 +AC40 +3640 +2540 +5440 +4CA0 +8520 +ENDCHAR +STARTCHAR U_714E +ENCODING 29006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0000 +3D40 +2540 +3D40 +2540 +3D40 +24C0 +5240 +8920 +ENDCHAR +STARTCHAR U_714F +ENCODING 29007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +AFC0 +B440 +A7C0 +2000 +2FE0 +5920 +5FE0 +4920 +8FE0 +ENDCHAR +STARTCHAR U_7150 +ENCODING 29008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +AA40 +B100 +A7C0 +A540 +2540 +2FE0 +5280 +4440 +8820 +ENDCHAR +STARTCHAR U_7151 +ENCODING 29009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0400 +FFE0 +1080 +FF80 +2080 +3FC0 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_7152 +ENCODING 29010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +AA40 +B7E0 +A440 +A7C0 +2080 +2FE0 +5480 +4FE0 +8080 +ENDCHAR +STARTCHAR U_7153 +ENCODING 29011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2920 +AFE0 +B000 +AFE0 +2100 +2FE0 +2AA0 +5AA0 +4AA0 +8860 +ENDCHAR +STARTCHAR U_7154 +ENCODING 29012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A480 +A8E0 +3080 +4880 +A7E0 +AA20 +7220 +3220 +4BE0 +8620 +ENDCHAR +STARTCHAR U_7155 +ENCODING 29013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +8940 +AD40 +A5C0 +A500 +AD20 +8920 +FCE0 +0000 +5240 +8920 +ENDCHAR +STARTCHAR U_7156 +ENCODING 29014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +AAC0 +B7E0 +A100 +AFE0 +2200 +23E0 +5540 +4880 +9360 +ENDCHAR +STARTCHAR U_7157 +ENCODING 29015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2100 +2FE0 +AAA0 +BAA0 +AAA0 +2140 +2FE0 +5280 +4440 +9820 +ENDCHAR +STARTCHAR U_7158 +ENCODING 29016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +AFE0 +B880 +AFA0 +A8A0 +2EA0 +2AC0 +5EA0 +4960 +9220 +ENDCHAR +STARTCHAR U_7159 +ENCODING 29017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +AFE0 +BAA0 +AAA0 +AFE0 +2100 +27C0 +5100 +4900 +8FE0 +ENDCHAR +STARTCHAR U_715A +ENCODING 29018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9400 +F7C0 +9440 +97C0 +F400 +07E0 +2440 +4A80 +1180 +E060 +ENDCHAR +STARTCHAR U_715B +ENCODING 29019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +5AC0 +6B40 +5AC0 +6B40 +7BC0 +0400 +64C0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_715C +ENCODING 29020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +AFC0 +B440 +A7C0 +A100 +2FE0 +2440 +5280 +4900 +8FE0 +ENDCHAR +STARTCHAR U_715D +ENCODING 29021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +AFE0 +B800 +ABE0 +AA20 +2BE0 +2A20 +5BE0 +4A20 +93E0 +ENDCHAR +STARTCHAR U_715E +ENCODING 29022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3D00 +49E0 +7E40 +8540 +7C80 +0540 +7E20 +0000 +5240 +8920 +ENDCHAR +STARTCHAR U_715F +ENCODING 29023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +AFE0 +B920 +AFE0 +2440 +27C0 +3440 +4FC0 +4440 +84C0 +ENDCHAR +STARTCHAR U_7160 +ENCODING 29024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +AD40 +B5C0 +A400 +A7E0 +2100 +2FE0 +5380 +4540 +8920 +ENDCHAR +STARTCHAR U_7161 +ENCODING 29025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2C80 +25E0 +ACA0 +B7E0 +A8A0 +27E0 +2480 +2FE0 +5480 +4A80 +B1E0 +ENDCHAR +STARTCHAR U_7162 +ENCODING 29026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +14A0 +5AC0 +5280 +2940 +FFE0 +8020 +3F80 +08A0 +7FA0 +0860 +0820 +ENDCHAR +STARTCHAR U_7163 +ENCODING 29027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2940 +B080 +A7E0 +A2A0 +2D80 +2100 +37E0 +4B80 +4540 +8920 +ENDCHAR +STARTCHAR U_7164 +ENCODING 29028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2440 +B7C0 +A440 +27C0 +2100 +3FE0 +5380 +4540 +8920 +ENDCHAR +STARTCHAR U_7165 +ENCODING 29029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +AC80 +B7E0 +A5A0 +A660 +2520 +2FE0 +5180 +5240 +8C20 +ENDCHAR +STARTCHAR U_7166 +ENCODING 29030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +77C0 +5840 +5740 +7540 +5740 +5040 +7140 +0080 +5220 +8920 +ENDCHAR +STARTCHAR U_7167 +ENCODING 29031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +4A20 +7C40 +4BE0 +4A20 +7A20 +4BE0 +0000 +5240 +8920 +ENDCHAR +STARTCHAR U_7168 +ENCODING 29032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +AFC0 +B540 +A7C0 +A000 +2FE0 +2540 +5480 +4D40 +8620 +ENDCHAR +STARTCHAR U_7169 +ENCODING 29033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2200 +27C0 +AC40 +B7C0 +A440 +27C0 +3440 +4FC0 +4440 +8820 +ENDCHAR +STARTCHAR U_716A +ENCODING 29034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +2FE0 +B280 +AFE0 +AAA0 +2CE0 +2820 +5FE0 +4820 +8FE0 +ENDCHAR +STARTCHAR U_716B +ENCODING 29035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2500 +2FE0 +B200 +A440 +AA80 +2580 +5B40 +4560 +9900 +0200 +ENDCHAR +STARTCHAR U_716C +ENCODING 29036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +AFC0 +B440 +AFE0 +A400 +27E0 +2AA0 +5520 +4220 +8CC0 +ENDCHAR +STARTCHAR U_716D +ENCODING 29037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5440 +A940 +5540 +FD40 +2140 +3D40 +C840 +30C0 +C000 +5240 +8920 +ENDCHAR +STARTCHAR U_716E +ENCODING 29038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +3F80 +0500 +FFE0 +1080 +3F80 +D080 +1F80 +4240 +4920 +8920 +ENDCHAR +STARTCHAR U_716F +ENCODING 29039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2EA0 +A8C0 +BCA0 +A8E0 +2200 +2FC0 +5840 +4FC0 +8840 +0FC0 +ENDCHAR +STARTCHAR U_7170 +ENCODING 29040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +AC40 +B7C0 +A000 +AEE0 +2AA0 +2AA0 +5AA0 +4EE0 +8AA0 +ENDCHAR +STARTCHAR U_7171 +ENCODING 29041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2F40 +B540 +AFE0 +A820 +2BA0 +2AA0 +5BA0 +4820 +8860 +ENDCHAR +STARTCHAR U_7172 +ENCODING 29042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2840 +4FC0 +C200 +5FE0 +4A80 +5240 +0400 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_7173 +ENCODING 29043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +24A0 +AEA0 +B4E0 +A4A0 +AEA0 +2AE0 +2AA0 +5EA0 +4120 +8260 +ENDCHAR +STARTCHAR U_7174 +ENCODING 29044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2FC0 +B440 +A7C0 +A000 +2FE0 +2AA0 +5AA0 +4AA0 +9FE0 +ENDCHAR +STARTCHAR U_7175 +ENCODING 29045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2200 +BFE0 +AAA0 +ABA0 +2920 +5BA0 +4920 +8920 +0860 +ENDCHAR +STARTCHAR U_7176 +ENCODING 29046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +23C0 +AA40 +B3C0 +A000 +2FE0 +2100 +55C0 +4700 +88E0 +ENDCHAR +STARTCHAR U_7177 +ENCODING 29047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2240 +ABC0 +B000 +AFE0 +2820 +2380 +5280 +42A0 +8C60 +ENDCHAR +STARTCHAR U_7178 +ENCODING 29048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +B820 +AFE0 +A800 +AFE0 +2AA0 +2FE0 +5AA0 +4AA0 +9060 +ENDCHAR +STARTCHAR U_7179 +ENCODING 29049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4FC0 +5480 +FFE0 +C200 +4FC0 +4A40 +4FC0 +6A40 +9FE0 +8840 +ENDCHAR +STARTCHAR U_717A +ENCODING 29050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +2520 +A5E0 +B120 +ADE0 +25A0 +2540 +2520 +55A0 +4A00 +91E0 +ENDCHAR +STARTCHAR U_717B +ENCODING 29051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A940 +BFE0 +A940 +2FC0 +2900 +2FC0 +5C40 +5440 +A7C0 +ENDCHAR +STARTCHAR U_717C +ENCODING 29052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +2AA0 +BFA0 +A2A0 +AC40 +2FE0 +5AA0 +4FA0 +82A0 +0C40 +ENDCHAR +STARTCHAR U_717D +ENCODING 29053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A820 +BFE0 +A800 +AFE0 +2920 +2DA0 +5B60 +4DA0 +9360 +ENDCHAR +STARTCHAR U_717E +ENCODING 29054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +AFC0 +B540 +A6C0 +27C0 +2200 +3540 +4C20 +5440 +83C0 +ENDCHAR +STARTCHAR U_717F +ENCODING 29055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +3FE0 +2A40 +AFC0 +BA40 +AFC0 +2A40 +2FE0 +5480 +5280 +8180 +ENDCHAR +STARTCHAR U_7180 +ENCODING 29056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +AFC0 +B440 +A7C0 +A920 +2540 +2FE0 +5280 +4CA0 +8860 +ENDCHAR +STARTCHAR U_7181 +ENCODING 29057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +A480 +BFE0 +AAA0 +B7E0 +2440 +27C0 +5440 +4FC0 +84C0 +ENDCHAR +STARTCHAR U_7182 +ENCODING 29058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +A800 +BFC0 +AAC0 +2740 +2FC0 +2240 +5740 +4AA0 +9220 +ENDCHAR +STARTCHAR U_7183 +ENCODING 29059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7FC0 +1280 +FD60 +57C0 +9240 +2480 +2440 +1A80 +3100 +C0E0 +ENDCHAR +STARTCHAR U_7184 +ENCODING 29060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +AC40 +B7C0 +A440 +A7C0 +2440 +37C0 +4D40 +54A0 +83A0 +ENDCHAR +STARTCHAR U_7185 +ENCODING 29061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +AEC0 +B440 +A7C0 +A000 +2FE0 +2AA0 +5AA0 +4AA0 +9FE0 +ENDCHAR +STARTCHAR U_7186 +ENCODING 29062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +A900 +BFE0 +A240 +A7A0 +2000 +2FE0 +5AA0 +4AA0 +9FE0 +ENDCHAR +STARTCHAR U_7187 +ENCODING 29063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AA40 +B3C0 +A000 +A7E0 +2820 +2BA0 +5AA0 +4BA0 +8860 +ENDCHAR +STARTCHAR U_7188 +ENCODING 29064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +54A0 +5EE0 +5280 +5E80 +54A0 +5E60 +0000 +5240 +4920 +8920 +ENDCHAR +STARTCHAR U_7189 +ENCODING 29065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +AFE0 +B420 +A7E0 +A420 +27E0 +2420 +57E0 +4A80 +8C60 +ENDCHAR +STARTCHAR U_718A +ENCODING 29066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +FB80 +0220 +7BE0 +4800 +7A40 +4B80 +7A20 +4BE0 +5240 +8920 +ENDCHAR +STARTCHAR U_718B +ENCODING 29067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49C0 +FD20 +48E0 +7900 +49C0 +7920 +4CE0 +2480 +4B00 +3100 +C0E0 +ENDCHAR +STARTCHAR U_718C +ENCODING 29068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +5EE0 +EAA0 +CEE0 +C920 +4AA0 +6C60 +5820 +88A0 +0840 +ENDCHAR +STARTCHAR U_718D +ENCODING 29069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2820 +6FC0 +7440 +A7C0 +2000 +37C0 +4C40 +4440 +87C0 +ENDCHAR +STARTCHAR U_718E +ENCODING 29070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F00 +2A40 +B540 +A400 +A7C0 +2900 +37E0 +4900 +4540 +87C0 +ENDCHAR +STARTCHAR U_718F +ENCODING 29071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0400 +FFE0 +5540 +7FC0 +0400 +7FC0 +0400 +FFE0 +4A40 +8920 +ENDCHAR +STARTCHAR U_7190 +ENCODING 29072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +27C0 +AC40 +B7C0 +A440 +27C0 +2100 +5FE0 +4280 +8C60 +ENDCHAR +STARTCHAR U_7191 +ENCODING 29073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +7FE0 +4500 +DFC0 +E540 +DFE0 +4540 +5FC0 +AD80 +9540 +2520 +ENDCHAR +STARTCHAR U_7192 +ENCODING 29074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +14A0 +5AC0 +5280 +2940 +FFE0 +8420 +2440 +2480 +4A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7193 +ENCODING 29075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +2C40 +B7C0 +A400 +A7E0 +2400 +57E0 +5020 +4AA0 +8040 +ENDCHAR +STARTCHAR U_7194 +ENCODING 29076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2820 +B440 +A920 +A280 +2C60 +27C0 +5440 +4FC0 +8440 +ENDCHAR +STARTCHAR U_7195 +ENCODING 29077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +27E0 +A800 +B7C0 +A440 +27C0 +3440 +4FC0 +4440 +8820 +ENDCHAR +STARTCHAR U_7196 +ENCODING 29078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2620 +2920 +7540 +6200 +A4E0 +2420 +36E0 +4C20 +47E0 +8420 +ENDCHAR +STARTCHAR U_7197 +ENCODING 29079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +AD40 +B7E0 +A440 +A7C0 +2440 +27C0 +5A40 +4A40 +93C0 +ENDCHAR +STARTCHAR U_7198 +ENCODING 29080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2DE0 +A8A0 +BAA0 +ACA0 +A140 +2FE0 +2920 +5FE0 +4920 +8FE0 +ENDCHAR +STARTCHAR U_7199 +ENCODING 29081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4920 +5D20 +55E0 +5D00 +4920 +4920 +7EE0 +5240 +4920 +8920 +ENDCHAR +STARTCHAR U_719A +ENCODING 29082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +AFC0 +B540 +A7C0 +A540 +2FE0 +2540 +5FE0 +4900 +8100 +ENDCHAR +STARTCHAR U_719B +ENCODING 29083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +AFE0 +BAA0 +AFE0 +A000 +27C0 +3000 +4FE0 +4540 +8B20 +ENDCHAR +STARTCHAR U_719C +ENCODING 29084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +A920 +BBA0 +AD20 +AAA0 +2FE0 +2540 +54A0 +4C60 +93C0 +ENDCHAR +STARTCHAR U_719D +ENCODING 29085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AA80 +BFE0 +AAA0 +AFE0 +2A80 +2BA0 +5AC0 +4BA0 +92E0 +ENDCHAR +STARTCHAR U_719E +ENCODING 29086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +AFA0 +B940 +AFA0 +AAA0 +2F00 +2100 +57C0 +4900 +8FE0 +ENDCHAR +STARTCHAR U_719F +ENCODING 29087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FD00 +4BC0 +7940 +0340 +7D40 +1140 +FAA0 +3420 +4940 +8920 +ENDCHAR +STARTCHAR U_71A0 +ENCODING 29088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2120 +ADA0 +B360 +A5A0 +A100 +27E0 +2420 +57E0 +4C20 +87E0 +ENDCHAR +STARTCHAR U_71A1 +ENCODING 29089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +AFE0 +B540 +AFE0 +A920 +2FE0 +2240 +5480 +4B80 +8E60 +ENDCHAR +STARTCHAR U_71A2 +ENCODING 29090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +43C0 +5680 +EB80 +C560 +D900 +4BC0 +6900 +9FE0 +8900 +17E0 +ENDCHAR +STARTCHAR U_71A3 +ENCODING 29091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +24A0 +27E0 +B280 +A7E0 +AC80 +27E0 +3480 +4FE0 +4480 +87E0 +ENDCHAR +STARTCHAR U_71A4 +ENCODING 29092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2120 +ADA0 +B360 +A5A0 +A220 +2100 +2FE0 +5440 +4A80 +8FE0 +ENDCHAR +STARTCHAR U_71A5 +ENCODING 29093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +2540 +A880 +B3E0 +B2A0 +ABE0 +2AA0 +2BE0 +5AE0 +4E00 +91E0 +ENDCHAR +STARTCHAR U_71A6 +ENCODING 29094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2A60 +3380 +A500 +BFE0 +A900 +2FC0 +2900 +5FC0 +4900 +8FE0 +ENDCHAR +STARTCHAR U_71A7 +ENCODING 29095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +46A0 +9900 +25E0 +6500 +ABE0 +3400 +2440 +4A80 +1100 +E0E0 +ENDCHAR +STARTCHAR U_71A8 +ENCODING 29096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +47E0 +7E40 +5140 +9440 +B2C0 +0400 +2440 +4A80 +1100 +E0E0 +ENDCHAR +STARTCHAR U_71A9 +ENCODING 29097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +AC20 +B7E0 +A540 +A7E0 +26A0 +27E0 +5A00 +4A20 +91E0 +ENDCHAR +STARTCHAR U_71AA +ENCODING 29098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2CE0 +A520 +BEA0 +A440 +A680 +2DE0 +3520 +54A0 +4C40 +8580 +ENDCHAR +STARTCHAR U_71AB +ENCODING 29099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2A40 +7A40 +6FE0 +AA40 +2BC0 +2800 +5540 +5AA0 +AAA0 +ENDCHAR +STARTCHAR U_71AC +ENCODING 29100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +11E0 +7D40 +1340 +FC80 +2540 +DA20 +5240 +4920 +8920 +ENDCHAR +STARTCHAR U_71AD +ENCODING 29101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7BE0 +1100 +FBE0 +1100 +7FC0 +0040 +7FC0 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_71AE +ENCODING 29102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +25A0 +2360 +ADA0 +B100 +A280 +2D60 +2280 +5140 +4080 +8700 +ENDCHAR +STARTCHAR U_71AF +ENCODING 29103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +AA80 +B100 +A7C0 +A540 +27C0 +2100 +5FE0 +4A80 +8C60 +ENDCHAR +STARTCHAR U_71B0 +ENCODING 29104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +ABC0 +BA40 +ABC0 +A800 +2EE0 +2AA0 +5EE0 +4800 +8FE0 +ENDCHAR +STARTCHAR U_71B1 +ENCODING 29105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +23C0 +FD40 +5340 +A940 +FAE0 +2220 +FA40 +4920 +8920 +ENDCHAR +STARTCHAR U_71B2 +ENCODING 29106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +6880 +4BE0 +7A20 +27E0 +AA20 +B3E0 +A220 +33E0 +4940 +8620 +ENDCHAR +STARTCHAR U_71B3 +ENCODING 29107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +AFC0 +B440 +AFE0 +AAA0 +2FE0 +2440 +5280 +4900 +8EE0 +ENDCHAR +STARTCHAR U_71B4 +ENCODING 29108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2520 +27E0 +AC40 +B7C0 +A440 +27C0 +24A0 +57C0 +4CA0 +86E0 +ENDCHAR +STARTCHAR U_71B5 +ENCODING 29109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AA80 +BFE0 +AAA0 +AC60 +2BA0 +2AA0 +5BA0 +4820 +8860 +ENDCHAR +STARTCHAR U_71B6 +ENCODING 29110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +AFC0 +B440 +AFE0 +2500 +27E0 +25A0 +5540 +4F40 +81A0 +ENDCHAR +STARTCHAR U_71B7 +ENCODING 29111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +2920 +BB60 +AFE0 +A000 +27C0 +3440 +4FC0 +4440 +87C0 +ENDCHAR +STARTCHAR U_71B8 +ENCODING 29112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A40 +AFE0 +B240 +A6C0 +AB60 +27C0 +2440 +57C0 +4C40 +87C0 +ENDCHAR +STARTCHAR U_71B9 +ENCODING 29113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +7FC0 +2080 +3F80 +0A00 +FFE0 +2080 +3F80 +5240 +8920 +ENDCHAR +STARTCHAR U_71BA +ENCODING 29114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2FE0 +A440 +B7C0 +A280 +2FE0 +3000 +4FC0 +4440 +87C0 +ENDCHAR +STARTCHAR U_71BB +ENCODING 29115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2C60 +B7C0 +A440 +A7C0 +2000 +2EE0 +5AA0 +4660 +8AA0 +ENDCHAR +STARTCHAR U_71BC +ENCODING 29116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +AFC0 +B540 +A7C0 +2280 +2FE0 +2280 +5FE0 +4440 +8820 +ENDCHAR +STARTCHAR U_71BD +ENCODING 29117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +A140 +BFE0 +A540 +2FE0 +2920 +2FE0 +5920 +4DE0 +95A0 +ENDCHAR +STARTCHAR U_71BE +ENCODING 29118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FC0 +BAA0 +A480 +BFE0 +A080 +2EA0 +2AC0 +5E40 +4AA0 +8F20 +ENDCHAR +STARTCHAR U_71BF +ENCODING 29119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +B280 +AFE0 +A100 +A7C0 +2540 +27C0 +5540 +47C0 +8820 +ENDCHAR +STARTCHAR U_71C0 +ENCODING 29120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AFE0 +B540 +A7C0 +A540 +27C0 +2100 +5FE0 +4900 +8100 +ENDCHAR +STARTCHAR U_71C1 +ENCODING 29121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +B280 +AFE0 +A540 +AFE0 +2540 +2FE0 +2100 +5FE0 +8100 +ENDCHAR +STARTCHAR U_71C2 +ENCODING 29122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +AFE0 +BAA0 +AFE0 +A440 +27C0 +2440 +5FE0 +4900 +8100 +ENDCHAR +STARTCHAR U_71C3 +ENCODING 29123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2EC0 +AAA0 +B7E0 +AA80 +A540 +2A20 +2000 +5540 +4AA0 +8AA0 +ENDCHAR +STARTCHAR U_71C4 +ENCODING 29124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7AA0 +4AC0 +9080 +2140 +DAA0 +8AA0 +DEC0 +8880 +F940 +8A20 +ENDCHAR +STARTCHAR U_71C5 +ENCODING 29125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10A0 +7EC0 +1280 +FD40 +2AA0 +4480 +91A0 +7EC0 +1080 +1D40 +E220 +ENDCHAR +STARTCHAR U_71C6 +ENCODING 29126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2200 +AFE0 +B840 +A7A0 +A480 +2FE0 +2AA0 +5BA0 +4820 +8860 +ENDCHAR +STARTCHAR U_71C7 +ENCODING 29127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +AA80 +B7E0 +A520 +26A0 +27E0 +2080 +5FE0 +4880 +8580 +ENDCHAR +STARTCHAR U_71C8 +ENCODING 29128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FA0 +2B40 +AC80 +B7C0 +A820 +37C0 +2440 +27C0 +5280 +4900 +8FE0 +ENDCHAR +STARTCHAR U_71C9 +ENCODING 29129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2F80 +AAE0 +BFA0 +A0A0 +2EA0 +22A0 +24A0 +5E40 +44A0 +8D20 +ENDCHAR +STARTCHAR U_71CA +ENCODING 29130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1700 +2400 +1B80 +2080 +BAE0 +A280 +5140 +8420 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_71CB +ENCODING 29131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2480 +2FE0 +B500 +AFC0 +A500 +27C0 +2500 +37E0 +4D40 +8AA0 +ENDCHAR +STARTCHAR U_71CC +ENCODING 29132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2540 +AFE0 +B440 +A7C0 +2440 +37C0 +4C40 +47C0 +8C60 +ENDCHAR +STARTCHAR U_71CD +ENCODING 29133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5400 +7FE0 +5500 +DD00 +F5E0 +DD40 +5540 +5F40 +B540 +9240 +2440 +ENDCHAR +STARTCHAR U_71CE +ENCODING 29134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AAA0 +B7C0 +AC60 +37C0 +2440 +27C0 +5540 +4920 +9320 +ENDCHAR +STARTCHAR U_71CF +ENCODING 29135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2280 +AFE0 +B520 +A900 +AFE0 +2AA0 +2FE0 +5AA0 +4BA0 +8860 +ENDCHAR +STARTCHAR U_71D0 +ENCODING 29136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +AFE0 +B940 +A520 +2F40 +2940 +25E0 +5340 +45E0 +8840 +ENDCHAR +STARTCHAR U_71D1 +ENCODING 29137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +2480 +BFE0 +AA40 +AA40 +2FC0 +3200 +4FC0 +4200 +9FE0 +ENDCHAR +STARTCHAR U_71D2 +ENCODING 29138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +A900 +BFE0 +A440 +2EE0 +2440 +2FE0 +5180 +42A0 +8C60 +ENDCHAR +STARTCHAR U_71D3 +ENCODING 29139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2440 +FBE0 +7A40 +A4E0 +2B40 +0400 +64C0 +0B00 +3100 +C0E0 +ENDCHAR +STARTCHAR U_71D4 +ENCODING 29140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F20 +A540 +BFE0 +A540 +A920 +27C0 +2540 +57C0 +4D40 +87C0 +ENDCHAR +STARTCHAR U_71D5 +ENCODING 29141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +2E80 +20A0 +EEC0 +2AA0 +EEE0 +0000 +5240 +8920 +ENDCHAR +STARTCHAR U_71D6 +ENCODING 29142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +A7C0 +B040 +AFE0 +A4A0 +2EE0 +2040 +5FE0 +4A40 +81C0 +ENDCHAR +STARTCHAR U_71D7 +ENCODING 29143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2EE0 +BAA0 +AFE0 +AAA0 +2BA0 +2AA0 +5BA0 +4CA0 +8860 +ENDCHAR +STARTCHAR U_71D8 +ENCODING 29144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AEE0 +BAA0 +AEE0 +A920 +2FE0 +2AA0 +5920 +4AA0 +8C60 +ENDCHAR +STARTCHAR U_71D9 +ENCODING 29145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +AA40 +4940 +2FE0 +D4A0 +4920 +4240 +1440 +2480 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_71DA +ENCODING 29146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +55A0 +5AC0 +9080 +2D40 +D220 +1080 +55A0 +5AC0 +9080 +2940 +C620 +ENDCHAR +STARTCHAR U_71DB +ENCODING 29147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2A80 +FBE0 +8A20 +FBE0 +2A80 +FBE0 +2440 +2A80 +5100 +E0E0 +ENDCHAR +STARTCHAR U_71DC +ENCODING 29148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AEE0 +BAA0 +AEE0 +A920 +2A20 +2EE0 +5BA0 +4820 +8860 +ENDCHAR +STARTCHAR U_71DD +ENCODING 29149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +AC40 +B7C0 +A100 +2FE0 +2440 +57C0 +4540 +8B20 +ENDCHAR +STARTCHAR U_71DE +ENCODING 29150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +7DE0 +D2A0 +7C80 +5080 +7D40 +5240 +7C20 +4000 +5240 +8920 +ENDCHAR +STARTCHAR U_71DF +ENCODING 29151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5AC0 +5480 +A940 +4620 +FFE0 +90A0 +1F80 +0000 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_71E0 +ENCODING 29152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +AD60 +BBA0 +A920 +AFE0 +2BA0 +2D60 +5FE0 +4280 +8C60 +ENDCHAR +STARTCHAR U_71E1 +ENCODING 29153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +AFE0 +B100 +AFE0 +2280 +2100 +2FE0 +5100 +4FE0 +8100 +ENDCHAR +STARTCHAR U_71E2 +ENCODING 29154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +64C0 +4A40 +75C0 +4A40 +75C0 +4A40 +FFE0 +94A0 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_71E3 +ENCODING 29155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +5540 +D740 +F040 +DFC0 +4200 +7FE0 +5700 +8A80 +1260 +ENDCHAR +STARTCHAR U_71E4 +ENCODING 29156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +AA80 +B7C0 +A540 +A7C0 +2540 +2FE0 +2920 +5BA0 +8860 +ENDCHAR +STARTCHAR U_71E5 +ENCODING 29157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +AFE0 +BAA0 +AAA0 +AEE0 +2100 +2FE0 +5380 +4540 +8920 +ENDCHAR +STARTCHAR U_71E6 +ENCODING 29158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26E0 +24A0 +BF40 +AAA0 +A500 +A920 +2540 +2FE0 +5380 +4D40 +8920 +ENDCHAR +STARTCHAR U_71E7 +ENCODING 29159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2BE0 +A500 +B280 +A1A0 +BEC0 +25A0 +26A0 +5580 +4A00 +91E0 +ENDCHAR +STARTCHAR U_71E8 +ENCODING 29160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +A900 +B7C0 +A100 +2FE0 +32A0 +2FE0 +52A0 +4A40 +86A0 +ENDCHAR +STARTCHAR U_71E9 +ENCODING 29161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2E80 +BAE0 +AEA0 +AB20 +2EA0 +2440 +3F40 +4A40 +4AA0 +9520 +ENDCHAR +STARTCHAR U_71EA +ENCODING 29162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2280 +BFE0 +AAA0 +B7A0 +29A0 +2640 +5520 +5440 +83C0 +ENDCHAR +STARTCHAR U_71EB +ENCODING 29163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +5FE0 +5500 +FFC0 +D540 +DFE0 +5540 +7FC0 +9580 +AD40 +5520 +ENDCHAR +STARTCHAR U_71EC +ENCODING 29164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25C0 +2B40 +B940 +AF20 +A900 +AFE0 +20A0 +2EA0 +5440 +46C0 +9920 +ENDCHAR +STARTCHAR U_71ED +ENCODING 29165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +AFE0 +B400 +AFE0 +A220 +2FA0 +3AA0 +4FA0 +42A0 +8F40 +ENDCHAR +STARTCHAR U_71EE +ENCODING 29166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +AF40 +B160 +AF40 +2040 +5EA0 +8B20 +7FC0 +0900 +0600 +F9E0 +ENDCHAR +STARTCHAR U_71EF +ENCODING 29167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2100 +2FE0 +B920 +A540 +A920 +2280 +2560 +5FC0 +5280 +8100 +ENDCHAR +STARTCHAR U_71F0 +ENCODING 29168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +AFE0 +BA20 +AD40 +A7A0 +2400 +27C0 +5C80 +4300 +8CE0 +ENDCHAR +STARTCHAR U_71F1 +ENCODING 29169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A280 +BFE0 +A440 +A7C0 +2440 +27C0 +5540 +4CA0 +9380 +ENDCHAR +STARTCHAR U_71F2 +ENCODING 29170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +A240 +BFE0 +AAA0 +AFE0 +2840 +2FC0 +5840 +4FC0 +9860 +ENDCHAR +STARTCHAR U_71F3 +ENCODING 29171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +5DE0 +54A0 +F5A0 +DE40 +D5E0 +5520 +5DE0 +7000 +9540 +A4A0 +ENDCHAR +STARTCHAR U_71F4 +ENCODING 29172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +A7C0 +B820 +AFE0 +AAA0 +2FE0 +2440 +57C0 +4C40 +87C0 +ENDCHAR +STARTCHAR U_71F5 +ENCODING 29173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2BE0 +B480 +A7E0 +A140 +3BE0 +2880 +3BE0 +4880 +5480 +A3E0 +ENDCHAR +STARTCHAR U_71F6 +ENCODING 29174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +AAA0 +BFE0 +AAA0 +2FE0 +2800 +3FE0 +4D40 +5480 +A660 +ENDCHAR +STARTCHAR U_71F7 +ENCODING 29175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AAA0 +BBA0 +AFE0 +2000 +27C0 +3000 +4FE0 +4540 +8B20 +ENDCHAR +STARTCHAR U_71F8 +ENCODING 29176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +AFE0 +B920 +A280 +AFE0 +2200 +2FE0 +5AA0 +4AA0 +8860 +ENDCHAR +STARTCHAR U_71F9 +ENCODING 29177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2900 +52A0 +B9C0 +56A0 +90A0 +3580 +2440 +4A80 +1100 +E0E0 +ENDCHAR +STARTCHAR U_71FA +ENCODING 29178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2280 +AFE0 +BAA0 +ABA0 +2920 +2FE0 +5380 +4540 +8920 +ENDCHAR +STARTCHAR U_71FB +ENCODING 29179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2100 +AFE0 +BAA0 +AFE0 +A100 +27C0 +2100 +5FE0 +4540 +8AA0 +ENDCHAR +STARTCHAR U_71FC +ENCODING 29180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FC0 +A140 +B7E0 +A140 +AFE0 +2540 +2AA0 +5FE0 +4AA0 +9FE0 +ENDCHAR +STARTCHAR U_71FD +ENCODING 29181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +B900 +A7E0 +A120 +AFC0 +2020 +2FE0 +5B20 +4EA0 +8060 +ENDCHAR +STARTCHAR U_71FE +ENCODING 29182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +7FE0 +0420 +7FE0 +0080 +7FC0 +4A80 +7AC0 +8920 +ENDCHAR +STARTCHAR U_71FF +ENCODING 29183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +25A0 +AB60 +B4A0 +A7E0 +A480 +2FC0 +2480 +57C0 +4C80 +87E0 +ENDCHAR +STARTCHAR U_7200 +ENCODING 29184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +5DC0 +6880 +FFE0 +D540 +7740 +5560 +5760 +B540 +9540 +2EC0 +ENDCHAR +STARTCHAR U_7201 +ENCODING 29185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +2A40 +AF60 +B940 +AF40 +AAA0 +2F00 +2000 +57C0 +4540 +9FE0 +ENDCHAR +STARTCHAR U_7202 +ENCODING 29186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DF60 +9120 +DF60 +9120 +DF60 +9520 +FFE0 +A4A0 +4500 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_7203 +ENCODING 29187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2B60 +AA40 +B5A0 +A920 +AFE0 +2920 +27C0 +5380 +4D40 +8920 +ENDCHAR +STARTCHAR U_7204 +ENCODING 29188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5280 +5FE0 +F540 +D7C0 +D540 +57C0 +7FE0 +5960 +AFE0 +4820 +ENDCHAR +STARTCHAR U_7205 +ENCODING 29189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +AFE0 +B100 +A7C0 +A100 +2FE0 +2AA0 +57C0 +4100 +8FE0 +ENDCHAR +STARTCHAR U_7206 +ENCODING 29190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +B7C0 +A440 +AFE0 +A280 +3FE0 +2540 +5BA0 +4540 +8920 +ENDCHAR +STARTCHAR U_7207 +ENCODING 29191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBC0 +5140 +8B40 +F9C0 +2220 +FC20 +5240 +8920 +ENDCHAR +STARTCHAR U_7208 +ENCODING 29192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +2FE0 +A920 +BFC0 +A920 +2FE0 +2940 +5FC0 +4A60 +95C0 +ENDCHAR +STARTCHAR U_7209 +ENCODING 29193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2A80 +A540 +BFC0 +AD40 +2AC0 +2FC0 +2A80 +5F80 +4AA0 +8F60 +ENDCHAR +STARTCHAR U_720A +ENCODING 29194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AAA0 +BFE0 +AA80 +ABE0 +2A80 +2BE0 +5940 +4AA0 +92A0 +ENDCHAR +STARTCHAR U_720B +ENCODING 29195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2480 +AFE0 +B4A0 +AFA0 +24A0 +2FA0 +24A0 +5FA0 +4AA0 +9560 +ENDCHAR +STARTCHAR U_720C +ENCODING 29196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AA40 +BFE0 +AA40 +AFE0 +2AA0 +2BE0 +5AA0 +4BE0 +9620 +ENDCHAR +STARTCHAR U_720D +ENCODING 29197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +2BC0 +A6A0 +BBC0 +AAA0 +AFE0 +2100 +2FE0 +5380 +4540 +8920 +ENDCHAR +STARTCHAR U_720E +ENCODING 29198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +5120 +DFE0 +EAA0 +C440 +4FE0 +6440 +57C0 +9540 +8B20 +ENDCHAR +STARTCHAR U_720F +ENCODING 29199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5240 +5D80 +F480 +DFE0 +D5C0 +5EA0 +7100 +95C0 +A500 +4FE0 +ENDCHAR +STARTCHAR U_7210 +ENCODING 29200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +AFE0 +B920 +AFE0 +AD40 +2FC0 +2D40 +4FE0 +5AA0 +AFE0 +ENDCHAR +STARTCHAR U_7211 +ENCODING 29201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2340 +77E0 +6C80 +B7E0 +2480 +27E0 +5480 +4FE0 +8AA0 +ENDCHAR +STARTCHAR U_7212 +ENCODING 29202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +AAA0 +57C0 +6C60 +A7C0 +3440 +A7C0 +3540 +4920 +8300 +ENDCHAR +STARTCHAR U_7213 +ENCODING 29203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AEE0 +BAA0 +A920 +AEE0 +2C60 +2EE0 +5C60 +4FE0 +8820 +ENDCHAR +STARTCHAR U_7214 +ENCODING 29204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +B100 +AFE0 +A480 +BFE0 +2E80 +34A0 +5E40 +42A0 +8F20 +ENDCHAR +STARTCHAR U_7215 +ENCODING 29205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +AEA0 +B1C0 +2E80 +5B40 +8E20 +2480 +2500 +4A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7216 +ENCODING 29206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +5F00 +55E0 +FE20 +C1E0 +5D00 +55C0 +5D00 +75C0 +9D20 +94E0 +ENDCHAR +STARTCHAR U_7217 +ENCODING 29207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2640 +A540 +B7C0 +A280 +2FE0 +2540 +2FE0 +5540 +4FE0 +8100 +ENDCHAR +STARTCHAR U_7218 +ENCODING 29208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0600 +24E0 +2EA0 +BA40 +A5A0 +BA40 +2FE0 +2540 +57C0 +44A0 +8660 +ENDCHAR +STARTCHAR U_7219 +ENCODING 29209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AAA0 +BEE0 +A280 +AFE0 +2280 +2FE0 +56A0 +4A40 +8720 +ENDCHAR +STARTCHAR U_721A +ENCODING 29210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2480 +A840 +B7A0 +A000 +A7C0 +2540 +2FE0 +5AA0 +4FE0 +8AA0 +ENDCHAR +STARTCHAR U_721B +ENCODING 29211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AEE0 +BAA0 +AEE0 +A920 +2FE0 +2AA0 +5FE0 +4BA0 +8D60 +ENDCHAR +STARTCHAR U_721C +ENCODING 29212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +26C0 +2FE0 +B280 +AFE0 +A200 +3FE0 +2AA0 +5E40 +4AC0 +9F20 +ENDCHAR +STARTCHAR U_721D +ENCODING 29213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2940 +AFE0 +BAA0 +AFE0 +A920 +2F20 +29E0 +5F20 +4AA0 +8EE0 +ENDCHAR +STARTCHAR U_721E +ENCODING 29214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +A520 +B7E0 +A140 +AFE0 +2AA0 +2AA0 +5FE0 +5280 +8FE0 +ENDCHAR +STARTCHAR U_721F +ENCODING 29215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +A480 +BEE0 +AAA0 +AEE0 +2FE0 +2900 +5FE0 +4900 +8FE0 +ENDCHAR +STARTCHAR U_7220 +ENCODING 29216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AEE0 +AAA0 +AEE0 +2500 +2FE0 +3480 +4FC0 +4480 +87E0 +ENDCHAR +STARTCHAR U_7221 +ENCODING 29217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +A540 +B7C0 +A540 +2FE0 +2920 +2540 +57C0 +4140 +8FE0 +ENDCHAR +STARTCHAR U_7222 +ENCODING 29218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +4AA0 +7DE0 +4500 +7DE0 +4500 +BDE0 +A4A0 +ENDCHAR +STARTCHAR U_7223 +ENCODING 29219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +AFE0 +BAA0 +AFE0 +AAA0 +2FE0 +2100 +5FE0 +4540 +8AA0 +ENDCHAR +STARTCHAR U_7224 +ENCODING 29220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2440 +AEE0 +BAA0 +AFE0 +2920 +2FE0 +5BA0 +4D60 +8920 +ENDCHAR +STARTCHAR U_7225 +ENCODING 29221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2FE0 +2D40 +7B80 +6D40 +AFE0 +2AA0 +3FE0 +4920 +97A0 +2040 +ENDCHAR +STARTCHAR U_7226 +ENCODING 29222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F80 +2AE0 +BFA0 +AAA0 +AFE0 +A440 +27C0 +2440 +57C0 +4AA0 +9CE0 +ENDCHAR +STARTCHAR U_7227 +ENCODING 29223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +AFE0 +B920 +A280 +AFE0 +2AA0 +2FE0 +5540 +4920 +9FE0 +ENDCHAR +STARTCHAR U_7228 +ENCODING 29224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6FC0 +4B40 +FFE0 +9120 +7FC0 +5540 +FFE0 +2480 +D560 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_7229 +ENCODING 29225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3EE0 +2B40 +BDE0 +AB40 +AFE0 +3560 +3B80 +3540 +5FA0 +5940 +8E80 +ENDCHAR +STARTCHAR U_722A +ENCODING 29226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +3F80 +2480 +2480 +2480 +2480 +2480 +2480 +4440 +4440 +8420 +ENDCHAR +STARTCHAR U_722B +ENCODING 29227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 4 +BITMAP +00E0 +0700 +F840 +4840 +2480 +2500 +ENDCHAR +STARTCHAR U_722C +ENCODING 29228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BE0 +EAA0 +AAA0 +ABE0 +AA00 +AA20 +AA20 +A5E0 +A400 +A300 +A0E0 +ENDCHAR +STARTCHAR U_722D +ENCODING 29229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +2440 +1280 +3FC0 +0440 +FFE0 +0440 +7FC0 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_722E +ENCODING 29230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +1BC0 +EC40 +ABC0 +AAC0 +ABC0 +AA40 +AAA0 +ABE0 +A400 +A3E0 +ENDCHAR +STARTCHAR U_722F +ENCODING 29231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7E40 +1280 +3FC0 +2440 +3FC0 +2440 +FFE0 +2040 +2040 +20C0 +ENDCHAR +STARTCHAR U_7230 +ENCODING 29232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +2440 +1280 +7FC0 +0800 +FFE0 +1000 +1F80 +2880 +4700 +B8E0 +ENDCHAR +STARTCHAR U_7231 +ENCODING 29233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +7F40 +2480 +FFE0 +8420 +7FC0 +0800 +1F80 +2900 +CE00 +31E0 +ENDCHAR +STARTCHAR U_7232 +ENCODING 29234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C80 +1500 +3F80 +2080 +3FC0 +2040 +3FE0 +4020 +B520 +4AC0 +ENDCHAR +STARTCHAR U_7233 +ENCODING 29235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +1500 +3F80 +2080 +7FE0 +AAA0 +7FC0 +0180 +0600 +1400 +0800 +ENDCHAR +STARTCHAR U_7234 +ENCODING 29236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00E0 +FF40 +9540 +FD40 +9540 +F540 +AD40 +ED40 +9540 +FD20 +0820 +ENDCHAR +STARTCHAR U_7235 +ENCODING 29237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +4900 +FF80 +A480 +FF80 +8880 +FFC0 +8A80 +FA80 +9080 +F980 +ENDCHAR +STARTCHAR U_7236 +ENCODING 29238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2080 +4040 +9140 +1100 +1100 +0A00 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_7237 +ENCODING 29239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2080 +5140 +0E00 +3180 +C060 +3F80 +0880 +0A80 +0900 +0800 +ENDCHAR +STARTCHAR U_7238 +ENCODING 29240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +3180 +4A40 +0400 +1B00 +E0E0 +3F80 +2480 +3FA0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_7239 +ENCODING 29241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3180 +CA60 +0E00 +35E0 +CF00 +3A00 +0500 +0FC0 +3480 +0300 +7C00 +ENDCHAR +STARTCHAR U_723A +ENCODING 29242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3180 +4E40 +F1E0 +0000 +FBE0 +4A20 +7AC0 +4A20 +7B20 +4EC0 +FA00 +ENDCHAR +STARTCHAR U_723B +ENCODING 29243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +6100 +1A00 +0600 +1900 +E280 +2200 +1200 +0C00 +0C00 +3300 +C0C0 +ENDCHAR +STARTCHAR U_723C +ENCODING 29244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BC0 +5240 +3240 +4BC0 +8240 +0A40 +4A40 +53C0 +3240 +4A40 +8FE0 +ENDCHAR +STARTCHAR U_723D +ENCODING 29245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +5540 +2480 +5540 +2480 +5540 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_723E +ENCODING 29246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2480 +7FC0 +C460 +6EC0 +5540 +6EC0 +5540 +6EC0 +4440 +44C0 +ENDCHAR +STARTCHAR U_723F +ENCODING 29247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 1 -1 +BITMAP +11 +11 +11 +1F +01 +FF +11 +11 +11 +21 +C1 +ENDCHAR +STARTCHAR U_7240 +ENCODING 29248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5200 +5FE0 +7200 +1300 +F680 +5680 +5A40 +5260 +9200 +1200 +ENDCHAR +STARTCHAR U_7241 +ENCODING 29249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +5040 +5040 +7740 +1540 +1540 +F740 +5540 +5040 +5140 +9080 +ENDCHAR +STARTCHAR U_7242 +ENCODING 29250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5440 +5280 +5FE0 +7100 +1100 +17C0 +F100 +5FE0 +5100 +5100 +9100 +ENDCHAR +STARTCHAR U_7243 +ENCODING 29251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1540 +5FE0 +5540 +75C0 +1400 +F7E0 +5100 +5FE0 +5380 +9D60 +1100 +ENDCHAR +STARTCHAR U_7244 +ENCODING 29252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5180 +5240 +5520 +7FC0 +1440 +F7C0 +5440 +57E0 +5620 +5BE0 +9220 +ENDCHAR +STARTCHAR U_7245 +ENCODING 29253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +AFE0 +A940 +EFE0 +2940 +EFC0 +AD40 +AFC0 +AD40 +37C0 +2540 +ENDCHAR +STARTCHAR U_7246 +ENCODING 29254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A100 +AFE0 +A540 +EBA0 +2FE0 +E000 +AFE0 +AAA0 +ABA0 +A820 +AFE0 +ENDCHAR +STARTCHAR U_7247 +ENCODING 29255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +2100 +3FE0 +2000 +2000 +3F80 +2080 +2080 +4080 +8080 +ENDCHAR +STARTCHAR U_7248 +ENCODING 29256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +5700 +5400 +7FE0 +4640 +4540 +7540 +5480 +5480 +9540 +9A20 +ENDCHAR +STARTCHAR U_7249 +ENCODING 29257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +5520 +5340 +7900 +47E0 +7100 +5100 +5FE0 +5100 +5100 +9100 +ENDCHAR +STARTCHAR U_724A +ENCODING 29258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +5120 +5120 +7920 +42E0 +4400 +7BE0 +4A20 +4A20 +4BE0 +8A20 +ENDCHAR +STARTCHAR U_724B +ENCODING 29259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +53E0 +5680 +7B20 +45E0 +4280 +73E0 +5E40 +5180 +5320 +9CE0 +ENDCHAR +STARTCHAR U_724C +ENCODING 29260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +57E0 +5520 +7FE0 +4520 +77E0 +5280 +5FE0 +5080 +9080 +9080 +ENDCHAR +STARTCHAR U_724D +ENCODING 29261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +57E0 +5100 +7FE0 +44A0 +4A80 +7480 +5FE0 +5100 +5280 +9C60 +ENDCHAR +STARTCHAR U_724E +ENCODING 29262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +A7C0 +A540 +AD40 +F2C0 +8D40 +E280 +A040 +AD20 +B440 +23C0 +ENDCHAR +STARTCHAR U_724F +ENCODING 29263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A100 +A280 +A440 +FBA0 +8000 +8EA0 +EAA0 +AEA0 +AAA0 +AE20 +AA60 +ENDCHAR +STARTCHAR U_7250 +ENCODING 29264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +A700 +A100 +AFE0 +F100 +8300 +ED60 +A920 +AF60 +A920 +AFE0 +ENDCHAR +STARTCHAR U_7251 +ENCODING 29265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +AFC0 +A840 +EFC0 +8800 +EFE0 +AAA0 +AFE0 +AAA0 +B2A0 +2240 +ENDCHAR +STARTCHAR U_7252 +ENCODING 29266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A540 +AFE0 +A540 +F5C0 +8400 +87E0 +E100 +AFE0 +A540 +A920 +A920 +ENDCHAR +STARTCHAR U_7253 +ENCODING 29267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A100 +AFE0 +A280 +FFE0 +8920 +EFE0 +A200 +A3C0 +A240 +A440 +A980 +ENDCHAR +STARTCHAR U_7254 +ENCODING 29268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +5FE0 +5540 +77C0 +4540 +77C0 +5540 +5FE0 +5240 +5040 +9080 +ENDCHAR +STARTCHAR U_7255 +ENCODING 29269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +57C0 +5540 +76C0 +4540 +7640 +57C0 +5240 +5D20 +5440 +93C0 +ENDCHAR +STARTCHAR U_7256 +ENCODING 29270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A100 +AFE0 +A820 +FFE0 +8940 +EFE0 +A920 +AFE0 +A920 +AFE0 +B160 +ENDCHAR +STARTCHAR U_7257 +ENCODING 29271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +A940 +EFE0 +8940 +EFE0 +AAA0 +ABE0 +AAA0 +ABE0 +32A0 +ENDCHAR +STARTCHAR U_7258 +ENCODING 29272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +5FE0 +5100 +7FE0 +4AA0 +4FE0 +7440 +57C0 +5440 +57C0 +9C60 +ENDCHAR +STARTCHAR U_7259 +ENCODING 29273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0100 +1100 +2100 +7FE0 +0300 +0500 +0900 +1100 +E100 +0300 +ENDCHAR +STARTCHAR U_725A +ENCODING 29274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +FFE0 +A0A0 +3F80 +0000 +7FC0 +2100 +7FE0 +1100 +E700 +ENDCHAR +STARTCHAR U_725B +ENCODING 29275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +2400 +2400 +7F80 +8400 +0400 +FFC0 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_725C +ENCODING 29276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 11 0 -1 +BITMAP +08 +48 +7E +48 +8A +0C +38 +E8 +48 +08 +08 +ENDCHAR +STARTCHAR U_725D +ENCODING 29277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5100 +5120 +7D40 +9180 +1D00 +3100 +D100 +1120 +1120 +10E0 +ENDCHAR +STARTCHAR U_725E +ENCODING 29278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5100 +53E0 +7D20 +9120 +1920 +3120 +D120 +1220 +1420 +18C0 +ENDCHAR +STARTCHAR U_725F +ENCODING 29279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1080 +3FC0 +0200 +2200 +3FC0 +4200 +0200 +FFE0 +0200 +0200 +ENDCHAR +STARTCHAR U_7260 +ENCODING 29280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A2A0 +A2E0 +FBA0 +A6A0 +32A0 +62E0 +A280 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_7261 +ENCODING 29281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5080 +5080 +7880 +93E0 +1880 +3080 +D080 +1080 +17E0 +1000 +ENDCHAR +STARTCHAR U_7262 +ENCODING 29282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +FFC0 +8440 +2400 +3F80 +4400 +8400 +FFC0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_7263 +ENCODING 29283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +5120 +5120 +7D20 +9520 +1D20 +3120 +5120 +1220 +1520 +18C0 +ENDCHAR +STARTCHAR U_7264 +ENCODING 29284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +A100 +A100 +FFE0 +2400 +3400 +E400 +2400 +2400 +27C0 +2000 +ENDCHAR +STARTCHAR U_7265 +ENCODING 29285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +57E0 +7A00 +53C0 +9A40 +3240 +D440 +1440 +1940 +1080 +ENDCHAR +STARTCHAR U_7266 +ENCODING 29286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +5700 +5100 +79E0 +9700 +1900 +31E0 +5700 +1120 +1120 +10E0 +ENDCHAR +STARTCHAR U_7267 +ENCODING 29287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5200 +53E0 +7A40 +9640 +1A40 +3140 +D140 +1080 +1140 +1620 +ENDCHAR +STARTCHAR U_7268 +ENCODING 29288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +57E0 +7800 +9380 +1A80 +3280 +D280 +12A0 +14A0 +1860 +ENDCHAR +STARTCHAR U_7269 +ENCODING 29289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +A200 +A7E0 +FAA0 +A2A0 +32A0 +64A0 +A920 +2220 +2520 +28C0 +ENDCHAR +STARTCHAR U_726A +ENCODING 29290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5280 +5280 +7BE0 +9480 +1880 +37E0 +5080 +1080 +1080 +1080 +ENDCHAR +STARTCHAR U_726B +ENCODING 29291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +5240 +52E0 +7F00 +9240 +1A40 +3140 +D180 +11A0 +1660 +1020 +ENDCHAR +STARTCHAR U_726C +ENCODING 29292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +51C0 +5700 +7D00 +97E0 +1920 +3120 +5320 +15C0 +1900 +1100 +ENDCHAR +STARTCHAR U_726D +ENCODING 29293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +6FE0 +6AA0 +7AA0 +AAA0 +3AA0 +EAE0 +2C20 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_726E +ENCODING 29294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +2240 +7FE0 +A100 +22A0 +1260 +1F80 +2200 +FFE0 +0200 +0200 +ENDCHAR +STARTCHAR U_726F +ENCODING 29295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5080 +5080 +7FE0 +9080 +1080 +1BE0 +7220 +1220 +13E0 +1220 +ENDCHAR +STARTCHAR U_7270 +ENCODING 29296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A080 +A7E0 +FCA0 +A4A0 +2CA0 +37E0 +E4A0 +24A0 +27E0 +2420 +ENDCHAR +STARTCHAR U_7271 +ENCODING 29297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +A040 +F740 +A540 +B540 +6740 +A040 +2040 +2140 +2080 +ENDCHAR +STARTCHAR U_7272 +ENCODING 29298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A280 +A280 +FBE0 +A480 +3880 +63C0 +A080 +2080 +2080 +2FE0 +ENDCHAR +STARTCHAR U_7273 +ENCODING 29299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +A440 +A540 +FD40 +AFE0 +3840 +6940 +A940 +2FE0 +2040 +2180 +ENDCHAR +STARTCHAR U_7274 +ENCODING 29300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +A780 +A480 +FC80 +A7E0 +3480 +E480 +2480 +24A0 +2760 +2CA0 +ENDCHAR +STARTCHAR U_7275 +ENCODING 29301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +2080 +FFE0 +A420 +3FC0 +4400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7276 +ENCODING 29302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +7FC0 +0800 +FFE0 +5440 +9FA0 +2400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7277 +ENCODING 29303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5280 +5440 +7C20 +9380 +1900 +3100 +57C0 +1100 +1100 +1FE0 +ENDCHAR +STARTCHAR U_7278 +ENCODING 29304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +A820 +F7C0 +A080 +2100 +3FE0 +E100 +2100 +2500 +2200 +ENDCHAR +STARTCHAR U_7279 +ENCODING 29305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A7C0 +F100 +A100 +AFE0 +3080 +6FE0 +A480 +2280 +2080 +2380 +ENDCHAR +STARTCHAR U_727A +ENCODING 29306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A280 +A280 +FFE0 +AAA0 +2AA0 +3AA0 +ECE0 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_727B +ENCODING 29307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2440 +AFE0 +F540 +A580 +2740 +35A0 +E740 +2980 +2920 +36E0 +ENDCHAR +STARTCHAR U_727C +ENCODING 29308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A540 +A540 +FA80 +AA80 +3540 +6540 +AFC0 +2100 +2100 +3FE0 +ENDCHAR +STARTCHAR U_727D +ENCODING 29309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0A00 +FFE0 +8920 +BFA0 +2400 +3FC0 +4400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_727E +ENCODING 29310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A100 +AFC0 +F240 +AFE0 +2000 +37C0 +E440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_727F +ENCODING 29311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +A500 +AFC0 +F100 +AFE0 +3000 +67E0 +A420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_7280 +ENCODING 29312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4040 +7FC0 +5280 +4B00 +72C0 +4A00 +5FC0 +4200 +BFE0 +8200 +ENDCHAR +STARTCHAR U_7281 +ENCODING 29313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +1120 +FD20 +1120 +3820 +54E0 +A200 +3FC0 +4200 +FFE0 +0200 +ENDCHAR +STARTCHAR U_7282 +ENCODING 29314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A00 +73E0 +12A0 +7CA0 +3920 +D6A0 +2240 +3FC0 +4200 +7FE0 +0200 +ENDCHAR +STARTCHAR U_7283 +ENCODING 29315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +57C0 +7840 +5440 +9280 +1FE0 +3000 +D7C0 +1440 +1440 +17C0 +ENDCHAR +STARTCHAR U_7284 +ENCODING 29316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +A280 +F440 +AFE0 +3040 +6740 +A540 +2740 +2040 +21C0 +ENDCHAR +STARTCHAR U_7285 +ENCODING 29317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +AAA0 +A920 +FFE0 +A920 +2D60 +3D60 +EFE0 +2820 +2820 +2860 +ENDCHAR +STARTCHAR U_7286 +ENCODING 29318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A7E0 +A100 +FFC0 +A440 +37C0 +6440 +A740 +25C0 +2440 +2FE0 +ENDCHAR +STARTCHAR U_7287 +ENCODING 29319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +3FC0 +4400 +7FC0 +0400 +5280 +7BC0 +9480 +1BE0 +7080 +1080 +ENDCHAR +STARTCHAR U_7288 +ENCODING 29320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +A540 +AFE0 +F200 +AFE0 +2440 +3BE0 +E240 +22C0 +2220 +21E0 +ENDCHAR +STARTCHAR U_7289 +ENCODING 29321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +57E0 +5240 +7BC0 +9000 +17C0 +1880 +77E0 +1080 +1280 +1100 +ENDCHAR +STARTCHAR U_728A +ENCODING 29322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A7C0 +A100 +FFE0 +A4A0 +2280 +3480 +E280 +2FE0 +2240 +2C20 +ENDCHAR +STARTCHAR U_728B +ENCODING 29323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +A440 +A7C0 +FC40 +A7C0 +2440 +37C0 +E440 +3FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_728C +ENCODING 29324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +AA20 +AA20 +FEE0 +A800 +2FE0 +38A0 +EFA0 +2840 +28A0 +2920 +ENDCHAR +STARTCHAR U_728D +ENCODING 29325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +AFE0 +A4A0 +FDE0 +A6A0 +23E0 +3A80 +EBE0 +2480 +2A80 +31E0 +ENDCHAR +STARTCHAR U_728E +ENCODING 29326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FBE0 +2040 +FA40 +2140 +FCC0 +2400 +3FC0 +4400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_728F +ENCODING 29327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +A820 +FFE0 +A800 +2FE0 +3AA0 +EFE0 +2AA0 +2AA0 +3860 +ENDCHAR +STARTCHAR U_7290 +ENCODING 29328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +AEA0 +A260 +FF20 +A2A0 +2360 +36A0 +EA20 +23E0 +2220 +2220 +ENDCHAR +STARTCHAR U_7291 +ENCODING 29329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +A440 +A7C0 +FC40 +A7C0 +2440 +37C0 +E140 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_7292 +ENCODING 29330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +A000 +FBC0 +A240 +23C0 +3000 +6FE0 +AAA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_7293 +ENCODING 29331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A200 +A7E0 +F520 +AFE0 +2220 +3440 +67E0 +AD20 +27E0 +2120 +2640 +ENDCHAR +STARTCHAR U_7294 +ENCODING 29332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +A800 +B780 +E000 +AFC0 +3AC0 +2740 +EFC0 +2740 +2AA0 +2220 +ENDCHAR +STARTCHAR U_7295 +ENCODING 29333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +A7E0 +F280 +AFE0 +2200 +37E0 +6D20 +A7E0 +2520 +27E0 +2560 +ENDCHAR +STARTCHAR U_7296 +ENCODING 29334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +52A0 +5AC0 +9480 +2B40 +FFE0 +8020 +A420 +3FC0 +4400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_7297 +ENCODING 29335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +A920 +F7C0 +A100 +27C0 +3100 +EFE0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_7298 +ENCODING 29336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +5DC0 +6AA0 +4A80 +5FE0 +6200 +7FE0 +8200 +ENDCHAR +STARTCHAR U_7299 +ENCODING 29337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2480 +AFC0 +F4A0 +AFE0 +3280 +6540 +BAA0 +2140 +2080 +2700 +ENDCHAR +STARTCHAR U_729A +ENCODING 29338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +47E0 +7E40 +4940 +6A40 +58C0 +A400 +3F80 +4400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_729B +ENCODING 29339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +2140 +FC80 +A940 +7FE0 +5200 +5FC0 +4200 +7FE0 +8200 +ENDCHAR +STARTCHAR U_729C +ENCODING 29340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +AE80 +A0E0 +FFA0 +AAA0 +2EA0 +32A0 +E440 +2E40 +24A0 +2D20 +ENDCHAR +STARTCHAR U_729D +ENCODING 29341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +A280 +F100 +AFE0 +2540 +37C0 +E540 +2FE0 +2100 +3FE0 +ENDCHAR +STARTCHAR U_729E +ENCODING 29342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +A200 +BFE0 +E480 +ACC0 +37A0 +2000 +EFE0 +2AA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_729F +ENCODING 29343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +0A40 +7FE0 +4520 +7FE0 +4940 +3520 +3FC0 +4400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_72A0 +ENCODING 29344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +A7E0 +A100 +FBC0 +A100 +2FE0 +34A0 +EFE0 +24C0 +3EA0 +2560 +ENDCHAR +STARTCHAR U_72A1 +ENCODING 29345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +AA80 +AFE0 +FA80 +AFC0 +2940 +3FC0 +E940 +2FE0 +3960 +2BA0 +ENDCHAR +STARTCHAR U_72A2 +ENCODING 29346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +A100 +FFE0 +AAA0 +2FE0 +3440 +E7C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_72A3 +ENCODING 29347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +AA80 +A540 +FFE0 +AAA0 +2FE0 +3DC0 +EB40 +2DC0 +2B60 +2DA0 +ENDCHAR +STARTCHAR U_72A4 +ENCODING 29348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +AAA0 +AFE0 +F240 +A560 +2F40 +3960 +EF40 +2960 +2F40 +2960 +ENDCHAR +STARTCHAR U_72A5 +ENCODING 29349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +AA80 +FFE0 +AAA0 +2FE0 +3CA0 +EEC0 +2CE0 +3740 +2AA0 +ENDCHAR +STARTCHAR U_72A6 +ENCODING 29350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +A440 +A7C0 +F440 +AFE0 +3280 +2FE0 +E540 +2BA0 +2540 +2B20 +ENDCHAR +STARTCHAR U_72A7 +ENCODING 29351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AFE0 +A100 +FFE0 +A100 +2FE0 +34A0 +EFE0 +2EC0 +2260 +2DA0 +ENDCHAR +STARTCHAR U_72A8 +ENCODING 29352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5140 +7DE0 +D340 +7DE0 +5140 +7DE0 +1200 +1FC0 +2200 +7FE0 +0200 +ENDCHAR +STARTCHAR U_72A9 +ENCODING 29353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +27C0 +FD40 +27C0 +FD40 +57A0 +2CE0 +7F80 +4400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_72AA +ENCODING 29354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AFE0 +FA80 +ABE0 +AEA0 +3B80 +6A60 +B7C0 +2CA0 +2300 +3CE0 +ENDCHAR +STARTCHAR U_72AB +ENCODING 29355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +7FE0 +D540 +7FE0 +7BE0 +5F40 +7DE0 +7FC0 +8400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_72AC +ENCODING 29356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +0400 +FFE0 +0400 +0400 +0600 +0900 +1080 +2040 +C020 +ENDCHAR +STARTCHAR U_72AD +ENCODING 29357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 0 -1 +BITMAP +68 +10 +30 +48 +88 +18 +28 +48 +88 +28 +10 +ENDCHAR +STARTCHAR U_72AE +ENCODING 29358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +0880 +FFE0 +0800 +0FC0 +1480 +1480 +2300 +2300 +4480 +9860 +ENDCHAR +STARTCHAR U_72AF +ENCODING 29359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5440 +2440 +5440 +9440 +3580 +5400 +9400 +1420 +5420 +23E0 +ENDCHAR +STARTCHAR U_72B0 +ENCODING 29360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A00 +5200 +2200 +5F80 +9280 +3280 +5280 +9280 +12A0 +54A0 +2860 +ENDCHAR +STARTCHAR U_72B1 +ENCODING 29361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5200 +2200 +5F80 +9280 +3680 +5280 +9580 +14A0 +5860 +2020 +ENDCHAR +STARTCHAR U_72B2 +ENCODING 29362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5080 +2080 +57E0 +9080 +3180 +5280 +9480 +1880 +5280 +2100 +ENDCHAR +STARTCHAR U_72B3 +ENCODING 29363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +5200 +23E0 +5420 +9020 +2920 +48A0 +88A0 +0820 +5140 +2080 +ENDCHAR +STARTCHAR U_72B4 +ENCODING 29364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +87C0 +5100 +2100 +5100 +9FE0 +3100 +5100 +9100 +1100 +5100 +2100 +ENDCHAR +STARTCHAR U_72B5 +ENCODING 29365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A00 +53E0 +2400 +5800 +97C0 +3080 +5100 +9200 +1420 +5420 +23E0 +ENDCHAR +STARTCHAR U_72B6 +ENCODING 29366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1180 +9140 +5100 +5FE0 +1100 +1100 +3280 +D280 +1440 +1440 +1820 +ENDCHAR +STARTCHAR U_72B7 +ENCODING 29367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +57E0 +2400 +5400 +9400 +3400 +5400 +9400 +1400 +5400 +2800 +ENDCHAR +STARTCHAR U_72B8 +ENCODING 29368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5040 +2240 +5240 +9440 +37E0 +5020 +97A0 +1020 +5120 +20C0 +ENDCHAR +STARTCHAR U_72B9 +ENCODING 29369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8940 +5120 +2100 +5FE0 +9280 +3280 +5280 +9280 +12A0 +54A0 +2860 +ENDCHAR +STARTCHAR U_72BA +ENCODING 29370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A00 +5100 +2FE0 +5000 +9380 +3280 +5280 +9280 +12A0 +54A0 +2860 +ENDCHAR +STARTCHAR U_72BB +ENCODING 29371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +AFE0 +4100 +A7C0 +3540 +3540 +5540 +95C0 +1540 +5100 +2100 +ENDCHAR +STARTCHAR U_72BC +ENCODING 29372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9080 +5F80 +2180 +6280 +9380 +3680 +5A80 +9280 +12A0 +5AA0 +2460 +ENDCHAR +STARTCHAR U_72BD +ENCODING 29373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +87E0 +5080 +2280 +5480 +97E0 +3080 +5180 +9280 +1480 +5A80 +2100 +ENDCHAR +STARTCHAR U_72BE +ENCODING 29374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5280 +2240 +DFE0 +1200 +3300 +5500 +9480 +1480 +5860 +2040 +ENDCHAR +STARTCHAR U_72BF +ENCODING 29375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A00 +5100 +2000 +5FE0 +9100 +3100 +5180 +9140 +1120 +5100 +2100 +ENDCHAR +STARTCHAR U_72C0 +ENCODING 29376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +5180 +5140 +5FE0 +7100 +1100 +F100 +5280 +5280 +5440 +9820 +ENDCHAR +STARTCHAR U_72C1 +ENCODING 29377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5240 +2420 +5FA0 +9000 +3280 +5280 +9280 +12A0 +54A0 +2860 +ENDCHAR +STARTCHAR U_72C2 +ENCODING 29378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5100 +2100 +5100 +9100 +37C0 +5100 +9100 +1100 +5100 +2FE0 +ENDCHAR +STARTCHAR U_72C3 +ENCODING 29379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5140 +2140 +5140 +9140 +37C0 +5240 +9240 +1240 +5240 +2FE0 +ENDCHAR +STARTCHAR U_72C4 +ENCODING 29380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5100 +2520 +5540 +9580 +3900 +5100 +9280 +1280 +5440 +2820 +ENDCHAR +STARTCHAR U_72C5 +ENCODING 29381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +88C0 +5700 +2100 +5100 +9100 +3FE0 +5100 +9100 +1100 +5100 +27C0 +ENDCHAR +STARTCHAR U_72C6 +ENCODING 29382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5100 +27E0 +5520 +9520 +37E0 +5520 +9100 +1100 +5100 +2100 +ENDCHAR +STARTCHAR U_72C7 +ENCODING 29383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +9200 +6200 +6FE0 +A700 +2680 +6A80 +B240 +2260 +A200 +4200 +ENDCHAR +STARTCHAR U_72C8 +ENCODING 29384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5420 +24A0 +54A0 +94A0 +34A0 +54A0 +94A0 +1140 +5220 +2C20 +ENDCHAR +STARTCHAR U_72C9 +ENCODING 29385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8800 +57E0 +2100 +5100 +9140 +3320 +5520 +9100 +1100 +5000 +2FE0 +ENDCHAR +STARTCHAR U_72CA +ENCODING 29386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +2080 +3F80 +0500 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_72CB +ENCODING 29387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5000 +2000 +5FE0 +9100 +3540 +5540 +9520 +1920 +5500 +2200 +ENDCHAR +STARTCHAR U_72CC +ENCODING 29388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5500 +2500 +57E0 +9900 +3100 +57C0 +9100 +1100 +5100 +2FE0 +ENDCHAR +STARTCHAR U_72CD +ENCODING 29389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A00 +53E0 +2420 +5FA0 +94A0 +34A0 +57A0 +9460 +1400 +5420 +23E0 +ENDCHAR +STARTCHAR U_72CE +ENCODING 29390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +54A0 +24A0 +57E0 +94A0 +34A0 +57E0 +9080 +1080 +5080 +2080 +ENDCHAR +STARTCHAR U_72CF +ENCODING 29391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +57E0 +2800 +5500 +95C0 +3740 +5D40 +95C0 +1520 +5520 +23E0 +ENDCHAR +STARTCHAR U_72D0 +ENCODING 29392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +AF00 +4A80 +AA80 +2A80 +2A40 +6A40 +AA40 +2AA0 +2BA0 +D020 +ENDCHAR +STARTCHAR U_72D1 +ENCODING 29393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5280 +2440 +5A20 +9100 +3FE0 +5040 +9480 +1300 +5100 +2080 +ENDCHAR +STARTCHAR U_72D2 +ENCODING 29394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A80 +5FE0 +22A0 +57E0 +9A80 +3A80 +5FE0 +92A0 +12E0 +5480 +2880 +ENDCHAR +STARTCHAR U_72D3 +ENCODING 29395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +9100 +6FE0 +6920 +A940 +2FC0 +6A80 +AA80 +2900 +AA80 +5460 +ENDCHAR +STARTCHAR U_72D4 +ENCODING 29396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5420 +2420 +57E0 +9400 +3520 +5540 +9580 +1520 +5920 +20E0 +ENDCHAR +STARTCHAR U_72D5 +ENCODING 29397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A080 +6480 +6480 +ABE0 +3EA0 +64A0 +AAA0 +3EA0 +2120 +A2A0 +4440 +ENDCHAR +STARTCHAR U_72D6 +ENCODING 29398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +5100 +2FE0 +5820 +9280 +3280 +5280 +9240 +1440 +5420 +2820 +ENDCHAR +STARTCHAR U_72D7 +ENCODING 29399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +5200 +27E0 +5420 +9BA0 +32A0 +52A0 +93A0 +1020 +5140 +2080 +ENDCHAR +STARTCHAR U_72D8 +ENCODING 29400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8940 +5120 +27E0 +5500 +9520 +3520 +5540 +9580 +16A0 +5560 +2220 +ENDCHAR +STARTCHAR U_72D9 +ENCODING 29401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5440 +2440 +57C0 +9440 +3440 +5440 +97C0 +1440 +5440 +2FE0 +ENDCHAR +STARTCHAR U_72DA +ENCODING 29402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +87C0 +5440 +2440 +5440 +97C0 +3440 +5440 +97C0 +1440 +5000 +2FE0 +ENDCHAR +STARTCHAR U_72DB +ENCODING 29403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +5200 +27E0 +5420 +9420 +37E0 +5420 +9420 +1420 +57E0 +2420 +ENDCHAR +STARTCHAR U_72DC +ENCODING 29404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5100 +2FE0 +5100 +9100 +37C0 +5440 +9440 +1440 +57C0 +2440 +ENDCHAR +STARTCHAR U_72DD +ENCODING 29405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +57E0 +2820 +5140 +9500 +3580 +5940 +9920 +1120 +5500 +2200 +ENDCHAR +STARTCHAR U_72DE +ENCODING 29406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57E0 +2420 +5000 +97E0 +3100 +5100 +9100 +1100 +5100 +2300 +ENDCHAR +STARTCHAR U_72DF +ENCODING 29407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8800 +57E0 +2000 +57C0 +9440 +37C0 +5440 +97C0 +1440 +5000 +2FE0 +ENDCHAR +STARTCHAR U_72E0 +ENCODING 29408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5440 +27C0 +5440 +97C0 +3500 +5540 +9480 +1480 +5540 +2620 +ENDCHAR +STARTCHAR U_72E1 +ENCODING 29409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A00 +5100 +2FE0 +5280 +9440 +3AA0 +5280 +9280 +1100 +A280 +4C60 +ENDCHAR +STARTCHAR U_72E2 +ENCODING 29410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +53C0 +2440 +5A80 +9100 +3680 +5860 +97C0 +1440 +57C0 +2440 +ENDCHAR +STARTCHAR U_72E3 +ENCODING 29411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A80 +5280 +2AA0 +56C0 +9280 +36C0 +5AA0 +9280 +12A0 +54A0 +2860 +ENDCHAR +STARTCHAR U_72E4 +ENCODING 29412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5100 +2FE0 +5100 +97C0 +3000 +57C0 +9440 +1440 +57C0 +2440 +ENDCHAR +STARTCHAR U_72E5 +ENCODING 29413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9400 +67E0 +2820 +57A0 +94A0 +37A0 +54A0 +97A0 +1020 +50A0 +2040 +ENDCHAR +STARTCHAR U_72E6 +ENCODING 29414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AFE0 +4AA0 +AAA0 +3FE0 +2AA0 +6AA0 +BFE0 +2AA0 +2AA0 +2AA0 +C860 +ENDCHAR +STARTCHAR U_72E7 +ENCODING 29415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +91C0 +5F00 +2100 +5FE0 +9100 +3100 +57C0 +9440 +1440 +57C0 +2440 +ENDCHAR +STARTCHAR U_72E8 +ENCODING 29416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8940 +5120 +2FE0 +5500 +9520 +3F20 +5540 +9480 +14A0 +6960 +2220 +ENDCHAR +STARTCHAR U_72E9 +ENCODING 29417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57E0 +2420 +5080 +9080 +3FE0 +5480 +9280 +1080 +5280 +2100 +ENDCHAR +STARTCHAR U_72EA +ENCODING 29418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AFE0 +4820 +ABA0 +2820 +2BA0 +6AA0 +AAA0 +2BA0 +2820 +28A0 +C840 +ENDCHAR +STARTCHAR U_72EB +ENCODING 29419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A20 +57A0 +2240 +5280 +9FE0 +3200 +5640 +9B80 +1220 +5220 +21E0 +ENDCHAR +STARTCHAR U_72EC +ENCODING 29420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5100 +27E0 +5520 +9520 +3520 +57E0 +9100 +1120 +5FE0 +2020 +ENDCHAR +STARTCHAR U_72ED +ENCODING 29421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5FE0 +2100 +5920 +9540 +3FE0 +5100 +9100 +1280 +5440 +2820 +ENDCHAR +STARTCHAR U_72EE +ENCODING 29422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A3E0 +4A80 +ABE0 +2AA0 +2AA0 +6AA0 +AAA0 +2AA0 +22E0 +A480 +4880 +ENDCHAR +STARTCHAR U_72EF +ENCODING 29423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5280 +2440 +5820 +97A0 +3000 +5FE0 +9100 +1240 +5440 +2FA0 +ENDCHAR +STARTCHAR U_72F0 +ENCODING 29424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +53C0 +2480 +57C0 +9140 +3FE0 +5140 +97C0 +1100 +5100 +2300 +ENDCHAR +STARTCHAR U_72F1 +ENCODING 29425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A8C0 +44A0 +A480 +3BE0 +2880 +6880 +A880 +2A80 +2D40 +2A20 +C420 +ENDCHAR +STARTCHAR U_72F2 +ENCODING 29426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AE80 +4280 +A480 +2480 +27C0 +6DA0 +B6A0 +2480 +2480 +B680 +4900 +ENDCHAR +STARTCHAR U_72F3 +ENCODING 29427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A300 +4480 +A840 +37E0 +2100 +6FE0 +A100 +2540 +2920 +2920 +C300 +ENDCHAR +STARTCHAR U_72F4 +ENCODING 29428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +4920 +AFC0 +2900 +2B20 +6CE0 +A100 +27C0 +2100 +2100 +DFE0 +ENDCHAR +STARTCHAR U_72F5 +ENCODING 29429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5280 +2240 +5FE0 +9540 +3580 +5540 +95A0 +1540 +59A0 +26E0 +ENDCHAR +STARTCHAR U_72F6 +ENCODING 29430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8B60 +5080 +2360 +5080 +9FE0 +3280 +57E0 +9AA0 +12A0 +52E0 +2080 +ENDCHAR +STARTCHAR U_72F7 +ENCODING 29431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8BC0 +5240 +23C0 +5000 +97E0 +3420 +57E0 +9420 +17E0 +5420 +24E0 +ENDCHAR +STARTCHAR U_72F8 +ENCODING 29432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5520 +2520 +57E0 +9520 +37E0 +5100 +97C0 +1100 +5100 +2FE0 +ENDCHAR +STARTCHAR U_72F9 +ENCODING 29433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57E0 +2100 +5540 +9540 +3BA0 +5100 +9100 +1280 +5440 +2820 +ENDCHAR +STARTCHAR U_72FA +ENCODING 29434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5FE0 +2000 +57C0 +9000 +37C0 +5000 +97C0 +1440 +57C0 +2440 +ENDCHAR +STARTCHAR U_72FB +ENCODING 29435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A00 +5440 +2FE0 +5280 +9440 +3A20 +53C0 +9680 +1900 +5280 +2C60 +ENDCHAR +STARTCHAR U_72FC +ENCODING 29436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57C0 +2440 +57C0 +9440 +37C0 +5520 +9540 +1480 +5540 +2620 +ENDCHAR +STARTCHAR U_72FD +ENCODING 29437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5420 +27E0 +5420 +97E0 +3420 +57E0 +9000 +1240 +5220 +2C20 +ENDCHAR +STARTCHAR U_72FE +ENCODING 29438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +55E0 +2500 +5F00 +95E0 +1740 +3540 +5D40 +9540 +1540 +1540 +6E40 +ENDCHAR +STARTCHAR U_72FF +ENCODING 29439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E20 +25C0 +6440 +A960 +2F40 +2540 +6540 +ADE0 +2400 +2A00 +D1E0 +ENDCHAR +STARTCHAR U_7300 +ENCODING 29440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A880 +44C0 +B2A0 +2AA0 +6480 +A8A0 +3840 +2880 +AB00 +4C00 +ENDCHAR +STARTCHAR U_7301 +ENCODING 29441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E20 +24A0 +64A0 +BFA0 +24A0 +66A0 +ADA0 +34A0 +2420 +2420 +C4E0 +ENDCHAR +STARTCHAR U_7302 +ENCODING 29442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97C0 +5440 +27C0 +5440 +17C0 +3000 +57C0 +9100 +1FE0 +5100 +2100 +ENDCHAR +STARTCHAR U_7303 +ENCODING 29443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5280 +2440 +5820 +97C0 +3000 +5A40 +9540 +1540 +5080 +2FE0 +ENDCHAR +STARTCHAR U_7304 +ENCODING 29444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +4000 +A7C0 +2440 +57C0 +9100 +1540 +1920 +5520 +2200 +ENDCHAR +STARTCHAR U_7305 +ENCODING 29445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +5280 +2EE0 +5280 +9EE0 +3280 +5280 +9EE0 +1280 +5280 +2280 +ENDCHAR +STARTCHAR U_7306 +ENCODING 29446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +7BC0 +0A00 +7BC0 +0A00 +7BC0 +0E80 +7FE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_7307 +ENCODING 29447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A1E0 +4100 +AFE0 +2920 +2FC0 +6920 +A9E0 +2800 +2B80 +32A0 +CC60 +ENDCHAR +STARTCHAR U_7308 +ENCODING 29448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57E0 +2520 +57E0 +9520 +37E0 +5280 +9FE0 +1080 +5080 +2080 +ENDCHAR +STARTCHAR U_7309 +ENCODING 29449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +97E0 +6240 +63C0 +9240 +33C0 +5240 +9FE0 +1240 +5420 +2820 +ENDCHAR +STARTCHAR U_730A +ENCODING 29450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5660 +2420 +56E0 +9420 +3420 +57E0 +9280 +12A0 +54A0 +2860 +ENDCHAR +STARTCHAR U_730B +ENCODING 29451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +7FE0 +1100 +E0E0 +1040 +28A0 +FBE0 +2080 +5140 +8A20 +ENDCHAR +STARTCHAR U_730C +ENCODING 29452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FCC0 +10A0 +57E0 +5480 +BA80 +1080 +3880 +5540 +9220 +1420 +ENDCHAR +STARTCHAR U_730D +ENCODING 29453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +9FE0 +6100 +6540 +9540 +3BA0 +5100 +9380 +1540 +5920 +2100 +ENDCHAR +STARTCHAR U_730E +ENCODING 29454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A80 +5280 +27C0 +5280 +9FE0 +3000 +57C0 +9440 +17C0 +5440 +27C0 +ENDCHAR +STARTCHAR U_730F +ENCODING 29455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +27E0 +6420 +97E0 +1400 +35E0 +5520 +95E0 +1520 +95E0 +6920 +ENDCHAR +STARTCHAR U_7310 +ENCODING 29456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9480 +6FE0 +2200 +57C0 +9200 +3200 +5FE0 +9300 +1520 +5520 +28E0 +ENDCHAR +STARTCHAR U_7311 +ENCODING 29457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AFC0 +4840 +AFC0 +2840 +2FC0 +6900 +AF20 +29C0 +2900 +AF20 +48E0 +ENDCHAR +STARTCHAR U_7312 +ENCODING 29458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +48C0 +78A0 +4BE0 +FC80 +8480 +FC80 +8480 +FD40 +8620 +8C20 +ENDCHAR +STARTCHAR U_7313 +ENCODING 29459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57C0 +2540 +57C0 +9540 +17C0 +3100 +5FE0 +9100 +1380 +1540 +6920 +ENDCHAR +STARTCHAR U_7314 +ENCODING 29460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +4820 +A7C0 +2000 +6FE0 +A100 +2940 +2920 +B520 +4200 +ENDCHAR +STARTCHAR U_7315 +ENCODING 29461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5D00 +2500 +65E0 +AE20 +2880 +6DC0 +A5A0 +26A0 +24A0 +B480 +4980 +ENDCHAR +STARTCHAR U_7316 +ENCODING 29462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8BC0 +5240 +23C0 +5240 +93C0 +3000 +57E0 +9420 +17E0 +5420 +27E0 +ENDCHAR +STARTCHAR U_7317 +ENCODING 29463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +5FE0 +2280 +5440 +9FE0 +3040 +5740 +9540 +1740 +5040 +21C0 +ENDCHAR +STARTCHAR U_7318 +ENCODING 29464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9A20 +6A20 +6FA0 +B220 +2FA0 +62A0 +AFA0 +2AA0 +2AA0 +ABA0 +4260 +ENDCHAR +STARTCHAR U_7319 +ENCODING 29465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5A20 +2540 +57C0 +9140 +3FE0 +5140 +97C0 +1100 +5500 +2200 +ENDCHAR +STARTCHAR U_731A +ENCODING 29466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9280 +5240 +27E0 +5C80 +97E0 +3480 +57E0 +9480 +1480 +57E0 +2400 +ENDCHAR +STARTCHAR U_731B +ENCODING 29467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97C0 +5080 +2100 +5FE0 +9100 +3500 +5200 +9FE0 +2AA0 +AAA0 +5FE0 +ENDCHAR +STARTCHAR U_731C +ENCODING 29468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5FE0 +2100 +67C0 +A100 +2FE0 +6440 +A7C0 +2440 +27C0 +C440 +ENDCHAR +STARTCHAR U_731D +ENCODING 29469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5FE0 +2440 +5440 +9AA0 +3120 +5100 +9FE0 +1100 +5100 +2100 +ENDCHAR +STARTCHAR U_731E +ENCODING 29470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +2280 +5440 +9BA0 +1100 +3FE0 +5100 +97C0 +1440 +57C0 +2440 +ENDCHAR +STARTCHAR U_731F +ENCODING 29471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +A540 +4080 +AFC0 +2A40 +6FC0 +AA40 +2FC0 +AA40 +5260 +2020 +ENDCHAR +STARTCHAR U_7320 +ENCODING 29472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +A500 +5FC0 +B540 +3FC0 +7540 +B540 +3FE0 +2480 +A840 +5020 +ENDCHAR +STARTCHAR U_7321 +ENCODING 29473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2AA0 +5AA0 +9FE0 +1200 +33E0 +5640 +9940 +1080 +5100 +2E00 +ENDCHAR +STARTCHAR U_7322 +ENCODING 29474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D4E0 +24A0 +7FA0 +A4E0 +24A0 +2EA0 +6AE0 +AAA0 +2EA0 +A120 +4260 +ENDCHAR +STARTCHAR U_7323 +ENCODING 29475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +4920 +AAA0 +2FE0 +2440 +6A20 +A3C0 +2680 +2900 +2280 +DC60 +ENDCHAR +STARTCHAR U_7324 +ENCODING 29476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +AF40 +4AA0 +A440 +3BA0 +6100 +AFE0 +2280 +2280 +A440 +4820 +ENDCHAR +STARTCHAR U_7325 +ENCODING 29477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5540 +27C0 +5540 +97C0 +3000 +57E0 +9540 +1480 +5540 +2620 +ENDCHAR +STARTCHAR U_7326 +ENCODING 29478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57C0 +2440 +57C0 +9540 +17C0 +3540 +57C0 +9540 +15A0 +9760 +6820 +ENDCHAR +STARTCHAR U_7327 +ENCODING 29479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97C0 +6440 +6740 +A540 +2FE0 +6820 +ABA0 +2AA0 +2BA0 +A820 +4860 +ENDCHAR +STARTCHAR U_7328 +ENCODING 29480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +AE40 +4A80 +AFC0 +2200 +3FE0 +6200 +A3C0 +2680 +A900 +56E0 +ENDCHAR +STARTCHAR U_7329 +ENCODING 29481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5440 +27C0 +5440 +97C0 +3500 +57E0 +9900 +17C0 +5100 +2FE0 +ENDCHAR +STARTCHAR U_732A +ENCODING 29482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8920 +57A0 +2140 +57E0 +9100 +33E0 +5620 +9BE0 +1220 +53E0 +2220 +ENDCHAR +STARTCHAR U_732B +ENCODING 29483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A40 +57E0 +2240 +5240 +97E0 +3520 +5520 +97E0 +1520 +57E0 +2420 +ENDCHAR +STARTCHAR U_732C +ENCODING 29484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5920 +2FE0 +5920 +9FE0 +3440 +57C0 +9440 +17C0 +5440 +24C0 +ENDCHAR +STARTCHAR U_732D +ENCODING 29485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +93C0 +5480 +2780 +5100 +9FE0 +3220 +5540 +9A80 +15C0 +52A0 +2D80 +ENDCHAR +STARTCHAR U_732E +ENCODING 29486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FCC0 +10A0 +FFE0 +AC80 +9480 +FC80 +9480 +FD40 +9540 +8E20 +ENDCHAR +STARTCHAR U_732F +ENCODING 29487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A920 +4FE0 +A000 +3FE0 +2100 +6FE0 +AAA0 +2AA0 +AAA0 +4860 +ENDCHAR +STARTCHAR U_7330 +ENCODING 29488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +5FE0 +24A0 +5EA0 +94A0 +3F60 +5500 +9FE0 +1280 +5440 +2820 +ENDCHAR +STARTCHAR U_7331 +ENCODING 29489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5280 +2100 +5FE0 +9540 +3B00 +5100 +9FE0 +1380 +5540 +2920 +ENDCHAR +STARTCHAR U_7332 +ENCODING 29490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57C0 +2440 +57C0 +9440 +17C0 +3200 +57E0 +9CA0 +1560 +17A0 +60C0 +ENDCHAR +STARTCHAR U_7333 +ENCODING 29491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +2A20 +6EE0 +A800 +28E0 +2EA0 +68A0 +AEA0 +2840 +28A0 +C920 +ENDCHAR +STARTCHAR U_7334 +ENCODING 29492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABC0 +4840 +AFE0 +3A00 +2BE0 +6C80 +A880 +2FE0 +2880 +A940 +4A20 +ENDCHAR +STARTCHAR U_7335 +ENCODING 29493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +6FE0 +6820 +AFE0 +2800 +6FE0 +AAA0 +2FE0 +2AA0 +BAA0 +4860 +ENDCHAR +STARTCHAR U_7336 +ENCODING 29494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +A280 +5FE0 +A280 +2FE0 +6AA0 +ACE0 +2820 +2FE0 +A820 +4FE0 +ENDCHAR +STARTCHAR U_7337 +ENCODING 29495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +28C0 +FEA0 +29E0 +FE80 +AA80 +CE80 +8280 +FE80 +8340 +FE20 +ENDCHAR +STARTCHAR U_7338 +ENCODING 29496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AFE0 +4920 +AFE0 +2800 +2BE0 +6A20 +ABE0 +2A20 +2BE0 +2A20 +D3E0 +ENDCHAR +STARTCHAR U_7339 +ENCODING 29497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5FE0 +2540 +5920 +97C0 +3440 +57C0 +9440 +17C0 +5000 +2FE0 +ENDCHAR +STARTCHAR U_733A +ENCODING 29498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +87C0 +5000 +2520 +5540 +9200 +33C0 +5500 +9FE0 +1100 +5520 +27E0 +ENDCHAR +STARTCHAR U_733B +ENCODING 29499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BFC0 +4480 +A920 +2BC0 +2880 +6D20 +BBE0 +2880 +29C0 +AAA0 +5880 +ENDCHAR +STARTCHAR U_733C +ENCODING 29500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8940 +57E0 +2520 +57E0 +9520 +37E0 +5520 +9040 +1FE0 +5440 +22C0 +ENDCHAR +STARTCHAR U_733D +ENCODING 29501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +A840 +4780 +A480 +2780 +2480 +6780 +A200 +3FE0 +A480 +4840 +ENDCHAR +STARTCHAR U_733E +ENCODING 29502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97C0 +5640 +2540 +6FE0 +A820 +37C0 +6440 +A7C0 +2440 +A7C0 +4440 +ENDCHAR +STARTCHAR U_733F +ENCODING 29503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57C0 +2100 +5FE0 +9000 +37C0 +5440 +97C0 +16A0 +5A40 +2320 +ENDCHAR +STARTCHAR U_7340 +ENCODING 29504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5760 +2520 +5760 +9520 +37E0 +5100 +97E0 +1240 +5180 +2660 +ENDCHAR +STARTCHAR U_7341 +ENCODING 29505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +A500 +47C0 +A500 +27C0 +2500 +57E0 +9020 +1B60 +AAA0 +4040 +ENDCHAR +STARTCHAR U_7342 +ENCODING 29506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AFE0 +4880 +ABE0 +2A20 +2BE0 +6A20 +ABE0 +2880 +2AC0 +34A0 +C9A0 +ENDCHAR +STARTCHAR U_7343 +ENCODING 29507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A8C0 +A8A0 +F880 +07E0 +F880 +0080 +F880 +8940 +F940 +5240 +FC20 +ENDCHAR +STARTCHAR U_7344 +ENCODING 29508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5480 +2EC0 +60A0 +AFE0 +2080 +2E80 +6080 +AE80 +2B40 +AE20 +4A20 +ENDCHAR +STARTCHAR U_7345 +ENCODING 29509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +3080 +7BE0 +AAA0 +3AA0 +22A0 +7AA0 +AAA0 +2AE0 +BA80 +4080 +ENDCHAR +STARTCHAR U_7346 +ENCODING 29510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +AFC0 +4A40 +A940 +2FC0 +6200 +BFE0 +2500 +3AC0 +AF80 +4200 +ENDCHAR +STARTCHAR U_7347 +ENCODING 29511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +AFC0 +4200 +AFC0 +2200 +7FE0 +A680 +2740 +2BC0 +AA20 +51E0 +ENDCHAR +STARTCHAR U_7348 +ENCODING 29512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A840 +4480 +4FC0 +A480 +2840 +7FC0 +A540 +2540 +2540 +BFE0 +4000 +ENDCHAR +STARTCHAR U_7349 +ENCODING 29513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +5FE0 +2100 +57C0 +9200 +3FE0 +57C0 +9920 +1FE0 +5540 +2920 +ENDCHAR +STARTCHAR U_734A +ENCODING 29514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8980 +5240 +2520 +5FC0 +9440 +37C0 +5440 +97E0 +1620 +5BE0 +2220 +ENDCHAR +STARTCHAR U_734B +ENCODING 29515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +A7C0 +4440 +A7C0 +2440 +67C0 +A920 +2540 +2920 +BFE0 +4100 +ENDCHAR +STARTCHAR U_734C +ENCODING 29516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5440 +27C0 +6440 +AFE0 +2AA0 +6FE0 +A440 +2280 +A100 +4EE0 +ENDCHAR +STARTCHAR U_734D +ENCODING 29517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +27C0 +5280 +9FE0 +1440 +37C0 +5440 +97C0 +1280 +12A0 +6C60 +ENDCHAR +STARTCHAR U_734E +ENCODING 29518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +5540 +7A80 +1140 +FFE0 +5440 +92C0 +0500 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_734F +ENCODING 29519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +A480 +4FC0 +A840 +2FC0 +6840 +AFC0 +2200 +3FE0 +A480 +4860 +ENDCHAR +STARTCHAR U_7350 +ENCODING 29520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +27C0 +5280 +9FE0 +1440 +37C0 +5440 +97C0 +1100 +1FE0 +6100 +ENDCHAR +STARTCHAR U_7351 +ENCODING 29521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D2E0 +2F80 +6280 +AFE0 +2AA0 +2FA0 +6AA0 +AFA0 +22A0 +AFA0 +42A0 +ENDCHAR +STARTCHAR U_7352 +ENCODING 29522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FDE0 +1220 +FD40 +2880 +4940 +9A20 +0480 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7353 +ENCODING 29523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9480 +5E80 +24E0 +6F40 +A540 +3F40 +6940 +AE80 +2A80 +AB40 +5620 +ENDCHAR +STARTCHAR U_7354 +ENCODING 29524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9200 +6F80 +6880 +AF80 +2880 +2F80 +6A80 +A700 +2A80 +BFE0 +4200 +ENDCHAR +STARTCHAR U_7355 +ENCODING 29525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9100 +5940 +2FC0 +6500 +AFC0 +3900 +6FC0 +A900 +2FC0 +A900 +4FE0 +ENDCHAR +STARTCHAR U_7356 +ENCODING 29526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +BFC0 +4A80 +BFE0 +2A80 +6980 +AC80 +2A80 +2F80 +A500 +4880 +ENDCHAR +STARTCHAR U_7357 +ENCODING 29527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BFE0 +5480 +DFE0 +5520 +5540 +5540 +DF40 +5540 +54A0 +5520 +AA20 +ENDCHAR +STARTCHAR U_7358 +ENCODING 29528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9500 +59E0 +FD40 +9740 +BC80 +D540 +96A0 +0440 +FFE0 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_7359 +ENCODING 29529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AA80 +5C80 +A8E0 +3FA0 +2AA0 +7AA0 +AEA0 +2AA0 +2A40 +AAA0 +4B20 +ENDCHAR +STARTCHAR U_735A +ENCODING 29530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9280 +57E0 +2280 +5FE0 +9100 +37C0 +5540 +97C0 +1540 +57C0 +2820 +ENDCHAR +STARTCHAR U_735B +ENCODING 29531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8AA0 +56C0 +2FE0 +5280 +9FE0 +3100 +57C0 +9100 +1FE0 +5280 +2C60 +ENDCHAR +STARTCHAR U_735C +ENCODING 29532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +A540 +4FE0 +A380 +2D60 +6840 +ADE0 +3540 +2FE0 +A840 +5040 +ENDCHAR +STARTCHAR U_735D +ENCODING 29533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97C0 +6280 +7FE0 +A520 +2900 +2FE0 +6AA0 +AFE0 +2AA0 +ABA0 +4860 +ENDCHAR +STARTCHAR U_735E +ENCODING 29534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57C0 +2280 +5100 +9FE0 +3540 +57C0 +9540 +1FE0 +5100 +2FE0 +ENDCHAR +STARTCHAR U_735F +ENCODING 29535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57C0 +2100 +5FE0 +9440 +3EE0 +5440 +9FE0 +1280 +54A0 +2860 +ENDCHAR +STARTCHAR U_7360 +ENCODING 29536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5FE0 +2AA0 +5440 +9FE0 +3440 +57C0 +9440 +17C0 +5540 +2B20 +ENDCHAR +STARTCHAR U_7361 +ENCODING 29537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +95C0 +5840 +2DC0 +6840 +AFC0 +2400 +67E0 +A820 +3AA0 +AAA0 +4040 +ENDCHAR +STARTCHAR U_7362 +ENCODING 29538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8040 +6F80 +4200 +BFE0 +2440 +7BA0 +A280 +2FE0 +2AA0 +ABA0 +4860 +ENDCHAR +STARTCHAR U_7363 +ENCODING 29539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5480 +28C0 +7CA0 +57E0 +7C80 +5480 +FF40 +0140 +7D40 +4620 +7C20 +ENDCHAR +STARTCHAR U_7364 +ENCODING 29540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9440 +5F40 +20E0 +6FA0 +AAA0 +2FA0 +62A0 +A440 +3F40 +A4A0 +4D20 +ENDCHAR +STARTCHAR U_7365 +ENCODING 29541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9480 +5E80 +2AE0 +6FA0 +AAA0 +2EA0 +64A0 +BFA0 +2A40 +AAA0 +5720 +ENDCHAR +STARTCHAR U_7366 +ENCODING 29542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5280 +2FC0 +6840 +AFC0 +2840 +6FE0 +A920 +3AA0 +AFA0 +4040 +ENDCHAR +STARTCHAR U_7367 +ENCODING 29543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +6AA0 +6FE0 +A000 +3FE0 +6840 +AFC0 +2520 +2CC0 +B640 +4420 +ENDCHAR +STARTCHAR U_7368 +ENCODING 29544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +6AA0 +6FE0 +A400 +2FE0 +3220 +6FA0 +AAA0 +2FA0 +A2A0 +4F40 +ENDCHAR +STARTCHAR U_7369 +ENCODING 29545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +94E0 +6480 +2FE0 +68A0 +AFE0 +2880 +6FA0 +AAA0 +2FC0 +A960 +5620 +ENDCHAR +STARTCHAR U_736A +ENCODING 29546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5280 +27C0 +6820 +AFE0 +2AA0 +6FE0 +A440 +27C0 +A440 +47C0 +ENDCHAR +STARTCHAR U_736B +ENCODING 29547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +5280 +2440 +6BA0 +A000 +2EE0 +6AA0 +AEE0 +2440 +AAA0 +5120 +ENDCHAR +STARTCHAR U_736C +ENCODING 29548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ADE0 +54A0 +DFA0 +5560 +5F40 +55E0 +DF40 +55E0 +5540 +5540 +A340 +ENDCHAR +STARTCHAR U_736D +ENCODING 29549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48E0 +3F40 +6BE0 +BE20 +2AA0 +7EA0 +AAA0 +2AA0 +3C80 +2B40 +CA20 +ENDCHAR +STARTCHAR U_736E +ENCODING 29550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BFE0 +4540 +A920 +2FE0 +2920 +6DA0 +AB60 +2DA0 +2B60 +ADA0 +4960 +ENDCHAR +STARTCHAR U_736F +ENCODING 29551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +5100 +3FE0 +6AA0 +AFE0 +2100 +6FC0 +A100 +3FE0 +A540 +4AA0 +ENDCHAR +STARTCHAR U_7370 +ENCODING 29552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +5FE0 +3520 +6CC0 +A7A0 +2000 +6FE0 +AAA0 +3FE0 +A100 +4300 +ENDCHAR +STARTCHAR U_7371 +ENCODING 29553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +AFE0 +4820 +AFE0 +2540 +27C0 +7C40 +A7C0 +2440 +A7C0 +4C60 +ENDCHAR +STARTCHAR U_7372 +ENCODING 29554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8440 +5FE0 +2540 +6FE0 +B900 +2FC0 +6900 +AFE0 +2480 +A300 +5CE0 +ENDCHAR +STARTCHAR U_7373 +ENCODING 29555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5100 +2FE0 +6920 +A540 +2920 +6FE0 +A100 +2FE0 +AAA0 +4AE0 +ENDCHAR +STARTCHAR U_7374 +ENCODING 29556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +AFC0 +4480 +AFE0 +3020 +6FC0 +A640 +2B80 +2580 +A340 +4D20 +ENDCHAR +STARTCHAR U_7375 +ENCODING 29557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8520 +5A40 +2520 +6FE0 +AAA0 +2FE0 +6DC0 +AB40 +2DC0 +AB40 +4D20 +ENDCHAR +STARTCHAR U_7376 +ENCODING 29558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5440 +27C0 +6440 +AFE0 +2AA0 +6540 +A7C0 +2C80 +B300 +4CE0 +ENDCHAR +STARTCHAR U_7377 +ENCODING 29559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8080 +5FE0 +2940 +6FE0 +A940 +2FE0 +6AA0 +ABE0 +2AA0 +ABE0 +5620 +ENDCHAR +STARTCHAR U_7378 +ENCODING 29560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEC0 +AAA0 +FE80 +57E0 +7C80 +5480 +FE80 +0080 +7D40 +4620 +7C20 +ENDCHAR +STARTCHAR U_7379 +ENCODING 29561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +A200 +4FE0 +A9A0 +2F40 +69C0 +AAA0 +2AA0 +2BE0 +AAA0 +57E0 +ENDCHAR +STARTCHAR U_737A +ENCODING 29562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48E0 +3F40 +29E0 +7F20 +ABE0 +3F20 +69E0 +AD20 +3BE0 +A940 +4A20 +ENDCHAR +STARTCHAR U_737B +ENCODING 29563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3C80 +20C0 +FEA0 +A3E0 +FC80 +A880 +FC80 +AD40 +FD40 +9620 +9420 +ENDCHAR +STARTCHAR U_737C +ENCODING 29564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BE0 +29C0 +6AA0 +BBE0 +22A0 +7BE0 +AAA0 +2BE0 +2AA0 +ABE0 +52A0 +ENDCHAR +STARTCHAR U_737D +ENCODING 29565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +5FE0 +2AA0 +6EE0 +A280 +2FE0 +6280 +AFE0 +24A0 +AC40 +5620 +ENDCHAR +STARTCHAR U_737E +ENCODING 29566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +5FE0 +2480 +6EE0 +AAA0 +2EE0 +7FE0 +A900 +2FC0 +A900 +4FE0 +ENDCHAR +STARTCHAR U_737F +ENCODING 29567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5100 +37E0 +7CA0 +B7E0 +3480 +6FE0 +AA40 +34A0 +EB00 +5CE0 +ENDCHAR +STARTCHAR U_7380 +ENCODING 29568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5AA0 +2FE0 +6540 +A5E0 +2B40 +65E0 +AB40 +2FE0 +EB40 +55E0 +ENDCHAR +STARTCHAR U_7381 +ENCODING 29569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +2AA0 +6FE0 +AA80 +2FE0 +2920 +6F20 +A9A0 +2F40 +A9A0 +4F20 +ENDCHAR +STARTCHAR U_7382 +ENCODING 29570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3FE0 +6480 +BFE0 +2B00 +3FE0 +5540 +9F40 +1540 +FF40 +4540 +ENDCHAR +STARTCHAR U_7383 +ENCODING 29571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8EE0 +5AA0 +2EE0 +6AA0 +AFE0 +3900 +6FE0 +A900 +2FE0 +A300 +5CE0 +ENDCHAR +STARTCHAR U_7384 +ENCODING 29572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +FFE0 +0400 +0880 +1100 +3E00 +0400 +0900 +1080 +7FC0 +ENDCHAR +STARTCHAR U_7385 +ENCODING 29573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1080 +FEC0 +22A0 +4CA0 +7480 +20A0 +4840 +F480 +0300 +0C00 +ENDCHAR +STARTCHAR U_7386 +ENCODING 29574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +1080 +FFE0 +2100 +4A40 +FFC0 +1080 +2100 +4A40 +F7A0 +0420 +ENDCHAR +STARTCHAR U_7387 +ENCODING 29575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8840 +5280 +0C00 +2A80 +DF40 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7388 +ENCODING 29576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +13E0 +FA00 +24E0 +2B80 +5280 +F2A0 +22C0 +4A80 +FB40 +0A20 +ENDCHAR +STARTCHAR U_7389 +ENCODING 29577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +0400 +3F80 +0400 +0500 +0480 +0480 +0400 +FFE0 +ENDCHAR +STARTCHAR U_738A +ENCODING 29578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0400 +0500 +0480 +0400 +3FC0 +0400 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_738B +ENCODING 29579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +0400 +0400 +3F80 +0400 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_738C +ENCODING 29580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7A00 +2200 +2200 +2200 +7A00 +2200 +2200 +3A20 +E220 +01E0 +ENDCHAR +STARTCHAR U_738D +ENCODING 29581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1000 +1FC0 +2200 +4200 +8200 +1FC0 +0200 +0200 +0200 +7FE0 +ENDCHAR +STARTCHAR U_738E +ENCODING 29582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F880 +2080 +2080 +7080 +2080 +2080 +3880 +C080 +0280 +0100 +ENDCHAR +STARTCHAR U_738F +ENCODING 29583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7900 +2100 +27E0 +7920 +2120 +2220 +3A20 +C420 +0940 +1080 +ENDCHAR +STARTCHAR U_7390 +ENCODING 29584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7500 +2500 +2500 +7480 +2480 +2480 +3840 +C840 +1060 +2040 +ENDCHAR +STARTCHAR U_7391 +ENCODING 29585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +F480 +2480 +2480 +7480 +2480 +2480 +3480 +C4A0 +08A0 +1060 +ENDCHAR +STARTCHAR U_7392 +ENCODING 29586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F900 +2100 +2100 +7100 +2100 +2100 +3900 +C100 +0100 +07E0 +ENDCHAR +STARTCHAR U_7393 +ENCODING 29587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBE0 +2220 +2420 +7120 +20A0 +20A0 +3820 +C020 +0120 +00C0 +ENDCHAR +STARTCHAR U_7394 +ENCODING 29588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +FAA0 +22A0 +22A0 +72A0 +22A0 +22A0 +3AA0 +C2A0 +0420 +0820 +ENDCHAR +STARTCHAR U_7395 +ENCODING 29589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +F880 +2080 +2080 +77E0 +2080 +2080 +3880 +C080 +0080 +0080 +ENDCHAR +STARTCHAR U_7396 +ENCODING 29590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +23C0 +2240 +7440 +2080 +2080 +3980 +E240 +4420 +0820 +ENDCHAR +STARTCHAR U_7397 +ENCODING 29591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +F880 +2080 +2080 +77E0 +2080 +2080 +3880 +C080 +0280 +0100 +ENDCHAR +STARTCHAR U_7398 +ENCODING 29592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F040 +2040 +2040 +F7C0 +2440 +2400 +2400 +3420 +C420 +03E0 +ENDCHAR +STARTCHAR U_7399 +ENCODING 29593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBE0 +2200 +2200 +FBE0 +2020 +2020 +37A0 +C020 +0140 +0080 +ENDCHAR +STARTCHAR U_739A +ENCODING 29594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F080 +4100 +4200 +F7E0 +42A0 +42A0 +74A0 +C920 +02A0 +0440 +ENDCHAR +STARTCHAR U_739B +ENCODING 29595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +F840 +2240 +2240 +7240 +23E0 +2020 +37A0 +C020 +0120 +00C0 +ENDCHAR +STARTCHAR U_739C +ENCODING 29596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F500 +4480 +4480 +E840 +5260 +4200 +4200 +7480 +CFC0 +0040 +ENDCHAR +STARTCHAR U_739D +ENCODING 29597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +23E0 +2480 +7080 +2080 +27E0 +3080 +C080 +0080 +0080 +ENDCHAR +STARTCHAR U_739E +ENCODING 29598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +27C0 +2100 +2100 +FFE0 +2100 +2280 +3280 +C440 +0820 +ENDCHAR +STARTCHAR U_739F +ENCODING 29599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F880 +27E0 +2240 +7240 +2240 +2280 +3900 +C280 +0440 +1820 +ENDCHAR +STARTCHAR U_73A0 +ENCODING 29600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +2440 +2820 +7240 +2240 +2240 +3A40 +C240 +0440 +0840 +ENDCHAR +STARTCHAR U_73A1 +ENCODING 29601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F840 +2240 +2240 +F7E0 +20C0 +2140 +3240 +C440 +0840 +00C0 +ENDCHAR +STARTCHAR U_73A2 +ENCODING 29602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FA80 +2440 +2820 +77C0 +2240 +2240 +3A40 +C440 +0540 +0880 +ENDCHAR +STARTCHAR U_73A3 +ENCODING 29603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +4FE0 +4200 +F300 +4280 +4240 +7240 +C200 +0200 +0200 +ENDCHAR +STARTCHAR U_73A4 +ENCODING 29604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +27E0 +2100 +77C0 +2100 +2100 +3FE0 +C100 +0100 +0100 +ENDCHAR +STARTCHAR U_73A5 +ENCODING 29605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +FA20 +2220 +23E0 +7220 +2220 +23E0 +3A20 +E220 +44A0 +1840 +ENDCHAR +STARTCHAR U_73A6 +ENCODING 29606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +27C0 +2140 +7140 +2FE0 +2100 +3900 +E280 +4440 +1820 +ENDCHAR +STARTCHAR U_73A7 +ENCODING 29607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +2480 +2FC0 +F540 +2500 +2500 +3520 +C520 +08E0 +1000 +ENDCHAR +STARTCHAR U_73A8 +ENCODING 29608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +2100 +2100 +7100 +27C0 +2100 +3900 +C100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_73A9 +ENCODING 29609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +F800 +2000 +2000 +77E0 +2280 +2280 +3A80 +C2A0 +04A0 +1860 +ENDCHAR +STARTCHAR U_73AA +ENCODING 29610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +4500 +4480 +EA60 +5100 +4FC0 +4080 +7100 +C100 +0200 +ENDCHAR +STARTCHAR U_73AB +ENCODING 29611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +23E0 +2240 +7440 +2A80 +2280 +3900 +C280 +0440 +1820 +ENDCHAR +STARTCHAR U_73AC +ENCODING 29612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FA40 +2340 +22C0 +7240 +2FE0 +2240 +3A40 +E440 +4940 +1080 +ENDCHAR +STARTCHAR U_73AD +ENCODING 29613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FC80 +2480 +27A0 +74C0 +2480 +2480 +3C80 +C5A0 +06A0 +0460 +ENDCHAR +STARTCHAR U_73AE +ENCODING 29614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2100 +27C0 +7100 +2FE0 +2120 +3920 +C160 +0100 +0100 +ENDCHAR +STARTCHAR U_73AF +ENCODING 29615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +2100 +2300 +7380 +2540 +2520 +3920 +C100 +0100 +0100 +ENDCHAR +STARTCHAR U_73B0 +ENCODING 29616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +2540 +2540 +F540 +2540 +2540 +3280 +C2A0 +04A0 +18E0 +ENDCHAR +STARTCHAR U_73B1 +ENCODING 29617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0300 +F480 +4440 +4FA0 +F480 +4480 +4680 +7500 +C440 +03C0 +ENDCHAR +STARTCHAR U_73B2 +ENCODING 29618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +2440 +2A20 +7100 +2000 +27E0 +3840 +C280 +0100 +0080 +ENDCHAR +STARTCHAR U_73B3 +ENCODING 29619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FAC0 +24A0 +24E0 +7F80 +2480 +2480 +3CA0 +E4A0 +0460 +0420 +ENDCHAR +STARTCHAR U_73B4 +ENCODING 29620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FD40 +2540 +2FE0 +7540 +2540 +25C0 +3D40 +E400 +0400 +07E0 +ENDCHAR +STARTCHAR U_73B5 +ENCODING 29621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FA40 +27E0 +2240 +7240 +23C0 +2240 +3A40 +E240 +43C0 +0240 +ENDCHAR +STARTCHAR U_73B6 +ENCODING 29622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F900 +2520 +2340 +7100 +2FE0 +2100 +3900 +E100 +4100 +0100 +ENDCHAR +STARTCHAR U_73B7 +ENCODING 29623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +21E0 +2100 +7100 +27E0 +2420 +3C20 +C420 +07E0 +0420 +ENDCHAR +STARTCHAR U_73B8 +ENCODING 29624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBE0 +2420 +2BA0 +72A0 +22A0 +23A0 +3A40 +E200 +4220 +01E0 +ENDCHAR +STARTCHAR U_73B9 +ENCODING 29625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F900 +27E0 +2100 +7240 +2780 +2100 +3A00 +C440 +0FA0 +0420 +ENDCHAR +STARTCHAR U_73BA +ENCODING 29626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FC0 +4440 +1500 +2480 +4440 +7FC0 +0400 +3FC0 +0480 +FFE0 +ENDCHAR +STARTCHAR U_73BB +ENCODING 29627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F7E0 +24A0 +2480 +77C0 +2640 +2540 +3540 +C480 +0940 +1620 +ENDCHAR +STARTCHAR U_73BC +ENCODING 29628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FA80 +2280 +2BA0 +7AC0 +2A80 +2A80 +3A80 +EAA0 +5FA0 +08E0 +ENDCHAR +STARTCHAR U_73BD +ENCODING 29629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7E0 +2820 +27A0 +F4A0 +24A0 +24A0 +37A0 +C020 +0140 +0080 +ENDCHAR +STARTCHAR U_73BE +ENCODING 29630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FCA0 +24A0 +27E0 +74A0 +24A0 +27E0 +3CA0 +E080 +4080 +0080 +ENDCHAR +STARTCHAR U_73BF +ENCODING 29631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F920 +2120 +22E0 +7440 +2800 +23E0 +3A20 +E220 +43E0 +0220 +ENDCHAR +STARTCHAR U_73C0 +ENCODING 29632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F900 +23E0 +2220 +7220 +23E0 +2220 +3A20 +C220 +03E0 +0220 +ENDCHAR +STARTCHAR U_73C1 +ENCODING 29633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F400 +2780 +2480 +F480 +2680 +2580 +3480 +E4A0 +06A0 +0860 +ENDCHAR +STARTCHAR U_73C2 +ENCODING 29634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F840 +2040 +2740 +7540 +2540 +2740 +3540 +E040 +0140 +0080 +ENDCHAR +STARTCHAR U_73C3 +ENCODING 29635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +2540 +2540 +77C0 +2540 +2FE0 +3440 +E440 +0440 +04C0 +ENDCHAR +STARTCHAR U_73C4 +ENCODING 29636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F500 +4500 +47C0 +4500 +E900 +57C0 +4100 +7100 +C100 +0FE0 +ENDCHAR +STARTCHAR U_73C5 +ENCODING 29637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F880 +27E0 +24A0 +77E0 +24A0 +27E0 +3880 +E080 +0080 +0080 +ENDCHAR +STARTCHAR U_73C6 +ENCODING 29638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +2200 +2440 +FFE0 +2020 +27C0 +2440 +3C40 +C7C0 +0440 +ENDCHAR +STARTCHAR U_73C7 +ENCODING 29639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +FC40 +2440 +27C0 +7440 +2440 +2440 +3FC0 +C440 +0440 +1FE0 +ENDCHAR +STARTCHAR U_73C8 +ENCODING 29640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +E8E0 +5EA0 +4AA0 +FAA0 +4AA0 +4AA0 +6AA0 +D2A0 +2AE0 +44A0 +ENDCHAR +STARTCHAR U_73C9 +ENCODING 29641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FC20 +2420 +27E0 +7480 +27E0 +2480 +3C80 +E5A0 +4660 +0420 +ENDCHAR +STARTCHAR U_73CA +ENCODING 29642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +FAA0 +2AA0 +2AA0 +FFE0 +2AA0 +2AA0 +3AA0 +EAA0 +0AA0 +1560 +ENDCHAR +STARTCHAR U_73CB +ENCODING 29643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +F8E0 +2AA0 +2AA0 +FAA0 +2AA0 +2EA0 +3AE0 +E280 +0480 +0880 +ENDCHAR +STARTCHAR U_73CC +ENCODING 29644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F900 +2040 +2240 +FA80 +2AC0 +2AA0 +2320 +3240 +C640 +19C0 +ENDCHAR +STARTCHAR U_73CD +ENCODING 29645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F280 +2440 +28A0 +F100 +2240 +2480 +2120 +3640 +C080 +0700 +ENDCHAR +STARTCHAR U_73CE +ENCODING 29646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +27E0 +2920 +2100 +F900 +2540 +2520 +3920 +C100 +0300 +ENDCHAR +STARTCHAR U_73CF +ENCODING 29647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F900 +2100 +2100 +7100 +27C0 +2100 +3940 +E120 +4100 +0FE0 +ENDCHAR +STARTCHAR U_73D0 +ENCODING 29648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +27C0 +2100 +7100 +27E0 +2200 +3A80 +E440 +4FE0 +0020 +ENDCHAR +STARTCHAR U_73D1 +ENCODING 29649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +F440 +2400 +2FE0 +F500 +2540 +2580 +3900 +CB20 +1520 +21E0 +ENDCHAR +STARTCHAR U_73D2 +ENCODING 29650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +2140 +2FE0 +7140 +27C0 +2100 +37C0 +E100 +4FE0 +0100 +ENDCHAR +STARTCHAR U_73D3 +ENCODING 29651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F900 +27E0 +2440 +7820 +2440 +2280 +3900 +E280 +4440 +0820 +ENDCHAR +STARTCHAR U_73D4 +ENCODING 29652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +2200 +25E0 +7440 +2C80 +27E0 +3C80 +E480 +4480 +0580 +ENDCHAR +STARTCHAR U_73D5 +ENCODING 29653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +4240 +4540 +E880 +5FE0 +4AA0 +6AA0 +D320 +12A0 +2440 +ENDCHAR +STARTCHAR U_73D6 +ENCODING 29654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0520 +F520 +2340 +2100 +77E0 +2280 +2280 +3A80 +E4A0 +08A0 +1060 +ENDCHAR +STARTCHAR U_73D7 +ENCODING 29655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +FD00 +27C0 +2900 +7100 +2FE0 +2280 +3A80 +E2A0 +04A0 +0860 +ENDCHAR +STARTCHAR U_73D8 +ENCODING 29656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +2440 +2540 +F4C0 +2FE0 +2540 +34C0 +C440 +0840 +10C0 +ENDCHAR +STARTCHAR U_73D9 +ENCODING 29657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FA80 +2280 +27C0 +7280 +2280 +27E0 +3800 +E280 +0240 +0440 +ENDCHAR +STARTCHAR U_73DA +ENCODING 29658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FD20 +2520 +27E0 +7520 +2520 +25A0 +3E60 +E420 +07E0 +0420 +ENDCHAR +STARTCHAR U_73DB +ENCODING 29659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +2FE0 +2200 +77E0 +2A20 +23E0 +3A20 +E3E0 +0220 +0260 +ENDCHAR +STARTCHAR U_73DC +ENCODING 29660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FA80 +2FE0 +2100 +7100 +27C0 +2100 +3FE0 +C100 +0100 +0100 +ENDCHAR +STARTCHAR U_73DD +ENCODING 29661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F120 +29A0 +2560 +7120 +2360 +25A0 +3920 +E120 +45A0 +0240 +ENDCHAR +STARTCHAR U_73DE +ENCODING 29662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBC0 +2640 +2980 +7240 +2420 +2FC0 +3440 +C440 +07C0 +0440 +ENDCHAR +STARTCHAR U_73DF +ENCODING 29663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +4FC0 +4A40 +EBC0 +4CC0 +4B40 +6940 +9240 +2460 +4020 +ENDCHAR +STARTCHAR U_73E0 +ENCODING 29664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F500 +27C0 +2900 +F100 +2FE0 +2100 +3380 +C540 +0920 +0100 +ENDCHAR +STARTCHAR U_73E1 +ENCODING 29665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +7BC0 +2080 +2080 +FBE0 +0400 +0A00 +1100 +20E0 +4040 +ENDCHAR +STARTCHAR U_73E2 +ENCODING 29666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +27C0 +2440 +F7C0 +2620 +2540 +3480 +C440 +0660 +0400 +ENDCHAR +STARTCHAR U_73E3 +ENCODING 29667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2820 +27A0 +74A0 +27A0 +24A0 +3FA0 +E4A0 +4020 +00C0 +ENDCHAR +STARTCHAR U_73E4 +ENCODING 29668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBE0 +2500 +2900 +F900 +2FE0 +2100 +2520 +3520 +C520 +07E0 +ENDCHAR +STARTCHAR U_73E5 +ENCODING 29669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F240 +2240 +23C0 +F240 +23C0 +2240 +2240 +37E0 +C040 +0040 +ENDCHAR +STARTCHAR U_73E6 +ENCODING 29670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F200 +4FE0 +4820 +FBA0 +4AA0 +4AA0 +7BA0 +C820 +08A0 +0840 +ENDCHAR +STARTCHAR U_73E7 +ENCODING 29671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FAA0 +2AA0 +26C0 +7280 +26C0 +2AA0 +3A80 +E2A0 +44A0 +0860 +ENDCHAR +STARTCHAR U_73E8 +ENCODING 29672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +2440 +2820 +7380 +2000 +27C0 +3C40 +E440 +47C0 +0440 +ENDCHAR +STARTCHAR U_73E9 +ENCODING 29673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F5E0 +2800 +2200 +F5E0 +2C40 +2440 +2440 +3440 +C440 +04C0 +ENDCHAR +STARTCHAR U_73EA +ENCODING 29674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +2100 +2100 +7FE0 +2100 +2100 +37C0 +C100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_73EB +ENCODING 29675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +2240 +77E0 +22A0 +2280 +3A80 +E4A0 +48A0 +1060 +ENDCHAR +STARTCHAR U_73EC +ENCODING 29676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F140 +4FE0 +4900 +E940 +4F40 +4940 +6880 +D140 +1660 +2020 +ENDCHAR +STARTCHAR U_73ED +ENCODING 29677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F3E0 +2280 +2A80 +FA80 +2BE0 +2A80 +2480 +3480 +C880 +13E0 +ENDCHAR +STARTCHAR U_73EE +ENCODING 29678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +F840 +4FC0 +4A40 +EFC0 +4AC0 +4AC0 +6AC0 +CAC0 +1220 +2220 +ENDCHAR +STARTCHAR U_73EF +ENCODING 29679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F220 +4FA0 +4240 +FFE0 +4100 +4640 +6C80 +D700 +2420 +03E0 +ENDCHAR +STARTCHAR U_73F0 +ENCODING 29680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F520 +2340 +2100 +27E0 +F020 +2020 +27E0 +3820 +C020 +07E0 +ENDCHAR +STARTCHAR U_73F1 +ENCODING 29681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +F920 +2440 +2080 +F900 +2FE0 +2240 +3640 +C180 +0240 +0C20 +ENDCHAR +STARTCHAR U_73F2 +ENCODING 29682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F420 +2100 +27E0 +7280 +27E0 +2080 +37E0 +C080 +0080 +0080 +ENDCHAR +STARTCHAR U_73F3 +ENCODING 29683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +F420 +5F40 +4AA0 +EA40 +4AA0 +4440 +7680 +C900 +10E0 +6040 +ENDCHAR +STARTCHAR U_73F4 +ENCODING 29684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +FEC0 +22A0 +2FE0 +7280 +23A0 +26A0 +3AC0 +C260 +0AA0 +0520 +ENDCHAR +STARTCHAR U_73F5 +ENCODING 29685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FA40 +2240 +23C0 +7000 +27E0 +2100 +37C0 +C100 +0100 +0FE0 +ENDCHAR +STARTCHAR U_73F6 +ENCODING 29686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FA80 +27E0 +2120 +77E0 +2500 +27E0 +3B20 +C520 +0960 +1100 +ENDCHAR +STARTCHAR U_73F7 +ENCODING 29687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +EEC0 +40A0 +5FE0 +E280 +4280 +4B80 +4A80 +6AA0 +CB60 +1C20 +ENDCHAR +STARTCHAR U_73F8 +ENCODING 29688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +27C0 +2240 +7240 +27E0 +2000 +3BC0 +E240 +43C0 +0240 +ENDCHAR +STARTCHAR U_73F9 +ENCODING 29689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F140 +4FE0 +4900 +FF20 +4AA0 +4AC0 +4A80 +6AA0 +DB60 +2420 +ENDCHAR +STARTCHAR U_73FA +ENCODING 29690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F940 +2FE0 +2140 +77C0 +2200 +23E0 +3620 +CA20 +03E0 +0220 +ENDCHAR +STARTCHAR U_73FB +ENCODING 29691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +EFC0 +5000 +47C0 +F540 +5FE0 +4A40 +6A40 +CFE0 +0140 +0080 +ENDCHAR +STARTCHAR U_73FC +ENCODING 29692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FC20 +27E0 +2420 +7420 +27E0 +2420 +3FE0 +E240 +4420 +0820 +ENDCHAR +STARTCHAR U_73FD +ENCODING 29693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E20 +FBC0 +2240 +2440 +77E0 +2240 +2240 +3BE0 +C600 +0900 +10E0 +ENDCHAR +STARTCHAR U_73FE +ENCODING 29694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +FC40 +27C0 +2440 +77C0 +2440 +27C0 +3A80 +C2A0 +04A0 +1860 +ENDCHAR +STARTCHAR U_73FF +ENCODING 29695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FC20 +2420 +27E0 +7100 +2100 +25C0 +3D00 +C500 +0B00 +11E0 +ENDCHAR +STARTCHAR U_7400 +ENCODING 29696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F300 +4480 +4A60 +5780 +E100 +4200 +5FC0 +6840 +8FC0 +0840 +ENDCHAR +STARTCHAR U_7401 +ENCODING 29697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBE0 +2400 +27E0 +70A0 +2280 +22E0 +3A80 +C280 +0580 +08E0 +ENDCHAR +STARTCHAR U_7402 +ENCODING 29698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +4FE0 +4000 +47C0 +F000 +47C0 +4000 +77C0 +C440 +07C0 +ENDCHAR +STARTCHAR U_7403 +ENCODING 29699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +F920 +2FE0 +2100 +2520 +F340 +2180 +2340 +3520 +C920 +0300 +ENDCHAR +STARTCHAR U_7404 +ENCODING 29700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FA40 +23C0 +2000 +77E0 +2420 +27E0 +3C20 +C7E0 +0420 +04E0 +ENDCHAR +STARTCHAR U_7405 +ENCODING 29701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F900 +27C0 +2440 +77C0 +2440 +27E0 +3D40 +C480 +0540 +0620 +ENDCHAR +STARTCHAR U_7406 +ENCODING 29702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F920 +2FE0 +2920 +2920 +FFE0 +2100 +27C0 +3100 +C100 +0FE0 +ENDCHAR +STARTCHAR U_7407 +ENCODING 29703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F900 +2FE0 +2380 +7D60 +2000 +27C0 +3A40 +C2E0 +0420 +18C0 +ENDCHAR +STARTCHAR U_7408 +ENCODING 29704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0060 +F7A0 +2520 +22C0 +77E0 +2040 +2080 +37E0 +C080 +0280 +0100 +ENDCHAR +STARTCHAR U_7409 +ENCODING 29705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +4200 +4480 +4FC0 +E000 +4A80 +4A80 +6AA0 +CAA0 +12E0 +ENDCHAR +STARTCHAR U_740A +ENCODING 29706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E2A0 +4AA0 +4AA0 +FFC0 +42A0 +46A0 +6AA0 +D2E0 +2A80 +0480 +ENDCHAR +STARTCHAR U_740B +ENCODING 29707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F980 +2240 +2100 +F7E0 +2280 +27E0 +3AA0 +C2A0 +02E0 +0080 +ENDCHAR +STARTCHAR U_740C +ENCODING 29708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0520 +FD20 +27E0 +2100 +F280 +2640 +2920 +37C0 +C040 +0080 +0100 +ENDCHAR +STARTCHAR U_740D +ENCODING 29709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +FC20 +24A0 +3FA0 +64A0 +26A0 +2DA0 +34A0 +E420 +04A0 +0440 +ENDCHAR +STARTCHAR U_740E +ENCODING 29710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +E240 +57E0 +4A40 +E240 +5FE0 +4A40 +4A40 +6A40 +CC40 +17E0 +ENDCHAR +STARTCHAR U_740F +ENCODING 29711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBE0 +2680 +2280 +7FE0 +2480 +27E0 +3C80 +C480 +0A00 +11E0 +ENDCHAR +STARTCHAR U_7410 +ENCODING 29712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04A0 +FAC0 +2080 +27E0 +7420 +24A0 +24A0 +3CA0 +C5A0 +0240 +0C20 +ENDCHAR +STARTCHAR U_7411 +ENCODING 29713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +F540 +2100 +27C0 +F440 +27C0 +2440 +37C0 +C440 +0440 +04C0 +ENDCHAR +STARTCHAR U_7412 +ENCODING 29714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F3E0 +2C40 +2380 +E540 +2BA0 +2100 +37C0 +C100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_7413 +ENCODING 29715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2820 +27C0 +F000 +2FE0 +2280 +3280 +C4A0 +08A0 +1060 +ENDCHAR +STARTCHAR U_7414 +ENCODING 29716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFE0 +4820 +47C0 +4100 +E500 +45C0 +7500 +CD00 +0B00 +10E0 +ENDCHAR +STARTCHAR U_7415 +ENCODING 29717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +EFC0 +4A40 +4FC0 +EA40 +4FC0 +4500 +7FE0 +C100 +0100 +0100 +ENDCHAR +STARTCHAR U_7416 +ENCODING 29718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +FC80 +27E0 +2280 +7320 +2CE0 +2480 +3FE0 +E280 +4320 +0CE0 +ENDCHAR +STARTCHAR U_7417 +ENCODING 29719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +4480 +4480 +E480 +4B40 +4200 +7FE0 +8200 +0200 +0200 +ENDCHAR +STARTCHAR U_7418 +ENCODING 29720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +EF00 +4A00 +4FC0 +EAA0 +4C60 +47C0 +6440 +C7C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_7419 +ENCODING 29721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +E140 +5FE0 +4100 +5D20 +F520 +5D40 +4080 +6DA0 +9260 +0420 +ENDCHAR +STARTCHAR U_741A +ENCODING 29722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FC20 +2420 +27E0 +7480 +27E0 +2480 +37E0 +CA20 +13E0 +2220 +ENDCHAR +STARTCHAR U_741B +ENCODING 29723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F820 +2AA0 +2440 +F100 +2FE0 +2100 +3380 +E540 +0920 +1120 +ENDCHAR +STARTCHAR U_741C +ENCODING 29724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +2FE0 +2540 +F540 +2BA0 +2100 +3380 +C540 +0920 +0100 +ENDCHAR +STARTCHAR U_741D +ENCODING 29725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +27C0 +2440 +F7C0 +2100 +2FE0 +3480 +E300 +0480 +1860 +ENDCHAR +STARTCHAR U_741E +ENCODING 29726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +7CC0 +0000 +7FE0 +0400 +7FC0 +0480 +FFE0 +ENDCHAR +STARTCHAR U_741F +ENCODING 29727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +F480 +27E0 +2C80 +3480 +E7C0 +2480 +27C0 +3480 +C7E0 +0400 +ENDCHAR +STARTCHAR U_7420 +ENCODING 29728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +2FE0 +2AA0 +FAA0 +2FE0 +2AA0 +2AA0 +FFE0 +0480 +1860 +ENDCHAR +STARTCHAR U_7421 +ENCODING 29729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +05E0 +F6A0 +44A0 +44A0 +5FA0 +E4A0 +4EA0 +55A0 +7440 +C4A0 +0D20 +ENDCHAR +STARTCHAR U_7422 +ENCODING 29730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F100 +2220 +2640 +FB80 +2480 +2BC0 +32C0 +C4A0 +0CA0 +1320 +ENDCHAR +STARTCHAR U_7423 +ENCODING 29731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2440 +2280 +77E0 +2000 +27E0 +3420 +C420 +07E0 +0420 +ENDCHAR +STARTCHAR U_7424 +ENCODING 29732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F3C0 +2480 +2FE0 +F120 +2FE0 +2120 +37E0 +C100 +0100 +0300 +ENDCHAR +STARTCHAR U_7425 +ENCODING 29733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +F100 +4FE0 +4920 +4F80 +E920 +49E0 +4800 +6B80 +D2A0 +2CE0 +ENDCHAR +STARTCHAR U_7426 +ENCODING 29734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2100 +2280 +7FE0 +2040 +2740 +3540 +C740 +0040 +00C0 +ENDCHAR +STARTCHAR U_7427 +ENCODING 29735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0A00 +7BC0 +4040 +7BC0 +0A00 +FFE0 +0400 +7FC0 +0480 +FFE0 +ENDCHAR +STARTCHAR U_7428 +ENCODING 29736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FC20 +27E0 +2420 +77E0 +2480 +24A0 +3EC0 +E480 +46A0 +0CE0 +ENDCHAR +STARTCHAR U_7429 +ENCODING 29737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FA40 +23C0 +2240 +73C0 +2000 +27E0 +3420 +C7E0 +0420 +07E0 +ENDCHAR +STARTCHAR U_742A +ENCODING 29738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +2440 +27C0 +F440 +27C0 +2440 +3FE0 +C000 +0440 +0820 +ENDCHAR +STARTCHAR U_742B +ENCODING 29739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +27C0 +F200 +2FE0 +2940 +37A0 +C100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_742C +ENCODING 29740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2820 +2400 +27E0 +F5A0 +2DA0 +32E0 +E480 +08A0 +1060 +ENDCHAR +STARTCHAR U_742D +ENCODING 29741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F840 +27C0 +2040 +F7E0 +2920 +2540 +3380 +C540 +0920 +0300 +ENDCHAR +STARTCHAR U_742E +ENCODING 29742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FFE0 +2420 +23C0 +7000 +27E0 +2080 +3AC0 +C4A0 +0AA0 +0100 +ENDCHAR +STARTCHAR U_742F +ENCODING 29743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2820 +27C0 +7440 +27C0 +2400 +37E0 +C420 +07E0 +0420 +ENDCHAR +STARTCHAR U_7430 +ENCODING 29744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FD40 +2580 +2980 +7240 +2D20 +2140 +3D80 +E500 +4280 +1C60 +ENDCHAR +STARTCHAR U_7431 +ENCODING 29745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F920 +2BA0 +2920 +FFE0 +2820 +2BA0 +3AA0 +CBA0 +1020 +2060 +ENDCHAR +STARTCHAR U_7432 +ENCODING 29746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FA80 +2EE0 +2280 +7280 +2EE0 +2280 +3280 +CEE0 +0280 +0280 +ENDCHAR +STARTCHAR U_7433 +ENCODING 29747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +F480 +2FE0 +2480 +F480 +2EC0 +35A0 +26A0 +3480 +C480 +0480 +ENDCHAR +STARTCHAR U_7434 +ENCODING 29748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +71C0 +2080 +FBE0 +0400 +1B00 +E4E0 +1F00 +0200 +0400 +ENDCHAR +STARTCHAR U_7435 +ENCODING 29749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +71C0 +2080 +FBE0 +4200 +4240 +7B80 +4220 +5A20 +61E0 +ENDCHAR +STARTCHAR U_7436 +ENCODING 29750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +71C0 +2080 +FBE0 +0000 +7F80 +4480 +7F80 +4020 +3FE0 +ENDCHAR +STARTCHAR U_7437 +ENCODING 29751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +4200 +4FC0 +F200 +5FE0 +4500 +7500 +C520 +0920 +10E0 +ENDCHAR +STARTCHAR U_7438 +ENCODING 29752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +F200 +4FC0 +4840 +EFC0 +4840 +4FC0 +7200 +9FE0 +0200 +0200 +ENDCHAR +STARTCHAR U_7439 +ENCODING 29753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +1100 +7BC0 +1100 +FBE0 +0400 +7FC0 +0D00 +1480 +E460 +0400 +ENDCHAR +STARTCHAR U_743A +ENCODING 29754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +F480 +23E0 +2880 +2480 +F3E0 +2480 +2480 +3920 +CBE0 +0920 +ENDCHAR +STARTCHAR U_743B +ENCODING 29755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E300 +4480 +5840 +EFA0 +4200 +4FC0 +4200 +6A40 +C680 +1FE0 +ENDCHAR +STARTCHAR U_743C +ENCODING 29756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2000 +27C0 +2440 +F440 +27C0 +2100 +3540 +C920 +0300 +ENDCHAR +STARTCHAR U_743D +ENCODING 29757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFA0 +4240 +5FE0 +E100 +47C0 +5C40 +47C0 +7440 +C7C0 +0440 +ENDCHAR +STARTCHAR U_743E +ENCODING 29758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +EA40 +4FC0 +4A40 +EFC0 +4500 +4880 +74E0 +C480 +0480 +0880 +ENDCHAR +STARTCHAR U_743F +ENCODING 29759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F920 +2FE0 +2100 +F7C0 +2540 +27C0 +3540 +CFE0 +0100 +0100 +ENDCHAR +STARTCHAR U_7440 +ENCODING 29760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +FF00 +2100 +27C0 +7540 +27C0 +2100 +3FE0 +C960 +0FA0 +0860 +ENDCHAR +STARTCHAR U_7441 +ENCODING 29761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FC20 +25A0 +2420 +75A0 +2000 +27E0 +3C20 +C7E0 +0420 +07E0 +ENDCHAR +STARTCHAR U_7442 +ENCODING 29762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FD20 +27E0 +2400 +75E0 +2520 +25E0 +3D20 +C5E0 +0920 +11E0 +ENDCHAR +STARTCHAR U_7443 +ENCODING 29763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFC0 +4200 +5FC0 +E200 +5FE0 +4880 +58C0 +EFA0 +0880 +0F80 +ENDCHAR +STARTCHAR U_7444 +ENCODING 29764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +2FE0 +2820 +27C0 +F000 +27C0 +2440 +37C0 +C440 +0FE0 +ENDCHAR +STARTCHAR U_7445 +ENCODING 29765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +F480 +4780 +4480 +F780 +5FE0 +4A00 +6B80 +CE00 +1300 +20E0 +ENDCHAR +STARTCHAR U_7446 +ENCODING 29766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FC20 +27E0 +2420 +77E0 +2480 +27E0 +3880 +C3E0 +0080 +0FE0 +ENDCHAR +STARTCHAR U_7447 +ENCODING 29767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +4100 +4FE0 +F7C0 +4540 +5FE0 +6A80 +CFE0 +0280 +0100 +ENDCHAR +STARTCHAR U_7448 +ENCODING 29768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +F280 +4100 +4FE0 +F540 +4A00 +4100 +6FE0 +C380 +0540 +1920 +ENDCHAR +STARTCHAR U_7449 +ENCODING 29769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +4FC0 +4900 +EFE0 +4880 +4FE0 +6840 +CFC0 +0840 +0FC0 +ENDCHAR +STARTCHAR U_744A +ENCODING 29770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F0A0 +2FE0 +2880 +7E80 +28A0 +2EA0 +3AC0 +EEA0 +1160 +2220 +ENDCHAR +STARTCHAR U_744B +ENCODING 29771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +2140 +27E0 +7240 +23C0 +2080 +37E0 +C280 +07E0 +0080 +ENDCHAR +STARTCHAR U_744C +ENCODING 29772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E200 +4FE0 +4AA0 +EAA0 +4AE0 +4100 +7FE0 +C280 +0440 +1820 +ENDCHAR +STARTCHAR U_744D +ENCODING 29773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F780 +2900 +27C0 +7540 +26C0 +2540 +3FE0 +E100 +4280 +0C60 +ENDCHAR +STARTCHAR U_744E +ENCODING 29774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +F4A0 +27C0 +24A0 +76E0 +2100 +27E0 +3420 +C7E0 +0420 +07E0 +ENDCHAR +STARTCHAR U_744F +ENCODING 29775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2AA0 +2440 +77E0 +2480 +2FE0 +3980 +C280 +0480 +0980 +ENDCHAR +STARTCHAR U_7450 +ENCODING 29776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F280 +2FE0 +2000 +7E20 +2AA0 +2EA0 +3AA0 +CEA0 +0A20 +0AE0 +ENDCHAR +STARTCHAR U_7451 +ENCODING 29777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FA40 +2780 +2080 +77E0 +2340 +2580 +3A80 +C5C0 +02A0 +0DA0 +ENDCHAR +STARTCHAR U_7452 +ENCODING 29778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +FC40 +27C0 +2440 +7FE0 +2200 +27E0 +3AA0 +C4A0 +0920 +0260 +ENDCHAR +STARTCHAR U_7453 +ENCODING 29779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFC0 +4200 +5FC0 +FAC0 +5740 +5FC0 +6700 +CA80 +3260 +0200 +ENDCHAR +STARTCHAR U_7454 +ENCODING 29780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F7C0 +2440 +27C0 +7440 +27C0 +2120 +3F40 +C580 +0940 +1320 +ENDCHAR +STARTCHAR U_7455 +ENCODING 29781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +FA20 +2A20 +2EE0 +7800 +2EE0 +28A0 +3EA0 +C840 +08A0 +0B20 +ENDCHAR +STARTCHAR U_7456 +ENCODING 29782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EDC0 +4940 +4D60 +EA00 +4DE0 +4940 +6DC0 +D880 +0940 +0A60 +ENDCHAR +STARTCHAR U_7457 +ENCODING 29783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +FA20 +2540 +27E0 +7200 +2FE0 +2200 +3BC0 +C640 +0980 +1660 +ENDCHAR +STARTCHAR U_7458 +ENCODING 29784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +EAE0 +4AA0 +4EA0 +EAC0 +4EA0 +4BA0 +6EE0 +DA80 +0280 +0280 +ENDCHAR +STARTCHAR U_7459 +ENCODING 29785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +02A0 +F540 +2540 +22A0 +7100 +2FE0 +2AA0 +3920 +CAA0 +0FE0 +0820 +ENDCHAR +STARTCHAR U_745A +ENCODING 29786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04E0 +F4A0 +2FA0 +24E0 +74A0 +2EA0 +2AE0 +3AA0 +CEA0 +0120 +0260 +ENDCHAR +STARTCHAR U_745B +ENCODING 29787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +2280 +2100 +77C0 +2540 +2540 +3FE0 +C280 +0440 +0820 +ENDCHAR +STARTCHAR U_745C +ENCODING 29788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +0480 +EB60 +4000 +4E20 +EAA0 +4EA0 +4AA0 +6EA0 +CA20 +0AE0 +ENDCHAR +STARTCHAR U_745D +ENCODING 29789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F7C0 +4640 +4540 +F7C0 +4000 +47C0 +7100 +C7C0 +0100 +0FE0 +ENDCHAR +STARTCHAR U_745E +ENCODING 29790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +F920 +2FE0 +2000 +7FE0 +2200 +2FE0 +3AA0 +CAA0 +0AA0 +0860 +ENDCHAR +STARTCHAR U_745F +ENCODING 29791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +71C0 +2080 +FBE0 +0880 +5500 +5240 +94A0 +18A0 +EF80 +ENDCHAR +STARTCHAR U_7460 +ENCODING 29792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0300 +F4E0 +44A0 +45A0 +F6A0 +4140 +47E0 +5520 +67E0 +C520 +07E0 +ENDCHAR +STARTCHAR U_7461 +ENCODING 29793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +5480 +57E0 +FEA0 +52A0 +5EA0 +76A0 +D6E0 +1C80 +0080 +ENDCHAR +STARTCHAR U_7462 +ENCODING 29794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2AA0 +2540 +7280 +2440 +2820 +3FC0 +C440 +07C0 +0440 +ENDCHAR +STARTCHAR U_7463 +ENCODING 29795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +F540 +27E0 +2420 +F7E0 +2420 +27E0 +3C20 +C7E0 +0240 +0420 +ENDCHAR +STARTCHAR U_7464 +ENCODING 29796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBE0 +2440 +2A80 +7500 +27E0 +2900 +37E0 +C100 +0520 +07E0 +ENDCHAR +STARTCHAR U_7465 +ENCODING 29797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F80 +F880 +4F80 +4880 +EF80 +4000 +5FC0 +5540 +7540 +D540 +3FE0 +ENDCHAR +STARTCHAR U_7466 +ENCODING 29798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +EF80 +4880 +4F80 +EFE0 +4800 +4FC0 +6040 +DAC0 +1540 +0080 +ENDCHAR +STARTCHAR U_7467 +ENCODING 29799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +2FC0 +F200 +2FE0 +25C0 +3920 +EFE0 +4540 +0920 +ENDCHAR +STARTCHAR U_7468 +ENCODING 29800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F280 +46C0 +4280 +EFE0 +4000 +57C0 +6440 +C7C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_7469 +ENCODING 29801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +56A0 +5AC0 +3180 +4A40 +FFE0 +8020 +7FC0 +0400 +3FC0 +0480 +FFE0 +ENDCHAR +STARTCHAR U_746A +ENCODING 29802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FD00 +27C0 +2500 +77C0 +2500 +27E0 +38A0 +C560 +0AA0 +12C0 +ENDCHAR +STARTCHAR U_746B +ENCODING 29803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +EE20 +4920 +4540 +E400 +4300 +4CE0 +5820 +6EE0 +C820 +0FE0 +ENDCHAR +STARTCHAR U_746C +ENCODING 29804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +1FC0 +C880 +1FC0 +CAA0 +5260 +7FC0 +0400 +7FC0 +0500 +FFE0 +ENDCHAR +STARTCHAR U_746D +ENCODING 29805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2940 +2FE0 +F940 +2FC0 +2900 +3BE0 +CA20 +13E0 +2220 +ENDCHAR +STARTCHAR U_746E +ENCODING 29806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F280 +2FE0 +2AA0 +FFE0 +2100 +2FE0 +3380 +C540 +0920 +1120 +ENDCHAR +STARTCHAR U_746F +ENCODING 29807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04E0 +FEA0 +2AA0 +2EA0 +FAC0 +2EA0 +28A0 +3CA0 +EAE0 +0D80 +0880 +ENDCHAR +STARTCHAR U_7470 +ENCODING 29808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F7C0 +2540 +27C0 +7540 +27C0 +2140 +3BA0 +C5E0 +0920 +10E0 +ENDCHAR +STARTCHAR U_7471 +ENCODING 29809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2100 +27C0 +7440 +2740 +25C0 +3440 +CFE0 +0280 +1C60 +ENDCHAR +STARTCHAR U_7472 +ENCODING 29810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +2540 +2FE0 +7440 +27C0 +2440 +3FE0 +E620 +4BE0 +1220 +ENDCHAR +STARTCHAR U_7473 +ENCODING 29811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F280 +27E0 +2100 +77C0 +2100 +2FE0 +3200 +C7C0 +0880 +17E0 +ENDCHAR +STARTCHAR U_7474 +ENCODING 29812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +FD40 +2140 +FE20 +8400 +FBE0 +2240 +7940 +2080 +3940 +C620 +ENDCHAR +STARTCHAR U_7475 +ENCODING 29813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F540 +2AC0 +2580 +7660 +2100 +27C0 +3540 +C7C0 +0140 +0FA0 +ENDCHAR +STARTCHAR U_7476 +ENCODING 29814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +FF20 +2A20 +2540 +7480 +27E0 +2900 +3FE0 +C100 +0920 +0FE0 +ENDCHAR +STARTCHAR U_7477 +ENCODING 29815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F720 +2540 +2FE0 +7920 +2FE0 +2200 +33C0 +C640 +0980 +1660 +ENDCHAR +STARTCHAR U_7478 +ENCODING 29816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4820 +4B80 +F400 +47C0 +4480 +7FE0 +C480 +0840 +1020 +ENDCHAR +STARTCHAR U_7479 +ENCODING 29817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F7E0 +2280 +2380 +7440 +2BA0 +2100 +37E0 +C100 +0540 +0B20 +ENDCHAR +STARTCHAR U_747A +ENCODING 29818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +EA80 +5FE0 +54A0 +E780 +4200 +4FC0 +6A40 +CB40 +0A80 +0200 +ENDCHAR +STARTCHAR U_747B +ENCODING 29819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F540 +4FE0 +4540 +F7C0 +4440 +47C0 +7440 +C7C0 +0440 +0820 +ENDCHAR +STARTCHAR U_747C +ENCODING 29820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2540 +27C0 +7540 +27C0 +2120 +3FE0 +E440 +4240 +00C0 +ENDCHAR +STARTCHAR U_747D +ENCODING 29821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0340 +F540 +2940 +26A0 +7440 +2D40 +2560 +3540 +C540 +06C0 +0460 +ENDCHAR +STARTCHAR U_747E +ENCODING 29822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +2280 +2100 +77C0 +2540 +2FE0 +3100 +C7C0 +0100 +0FE0 +ENDCHAR +STARTCHAR U_747F +ENCODING 29823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +A460 +FBC0 +9240 +FD80 +AA40 +FFC0 +0400 +3F80 +0480 +FFE0 +ENDCHAR +STARTCHAR U_7480 +ENCODING 29824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0520 +FD20 +27E0 +2500 +77E0 +2C80 +27E0 +3C80 +C7E0 +0480 +07E0 +ENDCHAR +STARTCHAR U_7481 +ENCODING 29825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F7E0 +2520 +25E0 +76A0 +2560 +26A0 +37E0 +C540 +0CA0 +13E0 +ENDCHAR +STARTCHAR U_7482 +ENCODING 29826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFC0 +4480 +4780 +E480 +5FE0 +4680 +6A40 +57A0 +A200 +0FC0 +ENDCHAR +STARTCHAR U_7483 +ENCODING 29827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2280 +2920 +7AA0 +2FE0 +2100 +3FE0 +CAA0 +0BA0 +0860 +ENDCHAR +STARTCHAR U_7484 +ENCODING 29828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +4480 +5FE0 +E840 +4FC0 +4840 +4FC0 +6500 +8520 +18E0 +ENDCHAR +STARTCHAR U_7485 +ENCODING 29829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FA80 +2540 +27C0 +7540 +27C0 +2540 +3FE0 +C380 +0540 +0920 +ENDCHAR +STARTCHAR U_7486 +ENCODING 29830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +FAA0 +2660 +2AA0 +7320 +2480 +2A60 +3500 +C240 +0080 +0F00 +ENDCHAR +STARTCHAR U_7487 +ENCODING 29831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +E900 +5DE0 +4A00 +FDE0 +5440 +5540 +7560 +D540 +1540 +2AE0 +ENDCHAR +STARTCHAR U_7488 +ENCODING 29832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FF80 +24E0 +2FA0 +74A0 +2FA0 +24A0 +3EA0 +CA40 +0AA0 +3520 +ENDCHAR +STARTCHAR U_7489 +ENCODING 29833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FFE0 +2AA0 +23E0 +7AA0 +2BE0 +2880 +3BE0 +C880 +1480 +23E0 +ENDCHAR +STARTCHAR U_748A +ENCODING 29834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +2480 +2780 +7100 +2FE0 +2920 +3DA0 +CB60 +0DA0 +0960 +ENDCHAR +STARTCHAR U_748B +ENCODING 29835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2280 +2FE0 +7440 +27C0 +2440 +37C0 +C100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_748C +ENCODING 29836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +4BA0 +5100 +47C0 +E540 +47C0 +5540 +67C0 +C280 +0440 +ENDCHAR +STARTCHAR U_748D +ENCODING 29837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +2280 +2FE0 +2540 +FFE0 +2540 +2FE0 +3100 +DFE0 +0100 +ENDCHAR +STARTCHAR U_748E +ENCODING 29838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F820 +2AA0 +2AA0 +7AA0 +2540 +2AA0 +3FE0 +C480 +0300 +1CE0 +ENDCHAR +STARTCHAR U_748F +ENCODING 29839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F380 +4280 +5FE0 +F480 +57A0 +5AC0 +7780 +D280 +15A0 +1860 +ENDCHAR +STARTCHAR U_7490 +ENCODING 29840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E80 +FAE0 +4BA0 +4E40 +F4A0 +4720 +55E0 +5520 +7720 +DDE0 +0120 +ENDCHAR +STARTCHAR U_7491 +ENCODING 29841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +4D40 +5540 +FFE0 +5540 +5540 +7FE0 +D540 +12A0 +22A0 +ENDCHAR +STARTCHAR U_7492 +ENCODING 29842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F40 +FBA0 +26C0 +2440 +7BA0 +2000 +27C0 +3C40 +C7C0 +0280 +1FE0 +ENDCHAR +STARTCHAR U_7493 +ENCODING 29843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EFE0 +4280 +4FE0 +E540 +5920 +4FC0 +6240 +C220 +04A0 +1840 +ENDCHAR +STARTCHAR U_7494 +ENCODING 29844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +2AA0 +2920 +7FE0 +2000 +27C0 +3440 +E7C0 +4440 +07C0 +ENDCHAR +STARTCHAR U_7495 +ENCODING 29845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F040 +27C0 +2040 +7FE0 +24A0 +2EE0 +3080 +EFE0 +4480 +0380 +ENDCHAR +STARTCHAR U_7496 +ENCODING 29846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0BE0 +F680 +2BE0 +2620 +FBE0 +2A80 +2FE0 +3100 +C380 +0540 +0920 +ENDCHAR +STARTCHAR U_7497 +ENCODING 29847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +A840 +5FC0 +2840 +CFE0 +5520 +7FC0 +0400 +7FC0 +0480 +FFE0 +ENDCHAR +STARTCHAR U_7498 +ENCODING 29848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +F540 +2FE0 +2540 +7920 +2540 +2FE0 +3B40 +C7E0 +0440 +1840 +ENDCHAR +STARTCHAR U_7499 +ENCODING 29849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2AA0 +27C0 +2C60 +F7C0 +2440 +27C0 +3100 +C940 +1320 +ENDCHAR +STARTCHAR U_749A +ENCODING 29850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F280 +2FE0 +2540 +7900 +2FE0 +2AA0 +3FE0 +CAA0 +0BA0 +0860 +ENDCHAR +STARTCHAR U_749B +ENCODING 29851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +4240 +5FE0 +F740 +5AC0 +7240 +5FC0 +9AC0 +2740 +2240 +ENDCHAR +STARTCHAR U_749C +ENCODING 29852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F7C0 +2280 +2FE0 +7100 +27C0 +2540 +37C0 +C540 +07C0 +0C60 +ENDCHAR +STARTCHAR U_749D +ENCODING 29853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +4540 +5FE0 +E440 +47C0 +4440 +77C0 +C440 +07C0 +0C60 +ENDCHAR +STARTCHAR U_749E +ENCODING 29854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0AA0 +F6C0 +2FE0 +2280 +7FE0 +2100 +27C0 +3100 +CFE0 +0280 +0C60 +ENDCHAR +STARTCHAR U_749F +ENCODING 29855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +27C0 +2440 +7FE0 +2000 +27C0 +3440 +C7C0 +0540 +1B20 +ENDCHAR +STARTCHAR U_74A0 +ENCODING 29856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +FF20 +2540 +2FE0 +7580 +2940 +27E0 +3540 +C7C0 +0540 +07C0 +ENDCHAR +STARTCHAR U_74A1 +ENCODING 29857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +27E0 +2280 +7BC0 +2A80 +2BC0 +3A80 +CBE0 +0E00 +13E0 +ENDCHAR +STARTCHAR U_74A2 +ENCODING 29858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E280 +4EE0 +4AA0 +EEE0 +4280 +4FE0 +5920 +6FE0 +C920 +0FE0 +ENDCHAR +STARTCHAR U_74A3 +ENCODING 29859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A80 +F2A0 +5FC0 +4AA0 +FFE0 +4540 +5FE0 +6540 +CAA0 +1160 +2620 +ENDCHAR +STARTCHAR U_74A4 +ENCODING 29860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +4A40 +4FC0 +EA40 +4FC0 +4280 +5FE0 +6540 +D460 +13C0 +ENDCHAR +STARTCHAR U_74A5 +ENCODING 29861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +FF80 +52E0 +48A0 +5F20 +F120 +5D20 +55A0 +5D40 +E1A0 +06A0 +ENDCHAR +STARTCHAR U_74A6 +ENCODING 29862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F720 +2540 +2FE0 +7AA0 +27C0 +2A20 +37E0 +CA40 +0180 +1E60 +ENDCHAR +STARTCHAR U_74A7 +ENCODING 29863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +7D40 +4480 +7FE0 +8080 +7FC0 +0400 +3F80 +0500 +FFE0 +ENDCHAR +STARTCHAR U_74A8 +ENCODING 29864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F3E0 +2AA0 +2F40 +75A0 +2320 +2D40 +3580 +CFE0 +0540 +0920 +ENDCHAR +STARTCHAR U_74A9 +ENCODING 29865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +F200 +2FE0 +2A20 +7FC0 +2A20 +2FE0 +3AA0 +CDC0 +12A0 +2520 +ENDCHAR +STARTCHAR U_74AA +ENCODING 29866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +27C0 +2000 +7EE0 +2AA0 +2EE0 +3100 +EFE0 +4540 +0920 +ENDCHAR +STARTCHAR U_74AB +ENCODING 29867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +F540 +2FE0 +2820 +77C0 +2440 +2FE0 +3920 +CFE0 +0920 +0FE0 +ENDCHAR +STARTCHAR U_74AC +ENCODING 29868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EE80 +4A80 +4FE0 +EB40 +4F40 +4480 +6E80 +C540 +0A40 +1620 +ENDCHAR +STARTCHAR U_74AD +ENCODING 29869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +0920 +EFE0 +5540 +47C0 +FD40 +4FC0 +4900 +6FE0 +C900 +17E0 +ENDCHAR +STARTCHAR U_74AE +ENCODING 29870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4AA0 +4AA0 +EBA0 +4820 +4FE0 +4440 +67C0 +8440 +1FE0 +ENDCHAR +STARTCHAR U_74AF +ENCODING 29871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +F440 +2BA0 +2000 +7FE0 +2AA0 +2FE0 +3440 +E7C0 +4440 +07C0 +ENDCHAR +STARTCHAR U_74B0 +ENCODING 29872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +FAA0 +2FE0 +2000 +7FE0 +2440 +27C0 +3280 +ECA0 +4540 +0620 +ENDCHAR +STARTCHAR U_74B1 +ENCODING 29873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +F440 +2EE0 +2440 +7EE0 +2100 +22C0 +3640 +EAA0 +4340 +1DC0 +ENDCHAR +STARTCHAR U_74B2 +ENCODING 29874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +F140 +2FE0 +2920 +72C0 +2980 +2EC0 +39A0 +EEA0 +4900 +17E0 +ENDCHAR +STARTCHAR U_74B3 +ENCODING 29875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0A00 +EFC0 +5700 +5AC0 +EF80 +4A80 +4D80 +6A80 +CF80 +0880 +1040 +ENDCHAR +STARTCHAR U_74B4 +ENCODING 29876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +4EC0 +5560 +F440 +4FE0 +4120 +65C0 +8500 +0B00 +10E0 +ENDCHAR +STARTCHAR U_74B5 +ENCODING 29877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E60 +FBA0 +2A20 +2FE0 +78A0 +2EE0 +2AA0 +3FE0 +E480 +4840 +1020 +ENDCHAR +STARTCHAR U_74B6 +ENCODING 29878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F140 +2FE0 +2140 +7FE0 +2100 +2FE0 +3540 +CFE0 +0AA0 +1FE0 +ENDCHAR +STARTCHAR U_74B7 +ENCODING 29879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FF80 +2AE0 +2FA0 +7AA0 +2FA0 +2AA0 +3FA0 +CA40 +0AA0 +1520 +ENDCHAR +STARTCHAR U_74B8 +ENCODING 29880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2420 +23C0 +7580 +23C0 +2E40 +33C0 +C240 +03C0 +0660 +ENDCHAR +STARTCHAR U_74B9 +ENCODING 29881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +4200 +5FE0 +F220 +4FC0 +4000 +7FE0 +9540 +1D40 +00C0 +ENDCHAR +STARTCHAR U_74BA +ENCODING 29882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6EC0 +5140 +7FC0 +5540 +FFE0 +8020 +BFA0 +0400 +3F80 +0480 +FFE0 +ENDCHAR +STARTCHAR U_74BB +ENCODING 29883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F5A0 +2360 +25A0 +7100 +2FE0 +2440 +3AA0 +EFE0 +4100 +0100 +ENDCHAR +STARTCHAR U_74BC +ENCODING 29884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1E80 +F480 +5EE0 +5280 +FF40 +5420 +5E00 +4000 +6FE0 +CAA0 +3FE0 +ENDCHAR +STARTCHAR U_74BD +ENCODING 29885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4440 +FFE0 +56C0 +6D40 +56C0 +FFE0 +0400 +7FC0 +0480 +FFE0 +ENDCHAR +STARTCHAR U_74BE +ENCODING 29886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4AA0 +5540 +F540 +4520 +4FC0 +6840 +CFC0 +0840 +1040 +ENDCHAR +STARTCHAR U_74BF +ENCODING 29887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +F100 +2FE0 +2AA0 +7540 +2AA0 +2FE0 +3440 +E7C0 +4440 +07C0 +ENDCHAR +STARTCHAR U_74C0 +ENCODING 29888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +2FE0 +2920 +7280 +2FE0 +2100 +3FE0 +EAA0 +4AA0 +0860 +ENDCHAR +STARTCHAR U_74C1 +ENCODING 29889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +2540 +27E0 +7D00 +27C0 +2500 +3FE0 +C240 +0180 +0E60 +ENDCHAR +STARTCHAR U_74C2 +ENCODING 29890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +2540 +27C0 +7100 +2FE0 +2440 +3FE0 +CAA0 +0AA0 +1FE0 +ENDCHAR +STARTCHAR U_74C3 +ENCODING 29891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F540 +27C0 +2540 +77C0 +2000 +2FE0 +3AA0 +EFE0 +4AA0 +0FE0 +ENDCHAR +STARTCHAR U_74C4 +ENCODING 29892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +4100 +4FE0 +FAA0 +4FE0 +4540 +76C0 +C540 +07C0 +0C60 +ENDCHAR +STARTCHAR U_74C5 +ENCODING 29893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +FBC0 +36A0 +2BE0 +76A0 +2FE0 +2100 +3FE0 +E580 +4940 +1120 +ENDCHAR +STARTCHAR U_74C6 +ENCODING 29894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +06C0 +F900 +5FE0 +5540 +E640 +4FC0 +4840 +6FC0 +8840 +0FC0 +1860 +ENDCHAR +STARTCHAR U_74C7 +ENCODING 29895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F440 +47C0 +4440 +FFE0 +5540 +4BA0 +6200 +C7C0 +0980 +0660 +ENDCHAR +STARTCHAR U_74C8 +ENCODING 29896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E80 +E5E0 +5EA0 +4EA0 +F520 +4560 +4280 +6D60 +8380 +0D60 +0300 +ENDCHAR +STARTCHAR U_74C9 +ENCODING 29897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +EEE0 +4440 +4FE0 +EAA0 +57C0 +4540 +76C0 +8540 +07C0 +0C60 +ENDCHAR +STARTCHAR U_74CA +ENCODING 29898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +FFE0 +2AA0 +2FE0 +7440 +27C0 +2440 +37C0 +C480 +0300 +1CE0 +ENDCHAR +STARTCHAR U_74CB +ENCODING 29899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +4280 +4FE0 +F920 +4FE0 +4920 +6BA0 +CAA0 +1AA0 +27E0 +ENDCHAR +STARTCHAR U_74CC +ENCODING 29900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFE0 +4000 +4FE0 +EAA0 +4FE0 +4540 +6B20 +86C0 +1A40 +0320 +ENDCHAR +STARTCHAR U_74CD +ENCODING 29901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FFE0 +5500 +5BE0 +F480 +57E0 +5940 +75C0 +9540 +1740 +19E0 +ENDCHAR +STARTCHAR U_74CE +ENCODING 29902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FEE0 +4540 +5FE0 +F520 +5FE0 +4520 +6FE0 +9520 +25E0 +0720 +ENDCHAR +STARTCHAR U_74CF +ENCODING 29903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04E0 +FE80 +2AE0 +2420 +7EE0 +2A80 +2EE0 +3A80 +CEE0 +0AA0 +0AE0 +ENDCHAR +STARTCHAR U_74D0 +ENCODING 29904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +E200 +5FE0 +52A0 +5F00 +F240 +57C0 +5540 +6FE0 +AAA0 +5FE0 +ENDCHAR +STARTCHAR U_74D1 +ENCODING 29905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +56C0 +5240 +5FE0 +F6C0 +5B60 +5080 +7480 +D4E0 +2480 +4FE0 +ENDCHAR +STARTCHAR U_74D2 +ENCODING 29906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1540 +1FE0 +E440 +5FE0 +4A40 +F2A0 +47C0 +4540 +7540 +C280 +0C60 +ENDCHAR +STARTCHAR U_74D3 +ENCODING 29907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1EE0 +F2A0 +5EE0 +52A0 +FFE0 +5120 +57E0 +7560 +97E0 +13A0 +1560 +ENDCHAR +STARTCHAR U_74D4 +ENCODING 29908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +FAA0 +2EE0 +2AA0 +7EE0 +2440 +2AA0 +3FE0 +E480 +4300 +1CE0 +ENDCHAR +STARTCHAR U_74D5 +ENCODING 29909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +2540 +EFE0 +8B60 +EDA0 +2B60 +FFE0 +0400 +7FC0 +0480 +FFE0 +ENDCHAR +STARTCHAR U_74D6 +ENCODING 29910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2AA0 +2EE0 +7280 +2FE0 +2280 +3FE0 +E4A0 +4D40 +1620 +ENDCHAR +STARTCHAR U_74D7 +ENCODING 29911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +FFE0 +2500 +2FC0 +7900 +2FE0 +2AA0 +3FE0 +EAA0 +4BA0 +0860 +ENDCHAR +STARTCHAR U_74D8 +ENCODING 29912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +2280 +2EE0 +7AA0 +2EE0 +27E0 +3C80 +E7E0 +4480 +07E0 +ENDCHAR +STARTCHAR U_74D9 +ENCODING 29913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +27E0 +2120 +7FE0 +2040 +2FE0 +3B40 +EEC0 +4540 +0AA0 +ENDCHAR +STARTCHAR U_74DA +ENCODING 29914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +F540 +2FE0 +2540 +7A60 +27C0 +2440 +37C0 +C440 +07C0 +0C60 +ENDCHAR +STARTCHAR U_74DB +ENCODING 29915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0740 +E460 +5F40 +54E0 +FF40 +5540 +5740 +5A40 +FFA0 +2DA0 +4AA0 +ENDCHAR +STARTCHAR U_74DC +ENCODING 29916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +3F00 +2500 +2500 +2500 +2480 +2480 +2440 +4540 +47A0 +8CA0 +ENDCHAR +STARTCHAR U_74DD +ENCODING 29917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +F9E0 +AA20 +AC20 +A920 +A8A0 +A8A0 +A420 +AAC0 +B900 +C8E0 +ENDCHAR +STARTCHAR U_74DE +ENCODING 29918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A80 +FA80 +ABE0 +AC80 +AFE0 +A880 +A940 +A620 +AA20 +BD80 +A460 +ENDCHAR +STARTCHAR U_74DF +ENCODING 29919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A00 +EBE0 +AC20 +ABA0 +AAA0 +ABA0 +AA40 +AA20 +A5E0 +BA00 +A9E0 +ENDCHAR +STARTCHAR U_74E0 +ENCODING 29920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FFC0 +5540 +8D40 +7540 +0540 +FD40 +4540 +F520 +1560 +69A0 +ENDCHAR +STARTCHAR U_74E1 +ENCODING 29921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FFC0 +2540 +FD40 +5540 +2540 +FD20 +2520 +FD20 +25E0 +2920 +ENDCHAR +STARTCHAR U_74E2 +ENCODING 29922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE60 +2BA0 +FEA0 +AAA0 +FEA0 +02A0 +7AA0 +02A0 +FEA0 +5AE0 +B4A0 +ENDCHAR +STARTCHAR U_74E3 +ENCODING 29923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +FDE0 +B5A0 +5540 +F5E0 +5540 +5540 +F5E0 +5540 +5740 +A140 +ENDCHAR +STARTCHAR U_74E4 +ENCODING 29924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FFA0 +AAA0 +FAA0 +52A0 +FEA0 +52A0 +FEA0 +36A0 +6AA0 +A4E0 +ENDCHAR +STARTCHAR U_74E5 +ENCODING 29925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +E920 +AB40 +ADC0 +AAA0 +2480 +FFE0 +AAA0 +FBE0 +28A0 +F7E0 +ENDCHAR +STARTCHAR U_74E6 +ENCODING 29926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1000 +1000 +1F00 +1100 +2900 +2500 +2520 +2120 +F920 +40E0 +ENDCHAR +STARTCHAR U_74E7 +ENCODING 29927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +4100 +7900 +4FC0 +4900 +6900 +5900 +4900 +4920 +4820 +67E0 +ENDCHAR +STARTCHAR U_74E8 +ENCODING 29928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F200 +2200 +2780 +2480 +2680 +3580 +C480 +0580 +0EA0 +04E0 +ENDCHAR +STARTCHAR U_74E9 +ENCODING 29929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC60 +4380 +4080 +7C80 +47E0 +6480 +5480 +4480 +44A0 +7420 +C3E0 +ENDCHAR +STARTCHAR U_74EA +ENCODING 29930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0060 +FF80 +4200 +7BC0 +4A40 +4B40 +6A80 +4C80 +4960 +6A20 +47E0 +ENDCHAR +STARTCHAR U_74EB +ENCODING 29931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2180 +DF60 +0900 +1200 +7FE0 +1000 +1F00 +1900 +2520 +30E0 +ENDCHAR +STARTCHAR U_74EC +ENCODING 29932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2400 +FC00 +4780 +7480 +5680 +5580 +5480 +54A0 +96A0 +ACE0 +ENDCHAR +STARTCHAR U_74ED +ENCODING 29933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +FA00 +AB80 +2280 +2280 +3580 +5480 +5C80 +56A0 +8460 +ENDCHAR +STARTCHAR U_74EE +ENCODING 29934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2480 +C960 +1E80 +0000 +FFE0 +2000 +3F00 +4920 +4520 +79E0 +ENDCHAR +STARTCHAR U_74EF +ENCODING 29935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8100 +A900 +ABC0 +9240 +9340 +AAC0 +AA40 +8AC0 +8740 +FA60 +ENDCHAR +STARTCHAR U_74F0 +ENCODING 29936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F880 +4280 +7C40 +4BE0 +6940 +5940 +4A40 +4D40 +68A0 +4FE0 +ENDCHAR +STARTCHAR U_74F1 +ENCODING 29937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +4600 +7200 +5FC0 +5200 +5FC0 +B200 +9240 +91C0 +D020 +8FE0 +ENDCHAR +STARTCHAR U_74F2 +ENCODING 29938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +4F80 +7200 +5A80 +5F80 +B200 +9240 +91C0 +D020 +8FE0 +ENDCHAR +STARTCHAR U_74F3 +ENCODING 29939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2200 +FB80 +2280 +2280 +7580 +5480 +5480 +76A0 +0460 +ENDCHAR +STARTCHAR U_74F4 +ENCODING 29940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5200 +8A00 +23C0 +1440 +FE40 +0D40 +5440 +2540 +1660 +1460 +ENDCHAR +STARTCHAR U_74F5 +ENCODING 29941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +47E0 +8A00 +FA00 +0380 +F480 +9680 +9580 +94A0 +F6A0 +9460 +ENDCHAR +STARTCHAR U_74F6 +ENCODING 29942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8BE0 +5100 +FD00 +51C0 +5240 +FF40 +52C0 +5240 +5240 +5360 +9660 +ENDCHAR +STARTCHAR U_74F7 +ENCODING 29943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +47E0 +2940 +C280 +4440 +FFE0 +1000 +1F00 +2920 +2520 +70E0 +ENDCHAR +STARTCHAR U_74F8 +ENCODING 29944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4100 +7BC0 +4A40 +4A40 +6BC0 +5A40 +8A40 +8BC0 +A820 +C7E0 +ENDCHAR +STARTCHAR U_74F9 +ENCODING 29945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9200 +F380 +0280 +F480 +9680 +F580 +9480 +F4A0 +96A0 +B460 +ENDCHAR +STARTCHAR U_74FA +ENCODING 29946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4200 +7B80 +4280 +7A80 +4280 +FD80 +2480 +54A0 +FEA0 +0460 +ENDCHAR +STARTCHAR U_74FB +ENCODING 29947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DBE0 +2100 +D900 +23C0 +FE40 +A240 +FB40 +AAC0 +AA40 +BA40 +2360 +ENDCHAR +STARTCHAR U_74FC +ENCODING 29948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +4540 +77C0 +5540 +57C0 +7100 +57C0 +9100 +97C0 +D020 +8FE0 +ENDCHAR +STARTCHAR U_74FD +ENCODING 29949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +FFE0 +90A0 +1F80 +0000 +FFE0 +1000 +1F00 +2920 +2520 +71E0 +ENDCHAR +STARTCHAR U_74FE +ENCODING 29950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0BE0 +F100 +2100 +FBC0 +7240 +AB40 +22C0 +FE40 +2A40 +33C0 +CA60 +ENDCHAR +STARTCHAR U_74FF +ENCODING 29951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F900 +8900 +51C0 +FA40 +0340 +7AC0 +4A40 +4A40 +7B40 +4E60 +ENDCHAR +STARTCHAR U_7500 +ENCODING 29952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +1100 +FF00 +55C0 +FF40 +5540 +55C0 +FD40 +1240 +1B60 +E260 +ENDCHAR +STARTCHAR U_7501 +ENCODING 29953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +57E0 +F900 +5100 +53C0 +DE40 +5340 +52C0 +5480 +56A0 +9460 +ENDCHAR +STARTCHAR U_7502 +ENCODING 29954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +1100 +FD00 +83C0 +FE40 +8340 +FEC0 +AA40 +FE40 +AA40 +8760 +ENDCHAR +STARTCHAR U_7503 +ENCODING 29955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD20 +2540 +F980 +7240 +AC20 +FFE0 +1000 +3F00 +2920 +2520 +71E0 +ENDCHAR +STARTCHAR U_7504 +ENCODING 29956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2880 +FE80 +AAE0 +AAA0 +FF20 +11A0 +7D60 +1120 +1DA0 +E120 +ENDCHAR +STARTCHAR U_7505 +ENCODING 29957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +4400 +77C0 +9540 +97C0 +D500 +B7C0 +9500 +9BC0 +D020 +8FE0 +ENDCHAR +STARTCHAR U_7506 +ENCODING 29958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5280 +2940 +FBE0 +0000 +FFE0 +2000 +3F00 +4920 +74E0 +ENDCHAR +STARTCHAR U_7507 +ENCODING 29959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +B2C0 +A480 +5140 +8A20 +FFE0 +9020 +9F00 +2920 +2520 +71E0 +ENDCHAR +STARTCHAR U_7508 +ENCODING 29960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +7900 +4900 +7BC0 +4A40 +7B40 +12C0 +FE40 +3240 +5B40 +9660 +ENDCHAR +STARTCHAR U_7509 +ENCODING 29961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +FFE0 +5100 +FDC0 +5540 +FF40 +55C0 +FD40 +5940 +D540 +51A0 +ENDCHAR +STARTCHAR U_750A +ENCODING 29962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7FE0 +5500 +FFC0 +5540 +7D40 +5540 +FEC0 +2A40 +3B60 +C660 +ENDCHAR +STARTCHAR U_750B +ENCODING 29963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FD00 +4500 +29C0 +FE40 +9340 +FEC0 +9240 +BA40 +AB40 +BA60 +ENDCHAR +STARTCHAR U_750C +ENCODING 29964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8100 +BD00 +A5C0 +BD40 +8140 +FDC0 +9540 +FD40 +81C0 +FF60 +ENDCHAR +STARTCHAR U_750D +ENCODING 29965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +3FC0 +2940 +FFE0 +9020 +1F00 +2920 +2520 +71E0 +ENDCHAR +STARTCHAR U_750E +ENCODING 29966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FFE0 +5500 +7DC0 +5540 +7D40 +15C0 +FF40 +4940 +69C0 +1160 +ENDCHAR +STARTCHAR U_750F +ENCODING 29967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEC0 +1100 +7C60 +4580 +7C60 +2980 +FFE0 +2000 +3F80 +24A0 +72E0 +ENDCHAR +STARTCHAR U_7510 +ENCODING 29968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +93E0 +5480 +FE80 +55C0 +9340 +2540 +7FC0 +9540 +7F40 +45C0 +8560 +ENDCHAR +STARTCHAR U_7511 +ENCODING 29969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2900 +FD00 +ABC0 +9240 +FF40 +4AC0 +7A40 +4A40 +7B40 +4A60 +ENDCHAR +STARTCHAR U_7512 +ENCODING 29970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +7E80 +D480 +55E0 +FF20 +55A0 +5560 +FF20 +5520 +ABA0 +AB20 +ENDCHAR +STARTCHAR U_7513 +ENCODING 29971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +7940 +4080 +BFE0 +2480 +FFE0 +1000 +3F00 +2920 +35E0 +ENDCHAR +STARTCHAR U_7514 +ENCODING 29972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3DE0 +4480 +FE80 +6BE0 +7F20 +41A0 +5D60 +4120 +7D20 +A5A0 +BD20 +ENDCHAR +STARTCHAR U_7515 +ENCODING 29973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5480 +2FE0 +7480 +17E0 +2480 +FFE0 +2000 +3F20 +4920 +E5E0 +ENDCHAR +STARTCHAR U_7516 +ENCODING 29974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +7BC0 +2A80 +FFE0 +2000 +3F80 +4920 +E5E0 +ENDCHAR +STARTCHAR U_7517 +ENCODING 29975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +2100 +FD00 +A3C0 +FE40 +AB40 +AAC0 +FE40 +D640 +FF40 +A660 +ENDCHAR +STARTCHAR U_7518 +ENCODING 29976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2100 +2100 +FFC0 +2100 +2100 +2100 +3F00 +2100 +2100 +3F00 +2100 +ENDCHAR +STARTCHAR U_7519 +ENCODING 29977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +0120 +FFE0 +0100 +4500 +FF00 +4500 +7CA0 +44A0 +7C60 +4420 +ENDCHAR +STARTCHAR U_751A +ENCODING 29978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F00 +1100 +1F00 +1100 +FFE0 +2900 +3080 +3FC0 +ENDCHAR +STARTCHAR U_751B +ENCODING 29979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48C0 +4F00 +4900 +F900 +4FE0 +4900 +7BC0 +4A40 +4A40 +7BC0 +4A40 +ENDCHAR +STARTCHAR U_751C +ENCODING 29980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A40 +E240 +2240 +27E0 +FA40 +2240 +FBC0 +8A40 +8A40 +FBC0 +8A40 +ENDCHAR +STARTCHAR U_751D +ENCODING 29981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3A40 +2240 +FFE0 +A240 +F240 +ABC0 +BA40 +83C0 +BA40 +A820 +CFE0 +ENDCHAR +STARTCHAR U_751E +ENCODING 29982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +7FE0 +9120 +1F00 +1100 +FFE0 +1100 +1F00 +1100 +1F00 +ENDCHAR +STARTCHAR U_751F +ENCODING 29983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +2200 +2200 +3FE0 +4200 +8200 +1FC0 +0200 +0200 +0200 +7FE0 +ENDCHAR +STARTCHAR U_7520 +ENCODING 29984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E100 +A900 +AFE0 +B100 +E100 +A7C0 +A100 +A100 +E100 +1FE0 +ENDCHAR +STARTCHAR U_7521 +ENCODING 29985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5280 +5280 +7FE0 +9480 +1080 +7BE0 +1080 +1C80 +F080 +47E0 +ENDCHAR +STARTCHAR U_7522 +ENCODING 29986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1080 +0900 +7FE0 +5200 +5FC0 +6200 +5FC0 +4200 +BFE0 +ENDCHAR +STARTCHAR U_7523 +ENCODING 29987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +1080 +0900 +7FC0 +4A00 +5FC0 +6200 +4FC0 +4200 +9FE0 +ENDCHAR +STARTCHAR U_7524 +ENCODING 29988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +7A80 +2280 +6BE0 +AC80 +53E0 +B880 +57E0 +9200 +51E0 +2040 +ENDCHAR +STARTCHAR U_7525 +ENCODING 29989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +54A0 +7FE0 +94A0 +97E0 +7900 +17E0 +1120 +1A20 +E420 +08C0 +ENDCHAR +STARTCHAR U_7526 +ENCODING 29990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +2280 +FA80 +ABE0 +FC80 +ABE0 +F880 +A080 +67E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_7527 +ENCODING 29991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +7BC0 +9500 +7BC0 +1100 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_7528 +ENCODING 29992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +7FC0 +4440 +4440 +7FC0 +4440 +4440 +7FC0 +4440 +4440 +8440 +84C0 +ENDCHAR +STARTCHAR U_7529 +ENCODING 29993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2440 +2440 +3FC0 +2440 +3FC0 +2440 +2440 +25C0 +4420 +83E0 +ENDCHAR +STARTCHAR U_752A +ENCODING 29994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C00 +0800 +3FE0 +2220 +3FE0 +2220 +3FE0 +2220 +2220 +4220 +80E0 +ENDCHAR +STARTCHAR U_752B +ENCODING 29995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +0480 +FFE0 +0400 +7FC0 +4440 +7FC0 +4440 +7FC0 +4440 +44C0 +ENDCHAR +STARTCHAR U_752C +ENCODING 29996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +1100 +0A00 +7F80 +4880 +7F80 +4880 +7F80 +4880 +4A80 +4100 +ENDCHAR +STARTCHAR U_752D +ENCODING 29997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +0800 +3580 +C440 +7F80 +4480 +7F80 +4480 +7F80 +4480 +8580 +ENDCHAR +STARTCHAR U_752E +ENCODING 29998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +2000 +7F80 +9480 +2900 +7F80 +4880 +7F80 +4880 +7F80 +4880 +4980 +ENDCHAR +STARTCHAR U_752F +ENCODING 29999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +94A0 +5140 +9F20 +3F80 +2480 +3F80 +2480 +3F80 +2480 +ENDCHAR +STARTCHAR U_7530 +ENCODING 30000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +FF80 +8880 +8880 +8880 +FF80 +8880 +8880 +8880 +FF80 +8080 +ENDCHAR +STARTCHAR U_7531 +ENCODING 30001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +FF80 +8880 +8880 +FF80 +8880 +8880 +8880 +FF80 +8080 +ENDCHAR +STARTCHAR U_7532 +ENCODING 30002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +8880 +8880 +FF80 +8880 +8880 +FF80 +8880 +0800 +0800 +0800 +ENDCHAR +STARTCHAR U_7533 +ENCODING 30003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +FF80 +8880 +FF80 +8880 +8880 +FF80 +8880 +0800 +0800 +ENDCHAR +STARTCHAR U_7534 +ENCODING 30004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +0800 +FF80 +8880 +8880 +FF80 +8080 +8080 +FF80 +8080 +ENDCHAR +STARTCHAR U_7535 +ENCODING 30005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +FF80 +8880 +FF80 +8880 +8880 +FF80 +0840 +0840 +07C0 +ENDCHAR +STARTCHAR U_7536 +ENCODING 30006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 1 -1 +BITMAP +10 +20 +FF +91 +91 +91 +FF +91 +91 +FF +81 +ENDCHAR +STARTCHAR U_7537 +ENCODING 30007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +4880 +7F80 +4880 +7F80 +0800 +FFC0 +0840 +1040 +2240 +C180 +ENDCHAR +STARTCHAR U_7538 +ENCODING 30008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FE0 +2020 +7FA0 +A4A0 +3FA0 +24A0 +3FA0 +20A0 +0020 +01C0 +ENDCHAR +STARTCHAR U_7539 +ENCODING 30009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +7F80 +4480 +7F80 +4480 +FFC0 +2000 +7F80 +0080 +0880 +0700 +ENDCHAR +STARTCHAR U_753A +ENCODING 30010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F880 +A880 +A880 +F880 +A880 +A880 +A880 +F880 +0080 +0380 +ENDCHAR +STARTCHAR U_753B +ENCODING 30011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0000 +3F80 +A4A0 +A4A0 +BFA0 +A4A0 +A4A0 +BFA0 +8020 +FFE0 +ENDCHAR +STARTCHAR U_753C +ENCODING 30012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +7FC0 +0000 +FFE0 +0400 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_753D +ENCODING 30013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +FAA0 +AAA0 +AAA0 +FAA0 +AAA0 +AAA0 +FAA0 +8AA0 +04A0 +0820 +ENDCHAR +STARTCHAR U_753E +ENCODING 30014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +2480 +4900 +9200 +4900 +2480 +FF80 +8880 +FF80 +8880 +FF80 +8080 +ENDCHAR +STARTCHAR U_753F +ENCODING 30015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F880 +AFE0 +AA00 +FA00 +AA00 +AA00 +FA00 +8A00 +03E0 +0200 +ENDCHAR +STARTCHAR U_7540 +ENCODING 30016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +4880 +7F80 +4880 +7F80 +0000 +FFC0 +2200 +2200 +4200 +8200 +ENDCHAR +STARTCHAR U_7541 +ENCODING 30017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +4440 +7FC0 +4440 +7FC0 +0000 +FFE0 +1100 +1100 +6100 +ENDCHAR +STARTCHAR U_7542 +ENCODING 30018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +A9C0 +AA40 +FC40 +A840 +A880 +F980 +0240 +0420 +1820 +ENDCHAR +STARTCHAR U_7543 +ENCODING 30019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +AA20 +FC20 +A9A0 +F8A0 +2020 +2020 +20A0 +2040 +ENDCHAR +STARTCHAR U_7544 +ENCODING 30020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +8C60 +6480 +2100 +7FC0 +4440 +4440 +7FC0 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_7545 +ENCODING 30021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +F880 +A900 +AA00 +FFE0 +AAA0 +AAA0 +FCA0 +A920 +2220 +24C0 +ENDCHAR +STARTCHAR U_7546 +ENCODING 30022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +1080 +FE80 +0080 +F880 +A900 +F900 +AA40 +AA40 +FFE0 +8820 +ENDCHAR +STARTCHAR U_7547 +ENCODING 30023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBE0 +AA20 +AD20 +F8A0 +A820 +A8A0 +AB20 +F820 +8820 +00C0 +ENDCHAR +STARTCHAR U_7548 +ENCODING 30024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0060 +FB80 +AA00 +AA00 +FBE0 +AAA0 +AAA0 +FAA0 +8A40 +04A0 +0920 +ENDCHAR +STARTCHAR U_7549 +ENCODING 30025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +AFC0 +A900 +F900 +AFE0 +A900 +FA80 +0480 +0840 +1020 +ENDCHAR +STARTCHAR U_754A +ENCODING 30026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FA40 +AFE0 +AA40 +FA40 +AFE0 +AA40 +FA40 +0240 +0440 +0840 +ENDCHAR +STARTCHAR U_754B +ENCODING 30027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +A9E0 +AB40 +FD40 +A940 +A940 +F940 +8880 +0340 +0C20 +ENDCHAR +STARTCHAR U_754C +ENCODING 30028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +7FC0 +0A00 +3180 +D160 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_754D +ENCODING 30029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +AA80 +AC60 +FA80 +AA80 +AA80 +FA80 +0280 +0480 +0880 +ENDCHAR +STARTCHAR U_754E +ENCODING 30030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +F920 +A900 +AFE0 +F900 +A900 +A900 +F900 +8A80 +0440 +0820 +ENDCHAR +STARTCHAR U_754F +ENCODING 30031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +2480 +3F80 +0000 +FFE0 +2440 +2280 +2900 +30E0 +ENDCHAR +STARTCHAR U_7550 +ENCODING 30032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +0000 +7F00 +4100 +7F00 +0000 +FF80 +8880 +FF80 +8880 +FF80 +ENDCHAR +STARTCHAR U_7551 +ENCODING 30033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +24A0 +6CA0 +74A0 +A7E0 +24A0 +34A0 +4CA0 +47E0 +8000 +ENDCHAR +STARTCHAR U_7552 +ENCODING 30034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FD00 +0100 +F900 +AA80 +FA80 +AA80 +FA40 +0460 +0840 +ENDCHAR +STARTCHAR U_7553 +ENCODING 30035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +7500 +1600 +2580 +D460 +0800 +3F80 +2480 +3F80 +2480 +3F80 +ENDCHAR +STARTCHAR U_7554 +ENCODING 30036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FCA0 +AAC0 +A880 +FBE0 +A880 +AFE0 +F880 +8880 +0080 +0080 +ENDCHAR +STARTCHAR U_7555 +ENCODING 30037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +4900 +7F00 +4900 +7F00 +0000 +FF80 +8880 +FF80 +8880 +FF80 +ENDCHAR +STARTCHAR U_7556 +ENCODING 30038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +AE80 +AA80 +FA80 +AA80 +AA80 +FA40 +0B40 +0AC0 +1360 +2040 +ENDCHAR +STARTCHAR U_7557 +ENCODING 30039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +0000 +3F80 +2080 +7FC0 +4440 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7558 +ENCODING 30040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +AFC0 +AD40 +FFC0 +AD40 +AFE0 +FC40 +0440 +0540 +0480 +ENDCHAR +STARTCHAR U_7559 +ENCODING 30041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3000 +C7C0 +9240 +B240 +D540 +8880 +7F80 +4880 +7F80 +4880 +7F80 +ENDCHAR +STARTCHAR U_755A +ENCODING 30042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1100 +3F80 +0800 +FFE0 +2100 +FFE0 +2480 +3F80 +2480 +3F80 +ENDCHAR +STARTCHAR U_755B +ENCODING 30043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F980 +AA40 +ACA0 +F900 +AE40 +A980 +FE20 +8840 +0180 +0600 +ENDCHAR +STARTCHAR U_755C +ENCODING 30044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0880 +3F00 +0440 +7FE0 +2240 +3FC0 +2240 +3FC0 +2040 +ENDCHAR +STARTCHAR U_755D +ENCODING 30045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FFC0 +0240 +FC40 +A880 +A880 +F940 +AA40 +FC20 +8820 +ENDCHAR +STARTCHAR U_755E +ENCODING 30046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0500 +FDC0 +AD40 +FE40 +AC80 +AD40 +FE20 +0420 +0400 +ENDCHAR +STARTCHAR U_755F +ENCODING 30047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +4880 +7F80 +4880 +7F80 +2100 +D0C0 +3F00 +5200 +0C00 +F3C0 +ENDCHAR +STARTCHAR U_7560 +ENCODING 30048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +7F00 +4100 +7F00 +4100 +7F00 +FF80 +8880 +FF80 +8880 +FF80 +ENDCHAR +STARTCHAR U_7561 +ENCODING 30049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +A900 +AA40 +FFC0 +A880 +A920 +FA40 +0080 +0360 +0C20 +ENDCHAR +STARTCHAR U_7562 +ENCODING 30050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +7FC0 +2480 +FFE0 +2480 +7FC0 +0400 +0400 +ENDCHAR +STARTCHAR U_7563 +ENCODING 30051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1100 +2E80 +C060 +1F00 +1100 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7564 +ENCODING 30052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FBE0 +A880 +AFE0 +F840 +A840 +AFE0 +FA40 +8940 +0040 +01C0 +ENDCHAR +STARTCHAR U_7565 +ENCODING 30053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBC0 +AE40 +A980 +FA40 +AC20 +ABC0 +AA40 +FA40 +8BC0 +0240 +ENDCHAR +STARTCHAR U_7566 +ENCODING 30054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +AFC0 +A900 +FFE0 +A900 +A900 +FFC0 +8900 +0100 +0FE0 +ENDCHAR +STARTCHAR U_7567 +ENCODING 30055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +8880 +FF80 +8880 +FF80 +3F00 +D200 +0C00 +FFC0 +2100 +3F00 +ENDCHAR +STARTCHAR U_7568 +ENCODING 30056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2500 +1600 +FFE0 +1500 +64E0 +3F80 +2480 +3F80 +2480 +3F80 +ENDCHAR +STARTCHAR U_7569 +ENCODING 30057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F900 +AFE0 +A900 +F920 +AAC0 +AE80 +FA80 +0240 +0320 +0200 +ENDCHAR +STARTCHAR U_756A +ENCODING 30058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +2480 +1500 +FFE0 +2480 +4440 +BFE0 +2440 +3FC0 +2440 +3FC0 +ENDCHAR +STARTCHAR U_756B +ENCODING 30059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0480 +FFE0 +0480 +7F80 +0400 +FFE0 +2480 +3F80 +2480 +FFE0 +ENDCHAR +STARTCHAR U_756C +ENCODING 30060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1100 +EEE0 +0400 +FFE0 +2480 +FFE0 +2440 +3FC0 +2440 +3FC0 +ENDCHAR +STARTCHAR U_756D +ENCODING 30061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +AC40 +ABA0 +F900 +AFE0 +A900 +FD40 +0920 +1520 +0200 +ENDCHAR +STARTCHAR U_756E +ENCODING 30062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBE0 +AC00 +ABE0 +FAA0 +AFE0 +AB20 +FAA0 +03E0 +0140 +0080 +ENDCHAR +STARTCHAR U_756F +ENCODING 30063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA40 +AFE0 +AA40 +FD20 +ABE0 +AA20 +FE40 +8980 +0240 +0420 +ENDCHAR +STARTCHAR U_7570 +ENCODING 30064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +7FC0 +1100 +FFC0 +1100 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7571 +ENCODING 30065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7BC0 +4A40 +7BC0 +0A00 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7572 +ENCODING 30066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1100 +EEE0 +0000 +FFE0 +2480 +7FE0 +A440 +3FC0 +2440 +3FC0 +ENDCHAR +STARTCHAR U_7573 +ENCODING 30067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +2480 +FFE0 +8020 +9F40 +1500 +1B00 +1500 +7FE0 +ENDCHAR +STARTCHAR U_7574 +ENCODING 30068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +A900 +AFC0 +F900 +AFE0 +AA40 +FFE0 +8A40 +1140 +0080 +ENDCHAR +STARTCHAR U_7575 +ENCODING 30069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0480 +FFE0 +0480 +3F80 +0400 +FFE0 +1500 +5F40 +5540 +7FC0 +ENDCHAR +STARTCHAR U_7576 +ENCODING 30070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +FFE0 +8020 +9F20 +1100 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7577 +ENCODING 30071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FAA0 +AA40 +ACA0 +F900 +AFE0 +A920 +FDA0 +8A40 +0540 +08A0 +ENDCHAR +STARTCHAR U_7578 +ENCODING 30072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +AA80 +AC40 +FFE0 +A820 +ABA0 +FAA0 +8BA0 +0020 +00E0 +ENDCHAR +STARTCHAR U_7579 +ENCODING 30073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +AE20 +AA00 +FBE0 +ACA0 +AAA0 +F9E0 +8A80 +04A0 +18E0 +ENDCHAR +STARTCHAR U_757A +ENCODING 30074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +2480 +3F80 +2480 +FFE0 +0000 +3F80 +2480 +3F80 +2480 +FFE0 +ENDCHAR +STARTCHAR U_757B +ENCODING 30075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0520 +FB40 +AFE0 +A900 +AFE0 +FA80 +AD40 +A920 +FFC0 +0100 +0FE0 +ENDCHAR +STARTCHAR U_757C +ENCODING 30076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FA40 +ABC0 +AA40 +AFE0 +F900 +ABE0 +AAA0 +FD60 +02A0 +0160 +ENDCHAR +STARTCHAR U_757D +ENCODING 30077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +F880 +AFE0 +AAA0 +FBE0 +AAA0 +ABE0 +F880 +8BE0 +0080 +07E0 +ENDCHAR +STARTCHAR U_757E +ENCODING 30078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +2480 +3F80 +0000 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +ENDCHAR +STARTCHAR U_757F +ENCODING 30079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AA80 +EB80 +5940 +AA80 +FFE0 +0400 +FA80 +AB00 +F920 +AAA0 +FC60 +ENDCHAR +STARTCHAR U_7580 +ENCODING 30080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +5480 +ABE0 +54A0 +57E0 +F8A0 +ABE0 +F880 +AAE0 +FA80 +8DE0 +ENDCHAR +STARTCHAR U_7581 +ENCODING 30081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FDA0 +AB60 +ADA0 +F900 +AA80 +AD60 +AA80 +F940 +0080 +0700 +ENDCHAR +STARTCHAR U_7582 +ENCODING 30082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +2480 +3F80 +1100 +7FC0 +5540 +1B00 +1500 +FFE0 +ENDCHAR +STARTCHAR U_7583 +ENCODING 30083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FFE0 +A940 +A880 +FFE0 +AAA0 +ABE0 +FAA0 +8FE0 +0080 +0FE0 +ENDCHAR +STARTCHAR U_7584 +ENCODING 30084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0520 +FB40 +AFE0 +AB40 +FD20 +AA40 +AFE0 +F940 +8FE0 +0240 +0C40 +ENDCHAR +STARTCHAR U_7585 +ENCODING 30085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +02A0 +FBE0 +AAA0 +ABE0 +F800 +AFE0 +AAA0 +FBE0 +02A0 +07E0 +ENDCHAR +STARTCHAR U_7586 +ENCODING 30086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1540 +F7C0 +8540 +F7C0 +5000 +FFE0 +5540 +F7C0 +9540 +6FE0 +ENDCHAR +STARTCHAR U_7587 +ENCODING 30087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +A900 +AFE0 +F920 +AFE0 +A840 +FFE0 +8B40 +0E40 +00C0 +ENDCHAR +STARTCHAR U_7588 +ENCODING 30088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0200 +72E0 +5AA0 +76E0 +0200 +FBE0 +AAA0 +FBE0 +AAA0 +FDE0 +ENDCHAR +STARTCHAR U_7589 +ENCODING 30089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +2480 +FFE0 +AAA0 +FFE0 +0800 +1F00 +0200 +FFE0 +ENDCHAR +STARTCHAR U_758A +ENCODING 30090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +7FC0 +5540 +7FC0 +5540 +FFE0 +A0A0 +3F80 +2080 +FFE0 +ENDCHAR +STARTCHAR U_758B +ENCODING 30091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0220 +0240 +0200 +1200 +13E0 +1200 +1200 +2A00 +4600 +83E0 +ENDCHAR +STARTCHAR U_758C +ENCODING 30092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +0480 +FFE0 +0480 +3F80 +27C0 +5400 +8FE0 +ENDCHAR +STARTCHAR U_758D +ENCODING 30093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0440 +2780 +3400 +4FE0 +8000 +3F80 +2080 +3F80 +2080 +FFE0 +ENDCHAR +STARTCHAR U_758E +ENCODING 30094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +1100 +27C0 +A540 +B7C0 +A300 +B380 +C540 +0920 +0100 +ENDCHAR +STARTCHAR U_758F +ENCODING 30095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +1100 +2240 +A7A0 +B820 +A540 +A540 +B540 +E940 +1160 +ENDCHAR +STARTCHAR U_7590 +ENCODING 30096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +3F80 +2480 +FFE0 +0420 +2780 +5400 +8FE0 +ENDCHAR +STARTCHAR U_7591 +ENCODING 30097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +6140 +4880 +7FE0 +40A0 +7A80 +A2E0 +FA80 +2280 +5580 +88E0 +ENDCHAR +STARTCHAR U_7592 +ENCODING 30098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +1FE0 +9000 +5000 +3000 +5000 +9000 +1000 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_7593 +ENCODING 30099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2480 +65C0 +A440 +2440 +2840 +4940 +9080 +ENDCHAR +STARTCHAR U_7594 +ENCODING 30100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +1FE0 +9000 +5FE0 +1100 +3100 +D100 +1100 +2900 +4500 +8200 +ENDCHAR +STARTCHAR U_7595 +ENCODING 30101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +1FE0 +9000 +5400 +1440 +3480 +D700 +1400 +2420 +4420 +83E0 +ENDCHAR +STARTCHAR U_7596 +ENCODING 30102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2220 +2220 +6220 +A2E0 +2240 +4200 +8200 +ENDCHAR +STARTCHAR U_7597 +ENCODING 30103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2040 +6180 +A100 +2100 +2100 +4100 +8700 +ENDCHAR +STARTCHAR U_7598 +ENCODING 30104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +1FE0 +9000 +5000 +17C0 +3100 +5100 +9100 +2100 +4100 +8FE0 +ENDCHAR +STARTCHAR U_7599 +ENCODING 30105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +67E0 +2800 +6780 +A100 +2200 +2420 +4820 +87E0 +ENDCHAR +STARTCHAR U_759A +ENCODING 30106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +6400 +2780 +6880 +B080 +2100 +2280 +4440 +9820 +ENDCHAR +STARTCHAR U_759B +ENCODING 30107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6080 +2FE0 +6080 +AC80 +2280 +2080 +4280 +8100 +ENDCHAR +STARTCHAR U_759C +ENCODING 30108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +AFE0 +6200 +2280 +6240 +A240 +2200 +4200 +8200 +ENDCHAR +STARTCHAR U_759D +ENCODING 30109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6100 +2920 +6920 +A920 +2920 +2920 +4FE0 +8820 +ENDCHAR +STARTCHAR U_759E +ENCODING 30110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2000 +7FE0 +A400 +27C0 +4040 +4280 +8100 +ENDCHAR +STARTCHAR U_759F +ENCODING 30111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +67C0 +2400 +6400 +BFE0 +2400 +2400 +47E0 +8400 +ENDCHAR +STARTCHAR U_75A0 +ENCODING 30112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +1FE0 +9000 +5FE0 +1200 +33C0 +D240 +1240 +2440 +4940 +9080 +ENDCHAR +STARTCHAR U_75A1 +ENCODING 30113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6F80 +2200 +6FE0 +A2A0 +24A0 +3920 +4220 +8CC0 +ENDCHAR +STARTCHAR U_75A2 +ENCODING 30114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6100 +2540 +6540 +A980 +2100 +2280 +4440 +8820 +ENDCHAR +STARTCHAR U_75A3 +ENCODING 30115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A280 +6240 +3FE0 +6200 +A200 +2500 +2520 +4920 +90E0 +ENDCHAR +STARTCHAR U_75A4 +ENCODING 30116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2940 +6940 +AFC0 +2800 +2820 +4820 +8FE0 +ENDCHAR +STARTCHAR U_75A5 +ENCODING 30117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6280 +2440 +7820 +A480 +2480 +2480 +4880 +9080 +ENDCHAR +STARTCHAR U_75A6 +ENCODING 30118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FE0 +A200 +6FC0 +2240 +6240 +BFE0 +2500 +4880 +5060 +A040 +ENDCHAR +STARTCHAR U_75A7 +ENCODING 30119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A0C0 +6F00 +2900 +2FE0 +6900 +A900 +28A0 +4E60 +9820 +ENDCHAR +STARTCHAR U_75A8 +ENCODING 30120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2500 +6900 +BFE0 +2500 +4900 +5500 +8200 +ENDCHAR +STARTCHAR U_75A9 +ENCODING 30121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FE0 +A200 +6F80 +24A0 +68E0 +A200 +3FE0 +4200 +4200 +8200 +ENDCHAR +STARTCHAR U_75AA +ENCODING 30122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6920 +2940 +6D80 +A900 +2900 +2B20 +4D20 +88E0 +ENDCHAR +STARTCHAR U_75AB +ENCODING 30123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6780 +2480 +68E0 +A000 +2FC0 +2480 +4300 +9CE0 +ENDCHAR +STARTCHAR U_75AC +ENCODING 30124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2900 +6FE0 +A920 +2920 +2920 +4A20 +94C0 +ENDCHAR +STARTCHAR U_75AD +ENCODING 30125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +6480 +2480 +6480 +AB40 +2940 +4A40 +5220 +A420 +ENDCHAR +STARTCHAR U_75AE +ENCODING 30126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6280 +2440 +6FA0 +B480 +2480 +2520 +4420 +83E0 +ENDCHAR +STARTCHAR U_75AF +ENCODING 30127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2840 +6D40 +AA40 +2940 +2AE0 +4C20 +9020 +ENDCHAR +STARTCHAR U_75B0 +ENCODING 30128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +6100 +2FE0 +6100 +A100 +27C0 +2100 +4100 +9FE0 +ENDCHAR +STARTCHAR U_75B1 +ENCODING 30129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +67C0 +2840 +7740 +A540 +2740 +25A0 +4420 +83E0 +ENDCHAR +STARTCHAR U_75B2 +ENCODING 30130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2940 +6900 +AFC0 +2A40 +2980 +4A40 +9420 +ENDCHAR +STARTCHAR U_75B3 +ENCODING 30131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A440 +6440 +3FE0 +6440 +A7C0 +2440 +2440 +47C0 +8440 +ENDCHAR +STARTCHAR U_75B4 +ENCODING 30132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2040 +6F40 +A940 +2F40 +2940 +4040 +81C0 +ENDCHAR +STARTCHAR U_75B5 +ENCODING 30133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6280 +2AA0 +6BC0 +AA80 +2A80 +2AA0 +4BA0 +9CE0 +ENDCHAR +STARTCHAR U_75B6 +ENCODING 30134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AA80 +6A80 +3FE0 +6A80 +AA80 +2B80 +2A80 +4800 +8FE0 +ENDCHAR +STARTCHAR U_75B7 +ENCODING 30135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +60C0 +2F00 +6900 +AFE0 +2900 +4900 +4AA0 +8D60 +ENDCHAR +STARTCHAR U_75B8 +ENCODING 30136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2840 +6FC0 +A840 +2FC0 +2840 +4000 +9FE0 +ENDCHAR +STARTCHAR U_75B9 +ENCODING 30137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +BFE0 +6300 +2480 +2960 +7200 +AC80 +2320 +2C40 +4080 +8F00 +ENDCHAR +STARTCHAR U_75BA +ENCODING 30138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +61C0 +3E00 +6200 +BFC0 +2100 +2200 +4C00 +93E0 +ENDCHAR +STARTCHAR U_75BB +ENCODING 30139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2840 +6840 +AFC0 +2840 +2480 +4840 +9020 +ENDCHAR +STARTCHAR U_75BC +ENCODING 30140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +67C0 +2A80 +7100 +A680 +3960 +2080 +4200 +8180 +ENDCHAR +STARTCHAR U_75BD +ENCODING 30141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +67C0 +2440 +67C0 +A440 +27C0 +2440 +4440 +9FE0 +ENDCHAR +STARTCHAR U_75BE +ENCODING 30142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +67E0 +2900 +6100 +BFE0 +2100 +2280 +4440 +9820 +ENDCHAR +STARTCHAR U_75BF +ENCODING 30143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A500 +7FC0 +2540 +7FC0 +B500 +3FE0 +2520 +49C0 +9100 +ENDCHAR +STARTCHAR U_75C0 +ENCODING 30144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +67E0 +2820 +77A0 +A4A0 +27A0 +24A0 +4020 +80C0 +ENDCHAR +STARTCHAR U_75C1 +ENCODING 30145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6200 +23E0 +6200 +AFC0 +2840 +2840 +4FC0 +8840 +ENDCHAR +STARTCHAR U_75C2 +ENCODING 30146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A800 +68E0 +3EA0 +6AA0 +AAA0 +2AA0 +2AA0 +52E0 +A6A0 +ENDCHAR +STARTCHAR U_75C3 +ENCODING 30147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2200 +6440 +AF80 +2100 +2240 +4FA0 +8420 +ENDCHAR +STARTCHAR U_75C4 +ENCODING 30148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +67E0 +2A00 +73C0 +A200 +23C0 +2200 +4200 +8200 +ENDCHAR +STARTCHAR U_75C5 +ENCODING 30149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +7FE0 +2100 +6FE0 +A920 +2AA0 +2C60 +4820 +88E0 +ENDCHAR +STARTCHAR U_75C6 +ENCODING 30150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2840 +6FC0 +A800 +2A60 +4B80 +5220 +A1E0 +ENDCHAR +STARTCHAR U_75C7 +ENCODING 30151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2100 +6100 +A9C0 +2900 +2900 +4900 +9FE0 +ENDCHAR +STARTCHAR U_75C8 +ENCODING 30152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2920 +6FE0 +A920 +2920 +2FE0 +4920 +9160 +ENDCHAR +STARTCHAR U_75C9 +ENCODING 30153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +7F80 +2100 +6680 +B860 +2FC0 +2100 +4100 +9FE0 +ENDCHAR +STARTCHAR U_75CA +ENCODING 30154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A300 +6480 +2840 +77E0 +A100 +27C0 +2100 +4100 +9FE0 +ENDCHAR +STARTCHAR U_75CB +ENCODING 30155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6100 +2FC0 +6940 +AFC0 +2940 +2140 +5FA0 +8820 +ENDCHAR +STARTCHAR U_75CC +ENCODING 30156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2820 +6BA0 +A820 +2BA0 +2AA0 +4BA0 +8860 +ENDCHAR +STARTCHAR U_75CD +ENCODING 30157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +7FE0 +2140 +6FC0 +A900 +2FE0 +2160 +4280 +9C60 +ENDCHAR +STARTCHAR U_75CE +ENCODING 30158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7FE0 +2480 +6900 +AE40 +2280 +2D80 +4240 +9C20 +ENDCHAR +STARTCHAR U_75CF +ENCODING 30159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7FE0 +2400 +67C0 +AC40 +37C0 +2440 +47C0 +8440 +ENDCHAR +STARTCHAR U_75D0 +ENCODING 30160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2820 +6BA0 +AAA0 +2BA0 +2820 +4FE0 +8820 +ENDCHAR +STARTCHAR U_75D1 +ENCODING 30161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +6780 +2D00 +6280 +BDE0 +2240 +2D80 +4100 +9E00 +ENDCHAR +STARTCHAR U_75D2 +ENCODING 30162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A440 +6280 +2FE0 +6100 +A7C0 +2100 +2FE0 +4100 +8100 +ENDCHAR +STARTCHAR U_75D3 +ENCODING 30163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +BFC0 +6200 +2480 +6FC0 +A200 +2FC0 +4200 +9FE0 +ENDCHAR +STARTCHAR U_75D4 +ENCODING 30164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7FC0 +2200 +7FE0 +A080 +3FE0 +2880 +4480 +8100 +ENDCHAR +STARTCHAR U_75D5 +ENCODING 30165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2840 +6FC0 +A840 +2FE0 +2940 +4A80 +8C60 +ENDCHAR +STARTCHAR U_75D6 +ENCODING 30166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2500 +7520 +B520 +2D40 +2500 +4500 +9FE0 +ENDCHAR +STARTCHAR U_75D7 +ENCODING 30167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A800 +6FE0 +3540 +6540 +BFE0 +2940 +2FE0 +4040 +8180 +ENDCHAR +STARTCHAR U_75D8 +ENCODING 30168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2000 +67C0 +A440 +27C0 +2440 +4280 +9FE0 +ENDCHAR +STARTCHAR U_75D9 +ENCODING 30169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2540 +6A80 +A540 +2FE0 +2100 +4100 +9FE0 +ENDCHAR +STARTCHAR U_75DA +ENCODING 30170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AF40 +6280 +3FE0 +6200 +AFC0 +3080 +3FE0 +4100 +8300 +ENDCHAR +STARTCHAR U_75DB +ENCODING 30171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2280 +6FE0 +A920 +2FE0 +2920 +4FE0 +8920 +ENDCHAR +STARTCHAR U_75DC +ENCODING 30172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +AF80 +6200 +3FE0 +6A80 +B260 +2F00 +4920 +90E0 +ENDCHAR +STARTCHAR U_75DD +ENCODING 30173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A900 +6880 +3FE0 +6D40 +AEA0 +2D40 +2EA0 +5520 +A3E0 +ENDCHAR +STARTCHAR U_75DE +ENCODING 30174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +7FE0 +2300 +6540 +A920 +3FC0 +2840 +4840 +8FC0 +ENDCHAR +STARTCHAR U_75DF +ENCODING 30175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A920 +6540 +2FC0 +6840 +AFC0 +2840 +2FC0 +4840 +88C0 +ENDCHAR +STARTCHAR U_75E0 +ENCODING 30176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A440 +7FA0 +2480 +7A40 +A7A0 +2C80 +3480 +4300 +9CE0 +ENDCHAR +STARTCHAR U_75E1 +ENCODING 30177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A140 +7FE0 +2100 +6FE0 +A920 +2FE0 +2920 +6FE0 +8920 +ENDCHAR +STARTCHAR U_75E2 +ENCODING 30178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6E20 +24A0 +7FA0 +A4A0 +2EA0 +35A0 +4420 +84E0 +ENDCHAR +STARTCHAR U_75E3 +ENCODING 30179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2100 +67C0 +A200 +2540 +2C20 +54A0 +8380 +ENDCHAR +STARTCHAR U_75E4 +ENCODING 30180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6A40 +2A40 +76A0 +A200 +3FC0 +2200 +4200 +BFE0 +ENDCHAR +STARTCHAR U_75E5 +ENCODING 30181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A880 +6500 +2FC0 +6840 +AFC0 +2500 +4500 +4920 +90E0 +ENDCHAR +STARTCHAR U_75E6 +ENCODING 30182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2200 +6FC0 +A440 +3FE0 +2840 +4FC0 +8840 +ENDCHAR +STARTCHAR U_75E7 +ENCODING 30183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A880 +74C0 +29A0 +6680 +A8A0 +3840 +2880 +4900 +8600 +ENDCHAR +STARTCHAR U_75E8 +ENCODING 30184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +A280 +6FE0 +2280 +6FE0 +A920 +27C0 +2240 +4440 +9980 +ENDCHAR +STARTCHAR U_75E9 +ENCODING 30185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FE0 +2200 +AFC0 +6A40 +2FC0 +6A40 +AFC0 +2480 +4300 +9CC0 +ENDCHAR +STARTCHAR U_75EA +ENCODING 30186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +6780 +2500 +6FC0 +B540 +2540 +3FE0 +4280 +8C60 +ENDCHAR +STARTCHAR U_75EB +ENCODING 30187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +BFE0 +6800 +25E0 +2920 +6FE0 +A920 +2BA0 +4D60 +4920 +8960 +ENDCHAR +STARTCHAR U_75EC +ENCODING 30188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A880 +6F80 +2880 +6F80 +A400 +2FC0 +5540 +4B40 +8480 +ENDCHAR +STARTCHAR U_75ED +ENCODING 30189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6EE0 +2AA0 +6EE0 +AAA0 +2EE0 +2AA0 +52A0 +A760 +ENDCHAR +STARTCHAR U_75EE +ENCODING 30190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +67C0 +2400 +6780 +A400 +3FE0 +2940 +4880 +8C60 +ENDCHAR +STARTCHAR U_75EF +ENCODING 30191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2820 +67C0 +A440 +27E0 +2420 +47E0 +8420 +ENDCHAR +STARTCHAR U_75F0 +ENCODING 30192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A520 +69C0 +2280 +6D60 +A540 +2980 +2280 +4440 +9820 +ENDCHAR +STARTCHAR U_75F1 +ENCODING 30193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +6480 +3CE0 +6480 +BCE0 +2480 +3CE0 +4480 +8480 +ENDCHAR +STARTCHAR U_75F2 +ENCODING 30194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A880 +7FE0 +2880 +6AA0 +AAA0 +2AA0 +2AA0 +4880 +8880 +ENDCHAR +STARTCHAR U_75F3 +ENCODING 30195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A880 +7FE0 +2880 +6CC0 +BAA0 +29A0 +2AA0 +4880 +8880 +ENDCHAR +STARTCHAR U_75F4 +ENCODING 30196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A800 +6EE0 +34A0 +64A0 +BFA0 +24A0 +2AA0 +52E0 +A000 +ENDCHAR +STARTCHAR U_75F5 +ENCODING 30197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A380 +6100 +3FE0 +6940 +B7A0 +2100 +3FE0 +4100 +8700 +ENDCHAR +STARTCHAR U_75F6 +ENCODING 30198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A280 +6FE0 +2AA0 +6FE0 +AAA0 +2AA0 +3FE0 +4480 +9860 +ENDCHAR +STARTCHAR U_75F7 +ENCODING 30199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7FE0 +2A80 +7FC0 +AAA0 +2F80 +2AA0 +6FA0 +81E0 +ENDCHAR +STARTCHAR U_75F8 +ENCODING 30200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +B400 +7F20 +24A0 +7FA0 +A4A0 +3FA0 +35A0 +5720 +8460 +ENDCHAR +STARTCHAR U_75F9 +ENCODING 30201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2940 +6FC0 +A940 +3FE0 +2480 +4880 +9080 +ENDCHAR +STARTCHAR U_75FA +ENCODING 30202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +6FE0 +2920 +6FE0 +A920 +2FE0 +2500 +7FE0 +8100 +ENDCHAR +STARTCHAR U_75FB +ENCODING 30203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A040 +6F80 +2880 +6FE0 +B880 +2860 +2FC0 +4840 +8FC0 +ENDCHAR +STARTCHAR U_75FC +ENCODING 30204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +A000 +6FE0 +2920 +6FE0 +A920 +2AA0 +2BA0 +4820 +8FE0 +ENDCHAR +STARTCHAR U_75FD +ENCODING 30205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A500 +6FE0 +2900 +7FC0 +A900 +2FC0 +2900 +4FE0 +8800 +ENDCHAR +STARTCHAR U_75FE +ENCODING 30206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +AFE0 +6A40 +2DC0 +6A40 +AA40 +2BC0 +4C40 +88C0 +ENDCHAR +STARTCHAR U_75FF +ENCODING 30207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A040 +6F80 +2100 +7FE0 +A940 +3FE0 +2480 +4300 +9CE0 +ENDCHAR +STARTCHAR U_7600 +ENCODING 30208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +2400 +A440 +7EA0 +2920 +6E00 +AA40 +2A20 +2A80 +5240 +ENDCHAR +STARTCHAR U_7601 +ENCODING 30209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2440 +6AA0 +B100 +2100 +3FE0 +4100 +8100 +ENDCHAR +STARTCHAR U_7602 +ENCODING 30210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +BFC0 +6500 +6DC0 +A840 +2DC0 +4500 +4500 +BFE0 +ENDCHAR +STARTCHAR U_7603 +ENCODING 30211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +A000 +7FE0 +2940 +7A80 +A580 +2AC0 +24A0 +48A0 +9300 +ENDCHAR +STARTCHAR U_7604 +ENCODING 30212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +6FC0 +2480 +7FE0 +A000 +2FC0 +4940 +4A40 +8FC0 +ENDCHAR +STARTCHAR U_7605 +ENCODING 30213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A440 +6280 +2FC0 +6940 +AFC0 +2940 +3FE0 +4100 +8100 +ENDCHAR +STARTCHAR U_7606 +ENCODING 30214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4900 +5F80 +C400 +7FC0 +D480 +6A60 +4500 +4200 +9C00 +ENDCHAR +STARTCHAR U_7607 +ENCODING 30215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2000 +AFC0 +6200 +3FE0 +6A40 +AA40 +2FE0 +4200 +BFE0 +ENDCHAR +STARTCHAR U_7608 +ENCODING 30216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +7FE0 +24A0 +7F20 +A440 +3FE0 +2200 +4D80 +B060 +ENDCHAR +STARTCHAR U_7609 +ENCODING 30217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A280 +6440 +2BA0 +7E00 +B2A0 +3EA0 +32A0 +5E20 +92E0 +ENDCHAR +STARTCHAR U_760A +ENCODING 30218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A5C0 +6840 +2FE0 +7A00 +ABC0 +2C80 +2FE0 +4940 +8E20 +ENDCHAR +STARTCHAR U_760B +ENCODING 30219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FC0 +2A40 +6FC0 +AAC0 +2FC0 +2A60 +53A0 +AEA0 +ENDCHAR +STARTCHAR U_760C +ENCODING 30220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A800 +7E20 +28A0 +7EA0 +AAA0 +3EA0 +2CA0 +5A20 +A960 +ENDCHAR +STARTCHAR U_760D +ENCODING 30221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A440 +67C0 +2440 +7FE0 +A400 +2FE0 +32A0 +4520 +8A60 +ENDCHAR +STARTCHAR U_760E +ENCODING 30222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2480 +AFC0 +6480 +2780 +6480 +BFE0 +2A80 +4C40 +8FE0 +ENDCHAR +STARTCHAR U_760F +ENCODING 30223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +6FA0 +2240 +7FE0 +A440 +2FC0 +3440 +47C0 +8440 +ENDCHAR +STARTCHAR U_7610 +ENCODING 30224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6DE0 +2920 +6FE0 +A920 +2FE0 +2280 +4440 +9820 +ENDCHAR +STARTCHAR U_7611 +ENCODING 30225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +A000 +67C0 +2440 +6740 +AFE0 +2820 +2BA0 +4AA0 +8BA0 +ENDCHAR +STARTCHAR U_7612 +ENCODING 30226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +7FE0 +3220 +6FC0 +AA40 +2FC0 +2A40 +5FE0 +8200 +ENDCHAR +STARTCHAR U_7613 +ENCODING 30227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +6900 +3FE0 +6AA0 +AC60 +2920 +3FE0 +4480 +9860 +ENDCHAR +STARTCHAR U_7614 +ENCODING 30228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +7FE0 +2680 +7FE0 +A200 +2FC0 +2840 +4FC0 +8840 +ENDCHAR +STARTCHAR U_7615 +ENCODING 30229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +A000 +6EE0 +2A20 +6EE0 +A800 +2EE0 +28A0 +4E40 +88A0 +ENDCHAR +STARTCHAR U_7616 +ENCODING 30230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2280 +7FE0 +A440 +27C0 +2440 +47C0 +8440 +ENDCHAR +STARTCHAR U_7617 +ENCODING 30231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2540 +6FE0 +A280 +2D60 +27C0 +4100 +9FE0 +ENDCHAR +STARTCHAR U_7618 +ENCODING 30232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +B240 +6A80 +3FE0 +6A80 +B240 +3FE0 +2480 +4380 +9C60 +ENDCHAR +STARTCHAR U_7619 +ENCODING 30233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +AA40 +6540 +2B80 +6540 +AFE0 +2940 +2FC0 +4140 +9FA0 +ENDCHAR +STARTCHAR U_761A +ENCODING 30234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AA80 +6480 +3FE0 +6AA0 +AA80 +3E80 +2880 +5140 +A220 +ENDCHAR +STARTCHAR U_761B +ENCODING 30235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A800 +7FE0 +28A0 +7EA0 +A920 +2A60 +3540 +54A0 +A3A0 +ENDCHAR +STARTCHAR U_761C +ENCODING 30236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +6FC0 +2840 +6FC0 +A840 +2FC0 +3540 +54A0 +A3A0 +ENDCHAR +STARTCHAR U_761D +ENCODING 30237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2AA0 +6FE0 +A540 +2920 +2580 +4940 +9120 +ENDCHAR +STARTCHAR U_761E +ENCODING 30238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7FE0 +2A40 +75A0 +AA80 +3240 +3FC0 +4200 +9FE0 +ENDCHAR +STARTCHAR U_761F +ENCODING 30239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6F80 +2880 +6F80 +A880 +3FC0 +3540 +5540 +BFE0 +ENDCHAR +STARTCHAR U_7620 +ENCODING 30240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +B240 +6AC0 +3520 +6FE0 +B840 +2FC0 +2840 +4FC0 +88C0 +ENDCHAR +STARTCHAR U_7621 +ENCODING 30241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A500 +6A80 +3FE0 +6840 +AFC0 +2840 +2FE0 +5420 +A7E0 +ENDCHAR +STARTCHAR U_7622 +ENCODING 30242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +A400 +6EE0 +2AA0 +6EA0 +AA00 +3FE0 +2AA0 +4E40 +93A0 +ENDCHAR +STARTCHAR U_7623 +ENCODING 30243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +6FC0 +2940 +6FC0 +A940 +2FC0 +25A0 +4940 +91E0 +ENDCHAR +STARTCHAR U_7624 +ENCODING 30244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +6FE0 +2AA0 +6B40 +AFE0 +2920 +2FE0 +4920 +8FE0 +ENDCHAR +STARTCHAR U_7625 +ENCODING 30245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A500 +7FE0 +2200 +6FC0 +A200 +3FE0 +2900 +5100 +8FE0 +ENDCHAR +STARTCHAR U_7626 +ENCODING 30246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A920 +6FE0 +2920 +6FE0 +A100 +2FC0 +2480 +4300 +8CE0 +ENDCHAR +STARTCHAR U_7627 +ENCODING 30247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A3C0 +6200 +2FE0 +6A40 +AFE0 +2A00 +2FE0 +5200 +A3E0 +ENDCHAR +STARTCHAR U_7628 +ENCODING 30248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +7FE0 +2840 +6F40 +ABC0 +2840 +3FE0 +4480 +9860 +ENDCHAR +STARTCHAR U_7629 +ENCODING 30249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +7FE0 +2200 +6480 +BB60 +2000 +2FC0 +4840 +8FC0 +ENDCHAR +STARTCHAR U_762A +ENCODING 30250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A400 +6FC0 +2840 +6FC0 +A840 +2FC0 +3920 +4A40 +8FC0 +ENDCHAR +STARTCHAR U_762B +ENCODING 30251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A140 +7DE0 +2540 +77E0 +A940 +29E0 +3540 +5540 +A5E0 +ENDCHAR +STARTCHAR U_762C +ENCODING 30252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4000 +DDC0 +4500 +5DC0 +D100 +5FE0 +4540 +5520 +8980 +ENDCHAR +STARTCHAR U_762D +ENCODING 30253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A280 +6FE0 +2AA0 +6FE0 +A000 +3FE0 +2580 +4940 +9320 +ENDCHAR +STARTCHAR U_762E +ENCODING 30254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2480 +AFC0 +6AA0 +7FE0 +AA80 +3540 +22A0 +4100 +8E00 +ENDCHAR +STARTCHAR U_762F +ENCODING 30255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +BFE0 +6880 +3FE0 +2880 +6FE0 +AA40 +2BE0 +2A40 +4AA0 +9520 +ENDCHAR +STARTCHAR U_7630 +ENCODING 30256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A920 +6FE0 +2920 +6FE0 +A280 +2540 +2FA0 +4540 +9B20 +ENDCHAR +STARTCHAR U_7631 +ENCODING 30257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2200 +BFE0 +6A80 +3540 +E880 +3260 +2500 +54A0 +A380 +ENDCHAR +STARTCHAR U_7632 +ENCODING 30258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A540 +6940 +36A0 +6880 +BA80 +2AE0 +2A80 +4D80 +88E0 +ENDCHAR +STARTCHAR U_7633 +ENCODING 30259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +AAA0 +6660 +3AA0 +6320 +BCE0 +2100 +2E60 +4080 +8F00 +ENDCHAR +STARTCHAR U_7634 +ENCODING 30260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +2280 +6FE0 +A440 +27C0 +2440 +6FE0 +8100 +ENDCHAR +STARTCHAR U_7635 +ENCODING 30261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A500 +6BE0 +36A0 +6A40 +A7E0 +2800 +3FE0 +4940 +B320 +ENDCHAR +STARTCHAR U_7636 +ENCODING 30262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +FE80 +48E0 +7F20 +EA80 +7E80 +5D40 +6B60 +8A40 +ENDCHAR +STARTCHAR U_7637 +ENCODING 30263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +FE80 +48E0 +7F20 +EAA0 +7E40 +5C40 +AAA0 +4920 +ENDCHAR +STARTCHAR U_7638 +ENCODING 30264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A800 +7EE0 +2AA0 +72E0 +AFE0 +2AA0 +2D60 +4AA0 +8C60 +ENDCHAR +STARTCHAR U_7639 +ENCODING 30265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4900 +D5E0 +7E20 +4920 +DEA0 +68A0 +5A20 +7EA0 +8040 +ENDCHAR +STARTCHAR U_763A +ENCODING 30266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A820 +6FE0 +2800 +6FE0 +A900 +2FE0 +2DA0 +5B60 +A960 +ENDCHAR +STARTCHAR U_763B +ENCODING 30267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2940 +BFE0 +6940 +2FC0 +6940 +BFE0 +2480 +4380 +8C40 +ENDCHAR +STARTCHAR U_763C +ENCODING 30268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +7FE0 +2FC0 +6840 +AFC0 +2840 +3FE0 +4280 +9C60 +ENDCHAR +STARTCHAR U_763D +ENCODING 30269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +7FE0 +2480 +6780 +AFC0 +2A40 +5FE0 +4200 +9FE0 +ENDCHAR +STARTCHAR U_763E +ENCODING 30270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +B9C0 +6A40 +2FE0 +7020 +AFE0 +2820 +3FE0 +6540 +A9E0 +ENDCHAR +STARTCHAR U_763F +ENCODING 30271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A220 +6AA0 +2AA0 +6540 +B220 +3FE0 +2900 +4700 +B8E0 +ENDCHAR +STARTCHAR U_7640 +ENCODING 30272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +7FC0 +2480 +7FE0 +AA40 +2FC0 +2A40 +6FC0 +9860 +ENDCHAR +STARTCHAR U_7641 +ENCODING 30273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AA00 +6BE0 +3640 +6BC0 +BA40 +2BC0 +2A40 +4980 +8E60 +ENDCHAR +STARTCHAR U_7642 +ENCODING 30274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7FE0 +34A0 +6FC0 +B8A0 +2F80 +2580 +4940 +B320 +ENDCHAR +STARTCHAR U_7643 +ENCODING 30275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A140 +6F40 +2AC0 +6D20 +AAE0 +2F40 +29E0 +4840 +8BE0 +ENDCHAR +STARTCHAR U_7644 +ENCODING 30276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A500 +6FC0 +3900 +6FC0 +A900 +2FE0 +4800 +9540 +24A0 +ENDCHAR +STARTCHAR U_7645 +ENCODING 30277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5540 +D540 +5DC0 +4500 +DFC0 +5240 +5FC0 +5240 +9FC0 +ENDCHAR +STARTCHAR U_7646 +ENCODING 30278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A440 +6EE0 +3540 +6AA0 +AFE0 +2A20 +2FC0 +4440 +9980 +ENDCHAR +STARTCHAR U_7647 +ENCODING 30279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AAA0 +6EE0 +2BA0 +6EE0 +ABA0 +2AA0 +2BA0 +4AA0 +8AE0 +ENDCHAR +STARTCHAR U_7648 +ENCODING 30280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AAA0 +6440 +3DE0 +6540 +AE20 +29E0 +2CA0 +4440 +9DA0 +ENDCHAR +STARTCHAR U_7649 +ENCODING 30281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AAA0 +6FE0 +2540 +67C0 +A540 +27C0 +2100 +5FE0 +8100 +ENDCHAR +STARTCHAR U_764A +ENCODING 30282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5880 +D540 +5BE0 +5480 +D5C0 +5800 +57E0 +5140 +93E0 +ENDCHAR +STARTCHAR U_764B +ENCODING 30283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4500 +DDC0 +5040 +5DC0 +C500 +7FE0 +4240 +AAA0 +2780 +ENDCHAR +STARTCHAR U_764C +ENCODING 30284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A000 +67C0 +2440 +6FE0 +AAA0 +2EE0 +2100 +4920 +8FE0 +ENDCHAR +STARTCHAR U_764D +ENCODING 30285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +FAE0 +5740 +5540 +FAE0 +5340 +5540 +9540 +B9E0 +ENDCHAR +STARTCHAR U_764E +ENCODING 30286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5540 +DDC0 +5540 +5FC0 +D540 +5740 +5540 +9740 +90C0 +ENDCHAR +STARTCHAR U_764F +ENCODING 30287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +DFC0 +5540 +7FE0 +C880 +4F80 +4D40 +7480 +8660 +ENDCHAR +STARTCHAR U_7650 +ENCODING 30288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A300 +6CC0 +3FE0 +6AA0 +AFE0 +2440 +27C0 +4440 +87C0 +ENDCHAR +STARTCHAR U_7651 +ENCODING 30289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +A280 +6FE0 +2AA0 +6FE0 +A800 +2FE0 +5540 +A480 +4660 +ENDCHAR +STARTCHAR U_7652 +ENCODING 30290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A300 +7CE0 +2EA0 +6AA0 +AEA0 +2A60 +2620 +54C0 +A7A0 +ENDCHAR +STARTCHAR U_7653 +ENCODING 30291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5A80 +EFE0 +50A0 +77A0 +D0A0 +55A0 +5540 +55A0 +9920 +ENDCHAR +STARTCHAR U_7654 +ENCODING 30292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7FE0 +2480 +7FE0 +A880 +2F80 +2540 +54A0 +93A0 +ENDCHAR +STARTCHAR U_7655 +ENCODING 30293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4200 +FFE0 +5280 +6C80 +D7C0 +6C80 +57C0 +5480 +A7E0 +ENDCHAR +STARTCHAR U_7656 +ENCODING 30294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +2040 +AFE0 +6AA0 +2E40 +69E0 +AE40 +4AE0 +5A40 +AE40 +ENDCHAR +STARTCHAR U_7657 +ENCODING 30295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7FE0 +3720 +6A80 +AFC0 +2A40 +2FC0 +4A40 +8FC0 +ENDCHAR +STARTCHAR U_7658 +ENCODING 30296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A480 +6FC0 +2480 +6FC0 +AA40 +3FE0 +3220 +5FA0 +9060 +ENDCHAR +STARTCHAR U_7659 +ENCODING 30297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A840 +6DC0 +2840 +6FC0 +A940 +2DC0 +2940 +4DC0 +8920 +ENDCHAR +STARTCHAR U_765A +ENCODING 30298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A780 +6900 +3FE0 +6D40 +AFE0 +2800 +2FC0 +5440 +A7C0 +ENDCHAR +STARTCHAR U_765B +ENCODING 30299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4200 +FFE0 +5540 +5740 +D040 +7FE0 +4A80 +5260 +8200 +ENDCHAR +STARTCHAR U_765C +ENCODING 30300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +A000 +7EE0 +32A0 +7E00 +ABE0 +2AA0 +3F40 +4AA0 +9120 +ENDCHAR +STARTCHAR U_765D +ENCODING 30301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5540 +D740 +5040 +5FC0 +C000 +7FE0 +4A80 +5240 +8600 +ENDCHAR +STARTCHAR U_765E +ENCODING 30302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A940 +7FE0 +2A20 +7EA0 +AAA0 +3EA0 +2AA0 +5D40 +AA20 +ENDCHAR +STARTCHAR U_765F +ENCODING 30303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A840 +6FC0 +2840 +6FC0 +A840 +3FE0 +3540 +5FC0 +9540 +ENDCHAR +STARTCHAR U_7660 +ENCODING 30304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A520 +7AC0 +3AC0 +6AA0 +AA40 +2FC0 +2840 +4FC0 +9040 +ENDCHAR +STARTCHAR U_7661 +ENCODING 30305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +3FE0 +AA00 +6DE0 +28A0 +6FE0 +B540 +3F40 +2560 +4AC0 +9160 +ENDCHAR +STARTCHAR U_7662 +ENCODING 30306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A500 +7FE0 +2200 +7FE0 +A8C0 +3FA0 +28A0 +4FC0 +9C60 +ENDCHAR +STARTCHAR U_7663 +ENCODING 30307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AB40 +7480 +3FE0 +6A80 +BFE0 +2A80 +3FE0 +4080 +9E80 +ENDCHAR +STARTCHAR U_7664 +ENCODING 30308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A880 +7540 +2FE0 +68A0 +AFA0 +28A0 +2FA0 +4AE0 +8D80 +ENDCHAR +STARTCHAR U_7665 +ENCODING 30309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +DA80 +6FE0 +54A0 +7FA0 +D4A0 +5FA0 +5440 +54A0 +9F20 +ENDCHAR +STARTCHAR U_7666 +ENCODING 30310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FC0 +4000 +DFC0 +5240 +5FC0 +C200 +5FC0 +5540 +4200 +BFE0 +ENDCHAR +STARTCHAR U_7667 +ENCODING 30311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4000 +DFE0 +5440 +5FE0 +D6C0 +5D60 +51C0 +A500 +5FE0 +ENDCHAR +STARTCHAR U_7668 +ENCODING 30312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6FE0 +39A0 +6540 +AFC0 +3900 +4FC0 +4900 +8FE0 +ENDCHAR +STARTCHAR U_7669 +ENCODING 30313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A140 +7FE0 +2520 +7FE0 +B520 +3FE0 +2D20 +57E0 +A620 +ENDCHAR +STARTCHAR U_766A +ENCODING 30314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A080 +7FE0 +2880 +7FE0 +AA40 +2FC0 +3A40 +4BC0 +8E60 +ENDCHAR +STARTCHAR U_766B +ENCODING 30315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4800 +FFE0 +5280 +5BE0 +D6A0 +52A0 +7EA0 +5540 +A220 +ENDCHAR +STARTCHAR U_766C +ENCODING 30316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A940 +7280 +3FE0 +6A80 +BFE0 +2A80 +3FE0 +5480 +AA80 +ENDCHAR +STARTCHAR U_766D +ENCODING 30317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AA40 +6FC0 +2A40 +6FC0 +AAA0 +3FE0 +2480 +4300 +9CE0 +ENDCHAR +STARTCHAR U_766E +ENCODING 30318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5D40 +D7E0 +5500 +5BE0 +D440 +57E0 +5D40 +56A0 +9BC0 +ENDCHAR +STARTCHAR U_766F +ENCODING 30319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +AEE0 +6AA0 +2EE0 +6500 +AFE0 +3900 +2FC0 +4900 +8FE0 +ENDCHAR +STARTCHAR U_7670 +ENCODING 30320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +6940 +D540 +7DE0 +4540 +FDE0 +5540 +7DE0 +A340 +BFE0 +ENDCHAR +STARTCHAR U_7671 +ENCODING 30321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +D540 +7F40 +55E0 +7F40 +C9E0 +7F40 +49E0 +7F40 +95E0 +ENDCHAR +STARTCHAR U_7672 +ENCODING 30322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A440 +7FE0 +2AA0 +6EE0 +AAA0 +2EE0 +3FA0 +4A40 +91A0 +ENDCHAR +STARTCHAR U_7673 +ENCODING 30323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4A80 +DFC0 +5540 +5FC0 +CA00 +4480 +4FC0 +4A80 +9240 +ENDCHAR +STARTCHAR U_7674 +ENCODING 30324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5240 +EFA0 +5240 +6FA0 +C500 +5FC0 +4200 +7FE0 +8200 +ENDCHAR +STARTCHAR U_7675 +ENCODING 30325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A940 +77E0 +2940 +7FE0 +B2A0 +2FC0 +2D40 +4AC0 +8D40 +ENDCHAR +STARTCHAR U_7676 +ENCODING 30326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 7 0 3 +BITMAP +0480 +7B00 +0A40 +4980 +3100 +2080 +C060 +ENDCHAR +STARTCHAR U_7677 +ENCODING 30327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +7B00 +4940 +3080 +2040 +DF20 +0400 +7FC0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_7678 +ENCODING 30328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E80 +0920 +2940 +1080 +2F40 +4420 +8400 +7FE0 +0500 +0880 +7060 +ENDCHAR +STARTCHAR U_7679 +ENCODING 30329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E80 +0920 +2940 +1080 +2F40 +49A0 +9000 +3FC0 +0900 +0600 +79E0 +ENDCHAR +STARTCHAR U_767A +ENCODING 30330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A80 +0B20 +5240 +2180 +C060 +3F80 +0A00 +7FC0 +0A00 +1240 +61C0 +ENDCHAR +STARTCHAR U_767B +ENCODING 30331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A40 +4A80 +2940 +1080 +3FC0 +C020 +1F80 +1080 +1F80 +0900 +FFE0 +ENDCHAR +STARTCHAR U_767C +ENCODING 30332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +0B20 +5140 +20E0 +F3C0 +1240 +7420 +43C0 +3240 +9180 +7660 +ENDCHAR +STARTCHAR U_767D +ENCODING 30333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +10 +20 +FF +81 +81 +FF +81 +81 +81 +FF +81 +ENDCHAR +STARTCHAR U_767E +ENCODING 30334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0400 +0800 +3F80 +2080 +2080 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_767F +ENCODING 30335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4100 +F900 +8900 +8900 +F900 +8900 +8900 +8920 +F920 +88E0 +ENDCHAR +STARTCHAR U_7680 +ENCODING 30336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +20 +FE +82 +FE +82 +FE +00 +8E +F0 +81 +7F +ENDCHAR +STARTCHAR U_7681 +ENCODING 30337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_7682 +ENCODING 30338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FC0 +2040 +3FC0 +2040 +3FC0 +0800 +0FE0 +F800 +0820 +07E0 +ENDCHAR +STARTCHAR U_7683 +ENCODING 30339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +1000 +7F00 +4100 +7F00 +4100 +7F00 +2400 +2440 +4440 +83C0 +ENDCHAR +STARTCHAR U_7684 +ENCODING 30340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2200 +4200 +F7C0 +9840 +9040 +F440 +9240 +9240 +9040 +F040 +9180 +ENDCHAR +STARTCHAR U_7685 +ENCODING 30341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +4540 +F540 +9540 +9540 +F7C0 +9400 +9400 +9420 +F420 +03E0 +ENDCHAR +STARTCHAR U_7686 +ENCODING 30342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8480 +F500 +8640 +B440 +CBC0 +1000 +7F00 +4100 +7F00 +4100 +7F00 +ENDCHAR +STARTCHAR U_7687 +ENCODING 30343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +2880 +2480 +3F80 +0000 +7FC0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7688 +ENCODING 30344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +4780 +F400 +97C0 +9440 +F640 +9540 +9480 +F480 +9940 +1220 +ENDCHAR +STARTCHAR U_7689 +ENCODING 30345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +4280 +EA80 +AAA0 +ABC0 +EA80 +AA80 +AAA0 +EBA0 +ACA0 +18E0 +ENDCHAR +STARTCHAR U_768A +ENCODING 30346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4280 +F440 +9920 +9080 +FFE0 +9040 +9280 +F100 +9080 +0080 +ENDCHAR +STARTCHAR U_768B +ENCODING 30347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +FFE0 +1500 +2480 +DF60 +0400 +0400 +ENDCHAR +STARTCHAR U_768C +ENCODING 30348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +FFE0 +A200 +A200 +EFC0 +A700 +AA80 +B240 +E220 +0200 +ENDCHAR +STARTCHAR U_768D +ENCODING 30349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +7F00 +4100 +7F00 +4100 +7F00 +8000 +F780 +8480 +E580 +0400 +ENDCHAR +STARTCHAR U_768E +ENCODING 30350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4100 +FFE0 +9280 +9440 +F820 +9280 +9280 +F100 +9280 +0C60 +ENDCHAR +STARTCHAR U_768F +ENCODING 30351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +4140 +F7E0 +9240 +9240 +F7E0 +9240 +9240 +F240 +9440 +0840 +ENDCHAR +STARTCHAR U_7690 +ENCODING 30352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FC0 +4040 +7FC0 +4040 +7FC0 +2480 +1500 +64C0 +FFE0 +0400 +ENDCHAR +STARTCHAR U_7691 +ENCODING 30353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +4520 +F7E0 +9000 +97E0 +F020 +97E0 +9420 +F400 +9420 +07E0 +ENDCHAR +STARTCHAR U_7692 +ENCODING 30354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +4CC0 +F4A0 +9FE0 +9480 +F6A0 +9CC0 +9480 +F5A0 +9660 +0C20 +ENDCHAR +STARTCHAR U_7693 +ENCODING 30355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4500 +F7C0 +9900 +9100 +FFE0 +9000 +97C0 +F440 +9440 +07C0 +ENDCHAR +STARTCHAR U_7694 +ENCODING 30356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +4440 +F7C0 +9440 +97C0 +F000 +97C0 +9100 +FFE0 +0100 +0100 +ENDCHAR +STARTCHAR U_7695 +ENCODING 30357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +4100 +FBE0 +8A20 +8A20 +FBE0 +8A20 +8A20 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_7696 +ENCODING 30358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4080 +F7E0 +9420 +93C0 +F000 +9FE0 +9280 +F2A0 +94A0 +18E0 +ENDCHAR +STARTCHAR U_7697 +ENCODING 30359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +8920 +EBA0 +A920 +AFE0 +E820 +ABA0 +AAA0 +EBA0 +10A0 +2040 +ENDCHAR +STARTCHAR U_7698 +ENCODING 30360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +47C0 +F100 +97C0 +9100 +FFE0 +9440 +97C0 +F440 +07C0 +0440 +ENDCHAR +STARTCHAR U_7699 +ENCODING 30361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +FF00 +2400 +77E0 +AC80 +2880 +3FC0 +2040 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_769A +ENCODING 30362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4920 +FFE0 +9000 +9FE0 +F000 +97C0 +9440 +F7C0 +9280 +1FE0 +ENDCHAR +STARTCHAR U_769B +ENCODING 30363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +3F80 +FBE0 +8A20 +FBE0 +8A20 +FBE0 +ENDCHAR +STARTCHAR U_769C +ENCODING 30364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4FE0 +E440 +A7C0 +A000 +AFE0 +E820 +ABA0 +AAA0 +EBA0 +0860 +ENDCHAR +STARTCHAR U_769D +ENCODING 30365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FD20 +8B40 +F900 +8FE0 +FA80 +2280 +FA80 +22A0 +34A0 +C860 +ENDCHAR +STARTCHAR U_769E +ENCODING 30366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +47C0 +F440 +97C0 +9440 +FFE0 +9440 +9920 +F7E0 +9100 +0100 +ENDCHAR +STARTCHAR U_769F +ENCODING 30367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +E100 +BFE0 +A440 +E7C0 +A440 +A7C0 +E440 +07C0 +0C60 +ENDCHAR +STARTCHAR U_76A0 +ENCODING 30368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4920 +EFE0 +A500 +AFE0 +F900 +AFC0 +A900 +AFC0 +E900 +0FE0 +ENDCHAR +STARTCHAR U_76A1 +ENCODING 30369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4F80 +E880 +AF80 +A880 +EF80 +AA80 +B240 +FFE0 +0200 +0200 +ENDCHAR +STARTCHAR U_76A2 +ENCODING 30370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4FC0 +E200 +BFE0 +A880 +FDE0 +A000 +BFE0 +E480 +08A0 +1060 +ENDCHAR +STARTCHAR U_76A3 +ENCODING 30371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5FE0 +E480 +BFC0 +AA40 +FFE0 +AA40 +BFE0 +E200 +1FE0 +0200 +ENDCHAR +STARTCHAR U_76A4 +ENCODING 30372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +4920 +F540 +9FE0 +9540 +F920 +97E0 +9520 +F7E0 +9520 +07E0 +ENDCHAR +STARTCHAR U_76A5 +ENCODING 30373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +4FC0 +E840 +AFC0 +A840 +EFC0 +A540 +A920 +FFE0 +0100 +0100 +ENDCHAR +STARTCHAR U_76A6 +ENCODING 30374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +5E80 +F2E0 +BFA0 +B2A0 +FFA0 +A8A0 +AEA0 +EA40 +AAA0 +1520 +ENDCHAR +STARTCHAR U_76A7 +ENCODING 30375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +4E40 +EA80 +BFE0 +AD60 +F7C0 +A400 +A7C0 +EA80 +1380 +0C60 +ENDCHAR +STARTCHAR U_76A8 +ENCODING 30376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2480 +3F80 +FBE0 +AAA0 +FBE0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_76A9 +ENCODING 30377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F440 +97C0 +F440 +97C0 +F920 +2540 +FFE0 +2280 +32A0 +CCE0 +ENDCHAR +STARTCHAR U_76AA +ENCODING 30378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +5740 +FDE0 +AF40 +B540 +FFE0 +A100 +BFE0 +E580 +0940 +1120 +ENDCHAR +STARTCHAR U_76AB +ENCODING 30379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +EA80 +AFE0 +AAA0 +EFE0 +AA80 +ABE0 +EA80 +AB60 +1540 +ENDCHAR +STARTCHAR U_76AC +ENCODING 30380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4100 +EFE0 +B5A0 +A640 +E900 +BFC0 +A900 +EFC0 +0900 +0FE0 +ENDCHAR +STARTCHAR U_76AD +ENCODING 30381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +4540 +EFE0 +AAA0 +AFE0 +EA20 +AFE0 +AAA0 +EE60 +A920 +0E60 +ENDCHAR +STARTCHAR U_76AE +ENCODING 30382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +0200 +3FE0 +2240 +2200 +3F80 +2880 +2500 +2200 +4500 +98E0 +ENDCHAR +STARTCHAR U_76AF +ENCODING 30383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +7C80 +5480 +5080 +7C80 +57E0 +5480 +5480 +4880 +9480 +A280 +ENDCHAR +STARTCHAR U_76B0 +ENCODING 30384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +AC20 +A3A0 +FAA0 +ABA0 +AA20 +92C0 +AA00 +C620 +81E0 +ENDCHAR +STARTCHAR U_76B1 +ENCODING 30385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7BE0 +8AA0 +1280 +FBE0 +0A20 +FB20 +0AC0 +0A80 +FD40 +0A20 +ENDCHAR +STARTCHAR U_76B2 +ENCODING 30386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +8480 +23E0 +FEA0 +2280 +53E0 +FE40 +1340 +FE80 +1540 +1220 +ENDCHAR +STARTCHAR U_76B3 +ENCODING 30387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2880 +27E0 +FCA0 +2480 +ADC0 +7540 +6D40 +A480 +2940 +7620 +ENDCHAR +STARTCHAR U_76B4 +ENCODING 30388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4880 +F7E0 +4AA0 +A680 +3BE0 +6A40 +9340 +2A80 +4540 +8A20 +ENDCHAR +STARTCHAR U_76B5 +ENCODING 30389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FBE0 +52A0 +FA80 +03E0 +F240 +9240 +F340 +9280 +F540 +9A20 +ENDCHAR +STARTCHAR U_76B6 +ENCODING 30390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +73E0 +AEA0 +7A80 +4BE0 +7B20 +4B40 +7A80 +E560 +0A40 +ENDCHAR +STARTCHAR U_76B7 +ENCODING 30391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FC80 +13E0 +7AA0 +0280 +7BC0 +4A40 +7B40 +5280 +3560 +CA40 +ENDCHAR +STARTCHAR U_76B8 +ENCODING 30392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8880 +23E0 +FAA0 +AA80 +FBE0 +AB20 +FAA0 +2240 +FAA0 +2520 +ENDCHAR +STARTCHAR U_76B9 +ENCODING 30393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +7CA0 +57E0 +5080 +7BE0 +4AA0 +6BE0 +52A0 +6FE0 +4080 +8080 +ENDCHAR +STARTCHAR U_76BA +ENCODING 30394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +ABE0 +FAA0 +4AA0 +BA80 +43E0 +FE20 +AB40 +FA80 +4D40 +BA20 +ENDCHAR +STARTCHAR U_76BB +ENCODING 30395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3880 +2080 +FFE0 +AAA0 +FA80 +A3E0 +BE40 +AB40 +BA80 +AB40 +FE20 +ENDCHAR +STARTCHAR U_76BC +ENCODING 30396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +1080 +FFE0 +86A0 +7A80 +03C0 +7A40 +4B40 +7A80 +2D40 +FA20 +ENDCHAR +STARTCHAR U_76BD +ENCODING 30397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +BAA0 +8280 +FFE0 +4A20 +7A20 +4AA0 +7A40 +02A0 +FF20 +ENDCHAR +STARTCHAR U_76BE +ENCODING 30398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FC80 +13E0 +FEA0 +AE80 +FFE0 +4A40 +7B40 +4A80 +7B40 +CE20 +ENDCHAR +STARTCHAR U_76BF +ENCODING 30399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 9 1 0 +BITMAP +7F80 +5280 +5280 +5280 +5280 +5280 +5280 +5280 +FFC0 +ENDCHAR +STARTCHAR U_76C0 +ENCODING 30400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0500 +04C0 +0440 +0400 +0000 +3FC0 +2940 +2940 +2940 +FFE0 +ENDCHAR +STARTCHAR U_76C1 +ENCODING 30401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0880 +11C0 +1040 +2140 +C080 +3FC0 +2A40 +2A40 +2A40 +FFE0 +ENDCHAR +STARTCHAR U_76C2 +ENCODING 30402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0200 +0200 +FFE0 +0200 +0A00 +0400 +3FC0 +2940 +2940 +FFE0 +ENDCHAR +STARTCHAR U_76C3 +ENCODING 30403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +0400 +0A00 +3980 +C840 +0800 +7F80 +5280 +5280 +5280 +FFC0 +ENDCHAR +STARTCHAR U_76C4 +ENCODING 30404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +0880 +7F80 +4800 +FF80 +0880 +0980 +7F80 +5280 +5280 +FFC0 +ENDCHAR +STARTCHAR U_76C5 +ENCODING 30405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FC0 +2240 +2240 +3FC0 +0200 +0200 +3FC0 +2940 +2940 +FFE0 +ENDCHAR +STARTCHAR U_76C6 +ENCODING 30406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +1100 +2080 +DF60 +0900 +1500 +6200 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_76C7 +ENCODING 30407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +0A00 +1900 +2480 +C060 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_76C8 +ENCODING 30408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +1080 +17E0 +1920 +2620 +4940 +BFC0 +2940 +2940 +2940 +FFE0 +ENDCHAR +STARTCHAR U_76C9 +ENCODING 30409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +7C00 +0400 +FFE0 +1500 +2480 +C060 +3FC0 +2940 +2940 +FFE0 +ENDCHAR +STARTCHAR U_76CA +ENCODING 30410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +FFE0 +1100 +2080 +4040 +BFA0 +2A80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_76CB +ENCODING 30411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +7FE0 +0800 +1F80 +2880 +C700 +38E0 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_76CC +ENCODING 30412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3BC0 +4A40 +AAC0 +1220 +21E0 +C000 +3FC0 +2A40 +2A40 +FFE0 +ENDCHAR +STARTCHAR U_76CD +ENCODING 30413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +1100 +7F80 +0040 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_76CE +ENCODING 30414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FC0 +2440 +FFE0 +0900 +3080 +C060 +3FC0 +2940 +2940 +FFE0 +ENDCHAR +STARTCHAR U_76CF +ENCODING 30415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2400 +FF80 +1000 +FF80 +1140 +0E40 +F1C0 +7F80 +5280 +5280 +FFC0 +ENDCHAR +STARTCHAR U_76D0 +ENCODING 30416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2200 +2200 +FB00 +22C0 +3A40 +E200 +0000 +7F80 +5280 +5280 +FFC0 +ENDCHAR +STARTCHAR U_76D1 +ENCODING 30417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +4A00 +4BE0 +4A00 +4C80 +4840 +0800 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76D2 +ENCODING 30418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1F00 +2080 +DF60 +1100 +1F00 +0000 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76D3 +ENCODING 30419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +4100 +2FE0 +4100 +C500 +4200 +3FC0 +2940 +2940 +FFE0 +ENDCHAR +STARTCHAR U_76D4 +ENCODING 30420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +1A40 +2A80 +5500 +8880 +3060 +3FC0 +2940 +2940 +FFE0 +ENDCHAR +STARTCHAR U_76D5 +ENCODING 30421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +1780 +4480 +1680 +25A0 +C8A0 +1060 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76D6 +ENCODING 30422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +0400 +3F80 +0400 +FFE0 +0000 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_76D7 +ENCODING 30423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8800 +4FC0 +3240 +C200 +4500 +58C0 +0000 +7F80 +5280 +5280 +FFC0 +ENDCHAR +STARTCHAR U_76D8 +ENCODING 30424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1F80 +1480 +1280 +7FE0 +1480 +2280 +3FC0 +2940 +2940 +FFE0 +ENDCHAR +STARTCHAR U_76D9 +ENCODING 30425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +FFE0 +2480 +3F80 +2480 +3F80 +2480 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76DA +ENCODING 30426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0500 +FFC0 +2480 +1700 +1D00 +E480 +4C40 +7F80 +5280 +5280 +FFC0 +ENDCHAR +STARTCHAR U_76DB +ENCODING 30427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +7FE0 +4200 +7A40 +4A80 +59A0 +8260 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76DC +ENCODING 30428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +17E0 +5920 +2140 +6280 +2440 +2820 +3FC0 +2940 +2940 +FFE0 +ENDCHAR +STARTCHAR U_76DD +ENCODING 30429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0080 +3F80 +0080 +FFE0 +2540 +1480 +6460 +3FC0 +2940 +FFE0 +ENDCHAR +STARTCHAR U_76DE +ENCODING 30430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1400 +FF80 +1240 +FFC0 +0400 +FF80 +1240 +EFC0 +7F80 +5480 +FFC0 +ENDCHAR +STARTCHAR U_76DF +ENCODING 30431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +4BC0 +7A40 +04C0 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76E0 +ENCODING 30432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +2100 +FFE0 +1480 +6B00 +1680 +6A60 +1600 +7FC0 +4940 +FFE0 +ENDCHAR +STARTCHAR U_76E1 +ENCODING 30433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7F80 +0480 +FFE0 +0480 +FFE0 +5240 +8920 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76E2 +ENCODING 30434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +F920 +AFE0 +F900 +A980 +FA40 +0420 +3FC0 +2A40 +2A40 +FFE0 +ENDCHAR +STARTCHAR U_76E3 +ENCODING 30435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A100 +F9E0 +8A00 +FA80 +A040 +FC00 +0000 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76E4 +ENCODING 30436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +FA80 +AAE0 +AC00 +FBC0 +AA80 +A900 +1280 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76E5 +ENCODING 30437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +C4C0 +9F40 +ECC0 +9640 +F5C0 +AC40 +0000 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76E6 +ENCODING 30438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +64C0 +BF20 +0A00 +FFE0 +2A80 +3380 +2080 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76E7 +ENCODING 30439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4420 +5FC0 +5460 +5FC0 +5240 +5FC0 +9540 +FFE0 +ENDCHAR +STARTCHAR U_76E8 +ENCODING 30440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +2200 +D7C0 +2540 +D6C0 +2540 +C7C0 +0820 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76E9 +ENCODING 30441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +13E0 +FE40 +2940 +FC80 +1140 +1220 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76EA +ENCODING 30442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F80 +A880 +4F80 +2880 +CFE0 +5540 +6540 +0A80 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76EB +ENCODING 30443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +3180 +DF60 +1100 +7FC0 +0A00 +3F80 +2A80 +7FC0 +4940 +FFE0 +ENDCHAR +STARTCHAR U_76EC +ENCODING 30444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +A3E0 +F480 +9080 +F7E0 +A240 +FBC0 +0000 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76ED +ENCODING 30445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +A9E0 +FB40 +1140 +FD40 +2880 +FD40 +1220 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_76EE +ENCODING 30446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +FE +82 +82 +FE +82 +82 +FE +82 +82 +FE +82 +ENDCHAR +STARTCHAR U_76EF +ENCODING 30447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F080 +9080 +F080 +9080 +9080 +F080 +9080 +F080 +9080 +0380 +ENDCHAR +STARTCHAR U_76F0 +ENCODING 30448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +9100 +F100 +9100 +9FE0 +F100 +9100 +F100 +9100 +0100 +ENDCHAR +STARTCHAR U_76F1 +ENCODING 30449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +9100 +F100 +9FE0 +9100 +F100 +9100 +F900 +9500 +0200 +ENDCHAR +STARTCHAR U_76F2 +ENCODING 30450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +3FC0 +0000 +3F80 +2480 +3280 +2980 +2480 +3F80 +ENDCHAR +STARTCHAR U_76F3 +ENCODING 30451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +F400 +9400 +9400 +F400 +9400 +F400 +9400 +07C0 +ENDCHAR +STARTCHAR U_76F4 +ENCODING 30452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +2080 +3F80 +2080 +3F80 +2080 +2080 +FFE0 +ENDCHAR +STARTCHAR U_76F5 +ENCODING 30453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F400 +97E0 +F800 +9780 +9080 +F100 +9200 +F420 +9420 +03E0 +ENDCHAR +STARTCHAR U_76F6 +ENCODING 30454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9000 +F000 +9FE0 +9280 +F280 +9280 +9480 +F4A0 +8860 +1000 +ENDCHAR +STARTCHAR U_76F7 +ENCODING 30455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +97E0 +F820 +9220 +9120 +F0A0 +9720 +F020 +9120 +00C0 +ENDCHAR +STARTCHAR U_76F8 +ENCODING 30456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1220 +7E20 +13E0 +1220 +3A20 +57E0 +9220 +1220 +13E0 +1220 +ENDCHAR +STARTCHAR U_76F9 +ENCODING 30457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9FE0 +F100 +9520 +9520 +F7E0 +9100 +F120 +9120 +00E0 +ENDCHAR +STARTCHAR U_76FA +ENCODING 30458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +F780 +9400 +F400 +97E0 +9480 +F480 +9480 +F480 +9880 +1080 +ENDCHAR +STARTCHAR U_76FB +ENCODING 30459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +9440 +F820 +9780 +9200 +F7C0 +9040 +F040 +9240 +0180 +ENDCHAR +STARTCHAR U_76FC +ENCODING 30460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F280 +9240 +F440 +9820 +97C0 +F240 +9240 +F240 +9440 +0980 +ENDCHAR +STARTCHAR U_76FD +ENCODING 30461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A200 +E200 +AFC0 +E200 +A200 +BFE0 +E200 +0200 +0200 +ENDCHAR +STARTCHAR U_76FE +ENCODING 30462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2200 +3FE0 +2200 +2FC0 +2840 +2FC0 +2840 +2FC0 +4840 +8FC0 +ENDCHAR +STARTCHAR U_76FF +ENCODING 30463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E200 +BFE0 +A880 +E880 +A500 +E500 +A200 +A500 +E8E0 +1040 +ENDCHAR +STARTCHAR U_7700 +ENCODING 30464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3E0 +9220 +9220 +F3E0 +9220 +F220 +93E0 +9220 +F220 +04A0 +0840 +ENDCHAR +STARTCHAR U_7701 +ENCODING 30465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1480 +2560 +4620 +1F80 +3080 +DF80 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_7702 +ENCODING 30466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E0C0 +AF00 +A900 +E900 +AFE0 +E900 +A900 +A880 +EAA0 +AC60 +0820 +ENDCHAR +STARTCHAR U_7703 +ENCODING 30467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F000 +9000 +F000 +9FE0 +9100 +F100 +9200 +F440 +9FA0 +0420 +ENDCHAR +STARTCHAR U_7704 +ENCODING 30468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F100 +9100 +F5E0 +9520 +9520 +F7E0 +9020 +F020 +9120 +00C0 +ENDCHAR +STARTCHAR U_7705 +ENCODING 30469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F700 +9400 +F7C0 +9540 +9540 +F540 +9540 +F480 +9940 +1220 +ENDCHAR +STARTCHAR U_7706 +ENCODING 30470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E100 +BFE0 +A400 +E780 +A480 +E480 +A480 +A880 +EA80 +1100 +ENDCHAR +STARTCHAR U_7707 +ENCODING 30471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9540 +F520 +9520 +9900 +F120 +9040 +9080 +F300 +0C00 +ENDCHAR +STARTCHAR U_7708 +ENCODING 30472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +97E0 +F520 +9520 +9180 +F180 +9280 +F4A0 +08A0 +1060 +ENDCHAR +STARTCHAR U_7709 +ENCODING 30473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2220 +3FE0 +2000 +2FC0 +2840 +2FC0 +2840 +4FC0 +4840 +8FC0 +ENDCHAR +STARTCHAR U_770A +ENCODING 30474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F700 +9100 +91C0 +F700 +9100 +F1E0 +9700 +9120 +F120 +00E0 +ENDCHAR +STARTCHAR U_770B +ENCODING 30475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +7F80 +0800 +FFE0 +1080 +3F80 +5080 +9F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_770C +ENCODING 30476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +5080 +5F80 +5080 +5F80 +5080 +7FE0 +0400 +2480 +4440 +8C20 +ENDCHAR +STARTCHAR U_770D +ENCODING 30477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F400 +9620 +F520 +94C0 +9440 +F4A0 +9520 +F600 +9400 +07E0 +ENDCHAR +STARTCHAR U_770E +ENCODING 30478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A000 +A000 +FFE0 +A100 +A100 +E940 +A920 +B120 +E500 +0200 +ENDCHAR +STARTCHAR U_770F +ENCODING 30479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E200 +AFC0 +EA40 +AA40 +FFE0 +A500 +A500 +E880 +1060 +2040 +ENDCHAR +STARTCHAR U_7710 +ENCODING 30480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F080 +9080 +F080 +9480 +94E0 +F480 +9480 +F480 +9480 +0FE0 +ENDCHAR +STARTCHAR U_7711 +ENCODING 30481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +9480 +FFE0 +92A0 +94A0 +F5A0 +9EA0 +F0A0 +9120 +0260 +ENDCHAR +STARTCHAR U_7712 +ENCODING 30482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F080 +97E0 +F4A0 +97E0 +94A0 +F7E0 +94A0 +F080 +9080 +0080 +ENDCHAR +STARTCHAR U_7713 +ENCODING 30483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +F120 +97E0 +F500 +9540 +9540 +F540 +9480 +F6A0 +9560 +0220 +ENDCHAR +STARTCHAR U_7714 +ENCODING 30484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +0000 +0600 +2480 +4440 +9500 +24C0 +4440 +0400 +ENDCHAR +STARTCHAR U_7715 +ENCODING 30485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F280 +9440 +F820 +9100 +9680 +F100 +9640 +F080 +9100 +0600 +ENDCHAR +STARTCHAR U_7716 +ENCODING 30486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +F7C0 +9440 +F440 +9440 +F7C0 +9280 +9280 +F4A0 +08A0 +1060 +ENDCHAR +STARTCHAR U_7717 +ENCODING 30487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F200 +97E0 +9820 +F7A0 +94A0 +F4A0 +97A0 +9020 +F0A0 +0040 +ENDCHAR +STARTCHAR U_7718 +ENCODING 30488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8A20 +5140 +3FC0 +D0A0 +1F80 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_7719 +ENCODING 30489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F200 +9440 +FFA0 +9020 +9000 +F7E0 +9420 +F420 +97E0 +0420 +ENDCHAR +STARTCHAR U_771A +ENCODING 30490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +3FC0 +4400 +3FC0 +0400 +FFE0 +1080 +1E80 +1780 +1080 +1F80 +ENDCHAR +STARTCHAR U_771B +ENCODING 30491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +97C0 +F100 +9FE0 +9100 +F380 +9540 +F920 +9120 +0100 +ENDCHAR +STARTCHAR U_771C +ENCODING 30492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E200 +BFE0 +E200 +AFC0 +A700 +E680 +AA80 +B240 +E220 +0200 +ENDCHAR +STARTCHAR U_771D +ENCODING 30493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97E0 +9420 +F000 +97E0 +9080 +F080 +9080 +F480 +9280 +0100 +ENDCHAR +STARTCHAR U_771E +ENCODING 30494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F00 +4040 +3FC0 +A100 +BF00 +A100 +BF00 +A100 +FFC0 +4100 +8080 +ENDCHAR +STARTCHAR U_771F +ENCODING 30495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +0800 +3F00 +2100 +3D00 +2F00 +2100 +FFC0 +1200 +6180 +ENDCHAR +STARTCHAR U_7720 +ENCODING 30496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F420 +97E0 +F480 +9480 +97E0 +F480 +9480 +F4A0 +9660 +0420 +ENDCHAR +STARTCHAR U_7721 +ENCODING 30497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +EF00 +A900 +A900 +EFE0 +A900 +E900 +A880 +AAA0 +ED60 +08A0 +ENDCHAR +STARTCHAR U_7722 +ENCODING 30498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +7A40 +CAC0 +3220 +7FE0 +A080 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_7723 +ENCODING 30499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +F500 +97C0 +F900 +9100 +9FE0 +F100 +9100 +F280 +9440 +0820 +ENDCHAR +STARTCHAR U_7724 +ENCODING 30500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A840 +EFC0 +A800 +AA40 +EA80 +AB00 +AA20 +EA20 +11E0 +2000 +ENDCHAR +STARTCHAR U_7725 +ENCODING 30501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5D60 +5180 +5520 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_7726 +ENCODING 30502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E280 +A280 +AAA0 +EBC0 +AA80 +AA80 +EA80 +AA80 +ABA0 +FEA0 +0860 +ENDCHAR +STARTCHAR U_7727 +ENCODING 30503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F120 +9120 +9220 +F4A0 +9840 +F7E0 +9420 +9420 +F420 +07E0 +ENDCHAR +STARTCHAR U_7728 +ENCODING 30504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F700 +9100 +F080 +97E0 +9040 +F080 +9100 +F200 +9600 +09E0 +ENDCHAR +STARTCHAR U_7729 +ENCODING 30505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F080 +9FE0 +F100 +9240 +97C0 +F080 +9100 +F240 +9FA0 +0420 +ENDCHAR +STARTCHAR U_772A +ENCODING 30506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A100 +AFE0 +E920 +A920 +AAA0 +EA60 +AC20 +A820 +E8A0 +0840 +ENDCHAR +STARTCHAR U_772B +ENCODING 30507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F920 +9540 +9FE0 +F100 +9100 +FFE0 +9100 +9100 +F100 +0100 +ENDCHAR +STARTCHAR U_772C +ENCODING 30508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E480 +A440 +BFE0 +E500 +A520 +E540 +A980 +A920 +EB20 +10E0 +ENDCHAR +STARTCHAR U_772D +ENCODING 30509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9100 +F100 +9FE0 +9100 +F100 +97C0 +F100 +9100 +0FE0 +ENDCHAR +STARTCHAR U_772E +ENCODING 30510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A820 +ABA0 +E820 +ABA0 +EAA0 +ABA0 +A820 +E820 +08A0 +0840 +ENDCHAR +STARTCHAR U_772F +ENCODING 30511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +F520 +9540 +F100 +9FE0 +9100 +F380 +9540 +F920 +9120 +0100 +ENDCHAR +STARTCHAR U_7730 +ENCODING 30512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A200 +A280 +E440 +AFC0 +A100 +E100 +AFC0 +A100 +E100 +1FE0 +ENDCHAR +STARTCHAR U_7731 +ENCODING 30513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +9100 +F7E0 +9120 +97E0 +F500 +97E0 +F120 +9280 +0C60 +ENDCHAR +STARTCHAR U_7732 +ENCODING 30514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9240 +9240 +F3C0 +9240 +93C0 +F240 +92E0 +FF40 +9040 +0040 +ENDCHAR +STARTCHAR U_7733 +ENCODING 30515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +93E0 +9440 +FA80 +9100 +9200 +F7E0 +9A20 +9220 +F3E0 +0220 +ENDCHAR +STARTCHAR U_7734 +ENCODING 30516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7E0 +9820 +97A0 +F4A0 +97A0 +F4A0 +97A0 +9020 +F0A0 +0040 +ENDCHAR +STARTCHAR U_7735 +ENCODING 30517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +93E0 +9440 +FA80 +9180 +9FE0 +F220 +9640 +9180 +F100 +0E00 +ENDCHAR +STARTCHAR U_7736 +ENCODING 30518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9400 +97E0 +F480 +9480 +95C0 +F480 +9480 +97E0 +F400 +07E0 +ENDCHAR +STARTCHAR U_7737 +ENCODING 30519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +7FC0 +0800 +FFE0 +1080 +3FC0 +50A0 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_7738 +ENCODING 30520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9240 +97E0 +F120 +9500 +97C0 +F900 +9100 +9FE0 +F100 +0100 +ENDCHAR +STARTCHAR U_7739 +ENCODING 30521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9280 +9100 +F7C0 +9100 +9100 +FFE0 +9100 +9280 +F440 +0820 +ENDCHAR +STARTCHAR U_773A +ENCODING 30522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9280 +9AA0 +F6C0 +9280 +96C0 +FAA0 +9280 +94A0 +F8A0 +1060 +ENDCHAR +STARTCHAR U_773B +ENCODING 30523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9280 +9FE0 +F100 +9100 +97C0 +F100 +9100 +9FE0 +F100 +0100 +ENDCHAR +STARTCHAR U_773C +ENCODING 30524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +F440 +97C0 +9500 +F520 +9540 +9480 +F540 +0620 +ENDCHAR +STARTCHAR U_773D +ENCODING 30525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A800 +ABE0 +EA80 +AAA0 +AAC0 +EA80 +AA80 +AAC0 +EB20 +1220 +ENDCHAR +STARTCHAR U_773E +ENCODING 30526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +4A40 +7FC0 +0180 +7E00 +2480 +2480 +5540 +8E20 +0400 +ENDCHAR +STARTCHAR U_773F +ENCODING 30527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EF00 +A100 +E140 +BD80 +E580 +A540 +A940 +F160 +A540 +0200 +ENDCHAR +STARTCHAR U_7740 +ENCODING 30528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +0400 +3F80 +0800 +FFE0 +1080 +3E80 +5780 +9080 +1F80 +ENDCHAR +STARTCHAR U_7741 +ENCODING 30529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +93C0 +9480 +F7C0 +9140 +9FE0 +F140 +97C0 +9100 +F500 +0200 +ENDCHAR +STARTCHAR U_7742 +ENCODING 30530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C40 +E340 +1C40 +E340 +3FE0 +2840 +2FC0 +2840 +2FC0 +4840 +8FC0 +ENDCHAR +STARTCHAR U_7743 +ENCODING 30531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9440 +9FE0 +F2A0 +9440 +FA20 +93C0 +9680 +F900 +0280 +0C60 +ENDCHAR +STARTCHAR U_7744 +ENCODING 30532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +9520 +9540 +F7E0 +9420 +97E0 +F420 +97E0 +9420 +F420 +04E0 +ENDCHAR +STARTCHAR U_7745 +ENCODING 30533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +F440 +97C0 +9000 +F7C0 +9100 +9FE0 +F100 +0100 +ENDCHAR +STARTCHAR U_7746 +ENCODING 30534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9820 +F7C0 +9000 +9000 +FFE0 +9280 +92A0 +F4A0 +0860 +ENDCHAR +STARTCHAR U_7747 +ENCODING 30535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F280 +9FE0 +F120 +97E0 +F500 +97E0 +9320 +F5E0 +9900 +0100 +ENDCHAR +STARTCHAR U_7748 +ENCODING 30536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A440 +A7C0 +E000 +AFE0 +A100 +E100 +A7C0 +A100 +E100 +1FE0 +ENDCHAR +STARTCHAR U_7749 +ENCODING 30537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E200 +AA80 +AA80 +EA80 +B740 +E200 +AFC0 +A200 +E200 +1FE0 +ENDCHAR +STARTCHAR U_774A +ENCODING 30538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +97E0 +F000 +97E0 +9420 +F7E0 +9420 +F7E0 +9420 +04E0 +ENDCHAR +STARTCHAR U_774B +ENCODING 30539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +9EA0 +9280 +FFE0 +9280 +93A0 +F6A0 +9AC0 +F2A0 +9360 +0420 +ENDCHAR +STARTCHAR U_774C +ENCODING 30540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +93C0 +9440 +FFE0 +9520 +9520 +F7E0 +9280 +F2A0 +94A0 +1860 +ENDCHAR +STARTCHAR U_774D +ENCODING 30541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +F440 +97C0 +9440 +F7C0 +9280 +F2A0 +94A0 +1860 +ENDCHAR +STARTCHAR U_774E +ENCODING 30542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F660 +9180 +9660 +F100 +9FE0 +9280 +FFE0 +94A0 +F4A0 +94E0 +0080 +ENDCHAR +STARTCHAR U_774F +ENCODING 30543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A920 +A920 +EFE0 +A920 +ABA0 +ED60 +A920 +A920 +EFE0 +0820 +ENDCHAR +STARTCHAR U_7750 +ENCODING 30544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9100 +9540 +F380 +9FE0 +F100 +9380 +9540 +F920 +0100 +ENDCHAR +STARTCHAR U_7751 +ENCODING 30545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9280 +9440 +FBA0 +9000 +FA40 +9540 +9540 +F080 +0FE0 +ENDCHAR +STARTCHAR U_7752 +ENCODING 30546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9520 +9540 +FA80 +9540 +9920 +F540 +9980 +F280 +9440 +0820 +ENDCHAR +STARTCHAR U_7753 +ENCODING 30547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +E280 +AFE0 +EAA0 +AFE0 +EAA0 +AAA0 +BFE0 +E440 +0820 +1020 +ENDCHAR +STARTCHAR U_7754 +ENCODING 30548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E280 +A440 +EBA0 +A000 +AFE0 +EAA0 +AFE0 +EAA0 +AAA0 +0860 +ENDCHAR +STARTCHAR U_7755 +ENCODING 30549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A820 +E400 +A7E0 +A8A0 +F5A0 +A2E0 +E480 +A8A0 +1060 +ENDCHAR +STARTCHAR U_7756 +ENCODING 30550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +9100 +FFE0 +9440 +9A20 +F3C0 +9680 +F900 +9280 +1C60 +ENDCHAR +STARTCHAR U_7757 +ENCODING 30551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +F440 +97C0 +9200 +F7E0 +9AA0 +94A0 +F920 +0240 +ENDCHAR +STARTCHAR U_7758 +ENCODING 30552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0000 +FFE0 +2080 +3F80 +1240 +3180 +D480 +1860 +ENDCHAR +STARTCHAR U_7759 +ENCODING 30553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +9420 +F7E0 +9540 +9520 +F7E0 +9500 +F900 +9280 +0C60 +ENDCHAR +STARTCHAR U_775A +ENCODING 30554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9400 +9480 +F7E0 +9480 +97E0 +F480 +97E0 +F480 +0880 +17E0 +ENDCHAR +STARTCHAR U_775B +ENCODING 30555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9100 +F7C0 +9100 +9FE0 +F440 +97C0 +F440 +97C0 +0440 +ENDCHAR +STARTCHAR U_775C +ENCODING 30556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9A20 +9540 +F7C0 +9140 +9FE0 +F140 +97C0 +9100 +F500 +0200 +ENDCHAR +STARTCHAR U_775D +ENCODING 30557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +11E0 +7EA0 +3920 +D660 +0000 +3FC0 +24C0 +2940 +3240 +3FC0 +ENDCHAR +STARTCHAR U_775E +ENCODING 30558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9540 +F540 +9BA0 +9120 +F100 +9380 +F540 +9920 +1120 +ENDCHAR +STARTCHAR U_775F +ENCODING 30559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9440 +F6C0 +9AA0 +9AA0 +F100 +9FE0 +9100 +F100 +0100 +ENDCHAR +STARTCHAR U_7760 +ENCODING 30560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +AA80 +AFE0 +E200 +AFE0 +A840 +F7A0 +A480 +A5A0 +E420 +07E0 +ENDCHAR +STARTCHAR U_7761 +ENCODING 30561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9100 +9FE0 +F540 +9540 +9FE0 +F540 +9540 +9FE0 +F100 +07C0 +ENDCHAR +STARTCHAR U_7762 +ENCODING 30562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F500 +9480 +97E0 +FC80 +97E0 +9480 +F480 +97E0 +9480 +F480 +07E0 +ENDCHAR +STARTCHAR U_7763 +ENCODING 30563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BE0 +1120 +FD40 +5880 +5540 +B220 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_7764 +ENCODING 30564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9540 +97C0 +F540 +97C0 +9000 +FFE0 +9280 +9280 +F480 +0880 +ENDCHAR +STARTCHAR U_7765 +ENCODING 30565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97E0 +9520 +F7E0 +9520 +97E0 +F280 +9480 +FFE0 +9080 +0080 +ENDCHAR +STARTCHAR U_7766 +ENCODING 30566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +9100 +FFE0 +9440 +9820 +F100 +97C0 +F100 +9100 +0FE0 +ENDCHAR +STARTCHAR U_7767 +ENCODING 30567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9480 +97E0 +F480 +9560 +9620 +F7E0 +9420 +F7E0 +9420 +07E0 +ENDCHAR +STARTCHAR U_7768 +ENCODING 30568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +ACE0 +A820 +EEE0 +A820 +AFE0 +E280 +A280 +A2A0 +E4A0 +1860 +ENDCHAR +STARTCHAR U_7769 +ENCODING 30569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9040 +97C0 +F040 +9FE0 +9940 +F580 +9340 +F520 +9920 +0300 +ENDCHAR +STARTCHAR U_776A +ENCODING 30570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0400 +FFE0 +1100 +7FC0 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_776B +ENCODING 30571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9140 +FFE0 +9140 +97C0 +F100 +95E0 +F500 +9B00 +10E0 +ENDCHAR +STARTCHAR U_776C +ENCODING 30572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F720 +9920 +F4C0 +9100 +9FE0 +F100 +9380 +F540 +0920 +1120 +ENDCHAR +STARTCHAR U_776D +ENCODING 30573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A920 +ABA0 +E920 +AFE0 +A820 +EBA0 +AAA0 +ABA0 +E820 +10E0 +ENDCHAR +STARTCHAR U_776E +ENCODING 30574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +E440 +AFA0 +B000 +EEA0 +AAA0 +EEA0 +AAA0 +AEA0 +EA20 +0AE0 +ENDCHAR +STARTCHAR U_776F +ENCODING 30575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +89E0 +FB40 +9140 +FC80 +C960 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_7770 +ENCODING 30576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +A480 +E200 +BFE0 +A200 +E7C0 +AC40 +B440 +E7C0 +0440 +ENDCHAR +STARTCHAR U_7771 +ENCODING 30577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AA20 +AA20 +EEE0 +A800 +EFE0 +A920 +AEA0 +E8C0 +0940 +0A20 +ENDCHAR +STARTCHAR U_7772 +ENCODING 30578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +F440 +97C0 +9500 +F7C0 +9900 +97C0 +F100 +0FE0 +ENDCHAR +STARTCHAR U_7773 +ENCODING 30579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +A500 +AA80 +F7E0 +A200 +FFC0 +A200 +AF80 +E200 +1FE0 +ENDCHAR +STARTCHAR U_7774 +ENCODING 30580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +B220 +AFC0 +E200 +AFC0 +AA40 +EFC0 +AA40 +BFE0 +E200 +0200 +ENDCHAR +STARTCHAR U_7775 +ENCODING 30581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +E4C0 +BEA0 +A480 +FFE0 +A0A0 +EEA0 +AAC0 +AEA0 +E160 +0620 +ENDCHAR +STARTCHAR U_7776 +ENCODING 30582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A200 +BFE0 +E480 +A840 +F7A0 +A480 +A780 +E480 +0780 +ENDCHAR +STARTCHAR U_7777 +ENCODING 30583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FD40 +A7E0 +E940 +B3C0 +BD00 +E7C0 +A900 +BBE0 +ED00 +13E0 +ENDCHAR +STARTCHAR U_7778 +ENCODING 30584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E920 +AFE0 +E800 +ABE0 +EA20 +ABE0 +AA20 +EBE0 +1220 +23E0 +ENDCHAR +STARTCHAR U_7779 +ENCODING 30585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +FF40 +9280 +9FE0 +F100 +97C0 +9C40 +F7C0 +9440 +F7C0 +0440 +ENDCHAR +STARTCHAR U_777A +ENCODING 30586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E780 +A880 +FFE0 +AA00 +ABC0 +EC80 +AFE0 +A980 +EA40 +0C20 +ENDCHAR +STARTCHAR U_777B +ENCODING 30587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFE0 +A820 +B7C0 +E000 +A7C0 +E440 +A7C0 +A440 +E7C0 +9FE0 +ENDCHAR +STARTCHAR U_777C +ENCODING 30588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +F440 +97C0 +9000 +FFE0 +9500 +95E0 +FB00 +11E0 +ENDCHAR +STARTCHAR U_777D +ENCODING 30589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF40 +92A0 +9A40 +F440 +9BA0 +9100 +FFE0 +9100 +9280 +F440 +1820 +ENDCHAR +STARTCHAR U_777E +ENCODING 30590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FC0 +4940 +7FC0 +0400 +7FC0 +0400 +FFE0 +1100 +FFE0 +0400 +ENDCHAR +STARTCHAR U_777F +ENCODING 30591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +50A0 +AF40 +5080 +3FC0 +50A0 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_7780 +ENCODING 30592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +29E0 +FF40 +3480 +5140 +9220 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_7781 +ENCODING 30593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +F440 +97C0 +9440 +F7C0 +9140 +9FE0 +F280 +0C60 +ENDCHAR +STARTCHAR U_7782 +ENCODING 30594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD40 +9120 +FFE0 +9100 +B900 +A9C0 +BA40 +AB40 +BC80 +A940 +BA20 +ENDCHAR +STARTCHAR U_7783 +ENCODING 30595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A880 +AFE0 +E880 +ABE0 +AA20 +EBE0 +AA20 +ABE0 +EA20 +13E0 +ENDCHAR +STARTCHAR U_7784 +ENCODING 30596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +9240 +9FE0 +F240 +97E0 +9520 +F520 +97E0 +9520 +F520 +07E0 +ENDCHAR +STARTCHAR U_7785 +ENCODING 30597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE40 +A440 +A560 +FF40 +A540 +A640 +ED40 +B440 +E440 +A4A0 +0520 +ENDCHAR +STARTCHAR U_7786 +ENCODING 30598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E7C0 +A540 +BFE0 +E000 +A7C0 +E440 +A540 +A540 +E280 +0C60 +ENDCHAR +STARTCHAR U_7787 +ENCODING 30599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F2A0 +AAA0 +A9C0 +E080 +BFE0 +A880 +E9C0 +AAA0 +AC80 +E800 +17E0 +ENDCHAR +STARTCHAR U_7788 +ENCODING 30600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +AA40 +B4A0 +EF40 +A000 +AEE0 +EAA0 +A660 +AAA0 +F320 +0660 +ENDCHAR +STARTCHAR U_7789 +ENCODING 30601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +1140 +FD40 +8540 +7A20 +03E0 +7940 +4940 +7880 +4940 +7A20 +ENDCHAR +STARTCHAR U_778A +ENCODING 30602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +ABC0 +E940 +AFE0 +E940 +ABC0 +A900 +F7C0 +9440 +27C0 +ENDCHAR +STARTCHAR U_778B +ENCODING 30603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9100 +F7C0 +9440 +9740 +F5C0 +9440 +9FE0 +F280 +0C60 +ENDCHAR +STARTCHAR U_778C +ENCODING 30604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +A7C0 +A100 +EFE0 +A440 +AFE0 +E000 +AFE0 +AAA0 +EAA0 +1FE0 +ENDCHAR +STARTCHAR U_778D +ENCODING 30605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E300 +ADE0 +A920 +EFE0 +A920 +AFE0 +E100 +AFE0 +A480 +E300 +1CE0 +ENDCHAR +STARTCHAR U_778E +ENCODING 30606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A920 +E7C0 +A100 +A7C0 +E100 +AFE0 +A440 +E440 +07C0 +ENDCHAR +STARTCHAR U_778F +ENCODING 30607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0400 +3F80 +0400 +FFE0 +2080 +3FA0 +5540 +98E0 +ENDCHAR +STARTCHAR U_7790 +ENCODING 30608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +6500 +5300 +4900 +7F00 +0000 +F780 +9480 +F780 +9480 +F780 +ENDCHAR +STARTCHAR U_7791 +ENCODING 30609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A820 +AFE0 +E440 +A7C0 +A440 +E7C0 +A100 +AFE0 +E280 +0C60 +ENDCHAR +STARTCHAR U_7792 +ENCODING 30610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E280 +AFE0 +A280 +EFE0 +A280 +AFE0 +EAA0 +AAA0 +AD60 +E820 +0860 +ENDCHAR +STARTCHAR U_7793 +ENCODING 30611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0AA0 +FEA0 +A2A0 +FEA0 +A2A0 +FEA0 +B6A0 +BEA0 +E2A0 +0420 +0820 +ENDCHAR +STARTCHAR U_7794 +ENCODING 30612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFC0 +A100 +E7C0 +A100 +BFE0 +E540 +A6C0 +A540 +E7C0 +0C60 +ENDCHAR +STARTCHAR U_7795 +ENCODING 30613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +9280 +F100 +9FE0 +9440 +F7C0 +9440 +9FE0 +F100 +0100 +ENDCHAR +STARTCHAR U_7796 +ENCODING 30614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +B940 +D220 +B9C0 +A880 +FB60 +1F00 +1500 +1B00 +1500 +1F00 +ENDCHAR +STARTCHAR U_7797 +ENCODING 30615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +97C0 +9440 +F7C0 +9440 +F7E0 +9400 +97E0 +F520 +9AA0 +0AC0 +ENDCHAR +STARTCHAR U_7798 +ENCODING 30616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A800 +ABC0 +EA40 +ABC0 +A800 +EEE0 +AAA0 +AEE0 +E800 +0FE0 +ENDCHAR +STARTCHAR U_7799 +ENCODING 30617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +9280 +F7C0 +9440 +97C0 +F440 +9FE0 +F280 +9440 +0820 +ENDCHAR +STARTCHAR U_779A +ENCODING 30618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A820 +EBA0 +A100 +A7C0 +E540 +A7C0 +A540 +E7C0 +1860 +ENDCHAR +STARTCHAR U_779B +ENCODING 30619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E540 +A940 +B2A0 +E4A0 +A800 +B880 +EA80 +AAE0 +AA80 +ED80 +08E0 +ENDCHAR +STARTCHAR U_779C +ENCODING 30620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9540 +FFE0 +9540 +9FE0 +F920 +9FE0 +F480 +9300 +1CE0 +ENDCHAR +STARTCHAR U_779D +ENCODING 30621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +BFE0 +A540 +E6C0 +A540 +A7C0 +E100 +AFE0 +AAA0 +EFA0 +0860 +ENDCHAR +STARTCHAR U_779E +ENCODING 30622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E440 +AFE0 +A440 +E7C0 +A100 +AFE0 +E920 +ADA0 +AB60 +EDA0 +0960 +ENDCHAR +STARTCHAR U_779F +ENCODING 30623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A280 +AFE0 +EAA0 +AFE0 +A000 +E7C0 +A000 +AFE0 +E540 +1B20 +ENDCHAR +STARTCHAR U_77A0 +ENCODING 30624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +9540 +9FE0 +F820 +97C0 +9440 +F7C0 +9100 +F7C0 +9100 +0FE0 +ENDCHAR +STARTCHAR U_77A1 +ENCODING 30625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EBC0 +AA40 +BFC0 +EA40 +ABC0 +BE40 +EA40 +AFC0 +A9A0 +F2A0 +2460 +ENDCHAR +STARTCHAR U_77A2 +ENCODING 30626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4940 +FFE0 +A0A0 +3E80 +2780 +2080 +3F80 +ENDCHAR +STARTCHAR U_77A3 +ENCODING 30627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +E7C0 +A540 +E7C0 +A100 +AFE0 +E920 +AFE0 +A540 +ECA0 +17A0 +ENDCHAR +STARTCHAR U_77A4 +ENCODING 30628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +EAA0 +AFE0 +E920 +ABA0 +A920 +EFE0 +A820 +0860 +ENDCHAR +STARTCHAR U_77A5 +ENCODING 30629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5500 +FDE0 +9740 +BC80 +D540 +9620 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_77A6 +ENCODING 30630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +A100 +A7C0 +E440 +A7C0 +E280 +BFE0 +A440 +E440 +07C0 +ENDCHAR +STARTCHAR U_77A7 +ENCODING 30631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E500 +A900 +BFE0 +E900 +AFC0 +A900 +EFC0 +A900 +AFE0 +E540 +0AA0 +ENDCHAR +STARTCHAR U_77A8 +ENCODING 30632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EAA0 +A6C0 +AFE0 +E280 +AFE0 +A100 +E7C0 +A100 +AFE0 +E280 +0C60 +ENDCHAR +STARTCHAR U_77A9 +ENCODING 30633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A820 +AFE0 +E900 +AFE0 +E920 +AFE0 +A900 +EFE0 +1960 +2BA0 +ENDCHAR +STARTCHAR U_77AA +ENCODING 30634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EF40 +AAA0 +A440 +EBA0 +B000 +A7C0 +E440 +A7C0 +A440 +E280 +1FE0 +ENDCHAR +STARTCHAR U_77AB +ENCODING 30635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9280 +9FE0 +FAA0 +9FE0 +9440 +F7C0 +9440 +FFE0 +9100 +0100 +ENDCHAR +STARTCHAR U_77AC +ENCODING 30636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E0C0 +AF20 +A540 +EFE0 +A820 +A440 +EFE0 +B240 +AFE0 +E840 +1040 +ENDCHAR +STARTCHAR U_77AD +ENCODING 30637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9FE0 +9AA0 +F440 +97C0 +9C60 +F7C0 +9440 +97C0 +F540 +0B20 +ENDCHAR +STARTCHAR U_77AE +ENCODING 30638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FF80 +AA80 +EFE0 +A120 +AEA0 +EAA0 +AE40 +AA40 +EEA0 +0B20 +ENDCHAR +STARTCHAR U_77AF +ENCODING 30639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +EAA0 +AFE0 +EAA0 +ABA0 +AAA0 +EBA0 +ACA0 +0860 +ENDCHAR +STARTCHAR U_77B0 +ENCODING 30640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE80 +A480 +BFE0 +EAA0 +AFA0 +AAA0 +EEA0 +AAA0 +BF40 +E2A0 +0320 +ENDCHAR +STARTCHAR U_77B1 +ENCODING 30641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F480 +9FE0 +9480 +FFE0 +9540 +9FE0 +F540 +9FE0 +F100 +9FE0 +0100 +ENDCHAR +STARTCHAR U_77B2 +ENCODING 30642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A280 +AFE0 +E520 +A900 +AFE0 +EAA0 +AFE0 +AAA0 +EBA0 +0860 +ENDCHAR +STARTCHAR U_77B3 +ENCODING 30643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A280 +E100 +BFE0 +A540 +E7C0 +A540 +AFE0 +E100 +1FE0 +ENDCHAR +STARTCHAR U_77B4 +ENCODING 30644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E800 +AFE0 +B540 +E540 +BFE0 +A540 +E540 +BFE0 +A540 +EAA0 +12A0 +ENDCHAR +STARTCHAR U_77B5 +ENCODING 30645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E920 +A540 +BFE0 +E540 +A920 +A540 +EFE0 +BB40 +A5E0 +E840 +1040 +ENDCHAR +STARTCHAR U_77B6 +ENCODING 30646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +9540 +FFE0 +9440 +97C0 +F440 +97C0 +9440 +F7C0 +0C60 +ENDCHAR +STARTCHAR U_77B7 +ENCODING 30647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +EAA0 +AEE0 +ABA0 +EAA0 +ABA0 +AAA0 +EBA0 +0860 +ENDCHAR +STARTCHAR U_77B8 +ENCODING 30648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +A480 +EA80 +BFE0 +EA80 +AFC0 +A200 +FFE0 +0A80 +3260 +ENDCHAR +STARTCHAR U_77B9 +ENCODING 30649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +EE20 +A540 +FFE0 +AAC0 +F7A0 +A400 +A7C0 +EA80 +1300 +0CE0 +ENDCHAR +STARTCHAR U_77BA +ENCODING 30650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E300 +A480 +BFC0 +E020 +AFE0 +AAA0 +EFE0 +A440 +A7C0 +E440 +07C0 +ENDCHAR +STARTCHAR U_77BB +ENCODING 30651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A480 +AFE0 +FAA0 +AFE0 +A800 +EBC0 +A800 +AFE0 +F420 +27E0 +ENDCHAR +STARTCHAR U_77BC +ENCODING 30652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E300 +A480 +AFC0 +F020 +AEE0 +AAA0 +EEE0 +A000 +A440 +EAA0 +1120 +ENDCHAR +STARTCHAR U_77BD +ENCODING 30653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +23E0 +F880 +8BC0 +F940 +50A0 +FF80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_77BE +ENCODING 30654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +7BC0 +4E40 +FFE0 +90A0 +6FC0 +0400 +7FE0 +ENDCHAR +STARTCHAR U_77BF +ENCODING 30655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +7BC0 +2200 +7FE0 +A200 +3FC0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_77C0 +ENCODING 30656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A80 +FA80 +AF80 +F0E0 +AFA0 +E0A0 +AEA0 +AB40 +EAC0 +3120 +2220 +ENDCHAR +STARTCHAR U_77C1 +ENCODING 30657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E80 +E4A0 +BFC0 +AE80 +ED80 +B540 +E620 +A140 +A520 +F440 +13C0 +ENDCHAR +STARTCHAR U_77C2 +ENCODING 30658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A440 +A7C0 +E000 +AEE0 +AAA0 +EEE0 +A100 +AFE0 +E540 +1920 +ENDCHAR +STARTCHAR U_77C3 +ENCODING 30659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +AAA0 +B740 +EFE0 +AAA0 +FFE0 +A000 +AFE0 +E100 +0300 +ENDCHAR +STARTCHAR U_77C4 +ENCODING 30660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A100 +BFE0 +EAA0 +AFE0 +A100 +EFC0 +A100 +BFE0 +E540 +0AA0 +ENDCHAR +STARTCHAR U_77C5 +ENCODING 30661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +A660 +EAA0 +A7E0 +EC80 +B7C0 +A480 +E7C0 +0480 +07E0 +ENDCHAR +STARTCHAR U_77C6 +ENCODING 30662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EFE0 +A500 +EFE0 +B900 +EFC0 +A900 +AFE0 +E440 +0380 +0C60 +ENDCHAR +STARTCHAR U_77C7 +ENCODING 30663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +AFE0 +A480 +EFE0 +A820 +AFE0 +EA40 +B580 +AB80 +E540 +0A20 +ENDCHAR +STARTCHAR U_77C8 +ENCODING 30664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E7C0 +A440 +E7C0 +A100 +AFE0 +F4A0 +AFE0 +A240 +E240 +04C0 +ENDCHAR +STARTCHAR U_77C9 +ENCODING 30665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A820 +E7C0 +A540 +A7C0 +FC40 +A7C0 +A440 +E7C0 +0C60 +ENDCHAR +STARTCHAR U_77CA +ENCODING 30666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +A5E0 +AB20 +FDE0 +AB20 +BDE0 +E280 +A7E0 +AAA0 +F6A0 +0080 +ENDCHAR +STARTCHAR U_77CB +ENCODING 30667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EA80 +AFE0 +EA80 +AFC0 +ED40 +AFC0 +AD40 +EFE0 +1920 +2BA0 +ENDCHAR +STARTCHAR U_77CC +ENCODING 30668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +AA40 +EFE0 +AA40 +AFE0 +ED40 +AFC0 +B540 +E7C0 +0C60 +ENDCHAR +STARTCHAR U_77CD +ENCODING 30669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +7FC0 +2200 +7FC0 +A200 +3FC0 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_77CE +ENCODING 30670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E780 +A880 +BFE0 +EAA0 +AFE0 +A440 +E7C0 +A7C0 +AC80 +E300 +1CE0 +ENDCHAR +STARTCHAR U_77CF +ENCODING 30671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +97C0 +9440 +F7C0 +9440 +9FE0 +F4A0 +9FE0 +F3C0 +9440 +08C0 +ENDCHAR +STARTCHAR U_77D0 +ENCODING 30672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A100 +AFE0 +E920 +AAA0 +A500 +EFE0 +B500 +A7C0 +E500 +07E0 +ENDCHAR +STARTCHAR U_77D1 +ENCODING 30673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +E100 +AFE0 +E920 +AB80 +E940 +AFC0 +F540 +9FE0 +2AA0 +5FE0 +ENDCHAR +STARTCHAR U_77D2 +ENCODING 30674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EFE0 +A280 +EFE0 +AAA0 +FFE0 +A7C0 +A440 +E7C0 +A440 +07C0 +ENDCHAR +STARTCHAR U_77D3 +ENCODING 30675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E4E0 +BF80 +AAE0 +E420 +BFE0 +AA80 +EEE0 +AA80 +AEE0 +EAA0 +0AE0 +ENDCHAR +STARTCHAR U_77D4 +ENCODING 30676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9280 +9EE0 +FAA0 +9FE0 +9500 +FFE0 +9500 +F7C0 +9500 +07E0 +ENDCHAR +STARTCHAR U_77D5 +ENCODING 30677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F40 +A0A0 +4E40 +F0E0 +5F40 +AAA0 +3FC0 +2040 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_77D6 +ENCODING 30678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +E000 +AEE0 +EBA0 +AFE0 +EA80 +AFE0 +EAA0 +8FE0 +1480 +27E0 +ENDCHAR +STARTCHAR U_77D7 +ENCODING 30679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +3280 +2980 +2480 +FFE0 +4A40 +6B40 +5AC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_77D8 +ENCODING 30680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E540 +AFE0 +AAA0 +EFE0 +AAA0 +AFE0 +E100 +AFE0 +A100 +EFE0 +0AA0 +ENDCHAR +STARTCHAR U_77D9 +ENCODING 30681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +EAA0 +AAE0 +AF20 +EAE0 +AF60 +AAA0 +EF60 +0A60 +ENDCHAR +STARTCHAR U_77DA +ENCODING 30682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A820 +AFE0 +EA80 +AFE0 +AAA0 +EFE0 +AAA0 +ABE0 +F0A0 +27E0 +ENDCHAR +STARTCHAR U_77DB +ENCODING 30683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +0100 +1A00 +0400 +FFC0 +0C80 +1500 +2400 +4400 +8400 +1C00 +ENDCHAR +STARTCHAR U_77DC +ENCODING 30684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +2940 +1140 +FE20 +1500 +3080 +57E0 +9040 +1040 +1080 +7080 +ENDCHAR +STARTCHAR U_77DD +ENCODING 30685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +1100 +6280 +2640 +F920 +2FC0 +6040 +A480 +2300 +2100 +6100 +ENDCHAR +STARTCHAR U_77DE +ENCODING 30686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0500 +FFE0 +1240 +2200 +FFC0 +5140 +6EC0 +4A40 +4E40 +40C0 +ENDCHAR +STARTCHAR U_77DF +ENCODING 30687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +54A0 +22C0 +FFE0 +2420 +27E0 +6420 +A7E0 +2420 +2420 +6460 +ENDCHAR +STARTCHAR U_77E0 +ENCODING 30688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +5140 +27E0 +F940 +2FE0 +2800 +63E0 +A220 +23E0 +2220 +E3E0 +ENDCHAR +STARTCHAR U_77E1 +ENCODING 30689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +FAA0 +5EE0 +2500 +F7E0 +2900 +3FE0 +6900 +AFE0 +2240 +67E0 +ENDCHAR +STARTCHAR U_77E2 +ENCODING 30690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2000 +7FC0 +4400 +8400 +FFE0 +0400 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_77E3 +ENCODING 30691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +1100 +7E80 +2000 +3F80 +4400 +FFC0 +0400 +0A00 +31C0 +C080 +ENDCHAR +STARTCHAR U_77E4 +ENCODING 30692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +1200 +17E0 +F900 +8100 +FFE0 +1100 +1280 +1280 +A440 +4820 +ENDCHAR +STARTCHAR U_77E5 +ENCODING 30693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2000 +7DE0 +9120 +1120 +FF20 +1120 +1120 +2920 +45E0 +8000 +ENDCHAR +STARTCHAR U_77E6 +ENCODING 30694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1F00 +2200 +7FC0 +C800 +5FC0 +6200 +7FE0 +4500 +8880 +B060 +ENDCHAR +STARTCHAR U_77E7 +ENCODING 30695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47A0 +40A0 +78A0 +A3A0 +2220 +FBA0 +20A0 +30A0 +28A0 +44A0 +8320 +ENDCHAR +STARTCHAR U_77E8 +ENCODING 30696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +4380 +7880 +A080 +27E0 +F880 +2080 +3140 +2A40 +4420 +8820 +ENDCHAR +STARTCHAR U_77E9 +ENCODING 30697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +43E0 +7E00 +9200 +13E0 +FE20 +1220 +2BE0 +2A00 +4A00 +83E0 +ENDCHAR +STARTCHAR U_77EA +ENCODING 30698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +43C0 +7A40 +A340 +2240 +FFE0 +2340 +22C0 +5240 +4440 +88C0 +ENDCHAR +STARTCHAR U_77EB +ENCODING 30699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4700 +7100 +AFE0 +2240 +FC20 +2240 +2240 +5240 +5440 +8840 +ENDCHAR +STARTCHAR U_77EC +ENCODING 30700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4540 +7D40 +9540 +13A0 +F900 +1100 +17C0 +2900 +4500 +8FE0 +ENDCHAR +STARTCHAR U_77ED +ENCODING 30701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4000 +77C0 +A440 +2440 +F7C0 +2000 +2440 +5280 +4080 +8FE0 +ENDCHAR +STARTCHAR U_77EE +ENCODING 30702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4700 +7900 +AFE0 +2540 +F920 +2100 +2FE0 +5240 +4980 +8660 +ENDCHAR +STARTCHAR U_77EF +ENCODING 30703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4100 +7FE0 +A440 +2BA0 +F280 +2FE0 +2820 +3BA0 +4AA0 +8BE0 +ENDCHAR +STARTCHAR U_77F0 +ENCODING 30704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +4240 +7FE0 +AAA0 +2FE0 +F000 +27C0 +2440 +37C0 +4C40 +87C0 +ENDCHAR +STARTCHAR U_77F1 +ENCODING 30705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +47E0 +7A40 +A7E0 +2480 +FFE0 +2480 +27E0 +3240 +4980 +8660 +ENDCHAR +STARTCHAR U_77F2 +ENCODING 30706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +7FE0 +A480 +2AE0 +FE80 +2AE0 +2EA0 +2AC0 +5E80 +8AE0 +ENDCHAR +STARTCHAR U_77F3 +ENCODING 30707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0400 +0800 +1000 +3FC0 +5040 +9040 +1040 +1FC0 +1040 +ENDCHAR +STARTCHAR U_77F4 +ENCODING 30708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +F7E0 +2080 +4080 +7880 +C880 +4880 +4880 +7880 +4A80 +0100 +ENDCHAR +STARTCHAR U_77F5 +ENCODING 30709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0040 +F840 +2240 +2240 +7A40 +4A40 +CA40 +4A40 +7A40 +4940 +0080 +ENDCHAR +STARTCHAR U_77F6 +ENCODING 30710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +FC80 +2480 +2480 +7480 +D480 +5480 +5480 +74A0 +08A0 +30E0 +ENDCHAR +STARTCHAR U_77F7 +ENCODING 30711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2040 +2080 +2080 +7880 +CFE0 +4880 +4880 +7C80 +4A80 +0100 +ENDCHAR +STARTCHAR U_77F8 +ENCODING 30712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +2080 +4080 +7FE0 +C880 +4880 +4880 +7880 +4880 +0080 +ENDCHAR +STARTCHAR U_77F9 +ENCODING 30713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2280 +2280 +7A80 +4A80 +CA80 +4A80 +4A80 +7AA0 +04A0 +0860 +ENDCHAR +STARTCHAR U_77FA +ENCODING 30714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +2700 +2100 +2100 +79E0 +CF00 +4900 +4900 +7920 +4920 +00E0 +ENDCHAR +STARTCHAR U_77FB +ENCODING 30715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +23E0 +4400 +7BC0 +C880 +4900 +4900 +7A20 +4A20 +01E0 +ENDCHAR +STARTCHAR U_77FC +ENCODING 30716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2080 +2080 +4080 +7880 +C880 +4880 +4880 +7880 +4880 +07E0 +ENDCHAR +STARTCHAR U_77FD +ENCODING 30717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +21E0 +4220 +7420 +DA40 +5140 +5080 +7080 +5100 +0600 +ENDCHAR +STARTCHAR U_77FE +ENCODING 30718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF80 +2480 +2480 +7480 +5680 +D580 +5480 +5480 +74A0 +08A0 +1060 +ENDCHAR +STARTCHAR U_77FF +ENCODING 30719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +27E0 +2400 +7400 +5400 +D400 +5400 +5400 +7400 +0800 +1000 +ENDCHAR +STARTCHAR U_7800 +ENCODING 30720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +F080 +2100 +2200 +77E0 +D2A0 +52A0 +5520 +7920 +5220 +04C0 +ENDCHAR +STARTCHAR U_7801 +ENCODING 30721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F840 +2240 +2240 +7A40 +CFE0 +4820 +4FA0 +7820 +4920 +00C0 +ENDCHAR +STARTCHAR U_7802 +ENCODING 30722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F880 +22C0 +22A0 +7CA0 +CC80 +48A0 +4840 +7880 +4900 +0600 +ENDCHAR +STARTCHAR U_7803 +ENCODING 30723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2240 +2340 +22C0 +7A40 +CFE0 +4A40 +4A40 +7A40 +4D40 +0880 +ENDCHAR +STARTCHAR U_7804 +ENCODING 30724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +27C0 +2140 +7940 +CFE0 +4900 +4B80 +7A80 +4440 +0820 +ENDCHAR +STARTCHAR U_7805 +ENCODING 30725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +2120 +2F40 +7380 +5540 +D540 +5540 +7540 +5920 +0320 +ENDCHAR +STARTCHAR U_7806 +ENCODING 30726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F880 +27E0 +2080 +7880 +4FE0 +C880 +4880 +7940 +4A20 +0420 +ENDCHAR +STARTCHAR U_7807 +ENCODING 30727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +2FE0 +4440 +7A80 +CA80 +4900 +4A80 +7A80 +4440 +0820 +ENDCHAR +STARTCHAR U_7808 +ENCODING 30728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +F7E0 +2400 +45E0 +7520 +D520 +5560 +5500 +7520 +5520 +08E0 +ENDCHAR +STARTCHAR U_7809 +ENCODING 30729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +0400 +3FC0 +0400 +FFE0 +0400 +FFE0 +3040 +DFC0 +1040 +ENDCHAR +STARTCHAR U_780A +ENCODING 30730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +2FE0 +4000 +7780 +D480 +5480 +5480 +74A0 +54A0 +0860 +ENDCHAR +STARTCHAR U_780B +ENCODING 30731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F880 +2080 +4280 +7AE0 +CA80 +4A80 +4A80 +7A80 +4A80 +07E0 +ENDCHAR +STARTCHAR U_780C +ENCODING 30732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FDE0 +24A0 +27A0 +7CA0 +D4A0 +55A0 +56A0 +7520 +5220 +0460 +ENDCHAR +STARTCHAR U_780D +ENCODING 30733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +23E0 +2420 +7940 +C900 +4900 +4900 +7A80 +4C40 +0820 +ENDCHAR +STARTCHAR U_780E +ENCODING 30734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2280 +2440 +7820 +CA40 +4A40 +4A40 +4A40 +7A40 +4440 +0840 +ENDCHAR +STARTCHAR U_780F +ENCODING 30735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FA80 +2440 +2820 +7FC0 +CA40 +4A40 +4A40 +7A40 +4D40 +0880 +ENDCHAR +STARTCHAR U_7810 +ENCODING 30736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +FA40 +2240 +2280 +7AE0 +CA20 +4A40 +4B40 +7C80 +4940 +1620 +ENDCHAR +STARTCHAR U_7811 +ENCODING 30737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F840 +2140 +2240 +7FE0 +C840 +48C0 +4940 +7A40 +4540 +0880 +ENDCHAR +STARTCHAR U_7812 +ENCODING 30738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +F480 +2480 +24A0 +77C0 +D480 +5480 +5480 +75A0 +5620 +0460 +ENDCHAR +STARTCHAR U_7813 +ENCODING 30739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FA40 +2240 +2260 +7C00 +CBE0 +4A40 +4940 +7880 +4940 +0620 +ENDCHAR +STARTCHAR U_7814 +ENCODING 30740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +2240 +2240 +4240 +FFE0 +4A40 +4A40 +4A40 +7A40 +4C40 +0840 +ENDCHAR +STARTCHAR U_7815 +ENCODING 30741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F7C0 +2240 +4240 +7A40 +CD60 +4900 +4FE0 +7900 +4900 +0100 +ENDCHAR +STARTCHAR U_7816 +ENCODING 30742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +2100 +4FE0 +7200 +D200 +57C0 +5040 +7280 +0100 +0080 +ENDCHAR +STARTCHAR U_7817 +ENCODING 30743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2100 +2200 +7A80 +CBE0 +4880 +4FE0 +7880 +4880 +0080 +ENDCHAR +STARTCHAR U_7818 +ENCODING 30744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FBE0 +2080 +22A0 +7AA0 +CAA0 +4BE0 +4880 +78A0 +48A0 +0060 +ENDCHAR +STARTCHAR U_7819 +ENCODING 30745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +2200 +4380 +7280 +D280 +5580 +5480 +7480 +55A0 +0660 +ENDCHAR +STARTCHAR U_781A +ENCODING 30746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +FC40 +2540 +2540 +7D40 +CD40 +4D40 +4900 +79A0 +4AA0 +0C60 +ENDCHAR +STARTCHAR U_781B +ENCODING 30747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +2280 +2440 +7920 +C900 +4FC0 +4840 +7880 +4900 +0200 +ENDCHAR +STARTCHAR U_781C +ENCODING 30748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +2440 +26C0 +7540 +5540 +D540 +56C0 +5440 +7440 +4860 +1020 +ENDCHAR +STARTCHAR U_781D +ENCODING 30749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +27C0 +2100 +7900 +CFE0 +4900 +4900 +7A40 +4FA0 +0220 +ENDCHAR +STARTCHAR U_781E +ENCODING 30750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +27E0 +2100 +77C0 +D100 +5380 +5540 +7920 +5100 +0100 +ENDCHAR +STARTCHAR U_781F +ENCODING 30751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +23E0 +2500 +79E0 +C900 +4900 +49E0 +7900 +4900 +0100 +ENDCHAR +STARTCHAR U_7820 +ENCODING 30752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +FA40 +2240 +23C0 +7A40 +CA40 +4BC0 +4A40 +7A40 +4A40 +0FE0 +ENDCHAR +STARTCHAR U_7821 +ENCODING 30753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +2100 +2100 +7FC0 +C900 +4900 +4940 +7920 +4900 +07E0 +ENDCHAR +STARTCHAR U_7822 +ENCODING 30754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F840 +2040 +2740 +7540 +D540 +5740 +5540 +7040 +5140 +0080 +ENDCHAR +STARTCHAR U_7823 +ENCODING 30755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F880 +27E0 +2420 +7A00 +CA40 +4A80 +4B00 +7A20 +4A20 +01E0 +ENDCHAR +STARTCHAR U_7824 +ENCODING 30756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FC00 +27E0 +2900 +75C0 +D740 +5D40 +5500 +7520 +5420 +03E0 +ENDCHAR +STARTCHAR U_7825 +ENCODING 30757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0060 +FF80 +2480 +2480 +77E0 +D480 +5480 +5480 +74A0 +5760 +04A0 +ENDCHAR +STARTCHAR U_7826 +ENCODING 30758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1260 +5F80 +5220 +FBE0 +0000 +FFE0 +1000 +3FC0 +5040 +9FC0 +1040 +ENDCHAR +STARTCHAR U_7827 +ENCODING 30759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F880 +20E0 +2080 +7880 +CBE0 +4A20 +4A20 +7A20 +4BE0 +0220 +ENDCHAR +STARTCHAR U_7828 +ENCODING 30760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F880 +27E0 +2420 +77E0 +D400 +57C0 +5480 +7520 +5520 +08E0 +ENDCHAR +STARTCHAR U_7829 +ENCODING 30761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F7E0 +42A0 +4FE0 +7A80 +DFE0 +52A0 +52A0 +72E0 +5480 +0880 +ENDCHAR +STARTCHAR U_782A +ENCODING 30762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +2540 +24C0 +4440 +7FE0 +D540 +54C0 +5440 +77E0 +5040 +0180 +ENDCHAR +STARTCHAR U_782B +ENCODING 30763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F880 +27E0 +2080 +7880 +C880 +4BE0 +4880 +7880 +4880 +07E0 +ENDCHAR +STARTCHAR U_782C +ENCODING 30764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F880 +27E0 +2000 +7C40 +CC40 +4A80 +4A80 +7A80 +4900 +07E0 +ENDCHAR +STARTCHAR U_782D +ENCODING 30765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0060 +FF80 +2100 +2080 +7FE0 +C840 +4880 +4900 +7A00 +4D00 +08E0 +ENDCHAR +STARTCHAR U_782E +ENCODING 30766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FD40 +4880 +3140 +4A20 +FFE0 +0800 +1FC0 +7040 +1FC0 +1040 +ENDCHAR +STARTCHAR U_782F +ENCODING 30767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FA80 +20A0 +27C0 +7280 +D280 +52C0 +52A0 +74A0 +5AA0 +0100 +ENDCHAR +STARTCHAR U_7830 +ENCODING 30768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +24A0 +7AA0 +4AC0 +C880 +4FE0 +4880 +7880 +4880 +0080 +ENDCHAR +STARTCHAR U_7831 +ENCODING 30769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD80 +2180 +2240 +7D20 +C880 +4FE0 +4840 +4A80 +7900 +4880 +0040 +ENDCHAR +STARTCHAR U_7832 +ENCODING 30770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBE0 +2420 +2820 +77A0 +D4A0 +57A0 +5440 +7420 +5420 +03E0 +ENDCHAR +STARTCHAR U_7833 +ENCODING 30771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2100 +2100 +4100 +F9E0 +4B20 +4D20 +4920 +7920 +49E0 +0120 +ENDCHAR +STARTCHAR U_7834 +ENCODING 30772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F880 +27E0 +24A0 +7480 +D7E0 +5520 +5540 +7480 +0940 +1620 +ENDCHAR +STARTCHAR U_7835 +ENCODING 30773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2100 +27E0 +2100 +7380 +5540 +D920 +5100 +77C0 +5100 +0100 +ENDCHAR +STARTCHAR U_7836 +ENCODING 30774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FD00 +23E0 +2220 +7A20 +4BE0 +CA20 +4A20 +4A20 +7BE0 +4A20 +ENDCHAR +STARTCHAR U_7837 +ENCODING 30775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F880 +23E0 +22A0 +7BE0 +4AA0 +CAA0 +4BE0 +7880 +4880 +0080 +ENDCHAR +STARTCHAR U_7838 +ENCODING 30776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +2480 +2480 +77E0 +D6A0 +56A0 +56A0 +56E0 +7480 +4480 +07E0 +ENDCHAR +STARTCHAR U_7839 +ENCODING 30777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FFE0 +2240 +4000 +7440 +D240 +5240 +5280 +7180 +5240 +0C20 +ENDCHAR +STARTCHAR U_783A +ENCODING 30778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FC00 +2400 +47E0 +7500 +D5E0 +5520 +5520 +7520 +5AA0 +0440 +ENDCHAR +STARTCHAR U_783B +ENCODING 30779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +7FE0 +0A80 +1320 +6DE0 +0000 +7FE0 +1000 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_783C +ENCODING 30780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +2280 +2440 +7820 +D7C0 +5100 +5100 +7100 +5100 +0FE0 +ENDCHAR +STARTCHAR U_783D +ENCODING 30781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +F7E0 +2520 +4520 +77E0 +D520 +5520 +57E0 +7520 +4920 +1060 +ENDCHAR +STARTCHAR U_783E +ENCODING 30782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F060 +2780 +2400 +4480 +7480 +DFE0 +5080 +52C0 +74A0 +58A0 +11A0 +ENDCHAR +STARTCHAR U_783F +ENCODING 30783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F880 +47E0 +4400 +7480 +D480 +5500 +7540 +5A20 +0BE0 +1020 +ENDCHAR +STARTCHAR U_7840 +ENCODING 30784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FAA0 +22A0 +22A0 +7BE0 +C880 +4AA0 +4AA0 +7AA0 +4BE0 +0220 +ENDCHAR +STARTCHAR U_7841 +ENCODING 30785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +F7C0 +2080 +4100 +7280 +DC60 +57C0 +5100 +7100 +5100 +0FE0 +ENDCHAR +STARTCHAR U_7842 +ENCODING 30786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F980 +2240 +2420 +7BE0 +4900 +C900 +4BC0 +4900 +7900 +4FE0 +ENDCHAR +STARTCHAR U_7843 +ENCODING 30787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +FD00 +27C0 +2900 +7100 +DFE0 +5100 +5380 +7540 +5920 +1120 +ENDCHAR +STARTCHAR U_7844 +ENCODING 30788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F920 +2540 +4340 +7FE0 +4A80 +CA80 +4A80 +7AA0 +44A0 +0860 +ENDCHAR +STARTCHAR U_7845 +ENCODING 30789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +2100 +4100 +7FE0 +D100 +5100 +57C0 +7100 +5100 +0FE0 +ENDCHAR +STARTCHAR U_7846 +ENCODING 30790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F880 +2140 +2220 +45C0 +7800 +CBE0 +4A20 +4A20 +7BE0 +4220 +ENDCHAR +STARTCHAR U_7847 +ENCODING 30791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2420 +2660 +75A0 +D4A0 +5560 +5620 +7420 +57E0 +0420 +ENDCHAR +STARTCHAR U_7848 +ENCODING 30792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F880 +27E0 +2080 +7BE0 +C800 +4BE0 +4A20 +7A20 +4BE0 +0220 +ENDCHAR +STARTCHAR U_7849 +ENCODING 30793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +2140 +27E0 +7140 +D7C0 +5100 +57C0 +7100 +5FE0 +0100 +ENDCHAR +STARTCHAR U_784A +ENCODING 30794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F3C0 +2480 +27E0 +7C00 +D5C0 +5540 +55C0 +7520 +5520 +08E0 +ENDCHAR +STARTCHAR U_784B +ENCODING 30795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +2220 +7B40 +4880 +C920 +4A40 +7880 +4940 +0620 +ENDCHAR +STARTCHAR U_784C +ENCODING 30796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F3E0 +2640 +2980 +7240 +D420 +53E0 +5220 +7220 +53E0 +0220 +ENDCHAR +STARTCHAR U_784D +ENCODING 30797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +27C0 +2440 +77C0 +D540 +5520 +5540 +7480 +5540 +0620 +ENDCHAR +STARTCHAR U_784E +ENCODING 30798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F20 +FA20 +2AA0 +2AA0 +7FA0 +DAA0 +5AA0 +5AA0 +7A20 +5A20 +1260 +ENDCHAR +STARTCHAR U_784F +ENCODING 30799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +2440 +2440 +4440 +7EE0 +D440 +5440 +5440 +7840 +4840 +1040 +ENDCHAR +STARTCHAR U_7850 +ENCODING 30800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F820 +4BA0 +4820 +EBA0 +AAA0 +ABA0 +AAA0 +E820 +A820 +0860 +ENDCHAR +STARTCHAR U_7851 +ENCODING 30801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0420 +FA40 +27E0 +4240 +7A40 +CFE0 +4A40 +4A40 +7C40 +4440 +0840 +ENDCHAR +STARTCHAR U_7852 +ENCODING 30802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F280 +4280 +4FE0 +EAA0 +AAA0 +AAA0 +ACE0 +E820 +AFE0 +0820 +ENDCHAR +STARTCHAR U_7853 +ENCODING 30803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBA0 +2120 +2140 +7FE0 +4900 +CA40 +4EC0 +4B00 +7A20 +49E0 +ENDCHAR +STARTCHAR U_7854 +ENCODING 30804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FA80 +2280 +4FE0 +7A80 +CA80 +4FE0 +4800 +7A80 +4460 +0820 +ENDCHAR +STARTCHAR U_7855 +ENCODING 30805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F880 +23E0 +2220 +7AA0 +CAA0 +4AA0 +4AA0 +7AA0 +4940 +0620 +ENDCHAR +STARTCHAR U_7856 +ENCODING 30806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +27E0 +2920 +7540 +D100 +5FE0 +5100 +7280 +5440 +0820 +ENDCHAR +STARTCHAR U_7857 +ENCODING 30807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0260 +FF80 +22A0 +2120 +72E0 +D000 +5FC0 +5280 +72A0 +54A0 +0860 +ENDCHAR +STARTCHAR U_7858 +ENCODING 30808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2820 +2820 +4BA0 +FAA0 +5AA0 +5BA0 +5820 +7820 +4FE0 +0820 +ENDCHAR +STARTCHAR U_7859 +ENCODING 30809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FAA0 +22A0 +23E0 +7800 +4BE0 +C820 +4BE0 +4A00 +7A20 +49E0 +ENDCHAR +STARTCHAR U_785A +ENCODING 30810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F700 +2100 +47E0 +7280 +D440 +5AA0 +5280 +7280 +5480 +0880 +ENDCHAR +STARTCHAR U_785B +ENCODING 30811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F900 +2FE0 +2280 +7280 +D6C0 +5AA0 +52A0 +7280 +5480 +0980 +ENDCHAR +STARTCHAR U_785C +ENCODING 30812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F000 +22A0 +2540 +7540 +D2A0 +5000 +57C0 +7100 +5100 +07E0 +ENDCHAR +STARTCHAR U_785D +ENCODING 30813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F4A0 +22C0 +2080 +77E0 +D420 +57E0 +5420 +77E0 +5420 +04E0 +ENDCHAR +STARTCHAR U_785E +ENCODING 30814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +23E0 +2480 +77E0 +D000 +53E0 +5220 +7220 +53E0 +0220 +ENDCHAR +STARTCHAR U_785F +ENCODING 30815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C60 +F7C0 +2540 +2560 +7D40 +5540 +D540 +57E0 +7400 +4B00 +10E0 +ENDCHAR +STARTCHAR U_7860 +ENCODING 30816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +27C0 +2440 +77C0 +D440 +57E0 +5540 +7480 +5540 +0620 +ENDCHAR +STARTCHAR U_7861 +ENCODING 30817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +4920 +4100 +7FE0 +5200 +D280 +5500 +5A40 +77E0 +5220 +ENDCHAR +STARTCHAR U_7862 +ENCODING 30818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F280 +2440 +2FE0 +7100 +DFE0 +5100 +5540 +7520 +5920 +0300 +ENDCHAR +STARTCHAR U_7863 +ENCODING 30819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBE0 +2140 +27E0 +7900 +CBC0 +4C80 +4BE0 +7880 +4880 +0180 +ENDCHAR +STARTCHAR U_7864 +ENCODING 30820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +2FE0 +2540 +7540 +DBA0 +5120 +5100 +7280 +5440 +0820 +ENDCHAR +STARTCHAR U_7865 +ENCODING 30821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +F480 +2FE0 +2440 +7680 +D740 +56A0 +5740 +5AA0 +7B20 +15E0 +ENDCHAR +STARTCHAR U_7866 +ENCODING 30822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F900 +27C0 +2100 +7FE0 +CA40 +4A40 +4FE0 +7A40 +4440 +0840 +ENDCHAR +STARTCHAR U_7867 +ENCODING 30823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2140 +23E0 +42A0 +7BE0 +CAA0 +4BE0 +4AA0 +7AA0 +4AA0 +0240 +ENDCHAR +STARTCHAR U_7868 +ENCODING 30824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +27C0 +7540 +D7C0 +5540 +57C0 +7100 +5FE0 +0100 +ENDCHAR +STARTCHAR U_7869 +ENCODING 30825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FF80 +2400 +37E0 +E480 +2880 +FFE0 +0800 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_786A +ENCODING 30826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +FEC0 +22A0 +2FE0 +7280 +D2A0 +53A0 +5EC0 +72A0 +5360 +0620 +ENDCHAR +STARTCHAR U_786B +ENCODING 30827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2240 +27C0 +7020 +D540 +5540 +5540 +7540 +5940 +1060 +ENDCHAR +STARTCHAR U_786C +ENCODING 30828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F100 +27E0 +2520 +77E0 +D520 +57E0 +5900 +7500 +5300 +0CE0 +ENDCHAR +STARTCHAR U_786D +ENCODING 30829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F240 +27E0 +2240 +7080 +D7E0 +5200 +5200 +7200 +5200 +03E0 +ENDCHAR +STARTCHAR U_786E +ENCODING 30830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F3C0 +2480 +4FE0 +F520 +57E0 +5520 +57E0 +7520 +4520 +0860 +ENDCHAR +STARTCHAR U_786F +ENCODING 30831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +2440 +27C0 +7440 +D7C0 +5440 +57C0 +72A0 +54A0 +0860 +ENDCHAR +STARTCHAR U_7870 +ENCODING 30832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2540 +A920 +5140 +CF80 +4000 +FFE0 +1000 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_7871 +ENCODING 30833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F520 +2520 +27E0 +7520 +D5A0 +5760 +5520 +7520 +57E0 +0420 +ENDCHAR +STARTCHAR U_7872 +ENCODING 30834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +2440 +2920 +4280 +7A40 +CC20 +4BC0 +4A40 +4A40 +7BC0 +4A40 +ENDCHAR +STARTCHAR U_7873 +ENCODING 30835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +2100 +4FE0 +7280 +D6C0 +5AA0 +72A0 +5480 +0A80 +1100 +ENDCHAR +STARTCHAR U_7874 +ENCODING 30836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F7E0 +2240 +2100 +7A80 +CEA0 +4AC0 +4B80 +7AA0 +4AA0 +02E0 +ENDCHAR +STARTCHAR U_7875 +ENCODING 30837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F8E0 +2080 +23E0 +7A20 +4B60 +CAA0 +4B60 +7A20 +4BE0 +0220 +ENDCHAR +STARTCHAR U_7876 +ENCODING 30838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F520 +27E0 +2100 +7280 +5440 +D920 +57C0 +5040 +7080 +5100 +ENDCHAR +STARTCHAR U_7877 +ENCODING 30839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +2280 +2440 +7BA0 +D000 +5A40 +5540 +7440 +5080 +0FE0 +ENDCHAR +STARTCHAR U_7878 +ENCODING 30840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FAA0 +23E0 +2000 +77E0 +D400 +55C0 +5480 +77E0 +4880 +1080 +ENDCHAR +STARTCHAR U_7879 +ENCODING 30841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E940 +4940 +5F40 +EA20 +AEA0 +B880 +A880 +A900 +E940 +A920 +0BE0 +ENDCHAR +STARTCHAR U_787A +ENCODING 30842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2100 +2220 +4540 +7D80 +D2C0 +55A0 +52A0 +7580 +4880 +0300 +ENDCHAR +STARTCHAR U_787B +ENCODING 30843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A220 +F940 +A8C0 +F940 +A220 +FFE0 +0800 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_787C +ENCODING 30844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +4AA0 +4AA0 +EEE0 +AAA0 +AAA0 +AEE0 +AAA0 +EAA0 +B2A0 +2760 +ENDCHAR +STARTCHAR U_787D +ENCODING 30845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2240 +2520 +7FC0 +5540 +D7C0 +5540 +77C0 +5120 +01E0 +ENDCHAR +STARTCHAR U_787E +ENCODING 30846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +2FE0 +2540 +7540 +DFE0 +5540 +5540 +7FE0 +5100 +07C0 +ENDCHAR +STARTCHAR U_787F +ENCODING 30847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2820 +2280 +7440 +D000 +57C0 +5100 +7100 +5100 +0FE0 +ENDCHAR +STARTCHAR U_7880 +ENCODING 30848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +2480 +2100 +77C0 +D140 +5FE0 +5140 +77C0 +4100 +0300 +ENDCHAR +STARTCHAR U_7881 +ENCODING 30849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +7FE0 +1080 +1E80 +1780 +1080 +FFE0 +5040 +BFA0 +5080 +1F80 +ENDCHAR +STARTCHAR U_7882 +ENCODING 30850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2820 +27C0 +7800 +CFE0 +4900 +4B40 +7D20 +4920 +0300 +ENDCHAR +STARTCHAR U_7883 +ENCODING 30851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +27C0 +7100 +DFE0 +5440 +57C0 +7440 +57C0 +04C0 +ENDCHAR +STARTCHAR U_7884 +ENCODING 30852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +F480 +2FE0 +2480 +76C0 +DDA0 +56A0 +54A0 +7480 +5480 +0480 +ENDCHAR +STARTCHAR U_7885 +ENCODING 30853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E8A0 +4B20 +4920 +EFE0 +A920 +ABA0 +AD60 +E920 +AFE0 +0820 +ENDCHAR +STARTCHAR U_7886 +ENCODING 30854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +2920 +CFC0 +4B00 +5480 +FFE0 +1000 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_7887 +ENCODING 30855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2420 +2000 +77E0 +D080 +5480 +54E0 +7480 +5A80 +11E0 +ENDCHAR +STARTCHAR U_7888 +ENCODING 30856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +FA80 +23E0 +6280 +7B60 +CA20 +4BE0 +4A20 +7BE0 +4A20 +03E0 +ENDCHAR +STARTCHAR U_7889 +ENCODING 30857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F920 +4BA0 +4920 +EFE0 +A820 +ABA0 +AAA0 +EBA0 +B020 +2060 +ENDCHAR +STARTCHAR U_788A +ENCODING 30858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F7E0 +2280 +4120 +7AA0 +CCC0 +4FE0 +4A80 +7900 +4AA0 +0460 +ENDCHAR +STARTCHAR U_788B +ENCODING 30859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F540 +27C0 +4000 +7FE0 +D040 +5740 +5540 +7740 +5040 +00C0 +ENDCHAR +STARTCHAR U_788C +ENCODING 30860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F840 +27C0 +2040 +7FE0 +D920 +5540 +5380 +7540 +5920 +0300 +ENDCHAR +STARTCHAR U_788D +ENCODING 30861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +27C0 +2440 +77C0 +D000 +57E0 +5080 +7FE0 +5480 +0380 +ENDCHAR +STARTCHAR U_788E +ENCODING 30862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2440 +2440 +7AA0 +D120 +5100 +5FE0 +7100 +5100 +0100 +ENDCHAR +STARTCHAR U_788F +ENCODING 30863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F7E0 +2240 +27E0 +7800 +CBE0 +4A20 +4BE0 +7A20 +4BE0 +0220 +ENDCHAR +STARTCHAR U_7890 +ENCODING 30864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F7C0 +2200 +4FE0 +7480 +DA40 +57E0 +5480 +7300 +44E0 +1840 +ENDCHAR +STARTCHAR U_7891 +ENCODING 30865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2520 +27E0 +7520 +D7E0 +5280 +5FE0 +7080 +5080 +0080 +ENDCHAR +STARTCHAR U_7892 +ENCODING 30866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +2280 +2440 +7BA0 +5100 +DFC0 +5100 +5540 +7380 +4FE0 +ENDCHAR +STARTCHAR U_7893 +ENCODING 30867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FA80 +27E0 +2C80 +77E0 +D480 +5480 +57E0 +7480 +5480 +07E0 +ENDCHAR +STARTCHAR U_7894 +ENCODING 30868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +EEC0 +40A0 +5FE0 +E280 +AA80 +AB80 +AA80 +EAA0 +AF60 +1820 +ENDCHAR +STARTCHAR U_7895 +ENCODING 30869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2280 +2440 +7FE0 +D040 +5740 +5540 +7740 +5040 +01C0 +ENDCHAR +STARTCHAR U_7896 +ENCODING 30870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +F440 +4BA0 +4000 +EFE0 +AAA0 +AAA0 +AFE0 +EAA0 +AAA0 +0860 +ENDCHAR +STARTCHAR U_7897 +ENCODING 30871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2A20 +27C0 +7540 +D540 +5340 +53C0 +7520 +5520 +08E0 +ENDCHAR +STARTCHAR U_7898 +ENCODING 30872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +2FE0 +2AA0 +7FE0 +DAA0 +5AA0 +5FE0 +7280 +5440 +0820 +ENDCHAR +STARTCHAR U_7899 +ENCODING 30873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F6A0 +2520 +27E0 +7520 +D560 +5560 +5560 +77E0 +5420 +0460 +ENDCHAR +STARTCHAR U_789A +ENCODING 30874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2240 +2180 +77E0 +D000 +53E0 +5220 +7220 +53E0 +0220 +ENDCHAR +STARTCHAR U_789B +ENCODING 30875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +27C0 +7100 +DFE0 +5440 +5540 +7540 +5280 +0C60 +ENDCHAR +STARTCHAR U_789C +ENCODING 30876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F240 +27A0 +2100 +7FE0 +D540 +5AA0 +5520 +7240 +5180 +0600 +ENDCHAR +STARTCHAR U_789D +ENCODING 30877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +4100 +4FE0 +8AA0 +EAA0 +AAA0 +AAA0 +A100 +EFE0 +8280 +0C60 +ENDCHAR +STARTCHAR U_789E +ENCODING 30878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +1080 +1F80 +0000 +7BC0 +4A40 +FFE0 +1000 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_789F +ENCODING 30879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FFE0 +2540 +25C0 +7400 +D7E0 +5100 +5FE0 +7580 +5940 +1120 +ENDCHAR +STARTCHAR U_78A0 +ENCODING 30880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2440 +27C0 +7000 +DFE0 +5820 +57C0 +7100 +5500 +0200 +ENDCHAR +STARTCHAR U_78A1 +ENCODING 30881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +2FE0 +7540 +D540 +5FE0 +5540 +77E0 +5040 +0180 +ENDCHAR +STARTCHAR U_78A2 +ENCODING 30882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +4740 +4540 +EFE0 +A820 +ABA0 +AAA0 +EBA0 +A820 +0860 +ENDCHAR +STARTCHAR U_78A3 +ENCODING 30883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +27C0 +2440 +77C0 +D200 +57E0 +5D20 +76A0 +57A0 +00C0 +ENDCHAR +STARTCHAR U_78A4 +ENCODING 30884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +2440 +2100 +77C0 +D540 +5540 +5FE0 +7280 +5440 +0820 +ENDCHAR +STARTCHAR U_78A5 +ENCODING 30885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4820 +4FE0 +E800 +AFE0 +AAA0 +AFE0 +EAA0 +BAA0 +0860 +ENDCHAR +STARTCHAR U_78A6 +ENCODING 30886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F7E0 +4A20 +47C0 +7A40 +5180 +D640 +5820 +77C0 +5440 +07C0 +ENDCHAR +STARTCHAR U_78A7 +ENCODING 30887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +27E0 +74A0 +2520 +FFE0 +0000 +FFE0 +1000 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_78A8 +ENCODING 30888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F520 +27E0 +2520 +77E0 +D000 +5FE0 +5540 +7480 +5540 +0620 +ENDCHAR +STARTCHAR U_78A9 +ENCODING 30889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +F880 +23E0 +2220 +7BE0 +CA20 +4BE0 +4A20 +7BE0 +4940 +0620 +ENDCHAR +STARTCHAR U_78AA +ENCODING 30890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FFE0 +2240 +23C0 +7240 +D3C0 +5240 +5FE0 +7540 +5620 +07E0 +ENDCHAR +STARTCHAR U_78AB +ENCODING 30891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +06E0 +F4A0 +24A0 +2720 +7400 +D7E0 +54A0 +55A0 +7E40 +54A0 +0520 +ENDCHAR +STARTCHAR U_78AC +ENCODING 30892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F520 +2520 +27E0 +7400 +D7E0 +54A0 +54A0 +7740 +54A0 +0520 +ENDCHAR +STARTCHAR U_78AD +ENCODING 30893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +27C0 +2440 +7FE0 +D400 +57E0 +5AA0 +74A0 +5920 +0240 +ENDCHAR +STARTCHAR U_78AE +ENCODING 30894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +47C0 +4440 +F7C0 +5000 +5FE0 +5100 +75C0 +5700 +09E0 +ENDCHAR +STARTCHAR U_78AF +ENCODING 30895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +02A0 +F540 +22A0 +43E0 +7A20 +CB60 +4AA0 +4B60 +7A20 +4BE0 +0220 +ENDCHAR +STARTCHAR U_78B0 +ENCODING 30896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FA80 +27E0 +2280 +7AA0 +DAA0 +56C0 +56C0 +7280 +5280 +0FE0 +ENDCHAR +STARTCHAR U_78B1 +ENCODING 30897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F0A0 +4FE0 +4880 +EF80 +A880 +AEA0 +AAA0 +EEC0 +A960 +1220 +ENDCHAR +STARTCHAR U_78B2 +ENCODING 30898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2280 +2FE0 +7920 +D7C0 +5540 +5540 +7540 +55C0 +0100 +ENDCHAR +STARTCHAR U_78B3 +ENCODING 30899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +2FE0 +4200 +7FE0 +D280 +52A0 +52C0 +5580 +7880 +0140 +0620 +ENDCHAR +STARTCHAR U_78B4 +ENCODING 30900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2540 +2920 +77C0 +D440 +57C0 +5440 +77C0 +5000 +0FE0 +ENDCHAR +STARTCHAR U_78B5 +ENCODING 30901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F9E0 +2100 +47C0 +7440 +D7C0 +5440 +57C0 +7440 +57C0 +0820 +ENDCHAR +STARTCHAR U_78B6 +ENCODING 30902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +EFE0 +44A0 +4EA0 +74A0 +DFA0 +5500 +5FE0 +7100 +46C0 +0820 +ENDCHAR +STARTCHAR U_78B7 +ENCODING 30903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E880 +4FE0 +4880 +EBE0 +AA20 +ABE0 +AA20 +EBE0 +9220 +23E0 +ENDCHAR +STARTCHAR U_78B8 +ENCODING 30904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFC0 +5040 +5F40 +F440 +BF40 +B540 +BF40 +F440 +9F40 +2020 +ENDCHAR +STARTCHAR U_78B9 +ENCODING 30905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2820 +2000 +7FE0 +D440 +57C0 +5440 +77C0 +5000 +0FE0 +ENDCHAR +STARTCHAR U_78BA +ENCODING 30906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2A20 +2280 +77E0 +D480 +5FE0 +5480 +77E0 +5480 +07E0 +ENDCHAR +STARTCHAR U_78BB +ENCODING 30907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2240 +23C0 +7800 +CFE0 +4820 +4BA0 +7AA0 +4BA0 +0860 +ENDCHAR +STARTCHAR U_78BC +ENCODING 30908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FD00 +27C0 +2500 +77C0 +D500 +57E0 +5020 +7560 +5AA0 +0AE0 +ENDCHAR +STARTCHAR U_78BD +ENCODING 30909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F100 +2FE0 +4000 +F7C0 +5440 +57C0 +7440 +57C0 +0280 +0440 +ENDCHAR +STARTCHAR U_78BE +ENCODING 30910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F420 +27E0 +2540 +77E0 +D540 +57E0 +5540 +7560 +55A0 +0920 +ENDCHAR +STARTCHAR U_78BF +ENCODING 30911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F820 +4FE0 +4880 +EAA0 +ABE0 +AA20 +ABE0 +EA20 +8BE0 +1220 +ENDCHAR +STARTCHAR U_78C0 +ENCODING 30912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +F140 +2BE0 +4480 +72A0 +DEA0 +57E0 +5480 +7500 +4600 +09E0 +ENDCHAR +STARTCHAR U_78C1 +ENCODING 30913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F280 +2FE0 +2480 +74A0 +DB20 +5FC0 +5240 +7480 +5B40 +1DA0 +ENDCHAR +STARTCHAR U_78C2 +ENCODING 30914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FDE0 +48A0 +4EA0 +7940 +D7C0 +5540 +57C0 +5540 +77C0 +0440 +ENDCHAR +STARTCHAR U_78C3 +ENCODING 30915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +F4E0 +2480 +27E0 +74A0 +D7C0 +54A0 +55E0 +7540 +5540 +0A60 +ENDCHAR +STARTCHAR U_78C4 +ENCODING 30916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +27C0 +2540 +77E0 +D540 +57C0 +5500 +77C0 +4A40 +13C0 +ENDCHAR +STARTCHAR U_78C5 +ENCODING 30917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2280 +2FE0 +7920 +DFE0 +5200 +53E0 +7220 +5420 +08C0 +ENDCHAR +STARTCHAR U_78C6 +ENCODING 30918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +4740 +4540 +77E0 +D820 +57C0 +5440 +77C0 +5440 +0440 +ENDCHAR +STARTCHAR U_78C7 +ENCODING 30919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +2540 +26C0 +7540 +57C0 +D480 +56A0 +74C0 +56A0 +0440 +ENDCHAR +STARTCHAR U_78C8 +ENCODING 30920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2520 +27E0 +7520 +D7E0 +5140 +51A0 +73E0 +5520 +08E0 +ENDCHAR +STARTCHAR U_78C9 +ENCODING 30921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F280 +2140 +2280 +77E0 +D540 +52A0 +5500 +7FE0 +5540 +0920 +ENDCHAR +STARTCHAR U_78CA +ENCODING 30922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +1F80 +3080 +DF80 +0000 +FBE0 +4100 +FBE0 +4920 +79E0 +ENDCHAR +STARTCHAR U_78CB +ENCODING 30923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FA80 +27E0 +2100 +73E0 +D100 +57E0 +5200 +77E0 +5880 +07E0 +ENDCHAR +STARTCHAR U_78CC +ENCODING 30924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +27C0 +7440 +D740 +55C0 +5440 +7FE0 +5280 +0C60 +ENDCHAR +STARTCHAR U_78CD +ENCODING 30925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2920 +27C0 +7100 +D7C0 +5100 +5FE0 +7440 +57C0 +0440 +ENDCHAR +STARTCHAR U_78CE +ENCODING 30926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F80 +FA20 +2540 +2280 +7740 +D220 +5FE0 +5100 +7FE0 +5280 +0C60 +ENDCHAR +STARTCHAR U_78CF +ENCODING 30927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +FFE0 +2500 +2FC0 +7540 +DFE0 +5540 +5FC0 +7580 +5D40 +0520 +ENDCHAR +STARTCHAR U_78D0 +ENCODING 30928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +7D60 +57C0 +FD40 +5480 +4540 +7FE0 +1000 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_78D1 +ENCODING 30929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0520 +F520 +27E0 +2000 +7FE0 +D000 +57C0 +5440 +77C0 +5280 +0FE0 +ENDCHAR +STARTCHAR U_78D2 +ENCODING 30930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +07C0 +F440 +27C0 +4000 +77C0 +D440 +57C0 +5440 +77C0 +4280 +0440 +ENDCHAR +STARTCHAR U_78D3 +ENCODING 30931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F9E0 +2520 +21E0 +7D00 +D5E0 +5520 +55E0 +7520 +4600 +09E0 +ENDCHAR +STARTCHAR U_78D4 +ENCODING 30932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +2940 +2540 +73E0 +D440 +5900 +5FE0 +7380 +5540 +0920 +ENDCHAR +STARTCHAR U_78D5 +ENCODING 30933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +2100 +2FE0 +7240 +D7E0 +5020 +57C0 +7540 +5540 +0FE0 +ENDCHAR +STARTCHAR U_78D6 +ENCODING 30934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +FAA0 +2660 +2AA0 +7120 +D7C0 +5440 +57C0 +7440 +47C0 +0440 +ENDCHAR +STARTCHAR U_78D7 +ENCODING 30935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +FFC0 +2100 +27C0 +7540 +D7C0 +5540 +7080 +5FE0 +0480 +0180 +ENDCHAR +STARTCHAR U_78D8 +ENCODING 30936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F700 +44A0 +4240 +7400 +D7C0 +5900 +5FE0 +7100 +5540 +07C0 +ENDCHAR +STARTCHAR U_78D9 +ENCODING 30937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2280 +2540 +7220 +D7E0 +5280 +52A0 +7640 +5AA0 +0320 +ENDCHAR +STARTCHAR U_78DA +ENCODING 30938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2540 +27C0 +7540 +D7E0 +5040 +5FE0 +7440 +5240 +00C0 +ENDCHAR +STARTCHAR U_78DB +ENCODING 30939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5500 +7DE0 +5540 +FD40 +1240 +FFE0 +1000 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_78DC +ENCODING 30940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E6E0 +49A0 +5640 +74A0 +DBC0 +5000 +5FE0 +7540 +4920 +0200 +ENDCHAR +STARTCHAR U_78DD +ENCODING 30941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FF80 +44E0 +5F20 +E9A0 +BEA0 +A8A0 +AEA0 +EA40 +B2A0 +2520 +ENDCHAR +STARTCHAR U_78DE +ENCODING 30942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +FFE0 +4000 +4EE0 +EAA0 +AEE0 +AAA0 +AEE0 +EAA0 +AAA0 +1760 +ENDCHAR +STARTCHAR U_78DF +ENCODING 30943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F5A0 +2360 +25A0 +7140 +DEA0 +5340 +5080 +7320 +5040 +0780 +ENDCHAR +STARTCHAR U_78E0 +ENCODING 30944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F1E0 +2100 +27E0 +7520 +D660 +54A0 +5760 +75A0 +5660 +07E0 +ENDCHAR +STARTCHAR U_78E1 +ENCODING 30945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A80 +FF80 +4A80 +4FE0 +EAA0 +AEA0 +AAA0 +BFA0 +B2A0 +F5A0 +1F60 +ENDCHAR +STARTCHAR U_78E2 +ENCODING 30946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +2BA0 +7540 +DBA0 +5540 +5BA0 +7280 +5440 +0820 +ENDCHAR +STARTCHAR U_78E3 +ENCODING 30947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +F3C0 +2440 +2AA0 +7FE0 +D280 +5D60 +5280 +7520 +5240 +0F80 +ENDCHAR +STARTCHAR U_78E4 +ENCODING 30948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FEE0 +4AA0 +4FA0 +EA00 +AEE0 +A8A0 +AEA0 +EA40 +9240 +24A0 +ENDCHAR +STARTCHAR U_78E5 +ENCODING 30949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F520 +27E0 +2520 +77E0 +D240 +5580 +5220 +7FE0 +5540 +1920 +ENDCHAR +STARTCHAR U_78E6 +ENCODING 30950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F280 +4FE0 +4AA0 +7FE0 +D000 +57C0 +5000 +7FE0 +4540 +0920 +ENDCHAR +STARTCHAR U_78E7 +ENCODING 30951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +2FE0 +7440 +D7C0 +5440 +57C0 +7440 +57C0 +0C60 +ENDCHAR +STARTCHAR U_78E8 +ENCODING 30952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +5DC0 +6AA0 +7FE0 +4400 +5FC0 +6840 +8FC0 +ENDCHAR +STARTCHAR U_78E9 +ENCODING 30953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00A0 +FFE0 +2480 +2780 +74A0 +DFA0 +54A0 +56C0 +7CA0 +5560 +0E20 +ENDCHAR +STARTCHAR U_78EA +ENCODING 30954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +04A0 +FCA0 +27E0 +2480 +7FE0 +D480 +57C0 +5480 +77C0 +5480 +07E0 +ENDCHAR +STARTCHAR U_78EB +ENCODING 30955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +E940 +5140 +46A0 +EC00 +B880 +AAC0 +AA80 +EA80 +8B80 +0CE0 +ENDCHAR +STARTCHAR U_78EC +ENCODING 30956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DC0 +1260 +7DC0 +5540 +7C80 +4140 +BFE0 +1000 +3FC0 +5040 +1FC0 +ENDCHAR +STARTCHAR U_78ED +ENCODING 30957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FC00 +27E0 +2540 +7520 +D7E0 +5620 +57E0 +7620 +5BE0 +0260 +ENDCHAR +STARTCHAR U_78EE +ENCODING 30958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +EFE0 +4380 +4440 +EBA0 +A000 +AFE0 +AAA0 +EFE0 +8AA0 +0820 +ENDCHAR +STARTCHAR U_78EF +ENCODING 30959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +F980 +2FE0 +2540 +7BE0 +DD40 +57E0 +5520 +76C0 +48A0 +1360 +ENDCHAR +STARTCHAR U_78F0 +ENCODING 30960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +EFE0 +4100 +47C0 +7100 +DFE0 +5280 +5FE0 +7440 +57C0 +0440 +ENDCHAR +STARTCHAR U_78F1 +ENCODING 30961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F360 +26C0 +4240 +75A0 +D7E0 +5920 +57C0 +7240 +5240 +0480 +ENDCHAR +STARTCHAR U_78F2 +ENCODING 30962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +09E0 +F500 +29E0 +2720 +7DE0 +D500 +55E0 +5100 +7FE0 +5540 +0920 +ENDCHAR +STARTCHAR U_78F3 +ENCODING 30963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F280 +2FE0 +2AA0 +7FE0 +D000 +57C0 +5440 +77C0 +5440 +07C0 +ENDCHAR +STARTCHAR U_78F4 +ENCODING 30964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0740 +F580 +22A0 +2240 +77A0 +D820 +57C0 +5440 +77C0 +5280 +0FE0 +ENDCHAR +STARTCHAR U_78F5 +ENCODING 30965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +4AA0 +4EE0 +EAA0 +AEE0 +ABA0 +AAA0 +ABA0 +EAA0 +8BA0 +0840 +ENDCHAR +STARTCHAR U_78F6 +ENCODING 30966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FEE0 +2420 +46E0 +7420 +D7E0 +5200 +57E0 +7AA0 +5520 +0040 +ENDCHAR +STARTCHAR U_78F7 +ENCODING 30967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0520 +F340 +2FE0 +2340 +7520 +DA40 +57E0 +5940 +77E0 +5440 +0840 +ENDCHAR +STARTCHAR U_78F8 +ENCODING 30968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +4280 +4FE0 +EAA0 +AC60 +AFE0 +A100 +EFE0 +A280 +0C60 +ENDCHAR +STARTCHAR U_78F9 +ENCODING 30969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F280 +2FE0 +2AA0 +7FE0 +D440 +57C0 +5440 +7FE0 +5100 +0100 +ENDCHAR +STARTCHAR U_78FA +ENCODING 30970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +2280 +2FE0 +7000 +D7C0 +5540 +57C0 +7540 +57C0 +0C60 +ENDCHAR +STARTCHAR U_78FB +ENCODING 30971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F520 +2340 +2FE0 +7340 +D520 +5FE0 +5520 +77E0 +5520 +07E0 +ENDCHAR +STARTCHAR U_78FC +ENCODING 30972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +F7E0 +2500 +2FC0 +7500 +D7E0 +5500 +5FE0 +7380 +5540 +0920 +ENDCHAR +STARTCHAR U_78FD +ENCODING 30973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +2100 +2FE0 +7440 +D6E0 +5440 +5FE0 +7280 +54A0 +0860 +ENDCHAR +STARTCHAR U_78FE +ENCODING 30974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +FAA0 +2EE0 +2540 +77C0 +D540 +57C0 +5100 +7FE0 +5100 +0100 +ENDCHAR +STARTCHAR U_78FF +ENCODING 30975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +58C0 +7BE0 +58C0 +75A0 +5280 +7FE0 +4800 +5FC0 +6840 +8FC0 +ENDCHAR +STARTCHAR U_7900 +ENCODING 30976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +4EE0 +4AA0 +EEE0 +ABA0 +AAA0 +ABA0 +EAA0 +8BA0 +0AA0 +ENDCHAR +STARTCHAR U_7901 +ENCODING 30977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +F7E0 +2C80 +27E0 +7480 +D7E0 +5480 +57E0 +7540 +5AA0 +0AA0 +ENDCHAR +STARTCHAR U_7902 +ENCODING 30978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +2FE0 +7440 +D7C0 +5280 +5FE0 +7440 +57C0 +0440 +ENDCHAR +STARTCHAR U_7903 +ENCODING 30979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FFE0 +4820 +47C0 +7440 +D7C0 +5100 +57C0 +7100 +4FE0 +0100 +ENDCHAR +STARTCHAR U_7904 +ENCODING 30980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +F780 +2200 +2FE0 +7440 +DBA0 +5280 +5FE0 +7AA0 +5BA0 +0860 +ENDCHAR +STARTCHAR U_7905 +ENCODING 30981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FF80 +2AE0 +2EA0 +70A0 +DFA0 +52A0 +53A0 +7E40 +52A0 +0720 +ENDCHAR +STARTCHAR U_7906 +ENCODING 30982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F280 +4440 +4BA0 +E000 +AEE0 +AAA0 +AEE0 +E440 +8AA0 +1120 +ENDCHAR +STARTCHAR U_7907 +ENCODING 30983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +4560 +47A0 +F7E0 +55A0 +5560 +5100 +7FE0 +4280 +0C60 +ENDCHAR +STARTCHAR U_7908 +ENCODING 30984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0220 +F140 +47E0 +5100 +EA80 +B960 +AAC0 +A940 +EAA0 +A900 +17E0 +ENDCHAR +STARTCHAR U_7909 +ENCODING 30985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FE80 +2AE0 +2EA0 +7AA0 +DFA0 +54A0 +57A0 +7540 +59A0 +1220 +ENDCHAR +STARTCHAR U_790A +ENCODING 30986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FF40 +5540 +7F60 +55C0 +7D40 +0080 +FFE0 +0F80 +3880 +0F80 +ENDCHAR +STARTCHAR U_790B +ENCODING 30987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +FAA0 +4FE0 +4100 +77C0 +D100 +5FE0 +5280 +77C0 +5100 +0100 +ENDCHAR +STARTCHAR U_790C +ENCODING 30988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +4100 +4FE0 +E920 +ABA0 +A540 +AFE0 +A920 +EFE0 +A920 +0FE0 +ENDCHAR +STARTCHAR U_790D +ENCODING 30989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F7E0 +4280 +47C0 +7440 +D7C0 +5560 +54A0 +7D60 +47A0 +0040 +ENDCHAR +STARTCHAR U_790E +ENCODING 30990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +2440 +2EE0 +7540 +DFE0 +50A0 +5480 +74E0 +5A80 +11E0 +ENDCHAR +STARTCHAR U_790F +ENCODING 30991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FAA0 +46C0 +4FE0 +7280 +D7C0 +5100 +7FE0 +4580 +4940 +0100 +ENDCHAR +STARTCHAR U_7910 +ENCODING 30992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6AC0 +4440 +6AC0 +4440 +FFE0 +8020 +7FC0 +1000 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_7911 +ENCODING 30993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FFE0 +2AA0 +2380 +7000 +DFE0 +5920 +5FE0 +7920 +5FE0 +0820 +ENDCHAR +STARTCHAR U_7912 +ENCODING 30994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F7E0 +2100 +2FE0 +7780 +D2A0 +5FE0 +52A0 +7F40 +52A0 +0660 +ENDCHAR +STARTCHAR U_7913 +ENCODING 30995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F540 +27C0 +2540 +7FE0 +D000 +57C0 +5540 +77C0 +5540 +0FE0 +ENDCHAR +STARTCHAR U_7914 +ENCODING 30996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0740 +FDE0 +2520 +27A0 +7440 +D7E0 +5540 +55E0 +7D40 +5740 +0040 +ENDCHAR +STARTCHAR U_7915 +ENCODING 30997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +47E0 +7D40 +4080 +BBE0 +A880 +7FE0 +0800 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_7916 +ENCODING 30998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F760 +25A0 +4760 +75A0 +D6E0 +54A0 +57E0 +7240 +4420 +0820 +ENDCHAR +STARTCHAR U_7917 +ENCODING 30999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2820 +2FE0 +72A0 +D7C0 +5C40 +57C0 +7440 +57C0 +0C60 +ENDCHAR +STARTCHAR U_7918 +ENCODING 31000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +47C0 +4440 +77C0 +DAA0 +5540 +5FE0 +5000 +7AA0 +0AA0 +ENDCHAR +STARTCHAR U_7919 +ENCODING 31001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0BE0 +FCA0 +2940 +2FE0 +7060 +DE40 +5560 +5F40 +7540 +5B40 +04E0 +ENDCHAR +STARTCHAR U_791A +ENCODING 31002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +4200 +4FC0 +E200 +A480 +AFC0 +A000 +EFE0 +AAA0 +1FE0 +ENDCHAR +STARTCHAR U_791B +ENCODING 31003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F80 +FAE0 +2F80 +2940 +7F20 +DA20 +5F80 +5000 +77C0 +5540 +0FE0 +ENDCHAR +STARTCHAR U_791C +ENCODING 31004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6EC0 +4840 +7FC0 +4A40 +FFE0 +1100 +3F80 +D060 +3F80 +D080 +1F80 +ENDCHAR +STARTCHAR U_791D +ENCODING 31005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +2FE0 +2920 +7280 +DFE0 +5100 +5FE0 +7AA0 +5AA0 +0860 +ENDCHAR +STARTCHAR U_791E +ENCODING 31006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +2480 +2FE0 +7820 +DFE0 +5A40 +5580 +7B80 +5540 +0B20 +ENDCHAR +STARTCHAR U_791F +ENCODING 31007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F00 +EAA0 +4FA0 +4A40 +EFA0 +AA00 +AFA0 +AAA0 +F540 +2940 +02A0 +ENDCHAR +STARTCHAR U_7920 +ENCODING 31008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FFE0 +2440 +4880 +7EE0 +5440 +DEE0 +5000 +52A0 +7620 +49C0 +ENDCHAR +STARTCHAR U_7921 +ENCODING 31009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F2A0 +2FE0 +26A0 +7BE0 +D6A0 +53E0 +5440 +7FE0 +5540 +04C0 +ENDCHAR +STARTCHAR U_7922 +ENCODING 31010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +F7E0 +4100 +47E0 +7280 +D7C0 +5C60 +77C0 +5500 +44C0 +0660 +ENDCHAR +STARTCHAR U_7923 +ENCODING 31011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +2280 +2FE0 +7AA0 +DFE0 +5520 +5540 +76A0 +54A0 +0B60 +ENDCHAR +STARTCHAR U_7924 +ENCODING 31012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +2480 +26E0 +7AA0 +D440 +5BA0 +5000 +7FE0 +5540 +0B20 +ENDCHAR +STARTCHAR U_7925 +ENCODING 31013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +FAA0 +2FA0 +2940 +7AA0 +D7E0 +5440 +57C0 +7440 +57C0 +0C60 +ENDCHAR +STARTCHAR U_7926 +ENCODING 31014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2540 +27E0 +7540 +D7E0 +54A0 +57E0 +74A0 +5FE0 +0C20 +ENDCHAR +STARTCHAR U_7927 +ENCODING 31015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +E540 +47C0 +8540 +E7C0 +A000 +AFE0 +AAA0 +AFE0 +EAA0 +0FE0 +ENDCHAR +STARTCHAR U_7928 +ENCODING 31016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +FFE0 +AAA0 +FBE0 +AAA0 +FFE0 +5040 +9FC0 +ENDCHAR +STARTCHAR U_7929 +ENCODING 31017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F480 +27E0 +2540 +7940 +D7C0 +5440 +57C0 +7440 +57C0 +0C60 +ENDCHAR +STARTCHAR U_792A +ENCODING 31018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +FA80 +4FE0 +4A80 +EFC0 +A940 +AFC0 +A940 +EFE0 +A960 +17A0 +ENDCHAR +STARTCHAR U_792B +ENCODING 31019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0520 +EBC0 +4EA0 +4BC0 +EAA0 +BFE0 +A100 +BFE0 +E580 +A940 +1120 +ENDCHAR +STARTCHAR U_792C +ENCODING 31020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +F5E0 +4A80 +E5C0 +4AA0 +FFE0 +2880 +D060 +3F80 +D080 +1F80 +ENDCHAR +STARTCHAR U_792D +ENCODING 31021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +4FE0 +4920 +EBA0 +A540 +AFE0 +B900 +EFE0 +A900 +0FE0 +ENDCHAR +STARTCHAR U_792E +ENCODING 31022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F40 +EBE0 +4A00 +4FA0 +EAA0 +AF00 +AAA0 +AFA0 +E940 +9540 +03A0 +ENDCHAR +STARTCHAR U_792F +ENCODING 31023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A40 +FB60 +26C0 +2920 +7FE0 +DA20 +5780 +5240 +7FE0 +5940 +1320 +ENDCHAR +STARTCHAR U_7930 +ENCODING 31024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +EA40 +4FE0 +4A40 +EBC0 +AE60 +AA40 +A880 +EAE0 +9280 +27E0 +ENDCHAR +STARTCHAR U_7931 +ENCODING 31025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +5200 +FFC0 +8A00 +FBC0 +8A20 +FFE0 +1000 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_7932 +ENCODING 31026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +4A80 +4EE0 +E020 +AEE0 +AA80 +AEE0 +EA80 +AEA0 +0AE0 +ENDCHAR +STARTCHAR U_7933 +ENCODING 31027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +4A40 +4FE0 +EA40 +AFE0 +A900 +ABC0 +EE40 +ABC0 +1240 +ENDCHAR +STARTCHAR U_7934 +ENCODING 31028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F7E0 +4AA0 +47E0 +F2A0 +ABE0 +A6A0 +BFE0 +EA40 +A940 +0880 +ENDCHAR +STARTCHAR U_7935 +ENCODING 31029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F100 +2FE0 +2920 +7AA0 +DF60 +55E0 +5720 +7DE0 +5520 +05E0 +ENDCHAR +STARTCHAR U_7936 +ENCODING 31030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FFE0 +2AA0 +4EE0 +7480 +D7E0 +5C80 +57E0 +7480 +5480 +07E0 +ENDCHAR +STARTCHAR U_7937 +ENCODING 31031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +2280 +47C0 +7460 +D740 +5540 +55A0 +7FE0 +4AA0 +1FE0 +ENDCHAR +STARTCHAR U_7938 +ENCODING 31032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +5FE0 +4540 +FFE0 +AA60 +AFC0 +A840 +AFC0 +E840 +AFC0 +1860 +ENDCHAR +STARTCHAR U_7939 +ENCODING 31033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +5FE0 +5480 +FEE0 +AAA0 +AEA0 +AAC0 +EE40 +ABA0 +1EA0 +ENDCHAR +STARTCHAR U_793A +ENCODING 31034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FC0 +0000 +0000 +FFE0 +0400 +2480 +2440 +4420 +8420 +0C00 +ENDCHAR +STARTCHAR U_793B +ENCODING 31035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 3 -1 +BITMAP +40 +20 +F8 +08 +10 +30 +68 +A8 +20 +20 +20 +ENDCHAR +STARTCHAR U_793C +ENCODING 31036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FA00 +0A00 +1200 +3200 +6A00 +AA00 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_793D +ENCODING 31037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2240 +FA40 +0A80 +12E0 +3220 +6A20 +AA20 +2420 +2920 +30C0 +ENDCHAR +STARTCHAR U_793E +ENCODING 31038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F900 +1100 +27C0 +3100 +6900 +A100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_793F +ENCODING 31039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FBE0 +0C20 +1020 +3220 +6920 +A920 +2020 +2120 +20C0 +ENDCHAR +STARTCHAR U_7940 +ENCODING 31040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +23E0 +FA20 +0A20 +13E0 +3220 +6A00 +AA00 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_7941 +ENCODING 31041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +21E0 +F920 +0940 +1180 +3140 +6920 +A520 +21A0 +2140 +2100 +ENDCHAR +STARTCHAR U_7942 +ENCODING 31042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +22A0 +FAE0 +0BA0 +16A0 +32A0 +6AA0 +AA80 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_7943 +ENCODING 31043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +F240 +1240 +2240 +73E0 +A820 +2020 +2FA0 +2020 +20C0 +ENDCHAR +STARTCHAR U_7944 +ENCODING 31044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2180 +FA40 +0C20 +1240 +3240 +6A40 +AA40 +2240 +2440 +2840 +ENDCHAR +STARTCHAR U_7945 +ENCODING 31045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +F900 +0900 +17E0 +3100 +6900 +A900 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_7946 +ENCODING 31046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +F900 +0900 +17E0 +3100 +6900 +A900 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_7947 +ENCODING 31047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +2780 +F480 +1480 +27E0 +2480 +7480 +AC80 +24A0 +2560 +2620 +ENDCHAR +STARTCHAR U_7948 +ENCODING 31048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +2380 +FA00 +0A00 +13E0 +3240 +6A40 +AA40 +2440 +2440 +2840 +ENDCHAR +STARTCHAR U_7949 +ENCODING 31049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F500 +1500 +25E0 +3500 +6D00 +A500 +2500 +2500 +3FE0 +ENDCHAR +STARTCHAR U_794A +ENCODING 31050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +FFE0 +0900 +11E0 +3120 +6920 +AA20 +2220 +2420 +28C0 +ENDCHAR +STARTCHAR U_794B +ENCODING 31051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2240 +FA40 +0C60 +1000 +37E0 +6A40 +A940 +2080 +2140 +2620 +ENDCHAR +STARTCHAR U_794C +ENCODING 31052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +FBE0 +0AA0 +12A0 +32A0 +6BE0 +A880 +2080 +2080 +2080 +ENDCHAR +STARTCHAR U_794D +ENCODING 31053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F00 +F100 +1100 +2100 +6FE0 +B100 +2100 +2100 +2FE0 +2000 +ENDCHAR +STARTCHAR U_794E +ENCODING 31054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +F200 +2FC0 +6200 +BFE0 +2220 +2220 +22A0 +2240 +2200 +ENDCHAR +STARTCHAR U_794F +ENCODING 31055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +F900 +0900 +1200 +37E0 +6A20 +AA20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_7950 +ENCODING 31056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +0900 +1200 +33E0 +6E20 +AA20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_7951 +ENCODING 31057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +F7C0 +1900 +2100 +37E0 +6900 +A900 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_7952 +ENCODING 31058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2120 +F920 +0920 +12A0 +3440 +6BE0 +AA20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_7953 +ENCODING 31059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2240 +FFE0 +0A00 +13C0 +3240 +6A40 +A540 +2480 +2940 +3220 +ENDCHAR +STARTCHAR U_7954 +ENCODING 31060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2240 +F440 +17E0 +2C40 +3640 +6D40 +A540 +2440 +2540 +2480 +ENDCHAR +STARTCHAR U_7955 +ENCODING 31061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +20A0 +F8A0 +0A20 +1240 +3640 +6AA0 +AB20 +2200 +2620 +39E0 +ENDCHAR +STARTCHAR U_7956 +ENCODING 31062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +17C0 +FC40 +1440 +27C0 +3440 +6C40 +A7C0 +2440 +2440 +2FE0 +ENDCHAR +STARTCHAR U_7957 +ENCODING 31063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +2780 +FC80 +0C80 +17E0 +3480 +6C80 +ACA0 +25A0 +2760 +24A0 +ENDCHAR +STARTCHAR U_7958 +ENCODING 31064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +0000 +FBE0 +1080 +5280 +5AC0 +56A0 +94A0 +90A0 +5280 +2100 +ENDCHAR +STARTCHAR U_7959 +ENCODING 31065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F7C0 +1100 +2FE0 +7100 +AB80 +2540 +2920 +2100 +2100 +ENDCHAR +STARTCHAR U_795A +ENCODING 31066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FBE0 +0D00 +1100 +31E0 +6900 +A9E0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_795B +ENCODING 31067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFC0 +0900 +1100 +37E0 +6900 +AA00 +2240 +2440 +27A0 +ENDCHAR +STARTCHAR U_795C +ENCODING 31068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +FFE0 +0880 +1080 +33E0 +6A20 +AA20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_795D +ENCODING 31069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FC40 +0C40 +17C0 +3280 +6A80 +AA80 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_795E +ENCODING 31070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +FFE0 +14A0 +27E0 +34A0 +6CA0 +A7E0 +2080 +2080 +2080 +ENDCHAR +STARTCHAR U_795F +ENCODING 31071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +3F80 +4440 +7FC0 +0000 +3F80 +0000 +FFE0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7960 +ENCODING 31072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2020 +F7A0 +1020 +27A0 +74A0 +ACA0 +27A0 +24A0 +2020 +20E0 +ENDCHAR +STARTCHAR U_7961 +ENCODING 31073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1220 +5A40 +53A0 +5220 +FBE0 +0000 +3F80 +0000 +FFE0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7962 +ENCODING 31074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +F3E0 +1520 +2940 +7100 +AD40 +2540 +2920 +2920 +2300 +ENDCHAR +STARTCHAR U_7963 +ENCODING 31075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +FC00 +10C0 +2700 +7520 +AD40 +2480 +2480 +2540 +2620 +ENDCHAR +STARTCHAR U_7964 +ENCODING 31076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2EE0 +F220 +1AA0 +2660 +7220 +AA60 +26A0 +2B20 +2220 +2660 +ENDCHAR +STARTCHAR U_7965 +ENCODING 31077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +FFE0 +1100 +27C0 +7100 +A900 +2FE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_7966 +ENCODING 31078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F440 +17C0 +2000 +77C0 +A100 +2FE0 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_7967 +ENCODING 31079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +FAA0 +16C0 +2280 +76C0 +AAA0 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_7968 +ENCODING 31080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +0000 +3F80 +0000 +FFE0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7969 +ENCODING 31081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +F7C0 +1900 +2100 +7FE0 +A900 +2380 +2540 +2920 +3120 +ENDCHAR +STARTCHAR U_796A +ENCODING 31082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2480 +FFE0 +2800 +4BC0 +EA40 +5A40 +4AC0 +4A20 +5220 +61E0 +ENDCHAR +STARTCHAR U_796B +ENCODING 31083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +F440 +1820 +27C0 +7000 +AFC0 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_796C +ENCODING 31084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +17E0 +F900 +1240 +27E0 +7100 +A7C0 +2100 +2100 +2FE0 +2000 +ENDCHAR +STARTCHAR U_796D +ENCODING 31085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +3E40 +4A80 +A900 +5080 +2F40 +4020 +BFC0 +1280 +2A40 +C420 +ENDCHAR +STARTCHAR U_796E +ENCODING 31086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +1100 +27C0 +7000 +AFC0 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_796F +ENCODING 31087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +21E0 +F900 +17E0 +2420 +7520 +AD20 +2520 +2520 +2280 +2C60 +ENDCHAR +STARTCHAR U_7970 +ENCODING 31088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +F7C0 +1900 +2FE0 +7000 +AFE0 +2420 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_7971 +ENCODING 31089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2240 +FA80 +17C0 +2440 +77C0 +AA80 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_7972 +ENCODING 31090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2040 +F7C0 +1040 +27C0 +7000 +AFE0 +2AA0 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_7973 +ENCODING 31091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +FBC0 +1800 +2FE0 +3A80 +6AA0 +AA40 +2AC0 +3340 +2620 +ENDCHAR +STARTCHAR U_7974 +ENCODING 31092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +20A0 +FFE0 +1080 +2A80 +7AA0 +AFA0 +2AC0 +2AA0 +3160 +2220 +ENDCHAR +STARTCHAR U_7975 +ENCODING 31093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +F920 +2FE0 +6920 +BBA0 +2D60 +2920 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_7976 +ENCODING 31094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +F7C0 +1140 +27C0 +7500 +A7E0 +2320 +2520 +2540 +2900 +ENDCHAR +STARTCHAR U_7977 +ENCODING 31095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F100 +17C0 +2200 +77E0 +AC40 +27E0 +2940 +3040 +21C0 +ENDCHAR +STARTCHAR U_7978 +ENCODING 31096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F440 +17C0 +2100 +7FE0 +A920 +2AA0 +2C60 +2820 +28E0 +ENDCHAR +STARTCHAR U_7979 +ENCODING 31097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +FC20 +17A0 +2A20 +77A0 +AA20 +2AA0 +2FA0 +2020 +20C0 +ENDCHAR +STARTCHAR U_797A +ENCODING 31098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2240 +F7E0 +1240 +23C0 +7240 +ABC0 +2240 +2FE0 +2240 +2420 +ENDCHAR +STARTCHAR U_797B +ENCODING 31099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +F920 +1FE0 +2920 +7BA0 +AAA0 +2BA0 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_797C +ENCODING 31100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +F7C0 +1540 +27C0 +7100 +AFE0 +2100 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_797D +ENCODING 31101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F000 +1240 +2240 +75A0 +A900 +2FE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_797E +ENCODING 31102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +F100 +2FE0 +3440 +6A60 +B380 +2680 +2900 +2280 +2C60 +ENDCHAR +STARTCHAR U_797F +ENCODING 31103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2240 +F7C0 +1080 +27E0 +7120 +AD40 +2380 +2540 +2920 +2300 +ENDCHAR +STARTCHAR U_7980 +ENCODING 31104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +5F40 +4040 +7FC0 +0000 +3FC0 +0000 +FFE0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7981 +ENCODING 31105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +71C0 +AAA0 +2080 +7FC0 +0000 +FFE0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7982 +ENCODING 31106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2520 +F7A0 +1520 +27E0 +7420 +AFA0 +26A0 +27A0 +2820 +3060 +ENDCHAR +STARTCHAR U_7983 +ENCODING 31107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F100 +17C0 +2440 +77C0 +AC40 +27C0 +2440 +2440 +2FE0 +ENDCHAR +STARTCHAR U_7984 +ENCODING 31108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2040 +F7C0 +1040 +2FE0 +7140 +AD80 +2340 +2520 +2920 +2300 +ENDCHAR +STARTCHAR U_7985 +ENCODING 31109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +F7C0 +1540 +27C0 +7540 +AFC0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_7986 +ENCODING 31110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2200 +FFE0 +2920 +6FE0 +BA20 +2FE0 +2500 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_7987 +ENCODING 31111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FA0 +F240 +2FE0 +3100 +67C0 +AC40 +37C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_7988 +ENCODING 31112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +F100 +1FE0 +2540 +77C0 +AD40 +27C0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_7989 +ENCODING 31113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +F280 +2FE0 +2AA0 +6EE0 +B820 +2FE0 +2820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_798A +ENCODING 31114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2FE0 +F4A0 +1EA0 +24A0 +6F60 +B500 +2FE0 +2300 +2480 +3860 +ENDCHAR +STARTCHAR U_798B +ENCODING 31115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +FFE0 +1AA0 +2AA0 +6FE0 +B100 +27C0 +2100 +2100 +3FE0 +ENDCHAR +STARTCHAR U_798C +ENCODING 31116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +FFE0 +0220 +2440 +6AA0 +AEE0 +2240 +2480 +2920 +2FE0 +ENDCHAR +STARTCHAR U_798D +ENCODING 31117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F740 +1540 +2FE0 +2820 +7BA0 +AAA0 +2BA0 +2820 +2860 +ENDCHAR +STARTCHAR U_798E +ENCODING 31118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +21E0 +F100 +17C0 +2440 +77C0 +AC40 +27C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_798F +ENCODING 31119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2000 +07C0 +F440 +17C0 +2000 +3FE0 +6920 +AFE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_7990 +ENCODING 31120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F20 +F540 +17E0 +2200 +6FE0 +B200 +27C0 +2A80 +3100 +2EE0 +ENDCHAR +STARTCHAR U_7991 +ENCODING 31121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +F7C0 +1540 +27C0 +7100 +AFE0 +2920 +2BA0 +28A0 +2840 +ENDCHAR +STARTCHAR U_7992 +ENCODING 31122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2440 +F780 +1080 +2FE0 +7520 +AAC0 +2580 +22C0 +24A0 +2B20 +ENDCHAR +STARTCHAR U_7993 +ENCODING 31123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F7C0 +1440 +2FE0 +6400 +B7E0 +2AA0 +22A0 +2D20 +22C0 +ENDCHAR +STARTCHAR U_7994 +ENCODING 31124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F7C0 +1440 +27C0 +7000 +AFE0 +2100 +25C0 +2B00 +31E0 +ENDCHAR +STARTCHAR U_7995 +ENCODING 31125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +F140 +17E0 +2240 +73C0 +A880 +27E0 +2480 +2FE0 +2080 +ENDCHAR +STARTCHAR U_7996 +ENCODING 31126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +F440 +17C0 +2440 +77C0 +A900 +2FE0 +2580 +2940 +3120 +ENDCHAR +STARTCHAR U_7997 +ENCODING 31127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +FFC0 +1540 +2540 +37C0 +6900 +A2C0 +2A20 +2A40 +31C0 +ENDCHAR +STARTCHAR U_7998 +ENCODING 31128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F280 +1100 +2FE0 +3920 +6FC0 +A540 +2540 +25C0 +2100 +ENDCHAR +STARTCHAR U_7999 +ENCODING 31129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +26E0 +F280 +16A0 +2040 +77C0 +A440 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_799A +ENCODING 31130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +FFE0 +1100 +27C0 +3100 +6900 +AFE0 +2540 +2AA0 +2AA0 +ENDCHAR +STARTCHAR U_799B +ENCODING 31131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F900 +17C0 +2440 +3740 +6DC0 +A440 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_799C +ENCODING 31132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +56A0 +5AC0 +3180 +4A40 +FFE0 +8020 +3F80 +0000 +FFC0 +2480 +CC60 +ENDCHAR +STARTCHAR U_799D +ENCODING 31133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +F7C0 +2540 +47C0 +E280 +5440 +4BA0 +4680 +4100 +4EE0 +ENDCHAR +STARTCHAR U_799E +ENCODING 31134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F000 +27C0 +6440 +BFE0 +A820 +2BA0 +2AA0 +2BA0 +2840 +ENDCHAR +STARTCHAR U_799F +ENCODING 31135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +E900 +2FC0 +4940 +EBE0 +4940 +4FC0 +5440 +57C0 +4440 +ENDCHAR +STARTCHAR U_79A0 +ENCODING 31136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F00 +F9E0 +1900 +2FE0 +6920 +BFC0 +2920 +2BE0 +3280 +2CE0 +ENDCHAR +STARTCHAR U_79A1 +ENCODING 31137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2500 +F7C0 +1500 +27C0 +7500 +AFE0 +2020 +2AA0 +3560 +2540 +ENDCHAR +STARTCHAR U_79A2 +ENCODING 31138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F7C0 +1440 +27C0 +7000 +AFE0 +25A0 +2360 +2DA0 +26E0 +ENDCHAR +STARTCHAR U_79A3 +ENCODING 31139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2FE0 +F100 +2FE0 +6920 +AFE0 +2920 +2080 +2FE0 +2480 +2180 +ENDCHAR +STARTCHAR U_79A4 +ENCODING 31140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +FFE0 +1000 +2FE0 +7220 +AAA0 +2660 +2AA0 +3320 +2660 +ENDCHAR +STARTCHAR U_79A5 +ENCODING 31141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4FC0 +F480 +2780 +4480 +6FE0 +C480 +4A40 +57A0 +4200 +5FE0 +ENDCHAR +STARTCHAR U_79A6 +ENCODING 31142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +A4A0 +5FA0 +C4A0 +57E0 +5480 +3F80 +0000 +FFE0 +2280 +CE60 +ENDCHAR +STARTCHAR U_79A7 +ENCODING 31143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F100 +1FE0 +2440 +37C0 +6A80 +AFE0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_79A8 +ENCODING 31144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2BA0 +F540 +19A0 +2F60 +7540 +AFE0 +2540 +26A0 +2960 +3220 +ENDCHAR +STARTCHAR U_79A9 +ENCODING 31145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4920 +0FE0 +F920 +2FE0 +6440 +AFE0 +2440 +3FE0 +2440 +2820 +ENDCHAR +STARTCHAR U_79AA +ENCODING 31146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +FFE0 +1540 +27C0 +7540 +AFC0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_79AB +ENCODING 31147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +FFE0 +1AA0 +2FE0 +7440 +AFC0 +2440 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_79AC +ENCODING 31148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +F7C0 +1820 +2FE0 +7AA0 +AFE0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_79AD +ENCODING 31149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5440 +2A80 +FFE0 +1220 +3D40 +6A80 +ADC0 +2AA0 +2CA0 +2980 +37E0 +ENDCHAR +STARTCHAR U_79AE +ENCODING 31150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +FAA0 +1FE0 +2AA0 +7FE0 +A440 +27C0 +2280 +2100 +2FE0 +ENDCHAR +STARTCHAR U_79AF +ENCODING 31151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +EAA0 +2FE0 +3AA0 +6FE0 +A800 +2FE0 +2A80 +2B60 +3240 +ENDCHAR +STARTCHAR U_79B0 +ENCODING 31152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2540 +F920 +1FE0 +2DA0 +7B60 +ADA0 +2B60 +2DA0 +2920 +2960 +ENDCHAR +STARTCHAR U_79B1 +ENCODING 31153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F100 +1FE0 +2120 +2FC0 +7040 +AFE0 +2B40 +2E40 +20C0 +ENDCHAR +STARTCHAR U_79B2 +ENCODING 31154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +5280 +FFE0 +3280 +57C0 +77C0 +D540 +5FE0 +4920 +4FE0 +4820 +ENDCHAR +STARTCHAR U_79B3 +ENCODING 31155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +FAA0 +1EE0 +2280 +7FE0 +A280 +2FE0 +24A0 +2D40 +3620 +ENDCHAR +STARTCHAR U_79B4 +ENCODING 31156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +2480 +FFC0 +1020 +2FE0 +7AA0 +AFE0 +2AA0 +2FE0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_79B5 +ENCODING 31157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E00 +4AE0 +EE40 +2AE0 +4EA0 +60E0 +DEA0 +44E0 +5640 +5CA0 +67E0 +ENDCHAR +STARTCHAR U_79B6 +ENCODING 31158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2FE0 +F540 +1FE0 +2540 +77E0 +AC40 +27C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_79B7 +ENCODING 31159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABE0 +5C40 +3FE0 +E920 +5DE0 +6B20 +C9E0 +7F20 +49E0 +5540 +6220 +ENDCHAR +STARTCHAR U_79B8 +ENCODING 31160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +FF80 +8880 +9080 +9480 +A280 +FE80 +8080 +8080 +8180 +ENDCHAR +STARTCHAR U_79B9 +ENCODING 31161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0180 +FE00 +0800 +7F80 +4880 +7F80 +0800 +FFC0 +8A40 +BD40 +81C0 +ENDCHAR +STARTCHAR U_79BA +ENCODING 31162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +4880 +7F80 +4880 +7F80 +0800 +FFC0 +8A40 +FD40 +8040 +81C0 +ENDCHAR +STARTCHAR U_79BB +ENCODING 31163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2A80 +2480 +2A80 +3F80 +0400 +7FC0 +4940 +5F40 +40C0 +ENDCHAR +STARTCHAR U_79BC +ENCODING 31164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0F00 +0800 +7F00 +5500 +4900 +7F00 +0800 +FF80 +9480 +BE80 +8180 +ENDCHAR +STARTCHAR U_79BD +ENCODING 31165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +3580 +DF60 +2480 +2A80 +3F80 +0400 +7FC0 +4A40 +5F40 +40C0 +ENDCHAR +STARTCHAR U_79BE +ENCODING 31166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +7F00 +0400 +0400 +FFE0 +0400 +0E00 +1500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_79BF +ENCODING 31167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C00 +0400 +FFE0 +1500 +2480 +C060 +1100 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_79C0 +ENCODING 31168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +1500 +2480 +DF60 +0900 +0BC0 +1040 +2040 +C180 +ENDCHAR +STARTCHAR U_79C1 +ENCODING 31169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +E100 +2100 +F900 +2200 +7200 +6A00 +A440 +2FE0 +2420 +2000 +ENDCHAR +STARTCHAR U_79C2 +ENCODING 31170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +0E00 +1580 +E060 +0400 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_79C3 +ENCODING 31171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +7C00 +0400 +FFE0 +1500 +2480 +C060 +1F00 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_79C4 +ENCODING 31172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +E7C0 +2040 +F880 +2100 +77E0 +6900 +A100 +A100 +2100 +2300 +ENDCHAR +STARTCHAR U_79C5 +ENCODING 31173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +E780 +2100 +2100 +F900 +27E0 +3100 +6900 +A120 +2120 +20E0 +ENDCHAR +STARTCHAR U_79C6 +ENCODING 31174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +E100 +2100 +F900 +2FE0 +3100 +6900 +A900 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_79C7 +ENCODING 31175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +E200 +2200 +2FC0 +F240 +2640 +7340 +AA40 +2240 +2420 +2820 +ENDCHAR +STARTCHAR U_79C8 +ENCODING 31176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +E080 +2080 +FAA0 +22A0 +32A0 +6AA0 +AAA0 +22A0 +23E0 +2220 +ENDCHAR +STARTCHAR U_79C9 +ENCODING 31177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +7E00 +0400 +FFE0 +0480 +FFE0 +0480 +7F80 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_79CA +ENCODING 31178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +1500 +2480 +C360 +3C00 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_79CB +ENCODING 31179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E100 +2140 +FD40 +2580 +7500 +6900 +A280 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_79CC +ENCODING 31180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +2900 +6FE0 +7100 +A380 +2380 +5540 +5540 +8920 +0100 +ENDCHAR +STARTCHAR U_79CD +ENCODING 31181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E100 +27E0 +FD20 +2520 +3520 +6FE0 +A100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_79CE +ENCODING 31182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1880 +E280 +2240 +F440 +2820 +37C0 +6A40 +AA40 +2240 +2440 +2980 +ENDCHAR +STARTCHAR U_79CF +ENCODING 31183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +E700 +2100 +F9E0 +2700 +3100 +69E0 +AF00 +2120 +2120 +20E0 +ENDCHAR +STARTCHAR U_79D0 +ENCODING 31184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +63C0 +2000 +F800 +27E0 +7100 +6900 +A200 +2240 +27E0 +2240 +ENDCHAR +STARTCHAR U_79D1 +ENCODING 31185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1840 +E240 +2140 +F840 +2240 +3140 +6860 +A1C0 +2640 +2040 +2040 +ENDCHAR +STARTCHAR U_79D2 +ENCODING 31186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E100 +2540 +F520 +2520 +7500 +6920 +A040 +2080 +2300 +2C00 +ENDCHAR +STARTCHAR U_79D3 +ENCODING 31187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +6100 +27C0 +F900 +27C0 +7440 +6A80 +A280 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_79D4 +ENCODING 31188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A00 +E100 +2FE0 +F800 +2380 +7280 +6A80 +A280 +22A0 +2460 +2800 +ENDCHAR +STARTCHAR U_79D5 +ENCODING 31189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +E480 +2480 +FCA0 +27C0 +3480 +6C80 +A480 +25A0 +26A0 +2460 +ENDCHAR +STARTCHAR U_79D6 +ENCODING 31190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +E780 +2480 +FC80 +27E0 +3480 +6C80 +A480 +25A0 +2660 +2420 +ENDCHAR +STARTCHAR U_79D7 +ENCODING 31191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +18C0 +6700 +2100 +F900 +27E0 +7100 +6A80 +A280 +2240 +2460 +2840 +ENDCHAR +STARTCHAR U_79D8 +ENCODING 31192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +E140 +2240 +FA40 +2280 +3680 +6AA0 +AB20 +2240 +2640 +39C0 +ENDCHAR +STARTCHAR U_79D9 +ENCODING 31193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +6100 +27E0 +F900 +2100 +77C0 +6C40 +A440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_79DA +ENCODING 31194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +6540 +2380 +F100 +27C0 +7100 +6900 +AFE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_79DB +ENCODING 31195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +6080 +27E0 +FCA0 +25C0 +7540 +6D40 +A480 +2880 +2940 +3220 +ENDCHAR +STARTCHAR U_79DC +ENCODING 31196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +E420 +2420 +FFE0 +2400 +3520 +6D40 +A580 +2520 +2920 +30E0 +ENDCHAR +STARTCHAR U_79DD +ENCODING 31197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +18C0 +E700 +2100 +FFE0 +2100 +3180 +6B40 +A520 +A920 +2100 +2100 +ENDCHAR +STARTCHAR U_79DE +ENCODING 31198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +E080 +2080 +FFE0 +24A0 +34A0 +6FE0 +A4A0 +24A0 +27E0 +2420 +ENDCHAR +STARTCHAR U_79DF +ENCODING 31199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BC0 +E240 +2240 +FA40 +23C0 +3240 +6A40 +ABC0 +2240 +2240 +2FE0 +ENDCHAR +STARTCHAR U_79E0 +ENCODING 31200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +E7E0 +2080 +F880 +2100 +3340 +6D20 +A920 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_79E1 +ENCODING 31201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +6240 +27E0 +FA00 +23C0 +7440 +6440 +AA80 +3100 +2280 +2460 +ENDCHAR +STARTCHAR U_79E2 +ENCODING 31202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +6100 +2280 +F460 +2900 +7080 +67C0 +A040 +2280 +2100 +2100 +ENDCHAR +STARTCHAR U_79E3 +ENCODING 31203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E100 +2FE0 +F900 +27C0 +3100 +6B80 +A540 +2920 +3120 +2100 +ENDCHAR +STARTCHAR U_79E4 +ENCODING 31204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +E080 +24A0 +FAA0 +22C0 +3080 +2FE0 +6880 +A080 +2080 +2080 +ENDCHAR +STARTCHAR U_79E5 +ENCODING 31205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +6100 +2100 +F9E0 +2100 +77C0 +6C40 +A440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_79E6 +ENCODING 31206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +3F80 +0800 +FFE0 +2C80 +C460 +7FC0 +1500 +64C0 +ENDCHAR +STARTCHAR U_79E7 +ENCODING 31207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E100 +27C0 +FD40 +2540 +37E0 +2900 +6900 +A280 +2440 +2820 +ENDCHAR +STARTCHAR U_79E8 +ENCODING 31208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +6400 +27E0 +FA00 +2BC0 +7200 +6A00 +A3C0 +2200 +2200 +2200 +ENDCHAR +STARTCHAR U_79E9 +ENCODING 31209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +E280 +23C0 +FC80 +2080 +37E0 +2880 +6880 +A140 +2220 +2C20 +ENDCHAR +STARTCHAR U_79EA +ENCODING 31210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +E780 +2480 +FC80 +27E0 +3480 +2C80 +64A0 +A5A0 +2760 +24A0 +ENDCHAR +STARTCHAR U_79EB +ENCODING 31211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1980 +E140 +27E0 +F900 +2380 +7380 +6D40 +A540 +A920 +2100 +2100 +ENDCHAR +STARTCHAR U_79EC +ENCODING 31212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +E400 +2400 +FFC0 +2440 +3440 +2FC0 +6400 +A400 +2400 +27E0 +ENDCHAR +STARTCHAR U_79ED +ENCODING 31213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +E0E0 +2780 +FC80 +2480 +37E0 +28A0 +69A0 +A2E0 +2480 +2880 +ENDCHAR +STARTCHAR U_79EE +ENCODING 31214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E100 +2240 +FFA0 +2020 +3000 +2BE0 +6220 +A220 +23E0 +2220 +ENDCHAR +STARTCHAR U_79EF +ENCODING 31215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +E3E0 +2220 +FA20 +2220 +73E0 +6800 +A240 +A240 +2420 +2820 +ENDCHAR +STARTCHAR U_79F0 +ENCODING 31216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A00 +E200 +27E0 +F920 +2100 +7540 +6540 +A920 +3120 +2100 +2300 +ENDCHAR +STARTCHAR U_79F1 +ENCODING 31217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +67E0 +2420 +FFE0 +2420 +77A0 +6EA0 +A7A0 +2420 +24A0 +2440 +ENDCHAR +STARTCHAR U_79F2 +ENCODING 31218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +6100 +27C0 +F900 +27E0 +7080 +6FE0 +A480 +2080 +2280 +2100 +ENDCHAR +STARTCHAR U_79F3 +ENCODING 31219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +60C0 +2700 +F100 +2FE0 +7100 +6FC0 +A440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_79F4 +ENCODING 31220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +6100 +2280 +F440 +2BA0 +7000 +6FC0 +A440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_79F5 +ENCODING 31221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +67E0 +2520 +FD20 +27E0 +7520 +6EA0 +A460 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_79F6 +ENCODING 31222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8800 +4FE0 +3240 +4500 +D8E0 +4000 +3F80 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_79F7 +ENCODING 31223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +E100 +2200 +FC40 +27A0 +3100 +2900 +67C0 +A100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_79F8 +ENCODING 31224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +E080 +27E0 +F880 +23E0 +3000 +2BE0 +6220 +A220 +23E0 +2220 +ENDCHAR +STARTCHAR U_79F9 +ENCODING 31225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +6260 +2580 +FC80 +2480 +77E0 +A480 +2480 +2480 +27E0 +2400 +ENDCHAR +STARTCHAR U_79FA +ENCODING 31226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E7E0 +2420 +F8C0 +2700 +3100 +29E0 +6700 +A120 +2120 +20E0 +ENDCHAR +STARTCHAR U_79FB +ENCODING 31227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E3E0 +2420 +FA40 +2180 +3680 +29E0 +6220 +A540 +2080 +2700 +ENDCHAR +STARTCHAR U_79FC +ENCODING 31228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +6500 +27C0 +F900 +27E0 +7100 +6B80 +A340 +2520 +2900 +2100 +ENDCHAR +STARTCHAR U_79FD +ENCODING 31229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +E4A0 +24A0 +27E0 +F900 +21E0 +3220 +6D40 +A080 +2300 +2C00 +ENDCHAR +STARTCHAR U_79FE +ENCODING 31230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +6FE0 +2920 +2200 +FA00 +2540 +7540 +6C80 +A480 +2640 +2420 +ENDCHAR +STARTCHAR U_79FF +ENCODING 31231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +6FE0 +2100 +FFC0 +2540 +77C0 +6D40 +A7C0 +2540 +2540 +24C0 +ENDCHAR +STARTCHAR U_7A00 +ENCODING 31232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1B60 +E080 +2360 +FC80 +27E0 +3280 +6FE0 +A6A0 +AAA0 +22E0 +2080 +ENDCHAR +STARTCHAR U_7A01 +ENCODING 31233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +3F80 +2080 +FFE0 +8120 +3E00 +0400 +FFE0 +1500 +E4C0 +ENDCHAR +STARTCHAR U_7A02 +ENCODING 31234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E7C0 +2440 +FFC0 +2440 +37C0 +2D20 +6540 +A480 +2540 +2620 +ENDCHAR +STARTCHAR U_7A03 +ENCODING 31235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +E720 +2540 +FA80 +27C0 +7080 +6900 +AFE0 +A100 +2100 +2300 +ENDCHAR +STARTCHAR U_7A04 +ENCODING 31236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E240 +27A0 +FA40 +2420 +33C0 +2A40 +6640 +A980 +2240 +2C20 +ENDCHAR +STARTCHAR U_7A05 +ENCODING 31237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +E240 +2420 +FFC0 +2440 +7440 +6FC0 +A280 +A2A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_7A06 +ENCODING 31238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +E220 +2220 +FBE0 +2000 +3000 +2FE0 +6420 +A420 +27E0 +2420 +ENDCHAR +STARTCHAR U_7A07 +ENCODING 31239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +6FE0 +2920 +FFE0 +2920 +7BA0 +6D60 +A920 +2920 +2FE0 +2820 +ENDCHAR +STARTCHAR U_7A08 +ENCODING 31240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +E440 +27C0 +FC40 +27C0 +3000 +2FC0 +6100 +AFE0 +2100 +2100 +ENDCHAR +STARTCHAR U_7A09 +ENCODING 31241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +6100 +27C0 +FD40 +27C0 +7540 +6FC0 +A100 +2500 +2300 +2CE0 +ENDCHAR +STARTCHAR U_7A0A +ENCODING 31242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +E280 +27E0 +F920 +27E0 +3500 +2FE0 +6320 +A520 +2960 +2100 +ENDCHAR +STARTCHAR U_7A0B +ENCODING 31243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +E440 +2440 +F7C0 +2000 +37C0 +6900 +67C0 +A100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_7A0C +ENCODING 31244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E280 +2440 +FFE0 +2100 +37C0 +2900 +6540 +A920 +3120 +2300 +ENDCHAR +STARTCHAR U_7A0D +ENCODING 31245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1920 +E540 +2100 +FFC0 +2440 +77C0 +6C40 +A7C0 +2440 +2440 +24C0 +ENDCHAR +STARTCHAR U_7A0E +ENCODING 31246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +E280 +27C0 +FC40 +2440 +77C0 +6A80 +A280 +22A0 +24A0 +28E0 +ENDCHAR +STARTCHAR U_7A0F +ENCODING 31247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +EFE0 +2280 +FEE0 +2420 +7420 +6C20 +A6E0 +2280 +2280 +2FE0 +ENDCHAR +STARTCHAR U_7A10 +ENCODING 31248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E280 +2440 +FBA0 +2000 +3FE0 +2AA0 +6FE0 +AAA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_7A11 +ENCODING 31249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E7C0 +2100 +FFE0 +2280 +3540 +2920 +67C0 +A100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_7A12 +ENCODING 31250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +E520 +2520 +FFE0 +2520 +37A0 +2EA0 +67A0 +A420 +27E0 +2420 +ENDCHAR +STARTCHAR U_7A13 +ENCODING 31251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +E7E0 +2240 +FA40 +27E0 +3000 +2BE0 +6220 +A3E0 +2220 +23E0 +ENDCHAR +STARTCHAR U_7A14 +ENCODING 31252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E280 +2540 +F8A0 +27C0 +3040 +2880 +62A0 +AA20 +2A40 +31C0 +ENDCHAR +STARTCHAR U_7A15 +ENCODING 31253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E7E0 +2240 +FBC0 +2000 +37C0 +2880 +6100 +AFE0 +2100 +2700 +ENDCHAR +STARTCHAR U_7A16 +ENCODING 31254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +67C0 +2000 +F440 +2280 +77E0 +6800 +A7C0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_7A17 +ENCODING 31255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E7E0 +24A0 +FFE0 +24A0 +37E0 +2AA0 +6480 +AFE0 +2080 +2080 +ENDCHAR +STARTCHAR U_7A18 +ENCODING 31256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +E7E0 +2240 +FBC0 +2240 +33C0 +2A40 +6FE0 +A000 +2240 +2420 +ENDCHAR +STARTCHAR U_7A19 +ENCODING 31257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +2100 +FFC0 +2440 +37C0 +2C40 +6740 +A5C0 +2440 +2FE0 +ENDCHAR +STARTCHAR U_7A1A +ENCODING 31258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1300 +E280 +27E0 +FC80 +27C0 +3480 +2C80 +67C0 +A480 +2480 +27E0 +ENDCHAR +STARTCHAR U_7A1B +ENCODING 31259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +E4A0 +2720 +FD20 +27E0 +3520 +2DA0 +6760 +A520 +27E0 +2420 +ENDCHAR +STARTCHAR U_7A1C +ENCODING 31260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E7C0 +2100 +FFE0 +2240 +3520 +2BC0 +6540 +A880 +2340 +2C20 +ENDCHAR +STARTCHAR U_7A1D +ENCODING 31261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +6EE0 +2AA0 +FEE0 +2AA0 +7AA0 +AEE0 +2AA0 +2AA0 +2AA0 +3760 +ENDCHAR +STARTCHAR U_7A1E +ENCODING 31262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +E540 +27C0 +FD40 +27C0 +3100 +2FE0 +6100 +A380 +2540 +2920 +ENDCHAR +STARTCHAR U_7A1F +ENCODING 31263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2F40 +2040 +3FC0 +0080 +3F00 +0400 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_7A20 +ENCODING 31264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +E520 +27A0 +FD20 +27E0 +3420 +2FA0 +66A0 +A7A0 +2420 +2860 +ENDCHAR +STARTCHAR U_7A21 +ENCODING 31265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +67E0 +2000 +FA40 +2240 +75A0 +6900 +A7E0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_7A22 +ENCODING 31266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +E0A0 +2FE0 +F080 +2EA0 +3AA0 +6AA0 +AEC0 +A0A0 +2F60 +2220 +ENDCHAR +STARTCHAR U_7A23 +ENCODING 31267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +7B80 +9080 +FBE0 +A880 +F880 +A9C0 +AAA0 +FCA0 +0080 +F880 +ENDCHAR +STARTCHAR U_7A24 +ENCODING 31268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +67E0 +2000 +FFC0 +2440 +77C0 +6900 +A380 +2540 +2920 +2300 +ENDCHAR +STARTCHAR U_7A25 +ENCODING 31269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +2480 +D660 +4940 +3FA0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_7A26 +ENCODING 31270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E7C0 +2240 +FFE0 +2440 +37C0 +2880 +67E0 +A480 +2FE0 +2080 +ENDCHAR +STARTCHAR U_7A27 +ENCODING 31271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +67E0 +22A0 +F7A0 +22A0 +7760 +6A80 +A7E0 +2100 +2280 +2460 +ENDCHAR +STARTCHAR U_7A28 +ENCODING 31272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +2820 +FFE0 +2800 +3FE0 +6AA0 +AFE0 +2AA0 +3AA0 +2860 +ENDCHAR +STARTCHAR U_7A29 +ENCODING 31273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1FC0 +E540 +27C0 +FD40 +27C0 +7440 +6FC0 +A440 +27C0 +2440 +24C0 +ENDCHAR +STARTCHAR U_7A2A +ENCODING 31274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +67E0 +2C40 +F7C0 +2440 +77C0 +6A00 +A7C0 +2280 +2100 +26E0 +ENDCHAR +STARTCHAR U_7A2B +ENCODING 31275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E000 +23C0 +F240 +23C0 +3000 +6FE0 +A520 +27E0 +2520 +27E0 +ENDCHAR +STARTCHAR U_7A2C +ENCODING 31276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +67E0 +2100 +FFE0 +2AA0 +7AA0 +6900 +A7E0 +2100 +2280 +2460 +ENDCHAR +STARTCHAR U_7A2D +ENCODING 31277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +66A0 +24C0 +FEA0 +24E0 +7200 +6FC0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_7A2E +ENCODING 31278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +E100 +27E0 +FD40 +27C0 +3540 +2FC0 +6100 +A7C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_7A2F +ENCODING 31279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +16A0 +E520 +26A0 +FFE0 +2240 +3520 +2BC0 +6640 +A980 +2240 +2420 +ENDCHAR +STARTCHAR U_7A30 +ENCODING 31280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +E120 +25C0 +F500 +2BE0 +3440 +2FC0 +6440 +A7C0 +2440 +24C0 +ENDCHAR +STARTCHAR U_7A31 +ENCODING 31281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +E720 +2920 +F540 +27C0 +3540 +2FC0 +6540 +AFE0 +2440 +24C0 +ENDCHAR +STARTCHAR U_7A32 +ENCODING 31282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +67A0 +2520 +FAC0 +2000 +75E0 +6D20 +A520 +25E0 +2520 +25E0 +ENDCHAR +STARTCHAR U_7A33 +ENCODING 31283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +E3C0 +2480 +FFC0 +2040 +37C0 +2840 +67C0 +AD40 +3420 +23C0 +ENDCHAR +STARTCHAR U_7A34 +ENCODING 31284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +6FE0 +2280 +FFE0 +32A0 +6FE0 +62A0 +AFE0 +26C0 +2AA0 +2280 +ENDCHAR +STARTCHAR U_7A35 +ENCODING 31285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +6280 +2FE0 +FA40 +2480 +7B20 +6FC0 +A480 +2B20 +3FE0 +2120 +ENDCHAR +STARTCHAR U_7A36 +ENCODING 31286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +18C0 +60A0 +2FE0 +F080 +2EC0 +7BA0 +6AC0 +AFA0 +20C0 +2EA0 +2160 +ENDCHAR +STARTCHAR U_7A37 +ENCODING 31287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +E520 +27E0 +FD20 +27E0 +3440 +2BE0 +6240 +A580 +2240 +2420 +ENDCHAR +STARTCHAR U_7A38 +ENCODING 31288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +2200 +FC80 +2300 +7440 +6FE0 +A540 +27C0 +2540 +27C0 +ENDCHAR +STARTCHAR U_7A39 +ENCODING 31289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +2100 +FFC0 +2440 +3740 +2DC0 +6440 +AFE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_7A3A +ENCODING 31290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +6420 +27E0 +FC80 +27E0 +7540 +6FE0 +A480 +2BE0 +2880 +3080 +ENDCHAR +STARTCHAR U_7A3B +ENCODING 31291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +E720 +2520 +FAC0 +2000 +36E0 +2C20 +6760 +A420 +27E0 +2420 +ENDCHAR +STARTCHAR U_7A3C +ENCODING 31292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E7E0 +2420 +FFE0 +2220 +3540 +2A80 +65C0 +AAA0 +24A0 +2B00 +ENDCHAR +STARTCHAR U_7A3D +ENCODING 31293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +EFE0 +2520 +F8E0 +27A0 +3420 +6FE0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_7A3E +ENCODING 31294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +7FC0 +4940 +5F40 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_7A3F +ENCODING 31295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E7E0 +2240 +FBC0 +2000 +3FE0 +2820 +6BA0 +AAA0 +2BA0 +2860 +ENDCHAR +STARTCHAR U_7A40 +ENCODING 31296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2240 +FA60 +8C00 +73E0 +2220 +F940 +2080 +7140 +AE20 +ENDCHAR +STARTCHAR U_7A41 +ENCODING 31297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A80 +6FE0 +2280 +FFE0 +2440 +77C0 +6C40 +A7C0 +2440 +2FE0 +2040 +ENDCHAR +STARTCHAR U_7A42 +ENCODING 31298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +6FE0 +2100 +FFC0 +3540 +6FC0 +6540 +A7C0 +2220 +3540 +23C0 +ENDCHAR +STARTCHAR U_7A43 +ENCODING 31299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EFE0 +2820 +F440 +2920 +7280 +6C40 +BFE0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_7A44 +ENCODING 31300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +E7E0 +29A0 +FE40 +2440 +3BA0 +2000 +6FE0 +A540 +2920 +3320 +ENDCHAR +STARTCHAR U_7A45 +ENCODING 31301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +CFE0 +4940 +FFE0 +4940 +6FC0 +D900 +CD40 +4B80 +5D60 +6300 +ENDCHAR +STARTCHAR U_7A46 +ENCODING 31302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E7E0 +2420 +FFE0 +2520 +3340 +2DA0 +6040 +A7A0 +2040 +2780 +ENDCHAR +STARTCHAR U_7A47 +ENCODING 31303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A40 +F7A0 +2440 +FAA0 +2FE0 +3280 +6540 +AAA0 +2540 +2280 +2F00 +ENDCHAR +STARTCHAR U_7A48 +ENCODING 31304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9080 +FFE0 +B5C0 +D2A0 +BF80 +8400 +FFE0 +9480 +E460 +ENDCHAR +STARTCHAR U_7A49 +ENCODING 31305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +6820 +2FE0 +FAA0 +29C0 +7AA0 +6A80 +ABE0 +2C80 +2FE0 +3080 +ENDCHAR +STARTCHAR U_7A4A +ENCODING 31306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1EE0 +EA40 +2EC0 +FB40 +2FE0 +3A40 +2840 +6C40 +AAC0 +2D40 +2260 +ENDCHAR +STARTCHAR U_7A4B +ENCODING 31307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +E120 +25A0 +FB60 +2480 +3340 +2C60 +6180 +A640 +2180 +2600 +ENDCHAR +STARTCHAR U_7A4C +ENCODING 31308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +7380 +9080 +F880 +AFE0 +F880 +A9C0 +AAA0 +FCA0 +5480 +A880 +ENDCHAR +STARTCHAR U_7A4D +ENCODING 31309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +2100 +FFC0 +2100 +2FE0 +3440 +6FC0 +A440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_7A4E +ENCODING 31310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +6080 +4BE0 +3A20 +03E0 +FA20 +23E0 +FA20 +33E0 +6940 +A620 +ENDCHAR +STARTCHAR U_7A4F +ENCODING 31311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +6F40 +2580 +FFC0 +3040 +6FC0 +6040 +AFC0 +2240 +34A0 +3380 +ENDCHAR +STARTCHAR U_7A50 +ENCODING 31312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1B80 +6500 +27C0 +FD40 +37C0 +6D40 +67C0 +A540 +27C0 +2120 +20E0 +ENDCHAR +STARTCHAR U_7A51 +ENCODING 31313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +2920 +2540 +FFE0 +2000 +7FE0 +AAA0 +2BA0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_7A52 +ENCODING 31314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0400 +FFC0 +3480 +7FC0 +A0A0 +3F80 +2080 +3FE0 +5540 +55C0 +ENDCHAR +STARTCHAR U_7A53 +ENCODING 31315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +E940 +2FC0 +F940 +2FC0 +7480 +6FC0 +A480 +3FE0 +2480 +2840 +ENDCHAR +STARTCHAR U_7A54 +ENCODING 31316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +E7E0 +2280 +27E0 +F100 +27C0 +3540 +6FC0 +A540 +27C0 +2C60 +ENDCHAR +STARTCHAR U_7A55 +ENCODING 31317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +6FE0 +3480 +FFC0 +3480 +6FE0 +6500 +AFE0 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_7A56 +ENCODING 31318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1540 +E520 +2BC0 +2540 +FBE0 +2540 +7FE0 +A540 +26A0 +2960 +3220 +ENDCHAR +STARTCHAR U_7A57 +ENCODING 31319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +2540 +F7C0 +2540 +37C0 +6140 +AFE0 +2540 +2CA0 +33A0 +ENDCHAR +STARTCHAR U_7A58 +ENCODING 31320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E7C0 +2100 +FFE0 +2440 +3EE0 +6440 +AFE0 +2280 +24A0 +3860 +ENDCHAR +STARTCHAR U_7A59 +ENCODING 31321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1AA0 +66C0 +2FE0 +F240 +6FE0 +7100 +6FC0 +A100 +2FE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_7A5A +ENCODING 31322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +E100 +2FE0 +F240 +2FE0 +3240 +2FE0 +6820 +ABA0 +2AA0 +2BE0 +ENDCHAR +STARTCHAR U_7A5B +ENCODING 31323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3500 +E7E0 +2500 +FFC0 +2500 +37C0 +6D00 +A7E0 +2540 +2AA0 +2AA0 +ENDCHAR +STARTCHAR U_7A5C +ENCODING 31324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +2280 +F100 +2FE0 +3540 +67C0 +A540 +2FE0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_7A5D +ENCODING 31325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +6440 +27C0 +F440 +3FE0 +6A00 +6FE0 +AB20 +2EC0 +3AC0 +2320 +ENDCHAR +STARTCHAR U_7A5E +ENCODING 31326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BC0 +E480 +27C0 +FD40 +27C0 +7540 +AFE0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_7A5F +ENCODING 31327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +E980 +2FE0 +F120 +22C0 +3980 +6AC0 +A9A0 +2AA0 +2D00 +33E0 +ENDCHAR +STARTCHAR U_7A60 +ENCODING 31328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +EFE0 +2AA0 +FFE0 +2AA0 +3FE0 +6800 +AFE0 +2AA0 +2A40 +33A0 +ENDCHAR +STARTCHAR U_7A61 +ENCODING 31329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +2540 +FBA0 +2FE0 +2000 +7FE0 +AAA0 +2BA0 +2820 +2FE0 +ENDCHAR +STARTCHAR U_7A62 +ENCODING 31330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +15E0 +E500 +2FE0 +F0A0 +2FE0 +3A80 +6FA0 +AAC0 +32A0 +2560 +2A20 +ENDCHAR +STARTCHAR U_7A63 +ENCODING 31331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +6FE0 +2440 +FAA0 +2FC0 +7280 +6FE0 +A340 +2680 +3B60 +2240 +ENDCHAR +STARTCHAR U_7A64 +ENCODING 31332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +6100 +2FE0 +FD60 +2380 +7560 +6FE0 +A200 +2FE0 +2AA0 +2AE0 +ENDCHAR +STARTCHAR U_7A65 +ENCODING 31333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +CDE0 +4920 +FDE0 +6AA0 +DEE0 +CAA0 +5FE0 +4440 +4820 +5020 +ENDCHAR +STARTCHAR U_7A66 +ENCODING 31334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +6FE0 +2820 +FFC0 +3520 +6940 +67C0 +BD40 +2540 +27C0 +2C60 +ENDCHAR +STARTCHAR U_7A67 +ENCODING 31335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +26A0 +F540 +2D40 +3560 +6540 +A7C0 +A440 +27C0 +2840 +ENDCHAR +STARTCHAR U_7A68 +ENCODING 31336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +27C0 +FD40 +27E0 +7240 +ABC0 +7240 +53C0 +5640 +5BC0 +9660 +ENDCHAR +STARTCHAR U_7A69 +ENCODING 31337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E540 +2FE0 +F100 +2FE0 +3040 +6FE0 +A040 +2FC0 +3520 +27A0 +ENDCHAR +STARTCHAR U_7A6A +ENCODING 31338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +6540 +2920 +FFE0 +2D60 +7BA0 +6D60 +AD60 +2BA0 +2D60 +2860 +ENDCHAR +STARTCHAR U_7A6B +ENCODING 31339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +EFE0 +2440 +FFE0 +2480 +37E0 +2C80 +67E0 +A240 +2180 +2E60 +ENDCHAR +STARTCHAR U_7A6C +ENCODING 31340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +2940 +FFE0 +2940 +3FE0 +2D40 +6FC0 +AD40 +33C0 +2660 +ENDCHAR +STARTCHAR U_7A6D +ENCODING 31341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1700 +E7C0 +2D40 +FFC0 +2540 +37E0 +6D40 +A460 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_7A6E +ENCODING 31342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +2AA0 +FFE0 +2A80 +3BE0 +6A80 +ABE0 +2800 +3540 +2AA0 +ENDCHAR +STARTCHAR U_7A6F +ENCODING 31343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +EFE0 +2100 +FD60 +3100 +6FE0 +6820 +ABA0 +2AA0 +2BA0 +2FE0 +ENDCHAR +STARTCHAR U_7A70 +ENCODING 31344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +EFE0 +2AA0 +FEE0 +2480 +3FE0 +6480 +BFE0 +24A0 +2D40 +3620 +ENDCHAR +STARTCHAR U_7A71 +ENCODING 31345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +E940 +2FE0 +FAA0 +2FE0 +3A20 +6FE0 +AAA0 +2E60 +2A20 +2D60 +ENDCHAR +STARTCHAR U_7A72 +ENCODING 31346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +CAA0 +4AA0 +F100 +4FE0 +6AA0 +DFE0 +CC80 +56E0 +54A0 +6660 +ENDCHAR +STARTCHAR U_7A73 +ENCODING 31347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1540 +6FE0 +2440 +FFE0 +26C0 +7B60 +6FC0 +A540 +2540 +27C0 +2C60 +ENDCHAR +STARTCHAR U_7A74 +ENCODING 31348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0400 +FFC0 +8040 +9240 +1200 +1200 +2100 +2100 +40C0 +8040 +ENDCHAR +STARTCHAR U_7A75 +ENCODING 31349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +FFC0 +9240 +2100 +4080 +BC00 +0800 +1000 +2080 +4080 +3F80 +ENDCHAR +STARTCHAR U_7A76 +ENCODING 31350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2080 +4840 +0800 +3F00 +0900 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_7A77 +ENCODING 31351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +2080 +4440 +8420 +7FC0 +0840 +1040 +2040 +C180 +ENDCHAR +STARTCHAR U_7A78 +ENCODING 31352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9220 +2100 +C8C0 +0F80 +1080 +6900 +0600 +1C00 +E000 +ENDCHAR +STARTCHAR U_7A79 +ENCODING 31353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +A0A0 +7FC0 +0080 +3F80 +4000 +7FC0 +0040 +0380 +ENDCHAR +STARTCHAR U_7A7A +ENCODING 31354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +8900 +1080 +6040 +1F80 +0400 +0400 +0400 +7FE0 +ENDCHAR +STARTCHAR U_7A7B +ENCODING 31355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +A120 +4080 +BF40 +0400 +FFE0 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_7A7C +ENCODING 31356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4140 +1080 +2440 +7FC0 +0E00 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_7A7D +ENCODING 31357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +5140 +9120 +7F80 +1100 +FFE0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_7A7E +ENCODING 31358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2080 +5F40 +0400 +FFE0 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_7A7F +ENCODING 31359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +A0A0 +7F80 +2200 +7FC0 +0A00 +1200 +2200 +CE00 +ENDCHAR +STARTCHAR U_7A80 +ENCODING 31360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2480 +FFE0 +0400 +2480 +2480 +3FA0 +0420 +03E0 +ENDCHAR +STARTCHAR U_7A81 +ENCODING 31361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4920 +9080 +2540 +0480 +7FE0 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_7A82 +ENCODING 31362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +A120 +4480 +A460 +3F80 +4400 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7A83 +ENCODING 31363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +6080 +27E0 +2120 +F920 +2120 +2D20 +3220 +0CC0 +ENDCHAR +STARTCHAR U_7A84 +ENCODING 31364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +9240 +2100 +6080 +3FC0 +4800 +8F80 +0800 +0FC0 +0800 +ENDCHAR +STARTCHAR U_7A85 +ENCODING 31365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2080 +7FC0 +2080 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_7A86 +ENCODING 31366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +4340 +7C00 +0400 +7F80 +0200 +0C00 +3000 +CFE0 +ENDCHAR +STARTCHAR U_7A87 +ENCODING 31367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +5040 +3F80 +4080 +9E80 +1280 +1FA0 +1020 +0FE0 +ENDCHAR +STARTCHAR U_7A88 +ENCODING 31368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +2140 +4100 +9FE0 +E120 +5120 +8A20 +F520 +08C0 +ENDCHAR +STARTCHAR U_7A89 +ENCODING 31369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +60C0 +3F80 +0400 +7FC0 +4440 +4A40 +5140 +40C0 +ENDCHAR +STARTCHAR U_7A8A +ENCODING 31370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2080 +47C0 +3900 +2900 +2900 +4A80 +4D40 +8920 +ENDCHAR +STARTCHAR U_7A8B +ENCODING 31371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +4440 +2480 +2480 +3F80 +0400 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7A8C +ENCODING 31372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +A0A0 +4840 +73C0 +4A40 +5A40 +6B40 +1280 +6200 +ENDCHAR +STARTCHAR U_7A8D +ENCODING 31373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2080 +47E0 +F900 +23E0 +2020 +3820 +C120 +00C0 +ENDCHAR +STARTCHAR U_7A8E +ENCODING 31374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A120 +4880 +BF40 +2900 +2500 +3FC0 +0040 +7E40 +00C0 +ENDCHAR +STARTCHAR U_7A8F +ENCODING 31375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +4040 +2FC0 +8100 +7FE0 +2100 +C100 +4500 +4200 +ENDCHAR +STARTCHAR U_7A90 +ENCODING 31376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +4440 +3F80 +0400 +7FC0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7A91 +ENCODING 31377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +A0A0 +5040 +3FC0 +0400 +FFE0 +0400 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7A92 +ENCODING 31378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +A0A0 +7FC0 +1080 +3F40 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7A93 +ENCODING 31379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +FFE0 +8220 +2100 +C8C0 +1200 +3F00 +0800 +5440 +9120 +0F00 +ENDCHAR +STARTCHAR U_7A94 +ENCODING 31380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2480 +FFE0 +1100 +20C0 +CA00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_7A95 +ENCODING 31381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +2040 +4A20 +2A80 +1B00 +2A80 +CA20 +1220 +61E0 +ENDCHAR +STARTCHAR U_7A96 +ENCODING 31382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +6440 +3F80 +4400 +FFE0 +0000 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_7A97 +ENCODING 31383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +FFC0 +A140 +4880 +FFC0 +4880 +5F80 +7280 +4C80 +5280 +7F80 +ENDCHAR +STARTCHAR U_7A98 +ENCODING 31384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +3F80 +0880 +FFE0 +0880 +7FC0 +3040 +D040 +1FC0 +ENDCHAR +STARTCHAR U_7A99 +ENCODING 31385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9520 +BFA0 +0500 +7FE0 +0900 +1200 +FFE0 +0200 +0E00 +ENDCHAR +STARTCHAR U_7A9A +ENCODING 31386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +2240 +C220 +7FE0 +4240 +7A40 +4980 +49A0 +9E60 +ENDCHAR +STARTCHAR U_7A9B +ENCODING 31387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +4040 +7C80 +03E0 +FD40 +2880 +2B60 +4820 +87E0 +ENDCHAR +STARTCHAR U_7A9C +ENCODING 31388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +A4A0 +3FC0 +2480 +7FC0 +4440 +7FC0 +0400 +0400 +ENDCHAR +STARTCHAR U_7A9D +ENCODING 31389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +BFA0 +6140 +3F00 +0400 +7FC0 +4A40 +5140 +4080 +ENDCHAR +STARTCHAR U_7A9E +ENCODING 31390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +4840 +9F20 +2200 +7BC0 +2040 +3BC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_7A9F +ENCODING 31391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7FC0 +6040 +3FC0 +2A80 +2F80 +3240 +5240 +9FC0 +ENDCHAR +STARTCHAR U_7AA0 +ENCODING 31392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2080 +7FC0 +2480 +3F80 +2480 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_7AA1 +ENCODING 31393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +A0A0 +7BC0 +1100 +6AC0 +0000 +7BC0 +4A40 +3180 +CA60 +ENDCHAR +STARTCHAR U_7AA2 +ENCODING 31394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +92A0 +6240 +FFC0 +0200 +7A40 +4A80 +7920 +02A0 +FC60 +ENDCHAR +STARTCHAR U_7AA3 +ENCODING 31395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +A4A0 +7FC0 +1100 +2A80 +4440 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7AA4 +ENCODING 31396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +7FC0 +A4A0 +2880 +3F80 +2240 +3B80 +2240 +31C0 +ENDCHAR +STARTCHAR U_7AA5 +ENCODING 31397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +60A0 +27C0 +FC40 +2540 +FD40 +3180 +4AA0 +8CE0 +ENDCHAR +STARTCHAR U_7AA6 +ENCODING 31398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A4A0 +5F40 +0400 +FFC0 +2A40 +1200 +FFE0 +0500 +78E0 +ENDCHAR +STARTCHAR U_7AA7 +ENCODING 31399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +A0A0 +4740 +8420 +3F80 +2080 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_7AA8 +ENCODING 31400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +2440 +7FC0 +0900 +FFE0 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_7AA9 +ENCODING 31401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7F80 +A140 +3D00 +2500 +7FC0 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_7AAA +ENCODING 31402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +0240 +4FC0 +A200 +5FE0 +2200 +CFC0 +4200 +5FE0 +ENDCHAR +STARTCHAR U_7AAB +ENCODING 31403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2080 +7FC0 +1140 +7D40 +1440 +FFE0 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_7AAC +ENCODING 31404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +64C0 +1B00 +FEE0 +4940 +7940 +4940 +7840 +49C0 +ENDCHAR +STARTCHAR U_7AAD +ENCODING 31405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +24A0 +5540 +7FC0 +1500 +2880 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_7AAE +ENCODING 31406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2080 +7DE0 +4420 +7DE0 +4500 +FDE0 +2420 +CCC0 +ENDCHAR +STARTCHAR U_7AAF +ENCODING 31407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A120 +4A80 +7FC0 +0400 +3F80 +0400 +FFE0 +4A40 +8920 +ENDCHAR +STARTCHAR U_7AB0 +ENCODING 31408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +4740 +B8A0 +2900 +7FC0 +0400 +FFE0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7AB1 +ENCODING 31409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2480 +47C0 +5A80 +D100 +5280 +5FE0 +4540 +5B20 +ENDCHAR +STARTCHAR U_7AB2 +ENCODING 31410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9220 +21A0 +AA40 +7140 +2240 +F940 +37E0 +6840 +A440 +ENDCHAR +STARTCHAR U_7AB3 +ENCODING 31411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2080 +5FE0 +E540 +A540 +A540 +AD40 +B5A0 +A960 +ENDCHAR +STARTCHAR U_7AB4 +ENCODING 31412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2480 +7FC0 +2080 +3F80 +2080 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7AB5 +ENCODING 31413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +4840 +3F80 +2080 +3FC0 +2000 +3FE0 +4A20 +9560 +ENDCHAR +STARTCHAR U_7AB6 +ENCODING 31414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +3F80 +2480 +FFE0 +2480 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_7AB7 +ENCODING 31415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +2080 +F2E0 +AEA0 +EAA0 +AAA0 +EEE0 +A280 +E480 +ENDCHAR +STARTCHAR U_7AB8 +ENCODING 31416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +A3A0 +7C80 +1500 +FFC0 +2500 +54C0 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_7AB9 +ENCODING 31417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +4040 +97A0 +5200 +77C0 +1240 +7FE0 +5440 +97C0 +ENDCHAR +STARTCHAR U_7ABA +ENCODING 31418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +6080 +27C0 +FC40 +27C0 +FC40 +27C0 +52A0 +8CE0 +ENDCHAR +STARTCHAR U_7ABB +ENCODING 31419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A8A0 +7FC0 +AAA0 +2E80 +3480 +3F80 +5440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_7ABC +ENCODING 31420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +B540 +4AA0 +BF80 +2480 +3F80 +2480 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_7ABD +ENCODING 31421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +6240 +BBE0 +2220 +3C80 +5080 +FC80 +2940 +4620 +ENDCHAR +STARTCHAR U_7ABE +ENCODING 31422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A120 +7A80 +13E0 +7E20 +00C0 +7C80 +1080 +5940 +B620 +ENDCHAR +STARTCHAR U_7ABF +ENCODING 31423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +90A0 +E780 +AC80 +C300 +BCE0 +A900 +EFC0 +8100 +9FE0 +ENDCHAR +STARTCHAR U_7AC0 +ENCODING 31424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A120 +4080 +FFE0 +2440 +BFC0 +A440 +BFC0 +E2A0 +0CE0 +ENDCHAR +STARTCHAR U_7AC1 +ENCODING 31425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A8A0 +4840 +FFA0 +0820 +FFE0 +2100 +FFE0 +2520 +3DE0 +ENDCHAR +STARTCHAR U_7AC2 +ENCODING 31426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A4A0 +7FC0 +AAA0 +1F00 +3580 +D960 +1F00 +2500 +4C80 +ENDCHAR +STARTCHAR U_7AC3 +ENCODING 31427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A4A0 +7FC0 +0400 +3F80 +2480 +7FC0 +4440 +7FC0 +07E0 +ENDCHAR +STARTCHAR U_7AC4 +ENCODING 31428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +59C0 +2040 +3DC0 +2040 +3FC0 +3680 +2DA0 +7660 +ENDCHAR +STARTCHAR U_7AC5 +ENCODING 31429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A120 +7A80 +4BE0 +7A40 +2540 +F940 +4880 +4940 +B620 +ENDCHAR +STARTCHAR U_7AC6 +ENCODING 31430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A0A0 +7BC0 +CA60 +7BC0 +4800 +FBC0 +2A40 +4A40 +9BC0 +ENDCHAR +STARTCHAR U_7AC7 +ENCODING 31431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A4A0 +FFE0 +4A40 +7FC0 +2080 +3F80 +2080 +3F80 +60C0 +ENDCHAR +STARTCHAR U_7AC8 +ENCODING 31432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +A4A0 +5F40 +0400 +FFE0 +2A80 +7BC0 +4A40 +7BA0 +07E0 +ENDCHAR +STARTCHAR U_7AC9 +ENCODING 31433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +52A0 +FBC0 +2A00 +FFC0 +4840 +7BC0 +4A80 +7AA0 +4BE0 +ENDCHAR +STARTCHAR U_7ACA +ENCODING 31434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +61C0 +A900 +6FC0 +F540 +2FE0 +7AA0 +ABA0 +2860 +ENDCHAR +STARTCHAR U_7ACB +ENCODING 31435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +7FE0 +0000 +1080 +1080 +0900 +0900 +0A00 +0200 +FFE0 +ENDCHAR +STARTCHAR U_7ACC +ENCODING 31436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2380 +FA80 +1280 +5280 +5280 +2280 +3AA0 +C4A0 +04A0 +0860 +ENDCHAR +STARTCHAR U_7ACD +ENCODING 31437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +1100 +FD00 +0900 +4FE0 +4900 +5100 +3900 +C100 +0100 +0100 +ENDCHAR +STARTCHAR U_7ACE +ENCODING 31438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1080 +FFE0 +0000 +1100 +FFE0 +1100 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_7ACF +ENCODING 31439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +F900 +0100 +8900 +4FE0 +5100 +3900 +C100 +0100 +0100 +ENDCHAR +STARTCHAR U_7AD0 +ENCODING 31440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2240 +FA40 +0A20 +8C00 +53C0 +5240 +3980 +C180 +0240 +0C20 +ENDCHAR +STARTCHAR U_7AD1 +ENCODING 31441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FBE0 +0100 +8A80 +8A80 +5480 +5500 +2540 +F920 +03E0 +ENDCHAR +STARTCHAR U_7AD2 +ENCODING 31442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +FFE0 +0080 +3C80 +2480 +3C80 +0080 +0280 +0100 +ENDCHAR +STARTCHAR U_7AD3 +ENCODING 31443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +23C0 +F900 +0100 +97C0 +5100 +5100 +2FE0 +3100 +C120 +00E0 +ENDCHAR +STARTCHAR U_7AD4 +ENCODING 31444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2640 +FA40 +1240 +5FE0 +5240 +2240 +3A40 +C240 +0440 +0840 +ENDCHAR +STARTCHAR U_7AD5 +ENCODING 31445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2280 +FA40 +1440 +9820 +57C0 +2240 +3240 +C440 +0940 +1080 +ENDCHAR +STARTCHAR U_7AD6 +ENCODING 31446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +5440 +5280 +5100 +5280 +1460 +0200 +7FC0 +1100 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_7AD7 +ENCODING 31447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F900 +0540 +9920 +5140 +6140 +3880 +C100 +0600 +1800 +ENDCHAR +STARTCHAR U_7AD8 +ENCODING 31448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FBE0 +0420 +93A0 +52A0 +52A0 +23A0 +3820 +C120 +00C0 +ENDCHAR +STARTCHAR U_7AD9 +ENCODING 31449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F9E0 +0100 +9100 +57C0 +5440 +2440 +3440 +C440 +07C0 +ENDCHAR +STARTCHAR U_7ADA +ENCODING 31450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F820 +1000 +9FE0 +5100 +6100 +3900 +C100 +0500 +0200 +ENDCHAR +STARTCHAR U_7ADB +ENCODING 31451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +0500 +F480 +9A60 +5200 +6FC0 +3080 +C500 +0200 +0100 +ENDCHAR +STARTCHAR U_7ADC +ENCODING 31452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +FFE0 +2480 +3F80 +2480 +3F80 +0400 +0420 +03E0 +ENDCHAR +STARTCHAR U_7ADD +ENCODING 31453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +0000 +F7E0 +8000 +5440 +5240 +2280 +3080 +C100 +0FE0 +ENDCHAR +STARTCHAR U_7ADE +ENCODING 31454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +7F80 +1200 +FFC0 +0000 +3F00 +2100 +3F00 +1440 +2440 +C3C0 +ENDCHAR +STARTCHAR U_7ADF +ENCODING 31455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +FFE0 +2080 +3F80 +2080 +3F80 +0A20 +1220 +E1E0 +ENDCHAR +STARTCHAR U_7AE0 +ENCODING 31456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +FFE0 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_7AE1 +ENCODING 31457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +FA00 +07C0 +9440 +9440 +67C0 +3C40 +C440 +07C0 +0440 +ENDCHAR +STARTCHAR U_7AE2 +ENCODING 31458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2440 +FFE0 +0400 +97C0 +5900 +5100 +2FE0 +3100 +C280 +0C60 +ENDCHAR +STARTCHAR U_7AE3 +ENCODING 31459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2240 +F7A0 +1240 +9520 +53C0 +6640 +2A80 +F180 +0240 +0C20 +ENDCHAR +STARTCHAR U_7AE4 +ENCODING 31460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +27E0 +FD20 +0100 +97E0 +5280 +6280 +2280 +F520 +0920 +13E0 +ENDCHAR +STARTCHAR U_7AE5 +ENCODING 31461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +0A00 +FFE0 +2480 +3F80 +2480 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7AE6 +ENCODING 31462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F900 +07E0 +9520 +57E0 +5100 +2380 +F540 +0920 +1120 +ENDCHAR +STARTCHAR U_7AE7 +ENCODING 31463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27C0 +FC40 +97C0 +5440 +67C0 +3460 +CFC0 +0240 +1D40 +0080 +ENDCHAR +STARTCHAR U_7AE8 +ENCODING 31464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +21E0 +F900 +17C0 +9440 +57C0 +6440 +37C0 +C100 +0FE0 +0100 +ENDCHAR +STARTCHAR U_7AE9 +ENCODING 31465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +4100 +27E0 +FC20 +13C0 +9240 +53C0 +6240 +3BC0 +C240 +0FE0 +ENDCHAR +STARTCHAR U_7AEA +ENCODING 31466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7800 +53C0 +7A40 +4980 +7980 +5260 +7C00 +0400 +7FC0 +1100 +FFE0 +ENDCHAR +STARTCHAR U_7AEB +ENCODING 31467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23C0 +FC80 +07C0 +9140 +9FE0 +6140 +27C0 +3900 +C100 +0700 +ENDCHAR +STARTCHAR U_7AEC +ENCODING 31468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2100 +F7C0 +1540 +9FC0 +5100 +6FE0 +3960 +CFE0 +0820 +0860 +ENDCHAR +STARTCHAR U_7AED +ENCODING 31469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F7C0 +0440 +97C0 +5200 +1FE0 +24A0 +3560 +C7A0 +00C0 +ENDCHAR +STARTCHAR U_7AEE +ENCODING 31470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +FFE0 +0620 +9540 +57E0 +5540 +27E0 +3540 +CA40 +1440 +ENDCHAR +STARTCHAR U_7AEF +ENCODING 31471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4520 +F7E0 +0000 +AFE0 +A100 +AFE0 +4AA0 +6AA0 +8AA0 +0860 +ENDCHAR +STARTCHAR U_7AF0 +ENCODING 31472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2800 +FBE0 +0AA0 +9BE0 +9AA0 +6BE0 +3880 +CBE0 +1080 +27E0 +ENDCHAR +STARTCHAR U_7AF1 +ENCODING 31473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F540 +07C0 +9540 +9FE0 +20A0 +3FE0 +C480 +0280 +0100 +ENDCHAR +STARTCHAR U_7AF2 +ENCODING 31474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +4280 +2FE0 +FD60 +0BA0 +9FE0 +5000 +27C0 +3540 +C540 +07C0 +ENDCHAR +STARTCHAR U_7AF3 +ENCODING 31475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +4F40 +2AA0 +F440 +8BA0 +5000 +57C0 +2440 +37C0 +C280 +1FE0 +ENDCHAR +STARTCHAR U_7AF4 +ENCODING 31476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8440 +4FE0 +F280 +0FE0 +AAA0 +AFE0 +4820 +3FE0 +C240 +0240 +00C0 +ENDCHAR +STARTCHAR U_7AF5 +ENCODING 31477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2040 +FFE0 +0B40 +9FE0 +5040 +6FE0 +3AA0 +CFE0 +0920 +0960 +ENDCHAR +STARTCHAR U_7AF6 +ENCODING 31478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +5140 +FFE0 +0000 +FBE0 +8A20 +FBE0 +2180 +6AA0 +B4E0 +ENDCHAR +STARTCHAR U_7AF7 +ENCODING 31479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FE40 +5180 +FE40 +8BE0 +FA80 +8BE0 +FA20 +2640 +F980 +2660 +ENDCHAR +STARTCHAR U_7AF8 +ENCODING 31480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +5280 +FFE0 +4A40 +7BC0 +4A40 +7BC0 +5280 +5AA0 +9460 +ENDCHAR +STARTCHAR U_7AF9 +ENCODING 31481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +7BE0 +5280 +9480 +1080 +1080 +1080 +1080 +1080 +1380 +ENDCHAR +STARTCHAR U_7AFA +ENCODING 31482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +3DE0 +5280 +8840 +0000 +3F80 +0000 +0000 +0000 +FFE0 +ENDCHAR +STARTCHAR U_7AFB +ENCODING 31483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8A40 +0400 +7FC0 +0440 +0440 +0840 +1240 +6180 +ENDCHAR +STARTCHAR U_7AFC +ENCODING 31484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8840 +1F00 +1100 +1500 +1300 +1120 +2120 +40E0 +ENDCHAR +STARTCHAR U_7AFD +ENCODING 31485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +1040 +3F80 +0400 +FFE0 +0400 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_7AFE +ENCODING 31486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5140 +8A40 +0400 +2780 +3C80 +E480 +25A0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_7AFF +ENCODING 31487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +3F80 +0400 +0400 +7FC0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_7B00 +ENCODING 31488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +3DE0 +5280 +8C40 +7FE0 +1000 +1000 +1000 +1000 +1FC0 +ENDCHAR +STARTCHAR U_7B01 +ENCODING 31489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +9440 +0000 +7FC0 +0400 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7B02 +ENCODING 31490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3BE0 +5680 +9440 +3F00 +0900 +1900 +0D20 +0B20 +1120 +20E0 +ENDCHAR +STARTCHAR U_7B03 +ENCODING 31491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A500 +9480 +7F00 +2100 +3FC0 +0040 +FF40 +0040 +0180 +ENDCHAR +STARTCHAR U_7B04 +ENCODING 31492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +A280 +9240 +7FC0 +1100 +1100 +FFE0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_7B05 +ENCODING 31493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +9440 +3B80 +0400 +1B00 +60C0 +1200 +0C00 +F3C0 +ENDCHAR +STARTCHAR U_7B06 +ENCODING 31494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8C40 +3FC0 +2240 +2240 +3FC0 +2020 +2020 +3FE0 +ENDCHAR +STARTCHAR U_7B07 +ENCODING 31495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3BE0 +5500 +8C80 +0400 +7FE0 +0400 +0700 +0480 +0480 +0400 +ENDCHAR +STARTCHAR U_7B08 +ENCODING 31496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +BF40 +1200 +13C0 +1880 +2500 +2200 +4500 +98E0 +ENDCHAR +STARTCHAR U_7B09 +ENCODING 31497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +A840 +3FC0 +4840 +8440 +0040 +0640 +3840 +0180 +ENDCHAR +STARTCHAR U_7B0A +ENCODING 31498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A500 +1080 +3F80 +2500 +2500 +2500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_7B0B +ENCODING 31499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +39E0 +5280 +BFC0 +0480 +FFE0 +0480 +3F80 +0800 +3000 +C000 +ENDCHAR +STARTCHAR U_7B0C +ENCODING 31500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +3FC0 +0200 +2200 +7FC0 +0A00 +1200 +E200 +0600 +ENDCHAR +STARTCHAR U_7B0D +ENCODING 31501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +0400 +7FC0 +4440 +4A40 +5140 +6040 +40C0 +ENDCHAR +STARTCHAR U_7B0E +ENCODING 31502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +39E0 +5280 +8C40 +3F80 +0000 +FFE0 +0900 +0920 +3120 +C0E0 +ENDCHAR +STARTCHAR U_7B0F +ENCODING 31503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4200 +7BC0 +9500 +2000 +3F80 +4A80 +9280 +2480 +4880 +1080 +2300 +ENDCHAR +STARTCHAR U_7B10 +ENCODING 31504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +A280 +0400 +FFE0 +0000 +1F00 +1100 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_7B11 +ENCODING 31505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +A280 +1440 +0380 +3C00 +0400 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_7B12 +ENCODING 31506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9280 +0E40 +3180 +C460 +0200 +3F80 +0100 +0200 +0400 +ENDCHAR +STARTCHAR U_7B13 +ENCODING 31507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +9440 +4200 +4240 +7A80 +4300 +4A20 +5220 +E1E0 +ENDCHAR +STARTCHAR U_7B14 +ENCODING 31508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +5480 +8F40 +7800 +0F00 +7800 +0FC0 +F800 +0820 +07E0 +ENDCHAR +STARTCHAR U_7B15 +ENCODING 31509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +9440 +3F80 +2080 +2480 +2680 +0620 +1A20 +E1E0 +ENDCHAR +STARTCHAR U_7B16 +ENCODING 31510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8C40 +2080 +2880 +2500 +2100 +3A80 +2440 +1820 +ENDCHAR +STARTCHAR U_7B17 +ENCODING 31511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8840 +1F80 +E900 +0600 +1980 +E460 +0A00 +0400 +ENDCHAR +STARTCHAR U_7B18 +ENCODING 31512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8400 +07C0 +0400 +3FC0 +2040 +2040 +3FC0 +2040 +ENDCHAR +STARTCHAR U_7B19 +ENCODING 31513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +0A40 +1200 +3FC0 +4200 +1F80 +0200 +0200 +7FE0 +ENDCHAR +STARTCHAR U_7B1A +ENCODING 31514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +0840 +3FC0 +2440 +3FC0 +2440 +3FC0 +0400 +0400 +ENDCHAR +STARTCHAR U_7B1B +ENCODING 31515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +1440 +7FC0 +4440 +4440 +7FC0 +4440 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7B1C +ENCODING 31516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +5480 +8C00 +2480 +2480 +3F80 +0400 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_7B1D +ENCODING 31517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +FFC0 +4040 +5F40 +4A40 +4440 +4A40 +5140 +7FC0 +ENDCHAR +STARTCHAR U_7B1E +ENCODING 31518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +0900 +1080 +3F40 +0000 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_7B1F +ENCODING 31519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7FE0 +5280 +CD40 +3E00 +2900 +2900 +2880 +4A80 +4E60 +9A40 +ENDCHAR +STARTCHAR U_7B20 +ENCODING 31520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A500 +9480 +0400 +7FC0 +0100 +1100 +0A00 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_7B21 +ENCODING 31521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +C880 +1F00 +1100 +1F00 +1100 +1F00 +1100 +FFE0 +ENDCHAR +STARTCHAR U_7B22 +ENCODING 31522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +9080 +7FC0 +4040 +7FC0 +4400 +7FE0 +4220 +5920 +60E0 +ENDCHAR +STARTCHAR U_7B23 +ENCODING 31523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9280 +2840 +3FC0 +4040 +BE40 +2240 +3E80 +2020 +1FE0 +ENDCHAR +STARTCHAR U_7B24 +ENCODING 31524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9480 +7FC0 +0440 +0940 +1080 +7FC0 +1040 +1FC0 +1040 +ENDCHAR +STARTCHAR U_7B25 +ENCODING 31525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +8A80 +3FC0 +0040 +7F40 +0040 +3E40 +2240 +3E40 +00C0 +ENDCHAR +STARTCHAR U_7B26 +ENCODING 31526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8440 +1080 +2FE0 +6080 +A480 +2280 +2080 +2180 +ENDCHAR +STARTCHAR U_7B27 +ENCODING 31527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +FBC0 +4A40 +4A40 +FFE0 +4A40 +4A40 +4A40 +9CC0 +ENDCHAR +STARTCHAR U_7B28 +ENCODING 31528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +A680 +9440 +0400 +FFE0 +1500 +2480 +5F40 +8420 +0400 +ENDCHAR +STARTCHAR U_7B29 +ENCODING 31529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5080 +8D40 +1480 +27E0 +FC00 +2200 +2240 +2140 +2080 +ENDCHAR +STARTCHAR U_7B2A +ENCODING 31530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +0840 +1F80 +1080 +1F80 +1080 +1F80 +0000 +FFE0 +ENDCHAR +STARTCHAR U_7B2B +ENCODING 31531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3BE0 +5480 +8A40 +2380 +3E00 +2200 +3FE0 +1220 +22C0 +C200 +ENDCHAR +STARTCHAR U_7B2C +ENCODING 31532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +5480 +BFC0 +0440 +7FC0 +4400 +7FE0 +1420 +24C0 +C400 +ENDCHAR +STARTCHAR U_7B2D +ENCODING 31533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BE0 +5480 +8A40 +1500 +2480 +7FC0 +0080 +0900 +0600 +0100 +ENDCHAR +STARTCHAR U_7B2E +ENCODING 31534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +1FE0 +2400 +47C0 +0400 +07C0 +0400 +0400 +ENDCHAR +STARTCHAR U_7B2F +ENCODING 31535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +2840 +FBE0 +5240 +5240 +5180 +2180 +5240 +8C20 +ENDCHAR +STARTCHAR U_7B30 +ENCODING 31536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9240 +0920 +7FC0 +0940 +7FC0 +4900 +7FE0 +0920 +3140 +ENDCHAR +STARTCHAR U_7B31 +ENCODING 31537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +2440 +3FC0 +4040 +9E40 +1240 +1E40 +0040 +0180 +ENDCHAR +STARTCHAR U_7B32 +ENCODING 31538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +1080 +3FC0 +1100 +FFE0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_7B33 +ENCODING 31539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +A040 +21E0 +7D20 +2520 +2520 +2520 +55E0 +8920 +ENDCHAR +STARTCHAR U_7B34 +ENCODING 31540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +7FE0 +0080 +3C80 +2480 +3C80 +0280 +0100 +ENDCHAR +STARTCHAR U_7B35 +ENCODING 31541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +A840 +17C0 +4C40 +3440 +1580 +6420 +2420 +23E0 +ENDCHAR +STARTCHAR U_7B36 +ENCODING 31542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +5280 +A440 +3FC0 +4400 +3FE0 +0A00 +0900 +10E0 +6040 +ENDCHAR +STARTCHAR U_7B37 +ENCODING 31543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +4840 +93C0 +6A40 +4A40 +5B40 +6A80 +1200 +6200 +ENDCHAR +STARTCHAR U_7B38 +ENCODING 31544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8800 +3FC0 +2000 +2F80 +2880 +2F80 +2000 +3FE0 +ENDCHAR +STARTCHAR U_7B39 +ENCODING 31545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +2900 +C480 +1500 +FFE0 +1500 +1500 +1700 +1000 +1FC0 +ENDCHAR +STARTCHAR U_7B3A +ENCODING 31546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8940 +0FC0 +7C00 +07C0 +7C80 +0320 +0620 +79E0 +ENDCHAR +STARTCHAR U_7B3B +ENCODING 31547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +0840 +7FC0 +1240 +1240 +1240 +1EC0 +E200 +0200 +ENDCHAR +STARTCHAR U_7B3C +ENCODING 31548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +0A40 +0900 +FFE0 +0A80 +0A80 +1320 +2620 +49E0 +ENDCHAR +STARTCHAR U_7B3D +ENCODING 31549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +3DE0 +5280 +8840 +0000 +3F80 +2A80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_7B3E +ENCODING 31550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9280 +4200 +2FC0 +E240 +2240 +2540 +28C0 +7000 +8FE0 +ENDCHAR +STARTCHAR U_7B3F +ENCODING 31551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3BC0 +5500 +9F80 +2900 +4600 +0900 +10E0 +FF40 +1100 +1F00 +ENDCHAR +STARTCHAR U_7B40 +ENCODING 31552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +9480 +7FC0 +0400 +FFE0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7B41 +ENCODING 31553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +A280 +1840 +0A00 +7FC0 +4A40 +7FC0 +4A40 +4A40 +7FC0 +ENDCHAR +STARTCHAR U_7B42 +ENCODING 31554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +7FE0 +9480 +4900 +25C0 +4F40 +3540 +15C0 +6520 +23E0 +ENDCHAR +STARTCHAR U_7B43 +ENCODING 31555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7FE0 +9280 +7FC0 +4440 +5F40 +4440 +4A40 +5140 +7FC0 +4040 +ENDCHAR +STARTCHAR U_7B44 +ENCODING 31556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BE0 +5480 +8A40 +4A80 +2B00 +1A80 +6A40 +0A20 +1220 +E1E0 +ENDCHAR +STARTCHAR U_7B45 +ENCODING 31557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +1440 +3FC0 +4400 +FFE0 +0900 +0920 +1120 +60E0 +ENDCHAR +STARTCHAR U_7B46 +ENCODING 31558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9440 +3F80 +0480 +FFE0 +0480 +7FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_7B47 +ENCODING 31559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +7DE0 +1120 +1140 +1140 +1D20 +61C0 +0100 +ENDCHAR +STARTCHAR U_7B48 +ENCODING 31560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A40 +8180 +3E00 +0200 +7FE0 +0200 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_7B49 +ENCODING 31561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +0400 +FFE0 +0100 +7FC0 +1100 +0900 +0300 +ENDCHAR +STARTCHAR U_7B4A +ENCODING 31562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +1240 +FFE0 +1080 +3140 +4A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_7B4B +ENCODING 31563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +5480 +8940 +7900 +4FE0 +7920 +4920 +7920 +4A20 +9CC0 +ENDCHAR +STARTCHAR U_7B4C +ENCODING 31564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8C40 +3300 +C0E0 +1F00 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7B4D +ENCODING 31565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9440 +3FC0 +4040 +BE40 +2240 +3E40 +2240 +3E40 +0180 +ENDCHAR +STARTCHAR U_7B4E +ENCODING 31566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8C40 +11E0 +FD20 +2920 +4920 +3120 +49E0 +8520 +ENDCHAR +STARTCHAR U_7B4F +ENCODING 31567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BE0 +4C40 +9280 +1240 +23E0 +6E40 +A180 +2120 +22A0 +2C60 +ENDCHAR +STARTCHAR U_7B50 +ENCODING 31568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +7FE0 +4200 +4F80 +4200 +5FC0 +4000 +7FE0 +ENDCHAR +STARTCHAR U_7B51 +ENCODING 31569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +0000 +F780 +2480 +2680 +2580 +3480 +C8A0 +10E0 +ENDCHAR +STARTCHAR U_7B52 +ENCODING 31570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +7FC0 +4040 +5F40 +4040 +5F40 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_7B53 +ENCODING 31571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3BE0 +5480 +8840 +7BC0 +1100 +1100 +FBE0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_7B54 +ENCODING 31572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5680 +8A40 +3180 +DF60 +0000 +1F80 +1080 +1080 +1F80 +ENDCHAR +STARTCHAR U_7B55 +ENCODING 31573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +9840 +23C0 +C800 +17E0 +3080 +D080 +1280 +1100 +ENDCHAR +STARTCHAR U_7B56 +ENCODING 31574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A280 +1440 +FFE0 +0400 +7FC0 +4E40 +5540 +2480 +C460 +ENDCHAR +STARTCHAR U_7B57 +ENCODING 31575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +9940 +2100 +6FC0 +A940 +2940 +2FC0 +2100 +2100 +ENDCHAR +STARTCHAR U_7B58 +ENCODING 31576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +2000 +FBE0 +2220 +3A20 +E220 +23E0 +E220 +ENDCHAR +STARTCHAR U_7B59 +ENCODING 31577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +BF40 +0400 +3F80 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_7B5A +ENCODING 31578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +4240 +7B80 +4220 +79E0 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7B5B +ENCODING 31579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +0840 +AFE0 +A100 +AFE0 +A920 +2920 +4960 +8100 +ENDCHAR +STARTCHAR U_7B5C +ENCODING 31580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3BE0 +5480 +8840 +2480 +1500 +7FC0 +0040 +3FC0 +0040 +7FC0 +ENDCHAR +STARTCHAR U_7B5D +ENCODING 31581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3BE0 +5480 +9140 +7F80 +0480 +FFE0 +0480 +3F80 +0400 +1C00 +ENDCHAR +STARTCHAR U_7B5E +ENCODING 31582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8840 +7FE0 +8420 +7FE0 +0E00 +1580 +6460 +0400 +ENDCHAR +STARTCHAR U_7B5F +ENCODING 31583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +01E0 +7E40 +0A80 +3FC0 +0100 +FFE0 +0200 +0600 +ENDCHAR +STARTCHAR U_7B60 +ENCODING 31584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +A500 +0200 +27E0 +F820 +2720 +2020 +3920 +C620 +00C0 +ENDCHAR +STARTCHAR U_7B61 +ENCODING 31585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +1440 +1B00 +E0E0 +1F00 +0400 +FFE0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7B62 +ENCODING 31586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +27C0 +FD40 +2540 +37C0 +E420 +2420 +E3E0 +ENDCHAR +STARTCHAR U_7B63 +ENCODING 31587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +7140 +1140 +FD40 +1940 +3540 +5240 +90C0 +ENDCHAR +STARTCHAR U_7B64 +ENCODING 31588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +1440 +3F80 +2080 +3F80 +2080 +3FA0 +2140 +38E0 +ENDCHAR +STARTCHAR U_7B65 +ENCODING 31589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9240 +3F80 +2080 +3F80 +0000 +7FC0 +4040 +4040 +7FC0 +ENDCHAR +STARTCHAR U_7B66 +ENCODING 31590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +A480 +7FE0 +4020 +1F80 +0000 +7FC0 +0900 +1120 +E0E0 +ENDCHAR +STARTCHAR U_7B67 +ENCODING 31591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5240 +BFA0 +2080 +3F80 +2080 +3F80 +0A20 +1220 +E1E0 +ENDCHAR +STARTCHAR U_7B68 +ENCODING 31592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8A40 +3580 +DF60 +0200 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_7B69 +ENCODING 31593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7F80 +0A00 +7FC0 +4440 +7FC0 +4440 +7FC0 +4440 +ENDCHAR +STARTCHAR U_7B6A +ENCODING 31594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8840 +7FE0 +5240 +5FC0 +5240 +5FC0 +4200 +7FE0 +ENDCHAR +STARTCHAR U_7B6B +ENCODING 31595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +BFC0 +2080 +3F80 +2080 +3F80 +2080 +3F80 +60C0 +ENDCHAR +STARTCHAR U_7B6C +ENCODING 31596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8A40 +7FE0 +4200 +7A80 +4980 +4920 +52A0 +8460 +ENDCHAR +STARTCHAR U_7B6D +ENCODING 31597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +0400 +7FC0 +1100 +FFE0 +1100 +2100 +C100 +ENDCHAR +STARTCHAR U_7B6E +ENCODING 31598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +9440 +7FE0 +2480 +2480 +5540 +8E20 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7B6F +ENCODING 31599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8940 +7900 +4BC0 +7940 +4940 +5A40 +E240 +0480 +ENDCHAR +STARTCHAR U_7B70 +ENCODING 31600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +4480 +9440 +27E0 +6A00 +A3C0 +2200 +23E0 +2200 +2200 +ENDCHAR +STARTCHAR U_7B71 +ENCODING 31601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +9240 +2A00 +2BE0 +6E80 +AA80 +2900 +2280 +2C60 +ENDCHAR +STARTCHAR U_7B72 +ENCODING 31602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +A440 +1480 +3FC0 +2040 +3FC0 +2040 +3FC0 +20C0 +ENDCHAR +STARTCHAR U_7B73 +ENCODING 31603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +F840 +1780 +2100 +37C0 +5100 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_7B74 +ENCODING 31604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +9440 +7FE0 +2480 +34C0 +4D20 +8A00 +3180 +C060 +ENDCHAR +STARTCHAR U_7B75 +ENCODING 31605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +EF80 +4100 +F5E0 +5500 +27E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_7B76 +ENCODING 31606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +2440 +3FC0 +4400 +FFE0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_7B77 +ENCODING 31607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +5480 +A200 +2FC0 +B240 +A240 +BFE0 +2300 +2480 +3860 +ENDCHAR +STARTCHAR U_7B78 +ENCODING 31608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9440 +3F80 +2080 +3F80 +2080 +7FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_7B79 +ENCODING 31609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7FC0 +0800 +3F80 +1000 +FFE0 +2100 +7FE0 +9100 +0B00 +ENDCHAR +STARTCHAR U_7B7A +ENCODING 31610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8860 +7FC0 +4200 +5FC0 +4280 +5FC0 +4000 +7FE0 +ENDCHAR +STARTCHAR U_7B7B +ENCODING 31611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +A480 +1440 +FFE0 +4440 +7FC0 +4440 +7FC0 +1400 +0800 +F7E0 +ENDCHAR +STARTCHAR U_7B7C +ENCODING 31612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +9F40 +1100 +3F80 +2480 +2480 +2A80 +1100 +60C0 +ENDCHAR +STARTCHAR U_7B7D +ENCODING 31613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +BFC0 +2080 +3F80 +7FC0 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7B7E +ENCODING 31614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +5480 +8440 +0A00 +3180 +DF60 +2480 +2500 +1100 +7FE0 +ENDCHAR +STARTCHAR U_7B7F +ENCODING 31615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +1F80 +6900 +0600 +79E0 +0400 +FFE0 +2480 +4C40 +ENDCHAR +STARTCHAR U_7B80 +ENCODING 31616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +27C0 +5040 +4F40 +4940 +4F40 +4940 +4F40 +40C0 +ENDCHAR +STARTCHAR U_7B81 +ENCODING 31617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5280 +8440 +3F80 +1100 +FFC0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_7B82 +ENCODING 31618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +1440 +7FE0 +2480 +5540 +8E20 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_7B83 +ENCODING 31619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +FC40 +4BE0 +7A40 +4A40 +7940 +4880 +F940 +0E20 +ENDCHAR +STARTCHAR U_7B84 +ENCODING 31620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +3FC0 +2440 +3FC0 +2440 +3FC0 +1200 +FFE0 +0200 +ENDCHAR +STARTCHAR U_7B85 +ENCODING 31621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BE0 +5480 +BF80 +2480 +3F80 +2480 +FFE0 +1100 +1100 +6100 +ENDCHAR +STARTCHAR U_7B86 +ENCODING 31622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +FFC0 +4440 +5B40 +0000 +4240 +7B80 +4220 +71E0 +ENDCHAR +STARTCHAR U_7B87 +ENCODING 31623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4200 +7BC0 +A500 +FFC0 +8840 +BF40 +8840 +9E40 +9240 +FFC0 +8040 +ENDCHAR +STARTCHAR U_7B88 +ENCODING 31624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +5040 +2280 +9440 +67A0 +2000 +C7C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_7B89 +ENCODING 31625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +27C0 +F440 +27C0 +3100 +EFE0 +2120 +2220 +6C60 +ENDCHAR +STARTCHAR U_7B8A +ENCODING 31626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +FD80 +2240 +3D20 +24C0 +2400 +5580 +8840 +ENDCHAR +STARTCHAR U_7B8B +ENCODING 31627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +0A40 +7F80 +0520 +7FE0 +0900 +7FC0 +04A0 +0520 +7BE0 +ENDCHAR +STARTCHAR U_7B8C +ENCODING 31628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +FE20 +2520 +7B20 +1120 +7D20 +1020 +FCE0 +ENDCHAR +STARTCHAR U_7B8D +ENCODING 31629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +5280 +AA40 +2FE0 +F880 +2BE0 +3AA0 +EAA0 +2AE0 +2880 +EFE0 +ENDCHAR +STARTCHAR U_7B8E +ENCODING 31630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +5480 +8FC0 +0400 +7FE0 +4420 +5F00 +4440 +4FC0 +4920 +B0E0 +ENDCHAR +STARTCHAR U_7B8F +ENCODING 31631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7FC0 +2900 +7F80 +0480 +FFE0 +0480 +7F80 +0400 +0C00 +ENDCHAR +STARTCHAR U_7B90 +ENCODING 31632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +0400 +FFE0 +2080 +3F80 +2080 +3F80 +2180 +ENDCHAR +STARTCHAR U_7B91 +ENCODING 31633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7FE0 +0480 +FFE0 +0480 +3F80 +2400 +27C0 +5400 +8FE0 +ENDCHAR +STARTCHAR U_7B92 +ENCODING 31634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +BFC0 +0080 +FFE0 +8420 +3F80 +2480 +2580 +0400 +ENDCHAR +STARTCHAR U_7B93 +ENCODING 31635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8840 +7F80 +0080 +FFE0 +2480 +1F00 +E480 +0860 +ENDCHAR +STARTCHAR U_7B94 +ENCODING 31636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +A940 +47E0 +3420 +1420 +67E0 +2420 +2420 +27E0 +ENDCHAR +STARTCHAR U_7B95 +ENCODING 31637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9500 +7FE0 +1100 +1D00 +1700 +1100 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7B96 +ENCODING 31638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +2100 +FFE0 +3180 +6B40 +A520 +2920 +2100 +ENDCHAR +STARTCHAR U_7B97 +ENCODING 31639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +5240 +BF80 +2080 +3F80 +2080 +3F80 +1100 +FFE0 +1100 +6100 +ENDCHAR +STARTCHAR U_7B98 +ENCODING 31640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +4140 +5E40 +4440 +7FC0 +4E40 +5540 +7FC0 +ENDCHAR +STARTCHAR U_7B99 +ENCODING 31641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +7BE0 +4A20 +7A40 +4BE0 +7AA0 +4A40 +9AA0 +ENDCHAR +STARTCHAR U_7B9A +ENCODING 31642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +9840 +2540 +7D40 +8140 +7D40 +4540 +7C40 +44C0 +ENDCHAR +STARTCHAR U_7B9B +ENCODING 31643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +0840 +FFC0 +1540 +3D40 +E540 +2540 +25A0 +E920 +ENDCHAR +STARTCHAR U_7B9C +ENCODING 31644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BE0 +5480 +8A40 +FFE0 +9120 +2080 +5F40 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7B9D +ENCODING 31645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BE0 +5480 +A840 +2240 +FFE0 +2240 +3A40 +E3C0 +2240 +E3C0 +ENDCHAR +STARTCHAR U_7B9E +ENCODING 31646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +AA40 +7FC0 +0800 +FFE0 +1280 +7660 +9080 +0F80 +ENDCHAR +STARTCHAR U_7B9F +ENCODING 31647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8840 +3F80 +2080 +3F80 +2240 +3B80 +2220 +39E0 +ENDCHAR +STARTCHAR U_7BA0 +ENCODING 31648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +3F80 +0400 +FFC0 +2480 +FFE0 +2480 +7FC0 +0400 +3F80 +ENDCHAR +STARTCHAR U_7BA1 +ENCODING 31649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +FFE0 +8020 +3F80 +2080 +3FC0 +2040 +2040 +3FC0 +ENDCHAR +STARTCHAR U_7BA2 +ENCODING 31650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +1240 +FFE0 +A020 +3FC0 +2A40 +5AC0 +1220 +E1E0 +ENDCHAR +STARTCHAR U_7BA3 +ENCODING 31651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +BC40 +1140 +7D40 +5540 +5540 +3940 +5440 +10C0 +ENDCHAR +STARTCHAR U_7BA4 +ENCODING 31652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +1240 +7FC0 +2100 +5280 +8C40 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7BA5 +ENCODING 31653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +A940 +2FE0 +C900 +2BC0 +AA40 +4980 +5260 +1440 +ENDCHAR +STARTCHAR U_7BA6 +ENCODING 31654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +0400 +FFE0 +2080 +2480 +2480 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_7BA7 +ENCODING 31655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9080 +7FE0 +4200 +5FC0 +4A80 +7FE0 +4500 +4880 +7FE0 +ENDCHAR +STARTCHAR U_7BA8 +ENCODING 31656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8FC0 +2240 +F780 +2160 +37C0 +E100 +2FE0 +E100 +ENDCHAR +STARTCHAR U_7BA9 +ENCODING 31657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +5240 +7FC0 +0800 +1F80 +6900 +0E00 +7000 +ENDCHAR +STARTCHAR U_7BAA +ENCODING 31658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8940 +3F80 +2480 +3F80 +2480 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7BAB +ENCODING 31659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +0440 +FFE0 +0440 +7FC0 +5540 +64C0 +8440 +ENDCHAR +STARTCHAR U_7BAC +ENCODING 31660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +1140 +FFE0 +1500 +FFE0 +1000 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_7BAD +ENCODING 31661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +0A00 +FFE0 +4840 +7940 +4940 +7940 +4840 +59C0 +ENDCHAR +STARTCHAR U_7BAE +ENCODING 31662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8840 +FFE0 +8020 +3F80 +2080 +3F80 +2080 +FFE0 +ENDCHAR +STARTCHAR U_7BAF +ENCODING 31663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BE0 +5480 +9FE0 +2940 +2FC0 +6940 +AFC0 +2900 +2600 +39E0 +ENDCHAR +STARTCHAR U_7BB0 +ENCODING 31664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +4A80 +BFE0 +2520 +2920 +7F60 +0200 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_7BB1 +ENCODING 31665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +9440 +7FC0 +1240 +3BC0 +5640 +93C0 +1240 +13C0 +ENDCHAR +STARTCHAR U_7BB2 +ENCODING 31666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +AA40 +2FC0 +5200 +5FE0 +2500 +C500 +4920 +50E0 +ENDCHAR +STARTCHAR U_7BB3 +ENCODING 31667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +FFC0 +4040 +7FC0 +5080 +7FC0 +4900 +BFC0 +9100 +ENDCHAR +STARTCHAR U_7BB4 +ENCODING 31668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +1140 +7FE0 +4100 +5D40 +4140 +5CA0 +9560 +9E20 +ENDCHAR +STARTCHAR U_7BB5 +ENCODING 31669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9440 +0480 +1540 +6220 +1FC0 +F040 +1FC0 +1040 +1FC0 +ENDCHAR +STARTCHAR U_7BB6 +ENCODING 31670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8BC0 +2240 +7BC0 +2240 +7BC0 +4A40 +7A40 +0480 +ENDCHAR +STARTCHAR U_7BB7 +ENCODING 31671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +FBE0 +4500 +75C0 +5F40 +5540 +9420 +B3E0 +ENDCHAR +STARTCHAR U_7BB8 +ENCODING 31672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +8440 +3E80 +0500 +FFE0 +1080 +3F80 +D080 +1F80 +ENDCHAR +STARTCHAR U_7BB9 +ENCODING 31673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +AA40 +43E0 +F420 +2220 +4920 +F520 +5020 +A8C0 +ENDCHAR +STARTCHAR U_7BBA +ENCODING 31674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8C40 +7FC0 +0400 +FFE0 +3180 +5F40 +9120 +1F00 +ENDCHAR +STARTCHAR U_7BBB +ENCODING 31675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8FC0 +2240 +5FE0 +A240 +4FC0 +C200 +5FE0 +4200 +ENDCHAR +STARTCHAR U_7BBC +ENCODING 31676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +FFC0 +4040 +7FC0 +4900 +5F80 +4400 +8400 +BFE0 +ENDCHAR +STARTCHAR U_7BBD +ENCODING 31677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FC0 +4A80 +BF00 +0400 +FFE0 +2D80 +3680 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7BBE +ENCODING 31678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +5540 +7D40 +4540 +7D40 +4540 +7C40 +45C0 +ENDCHAR +STARTCHAR U_7BBF +ENCODING 31679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +BFC0 +2080 +7FE0 +2080 +3F80 +20E0 +FF80 +0080 +ENDCHAR +STARTCHAR U_7BC0 +ENCODING 31680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +FDE0 +4520 +7D20 +4520 +7D20 +4920 +5560 +6500 +ENDCHAR +STARTCHAR U_7BC1 +ENCODING 31681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +5500 +BF80 +2080 +3F80 +2080 +7FC0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7BC2 +ENCODING 31682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8840 +3F80 +2080 +3F80 +2400 +7F80 +8400 +FFE0 +ENDCHAR +STARTCHAR U_7BC3 +ENCODING 31683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +FFC0 +4040 +7FC0 +5FC0 +5040 +5FC0 +9040 +9FC0 +ENDCHAR +STARTCHAR U_7BC4 +ENCODING 31684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5240 +FFE0 +5520 +7D20 +5520 +7D60 +1100 +FF20 +10E0 +ENDCHAR +STARTCHAR U_7BC5 +ENCODING 31685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +4840 +7FC0 +0000 +FFE0 +0400 +7FC0 +4A40 +4AC0 +ENDCHAR +STARTCHAR U_7BC6 +ENCODING 31686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8F40 +1100 +FFE0 +2C80 +5700 +2A80 +1240 +6C20 +ENDCHAR +STARTCHAR U_7BC7 +ENCODING 31687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +3FC0 +2040 +3FC0 +2000 +3FE0 +3520 +5FE0 +9560 +ENDCHAR +STARTCHAR U_7BC8 +ENCODING 31688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +B840 +13E0 +FC40 +1240 +7D40 +1040 +1C40 +E080 +ENDCHAR +STARTCHAR U_7BC9 +ENCODING 31689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +FF80 +24A0 +26A0 +F9E0 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_7BCA +ENCODING 31690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +8480 +5FE0 +A480 +5FE0 +C480 +4840 +5020 +ENDCHAR +STARTCHAR U_7BCB +ENCODING 31691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FE0 +4200 +7FE0 +5280 +6F40 +4500 +4880 +7FE0 +ENDCHAR +STARTCHAR U_7BCC +ENCODING 31692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +17C0 +2040 +6FE0 +A900 +3FE0 +2100 +2280 +2C60 +ENDCHAR +STARTCHAR U_7BCD +ENCODING 31693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +CA80 +7540 +2100 +F540 +2580 +7100 +AA80 +2440 +2820 +ENDCHAR +STARTCHAR U_7BCE +ENCODING 31694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +8840 +F100 +9540 +F520 +9940 +F040 +9180 +F600 +ENDCHAR +STARTCHAR U_7BCF +ENCODING 31695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8A40 +4BE0 +FA40 +4D00 +7900 +4A80 +7A80 +0C60 +ENDCHAR +STARTCHAR U_7BD0 +ENCODING 31696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +A840 +FFE0 +2880 +7BE0 +6AA0 +AAA0 +2880 +2FE0 +ENDCHAR +STARTCHAR U_7BD1 +ENCODING 31697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7BE0 +9480 +3F80 +2480 +FFE0 +2080 +2480 +2480 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_7BD2 +ENCODING 31698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +9A40 +6180 +BF60 +2100 +3F40 +2480 +2B00 +30C0 +ENDCHAR +STARTCHAR U_7BD3 +ENCODING 31699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9080 +2500 +FFE0 +2480 +4840 +FFE0 +1100 +0F00 +F0E0 +ENDCHAR +STARTCHAR U_7BD4 +ENCODING 31700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +1F80 +1080 +3FC0 +2040 +3FC0 +2040 +3FC0 +E0E0 +ENDCHAR +STARTCHAR U_7BD5 +ENCODING 31701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +9FC0 +0400 +FFE0 +1100 +2080 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_7BD6 +ENCODING 31702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8840 +7FC0 +4480 +7FE0 +4480 +5F80 +9080 +9F80 +ENDCHAR +STARTCHAR U_7BD7 +ENCODING 31703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9280 +3FC0 +E400 +3F80 +2400 +7FC0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_7BD8 +ENCODING 31704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +3FC0 +5540 +1F40 +0440 +3FC0 +5540 +1F40 +0840 +71C0 +ENDCHAR +STARTCHAR U_7BD9 +ENCODING 31705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +FFE0 +1100 +1F00 +0000 +7FC0 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_7BDA +ENCODING 31706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +9280 +7FE0 +4500 +7DE0 +4500 +5DC0 +4500 +7DE0 +4500 +7FE0 +ENDCHAR +STARTCHAR U_7BDB +ENCODING 31707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +FBE0 +0820 +FBE0 +8200 +FBE0 +4920 +28A0 +F3C0 +ENDCHAR +STARTCHAR U_7BDC +ENCODING 31708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +3F20 +0540 +7480 +2440 +CC20 +3FC0 +5240 +8920 +ENDCHAR +STARTCHAR U_7BDD +ENCODING 31709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9540 +7FE0 +1100 +FFE0 +1500 +FFE0 +2480 +FFE0 +2180 +ENDCHAR +STARTCHAR U_7BDE +ENCODING 31710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +4FC0 +2440 +87C0 +5440 +27C0 +C100 +4FC0 +4100 +5FE0 +ENDCHAR +STARTCHAR U_7BDF +ENCODING 31711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +1FE0 +2100 +2FC0 +6100 +BFE0 +2840 +2FC0 +2840 +28C0 +ENDCHAR +STARTCHAR U_7BE0 +ENCODING 31712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +23C0 +5680 +5900 +D6E0 +5100 +5FE0 +5540 +4B20 +ENDCHAR +STARTCHAR U_7BE1 +ENCODING 31713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +3F80 +2080 +3F80 +2080 +FFE0 +2500 +4880 +9160 +3E80 +ENDCHAR +STARTCHAR U_7BE2 +ENCODING 31714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +3FC0 +0400 +7FE0 +2040 +3FC0 +2040 +3FC0 +E0E0 +ENDCHAR +STARTCHAR U_7BE3 +ENCODING 31715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7FE0 +1100 +FFE0 +8420 +7FC0 +0800 +0FC0 +3040 +C380 +ENDCHAR +STARTCHAR U_7BE4 +ENCODING 31716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +5480 +BFE0 +2200 +3FC0 +2200 +3FC0 +2200 +3FE0 +4A20 +9560 +ENDCHAR +STARTCHAR U_7BE5 +ENCODING 31717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +FFE0 +0A00 +7FC0 +4A40 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_7BE6 +ENCODING 31718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +4A40 +5540 +7FC0 +4280 +7B20 +4220 +79E0 +ENDCHAR +STARTCHAR U_7BE7 +ENCODING 31719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +0840 +FFE0 +9220 +3FC0 +6200 +BFC0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_7BE8 +ENCODING 31720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7DE0 +9240 +E700 +A8C0 +DFA0 +A200 +BFE0 +EA80 +9240 +A620 +ENDCHAR +STARTCHAR U_7BE9 +ENCODING 31721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +A7E0 +7880 +4BE0 +7AA0 +42A0 +7AA0 +4AE0 +7880 +ENDCHAR +STARTCHAR U_7BEA +ENCODING 31722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7FC0 +4400 +5FE0 +5420 +5F80 +5440 +A7C0 +A520 +D9E0 +ENDCHAR +STARTCHAR U_7BEB +ENCODING 31723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +FF80 +26A0 +FDE0 +0400 +7FC0 +0400 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_7BEC +ENCODING 31724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +8E40 +9180 +6460 +BF80 +3080 +5FC0 +5040 +9FC0 +ENDCHAR +STARTCHAR U_7BED +ENCODING 31725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +1100 +FFE0 +2480 +2480 +3F80 +0420 +03E0 +ENDCHAR +STARTCHAR U_7BEE +ENCODING 31726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +5480 +8A00 +53C0 +5280 +5440 +0000 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_7BEF +ENCODING 31727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +B940 +47C0 +F900 +27E0 +F940 +2140 +30A0 +2760 +ENDCHAR +STARTCHAR U_7BF0 +ENCODING 31728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +21E0 +FD20 +4940 +FDC0 +0120 +7DA0 +4540 +7D00 +ENDCHAR +STARTCHAR U_7BF1 +ENCODING 31729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +FFE0 +2A80 +2480 +3F80 +0400 +7FC0 +4940 +5F40 +ENDCHAR +STARTCHAR U_7BF2 +ENCODING 31730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A500 +1080 +FBE0 +1080 +7F80 +0080 +7F80 +0080 +7F80 +ENDCHAR +STARTCHAR U_7BF3 +ENCODING 31731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +4440 +7FC0 +1500 +FFE0 +1500 +7FC0 +0400 +ENDCHAR +STARTCHAR U_7BF4 +ENCODING 31732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +4FE0 +2620 +EB40 +2580 +2B40 +2520 +7200 +8FE0 +ENDCHAR +STARTCHAR U_7BF5 +ENCODING 31733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +A440 +4A40 +B3A0 +4100 +C5C0 +4500 +4B00 +50E0 +ENDCHAR +STARTCHAR U_7BF6 +ENCODING 31734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +2200 +FFE0 +2000 +3FC0 +0040 +5540 +8AC0 +ENDCHAR +STARTCHAR U_7BF7 +ENCODING 31735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +5380 +0280 +5D60 +2100 +E7C0 +2100 +3FC0 +6100 +9FE0 +ENDCHAR +STARTCHAR U_7BF8 +ENCODING 31736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +AC80 +1100 +3F80 +4A40 +FFC0 +1200 +2980 +D460 +1900 +0600 +ENDCHAR +STARTCHAR U_7BF9 +ENCODING 31737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +3FC0 +2040 +3FC0 +2040 +FFE0 +1080 +3F40 +D2A0 +1F80 +ENDCHAR +STARTCHAR U_7BFA +ENCODING 31738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +AFC0 +2540 +FFC0 +2540 +37C0 +E280 +2FE0 +6080 +ENDCHAR +STARTCHAR U_7BFB +ENCODING 31739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7FE0 +0A00 +7FC0 +4A40 +7FC0 +0000 +FFE0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7BFC +ENCODING 31740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +5280 +8400 +6F60 +4920 +4F20 +6960 +0F00 +3220 +C1E0 +ENDCHAR +STARTCHAR U_7BFD +ENCODING 31741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +2840 +4FE0 +B4A0 +5FA0 +C4A0 +56E0 +5480 +5F80 +ENDCHAR +STARTCHAR U_7BFE +ENCODING 31742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +4A40 +7FC0 +0480 +7FC0 +52A0 +4B20 +9CE0 +ENDCHAR +STARTCHAR U_7BFF +ENCODING 31743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +FFE0 +4440 +7FC0 +4440 +7FC0 +00A0 +FFE0 +1080 +0B80 +ENDCHAR +STARTCHAR U_7C00 +ENCODING 31744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +0400 +FFE0 +2080 +3F80 +2080 +3F80 +60C0 +ENDCHAR +STARTCHAR U_7C01 +ENCODING 31745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +2100 +45C0 +9500 +2FE0 +6100 +A5E0 +2500 +3BE0 +ENDCHAR +STARTCHAR U_7C02 +ENCODING 31746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7FE0 +42A0 +7FE0 +4A20 +7AA0 +4120 +7AA0 +4460 +7FE0 +ENDCHAR +STARTCHAR U_7C03 +ENCODING 31747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +9280 +F3C0 +2640 +F980 +23E0 +7440 +AA80 +A100 +2E00 +ENDCHAR +STARTCHAR U_7C04 +ENCODING 31748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FC0 +5480 +BFC0 +2040 +3FC0 +2F80 +2A80 +2FA0 +4820 +87E0 +ENDCHAR +STARTCHAR U_7C05 +ENCODING 31749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7FE0 +0900 +7FE0 +5200 +5FC0 +6200 +5FC0 +4200 +BFE0 +ENDCHAR +STARTCHAR U_7C06 +ENCODING 31750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +FFE0 +8120 +79E0 +0100 +FFC0 +5280 +5120 +52A0 +8FE0 +ENDCHAR +STARTCHAR U_7C07 +ENCODING 31751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9480 +2200 +FFE0 +4200 +73E0 +5500 +57E0 +5280 +AC60 +ENDCHAR +STARTCHAR U_7C08 +ENCODING 31752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5500 +BFE0 +2020 +3FE0 +2440 +3EE0 +2440 +5EE0 +8840 +ENDCHAR +STARTCHAR U_7C09 +ENCODING 31753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +0900 +8FC0 +5100 +EFE0 +2840 +2FC0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_7C0A +ENCODING 31754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7FC0 +1100 +1F00 +1100 +FFE0 +2480 +DF60 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7C0B +ENCODING 31755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +3F80 +2480 +3F80 +2280 +21E0 +7F80 +5280 +FFE0 +ENDCHAR +STARTCHAR U_7C0C +ENCODING 31756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +1100 +FFE0 +5420 +7C80 +1080 +3880 +5540 +9220 +ENDCHAR +STARTCHAR U_7C0D +ENCODING 31757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +3F80 +E4E0 +3F80 +2480 +FFE0 +1100 +0E00 +71C0 +ENDCHAR +STARTCHAR U_7C0E +ENCODING 31758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9440 +2280 +F7E0 +2280 +3FE0 +E440 +27C0 +2440 +67C0 +ENDCHAR +STARTCHAR U_7C0F +ENCODING 31759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FE0 +4A40 +7FC0 +4000 +5100 +5DA0 +9120 +9DE0 +ENDCHAR +STARTCHAR U_7C10 +ENCODING 31760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7D00 +55E0 +7E20 +5480 +7C80 +1080 +FD40 +1220 +ENDCHAR +STARTCHAR U_7C11 +ENCODING 31761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +FFE0 +2080 +FFE0 +2080 +3FA0 +3140 +D480 +1860 +ENDCHAR +STARTCHAR U_7C12 +ENCODING 31762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +5280 +BFC0 +3480 +2A80 +3F80 +0800 +FFE0 +5540 +AFA0 +ENDCHAR +STARTCHAR U_7C13 +ENCODING 31763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4880 +FE40 +7A80 +5220 +7A40 +4280 +7A20 +AA40 +BF80 +ENDCHAR +STARTCHAR U_7C14 +ENCODING 31764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FC0 +5500 +FFE0 +1100 +7FC0 +1100 +FFE0 +3140 +D480 +1860 +ENDCHAR +STARTCHAR U_7C15 +ENCODING 31765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +FD40 +27E0 +3D20 +1120 +7D20 +5520 +FDA0 +1240 +ENDCHAR +STARTCHAR U_7C16 +ENCODING 31766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +D5C0 +B900 +91E0 +FD40 +B940 +D540 +9240 +FC40 +ENDCHAR +STARTCHAR U_7C17 +ENCODING 31767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +AF80 +52C0 +0AA0 +7580 +2E00 +FFE0 +1480 +E460 +ENDCHAR +STARTCHAR U_7C18 +ENCODING 31768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9480 +3FC0 +0440 +FFE0 +5540 +7FC0 +4E40 +5540 +A4C0 +ENDCHAR +STARTCHAR U_7C19 +ENCODING 31769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +4FE0 +4100 +FFE0 +4920 +4FE0 +4920 +5FE0 +4880 +4580 +ENDCHAR +STARTCHAR U_7C1A +ENCODING 31770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5500 +BF80 +2A80 +FFE0 +1100 +7D40 +54A0 +5CA0 +1360 +ENDCHAR +STARTCHAR U_7C1B +ENCODING 31771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +6480 +FDC0 +2500 +3DE0 +3D40 +2540 +FF40 +2540 +C240 +ENDCHAR +STARTCHAR U_7C1C +ENCODING 31772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +47C0 +2440 +97C0 +6440 +2FE0 +D4A0 +4920 +42C0 +ENDCHAR +STARTCHAR U_7C1D +ENCODING 31773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +FFC0 +5240 +3F80 +60C0 +BFA0 +2080 +3F80 +2500 +CCE0 +ENDCHAR +STARTCHAR U_7C1E +ENCODING 31774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7BC0 +4A40 +7FC0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_7C1F +ENCODING 31775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +FFE0 +4A40 +7FC0 +2080 +3F80 +2080 +FFE0 +0400 +ENDCHAR +STARTCHAR U_7C20 +ENCODING 31776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +FFE0 +2480 +3F80 +2480 +3F80 +2480 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_7C21 +ENCODING 31777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9480 +FBE0 +8A20 +FBE0 +9F20 +F1E0 +9F20 +9120 +9F60 +ENDCHAR +STARTCHAR U_7C22 +ENCODING 31778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9480 +7BE0 +4A20 +7BE0 +4A20 +7FE0 +4920 +4620 +59E0 +ENDCHAR +STARTCHAR U_7C23 +ENCODING 31779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +4440 +FFE0 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_7C24 +ENCODING 31780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +BFC0 +2A40 +3FC0 +1080 +1F80 +1080 +1F80 +30C0 +ENDCHAR +STARTCHAR U_7C25 +ENCODING 31781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +3F80 +0800 +7FC0 +2080 +5F40 +9120 +7FC0 +5140 +5F40 +ENDCHAR +STARTCHAR U_7C26 +ENCODING 31782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7900 +5240 +3F80 +4040 +9FA0 +1080 +1F80 +0900 +FFE0 +ENDCHAR +STARTCHAR U_7C27 +ENCODING 31783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9500 +FFE0 +1100 +FFE0 +2480 +3F80 +2480 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_7C28 +ENCODING 31784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +9480 +7BC0 +4A40 +7BC0 +4220 +7FE0 +1100 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7C29 +ENCODING 31785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +5EE0 +5280 +2940 +FFE0 +8820 +3FC0 +0840 +F380 +ENDCHAR +STARTCHAR U_7C2A +ENCODING 31786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +FBE0 +A280 +FBE0 +5100 +DFE0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_7C2B +ENCODING 31787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +3F80 +0480 +FFE0 +5540 +75C0 +7FC0 +5540 +9540 +ENDCHAR +STARTCHAR U_7C2C +ENCODING 31788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7BC0 +4A40 +7D80 +2240 +A7E0 +BA40 +A240 +FBC0 +ENDCHAR +STARTCHAR U_7C2D +ENCODING 31789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FE0 +2480 +5540 +FFE0 +2080 +5FC0 +90A0 +1F80 +ENDCHAR +STARTCHAR U_7C2E +ENCODING 31790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +FBC0 +2100 +FFE0 +5240 +9FA0 +1480 +1280 +1F80 +ENDCHAR +STARTCHAR U_7C2F +ENCODING 31791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +AA40 +27E0 +FA40 +23C0 +7240 +6FE0 +A240 +2420 +ENDCHAR +STARTCHAR U_7C30 +ENCODING 31792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +8A80 +57E0 +5520 +7FE0 +4520 +77E0 +5280 +57E0 +9080 +ENDCHAR +STARTCHAR U_7C31 +ENCODING 31793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +5280 +AA40 +17E0 +FA40 +23C0 +3A40 +2FE0 +4A40 +9420 +ENDCHAR +STARTCHAR U_7C32 +ENCODING 31794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5280 +F7C0 +5540 +77C0 +5540 +77C0 +5500 +5FE0 +B100 +ENDCHAR +STARTCHAR U_7C33 +ENCODING 31795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +FD80 +2240 +FC20 +8BC0 +F880 +23E0 +FC80 +2080 +ENDCHAR +STARTCHAR U_7C34 +ENCODING 31796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FE0 +4820 +7F80 +4820 +47E0 +5540 +BFE0 +8840 +ENDCHAR +STARTCHAR U_7C35 +ENCODING 31797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5500 +FDC0 +5740 +7C80 +5560 +7FC0 +1140 +FD40 +11C0 +ENDCHAR +STARTCHAR U_7C36 +ENCODING 31798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FC0 +5500 +A7C0 +1040 +FFE0 +1100 +2540 +7380 +A540 +2B20 +ENDCHAR +STARTCHAR U_7C37 +ENCODING 31799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9E80 +2240 +7FE0 +AA40 +37A0 +2000 +4FC0 +4840 +8FC0 +ENDCHAR +STARTCHAR U_7C38 +ENCODING 31800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +5080 +FFE0 +52A0 +73E0 +5340 +FE80 +5540 +8A20 +ENDCHAR +STARTCHAR U_7C39 +ENCODING 31801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A480 +1500 +FFE0 +9120 +3F80 +2480 +3F80 +2480 +3F80 +ENDCHAR +STARTCHAR U_7C3A +ENCODING 31802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +7FE0 +4920 +1F80 +FFE0 +2480 +DF60 +0400 +7FC0 +ENDCHAR +STARTCHAR U_7C3B +ENCODING 31803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +D280 +47C0 +2440 +E740 +2FE0 +2AA0 +2BA0 +5820 +8FE0 +ENDCHAR +STARTCHAR U_7C3C +ENCODING 31804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +4A80 +2280 +FFE0 +2280 +3FE0 +E540 +2FE0 +2440 +64C0 +ENDCHAR +STARTCHAR U_7C3D +ENCODING 31805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +0C40 +3300 +CCC0 +7BC0 +4A40 +7BC0 +2A80 +C460 +ENDCHAR +STARTCHAR U_7C3E +ENCODING 31806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7FE0 +4A00 +7FC0 +4A40 +7FE0 +4A40 +BFC0 +2A80 +CA60 +ENDCHAR +STARTCHAR U_7C3F +ENCODING 31807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +5FE0 +2920 +9FE0 +6920 +4FE0 +C8A0 +5FE0 +4880 +4580 +ENDCHAR +STARTCHAR U_7C40 +ENCODING 31808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +27E0 +2AA0 +FCA0 +2920 +3FE0 +E920 +2FE0 +2920 +6FE0 +ENDCHAR +STARTCHAR U_7C41 +ENCODING 31809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +21C0 +FA40 +23E0 +FA20 +AAA0 +FAA0 +22A0 +7140 +AA20 +ENDCHAR +STARTCHAR U_7C42 +ENCODING 31810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +ABE0 +7C80 +CBE0 +7AA0 +4AA0 +7AA0 +52E0 +6880 +ENDCHAR +STARTCHAR U_7C43 +ENCODING 31811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7D00 +59E0 +4A80 +7840 +5040 +7F80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_7C44 +ENCODING 31812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +5240 +EFA0 +4A80 +7FE0 +4C80 +4A80 +4F80 +58C0 +7FE0 +ENDCHAR +STARTCHAR U_7C45 +ENCODING 31813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +6EC0 +4840 +6EC0 +4240 +6AC0 +4A40 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7C46 +ENCODING 31814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +4A40 +9FA0 +3200 +DFC0 +1200 +1FC0 +0900 +0600 +79E0 +ENDCHAR +STARTCHAR U_7C47 +ENCODING 31815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +2100 +FFE0 +B4A0 +0D00 +7600 +0D00 +74E0 +ENDCHAR +STARTCHAR U_7C48 +ENCODING 31816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +9240 +7FE0 +2880 +FEE0 +AB20 +FFA0 +1160 +FF20 +11E0 +FF20 +ENDCHAR +STARTCHAR U_7C49 +ENCODING 31817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +A480 +7FC0 +1100 +FFE0 +8020 +7F80 +1100 +7F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7C4A +ENCODING 31818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7FE0 +14A0 +3C60 +15A0 +3FE0 +6200 +BFC0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_7C4B +ENCODING 31819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +BFC0 +2480 +FFE0 +6D40 +4440 +6EC0 +5540 +6EC0 +ENDCHAR +STARTCHAR U_7C4C +ENCODING 31820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +7FC0 +0400 +FFE0 +0420 +FFE0 +5080 +5FE0 +7580 +ENDCHAR +STARTCHAR U_7C4D +ENCODING 31821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +2140 +FBE0 +2140 +FFE0 +2220 +FBE0 +6A20 +A7E0 +ENDCHAR +STARTCHAR U_7C4E +ENCODING 31822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +A3C0 +3D40 +2080 +3FE0 +52A0 +BAC0 +1580 +6C60 +ENDCHAR +STARTCHAR U_7C4F +ENCODING 31823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +5280 +ABC0 +17E0 +FA40 +23C0 +3A40 +2FE0 +4A40 +9420 +ENDCHAR +STARTCHAR U_7C50 +ENCODING 31824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +E540 +AFE0 +E200 +AFE0 +F540 +ABA0 +A540 +A920 +ENDCHAR +STARTCHAR U_7C51 +ENCODING 31825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5440 +BFA0 +2A80 +FFE0 +3580 +DF60 +1500 +1280 +19C0 +ENDCHAR +STARTCHAR U_7C52 +ENCODING 31826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +6480 +AFE0 +F280 +2EE0 +3AA0 +EEE0 +2FE0 +2920 +6FE0 +ENDCHAR +STARTCHAR U_7C53 +ENCODING 31827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +4FC0 +2540 +8FE0 +6540 +27C0 +CD60 +47C0 +4540 +47C0 +ENDCHAR +STARTCHAR U_7C54 +ENCODING 31828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9240 +7D00 +55E0 +FEA0 +54A0 +FEA0 +2840 +10A0 +6D20 +ENDCHAR +STARTCHAR U_7C55 +ENCODING 31829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5280 +A5E0 +FEA0 +2540 +77E0 +6D20 +A7E0 +2520 +27E0 +ENDCHAR +STARTCHAR U_7C56 +ENCODING 31830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +5240 +BD20 +1100 +FFE0 +6D40 +2940 +6DA0 +2AA0 +FC60 +ENDCHAR +STARTCHAR U_7C57 +ENCODING 31831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +FFE0 +D520 +A4A0 +7FC0 +A400 +3FC0 +2400 +3FE0 +ENDCHAR +STARTCHAR U_7C58 +ENCODING 31832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5540 +FFA0 +5100 +7FE0 +5540 +7AA0 +5780 +5540 +BB20 +ENDCHAR +STARTCHAR U_7C59 +ENCODING 31833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9280 +71C0 +8840 +77E0 +24A0 +FAC0 +A9A0 +76A0 +F980 +ENDCHAR +STARTCHAR U_7C5A +ENCODING 31834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +9240 +7FE0 +4220 +7FC0 +5260 +5FC0 +5240 +7FE0 +A520 +BFE0 +ENDCHAR +STARTCHAR U_7C5B +ENCODING 31835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +AC80 +5240 +8FE0 +F900 +26E0 +FA80 +AFE0 +7140 +21A0 +FEE0 +ENDCHAR +STARTCHAR U_7C5C +ENCODING 31836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +2840 +FFE0 +2AA0 +2FE0 +3280 +E7C0 +2100 +2FE0 +6100 +ENDCHAR +STARTCHAR U_7C5D +ENCODING 31837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7FE0 +9480 +FFE0 +2000 +7FC0 +5B40 +75C0 +5B40 +5540 +BA60 +ENDCHAR +STARTCHAR U_7C5E +ENCODING 31838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +4480 +BFE0 +46A0 +D4E0 +5F80 +0000 +7FE0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7C5F +ENCODING 31839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +21C0 +FA40 +27E0 +FA20 +ABE0 +FA20 +6BE0 +A660 +ENDCHAR +STARTCHAR U_7C60 +ENCODING 31840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +9340 +FDE0 +2900 +FFE0 +4820 +7BE0 +4A00 +7BC0 +4A20 +5BE0 +ENDCHAR +STARTCHAR U_7C61 +ENCODING 31841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +AB80 +2440 +FBA0 +2EE0 +3AA0 +EEE0 +2440 +6AA0 +ENDCHAR +STARTCHAR U_7C62 +ENCODING 31842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +A880 +7DE0 +8340 +7D40 +5540 +7C80 +2940 +D620 +ENDCHAR +STARTCHAR U_7C63 +ENCODING 31843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +A480 +7BE0 +4A20 +7BE0 +4A20 +7FE0 +6AA0 +7FA0 +5520 +64A0 +ENDCHAR +STARTCHAR U_7C64 +ENCODING 31844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +A540 +3540 +4B20 +FFE0 +2900 +EF40 +2880 +EEA0 +2960 +FE20 +ENDCHAR +STARTCHAR U_7C65 +ENCODING 31845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +9440 +FFE0 +4A40 +7FC0 +0000 +7FC0 +4A40 +7FC0 +4AC0 +ENDCHAR +STARTCHAR U_7C66 +ENCODING 31846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +A480 +53C0 +8880 +FBE0 +22A0 +FBE0 +AAA0 +77E0 +2080 +FFE0 +ENDCHAR +STARTCHAR U_7C67 +ENCODING 31847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +5480 +9FE0 +5220 +DFE0 +5500 +5B40 +6580 +4B40 +A520 +9FE0 +ENDCHAR +STARTCHAR U_7C68 +ENCODING 31848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +A880 +7DE0 +8220 +7C80 +5480 +7C80 +2940 +D620 +ENDCHAR +STARTCHAR U_7C69 +ENCODING 31849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +5480 +8440 +47C0 +2440 +EFE0 +2A20 +2FC0 +2280 +5480 +8FE0 +ENDCHAR +STARTCHAR U_7C6A +ENCODING 31850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +8A80 +A9E0 +D500 +A900 +FFE0 +D540 +AB40 +9540 +FE40 +ENDCHAR +STARTCHAR U_7C6B +ENCODING 31851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +A540 +FBE0 +2A80 +44A0 +BFE0 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_7C6C +ENCODING 31852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +9280 +FE80 +6D40 +57E0 +7D40 +11E0 +FD40 +A5E0 +B540 +8DE0 +ENDCHAR +STARTCHAR U_7C6D +ENCODING 31853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +FFE0 +6B40 +4A40 +7FC0 +4940 +5DE0 +5120 +9CE0 +ENDCHAR +STARTCHAR U_7C6E +ENCODING 31854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7FE0 +C940 +7FC0 +2480 +5480 +E7E0 +5480 +FFE0 +5480 +AFE0 +ENDCHAR +STARTCHAR U_7C6F +ENCODING 31855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +FFE0 +4000 +7FC0 +2080 +7FC0 +5140 +7FC0 +5540 +AA60 +ENDCHAR +STARTCHAR U_7C70 +ENCODING 31856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +3FE0 +5480 +FFE0 +4AA0 +7FE0 +3200 +5F80 +0900 +0600 +79E0 +ENDCHAR +STARTCHAR U_7C71 +ENCODING 31857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5480 +FFE0 +94A0 +2940 +7BE0 +D680 +7BC0 +5280 +7BE0 +ENDCHAR +STARTCHAR U_7C72 +ENCODING 31858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +9240 +29E0 +FEA0 +AAE0 +FEA0 +AAE0 +FEA0 +AAE0 +87A0 +ENDCHAR +STARTCHAR U_7C73 +ENCODING 31859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +2480 +1500 +FFE0 +0400 +0E00 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_7C74 +ENCODING 31860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C00 +0600 +0900 +1080 +6460 +2480 +1500 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_7C75 +ENCODING 31861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A880 +7080 +23E0 +F880 +2080 +7080 +A880 +A880 +2080 +2080 +ENDCHAR +STARTCHAR U_7C76 +ENCODING 31862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +A780 +7480 +2480 +FC80 +2480 +7480 +6C80 +A4A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_7C77 +ENCODING 31863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +A8C0 +7700 +2100 +F900 +27E0 +7100 +6900 +A120 +2120 +20E0 +ENDCHAR +STARTCHAR U_7C78 +ENCODING 31864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +AFC0 +7240 +2240 +FA40 +27C0 +7240 +AA40 +AA40 +2260 +2220 +ENDCHAR +STARTCHAR U_7C79 +ENCODING 31865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +7100 +27E0 +FA40 +2280 +7480 +AB00 +A980 +2240 +2C20 +ENDCHAR +STARTCHAR U_7C7A +ENCODING 31866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +AA00 +73E0 +2400 +FBC0 +2040 +7080 +A900 +AA20 +2220 +21E0 +ENDCHAR +STARTCHAR U_7C7B +ENCODING 31867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +FFE0 +1500 +2480 +4040 +0400 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7C7C +ENCODING 31868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A880 +7080 +22A0 +FAA0 +22A0 +72A0 +AAA0 +AAA0 +23E0 +2220 +ENDCHAR +STARTCHAR U_7C7D +ENCODING 31869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +A840 +7080 +2080 +F880 +27E0 +7080 +A880 +AC80 +2280 +2100 +ENDCHAR +STARTCHAR U_7C7E +ENCODING 31870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +ABE0 +7120 +2520 +F520 +2520 +7120 +6A20 +A220 +24A0 +2440 +ENDCHAR +STARTCHAR U_7C7F +ENCODING 31871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +A840 +7040 +27E0 +F840 +2240 +7140 +A940 +AA40 +2140 +2080 +ENDCHAR +STARTCHAR U_7C80 +ENCODING 31872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A880 +77E0 +2080 +FA80 +2280 +7280 +AA80 +A900 +2280 +2C60 +ENDCHAR +STARTCHAR U_7C81 +ENCODING 31873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +AB80 +7080 +2080 +FFE0 +2080 +7080 +A880 +A880 +2080 +2080 +ENDCHAR +STARTCHAR U_7C82 +ENCODING 31874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1F00 +2200 +0400 +1B00 +E4E0 +1500 +FFE0 +1500 +E4E0 +0400 +ENDCHAR +STARTCHAR U_7C83 +ENCODING 31875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +AC80 +74A0 +27C0 +FC80 +2480 +7480 +6C80 +A5A0 +26A0 +2460 +ENDCHAR +STARTCHAR U_7C84 +ENCODING 31876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +AF00 +7400 +2400 +FFC0 +2540 +7540 +AD40 +A480 +2940 +3620 +ENDCHAR +STARTCHAR U_7C85 +ENCODING 31877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +AA00 +73E0 +26A0 +FAA0 +22A0 +72A0 +ACA0 +A920 +2220 +20C0 +ENDCHAR +STARTCHAR U_7C86 +ENCODING 31878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +7180 +2540 +FD20 +2520 +7140 +6880 +A100 +2200 +2C00 +ENDCHAR +STARTCHAR U_7C87 +ENCODING 31879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +A900 +77E0 +2000 +FB80 +2280 +7280 +6A80 +A2A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_7C88 +ENCODING 31880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +AFC0 +7240 +2240 +FA40 +27C0 +7240 +AA40 +AA40 +2240 +2FE0 +ENDCHAR +STARTCHAR U_7C89 +ENCODING 31881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AA80 +7240 +2420 +F800 +27C0 +7240 +6A40 +A240 +2440 +2980 +ENDCHAR +STARTCHAR U_7C8A +ENCODING 31882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7A80 +4320 +7A20 +C1E0 +2480 +1500 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_7C8B +ENCODING 31883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +AA00 +7780 +FA80 +22A0 +74A0 +6960 +A100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_7C8C +ENCODING 31884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27A0 +A8A0 +70A0 +23A0 +FC20 +27A0 +70A0 +A8A0 +A8A0 +24A0 +2320 +ENDCHAR +STARTCHAR U_7C8D +ENCODING 31885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +AF00 +7100 +21C0 +FF00 +2100 +71E0 +AF00 +A920 +2120 +20E0 +ENDCHAR +STARTCHAR U_7C8E +ENCODING 31886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +ABC0 +7240 +FA40 +63C0 +7280 +AA80 +2280 +2440 +2440 +2820 +ENDCHAR +STARTCHAR U_7C8F +ENCODING 31887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +7100 +27E0 +F900 +3280 +6A80 +6440 +A640 +2920 +3120 +ENDCHAR +STARTCHAR U_7C90 +ENCODING 31888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A880 +73E0 +2220 +FA20 +23E0 +7200 +6A00 +A200 +2400 +2400 +ENDCHAR +STARTCHAR U_7C91 +ENCODING 31889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +ABE0 +72A0 +22A0 +FAA0 +23E0 +7200 +AA00 +A220 +2220 +21E0 +ENDCHAR +STARTCHAR U_7C92 +ENCODING 31890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A880 +77E0 +2000 +FA40 +2240 +7140 +A980 +A880 +2080 +2FE0 +ENDCHAR +STARTCHAR U_7C93 +ENCODING 31891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +AA40 +7240 +27E0 +FA40 +2240 +73C0 +6A40 +A240 +A240 +23C0 +ENDCHAR +STARTCHAR U_7C94 +ENCODING 31892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +AA00 +7200 +23E0 +FA20 +2220 +73E0 +AA00 +AA00 +2200 +23E0 +ENDCHAR +STARTCHAR U_7C95 +ENCODING 31893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +A900 +73E0 +2220 +FA20 +23E0 +7220 +6A20 +A220 +23E0 +2220 +ENDCHAR +STARTCHAR U_7C96 +ENCODING 31894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +77E0 +2100 +F900 +27C0 +7100 +AB80 +A540 +2920 +2100 +ENDCHAR +STARTCHAR U_7C97 +ENCODING 31895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +AA40 +7240 +23C0 +FA40 +2240 +73C0 +6A40 +A240 +2240 +2FE0 +ENDCHAR +STARTCHAR U_7C98 +ENCODING 31896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +71E0 +2100 +F900 +27E0 +7420 +AC20 +A420 +27E0 +2420 +ENDCHAR +STARTCHAR U_7C99 +ENCODING 31897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +A880 +73E0 +22A0 +FAA0 +23E0 +72A0 +6AA0 +A2A0 +23E0 +ENDCHAR +STARTCHAR U_7C9A +ENCODING 31898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +ABE0 +7400 +2900 +F5E0 +2720 +6D20 +7560 +AD00 +2420 +27E0 +ENDCHAR +STARTCHAR U_7C9B +ENCODING 31899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0440 +FFE0 +0440 +7FC0 +1500 +4E40 +7FC0 +4E40 +9540 +ENDCHAR +STARTCHAR U_7C9C +ENCODING 31900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +3F80 +4440 +4440 +7FC0 +2480 +1500 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_7C9D +ENCODING 31901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +AC00 +7400 +27E0 +FD00 +25E0 +7520 +AD20 +A520 +2AA0 +3440 +ENDCHAR +STARTCHAR U_7C9E +ENCODING 31902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +AA80 +7280 +2FE0 +FAA0 +2AA0 +7AE0 +AC20 +A820 +2FE0 +2820 +ENDCHAR +STARTCHAR U_7C9F +ENCODING 31903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +2480 +1500 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_7CA0 +ENCODING 31904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +AA40 +7240 +27E0 +FA40 +2240 +7240 +77E0 +A000 +2240 +2420 +ENDCHAR +STARTCHAR U_7CA1 +ENCODING 31905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A820 +7BA0 +2820 +FBA0 +2AA0 +3AA0 +6BA0 +AAA0 +2820 +28E0 +ENDCHAR +STARTCHAR U_7CA2 +ENCODING 31906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +57E0 +6A20 +C500 +58E0 +2480 +1500 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_7CA3 +ENCODING 31907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +AAA0 +7AA0 +2AA0 +FFE0 +2AA0 +3AA0 +6AA0 +AAA0 +2AA0 +3560 +ENDCHAR +STARTCHAR U_7CA4 +ENCODING 31908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FC0 +5540 +7FC0 +4E40 +5540 +FFE0 +0800 +3FC0 +0040 +0380 +ENDCHAR +STARTCHAR U_7CA5 +ENCODING 31909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E4E0 +2420 +3520 +EEE0 +8580 +9F80 +E4E0 +2E20 +3520 +2520 +C4C0 +ENDCHAR +STARTCHAR U_7CA6 +ENCODING 31910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +FFE0 +1500 +E4E0 +1080 +3BE0 +4A80 +ABE0 +1080 +E080 +ENDCHAR +STARTCHAR U_7CA7 +ENCODING 31911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A880 +77E0 +2400 +FC80 +2480 +77E0 +AC80 +A480 +2880 +2BE0 +ENDCHAR +STARTCHAR U_7CA8 +ENCODING 31912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +A880 +7100 +23E0 +FA20 +2220 +73E0 +AA20 +AA20 +23E0 +2220 +ENDCHAR +STARTCHAR U_7CA9 +ENCODING 31913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +77A0 +F940 +27E0 +7080 +6B00 +A6C0 +2B00 +2220 +21E0 +ENDCHAR +STARTCHAR U_7CAA +ENCODING 31914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +FFE0 +1500 +2480 +D160 +7FC0 +1100 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7CAB +ENCODING 31915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +A900 +7200 +2FE0 +FAA0 +2AA0 +7AA0 +6AA0 +AAA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_7CAC +ENCODING 31916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AA80 +7280 +FFE0 +2AA0 +3AA0 +6FE0 +AAA0 +2AA0 +2FE0 +2820 +ENDCHAR +STARTCHAR U_7CAD +ENCODING 31917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A900 +7280 +2440 +FBA0 +2000 +77C0 +6C40 +A440 +2440 +27C0 +ENDCHAR +STARTCHAR U_7CAE +ENCODING 31918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +A900 +77C0 +2440 +FFC0 +2440 +77E0 +AD40 +A480 +2540 +2620 +ENDCHAR +STARTCHAR U_7CAF +ENCODING 31919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +AC40 +77C0 +2440 +FC40 +27C0 +7440 +AFC0 +A2A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_7CB0 +ENCODING 31920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +AB80 +72A0 +2120 +FBC0 +2040 +3080 +6BE0 +A080 +2080 +2180 +ENDCHAR +STARTCHAR U_7CB1 +ENCODING 31921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F80 +A280 +6AC0 +D4A0 +4B80 +6480 +1500 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_7CB2 +ENCODING 31922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3C00 +23E0 +7A40 +C980 +3260 +C480 +1500 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_7CB3 +ENCODING 31923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +A900 +77E0 +2520 +FFE0 +2520 +77E0 +AD00 +A500 +2300 +2CE0 +ENDCHAR +STARTCHAR U_7CB4 +ENCODING 31924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +ACA0 +74A0 +27E0 +FCA0 +27E0 +7080 +A880 +ABE0 +2080 +2FE0 +ENDCHAR +STARTCHAR U_7CB5 +ENCODING 31925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FC0 +5540 +7FC0 +5540 +64C0 +FFE0 +1000 +3F80 +0080 +0700 +ENDCHAR +STARTCHAR U_7CB6 +ENCODING 31926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +A840 +77C0 +F840 +2FE0 +7120 +6D40 +A380 +2540 +2920 +2200 +ENDCHAR +STARTCHAR U_7CB7 +ENCODING 31927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +ABE0 +7420 +FD60 +23A0 +77E0 +6D20 +A3A0 +2360 +2520 +20C0 +ENDCHAR +STARTCHAR U_7CB8 +ENCODING 31928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +AFE0 +7240 +23C0 +FA40 +23C0 +7240 +6A40 +AFE0 +2240 +2420 +ENDCHAR +STARTCHAR U_7CB9 +ENCODING 31929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7240 +2240 +FDA0 +2520 +7100 +6FE0 +A100 +2100 +2100 +ENDCHAR +STARTCHAR U_7CBA +ENCODING 31930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7520 +27E0 +FD20 +27E0 +75A0 +AA80 +AFE0 +2080 +2080 +ENDCHAR +STARTCHAR U_7CBB +ENCODING 31931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +AA00 +73C0 +2200 +FBC0 +2200 +77E0 +AAA0 +AAC0 +2340 +2620 +ENDCHAR +STARTCHAR U_7CBC +ENCODING 31932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +92A0 +54A0 +FEA0 +5540 +9340 +2540 +7D40 +94A0 +7EA0 +24A0 +C4A0 +ENDCHAR +STARTCHAR U_7CBD +ENCODING 31933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7420 +23C0 +F800 +27E0 +7100 +AD40 +A520 +2920 +2300 +ENDCHAR +STARTCHAR U_7CBE +ENCODING 31934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7100 +27C0 +F100 +2FE0 +7440 +6FC0 +A440 +27C0 +2440 +ENDCHAR +STARTCHAR U_7CBF +ENCODING 31935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +AD40 +77C0 +2540 +FFC0 +2100 +77E0 +A900 +AB80 +2540 +2920 +ENDCHAR +STARTCHAR U_7CC0 +ENCODING 31936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +AFE0 +7480 +2280 +FAA0 +24C0 +7480 +6D80 +A6A0 +24A0 +2460 +ENDCHAR +STARTCHAR U_7CC1 +ENCODING 31937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +AFE0 +7100 +27E0 +FA80 +2540 +72A0 +AD00 +AA40 +2180 +2600 +ENDCHAR +STARTCHAR U_7CC2 +ENCODING 31938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +AFE0 +7440 +27C0 +FC40 +27C0 +7440 +6FE0 +A680 +2440 +27E0 +ENDCHAR +STARTCHAR U_7CC3 +ENCODING 31939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +AA40 +73C0 +2240 +FFE0 +2200 +77E0 +6AA0 +A520 +22A0 +2440 +ENDCHAR +STARTCHAR U_7CC4 +ENCODING 31940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7820 +2FE0 +F800 +2FE0 +7AA0 +6FE0 +AAA0 +3AA0 +2860 +ENDCHAR +STARTCHAR U_7CC5 +ENCODING 31941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +A940 +7080 +27E0 +FAA0 +2580 +7100 +AFE0 +AB80 +2540 +2920 +ENDCHAR +STARTCHAR U_7CC6 +ENCODING 31942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A900 +7200 +2FE0 +FAA0 +2BA0 +7AA0 +6BA0 +AAA0 +2FE0 +2820 +ENDCHAR +STARTCHAR U_7CC7 +ENCODING 31943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +AC40 +77E0 +2500 +FDE0 +2680 +77E0 +AC80 +A480 +2540 +2620 +ENDCHAR +STARTCHAR U_7CC8 +ENCODING 31944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +A920 +75C0 +2700 +F9E0 +2220 +73E0 +AA20 +ABE0 +2220 +2260 +ENDCHAR +STARTCHAR U_7CC9 +ENCODING 31945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AD20 +76A0 +27E0 +F280 +2D60 +73C0 +6A40 +A580 +2240 +2420 +ENDCHAR +STARTCHAR U_7CCA +ENCODING 31946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +A4A0 +7EA0 +24E0 +FEA0 +2AA0 +3AE0 +6AA0 +AEA0 +2120 +2260 +ENDCHAR +STARTCHAR U_7CCB +ENCODING 31947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +A280 +7FE0 +2000 +FE20 +2AA0 +3EA0 +6AA0 +AEA0 +2A20 +2A60 +ENDCHAR +STARTCHAR U_7CCC +ENCODING 31948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +AF40 +7560 +2240 +FD00 +24E0 +73C0 +AA40 +ABC0 +2240 +23C0 +ENDCHAR +STARTCHAR U_7CCD +ENCODING 31949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +AA80 +77E0 +2240 +FA40 +25A0 +77E0 +AA40 +A240 +25A0 +2FE0 +ENDCHAR +STARTCHAR U_7CCE +ENCODING 31950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +AC00 +77E0 +26A0 +FFE0 +26A0 +77E0 +AC80 +A7E0 +2880 +37E0 +ENDCHAR +STARTCHAR U_7CCF +ENCODING 31951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A820 +7FE0 +2AA0 +F9C0 +2BE0 +6A20 +7BE0 +AA20 +2BE0 +3220 +ENDCHAR +STARTCHAR U_7CD0 +ENCODING 31952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +AFE0 +7520 +27E0 +FD20 +27E0 +7520 +A840 +AFE0 +2240 +21C0 +ENDCHAR +STARTCHAR U_7CD1 +ENCODING 31953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +A920 +7760 +2880 +FFE0 +2120 +75A0 +AB60 +ADA0 +2120 +26C0 +ENDCHAR +STARTCHAR U_7CD2 +ENCODING 31954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AFE0 +7280 +27E0 +FA00 +23E0 +72A0 +ABE0 +AAA0 +27E0 +2AA0 +ENDCHAR +STARTCHAR U_7CD3 +ENCODING 31955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1380 +7A80 +1280 +FCE0 +8400 +7DC0 +5540 +FD40 +3880 +5540 +9220 +ENDCHAR +STARTCHAR U_7CD4 +ENCODING 31956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +AD40 +7280 +2360 +FD00 +27E0 +7520 +AFE0 +A900 +2140 +27A0 +ENDCHAR +STARTCHAR U_7CD5 +ENCODING 31957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +AA80 +77E0 +2100 +F900 +27C0 +7100 +AFE0 +A540 +2AA0 +2AA0 +ENDCHAR +STARTCHAR U_7CD6 +ENCODING 31958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7940 +2FE0 +F940 +2FC0 +7900 +ABC0 +AA40 +2A40 +33C0 +ENDCHAR +STARTCHAR U_7CD7 +ENCODING 31959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFC0 +7440 +2740 +FDC0 +2440 +77C0 +A140 +AFE0 +2280 +2C60 +ENDCHAR +STARTCHAR U_7CD8 +ENCODING 31960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +AFE0 +7820 +27C0 +F920 +2340 +7580 +6AC0 +A5A0 +22A0 +2500 +ENDCHAR +STARTCHAR U_7CD9 +ENCODING 31961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +AE80 +73E0 +2480 +FFE0 +2400 +75E0 +AD20 +A5E0 +2A00 +33E0 +ENDCHAR +STARTCHAR U_7CDA +ENCODING 31962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +AFE0 +7480 +2240 +FA40 +2EE0 +7240 +6E40 +AA40 +33E0 +2200 +ENDCHAR +STARTCHAR U_7CDB +ENCODING 31963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +AB40 +77E0 +2420 +FBC0 +2240 +73C0 +6900 +A3C0 +2100 +27E0 +ENDCHAR +STARTCHAR U_7CDC +ENCODING 31964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9100 +FFE0 +BB40 +D560 +A480 +9500 +FFE0 +9500 +E4E0 +ENDCHAR +STARTCHAR U_7CDD +ENCODING 31965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +ABA0 +74A0 +27E0 +F880 +2760 +7280 +AD20 +A240 +2080 +2700 +ENDCHAR +STARTCHAR U_7CDE +ENCODING 31966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FFE0 +1500 +7FC0 +A4A0 +3F80 +7FC0 +1100 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7CDF +ENCODING 31967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AFE0 +7AA0 +2AA0 +FFE0 +2AA0 +3FE0 +6440 +A7C0 +A440 +27C0 +ENDCHAR +STARTCHAR U_7CE0 +ENCODING 31968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7540 +27E0 +FD40 +27C0 +7520 +AFC0 +AB40 +3520 +2B20 +ENDCHAR +STARTCHAR U_7CE1 +ENCODING 31969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7280 +27E0 +F800 +27C0 +7540 +6CC0 +A7C0 +22A0 +2CE0 +ENDCHAR +STARTCHAR U_7CE2 +ENCODING 31970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AFE0 +7280 +27C0 +FC40 +27C0 +3440 +6FE0 +A100 +2280 +2C60 +ENDCHAR +STARTCHAR U_7CE3 +ENCODING 31971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A240 +7B40 +2FE0 +F6C0 +2B60 +77C0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_7CE4 +ENCODING 31972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +BF80 +6A80 +FFE0 +21A0 +6EA0 +7AA0 +AE40 +AA40 +2EA0 +2B20 +ENDCHAR +STARTCHAR U_7CE5 +ENCODING 31973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A100 +7FE0 +2AA0 +FAA0 +2FE0 +7100 +6FE0 +AAA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_7CE6 +ENCODING 31974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7100 +27C0 +FC40 +27C0 +7280 +6FE0 +A440 +27C0 +2440 +ENDCHAR +STARTCHAR U_7CE7 +ENCODING 31975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +AC40 +77C0 +2440 +FFE0 +2540 +37C0 +6D40 +AFE0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_7CE8 +ENCODING 31976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +AA20 +73E0 +2C80 +FBE0 +2EA0 +77E0 +AEA0 +A480 +34A0 +2BE0 +ENDCHAR +STARTCHAR U_7CE9 +ENCODING 31977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AA80 +7440 +2FE0 +FD60 +2BA0 +6FE0 +7440 +A7C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_7CEA +ENCODING 31978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +47E0 +7D40 +43E0 +7C80 +A5E0 +BE80 +0A80 +7FE0 +1280 +E260 +ENDCHAR +STARTCHAR U_7CEB +ENCODING 31979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +AAA0 +7FE0 +2000 +FFE0 +2440 +77C0 +6220 +A540 +2C80 +2660 +ENDCHAR +STARTCHAR U_7CEC +ENCODING 31980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +AAA0 +7FE0 +2100 +FFA0 +2140 +77E0 +AA20 +A7E0 +2A20 +23E0 +ENDCHAR +STARTCHAR U_7CED +ENCODING 31981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +AEC0 +7540 +27C0 +F440 +2A20 +73C0 +6E80 +A100 +2280 +2C60 +ENDCHAR +STARTCHAR U_7CEE +ENCODING 31982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +AA40 +7F60 +29C0 +FF20 +2A20 +7F80 +A800 +AFE0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_7CEF +ENCODING 31983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A100 +7FE0 +2920 +FBA0 +2540 +3FE0 +6200 +AFE0 +2AA0 +2AA0 +ENDCHAR +STARTCHAR U_7CF0 +ENCODING 31984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A920 +7FE0 +2D60 +FFE0 +2D60 +3FE0 +68A0 +AFE0 +2AA0 +2FE0 +ENDCHAR +STARTCHAR U_7CF1 +ENCODING 31985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A880 +FBE0 +F140 +93E0 +F880 +8BE0 +F880 +1500 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_7CF2 +ENCODING 31986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +A940 +7FE0 +2940 +FBE0 +2AA0 +3FE0 +6CA0 +AFE0 +3420 +2460 +ENDCHAR +STARTCHAR U_7CF3 +ENCODING 31987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +55C0 +FF40 +1160 +D700 +92C0 +FEC0 +1520 +7FC0 +0D00 +3480 +C460 +ENDCHAR +STARTCHAR U_7CF4 +ENCODING 31988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +25A0 +5360 +8DA0 +23E0 +AE80 +73E0 +FA80 +23E0 +7280 +ABE0 +ENDCHAR +STARTCHAR U_7CF5 +ENCODING 31989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +2A80 +7FE0 +4940 +7BE0 +4C80 +FFE0 +1500 +2480 +4440 +ENDCHAR +STARTCHAR U_7CF6 +ENCODING 31990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AFE0 +FDA0 +AB60 +FDA0 +23E0 +AA80 +77E0 +FA80 +23E0 +7280 +ABE0 +ENDCHAR +STARTCHAR U_7CF7 +ENCODING 31991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AFE0 +7280 +2EE0 +FAA0 +2EE0 +3FE0 +6AA0 +AFE0 +2BA0 +2D60 +ENDCHAR +STARTCHAR U_7CF8 +ENCODING 31992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +1100 +2200 +7C00 +1100 +FE80 +4480 +2500 +2480 +4440 +9C40 +ENDCHAR +STARTCHAR U_7CF9 +ENCODING 31993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 0 -1 +BITMAP +20 +20 +48 +F0 +20 +48 +FC +00 +A8 +A8 +80 +ENDCHAR +STARTCHAR U_7CFA +ENCODING 31994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2200 +4A00 +F200 +2200 +4A00 +FA00 +0200 +AA20 +AA20 +81E0 +ENDCHAR +STARTCHAR U_7CFB +ENCODING 31995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0380 +FC00 +1100 +7E00 +0800 +1100 +FF80 +0880 +2A00 +4900 +9880 +ENDCHAR +STARTCHAR U_7CFC +ENCODING 31996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2100 +2100 +4900 +F3C0 +2140 +4940 +FA40 +0240 +AA40 +AD40 +8880 +ENDCHAR +STARTCHAR U_7CFD +ENCODING 31997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +4080 +8880 +F080 +2080 +4880 +F480 +5080 +AA80 +A900 +ENDCHAR +STARTCHAR U_7CFE +ENCODING 31998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +2120 +4920 +F120 +2120 +4960 +FBA0 +0520 +5020 +A820 +A820 +ENDCHAR +STARTCHAR U_7CFF +ENCODING 31999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +4920 +F120 +2120 +4920 +F920 +0120 +AA20 +AAA0 +8440 +ENDCHAR +STARTCHAR U_7D00 +ENCODING 32000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +4040 +F040 +2040 +4BC0 +FA00 +0200 +AA20 +AA20 +81E0 +ENDCHAR +STARTCHAR U_7D01 +ENCODING 32001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +4C40 +F540 +2280 +5280 +E900 +0500 +5280 +AC40 +A820 +ENDCHAR +STARTCHAR U_7D02 +ENCODING 32002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2040 +4040 +F7E0 +2040 +5240 +E940 +0040 +5240 +A940 +A880 +ENDCHAR +STARTCHAR U_7D03 +ENCODING 32003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +22A0 +42A0 +F2A0 +22A0 +52A0 +EAA0 +02A0 +52A0 +ACA0 +A820 +ENDCHAR +STARTCHAR U_7D04 +ENCODING 32004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +43E0 +F420 +2020 +5220 +E920 +0120 +5020 +A920 +A8C0 +ENDCHAR +STARTCHAR U_7D05 +ENCODING 32005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +4100 +F100 +2100 +5100 +E900 +0100 +5100 +A900 +AFE0 +ENDCHAR +STARTCHAR U_7D06 +ENCODING 32006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +4080 +F080 +27E0 +5080 +E880 +0080 +5080 +AA80 +A900 +ENDCHAR +STARTCHAR U_7D07 +ENCODING 32007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +57E0 +F800 +27C0 +5080 +E900 +0200 +5220 +AC20 +ABE0 +ENDCHAR +STARTCHAR U_7D08 +ENCODING 32008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4FC0 +F140 +2540 +5340 +E940 +02C0 +5240 +AC40 +A820 +ENDCHAR +STARTCHAR U_7D09 +ENCODING 32009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +4120 +F120 +2320 +5520 +E920 +0120 +5120 +AAA0 +AC40 +ENDCHAR +STARTCHAR U_7D0A +ENCODING 32010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +3580 +C960 +3E00 +0880 +3F40 +2280 +C660 +ENDCHAR +STARTCHAR U_7D0B +ENCODING 32011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +57E0 +F240 +2240 +5240 +EA40 +0180 +5180 +AA40 +AC20 +ENDCHAR +STARTCHAR U_7D0C +ENCODING 32012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +57E0 +F100 +2100 +5180 +E980 +0180 +52A0 +ACA0 +A860 +ENDCHAR +STARTCHAR U_7D0D +ENCODING 32013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +57E0 +F520 +2520 +5520 +EDA0 +0660 +5420 +AC20 +A4E0 +ENDCHAR +STARTCHAR U_7D0E +ENCODING 32014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +5100 +F7E0 +2100 +5100 +E900 +0100 +5280 +AC40 +A820 +ENDCHAR +STARTCHAR U_7D0F +ENCODING 32015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2240 +5140 +F040 +2240 +5140 +E840 +00E0 +5740 +A840 +A840 +ENDCHAR +STARTCHAR U_7D10 +ENCODING 32016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +5240 +F240 +2240 +57C0 +EA40 +0240 +5240 +AA40 +AFE0 +ENDCHAR +STARTCHAR U_7D11 +ENCODING 32017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2080 +5080 +F100 +2340 +5520 +E920 +0100 +5100 +A900 +A900 +ENDCHAR +STARTCHAR U_7D12 +ENCODING 32018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +5440 +F820 +2240 +5240 +EA40 +0240 +5240 +AC40 +A840 +ENDCHAR +STARTCHAR U_7D13 +ENCODING 32019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2040 +5140 +F080 +2FE0 +50A0 +E8C0 +0080 +5480 +AA80 +A900 +ENDCHAR +STARTCHAR U_7D14 +ENCODING 32020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +57E0 +F100 +2540 +5540 +EFC0 +0540 +5120 +A920 +A8E0 +ENDCHAR +STARTCHAR U_7D15 +ENCODING 32021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +5480 +F4A0 +27C0 +5480 +EC80 +0480 +55A0 +AEA0 +AC60 +ENDCHAR +STARTCHAR U_7D16 +ENCODING 32022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27A0 +20A0 +50A0 +F7A0 +2420 +57A0 +E8A0 +00A0 +50A0 +ACA0 +AB20 +ENDCHAR +STARTCHAR U_7D17 +ENCODING 32023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +52C0 +F2A0 +24A0 +5080 +E8A0 +0040 +5080 +A900 +AE00 +ENDCHAR +STARTCHAR U_7D18 +ENCODING 32024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +57E0 +F100 +2140 +5240 +EA80 +0280 +5540 +AFE0 +A820 +ENDCHAR +STARTCHAR U_7D19 +ENCODING 32025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +5480 +F480 +27E0 +5480 +EC80 +04A0 +55A0 +AE60 +AC20 +ENDCHAR +STARTCHAR U_7D1A +ENCODING 32026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2240 +5240 +F280 +22E0 +5220 +EA40 +0540 +5480 +A940 +AA20 +ENDCHAR +STARTCHAR U_7D1B +ENCODING 32027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +5240 +F420 +2820 +57C0 +EA40 +0240 +5240 +AD40 +A880 +ENDCHAR +STARTCHAR U_7D1C +ENCODING 32028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23C0 +5000 +F000 +27E0 +5100 +E900 +0200 +5240 +AFA0 +A820 +ENDCHAR +STARTCHAR U_7D1D +ENCODING 32029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +5080 +F080 +2080 +57E0 +E880 +0080 +5080 +A880 +AFE0 +ENDCHAR +STARTCHAR U_7D1E +ENCODING 32030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +57E0 +F520 +2520 +5180 +E980 +0180 +52A0 +ACA0 +A860 +ENDCHAR +STARTCHAR U_7D1F +ENCODING 32031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +5440 +F920 +2080 +5000 +EFE0 +0040 +5040 +A880 +A880 +ENDCHAR +STARTCHAR U_7D20 +ENCODING 32032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +3F80 +0400 +FFE0 +0900 +3F80 +0840 +7FC0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7D21 +ENCODING 32033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +4FE0 +F100 +21E0 +5120 +E920 +0120 +5220 +AD20 +A8C0 +ENDCHAR +STARTCHAR U_7D22 +ENCODING 32034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +9120 +3E00 +0880 +7FC0 +0440 +2480 +CC60 +ENDCHAR +STARTCHAR U_7D23 +ENCODING 32035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +47C0 +8240 +F240 +2440 +4960 +F900 +07E0 +A900 +A900 +8100 +ENDCHAR +STARTCHAR U_7D24 +ENCODING 32036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +2380 +4A00 +FA00 +23E0 +4A40 +FA40 +0240 +AA40 +AA40 +8440 +ENDCHAR +STARTCHAR U_7D25 +ENCODING 32037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +3120 +D4E0 +2900 +3F00 +0840 +3FC0 +0500 +54C0 +8800 +ENDCHAR +STARTCHAR U_7D26 +ENCODING 32038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +47C0 +9540 +F540 +2540 +57C0 +FC00 +0400 +AC20 +A420 +03E0 +ENDCHAR +STARTCHAR U_7D27 +ENCODING 32039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2FC0 +A480 +A300 +ACC0 +1100 +3E00 +1100 +7F00 +2A80 +4900 +9880 +ENDCHAR +STARTCHAR U_7D28 +ENCODING 32040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +5440 +F5E0 +2E40 +5540 +ED40 +0440 +5440 +AD40 +AC80 +ENDCHAR +STARTCHAR U_7D29 +ENCODING 32041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +53E0 +F280 +2480 +57E0 +E880 +0480 +5140 +AA20 +AC20 +ENDCHAR +STARTCHAR U_7D2A +ENCODING 32042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +4280 +AAA0 +EBA0 +4AC0 +FA80 +0A80 +ABA0 +AEA0 +8860 +ENDCHAR +STARTCHAR U_7D2B +ENCODING 32043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5140 +5D80 +5120 +FDE0 +0880 +3F00 +0880 +7FC0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7D2C +ENCODING 32044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +57E0 +F4A0 +24A0 +54A0 +EFE0 +04A0 +54A0 +AFE0 +AC20 +ENDCHAR +STARTCHAR U_7D2D +ENCODING 32045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +4640 +9240 +F640 +4480 +9680 +FA80 +0280 +AB20 +ABE0 +8420 +ENDCHAR +STARTCHAR U_7D2E +ENCODING 32046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FD00 +3120 +6920 +A4E0 +0800 +3E00 +0880 +7FC0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7D2F +ENCODING 32047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +7FC0 +0900 +3E00 +1080 +7F40 +1500 +ECE0 +ENDCHAR +STARTCHAR U_7D30 +ENCODING 32048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +5520 +F520 +2520 +57E0 +ED20 +0520 +5520 +AFE0 +AC20 +ENDCHAR +STARTCHAR U_7D31 +ENCODING 32049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2140 +57E0 +F100 +2100 +51C0 +EA40 +0340 +5480 +A940 +AA20 +ENDCHAR +STARTCHAR U_7D32 +ENCODING 32050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2540 +5540 +FFE0 +2540 +5540 +ED40 +05C0 +5400 +AC00 +AFE0 +ENDCHAR +STARTCHAR U_7D33 +ENCODING 32051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +57E0 +F4A0 +27E0 +54A0 +EFE0 +04A0 +5080 +A880 +A880 +ENDCHAR +STARTCHAR U_7D34 +ENCODING 32052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4100 +97E0 +F520 +4540 +97C0 +F640 +0580 +AD80 +AA40 +9420 +ENDCHAR +STARTCHAR U_7D35 +ENCODING 32053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +57E0 +F420 +2000 +57E0 +E880 +0480 +5080 +AA80 +A900 +ENDCHAR +STARTCHAR U_7D36 +ENCODING 32054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +57C0 +F100 +2100 +57E0 +E900 +0100 +5240 +AFA0 +A820 +ENDCHAR +STARTCHAR U_7D37 +ENCODING 32055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2100 +4280 +F240 +2520 +5100 +FFC0 +0040 +AA80 +A900 +8100 +ENDCHAR +STARTCHAR U_7D38 +ENCODING 32056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +57E0 +F080 +2080 +5080 +EBE0 +0080 +5080 +A880 +AFE0 +ENDCHAR +STARTCHAR U_7D39 +ENCODING 32057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +5120 +F220 +24C0 +5000 +EBE0 +0220 +5220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_7D3A +ENCODING 32058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +57E0 +F240 +2240 +5240 +EBC0 +0240 +5240 +ABC0 +AA40 +ENDCHAR +STARTCHAR U_7D3B +ENCODING 32059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +57C0 +F540 +2540 +5FE0 +E900 +0100 +5280 +AC40 +A820 +ENDCHAR +STARTCHAR U_7D3C +ENCODING 32060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +57E0 +F2A0 +27E0 +5A80 +EFE0 +02A0 +52E0 +AC80 +A880 +ENDCHAR +STARTCHAR U_7D3D +ENCODING 32061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +57E0 +F420 +2200 +5240 +EA80 +0300 +5220 +AA20 +A9E0 +ENDCHAR +STARTCHAR U_7D3E +ENCODING 32062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +5440 +F820 +2100 +5600 +E880 +0300 +5040 +A980 +AE00 +ENDCHAR +STARTCHAR U_7D3F +ENCODING 32063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +5240 +F460 +27A0 +5000 +EBE0 +0220 +5220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_7D40 +ENCODING 32064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +54A0 +F4A0 +27E0 +54A0 +E880 +04A0 +54A0 +AFE0 +AC20 +ENDCHAR +STARTCHAR U_7D41 +ENCODING 32065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +5480 +FA80 +22E0 +53A0 +EEA0 +02E0 +5280 +AA20 +A9E0 +ENDCHAR +STARTCHAR U_7D42 +ENCODING 32066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +5440 +F280 +2100 +5280 +EC60 +0100 +5080 +AB00 +80C0 +ENDCHAR +STARTCHAR U_7D43 +ENCODING 32067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +57E0 +F100 +2240 +5780 +E880 +0100 +5240 +AFA0 +A820 +ENDCHAR +STARTCHAR U_7D44 +ENCODING 32068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +5240 +F3C0 +2240 +5240 +EA40 +03C0 +5240 +AA40 +AFE0 +ENDCHAR +STARTCHAR U_7D45 +ENCODING 32069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +5820 +FBA0 +2AA0 +5AA0 +EBA0 +0AA0 +5820 +A820 +A860 +ENDCHAR +STARTCHAR U_7D46 +ENCODING 32070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2920 +5540 +F100 +27C0 +5100 +E900 +0FE0 +5100 +A900 +A900 +ENDCHAR +STARTCHAR U_7D47 +ENCODING 32071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +53E0 +F420 +2BA0 +52A0 +EAA0 +03A0 +5020 +A820 +A8C0 +ENDCHAR +STARTCHAR U_7D48 +ENCODING 32072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4100 +8BE0 +F220 +2220 +4BE0 +FA20 +0220 +AA20 +ABE0 +8220 +ENDCHAR +STARTCHAR U_7D49 +ENCODING 32073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2140 +4920 +F7E0 +2100 +4B80 +FB40 +0540 +AD20 +A920 +8100 +ENDCHAR +STARTCHAR U_7D4A +ENCODING 32074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +5FE0 +F100 +2380 +5540 +E920 +07C0 +5100 +A900 +A900 +ENDCHAR +STARTCHAR U_7D4B +ENCODING 32075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2080 +4FE0 +F400 +2480 +4480 +FD00 +0540 +AE60 +ABA0 +8820 +ENDCHAR +STARTCHAR U_7D4C +ENCODING 32076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +4440 +F280 +2380 +4440 +F920 +07C0 +A900 +A900 +87E0 +ENDCHAR +STARTCHAR U_7D4D +ENCODING 32077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +2160 +43C0 +F640 +2A40 +53E0 +FA40 +0240 +AA40 +AA40 +03E0 +ENDCHAR +STARTCHAR U_7D4E +ENCODING 32078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +2400 +5800 +F200 +25E0 +5C40 +EC40 +0440 +5440 +AC40 +A4C0 +ENDCHAR +STARTCHAR U_7D4F +ENCODING 32079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5520 +F7E0 +2520 +57E0 +E900 +0140 +50A0 +A960 +AE20 +ENDCHAR +STARTCHAR U_7D50 +ENCODING 32080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +57E0 +F080 +23E0 +5000 +EBE0 +0220 +5220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_7D51 +ENCODING 32081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +57C0 +F900 +2100 +5FE0 +E900 +0380 +5540 +A920 +A920 +ENDCHAR +STARTCHAR U_7D52 +ENCODING 32082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +22A0 +52A0 +F6A0 +2BE0 +52A0 +EAA0 +02A0 +52A0 +ACA0 +A820 +ENDCHAR +STARTCHAR U_7D53 +ENCODING 32083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +5100 +F100 +2FE0 +5100 +E900 +07C0 +5100 +A900 +AFE0 +ENDCHAR +STARTCHAR U_7D54 +ENCODING 32084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2080 +5100 +F7E0 +2420 +5420 +EFE0 +0420 +5420 +AFE0 +AC20 +ENDCHAR +STARTCHAR U_7D55 +ENCODING 32085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2240 +5480 +FFC0 +2540 +5540 +EFC0 +0400 +5420 +AC20 +ABE0 +ENDCHAR +STARTCHAR U_7D56 +ENCODING 32086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2920 +5540 +F100 +2FE0 +5280 +EA80 +0280 +52A0 +ACA0 +A860 +ENDCHAR +STARTCHAR U_7D57 +ENCODING 32087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +4C20 +F5E0 +2560 +4560 +FD60 +05E0 +AC20 +AFE0 +0420 +ENDCHAR +STARTCHAR U_7D58 +ENCODING 32088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2500 +55E0 +F220 +20A0 +5480 +EC80 +0480 +5540 +AA20 +AC20 +ENDCHAR +STARTCHAR U_7D59 +ENCODING 32089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2000 +4BC0 +F240 +1240 +23C0 +4A40 +FE40 +03C0 +A800 +AFE0 +ENDCHAR +STARTCHAR U_7D5A +ENCODING 32090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +4A00 +F3C0 +1240 +23C0 +4A40 +FD40 +0080 +A880 +AFE0 +ENDCHAR +STARTCHAR U_7D5B +ENCODING 32091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +5640 +5180 +DE60 +5100 +5780 +5240 +5FA0 +4940 +7320 +ENDCHAR +STARTCHAR U_7D5C +ENCODING 32092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +10A0 +7CA0 +1120 +FEC0 +0A00 +1480 +7F40 +1500 +2480 +DC60 +ENDCHAR +STARTCHAR U_7D5D +ENCODING 32093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +4A80 +F440 +1BA0 +2000 +4FE0 +FA00 +03C0 +A840 +A8C0 +ENDCHAR +STARTCHAR U_7D5E +ENCODING 32094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +5FE0 +F240 +2420 +5240 +EA40 +0240 +5180 +AA40 +AC20 +ENDCHAR +STARTCHAR U_7D5F +ENCODING 32095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +5440 +F820 +27C0 +5100 +E900 +07C0 +5100 +A900 +AFE0 +ENDCHAR +STARTCHAR U_7D60 +ENCODING 32096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4FE0 +F200 +17C0 +2A40 +4BC0 +FA40 +03C0 +AA40 +AAC0 +ENDCHAR +STARTCHAR U_7D61 +ENCODING 32097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +5680 +F900 +2280 +5440 +EFE0 +0440 +5440 +AFC0 +AC40 +ENDCHAR +STARTCHAR U_7D62 +ENCODING 32098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +5420 +FFA0 +24A0 +57A0 +ECA0 +07A0 +5020 +A820 +A8C0 +ENDCHAR +STARTCHAR U_7D63 +ENCODING 32099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +57E0 +F280 +2280 +5FE0 +EA80 +0280 +5280 +AC80 +A880 +ENDCHAR +STARTCHAR U_7D64 +ENCODING 32100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +4280 +FFE0 +2AA0 +2AA0 +4AE0 +FC20 +0820 +AFE0 +A820 +ENDCHAR +STARTCHAR U_7D65 +ENCODING 32101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +2540 +4920 +FFE0 +2900 +2900 +4900 +FA80 +0A80 +AA40 +AC20 +ENDCHAR +STARTCHAR U_7D66 +ENCODING 32102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +5440 +F820 +27C0 +5000 +F7C0 +0440 +5440 +AFC0 +8440 +ENDCHAR +STARTCHAR U_7D67 +ENCODING 32103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +4820 +FBA0 +2820 +4BA0 +FAA0 +0BA0 +5AA0 +A820 +A8E0 +ENDCHAR +STARTCHAR U_7D68 +ENCODING 32104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +57E0 +F280 +22A0 +57A0 +EAC0 +0280 +52A0 +AD60 +AA20 +ENDCHAR +STARTCHAR U_7D69 +ENCODING 32105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2AA0 +56A0 +F2C0 +2280 +56C0 +EAA0 +0280 +52A0 +ACA0 +A860 +ENDCHAR +STARTCHAR U_7D6A +ENCODING 32106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +5520 +F7E0 +2520 +5520 +EDA0 +0660 +5420 +AFE0 +AC20 +ENDCHAR +STARTCHAR U_7D6B +ENCODING 32107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1100 +3F80 +5140 +FBE0 +0900 +3E00 +0880 +7FC0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7D6C +ENCODING 32108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +4900 +F7E0 +1100 +27C0 +4440 +FC40 +0440 +AFC0 +A440 +ENDCHAR +STARTCHAR U_7D6D +ENCODING 32109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +7FC0 +1000 +FFE0 +2880 +5E40 +8920 +3F80 +0400 +3580 +CC60 +ENDCHAR +STARTCHAR U_7D6E +ENCODING 32110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FDE0 +2920 +69E0 +1520 +6900 +3E00 +0840 +7FA0 +1280 +EE60 +ENDCHAR +STARTCHAR U_7D6F +ENCODING 32111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5100 +F240 +2780 +5120 +EA40 +0480 +5140 +AA20 +AC20 +ENDCHAR +STARTCHAR U_7D70 +ENCODING 32112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +5100 +F240 +27A0 +50A0 +E880 +03E0 +5080 +A880 +AFE0 +ENDCHAR +STARTCHAR U_7D71 +ENCODING 32113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +57E0 +F100 +2240 +57A0 +E800 +0280 +52A0 +ACA0 +A860 +ENDCHAR +STARTCHAR U_7D72 +ENCODING 32114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +5240 +F780 +2140 +57E0 +E880 +02C0 +54A0 +A8A0 +A980 +ENDCHAR +STARTCHAR U_7D73 +ENCODING 32115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +5240 +F580 +2260 +5080 +EFE0 +0480 +57E0 +A880 +A880 +ENDCHAR +STARTCHAR U_7D74 +ENCODING 32116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +4FE0 +F100 +17C0 +2100 +4900 +FFE0 +0100 +A900 +A900 +ENDCHAR +STARTCHAR U_7D75 +ENCODING 32117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4A80 +FC60 +1380 +2000 +4FE0 +F100 +0240 +AFE0 +A820 +ENDCHAR +STARTCHAR U_7D76 +ENCODING 32118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +4A40 +F7E0 +1AA0 +22A0 +4BE0 +FA00 +0220 +AA20 +A9E0 +ENDCHAR +STARTCHAR U_7D77 +ENCODING 32119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2140 +F3C0 +2160 +6A20 +3F00 +0480 +7FE0 +1280 +E660 +ENDCHAR +STARTCHAR U_7D78 +ENCODING 32120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +4FC0 +F440 +17C0 +2440 +4FC0 +FA80 +02A0 +ACA0 +A8E0 +ENDCHAR +STARTCHAR U_7D79 +ENCODING 32121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +53E0 +F000 +23E0 +5220 +EBE0 +0220 +53E0 +AA20 +AA60 +ENDCHAR +STARTCHAR U_7D7A +ENCODING 32122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2660 +2180 +5240 +F520 +27E0 +5280 +EFE0 +02A0 +52A0 +AAE0 +A880 +ENDCHAR +STARTCHAR U_7D7B +ENCODING 32123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +5480 +FFE0 +2520 +5520 +EFE0 +0180 +5280 +ACA0 +A8E0 +ENDCHAR +STARTCHAR U_7D7C +ENCODING 32124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2740 +5220 +F2C0 +2140 +56A0 +E960 +06A0 +5120 +AEA0 +A840 +ENDCHAR +STARTCHAR U_7D7D +ENCODING 32125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +5440 +F7C0 +2000 +5000 +EFE0 +0420 +5420 +AFE0 +8420 +ENDCHAR +STARTCHAR U_7D7E +ENCODING 32126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +4FE0 +F500 +1740 +2540 +4540 +FF40 +05A0 +AD60 +AA20 +ENDCHAR +STARTCHAR U_7D7F +ENCODING 32127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +57E0 +F480 +22A0 +52A0 +E9C0 +02A0 +54A0 +AAA0 +A900 +ENDCHAR +STARTCHAR U_7D80 +ENCODING 32128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5100 +FFE0 +2920 +5FE0 +E920 +0380 +5540 +A920 +A920 +ENDCHAR +STARTCHAR U_7D81 +ENCODING 32129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +22A0 +5FA0 +F2A0 +22C0 +57A0 +EAA0 +07A0 +52E0 +AC80 +A880 +ENDCHAR +STARTCHAR U_7D82 +ENCODING 32130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +4FE0 +F000 +17C0 +2440 +4FC0 +FA80 +02A0 +AAA0 +ACE0 +ENDCHAR +STARTCHAR U_7D83 +ENCODING 32131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24A0 +22C0 +5080 +F7E0 +2420 +57E0 +EC20 +07E0 +5420 +AC20 +ACE0 +ENDCHAR +STARTCHAR U_7D84 +ENCODING 32132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +57E0 +F420 +23C0 +5000 +EFE0 +0280 +52A0 +ACA0 +A860 +ENDCHAR +STARTCHAR U_7D85 +ENCODING 32133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +57C0 +F040 +27C0 +5000 +EFE0 +0AA0 +5100 +AA80 +AC60 +ENDCHAR +STARTCHAR U_7D86 +ENCODING 32134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +57E0 +F4A0 +27E0 +54A0 +EFE0 +0280 +5100 +AA80 +AC60 +ENDCHAR +STARTCHAR U_7D87 +ENCODING 32135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +4280 +FFE0 +2AA0 +2CE0 +4820 +FFE0 +0820 +AFE0 +A820 +ENDCHAR +STARTCHAR U_7D88 +ENCODING 32136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +57E0 +F120 +27E0 +5500 +EFE0 +0120 +53E0 +AD40 +A900 +ENDCHAR +STARTCHAR U_7D89 +ENCODING 32137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2700 +4100 +FFE0 +1540 +2920 +47C0 +FA40 +02E0 +AA20 +ACC0 +ENDCHAR +STARTCHAR U_7D8A +ENCODING 32138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4FE0 +F100 +1540 +2BA0 +4100 +F900 +0280 +AA40 +AC60 +ENDCHAR +STARTCHAR U_7D8B +ENCODING 32139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +47E0 +F520 +1100 +27E0 +4900 +FA80 +0280 +AD20 +ABE0 +ENDCHAR +STARTCHAR U_7D8C +ENCODING 32140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2440 +5920 +F280 +2440 +5820 +EBC0 +0240 +5240 +ABC0 +AA40 +ENDCHAR +STARTCHAR U_7D8D +ENCODING 32141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +5100 +FFE0 +2820 +57C0 +E880 +07E0 +5100 +A900 +AB00 +ENDCHAR +STARTCHAR U_7D8E +ENCODING 32142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E20 +22C0 +5240 +F440 +26E0 +5240 +EA40 +06E0 +5200 +AD00 +A8E0 +ENDCHAR +STARTCHAR U_7D8F +ENCODING 32143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +27A0 +5940 +F480 +2100 +5FE0 +EA40 +0480 +5380 +A940 +AE20 +ENDCHAR +STARTCHAR U_7D90 +ENCODING 32144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +4FC0 +F440 +1440 +27C0 +4A80 +FA80 +02A0 +AAA0 +ACE0 +ENDCHAR +STARTCHAR U_7D91 +ENCODING 32145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +5520 +F7E0 +2520 +55A0 +EF60 +0520 +5520 +AFE0 +AC20 +ENDCHAR +STARTCHAR U_7D92 +ENCODING 32146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +27A0 +5540 +F280 +27E0 +5080 +E900 +07E0 +5100 +AD00 +AB00 +ENDCHAR +STARTCHAR U_7D93 +ENCODING 32147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +5540 +FA80 +2540 +5540 +E800 +07C0 +5100 +A900 +AFE0 +ENDCHAR +STARTCHAR U_7D94 +ENCODING 32148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FB80 +5100 +8BC0 +7520 +03E0 +F880 +21C0 +7AA0 +0CA0 +7180 +ENDCHAR +STARTCHAR U_7D95 +ENCODING 32149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4FE0 +F100 +1100 +27C0 +4800 +FAA0 +06A0 +AA40 +A9C0 +ENDCHAR +STARTCHAR U_7D96 +ENCODING 32150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +2FC0 +5240 +F440 +2760 +5340 +EB40 +05E0 +5400 +AA00 +A9E0 +ENDCHAR +STARTCHAR U_7D97 +ENCODING 32151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +4AA0 +FC60 +2820 +2BA0 +4AA0 +FAA0 +0BA0 +A820 +A860 +ENDCHAR +STARTCHAR U_7D98 +ENCODING 32152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +4640 +FD80 +1240 +27E0 +4900 +FFE0 +0100 +AFE0 +A900 +ENDCHAR +STARTCHAR U_7D99 +ENCODING 32153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2100 +2900 +4D40 +FB80 +1900 +2FC0 +4900 +FB80 +0D40 +A900 +AFC0 +ENDCHAR +STARTCHAR U_7D9A +ENCODING 32154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4100 +F7C0 +1000 +2FE0 +4820 +FA80 +0280 +AAA0 +ACE0 +ENDCHAR +STARTCHAR U_7D9B +ENCODING 32155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +4D20 +F520 +1260 +2420 +4900 +FAA0 +06A0 +AA40 +A9C0 +ENDCHAR +STARTCHAR U_7D9C +ENCODING 32156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5420 +F3C0 +2000 +57E0 +E880 +02C0 +54A0 +AAA0 +A900 +ENDCHAR +STARTCHAR U_7D9D +ENCODING 32157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2440 +5FE0 +F440 +26C0 +5560 +ED60 +0540 +5440 +AC40 +A440 +ENDCHAR +STARTCHAR U_7D9E +ENCODING 32158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +5100 +FFE0 +2540 +5540 +EFE0 +0540 +5FE0 +A900 +A7C0 +ENDCHAR +STARTCHAR U_7D9F +ENCODING 32159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5420 +F7E0 +24C0 +54A0 +EFE0 +0480 +5540 +AA20 +AC20 +ENDCHAR +STARTCHAR U_7DA0 +ENCODING 32160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +5780 +F080 +2FE0 +5120 +ED40 +0380 +5540 +A920 +AF20 +ENDCHAR +STARTCHAR U_7DA1 +ENCODING 32161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5000 +F3E0 +2220 +53E0 +E880 +02C0 +54A0 +AAA0 +A900 +ENDCHAR +STARTCHAR U_7DA2 +ENCODING 32162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +4BA0 +F920 +2FE0 +5820 +FBA0 +0AA0 +5BA0 +A820 +A8E0 +ENDCHAR +STARTCHAR U_7DA3 +ENCODING 32163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +5FE0 +F200 +2FE0 +5240 +EFA0 +0280 +53A0 +AA20 +A9E0 +ENDCHAR +STARTCHAR U_7DA4 +ENCODING 32164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +1540 +2580 +FD40 +2540 +3D00 +0600 +1880 +77C0 +2480 +4C40 +ENDCHAR +STARTCHAR U_7DA5 +ENCODING 32165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +47C0 +F540 +17C0 +2000 +4FE0 +FA80 +0280 +AA80 +AC80 +ENDCHAR +STARTCHAR U_7DA6 +ENCODING 32166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +7FE0 +1080 +1F80 +1080 +FFE0 +4A40 +94A0 +7F40 +2500 +CCE0 +ENDCHAR +STARTCHAR U_7DA7 +ENCODING 32167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5240 +F3C0 +2000 +57E0 +E880 +0100 +57E0 +A900 +AB00 +ENDCHAR +STARTCHAR U_7DA8 +ENCODING 32168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +47E0 +F280 +1380 +2280 +4B80 +FA80 +07E0 +AA80 +AC60 +ENDCHAR +STARTCHAR U_7DA9 +ENCODING 32169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5820 +F400 +27E0 +54A0 +EDA0 +02E0 +5280 +ACA0 +A860 +ENDCHAR +STARTCHAR U_7DAA +ENCODING 32170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5100 +F7C0 +2100 +5FE0 +EC40 +07C0 +5440 +AFC0 +ACC0 +ENDCHAR +STARTCHAR U_7DAB +ENCODING 32171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +4FE0 +F280 +1120 +26E0 +4240 +FFE0 +0240 +A9A0 +AE60 +ENDCHAR +STARTCHAR U_7DAC +ENCODING 32172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +27A0 +5540 +F280 +27E0 +5420 +EBC0 +0240 +5180 +AA40 +AC20 +ENDCHAR +STARTCHAR U_7DAD +ENCODING 32173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2480 +57E0 +FC80 +27E0 +5480 +EC80 +07E0 +5480 +AFE0 +AC00 +ENDCHAR +STARTCHAR U_7DAE +ENCODING 32174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7BE0 +4A40 +7D80 +4640 +4520 +9F00 +0880 +3F40 +1500 +ECE0 +ENDCHAR +STARTCHAR U_7DAF +ENCODING 32175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2FE0 +4420 +F7A0 +2A20 +5FA0 +F220 +0AA0 +5FA0 +A820 +A8C0 +ENDCHAR +STARTCHAR U_7DB0 +ENCODING 32176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5420 +F3C0 +2240 +53C0 +EA00 +03E0 +5220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_7DB1 +ENCODING 32177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +5560 +F4A0 +27E0 +54A0 +EEA0 +06A0 +57E0 +AC20 +A460 +ENDCHAR +STARTCHAR U_7DB2 +ENCODING 32178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +5560 +F4A0 +27E0 +54A0 +EFE0 +0520 +55E0 +AC20 +AC60 +ENDCHAR +STARTCHAR U_7DB3 +ENCODING 32179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +4AA0 +FEE0 +2AA0 +2EE0 +4AA0 +FAA0 +0AA0 +AB60 +B620 +ENDCHAR +STARTCHAR U_7DB4 +ENCODING 32180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2120 +56C0 +F240 +25A0 +57E0 +E920 +06C0 +5240 +ADA0 +A920 +ENDCHAR +STARTCHAR U_7DB5 +ENCODING 32181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +27A0 +5520 +F2C0 +2100 +57E0 +E900 +0380 +5540 +A920 +A920 +ENDCHAR +STARTCHAR U_7DB6 +ENCODING 32182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +4FC0 +F540 +17C0 +2100 +4FE0 +F900 +0380 +AD40 +A920 +ENDCHAR +STARTCHAR U_7DB7 +ENCODING 32183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5240 +F240 +25A0 +5420 +E880 +07E0 +5080 +A880 +A880 +ENDCHAR +STARTCHAR U_7DB8 +ENCODING 32184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2440 +4BA0 +F000 +2FE0 +5AA0 +FAA0 +0FE0 +5AA0 +AAA0 +A860 +ENDCHAR +STARTCHAR U_7DB9 +ENCODING 32185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2740 +5560 +FD40 +2240 +55E0 +E800 +03E0 +5220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_7DBA +ENCODING 32186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5280 +F440 +2FE0 +5040 +EF40 +0540 +5740 +A840 +A8C0 +ENDCHAR +STARTCHAR U_7DBB +ENCODING 32187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5420 +F000 +27E0 +5080 +EA80 +02E0 +5280 +AD80 +A8E0 +ENDCHAR +STARTCHAR U_7DBC +ENCODING 32188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5520 +F7E0 +2520 +57E0 +EA80 +07E0 +5080 +A880 +A880 +ENDCHAR +STARTCHAR U_7DBD +ENCODING 32189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2100 +57C0 +F440 +27C0 +5440 +EFC0 +0100 +5FE0 +A900 +A900 +ENDCHAR +STARTCHAR U_7DBE +ENCODING 32190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +5100 +FFE0 +2440 +5A20 +EBC0 +0680 +5900 +AA80 +AC60 +ENDCHAR +STARTCHAR U_7DBF +ENCODING 32191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +5240 +F3C0 +2240 +53C0 +E900 +07E0 +5520 +AD60 +A900 +ENDCHAR +STARTCHAR U_7DC0 +ENCODING 32192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5140 +F7E0 +2140 +57C0 +E900 +07E0 +5240 +A980 +AE60 +ENDCHAR +STARTCHAR U_7DC1 +ENCODING 32193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +57C0 +F140 +2FE0 +5140 +EFC0 +0500 +55E0 +AB00 +A9E0 +ENDCHAR +STARTCHAR U_7DC2 +ENCODING 32194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +22C0 +5480 +F140 +22A0 +5080 +EAA0 +04C0 +5080 +A940 +AE20 +ENDCHAR +STARTCHAR U_7DC3 +ENCODING 32195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +5680 +E940 +2A20 +5500 +F5C0 +0500 +A500 +A700 +98E0 +ENDCHAR +STARTCHAR U_7DC4 +ENCODING 32196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +57C0 +F440 +27C0 +5480 +ECA0 +07C0 +5480 +ADA0 +AE60 +ENDCHAR +STARTCHAR U_7DC5 +ENCODING 32197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F00 +4A00 +9FE0 +EAA0 +2AA0 +5EA0 +FAA0 +0B40 +5EA0 +AAA0 +AAA0 +ENDCHAR +STARTCHAR U_7DC6 +ENCODING 32198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +57C0 +F440 +27C0 +5200 +EFE0 +02A0 +5520 +AA20 +ACC0 +ENDCHAR +STARTCHAR U_7DC7 +ENCODING 32199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2540 +5A80 +F540 +2540 +57E0 +ED20 +07E0 +5520 +AFE0 +AC20 +ENDCHAR +STARTCHAR U_7DC8 +ENCODING 32200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +4100 +EFE0 +2280 +47C0 +F100 +0FE0 +A100 +A900 +8100 +ENDCHAR +STARTCHAR U_7DC9 +ENCODING 32201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +4100 +FFE0 +2920 +5DA0 +FB60 +0DA0 +5920 +A920 +A860 +ENDCHAR +STARTCHAR U_7DCA +ENCODING 32202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +A280 +F900 +A280 +FC40 +1100 +3E00 +1080 +7F80 +2500 +DCC0 +ENDCHAR +STARTCHAR U_7DCB +ENCODING 32203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +5EE0 +F280 +2EE0 +5280 +EA80 +0EE0 +5280 +AA80 +AA80 +ENDCHAR +STARTCHAR U_7DCC +ENCODING 32204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +5900 +FFE0 +2540 +5920 +EFE0 +0240 +5680 +A980 +AE60 +ENDCHAR +STARTCHAR U_7DCD +ENCODING 32205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2600 +5480 +F7E0 +2480 +5460 +F7C0 +0440 +57C0 +AC40 +AFC0 +ENDCHAR +STARTCHAR U_7DCE +ENCODING 32206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +4FE0 +F080 +2E80 +5AA0 +FEA0 +00C0 +56A0 +A960 +AA20 +ENDCHAR +STARTCHAR U_7DCF +ENCODING 32207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2480 +4440 +5520 +EA40 +27C0 +4000 +F440 +0AA0 +AA60 +A3C0 +ENDCHAR +STARTCHAR U_7DD0 +ENCODING 32208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +7B80 +8100 +7FC0 +5480 +FFE0 +4480 +55C0 +7EA0 +04A0 +1900 +ENDCHAR +STARTCHAR U_7DD1 +ENCODING 32209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +4040 +97C0 +E040 +2FE0 +4920 +E540 +0380 +A540 +A920 +8300 +ENDCHAR +STARTCHAR U_7DD2 +ENCODING 32210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +27A0 +5140 +FFE0 +2100 +53E0 +EE20 +03E0 +5220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_7DD3 +ENCODING 32211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +5280 +D100 +67C0 +5540 +F540 +0FE0 +0100 +A280 +AC60 +ENDCHAR +STARTCHAR U_7DD4 +ENCODING 32212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2520 +4540 +4100 +EFE0 +4820 +EBA0 +0AA0 +4AA0 +4BA0 +8860 +ENDCHAR +STARTCHAR U_7DD5 +ENCODING 32213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +4280 +F100 +2EE0 +4440 +F7C0 +0440 +A7C0 +8440 +0840 +ENDCHAR +STARTCHAR U_7DD6 +ENCODING 32214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2240 +57C0 +F280 +2FE0 +F240 +07E0 +AC40 +B7C0 +8440 +07C0 +ENDCHAR +STARTCHAR U_7DD7 +ENCODING 32215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +25E0 +5F20 +F520 +25E0 +5720 +EDE0 +0520 +5520 +ADE0 +AD20 +ENDCHAR +STARTCHAR U_7DD8 +ENCODING 32216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +57E0 +F480 +2780 +54A0 +EFA0 +0540 +57A0 +A960 +AA20 +ENDCHAR +STARTCHAR U_7DD9 +ENCODING 32217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +5280 +F380 +2100 +57C0 +ED40 +07C0 +5900 +AFE0 +0100 +ENDCHAR +STARTCHAR U_7DDA +ENCODING 32218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +5440 +F7C0 +2440 +57C0 +E920 +0740 +5380 +AD40 +AB20 +ENDCHAR +STARTCHAR U_7DDB +ENCODING 32219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +4FE0 +FAA0 +2AA0 +5AE0 +F100 +0FE0 +5100 +AA80 +AC60 +ENDCHAR +STARTCHAR U_7DDC +ENCODING 32220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +FF00 +8900 +FBC0 +8900 +FA40 +27E0 +F880 +AAC0 +B4A0 +2100 +ENDCHAR +STARTCHAR U_7DDD +ENCODING 32221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +53C0 +F000 +27E0 +5240 +EBC0 +0240 +53C0 +AA40 +AFE0 +ENDCHAR +STARTCHAR U_7DDE +ENCODING 32222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26E0 +24A0 +54A0 +F700 +24E0 +57A0 +ECA0 +07A0 +5440 +ACA0 +AD20 +ENDCHAR +STARTCHAR U_7DDF +ENCODING 32223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +5FE0 +F540 +27C0 +5540 +EFC0 +0100 +57C0 +A900 +AFE0 +ENDCHAR +STARTCHAR U_7DE0 +ENCODING 32224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5280 +FFE0 +2920 +57C0 +ED40 +0540 +5540 +ADC0 +A900 +ENDCHAR +STARTCHAR U_7DE1 +ENCODING 32225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +57C0 +F480 +27E0 +5440 +EFE0 +0240 +53C0 +AA40 +ABC0 +ENDCHAR +STARTCHAR U_7DE2 +ENCODING 32226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +5FE0 +F240 +27E0 +54A0 +F4A0 +07E0 +54A0 +AFE0 +0420 +ENDCHAR +STARTCHAR U_7DE3 +ENCODING 32227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +5780 +F080 +2FE0 +5520 +EAC0 +0580 +52C0 +ACA0 +0300 +ENDCHAR +STARTCHAR U_7DE4 +ENCODING 32228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +4540 +F5C0 +2400 +57E0 +F100 +0FE0 +5380 +B540 +0920 +ENDCHAR +STARTCHAR U_7DE5 +ENCODING 32229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27C0 +4A40 +5BC0 +E900 +2FE0 +5900 +FB80 +0D40 +5920 +A900 +ENDCHAR +STARTCHAR U_7DE6 +ENCODING 32230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +5520 +F7E0 +2520 +57E0 +E900 +02C0 +5620 +AA60 +A9C0 +ENDCHAR +STARTCHAR U_7DE7 +ENCODING 32231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +5FE0 +E280 +2FE0 +5AA0 +FCE0 +0820 +5FE0 +A820 +AFE0 +ENDCHAR +STARTCHAR U_7DE8 +ENCODING 32232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5820 +FFE0 +2800 +5FE0 +EAA0 +0FE0 +5AA0 +AAA0 +AA60 +ENDCHAR +STARTCHAR U_7DE9 +ENCODING 32233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +5280 +F7E0 +2100 +5FE0 +EA00 +03E0 +5540 +A880 +AB60 +ENDCHAR +STARTCHAR U_7DEA +ENCODING 32234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +5480 +EEE0 +2520 +55A0 +F560 +06A0 +5440 +AC40 +07E0 +ENDCHAR +STARTCHAR U_7DEB +ENCODING 32235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +5AA0 +E6A0 +2D20 +52E0 +F000 +0A40 +5520 +AC40 +13C0 +ENDCHAR +STARTCHAR U_7DEC +ENCODING 32236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2200 +5FE0 +EAA0 +2AA0 +5BA0 +FAA0 +0BA0 +5AA0 +AFE0 +A820 +ENDCHAR +STARTCHAR U_7DED +ENCODING 32237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +57E0 +F520 +27E0 +5240 +FBC0 +0240 +53C0 +AA40 +02C0 +ENDCHAR +STARTCHAR U_7DEE +ENCODING 32238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +5400 +FBC0 +2240 +53C0 +EA40 +07C0 +5A40 +A980 +0660 +ENDCHAR +STARTCHAR U_7DEF +ENCODING 32239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +5240 +FFE0 +2440 +57C0 +E880 +07E0 +5480 +AFE0 +A880 +ENDCHAR +STARTCHAR U_7DF0 +ENCODING 32240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2440 +4BA0 +F000 +2EA0 +5AA0 +FEA0 +0AA0 +5EA0 +AA20 +AA60 +ENDCHAR +STARTCHAR U_7DF1 +ENCODING 32241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25C0 +2440 +57E0 +ED00 +25E0 +5680 +FC80 +07E0 +5480 +AD40 +A620 +ENDCHAR +STARTCHAR U_7DF2 +ENCODING 32242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +4A80 +5EC0 +EAA0 +2B80 +5EA0 +EAA0 +0A40 +5E80 +A900 +AA00 +ENDCHAR +STARTCHAR U_7DF3 +ENCODING 32243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5000 +7DE0 +50A0 +7D60 +5500 +4A80 +7FC0 +8A80 +B660 +ENDCHAR +STARTCHAR U_7DF4 +ENCODING 32244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5100 +F7E0 +26A0 +5520 +EFE0 +0180 +5340 +AD20 +A920 +ENDCHAR +STARTCHAR U_7DF5 +ENCODING 32245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2AA0 +4920 +5AA0 +EFE0 +2440 +5A20 +F3C0 +0640 +5180 +AE60 +ENDCHAR +STARTCHAR U_7DF6 +ENCODING 32246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +4880 +9BE0 +EAA0 +2BE0 +4AA0 +FBE0 +0A80 +5900 +AA80 +AC60 +ENDCHAR +STARTCHAR U_7DF7 +ENCODING 32247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +5FE0 +E540 +27C0 +5540 +EFC0 +0100 +5FE0 +A900 +A900 +ENDCHAR +STARTCHAR U_7DF8 +ENCODING 32248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +4280 +5FE0 +EAA0 +2FE0 +5100 +F7C0 +0100 +5100 +AFE0 +ENDCHAR +STARTCHAR U_7DF9 +ENCODING 32249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +57C0 +F440 +27C0 +5000 +EFE0 +0480 +54E0 +AA80 +A9E0 +ENDCHAR +STARTCHAR U_7DFA +ENCODING 32250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +5740 +E540 +2FE0 +5820 +FBA0 +0AA0 +5BA0 +A820 +A860 +ENDCHAR +STARTCHAR U_7DFB +ENCODING 32251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F80 +4480 +9AE0 +EFA0 +44A0 +94A0 +FEA0 +04A0 +5440 +AEA0 +A920 +ENDCHAR +STARTCHAR U_7DFC +ENCODING 32252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +57C0 +E440 +27C0 +5000 +FFE0 +0AA0 +AAA0 +AAA0 +1FE0 +ENDCHAR +STARTCHAR U_7DFD +ENCODING 32253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +47E0 +F420 +27E0 +5420 +F7E0 +0420 +57E0 +5240 +8420 +ENDCHAR +STARTCHAR U_7DFE +ENCODING 32254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +5BE0 +EAA0 +2BE0 +5AA0 +FBE0 +0880 +ABE0 +A880 +13E0 +ENDCHAR +STARTCHAR U_7DFF +ENCODING 32255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +57C0 +F000 +27C0 +5440 +F7C0 +0200 +5560 +9440 +03C0 +ENDCHAR +STARTCHAR U_7E00 +ENCODING 32256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2760 +2520 +4520 +5760 +E400 +27E0 +54A0 +FEA0 +0440 +54A0 +AD20 +ENDCHAR +STARTCHAR U_7E01 +ENCODING 32257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +57C0 +E040 +2FE0 +5300 +FDA0 +02C0 +ADC0 +D2A0 +0D80 +ENDCHAR +STARTCHAR U_7E02 +ENCODING 32258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +47C0 +5440 +E440 +27C0 +5200 +F540 +0C20 +5440 +ABC0 +ENDCHAR +STARTCHAR U_7E03 +ENCODING 32259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2920 +55C0 +F700 +29E0 +5240 +FBC0 +0240 +ABC0 +AA40 +02C0 +ENDCHAR +STARTCHAR U_7E04 +ENCODING 32260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +47E0 +5520 +E7E0 +2520 +57E0 +FD20 +07E0 +5100 +A8E0 +ENDCHAR +STARTCHAR U_7E05 +ENCODING 32261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20A0 +2FE0 +4880 +5FA0 +EAA0 +2FA0 +4AA0 +FD40 +0A40 +ADA0 +5120 +ENDCHAR +STARTCHAR U_7E06 +ENCODING 32262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2FE0 +4800 +FBC0 +2E40 +4BC0 +FA40 +0BC0 +A800 +AFE0 +0800 +ENDCHAR +STARTCHAR U_7E07 +ENCODING 32263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4100 +4FE0 +A820 +E7C0 +4000 +97C0 +FC40 +07C0 +5440 +AFE0 +ENDCHAR +STARTCHAR U_7E08 +ENCODING 32264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5AE0 +9480 +2940 +FFE0 +8520 +3E00 +1080 +7F40 +1500 +ECE0 +ENDCHAR +STARTCHAR U_7E09 +ENCODING 32265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +5AA0 +F6C0 +2FE0 +5000 +EFC0 +0440 +57C0 +AC40 +AFC0 +ENDCHAR +STARTCHAR U_7E0A +ENCODING 32266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +57E0 +F280 +2440 +5820 +EFC0 +0540 +5540 +AD40 +AFE0 +ENDCHAR +STARTCHAR U_7E0B +ENCODING 32267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +25E0 +5520 +F1E0 +2500 +55E0 +ED20 +0520 +55E0 +AA00 +A9E0 +ENDCHAR +STARTCHAR U_7E0C +ENCODING 32268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5220 +4940 +8BE0 +E080 +3AA0 +4AA0 +EBE0 +0880 +5880 +A500 +ABE0 +ENDCHAR +STARTCHAR U_7E0D +ENCODING 32269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +8240 +FFE0 +2920 +5FE0 +F200 +03C0 +5240 +AC40 +A980 +ENDCHAR +STARTCHAR U_7E0E +ENCODING 32270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +5740 +F540 +2FE0 +5440 +EFC0 +0440 +57C0 +AC40 +ACC0 +ENDCHAR +STARTCHAR U_7E0F +ENCODING 32271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA60 +AFC0 +FA40 +A980 +AA60 +3F00 +1480 +7F40 +2500 +CCE0 +ENDCHAR +STARTCHAR U_7E10 +ENCODING 32272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +56A0 +F3E0 +22A0 +53C0 +ED20 +0560 +57E0 +A920 +AE40 +ENDCHAR +STARTCHAR U_7E11 +ENCODING 32273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +5FE0 +9500 +EFC0 +2540 +5FE0 +F540 +0FC0 +5580 +AD40 +B520 +ENDCHAR +STARTCHAR U_7E12 +ENCODING 32274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +5FE0 +F100 +27C0 +5100 +EFE0 +0200 +57C0 +A900 +AFE0 +ENDCHAR +STARTCHAR U_7E13 +ENCODING 32275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2880 +4BE0 +FA20 +2BE0 +5A20 +FBE0 +0880 +59C0 +AAA0 +ADA0 +ENDCHAR +STARTCHAR U_7E14 +ENCODING 32276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +5180 +FEE0 +2AA0 +5440 +EAA0 +0FE0 +5100 +AD40 +A920 +ENDCHAR +STARTCHAR U_7E15 +ENCODING 32277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +5540 +F6C0 +27C0 +5000 +FFE0 +0AA0 +5AA0 +AAA0 +AFE0 +ENDCHAR +STARTCHAR U_7E16 +ENCODING 32278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4920 +FFE0 +2100 +57C0 +F100 +0FE0 +5440 +AC40 +A7C0 +ENDCHAR +STARTCHAR U_7E17 +ENCODING 32279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5000 +F3C0 +2240 +57E0 +EA40 +03C0 +56A0 +AB40 +AA20 +ENDCHAR +STARTCHAR U_7E18 +ENCODING 32280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2E40 +4A80 +5500 +EFC0 +4400 +EFC0 +0200 +BFE0 +8480 +1860 +ENDCHAR +STARTCHAR U_7E19 +ENCODING 32281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4280 +4FE0 +F440 +27C0 +5440 +F7C0 +0440 +AFE0 +A040 +ENDCHAR +STARTCHAR U_7E1A +ENCODING 32282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2720 +5520 +F2C0 +2200 +54E0 +EC20 +0760 +5420 +AC20 +AFE0 +ENDCHAR +STARTCHAR U_7E1B +ENCODING 32283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +4FE0 +5520 +E7E0 +2520 +57E0 +F520 +0040 +5FE0 +AA40 +A9C0 +ENDCHAR +STARTCHAR U_7E1C +ENCODING 32284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +4FE0 +F420 +27E0 +5420 +FFE0 +0420 +57E0 +A940 +AE20 +ENDCHAR +STARTCHAR U_7E1D +ENCODING 32285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5440 +F7C0 +2440 +5740 +EDC0 +0440 +57E0 +AA80 +AC60 +ENDCHAR +STARTCHAR U_7E1E +ENCODING 32286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5240 +F3C0 +2000 +5FE0 +E820 +0BA0 +5AA0 +ABA0 +A860 +ENDCHAR +STARTCHAR U_7E1F +ENCODING 32287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +4BC0 +F800 +2FE0 +5AA0 +FB40 +2840 +57E0 +AA40 +A9C0 +ENDCHAR +STARTCHAR U_7E20 +ENCODING 32288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +7D40 +1140 +FE60 +AA00 +73E0 +1540 +7F40 +1080 +5540 +9220 +ENDCHAR +STARTCHAR U_7E21 +ENCODING 32289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4920 +FFE0 +2440 +5280 +FFE0 +0100 +57C0 +A900 +A900 +ENDCHAR +STARTCHAR U_7E22 +ENCODING 32290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +AA80 +BFE0 +E400 +BFE0 +AAC0 +F520 +AFE0 +A580 +A940 +B320 +ENDCHAR +STARTCHAR U_7E23 +ENCODING 32291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +4B80 +7920 +4BC0 +7880 +4920 +FFE0 +1080 +5AC0 +94A0 +3180 +ENDCHAR +STARTCHAR U_7E24 +ENCODING 32292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +47C0 +F100 +2FE0 +4280 +FD40 +07A0 +5140 +AD20 +AB20 +ENDCHAR +STARTCHAR U_7E25 +ENCODING 32293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4100 +FFE0 +2440 +4FA0 +F100 +07E0 +AB80 +A540 +0920 +ENDCHAR +STARTCHAR U_7E26 +ENCODING 32294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2620 +2520 +4840 +F3E0 +4480 +AA80 +FAE0 +0A80 +AA80 +AD80 +8C60 +ENDCHAR +STARTCHAR U_7E27 +ENCODING 32295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +25E0 +5540 +EA80 +2B40 +5AA0 +FBE0 +0880 +AAC0 +AAA0 +8DA0 +ENDCHAR +STARTCHAR U_7E28 +ENCODING 32296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +57C0 +F440 +27C0 +5540 +F380 +0FE0 +B280 +A4A0 +08E0 +ENDCHAR +STARTCHAR U_7E29 +ENCODING 32297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +49A0 +F640 +2420 +5BC0 +F000 +0FE0 +A100 +A540 +0B20 +ENDCHAR +STARTCHAR U_7E2A +ENCODING 32298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +47C0 +F540 +27C0 +5540 +FFE0 +0540 +5FE0 +A900 +A900 +ENDCHAR +STARTCHAR U_7E2B +ENCODING 32299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +25E0 +5140 +E280 +2D40 +57E0 +FC80 +07E0 +5480 +AC80 +ABE0 +ENDCHAR +STARTCHAR U_7E2C +ENCODING 32300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +4FE0 +FA80 +2B80 +4AA0 +FFA0 +0AC0 +AFA0 +AA60 +9420 +ENDCHAR +STARTCHAR U_7E2D +ENCODING 32301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5280 +E920 +2AA0 +5FE0 +F100 +0FE0 +5AA0 +AFA0 +A860 +ENDCHAR +STARTCHAR U_7E2E +ENCODING 32302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +4420 +FBE0 +2480 +5DE0 +F520 +05E0 +5520 +ADE0 +A520 +ENDCHAR +STARTCHAR U_7E2F +ENCODING 32303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5420 +F7E0 +2100 +57C0 +ED40 +07C0 +5540 +AFC0 +AC60 +ENDCHAR +STARTCHAR U_7E30 +ENCODING 32304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +4A80 +92E0 +F680 +23E0 +5880 +FA80 +2AE0 +5A80 +AD80 +A8E0 +ENDCHAR +STARTCHAR U_7E31 +ENCODING 32305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +4940 +96A0 +E800 +2880 +4A80 +FAE0 +2A80 +5A80 +AD80 +A8E0 +ENDCHAR +STARTCHAR U_7E32 +ENCODING 32306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +24A0 +57E0 +E4A0 +27E0 +4140 +F2A0 +0FE0 +5100 +AD40 +AB20 +ENDCHAR +STARTCHAR U_7E33 +ENCODING 32307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5540 +F7C0 +2540 +57C0 +E920 +07E0 +5480 +AA80 +A900 +ENDCHAR +STARTCHAR U_7E34 +ENCODING 32308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4280 +FFE0 +2AA0 +57C0 +F500 +07C0 +5900 +AFE0 +A900 +ENDCHAR +STARTCHAR U_7E35 +ENCODING 32309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +47C0 +F440 +2FE0 +5AA0 +FFE0 +0440 +5280 +A900 +AEE0 +ENDCHAR +STARTCHAR U_7E36 +ENCODING 32310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +5140 +FB40 +22E0 +FD20 +2A00 +1480 +7F40 +1500 +ECE0 +ENDCHAR +STARTCHAR U_7E37 +ENCODING 32311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +4540 +FFE0 +2540 +5FE0 +F920 +0FE0 +5480 +AB80 +AE60 +ENDCHAR +STARTCHAR U_7E38 +ENCODING 32312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4280 +F7C0 +2440 +57C0 +F440 +0FE0 +5100 +AA80 +AC60 +ENDCHAR +STARTCHAR U_7E39 +ENCODING 32313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +4FE0 +FAA0 +2FE0 +4000 +F7C0 +0000 +5FE0 +A540 +AB20 +ENDCHAR +STARTCHAR U_7E3A +ENCODING 32314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +4FE0 +82A0 +FBE0 +2AA0 +4BE0 +F880 +0BE0 +5880 +A880 +A7E0 +ENDCHAR +STARTCHAR U_7E3B +ENCODING 32315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +5DC0 +6AA0 +4A80 +4540 +5FA0 +4A80 +B660 +ENDCHAR +STARTCHAR U_7E3C +ENCODING 32316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +4900 +BDE0 +D200 +5DE0 +B440 +F540 +1560 +D540 +B6C0 +AE60 +ENDCHAR +STARTCHAR U_7E3D +ENCODING 32317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5560 +F6A0 +2520 +56A0 +EFE0 +0140 +56A0 +AA60 +A9C0 +ENDCHAR +STARTCHAR U_7E3E +ENCODING 32318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5100 +F7C0 +2100 +5FE0 +EC40 +07C0 +5440 +A7C0 +AC60 +ENDCHAR +STARTCHAR U_7E3F +ENCODING 32319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27C0 +5440 +EAA0 +2FE0 +5240 +FD20 +0280 +A940 +A880 +0300 +ENDCHAR +STARTCHAR U_7E40 +ENCODING 32320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +24A0 +57E0 +F280 +27E0 +5480 +EFE0 +0480 +57E0 +AC80 +A7E0 +ENDCHAR +STARTCHAR U_7E41 +ENCODING 32321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +D540 +7E80 +5540 +7A20 +1F00 +0880 +7F40 +2480 +CC60 +ENDCHAR +STARTCHAR U_7E42 +ENCODING 32322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4920 +F6C0 +2300 +5540 +FBA0 +0100 +57E0 +A900 +A900 +ENDCHAR +STARTCHAR U_7E43 +ENCODING 32323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2920 +4FE0 +F000 +2EE0 +5AA0 +FEE0 +0AA0 +5EE0 +AAA0 +B760 +ENDCHAR +STARTCHAR U_7E44 +ENCODING 32324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +9140 +FA20 +93E0 +A940 +FC80 +0B60 +1480 +7FC0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7E45 +ENCODING 32325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2A80 +5540 +F7C0 +2540 +57C0 +ED40 +0FE0 +5380 +AD40 +A920 +ENDCHAR +STARTCHAR U_7E46 +ENCODING 32326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +25A0 +4360 +FDA0 +2120 +46C0 +FAA0 +0500 +5240 +A880 +AF00 +ENDCHAR +STARTCHAR U_7E47 +ENCODING 32327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C60 +E780 +A880 +5140 +4380 +7D40 +93E0 +FC80 +55C0 +56A0 +7D80 +ENDCHAR +STARTCHAR U_7E48 +ENCODING 32328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C80 +4520 +A7E0 +DC80 +53E0 +BEA0 +F6A0 +07E0 +D480 +B4A0 +8BE0 +ENDCHAR +STARTCHAR U_7E49 +ENCODING 32329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +57C0 +F440 +27C0 +52A0 +EEC0 +0280 +56C0 +AAA0 +AC60 +ENDCHAR +STARTCHAR U_7E4A +ENCODING 32330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2EC0 +44A0 +FFE0 +2A80 +4AA0 +FBA0 +0AC0 +ABA0 +BD60 +0220 +ENDCHAR +STARTCHAR U_7E4B +ENCODING 32331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +AC20 +FBC0 +AA40 +FD80 +2A60 +1500 +7FC0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7E4C +ENCODING 32332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +4D60 +F4A0 +27E0 +5240 +FD20 +03C0 +5540 +A880 +AF60 +ENDCHAR +STARTCHAR U_7E4D +ENCODING 32333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +5140 +FFE0 +2540 +57E0 +F560 +05A0 +AFE0 +A5A0 +8960 +ENDCHAR +STARTCHAR U_7E4E +ENCODING 32334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +26C0 +4AA0 +FFE0 +2A80 +5680 +F540 +0A20 +A000 +AAA0 +12A0 +ENDCHAR +STARTCHAR U_7E4F +ENCODING 32335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +4EE0 +E880 +2EE0 +5480 +FFC0 +0480 +AFE0 +A480 +0860 +ENDCHAR +STARTCHAR U_7E50 +ENCODING 32336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4540 +F7C0 +2540 +57C0 +F140 +0FA0 +5240 +AEA0 +AB80 +ENDCHAR +STARTCHAR U_7E51 +ENCODING 32337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2100 +4FE0 +F440 +2BA0 +5280 +FFE0 +0AA0 +5BA0 +A820 +A860 +ENDCHAR +STARTCHAR U_7E52 +ENCODING 32338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +4FE0 +FAA0 +2FE0 +5820 +F7C0 +0440 +57C0 +AC40 +A7C0 +ENDCHAR +STARTCHAR U_7E53 +ENCODING 32339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +47C0 +F440 +2FE0 +5A00 +FEE0 +0AA0 +5EA0 +AB40 +AEA0 +ENDCHAR +STARTCHAR U_7E54 +ENCODING 32340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24C0 +2FA0 +4A80 +EFE0 +2080 +5EA0 +FAA0 +0EC0 +5A40 +AEE0 +A120 +ENDCHAR +STARTCHAR U_7E55 +ENCODING 32341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4100 +F7C0 +2100 +5FE0 +F280 +0FE0 +B440 +AC40 +07C0 +ENDCHAR +STARTCHAR U_7E56 +ENCODING 32342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +5F80 +8AE0 +FFA0 +40A0 +AEA0 +FAA0 +0EA0 +AA40 +AEA0 +0B20 +ENDCHAR +STARTCHAR U_7E57 +ENCODING 32343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +4FE0 +F540 +2920 +5440 +F7E0 +0A40 +5740 +A5E0 +A840 +ENDCHAR +STARTCHAR U_7E58 +ENCODING 32344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2280 +4FE0 +F540 +2900 +5FE0 +FAA0 +2FE0 +5AA0 +ABA0 +A860 +ENDCHAR +STARTCHAR U_7E59 +ENCODING 32345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F20 +5540 +EFE0 +2540 +4920 +FFE0 +0520 +B7E0 +AD20 +07E0 +ENDCHAR +STARTCHAR U_7E5A +ENCODING 32346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5FE0 +8AA0 +F7C0 +2C60 +57C0 +F440 +07C0 +5540 +A920 +AB20 +ENDCHAR +STARTCHAR U_7E5B +ENCODING 32347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +7CE0 +1080 +FFE0 +2A20 +73E0 +2A20 +FFE0 +5480 +93E0 +3080 +ENDCHAR +STARTCHAR U_7E5C +ENCODING 32348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +5FE0 +EAA0 +2FE0 +5820 +FFE0 +0040 +AFE0 +A440 +02C0 +ENDCHAR +STARTCHAR U_7E5D +ENCODING 32349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +4EE0 +FAA0 +2FE0 +5AA0 +FBA0 +0AA0 +ABA0 +ACA0 +0860 +ENDCHAR +STARTCHAR U_7E5E +ENCODING 32350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +5100 +EFE0 +2440 +5EE0 +F440 +07E0 +5280 +AAA0 +AC60 +ENDCHAR +STARTCHAR U_7E5F +ENCODING 32351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +4FE0 +F540 +27C0 +5540 +F7C0 +0100 +B7E0 +A900 +0100 +ENDCHAR +STARTCHAR U_7E60 +ENCODING 32352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5480 +5140 +9F00 +52A0 +CE40 +79C0 +0A00 +1480 +7FC0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7E61 +ENCODING 32353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +47C0 +5140 +E7E0 +2140 +57C0 +FD20 +07E0 +AD20 +B7E0 +8920 +ENDCHAR +STARTCHAR U_7E62 +ENCODING 32354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +47C0 +9540 +EFE0 +2440 +57C0 +EC40 +07C0 +5440 +AFC0 +AC60 +ENDCHAR +STARTCHAR U_7E63 +ENCODING 32355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2140 +4FE0 +F140 +27E0 +5100 +FFE0 +2540 +57C0 +A540 +AFE0 +ENDCHAR +STARTCHAR U_7E64 +ENCODING 32356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +FFE0 +2A80 +D560 +3F80 +2480 +CC60 +ENDCHAR +STARTCHAR U_7E65 +ENCODING 32357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +4100 +97C0 +E440 +57C0 +F280 +0FE0 +A7C0 +A440 +07C0 +ENDCHAR +STARTCHAR U_7E66 +ENCODING 32358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3DE0 +4520 +BDE0 +D080 +5FE0 +A6A0 +E7E0 +0480 +B4A0 +ABE0 +ENDCHAR +STARTCHAR U_7E67 +ENCODING 32359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +4FE0 +5920 +E540 +2920 +57C0 +F000 +0FE0 +B240 +AFE0 +ENDCHAR +STARTCHAR U_7E68 +ENCODING 32360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +25C0 +5480 +F3E0 +2D40 +5480 +F7E0 +0480 +57E0 +AC80 +ABE0 +ENDCHAR +STARTCHAR U_7E69 +ENCODING 32361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +4EE0 +F280 +2EE0 +5AA0 +FEE0 +0AA0 +5EE0 +AA80 +A9E0 +ENDCHAR +STARTCHAR U_7E6A +ENCODING 32362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +47C0 +F820 +2FE0 +4AA0 +FFE0 +0440 +57C0 +AC40 +A7C0 +ENDCHAR +STARTCHAR U_7E6B +ENCODING 32363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FF40 +5460 +FFC0 +5540 +7C80 +1260 +2480 +7F40 +2280 +CE60 +ENDCHAR +STARTCHAR U_7E6C +ENCODING 32364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5540 +FBA0 +2FE0 +5000 +F7E0 +0420 +57A0 +96A0 +07E0 +ENDCHAR +STARTCHAR U_7E6D +ENCODING 32365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +FFE0 +9520 +A7E0 +FD60 +97E0 +A520 +FD60 +AFA0 +D420 +ENDCHAR +STARTCHAR U_7E6E +ENCODING 32366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +47C0 +F540 +27C0 +5000 +FFE0 +0540 +A7C0 +A540 +0FE0 +ENDCHAR +STARTCHAR U_7E6F +ENCODING 32367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +5FE0 +F000 +2FE0 +5440 +EFC0 +02A0 +56C0 +AA40 +AB20 +ENDCHAR +STARTCHAR U_7E70 +ENCODING 32368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +4440 +FFE0 +2AA0 +5EE0 +F100 +0FE0 +5580 +A940 +A920 +ENDCHAR +STARTCHAR U_7E71 +ENCODING 32369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +2480 +57C0 +FAC0 +2540 +4240 +F580 +0E40 +ACA0 +B380 +ENDCHAR +STARTCHAR U_7E72 +ENCODING 32370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +4EA0 +9520 +FF40 +5540 +9FE0 +F540 +1FE0 +5540 +B540 +A340 +ENDCHAR +STARTCHAR U_7E73 +ENCODING 32371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4E80 +AAE0 +EFA0 +4AA0 +AFA0 +F4A0 +1F40 +AA40 +AAA0 +16A0 +ENDCHAR +STARTCHAR U_7E74 +ENCODING 32372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +7940 +43E0 +7880 +ABE0 +3E80 +1500 +7FC0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7E75 +ENCODING 32373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +9B40 +E840 +2FC0 +5000 +F7C0 +0440 +57C0 +AC40 +AFE0 +ENDCHAR +STARTCHAR U_7E76 +ENCODING 32374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4280 +FFE0 +2440 +57C0 +F440 +07C0 +5540 +AAA0 +ABA0 +ENDCHAR +STARTCHAR U_7E77 +ENCODING 32375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +4AA0 +FFE0 +2AA0 +4FE0 +F800 +0FE0 +5AA0 +AA40 +AB20 +ENDCHAR +STARTCHAR U_7E78 +ENCODING 32376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2BE0 +5480 +E5A0 +22A0 +4DC0 +F6A0 +05A0 +5680 +AD80 +ABE0 +ENDCHAR +STARTCHAR U_7E79 +ENCODING 32377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +8FE0 +F100 +27C0 +4100 +FFE0 +0280 +5FE0 +A900 +A900 +ENDCHAR +STARTCHAR U_7E7A +ENCODING 32378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +4E80 +94E0 +EFA0 +42A0 +AF40 +F2C0 +0F20 +5000 +AAA0 +AAA0 +ENDCHAR +STARTCHAR U_7E7B +ENCODING 32379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4100 +8FE0 +FBA0 +2540 +5FE0 +F100 +0FE0 +5AA0 +AAA0 +A860 +ENDCHAR +STARTCHAR U_7E7C +ENCODING 32380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +4DA0 +8A40 +FDA0 +2800 +4FE0 +FA40 +0DA0 +5A40 +ADA0 +AFE0 +ENDCHAR +STARTCHAR U_7E7D +ENCODING 32381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +8820 +F780 +2540 +5BC0 +FC40 +07C0 +5440 +AFC0 +AC60 +ENDCHAR +STARTCHAR U_7E7E +ENCODING 32382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +4BE0 +92A0 +E7E0 +3D40 +5540 +F5E0 +0520 +55E0 +AA00 +A9E0 +ENDCHAR +STARTCHAR U_7E7F +ENCODING 32383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2740 +2540 +4760 +9540 +E7A0 +4720 +F000 +0FE0 +AAA0 +AAA0 +1FE0 +ENDCHAR +STARTCHAR U_7E80 +ENCODING 32384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4560 +4B40 +9FE0 +E940 +2BE0 +4880 +FBC0 +0880 +5FE0 +A940 +AE20 +ENDCHAR +STARTCHAR U_7E81 +ENCODING 32385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4100 +9FE0 +EAA0 +2FE0 +5100 +F7C0 +0100 +5FE0 +A540 +AAA0 +ENDCHAR +STARTCHAR U_7E82 +ENCODING 32386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9480 +3F80 +2480 +FFE0 +4A40 +9520 +7FC0 +2480 +4C40 +ENDCHAR +STARTCHAR U_7E83 +ENCODING 32387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5280 +FD60 +2540 +4960 +F440 +07C0 +A440 +A7C0 +0840 +ENDCHAR +STARTCHAR U_7E84 +ENCODING 32388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +5FE0 +A480 +E7C0 +5280 +A900 +FEE0 +0900 +AFE0 +A900 +97E0 +ENDCHAR +STARTCHAR U_7E85 +ENCODING 32389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +4BA0 +AAE0 +E7C0 +4AA0 +AFE0 +E100 +0FE0 +A540 +A520 +8920 +ENDCHAR +STARTCHAR U_7E86 +ENCODING 32390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +9FE0 +E100 +27C0 +5100 +FFE0 +0AA0 +5FE0 +A100 +AFE0 +ENDCHAR +STARTCHAR U_7E87 +ENCODING 32391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +95E0 +5880 +FFE0 +5520 +93E0 +7920 +25E0 +FF20 +11E0 +5540 +B620 +ENDCHAR +STARTCHAR U_7E88 +ENCODING 32392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +4480 +9FE0 +E520 +2FE0 +5120 +FFE0 +2B20 +5BE0 +AE40 +A0A0 +ENDCHAR +STARTCHAR U_7E89 +ENCODING 32393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +4FE0 +E440 +3FE0 +4AA0 +A7C0 +F440 +07C0 +A440 +A7C0 +0C60 +ENDCHAR +STARTCHAR U_7E8A +ENCODING 32394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +9A40 +EFE0 +2A40 +5FE0 +F940 +0FC0 +5940 +A7C0 +AC60 +ENDCHAR +STARTCHAR U_7E8B +ENCODING 32395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4440 +97C0 +E440 +4FE0 +9B20 +F640 +0BA0 +5640 +A980 +AE60 +ENDCHAR +STARTCHAR U_7E8C +ENCODING 32396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +9100 +EFE0 +2AA0 +5FE0 +F440 +07C0 +5440 +AFC0 +AC60 +ENDCHAR +STARTCHAR U_7E8D +ENCODING 32397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +FFE0 +AAA0 +FBE0 +AAA0 +FBE0 +1480 +7FC0 +2480 +CC60 +ENDCHAR +STARTCHAR U_7E8E +ENCODING 32398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24C0 +5EA0 +8480 +FFE0 +4540 +ADC0 +E560 +0DE0 +A540 +AEA0 +0120 +ENDCHAR +STARTCHAR U_7E8F +ENCODING 32399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +9940 +EFC0 +4940 +8FE0 +FA40 +2D20 +57E0 +A900 +AFE0 +ENDCHAR +STARTCHAR U_7E90 +ENCODING 32400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +5E80 +8DE0 +F320 +55E0 +9520 +E9E0 +0920 +B5E0 +A2A0 +0120 +ENDCHAR +STARTCHAR U_7E91 +ENCODING 32401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +4100 +9FE0 +E920 +2FC0 +5920 +EBE0 +0AA0 +5FE0 +A540 +AFE0 +ENDCHAR +STARTCHAR U_7E92 +ENCODING 32402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +4800 +8BE0 +EAA0 +2BE0 +4AA0 +EBE0 +0940 +ABE0 +A880 +13E0 +ENDCHAR +STARTCHAR U_7E93 +ENCODING 32403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +9EE0 +EAA0 +4EE0 +AA40 +F1A0 +07E0 +AA40 +A980 +0660 +ENDCHAR +STARTCHAR U_7E94 +ENCODING 32404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +4880 +5FC0 +E840 +2FC0 +5920 +F7E0 +0940 +BFC0 +A520 +09E0 +ENDCHAR +STARTCHAR U_7E95 +ENCODING 32405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +9AA0 +EEE0 +2480 +5FE0 +E480 +0FE0 +5CA0 +A640 +A420 +ENDCHAR +STARTCHAR U_7E96 +ENCODING 32406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AC0 +45A0 +9FE0 +EA80 +5BA0 +8AA0 +FBC0 +2A80 +4AA0 +BF60 +A020 +ENDCHAR +STARTCHAR U_7E97 +ENCODING 32407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +4FE0 +9900 +EFE0 +2900 +5FE0 +E900 +0FE0 +5AA0 +AEE0 +ABA0 +ENDCHAR +STARTCHAR U_7E98 +ENCODING 32408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +4FE0 +9A40 +EFE0 +4960 +97C0 +F440 +07C0 +5440 +AFC0 +AC60 +ENDCHAR +STARTCHAR U_7E99 +ENCODING 32409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +AFE0 +E540 +4BE0 +A540 +FBE0 +0F40 +A1E0 +AB40 +81E0 +ENDCHAR +STARTCHAR U_7E9A +ENCODING 32410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4000 +8FE0 +FAA0 +2FE0 +5AA0 +FFE0 +0480 +57C0 +AC80 +A6E0 +ENDCHAR +STARTCHAR U_7E9B +ENCODING 32411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +2480 +FFE0 +2480 +FFC0 +6940 +5BE0 +FDC0 +AAA0 +ENDCHAR +STARTCHAR U_7E9C +ENCODING 32412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F80 +2AE0 +5F40 +EAE0 +2FE0 +5440 +F7C0 +0440 +57C0 +AAA0 +ACE0 +ENDCHAR +STARTCHAR U_7E9D +ENCODING 32413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +4540 +87C0 +ED60 +4AA0 +8FE0 +E100 +07C0 +A280 +AFE0 +0540 +ENDCHAR +STARTCHAR U_7E9E +ENCODING 32414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +4BC0 +9C60 +EBA0 +5C20 +93E0 +F6A0 +03A0 +AA00 +AAA0 +11C0 +ENDCHAR +STARTCHAR U_7E9F +ENCODING 32415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 4 10 0 0 +BITMAP +20 +20 +40 +F0 +20 +40 +F0 +00 +30 +C0 +ENDCHAR +STARTCHAR U_7EA0 +ENCODING 32416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2040 +2240 +4A40 +5240 +E240 +2240 +42C0 +F340 +0A40 +3040 +C040 +ENDCHAR +STARTCHAR U_7EA1 +ENCODING 32417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +4080 +F080 +2FE0 +4080 +F080 +0080 +3080 +C080 +0380 +ENDCHAR +STARTCHAR U_7EA2 +ENCODING 32418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +4100 +5100 +E100 +2100 +4100 +F100 +0100 +3100 +CFE0 +ENDCHAR +STARTCHAR U_7EA3 +ENCODING 32419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2040 +4840 +F7E0 +2040 +4440 +F240 +0240 +3040 +C040 +00C0 +ENDCHAR +STARTCHAR U_7EA4 +ENCODING 32420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +4900 +5100 +E100 +2FE0 +4100 +F100 +0900 +3100 +C100 +ENDCHAR +STARTCHAR U_7EA5 +ENCODING 32421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +4BE0 +5400 +E3C0 +2040 +4080 +F100 +0A20 +3220 +C1E0 +ENDCHAR +STARTCHAR U_7EA6 +ENCODING 32422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +4BE0 +5420 +E020 +2220 +4120 +F120 +0820 +3120 +C0C0 +ENDCHAR +STARTCHAR U_7EA7 +ENCODING 32423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2240 +4A40 +5280 +E2E0 +2220 +4220 +F540 +0C80 +3540 +CA20 +ENDCHAR +STARTCHAR U_7EA8 +ENCODING 32424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +47C0 +5140 +E540 +2340 +4140 +F2C0 +0A40 +3460 +C820 +ENDCHAR +STARTCHAR U_7EA9 +ENCODING 32425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +4FE0 +5400 +E400 +2400 +4400 +F400 +0400 +3400 +C800 +ENDCHAR +STARTCHAR U_7EAA +ENCODING 32426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +4040 +F040 +2040 +47C0 +F400 +0400 +3420 +C420 +03E0 +ENDCHAR +STARTCHAR U_7EAB +ENCODING 32427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +20A0 +48A0 +52A0 +E2A0 +24A0 +40A0 +F0A0 +0920 +32A0 +C440 +ENDCHAR +STARTCHAR U_7EAC +ENCODING 32428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +4900 +57C0 +E100 +2FE0 +4120 +F120 +0960 +3100 +C100 +ENDCHAR +STARTCHAR U_7EAD +ENCODING 32429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2000 +4800 +5000 +EFE0 +2100 +4100 +F200 +0C40 +37A0 +C420 +ENDCHAR +STARTCHAR U_7EAE +ENCODING 32430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4100 +57E0 +E200 +2280 +4480 +F500 +0940 +2A20 +D3E0 +ENDCHAR +STARTCHAR U_7EAF +ENCODING 32431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4900 +5100 +E540 +2540 +47C0 +F100 +0920 +3120 +C0E0 +ENDCHAR +STARTCHAR U_7EB0 +ENCODING 32432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +4C80 +54A0 +E7C0 +2480 +4480 +F480 +0DA0 +36A0 +C460 +ENDCHAR +STARTCHAR U_7EB1 +ENCODING 32433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4540 +5520 +E520 +2900 +4120 +F040 +0080 +3300 +CC00 +ENDCHAR +STARTCHAR U_7EB2 +ENCODING 32434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +4E60 +5560 +E4A0 +24A0 +4560 +F620 +0C20 +3420 +C460 +ENDCHAR +STARTCHAR U_7EB3 +ENCODING 32435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4FE0 +5520 +E520 +25A0 +4560 +F620 +0C20 +3420 +C4E0 +ENDCHAR +STARTCHAR U_7EB4 +ENCODING 32436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +20C0 +4700 +5100 +E100 +2FE0 +4100 +F100 +0100 +3100 +C7C0 +ENDCHAR +STARTCHAR U_7EB5 +ENCODING 32437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +4480 +5480 +E480 +2680 +4580 +F880 +0940 +3220 +C420 +ENDCHAR +STARTCHAR U_7EB6 +ENCODING 32438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +4C40 +5020 +E200 +2240 +4280 +F300 +0A20 +3220 +C1E0 +ENDCHAR +STARTCHAR U_7EB7 +ENCODING 32439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +4240 +5440 +E820 +27C0 +4240 +E240 +0A40 +3440 +C8C0 +ENDCHAR +STARTCHAR U_7EB8 +ENCODING 32440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +4C80 +5480 +E7E0 +2480 +4480 +F4A0 +0DA0 +3660 +C420 +ENDCHAR +STARTCHAR U_7EB9 +ENCODING 32441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +4FE0 +5440 +E440 +2280 +4280 +F100 +0A80 +3440 +C820 +ENDCHAR +STARTCHAR U_7EBA +ENCODING 32442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +4FE0 +5200 +E3C0 +2240 +4240 +F240 +0A40 +3540 +C880 +ENDCHAR +STARTCHAR U_7EBB +ENCODING 32443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +47E0 +5420 +E840 +2000 +4000 +F000 +0000 +3000 +C7E0 +ENDCHAR +STARTCHAR U_7EBC +ENCODING 32444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27A0 +20A0 +40A0 +57A0 +E420 +2420 +47A0 +F0A0 +00A0 +3520 +C220 +ENDCHAR +STARTCHAR U_7EBD +ENCODING 32445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +4A40 +5240 +E240 +27C0 +4240 +F240 +0A40 +3240 +CFE0 +ENDCHAR +STARTCHAR U_7EBE +ENCODING 32446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2240 +4980 +5080 +EFE0 +20A0 +40C0 +F080 +0880 +3080 +C380 +ENDCHAR +STARTCHAR U_7EBF +ENCODING 32447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +43C0 +4E00 +E3E0 +2E00 +4240 +F280 +0920 +32A0 +CC60 +ENDCHAR +STARTCHAR U_7EC0 +ENCODING 32448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +4FE0 +5240 +E240 +23C0 +4240 +F240 +0A40 +33C0 +C240 +ENDCHAR +STARTCHAR U_7EC1 +ENCODING 32449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2540 +4540 +5FE0 +E540 +2540 +45C0 +F540 +0C00 +3400 +C7E0 +ENDCHAR +STARTCHAR U_7EC2 +ENCODING 32450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +4FE0 +5200 +E3E0 +2240 +4240 +F540 +0880 +3140 +C620 +ENDCHAR +STARTCHAR U_7EC3 +ENCODING 32451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +4A00 +5780 +E480 +27E0 +4080 +F2C0 +0CA0 +34A0 +C180 +ENDCHAR +STARTCHAR U_7EC4 +ENCODING 32452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +4440 +5440 +E7C0 +2440 +4440 +F7C0 +0440 +3440 +CFE0 +ENDCHAR +STARTCHAR U_7EC5 +ENCODING 32453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +47E0 +5520 +E7E0 +2520 +4520 +F7E0 +0900 +3100 +C100 +ENDCHAR +STARTCHAR U_7EC6 +ENCODING 32454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +44A0 +54A0 +E4A0 +27E0 +44A0 +F4A0 +04A0 +37E0 +C420 +ENDCHAR +STARTCHAR U_7EC7 +ENCODING 32455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +4C40 +5440 +E440 +27C0 +4000 +F280 +0240 +3420 +C820 +ENDCHAR +STARTCHAR U_7EC8 +ENCODING 32456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +5440 +EA80 +2100 +4280 +EC60 +0100 +30C0 +C300 +00C0 +ENDCHAR +STARTCHAR U_7EC9 +ENCODING 32457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +4480 +5100 +E7E0 +2020 +43E0 +F020 +0020 +37E0 +C020 +ENDCHAR +STARTCHAR U_7ECA +ENCODING 32458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2920 +4540 +5100 +E7C0 +2100 +5100 +EFE0 +0100 +3100 +C100 +ENDCHAR +STARTCHAR U_7ECB +ENCODING 32459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +4FE0 +52A0 +EFE0 +2A80 +4FE0 +F2A0 +0AE0 +3480 +C880 +ENDCHAR +STARTCHAR U_7ECC +ENCODING 32460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +4540 +5540 +E7C0 +2540 +4100 +F520 +0D20 +37E0 +C420 +ENDCHAR +STARTCHAR U_7ECD +ENCODING 32461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +4920 +5220 +E2A0 +2440 +4BE0 +F220 +0A20 +33E0 +C220 +ENDCHAR +STARTCHAR U_7ECE +ENCODING 32462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2280 +4100 +5280 +EC60 +2100 +47C0 +F100 +0FE0 +3100 +C100 +ENDCHAR +STARTCHAR U_7ECF +ENCODING 32463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2080 +4900 +5280 +E440 +2820 +47C0 +F100 +0100 +3100 +CFE0 +ENDCHAR +STARTCHAR U_7ED0 +ENCODING 32464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4A00 +5440 +EFA0 +2000 +47C0 +F440 +0C40 +37C0 +C440 +ENDCHAR +STARTCHAR U_7ED1 +ENCODING 32465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +24A0 +4FA0 +54C0 +EEA0 +24A0 +4FA0 +F4E0 +0480 +3880 +C080 +ENDCHAR +STARTCHAR U_7ED2 +ENCODING 32466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2120 +4FE0 +5500 +E520 +2F20 +4540 +F480 +04A0 +3560 +CA20 +ENDCHAR +STARTCHAR U_7ED3 +ENCODING 32467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4FE0 +5100 +E7C0 +2000 +47C0 +F440 +0C40 +37C0 +C440 +ENDCHAR +STARTCHAR U_7ED4 +ENCODING 32468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4FE0 +5280 +E7C0 +2820 +57E0 +F200 +03C0 +3040 +C180 +ENDCHAR +STARTCHAR U_7ED5 +ENCODING 32469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +4FE0 +5240 +E380 +2EA0 +5060 +E7C0 +0280 +32A0 +CCE0 +ENDCHAR +STARTCHAR U_7ED6 +ENCODING 32470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +4200 +5440 +EFE0 +2120 +4100 +F7C0 +0100 +3100 +CFE0 +ENDCHAR +STARTCHAR U_7ED7 +ENCODING 32471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +2400 +4800 +5200 +E5E0 +2C40 +4440 +F440 +0440 +3440 +C4C0 +ENDCHAR +STARTCHAR U_7ED8 +ENCODING 32472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4280 +5440 +EBA0 +2000 +57E0 +E100 +1240 +2440 +C7A0 +ENDCHAR +STARTCHAR U_7ED9 +ENCODING 32473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +4280 +5440 +E820 +27C0 +4000 +F7C0 +0C40 +3440 +C7C0 +ENDCHAR +STARTCHAR U_7EDA +ENCODING 32474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +47E0 +5020 +E7A0 +24A0 +47A0 +F4A0 +0FA0 +3020 +C0C0 +ENDCHAR +STARTCHAR U_7EDB +ENCODING 32475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27E0 +4C40 +F380 +2D60 +4100 +EFE0 +0900 +3FE0 +C100 +0100 +ENDCHAR +STARTCHAR U_7EDC +ENCODING 32476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +4440 +5680 +E900 +2280 +4C60 +F7C0 +0440 +3440 +C7C0 +ENDCHAR +STARTCHAR U_7EDD +ENCODING 32477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +4480 +57E0 +ECA0 +24A0 +47E0 +F400 +0420 +3420 +C3E0 +ENDCHAR +STARTCHAR U_7EDE +ENCODING 32478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +4FE0 +5440 +E820 +2480 +4280 +F100 +0A80 +3440 +C820 +ENDCHAR +STARTCHAR U_7EDF +ENCODING 32479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4200 +5440 +EFE0 +22A0 +4280 +F280 +02A0 +34A0 +C8E0 +ENDCHAR +STARTCHAR U_7EE0 +ENCODING 32480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +4FE0 +54A0 +E7E0 +24A0 +47E0 +F280 +0900 +3280 +CC60 +ENDCHAR +STARTCHAR U_7EE1 +ENCODING 32481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24A0 +22C0 +4880 +57E0 +E420 +27E0 +4420 +F7E0 +0C20 +3420 +C4E0 +ENDCHAR +STARTCHAR U_7EE2 +ENCODING 32482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +4FC0 +5000 +E7E0 +2420 +47E0 +F420 +0FE0 +3420 +C460 +ENDCHAR +STARTCHAR U_7EE3 +ENCODING 32483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +4900 +57E0 +E540 +2920 +4780 +F280 +0AE0 +3420 +C8C0 +ENDCHAR +STARTCHAR U_7EE4 +ENCODING 32484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2420 +4920 +5100 +E280 +2440 +4820 +F7C0 +0440 +3440 +C7C0 +ENDCHAR +STARTCHAR U_7EE5 +ENCODING 32485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2F20 +4A20 +5540 +E100 +2200 +4FE0 +F240 +0480 +3380 +CC60 +ENDCHAR +STARTCHAR U_7EE6 +ENCODING 32486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +4E40 +5180 +E660 +2100 +47E0 +F100 +0D40 +3120 +C320 +ENDCHAR +STARTCHAR U_7EE7 +ENCODING 32487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +26A0 +45C0 +5480 +E7E0 +2480 +45C0 +F6A0 +0480 +3480 +C7E0 +ENDCHAR +STARTCHAR U_7EE8 +ENCODING 32488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +4FE0 +5120 +E7E0 +2500 +47E0 +F120 +0BE0 +3540 +C900 +ENDCHAR +STARTCHAR U_7EE9 +ENCODING 32489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4900 +57C0 +E100 +2FE0 +4440 +F540 +0D40 +3280 +CC60 +ENDCHAR +STARTCHAR U_7EEA +ENCODING 32490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27A0 +4940 +57E0 +E100 +23E0 +4620 +F3E0 +0A20 +33E0 +C220 +ENDCHAR +STARTCHAR U_7EEB +ENCODING 32491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +4900 +57E0 +E240 +2520 +43C0 +F640 +0980 +3240 +C420 +ENDCHAR +STARTCHAR U_7EEC +ENCODING 32492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +4240 +5100 +E7C0 +2540 +4540 +F7E0 +0100 +3280 +CC60 +ENDCHAR +STARTCHAR U_7EED +ENCODING 32493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +4100 +57E0 +E4A0 +2A80 +4480 +EFE0 +0100 +32C0 +CC20 +ENDCHAR +STARTCHAR U_7EEE +ENCODING 32494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +4A80 +5440 +EFE0 +2040 +4740 +F540 +0F40 +3040 +C1C0 +ENDCHAR +STARTCHAR U_7EEF +ENCODING 32495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +4EE0 +5280 +E280 +2EE0 +4280 +F280 +0EE0 +3280 +C280 +ENDCHAR +STARTCHAR U_7EF0 +ENCODING 32496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +4900 +57C0 +E440 +27C0 +4440 +F7C0 +0100 +3FE0 +C100 +ENDCHAR +STARTCHAR U_7EF1 +ENCODING 32497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +4900 +5FE0 +E820 +2BA0 +4AA0 +FAA0 +0BA0 +3820 +C860 +ENDCHAR +STARTCHAR U_7EF2 +ENCODING 32498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +4FC0 +5440 +E7C0 +2080 +44A0 +F7C0 +0C80 +35A0 +C6E0 +ENDCHAR +STARTCHAR U_7EF3 +ENCODING 32499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +4FC0 +5100 +EFC0 +2940 +4FC0 +F940 +0FC0 +3120 +C0E0 +ENDCHAR +STARTCHAR U_7EF4 +ENCODING 32500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +2480 +4FE0 +5480 +E7C0 +2480 +4480 +F7C0 +0C80 +3480 +C7E0 +ENDCHAR +STARTCHAR U_7EF5 +ENCODING 32501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +4C40 +57C0 +E440 +27C0 +4100 +F7E0 +0D20 +3560 +C100 +ENDCHAR +STARTCHAR U_7EF6 +ENCODING 32502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2720 +4A20 +5540 +EFE0 +2820 +47C0 +F240 +0980 +3240 +CC20 +ENDCHAR +STARTCHAR U_7EF7 +ENCODING 32503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +4AA0 +5EE0 +EAA0 +2AA0 +4EE0 +FAA0 +0AA0 +2AA0 +D760 +ENDCHAR +STARTCHAR U_7EF8 +ENCODING 32504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +4BA0 +5920 +EFE0 +2820 +4BA0 +FAA0 +0BA0 +2820 +D0E0 +ENDCHAR +STARTCHAR U_7EF9 +ENCODING 32505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2FE0 +4420 +57A0 +EA20 +2FA0 +4220 +FAA0 +0FA0 +3020 +C0C0 +ENDCHAR +STARTCHAR U_7EFA +ENCODING 32506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2740 +4D60 +5540 +E240 +25E0 +4800 +F7E0 +0C20 +3420 +C7E0 +ENDCHAR +STARTCHAR U_7EFB +ENCODING 32507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +4FC0 +5200 +E7E0 +2440 +4FA0 +F480 +0DA0 +3420 +C3E0 +ENDCHAR +STARTCHAR U_7EFC +ENCODING 32508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4820 +57C0 +E000 +27E0 +4100 +F540 +0540 +3920 +C320 +ENDCHAR +STARTCHAR U_7EFD +ENCODING 32509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +4C20 +5000 +E7E0 +2080 +4280 +F2E0 +0A80 +3580 +C8E0 +ENDCHAR +STARTCHAR U_7EFE +ENCODING 32510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +4C20 +53C0 +E240 +23C0 +4200 +F3E0 +0A20 +33E0 +C220 +ENDCHAR +STARTCHAR U_7EFF +ENCODING 32511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +43C0 +F040 +2FE0 +4120 +F540 +0380 +3540 +C920 +0300 +ENDCHAR +STARTCHAR U_7F00 +ENCODING 32512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2220 +4CC0 +5440 +EAA0 +2000 +4EE0 +EAA0 +0440 +36C0 +C920 +ENDCHAR +STARTCHAR U_7F01 +ENCODING 32513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +22A0 +4D40 +52A0 +E2A0 +2000 +47E0 +F520 +0FE0 +3520 +C7E0 +ENDCHAR +STARTCHAR U_7F02 +ENCODING 32514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +4240 +53C0 +E100 +27E0 +4520 +F7E0 +0100 +3FE0 +C100 +ENDCHAR +STARTCHAR U_7F03 +ENCODING 32515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2520 +4F20 +55E0 +E520 +2F20 +55E0 +E520 +0520 +35E0 +C520 +ENDCHAR +STARTCHAR U_7F04 +ENCODING 32516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +4FE0 +5880 +EF80 +28A0 +4EA0 +FAA0 +0E40 +28A0 +D320 +ENDCHAR +STARTCHAR U_7F05 +ENCODING 32517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +4200 +5FE0 +EAA0 +2BA0 +4AA0 +FBA0 +0AA0 +3FE0 +C820 +ENDCHAR +STARTCHAR U_7F06 +ENCODING 32518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2AE0 +4B40 +5A20 +E7C0 +2440 +4540 +F540 +0900 +3320 +CDE0 +ENDCHAR +STARTCHAR U_7F07 +ENCODING 32519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +47C0 +5440 +E7C0 +2000 +4FE0 +F280 +02E0 +3580 +C8E0 +ENDCHAR +STARTCHAR U_7F08 +ENCODING 32520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +2A80 +4AC0 +5FA0 +EA80 +2EA0 +4AA0 +FA40 +0E80 +3100 +C600 +ENDCHAR +STARTCHAR U_7F09 +ENCODING 32521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +4FC0 +5000 +EFE0 +2440 +47C0 +F440 +0460 +3FC0 +C040 +ENDCHAR +STARTCHAR U_7F0A +ENCODING 32522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +47C0 +5440 +E7C0 +2000 +4FE0 +FAA0 +0AA0 +3AA0 +CFE0 +ENDCHAR +STARTCHAR U_7F0B +ENCODING 32523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +4D40 +5FE0 +E000 +27C0 +4540 +F540 +0D40 +3280 +CC60 +ENDCHAR +STARTCHAR U_7F0C +ENCODING 32524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +4FE0 +5520 +E520 +27E0 +4140 +F2A0 +0E20 +3A40 +C1C0 +ENDCHAR +STARTCHAR U_7F0D +ENCODING 32525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +4900 +5FE0 +E540 +27E0 +4540 +FFE0 +0900 +3100 +C7C0 +ENDCHAR +STARTCHAR U_7F0E +ENCODING 32526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +24A0 +4CA0 +5700 +E4E0 +27A0 +44A0 +F7A0 +0C40 +34A0 +C520 +ENDCHAR +STARTCHAR U_7F0F +ENCODING 32527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +4BE0 +5AA0 +EBE0 +2AA0 +4BE0 +FA80 +0980 +3A40 +CC20 +ENDCHAR +STARTCHAR U_7F10 +ENCODING 32528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +4440 +57C0 +E440 +27C0 +4120 +EDC0 +0540 +3920 +C300 +ENDCHAR +STARTCHAR U_7F11 +ENCODING 32529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25C0 +2440 +4BE0 +5800 +EA00 +2BE0 +4880 +FBE0 +0880 +3940 +CA20 +ENDCHAR +STARTCHAR U_7F12 +ENCODING 32530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +25E0 +4520 +51E0 +ED00 +25E0 +4520 +F520 +05E0 +3600 +C9E0 +ENDCHAR +STARTCHAR U_7F13 +ENCODING 32531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A20 +4540 +5FE0 +E200 +2FE0 +4200 +F3C0 +0640 +3980 +C660 +ENDCHAR +STARTCHAR U_7F14 +ENCODING 32532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4A80 +5FE0 +E920 +27C0 +4540 +F540 +0D40 +35C0 +C100 +ENDCHAR +STARTCHAR U_7F15 +ENCODING 32533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +4FE0 +5380 +E540 +2920 +4FE0 +F240 +0C40 +3380 +CE60 +ENDCHAR +STARTCHAR U_7F16 +ENCODING 32534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4820 +5FE0 +E800 +2FE0 +4AA0 +FFE0 +0AA0 +3AA0 +C860 +ENDCHAR +STARTCHAR U_7F17 +ENCODING 32535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +4FC0 +5500 +E7E0 +2440 +47E0 +F440 +0FC0 +3440 +C7C0 +ENDCHAR +STARTCHAR U_7F18 +ENCODING 32536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +4F80 +5080 +EFE0 +2520 +4B40 +F580 +0AC0 +34A0 +C300 +ENDCHAR +STARTCHAR U_7F19 +ENCODING 32537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +4EC0 +5280 +EFE0 +2000 +47C0 +F440 +0FC0 +3440 +C7C0 +ENDCHAR +STARTCHAR U_7F1A +ENCODING 32538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2FE0 +4D20 +57E0 +E520 +27E0 +4520 +FFE0 +0440 +3240 +C1C0 +ENDCHAR +STARTCHAR U_7F1B +ENCODING 32539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2800 +4BC0 +5800 +EFE0 +2AA0 +4B40 +FFE0 +0A40 +2940 +D0C0 +ENDCHAR +STARTCHAR U_7F1C +ENCODING 32540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4100 +57C0 +E440 +27C0 +4440 +F7C0 +0440 +3FE0 +C440 +ENDCHAR +STARTCHAR U_7F1D +ENCODING 32541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2A40 +4D80 +5240 +EFE0 +2480 +47E0 +F480 +07E0 +3C80 +C3E0 +ENDCHAR +STARTCHAR U_7F1E +ENCODING 32542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +4000 +57C0 +E440 +2FE0 +4440 +F7C0 +0540 +3C80 +C760 +ENDCHAR +STARTCHAR U_7F1F +ENCODING 32543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4A40 +53C0 +E000 +2FE0 +4820 +FBA0 +0AA0 +3BA0 +C860 +ENDCHAR +STARTCHAR U_7F20 +ENCODING 32544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4800 +5BE0 +EAA0 +2AA0 +4BE0 +F880 +0FE0 +2880 +D7E0 +ENDCHAR +STARTCHAR U_7F21 +ENCODING 32545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4D40 +56C0 +E540 +27C0 +4100 +FFE0 +0AA0 +3FE0 +C860 +ENDCHAR +STARTCHAR U_7F22 +ENCODING 32546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +4FE0 +5280 +E440 +2820 +47C0 +F540 +0540 +3540 +CFE0 +ENDCHAR +STARTCHAR U_7F23 +ENCODING 32547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +4FE0 +52A0 +EFE0 +22A0 +4FE0 +F280 +0EC0 +3AA0 +C2A0 +ENDCHAR +STARTCHAR U_7F24 +ENCODING 32548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4820 +5780 +E400 +27E0 +4480 +F480 +0FE0 +3480 +C860 +ENDCHAR +STARTCHAR U_7F25 +ENCODING 32549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +4FE0 +5AA0 +EFE0 +2000 +47C0 +F000 +0FE0 +3540 +CB20 +ENDCHAR +STARTCHAR U_7F26 +ENCODING 32550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +4FC0 +5440 +EFE0 +2AA0 +4FE0 +F440 +0A80 +3100 +CEE0 +ENDCHAR +STARTCHAR U_7F27 +ENCODING 32551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +4FE0 +5520 +E7E0 +2240 +4F80 +F220 +0FE0 +3540 +CB20 +ENDCHAR +STARTCHAR U_7F28 +ENCODING 32552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +4AA0 +5AA0 +EAA0 +2540 +4A20 +FFE0 +0A80 +3180 +CE60 +ENDCHAR +STARTCHAR U_7F29 +ENCODING 32553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4A20 +55E0 +E480 +2DE0 +4520 +F5E0 +0D20 +35E0 +C520 +ENDCHAR +STARTCHAR U_7F2A +ENCODING 32554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +4660 +5AA0 +E300 +2480 +4A60 +F500 +0240 +3080 +C700 +ENDCHAR +STARTCHAR U_7F2B +ENCODING 32555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2280 +4D40 +57C0 +E540 +27C0 +4540 +FFE0 +0B80 +3540 +C920 +ENDCHAR +STARTCHAR U_7F2C +ENCODING 32556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BE0 +4880 +7FE0 +8A20 +EAA0 +5EA0 +82A0 +FEA0 +16A0 +3D40 +C220 +ENDCHAR +STARTCHAR U_7F2D +ENCODING 32557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +4AA0 +5440 +EFE0 +2440 +47C0 +F440 +0FC0 +3540 +CB20 +ENDCHAR +STARTCHAR U_7F2E +ENCODING 32558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +4100 +F7C0 +2100 +4FE0 +F540 +0FE0 +3440 +C440 +07C0 +ENDCHAR +STARTCHAR U_7F2F +ENCODING 32559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +4FE0 +5AA0 +EFE0 +2000 +47C0 +F440 +0FC0 +3440 +C7C0 +ENDCHAR +STARTCHAR U_7F30 +ENCODING 32560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2540 +4FC0 +5540 +EFE0 +2000 +47C0 +F540 +0FC0 +3540 +CFE0 +ENDCHAR +STARTCHAR U_7F31 +ENCODING 32561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23E0 +4AA0 +57E0 +E120 +2D20 +45E0 +F500 +05E0 +3520 +CBE0 +ENDCHAR +STARTCHAR U_7F32 +ENCODING 32562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +4440 +5FE0 +EAA0 +2EE0 +4100 +FFE0 +0B80 +3540 +C920 +ENDCHAR +STARTCHAR U_7F33 +ENCODING 32563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +4FE0 +5000 +EFE0 +2440 +47C0 +F520 +0CC0 +3540 +C620 +ENDCHAR +STARTCHAR U_7F34 +ENCODING 32564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +5E80 +9280 +FFE0 +52A0 +9FA0 +E8A0 +1EA0 +2A40 +CAA0 +1720 +ENDCHAR +STARTCHAR U_7F35 +ENCODING 32565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2FE0 +4240 +5FE0 +E540 +2FE0 +4440 +F540 +0D40 +3280 +CC60 +ENDCHAR +STARTCHAR U_7F36 +ENCODING 32566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1FC0 +2400 +4400 +0400 +FFE0 +0400 +4440 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_7F37 +ENCODING 32567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7DE0 +5120 +9120 +7D20 +1120 +5520 +55A0 +5540 +7D00 +0100 +ENDCHAR +STARTCHAR U_7F38 +ENCODING 32568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +43E0 +7880 +A080 +2080 +FC80 +2080 +A880 +A880 +A880 +FBE0 +ENDCHAR +STARTCHAR U_7F39 +ENCODING 32569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FC0 +4400 +FFE0 +0400 +4440 +7FC0 +0000 +5240 +4920 +8920 +ENDCHAR +STARTCHAR U_7F3A +ENCODING 32570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7BC0 +A140 +2140 +FFE0 +2100 +A900 +AA80 +FA40 +0420 +ENDCHAR +STARTCHAR U_7F3B +ENCODING 32571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FE0 +A200 +23C0 +2240 +FA40 +2340 +AAC0 +AA40 +FA40 +8B60 +ENDCHAR +STARTCHAR U_7F3C +ENCODING 32572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7A00 +A3E0 +2520 +F940 +2100 +A900 +AA80 +FA80 +0440 +0820 +ENDCHAR +STARTCHAR U_7F3D +ENCODING 32573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4080 +7FE0 +A080 +2180 +FAC0 +24A0 +A880 +ABE0 +F880 +8880 +ENDCHAR +STARTCHAR U_7F3E +ENCODING 32574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4280 +7FE0 +A140 +2140 +FFE0 +2140 +A940 +A940 +FA40 +8C40 +ENDCHAR +STARTCHAR U_7F3F +ENCODING 32575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +4380 +7A00 +A3E0 +2200 +FA00 +22E0 +AAA0 +AAA0 +FAE0 +8CA0 +ENDCHAR +STARTCHAR U_7F40 +ENCODING 32576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7A80 +AAA0 +26C0 +FA80 +22C0 +AEA0 +AA80 +BAA0 +E4A0 +0860 +ENDCHAR +STARTCHAR U_7F41 +ENCODING 32577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4A60 +79A0 +AFE0 +F920 +2D60 +AD60 +AFE0 +F820 +08A0 +0840 +ENDCHAR +STARTCHAR U_7F42 +ENCODING 32578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +AAA0 +AA80 +5140 +9FA0 +2200 +FFE0 +2240 +2240 +3FC0 +ENDCHAR +STARTCHAR U_7F43 +ENCODING 32579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +B2C0 +5140 +8A20 +FFE0 +A020 +3F80 +4400 +FFE0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7F44 +ENCODING 32580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DC0 +1140 +7E20 +57C0 +7C80 +5360 +9FC0 +2400 +FFE0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7F45 +ENCODING 32581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +4100 +7FE0 +A520 +27C0 +FD20 +27E0 +AD40 +AFE0 +FC80 +8980 +ENDCHAR +STARTCHAR U_7F46 +ENCODING 32582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +7540 +AFE0 +2540 +FFC0 +2440 +A7C0 +A440 +FFC0 +8440 +0820 +ENDCHAR +STARTCHAR U_7F47 +ENCODING 32583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +77E0 +A140 +27E0 +FDA0 +2660 +AFE0 +A880 +AFE0 +FA80 +0180 +ENDCHAR +STARTCHAR U_7F48 +ENCODING 32584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4280 +7FE0 +AAA0 +2FE0 +F440 +27C0 +AC40 +AFE0 +F900 +8900 +ENDCHAR +STARTCHAR U_7F49 +ENCODING 32585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4520 +7340 +AFE0 +2820 +FB80 +2280 +AFC0 +A900 +AFE0 +F900 +0300 +ENDCHAR +STARTCHAR U_7F4A +ENCODING 32586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +A940 +FA60 +AFC0 +F880 +A960 +FFC0 +4400 +FFE0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7F4B +ENCODING 32587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2480 +47E0 +7480 +2FE0 +7480 +1FE0 +2400 +7FE0 +2440 +3FC0 +ENDCHAR +STARTCHAR U_7F4C +ENCODING 32588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +7BC0 +5540 +9FA0 +2400 +FFE0 +2440 +3FC0 +ENDCHAR +STARTCHAR U_7F4D +ENCODING 32589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +FFE0 +AAA0 +FBE0 +AAA0 +FFE0 +2400 +FFE0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7F4E +ENCODING 32590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +7640 +A540 +2FE0 +F920 +2540 +AFC0 +A800 +AFE0 +FA40 +07C0 +ENDCHAR +STARTCHAR U_7F4F +ENCODING 32591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +4100 +7FE0 +A520 +27E0 +FD40 +27C0 +AD40 +AFE0 +FAA0 +8FE0 +ENDCHAR +STARTCHAR U_7F50 +ENCODING 32592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +47E0 +7A80 +AEE0 +2AA0 +FEE0 +27E0 +AC80 +AFE0 +FC80 +87E0 +ENDCHAR +STARTCHAR U_7F51 +ENCODING 32593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +9140 +D540 +A240 +9240 +AD40 +C540 +8840 +8040 +81C0 +ENDCHAR +STARTCHAR U_7F52 +ENCODING 32594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 4 0 6 +BITMAP +FFE0 +9120 +9120 +FFE0 +ENDCHAR +STARTCHAR U_7F53 +ENCODING 32595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 4 1 6 +BITMAP +FF80 +9280 +8C80 +B280 +ENDCHAR +STARTCHAR U_7F54 +ENCODING 32596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +A240 +9440 +BF40 +8840 +BF40 +9040 +9040 +9F40 +8040 +81C0 +ENDCHAR +STARTCHAR U_7F55 +ENCODING 32597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +3080 +4040 +3F80 +0400 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_7F56 +ENCODING 32598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5240 +5240 +7FC0 +0400 +0600 +0900 +3080 +C860 +0400 +0400 +ENDCHAR +STARTCHAR U_7F57 +ENCODING 32599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9240 +9240 +FFC0 +1000 +1F80 +2100 +5200 +0C00 +1800 +E000 +ENDCHAR +STARTCHAR U_7F58 +ENCODING 32600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +4920 +7FE0 +0000 +7FE0 +0400 +0C80 +3460 +C420 +0400 +ENDCHAR +STARTCHAR U_7F59 +ENCODING 32601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +2080 +C440 +0400 +FFC0 +1500 +2480 +C460 +0400 +0400 +ENDCHAR +STARTCHAR U_7F5A +ENCODING 32602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9240 +9240 +FFC0 +2000 +1240 +E240 +2240 +2A40 +3040 +21C0 +ENDCHAR +STARTCHAR U_7F5B +ENCODING 32603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +9240 +FFC0 +0080 +7F80 +4880 +4880 +4A80 +4F40 +8920 +ENDCHAR +STARTCHAR U_7F5C +ENCODING 32604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +4920 +7FE0 +0400 +7FC0 +0400 +3F80 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7F5D +ENCODING 32605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +4020 +1F80 +1080 +1F80 +1080 +1F80 +1080 +FFE0 +ENDCHAR +STARTCHAR U_7F5E +ENCODING 32606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0000 +7FC0 +0880 +0500 +FFE0 +1220 +2240 +C600 +ENDCHAR +STARTCHAR U_7F5F +ENCODING 32607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +4920 +7FE0 +0400 +FFE0 +0400 +3FC0 +2040 +3FC0 +2040 +ENDCHAR +STARTCHAR U_7F60 +ENCODING 32608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9240 +FFC0 +0000 +7F80 +4080 +7F80 +4400 +7FC0 +4240 +71C0 +ENDCHAR +STARTCHAR U_7F61 +ENCODING 32609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +0000 +7FE0 +0200 +0200 +13C0 +1200 +1200 +FFE0 +ENDCHAR +STARTCHAR U_7F62 +ENCODING 32610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +0400 +7FC0 +0400 +FFE0 +0800 +1080 +7FC0 +2040 +ENDCHAR +STARTCHAR U_7F63 +ENCODING 32611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0400 +3F80 +0400 +7FC0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7F64 +ENCODING 32612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4940 +7FC0 +0A00 +7FC0 +0440 +7FC0 +4400 +7FE0 +1420 +E4C0 +ENDCHAR +STARTCHAR U_7F65 +ENCODING 32613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9240 +FFC0 +2100 +7F80 +4080 +7F80 +4080 +7F80 +4080 +4380 +ENDCHAR +STARTCHAR U_7F66 +ENCODING 32614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0100 +7E80 +1500 +7FC0 +0200 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_7F67 +ENCODING 32615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +1080 +1080 +7FE0 +1080 +39C0 +56A0 +94A0 +1080 +ENDCHAR +STARTCHAR U_7F68 +ENCODING 32616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0800 +FFE0 +2480 +7FC0 +A4A0 +3F80 +0420 +03E0 +ENDCHAR +STARTCHAR U_7F69 +ENCODING 32617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +0400 +3FE0 +2080 +3F80 +2080 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7F6A +ENCODING 32618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9240 +FFC0 +1200 +F3C0 +1200 +F3C0 +1200 +F3C0 +1200 +1200 +ENDCHAR +STARTCHAR U_7F6B +ENCODING 32619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +FFC0 +1080 +7C80 +1080 +FEC0 +10A0 +7CA0 +1080 +FE80 +ENDCHAR +STARTCHAR U_7F6C +ENCODING 32620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +0000 +7BC0 +5280 +2940 +7BC0 +4A40 +3180 +CA60 +ENDCHAR +STARTCHAR U_7F6D +ENCODING 32621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0280 +FFE0 +0200 +7A40 +4A80 +7900 +02A0 +F460 +ENDCHAR +STARTCHAR U_7F6E +ENCODING 32622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0400 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +FFE0 +ENDCHAR +STARTCHAR U_7F6F +ENCODING 32623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0400 +7FC0 +0A00 +FFE0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_7F70 +ENCODING 32624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9120 +FFE0 +1000 +FD20 +0120 +7920 +0120 +7D20 +4420 +7CE0 +ENDCHAR +STARTCHAR U_7F71 +ENCODING 32625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +FFE0 +0400 +7FC0 +4A40 +5F40 +4440 +5F40 +4440 +44C0 +ENDCHAR +STARTCHAR U_7F72 +ENCODING 32626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +0440 +3F80 +0500 +FFE0 +3080 +DF80 +1080 +1F80 +ENDCHAR +STARTCHAR U_7F73 +ENCODING 32627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +2480 +3F80 +2480 +3F80 +0000 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_7F74 +ENCODING 32628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4940 +7FC0 +0400 +7FC0 +0400 +FFE0 +1080 +3FC0 +5240 +8920 +ENDCHAR +STARTCHAR U_7F75 +ENCODING 32629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0000 +7FC0 +4400 +7F80 +4400 +7FE0 +4A20 +9540 +ENDCHAR +STARTCHAR U_7F76 +ENCODING 32630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +9480 +FF80 +1000 +EF80 +9480 +FF80 +4880 +7F80 +4880 +7F80 +ENDCHAR +STARTCHAR U_7F77 +ENCODING 32631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9240 +FFC0 +4400 +9700 +FC40 +93C0 +F480 +9700 +F440 +B3C0 +ENDCHAR +STARTCHAR U_7F78 +ENCODING 32632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +1080 +FFE0 +0480 +7A80 +0080 +7880 +4880 +7980 +ENDCHAR +STARTCHAR U_7F79 +ENCODING 32633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +2280 +A7E0 +BC80 +A7E0 +2480 +27E0 +2480 +27E0 +ENDCHAR +STARTCHAR U_7F7A +ENCODING 32634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +2480 +3F80 +2480 +3F80 +2480 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_7F7B +ENCODING 32635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +4240 +7E40 +41E0 +5C40 +4140 +7EC0 +AA40 +C9C0 +ENDCHAR +STARTCHAR U_7F7C +ENCODING 32636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9220 +FFE0 +2480 +3F80 +2480 +FFE0 +1500 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7F7D +ENCODING 32637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +4800 +6AA0 +54A0 +62A0 +48A0 +6AA0 +5420 +A260 +ENDCHAR +STARTCHAR U_7F7E +ENCODING 32638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4940 +7FC0 +2080 +FFE0 +9520 +FFE0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_7F7F +ENCODING 32639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9220 +FFE0 +1100 +FFE0 +2480 +3F80 +2480 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_7F80 +ENCODING 32640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4940 +FFE0 +0A00 +7BC0 +4A40 +7BC0 +0A00 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_7F81 +ENCODING 32641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +FFC0 +5000 +FFC0 +AA40 +FBE0 +2020 +FBA0 +2020 +20C0 +ENDCHAR +STARTCHAR U_7F82 +ENCODING 32642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4940 +7FC0 +2240 +4BE0 +F220 +4BE0 +FE20 +03E0 +AA20 +AA60 +ENDCHAR +STARTCHAR U_7F83 +ENCODING 32643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4940 +FFE0 +2080 +3F80 +2080 +FFE0 +1500 +FFE0 +2480 +2580 +ENDCHAR +STARTCHAR U_7F84 +ENCODING 32644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +2100 +51E0 +E7C0 +5440 +FFC0 +0100 +57E0 +A900 +ENDCHAR +STARTCHAR U_7F85 +ENCODING 32645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +2480 +4FE0 +F480 +27E0 +5480 +FFE0 +5480 +AFE0 +ENDCHAR +STARTCHAR U_7F86 +ENCODING 32646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +2A80 +7F20 +4BE0 +7A00 +4BC0 +7A20 +4BE0 +8520 +ENDCHAR +STARTCHAR U_7F87 +ENCODING 32647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +D900 +57E0 +FA80 +AFE0 +FD40 +2740 +F840 +20C0 +ENDCHAR +STARTCHAR U_7F88 +ENCODING 32648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +FFE0 +5280 +FBE0 +AA80 +FBE0 +2280 +FBE0 +22A0 +2540 +ENDCHAR +STARTCHAR U_7F89 +ENCODING 32649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4940 +7FC0 +2440 +4EA0 +A1E0 +CE80 +50A0 +FFE0 +5B40 +AEA0 +ENDCHAR +STARTCHAR U_7F8A +ENCODING 32650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +7FC0 +0400 +0400 +3F80 +0400 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7F8B +ENCODING 32651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +F5E0 +1500 +0000 +0400 +7FC0 +0400 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7F8C +ENCODING 32652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +0A00 +7FC0 +0400 +3F80 +0400 +FFE0 +0A00 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_7F8D +ENCODING 32653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +3180 +CA60 +3F80 +0400 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_7F8E +ENCODING 32654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +0400 +3F80 +0400 +FFE0 +0400 +7FC0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7F8F +ENCODING 32655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2840 +7C80 +1120 +7C40 +1080 +1120 +FC20 +1040 +2080 +4300 +ENDCHAR +STARTCHAR U_7F90 +ENCODING 32656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +F1E0 +1500 +7F80 +0400 +FFE0 +1000 +1F80 +6200 +0D00 +F0E0 +ENDCHAR +STARTCHAR U_7F91 +ENCODING 32657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0400 +7FC0 +0400 +FFE0 +0800 +1F00 +6200 +0D00 +F0E0 +ENDCHAR +STARTCHAR U_7F92 +ENCODING 32658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A80 +5280 +FA40 +2420 +2020 +FBC0 +2140 +F940 +2240 +4440 +9880 +ENDCHAR +STARTCHAR U_7F93 +ENCODING 32659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8800 +57C0 +FD40 +2540 +7D40 +27C0 +FC00 +2420 +2420 +43E0 +8000 +ENDCHAR +STARTCHAR U_7F94 +ENCODING 32660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +0A00 +FFE0 +0400 +7FC0 +0400 +0400 +FFE0 +5240 +8920 +8920 +ENDCHAR +STARTCHAR U_7F95 +ENCODING 32661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0400 +7FC0 +0400 +FFE0 +0440 +FC80 +1700 +2480 +CC60 +ENDCHAR +STARTCHAR U_7F96 +ENCODING 32662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8BC0 +5240 +FA40 +2460 +2000 +FFC0 +2240 +FA80 +2100 +4280 +8C60 +ENDCHAR +STARTCHAR U_7F97 +ENCODING 32663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +0A00 +7FC0 +0400 +3F80 +0400 +FFE0 +0D40 +15E0 +2420 +C3E0 +ENDCHAR +STARTCHAR U_7F98 +ENCODING 32664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +7280 +5FE0 +7100 +5FC0 +7100 +5100 +5FE0 +5100 +5100 +B100 +ENDCHAR +STARTCHAR U_7F99 +ENCODING 32665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0400 +7FC0 +0400 +FFE0 +0400 +2440 +4A80 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7F9A +ENCODING 32666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5100 +FA80 +2440 +2120 +F880 +27E0 +F840 +2380 +4080 +8040 +ENDCHAR +STARTCHAR U_7F9B +ENCODING 32667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +0A00 +FFC0 +0400 +FFE0 +0940 +FFC0 +4900 +7FC0 +1140 +E1C0 +ENDCHAR +STARTCHAR U_7F9C +ENCODING 32668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57E0 +FC20 +2000 +27E0 +F880 +2080 +F880 +2080 +4280 +8100 +ENDCHAR +STARTCHAR U_7F9D +ENCODING 32669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8860 +5780 +FC80 +2480 +27E0 +FC80 +2480 +FCA0 +2560 +46A0 +84A0 +ENDCHAR +STARTCHAR U_7F9E +ENCODING 32670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +0A00 +FFE0 +0400 +7FC0 +0400 +FFE0 +2480 +5F80 +8480 +7FE0 +ENDCHAR +STARTCHAR U_7F9F +ENCODING 32671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8BE0 +5040 +F840 +2080 +7140 +2620 +FBE0 +2080 +2080 +4080 +87E0 +ENDCHAR +STARTCHAR U_7FA0 +ENCODING 32672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57E0 +F900 +27C0 +7140 +27C0 +FD00 +27E0 +2160 +4280 +8C60 +ENDCHAR +STARTCHAR U_7FA1 +ENCODING 32673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0400 +7FC0 +0400 +FFE0 +4800 +2FE0 +3240 +C580 +5860 +ENDCHAR +STARTCHAR U_7FA2 +ENCODING 32674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +88C0 +50A0 +FFE0 +2280 +72A0 +27A0 +FAA0 +22C0 +22A0 +4560 +8A20 +ENDCHAR +STARTCHAR U_7FA3 +ENCODING 32675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +1080 +FFE0 +1F80 +3080 +5F80 +0A00 +3FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_7FA4 +ENCODING 32676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A20 +2940 +FFE0 +2880 +7BE0 +2080 +7880 +AFE0 +2880 +2880 +3880 +ENDCHAR +STARTCHAR U_7FA5 +ENCODING 32677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5000 +FAA0 +2540 +7540 +22A0 +F800 +23E0 +2080 +4080 +8FE0 +ENDCHAR +STARTCHAR U_7FA6 +ENCODING 32678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5080 +FFE0 +2420 +73C0 +2000 +FFE0 +2280 +22A0 +44A0 +9860 +ENDCHAR +STARTCHAR U_7FA7 +ENCODING 32679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5240 +FFE0 +2240 +7520 +23C0 +FA40 +2640 +2980 +4240 +8C20 +ENDCHAR +STARTCHAR U_7FA8 +ENCODING 32680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0400 +7FC0 +0400 +FFE0 +4400 +B7E0 +2940 +C280 +5C60 +ENDCHAR +STARTCHAR U_7FA9 +ENCODING 32681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +0400 +3F80 +0400 +FFE0 +1240 +FFE0 +3940 +D1A0 +3660 +ENDCHAR +STARTCHAR U_7FAA +ENCODING 32682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57C0 +FC40 +27C0 +2440 +7FC0 +2520 +FD40 +2480 +4540 +8620 +ENDCHAR +STARTCHAR U_7FAB +ENCODING 32683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5080 +FFE0 +2420 +7240 +2420 +FFC0 +2100 +2100 +4100 +8FE0 +ENDCHAR +STARTCHAR U_7FAC +ENCODING 32684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +88C0 +50A0 +FFE0 +2480 +77A0 +24A0 +FFA0 +2540 +2760 +48A0 +9320 +ENDCHAR +STARTCHAR U_7FAD +ENCODING 32685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8B80 +5440 +FBA0 +2000 +7E20 +2AA0 +FEA0 +2AA0 +2EA0 +4A20 +8AE0 +ENDCHAR +STARTCHAR U_7FAE +ENCODING 32686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0400 +FFE0 +2940 +44A0 +FFE0 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7FAF +ENCODING 32687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8BC0 +5240 +FBC0 +2240 +73C0 +2200 +FFE0 +24A0 +2560 +47A0 +80C0 +ENDCHAR +STARTCHAR U_7FB0 +ENCODING 32688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +54A0 +FFE0 +2100 +77E0 +2280 +FAA0 +25C0 +2480 +4940 +9220 +ENDCHAR +STARTCHAR U_7FB1 +ENCODING 32689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5480 +FDE0 +2520 +75E0 +2520 +FDE0 +2480 +25C0 +4AA0 +95A0 +ENDCHAR +STARTCHAR U_7FB2 +ENCODING 32690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FE0 +0400 +3F80 +0400 +FFE0 +1140 +FFE0 +3940 +4CA0 +3560 +ENDCHAR +STARTCHAR U_7FB3 +ENCODING 32691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +88C0 +5720 +FD40 +27E0 +7340 +2520 +FFC0 +2540 +27C0 +4540 +87C0 +ENDCHAR +STARTCHAR U_7FB4 +ENCODING 32692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +3F80 +0400 +7FE0 +2A40 +FFE0 +1080 +7BC0 +1080 +FFE0 +1080 +ENDCHAR +STARTCHAR U_7FB5 +ENCODING 32693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57E0 +F540 +2FE0 +7440 +27C0 +FC40 +27C0 +2440 +47C0 +8C60 +ENDCHAR +STARTCHAR U_7FB6 +ENCODING 32694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57E0 +FDA0 +2420 +77E0 +2000 +FBC0 +2240 +23C0 +4240 +8FE0 +ENDCHAR +STARTCHAR U_7FB7 +ENCODING 32695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5280 +FC40 +2BA0 +7000 +2EE0 +FAA0 +2EE0 +2480 +4D40 +9220 +ENDCHAR +STARTCHAR U_7FB8 +ENCODING 32696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +3F80 +70C0 +5F40 +7540 +5FC0 +7540 +9F40 +9560 +ENDCHAR +STARTCHAR U_7FB9 +ENCODING 32697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +0900 +7FC0 +0400 +FFE0 +4940 +FFE0 +0400 +FFE0 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_7FBA +ENCODING 32698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5100 +FFE0 +2920 +7A80 +2FE0 +F100 +2FE0 +2AA0 +4AA0 +8860 +ENDCHAR +STARTCHAR U_7FBB +ENCODING 32699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57E0 +FD40 +27E0 +74A0 +2740 +FD20 +25E0 +2B40 +5480 +A760 +ENDCHAR +STARTCHAR U_7FBC +ENCODING 32700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4480 +5FC0 +4200 +7FE0 +6540 +5080 +BFE0 +9080 +ENDCHAR +STARTCHAR U_7FBD +ENCODING 32701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0820 +4920 +28A0 +0860 +18A0 +2920 +4A20 +8820 +28A0 +1040 +ENDCHAR +STARTCHAR U_7FBE +ENCODING 32702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC00 +27E0 +B480 +6C80 +2480 +6C80 +B480 +A480 +2480 +2480 +6FE0 +ENDCHAR +STARTCHAR U_7FBF +ENCODING 32703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +4A40 +2940 +18C0 +2940 +4A40 +1100 +FFE0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_7FC0 +ENCODING 32704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +2480 +A7E0 +76A0 +2EA0 +26A0 +6FE0 +B6A0 +2480 +2480 +6C80 +ENDCHAR +STARTCHAR U_7FC1 +ENCODING 32705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2500 +4A80 +BF60 +0000 +FBC0 +4A40 +2940 +18C0 +EB40 +5AC0 +ENDCHAR +STARTCHAR U_7FC2 +ENCODING 32706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC40 +2540 +2540 +B620 +6C00 +27E0 +6D20 +B520 +2520 +2620 +6CC0 +ENDCHAR +STARTCHAR U_7FC3 +ENCODING 32707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +FDA0 +2360 +2920 +4B60 +55A0 +9120 +A120 +2920 +7B60 +ENDCHAR +STARTCHAR U_7FC4 +ENCODING 32708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FFE0 +2480 +B480 +6FE0 +2620 +6D40 +B480 +2540 +B520 +4A20 +ENDCHAR +STARTCHAR U_7FC5 +ENCODING 32709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F920 +25A0 +F360 +9360 +55A0 +5120 +2360 +5000 +8FE0 +ENDCHAR +STARTCHAR U_7FC6 +ENCODING 32710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +4A40 +2940 +4A40 +8C40 +7F00 +1120 +25E0 +4400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_7FC7 +ENCODING 32711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +4A40 +2940 +39C0 +CA40 +0900 +FFE0 +1080 +2900 +4600 +B9E0 +ENDCHAR +STARTCHAR U_7FC8 +ENCODING 32712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A920 +ADA0 +FB60 +A920 +AB60 +FDA0 +2120 +2120 +25A0 +2240 +ENDCHAR +STARTCHAR U_7FC9 +ENCODING 32713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +FDA0 +2360 +3120 +6920 +A360 +25A0 +F920 +2120 +2360 +ENDCHAR +STARTCHAR U_7FCA +ENCODING 32714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2120 +FDA0 +0360 +9120 +5320 +5560 +21A0 +3920 +E120 +0360 +ENDCHAR +STARTCHAR U_7FCB +ENCODING 32715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +2480 +B7E0 +6C00 +2440 +6E40 +B540 +2540 +2540 +2480 +6FE0 +ENDCHAR +STARTCHAR U_7FCC +ENCODING 32716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +2940 +18C0 +2940 +4A40 +0400 +7FE0 +1100 +0900 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_7FCD +ENCODING 32717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC40 +25E0 +B560 +6D40 +25E0 +6D20 +B5A0 +25A0 +2640 +24A0 +6D20 +ENDCHAR +STARTCHAR U_7FCE +ENCODING 32718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1760 +2920 +45A0 +A360 +1120 +7B20 +0D60 +51A0 +2120 +1120 +1360 +ENDCHAR +STARTCHAR U_7FCF +ENCODING 32719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +4A40 +2940 +18C0 +EF40 +1100 +ECE0 +0200 +1C80 +0100 +FE00 +ENDCHAR +STARTCHAR U_7FD0 +ENCODING 32720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +2680 +B7E0 +6E80 +2480 +27E0 +6C80 +B480 +2480 +2540 +6E20 +ENDCHAR +STARTCHAR U_7FD1 +ENCODING 32721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +25E0 +B620 +6C20 +27A0 +26A0 +6FA0 +B6A0 +2420 +24A0 +6C40 +ENDCHAR +STARTCHAR U_7FD2 +ENCODING 32722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +5960 +28A0 +CD20 +0800 +3FC0 +2040 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_7FD3 +ENCODING 32723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F920 +25A0 +7360 +0120 +F360 +95A0 +9120 +F5A0 +9240 +ENDCHAR +STARTCHAR U_7FD4 +ENCODING 32724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5120 +F920 +25A0 +7360 +2120 +FB60 +25A0 +2120 +4120 +8360 +ENDCHAR +STARTCHAR U_7FD5 +ENCODING 32725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +3180 +DF60 +0000 +3F80 +2080 +FFE0 +4920 +38E0 +CB20 +1860 +ENDCHAR +STARTCHAR U_7FD6 +ENCODING 32726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +5120 +8DA0 +7360 +0120 +7360 +55A0 +5120 +75A0 +5240 +ENDCHAR +STARTCHAR U_7FD7 +ENCODING 32727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3920 +4DA0 +AB60 +1120 +6120 +3B60 +4DA0 +A920 +1120 +E360 +ENDCHAR +STARTCHAR U_7FD8 +ENCODING 32728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F120 +55A0 +2B60 +D920 +0360 +FDA0 +5120 +5660 +5020 +8FE0 +ENDCHAR +STARTCHAR U_7FD9 +ENCODING 32729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +AFE0 +A920 +FDA0 +2360 +7920 +4B60 +ADA0 +1120 +25A0 +C240 +ENDCHAR +STARTCHAR U_7FDA +ENCODING 32730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +2940 +4A40 +FFE0 +8820 +7FC0 +1200 +3FC0 +0200 +FFE0 +0200 +ENDCHAR +STARTCHAR U_7FDB +ENCODING 32731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +5540 +5080 +D760 +5000 +5FE0 +55A0 +5360 +4DA0 +4360 +ENDCHAR +STARTCHAR U_7FDC +ENCODING 32732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +4920 +38E0 +CB20 +0400 +FFE0 +2480 +5B40 +8A20 +1100 +E0E0 +ENDCHAR +STARTCHAR U_7FDD +ENCODING 32733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F920 +A920 +25A0 +FB60 +2120 +5360 +55A0 +A920 +79A0 +0360 +ENDCHAR +STARTCHAR U_7FDE +ENCODING 32734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +27E0 +B400 +6DE0 +2520 +25E0 +6C80 +B5C0 +26A0 +24A0 +6D80 +ENDCHAR +STARTCHAR U_7FDF +ENCODING 32735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2940 +18C0 +EB40 +1400 +1200 +3FE0 +6200 +BFC0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_7FE0 +ENCODING 32736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +2940 +18C0 +6B40 +0840 +7FC0 +1100 +2A80 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7FE1 +ENCODING 32737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FBE0 +0A00 +7BC0 +0A00 +FBE0 +0A00 +FBE0 +4920 +38E0 +CB20 +ENDCHAR +STARTCHAR U_7FE2 +ENCODING 32738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A920 +FDA0 +AB60 +F920 +8920 +BB60 +ADA0 +B920 +8920 +9B60 +ENDCHAR +STARTCHAR U_7FE3 +ENCODING 32739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +4920 +38E0 +4920 +7FC0 +0900 +FFE0 +0400 +FFE0 +0900 +F6E0 +ENDCHAR +STARTCHAR U_7FE4 +ENCODING 32740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9120 +95A0 +F360 +0120 +FB60 +ADA0 +F920 +A920 +ADA0 +9A40 +ENDCHAR +STARTCHAR U_7FE5 +ENCODING 32741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +3F80 +0500 +FFE0 +1480 +1280 +FFC0 +2940 +18C0 +6B40 +18C0 +ENDCHAR +STARTCHAR U_7FE6 +ENCODING 32742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +4840 +7940 +4940 +7940 +4840 +FFE0 +4A20 +29A0 +DA60 +ENDCHAR +STARTCHAR U_7FE7 +ENCODING 32743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +8920 +75A0 +0360 +7120 +5360 +55A0 +7120 +05A0 +FA40 +ENDCHAR +STARTCHAR U_7FE8 +ENCODING 32744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +4920 +38E0 +CB20 +3F80 +2080 +FFE0 +2400 +27C0 +5400 +8FE0 +ENDCHAR +STARTCHAR U_7FE9 +ENCODING 32745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +8920 +FDA0 +8360 +F920 +AB60 +FDA0 +A920 +A920 +8B60 +ENDCHAR +STARTCHAR U_7FEA +ENCODING 32746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF60 +26A0 +B760 +6FE0 +2540 +2620 +6DC0 +B740 +2480 +2540 +6E20 +ENDCHAR +STARTCHAR U_7FEB +ENCODING 32747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2400 +B400 +6FE0 +B540 +1540 +7D40 +4540 +7D40 +4540 +7E60 +ENDCHAR +STARTCHAR U_7FEC +ENCODING 32748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +4A40 +39C0 +4A40 +FFE0 +A4A0 +3F80 +2480 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_7FED +ENCODING 32749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FCC0 +2540 +B640 +6FE0 +2500 +25E0 +6D40 +B5E0 +2540 +25A0 +6D20 +ENDCHAR +STARTCHAR U_7FEE +ENCODING 32750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4920 +7DA0 +0360 +FD20 +D760 +FDA0 +A520 +FD20 +A520 +8F60 +ENDCHAR +STARTCHAR U_7FEF +ENCODING 32751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4920 +38E0 +4920 +FFE0 +1080 +1F80 +0000 +7FE0 +5120 +5F60 +ENDCHAR +STARTCHAR U_7FF0 +ENCODING 32752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +FA40 +2420 +F000 +97E0 +F920 +95A0 +F360 +25A0 +F920 +2360 +ENDCHAR +STARTCHAR U_7FF1 +ENCODING 32753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F920 +8DA0 +FB60 +8920 +F920 +2360 +FDA0 +A920 +F520 +2260 +ENDCHAR +STARTCHAR U_7FF2 +ENCODING 32754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2920 +FDA0 +AB60 +FD20 +0120 +7B60 +05A0 +FD20 +5520 +B360 +ENDCHAR +STARTCHAR U_7FF3 +ENCODING 32755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +FC60 +93C0 +A980 +C660 +FBC0 +4A40 +39C0 +CA40 +18C0 +ENDCHAR +STARTCHAR U_7FF4 +ENCODING 32756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2C80 +ABE0 +7AA0 +2FE0 +2AA0 +7BE0 +AA80 +2BE0 +2A80 +7DE0 +ENDCHAR +STARTCHAR U_7FF5 +ENCODING 32757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2BC0 +AA40 +7BC0 +2A40 +2BE0 +7A00 +ABE0 +2820 +2AA0 +7D60 +ENDCHAR +STARTCHAR U_7FF6 +ENCODING 32758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +FFE0 +8920 +FDA0 +8B60 +F920 +AB60 +75A0 +A920 +FDA0 +2240 +ENDCHAR +STARTCHAR U_7FF7 +ENCODING 32759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +93E0 +54A0 +FEA0 +55E0 +90A0 +48A0 +7DE0 +AAA0 +7EA0 +48A0 +89E0 +ENDCHAR +STARTCHAR U_7FF8 +ENCODING 32760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F920 +6DA0 +FB60 +4920 +7920 +4B60 +7DA0 +4920 +7920 +CF60 +ENDCHAR +STARTCHAR U_7FF9 +ENCODING 32761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F8A0 +22E0 +F9A0 +48A0 +FDE0 +4AA0 +FCA0 +29E0 +4820 +87E0 +ENDCHAR +STARTCHAR U_7FFA +ENCODING 32762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +FFE0 +A920 +DDA0 +AB60 +F920 +AB60 +75A0 +A920 +F9E0 +2340 +ENDCHAR +STARTCHAR U_7FFB +ENCODING 32763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +E7E0 +A920 +FDA0 +7360 +A920 +FB60 +ADA0 +F920 +A920 +FB60 +ENDCHAR +STARTCHAR U_7FFC +ENCODING 32764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +4920 +38E0 +4920 +7FC0 +2480 +7FC0 +0900 +FFE0 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_7FFD +ENCODING 32765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5120 +FDA0 +0B60 +FD20 +8920 +FB60 +ADA0 +E920 +B520 +C260 +ENDCHAR +STARTCHAR U_7FFE +ENCODING 32766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A920 +FDA0 +0360 +FD20 +4920 +7B60 +25A0 +D920 +5920 +6760 +ENDCHAR +STARTCHAR U_7FFF +ENCODING 32767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +10A0 +FEE0 +11A0 +7CA0 +04A0 +FDE0 +A6A0 +BCA0 +E4A0 +0DE0 +ENDCHAR +STARTCHAR U_8000 +ENCODING 32768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +ADA0 +7360 +27E0 +FC80 +57E0 +5480 +57E0 +9C80 +97E0 +ENDCHAR +STARTCHAR U_8001 +ENCODING 32769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0440 +3F80 +0500 +FFE0 +0800 +1980 +2E00 +C840 +0840 +07C0 +ENDCHAR +STARTCHAR U_8002 +ENCODING 32770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +7F40 +0840 +0880 +FFE0 +0200 +0400 +0800 +3000 +C000 +ENDCHAR +STARTCHAR U_8003 +ENCODING 32771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0840 +7F80 +0900 +FFE0 +0400 +0FC0 +3400 +CF80 +0080 +0080 +0700 +ENDCHAR +STARTCHAR U_8004 +ENCODING 32772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +7F00 +0A00 +FFC0 +2820 +C7E0 +0300 +7C00 +07C0 +FC20 +03E0 +ENDCHAR +STARTCHAR U_8005 +ENCODING 32773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F40 +0480 +0500 +FFE0 +0800 +3F80 +D080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_8006 +ENCODING 32774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +7E80 +0500 +FFC0 +1200 +F420 +1FE0 +1040 +1FC0 +1040 +1FC0 +ENDCHAR +STARTCHAR U_8007 +ENCODING 32775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0840 +7F80 +0900 +FFE0 +0800 +1FC0 +2040 +5E40 +1240 +1E40 +0180 +ENDCHAR +STARTCHAR U_8008 +ENCODING 32776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F40 +0480 +7FE0 +0840 +37C0 +C800 +1FC0 +6940 +0F40 +00C0 +ENDCHAR +STARTCHAR U_8009 +ENCODING 32777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7F40 +0480 +FFE0 +0800 +3FC0 +C800 +1FC0 +1240 +1240 +1EC0 +ENDCHAR +STARTCHAR U_800A +ENCODING 32778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F40 +0480 +FFE0 +0600 +3900 +DF80 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_800B +ENCODING 32779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0840 +7F80 +0A00 +FFE0 +3200 +5420 +FFE0 +1100 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_800C +ENCODING 32780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0800 +7FE0 +4920 +4920 +4920 +4920 +4920 +4920 +40E0 +ENDCHAR +STARTCHAR U_800D +ENCODING 32781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +7FC0 +4A40 +4A40 +08C0 +FFE0 +1100 +1A00 +0700 +78E0 +ENDCHAR +STARTCHAR U_800E +ENCODING 32782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +7FC0 +4A40 +4A40 +44C0 +0400 +7FE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_800F +ENCODING 32783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE40 +1080 +2100 +FE20 +AA40 +AA80 +AB20 +AA20 +AA40 +AA80 +8700 +ENDCHAR +STARTCHAR U_8010 +ENCODING 32784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE40 +1040 +21E0 +FE40 +AA40 +AB40 +AAC0 +AA40 +AA40 +A240 +86C0 +ENDCHAR +STARTCHAR U_8011 +ENCODING 32785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0000 +FFE0 +0400 +7FC0 +4A40 +4A40 +4A40 +40C0 +ENDCHAR +STARTCHAR U_8012 +ENCODING 32786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +0400 +FFE0 +0E00 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_8013 +ENCODING 32787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +2080 +7080 +2080 +F880 +2080 +7080 +A880 +2080 +2180 +ENDCHAR +STARTCHAR U_8014 +ENCODING 32788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +2040 +F880 +2080 +FBE0 +2080 +7080 +A880 +2080 +2180 +ENDCHAR +STARTCHAR U_8015 +ENCODING 32789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FA40 +27E0 +FA40 +2240 +FFE0 +2240 +3240 +6A40 +A440 +2840 +ENDCHAR +STARTCHAR U_8016 +ENCODING 32790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F8C0 +22A0 +FAA0 +2480 +FCA0 +20A0 +7040 +A880 +A100 +2E00 +ENDCHAR +STARTCHAR U_8017 +ENCODING 32791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +FF00 +2100 +F9C0 +2700 +F960 +2780 +7100 +A920 +2120 +20E0 +ENDCHAR +STARTCHAR U_8018 +ENCODING 32792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +F800 +2000 +F800 +27E0 +F900 +2100 +7200 +AA40 +A460 +27A0 +ENDCHAR +STARTCHAR U_8019 +ENCODING 32793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +22A0 +FAA0 +22A0 +FBE0 +2200 +7200 +AA20 +A220 +21E0 +ENDCHAR +STARTCHAR U_801A +ENCODING 32794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +27E0 +FCA0 +2480 +FFE0 +2520 +7540 +AC80 +2540 +2A20 +ENDCHAR +STARTCHAR U_801B +ENCODING 32795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +2240 +FA60 +27A0 +F800 +23E0 +7220 +AA20 +ABE0 +2220 +ENDCHAR +STARTCHAR U_801C +ENCODING 32796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2240 +FBC0 +2240 +FA00 +23E0 +7220 +AA20 +ABE0 +2220 +ENDCHAR +STARTCHAR U_801D +ENCODING 32797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +2240 +7240 +23C0 +FA40 +3240 +6BC0 +A640 +2240 +27E0 +ENDCHAR +STARTCHAR U_801E +ENCODING 32798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +FEE0 +2AA0 +FAA0 +2AA0 +FAA0 +2AA0 +7AA0 +AAA0 +AAE0 +34A0 +ENDCHAR +STARTCHAR U_801F +ENCODING 32799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA00 +2200 +FBE0 +2220 +FA20 +23E0 +7220 +AA00 +AA00 +23E0 +ENDCHAR +STARTCHAR U_8020 +ENCODING 32800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F980 +2240 +FC20 +25C0 +F800 +23E0 +7220 +AA20 +ABE0 +2220 +ENDCHAR +STARTCHAR U_8021 +ENCODING 32801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E80 +FA80 +4BE0 +FEA0 +4AA0 +FAA0 +4EA0 +6AA0 +DAA0 +5F20 +4260 +ENDCHAR +STARTCHAR U_8022 +ENCODING 32802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +F7E0 +2140 +FFE0 +2420 +F900 +27E0 +7120 +A920 +AA20 +24C0 +ENDCHAR +STARTCHAR U_8023 +ENCODING 32803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FA80 +2440 +7BA0 +2000 +FFE0 +2AA0 +7FE0 +AAA0 +2AA0 +2840 +ENDCHAR +STARTCHAR U_8024 +ENCODING 32804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +2240 +FFE0 +2000 +FBC0 +2240 +73C0 +AA40 +ABC0 +2240 +ENDCHAR +STARTCHAR U_8025 +ENCODING 32805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +F520 +2340 +FFE0 +2820 +FBA0 +2AA0 +7BA0 +AAA0 +2820 +2860 +ENDCHAR +STARTCHAR U_8026 +ENCODING 32806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FD40 +27C0 +FD40 +27C0 +F900 +27E0 +7560 +AFA0 +A420 +2460 +ENDCHAR +STARTCHAR U_8027 +ENCODING 32807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +FB40 +27E0 +FB80 +2540 +F920 +2100 +77E0 +AA40 +2180 +2660 +ENDCHAR +STARTCHAR U_8028 +ENCODING 32808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F800 +4BC0 +F800 +4FE0 +FAA0 +4B40 +6840 +DFE0 +5440 +62C0 +ENDCHAR +STARTCHAR U_8029 +ENCODING 32809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +2240 +FFE0 +2240 +FFE0 +2540 +77C0 +AD40 +AFE0 +24C0 +ENDCHAR +STARTCHAR U_802A +ENCODING 32810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2280 +FFE0 +2520 +FFE0 +2200 +73C0 +AA40 +A440 +2880 +ENDCHAR +STARTCHAR U_802B +ENCODING 32811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2100 +77C0 +2100 +FFE0 +3440 +6FC0 +A440 +27C0 +2820 +ENDCHAR +STARTCHAR U_802C +ENCODING 32812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2540 +FFE0 +2540 +FFE0 +2520 +77E0 +AA40 +A180 +2E60 +ENDCHAR +STARTCHAR U_802D +ENCODING 32813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2340 +FD40 +27A0 +7340 +25A0 +FFE0 +34A0 +6EC0 +A4A0 +2960 +3220 +ENDCHAR +STARTCHAR U_802E +ENCODING 32814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +2240 +75A0 +2FE0 +F820 +2100 +77E0 +A920 +2220 +2460 +ENDCHAR +STARTCHAR U_802F +ENCODING 32815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +FFE0 +2280 +77E0 +2480 +FFC0 +3480 +6FE0 +A480 +2300 +2CE0 +ENDCHAR +STARTCHAR U_8030 +ENCODING 32816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FA40 +23C0 +7240 +2FE0 +FAA0 +23C0 +7660 +A980 +AA40 +2420 +ENDCHAR +STARTCHAR U_8031 +ENCODING 32817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2A40 +FFE0 +2A40 +FF60 +2AC0 +7A40 +AFE0 +AA20 +33E0 +ENDCHAR +STARTCHAR U_8032 +ENCODING 32818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2540 +77C0 +2540 +FB80 +3540 +6A20 +A540 +2C80 +3660 +ENDCHAR +STARTCHAR U_8033 +ENCODING 32819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +2100 +2100 +3F00 +2100 +3F00 +2100 +21C0 +FF00 +0100 +0100 +ENDCHAR +STARTCHAR U_8034 +ENCODING 32820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +4900 +4900 +7900 +4900 +7900 +4900 +4D00 +F920 +0920 +08E0 +ENDCHAR +STARTCHAR U_8035 +ENCODING 32821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC00 +4BE0 +4880 +7880 +4880 +7880 +4880 +4C80 +F880 +0A80 +0900 +ENDCHAR +STARTCHAR U_8036 +ENCODING 32822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +4920 +4920 +7940 +4940 +7920 +4920 +4D20 +F9A0 +0940 +0900 +ENDCHAR +STARTCHAR U_8037 +ENCODING 32823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +FFE0 +2100 +3F00 +2100 +3F00 +21E0 +FF00 +0100 +ENDCHAR +STARTCHAR U_8038 +ENCODING 32824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2A80 +4440 +FFE0 +2100 +3F00 +2100 +3F00 +2100 +FFE0 +0100 +ENDCHAR +STARTCHAR U_8039 +ENCODING 32825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +4980 +4A40 +7D20 +4880 +7800 +4FE0 +4840 +FC80 +0880 +0900 +ENDCHAR +STARTCHAR U_803A +ENCODING 32826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FBC0 +5000 +7000 +57E0 +7100 +5100 +5A40 +77E0 +D240 +1000 +ENDCHAR +STARTCHAR U_803B +ENCODING 32827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +4880 +4880 +7A80 +4AE0 +7A80 +4A80 +4E80 +FA80 +0A80 +0FE0 +ENDCHAR +STARTCHAR U_803C +ENCODING 32828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +5240 +5240 +77E0 +5240 +7240 +57E0 +5A40 +F240 +1240 +12C0 +ENDCHAR +STARTCHAR U_803D +ENCODING 32829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +5100 +57E0 +7520 +5100 +7280 +5280 +5280 +FAA0 +14A0 +1860 +ENDCHAR +STARTCHAR U_803E +ENCODING 32830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +4900 +4FE0 +7900 +4940 +7940 +4A40 +4A80 +FCA0 +0920 +09E0 +ENDCHAR +STARTCHAR U_803F +ENCODING 32831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +4880 +4880 +7AA0 +4AC0 +7C80 +4880 +4880 +FD40 +0A20 +0C20 +ENDCHAR +STARTCHAR U_8040 +ENCODING 32832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FD40 +5120 +77E0 +5100 +7140 +5140 +5880 +70A0 +D160 +1220 +ENDCHAR +STARTCHAR U_8041 +ENCODING 32833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FA80 +5280 +7440 +5820 +77C0 +5240 +5A40 +7240 +D540 +1880 +ENDCHAR +STARTCHAR U_8042 +ENCODING 32834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2100 +3F00 +2100 +FFE0 +0100 +FFC0 +4A40 +3180 +4A40 +8420 +ENDCHAR +STARTCHAR U_8043 +ENCODING 32835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +5100 +57C0 +7540 +57C0 +7540 +5540 +5FE0 +F440 +1440 +14C0 +ENDCHAR +STARTCHAR U_8044 +ENCODING 32836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +5280 +7C60 +5100 +7640 +5080 +5920 +7640 +D080 +1700 +ENDCHAR +STARTCHAR U_8045 +ENCODING 32837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +57C0 +7500 +5900 +77E0 +5100 +5A80 +7280 +D440 +1820 +ENDCHAR +STARTCHAR U_8046 +ENCODING 32838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +4980 +4A40 +7D20 +4880 +7800 +4FE0 +4840 +F980 +0880 +0840 +ENDCHAR +STARTCHAR U_8047 +ENCODING 32839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4880 +4880 +7880 +4A80 +7AE0 +4A80 +4E80 +FA80 +0A80 +0FE0 +ENDCHAR +STARTCHAR U_8048 +ENCODING 32840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +5480 +5880 +7BE0 +5EA0 +74A0 +54A0 +5AA0 +FEA0 +11A0 +1240 +ENDCHAR +STARTCHAR U_8049 +ENCODING 32841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FC80 +52A0 +72A0 +52A0 +73E0 +5080 +5AA0 +72A0 +D2A0 +13E0 +ENDCHAR +STARTCHAR U_804A +ENCODING 32842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +ACE0 +AAA0 +EAA0 +AAA0 +EAA0 +AAA0 +AEA0 +F2E0 +2480 +2880 +ENDCHAR +STARTCHAR U_804B +ENCODING 32843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +1480 +2520 +DFE0 +0000 +FFE0 +2100 +3F00 +2100 +FFE0 +ENDCHAR +STARTCHAR U_804C +ENCODING 32844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4A20 +4A20 +7A20 +4A20 +7BE0 +4800 +4D40 +F940 +0A20 +0C20 +ENDCHAR +STARTCHAR U_804D +ENCODING 32845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +4BE0 +4A20 +7800 +4FE0 +7880 +4880 +4C80 +F880 +0A80 +0900 +ENDCHAR +STARTCHAR U_804E +ENCODING 32846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FA80 +52A0 +76C0 +5280 +72C0 +56A0 +5A80 +72A0 +D2A0 +1460 +ENDCHAR +STARTCHAR U_804F +ENCODING 32847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A100 +A200 +EFE0 +AAA0 +EAA0 +AAA0 +AAA0 +FAA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_8050 +ENCODING 32848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +4880 +4FE0 +7880 +4BE0 +7800 +4BE0 +5E20 +EA20 +0BE0 +0A20 +ENDCHAR +STARTCHAR U_8051 +ENCODING 32849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4A40 +4A40 +7BC0 +4A40 +7BC0 +4A40 +4E60 +FBC0 +0840 +0840 +ENDCHAR +STARTCHAR U_8052 +ENCODING 32850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F860 +5380 +5080 +77E0 +5080 +7080 +53E0 +5220 +FA20 +13E0 +1220 +ENDCHAR +STARTCHAR U_8053 +ENCODING 32851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FB80 +22A0 +3BA0 +E2E0 +0400 +7FC0 +1100 +1F00 +11E0 +FF00 +0100 +ENDCHAR +STARTCHAR U_8054 +ENCODING 32852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC40 +5280 +57E0 +7100 +5100 +7FE0 +5100 +5100 +FA80 +1440 +1820 +ENDCHAR +STARTCHAR U_8055 +ENCODING 32853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FA80 +53E0 +7480 +57E0 +7000 +53E0 +5A20 +7220 +D3E0 +1220 +ENDCHAR +STARTCHAR U_8056 +ENCODING 32854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC00 +49E0 +7920 +4920 +FDE0 +0800 +7FC0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_8057 +ENCODING 32855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +57E0 +7540 +5540 +7BA0 +5100 +5A80 +7280 +D440 +1820 +ENDCHAR +STARTCHAR U_8058 +ENCODING 32856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +53E0 +52A0 +73E0 +52A0 +77E0 +5100 +5BE0 +F020 +1020 +11C0 +ENDCHAR +STARTCHAR U_8059 +ENCODING 32857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +5100 +77C0 +5100 +7FE0 +5440 +5FC0 +7440 +D7C0 +1440 +ENDCHAR +STARTCHAR U_805A +ENCODING 32858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4520 +7CC0 +44C0 +FF20 +05C0 +7E40 +0A80 +7700 +0A80 +7260 +ENDCHAR +STARTCHAR U_805B +ENCODING 32859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +5520 +77E0 +5520 +77E0 +5280 +5C80 +77E0 +D080 +1080 +ENDCHAR +STARTCHAR U_805C +ENCODING 32860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +5420 +7240 +5420 +7800 +57C0 +5900 +F100 +1100 +1FE0 +ENDCHAR +STARTCHAR U_805D +ENCODING 32861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +50A0 +57E0 +7080 +5780 +75A0 +57A0 +50C0 +F960 +16A0 +1120 +ENDCHAR +STARTCHAR U_805E +ENCODING 32862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F3C0 +9240 +F3C0 +9240 +FFC0 +9240 +9E40 +9240 +9FC0 +F240 +82C0 +ENDCHAR +STARTCHAR U_805F +ENCODING 32863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3BC0 +5240 +FFC0 +2800 +7FC0 +9100 +1F00 +11E0 +FF00 +0100 +ENDCHAR +STARTCHAR U_8060 +ENCODING 32864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0420 +FA40 +5240 +77E0 +5240 +7240 +57E0 +5A40 +7240 +D240 +1440 +ENDCHAR +STARTCHAR U_8061 +ENCODING 32865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FA80 +5540 +7920 +5240 +77C0 +5200 +5D40 +7520 +DC60 +13C0 +ENDCHAR +STARTCHAR U_8062 +ENCODING 32866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F880 +57E0 +7420 +53C0 +7500 +55C0 +5D00 +7500 +D700 +18E0 +ENDCHAR +STARTCHAR U_8063 +ENCODING 32867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FEC0 +5440 +76C0 +5440 +77C0 +5280 +5A80 +7280 +D2A0 +1460 +ENDCHAR +STARTCHAR U_8064 +ENCODING 32868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +5240 +73C0 +5000 +77E0 +5420 +53C0 +F880 +1280 +1100 +ENDCHAR +STARTCHAR U_8065 +ENCODING 32869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F900 +57C0 +7540 +57C0 +7100 +57E0 +5D20 +77E0 +D4A0 +1440 +ENDCHAR +STARTCHAR U_8066 +ENCODING 32870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBE0 +5560 +72A0 +55A0 +7160 +5200 +5D40 +7520 +DC60 +13C0 +ENDCHAR +STARTCHAR U_8067 +ENCODING 32871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF40 +55A0 +52C0 +7440 +5420 +7BC0 +5100 +57E0 +F900 +1280 +1460 +ENDCHAR +STARTCHAR U_8068 +ENCODING 32872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FDA0 +56E0 +7240 +55A0 +76E0 +5240 +5FE0 +7240 +D240 +1440 +ENDCHAR +STARTCHAR U_8069 +ENCODING 32873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57C0 +5540 +7FE0 +5000 +77C0 +5440 +5540 +FD40 +1280 +1C60 +ENDCHAR +STARTCHAR U_806A +ENCODING 32874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FA80 +57C0 +5440 +7440 +57C0 +7100 +5AA0 +F6A0 +1A40 +11C0 +ENDCHAR +STARTCHAR U_806B +ENCODING 32875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FA40 +55A0 +76C0 +5240 +75A0 +56E0 +5100 +7FE0 +D280 +1460 +ENDCHAR +STARTCHAR U_806C +ENCODING 32876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +5240 +5520 +7240 +57E0 +7000 +57E0 +55A0 +FB60 +15A0 +1360 +ENDCHAR +STARTCHAR U_806D +ENCODING 32877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA00 +57C0 +7540 +57C0 +7540 +57C0 +5940 +73E0 +D520 +18E0 +ENDCHAR +STARTCHAR U_806E +ENCODING 32878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +FA40 +55A0 +76E0 +5240 +75A0 +56E0 +5800 +7540 +DAA0 +12A0 +ENDCHAR +STARTCHAR U_806F +ENCODING 32879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +A440 +AAA0 +E440 +AAA0 +A660 +EAA0 +AAA0 +AEE0 +F280 +2C80 +ENDCHAR +STARTCHAR U_8070 +ENCODING 32880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +56A0 +7520 +56A0 +77E0 +5100 +52C0 +FE20 +1260 +11C0 +ENDCHAR +STARTCHAR U_8071 +ENCODING 32881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FDE0 +2340 +FC80 +4940 +FFE0 +2080 +3F80 +2080 +FFE0 +0080 +ENDCHAR +STARTCHAR U_8072 +ENCODING 32882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FD40 +5620 +57C0 +7C80 +8140 +FFE0 +1080 +1F80 +1080 +FFE0 +ENDCHAR +STARTCHAR U_8073 +ENCODING 32883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +AB40 +5220 +C9C0 +4D00 +53E0 +FF00 +2100 +3F00 +2100 +FFE0 +ENDCHAR +STARTCHAR U_8074 +ENCODING 32884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +5100 +77E0 +55A0 +77E0 +5200 +5D40 +7520 +DC40 +13C0 +ENDCHAR +STARTCHAR U_8075 +ENCODING 32885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57C0 +5540 +7FE0 +5440 +77C0 +5440 +5FC0 +F440 +17C0 +1C60 +ENDCHAR +STARTCHAR U_8076 +ENCODING 32886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0880 +0F80 +0880 +7FE0 +0080 +7FE0 +4A40 +7BC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_8077 +ENCODING 32887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F480 +AFC0 +AAA0 +E480 +BFE0 +A080 +EEA0 +AAC0 +AEA0 +FB60 +2E20 +ENDCHAR +STARTCHAR U_8078 +ENCODING 32888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FB80 +57E0 +5D40 +76A0 +57E0 +7400 +55E0 +5400 +FDE0 +1520 +19E0 +ENDCHAR +STARTCHAR U_8079 +ENCODING 32889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +AFE0 +AD60 +E7C0 +A820 +EFE0 +AAA0 +AFE0 +F100 +2100 +2300 +ENDCHAR +STARTCHAR U_807A +ENCODING 32890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +5420 +77E0 +5AA0 +7540 +5820 +5FE0 +7100 +D540 +1B20 +ENDCHAR +STARTCHAR U_807B +ENCODING 32891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +3F00 +A9E0 +7F40 +8940 +FFE0 +1100 +1F00 +1100 +FFE0 +0100 +ENDCHAR +STARTCHAR U_807C +ENCODING 32892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +17E0 +F900 +5FE0 +7AA0 +5FE0 +7000 +5FE0 +7540 +DCA0 +1380 +ENDCHAR +STARTCHAR U_807D +ENCODING 32893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +5FE0 +7100 +5FE0 +FAA0 +1FE0 +F000 +5FE0 +F6A0 +5A40 +F1C0 +ENDCHAR +STARTCHAR U_807E +ENCODING 32894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +2900 +FFE0 +4500 +7DC0 +4520 +FFE0 +1080 +1F80 +1080 +7FE0 +ENDCHAR +STARTCHAR U_807F +ENCODING 32895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0480 +FFE0 +0480 +3F80 +0400 +7FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8080 +ENCODING 32896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FC0 +0440 +FFE0 +0440 +3FC0 +0440 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_8081 +ENCODING 32897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0400 +7FC0 +4040 +7FC0 +4400 +5F80 +4480 +5FC0 +4480 +BFC0 +8400 +ENDCHAR +STARTCHAR U_8082 +ENCODING 32898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +2140 +3FE0 +4940 +B7C0 +1100 +27C0 +4100 +8FE0 +0100 +ENDCHAR +STARTCHAR U_8083 +ENCODING 32899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0440 +FFE0 +0440 +7FC0 +0400 +5640 +5540 +6540 +8440 +ENDCHAR +STARTCHAR U_8084 +ENCODING 32900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +67C0 +4940 +7FE0 +8140 +F7C0 +A100 +FFC0 +2100 +5FE0 +8900 +ENDCHAR +STARTCHAR U_8085 +ENCODING 32901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0440 +7FE0 +0440 +7FC0 +5540 +7FC0 +4440 +75C0 +9540 +ENDCHAR +STARTCHAR U_8086 +ENCODING 32902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +77C0 +4140 +77E0 +4140 +77C0 +4100 +F7C0 +5100 +FFE0 +0100 +ENDCHAR +STARTCHAR U_8087 +ENCODING 32903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7BE0 +4940 +7CC0 +8520 +7FE0 +0480 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8088 +ENCODING 32904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +7FE0 +4940 +7880 +4560 +BF80 +0480 +7FE0 +0480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8089 +ENCODING 32905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +FF80 +8880 +9480 +E280 +8880 +8880 +9480 +E280 +8080 +8180 +ENDCHAR +STARTCHAR U_808A +ENCODING 32906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7800 +4FC0 +4840 +7840 +4880 +4880 +7900 +4900 +4A20 +8A20 +99E0 +ENDCHAR +STARTCHAR U_808B +ENCODING 32907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4900 +7FE0 +4920 +4920 +7920 +4920 +4A20 +8D20 +98C0 +ENDCHAR +STARTCHAR U_808C +ENCODING 32908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F780 +9480 +9480 +F480 +9480 +9480 +F480 +9480 +94A0 +94A0 +B860 +ENDCHAR +STARTCHAR U_808D +ENCODING 32909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +5200 +5780 +7280 +5280 +5280 +7280 +5280 +52A0 +94A0 +B860 +ENDCHAR +STARTCHAR U_808E +ENCODING 32910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +8040 +3F80 +2080 +3F80 +2080 +3F80 +2080 +2080 +2280 +2100 +ENDCHAR +STARTCHAR U_808F +ENCODING 32911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C00 +0A00 +3180 +C460 +7FC0 +4440 +4A40 +5540 +4A40 +5140 +61C0 +ENDCHAR +STARTCHAR U_8090 +ENCODING 32912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +4A00 +4BE0 +7C00 +4BC0 +4840 +7880 +4900 +4A20 +8A20 +99E0 +ENDCHAR +STARTCHAR U_8091 +ENCODING 32913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +5200 +53E0 +7420 +5820 +5220 +7120 +5120 +5020 +90A0 +B040 +ENDCHAR +STARTCHAR U_8092 +ENCODING 32914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +5200 +5F80 +7280 +5680 +5280 +7380 +5280 +54A0 +98A0 +B060 +ENDCHAR +STARTCHAR U_8093 +ENCODING 32915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +3FC0 +0000 +3F80 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_8094 +ENCODING 32916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5100 +5500 +7FC0 +5540 +5540 +7540 +55C0 +5520 +9420 +B3E0 +ENDCHAR +STARTCHAR U_8095 +ENCODING 32917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5120 +5120 +7120 +5520 +5520 +7920 +5120 +5220 +92A0 +B440 +ENDCHAR +STARTCHAR U_8096 +ENCODING 32918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +8880 +4900 +2A00 +7F00 +4100 +7F00 +4100 +7F00 +4100 +4100 +4300 +ENDCHAR +STARTCHAR U_8097 +ENCODING 32919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5100 +5100 +7FE0 +5240 +5240 +7440 +5280 +5100 +9280 +B440 +ENDCHAR +STARTCHAR U_8098 +ENCODING 32920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7840 +4840 +4840 +7FE0 +4840 +4A40 +7940 +4940 +4840 +8940 +9880 +ENDCHAR +STARTCHAR U_8099 +ENCODING 32921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +7E +42 +7E +00 +FF +81 +FF +81 +FF +81 +87 +ENDCHAR +STARTCHAR U_809A +ENCODING 32922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4900 +7900 +4FC0 +4900 +7900 +4900 +4900 +8900 +9FE0 +ENDCHAR +STARTCHAR U_809B +ENCODING 32923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7800 +4BE0 +4880 +7880 +4880 +4880 +7880 +4880 +4880 +8FE0 +9800 +ENDCHAR +STARTCHAR U_809C +ENCODING 32924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +4880 +4900 +7A60 +4840 +4880 +7900 +4A60 +4840 +8880 +9B00 +ENDCHAR +STARTCHAR U_809D +ENCODING 32925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4880 +4880 +7880 +4880 +4FE0 +7880 +4880 +4880 +8880 +9880 +ENDCHAR +STARTCHAR U_809E +ENCODING 32926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5440 +5540 +7540 +5280 +5280 +7100 +5100 +5280 +9440 +B820 +ENDCHAR +STARTCHAR U_809F +ENCODING 32927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4800 +4800 +7FE0 +4A00 +4FE0 +7820 +4820 +4820 +8920 +98C0 +ENDCHAR +STARTCHAR U_80A0 +ENCODING 32928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4880 +4900 +7A00 +4FE0 +4AA0 +7CA0 +4920 +4A20 +8D20 +98C0 +ENDCHAR +STARTCHAR U_80A1 +ENCODING 32929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +4A40 +7C60 +4800 +4BE0 +7A20 +4940 +4880 +8940 +9E20 +ENDCHAR +STARTCHAR U_80A2 +ENCODING 32930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4880 +4FE0 +7880 +4BE0 +4A20 +7A20 +4940 +4880 +8940 +9E20 +ENDCHAR +STARTCHAR U_80A3 +ENCODING 32931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4A80 +4C40 +7920 +4880 +4800 +7FE0 +4820 +4840 +8880 +9900 +ENDCHAR +STARTCHAR U_80A4 +ENCODING 32932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4FC0 +7900 +4900 +4FE0 +7900 +4900 +4A80 +8C40 +9820 +ENDCHAR +STARTCHAR U_80A5 +ENCODING 32933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4AA0 +4AA0 +7AA0 +4BE0 +4A20 +7A00 +4A00 +4A20 +8A20 +99E0 +ENDCHAR +STARTCHAR U_80A6 +ENCODING 32934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5280 +5280 +7440 +5820 +57C0 +7240 +5240 +5240 +9540 +B880 +ENDCHAR +STARTCHAR U_80A7 +ENCODING 32935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5100 +5100 +7300 +5300 +5540 +7520 +5920 +5100 +9100 +B100 +ENDCHAR +STARTCHAR U_80A8 +ENCODING 32936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5100 +57C0 +7100 +5100 +57C0 +7100 +5FE0 +5100 +9100 +B100 +ENDCHAR +STARTCHAR U_80A9 +ENCODING 32937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +0400 +3FC0 +2040 +3FC0 +2000 +2FC0 +2840 +2FC0 +2840 +4FC0 +8840 +ENDCHAR +STARTCHAR U_80AA +ENCODING 32938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4880 +4FE0 +7900 +49E0 +4920 +7920 +4920 +4A20 +8A20 +9CC0 +ENDCHAR +STARTCHAR U_80AB +ENCODING 32939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4880 +4FE0 +7880 +4AA0 +4AA0 +7BE0 +4880 +48A0 +88A0 +9860 +ENDCHAR +STARTCHAR U_80AC +ENCODING 32940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7280 +5240 +57E0 +7280 +5280 +7280 +5480 +54A0 +54A0 +B8E0 +ENDCHAR +STARTCHAR U_80AD +ENCODING 32941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4880 +4BE0 +7AA0 +4AA0 +4AA0 +7B60 +4A20 +4A20 +8A20 +9A60 +ENDCHAR +STARTCHAR U_80AE +ENCODING 32942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +5100 +5FE0 +7000 +5780 +5480 +7480 +5480 +5480 +94A0 +B860 +ENDCHAR +STARTCHAR U_80AF +ENCODING 32943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +27C0 +2400 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +2280 +2100 +ENDCHAR +STARTCHAR U_80B0 +ENCODING 32944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5140 +5120 +7FE0 +5100 +5100 +7100 +5280 +5240 +D440 +B820 +ENDCHAR +STARTCHAR U_80B1 +ENCODING 32945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4FE0 +7900 +4940 +4A40 +7A80 +4A80 +4D40 +8FA0 +9820 +ENDCHAR +STARTCHAR U_80B2 +ENCODING 32946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +7FC0 +0040 +3F80 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_80B3 +ENCODING 32947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +5200 +53E0 +7560 +5560 +5AA0 +72A0 +54A0 +5120 +9260 +B440 +ENDCHAR +STARTCHAR U_80B4 +ENCODING 32948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +71C0 +0E00 +71C0 +0400 +FFE0 +1080 +3F80 +5080 +9F80 +1080 +1380 +ENDCHAR +STARTCHAR U_80B5 +ENCODING 32949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +4B80 +4A00 +7A00 +4BE0 +4A40 +7A40 +4A40 +4A40 +8C40 +9840 +ENDCHAR +STARTCHAR U_80B6 +ENCODING 32950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +7480 +5480 +54A0 +77C0 +5480 +7480 +5480 +55A0 +96A0 +B4E0 +ENDCHAR +STARTCHAR U_80B7 +ENCODING 32951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +4A00 +4BE0 +7C20 +4880 +4880 +7880 +4880 +4940 +8A20 +9C20 +ENDCHAR +STARTCHAR U_80B8 +ENCODING 32952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A80 +4A80 +4C40 +7920 +4900 +4900 +7FE0 +4900 +4900 +8900 +9900 +ENDCHAR +STARTCHAR U_80B9 +ENCODING 32953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5280 +5440 +7440 +5FA0 +5200 +77C0 +5040 +5040 +9140 +B080 +ENDCHAR +STARTCHAR U_80BA +ENCODING 32954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5100 +7100 +57E0 +5520 +7520 +5520 +5560 +9100 +B100 +ENDCHAR +STARTCHAR U_80BB +ENCODING 32955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +0400 +7FE0 +4020 +BFA0 +2080 +3F80 +2080 +3F80 +2080 +2180 +ENDCHAR +STARTCHAR U_80BC +ENCODING 32956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A40 +4A40 +4FE0 +7A40 +4A40 +4FE0 +7A40 +4A40 +4A40 +8C40 +9840 +ENDCHAR +STARTCHAR U_80BD +ENCODING 32957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4900 +7FE0 +4900 +4900 +7900 +4980 +4A40 +8D60 +9920 +ENDCHAR +STARTCHAR U_80BE +ENCODING 32958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +9280 +9100 +96E0 +3F80 +2080 +3F80 +2080 +3F80 +2080 +2380 +ENDCHAR +STARTCHAR U_80BF +ENCODING 32959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4880 +4BE0 +7AA0 +4AA0 +4AA0 +7BE0 +4AA0 +4880 +8880 +9880 +ENDCHAR +STARTCHAR U_80C0 +ENCODING 32960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A20 +4A40 +4A80 +7B00 +4A00 +4FE0 +7A80 +4A80 +4A80 +8B40 +9A20 +ENDCHAR +STARTCHAR U_80C1 +ENCODING 32961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9100 +9FC0 +F140 +9540 +9540 +FA60 +9240 +9440 +9A40 +B180 +ENDCHAR +STARTCHAR U_80C2 +ENCODING 32962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +5080 +57E0 +74A0 +57E0 +54A0 +77E0 +54A0 +5080 +9080 +B080 +ENDCHAR +STARTCHAR U_80C3 +ENCODING 32963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +8880 +FF80 +8880 +FF80 +4100 +7F00 +4100 +7F00 +4100 +4700 +ENDCHAR +STARTCHAR U_80C4 +ENCODING 32964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +FF80 +8880 +FF80 +8880 +FF80 +4100 +7F00 +4100 +7F00 +4100 +ENDCHAR +STARTCHAR U_80C5 +ENCODING 32965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5500 +57C0 +7900 +5100 +5FE0 +7100 +5280 +5280 +5440 +B820 +ENDCHAR +STARTCHAR U_80C6 +ENCODING 32966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7800 +4BC0 +4A40 +7A40 +4BC0 +4A40 +7A40 +4BC0 +4800 +8800 +9FE0 +ENDCHAR +STARTCHAR U_80C7 +ENCODING 32967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5FE0 +52A0 +77E0 +5A80 +5FE0 +72A0 +52A0 +52E0 +5480 +B880 +ENDCHAR +STARTCHAR U_80C8 +ENCODING 32968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +4920 +4FE0 +7900 +49C0 +4940 +7940 +4A80 +4AC0 +8D20 +9A20 +ENDCHAR +STARTCHAR U_80C9 +ENCODING 32969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4900 +4BE0 +7A20 +4A20 +4BE0 +7A20 +4A20 +4A20 +8BE0 +9A20 +ENDCHAR +STARTCHAR U_80CA +ENCODING 32970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +4A00 +4BE0 +7C20 +4BA0 +4AA0 +7AA0 +4BA0 +4820 +8920 +98C0 +ENDCHAR +STARTCHAR U_80CB +ENCODING 32971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5100 +51E0 +7100 +5100 +57E0 +7420 +5420 +5420 +97E0 +B420 +ENDCHAR +STARTCHAR U_80CC +ENCODING 32972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +F380 +1220 +33E0 +C000 +3F80 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_80CD +ENCODING 32973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7060 +57C0 +5540 +7540 +5540 +5540 +7540 +5540 +5540 +95E0 +9940 +ENDCHAR +STARTCHAR U_80CE +ENCODING 32974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4A40 +7FE0 +4820 +4BC0 +7A40 +4A40 +4A40 +8BC0 +9A40 +ENDCHAR +STARTCHAR U_80CF +ENCODING 32975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +48A0 +4BC0 +7A80 +4C80 +4FE0 +79A0 +4AA0 +4CE0 +8880 +9880 +ENDCHAR +STARTCHAR U_80D0 +ENCODING 32976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5520 +5520 +7520 +57E0 +5100 +7520 +5520 +5520 +97E0 +B420 +ENDCHAR +STARTCHAR U_80D1 +ENCODING 32977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4A20 +4A20 +7A20 +4A20 +4BE0 +7800 +4800 +4A40 +8A20 +9C20 +ENDCHAR +STARTCHAR U_80D2 +ENCODING 32978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5440 +57C0 +7400 +5500 +5540 +7580 +5500 +5500 +9520 +B8E0 +ENDCHAR +STARTCHAR U_80D3 +ENCODING 32979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5100 +5540 +7540 +5580 +7FE0 +5100 +5100 +5100 +9100 +B100 +ENDCHAR +STARTCHAR U_80D4 +ENCODING 32980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +5D80 +5120 +FDE0 +0400 +7FC0 +4440 +4B40 +5440 +4A40 +51C0 +ENDCHAR +STARTCHAR U_80D5 +ENCODING 32981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7240 +5240 +5440 +75E0 +5C40 +5640 +7540 +5540 +5440 +9540 +B480 +ENDCHAR +STARTCHAR U_80D6 +ENCODING 32982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7920 +5520 +5540 +7100 +57C0 +5100 +7FE0 +5100 +5100 +9100 +9100 +ENDCHAR +STARTCHAR U_80D7 +ENCODING 32983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4A80 +4C40 +7920 +4A80 +4920 +7A40 +4880 +4900 +8A00 +9C00 +ENDCHAR +STARTCHAR U_80D8 +ENCODING 32984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4880 +4FE0 +7900 +4A40 +4F80 +7880 +4940 +4A20 +8FE0 +9820 +ENDCHAR +STARTCHAR U_80D9 +ENCODING 32985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +4A00 +4BE0 +7D00 +49E0 +4900 +7900 +49E0 +4900 +8900 +9900 +ENDCHAR +STARTCHAR U_80DA +ENCODING 32986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4880 +4900 +7900 +4B40 +4D20 +7920 +4900 +4900 +8800 +9FE0 +ENDCHAR +STARTCHAR U_80DB +ENCODING 32987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4AA0 +4AA0 +7BE0 +4AA0 +4AA0 +7BE0 +4880 +4880 +8880 +9880 +ENDCHAR +STARTCHAR U_80DC +ENCODING 32988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5500 +5500 +77E0 +5900 +5100 +77C0 +5100 +5100 +9100 +BFE0 +ENDCHAR +STARTCHAR U_80DD +ENCODING 32989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7040 +5780 +5480 +7480 +57E0 +5480 +7480 +5580 +56A0 +9560 +B4A0 +ENDCHAR +STARTCHAR U_80DE +ENCODING 32990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +53E0 +5420 +7FA0 +54A0 +54A0 +77A0 +54C0 +5420 +9420 +B3E0 +ENDCHAR +STARTCHAR U_80DF +ENCODING 32991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5440 +5540 +7540 +5FE0 +5440 +7540 +5540 +57E0 +9040 +B180 +ENDCHAR +STARTCHAR U_80E0 +ENCODING 32992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4FC0 +7900 +4900 +4FE0 +7900 +4900 +4A40 +8C60 +9FA0 +ENDCHAR +STARTCHAR U_80E1 +ENCODING 32993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1220 +FE20 +13E0 +1220 +7A20 +4BE0 +4A20 +7A20 +4C20 +08E0 +ENDCHAR +STARTCHAR U_80E2 +ENCODING 32994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5040 +5740 +7540 +5540 +5540 +7740 +5540 +5040 +9140 +B080 +ENDCHAR +STARTCHAR U_80E3 +ENCODING 32995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +4BE0 +4C80 +7AA0 +4AE0 +4FA0 +7AA0 +4AE0 +4A80 +8A20 +99E0 +ENDCHAR +STARTCHAR U_80E4 +ENCODING 32996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +5C80 +4A80 +5F80 +4080 +5E80 +5280 +5E80 +52A0 +9EA0 +9260 +ENDCHAR +STARTCHAR U_80E5 +ENCODING 32997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2440 +2780 +5400 +BFE0 +2080 +3F80 +2080 +3F80 +2080 +2380 +ENDCHAR +STARTCHAR U_80E6 +ENCODING 32998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5100 +57C0 +7540 +5540 +5FE0 +7100 +5100 +5280 +9440 +B820 +ENDCHAR +STARTCHAR U_80E7 +ENCODING 32999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5240 +5FE0 +7280 +52A0 +52A0 +72C0 +5480 +55A0 +9AA0 +B0E0 +ENDCHAR +STARTCHAR U_80E8 +ENCODING 33000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4FE0 +4900 +7A80 +4A80 +4FE0 +7880 +4AC0 +4AA0 +8CA0 +9980 +ENDCHAR +STARTCHAR U_80E9 +ENCODING 33001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +49E0 +7900 +4FE0 +4900 +7980 +4940 +4920 +8920 +9900 +ENDCHAR +STARTCHAR U_80EA +ENCODING 33002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +48E0 +4880 +7BE0 +4A20 +4A20 +7BE0 +4A00 +4A00 +8A00 +9C00 +ENDCHAR +STARTCHAR U_80EB +ENCODING 33003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5040 +5080 +7140 +5620 +5000 +77C0 +5100 +5100 +9100 +BFE0 +ENDCHAR +STARTCHAR U_80EC +ENCODING 33004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F940 +5080 +3B60 +C400 +7FC0 +4A40 +5540 +4440 +4A40 +5140 +ENDCHAR +STARTCHAR U_80ED +ENCODING 33005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5520 +5520 +77E0 +5520 +5520 +75A0 +5660 +5420 +97E0 +9420 +ENDCHAR +STARTCHAR U_80EE +ENCODING 33006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79C0 +4A20 +4940 +7880 +4B40 +4CA0 +7BE0 +4A80 +4FE0 +4880 +9880 +ENDCHAR +STARTCHAR U_80EF +ENCODING 33007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5440 +7BA0 +5000 +5FE0 +7200 +57C0 +5040 +9040 +B180 +ENDCHAR +STARTCHAR U_80F0 +ENCODING 33008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5100 +77E0 +5120 +57E0 +7500 +57E0 +5160 +9280 +B460 +ENDCHAR +STARTCHAR U_80F1 +ENCODING 33009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5920 +5540 +7100 +5FE0 +5280 +7280 +5280 +52A0 +94A0 +B860 +ENDCHAR +STARTCHAR U_80F2 +ENCODING 33010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +5100 +5FE0 +7240 +5480 +5720 +7240 +5480 +5140 +9220 +B420 +ENDCHAR +STARTCHAR U_80F3 +ENCODING 33011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +53C0 +5680 +7900 +5280 +5440 +7BE0 +5240 +5240 +93C0 +B240 +ENDCHAR +STARTCHAR U_80F4 +ENCODING 33012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5420 +55E0 +7420 +55E0 +5560 +7560 +55E0 +5420 +9420 +B460 +ENDCHAR +STARTCHAR U_80F5 +ENCODING 33013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5100 +5200 +7440 +57A0 +5100 +7100 +57C0 +5100 +9100 +BFE0 +ENDCHAR +STARTCHAR U_80F6 +ENCODING 33014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +5280 +7440 +5820 +7480 +5280 +5100 +5280 +B440 +8820 +ENDCHAR +STARTCHAR U_80F7 +ENCODING 33015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4A20 +A4A0 +2AA0 +3FC0 +2080 +3F80 +2080 +3F80 +2080 +2180 +ENDCHAR +STARTCHAR U_80F8 +ENCODING 33016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +53E0 +5420 +7920 +56A0 +55A0 +76A0 +54A0 +57A0 +9020 +B0C0 +ENDCHAR +STARTCHAR U_80F9 +ENCODING 33017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A100 +A200 +EFE0 +AAA0 +AAA0 +EAA0 +AAA0 +AAA0 +AAA0 +A860 +ENDCHAR +STARTCHAR U_80FA +ENCODING 33018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +5420 +7100 +57E0 +5240 +7240 +5680 +5180 +9240 +B420 +ENDCHAR +STARTCHAR U_80FB +ENCODING 33019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +72E0 +5400 +5800 +7200 +55E0 +5440 +7C40 +5440 +5440 +9540 +B480 +ENDCHAR +STARTCHAR U_80FC +ENCODING 33020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7440 +5280 +5FE0 +7280 +5280 +5FE0 +7280 +5280 +5280 +9480 +B880 +ENDCHAR +STARTCHAR U_80FD +ENCODING 33021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4940 +FD80 +0120 +7DE0 +4400 +7D40 +4580 +7D20 +4520 +4DE0 +ENDCHAR +STARTCHAR U_80FE +ENCODING 33022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD40 +1120 +FFE0 +1100 +FD20 +9520 +AD40 +D4A0 +AD60 +CE20 +ENDCHAR +STARTCHAR U_80FF +ENCODING 33023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +4900 +7900 +4FE0 +4900 +7900 +4FC0 +4900 +4900 +9FE0 +ENDCHAR +STARTCHAR U_8100 +ENCODING 33024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0120 +7640 +1480 +2C40 +7FA0 +A080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_8101 +ENCODING 33025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5AA0 +56C0 +7280 +5280 +56C0 +7AA0 +5280 +52A0 +94A0 +B860 +ENDCHAR +STARTCHAR U_8102 +ENCODING 33026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +4A60 +4B80 +7A20 +49E0 +4800 +7BE0 +4A20 +4BE0 +8A20 +9BE0 +ENDCHAR +STARTCHAR U_8103 +ENCODING 33027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BE0 +4C40 +7BE0 +4AA0 +4AA0 +7BE0 +4A00 +4A00 +4A20 +99E0 +ENDCHAR +STARTCHAR U_8104 +ENCODING 33028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4FE0 +4900 +7900 +4A80 +4AA0 +7DC0 +4A80 +4940 +4A20 +9C20 +ENDCHAR +STARTCHAR U_8105 +ENCODING 33029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7F80 +2080 +FBE0 +4920 +BFE0 +2080 +3F80 +2080 +3F80 +2180 +ENDCHAR +STARTCHAR U_8106 +ENCODING 33030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +73C0 +5480 +5FE0 +7400 +55C0 +5540 +7540 +55C0 +5520 +9520 +B8E0 +ENDCHAR +STARTCHAR U_8107 +ENCODING 33031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4FC0 +4940 +7A40 +4C40 +4A80 +7FE0 +4AA0 +4AA0 +4AA0 +9D60 +ENDCHAR +STARTCHAR U_8108 +ENCODING 33032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E0E0 +AF00 +A860 +EB80 +AA80 +AAA0 +EAC0 +AA80 +AAC0 +AB40 +B220 +ENDCHAR +STARTCHAR U_8109 +ENCODING 33033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5080 +5700 +7120 +5D40 +5580 +7540 +5540 +5920 +9120 +B300 +ENDCHAR +STARTCHAR U_810A +ENCODING 33034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +C8C0 +2D00 +D2C0 +2100 +7F80 +A140 +3F00 +2100 +3F00 +2100 +2700 +ENDCHAR +STARTCHAR U_810B +ENCODING 33035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0880 +1100 +FFE0 +2520 +FFC0 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_810C +ENCODING 33036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BE0 +4C80 +7880 +4BE0 +4A80 +7A80 +4FE0 +4880 +4880 +9880 +ENDCHAR +STARTCHAR U_810D +ENCODING 33037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5280 +5440 +7820 +53C0 +5000 +77E0 +5100 +5200 +9440 +B7A0 +ENDCHAR +STARTCHAR U_810E +ENCODING 33038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E60 +4980 +4A40 +7CA0 +4880 +4FE0 +7880 +4AC0 +4CA0 +88A0 +B980 +ENDCHAR +STARTCHAR U_810F +ENCODING 33039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +57E0 +5400 +7480 +5480 +57E0 +7480 +5480 +5480 +9880 +B3E0 +ENDCHAR +STARTCHAR U_8110 +ENCODING 33040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5240 +7180 +5240 +5C20 +7240 +5240 +5240 +9440 +B840 +ENDCHAR +STARTCHAR U_8111 +ENCODING 33041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5080 +57E0 +7000 +54A0 +56A0 +7520 +56A0 +5420 +97E0 +B420 +ENDCHAR +STARTCHAR U_8112 +ENCODING 33042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4D20 +4B40 +7900 +4FE0 +4900 +7980 +4B40 +4D20 +8920 +B900 +ENDCHAR +STARTCHAR U_8113 +ENCODING 33043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5920 +7100 +52A0 +56C0 +7A80 +5280 +52C0 +9320 +B220 +ENDCHAR +STARTCHAR U_8114 +ENCODING 33044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2A80 +4A40 +8A20 +FFC0 +8A40 +9540 +A4C0 +8A40 +91C0 +ENDCHAR +STARTCHAR U_8115 +ENCODING 33045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +53C0 +5480 +7FE0 +5520 +5520 +77E0 +5280 +52A0 +94A0 +B8E0 +ENDCHAR +STARTCHAR U_8116 +ENCODING 33046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +5100 +7FE0 +5820 +57C0 +7080 +5FE0 +5100 +9100 +B300 +ENDCHAR +STARTCHAR U_8117 +ENCODING 33047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BE0 +4D60 +7AA0 +4CA0 +4920 +7A40 +4BE0 +4A20 +4A20 +9BE0 +ENDCHAR +STARTCHAR U_8118 +ENCODING 33048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4880 +4FE0 +7C20 +4BC0 +4800 +7FE0 +4A80 +4AA0 +8CA0 +9860 +ENDCHAR +STARTCHAR U_8119 +ENCODING 33049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7180 +5140 +5FE0 +7100 +5920 +5540 +7380 +5540 +5920 +9120 +B300 +ENDCHAR +STARTCHAR U_811A +ENCODING 33050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +74E0 +54A0 +5FA0 +74A0 +54A0 +5FA0 +74A0 +5AA0 +5FE0 +9080 +B080 +ENDCHAR +STARTCHAR U_811B +ENCODING 33051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5540 +5540 +7A80 +5540 +5540 +7000 +57C0 +5100 +9100 +BFE0 +ENDCHAR +STARTCHAR U_811C +ENCODING 33052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4880 +4900 +7BE0 +4A20 +4BE0 +7A20 +4BE0 +4A20 +AA20 +93E0 +ENDCHAR +STARTCHAR U_811D +ENCODING 33053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4FE0 +4A40 +7BC0 +4800 +4FE0 +7840 +4880 +4880 +8880 +9980 +ENDCHAR +STARTCHAR U_811E +ENCODING 33054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5540 +5540 +7540 +5BA0 +5920 +7100 +57C0 +5100 +9100 +BFE0 +ENDCHAR +STARTCHAR U_811F +ENCODING 33055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +4BA0 +4D20 +7AC0 +4840 +4FE0 +7840 +4A40 +4940 +8840 +99C0 +ENDCHAR +STARTCHAR U_8120 +ENCODING 33056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7060 +5DC0 +5440 +7440 +5960 +5540 +7540 +5D40 +57E0 +5400 +9BE0 +ENDCHAR +STARTCHAR U_8121 +ENCODING 33057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7020 +5EC0 +5240 +7440 +57E0 +5240 +7A40 +57E0 +5200 +9500 +B8E0 +ENDCHAR +STARTCHAR U_8122 +ENCODING 33058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +57E0 +5800 +77C0 +5540 +5FE0 +7540 +5540 +57E0 +9040 +B180 +ENDCHAR +STARTCHAR U_8123 +ENCODING 33059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4000 +7FE0 +5280 +51E0 +5FC0 +9040 +9FC0 +1040 +1FC0 +1040 +ENDCHAR +STARTCHAR U_8124 +ENCODING 33060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5400 +57C0 +7400 +57E0 +5540 +7540 +5560 +5540 +95A0 +9920 +ENDCHAR +STARTCHAR U_8125 +ENCODING 33061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5100 +7540 +5540 +5BA0 +7120 +5100 +5280 +9440 +B820 +ENDCHAR +STARTCHAR U_8126 +ENCODING 33062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +70C0 +50A0 +5FE0 +7080 +5480 +5280 +7580 +54A0 +5DA0 +9360 +B020 +ENDCHAR +STARTCHAR U_8127 +ENCODING 33063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5240 +57A0 +7240 +5520 +53C0 +7240 +5640 +5980 +9240 +B420 +ENDCHAR +STARTCHAR U_8128 +ENCODING 33064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5100 +77E0 +5520 +57E0 +7100 +5380 +5540 +9920 +B100 +ENDCHAR +STARTCHAR U_8129 +ENCODING 33065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27E0 +4A40 +5180 +D7C0 +5C60 +57C0 +5440 +57C0 +4440 +44C0 +ENDCHAR +STARTCHAR U_812A +ENCODING 33066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +4880 +4B60 +7900 +4FE0 +4A80 +7FE0 +4AA0 +4AA0 +4AA0 +8880 +ENDCHAR +STARTCHAR U_812B +ENCODING 33067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5440 +5FE0 +7440 +5440 +57C0 +7280 +5280 +52A0 +94A0 +B860 +ENDCHAR +STARTCHAR U_812C +ENCODING 33068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +70C0 +5F20 +5A20 +7540 +5FC0 +5080 +7100 +5FE0 +5100 +9100 +B300 +ENDCHAR +STARTCHAR U_812D +ENCODING 33069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5440 +5440 +77C0 +5000 +5FE0 +7100 +57C0 +5100 +9100 +BFE0 +ENDCHAR +STARTCHAR U_812E +ENCODING 33070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78E0 +4FA0 +4AA0 +7AC0 +4900 +4FE0 +7940 +4A40 +4980 +4980 +9E60 +ENDCHAR +STARTCHAR U_812F +ENCODING 33071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E140 +A120 +AFE0 +E100 +AFE0 +A920 +EFE0 +A920 +AFE0 +A920 +A960 +ENDCHAR +STARTCHAR U_8130 +ENCODING 33072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4800 +4BC0 +7A40 +4A40 +4BC0 +7A40 +4800 +4A40 +8980 +9FE0 +ENDCHAR +STARTCHAR U_8131 +ENCODING 33073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7440 +5280 +57C0 +7440 +5440 +57C0 +7280 +5280 +52A0 +94A0 +B8E0 +ENDCHAR +STARTCHAR U_8132 +ENCODING 33074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5420 +57E0 +7480 +54A0 +56A0 +75C0 +55A0 +56A0 +94A0 +B980 +ENDCHAR +STARTCHAR U_8133 +ENCODING 33075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D20 +4AA0 +4AC0 +7800 +4A20 +4B60 +7AA0 +4B60 +4A20 +4BE0 +9A20 +ENDCHAR +STARTCHAR U_8134 +ENCODING 33076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4880 +4900 +7B80 +4D40 +4920 +7900 +4BC0 +4A40 +4A40 +9BC0 +ENDCHAR +STARTCHAR U_8135 +ENCODING 33077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5440 +57C0 +7000 +57C0 +5100 +7FE0 +5100 +5280 +5440 +B820 +ENDCHAR +STARTCHAR U_8136 +ENCODING 33078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +73C0 +5240 +5240 +73C0 +5100 +57E0 +7520 +5520 +56A0 +9460 +9460 +ENDCHAR +STARTCHAR U_8137 +ENCODING 33079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7B20 +4E20 +4A20 +7FA0 +4AA0 +4AA0 +7BA0 +4EA0 +4A20 +4A20 +9A60 +ENDCHAR +STARTCHAR U_8138 +ENCODING 33080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4880 +4940 +7A20 +4FC0 +4920 +7CA0 +4AA0 +4A40 +8840 +9FE0 +ENDCHAR +STARTCHAR U_8139 +ENCODING 33081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4A00 +4BC0 +7A00 +4BC0 +4A00 +7FE0 +4AA0 +4A40 +8AA0 +9B20 +ENDCHAR +STARTCHAR U_813A +ENCODING 33082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4880 +4FE0 +7A40 +4B40 +4CA0 +7880 +4FE0 +4880 +8880 +9880 +ENDCHAR +STARTCHAR U_813B +ENCODING 33083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +4900 +7FC0 +4940 +4FE0 +7940 +4FC0 +4900 +4900 +9FE0 +ENDCHAR +STARTCHAR U_813C +ENCODING 33084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5100 +5100 +77E0 +5520 +57A0 +7560 +57A0 +5520 +5520 +B560 +ENDCHAR +STARTCHAR U_813D +ENCODING 33085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7300 +5280 +57E0 +7480 +5FE0 +5480 +77E0 +5480 +5480 +97E0 +B400 +ENDCHAR +STARTCHAR U_813E +ENCODING 33086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +5520 +77E0 +5520 +57E0 +7100 +5280 +57E0 +9080 +B080 +ENDCHAR +STARTCHAR U_813F +ENCODING 33087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +4900 +7FC0 +4900 +4FE0 +7900 +4B20 +4EC0 +4A40 +9B20 +ENDCHAR +STARTCHAR U_8140 +ENCODING 33088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4980 +4A40 +7FE0 +4800 +4FE0 +7AA0 +4FE0 +4AA0 +4AA0 +9860 +ENDCHAR +STARTCHAR U_8141 +ENCODING 33089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7220 +5440 +5EE0 +7440 +5440 +5440 +7EE0 +5440 +5440 +5440 +B840 +ENDCHAR +STARTCHAR U_8142 +ENCODING 33090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4AA0 +4BE0 +7AA0 +4BE0 +4880 +7FE0 +49C0 +4AA0 +4AA0 +9CA0 +ENDCHAR +STARTCHAR U_8143 +ENCODING 33091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A40 +5680 +5FE0 +7200 +5FE0 +5440 +7FA0 +5480 +55A0 +9420 +B3E0 +ENDCHAR +STARTCHAR U_8144 +ENCODING 33092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5100 +5FE0 +7540 +5540 +5FE0 +7540 +5540 +5FE0 +9100 +B7C0 +ENDCHAR +STARTCHAR U_8145 +ENCODING 33093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7AA0 +4AA0 +4880 +7940 +4A20 +4C80 +7AA0 +49C0 +4880 +4940 +9A20 +ENDCHAR +STARTCHAR U_8146 +ENCODING 33094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E280 +A280 +AFE0 +EAA0 +AAA0 +AFE0 +EAA0 +AAA0 +BFE0 +A280 +AC60 +ENDCHAR +STARTCHAR U_8147 +ENCODING 33095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5100 +5FE0 +7380 +5540 +5920 +7FE0 +5280 +5680 +9180 +BE60 +ENDCHAR +STARTCHAR U_8148 +ENCODING 33096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5100 +77C0 +5100 +5FE0 +7440 +57C0 +5440 +97C0 +B4C0 +ENDCHAR +STARTCHAR U_8149 +ENCODING 33097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4AE0 +4A20 +7B60 +4A20 +4BE0 +7940 +4940 +4940 +4A40 +9460 +ENDCHAR +STARTCHAR U_814A +ENCODING 33098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5280 +57C0 +7280 +5FE0 +5000 +77C0 +5440 +57C0 +9440 +B7C0 +ENDCHAR +STARTCHAR U_814B +ENCODING 33099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5280 +74E0 +5D20 +56A0 +7560 +5540 +5480 +9540 +B620 +ENDCHAR +STARTCHAR U_814C +ENCODING 33100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5280 +7540 +5FE0 +5540 +77C0 +5540 +57C0 +9120 +B0E0 +ENDCHAR +STARTCHAR U_814D +ENCODING 33101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7380 +5440 +5A20 +7100 +5FC0 +5040 +7180 +5340 +56A0 +9A40 +B1C0 +ENDCHAR +STARTCHAR U_814E +ENCODING 33102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +9240 +F980 +FA40 +9420 +FF80 +2080 +3F80 +2080 +3F80 +2180 +ENDCHAR +STARTCHAR U_814F +ENCODING 33103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5120 +56C0 +7240 +55A0 +5FE0 +7220 +54A0 +5240 +95C0 +B920 +ENDCHAR +STARTCHAR U_8150 +ENCODING 33104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4840 +5FE0 +6A40 +4940 +5FE0 +5220 +5520 +5AA0 +9560 +ENDCHAR +STARTCHAR U_8151 +ENCODING 33105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +5480 +7520 +57E0 +5520 +75A0 +5560 +5520 +9520 +B960 +ENDCHAR +STARTCHAR U_8152 +ENCODING 33106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5420 +57E0 +7480 +57E0 +5480 +75E0 +5520 +5520 +95E0 +B920 +ENDCHAR +STARTCHAR U_8153 +ENCODING 33107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5280 +5EE0 +7280 +5280 +5EE0 +7280 +5280 +5EE0 +9280 +B280 +ENDCHAR +STARTCHAR U_8154 +ENCODING 33108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5820 +7280 +5440 +5820 +77C0 +5100 +5100 +9100 +BFE0 +ENDCHAR +STARTCHAR U_8155 +ENCODING 33109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5820 +7200 +57E0 +58A0 +75A0 +52E0 +5280 +94A0 +B860 +ENDCHAR +STARTCHAR U_8156 +ENCODING 33110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +4880 +7BE0 +4AA0 +4BE0 +7AA0 +4BE0 +49C0 +AAA0 +94A0 +ENDCHAR +STARTCHAR U_8157 +ENCODING 33111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57C0 +5540 +77C0 +5540 +57C0 +7000 +5FE0 +5240 +5240 +B440 +ENDCHAR +STARTCHAR U_8158 +ENCODING 33112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5420 +57E0 +7520 +57E0 +55A0 +7560 +57E0 +5420 +57E0 +B420 +ENDCHAR +STARTCHAR U_8159 +ENCODING 33113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +5420 +73C0 +5000 +57E0 +7080 +52C0 +54A0 +94A0 +B180 +ENDCHAR +STARTCHAR U_815A +ENCODING 33114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +5420 +77E0 +5100 +5500 +75E0 +5500 +5500 +9B00 +B1E0 +ENDCHAR +STARTCHAR U_815B +ENCODING 33115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5420 +57E0 +7400 +57E0 +5540 +77E0 +5480 +57E0 +9480 +BBE0 +ENDCHAR +STARTCHAR U_815C +ENCODING 33116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A40 +4FE0 +4A40 +7BC0 +4A40 +4BC0 +7880 +4FE0 +4980 +8AC0 +9CA0 +ENDCHAR +STARTCHAR U_815D +ENCODING 33117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5200 +5FE0 +7AA0 +5AA0 +5260 +7FE0 +5300 +5280 +5460 +B840 +ENDCHAR +STARTCHAR U_815E +ENCODING 33118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +73C0 +5240 +57C0 +7080 +5FE0 +5520 +72C0 +5580 +52C0 +94A0 +B320 +ENDCHAR +STARTCHAR U_815F +ENCODING 33119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5820 +7FE0 +5240 +5FE0 +7100 +57C0 +5100 +5100 +BFE0 +ENDCHAR +STARTCHAR U_8160 +ENCODING 33120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5200 +77C0 +5200 +5FE0 +77C0 +5920 +5FE0 +9280 +9C60 +ENDCHAR +STARTCHAR U_8161 +ENCODING 33121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A440 +A740 +E540 +AFE0 +A820 +EBA0 +AAA0 +ABA0 +A820 +A860 +ENDCHAR +STARTCHAR U_8162 +ENCODING 33122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5540 +57C0 +7540 +57C0 +5100 +77E0 +5560 +57A0 +9420 +B460 +ENDCHAR +STARTCHAR U_8163 +ENCODING 33123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5440 +7280 +5FE0 +5920 +77C0 +5540 +5540 +55C0 +B100 +ENDCHAR +STARTCHAR U_8164 +ENCODING 33124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5440 +7280 +5FE0 +5000 +77C0 +5440 +57C0 +9440 +B7C0 +ENDCHAR +STARTCHAR U_8165 +ENCODING 33125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4A20 +4BE0 +7A20 +4BE0 +4A80 +7BE0 +4C80 +4BE0 +8880 +9FE0 +ENDCHAR +STARTCHAR U_8166 +ENCODING 33126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +72A0 +5540 +52A0 +7200 +57E0 +5420 +76A0 +5520 +56A0 +97E0 +B420 +ENDCHAR +STARTCHAR U_8167 +ENCODING 33127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +A280 +A440 +EBA0 +B000 +AEA0 +EAA0 +AEA0 +AAA0 +AE20 +AAE0 +ENDCHAR +STARTCHAR U_8168 +ENCODING 33128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5540 +5540 +77C0 +5000 +5FE0 +7000 +5FE0 +5AA0 +5AA0 +B860 +ENDCHAR +STARTCHAR U_8169 +ENCODING 33129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A100 +EFE0 +AAA0 +AFE0 +E920 +AFE0 +A920 +A920 +A860 +ENDCHAR +STARTCHAR U_816A +ENCODING 33130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5920 +57C0 +7100 +57C0 +5540 +77C0 +5540 +5FE0 +5100 +B100 +ENDCHAR +STARTCHAR U_816B +ENCODING 33131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5100 +5FE0 +7540 +57C0 +5540 +77C0 +5100 +57C0 +9100 +BFE0 +ENDCHAR +STARTCHAR U_816C +ENCODING 33132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5280 +5100 +7FE0 +5540 +5B00 +7100 +5FE0 +5540 +5920 +B100 +ENDCHAR +STARTCHAR U_816D +ENCODING 33133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7EE0 +5AA0 +5EE0 +7000 +57C0 +5000 +7FE0 +5200 +57C0 +9040 +B380 +ENDCHAR +STARTCHAR U_816E +ENCODING 33134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5520 +57E0 +7520 +57E0 +5420 +7140 +56A0 +5A20 +9240 +B1C0 +ENDCHAR +STARTCHAR U_816F +ENCODING 33135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5480 +57E0 +7480 +55E0 +5520 +75E0 +5520 +55E0 +9520 +B9E0 +ENDCHAR +STARTCHAR U_8170 +ENCODING 33136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A280 +AFE0 +EAA0 +AFE0 +A100 +EFE0 +A240 +A680 +A1C0 +AE20 +ENDCHAR +STARTCHAR U_8171 +ENCODING 33137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +5FE0 +54A0 +75E0 +54A0 +5FE0 +7280 +5BE0 +5480 +9680 +B9E0 +ENDCHAR +STARTCHAR U_8172 +ENCODING 33138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5520 +57E0 +7520 +57E0 +5000 +7FE0 +54A0 +54C0 +9540 +B620 +ENDCHAR +STARTCHAR U_8173 +ENCODING 33139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EAE0 +AAA0 +B1A0 +E4A0 +AAA0 +B1A0 +E0A0 +AEA0 +AAE0 +AA80 +AE80 +ENDCHAR +STARTCHAR U_8174 +ENCODING 33140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AD60 +A920 +EFE0 +A920 +AFE0 +E920 +A100 +A280 +A440 +A820 +ENDCHAR +STARTCHAR U_8175 +ENCODING 33141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7760 +5520 +5520 +7760 +5400 +57E0 +74A0 +57A0 +5440 +54A0 +B520 +ENDCHAR +STARTCHAR U_8176 +ENCODING 33142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +76E0 +54A0 +54A0 +7720 +5400 +57E0 +74A0 +57A0 +5C40 +94A0 +B520 +ENDCHAR +STARTCHAR U_8177 +ENCODING 33143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5000 +53C0 +7240 +53C0 +5000 +77E0 +54A0 +57E0 +94A0 +B7E0 +ENDCHAR +STARTCHAR U_8178 +ENCODING 33144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5440 +57C0 +7440 +5FE0 +5400 +77E0 +5AA0 +52A0 +9520 +BAC0 +ENDCHAR +STARTCHAR U_8179 +ENCODING 33145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7400 +57E0 +5C40 +77C0 +5440 +57C0 +7200 +57C0 +5A40 +9180 +B660 +ENDCHAR +STARTCHAR U_817A +ENCODING 33146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +57C0 +5440 +77C0 +5440 +57C0 +7100 +5FA0 +5540 +9920 +B300 +ENDCHAR +STARTCHAR U_817B +ENCODING 33147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E0A0 +BFE0 +A080 +EE80 +A080 +AF80 +EA80 +AA80 +AAA0 +A560 +A8A0 +ENDCHAR +STARTCHAR U_817C +ENCODING 33148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A100 +AFE0 +EAA0 +ABA0 +AAA0 +EAA0 +ABA0 +AAA0 +AFE0 +A820 +ENDCHAR +STARTCHAR U_817D +ENCODING 33149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A440 +A7C0 +E440 +A7C0 +A000 +EFE0 +AAA0 +AAA0 +AAA0 +BFE0 +ENDCHAR +STARTCHAR U_817E +ENCODING 33150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7540 +5FE0 +5200 +7FE0 +5440 +5FA0 +7480 +57E0 +5020 +97A0 +B040 +ENDCHAR +STARTCHAR U_817F +ENCODING 33151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +71E0 +5920 +55E0 +7120 +5DE0 +5500 +75A0 +5540 +5520 +9580 +BBE0 +ENDCHAR +STARTCHAR U_8180 +ENCODING 33152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5440 +7280 +5FE0 +5920 +7FE0 +5200 +53E0 +9420 +B9C0 +ENDCHAR +STARTCHAR U_8181 +ENCODING 33153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7480 +5FC0 +5500 +7FC0 +5540 +5FE0 +7540 +5FC0 +5580 +5D40 +B520 +ENDCHAR +STARTCHAR U_8182 +ENCODING 33154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FFE0 +2B20 +4AC0 +9240 +3FA0 +2080 +3F80 +2080 +3F80 +2180 +ENDCHAR +STARTCHAR U_8183 +ENCODING 33155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A540 +A6C0 +E440 +A7C0 +A000 +EFE0 +AAA0 +AAA0 +AAA0 +BFE0 +ENDCHAR +STARTCHAR U_8184 +ENCODING 33156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7760 +5520 +5760 +7520 +57E0 +5100 +77E0 +5240 +5180 +5280 +BC60 +ENDCHAR +STARTCHAR U_8185 +ENCODING 33157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +5500 +77C0 +5540 +57E0 +7500 +5500 +57C0 +5A40 +BBC0 +ENDCHAR +STARTCHAR U_8186 +ENCODING 33158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5100 +77C0 +5100 +5FE0 +7280 +5540 +5FA0 +9540 +BB20 +ENDCHAR +STARTCHAR U_8187 +ENCODING 33159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +59E0 +5520 +71E0 +5D00 +55E0 +7520 +55E0 +5520 +9400 +BBE0 +ENDCHAR +STARTCHAR U_8188 +ENCODING 33160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A000 +A7C0 +E440 +A7C0 +A000 +EFE0 +AAA0 +AFE0 +A920 +B960 +ENDCHAR +STARTCHAR U_8189 +ENCODING 33161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E440 +A280 +AFE0 +E280 +A440 +A820 +EFE0 +AAA0 +AAA0 +AAA0 +BFE0 +ENDCHAR +STARTCHAR U_818A +ENCODING 33162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7140 +5FE0 +5520 +77E0 +5520 +57E0 +7520 +5FE0 +5440 +9240 +B0C0 +ENDCHAR +STARTCHAR U_818B +ENCODING 33163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +52A0 +94A0 +2940 +4620 +FFE0 +A0A0 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_818C +ENCODING 33164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +5580 +5340 +7EA0 +5440 +5FE0 +7440 +57C0 +5440 +97C0 +B4C0 +ENDCHAR +STARTCHAR U_818D +ENCODING 33165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +56A0 +7520 +56A0 +57E0 +7480 +57A0 +54C0 +97A0 +B460 +ENDCHAR +STARTCHAR U_818E +ENCODING 33166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +70C0 +5F40 +5540 +7280 +5500 +57C0 +7140 +5FE0 +5280 +5460 +B840 +ENDCHAR +STARTCHAR U_818F +ENCODING 33167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1080 +FFE0 +9120 +3F80 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_8190 +ENCODING 33168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA40 +2580 +3AA0 +4B60 +FFA0 +2480 +2A80 +2480 +2A80 +2180 +ENDCHAR +STARTCHAR U_8191 +ENCODING 33169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +57E0 +5420 +7380 +5200 +53E0 +7280 +5280 +57E0 +9240 +B420 +ENDCHAR +STARTCHAR U_8192 +ENCODING 33170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5400 +55C0 +7540 +55C0 +5400 +77E0 +56A0 +57E0 +5400 +B7E0 +ENDCHAR +STARTCHAR U_8193 +ENCODING 33171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7400 +57E0 +5C40 +77C0 +5440 +5FE0 +7400 +57E0 +5AA0 +5520 +B2C0 +ENDCHAR +STARTCHAR U_8194 +ENCODING 33172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +AA80 +EFE0 +AAA0 +AFE0 +EA80 +ABA0 +AAC0 +B3A0 +B2E0 +ENDCHAR +STARTCHAR U_8195 +ENCODING 33173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A960 +AFE0 +E920 +AF20 +AB60 +EEA0 +A9E0 +AE60 +A820 +AFE0 +ENDCHAR +STARTCHAR U_8196 +ENCODING 33174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5BE0 +5540 +7480 +5F60 +7480 +57E0 +5480 +57E0 +5480 +BFE0 +ENDCHAR +STARTCHAR U_8197 +ENCODING 33175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7520 +5520 +57E0 +7280 +57E0 +5480 +7FE0 +5480 +57E0 +9480 +B7E0 +ENDCHAR +STARTCHAR U_8198 +ENCODING 33176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A280 +AFE0 +EAA0 +AFE0 +A000 +E7C0 +A000 +AFE0 +A540 +BB20 +ENDCHAR +STARTCHAR U_8199 +ENCODING 33177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +5520 +55E0 +7480 +5BE0 +5AA0 +7EA0 +57E0 +5480 +94A0 +BBE0 +ENDCHAR +STARTCHAR U_819A +ENCODING 33178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +5240 +5FC0 +5240 +5FC0 +5080 +5F80 +9080 +9180 +ENDCHAR +STARTCHAR U_819B +ENCODING 33179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7920 +5540 +5FE0 +7820 +57C0 +5440 +77C0 +5100 +57C0 +5100 +BFE0 +ENDCHAR +STARTCHAR U_819C +ENCODING 33180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5FE0 +5280 +77C0 +5440 +57C0 +7440 +5FE0 +5100 +9280 +BC60 +ENDCHAR +STARTCHAR U_819D +ENCODING 33181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5540 +7920 +5380 +5540 +7D60 +5380 +5540 +9920 +B300 +ENDCHAR +STARTCHAR U_819E +ENCODING 33182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5540 +77C0 +5540 +57C0 +7520 +5FE0 +5480 +9280 +B100 +ENDCHAR +STARTCHAR U_819F +ENCODING 33183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57E0 +5920 +7740 +5140 +56A0 +7BC0 +5100 +5FE0 +9100 +B100 +ENDCHAR +STARTCHAR U_81A0 +ENCODING 33184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5AA0 +5660 +7AA0 +5100 +56C0 +7AA0 +5500 +5240 +9480 +B300 +ENDCHAR +STARTCHAR U_81A1 +ENCODING 33185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7540 +57C0 +5100 +7FE0 +5280 +7440 +5FE0 +5440 +57C0 +5440 +B7C0 +ENDCHAR +STARTCHAR U_81A2 +ENCODING 33186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57C0 +5D60 +77C0 +5540 +57C0 +7540 +5FE0 +5240 +9180 +BE60 +ENDCHAR +STARTCHAR U_81A3 +ENCODING 33187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5AA0 +7440 +5FE0 +5440 +7FE0 +5100 +57C0 +9100 +BFE0 +ENDCHAR +STARTCHAR U_81A4 +ENCODING 33188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +5100 +5FE0 +7920 +5540 +7100 +57C0 +5040 +57C0 +9040 +B7C0 +ENDCHAR +STARTCHAR U_81A5 +ENCODING 33189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20A0 +FFE0 +2480 +FFA0 +7540 +AAA0 +7FC0 +4A40 +5540 +4A40 +51C0 +ENDCHAR +STARTCHAR U_81A6 +ENCODING 33190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7920 +5540 +5FE0 +7540 +5920 +5440 +77E0 +5D40 +53E0 +9440 +B840 +ENDCHAR +STARTCHAR U_81A7 +ENCODING 33191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5440 +7280 +5FE0 +5540 +77C0 +5540 +5FE0 +9100 +BFE0 +ENDCHAR +STARTCHAR U_81A8 +ENCODING 33192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7220 +5FA0 +5240 +7780 +5020 +5740 +7580 +5700 +5520 +9240 +BF80 +ENDCHAR +STARTCHAR U_81A9 +ENCODING 33193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +70A0 +5FE0 +5080 +7F80 +5480 +5780 +7480 +57A0 +55A0 +9760 +BDA0 +ENDCHAR +STARTCHAR U_81AA +ENCODING 33194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5280 +7FE0 +5920 +57C0 +7540 +5540 +57C0 +9440 +B7C0 +ENDCHAR +STARTCHAR U_81AB +ENCODING 33195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5AA0 +77C0 +5C60 +57C0 +7440 +57C0 +5580 +9940 +B320 +ENDCHAR +STARTCHAR U_81AC +ENCODING 33196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5100 +57C0 +7100 +57C0 +5120 +7FE0 +5480 +5FE0 +94A0 +B360 +ENDCHAR +STARTCHAR U_81AD +ENCODING 33197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57C0 +5540 +7FE0 +5440 +77C0 +5440 +57C0 +5440 +97C0 +BC60 +ENDCHAR +STARTCHAR U_81AE +ENCODING 33198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +57C0 +5100 +7FE0 +5440 +5EE0 +7440 +5FE0 +5280 +94A0 +B860 +ENDCHAR +STARTCHAR U_81AF +ENCODING 33199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7740 +52A0 +56C0 +7440 +5BA0 +5000 +77C0 +5440 +57C0 +5280 +B7E0 +ENDCHAR +STARTCHAR U_81B0 +ENCODING 33200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +70C0 +5F20 +5540 +7FE0 +5540 +5920 +77C0 +5540 +57C0 +9540 +B7C0 +ENDCHAR +STARTCHAR U_81B1 +ENCODING 33201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +BFC0 +AAA0 +FFE0 +A080 +AEA0 +EAC0 +AE80 +AAA0 +AF60 +A220 +ENDCHAR +STARTCHAR U_81B2 +ENCODING 33202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7480 +57E0 +5480 +7FE0 +5480 +57E0 +5480 +77E0 +5540 +9AA0 +B2A0 +ENDCHAR +STARTCHAR U_81B3 +ENCODING 33203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5FE0 +5100 +77C0 +5100 +5FE0 +7280 +5FE0 +5440 +97C0 +B440 +ENDCHAR +STARTCHAR U_81B4 +ENCODING 33204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7400 +5FE0 +5540 +7540 +5FE0 +5540 +7540 +5FE0 +5000 +9540 +BAA0 +ENDCHAR +STARTCHAR U_81B5 +ENCODING 33205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5FE0 +5280 +7FE0 +5240 +5480 +7B40 +5100 +5FE0 +9100 +B100 +ENDCHAR +STARTCHAR U_81B6 +ENCODING 33206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +EAA0 +AEE0 +ABA0 +E920 +ABA0 +A920 +ABA0 +A860 +ENDCHAR +STARTCHAR U_81B7 +ENCODING 33207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EAE0 +ABA0 +B2A0 +FFC0 +AAC0 +ABA0 +FEA0 +A6A0 +AAC0 +AB80 +A880 +ENDCHAR +STARTCHAR U_81B8 +ENCODING 33208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +AFE0 +A100 +E3E0 +BC80 +ABE0 +E940 +A9C0 +A940 +AD40 +B3E0 +ENDCHAR +STARTCHAR U_81B9 +ENCODING 33209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5540 +7FE0 +5440 +57C0 +7440 +57C0 +5440 +97C0 +BC60 +ENDCHAR +STARTCHAR U_81BA +ENCODING 33210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5480 +77E0 +5C80 +57E0 +5480 +5FE0 +5040 +DFC0 +90C0 +ENDCHAR +STARTCHAR U_81BB +ENCODING 33211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +BFE0 +AB40 +E840 +AFC0 +A000 +E7C0 +A440 +A7C0 +A440 +AFE0 +ENDCHAR +STARTCHAR U_81BC +ENCODING 33212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +AA40 +AB40 +E7E0 +BC20 +AFA0 +EEA0 +AFA0 +AC20 +AC60 +B3E0 +ENDCHAR +STARTCHAR U_81BD +ENCODING 33213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E780 +AFE0 +BA40 +ECA0 +ABE0 +A800 +EBC0 +A800 +ABE0 +AA20 +B3E0 +ENDCHAR +STARTCHAR U_81BE +ENCODING 33214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7300 +5480 +5FC0 +7020 +5FE0 +5AA0 +7FE0 +5440 +57C0 +9440 +B7C0 +ENDCHAR +STARTCHAR U_81BF +ENCODING 33215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E280 +AFE0 +AAA0 +EFE0 +AAA0 +AFE0 +E800 +AFE0 +AAA0 +AA40 +B320 +ENDCHAR +STARTCHAR U_81C0 +ENCODING 33216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +8540 +FE20 +A9C0 +FC80 +AB60 +7F80 +2080 +3F80 +2080 +2180 +ENDCHAR +STARTCHAR U_81C1 +ENCODING 33217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +AA80 +EFE0 +AAA0 +AFE0 +EAA0 +AFE0 +AA80 +B6C0 +AAA0 +ENDCHAR +STARTCHAR U_81C2 +ENCODING 33218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +47E0 +7D40 +4BE0 +4880 +BF80 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_81C3 +ENCODING 33219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +54C0 +7B40 +5DE0 +5740 +79E0 +5F40 +53E0 +9540 +B9E0 +ENDCHAR +STARTCHAR U_81C4 +ENCODING 33220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +71E0 +5100 +57E0 +7520 +57C0 +5520 +77E0 +5540 +5680 +99C0 +B6A0 +ENDCHAR +STARTCHAR U_81C5 +ENCODING 33221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +AAA0 +AFE0 +E400 +A7E0 +BA20 +EFA0 +AAA0 +AFA0 +A2A0 +AF40 +ENDCHAR +STARTCHAR U_81C6 +ENCODING 33222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5280 +7FE0 +5440 +57C0 +7440 +57C0 +5340 +96A0 +BBA0 +ENDCHAR +STARTCHAR U_81C7 +ENCODING 33223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E500 +AFE0 +A900 +FFE0 +A900 +AFE0 +E900 +AEE0 +AAA0 +ABA0 +A860 +ENDCHAR +STARTCHAR U_81C8 +ENCODING 33224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7240 +5FE0 +5240 +57C0 +7640 +5540 +57E0 +7920 +56A0 +97A0 +B060 +ENDCHAR +STARTCHAR U_81C9 +ENCODING 33225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7300 +5480 +5840 +77A0 +5000 +5EE0 +7AA0 +5EE0 +5440 +9AC0 +B120 +ENDCHAR +STARTCHAR U_81CA +ENCODING 33226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7C0 +A440 +A7C0 +E000 +AEE0 +AAA0 +EEE0 +A100 +AFE0 +A540 +B920 +ENDCHAR +STARTCHAR U_81CB +ENCODING 33227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DC0 +4540 +7E20 +51C0 +7C80 +A960 +7FC0 +4A40 +5540 +4A40 +5140 +ENDCHAR +STARTCHAR U_81CC +ENCODING 33228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E440 +BF40 +A4E0 +FF40 +A0E0 +AEA0 +EAA0 +AEA0 +AA40 +A4A0 +BF20 +ENDCHAR +STARTCHAR U_81CD +ENCODING 33229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +BFE0 +AAA0 +ED40 +B560 +A540 +EFC0 +A840 +AFC0 +A840 +B040 +ENDCHAR +STARTCHAR U_81CE +ENCODING 33230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7EE0 +5AA0 +5660 +7AA0 +5FE0 +5440 +7AA0 +5100 +5FE0 +9100 +B100 +ENDCHAR +STARTCHAR U_81CF +ENCODING 33231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5820 +77C0 +5540 +5FC0 +7440 +57C0 +5440 +97C0 +BC60 +ENDCHAR +STARTCHAR U_81D0 +ENCODING 33232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +5100 +5FE0 +76A0 +5520 +57E0 +7100 +5FC0 +5100 +9FE0 +BAA0 +ENDCHAR +STARTCHAR U_81D1 +ENCODING 33233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A100 +AFE0 +E920 +A7C0 +A920 +EFE0 +A100 +AFE0 +AAA0 +AAA0 +ENDCHAR +STARTCHAR U_81D2 +ENCODING 33234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7240 +5FE0 +5480 +7FE0 +5480 +57E0 +7480 +57E0 +5240 +9180 +B660 +ENDCHAR +STARTCHAR U_81D3 +ENCODING 33235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0240 +77E0 +50A0 +57E0 +7540 +57A0 +54C0 +77A0 +5540 +97E0 +A920 +ENDCHAR +STARTCHAR U_81D4 +ENCODING 33236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +54A0 +5740 +75A0 +57E0 +5440 +77C0 +5440 +57C0 +5440 +B820 +ENDCHAR +STARTCHAR U_81D5 +ENCODING 33237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +AAA0 +EFE0 +AA40 +ABE0 +EA40 +AB60 +A800 +AD40 +B2A0 +ENDCHAR +STARTCHAR U_81D6 +ENCODING 33238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6EC0 +4A40 +6EC0 +4A40 +6EC0 +FFE0 +2080 +7FC0 +A0A0 +3F80 +2080 +ENDCHAR +STARTCHAR U_81D7 +ENCODING 33239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +5FE0 +5AA0 +7FE0 +5280 +57C0 +7540 +5540 +57C0 +92A0 +BCE0 +ENDCHAR +STARTCHAR U_81D8 +ENCODING 33240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7540 +5A80 +5540 +7FE0 +5AA0 +5FE0 +77C0 +5540 +57C0 +9540 +B7A0 +ENDCHAR +STARTCHAR U_81D9 +ENCODING 33241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +5FE0 +5280 +7380 +5440 +5F60 +7540 +5540 +5F60 +9540 +BAA0 +ENDCHAR +STARTCHAR U_81DA +ENCODING 33242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E3C0 +A200 +AFE0 +EA20 +AFE0 +A940 +EFC0 +A940 +B7E0 +AAA0 +AFE0 +ENDCHAR +STARTCHAR U_81DB +ENCODING 33243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A100 +AFE0 +E920 +A540 +A920 +EFE0 +B900 +AFE0 +A900 +AFE0 +ENDCHAR +STARTCHAR U_81DC +ENCODING 33244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7540 +5FE0 +5540 +7FE0 +5AA0 +77C0 +5440 +5540 +5540 +D280 +AC60 +ENDCHAR +STARTCHAR U_81DD +ENCODING 33245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4000 +7F80 +2080 +FFC0 +A540 +FF40 +A5C0 +FF40 +AD40 +B660 +ENDCHAR +STARTCHAR U_81DE +ENCODING 33246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +EAA0 +AEE0 +A500 +EFE0 +A900 +BFE0 +A900 +AFE0 +ENDCHAR +STARTCHAR U_81DF +ENCODING 33247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +BFE0 +A4A0 +FFE0 +BA80 +AFA0 +F960 +BF40 +AA40 +AFA0 +B120 +ENDCHAR +STARTCHAR U_81E0 +ENCODING 33248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +AEA0 +4040 +AEA0 +C0E0 +5E40 +AAA0 +7FC0 +4A40 +5540 +4AC0 +ENDCHAR +STARTCHAR U_81E1 +ENCODING 33249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +FBE0 +5680 +FBE0 +AA80 +FBE0 +5480 +FFE0 +4A40 +5540 +4AC0 +ENDCHAR +STARTCHAR U_81E2 +ENCODING 33250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D540 +BFE0 +A540 +FFE0 +AAA0 +B7E0 +E440 +A7C0 +A440 +A7C0 +A820 +ENDCHAR +STARTCHAR U_81E3 +ENCODING 33251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 2 -1 +BITMAP +FF00 +8800 +8800 +FF00 +8100 +8100 +FF00 +8800 +8800 +FF80 +ENDCHAR +STARTCHAR U_81E4 +ENCODING 33252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FBC0 +9240 +9240 +FA40 +8940 +F980 +9080 +9180 +FE40 +0420 +ENDCHAR +STARTCHAR U_81E5 +ENCODING 33253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +9080 +9080 +FC80 +8480 +8480 +FC80 +9140 +9140 +FA20 +0420 +ENDCHAR +STARTCHAR U_81E6 +ENCODING 33254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2A80 +2A80 +FBE0 +8A20 +8A20 +FBE0 +AAA0 +2A80 +2A80 +FBE0 +ENDCHAR +STARTCHAR U_81E7 +ENCODING 33255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00A0 +5FE0 +5080 +5F80 +74A0 +1EA0 +F2C0 +5E80 +54A0 +9F60 +2220 +ENDCHAR +STARTCHAR U_81E8 +ENCODING 33256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +A7E0 +A800 +F3C0 +9240 +93C0 +F000 +AEE0 +AAA0 +AAA0 +FEE0 +ENDCHAR +STARTCHAR U_81E9 +ENCODING 33257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2A80 +FBE0 +8A20 +FBE0 +2A80 +FFE0 +1100 +2980 +C960 +3100 +ENDCHAR +STARTCHAR U_81EA +ENCODING 33258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +20 +FE +82 +82 +FE +82 +FE +82 +82 +FE +82 +ENDCHAR +STARTCHAR U_81EB +ENCODING 33259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4400 +4400 +F400 +9400 +F400 +9400 +F400 +9400 +9400 +F440 +93C0 +ENDCHAR +STARTCHAR U_81EC +ENCODING 33260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_81ED +ENCODING 33261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +3F80 +0480 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_81EE +ENCODING 33262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +3F80 +01C0 +7E00 +2480 +5540 +8E20 +ENDCHAR +STARTCHAR U_81EF +ENCODING 33263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +3F80 +2480 +1500 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_81F0 +ENCODING 33264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +FFE0 +2200 +3A40 +EB80 +1220 +E1E0 +ENDCHAR +STARTCHAR U_81F1 +ENCODING 33265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2880 +2480 +FFE0 +A4A0 +5F40 +0800 +0F80 +1080 +6380 +ENDCHAR +STARTCHAR U_81F2 +ENCODING 33266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F3C0 +9480 +FFE0 +9400 +F5C0 +2540 +FD40 +25C0 +7520 +A9E0 +ENDCHAR +STARTCHAR U_81F3 +ENCODING 33267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0800 +1100 +2080 +7FC0 +0400 +0400 +3F80 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_81F4 +ENCODING 33268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +2100 +29E0 +4A40 +7540 +1140 +7D40 +1140 +1080 +1D40 +E220 +ENDCHAR +STARTCHAR U_81F5 +ENCODING 33269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBC0 +2240 +4D80 +F980 +2240 +77E0 +2240 +3A40 +E3C0 +4240 +ENDCHAR +STARTCHAR U_81F6 +ENCODING 33270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +2400 +57E0 +FC40 +2480 +FFE0 +2480 +2480 +3C80 +C580 +ENDCHAR +STARTCHAR U_81F7 +ENCODING 33271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D40 +1120 +FFE0 +0100 +FD40 +2940 +7D40 +10A0 +7CA0 +1160 +FE20 +ENDCHAR +STARTCHAR U_81F8 +ENCODING 33272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2100 +4900 +F640 +23A0 +2080 +F880 +23E0 +2080 +3880 +C7E0 +ENDCHAR +STARTCHAR U_81F9 +ENCODING 33273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0C0 +40A0 +AFE0 +F880 +48A0 +4EA0 +FAC0 +4A80 +4EA0 +F960 +1220 +ENDCHAR +STARTCHAR U_81FA +ENCODING 33274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3FC0 +1080 +FFE0 +8920 +1480 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_81FB +ENCODING 33275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +57C0 +F100 +2FE0 +F540 +2FE0 +2380 +3540 +C920 +ENDCHAR +STARTCHAR U_81FC +ENCODING 33276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +E3C0 +8040 +8040 +8040 +FBC0 +8040 +8040 +8040 +FFC0 +8040 +ENDCHAR +STARTCHAR U_81FD +ENCODING 33277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1000 +3FC0 +4080 +8100 +0800 +71C0 +4040 +79C0 +4040 +7FC0 +4040 +ENDCHAR +STARTCHAR U_81FE +ENCODING 33278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +65C0 +4440 +75C0 +4440 +4440 +7FC0 +4440 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_81FF +ENCODING 33279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C00 +0400 +FFE0 +1400 +65C0 +4440 +75C0 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_8200 +ENCODING 33280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +00C0 +FF00 +4840 +2480 +2500 +73C0 +4040 +7BC0 +4040 +4040 +7FC0 +ENDCHAR +STARTCHAR U_8201 +ENCODING 33281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +73C0 +4040 +7BC0 +4040 +7FC0 +4040 +1100 +FFE0 +1100 +2100 +C100 +ENDCHAR +STARTCHAR U_8202 +ENCODING 33282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +3F80 +0800 +FFE0 +2080 +5BC0 +A0A0 +3B80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8203 +ENCODING 33283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +73C0 +4040 +7DC0 +4040 +7FC0 +2000 +3FE0 +0020 +6AA0 +9560 +ENDCHAR +STARTCHAR U_8204 +ENCODING 33284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79C0 +4040 +79C0 +4040 +7FC0 +1000 +3FE0 +C020 +2AA0 +4AA0 +0040 +ENDCHAR +STARTCHAR U_8205 +ENCODING 33285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F780 +8080 +F380 +8080 +FF80 +4900 +7F00 +4900 +FFC0 +1040 +E180 +ENDCHAR +STARTCHAR U_8206 +ENCODING 33286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +6EC0 +4840 +74C0 +5E40 +4440 +6EC0 +4440 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_8207 +ENCODING 33287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +6EC0 +4840 +7FC0 +4240 +4A40 +7BC0 +4A40 +FFE0 +2080 +C060 +ENDCHAR +STARTCHAR U_8208 +ENCODING 33288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +71C0 +5F40 +71C0 +5D40 +75C0 +5D40 +5140 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_8209 +ENCODING 33289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6EC0 +4840 +6EC0 +62C0 +4A40 +FFE0 +2480 +7FC0 +8420 +7FC0 +0400 +ENDCHAR +STARTCHAR U_820A +ENCODING 33290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0A80 +3FE0 +6200 +BFC0 +2200 +3FE0 +2040 +3DC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_820B +ENCODING 33291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +5140 +5F40 +7FC0 +5540 +5540 +FFE0 +A0A0 +3F80 +2080 +FFE0 +ENDCHAR +STARTCHAR U_820C +ENCODING 33292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0380 +7C00 +0400 +FFC0 +0400 +0400 +3F80 +2080 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_820D +ENCODING 33293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +3F80 +C460 +3F80 +0400 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_820E +ENCODING 33294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1B00 +64C0 +9F20 +0400 +7FE0 +0000 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_820F +ENCODING 33295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +7D20 +1120 +FD20 +1120 +7D60 +45A0 +4520 +4420 +7C20 +4420 +ENDCHAR +STARTCHAR U_8210 +ENCODING 33296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0820 +F3C0 +2280 +FA80 +23E0 +2280 +7A80 +4AA0 +4AA0 +7B60 +4A20 +ENDCHAR +STARTCHAR U_8211 +ENCODING 33297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E7C0 +4540 +47C0 +F540 +4540 +FFE0 +9440 +9440 +F440 +94C0 +ENDCHAR +STARTCHAR U_8212 +ENCODING 33298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +2840 +4580 +B880 +13E0 +FCA0 +10C0 +7C80 +4480 +4480 +7D80 +ENDCHAR +STARTCHAR U_8213 +ENCODING 33299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BC0 +6240 +23C0 +FA40 +23C0 +7A00 +4BE0 +4D60 +4AA0 +7920 +4A40 +ENDCHAR +STARTCHAR U_8214 +ENCODING 33300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +E100 +2FE0 +2280 +F540 +2920 +F540 +95A0 +9560 +F900 +9300 +ENDCHAR +STARTCHAR U_8215 +ENCODING 33301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1520 +E540 +4900 +4180 +FA40 +4520 +F140 +9580 +9A80 +F440 +9820 +ENDCHAR +STARTCHAR U_8216 +ENCODING 33302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +5120 +8FE0 +F900 +27E0 +FD20 +27E0 +F520 +97E0 +F520 +9560 +ENDCHAR +STARTCHAR U_8217 +ENCODING 33303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +50A0 +ABE0 +F880 +23E0 +FAA0 +03E0 +FAA0 +8BE0 +FAA0 +8A60 +ENDCHAR +STARTCHAR U_8218 +ENCODING 33304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8C20 +FBC0 +2240 +FBC0 +2200 +FBE0 +8A20 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_8219 +ENCODING 33305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +2080 +3F80 +0000 +FBE0 +2080 +FFE0 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_821A +ENCODING 33306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +33C0 +C480 +47E0 +F540 +47E0 +F400 +97E0 +9400 +95E0 +F520 +99E0 +ENDCHAR +STARTCHAR U_821B +ENCODING 33307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +3BE0 +4880 +4A80 +BA80 +0FE0 +1080 +2080 +4080 +8080 +ENDCHAR +STARTCHAR U_821C +ENCODING 33308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E40 +2480 +FFE0 +A0A0 +3BE0 +4A80 +AA80 +17E0 +2080 +C080 +ENDCHAR +STARTCHAR U_821D +ENCODING 33309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7F80 +1080 +FFE0 +4900 +FFE0 +9120 +7FC0 +2400 +7FC0 +0400 +ENDCHAR +STARTCHAR U_821E +ENCODING 33310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FE0 +AA80 +FFE0 +2A80 +FFE0 +2080 +3BE0 +CA80 +37E0 +C080 +ENDCHAR +STARTCHAR U_821F +ENCODING 33311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1F80 +1080 +1480 +1280 +FFE0 +1480 +1280 +2280 +4080 +8380 +ENDCHAR +STARTCHAR U_8220 +ENCODING 33312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7FE0 +4920 +6920 +5920 +4920 +F920 +6920 +5920 +4AA0 +9C40 +ENDCHAR +STARTCHAR U_8221 +ENCODING 33313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7BE0 +4880 +6880 +5880 +4880 +F880 +6880 +5880 +4880 +9FE0 +ENDCHAR +STARTCHAR U_8222 +ENCODING 33314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7880 +4880 +6AA0 +5AA0 +4AA0 +FAA0 +6AA0 +5AA0 +4BE0 +9A20 +ENDCHAR +STARTCHAR U_8223 +ENCODING 33315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7540 +5540 +7440 +5440 +F280 +5280 +7100 +5280 +5440 +B820 +ENDCHAR +STARTCHAR U_8224 +ENCODING 33316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7780 +5480 +7480 +5680 +F580 +5480 +7480 +54A0 +54A0 +B860 +ENDCHAR +STARTCHAR U_8225 +ENCODING 33317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7BE0 +4AA0 +6AA0 +5AA0 +4BE0 +FA20 +6A00 +5A20 +4A20 +99E0 +ENDCHAR +STARTCHAR U_8226 +ENCODING 33318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7100 +5100 +7FE0 +5100 +F100 +5280 +7280 +5240 +5540 +B820 +ENDCHAR +STARTCHAR U_8227 +ENCODING 33319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7780 +5480 +7480 +5480 +F680 +5580 +7480 +54A0 +54A0 +B860 +ENDCHAR +STARTCHAR U_8228 +ENCODING 33320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +7BC0 +4A00 +6BE0 +5AA0 +4AA0 +FAA0 +6AA0 +5A40 +4CA0 +9920 +ENDCHAR +STARTCHAR U_8229 +ENCODING 33321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7280 +5280 +7280 +5440 +F540 +5920 +7200 +5440 +5FE0 +B440 +ENDCHAR +STARTCHAR U_822A +ENCODING 33322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7880 +4FE0 +6800 +5B80 +FA80 +4A80 +6A80 +5AA0 +4AA0 +9CE0 +ENDCHAR +STARTCHAR U_822B +ENCODING 33323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7880 +4FE0 +6900 +59E0 +F920 +4920 +6920 +5A20 +4AA0 +9C40 +ENDCHAR +STARTCHAR U_822C +ENCODING 33324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +7A40 +4A40 +6A60 +5C00 +FBE0 +4A20 +6940 +5880 +4940 +9A20 +ENDCHAR +STARTCHAR U_822D +ENCODING 33325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7A80 +4A80 +6AA0 +5BC0 +4A80 +FA80 +6A80 +5AA0 +4BA0 +9AE0 +ENDCHAR +STARTCHAR U_822E +ENCODING 33326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7880 +4BE0 +7A20 +4A20 +FBE0 +4A20 +7A00 +4A00 +6C00 +9400 +ENDCHAR +STARTCHAR U_822F +ENCODING 33327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7880 +4BE0 +6AA0 +5AA0 +4AA0 +FBE0 +6AA0 +5880 +4880 +9880 +ENDCHAR +STARTCHAR U_8230 +ENCODING 33328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +77C0 +5440 +7540 +5540 +F540 +5540 +7540 +52A0 +52A0 +BC60 +ENDCHAR +STARTCHAR U_8231 +ENCODING 33329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7940 +4A20 +6C00 +5BC0 +4A40 +FA40 +6AC0 +5A20 +4A20 +99E0 +ENDCHAR +STARTCHAR U_8232 +ENCODING 33330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7100 +5280 +7640 +5920 +F100 +5FE0 +7040 +5280 +5100 +B080 +ENDCHAR +STARTCHAR U_8233 +ENCODING 33331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7880 +4BE0 +6AA0 +5AA0 +4BE0 +FAA0 +6AA0 +5AA0 +4BE0 +9A20 +ENDCHAR +STARTCHAR U_8234 +ENCODING 33332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7900 +4BE0 +6D00 +5900 +49E0 +F900 +69E0 +5900 +4900 +9900 +ENDCHAR +STARTCHAR U_8235 +ENCODING 33333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7880 +4FE0 +6C20 +5920 +4940 +F980 +6900 +5920 +4920 +98E0 +ENDCHAR +STARTCHAR U_8236 +ENCODING 33334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7900 +4BE0 +6A20 +5A20 +4BE0 +FA20 +6A20 +5A20 +4BE0 +9A20 +ENDCHAR +STARTCHAR U_8237 +ENCODING 33335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7880 +4FE0 +6900 +5A40 +FFC0 +4880 +6900 +5A40 +4FE0 +9820 +ENDCHAR +STARTCHAR U_8238 +ENCODING 33336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +7040 +5040 +7740 +5540 +F540 +5740 +7540 +5040 +5040 +B0C0 +ENDCHAR +STARTCHAR U_8239 +ENCODING 33337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +7A40 +4A40 +6A40 +5A60 +4C00 +FBE0 +6A20 +5A20 +4BE0 +9A20 +ENDCHAR +STARTCHAR U_823A +ENCODING 33338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +7AA0 +4AA0 +6BE0 +5AA0 +4AA0 +FBE0 +6AA0 +5880 +4880 +9880 +ENDCHAR +STARTCHAR U_823B +ENCODING 33339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +78E0 +4880 +6BE0 +5A20 +4A20 +FBE0 +6A20 +5A00 +4C00 +9800 +ENDCHAR +STARTCHAR U_823C +ENCODING 33340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +7A40 +4A40 +6FE0 +5A40 +4A40 +FFE0 +6800 +5A40 +4C20 +9820 +ENDCHAR +STARTCHAR U_823D +ENCODING 33341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7BC0 +4E40 +6980 +5A40 +4CA0 +FFE0 +6C80 +5FE0 +4880 +9880 +ENDCHAR +STARTCHAR U_823E +ENCODING 33342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +7140 +5140 +77E0 +5560 +F560 +5560 +7660 +5420 +57E0 +B420 +ENDCHAR +STARTCHAR U_823F +ENCODING 33343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +4A80 +6C40 +5BA0 +4800 +FFE0 +6900 +5BE0 +4820 +99C0 +ENDCHAR +STARTCHAR U_8240 +ENCODING 33344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +7F80 +4AA0 +6940 +5BE0 +4840 +F880 +6FE0 +5880 +4880 +9980 +ENDCHAR +STARTCHAR U_8241 +ENCODING 33345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7A80 +4BE0 +7A80 +4C80 +FFE0 +4800 +7BE0 +4A20 +4BE0 +9A20 +ENDCHAR +STARTCHAR U_8242 +ENCODING 33346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +7A40 +4D80 +6A40 +5CA0 +4BE0 +F880 +6BE0 +5880 +4FE0 +9880 +ENDCHAR +STARTCHAR U_8243 +ENCODING 33347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +7AA0 +4AA0 +7BE0 +4AA0 +FBE0 +6880 +5BE0 +4880 +4880 +9FE0 +ENDCHAR +STARTCHAR U_8244 +ENCODING 33348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7AA0 +49C0 +6BE0 +5A20 +4BE0 +FA20 +6BE0 +5A20 +4A20 +9A60 +ENDCHAR +STARTCHAR U_8245 +ENCODING 33349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7940 +4A20 +6DC0 +5880 +4FE0 +F880 +6AC0 +5AA0 +4CA0 +9980 +ENDCHAR +STARTCHAR U_8246 +ENCODING 33350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BC0 +4A40 +7BC0 +4A40 +FBC0 +4A20 +6B40 +5A80 +4A40 +9B20 +ENDCHAR +STARTCHAR U_8247 +ENCODING 33351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7EE0 +5240 +7440 +5E40 +F2E0 +5A40 +7640 +52E0 +5500 +B8E0 +ENDCHAR +STARTCHAR U_8248 +ENCODING 33352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +5200 +7440 +5FE0 +F000 +5540 +7540 +5540 +5540 +B960 +ENDCHAR +STARTCHAR U_8249 +ENCODING 33353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +7420 +57E0 +7400 +57E0 +F480 +57E0 +7480 +57E0 +54A0 +B8E0 +ENDCHAR +STARTCHAR U_824A +ENCODING 33354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7BE0 +4A20 +7BE0 +4A20 +FBE0 +4880 +6BE0 +5AA0 +4AE0 +9880 +ENDCHAR +STARTCHAR U_824B +ENCODING 33355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +7840 +4880 +6FE0 +5880 +4980 +F800 +6FE0 +5AA0 +4AA0 +9FE0 +ENDCHAR +STARTCHAR U_824C +ENCODING 33356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7280 +5640 +7920 +57C0 +F080 +5100 +7640 +5D20 +9440 +B3C0 +ENDCHAR +STARTCHAR U_824D +ENCODING 33357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +77E0 +5420 +77E0 +5480 +F7E0 +5480 +75E0 +5520 +7520 +9DE0 +ENDCHAR +STARTCHAR U_824E +ENCODING 33358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +4A20 +6BE0 +5A20 +4FE0 +F880 +6880 +5BE0 +4880 +9FE0 +ENDCHAR +STARTCHAR U_824F +ENCODING 33359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +7940 +4BE0 +6880 +5BE0 +4A20 +FBE0 +6A20 +5BE0 +4A20 +9BE0 +ENDCHAR +STARTCHAR U_8250 +ENCODING 33360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +7D20 +4EA0 +6FE0 +5A40 +4A20 +FD20 +6BC0 +5E40 +4980 +9E60 +ENDCHAR +STARTCHAR U_8251 +ENCODING 33361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BE0 +4A20 +6BE0 +5A00 +4BE0 +FAA0 +6BE0 +5EA0 +4AA0 +9A60 +ENDCHAR +STARTCHAR U_8252 +ENCODING 33362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +7C20 +4FE0 +6C20 +5FE0 +4A40 +FBC0 +6A40 +5BC0 +4A40 +9BC0 +ENDCHAR +STARTCHAR U_8253 +ENCODING 33363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +7FE0 +5540 +75C0 +5400 +F7E0 +5100 +7FE0 +5380 +9540 +B920 +ENDCHAR +STARTCHAR U_8254 +ENCODING 33364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +77E0 +5540 +77E0 +5540 +F5C0 +5400 +77E0 +5540 +5480 +BB60 +ENDCHAR +STARTCHAR U_8255 +ENCODING 33365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +4A80 +6FE0 +5D20 +4880 +FFE0 +6A00 +5BE0 +4A20 +9CC0 +ENDCHAR +STARTCHAR U_8256 +ENCODING 33366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +7FE0 +4880 +6BE0 +5880 +4FE0 +FA00 +6BE0 +5C80 +4880 +9FE0 +ENDCHAR +STARTCHAR U_8257 +ENCODING 33367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +F280 +9000 +D7E0 +B240 +9420 +FFC0 +D540 +B540 +9540 +BFE0 +ENDCHAR +STARTCHAR U_8258 +ENCODING 33368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +74E0 +54A0 +76E0 +54A0 +F7E0 +5080 +77E0 +5240 +5180 +B660 +ENDCHAR +STARTCHAR U_8259 +ENCODING 33369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +7540 +5FE0 +7440 +57C0 +F440 +57C0 +7400 +57C0 +5A40 +B3C0 +ENDCHAR +STARTCHAR U_825A +ENCODING 33370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +7FE0 +5280 +7FE0 +5AA0 +FFE0 +5440 +77C0 +5440 +57C0 +B440 +ENDCHAR +STARTCHAR U_825B +ENCODING 33371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77C0 +5540 +7FE0 +5540 +F7C0 +5540 +7FE0 +5480 +5380 +BC60 +ENDCHAR +STARTCHAR U_825C +ENCODING 33372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +7FE0 +5540 +7DE0 +5000 +FFE0 +5920 +77C0 +5540 +55C0 +B100 +ENDCHAR +STARTCHAR U_825D +ENCODING 33373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +7100 +5FE0 +7560 +5540 +F000 +57C0 +7040 +57C0 +5040 +B7C0 +ENDCHAR +STARTCHAR U_825E +ENCODING 33374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +77E0 +5A40 +7280 +5AA0 +F6C0 +5280 +76C0 +5AA0 +52A0 +B4E0 +ENDCHAR +STARTCHAR U_825F +ENCODING 33375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +5280 +7FE0 +5540 +F540 +57C0 +7540 +5FE0 +5100 +BFE0 +ENDCHAR +STARTCHAR U_8260 +ENCODING 33376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +7AA0 +5640 +77E0 +5800 +F7C0 +5440 +77C0 +5440 +5280 +BFE0 +ENDCHAR +STARTCHAR U_8261 +ENCODING 33377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +7540 +5FE0 +7820 +53C0 +F240 +57E0 +7520 +57E0 +5520 +B7E0 +ENDCHAR +STARTCHAR U_8262 +ENCODING 33378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77E0 +5540 +7FE0 +5000 +F7E0 +5420 +75A0 +55A0 +9420 +B7E0 +ENDCHAR +STARTCHAR U_8263 +ENCODING 33379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +7100 +57E0 +7520 +57C0 +F520 +57E0 +7540 +57E0 +5A20 +B4E0 +ENDCHAR +STARTCHAR U_8264 +ENCODING 33380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +7FE0 +5100 +77C0 +5100 +FFE0 +54A0 +7FE0 +54C0 +5EA0 +B560 +ENDCHAR +STARTCHAR U_8265 +ENCODING 33381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2740 +7560 +5740 +7040 +5FE0 +F540 +5740 +7560 +5540 +9FC0 +B120 +ENDCHAR +STARTCHAR U_8266 +ENCODING 33382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +7A40 +4F60 +6980 +5F40 +4A20 +FF00 +6800 +5FE0 +4AA0 +9FE0 +ENDCHAR +STARTCHAR U_8267 +ENCODING 33383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +7FE0 +5240 +77E0 +5C80 +F7E0 +5480 +7FE0 +5240 +9180 +B660 +ENDCHAR +STARTCHAR U_8268 +ENCODING 33384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +7FE0 +5280 +7FE0 +5820 +F7C0 +5000 +7FE0 +5540 +9BC0 +B520 +ENDCHAR +STARTCHAR U_8269 +ENCODING 33385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +5AA0 +7540 +5D60 +F540 +57C0 +5440 +77C0 +9440 +B840 +ENDCHAR +STARTCHAR U_826A +ENCODING 33386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +7500 +5FC0 +7540 +57C0 +F540 +57C0 +7AA0 +57C0 +9540 +B7C0 +ENDCHAR +STARTCHAR U_826B +ENCODING 33387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +7100 +57E0 +7520 +57E0 +F4A0 +57E0 +74A0 +57E0 +5AA0 +B7E0 +ENDCHAR +STARTCHAR U_826C +ENCODING 33388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +7880 +57C0 +7440 +57C0 +F4A0 +5FE0 +7540 +57C0 +92A0 +BCE0 +ENDCHAR +STARTCHAR U_826D +ENCODING 33389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +FFE0 +9540 +DFE0 +B540 +FFE0 +9000 +D7E0 +B240 +9180 +9660 +ENDCHAR +STARTCHAR U_826E +ENCODING 33390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +FE00 +8200 +FE00 +8200 +FE00 +9080 +9100 +8A00 +9400 +A380 +C100 +ENDCHAR +STARTCHAR U_826F +ENCODING 33391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +1000 +FE00 +8200 +FE00 +8200 +FE00 +9100 +8A00 +8400 +A200 +C180 +ENDCHAR +STARTCHAR U_8270 +ENCODING 33392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +FC40 +17C0 +9440 +57C0 +2520 +1540 +3480 +4C80 +8540 +0620 +ENDCHAR +STARTCHAR U_8271 +ENCODING 33393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FE20 +53E0 +2220 +FBE0 +AA80 +FEA0 +22A0 +FE40 +5340 +8A20 +ENDCHAR +STARTCHAR U_8272 +ENCODING 33394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1F80 +2200 +7FC0 +A440 +2440 +3FC0 +2000 +2020 +2020 +1FE0 +ENDCHAR +STARTCHAR U_8273 +ENCODING 33395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +FC80 +27E0 +FD20 +2520 +FFE0 +2400 +2420 +2420 +23E0 +ENDCHAR +STARTCHAR U_8274 +ENCODING 33396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +51C0 +FE40 +57E0 +FEA0 +D2A0 +FFE0 +5600 +5E20 +5220 +91E0 +ENDCHAR +STARTCHAR U_8275 +ENCODING 33397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +51C0 +FA40 +57E0 +52A0 +FAA0 +53E0 +5200 +5220 +5220 +91E0 +ENDCHAR +STARTCHAR U_8276 +ENCODING 33398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +FFE0 +AA40 +FFE0 +02A0 +FEA0 +03E0 +7A00 +4A20 +3220 +FDE0 +ENDCHAR +STARTCHAR U_8277 +ENCODING 33399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +FFE0 +AA40 +FFE0 +AAA0 +FEA0 +4BE0 +7A00 +4A20 +3220 +FDE0 +ENDCHAR +STARTCHAR U_8278 +ENCODING 33400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +AAA0 +AAA0 +AAA0 +AAA0 +FBE0 +AAA0 +2080 +4080 +8080 +ENDCHAR +STARTCHAR U_8279 +ENCODING 33401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 5 0 5 +BITMAP +1100 +1100 +FFE0 +1100 +1100 +ENDCHAR +STARTCHAR U_827A +ENCODING 33402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +0900 +3F80 +0100 +0600 +1800 +2020 +2020 +1FE0 +ENDCHAR +STARTCHAR U_827B +ENCODING 33403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +7FC0 +0440 +0440 +0840 +1040 +2140 +4080 +ENDCHAR +STARTCHAR U_827C +ENCODING 33404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0000 +FFC0 +0400 +0400 +0400 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_827D +ENCODING 33405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0800 +7F00 +0900 +0900 +0900 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_827E +ENCODING 33406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0000 +2200 +2200 +1400 +1400 +0C00 +3300 +C0C0 +ENDCHAR +STARTCHAR U_827F +ENCODING 33407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +FE00 +1200 +1380 +1080 +2080 +2080 +4480 +8300 +ENDCHAR +STARTCHAR U_8280 +ENCODING 33408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0000 +FF80 +1080 +1080 +1080 +2080 +4480 +8300 +ENDCHAR +STARTCHAR U_8281 +ENCODING 33409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0000 +1E00 +1200 +1200 +1200 +2240 +4240 +81C0 +ENDCHAR +STARTCHAR U_8282 +ENCODING 33410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +7F80 +0880 +0880 +0880 +0B80 +0800 +0800 +ENDCHAR +STARTCHAR U_8283 +ENCODING 33411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +0000 +1F00 +1100 +1900 +1500 +2120 +4120 +80E0 +ENDCHAR +STARTCHAR U_8284 +ENCODING 33412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0800 +FF00 +0900 +3900 +0900 +1540 +2140 +C0C0 +ENDCHAR +STARTCHAR U_8285 +ENCODING 33413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0900 +0880 +0FC0 +F800 +0800 +0440 +0240 +01C0 +ENDCHAR +STARTCHAR U_8286 +ENCODING 33414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +7F80 +2480 +1100 +0A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_8287 +ENCODING 33415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +3F80 +2480 +2480 +2480 +2580 +0400 +0400 +ENDCHAR +STARTCHAR U_8288 +ENCODING 33416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +1500 +F5E0 +1500 +7FC0 +0400 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_8289 +ENCODING 33417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +7FC0 +0400 +0400 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_828A +ENCODING 33418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +03C0 +7C00 +0400 +FFE0 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_828B +ENCODING 33419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0000 +7F80 +0400 +FFC0 +0400 +0400 +0400 +1C00 +ENDCHAR +STARTCHAR U_828C +ENCODING 33420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +0000 +FFE0 +1000 +3F80 +0080 +0080 +0300 +ENDCHAR +STARTCHAR U_828D +ENCODING 33421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +2000 +3FC0 +4040 +8840 +0440 +0440 +0040 +0180 +ENDCHAR +STARTCHAR U_828E +ENCODING 33422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +0080 +1F80 +2000 +3FC0 +0040 +0240 +0180 +ENDCHAR +STARTCHAR U_828F +ENCODING 33423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1100 +0400 +0400 +7FC0 +0400 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_8290 +ENCODING 33424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0400 +0400 +0600 +0580 +0480 +0400 +0400 +ENDCHAR +STARTCHAR U_8291 +ENCODING 33425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F80 +0080 +0080 +3F80 +2000 +2020 +2020 +3FE0 +ENDCHAR +STARTCHAR U_8292 +ENCODING 33426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +0200 +FFE0 +2000 +2000 +2000 +2000 +3FC0 +ENDCHAR +STARTCHAR U_8293 +ENCODING 33427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +7FE0 +0900 +3F80 +0200 +0400 +FFE0 +0400 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_8294 +ENCODING 33428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +2480 +2480 +3F80 +0400 +2080 +AAA0 +AAA0 +FBE0 +2080 +C080 +ENDCHAR +STARTCHAR U_8295 +ENCODING 33429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0800 +0FC0 +1080 +2900 +0600 +0400 +1800 +6000 +ENDCHAR +STARTCHAR U_8296 +ENCODING 33430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +0400 +7FC0 +0400 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_8297 +ENCODING 33431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +1100 +7E00 +0840 +1080 +7F00 +0200 +0C00 +F000 +ENDCHAR +STARTCHAR U_8298 +ENCODING 33432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4200 +4240 +7A80 +4300 +4200 +4220 +5220 +61E0 +ENDCHAR +STARTCHAR U_8299 +ENCODING 33433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +7FC0 +0400 +FFE0 +0400 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_829A +ENCODING 33434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +2480 +2480 +3F80 +0420 +0420 +03E0 +ENDCHAR +STARTCHAR U_829B +ENCODING 33435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +7F00 +1100 +FFC0 +1100 +7F00 +1000 +2000 +C000 +ENDCHAR +STARTCHAR U_829C +ENCODING 33436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +0400 +0400 +FFE0 +0A00 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_829D +ENCODING 33437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0800 +0400 +FF00 +0200 +0C00 +1000 +6000 +9FC0 +ENDCHAR +STARTCHAR U_829E +ENCODING 33438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +7FC0 +8000 +3F00 +0000 +7F00 +0140 +00C0 +0040 +ENDCHAR +STARTCHAR U_829F +ENCODING 33439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +3E00 +2200 +C1C0 +7F00 +1200 +0C00 +3300 +C0C0 +ENDCHAR +STARTCHAR U_82A0 +ENCODING 33440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0800 +0400 +FFE0 +1100 +0A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_82A1 +ENCODING 33441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +2000 +3F80 +4900 +8800 +1400 +2200 +41C0 +8080 +ENDCHAR +STARTCHAR U_82A2 +ENCODING 33442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +7FE0 +0900 +1000 +1000 +27C0 +6000 +A000 +2000 +2FE0 +2000 +ENDCHAR +STARTCHAR U_82A3 +ENCODING 33443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +FFC0 +0800 +1800 +2A00 +4980 +8880 +0800 +0800 +ENDCHAR +STARTCHAR U_82A4 +ENCODING 33444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7D00 +0900 +1100 +1D00 +F100 +1120 +1120 +30E0 +ENDCHAR +STARTCHAR U_82A5 +ENCODING 33445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +0600 +0900 +30E0 +C940 +0900 +0900 +1100 +6100 +ENDCHAR +STARTCHAR U_82A6 +ENCODING 33446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +7FE0 +0D00 +0200 +3FC0 +2040 +3FC0 +2040 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_82A7 +ENCODING 33447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3FC0 +0900 +0600 +FFE0 +0240 +0200 +0200 +0E00 +ENDCHAR +STARTCHAR U_82A8 +ENCODING 33448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F00 +1100 +13C0 +1840 +1480 +2300 +4500 +98E0 +ENDCHAR +STARTCHAR U_82A9 +ENCODING 33449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0C00 +3300 +C8C0 +0400 +7F00 +0200 +0400 +0800 +ENDCHAR +STARTCHAR U_82AA +ENCODING 33450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +03C0 +3C00 +2400 +3FC0 +2200 +2100 +28A0 +3060 +ENDCHAR +STARTCHAR U_82AB +ENCODING 33451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +3F80 +0000 +FFE0 +1200 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_82AC +ENCODING 33452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0A00 +1100 +2080 +5FC0 +88A0 +0880 +3480 +C300 +ENDCHAR +STARTCHAR U_82AD +ENCODING 33453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +7F80 +4480 +4480 +7F80 +4000 +4040 +4040 +3FC0 +ENDCHAR +STARTCHAR U_82AE +ENCODING 33454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +0400 +7FC0 +4440 +4A40 +4940 +5140 +4040 +41C0 +ENDCHAR +STARTCHAR U_82AF +ENCODING 33455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0000 +0800 +1480 +5440 +5040 +5100 +9100 +0F00 +ENDCHAR +STARTCHAR U_82B0 +ENCODING 33456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +0400 +3F80 +1100 +0A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_82B1 +ENCODING 33457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +1240 +2280 +6300 +A600 +3A20 +2220 +21E0 +ENDCHAR +STARTCHAR U_82B2 +ENCODING 33458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +0A00 +1100 +2080 +D360 +1C00 +7080 +1080 +0F80 +ENDCHAR +STARTCHAR U_82B3 +ENCODING 33459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0400 +FFC0 +1000 +1F80 +1080 +1080 +2080 +C300 +ENDCHAR +STARTCHAR U_82B4 +ENCODING 33460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +1000 +3FC0 +4A40 +9240 +2440 +4840 +1240 +2180 +ENDCHAR +STARTCHAR U_82B5 +ENCODING 33461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +3F80 +0480 +7FE0 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_82B6 +ENCODING 33462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2000 +3FC0 +4840 +9040 +2240 +3F40 +0040 +0180 +ENDCHAR +STARTCHAR U_82B7 +ENCODING 33463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0200 +0200 +1200 +13C0 +1200 +1200 +1200 +FFE0 +ENDCHAR +STARTCHAR U_82B8 +ENCODING 33464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +3F80 +0000 +FFE0 +0800 +1080 +2040 +3FC0 +ENDCHAR +STARTCHAR U_82B9 +ENCODING 33465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +3F80 +2000 +3FE0 +2100 +2100 +2100 +4100 +8100 +ENDCHAR +STARTCHAR U_82BA +ENCODING 33466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +03C0 +7C00 +0400 +FFE0 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_82BB +ENCODING 33467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +5520 +9F20 +08C0 +3000 +3FE0 +D520 +1F20 +0820 +70C0 +ENDCHAR +STARTCHAR U_82BC +ENCODING 33468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0380 +3C00 +0400 +7FC0 +0400 +FFC0 +0420 +03E0 +ENDCHAR +STARTCHAR U_82BD +ENCODING 33469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +1100 +2100 +7FE0 +0500 +0900 +3100 +C300 +ENDCHAR +STARTCHAR U_82BE +ENCODING 33470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +2480 +FFE0 +0400 +7FC0 +4440 +4440 +4440 +45C0 +0400 +ENDCHAR +STARTCHAR U_82BF +ENCODING 33471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1FC0 +2240 +6280 +A2E0 +2220 +2420 +24A0 +2840 +ENDCHAR +STARTCHAR U_82C0 +ENCODING 33472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +0000 +1F00 +1100 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_82C1 +ENCODING 33473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2100 +2100 +2100 +2100 +3100 +2A80 +4440 +8820 +ENDCHAR +STARTCHAR U_82C2 +ENCODING 33474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +2440 +2480 +4500 +0A00 +1100 +20E0 +C040 +ENDCHAR +STARTCHAR U_82C3 +ENCODING 33475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0800 +FFE0 +0800 +1F00 +2900 +4600 +9980 +6060 +ENDCHAR +STARTCHAR U_82C4 +ENCODING 33476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +0200 +FFE0 +0400 +0700 +04C0 +0440 +0400 +0400 +ENDCHAR +STARTCHAR U_82C5 +ENCODING 33477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0040 +4840 +2940 +1140 +2940 +4540 +8440 +00C0 +ENDCHAR +STARTCHAR U_82C6 +ENCODING 33478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2000 +27C0 +F940 +2140 +2140 +3240 +2440 +08C0 +ENDCHAR +STARTCHAR U_82C7 +ENCODING 33479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +0400 +7FC0 +0400 +FFE0 +0420 +04E0 +0400 +ENDCHAR +STARTCHAR U_82C8 +ENCODING 33480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FE0 +4400 +7FC0 +4440 +4440 +4440 +8840 +B180 +ENDCHAR +STARTCHAR U_82C9 +ENCODING 33481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +7FC0 +4A00 +4A00 +5240 +61C0 +4000 +7FE0 +ENDCHAR +STARTCHAR U_82CA +ENCODING 33482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FE0 +4000 +4F80 +4880 +4880 +4B20 +4820 +87E0 +ENDCHAR +STARTCHAR U_82CB +ENCODING 33483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +2480 +2480 +2680 +0A20 +1220 +E1E0 +ENDCHAR +STARTCHAR U_82CC +ENCODING 33484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +1080 +1300 +1C00 +FFE0 +1200 +1100 +1480 +1860 +ENDCHAR +STARTCHAR U_82CD +ENCODING 33485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0E00 +3180 +C060 +1F00 +1100 +1240 +1040 +0FC0 +ENDCHAR +STARTCHAR U_82CE +ENCODING 33486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +8020 +0000 +0000 +0000 +FFE0 +ENDCHAR +STARTCHAR U_82CF +ENCODING 33487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0800 +7F80 +0880 +48C0 +48A0 +90A0 +2080 +C300 +ENDCHAR +STARTCHAR U_82D0 +ENCODING 33488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +0440 +7FC0 +4400 +7FC0 +1440 +2540 +C480 +ENDCHAR +STARTCHAR U_82D1 +ENCODING 33489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2000 +3FC0 +2640 +6A40 +9A80 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_82D2 +ENCODING 33490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3FC0 +2440 +3FC0 +2440 +FFE0 +2040 +2040 +20C0 +ENDCHAR +STARTCHAR U_82D3 +ENCODING 33491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0E00 +1100 +2480 +C260 +3F80 +0100 +0A00 +0400 +ENDCHAR +STARTCHAR U_82D4 +ENCODING 33492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0800 +1080 +7FC0 +0040 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_82D5 +ENCODING 33493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +FF80 +1080 +2280 +C100 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_82D6 +ENCODING 33494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +7FC0 +4440 +7FC0 +4440 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_82D7 +ENCODING 33495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +7FC0 +4440 +7FC0 +4440 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_82D8 +ENCODING 33496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4040 +5F40 +5140 +5F40 +5140 +4040 +41C0 +ENDCHAR +STARTCHAR U_82D9 +ENCODING 33497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +0200 +7FC0 +1080 +1080 +0900 +0900 +0200 +FFE0 +ENDCHAR +STARTCHAR U_82DA +ENCODING 33498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4440 +7FC0 +4440 +7FC0 +4440 +4440 +84C0 +ENDCHAR +STARTCHAR U_82DB +ENCODING 33499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0080 +3C80 +2480 +3C80 +2480 +0080 +0180 +ENDCHAR +STARTCHAR U_82DC +ENCODING 33500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +3F80 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_82DD +ENCODING 33501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +1200 +F260 +1380 +1200 +3200 +D220 +11E0 +ENDCHAR +STARTCHAR U_82DE +ENCODING 33502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3FC0 +4040 +BE40 +2240 +3E40 +20A0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_82DF +ENCODING 33503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3FC0 +4040 +9E40 +1240 +1E40 +1240 +0040 +0180 +ENDCHAR +STARTCHAR U_82E0 +ENCODING 33504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F80 +4080 +7F80 +4200 +7FE0 +4200 +5920 +E0E0 +ENDCHAR +STARTCHAR U_82E1 +ENCODING 33505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +4900 +4500 +4500 +4100 +5100 +6280 +C440 +1840 +ENDCHAR +STARTCHAR U_82E2 +ENCODING 33506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +3FC0 +2040 +3FC0 +2000 +3FC0 +2040 +2040 +3FC0 +ENDCHAR +STARTCHAR U_82E3 +ENCODING 33507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4000 +7F80 +4080 +7F80 +4000 +4000 +7FC0 +ENDCHAR +STARTCHAR U_82E4 +ENCODING 33508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +0400 +0D00 +14C0 +6440 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_82E5 +ENCODING 33509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1100 +FFC0 +1100 +0800 +FFC0 +1000 +3F80 +5080 +9080 +1F80 +1080 +ENDCHAR +STARTCHAR U_82E6 +ENCODING 33510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +0400 +FFE0 +0400 +3F80 +2080 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_82E7 +ENCODING 33511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +8020 +7FC0 +0200 +0200 +0200 +0200 +0E00 +ENDCHAR +STARTCHAR U_82E8 +ENCODING 33512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +3FC0 +2040 +3FC0 +2840 +2980 +2E20 +4820 +87E0 +ENDCHAR +STARTCHAR U_82E9 +ENCODING 33513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0800 +3F80 +2080 +2080 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_82EA +ENCODING 33514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0400 +7FC0 +4640 +4940 +50C0 +6040 +41C0 +ENDCHAR +STARTCHAR U_82EB +ENCODING 33515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1500 +07C0 +0400 +3FC0 +2040 +2040 +3FC0 +2040 +ENDCHAR +STARTCHAR U_82EC +ENCODING 33516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4440 +4440 +4640 +4940 +50C0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_82ED +ENCODING 33517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2100 +47E0 +F120 +2120 +4920 +F620 +44A0 +0840 +ENDCHAR +STARTCHAR U_82EE +ENCODING 33518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1100 +2200 +6A40 +AA40 +2A40 +2A40 +2FC0 +2000 +ENDCHAR +STARTCHAR U_82EF +ENCODING 33519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +0400 +1500 +2480 +5F40 +8420 +0400 +ENDCHAR +STARTCHAR U_82F0 +ENCODING 33520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7880 +0880 +7900 +4100 +7A00 +0A40 +4FA0 +3220 +ENDCHAR +STARTCHAR U_82F1 +ENCODING 33521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +3F80 +2480 +2480 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_82F2 +ENCODING 33522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +1000 +1FE0 +2400 +47C0 +0400 +07E0 +0400 +0400 +ENDCHAR +STARTCHAR U_82F3 +ENCODING 33523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0F80 +1900 +6600 +1980 +E660 +0100 +0C00 +0200 +ENDCHAR +STARTCHAR U_82F4 +ENCODING 33524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +3F80 +2080 +3F80 +2080 +3F80 +2080 +FFE0 +ENDCHAR +STARTCHAR U_82F5 +ENCODING 33525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2400 +3FC0 +4400 +0400 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_82F6 +ENCODING 33526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +0A00 +3180 +C460 +0400 +2480 +4440 +0C00 +ENDCHAR +STARTCHAR U_82F7 +ENCODING 33527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +2080 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_82F8 +ENCODING 33528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +2480 +1500 +FFE0 +0400 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_82F9 +ENCODING 33529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +2480 +1480 +1500 +FFE0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_82FA +ENCODING 33530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2880 +2480 +FFE0 +4480 +7FE0 +0080 +0300 +ENDCHAR +STARTCHAR U_82FB +ENCODING 33531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2080 +2FE0 +6080 +A880 +2480 +2480 +2080 +2180 +ENDCHAR +STARTCHAR U_82FC +ENCODING 33532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FE0 +1100 +2400 +2400 +3FC0 +4400 +9F80 +0400 +0400 +7FE0 +ENDCHAR +STARTCHAR U_82FD +ENCODING 33533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +03C0 +3D00 +2500 +2480 +2480 +2540 +46A0 +8480 +ENDCHAR +STARTCHAR U_82FE +ENCODING 33534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0480 +1280 +5100 +5240 +5420 +98A0 +1080 +6F80 +ENDCHAR +STARTCHAR U_82FF +ENCODING 33535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +3F80 +0400 +FFE0 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_8300 +ENCODING 33536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +1280 +7FC0 +1240 +7FC0 +5200 +7FC0 +1240 +22C0 +4200 +ENDCHAR +STARTCHAR U_8301 +ENCODING 33537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2480 +2480 +3F80 +0400 +4440 +4440 +7FC0 +4040 +ENDCHAR +STARTCHAR U_8302 +ENCODING 33538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1080 +0440 +3FE0 +2400 +2480 +2500 +2220 +4520 +98E0 +ENDCHAR +STARTCHAR U_8303 +ENCODING 33539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +27C0 +9440 +5440 +2440 +E580 +4420 +4420 +43E0 +ENDCHAR +STARTCHAR U_8304 +ENCODING 33540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2000 +FDE0 +2520 +2520 +2520 +2520 +45E0 +9920 +ENDCHAR +STARTCHAR U_8305 +ENCODING 33541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7F80 +0900 +0600 +FFE0 +0A20 +1240 +2200 +CE00 +ENDCHAR +STARTCHAR U_8306 +ENCODING 33542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +0800 +71E0 +4920 +4920 +5920 +69E0 +1100 +6100 +ENDCHAR +STARTCHAR U_8307 +ENCODING 33543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0880 +FFE0 +0800 +0F80 +1500 +2200 +4D80 +B060 +ENDCHAR +STARTCHAR U_8308 +ENCODING 33544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1100 +5120 +5D40 +5180 +5100 +5D20 +F120 +40E0 +ENDCHAR +STARTCHAR U_8309 +ENCODING 33545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +0400 +7FC0 +0E00 +1500 +24E0 +C440 +ENDCHAR +STARTCHAR U_830A +ENCODING 33546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +0000 +03C0 +3C00 +2000 +3FC0 +2200 +2200 +FFE0 +ENDCHAR +STARTCHAR U_830B +ENCODING 33547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +03C0 +7C00 +4200 +7FC0 +4200 +5100 +58A0 +6460 +ENDCHAR +STARTCHAR U_830C +ENCODING 33548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +1100 +1100 +2FE0 +6100 +A100 +2100 +2100 +27C0 +ENDCHAR +STARTCHAR U_830D +ENCODING 33549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +F3C0 +1200 +4000 +7F80 +8080 +3C80 +2480 +3C80 +0080 +0700 +ENDCHAR +STARTCHAR U_830E +ENCODING 33550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F00 +0600 +1980 +E060 +3F80 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_830F +ENCODING 33551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0900 +FFE0 +0A00 +0A40 +0A80 +1320 +2220 +CDE0 +ENDCHAR +STARTCHAR U_8310 +ENCODING 33552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +1000 +1FC0 +3540 +4940 +1640 +6540 +0940 +3080 +ENDCHAR +STARTCHAR U_8311 +ENCODING 33553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +2880 +2580 +2000 +3FE0 +0020 +7F20 +00C0 +ENDCHAR +STARTCHAR U_8312 +ENCODING 33554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +7FE0 +0900 +23C0 +3A40 +4A80 +AA40 +1220 +22A0 +4240 +0200 +ENDCHAR +STARTCHAR U_8313 +ENCODING 33555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +7FE0 +4040 +0A00 +0A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_8314 +ENCODING 33556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +7FE0 +0900 +7FE0 +4020 +8240 +0200 +3FC0 +0200 +0200 +7FE0 +ENDCHAR +STARTCHAR U_8315 +ENCODING 33557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8020 +7F80 +0880 +7E80 +08A0 +0860 +0820 +ENDCHAR +STARTCHAR U_8316 +ENCODING 33558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0F80 +1900 +6600 +1980 +6060 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_8317 +ENCODING 33559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0800 +1F00 +3200 +CC00 +1FC0 +F040 +1FC0 +1040 +ENDCHAR +STARTCHAR U_8318 +ENCODING 33560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +3F80 +0880 +1080 +7BC0 +2940 +2940 +6B40 +9480 +ENDCHAR +STARTCHAR U_8319 +ENCODING 33561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0480 +FFC0 +2400 +FC80 +2500 +2240 +4540 +98C0 +ENDCHAR +STARTCHAR U_831A +ENCODING 33562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BE0 +4220 +7A20 +4220 +4220 +5AE0 +E240 +4200 +ENDCHAR +STARTCHAR U_831B +ENCODING 33563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +3F80 +2080 +3FC0 +2280 +2900 +30E0 +ENDCHAR +STARTCHAR U_831C +ENCODING 33564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0A00 +7FC0 +4A40 +5240 +63C0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_831D +ENCODING 33565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7FC0 +4200 +5F80 +5080 +5F80 +4200 +4200 +7FE0 +ENDCHAR +STARTCHAR U_831E +ENCODING 33566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4400 +7F80 +4080 +7F80 +4480 +4400 +7FE0 +ENDCHAR +STARTCHAR U_831F +ENCODING 33567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +0480 +FFE0 +0480 +3FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8320 +ENCODING 33568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +7FE0 +0900 +1100 +2FE0 +2100 +6300 +A580 +2940 +3120 +2100 +ENDCHAR +STARTCHAR U_8321 +ENCODING 33569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FE0 +1500 +7FE0 +8040 +1F00 +0200 +0400 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_8322 +ENCODING 33570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +FC40 +2240 +7A40 +4A40 +AA40 +1240 +2040 +C1C0 +ENDCHAR +STARTCHAR U_8323 +ENCODING 33571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +7FC0 +0400 +7FC0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_8324 +ENCODING 33572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +0F80 +3100 +0E00 +13C0 +6C80 +1500 +0200 +7C00 +ENDCHAR +STARTCHAR U_8325 +ENCODING 33573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +7FC0 +0400 +FFE0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_8326 +ENCODING 33574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0400 +7FC0 +4440 +4EC0 +1500 +24E0 +C440 +ENDCHAR +STARTCHAR U_8327 +ENCODING 33575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +7FC0 +4440 +4440 +7FC0 +0480 +0440 +FFE0 +ENDCHAR +STARTCHAR U_8328 +ENCODING 33576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +8400 +57C0 +2840 +3280 +C200 +4500 +4880 +7040 +ENDCHAR +STARTCHAR U_8329 +ENCODING 33577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0940 +3F80 +2000 +3FE0 +2000 +2FC0 +2840 +4FC0 +8840 +ENDCHAR +STARTCHAR U_832A +ENCODING 33578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0440 +2480 +1500 +FFE0 +0A00 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_832B +ENCODING 33579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +2200 +9100 +5FE0 +2400 +2400 +C400 +4400 +47E0 +ENDCHAR +STARTCHAR U_832C +ENCODING 33580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0800 +FFE0 +1100 +3100 +57C0 +9100 +1100 +1FE0 +ENDCHAR +STARTCHAR U_832D +ENCODING 33581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +2080 +5140 +8A20 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_832E +ENCODING 33582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +0780 +0400 +FFE0 +0400 +2480 +2440 +4C40 +ENDCHAR +STARTCHAR U_832F +ENCODING 33583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0180 +2140 +2FE0 +6100 +A100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_8330 +ENCODING 33584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +4440 +7FC0 +4440 +7FC0 +2400 +1C00 +E3E0 +ENDCHAR +STARTCHAR U_8331 +ENCODING 33585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1000 +2400 +3FC0 +4400 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_8332 +ENCODING 33586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1080 +2100 +4A40 +F380 +2100 +4A40 +FFE0 +0420 +ENDCHAR +STARTCHAR U_8333 +ENCODING 33587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2000 +97C0 +5100 +2100 +2100 +C100 +4100 +4FE0 +ENDCHAR +STARTCHAR U_8334 +ENCODING 33588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4040 +5F40 +5140 +5140 +5F40 +4040 +7FC0 +ENDCHAR +STARTCHAR U_8335 +ENCODING 33589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4440 +4440 +5F40 +4440 +4A40 +5140 +7FC0 +ENDCHAR +STARTCHAR U_8336 +ENCODING 33590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +0A00 +3580 +C460 +3F80 +1500 +2480 +CC60 +ENDCHAR +STARTCHAR U_8337 +ENCODING 33591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1280 +1240 +13E0 +2E00 +6240 +A280 +2120 +22A0 +2C60 +ENDCHAR +STARTCHAR U_8338 +ENCODING 33592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +FFC0 +2100 +3F00 +2100 +3F00 +21C0 +FF00 +0100 +ENDCHAR +STARTCHAR U_8339 +ENCODING 33593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +1000 +FDE0 +2920 +2920 +4920 +3120 +19E0 +E520 +ENDCHAR +STARTCHAR U_833A +ENCODING 33594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +0800 +1080 +3F40 +0900 +0920 +1120 +E0E0 +ENDCHAR +STARTCHAR U_833B +ENCODING 33595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +AAA0 +FBE0 +2080 +C000 +2080 +AAA0 +AAA0 +FBE0 +2080 +C080 +ENDCHAR +STARTCHAR U_833C +ENCODING 33596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4040 +5F40 +4040 +5F40 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_833D +ENCODING 33597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +3100 +2FE0 +6920 +A920 +2FE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_833E +ENCODING 33598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +7FC0 +1100 +1100 +FFE0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_833F +ENCODING 33599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FF80 +2480 +2680 +2580 +3C80 +E4A0 +48A0 +1060 +ENDCHAR +STARTCHAR U_8340 +ENCODING 33600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +8040 +3E40 +2240 +3E40 +2240 +3E40 +0180 +ENDCHAR +STARTCHAR U_8341 +ENCODING 33601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +FFE0 +1080 +1F80 +1080 +1F80 +0000 +FFE0 +ENDCHAR +STARTCHAR U_8342 +ENCODING 33602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +1500 +2080 +DF60 +0800 +1F80 +0080 +0300 +ENDCHAR +STARTCHAR U_8343 +ENCODING 33603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0E00 +1100 +2080 +DF60 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_8344 +ENCODING 33604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +1100 +3E00 +0480 +1900 +6200 +0D80 +7060 +ENDCHAR +STARTCHAR U_8345 +ENCODING 33605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0E00 +3180 +DF60 +0000 +1F80 +1080 +1F80 +1080 +ENDCHAR +STARTCHAR U_8346 +ENCODING 33606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +FF20 +24A0 +00A0 +7EA0 +24A0 +FFA0 +24A0 +2420 +4420 +84E0 +ENDCHAR +STARTCHAR U_8347 +ENCODING 33607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +23C0 +4000 +9000 +2FE0 +6080 +A080 +2080 +2180 +ENDCHAR +STARTCHAR U_8348 +ENCODING 33608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2080 +3FE0 +4880 +AA80 +13E0 +2080 +4080 +8080 +ENDCHAR +STARTCHAR U_8349 +ENCODING 33609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_834A +ENCODING 33610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0020 +7EA0 +14A0 +14A0 +FFA0 +14A0 +2420 +44E0 +ENDCHAR +STARTCHAR U_834B +ENCODING 33611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0400 +7FC0 +4A40 +4A40 +4A40 +4A40 +40C0 +ENDCHAR +STARTCHAR U_834C +ENCODING 33612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +8820 +0800 +FFE0 +1100 +3200 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_834D +ENCODING 33613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0A00 +4BE0 +4A40 +4D40 +5940 +E880 +4940 +0A20 +ENDCHAR +STARTCHAR U_834E +ENCODING 33614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0800 +1080 +3F40 +0400 +3FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_834F +ENCODING 33615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +11C0 +1F00 +2100 +7FE0 +A100 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_8350 +ENCODING 33616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +1000 +27C0 +6080 +BFE0 +2100 +2100 +2300 +ENDCHAR +STARTCHAR U_8351 +ENCODING 33617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +0480 +7F80 +4400 +7FC0 +04C0 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_8352 +ENCODING 33618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2000 +3FC0 +0000 +2480 +2480 +44A0 +8460 +ENDCHAR +STARTCHAR U_8353 +ENCODING 33619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +2080 +1100 +7FC0 +1100 +FFE0 +1100 +2100 +C100 +ENDCHAR +STARTCHAR U_8354 +ENCODING 33620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7F80 +0880 +F700 +2080 +FBE0 +2920 +4A20 +B4C0 +ENDCHAR +STARTCHAR U_8355 +ENCODING 33621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7A00 +4FC0 +7A40 +4A40 +7A40 +4A40 +4A40 +9CC0 +ENDCHAR +STARTCHAR U_8356 +ENCODING 33622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F40 +0480 +FFE0 +0C00 +1980 +EE20 +0820 +07E0 +ENDCHAR +STARTCHAR U_8357 +ENCODING 33623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0440 +7FE0 +4400 +4240 +6280 +5120 +82A0 +8C60 +ENDCHAR +STARTCHAR U_8358 +ENCODING 33624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0000 +9100 +5100 +1FE0 +3100 +5100 +9100 +17C0 +ENDCHAR +STARTCHAR U_8359 +ENCODING 33625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4900 +2100 +0100 +EFE0 +2100 +2280 +2440 +5820 +8FE0 +ENDCHAR +STARTCHAR U_835A +ENCODING 33626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +2480 +1500 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_835B +ENCODING 33627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +0500 +3B40 +00C0 +FFE0 +1200 +2220 +C1E0 +ENDCHAR +STARTCHAR U_835C +ENCODING 33628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4240 +7B80 +4220 +73E0 +4400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_835D +ENCODING 33629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7C40 +4540 +5540 +5540 +5540 +5540 +2840 +C4C0 +ENDCHAR +STARTCHAR U_835E +ENCODING 33630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F80 +0800 +FFE0 +2080 +D160 +1100 +1100 +E100 +ENDCHAR +STARTCHAR U_835F +ENCODING 33631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0E00 +3180 +DF60 +0000 +7FC0 +1100 +2080 +7FC0 +ENDCHAR +STARTCHAR U_8360 +ENCODING 33632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +1100 +0E00 +F1E0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_8361 +ENCODING 33633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5100 +2780 +8A00 +57E0 +12A0 +24A0 +E920 +2220 +24C0 +ENDCHAR +STARTCHAR U_8362 +ENCODING 33634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +8020 +3F80 +0400 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_8363 +ENCODING 33635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8420 +0400 +FFE0 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_8364 +ENCODING 33636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8820 +7FC0 +1400 +3FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8365 +ENCODING 33637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8020 +0440 +F680 +1500 +2480 +4460 +8C20 +ENDCHAR +STARTCHAR U_8366 +ENCODING 33638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8420 +2400 +3FC0 +4400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_8367 +ENCODING 33639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +FFE0 +8420 +2440 +2480 +4500 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_8368 +ENCODING 33640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +0040 +7FC0 +0040 +FFE0 +2100 +1100 +0300 +ENDCHAR +STARTCHAR U_8369 +ENCODING 33641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3FC0 +2040 +3FC0 +2100 +4C80 +8260 +1C00 +0300 +ENDCHAR +STARTCHAR U_836A +ENCODING 33642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F880 +1080 +2080 +3AC0 +E2A0 +24A0 +2080 +6180 +ENDCHAR +STARTCHAR U_836B +ENCODING 33643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +5240 +63C0 +5240 +4BC0 +6A40 +5440 +48C0 +ENDCHAR +STARTCHAR U_836C +ENCODING 33644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +FFE0 +1240 +4A00 +2200 +FFE0 +0200 +0D80 +F060 +ENDCHAR +STARTCHAR U_836D +ENCODING 33645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4000 +97C0 +E100 +4100 +F100 +0100 +F100 +4FE0 +ENDCHAR +STARTCHAR U_836E +ENCODING 33646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2080 +57E0 +E080 +4480 +F280 +0080 +3080 +C180 +ENDCHAR +STARTCHAR U_836F +ENCODING 33647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2400 +47C0 +E440 +4A40 +A140 +C040 +3040 +C180 +ENDCHAR +STARTCHAR U_8370 +ENCODING 33648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1100 +2000 +F900 +27C0 +7100 +6900 +A100 +2FE0 +ENDCHAR +STARTCHAR U_8371 +ENCODING 33649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7FC0 +4040 +7FC0 +4700 +5C00 +4780 +5C20 +83E0 +ENDCHAR +STARTCHAR U_8372 +ENCODING 33650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +2480 +3F80 +2480 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_8373 +ENCODING 33651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0000 +3F80 +2080 +3F80 +1100 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_8374 +ENCODING 33652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2100 +FFC0 +2100 +3100 +EFE0 +2280 +2440 +E820 +ENDCHAR +STARTCHAR U_8375 +ENCODING 33653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFC0 +2440 +0840 +7180 +0400 +5240 +90A0 +0F80 +ENDCHAR +STARTCHAR U_8376 +ENCODING 33654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0100 +F280 +9440 +9920 +97C0 +F040 +0080 +0100 +ENDCHAR +STARTCHAR U_8377 +ENCODING 33655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FE0 +2040 +6F40 +A940 +2940 +2F40 +2040 +21C0 +ENDCHAR +STARTCHAR U_8378 +ENCODING 33656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0400 +FFE0 +8220 +0400 +FFE0 +0400 +0C00 +ENDCHAR +STARTCHAR U_8379 +ENCODING 33657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +27C0 +2400 +FFE0 +0400 +2440 +4580 +0600 +F800 +ENDCHAR +STARTCHAR U_837A +ENCODING 33658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2400 +27E0 +FC20 +2120 +20A0 +38A0 +E720 +40C0 +ENDCHAR +STARTCHAR U_837B +ENCODING 33659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +1080 +5100 +2100 +5520 +B940 +5100 +9280 +1440 +6820 +ENDCHAR +STARTCHAR U_837C +ENCODING 33660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0E00 +3180 +DF60 +0400 +7FC0 +2480 +4440 +8C20 +ENDCHAR +STARTCHAR U_837D +ENCODING 33661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7E40 +4880 +2500 +FFE0 +1100 +3200 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_837E +ENCODING 33662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2080 +7FC0 +2080 +DF60 +3100 +4A00 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_837F +ENCODING 33663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1140 +0240 +7FE0 +4200 +7A40 +4A80 +4920 +5AA0 +8460 +ENDCHAR +STARTCHAR U_8380 +ENCODING 33664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4000 +5F80 +4000 +7FE0 +5240 +5580 +98E0 +ENDCHAR +STARTCHAR U_8381 +ENCODING 33665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +0400 +2480 +2480 +5540 +9640 +0400 +FFE0 +ENDCHAR +STARTCHAR U_8382 +ENCODING 33666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7840 +4940 +7940 +2140 +FD40 +2540 +4440 +8CC0 +ENDCHAR +STARTCHAR U_8383 +ENCODING 33667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0E00 +3580 +FFE0 +1400 +3FC0 +E440 +24C0 +0400 +ENDCHAR +STARTCHAR U_8384 +ENCODING 33668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +2480 +3F80 +2480 +3F80 +2400 +1800 +E7E0 +ENDCHAR +STARTCHAR U_8385 +ENCODING 33669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1200 +1100 +2FE0 +2000 +6440 +A240 +2280 +2100 +2FE0 +ENDCHAR +STARTCHAR U_8386 +ENCODING 33670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1540 +FFE0 +0400 +7FC0 +4440 +7FC0 +4440 +7FC0 +44C0 +ENDCHAR +STARTCHAR U_8387 +ENCODING 33671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7900 +4FE0 +7920 +4920 +7920 +4A20 +FC20 +08C0 +ENDCHAR +STARTCHAR U_8388 +ENCODING 33672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4780 +2480 +8480 +6860 +2FC0 +C480 +4300 +5CE0 +ENDCHAR +STARTCHAR U_8389 +ENCODING 33673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +0C20 +7120 +1120 +FD20 +1120 +3920 +5420 +92E0 +ENDCHAR +STARTCHAR U_838A +ENCODING 33674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4880 +4880 +7FE0 +0880 +F880 +4880 +4880 +8BE0 +ENDCHAR +STARTCHAR U_838B +ENCODING 33675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1400 +27E0 +6A00 +B3C0 +2200 +23E0 +2200 +2200 +ENDCHAR +STARTCHAR U_838C +ENCODING 33676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0A00 +3F80 +2080 +2080 +3F80 +0A20 +3220 +C1E0 +ENDCHAR +STARTCHAR U_838D +ENCODING 33677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1140 +0420 +FFE0 +2440 +1680 +0D00 +3500 +C4E0 +1C40 +ENDCHAR +STARTCHAR U_838E +ENCODING 33678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4100 +A540 +4520 +2920 +C940 +4080 +4300 +4C00 +ENDCHAR +STARTCHAR U_838F +ENCODING 33679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2100 +FB40 +2520 +3920 +E940 +2080 +2300 +EC00 +ENDCHAR +STARTCHAR U_8390 +ENCODING 33680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4100 +2FE0 +9920 +5180 +2280 +E2A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_8391 +ENCODING 33681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F80 +7100 +1F00 +E4E0 +3F80 +0400 +7FC0 +0400 +ENDCHAR +STARTCHAR U_8392 +ENCODING 33682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +3F80 +0000 +7FC0 +4040 +7FC0 +4040 +ENDCHAR +STARTCHAR U_8393 +ENCODING 33683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +7FC0 +A880 +2480 +FFE0 +2480 +3FE0 +0080 +0300 +ENDCHAR +STARTCHAR U_8394 +ENCODING 33684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4A40 +5140 +60C0 +5F40 +5140 +5140 +7FC0 +ENDCHAR +STARTCHAR U_8395 +ENCODING 33685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +1500 +2480 +C460 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_8396 +ENCODING 33686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +2480 +4900 +2480 +7FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_8397 +ENCODING 33687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0400 +3F80 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8398 +ENCODING 33688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +1100 +0A00 +FFE0 +0400 +7FC0 +0400 +0400 +ENDCHAR +STARTCHAR U_8399 +ENCODING 33689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F80 +0880 +FFE0 +1080 +7F80 +3080 +D080 +1F80 +ENDCHAR +STARTCHAR U_839A +ENCODING 33690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F7E0 +2100 +71E0 +1500 +9500 +67E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_839B +ENCODING 33691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F0C0 +2700 +7100 +17C0 +5100 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_839C +ENCODING 33692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2200 +53E0 +D440 +5A40 +5140 +5080 +4140 +4620 +ENDCHAR +STARTCHAR U_839D +ENCODING 33693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2480 +2480 +5540 +8420 +7FC0 +0400 +0400 +FFE0 +ENDCHAR +STARTCHAR U_839E +ENCODING 33694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +8020 +3F80 +0000 +FFE0 +1200 +2220 +C1E0 +ENDCHAR +STARTCHAR U_839F +ENCODING 33695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +0A00 +3580 +DF60 +0200 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_83A0 +ENCODING 33696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +0400 +FFE0 +2480 +DF60 +09C0 +3040 +C380 +ENDCHAR +STARTCHAR U_83A1 +ENCODING 33697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +3F80 +0400 +27C0 +2400 +5C00 +83E0 +ENDCHAR +STARTCHAR U_83A2 +ENCODING 33698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +2480 +2480 +5540 +8A20 +3180 +C060 +ENDCHAR +STARTCHAR U_83A3 +ENCODING 33699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +FFE0 +2000 +3FC0 +0440 +5220 +9080 +0F80 +ENDCHAR +STARTCHAR U_83A4 +ENCODING 33700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0A00 +7FC0 +4A40 +51C0 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_83A5 +ENCODING 33701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +57C0 +2240 +5240 +B7C0 +5240 +9240 +1240 +6FE0 +ENDCHAR +STARTCHAR U_83A6 +ENCODING 33702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +2480 +1500 +3F80 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_83A7 +ENCODING 33703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +3F80 +2080 +3F80 +0A20 +1220 +E1E0 +ENDCHAR +STARTCHAR U_83A8 +ENCODING 33704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +2080 +3F80 +2080 +3FA0 +2240 +2980 +7060 +ENDCHAR +STARTCHAR U_83A9 +ENCODING 33705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +1480 +7F80 +0200 +FFE0 +0400 +0400 +0C00 +ENDCHAR +STARTCHAR U_83AA +ENCODING 33706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7A80 +1240 +FFE0 +1240 +1E80 +F120 +12A0 +3460 +ENDCHAR +STARTCHAR U_83AB +ENCODING 33707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +3F80 +2080 +3F80 +2080 +3F80 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_83AC +ENCODING 33708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFE0 +1200 +3F80 +4200 +FFC0 +4440 +7FC0 +0C00 +3420 +C3E0 +ENDCHAR +STARTCHAR U_83AD +ENCODING 33709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +4A40 +7A40 +4A40 +7A40 +5340 +6A80 +4600 +ENDCHAR +STARTCHAR U_83AE +ENCODING 33710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3FC0 +2440 +3FC0 +2440 +7FE0 +0420 +1820 +E1C0 +ENDCHAR +STARTCHAR U_83AF +ENCODING 33711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4000 +2100 +8FE0 +6100 +2380 +C540 +4920 +4100 +ENDCHAR +STARTCHAR U_83B0 +ENCODING 33712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2200 +23E0 +FC20 +2140 +3900 +E280 +4440 +1820 +ENDCHAR +STARTCHAR U_83B1 +ENCODING 33713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +2480 +1500 +FFE0 +1500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_83B2 +ENCODING 33714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1200 +5FC0 +0500 +EFC0 +2100 +3FE0 +2100 +5100 +8FE0 +ENDCHAR +STARTCHAR U_83B3 +ENCODING 33715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F080 +97E0 +9080 +F480 +9280 +9280 +F080 +0180 +ENDCHAR +STARTCHAR U_83B4 +ENCODING 33716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +3F80 +0400 +7FC0 +4A40 +5140 +4080 +ENDCHAR +STARTCHAR U_83B5 +ENCODING 33717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +0800 +3FC0 +2440 +3FC0 +0A80 +0A60 +3220 +C1E0 +ENDCHAR +STARTCHAR U_83B6 +ENCODING 33718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0E00 +3180 +DF60 +0080 +4900 +2500 +1200 +FFE0 +ENDCHAR +STARTCHAR U_83B7 +ENCODING 33719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +5180 +2140 +57E0 +9100 +3100 +5280 +1440 +6820 +ENDCHAR +STARTCHAR U_83B8 +ENCODING 33720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +5180 +2940 +57E0 +B100 +5280 +92A0 +14A0 +6860 +ENDCHAR +STARTCHAR U_83B9 +ENCODING 33721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8020 +3FC0 +0400 +3F80 +0500 +0480 +FFE0 +ENDCHAR +STARTCHAR U_83BA +ENCODING 33722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8820 +3F80 +2500 +3FE0 +0020 +7F20 +00C0 +ENDCHAR +STARTCHAR U_83BB +ENCODING 33723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7F80 +09C0 +1040 +21C0 +7A00 +4BC0 +4A20 +7BE0 +ENDCHAR +STARTCHAR U_83BC +ENCODING 33724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4100 +9FE0 +E100 +2540 +57C0 +E100 +3120 +C0E0 +ENDCHAR +STARTCHAR U_83BD +ENCODING 33725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0880 +FFE0 +2080 +C960 +0900 +FFE0 +1100 +6100 +ENDCHAR +STARTCHAR U_83BE +ENCODING 33726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2480 +DF60 +0400 +1100 +FFE0 +1100 +2100 +ENDCHAR +STARTCHAR U_83BF +ENCODING 33727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7C40 +1140 +7D40 +5540 +5D40 +3140 +5840 +95C0 +ENDCHAR +STARTCHAR U_83C0 +ENCODING 33728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +A020 +3FC0 +4640 +AA40 +12A0 +2220 +C1E0 +ENDCHAR +STARTCHAR U_83C1 +ENCODING 33729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0400 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_83C2 +ENCODING 33730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2200 +FBE0 +8C20 +8A20 +F920 +8920 +F820 +88C0 +ENDCHAR +STARTCHAR U_83C3 +ENCODING 33731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4000 +27E0 +8400 +47C0 +1440 +27C0 +C400 +47E0 +ENDCHAR +STARTCHAR U_83C4 +ENCODING 33732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2480 +3F80 +2480 +3F80 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_83C5 +ENCODING 33733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2200 +FFC0 +2A00 +FFC0 +8040 +3F00 +2100 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_83C6 +ENCODING 33734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FC00 +4BC0 +7940 +4940 +7940 +4880 +FD40 +0A20 +ENDCHAR +STARTCHAR U_83C7 +ENCODING 33735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +2100 +FFC0 +5100 +57C0 +D440 +2440 +57C0 +8440 +ENDCHAR +STARTCHAR U_83C8 +ENCODING 33736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2100 +F7E0 +2000 +3440 +E240 +2280 +2100 +6FE0 +ENDCHAR +STARTCHAR U_83C9 +ENCODING 33737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +0080 +FFE0 +4440 +2E80 +1500 +2480 +CC60 +ENDCHAR +STARTCHAR U_83CA +ENCODING 33738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +3FE0 +4420 +94A0 +0D20 +7FA0 +1620 +2520 +C4C0 +ENDCHAR +STARTCHAR U_83CB +ENCODING 33739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +0100 +F7C0 +9100 +9FE0 +9100 +F380 +9540 +0920 +ENDCHAR +STARTCHAR U_83CC +ENCODING 33740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4140 +5E40 +4440 +7FC0 +5540 +64C0 +7FC0 +ENDCHAR +STARTCHAR U_83CD +ENCODING 33741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +0A00 +3180 +C460 +1F00 +0200 +54A0 +90A0 +0F00 +ENDCHAR +STARTCHAR U_83CE +ENCODING 33742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0900 +3F80 +2080 +3F80 +2080 +3FA0 +2140 +3D80 +2120 +3CE0 +ENDCHAR +STARTCHAR U_83CF +ENCODING 33743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FE0 +2040 +8740 +6540 +2540 +C740 +4040 +41C0 +ENDCHAR +STARTCHAR U_83D0 +ENCODING 33744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +2A80 +FFE0 +1100 +7FE0 +0400 +3F80 +0400 +7FE0 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_83D1 +ENCODING 33745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2480 +4900 +2480 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_83D2 +ENCODING 33746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +3F80 +2480 +2280 +3F80 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_83D3 +ENCODING 33747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +3F80 +2480 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_83D4 +ENCODING 33748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7BC0 +4A40 +7A80 +4BE0 +7B40 +4A80 +4B40 +9A20 +ENDCHAR +STARTCHAR U_83D5 +ENCODING 33749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +1B00 +2080 +DF60 +0000 +7FC0 +4A40 +7FC0 +4AC0 +ENDCHAR +STARTCHAR U_83D6 +ENCODING 33750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +3F80 +2880 +2480 +7FC0 +4040 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_83D7 +ENCODING 33751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +2100 +FFE0 +2520 +3D20 +E7E0 +2520 +27E0 +E420 +ENDCHAR +STARTCHAR U_83D8 +ENCODING 33752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +2100 +FD00 +2500 +3A80 +6A40 +A400 +2880 +2F40 +ENDCHAR +STARTCHAR U_83D9 +ENCODING 33753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F00 +FFE0 +2480 +FFE0 +2480 +FFE0 +0400 +7FC0 +ENDCHAR +STARTCHAR U_83DA +ENCODING 33754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7FE0 +0900 +0600 +1940 +7FC0 +0900 +0640 +79C0 +ENDCHAR +STARTCHAR U_83DB +ENCODING 33755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +4A40 +7BC0 +4A40 +7BC0 +4040 +4140 +4080 +ENDCHAR +STARTCHAR U_83DC +ENCODING 33756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +01C0 +7E80 +2880 +1500 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_83DD +ENCODING 33757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +2240 +FFE0 +2200 +3BC0 +E340 +2480 +2940 +D620 +ENDCHAR +STARTCHAR U_83DE +ENCODING 33758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7900 +11E0 +FEA0 +10A0 +3920 +5520 +92A0 +1440 +ENDCHAR +STARTCHAR U_83DF +ENCODING 33759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F00 +2200 +FFC0 +2240 +3FC0 +0A20 +32A0 +C1E0 +ENDCHAR +STARTCHAR U_83E0 +ENCODING 33760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4100 +27E0 +9520 +57C0 +2540 +E480 +2940 +3620 +ENDCHAR +STARTCHAR U_83E1 +ENCODING 33761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +3F80 +0200 +55A0 +4E20 +5520 +6CE0 +4020 +7FE0 +ENDCHAR +STARTCHAR U_83E2 +ENCODING 33762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +2400 +F7C0 +2840 +3740 +E540 +27A0 +2420 +63E0 +ENDCHAR +STARTCHAR U_83E3 +ENCODING 33763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7FE0 +5220 +7E20 +4540 +4540 +7C80 +5140 +7E20 +ENDCHAR +STARTCHAR U_83E4 +ENCODING 33764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0800 +FFE0 +2080 +DF60 +1100 +1240 +0FC0 +ENDCHAR +STARTCHAR U_83E5 +ENCODING 33765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +23C0 +FA00 +23E0 +3240 +6A40 +A240 +2440 +2840 +ENDCHAR +STARTCHAR U_83E6 +ENCODING 33766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +4040 +2780 +6400 +27E0 +2900 +2900 +5100 +8FE0 +ENDCHAR +STARTCHAR U_83E7 +ENCODING 33767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +4080 +5F00 +5100 +5FE0 +5100 +54A0 +9A60 +ENDCHAR +STARTCHAR U_83E8 +ENCODING 33768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +1100 +7FC0 +0800 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_83E9 +ENCODING 33769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +1100 +FFE0 +0000 +3F80 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_83EA +ENCODING 33770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +8020 +FFE0 +0800 +1FC0 +3040 +DFC0 +1040 +ENDCHAR +STARTCHAR U_83EB +ENCODING 33771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +2480 +2480 +7FC0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_83EC +ENCODING 33772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +4FE0 +2220 +9540 +5880 +27E0 +C420 +47E0 +4420 +ENDCHAR +STARTCHAR U_83ED +ENCODING 33773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +4200 +2440 +8FE0 +6020 +2FC0 +C840 +4FC0 +4840 +ENDCHAR +STARTCHAR U_83EE +ENCODING 33774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +4440 +7FC0 +4460 +5FC0 +4600 +4900 +B0E0 +ENDCHAR +STARTCHAR U_83EF +ENCODING 33775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +2480 +FFE0 +2480 +7FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_83F0 +ENCODING 33776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F860 +17C0 +2540 +3D40 +E540 +2520 +25A0 +E9A0 +ENDCHAR +STARTCHAR U_83F1 +ENCODING 33777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0400 +FFE0 +2880 +DF60 +2900 +0600 +F9E0 +ENDCHAR +STARTCHAR U_83F2 +ENCODING 33778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0A00 +7BC0 +0A00 +7BC0 +0A00 +FBE0 +0A00 +0A00 +ENDCHAR +STARTCHAR U_83F3 +ENCODING 33779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0E00 +3180 +DF60 +0400 +7FC0 +2480 +1500 +FFE0 +ENDCHAR +STARTCHAR U_83F4 +ENCODING 33780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +1500 +3F80 +E4E0 +3F80 +24A0 +3FA0 +03E0 +ENDCHAR +STARTCHAR U_83F5 +ENCODING 33781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4A40 +7FC0 +4440 +7FC0 +5040 +5F40 +40C0 +ENDCHAR +STARTCHAR U_83F6 +ENCODING 33782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0800 +7FC0 +2480 +DF60 +0400 +7FC0 +0400 +ENDCHAR +STARTCHAR U_83F7 +ENCODING 33783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +3F80 +0080 +FFE0 +8420 +BF80 +2480 +2580 +0400 +ENDCHAR +STARTCHAR U_83F8 +ENCODING 33784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1100 +FA80 +2440 +3920 +28C0 +4A00 +4900 +B0C0 +ENDCHAR +STARTCHAR U_83F9 +ENCODING 33785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +9440 +57C0 +2440 +27C0 +C440 +4440 +5FE0 +ENDCHAR +STARTCHAR U_83FA +ENCODING 33786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3FC0 +2040 +3FC0 +2840 +2FC0 +2840 +4FC0 +88C0 +ENDCHAR +STARTCHAR U_83FB +ENCODING 33787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +1080 +FFE0 +1080 +3980 +56C0 +94A0 +18A0 +1080 +ENDCHAR +STARTCHAR U_83FC +ENCODING 33788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +2440 +4A80 +1180 +6440 +14A0 +6B00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_83FD +ENCODING 33789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +13E0 +1D40 +1140 +FF40 +5540 +5280 +9140 +3620 +ENDCHAR +STARTCHAR U_83FE +ENCODING 33790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +0800 +FFE0 +2440 +C6A0 +1540 +64A0 +0C00 +ENDCHAR +STARTCHAR U_83FF +ENCODING 33791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +FE20 +24A0 +7AA0 +10A0 +7CA0 +10A0 +1E20 +F0E0 +ENDCHAR +STARTCHAR U_8400 +ENCODING 33792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +4840 +7F00 +4880 +4F80 +4900 +8920 +B0E0 +ENDCHAR +STARTCHAR U_8401 +ENCODING 33793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +1100 +1D00 +1700 +1100 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_8402 +ENCODING 33794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +7C00 +13C0 +7E40 +1240 +3A40 +57C0 +9240 +1000 +ENDCHAR +STARTCHAR U_8403 +ENCODING 33795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2100 +5280 +8C40 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_8404 +ENCODING 33796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3FE0 +5020 +BF20 +0820 +FFA0 +4920 +7F20 +00C0 +ENDCHAR +STARTCHAR U_8405 +ENCODING 33797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFC0 +4480 +7F80 +0420 +03E0 +3FC0 +2440 +3FC0 +ENDCHAR +STARTCHAR U_8406 +ENCODING 33798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2200 +FFC0 +2A00 +7F80 +4880 +7F80 +4880 +7F80 +2400 +FFC0 +0400 +ENDCHAR +STARTCHAR U_8407 +ENCODING 33799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +1FC0 +1000 +1F80 +1000 +FFE0 +1280 +1500 +18E0 +ENDCHAR +STARTCHAR U_8408 +ENCODING 33800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +3F80 +2080 +3F80 +2080 +3F80 +0A80 +1220 +61E0 +ENDCHAR +STARTCHAR U_8409 +ENCODING 33801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +77C0 +5540 +7540 +5540 +77C0 +5420 +5420 +B3E0 +ENDCHAR +STARTCHAR U_840A +ENCODING 33802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2480 +5540 +8E20 +1500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_840B +ENCODING 33803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +0480 +FFE0 +0480 +7FE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_840C +ENCODING 33804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +4A40 +7BC0 +4A40 +7BC0 +4A40 +0440 +08C0 +ENDCHAR +STARTCHAR U_840D +ENCODING 33805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5100 +2FE0 +9920 +5540 +2540 +2FE0 +C100 +4100 +4100 +ENDCHAR +STARTCHAR U_840E +ENCODING 33806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +3F80 +0400 +FFE0 +2480 +FFE0 +1100 +0E00 +F9E0 +ENDCHAR +STARTCHAR U_840F +ENCODING 33807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +1E00 +2400 +5780 +C080 +7780 +4080 +7F80 +4080 +ENDCHAR +STARTCHAR U_8410 +ENCODING 33808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +0480 +7FE0 +0480 +3F80 +27E0 +5400 +8FE0 +ENDCHAR +STARTCHAR U_8411 +ENCODING 33809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2200 +3FE0 +6200 +BFC0 +2200 +3FC0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_8412 +ENCODING 33810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2100 +4880 +9240 +3F00 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_8413 +ENCODING 33811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2200 +FFC0 +2A00 +FFC0 +8040 +BF40 +2100 +3D00 +2F00 +2100 +FFC0 +ENDCHAR +STARTCHAR U_8414 +ENCODING 33812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +2000 +F7C0 +2240 +3240 +E480 +27C0 +2440 +67C0 +ENDCHAR +STARTCHAR U_8415 +ENCODING 33813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +1100 +0E00 +3180 +DFE0 +1080 +1F80 +2080 +ENDCHAR +STARTCHAR U_8416 +ENCODING 33814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3780 +2080 +3B80 +2080 +3F80 +1200 +2220 +C1E0 +ENDCHAR +STARTCHAR U_8417 +ENCODING 33815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +8020 +3F80 +0000 +FFE0 +2480 +4440 +8C20 +ENDCHAR +STARTCHAR U_8418 +ENCODING 33816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +1100 +2E80 +C060 +7FC0 +1500 +2480 +CC60 +ENDCHAR +STARTCHAR U_8419 +ENCODING 33817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2100 +27E0 +FD20 +2100 +7180 +AAA0 +22A0 +24E0 +ENDCHAR +STARTCHAR U_841A +ENCODING 33818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +F440 +2380 +3D60 +E7C0 +2100 +2FE0 +6100 +ENDCHAR +STARTCHAR U_841B +ENCODING 33819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +3280 +2980 +3F80 +1100 +FFE0 +1100 +2100 +ENDCHAR +STARTCHAR U_841C +ENCODING 33820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2080 +F8E0 +A880 +ABE0 +AA20 +B220 +23E0 +2220 +ENDCHAR +STARTCHAR U_841D +ENCODING 33821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4A40 +7FC0 +1000 +3F80 +5100 +0E00 +F800 +ENDCHAR +STARTCHAR U_841E +ENCODING 33822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +7FC0 +4440 +4A40 +0000 +4AC0 +7320 +4220 +71E0 +ENDCHAR +STARTCHAR U_841F +ENCODING 33823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7A00 +2780 +FA80 +2680 +73A0 +A2A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_8420 +ENCODING 33824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +7BC0 +4A40 +7BC0 +4A40 +7BC0 +4A40 +4A40 +9480 +ENDCHAR +STARTCHAR U_8421 +ENCODING 33825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +4200 +27C0 +8440 +57C0 +2440 +C440 +47C0 +4440 +ENDCHAR +STARTCHAR U_8422 +ENCODING 33826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4400 +27C0 +0840 +6740 +1540 +6740 +24A0 +23E0 +ENDCHAR +STARTCHAR U_8423 +ENCODING 33827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +0200 +FFE0 +8020 +3F80 +1200 +13C0 +2A00 +C7E0 +ENDCHAR +STARTCHAR U_8424 +ENCODING 33828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8420 +7FC0 +4440 +7FC0 +0480 +0440 +FFE0 +ENDCHAR +STARTCHAR U_8425 +ENCODING 33829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +FFC0 +8040 +BF00 +2100 +7F80 +4080 +4080 +7F80 +ENDCHAR +STARTCHAR U_8426 +ENCODING 33830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +9120 +3E00 +0880 +7FC0 +2480 +4440 +8C20 +ENDCHAR +STARTCHAR U_8427 +ENCODING 33831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7F80 +0480 +FFE0 +0480 +3F80 +5540 +64C0 +8440 +ENDCHAR +STARTCHAR U_8428 +ENCODING 33832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F7E0 +A440 +C280 +A7E0 +9400 +E400 +8800 +9000 +ENDCHAR +STARTCHAR U_8429 +ENCODING 33833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F100 +2540 +F540 +2580 +7100 +AA80 +2440 +2820 +ENDCHAR +STARTCHAR U_842A +ENCODING 33834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7A40 +1140 +7A40 +1160 +39C0 +5640 +9040 +1040 +ENDCHAR +STARTCHAR U_842B +ENCODING 33835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7F80 +0400 +FFE0 +1480 +3FC0 +D0A0 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_842C +ENCODING 33836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +3F80 +2480 +FFC0 +8540 +9F40 +80C0 +ENDCHAR +STARTCHAR U_842D +ENCODING 33837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1140 +7F80 +0400 +3F80 +2480 +7FC0 +4540 +5F40 +40C0 +ENDCHAR +STARTCHAR U_842E +ENCODING 33838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +1A00 +2D80 +C060 +7D40 +4540 +7D40 +4440 +4C80 +ENDCHAR +STARTCHAR U_842F +ENCODING 33839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F00 +2200 +7F80 +A080 +3F80 +2080 +3F80 +60C0 +ENDCHAR +STARTCHAR U_8430 +ENCODING 33840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +0400 +7FC0 +5540 +7FC0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_8431 +ENCODING 33841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +8020 +7FC0 +2080 +3F80 +2080 +3F80 +FFE0 +ENDCHAR +STARTCHAR U_8432 +ENCODING 33842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7FC0 +2480 +7FE0 +0800 +FFE0 +2900 +4600 +B9E0 +ENDCHAR +STARTCHAR U_8433 +ENCODING 33843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +0400 +7FC0 +4A40 +5F40 +4440 +7FC0 +4440 +ENDCHAR +STARTCHAR U_8434 +ENCODING 33844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7C40 +4540 +7D40 +4540 +7D40 +4540 +7C40 +C6C0 +ENDCHAR +STARTCHAR U_8435 +ENCODING 33845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +3C80 +2480 +FFE0 +9120 +9120 +9F60 +ENDCHAR +STARTCHAR U_8436 +ENCODING 33846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0800 +FFE0 +1F80 +30C0 +DFA0 +1080 +1F80 +ENDCHAR +STARTCHAR U_8437 +ENCODING 33847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +9220 +54A0 +7EA0 +42A0 +7EA0 +42A0 +7E20 +46E0 +ENDCHAR +STARTCHAR U_8438 +ENCODING 33848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +65C0 +4440 +75C0 +4440 +7FC0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_8439 +ENCODING 33849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +4040 +7FC0 +4000 +5FC0 +5540 +5FC0 +9540 +ENDCHAR +STARTCHAR U_843A +ENCODING 33850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +5F40 +4040 +7FC0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_843B +ENCODING 33851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +1100 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_843C +ENCODING 33852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +4A40 +4A40 +FFE0 +1000 +3F80 +0080 +0700 +ENDCHAR +STARTCHAR U_843D +ENCODING 33853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4780 +2C80 +8300 +5480 +2860 +C780 +4480 +4780 +ENDCHAR +STARTCHAR U_843E +ENCODING 33854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +7F80 +1AC0 +2440 +CAC0 +0000 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_843F +ENCODING 33855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +27C0 +9100 +5FE0 +2100 +E7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_8440 +ENCODING 33856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +20C0 +FF00 +2100 +37E0 +E100 +27C0 +2440 +67C0 +ENDCHAR +STARTCHAR U_8441 +ENCODING 33857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0A00 +FFE0 +0400 +7FC0 +0400 +FFE0 +1100 +0E00 +71C0 +ENDCHAR +STARTCHAR U_8442 +ENCODING 33858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7880 +53E0 +FCA0 +54A0 +7D20 +2AC0 +4820 +87E0 +ENDCHAR +STARTCHAR U_8443 +ENCODING 33859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7A00 +4BE0 +4D00 +79E0 +4900 +49E0 +7900 +0100 +ENDCHAR +STARTCHAR U_8444 +ENCODING 33860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7A00 +4BE0 +7D00 +49C0 +7900 +49E0 +4900 +9900 +ENDCHAR +STARTCHAR U_8445 +ENCODING 33861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +2440 +57C0 +A440 +27C0 +5440 +8440 +0FE0 +ENDCHAR +STARTCHAR U_8446 +ENCODING 33862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +17C0 +2440 +27C0 +6100 +BFE0 +2540 +2940 +3120 +ENDCHAR +STARTCHAR U_8447 +ENCODING 33863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F80 +0A00 +FFE0 +1440 +2400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_8448 +ENCODING 33864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2080 +7FC0 +2080 +3F80 +0400 +FFE0 +2480 +C460 +ENDCHAR +STARTCHAR U_8449 +ENCODING 33865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +FFE0 +2900 +2F00 +3FC0 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_844A +ENCODING 33866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +0A00 +3F80 +D160 +1F00 +1100 +FFE0 +1100 +2100 +ENDCHAR +STARTCHAR U_844B +ENCODING 33867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7A00 +4BE0 +7C20 +4BA0 +7AA0 +4BA0 +4820 +98C0 +ENDCHAR +STARTCHAR U_844C +ENCODING 33868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +FFE0 +1080 +0F00 +78C0 +2100 +FFE0 +4A40 +3180 +CE60 +ENDCHAR +STARTCHAR U_844D +ENCODING 33869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +3F80 +2080 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_844E +ENCODING 33870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FC0 +4140 +8FE0 +2140 +6FE0 +A100 +3FE0 +2100 +ENDCHAR +STARTCHAR U_844F +ENCODING 33871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1200 +4FC0 +A240 +5FE0 +2240 +2FC0 +C200 +5FE0 +4200 +ENDCHAR +STARTCHAR U_8450 +ENCODING 33872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2080 +DF60 +0900 +1200 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_8451 +ENCODING 33873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2040 +F840 +23E0 +FC40 +2240 +F940 +2040 +FDC0 +ENDCHAR +STARTCHAR U_8452 +ENCODING 33874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +2000 +57C0 +E100 +4900 +F500 +5100 +A900 +AFE0 +ENDCHAR +STARTCHAR U_8453 +ENCODING 33875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5100 +2480 +8FE0 +2480 +2480 +DFE0 +4480 +4840 +5020 +ENDCHAR +STARTCHAR U_8454 +ENCODING 33876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +2F80 +2080 +5FE0 +C800 +4FC0 +5200 +5FE0 +4500 +58C0 +ENDCHAR +STARTCHAR U_8455 +ENCODING 33877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +24E0 +5200 +A9E0 +6240 +A440 +2C40 +2440 +20C0 +ENDCHAR +STARTCHAR U_8456 +ENCODING 33878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +9120 +64C0 +0500 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_8457 +ENCODING 33879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1540 +7F80 +0500 +FFE0 +1F80 +3080 +DF80 +1080 +1F80 +ENDCHAR +STARTCHAR U_8458 +ENCODING 33880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1240 +2480 +FFE0 +1240 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_8459 +ENCODING 33881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +13E0 +FE20 +13E0 +3220 +5BE0 +9620 +13E0 +1220 +ENDCHAR +STARTCHAR U_845A +ENCODING 33882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFC0 +1100 +1F00 +1100 +FFE0 +2900 +3080 +3FC0 +ENDCHAR +STARTCHAR U_845B +ENCODING 33883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +3F80 +2080 +3FE0 +6420 +AA20 +3F60 +ENDCHAR +STARTCHAR U_845C +ENCODING 33884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +23C0 +F940 +2140 +FA40 +2480 +FFE0 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_845D +ENCODING 33885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FD00 +57E0 +A920 +5520 +FD20 +2120 +3A20 +C4C0 +ENDCHAR +STARTCHAR U_845E +ENCODING 33886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F7E0 +1240 +73C0 +8240 +F3C0 +1240 +17E0 +6040 +ENDCHAR +STARTCHAR U_845F +ENCODING 33887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +3F80 +2080 +3F80 +2080 +7FC0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_8460 +ENCODING 33888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FC0 +4040 +4FC0 +C040 +5FE0 +54A0 +4300 +5CE0 +ENDCHAR +STARTCHAR U_8461 +ENCODING 33889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3FE0 +4A20 +BFA0 +2920 +3F20 +2920 +3F20 +2940 +ENDCHAR +STARTCHAR U_8462 +ENCODING 33890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0A00 +3580 +C260 +3F80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_8463 +ENCODING 33891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +3F80 +0400 +FFE0 +2480 +3F80 +2480 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_8464 +ENCODING 33892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2940 +4040 +F7E0 +2840 +FA40 +0140 +A840 +A940 +8080 +ENDCHAR +STARTCHAR U_8465 +ENCODING 33893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +4440 +7D40 +4540 +7D40 +4540 +5440 +49C0 +ENDCHAR +STARTCHAR U_8466 +ENCODING 33894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +0880 +FFE0 +1080 +3FC0 +2200 +7FE0 +0200 +ENDCHAR +STARTCHAR U_8467 +ENCODING 33895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7D00 +13E0 +FD20 +8D20 +1120 +FD20 +12A0 +7440 +ENDCHAR +STARTCHAR U_8468 +ENCODING 33896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +3F80 +2480 +FFE0 +2280 +2900 +70E0 +ENDCHAR +STARTCHAR U_8469 +ENCODING 33897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +4000 +F7C0 +9540 +9540 +F7C0 +9420 +F420 +03E0 +ENDCHAR +STARTCHAR U_846A +ENCODING 33898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +2A00 +3C40 +4940 +FD40 +5540 +7D40 +5540 +7C40 +94C0 +ENDCHAR +STARTCHAR U_846B +ENCODING 33899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +23C0 +FA40 +23C0 +7A40 +4BC0 +7A40 +0440 +08C0 +ENDCHAR +STARTCHAR U_846C +ENCODING 33900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +2A80 +D320 +21E0 +5100 +FFE0 +1100 +E100 +ENDCHAR +STARTCHAR U_846D +ENCODING 33901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +4840 +7BC0 +4000 +7BC0 +4240 +7980 +4660 +ENDCHAR +STARTCHAR U_846E +ENCODING 33902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7B80 +4280 +74E0 +4000 +7FC0 +4280 +F900 +4EE0 +ENDCHAR +STARTCHAR U_846F +ENCODING 33903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4200 +93E0 +E420 +4920 +F4A0 +5020 +A920 +A8C0 +ENDCHAR +STARTCHAR U_8470 +ENCODING 33904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +2840 +3FA0 +6480 +AA40 +37A0 +2C80 +2300 +3CE0 +ENDCHAR +STARTCHAR U_8471 +ENCODING 33905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5100 +7FC0 +9240 +1C40 +6640 +1B80 +4A40 +48A0 +87A0 +ENDCHAR +STARTCHAR U_8472 +ENCODING 33906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0800 +3F80 +2480 +3F80 +0440 +7580 +2480 +CC60 +ENDCHAR +STARTCHAR U_8473 +ENCODING 33907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1140 +7FE0 +4100 +7F20 +4940 +7F40 +5580 +4CA0 +B360 +ENDCHAR +STARTCHAR U_8474 +ENCODING 33908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1140 +7FE0 +4100 +5D20 +4140 +5D80 +5520 +5EA0 +8460 +ENDCHAR +STARTCHAR U_8475 +ENCODING 33909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FE80 +5340 +2180 +5E80 +8460 +7F80 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_8476 +ENCODING 33910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2080 +FFE0 +8020 +3F80 +0400 +1400 +0800 +ENDCHAR +STARTCHAR U_8477 +ENCODING 33911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8420 +FFE0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8478 +ENCODING 33912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4440 +7FC0 +4440 +7FC0 +1440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_8479 +ENCODING 33913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +7BE0 +2480 +3AE0 +2BA0 +2EE0 +2A80 +4A20 +B1E0 +ENDCHAR +STARTCHAR U_847A +ENCODING 33914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +3F00 +2100 +FFC0 +2100 +3F00 +2100 +FF80 +0100 +ENDCHAR +STARTCHAR U_847B +ENCODING 33915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4440 +5F40 +5540 +5F40 +4540 +5FA0 +80A0 +ENDCHAR +STARTCHAR U_847C +ENCODING 33916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4E40 +5140 +7FC0 +2880 +DF60 +2900 +4600 +39C0 +ENDCHAR +STARTCHAR U_847D +ENCODING 33917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +4A40 +7FC0 +0800 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_847E +ENCODING 33918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3BC0 +4A40 +AAC0 +1220 +E1E0 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_847F +ENCODING 33919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +7FE0 +0900 +3FC0 +2240 +3FC0 +2940 +2A40 +2CC0 +4940 +8FC0 +ENDCHAR +STARTCHAR U_8480 +ENCODING 33920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +1F80 +1080 +1F80 +1080 +3FC0 +2940 +2940 +FFE0 +ENDCHAR +STARTCHAR U_8481 +ENCODING 33921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4240 +3FE0 +E700 +2A80 +3240 +2220 +5200 +8FE0 +ENDCHAR +STARTCHAR U_8482 +ENCODING 33922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +1100 +FFE0 +8420 +3F80 +2480 +2580 +0400 +ENDCHAR +STARTCHAR U_8483 +ENCODING 33923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +0F80 +1100 +FFE0 +1480 +6B00 +1680 +0A60 +3600 +ENDCHAR +STARTCHAR U_8484 +ENCODING 33924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +80A0 +7BC0 +0480 +FA80 +2A80 +4920 +87E0 +ENDCHAR +STARTCHAR U_8485 +ENCODING 33925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +4200 +1780 +62A0 +2460 +7FC0 +0E00 +3580 +C460 +ENDCHAR +STARTCHAR U_8486 +ENCODING 33926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +77C0 +2540 +F860 +0400 +FFE0 +0900 +0600 +F9E0 +ENDCHAR +STARTCHAR U_8487 +ENCODING 33927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0940 +7FE0 +4100 +5F20 +5120 +5540 +54A0 +4B60 +B220 +ENDCHAR +STARTCHAR U_8488 +ENCODING 33928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5240 +7B80 +4220 +71E0 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8489 +ENCODING 33929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +2480 +FFE0 +2080 +2480 +2480 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_848A +ENCODING 33930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFC0 +1200 +32C0 +6700 +BA20 +21E0 +0200 +7B80 +4A20 +79E0 +ENDCHAR +STARTCHAR U_848B +ENCODING 33931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +27C0 +AC80 +6300 +2480 +7FE0 +A480 +2280 +2180 +ENDCHAR +STARTCHAR U_848C +ENCODING 33932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5140 +2480 +FFE0 +2480 +4C40 +FFE0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_848D +ENCODING 33933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5500 +2800 +FF80 +0900 +0FC0 +1080 +7FE0 +9520 +2AE0 +ENDCHAR +STARTCHAR U_848E +ENCODING 33934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4900 +2FC0 +8840 +4B80 +2AA0 +2AC0 +CA80 +4B40 +5620 +ENDCHAR +STARTCHAR U_848F +ENCODING 33935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8A20 +7FC0 +4A40 +5340 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_8490 +ENCODING 33936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3FC0 +2440 +3FC0 +2440 +3FC0 +0B60 +12A0 +E1E0 +ENDCHAR +STARTCHAR U_8491 +ENCODING 33937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +4A40 +7C20 +4BC0 +7D40 +4540 +4480 +9B60 +ENDCHAR +STARTCHAR U_8492 +ENCODING 33938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2100 +77E0 +5100 +77C0 +4540 +7540 +5540 +7540 +0100 +ENDCHAR +STARTCHAR U_8493 +ENCODING 33939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFE0 +1200 +2100 +57C0 +7100 +2D40 +7FC0 +0100 +A920 +A8E0 +ENDCHAR +STARTCHAR U_8494 +ENCODING 33940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F7C0 +9100 +9FE0 +F080 +9FE0 +9480 +F280 +0100 +ENDCHAR +STARTCHAR U_8495 +ENCODING 33941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +2A80 +3180 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_8496 +ENCODING 33942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0400 +3F80 +2A80 +3580 +2A80 +FFE0 +2080 +ENDCHAR +STARTCHAR U_8497 +ENCODING 33943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4200 +2F80 +8880 +5F80 +2880 +CFA0 +4940 +4EE0 +ENDCHAR +STARTCHAR U_8498 +ENCODING 33944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5100 +FBC0 +5240 +33C0 +C800 +3F80 +0400 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_8499 +ENCODING 33945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8020 +7FC0 +D440 +2680 +CB00 +1280 +EC60 +ENDCHAR +STARTCHAR U_849A +ENCODING 33946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +FFE0 +1100 +1F00 +0000 +7FC0 +4A40 +7FC0 +4440 +ENDCHAR +STARTCHAR U_849B +ENCODING 33947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4100 +FBC0 +2140 +F940 +AFE0 +A980 +FA40 +0420 +ENDCHAR +STARTCHAR U_849C +ENCODING 33948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +0000 +FBE0 +2080 +72C0 +AAA0 +24A0 +6180 +ENDCHAR +STARTCHAR U_849D +ENCODING 33949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FE0 +5040 +5FC0 +5040 +5FC0 +4A80 +9240 +A620 +ENDCHAR +STARTCHAR U_849E +ENCODING 33950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4480 +2FE0 +A800 +7A40 +2940 +C940 +4880 +4FE0 +ENDCHAR +STARTCHAR U_849F +ENCODING 33951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2200 +FBE0 +0420 +53A0 +52A0 +2BA0 +F020 +00C0 +ENDCHAR +STARTCHAR U_84A0 +ENCODING 33952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +2080 +3F80 +2080 +3F80 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_84A1 +ENCODING 33953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +7FE0 +0900 +FFE0 +8420 +FFE0 +0800 +1FC0 +2040 +C380 +ENDCHAR +STARTCHAR U_84A2 +ENCODING 33954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F100 +9280 +AFE0 +9100 +DFE0 +A540 +8920 +9320 +ENDCHAR +STARTCHAR U_84A3 +ENCODING 33955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +1080 +2300 +54C0 +ABA0 +6100 +AFE0 +2540 +2920 +2300 +ENDCHAR +STARTCHAR U_84A4 +ENCODING 33956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4300 +2480 +9FC0 +7120 +2FC0 +C580 +4940 +5720 +ENDCHAR +STARTCHAR U_84A5 +ENCODING 33957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +1900 +63C0 +5140 +6AC0 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_84A6 +ENCODING 33958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2200 +7FC0 +A200 +3F80 +2200 +7FC0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_84A7 +ENCODING 33959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1140 +7FE0 +4900 +4D40 +4940 +5CC0 +54A0 +9D60 +8220 +ENDCHAR +STARTCHAR U_84A8 +ENCODING 33960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +2100 +7FE0 +A440 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_84A9 +ENCODING 33961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +1240 +FBC0 +3240 +5BC0 +9640 +1240 +1FE0 +ENDCHAR +STARTCHAR U_84AA +ENCODING 33962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2480 +3F80 +2480 +0100 +FFE0 +2100 +1300 +ENDCHAR +STARTCHAR U_84AB +ENCODING 33963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFC0 +0400 +3F80 +0400 +FFE0 +2200 +4200 +BFE0 +ENDCHAR +STARTCHAR U_84AC +ENCODING 33964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +A220 +7FC0 +A440 +3FC0 +0A00 +12A0 +E1E0 +ENDCHAR +STARTCHAR U_84AD +ENCODING 33965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +3FC0 +5540 +9F40 +2840 +3FC0 +D540 +1F40 +08C0 +ENDCHAR +STARTCHAR U_84AE +ENCODING 33966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +8A20 +1200 +3FE0 +6200 +BFC0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_84AF +ENCODING 33967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2420 +FF20 +24A0 +EEA0 +AAA0 +EEA0 +AAA0 +EEA0 +AA20 +AA20 +B6E0 +ENDCHAR +STARTCHAR U_84B0 +ENCODING 33968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7DC0 +5540 +5660 +FC00 +57E0 +5540 +4480 +9F60 +ENDCHAR +STARTCHAR U_84B1 +ENCODING 33969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +2140 +FFE0 +2540 +37C0 +E540 +27C0 +2540 +65C0 +ENDCHAR +STARTCHAR U_84B2 +ENCODING 33970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1140 +5FE0 +2920 +8FE0 +6920 +2FE0 +C920 +4920 +4960 +ENDCHAR +STARTCHAR U_84B3 +ENCODING 33971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFE0 +1200 +2100 +57C0 +7540 +2D40 +FEC0 +0440 +AC40 +ACC0 +ENDCHAR +STARTCHAR U_84B4 +ENCODING 33972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5100 +29E0 +FF20 +55E0 +5520 +7DE0 +1120 +2220 +C460 +ENDCHAR +STARTCHAR U_84B5 +ENCODING 33973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +1480 +0900 +7FC0 +0400 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_84B6 +ENCODING 33974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +2240 +5420 +FBE0 +2140 +5140 +F940 +5240 +ACC0 +ENDCHAR +STARTCHAR U_84B7 +ENCODING 33975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F00 +1100 +3F80 +2080 +3F80 +2080 +3F80 +60C0 +ENDCHAR +STARTCHAR U_84B8 +ENCODING 33976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +0240 +F580 +2480 +4460 +BF80 +5240 +8920 +ENDCHAR +STARTCHAR U_84B9 +ENCODING 33977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +7FE0 +0900 +7FE0 +0A40 +7FE0 +0A40 +3FC0 +1A80 +2A40 +CA20 +ENDCHAR +STARTCHAR U_84BA +ENCODING 33978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +BFE0 +6800 +2FC0 +6200 +BFE0 +2500 +4880 +B060 +ENDCHAR +STARTCHAR U_84BB +ENCODING 33979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBE0 +0820 +79E0 +8200 +FBE0 +4920 +28A0 +D340 +ENDCHAR +STARTCHAR U_84BC +ENCODING 33980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +1480 +3FC0 +D0A0 +1F80 +1080 +1FC0 +2840 +CFC0 +ENDCHAR +STARTCHAR U_84BD +ENCODING 33981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +3FC0 +2240 +2FC0 +2540 +3FC0 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_84BE +ENCODING 33982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4200 +0A40 +E680 +3FE0 +2680 +2A40 +5200 +8FE0 +ENDCHAR +STARTCHAR U_84BF +ENCODING 33983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +1100 +1F00 +0000 +7FC0 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_84C0 +ENCODING 33984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +1240 +2780 +3940 +E7E0 +2080 +24C0 +69A0 +ENDCHAR +STARTCHAR U_84C1 +ENCODING 33985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7F80 +0800 +FFE0 +2E80 +C460 +3F80 +1500 +E4E0 +ENDCHAR +STARTCHAR U_84C2 +ENCODING 33986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +A0A0 +3F80 +2080 +FFE0 +0000 +2080 +4040 +ENDCHAR +STARTCHAR U_84C3 +ENCODING 33987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +75C0 +4440 +75C0 +4440 +7FC0 +1100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_84C4 +ENCODING 33988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +1200 +2480 +7FC0 +2480 +3F80 +2480 +3F80 +ENDCHAR +STARTCHAR U_84C5 +ENCODING 33989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FE0 +A440 +5FA0 +2000 +2A80 +CA80 +52A0 +6260 +ENDCHAR +STARTCHAR U_84C6 +ENCODING 33990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +4880 +7FE0 +4880 +5FC0 +5240 +52C0 +8200 +ENDCHAR +STARTCHAR U_84C7 +ENCODING 33991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +FFE0 +A0A0 +BF80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_84C8 +ENCODING 33992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2100 +7BC0 +4A40 +7A80 +4A40 +7A40 +5340 +6A80 +4A00 +ENDCHAR +STARTCHAR U_84C9 +ENCODING 33993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +9120 +6AC0 +1100 +3F80 +D160 +1100 +1F00 +ENDCHAR +STARTCHAR U_84CA +ENCODING 33994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1480 +2940 +DFA0 +0000 +FBE0 +4920 +28A0 +DB60 +ENDCHAR +STARTCHAR U_84CB +ENCODING 33995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7F80 +0400 +FFE0 +1080 +3FC0 +2940 +2940 +FFE0 +ENDCHAR +STARTCHAR U_84CC +ENCODING 33996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2480 +5540 +BFA0 +0400 +FFE0 +5100 +8E00 +F1E0 +ENDCHAR +STARTCHAR U_84CD +ENCODING 33997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1540 +7F80 +0500 +FFE0 +3040 +DFC0 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_84CE +ENCODING 33998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +7FE0 +4240 +7FE0 +4240 +5FC0 +4200 +5FC0 +9040 +9FC0 +ENDCHAR +STARTCHAR U_84CF +ENCODING 33999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +FFE0 +0880 +0CE0 +7740 +5540 +5540 +5540 +5540 +5DA0 +9520 +ENDCHAR +STARTCHAR U_84D0 +ENCODING 34000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4000 +7FE0 +5540 +5880 +7FE0 +5080 +8B80 +ENDCHAR +STARTCHAR U_84D1 +ENCODING 34001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2080 +FFE0 +2080 +3FA0 +1140 +3480 +D860 +ENDCHAR +STARTCHAR U_84D2 +ENCODING 34002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +5480 +7C80 +57E0 +7C80 +1080 +FE80 +1080 +ENDCHAR +STARTCHAR U_84D3 +ENCODING 34003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FE0 +2480 +3FE0 +6000 +A7C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_84D4 +ENCODING 34004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0A00 +FFC0 +0400 +7F80 +0400 +FFE0 +4A40 +8920 +ENDCHAR +STARTCHAR U_84D5 +ENCODING 34005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFE0 +1200 +2100 +F7C0 +2100 +77E0 +6900 +A7C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_84D6 +ENCODING 34006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +5540 +4A40 +7FC0 +4200 +7BC0 +4220 +79E0 +ENDCHAR +STARTCHAR U_84D7 +ENCODING 34007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2100 +47C0 +9100 +2FE0 +6500 +A5C0 +2B00 +31E0 +ENDCHAR +STARTCHAR U_84D8 +ENCODING 34008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +1500 +2A80 +7F40 +0A00 +3140 +D080 +1860 +ENDCHAR +STARTCHAR U_84D9 +ENCODING 34009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +5480 +5480 +6D40 +4400 +5F80 +8400 +BFC0 +ENDCHAR +STARTCHAR U_84DA +ENCODING 34010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1200 +25C0 +6A40 +A9A0 +2E40 +2980 +2A40 +2180 +2600 +ENDCHAR +STARTCHAR U_84DB +ENCODING 34011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2100 +FFE0 +2340 +F940 +A940 +3080 +6940 +A620 +ENDCHAR +STARTCHAR U_84DC +ENCODING 34012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2100 +FBC0 +5040 +F840 +ABC0 +AA00 +DA20 +8A20 +F9E0 +ENDCHAR +STARTCHAR U_84DD +ENCODING 34013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +5200 +53C0 +5500 +1080 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_84DE +ENCODING 34014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +7FC0 +2880 +1500 +73C0 +4040 +7BC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_84DF +ENCODING 34015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +30A0 +7CA0 +D4A0 +7CA0 +54A0 +7CA0 +0020 +7CE0 +ENDCHAR +STARTCHAR U_84E0 +ENCODING 34016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2A80 +2480 +2A80 +7FC0 +4A40 +5F40 +41C0 +ENDCHAR +STARTCHAR U_84E1 +ENCODING 34017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FC0 +2040 +9FE0 +5020 +2F80 +C480 +4300 +5CE0 +ENDCHAR +STARTCHAR U_84E2 +ENCODING 34018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +4A40 +7BC0 +4A40 +7BC0 +5240 +5A40 +6CC0 +ENDCHAR +STARTCHAR U_84E3 +ENCODING 34019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBE0 +5100 +23E0 +FA20 +2AA0 +22A0 +2140 +E620 +ENDCHAR +STARTCHAR U_84E4 +ENCODING 34020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +1280 +4FC0 +2200 +1FE0 +2A40 +D7A0 +4C80 +4300 +5CE0 +ENDCHAR +STARTCHAR U_84E5 +ENCODING 34021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8A20 +1100 +3F80 +C460 +3F80 +1500 +FFE0 +ENDCHAR +STARTCHAR U_84E6 +ENCODING 34022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +FFE0 +3140 +DFE0 +0040 +7E40 +0180 +ENDCHAR +STARTCHAR U_84E7 +ENCODING 34023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +27C0 +4A80 +D180 +5660 +5100 +5FE0 +4940 +5720 +ENDCHAR +STARTCHAR U_84E8 +ENCODING 34024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +23E0 +5640 +5980 +D660 +57C0 +5440 +57C0 +44C0 +ENDCHAR +STARTCHAR U_84E9 +ENCODING 34025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBE0 +5640 +F980 +2E60 +6100 +A7E0 +2220 +6CC0 +ENDCHAR +STARTCHAR U_84EA +ENCODING 34026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +9100 +4FC0 +0280 +EFC0 +2940 +2FC0 +2940 +58C0 +8FE0 +ENDCHAR +STARTCHAR U_84EB +ENCODING 34027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +5FE0 +2520 +FAC0 +2580 +3AC0 +24A0 +5900 +8FE0 +ENDCHAR +STARTCHAR U_84EC +ENCODING 34028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1380 +4480 +2380 +0D60 +E380 +2100 +27C0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_84ED +ENCODING 34029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +1280 +7FE0 +4200 +7FC0 +4A80 +5FE0 +6A80 +8FA0 +81E0 +ENDCHAR +STARTCHAR U_84EE +ENCODING 34030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +9FE0 +4940 +EFC0 +2940 +3FE0 +2100 +5100 +8FE0 +ENDCHAR +STARTCHAR U_84EF +ENCODING 34031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2440 +4440 +9BA0 +2100 +65E0 +A500 +2B00 +31E0 +ENDCHAR +STARTCHAR U_84F0 +ENCODING 34032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2100 +45C0 +A500 +7FE0 +A500 +25E0 +2B00 +31E0 +ENDCHAR +STARTCHAR U_84F1 +ENCODING 34033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4440 +2280 +9FE0 +6480 +2FE0 +C480 +4880 +5080 +ENDCHAR +STARTCHAR U_84F2 +ENCODING 34034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4900 +4900 +5FC0 +5540 +5DC0 +4000 +7FE0 +ENDCHAR +STARTCHAR U_84F3 +ENCODING 34035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +0A00 +0A00 +3F80 +2480 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_84F4 +ENCODING 34036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFC0 +2440 +3FC0 +2440 +7FC0 +0120 +FFE0 +1300 +ENDCHAR +STARTCHAR U_84F5 +ENCODING 34037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FE0 +F140 +27E0 +3140 +67C0 +A580 +2700 +69E0 +ENDCHAR +STARTCHAR U_84F6 +ENCODING 34038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7280 +57E0 +5C80 +57E0 +5480 +77E0 +5480 +07E0 +ENDCHAR +STARTCHAR U_84F7 +ENCODING 34039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2280 +FFE0 +2480 +3FE0 +E480 +27E0 +2480 +67E0 +ENDCHAR +STARTCHAR U_84F8 +ENCODING 34040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +2A80 +FFE0 +4A40 +7FC0 +4A40 +7FC0 +2480 +2280 +3F80 +ENDCHAR +STARTCHAR U_84F9 +ENCODING 34041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +48E0 +AFA0 +44A0 +DFA0 +44A0 +57E0 +5480 +5F80 +ENDCHAR +STARTCHAR U_84FA +ENCODING 34042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F900 +23C0 +FD40 +4B40 +A5C0 +F940 +2220 +FC20 +ENDCHAR +STARTCHAR U_84FB +ENCODING 34043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFC0 +2140 +FF40 +5140 +FDC0 +2140 +FE20 +2420 +ENDCHAR +STARTCHAR U_84FC +ENCODING 34044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBC0 +2940 +18C0 +2E40 +F1E0 +1E00 +00C0 +1F00 +ENDCHAR +STARTCHAR U_84FD +ENCODING 34045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4440 +7FC0 +2480 +FFE0 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_84FE +ENCODING 34046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +07C0 +0400 +7FC0 +4A40 +5540 +4A40 +5540 +7FC0 +ENDCHAR +STARTCHAR U_84FF +ENCODING 34047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +87E0 +2100 +67C0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_8500 +ENCODING 34048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +4520 +2940 +FF40 +0120 +7DA0 +4540 +7D00 +ENDCHAR +STARTCHAR U_8501 +ENCODING 34049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +1100 +FFE0 +2080 +3F80 +0400 +7FC0 +0400 +ENDCHAR +STARTCHAR U_8502 +ENCODING 34050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +4440 +7FC0 +4440 +7FC0 +0A00 +1480 +7F40 +2500 +CCE0 +ENDCHAR +STARTCHAR U_8503 +ENCODING 34051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +E780 +2480 +E780 +8FC0 +E940 +2FC0 +2140 +CFE0 +ENDCHAR +STARTCHAR U_8504 +ENCODING 34052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +4A40 +7BC0 +4A40 +7FC0 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_8505 +ENCODING 34053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +4A40 +7BC0 +4440 +5F40 +4A40 +4440 +5AC0 +ENDCHAR +STARTCHAR U_8506 +ENCODING 34054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FE0 +A100 +5FE0 +2A40 +D3A0 +4C80 +4300 +4CE0 +ENDCHAR +STARTCHAR U_8507 +ENCODING 34055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F7E0 +9280 +F480 +97E0 +F080 +91A0 +9AA0 +EC60 +ENDCHAR +STARTCHAR U_8508 +ENCODING 34056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +FFE0 +4A40 +4A40 +7FC0 +0000 +7FE0 +2500 +CCE0 +ENDCHAR +STARTCHAR U_8509 +ENCODING 34057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2080 +DF60 +1100 +1F40 +3280 +D500 +18E0 +ENDCHAR +STARTCHAR U_850A +ENCODING 34058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +2C40 +B7C0 +A440 +AFE0 +2100 +5FE0 +8900 +ENDCHAR +STARTCHAR U_850B +ENCODING 34059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +44E0 +A6A0 +44A0 +3EA0 +C4A0 +4E40 +55A0 +4D20 +ENDCHAR +STARTCHAR U_850C +ENCODING 34060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FD00 +11E0 +7E20 +5480 +7C80 +3880 +5540 +9220 +ENDCHAR +STARTCHAR U_850D +ENCODING 34061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +4940 +7FC0 +5100 +5D40 +5180 +5520 +98E0 +ENDCHAR +STARTCHAR U_850E +ENCODING 34062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2380 +FA80 +02E0 +F400 +07C0 +F280 +9100 +FEE0 +ENDCHAR +STARTCHAR U_850F +ENCODING 34063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +1100 +7FC0 +4940 +5FC0 +4940 +4F40 +40C0 +ENDCHAR +STARTCHAR U_8510 +ENCODING 34064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +1100 +7FC0 +4440 +7FC0 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_8511 +ENCODING 34065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4A40 +7FE0 +4200 +7240 +4A80 +8320 +9CE0 +ENDCHAR +STARTCHAR U_8512 +ENCODING 34066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F80 +0880 +7FE0 +1080 +3FC0 +D040 +5FC0 +8920 +ENDCHAR +STARTCHAR U_8513 +ENCODING 34067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +7FC0 +4A40 +7FC0 +0900 +0600 +79E0 +ENDCHAR +STARTCHAR U_8514 +ENCODING 34068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +3FE0 +5220 +BF20 +2920 +3F20 +2920 +3F20 +00C0 +ENDCHAR +STARTCHAR U_8515 +ENCODING 34069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2A80 +FFE0 +2A80 +44E0 +FFE0 +8420 +3F80 +2480 +2580 +ENDCHAR +STARTCHAR U_8516 +ENCODING 34070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1780 +0400 +7FE0 +4420 +5FE0 +5040 +5FC0 +9040 +BFE0 +ENDCHAR +STARTCHAR U_8517 +ENCODING 34071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +4900 +7FE0 +4900 +4F00 +5540 +94A0 +A4A0 +ENDCHAR +STARTCHAR U_8518 +ENCODING 34072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2940 +FBC0 +2C80 +D260 +0C80 +3300 +0C00 +ENDCHAR +STARTCHAR U_8519 +ENCODING 34073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2200 +FBE0 +4400 +77E0 +52A0 +52E0 +9580 +A8E0 +ENDCHAR +STARTCHAR U_851A +ENCODING 34074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7C40 +45E0 +7C40 +4140 +7EC0 +4840 +AC40 +DAC0 +ENDCHAR +STARTCHAR U_851B +ENCODING 34075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2100 +7A40 +9140 +7E40 +5540 +7C60 +57C0 +7C40 +9440 +ENDCHAR +STARTCHAR U_851C +ENCODING 34076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FD00 +11E0 +7F40 +1140 +FD40 +2880 +4940 +9620 +ENDCHAR +STARTCHAR U_851D +ENCODING 34077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1920 +F540 +9100 +FFE0 +9100 +F380 +9540 +F920 +0100 +ENDCHAR +STARTCHAR U_851E +ENCODING 34078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +E4E0 +3F80 +4440 +FFE0 +1100 +0E00 +F9E0 +ENDCHAR +STARTCHAR U_851F +ENCODING 34079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2200 +FBE0 +4500 +73E0 +5480 +57E0 +9140 +B620 +ENDCHAR +STARTCHAR U_8520 +ENCODING 34080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +4A80 +F100 +22C0 +5520 +F0C0 +5300 +A8C0 +ENDCHAR +STARTCHAR U_8521 +ENCODING 34081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3FE0 +4940 +BE80 +2060 +DF80 +1500 +2480 +CC60 +ENDCHAR +STARTCHAR U_8522 +ENCODING 34082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5200 +8FC0 +2A40 +CF80 +4900 +5680 +FFE0 +1200 +7F80 +ENDCHAR +STARTCHAR U_8523 +ENCODING 34083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +57C0 +5A80 +7500 +1280 +FFE0 +5480 +5280 +9100 +ENDCHAR +STARTCHAR U_8524 +ENCODING 34084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +8920 +5640 +5CA0 +EFA0 +2440 +2440 +3FC0 +ENDCHAR +STARTCHAR U_8525 +ENCODING 34085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +2580 +2A80 +2480 +3F80 +1440 +52A0 +8F80 +ENDCHAR +STARTCHAR U_8526 +ENCODING 34086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +2080 +3F80 +2080 +3FE0 +2000 +7FE0 +92A0 +ENDCHAR +STARTCHAR U_8527 +ENCODING 34087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBC0 +1100 +FFE0 +3FC0 +0040 +3FC0 +0040 +3FC0 +ENDCHAR +STARTCHAR U_8528 +ENCODING 34088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +5540 +7FC0 +5140 +7EC0 +5040 +5140 +7FC0 +ENDCHAR +STARTCHAR U_8529 +ENCODING 34089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +8420 +7FC0 +2480 +3F80 +2480 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_852A +ENCODING 34090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +5500 +7DE0 +5540 +7D40 +1140 +FE40 +1440 +ENDCHAR +STARTCHAR U_852B +ENCODING 34091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +1200 +FFE0 +2000 +3FE0 +0020 +5520 +8AC0 +ENDCHAR +STARTCHAR U_852C +ENCODING 34092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +1240 +27E0 +A000 +B540 +A540 +B540 +E960 +ENDCHAR +STARTCHAR U_852D +ENCODING 34093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1380 +F540 +ABA0 +C080 +A7C0 +9000 +EFE0 +8440 +8FA0 +ENDCHAR +STARTCHAR U_852E +ENCODING 34094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4540 +7FC0 +5440 +72C0 +4940 +52C0 +7FC0 +ENDCHAR +STARTCHAR U_852F +ENCODING 34095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +FFE0 +9540 +A7C0 +9540 +97C0 +E380 +8540 +8920 +ENDCHAR +STARTCHAR U_8530 +ENCODING 34096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +7FC0 +4040 +7FC0 +4880 +5FC0 +5240 +5FC0 +5020 +8FE0 +ENDCHAR +STARTCHAR U_8531 +ENCODING 34097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4BC0 +3240 +CA40 +2420 +FBC0 +2240 +7180 +AE60 +ENDCHAR +STARTCHAR U_8532 +ENCODING 34098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +8120 +7BC0 +0680 +FA80 +5120 +52A0 +8FE0 +ENDCHAR +STARTCHAR U_8533 +ENCODING 34099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +47C0 +2100 +8FE0 +6440 +27C0 +C440 +47C0 +4440 +ENDCHAR +STARTCHAR U_8534 +ENCODING 34100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +4900 +7FC0 +4900 +5D80 +6B40 +4D20 +8900 +ENDCHAR +STARTCHAR U_8535 +ENCODING 34101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1140 +7FE0 +5100 +7D40 +4540 +7D40 +50A0 +7D60 +8220 +ENDCHAR +STARTCHAR U_8536 +ENCODING 34102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +0400 +7FC0 +2880 +2480 +3F80 +1100 +60C0 +ENDCHAR +STARTCHAR U_8537 +ENCODING 34103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +2480 +1500 +FFE0 +2940 +2F40 +2040 +3FC0 +ENDCHAR +STARTCHAR U_8538 +ENCODING 34104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +EEE0 +8A20 +9E20 +EAE0 +0E00 +1100 +1120 +E1E0 +ENDCHAR +STARTCHAR U_8539 +ENCODING 34105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3900 +45E0 +FA40 +2540 +A940 +4880 +5140 +FA20 +ENDCHAR +STARTCHAR U_853A +ENCODING 34106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +17E0 +4A20 +5220 +5FA0 +7220 +5FA0 +5220 +5FE0 +ENDCHAR +STARTCHAR U_853B +ENCODING 34107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +FFE0 +8120 +79C0 +0100 +FFC0 +2A80 +2920 +4AA0 +87E0 +ENDCHAR +STARTCHAR U_853C +ENCODING 34108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +47C0 +2440 +E7C0 +2440 +2FE0 +2920 +3AA0 +2FA0 +ENDCHAR +STARTCHAR U_853D +ENCODING 34109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +9280 +55E0 +FEA0 +92A0 +9AA0 +B640 +D2A0 +9520 +ENDCHAR +STARTCHAR U_853E +ENCODING 34110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +73E0 +FD20 +3A20 +54C0 +9400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_853F +ENCODING 34111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7FC0 +2480 +3F00 +2100 +3F80 +2080 +3FC0 +2140 +D4C0 +ENDCHAR +STARTCHAR U_8540 +ENCODING 34112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +2080 +FBE0 +2080 +FBE0 +AAA0 +BAE0 +2180 +72C0 +ACA0 +ENDCHAR +STARTCHAR U_8541 +ENCODING 34113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0900 +3FC0 +0040 +3FC0 +0040 +7FC0 +1240 +FFE0 +1080 +0B80 +ENDCHAR +STARTCHAR U_8542 +ENCODING 34114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7540 +57C0 +7100 +5FE0 +5540 +7BE0 +5140 +5240 +B4C0 +ENDCHAR +STARTCHAR U_8543 +ENCODING 34115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7F80 +1500 +FFE0 +2480 +7FC0 +A4A0 +3F80 +2080 +ENDCHAR +STARTCHAR U_8544 +ENCODING 34116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +79E0 +4920 +79E0 +4920 +79E0 +4CA0 +5B60 +6F60 +ENDCHAR +STARTCHAR U_8545 +ENCODING 34117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FC0 +2940 +9FC0 +6940 +3FE0 +D160 +57A0 +5060 +ENDCHAR +STARTCHAR U_8546 +ENCODING 34118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1140 +FFE0 +A500 +BD20 +A540 +BD40 +A4A0 +BD60 +E620 +ENDCHAR +STARTCHAR U_8547 +ENCODING 34119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +4A40 +7FC0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8548 +ENCODING 34120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4A40 +7FC0 +2080 +3F80 +2080 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8549 +ENCODING 34121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3FC0 +2400 +7FC0 +A400 +3FC0 +2400 +7FE0 +8920 +ENDCHAR +STARTCHAR U_854A +ENCODING 34122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +5240 +50A0 +8FA0 +2080 +5180 +CB20 +5540 +71C0 +ENDCHAR +STARTCHAR U_854B +ENCODING 34123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2500 +1780 +1400 +7FC0 +1080 +1080 +5AE0 +5280 +FFE0 +ENDCHAR +STARTCHAR U_854C +ENCODING 34124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +3F80 +7BC0 +4A40 +7BC0 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_854D +ENCODING 34125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +4300 +2CC0 +9FA0 +52A0 +3EA0 +D2A0 +5E20 +5660 +ENDCHAR +STARTCHAR U_854E +ENCODING 34126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +2080 +5F40 +9120 +7FC0 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_854F +ENCODING 34127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +5100 +27A0 +D140 +3FE0 +5440 +9FC0 +1440 +77C0 +ENDCHAR +STARTCHAR U_8550 +ENCODING 34128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +2480 +5540 +2480 +7FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8551 +ENCODING 34129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +4A20 +7BE0 +4F20 +79E0 +4F20 +4920 +4F20 +4920 +5360 +ENDCHAR +STARTCHAR U_8552 +ENCODING 34130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7FC0 +4A40 +7FC0 +2080 +3F80 +2080 +3F80 +1100 +60C0 +ENDCHAR +STARTCHAR U_8553 +ENCODING 34131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +0400 +FFE0 +9520 +2480 +FFE0 +1080 +3F40 +ENDCHAR +STARTCHAR U_8554 +ENCODING 34132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +1240 +FEC0 +2A00 +FFE0 +1340 +FE80 +1360 +ENDCHAR +STARTCHAR U_8555 +ENCODING 34133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1540 +AFE0 +4280 +AFE0 +2AA0 +6CE0 +AFE0 +2820 +CFE0 +ENDCHAR +STARTCHAR U_8556 +ENCODING 34134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5100 +AFC0 +5400 +27C0 +E7C0 +2400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_8557 +ENCODING 34135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBC0 +8E40 +F980 +2240 +BFE0 +A240 +A3C0 +FA40 +ENDCHAR +STARTCHAR U_8558 +ENCODING 34136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +2080 +FBC0 +2080 +FFE0 +0900 +1120 +E0E0 +ENDCHAR +STARTCHAR U_8559 +ENCODING 34137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2440 +3FC0 +2440 +FFA0 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_855A +ENCODING 34138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +FFC0 +1200 +3F00 +2100 +7F80 +5280 +FFC0 +1000 +3F80 +0080 +0380 +ENDCHAR +STARTCHAR U_855B +ENCODING 34139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0940 +7A80 +27E0 +F920 +27E0 +3500 +6FE0 +A520 +2960 +ENDCHAR +STARTCHAR U_855C +ENCODING 34140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0A00 +7BC0 +0A00 +7BC0 +0400 +5240 +50A0 +8F80 +ENDCHAR +STARTCHAR U_855D +ENCODING 34141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +21C0 +4A40 +F7E0 +4AA0 +FBE0 +5200 +AA20 +A9E0 +ENDCHAR +STARTCHAR U_855E +ENCODING 34142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +3F80 +2080 +3F80 +2080 +FFE0 +4A40 +7A40 +4980 +FE60 +ENDCHAR +STARTCHAR U_855F +ENCODING 34143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0100 +7A40 +2980 +2BE0 +FA80 +44C0 +7380 +1100 +36C0 +ENDCHAR +STARTCHAR U_8560 +ENCODING 34144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBC0 +5240 +33C0 +CA00 +1480 +7F40 +2500 +CCE0 +ENDCHAR +STARTCHAR U_8561 +ENCODING 34145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +2480 +7FE0 +2040 +3FC0 +2040 +3FC0 +E060 +ENDCHAR +STARTCHAR U_8562 +ENCODING 34146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +2480 +FFE0 +2080 +3F80 +2080 +3F80 +F0E0 +ENDCHAR +STARTCHAR U_8563 +ENCODING 34147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +2480 +FFE0 +A0A0 +3BE0 +6A80 +33E0 +C080 +ENDCHAR +STARTCHAR U_8564 +ENCODING 34148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FA80 +2680 +EBE0 +3480 +5BE0 +B480 +5080 +67E0 +ENDCHAR +STARTCHAR U_8565 +ENCODING 34149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FA80 +53E0 +5480 +FFE0 +3480 +57E0 +9480 +37E0 +ENDCHAR +STARTCHAR U_8566 +ENCODING 34150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FE0 +4100 +97C0 +2440 +47C0 +9440 +27C0 +CC60 +ENDCHAR +STARTCHAR U_8567 +ENCODING 34151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +27E0 +4C40 +A7C0 +6440 +A7C0 +2A40 +3180 +2E60 +ENDCHAR +STARTCHAR U_8568 +ENCODING 34152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +9500 +FFE0 +8820 +AA80 +BE80 +8940 +B620 +ENDCHAR +STARTCHAR U_8569 +ENCODING 34153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4900 +27C0 +9440 +57C0 +2440 +2FE0 +D2A0 +4520 +42C0 +ENDCHAR +STARTCHAR U_856A +ENCODING 34154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5100 +7FE0 +AA80 +2A80 +FFE0 +2A80 +FFE0 +5240 +8920 +ENDCHAR +STARTCHAR U_856B +ENCODING 34155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +7FC0 +1100 +FFE0 +2480 +3F80 +2480 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_856C +ENCODING 34156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2080 +4920 +F3C0 +4920 +FBE0 +5080 +AAC0 +ADA0 +ENDCHAR +STARTCHAR U_856D +ENCODING 34157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0440 +FFE0 +5540 +7FC0 +4440 +B5C0 +9540 +ENDCHAR +STARTCHAR U_856E +ENCODING 34158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +39C0 +2040 +39C0 +2040 +7FE0 +9520 +2AA0 +4A40 +ENDCHAR +STARTCHAR U_856F +ENCODING 34159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0200 +77C0 +5100 +6EE0 +57C0 +5100 +77C0 +4100 +4FE0 +ENDCHAR +STARTCHAR U_8570 +ENCODING 34160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4F80 +A880 +4F80 +4880 +3FC0 +D540 +5540 +7FE0 +ENDCHAR +STARTCHAR U_8571 +ENCODING 34161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1520 +F340 +27E0 +FC20 +27E0 +3420 +6FE0 +A420 +2460 +ENDCHAR +STARTCHAR U_8572 +ENCODING 34162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5480 +29E0 +7D00 +5500 +7DE0 +5540 +FF40 +1240 +1440 +ENDCHAR +STARTCHAR U_8573 +ENCODING 34163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +4A40 +7FC0 +5140 +5F40 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_8574 +ENCODING 34164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +5440 +E7C0 +2440 +4FE0 +EAA0 +2AA0 +DFE0 +ENDCHAR +STARTCHAR U_8575 +ENCODING 34165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1380 +4540 +7FE0 +5440 +B7C0 +1440 +27E0 +44C0 +8620 +ENDCHAR +STARTCHAR U_8576 +ENCODING 34166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +94A0 +2440 +1B00 +E0E0 +3F80 +0900 +0600 +ENDCHAR +STARTCHAR U_8577 +ENCODING 34167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +FFE0 +5100 +23C0 +FA40 +2BC0 +2240 +23C0 +6E60 +ENDCHAR +STARTCHAR U_8578 +ENCODING 34168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4900 +2EE0 +0A20 +EEE0 +2800 +2EE0 +2840 +58A0 +8FE0 +ENDCHAR +STARTCHAR U_8579 +ENCODING 34169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2500 +5480 +EFE0 +5480 +F7E0 +2480 +47E0 +ENDCHAR +STARTCHAR U_857A +ENCODING 34170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7940 +4920 +FDE0 +4B20 +7940 +48A0 +FD60 +0A20 +ENDCHAR +STARTCHAR U_857B +ENCODING 34171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7940 +4140 +7BE0 +4140 +F940 +27E0 +5140 +EE20 +ENDCHAR +STARTCHAR U_857C +ENCODING 34172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FE0 +40A0 +7BE0 +40A0 +FFE0 +2080 +4FE0 +F880 +ENDCHAR +STARTCHAR U_857D +ENCODING 34173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0A00 +3F80 +2A80 +2A80 +7FC0 +4000 +7FC0 +5280 +99E0 +ENDCHAR +STARTCHAR U_857E +ENCODING 34174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7FC0 +0400 +FFE0 +94A0 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_857F +ENCODING 34175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1140 +2F80 +B500 +AFC0 +A200 +2FC0 +2280 +5500 +8AC0 +ENDCHAR +STARTCHAR U_8580 +ENCODING 34176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5100 +27C0 +9540 +66C0 +2440 +CFE0 +4AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_8581 +ENCODING 34177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +5540 +7FC0 +4E40 +5540 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_8582 +ENCODING 34178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +FFE0 +0880 +7D00 +45E0 +7EA0 +44A0 +FEA0 +2440 +24A0 +D920 +ENDCHAR +STARTCHAR U_8583 +ENCODING 34179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5100 +2FE0 +9440 +67C0 +2000 +DFE0 +54A0 +57A0 +5060 +ENDCHAR +STARTCHAR U_8584 +ENCODING 34180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +9280 +5FC0 +9240 +7FC0 +3240 +D280 +7FE0 +4880 +4180 +ENDCHAR +STARTCHAR U_8585 +ENCODING 34181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FE0 +E800 +4FE0 +AAA0 +AB40 +6FE0 +6A80 +9180 +ENDCHAR +STARTCHAR U_8586 +ENCODING 34182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +2480 +FFE0 +B4A0 +1F80 +3100 +0E00 +F1E0 +ENDCHAR +STARTCHAR U_8587 +ENCODING 34183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0900 +6A80 +BE80 +42E0 +DF40 +4140 +5C80 +5540 +6220 +ENDCHAR +STARTCHAR U_8588 +ENCODING 34184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1B00 +64C0 +FFE0 +5540 +7FC0 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_8589 +ENCODING 34185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1780 +2400 +FFE0 +0100 +7FE0 +4940 +5AA0 +6D60 +9620 +ENDCHAR +STARTCHAR U_858A +ENCODING 34186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +3820 +7EA0 +AAA0 +3EA0 +2AA0 +7EA0 +6A20 +9560 +ENDCHAR +STARTCHAR U_858B +ENCODING 34187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +C7E0 +2A20 +C580 +68C0 +3FA0 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_858C +ENCODING 34188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +5EE0 +52A0 +FEC0 +52A0 +5EA0 +F4E0 +5680 +9A80 +ENDCHAR +STARTCHAR U_858D +ENCODING 34189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +FA80 +5480 +7E80 +1480 +FE80 +AAA0 +92A0 +EEE0 +ENDCHAR +STARTCHAR U_858E +ENCODING 34190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +5140 +FFE0 +92A0 +63C0 +AE40 +21A0 +2EE0 +ENDCHAR +STARTCHAR U_858F +ENCODING 34191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +1100 +FFE0 +2080 +3F80 +1440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_8590 +ENCODING 34192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F7C0 +2100 +FFE0 +2440 +73E0 +AE40 +2180 +2E60 +ENDCHAR +STARTCHAR U_8591 +ENCODING 34193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +2480 +2480 +FFE0 +2480 +3F80 +2480 +FFE0 +ENDCHAR +STARTCHAR U_8592 +ENCODING 34194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +53C0 +7880 +9340 +2C80 +D500 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_8593 +ENCODING 34195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +4780 +2080 +9FE0 +5120 +0FC0 +4540 +C7C0 +4280 +4FC0 +ENDCHAR +STARTCHAR U_8594 +ENCODING 34196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2480 +5540 +FFE0 +5140 +5F40 +4040 +7FC0 +ENDCHAR +STARTCHAR U_8595 +ENCODING 34197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FE0 +1500 +3FE0 +2540 +3FE0 +2540 +3FC0 +2D80 +5540 +A520 +ENDCHAR +STARTCHAR U_8596 +ENCODING 34198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4F80 +2880 +CE80 +5FC0 +5540 +5740 +B040 +9FE0 +ENDCHAR +STARTCHAR U_8597 +ENCODING 34199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7FC0 +4440 +5F40 +4440 +7FC0 +4940 +5E40 +4940 +7FC0 +ENDCHAR +STARTCHAR U_8598 +ENCODING 34200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +97C0 +4100 +0FC0 +E480 +2FE0 +2100 +2FE0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_8599 +ENCODING 34201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4280 +FFE0 +A480 +FFE0 +2480 +27E0 +5480 +8FE0 +ENDCHAR +STARTCHAR U_859A +ENCODING 34202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1440 +F7C0 +4440 +7FE0 +9400 +D7E0 +2AA0 +4520 +8AC0 +ENDCHAR +STARTCHAR U_859B +ENCODING 34203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4100 +F7C0 +9280 +FFE0 +8100 +F7E0 +9100 +F100 +ENDCHAR +STARTCHAR U_859C +ENCODING 34204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7FE0 +4540 +7C80 +43E0 +7C80 +67E0 +A480 +BC80 +ENDCHAR +STARTCHAR U_859D +ENCODING 34205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FE0 +D480 +6240 +5FC0 +4000 +5FC0 +5040 +9FC0 +ENDCHAR +STARTCHAR U_859E +ENCODING 34206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FA80 +4540 +7FE0 +5440 +D7E0 +2540 +4480 +8660 +ENDCHAR +STARTCHAR U_859F +ENCODING 34207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +0A00 +3180 +CE60 +7BC0 +4A40 +7BC0 +2080 +DB60 +ENDCHAR +STARTCHAR U_85A0 +ENCODING 34208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FE0 +2900 +B7C0 +A440 +27C0 +2440 +57C0 +8C60 +ENDCHAR +STARTCHAR U_85A1 +ENCODING 34209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +5F40 +5140 +5F40 +7FC0 +0A00 +FBE0 +4A40 +8A40 +ENDCHAR +STARTCHAR U_85A2 +ENCODING 34210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +77E0 +9120 +FE60 +AA80 +FBE0 +AC80 +FFE0 +A880 +ENDCHAR +STARTCHAR U_85A3 +ENCODING 34211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBE0 +1080 +FFE0 +4940 +7940 +5080 +2140 +FA20 +ENDCHAR +STARTCHAR U_85A4 +ENCODING 34212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F280 +4EE0 +7280 +9EE0 +5280 +2EE0 +4280 +9FE0 +ENDCHAR +STARTCHAR U_85A5 +ENCODING 34213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4A40 +7FE0 +2420 +5F20 +9520 +1FA0 +3CE0 +ENDCHAR +STARTCHAR U_85A6 +ENCODING 34214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +4A40 +7FC0 +4A40 +5FE0 +5000 +5FE0 +AAA0 +ENDCHAR +STARTCHAR U_85A7 +ENCODING 34215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +2080 +FFE0 +A220 +3A80 +6B20 +1220 +E1E0 +ENDCHAR +STARTCHAR U_85A8 +ENCODING 34216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4A40 +FFE0 +A220 +3A40 +6B80 +1A20 +F1E0 +ENDCHAR +STARTCHAR U_85A9 +ENCODING 34217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +EFE0 +A280 +CFE0 +ABE0 +AD00 +CBC0 +9100 +AFE0 +ENDCHAR +STARTCHAR U_85AA +ENCODING 34218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FDE0 +2900 +FFE0 +1140 +FD40 +5940 +9540 +3240 +ENDCHAR +STARTCHAR U_85AB +ENCODING 34219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +3F80 +0400 +FFE0 +2480 +7FC0 +0400 +FFE0 +4A40 +ENDCHAR +STARTCHAR U_85AC +ENCODING 34220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +1480 +4E40 +3B80 +2E80 +4A40 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_85AD +ENCODING 34221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +0A00 +F7C0 +2540 +FFC0 +2540 +77C0 +A900 +3FE0 +2100 +ENDCHAR +STARTCHAR U_85AE +ENCODING 34222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5500 +3900 +FDE0 +3A20 +5540 +FD40 +2880 +1140 +EE20 +ENDCHAR +STARTCHAR U_85AF +ENCODING 34223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7FC0 +4A40 +7FC0 +0480 +FFE0 +0840 +3FC0 +D040 +1FC0 +ENDCHAR +STARTCHAR U_85B0 +ENCODING 34224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +5540 +7FC0 +0400 +7FC0 +0400 +FFE0 +8920 +ENDCHAR +STARTCHAR U_85B1 +ENCODING 34225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +5440 +FFE0 +2840 +FE40 +1140 +7D40 +1040 +FDC0 +ENDCHAR +STARTCHAR U_85B2 +ENCODING 34226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1080 +7FE0 +4AA0 +1300 +1F80 +7080 +1680 +1080 +1F80 +30C0 +ENDCHAR +STARTCHAR U_85B3 +ENCODING 34227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1200 +4F80 +2200 +1FE0 +E480 +27A0 +2AC0 +5260 +8FE0 +ENDCHAR +STARTCHAR U_85B4 +ENCODING 34228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +9420 +52C0 +BFA0 +2A80 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_85B5 +ENCODING 34229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +0400 +FFE0 +04A0 +7FC0 +5480 +7280 +0100 +ENDCHAR +STARTCHAR U_85B6 +ENCODING 34230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +DD40 +27C0 +D540 +5FE0 +B100 +5100 +B7E0 +ENDCHAR +STARTCHAR U_85B7 +ENCODING 34231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +4A40 +5140 +FFE0 +0800 +7FE0 +4920 +4960 +ENDCHAR +STARTCHAR U_85B8 +ENCODING 34232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4100 +3FE0 +8AA0 +5AA0 +2FE0 +2000 +CFE0 +4540 +5920 +ENDCHAR +STARTCHAR U_85B9 +ENCODING 34233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +0400 +7FC0 +2080 +FFE0 +9120 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_85BA +ENCODING 34234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +5B40 +5520 +A480 +3F80 +2080 +3F80 +C080 +ENDCHAR +STARTCHAR U_85BB +ENCODING 34235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5540 +27C0 +8540 +57C0 +1540 +27C0 +E100 +4FE0 +4540 +ENDCHAR +STARTCHAR U_85BC +ENCODING 34236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +4A80 +7F80 +59C0 +5500 +5FC0 +4400 +BFE0 +ENDCHAR +STARTCHAR U_85BD +ENCODING 34237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0900 +FDE0 +2880 +FFE0 +A920 +FFA0 +1160 +7D20 +11A0 +FD20 +ENDCHAR +STARTCHAR U_85BE +ENCODING 34238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +FFE0 +2440 +FFE0 +6EC0 +5540 +6EC0 +5540 +6EC0 +ENDCHAR +STARTCHAR U_85BF +ENCODING 34239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4900 +73E0 +4540 +7FE0 +90A0 +FE80 +22E0 +5280 +8DE0 +ENDCHAR +STARTCHAR U_85C0 +ENCODING 34240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +5AC0 +5280 +2940 +FFE0 +94A0 +2500 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_85C1 +ENCODING 34241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +FFE0 +1100 +7FC0 +5140 +5F40 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_85C2 +ENCODING 34242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBC0 +4940 +7880 +4B40 +FC20 +2680 +1500 +E4E0 +ENDCHAR +STARTCHAR U_85C3 +ENCODING 34243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FF00 +29E0 +FE20 +8280 +BA80 +AA80 +BB40 +8620 +ENDCHAR +STARTCHAR U_85C4 +ENCODING 34244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +1100 +FFE0 +4A40 +94A0 +7F80 +2500 +CCE0 +ENDCHAR +STARTCHAR U_85C5 +ENCODING 34245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0900 +7FE0 +4920 +7FE0 +1020 +FF20 +3920 +7D20 +4420 +7CE0 +ENDCHAR +STARTCHAR U_85C6 +ENCODING 34246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +9120 +7FC0 +1500 +EEE0 +0400 +7FC0 +0C00 +ENDCHAR +STARTCHAR U_85C7 +ENCODING 34247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +6EC0 +4840 +6EC0 +4A40 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_85C8 +ENCODING 34248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0940 +E680 +AAA0 +E440 +ABA0 +E100 +AFE0 +E280 +1C60 +ENDCHAR +STARTCHAR U_85C9 +ENCODING 34249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +2140 +FFE0 +2240 +FBC0 +6A40 +A7C0 +2240 +ENDCHAR +STARTCHAR U_85CA +ENCODING 34250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +77C0 +2440 +FFC0 +3400 +67E0 +A6A0 +2BE0 +2AA0 +ENDCHAR +STARTCHAR U_85CB +ENCODING 34251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +FFC0 +4A40 +39C0 +4A40 +3FC0 +6200 +BFC0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_85CC +ENCODING 34252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +5240 +EFC0 +3F80 +D480 +1F80 +0440 +7FC0 +ENDCHAR +STARTCHAR U_85CD +ENCODING 34253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +9100 +F9E0 +8A80 +FC40 +9000 +FFC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_85CE +ENCODING 34254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +3FC0 +0440 +FFE0 +0440 +7FE0 +4920 +3FC0 +2A40 +FFE0 +ENDCHAR +STARTCHAR U_85CF +ENCODING 34255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0940 +BFE0 +AA80 +EFA0 +28A0 +EFC0 +AAA0 +AFA0 +4160 +ENDCHAR +STARTCHAR U_85D0 +ENCODING 34256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +47C0 +AC40 +57C0 +E440 +57C0 +B2A0 +52A0 +B460 +ENDCHAR +STARTCHAR U_85D1 +ENCODING 34257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +4940 +7FC0 +2480 +3F80 +1880 +2700 +F8E0 +ENDCHAR +STARTCHAR U_85D2 +ENCODING 34258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +F7C0 +2440 +FFC0 +2240 +77E0 +ACA0 +2560 +27A0 +ENDCHAR +STARTCHAR U_85D3 +ENCODING 34259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1120 +7140 +7FC0 +D480 +7FC0 +5480 +7FE0 +0080 +FC80 +ENDCHAR +STARTCHAR U_85D4 +ENCODING 34260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +8420 +7FE0 +34C0 +D2A0 +1F80 +1280 +6E60 +ENDCHAR +STARTCHAR U_85D5 +ENCODING 34261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBE0 +22A0 +73E0 +22A0 +FFE0 +24A0 +77E0 +AC60 +ENDCHAR +STARTCHAR U_85D6 +ENCODING 34262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +5680 +7900 +56E0 +7F80 +2A80 +3F80 +60C0 +ENDCHAR +STARTCHAR U_85D7 +ENCODING 34263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +FFE0 +0880 +9F80 +44E0 +1FC0 +D540 +5F40 +4EA0 +5520 +BFE0 +ENDCHAR +STARTCHAR U_85D8 +ENCODING 34264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +FFE0 +8420 +BF80 +8420 +BFE0 +A440 +BFC0 +AAA0 +CFA0 +ENDCHAR +STARTCHAR U_85D9 +ENCODING 34265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FB80 +52E0 +FC00 +ABC0 +5240 +3D80 +D240 +3420 +ENDCHAR +STARTCHAR U_85DA +ENCODING 34266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +4A40 +7FC0 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_85DB +ENCODING 34267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +A0A0 +3B80 +2080 +3FE0 +5520 +2AA0 +4AC0 +ENDCHAR +STARTCHAR U_85DC +ENCODING 34268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +79E0 +12A0 +FCA0 +5660 +8900 +3580 +C660 +1D00 +E4E0 +ENDCHAR +STARTCHAR U_85DD +ENCODING 34269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +FFC0 +5140 +F940 +22A0 +FFC0 +0000 +FFE0 +1080 +3F40 +ENDCHAR +STARTCHAR U_85DE +ENCODING 34270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +3080 +DF80 +1080 +FFE0 +4B20 +FDE0 +4920 +ENDCHAR +STARTCHAR U_85DF +ENCODING 34271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7FC0 +4440 +7FC0 +4440 +FFE0 +AAA0 +FBE0 +AAA0 +FBE0 +ENDCHAR +STARTCHAR U_85E0 +ENCODING 34272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +2480 +3F80 +4080 +FBE0 +CB20 +AAA0 +FBE0 +ENDCHAR +STARTCHAR U_85E1 +ENCODING 34273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +9FE0 +4480 +1FE0 +E920 +2FE0 +2920 +2BA0 +7AA0 +8FE0 +ENDCHAR +STARTCHAR U_85E2 +ENCODING 34274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1900 +2A80 +5FE0 +94A0 +6FA0 +A4A0 +3F40 +24A0 +3F20 +ENDCHAR +STARTCHAR U_85E3 +ENCODING 34275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4A40 +7FC0 +2A40 +FEA0 +4BE0 +7A40 +4B80 +7A20 +4BE0 +ENDCHAR +STARTCHAR U_85E4 +ENCODING 34276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1540 +F280 +9FE0 +F200 +9FE0 +F540 +9B60 +9580 +B960 +ENDCHAR +STARTCHAR U_85E5 +ENCODING 34277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5540 +AAA0 +4E40 +AAA0 +EEE0 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_85E6 +ENCODING 34278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +FFE0 +9080 +FFE0 +BAC0 +D4A0 +BF80 +8200 +FFE0 +8E00 +ENDCHAR +STARTCHAR U_85E7 +ENCODING 34279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +2A00 +27E0 +5540 +77C0 +2100 +5FE0 +7640 +5980 +9660 +ENDCHAR +STARTCHAR U_85E8 +ENCODING 34280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +9240 +FFC0 +A200 +BBC0 +A220 +BDE0 +A4A0 +ENDCHAR +STARTCHAR U_85E9 +ENCODING 34281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4B20 +2540 +1FE0 +6540 +2FE0 +D940 +4FC0 +4940 +4FC0 +ENDCHAR +STARTCHAR U_85EA +ENCODING 34282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7C80 +54E0 +FFA0 +54A0 +FEA0 +2440 +38A0 +C720 +ENDCHAR +STARTCHAR U_85EB +ENCODING 34283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +9480 +5FE0 +14A0 +9FE0 +6840 +2FC0 +C840 +5FE0 +4200 +ENDCHAR +STARTCHAR U_85EC +ENCODING 34284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +F7C0 +A540 +CFE0 +A440 +97C0 +D440 +A7C0 +8C60 +ENDCHAR +STARTCHAR U_85ED +ENCODING 34285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +FFE0 +A0A0 +7BC0 +C8A0 +7B80 +4A00 +FBC0 +2840 +C980 +ENDCHAR +STARTCHAR U_85EE +ENCODING 34286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +27E0 +FC80 +27C0 +7480 +6FC0 +A480 +27E0 +2AA0 +ENDCHAR +STARTCHAR U_85EF +ENCODING 34287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +7C40 +47E0 +7D40 +ACC0 +5AC0 +1440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_85F0 +ENCODING 34288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +CE20 +AAA0 +D2A0 +6EA0 +12A0 +FEA0 +5420 +FEE0 +ENDCHAR +STARTCHAR U_85F1 +ENCODING 34289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +BFE0 +6A80 +2F80 +6A80 +AFC0 +26A0 +4A60 +B3E0 +ENDCHAR +STARTCHAR U_85F2 +ENCODING 34290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FE0 +F800 +29C0 +3940 +6BE0 +AAA0 +2AA0 +2FE0 +ENDCHAR +STARTCHAR U_85F3 +ENCODING 34291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +0A00 +7FC0 +5F40 +0400 +FFE0 +1500 +E4C0 +ENDCHAR +STARTCHAR U_85F4 +ENCODING 34292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +3100 +47C0 +9540 +E7C0 +5000 +EFE0 +0AA0 +5AA0 +AFE0 +ENDCHAR +STARTCHAR U_85F5 +ENCODING 34293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFE0 +1200 +17C0 +2440 +7FE0 +A540 +2920 +7FE0 +2940 +CCE0 +ENDCHAR +STARTCHAR U_85F6 +ENCODING 34294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +9080 +FFE0 +B9C0 +D6A0 +83C0 +9200 +FFE0 +ENDCHAR +STARTCHAR U_85F7 +ENCODING 34295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1120 +F7A0 +0140 +FFE0 +0240 +F7C0 +9A40 +F3C0 +9240 +ENDCHAR +STARTCHAR U_85F8 +ENCODING 34296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFA0 +4940 +B7E0 +6240 +B7C0 +6A40 +A3C0 +6240 +ENDCHAR +STARTCHAR U_85F9 +ENCODING 34297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +F7C0 +0440 +F7C0 +0240 +FFE0 +94A0 +F560 +97A0 +ENDCHAR +STARTCHAR U_85FA +ENCODING 34298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4920 +79E0 +4920 +7BE0 +5FA0 +5220 +5FA0 +5220 +5FE0 +ENDCHAR +STARTCHAR U_85FB +ENCODING 34299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4900 +27C0 +9440 +6FE0 +2AA0 +3FE0 +C540 +4520 +5920 +ENDCHAR +STARTCHAR U_85FC +ENCODING 34300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0900 +FFE0 +8420 +3F80 +0400 +3F80 +2A80 +3F80 +5540 +8F20 +ENDCHAR +STARTCHAR U_85FD +ENCODING 34301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +FBE0 +5220 +FFA0 +22E0 +FE20 +73E0 +A940 +6660 +ENDCHAR +STARTCHAR U_85FE +ENCODING 34302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F9C0 +2240 +FBE0 +AA20 +FBE0 +7220 +ABE0 +2620 +ENDCHAR +STARTCHAR U_85FF +ENCODING 34303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7FC0 +1480 +FFE0 +94A0 +3FC0 +6400 +BFC0 +2400 +3FE0 +ENDCHAR +STARTCHAR U_8600 +ENCODING 34304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FE0 +FAA0 +2FE0 +3100 +E7C0 +2280 +2FE0 +6100 +ENDCHAR +STARTCHAR U_8601 +ENCODING 34305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +5540 +5540 +FFE0 +0400 +75C0 +5540 +FFE0 +ENDCHAR +STARTCHAR U_8602 +ENCODING 34306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +7FE0 +0A00 +5540 +8F20 +26A0 +BBE0 +0400 +FFE0 +1480 +6460 +ENDCHAR +STARTCHAR U_8603 +ENCODING 34307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +FFE0 +1080 +5AE0 +5280 +FFE0 +0400 +FFE0 +3500 +C4E0 +ENDCHAR +STARTCHAR U_8604 +ENCODING 34308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +EFE0 +AB00 +FFE0 +5540 +7D40 +5540 +FF40 +1240 +ENDCHAR +STARTCHAR U_8605 +ENCODING 34309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4EE0 +9200 +75E0 +5F40 +D540 +7FC0 +4A40 +71C0 +ENDCHAR +STARTCHAR U_8606 +ENCODING 34310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +4420 +5FE0 +4A80 +5FC0 +5540 +9540 +FFE0 +ENDCHAR +STARTCHAR U_8607 +ENCODING 34311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +73C0 +7C80 +D7E0 +7C80 +55C0 +7EA0 +5480 +AA80 +ENDCHAR +STARTCHAR U_8608 +ENCODING 34312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BE0 +2080 +FBE0 +7220 +AAA0 +73E0 +5940 +9220 +ENDCHAR +STARTCHAR U_8609 +ENCODING 34313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FFE0 +4A40 +FFE0 +A0A0 +4780 +C080 +5FC0 +5540 +4700 +58C0 +ENDCHAR +STARTCHAR U_860A +ENCODING 34314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +47C0 +5540 +E5C0 +4640 +FFE0 +0AA0 +AAA0 +AFE0 +ENDCHAR +STARTCHAR U_860B +ENCODING 34315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +53E0 +5D00 +53E0 +FE20 +53E0 +9A20 +13E0 +E620 +ENDCHAR +STARTCHAR U_860C +ENCODING 34316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5100 +AFE0 +44A0 +D6E0 +5F80 +4000 +FFE0 +2500 +CCE0 +ENDCHAR +STARTCHAR U_860D +ENCODING 34317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7C80 +1080 +FDE0 +54A0 +7CA0 +10A0 +FD20 +AA40 +ENDCHAR +STARTCHAR U_860E +ENCODING 34318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FE0 +9540 +7BE0 +4AA0 +7AA0 +4BE0 +7A00 +89E0 +ENDCHAR +STARTCHAR U_860F +ENCODING 34319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +43E0 +7900 +43E0 +7A20 +02A0 +FBE0 +7140 +AA20 +ENDCHAR +STARTCHAR U_8610 +ENCODING 34320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FE0 +F540 +0FE0 +F200 +0FE0 +F540 +9480 +F960 +ENDCHAR +STARTCHAR U_8611 +ENCODING 34321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +FFE0 +0A80 +7FE0 +4880 +7FE0 +6AA0 +7FE0 +4840 +7840 +8FC0 +ENDCHAR +STARTCHAR U_8612 +ENCODING 34322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +77C0 +2880 +FFC0 +3540 +6FC0 +6540 +A7E0 +21E0 +ENDCHAR +STARTCHAR U_8613 +ENCODING 34323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBC0 +2480 +FFC0 +3540 +6FC0 +6540 +A7C0 +2AA0 +ENDCHAR +STARTCHAR U_8614 +ENCODING 34324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +F3E0 +8900 +7BE0 +0220 +FAA0 +23E0 +FD40 +AA20 +ENDCHAR +STARTCHAR U_8615 +ENCODING 34325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +29E0 +5340 +FC80 +2760 +5480 +F7E0 +0480 +ABE0 +ENDCHAR +STARTCHAR U_8616 +ENCODING 34326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4900 +F7E0 +9280 +FFE0 +8900 +FFE0 +0500 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_8617 +ENCODING 34327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7BE0 +4940 +7FE0 +C480 +7FE0 +0480 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_8618 +ENCODING 34328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +4A40 +7BC0 +1100 +FFE0 +3120 +5540 +98E0 +ENDCHAR +STARTCHAR U_8619 +ENCODING 34329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +9380 +FAE0 +9340 +FC80 +AB60 +FFC0 +4A40 +39C0 +5AC0 +ENDCHAR +STARTCHAR U_861A +ENCODING 34330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0940 +7080 +FFE0 +5480 +7FC0 +5480 +7FE0 +5480 +AA80 +ENDCHAR +STARTCHAR U_861B +ENCODING 34331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +53E0 +F940 +53E0 +7220 +53E0 +FE20 +ABE0 +FE60 +ENDCHAR +STARTCHAR U_861C +ENCODING 34332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5500 +FFE0 +5160 +FDA0 +AB20 +FFE0 +21A0 +FB60 +2540 +ENDCHAR +STARTCHAR U_861D +ENCODING 34333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +29E0 +D640 +0080 +EE80 +AA80 +EE80 +4540 +AA20 +ENDCHAR +STARTCHAR U_861E +ENCODING 34334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +6D00 +B9E0 +0340 +FD40 +9580 +FC80 +4940 +B620 +ENDCHAR +STARTCHAR U_861F +ENCODING 34335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +EFE0 +A540 +CFE0 +A040 +AFE0 +E540 +8CA0 +97A0 +ENDCHAR +STARTCHAR U_8620 +ENCODING 34336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +AFE0 +A540 +EBA0 +3FE0 +EAA0 +ABA0 +A820 +AFE0 +ENDCHAR +STARTCHAR U_8621 +ENCODING 34337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +4A40 +7BC0 +4A40 +7BC0 +4A40 +FFE0 +1100 +0E00 +F9E0 +ENDCHAR +STARTCHAR U_8622 +ENCODING 34338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FDE0 +2BC0 +FC40 +45C0 +7D00 +45C0 +7D20 +4DE0 +ENDCHAR +STARTCHAR U_8623 +ENCODING 34339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +7C80 +2BE0 +FE80 +5480 +7FE0 +5480 +7C80 +C7E0 +ENDCHAR +STARTCHAR U_8624 +ENCODING 34340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4FC0 +EA40 +A580 +AFC0 +E240 +AFE0 +B560 +EAA0 +ENDCHAR +STARTCHAR U_8625 +ENCODING 34341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +3F80 +4040 +F7E0 +5540 +7FC0 +4A40 +7FC0 +4A40 +ENDCHAR +STARTCHAR U_8626 +ENCODING 34342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +9520 +2480 +EEE0 +AAA0 +AAA0 +EEE0 +AAA0 +ENDCHAR +STARTCHAR U_8627 +ENCODING 34343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +8200 +4FE0 +0A20 +EFE0 +2A20 +2DC0 +32A0 +65A0 +9FE0 +ENDCHAR +STARTCHAR U_8628 +ENCODING 34344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBC0 +5100 +FBC0 +2080 +FBE0 +2080 +AAA0 +F900 +ENDCHAR +STARTCHAR U_8629 +ENCODING 34345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4900 +FD00 +55E0 +7F20 +54C0 +7D20 +1200 +3FE0 +1280 +EE60 +ENDCHAR +STARTCHAR U_862A +ENCODING 34346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +FFC0 +9240 +FFC0 +A9A0 +BBE0 +9500 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_862B +ENCODING 34347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +9E80 +54E0 +9E80 +54C0 +1520 +DFC0 +9540 +BFE0 +ENDCHAR +STARTCHAR U_862C +ENCODING 34348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5100 +F7C0 +9040 +FFC0 +8840 +FFE0 +2520 +BFC0 +A540 +FDC0 +ENDCHAR +STARTCHAR U_862D +ENCODING 34349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBE0 +8A20 +FBE0 +FFE0 +AAA0 +BFA0 +9520 +A4E0 +ENDCHAR +STARTCHAR U_862E +ENCODING 34350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7FC0 +4940 +FFE0 +B440 +D940 +A540 +B540 +D940 +A4C0 +ENDCHAR +STARTCHAR U_862F +ENCODING 34351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +1100 +57C0 +2540 +8FE0 +1520 +4AE0 +BF80 +2A80 +7FE0 +ENDCHAR +STARTCHAR U_8630 +ENCODING 34352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +27C0 +4540 +EFE0 +4AA0 +FFE0 +0440 +AB80 +8C60 +ENDCHAR +STARTCHAR U_8631 +ENCODING 34353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +A100 +6BE0 +FC80 +23E0 +7220 +ABE0 +FE20 +53E0 +8E60 +ENDCHAR +STARTCHAR U_8632 +ENCODING 34354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +3F80 +2480 +FFE0 +AAA0 +FBE0 +AAA0 +FBE0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_8633 +ENCODING 34355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FC80 +53E0 +FC80 +ABE0 +F880 +ABE0 +F880 +CFE0 +ENDCHAR +STARTCHAR U_8634 +ENCODING 34356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +5540 +7FC0 +5540 +FFE0 +2080 +3F80 +1100 +FFE0 +ENDCHAR +STARTCHAR U_8635 +ENCODING 34357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +F4C0 +BFA0 +EA80 +BFE0 +EAA0 +AEC0 +AA80 +FF60 +2220 +ENDCHAR +STARTCHAR U_8636 +ENCODING 34358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0880 +73E0 +12A0 +FFE0 +5AA0 +97E0 +FCA0 +29C0 +1AA0 +64E0 +ENDCHAR +STARTCHAR U_8637 +ENCODING 34359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FFE0 +24A0 +BEE0 +AA80 +FFE0 +2900 +C600 +39E0 +ENDCHAR +STARTCHAR U_8638 +ENCODING 34360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0900 +FDE0 +2940 +FDE0 +AF40 +EDE0 +8540 +FDE0 +5240 +8920 +ENDCHAR +STARTCHAR U_8639 +ENCODING 34361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FE0 +BAA0 +AFE0 +A380 +2540 +3D20 +28C0 +2E60 +ENDCHAR +STARTCHAR U_863A +ENCODING 34362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +FA80 +DBE0 +AA80 +FBE0 +2280 +FBE0 +CA80 +FBE0 +8A00 +ENDCHAR +STARTCHAR U_863B +ENCODING 34363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +FDC0 +A940 +FBE0 +AA40 +FD80 +AA60 +FFC0 +2520 +CCE0 +ENDCHAR +STARTCHAR U_863C +ENCODING 34364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +FFE0 +9080 +FFE0 +B9C0 +D6A0 +BDE0 +8500 +FDE0 +8500 +ENDCHAR +STARTCHAR U_863D +ENCODING 34365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2480 +7FC0 +56C0 +6D40 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_863E +ENCODING 34366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +2FE0 +2AA0 +FFE0 +2380 +2C60 +3940 +CE80 +0860 +ENDCHAR +STARTCHAR U_863F +ENCODING 34367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0900 +7FE0 +4920 +7FE0 +2A80 +57E0 +FA80 +43E0 +FA80 +ABE0 +ENDCHAR +STARTCHAR U_8640 +ENCODING 34368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1500 +FFE0 +5A80 +5540 +A520 +FBE0 +0A00 +FBE0 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_8641 +ENCODING 34369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +24A0 +BEE0 +EA80 +3FE0 +D100 +0E00 +71C0 +ENDCHAR +STARTCHAR U_8642 +ENCODING 34370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7FC0 +0400 +FFE0 +D4A0 +7300 +B7C0 +ACA0 +F780 +ENDCHAR +STARTCHAR U_8643 +ENCODING 34371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +8AC0 +55A0 +3FE0 +8A80 +7BA0 +2AA0 +DB40 +4A60 +5F20 +ENDCHAR +STARTCHAR U_8644 +ENCODING 34372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +23C0 +FE80 +AB80 +AD60 +F900 +27C0 +3900 +EFE0 +ENDCHAR +STARTCHAR U_8645 +ENCODING 34373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1540 +77C0 +5280 +77C0 +5AA0 +73C0 +5280 +53E0 +9AA0 +ENDCHAR +STARTCHAR U_8646 +ENCODING 34374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1200 +7FC0 +4440 +FFE0 +AAA0 +FBE0 +1480 +FFC0 +2500 +CCE0 +ENDCHAR +STARTCHAR U_8647 +ENCODING 34375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +17E0 +E240 +2FE0 +EAA0 +87E0 +EC80 +37E0 +2480 +C7E0 +ENDCHAR +STARTCHAR U_8648 +ENCODING 34376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0900 +FFE0 +A4A0 +EEE0 +0A00 +EEE0 +AAA0 +EEE0 +1B00 +ENDCHAR +STARTCHAR U_8649 +ENCODING 34377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFC0 +1280 +FBC0 +5240 +73C0 +0240 +FBE0 +AA00 +FFE0 +AAA0 +ENDCHAR +STARTCHAR U_864A +ENCODING 34378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFC0 +1200 +4480 +AD40 +E1C0 +4C80 +A140 +FFE0 +1500 +64C0 +ENDCHAR +STARTCHAR U_864B +ENCODING 34379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFE0 +52C0 +5240 +FFE0 +AAA0 +2A80 +3580 +7F80 +9160 +6700 +ENDCHAR +STARTCHAR U_864C +ENCODING 34380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1200 +ABE0 +FD40 +A880 +FBE0 +8A40 +FBC0 +8BC0 +FA20 +0FE0 +ENDCHAR +STARTCHAR U_864D +ENCODING 34381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07E0 +0400 +7FE0 +4440 +4780 +7C40 +47C0 +4000 +4000 +8000 +ENDCHAR +STARTCHAR U_864E +ENCODING 34382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4840 +7F80 +4820 +4FE0 +4000 +4F00 +4920 +B0E0 +ENDCHAR +STARTCHAR U_864F +ENCODING 34383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4840 +7F80 +4820 +4FE0 +4400 +5FC0 +8440 +B980 +ENDCHAR +STARTCHAR U_8650 +ENCODING 34384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4420 +5F80 +4420 +4FE0 +4800 +7FE0 +4800 +8FC0 +ENDCHAR +STARTCHAR U_8651 +ENCODING 34385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4420 +5F80 +4420 +47E0 +4A00 +5940 +A8A0 +87A0 +ENDCHAR +STARTCHAR U_8652 +ENCODING 34386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01E0 +7F80 +4200 +5FE0 +5220 +5F80 +5220 +57E0 +9480 +A4A0 +D8E0 +ENDCHAR +STARTCHAR U_8653 +ENCODING 34387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +4100 +F7E0 +5520 +57C0 +5500 +5520 +5DE0 +5540 +4540 +8A60 +ENDCHAR +STARTCHAR U_8654 +ENCODING 34388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4500 +5E20 +43E0 +4200 +7FE0 +4480 +4300 +BCE0 +ENDCHAR +STARTCHAR U_8655 +ENCODING 34389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4540 +5E20 +57E0 +5C00 +55C0 +7560 +4E00 +B1E0 +ENDCHAR +STARTCHAR U_8656 +ENCODING 34390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4420 +5F80 +4420 +5FE0 +4A80 +7FE0 +4200 +8E00 +ENDCHAR +STARTCHAR U_8657 +ENCODING 34391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +0400 +7FE0 +4440 +5F80 +4440 +4FC0 +4800 +4FC0 +4880 +BFE0 +ENDCHAR +STARTCHAR U_8658 +ENCODING 34392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +0400 +7FE0 +4400 +7F80 +4420 +5FC0 +5080 +5480 +5280 +BFE0 +ENDCHAR +STARTCHAR U_8659 +ENCODING 34393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4420 +7FC0 +4420 +47E0 +5900 +6A40 +8C20 +B7C0 +ENDCHAR +STARTCHAR U_865A +ENCODING 34394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4420 +7F80 +4420 +47E0 +6940 +5980 +8900 +FFE0 +ENDCHAR +STARTCHAR U_865B +ENCODING 34395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +0400 +7FE0 +4420 +7F80 +4420 +57E0 +5540 +5DC0 +8500 +FFE0 +ENDCHAR +STARTCHAR U_865C +ENCODING 34396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4420 +5FE0 +5240 +7FE0 +5240 +7FE0 +4420 +B9C0 +ENDCHAR +STARTCHAR U_865D +ENCODING 34397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D00 +1100 +7DE0 +5AA0 +7560 +5D60 +42A0 +5CA0 +5520 +9440 +A7E0 +ENDCHAR +STARTCHAR U_865E +ENCODING 34398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4820 +5FE0 +6880 +7FC0 +4240 +7FE0 +4500 +B8E0 +ENDCHAR +STARTCHAR U_865F +ENCODING 34399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F1E0 +9100 +F7E0 +0520 +FFC0 +4520 +F5E0 +1400 +1780 +9AA0 +64E0 +ENDCHAR +STARTCHAR U_8660 +ENCODING 34400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2100 +FFE0 +5500 +8FC0 +5520 +55E0 +2400 +55C0 +4540 +8A60 +ENDCHAR +STARTCHAR U_8661 +ENCODING 34401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4440 +5FE0 +5540 +4D80 +4500 +7FE0 +4500 +B8E0 +ENDCHAR +STARTCHAR U_8662 +ENCODING 34402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +09E0 +F100 +4FE0 +B520 +57C0 +FD20 +15E0 +9400 +55C0 +1940 +6260 +ENDCHAR +STARTCHAR U_8663 +ENCODING 34403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +08E0 +EC80 +0BE0 +FEA0 +2BE0 +AAA0 +BAE0 +AE00 +ABC0 +F540 +0A60 +ENDCHAR +STARTCHAR U_8664 +ENCODING 34404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +38E0 +2080 +FBE0 +AAA0 +F3C0 +AAA0 +BAE0 +8200 +F3C0 +D540 +9A60 +ENDCHAR +STARTCHAR U_8665 +ENCODING 34405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3A40 +23E0 +FE80 +A9A0 +F260 +AE80 +BA40 +87E0 +F280 +D1A0 +9E60 +ENDCHAR +STARTCHAR U_8666 +ENCODING 34406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +61C0 +5100 +FFE0 +5500 +27C0 +5520 +ADE0 +F400 +2DC0 +3540 +DE60 +ENDCHAR +STARTCHAR U_8667 +ENCODING 34407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1E00 +11E0 +FE00 +9200 +FFE0 +A880 +FEE0 +A820 +BE20 +A920 +BEC0 +ENDCHAR +STARTCHAR U_8668 +ENCODING 34408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +1E40 +1080 +7E00 +5260 +7E40 +5480 +7E20 +5420 +BF40 +D580 +ENDCHAR +STARTCHAR U_8669 +ENCODING 34409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A8E0 +7080 +23E0 +FAA0 +8BC0 +FAA0 +8AE0 +FA00 +75C0 +AD40 +6260 +ENDCHAR +STARTCHAR U_866A +ENCODING 34410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +31E0 +2B20 +FEC0 +AB20 +FBE0 +AAA0 +BBE0 +8A80 +FBE0 +D940 +9AA0 +ENDCHAR +STARTCHAR U_866B +ENCODING 34411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +4440 +4440 +7FC0 +0400 +0480 +0440 +07E0 +F820 +ENDCHAR +STARTCHAR U_866C +ENCODING 34412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FA00 +AA00 +AA00 +AA00 +FA00 +2200 +2A20 +3A20 +C5E0 +ENDCHAR +STARTCHAR U_866D +ENCODING 34413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F920 +A920 +A920 +A920 +F920 +2120 +2A20 +3CA0 +E840 +ENDCHAR +STARTCHAR U_866E +ENCODING 34414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2280 +FA80 +AA80 +AA80 +AA80 +FA80 +2280 +2AA0 +3AA0 +EC60 +ENDCHAR +STARTCHAR U_866F +ENCODING 34415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +2220 +FA20 +AA20 +AA20 +AA20 +FAE0 +2320 +2A20 +3820 +E820 +ENDCHAR +STARTCHAR U_8670 +ENCODING 34416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F880 +A880 +A880 +A880 +F880 +2080 +2C80 +3A80 +E900 +ENDCHAR +STARTCHAR U_8671 +ENCODING 34417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF80 +0080 +0C80 +F080 +1080 +FE80 +9280 +FEA0 +10A0 +1260 +FD20 +ENDCHAR +STARTCHAR U_8672 +ENCODING 34418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7D00 +5580 +5540 +7D60 +5140 +1500 +1D00 +F500 +0100 +ENDCHAR +STARTCHAR U_8673 +ENCODING 34419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +AC20 +A820 +AA20 +F920 +2120 +2820 +3920 +E8C0 +ENDCHAR +STARTCHAR U_8674 +ENCODING 34420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2780 +F900 +A900 +A900 +A9E0 +FF00 +2100 +2920 +3920 +E8E0 +ENDCHAR +STARTCHAR U_8675 +ENCODING 34421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +2280 +FAE0 +ABA0 +AEA0 +FAA0 +22E0 +3A80 +EA20 +01E0 +ENDCHAR +STARTCHAR U_8676 +ENCODING 34422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +F900 +A900 +AFE0 +F900 +2100 +2900 +3900 +C900 +0300 +ENDCHAR +STARTCHAR U_8677 +ENCODING 34423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2080 +F880 +A880 +A880 +AFE0 +F880 +2080 +2880 +3880 +E880 +ENDCHAR +STARTCHAR U_8678 +ENCODING 34424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +F880 +A900 +AFE0 +F900 +A100 +2900 +3900 +C900 +0200 +ENDCHAR +STARTCHAR U_8679 +ENCODING 34425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +F880 +A880 +A880 +A880 +F880 +2080 +2880 +3880 +EFE0 +ENDCHAR +STARTCHAR U_867A +ENCODING 34426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +5100 +57C0 +5540 +5540 +57C0 +5140 +51C0 +5620 +9020 +8FE0 +ENDCHAR +STARTCHAR U_867B +ENCODING 34427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +AA00 +AA00 +AA00 +FA00 +2200 +2A00 +3A40 +EBE0 +ENDCHAR +STARTCHAR U_867C +ENCODING 34428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +FBE0 +AC00 +ABC0 +A840 +F880 +2100 +2A20 +3A20 +E9E0 +ENDCHAR +STARTCHAR U_867D +ENCODING 34429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2480 +0400 +7FC0 +4440 +7FC0 +0400 +0440 +FFE0 +ENDCHAR +STARTCHAR U_867E +ENCODING 34430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F900 +A900 +A980 +A940 +F920 +2100 +2900 +3900 +C500 +ENDCHAR +STARTCHAR U_867F +ENCODING 34431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +0FC0 +0840 +3180 +C400 +3FC0 +2440 +3FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_8680 +ENCODING 34432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7FE0 +4D20 +9520 +27E0 +2520 +2100 +2940 +31E0 +2620 +ENDCHAR +STARTCHAR U_8681 +ENCODING 34433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +22A0 +22A0 +FA20 +AA20 +A940 +F940 +2080 +2940 +3A40 +CC20 +ENDCHAR +STARTCHAR U_8682 +ENCODING 34434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2040 +FA40 +AA40 +AA40 +ABE0 +F820 +27A0 +2820 +3920 +C8C0 +ENDCHAR +STARTCHAR U_8683 +ENCODING 34435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1080 +7F00 +0240 +3F80 +0400 +7FC0 +4440 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_8684 +ENCODING 34436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +2FE0 +FA00 +AA00 +ABC0 +FA40 +2240 +2A40 +3C40 +C8C0 +ENDCHAR +STARTCHAR U_8685 +ENCODING 34437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +2400 +FDE0 +AD20 +AD20 +FD60 +2500 +2520 +3920 +C8E0 +ENDCHAR +STARTCHAR U_8686 +ENCODING 34438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +22A0 +FAA0 +AAA0 +ABE0 +AA20 +FA00 +2200 +2A20 +3A20 +E9E0 +ENDCHAR +STARTCHAR U_8687 +ENCODING 34439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +2220 +FA20 +ABE0 +AAA0 +FA80 +2240 +2A40 +3C20 +C820 +ENDCHAR +STARTCHAR U_8688 +ENCODING 34440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +2000 +27C0 +2280 +FA80 +AFC0 +AA80 +FA80 +2280 +2280 +3C80 +CC80 +ENDCHAR +STARTCHAR U_8689 +ENCODING 34441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +3580 +C460 +3F80 +2480 +3F80 +0440 +7FE0 +ENDCHAR +STARTCHAR U_868A +ENCODING 34442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +AA40 +AA40 +AA40 +F940 +2080 +2980 +3A40 +EC20 +ENDCHAR +STARTCHAR U_868B +ENCODING 34443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +FBE0 +AAA0 +AAA0 +AAA0 +FB60 +2220 +2A20 +3A20 +EA60 +ENDCHAR +STARTCHAR U_868C +ENCODING 34444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23E0 +2080 +F880 +ABE0 +A880 +F880 +27E0 +2080 +3880 +C880 +ENDCHAR +STARTCHAR U_868D +ENCODING 34445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FA80 +AAA0 +ABC0 +AA80 +FA80 +2280 +2AA0 +3BA0 +EA60 +ENDCHAR +STARTCHAR U_868E +ENCODING 34446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +FA20 +AA20 +AA20 +ABE0 +FA20 +2220 +2A20 +3BE0 +EA20 +ENDCHAR +STARTCHAR U_868F +ENCODING 34447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +2220 +FA20 +ABE0 +AA20 +FBE0 +2220 +2A20 +3AA0 +CC40 +ENDCHAR +STARTCHAR U_8690 +ENCODING 34448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +23E0 +FC20 +A920 +A8A0 +F8E0 +2320 +2C20 +3920 +C8C0 +ENDCHAR +STARTCHAR U_8691 +ENCODING 34449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +27E0 +F880 +A880 +ABE0 +F940 +2140 +2880 +3940 +CE20 +ENDCHAR +STARTCHAR U_8692 +ENCODING 34450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +2340 +FAC0 +AA40 +AFE0 +FA40 +2240 +2A40 +3B40 +CC80 +ENDCHAR +STARTCHAR U_8693 +ENCODING 34451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23A0 +20A0 +20A0 +FBA0 +AA20 +ABA0 +F8A0 +20A0 +28A0 +38A0 +CB20 +ENDCHAR +STARTCHAR U_8694 +ENCODING 34452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +2280 +FA80 +ABE0 +AA80 +FA80 +22A0 +2AA0 +3B60 +CA20 +ENDCHAR +STARTCHAR U_8695 +ENCODING 34453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0800 +0800 +FFE0 +1480 +2440 +FFA0 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_8696 +ENCODING 34454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2000 +2000 +F800 +AFE0 +AA80 +FA80 +2280 +2AA0 +3CA0 +C860 +ENDCHAR +STARTCHAR U_8697 +ENCODING 34455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +23C0 +F940 +A940 +AFE0 +F900 +2100 +2A80 +3C40 +C820 +ENDCHAR +STARTCHAR U_8698 +ENCODING 34456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2140 +2120 +FFE0 +A900 +A980 +F980 +2280 +2AA0 +3CA0 +C860 +ENDCHAR +STARTCHAR U_8699 +ENCODING 34457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2180 +2240 +FD20 +A880 +A800 +FFE0 +2040 +2880 +3880 +C900 +ENDCHAR +STARTCHAR U_869A +ENCODING 34458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +23C0 +2200 +FA00 +ABE0 +AA40 +FA40 +2240 +2A40 +3A40 +CC40 +ENDCHAR +STARTCHAR U_869B +ENCODING 34459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +23E0 +FAA0 +AAA0 +AAA0 +FBE0 +2080 +2880 +3880 +C880 +ENDCHAR +STARTCHAR U_869C +ENCODING 34460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2140 +2140 +FA40 +AFE0 +A840 +F8C0 +2140 +2A40 +3D40 +C880 +ENDCHAR +STARTCHAR U_869D +ENCODING 34461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +2100 +F9E0 +AF00 +A900 +F9E0 +2700 +2920 +3920 +C8E0 +ENDCHAR +STARTCHAR U_869E +ENCODING 34462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27E0 +F900 +A900 +A980 +FB40 +2540 +2920 +3920 +C900 +ENDCHAR +STARTCHAR U_869F +ENCODING 34463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2100 +F900 +A900 +AFC0 +F900 +2500 +2900 +3900 +CFE0 +ENDCHAR +STARTCHAR U_86A0 +ENCODING 34464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +1080 +3F40 +C920 +1300 +2400 +7FC0 +4440 +7FC0 +0400 +7FC0 +ENDCHAR +STARTCHAR U_86A1 +ENCODING 34465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +2240 +FC20 +A800 +ABE0 +F920 +2120 +2920 +3AA0 +CC40 +ENDCHAR +STARTCHAR U_86A2 +ENCODING 34466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +27E0 +F800 +AB80 +AA80 +FA80 +2280 +2AA0 +3CA0 +C860 +ENDCHAR +STARTCHAR U_86A3 +ENCODING 34467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2280 +2240 +FA40 +AC20 +A900 +F900 +2200 +2A40 +3CE0 +CB20 +ENDCHAR +STARTCHAR U_86A4 +ENCODING 34468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +2880 +1500 +0E00 +3180 +C460 +3FC0 +2440 +3FC0 +0440 +7FA0 +ENDCHAR +STARTCHAR U_86A5 +ENCODING 34469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2220 +2220 +FC00 +A940 +A940 +F940 +2140 +2880 +3940 +CA20 +ENDCHAR +STARTCHAR U_86A6 +ENCODING 34470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +2240 +FFE0 +AA40 +AA40 +FFE0 +2240 +2A40 +3A40 +CAC0 +ENDCHAR +STARTCHAR U_86A7 +ENCODING 34471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2180 +2240 +FC20 +AA40 +AA40 +FA40 +2240 +2A40 +3C40 +C840 +ENDCHAR +STARTCHAR U_86A8 +ENCODING 34472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27C0 +F900 +A900 +AFE0 +F900 +2100 +2A80 +3C40 +C820 +ENDCHAR +STARTCHAR U_86A9 +ENCODING 34473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +0800 +FFE0 +0400 +3F80 +2480 +3F80 +0440 +FFA0 +ENDCHAR +STARTCHAR U_86AA +ENCODING 34474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2240 +2140 +F940 +AA40 +A940 +F940 +20E0 +2F40 +3840 +C840 +ENDCHAR +STARTCHAR U_86AB +ENCODING 34475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2420 +FBA0 +AAA0 +AAA0 +FBA0 +2260 +2A00 +3A20 +CBE0 +ENDCHAR +STARTCHAR U_86AC +ENCODING 34476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +2540 +FD40 +AD40 +AD40 +FDC0 +2580 +2AA0 +3CA0 +C860 +ENDCHAR +STARTCHAR U_86AD +ENCODING 34477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +2220 +FBE0 +AA00 +AAA0 +FAC0 +2280 +2AA0 +3AA0 +CCE0 +ENDCHAR +STARTCHAR U_86AE +ENCODING 34478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +22C0 +22A0 +FA80 +AEE0 +AB80 +FA80 +22A0 +2AA0 +3A60 +CA20 +ENDCHAR +STARTCHAR U_86AF +ENCODING 34479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +2200 +FA00 +ABE0 +AA40 +FA40 +2240 +2A40 +3A40 +CFE0 +ENDCHAR +STARTCHAR U_86B0 +ENCODING 34480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +23E0 +FAA0 +AAA0 +AAA0 +FBE0 +22A0 +2AA0 +3BE0 +CA20 +ENDCHAR +STARTCHAR U_86B1 +ENCODING 34481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +23E0 +FD00 +A900 +A9E0 +F900 +21E0 +2900 +3900 +C900 +ENDCHAR +STARTCHAR U_86B2 +ENCODING 34482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2080 +FAA0 +A9C0 +AFE0 +F880 +2080 +2880 +3880 +C880 +ENDCHAR +STARTCHAR U_86B3 +ENCODING 34483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2380 +2280 +FA80 +ABE0 +AA80 +FA80 +22A0 +2AA0 +3B60 +CAA0 +ENDCHAR +STARTCHAR U_86B4 +ENCODING 34484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +2480 +FFE0 +AAA0 +AAA0 +FCA0 +27A0 +2920 +3A20 +CCC0 +ENDCHAR +STARTCHAR U_86B5 +ENCODING 34485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2040 +2040 +FBC0 +AAC0 +AAC0 +FBC0 +2240 +2840 +3940 +C880 +ENDCHAR +STARTCHAR U_86B6 +ENCODING 34486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +2240 +FFE0 +AA40 +AA40 +FBC0 +2240 +2A40 +3BC0 +CA40 +ENDCHAR +STARTCHAR U_86B7 +ENCODING 34487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2200 +2200 +FBC0 +AA40 +AA40 +FBC0 +2240 +2A00 +3A00 +CBE0 +ENDCHAR +STARTCHAR U_86B8 +ENCODING 34488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +23C0 +2200 +FBE0 +AA80 +AA80 +FB80 +22E0 +2AA0 +3C80 +C880 +ENDCHAR +STARTCHAR U_86B9 +ENCODING 34489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2240 +2240 +FDE0 +AC40 +AE40 +FD40 +2540 +2C40 +3D40 +CC80 +ENDCHAR +STARTCHAR U_86BA +ENCODING 34490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27C0 +FD40 +AD40 +AFC0 +FD40 +27E0 +2C40 +3C40 +CCC0 +ENDCHAR +STARTCHAR U_86BB +ENCODING 34491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +1100 +3920 +54E0 +9400 +3FC0 +2440 +3FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_86BC +ENCODING 34492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +23E0 +FC20 +ABA0 +AAA0 +FAA0 +23A0 +2820 +3920 +C8C0 +ENDCHAR +STARTCHAR U_86BD +ENCODING 34493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +2080 +F980 +AAC0 +ACA0 +F8A0 +2080 +2880 +3800 +CFE0 +ENDCHAR +STARTCHAR U_86BE +ENCODING 34494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +23E0 +FAA0 +AA80 +ABE0 +FAA0 +22A0 +2A40 +3CA0 +C920 +ENDCHAR +STARTCHAR U_86BF +ENCODING 34495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +27E0 +F900 +AA40 +AFC0 +F880 +2100 +2A40 +3FE0 +CA20 +ENDCHAR +STARTCHAR U_86C0 +ENCODING 34496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +27E0 +F900 +A900 +A900 +FFC0 +2100 +2900 +3900 +CFE0 +ENDCHAR +STARTCHAR U_86C1 +ENCODING 34497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +2120 +F920 +AAE0 +AC40 +FBE0 +2220 +2A20 +3BE0 +CA20 +ENDCHAR +STARTCHAR U_86C2 +ENCODING 34498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2220 +27E0 +FA00 +ABC0 +AA40 +FB40 +2280 +2C80 +3940 +CA20 +ENDCHAR +STARTCHAR U_86C3 +ENCODING 34499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +2080 +FBE0 +AAA0 +AAA0 +FB60 +2220 +2A20 +3A20 +CA60 +ENDCHAR +STARTCHAR U_86C4 +ENCODING 34500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +27E0 +F880 +A880 +ABE0 +FA20 +2220 +2A20 +3BE0 +CA20 +ENDCHAR +STARTCHAR U_86C5 +ENCODING 34501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +20E0 +F880 +A880 +ABE0 +FA20 +2220 +2A20 +3BE0 +CA20 +ENDCHAR +STARTCHAR U_86C6 +ENCODING 34502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +2240 +FA40 +ABC0 +AA40 +FA40 +23C0 +2A40 +3A40 +CFE0 +ENDCHAR +STARTCHAR U_86C7 +ENCODING 34503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +27E0 +FC20 +AA00 +AA40 +FB80 +2200 +2A20 +3A20 +C9E0 +ENDCHAR +STARTCHAR U_86C8 +ENCODING 34504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2500 +27C0 +F900 +A900 +AFE0 +F900 +2100 +2A80 +3C40 +C820 +ENDCHAR +STARTCHAR U_86C9 +ENCODING 34505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2440 +F920 +A880 +AFE0 +F840 +2280 +2900 +3880 +C880 +ENDCHAR +STARTCHAR U_86CA +ENCODING 34506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +4440 +7FC0 +0480 +FFE0 +0020 +7FC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_86CB +ENCODING 34507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0440 +2780 +3400 +4FE0 +8400 +3FC0 +2440 +3FC0 +0480 +FFE0 +ENDCHAR +STARTCHAR U_86CC +ENCODING 34508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +23E0 +22A0 +FAA0 +AAA0 +AAA0 +FAA0 +22A0 +2AA0 +3CE0 +C8A0 +ENDCHAR +STARTCHAR U_86CD +ENCODING 34509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +1240 +1280 +7FE0 +8440 +3F80 +2480 +3F80 +0440 +07C0 +7840 +ENDCHAR +STARTCHAR U_86CE +ENCODING 34510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2200 +23E0 +FA80 +AA80 +AAE0 +FAA0 +22A0 +2AA0 +3D20 +CAC0 +ENDCHAR +STARTCHAR U_86CF +ENCODING 34511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2220 +2140 +F880 +A940 +AE20 +F880 +23E0 +2880 +3880 +CFE0 +ENDCHAR +STARTCHAR U_86D0 +ENCODING 34512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FFE0 +AAA0 +AAA0 +AFE0 +FAA0 +2AA0 +2AA0 +3FE0 +E820 +ENDCHAR +STARTCHAR U_86D1 +ENCODING 34513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2240 +27A0 +F820 +AA80 +AFE0 +F880 +27E0 +2880 +3880 +C880 +ENDCHAR +STARTCHAR U_86D2 +ENCODING 34514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23E0 +2520 +F940 +A880 +A940 +FE20 +23E0 +2A20 +3A20 +CBE0 +ENDCHAR +STARTCHAR U_86D3 +ENCODING 34515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +FD40 +2100 +FFE0 +2100 +F920 +A940 +F980 +28A0 +3560 +C220 +ENDCHAR +STARTCHAR U_86D4 +ENCODING 34516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +23A0 +FAA0 +AAA0 +AAA0 +FBA0 +2220 +2A20 +3BE0 +CA20 +ENDCHAR +STARTCHAR U_86D5 +ENCODING 34517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2100 +FA00 +AFE0 +AA20 +FBE0 +2220 +2BE0 +3A20 +CA60 +ENDCHAR +STARTCHAR U_86D6 +ENCODING 34518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +27E0 +FA40 +ABA0 +AB40 +FDA0 +2540 +2DA0 +3920 +C8E0 +ENDCHAR +STARTCHAR U_86D7 +ENCODING 34519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3FC0 +2040 +3FC0 +2440 +2440 +3FC0 +0440 +FFE0 +ENDCHAR +STARTCHAR U_86D8 +ENCODING 34520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2140 +23E0 +F880 +A880 +ABE0 +F880 +2080 +2FE0 +3880 +C880 +ENDCHAR +STARTCHAR U_86D9 +ENCODING 34521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +F900 +AFE0 +A800 +F900 +27C0 +2900 +3900 +CFE0 +ENDCHAR +STARTCHAR U_86DA +ENCODING 34522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2720 +2420 +24A0 +FFA0 +ADA0 +ADA0 +FBA0 +21A0 +2A20 +3C20 +C8E0 +ENDCHAR +STARTCHAR U_86DB +ENCODING 34523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +23E0 +FC80 +A880 +AFE0 +F880 +21C0 +2AA0 +3CA0 +C880 +ENDCHAR +STARTCHAR U_86DC +ENCODING 34524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27C0 +2540 +FFE0 +AD40 +AD40 +FFC0 +2500 +2D00 +3E00 +CC00 +ENDCHAR +STARTCHAR U_86DD +ENCODING 34525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +2240 +FBC0 +AA40 +ABC0 +FAA0 +22C0 +2A80 +3B60 +CE20 +ENDCHAR +STARTCHAR U_86DE +ENCODING 34526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2380 +2080 +F880 +AFE0 +A880 +FBE0 +2220 +2A20 +3BE0 +CA20 +ENDCHAR +STARTCHAR U_86DF +ENCODING 34527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +27E0 +FA40 +AC20 +AA40 +FA40 +2140 +2880 +3940 +CE20 +ENDCHAR +STARTCHAR U_86E0 +ENCODING 34528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +2240 +FA40 +AC40 +AA80 +FFE0 +22A0 +2AA0 +3AA0 +CD60 +ENDCHAR +STARTCHAR U_86E1 +ENCODING 34529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +25A0 +FB60 +A920 +AB20 +FD60 +21A0 +2920 +3920 +CF60 +ENDCHAR +STARTCHAR U_86E2 +ENCODING 34530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2140 +27E0 +F940 +A940 +AFE0 +F940 +2140 +2940 +3A40 +CC40 +ENDCHAR +STARTCHAR U_86E3 +ENCODING 34531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +27E0 +F880 +ABE0 +A800 +FBE0 +2220 +2A20 +3BE0 +CA20 +ENDCHAR +STARTCHAR U_86E4 +ENCODING 34532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2180 +2240 +FC20 +ABC0 +A800 +FBE0 +2220 +2A20 +3BE0 +CA20 +ENDCHAR +STARTCHAR U_86E5 +ENCODING 34533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2220 +2540 +F880 +A900 +ABE0 +FD20 +2220 +2940 +3880 +CF00 +ENDCHAR +STARTCHAR U_86E6 +ENCODING 34534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +2080 +FBE0 +A8A0 +AFE0 +FC80 +27E0 +28A0 +3940 +CE20 +ENDCHAR +STARTCHAR U_86E7 +ENCODING 34535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +26A0 +FD20 +AD60 +AEA0 +FCA0 +2560 +2620 +3C20 +CC60 +ENDCHAR +STARTCHAR U_86E8 +ENCODING 34536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +2100 +FBE0 +AA20 +AA20 +FBE0 +2220 +2A20 +3BE0 +CA20 +ENDCHAR +STARTCHAR U_86E9 +ENCODING 34537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +FC80 +2680 +25A0 +FCE0 +0400 +7FC0 +4440 +7FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_86EA +ENCODING 34538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +2240 +FA40 +2240 +FD40 +2880 +7F80 +4880 +7F80 +0880 +FF40 +ENDCHAR +STARTCHAR U_86EB +ENCODING 34539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +2240 +FFE0 +AA00 +AAE0 +FAA0 +22E0 +2A80 +3CA0 +C8E0 +ENDCHAR +STARTCHAR U_86EC +ENCODING 34540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FE0 +1100 +FFE0 +2100 +64C0 +BFA0 +2480 +3F80 +0440 +FFA0 +ENDCHAR +STARTCHAR U_86ED +ENCODING 34541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +2200 +FA40 +AFA0 +A880 +F880 +23E0 +2880 +3880 +CFE0 +ENDCHAR +STARTCHAR U_86EE +ENCODING 34542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +3180 +5540 +8420 +3F80 +2480 +3F80 +0440 +FFA0 +ENDCHAR +STARTCHAR U_86EF +ENCODING 34543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2140 +FFE0 +A880 +A900 +FA40 +2780 +2A20 +3A20 +CBE0 +ENDCHAR +STARTCHAR U_86F0 +ENCODING 34544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F7C0 +2140 +F340 +22C0 +6420 +3FC0 +2440 +3FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_86F1 +ENCODING 34545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +AD20 +AB40 +FFE0 +2100 +2900 +3A80 +C440 +0820 +ENDCHAR +STARTCHAR U_86F2 +ENCODING 34546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27E0 +2140 +F9A0 +AA60 +AC20 +FFE0 +2280 +2AA0 +3CA0 +C860 +ENDCHAR +STARTCHAR U_86F3 +ENCODING 34547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +2880 +2880 +FBE0 +AAA0 +AAA0 +FAA0 +2AA0 +2AE0 +3880 +D080 +ENDCHAR +STARTCHAR U_86F4 +ENCODING 34548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2240 +F980 +AE60 +A800 +FA40 +2240 +2A40 +3C40 +C840 +ENDCHAR +STARTCHAR U_86F5 +ENCODING 34549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +22A0 +22A0 +FD40 +AAA0 +AAA0 +F800 +27E0 +2880 +3880 +CFE0 +ENDCHAR +STARTCHAR U_86F6 +ENCODING 34550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +2780 +2520 +FAC0 +A840 +AFE0 +F840 +2240 +2940 +3840 +C9C0 +ENDCHAR +STARTCHAR U_86F7 +ENCODING 34551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2140 +27E0 +F920 +ADC0 +AB80 +F940 +2340 +2D20 +3920 +CB00 +ENDCHAR +STARTCHAR U_86F8 +ENCODING 34552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24A0 +22C0 +2080 +FBE0 +AA20 +ABE0 +FA20 +23E0 +2A20 +3A20 +CA60 +ENDCHAR +STARTCHAR U_86F9 +ENCODING 34553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2140 +23E0 +FAA0 +ABE0 +AAA0 +FAA0 +23E0 +2AA0 +3AA0 +CAE0 +ENDCHAR +STARTCHAR U_86FA +ENCODING 34554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +27E0 +F940 +AB40 +AD40 +FBA0 +2100 +2A80 +3C40 +C820 +ENDCHAR +STARTCHAR U_86FB +ENCODING 34555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2C40 +27E0 +FC40 +AC40 +AFC0 +FA80 +2280 +2AA0 +3CA0 +C860 +ENDCHAR +STARTCHAR U_86FC +ENCODING 34556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +2080 +FBE0 +AAA0 +ABE0 +FAA0 +23E0 +2880 +3FE0 +C880 +ENDCHAR +STARTCHAR U_86FD +ENCODING 34557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +2220 +FBE0 +AA20 +ABE0 +FA20 +23E0 +2940 +3A20 +CC20 +ENDCHAR +STARTCHAR U_86FE +ENCODING 34558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +26C0 +22A0 +FFE0 +AA80 +AA80 +FBA0 +26C0 +2AA0 +3B60 +CE20 +ENDCHAR +STARTCHAR U_86FF +ENCODING 34559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2440 +F920 +AFC0 +A880 +F900 +23C0 +2A40 +3A40 +CBC0 +ENDCHAR +STARTCHAR U_8700 +ENCODING 34560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +1000 +3FE0 +4420 +BFA0 +24A0 +3FA0 +04A0 +3F40 +ENDCHAR +STARTCHAR U_8701 +ENCODING 34561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2400 +FFE0 +A8A0 +A8C0 +FA80 +22E0 +2A80 +3D80 +C8E0 +ENDCHAR +STARTCHAR U_8702 +ENCODING 34562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2480 +FB60 +A880 +AFE0 +F880 +23E0 +2880 +3FE0 +C880 +ENDCHAR +STARTCHAR U_8703 +ENCODING 34563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5FC0 +4000 +7FE0 +5180 +5260 +7FC0 +6240 +7FC0 +4240 +BFA0 +ENDCHAR +STARTCHAR U_8704 +ENCODING 34564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2400 +25C0 +FC00 +AFE0 +AD40 +FD40 +2560 +2D40 +39A0 +CB20 +ENDCHAR +STARTCHAR U_8705 +ENCODING 34565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +27E0 +F880 +ABE0 +AAA0 +FBE0 +22A0 +2BE0 +3AA0 +CAE0 +ENDCHAR +STARTCHAR U_8706 +ENCODING 34566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +23C0 +FA40 +AA40 +ABC0 +FA40 +23C0 +29A0 +3AA0 +CCE0 +ENDCHAR +STARTCHAR U_8707 +ENCODING 34567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FB80 +2200 +3FE0 +E480 +2480 +3FC0 +2440 +3FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_8708 +ENCODING 34568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +A800 +ABC0 +A900 +FFE0 +2100 +2A80 +3C40 +C820 +ENDCHAR +STARTCHAR U_8709 +ENCODING 34569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +27A0 +2520 +FAC0 +AFE0 +A840 +F880 +27E0 +2880 +3880 +C980 +ENDCHAR +STARTCHAR U_870A +ENCODING 34570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +2620 +22A0 +FAA0 +AFA0 +AAA0 +FBA0 +26A0 +2A20 +3A20 +CAE0 +ENDCHAR +STARTCHAR U_870B +ENCODING 34571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23E0 +2220 +FBE0 +AA20 +ABE0 +FA80 +22A0 +2A40 +3AA0 +CB20 +ENDCHAR +STARTCHAR U_870C +ENCODING 34572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +24A0 +27C0 +F4A0 +94A0 +9660 +F100 +27C0 +2900 +3900 +CFE0 +ENDCHAR +STARTCHAR U_870D +ENCODING 34573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2440 +FBE0 +A900 +AFE0 +F900 +2380 +2540 +3920 +C900 +ENDCHAR +STARTCHAR U_870E +ENCODING 34574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +23E0 +F800 +ABE0 +AA20 +FBE0 +2220 +2BE0 +3A20 +CA60 +ENDCHAR +STARTCHAR U_870F +ENCODING 34575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +2100 +FFE0 +AB80 +AD40 +FBA0 +2280 +2AE0 +3A20 +CC60 +ENDCHAR +STARTCHAR U_8710 +ENCODING 34576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2780 +2280 +FBE0 +AAA0 +AFA0 +FAA0 +24A0 +27A0 +38A0 +C960 +ENDCHAR +STARTCHAR U_8711 +ENCODING 34577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +2100 +45E0 +A500 +5FE0 +8400 +3F80 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_8712 +ENCODING 34578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +26C0 +2240 +FA40 +AF60 +AB40 +FB40 +2540 +2DE0 +3A00 +C9E0 +ENDCHAR +STARTCHAR U_8713 +ENCODING 34579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2720 +21C0 +F940 +AA40 +ABE0 +F940 +2540 +2A40 +3AE0 +C500 +08E0 +ENDCHAR +STARTCHAR U_8714 +ENCODING 34580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2420 +FBE0 +AAA0 +ABE0 +FAA0 +23E0 +2820 +38A0 +C840 +ENDCHAR +STARTCHAR U_8715 +ENCODING 34581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2140 +27E0 +FC20 +AC20 +AFE0 +FA80 +2280 +2AA0 +3AA0 +CC60 +ENDCHAR +STARTCHAR U_8716 +ENCODING 34582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2AA0 +FAA0 +ABA0 +AAA0 +FAA0 +2BA0 +2AA0 +3AA0 +CFE0 +ENDCHAR +STARTCHAR U_8717 +ENCODING 34583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +2220 +FBE0 +A880 +ABE0 +FAA0 +22A0 +2B60 +3A20 +CA60 +ENDCHAR +STARTCHAR U_8718 +ENCODING 34584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +27E0 +FAA0 +AAA0 +AAA0 +FFA0 +22A0 +2AA0 +3BE0 +CCA0 +ENDCHAR +STARTCHAR U_8719 +ENCODING 34585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +22C0 +27A0 +FA20 +AB40 +AE40 +FA40 +2240 +2AA0 +3BE0 +CA20 +ENDCHAR +STARTCHAR U_871A +ENCODING 34586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3E0 +1200 +F3C0 +1200 +F3E0 +1600 +7FC0 +4440 +7FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_871B +ENCODING 34587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +23E0 +FA80 +ABE0 +AA80 +FA80 +23E0 +2D20 +3920 +C9E0 +ENDCHAR +STARTCHAR U_871C +ENCODING 34588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8A20 +5540 +9F20 +6400 +BF80 +2480 +3F80 +0440 +FFA0 +ENDCHAR +STARTCHAR U_871D +ENCODING 34589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1900 +1500 +FFE0 +2480 +7FC0 +A4A0 +3F80 +0480 +7FC0 +ENDCHAR +STARTCHAR U_871E +ENCODING 34590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +2240 +FBC0 +AA40 +ABC0 +FA40 +27E0 +2940 +3A20 +CC20 +ENDCHAR +STARTCHAR U_871F +ENCODING 34591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2240 +FFE0 +A800 +ABC0 +FA40 +23C0 +2A40 +3BC0 +CA40 +ENDCHAR +STARTCHAR U_8720 +ENCODING 34592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2460 +27A0 +FCA0 +AFE0 +ACA0 +FDE0 +26A0 +2CA0 +3FE0 +CC20 +ENDCHAR +STARTCHAR U_8721 +ENCODING 34593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +2240 +FA40 +AFE0 +A800 +FBE0 +2220 +2BE0 +3A20 +CBE0 +ENDCHAR +STARTCHAR U_8722 +ENCODING 34594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2040 +2080 +FFE0 +A880 +A880 +FFE0 +2560 +2D60 +3D60 +CFE0 +ENDCHAR +STARTCHAR U_8723 +ENCODING 34595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2140 +27E0 +F880 +ABE0 +A880 +FFE0 +2180 +2980 +3AA0 +CC60 +ENDCHAR +STARTCHAR U_8724 +ENCODING 34596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FE00 +23E0 +7240 +AC40 +0400 +3FC0 +2440 +3FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_8725 +ENCODING 34597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +22C0 +2280 +FF80 +AAE0 +ABA0 +FEA0 +22A0 +2AA0 +3B20 +CA20 +ENDCHAR +STARTCHAR U_8726 +ENCODING 34598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +2240 +FC20 +ABC0 +A800 +AFE0 +FAA0 +2AA0 +2FE0 +3AA0 +E860 +ENDCHAR +STARTCHAR U_8727 +ENCODING 34599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23E0 +2220 +FBE0 +AAC0 +AAA0 +FBE0 +2280 +2C80 +3940 +CA20 +ENDCHAR +STARTCHAR U_8728 +ENCODING 34600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2140 +FFE0 +A940 +AFC0 +F900 +25E0 +2D00 +3B00 +C9E0 +ENDCHAR +STARTCHAR U_8729 +ENCODING 34601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2520 +27E0 +FD20 +AFE0 +AC20 +FDE0 +2560 +2DE0 +3C20 +C8E0 +ENDCHAR +STARTCHAR U_872A +ENCODING 34602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2620 +FBA0 +A920 +AFE0 +F920 +2560 +2FE0 +3820 +C8C0 +ENDCHAR +STARTCHAR U_872B +ENCODING 34603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +FC40 +AFC0 +AC80 +FCA0 +27C0 +2480 +3EA0 +C4E0 +ENDCHAR +STARTCHAR U_872C +ENCODING 34604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2040 +2080 +FCA0 +AEE0 +ADA0 +FDA0 +26E0 +2CA0 +3D20 +CFE0 +ENDCHAR +STARTCHAR U_872D +ENCODING 34605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +21E0 +2240 +FC80 +A960 +AE20 +FC20 +2760 +2C20 +3FE0 +CC20 +ENDCHAR +STARTCHAR U_872E +ENCODING 34606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +27E0 +F880 +ABA0 +AAA0 +FBA0 +2040 +2FE0 +38A0 +C920 +ENDCHAR +STARTCHAR U_872F +ENCODING 34607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2100 +FFE0 +AA00 +AFE0 +F940 +23A0 +2900 +3FE0 +C900 +ENDCHAR +STARTCHAR U_8730 +ENCODING 34608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4AA0 +7BE0 +4A20 +7BE0 +9400 +7FC0 +4440 +7FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_8731 +ENCODING 34609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2520 +FFE0 +AD20 +AFE0 +FA80 +27E0 +2880 +3880 +C880 +ENDCHAR +STARTCHAR U_8732 +ENCODING 34610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +2380 +2100 +FFE0 +AB40 +AD20 +FFE0 +2240 +2B80 +3940 +CE20 +ENDCHAR +STARTCHAR U_8733 +ENCODING 34611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2240 +FBC0 +A800 +ABC0 +F840 +2080 +2FE0 +3880 +C980 +ENDCHAR +STARTCHAR U_8734 +ENCODING 34612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +FC40 +AFC0 +AA00 +FFE0 +22A0 +2CA0 +3920 +CAC0 +ENDCHAR +STARTCHAR U_8735 +ENCODING 34613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +2AA0 +2AA0 +FEE0 +A820 +AFE0 +F820 +2EE0 +2AA0 +3AA0 +D2A0 +ENDCHAR +STARTCHAR U_8736 +ENCODING 34614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2240 +FA40 +AEA0 +A900 +F900 +27E0 +2900 +3900 +C900 +ENDCHAR +STARTCHAR U_8737 +ENCODING 34615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +2340 +FFE0 +A900 +AFE0 +AA40 +FFA0 +2280 +2BA0 +3A20 +E9E0 +ENDCHAR +STARTCHAR U_8738 +ENCODING 34616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5140 +7D40 +4480 +7F40 +5420 +7F80 +2480 +3F80 +0440 +FFA0 +ENDCHAR +STARTCHAR U_8739 +ENCODING 34617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +2240 +F880 +AFE0 +FCA0 +24A0 +2560 +3E20 +CCA0 +0440 +ENDCHAR +STARTCHAR U_873A +ENCODING 34618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +26E0 +2420 +FF60 +AC20 +AFE0 +FA80 +2280 +2AA0 +3AA0 +CC60 +ENDCHAR +STARTCHAR U_873B +ENCODING 34619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +27C0 +F900 +AFE0 +AA40 +FBC0 +2240 +2BC0 +3A40 +CAC0 +ENDCHAR +STARTCHAR U_873C +ENCODING 34620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +23E0 +FE80 +ABE0 +AA80 +FA80 +23E0 +2A80 +3A80 +CBE0 +ENDCHAR +STARTCHAR U_873D +ENCODING 34621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2100 +FFE0 +A920 +FDA0 +2DA0 +2B60 +3920 +D920 +0960 +ENDCHAR +STARTCHAR U_873E +ENCODING 34622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +22A0 +23E0 +FAA0 +ABE0 +A880 +FFE0 +2080 +29C0 +3AA0 +CCA0 +ENDCHAR +STARTCHAR U_873F +ENCODING 34623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2420 +FAE0 +ABA0 +ACA0 +FAA0 +21E0 +2A80 +3CA0 +C8E0 +ENDCHAR +STARTCHAR U_8740 +ENCODING 34624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2100 +FFC0 +AD40 +AFC0 +FD40 +27C0 +2B80 +3D40 +C920 +ENDCHAR +STARTCHAR U_8741 +ENCODING 34625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7BC0 +4040 +7BC0 +0A00 +FFE0 +2480 +3F80 +0440 +FFA0 +ENDCHAR +STARTCHAR U_8742 +ENCODING 34626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A20 +2AC0 +FA80 +AFE0 +A8A0 +AFA0 +FAA0 +2AA0 +2B40 +3AA0 +E920 +ENDCHAR +STARTCHAR U_8743 +ENCODING 34627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +25A0 +FA40 +ADA0 +AFE0 +FAA0 +26A0 +2A40 +3DA0 +C8A0 +ENDCHAR +STARTCHAR U_8744 +ENCODING 34628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +FAA0 +AFE0 +A920 +FFE0 +2A20 +2BA0 +3820 +C8A0 +0840 +ENDCHAR +STARTCHAR U_8745 +ENCODING 34629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +1080 +FFE0 +2940 +4620 +BF80 +2480 +3F80 +0480 +07C0 +7840 +ENDCHAR +STARTCHAR U_8746 +ENCODING 34630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +2560 +FD40 +A900 +AFC0 +F900 +27E0 +2900 +3900 +C900 +ENDCHAR +STARTCHAR U_8747 +ENCODING 34631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +F900 +AFE0 +AD20 +FFE0 +2520 +2FE0 +3920 +C9E0 +ENDCHAR +STARTCHAR U_8748 +ENCODING 34632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +27E0 +F520 +97E0 +9520 +F5A0 +27E0 +2420 +37E0 +D420 +ENDCHAR +STARTCHAR U_8749 +ENCODING 34633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2140 +23E0 +FAA0 +ABE0 +AAA0 +FBE0 +2080 +2FE0 +3880 +C880 +ENDCHAR +STARTCHAR U_874A +ENCODING 34634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2420 +F800 +AFC0 +A900 +FD00 +25E0 +2D00 +3B00 +C9E0 +ENDCHAR +STARTCHAR U_874B +ENCODING 34635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2540 +2580 +FFC0 +AA40 +AFC0 +FA40 +2FC0 +3A60 +CA60 +1220 +ENDCHAR +STARTCHAR U_874C +ENCODING 34636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +2640 +22C0 +FF40 +AA40 +ABC0 +FE40 +2260 +2BC0 +3A40 +CA40 +ENDCHAR +STARTCHAR U_874D +ENCODING 34637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +2AA0 +FEA0 +AAA0 +AEA0 +F8A0 +2AA0 +2EE0 +3A80 +C080 +ENDCHAR +STARTCHAR U_874E +ENCODING 34638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +23C0 +FA40 +ABC0 +AA00 +FFE0 +22A0 +2B60 +3BA0 +C840 +ENDCHAR +STARTCHAR U_874F +ENCODING 34639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2240 +FBC0 +A800 +AFE0 +FC20 +23C0 +2880 +3A80 +C900 +ENDCHAR +STARTCHAR U_8750 +ENCODING 34640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +25A0 +FC20 +ABE0 +AA20 +FBE0 +2220 +2BE0 +3A20 +CBE0 +ENDCHAR +STARTCHAR U_8751 +ENCODING 34641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +25C0 +FB00 +AFE0 +AA20 +FBE0 +2220 +2BE0 +3A20 +CA60 +ENDCHAR +STARTCHAR U_8752 +ENCODING 34642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +2100 +FFE0 +AAA0 +ABA0 +FAA0 +23A0 +2AA0 +3FE0 +C820 +ENDCHAR +STARTCHAR U_8753 +ENCODING 34643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2440 +FBA0 +A800 +AEA0 +FAA0 +2EA0 +2AA0 +3E20 +CAE0 +ENDCHAR +STARTCHAR U_8754 +ENCODING 34644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +24A0 +27C0 +FCA0 +AFE0 +A900 +FBE0 +2220 +2BE0 +3A20 +CBE0 +ENDCHAR +STARTCHAR U_8755 +ENCODING 34645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5080 +ABE0 +7AA0 +4AA0 +7AA0 +4BE0 +7880 +50A0 +78E0 +CBA0 +ENDCHAR +STARTCHAR U_8756 +ENCODING 34646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2420 +F800 +AFE0 +AA40 +FBC0 +2240 +2BC0 +3800 +CFE0 +ENDCHAR +STARTCHAR U_8757 +ENCODING 34647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23E0 +2220 +FBE0 +AA20 +AFE0 +F880 +2080 +2BE0 +3880 +CFE0 +ENDCHAR +STARTCHAR U_8758 +ENCODING 34648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2540 +25C0 +FD40 +ADC0 +AC80 +FFE0 +2540 +2C80 +3D40 +CFE0 +ENDCHAR +STARTCHAR U_8759 +ENCODING 34649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F820 +AFE0 +A800 +AFE0 +FAA0 +AFE0 +2AA0 +3AA0 +E860 +ENDCHAR +STARTCHAR U_875A +ENCODING 34650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2140 +2080 +FFE0 +A9A0 +AE80 +F900 +27E0 +2B80 +3D40 +C920 +ENDCHAR +STARTCHAR U_875B +ENCODING 34651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +2FE0 +F880 +AF80 +AAA0 +FFA0 +2AC0 +2940 +3AA0 +D520 +ENDCHAR +STARTCHAR U_875C +ENCODING 34652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2240 +27E0 +FA20 +ABE0 +AA20 +FBE0 +2220 +2BE0 +3940 +CE20 +ENDCHAR +STARTCHAR U_875D +ENCODING 34653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +23C0 +F880 +AFE0 +AAA0 +FDC0 +2280 +2DC0 +3AA0 +CDA0 +ENDCHAR +STARTCHAR U_875E +ENCODING 34654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2920 +FFE0 +A800 +ABE0 +AA20 +FBE0 +2A20 +2BE0 +3A20 +EBE0 +ENDCHAR +STARTCHAR U_875F +ENCODING 34655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +24A0 +FFE0 +ACA0 +AFE0 +AA20 +FBE0 +2220 +2BE0 +3A20 +EAE0 +ENDCHAR +STARTCHAR U_8760 +ENCODING 34656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2000 +23E0 +FA20 +ABE0 +A800 +FBE0 +22A0 +2BE0 +3AA0 +CBE0 +ENDCHAR +STARTCHAR U_8761 +ENCODING 34657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FFE0 +AAA0 +AAA0 +AAA0 +F900 +27E0 +2900 +3A80 +EC60 +ENDCHAR +STARTCHAR U_8762 +ENCODING 34658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +23E0 +FA20 +ABE0 +AA20 +FBE0 +2220 +2BE0 +3940 +CE20 +ENDCHAR +STARTCHAR U_8763 +ENCODING 34659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +22E0 +FF00 +AAE0 +AF20 +AD40 +FDE0 +2540 +2D40 +3940 +EAC0 +ENDCHAR +STARTCHAR U_8764 +ENCODING 34660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +FFE0 +AA80 +AFE0 +ADA0 +FEE0 +2420 +2FE0 +3C20 +EFE0 +ENDCHAR +STARTCHAR U_8765 +ENCODING 34661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +53E0 +FD40 +6980 +AE60 +6400 +3FC0 +2440 +3FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_8766 +ENCODING 34662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2A20 +FA20 +AEE0 +A800 +AFE0 +F8A0 +2EA0 +2840 +38A0 +E920 +ENDCHAR +STARTCHAR U_8767 +ENCODING 34663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +2240 +F900 +AFC0 +AD40 +FFE0 +2100 +2A80 +3C40 +C820 +ENDCHAR +STARTCHAR U_8768 +ENCODING 34664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0880 +0880 +7EA0 +0860 +2080 +FBE0 +AAA0 +FBE0 +28A0 +FBE0 +ENDCHAR +STARTCHAR U_8769 +ENCODING 34665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2080 +27E0 +FAA0 +ABE0 +AAA0 +FBE0 +2080 +2BE0 +3880 +CFE0 +ENDCHAR +STARTCHAR U_876A +ENCODING 34666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +27C0 +FC40 +AFE0 +AA00 +FFE0 +22A0 +2AA0 +3D20 +CAC0 +ENDCHAR +STARTCHAR U_876B +ENCODING 34667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +27A0 +2140 +FFE0 +A900 +ABE0 +FE20 +23E0 +2A20 +3BE0 +CA20 +ENDCHAR +STARTCHAR U_876C +ENCODING 34668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26A0 +2520 +26A0 +FFE0 +AA40 +AD20 +FBC0 +2640 +2980 +3A40 +CC20 +ENDCHAR +STARTCHAR U_876D +ENCODING 34669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +23C0 +FA40 +ABC0 +A800 +FFE0 +2280 +2AE0 +3D80 +C8E0 +ENDCHAR +STARTCHAR U_876E +ENCODING 34670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2620 +FBE0 +AA20 +ABE0 +F900 +23E0 +2E40 +3980 +CE60 +ENDCHAR +STARTCHAR U_876F +ENCODING 34671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +27A0 +22C0 +FFE0 +A900 +AFE0 +F920 +21A0 +2A40 +3CA0 +CB20 +ENDCHAR +STARTCHAR U_8770 +ENCODING 34672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2240 +FD20 +ABC0 +A900 +FFE0 +2100 +2BC0 +3900 +CFE0 +ENDCHAR +STARTCHAR U_8771 +ENCODING 34673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +3FC0 +1080 +7FE0 +56A0 +7FE0 +1080 +1CE0 +E720 +ENDCHAR +STARTCHAR U_8772 +ENCODING 34674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +2FA0 +FAA0 +AFA0 +AAA0 +FFA0 +22A0 +2720 +3AA0 +CA20 +0260 +ENDCHAR +STARTCHAR U_8773 +ENCODING 34675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2100 +FBC0 +A900 +AFE0 +FAA0 +27E0 +2AA0 +3BE0 +C840 +ENDCHAR +STARTCHAR U_8774 +ENCODING 34676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +24A0 +2FA0 +F4E0 +AEA0 +AAA0 +FAE0 +2AA0 +2EA0 +3920 +CA60 +ENDCHAR +STARTCHAR U_8775 +ENCODING 34677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +2540 +FD80 +3580 +6A40 +A420 +3FC0 +2440 +3FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_8776 +ENCODING 34678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +2540 +FDC0 +AC00 +AFE0 +F900 +27E0 +2B80 +3D40 +C920 +ENDCHAR +STARTCHAR U_8777 +ENCODING 34679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2FE0 +FA20 +A940 +ABE0 +A880 +FAA0 +22A0 +2BE0 +3900 +EE00 +ENDCHAR +STARTCHAR U_8778 +ENCODING 34680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FF40 +AD40 +AFE0 +A820 +FBA0 +2AA0 +2BA0 +3820 +E8E0 +ENDCHAR +STARTCHAR U_8779 +ENCODING 34681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +AA40 +ABC0 +A800 +FFC0 +2540 +2D40 +3D40 +EFE0 +ENDCHAR +STARTCHAR U_877A +ENCODING 34682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +23E0 +FAA0 +ABE0 +A880 +FFE0 +24A0 +2FE0 +3C20 +CC60 +ENDCHAR +STARTCHAR U_877B +ENCODING 34683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +FFE0 +AAA0 +A920 +FFE0 +2920 +2FE0 +3920 +C960 +ENDCHAR +STARTCHAR U_877C +ENCODING 34684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +2340 +2100 +FFE0 +AB40 +AD20 +F900 +27E0 +2A40 +3980 +CE60 +ENDCHAR +STARTCHAR U_877D +ENCODING 34685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +27E0 +FA00 +AFE0 +AC40 +FBE0 +2240 +2BC0 +3A40 +CBC0 +ENDCHAR +STARTCHAR U_877E +ENCODING 34686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +2240 +FFE0 +AC20 +A900 +FFE0 +2100 +2B80 +3D40 +C920 +ENDCHAR +STARTCHAR U_877F +ENCODING 34687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +27C0 +FD40 +AFE0 +A920 +FFE0 +2920 +2FE0 +3920 +C8E0 +ENDCHAR +STARTCHAR U_8780 +ENCODING 34688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +93C0 +5680 +1980 +3FE0 +D480 +1280 +3F80 +2480 +3F80 +0440 +7FC0 +ENDCHAR +STARTCHAR U_8781 +ENCODING 34689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2520 +FBE0 +A920 +ADE0 +AD40 +FD60 +2540 +2DA0 +3C00 +EBE0 +ENDCHAR +STARTCHAR U_8782 +ENCODING 34690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +24E0 +FEA0 +AAA0 +AEC0 +AAA0 +FEA0 +28A0 +2AE0 +3E80 +E980 +ENDCHAR +STARTCHAR U_8783 +ENCODING 34691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA80 +AFE0 +ACA0 +AFE0 +FA00 +23E0 +2A20 +3C20 +E8C0 +ENDCHAR +STARTCHAR U_8784 +ENCODING 34692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2480 +FE80 +ABE0 +AEA0 +AAA0 +FEA0 +2AA0 +2AE0 +3E80 +E880 +ENDCHAR +STARTCHAR U_8785 +ENCODING 34693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23E0 +2220 +FBE0 +AA20 +ABE0 +FA20 +23E0 +2B40 +3D20 +C9C0 +ENDCHAR +STARTCHAR U_8786 +ENCODING 34694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +2FE0 +FA40 +AA40 +ADA0 +FEC0 +2440 +2AA0 +3FE0 +C920 +ENDCHAR +STARTCHAR U_8787 +ENCODING 34695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2720 +2540 +FA40 +AF80 +A940 +FFE0 +2120 +2FE0 +3A80 +CC60 +ENDCHAR +STARTCHAR U_8788 +ENCODING 34696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +25E0 +FD20 +ADE0 +AD20 +FDE0 +2480 +29C0 +3AA0 +CDA0 +ENDCHAR +STARTCHAR U_8789 +ENCODING 34697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2520 +FA40 +AFA0 +A800 +AFE0 +F920 +25A0 +2B60 +3DA0 +EB60 +ENDCHAR +STARTCHAR U_878A +ENCODING 34698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +27E0 +2280 +FFE0 +AAA0 +AFE0 +FAA0 +27E0 +2EC0 +3AA0 +CAA0 +ENDCHAR +STARTCHAR U_878B +ENCODING 34699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +26E0 +24A0 +FEE0 +ACA0 +AFE0 +F880 +27E0 +2A40 +3980 +CE60 +ENDCHAR +STARTCHAR U_878C +ENCODING 34700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +7940 +6A60 +FFC0 +4980 +9660 +3FC0 +2480 +3F80 +0440 +7FC0 +ENDCHAR +STARTCHAR U_878D +ENCODING 34701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +0080 +7BE0 +4AA0 +7AA0 +02A0 +FFE0 +D480 +FCA0 +A4E0 +AF20 +ENDCHAR +STARTCHAR U_878E +ENCODING 34702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2000 +23C0 +FA40 +ABC0 +A800 +FFE0 +26A0 +27E0 +3D20 +C560 +ENDCHAR +STARTCHAR U_878F +ENCODING 34703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +2400 +FD00 +ADE0 +AE80 +FC80 +27E0 +2C80 +3940 +CA20 +ENDCHAR +STARTCHAR U_8790 +ENCODING 34704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2440 +FFC0 +AC00 +AFE0 +FC00 +27E0 +2AA0 +3D60 +CD40 +ENDCHAR +STARTCHAR U_8791 +ENCODING 34705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2440 +FFC0 +AC40 +AFC0 +F920 +27E0 +2900 +3A80 +CC60 +ENDCHAR +STARTCHAR U_8792 +ENCODING 34706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F940 +2220 +FC80 +8BE0 +FAA0 +8AA0 +FBE0 +2080 +F8A0 +27E0 +ENDCHAR +STARTCHAR U_8793 +ENCODING 34707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +27C0 +FA00 +AFE0 +AA40 +FFA0 +2100 +2FE0 +3D40 +C920 +ENDCHAR +STARTCHAR U_8794 +ENCODING 34708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +28E0 +F880 +ABE0 +AAA0 +ABC0 +FAA0 +22E0 +2D40 +3940 +EA60 +ENDCHAR +STARTCHAR U_8795 +ENCODING 34709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FC0 +FAC0 +A940 +AAC0 +FFC0 +2900 +2DC0 +3900 +CD20 +08E0 +ENDCHAR +STARTCHAR U_8796 +ENCODING 34710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FB40 +AFE0 +AC20 +ABC0 +FA40 +23C0 +2A40 +3BC0 +EA40 +ENDCHAR +STARTCHAR U_8797 +ENCODING 34711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2480 +F7E0 +94A0 +97E0 +F480 +27E0 +2A20 +3A20 +CBE0 +ENDCHAR +STARTCHAR U_8798 +ENCODING 34712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24A0 +27E0 +2000 +FFE0 +A800 +ABE0 +FA20 +23E0 +2940 +3880 +CFE0 +ENDCHAR +STARTCHAR U_8799 +ENCODING 34713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0E00 +1580 +6460 +2080 +FBE0 +AAA0 +FBE0 +28A0 +FFE0 +ENDCHAR +STARTCHAR U_879A +ENCODING 34714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +4A20 +FBE0 +4A40 +7B80 +4A20 +7FE0 +4440 +7FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_879B +ENCODING 34715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +FCA0 +AFE0 +A880 +FBE0 +2080 +2FE0 +3A20 +CA20 +03E0 +ENDCHAR +STARTCHAR U_879C +ENCODING 34716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2660 +FBC0 +8A40 +7180 +0660 +7FC0 +4440 +7FC0 +0440 +FFE0 +ENDCHAR +STARTCHAR U_879D +ENCODING 34717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +F920 +AFE0 +A920 +FFE0 +2340 +2BA0 +3D60 +C920 +11E0 +ENDCHAR +STARTCHAR U_879E +ENCODING 34718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2280 +FBE0 +AA80 +ABE0 +FA80 +23E0 +2820 +3AA0 +CAA0 +0060 +ENDCHAR +STARTCHAR U_879F +ENCODING 34719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +FBC0 +AA40 +ABC0 +FA40 +23C0 +2900 +3FE0 +CA40 +0420 +ENDCHAR +STARTCHAR U_87A0 +ENCODING 34720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2280 +2FE0 +FA80 +AC40 +A820 +FFC0 +2540 +3D40 +E540 +0FE0 +ENDCHAR +STARTCHAR U_87A1 +ENCODING 34721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +0E00 +F1E0 +2080 +FBE0 +AAA0 +FBE0 +28A0 +FBE0 +ENDCHAR +STARTCHAR U_87A2 +ENCODING 34722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +56A0 +59C0 +9140 +2A20 +FFE0 +8420 +3F80 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_87A3 +ENCODING 34723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EA40 +A680 +BFE0 +E400 +BFE0 +AA40 +FFA0 +AA80 +AF80 +A240 +BFE0 +ENDCHAR +STARTCHAR U_87A4 +ENCODING 34724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +53E0 +22A0 +53E0 +AAA0 +FBE0 +A880 +F940 +2A20 +F420 +ENDCHAR +STARTCHAR U_87A5 +ENCODING 34725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2540 +FFE0 +A540 +A540 +FFC0 +2400 +27C0 +3A40 +CBC0 +ENDCHAR +STARTCHAR U_87A6 +ENCODING 34726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2100 +FFC0 +A900 +AFE0 +FA40 +2780 +2D60 +3D40 +CB20 +ENDCHAR +STARTCHAR U_87A7 +ENCODING 34727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +27C0 +F940 +AFE0 +AA00 +FFC0 +2220 +2BE0 +3A40 +CA40 +03C0 +ENDCHAR +STARTCHAR U_87A8 +ENCODING 34728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +2280 +FFE0 +AA80 +AFE0 +FAA0 +2BA0 +2CE0 +3920 +C860 +ENDCHAR +STARTCHAR U_87A9 +ENCODING 34729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +25E0 +2B40 +FA80 +AB60 +AA80 +FBE0 +2A80 +3BC0 +6AA0 +8880 +ENDCHAR +STARTCHAR U_87AA +ENCODING 34730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FC40 +AA80 +AFE0 +AAA0 +FC60 +2BA0 +2AA0 +3BA0 +E860 +ENDCHAR +STARTCHAR U_87AB +ENCODING 34731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7DE0 +1140 +FE80 +6D40 +AA20 +7FC0 +2440 +3FC0 +0440 +7FA0 +ENDCHAR +STARTCHAR U_87AC +ENCODING 34732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2280 +FFE0 +AAA0 +AFE0 +AAA0 +FFE0 +2240 +2BC0 +3A40 +EBC0 +ENDCHAR +STARTCHAR U_87AD +ENCODING 34733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +A920 +AAA0 +AFE0 +F900 +AFE0 +2AA0 +3BA0 +E860 +ENDCHAR +STARTCHAR U_87AE +ENCODING 34734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +FA80 +AFE0 +A800 +FFE0 +2920 +27C0 +3540 +CDC0 +0100 +ENDCHAR +STARTCHAR U_87AF +ENCODING 34735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7DE0 +1340 +FC80 +2540 +4A20 +BFC0 +2440 +3FC0 +0440 +7FA0 +ENDCHAR +STARTCHAR U_87B0 +ENCODING 34736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA80 +AFE0 +AAA0 +AFE0 +FA80 +2AA0 +2BC0 +3AA0 +EFE0 +ENDCHAR +STARTCHAR U_87B1 +ENCODING 34737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +47E0 +7D40 +5440 +D2C0 +0400 +7FC0 +4440 +7FC0 +0440 +FFE0 +ENDCHAR +STARTCHAR U_87B2 +ENCODING 34738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2AA0 +F440 +AFE0 +A240 +FFA0 +2100 +2FC0 +3900 +CFE0 +ENDCHAR +STARTCHAR U_87B3 +ENCODING 34739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +2340 +27E0 +FC20 +ABC0 +AA40 +FBC0 +2100 +2BC0 +3900 +CFE0 +ENDCHAR +STARTCHAR U_87B4 +ENCODING 34740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +AFE0 +C540 +A7C0 +E540 +8920 +BFE0 +2440 +3FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_87B5 +ENCODING 34741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +2FE0 +FAA0 +AFE0 +A800 +FBC0 +2000 +2FE0 +3D40 +CB20 +ENDCHAR +STARTCHAR U_87B6 +ENCODING 34742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4000 +7F80 +4080 +7F80 +4000 +FFE0 +AAA0 +FBE0 +28A0 +F7E0 +ENDCHAR +STARTCHAR U_87B7 +ENCODING 34743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5240 +5240 +5FC0 +4900 +7FE0 +5240 +5FC0 +8240 +BFE0 +ENDCHAR +STARTCHAR U_87B8 +ENCODING 34744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +B5E0 +4AA0 +FC80 +4940 +4A20 +7FC0 +4440 +7FC0 +0440 +FFE0 +ENDCHAR +STARTCHAR U_87B9 +ENCODING 34745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +2F80 +F280 +AFE0 +AAA0 +AFA0 +FAA0 +2FA0 +2AA0 +3FA0 +EB20 +ENDCHAR +STARTCHAR U_87BA +ENCODING 34746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +24A0 +27E0 +FCA0 +AFE0 +A940 +FF80 +2120 +2FE0 +3AC0 +CDA0 +ENDCHAR +STARTCHAR U_87BB +ENCODING 34747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +23E0 +26A0 +FBE0 +AAA0 +AFE0 +FCA0 +27E0 +2A40 +3980 +CE60 +ENDCHAR +STARTCHAR U_87BC +ENCODING 34748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +2280 +F900 +AFC0 +AD40 +FFE0 +2100 +2FC0 +3900 +CFE0 +ENDCHAR +STARTCHAR U_87BD +ENCODING 34749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F80 +7900 +0F00 +F2E0 +0900 +2480 +FBE0 +AAA0 +FBE0 +28A0 +F7E0 +ENDCHAR +STARTCHAR U_87BE +ENCODING 34750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2420 +FFE0 +A880 +ABE0 +FAA0 +23E0 +2AA0 +3BE0 +CC20 +ENDCHAR +STARTCHAR U_87BF +ENCODING 34751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57C0 +7A80 +1480 +FFE0 +5480 +9280 +7FC0 +4440 +7FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_87C0 +ENCODING 34752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2120 +FEC0 +AB00 +ACC0 +FBA0 +2100 +2FE0 +3900 +C900 +ENDCHAR +STARTCHAR U_87C1 +ENCODING 34753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +4080 +7FE0 +4200 +71C0 +2080 +FBE0 +AAA0 +FBE0 +28A0 +FFE0 +ENDCHAR +STARTCHAR U_87C2 +ENCODING 34754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +2440 +FFC0 +AC40 +AFE0 +F920 +27E0 +2BA0 +3540 +C920 +ENDCHAR +STARTCHAR U_87C3 +ENCODING 34755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +AA40 +AFE0 +AAA0 +FFE0 +2440 +2A80 +3900 +EEE0 +ENDCHAR +STARTCHAR U_87C4 +ENCODING 34756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +27C0 +FD40 +5340 +FAE0 +2420 +3F80 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_87C5 +ENCODING 34757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA40 +AFE0 +AA40 +AA40 +FBC0 +2800 +2D40 +3AA0 +EAA0 +ENDCHAR +STARTCHAR U_87C6 +ENCODING 34758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +2280 +FBC0 +AA40 +ABC0 +FA40 +27E0 +2980 +3A40 +CC20 +ENDCHAR +STARTCHAR U_87C7 +ENCODING 34759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2A80 +2480 +FFE0 +1500 +3FC0 +E4A0 +3F80 +0440 +7FE0 +ENDCHAR +STARTCHAR U_87C8 +ENCODING 34760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2960 +FFE0 +A8A0 +AEA0 +AAE0 +FEA0 +28A0 +2F60 +38A0 +EFE0 +ENDCHAR +STARTCHAR U_87C9 +ENCODING 34761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +25A0 +FB60 +ADA0 +AB80 +FD60 +2280 +2920 +3840 +CF80 +ENDCHAR +STARTCHAR U_87CA +ENCODING 34762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0500 +FFE0 +0A40 +7280 +2680 +FBE0 +AAA0 +FBE0 +28A0 +F7E0 +ENDCHAR +STARTCHAR U_87CB +ENCODING 34763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2720 +2520 +FB40 +AFE0 +AB40 +FD20 +2340 +2EA0 +3A60 +C9C0 +ENDCHAR +STARTCHAR U_87CC +ENCODING 34764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F920 +AAE0 +ADA0 +AAA0 +FFE0 +2340 +2AA0 +3E60 +E9C0 +ENDCHAR +STARTCHAR U_87CD +ENCODING 34765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2720 +2220 +27A0 +FB20 +AEA0 +AA60 +F900 +27E0 +2B80 +3540 +C920 +ENDCHAR +STARTCHAR U_87CE +ENCODING 34766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +27E0 +2440 +FFC0 +A900 +AFE0 +F920 +25A0 +2B60 +3DA0 +C960 +ENDCHAR +STARTCHAR U_87CF +ENCODING 34767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +2540 +FFC0 +A940 +AFE0 +F940 +27C0 +2940 +3FC0 +C940 +ENDCHAR +STARTCHAR U_87D0 +ENCODING 34768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +2FE0 +FAA0 +AB80 +A900 +FFC0 +2540 +2540 +3DC0 +C100 +ENDCHAR +STARTCHAR U_87D1 +ENCODING 34769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2240 +FFE0 +AA40 +ABC0 +FA40 +23C0 +2880 +3FE0 +C880 +ENDCHAR +STARTCHAR U_87D2 +ENCODING 34770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +2280 +F940 +AFE0 +AA40 +FCA0 +2280 +2FE0 +3A80 +CC80 +ENDCHAR +STARTCHAR U_87D3 +ENCODING 34771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2480 +FFE0 +ACA0 +AFE0 +AA20 +FDC0 +2280 +29C0 +3EA0 +E920 +ENDCHAR +STARTCHAR U_87D4 +ENCODING 34772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +22A0 +23E0 +FAA0 +ABE0 +A880 +FBE0 +2080 +2FE0 +3D40 +CAA0 +ENDCHAR +STARTCHAR U_87D5 +ENCODING 34773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2BE0 +2A80 +FEE0 +AB80 +AA80 +FFC0 +2540 +2FC0 +7540 +85C0 +ENDCHAR +STARTCHAR U_87D6 +ENCODING 34774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A60 +2A80 +2F80 +FAE0 +AEA0 +AAA0 +FEA0 +2AA0 +2FA0 +7AA0 +9120 +ENDCHAR +STARTCHAR U_87D7 +ENCODING 34775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4440 +FFE0 +A4A0 +3F80 +4440 +7FC0 +0400 +7F80 +44C0 +FFA0 +ENDCHAR +STARTCHAR U_87D8 +ENCODING 34776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +22E0 +FF80 +AA40 +ABE0 +AA40 +FB40 +23C0 +2A40 +3BC0 +EC60 +ENDCHAR +STARTCHAR U_87D9 +ENCODING 34777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FC0 +F5A0 +B280 +BFE0 +B080 +FEA0 +2AC0 +2EA0 +3B60 +EE20 +ENDCHAR +STARTCHAR U_87DA +ENCODING 34778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +FF20 +44C0 +7D20 +44C0 +2900 +FFC0 +4440 +7FC0 +0440 +FFE0 +ENDCHAR +STARTCHAR U_87DB +ENCODING 34779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FA0 +FA40 +AF80 +A820 +AF40 +F980 +2700 +2D20 +3A40 +EF80 +ENDCHAR +STARTCHAR U_87DC +ENCODING 34780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2100 +FFE0 +AA40 +AE60 +ABC0 +F800 +2FE0 +2AA0 +3BA0 +E860 +ENDCHAR +STARTCHAR U_87DD +ENCODING 34781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +2280 +FDE0 +AAA0 +AEE0 +AA80 +FAE0 +2080 +2FE0 +3AC0 +ECA0 +ENDCHAR +STARTCHAR U_87DE +ENCODING 34782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +FDE0 +A740 +B480 +ED40 +AA20 +7FC0 +4440 +7FC0 +0440 +FFE0 +ENDCHAR +STARTCHAR U_87DF +ENCODING 34783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FD20 +ABC0 +AE60 +ABC0 +FA40 +23C0 +2880 +3AC0 +EDA0 +ENDCHAR +STARTCHAR U_87E0 +ENCODING 34784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +27A0 +FAA0 +AFE0 +A9C0 +AAA0 +FFE0 +22A0 +2BE0 +3AA0 +EBE0 +ENDCHAR +STARTCHAR U_87E1 +ENCODING 34785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2F20 +F940 +AFC0 +A840 +FFC0 +2840 +2FE0 +3AA0 +CD20 +1060 +ENDCHAR +STARTCHAR U_87E2 +ENCODING 34786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +F900 +ABC0 +AA40 +FBC0 +2240 +2980 +3FE0 +CA40 +03C0 +ENDCHAR +STARTCHAR U_87E3 +ENCODING 34787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2BA0 +2540 +FFE0 +A940 +AFE0 +FCA0 +24C0 +2AA0 +3960 +CA20 +ENDCHAR +STARTCHAR U_87E4 +ENCODING 34788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +A880 +AEE0 +AA80 +FFE0 +2280 +2FE0 +3A80 +EC60 +ENDCHAR +STARTCHAR U_87E5 +ENCODING 34789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +27E0 +2140 +FFE0 +A880 +ABE0 +FAA0 +23E0 +2AA0 +3BE0 +CE20 +ENDCHAR +STARTCHAR U_87E6 +ENCODING 34790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +2540 +FFE0 +AC40 +AFC0 +FC40 +27C0 +2C40 +3FC0 +CC60 +ENDCHAR +STARTCHAR U_87E7 +ENCODING 34791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +25E0 +2540 +FAA0 +A800 +AFE0 +F920 +27C0 +2940 +3A40 +CCC0 +ENDCHAR +STARTCHAR U_87E8 +ENCODING 34792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A900 +FDE0 +D6A0 +FC80 +9140 +BFA0 +A480 +BF80 +8440 +FFE0 +ENDCHAR +STARTCHAR U_87E9 +ENCODING 34793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2840 +FDE0 +AAA0 +AFC0 +FA40 +2FC0 +2A40 +7AA0 +9520 +ENDCHAR +STARTCHAR U_87EA +ENCODING 34794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +22A0 +FBE0 +AAA0 +ABE0 +F8A0 +27E0 +2B40 +3D20 +C9E0 +ENDCHAR +STARTCHAR U_87EB +ENCODING 34795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2280 +FFE0 +AAA0 +AFE0 +FA40 +23C0 +2A40 +3FE0 +C100 +0100 +ENDCHAR +STARTCHAR U_87EC +ENCODING 34796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +25A0 +27E0 +FBE0 +AAA0 +ABE0 +FAA0 +23E0 +2880 +3FE0 +C880 +ENDCHAR +STARTCHAR U_87ED +ENCODING 34797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +23E0 +FE80 +ABE0 +AA80 +FBE0 +2280 +2BE0 +3D40 +CAA0 +ENDCHAR +STARTCHAR U_87EE +ENCODING 34798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +27E0 +2080 +FBE0 +A880 +AFE0 +FAA0 +27E0 +2A40 +3A40 +CBC0 +ENDCHAR +STARTCHAR U_87EF +ENCODING 34799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2100 +FFE0 +AA40 +AFE0 +FA40 +27E0 +2A80 +3AA0 +CC60 +ENDCHAR +STARTCHAR U_87F0 +ENCODING 34800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2140 +FFE0 +A940 +AFC0 +FAA0 +2920 +2FE0 +7AA0 +92A0 +ENDCHAR +STARTCHAR U_87F1 +ENCODING 34801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2400 +27E0 +FAA0 +AAA0 +AFE0 +FAA0 +2FE0 +2540 +3AA0 +CAA0 +ENDCHAR +STARTCHAR U_87F2 +ENCODING 34802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +0480 +7F40 +2080 +FBE0 +AAA0 +FBE0 +28A0 +F7E0 +ENDCHAR +STARTCHAR U_87F3 +ENCODING 34803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2020 +FFE0 +A820 +AFE0 +FAA0 +27E0 +2840 +3FE0 +C440 +02C0 +ENDCHAR +STARTCHAR U_87F4 +ENCODING 34804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +4A00 +7BE0 +4A40 +FE40 +4440 +3FC0 +2440 +3FC0 +0440 +FFE0 +ENDCHAR +STARTCHAR U_87F5 +ENCODING 34805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +2840 +FE40 +A9E0 +AE40 +FB40 +2EC0 +2A40 +7F40 +90C0 +ENDCHAR +STARTCHAR U_87F6 +ENCODING 34806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F00 +2AE0 +FEA0 +AAA0 +AEE0 +AF00 +FFC0 +2100 +27C0 +3100 +EFE0 +ENDCHAR +STARTCHAR U_87F7 +ENCODING 34807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +FFE0 +AAA0 +AB80 +A800 +FBE0 +22A0 +2BE0 +3AA0 +EBE0 +ENDCHAR +STARTCHAR U_87F8 +ENCODING 34808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2880 +D900 +2E00 +D5C0 +2C80 +FBE0 +AAA0 +FBE0 +28A0 +FFE0 +ENDCHAR +STARTCHAR U_87F9 +ENCODING 34809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +4920 +FD60 +5480 +7FE0 +5480 +BFE0 +2440 +3FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_87FA +ENCODING 34810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +AAA0 +AFE0 +AA40 +FBC0 +2240 +2BC0 +3800 +EFE0 +ENDCHAR +STARTCHAR U_87FB +ENCODING 34811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +F900 +AFE0 +A900 +AFE0 +FCA0 +27E0 +2EA0 +34C0 +ED20 +ENDCHAR +STARTCHAR U_87FC +ENCODING 34812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +29E0 +7F40 +D480 +7540 +0A20 +3FC0 +2240 +3FC0 +0240 +7FA0 +ENDCHAR +STARTCHAR U_87FD +ENCODING 34813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +25E0 +2280 +FBE0 +A940 +AE80 +FBE0 +2280 +2BE0 +3A80 +CDE0 +ENDCHAR +STARTCHAR U_87FE +ENCODING 34814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2480 +FFE0 +AAA0 +AFE0 +A800 +FFE0 +2800 +2BE0 +3A20 +EBE0 +ENDCHAR +STARTCHAR U_87FF +ENCODING 34815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +A940 +FA60 +A9C0 +FC80 +AD40 +FFC0 +4440 +7FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_8800 +ENCODING 34816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +25E0 +FAA0 +AC80 +A940 +FFC0 +2540 +26C0 +3D40 +C7C0 +0C60 +ENDCHAR +STARTCHAR U_8801 +ENCODING 34817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +AAA0 +5EC0 +EAA0 +2EE0 +CA80 +7FC0 +4440 +7FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_8802 +ENCODING 34818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +F540 +AFE0 +A540 +FFE0 +2100 +2FE0 +3380 +D540 +0920 +ENDCHAR +STARTCHAR U_8803 +ENCODING 34819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4000 +7F80 +2080 +FFC0 +A540 +FF40 +B5C0 +FF40 +A540 +AE60 +ENDCHAR +STARTCHAR U_8804 +ENCODING 34820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +2540 +FFE0 +AD40 +F6C0 +2FE0 +2920 +3AA0 +CFA0 +0860 +ENDCHAR +STARTCHAR U_8805 +ENCODING 34821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FEE0 +AA80 +AEE0 +FAA0 +2EE0 +2AA0 +3EE0 +CA80 +03E0 +ENDCHAR +STARTCHAR U_8806 +ENCODING 34822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +7FC0 +4440 +FFE0 +8420 +FFE0 +4440 +7FC0 +0440 +FFE0 +ENDCHAR +STARTCHAR U_8807 +ENCODING 34823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F900 +AFC0 +AD40 +FFC0 +2540 +2FE0 +3AA0 +CFA0 +0860 +ENDCHAR +STARTCHAR U_8808 +ENCODING 34824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F140 +9FE0 +F4A0 +9FC0 +F4A0 +5560 +BFC0 +2440 +3FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_8809 +ENCODING 34825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FFE0 +A800 +AFE0 +FC40 +27C0 +2280 +36A0 +DA40 +0320 +ENDCHAR +STARTCHAR U_880A +ENCODING 34826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FA40 +AFE0 +AAA0 +FFE0 +2AA0 +2FE0 +3A80 +CEC0 +12A0 +ENDCHAR +STARTCHAR U_880B +ENCODING 34827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +2FE0 +FA00 +AFE0 +A920 +FFE0 +2560 +2FE0 +3920 +CFE0 +ENDCHAR +STARTCHAR U_880C +ENCODING 34828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2AA0 +FFE0 +A900 +AFE0 +FA80 +2100 +2FC0 +3100 +CFE0 +0100 +ENDCHAR +STARTCHAR U_880D +ENCODING 34829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F00 +2980 +FFE0 +A920 +AF40 +A440 +FF40 +2B40 +2940 +3DA0 +CB20 +ENDCHAR +STARTCHAR U_880E +ENCODING 34830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +2FE0 +2100 +FFE0 +AA80 +FD40 +2BA0 +2540 +3FE0 +C440 +0840 +ENDCHAR +STARTCHAR U_880F +ENCODING 34831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +4FE0 +F2A0 +DF60 +D540 +FFE0 +5540 +5FE0 +7540 +9540 +2340 +ENDCHAR +STARTCHAR U_8810 +ENCODING 34832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +AB40 +AD60 +F900 +2440 +27C0 +3440 +C7C0 +0840 +ENDCHAR +STARTCHAR U_8811 +ENCODING 34833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2560 +FD40 +AB40 +ACA0 +FFE0 +2120 +2FE0 +3B80 +C540 +0920 +ENDCHAR +STARTCHAR U_8812 +ENCODING 34834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2480 +FFE0 +6EC0 +5540 +6EC0 +3F80 +2480 +3F80 +0440 +FFE0 +ENDCHAR +STARTCHAR U_8813 +ENCODING 34835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +FA80 +AFE0 +A820 +AFE0 +FAA0 +25C0 +2AA0 +39A0 +EE80 +ENDCHAR +STARTCHAR U_8814 +ENCODING 34836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FA40 +AFE0 +A820 +AFC0 +FD20 +22C0 +2D80 +3AC0 +ED20 +ENDCHAR +STARTCHAR U_8815 +ENCODING 34837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +27E0 +FD20 +AB40 +AD20 +FFE0 +2100 +2FE0 +3AA0 +CAA0 +ENDCHAR +STARTCHAR U_8816 +ENCODING 34838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +FA80 +AFE0 +AA80 +ABE0 +FA80 +27E0 +2A40 +3980 +EE60 +ENDCHAR +STARTCHAR U_8817 +ENCODING 34839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +25A0 +FB60 +ADA0 +AFE0 +AC80 +FFE0 +2480 +27E0 +3C80 +E7E0 +ENDCHAR +STARTCHAR U_8818 +ENCODING 34840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27C0 +FAA0 +AFE0 +AA80 +FFA0 +2AA0 +2FC0 +3AA0 +CF60 +0820 +ENDCHAR +STARTCHAR U_8819 +ENCODING 34841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +FC20 +ABE0 +AC80 +ABC0 +FE40 +23C0 +2A40 +3BC0 +EE60 +ENDCHAR +STARTCHAR U_881A +ENCODING 34842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +FFE0 +3080 +D080 +7FE0 +56A0 +7FE0 +14A0 +FFE0 +ENDCHAR +STARTCHAR U_881B +ENCODING 34843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +27E0 +FA80 +AFE0 +AAA0 +AFE0 +F940 +27E0 +24A0 +3640 +C9A0 +ENDCHAR +STARTCHAR U_881C +ENCODING 34844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +F5E0 +4A40 +E4E0 +5B40 +4440 +FFE0 +64C0 +BFA0 +0440 +7FA0 +ENDCHAR +STARTCHAR U_881D +ENCODING 34845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +FFC0 +AD40 +AFC0 +A800 +FFE0 +2AA0 +2FE0 +3AA0 +EFE0 +ENDCHAR +STARTCHAR U_881E +ENCODING 34846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +79E0 +4920 +7960 +5500 +7FC0 +4440 +7FC0 +0440 +FFE0 +ENDCHAR +STARTCHAR U_881F +ENCODING 34847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +2540 +FAA0 +AFE0 +AAA0 +AFE0 +FD20 +2BA0 +2D60 +3BA0 +ED20 +ENDCHAR +STARTCHAR U_8820 +ENCODING 34848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +7FC0 +5140 +5F40 +7FC0 +FBE0 +AAA0 +FBE0 +28A0 +F7E0 +ENDCHAR +STARTCHAR U_8821 +ENCODING 34849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F80 +1100 +FFE0 +1500 +EAE0 +3680 +FBE0 +AAA0 +FBE0 +28A0 +F7E0 +ENDCHAR +STARTCHAR U_8822 +ENCODING 34850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +3180 +DF60 +1100 +FFE0 +AAA0 +FBE0 +28A0 +F7E0 +ENDCHAR +STARTCHAR U_8823 +ENCODING 34851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A40 +FFE0 +A940 +AFC0 +A940 +FFE0 +2D20 +3DA0 +D760 +2420 +ENDCHAR +STARTCHAR U_8824 +ENCODING 34852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +4A40 +71C0 +5F40 +4040 +FFE0 +AAA0 +FBE0 +28A0 +F7E0 +ENDCHAR +STARTCHAR U_8825 +ENCODING 34853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AFE0 +FA80 +57E0 +D100 +7FC0 +4900 +7FC0 +4440 +7FC0 +0440 +FFE0 +ENDCHAR +STARTCHAR U_8826 +ENCODING 34854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2100 +FFE0 +A920 +AFC0 +A920 +FFE0 +2940 +2FE0 +3AA0 +EFE0 +ENDCHAR +STARTCHAR U_8827 +ENCODING 34855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +FFE0 +9020 +7F80 +2080 +FFC0 +AD40 +FFC0 +2520 +FFE0 +ENDCHAR +STARTCHAR U_8828 +ENCODING 34856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +FA80 +AFE0 +A940 +AFC0 +FAA0 +2FE0 +28A0 +2EE0 +FAA0 +ENDCHAR +STARTCHAR U_8829 +ENCODING 34857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24A0 +2FE0 +F0A0 +BFE0 +B040 +BE80 +F1E0 +2EA0 +2AE0 +3EA0 +EAE0 +ENDCHAR +STARTCHAR U_882A +ENCODING 34858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +2A00 +FFE0 +4A00 +7BE0 +4A20 +7FE0 +4440 +7FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_882B +ENCODING 34859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1840 +6D40 +F940 +5540 +A540 +48C0 +FBE0 +AAA0 +FBE0 +28A0 +F7E0 +ENDCHAR +STARTCHAR U_882C +ENCODING 34860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +2F80 +FAE0 +BF20 +B0E0 +BE80 +FAE0 +2E80 +2AE0 +3EA0 +EAE0 +ENDCHAR +STARTCHAR U_882D +ENCODING 34861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F80 +D880 +4700 +5AC0 +4F80 +A200 +FFC0 +AD40 +FFC0 +2920 +FFE0 +ENDCHAR +STARTCHAR U_882E +ENCODING 34862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +28A0 +FFE0 +AAA0 +AF40 +A9A0 +FFE0 +25A0 +2B60 +3DA0 +EB60 +ENDCHAR +STARTCHAR U_882F +ENCODING 34863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A440 +BFC0 +A440 +FFE0 +9080 +FFE0 +D6A0 +FFE0 +94A0 +FBE0 +ENDCHAR +STARTCHAR U_8830 +ENCODING 34864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +FAA0 +AEE0 +AA80 +AFE0 +FA80 +2FE0 +26A0 +3A40 +EB20 +ENDCHAR +STARTCHAR U_8831 +ENCODING 34865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +0440 +FFE0 +AAA0 +FBE0 +28A0 +FFE0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_8832 +ENCODING 34866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2AA0 +FFE0 +2900 +53E0 +88A0 +FBE0 +AAA0 +ABE0 +FCA0 +03E0 +ENDCHAR +STARTCHAR U_8833 +ENCODING 34867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +AAA0 +AEE0 +AA40 +FCA0 +2FE0 +2940 +3980 +EE60 +ENDCHAR +STARTCHAR U_8834 +ENCODING 34868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2FE0 +2480 +FFE0 +AAA0 +FFE0 +2940 +3FE0 +C540 +1CC0 +07C0 +ENDCHAR +STARTCHAR U_8835 +ENCODING 34869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +2520 +FFE0 +A900 +AFE0 +A900 +FFE0 +2AA0 +2FE0 +3AA0 +EBA0 +ENDCHAR +STARTCHAR U_8836 +ENCODING 34870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A280 +FBE0 +5140 +BFE0 +2040 +FFE0 +AAA0 +FBE0 +28A0 +F7E0 +ENDCHAR +STARTCHAR U_8837 +ENCODING 34871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +AAA0 +AEE0 +A900 +FFE0 +2900 +2FE0 +3900 +EFE0 +ENDCHAR +STARTCHAR U_8838 +ENCODING 34872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2240 +FEE0 +AAA0 +AFE0 +A480 +FFE0 +2480 +27E0 +3C80 +C7E0 +ENDCHAR +STARTCHAR U_8839 +ENCODING 34873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2480 +FFE0 +90A0 +BFA0 +5080 +FFE0 +AAA0 +FBE0 +28A0 +F7E0 +ENDCHAR +STARTCHAR U_883A +ENCODING 34874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +2080 +FFE0 +4940 +BFA0 +2480 +FBE0 +AAA0 +FBE0 +24A0 +FFE0 +ENDCHAR +STARTCHAR U_883B +ENCODING 34875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +EEE0 +4040 +EEE0 +5AA0 +AF40 +7FC0 +4440 +7FC0 +0440 +FFA0 +ENDCHAR +STARTCHAR U_883C +ENCODING 34876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FAA0 +AFE0 +A480 +FFE0 +2880 +2FE0 +3240 +C980 +0660 +ENDCHAR +STARTCHAR U_883D +ENCODING 34877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6940 +A520 +3FE0 +D140 +7C80 +5160 +FFE0 +AAA0 +FBE0 +28A0 +FFE0 +ENDCHAR +STARTCHAR U_883E +ENCODING 34878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +FFE0 +AD40 +AFE0 +FAA0 +2BE0 +2D20 +3BA0 +C920 +17E0 +ENDCHAR +STARTCHAR U_883F +ENCODING 34879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5520 +2AA0 +FFE0 +2AA0 +5520 +2AA0 +FFE0 +AAA0 +FBE0 +28A0 +FFE0 +ENDCHAR +STARTCHAR U_8840 +ENCODING 34880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1000 +7FC0 +4A40 +4A40 +4A40 +4A40 +4A40 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_8841 +ENCODING 34881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +2000 +2000 +3FC0 +0400 +7FC0 +4A40 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_8842 +ENCODING 34882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +47E0 +F920 +A920 +AB20 +AD20 +A920 +BD20 +C220 +02A0 +0440 +ENDCHAR +STARTCHAR U_8843 +ENCODING 34883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +4080 +F880 +A880 +A9C0 +AAA0 +ACA0 +A880 +BC80 +C080 +0080 +ENDCHAR +STARTCHAR U_8844 +ENCODING 34884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +4140 +F940 +A940 +A940 +ABC0 +A940 +A940 +BD40 +C140 +07E0 +ENDCHAR +STARTCHAR U_8845 +ENCODING 34885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +44A0 +FAC0 +A880 +ABE0 +A880 +ABE0 +A880 +BC80 +C080 +0080 +ENDCHAR +STARTCHAR U_8846 +ENCODING 34886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3FC0 +2A40 +FFE0 +0380 +7C40 +2680 +5500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_8847 +ENCODING 34887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +4700 +FCC0 +AD00 +AD40 +AD60 +AD40 +BD40 +C5A0 +0920 +1000 +ENDCHAR +STARTCHAR U_8848 +ENCODING 34888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +4240 +FA40 +ABC0 +AA40 +ABC0 +AA40 +AA60 +BFC0 +C040 +0040 +ENDCHAR +STARTCHAR U_8849 +ENCODING 34889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4200 +FBC0 +AE40 +A980 +A980 +AA40 +AFE0 +BA40 +C3C0 +0240 +ENDCHAR +STARTCHAR U_884A +ENCODING 34890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +47E0 +FA80 +AFE0 +AAA0 +AFE0 +A940 +AFE0 +AD40 +FAA0 +0B60 +ENDCHAR +STARTCHAR U_884B +ENCODING 34891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +7FE0 +0440 +FFE0 +2480 +5540 +75C0 +5540 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_884C +ENCODING 34892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +4000 +8000 +1000 +2FE0 +6080 +A080 +2080 +2080 +2080 +2380 +ENDCHAR +STARTCHAR U_884D +ENCODING 34893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +25E0 +4000 +9000 +2BE0 +6240 +A440 +2C40 +2440 +2440 +25C0 +ENDCHAR +STARTCHAR U_884E +ENCODING 34894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +4E00 +8400 +1400 +3EE0 +6440 +A440 +2440 +2440 +2540 +2480 +ENDCHAR +STARTCHAR U_884F +ENCODING 34895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2EE0 +4000 +A000 +5EE0 +CA40 +4A40 +4A40 +5340 +6240 +40C0 +ENDCHAR +STARTCHAR U_8850 +ENCODING 34896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2EE0 +4800 +A9E0 +4E40 +CA40 +4A40 +4E40 +4840 +4E40 +40C0 +ENDCHAR +STARTCHAR U_8851 +ENCODING 34897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +29E0 +5400 +B3E0 +4840 +DE40 +4240 +5440 +4840 +4540 +4080 +ENDCHAR +STARTCHAR U_8852 +ENCODING 34898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +2200 +4F00 +A4E0 +2940 +5E40 +C240 +4440 +4940 +5F40 +40C0 +ENDCHAR +STARTCHAR U_8853 +ENCODING 34899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +4DE0 +8A00 +3E00 +49E0 +DC40 +5A40 +6A40 +4840 +4840 +49C0 +ENDCHAR +STARTCHAR U_8854 +ENCODING 34900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48E0 +4E00 +B000 +2EE0 +4440 +DF40 +4440 +4440 +4640 +4440 +40C0 +ENDCHAR +STARTCHAR U_8855 +ENCODING 34901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +5F00 +9100 +3DE0 +5140 +DD40 +5540 +5540 +5D40 +5140 +52C0 +ENDCHAR +STARTCHAR U_8856 +ENCODING 34902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AE0 +4A00 +9F00 +2AE0 +4A40 +CA40 +5F40 +4040 +4A40 +5140 +6080 +ENDCHAR +STARTCHAR U_8857 +ENCODING 34903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +5E00 +8400 +3F00 +44E0 +C440 +5F40 +4440 +4740 +5C40 +40C0 +ENDCHAR +STARTCHAR U_8858 +ENCODING 34904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2EE0 +5400 +A400 +5EE0 +C440 +5740 +5440 +5740 +7840 +40C0 +ENDCHAR +STARTCHAR U_8859 +ENCODING 34905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3EE0 +4400 +9E00 +2AE0 +4A40 +DF40 +4040 +5E40 +5240 +5E40 +52C0 +ENDCHAR +STARTCHAR U_885A +ENCODING 34906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37E0 +5500 +9500 +3FE0 +5540 +FD40 +6F40 +6D40 +7D40 +4540 +4BC0 +ENDCHAR +STARTCHAR U_885B +ENCODING 34907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +28E0 +5E00 +8A00 +3FE0 +5240 +DE40 +4440 +5F40 +5440 +7F40 +44C0 +ENDCHAR +STARTCHAR U_885C +ENCODING 34908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5200 +4CE0 +BE00 +49E0 +DE40 +5A40 +5640 +5A40 +5640 +5F40 +4080 +ENDCHAR +STARTCHAR U_885D +ENCODING 34909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3EE0 +4400 +9F00 +35E0 +5F40 +D540 +5F40 +4440 +4E40 +4440 +5FC0 +ENDCHAR +STARTCHAR U_885E +ENCODING 34910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +3FE0 +4500 +BFE0 +5140 +DF40 +4440 +5F40 +5540 +5540 +44C0 +ENDCHAR +STARTCHAR U_885F +ENCODING 34911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A00 +34E0 +4A00 +A000 +5FE0 +C840 +5E40 +5240 +5E40 +5240 +5EC0 +ENDCHAR +STARTCHAR U_8860 +ENCODING 34912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +3EE0 +4800 +BFE0 +5240 +DE40 +5240 +5E40 +5240 +7F40 +52C0 +ENDCHAR +STARTCHAR U_8861 +ENCODING 34913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +5400 +9F00 +35E0 +5F40 +D540 +5F40 +4440 +5F40 +4A40 +51C0 +ENDCHAR +STARTCHAR U_8862 +ENCODING 34914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +5500 +9F00 +35E0 +5F40 +5240 +FF40 +5240 +5F40 +5240 +5FC0 +ENDCHAR +STARTCHAR U_8863 +ENCODING 34915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +FFE0 +0400 +0A40 +1280 +3100 +5100 +9480 +1840 +1020 +ENDCHAR +STARTCHAR U_8864 +ENCODING 34916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 3 -1 +BITMAP +40 +20 +F8 +10 +28 +70 +A8 +28 +20 +20 +20 +ENDCHAR +STARTCHAR U_8865 +ENCODING 34917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F900 +1100 +2980 +7160 +A920 +2900 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_8866 +ENCODING 34918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +F900 +1100 +2900 +77E0 +A900 +2900 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_8867 +ENCODING 34919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +2080 +F880 +1080 +2FE0 +7080 +A880 +2880 +2080 +2280 +2100 +ENDCHAR +STARTCHAR U_8868 +ENCODING 34920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +3F80 +0400 +FFE0 +0A40 +1280 +3100 +D480 +1860 +ENDCHAR +STARTCHAR U_8869 +ENCODING 34921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2FE0 +FD40 +1540 +2A40 +7280 +AA80 +2900 +2280 +2460 +2820 +ENDCHAR +STARTCHAR U_886A +ENCODING 34922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2280 +FAA0 +12E0 +2FA0 +72A0 +AAA0 +2AC0 +2280 +2220 +21E0 +ENDCHAR +STARTCHAR U_886B +ENCODING 34923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2080 +FB00 +1020 +2840 +7080 +AB00 +2820 +2040 +2180 +2600 +ENDCHAR +STARTCHAR U_886C +ENCODING 34924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2040 +FFE0 +1040 +2A40 +7140 +A940 +2840 +2040 +2040 +21C0 +ENDCHAR +STARTCHAR U_886D +ENCODING 34925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFC0 +1100 +2900 +77E0 +A900 +2900 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_886E +ENCODING 34926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1080 +2440 +48A0 +3F00 +0C40 +3280 +D100 +14E0 +1840 +ENDCHAR +STARTCHAR U_886F +ENCODING 34927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +F440 +1440 +2820 +77C0 +A940 +2940 +2240 +2440 +2980 +ENDCHAR +STARTCHAR U_8870 +ENCODING 34928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +3F80 +2080 +FFE0 +2080 +3FA0 +1240 +3180 +D480 +1860 +ENDCHAR +STARTCHAR U_8871 +ENCODING 34929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2240 +FA80 +12E0 +2A40 +7240 +AA40 +2B40 +2480 +2940 +3220 +ENDCHAR +STARTCHAR U_8872 +ENCODING 34930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +1520 +2D20 +75A0 +B660 +2C20 +2420 +2420 +2460 +ENDCHAR +STARTCHAR U_8873 +ENCODING 34931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2280 +F280 +1440 +2540 +2920 +7200 +AA00 +2440 +2FE0 +2420 +ENDCHAR +STARTCHAR U_8874 +ENCODING 34932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +1520 +2900 +7180 +A980 +2A80 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_8875 +ENCODING 34933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +23E0 +FA20 +1220 +2A20 +73E0 +AA20 +2A20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_8876 +ENCODING 34934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +FFE0 +14A0 +2CA0 +74A0 +AFE0 +24A0 +2080 +2080 +2080 +ENDCHAR +STARTCHAR U_8877 +ENCODING 34935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +4440 +7FC0 +0A20 +1140 +3080 +D440 +1820 +ENDCHAR +STARTCHAR U_8878 +ENCODING 34936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F280 +1240 +2420 +6A40 +B240 +2A40 +2A40 +2240 +2440 +ENDCHAR +STARTCHAR U_8879 +ENCODING 34937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +27C0 +FC80 +1480 +2FE0 +7480 +AC80 +2C80 +24A0 +2560 +2620 +ENDCHAR +STARTCHAR U_887A +ENCODING 34938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0000 +7FC0 +4200 +7FC0 +1240 +E680 +1B00 +6880 +0E60 +ENDCHAR +STARTCHAR U_887B +ENCODING 34939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +FC40 +1440 +2FE0 +7440 +AFE0 +2C40 +2440 +2440 +24C0 +ENDCHAR +STARTCHAR U_887C +ENCODING 34940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +FFE0 +1080 +2880 +73E0 +A940 +2940 +2080 +2140 +2620 +ENDCHAR +STARTCHAR U_887D +ENCODING 34941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +27C0 +F900 +1100 +2900 +77E0 +A900 +2900 +2100 +2100 +27E0 +ENDCHAR +STARTCHAR U_887E +ENCODING 34942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1500 +2480 +DF60 +0900 +0600 +FFE0 +1440 +3280 +D500 +18E0 +ENDCHAR +STARTCHAR U_887F +ENCODING 34943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FA80 +1640 +2920 +7000 +AFE0 +2840 +2080 +2080 +2100 +ENDCHAR +STARTCHAR U_8880 +ENCODING 34944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FBE0 +1420 +2120 +28A0 +7020 +A8A0 +2320 +2020 +20C0 +ENDCHAR +STARTCHAR U_8881 +ENCODING 34945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +2080 +3F80 +0C40 +1280 +3100 +D480 +1860 +ENDCHAR +STARTCHAR U_8882 +ENCODING 34946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFC0 +1140 +2140 +2FE0 +7100 +A900 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_8883 +ENCODING 34947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +F920 +4120 +5A20 +6460 +0400 +FFE0 +1240 +3180 +D480 +1860 +ENDCHAR +STARTCHAR U_8884 +ENCODING 34948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +F900 +1100 +27E0 +2900 +7100 +A900 +2280 +2460 +2820 +ENDCHAR +STARTCHAR U_8885 +ENCODING 34949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7F80 +4880 +4500 +7FE0 +0440 +FFE0 +0A40 +3180 +D480 +1860 +ENDCHAR +STARTCHAR U_8886 +ENCODING 34950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F900 +17C0 +2900 +77E0 +A920 +2920 +21A0 +2140 +2100 +ENDCHAR +STARTCHAR U_8887 +ENCODING 34951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +F640 +1540 +2D40 +77E0 +AC40 +2440 +2440 +2440 +28C0 +ENDCHAR +STARTCHAR U_8888 +ENCODING 34952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2A40 +4BC0 +9400 +0200 +FFE0 +1240 +3180 +D480 +1860 +ENDCHAR +STARTCHAR U_8889 +ENCODING 34953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +FFE0 +1420 +2200 +2A40 +7380 +AA00 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_888A +ENCODING 34954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F280 +1440 +2920 +7100 +AFE0 +2040 +2280 +2100 +2080 +ENDCHAR +STARTCHAR U_888B +ENCODING 34955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +2240 +7FE0 +A100 +24A0 +2260 +FFE0 +1240 +3180 +D480 +1860 +ENDCHAR +STARTCHAR U_888C +ENCODING 34956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +3F80 +4280 +BE80 +2120 +3FE0 +3240 +D580 +18E0 +ENDCHAR +STARTCHAR U_888D +ENCODING 34957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +FC20 +13A0 +22A0 +2AA0 +73A0 +AA40 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_888E +ENCODING 34958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2480 +F5E0 +14A0 +2AA0 +2EA0 +74A0 +AAA0 +2FA0 +2120 +22C0 +ENDCHAR +STARTCHAR U_888F +ENCODING 34959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F7E0 +1100 +2200 +2BE0 +7480 +A880 +3080 +27E0 +2000 +ENDCHAR +STARTCHAR U_8890 +ENCODING 34960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +F2A0 +1220 +2A40 +6A80 +B340 +2A20 +2640 +2A40 +33C0 +ENDCHAR +STARTCHAR U_8891 +ENCODING 34961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2120 +F920 +1220 +24E0 +2840 +77E0 +AC20 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_8892 +ENCODING 34962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2240 +FA40 +1240 +2BC0 +7240 +AA40 +2BC0 +2240 +2000 +2FE0 +ENDCHAR +STARTCHAR U_8893 +ENCODING 34963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2240 +FA40 +1240 +2BC0 +7240 +AA40 +2BC0 +2240 +2240 +2FE0 +ENDCHAR +STARTCHAR U_8894 +ENCODING 34964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +F040 +1040 +2740 +2D40 +7540 +AF40 +2840 +2040 +20C0 +ENDCHAR +STARTCHAR U_8895 +ENCODING 34965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +FFE0 +1420 +2880 +7280 +AA80 +2A40 +2440 +2420 +2820 +ENDCHAR +STARTCHAR U_8896 +ENCODING 34966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F900 +17E0 +2D20 +7520 +AFE0 +2D20 +2520 +27E0 +2420 +ENDCHAR +STARTCHAR U_8897 +ENCODING 34967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +FC40 +1120 +2A00 +7480 +A920 +2A40 +2080 +2100 +2600 +ENDCHAR +STARTCHAR U_8898 +ENCODING 34968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +FC80 +12A0 +2AE0 +77A0 +AAA0 +2AC0 +22A0 +2220 +21E0 +ENDCHAR +STARTCHAR U_8899 +ENCODING 34969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +2100 +FBE0 +1220 +2A20 +7220 +ABE0 +2A20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_889A +ENCODING 34970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2240 +FFE0 +1200 +2A00 +73C0 +AA40 +2540 +2480 +2940 +3220 +ENDCHAR +STARTCHAR U_889B +ENCODING 34971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4460 +2780 +FC80 +1480 +2FE0 +7480 +AC80 +2CA0 +2560 +2720 +24A0 +ENDCHAR +STARTCHAR U_889C +ENCODING 34972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +1100 +2FC0 +7100 +A980 +2B40 +2520 +2920 +3100 +ENDCHAR +STARTCHAR U_889D +ENCODING 34973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2240 +F440 +17E0 +2440 +6E40 +B540 +2D40 +2440 +2540 +2480 +ENDCHAR +STARTCHAR U_889E +ENCODING 34974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +7FC0 +A0A0 +3F80 +0C40 +3280 +D100 +1480 +1860 +ENDCHAR +STARTCHAR U_889F +ENCODING 34975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2500 +FFC0 +1100 +2900 +77E0 +A900 +2900 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_88A0 +ENCODING 34976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2400 +3F80 +4400 +FFE0 +2080 +CC60 +1A80 +E980 +0C60 +ENDCHAR +STARTCHAR U_88A1 +ENCODING 34977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFC0 +1540 +2FC0 +7540 +AFE0 +2C40 +2440 +2440 +24C0 +ENDCHAR +STARTCHAR U_88A2 +ENCODING 34978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2520 +FB40 +1100 +2FE0 +7100 +A900 +2FE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_88A3 +ENCODING 34979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2540 +F540 +1FE0 +2540 +6D40 +B540 +2DC0 +2400 +27E0 +2000 +ENDCHAR +STARTCHAR U_88A4 +ENCODING 34980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0A00 +7FC0 +0A40 +F200 +0640 +1980 +E880 +0C60 +ENDCHAR +STARTCHAR U_88A5 +ENCODING 34981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +F200 +1200 +2400 +6FC0 +B440 +2C40 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_88A6 +ENCODING 34982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F520 +1520 +27E0 +7100 +A900 +2520 +2520 +2520 +27E0 +ENDCHAR +STARTCHAR U_88A7 +ENCODING 34983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +FC20 +1020 +2BA0 +72A0 +AAA0 +2BA0 +2020 +20A0 +2040 +ENDCHAR +STARTCHAR U_88A8 +ENCODING 34984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +2100 +FFE0 +1100 +2A40 +7780 +A880 +2900 +2240 +2FA0 +2420 +ENDCHAR +STARTCHAR U_88A9 +ENCODING 34985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F1E0 +1100 +2900 +77C0 +AC40 +2440 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_88AA +ENCODING 34986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +1100 +2900 +77E0 +A900 +2A00 +2440 +2FA0 +2420 +ENDCHAR +STARTCHAR U_88AB +ENCODING 34987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +FFE0 +14A0 +2C80 +77E0 +AD40 +2540 +2480 +2940 +3620 +ENDCHAR +STARTCHAR U_88AC +ENCODING 34988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1080 +7FC0 +0040 +3F80 +2080 +3F80 +1240 +3580 +D8E0 +ENDCHAR +STARTCHAR U_88AD +ENCODING 34989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +FFE0 +0A80 +1320 +6DE0 +0400 +FFE0 +1240 +3280 +D900 +10E0 +ENDCHAR +STARTCHAR U_88AE +ENCODING 34990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +F7E0 +1400 +2900 +7100 +AD40 +2520 +2920 +2100 +2300 +ENDCHAR +STARTCHAR U_88AF +ENCODING 34991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2540 +F520 +17E0 +2900 +73C0 +AA40 +2540 +2480 +2940 +2220 +ENDCHAR +STARTCHAR U_88B0 +ENCODING 34992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2440 +FFE0 +2240 +3FE0 +0440 +FFE0 +0A80 +3100 +D4E0 +1840 +ENDCHAR +STARTCHAR U_88B1 +ENCODING 34993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +22C0 +F4A0 +1480 +27E0 +6C80 +B480 +2C80 +2540 +2540 +2620 +ENDCHAR +STARTCHAR U_88B2 +ENCODING 34994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +3100 +0E00 +77C0 +1880 +0500 +7E40 +3280 +D100 +18E0 +ENDCHAR +STARTCHAR U_88B3 +ENCODING 34995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +23E0 +F220 +1540 +2880 +73E0 +AD20 +2AA0 +2040 +2180 +2600 +ENDCHAR +STARTCHAR U_88B4 +ENCODING 34996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F280 +17C0 +2820 +77C0 +AA00 +23C0 +2040 +2140 +2080 +ENDCHAR +STARTCHAR U_88B5 +ENCODING 34997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2260 +F380 +1480 +2C80 +77E0 +AC80 +2480 +2480 +2480 +27E0 +ENDCHAR +STARTCHAR U_88B6 +ENCODING 34998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +FE40 +1180 +2E60 +7080 +AFE0 +2C80 +27E0 +2080 +2080 +ENDCHAR +STARTCHAR U_88B7 +ENCODING 34999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2180 +FA40 +1420 +2BC0 +7000 +ABE0 +2A20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_88B8 +ENCODING 35000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27E0 +FA00 +13E0 +2A40 +7480 +AFE0 +2480 +2480 +2480 +2580 +ENDCHAR +STARTCHAR U_88B9 +ENCODING 35001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2080 +F900 +13E0 +2A20 +7220 +ABE0 +2A20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_88BA +ENCODING 35002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +FFE0 +1080 +2BE0 +7000 +ABE0 +2A20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_88BB +ENCODING 35003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +F200 +1FE0 +2AA0 +7AA0 +AAA0 +3AA0 +2AA0 +2860 +2000 +ENDCHAR +STARTCHAR U_88BC +ENCODING 35004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +F440 +1A40 +2980 +7240 +AC20 +2BC0 +2240 +2240 +23C0 +ENDCHAR +STARTCHAR U_88BD +ENCODING 35005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +24E0 +FFA0 +1AA0 +2AA0 +2AA0 +7AA0 +AAA0 +24A0 +2AE0 +31A0 +ENDCHAR +STARTCHAR U_88BE +ENCODING 35006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +FFC0 +1500 +2900 +77E0 +A900 +2B80 +2540 +2920 +2100 +ENDCHAR +STARTCHAR U_88BF +ENCODING 35007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F7C0 +1100 +2FE0 +7100 +A900 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_88C0 +ENCODING 35008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +FD20 +17E0 +2D20 +7520 +ADA0 +2660 +2420 +27E0 +2420 +ENDCHAR +STARTCHAR U_88C1 +ENCODING 35009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D40 +1120 +FFE0 +1100 +FF20 +2540 +7880 +A5A0 +3260 +2420 +ENDCHAR +STARTCHAR U_88C2 +ENCODING 35010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +2120 +7D20 +A920 +10E0 +2400 +FFE0 +1220 +3140 +D480 +1860 +ENDCHAR +STARTCHAR U_88C3 +ENCODING 35011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23C0 +F200 +17E0 +2800 +77E0 +AA00 +2280 +2240 +2240 +2200 +ENDCHAR +STARTCHAR U_88C4 +ENCODING 35012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +22E0 +F400 +1A00 +25E0 +2C40 +7440 +AC40 +2440 +2440 +24C0 +ENDCHAR +STARTCHAR U_88C5 +ENCODING 35013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +9FE0 +5100 +3100 +D7C0 +1200 +FFE0 +0C40 +3280 +D100 +18E0 +ENDCHAR +STARTCHAR U_88C6 +ENCODING 35014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2520 +FD40 +1100 +2FE0 +7020 +A820 +2FE0 +2020 +27E0 +2020 +ENDCHAR +STARTCHAR U_88C7 +ENCODING 35015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2200 +FFE0 +1AA0 +2AA0 +7AA0 +AAA0 +3AA0 +2AA0 +3FE0 +2000 +ENDCHAR +STARTCHAR U_88C8 +ENCODING 35016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +F900 +17C0 +2B00 +7500 +AFC0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_88C9 +ENCODING 35017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FFC0 +1440 +2FC0 +7500 +AD20 +24C0 +2480 +2640 +2420 +ENDCHAR +STARTCHAR U_88CA +ENCODING 35018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +3F00 +2100 +3F00 +2100 +3FE0 +0820 +FFE0 +3500 +D200 +19C0 +ENDCHAR +STARTCHAR U_88CB +ENCODING 35019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +F800 +13C0 +2A40 +7240 +ABC0 +2000 +2240 +2080 +2FE0 +ENDCHAR +STARTCHAR U_88CC +ENCODING 35020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +1100 +2D40 +7540 +ABA0 +2100 +2280 +2440 +2820 +ENDCHAR +STARTCHAR U_88CD +ENCODING 35021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +FCA0 +17E0 +2CA0 +74E0 +ADA0 +26A0 +24A0 +27E0 +2420 +ENDCHAR +STARTCHAR U_88CE +ENCODING 35022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FC40 +17C0 +2800 +77E0 +A900 +27C0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_88CF +ENCODING 35023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +3F80 +2480 +7FC0 +0400 +FFE0 +3280 +D500 +18E0 +ENDCHAR +STARTCHAR U_88D0 +ENCODING 35024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +F7E0 +1000 +2FE0 +7420 +AFE0 +2420 +27E0 +2420 +2460 +ENDCHAR +STARTCHAR U_88D1 +ENCODING 35025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27C0 +FC40 +17C0 +2440 +6FE0 +B440 +2FC0 +2140 +2240 +2CC0 +ENDCHAR +STARTCHAR U_88D2 +ENCODING 35026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0000 +3BC0 +2040 +3BC0 +2040 +3FC0 +1940 +2880 +CC60 +ENDCHAR +STARTCHAR U_88D3 +ENCODING 35027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +20A0 +FFE0 +1080 +2AA0 +7FA0 +AAC0 +3A80 +2AA0 +3160 +2220 +ENDCHAR +STARTCHAR U_88D4 +ENCODING 35028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1240 +F580 +1860 +7FC0 +4A40 +71C0 +4E40 +4A40 +4EC0 +ENDCHAR +STARTCHAR U_88D5 +ENCODING 35029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2240 +F420 +1180 +2A40 +7420 +ABC0 +2240 +2240 +23C0 +2240 +ENDCHAR +STARTCHAR U_88D6 +ENCODING 35030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2400 +F7C0 +1400 +2FE0 +7680 +AEA0 +26C0 +2A80 +2B40 +3220 +ENDCHAR +STARTCHAR U_88D7 +ENCODING 35031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F200 +1440 +2FE0 +7020 +AD40 +2540 +2540 +2540 +2960 +ENDCHAR +STARTCHAR U_88D8 +ENCODING 35032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +2480 +1700 +3580 +CC40 +0420 +FFE0 +3240 +D580 +1860 +ENDCHAR +STARTCHAR U_88D9 +ENCODING 35033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2240 +FFE0 +1240 +2FC0 +7400 +AFC0 +2440 +2C40 +37C0 +2440 +ENDCHAR +STARTCHAR U_88DA +ENCODING 35034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC00 +27E0 +F480 +2480 +4480 +FFE0 +1240 +3180 +D480 +1860 +ENDCHAR +STARTCHAR U_88DB +ENCODING 35035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +7FC0 +4440 +7FC0 +4020 +7FE0 +3280 +D500 +18E0 +ENDCHAR +STARTCHAR U_88DC +ENCODING 35036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +27E0 +F900 +17E0 +2D20 +77E0 +AD20 +27E0 +2520 +2520 +2560 +ENDCHAR +STARTCHAR U_88DD +ENCODING 35037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +7FE0 +1100 +F100 +57C0 +8400 +FFE0 +1480 +3300 +D580 +1860 +ENDCHAR +STARTCHAR U_88DE +ENCODING 35038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +FFC0 +1440 +2C40 +77C0 +AA80 +2A80 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_88DF +ENCODING 35039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2540 +8920 +2140 +C080 +5F00 +0400 +FFE0 +1A40 +E980 +0C60 +ENDCHAR +STARTCHAR U_88E0 +ENCODING 35040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0880 +FFE0 +1080 +7F80 +3080 +DF80 +0400 +FFE0 +3280 +D9E0 +ENDCHAR +STARTCHAR U_88E1 +ENCODING 35041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +FD40 +17C0 +2D40 +77C0 +A900 +2FC0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_88E2 +ENCODING 35042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9080 +4880 +E3E0 +3900 +4A80 +5BE0 +E880 +5BE0 +4880 +5480 +63E0 +ENDCHAR +STARTCHAR U_88E3 +ENCODING 35043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F280 +1440 +2BA0 +6800 +B240 +2D40 +2240 +2280 +2FE0 +ENDCHAR +STARTCHAR U_88E4 +ENCODING 35044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +F900 +2FE0 +4900 +DA80 +6BE0 +5880 +4FE0 +5080 +5080 +ENDCHAR +STARTCHAR U_88E5 +ENCODING 35045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8800 +45E0 +E820 +2BA0 +5AA0 +6BA0 +DAA0 +4BA0 +4820 +4820 +4860 +ENDCHAR +STARTCHAR U_88E6 +ENCODING 35046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +3280 +4100 +6FE0 +4540 +6B00 +1480 +3300 +D4E0 +1840 +ENDCHAR +STARTCHAR U_88E7 +ENCODING 35047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4520 +F540 +2980 +4240 +5D20 +E120 +5540 +4980 +4240 +4C20 +ENDCHAR +STARTCHAR U_88E8 +ENCODING 35048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +FD20 +17E0 +2520 +2FE0 +7100 +AA80 +2FE0 +2080 +2080 +ENDCHAR +STARTCHAR U_88E9 +ENCODING 35049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F7C0 +1440 +2FC0 +7000 +AC80 +26E0 +2480 +26A0 +24E0 +ENDCHAR +STARTCHAR U_88EA +ENCODING 35050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2FE0 +F420 +17A0 +2A20 +77E0 +AA20 +2AA0 +2FA0 +2020 +20C0 +ENDCHAR +STARTCHAR U_88EB +ENCODING 35051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8AA0 +4AA0 +FAA0 +2EE0 +5820 +6FE0 +D820 +4EE0 +4AA0 +4AA0 +52A0 +ENDCHAR +STARTCHAR U_88EC +ENCODING 35052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F900 +17E0 +2A40 +7520 +ABC0 +2A40 +2180 +2240 +2C20 +ENDCHAR +STARTCHAR U_88ED +ENCODING 35053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2100 +FFE0 +1520 +2FC0 +7520 +ADE0 +2400 +25C0 +2940 +3260 +ENDCHAR +STARTCHAR U_88EE +ENCODING 35054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2240 +FBC0 +1240 +2BC0 +7000 +AFE0 +2C20 +27E0 +2420 +27E0 +ENDCHAR +STARTCHAR U_88EF +ENCODING 35055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4920 +FBA0 +2920 +4BA0 +5820 +EBA0 +5AA0 +4BA0 +4820 +50E0 +ENDCHAR +STARTCHAR U_88F0 +ENCODING 35056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +29A0 +F540 +12A0 +2D20 +7000 +AFE0 +2AA0 +2440 +2AA0 +3120 +ENDCHAR +STARTCHAR U_88F1 +ENCODING 35057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +F100 +17C0 +2100 +2FE0 +7320 +ACC0 +3480 +2640 +2420 +ENDCHAR +STARTCHAR U_88F2 +ENCODING 35058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +F100 +1FE0 +2920 +7DA0 +AB60 +3DA0 +2920 +2920 +2860 +ENDCHAR +STARTCHAR U_88F3 +ENCODING 35059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +7FE0 +50A0 +1F80 +0400 +FFE0 +0A40 +3180 +D480 +1860 +ENDCHAR +STARTCHAR U_88F4 +ENCODING 35060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0A00 +7BC0 +0A00 +FBE0 +0400 +FFE0 +0920 +3940 +CA80 +0C60 +ENDCHAR +STARTCHAR U_88F5 +ENCODING 35061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A00 +7BC0 +0A00 +7BC0 +0400 +1AC0 +2900 +CCE0 +0840 +ENDCHAR +STARTCHAR U_88F6 +ENCODING 35062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +FEE0 +1280 +2EE0 +7280 +AA80 +2EE0 +2280 +2280 +2280 +ENDCHAR +STARTCHAR U_88F7 +ENCODING 35063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +FFE0 +1200 +2FE0 +7440 +AFA0 +2480 +25A0 +2420 +23E0 +ENDCHAR +STARTCHAR U_88F8 +ENCODING 35064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +FFC0 +1540 +2FC0 +7100 +AFE0 +2900 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_88F9 +ENCODING 35065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +3F80 +2480 +FFE0 +2480 +CD60 +3200 +D900 +10E0 +ENDCHAR +STARTCHAR U_88FA +ENCODING 35066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +FA80 +1540 +2FE0 +7540 +AFC0 +2540 +27C0 +2120 +20E0 +ENDCHAR +STARTCHAR U_88FB +ENCODING 35067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +13E0 +FD40 +5880 +9540 +2620 +FFE0 +1220 +3140 +D480 +1860 +ENDCHAR +STARTCHAR U_88FC +ENCODING 35068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FFC0 +1440 +2FC0 +7200 +AFE0 +2AA0 +2D20 +2220 +24C0 +ENDCHAR +STARTCHAR U_88FD +ENCODING 35069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5020 +7D20 +9120 +FD20 +1120 +7C60 +5400 +FFE0 +3140 +D480 +1860 +ENDCHAR +STARTCHAR U_88FE +ENCODING 35070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +FFE0 +1480 +2FE0 +7480 +AC80 +27E0 +2A20 +33E0 +2220 +ENDCHAR +STARTCHAR U_88FF +ENCODING 35071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +F900 +1280 +2FE0 +7040 +A740 +3540 +2740 +2040 +20C0 +ENDCHAR +STARTCHAR U_8900 +ENCODING 35072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +27E0 +FA40 +13C0 +2A40 +73C0 +AA40 +2FE0 +2000 +2240 +2420 +ENDCHAR +STARTCHAR U_8901 +ENCODING 35073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +2480 +FFE0 +1500 +E4E0 +1A80 +3100 +D480 +1860 +ENDCHAR +STARTCHAR U_8902 +ENCODING 35074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2F80 +F280 +12C0 +2FA0 +72A0 +AF80 +2A80 +2280 +2380 +2C80 +ENDCHAR +STARTCHAR U_8903 +ENCODING 35075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +25C0 +F500 +1FE0 +2800 +77C0 +AC40 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_8904 +ENCODING 35076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F140 +17E0 +2940 +77C0 +A900 +2FE0 +2240 +2180 +2660 +ENDCHAR +STARTCHAR U_8905 +ENCODING 35077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +F440 +2280 +4FE0 +5920 +E7C0 +5540 +4540 +45C0 +4100 +ENDCHAR +STARTCHAR U_8906 +ENCODING 35078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FFC0 +1440 +2FC0 +7000 +AFE0 +2500 +25E0 +2B00 +31E0 +ENDCHAR +STARTCHAR U_8907 +ENCODING 35079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +F800 +17C0 +2C40 +77C0 +AC40 +27C0 +2C40 +3380 +2C60 +ENDCHAR +STARTCHAR U_8908 +ENCODING 35080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +FFE0 +1100 +2FC0 +7540 +AFC0 +2540 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_8909 +ENCODING 35081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +4FE0 +F4A0 +2EA0 +44A0 +5F60 +E500 +5FE0 +4100 +4280 +4C60 +ENDCHAR +STARTCHAR U_890A +ENCODING 35082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +F820 +2FE0 +4800 +5FE0 +EAA0 +5FE0 +4AA0 +5AA0 +6860 +ENDCHAR +STARTCHAR U_890B +ENCODING 35083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +27E0 +FD40 +15C0 +2C00 +77E0 +A900 +2FE0 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_890C +ENCODING 35084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +F7C0 +1100 +2FC0 +7540 +AFC0 +2540 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_890D +ENCODING 35085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2540 +FD40 +17C0 +3000 +6FE0 +B200 +2FE0 +2AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_890E +ENCODING 35086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2100 +47E0 +7380 +4540 +7D20 +0A40 +3180 +D480 +1860 +ENDCHAR +STARTCHAR U_890F +ENCODING 35087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +3100 +47C0 +7540 +4540 +77C0 +1C80 +3300 +D8E0 +1040 +ENDCHAR +STARTCHAR U_8910 +ENCODING 35088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FFC0 +1440 +2FC0 +7200 +AFE0 +2CA0 +2560 +27A0 +2040 +ENDCHAR +STARTCHAR U_8911 +ENCODING 35089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +80C0 +4F20 +F540 +2FE0 +5200 +6FE0 +D400 +47C0 +4A40 +5180 +4660 +ENDCHAR +STARTCHAR U_8912 +ENCODING 35090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1440 +27C0 +7100 +AFE0 +2540 +0920 +3480 +D300 +18E0 +ENDCHAR +STARTCHAR U_8913 +ENCODING 35091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23C0 +F540 +1DC0 +2480 +6FE0 +B480 +2DC0 +26A0 +2480 +2480 +ENDCHAR +STARTCHAR U_8914 +ENCODING 35092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2000 +FBC0 +1240 +2BC0 +7000 +AFE0 +2520 +27E0 +2520 +27E0 +ENDCHAR +STARTCHAR U_8915 +ENCODING 35093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8380 +4440 +FBA0 +2000 +4EA0 +5AA0 +EEA0 +5AA0 +4EA0 +4A20 +4A60 +ENDCHAR +STARTCHAR U_8916 +ENCODING 35094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +83C0 +4440 +F780 +2080 +5FE0 +6220 +DD40 +4280 +4DC0 +42A0 +4D80 +ENDCHAR +STARTCHAR U_8917 +ENCODING 35095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4A40 +FBC0 +2A40 +4BC0 +5900 +EFE0 +5A40 +4980 +4A40 +4FE0 +ENDCHAR +STARTCHAR U_8918 +ENCODING 35096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +F940 +17E0 +2240 +2BC0 +7080 +AFE0 +2480 +2FE0 +2080 +ENDCHAR +STARTCHAR U_8919 +ENCODING 35097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +2EC0 +F280 +16E0 +2800 +77C0 +AC40 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_891A +ENCODING 35098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2120 +F7C0 +1140 +2FE0 +7100 +ABC0 +2640 +3BC0 +2240 +23C0 +ENDCHAR +STARTCHAR U_891B +ENCODING 35099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +FFE0 +1380 +2D40 +7120 +AFE0 +2240 +2680 +2140 +2620 +ENDCHAR +STARTCHAR U_891C +ENCODING 35100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +57C0 +7D40 +5740 +74A0 +9BE0 +0400 +FFE0 +3240 +D580 +1860 +ENDCHAR +STARTCHAR U_891D +ENCODING 35101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A20 +2540 +F7C0 +1540 +2FC0 +7540 +AFC0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_891E +ENCODING 35102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FFC0 +1440 +2FC0 +7000 +AFE0 +2AA0 +2AA0 +2AA0 +3FE0 +ENDCHAR +STARTCHAR U_891F +ENCODING 35103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FFC0 +1440 +2FC0 +7000 +AFE0 +2AA0 +2660 +2AA0 +2660 +ENDCHAR +STARTCHAR U_8920 +ENCODING 35104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +F280 +17E0 +2280 +6FE0 +B540 +2FC0 +2540 +3FE0 +2440 +ENDCHAR +STARTCHAR U_8921 +ENCODING 35105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +F280 +1100 +2A80 +7440 +ABA0 +2000 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_8922 +ENCODING 35106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +3F80 +2480 +3FC0 +1220 +EDE0 +1A80 +E900 +0CE0 +ENDCHAR +STARTCHAR U_8923 +ENCODING 35107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +FAA0 +1440 +29A0 +7240 +AC20 +2FC0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_8924 +ENCODING 35108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +F100 +1FE0 +2000 +77C0 +A440 +37E0 +2D40 +3680 +2460 +ENDCHAR +STARTCHAR U_8925 +ENCODING 35109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +25C0 +FC00 +17E0 +2DA0 +7540 +AD20 +2FE0 +2640 +2940 +3080 +ENDCHAR +STARTCHAR U_8926 +ENCODING 35110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +84A0 +4AC0 +FF80 +20A0 +4EE0 +5A00 +EEA0 +5AC0 +4E80 +4AA0 +4AE0 +ENDCHAR +STARTCHAR U_8927 +ENCODING 35111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +4AA0 +7AC0 +4C80 +7940 +4A20 +FFE0 +1220 +3140 +D680 +1860 +ENDCHAR +STARTCHAR U_8928 +ENCODING 35112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +FFE0 +1100 +27C0 +7100 +AFE0 +3200 +27C0 +2900 +37E0 +ENDCHAR +STARTCHAR U_8929 +ENCODING 35113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +7A40 +4C20 +4BC0 +FE40 +4980 +8A40 +FFE0 +3280 +D500 +18E0 +ENDCHAR +STARTCHAR U_892A +ENCODING 35114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +93C0 +4A40 +E3C0 +3A40 +4BC0 +DA80 +6AA0 +5A40 +4B20 +5400 +63E0 +ENDCHAR +STARTCHAR U_892B +ENCODING 35115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +80E0 +4F80 +F880 +2BE0 +4AA0 +5BC0 +EAA0 +5AE0 +4B40 +5540 +6A60 +ENDCHAR +STARTCHAR U_892C +ENCODING 35116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +87C0 +4240 +F180 +2EE0 +5AA0 +6440 +DAA0 +4100 +4FE0 +4540 +4920 +ENDCHAR +STARTCHAR U_892D +ENCODING 35117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +4400 +7F80 +4400 +7FC0 +5540 +8AC0 +3280 +D500 +18E0 +ENDCHAR +STARTCHAR U_892E +ENCODING 35118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +14A0 +5AC0 +5280 +2940 +4200 +FFE0 +8420 +7FC0 +3140 +D480 +1860 +ENDCHAR +STARTCHAR U_892F +ENCODING 35119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +FA40 +2FE0 +4A40 +5BC0 +E880 +5BE0 +4AA0 +4AE0 +5080 +ENDCHAR +STARTCHAR U_8930 +ENCODING 35120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8920 +7FC0 +0900 +FFE0 +2480 +7F40 +9AA0 +2900 +4CE0 +ENDCHAR +STARTCHAR U_8931 +ENCODING 35121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +4A40 +7FC0 +2480 +1500 +6CC0 +1220 +3140 +D480 +1860 +ENDCHAR +STARTCHAR U_8932 +ENCODING 35122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +F880 +2FE0 +4AA0 +5BE0 +EAA0 +5BE0 +4880 +4FE0 +5080 +ENDCHAR +STARTCHAR U_8933 +ENCODING 35123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8080 +57E0 +EAA0 +23E0 +5EA0 +57E0 +E480 +57E0 +4480 +4480 +4BE0 +ENDCHAR +STARTCHAR U_8934 +ENCODING 35124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8280 +4A80 +EAE0 +2B00 +4A40 +5220 +E000 +5FE0 +4AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_8935 +ENCODING 35125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +FA80 +1520 +2EA0 +77E0 +A900 +2FE0 +2AA0 +2FE0 +2820 +ENDCHAR +STARTCHAR U_8936 +ENCODING 35126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8EE0 +4220 +FAA0 +2660 +4AA0 +5100 +E7E0 +5420 +47E0 +4420 +47E0 +ENDCHAR +STARTCHAR U_8937 +ENCODING 35127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +4880 +F2E0 +2280 +4FE0 +5880 +EA80 +5AE0 +4A80 +4A80 +4DE0 +ENDCHAR +STARTCHAR U_8938 +ENCODING 35128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +47C0 +F540 +2FE0 +5540 +6FE0 +D920 +4FE0 +4440 +4380 +4C60 +ENDCHAR +STARTCHAR U_8939 +ENCODING 35129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5D00 +EBC0 +3D40 +5540 +EB40 +5D40 +49C0 +4E60 +5260 +4420 +ENDCHAR +STARTCHAR U_893A +ENCODING 35130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7780 +2280 +FEA0 +52A0 +FD60 +2400 +FFC0 +3280 +D100 +18E0 +ENDCHAR +STARTCHAR U_893B +ENCODING 35131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2100 +FBC0 +5140 +ABC0 +2560 +FA20 +1940 +2A80 +CC60 +ENDCHAR +STARTCHAR U_893C +ENCODING 35132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4280 +FFE0 +2AA0 +4FE0 +5440 +EFA0 +5480 +57A0 +4420 +43E0 +ENDCHAR +STARTCHAR U_893D +ENCODING 35133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +4440 +7FE0 +4240 +BD40 +54C0 +FFE0 +0A20 +1940 +EA80 +0C60 +ENDCHAR +STARTCHAR U_893E +ENCODING 35134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4280 +FFE0 +2AA0 +4FE0 +5000 +E7C0 +5000 +4FE0 +4540 +5B20 +ENDCHAR +STARTCHAR U_893F +ENCODING 35135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +F280 +1FE0 +2AA0 +7AA0 +AFE0 +3440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_8940 +ENCODING 35136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F100 +2FC0 +7100 +AFE0 +2540 +26C0 +2540 +27C0 +2C60 +ENDCHAR +STARTCHAR U_8941 +ENCODING 35137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8DE0 +4520 +F5E0 +2C80 +4BE0 +5AA0 +EEA0 +57E0 +4480 +44A0 +5BE0 +ENDCHAR +STARTCHAR U_8942 +ENCODING 35138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8280 +47C0 +F440 +2AA0 +4FE0 +5280 +E560 +5A80 +4540 +4280 +4700 +ENDCHAR +STARTCHAR U_8943 +ENCODING 35139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2440 +47C0 +7100 +47E0 +6B40 +1560 +3280 +D900 +10C0 +ENDCHAR +STARTCHAR U_8944 +ENCODING 35140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +4A40 +7BC0 +1100 +7FC0 +1100 +FFE0 +3280 +D500 +18E0 +ENDCHAR +STARTCHAR U_8945 +ENCODING 35141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +FFE0 +1920 +2FE0 +7540 +AFE0 +2540 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_8946 +ENCODING 35142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8AA0 +46C0 +FFE0 +2280 +4FE0 +5100 +E7C0 +5100 +4FE0 +4280 +4C60 +ENDCHAR +STARTCHAR U_8947 +ENCODING 35143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +FEE0 +2AA0 +3FE0 +6AA0 +BBA0 +2AA0 +2BA0 +2820 +2860 +ENDCHAR +STARTCHAR U_8948 +ENCODING 35144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2B40 +FFC0 +1920 +2FE0 +7280 +AFE0 +2280 +2FE0 +2440 +2820 +ENDCHAR +STARTCHAR U_8949 +ENCODING 35145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8EE0 +4AA0 +EEE0 +2AA0 +4FE0 +5AA0 +EBA0 +5AA0 +4BA0 +4AA0 +4DE0 +ENDCHAR +STARTCHAR U_894A +ENCODING 35146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F7C0 +2440 +5FE0 +DA00 +6FE0 +5B20 +4EC0 +5AC0 +4320 +ENDCHAR +STARTCHAR U_894B +ENCODING 35147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +5FE0 +E480 +3FE0 +55A0 +55A0 +F5E0 +4EC0 +55A0 +66A0 +4480 +ENDCHAR +STARTCHAR U_894C +ENCODING 35148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +FFE0 +1540 +2FC0 +7540 +AFC0 +2100 +2FE0 +2100 +2100 +ENDCHAR +STARTCHAR U_894D +ENCODING 35149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +27C0 +FD00 +17C0 +2D00 +77C0 +AD00 +2FE0 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_894E +ENCODING 35150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F40 +FA80 +2FC0 +3680 +6A60 +AFC0 +2A40 +2FC0 +2A40 +2FC0 +ENDCHAR +STARTCHAR U_894F +ENCODING 35151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8F40 +4A80 +E4A0 +2840 +5DC0 +5560 +EC00 +5BC0 +4D40 +4480 +5B60 +ENDCHAR +STARTCHAR U_8950 +ENCODING 35152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +83C0 +4480 +FFE0 +2920 +4FE0 +5220 +ED40 +5280 +4DC0 +42A0 +4D20 +ENDCHAR +STARTCHAR U_8951 +ENCODING 35153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +4040 +F7C0 +2040 +4FE0 +5520 +EFE0 +5080 +4FE0 +4880 +4580 +ENDCHAR +STARTCHAR U_8952 +ENCODING 35154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9540 +4E40 +E440 +3F60 +55A0 +7520 +DFA0 +7540 +5540 +55A0 +5120 +ENDCHAR +STARTCHAR U_8953 +ENCODING 35155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +47C0 +E100 +2FE0 +4440 +5EE0 +E440 +5FE0 +4280 +44A0 +5860 +ENDCHAR +STARTCHAR U_8954 +ENCODING 35156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2FE0 +F240 +23C0 +3100 +6FE0 +B920 +2DA0 +2B60 +2920 +2960 +ENDCHAR +STARTCHAR U_8955 +ENCODING 35157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +23E0 +F920 +1FE0 +2920 +7FE0 +AD60 +2FE0 +2BA0 +2D60 +2920 +ENDCHAR +STARTCHAR U_8956 +ENCODING 35158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4FC0 +ED40 +2B40 +4FC0 +5B40 +EDC0 +5940 +4FE0 +4280 +5C60 +ENDCHAR +STARTCHAR U_8957 +ENCODING 35159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +FFE0 +17C0 +3100 +6FE0 +B280 +2FE0 +2100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_8958 +ENCODING 35160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +2440 +FBA0 +1000 +2FE0 +7AA0 +AFE0 +3440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_8959 +ENCODING 35161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +87C0 +4440 +F7C0 +2000 +4EE0 +5AA0 +EEE0 +5100 +4FE0 +4540 +4920 +ENDCHAR +STARTCHAR U_895A +ENCODING 35162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9440 +4A80 +E7E0 +2120 +52C0 +5D80 +EAC0 +4DA0 +4AA0 +5500 +63E0 +ENDCHAR +STARTCHAR U_895B +ENCODING 35163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8280 +4FE0 +EAA0 +2FE0 +4AA0 +5FE0 +E800 +5FE0 +4AA0 +4A40 +5720 +ENDCHAR +STARTCHAR U_895C +ENCODING 35164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2440 +F7E0 +1D40 +27E0 +6C00 +B7E0 +2C00 +27E0 +2A20 +33E0 +ENDCHAR +STARTCHAR U_895D +ENCODING 35165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8300 +4480 +E840 +37A0 +4000 +5EE0 +EAA0 +5EE0 +4440 +4AA0 +5120 +ENDCHAR +STARTCHAR U_895E +ENCODING 35166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +7940 +4080 +7BE0 +A880 +FFE0 +0A40 +3180 +D480 +1860 +ENDCHAR +STARTCHAR U_895F +ENCODING 35167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8440 +4FE0 +E440 +2EE0 +5540 +57C0 +E000 +5FE0 +4580 +4940 +5320 +ENDCHAR +STARTCHAR U_8960 +ENCODING 35168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +FFE0 +1AA0 +2380 +6800 +B7E0 +2D20 +27E0 +2520 +27E0 +ENDCHAR +STARTCHAR U_8961 +ENCODING 35169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FC0 +5540 +FFC0 +2400 +47E0 +5A20 +EFA0 +5AA0 +4FA0 +42A0 +4FC0 +ENDCHAR +STARTCHAR U_8962 +ENCODING 35170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +FBA0 +2820 +4FE0 +5000 +E7C0 +5440 +47C0 +4440 +5FE0 +ENDCHAR +STARTCHAR U_8963 +ENCODING 35171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +47C0 +F440 +2FE0 +4920 +5FE0 +E920 +5FE0 +5240 +4440 +4840 +ENDCHAR +STARTCHAR U_8964 +ENCODING 35172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8F80 +4A80 +FEE0 +2980 +4F40 +5A20 +EA00 +5FE0 +4AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_8965 +ENCODING 35173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AA0 +2EC0 +EFE0 +3A80 +5FC0 +E900 +5BC0 +4900 +4FE0 +4A80 +4C60 +ENDCHAR +STARTCHAR U_8966 +ENCODING 35174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4100 +EFE0 +2920 +4540 +5920 +EFE0 +5200 +4FE0 +4AA0 +4AE0 +ENDCHAR +STARTCHAR U_8967 +ENCODING 35175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2540 +F920 +2FE0 +5D60 +EBA0 +5D60 +4BA0 +4D60 +4920 +4860 +ENDCHAR +STARTCHAR U_8968 +ENCODING 35176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAA0 +5B20 +EA20 +3FE0 +4A20 +DFA0 +6460 +5F20 +4420 +47A0 +5840 +ENDCHAR +STARTCHAR U_8969 +ENCODING 35177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +F100 +2FE0 +4AA0 +5FE0 +E440 +57C0 +4440 +47C0 +4C60 +ENDCHAR +STARTCHAR U_896A +ENCODING 35178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8280 +4FE0 +F280 +2FE0 +4AA0 +5FE0 +E140 +5FE0 +4D40 +4AA0 +5360 +ENDCHAR +STARTCHAR U_896B +ENCODING 35179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +F540 +2FE0 +4920 +5FE0 +E920 +5FE0 +4280 +4440 +4820 +ENDCHAR +STARTCHAR U_896C +ENCODING 35180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4AA0 +FFE0 +24A0 +4AC0 +5FA0 +EAE0 +5EA0 +4AC0 +4EA0 +4AE0 +ENDCHAR +STARTCHAR U_896D +ENCODING 35181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +85E0 +4E80 +F5E0 +2520 +4FE0 +5120 +EFE0 +5B20 +4BE0 +4EC0 +4920 +ENDCHAR +STARTCHAR U_896E +ENCODING 35182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +87C0 +4440 +F7C0 +2440 +4FE0 +5280 +EFE0 +5540 +5BA0 +4540 +4B20 +ENDCHAR +STARTCHAR U_896F +ENCODING 35183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +85E0 +4F20 +EBE0 +2520 +5FE0 +5520 +EFE0 +5440 +4EC0 +5540 +6E60 +ENDCHAR +STARTCHAR U_8970 +ENCODING 35184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +5EE0 +E540 +3FE0 +55A0 +FFE0 +44A0 +4EE0 +55A0 +64E0 +44A0 +ENDCHAR +STARTCHAR U_8971 +ENCODING 35185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +84E0 +4E80 +FAE0 +2420 +4EE0 +5A80 +EEE0 +5A80 +4EE0 +4AA0 +4AE0 +ENDCHAR +STARTCHAR U_8972 +ENCODING 35186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FE00 +53E0 +FC20 +4BE0 +7A00 +4A20 +FFE0 +3140 +DC80 +1060 +ENDCHAR +STARTCHAR U_8973 +ENCODING 35187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8AC0 +55A0 +FFE0 +2A80 +5B80 +4AA0 +FBA0 +4AA0 +5BC0 +4AA0 +5F60 +ENDCHAR +STARTCHAR U_8974 +ENCODING 35188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8EE0 +4AA0 +EEE0 +2AA0 +4EE0 +5920 +EFE0 +5AA0 +4FE0 +4BA0 +4D60 +ENDCHAR +STARTCHAR U_8975 +ENCODING 35189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +22C0 +F340 +1FE0 +2040 +7FE0 +AAA0 +2EE0 +2AA0 +3FE0 +2220 +ENDCHAR +STARTCHAR U_8976 +ENCODING 35190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +22A0 +FFE0 +2A80 +4F80 +DAA0 +6FA0 +5AC0 +4FA0 +4AE0 +5120 +ENDCHAR +STARTCHAR U_8977 +ENCODING 35191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4600 +2B60 +FA20 +1D60 +2920 +7FE0 +A540 +2FE0 +3100 +2FE0 +2100 +ENDCHAR +STARTCHAR U_8978 +ENCODING 35192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2FE0 +F540 +2FE0 +5AA0 +E7C0 +5540 +46C0 +4540 +47C0 +4C60 +ENDCHAR +STARTCHAR U_8979 +ENCODING 35193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4000 +FFE0 +2AA0 +5FE0 +54A0 +FFE0 +5480 +56E0 +5480 +6EE0 +ENDCHAR +STARTCHAR U_897A +ENCODING 35194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8280 +4FE0 +F280 +2FE0 +4B20 +5DE0 +EB20 +5DE0 +4F60 +4DE0 +4B20 +ENDCHAR +STARTCHAR U_897B +ENCODING 35195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8AC0 +5D60 +EAC0 +3D60 +4AC0 +5FE0 +E540 +5FE0 +4100 +5FE0 +4300 +ENDCHAR +STARTCHAR U_897C +ENCODING 35196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4480 +FFE0 +24A0 +4FA0 +5560 +EFA0 +5000 +5FE0 +4240 +4FA0 +ENDCHAR +STARTCHAR U_897D +ENCODING 35197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +FAA0 +1EE0 +2AA0 +7FE0 +AD60 +2FE0 +2BA0 +2D60 +2920 +ENDCHAR +STARTCHAR U_897E +ENCODING 35198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0900 +0900 +7FE0 +4920 +4920 +4920 +4F20 +4920 +4020 +4020 +ENDCHAR +STARTCHAR U_897F +ENCODING 35199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +4A40 +5240 +61C0 +4040 +7FC0 +4040 +ENDCHAR +STARTCHAR U_8980 +ENCODING 35200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 5 0 4 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +ENDCHAR +STARTCHAR U_8981 +ENCODING 35201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +0800 +FFE0 +1100 +3A00 +0F00 +70C0 +ENDCHAR +STARTCHAR U_8982 +ENCODING 35202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +0080 +7F00 +0400 +7F80 +1800 +E7E0 +ENDCHAR +STARTCHAR U_8983 +ENCODING 35203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +2080 +3F80 +2080 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_8984 +ENCODING 35204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +1500 +2480 +7FE0 +A600 +2980 +3060 +ENDCHAR +STARTCHAR U_8985 +ENCODING 35205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +2900 +FFE0 +AAA0 +FEA0 +2120 +FE60 +4460 +28A0 +1920 +E6C0 +ENDCHAR +STARTCHAR U_8986 +ENCODING 35206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FE0 +CD40 +3540 +E7C0 +2A80 +3100 +2EE0 +ENDCHAR +STARTCHAR U_8987 +ENCODING 35207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4A40 +7FC0 +2800 +FFC0 +2A40 +7FC0 +5640 +FFC0 +1240 +14C0 +ENDCHAR +STARTCHAR U_8988 +ENCODING 35208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4A40 +7FC0 +2100 +7BE0 +4D40 +7940 +2080 +FC80 +4940 +9A20 +ENDCHAR +STARTCHAR U_8989 +ENCODING 35209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4A40 +7FC0 +2900 +FFE0 +2A80 +7FE0 +5740 +7D40 +FF40 +10C0 +ENDCHAR +STARTCHAR U_898A +ENCODING 35210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4A40 +7FC0 +5000 +FFC0 +5480 +FFC0 +AC80 +FFE0 +FAA0 +2560 +ENDCHAR +STARTCHAR U_898B +ENCODING 35211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +2080 +3F80 +0A00 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_898C +ENCODING 35212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +17C0 +9440 +57C0 +2440 +57C0 +4A80 +8280 +04A0 +0860 +ENDCHAR +STARTCHAR U_898D +ENCODING 35213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +4440 +BFA0 +2080 +3F80 +2080 +3F80 +2080 +3F80 +1220 +E1E0 +ENDCHAR +STARTCHAR U_898E +ENCODING 35214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8840 +F880 +8880 +FBE0 +8880 +F880 +5280 +5120 +5020 +8FC0 +ENDCHAR +STARTCHAR U_898F +ENCODING 35215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +2440 +27C0 +FC40 +27C0 +3280 +2AA0 +44A0 +8860 +ENDCHAR +STARTCHAR U_8990 +ENCODING 35216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E40 +4540 +7C80 +4540 +7E20 +4540 +7C80 +2940 +2A20 +47E0 +8000 +ENDCHAR +STARTCHAR U_8991 +ENCODING 35217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57C0 +5440 +57C0 +7C40 +47C0 +7440 +57C0 +5280 +5280 +94A0 +0860 +ENDCHAR +STARTCHAR U_8992 +ENCODING 35218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +E440 +3FC0 +E440 +3FC0 +E440 +27C0 +2280 +3280 +24A0 +0860 +ENDCHAR +STARTCHAR U_8993 +ENCODING 35219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +FE40 +4480 +3F80 +2080 +3E80 +2F80 +2080 +3FA0 +1220 +E1E0 +ENDCHAR +STARTCHAR U_8994 +ENCODING 35220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0E00 +3580 +C460 +3F80 +2A80 +3480 +3F80 +0A00 +1220 +61E0 +ENDCHAR +STARTCHAR U_8995 +ENCODING 35221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +1A20 +2BE0 +2A20 +ABE0 +AE20 +B3E0 +2540 +2540 +5940 +8660 +ENDCHAR +STARTCHAR U_8996 +ENCODING 35222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FFC0 +1440 +27C0 +7440 +AFC0 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_8997 +ENCODING 35223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0A20 +EBE0 +0A20 +EA20 +ABE0 +AA20 +EBE0 +0940 +3940 +1660 +ENDCHAR +STARTCHAR U_8998 +ENCODING 35224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +7FC0 +4440 +47C0 +F440 +97C0 +9280 +F280 +94A0 +0860 +ENDCHAR +STARTCHAR U_8999 +ENCODING 35225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7E40 +4BC0 +9240 +13C0 +5A40 +97C0 +1280 +1280 +54A0 +2860 +ENDCHAR +STARTCHAR U_899A +ENCODING 35226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +2480 +7FE0 +8020 +3F80 +2580 +2A80 +3480 +3F80 +1220 +61E0 +ENDCHAR +STARTCHAR U_899B +ENCODING 35227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BE0 +E220 +8BE0 +B220 +A3E0 +B620 +AA20 +ABE0 +A540 +B140 +A660 +ENDCHAR +STARTCHAR U_899C +ENCODING 35228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +AA20 +6FE0 +2A20 +2BE0 +6E20 +AA20 +2BE0 +2D40 +4940 +8260 +ENDCHAR +STARTCHAR U_899D +ENCODING 35229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2220 +FFE0 +2220 +23E0 +0220 +A7E0 +A880 +3180 +4AA0 +84E0 +ENDCHAR +STARTCHAR U_899E +ENCODING 35230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8A20 +FBE0 +5080 +54A0 +59A0 +96E0 +ENDCHAR +STARTCHAR U_899F +ENCODING 35231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1220 +FFE0 +1220 +7FE0 +1220 +2BE0 +A680 +A880 +39A0 +06E0 +ENDCHAR +STARTCHAR U_89A0 +ENCODING 35232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +2A40 +FFC0 +2A40 +7BC0 +2240 +7BC0 +AA80 +2AA0 +3CA0 +0860 +ENDCHAR +STARTCHAR U_89A1 +ENCODING 35233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +1120 +55E0 +5520 +55E0 +BB20 +1120 +11E0 +1CC0 +E140 +4260 +ENDCHAR +STARTCHAR U_89A2 +ENCODING 35234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BC0 +B240 +A3C0 +5240 +ABC0 +2240 +2BC0 +B080 +A1A0 +52A0 +8C60 +ENDCHAR +STARTCHAR U_89A3 +ENCODING 35235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2240 +FBC0 +2240 +73C0 +AA40 +23C0 +FC80 +49A0 +32A0 +CC60 +ENDCHAR +STARTCHAR U_89A4 +ENCODING 35236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1DE0 +1120 +7DE0 +5520 +79E0 +5520 +5DE0 +4040 +B8C0 +AD40 +4A60 +ENDCHAR +STARTCHAR U_89A5 +ENCODING 35237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BC0 +2A40 +FFC0 +AA40 +FFC0 +AA40 +FFC0 +0180 +52A0 +4AA0 +8460 +ENDCHAR +STARTCHAR U_89A6 +ENCODING 35238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +31E0 +4920 +B5E0 +0120 +E5E0 +AD20 +EDE0 +AC40 +E4C0 +A540 +AE60 +ENDCHAR +STARTCHAR U_89A7 +ENCODING 35239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FA00 +A3C0 +F200 +9500 +FE80 +A200 +FE00 +2200 +3E00 +1480 +E780 +ENDCHAR +STARTCHAR U_89A8 +ENCODING 35240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +B640 +FFC0 +0240 +7BC0 +0240 +FFC0 +2180 +3980 +0AA0 +34E0 +ENDCHAR +STARTCHAR U_89A9 +ENCODING 35241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +7E40 +2BC0 +FE40 +23C0 +7A40 +CBC0 +7980 +4AA0 +7AA0 +4C60 +ENDCHAR +STARTCHAR U_89AA +ENCODING 35242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FE20 +4BE0 +2A20 +FFE0 +1220 +7FE0 +1080 +39A0 +56A0 +B460 +ENDCHAR +STARTCHAR U_89AB +ENCODING 35243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +7E40 +2BC0 +FE40 +93C0 +7E40 +23C0 +3980 +2A80 +6AA0 +9460 +ENDCHAR +STARTCHAR U_89AC +ENCODING 35244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABE0 +FA20 +03E0 +FA20 +03E0 +FA20 +8BE0 +F940 +8940 +5240 +FC60 +ENDCHAR +STARTCHAR U_89AD +ENCODING 35245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8620 +7BE0 +4A20 +7BE0 +4A20 +7BE0 +20C0 +FD40 +5240 +8C60 +ENDCHAR +STARTCHAR U_89AE +ENCODING 35246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +56A0 +5AC0 +1080 +2940 +FFE0 +A0A0 +3F80 +2080 +3F80 +0A20 +F1E0 +ENDCHAR +STARTCHAR U_89AF +ENCODING 35247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FE20 +53E0 +FE20 +53E0 +FE20 +ABE0 +F940 +A940 +FE40 +8C60 +ENDCHAR +STARTCHAR U_89B0 +ENCODING 35248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C00 +13C0 +7E40 +53C0 +7E40 +57C0 +7A40 +6BC0 +7980 +AAA0 +7C60 +ENDCHAR +STARTCHAR U_89B1 +ENCODING 35249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FE00 +ABE0 +FA40 +AA40 +FFC0 +2080 +3F80 +2080 +3FA0 +E1E0 +ENDCHAR +STARTCHAR U_89B2 +ENCODING 35250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FE20 +53E0 +2220 +FBE0 +AA20 +FBE0 +2080 +F980 +22A0 +FCE0 +ENDCHAR +STARTCHAR U_89B3 +ENCODING 35251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FC0 +9240 +FFC0 +2240 +4BC0 +FE40 +4BC0 +7D80 +4AA0 +7CE0 +ENDCHAR +STARTCHAR U_89B4 +ENCODING 35252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EBC0 +AE40 +47C0 +BA40 +03C0 +7A40 +4BC0 +7A80 +4A80 +34A0 +C860 +ENDCHAR +STARTCHAR U_89B5 +ENCODING 35253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +EEE0 +AAA0 +FEE0 +AAA0 +BAE0 +AA40 +BAC0 +CB40 +8660 +ENDCHAR +STARTCHAR U_89B6 +ENCODING 35254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0DE0 +F520 +A9E0 +FD20 +51E0 +FD20 +A5E0 +F440 +D4C0 +A540 +D660 +ENDCHAR +STARTCHAR U_89B7 +ENCODING 35255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +39E0 +2120 +FDE0 +A520 +F9E0 +A520 +BDE0 +A840 +ECC0 +A940 +FE60 +ENDCHAR +STARTCHAR U_89B8 +ENCODING 35256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +EEE0 +AAA0 +FEE0 +AAA0 +BAE0 +AA40 +BAC0 +8340 +8660 +ENDCHAR +STARTCHAR U_89B9 +ENCODING 35257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EA80 +BA80 +EFE0 +B8A0 +EFA0 +A8A0 +EFA0 +4DA0 +5D40 +E9A0 +48A0 +ENDCHAR +STARTCHAR U_89BA +ENCODING 35258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6AC0 +4440 +6AC0 +4440 +FFE0 +A0A0 +3E80 +2F80 +20A0 +3FA0 +F1E0 +ENDCHAR +STARTCHAR U_89BB +ENCODING 35259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +1240 +7FC0 +5240 +7BC0 +5640 +7FC0 +6980 +7AA0 +92A0 +BC60 +ENDCHAR +STARTCHAR U_89BC +ENCODING 35260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +54A0 +92E0 +FEA0 +D6E0 +BAA0 +D6E0 +BA40 +D6C0 +9340 +9660 +ENDCHAR +STARTCHAR U_89BD +ENCODING 35261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE00 +A3E0 +FC80 +ABE0 +FFA0 +20E0 +3F80 +2080 +3FA0 +1220 +E3E0 +ENDCHAR +STARTCHAR U_89BE +ENCODING 35262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF20 +55E0 +FF20 +55E0 +9320 +7DE0 +5440 +7CC0 +5540 +7E60 +ENDCHAR +STARTCHAR U_89BF +ENCODING 35263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +11E0 +FF20 +ABE0 +FF20 +45E0 +7C40 +44C0 +7D40 +C660 +ENDCHAR +STARTCHAR U_89C0 +ENCODING 35264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2A20 +EFE0 +AA20 +EFE0 +5220 +7FE0 +D140 +7D40 +5140 +7E60 +ENDCHAR +STARTCHAR U_89C1 +ENCODING 35265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +2480 +2480 +2480 +2480 +2480 +0A00 +1220 +2220 +C1E0 +ENDCHAR +STARTCHAR U_89C2 +ENCODING 35266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F440 +1540 +9540 +5540 +2540 +2540 +5180 +52A0 +84A0 +1860 +ENDCHAR +STARTCHAR U_89C3 +ENCODING 35267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4440 +5480 +57E0 +5480 +5480 +3080 +2A80 +4920 +4820 +87E0 +ENDCHAR +STARTCHAR U_89C4 +ENCODING 35268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FD40 +2540 +2540 +FD40 +2540 +3180 +2AA0 +44A0 +9860 +ENDCHAR +STARTCHAR U_89C5 +ENCODING 35269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C40 +2480 +1500 +3F80 +2080 +2480 +2680 +26A0 +0A20 +F1E0 +ENDCHAR +STARTCHAR U_89C6 +ENCODING 35270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F540 +1540 +2540 +7540 +A540 +2100 +2320 +2520 +28E0 +ENDCHAR +STARTCHAR U_89C7 +ENCODING 35271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +7540 +4540 +4540 +F540 +9540 +9180 +F2A0 +94A0 +0860 +ENDCHAR +STARTCHAR U_89C8 +ENCODING 35272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +53E0 +5480 +5040 +3F80 +2080 +2480 +2480 +24A0 +1A20 +E3E0 +ENDCHAR +STARTCHAR U_89C9 +ENCODING 35273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +1280 +7FE0 +4020 +9F80 +1080 +1480 +1480 +14A0 +0A20 +73E0 +ENDCHAR +STARTCHAR U_89CA +ENCODING 35274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABE0 +AA20 +FAA0 +02A0 +FAA0 +0AA0 +7AA0 +4080 +51A0 +62A0 +44E0 +ENDCHAR +STARTCHAR U_89CB +ENCODING 35275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1220 +56A0 +56A0 +5AA0 +B2A0 +92A0 +1280 +1DA0 +E2A0 +4460 +ENDCHAR +STARTCHAR U_89CC +ENCODING 35276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FE20 +12A0 +FEA0 +56A0 +B2A0 +52A0 +F880 +11A0 +2AA0 +C4E0 +ENDCHAR +STARTCHAR U_89CD +ENCODING 35277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +2BE0 +FE20 +AAA0 +FEA0 +AAA0 +FEA0 +0180 +4980 +86A0 +0460 +ENDCHAR +STARTCHAR U_89CE +ENCODING 35278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +4620 +BAA0 +02A0 +EAA0 +AAA0 +EAA0 +AA80 +EBA0 +A2A0 +A6E0 +ENDCHAR +STARTCHAR U_89CF +ENCODING 35279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FE20 +52A0 +FAA0 +52A0 +FEA0 +AAA0 +F880 +A9A0 +FEA0 +98E0 +ENDCHAR +STARTCHAR U_89D0 +ENCODING 35280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FE20 +52A0 +22A0 +FAA0 +AAA0 +FAA0 +2080 +F8A0 +21A0 +FEE0 +ENDCHAR +STARTCHAR U_89D1 +ENCODING 35281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +2220 +FEA0 +A2A0 +FAA0 +A6A0 +BAA0 +AC80 +E9A0 +BAA0 +E4E0 +ENDCHAR +STARTCHAR U_89D2 +ENCODING 35282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1000 +1F00 +2200 +7FC0 +A440 +3FC0 +2440 +3FC0 +2440 +4540 +8080 +ENDCHAR +STARTCHAR U_89D3 +ENCODING 35283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +7920 +5120 +FD20 +5520 +7D20 +5560 +7FA0 +5520 +5420 +9420 +ENDCHAR +STARTCHAR U_89D4 +ENCODING 35284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3C80 +4880 +FFE0 +54A0 +7CA0 +54A0 +7CA0 +54A0 +5520 +9E60 +ENDCHAR +STARTCHAR U_89D5 +ENCODING 35285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +A3C0 +A480 +FFE0 +A4A0 +37E0 +64A0 +A7E0 +24A0 +24A0 +28E0 +ENDCHAR +STARTCHAR U_89D6 +ENCODING 35286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +53C0 +FD40 +5540 +7FE0 +5500 +7D80 +5540 +5620 +8C20 +ENDCHAR +STARTCHAR U_89D7 +ENCODING 35287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +7B80 +9280 +FA80 +ABE0 +FA80 +AA80 +FA80 +AAA0 +AB60 +9220 +ENDCHAR +STARTCHAR U_89D8 +ENCODING 35288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +9140 +FB20 +AB20 +FD40 +A940 +F880 +A900 +AA00 +9400 +ENDCHAR +STARTCHAR U_89D9 +ENCODING 35289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7920 +5140 +FD40 +5560 +7D20 +5520 +7DA0 +5640 +54A0 +9520 +ENDCHAR +STARTCHAR U_89DA +ENCODING 35290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +7FC0 +5540 +FD40 +5540 +7D40 +5540 +7D40 +55A0 +55E0 +9540 +ENDCHAR +STARTCHAR U_89DB +ENCODING 35291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +5220 +FE20 +57E0 +7E20 +5620 +7FE0 +5400 +5400 +9FE0 +ENDCHAR +STARTCHAR U_89DC +ENCODING 35292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +5F80 +5220 +FFE0 +1100 +3FC0 +2440 +3FC0 +2440 +7FC0 +84C0 +ENDCHAR +STARTCHAR U_89DD +ENCODING 35293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8020 +F3C0 +A280 +FA80 +ABE0 +FA80 +AA80 +FAA0 +AB60 +AAA0 +9CA0 +ENDCHAR +STARTCHAR U_89DE +ENCODING 35294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +F3E0 +A400 +FBC0 +A880 +FBE0 +A960 +FAA0 +AD20 +AA20 +9CC0 +ENDCHAR +STARTCHAR U_89DF +ENCODING 35295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +53E0 +FC80 +57E0 +7C80 +5480 +7FE0 +5480 +5480 +8FE0 +ENDCHAR +STARTCHAR U_89E0 +ENCODING 35296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +7FE0 +0800 +FFE0 +5240 +BFE0 +6440 +3FC0 +2440 +7FC0 +84C0 +ENDCHAR +STARTCHAR U_89E1 +ENCODING 35297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +5120 +FEC0 +5540 +7E20 +55E0 +7D20 +5520 +55E0 +8D20 +ENDCHAR +STARTCHAR U_89E2 +ENCODING 35298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F920 +2220 +FEC0 +2900 +3FC0 +6440 +3FC0 +2440 +3FC0 +C4C0 +ENDCHAR +STARTCHAR U_89E3 +ENCODING 35299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +7920 +5220 +FCC0 +5680 +7FE0 +5480 +7FE0 +5480 +5480 +8C80 +ENDCHAR +STARTCHAR U_89E4 +ENCODING 35300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BC0 +5240 +FFE0 +5400 +7DE0 +5520 +7D60 +5500 +5520 +8CE0 +ENDCHAR +STARTCHAR U_89E5 +ENCODING 35301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44A0 +7AA0 +52C0 +FC80 +57E0 +7D40 +5540 +7D40 +5540 +5640 +9460 +ENDCHAR +STARTCHAR U_89E6 +ENCODING 35302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +9080 +FBE0 +AAA0 +FAA0 +ABE0 +F880 +A8A0 +A8E0 +9BA0 +ENDCHAR +STARTCHAR U_89E7 +ENCODING 35303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +3D40 +4BE0 +FC80 +55C0 +7C80 +5480 +7FE0 +5480 +5480 +8C80 +ENDCHAR +STARTCHAR U_89E8 +ENCODING 35304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4880 +FC80 +57E0 +7C80 +57A0 +7DC0 +56A0 +54A0 +8D80 +ENDCHAR +STARTCHAR U_89E9 +ENCODING 35305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +38A0 +53E0 +FC80 +56A0 +7DA0 +54C0 +7DC0 +56A0 +54A0 +8D80 +ENDCHAR +STARTCHAR U_89EA +ENCODING 35306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3FE0 +4A20 +FD40 +57E0 +7C80 +5480 +7FE0 +5480 +5480 +8C80 +ENDCHAR +STARTCHAR U_89EB +ENCODING 35307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3BE0 +5080 +FFE0 +54A0 +7FE0 +5480 +7DC0 +56A0 +54A0 +8C80 +ENDCHAR +STARTCHAR U_89EC +ENCODING 35308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3A60 +5220 +FF60 +5620 +7E20 +57E0 +7D40 +5540 +5540 +8E60 +ENDCHAR +STARTCHAR U_89ED +ENCODING 35309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BE0 +9140 +FA20 +AFE0 +F820 +ABA0 +FAA0 +ABA0 +A820 +A860 +ENDCHAR +STARTCHAR U_89EE +ENCODING 35310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7840 +93C0 +F840 +AFE0 +F900 +AD40 +FB80 +AD40 +A920 +9B00 +ENDCHAR +STARTCHAR U_89EF +ENCODING 35311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7940 +53E0 +FEA0 +57E0 +7EA0 +57E0 +7E80 +57E0 +5480 +8C80 +ENDCHAR +STARTCHAR U_89F0 +ENCODING 35312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40A0 +7BE0 +50A0 +FFE0 +5480 +7DE0 +5720 +7DE0 +5520 +55E0 +8D20 +ENDCHAR +STARTCHAR U_89F1 +ENCODING 35313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +7FE0 +5500 +5D40 +41A0 +9EE0 +2420 +FFC0 +2240 +3FC0 +C2C0 +ENDCHAR +STARTCHAR U_89F2 +ENCODING 35314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7BE0 +5080 +FDE0 +5480 +7DE0 +5680 +7FE0 +5680 +57E0 +8C80 +ENDCHAR +STARTCHAR U_89F3 +ENCODING 35315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +1140 +FD40 +8660 +F800 +49C0 +7D40 +D540 +7C80 +5540 +8E20 +ENDCHAR +STARTCHAR U_89F4 +ENCODING 35316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +73E0 +A640 +FBC0 +AA40 +FFE0 +AA00 +FFE0 +AAA0 +AD20 +9AC0 +ENDCHAR +STARTCHAR U_89F5 +ENCODING 35317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7BE0 +9140 +FFE0 +A880 +FBE0 +AAA0 +FBE0 +AAA0 +ABE0 +9620 +ENDCHAR +STARTCHAR U_89F6 +ENCODING 35318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F5A0 +A7E0 +FAA0 +ABE0 +FAA0 +ABE0 +F880 +AFE0 +A880 +9880 +ENDCHAR +STARTCHAR U_89F7 +ENCODING 35319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6AC0 +4440 +6AC0 +FFE0 +9220 +3FC0 +6440 +3FC0 +2440 +3FC0 +44C0 +ENDCHAR +STARTCHAR U_89F8 +ENCODING 35320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +7D40 +AFC0 +F200 +AFE0 +F920 +AFE0 +FD60 +AFE0 +A920 +9FE0 +ENDCHAR +STARTCHAR U_89F9 +ENCODING 35321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +3BE0 +5480 +FFE0 +5480 +7FE0 +5400 +7F60 +55A0 +5420 +9460 +ENDCHAR +STARTCHAR U_89FA +ENCODING 35322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +73E0 +4940 +7FE0 +A280 +FAE0 +5780 +8960 +7FC0 +2440 +3FC0 +C440 +ENDCHAR +STARTCHAR U_89FB +ENCODING 35323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4520 +7BC0 +AEA0 +FBC0 +AEA0 +FBE0 +A900 +FFE0 +AB80 +AD40 +9920 +ENDCHAR +STARTCHAR U_89FC +ENCODING 35324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +77E0 +A6A0 +FFE0 +AA40 +FBC0 +AA40 +FBE0 +AE40 +A980 +AE60 +ENDCHAR +STARTCHAR U_89FD +ENCODING 35325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +5BE0 +9280 +27E0 +FA80 +ABE0 +F800 +AB60 +FAA0 +AA20 +AA60 +ENDCHAR +STARTCHAR U_89FE +ENCODING 35326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +77E0 +A240 +FBC0 +A800 +FFE0 +A940 +FFE0 +AD40 +AAA0 +9AA0 +ENDCHAR +STARTCHAR U_89FF +ENCODING 35327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44A0 +77E0 +A280 +FBE0 +AE80 +FBE0 +AA80 +FFE0 +AE60 +ADA0 +9DA0 +ENDCHAR +STARTCHAR U_8A00 +ENCODING 35328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0400 +FFE0 +0000 +3F80 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8A01 +ENCODING 35329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 0 -1 +BITMAP +20 +10 +FC +00 +78 +00 +78 +00 +78 +48 +78 +ENDCHAR +STARTCHAR U_8A02 +ENCODING 35330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +F7E0 +0080 +F080 +0080 +F080 +0080 +F080 +9080 +F080 +9380 +ENDCHAR +STARTCHAR U_8A03 +ENCODING 35331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FD00 +0100 +7900 +0180 +7940 +0120 +7920 +4900 +7900 +4900 +ENDCHAR +STARTCHAR U_8A04 +ENCODING 35332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +27E0 +F800 +2BC0 +2800 +2BC0 +2A40 +2BC0 +4820 +87E0 +ENDCHAR +STARTCHAR U_8A05 +ENCODING 35333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FA00 +0780 +7280 +0280 +7280 +0280 +7280 +54A0 +7860 +ENDCHAR +STARTCHAR U_8A06 +ENCODING 35334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +2120 +FD20 +0120 +7920 +0120 +79E0 +0120 +7820 +4820 +7820 +ENDCHAR +STARTCHAR U_8A07 +ENCODING 35335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4820 +8420 +3F20 +0020 +3F20 +0020 +3F20 +2120 +3FC0 +ENDCHAR +STARTCHAR U_8A08 +ENCODING 35336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1080 +FC80 +0080 +7FE0 +0080 +7880 +0080 +7880 +4880 +7880 +ENDCHAR +STARTCHAR U_8A09 +ENCODING 35337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2380 +FE80 +0280 +7A80 +0380 +7A80 +0280 +7AA0 +4AA0 +7C60 +ENDCHAR +STARTCHAR U_8A0A +ENCODING 35338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +F240 +0240 +F240 +0240 +FFC0 +0240 +F240 +9260 +F260 +9220 +ENDCHAR +STARTCHAR U_8A0B +ENCODING 35339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FBE0 +0420 +7820 +0220 +7920 +0120 +7820 +4820 +78C0 +ENDCHAR +STARTCHAR U_8A0C +ENCODING 35340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +F7E0 +0100 +F100 +0100 +F100 +0100 +F100 +9100 +F100 +9FE0 +ENDCHAR +STARTCHAR U_8A0D +ENCODING 35341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +FA20 +0320 +7AA0 +0140 +7940 +0080 +7980 +4A40 +7C20 +ENDCHAR +STARTCHAR U_8A0E +ENCODING 35342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +1040 +FC40 +03E0 +7840 +0240 +7940 +0040 +7840 +4840 +78C0 +ENDCHAR +STARTCHAR U_8A0F +ENCODING 35343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +1080 +F880 +0080 +7FE0 +0080 +7880 +0080 +7880 +4880 +7980 +ENDCHAR +STARTCHAR U_8A10 +ENCODING 35344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2080 +F880 +0080 +7FE0 +0080 +7880 +0080 +7880 +4880 +7880 +ENDCHAR +STARTCHAR U_8A11 +ENCODING 35345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +F2A0 +02E0 +F3A0 +0EA0 +F2A0 +02E0 +F280 +9220 +F220 +91E0 +ENDCHAR +STARTCHAR U_8A12 +ENCODING 35346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F0A0 +00A0 +F2A0 +02A0 +F2A0 +04A0 +F120 +9120 +F2E0 +9440 +ENDCHAR +STARTCHAR U_8A13 +ENCODING 35347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +F2A0 +02A0 +F2A0 +02A0 +F2A0 +02A0 +F2A0 +92A0 +F420 +9820 +ENDCHAR +STARTCHAR U_8A14 +ENCODING 35348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +4440 +7FC0 +0400 +FFE0 +0000 +7FC0 +0000 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_8A15 +ENCODING 35349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +F080 +0080 +F4A0 +04A0 +F4A0 +04A0 +F4A0 +94A0 +F7E0 +9420 +ENDCHAR +STARTCHAR U_8A16 +ENCODING 35350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F3E0 +0400 +F800 +07C0 +F080 +0100 +F200 +9420 +F420 +93E0 +ENDCHAR +STARTCHAR U_8A17 +ENCODING 35351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +F700 +0100 +F100 +01E0 +F700 +0100 +F100 +9120 +F120 +90E0 +ENDCHAR +STARTCHAR U_8A18 +ENCODING 35352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +F7C0 +0040 +F040 +07C0 +F440 +0400 +F400 +9420 +F420 +93E0 +ENDCHAR +STARTCHAR U_8A19 +ENCODING 35353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FF80 +0280 +7A80 +0680 +7B80 +0280 +7AA0 +4C60 +7820 +ENDCHAR +STARTCHAR U_8A1A +ENCODING 35354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +BF80 +0880 +BE80 +8080 +BE80 +8080 +BE80 +8080 +BE80 +A280 +BF80 +ENDCHAR +STARTCHAR U_8A1B +ENCODING 35355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +F280 +04A0 +F4A0 +0CC0 +F480 +0580 +F680 +94A0 +F4A0 +9460 +ENDCHAR +STARTCHAR U_8A1C +ENCODING 35356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2280 +FA40 +0440 +F820 +07C0 +F240 +0240 +F240 +9440 +F8C0 +ENDCHAR +STARTCHAR U_8A1D +ENCODING 35357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F040 +0240 +F240 +07E0 +F0C0 +0140 +F240 +9440 +F940 +9080 +ENDCHAR +STARTCHAR U_8A1E +ENCODING 35358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +F780 +0100 +F100 +0FE0 +F100 +0100 +F280 +9280 +F440 +9820 +ENDCHAR +STARTCHAR U_8A1F +ENCODING 35359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +F280 +0280 +F440 +0440 +F920 +0100 +F200 +9240 +F440 +9FE0 +ENDCHAR +STARTCHAR U_8A20 +ENCODING 35360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4720 +2120 +F920 +0720 +7420 +0420 +7720 +0120 +7120 +5520 +7220 +ENDCHAR +STARTCHAR U_8A21 +ENCODING 35361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FA80 +0440 +7920 +0080 +77E0 +0040 +7080 +5080 +7100 +ENDCHAR +STARTCHAR U_8A22 +ENCODING 35362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +F780 +0400 +F400 +07E0 +F480 +0480 +F480 +9480 +F880 +9080 +ENDCHAR +STARTCHAR U_8A23 +ENCODING 35363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +07C0 +F140 +0140 +F7E0 +0100 +F100 +9280 +F440 +9820 +ENDCHAR +STARTCHAR U_8A24 +ENCODING 35364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +F900 +0280 +7460 +0000 +7C40 +0280 +7100 +5280 +7C60 +ENDCHAR +STARTCHAR U_8A25 +ENCODING 35365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +07E0 +F520 +0520 +F5A0 +0560 +F620 +9420 +F420 +94E0 +ENDCHAR +STARTCHAR U_8A26 +ENCODING 35366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +0920 +7100 +0280 +7280 +0280 +74A0 +54A0 +78E0 +ENDCHAR +STARTCHAR U_8A27 +ENCODING 35367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +F120 +0100 +FFE0 +0100 +F180 +0180 +F280 +92A0 +F4A0 +9860 +ENDCHAR +STARTCHAR U_8A28 +ENCODING 35368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F900 +0500 +7500 +05E0 +7500 +0500 +7500 +5500 +7FE0 +ENDCHAR +STARTCHAR U_8A29 +ENCODING 35369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2420 +FC60 +06A0 +7520 +0520 +76A0 +0460 +7420 +57E0 +7420 +ENDCHAR +STARTCHAR U_8A2A +ENCODING 35370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F080 +0FE0 +F200 +0200 +F3C0 +0240 +F240 +9240 +F540 +9880 +ENDCHAR +STARTCHAR U_8A2B +ENCODING 35371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2100 +F880 +0080 +7200 +0240 +7620 +0A20 +7240 +5240 +71C0 +ENDCHAR +STARTCHAR U_8A2C +ENCODING 35372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +F080 +02C0 +F2A0 +04A0 +F480 +00A0 +F040 +9080 +F300 +9C00 +ENDCHAR +STARTCHAR U_8A2D +ENCODING 35373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +F480 +0480 +F4E0 +0800 +F7C0 +0440 +F280 +9100 +F280 +9C60 +ENDCHAR +STARTCHAR U_8A2E +ENCODING 35374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2240 +FA40 +0FE0 +7240 +0240 +7240 +0240 +7240 +5440 +7840 +ENDCHAR +STARTCHAR U_8A2F +ENCODING 35375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +FA20 +0240 +7A80 +02E0 +7B20 +02A0 +7A40 +4CA0 +7D20 +ENDCHAR +STARTCHAR U_8A30 +ENCODING 35376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +0FE0 +F100 +0540 +F540 +07C0 +F100 +9120 +F120 +90E0 +ENDCHAR +STARTCHAR U_8A31 +ENCODING 35377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F200 +03E0 +F480 +0080 +F7E0 +0080 +F080 +9080 +F080 +9080 +ENDCHAR +STARTCHAR U_8A32 +ENCODING 35378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +4100 +2100 +F900 +07C0 +7540 +0540 +77C0 +0100 +7100 +5100 +7100 +ENDCHAR +STARTCHAR U_8A33 +ENCODING 35379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +FC40 +0440 +F7C0 +0500 +F500 +0480 +F480 +9440 +F820 +ENDCHAR +STARTCHAR U_8A34 +ENCODING 35380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +F700 +0400 +F400 +07E0 +F480 +0480 +F4C0 +94A0 +F480 +9880 +ENDCHAR +STARTCHAR U_8A35 +ENCODING 35381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +EAA0 +0AA0 +EAA0 +0AA0 +EAA0 +0AA0 +EC60 +A820 +EFE0 +ENDCHAR +STARTCHAR U_8A36 +ENCODING 35382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F040 +0040 +F740 +0540 +F540 +0740 +F540 +9040 +F140 +9080 +ENDCHAR +STARTCHAR U_8A37 +ENCODING 35383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F900 +07E0 +7520 +07E0 +7520 +07E0 +7100 +5100 +7100 +ENDCHAR +STARTCHAR U_8A38 +ENCODING 35384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +F900 +0100 +7FE0 +0380 +7380 +0540 +7540 +5920 +7100 +ENDCHAR +STARTCHAR U_8A39 +ENCODING 35385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +F120 +0FE0 +F100 +0380 +F380 +0540 +F540 +9920 +F100 +9100 +ENDCHAR +STARTCHAR U_8A3A +ENCODING 35386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F280 +0440 +F920 +0200 +F480 +0120 +F640 +9080 +F100 +9600 +ENDCHAR +STARTCHAR U_8A3B +ENCODING 35387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F100 +0FE0 +F100 +0100 +F100 +07C0 +F100 +9100 +F100 +9FE0 +ENDCHAR +STARTCHAR U_8A3C +ENCODING 35388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F100 +0100 +F100 +0500 +F5E0 +0500 +F500 +9500 +F500 +9FE0 +ENDCHAR +STARTCHAR U_8A3D +ENCODING 35389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +FA20 +0420 +73A0 +02A0 +72A0 +02A0 +73A0 +5020 +70E0 +ENDCHAR +STARTCHAR U_8A3E +ENCODING 35390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +5320 +FFE0 +0400 +FFE0 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8A3F +ENCODING 35391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +F280 +0280 +FAA0 +0BC0 +FA80 +0A80 +FA80 +9BA0 +FEA0 +9060 +ENDCHAR +STARTCHAR U_8A40 +ENCODING 35392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +00E0 +7880 +0080 +7BE0 +0220 +7A20 +4A20 +7BE0 +4A20 +ENDCHAR +STARTCHAR U_8A41 +ENCODING 35393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +0100 +FFE0 +0100 +F100 +07C0 +F440 +9440 +F7C0 +9440 +ENDCHAR +STARTCHAR U_8A42 +ENCODING 35394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2240 +F440 +0DE0 +7440 +0540 +74C0 +0440 +7440 +5440 +74C0 +ENDCHAR +STARTCHAR U_8A43 +ENCODING 35395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +F7E0 +0100 +7200 +0440 +7780 +0100 +7240 +5420 +77E0 +ENDCHAR +STARTCHAR U_8A44 +ENCODING 35396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F500 +07C0 +F900 +0100 +FFE0 +0100 +F100 +9280 +F440 +9820 +ENDCHAR +STARTCHAR U_8A45 +ENCODING 35397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +0280 +F440 +0920 +F080 +07E0 +F040 +9280 +F100 +9080 +ENDCHAR +STARTCHAR U_8A46 +ENCODING 35398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +F780 +0480 +F480 +07E0 +F480 +0480 +F480 +95A0 +F760 +94A0 +ENDCHAR +STARTCHAR U_8A47 +ENCODING 35399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFC0 +0540 +7540 +0540 +7FE0 +0100 +7280 +5440 +7820 +ENDCHAR +STARTCHAR U_8A48 +ENCODING 35400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +7FC0 +0400 +FFE0 +0000 +3FC0 +0000 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_8A49 +ENCODING 35401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +25C0 +FF40 +0540 +7540 +0540 +7540 +0580 +7280 +5540 +7A20 +ENDCHAR +STARTCHAR U_8A4A +ENCODING 35402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +F540 +0100 +F7C0 +0100 +F100 +0FE0 +F100 +9100 +F100 +9100 +ENDCHAR +STARTCHAR U_8A4B +ENCODING 35403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +FC40 +0440 +7440 +07C0 +7280 +0280 +7280 +54A0 +78E0 +ENDCHAR +STARTCHAR U_8A4C +ENCODING 35404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +F240 +07E0 +F240 +0240 +F240 +03C0 +F240 +9240 +F3C0 +9240 +ENDCHAR +STARTCHAR U_8A4D +ENCODING 35405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +F540 +0540 +FFE0 +0540 +F540 +0540 +F5C0 +9400 +F400 +97E0 +ENDCHAR +STARTCHAR U_8A4E +ENCODING 35406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F400 +0400 +F7C0 +0440 +F440 +07C0 +F440 +9400 +F400 +97E0 +ENDCHAR +STARTCHAR U_8A4F +ENCODING 35407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +F280 +0480 +F9E0 +0EA0 +F4A0 +0AA0 +FFA0 +9120 +F220 +94C0 +ENDCHAR +STARTCHAR U_8A50 +ENCODING 35408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F200 +03E0 +F500 +09E0 +F100 +0100 +F1E0 +9100 +F100 +9100 +ENDCHAR +STARTCHAR U_8A51 +ENCODING 35409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F100 +0FE0 +F820 +0200 +F240 +0280 +F300 +9220 +F220 +91E0 +ENDCHAR +STARTCHAR U_8A52 +ENCODING 35410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +0200 +F440 +0FE0 +F000 +07C0 +F440 +9440 +F7C0 +9440 +ENDCHAR +STARTCHAR U_8A53 +ENCODING 35411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFC0 +0100 +7100 +0FE0 +7100 +0100 +7240 +5420 +77E0 +ENDCHAR +STARTCHAR U_8A54 +ENCODING 35412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F120 +0120 +F220 +04E0 +F040 +03E0 +F220 +9220 +F3E0 +9220 +ENDCHAR +STARTCHAR U_8A55 +ENCODING 35413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F100 +0520 +F340 +0100 +FFE0 +0100 +F100 +9100 +F100 +9100 +ENDCHAR +STARTCHAR U_8A56 +ENCODING 35414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +07E0 +F520 +0500 +F7E0 +0640 +F540 +9480 +F940 +9620 +ENDCHAR +STARTCHAR U_8A57 +ENCODING 35415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F820 +0820 +FBA0 +0AA0 +FAA0 +0BA0 +FAA0 +9820 +F820 +98E0 +ENDCHAR +STARTCHAR U_8A58 +ENCODING 35416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +F080 +04A0 +F4A0 +07E0 +F080 +04A0 +F4A0 +94A0 +F7E0 +9420 +ENDCHAR +STARTCHAR U_8A59 +ENCODING 35417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +F240 +0FE0 +F200 +0200 +F3C0 +0240 +F540 +9480 +F940 +9220 +ENDCHAR +STARTCHAR U_8A5A +ENCODING 35418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +23C0 +FA40 +0240 +73C0 +0240 +7240 +03C0 +7240 +5000 +77E0 +ENDCHAR +STARTCHAR U_8A5B +ENCODING 35419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +F240 +0240 +F240 +03C0 +F240 +0240 +F3C0 +9240 +F240 +9FE0 +ENDCHAR +STARTCHAR U_8A5C +ENCODING 35420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2540 +FD40 +07C0 +7100 +07C0 +7440 +0280 +7100 +5280 +7C60 +ENDCHAR +STARTCHAR U_8A5D +ENCODING 35421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +FFE0 +0420 +7000 +07E0 +7080 +0080 +7080 +5080 +7380 +ENDCHAR +STARTCHAR U_8A5E +ENCODING 35422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F020 +07A0 +F020 +07A0 +F4A0 +04A0 +F7A0 +94A0 +F020 +9060 +ENDCHAR +STARTCHAR U_8A5F +ENCODING 35423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +7FE0 +0A80 +1320 +25E0 +C200 +7FC0 +0000 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_8A60 +ENCODING 35424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +F700 +0120 +FF40 +0380 +F580 +0540 +F940 +9120 +F300 +ENDCHAR +STARTCHAR U_8A61 +ENCODING 35425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F120 +05A0 +F360 +0120 +F160 +03A0 +F520 +9120 +F120 +9360 +ENDCHAR +STARTCHAR U_8A62 +ENCODING 35426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +F7E0 +0820 +F7A0 +04A0 +F7A0 +04A0 +F4A0 +97A0 +F020 +9060 +ENDCHAR +STARTCHAR U_8A63 +ENCODING 35427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +F480 +0720 +F420 +03E0 +F000 +07E0 +F420 +97E0 +F420 +97E0 +ENDCHAR +STARTCHAR U_8A64 +ENCODING 35428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +FD40 +0400 +77E0 +0000 +7540 +0540 +7540 +5540 +7960 +ENDCHAR +STARTCHAR U_8A65 +ENCODING 35429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FA80 +0440 +7820 +07C0 +7000 +07C0 +7440 +5440 +77C0 +ENDCHAR +STARTCHAR U_8A66 +ENCODING 35430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +F0A0 +0FE0 +F080 +0780 +F280 +0280 +F280 +93A0 +FC60 +9020 +ENDCHAR +STARTCHAR U_8A67 +ENCODING 35431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BC0 +4A40 +A940 +5480 +2F40 +4020 +7FC0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8A68 +ENCODING 35432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +FFE0 +0240 +F420 +0A40 +F240 +0180 +F180 +9240 +FC20 +ENDCHAR +STARTCHAR U_8A69 +ENCODING 35433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7C0 +0100 +F7E0 +0040 +F040 +07E0 +F240 +9140 +F040 +90C0 +ENDCHAR +STARTCHAR U_8A6A +ENCODING 35434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +FC40 +07C0 +7440 +07C0 +7520 +0540 +7480 +5540 +7620 +ENDCHAR +STARTCHAR U_8A6B +ENCODING 35435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7E0 +0420 +F0C0 +0700 +F100 +01E0 +F700 +9120 +F120 +90E0 +ENDCHAR +STARTCHAR U_8A6C +ENCODING 35436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +F700 +0400 +F7E0 +0400 +F400 +05E0 +F520 +9520 +F5E0 +9920 +ENDCHAR +STARTCHAR U_8A6D +ENCODING 35437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F3C0 +0480 +FFE0 +0400 +F5C0 +0540 +F5C0 +9520 +F520 +98E0 +ENDCHAR +STARTCHAR U_8A6E +ENCODING 35438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F280 +0440 +F820 +07C0 +F100 +0100 +F7C0 +9100 +F100 +9FE0 +ENDCHAR +STARTCHAR U_8A6F +ENCODING 35439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +FFE0 +0220 +7BE0 +0220 +7A20 +03E0 +7A20 +4A20 +7BE0 +ENDCHAR +STARTCHAR U_8A70 +ENCODING 35440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +0FE0 +F100 +07C0 +F000 +07C0 +F440 +9440 +F7C0 +9440 +ENDCHAR +STARTCHAR U_8A71 +ENCODING 35441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +F700 +0100 +FFE0 +0100 +F100 +07C0 +F440 +9440 +F7C0 +9440 +ENDCHAR +STARTCHAR U_8A72 +ENCODING 35442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0200 +F440 +0E80 +F120 +0240 +FC80 +9180 +F260 +9C20 +ENDCHAR +STARTCHAR U_8A73 +ENCODING 35443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +F280 +0FE0 +F100 +07C0 +F100 +0100 +FFE0 +9100 +F100 +9100 +ENDCHAR +STARTCHAR U_8A74 +ENCODING 35444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7E0 +0200 +F3E0 +0620 +FBE0 +0220 +F3E0 +9220 +F220 +9260 +ENDCHAR +STARTCHAR U_8A75 +ENCODING 35445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F500 +07E0 +F900 +0100 +FFE0 +0280 +F280 +92A0 +F2A0 +9460 +ENDCHAR +STARTCHAR U_8A76 +ENCODING 35446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +F2A0 +02A0 +F2A0 +07E0 +FAA0 +02A0 +F2A0 +92A0 +F4A0 +98A0 +ENDCHAR +STARTCHAR U_8A77 +ENCODING 35447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F820 +0BA0 +F820 +0BA0 +FAA0 +0AA0 +FBA0 +9820 +F820 +9860 +ENDCHAR +STARTCHAR U_8A78 +ENCODING 35448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2540 +FB80 +0100 +FFE0 +0100 +F380 +0380 +F540 +9920 +F100 +ENDCHAR +STARTCHAR U_8A79 +ENCODING 35449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +1100 +3FE0 +6A40 +BFE0 +2000 +2FC0 +2000 +2FC0 +4840 +8FC0 +ENDCHAR +STARTCHAR U_8A7A +ENCODING 35450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F1E0 +0220 +F540 +0080 +F100 +07E0 +F220 +9220 +F3E0 +9220 +ENDCHAR +STARTCHAR U_8A7B +ENCODING 35451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F3C0 +0640 +F980 +0180 +F240 +07E0 +F240 +9240 +F3C0 +9240 +ENDCHAR +STARTCHAR U_8A7C +ENCODING 35452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F200 +0FE0 +F280 +0280 +F2A0 +05C0 +F480 +9940 +F240 +9420 +ENDCHAR +STARTCHAR U_8A7D +ENCODING 35453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2EE0 +F440 +0440 +7EE0 +0440 +7440 +0440 +7440 +5440 +7840 +ENDCHAR +STARTCHAR U_8A7E +ENCODING 35454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +FDE0 +0020 +7660 +05A0 +75A0 +0660 +77E0 +5020 +7060 +ENDCHAR +STARTCHAR U_8A7F +ENCODING 35455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7C0 +0100 +F100 +0FE0 +F100 +0100 +F7C0 +9100 +F100 +9FE0 +ENDCHAR +STARTCHAR U_8A80 +ENCODING 35456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +FA40 +03C0 +7A40 +0240 +7BC0 +0240 +7BE0 +4E40 +7840 +ENDCHAR +STARTCHAR U_8A81 +ENCODING 35457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +F280 +0FE0 +F280 +0280 +FFE0 +0280 +F280 +9280 +F480 +9880 +ENDCHAR +STARTCHAR U_8A82 +ENCODING 35458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +F2A0 +0AC0 +F680 +0280 +F6C0 +0AA0 +F280 +92A0 +F4A0 +9860 +ENDCHAR +STARTCHAR U_8A83 +ENCODING 35459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F3E0 +0540 +F080 +0180 +F6E0 +0120 +F6A0 +9040 +F180 +9600 +ENDCHAR +STARTCHAR U_8A84 +ENCODING 35460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0100 +F7C0 +0100 +FFE0 +0100 +F380 +9540 +F920 +9120 +ENDCHAR +STARTCHAR U_8A85 +ENCODING 35461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F500 +07C0 +F900 +0100 +FFE0 +0100 +F380 +9540 +F920 +9100 +ENDCHAR +STARTCHAR U_8A86 +ENCODING 35462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F800 +0BE0 +F880 +0880 +FBE0 +0880 +F880 +9BE0 +F800 +9FE0 +ENDCHAR +STARTCHAR U_8A87 +ENCODING 35463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0280 +F440 +0BA0 +F000 +0FE0 +F200 +97C0 +F040 +9380 +ENDCHAR +STARTCHAR U_8A88 +ENCODING 35464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27E0 +F900 +0240 +77E0 +0100 +7100 +07E0 +7100 +5100 +77E0 +ENDCHAR +STARTCHAR U_8A89 +ENCODING 35465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +1500 +FFE0 +2500 +7FC0 +8020 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8A8A +ENCODING 35466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +7FC0 +0800 +FFE0 +2480 +DF60 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8A8B +ENCODING 35467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F040 +07C0 +F400 +0420 +F3E0 +0100 +F2C0 +9620 +FA40 +91C0 +ENDCHAR +STARTCHAR U_8A8C +ENCODING 35468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +0FE0 +F100 +07C0 +F100 +0080 +F220 +9620 +FA40 +91C0 +ENDCHAR +STARTCHAR U_8A8D +ENCODING 35469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F920 +0520 +F520 +02E0 +F440 +0300 +F2A0 +9620 +FA40 +91C0 +ENDCHAR +STARTCHAR U_8A8E +ENCODING 35470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +0100 +77C0 +0540 +77C0 +0100 +7380 +5540 +7920 +ENDCHAR +STARTCHAR U_8A8F +ENCODING 35471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7C0 +0440 +F7C0 +0440 +F7C0 +0520 +F540 +9480 +F540 +9620 +ENDCHAR +STARTCHAR U_8A90 +ENCODING 35472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +26C0 +FAA0 +0FE0 +7280 +03A0 +76A0 +0AC0 +7280 +5AC0 +7520 +ENDCHAR +STARTCHAR U_8A91 +ENCODING 35473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +F640 +0440 +FA40 +0240 +F7E0 +0A40 +F240 +9240 +F240 +9DE0 +ENDCHAR +STARTCHAR U_8A92 +ENCODING 35474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F200 +0440 +FFA0 +0400 +F7E0 +0900 +FFE0 +9280 +F440 +9820 +ENDCHAR +STARTCHAR U_8A93 +ENCODING 35475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +2400 +F7E0 +2880 +FFE0 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8A94 +ENCODING 35476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2E60 +FB80 +0280 +75E0 +0E80 +7280 +0A80 +77E0 +5400 +7BE0 +ENDCHAR +STARTCHAR U_8A95 +ENCODING 35477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +FDC0 +0440 +F540 +0960 +F540 +0540 +F7E0 +9C00 +F600 +99E0 +ENDCHAR +STARTCHAR U_8A96 +ENCODING 35478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7C0 +0100 +FFE0 +0820 +F7C0 +0080 +FFE0 +9100 +F100 +9300 +ENDCHAR +STARTCHAR U_8A97 +ENCODING 35479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8320 +5CA0 +E4A0 +1FA0 +E4A0 +0EA0 +EDA0 +14A0 +E420 +A420 +E460 +ENDCHAR +STARTCHAR U_8A98 +ENCODING 35480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +F700 +0100 +FFE0 +0540 +F920 +07C0 +F280 +92E0 +F420 +98C0 +ENDCHAR +STARTCHAR U_8A99 +ENCODING 35481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F000 +0540 +FA80 +0540 +F000 +0FE0 +F100 +9100 +F100 +9FE0 +ENDCHAR +STARTCHAR U_8A9A +ENCODING 35482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +F540 +0100 +F7E0 +0420 +F7E0 +0420 +F7E0 +9420 +F420 +94E0 +ENDCHAR +STARTCHAR U_8A9B +ENCODING 35483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2040 +FBC0 +0040 +7FE0 +0820 +77C0 +0440 +7280 +5100 +7EE0 +ENDCHAR +STARTCHAR U_8A9C +ENCODING 35484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2240 +F7E0 +0280 +7440 +0A20 +73C0 +0640 +7980 +5180 +7660 +ENDCHAR +STARTCHAR U_8A9D +ENCODING 35485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FA80 +0540 +7BA0 +0080 +7100 +07C0 +7440 +57C0 +7440 +ENDCHAR +STARTCHAR U_8A9E +ENCODING 35486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F100 +07C0 +F240 +0240 +F7E0 +0000 +F7C0 +9440 +F7C0 +9440 +ENDCHAR +STARTCHAR U_8A9F +ENCODING 35487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4120 +27A0 +F940 +07E0 +7100 +03C0 +7440 +0880 +77E0 +5080 +7180 +ENDCHAR +STARTCHAR U_8AA0 +ENCODING 35488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +F0A0 +0FE0 +F880 +0880 +FEA0 +0AA0 +FAC0 +9A80 +FD60 +9220 +ENDCHAR +STARTCHAR U_8AA1 +ENCODING 35489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +F0A0 +0FE0 +F080 +0A80 +FAA0 +0FA0 +FAC0 +9AA0 +F160 +9220 +ENDCHAR +STARTCHAR U_8AA2 +ENCODING 35490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FFC0 +0440 +77C0 +0440 +77C0 +0280 +72A0 +54A0 +7860 +ENDCHAR +STARTCHAR U_8AA3 +ENCODING 35491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F100 +0540 +F540 +0540 +F540 +0BA0 +F920 +9100 +F100 +9FE0 +ENDCHAR +STARTCHAR U_8AA4 +ENCODING 35492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F440 +0440 +F7C0 +0000 +F7C0 +0100 +FFE0 +9280 +F440 +9820 +ENDCHAR +STARTCHAR U_8AA5 +ENCODING 35493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F500 +07C0 +F900 +0100 +F7E0 +0000 +F7C0 +9440 +F7C0 +9440 +ENDCHAR +STARTCHAR U_8AA6 +ENCODING 35494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F240 +0180 +F7E0 +04A0 +F7E0 +04A0 +F7E0 +94A0 +F4A0 +9460 +ENDCHAR +STARTCHAR U_8AA7 +ENCODING 35495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +F7E0 +0100 +F7E0 +0520 +F7E0 +0520 +F7E0 +9520 +F520 +9560 +ENDCHAR +STARTCHAR U_8AA8 +ENCODING 35496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +F7E0 +0800 +F7C0 +0540 +FFE0 +0540 +F540 +97E0 +F040 +9180 +ENDCHAR +STARTCHAR U_8AA9 +ENCODING 35497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2080 +FBE0 +0000 +7BC0 +0000 +7BC0 +0000 +7BC0 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_8AAA +ENCODING 35498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +F280 +0440 +FFE0 +0440 +F440 +07C0 +F280 +92A0 +F4A0 +9860 +ENDCHAR +STARTCHAR U_8AAB +ENCODING 35499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F800 +0BC0 +F800 +0FE0 +FA80 +0AA0 +FAC0 +9A80 +F340 +9220 +ENDCHAR +STARTCHAR U_8AAC +ENCODING 35500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +FFC0 +0440 +7440 +07C0 +7280 +0280 +72A0 +54A0 +7860 +ENDCHAR +STARTCHAR U_8AAD +ENCODING 35501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +F900 +0380 +7000 +0FE0 +7820 +0280 +7280 +54A0 +78E0 +ENDCHAR +STARTCHAR U_8AAE +ENCODING 35502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +FFE0 +0280 +7400 +0CA0 +74C0 +0580 +7480 +54A0 +74E0 +ENDCHAR +STARTCHAR U_8AAF +ENCODING 35503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2240 +FBC0 +0240 +73C0 +0000 +77E0 +0420 +77E0 +5420 +77E0 +ENDCHAR +STARTCHAR U_8AB0 +ENCODING 35504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +F480 +07E0 +F480 +0FE0 +F480 +0480 +F7E0 +9480 +F7E0 +9400 +ENDCHAR +STARTCHAR U_8AB1 +ENCODING 35505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +F900 +07C0 +7140 +07E0 +7140 +07C0 +7500 +5700 +7DE0 +ENDCHAR +STARTCHAR U_8AB2 +ENCODING 35506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F520 +07E0 +F520 +07E0 +F100 +0FE0 +F100 +9380 +F540 +9920 +ENDCHAR +STARTCHAR U_8AB3 +ENCODING 35507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +2220 +FFE0 +0280 +7AA0 +03E0 +7A80 +02A0 +7AA0 +4AA0 +7FE0 +ENDCHAR +STARTCHAR U_8AB4 +ENCODING 35508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F820 +07C0 +7000 +07C0 +7100 +0380 +7540 +5920 +7300 +ENDCHAR +STARTCHAR U_8AB5 +ENCODING 35509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2180 +FA40 +0100 +77E0 +0220 +77E0 +0A20 +73E0 +5220 +7220 +ENDCHAR +STARTCHAR U_8AB6 +ENCODING 35510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0440 +F440 +0AA0 +F920 +0100 +FFE0 +9100 +F100 +9100 +ENDCHAR +STARTCHAR U_8AB7 +ENCODING 35511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2660 +FDA0 +07E0 +74A0 +07E0 +7520 +0520 +75E0 +5420 +7460 +ENDCHAR +STARTCHAR U_8AB8 +ENCODING 35512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E80 +F240 +03E0 +FE40 +0880 +FFA0 +0240 +F240 +92A0 +FFE0 +9420 +ENDCHAR +STARTCHAR U_8AB9 +ENCODING 35513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +F280 +0EE0 +F280 +0EE0 +F280 +0280 +FEE0 +9280 +F280 +9280 +ENDCHAR +STARTCHAR U_8ABA +ENCODING 35514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0100 +F540 +0540 +FBA0 +0120 +F380 +9540 +F920 +9120 +ENDCHAR +STARTCHAR U_8ABB +ENCODING 35515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4120 +FF40 +0580 +F540 +0920 +F7C0 +0440 +F7C0 +9440 +F7C0 +9440 +ENDCHAR +STARTCHAR U_8ABC +ENCODING 35516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F100 +07E0 +F420 +03C0 +F240 +03C0 +F240 +93C0 +F240 +9FE0 +ENDCHAR +STARTCHAR U_8ABD +ENCODING 35517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +FCE0 +0820 +FEE0 +0820 +FFE0 +0280 +F280 +92A0 +F4A0 +9860 +ENDCHAR +STARTCHAR U_8ABE +ENCODING 35518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +8020 +9F20 +8020 +9F20 +9120 +9F60 +ENDCHAR +STARTCHAR U_8ABF +ENCODING 35519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F420 +0520 +F7A0 +0520 +F7E0 +0420 +F7A0 +96A0 +F7A0 +9860 +ENDCHAR +STARTCHAR U_8AC0 +ENCODING 35520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7E0 +0520 +F7E0 +0520 +F7E0 +0280 +FFE0 +9080 +F080 +9080 +ENDCHAR +STARTCHAR U_8AC1 +ENCODING 35521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2EE0 +FAA0 +0440 +7AA0 +0000 +7EE0 +0AA0 +7AA0 +5440 +7AA0 +ENDCHAR +STARTCHAR U_8AC2 +ENCODING 35522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F3E0 +0240 +F480 +0900 +F660 +0420 +F6E0 +9420 +F7E0 +9420 +ENDCHAR +STARTCHAR U_8AC3 +ENCODING 35523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +F480 +0FE0 +F480 +0480 +FEC0 +0DA0 +F6A0 +9480 +F480 +9480 +ENDCHAR +STARTCHAR U_8AC4 +ENCODING 35524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0440 +F7C0 +0000 +F7C0 +0080 +F100 +9FE0 +F100 +9300 +ENDCHAR +STARTCHAR U_8AC5 +ENCODING 35525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +1300 +FFE0 +2480 +DF60 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8AC6 +ENCODING 35526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +F7E0 +0240 +F3C0 +0240 +F3C0 +0240 +FFE0 +9000 +F240 +9420 +ENDCHAR +STARTCHAR U_8AC7 +ENCODING 35527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4120 +F540 +0580 +F980 +0240 +F520 +0520 +F540 +9A80 +F440 +9820 +ENDCHAR +STARTCHAR U_8AC8 +ENCODING 35528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +FF00 +0100 +FFE0 +0540 +FFE0 +0540 +FFE0 +9100 +F100 +97C0 +ENDCHAR +STARTCHAR U_8AC9 +ENCODING 35529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +F700 +0100 +FFE0 +0540 +F920 +0FE0 +F240 +9480 +F380 +9C60 +ENDCHAR +STARTCHAR U_8ACA +ENCODING 35530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +F920 +0560 +F3A0 +07E0 +F120 +03A0 +F560 +9920 +F160 +ENDCHAR +STARTCHAR U_8ACB +ENCODING 35531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0100 +F7C0 +0100 +FFE0 +0440 +F7C0 +9440 +F7C0 +9440 +ENDCHAR +STARTCHAR U_8ACC +ENCODING 35532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F100 +07C0 +F540 +07C0 +F540 +07C0 +F380 +9540 +F920 +ENDCHAR +STARTCHAR U_8ACD +ENCODING 35533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +F480 +0900 +F7C0 +0140 +FFE0 +0140 +F7C0 +9100 +F100 +9300 +ENDCHAR +STARTCHAR U_8ACE +ENCODING 35534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +27C0 +FA80 +0280 +FFE0 +0000 +F7C0 +0440 +F7C0 +9440 +F7C0 +ENDCHAR +STARTCHAR U_8ACF +ENCODING 35535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F00 +EAE0 +0AA0 +EEA0 +0AA0 +EEA0 +0AA0 +EB40 +AE40 +FAA0 +A320 +ENDCHAR +STARTCHAR U_8AD0 +ENCODING 35536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +5040 +DFC0 +4A80 +4AA0 +5260 +FFE0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8AD1 +ENCODING 35537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F200 +0500 +F920 +0AC0 +F480 +0580 +F2C0 +94A0 +F8A0 +9300 +ENDCHAR +STARTCHAR U_8AD2 +ENCODING 35538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0000 +F7C0 +0440 +F7C0 +0100 +F540 +9520 +F920 +9300 +ENDCHAR +STARTCHAR U_8AD3 +ENCODING 35539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +FFE0 +0240 +F1A0 +0660 +F280 +0240 +FFE0 +9240 +F1A0 +9660 +ENDCHAR +STARTCHAR U_8AD4 +ENCODING 35540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +F4E0 +07A0 +F4A0 +0FA0 +F4A0 +0EA0 +F5A0 +9440 +F4A0 +9D20 +ENDCHAR +STARTCHAR U_8AD5 +ENCODING 35541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +F100 +07E0 +F520 +07C0 +F520 +05E0 +F400 +95C0 +F940 +9660 +ENDCHAR +STARTCHAR U_8AD6 +ENCODING 35542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +E280 +0440 +EBA0 +0000 +EFE0 +0AA0 +EFE0 +AAA0 +EAA0 +A860 +ENDCHAR +STARTCHAR U_8AD7 +ENCODING 35543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F280 +0440 +F920 +07C0 +F080 +0100 +F2A0 +96A0 +FA40 +91C0 +ENDCHAR +STARTCHAR U_8AD8 +ENCODING 35544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0100 +F7C0 +0100 +FFE0 +0220 +F540 +9C80 +F540 +9620 +ENDCHAR +STARTCHAR U_8AD9 +ENCODING 35545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F480 +07E0 +F480 +0740 +F020 +07C0 +F440 +97C0 +F440 +97C0 +ENDCHAR +STARTCHAR U_8ADA +ENCODING 35546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F820 +07C0 +7100 +0500 +75E0 +0500 +7700 +5500 +78E0 +ENDCHAR +STARTCHAR U_8ADB +ENCODING 35547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F560 +0920 +FFE0 +0920 +FFE0 +0100 +F280 +9280 +F440 +9820 +ENDCHAR +STARTCHAR U_8ADC +ENCODING 35548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +FFE0 +0540 +F5C0 +0400 +F7E0 +0100 +FFE0 +9380 +F540 +9920 +ENDCHAR +STARTCHAR U_8ADD +ENCODING 35549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F520 +05C0 +F500 +0BE0 +F7C0 +0440 +F7C0 +9440 +F7C0 +94C0 +ENDCHAR +STARTCHAR U_8ADE +ENCODING 35550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +FFE0 +0820 +FFE0 +0800 +FFE0 +0AA0 +FFE0 +9AA0 +FAA0 +9A60 +ENDCHAR +STARTCHAR U_8ADF +ENCODING 35551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F440 +07C0 +F440 +07C0 +F000 +0FE0 +F100 +95E0 +FB00 +91E0 +ENDCHAR +STARTCHAR U_8AE0 +ENCODING 35552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +F100 +0FE0 +F820 +0FE0 +F440 +07C0 +F440 +97C0 +F000 +9FE0 +ENDCHAR +STARTCHAR U_8AE1 +ENCODING 35553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +F440 +0BA0 +F100 +07C0 +F040 +0380 +F000 +9FE0 +FAA0 +9FE0 +ENDCHAR +STARTCHAR U_8AE2 +ENCODING 35554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F920 +0FE0 +F540 +07C0 +F540 +07C0 +F100 +9FE0 +F100 +9100 +ENDCHAR +STARTCHAR U_8AE3 +ENCODING 35555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +87C0 +4440 +F740 +0540 +EFE0 +0820 +EBA0 +0AA0 +EBA0 +A820 +E860 +ENDCHAR +STARTCHAR U_8AE4 +ENCODING 35556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +FAA0 +0EE0 +F000 +07C0 +F000 +0FE0 +F200 +97E0 +F020 +91C0 +ENDCHAR +STARTCHAR U_8AE5 +ENCODING 35557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +FFE0 +0540 +77C0 +0540 +77C0 +0100 +77C0 +5100 +7FE0 +ENDCHAR +STARTCHAR U_8AE6 +ENCODING 35558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0280 +FFE0 +0920 +F7C0 +0540 +F540 +9540 +F5C0 +9100 +ENDCHAR +STARTCHAR U_8AE7 +ENCODING 35559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +F4A0 +07C0 +F4A0 +06E0 +F100 +07C0 +F440 +97C0 +F440 +97C0 +ENDCHAR +STARTCHAR U_8AE8 +ENCODING 35560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F000 +03C0 +F240 +03C0 +F000 +07E0 +F520 +97E0 +F520 +97E0 +ENDCHAR +STARTCHAR U_8AE9 +ENCODING 35561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +FFE0 +0280 +7280 +0AA0 +76C0 +0280 +7280 +5280 +7FE0 +ENDCHAR +STARTCHAR U_8AEA +ENCODING 35562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F800 +0380 +7280 +0FE0 +7820 +07C0 +7100 +5100 +7300 +ENDCHAR +STARTCHAR U_8AEB +ENCODING 35563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0100 +EFE0 +0D60 +FBA0 +0FE0 +F100 +9380 +F540 +9920 +ENDCHAR +STARTCHAR U_8AEC +ENCODING 35564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +27E0 +FA80 +72A0 +AC60 +0400 +FFE0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8AED +ENCODING 35565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +F440 +0BA0 +F000 +0E20 +FAA0 +0EA0 +FAA0 +9EA0 +FA20 +9AE0 +ENDCHAR +STARTCHAR U_8AEE +ENCODING 35566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +F5E0 +0220 +F480 +0C80 +F540 +0620 +F7E0 +9420 +F7E0 +9420 +ENDCHAR +STARTCHAR U_8AEF +ENCODING 35567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4520 +F520 +07E0 +F000 +0FE0 +F100 +0FE0 +FAA0 +9AA0 +FAA0 +9860 +ENDCHAR +STARTCHAR U_8AF0 +ENCODING 35568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F520 +0520 +F7E0 +0520 +F7E0 +0100 +F280 +9620 +FA60 +93C0 +ENDCHAR +STARTCHAR U_8AF1 +ENCODING 35569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7C0 +0240 +FFE0 +0440 +F7C0 +0080 +FFE0 +9480 +F7E0 +9080 +ENDCHAR +STARTCHAR U_8AF2 +ENCODING 35570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F280 +0FE0 +FAA0 +0AA0 +FFE0 +0100 +F100 +97C0 +F100 +9FE0 +ENDCHAR +STARTCHAR U_8AF3 +ENCODING 35571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0440 +F280 +0FE0 +F000 +07C0 +F440 +97C0 +F440 +97C0 +ENDCHAR +STARTCHAR U_8AF4 +ENCODING 35572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +E0A0 +0FE0 +E880 +0F80 +E8A0 +0EA0 +EAA0 +AEC0 +E8A0 +B320 +ENDCHAR +STARTCHAR U_8AF5 +ENCODING 35573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +EFE0 +0100 +EFE0 +0AA0 +E920 +0FE0 +E920 +AFE0 +A920 +E960 +ENDCHAR +STARTCHAR U_8AF6 +ENCODING 35574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +F7E0 +0240 +F3C0 +0240 +F3C0 +0240 +FFE0 +9540 +F620 +97E0 +ENDCHAR +STARTCHAR U_8AF7 +ENCODING 35575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F440 +07C0 +F540 +07C0 +F540 +0540 +F7C0 +9540 +F560 +9BA0 +ENDCHAR +STARTCHAR U_8AF8 +ENCODING 35576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +F7A0 +0240 +FFE0 +0100 +F3C0 +0640 +FBC0 +9240 +F3C0 +9240 +ENDCHAR +STARTCHAR U_8AF9 +ENCODING 35577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2240 +F3C0 +0240 +FFE0 +0200 +F7E0 +0AA0 +F4A0 +9120 +F660 +ENDCHAR +STARTCHAR U_8AFA +ENCODING 35578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0280 +FFE0 +0840 +FB80 +0840 +FBA0 +9840 +F180 +9E00 +ENDCHAR +STARTCHAR U_8AFB +ENCODING 35579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7C0 +0440 +F7C0 +0440 +FFE0 +0100 +F100 +97C0 +F100 +9FE0 +ENDCHAR +STARTCHAR U_8AFC +ENCODING 35580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F520 +0240 +F7E0 +0100 +FFE0 +0200 +F3E0 +9540 +F880 +9360 +ENDCHAR +STARTCHAR U_8AFD +ENCODING 35581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +FA80 +0380 +7100 +07C0 +7540 +07C0 +7100 +5FE0 +7100 +ENDCHAR +STARTCHAR U_8AFE +ENCODING 35582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +FFE0 +0480 +F200 +0FE0 +F200 +07C0 +FC40 +9440 +F7C0 +9440 +ENDCHAR +STARTCHAR U_8AFF +ENCODING 35583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F440 +07C0 +F000 +0FE0 +F540 +04C0 +F640 +9540 +FFE0 +9040 +ENDCHAR +STARTCHAR U_8B00 +ENCODING 35584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +27E0 +FA40 +03C0 +7240 +03C0 +7100 +07E0 +7380 +5540 +7920 +ENDCHAR +STARTCHAR U_8B01 +ENCODING 35585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F440 +07C0 +F440 +07C0 +F200 +07E0 +FCA0 +9560 +F7A0 +90C0 +ENDCHAR +STARTCHAR U_8B02 +ENCODING 35586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F920 +0FE0 +F920 +0FE0 +F440 +07C0 +F440 +97C0 +F440 +94C0 +ENDCHAR +STARTCHAR U_8B03 +ENCODING 35587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +2220 +FBE0 +0220 +73E0 +0480 +7BE0 +0080 +73E0 +5080 +77E0 +ENDCHAR +STARTCHAR U_8B04 +ENCODING 35588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +9FE0 +9200 +FFE0 +9440 +9920 +F7C0 +9000 +97C0 +9440 +B7C0 +ENDCHAR +STARTCHAR U_8B05 +ENCODING 35589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +F7E0 +0D20 +F7E0 +0120 +F640 +0BE0 +F520 +97E0 +F220 +9CC0 +ENDCHAR +STARTCHAR U_8B06 +ENCODING 35590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0820 +FFE0 +0800 +FFE0 +0DA0 +FB60 +9DA0 +F920 +9360 +ENDCHAR +STARTCHAR U_8B07 +ENCODING 35591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +3F80 +1100 +FFE0 +2480 +DF60 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8B08 +ENCODING 35592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +1100 +FFE0 +1100 +FFE0 +2480 +DF60 +1100 +1F00 +ENDCHAR +STARTCHAR U_8B09 +ENCODING 35593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2FC0 +FA40 +0FC0 +FA40 +0FC0 +F280 +0340 +F5E0 +9520 +F9E0 +ENDCHAR +STARTCHAR U_8B0A +ENCODING 35594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +FFE0 +0540 +FFE0 +0400 +F7C0 +0000 +F540 +9540 +F540 +9960 +ENDCHAR +STARTCHAR U_8B0B +ENCODING 35595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +F7E0 +0D40 +F3E0 +0440 +F940 +0FE0 +F100 +9380 +F540 +9920 +ENDCHAR +STARTCHAR U_8B0C +ENCODING 35596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2040 +F740 +0540 +7740 +0000 +77E0 +0540 +7740 +5040 +70C0 +ENDCHAR +STARTCHAR U_8B0D +ENCODING 35597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +56A0 +5AC0 +1080 +2940 +FFE0 +8420 +7FC0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8B0E +ENCODING 35598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48A0 +F6A0 +01C0 +F080 +0FE0 +F480 +05C0 +F6A0 +94A0 +FA00 +91E0 +ENDCHAR +STARTCHAR U_8B0F +ENCODING 35599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +F5E0 +0520 +F7E0 +0520 +F7E0 +0100 +F7E0 +9240 +F180 +9660 +ENDCHAR +STARTCHAR U_8B10 +ENCODING 35600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4120 +F240 +0AA0 +FB20 +05C0 +F800 +07C0 +F540 +9540 +F540 +9FE0 +ENDCHAR +STARTCHAR U_8B11 +ENCODING 35601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +FE20 +0540 +F280 +0500 +F240 +07E0 +F100 +9FE0 +F280 +9C60 +ENDCHAR +STARTCHAR U_8B12 +ENCODING 35602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +F540 +0FE0 +F440 +07C0 +F440 +07C0 +F400 +97C0 +FA40 +93C0 +ENDCHAR +STARTCHAR U_8B13 +ENCODING 35603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0200 +F7C0 +0440 +F7C0 +0440 +F7C0 +9440 +FFE0 +9440 +ENDCHAR +STARTCHAR U_8B14 +ENCODING 35604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +F100 +07E0 +F520 +07C0 +F520 +05E0 +F500 +97E0 +F500 +99E0 +ENDCHAR +STARTCHAR U_8B15 +ENCODING 35605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +EF00 +09C0 +E900 +0FE0 +E920 +0FC0 +E920 +ABE0 +EA80 +B4E0 +ENDCHAR +STARTCHAR U_8B16 +ENCODING 35606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F920 +0FE0 +F920 +0FE0 +F440 +0A20 +F7C0 +9A40 +F180 +9E60 +ENDCHAR +STARTCHAR U_8B17 +ENCODING 35607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0280 +FFE0 +0920 +FFE0 +0200 +F3C0 +9240 +F540 +9880 +ENDCHAR +STARTCHAR U_8B18 +ENCODING 35608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F420 +07E0 +F480 +07E0 +F540 +07E0 +F480 +97E0 +F480 +9880 +ENDCHAR +STARTCHAR U_8B19 +ENCODING 35609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +FFE0 +0280 +F7E0 +02A0 +FFE0 +02A0 +F7E0 +9280 +F6C0 +9AA0 +ENDCHAR +STARTCHAR U_8B1A +ENCODING 35610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +F280 +0100 +FFE0 +0440 +F820 +0FC0 +F540 +9540 +F540 +9FE0 +ENDCHAR +STARTCHAR U_8B1B +ENCODING 35611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F280 +07C0 +F280 +0FE0 +F540 +07C0 +F540 +9FE0 +F440 +94C0 +ENDCHAR +STARTCHAR U_8B1C +ENCODING 35612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F900 +0BE0 +FA20 +0BE0 +FA20 +0BE0 +F880 +99C0 +FAA0 +95A0 +ENDCHAR +STARTCHAR U_8B1D +ENCODING 35613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +FE40 +0A40 +FFE0 +0A40 +FF40 +0AC0 +FE40 +9640 +FA40 +96C0 +ENDCHAR +STARTCHAR U_8B1E +ENCODING 35614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0240 +F3C0 +0000 +FFE0 +0820 +FBA0 +9AA0 +FBA0 +9860 +ENDCHAR +STARTCHAR U_8B1F +ENCODING 35615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2720 +F520 +02C0 +F100 +0660 +F420 +0760 +F420 +9420 +F7E0 +ENDCHAR +STARTCHAR U_8B20 +ENCODING 35616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F3E0 +0D40 +F580 +0E00 +F3E0 +0480 +F7E0 +9080 +F4A0 +97E0 +ENDCHAR +STARTCHAR U_8B21 +ENCODING 35617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2620 +F940 +0540 +7400 +0BE0 +7080 +07E0 +7080 +54A0 +77E0 +ENDCHAR +STARTCHAR U_8B22 +ENCODING 35618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +F7E0 +0C80 +F7E0 +0480 +F7E0 +0480 +FFE0 +9240 +F180 +9E60 +ENDCHAR +STARTCHAR U_8B23 +ENCODING 35619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F100 +0FE0 +FAA0 +07C0 +F000 +0FE0 +F200 +97C0 +F040 +9380 +ENDCHAR +STARTCHAR U_8B24 +ENCODING 35620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F280 +0FE0 +FAA0 +0FE0 +F000 +07C0 +F000 +9FE0 +F540 +9B20 +ENDCHAR +STARTCHAR U_8B25 +ENCODING 35621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +FFE0 +0920 +FAE0 +0920 +FAA0 +0FE0 +F100 +96A0 +FA60 +91C0 +ENDCHAR +STARTCHAR U_8B26 +ENCODING 35622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +1140 +7E20 +57C0 +7D40 +8480 +FFE0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8B27 +ENCODING 35623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0540 +F6C0 +07C0 +F100 +0FE0 +F920 +9AA0 +FBA0 +9860 +ENDCHAR +STARTCHAR U_8B28 +ENCODING 35624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +FFE0 +0280 +F7C0 +0440 +F7C0 +0440 +FFE0 +9100 +F280 +9C60 +ENDCHAR +STARTCHAR U_8B29 +ENCODING 35625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +7FE0 +0900 +3F80 +2480 +FFE0 +1900 +2480 +DF60 +1100 +1F00 +ENDCHAR +STARTCHAR U_8B2A +ENCODING 35626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0440 +F280 +0FE0 +FAA0 +0C60 +FBA0 +9AA0 +FBA0 +9860 +ENDCHAR +STARTCHAR U_8B2B +ENCODING 35627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0280 +FFE0 +0920 +FFE0 +0920 +FBA0 +9AA0 +FBA0 +9860 +ENDCHAR +STARTCHAR U_8B2C +ENCODING 35628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +FAA0 +0660 +FAA0 +0300 +F480 +0B60 +F000 +9740 +F080 +9700 +ENDCHAR +STARTCHAR U_8B2D +ENCODING 35629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8440 +5FE0 +EA20 +0EA0 +EAA0 +0E60 +E000 +0FE0 +E220 +A4A0 +E840 +ENDCHAR +STARTCHAR U_8B2E +ENCODING 35630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0100 +F7C0 +0100 +FFE0 +0440 +F7C0 +9440 +F7C0 +9C60 +ENDCHAR +STARTCHAR U_8B2F +ENCODING 35631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +F100 +0FE0 +F920 +0FC0 +F920 +0BE0 +FA40 +9BC0 +FA40 +97E0 +ENDCHAR +STARTCHAR U_8B30 +ENCODING 35632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +E880 +0BE0 +E2A0 +1BE0 +EAA0 +0BE0 +E880 +ABE0 +F480 +A3E0 +ENDCHAR +STARTCHAR U_8B31 +ENCODING 35633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7C0 +0540 +FFE0 +0540 +FFE0 +0920 +FFE0 +9480 +F380 +9C60 +ENDCHAR +STARTCHAR U_8B32 +ENCODING 35634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +FFC0 +0540 +7FE0 +02A0 +7540 +0AA0 +7140 +5080 +7700 +ENDCHAR +STARTCHAR U_8B33 +ENCODING 35635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F800 +0BC0 +FA40 +0BC0 +F800 +0EE0 +FAA0 +9EE0 +F800 +9FE0 +ENDCHAR +STARTCHAR U_8B34 +ENCODING 35636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +F540 +0FE0 +7540 +07C0 +7000 +07C0 +7540 +56C0 +77C0 +0C60 +ENDCHAR +STARTCHAR U_8B35 +ENCODING 35637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +F220 +0AA0 +F660 +0AA0 +F100 +07C0 +F440 +97C0 +F440 +97C0 +ENDCHAR +STARTCHAR U_8B36 +ENCODING 35638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +F7E0 +0400 +F540 +07E0 +F540 +05C0 +F400 +9940 +F2A0 +92A0 +ENDCHAR +STARTCHAR U_8B37 +ENCODING 35639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7DE0 +1340 +FC80 +2760 +4800 +FFE0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8B38 +ENCODING 35640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +EE80 +0480 +EFE0 +0540 +FF40 +0940 +EE80 +AA80 +EB40 +B520 +ENDCHAR +STARTCHAR U_8B39 +ENCODING 35641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +FFE0 +0280 +F100 +07C0 +F540 +0FE0 +F100 +97C0 +F100 +9FE0 +ENDCHAR +STARTCHAR U_8B3A +ENCODING 35642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +27C0 +F940 +5340 +FAC0 +2420 +FFE0 +0000 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_8B3B +ENCODING 35643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +FCE0 +0520 +FEC0 +0480 +F760 +0CA0 +F520 +96C0 +F480 +9700 +ENDCHAR +STARTCHAR U_8B3C +ENCODING 35644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +F100 +0FE0 +F920 +0FC0 +F920 +0FE0 +FAA0 +9FE0 +F880 +9180 +ENDCHAR +STARTCHAR U_8B3D +ENCODING 35645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +1240 +F7E0 +8520 +F7E0 +1520 +FFE0 +0000 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_8B3E +ENCODING 35646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F440 +07C0 +F440 +0FE0 +FAA0 +0FE0 +F440 +9280 +F100 +9EE0 +ENDCHAR +STARTCHAR U_8B3F +ENCODING 35647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2EE0 +F4A0 +0EE0 +7AA0 +0EA0 +74E0 +0EA0 +74A0 +5520 +7660 +ENDCHAR +STARTCHAR U_8B40 +ENCODING 35648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4D00 +F500 +0FE0 +FAA0 +0EA0 +FAA0 +0AA0 +FEA0 +9B40 +FEA0 +9320 +ENDCHAR +STARTCHAR U_8B41 +ENCODING 35649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +FFE0 +0280 +FFE0 +0540 +FFE0 +0540 +FFE0 +9100 +F7C0 +9100 +ENDCHAR +STARTCHAR U_8B42 +ENCODING 35650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +FAA0 +0FE0 +F540 +07C0 +F540 +07C0 +F100 +9FE0 +F100 +9100 +ENDCHAR +STARTCHAR U_8B43 +ENCODING 35651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +2100 +FFE0 +0520 +77C0 +0520 +74E0 +0540 +7760 +5940 +77E0 +ENDCHAR +STARTCHAR U_8B44 +ENCODING 35652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +FFE0 +0D60 +7BA0 +0FE0 +7000 +07C0 +7440 +57C0 +7440 +57C0 +ENDCHAR +STARTCHAR U_8B45 +ENCODING 35653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +EAA0 +1BA0 +E2A0 +0D40 +E440 +0440 +F760 +9540 +F540 +9FE0 +ENDCHAR +STARTCHAR U_8B46 +ENCODING 35654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0100 +FFE0 +0440 +F7C0 +0280 +FFE0 +9440 +F440 +97C0 +ENDCHAR +STARTCHAR U_8B47 +ENCODING 35655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0540 +FBA0 +0140 +FFE0 +0240 +F7C0 +9A40 +F3C0 +9240 +ENDCHAR +STARTCHAR U_8B48 +ENCODING 35656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +FE80 +0BE0 +FEA0 +00A0 +FEA0 +02A0 +F4A0 +9E40 +F4A0 +9D20 +ENDCHAR +STARTCHAR U_8B49 +ENCODING 35657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F40 +F580 +02A0 +F240 +07C0 +F820 +07C0 +F440 +97C0 +F280 +9FE0 +ENDCHAR +STARTCHAR U_8B4A +ENCODING 35658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7C0 +0100 +FFE0 +0440 +FEE0 +0440 +FFE0 +9280 +F4A0 +9860 +ENDCHAR +STARTCHAR U_8B4B +ENCODING 35659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +FAA0 +0EE0 +FAA0 +0FE0 +FAA0 +0BA0 +FAA0 +9BA0 +FAA0 +9DE0 +ENDCHAR +STARTCHAR U_8B4C +ENCODING 35660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +EFC0 +0540 +EFC0 +0880 +EFC0 +0840 +EFE0 +A820 +EAA0 +B540 +ENDCHAR +STARTCHAR U_8B4D +ENCODING 35661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4A80 +57E0 +7C80 +57E0 +5480 +7FE0 +4840 +4840 +8FC0 +ENDCHAR +STARTCHAR U_8B4E +ENCODING 35662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +F280 +0FE0 +F540 +0900 +FFE0 +0AA0 +FFE0 +9AA0 +FBA0 +9860 +ENDCHAR +STARTCHAR U_8B4F +ENCODING 35663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +F5A0 +0B40 +FDE0 +0340 +FFE0 +0500 +F540 +96A0 +F960 +9220 +ENDCHAR +STARTCHAR U_8B50 +ENCODING 35664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +FFE0 +0280 +FFE0 +0AA0 +FCE0 +0BA0 +F8A0 +9FE0 +F480 +9380 +ENDCHAR +STARTCHAR U_8B51 +ENCODING 35665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +F200 +0FE0 +FCC0 +07A0 +F000 +0FE0 +F820 +9BA0 +FAA0 +9BE0 +ENDCHAR +STARTCHAR U_8B52 +ENCODING 35666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +FF20 +0540 +FFE0 +0380 +F540 +0FE0 +F540 +97C0 +F540 +97C0 +ENDCHAR +STARTCHAR U_8B53 +ENCODING 35667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0540 +F7C0 +0540 +F7C0 +0140 +FFA0 +9540 +FC60 +97C0 +ENDCHAR +STARTCHAR U_8B54 +ENCODING 35668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +FAA0 +0EE0 +F880 +0EE0 +F240 +07E0 +F240 +9FE0 +F240 +9C20 +ENDCHAR +STARTCHAR U_8B55 +ENCODING 35669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +F7E0 +0D40 +F540 +0FE0 +F540 +0540 +FFE0 +9540 +FAA0 +92A0 +ENDCHAR +STARTCHAR U_8B56 +ENCODING 35670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +F540 +1FE0 +ECC0 +1760 +E000 +07C0 +E440 +A7C0 +E440 +A7C0 +ENDCHAR +STARTCHAR U_8B57 +ENCODING 35671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +F7E0 +0A40 +F120 +0280 +F440 +0BA0 +F000 +97C0 +F440 +97C0 +ENDCHAR +STARTCHAR U_8B58 +ENCODING 35672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +EFC0 +0AA0 +E480 +0FE0 +E080 +0EA0 +EAC0 +AEA0 +EB60 +AE20 +ENDCHAR +STARTCHAR U_8B59 +ENCODING 35673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +F7E0 +0C80 +F7C0 +0480 +F7C0 +0480 +F7E0 +9540 +FAA0 +92A0 +ENDCHAR +STARTCHAR U_8B5A +ENCODING 35674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F280 +0FE0 +FAA0 +0FE0 +F440 +07C0 +F440 +9FE0 +F100 +9100 +ENDCHAR +STARTCHAR U_8B5B +ENCODING 35675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2EE0 +F440 +0FE0 +76C0 +0920 +77C0 +0440 +77C0 +5440 +77C0 +ENDCHAR +STARTCHAR U_8B5C +ENCODING 35676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +FFE0 +0AA0 +F6C0 +0FE0 +F000 +07C0 +F440 +97C0 +F440 +97C0 +ENDCHAR +STARTCHAR U_8B5D +ENCODING 35677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +FAA0 +0EE0 +F280 +0EE0 +FAA0 +0EE0 +FAA0 +9EE0 +F2A0 +93E0 +ENDCHAR +STARTCHAR U_8B5E +ENCODING 35678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +FFE0 +0000 +77C0 +0440 +77C0 +0320 +76C0 +5A40 +7320 +ENDCHAR +STARTCHAR U_8B5F +ENCODING 35679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F440 +07C0 +F000 +0EE0 +FAA0 +0EE0 +F100 +9FE0 +F540 +9920 +ENDCHAR +STARTCHAR U_8B60 +ENCODING 35680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0BA0 +F820 +0FE0 +F440 +07C0 +F440 +97C0 +F000 +9FE0 +ENDCHAR +STARTCHAR U_8B61 +ENCODING 35681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +FFE0 +0820 +7380 +0280 +77E0 +0520 +77E0 +5520 +77E0 +ENDCHAR +STARTCHAR U_8B62 +ENCODING 35682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +F7E0 +0900 +E2A0 +1DC0 +EA80 +0DC0 +EAA0 +A880 +ED00 +B3E0 +ENDCHAR +STARTCHAR U_8B63 +ENCODING 35683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F280 +0440 +FBA0 +0000 +FEE0 +0AA0 +FEE0 +9440 +FAA0 +9120 +ENDCHAR +STARTCHAR U_8B64 +ENCODING 35684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +4E80 +FA80 +0EE0 +EB20 +0F20 +E4A0 +1F40 +E440 +AAA0 +F520 +ENDCHAR +STARTCHAR U_8B65 +ENCODING 35685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBE0 +A940 +FC80 +5140 +8A20 +FFE0 +0000 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_8B66 +ENCODING 35686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +49E0 +FE80 +5540 +FFE0 +0000 +7FC0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8B67 +ENCODING 35687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +EFE0 +0A80 +EFE0 +0AA0 +EFE0 +0AA0 +EFE0 +AA80 +EEC0 +B2A0 +ENDCHAR +STARTCHAR U_8B68 +ENCODING 35688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +FFE0 +0AA0 +FFE0 +0AA0 +FFE0 +0800 +FFE0 +9AA0 +FA40 +9720 +ENDCHAR +STARTCHAR U_8B69 +ENCODING 35689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F240 +0FE0 +7440 +07C0 +7440 +07C0 +7520 +5A40 +73C0 +ENDCHAR +STARTCHAR U_8B6A +ENCODING 35690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +FFE0 +0440 +F7C0 +0440 +F7E0 +0520 +FEA0 +9460 +F7A0 +9040 +ENDCHAR +STARTCHAR U_8B6B +ENCODING 35691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +E480 +0FE0 +EA40 +0DA0 +E800 +0BC0 +E800 +ABC0 +EA40 +B3C0 +ENDCHAR +STARTCHAR U_8B6C +ENCODING 35692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8A80 +FFC0 +9100 +FFE0 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8B6D +ENCODING 35693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AE0 +F2A0 +1EA0 +F2A0 +1F00 +E0E0 +1FA0 +E4A0 +A440 +E6A0 +B920 +ENDCHAR +STARTCHAR U_8B6E +ENCODING 35694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +F440 +0FE0 +7D60 +0BA0 +7FE0 +0440 +77C0 +5440 +77C0 +ENDCHAR +STARTCHAR U_8B6F +ENCODING 35695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +FAA0 +0FE0 +F7C0 +0100 +FFE0 +0280 +FFE0 +9100 +FFE0 +9100 +ENDCHAR +STARTCHAR U_8B70 +ENCODING 35696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +FFE0 +0100 +F7C0 +0100 +FFE0 +04A0 +FFE0 +94A0 +FE40 +95A0 +ENDCHAR +STARTCHAR U_8B71 +ENCODING 35697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0400 +7FC0 +0400 +FFE0 +2480 +FFE0 +75C0 +5540 +75C0 +ENDCHAR +STARTCHAR U_8B72 +ENCODING 35698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +EFE0 +0440 +EAA0 +0FC0 +E280 +1FE0 +E540 +AC80 +F640 +0420 +ENDCHAR +STARTCHAR U_8B73 +ENCODING 35699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +4100 +FFE0 +0BA0 +E540 +0FE0 +E200 +0FE0 +EAA0 +AAA0 +E860 +ENDCHAR +STARTCHAR U_8B74 +ENCODING 35700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +EBE0 +06A0 +F2A0 +0FE0 +F520 +05E0 +F500 +95E0 +F520 +9BE0 +ENDCHAR +STARTCHAR U_8B75 +ENCODING 35701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A20 +EAA0 +1B20 +FFE0 +0A20 +EEA0 +0460 +EE20 +A420 +E6A0 +1840 +ENDCHAR +STARTCHAR U_8B76 +ENCODING 35702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0000 +3F80 +2080 +3F80 +2100 +FFE0 +4A40 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_8B77 +ENCODING 35703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F240 +0480 +F7E0 +0C80 +F7E0 +0480 +F7E0 +9240 +F180 +9E60 +ENDCHAR +STARTCHAR U_8B78 +ENCODING 35704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +EFE0 +0100 +EFE0 +0120 +EFC0 +0040 +EFE0 +AB40 +EEC0 +A0C0 +ENDCHAR +STARTCHAR U_8B79 +ENCODING 35705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0440 +FFE0 +0820 +FFE0 +0520 +FAC0 +9580 +FAC0 +9520 +ENDCHAR +STARTCHAR U_8B7A +ENCODING 35706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +55E0 +F8A0 +1240 +FFE0 +0860 +FF40 +0940 +FF60 +A940 +F540 +A2E0 +ENDCHAR +STARTCHAR U_8B7B +ENCODING 35707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +FFE0 +0000 +7FC0 +0000 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_8B7C +ENCODING 35708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +5500 +7BE0 +52A0 +7FE0 +0400 +FFE0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8B7D +ENCODING 35709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6EC0 +4840 +7FC0 +4A40 +FFE0 +4040 +BFA0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8B7E +ENCODING 35710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +FFE0 +0A20 +FEA0 +0AA0 +FA60 +0FE0 +FAA0 +9660 +FBA0 +9660 +ENDCHAR +STARTCHAR U_8B7F +ENCODING 35711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +E440 +0EE0 +E440 +0EE0 +E7C0 +0040 +EFC0 +A520 +ECA0 +B7C0 +ENDCHAR +STARTCHAR U_8B80 +ENCODING 35712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0100 +FFE0 +0AA0 +FFE0 +0440 +F7C0 +9440 +F7C0 +9C60 +ENDCHAR +STARTCHAR U_8B81 +ENCODING 35713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +F7E0 +0940 +E3E0 +1AA0 +EBE0 +0AA0 +EBE0 +AB60 +EAA0 +17E0 +ENDCHAR +STARTCHAR U_8B82 +ENCODING 35714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +F480 +0FE0 +FAA0 +07C0 +F640 +0540 +F7C0 +9C40 +F380 +9C60 +ENDCHAR +STARTCHAR U_8B83 +ENCODING 35715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +FFE0 +0440 +7FE0 +0AA0 +77C0 +0540 +76C0 +5540 +77C0 +0C60 +ENDCHAR +STARTCHAR U_8B84 +ENCODING 35716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F540 +07C0 +F540 +07C0 +F000 +0FE0 +FAA0 +9FE0 +FAA0 +9FE0 +ENDCHAR +STARTCHAR U_8B85 +ENCODING 35717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0920 +F540 +0FE0 +F540 +0FE0 +F540 +97C0 +F540 +97C0 +ENDCHAR +STARTCHAR U_8B86 +ENCODING 35718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +4A00 +BFE0 +6A40 +3F40 +22C0 +7FE0 +0000 +3FC0 +2040 +3FC0 +ENDCHAR +STARTCHAR U_8B87 +ENCODING 35719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +EAA0 +0EE0 +EAA0 +0FE0 +E920 +0AA0 +EAA0 +AAA0 +EBA0 +0860 +ENDCHAR +STARTCHAR U_8B88 +ENCODING 35720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +FEC0 +0A40 +FFE0 +0A40 +FFE0 +0A40 +F880 +92E0 +F280 +9FE0 +ENDCHAR +STARTCHAR U_8B89 +ENCODING 35721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +E7C0 +1540 +EFE0 +0240 +FBC0 +0A40 +EBC0 +AA40 +EC20 +17E0 +ENDCHAR +STARTCHAR U_8B8A +ENCODING 35722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +AEA0 +4040 +AEA0 +EAE0 +5E40 +A0A0 +1FC0 +6900 +0600 +79E0 +ENDCHAR +STARTCHAR U_8B8B +ENCODING 35723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5200 +FBE0 +4A00 +7BC0 +4A20 +FFE0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8B8C +ENCODING 35724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +FFE0 +0280 +F380 +0440 +FFE0 +0440 +FFE0 +9540 +FAA0 +92A0 +ENDCHAR +STARTCHAR U_8B8D +ENCODING 35725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +E200 +0EE0 +EAA0 +0EE0 +E200 +1FE0 +EAA0 +AEE0 +E200 +BFE0 +ENDCHAR +STARTCHAR U_8B8E +ENCODING 35726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +AF40 +F1E0 +AF40 +A140 +FFE0 +A140 +FFE0 +A940 +AF40 +F1E0 +ENDCHAR +STARTCHAR U_8B8F +ENCODING 35727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +4F60 +A500 +5FE0 +C540 +4940 +FFE0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8B90 +ENCODING 35728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +7BE0 +D680 +5280 +7BE0 +0400 +7FC0 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_8B91 +ENCODING 35729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +E280 +0440 +EFE0 +0AA0 +EFE0 +0000 +EFE0 +AAA0 +EFE0 +AAA0 +ENDCHAR +STARTCHAR U_8B92 +ENCODING 35730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +FFC0 +0440 +F7C0 +0480 +F7A0 +0FE0 +F540 +97C0 +F2A0 +9CE0 +ENDCHAR +STARTCHAR U_8B93 +ENCODING 35731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0AA0 +FEE0 +0280 +FFE0 +0280 +FFE0 +96A0 +FA40 +9320 +ENDCHAR +STARTCHAR U_8B94 +ENCODING 35732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +FAA0 +0BE0 +FC20 +0BE0 +FA20 +0BE0 +FC80 +9B20 +FD40 +99C0 +ENDCHAR +STARTCHAR U_8B95 +ENCODING 35733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +FAA0 +0EE0 +FAA0 +0EE0 +FFE0 +0AA0 +FFE0 +9BA0 +FD60 +9960 +ENDCHAR +STARTCHAR U_8B96 +ENCODING 35734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AC0 +F5A0 +1FE0 +EA80 +1B80 +EAA0 +1BA0 +EAC0 +AAA0 +FF60 +A220 +ENDCHAR +STARTCHAR U_8B97 +ENCODING 35735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +EFE0 +0900 +EFC0 +1900 +EFE0 +0000 +EFE0 +AAA0 +EBA0 +A860 +ENDCHAR +STARTCHAR U_8B98 +ENCODING 35736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F440 +07C0 +F440 +0FE0 +F040 +0FE0 +FAA0 +9EE0 +FAA0 +9FE0 +ENDCHAR +STARTCHAR U_8B99 +ENCODING 35737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +F280 +0EE0 +FAA0 +0EE0 +F480 +0FE0 +F480 +97E0 +F480 +97E0 +ENDCHAR +STARTCHAR U_8B9A +ENCODING 35738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +EFE0 +0240 +EFE0 +0540 +EFE0 +0440 +E7C0 +A440 +E7C0 +AC60 +ENDCHAR +STARTCHAR U_8B9B +ENCODING 35739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +EFE0 +0480 +EFE0 +0AA0 +E5A0 +0EE0 +E000 +AFE0 +E280 +A7C0 +ENDCHAR +STARTCHAR U_8B9C +ENCODING 35740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +EFE0 +0AA0 +EFE0 +0AA0 +EFE0 +0100 +E7C0 +A100 +EFE0 +AAA0 +ENDCHAR +STARTCHAR U_8B9D +ENCODING 35741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +EAA0 +0FE0 +E940 +0940 +EFE0 +0AA0 +EBA0 +AAA0 +EFC0 +90A0 +ENDCHAR +STARTCHAR U_8B9E +ENCODING 35742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4740 +E460 +1F40 +F5E0 +1F40 +F040 +1740 +F540 +9F40 +F5A0 +9520 +ENDCHAR +STARTCHAR U_8B9F +ENCODING 35743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +FFE0 +0400 +FFE0 +1500 +FFE0 +0A00 +EEE0 +AAA0 +EEE0 +BBA0 +ENDCHAR +STARTCHAR U_8BA0 +ENCODING 35744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 10 0 0 +BITMAP +40 +20 +20 +00 +E0 +20 +20 +28 +30 +20 +ENDCHAR +STARTCHAR U_8BA1 +ENCODING 35745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +0100 +0FE0 +E100 +2100 +2100 +2900 +3100 +2100 +0100 +ENDCHAR +STARTCHAR U_8BA2 +ENCODING 35746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +0080 +0080 +E080 +2080 +2080 +2080 +2880 +3080 +2380 +ENDCHAR +STARTCHAR U_8BA3 +ENCODING 35747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +0100 +0100 +E180 +2140 +2120 +2920 +3100 +2100 +0100 +ENDCHAR +STARTCHAR U_8BA4 +ENCODING 35748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +0100 +0100 +E100 +2100 +2280 +2A80 +3440 +2840 +1020 +ENDCHAR +STARTCHAR U_8BA5 +ENCODING 35749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2480 +0480 +0480 +E480 +2480 +2480 +2C80 +34A0 +28A0 +1060 +ENDCHAR +STARTCHAR U_8BA6 +ENCODING 35750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +0100 +0100 +EFE0 +2100 +2100 +2100 +2900 +3100 +2100 +ENDCHAR +STARTCHAR U_8BA7 +ENCODING 35751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +4000 +2FE0 +0100 +0100 +E100 +2100 +2100 +2900 +3100 +2FE0 +ENDCHAR +STARTCHAR U_8BA8 +ENCODING 35752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2040 +0040 +E7E0 +2040 +2240 +2140 +2140 +2840 +3040 +21C0 +ENDCHAR +STARTCHAR U_8BA9 +ENCODING 35753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +2100 +0100 +E1E0 +2100 +2100 +2100 +2900 +3100 +2FE0 +ENDCHAR +STARTCHAR U_8BAA +ENCODING 35754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +0100 +0520 +E520 +2520 +2520 +2D20 +3520 +27E0 +0420 +ENDCHAR +STARTCHAR U_8BAB +ENCODING 35755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +0400 +0800 +E7C0 +2080 +2100 +2A00 +3420 +2420 +03E0 +ENDCHAR +STARTCHAR U_8BAC +ENCODING 35756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +41C0 +4E00 +0200 +E200 +23C0 +2E00 +2200 +2220 +3220 +21E0 +ENDCHAR +STARTCHAR U_8BAD +ENCODING 35757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +2520 +0520 +E520 +2520 +2520 +2520 +2D20 +3520 +2420 +0820 +ENDCHAR +STARTCHAR U_8BAE +ENCODING 35758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2140 +0540 +0440 +E440 +2280 +2280 +2900 +3280 +2440 +0820 +ENDCHAR +STARTCHAR U_8BAF +ENCODING 35759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9F80 +4480 +4480 +0480 +C480 +5F80 +4480 +54A0 +64A0 +4460 +0420 +ENDCHAR +STARTCHAR U_8BB0 +ENCODING 35760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +27C0 +0040 +0040 +E040 +27C0 +2400 +2400 +2C20 +3420 +23E0 +ENDCHAR +STARTCHAR U_8BB1 +ENCODING 35761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +4FE0 +2120 +0120 +E520 +2520 +2920 +2220 +2220 +3540 +2880 +ENDCHAR +STARTCHAR U_8BB2 +ENCODING 35762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8480 +4480 +1FE0 +C480 +4480 +5FE0 +4480 +5480 +6480 +4880 +1080 +ENDCHAR +STARTCHAR U_8BB3 +ENCODING 35763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +07C0 +E100 +2FE0 +2120 +2920 +31A0 +2140 +0100 +ENDCHAR +STARTCHAR U_8BB4 +ENCODING 35764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2400 +0440 +0640 +E540 +2480 +2480 +2D40 +3640 +2400 +07E0 +ENDCHAR +STARTCHAR U_8BB5 +ENCODING 35765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2400 +0400 +E7C0 +2440 +2440 +27C0 +2C40 +3400 +2400 +07E0 +ENDCHAR +STARTCHAR U_8BB6 +ENCODING 35766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2080 +0480 +C480 +4FE0 +4080 +4180 +5280 +6480 +4A80 +1100 +ENDCHAR +STARTCHAR U_8BB7 +ENCODING 35767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +07E0 +0520 +E520 +25A0 +2660 +2C20 +3420 +2420 +0460 +ENDCHAR +STARTCHAR U_8BB8 +ENCODING 35768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +07C0 +0900 +E100 +2FE0 +2100 +2900 +3100 +2100 +0100 +ENDCHAR +STARTCHAR U_8BB9 +ENCODING 35769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8500 +4500 +0920 +C940 +5980 +4900 +4B00 +5900 +6920 +4920 +09E0 +ENDCHAR +STARTCHAR U_8BBA +ENCODING 35770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +0280 +0440 +E820 +2240 +2280 +2300 +2A20 +3220 +23E0 +ENDCHAR +STARTCHAR U_8BBB +ENCODING 35771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8840 +4440 +4AA0 +0AA0 +C920 +4920 +4AA0 +5C60 +6820 +4FE0 +0820 +ENDCHAR +STARTCHAR U_8BBC +ENCODING 35772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2280 +0240 +0440 +E420 +2900 +2100 +2A40 +3240 +27A0 +0420 +ENDCHAR +STARTCHAR U_8BBD +ENCODING 35773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +04C0 +E6C0 +2540 +2540 +2540 +2EC0 +3440 +2820 +1020 +ENDCHAR +STARTCHAR U_8BBE +ENCODING 35774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2480 +0480 +08E0 +E000 +2FC0 +2440 +2280 +3100 +2280 +1C60 +ENDCHAR +STARTCHAR U_8BBF +ENCODING 35775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +0FE0 +0200 +E3C0 +2240 +2240 +2A40 +3240 +2440 +0980 +ENDCHAR +STARTCHAR U_8BC0 +ENCODING 35776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +07C0 +0140 +E140 +2FE0 +2100 +2900 +3280 +2440 +0820 +ENDCHAR +STARTCHAR U_8BC1 +ENCODING 35777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2FE0 +2100 +0100 +E500 +25C0 +2500 +2D00 +3500 +2500 +1FE0 +ENDCHAR +STARTCHAR U_8BC2 +ENCODING 35778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +8200 +4200 +1FE0 +C200 +4200 +4FC0 +4840 +5840 +6FC0 +4840 +ENDCHAR +STARTCHAR U_8BC3 +ENCODING 35779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2040 +0040 +E740 +2540 +2540 +2740 +2D40 +3040 +2140 +0080 +ENDCHAR +STARTCHAR U_8BC4 +ENCODING 35780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +0920 +0540 +E100 +2FE0 +2100 +2900 +3100 +2100 +0100 +ENDCHAR +STARTCHAR U_8BC5 +ENCODING 35781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +0440 +0440 +E7C0 +2440 +2440 +2FC0 +3440 +6440 +0FE0 +ENDCHAR +STARTCHAR U_8BC6 +ENCODING 35782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +0420 +0420 +E420 +27E0 +2420 +2A80 +3240 +2420 +0820 +ENDCHAR +STARTCHAR U_8BC7 +ENCODING 35783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4820 +0820 +CBA0 +4AA0 +4AA0 +4AA0 +4BA0 +6820 +48A0 +0840 +ENDCHAR +STARTCHAR U_8BC8 +ENCODING 35784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +03E0 +0500 +E900 +21E0 +2100 +2100 +29E0 +3100 +2100 +ENDCHAR +STARTCHAR U_8BC9 +ENCODING 35785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +0400 +07E0 +E480 +2580 +24C0 +2CA0 +34A0 +2480 +0880 +ENDCHAR +STARTCHAR U_8BCA +ENCODING 35786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +0440 +0920 +E200 +2480 +2120 +2A40 +3080 +6100 +0600 +ENDCHAR +STARTCHAR U_8BCB +ENCODING 35787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +2780 +0480 +E480 +27E0 +2480 +2480 +2CA0 +35A0 +2660 +0520 +ENDCHAR +STARTCHAR U_8BCC +ENCODING 35788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23E0 +0440 +0FE0 +E020 +2020 +27E0 +2820 +3020 +27E0 +0020 +ENDCHAR +STARTCHAR U_8BCD +ENCODING 35789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2020 +0FA0 +E020 +2720 +2520 +2520 +2720 +3020 +20A0 +0040 +ENDCHAR +STARTCHAR U_8BCE +ENCODING 35790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2520 +0520 +0520 +E7E0 +2100 +2520 +2D20 +3520 +27E0 +0420 +ENDCHAR +STARTCHAR U_8BCF +ENCODING 35791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2120 +2120 +0220 +E4A0 +2840 +27E0 +2420 +3420 +27E0 +0420 +ENDCHAR +STARTCHAR U_8BD0 +ENCODING 35792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4100 +0FE0 +C920 +4900 +4FE0 +4A40 +4980 +6980 +5240 +2420 +ENDCHAR +STARTCHAR U_8BD1 +ENCODING 35793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +0280 +0380 +EC60 +2100 +27C0 +2100 +37E0 +2100 +0100 +ENDCHAR +STARTCHAR U_8BD2 +ENCODING 35794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2200 +0440 +0FE0 +E020 +2000 +27C0 +2C40 +3440 +27C0 +0440 +ENDCHAR +STARTCHAR U_8BD3 +ENCODING 35795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2400 +07E0 +0480 +E480 +25C0 +2480 +2480 +37E0 +2400 +07E0 +ENDCHAR +STARTCHAR U_8BD4 +ENCODING 35796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +07C0 +E100 +2FE0 +2100 +2B80 +3540 +6920 +1120 +ENDCHAR +STARTCHAR U_8BD5 +ENCODING 35797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2120 +1FE0 +0100 +EF00 +2500 +2500 +24A0 +26A0 +3860 +2020 +ENDCHAR +STARTCHAR U_8BD6 +ENCODING 35798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0100 +E100 +2FE0 +2000 +2100 +2FC0 +3100 +2100 +0FE0 +ENDCHAR +STARTCHAR U_8BD7 +ENCODING 35799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FC0 +0100 +DFE0 +4080 +4FE0 +4080 +5480 +6280 +4080 +0180 +ENDCHAR +STARTCHAR U_8BD8 +ENCODING 35800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +0100 +E7C0 +2000 +27C0 +2440 +3440 +27C0 +0440 +ENDCHAR +STARTCHAR U_8BD9 +ENCODING 35801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +0200 +0280 +E4A0 +2AA0 +22C0 +2880 +3140 +6220 +0420 +ENDCHAR +STARTCHAR U_8BDA +ENCODING 35802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2120 +1FE0 +D100 +5100 +5D40 +5540 +5480 +74A0 +5960 +2220 +ENDCHAR +STARTCHAR U_8BDB +ENCODING 35803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2500 +07E0 +C900 +4100 +5FE0 +4100 +5380 +6540 +4920 +0100 +ENDCHAR +STARTCHAR U_8BDC +ENCODING 35804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2500 +07C0 +0900 +E100 +2FE0 +2280 +2280 +32A0 +24A0 +0860 +ENDCHAR +STARTCHAR U_8BDD +ENCODING 35805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +0100 +EFE0 +2100 +2100 +27C0 +2440 +3440 +27C0 +0440 +ENDCHAR +STARTCHAR U_8BDE +ENCODING 35806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8060 +5B80 +0880 +C880 +52E0 +4A80 +4A80 +5A80 +6BE0 +5400 +23E0 +ENDCHAR +STARTCHAR U_8BDF +ENCODING 35807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +2780 +0400 +07E0 +E400 +2400 +25E0 +2D20 +3520 +29E0 +1120 +ENDCHAR +STARTCHAR U_8BE0 +ENCODING 35808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +0440 +0820 +E7C0 +2100 +2100 +2FC0 +3100 +6100 +0FE0 +ENDCHAR +STARTCHAR U_8BE1 +ENCODING 35809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +4780 +0900 +1FE0 +C800 +4BC0 +4A40 +5AC0 +6A20 +5220 +23E0 +ENDCHAR +STARTCHAR U_8BE2 +ENCODING 35810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +0820 +F7A0 +24A0 +27A0 +24A0 +24A0 +37A0 +2020 +00C0 +ENDCHAR +STARTCHAR U_8BE3 +ENCODING 35811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +24C0 +0700 +E420 +23E0 +2000 +27E0 +2C20 +37E0 +6420 +07E0 +ENDCHAR +STARTCHAR U_8BE4 +ENCODING 35812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23C0 +2480 +0FC0 +E140 +2FE0 +2140 +27C0 +3100 +2100 +0300 +ENDCHAR +STARTCHAR U_8BE5 +ENCODING 35813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +0FE0 +E100 +2240 +2780 +2120 +2A40 +3480 +2140 +0620 +ENDCHAR +STARTCHAR U_8BE6 +ENCODING 35814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +0FE0 +E100 +27C0 +2100 +2100 +2FE0 +3100 +2100 +0100 +ENDCHAR +STARTCHAR U_8BE7 +ENCODING 35815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +1020 +0180 +EE00 +2260 +2380 +2E00 +2A20 +3220 +21E0 +ENDCHAR +STARTCHAR U_8BE8 +ENCODING 35816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +0200 +EFE0 +2200 +2500 +2FC0 +2100 +3FE0 +2100 +0100 +ENDCHAR +STARTCHAR U_8BE9 +ENCODING 35817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2120 +25A0 +0360 +E120 +2360 +25A0 +2920 +3120 +25A0 +0240 +ENDCHAR +STARTCHAR U_8BEA +ENCODING 35818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +0200 +CFC0 +4200 +5FE0 +4440 +4FE0 +6A40 +5140 +2080 +ENDCHAR +STARTCHAR U_8BEB +ENCODING 35819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +80C0 +40A0 +1FE0 +CA80 +4A80 +5FA0 +4AC0 +5A80 +6AA0 +4960 +1220 +ENDCHAR +STARTCHAR U_8BEC +ENCODING 35820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +0540 +E540 +2540 +2540 +2BA0 +2920 +3100 +2100 +0FE0 +ENDCHAR +STARTCHAR U_8BED +ENCODING 35821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +07C0 +E240 +2240 +2FE0 +2000 +2FC0 +3440 +2440 +07C0 +ENDCHAR +STARTCHAR U_8BEE +ENCODING 35822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +0100 +07E0 +E420 +27E0 +2420 +2FE0 +3420 +2420 +0460 +ENDCHAR +STARTCHAR U_8BEF +ENCODING 35823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +0440 +07C0 +E000 +27C0 +2100 +2FE0 +3280 +2440 +0820 +ENDCHAR +STARTCHAR U_8BF0 +ENCODING 35824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +27C0 +0900 +F100 +2FE0 +2000 +2FC0 +3440 +2440 +07C0 +ENDCHAR +STARTCHAR U_8BF1 +ENCODING 35825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +2F80 +0100 +EFE0 +2540 +2920 +27C0 +2A80 +32E0 +2420 +08C0 +ENDCHAR +STARTCHAR U_8BF2 +ENCODING 35826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +0800 +E7C0 +2540 +2FE0 +2540 +2D40 +37E0 +2040 +0180 +ENDCHAR +STARTCHAR U_8BF3 +ENCODING 35827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97E0 +4880 +1480 +0480 +E480 +2FE0 +3480 +2C80 +3480 +2480 +0FE0 +ENDCHAR +STARTCHAR U_8BF4 +ENCODING 35828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +07C0 +0440 +E440 +27C0 +2280 +2A80 +32A0 +24A0 +08E0 +ENDCHAR +STARTCHAR U_8BF5 +ENCODING 35829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2240 +0180 +EFE0 +2920 +2FE0 +2920 +2FE0 +3920 +2920 +0860 +ENDCHAR +STARTCHAR U_8BF6 +ENCODING 35830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +4440 +2FC0 +2400 +07C0 +E900 +2100 +2FE0 +3280 +2440 +1820 +ENDCHAR +STARTCHAR U_8BF7 +ENCODING 35831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2100 +07C0 +E100 +2FE0 +2440 +27C0 +2440 +37C0 +2440 +ENDCHAR +STARTCHAR U_8BF8 +ENCODING 35832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27A0 +0240 +EFE0 +2200 +27C0 +2440 +2FC0 +3440 +27C0 +0440 +ENDCHAR +STARTCHAR U_8BF9 +ENCODING 35833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F00 +2A00 +0BE0 +EEA0 +2AA0 +2EA0 +2AA0 +2BA0 +3E40 +62A0 +0320 +ENDCHAR +STARTCHAR U_8BFA +ENCODING 35834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2FE0 +0240 +0100 +EFE0 +2200 +23E0 +2E20 +3220 +23E0 +0220 +ENDCHAR +STARTCHAR U_8BFB +ENCODING 35835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +0100 +EFE0 +22A0 +2580 +2280 +2FE0 +3180 +2240 +0C20 +ENDCHAR +STARTCHAR U_8BFC +ENCODING 35836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2200 +0420 +0A40 +FB80 +2580 +2D40 +2B40 +3520 +6920 +0600 +ENDCHAR +STARTCHAR U_8BFD +ENCODING 35837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +0EE0 +E280 +2EE0 +2280 +2280 +2EE0 +3280 +2280 +0280 +ENDCHAR +STARTCHAR U_8BFE +ENCODING 35838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2940 +0FC0 +C940 +4FC0 +4100 +5FE0 +4300 +6580 +4940 +1120 +ENDCHAR +STARTCHAR U_8BFF +ENCODING 35839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +0100 +0FE0 +E540 +2920 +2200 +2FE0 +3480 +2300 +0CE0 +ENDCHAR +STARTCHAR U_8C00 +ENCODING 35840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2D60 +0920 +EFE0 +2920 +2FE0 +2100 +2280 +3280 +2440 +0820 +ENDCHAR +STARTCHAR U_8C01 +ENCODING 35841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2480 +0FE0 +F480 +27E0 +2480 +27E0 +2C80 +3480 +27E0 +0400 +ENDCHAR +STARTCHAR U_8C02 +ENCODING 35842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +0440 +0920 +F7C0 +2080 +2100 +2AA0 +36A0 +2A40 +01C0 +ENDCHAR +STARTCHAR U_8C03 +ENCODING 35843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +0BA0 +E920 +2FE0 +2820 +2BA0 +2AA0 +3BA0 +2820 +10E0 +ENDCHAR +STARTCHAR U_8C04 +ENCODING 35844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +23C0 +0480 +0900 +E6E0 +2820 +2820 +2EE0 +3820 +2FE0 +0820 +ENDCHAR +STARTCHAR U_8C05 +ENCODING 35845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0000 +E7C0 +2440 +27C0 +2100 +2100 +3540 +2920 +0300 +ENDCHAR +STARTCHAR U_8C06 +ENCODING 35846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0440 +E7C0 +2000 +2FC0 +2080 +2100 +3FE0 +2100 +0300 +ENDCHAR +STARTCHAR U_8C07 +ENCODING 35847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0440 +0440 +E6A0 +2920 +2100 +2FE0 +3100 +2100 +0100 +ENDCHAR +STARTCHAR U_8C08 +ENCODING 35848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4120 +2540 +2980 +0240 +EC20 +2100 +2520 +3540 +2980 +2240 +0C20 +ENDCHAR +STARTCHAR U_8C09 +ENCODING 35849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FE0 +1220 +CFC0 +4A40 +4FC0 +4A40 +4FC0 +6200 +4200 +0200 +ENDCHAR +STARTCHAR U_8C0A +ENCODING 35850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0820 +E7C0 +2440 +2440 +27C0 +2C40 +37C0 +2440 +1FE0 +ENDCHAR +STARTCHAR U_8C0B +ENCODING 35851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +0440 +E7C0 +2440 +27C0 +2100 +2FE0 +3380 +2540 +0920 +ENDCHAR +STARTCHAR U_8C0C +ENCODING 35852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2FE0 +0240 +03C0 +E240 +23C0 +2240 +2FE0 +3540 +2620 +07E0 +ENDCHAR +STARTCHAR U_8C0D +ENCODING 35853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2FE0 +0540 +E5C0 +2400 +27E0 +2100 +2FE0 +3380 +2540 +0920 +ENDCHAR +STARTCHAR U_8C0E +ENCODING 35854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2FE0 +0240 +EFE0 +2400 +27E0 +2000 +2D40 +3540 +2540 +0960 +ENDCHAR +STARTCHAR U_8C0F +ENCODING 35855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0100 +EFE0 +2AA0 +2920 +2FE0 +2900 +3380 +2540 +1920 +ENDCHAR +STARTCHAR U_8C10 +ENCODING 35856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +24A0 +07C0 +E4A0 +2E60 +2100 +27C0 +2C40 +37C0 +2440 +07C0 +ENDCHAR +STARTCHAR U_8C11 +ENCODING 35857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +2100 +07E0 +E520 +27C0 +2520 +25E0 +2D00 +37E0 +2900 +11E0 +ENDCHAR +STARTCHAR U_8C12 +ENCODING 35858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +0440 +E7C0 +2200 +27E0 +2CA0 +3560 +27A0 +0040 +ENDCHAR +STARTCHAR U_8C13 +ENCODING 35859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +0FE0 +E920 +2FE0 +2440 +27C0 +2C40 +37C0 +2440 +04C0 +ENDCHAR +STARTCHAR U_8C14 +ENCODING 35860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +0EE0 +0000 +E7C0 +2000 +2FE0 +2A00 +33C0 +2040 +0380 +ENDCHAR +STARTCHAR U_8C15 +ENCODING 35861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +2440 +0BA0 +E000 +2E20 +2AA0 +2EA0 +2AA0 +3EA0 +6A20 +0A60 +ENDCHAR +STARTCHAR U_8C16 +ENCODING 35862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F20 +0540 +EFE0 +2200 +2FE0 +2200 +2FC0 +3640 +2980 +0660 +ENDCHAR +STARTCHAR U_8C17 +ENCODING 35863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +2900 +1FC0 +0A40 +EFC0 +22A0 +24E0 +2B00 +3080 +2600 +0180 +ENDCHAR +STARTCHAR U_8C18 +ENCODING 35864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +25E0 +0220 +EC80 +2540 +2620 +2000 +2FC0 +3440 +27C0 +0440 +ENDCHAR +STARTCHAR U_8C19 +ENCODING 35865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0280 +0FE0 +E000 +27C0 +2440 +2FC0 +3440 +27C0 +0440 +ENDCHAR +STARTCHAR U_8C1A +ENCODING 35866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0240 +07E0 +E440 +2480 +2760 +2C80 +3720 +2840 +1380 +ENDCHAR +STARTCHAR U_8C1B +ENCODING 35867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0280 +0FE0 +E920 +27C0 +2540 +2D40 +3540 +25C0 +0100 +ENDCHAR +STARTCHAR U_8C1C +ENCODING 35868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2AA0 +05C0 +E080 +3FE0 +2480 +25C0 +2EA0 +3480 +2A00 +11E0 +ENDCHAR +STARTCHAR U_8C1D +ENCODING 35869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0820 +EFE0 +2800 +2FE0 +2AA0 +2FE0 +3AA0 +2AA0 +1060 +ENDCHAR +STARTCHAR U_8C1E +ENCODING 35870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4520 +05C0 +CB00 +57E0 +4440 +47C0 +5440 +67C0 +4440 +04C0 +ENDCHAR +STARTCHAR U_8C1F +ENCODING 35871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +0280 +E7C0 +2440 +27C0 +2440 +2FE0 +3100 +6280 +0C60 +ENDCHAR +STARTCHAR U_8C20 +ENCODING 35872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9240 +4A80 +5FE0 +1020 +CF80 +4880 +4880 +5F80 +6520 +4920 +10E0 +ENDCHAR +STARTCHAR U_8C21 +ENCODING 35873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +07C0 +0540 +E7C0 +2440 +2A20 +23C0 +3640 +2180 +0E60 +ENDCHAR +STARTCHAR U_8C22 +ENCODING 35874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8840 +5E40 +1240 +DFE0 +5240 +5F40 +52C0 +5E40 +6A40 +5240 +26C0 +ENDCHAR +STARTCHAR U_8C23 +ENCODING 35875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F20 +0A20 +0540 +E7C0 +2900 +2FE0 +2100 +2520 +3520 +27E0 +ENDCHAR +STARTCHAR U_8C24 +ENCODING 35876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0280 +0FE0 +E920 +2FE0 +2200 +2BC0 +3240 +2440 +1980 +ENDCHAR +STARTCHAR U_8C25 +ENCODING 35877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +2480 +0FE0 +0280 +E440 +2820 +2FE0 +2AA0 +3AA0 +2AA0 +1FE0 +ENDCHAR +STARTCHAR U_8C26 +ENCODING 35878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +5FE0 +0500 +CFC0 +4540 +5FE0 +4540 +5FC0 +6D80 +5540 +2520 +ENDCHAR +STARTCHAR U_8C27 +ENCODING 35879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8320 +4A40 +0AA0 +CB60 +55C0 +4000 +4FE0 +5AA0 +6AA0 +CAA0 +1FE0 +ENDCHAR +STARTCHAR U_8C28 +ENCODING 35880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +0280 +E100 +27C0 +2540 +2FE0 +2900 +37C0 +2100 +0FE0 +ENDCHAR +STARTCHAR U_8C29 +ENCODING 35881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +07C0 +E440 +2FE0 +2AA0 +2FE0 +2C40 +3280 +6100 +0EE0 +ENDCHAR +STARTCHAR U_8C2A +ENCODING 35882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0280 +EFE0 +2920 +2FE0 +2920 +2BA0 +3AA0 +6BA0 +0860 +ENDCHAR +STARTCHAR U_8C2B +ENCODING 35883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2FE0 +0A20 +EEA0 +2AA0 +2EA0 +2A60 +2FE0 +3120 +6220 +0CC0 +ENDCHAR +STARTCHAR U_8C2C +ENCODING 35884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +0660 +EAA0 +2300 +2480 +3A60 +2500 +3240 +2180 +0E00 +ENDCHAR +STARTCHAR U_8C2D +ENCODING 35885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +0FE0 +EAA0 +2FE0 +2440 +27C0 +3440 +2FE0 +2100 +0100 +ENDCHAR +STARTCHAR U_8C2E +ENCODING 35886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +5540 +1FE0 +0CC0 +D760 +4000 +4FC0 +4840 +6FC0 +4840 +0FC0 +ENDCHAR +STARTCHAR U_8C2F +ENCODING 35887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +27E0 +0480 +0FC0 +E480 +27C0 +2480 +2FE0 +3540 +2AA0 +0AA0 +ENDCHAR +STARTCHAR U_8C30 +ENCODING 35888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BE0 +2520 +0FE0 +0920 +EFE0 +2AA0 +2FE0 +2920 +3BA0 +6D60 +0860 +ENDCHAR +STARTCHAR U_8C31 +ENCODING 35889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2FE0 +0AA0 +06C0 +EFE0 +2000 +27C0 +2C40 +37C0 +2440 +07C0 +ENDCHAR +STARTCHAR U_8C32 +ENCODING 35890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2280 +0FE0 +E520 +2900 +2FE0 +2AA0 +2C60 +3BA0 +2AA0 +0BE0 +ENDCHAR +STARTCHAR U_8C33 +ENCODING 35891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8440 +5F60 +0440 +DFE0 +5B40 +5540 +5F40 +5540 +7F40 +D5A0 +1320 +ENDCHAR +STARTCHAR U_8C34 +ENCODING 35892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +2BE0 +0AA0 +E7E0 +3A40 +2A40 +2BE0 +2A20 +3BE0 +2C00 +13E0 +ENDCHAR +STARTCHAR U_8C35 +ENCODING 35893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2440 +0FE0 +06A0 +E7E0 +2400 +25E0 +2C00 +35E0 +2520 +09E0 +ENDCHAR +STARTCHAR U_8C36 +ENCODING 35894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8AC0 +55A0 +1FE0 +CA80 +5B80 +4AA0 +5BA0 +4A40 +7BE0 +CAA0 +1F20 +ENDCHAR +STARTCHAR U_8C37 +ENCODING 35895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +1080 +2440 +4620 +0900 +1080 +3FC0 +D0A0 +1080 +1F80 +1080 +ENDCHAR +STARTCHAR U_8C38 +ENCODING 35896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1880 +E240 +2420 +2120 +FA80 +2440 +2FE0 +2440 +4440 +47C0 +8440 +ENDCHAR +STARTCHAR U_8C39 +ENCODING 35897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4900 +87E0 +3100 +4940 +8640 +7A80 +4A80 +4D20 +7BE0 +4920 +ENDCHAR +STARTCHAR U_8C3A +ENCODING 35898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +8840 +2240 +57E0 +88C0 +7140 +5140 +5240 +7440 +0940 +0080 +ENDCHAR +STARTCHAR U_8C3B +ENCODING 35899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57C0 +8940 +1140 +33C0 +4940 +8940 +7BC0 +4940 +4940 +7920 +4920 +ENDCHAR +STARTCHAR U_8C3C +ENCODING 35900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5140 +4940 +83E0 +3140 +4940 +8540 +7BE0 +4800 +4940 +7A20 +4C20 +ENDCHAR +STARTCHAR U_8C3D +ENCODING 35901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1180 +4A40 +8520 +3080 +4BE0 +8440 +7880 +4BE0 +4A20 +7BE0 +4A20 +ENDCHAR +STARTCHAR U_8C3E +ENCODING 35902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +4FE0 +8420 +3140 +4A20 +8400 +7BE0 +4880 +4880 +7880 +4FE0 +ENDCHAR +STARTCHAR U_8C3F +ENCODING 35903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D40 +9520 +5200 +28C0 +5520 +7E00 +11E0 +FD20 +1120 +29E0 +C520 +ENDCHAR +STARTCHAR U_8C40 +ENCODING 35904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +5520 +8AC0 +A100 +5240 +8FE0 +7100 +5FE0 +5280 +7440 +5820 +ENDCHAR +STARTCHAR U_8C41 +ENCODING 35905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +FD20 +9600 +78C0 +1120 +7A00 +11E0 +FD20 +4920 +49E0 +7920 +ENDCHAR +STARTCHAR U_8C42 +ENCODING 35906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +4DA0 +8360 +35A0 +4B00 +8480 +7A60 +4D00 +4A40 +7880 +4F00 +ENDCHAR +STARTCHAR U_8C43 +ENCODING 35907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6E80 +9480 +2FE0 +5AA0 +8EA0 +0AA0 +EEA0 +AAA0 +BF40 +E2A0 +A320 +ENDCHAR +STARTCHAR U_8C44 +ENCODING 35908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +4FE0 +A100 +2FE0 +5AA0 +8FE0 +7440 +57C0 +5440 +77C0 +5820 +ENDCHAR +STARTCHAR U_8C45 +ENCODING 35909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +64E0 +9E80 +0AE0 +6F20 +90E0 +0E80 +EAE0 +AE80 +AAE0 +EE80 +AAE0 +ENDCHAR +STARTCHAR U_8C46 +ENCODING 35910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +7FC0 +0000 +3F80 +2080 +3F80 +2080 +1100 +0900 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_8C47 +ENCODING 35911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC00 +03E0 +0080 +7C80 +4480 +7C80 +0080 +4480 +2880 +1C80 +E3E0 +ENDCHAR +STARTCHAR U_8C48 +ENCODING 35912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +0000 +FFE0 +0000 +3F80 +2080 +3F80 +1100 +FFE0 +ENDCHAR +STARTCHAR U_8C49 +ENCODING 35913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +03E0 +F880 +8880 +8BE0 +FA20 +0140 +8940 +5080 +3940 +C620 +ENDCHAR +STARTCHAR U_8C4A +ENCODING 35914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +7FC0 +4A40 +7FC0 +4A40 +FFE0 +2080 +3F80 +1100 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_8C4B +ENCODING 35915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3DE0 +4540 +A880 +5FC0 +2020 +DF80 +1080 +1F80 +0900 +FFE0 +ENDCHAR +STARTCHAR U_8C4C +ENCODING 35916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +07E0 +F420 +9200 +93E0 +F4A0 +02A0 +91E0 +6280 +34A0 +C8E0 +ENDCHAR +STARTCHAR U_8C4D +ENCODING 35917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +07E0 +F520 +97E0 +9520 +F7E0 +1280 +9FE0 +6080 +3880 +C080 +ENDCHAR +STARTCHAR U_8C4E +ENCODING 35918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +A240 +FA40 +8980 +FA40 +A420 +FFE0 +2080 +3F80 +1100 +FFE0 +ENDCHAR +STARTCHAR U_8C4F +ENCODING 35919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +F500 +0FE0 +F540 +9FE0 +9540 +FFC0 +9500 +6D80 +3540 +C520 +ENDCHAR +STARTCHAR U_8C50 +ENCODING 35920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +7FC0 +5540 +7FC0 +5540 +FFE0 +2080 +3F80 +1100 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_8C51 +ENCODING 35921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +FBE0 +A8A0 +FBE0 +0280 +FFE0 +49A0 +7AA0 +4AE0 +3480 +F880 +ENDCHAR +STARTCHAR U_8C52 +ENCODING 35922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A940 +FFE0 +A8A0 +FBE0 +0280 +FFE0 +48A0 +79A0 +4EE0 +3080 +F880 +ENDCHAR +STARTCHAR U_8C53 +ENCODING 35923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +FFE0 +A900 +FA80 +0540 +F8A0 +57C0 +7540 +5540 +2540 +FFE0 +ENDCHAR +STARTCHAR U_8C54 +ENCODING 35924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D480 +FFE0 +D480 +FFE0 +D540 +FFE0 +4800 +7BE0 +4AA0 +32A0 +FFE0 +ENDCHAR +STARTCHAR U_8C55 +ENCODING 35925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0840 +1880 +6500 +0A00 +1300 +6680 +0A40 +7220 +0C00 +ENDCHAR +STARTCHAR U_8C56 +ENCODING 35926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0840 +1480 +7700 +0A00 +1B00 +6680 +0A60 +7200 +0C00 +ENDCHAR +STARTCHAR U_8C57 +ENCODING 35927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5120 +5340 +5580 +52C0 +55A0 +52A0 +5480 +5320 +5020 +8FE0 +ENDCHAR +STARTCHAR U_8C58 +ENCODING 35928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +27E0 +2900 +D540 +3540 +D7C0 +3900 +D520 +5120 +20E0 +ENDCHAR +STARTCHAR U_8C59 +ENCODING 35929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +FFE0 +1080 +6900 +1600 +6D00 +14E0 +6440 +0800 +ENDCHAR +STARTCHAR U_8C5A +ENCODING 35930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5100 +5220 +7C40 +5380 +5580 +7940 +5340 +5520 +9920 +B600 +ENDCHAR +STARTCHAR U_8C5B +ENCODING 35931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2240 +2240 +D460 +2800 +DBC0 +2E40 +C980 +0980 +5260 +2440 +ENDCHAR +STARTCHAR U_8C5C +ENCODING 35932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2140 +6540 +9940 +37E0 +5940 +B540 +5140 +9140 +1240 +6440 +ENDCHAR +STARTCHAR U_8C5D +ENCODING 35933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +22A0 +66A0 +AAA0 +33E0 +5A20 +B600 +5200 +9220 +5220 +21E0 +ENDCHAR +STARTCHAR U_8C5E +ENCODING 35934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FA00 +23E0 +D420 +3BA0 +D2A0 +3AA0 +D7A0 +1020 +50A0 +2040 +ENDCHAR +STARTCHAR U_8C5F +ENCODING 35935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +23E0 +6620 +ABE0 +3200 +5BE0 +B640 +5280 +9520 +7520 +29E0 +ENDCHAR +STARTCHAR U_8C60 +ENCODING 35936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2240 +2BC0 +6A40 +B240 +5BC0 +B640 +5240 +9240 +5FE0 +2000 +ENDCHAR +STARTCHAR U_8C61 +ENCODING 35937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2200 +7FC0 +A440 +3FC0 +1440 +6E80 +1300 +6680 +1A60 +E600 +ENDCHAR +STARTCHAR U_8C62 +ENCODING 35938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +7FC0 +0800 +FFE0 +2040 +DFA0 +0880 +7500 +0A80 +7240 +0C20 +ENDCHAR +STARTCHAR U_8C63 +ENCODING 35939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F6E0 +4240 +4A40 +AA40 +56E0 +B240 +5A40 +9640 +1240 +5440 +2840 +ENDCHAR +STARTCHAR U_8C64 +ENCODING 35940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +2240 +67C0 +AA40 +33C0 +5A80 +B6A0 +5240 +9240 +5320 +2200 +ENDCHAR +STARTCHAR U_8C65 +ENCODING 35941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +23E0 +6480 +A920 +33C0 +5880 +B520 +5240 +9080 +5140 +2620 +ENDCHAR +STARTCHAR U_8C66 +ENCODING 35942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4420 +7F80 +4420 +7FE0 +4A40 +7580 +8940 +B620 +ENDCHAR +STARTCHAR U_8C67 +ENCODING 35943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +F920 +27E0 +6100 +BFE0 +5520 +B7E0 +5D20 +97E0 +5520 +2560 +ENDCHAR +STARTCHAR U_8C68 +ENCODING 35944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA20 +21C0 +6620 +A900 +37E0 +5A80 +B7E0 +52A0 +92A0 +52E0 +2080 +ENDCHAR +STARTCHAR U_8C69 +ENCODING 35945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2100 +6320 +AD40 +3180 +5AC0 +B5A0 +52A0 +9480 +5380 +2100 +ENDCHAR +STARTCHAR U_8C6A +ENCODING 35946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +FFE0 +8020 +3F80 +1400 +6A80 +1700 +0A80 +7460 +ENDCHAR +STARTCHAR U_8C6B +ENCODING 35947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F780 +1480 +AFE0 +4920 +FFE0 +5220 +4540 +5B80 +4540 +5920 +C600 +ENDCHAR +STARTCHAR U_8C6C +ENCODING 35948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7A0 +2140 +6FE0 +B100 +5BC0 +B640 +5BC0 +9240 +13C0 +6240 +ENDCHAR +STARTCHAR U_8C6D +ENCODING 35949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF60 +2520 +6520 +AF60 +3400 +5FE0 +B4A0 +57A0 +9440 +54A0 +2520 +ENDCHAR +STARTCHAR U_8C6E +ENCODING 35950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2540 +6FE0 +AC40 +57C0 +B440 +5D40 +9540 +5280 +2460 +ENDCHAR +STARTCHAR U_8C6F +ENCODING 35951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2520 +62C0 +A900 +3340 +58A0 +B7E0 +5100 +9FE0 +7280 +2C60 +ENDCHAR +STARTCHAR U_8C70 +ENCODING 35952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +1140 +FD40 +8660 +FC00 +27E0 +5940 +9140 +3880 +D540 +3220 +ENDCHAR +STARTCHAR U_8C71 +ENCODING 35953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +2440 +6FC0 +B440 +27C0 +7000 +AFE0 +6AA0 +AAA0 +2AA0 +DFE0 +ENDCHAR +STARTCHAR U_8C72 +ENCODING 35954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2480 +65E0 +AD20 +35E0 +5D20 +B5E0 +5480 +95C0 +76A0 +29A0 +ENDCHAR +STARTCHAR U_8C73 +ENCODING 35955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +A520 +EF60 +B5A0 +D6A0 +BDE0 +D6A0 +94A0 +B5A0 +FFE0 +8020 +ENDCHAR +STARTCHAR U_8C74 +ENCODING 35956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFE0 +4240 +4FE0 +B920 +6FE0 +A920 +7BA0 +AAA0 +2BA0 +6860 +ENDCHAR +STARTCHAR U_8C75 +ENCODING 35957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +4940 +D6A0 +2A20 +6880 +B880 +2A80 +6AE0 +AA80 +2D80 +C8E0 +ENDCHAR +STARTCHAR U_8C76 +ENCODING 35958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +27E0 +6D40 +AFE0 +3440 +5FC0 +B440 +57C0 +9440 +77C0 +2C60 +ENDCHAR +STARTCHAR U_8C77 +ENCODING 35959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2100 +67E0 +AC20 +37E0 +5800 +B7C0 +5440 +97C0 +7280 +2FE0 +ENDCHAR +STARTCHAR U_8C78 +ENCODING 35960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +0E +30 +CB +2C +36 +CA +36 +CA +32 +C2 +0C +ENDCHAR +STARTCHAR U_8C79 +ENCODING 35961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +D100 +59E0 +6220 +D520 +28A0 +58A0 +A820 +4820 +A920 +10C0 +ENDCHAR +STARTCHAR U_8C7A +ENCODING 35962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3040 +D040 +5840 +67E0 +D040 +28C0 +5940 +AA40 +4C40 +A940 +1080 +ENDCHAR +STARTCHAR U_8C7B +ENCODING 35963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +33E0 +D080 +5880 +6080 +D080 +2FE0 +5880 +A880 +4880 +A880 +1080 +ENDCHAR +STARTCHAR U_8C7C +ENCODING 35964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1880 +E480 +5C80 +24E0 +D780 +3480 +D480 +3480 +D6A0 +54E0 +2000 +ENDCHAR +STARTCHAR U_8C7D +ENCODING 35965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +E880 +5FE0 +24A0 +D4A0 +34A0 +5560 +B620 +5420 +9420 +2460 +ENDCHAR +STARTCHAR U_8C7E +ENCODING 35966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3000 +E7E0 +5080 +2100 +D380 +2D40 +D920 +2900 +C900 +2FE0 +1000 +ENDCHAR +STARTCHAR U_8C7F +ENCODING 35967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +F100 +4BE0 +3420 +D3A0 +2AA0 +DAA0 +2BA0 +C820 +28A0 +1040 +ENDCHAR +STARTCHAR U_8C80 +ENCODING 35968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3080 +D2A0 +5AA0 +62A0 +D3E0 +2880 +5AA0 +AAA0 +4AA0 +ABE0 +1220 +ENDCHAR +STARTCHAR U_8C81 +ENCODING 35969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +E100 +5FE0 +6820 +A280 +3280 +D280 +3280 +D440 +1440 +6820 +ENDCHAR +STARTCHAR U_8C82 +ENCODING 35970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37E0 +D120 +5920 +62E0 +D440 +2800 +5BE0 +AA20 +4A20 +ABE0 +1220 +ENDCHAR +STARTCHAR U_8C83 +ENCODING 35971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1880 +F100 +4BE0 +3220 +D220 +2BE0 +DA20 +2A20 +CA20 +2BE0 +1000 +ENDCHAR +STARTCHAR U_8C84 +ENCODING 35972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +D7C0 +5940 +67E0 +D140 +2FC0 +5900 +AFC0 +4900 +AFE0 +1100 +ENDCHAR +STARTCHAR U_8C85 +ENCODING 35973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5280 +A480 +47E0 +AC80 +54C0 +B5C0 +56A0 +94A0 +1480 +6480 +ENDCHAR +STARTCHAR U_8C86 +ENCODING 35974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37E0 +D000 +5800 +63C0 +D240 +2BC0 +5A40 +ABC0 +4A40 +A800 +17E0 +ENDCHAR +STARTCHAR U_8C87 +ENCODING 35975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BC0 +E240 +5FC0 +3240 +D3C0 +2A20 +DB40 +2A80 +CA40 +2B60 +1200 +ENDCHAR +STARTCHAR U_8C88 +ENCODING 35976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +F3C0 +4A40 +3340 +D240 +2FE0 +DA40 +2B40 +CA40 +2A40 +14C0 +ENDCHAR +STARTCHAR U_8C89 +ENCODING 35977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3200 +D3C0 +5D40 +6080 +D140 +2A20 +5BC0 +AA40 +4A40 +ABC0 +1240 +ENDCHAR +STARTCHAR U_8C8A +ENCODING 35978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +33E0 +D080 +5900 +63E0 +D220 +2A20 +5BE0 +AA20 +4A20 +ABE0 +1220 +ENDCHAR +STARTCHAR U_8C8B +ENCODING 35979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +E440 +5FC0 +2440 +D7C0 +2800 +DFC0 +2900 +CFE0 +2900 +1100 +ENDCHAR +STARTCHAR U_8C8C +ENCODING 35980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +D7E0 +5C20 +67E0 +D420 +2FE0 +5A80 +AA80 +4A80 +AAA0 +1460 +ENDCHAR +STARTCHAR U_8C8D +ENCODING 35981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +33E0 +D2A0 +5AA0 +63E0 +D2A0 +2BE0 +5880 +ABE0 +4880 +A880 +17E0 +ENDCHAR +STARTCHAR U_8C8E +ENCODING 35982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3A00 +E4C0 +5C40 +26C0 +D440 +37C0 +D280 +3280 +D2A0 +54A0 +2860 +ENDCHAR +STARTCHAR U_8C8F +ENCODING 35983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +D7E0 +5D20 +67E0 +D520 +2FE0 +5A80 +AFE0 +4880 +A880 +1080 +ENDCHAR +STARTCHAR U_8C90 +ENCODING 35984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +E440 +5BA0 +2000 +CE20 +2AA0 +6EA0 +AAA0 +6EA0 +AA20 +6A60 +ENDCHAR +STARTCHAR U_8C91 +ENCODING 35985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2760 +E520 +5D20 +2760 +D400 +36E0 +54A0 +B4A0 +5740 +94A0 +6520 +ENDCHAR +STARTCHAR U_8C92 +ENCODING 35986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3520 +D520 +5FE0 +6000 +DFE0 +2200 +5FE0 +AAA0 +4AA0 +AAA0 +1060 +ENDCHAR +STARTCHAR U_8C93 +ENCODING 35987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3240 +D240 +5FE0 +6240 +D3E0 +2AA0 +5AA0 +ABE0 +4AA0 +ABE0 +1220 +ENDCHAR +STARTCHAR U_8C94 +ENCODING 35988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +D7E0 +5D20 +66A0 +D520 +2FE0 +5AA0 +ABC0 +4A80 +ABA0 +12E0 +ENDCHAR +STARTCHAR U_8C95 +ENCODING 35989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37C0 +D4A0 +5D40 +6380 +D140 +2FE0 +5900 +AFE0 +4900 +AA80 +1460 +ENDCHAR +STARTCHAR U_8C96 +ENCODING 35990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3440 +E240 +5080 +2FE0 +D440 +3820 +D7C0 +3540 +D540 +5FE0 +2000 +ENDCHAR +STARTCHAR U_8C97 +ENCODING 35991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +D7C0 +5D40 +67E0 +D540 +2FE0 +5920 +AFE0 +4C80 +AB80 +1460 +ENDCHAR +STARTCHAR U_8C98 +ENCODING 35992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5FE0 +A280 +47C0 +A440 +57C0 +B440 +5FE0 +9100 +1280 +6C60 +ENDCHAR +STARTCHAR U_8C99 +ENCODING 35993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +6800 +DBC0 +2A40 +DBC0 +2800 +DFE0 +2920 +CFE0 +3800 +17E0 +ENDCHAR +STARTCHAR U_8C9A +ENCODING 35994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3EE0 +6AA0 +9FE0 +6540 +D7C0 +2D40 +5FC0 +A900 +4FE0 +A900 +1100 +ENDCHAR +STARTCHAR U_8C9B +ENCODING 35995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1A40 +E7E0 +5A40 +2EE0 +DAA0 +3EE0 +D7E0 +3C80 +D7C0 +5480 +27E0 +ENDCHAR +STARTCHAR U_8C9C +ENCODING 35996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +EAA0 +5AA0 +2FE0 +D480 +3FE0 +5480 +B7E0 +5240 +9180 +2660 +ENDCHAR +STARTCHAR U_8C9D +ENCODING 35997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +4100 +7F00 +4100 +7F00 +4100 +4100 +7F00 +2200 +4100 +8080 +ENDCHAR +STARTCHAR U_8C9E +ENCODING 35998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0FC0 +0800 +7F00 +4100 +7F00 +4100 +7F00 +4100 +7F00 +C180 +ENDCHAR +STARTCHAR U_8C9F +ENCODING 35999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +2000 +4100 +FF80 +0000 +7F00 +4100 +7F00 +4100 +7F00 +2200 +C180 +ENDCHAR +STARTCHAR U_8CA0 +ENCODING 36000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1F00 +2200 +FF80 +2080 +3F80 +2080 +3F80 +2080 +3F80 +1100 +60C0 +ENDCHAR +STARTCHAR U_8CA1 +ENCODING 36001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +7840 +4FE0 +7840 +48C0 +7940 +4A40 +7C40 +0040 +4940 +8480 +ENDCHAR +STARTCHAR U_8CA2 +ENCODING 36002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +3F80 +2080 +4040 +ENDCHAR +STARTCHAR U_8CA3 +ENCODING 36003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +0BE0 +FC00 +0320 +00E0 +3F80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CA4 +ENCODING 36004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4A80 +7AE0 +4BA0 +7EA0 +4AA0 +7AE0 +4A80 +3220 +4A20 +81E0 +ENDCHAR +STARTCHAR U_8CA5 +ENCODING 36005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9100 +FFE0 +9000 +F380 +9280 +9280 +F280 +02A0 +94A0 +8860 +ENDCHAR +STARTCHAR U_8CA6 +ENCODING 36006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4800 +7800 +4FE0 +7A80 +4A80 +7A80 +02A0 +4AA0 +8460 +0800 +ENDCHAR +STARTCHAR U_8CA7 +ENCODING 36007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2080 +FFE0 +1100 +FF80 +2080 +3F80 +2080 +3F80 +1100 +60C0 +ENDCHAR +STARTCHAR U_8CA8 +ENCODING 36008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +2280 +6320 +ADE0 +0000 +3F80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CA9 +ENCODING 36009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0E0 +9700 +F400 +9400 +F7E0 +9420 +9640 +F540 +0480 +A940 +9220 +ENDCHAR +STARTCHAR U_8CAA +ENCODING 36010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +3580 +DF60 +0200 +3F80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CAB +ENCODING 36011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +FFE0 +2480 +3F80 +2080 +3F80 +2080 +3F80 +1100 +2080 +ENDCHAR +STARTCHAR U_8CAC +ENCODING 36012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +3F80 +0400 +FFE0 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CAD +ENCODING 36013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4200 +7FE0 +4200 +5FC0 +5040 +5FC0 +5040 +5FC0 +4880 +9040 +ENDCHAR +STARTCHAR U_8CAE +ENCODING 36014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +7A40 +0200 +FFE0 +4A00 +7A00 +4900 +7900 +4880 +78A0 +8460 +ENDCHAR +STARTCHAR U_8CAF +ENCODING 36015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +97E0 +F420 +9000 +F7E0 +9080 +9080 +F080 +0080 +A080 +9180 +ENDCHAR +STARTCHAR U_8CB0 +ENCODING 36016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +FFE0 +2500 +2700 +2000 +3FC0 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CB1 +ENCODING 36017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +77E0 +54A0 +7480 +57E0 +7620 +5540 +7540 +0480 +5540 +8A20 +ENDCHAR +STARTCHAR U_8CB2 +ENCODING 36018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +5D80 +5120 +5DE0 +E000 +3F80 +2080 +3F80 +2080 +3F80 +60C0 +ENDCHAR +STARTCHAR U_8CB3 +ENCODING 36019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +FFE0 +0100 +7D00 +0100 +FF00 +4500 +7D20 +44A0 +7C60 +C620 +ENDCHAR +STARTCHAR U_8CB4 +ENCODING 36020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +2480 +FFE0 +2080 +3F80 +2080 +3F80 +2080 +3F80 +C060 +ENDCHAR +STARTCHAR U_8CB5 +ENCODING 36021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1100 +3F80 +0800 +FFE0 +2080 +7EC0 +AFA0 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CB6 +ENCODING 36022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F020 +97C0 +F100 +9080 +F7E0 +9040 +9080 +F100 +0200 +5500 +88E0 +ENDCHAR +STARTCHAR U_8CB7 +ENCODING 36023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +4A40 +7FC0 +2080 +3F80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CB8 +ENCODING 36024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2240 +7FE0 +A100 +20E0 +3F80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CB9 +ENCODING 36025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9280 +F3E0 +9480 +F880 +9080 +93E0 +F080 +2080 +5080 +8FE0 +ENDCHAR +STARTCHAR U_8CBA +ENCODING 36026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +F420 +9420 +F7E0 +9280 +9280 +F280 +22A0 +54A0 +9860 +ENDCHAR +STARTCHAR U_8CBB +ENCODING 36027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +7FC0 +1240 +FFE0 +2220 +FFE0 +2080 +3F80 +2080 +3F80 +C060 +ENDCHAR +STARTCHAR U_8CBC +ENCODING 36028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4880 +48E0 +7880 +4880 +7BE0 +4A20 +7A20 +3220 +4BE0 +8620 +ENDCHAR +STARTCHAR U_8CBD +ENCODING 36029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9100 +F240 +9420 +FFE0 +9000 +97C0 +F440 +0440 +57C0 +8C40 +ENDCHAR +STARTCHAR U_8CBE +ENCODING 36030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0E0 +9780 +F480 +9480 +F7E0 +9480 +9480 +F480 +0540 +A740 +94A0 +ENDCHAR +STARTCHAR U_8CBF +ENCODING 36031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +EF80 +8480 +A480 +D880 +7F00 +4100 +7F00 +4100 +7F00 +2200 +C180 +ENDCHAR +STARTCHAR U_8CC0 +ENCODING 36032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +2A20 +4BE0 +9000 +3F80 +2080 +3F80 +2080 +3F80 +C060 +ENDCHAR +STARTCHAR U_8CC1 +ENCODING 36033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1500 +FFE0 +1100 +3F80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CC2 +ENCODING 36034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +93C0 +9440 +FA80 +9100 +F280 +9C60 +F7C0 +0440 +A440 +97C0 +ENDCHAR +STARTCHAR U_8CC3 +ENCODING 36035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +2200 +7FE0 +A200 +3FE0 +2080 +3C80 +2780 +2080 +3F80 +C060 +ENDCHAR +STARTCHAR U_8CC4 +ENCODING 36036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +F200 +93E0 +F620 +9BE0 +9220 +F3E0 +0220 +A220 +9260 +ENDCHAR +STARTCHAR U_8CC5 +ENCODING 36037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9100 +F240 +9780 +F120 +9240 +F480 +0140 +6220 +9420 +ENDCHAR +STARTCHAR U_8CC6 +ENCODING 36038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA20 +8940 +FFE0 +8A40 +FA40 +8A40 +FFE0 +0240 +5240 +8A40 +8C40 +ENDCHAR +STARTCHAR U_8CC7 +ENCODING 36039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8800 +5FC0 +2240 +FF00 +61C0 +3F00 +2100 +3F00 +2100 +3F00 +E1C0 +ENDCHAR +STARTCHAR U_8CC8 +ENCODING 36040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +2080 +3C80 +2780 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CC9 +ENCODING 36041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F200 +97C0 +F540 +9540 +F540 +9540 +F540 +0540 +6540 +9FE0 +ENDCHAR +STARTCHAR U_8CCA +ENCODING 36042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0C0 +90A0 +FFE0 +9280 +F2A0 +9FA0 +92C0 +F2A0 +2260 +54A0 +8920 +ENDCHAR +STARTCHAR U_8CCB +ENCODING 36043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8880 +FFE0 +8A40 +FC20 +8A40 +FA40 +0180 +5180 +8A40 +8C20 +ENDCHAR +STARTCHAR U_8CCC +ENCODING 36044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1200 +3C80 +0B80 +1C40 +E080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CCD +ENCODING 36045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8BE0 +FA80 +8A80 +FA80 +8BE0 +FA80 +8A80 +5280 +4C80 +8BE0 +ENDCHAR +STARTCHAR U_8CCE +ENCODING 36046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +93C0 +FE00 +93C0 +9E00 +F3C0 +9E00 +F240 +5180 +56A0 +8860 +ENDCHAR +STARTCHAR U_8CCF +ENCODING 36047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +8A20 +FBE0 +8A20 +FBE0 +8A20 +8A20 +FBE0 +5140 +8E20 +ENDCHAR +STARTCHAR U_8CD0 +ENCODING 36048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F240 +97E0 +F240 +9520 +F1C0 +9240 +F640 +0140 +6180 +9660 +ENDCHAR +STARTCHAR U_8CD1 +ENCODING 36049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9400 +95C0 +F400 +97E0 +F540 +9540 +F560 +2540 +55A0 +8920 +ENDCHAR +STARTCHAR U_8CD2 +ENCODING 36050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F380 +9440 +9820 +F380 +9000 +FFE0 +9100 +F540 +2940 +5120 +8B20 +ENDCHAR +STARTCHAR U_8CD3 +ENCODING 36051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +2500 +FF80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CD4 +ENCODING 36052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +7FC0 +4440 +7FC0 +5040 +5FC0 +5040 +5FC0 +8880 +ENDCHAR +STARTCHAR U_8CD5 +ENCODING 36053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +8920 +8FE0 +F900 +8D40 +FB80 +8B40 +FD40 +2920 +5720 +8A00 +ENDCHAR +STARTCHAR U_8CD6 +ENCODING 36054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8940 +FE20 +8BC0 +F880 +8FE0 +F880 +8AC0 +54A0 +4880 +8580 +ENDCHAR +STARTCHAR U_8CD7 +ENCODING 36055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +97E0 +F4A0 +97E0 +9080 +F7E0 +94A0 +F7E0 +24A0 +5080 +8880 +ENDCHAR +STARTCHAR U_8CD8 +ENCODING 36056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +E100 +AFE0 +E900 +A900 +EFC0 +A900 +E940 +4920 +5100 +AFE0 +ENDCHAR +STARTCHAR U_8CD9 +ENCODING 36057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9520 +F7E0 +9520 +F7E0 +9420 +97A0 +F6A0 +27A0 +5420 +9860 +ENDCHAR +STARTCHAR U_8CDA +ENCODING 36058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +5F40 +E4E0 +3F80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CDB +ENCODING 36059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7BC0 +2080 +7BC0 +2080 +DB60 +3F80 +2280 +2C80 +3F80 +71C0 +ENDCHAR +STARTCHAR U_8CDC +ENCODING 36060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +F440 +97C0 +F200 +97E0 +FAA0 +24A0 +5120 +8AC0 +ENDCHAR +STARTCHAR U_8CDD +ENCODING 36061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9820 +9280 +F440 +9900 +FFE0 +9100 +F380 +2540 +5920 +8920 +ENDCHAR +STARTCHAR U_8CDE +ENCODING 36062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FFE0 +9120 +3F80 +2080 +3F80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CDF +ENCODING 36063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E280 +AFE0 +EAA0 +AAA0 +EFE0 +AAA0 +AAA0 +EFE0 +2280 +5440 +8820 +ENDCHAR +STARTCHAR U_8CE0 +ENCODING 36064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +F440 +9280 +FFE0 +9000 +F3C0 +9240 +2240 +53C0 +8A40 +ENDCHAR +STARTCHAR U_8CE1 +ENCODING 36065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4440 +7FE0 +4840 +7FC0 +5080 +7FC0 +50A0 +9F80 +70E0 +ENDCHAR +STARTCHAR U_8CE2 +ENCODING 36066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A240 +F980 +8A40 +FC20 +FF80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CE3 +ENCODING 36067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +4A40 +7FC0 +2080 +3F80 +2080 +3F80 +F0E0 +ENDCHAR +STARTCHAR U_8CE4 +ENCODING 36068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9FE0 +F140 +90A0 +F760 +9280 +9240 +FFE0 +2140 +50A0 +9F60 +ENDCHAR +STARTCHAR U_8CE5 +ENCODING 36069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +F440 +9440 +FAA0 +9120 +9100 +FFE0 +2100 +5100 +9100 +ENDCHAR +STARTCHAR U_8CE6 +ENCODING 36070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +9EC0 +F0A0 +9FE0 +F280 +9280 +9B80 +FAA0 +2AA0 +5F60 +9020 +ENDCHAR +STARTCHAR U_8CE7 +ENCODING 36071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F520 +9540 +F980 +9140 +F220 +9D00 +9520 +F540 +2980 +5240 +8C20 +ENDCHAR +STARTCHAR U_8CE8 +ENCODING 36072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +FFE0 +2480 +7FC0 +A0A0 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CE9 +ENCODING 36073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +7A20 +49C0 +4800 +7BE0 +4880 +49C0 +7AA0 +4880 +8580 +ENDCHAR +STARTCHAR U_8CEA +ENCODING 36074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4200 +7FE0 +5280 +9480 +3F80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CEB +ENCODING 36075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2480 +5540 +FFE0 +A0A0 +3F80 +2080 +3F80 +1100 +60C0 +ENDCHAR +STARTCHAR U_8CEC +ENCODING 36076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9400 +F7C0 +9400 +F7C0 +9400 +9FE0 +F540 +2480 +5540 +8E20 +ENDCHAR +STARTCHAR U_8CED +ENCODING 36077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9120 +F7A0 +9140 +FFE0 +9200 +97C0 +FA40 +23C0 +5240 +8BC0 +ENDCHAR +STARTCHAR U_8CEE +ENCODING 36078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7F80 +0880 +FFE0 +5240 +3F80 +2080 +3F80 +2080 +3F80 +C060 +ENDCHAR +STARTCHAR U_8CEF +ENCODING 36079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7E0 +9AA0 +F3A0 +92A0 +F3A0 +97C0 +F080 +0FE0 +5100 +9300 +ENDCHAR +STARTCHAR U_8CF0 +ENCODING 36080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +F100 +97C0 +F200 +9FE0 +9660 +FBC0 +2240 +53C0 +9A40 +ENDCHAR +STARTCHAR U_8CF1 +ENCODING 36081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9920 +FFE0 +9540 +F7C0 +9540 +97C0 +F100 +2FE0 +5100 +8900 +ENDCHAR +STARTCHAR U_8CF2 +ENCODING 36082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1780 +2480 +EFE0 +2380 +2540 +3F80 +2080 +3F80 +2080 +3F80 +60C0 +ENDCHAR +STARTCHAR U_8CF3 +ENCODING 36083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F480 +94C0 +FEA0 +9480 +FFE0 +9080 +9EA0 +FAA0 +2EC0 +5120 +8A20 +ENDCHAR +STARTCHAR U_8CF4 +ENCODING 36084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA40 +27E0 +FA20 +ABE0 +AA20 +FBE0 +2220 +73E0 +A940 +2620 +ENDCHAR +STARTCHAR U_8CF5 +ENCODING 36085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +F5A0 +9420 +F3C0 +9240 +93C0 +F240 +23C0 +5240 +9BC0 +ENDCHAR +STARTCHAR U_8CF6 +ENCODING 36086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F280 +9440 +F920 +97E0 +F520 +94A0 +F7E0 +0540 +5540 +99C0 +ENDCHAR +STARTCHAR U_8CF7 +ENCODING 36087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +5540 +FFE0 +8020 +3F80 +2080 +3F80 +2080 +3F80 +C060 +ENDCHAR +STARTCHAR U_8CF8 +ENCODING 36088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7920 +5540 +5FE0 +7200 +5FE0 +5440 +7F60 +55C0 +5440 +97C0 +BC60 +ENDCHAR +STARTCHAR U_8CF9 +ENCODING 36089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9280 +F7E0 +9280 +F440 +9820 +97C0 +F540 +2540 +5540 +9FE0 +ENDCHAR +STARTCHAR U_8CFA +ENCODING 36090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9FE0 +F280 +9FE0 +F2A0 +9FE0 +92A0 +FFE0 +0280 +56C0 +8AA0 +ENDCHAR +STARTCHAR U_8CFB +ENCODING 36091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F140 +9FE0 +F520 +97E0 +F520 +97E0 +9040 +FFE0 +2240 +5140 +9880 +ENDCHAR +STARTCHAR U_8CFC +ENCODING 36092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9FE0 +F280 +97C0 +9280 +FFE0 +9540 +97C0 +F540 +6FE0 +9440 +ENDCHAR +STARTCHAR U_8CFD +ENCODING 36093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8A20 +7FC0 +1200 +FFC0 +2080 +7FC0 +A0A0 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8CFE +ENCODING 36094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A7E0 +A100 +F7C0 +D100 +D7E0 +F440 +A7C0 +A440 +FFC0 +0C60 +ENDCHAR +STARTCHAR U_8CFF +ENCODING 36095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF60 +95A0 +F360 +95A0 +F240 +9D20 +9280 +F120 +0640 +6080 +9700 +ENDCHAR +STARTCHAR U_8D00 +ENCODING 36096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +9360 +F940 +9080 +F960 +3F80 +2080 +3F80 +2080 +3F80 +60C0 +ENDCHAR +STARTCHAR U_8D01 +ENCODING 36097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +79E0 +4940 +7A40 +9140 +7940 +4880 +7880 +5140 +8A20 +ENDCHAR +STARTCHAR U_8D02 +ENCODING 36098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +97A0 +F540 +97E0 +9180 +F660 +9140 +F6A0 +2120 +5040 +8B80 +ENDCHAR +STARTCHAR U_8D03 +ENCODING 36099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9540 +F7C0 +9100 +F7E0 +9520 +F7E0 +0140 +66A0 +9BC0 +ENDCHAR +STARTCHAR U_8D04 +ENCODING 36100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +5140 +FB40 +22A0 +3F80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8D05 +ENCODING 36101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FDE0 +1340 +FC80 +4940 +BFA0 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8D06 +ENCODING 36102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F140 +9FE0 +F100 +9280 +9C60 +F280 +95A0 +FFE0 +2480 +5B40 +8920 +ENDCHAR +STARTCHAR U_8D07 +ENCODING 36103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +46C0 +F0A0 +AFE0 +4A80 +ABE0 +3FA0 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8D08 +ENCODING 36104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9280 +FFE0 +9AA0 +9FE0 +F000 +97C0 +F440 +27C0 +5440 +8FC0 +ENDCHAR +STARTCHAR U_8D09 +ENCODING 36105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9280 +FFE0 +9AA0 +9FE0 +F440 +97C0 +F440 +2FE0 +5100 +8900 +ENDCHAR +STARTCHAR U_8D0A +ENCODING 36106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A500 +FFC0 +A500 +FFE0 +5A80 +BFE0 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8D0B +ENCODING 36107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5480 +7FE0 +5480 +57E0 +5400 +4FC0 +4840 +4FC0 +4480 +9860 +ENDCHAR +STARTCHAR U_8D0C +ENCODING 36108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0AA0 +F6C0 +9FE0 +F280 +97C0 +F100 +97C0 +F100 +0FE0 +5280 +8C60 +ENDCHAR +STARTCHAR U_8D0D +ENCODING 36109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F380 +9480 +F7E0 +9CA0 +97E0 +F400 +97C0 +F400 +2BC0 +5240 +93C0 +ENDCHAR +STARTCHAR U_8D0E +ENCODING 36110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +9280 +F7C0 +9540 +F7C0 +9540 +FFE0 +0920 +6BA0 +9860 +ENDCHAR +STARTCHAR U_8D0F +ENCODING 36111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +3FC0 +2080 +7FC0 +4940 +7F40 +49C0 +7F40 +8A60 +ENDCHAR +STARTCHAR U_8D10 +ENCODING 36112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +F160 +97C0 +9140 +FFE0 +9280 +F540 +2FE0 +5AA0 +8FE0 +ENDCHAR +STARTCHAR U_8D11 +ENCODING 36113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +5080 +FFE0 +8A40 +FBC0 +8A40 +FBC0 +2240 +FBC0 +2420 +ENDCHAR +STARTCHAR U_8D12 +ENCODING 36114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A2A0 +FBE0 +8920 +FFE0 +2080 +3F80 +2080 +3F80 +1100 +60C0 +ENDCHAR +STARTCHAR U_8D13 +ENCODING 36115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E0C0 +A0A0 +EFE0 +BA80 +AF80 +F9A0 +AFA0 +EAC0 +4F60 +A8A0 +B120 +ENDCHAR +STARTCHAR U_8D14 +ENCODING 36116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +7BC0 +CA60 +7BC0 +4A40 +7BC0 +CE60 +ENDCHAR +STARTCHAR U_8D15 +ENCODING 36117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +AFE0 +A880 +BFE0 +EAA0 +AFE0 +AA40 +EBC0 +2240 +63C0 +A660 +ENDCHAR +STARTCHAR U_8D16 +ENCODING 36118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +F100 +9FE0 +9AA0 +FFE0 +9440 +F7C0 +2440 +57C0 +8C60 +ENDCHAR +STARTCHAR U_8D17 +ENCODING 36119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +AFC0 +E840 +AFE0 +AAA0 +BFE0 +9040 +9FC0 +9040 +9FC0 +B060 +ENDCHAR +STARTCHAR U_8D18 +ENCODING 36120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +FFE0 +9AA0 +F7C0 +9540 +F4C0 +9640 +F540 +07C0 +5280 +9440 +ENDCHAR +STARTCHAR U_8D19 +ENCODING 36121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1CE0 +1080 +FFE0 +92A0 +BFE0 +A940 +3FE0 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_8D1A +ENCODING 36122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +EEE0 +AA80 +FFE0 +A020 +EEE0 +AA80 +EEE0 +0A80 +AEA0 +AAE0 +ENDCHAR +STARTCHAR U_8D1B +ENCODING 36123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBE0 +5540 +FFE0 +4880 +7FE0 +4A40 +7BC0 +2240 +FBC0 +2420 +ENDCHAR +STARTCHAR U_8D1C +ENCODING 36124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +EFE0 +A080 +E7E0 +B480 +FFA0 +A5A0 +FFC0 +1540 +B7C0 +A8A0 +ENDCHAR +STARTCHAR U_8D1D +ENCODING 36125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 1 -1 +BITMAP +7F +41 +49 +49 +49 +49 +49 +49 +14 +23 +C1 +ENDCHAR +STARTCHAR U_8D1E +ENCODING 36126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +07E0 +0400 +3F80 +2080 +2480 +2480 +2480 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_8D1F +ENCODING 36127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +1000 +1F00 +2200 +7F80 +A080 +2480 +2480 +2480 +2480 +1B00 +E0C0 +ENDCHAR +STARTCHAR U_8D20 +ENCODING 36128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +2000 +3200 +4100 +FF80 +0100 +7F00 +4900 +4900 +5500 +2200 +C180 +ENDCHAR +STARTCHAR U_8D21 +ENCODING 36129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +0000 +3F80 +2080 +2480 +2480 +2A80 +1100 +60C0 +ENDCHAR +STARTCHAR U_8D22 +ENCODING 36130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8880 +AFE0 +A880 +A980 +A980 +AA80 +2280 +5480 +4880 +8180 +ENDCHAR +STARTCHAR U_8D23 +ENCODING 36131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +7FC0 +0400 +FFE0 +2080 +2480 +2480 +0900 +F0E0 +ENDCHAR +STARTCHAR U_8D24 +ENCODING 36132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +9240 +9180 +9240 +3FA0 +2080 +2480 +2480 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_8D25 +ENCODING 36133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8900 +A9E0 +A940 +AB40 +AD40 +A940 +2140 +5080 +4940 +8A20 +ENDCHAR +STARTCHAR U_8D26 +ENCODING 36134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +8A40 +AA80 +AB00 +AA00 +AFE0 +AA80 +2280 +5240 +4B40 +8A20 +ENDCHAR +STARTCHAR U_8D27 +ENCODING 36135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +2380 +6E20 +A1E0 +0000 +3F80 +2080 +2480 +2480 +0A00 +71C0 +ENDCHAR +STARTCHAR U_8D28 +ENCODING 36136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E00 +4200 +7FE0 +4200 +5FC0 +5040 +5240 +5240 +8500 +B8E0 +ENDCHAR +STARTCHAR U_8D29 +ENCODING 36137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F820 +8BC0 +AA00 +ABE0 +AAA0 +AAA0 +AAA0 +22A0 +5240 +4CA0 +8920 +ENDCHAR +STARTCHAR U_8D2A +ENCODING 36138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +3580 +DF60 +0100 +3F80 +2480 +2480 +2A80 +1100 +60C0 +ENDCHAR +STARTCHAR U_8D2B +ENCODING 36139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2080 +DFE0 +0880 +1100 +7F80 +2080 +2480 +2480 +0A00 +71C0 +ENDCHAR +STARTCHAR U_8D2C +ENCODING 36140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F860 +8F80 +A900 +A880 +AFE0 +A840 +A880 +A900 +5200 +4D00 +88E0 +ENDCHAR +STARTCHAR U_8D2D +ENCODING 36141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +8A00 +ABE0 +AC20 +A920 +AA20 +AAA0 +2760 +5020 +4820 +88C0 +ENDCHAR +STARTCHAR U_8D2E +ENCODING 36142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8880 +ABE0 +AA20 +AA20 +A800 +A800 +2000 +5000 +4BE0 +8800 +ENDCHAR +STARTCHAR U_8D2F +ENCODING 36143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +FFE0 +2480 +3F80 +0000 +3F80 +2480 +2480 +0A00 +71C0 +ENDCHAR +STARTCHAR U_8D30 +ENCODING 36144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +0140 +FFE0 +0100 +7D00 +0100 +7D00 +5520 +54A0 +2860 +C620 +ENDCHAR +STARTCHAR U_8D31 +ENCODING 36145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +8A40 +AFC0 +AA00 +AA60 +AF80 +A920 +2140 +50A0 +4960 +8620 +ENDCHAR +STARTCHAR U_8D32 +ENCODING 36146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1500 +FFE0 +1100 +3F80 +2080 +2480 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_8D33 +ENCODING 36147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FFE0 +2480 +2780 +2000 +3FE0 +2080 +2480 +2480 +0B00 +70C0 +ENDCHAR +STARTCHAR U_8D34 +ENCODING 36148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8880 +A8E0 +A880 +A880 +ABE0 +AA20 +AA20 +2220 +53E0 +8A20 +ENDCHAR +STARTCHAR U_8D35 +ENCODING 36149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +2480 +3F80 +0400 +FFE0 +2080 +2480 +2480 +0B00 +F0E0 +ENDCHAR +STARTCHAR U_8D36 +ENCODING 36150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +AA20 +AA20 +AA20 +ABE0 +A940 +A940 +3140 +4A40 +8460 +ENDCHAR +STARTCHAR U_8D37 +ENCODING 36151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +24E0 +6F00 +A120 +20E0 +3F80 +2080 +2480 +2480 +1900 +E0E0 +ENDCHAR +STARTCHAR U_8D38 +ENCODING 36152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +4120 +5120 +FAC0 +0800 +3F80 +2080 +2480 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_8D39 +ENCODING 36153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +FF80 +1280 +FF80 +9200 +FFC0 +4140 +4900 +4900 +1600 +E180 +ENDCHAR +STARTCHAR U_8D3A +ENCODING 36154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FD20 +25E0 +4400 +9FC0 +1040 +1240 +1240 +1240 +0D80 +7060 +ENDCHAR +STARTCHAR U_8D3B +ENCODING 36155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8900 +AA40 +AFE0 +A820 +A800 +ABE0 +2220 +5220 +4BE0 +8A20 +ENDCHAR +STARTCHAR U_8D3C +ENCODING 36156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +88A0 +AFE0 +AA80 +AAA0 +AFA0 +AAC0 +A280 +54A0 +4960 +9220 +ENDCHAR +STARTCHAR U_8D3D +ENCODING 36157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FF80 +2280 +F780 +22A0 +6460 +3F80 +2080 +2480 +0B00 +70C0 +ENDCHAR +STARTCHAR U_8D3E +ENCODING 36158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +0000 +3F80 +2480 +2480 +0A00 +71C0 +ENDCHAR +STARTCHAR U_8D3F +ENCODING 36159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8FE0 +A900 +ABE0 +AA20 +AFE0 +AA20 +23E0 +5220 +4A20 +8A60 +ENDCHAR +STARTCHAR U_8D40 +ENCODING 36160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +BA80 +A320 +FBE0 +0000 +3F80 +2080 +2480 +2480 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_8D41 +ENCODING 36161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +4200 +DFE0 +4200 +4FC0 +0000 +3F80 +2480 +2480 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_8D42 +ENCODING 36162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +8BE0 +AA40 +AD80 +AA40 +AC20 +ABC0 +2240 +5240 +4BC0 +8A40 +ENDCHAR +STARTCHAR U_8D43 +ENCODING 36163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8BE0 +AA00 +AA80 +AA80 +ABE0 +AA80 +2280 +5480 +4880 +8BE0 +ENDCHAR +STARTCHAR U_8D44 +ENCODING 36164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +2FE0 +D240 +4500 +48C0 +3F80 +2080 +2480 +2480 +0A00 +71C0 +ENDCHAR +STARTCHAR U_8D45 +ENCODING 36165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8FE0 +A900 +AA40 +ABC0 +A880 +A920 +2640 +5080 +4940 +8E20 +ENDCHAR +STARTCHAR U_8D46 +ENCODING 36166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +AA20 +ABE0 +AA40 +AA20 +AA80 +2460 +5580 +4840 +8820 +ENDCHAR +STARTCHAR U_8D47 +ENCODING 36167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +88A0 +AFE0 +A880 +ACA0 +AAC0 +A9C0 +22A0 +54A0 +4AA0 +8900 +ENDCHAR +STARTCHAR U_8D48 +ENCODING 36168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8800 +ABE0 +A800 +AFE0 +AA80 +AAA0 +AA40 +2A40 +5AA0 +8B20 +ENDCHAR +STARTCHAR U_8D49 +ENCODING 36169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1480 +FFE0 +2480 +7FC0 +A0A0 +2480 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_8D4A +ENCODING 36170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8940 +AA20 +ADC0 +A800 +AFE0 +A880 +22C0 +54A0 +4CA0 +8980 +ENDCHAR +STARTCHAR U_8D4B +ENCODING 36171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8EC0 +A8A0 +AFE0 +AA80 +AA80 +AB80 +AAA0 +2AA0 +5B60 +8C20 +ENDCHAR +STARTCHAR U_8D4C +ENCODING 36172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8FA0 +A940 +AFE0 +A900 +ABC0 +AA40 +27C0 +5240 +4A40 +8BC0 +ENDCHAR +STARTCHAR U_8D4D +ENCODING 36173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +5540 +FFE0 +8020 +3F80 +2480 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_8D4E +ENCODING 36174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8FE0 +A900 +AFE0 +AAA0 +AD80 +AA80 +A7E0 +3100 +4A80 +8C60 +ENDCHAR +STARTCHAR U_8D4F +ENCODING 36175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +1500 +FFE0 +9120 +1F00 +0000 +3F80 +2480 +2480 +0A00 +71C0 +ENDCHAR +STARTCHAR U_8D50 +ENCODING 36176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +8A40 +ABC0 +AA40 +ABC0 +AA00 +AFE0 +A2A0 +24A0 +5120 +8AC0 +ENDCHAR +STARTCHAR U_8D51 +ENCODING 36177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +2480 +0A00 +1100 +FBE0 +AAA0 +AAA0 +2080 +5140 +8A20 +ENDCHAR +STARTCHAR U_8D52 +ENCODING 36178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8AA0 +AAA0 +ABE0 +AAA0 +ABE0 +AA20 +ABA0 +52A0 +4BA0 +8460 +ENDCHAR +STARTCHAR U_8D53 +ENCODING 36179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4240 +7FE0 +4240 +5FC0 +4880 +5AC0 +6AA0 +8500 +98E0 +ENDCHAR +STARTCHAR U_8D54 +ENCODING 36180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F880 +8FE0 +AA40 +A980 +AFE0 +A800 +23C0 +5240 +4A40 +8BC0 +ENDCHAR +STARTCHAR U_8D55 +ENCODING 36181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FAA0 +8AC0 +AC80 +A940 +AAA0 +AC80 +AAA0 +22C0 +5580 +4A40 +8C20 +ENDCHAR +STARTCHAR U_8D56 +ENCODING 36182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F9E0 +2240 +FFE0 +AA20 +AAA0 +FAA0 +22A0 +7080 +A940 +2620 +ENDCHAR +STARTCHAR U_8D57 +ENCODING 36183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +AAA0 +AA20 +AAA0 +A800 +ABE0 +22A0 +5360 +4AA0 +8BE0 +ENDCHAR +STARTCHAR U_8D58 +ENCODING 36184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +11E0 +FF40 +2480 +4960 +BF80 +2080 +2480 +2480 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_8D59 +ENCODING 36185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8A0 +8FE0 +AAA0 +ABE0 +AAA0 +ABE0 +AAA0 +2040 +57E0 +4A40 +89C0 +ENDCHAR +STARTCHAR U_8D5A +ENCODING 36186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +FFE0 +8A80 +AFE0 +AAA0 +AFE0 +AAA0 +2FE0 +5280 +56C0 +8AA0 +ENDCHAR +STARTCHAR U_8D5B +ENCODING 36187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9220 +7FC0 +1200 +FFE0 +3180 +D560 +1500 +0B00 +70C0 +ENDCHAR +STARTCHAR U_8D5C +ENCODING 36188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +97E0 +9080 +BBE0 +A880 +ABE0 +BA20 +92A0 +92A0 +9140 +FE20 +ENDCHAR +STARTCHAR U_8D5D +ENCODING 36189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A900 +EFC0 +A900 +AFC0 +A900 +BFC0 +9040 +9240 +8500 +F8E0 +ENDCHAR +STARTCHAR U_8D5E +ENCODING 36190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +7BC0 +9480 +FFE0 +35A0 +5AE0 +BF80 +2480 +2480 +0A00 +71C0 +ENDCHAR +STARTCHAR U_8D5F +ENCODING 36191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26C0 +F880 +57E0 +2280 +5B40 +8A40 +3FA0 +2480 +2480 +0A00 +3180 +ENDCHAR +STARTCHAR U_8D60 +ENCODING 36192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +8FE0 +A920 +ADA0 +AFE0 +A800 +A7C0 +2440 +57C0 +5440 +87C0 +ENDCHAR +STARTCHAR U_8D61 +ENCODING 36193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +8A40 +AFE0 +AA40 +ABE0 +AA00 +AAE0 +A200 +35E0 +4D20 +89E0 +ENDCHAR +STARTCHAR U_8D62 +ENCODING 36194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2000 +3FC0 +1080 +7FC0 +5140 +7540 +55C0 +7540 +9A60 +ENDCHAR +STARTCHAR U_8D63 +ENCODING 36195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +FA80 +5140 +FFE0 +9080 +F7E0 +9220 +F2A0 +22A0 +F940 +2620 +ENDCHAR +STARTCHAR U_8D64 +ENCODING 36196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +3FC0 +0400 +FFE0 +0900 +2940 +2920 +4920 +1500 +6200 +ENDCHAR +STARTCHAR U_8D65 +ENCODING 36197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FA00 +23E0 +2420 +F940 +5100 +5900 +D680 +5280 +9440 +B820 +ENDCHAR +STARTCHAR U_8D66 +ENCODING 36198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D00 +11E0 +1340 +FD40 +2940 +6D40 +AB40 +2A80 +4940 +9A20 +ENDCHAR +STARTCHAR U_8D67 +ENCODING 36199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +1160 +1100 +FFE0 +2920 +6D20 +ABA0 +A940 +49A0 +9920 +ENDCHAR +STARTCHAR U_8D68 +ENCODING 36200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +7C80 +13E0 +FEA0 +2AA0 +6EA0 +ABE0 +AA80 +28A0 +48A0 +9BE0 +ENDCHAR +STARTCHAR U_8D69 +ENCODING 36201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7DC0 +1280 +FFE0 +2AA0 +2AA0 +6FE0 +AA00 +2A20 +4A20 +99E0 +ENDCHAR +STARTCHAR U_8D6A +ENCODING 36202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F8E0 +2080 +FFE0 +5220 +5AA0 +D6A0 +52A0 +52A0 +9140 +B220 +ENDCHAR +STARTCHAR U_8D6B +ENCODING 36203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +7FE0 +1080 +FFE0 +2940 +6D40 +AB60 +AD60 +2940 +4A40 +98C0 +ENDCHAR +STARTCHAR U_8D6C +ENCODING 36204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +7C80 +13E0 +FE20 +2BE0 +2A20 +6FE0 +AA20 +2BE0 +4940 +9A20 +ENDCHAR +STARTCHAR U_8D6D +ENCODING 36205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1120 +7FA0 +1140 +13E0 +FD00 +2BE0 +6E20 +ABE0 +2A20 +4BE0 +9A20 +ENDCHAR +STARTCHAR U_8D6E +ENCODING 36206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2760 +FD20 +2520 +FF60 +5400 +57E0 +DCA0 +57A0 +5440 +94A0 +3520 +ENDCHAR +STARTCHAR U_8D6F +ENCODING 36207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +7FE0 +12A0 +13E0 +FEA0 +2BE0 +6E80 +ABE0 +2A20 +4FE0 +9A20 +ENDCHAR +STARTCHAR U_8D70 +ENCODING 36208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +0400 +FFE0 +0400 +2400 +27C0 +2400 +5400 +8FE0 +ENDCHAR +STARTCHAR U_8D71 +ENCODING 36209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +7FC0 +0400 +FFE0 +2080 +1100 +0600 +1800 +E600 +41E0 +ENDCHAR +STARTCHAR U_8D72 +ENCODING 36210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7FE0 +1120 +FD20 +1120 +5D20 +5220 +54C0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_8D73 +ENCODING 36211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +1140 +7D40 +1140 +FF40 +11C0 +5F40 +5040 +7040 +9840 +87E0 +ENDCHAR +STARTCHAR U_8D74 +ENCODING 36212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +7C80 +10C0 +FEA0 +10A0 +5E80 +5080 +7080 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D75 +ENCODING 36213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1240 +7D40 +1080 +FE80 +1080 +5D40 +5140 +7240 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D76 +ENCODING 36214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1080 +7C80 +1080 +FFE0 +1080 +5C80 +5080 +5080 +7080 +8FE0 +ENDCHAR +STARTCHAR U_8D77 +ENCODING 36215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +13C0 +7C40 +1040 +FFC0 +1200 +5220 +5E20 +53E0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_8D78 +ENCODING 36216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +7EA0 +12A0 +FEA0 +12A0 +5EA0 +53E0 +7220 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D79 +ENCODING 36217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +11E0 +7E20 +1120 +FCA0 +1060 +5FA0 +5120 +70C0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D7A +ENCODING 36218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +2080 +F940 +2220 +FCA0 +5080 +5BE0 +5040 +5080 +B100 +8FE0 +ENDCHAR +STARTCHAR U_8D7B +ENCODING 36219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +10C0 +7DA0 +12A0 +FC80 +10A0 +5C40 +5080 +7300 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D7C +ENCODING 36220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +7BE0 +1420 +F940 +1100 +5E80 +5240 +5460 +7440 +8FE0 +ENDCHAR +STARTCHAR U_8D7D +ENCODING 36221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +13C0 +7D40 +1140 +FD40 +13E0 +5D00 +5280 +7460 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D7E +ENCODING 36222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +7980 +1100 +11E0 +FF40 +1140 +5D40 +5240 +5240 +7400 +8FE0 +ENDCHAR +STARTCHAR U_8D7F +ENCODING 36223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +1380 +7A80 +1280 +FFE0 +1280 +5A80 +52A0 +5360 +7220 +8FC0 +ENDCHAR +STARTCHAR U_8D80 +ENCODING 36224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +13E0 +7E80 +1280 +FFE0 +10A0 +5DA0 +52E0 +7480 +9880 +87E0 +ENDCHAR +STARTCHAR U_8D81 +ENCODING 36225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1140 +7E20 +1080 +FD20 +1240 +5C80 +5120 +7040 +9880 +87E0 +ENDCHAR +STARTCHAR U_8D82 +ENCODING 36226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +7A00 +17E0 +14A0 +FC80 +12C0 +5AA0 +54A0 +5280 +7100 +8FE0 +ENDCHAR +STARTCHAR U_8D83 +ENCODING 36227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7880 +1280 +13C0 +FC80 +57E0 +5080 +5D40 +5140 +7220 +8FE0 +ENDCHAR +STARTCHAR U_8D84 +ENCODING 36228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +1240 +7E40 +13C0 +FE40 +13C0 +5E40 +5240 +77E0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D85 +ENCODING 36229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +1140 +7D40 +12C0 +FC00 +13C0 +5E40 +5240 +73C0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D86 +ENCODING 36230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +F780 +2480 +2480 +FFE0 +2480 +BCA0 +A560 +E6A0 +9040 +8FE0 +ENDCHAR +STARTCHAR U_8D87 +ENCODING 36231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F080 +27E0 +2000 +FA40 +2140 +B940 +A080 +E7E0 +9000 +8FE0 +ENDCHAR +STARTCHAR U_8D88 +ENCODING 36232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F100 +21E0 +2100 +FFC0 +2440 +BC40 +A440 +E7C0 +9000 +8FE0 +ENDCHAR +STARTCHAR U_8D89 +ENCODING 36233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +12A0 +7EA0 +13E0 +FC80 +12A0 +5EA0 +53E0 +7220 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D8A +ENCODING 36234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +10A0 +7FE0 +1280 +FEA0 +12A0 +5E40 +52A0 +7120 +9A00 +87E0 +ENDCHAR +STARTCHAR U_8D8B +ENCODING 36235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +11C0 +7E40 +1080 +FFE0 +1020 +5DE0 +5020 +73E0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D8C +ENCODING 36236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1080 +7FE0 +1080 +FDC0 +1000 +5FE0 +5220 +73E0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D8D +ENCODING 36237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +11C0 +7A40 +1580 +FD00 +12E0 +5D20 +5340 +7480 +9100 +8FE0 +ENDCHAR +STARTCHAR U_8D8E +ENCODING 36238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1280 +7FE0 +1080 +FFE0 +1080 +5DC0 +52A0 +74A0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D8F +ENCODING 36239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +13C0 +7C80 +13E0 +FC80 +13E0 +5E20 +5220 +73E0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D90 +ENCODING 36240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2120 +FDA0 +2360 +F920 +2360 +BDA0 +A120 +E360 +B000 +8FE0 +ENDCHAR +STARTCHAR U_8D91 +ENCODING 36241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +1180 +7CE0 +11A0 +FE40 +1240 +5E40 +52A0 +7120 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D92 +ENCODING 36242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +1140 +7D60 +1340 +FD40 +1360 +5D40 +5240 +7060 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D93 +ENCODING 36243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +1240 +7E40 +1260 +FC80 +13E0 +5D80 +52C0 +74A0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D94 +ENCODING 36244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F20 +22A0 +FBA0 +24A0 +FEA0 +29A0 +BAA0 +A420 +E8E0 +B000 +8FE0 +ENDCHAR +STARTCHAR U_8D95 +ENCODING 36245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1220 +7FE0 +1220 +FFE0 +1000 +5FE0 +5080 +77E0 +9880 +87E0 +ENDCHAR +STARTCHAR U_8D96 +ENCODING 36246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1540 +7D40 +17A0 +F920 +1100 +5FC0 +5100 +77E0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D97 +ENCODING 36247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FA20 +1220 +13E0 +FC80 +12E0 +5A80 +5380 +74E0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D98 +ENCODING 36248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC40 +27C0 +2480 +FF00 +25C0 +BF00 +A5C0 +E720 +98E0 +8FE0 +ENDCHAR +STARTCHAR U_8D99 +ENCODING 36249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +12A0 +11C0 +7C80 +13E0 +FE20 +13E0 +5E20 +53E0 +7220 +9A20 +87E0 +ENDCHAR +STARTCHAR U_8D9A +ENCODING 36250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F7C0 +2100 +27C0 +FD40 +27C0 +BB80 +A540 +E540 +9120 +8FE0 +ENDCHAR +STARTCHAR U_8D9B +ENCODING 36251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +1140 +7E20 +11C0 +FC80 +13E0 +5CA0 +52C0 +77E0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8D9C +ENCODING 36252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +13E0 +7D60 +13A0 +F920 +17E0 +59A0 +5360 +7520 +9840 +87E0 +ENDCHAR +STARTCHAR U_8D9D +ENCODING 36253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F280 +2D60 +2380 +F880 +2140 +BAA0 +AA40 +E1C0 +9000 +8FE0 +ENDCHAR +STARTCHAR U_8D9E +ENCODING 36254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +F7C0 +2280 +2FE0 +F800 +27C0 +BC40 +A7C0 +E440 +97C0 +8FE0 +ENDCHAR +STARTCHAR U_8D9F +ENCODING 36255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +F100 +2FE0 +F820 +2BA0 +BAA0 +ABA0 +E860 +9800 +87E0 +ENDCHAR +STARTCHAR U_8DA0 +ENCODING 36256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +1080 +7FE0 +1220 +FFE0 +1220 +5FE0 +5080 +77E0 +9880 +87E0 +ENDCHAR +STARTCHAR U_8DA1 +ENCODING 36257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1300 +1280 +7FE0 +1280 +FFE0 +1280 +5FE0 +5280 +73E0 +9A00 +87E0 +ENDCHAR +STARTCHAR U_8DA2 +ENCODING 36258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +F840 +23C0 +2040 +FBE0 +2080 +BAA0 +A1C0 +E2A0 +94A0 +8FE0 +ENDCHAR +STARTCHAR U_8DA3 +ENCODING 36259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F80 +2500 +F7E0 +2520 +F720 +25A0 +B540 +AF40 +E1A0 +B100 +8FE0 +ENDCHAR +STARTCHAR U_8DA4 +ENCODING 36260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F7E0 +2420 +23C0 +F900 +23E0 +B620 +AA20 +E3E0 +9220 +8FE0 +ENDCHAR +STARTCHAR U_8DA5 +ENCODING 36261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +13E0 +7D40 +17E0 +FD60 +1620 +5FE0 +5420 +77E0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8DA6 +ENCODING 36262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +F5E0 +22A0 +2480 +F940 +2220 +BBE0 +A220 +E3E0 +9000 +8FE0 +ENDCHAR +STARTCHAR U_8DA7 +ENCODING 36263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +1240 +7FC0 +1240 +FFE0 +1080 +5EE0 +5280 +75E0 +9800 +87E0 +ENDCHAR +STARTCHAR U_8DA8 +ENCODING 36264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +12A0 +7FE0 +11A0 +FD40 +13E0 +5EA0 +53E0 +70A0 +9940 +87E0 +ENDCHAR +STARTCHAR U_8DA9 +ENCODING 36265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FD40 +27C0 +2540 +FFC0 +2280 +BFE0 +A280 +EFE0 +9440 +8FE0 +ENDCHAR +STARTCHAR U_8DAA +ENCODING 36266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +FA40 +27E0 +FAA0 +23E0 +BAA0 +A3E0 +E140 +B220 +8FE0 +ENDCHAR +STARTCHAR U_8DAB +ENCODING 36267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2100 +FFE0 +2440 +FBA0 +2280 +BFE0 +AAA0 +EBA0 +A820 +9FE0 +ENDCHAR +STARTCHAR U_8DAC +ENCODING 36268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +F100 +27E0 +FA40 +27E0 +B240 +AFE0 +E280 +B460 +8FE0 +ENDCHAR +STARTCHAR U_8DAD +ENCODING 36269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +23E0 +FE80 +23E0 +FE80 +23E0 +BA80 +A7E0 +E540 +AAA0 +9FE0 +ENDCHAR +STARTCHAR U_8DAE +ENCODING 36270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +FBC0 +2EE0 +FAA0 +2EE0 +A100 +BFE0 +E540 +A920 +9FE0 +ENDCHAR +STARTCHAR U_8DAF +ENCODING 36271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +25A0 +FB60 +25A0 +FFE0 +2480 +BFE0 +A480 +E7E0 +B480 +8FE0 +ENDCHAR +STARTCHAR U_8DB0 +ENCODING 36272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +F540 +2920 +FFE0 +2920 +ABA0 +BD60 +ABA0 +ED60 +B920 +8FE0 +ENDCHAR +STARTCHAR U_8DB1 +ENCODING 36273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2FE0 +F240 +2FE0 +FAA0 +27E0 +A520 +B5A0 +E240 +B420 +8FE0 +ENDCHAR +STARTCHAR U_8DB2 +ENCODING 36274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A40 +2FE0 +F240 +2FE0 +F520 +27C0 +A640 +BD40 +E7C0 +A820 +9FE0 +ENDCHAR +STARTCHAR U_8DB3 +ENCODING 36275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +2080 +3F80 +0400 +2400 +27C0 +2400 +5400 +4C00 +83E0 +ENDCHAR +STARTCHAR U_8DB4 +ENCODING 36276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +9280 +9280 +F280 +2280 +BA80 +A280 +A440 +B440 +C820 +1020 +ENDCHAR +STARTCHAR U_8DB5 +ENCODING 36277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7A00 +4BE0 +4C20 +7820 +1220 +5920 +5120 +5020 +5820 +E0C0 +ENDCHAR +STARTCHAR U_8DB6 +ENCODING 36278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4880 +4880 +7880 +17E0 +5080 +5880 +5080 +5880 +E280 +0100 +ENDCHAR +STARTCHAR U_8DB7 +ENCODING 36279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7BE0 +4C00 +4800 +7BC0 +1080 +5900 +5200 +5420 +5C20 +E3E0 +ENDCHAR +STARTCHAR U_8DB8 +ENCODING 36280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +0F80 +1080 +3FC0 +E040 +3FC0 +2400 +27C0 +5400 +8FE0 +ENDCHAR +STARTCHAR U_8DB9 +ENCODING 36281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7900 +4FC0 +4940 +7940 +17E0 +5900 +5100 +5A80 +E440 +0820 +ENDCHAR +STARTCHAR U_8DBA +ENCODING 36282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4FC0 +7900 +1100 +5FE0 +5100 +5280 +5A80 +E440 +0820 +ENDCHAR +STARTCHAR U_8DBB +ENCODING 36283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7900 +4A80 +4C40 +7A20 +1100 +5FE0 +5040 +5880 +E080 +0100 +ENDCHAR +STARTCHAR U_8DBC +ENCODING 36284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4A40 +4A40 +7A40 +1240 +5FE0 +5240 +5240 +5A40 +E440 +0840 +ENDCHAR +STARTCHAR U_8DBD +ENCODING 36285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7880 +4FE0 +4900 +7900 +11E0 +5920 +5120 +5220 +5A20 +E4C0 +ENDCHAR +STARTCHAR U_8DBE +ENCODING 36286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +7880 +4880 +4A80 +7AE0 +1280 +5A80 +5280 +5280 +5A80 +E7E0 +ENDCHAR +STARTCHAR U_8DBF +ENCODING 36287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A40 +4A40 +7A80 +12E0 +5A20 +5220 +5340 +5C80 +E540 +0A20 +ENDCHAR +STARTCHAR U_8DC0 +ENCODING 36288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4A20 +4A20 +7BE0 +1220 +5A20 +53E0 +5220 +5A20 +E420 +0860 +ENDCHAR +STARTCHAR U_8DC1 +ENCODING 36289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +7AA0 +4AA0 +4AA0 +7BE0 +1220 +5A00 +5200 +5220 +5A20 +E1E0 +ENDCHAR +STARTCHAR U_8DC2 +ENCODING 36290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +7880 +4FE0 +4880 +7880 +17E0 +5A20 +5240 +5180 +5A40 +E420 +ENDCHAR +STARTCHAR U_8DC3 +ENCODING 36291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +4F00 +4900 +7900 +17E0 +5100 +5900 +5280 +5A80 +E440 +0820 +ENDCHAR +STARTCHAR U_8DC4 +ENCODING 36292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7A80 +4C40 +4820 +7BC0 +1240 +5A40 +52C0 +5220 +5E20 +E3E0 +ENDCHAR +STARTCHAR U_8DC5 +ENCODING 36293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +4B80 +4A00 +7BE0 +1240 +5240 +5AC0 +5260 +5A40 +E440 +0840 +ENDCHAR +STARTCHAR U_8DC6 +ENCODING 36294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +7880 +4940 +4A20 +7BE0 +1000 +5BE0 +5220 +5220 +5A20 +E3E0 +ENDCHAR +STARTCHAR U_8DC7 +ENCODING 36295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +7D40 +4D40 +4FE0 +7D40 +1540 +5DC0 +5540 +5400 +5C00 +E7E0 +ENDCHAR +STARTCHAR U_8DC8 +ENCODING 36296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7A80 +4C40 +48A0 +7900 +1240 +5880 +5320 +5040 +5980 +E600 +ENDCHAR +STARTCHAR U_8DC9 +ENCODING 36297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4A80 +7C40 +1120 +5880 +57E0 +5040 +5A80 +E100 +0080 +ENDCHAR +STARTCHAR U_8DCA +ENCODING 36298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4FC0 +4900 +7900 +17E0 +5100 +5B80 +5540 +5920 +E100 +0100 +ENDCHAR +STARTCHAR U_8DCB +ENCODING 36299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +7A40 +4FE0 +4A00 +7BC0 +1240 +5B40 +5540 +5480 +5940 +E620 +ENDCHAR +STARTCHAR U_8DCC +ENCODING 36300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +7A80 +4BE0 +4C80 +7880 +17E0 +5880 +5140 +5140 +5A20 +E420 +ENDCHAR +STARTCHAR U_8DCD +ENCODING 36301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4880 +4FE0 +7880 +1080 +5BE0 +5220 +5220 +5A20 +E3E0 +0220 +ENDCHAR +STARTCHAR U_8DCE +ENCODING 36302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4FE0 +4C20 +7800 +1200 +5240 +5B80 +5200 +5A20 +E220 +01E0 +ENDCHAR +STARTCHAR U_8DCF +ENCODING 36303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +94E0 +9FA0 +F4A0 +24A0 +A4A0 +B4A0 +A4A0 +B4A0 +CAE0 +1120 +ENDCHAR +STARTCHAR U_8DD0 +ENCODING 36304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9280 +9280 +F2A0 +2BC0 +AA80 +BA80 +AA80 +ABA0 +BEA0 +E460 +ENDCHAR +STARTCHAR U_8DD1 +ENCODING 36305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +F7C0 +9840 +9740 +F540 +2540 +B740 +A4A0 +A420 +B420 +C3E0 +ENDCHAR +STARTCHAR U_8DD2 +ENCODING 36306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +7820 +4BA0 +4AA0 +7AA0 +12A0 +5AA0 +53A0 +5020 +5820 +E0E0 +ENDCHAR +STARTCHAR U_8DD3 +ENCODING 36307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7880 +4FE0 +4880 +7880 +1080 +5BE0 +5080 +5080 +5880 +E7E0 +ENDCHAR +STARTCHAR U_8DD4 +ENCODING 36308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +4BE0 +4C20 +7BA0 +12A0 +52A0 +5AA0 +53A0 +5820 +E0A0 +0040 +ENDCHAR +STARTCHAR U_8DD5 +ENCODING 36309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4880 +48E0 +7880 +1080 +5BE0 +5220 +5220 +5A20 +E3E0 +0220 +ENDCHAR +STARTCHAR U_8DD6 +ENCODING 36310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4900 +4900 +7A00 +13E0 +5620 +5A20 +5220 +5A20 +E3E0 +0220 +ENDCHAR +STARTCHAR U_8DD7 +ENCODING 36311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +9240 +9440 +FDE0 +2440 +A640 +B540 +A440 +A440 +B440 +C4C0 +ENDCHAR +STARTCHAR U_8DD8 +ENCODING 36312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4CA0 +4AC0 +7880 +13E0 +5880 +5080 +57E0 +5880 +E080 +0080 +ENDCHAR +STARTCHAR U_8DD9 +ENCODING 36313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +4A40 +7BC0 +1240 +5240 +5A40 +53C0 +5A40 +E240 +07E0 +ENDCHAR +STARTCHAR U_8DDA +ENCODING 36314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +9AA0 +9AA0 +FAA0 +2AA0 +AFE0 +BAA0 +AAA0 +BAA0 +CAA0 +1560 +ENDCHAR +STARTCHAR U_8DDB +ENCODING 36315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +97E0 +94A0 +F480 +27E0 +A640 +B540 +A540 +B480 +C940 +1220 +ENDCHAR +STARTCHAR U_8DDC +ENCODING 36316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +9420 +97E0 +F400 +2520 +BD40 +A580 +A520 +B920 +C8E0 +ENDCHAR +STARTCHAR U_8DDD +ENCODING 36317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4A00 +4A00 +7BE0 +1220 +5220 +5A20 +53E0 +5200 +5E00 +E3E0 +ENDCHAR +STARTCHAR U_8DDE +ENCODING 36318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0E0 +9700 +9480 +9480 +F7E0 +2080 +B2C0 +A2A0 +B4A0 +C080 +0180 +ENDCHAR +STARTCHAR U_8DDF +ENCODING 36319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +9440 +F7C0 +2500 +B520 +A4C0 +A480 +B540 +C620 +ENDCHAR +STARTCHAR U_8DE0 +ENCODING 36320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9100 +F7C0 +2140 +A7C0 +B500 +A7E0 +A120 +B280 +CC60 +ENDCHAR +STARTCHAR U_8DE1 +ENCODING 36321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F100 +9FE0 +9280 +F280 +26C0 +BAA0 +A2A0 +B280 +C480 +0980 +ENDCHAR +STARTCHAR U_8DE2 +ENCODING 36322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +93C0 +9440 +9A80 +F100 +2680 +B1E0 +A620 +A140 +B180 +CE00 +ENDCHAR +STARTCHAR U_8DE3 +ENCODING 36323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +7D00 +4FE0 +4900 +7900 +17E0 +5A80 +5280 +52A0 +5CA0 +E460 +ENDCHAR +STARTCHAR U_8DE4 +ENCODING 36324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7900 +4FE0 +4A40 +7C20 +1240 +5A40 +5180 +5180 +5A40 +E420 +ENDCHAR +STARTCHAR U_8DE5 +ENCODING 36325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +8A40 +8A60 +FA20 +2560 +2100 +BFE0 +A380 +A540 +B540 +C920 +ENDCHAR +STARTCHAR U_8DE6 +ENCODING 36326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F500 +9500 +97E0 +F900 +2100 +AFE0 +B100 +A380 +B540 +C920 +0100 +ENDCHAR +STARTCHAR U_8DE7 +ENCODING 36327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9280 +9440 +9820 +F7C0 +2100 +B100 +A7C0 +A100 +B100 +CFE0 +ENDCHAR +STARTCHAR U_8DE8 +ENCODING 36328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9280 +F440 +2BA0 +B000 +AFE0 +A200 +B7C0 +C040 +0180 +ENDCHAR +STARTCHAR U_8DE9 +ENCODING 36329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7FE0 +4D20 +4FE0 +7D20 +17E0 +5920 +5140 +50A0 +5960 +E620 +ENDCHAR +STARTCHAR U_8DEA +ENCODING 36330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3E0 +9240 +9FE0 +9400 +F5E0 +2520 +BD20 +A560 +A500 +BD20 +E0E0 +ENDCHAR +STARTCHAR U_8DEB +ENCODING 36331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FB80 +2280 +3BA0 +C4E0 +3F80 +2080 +3F80 +2400 +27C0 +5400 +8FE0 +ENDCHAR +STARTCHAR U_8DEC +ENCODING 36332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +7880 +4BE0 +4880 +7880 +17E0 +5880 +53E0 +5080 +5880 +E7E0 +ENDCHAR +STARTCHAR U_8DED +ENCODING 36333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +8C40 +8A80 +F900 +26E0 +2080 +BFE0 +A280 +A7E0 +B880 +C080 +ENDCHAR +STARTCHAR U_8DEE +ENCODING 36334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9100 +9100 +9240 +F7A0 +2120 +B900 +A7C0 +A100 +B900 +EFE0 +ENDCHAR +STARTCHAR U_8DEF +ENCODING 36335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +97C0 +9440 +9A80 +F100 +2280 +B440 +AFE0 +A440 +B440 +C7C0 +ENDCHAR +STARTCHAR U_8DF0 +ENCODING 36336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F420 +9240 +97E0 +9240 +F240 +27E0 +BA40 +A240 +A240 +BC40 +E840 +ENDCHAR +STARTCHAR U_8DF1 +ENCODING 36337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +9100 +9100 +F7E0 +2040 +BFE0 +A240 +A140 +B840 +E1C0 +ENDCHAR +STARTCHAR U_8DF2 +ENCODING 36338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9280 +9440 +9820 +F7C0 +2000 +BBC0 +A240 +A240 +BBC0 +E240 +ENDCHAR +STARTCHAR U_8DF3 +ENCODING 36339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9AA0 +96C0 +F280 +2280 +26C0 +BAA0 +A280 +BAA0 +C4A0 +0860 +ENDCHAR +STARTCHAR U_8DF4 +ENCODING 36340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9280 +9280 +9FE0 +FAA0 +2AA0 +BAE0 +AC20 +A820 +BFE0 +E820 +ENDCHAR +STARTCHAR U_8DF5 +ENCODING 36341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9240 +9FE0 +F200 +2FE0 +A220 +B240 +A140 +B0A0 +C360 +0C20 +ENDCHAR +STARTCHAR U_8DF6 +ENCODING 36342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +9480 +93E0 +FC80 +2480 +2480 +B540 +A540 +B620 +CA00 +11E0 +ENDCHAR +STARTCHAR U_8DF7 +ENCODING 36343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9FE0 +9240 +9180 +F2A0 +2460 +BFE0 +A280 +A2A0 +BCA0 +E860 +ENDCHAR +STARTCHAR U_8DF8 +ENCODING 36344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F480 +94A0 +97C0 +9480 +F5A0 +26E0 +B880 +A7E0 +A080 +B880 +E080 +ENDCHAR +STARTCHAR U_8DF9 +ENCODING 36345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F020 +99C0 +9480 +9080 +FC80 +27E0 +BC80 +A480 +A480 +BA00 +E9E0 +ENDCHAR +STARTCHAR U_8DFA +ENCODING 36346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F380 +9280 +9280 +94E0 +F100 +27E0 +B900 +A380 +A540 +B920 +E100 +ENDCHAR +STARTCHAR U_8DFB +ENCODING 36347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97E0 +9240 +9180 +F660 +2000 +BA40 +A240 +A240 +B440 +E840 +ENDCHAR +STARTCHAR U_8DFC +ENCODING 36348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +97E0 +9400 +F7E0 +2420 +BDE0 +A560 +A5E0 +B820 +E0C0 +ENDCHAR +STARTCHAR U_8DFD +ENCODING 36349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9040 +97C0 +9400 +F420 +27E0 +B940 +A2A0 +A620 +BA40 +E3C0 +ENDCHAR +STARTCHAR U_8DFE +ENCODING 36350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5A40 +D180 +5260 +7F80 +2080 +3F80 +2400 +27C0 +5400 +8FE0 +ENDCHAR +STARTCHAR U_8DFF +ENCODING 36351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +9100 +9100 +F7E0 +2100 +BDE0 +A500 +A500 +BB00 +E1E0 +ENDCHAR +STARTCHAR U_8E00 +ENCODING 36352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +9440 +F7C0 +2100 +A500 +B5E0 +A500 +B700 +E900 +90E0 +ENDCHAR +STARTCHAR U_8E01 +ENCODING 36353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8800 +8AA0 +FD40 +22A0 +22A0 +B800 +A3E0 +A080 +B880 +C7E0 +ENDCHAR +STARTCHAR U_8E02 +ENCODING 36354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9540 +9740 +F540 +2540 +A740 +BD40 +A5C0 +AF40 +B160 +E160 +ENDCHAR +STARTCHAR U_8E03 +ENCODING 36355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F520 +9340 +9100 +97E0 +F420 +27E0 +BC20 +A7E0 +A420 +BC20 +E4E0 +ENDCHAR +STARTCHAR U_8E04 +ENCODING 36356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +92E0 +9280 +9280 +F7E0 +2080 +BAA0 +A4A0 +A040 +B980 +E600 +ENDCHAR +STARTCHAR U_8E05 +ENCODING 36357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC00 +27E0 +F480 +2880 +3F80 +2080 +3F80 +23C0 +5200 +8FE0 +ENDCHAR +STARTCHAR U_8E06 +ENCODING 36358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9240 +97C0 +9120 +F240 +2520 +BBC0 +A640 +A180 +BA40 +E420 +ENDCHAR +STARTCHAR U_8E07 +ENCODING 36359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +97E0 +9800 +97C0 +F540 +2540 +BFE0 +A540 +A7E0 +B840 +E180 +ENDCHAR +STARTCHAR U_8E08 +ENCODING 36360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8FE0 +8900 +FFC0 +2540 +27C0 +BB80 +A540 +A540 +B920 +C120 +ENDCHAR +STARTCHAR U_8E09 +ENCODING 36361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +9440 +97C0 +F440 +27C0 +BD20 +A4C0 +A480 +BD40 +E620 +ENDCHAR +STARTCHAR U_8E0A +ENCODING 36362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9280 +9100 +97E0 +F520 +27E0 +BD20 +A7E0 +A520 +BD20 +E560 +ENDCHAR +STARTCHAR U_8E0B +ENCODING 36363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +94E0 +9FA0 +F4A0 +24A0 +A4A0 +BFE0 +A4A0 +AA80 +BF80 +E080 +ENDCHAR +STARTCHAR U_8E0C +ENCODING 36364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9100 +F7C0 +2200 +AFE0 +B440 +A7E0 +AA40 +B940 +E080 +ENDCHAR +STARTCHAR U_8E0D +ENCODING 36365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F120 +97A0 +9140 +97E0 +F100 +23E0 +BA40 +A7E0 +A080 +BA80 +E100 +ENDCHAR +STARTCHAR U_8E0E +ENCODING 36366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8880 +8900 +FB40 +2520 +2120 +B900 +A7E0 +A420 +BC20 +C7E0 +ENDCHAR +STARTCHAR U_8E0F +ENCODING 36367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F120 +9F40 +9380 +9540 +F920 +27C0 +BC40 +A7C0 +A440 +BFC0 +E440 +ENDCHAR +STARTCHAR U_8E10 +ENCODING 36368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +97E0 +92A0 +91A0 +F660 +2280 +BFE0 +A240 +A2A0 +B9A0 +E660 +ENDCHAR +STARTCHAR U_8E11 +ENCODING 36369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +97E0 +9240 +93C0 +F240 +2240 +BBC0 +A240 +A7E0 +BA40 +E420 +ENDCHAR +STARTCHAR U_8E12 +ENCODING 36370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +9080 +97E0 +92C0 +F4A0 +2100 +BFE0 +A240 +A240 +B980 +E660 +ENDCHAR +STARTCHAR U_8E13 +ENCODING 36371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F300 +9280 +93E0 +9680 +FBE0 +2280 +BA80 +A3E0 +A280 +BBE0 +E200 +ENDCHAR +STARTCHAR U_8E14 +ENCODING 36372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F1E0 +9100 +97C0 +9440 +F7C0 +2440 +BFC0 +A100 +AFE0 +B900 +E100 +ENDCHAR +STARTCHAR U_8E15 +ENCODING 36373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9100 +97C0 +9140 +F7E0 +2140 +BFC0 +A500 +A5E0 +BB00 +E9E0 +ENDCHAR +STARTCHAR U_8E16 +ENCODING 36374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +9240 +97E0 +9240 +F7E0 +2000 +BBE0 +A220 +A3E0 +BA20 +E3E0 +ENDCHAR +STARTCHAR U_8E17 +ENCODING 36375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9280 +9540 +98A0 +F7C0 +2080 +B900 +A2A0 +A620 +BA40 +E1C0 +ENDCHAR +STARTCHAR U_8E18 +ENCODING 36376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +97E0 +9960 +95A0 +F320 +2FE0 +B920 +A3A0 +A560 +B920 +E0C0 +ENDCHAR +STARTCHAR U_8E19 +ENCODING 36377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF00 +9BE0 +9AA0 +FEA0 +2AA0 +AEA0 +BAA0 +AAA0 +AF40 +B2A0 +E320 +ENDCHAR +STARTCHAR U_8E1A +ENCODING 36378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9280 +9440 +9BA0 +F000 +2FE0 +BAA0 +AFE0 +AAA0 +BAA0 +E860 +ENDCHAR +STARTCHAR U_8E1B +ENCODING 36379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +9100 +9FE0 +F280 +2440 +B920 +A7C0 +A100 +B900 +EFE0 +ENDCHAR +STARTCHAR U_8E1C +ENCODING 36380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +9100 +FFE0 +2240 +A520 +BBC0 +A440 +BA80 +C180 +0E60 +ENDCHAR +STARTCHAR U_8E1D +ENCODING 36381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9540 +97C0 +9540 +F7C0 +2100 +BFE0 +A100 +A380 +B540 +E920 +ENDCHAR +STARTCHAR U_8E1E +ENCODING 36382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +97E0 +9480 +F480 +27E0 +BC80 +A7E0 +A620 +BBE0 +E220 +ENDCHAR +STARTCHAR U_8E1F +ENCODING 36383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +94E0 +97A0 +FAA0 +22A0 +AFA0 +B2A0 +A2A0 +B5E0 +E8A0 +1000 +ENDCHAR +STARTCHAR U_8E20 +ENCODING 36384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9820 +9400 +F7E0 +24A0 +BAA0 +A1E0 +A280 +BCA0 +E0E0 +ENDCHAR +STARTCHAR U_8E21 +ENCODING 36385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +9540 +9FE0 +9100 +FFE0 +2440 +BBA0 +A280 +A3A0 +BA20 +E1E0 +ENDCHAR +STARTCHAR U_8E22 +ENCODING 36386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +9440 +F7C0 +2200 +BFE0 +A2A0 +A520 +BA20 +E4C0 +ENDCHAR +STARTCHAR U_8E23 +ENCODING 36387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97E0 +9440 +9280 +F7E0 +2000 +BBE0 +A220 +A220 +BBE0 +E220 +ENDCHAR +STARTCHAR U_8E24 +ENCODING 36388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97E0 +9240 +9240 +F5A0 +2900 +B900 +AFE0 +A100 +B900 +E100 +ENDCHAR +STARTCHAR U_8E25 +ENCODING 36389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97E0 +9440 +9280 +F7E0 +2100 +BFE0 +A240 +A680 +B940 +E620 +ENDCHAR +STARTCHAR U_8E26 +ENCODING 36390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97E0 +9280 +9440 +FFE0 +2040 +BF40 +A540 +A740 +B840 +E1C0 +ENDCHAR +STARTCHAR U_8E27 +ENCODING 36391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +93E0 +92A0 +92A0 +FFA0 +22A0 +B7A0 +AAA0 +A240 +BAA0 +E720 +ENDCHAR +STARTCHAR U_8E28 +ENCODING 36392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9440 +9AA0 +F120 +2100 +2500 +BD00 +A5C0 +A500 +BB00 +C9E0 +ENDCHAR +STARTCHAR U_8E29 +ENCODING 36393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0C0 +9F20 +9540 +F280 +2100 +BFE0 +A100 +A380 +B540 +E920 +8100 +ENDCHAR +STARTCHAR U_8E2A +ENCODING 36394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97E0 +9420 +9380 +F000 +27C0 +B900 +A540 +A520 +B920 +E300 +ENDCHAR +STARTCHAR U_8E2B +ENCODING 36395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9280 +97E0 +9280 +F280 +2AA0 +BAA0 +A6C0 +A280 +BA80 +EFE0 +ENDCHAR +STARTCHAR U_8E2C +ENCODING 36396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F840 +8F80 +8880 +FFE0 +2880 +ABE0 +BA20 +AAA0 +AAA0 +B940 +CA20 +ENDCHAR +STARTCHAR U_8E2D +ENCODING 36397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +93C0 +9480 +FFC0 +2140 +AFE0 +B140 +AFC0 +B100 +C100 +0300 +ENDCHAR +STARTCHAR U_8E2E +ENCODING 36398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F080 +97E0 +9480 +F4E0 +2480 +A480 +B7E0 +AA20 +AA20 +F3E0 +ENDCHAR +STARTCHAR U_8E2F +ENCODING 36399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F5E0 +92A0 +9FA0 +F2A0 +2FC0 +22A0 +BAA0 +A2A0 +A5E0 +B880 +C080 +ENDCHAR +STARTCHAR U_8E30 +ENCODING 36400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F380 +9440 +9BA0 +F000 +2E20 +AAA0 +BEA0 +AAA0 +AEA0 +BA20 +CAE0 +ENDCHAR +STARTCHAR U_8E31 +ENCODING 36401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +F080 +97C0 +9540 +F7C0 +2540 +A5C0 +BC00 +A7C0 +A540 +B880 +CB40 +ENDCHAR +STARTCHAR U_8E32 +ENCODING 36402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9480 +97E0 +F480 +25E0 +A520 +BDE0 +A520 +A5E0 +BD20 +E9E0 +ENDCHAR +STARTCHAR U_8E33 +ENCODING 36403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9100 +F7C0 +2200 +AFE0 +B440 +AC60 +A7C0 +BC40 +C7C0 +ENDCHAR +STARTCHAR U_8E34 +ENCODING 36404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9140 +97E0 +94A0 +F7E0 +24A0 +BFE0 +A100 +A7E0 +BA20 +E4C0 +ENDCHAR +STARTCHAR U_8E35 +ENCODING 36405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9100 +9FE0 +9540 +F7C0 +2540 +BFC0 +A100 +A7C0 +B900 +EFE0 +ENDCHAR +STARTCHAR U_8E36 +ENCODING 36406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +9440 +F7C0 +2000 +BFE0 +A500 +A5E0 +BB00 +E1E0 +ENDCHAR +STARTCHAR U_8E37 +ENCODING 36407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F120 +97E0 +9140 +FFE0 +2100 +BBC0 +A640 +ABC0 +A240 +BA40 +C3C0 +ENDCHAR +STARTCHAR U_8E38 +ENCODING 36408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +97E0 +9240 +93C0 +F240 +23C0 +BA40 +A7E0 +A540 +BE20 +E7E0 +ENDCHAR +STARTCHAR U_8E39 +ENCODING 36409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F520 +9520 +97E0 +9000 +FFE0 +2100 +BFE0 +AAA0 +AAA0 +BAA0 +C820 +ENDCHAR +STARTCHAR U_8E3A +ENCODING 36410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE80 +93E0 +92A0 +95E0 +FEA0 +23E0 +B280 +ABE0 +A480 +BA80 +C1E0 +ENDCHAR +STARTCHAR U_8E3B +ENCODING 36411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +9740 +F540 +2FE0 +A820 +BBA0 +AAA0 +ABA0 +B820 +E860 +ENDCHAR +STARTCHAR U_8E3C +ENCODING 36412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +9440 +F7E0 +2200 +BFE0 +AAA0 +A2A0 +B520 +CAC0 +ENDCHAR +STARTCHAR U_8E3D +ENCODING 36413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9100 +97C0 +9540 +F7C0 +2100 +BFE0 +A520 +A560 +BFA0 +E460 +ENDCHAR +STARTCHAR U_8E3E +ENCODING 36414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9000 +93C0 +9240 +F3C0 +2000 +BFE0 +A520 +A7E0 +BD20 +E7E0 +ENDCHAR +STARTCHAR U_8E3F +ENCODING 36415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +9C40 +9540 +FF60 +2540 +A440 +BE40 +A540 +A4A0 +B520 +C620 +ENDCHAR +STARTCHAR U_8E40 +ENCODING 36416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +9FE0 +9540 +F5C0 +2400 +A7E0 +B100 +AFE0 +A380 +B540 +C920 +ENDCHAR +STARTCHAR U_8E41 +ENCODING 36417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +9FE0 +9820 +FFE0 +2800 +AFE0 +BAA0 +AFE0 +AAA0 +BAA0 +C860 +ENDCHAR +STARTCHAR U_8E42 +ENCODING 36418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9280 +9FE0 +F2A0 +2D80 +A100 +BFE0 +A100 +A380 +B540 +C920 +ENDCHAR +STARTCHAR U_8E43 +ENCODING 36419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9FE0 +9280 +F100 +2FE0 +A200 +B7C0 +AA40 +A240 +BBC0 +E240 +ENDCHAR +STARTCHAR U_8E44 +ENCODING 36420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9280 +FFE0 +2920 +A7C0 +B540 +A540 +A540 +BDC0 +C100 +ENDCHAR +STARTCHAR U_8E45 +ENCODING 36421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9380 +F540 +2FE0 +A440 +B7C0 +A440 +A7C0 +B000 +CFE0 +ENDCHAR +STARTCHAR U_8E46 +ENCODING 36422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9E0 +9520 +95E0 +FD20 +25E0 +A540 +B560 +A540 +A5A0 +BA00 +E9E0 +ENDCHAR +STARTCHAR U_8E47 +ENCODING 36423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7FC0 +1100 +FFE0 +3140 +DF20 +2480 +3500 +CFE0 +ENDCHAR +STARTCHAR U_8E48 +ENCODING 36424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0C0 +9F20 +9520 +9040 +F6E0 +2420 +BC20 +A6E0 +A420 +BFE0 +E420 +ENDCHAR +STARTCHAR U_8E49 +ENCODING 36425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F220 +9140 +97E0 +F080 +23E0 +A080 +BFE0 +A200 +A7C0 +B880 +C7E0 +ENDCHAR +STARTCHAR U_8E4A +ENCODING 36426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F040 +9FA0 +9940 +F500 +22C0 +A520 +BFE0 +A100 +AFE0 +B280 +CC60 +ENDCHAR +STARTCHAR U_8E4B +ENCODING 36427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +9440 +F7C0 +2000 +BFE0 +AAA0 +A660 +BAA0 +E660 +ENDCHAR +STARTCHAR U_8E4C +ENCODING 36428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F380 +9440 +9920 +F7C0 +2440 +A7C0 +BC40 +A7E0 +AA20 +BBE0 +C220 +ENDCHAR +STARTCHAR U_8E4D +ENCODING 36429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +97E0 +F540 +27E0 +A540 +BFE0 +A540 +A560 +BDC0 +C920 +ENDCHAR +STARTCHAR U_8E4E +ENCODING 36430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9100 +F7C0 +2440 +A740 +B5C0 +A440 +AFE0 +B280 +CC60 +ENDCHAR +STARTCHAR U_8E4F +ENCODING 36431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9500 +97E0 +F520 +27C0 +3500 +A5E0 +A400 +B5C0 +E940 +1260 +ENDCHAR +STARTCHAR U_8E50 +ENCODING 36432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +9380 +9540 +FAA0 +2440 +AFE0 +B440 +A7C0 +A440 +B7C0 +C440 +ENDCHAR +STARTCHAR U_8E51 +ENCODING 36433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9240 +93C0 +F240 +27E0 +A040 +BFE0 +A5A0 +A240 +BDA0 +C520 +ENDCHAR +STARTCHAR U_8E52 +ENCODING 36434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9FE0 +9280 +9FE0 +F280 +2FE0 +BAA0 +ABA0 +ACE0 +B920 +C8E0 +ENDCHAR +STARTCHAR U_8E53 +ENCODING 36435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F6E0 +94A0 +96A0 +95A0 +F6A0 +2540 +B7E0 +A520 +A7E0 +B520 +C7E0 +ENDCHAR +STARTCHAR U_8E54 +ENCODING 36436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF00 +55E0 +7D40 +5540 +FFC0 +1080 +1F80 +13E0 +2A00 +C7E0 +ENDCHAR +STARTCHAR U_8E55 +ENCODING 36437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9920 +9FE0 +9920 +FFE0 +2540 +BFE0 +A540 +BFE0 +C100 +0100 +ENDCHAR +STARTCHAR U_8E56 +ENCODING 36438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9100 +97C0 +F200 +2FE0 +A440 +BEE0 +A440 +A6C0 +B440 +C7C0 +ENDCHAR +STARTCHAR U_8E57 +ENCODING 36439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9A80 +FFE0 +2AA0 +AFE0 +BAA0 +ABC0 +AA80 +BBA0 +CAE0 +ENDCHAR +STARTCHAR U_8E58 +ENCODING 36440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +A660 +EAA0 +2300 +3480 +AA60 +A540 +B280 +E100 +8E00 +ENDCHAR +STARTCHAR U_8E59 +ENCODING 36441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0140 +FFE0 +9100 +FF40 +94A0 +BFA0 +A0E0 +3F80 +27C0 +5400 +8FE0 +ENDCHAR +STARTCHAR U_8E5A +ENCODING 36442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +9540 +9FE0 +9820 +FFC0 +2440 +A7C0 +B900 +A7C0 +B100 +CFE0 +ENDCHAR +STARTCHAR U_8E5B +ENCODING 36443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9FE0 +9280 +FFE0 +2000 +2FE0 +B920 +A7C0 +B540 +C5C0 +0100 +ENDCHAR +STARTCHAR U_8E5C +ENCODING 36444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9820 +97E0 +F480 +25E0 +BD20 +A5E0 +A520 +BDE0 +E520 +ENDCHAR +STARTCHAR U_8E5D +ENCODING 36445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F480 +9A80 +92E0 +F680 +2BE0 +A880 +BAE0 +AA80 +AA80 +BD80 +C8E0 +ENDCHAR +STARTCHAR U_8E5E +ENCODING 36446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3E0 +9480 +95E0 +F720 +25E0 +BD20 +A5E0 +A720 +B5E0 +C140 +0220 +ENDCHAR +STARTCHAR U_8E5F +ENCODING 36447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9100 +F7C0 +2100 +B7E0 +A440 +A7C0 +B440 +C7C0 +0820 +ENDCHAR +STARTCHAR U_8E60 +ENCODING 36448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +97E0 +9400 +F540 +27E0 +A540 +BDC0 +A400 +AD40 +BAA0 +CAA0 +ENDCHAR +STARTCHAR U_8E61 +ENCODING 36449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F2E0 +92A0 +9360 +FEA0 +2240 +BEA0 +ABE0 +AAA0 +BA60 +CA20 +1260 +ENDCHAR +STARTCHAR U_8E62 +ENCODING 36450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9280 +FFE0 +2920 +AFE0 +B920 +ABA0 +AAA0 +BBA0 +C860 +ENDCHAR +STARTCHAR U_8E63 +ENCODING 36451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +9FE0 +9240 +F3C0 +2100 +AFE0 +B920 +ADA0 +AB60 +BDA0 +C960 +ENDCHAR +STARTCHAR U_8E64 +ENCODING 36452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +9940 +96A0 +FA80 +2880 +AA80 +BAE0 +AA80 +AA80 +BD80 +C8E0 +ENDCHAR +STARTCHAR U_8E65 +ENCODING 36453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +9BE0 +9480 +F3E0 +2AA0 +ABE0 +BAA0 +AFE0 +B880 +CC80 +13E0 +ENDCHAR +STARTCHAR U_8E66 +ENCODING 36454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E920 +A920 +AFE0 +E000 +2EE0 +AAA0 +BEE0 +AAA0 +AEE0 +BAA0 +C760 +ENDCHAR +STARTCHAR U_8E67 +ENCODING 36455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9FE0 +9AA0 +FFE0 +2AA0 +AFE0 +BC40 +A7C0 +A440 +BFC0 +C440 +ENDCHAR +STARTCHAR U_8E68 +ENCODING 36456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +08A0 +FE80 +8BE0 +F680 +2A80 +A540 +B540 +AA20 +A000 +BAA0 +CAA0 +ENDCHAR +STARTCHAR U_8E69 +ENCODING 36457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +FBE0 +AE40 +F980 +BFE0 +2080 +3F80 +0400 +2780 +3400 +CFE0 +ENDCHAR +STARTCHAR U_8E6A +ENCODING 36458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +9540 +FFE0 +2440 +A7C0 +B440 +A7C0 +B440 +C7C0 +0820 +ENDCHAR +STARTCHAR U_8E6B +ENCODING 36459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9280 +9FE0 +F340 +2500 +AFE0 +BAA0 +AFE0 +AAA0 +BBA0 +C860 +ENDCHAR +STARTCHAR U_8E6C +ENCODING 36460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F740 +95A0 +9240 +F7A0 +2800 +A7C0 +BC40 +A7C0 +A440 +B280 +CFE0 +ENDCHAR +STARTCHAR U_8E6D +ENCODING 36461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9FE0 +9AA0 +F920 +2FE0 +A000 +B7C0 +A440 +B7C0 +C440 +07C0 +ENDCHAR +STARTCHAR U_8E6E +ENCODING 36462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F280 +9FE0 +FAA0 +2FE0 +2100 +BFE0 +A440 +BFA0 +C440 +07C0 +ENDCHAR +STARTCHAR U_8E6F +ENCODING 36463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0C0 +9F20 +9540 +FFE0 +2540 +A920 +BFE0 +A520 +A7E0 +B520 +C7E0 +ENDCHAR +STARTCHAR U_8E70 +ENCODING 36464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9800 +9F40 +F840 +2FE0 +AD40 +BFC0 +AD40 +AA40 +BA40 +C7C0 +ENDCHAR +STARTCHAR U_8E71 +ENCODING 36465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9440 +F280 +2FE0 +2540 +B7C0 +A540 +A7C0 +B100 +CFE0 +ENDCHAR +STARTCHAR U_8E72 +ENCODING 36466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E440 +AFE0 +A280 +EFE0 +2AA0 +ABE0 +BFE0 +A080 +AFE0 +B480 +C380 +ENDCHAR +STARTCHAR U_8E73 +ENCODING 36467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF40 +95A0 +9240 +FDE0 +2540 +AE60 +B9C0 +AF40 +A280 +B340 +CC20 +ENDCHAR +STARTCHAR U_8E74 +ENCODING 36468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9F60 +9040 +FFE0 +2940 +AF40 +BA40 +A740 +AAC0 +B340 +C660 +ENDCHAR +STARTCHAR U_8E75 +ENCODING 36469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FEA0 +45E0 +7C80 +5540 +B260 +1F80 +1080 +1FC0 +1200 +6FE0 +ENDCHAR +STARTCHAR U_8E76 +ENCODING 36470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +96C0 +9540 +F7E0 +2520 +A540 +BFC0 +A940 +A940 +BAA0 +C520 +ENDCHAR +STARTCHAR U_8E77 +ENCODING 36471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4A80 +7EE0 +5540 +5C40 +4FA0 +4880 +4F80 +43C0 +8A00 +B7E0 +ENDCHAR +STARTCHAR U_8E78 +ENCODING 36472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +9540 +9FE0 +F540 +2920 +A440 +B7E0 +AD40 +A3E0 +B240 +CC40 +ENDCHAR +STARTCHAR U_8E79 +ENCODING 36473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +8C40 +FBA0 +2000 +B7C0 +A440 +A7E0 +BAA0 +E660 +0AA0 +ENDCHAR +STARTCHAR U_8E7A +ENCODING 36474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +9100 +FFE0 +2440 +AEE0 +B440 +AFE0 +A280 +B4A0 +C8E0 +ENDCHAR +STARTCHAR U_8E7B +ENCODING 36475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9100 +9FE0 +F440 +2BA0 +A280 +BFE0 +AAA0 +ABA0 +B820 +C860 +ENDCHAR +STARTCHAR U_8E7C +ENCODING 36476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FAA0 +96C0 +9FE0 +F280 +2FE0 +A100 +B7C0 +A100 +AFE0 +B280 +CC60 +ENDCHAR +STARTCHAR U_8E7D +ENCODING 36477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9540 +F280 +27C0 +AC60 +B7C0 +A440 +B7C0 +C540 +0B20 +ENDCHAR +STARTCHAR U_8E7E +ENCODING 36478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FF80 +AA80 +AEE0 +E140 +2F40 +B540 +AE80 +B480 +C540 +8E20 +ENDCHAR +STARTCHAR U_8E7F +ENCODING 36479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9AA0 +F540 +2FE0 +A540 +BFE0 +A920 +AFE0 +B920 +C100 +ENDCHAR +STARTCHAR U_8E80 +ENCODING 36480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9540 +9FE0 +F540 +27C0 +2440 +B7C0 +A440 +A7C0 +B280 +CC60 +ENDCHAR +STARTCHAR U_8E81 +ENCODING 36481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +97C0 +FEE0 +2AA0 +AEE0 +B100 +AFE0 +A380 +B540 +C920 +ENDCHAR +STARTCHAR U_8E82 +ENCODING 36482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +95E0 +9080 +F3E0 +2D40 +A7E0 +BC80 +A7E0 +A480 +BA80 +D1E0 +ENDCHAR +STARTCHAR U_8E83 +ENCODING 36483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F040 +97E0 +95A0 +F540 +27E0 +BC40 +A740 +A5E0 +BD40 +CF40 +1540 +ENDCHAR +STARTCHAR U_8E84 +ENCODING 36484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4540 +7FE0 +6880 +BFE0 +1040 +1FC0 +1200 +13E0 +2A00 +C7E0 +ENDCHAR +STARTCHAR U_8E85 +ENCODING 36485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9540 +9FC0 +F400 +2FE0 +AA20 +BFA0 +AAA0 +AFA0 +B2A0 +CF40 +ENDCHAR +STARTCHAR U_8E86 +ENCODING 36486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F1E0 +9100 +9FE0 +F920 +2FE0 +AA00 +BD60 +AA80 +A9C0 +BEA0 +C920 +ENDCHAR +STARTCHAR U_8E87 +ENCODING 36487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9FE0 +9540 +FFA0 +2140 +AFE0 +B180 +A240 +AFC0 +B240 +C3C0 +ENDCHAR +STARTCHAR U_8E88 +ENCODING 36488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +AE80 +AAE0 +EFA0 +2AA0 +BEA0 +A4A0 +BFA0 +AA40 +AAC0 +D520 +ENDCHAR +STARTCHAR U_8E89 +ENCODING 36489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2480 +FFE0 +A4A0 +BFA0 +A0A0 +3F80 +27C0 +5400 +8FE0 +ENDCHAR +STARTCHAR U_8E8A +ENCODING 36490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9100 +FFE0 +2120 +AFC0 +B040 +AFE0 +AB40 +BEC0 +C0C0 +ENDCHAR +STARTCHAR U_8E8B +ENCODING 36491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +92A0 +FD40 +25A0 +A520 +BFC0 +A440 +A7C0 +B440 +C840 +ENDCHAR +STARTCHAR U_8E8C +ENCODING 36492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +97E0 +9AA0 +F7E0 +22A0 +A7E0 +B440 +AFE0 +A540 +BBE0 +C440 +ENDCHAR +STARTCHAR U_8E8D +ENCODING 36493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9AA0 +9660 +FAA0 +27E0 +AC80 +B7E0 +A480 +A7E0 +BC80 +C7E0 +ENDCHAR +STARTCHAR U_8E8E +ENCODING 36494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A540 +A920 +EFE0 +2920 +ADA0 +BB60 +ADA0 +AB60 +BDA0 +C960 +ENDCHAR +STARTCHAR U_8E8F +ENCODING 36495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +9FE0 +9240 +F9E0 +24A0 +AAA0 +BFE0 +AAA0 +ABE0 +BAA0 +CBE0 +ENDCHAR +STARTCHAR U_8E90 +ENCODING 36496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F2A0 +9540 +92A0 +FFE0 +2AA0 +AFE0 +BDA0 +AB60 +ADA0 +BB60 +CDA0 +ENDCHAR +STARTCHAR U_8E91 +ENCODING 36497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EAE0 +BFA0 +A4A0 +EFA0 +2AC0 +ADA0 +BAA0 +AFA0 +A2E0 +B680 +C980 +ENDCHAR +STARTCHAR U_8E92 +ENCODING 36498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F520 +9BC0 +96A0 +FBA0 +2AC0 +AFE0 +B100 +AFE0 +A380 +BD40 +C920 +ENDCHAR +STARTCHAR U_8E93 +ENCODING 36499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +A880 +AFE0 +EAA0 +2AA0 +A7C0 +BC40 +A7C0 +A440 +B7C0 +CC60 +ENDCHAR +STARTCHAR U_8E94 +ENCODING 36500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +9AA0 +FBE0 +2AA0 +AFE0 +B940 +AAA0 +AFE0 +B880 +DFE0 +ENDCHAR +STARTCHAR U_8E95 +ENCODING 36501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +AA20 +EF20 +2AE0 +AF20 +B9A0 +AF60 +BD20 +CA20 +1760 +ENDCHAR +STARTCHAR U_8E96 +ENCODING 36502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FB60 +94A0 +9B60 +F4A0 +2FE0 +A4A0 +BB60 +A4A0 +AB60 +B4A0 +CFE0 +ENDCHAR +STARTCHAR U_8E97 +ENCODING 36503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +8A00 +7FE0 +D440 +5F40 +44C0 +3F80 +2080 +3F80 +3400 +CFE0 +ENDCHAR +STARTCHAR U_8E98 +ENCODING 36504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E4E0 +BF80 +AAE0 +FF20 +2AE0 +AE80 +BAE0 +AE80 +AAE0 +BAA0 +CEE0 +ENDCHAR +STARTCHAR U_8E99 +ENCODING 36505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +EAA0 +AEE0 +EAA0 +2EE0 +B920 +AFE0 +AAA0 +BBE0 +CAA0 +0BE0 +ENDCHAR +STARTCHAR U_8E9A +ENCODING 36506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +A940 +A7E0 +E560 +3FE0 +A940 +BFE0 +AA40 +AA20 +A9E0 +D7E0 +ENDCHAR +STARTCHAR U_8E9B +ENCODING 36507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +5E00 +AAE0 +7F40 +D540 +44C0 +3F80 +2080 +3F80 +2400 +DFE0 +ENDCHAR +STARTCHAR U_8E9C +ENCODING 36508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +9FE0 +9240 +FFE0 +2540 +AFE0 +B440 +A540 +A540 +B280 +CC60 +ENDCHAR +STARTCHAR U_8E9D +ENCODING 36509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +EAA0 +2FE0 +A920 +BFE0 +AAA0 +AFE0 +BBA0 +CD60 +ENDCHAR +STARTCHAR U_8E9E +ENCODING 36510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +97C0 +9C60 +F7C0 +2440 +ABA0 +B280 +AFE0 +A240 +B980 +C660 +ENDCHAR +STARTCHAR U_8E9F +ENCODING 36511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +BFE0 +AAA0 +EEE0 +2280 +AFE0 +B280 +AFE0 +A4A0 +BD40 +C620 +ENDCHAR +STARTCHAR U_8EA0 +ENCODING 36512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2900 +7BE0 +4940 +7FE0 +4880 +7F80 +2480 +3FC0 +5400 +8FE0 +ENDCHAR +STARTCHAR U_8EA1 +ENCODING 36513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9240 +93C0 +F240 +27E0 +A040 +BFE0 +A540 +A7C0 +B540 +CFE0 +ENDCHAR +STARTCHAR U_8EA2 +ENCODING 36514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +FAA0 +9EE0 +FBA0 +2EE0 +BBA0 +A820 +AEE0 +BAA0 +EE60 +0AA0 +ENDCHAR +STARTCHAR U_8EA3 +ENCODING 36515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +EAA0 +2EE0 +A480 +BFE0 +A480 +A7E0 +BC80 +C7E0 +ENDCHAR +STARTCHAR U_8EA4 +ENCODING 36516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9FE0 +92A0 +FFE0 +24A0 +BFE0 +A400 +BFE0 +A4A0 +AEA0 +D5E0 +ENDCHAR +STARTCHAR U_8EA5 +ENCODING 36517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +AAA0 +AEC0 +E840 +2EC0 +A840 +BFC0 +AD40 +ABC0 +BD40 +CFA0 +ENDCHAR +STARTCHAR U_8EA6 +ENCODING 36518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +9FE0 +9540 +FFE0 +2540 +AFE0 +B440 +A7C0 +A440 +B7C0 +CC60 +ENDCHAR +STARTCHAR U_8EA7 +ENCODING 36519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +06E0 +F000 +96E0 +F4A0 +2100 +BFE0 +AAA0 +AFE0 +BA80 +EAA0 +13E0 +ENDCHAR +STARTCHAR U_8EA8 +ENCODING 36520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A900 +ABE0 +EEA0 +2B80 +AEE0 +B240 +A7A0 +AA80 +B380 +CC60 +ENDCHAR +STARTCHAR U_8EA9 +ENCODING 36521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +AEE0 +EAA0 +2FE0 +A7C0 +BC80 +A7E0 +A440 +B380 +CC60 +ENDCHAR +STARTCHAR U_8EAA +ENCODING 36522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E280 +AFE0 +AAA0 +EEE0 +2AA0 +AEE0 +BAA0 +AFE0 +AAA0 +BBE0 +CA60 +ENDCHAR +STARTCHAR U_8EAB +ENCODING 36523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +3F00 +2100 +3F00 +2140 +3F80 +2100 +FF00 +0900 +3500 +C200 +ENDCHAR +STARTCHAR U_8EAC +ENCODING 36524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +7C20 +4420 +7DE0 +4500 +7D00 +45E0 +FC20 +1420 +2520 +DCC0 +ENDCHAR +STARTCHAR U_8EAD +ENCODING 36525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7900 +4FE0 +7D20 +4900 +7980 +4980 +FA80 +2A80 +4AA0 +9CE0 +ENDCHAR +STARTCHAR U_8EAE +ENCODING 36526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7A80 +4A40 +7A40 +4C20 +7BC0 +4940 +F940 +2A40 +4A40 +9480 +ENDCHAR +STARTCHAR U_8EAF +ENCODING 36527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F400 +9440 +F640 +9540 +F480 +9480 +F540 +3620 +5400 +B7E0 +ENDCHAR +STARTCHAR U_8EB0 +ENCODING 36528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7900 +4FE0 +7900 +4B80 +7B80 +4D40 +FD40 +2BA0 +4900 +9900 +ENDCHAR +STARTCHAR U_8EB1 +ENCODING 36529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7BC0 +4940 +7960 +4A20 +7880 +4BE0 +F880 +29C0 +4AA0 +9080 +ENDCHAR +STARTCHAR U_8EB2 +ENCODING 36530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +7A40 +4A40 +7C60 +4880 +7FE0 +4880 +F980 +2AC0 +4CA0 +9880 +ENDCHAR +STARTCHAR U_8EB3 +ENCODING 36531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7BE0 +4A20 +7A20 +4BE0 +7800 +4BE0 +FA20 +2A20 +4A20 +9BE0 +ENDCHAR +STARTCHAR U_8EB4 +ENCODING 36532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BC0 +4A40 +7BC0 +4A40 +7BC0 +4B20 +FAC0 +2A80 +4A40 +9B20 +ENDCHAR +STARTCHAR U_8EB5 +ENCODING 36533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7BC0 +4940 +7D40 +4B40 +7C80 +4800 +F940 +2AA0 +4E40 +99C0 +ENDCHAR +STARTCHAR U_8EB6 +ENCODING 36534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +7540 +57C0 +7540 +57C0 +7100 +5FE0 +F380 +3540 +5920 +B100 +ENDCHAR +STARTCHAR U_8EB7 +ENCODING 36535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +7900 +4FE0 +7B40 +4D20 +7900 +4FE0 +FA40 +2B80 +4940 +9A20 +ENDCHAR +STARTCHAR U_8EB8 +ENCODING 36536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +4900 +7A80 +4C40 +7FE0 +4840 +FF40 +2D40 +4F40 +98C0 +ENDCHAR +STARTCHAR U_8EB9 +ENCODING 36537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7BE0 +4C20 +7D60 +4BA0 +7FE0 +4BA0 +FD60 +2920 +49A0 +9840 +ENDCHAR +STARTCHAR U_8EBA +ENCODING 36538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +7540 +5100 +77E0 +5420 +77A0 +56A0 +F7A0 +3420 +5420 +B460 +ENDCHAR +STARTCHAR U_8EBB +ENCODING 36539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +4C20 +7A80 +4C40 +7820 +4FC0 +F900 +2900 +4900 +9FE0 +ENDCHAR +STARTCHAR U_8EBC +ENCODING 36540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7BC0 +4A00 +7BC0 +4A00 +7FE0 +4B00 +FAA0 +2A40 +4B20 +9A00 +ENDCHAR +STARTCHAR U_8EBD +ENCODING 36541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F520 +95E0 +F520 +95E0 +F480 +97E0 +F540 +3480 +5540 +B7E0 +ENDCHAR +STARTCHAR U_8EBE +ENCODING 36542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +7FE0 +4900 +7BC0 +4900 +7FE0 +4900 +FFE0 +2980 +4A40 +9C20 +ENDCHAR +STARTCHAR U_8EBF +ENCODING 36543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77E0 +5540 +77E0 +5540 +77C0 +5540 +F740 +5580 +9F60 +3100 +ENDCHAR +STARTCHAR U_8EC0 +ENCODING 36544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F400 +95C0 +F540 +95C0 +F400 +97E0 +F6A0 +37E0 +5400 +B7E0 +ENDCHAR +STARTCHAR U_8EC1 +ENCODING 36545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +7540 +5FE0 +7540 +57C0 +7540 +57C0 +F100 +5FE0 +9280 +2D60 +ENDCHAR +STARTCHAR U_8EC2 +ENCODING 36546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +EBE0 +B240 +E5A0 +AFE0 +E820 +A100 +E7C0 +2240 +6440 +A980 +ENDCHAR +STARTCHAR U_8EC3 +ENCODING 36547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +7AA0 +5EE0 +7000 +57C0 +7540 +57C0 +F540 +5FE0 +9100 +3100 +ENDCHAR +STARTCHAR U_8EC4 +ENCODING 36548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +7EC0 +5AA0 +7FE0 +5080 +7EA0 +5AA0 +FEC0 +3AA0 +5F60 +B220 +ENDCHAR +STARTCHAR U_8EC5 +ENCODING 36549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +EFE0 +AD40 +ED40 +AFE0 +ED40 +ADE0 +ED40 +6DE0 +AD40 +75E0 +ENDCHAR +STARTCHAR U_8EC6 +ENCODING 36550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +7FE0 +5AA0 +7FE0 +5AA0 +7FE0 +5240 +F3C0 +3240 +5180 +B7E0 +ENDCHAR +STARTCHAR U_8EC7 +ENCODING 36551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77E0 +5100 +7FE0 +5120 +77E0 +5040 +FFE0 +3540 +5740 +B0C0 +ENDCHAR +STARTCHAR U_8EC8 +ENCODING 36552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +EFE0 +A940 +EDE0 +AF40 +EDE0 +AD40 +EDE0 +6940 +B660 +69C0 +ENDCHAR +STARTCHAR U_8EC9 +ENCODING 36553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +B520 +EFE0 +A540 +EFE0 +A440 +E7C0 +6440 +A7C0 +6C60 +ENDCHAR +STARTCHAR U_8ECA +ENCODING 36554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +3F80 +2480 +3F80 +2480 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8ECB +ENCODING 36555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FF00 +1100 +7D00 +5500 +7D00 +5500 +7D00 +1120 +FF20 +10E0 +ENDCHAR +STARTCHAR U_8ECC +ENCODING 36556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FA00 +2780 +FA80 +AA80 +FA80 +AA80 +FA80 +22A0 +FCA0 +2860 +ENDCHAR +STARTCHAR U_8ECD +ENCODING 36557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +FFE0 +2480 +3F80 +2480 +3F80 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_8ECE +ENCODING 36558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +3F80 +2480 +3F80 +0400 +FFE0 +2080 +2080 +3F80 +ENDCHAR +STARTCHAR U_8ECF +ENCODING 36559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +2280 +FA80 +AA80 +FA80 +AA80 +FA80 +22A0 +FAA0 +24E0 +ENDCHAR +STARTCHAR U_8ED0 +ENCODING 36560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FF80 +2280 +FA80 +AA80 +FF80 +AA80 +FA80 +22A0 +FA60 +2220 +ENDCHAR +STARTCHAR U_8ED1 +ENCODING 36561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +2100 +FFE0 +A900 +F900 +A900 +FA80 +2280 +F440 +2820 +ENDCHAR +STARTCHAR U_8ED2 +ENCODING 36562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F880 +2080 +F880 +A880 +FBE0 +A880 +F880 +2080 +F880 +2080 +ENDCHAR +STARTCHAR U_8ED3 +ENCODING 36563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2240 +FA40 +AB40 +FAC0 +AA40 +FA40 +2240 +FC40 +2860 +ENDCHAR +STARTCHAR U_8ED4 +ENCODING 36564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +20A0 +F8A0 +AAA0 +FAA0 +ACA0 +F8A0 +2120 +FA20 +24C0 +ENDCHAR +STARTCHAR U_8ED5 +ENCODING 36565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +2080 +FAA0 +AAA0 +FAA0 +AAA0 +FAA0 +22A0 +FBE0 +2220 +ENDCHAR +STARTCHAR U_8ED6 +ENCODING 36566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +2100 +F900 +A900 +FBC0 +A900 +F900 +2100 +FFE0 +2000 +ENDCHAR +STARTCHAR U_8ED7 +ENCODING 36567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2240 +FA60 +AC00 +FFC0 +AA40 +FA40 +2180 +FA40 +2420 +ENDCHAR +STARTCHAR U_8ED8 +ENCODING 36568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +23E0 +F880 +AAA0 +FAA0 +ABE0 +F880 +20A0 +F8A0 +2060 +ENDCHAR +STARTCHAR U_8ED9 +ENCODING 36569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F8E0 +2080 +F880 +AFE0 +FA20 +AA20 +F940 +2080 +F940 +2220 +ENDCHAR +STARTCHAR U_8EDA +ENCODING 36570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +27E0 +F900 +A900 +F900 +AA80 +FA80 +2640 +F540 +2920 +ENDCHAR +STARTCHAR U_8EDB +ENCODING 36571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA00 +2200 +FAE0 +AAA0 +FAA0 +AAE0 +FA80 +22A0 +FAA0 +2460 +ENDCHAR +STARTCHAR U_8EDC +ENCODING 36572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +23E0 +FAA0 +AAA0 +FAA0 +AB60 +FA20 +2220 +FA20 +2260 +ENDCHAR +STARTCHAR U_8EDD +ENCODING 36573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FB80 +2280 +FA80 +ABE0 +FA80 +AA80 +FA80 +22A0 +FB60 +2220 +ENDCHAR +STARTCHAR U_8EDE +ENCODING 36574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +FF00 +2100 +F900 +AFE0 +F900 +A900 +FFE0 +2100 +F920 +20E0 +ENDCHAR +STARTCHAR U_8EDF +ENCODING 36575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FA00 +23E0 +FD20 +A940 +F900 +A900 +F980 +2280 +FA40 +2420 +ENDCHAR +STARTCHAR U_8EE0 +ENCODING 36576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FB80 +2080 +F880 +A880 +FFE0 +A880 +F880 +2080 +F880 +23E0 +ENDCHAR +STARTCHAR U_8EE1 +ENCODING 36577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +2280 +FC40 +A920 +F880 +AFE0 +F840 +2080 +F880 +2100 +ENDCHAR +STARTCHAR U_8EE2 +ENCODING 36578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +2000 +F800 +AFE0 +F900 +AA00 +FA40 +2420 +FFE0 +2020 +ENDCHAR +STARTCHAR U_8EE3 +ENCODING 36579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +3F80 +2480 +3F80 +2480 +FFE0 +2480 +1100 +60C0 +ENDCHAR +STARTCHAR U_8EE4 +ENCODING 36580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FB80 +2080 +FAA0 +A9C0 +F880 +AFE0 +F880 +2080 +F880 +2180 +ENDCHAR +STARTCHAR U_8EE5 +ENCODING 36581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FA00 +23E0 +FC20 +ABA0 +FAA0 +AAA0 +FBA0 +22A0 +F820 +20C0 +ENDCHAR +STARTCHAR U_8EE6 +ENCODING 36582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC40 +2440 +FC40 +AC40 +FFC0 +AA80 +FA80 +22A0 +FCA0 +28E0 +ENDCHAR +STARTCHAR U_8EE7 +ENCODING 36583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +FBC0 +2280 +FA80 +ABE0 +FA80 +AA80 +FA80 +22A0 +FB60 +22A0 +ENDCHAR +STARTCHAR U_8EE8 +ENCODING 36584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F980 +2240 +FC20 +A900 +F880 +AFE0 +F840 +2180 +F880 +2040 +ENDCHAR +STARTCHAR U_8EE9 +ENCODING 36585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +2240 +FA20 +AFE0 +F800 +ABE0 +FA20 +2220 +FBE0 +2220 +ENDCHAR +STARTCHAR U_8EEA +ENCODING 36586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +FA80 +2480 +FFE0 +AAA0 +FAA0 +ADA0 +FFA0 +2120 +FAA0 +2440 +ENDCHAR +STARTCHAR U_8EEB +ENCODING 36587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F940 +2220 +FC80 +A900 +FA40 +AC80 +F920 +2240 +F880 +2300 +ENDCHAR +STARTCHAR U_8EEC +ENCODING 36588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7FC0 +0400 +FFE0 +2480 +7FC0 +A4A0 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8EED +ENCODING 36589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +2400 +FFC0 +AC80 +FDC0 +AC80 +FC80 +27E0 +FC00 +27E0 +ENDCHAR +STARTCHAR U_8EEE +ENCODING 36590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +23E0 +FAA0 +AAA0 +FAA0 +AFE0 +F880 +2140 +FA20 +2420 +ENDCHAR +STARTCHAR U_8EEF +ENCODING 36591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F880 +24A0 +FAA0 +AAC0 +F880 +AFE0 +F880 +2080 +F880 +2080 +ENDCHAR +STARTCHAR U_8EF0 +ENCODING 36592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A40 +7B80 +0A20 +79E0 +0400 +FFE0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8EF1 +ENCODING 36593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FFC0 +2540 +FD40 +AD40 +FD40 +AD40 +FD40 +2520 +FDE0 +2940 +ENDCHAR +STARTCHAR U_8EF2 +ENCODING 36594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +23E0 +F880 +A880 +FBE0 +AA20 +FA20 +2220 +FBE0 +2220 +ENDCHAR +STARTCHAR U_8EF3 +ENCODING 36595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +2420 +FBA0 +AAA0 +FBA0 +AAA0 +FA40 +2220 +FA20 +21E0 +ENDCHAR +STARTCHAR U_8EF4 +ENCODING 36596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F880 +27E0 +F880 +A880 +F880 +ABE0 +F880 +2080 +F880 +27E0 +ENDCHAR +STARTCHAR U_8EF5 +ENCODING 36597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +F940 +2240 +FFE0 +AA40 +FB40 +AAC0 +FA40 +2240 +FA40 +22C0 +ENDCHAR +STARTCHAR U_8EF6 +ENCODING 36598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2220 +FBE0 +AA00 +FBE0 +AA40 +FA80 +22A0 +FD20 +25E0 +ENDCHAR +STARTCHAR U_8EF7 +ENCODING 36599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +F920 +27E0 +F900 +A900 +F9E0 +A920 +FAA0 +2240 +FCA0 +2320 +ENDCHAR +STARTCHAR U_8EF8 +ENCODING 36600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +23E0 +FAA0 +AAA0 +FAA0 +ABE0 +FAA0 +22A0 +FBE0 +2220 +ENDCHAR +STARTCHAR U_8EF9 +ENCODING 36601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA20 +2220 +FA20 +AA20 +FBE0 +A800 +F940 +2140 +FA20 +2420 +ENDCHAR +STARTCHAR U_8EFA +ENCODING 36602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F920 +2120 +F920 +AAE0 +FC40 +ABE0 +FA20 +2220 +FBE0 +2220 +ENDCHAR +STARTCHAR U_8EFB +ENCODING 36603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FC20 +2020 +FBA0 +AAA0 +FAA0 +ABA0 +F820 +2020 +FC20 +2060 +ENDCHAR +STARTCHAR U_8EFC +ENCODING 36604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FA80 +2280 +FBE0 +AC80 +F880 +AFE0 +F880 +2080 +F940 +2620 +ENDCHAR +STARTCHAR U_8EFD +ENCODING 36605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFC0 +2240 +F980 +AA80 +FD60 +A900 +FFC0 +2100 +F900 +27E0 +ENDCHAR +STARTCHAR U_8EFE +ENCODING 36606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +F8A0 +27E0 +F880 +AF80 +FA80 +AA80 +FAA0 +23A0 +FE60 +2020 +ENDCHAR +STARTCHAR U_8EFF +ENCODING 36607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +F940 +27E0 +F940 +A940 +F940 +AFE0 +F940 +2140 +FA40 +2440 +ENDCHAR +STARTCHAR U_8F00 +ENCODING 36608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +2100 +FA00 +AFE0 +FAA0 +AAA0 +FAA0 +2AA0 +FAA0 +2860 +ENDCHAR +STARTCHAR U_8F01 +ENCODING 36609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FA40 +27E0 +FA40 +AA40 +FA40 +AFE0 +F800 +2240 +FC20 +2420 +ENDCHAR +STARTCHAR U_8F02 +ENCODING 36610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +FFE0 +2480 +FFE0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8F03 +ENCODING 36611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F880 +27E0 +FA40 +AC20 +FA40 +AA40 +F980 +2180 +FA40 +2420 +ENDCHAR +STARTCHAR U_8F04 +ENCODING 36612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F920 +2540 +FB80 +A900 +FFE0 +AA80 +FA80 +22A0 +FCA0 +2860 +ENDCHAR +STARTCHAR U_8F05 +ENCODING 36613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F9E0 +2140 +FA80 +A940 +FA20 +ABE0 +FA20 +2220 +FBE0 +2220 +ENDCHAR +STARTCHAR U_8F06 +ENCODING 36614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +F920 +AB40 +F880 +A920 +FA40 +2080 +FD40 +2220 +ENDCHAR +STARTCHAR U_8F07 +ENCODING 36615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FA80 +2440 +F820 +AFC0 +F900 +A900 +FFC0 +2100 +F900 +27E0 +ENDCHAR +STARTCHAR U_8F08 +ENCODING 36616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBE0 +2220 +FB20 +AAA0 +FFE0 +AA20 +FB20 +22A0 +FC20 +20E0 +ENDCHAR +STARTCHAR U_8F09 +ENCODING 36617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1180 +7D40 +1100 +FFE0 +1100 +FF20 +5540 +7C80 +54A0 +FF60 +1220 +ENDCHAR +STARTCHAR U_8F0A +ENCODING 36618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +2100 +FA40 +AFA0 +F820 +A880 +FBE0 +2080 +F880 +27E0 +ENDCHAR +STARTCHAR U_8F0B +ENCODING 36619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0800 +FFE0 +4440 +BFA0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8F0C +ENCODING 36620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +2100 +FFE0 +A920 +FD60 +AD60 +FFE0 +2820 +F8A0 +2840 +ENDCHAR +STARTCHAR U_8F0D +ENCODING 36621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +FA20 +2080 +F940 +AA20 +F800 +ABE0 +FA20 +2220 +FBE0 +2220 +ENDCHAR +STARTCHAR U_8F0E +ENCODING 36622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24A0 +FAC0 +2080 +FBE0 +AA20 +FBE0 +AA20 +FBE0 +2220 +FA20 +2260 +ENDCHAR +STARTCHAR U_8F0F +ENCODING 36623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +2180 +FFE0 +ADA0 +FDA0 +AEE0 +FC20 +27E0 +FC20 +27E0 +ENDCHAR +STARTCHAR U_8F10 +ENCODING 36624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2420 +FBC0 +A800 +FFE0 +AA80 +FA80 +22A0 +FAA0 +2460 +ENDCHAR +STARTCHAR U_8F11 +ENCODING 36625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +F940 +27E0 +F940 +AFC0 +F940 +AA00 +FFE0 +2220 +FBE0 +2220 +ENDCHAR +STARTCHAR U_8F12 +ENCODING 36626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FD40 +2540 +FF40 +AD40 +FF40 +AD40 +FD40 +27C0 +F940 +2160 +ENDCHAR +STARTCHAR U_8F13 +ENCODING 36627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F9C0 +2240 +FFE0 +AAA0 +FAA0 +ABE0 +F880 +21A0 +FAA0 +2460 +ENDCHAR +STARTCHAR U_8F14 +ENCODING 36628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +F8A0 +23E0 +F880 +ABE0 +FAA0 +ABE0 +FAA0 +23E0 +FAA0 +22E0 +ENDCHAR +STARTCHAR U_8F15 +ENCODING 36629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F800 +22A0 +FD40 +AD40 +FAA0 +A800 +FBC0 +2080 +F880 +27E0 +ENDCHAR +STARTCHAR U_8F16 +ENCODING 36630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FD20 +27A0 +FD20 +AFE0 +FC20 +AFA0 +FEA0 +27A0 +FC20 +2460 +ENDCHAR +STARTCHAR U_8F17 +ENCODING 36631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FEE0 +2420 +FEE0 +AC20 +FC20 +AFE0 +FA80 +22A0 +FAA0 +2460 +ENDCHAR +STARTCHAR U_8F18 +ENCODING 36632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FFE0 +A940 +FA20 +ADC0 +FB40 +2480 +F940 +2620 +ENDCHAR +STARTCHAR U_8F19 +ENCODING 36633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FF80 +2500 +FDE0 +A720 +FDA0 +A740 +FD40 +27A0 +F920 +2100 +ENDCHAR +STARTCHAR U_8F1A +ENCODING 36634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +FA40 +27E0 +F940 +A9A0 +FE60 +AA80 +FFE0 +2280 +F9A0 +2660 +ENDCHAR +STARTCHAR U_8F1B +ENCODING 36635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F900 +2100 +FFE0 +A920 +FDA0 +AB60 +FDA0 +2920 +F920 +2960 +ENDCHAR +STARTCHAR U_8F1C +ENCODING 36636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +FAA0 +2540 +FAA0 +AAA0 +F800 +ABE0 +FAA0 +23E0 +FAA0 +23E0 +ENDCHAR +STARTCHAR U_8F1D +ENCODING 36637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +ACA0 +73C0 +2080 +FBE0 +52A0 +53E0 +52A0 +57E0 +5880 +9080 +ENDCHAR +STARTCHAR U_8F1E +ENCODING 36638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FC20 +26A0 +FFE0 +AD20 +FFE0 +AD20 +FD20 +25E0 +FC20 +2460 +ENDCHAR +STARTCHAR U_8F1F +ENCODING 36639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F920 +23C0 +FAA0 +AD00 +FFE0 +A920 +FDA0 +2240 +FAA0 +25A0 +ENDCHAR +STARTCHAR U_8F20 +ENCODING 36640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FAA0 +23E0 +FAA0 +ABE0 +F880 +AFE0 +F880 +21C0 +FAA0 +2480 +ENDCHAR +STARTCHAR U_8F21 +ENCODING 36641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F9E0 +2120 +FA40 +A900 +FAE0 +AA20 +FB60 +2220 +FA20 +23E0 +ENDCHAR +STARTCHAR U_8F22 +ENCODING 36642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2100 +FA80 +AFE0 +F840 +AF40 +FD40 +2740 +F840 +20C0 +ENDCHAR +STARTCHAR U_8F23 +ENCODING 36643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +FAA0 +2AA0 +FEE0 +AAA0 +FAA0 +AEE0 +FAA0 +2AA0 +FAA0 +2B60 +ENDCHAR +STARTCHAR U_8F24 +ENCODING 36644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +2080 +FBE0 +A880 +FFE0 +AA20 +FBE0 +2220 +FBE0 +2260 +ENDCHAR +STARTCHAR U_8F25 +ENCODING 36645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA20 +23E0 +FA20 +ABE0 +FA80 +AAA0 +FBC0 +22A0 +FBA0 +22E0 +ENDCHAR +STARTCHAR U_8F26 +ENCODING 36646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +FBE0 +5540 +8420 +7FC0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8F27 +ENCODING 36647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +FA40 +27E0 +FA40 +AA40 +FFE0 +AA40 +FA40 +2240 +FA40 +2440 +ENDCHAR +STARTCHAR U_8F28 +ENCODING 36648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2420 +FBC0 +AA40 +FBC0 +AA00 +FBC0 +2240 +FA40 +23C0 +ENDCHAR +STARTCHAR U_8F29 +ENCODING 36649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +F1E0 +1100 +F1E0 +1500 +FFE0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8F2A +ENCODING 36650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FA80 +2440 +FBA0 +A800 +FFE0 +AAA0 +FFE0 +2AA0 +FAA0 +2860 +ENDCHAR +STARTCHAR U_8F2B +ENCODING 36651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +FA80 +2EE0 +FA80 +AEE0 +FA80 +AA80 +FEE0 +2280 +FA80 +2280 +ENDCHAR +STARTCHAR U_8F2C +ENCODING 36652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2000 +FBE0 +AA20 +FA20 +ABE0 +F880 +22C0 +FAA0 +25A0 +ENDCHAR +STARTCHAR U_8F2D +ENCODING 36653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +F900 +27E0 +FAA0 +AAA0 +FAA0 +A900 +FFE0 +2280 +FC60 +2840 +ENDCHAR +STARTCHAR U_8F2E +ENCODING 36654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FD40 +27C0 +FD40 +AFC0 +F800 +AFE0 +FAA0 +2FE0 +FAA0 +2FE0 +ENDCHAR +STARTCHAR U_8F2F +ENCODING 36655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +23C0 +F800 +AFE0 +FA40 +ABC0 +FA40 +22E0 +FF40 +2040 +ENDCHAR +STARTCHAR U_8F30 +ENCODING 36656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +23C0 +FA40 +AFE0 +FA00 +AFE0 +FAA0 +2520 +FAA0 +2440 +ENDCHAR +STARTCHAR U_8F31 +ENCODING 36657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +F8A0 +27E0 +FC80 +AFA0 +FCA0 +AFA0 +FD40 +2760 +F4A0 +2920 +ENDCHAR +STARTCHAR U_8F32 +ENCODING 36658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +FD40 +27C0 +F800 +AFE0 +F900 +AFE0 +FAA0 +2AA0 +FAA0 +2860 +ENDCHAR +STARTCHAR U_8F33 +ENCODING 36659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F900 +27C0 +F900 +AFE0 +FA40 +AFA0 +F900 +27C0 +FA80 +2460 +ENDCHAR +STARTCHAR U_8F34 +ENCODING 36660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FC80 +27E0 +FC80 +ADE0 +FD20 +ADE0 +FD20 +25E0 +FD20 +21E0 +ENDCHAR +STARTCHAR U_8F35 +ENCODING 36661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC40 +27C0 +FC40 +AFC0 +FA00 +ABE0 +FCA0 +2560 +FFA0 +20C0 +ENDCHAR +STARTCHAR U_8F36 +ENCODING 36662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +FA80 +27E0 +FA80 +AFE0 +FAA0 +ACE0 +F820 +2FE0 +F820 +2FE0 +ENDCHAR +STARTCHAR U_8F37 +ENCODING 36663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +2520 +FFE0 +A820 +FBA0 +A820 +FBA0 +22A0 +FBA0 +2040 +ENDCHAR +STARTCHAR U_8F38 +ENCODING 36664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FA80 +2460 +FB80 +AE20 +FAA0 +AEA0 +FAA0 +2EA0 +FA20 +2A60 +ENDCHAR +STARTCHAR U_8F39 +ENCODING 36665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +2640 +FBC0 +AA40 +FBC0 +A900 +FBE0 +2640 +F980 +2660 +ENDCHAR +STARTCHAR U_8F3A +ENCODING 36666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +FAA0 +2540 +FFE0 +AD40 +FAA0 +ABE0 +FAA0 +23E0 +FAA0 +23E0 +ENDCHAR +STARTCHAR U_8F3B +ENCODING 36667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F800 +21C0 +F940 +A9C0 +F800 +ABE0 +FAA0 +23E0 +FAA0 +23E0 +ENDCHAR +STARTCHAR U_8F3C +ENCODING 36668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +23C0 +FA40 +ABC0 +F800 +AFE0 +FAA0 +2AA0 +FAA0 +2FE0 +ENDCHAR +STARTCHAR U_8F3D +ENCODING 36669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFC0 +2100 +FFE0 +AA80 +FC40 +AFE0 +FD40 +27C0 +FD40 +27C0 +ENDCHAR +STARTCHAR U_8F3E +ENCODING 36670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FC20 +27E0 +FD40 +AFE0 +FD40 +AFE0 +FD00 +25A0 +FD40 +25A0 +ENDCHAR +STARTCHAR U_8F3F +ENCODING 36671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +64C0 +5F40 +64C0 +5F40 +75C0 +5540 +7FC0 +4440 +FFE0 +2080 +C060 +ENDCHAR +STARTCHAR U_8F40 +ENCODING 36672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FAA0 +22A0 +FB60 +ABE0 +F800 +AFE0 +FAA0 +2AA0 +FAA0 +2FE0 +ENDCHAR +STARTCHAR U_8F41 +ENCODING 36673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +FF20 +2520 +FAC0 +A900 +FE60 +AC20 +FEE0 +2420 +FFE0 +2420 +ENDCHAR +STARTCHAR U_8F42 +ENCODING 36674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +FF40 +1140 +FF60 +9200 +FDE0 +5620 +7D40 +5480 +FD40 +1220 +ENDCHAR +STARTCHAR U_8F43 +ENCODING 36675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2100 +FFE0 +AA40 +FFA0 +A900 +FFE0 +2380 +FD40 +2920 +ENDCHAR +STARTCHAR U_8F44 +ENCODING 36676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2520 +FFC0 +A900 +FFC0 +A900 +FFE0 +2440 +FC40 +27C0 +ENDCHAR +STARTCHAR U_8F45 +ENCODING 36677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +2100 +FFE0 +A800 +FBC0 +AA40 +FBC0 +26A0 +FA40 +2720 +ENDCHAR +STARTCHAR U_8F46 +ENCODING 36678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2A80 +FFE0 +AAA0 +FFE0 +A800 +FAA0 +2BC0 +FAA0 +37E0 +ENDCHAR +STARTCHAR U_8F47 +ENCODING 36679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F920 +25A0 +FB60 +ADA0 +FA80 +AD40 +FAA0 +2140 +F880 +2700 +ENDCHAR +STARTCHAR U_8F48 +ENCODING 36680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +FD40 +22A0 +FBE0 +AAA0 +FBE0 +AAA0 +FFE0 +2180 +FAC0 +24A0 +ENDCHAR +STARTCHAR U_8F49 +ENCODING 36681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2540 +FFC0 +AD40 +FFC0 +A960 +FFE0 +2440 +FA40 +20C0 +ENDCHAR +STARTCHAR U_8F4A +ENCODING 36682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +2240 +FFE0 +AA40 +FA40 +AFE0 +F820 +27E0 +F820 +27E0 +ENDCHAR +STARTCHAR U_8F4B +ENCODING 36683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +22A0 +FBE0 +AEA0 +FFE0 +AC80 +FFE0 +2480 +FC00 +23E0 +ENDCHAR +STARTCHAR U_8F4C +ENCODING 36684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F900 +27E0 +FD20 +AB40 +FD20 +AFE0 +F820 +27E0 +F820 +27E0 +ENDCHAR +STARTCHAR U_8F4D +ENCODING 36685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FF80 +2AE0 +FFA0 +A9A0 +FEA0 +AAA0 +FEA0 +2A40 +FEA0 +2B20 +ENDCHAR +STARTCHAR U_8F4E +ENCODING 36686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +F900 +27E0 +FA40 +AFE0 +FA40 +AFE0 +FAA0 +2BA0 +F820 +2860 +ENDCHAR +STARTCHAR U_8F4F +ENCODING 36687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +F820 +2FE0 +F900 +AFC0 +F900 +AFE0 +FA40 +2FE0 +FA40 +26C0 +ENDCHAR +STARTCHAR U_8F50 +ENCODING 36688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26A0 +FAC0 +2FE0 +FA80 +AFE0 +F900 +AFC0 +F900 +27E0 +FA80 +2C60 +ENDCHAR +STARTCHAR U_8F51 +ENCODING 36689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F7E0 +25A0 +FBC0 +AE60 +FBC0 +AA40 +FBC0 +2580 +F940 +2320 +ENDCHAR +STARTCHAR U_8F52 +ENCODING 36690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +22A0 +FFE0 +AA40 +FBC0 +AA40 +FBC0 +2240 +FBC0 +2660 +ENDCHAR +STARTCHAR U_8F53 +ENCODING 36691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +F920 +2540 +FFE0 +A940 +FFE0 +AD40 +FFC0 +2540 +FFC0 +2440 +ENDCHAR +STARTCHAR U_8F54 +ENCODING 36692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +FB40 +27E0 +FB40 +AD20 +FA40 +ABE0 +FD40 +25E0 +FA40 +2440 +ENDCHAR +STARTCHAR U_8F55 +ENCODING 36693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FA80 +23C0 +FA40 +ABC0 +FA40 +AFE0 +FCA0 +2560 +FFA0 +2040 +ENDCHAR +STARTCHAR U_8F56 +ENCODING 36694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2540 +FFC0 +A920 +FFE0 +ADA0 +FDA0 +2420 +FFE0 +2420 +ENDCHAR +STARTCHAR U_8F57 +ENCODING 36695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20A0 +FFE0 +2880 +FFA0 +A8A0 +FEC0 +AA60 +FE80 +22A0 +F660 +2BC0 +ENDCHAR +STARTCHAR U_8F58 +ENCODING 36696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +FAA0 +2FE0 +F800 +AFE0 +FA40 +ABC0 +FA80 +26A0 +FB40 +2220 +ENDCHAR +STARTCHAR U_8F59 +ENCODING 36697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +FFC0 +2100 +FFE0 +AAC0 +FAA0 +AFE0 +FAA0 +2740 +FAE0 +2720 +ENDCHAR +STARTCHAR U_8F5A +ENCODING 36698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +AA60 +FFC0 +A940 +FC80 +7FE0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8F5B +ENCODING 36699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +F720 +2720 +F9E0 +AA20 +FF20 +AAA0 +FF60 +2220 +FB20 +26E0 +ENDCHAR +STARTCHAR U_8F5C +ENCODING 36700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +F900 +27E0 +FD60 +AB80 +FD40 +AFE0 +FA00 +27E0 +FD20 +2560 +ENDCHAR +STARTCHAR U_8F5D +ENCODING 36701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6DC0 +4E40 +4A40 +FFE0 +2480 +7FC0 +A4A0 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8F5E +ENCODING 36702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +FA40 +2F60 +F940 +AF40 +FAA0 +AFA0 +F000 +2FE0 +FAA0 +2FE0 +ENDCHAR +STARTCHAR U_8F5F +ENCODING 36703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2480 +3F80 +2480 +FFE0 +5540 +7FC0 +5540 +FFE0 +1080 +ENDCHAR +STARTCHAR U_8F60 +ENCODING 36704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FD40 +27C0 +FD40 +AFC0 +F800 +AFE0 +FAA0 +2FE0 +FAA0 +2FE0 +ENDCHAR +STARTCHAR U_8F61 +ENCODING 36705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5F40 +B5A0 +5F40 +F5E0 +5F40 +A4A0 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_8F62 +ENCODING 36706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +FBA0 +26C0 +FBA0 +AAC0 +FFE0 +A900 +FFE0 +2380 +F540 +2920 +ENDCHAR +STARTCHAR U_8F63 +ENCODING 36707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +FEC0 +2A40 +FFE0 +AA40 +FEE0 +AA40 +F880 +2AE0 +FA80 +2FE0 +ENDCHAR +STARTCHAR U_8F64 +ENCODING 36708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +F100 +2FE0 +F920 +AFE0 +FD40 +AFC0 +FD40 +2FE0 +FAA0 +27E0 +ENDCHAR +STARTCHAR U_8F65 +ENCODING 36709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +FFE0 +2AA0 +FEE0 +AAA0 +FEE0 +AAA0 +FFE0 +2AA0 +FBE0 +2A60 +ENDCHAR +STARTCHAR U_8F66 +ENCODING 36710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +0800 +7FC0 +1000 +2400 +3F80 +0400 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_8F67 +ENCODING 36711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FD00 +2100 +5100 +7D00 +1100 +1D00 +F120 +1120 +10E0 +ENDCHAR +STARTCHAR U_8F68 +ENCODING 36712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +F280 +4FC0 +A280 +F280 +2280 +34A0 +E4A0 +28A0 +3060 +ENDCHAR +STARTCHAR U_8F69 +ENCODING 36713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47C0 +F100 +4100 +AFE0 +F100 +2100 +3100 +E100 +2100 +2100 +ENDCHAR +STARTCHAR U_8F6A +ENCODING 36714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +4100 +67C0 +A100 +F900 +2280 +3A80 +E240 +2460 +2840 +ENDCHAR +STARTCHAR U_8F6B +ENCODING 36715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +40A0 +62A0 +A2A0 +FD20 +2120 +3920 +E220 +22A0 +2440 +ENDCHAR +STARTCHAR U_8F6C +ENCODING 36716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F7C0 +4100 +6FE0 +A200 +F7C0 +2040 +3A80 +E100 +2080 +2080 +ENDCHAR +STARTCHAR U_8F6D +ENCODING 36717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FC00 +4400 +65E0 +A520 +FD20 +2560 +3D00 +E500 +2520 +28E0 +ENDCHAR +STARTCHAR U_8F6E +ENCODING 36718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F980 +4240 +6420 +A000 +FA40 +2280 +3B00 +E220 +2220 +21E0 +ENDCHAR +STARTCHAR U_8F6F +ENCODING 36719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +FBE0 +4220 +A540 +F900 +2100 +3A80 +E280 +2440 +2820 +ENDCHAR +STARTCHAR U_8F70 +ENCODING 36720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7FC0 +2400 +3F80 +0400 +FFE0 +0400 +FBC0 +4A40 +3180 +CE60 +ENDCHAR +STARTCHAR U_8F71 +ENCODING 36721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +47E0 +6080 +A080 +FBE0 +2220 +3A20 +E220 +23E0 +2220 +ENDCHAR +STARTCHAR U_8F72 +ENCODING 36722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F840 +4040 +6740 +A540 +FD40 +2740 +3840 +E040 +2140 +2080 +ENDCHAR +STARTCHAR U_8F73 +ENCODING 36723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F9E0 +4100 +67E0 +A420 +FC20 +27E0 +3C00 +E400 +2400 +2800 +ENDCHAR +STARTCHAR U_8F74 +ENCODING 36724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +47E0 +64A0 +A4A0 +FCA0 +27E0 +3CA0 +E4A0 +27E0 +2420 +ENDCHAR +STARTCHAR U_8F75 +ENCODING 36725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA20 +4220 +6220 +A220 +FBE0 +2220 +3940 +E240 +2420 +2820 +ENDCHAR +STARTCHAR U_8F76 +ENCODING 36726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +FA80 +43E0 +6480 +A080 +FFE0 +2080 +3880 +E140 +2220 +2420 +ENDCHAR +STARTCHAR U_8F77 +ENCODING 36727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FB80 +44A0 +62A0 +A2C0 +F880 +27E0 +2080 +F880 +2080 +2180 +ENDCHAR +STARTCHAR U_8F78 +ENCODING 36728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F980 +4240 +64A0 +A100 +FA40 +2080 +3920 +E040 +2180 +2600 +ENDCHAR +STARTCHAR U_8F79 +ENCODING 36729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +FB80 +4200 +6280 +A280 +FFE0 +2080 +3AC0 +E2A0 +24A0 +2180 +ENDCHAR +STARTCHAR U_8F7A +ENCODING 36730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +4120 +6120 +A2A0 +FC40 +23E0 +3A20 +E220 +23E0 +2220 +ENDCHAR +STARTCHAR U_8F7B +ENCODING 36731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +F840 +4080 +6140 +A620 +F800 +23E0 +3880 +E080 +2080 +27E0 +ENDCHAR +STARTCHAR U_8F7C +ENCODING 36732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +F8A0 +47E0 +6080 +A780 +FA80 +2280 +3AA0 +E3A0 +2C60 +2020 +ENDCHAR +STARTCHAR U_8F7D +ENCODING 36733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D40 +1120 +FFE0 +2100 +FD20 +5140 +7C80 +10A0 +FD60 +1220 +ENDCHAR +STARTCHAR U_8F7E +ENCODING 36734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F900 +4100 +6240 +A7E0 +F920 +2100 +3FC0 +E100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_8F7F +ENCODING 36735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +FF00 +4100 +67E0 +A240 +FC20 +2240 +3A40 +E240 +2440 +2840 +ENDCHAR +STARTCHAR U_8F80 +ENCODING 36736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FC40 +4640 +A540 +FFE0 +2440 +3640 +6540 +A440 +28C0 +ENDCHAR +STARTCHAR U_8F81 +ENCODING 36737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FA80 +4440 +6020 +A7C0 +F900 +2100 +3FC0 +E100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_8F82 +ENCODING 36738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBC0 +4640 +6240 +A180 +FA40 +27E0 +3A40 +E240 +23C0 +2240 +ENDCHAR +STARTCHAR U_8F83 +ENCODING 36739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F880 +47E0 +6240 +A420 +FA40 +2240 +3980 +E080 +2140 +2620 +ENDCHAR +STARTCHAR U_8F84 +ENCODING 36740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +4A00 +FA80 +4E80 +AA80 +FE80 +2A80 +3B80 +EEA0 +22A0 +22E0 +ENDCHAR +STARTCHAR U_8F85 +ENCODING 36741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +FFE0 +4100 +67E0 +A520 +FFE0 +2520 +3FE0 +E520 +2520 +2560 +ENDCHAR +STARTCHAR U_8F86 +ENCODING 36742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FA80 +4280 +6FE0 +AAA0 +FAA0 +2BE0 +3CA0 +E920 +2820 +2860 +ENDCHAR +STARTCHAR U_8F87 +ENCODING 36743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2080 +FBE0 +4B40 +BFE0 +1400 +3FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_8F88 +ENCODING 36744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FBE0 +0A00 +FBE0 +0A00 +7FC0 +1400 +3FC0 +0400 +7FE0 +0400 +ENDCHAR +STARTCHAR U_8F89 +ENCODING 36745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +AC20 +7100 +27E0 +FA00 +5480 +57C0 +5080 +5FE0 +5080 +8080 +ENDCHAR +STARTCHAR U_8F8A +ENCODING 36746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FC20 +47E0 +6420 +A7E0 +F880 +24A0 +3FC0 +E480 +25A0 +2660 +ENDCHAR +STARTCHAR U_8F8B +ENCODING 36747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +F820 +4AA0 +6920 +AFE0 +F920 +2FE0 +3A20 +EBA0 +2820 +2860 +ENDCHAR +STARTCHAR U_8F8C +ENCODING 36748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +FFE0 +4000 +A7C0 +F440 +27C0 +3100 +6540 +A920 +2300 +ENDCHAR +STARTCHAR U_8F8D +ENCODING 36749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FDA0 +4240 +65A0 +A500 +FFE0 +2120 +3DA0 +E240 +25A0 +2920 +ENDCHAR +STARTCHAR U_8F8E +ENCODING 36750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +FAA0 +4540 +62A0 +A2A0 +FFE0 +2520 +3FE0 +E520 +27E0 +2420 +ENDCHAR +STARTCHAR U_8F8F +ENCODING 36751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F900 +47C0 +6100 +A7E0 +FC40 +23A0 +3900 +E7E0 +2280 +2C60 +ENDCHAR +STARTCHAR U_8F90 +ENCODING 36752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4000 +F3C0 +4240 +A3C0 +F800 +27E0 +3CA0 +E7E0 +24A0 +27E0 +ENDCHAR +STARTCHAR U_8F91 +ENCODING 36753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +43C0 +6000 +A7E0 +FA40 +2340 +3AC0 +E260 +2FC0 +2040 +ENDCHAR +STARTCHAR U_8F92 +ENCODING 36754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +FFC0 +4440 +A7C0 +F000 +27C0 +3540 +6540 +A540 +2FE0 +ENDCHAR +STARTCHAR U_8F93 +ENCODING 36755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4280 +F440 +4BA0 +A000 +FE20 +2AA0 +3EA0 +EAA0 +2EA0 +2A60 +ENDCHAR +STARTCHAR U_8F94 +ENCODING 36756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +9E80 +F5E0 +3E40 +E5E0 +3F20 +C4C0 +3F80 +2080 +3F80 +2080 +ENDCHAR +STARTCHAR U_8F95 +ENCODING 36757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +4100 +67E0 +A000 +FFC0 +2440 +3FC0 +E6A0 +2A40 +2320 +ENDCHAR +STARTCHAR U_8F96 +ENCODING 36758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +4920 +67C0 +A100 +F7C0 +2900 +3FE0 +E440 +27C0 +2440 +ENDCHAR +STARTCHAR U_8F97 +ENCODING 36759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +FFE0 +4940 +AFE0 +F940 +2FE0 +3AA0 +EA40 +2B20 +3220 +ENDCHAR +STARTCHAR U_8F98 +ENCODING 36760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +FA80 +4FE0 +AAA0 +FFE0 +2AA0 +3BC0 +EA80 +2BA0 +32E0 +ENDCHAR +STARTCHAR U_8F99 +ENCODING 36761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4F80 +FAE0 +4FA0 +A0A0 +FEA0 +2AA0 +3EA0 +EA40 +2EA0 +2B20 +ENDCHAR +STARTCHAR U_8F9A +ENCODING 36762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +FB40 +47E0 +6340 +A520 +FC40 +27E0 +3D40 +E3E0 +2240 +2440 +ENDCHAR +STARTCHAR U_8F9B +ENCODING 36763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +2080 +1900 +0A00 +FFE0 +0400 +7FC0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_8F9C +ENCODING 36764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +3F80 +0400 +7FC0 +0A00 +FFE0 +0400 +7FC0 +0400 +ENDCHAR +STARTCHAR U_8F9D +ENCODING 36765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +4FE0 +9440 +FA80 +0FE0 +F100 +97C0 +9100 +F100 +0100 +ENDCHAR +STARTCHAR U_8F9E +ENCODING 36766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +E7E0 +2220 +F940 +27E0 +2080 +F880 +8BE0 +8880 +F880 +8880 +ENDCHAR +STARTCHAR U_8F9F +ENCODING 36767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3C80 +27E0 +2620 +3D40 +2080 +3FE0 +5480 +57E0 +5480 +9C80 +0080 +ENDCHAR +STARTCHAR U_8FA0 +ENCODING 36768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +7FC0 +1100 +FFE0 +0400 +7FC0 +0400 +ENDCHAR +STARTCHAR U_8FA1 +ENCODING 36769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +1080 +7BE0 +2940 +1080 +FBE0 +1080 +7BE0 +1080 +2080 +4080 +ENDCHAR +STARTCHAR U_8FA2 +ENCODING 36770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2080 +FFE0 +2140 +F880 +AFE0 +F880 +23E0 +7080 +A880 +2080 +ENDCHAR +STARTCHAR U_8FA3 +ENCODING 36771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F900 +57E0 +2520 +FFE0 +2100 +FB80 +2540 +4920 +8100 +ENDCHAR +STARTCHAR U_8FA4 +ENCODING 36772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3900 +C080 +AFE0 +5140 +F880 +8FE0 +7080 +13E0 +6080 +5080 +8880 +ENDCHAR +STARTCHAR U_8FA5 +ENCODING 36773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A880 +FFE0 +5140 +F880 +4FE0 +7880 +43E0 +7880 +4880 +7880 +ENDCHAR +STARTCHAR U_8FA6 +ENCODING 36774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +F5E0 +54A0 +2F40 +F5E0 +2540 +2540 +F5E0 +2540 +4940 +9240 +ENDCHAR +STARTCHAR U_8FA7 +ENCODING 36775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8080 +4040 +FFE0 +AAA0 +4A40 +FBE0 +4A40 +EAE0 +4A40 +5240 +A640 +ENDCHAR +STARTCHAR U_8FA8 +ENCODING 36776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FBE0 +52A0 +2A40 +FBE0 +2A40 +3A40 +E3E0 +2440 +4840 +9040 +ENDCHAR +STARTCHAR U_8FA9 +ENCODING 36777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +FBE0 +52A0 +2C40 +F5E0 +2440 +3C40 +E5E0 +2640 +4440 +8040 +ENDCHAR +STARTCHAR U_8FAA +ENCODING 36778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5C80 +53E0 +5140 +FC80 +4BE0 +7880 +43E0 +7880 +4880 +7880 +ENDCHAR +STARTCHAR U_8FAB +ENCODING 36779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FCE0 +55A0 +2640 +FBE0 +2440 +3E40 +E1E0 +2640 +4840 +8040 +ENDCHAR +STARTCHAR U_8FAC +ENCODING 36780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +4440 +F5E0 +A0A0 +4F40 +F1E0 +4A40 +E5E0 +4A40 +5040 +8040 +ENDCHAR +STARTCHAR U_8FAD +ENCODING 36781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C80 +F7E0 +5540 +7C80 +2BE0 +FE80 +AA80 +BBE0 +AA80 +9280 +AE80 +ENDCHAR +STARTCHAR U_8FAE +ENCODING 36782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +F9E0 +5EA0 +2440 +FBE0 +2E40 +3440 +E5E0 +2E40 +5540 +8C40 +ENDCHAR +STARTCHAR U_8FAF +ENCODING 36783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +50A0 +2740 +F8E0 +2740 +2040 +FFE0 +2540 +4740 +8540 +ENDCHAR +STARTCHAR U_8FB0 +ENCODING 36784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +2FC0 +2000 +3FE0 +2A00 +2A40 +2980 +4880 +4A40 +8C20 +ENDCHAR +STARTCHAR U_8FB1 +ENCODING 36785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4000 +5F80 +4000 +7FE0 +5240 +9980 +9140 +FFE0 +1100 +0B00 +ENDCHAR +STARTCHAR U_8FB2 +ENCODING 36786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +3FC0 +2940 +3FC0 +2940 +3FE0 +2000 +3FE0 +2A80 +4900 +8EE0 +ENDCHAR +STARTCHAR U_8FB3 +ENCODING 36787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +5540 +9120 +7FE0 +4000 +5F80 +4000 +7FE0 +5280 +99C0 +ENDCHAR +STARTCHAR U_8FB4 +ENCODING 36788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AA00 +FAC0 +AA00 +FBE0 +AA80 +FAA0 +22C0 +FA40 +26A0 +2B20 +ENDCHAR +STARTCHAR U_8FB5 +ENCODING 36789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +7C00 +03C0 +3C00 +03C0 +7C00 +0400 +27C0 +2400 +5C00 +83E0 +ENDCHAR +STARTCHAR U_8FB6 +ENCODING 36790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2000 +2000 +0000 +E000 +2000 +2000 +2000 +2000 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FB7 +ENCODING 36791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8000 +4000 +4000 +0000 +EFC0 +2000 +2000 +2000 +5000 +4FE0 +8000 +ENDCHAR +STARTCHAR U_8FB8 +ENCODING 36792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8000 +5FC0 +4480 +0500 +E5E0 +2420 +2820 +2940 +3080 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FB9 +ENCODING 36793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +2FE0 +0120 +E120 +2120 +2220 +2420 +28C0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FBA +ENCODING 36794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8000 +4FC0 +4240 +0240 +E240 +2440 +2440 +2940 +3080 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FBB +ENCODING 36795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4100 +4100 +0FE0 +E100 +2100 +2100 +2100 +2100 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FBC +ENCODING 36796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8400 +4200 +4100 +0100 +E280 +2280 +2460 +2840 +5000 +4FE0 +8000 +ENDCHAR +STARTCHAR U_8FBD +ENCODING 36797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2040 +2080 +0100 +E100 +2100 +2100 +2500 +2200 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FBE +ENCODING 36798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +2100 +0FE0 +E100 +2100 +2280 +2440 +2820 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FBF +ENCODING 36799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +2520 +0520 +E520 +2520 +2520 +27E0 +2420 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FC0 +ENCODING 36800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +2100 +0100 +EFE0 +2100 +2100 +2100 +2100 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FC1 +ENCODING 36801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +2100 +0100 +EFE0 +2100 +2100 +2100 +2100 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FC2 +ENCODING 36802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +2100 +0100 +EFE0 +2100 +2100 +2100 +2500 +5200 +8FE0 +ENDCHAR +STARTCHAR U_8FC3 +ENCODING 36803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8000 +4FC0 +4000 +1FE0 +E400 +2FC0 +2040 +2040 +2140 +5080 +8FE0 +ENDCHAR +STARTCHAR U_8FC4 +ENCODING 36804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +2800 +07C0 +E080 +2100 +2220 +2420 +23E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FC5 +ENCODING 36805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F80 +2280 +2280 +0280 +EF80 +2280 +22A0 +2260 +2220 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FC6 +ENCODING 36806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +2560 +07A0 +ED20 +25A0 +2540 +2420 +23E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FC7 +ENCODING 36807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +2FE0 +0080 +E480 +2280 +2080 +2080 +2180 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FC8 +ENCODING 36808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2200 +2200 +03C0 +E240 +2240 +2440 +2540 +2880 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FC9 +ENCODING 36809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +2420 +07E0 +E420 +2400 +2400 +2400 +2800 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FCA +ENCODING 36810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +2100 +0FE0 +E920 +2920 +2920 +2960 +2100 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FCB +ENCODING 36811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +2100 +0100 +E7C0 +2100 +2100 +2100 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FCC +ENCODING 36812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +2440 +07C0 +E440 +2440 +27C0 +2440 +2940 +5080 +8FE0 +ENDCHAR +STARTCHAR U_8FCD +ENCODING 36813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +2100 +0940 +E940 +2FC0 +2120 +2120 +20E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FCE +ENCODING 36814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2DE0 +2920 +0920 +E920 +2920 +2B20 +2D60 +2100 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FCF +ENCODING 36815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +2200 +1FE0 +E200 +2500 +2480 +2A40 +3120 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FD0 +ENCODING 36816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2000 +2000 +0FE0 +E200 +2280 +2440 +2FA0 +2420 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FD1 +ENCODING 36817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2700 +2400 +07E0 +E480 +2480 +2480 +2480 +2880 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FD2 +ENCODING 36818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2000 +0780 +E480 +2480 +24A0 +24A0 +2860 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FD3 +ENCODING 36819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2080 +2480 +0480 +EFE0 +2280 +2480 +2880 +2280 +5100 +8FE0 +ENDCHAR +STARTCHAR U_8FD4 +ENCODING 36820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +2780 +2400 +07E0 +E620 +2540 +2480 +2940 +2620 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FD5 +ENCODING 36821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27C0 +2900 +0100 +E100 +2FE0 +2100 +2100 +2100 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FD6 +ENCODING 36822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +2140 +2100 +0FE0 +E100 +2100 +2280 +2440 +2820 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FD7 +ENCODING 36823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +2100 +0100 +EFE0 +2100 +2280 +2440 +2820 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FD8 +ENCODING 36824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2080 +2100 +0100 +E340 +2520 +2920 +2100 +2100 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FD9 +ENCODING 36825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +0FE0 +E080 +2480 +2280 +2100 +2280 +2C40 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FDA +ENCODING 36826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4100 +4FE0 +0920 +E920 +2FE0 +2100 +2100 +5100 +4FE0 +8000 +ENDCHAR +STARTCHAR U_8FDB +ENCODING 36827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +2FC0 +0480 +E480 +3FE0 +2480 +2480 +2880 +5080 +8FE0 +ENDCHAR +STARTCHAR U_8FDC +ENCODING 36828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2000 +2000 +0FE0 +E280 +2280 +22A0 +24A0 +2860 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FDD +ENCODING 36829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2100 +07C0 +E100 +2FE0 +2120 +21A0 +2140 +5100 +8FE0 +ENDCHAR +STARTCHAR U_8FDE +ENCODING 36830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +2200 +0500 +EFC0 +2100 +2FE0 +2100 +2100 +5100 +8FE0 +ENDCHAR +STARTCHAR U_8FDF +ENCODING 36831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +2440 +07C0 +E400 +2500 +2480 +2840 +2840 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FE0 +ENCODING 36832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +21E0 +0100 +E100 +27E0 +2420 +27E0 +2420 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FE1 +ENCODING 36833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +27E0 +0400 +E520 +2540 +25A0 +2520 +28E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FE2 +ENCODING 36834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2220 +2220 +04A0 +E840 +37E0 +2420 +2420 +27E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FE3 +ENCODING 36835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2540 +2540 +0FE0 +E540 +2540 +25C0 +2400 +27E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FE4 +ENCODING 36836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +2900 +15C0 +EF40 +2540 +25C0 +2420 +23E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FE5 +ENCODING 36837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +2820 +0BA0 +EAA0 +2AA0 +2BA0 +2820 +2860 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FE6 +ENCODING 36838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +2800 +3EE0 +0AA0 +EAA0 +2AA0 +2AA0 +32A0 +26E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FE7 +ENCODING 36839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2200 +2FC0 +0A40 +EFC0 +2A40 +2FC0 +2200 +2200 +5200 +8FE0 +ENDCHAR +STARTCHAR U_8FE8 +ENCODING 36840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2200 +2440 +0FE0 +E020 +27C0 +2440 +2440 +27C0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FE9 +ENCODING 36841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +2820 +0940 +E100 +2540 +2520 +2920 +2500 +5200 +8FE0 +ENDCHAR +STARTCHAR U_8FEA +ENCODING 36842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +2FE0 +0920 +E920 +2FE0 +2920 +2920 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FEB +ENCODING 36843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2200 +27C0 +0440 +E440 +27C0 +2440 +2440 +27C0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FEC +ENCODING 36844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4100 +4FE0 +0100 +E100 +27C0 +2100 +2100 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FED +ENCODING 36845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2500 +27C0 +0900 +E100 +2FE0 +2280 +2440 +2820 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FEE +ENCODING 36846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2400 +27E0 +0A00 +E3C0 +2200 +2200 +23E0 +2200 +5200 +8FE0 +ENDCHAR +STARTCHAR U_8FEF +ENCODING 36847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +2480 +2880 +0EC0 +EAA0 +36A0 +2480 +2480 +2880 +5080 +8FE0 +ENDCHAR +STARTCHAR U_8FF0 +ENCODING 36848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2120 +2FE0 +0100 +E380 +2540 +2540 +2920 +2100 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FF1 +ENCODING 36849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +9FC0 +5040 +2880 +C9C0 +4E00 +4840 +4840 +47C0 +A000 +9FE0 +ENDCHAR +STARTCHAR U_8FF2 +ENCODING 36850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +8200 +4FC0 +0200 +DFE0 +4200 +4480 +4440 +4FE0 +A040 +9FE0 +ENDCHAR +STARTCHAR U_8FF3 +ENCODING 36851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2080 +2180 +0240 +EC20 +27C0 +2100 +2100 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FF4 +ENCODING 36852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +2BA0 +0AA0 +EAA0 +2BA0 +2820 +2FE0 +2820 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FF5 +ENCODING 36853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +2BA0 +0820 +EBA0 +2AA0 +2BA0 +2820 +28E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FF6 +ENCODING 36854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FE0 +2200 +07C0 +E440 +2FC0 +3440 +27C0 +2440 +5440 +8FE0 +ENDCHAR +STARTCHAR U_8FF7 +ENCODING 36855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2920 +2540 +0100 +EFE0 +2100 +2380 +2540 +2920 +5100 +8FE0 +ENDCHAR +STARTCHAR U_8FF8 +ENCODING 36856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +2FE0 +0280 +E280 +2FE0 +2280 +2480 +2880 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FF9 +ENCODING 36857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +2FE0 +0280 +EAC0 +2AA0 +32A0 +2480 +2980 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FFA +ENCODING 36858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +2280 +0FE0 +EAA0 +2AE0 +2C20 +2820 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FFB +ENCODING 36859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27C0 +2880 +0500 +E200 +2FE0 +2440 +2A80 +2100 +5600 +8FE0 +ENDCHAR +STARTCHAR U_8FFC +ENCODING 36860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +2FE0 +0100 +E7C0 +2000 +27C0 +2440 +27C0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FFD +ENCODING 36861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27C0 +2440 +07C0 +E400 +27E0 +2420 +2420 +27E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FFE +ENCODING 36862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F20 +24A0 +24A0 +07A0 +E9A0 +36A0 +2220 +24A0 +2840 +5000 +8FE0 +ENDCHAR +STARTCHAR U_8FFF +ENCODING 36863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +2820 +17A0 +E4A0 +27A0 +24A0 +27A0 +20A0 +5040 +8FE0 +ENDCHAR +STARTCHAR U_9000 +ENCODING 36864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FC0 +4840 +4FC0 +0840 +CFC0 +4800 +4B40 +4880 +4E40 +B000 +8FE0 +ENDCHAR +STARTCHAR U_9001 +ENCODING 36865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +27C0 +0100 +E100 +2FE0 +2100 +2280 +2440 +5820 +8FE0 +ENDCHAR +STARTCHAR U_9002 +ENCODING 36866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F00 +2100 +0FE0 +E100 +27C0 +2440 +27C0 +2440 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9003 +ENCODING 36867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +22A0 +2AC0 +0680 +E2C0 +26A0 +2A80 +24A0 +2860 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9004 +ENCODING 36868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +27C0 +2C40 +0380 +EC60 +2100 +27C0 +2900 +2FE0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_9005 +ENCODING 36869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +2F00 +2800 +0FE0 +E800 +2BC0 +2A40 +2A40 +2BC0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9006 +ENCODING 36870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +2FE0 +0100 +E920 +2920 +2FE0 +2100 +2200 +5400 +8FE0 +ENDCHAR +STARTCHAR U_9007 +ENCODING 36871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +8880 +5EE0 +0BA0 +CEA0 +4AA0 +4A80 +4E20 +53E0 +A000 +9FE0 +ENDCHAR +STARTCHAR U_9008 +ENCODING 36872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +8400 +5FC0 +1040 +D740 +5540 +5740 +5040 +5140 +A080 +9FE0 +ENDCHAR +STARTCHAR U_9009 +ENCODING 36873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2500 +27C0 +0900 +EFE0 +2280 +22A0 +24A0 +2860 +5000 +8FE0 +ENDCHAR +STARTCHAR U_900A +ENCODING 36874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +2280 +2480 +05C0 +E6A0 +3CA0 +2480 +2480 +3D80 +5000 +8FE0 +ENDCHAR +STARTCHAR U_900B +ENCODING 36875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +2FE0 +2100 +0FE0 +E920 +2FE0 +2920 +2FE0 +2920 +5060 +8FE0 +ENDCHAR +STARTCHAR U_900C +ENCODING 36876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +2100 +2FE0 +0820 +EFA0 +28A0 +2FA0 +2820 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_900D +ENCODING 36877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +27C0 +0440 +E7C0 +2440 +27C0 +2440 +25C0 +5800 +87E0 +ENDCHAR +STARTCHAR U_900E +ENCODING 36878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +8500 +5FC0 +1540 +DDC0 +5040 +5FC0 +5040 +5FC0 +A000 +9FE0 +ENDCHAR +STARTCHAR U_900F +ENCODING 36879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2100 +3FE0 +0540 +EFA0 +3280 +22C0 +2440 +2940 +5080 +8FE0 +ENDCHAR +STARTCHAR U_9010 +ENCODING 36880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +2200 +0D20 +E2C0 +2D80 +22C0 +2CA0 +2300 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9011 +ENCODING 36881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +2140 +3FE0 +0920 +E540 +2380 +2540 +3920 +2300 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9012 +ENCODING 36882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +2FE0 +0120 +E7E0 +2900 +2FE0 +2320 +2560 +5900 +8FE0 +ENDCHAR +STARTCHAR U_9013 +ENCODING 36883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +8900 +4FC0 +0900 +CFE0 +4900 +57C0 +5540 +5540 +A100 +9FE0 +ENDCHAR +STARTCHAR U_9014 +ENCODING 36884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +2440 +0BA0 +E100 +2FE0 +2540 +2920 +3520 +5200 +8FE0 +ENDCHAR +STARTCHAR U_9015 +ENCODING 36885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2540 +2540 +0A80 +E540 +2000 +2FE0 +2100 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9016 +ENCODING 36886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +2C80 +2DA0 +15C0 +E680 +2C80 +34C0 +2520 +2E20 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9017 +ENCODING 36887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2000 +27C0 +0440 +E7C0 +2000 +2440 +2280 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9018 +ENCODING 36888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +8440 +4FC0 +0400 +CFE0 +5100 +4FE0 +4100 +4280 +A440 +9FE0 +ENDCHAR +STARTCHAR U_9019 +ENCODING 36889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2100 +2FE0 +0000 +E7C0 +2000 +27C0 +2440 +27C0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_901A +ENCODING 36890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2280 +2FE0 +0920 +EFE0 +2920 +2FE0 +2920 +2960 +5000 +8FE0 +ENDCHAR +STARTCHAR U_901B +ENCODING 36891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +2C80 +2C80 +1480 +E5E0 +2C80 +3480 +2480 +2BE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_901C +ENCODING 36892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +27C0 +0240 +EFE0 +2000 +27C0 +2440 +27C0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_901D +ENCODING 36893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +25C0 +3F00 +05E0 +E740 +2D40 +3540 +2540 +2E40 +5000 +8FE0 +ENDCHAR +STARTCHAR U_901E +ENCODING 36894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +27C0 +0000 +EFC0 +2100 +27C0 +2100 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_901F +ENCODING 36895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +2100 +0FE0 +E920 +2FE0 +2380 +2540 +2920 +5100 +8FE0 +ENDCHAR +STARTCHAR U_9020 +ENCODING 36896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2500 +27C0 +0900 +EFE0 +2000 +27C0 +2440 +27C0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9021 +ENCODING 36897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2440 +2FE0 +0440 +E920 +23C0 +2640 +2980 +2240 +5420 +8FE0 +ENDCHAR +STARTCHAR U_9022 +ENCODING 36898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2480 +2B00 +0FE0 +E100 +27C0 +2100 +2FE0 +2100 +5100 +8FE0 +ENDCHAR +STARTCHAR U_9023 +ENCODING 36899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2540 +07C0 +E540 +27C0 +2100 +2FE0 +2100 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9024 +ENCODING 36900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9080 +48C0 +42A0 +1AA0 +CC80 +50A0 +7040 +5080 +5300 +A000 +9FE0 +ENDCHAR +STARTCHAR U_9025 +ENCODING 36901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +9FC0 +5540 +1740 +D540 +5740 +5540 +5FC0 +5040 +A000 +9FE0 +ENDCHAR +STARTCHAR U_9026 +ENCODING 36902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2000 +2FE0 +0920 +EDA0 +2B60 +2920 +2920 +2B60 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9027 +ENCODING 36903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +8440 +4820 +1300 +C480 +4840 +5FE0 +4840 +4FC0 +A840 +9FE0 +ENDCHAR +STARTCHAR U_9028 +ENCODING 36904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +9FC0 +4A80 +0A80 +D740 +6220 +4700 +4A80 +5260 +A200 +9FE0 +ENDCHAR +STARTCHAR U_9029 +ENCODING 36905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2280 +0540 +EBA0 +2100 +2440 +3FE0 +2440 +5840 +8FE0 +ENDCHAR +STARTCHAR U_902A +ENCODING 36906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +8FC0 +4480 +1FE0 +C000 +4FC0 +4AC0 +4D40 +4FC0 +A000 +9FE0 +ENDCHAR +STARTCHAR U_902B +ENCODING 36907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +9320 +4CC0 +1320 +C000 +5FE0 +5320 +4CC0 +5320 +A000 +9FE0 +ENDCHAR +STARTCHAR U_902C +ENCODING 36908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +8880 +5DE0 +0880 +C880 +5DE0 +4880 +4880 +5080 +A080 +9FE0 +ENDCHAR +STARTCHAR U_902D +ENCODING 36909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2820 +0780 +E480 +27C0 +2440 +27C0 +2440 +5000 +8FE0 +ENDCHAR +STARTCHAR U_902E +ENCODING 36910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +2140 +0FE0 +E140 +27C0 +2920 +2540 +2B20 +5000 +8FE0 +ENDCHAR +STARTCHAR U_902F +ENCODING 36911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2040 +27C0 +0040 +EFE0 +2920 +2540 +2380 +2540 +5920 +8FE0 +ENDCHAR +STARTCHAR U_9030 +ENCODING 36912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +89E0 +5E00 +0BC0 +CC40 +5880 +4BE0 +4880 +5A80 +A900 +9FE0 +ENDCHAR +STARTCHAR U_9031 +ENCODING 36913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +2BA0 +0920 +EBA0 +2820 +2BA0 +2AA0 +2BA0 +5060 +8FE0 +ENDCHAR +STARTCHAR U_9032 +ENCODING 36914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +2480 +27E0 +0C80 +F7E0 +2480 +27E0 +2480 +27E0 +5400 +8FE0 +ENDCHAR +STARTCHAR U_9033 +ENCODING 36915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +8FC0 +4480 +1FE0 +C000 +4FC0 +4840 +4FC0 +4840 +A880 +9FE0 +ENDCHAR +STARTCHAR U_9034 +ENCODING 36916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +2100 +27C0 +0440 +E7C0 +2440 +27C0 +2100 +2FE0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_9035 +ENCODING 36917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +2100 +0FE0 +E440 +2920 +27C0 +2100 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9036 +ENCODING 36918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +2F80 +2100 +0FE0 +E540 +2920 +2FE0 +2280 +2340 +5420 +8FE0 +ENDCHAR +STARTCHAR U_9037 +ENCODING 36919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F80 +8880 +4F80 +0880 +CF80 +4800 +5FC0 +6540 +4A40 +A480 +9FE0 +ENDCHAR +STARTCHAR U_9038 +ENCODING 36920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +2780 +2900 +1FC0 +EA40 +2FC0 +2540 +2520 +29E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9039 +ENCODING 36921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +8F80 +4200 +1FC0 +C500 +5FC0 +4200 +5FC0 +4200 +A200 +9FE0 +ENDCHAR +STARTCHAR U_903A +ENCODING 36922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +8F80 +4200 +1FC0 +C480 +4F40 +4280 +4540 +5C80 +A640 +9FE0 +ENDCHAR +STARTCHAR U_903B +ENCODING 36923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +2FE0 +0200 +E7C0 +2840 +2480 +2300 +2C00 +5000 +8FE0 +ENDCHAR +STARTCHAR U_903C +ENCODING 36924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2440 +27C0 +0000 +EFE0 +2920 +2FE0 +2920 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_903D +ENCODING 36925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3FE0 +2480 +0200 +EFE0 +2400 +2FC0 +3440 +27C0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_903E +ENCODING 36926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2280 +2440 +1BA0 +EE00 +2AA0 +2EA0 +2AA0 +2EA0 +5A40 +8FE0 +ENDCHAR +STARTCHAR U_903F +ENCODING 36927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +27C0 +0440 +EFE0 +2400 +27E0 +2AA0 +2520 +5A40 +8FE0 +ENDCHAR +STARTCHAR U_9040 +ENCODING 36928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +8FC0 +4400 +0FC0 +D100 +4FE0 +4440 +47C0 +4440 +A440 +9FE0 +ENDCHAR +STARTCHAR U_9041 +ENCODING 36929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +2F80 +2880 +0FE0 +EA20 +2BE0 +2A20 +2BE0 +2A20 +53E0 +8FE0 +ENDCHAR +STARTCHAR U_9042 +ENCODING 36930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +3FE0 +0620 +E940 +2280 +2DC0 +22A0 +2CA0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_9043 +ENCODING 36931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +8FE0 +4280 +0FE0 +C900 +4AA0 +4D20 +4A40 +5480 +A100 +9FE0 +ENDCHAR +STARTCHAR U_9044 +ENCODING 36932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2FE0 +2000 +1FE0 +E200 +2FE0 +2AA0 +2AA0 +2AE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9045 +ENCODING 36933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +8840 +4FC0 +0A80 +CFE0 +4900 +57C0 +5100 +6FE0 +A100 +9FE0 +ENDCHAR +STARTCHAR U_9046 +ENCODING 36934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +8FE0 +4280 +1FE0 +D120 +4FE0 +4920 +4920 +4960 +A100 +9FE0 +ENDCHAR +STARTCHAR U_9047 +ENCODING 36935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +8A40 +4FC0 +0A40 +CFC0 +4200 +5FE0 +52A0 +57A0 +B040 +9FE0 +ENDCHAR +STARTCHAR U_9048 +ENCODING 36936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F80 +8880 +4F80 +0880 +DFC0 +4200 +4B80 +4E00 +53C0 +6000 +9FE0 +ENDCHAR +STARTCHAR U_9049 +ENCODING 36937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +2100 +27C0 +0440 +E7C0 +2440 +27C0 +2440 +27C0 +5C60 +8FE0 +ENDCHAR +STARTCHAR U_904A +ENCODING 36938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +24E0 +3F00 +08E0 +EE40 +2BE0 +2A40 +2A40 +36C0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_904B +ENCODING 36939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2920 +2FE0 +0540 +E7C0 +2540 +27C0 +2100 +2FE0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_904C +ENCODING 36940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0EE0 +CAA0 +4EE0 +0000 +C7C0 +4000 +4FE0 +4200 +4380 +6080 +9FE0 +ENDCHAR +STARTCHAR U_904D +ENCODING 36941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2820 +0FE0 +E800 +2FE0 +3AA0 +2FE0 +2AA0 +5820 +8FE0 +ENDCHAR +STARTCHAR U_904E +ENCODING 36942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +2740 +0540 +EFE0 +2820 +2BA0 +2AA0 +2BA0 +5860 +8FE0 +ENDCHAR +STARTCHAR U_904F +ENCODING 36943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +27C0 +0440 +E7E0 +2920 +3AA0 +2820 +2FA0 +5040 +8FE0 +ENDCHAR +STARTCHAR U_9050 +ENCODING 36944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2A20 +2EE0 +0800 +EEE0 +28A0 +2F40 +28A0 +2920 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9051 +ENCODING 36945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +2440 +07C0 +E440 +2FE0 +2100 +27C0 +2100 +57E0 +8FE0 +ENDCHAR +STARTCHAR U_9052 +ENCODING 36946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2FE0 +2280 +0FE0 +EAA0 +2CE0 +2BA0 +2820 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9053 +ENCODING 36947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +2FE0 +0100 +E7C0 +2440 +27C0 +2440 +27C0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9054 +ENCODING 36948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +2100 +0FE0 +E280 +2FE0 +2100 +2FE0 +2100 +5100 +8FE0 +ENDCHAR +STARTCHAR U_9055 +ENCODING 36949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2240 +2FE0 +0440 +E7C0 +2100 +27E0 +2500 +2FE0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_9056 +ENCODING 36950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +9FE0 +4400 +1FC0 +D540 +5FC0 +5240 +5FC0 +5240 +72C0 +9FE0 +ENDCHAR +STARTCHAR U_9057 +ENCODING 36951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FC0 +2940 +1FE0 +E000 +2FC0 +2940 +2940 +2280 +5440 +8FE0 +ENDCHAR +STARTCHAR U_9058 +ENCODING 36952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +2280 +0FE0 +E540 +27C0 +2540 +2FE0 +2440 +54C0 +8FE0 +ENDCHAR +STARTCHAR U_9059 +ENCODING 36953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2440 +2A80 +0500 +EFE0 +2500 +2FE0 +2540 +27C0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_905A +ENCODING 36954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0AC0 +5240 +5AC0 +1240 +DFC0 +4200 +5F80 +4500 +4200 +6D80 +9FE0 +ENDCHAR +STARTCHAR U_905B +ENCODING 36955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +28A0 +2AA0 +0D60 +EFE0 +2920 +2FE0 +2920 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_905C +ENCODING 36956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E80 +2540 +26A0 +09C0 +EAA0 +3FE0 +2880 +2AC0 +3CA0 +6100 +9FE0 +ENDCHAR +STARTCHAR U_905D +ENCODING 36957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +2FE0 +0100 +E540 +2920 +2580 +2940 +2120 +5100 +8FE0 +ENDCHAR +STARTCHAR U_905E +ENCODING 36958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2880 +2BE0 +0AA0 +EBC0 +2AA0 +2AE0 +3540 +2940 +5220 +8FE0 +ENDCHAR +STARTCHAR U_905F +ENCODING 36959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +4840 +0FC0 +C900 +4FC0 +4A80 +57E0 +5100 +57C0 +6100 +9FE0 +ENDCHAR +STARTCHAR U_9060 +ENCODING 36960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +2100 +0FE0 +E440 +27C0 +2320 +26C0 +2A40 +5220 +8FE0 +ENDCHAR +STARTCHAR U_9061 +ENCODING 36961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A2E0 +54A0 +7EE0 +08A0 +EAE0 +6AA0 +7EA0 +48A0 +5140 +7000 +9FE0 +ENDCHAR +STARTCHAR U_9062 +ENCODING 36962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +27C0 +0440 +EFE0 +2AA0 +2660 +2AA0 +3320 +5660 +8FE0 +ENDCHAR +STARTCHAR U_9063 +ENCODING 36963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +2540 +1FE0 +E7C0 +2440 +27E0 +2420 +27E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9064 +ENCODING 36964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2900 +0FC0 +0900 +EFC0 +2900 +2FE0 +2AA0 +2D60 +5020 +8FE0 +ENDCHAR +STARTCHAR U_9065 +ENCODING 36965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +2F20 +2540 +07E0 +E900 +3FE0 +2100 +2920 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9066 +ENCODING 36966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +CA40 +5FE0 +0A40 +CFC0 +4000 +4FC0 +4940 +4FC0 +6480 +9FE0 +ENDCHAR +STARTCHAR U_9067 +ENCODING 36967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FC0 +2280 +0100 +EFE0 +2440 +27C0 +2440 +2FE0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_9068 +ENCODING 36968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F80 +2480 +2EE0 +04A0 +FFA0 +28A0 +2EA0 +2A40 +2AA0 +5320 +8FE0 +ENDCHAR +STARTCHAR U_9069 +ENCODING 36969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2280 +0FE0 +E920 +2FE0 +2AA0 +2BA0 +2860 +5000 +8FE0 +ENDCHAR +STARTCHAR U_906A +ENCODING 36970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +8FC0 +4480 +0B40 +DFE0 +4A80 +5560 +4A80 +4500 +6200 +9FE0 +ENDCHAR +STARTCHAR U_906B +ENCODING 36971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +3F80 +24E0 +1FA0 +F5A0 +3FA0 +24A0 +2E40 +34A0 +5520 +8FE0 +ENDCHAR +STARTCHAR U_906C +ENCODING 36972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +9E80 +44E0 +5F20 +1540 +FF40 +2440 +2C40 +36A0 +6520 +9FE0 +ENDCHAR +STARTCHAR U_906D +ENCODING 36973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8500 +7FE0 +5540 +1FC0 +D540 +5FC0 +4880 +4F80 +4880 +AF80 +9FE0 +ENDCHAR +STARTCHAR U_906E +ENCODING 36974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2A40 +0FE0 +EA40 +2BC0 +2800 +3540 +2AA0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_906F +ENCODING 36975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +5480 +5520 +1EC0 +D580 +5680 +5DC0 +56A0 +57A0 +AD00 +9FE0 +ENDCHAR +STARTCHAR U_9070 +ENCODING 36976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AA0 +3FE0 +2AA0 +13A0 +EFE0 +2920 +27C0 +2540 +25C0 +5100 +8FE0 +ENDCHAR +STARTCHAR U_9071 +ENCODING 36977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +4FC0 +4A40 +1FE0 +0A40 +CFC0 +4200 +5FE0 +4480 +6300 +9FE0 +ENDCHAR +STARTCHAR U_9072 +ENCODING 36978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +2FE0 +0AA0 +E9C0 +2AA0 +2BE0 +2A80 +37E0 +5080 +8FE0 +ENDCHAR +STARTCHAR U_9073 +ENCODING 36979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +3FE0 +2440 +0540 +EBA0 +2100 +27C0 +2100 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9074 +ENCODING 36980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +2540 +2FE0 +0540 +E920 +26E0 +2B40 +35E0 +2840 +5040 +8FE0 +ENDCHAR +STARTCHAR U_9075 +ENCODING 36981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +2FE0 +2280 +0FE0 +EAA0 +2FE0 +28A0 +3FE0 +2280 +5080 +8FE0 +ENDCHAR +STARTCHAR U_9076 +ENCODING 36982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +2100 +0FE0 +E440 +2FE0 +2440 +2FE0 +2280 +54E0 +8FE0 +ENDCHAR +STARTCHAR U_9077 +ENCODING 36983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +2FE0 +0AA0 +FFE0 +2440 +2FA0 +24A0 +27E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9078 +ENCODING 36984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +2EE0 +0880 +EAA0 +2FE0 +2280 +2FE0 +2240 +5420 +8FE0 +ENDCHAR +STARTCHAR U_9079 +ENCODING 36985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2280 +2FE0 +02A0 +E480 +2FE0 +2AA0 +2C60 +2BA0 +5AA0 +87E0 +ENDCHAR +STARTCHAR U_907A +ENCODING 36986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +2540 +0FE0 +E440 +27C0 +2440 +27C0 +2280 +5440 +8FE0 +ENDCHAR +STARTCHAR U_907B +ENCODING 36987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2AA0 +2EE0 +0280 +EFE0 +2540 +2540 +27C0 +2200 +5400 +8FE0 +ENDCHAR +STARTCHAR U_907C +ENCODING 36988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +2AA0 +07C0 +EC60 +37C0 +2440 +27C0 +2940 +5320 +8FE0 +ENDCHAR +STARTCHAR U_907D +ENCODING 36989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2200 +2FE0 +0A20 +EFE0 +2D40 +2A80 +2DC0 +32A0 +5480 +8FE0 +ENDCHAR +STARTCHAR U_907E +ENCODING 36990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2EE0 +3540 +0FE0 +E100 +2540 +2BA0 +2100 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_907F +ENCODING 36991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9C80 +57E0 +1540 +1C80 +D3E0 +5C80 +77E0 +5480 +5C80 +A080 +9FE0 +ENDCHAR +STARTCHAR U_9080 +ENCODING 36992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +5E80 +52E0 +1FA0 +D2A0 +7FA0 +48A0 +4E40 +52A0 +A520 +9FE0 +ENDCHAR +STARTCHAR U_9081 +ENCODING 36993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +2540 +07C0 +E540 +2FE0 +2960 +2FE0 +2820 +5060 +8FE0 +ENDCHAR +STARTCHAR U_9082 +ENCODING 36994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +4AA0 +5FA0 +1540 +DF40 +55E0 +5F40 +55E0 +5540 +B340 +8FE0 +ENDCHAR +STARTCHAR U_9083 +ENCODING 36995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2AA0 +0440 +EFE0 +2500 +2AA0 +25C0 +2AA0 +5500 +8FE0 +ENDCHAR +STARTCHAR U_9084 +ENCODING 36996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FC0 +5540 +5FC0 +0000 +FFE0 +2880 +2FA0 +2740 +2A80 +5240 +8FE0 +ENDCHAR +STARTCHAR U_9085 +ENCODING 36997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +5FE0 +4BA0 +0820 +EFE0 +2440 +27C0 +2440 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9086 +ENCODING 36998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F40 +2AA0 +27C0 +0820 +E7C0 +2440 +27C0 +2280 +2FE0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_9087 +ENCODING 36999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +4540 +4FE0 +1920 +EDA0 +2B60 +2DA0 +2B60 +2DA0 +5920 +8FE0 +ENDCHAR +STARTCHAR U_9088 +ENCODING 37000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4C80 +35E0 +2B20 +0DE0 +F720 +2BE0 +3680 +2AA0 +3360 +5400 +8FE0 +ENDCHAR +STARTCHAR U_9089 +ENCODING 37001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +CFC0 +4840 +0FC0 +C840 +5FE0 +54A0 +4FC0 +54A0 +6480 +9FE0 +ENDCHAR +STARTCHAR U_908A +ENCODING 37002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FC0 +2840 +1FE0 +F4A0 +2940 +3FE0 +2200 +27C0 +58C0 +8FE0 +ENDCHAR +STARTCHAR U_908B +ENCODING 37003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +2A80 +2540 +0FE0 +EAA0 +2FE0 +2DC0 +2B40 +2DC0 +5320 +8FE0 +ENDCHAR +STARTCHAR U_908C +ENCODING 37004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9E80 +44E0 +5F60 +0EA0 +D520 +4740 +4A80 +7AE0 +4700 +6A80 +9FE0 +ENDCHAR +STARTCHAR U_908D +ENCODING 37005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +87C0 +5C80 +47C0 +1D60 +E7C0 +2040 +3FE0 +2540 +2380 +5540 +8FE0 +ENDCHAR +STARTCHAR U_908E +ENCODING 37006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8860 +4D80 +5480 +0940 +DF80 +6120 +5FE0 +5480 +5DC0 +62A0 +9FE0 +ENDCHAR +STARTCHAR U_908F +ENCODING 37007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +2FE0 +0440 +EBE0 +3D40 +25E0 +2940 +2FE0 +5500 +8FE0 +ENDCHAR +STARTCHAR U_9090 +ENCODING 37008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +2000 +2EE0 +0AA0 +EFE0 +2AA0 +2FE0 +2C80 +27E0 +5480 +8FE0 +ENDCHAR +STARTCHAR U_9091 +ENCODING 37009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7E00 +4200 +7E00 +0000 +FF00 +8900 +FF00 +8000 +8080 +8080 +7F80 +ENDCHAR +STARTCHAR U_9092 +ENCODING 37010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1220 +1240 +1280 +1280 +1240 +1220 +1220 +12A0 +5240 +2200 +ENDCHAR +STARTCHAR U_9093 +ENCODING 37011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03E0 +FA20 +0A40 +8A40 +4A80 +3240 +1220 +2A20 +4AA0 +8240 +0200 +ENDCHAR +STARTCHAR U_9094 +ENCODING 37012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FBC0 +0A40 +0A80 +0A80 +FB00 +8280 +8240 +8A40 +9340 +A280 +C200 +ENDCHAR +STARTCHAR U_9095 +ENCODING 37013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2480 +4900 +2480 +7F00 +4100 +FF80 +8880 +FF80 +8040 +8040 +7FC0 +ENDCHAR +STARTCHAR U_9096 +ENCODING 37014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +2240 +AA80 +AA80 +AA40 +AA20 +AA20 +FAA0 +0240 +0200 +ENDCHAR +STARTCHAR U_9097 +ENCODING 37015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +1120 +1140 +1140 +FF80 +1140 +1120 +1120 +11A0 +1140 +1100 +ENDCHAR +STARTCHAR U_9098 +ENCODING 37016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +1120 +1140 +1140 +FD80 +1140 +1120 +1120 +11A0 +5140 +2100 +ENDCHAR +STARTCHAR U_9099 +ENCODING 37017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +1120 +FF40 +4140 +4180 +4140 +4120 +4120 +41A0 +7D40 +0100 +ENDCHAR +STARTCHAR U_909A +ENCODING 37018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +1120 +FF20 +2540 +2580 +4540 +2920 +1120 +19A0 +2540 +C100 +ENDCHAR +STARTCHAR U_909B +ENCODING 37019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2220 +2240 +2240 +2280 +2240 +2220 +3A20 +E2A0 +0240 +0200 +ENDCHAR +STARTCHAR U_909C +ENCODING 37020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +23E0 +3E40 +4A80 +6A80 +9A40 +1220 +1220 +22A0 +4240 +8200 +ENDCHAR +STARTCHAR U_909D +ENCODING 37021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +1120 +7F40 +4140 +4180 +4140 +4120 +4120 +41A0 +8140 +8100 +ENDCHAR +STARTCHAR U_909E +ENCODING 37022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +1120 +7D40 +1140 +1180 +7F40 +1120 +1920 +25A0 +4540 +8100 +ENDCHAR +STARTCHAR U_909F +ENCODING 37023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF20 +0140 +3D40 +2580 +2540 +2520 +2520 +27A0 +4540 +8100 +ENDCHAR +STARTCHAR U_90A0 +ENCODING 37024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +2520 +4340 +8140 +7D80 +1540 +1520 +1520 +25A0 +5540 +8900 +ENDCHAR +STARTCHAR U_90A1 +ENCODING 37025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +1120 +FF40 +2140 +3D80 +2540 +2520 +2520 +45A0 +5540 +8900 +ENDCHAR +STARTCHAR U_90A2 +ENCODING 37026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +2920 +2940 +2940 +FF80 +2940 +2920 +2920 +29E0 +4940 +8900 +ENDCHAR +STARTCHAR U_90A3 +ENCODING 37027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2520 +2540 +FD40 +2540 +2520 +FD20 +25A0 +2540 +4500 +8D00 +ENDCHAR +STARTCHAR U_90A4 +ENCODING 37028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +63E0 +4240 +7E80 +4A80 +4A40 +4A20 +4A20 +4AA0 +8A40 +8A00 +ENDCHAR +STARTCHAR U_90A5 +ENCODING 37029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +1120 +7F40 +5540 +1180 +1940 +2920 +2920 +2BA0 +4D40 +8900 +ENDCHAR +STARTCHAR U_90A6 +ENCODING 37030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +1140 +1140 +7D80 +1140 +FF20 +1120 +11A0 +2140 +C100 +ENDCHAR +STARTCHAR U_90A7 +ENCODING 37031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +0120 +0140 +FF40 +2980 +2940 +2920 +2B20 +2DE0 +4940 +8100 +ENDCHAR +STARTCHAR U_90A8 +ENCODING 37032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +11E0 +FF20 +1140 +5580 +5540 +7D20 +11A0 +1540 +1900 +0100 +ENDCHAR +STARTCHAR U_90A9 +ENCODING 37033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +13E0 +1240 +5680 +5A80 +9240 +1220 +2AA0 +2640 +4200 +8200 +ENDCHAR +STARTCHAR U_90AA +ENCODING 37034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +0920 +2940 +4940 +7D80 +0940 +1920 +2920 +49A0 +A940 +1100 +ENDCHAR +STARTCHAR U_90AB +ENCODING 37035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +FC40 +27C0 +7800 +27C0 +FD40 +27C0 +2400 +4420 +83E0 +ENDCHAR +STARTCHAR U_90AC +ENCODING 37036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +7D20 +4540 +4540 +5980 +4140 +7D20 +0520 +35A0 +C540 +1900 +ENDCHAR +STARTCHAR U_90AD +ENCODING 37037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7DE0 +8540 +7580 +5540 +5520 +7520 +05A0 +3540 +0900 +0100 +ENDCHAR +STARTCHAR U_90AE +ENCODING 37038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2220 +FA40 +AA40 +AA80 +FA40 +AA20 +AA20 +FAA0 +8A40 +0200 +ENDCHAR +STARTCHAR U_90AF +ENCODING 37039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2520 +FF40 +2540 +2580 +3D40 +2520 +2520 +25A0 +3D40 +2500 +ENDCHAR +STARTCHAR U_90B0 +ENCODING 37040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +2120 +4540 +FB40 +0180 +7D40 +4520 +4520 +45E0 +7D40 +4500 +ENDCHAR +STARTCHAR U_90B1 +ENCODING 37041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0DE0 +7120 +4140 +4140 +7F80 +4940 +4920 +4920 +5FA0 +E140 +0100 +ENDCHAR +STARTCHAR U_90B2 +ENCODING 37042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0D20 +0540 +2540 +2580 +6540 +6B20 +AB20 +35E0 +2540 +DD00 +0100 +ENDCHAR +STARTCHAR U_90B3 +ENCODING 37043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01E0 +FD20 +1140 +1940 +3580 +5540 +9120 +1120 +1DA0 +E140 +4100 +ENDCHAR +STARTCHAR U_90B4 +ENCODING 37044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2120 +2140 +FD40 +A580 +A540 +B520 +CD20 +85E0 +8540 +8D00 +ENDCHAR +STARTCHAR U_90B5 +ENCODING 37045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2520 +2540 +2540 +5580 +8940 +7D20 +4520 +45A0 +7D40 +4500 +ENDCHAR +STARTCHAR U_90B6 +ENCODING 37046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +2920 +2940 +EB40 +2D80 +2940 +2920 +2B20 +EDA0 +2940 +2100 +ENDCHAR +STARTCHAR U_90B7 +ENCODING 37047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2120 +3940 +4980 +6940 +5920 +4920 +49A0 +6B40 +4700 +0100 +ENDCHAR +STARTCHAR U_90B8 +ENCODING 37048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +09E0 +F120 +9140 +9140 +FD80 +9140 +9120 +B520 +CDE0 +A540 +1100 +ENDCHAR +STARTCHAR U_90B9 +ENCODING 37049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +3D20 +4940 +BD40 +0580 +0540 +7D20 +0520 +05A0 +7D40 +0100 +ENDCHAR +STARTCHAR U_90BA +ENCODING 37050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +2920 +A940 +AB40 +6D80 +2940 +2920 +2920 +2FA0 +F140 +4100 +ENDCHAR +STARTCHAR U_90BB +ENCODING 37051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +1920 +2540 +5340 +8980 +0140 +7F20 +0520 +29E0 +1140 +0900 +ENDCHAR +STARTCHAR U_90BC +ENCODING 37052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +8120 +FD40 +9180 +FD40 +9120 +FD20 +81A0 +FD40 +0100 +0100 +ENDCHAR +STARTCHAR U_90BD +ENCODING 37053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +1140 +1140 +FF80 +1140 +7D20 +1120 +1FE0 +F140 +4100 +ENDCHAR +STARTCHAR U_90BE +ENCODING 37054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +51E0 +5120 +7D20 +9140 +FF20 +1120 +3920 +55A0 +9340 +1100 +1100 +ENDCHAR +STARTCHAR U_90BF +ENCODING 37055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +1120 +FF40 +0980 +FF40 +8920 +4920 +09A0 +2940 +1100 +ENDCHAR +STARTCHAR U_90C0 +ENCODING 37056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7F20 +2920 +4540 +BB80 +0140 +FF20 +2120 +3DA0 +0540 +1900 +ENDCHAR +STARTCHAR U_90C1 +ENCODING 37057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF20 +2120 +3D40 +6580 +BD40 +2520 +3D20 +25A0 +2540 +2D00 +ENDCHAR +STARTCHAR U_90C2 +ENCODING 37058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FD20 +2120 +4940 +7980 +1140 +2920 +D120 +29A0 +C540 +0100 +ENDCHAR +STARTCHAR U_90C3 +ENCODING 37059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +2920 +4520 +8340 +7D80 +0140 +7D20 +4520 +45A0 +7D40 +4500 +ENDCHAR +STARTCHAR U_90C4 +ENCODING 37060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +1920 +1520 +6340 +1180 +7F40 +2120 +2920 +51A0 +A540 +3F00 +ENDCHAR +STARTCHAR U_90C5 +ENCODING 37061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2120 +4920 +FD40 +1580 +1140 +7D20 +1120 +1DA0 +F140 +4100 +ENDCHAR +STARTCHAR U_90C6 +ENCODING 37062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +1120 +FF20 +1140 +7D80 +0140 +7D20 +4520 +45A0 +7D40 +0100 +ENDCHAR +STARTCHAR U_90C7 +ENCODING 37063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +7D20 +8520 +7540 +5580 +7540 +5520 +7520 +55A0 +0540 +1900 +ENDCHAR +STARTCHAR U_90C8 +ENCODING 37064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0DE0 +F120 +8120 +FD40 +8180 +BD40 +A520 +A520 +A5A0 +BD40 +A500 +ENDCHAR +STARTCHAR U_90C9 +ENCODING 37065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EDE0 +4920 +4920 +4940 +FF80 +4940 +4920 +4920 +49A0 +8940 +8900 +ENDCHAR +STARTCHAR U_90CA +ENCODING 37066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +1120 +FF20 +2540 +4380 +A540 +1920 +0920 +15A0 +2340 +C100 +ENDCHAR +STARTCHAR U_90CB +ENCODING 37067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +23C0 +4240 +FA40 +8A80 +FB00 +8A80 +8A40 +FA40 +8B40 +FA80 +8A00 +ENDCHAR +STARTCHAR U_90CC +ENCODING 37068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +F440 +27C0 +F800 +27C0 +2540 +F540 +27C0 +3400 +C420 +03E0 +ENDCHAR +STARTCHAR U_90CD +ENCODING 37069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +3D20 +2520 +3540 +2D80 +FF40 +2520 +3520 +2DA0 +4540 +8D00 +ENDCHAR +STARTCHAR U_90CE +ENCODING 37070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +23C0 +FA40 +8A40 +FA80 +8A80 +FA40 +A240 +9240 +AB40 +CA80 +0200 +ENDCHAR +STARTCHAR U_90CF +ENCODING 37071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF20 +1120 +9340 +5580 +FF40 +1120 +1120 +29A0 +4540 +8300 +ENDCHAR +STARTCHAR U_90D0 +ENCODING 37072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +2920 +4520 +BB40 +0180 +FD40 +2120 +2120 +49A0 +FD40 +0300 +ENDCHAR +STARTCHAR U_90D1 +ENCODING 37073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +29E0 +7D20 +1140 +1180 +FD40 +1120 +2920 +25A0 +4540 +8100 +ENDCHAR +STARTCHAR U_90D2 +ENCODING 37074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +F440 +97C0 +F000 +97C0 +F540 +8540 +A7C0 +B400 +D420 +83E0 +ENDCHAR +STARTCHAR U_90D3 +ENCODING 37075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +8520 +2120 +FD40 +5180 +FD40 +1120 +1D20 +F1A0 +1140 +1100 +ENDCHAR +STARTCHAR U_90D4 +ENCODING 37076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +C3E0 +5D20 +4520 +8540 +D780 +5540 +5520 +D520 +5FA0 +A140 +9F00 +ENDCHAR +STARTCHAR U_90D5 +ENCODING 37077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0DE0 +0B20 +FF20 +8940 +E980 +A940 +AB20 +AD20 +E9A0 +9540 +A300 +ENDCHAR +STARTCHAR U_90D6 +ENCODING 37078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0120 +7D20 +4540 +4580 +7D40 +0520 +4920 +2DA0 +F140 +4100 +ENDCHAR +STARTCHAR U_90D7 +ENCODING 37079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +CDE0 +3120 +CD20 +2140 +FF80 +5140 +7D20 +D520 +55A0 +5D40 +1100 +ENDCHAR +STARTCHAR U_90D8 +ENCODING 37080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79E0 +4920 +4920 +7940 +0180 +0140 +FD20 +8520 +85A0 +FD40 +8500 +ENDCHAR +STARTCHAR U_90D9 +ENCODING 37081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +15E0 +FF20 +1120 +FD40 +9580 +FD40 +9520 +FD20 +95A0 +9540 +9D00 +ENDCHAR +STARTCHAR U_90DA +ENCODING 37082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1120 +7D20 +2540 +FF80 +0140 +7D20 +4520 +45A0 +7D40 +4500 +ENDCHAR +STARTCHAR U_90DB +ENCODING 37083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +09E0 +F520 +A520 +5940 +FD80 +0940 +1D20 +F120 +11A0 +5140 +2100 +ENDCHAR +STARTCHAR U_90DC +ENCODING 37084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +51E0 +7D20 +9120 +1140 +FF80 +0140 +7D20 +4520 +45A0 +7D40 +4500 +ENDCHAR +STARTCHAR U_90DD +ENCODING 37085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +1120 +FF40 +2980 +AD40 +AB20 +A920 +29A0 +4940 +9900 +ENDCHAR +STARTCHAR U_90DE +ENCODING 37086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA20 +8A20 +FA40 +8A80 +FA40 +AA20 +9220 +AB20 +CAC0 +0200 +ENDCHAR +STARTCHAR U_90DF +ENCODING 37087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF20 +1120 +5540 +5580 +BB40 +9120 +1120 +29A0 +4540 +8300 +ENDCHAR +STARTCHAR U_90E0 +ENCODING 37088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +1120 +FD20 +9540 +FD80 +9540 +FD20 +5120 +21A0 +5140 +8D00 +ENDCHAR +STARTCHAR U_90E1 +ENCODING 37089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +2520 +FF20 +2540 +7D80 +2140 +3D20 +6520 +A5A0 +3D40 +2500 +ENDCHAR +STARTCHAR U_90E2 +ENCODING 37090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9E0 +8920 +8920 +F940 +0180 +F940 +2120 +F920 +21A0 +3940 +C100 +ENDCHAR +STARTCHAR U_90E3 +ENCODING 37091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +1120 +FF40 +8380 +7D40 +0920 +FD20 +11A0 +1140 +3100 +ENDCHAR +STARTCHAR U_90E4 +ENCODING 37092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +4520 +8320 +1140 +2980 +4540 +FF20 +4520 +45A0 +7D40 +4500 +ENDCHAR +STARTCHAR U_90E5 +ENCODING 37093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4520 +4520 +7D40 +4580 +7D40 +4520 +7D20 +29A0 +4540 +8300 +ENDCHAR +STARTCHAR U_90E6 +ENCODING 37094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +00A0 +FEA0 +92A0 +92C0 +DAA0 +B6A0 +92A0 +92E0 +9280 +B680 +ENDCHAR +STARTCHAR U_90E7 +ENCODING 37095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4520 +7D20 +0140 +7D80 +4540 +5520 +5520 +55A0 +2940 +C700 +ENDCHAR +STARTCHAR U_90E8 +ENCODING 37096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF20 +4520 +2940 +FF80 +0140 +7D20 +4520 +45A0 +7D40 +4500 +ENDCHAR +STARTCHAR U_90E9 +ENCODING 37097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +3120 +4920 +FF40 +2180 +7D40 +C520 +7D20 +45A0 +7D40 +4500 +ENDCHAR +STARTCHAR U_90EA +ENCODING 37098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +FF20 +2520 +FF40 +2580 +FD40 +2120 +FF20 +49A0 +3140 +CD00 +ENDCHAR +STARTCHAR U_90EB +ENCODING 37099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +FD20 +9520 +FD40 +9580 +FD40 +2920 +4920 +FFA0 +0940 +0900 +ENDCHAR +STARTCHAR U_90EC +ENCODING 37100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF20 +1120 +7D40 +1180 +FF40 +4520 +7D20 +45A0 +7D40 +4500 +ENDCHAR +STARTCHAR U_90ED +ENCODING 37101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FFE0 +4520 +7D40 +0180 +7D40 +0920 +1F20 +F120 +11C0 +3100 +ENDCHAR +STARTCHAR U_90EE +ENCODING 37102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +92A0 +FEA0 +92A0 +FEC0 +82A0 +BAA0 +AAA0 +BAE0 +8280 +8680 +ENDCHAR +STARTCHAR U_90EF +ENCODING 37103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +5320 +9520 +1140 +2980 +C740 +1120 +5520 +95A0 +2940 +C700 +ENDCHAR +STARTCHAR U_90F0 +ENCODING 37104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8E0 +50A0 +5FA0 +71C0 +55A0 +72A0 +56A0 +FDA0 +18E0 +1080 +1080 +ENDCHAR +STARTCHAR U_90F1 +ENCODING 37105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +2920 +7D20 +2940 +2980 +FF40 +2920 +2920 +29A0 +4940 +8900 +ENDCHAR +STARTCHAR U_90F2 +ENCODING 37106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF20 +1120 +5540 +5580 +BB40 +1120 +3920 +55A0 +9340 +1100 +ENDCHAR +STARTCHAR U_90F3 +ENCODING 37107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +9D20 +8520 +DD40 +8580 +FD40 +5120 +5120 +55A0 +5940 +9100 +ENDCHAR +STARTCHAR U_90F4 +ENCODING 37108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +2520 +FF20 +2540 +3780 +6D40 +B520 +A520 +25A0 +2540 +2500 +ENDCHAR +STARTCHAR U_90F5 +ENCODING 37109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +05E0 +7920 +1120 +FF40 +5580 +FF40 +5520 +FF20 +11A0 +1D40 +E100 +ENDCHAR +STARTCHAR U_90F6 +ENCODING 37110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA20 +4BE0 +5000 +FBE0 +02A0 +7AA0 +4BE0 +4A00 +7A20 +49E0 +ENDCHAR +STARTCHAR U_90F7 +ENCODING 37111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +4EA0 +9AC0 +EAA0 +4EA0 +98A0 +EAA0 +2DE0 +4880 +8080 +ENDCHAR +STARTCHAR U_90F8 +ENCODING 37112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +2920 +7D20 +5540 +7D80 +5540 +7D20 +1120 +FFA0 +1140 +1100 +ENDCHAR +STARTCHAR U_90F9 +ENCODING 37113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4520 +7D20 +4540 +7D80 +4540 +7D20 +1520 +FFA0 +2940 +C700 +ENDCHAR +STARTCHAR U_90FA +ENCODING 37114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +3D40 +4AA0 +D7C0 +2440 +57E0 +BD20 +4FE0 +3400 +2420 +C3E0 +ENDCHAR +STARTCHAR U_90FB +ENCODING 37115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3DE0 +A520 +BD20 +A540 +BD80 +A540 +FF20 +5520 +A9A0 +A940 +5500 +ENDCHAR +STARTCHAR U_90FC +ENCODING 37116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +2520 +FF40 +4580 +7D40 +1120 +FD20 +51A0 +7F40 +1100 +ENDCHAR +STARTCHAR U_90FD +ENCODING 37117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +7D20 +1540 +FF80 +2140 +3D20 +6520 +BD20 +25A0 +3D40 +2500 +ENDCHAR +STARTCHAR U_90FE +ENCODING 37118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A520 +BD20 +A540 +BD80 +9140 +FF20 +A520 +99A0 +A540 +FF00 +ENDCHAR +STARTCHAR U_90FF +ENCODING 37119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +5520 +7D20 +4140 +5D80 +5540 +5D20 +5520 +5DA0 +5540 +9D00 +ENDCHAR +STARTCHAR U_9100 +ENCODING 37120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +FF20 +2520 +1140 +FF80 +2140 +7D20 +A520 +25A0 +3D40 +0100 +ENDCHAR +STARTCHAR U_9101 +ENCODING 37121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +ED20 +2920 +EF40 +0180 +7D40 +4520 +7D20 +45A0 +7D40 +4D00 +ENDCHAR +STARTCHAR U_9102 +ENCODING 37122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +AB20 +EF20 +0140 +7D80 +0140 +FF20 +2120 +3DA0 +0540 +3900 +ENDCHAR +STARTCHAR U_9103 +ENCODING 37123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +28A0 +44A0 +BAA0 +00C0 +E2A0 +AAA0 +EAA0 +AAA0 +EAC0 +A680 +ENDCHAR +STARTCHAR U_9104 +ENCODING 37124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2920 +FF20 +AB40 +AB80 +FF40 +1120 +7D20 +11A0 +1D40 +E100 +ENDCHAR +STARTCHAR U_9105 +ENCODING 37125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0DE0 +F120 +1120 +FD40 +9580 +FD40 +1120 +FD20 +95A0 +FD40 +8D00 +ENDCHAR +STARTCHAR U_9106 +ENCODING 37126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +82A0 +10A0 +FEA0 +54C0 +7CA0 +54A0 +7CA0 +10E0 +FE80 +1080 +ENDCHAR +STARTCHAR U_9107 +ENCODING 37127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +22A0 +42A0 +5FA0 +C8C0 +5EA0 +44A0 +5FA0 +44A0 +4AE0 +5180 +ENDCHAR +STARTCHAR U_9108 +ENCODING 37128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FAE0 +95A0 +66A0 +42A0 +BDC0 +10A0 +FEA0 +10A0 +18A0 +24E0 +C280 +ENDCHAR +STARTCHAR U_9109 +ENCODING 37129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2EE0 +4AA0 +9EA0 +EAC0 +4EA0 +9CA0 +EAA0 +2DE0 +4880 +8080 +ENDCHAR +STARTCHAR U_910A +ENCODING 37130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +5FE0 +9AA0 +EEC0 +4AA0 +9EA0 +EBA0 +2EA0 +52C0 +8280 +0280 +ENDCHAR +STARTCHAR U_910B +ENCODING 37131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +31E0 +DD20 +9520 +FD40 +9580 +FD40 +1120 +FD20 +49A0 +3140 +CD00 +ENDCHAR +STARTCHAR U_910C +ENCODING 37132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7F20 +5120 +7D40 +5580 +7F40 +5520 +7D20 +65A0 +A540 +3D00 +ENDCHAR +STARTCHAR U_910D +ENCODING 37133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8320 +7D20 +4540 +7D80 +4540 +7D20 +1120 +FFA0 +2940 +C700 +ENDCHAR +STARTCHAR U_910E +ENCODING 37134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +4520 +7D40 +4580 +7D40 +4520 +7D20 +2BA0 +6540 +BD00 +ENDCHAR +STARTCHAR U_910F +ENCODING 37135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +80A0 +BCA0 +80A0 +FEC0 +AAA0 +B4A0 +A6A0 +FEE0 +A480 +9C80 +ENDCHAR +STARTCHAR U_9110 +ENCODING 37136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF20 +2920 +5540 +FB80 +0140 +7D20 +5520 +7DA0 +5540 +7D00 +ENDCHAR +STARTCHAR U_9111 +ENCODING 37137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2920 +6D20 +2940 +FF80 +0140 +7D20 +4520 +7DA0 +4540 +7D00 +ENDCHAR +STARTCHAR U_9112 +ENCODING 37138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +7D20 +D520 +7D40 +2580 +4940 +3D20 +D520 +7DA0 +2540 +C900 +ENDCHAR +STARTCHAR U_9113 +ENCODING 37139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +4520 +7D40 +4580 +7D40 +1520 +FF20 +11A0 +2940 +C500 +ENDCHAR +STARTCHAR U_9114 +ENCODING 37140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +F920 +8920 +F940 +8180 +FD40 +8120 +FD20 +55A0 +AD40 +0900 +ENDCHAR +STARTCHAR U_9115 +ENCODING 37141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +4EA0 +AAA0 +EEC0 +4AC0 +AEA0 +E8A0 +2EA0 +48E0 +4680 +8080 +ENDCHAR +STARTCHAR U_9116 +ENCODING 37142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FBC0 +8A40 +FA40 +0280 +FB00 +8A80 +FA40 +8A40 +FB40 +5280 +8A00 +ENDCHAR +STARTCHAR U_9117 +ENCODING 37143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10E0 +FEA0 +24A0 +3CA0 +00C0 +FEA0 +82A0 +BAA0 +AAE0 +BA80 +8680 +ENDCHAR +STARTCHAR U_9118 +ENCODING 37144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +08E0 +FFA0 +8AA0 +FFA0 +8AC0 +FEA0 +AAA0 +BEA0 +AAE0 +BE80 +AE80 +ENDCHAR +STARTCHAR U_9119 +ENCODING 37145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CE0 +44A0 +7CA0 +10C0 +FEA0 +10A0 +FEA0 +AAA0 +BAE0 +8280 +FE80 +ENDCHAR +STARTCHAR U_911A +ENCODING 37146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +FF20 +2920 +7D40 +4580 +7D40 +4520 +FF20 +11A0 +2940 +C500 +ENDCHAR +STARTCHAR U_911B +ENCODING 37147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +55E0 +A920 +5520 +7D40 +5580 +7D40 +5520 +FF20 +39A0 +5540 +9300 +ENDCHAR +STARTCHAR U_911C +ENCODING 37148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +08E0 +7FA0 +54A0 +7F80 +54C0 +7FA0 +54A0 +5FA0 +54E0 +5D80 +9680 +ENDCHAR +STARTCHAR U_911D +ENCODING 37149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2520 +B540 +6D40 +B580 +5540 +AB20 +5520 +29E0 +1140 +E100 +ENDCHAR +STARTCHAR U_911E +ENCODING 37150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +FF20 +2920 +1140 +7D80 +5540 +7D20 +1120 +7DA0 +1140 +FD00 +ENDCHAR +STARTCHAR U_911F +ENCODING 37151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF20 +9520 +FD40 +9580 +FD40 +1520 +FF20 +49A0 +2940 +1900 +ENDCHAR +STARTCHAR U_9120 +ENCODING 37152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +1120 +FF40 +B540 +7D80 +0140 +FF20 +1120 +3DE0 +0540 +1900 +ENDCHAR +STARTCHAR U_9121 +ENCODING 37153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4520 +7D40 +4540 +7F80 +4140 +7F20 +1120 +FFA0 +5540 +9300 +ENDCHAR +STARTCHAR U_9122 +ENCODING 37154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +10A0 +5EA0 +50A0 +FFC0 +40A0 +7EA0 +40A0 +7EE0 +5280 +AE80 +ENDCHAR +STARTCHAR U_9123 +ENCODING 37155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +2940 +FF40 +4580 +7D40 +4520 +7D20 +11A0 +FF40 +1100 +ENDCHAR +STARTCHAR U_9124 +ENCODING 37156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4520 +7D40 +4540 +FF80 +AB40 +AB20 +FF20 +25A0 +1940 +E700 +ENDCHAR +STARTCHAR U_9125 +ENCODING 37157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +7D20 +4520 +7D40 +4580 +7F40 +4120 +7DA0 +0540 +A500 +0D00 +ENDCHAR +STARTCHAR U_9126 +ENCODING 37158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +7F20 +D540 +5540 +FF80 +5540 +5520 +FF20 +01A0 +AB40 +A900 +ENDCHAR +STARTCHAR U_9127 +ENCODING 37159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +5320 +2D20 +4540 +BB80 +0140 +7D20 +4520 +7DA0 +2940 +FF00 +ENDCHAR +STARTCHAR U_9128 +ENCODING 37160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +FFE0 +B540 +EC80 +BF60 +2100 +7F80 +4480 +7FA0 +4020 +3FE0 +ENDCHAR +STARTCHAR U_9129 +ENCODING 37161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +0520 +7D20 +0540 +FD80 +5540 +FD20 +0520 +FFA0 +4540 +2D00 +ENDCHAR +STARTCHAR U_912A +ENCODING 37162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +28E0 +FEA0 +AAA0 +FFA0 +49C0 +FFA0 +42A0 +7EA0 +42E0 +7E80 +C380 +ENDCHAR +STARTCHAR U_912B +ENCODING 37163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +28A0 +FEA0 +AAA0 +FEC0 +00A0 +7CA0 +44A0 +7CE0 +4480 +7C80 +ENDCHAR +STARTCHAR U_912C +ENCODING 37164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1DE0 +E520 +A920 +F940 +8980 +FD40 +8520 +FF20 +83A0 +AB40 +0D00 +ENDCHAR +STARTCHAR U_912D +ENCODING 37165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +FFA0 +28A0 +7EA0 +5AC0 +66A0 +5AA0 +42A0 +FFE0 +2480 +C380 +ENDCHAR +STARTCHAR U_912E +ENCODING 37166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +DEA0 +AAA0 +D2A0 +04C0 +7CA0 +44A0 +7CA0 +44E0 +7C80 +C680 +ENDCHAR +STARTCHAR U_912F +ENCODING 37167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +FF20 +1140 +7D40 +1180 +FF40 +2920 +FF20 +45A0 +4540 +7D00 +ENDCHAR +STARTCHAR U_9130 +ENCODING 37168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +93E0 +5520 +FF20 +5540 +9380 +4540 +7F20 +5520 +BFA0 +4540 +8500 +ENDCHAR +STARTCHAR U_9131 +ENCODING 37169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0DE0 +F320 +5540 +FF40 +5580 +9340 +7D20 +5520 +7DA0 +5540 +7D00 +ENDCHAR +STARTCHAR U_9132 +ENCODING 37170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EEE0 +AAA0 +FEA0 +54A0 +7CC0 +54A0 +7CA0 +10A0 +FEE0 +1080 +1080 +ENDCHAR +STARTCHAR U_9133 +ENCODING 37171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +AAA0 +EEA0 +28A0 +EEC0 +AAA0 +EEA0 +AAA0 +EEE0 +2880 +1F80 +ENDCHAR +STARTCHAR U_9134 +ENCODING 37172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABE0 +6D20 +FF20 +4940 +FF80 +1140 +FD20 +1120 +FFA0 +5540 +9300 +ENDCHAR +STARTCHAR U_9135 +ENCODING 37173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4520 +7D40 +0140 +EF80 +AB40 +EF20 +1120 +FFA0 +5540 +9300 +ENDCHAR +STARTCHAR U_9136 +ENCODING 37174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +2920 +7D40 +8340 +FF80 +AB40 +FF20 +4520 +7DA0 +4540 +7D00 +ENDCHAR +STARTCHAR U_9137 +ENCODING 37175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +FF20 +AB20 +FF40 +A980 +FF40 +4520 +7D20 +49A0 +2D40 +F100 +ENDCHAR +STARTCHAR U_9138 +ENCODING 37176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +FF20 +2920 +FF40 +AB80 +FF40 +A320 +3D20 +69A0 +1140 +E100 +ENDCHAR +STARTCHAR U_9139 +ENCODING 37177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9E0 +5720 +7B20 +5540 +FB80 +1140 +FF20 +5520 +B9A0 +5540 +9300 +ENDCHAR +STARTCHAR U_913A +ENCODING 37178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +08E0 +7FA0 +54A0 +7FA0 +54C0 +7FA0 +4AA0 +7EA0 +4AE0 +7E80 +A280 +ENDCHAR +STARTCHAR U_913B +ENCODING 37179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +44A0 +EFA0 +44A0 +AAC0 +FFA0 +4AA0 +7EA0 +5AE0 +FF80 +0880 +ENDCHAR +STARTCHAR U_913C +ENCODING 37180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +FD20 +2920 +FF40 +5580 +FF40 +5520 +55A0 +7D40 +4500 +8300 +ENDCHAR +STARTCHAR U_913D +ENCODING 37181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7FE0 +6AA0 +7EA0 +48C0 +7FA0 +52A0 +6AE0 +5D80 +8880 +3E80 +ENDCHAR +STARTCHAR U_913E +ENCODING 37182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +44A0 +7CA0 +44A0 +FFC0 +A5A0 +52A0 +FEA0 +68E0 +1080 +EE80 +ENDCHAR +STARTCHAR U_913F +ENCODING 37183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29E0 +FF20 +2940 +EF40 +AB80 +FF40 +5520 +7D20 +55A0 +FF40 +1100 +ENDCHAR +STARTCHAR U_9140 +ENCODING 37184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +FFA0 +24A0 +3CA0 +45C0 +DEA0 +54A0 +DCA0 +47E0 +AA80 +AA80 +ENDCHAR +STARTCHAR U_9141 +ENCODING 37185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CE0 +88A0 +7EA0 +42A0 +7EC0 +49A0 +7FA0 +D2A0 +7EE0 +2A80 +CF80 +ENDCHAR +STARTCHAR U_9142 +ENCODING 37186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A800 +FFE0 +2920 +FF40 +5580 +AB40 +7D20 +45A0 +5560 +2900 +C500 +ENDCHAR +STARTCHAR U_9143 +ENCODING 37187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +10A0 +FEA0 +92A0 +54C0 +92A0 +00A0 +FEA0 +AAE0 +AA80 +FE80 +ENDCHAR +STARTCHAR U_9144 +ENCODING 37188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +28A0 +EEA0 +AAA0 +EEC0 +48A0 +FFA0 +48A0 +7EE0 +4880 +7F80 +ENDCHAR +STARTCHAR U_9145 +ENCODING 37189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +92E0 +FEA0 +48A0 +FEA0 +48C0 +FEA0 +AAA0 +FEA0 +AAE0 +BA80 +8680 +ENDCHAR +STARTCHAR U_9146 +ENCODING 37190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAE0 +FEA0 +AAA0 +FEA0 +AAC0 +FFA0 +44A0 +7CA0 +44E0 +2880 +FE80 +ENDCHAR +STARTCHAR U_9147 +ENCODING 37191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A4E0 +FFA0 +24A0 +FFA0 +4AC0 +FFA0 +42A0 +7EA0 +42E0 +7E80 +8180 +ENDCHAR +STARTCHAR U_9148 +ENCODING 37192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +AAA0 +EEA0 +AAA0 +FEC0 +AAA0 +FEA0 +AAA0 +BCE0 +A880 +BE80 +ENDCHAR +STARTCHAR U_9149 +ENCODING 37193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +0A00 +7FC0 +4A40 +4A40 +71C0 +4040 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_914A +ENCODING 37194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2840 +2840 +FE40 +AA40 +CE40 +8240 +FE40 +8240 +FE40 +82C0 +ENDCHAR +STARTCHAR U_914B +ENCODING 37195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +0A00 +FFE0 +0A00 +7FC0 +4A40 +73C0 +4040 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_914C +ENCODING 37196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF00 +2900 +29E0 +FE20 +AA20 +CF20 +82A0 +FEA0 +8220 +FE20 +82C0 +ENDCHAR +STARTCHAR U_914D +ENCODING 37197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5020 +5020 +F820 +ABE0 +DA00 +8A00 +FA00 +8A20 +FA20 +8BE0 +ENDCHAR +STARTCHAR U_914E +ENCODING 37198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC40 +5040 +53E0 +FC40 +B640 +DD40 +8540 +FC40 +8440 +FD40 +8480 +ENDCHAR +STARTCHAR U_914F +ENCODING 37199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +5280 +52A0 +FAE0 +AFA0 +DAA0 +8AE0 +FA80 +8A20 +FA20 +89E0 +ENDCHAR +STARTCHAR U_9150 +ENCODING 37200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5080 +5080 +F880 +A880 +DFE0 +8880 +F880 +8880 +F880 +8880 +ENDCHAR +STARTCHAR U_9151 +ENCODING 37201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5080 +F880 +A880 +AFE0 +D880 +8880 +F880 +8880 +F880 +0180 +ENDCHAR +STARTCHAR U_9152 +ENCODING 37202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2280 +8280 +5FE0 +2AA0 +2CE0 +2820 +CFE0 +4820 +4FE0 +4820 +ENDCHAR +STARTCHAR U_9153 +ENCODING 37203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1900 +2480 +DF60 +0200 +FFE0 +0A00 +7FC0 +4A40 +5140 +7FC0 +ENDCHAR +STARTCHAR U_9154 +ENCODING 37204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FF80 +5280 +FAA0 +AAA0 +FD60 +8900 +FFE0 +8900 +F900 +8900 +ENDCHAR +STARTCHAR U_9155 +ENCODING 37205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8E0 +5700 +5100 +F900 +AFE0 +D900 +8900 +FFE0 +8900 +F920 +88E0 +ENDCHAR +STARTCHAR U_9156 +ENCODING 37206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +5080 +53E0 +FAA0 +AC80 +D880 +8980 +F980 +8AA0 +FAA0 +8C60 +ENDCHAR +STARTCHAR U_9157 +ENCODING 37207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F840 +5140 +52A0 +FAA0 +AAA0 +DAA0 +8B60 +FB20 +8A20 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_9158 +ENCODING 37208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +5240 +5240 +FA60 +AC00 +DFC0 +8A40 +F940 +8880 +F940 +8E20 +ENDCHAR +STARTCHAR U_9159 +ENCODING 37209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F840 +2240 +F940 +A840 +AA40 +D940 +8840 +FFE0 +8840 +8840 +F840 +ENDCHAR +STARTCHAR U_915A +ENCODING 37210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +5280 +5240 +FA40 +AC20 +DBC0 +8940 +F940 +8A40 +FD40 +8880 +ENDCHAR +STARTCHAR U_915B +ENCODING 37211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +5000 +5000 +FFE0 +AA80 +FA80 +8A80 +FA80 +8AA0 +FCA0 +8860 +ENDCHAR +STARTCHAR U_915C +ENCODING 37212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +5100 +FFC0 +A900 +A900 +DFE0 +8900 +FA80 +8A80 +FC40 +8820 +ENDCHAR +STARTCHAR U_915D +ENCODING 37213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F800 +53E0 +5000 +F800 +AFE0 +D900 +8900 +F940 +8A20 +FFE0 +8820 +ENDCHAR +STARTCHAR U_915E +ENCODING 37214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +5100 +5100 +FFE0 +A900 +D900 +8900 +FA80 +8A80 +8D40 +F820 +ENDCHAR +STARTCHAR U_915F +ENCODING 37215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +5080 +50E0 +F880 +A880 +DBE0 +8A20 +FA20 +8A20 +8BE0 +FA20 +ENDCHAR +STARTCHAR U_9160 +ENCODING 37216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5020 +5020 +FBA0 +AAA0 +DAA0 +8BA0 +F820 +8820 +8820 +F860 +ENDCHAR +STARTCHAR U_9161 +ENCODING 37217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +53E0 +5220 +F900 +A920 +A940 +D980 +8900 +F920 +8920 +F8E0 +ENDCHAR +STARTCHAR U_9162 +ENCODING 37218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +5100 +51E0 +FB00 +ADE0 +A900 +D900 +89E0 +F900 +8900 +F900 +ENDCHAR +STARTCHAR U_9163 +ENCODING 37219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +5240 +5240 +FFE0 +AA40 +DA40 +8BC0 +8A40 +FA40 +8A40 +FBC0 +ENDCHAR +STARTCHAR U_9164 +ENCODING 37220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +5080 +53E0 +F880 +A880 +DBE0 +8A20 +FA20 +8A20 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_9165 +ENCODING 37221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F860 +5380 +5080 +F880 +AFE0 +D880 +89C0 +FAC0 +8CA0 +F8A0 +8880 +ENDCHAR +STARTCHAR U_9166 +ENCODING 37222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FAC0 +52A0 +FFE0 +A900 +A9E0 +DB20 +8D40 +F880 +8940 +FE20 +ENDCHAR +STARTCHAR U_9167 +ENCODING 37223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +5420 +F840 +AFE0 +F840 +8A40 +F940 +8840 +F840 +88C0 +ENDCHAR +STARTCHAR U_9168 +ENCODING 37224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +10A0 +FFE0 +2880 +FEA0 +AAA0 +EEA0 +8240 +FE40 +83A0 +FE20 +ENDCHAR +STARTCHAR U_9169 +ENCODING 37225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +51E0 +5220 +FD40 +A880 +D900 +8BE0 +FD20 +8920 +F9E0 +8920 +ENDCHAR +STARTCHAR U_916A +ENCODING 37226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +51E0 +5340 +FC80 +A940 +DA20 +8FE0 +FA20 +8A20 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_916B +ENCODING 37227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F900 +5280 +FC40 +AFE0 +A900 +D900 +8BC0 +F900 +8900 +FFE0 +ENDCHAR +STARTCHAR U_916C +ENCODING 37228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA20 +52A0 +52A0 +FAA0 +ABE0 +DEA0 +8AA0 +FAA0 +8AA0 +FAA0 +8C20 +ENDCHAR +STARTCHAR U_916D +ENCODING 37229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +5100 +FBE0 +AE20 +ABE0 +DA20 +8BE0 +FA20 +8A20 +FA60 +ENDCHAR +STARTCHAR U_916E +ENCODING 37230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5220 +53E0 +FA20 +ABA0 +DAA0 +8AA0 +FBA0 +8A20 +FA20 +8A60 +ENDCHAR +STARTCHAR U_916F +ENCODING 37231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +5260 +5380 +FA20 +A9E0 +D800 +8BE0 +FA20 +8BE0 +FA20 +8BE0 +ENDCHAR +STARTCHAR U_9170 +ENCODING 37232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +5280 +53E0 +FC80 +A880 +DFE0 +8940 +F940 +8940 +FA40 +8C60 +ENDCHAR +STARTCHAR U_9171 +ENCODING 37233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5200 +37C0 +DC80 +1300 +FFE0 +0A00 +7FC0 +4A40 +7FC0 +4040 +7FC0 +ENDCHAR +STARTCHAR U_9172 +ENCODING 37234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5220 +5220 +FBE0 +A800 +ABE0 +D880 +8BE0 +F880 +8880 +FFE0 +ENDCHAR +STARTCHAR U_9173 +ENCODING 37235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +5140 +5280 +F920 +ABE0 +D800 +8BE0 +FA20 +8BE0 +FA20 +8A60 +ENDCHAR +STARTCHAR U_9174 +ENCODING 37236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F980 +5240 +5420 +FBE0 +A880 +DFE0 +8880 +FAC0 +8CA0 +F880 +8980 +ENDCHAR +STARTCHAR U_9175 +ENCODING 37237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57A0 +5140 +FFE0 +A900 +DFE0 +8A40 +FC80 +8FE0 +F880 +8980 +ENDCHAR +STARTCHAR U_9176 +ENCODING 37238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +53E0 +5400 +FFC0 +AD40 +DFE0 +8D40 +FD40 +8FE0 +F840 +8980 +ENDCHAR +STARTCHAR U_9177 +ENCODING 37239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +5280 +53E0 +FC80 +A880 +DBE0 +8800 +FBE0 +8A20 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_9178 +ENCODING 37240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +5240 +57A0 +FA40 +AC20 +D9C0 +8940 +FB40 +8C80 +F940 +8A20 +ENDCHAR +STARTCHAR U_9179 +ENCODING 37241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F840 +57A0 +5520 +FAC0 +A840 +DFE0 +8A40 +F940 +8840 +F940 +8880 +ENDCHAR +STARTCHAR U_917A +ENCODING 37242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8A0 +53E0 +5080 +FBE0 +AAA0 +DBE0 +8AA0 +FBE0 +8AA0 +FAA0 +8AE0 +ENDCHAR +STARTCHAR U_917B +ENCODING 37243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0060 +FBA0 +2520 +FAC0 +A800 +ABC0 +D880 +8FE0 +F880 +8880 +F980 +ENDCHAR +STARTCHAR U_917C +ENCODING 37244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2100 +FA40 +AFE0 +A820 +DD40 +8D40 +FD40 +8D40 +F960 +ENDCHAR +STARTCHAR U_917D +ENCODING 37245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5540 +5360 +F940 +ABE0 +DA00 +8A00 +FA00 +8A00 +FA00 +8C00 +ENDCHAR +STARTCHAR U_917E +ENCODING 37246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5000 +53E0 +FAA0 +AAA0 +DBA0 +8AE0 +FAA0 +8AA0 +FAA0 +8AE0 +ENDCHAR +STARTCHAR U_917F +ENCODING 37247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +53C0 +5240 +FBC0 +AA40 +DBC0 +8AA0 +FAC0 +8A40 +FAA0 +8B20 +ENDCHAR +STARTCHAR U_9180 +ENCODING 37248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +5240 +57E0 +FA80 +ABE0 +DA80 +8A80 +FBE0 +8A80 +FBE0 +8A00 +ENDCHAR +STARTCHAR U_9181 +ENCODING 37249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +5040 +53C0 +F840 +AFE0 +DCA0 +8AC0 +F980 +8AC0 +FCA0 +8980 +ENDCHAR +STARTCHAR U_9182 +ENCODING 37250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +5240 +57E0 +FA40 +AA40 +DB40 +8EE0 +FB60 +8A40 +FA40 +8A40 +ENDCHAR +STARTCHAR U_9183 +ENCODING 37251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +5280 +FD40 +AFE0 +DD40 +8FC0 +FD40 +8FC0 +F920 +88E0 +ENDCHAR +STARTCHAR U_9184 +ENCODING 37252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +53E0 +5420 +FBA0 +AD20 +DFE0 +8920 +FD60 +8FE0 +F820 +88C0 +ENDCHAR +STARTCHAR U_9185 +ENCODING 37253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +57E0 +5220 +F940 +AFE0 +D800 +8BE0 +FA20 +8A20 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_9186 +ENCODING 37254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +5240 +57C0 +F940 +A9A0 +DE60 +8A80 +FFE0 +8940 +F9A0 +8E60 +ENDCHAR +STARTCHAR U_9187 +ENCODING 37255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +5240 +FBC0 +A800 +DBE0 +8840 +FFE0 +8880 +F880 +8B80 +ENDCHAR +STARTCHAR U_9188 +ENCODING 37256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FD40 +2380 +FA80 +AC60 +A900 +DD40 +8B80 +F980 +8A60 +FC40 +ENDCHAR +STARTCHAR U_9189 +ENCODING 37257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +5240 +FA40 +ADA0 +D880 +8880 +FFE0 +8880 +F880 +8880 +ENDCHAR +STARTCHAR U_918A +ENCODING 37258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +55A0 +5240 +FDA0 +A800 +DFE0 +8DA0 +FDA0 +8A40 +FA40 +8DA0 +ENDCHAR +STARTCHAR U_918B +ENCODING 37259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +5140 +57E0 +F940 +AFE0 +D800 +8BE0 +FA20 +8BE0 +FA20 +8BE0 +ENDCHAR +STARTCHAR U_918C +ENCODING 37260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5220 +53E0 +FA20 +ABE0 +DA80 +8BA0 +FAC0 +8A80 +FBA0 +8AE0 +ENDCHAR +STARTCHAR U_918D +ENCODING 37261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +5240 +53C0 +FA40 +ABC0 +D800 +8FE0 +F880 +8AE0 +FD80 +88E0 +ENDCHAR +STARTCHAR U_918E +ENCODING 37262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +00C0 +F8A0 +27E0 +F880 +AF80 +A8A0 +DFA0 +89C0 +FFC0 +88A0 +F920 +ENDCHAR +STARTCHAR U_918F +ENCODING 37263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +53E0 +5140 +FFE0 +A900 +DBE0 +8E20 +FBE0 +8A20 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_9190 +ENCODING 37264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FAE0 +52A0 +57A0 +FAE0 +AAA0 +DFA0 +8CE0 +FCA0 +8FA0 +F920 +8A60 +ENDCHAR +STARTCHAR U_9191 +ENCODING 37265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5120 +55C0 +FD00 +ABE0 +DA40 +8BC0 +FA40 +8BC0 +FA40 +8AC0 +ENDCHAR +STARTCHAR U_9192 +ENCODING 37266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5220 +53E0 +FA20 +ABE0 +DA80 +8BE0 +FC80 +8BE0 +F880 +8FE0 +ENDCHAR +STARTCHAR U_9193 +ENCODING 37267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +57E0 +5520 +F980 +AAA0 +DCE0 +8800 +FFE0 +8AA0 +FAA0 +8FE0 +ENDCHAR +STARTCHAR U_9194 +ENCODING 37268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D40 +1380 +7D00 +3A80 +5440 +FFE0 +0A00 +7FC0 +4A40 +5140 +7FC0 +ENDCHAR +STARTCHAR U_9195 +ENCODING 37269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FBE0 +2000 +F9C0 +A940 +A940 +DBE0 +8A20 +FBE0 +8A20 +FBE0 +ENDCHAR +STARTCHAR U_9196 +ENCODING 37270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +2240 +FBC0 +AA40 +ABC0 +D800 +8FE0 +FAA0 +8AA0 +FAA0 +8FE0 +ENDCHAR +STARTCHAR U_9197 +ENCODING 37271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F7A0 +2540 +FA40 +AC20 +AFC0 +DA80 +8FC0 +FA80 +8AA0 +FC60 +ENDCHAR +STARTCHAR U_9198 +ENCODING 37272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +2100 +FFE0 +AA40 +AFE0 +D800 +8FE0 +FAA0 +8AA0 +FFE0 +ENDCHAR +STARTCHAR U_9199 +ENCODING 37273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F980 +56E0 +54A0 +FFE0 +ACA0 +DFE0 +8880 +FFE0 +8A40 +F980 +8E60 +ENDCHAR +STARTCHAR U_919A +ENCODING 37274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +55A0 +52C0 +FE80 +ABE0 +DA80 +8AC0 +FBA0 +8A80 +FA80 +8DE0 +ENDCHAR +STARTCHAR U_919B +ENCODING 37275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +57E0 +5240 +F980 +AA40 +DC20 +8BE0 +F880 +8BE0 +F880 +8FE0 +ENDCHAR +STARTCHAR U_919C +ENCODING 37276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +5520 +FFE0 +AD20 +DFE0 +8940 +F9A0 +8AE0 +FAA0 +8CE0 +ENDCHAR +STARTCHAR U_919D +ENCODING 37277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +53E0 +5080 +FBE0 +A880 +DFE0 +8900 +FBE0 +8C80 +F880 +8FE0 +ENDCHAR +STARTCHAR U_919E +ENCODING 37278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +52A0 +52A0 +FB60 +ABE0 +A800 +DFE0 +8AA0 +FAA0 +8AA0 +FFE0 +ENDCHAR +STARTCHAR U_919F +ENCODING 37279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +56A0 +5AC0 +2980 +4640 +FFE0 +8A20 +7FC0 +5240 +61C0 +4E40 +7FC0 +ENDCHAR +STARTCHAR U_91A0 +ENCODING 37280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +53E0 +52A0 +FFE0 +A880 +D940 +8A20 +FFE0 +8AA0 +FAA0 +8FE0 +ENDCHAR +STARTCHAR U_91A1 +ENCODING 37281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +55A0 +FA40 +ABE0 +DD00 +89E0 +F900 +89E0 +F900 +8900 +ENDCHAR +STARTCHAR U_91A2 +ENCODING 37282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +5100 +FBC0 +AE40 +ABC0 +D800 +8FE0 +FAA0 +8AA0 +FFE0 +ENDCHAR +STARTCHAR U_91A3 +ENCODING 37283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +5540 +FFE0 +AD40 +DFC0 +8D00 +FFC0 +8A40 +FBC0 +8A40 +ENDCHAR +STARTCHAR U_91A4 +ENCODING 37284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +5540 +3FE0 +D240 +11C0 +7FE0 +0A00 +7FC0 +4A40 +5140 +7FC0 +ENDCHAR +STARTCHAR U_91A5 +ENCODING 37285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5280 +57E0 +FAA0 +AFE0 +A800 +DBC0 +8800 +FFE0 +8AC0 +FDA0 +ENDCHAR +STARTCHAR U_91A6 +ENCODING 37286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +27C0 +FA40 +ADA0 +AFE0 +DA40 +8D20 +FA80 +8940 +F880 +8B00 +ENDCHAR +STARTCHAR U_91A7 +ENCODING 37287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5200 +53C0 +FA40 +ABC0 +DA00 +8BE0 +FAA0 +8BE0 +FA00 +8BE0 +ENDCHAR +STARTCHAR U_91A8 +ENCODING 37288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +53E0 +5360 +FAA0 +AB60 +DBE0 +8880 +FBE0 +8AA0 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_91A9 +ENCODING 37289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FA80 +2FE0 +FAA0 +AFE0 +AAA0 +DFE0 +8A40 +FBC0 +8A40 +FBC0 +ENDCHAR +STARTCHAR U_91AA +ENCODING 37290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +55A0 +5360 +FCA0 +A980 +DA40 +8D20 +FA80 +8940 +F880 +8F00 +ENDCHAR +STARTCHAR U_91AB +ENCODING 37291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +9140 +FFE0 +9940 +A480 +FFE0 +4A40 +71C0 +4E40 +4040 +7FC0 +ENDCHAR +STARTCHAR U_91AC +ENCODING 37292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +7540 +1D40 +F7E0 +5240 +FFE0 +4A40 +73C0 +5E40 +4040 +7FC0 +ENDCHAR +STARTCHAR U_91AD +ENCODING 37293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEA0 +52C0 +57E0 +FA40 +AFE0 +D900 +8FE0 +F900 +8FE0 +FA40 +8C20 +ENDCHAR +STARTCHAR U_91AE +ENCODING 37294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +53E0 +5680 +FBE0 +AA80 +DBE0 +8A80 +FBE0 +8D40 +FAA0 +8AA0 +ENDCHAR +STARTCHAR U_91AF +ENCODING 37295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +5240 +FFE0 +AB40 +DB40 +8D60 +F800 +8FE0 +FAA0 +8FE0 +ENDCHAR +STARTCHAR U_91B0 +ENCODING 37296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5280 +5FE0 +FAA0 +AFE0 +DA40 +8BC0 +FA40 +8FE0 +F880 +8880 +ENDCHAR +STARTCHAR U_91B1 +ENCODING 37297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF40 +55A0 +52C0 +FC40 +AEE0 +D920 +8FE0 +FCA0 +8E40 +FAA0 +8D20 +ENDCHAR +STARTCHAR U_91B2 +ENCODING 37298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +57E0 +52A0 +FFE0 +AAA0 +DFE0 +8800 +FFE0 +8AA0 +FA40 +8B20 +ENDCHAR +STARTCHAR U_91B3 +ENCODING 37299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +52A0 +56A0 +FFE0 +A880 +DFE0 +8A40 +FFE0 +8880 +FFE0 +8880 +ENDCHAR +STARTCHAR U_91B4 +ENCODING 37300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +57E0 +52A0 +FFE0 +AAA0 +DFE0 +8A40 +FBC0 +8A40 +F980 +8FE0 +ENDCHAR +STARTCHAR U_91B5 +ENCODING 37301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +5100 +57E0 +FD20 +AFC0 +DD20 +8FE0 +FD00 +8EA0 +FDC0 +8AA0 +ENDCHAR +STARTCHAR U_91B6 +ENCODING 37302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +FA40 +2420 +FBC0 +A800 +AFE0 +DDA0 +8FE0 +FA40 +8A40 +FDA0 +ENDCHAR +STARTCHAR U_91B7 +ENCODING 37303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +5240 +FFE0 +AA40 +DBC0 +8A40 +FBC0 +8AA0 +FE40 +89C0 +ENDCHAR +STARTCHAR U_91B8 +ENCODING 37304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2440 +FAA0 +AFC0 +DA80 +8FE0 +FA80 +8EA0 +FB40 +8A20 +ENDCHAR +STARTCHAR U_91B9 +ENCODING 37305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5100 +57E0 +FD20 +ABA0 +DD40 +8FE0 +F900 +8FE0 +FAA0 +8AA0 +ENDCHAR +STARTCHAR U_91BA +ENCODING 37306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5100 +57E0 +FAA0 +AFE0 +D880 +8BE0 +F880 +8FE0 +F940 +8AA0 +ENDCHAR +STARTCHAR U_91BB +ENCODING 37307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +2100 +FFE0 +A940 +D900 +8FE0 +F840 +8FE0 +FA40 +88C0 +ENDCHAR +STARTCHAR U_91BC +ENCODING 37308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +57E0 +5280 +FB80 +AA40 +DFE0 +8A40 +FFE0 +8800 +FAA0 +8AA0 +ENDCHAR +STARTCHAR U_91BD +ENCODING 37309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5100 +57E0 +FD20 +AB40 +DD20 +8FE0 +FAA0 +8AA0 +8AA0 +FFE0 +ENDCHAR +STARTCHAR U_91BE +ENCODING 37310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +57E0 +5540 +FFE0 +AD40 +DFE0 +8EA0 +FDC0 +8FE0 +F9C0 +8AA0 +ENDCHAR +STARTCHAR U_91BF +ENCODING 37311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +2A40 +FFE0 +AAC0 +DD20 +8BC0 +FA40 +8FE0 +F540 +1920 +ENDCHAR +STARTCHAR U_91C0 +ENCODING 37312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57E0 +55A0 +FFE0 +AA80 +DFE0 +8A80 +FFE0 +8AA0 +FE40 +8B20 +ENDCHAR +STARTCHAR U_91C1 +ENCODING 37313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5140 +7FC0 +5540 +FFE0 +AAA0 +3F80 +1080 +3F80 +C960 +3300 +ENDCHAR +STARTCHAR U_91C2 +ENCODING 37314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +52A0 +57E0 +FAA0 +AFE0 +D920 +8FE0 +F920 +8FA0 +FA20 +8D60 +ENDCHAR +STARTCHAR U_91C3 +ENCODING 37315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5000 +57E0 +FD20 +AFE0 +DAA0 +8FE0 +FAA0 +8BC0 +FAA0 +8BE0 +ENDCHAR +STARTCHAR U_91C4 +ENCODING 37316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +F7E0 +2540 +F7E0 +B540 +B760 +D400 +9760 +F540 +9760 +F940 +ENDCHAR +STARTCHAR U_91C5 +ENCODING 37317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +5AA0 +5FE0 +FA80 +AFE0 +D920 +8F20 +F9A0 +8F40 +F940 +89A0 +ENDCHAR +STARTCHAR U_91C6 +ENCODING 37318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0380 +7C40 +2480 +1500 +7FE0 +0400 +0E00 +1500 +2480 +C460 +0400 +ENDCHAR +STARTCHAR U_91C7 +ENCODING 37319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +7840 +2480 +1100 +0400 +FFE0 +0E00 +1500 +2480 +4460 +8420 +ENDCHAR +STARTCHAR U_91C8 +ENCODING 37320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +EBC0 +AA40 +7240 +FBC0 +2300 +7280 +AA80 +A440 +2460 +2840 +ENDCHAR +STARTCHAR U_91C9 +ENCODING 37321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E100 +A900 +77E0 +FD20 +6520 +77E0 +AD20 +A520 +27E0 +2420 +ENDCHAR +STARTCHAR U_91CA +ENCODING 37322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +E280 +A900 +7280 +FD60 +3100 +6FC0 +A100 +AFE0 +2100 +2100 +ENDCHAR +STARTCHAR U_91CB +ENCODING 37323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2AA0 +AFE0 +7100 +FFE0 +2280 +77E0 +6900 +A7E0 +A100 +2100 +ENDCHAR +STARTCHAR U_91CC +ENCODING 37324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +4440 +7FC0 +4440 +4440 +7FC0 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_91CD +ENCODING 37325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +2480 +3F80 +2480 +3F80 +0400 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_91CE +ENCODING 37326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A840 +F980 +A880 +AFE0 +F8A0 +2080 +F880 +2080 +3880 +C380 +ENDCHAR +STARTCHAR U_91CF +ENCODING 37327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +FFE0 +2480 +3F80 +2480 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_91D0 +ENCODING 37328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +23E0 +FC80 +A940 +FFE0 +5240 +5FC0 +5240 +5FC0 +8200 +BFE0 +ENDCHAR +STARTCHAR U_91D1 +ENCODING 37329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +2080 +DF60 +0400 +7FC0 +0400 +2480 +1500 +FFE0 +ENDCHAR +STARTCHAR U_91D2 +ENCODING 37330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 11 0 -1 +BITMAP +10 +28 +44 +FE +10 +7C +10 +54 +38 +1C +E0 +ENDCHAR +STARTCHAR U_91D3 +ENCODING 37331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5100 +8900 +7900 +2100 +F900 +2100 +A900 +7120 +3920 +C0E0 +ENDCHAR +STARTCHAR U_91D4 +ENCODING 37332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +5020 +8840 +F840 +2080 +F880 +2100 +A900 +7220 +3A20 +C1E0 +ENDCHAR +STARTCHAR U_91D5 +ENCODING 37333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5040 +8880 +7880 +2080 +F880 +2080 +A880 +7080 +3A80 +C100 +ENDCHAR +STARTCHAR U_91D6 +ENCODING 37334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +2BE0 +44A0 +BCA0 +10A0 +7CA0 +1120 +5520 +3A20 +1AA0 +6440 +ENDCHAR +STARTCHAR U_91D7 +ENCODING 37335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +2820 +4520 +BD20 +1120 +7D20 +1120 +5520 +3920 +1C20 +E060 +ENDCHAR +STARTCHAR U_91D8 +ENCODING 37336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +57E0 +8880 +7880 +2080 +F880 +2080 +A880 +7080 +3880 +C380 +ENDCHAR +STARTCHAR U_91D9 +ENCODING 37337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5100 +8900 +FD80 +2140 +F920 +2120 +A900 +7100 +3900 +C100 +ENDCHAR +STARTCHAR U_91DA +ENCODING 37338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +5200 +8F80 +FA80 +2280 +FA80 +2280 +AA80 +72A0 +34A0 +C860 +ENDCHAR +STARTCHAR U_91DB +ENCODING 37339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2900 +4500 +BBE0 +1120 +7920 +1520 +5920 +3220 +1AA0 +6440 +ENDCHAR +STARTCHAR U_91DC +ENCODING 37340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3180 +5240 +0C00 +1300 +E0E0 +3F80 +0400 +7FC0 +2480 +1500 +FFE0 +ENDCHAR +STARTCHAR U_91DD +ENCODING 37341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5080 +8880 +7880 +27E0 +F880 +2080 +A880 +7080 +3880 +C080 +ENDCHAR +STARTCHAR U_91DE +ENCODING 37342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3100 +4900 +F100 +2100 +F900 +2280 +AA80 +7240 +3460 +C840 +ENDCHAR +STARTCHAR U_91DF +ENCODING 37343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3280 +4A80 +F680 +2280 +FE80 +2280 +AA80 +7440 +3440 +C820 +ENDCHAR +STARTCHAR U_91E0 +ENCODING 37344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1380 +2A80 +4680 +FA80 +1280 +7A80 +1680 +5AA0 +34A0 +C860 +ENDCHAR +STARTCHAR U_91E1 +ENCODING 37345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +64C0 +0A40 +1100 +2080 +DF60 +0400 +1F00 +2480 +1500 +FFE0 +ENDCHAR +STARTCHAR U_91E2 +ENCODING 37346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5240 +8A40 +7A80 +22E0 +FA20 +2220 +AA20 +7220 +3CA0 +E840 +ENDCHAR +STARTCHAR U_91E3 +ENCODING 37347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5100 +89E0 +7A20 +2420 +F920 +20A0 +A8A0 +7020 +3820 +C0C0 +ENDCHAR +STARTCHAR U_91E4 +ENCODING 37348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +5080 +8900 +7A20 +2040 +F880 +2300 +A820 +7040 +3880 +C300 +ENDCHAR +STARTCHAR U_91E5 +ENCODING 37349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4880 +F880 +22C0 +FAA0 +24A0 +A8A0 +7080 +3A80 +C100 +ENDCHAR +STARTCHAR U_91E6 +ENCODING 37350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +33E0 +4A20 +FA20 +2220 +FA20 +2220 +AA20 +7220 +3BE0 +C220 +ENDCHAR +STARTCHAR U_91E7 +ENCODING 37351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +52A0 +8AA0 +7AA0 +22A0 +FAA0 +22A0 +AAA0 +72A0 +3C20 +E020 +ENDCHAR +STARTCHAR U_91E8 +ENCODING 37352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3040 +4880 +F880 +2080 +FFE0 +2080 +A880 +7080 +3880 +C380 +ENDCHAR +STARTCHAR U_91E9 +ENCODING 37353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +3480 +4C80 +FC80 +2680 +FD80 +2480 +AC80 +74A0 +38A0 +D060 +ENDCHAR +STARTCHAR U_91EA +ENCODING 37354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +3080 +4880 +F880 +27E0 +F880 +2080 +A880 +7080 +3A80 +C100 +ENDCHAR +STARTCHAR U_91EB +ENCODING 37355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3000 +4800 +FFE0 +2200 +FA00 +23E0 +A820 +7020 +3820 +C0C0 +ENDCHAR +STARTCHAR U_91EC +ENCODING 37356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +33E0 +4880 +F880 +2080 +FFE0 +2080 +A880 +7080 +3880 +C080 +ENDCHAR +STARTCHAR U_91ED +ENCODING 37357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +33E0 +4880 +F880 +2080 +FC80 +2080 +A880 +7080 +3880 +C7E0 +ENDCHAR +STARTCHAR U_91EE +ENCODING 37358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +3040 +4840 +FFE0 +2040 +FCC0 +2140 +AA40 +7440 +3940 +C080 +ENDCHAR +STARTCHAR U_91EF +ENCODING 37359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3080 +4FE0 +F200 +2200 +FA00 +2200 +AA00 +7200 +3A00 +C3E0 +ENDCHAR +STARTCHAR U_91F0 +ENCODING 37360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +33E0 +48A0 +F0A0 +22A0 +FAA0 +2120 +A920 +7220 +3AA0 +C440 +ENDCHAR +STARTCHAR U_91F1 +ENCODING 37361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4880 +FBE0 +2080 +F880 +2080 +A880 +7140 +3A20 +E420 +ENDCHAR +STARTCHAR U_91F2 +ENCODING 37362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +33C0 +4A40 +FA40 +2240 +FBC0 +2200 +AA00 +7220 +3A20 +C1E0 +ENDCHAR +STARTCHAR U_91F3 +ENCODING 37363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +31E0 +4A00 +FC00 +23C0 +F880 +2100 +A900 +7220 +3A20 +C1E0 +ENDCHAR +STARTCHAR U_91F4 +ENCODING 37364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5140 +8920 +7BE0 +2100 +FD00 +2100 +A8A0 +70A0 +3860 +C020 +ENDCHAR +STARTCHAR U_91F5 +ENCODING 37365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +57E0 +8A20 +7B20 +22A0 +F940 +2140 +A880 +7140 +3A40 +C420 +ENDCHAR +STARTCHAR U_91F6 +ENCODING 37366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4D00 +FFC0 +2540 +FD40 +2540 +ADC0 +7500 +3C20 +C3E0 +ENDCHAR +STARTCHAR U_91F7 +ENCODING 37367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5080 +8880 +7880 +23E0 +FC80 +2080 +A880 +7080 +3880 +C7E0 +ENDCHAR +STARTCHAR U_91F8 +ENCODING 37368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +49E0 +F920 +2220 +FD40 +2140 +A880 +7100 +3A00 +C400 +ENDCHAR +STARTCHAR U_91F9 +ENCODING 37369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5100 +8900 +7BE0 +2140 +FA40 +2240 +A940 +7080 +3940 +C620 +ENDCHAR +STARTCHAR U_91FA +ENCODING 37370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +3300 +4900 +F100 +27E0 +F900 +2100 +A900 +7100 +3900 +C100 +ENDCHAR +STARTCHAR U_91FB +ENCODING 37371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3200 +4A00 +F780 +2280 +FA80 +2680 +AA80 +73A0 +3CA0 +C060 +ENDCHAR +STARTCHAR U_91FC +ENCODING 37372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +37C0 +4A40 +F240 +2640 +FA40 +2340 +AAC0 +7460 +3D40 +C080 +ENDCHAR +STARTCHAR U_91FD +ENCODING 37373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +5740 +8D40 +7D40 +2540 +FD40 +2540 +AD40 +7520 +3920 +C920 +ENDCHAR +STARTCHAR U_91FE +ENCODING 37374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +37C0 +4A80 +F480 +27E0 +F980 +2280 +AA80 +7480 +3A80 +C100 +ENDCHAR +STARTCHAR U_91FF +ENCODING 37375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +5380 +8A00 +7A00 +23E0 +FA40 +2240 +AA40 +7240 +3440 +C840 +ENDCHAR +STARTCHAR U_9200 +ENCODING 37376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +37C0 +4D40 +F540 +2540 +FFC0 +2400 +AC00 +7420 +3C20 +C3E0 +ENDCHAR +STARTCHAR U_9201 +ENCODING 37377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +8FE0 +7A00 +2200 +FBE0 +2220 +AA20 +7220 +3C20 +C8C0 +ENDCHAR +STARTCHAR U_9202 +ENCODING 37378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5100 +8FE0 +7D20 +2100 +F980 +2180 +AA80 +72A0 +3CA0 +C860 +ENDCHAR +STARTCHAR U_9203 +ENCODING 37379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3240 +4A40 +FA40 +27E0 +FA40 +2240 +AA40 +7240 +3C40 +C840 +ENDCHAR +STARTCHAR U_9204 +ENCODING 37380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +3240 +4940 +F840 +2240 +F940 +20E0 +AF40 +7040 +3840 +C040 +ENDCHAR +STARTCHAR U_9205 +ENCODING 37381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +5220 +8A20 +7BE0 +2220 +FA20 +23E0 +AA20 +7220 +3420 +C860 +ENDCHAR +STARTCHAR U_9206 +ENCODING 37382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5280 +8A40 +7A40 +2420 +F900 +2100 +AA00 +7240 +3C40 +C7E0 +ENDCHAR +STARTCHAR U_9207 +ENCODING 37383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4BE0 +F880 +2080 +FFE0 +2080 +A940 +7140 +3A40 +C420 +ENDCHAR +STARTCHAR U_9208 +ENCODING 37384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +37E0 +4900 +F100 +2380 +FB40 +2520 +A920 +7100 +3900 +C100 +ENDCHAR +STARTCHAR U_9209 +ENCODING 37385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +57E0 +F520 +2520 +FD20 +25A0 +AE60 +7420 +3C20 +C460 +ENDCHAR +STARTCHAR U_920A +ENCODING 37386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +8880 +7200 +2240 +F220 +2A20 +BA00 +6A40 +3240 +C1C0 +ENDCHAR +STARTCHAR U_920B +ENCODING 37387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3280 +4A80 +F2A0 +26A0 +FAC0 +2280 +AB80 +72A0 +3AA0 +C260 +ENDCHAR +STARTCHAR U_920C +ENCODING 37388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4FC0 +F940 +2140 +FFE0 +2100 +A900 +7280 +3440 +C820 +ENDCHAR +STARTCHAR U_920D +ENCODING 37389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +37E0 +4880 +FAA0 +22A0 +FAA0 +23E0 +A880 +70A0 +38A0 +C060 +ENDCHAR +STARTCHAR U_920E +ENCODING 37390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +49E0 +F620 +2120 +F920 +22A0 +ABA0 +7020 +38A0 +C040 +ENDCHAR +STARTCHAR U_920F +ENCODING 37391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23A0 +30A0 +48A0 +FBA0 +2220 +FBA0 +20A0 +A8A0 +70A0 +3AA0 +C120 +ENDCHAR +STARTCHAR U_9210 +ENCODING 37392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4940 +FA20 +2480 +F840 +23E0 +A840 +7040 +3880 +C080 +ENDCHAR +STARTCHAR U_9211 +ENCODING 37393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +3380 +4A00 +FA00 +23E0 +FA20 +2220 +AB40 +7280 +3540 +CA20 +ENDCHAR +STARTCHAR U_9212 +ENCODING 37394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3240 +4A40 +FA80 +22E0 +FA20 +2220 +AB40 +7280 +3540 +CA20 +ENDCHAR +STARTCHAR U_9213 +ENCODING 37395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +3700 +4900 +F100 +2100 +FFE0 +2100 +A900 +7100 +3900 +C7C0 +ENDCHAR +STARTCHAR U_9214 +ENCODING 37396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4880 +FAC0 +22A0 +FC80 +20A0 +A840 +7080 +3900 +C600 +ENDCHAR +STARTCHAR U_9215 +ENCODING 37397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3140 +4940 +F940 +2140 +FFC0 +2240 +AA40 +7240 +3A40 +C7E0 +ENDCHAR +STARTCHAR U_9216 +ENCODING 37398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3280 +4A40 +FA40 +2420 +FBC0 +2140 +A940 +7140 +3A40 +C4C0 +ENDCHAR +STARTCHAR U_9217 +ENCODING 37399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4A40 +FFE0 +2000 +FA80 +2280 +AA80 +72A0 +34A0 +C860 +ENDCHAR +STARTCHAR U_9218 +ENCODING 37400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4FE0 +F100 +2100 +FFC0 +2440 +AA80 +7100 +3AE0 +C440 +ENDCHAR +STARTCHAR U_9219 +ENCODING 37401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +49E0 +F900 +27C0 +FA40 +2240 +AA80 +7100 +3A80 +C460 +ENDCHAR +STARTCHAR U_921A +ENCODING 37402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2480 +5480 +F4A0 +27C0 +FC80 +2480 +AC80 +75A0 +36A0 +C460 +ENDCHAR +STARTCHAR U_921B +ENCODING 37403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3280 +4A40 +F7E0 +2200 +FA40 +2140 +A980 +71A0 +3A60 +C420 +ENDCHAR +STARTCHAR U_921C +ENCODING 37404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4900 +FFE0 +2200 +FA80 +2280 +AD00 +7540 +3A20 +C7E0 +ENDCHAR +STARTCHAR U_921D +ENCODING 37405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3500 +4D00 +F7C0 +2100 +F900 +27E0 +A900 +7100 +3900 +C100 +ENDCHAR +STARTCHAR U_921E +ENCODING 37406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3200 +4BE0 +FC20 +2220 +F920 +20A0 +A920 +7620 +3820 +C0C0 +ENDCHAR +STARTCHAR U_921F +ENCODING 37407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +37C0 +4940 +F140 +27C0 +FD00 +27E0 +A920 +71A0 +3940 +C100 +ENDCHAR +STARTCHAR U_9220 +ENCODING 37408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +3240 +4A40 +F240 +2420 +FBC0 +2240 +A980 +7180 +3A40 +C420 +ENDCHAR +STARTCHAR U_9221 +ENCODING 37409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4880 +F7E0 +24A0 +FCA0 +27E0 +A880 +7080 +3880 +C080 +ENDCHAR +STARTCHAR U_9222 +ENCODING 37410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4900 +F7E0 +2100 +FB80 +2340 +AD20 +7100 +3900 +C100 +ENDCHAR +STARTCHAR U_9223 +ENCODING 37411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3080 +4880 +FAE0 +2280 +FA80 +23E0 +A820 +7020 +3820 +C0C0 +ENDCHAR +STARTCHAR U_9224 +ENCODING 37412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +3220 +4A20 +FA20 +2220 +FBE0 +2220 +AA20 +7220 +3BE0 +C220 +ENDCHAR +STARTCHAR U_9225 +ENCODING 37413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4AA0 +FAA0 +22C0 +F880 +2080 +A940 +7140 +3A20 +C420 +ENDCHAR +STARTCHAR U_9226 +ENCODING 37414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4900 +FFE0 +2100 +F900 +2280 +AA80 +7540 +3540 +C820 +ENDCHAR +STARTCHAR U_9227 +ENCODING 37415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3100 +4FE0 +F800 +2380 +FA80 +2280 +AA80 +72A0 +34A0 +C8E0 +ENDCHAR +STARTCHAR U_9228 +ENCODING 37416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +33C0 +4800 +F000 +27C0 +FA80 +2280 +AA80 +7280 +3AA0 +C460 +ENDCHAR +STARTCHAR U_9229 +ENCODING 37417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3080 +4BE0 +F220 +23E0 +FA00 +2200 +AA00 +7200 +3C00 +C000 +ENDCHAR +STARTCHAR U_922A +ENCODING 37418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +37E0 +4C00 +F5C0 +2540 +FD40 +25C0 +AD00 +7520 +3D20 +C0E0 +ENDCHAR +STARTCHAR U_922B +ENCODING 37419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3100 +4FE0 +F440 +2440 +FA80 +2280 +A900 +7100 +3A80 +C460 +ENDCHAR +STARTCHAR U_922C +ENCODING 37420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +33C0 +4A40 +F240 +23C0 +FA00 +2300 +B280 +6280 +3440 +C820 +ENDCHAR +STARTCHAR U_922D +ENCODING 37421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1160 +5D80 +5120 +59E0 +E600 +1980 +6F60 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_922E +ENCODING 37422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +3220 +4A20 +FBE0 +2200 +FA80 +22A0 +AAC0 +72A0 +3AA0 +C4E0 +ENDCHAR +STARTCHAR U_922F +ENCODING 37423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4AA0 +F2A0 +22A0 +FBE0 +2080 +ACA0 +74A0 +3CA0 +C7E0 +ENDCHAR +STARTCHAR U_9230 +ENCODING 37424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4FE0 +F900 +27E0 +FD20 +2520 +AD20 +7520 +3D60 +C100 +ENDCHAR +STARTCHAR U_9231 +ENCODING 37425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3420 +4FE0 +FC80 +2480 +FFE0 +2480 +AC80 +74A0 +3E60 +C420 +ENDCHAR +STARTCHAR U_9232 +ENCODING 37426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +3740 +4D40 +FD40 +2540 +FD40 +2540 +AD40 +7540 +35A0 +C960 +ENDCHAR +STARTCHAR U_9233 +ENCODING 37427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3040 +4840 +FF40 +2540 +FD40 +2740 +A840 +7040 +3940 +C080 +ENDCHAR +STARTCHAR U_9234 +ENCODING 37428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4940 +FB20 +24A0 +F800 +23E0 +A840 +7180 +3880 +C040 +ENDCHAR +STARTCHAR U_9235 +ENCODING 37429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +37E0 +4900 +F7E0 +2520 +FD20 +26A0 +AE60 +7420 +3CA0 +C440 +ENDCHAR +STARTCHAR U_9236 +ENCODING 37430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +5240 +FA20 +27E0 +F800 +23E0 +AA20 +7220 +3A20 +C3E0 +ENDCHAR +STARTCHAR U_9237 +ENCODING 37431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4880 +FBE0 +2080 +F880 +23E0 +AA20 +7220 +3A20 +C3E0 +ENDCHAR +STARTCHAR U_9238 +ENCODING 37432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +3240 +4FE0 +FA00 +2200 +FBC0 +2240 +AB40 +7480 +3540 +CA20 +ENDCHAR +STARTCHAR U_9239 +ENCODING 37433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4FE0 +FCA0 +2480 +FFE0 +2520 +AD40 +7480 +3940 +CA20 +ENDCHAR +STARTCHAR U_923A +ENCODING 37434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3100 +4900 +F900 +2100 +FFC0 +2100 +A940 +7120 +3900 +CFE0 +ENDCHAR +STARTCHAR U_923B +ENCODING 37435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +33C0 +4A40 +F240 +23C0 +FA00 +23E0 +AA20 +7220 +3BE0 +C220 +ENDCHAR +STARTCHAR U_923C +ENCODING 37436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3200 +4FE0 +F200 +23C0 +FA00 +2200 +ABE0 +7200 +3A00 +C200 +ENDCHAR +STARTCHAR U_923D +ENCODING 37437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +37E0 +4900 +FA80 +27E0 +FAA0 +22A0 +AAA0 +72A0 +3AE0 +C080 +ENDCHAR +STARTCHAR U_923E +ENCODING 37438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4BE0 +FAA0 +22A0 +FAA0 +23E0 +AAA0 +72A0 +3BE0 +C220 +ENDCHAR +STARTCHAR U_923F +ENCODING 37439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +53E0 +8AA0 +7AA0 +22A0 +FBE0 +22A0 +AAA0 +72A0 +3BE0 +C220 +ENDCHAR +STARTCHAR U_9240 +ENCODING 37440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +52A0 +8AA0 +7BE0 +22A0 +FAA0 +23E0 +AAA0 +7080 +3880 +E080 +ENDCHAR +STARTCHAR U_9241 +ENCODING 37441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4A80 +F4C0 +2120 +FE80 +2100 +AE40 +7080 +3900 +C600 +ENDCHAR +STARTCHAR U_9242 +ENCODING 37442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4FC0 +F540 +2540 +FFC0 +2500 +AB00 +7100 +3A80 +CC60 +ENDCHAR +STARTCHAR U_9243 +ENCODING 37443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3200 +4BC0 +F500 +2100 +FFE0 +2100 +AA80 +7280 +3C40 +C820 +ENDCHAR +STARTCHAR U_9244 +ENCODING 37444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3280 +4A80 +F7E0 +2080 +FFE0 +2080 +A940 +7140 +3A20 +C420 +ENDCHAR +STARTCHAR U_9245 +ENCODING 37445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +5200 +8A00 +7BE0 +2220 +FA20 +23E0 +AA20 +7200 +3A00 +E3E0 +ENDCHAR +STARTCHAR U_9246 +ENCODING 37446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5080 +88E0 +7880 +2080 +FBE0 +2220 +AA20 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_9247 +ENCODING 37447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +37E0 +4C00 +F100 +25C0 +FF40 +2540 +AD40 +7580 +3C20 +C3E0 +ENDCHAR +STARTCHAR U_9248 +ENCODING 37448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +8FE0 +7C20 +2200 +FA40 +2280 +AB00 +7220 +3A20 +E1E0 +ENDCHAR +STARTCHAR U_9249 +ENCODING 37449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +8FE0 +7900 +2240 +FB80 +2080 +A900 +7240 +3FA0 +E220 +ENDCHAR +STARTCHAR U_924A +ENCODING 37450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5120 +8920 +7920 +22E0 +FC40 +23E0 +AA20 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_924B +ENCODING 37451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +53E0 +8C20 +7BA0 +22A0 +FAA0 +23A0 +AA40 +7220 +3A20 +E1E0 +ENDCHAR +STARTCHAR U_924C +ENCODING 37452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +53C0 +8880 +7BE0 +2080 +F980 +22C0 +ACA0 +70A0 +3880 +E080 +ENDCHAR +STARTCHAR U_924D +ENCODING 37453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +50A0 +8A20 +7A40 +2640 +FAC0 +22A0 +AB20 +7240 +3A40 +E5C0 +ENDCHAR +STARTCHAR U_924E +ENCODING 37454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5280 +8A80 +7BE0 +2480 +F880 +23E0 +A880 +7080 +3880 +E7E0 +ENDCHAR +STARTCHAR U_924F +ENCODING 37455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +8A40 +7A40 +23C0 +FA40 +2240 +ABC0 +7240 +3A40 +E7E0 +ENDCHAR +STARTCHAR U_9250 +ENCODING 37456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +57E0 +8880 +7900 +2100 +FBE0 +2520 +A920 +7120 +39E0 +E120 +ENDCHAR +STARTCHAR U_9251 +ENCODING 37457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5100 +8BE0 +7A20 +2220 +FBE0 +2220 +AA20 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_9252 +ENCODING 37458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +8BE0 +7880 +2080 +F880 +23E0 +A880 +7080 +3880 +E7E0 +ENDCHAR +STARTCHAR U_9253 +ENCODING 37459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +5200 +8BE0 +7C80 +23E0 +FAA0 +22A0 +AAA0 +72E0 +3880 +E080 +ENDCHAR +STARTCHAR U_9254 +ENCODING 37460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5400 +8C80 +77E0 +26A0 +FEA0 +26A0 +AEE0 +7480 +3C80 +E7E0 +ENDCHAR +STARTCHAR U_9255 +ENCODING 37461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +37E0 +4C00 +F5C0 +2540 +FD40 +2540 +ADC0 +7400 +3C00 +C7E0 +ENDCHAR +STARTCHAR U_9256 +ENCODING 37462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +51E0 +8B40 +7C80 +2140 +FA20 +2520 +A880 +7040 +3B00 +E0C0 +ENDCHAR +STARTCHAR U_9257 +ENCODING 37463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +5240 +8A40 +7FE0 +2240 +FA40 +23C0 +AA40 +7240 +3BC0 +E240 +ENDCHAR +STARTCHAR U_9258 +ENCODING 37464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +3280 +4FE0 +F2A0 +27E0 +FE80 +27E0 +AAA0 +72A0 +3AE0 +C480 +ENDCHAR +STARTCHAR U_9259 +ENCODING 37465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +33E0 +4A20 +F220 +2220 +FBE0 +2000 +A940 +7120 +3A20 +C420 +ENDCHAR +STARTCHAR U_925A +ENCODING 37466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +5AE0 +8AA0 +7AA0 +2AA0 +FAA0 +2EA0 +B2A0 +62E0 +3480 +C880 +ENDCHAR +STARTCHAR U_925B +ENCODING 37467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +8A40 +7A40 +2460 +F800 +23E0 +AA20 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_925C +ENCODING 37468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +3240 +4A40 +F7E0 +2440 +FE40 +2540 +AD40 +7440 +3D40 +C480 +ENDCHAR +STARTCHAR U_925D +ENCODING 37469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3100 +4880 +F7E0 +2000 +FA20 +2120 +A940 +7140 +3800 +C7E0 +ENDCHAR +STARTCHAR U_925E +ENCODING 37470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +50A0 +8FE0 +7C80 +24A0 +FCA0 +24A0 +ACC0 +76A0 +3D60 +E220 +ENDCHAR +STARTCHAR U_925F +ENCODING 37471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +37E0 +4880 +F500 +2100 +FB80 +2540 +A920 +7100 +3900 +C7E0 +ENDCHAR +STARTCHAR U_9260 +ENCODING 37472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5080 +8BE0 +7AA0 +22A0 +FAA0 +27E0 +A880 +7140 +3A20 +E420 +ENDCHAR +STARTCHAR U_9261 +ENCODING 37473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +52A0 +89C0 +7880 +23E0 +F880 +23E0 +A880 +7080 +3880 +E080 +ENDCHAR +STARTCHAR U_9262 +ENCODING 37474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4900 +F7C0 +2100 +FB80 +2540 +A940 +73A0 +3900 +C100 +ENDCHAR +STARTCHAR U_9263 +ENCODING 37475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5080 +8FE0 +7880 +2080 +FFE0 +2100 +A900 +7240 +3FA0 +E420 +ENDCHAR +STARTCHAR U_9264 +ENCODING 37476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +5200 +8BE0 +7C20 +23A0 +FAA0 +22A0 +ABA0 +7020 +3920 +E0C0 +ENDCHAR +STARTCHAR U_9265 +ENCODING 37477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +3120 +4FE0 +F900 +2380 +FB80 +2540 +AD40 +7520 +3900 +E100 +ENDCHAR +STARTCHAR U_9266 +ENCODING 37478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +57E0 +8880 +7880 +2280 +FAE0 +2280 +AA80 +7280 +3A80 +E7E0 +ENDCHAR +STARTCHAR U_9267 +ENCODING 37479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +8D40 +7D40 +27E0 +FC40 +2540 +AD40 +77E0 +3840 +E180 +ENDCHAR +STARTCHAR U_9268 +ENCODING 37480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3200 +4BE0 +F440 +2100 +F540 +2540 +A920 +7120 +3900 +C300 +ENDCHAR +STARTCHAR U_9269 +ENCODING 37481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4A80 +F460 +2100 +F540 +2540 +A920 +7120 +3900 +C300 +ENDCHAR +STARTCHAR U_926A +ENCODING 37482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +3540 +4D40 +F540 +2FE0 +F540 +2540 +ADC0 +7400 +3C00 +C7E0 +ENDCHAR +STARTCHAR U_926B +ENCODING 37483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3400 +4CE0 +FFA0 +25A0 +F5A0 +25A0 +ADA0 +75A0 +39E0 +CB00 +ENDCHAR +STARTCHAR U_926C +ENCODING 37484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +5220 +8A20 +7BE0 +2220 +FA20 +23E0 +AA20 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_926D +ENCODING 37485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +53E0 +8A20 +7A20 +23E0 +FA20 +2220 +ABE0 +7220 +3800 +E7E0 +ENDCHAR +STARTCHAR U_926E +ENCODING 37486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3080 +4FE0 +F4A0 +27E0 +FCA0 +27E0 +A880 +7080 +3880 +C080 +ENDCHAR +STARTCHAR U_926F +ENCODING 37487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +5440 +8D40 +7CC0 +2440 +FC40 +2540 +AE40 +74C0 +3920 +E220 +ENDCHAR +STARTCHAR U_9270 +ENCODING 37488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5020 +8BA0 +7820 +23A0 +FAA0 +22A0 +ABA0 +7020 +3820 +E0E0 +ENDCHAR +STARTCHAR U_9271 +ENCODING 37489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3080 +4FE0 +F400 +2480 +FC80 +2480 +AD00 +7540 +3BE0 +C820 +ENDCHAR +STARTCHAR U_9272 +ENCODING 37490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5100 +89E0 +7900 +27E0 +F900 +2100 +A980 +7140 +3920 +E100 +ENDCHAR +STARTCHAR U_9273 +ENCODING 37491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +3280 +4A80 +F6E0 +2280 +FA80 +2280 +AA80 +7680 +3AA0 +C260 +ENDCHAR +STARTCHAR U_9274 +ENCODING 37492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +93E0 +9500 +9480 +0A00 +3180 +DF60 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_9275 +ENCODING 37493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4900 +F7C0 +2540 +FD40 +27C0 +A900 +7140 +39E0 +C620 +ENDCHAR +STARTCHAR U_9276 +ENCODING 37494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F20 +5A20 +8AA0 +FAA0 +4FA0 +FAA0 +4AA0 +5AA0 +EA20 +4A20 +F260 +ENDCHAR +STARTCHAR U_9277 +ENCODING 37495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3240 +4A40 +F7E0 +2240 +FA40 +27E0 +A800 +7240 +3A20 +C420 +ENDCHAR +STARTCHAR U_9278 +ENCODING 37496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +8FE0 +7A40 +2420 +FA40 +2140 +A880 +7180 +3A40 +E420 +ENDCHAR +STARTCHAR U_9279 +ENCODING 37497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +51E0 +8A20 +7940 +2080 +FB80 +20E0 +AB20 +70A0 +3C40 +E380 +ENDCHAR +STARTCHAR U_927A +ENCODING 37498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5240 +8A40 +7BC0 +2240 +FBC0 +2240 +AA60 +77C0 +3840 +E040 +ENDCHAR +STARTCHAR U_927B +ENCODING 37499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +53C0 +8C40 +7A80 +2180 +FA40 +27E0 +AA40 +7240 +3BC0 +E240 +ENDCHAR +STARTCHAR U_927C +ENCODING 37500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +5140 +8FE0 +7940 +2140 +F940 +27E0 +A940 +7140 +3A40 +E440 +ENDCHAR +STARTCHAR U_927D +ENCODING 37501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +50A0 +8FE0 +7880 +2780 +FA80 +2280 +AAA0 +73A0 +3C60 +E020 +ENDCHAR +STARTCHAR U_927E +ENCODING 37502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5240 +8FA0 +7820 +2280 +FBE0 +2480 +AFE0 +7080 +3880 +E080 +ENDCHAR +STARTCHAR U_927F +ENCODING 37503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5140 +8A20 +7C00 +23E0 +F800 +23E0 +AA20 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_9280 +ENCODING 37504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +8FC0 +7C40 +27C0 +FD00 +2520 +AD40 +7480 +3D40 +E620 +ENDCHAR +STARTCHAR U_9281 +ENCODING 37505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +33E0 +4C20 +F3A0 +22A0 +FBA0 +22A0 +ABA0 +7020 +3CA0 +C040 +ENDCHAR +STARTCHAR U_9282 +ENCODING 37506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +52A0 +8AA0 +7AA0 +27E0 +FAA0 +22A0 +AAA0 +72A0 +3CA0 +E0A0 +ENDCHAR +STARTCHAR U_9283 +ENCODING 37507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8900 +7A40 +27A0 +F800 +2280 +AA80 +72A0 +3AA0 +E460 +ENDCHAR +STARTCHAR U_9284 +ENCODING 37508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3200 +4FE0 +F420 +25E0 +FD60 +2560 +ADE0 +7420 +3C20 +C460 +ENDCHAR +STARTCHAR U_9285 +ENCODING 37509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5420 +8FA0 +7C20 +27A0 +FEA0 +26A0 +AFA0 +7420 +3C20 +E460 +ENDCHAR +STARTCHAR U_9286 +ENCODING 37510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5080 +8900 +7BE0 +2220 +FA20 +23E0 +AA20 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_9287 +ENCODING 37511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +57E0 +8880 +7BE0 +2080 +FFE0 +2080 +A9C0 +72A0 +3CA0 +E080 +ENDCHAR +STARTCHAR U_9288 +ENCODING 37512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5100 +8FC0 +7900 +27E0 +F900 +2100 +AFC0 +7100 +3900 +E7E0 +ENDCHAR +STARTCHAR U_9289 +ENCODING 37513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +33C0 +4940 +F7E0 +2140 +FBC0 +2100 +ABC0 +7100 +3BE0 +C100 +ENDCHAR +STARTCHAR U_928A +ENCODING 37514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +50A0 +8FE0 +7C80 +24A0 +FEA0 +24C0 +AC80 +74A0 +3D60 +E220 +ENDCHAR +STARTCHAR U_928B +ENCODING 37515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +5220 +8DC0 +7C80 +2480 +FFE0 +2480 +AC80 +7480 +3C80 +E7E0 +ENDCHAR +STARTCHAR U_928C +ENCODING 37516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8900 +7AE0 +2220 +FA40 +23E0 +AA40 +7240 +3A40 +E2C0 +ENDCHAR +STARTCHAR U_928D +ENCODING 37517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5100 +8900 +7A40 +27A0 +F920 +2100 +AFC0 +7100 +3900 +E7E0 +ENDCHAR +STARTCHAR U_928E +ENCODING 37518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF80 +2480 +3EA0 +E5A0 +06E0 +3180 +DF60 +0400 +7FC0 +2480 +FFE0 +ENDCHAR +STARTCHAR U_928F +ENCODING 37519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2EE0 +5AA0 +FAA0 +2AA0 +FFE0 +2AA0 +BAA0 +6AA0 +3AA0 +D760 +ENDCHAR +STARTCHAR U_9290 +ENCODING 37520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE40 +2140 +7940 +A940 +3440 +CAC0 +3F80 +C460 +3F80 +1500 +FFE0 +ENDCHAR +STARTCHAR U_9291 +ENCODING 37521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5500 +8FC0 +7900 +2100 +FFE0 +2280 +AA80 +72A0 +3CA0 +E060 +ENDCHAR +STARTCHAR U_9292 +ENCODING 37522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +36E0 +4C40 +F440 +2EE0 +FC40 +2440 +A440 +7440 +3C40 +C840 +ENDCHAR +STARTCHAR U_9293 +ENCODING 37523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3280 +4C40 +F820 +27C0 +F900 +2100 +B7C0 +6100 +3900 +C7E0 +ENDCHAR +STARTCHAR U_9294 +ENCODING 37524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5080 +89C0 +7AA0 +24A0 +F800 +2080 +B7E0 +6080 +3880 +C080 +ENDCHAR +STARTCHAR U_9295 +ENCODING 37525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8900 +7FE0 +2120 +FFE0 +2500 +AFE0 +7160 +3A80 +EC60 +ENDCHAR +STARTCHAR U_9296 +ENCODING 37526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5280 +8BE0 +7C80 +2080 +FFE0 +2180 +AAC0 +74A0 +38A0 +E080 +ENDCHAR +STARTCHAR U_9297 +ENCODING 37527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +53C0 +8A00 +7BE0 +2200 +FA00 +23E0 +AB20 +7520 +3DE0 +E120 +ENDCHAR +STARTCHAR U_9298 +ENCODING 37528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +51E0 +8A20 +7D40 +2080 +F900 +23E0 +AE20 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_9299 +ENCODING 37529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8A40 +7DA0 +2000 +FBE0 +2100 +ABE0 +7020 +3920 +E0C0 +ENDCHAR +STARTCHAR U_929A +ENCODING 37530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +52A0 +8EA0 +7AC0 +2280 +FAC0 +26A0 +AA80 +72A0 +3CA0 +E060 +ENDCHAR +STARTCHAR U_929B +ENCODING 37531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +5380 +8880 +7BE0 +2080 +F880 +23E0 +AA20 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_929C +ENCODING 37532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +4A00 +9F00 +24E0 +5F40 +4440 +D540 +4E40 +4440 +4740 +58C0 +ENDCHAR +STARTCHAR U_929D +ENCODING 37533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5280 +8C80 +7FE0 +2480 +FC80 +25C0 +AEA0 +74A0 +3C80 +E480 +ENDCHAR +STARTCHAR U_929E +ENCODING 37534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +6140 +BF40 +2140 +3F40 +0AC0 +1F00 +E4E0 +3F80 +1500 +FFE0 +ENDCHAR +STARTCHAR U_929F +ENCODING 37535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +32A0 +4AA0 +F3E0 +2080 +FBE0 +22A0 +AAA0 +72A0 +3AE0 +C080 +ENDCHAR +STARTCHAR U_92A0 +ENCODING 37536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57A0 +8940 +7980 +27E0 +FA00 +2240 +AF80 +7220 +3A20 +E1E0 +ENDCHAR +STARTCHAR U_92A1 +ENCODING 37537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5080 +8FE0 +7880 +23E0 +F800 +23E0 +AA20 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_92A2 +ENCODING 37538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5000 +8FE0 +7800 +20A0 +FFC0 +2280 +AAC0 +74A0 +3AA0 +E100 +ENDCHAR +STARTCHAR U_92A3 +ENCODING 37539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +64E0 +9FA0 +EAA0 +4AA0 +FAA0 +4AA0 +E4A0 +46A0 +75E0 +88A0 +ENDCHAR +STARTCHAR U_92A4 +ENCODING 37540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +52A0 +89C0 +7880 +27E0 +F880 +21C0 +AAA0 +74A0 +3880 +E080 +ENDCHAR +STARTCHAR U_92A5 +ENCODING 37541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +8FE0 +7880 +21A0 +FAC0 +2680 +AA40 +7240 +3AA0 +E320 +ENDCHAR +STARTCHAR U_92A6 +ENCODING 37542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +54A0 +8CA0 +7FE0 +24A0 +FCA0 +24A0 +AD60 +7620 +3FE0 +E420 +ENDCHAR +STARTCHAR U_92A7 +ENCODING 37543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5520 +8B40 +7900 +27E0 +FA80 +2280 +AA80 +72A0 +3CA0 +E060 +ENDCHAR +STARTCHAR U_92A8 +ENCODING 37544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +8FE0 +7D20 +2100 +FFE0 +2240 +AA40 +7180 +3940 +E620 +ENDCHAR +STARTCHAR U_92A9 +ENCODING 37545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +5780 +8880 +7BE0 +2080 +FFE0 +2080 +A900 +7240 +3CE0 +E720 +ENDCHAR +STARTCHAR U_92AA +ENCODING 37546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5100 +8FE0 +7A00 +23E0 +FE20 +23E0 +AA20 +73E0 +3A20 +E260 +ENDCHAR +STARTCHAR U_92AB +ENCODING 37547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +53C0 +8A80 +7FE0 +22A0 +FAA0 +23E0 +AA00 +7220 +3A20 +E1E0 +ENDCHAR +STARTCHAR U_92AC +ENCODING 37548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +53A0 +8940 +7FE0 +2100 +FBE0 +2500 +A9E0 +7020 +3920 +E0C0 +ENDCHAR +STARTCHAR U_92AD +ENCODING 37549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +3240 +4BE0 +F600 +23E0 +F600 +23E0 +AE80 +7120 +3AA0 +C460 +ENDCHAR +STARTCHAR U_92AE +ENCODING 37550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0900 +2940 +4620 +0900 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_92AF +ENCODING 37551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4A40 +F7C0 +2100 +FA40 +27E0 +A920 +7540 +3520 +CB20 +ENDCHAR +STARTCHAR U_92B0 +ENCODING 37552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +3240 +4FE0 +F240 +2000 +FA40 +2240 +A940 +7080 +3940 +C620 +ENDCHAR +STARTCHAR U_92B1 +ENCODING 37553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3440 +4C40 +F7C0 +2100 +FFE0 +2520 +AD20 +7520 +3D60 +C100 +ENDCHAR +STARTCHAR U_92B2 +ENCODING 37554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +5220 +8BE0 +7A20 +23E0 +F800 +23E0 +A880 +77E0 +3880 +E080 +ENDCHAR +STARTCHAR U_92B3 +ENCODING 37555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5440 +8FE0 +7C40 +2440 +FFC0 +2280 +AA80 +72A0 +3AA0 +E460 +ENDCHAR +STARTCHAR U_92B4 +ENCODING 37556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA00 +23E0 +F280 +2480 +6A80 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_92B5 +ENCODING 37557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +53E0 +8A20 +7BE0 +2220 +FBE0 +2220 +AFE0 +7120 +3A20 +E4E0 +ENDCHAR +STARTCHAR U_92B6 +ENCODING 37558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +5120 +8FE0 +7900 +2520 +FB40 +2180 +AB40 +7540 +3920 +E320 +ENDCHAR +STARTCHAR U_92B7 +ENCODING 37559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +52A0 +89C0 +7880 +23E0 +FA20 +23E0 +AA20 +73E0 +3A20 +E260 +ENDCHAR +STARTCHAR U_92B8 +ENCODING 37560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4A00 +FA80 +2E80 +FA80 +2E80 +BB80 +6EA0 +32A0 +C2E0 +ENDCHAR +STARTCHAR U_92B9 +ENCODING 37561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5100 +8FE0 +7980 +2340 +FD20 +27C0 +AA40 +72E0 +3A20 +E4C0 +ENDCHAR +STARTCHAR U_92BA +ENCODING 37562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2900 +7FE0 +0900 +7BC0 +2C00 +DF00 +24E0 +DF80 +1500 +7FC0 +ENDCHAR +STARTCHAR U_92BB +ENCODING 37563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5280 +8FE0 +7920 +27E0 +FD00 +27E0 +A920 +7360 +3D00 +E100 +ENDCHAR +STARTCHAR U_92BC +ENCODING 37564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5540 +8D40 +7D40 +23A0 +F920 +2100 +AFC0 +7100 +3900 +EFE0 +ENDCHAR +STARTCHAR U_92BD +ENCODING 37565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +3780 +4C80 +F7E0 +2480 +FE60 +2020 +AFC0 +7440 +3C40 +C7C0 +ENDCHAR +STARTCHAR U_92BE +ENCODING 37566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3100 +4FE0 +F000 +2100 +F740 +2380 +AB40 +7520 +3900 +C300 +ENDCHAR +STARTCHAR U_92BF +ENCODING 37567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3280 +4900 +F7E0 +2520 +FFE0 +2520 +AFE0 +7520 +3D20 +C440 +ENDCHAR +STARTCHAR U_92C0 +ENCODING 37568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5000 +8BC0 +7A40 +2240 +FBC0 +2000 +AA20 +7140 +3880 +E7E0 +ENDCHAR +STARTCHAR U_92C1 +ENCODING 37569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +5220 +8A20 +7BE0 +2000 +F800 +27E0 +AC20 +7420 +3FE0 +E420 +ENDCHAR +STARTCHAR U_92C2 +ENCODING 37570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +53E0 +8C00 +7BE0 +22A0 +FFE0 +22A0 +AAA0 +77E0 +3820 +E0C0 +ENDCHAR +STARTCHAR U_92C3 +ENCODING 37571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +53E0 +8A20 +7BE0 +2220 +FBE0 +2280 +AAA0 +7240 +3AA0 +E320 +ENDCHAR +STARTCHAR U_92C4 +ENCODING 37572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5080 +8AA0 +7CC0 +2180 +FA40 +2420 +ABE0 +7240 +3980 +E660 +ENDCHAR +STARTCHAR U_92C5 +ENCODING 37573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +8FE0 +7A20 +2140 +FFE0 +2080 +ABE0 +7080 +3880 +E080 +ENDCHAR +STARTCHAR U_92C6 +ENCODING 37574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +2520 +20A0 +F720 +0A40 +7FE0 +0400 +3FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_92C7 +ENCODING 37575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +5220 +8A20 +7BE0 +2220 +FBE0 +2220 +ABE0 +7080 +3940 +E620 +ENDCHAR +STARTCHAR U_92C8 +ENCODING 37576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +A200 +5FE0 +C500 +58E0 +4A00 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_92C9 +ENCODING 37577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8900 +7FE0 +2520 +FFE0 +2520 +A900 +7380 +3D40 +E520 +ENDCHAR +STARTCHAR U_92CA +ENCODING 37578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5240 +8C20 +7980 +2240 +FC20 +23C0 +AA40 +7240 +3BC0 +E240 +ENDCHAR +STARTCHAR U_92CB +ENCODING 37579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E20 +52C0 +8A40 +7440 +2F60 +F340 +2540 +AD40 +75E0 +2A00 +F1E0 +ENDCHAR +STARTCHAR U_92CC +ENCODING 37580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E20 +53C0 +8A40 +FA40 +27E0 +FA40 +2240 +AFE0 +7200 +2500 +F8E0 +ENDCHAR +STARTCHAR U_92CD +ENCODING 37581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8900 +7FE0 +2820 +FBC0 +2040 +AFE0 +7080 +3A80 +E100 +ENDCHAR +STARTCHAR U_92CE +ENCODING 37582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8C20 +7BC0 +2000 +FFE0 +2280 +AA80 +72A0 +3CA0 +E060 +ENDCHAR +STARTCHAR U_92CF +ENCODING 37583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8940 +7D40 +2540 +FBA0 +2100 +A900 +7180 +3A40 +E420 +ENDCHAR +STARTCHAR U_92D0 +ENCODING 37584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8C20 +7900 +27E0 +F900 +2140 +AA40 +7280 +3D20 +E3E0 +ENDCHAR +STARTCHAR U_92D1 +ENCODING 37585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5240 +8FE0 +7940 +2220 +F900 +23C0 +AD40 +7080 +3940 +E620 +ENDCHAR +STARTCHAR U_92D2 +ENCODING 37586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +5340 +8C80 +7B60 +2080 +FFE0 +2080 +ABE0 +7080 +3FE0 +E080 +ENDCHAR +STARTCHAR U_92D3 +ENCODING 37587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2120 +5620 +8AA0 +7AA0 +27A0 +FAA0 +27A0 +AAA0 +7220 +3A20 +E260 +ENDCHAR +STARTCHAR U_92D4 +ENCODING 37588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +33C0 +4C80 +F7E0 +2520 +FFE0 +2280 +AA80 +72A0 +3AA0 +C4E0 +ENDCHAR +STARTCHAR U_92D5 +ENCODING 37589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5080 +8FE0 +7880 +2080 +FBE0 +2080 +A940 +7320 +3D40 +E1C0 +ENDCHAR +STARTCHAR U_92D6 +ENCODING 37590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3520 +4AC0 +F100 +2100 +FFE0 +2240 +AC40 +7280 +3900 +C6E0 +ENDCHAR +STARTCHAR U_92D7 +ENCODING 37591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +8BC0 +7800 +27E0 +FC20 +27E0 +AC20 +77E0 +3C20 +E460 +ENDCHAR +STARTCHAR U_92D8 +ENCODING 37592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +8A40 +7BC0 +2000 +FBC0 +2100 +AFE0 +7100 +3A80 +E460 +ENDCHAR +STARTCHAR U_92D9 +ENCODING 37593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5080 +8BC0 +7940 +2140 +FFE0 +2000 +ABE0 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_92DA +ENCODING 37594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +5640 +D980 +5660 +5900 +EEE0 +0400 +3F80 +1500 +FFC0 +ENDCHAR +STARTCHAR U_92DB +ENCODING 37595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37C0 +4D40 +F7C0 +2100 +FFE0 +2520 +AD20 +77E0 +3900 +C100 +ENDCHAR +STARTCHAR U_92DC +ENCODING 37596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3440 +4C40 +F7C0 +2100 +F900 +25C0 +AD00 +7500 +3B00 +C8E0 +ENDCHAR +STARTCHAR U_92DD +ENCODING 37597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +57A0 +8D20 +7AC0 +2040 +FFE0 +2440 +AA40 +7240 +3940 +E080 +ENDCHAR +STARTCHAR U_92DE +ENCODING 37598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +52A0 +8AA0 +7D40 +22A0 +FAA0 +2000 +ABE0 +7080 +3880 +E7E0 +ENDCHAR +STARTCHAR U_92DF +ENCODING 37599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5040 +8BC0 +7840 +27E0 +FC20 +23C0 +AA40 +7180 +3A40 +E420 +ENDCHAR +STARTCHAR U_92E0 +ENCODING 37600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5400 +8DC0 +7C00 +27E0 +FD00 +25A0 +AD40 +7540 +3DA0 +E520 +ENDCHAR +STARTCHAR U_92E1 +ENCODING 37601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5280 +8D40 +78A0 +27C0 +F840 +2080 +ABE0 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_92E2 +ENCODING 37602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +3720 +4D40 +F280 +27C0 +F880 +2100 +AFE0 +7100 +3900 +C300 +ENDCHAR +STARTCHAR U_92E3 +ENCODING 37603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +52A0 +FAA0 +2FC0 +F2A0 +2AA0 +B6A0 +6AC0 +2A80 +D680 +ENDCHAR +STARTCHAR U_92E4 +ENCODING 37604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +5A80 +8A80 +7FE0 +2AA0 +FEA0 +2AA0 +ABA0 +7EA0 +3920 +E240 +ENDCHAR +STARTCHAR U_92E5 +ENCODING 37605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3440 +4C40 +F7C0 +2000 +F7C0 +2100 +B7C0 +6100 +3100 +CFE0 +ENDCHAR +STARTCHAR U_92E6 +ENCODING 37606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +8FC0 +7C00 +27E0 +FC20 +27A0 +AEA0 +77A0 +3C20 +E0C0 +ENDCHAR +STARTCHAR U_92E7 +ENCODING 37607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +8FC0 +7C40 +27C0 +FC40 +27C0 +AA80 +72A0 +3AA0 +E460 +ENDCHAR +STARTCHAR U_92E8 +ENCODING 37608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +56C0 +8AA0 +7FE0 +2280 +FAA0 +23A0 +AEC0 +72A0 +3B60 +E620 +ENDCHAR +STARTCHAR U_92E9 +ENCODING 37609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57E0 +8A40 +7900 +2080 +FFE0 +2200 +AA00 +7200 +3A00 +E3E0 +ENDCHAR +STARTCHAR U_92EA +ENCODING 37610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +5120 +8FE0 +7900 +27E0 +FD20 +27E0 +AD20 +77E0 +3D20 +E560 +ENDCHAR +STARTCHAR U_92EB +ENCODING 37611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +1140 +FD40 +3940 +D4C0 +3B00 +CEE0 +0400 +3F80 +1500 +FFE0 +ENDCHAR +STARTCHAR U_92EC +ENCODING 37612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +F400 +27C0 +F540 +2480 +6B60 +1E80 +E460 +3F80 +1500 +7FC0 +ENDCHAR +STARTCHAR U_92ED +ENCODING 37613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +3280 +4FC0 +F440 +2440 +FFC0 +2280 +B280 +62A0 +3AA0 +C460 +ENDCHAR +STARTCHAR U_92EE +ENCODING 37614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +20A0 +5FE0 +F880 +2880 +FEA0 +2AA0 +BAC0 +6AA0 +3D60 +D220 +ENDCHAR +STARTCHAR U_92EF +ENCODING 37615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5280 +8BE0 +7C80 +2080 +FFE0 +2000 +ABE0 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_92F0 +ENCODING 37616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +52A0 +8AA0 +7BE0 +22A0 +FBE0 +2080 +ABE0 +7080 +3880 +E7E0 +ENDCHAR +STARTCHAR U_92F1 +ENCODING 37617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +5040 +8FE0 +7A40 +2140 +FA40 +22C0 +AA40 +7640 +3AA0 +E3A0 +ENDCHAR +STARTCHAR U_92F2 +ENCODING 37618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +3700 +4C00 +F400 +27C0 +FC80 +2480 +AFE0 +7280 +3440 +C820 +ENDCHAR +STARTCHAR U_92F3 +ENCODING 37619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4900 +F7C0 +2200 +FFE0 +2280 +AFE0 +7480 +3A80 +C100 +ENDCHAR +STARTCHAR U_92F4 +ENCODING 37620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4900 +F7C0 +2440 +FFC0 +2280 +AA80 +7280 +3AA0 +C460 +ENDCHAR +STARTCHAR U_92F5 +ENCODING 37621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +3700 +4900 +F7E0 +2380 +F540 +2920 +B780 +64A0 +34A0 +C860 +ENDCHAR +STARTCHAR U_92F6 +ENCODING 37622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3100 +4FE0 +F200 +2480 +FFC0 +2A80 +BA80 +6AA0 +32A0 +D060 +ENDCHAR +STARTCHAR U_92F7 +ENCODING 37623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F00 +AA00 +1FE0 +FAA0 +4AA0 +FEA0 +4AA0 +5BA0 +EE40 +42A0 +F320 +ENDCHAR +STARTCHAR U_92F8 +ENCODING 37624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5420 +8FE0 +7C80 +2480 +FFE0 +2480 +B7E0 +6A20 +3A20 +CBE0 +ENDCHAR +STARTCHAR U_92F9 +ENCODING 37625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +5200 +8BC0 +7A00 +23C0 +FA00 +27E0 +AAA0 +7240 +3AA0 +E320 +ENDCHAR +STARTCHAR U_92FA +ENCODING 37626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +8FE0 +7A20 +27C0 +FD40 +2740 +B9C0 +6280 +3AA0 +C460 +ENDCHAR +STARTCHAR U_92FB +ENCODING 37627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A240 +F940 +8880 +FD60 +AA00 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_92FC +ENCODING 37628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5AA0 +8920 +FFE0 +2920 +FD60 +2D60 +BFE0 +6820 +2820 +F860 +ENDCHAR +STARTCHAR U_92FD +ENCODING 37629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +31C0 +4900 +F7C0 +2440 +F7C0 +2440 +B7C0 +6100 +3FE0 +C100 +ENDCHAR +STARTCHAR U_92FE +ENCODING 37630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +53E0 +8C20 +7A20 +23E0 +FD20 +27E0 +AD60 +77E0 +3820 +E0C0 +ENDCHAR +STARTCHAR U_92FF +ENCODING 37631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24A0 +52C0 +8880 +7FE0 +2420 +FDE0 +2560 +ADE0 +7420 +3C20 +E460 +ENDCHAR +STARTCHAR U_9300 +ENCODING 37632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +5440 +FBA0 +2000 +FFE0 +2AA0 +BFE0 +6AA0 +3AA0 +C860 +ENDCHAR +STARTCHAR U_9301 +ENCODING 37633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +54A0 +8FE0 +7CA0 +27E0 +F880 +27E0 +A880 +71C0 +3AA0 +E4A0 +ENDCHAR +STARTCHAR U_9302 +ENCODING 37634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +8900 +77E0 +2240 +F520 +23C0 +AE40 +7180 +3180 +C660 +ENDCHAR +STARTCHAR U_9303 +ENCODING 37635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +17E0 +44A0 +17C0 +6540 +2C80 +1B40 +E4E0 +3F80 +1500 +7FE0 +ENDCHAR +STARTCHAR U_9304 +ENCODING 37636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +8BC0 +7840 +27E0 +F880 +22A0 +A9C0 +72A0 +3CA0 +E180 +ENDCHAR +STARTCHAR U_9305 +ENCODING 37637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +11E0 +FEA0 +38A0 +5520 +9B60 +3E80 +C460 +3F80 +1500 +7FE0 +ENDCHAR +STARTCHAR U_9306 +ENCODING 37638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8900 +7FC0 +2100 +FFE0 +2440 +AFC0 +7440 +3FC0 +E4C0 +ENDCHAR +STARTCHAR U_9307 +ENCODING 37639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3100 +4FE0 +F440 +2280 +FFE0 +2000 +AFC0 +7440 +3C40 +C7C0 +ENDCHAR +STARTCHAR U_9308 +ENCODING 37640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +5340 +8FE0 +7900 +27E0 +FA40 +27E0 +AA40 +72C0 +3A20 +E1E0 +ENDCHAR +STARTCHAR U_9309 +ENCODING 37641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5480 +8FE0 +7C80 +2540 +FE20 +23E0 +AA20 +73E0 +3A20 +E3E0 +ENDCHAR +STARTCHAR U_930A +ENCODING 37642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3100 +4FE0 +F440 +2440 +FAA0 +2100 +AFE0 +7100 +3900 +C100 +ENDCHAR +STARTCHAR U_930B +ENCODING 37643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +5AA0 +8AA0 +FEE0 +2AA0 +FAA0 +2EE0 +BAA0 +6AA0 +2AA0 +F560 +ENDCHAR +STARTCHAR U_930C +ENCODING 37644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +52A0 +8BE0 +7800 +27E0 +FC00 +25C0 +AC80 +77E0 +3C80 +E480 +ENDCHAR +STARTCHAR U_930D +ENCODING 37645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8CA0 +7FE0 +24A0 +FFE0 +2280 +AC80 +77E0 +3880 +E080 +ENDCHAR +STARTCHAR U_930E +ENCODING 37646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +53E0 +8C40 +7880 +2360 +FC20 +2420 +AF60 +7420 +3FE0 +E420 +ENDCHAR +STARTCHAR U_930F +ENCODING 37647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5280 +8A80 +7EE0 +2420 +FC20 +2420 +AEE0 +7280 +3A80 +EFE0 +ENDCHAR +STARTCHAR U_9310 +ENCODING 37648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5280 +8FE0 +7A80 +23E0 +FA80 +2280 +ABE0 +7280 +3A80 +E3E0 +ENDCHAR +STARTCHAR U_9311 +ENCODING 37649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4C20 +F7E0 +2540 +FD20 +27E0 +B500 +6900 +2A80 +D460 +ENDCHAR +STARTCHAR U_9312 +ENCODING 37650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5A20 +8A20 +7DE0 +2B60 +FB60 +2B60 +ADE0 +7820 +3820 +E860 +ENDCHAR +STARTCHAR U_9313 +ENCODING 37651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5280 +8FE0 +7900 +27E0 +F900 +27E0 +AA80 +72A0 +3CA0 +E060 +ENDCHAR +STARTCHAR U_9314 +ENCODING 37652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +57A0 +8AC0 +7AA0 +24A0 +FBE0 +2220 +ABE0 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_9315 +ENCODING 37653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +8FC0 +7C40 +27C0 +FC80 +24A0 +AFC0 +74A0 +3DA0 +E6E0 +ENDCHAR +STARTCHAR U_9316 +ENCODING 37654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +2120 +FCC0 +6940 +AE20 +3100 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_9317 +ENCODING 37655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3100 +4FE0 +F380 +2540 +F920 +27E0 +AA40 +7680 +3980 +C660 +ENDCHAR +STARTCHAR U_9318 +ENCODING 37656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +5780 +8900 +7FE0 +2540 +FFE0 +2540 +AD40 +77E0 +3900 +E7C0 +ENDCHAR +STARTCHAR U_9319 +ENCODING 37657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +52A0 +8D40 +7AA0 +22A0 +FFE0 +24A0 +AFE0 +74A0 +3FE0 +E420 +ENDCHAR +STARTCHAR U_931A +ENCODING 37658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +53C0 +8480 +77C0 +2140 +FFE0 +2140 +B7C0 +6100 +3900 +C300 +ENDCHAR +STARTCHAR U_931B +ENCODING 37659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8A40 +7D20 +27C0 +F900 +2240 +AFE0 +7240 +3A40 +E440 +ENDCHAR +STARTCHAR U_931C +ENCODING 37660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4A80 +F560 +2080 +F7C0 +2080 +A940 +7220 +3640 +C9C0 +ENDCHAR +STARTCHAR U_931D +ENCODING 37661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8C20 +7BC0 +2000 +FFE0 +2100 +AB40 +7520 +3920 +E300 +ENDCHAR +STARTCHAR U_931E +ENCODING 37662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8A40 +7BC0 +2000 +FFE0 +2040 +A880 +77E0 +3880 +E180 +ENDCHAR +STARTCHAR U_931F +ENCODING 37663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +52C0 +8C80 +7940 +22A0 +FC80 +22A0 +AAC0 +7480 +3940 +E620 +ENDCHAR +STARTCHAR U_9320 +ENCODING 37664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8C20 +7800 +27E0 +F880 +2280 +AAE0 +7280 +3D80 +E0E0 +ENDCHAR +STARTCHAR U_9321 +ENCODING 37665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8A80 +7C40 +27E0 +F840 +2740 +AD40 +7740 +3840 +E1C0 +ENDCHAR +STARTCHAR U_9322 +ENCODING 37666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +3240 +4FC0 +F940 +21A0 +FE60 +2A40 +B7E0 +6140 +39A0 +C660 +ENDCHAR +STARTCHAR U_9323 +ENCODING 37667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5520 +8AC0 +7A40 +25A0 +FFE0 +2120 +ADA0 +7240 +3DA0 +E120 +ENDCHAR +STARTCHAR U_9324 +ENCODING 37668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +5240 +8FE0 +7A40 +23C0 +FA40 +23C0 +AA40 +77E0 +3A40 +E420 +ENDCHAR +STARTCHAR U_9325 +ENCODING 37669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +57E0 +8940 +7BE0 +2000 +FBC0 +2240 +B3C0 +6240 +3BC0 +C240 +ENDCHAR +STARTCHAR U_9326 +ENCODING 37670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +53E0 +8A20 +7BE0 +2220 +FBE0 +2080 +AFE0 +74A0 +3CE0 +E080 +ENDCHAR +STARTCHAR U_9327 +ENCODING 37671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8C20 +7BC0 +2240 +FBC0 +2200 +ABE0 +7220 +3BE0 +E220 +ENDCHAR +STARTCHAR U_9328 +ENCODING 37672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +5240 +8FE0 +7A40 +27E0 +FCA0 +24A0 +AFE0 +74A0 +3FE0 +E420 +ENDCHAR +STARTCHAR U_9329 +ENCODING 37673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +8BC0 +7A40 +23C0 +F800 +27E0 +AC20 +77E0 +3C20 +E7E0 +ENDCHAR +STARTCHAR U_932A +ENCODING 37674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5280 +8FE0 +FAA0 +2FE0 +FAA0 +2AA0 +BFE0 +6280 +3440 +C820 +ENDCHAR +STARTCHAR U_932B +ENCODING 37675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +8FC0 +7C40 +27C0 +FA00 +27E0 +AAA0 +74A0 +3920 +E240 +ENDCHAR +STARTCHAR U_932C +ENCODING 37676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4900 +F7C0 +2540 +FFC0 +2540 +B7C0 +6380 +3540 +C920 +ENDCHAR +STARTCHAR U_932D +ENCODING 37677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5520 +8FA0 +7D20 +27E0 +FC20 +27A0 +AEA0 +77A0 +3C20 +E060 +ENDCHAR +STARTCHAR U_932E +ENCODING 37678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5820 +8920 +FFE0 +2920 +FBA0 +2AA0 +BBA0 +6820 +2FE0 +F820 +ENDCHAR +STARTCHAR U_932F +ENCODING 37679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57E0 +8A40 +7A40 +27E0 +F800 +23E0 +AA20 +73E0 +3A20 +E3E0 +ENDCHAR +STARTCHAR U_9330 +ENCODING 37680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4FE0 +F100 +2380 +FD40 +2920 +B100 +6540 +3AA0 +CAA0 +ENDCHAR +STARTCHAR U_9331 +ENCODING 37681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1100 +EEE0 +1500 +7FC0 +0000 +FBC0 +2100 +7BC0 +2100 +FBE0 +ENDCHAR +STARTCHAR U_9332 +ENCODING 37682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +3040 +4BC0 +F040 +2FE0 +F120 +2540 +B380 +6540 +3520 +CB00 +ENDCHAR +STARTCHAR U_9333 +ENCODING 37683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5040 +8880 +7FE0 +2080 +FB80 +2100 +AFE0 +7AA0 +3AA0 +EFE0 +ENDCHAR +STARTCHAR U_9334 +ENCODING 37684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +53E0 +8880 +7FE0 +2140 +FA20 +2480 +ABE0 +7080 +3880 +E7E0 +ENDCHAR +STARTCHAR U_9335 +ENCODING 37685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57E0 +8A40 +7800 +2280 +FAA0 +26C0 +AB80 +72A0 +3AA0 +E260 +ENDCHAR +STARTCHAR U_9336 +ENCODING 37686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8900 +7FC0 +2100 +FFE0 +22A0 +AE40 +7240 +3AA0 +E320 +ENDCHAR +STARTCHAR U_9337 +ENCODING 37687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5F40 +A440 +FF40 +5540 +FF40 +5540 +7F40 +C440 +6F40 +8460 +ENDCHAR +STARTCHAR U_9338 +ENCODING 37688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8900 +F540 +2540 +FBA0 +2100 +B380 +6540 +2920 +F100 +ENDCHAR +STARTCHAR U_9339 +ENCODING 37689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +5280 +8FE0 +7800 +23E0 +FA20 +23E0 +AA20 +73E0 +3A20 +E260 +ENDCHAR +STARTCHAR U_933A +ENCODING 37690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +37E0 +4A80 +F100 +2FE0 +F200 +23C0 +AA40 +7240 +3540 +C880 +ENDCHAR +STARTCHAR U_933B +ENCODING 37691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +36C0 +48A0 +FFE0 +2280 +F380 +2A80 +BAA0 +6BA0 +2C60 +C020 +ENDCHAR +STARTCHAR U_933C +ENCODING 37692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8A80 +7C40 +23A0 +F800 +27E0 +A900 +7540 +3920 +E320 +ENDCHAR +STARTCHAR U_933D +ENCODING 37693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +37E0 +4940 +F580 +2240 +F420 +23C0 +B440 +6A80 +3100 +CEE0 +ENDCHAR +STARTCHAR U_933E +ENCODING 37694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A200 +FBE0 +2240 +F640 +1980 +EF60 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_933F +ENCODING 37695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +3100 +4FE0 +FA40 +2F80 +FA40 +2BC0 +B800 +6BA0 +2AA0 +D460 +ENDCHAR +STARTCHAR U_9340 +ENCODING 37696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3440 +4FC0 +F440 +27C0 +F800 +27C0 +B080 +6FE0 +3280 +C180 +ENDCHAR +STARTCHAR U_9341 +ENCODING 37697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +3C80 +48E0 +F920 +2F00 +FA80 +2A80 +BA80 +6A80 +2B40 +D220 +ENDCHAR +STARTCHAR U_9342 +ENCODING 37698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3100 +4A80 +F460 +27C0 +F900 +27C0 +B100 +6540 +3B80 +C7E0 +ENDCHAR +STARTCHAR U_9343 +ENCODING 37699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +33E0 +4AA0 +F560 +22A0 +F160 +2000 +B240 +65A0 +34A0 +C380 +ENDCHAR +STARTCHAR U_9344 +ENCODING 37700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2FE0 +5000 +F7C0 +2440 +F7C0 +2100 +B580 +6540 +2920 +C300 +ENDCHAR +STARTCHAR U_9345 +ENCODING 37701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +3280 +4880 +F5C0 +2480 +F3E0 +2480 +B500 +6D40 +37E0 +C520 +ENDCHAR +STARTCHAR U_9346 +ENCODING 37702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +6AA0 +9EE0 +FAA0 +2EE0 +F820 +2820 +B820 +6820 +2820 +F8E0 +ENDCHAR +STARTCHAR U_9347 +ENCODING 37703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +54A0 +8EC0 +7DA0 +26E0 +F900 +27C0 +AC40 +77C0 +3C40 +E7C0 +ENDCHAR +STARTCHAR U_9348 +ENCODING 37704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +3FE0 +4440 +F100 +27C0 +FD40 +2540 +BFE0 +6280 +3440 +C820 +ENDCHAR +STARTCHAR U_9349 +ENCODING 37705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +5220 +8BE0 +7A20 +23E0 +F800 +27E0 +AA80 +72E0 +3D80 +E0E0 +ENDCHAR +STARTCHAR U_934A +ENCODING 37706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8900 +7FE0 +2AA0 +F920 +2FE0 +B100 +6380 +3D40 +C920 +ENDCHAR +STARTCHAR U_934B +ENCODING 37707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +8B40 +7B40 +27E0 +FC20 +27A0 +B6A0 +67A0 +3C20 +C460 +ENDCHAR +STARTCHAR U_934C +ENCODING 37708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +B7C0 +4900 +EFE0 +4500 +58E0 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_934D +ENCODING 37709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +57E0 +8D40 +7FE0 +2540 +FDC0 +2400 +AFE0 +7540 +3C80 +E360 +ENDCHAR +STARTCHAR U_934E +ENCODING 37710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5480 +8FE0 +7C80 +25E0 +FD20 +25E0 +AD20 +75E0 +3D20 +E5E0 +ENDCHAR +STARTCHAR U_934F +ENCODING 37711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +53C0 +8940 +7FE0 +2240 +FBC0 +2080 +AFE0 +7280 +3FE0 +E080 +ENDCHAR +STARTCHAR U_9350 +ENCODING 37712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +26A0 +5520 +8EA0 +7FE0 +2240 +FC20 +23C0 +AA40 +7580 +3A40 +E420 +ENDCHAR +STARTCHAR U_9351 +ENCODING 37713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +53E0 +8E40 +7BC0 +2240 +FBC0 +2200 +ABC0 +7640 +3980 +E660 +ENDCHAR +STARTCHAR U_9352 +ENCODING 37714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5140 +8FE0 +7AA0 +24C0 +FB80 +2100 +AFE0 +7380 +3D40 +E120 +ENDCHAR +STARTCHAR U_9353 +ENCODING 37715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +3240 +4BC0 +F000 +27E0 +FA40 +23C0 +B240 +62E0 +3740 +C040 +ENDCHAR +STARTCHAR U_9354 +ENCODING 37716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +5AA0 +8EE0 +7800 +23C0 +F800 +27E0 +A900 +73E0 +3820 +E1C0 +ENDCHAR +STARTCHAR U_9355 +ENCODING 37717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5520 +8FE0 +7D40 +27C0 +FD40 +27C0 +A900 +77E0 +3900 +E100 +ENDCHAR +STARTCHAR U_9356 +ENCODING 37718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57E0 +8A40 +7BC0 +2240 +FBC0 +2240 +AFE0 +7540 +3E20 +E7E0 +ENDCHAR +STARTCHAR U_9357 +ENCODING 37719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8A80 +7FE0 +2520 +FFC0 +2540 +AD40 +7540 +3DC0 +E100 +ENDCHAR +STARTCHAR U_9358 +ENCODING 37720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E20 +5A20 +8EA0 +FAA0 +2EA0 +FAA0 +2AA0 +AEA0 +7020 +2A20 +F160 +ENDCHAR +STARTCHAR U_9359 +ENCODING 37721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +AFE0 +4480 +DFE0 +4680 +4940 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_935A +ENCODING 37722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +8BC0 +7A40 +27E0 +FA00 +27E0 +AAA0 +74A0 +3920 +E6C0 +ENDCHAR +STARTCHAR U_935B +ENCODING 37723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5540 +8F40 +7C20 +25E0 +FF40 +2540 +AF40 +7480 +3D40 +E620 +ENDCHAR +STARTCHAR U_935C +ENCODING 37724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5520 +8D20 +7FE0 +2400 +FFE0 +24A0 +AFA0 +7440 +3CA0 +E520 +ENDCHAR +STARTCHAR U_935D +ENCODING 37725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3540 +4FC0 +F540 +27C0 +F900 +27E0 +AD60 +77E0 +3C20 +C460 +ENDCHAR +STARTCHAR U_935E +ENCODING 37726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +5100 +8FC0 +7C40 +27C0 +FC40 +27C0 +AC40 +77C0 +3A80 +EC60 +ENDCHAR +STARTCHAR U_935F +ENCODING 37727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3440 +4FC0 +F440 +27C0 +F500 +27E0 +B900 +67C0 +3100 +CFE0 +ENDCHAR +STARTCHAR U_9360 +ENCODING 37728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +53C0 +8A40 +7BC0 +2240 +FFE0 +2100 +A900 +73C0 +3900 +E7E0 +ENDCHAR +STARTCHAR U_9361 +ENCODING 37729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +52A0 +8BE0 +7AA0 +23E0 +F800 +27E0 +AAA0 +7240 +3B40 +E220 +ENDCHAR +STARTCHAR U_9362 +ENCODING 37730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3000 +4BC0 +F240 +23C0 +F800 +27E0 +B520 +67E0 +3520 +C7E0 +ENDCHAR +STARTCHAR U_9363 +ENCODING 37731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57E0 +8A40 +7FE0 +2120 +FAA0 +2440 +AFE0 +7420 +3FE0 +E420 +ENDCHAR +STARTCHAR U_9364 +ENCODING 37732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +5700 +8900 +7FE0 +2100 +FF60 +2520 +AFE0 +7520 +3FE0 +E420 +ENDCHAR +STARTCHAR U_9365 +ENCODING 37733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +5FE0 +84A0 +FEA0 +24A0 +FF20 +2540 +AFE0 +7280 +2440 +F820 +ENDCHAR +STARTCHAR U_9366 +ENCODING 37734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2900 +55E0 +FE80 +28A0 +FEE0 +2BA0 +BAE0 +6A80 +2AA0 +D660 +ENDCHAR +STARTCHAR U_9367 +ENCODING 37735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +53E0 +8D20 +7FE0 +2020 +FBA0 +2020 +ABA0 +72A0 +3BA0 +E0C0 +ENDCHAR +STARTCHAR U_9368 +ENCODING 37736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +3680 +4AA0 +F440 +2820 +F7E0 +2100 +B7E0 +6100 +3A80 +C460 +ENDCHAR +STARTCHAR U_9369 +ENCODING 37737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +37E0 +4C40 +F100 +27E0 +F900 +23C0 +B640 +6A40 +33C0 +C240 +ENDCHAR +STARTCHAR U_936A +ENCODING 37738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +2FE0 +FA80 +5180 +9E40 +3100 +FFE0 +0400 +7F80 +1500 +FFE0 +ENDCHAR +STARTCHAR U_936B +ENCODING 37739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +6520 +2540 +FA80 +7440 +AB20 +3E80 +C460 +3F80 +1500 +7FC0 +ENDCHAR +STARTCHAR U_936C +ENCODING 37740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +5480 +85A0 +FEC0 +2480 +F680 +2D80 +A480 +7540 +2620 +F420 +ENDCHAR +STARTCHAR U_936D +ENCODING 37741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5440 +8FE0 +7D00 +25E0 +FE80 +27E0 +AC80 +7480 +3D40 +E620 +ENDCHAR +STARTCHAR U_936E +ENCODING 37742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3280 +4C40 +F7A0 +2000 +FEA0 +2AA0 +BEA0 +6AA0 +3E20 +CAE0 +ENDCHAR +STARTCHAR U_936F +ENCODING 37743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +5AA0 +F7A0 +2520 +FAC0 +2140 +B2A0 +6620 +3A40 +C1C0 +ENDCHAR +STARTCHAR U_9370 +ENCODING 37744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20E0 +2740 +5280 +FFE0 +2100 +F7E0 +2200 +B3C0 +6640 +3980 +C660 +ENDCHAR +STARTCHAR U_9371 +ENCODING 37745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +57E0 +8AA0 +FAE0 +2200 +FBE0 +2080 +AFE0 +7180 +22C0 +FCA0 +ENDCHAR +STARTCHAR U_9372 +ENCODING 37746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +8FC0 +7D00 +27E0 +FC80 +27E0 +AC60 +77C0 +3C40 +C7C0 +ENDCHAR +STARTCHAR U_9373 +ENCODING 37747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +53E0 +7D00 +5080 +7E80 +0900 +3F80 +C460 +1F00 +1500 +7FC0 +ENDCHAR +STARTCHAR U_9374 +ENCODING 37748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2540 +5540 +FFC0 +2000 +FFE0 +2200 +BFE0 +6AA0 +3AA0 +C860 +ENDCHAR +STARTCHAR U_9375 +ENCODING 37749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2C80 +25E0 +54A0 +FBE0 +2CA0 +F7E0 +2480 +B7E0 +6C80 +3480 +CBE0 +ENDCHAR +STARTCHAR U_9376 +ENCODING 37750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5D20 +8520 +FFE0 +2520 +FFE0 +2140 +AAA0 +7620 +2A40 +F1C0 +ENDCHAR +STARTCHAR U_9377 +ENCODING 37751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8A40 +FD20 +27C0 +F900 +27E0 +A900 +77C0 +2100 +FFE0 +ENDCHAR +STARTCHAR U_9378 +ENCODING 37752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +34E0 +4CA0 +FFA0 +24E0 +FCA0 +2EE0 +BAA0 +7EA0 +C120 +0260 +ENDCHAR +STARTCHAR U_9379 +ENCODING 37753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8820 +F000 +27E0 +FA40 +23C0 +AA40 +73C0 +2000 +FFE0 +ENDCHAR +STARTCHAR U_937A +ENCODING 37754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +53A0 +8940 +FFE0 +2100 +FBE0 +2220 +AFE0 +7220 +23E0 +FA20 +ENDCHAR +STARTCHAR U_937B +ENCODING 37755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +8FC0 +FC40 +23C0 +FA00 +27E0 +AD20 +76A0 +27A0 +F840 +ENDCHAR +STARTCHAR U_937C +ENCODING 37756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +50A0 +8FE0 +F880 +2F80 +F8A0 +2EA0 +AAC0 +7EA0 +2960 +F220 +ENDCHAR +STARTCHAR U_937D +ENCODING 37757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37C0 +4C40 +FFC0 +2400 +FFE0 +2EA0 +B7E0 +7AA0 +CAA0 +1260 +ENDCHAR +STARTCHAR U_937E +ENCODING 37758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5100 +8FE0 +FD40 +27C0 +FD40 +27C0 +A900 +77C0 +2100 +FFE0 +ENDCHAR +STARTCHAR U_937F +ENCODING 37759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +22A0 +57E0 +FAA0 +2140 +F7E0 +2520 +AFE0 +7520 +3FE0 +C420 +ENDCHAR +STARTCHAR U_9380 +ENCODING 37760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +54E0 +88A0 +FB40 +2AA0 +FB40 +2AA0 +AA40 +7AA0 +2A40 +F980 +ENDCHAR +STARTCHAR U_9381 +ENCODING 37761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +5AA0 +FEA0 +2AC0 +FEA0 +2AA0 +BEE0 +6A80 +F280 +0280 +ENDCHAR +STARTCHAR U_9382 +ENCODING 37762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5280 +8FE0 +F900 +27C0 +F900 +27E0 +A900 +77E0 +2280 +FC60 +ENDCHAR +STARTCHAR U_9383 +ENCODING 37763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +28C0 +5700 +8420 +75C0 +2D40 +F560 +2540 +B540 +6520 +39A0 +C920 +ENDCHAR +STARTCHAR U_9384 +ENCODING 37764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4800 +F7C0 +2440 +F7C0 +2280 +B2A0 +7640 +CB20 +0200 +ENDCHAR +STARTCHAR U_9385 +ENCODING 37765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2540 +57C0 +FD40 +27C0 +F280 +2C60 +B280 +7280 +C280 +0480 +ENDCHAR +STARTCHAR U_9386 +ENCODING 37766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +3280 +4FE0 +F020 +2EA0 +FAA0 +2EA0 +BAA0 +6EA0 +FA20 +0A60 +ENDCHAR +STARTCHAR U_9387 +ENCODING 37767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3520 +4FE0 +FC00 +27E0 +FE20 +2FE0 +B620 +7BE0 +CA20 +13E0 +ENDCHAR +STARTCHAR U_9388 +ENCODING 37768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +5140 +8BE0 +F880 +23E0 +FC80 +23E0 +AA00 +77E0 +2880 +F7E0 +ENDCHAR +STARTCHAR U_9389 +ENCODING 37769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +8FC0 +FC40 +27C0 +F800 +27E0 +ADA0 +7360 +25A0 +FA60 +ENDCHAR +STARTCHAR U_938A +ENCODING 37770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8A40 +77E0 +2920 +F7E0 +2100 +B1E0 +6220 +3A20 +C4C0 +ENDCHAR +STARTCHAR U_938B +ENCODING 37771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4D20 +FBC0 +2100 +FBC0 +2100 +AFE0 +73C0 +3A40 +C3C0 +ENDCHAR +STARTCHAR U_938C +ENCODING 37772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5280 +8FE0 +FAA0 +27E0 +FAA0 +27E0 +AA80 +76C0 +2AA0 +F2A0 +ENDCHAR +STARTCHAR U_938D +ENCODING 37773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +8100 +FFE0 +2AA0 +F700 +2140 +AFE0 +7380 +2540 +FB20 +ENDCHAR +STARTCHAR U_938E +ENCODING 37774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +57E0 +8800 +FFC0 +2AC0 +F740 +2240 +AFC0 +7240 +2720 +FAA0 +ENDCHAR +STARTCHAR U_938F +ENCODING 37775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +AFE0 +6480 +CFC0 +4AA0 +56E0 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_9390 +ENCODING 37776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +3640 +4D40 +FA80 +23C0 +FD00 +27E0 +B100 +6540 +3D40 +C7C0 +ENDCHAR +STARTCHAR U_9391 +ENCODING 37777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +8900 +FFE0 +2480 +FFC0 +2040 +AFE0 +7AA0 +2AA0 +FFE0 +ENDCHAR +STARTCHAR U_9392 +ENCODING 37778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5800 +8FE0 +FAA0 +2A40 +FB20 +2A40 +AFE0 +7A40 +2940 +F880 +ENDCHAR +STARTCHAR U_9393 +ENCODING 37779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +3540 +4AA0 +F7C0 +2000 +FEE0 +2AA0 +B660 +6AA0 +3AA0 +C440 +ENDCHAR +STARTCHAR U_9394 +ENCODING 37780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8C20 +FA40 +2520 +FA40 +27E0 +AA40 +7240 +23C0 +FA40 +ENDCHAR +STARTCHAR U_9395 +ENCODING 37781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8D40 +FFE0 +2540 +FFC0 +2500 +AFE0 +7620 +2BE0 +FA20 +ENDCHAR +STARTCHAR U_9396 +ENCODING 37782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24A0 +52C0 +8BE0 +FA20 +23E0 +FA20 +23E0 +AA20 +73E0 +2140 +FE20 +ENDCHAR +STARTCHAR U_9397 +ENCODING 37783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +5240 +8D20 +FFC0 +2440 +FFC0 +2440 +AFE0 +7620 +23E0 +FA20 +ENDCHAR +STARTCHAR U_9398 +ENCODING 37784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5240 +8BC0 +F000 +27E0 +FEA0 +2520 +AFE0 +7520 +2520 +FC60 +ENDCHAR +STARTCHAR U_9399 +ENCODING 37785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +52A0 +8FA0 +F2E0 +2BA0 +FBA0 +2FE0 +AAA0 +72A0 +24A0 +F960 +ENDCHAR +STARTCHAR U_939A +ENCODING 37786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +52E0 +8AA0 +F8E0 +2680 +FAE0 +22A0 +AAA0 +72E0 +2500 +F8E0 +ENDCHAR +STARTCHAR U_939B +ENCODING 37787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20A0 +57E0 +8AA0 +FBE0 +22A0 +FBE0 +22A0 +AFE0 +7240 +2140 +F880 +ENDCHAR +STARTCHAR U_939C +ENCODING 37788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +7A40 +4C60 +FBC0 +6E80 +9140 +2E80 +C460 +1F00 +1500 +7FC0 +ENDCHAR +STARTCHAR U_939D +ENCODING 37789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57E0 +8A40 +FB80 +2440 +FBA0 +2000 +AFC0 +7440 +27C0 +FC40 +ENDCHAR +STARTCHAR U_939E +ENCODING 37790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8EA0 +FD20 +26A0 +FFE0 +2480 +AFA0 +74C0 +27A0 +FCE0 +ENDCHAR +STARTCHAR U_939F +ENCODING 37791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5280 +8140 +FFE0 +25A0 +F240 +25A0 +AFE0 +7380 +2540 +F920 +ENDCHAR +STARTCHAR U_93A0 +ENCODING 37792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +5AA0 +8FE0 +F000 +2FE0 +F100 +2DC0 +B500 +7500 +CFE0 +ENDCHAR +STARTCHAR U_93A1 +ENCODING 37793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5280 +8FE0 +FA40 +2240 +FCA0 +27E0 +AA40 +74A0 +27E0 +F920 +ENDCHAR +STARTCHAR U_93A2 +ENCODING 37794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +8C40 +FFC0 +2400 +FFE0 +2400 +AFE0 +7560 +2AA0 +FAC0 +ENDCHAR +STARTCHAR U_93A3 +ENCODING 37795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +B580 +4A40 +FFE0 +8420 +0A00 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_93A4 +ENCODING 37796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5420 +8FE0 +FC20 +27E0 +FD20 +2340 +AFE0 +7180 +22A0 +FCE0 +ENDCHAR +STARTCHAR U_93A5 +ENCODING 37797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5A80 +D540 +5FE0 +5540 +0A20 +7FE0 +0400 +7FC0 +1480 +FFE0 +ENDCHAR +STARTCHAR U_93A6 +ENCODING 37798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +58A0 +8AA0 +FAA0 +2D20 +F240 +27E0 +AD20 +77E0 +2520 +FFE0 +ENDCHAR +STARTCHAR U_93A7 +ENCODING 37799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +57E0 +8800 +FFE0 +2000 +FFC0 +2440 +AFC0 +7440 +2280 +FFE0 +ENDCHAR +STARTCHAR U_93A8 +ENCODING 37800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +57E0 +8C80 +FFE0 +2480 +FFE0 +2480 +AFE0 +7100 +2FE0 +F900 +ENDCHAR +STARTCHAR U_93A9 +ENCODING 37801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +52A0 +8DA0 +FAA0 +2700 +FAE0 +23A0 +AEA0 +7240 +22A0 +FB20 +ENDCHAR +STARTCHAR U_93AA +ENCODING 37802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +55E0 +8D20 +FFE0 +2520 +FFE0 +2100 +AFE0 +7240 +2180 +FE60 +ENDCHAR +STARTCHAR U_93AB +ENCODING 37803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4D60 +FCA0 +2340 +FC20 +23C0 +AA40 +7580 +3980 +C660 +ENDCHAR +STARTCHAR U_93AC +ENCODING 37804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8A40 +FBC0 +2000 +FFE0 +2420 +AFA0 +76A0 +27A0 +FC60 +ENDCHAR +STARTCHAR U_93AD +ENCODING 37805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22C0 +2300 +53E0 +8800 +75C0 +2540 +F5C0 +2540 +B7E0 +7A40 +C420 +ENDCHAR +STARTCHAR U_93AE +ENCODING 37806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8900 +FFC0 +2440 +FF40 +25C0 +AC40 +7FE0 +2280 +FC60 +ENDCHAR +STARTCHAR U_93AF +ENCODING 37807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +5EA0 +8AA0 +FAA0 +2EC0 +FAA0 +2EA0 +A8A0 +7AE0 +2D80 +F880 +ENDCHAR +STARTCHAR U_93B0 +ENCODING 37808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5280 +8FE0 +F280 +2440 +F820 +2FE0 +AAA0 +7AA0 +2AA0 +FFE0 +ENDCHAR +STARTCHAR U_93B1 +ENCODING 37809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +8900 +FFE0 +2000 +FFC0 +2440 +AFC0 +72A0 +2640 +FB20 +ENDCHAR +STARTCHAR U_93B2 +ENCODING 37810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +5540 +8FE0 +F820 +27C0 +FC40 +27C0 +AA80 +72A0 +24A0 +F860 +ENDCHAR +STARTCHAR U_93B3 +ENCODING 37811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +8C40 +FFC0 +2440 +FFC0 +2100 +AFE0 +7380 +2540 +F920 +ENDCHAR +STARTCHAR U_93B4 +ENCODING 37812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +8C40 +FFC0 +2440 +FFC0 +2440 +AFC0 +7280 +2660 +FBC0 +ENDCHAR +STARTCHAR U_93B5 +ENCODING 37813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8820 +F7C0 +2220 +FD40 +2280 +AD80 +72C0 +24A0 +FB20 +ENDCHAR +STARTCHAR U_93B6 +ENCODING 37814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3040 +4F40 +F540 +2FE0 +F040 +2F40 +B540 +7F40 +C140 +0080 +ENDCHAR +STARTCHAR U_93B7 +ENCODING 37815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5480 +8FE0 +FC80 +27E0 +FC80 +27E0 +A820 +7560 +2AA0 +FAE0 +ENDCHAR +STARTCHAR U_93B8 +ENCODING 37816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +37E0 +4C80 +FFC0 +2480 +FFE0 +2000 +AFC0 +72E0 +3A20 +C460 +ENDCHAR +STARTCHAR U_93B9 +ENCODING 37817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3220 +4940 +8BE0 +F480 +23E0 +FC80 +3540 +A620 +7600 +C9E0 +ENDCHAR +STARTCHAR U_93BA +ENCODING 37818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +65C0 +9D40 +E5C0 +4940 +ED40 +5BC0 +E940 +6940 +CBE0 +0800 +ENDCHAR +STARTCHAR U_93BB +ENCODING 37819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +3540 +4AA0 +FFC0 +2540 +FCC0 +2E40 +B540 +7FC0 +C440 +0820 +ENDCHAR +STARTCHAR U_93BC +ENCODING 37820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +3100 +4FE0 +FD20 +27E0 +FD20 +25E0 +B480 +67E0 +3880 +C980 +ENDCHAR +STARTCHAR U_93BD +ENCODING 37821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +37C0 +4A00 +F7C0 +2280 +F560 +2900 +A380 +7100 +3FC0 +C100 +ENDCHAR +STARTCHAR U_93BE +ENCODING 37822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2440 +57C0 +8C40 +FFC0 +2000 +FFE0 +3AA0 +AAA0 +7AA0 +CFE0 +ENDCHAR +STARTCHAR U_93BF +ENCODING 37823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +3240 +4FE0 +FA40 +23C0 +F880 +23C0 +A880 +77E0 +3880 +C180 +ENDCHAR +STARTCHAR U_93C0 +ENCODING 37824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +5100 +8FE0 +F920 +2D60 +FAA0 +2D60 +AAA0 +7D60 +28A0 +FFE0 +ENDCHAR +STARTCHAR U_93C1 +ENCODING 37825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2A80 +5540 +FFC0 +2540 +FFC0 +2540 +BFE0 +6380 +3540 +C920 +ENDCHAR +STARTCHAR U_93C2 +ENCODING 37826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5800 +8BC0 +FA40 +2BC0 +F800 +2BE0 +AAA0 +7BE0 +2800 +FFE0 +ENDCHAR +STARTCHAR U_93C3 +ENCODING 37827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +5FE0 +8440 +F4E0 +2F40 +F540 +25E0 +A540 +7540 +29A0 +F320 +ENDCHAR +STARTCHAR U_93C4 +ENCODING 37828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8D40 +FFC0 +2540 +FFC0 +2120 +AFE0 +7440 +2240 +F9C0 +ENDCHAR +STARTCHAR U_93C5 +ENCODING 37829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +35E0 +4940 +F880 +2F60 +FDC0 +2D40 +BDC0 +6D40 +39C0 +C940 +ENDCHAR +STARTCHAR U_93C6 +ENCODING 37830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3540 +4FE0 +F540 +27C0 +F800 +2FC0 +B540 +76C0 +C7C0 +0C60 +ENDCHAR +STARTCHAR U_93C7 +ENCODING 37831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +5EE0 +8900 +F9E0 +2EA0 +FA80 +2AE0 +AA80 +7A80 +2B80 +F4E0 +ENDCHAR +STARTCHAR U_93C8 +ENCODING 37832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +57E0 +8AA0 +FBE0 +26A0 +FFE0 +2480 +AFE0 +7480 +2480 +FBE0 +ENDCHAR +STARTCHAR U_93C9 +ENCODING 37833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4480 +AE80 +F5E0 +5F20 +F580 +5F80 +E480 +6F40 +9540 +0620 +ENDCHAR +STARTCHAR U_93CA +ENCODING 37834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +11E0 +FF40 +2880 +4F60 +9100 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_93CB +ENCODING 37835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +5240 +8BC0 +7100 +2FE0 +F920 +2DA0 +BB60 +7920 +C860 +ENDCHAR +STARTCHAR U_93CC +ENCODING 37836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +5FE0 +8A40 +FFC0 +2440 +FFC0 +2440 +AFE0 +7100 +2280 +FC60 +ENDCHAR +STARTCHAR U_93CD +ENCODING 37837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5520 +8FE0 +FD20 +27E0 +FA40 +2780 +A920 +77E0 +2540 +FB20 +ENDCHAR +STARTCHAR U_93CE +ENCODING 37838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5520 +87E0 +F520 +27E0 +F540 +2FE0 +A540 +7FE0 +2100 +F100 +ENDCHAR +STARTCHAR U_93CF +ENCODING 37839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5240 +8FE0 +FA40 +27E0 +FA40 +23E0 +A820 +77E0 +2020 +FBE0 +ENDCHAR +STARTCHAR U_93D0 +ENCODING 37840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +55A0 +8B60 +FDA0 +2120 +FA80 +2560 +AA80 +7140 +2080 +FF00 +ENDCHAR +STARTCHAR U_93D1 +ENCODING 37841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8280 +FFE0 +2920 +FBA0 +2920 +ABA0 +7AA0 +2BA0 +F860 +ENDCHAR +STARTCHAR U_93D2 +ENCODING 37842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57A0 +84A0 +FFE0 +2300 +F480 +2AC0 +A520 +7240 +2080 +F700 +ENDCHAR +STARTCHAR U_93D3 +ENCODING 37843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +27C0 +5540 +8DC0 +76C0 +2540 +F7C0 +2A00 +B540 +7C60 +CBC0 +ENDCHAR +STARTCHAR U_93D4 +ENCODING 37844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8820 +FFE0 +2100 +FFC0 +2540 +AFC0 +7540 +27C0 +F820 +ENDCHAR +STARTCHAR U_93D5 +ENCODING 37845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8A80 +FFE0 +2AA0 +FFE0 +2A80 +BBA0 +6AC0 +3BA0 +D2E0 +ENDCHAR +STARTCHAR U_93D6 +ENCODING 37846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4940 +7FC0 +4920 +4920 +5FC0 +6220 +5FC0 +8A80 +BFE0 +ENDCHAR +STARTCHAR U_93D7 +ENCODING 37847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5AA0 +8FA0 +F9A0 +2F40 +FAA0 +2F20 +A900 +77C0 +2100 +FFE0 +ENDCHAR +STARTCHAR U_93D8 +ENCODING 37848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5AE0 +8B20 +FEA0 +2240 +F2A0 +2FE0 +AB20 +7AA0 +2A20 +F2E0 +ENDCHAR +STARTCHAR U_93D9 +ENCODING 37849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24A0 +54A0 +8FE0 +FA80 +23E0 +FE80 +23E0 +AA80 +73E0 +2280 +FBE0 +ENDCHAR +STARTCHAR U_93DA +ENCODING 37850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +50A0 +8FE0 +FA80 +2B80 +FA80 +2FA0 +AAA0 +7F40 +2AE0 +F720 +ENDCHAR +STARTCHAR U_93DB +ENCODING 37851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +37E0 +4C20 +F3C0 +2240 +FBC0 +2100 +AFE0 +7520 +3D60 +C100 +ENDCHAR +STARTCHAR U_93DC +ENCODING 37852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +5340 +8FE0 +FC20 +23C0 +FA40 +23C0 +A900 +73C0 +2100 +FFE0 +ENDCHAR +STARTCHAR U_93DD +ENCODING 37853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +87C0 +F440 +2FE0 +FAA0 +2FE0 +AA40 +7240 +2180 +FE60 +ENDCHAR +STARTCHAR U_93DE +ENCODING 37854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8940 +FFE0 +2940 +FFE0 +2D20 +AFE0 +7520 +27E0 +F560 +ENDCHAR +STARTCHAR U_93DF +ENCODING 37855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +57E0 +8940 +FFE0 +2400 +FE80 +27E0 +AC80 +75E0 +2480 +FBE0 +ENDCHAR +STARTCHAR U_93E0 +ENCODING 37856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +33E0 +4A40 +F580 +2240 +FCA0 +25C0 +AC80 +77E0 +3C80 +CBE0 +ENDCHAR +STARTCHAR U_93E1 +ENCODING 37857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8A80 +FFE0 +2440 +FFC0 +2440 +AFC0 +7280 +22A0 +FC60 +ENDCHAR +STARTCHAR U_93E2 +ENCODING 37858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5280 +8FE0 +FAA0 +2FE0 +F000 +27C0 +A000 +77E0 +2940 +F320 +ENDCHAR +STARTCHAR U_93E3 +ENCODING 37859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +57E0 +8D40 +FFE0 +2540 +FD40 +25C0 +AC00 +7540 +26A0 +FAA0 +ENDCHAR +STARTCHAR U_93E4 +ENCODING 37860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +8540 +FFE0 +2540 +FFE0 +2920 +AFE0 +7240 +2380 +FC60 +ENDCHAR +STARTCHAR U_93E5 +ENCODING 37861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3FE0 +4A20 +F3E0 +2480 +FDE0 +2520 +ADE0 +7520 +3D20 +C5E0 +ENDCHAR +STARTCHAR U_93E6 +ENCODING 37862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +5940 +81C0 +F220 +2C80 +F880 +2A80 +AAE0 +7A80 +2D80 +F8E0 +ENDCHAR +STARTCHAR U_93E7 +ENCODING 37863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DC0 +1160 +7E00 +55C0 +7E80 +8940 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_93E8 +ENCODING 37864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +AA00 +FBE0 +AA80 +FE80 +2900 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_93E9 +ENCODING 37865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2F60 +5280 +FF80 +2AE0 +FFA0 +2AA0 +BFA0 +62A0 +3FA0 +C2A0 +ENDCHAR +STARTCHAR U_93EA +ENCODING 37866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +37E0 +4A80 +FFE0 +2AA0 +FFE0 +2AA0 +BFE0 +6540 +3CC0 +C7C0 +ENDCHAR +STARTCHAR U_93EB +ENCODING 37867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E20 +34A0 +4FA0 +F6A0 +2DA0 +F560 +2FE0 +A900 +7380 +3D40 +C920 +ENDCHAR +STARTCHAR U_93EC +ENCODING 37868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +5100 +8FE0 +F920 +2FC0 +F920 +2FE0 +AAA0 +7FE0 +2880 +F980 +ENDCHAR +STARTCHAR U_93ED +ENCODING 37869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +3520 +4B40 +F7E0 +2380 +FD40 +2220 +A940 +72A0 +36A0 +CB80 +ENDCHAR +STARTCHAR U_93EE +ENCODING 37870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8900 +FFC0 +2940 +FFE0 +2940 +BFC0 +6B20 +3D40 +D320 +ENDCHAR +STARTCHAR U_93EF +ENCODING 37871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4900 +FBA0 +2540 +FBA0 +2540 +ABA0 +7100 +3A80 +C460 +ENDCHAR +STARTCHAR U_93F0 +ENCODING 37872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3520 +4FE0 +F000 +2EE0 +FAA0 +2EE0 +BAA0 +6EE0 +3AA0 +D560 +ENDCHAR +STARTCHAR U_93F1 +ENCODING 37873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37C0 +4A80 +FFE0 +2440 +FFC0 +2440 +AFC0 +7100 +3FE0 +C100 +ENDCHAR +STARTCHAR U_93F2 +ENCODING 37874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4A00 +FFE0 +2AA0 +FBC0 +2280 +ABC0 +7480 +37E0 +C080 +ENDCHAR +STARTCHAR U_93F3 +ENCODING 37875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +3280 +4FE0 +F660 +25A0 +FFE0 +2240 +AA40 +73C0 +3A40 +C3C0 +ENDCHAR +STARTCHAR U_93F4 +ENCODING 37876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E80 +6AE0 +9BA0 +EEA0 +4440 +E5A0 +5600 +D4E0 +74A0 +56A0 +F8E0 +ENDCHAR +STARTCHAR U_93F5 +ENCODING 37877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5FE0 +8280 +FFE0 +2540 +FFE0 +2540 +AFE0 +7100 +27C0 +F900 +ENDCHAR +STARTCHAR U_93F6 +ENCODING 37878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +57E0 +8C80 +FFE0 +2480 +FFE0 +2480 +B7E0 +6180 +3AC0 +C4A0 +ENDCHAR +STARTCHAR U_93F7 +ENCODING 37879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +56C0 +8FE0 +F280 +2FE0 +F100 +27C0 +A900 +77E0 +2280 +FC60 +ENDCHAR +STARTCHAR U_93F8 +ENCODING 37880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8540 +F7C0 +2540 +F7C0 +2940 +AFA0 +76A0 +2A40 +F3C0 +ENDCHAR +STARTCHAR U_93F9 +ENCODING 37881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2DE0 +5520 +85E0 +FC80 +2BE0 +FAA0 +2EA0 +ABE0 +7280 +22A0 +FDE0 +ENDCHAR +STARTCHAR U_93FA +ENCODING 37882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +55A0 +8240 +FDE0 +2540 +FE60 +29C0 +AE40 +7280 +2340 +FC20 +ENDCHAR +STARTCHAR U_93FB +ENCODING 37883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +5340 +8FE0 +FB40 +2520 +FA40 +27E0 +A940 +75E0 +2240 +FC40 +ENDCHAR +STARTCHAR U_93FC +ENCODING 37884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +27E0 +5940 +F7E0 +2100 +F7E0 +2520 +B560 +6380 +3540 +C920 +ENDCHAR +STARTCHAR U_93FD +ENCODING 37885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5140 +8FE0 +F140 +27C0 +FBA0 +2D60 +ABA0 +7D60 +2BA0 +F120 +ENDCHAR +STARTCHAR U_93FE +ENCODING 37886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +5F80 +8AE0 +FAA0 +2FA0 +FAA0 +2EA0 +AAA0 +7E40 +2AA0 +FB20 +ENDCHAR +STARTCHAR U_93FF +ENCODING 37887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +5FE0 +8820 +F7C0 +2440 +F7C0 +2100 +AFE0 +7580 +2940 +F120 +ENDCHAR +STARTCHAR U_9400 +ENCODING 37888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37C0 +4D40 +F7C0 +2000 +FFE0 +2540 +B4C0 +67C0 +3280 +CC60 +ENDCHAR +STARTCHAR U_9401 +ENCODING 37889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A00 +5F20 +AAC0 +EE80 +4A80 +EEE0 +4AA0 +6AA0 +DFA0 +6AA0 +D120 +ENDCHAR +STARTCHAR U_9402 +ENCODING 37890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +3280 +4EE0 +FAA0 +2EE0 +F280 +2FE0 +B920 +6FE0 +3920 +CFE0 +ENDCHAR +STARTCHAR U_9403 +ENCODING 37891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +8900 +FFE0 +2440 +FEE0 +2440 +AFE0 +7280 +22A0 +FC60 +ENDCHAR +STARTCHAR U_9404 +ENCODING 37892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +37C0 +4A80 +FFE0 +2100 +FFC0 +2540 +AFC0 +7540 +37C0 +CC60 +ENDCHAR +STARTCHAR U_9405 +ENCODING 37893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +AA00 +73C0 +FC40 +AA80 +FD00 +AAC0 +3F00 +C4C0 +3F80 +1500 +FFC0 +ENDCHAR +STARTCHAR U_9406 +ENCODING 37894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E440 +AFE0 +C540 +AB80 +E540 +8A20 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_9407 +ENCODING 37895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5920 +8540 +FFE0 +2540 +F920 +27C0 +AD40 +77C0 +2540 +FFC0 +ENDCHAR +STARTCHAR U_9408 +ENCODING 37896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3100 +4FE0 +F280 +27C0 +FAA0 +2FE0 +B820 +6BA0 +3AA0 +CBE0 +ENDCHAR +STARTCHAR U_9409 +ENCODING 37897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +54A0 +8FE0 +FC80 +27E0 +FA40 +27E0 +AA40 +77E0 +2240 +FC20 +ENDCHAR +STARTCHAR U_940A +ENCODING 37898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +5B40 +8BC0 +FB40 +2DE0 +FA80 +2BE0 +ADA0 +7EA0 +2920 +F860 +ENDCHAR +STARTCHAR U_940B +ENCODING 37899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BC0 +5640 +87C0 +FA40 +27E0 +F900 +2BE0 +AD60 +7AA0 +2D20 +FAC0 +ENDCHAR +STARTCHAR U_940C +ENCODING 37900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +5480 +8FE0 +FD20 +27E0 +FA40 +2580 +AA80 +75C0 +22A0 +FD80 +ENDCHAR +STARTCHAR U_940D +ENCODING 37901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5140 +8FE0 +F2A0 +2480 +FFE0 +2AA0 +AC60 +7BA0 +2AA0 +FBE0 +ENDCHAR +STARTCHAR U_940E +ENCODING 37902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +57E0 +8C80 +FFE0 +2480 +FFE0 +2480 +AFE0 +7540 +2AA0 +FAA0 +ENDCHAR +STARTCHAR U_940F +ENCODING 37903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +5FE0 +8280 +FFE0 +2AA0 +FC60 +2FE0 +A040 +7FE0 +2440 +F2C0 +ENDCHAR +STARTCHAR U_9410 +ENCODING 37904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8AA0 +F440 +27E0 +FC40 +27C0 +AC40 +77C0 +2540 +FB20 +ENDCHAR +STARTCHAR U_9411 +ENCODING 37905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5440 +89E0 +FA40 +2DE0 +F400 +2AE0 +AFA0 +74A0 +2BE0 +FAA0 +ENDCHAR +STARTCHAR U_9412 +ENCODING 37906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57E0 +8A40 +F5C0 +2920 +FFE0 +2220 +AFC0 +7240 +2540 +F880 +ENDCHAR +STARTCHAR U_9413 +ENCODING 37907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +5F80 +8AE0 +FEA0 +21A0 +FEA0 +22A0 +A440 +7E40 +24A0 +FD20 +ENDCHAR +STARTCHAR U_9414 +ENCODING 37908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5280 +8FE0 +FAA0 +2FE0 +F440 +27C0 +AC40 +7FE0 +2100 +F900 +ENDCHAR +STARTCHAR U_9415 +ENCODING 37909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5540 +8FE0 +FA40 +26C0 +FB60 +27C0 +AC40 +77C0 +2440 +FFC0 +ENDCHAR +STARTCHAR U_9416 +ENCODING 37910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2320 +5540 +8FE0 +F540 +2FE0 +F900 +27E0 +ACA0 +7640 +24A0 +FB20 +ENDCHAR +STARTCHAR U_9417 +ENCODING 37911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +3AA0 +4EE0 +FAA0 +2EE0 +FBA0 +2AA0 +BBA0 +6AA0 +3DA0 +C860 +ENDCHAR +STARTCHAR U_9418 +ENCODING 37912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8C40 +FA80 +27E0 +FD40 +27C0 +B540 +6FE0 +3100 +CFE0 +ENDCHAR +STARTCHAR U_9419 +ENCODING 37913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2740 +55A0 +8A40 +FBA0 +2420 +FFC0 +2440 +AFC0 +7440 +2280 +FFE0 +ENDCHAR +STARTCHAR U_941A +ENCODING 37914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3280 +4EE0 +F420 +26E0 +FA80 +27E0 +A940 +7620 +3A60 +C1C0 +ENDCHAR +STARTCHAR U_941B +ENCODING 37915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +3440 +4FC0 +F440 +2FE0 +F800 +27C0 +AC40 +77C0 +3540 +CB20 +ENDCHAR +STARTCHAR U_941C +ENCODING 37916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7DE0 +2640 +7D40 +0880 +7560 +1F00 +3480 +DF60 +1500 +7FE0 +ENDCHAR +STARTCHAR U_941D +ENCODING 37917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +3FE0 +4D40 +FA40 +2FE0 +FAA0 +2FC0 +BA40 +6A40 +3AA0 +D520 +ENDCHAR +STARTCHAR U_941E +ENCODING 37918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +3040 +4BC0 +F040 +27E0 +FAA0 +27E0 +A840 +77E0 +3A40 +C0C0 +ENDCHAR +STARTCHAR U_941F +ENCODING 37919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2EE0 +5440 +FEE0 +2440 +FAA0 +27C0 +AC40 +77C0 +3C40 +C7C0 +ENDCHAR +STARTCHAR U_9420 +ENCODING 37920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5280 +8FE0 +FAA0 +26C0 +FA80 +2FE0 +AC40 +77C0 +2440 +FFC0 +ENDCHAR +STARTCHAR U_9421 +ENCODING 37921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +2EC0 +54A0 +FFE0 +2080 +FEA0 +2AC0 +BE80 +6AA0 +3560 +CE20 +ENDCHAR +STARTCHAR U_9422 +ENCODING 37922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +F5E0 +2880 +75C0 +6AA0 +A4A0 +3B80 +C4E0 +1F80 +1500 +7FC0 +ENDCHAR +STARTCHAR U_9423 +ENCODING 37923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +3540 +4FE0 +FAA0 +2380 +F900 +27C0 +A900 +77E0 +3900 +C300 +ENDCHAR +STARTCHAR U_9424 +ENCODING 37924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +3280 +4BA0 +FAA0 +2BA0 +F820 +2EE0 +A280 +7EE0 +2AA0 +D2A0 +ENDCHAR +STARTCHAR U_9425 +ENCODING 37925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +37C0 +4900 +F7C0 +2100 +FFE0 +2540 +AFE0 +7440 +3C40 +C7C0 +ENDCHAR +STARTCHAR U_9426 +ENCODING 37926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +3AA0 +4EE0 +FAA0 +2FE0 +FAA0 +2FE0 +BAA0 +6AA0 +3CA0 +C860 +ENDCHAR +STARTCHAR U_9427 +ENCODING 37927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +5EE0 +FAA0 +2FE0 +FAA0 +2BA0 +BAA0 +6BA0 +3820 +C860 +ENDCHAR +STARTCHAR U_9428 +ENCODING 37928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +57E0 +8A80 +FFE0 +24A0 +FFE0 +2440 +AFC0 +7440 +27C0 +FC60 +ENDCHAR +STARTCHAR U_9429 +ENCODING 37929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A20 +5540 +8BE0 +F920 +26C0 +FD80 +26C0 +ADA0 +76A0 +2500 +FBE0 +ENDCHAR +STARTCHAR U_942A +ENCODING 37930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +5100 +8FE0 +FD20 +27E0 +FD40 +27E0 +AD40 +77E0 +2520 +FA40 +ENDCHAR +STARTCHAR U_942B +ENCODING 37931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +57E0 +8C80 +F7E0 +2480 +F7E0 +2400 +AEE0 +7BA0 +2820 +F860 +ENDCHAR +STARTCHAR U_942C +ENCODING 37932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25C0 +5500 +8FE0 +F0A0 +2FE0 +F880 +2FA0 +AAA0 +7F40 +2AA0 +F520 +ENDCHAR +STARTCHAR U_942D +ENCODING 37933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +37E0 +4DA0 +F7E0 +27A0 +FD60 +2100 +B7E0 +6100 +3A80 +C460 +ENDCHAR +STARTCHAR U_942E +ENCODING 37934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8A80 +FFE0 +2AA0 +FFE0 +2AA0 +AFE0 +7A80 +2EC0 +F2A0 +ENDCHAR +STARTCHAR U_942F +ENCODING 37935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +37E0 +4A40 +F100 +27E0 +F900 +27E0 +B240 +67C0 +3A40 +C3C0 +ENDCHAR +STARTCHAR U_9430 +ENCODING 37936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +83C0 +F800 +2EE0 +FAA0 +2EE0 +A100 +7FE0 +2540 +F920 +ENDCHAR +STARTCHAR U_9431 +ENCODING 37937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5280 +8440 +FBA0 +2000 +FEE0 +2AA0 +AEE0 +7440 +2AA0 +F120 +ENDCHAR +STARTCHAR U_9432 +ENCODING 37938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5AA0 +8FE0 +F400 +27E0 +F920 +27E0 +AD60 +77E0 +2120 +F7C0 +ENDCHAR +STARTCHAR U_9433 +ENCODING 37939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5100 +8FE0 +F920 +2BA0 +FD60 +27C0 +AD40 +77C0 +2540 +FFC0 +ENDCHAR +STARTCHAR U_9434 +ENCODING 37940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +37E0 +4D00 +F5A0 +2740 +FCE0 +2740 +ADE0 +7540 +3F40 +C840 +ENDCHAR +STARTCHAR U_9435 +ENCODING 37941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +54A0 +8FE0 +FA80 +2E80 +F0A0 +2FA0 +A4C0 +7EA0 +2560 +FE20 +ENDCHAR +STARTCHAR U_9436 +ENCODING 37942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5AA0 +8FE0 +F000 +2FE0 +FC40 +27C0 +A920 +76C0 +2240 +F320 +ENDCHAR +STARTCHAR U_9437 +ENCODING 37943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57E0 +8A40 +FFE0 +2540 +FDC0 +27E0 +A900 +77E0 +2540 +F920 +ENDCHAR +STARTCHAR U_9438 +ENCODING 37944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5AA0 +8FE0 +F900 +27E0 +FA80 +27C0 +A900 +77E0 +2100 +F900 +ENDCHAR +STARTCHAR U_9439 +ENCODING 37945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BC0 +3640 +4B40 +F7E0 +2420 +FFA0 +26A0 +B7A0 +6460 +3800 +C7E0 +ENDCHAR +STARTCHAR U_943A +ENCODING 37946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +5540 +8FE0 +FAA0 +2380 +F800 +27E0 +AD20 +77E0 +2520 +FFE0 +ENDCHAR +STARTCHAR U_943B +ENCODING 37947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +5100 +8FE0 +FD20 +27E0 +FD00 +26A0 +ADC0 +7680 +25C0 +FAA0 +ENDCHAR +STARTCHAR U_943C +ENCODING 37948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8D40 +FFE0 +2440 +FFC0 +2440 +AFC0 +7440 +27C0 +FC60 +ENDCHAR +STARTCHAR U_943D +ENCODING 37949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +57E0 +8880 +FBE0 +2540 +FFE0 +2480 +AFE0 +7480 +2C80 +F3E0 +ENDCHAR +STARTCHAR U_943E +ENCODING 37950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +7940 +CBE0 +7C80 +0A80 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_943F +ENCODING 37951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +8A80 +FFE0 +2440 +FFC0 +2440 +AFC0 +72A0 +2660 +F9C0 +ENDCHAR +STARTCHAR U_9440 +ENCODING 37952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +5540 +8FE0 +F520 +2C40 +F7A0 +2200 +A7C0 +7C80 +2300 +FCE0 +ENDCHAR +STARTCHAR U_9441 +ENCODING 37953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +26A0 +5560 +FCA0 +27E0 +FA40 +23A0 +B4A0 +6300 +3980 +C660 +ENDCHAR +STARTCHAR U_9442 +ENCODING 37954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +2700 +5100 +FFE0 +2540 +FEC0 +27C0 +B100 +67E0 +3D40 +CAA0 +ENDCHAR +STARTCHAR U_9443 +ENCODING 37955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2760 +25A0 +5360 +FCA0 +27E0 +FC80 +27E0 +B480 +67E0 +3C80 +C7E0 +ENDCHAR +STARTCHAR U_9444 +ENCODING 37956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8100 +FFE0 +2120 +FFC0 +2040 +AFE0 +7B40 +2EC0 +F0C0 +ENDCHAR +STARTCHAR U_9445 +ENCODING 37957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5EE0 +8540 +FAA0 +2FE0 +F920 +2FE0 +A900 +7380 +2540 +F920 +ENDCHAR +STARTCHAR U_9446 +ENCODING 37958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2B40 +5A40 +8F40 +FAE0 +2440 +FF40 +24C0 +AF40 +7440 +2740 +FCC0 +ENDCHAR +STARTCHAR U_9447 +ENCODING 37959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +82A0 +FD40 +2560 +FD40 +27C0 +AC40 +77C0 +2840 +F040 +ENDCHAR +STARTCHAR U_9448 +ENCODING 37960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5540 +8FE0 +F920 +2DA0 +FB60 +2DA0 +AB60 +7DA0 +2920 +F960 +ENDCHAR +STARTCHAR U_9449 +ENCODING 37961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5FE0 +8540 +FFE0 +2100 +FFE0 +2440 +BFE0 +6AA0 +2AA0 +FFE0 +ENDCHAR +STARTCHAR U_944A +ENCODING 37962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +5FE0 +8240 +FFE0 +2480 +FFE0 +2480 +AFE0 +7240 +2180 +FE60 +ENDCHAR +STARTCHAR U_944B +ENCODING 37963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A940 +FAA0 +A940 +FFE0 +2A80 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_944C +ENCODING 37964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8820 +FFE0 +2540 +F7C0 +2C40 +AFC0 +7440 +27C0 +FC60 +ENDCHAR +STARTCHAR U_944D +ENCODING 37965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +AAA0 +AAA0 +FBE0 +5540 +8A20 +3F80 +C460 +3F80 +1500 +FFE0 +ENDCHAR +STARTCHAR U_944E +ENCODING 37966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2480 +55C0 +FD40 +27E0 +FD40 +25C0 +B540 +6480 +3D40 +C7E0 +ENDCHAR +STARTCHAR U_944F +ENCODING 37967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8AA0 +F5E0 +2000 +FFE0 +2AA0 +AFE0 +77C0 +2100 +F300 +ENDCHAR +STARTCHAR U_9450 +ENCODING 37968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5100 +8FE0 +F920 +2BA0 +FD60 +2FE0 +A100 +7FE0 +2AA0 +FAE0 +ENDCHAR +STARTCHAR U_9451 +ENCODING 37969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F40 +5A40 +8F60 +F940 +2FA0 +FA20 +2A00 +AFE0 +7AA0 +2AA0 +FFE0 +ENDCHAR +STARTCHAR U_9452 +ENCODING 37970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +A3E0 +FD00 +8880 +FFE0 +AAA0 +FFE0 +0400 +7FC0 +1500 +FFE0 +ENDCHAR +STARTCHAR U_9453 +ENCODING 37971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2BE0 +52A0 +FFE0 +2A40 +FA80 +2BE0 +BA20 +6BE0 +3800 +D7E0 +ENDCHAR +STARTCHAR U_9454 +ENCODING 37972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27E0 +5420 +FFE0 +2540 +FB80 +2440 +BFE0 +6100 +3540 +CB20 +ENDCHAR +STARTCHAR U_9455 +ENCODING 37973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +5880 +8FE0 +FAA0 +2AA0 +FFC0 +2440 +AFC0 +7440 +27C0 +FC60 +ENDCHAR +STARTCHAR U_9456 +ENCODING 37974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +27E0 +5240 +FFE0 +2520 +FFE0 +2140 +BFE0 +6540 +3EA0 +C960 +ENDCHAR +STARTCHAR U_9457 +ENCODING 37975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2E80 +54E0 +8FA0 +F4A0 +2FA0 +F440 +2920 +AD40 +7380 +2D40 +F320 +ENDCHAR +STARTCHAR U_9458 +ENCODING 37976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27C0 +5540 +FFC0 +2540 +FFE0 +2AA0 +BFE0 +6AA0 +3FE0 +C820 +ENDCHAR +STARTCHAR U_9459 +ENCODING 37977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2CA0 +55E0 +FE80 +25A0 +FD40 +27E0 +B420 +67E0 +3C20 +C7E0 +ENDCHAR +STARTCHAR U_945A +ENCODING 37978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2EE0 +5440 +FFE0 +2AA0 +FFE0 +2440 +B7C0 +6440 +37C0 +CC60 +ENDCHAR +STARTCHAR U_945B +ENCODING 37979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +27E0 +5540 +FFE0 +2540 +FFE0 +2540 +B7C0 +6540 +3BC0 +CA20 +ENDCHAR +STARTCHAR U_945C +ENCODING 37980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +5AA0 +F380 +2000 +FFC0 +2540 +B540 +67C0 +3A80 +C440 +ENDCHAR +STARTCHAR U_945D +ENCODING 37981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57E0 +8A40 +F9E0 +2540 +FCA0 +27E0 +AC80 +77E0 +2A80 +F1E0 +ENDCHAR +STARTCHAR U_945E +ENCODING 37982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +5540 +8AA0 +FFE0 +2AA0 +FFE0 +2540 +AFC0 +7540 +25C0 +FF20 +ENDCHAR +STARTCHAR U_945F +ENCODING 37983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +5100 +FFE0 +2AA0 +FFE0 +2540 +B540 +67C0 +3A80 +C440 +ENDCHAR +STARTCHAR U_9460 +ENCODING 37984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +5BC0 +86A0 +FBA0 +2AC0 +FFA0 +2100 +AFE0 +7380 +2540 +F920 +ENDCHAR +STARTCHAR U_9461 +ENCODING 37985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +25E0 +5500 +FFE0 +2000 +FFE0 +2AA0 +BFE0 +6AA0 +3920 +CFE0 +ENDCHAR +STARTCHAR U_9462 +ENCODING 37986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +5100 +8FE0 +FD20 +27E0 +FD40 +27C0 +AD40 +77C0 +2AA0 +F5C0 +ENDCHAR +STARTCHAR U_9463 +ENCODING 37987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8AA0 +FFE0 +2A00 +FAA0 +2BC0 +AAA0 +7BE0 +2540 +FAA0 +ENDCHAR +STARTCHAR U_9464 +ENCODING 37988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +87C0 +F440 +2FE0 +F280 +2FE0 +A540 +7BA0 +2540 +FB20 +ENDCHAR +STARTCHAR U_9465 +ENCODING 37989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2480 +57E0 +FCA0 +27E0 +FCA0 +27E0 +BC20 +67E0 +3C20 +C7E0 +ENDCHAR +STARTCHAR U_9466 +ENCODING 37990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F00 +2AE0 +5FA0 +EA40 +2FA0 +F000 +27C0 +B540 +67C0 +3A80 +C440 +ENDCHAR +STARTCHAR U_9467 +ENCODING 37991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5AA0 +F7C0 +2280 +F7C0 +2640 +B540 +67C0 +3AA0 +C4E0 +ENDCHAR +STARTCHAR U_9468 +ENCODING 37992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +24E0 +5F80 +8AE0 +F420 +2FE0 +FA80 +2EE0 +AA80 +7EE0 +2A80 +FAE0 +ENDCHAR +STARTCHAR U_9469 +ENCODING 37993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5100 +8FE0 +FBA0 +2FE0 +F100 +2FE0 +ABA0 +7FE0 +2100 +FFE0 +ENDCHAR +STARTCHAR U_946A +ENCODING 37994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +5100 +8FE0 +FD20 +27E0 +FD40 +27C0 +AD40 +77E0 +24A0 +FFE0 +ENDCHAR +STARTCHAR U_946B +ENCODING 37995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1500 +7FC0 +1500 +FFE0 +2080 +5140 +AAA0 +FFE0 +AAA0 +FFE0 +ENDCHAR +STARTCHAR U_946C +ENCODING 37996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2F80 +2AE0 +5F40 +EA20 +2FC0 +F540 +26C0 +B540 +67C0 +3AA0 +C4E0 +ENDCHAR +STARTCHAR U_946D +ENCODING 37997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +5AA0 +8EE0 +FAA0 +2FE0 +F920 +2FE0 +AAA0 +7FE0 +2BA0 +FD60 +ENDCHAR +STARTCHAR U_946E +ENCODING 37998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57E0 +8A40 +F7E0 +2AA0 +F7E0 +2AA0 +AC40 +77E0 +2540 +F4C0 +ENDCHAR +STARTCHAR U_946F +ENCODING 37999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AC0 +55A0 +8FE0 +FA80 +2BA0 +FAA0 +2BC0 +AA80 +7AA0 +2B60 +FE20 +ENDCHAR +STARTCHAR U_9470 +ENCODING 38000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +5440 +8BA0 +F000 +2FE0 +FAA0 +2FE0 +AAA0 +7FE0 +2AA0 +FAA0 +ENDCHAR +STARTCHAR U_9471 +ENCODING 38001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +57C0 +8C40 +F7C0 +24C0 +F4A0 +27E0 +AD40 +77C0 +22A0 +FCE0 +ENDCHAR +STARTCHAR U_9472 +ENCODING 38002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8AA0 +FEE0 +2280 +FFE0 +2280 +AFE0 +72A0 +2640 +FB20 +ENDCHAR +STARTCHAR U_9473 +ENCODING 38003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +8AA0 +F7C0 +2280 +FFE0 +2440 +AFC0 +75E0 +2500 +FBE0 +ENDCHAR +STARTCHAR U_9474 +ENCODING 38004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +57E0 +8D00 +FFE0 +2480 +F7E0 +2480 +AFE0 +7BA0 +2EE0 +FBA0 +ENDCHAR +STARTCHAR U_9475 +ENCODING 38005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5FE0 +8280 +FEE0 +2AA0 +FFE0 +2480 +AFE0 +7480 +2480 +FFE0 +ENDCHAR +STARTCHAR U_9476 +ENCODING 38006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +57E0 +8AA0 +F7E0 +5440 +FFC0 +4540 +DFE0 +7540 +57C0 +ECA0 +ENDCHAR +STARTCHAR U_9477 +ENCODING 38007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5240 +8BC0 +FA60 +27C0 +F840 +27E0 +AD40 +77C0 +2540 +FFC0 +ENDCHAR +STARTCHAR U_9478 +ENCODING 38008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5540 +87C0 +F540 +2FE0 +FAA0 +2FE0 +AAA0 +7FE0 +2100 +FFE0 +ENDCHAR +STARTCHAR U_9479 +ENCODING 38009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5AA0 +F540 +2C60 +F7C0 +2540 +B7C0 +6540 +3FC0 +C560 +ENDCHAR +STARTCHAR U_947A +ENCODING 38010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +5EE0 +EAA0 +2EE0 +F500 +2FE0 +B900 +6FE0 +3900 +CFE0 +ENDCHAR +STARTCHAR U_947B +ENCODING 38011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2EE0 +5540 +FEE0 +2540 +F7C0 +2540 +B920 +67C0 +3100 +C300 +ENDCHAR +STARTCHAR U_947C +ENCODING 38012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5AA0 +8FE0 +F540 +2BE0 +FF40 +25E0 +A940 +7FE0 +2B40 +F5E0 +ENDCHAR +STARTCHAR U_947D +ENCODING 38013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +5FE0 +8440 +FFE0 +2A40 +FFE0 +2440 +AFC0 +7440 +27C0 +FC60 +ENDCHAR +STARTCHAR U_947E +ENCODING 38014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E40 +A0A0 +4E40 +E0E0 +4E40 +AAA0 +1F00 +E4E0 +3F80 +1500 +FFE0 +ENDCHAR +STARTCHAR U_947F +ENCODING 38015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +29C0 +FD40 +2A60 +FDC0 +A480 +FF40 +1520 +E4E0 +3F80 +1500 +FFE0 +ENDCHAR +STARTCHAR U_9480 +ENCODING 38016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4740 +A460 +1F40 +F5E0 +5F40 +F040 +5E40 +DA40 +FF40 +55A0 +F520 +ENDCHAR +STARTCHAR U_9481 +ENCODING 38017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +5AA0 +8EE0 +FAA0 +2FE0 +F7E0 +2480 +AFE0 +7240 +2180 +FE60 +ENDCHAR +STARTCHAR U_9482 +ENCODING 38018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +5FE0 +84A0 +FFE0 +2AA0 +FFE0 +2100 +AFC0 +7100 +2FE0 +FAA0 +ENDCHAR +STARTCHAR U_9483 +ENCODING 38019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5820 +8FE0 +F900 +2FE0 +FAA0 +2FE0 +AD60 +7FA0 +2920 +FFC0 +ENDCHAR +STARTCHAR U_9484 +ENCODING 38020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +2FE0 +5440 +FEE0 +2AA0 +FEE0 +2AA0 +BFE0 +6920 +3BA0 +CD60 +ENDCHAR +STARTCHAR U_9485 +ENCODING 38021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 0 -1 +BITMAP +20 +20 +7C +80 +78 +20 +FC +20 +28 +30 +20 +ENDCHAR +STARTCHAR U_9486 +ENCODING 38022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +7A00 +8200 +FA00 +2200 +FA00 +2200 +2A20 +3220 +21E0 +ENDCHAR +STARTCHAR U_9487 +ENCODING 38023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +43C0 +7840 +8080 +F880 +2100 +F900 +2200 +2A20 +3220 +21E0 +ENDCHAR +STARTCHAR U_9488 +ENCODING 38024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4080 +7880 +8080 +FBE0 +2080 +F880 +2080 +2880 +3080 +2080 +ENDCHAR +STARTCHAR U_9489 +ENCODING 38025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47E0 +7880 +8080 +F880 +2080 +F880 +2080 +2880 +3080 +2380 +ENDCHAR +STARTCHAR U_948A +ENCODING 38026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +4020 +7920 +8120 +F920 +2120 +F920 +2120 +2820 +3020 +20E0 +ENDCHAR +STARTCHAR U_948B +ENCODING 38027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7900 +8100 +F980 +2140 +F920 +2120 +2900 +3100 +2100 +ENDCHAR +STARTCHAR U_948C +ENCODING 38028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4020 +7840 +8080 +F880 +2080 +F880 +2080 +2C80 +3280 +2100 +ENDCHAR +STARTCHAR U_948D +ENCODING 38029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4080 +7880 +8080 +FBE0 +2080 +F880 +2080 +2880 +3080 +27E0 +ENDCHAR +STARTCHAR U_948E +ENCODING 38030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +4380 +7880 +8080 +F880 +27E0 +F880 +2080 +2880 +3080 +2080 +ENDCHAR +STARTCHAR U_948F +ENCODING 38031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +4220 +7AA0 +82A0 +FAA0 +22A0 +FAA0 +22A0 +2AA0 +34A0 +2820 +ENDCHAR +STARTCHAR U_9490 +ENCODING 38032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +4080 +7900 +8220 +F840 +2080 +F920 +2040 +2880 +3100 +2600 +ENDCHAR +STARTCHAR U_9491 +ENCODING 38033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7A40 +4240 +FA80 +22E0 +2240 +FB40 +2280 +2C80 +3540 +2A20 +ENDCHAR +STARTCHAR U_9492 +ENCODING 38034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4240 +7A40 +8240 +FB40 +22C0 +FA40 +2240 +2A40 +3440 +2860 +ENDCHAR +STARTCHAR U_9493 +ENCODING 38035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +7BE0 +8420 +F820 +2220 +F920 +2120 +2820 +3120 +20C0 +ENDCHAR +STARTCHAR U_9494 +ENCODING 38036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +42E0 +7820 +8420 +FC20 +2420 +FC20 +2420 +2C20 +3420 +2460 +ENDCHAR +STARTCHAR U_9495 +ENCODING 38037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7900 +87E0 +FA40 +2240 +FC40 +2280 +2980 +3140 +2620 +ENDCHAR +STARTCHAR U_9496 +ENCODING 38038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +7880 +4100 +FA00 +27E0 +22A0 +FCA0 +2120 +2A20 +34A0 +2040 +ENDCHAR +STARTCHAR U_9497 +ENCODING 38039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47E0 +7AA0 +82A0 +FA40 +2240 +F940 +2080 +2980 +3240 +2420 +ENDCHAR +STARTCHAR U_9498 +ENCODING 38040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7A40 +4240 +FA40 +2FE0 +2240 +FA40 +2240 +2A40 +3440 +2840 +ENDCHAR +STARTCHAR U_9499 +ENCODING 38041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4080 +7A80 +82E0 +FC80 +27E0 +F820 +2020 +2820 +3120 +20C0 +ENDCHAR +STARTCHAR U_949A +ENCODING 38042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47E0 +7880 +8080 +F9C0 +22A0 +FCA0 +2080 +2880 +3080 +2080 +ENDCHAR +STARTCHAR U_949B +ENCODING 38043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7900 +87E0 +F900 +2100 +F900 +2180 +2A40 +3560 +2920 +ENDCHAR +STARTCHAR U_949C +ENCODING 38044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +4200 +7A00 +83E0 +FA20 +2220 +FBE0 +2220 +2A00 +3200 +23E0 +ENDCHAR +STARTCHAR U_949D +ENCODING 38045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7900 +8540 +FD40 +2540 +FFC0 +2100 +2920 +3120 +20E0 +ENDCHAR +STARTCHAR U_949E +ENCODING 38046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4080 +7AC0 +82A0 +FAA0 +2480 +F8A0 +2020 +2840 +3180 +2600 +ENDCHAR +STARTCHAR U_949F +ENCODING 38047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7FE0 +8520 +7520 +2520 +FFE0 +2100 +2900 +3100 +2100 +ENDCHAR +STARTCHAR U_94A0 +ENCODING 38048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4080 +7FE0 +84A0 +FCA0 +24A0 +FD60 +2620 +2C20 +3420 +2460 +ENDCHAR +STARTCHAR U_94A1 +ENCODING 38049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +7D40 +8540 +FD40 +2540 +FD40 +2540 +2A80 +3440 +2820 +ENDCHAR +STARTCHAR U_94A2 +ENCODING 38050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4420 +7CA0 +86A0 +FD20 +2520 +FDA0 +2660 +2C20 +3420 +24E0 +ENDCHAR +STARTCHAR U_94A3 +ENCODING 38051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +4380 +7A00 +83E0 +FA20 +2220 +FB40 +22C0 +2A80 +3540 +2A20 +ENDCHAR +STARTCHAR U_94A4 +ENCODING 38052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4280 +7C40 +8120 +F880 +2000 +FFC0 +2080 +2880 +3100 +2100 +ENDCHAR +STARTCHAR U_94A5 +ENCODING 38053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +4220 +7A20 +83E0 +FA20 +2220 +FBE0 +2220 +2A20 +34A0 +2840 +ENDCHAR +STARTCHAR U_94A6 +ENCODING 38054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +7BE0 +8220 +FD40 +2100 +F900 +2280 +2A80 +3440 +2820 +ENDCHAR +STARTCHAR U_94A7 +ENCODING 38055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +7BE0 +8420 +F920 +20A0 +F8A0 +2720 +2A20 +3020 +20C0 +ENDCHAR +STARTCHAR U_94A8 +ENCODING 38056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +7C40 +8440 +FD80 +2400 +FFE0 +2020 +2FA0 +3020 +20C0 +ENDCHAR +STARTCHAR U_94A9 +ENCODING 38057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +7BE0 +8420 +F920 +2120 +FAA0 +27E0 +2820 +3020 +20C0 +ENDCHAR +STARTCHAR U_94AA +ENCODING 38058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4080 +7FE0 +8000 +FB80 +2280 +FA80 +2280 +2AA0 +34A0 +2860 +ENDCHAR +STARTCHAR U_94AB +ENCODING 38059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4080 +7FE0 +8100 +F9E0 +2120 +F920 +2120 +2A20 +34E0 +2840 +ENDCHAR +STARTCHAR U_94AC +ENCODING 38060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4080 +7AA0 +82A0 +FAC0 +2480 +F880 +2080 +2980 +3240 +2420 +ENDCHAR +STARTCHAR U_94AD +ENCODING 38061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +4240 +7940 +8040 +FA40 +2140 +F8E0 +2740 +2840 +3040 +2040 +ENDCHAR +STARTCHAR U_94AE +ENCODING 38062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47C0 +7940 +8140 +F940 +27C0 +FA40 +2240 +2A40 +3240 +2FE0 +ENDCHAR +STARTCHAR U_94AF +ENCODING 38063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47E0 +7CA0 +84A0 +FCA0 +27E0 +FC00 +2400 +2C20 +3420 +23E0 +ENDCHAR +STARTCHAR U_94B0 +ENCODING 38064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47E0 +7900 +8100 +F900 +27C0 +F900 +2140 +2920 +3100 +2FE0 +ENDCHAR +STARTCHAR U_94B1 +ENCODING 38065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4240 +72E0 +8700 +F260 +2780 +F240 +2280 +2120 +32A0 +2C60 +ENDCHAR +STARTCHAR U_94B2 +ENCODING 38066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4080 +7880 +8080 +FA80 +22E0 +FA80 +2280 +2A80 +3280 +2FE0 +ENDCHAR +STARTCHAR U_94B3 +ENCODING 38067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +4240 +7FE0 +8240 +FA40 +23C0 +FA40 +2240 +2A40 +33C0 +2240 +ENDCHAR +STARTCHAR U_94B4 +ENCODING 38068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4080 +7FE0 +8080 +F880 +23E0 +FA20 +2220 +2A20 +33E0 +2220 +ENDCHAR +STARTCHAR U_94B5 +ENCODING 38069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7FE0 +8100 +FB80 +2540 +F920 +2100 +2FC0 +3100 +2100 +ENDCHAR +STARTCHAR U_94B6 +ENCODING 38070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4040 +7840 +8740 +FD40 +2540 +FF40 +2540 +2840 +3140 +2080 +ENDCHAR +STARTCHAR U_94B7 +ENCODING 38071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4400 +7C00 +85C0 +FD40 +2540 +FDC0 +2540 +2C00 +3400 +27E0 +ENDCHAR +STARTCHAR U_94B8 +ENCODING 38072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +43E0 +7900 +8280 +FBE0 +26A0 +FAA0 +22A0 +2AA0 +32E0 +2080 +ENDCHAR +STARTCHAR U_94B9 +ENCODING 38073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4240 +7FE0 +8200 +FBC0 +2240 +FA40 +2340 +2C80 +3940 +2620 +ENDCHAR +STARTCHAR U_94BA +ENCODING 38074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +40A0 +7FE0 +8480 +FCA0 +24A0 +FCA0 +24C0 +2EA0 +3560 +2220 +ENDCHAR +STARTCHAR U_94BB +ENCODING 38075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +79E0 +8100 +F900 +27E0 +FC20 +2420 +2C20 +37E0 +2420 +ENDCHAR +STARTCHAR U_94BC +ENCODING 38076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +4220 +7A20 +83E0 +FA20 +2220 +FBE0 +2220 +2A20 +33E0 +2220 +ENDCHAR +STARTCHAR U_94BD +ENCODING 38077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4240 +7A40 +8240 +FBC0 +2240 +FA40 +23C0 +2A40 +3000 +27E0 +ENDCHAR +STARTCHAR U_94BE +ENCODING 38078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +44A0 +7CA0 +87E0 +FCA0 +24A0 +FFE0 +2080 +2880 +3080 +2080 +ENDCHAR +STARTCHAR U_94BF +ENCODING 38079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47E0 +7CA0 +84A0 +FCA0 +27E0 +FCA0 +24A0 +2CA0 +37E0 +2420 +ENDCHAR +STARTCHAR U_94C0 +ENCODING 38080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4080 +7FE0 +84A0 +FCA0 +24A0 +FFE0 +24A0 +2CA0 +37E0 +2420 +ENDCHAR +STARTCHAR U_94C1 +ENCODING 38081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +7500 +47C0 +7900 +A100 +2FE0 +F100 +2280 +2A80 +3440 +2820 +ENDCHAR +STARTCHAR U_94C2 +ENCODING 38082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4100 +7BE0 +8220 +FA20 +23E0 +FA20 +2220 +2A20 +33E0 +2220 +ENDCHAR +STARTCHAR U_94C3 +ENCODING 38083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4180 +7A40 +8520 +F880 +2000 +FBE0 +2040 +2A80 +3100 +2080 +ENDCHAR +STARTCHAR U_94C4 +ENCODING 38084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +4380 +7A00 +8280 +FA80 +27E0 +F880 +22C0 +2AA0 +34A0 +2980 +ENDCHAR +STARTCHAR U_94C5 +ENCODING 38085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4240 +7A40 +8240 +FC60 +2000 +FBE0 +2220 +2A20 +33E0 +2220 +ENDCHAR +STARTCHAR U_94C6 +ENCODING 38086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4CE0 +78A0 +8AA0 +FAA0 +2AA0 +FEA0 +2AA0 +2AE0 +3480 +2880 +ENDCHAR +STARTCHAR U_94C7 +ENCODING 38087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2200 +77C0 +8840 +7740 +2540 +F740 +24C0 +2420 +3420 +23E0 +ENDCHAR +STARTCHAR U_94C8 +ENCODING 38088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +47E0 +7880 +83E0 +FAA0 +22A0 +FAA0 +22A0 +2AA0 +32E0 +2080 +ENDCHAR +STARTCHAR U_94C9 +ENCODING 38089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4100 +7FE0 +8100 +FA20 +27C0 +F880 +2100 +2A40 +37A0 +2020 +ENDCHAR +STARTCHAR U_94CA +ENCODING 38090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +47E0 +7C20 +8000 +FA00 +2240 +FA80 +2300 +2A20 +3220 +21E0 +ENDCHAR +STARTCHAR U_94CB +ENCODING 38091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4120 +40A0 +78A0 +8140 +F940 +2560 +FDA0 +2100 +2B20 +3520 +28E0 +ENDCHAR +STARTCHAR U_94CC +ENCODING 38092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4420 +7C20 +87E0 +FC00 +2520 +FD40 +2580 +2D20 +3520 +28E0 +ENDCHAR +STARTCHAR U_94CD +ENCODING 38093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +43E0 +7AA0 +8280 +FA80 +23E0 +FA40 +2340 +2A80 +3540 +2A20 +ENDCHAR +STARTCHAR U_94CE +ENCODING 38094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4240 +7980 +8660 +F880 +2080 +FBE0 +2080 +2FE0 +3080 +2080 +ENDCHAR +STARTCHAR U_94CF +ENCODING 38095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +5F20 +6AA0 +8AA0 +FFA0 +4AA0 +EAA0 +4AA0 +4A20 +6A20 +5260 +ENDCHAR +STARTCHAR U_94D0 +ENCODING 38096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4120 +47A0 +7940 +87E0 +F900 +23E0 +FD00 +23E0 +2820 +3120 +20C0 +ENDCHAR +STARTCHAR U_94D1 +ENCODING 38097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4120 +7FA0 +8140 +FFE0 +2100 +FA40 +2680 +2B20 +3220 +21E0 +ENDCHAR +STARTCHAR U_94D2 +ENCODING 38098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4240 +7A40 +83C0 +FA40 +23C0 +FA40 +2260 +2FC0 +3040 +2040 +ENDCHAR +STARTCHAR U_94D3 +ENCODING 38099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +4FE0 +7240 +8240 +7100 +2FE0 +F200 +2200 +2200 +3200 +23C0 +ENDCHAR +STARTCHAR U_94D4 +ENCODING 38100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +7280 +8280 +7AA0 +26A0 +F6C0 +2280 +2A80 +37E0 +2000 +ENDCHAR +STARTCHAR U_94D5 +ENCODING 38101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7900 +83E0 +FA20 +27E0 +FA20 +23E0 +2A20 +3220 +2260 +ENDCHAR +STARTCHAR U_94D6 +ENCODING 38102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +40A0 +7FE0 +8880 +FE80 +4AA0 +FAA0 +4A40 +5EC0 +6960 +5220 +ENDCHAR +STARTCHAR U_94D7 +ENCODING 38103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7900 +8520 +FB40 +2100 +FFE0 +2100 +2980 +3240 +2C20 +ENDCHAR +STARTCHAR U_94D8 +ENCODING 38104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +42A0 +7AA0 +8AC0 +FFA0 +22A0 +FAA0 +26A0 +2AE0 +3280 +2680 +ENDCHAR +STARTCHAR U_94D9 +ENCODING 38105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +47E0 +7A80 +8120 +FAA0 +2440 +FFE0 +2280 +2AA0 +34A0 +2860 +ENDCHAR +STARTCHAR U_94DA +ENCODING 38106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +7100 +8240 +F7E0 +4100 +F100 +47C0 +5100 +6100 +4FE0 +ENDCHAR +STARTCHAR U_94DB +ENCODING 38107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44A0 +42A0 +7AC0 +8080 +FBE0 +2020 +F820 +23E0 +2820 +37E0 +2020 +ENDCHAR +STARTCHAR U_94DC +ENCODING 38108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +7820 +8BA0 +F820 +4BA0 +FAA0 +4BA0 +5820 +6820 +48E0 +ENDCHAR +STARTCHAR U_94DD +ENCODING 38109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4240 +7A40 +83C0 +FA40 +2000 +FFE0 +2420 +2C20 +37E0 +2420 +ENDCHAR +STARTCHAR U_94DE +ENCODING 38110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +4220 +7A20 +83E0 +F880 +27E0 +FCA0 +24A0 +2CA0 +34E0 +2080 +ENDCHAR +STARTCHAR U_94DF +ENCODING 38111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4920 +7920 +8FE0 +F920 +4920 +F9A0 +4A60 +5C20 +6FE0 +4820 +ENDCHAR +STARTCHAR U_94E0 +ENCODING 38112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44A0 +44A0 +7FE0 +8000 +FFE0 +2020 +FBE0 +2200 +2A20 +3220 +21E0 +ENDCHAR +STARTCHAR U_94E1 +ENCODING 38113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F20 +5120 +7520 +95A0 +F5A0 +55A0 +F5A0 +5520 +4420 +6A20 +5160 +ENDCHAR +STARTCHAR U_94E2 +ENCODING 38114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4500 +77E0 +8900 +F100 +2FE0 +F100 +2380 +2540 +3920 +2100 +ENDCHAR +STARTCHAR U_94E3 +ENCODING 38115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4500 +7FE0 +8500 +F900 +27E0 +FA80 +2280 +2AA0 +34A0 +2860 +ENDCHAR +STARTCHAR U_94E4 +ENCODING 38116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E20 +43C0 +7240 +8440 +FFE0 +2240 +FA40 +25E0 +2A00 +3500 +28E0 +ENDCHAR +STARTCHAR U_94E5 +ENCODING 38117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +43C0 +7880 +83E0 +F880 +27E0 +F880 +2100 +2A40 +37A0 +2220 +ENDCHAR +STARTCHAR U_94E6 +ENCODING 38118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +7700 +8100 +7100 +2FE0 +2100 +F7C0 +2440 +2440 +37C0 +2440 +ENDCHAR +STARTCHAR U_94E7 +ENCODING 38119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +42A0 +7EC0 +8380 +FAA0 +22E0 +F880 +27E0 +2880 +3080 +2080 +ENDCHAR +STARTCHAR U_94E8 +ENCODING 38120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4280 +7C40 +8020 +FFC0 +2100 +F900 +27C0 +2900 +3100 +27E0 +ENDCHAR +STARTCHAR U_94E9 +ENCODING 38121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +4240 +7980 +8660 +F880 +27E0 +F880 +22C0 +2AA0 +34A0 +2180 +ENDCHAR +STARTCHAR U_94EA +ENCODING 38122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4180 +7240 +8420 +FBC0 +2000 +FBC0 +2240 +2A40 +33C0 +2240 +ENDCHAR +STARTCHAR U_94EB +ENCODING 38123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4280 +7AA0 +86C0 +FA80 +22C0 +FEA0 +2280 +2AA0 +34A0 +2860 +ENDCHAR +STARTCHAR U_94EC +ENCODING 38124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +43C0 +7A40 +8580 +FA40 +2420 +FBE0 +2240 +2A40 +33C0 +2240 +ENDCHAR +STARTCHAR U_94ED +ENCODING 38125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +41E0 +7A20 +8540 +F880 +2100 +FBE0 +2620 +2A20 +33E0 +2220 +ENDCHAR +STARTCHAR U_94EE +ENCODING 38126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4380 +7500 +8FC0 +F140 +2FE0 +F140 +27C0 +2100 +3100 +2300 +ENDCHAR +STARTCHAR U_94EF +ENCODING 38127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +43C0 +7A80 +87E0 +FAA0 +22A0 +FBE0 +2220 +2A00 +3220 +21E0 +ENDCHAR +STARTCHAR U_94F0 +ENCODING 38128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4080 +7FE0 +8240 +FC20 +2040 +FA40 +2180 +2980 +3240 +2420 +ENDCHAR +STARTCHAR U_94F1 +ENCODING 38129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4100 +7FE0 +8100 +FA80 +26A0 +FAC0 +2280 +2A40 +3320 +2620 +ENDCHAR +STARTCHAR U_94F2 +ENCODING 38130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7A20 +8140 +FFE0 +2400 +FC00 +2400 +2C00 +3400 +2800 +ENDCHAR +STARTCHAR U_94F3 +ENCODING 38131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7900 +8240 +FFA0 +2000 +FA80 +2280 +2AA0 +34A0 +2860 +ENDCHAR +STARTCHAR U_94F4 +ENCODING 38132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BE0 +4440 +7080 +8900 +F7E0 +42A0 +F520 +4E60 +54A0 +6520 +46C0 +ENDCHAR +STARTCHAR U_94F5 +ENCODING 38133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7C20 +8100 +FFE0 +2140 +F940 +2240 +2A80 +3140 +2620 +ENDCHAR +STARTCHAR U_94F6 +ENCODING 38134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +7C40 +87C0 +FC40 +27C0 +FD20 +2540 +2C80 +3540 +2620 +ENDCHAR +STARTCHAR U_94F7 +ENCODING 38135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +4400 +7FE0 +8AA0 +FAA0 +2AA0 +FAA0 +2AA0 +26A0 +35E0 +28A0 +ENDCHAR +STARTCHAR U_94F8 +ENCODING 38136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7100 +87E0 +F200 +2FE0 +F440 +27E0 +2C40 +3240 +20C0 +ENDCHAR +STARTCHAR U_94F9 +ENCODING 38137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4FE0 +7280 +8FE0 +F820 +2100 +FFE0 +2120 +2920 +32E0 +2C40 +ENDCHAR +STARTCHAR U_94FA +ENCODING 38138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +4140 +7FE0 +8100 +FFE0 +2520 +FFE0 +2520 +2FE0 +3520 +2560 +ENDCHAR +STARTCHAR U_94FB +ENCODING 38139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4100 +77C0 +8140 +7140 +27E0 +F000 +23C0 +2A40 +3240 +23C0 +ENDCHAR +STARTCHAR U_94FC +ENCODING 38140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7900 +8540 +FB80 +27E0 +F900 +2380 +2B40 +3520 +2100 +ENDCHAR +STARTCHAR U_94FD +ENCODING 38141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +70A0 +8FE0 +F280 +2580 +2680 +FD80 +24A0 +2DA0 +3760 +2020 +ENDCHAR +STARTCHAR U_94FE +ENCODING 38142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4BE0 +7500 +8280 +FFE0 +2480 +FFE0 +2480 +2480 +3A00 +29E0 +ENDCHAR +STARTCHAR U_94FF +ENCODING 38143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4AE0 +7AA0 +8AA0 +FA40 +22A0 +F120 +2100 +2FC0 +3100 +2FE0 +ENDCHAR +STARTCHAR U_9500 +ENCODING 38144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4520 +7B40 +87E0 +FC20 +27E0 +FC20 +27E0 +2C20 +3420 +24E0 +ENDCHAR +STARTCHAR U_9501 +ENCODING 38145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +4100 +77C0 +8440 +7540 +2540 +F540 +2540 +3280 +2C60 +ENDCHAR +STARTCHAR U_9502 +ENCODING 38146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +42A0 +7AA0 +83E0 +FAA0 +23E0 +F880 +23E0 +2880 +3080 +27E0 +ENDCHAR +STARTCHAR U_9503 +ENCODING 38147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +4220 +7A20 +83E0 +F800 +27E0 +F880 +23E0 +2880 +3080 +27E0 +ENDCHAR +STARTCHAR U_9504 +ENCODING 38148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4E80 +7BE0 +8EA0 +FAA0 +4AA0 +FEA0 +4AA0 +5AA0 +6F20 +42C0 +ENDCHAR +STARTCHAR U_9505 +ENCODING 38149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4240 +7A40 +83C0 +F900 +27E0 +FD20 +25A0 +2E60 +3420 +2460 +ENDCHAR +STARTCHAR U_9506 +ENCODING 38150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4280 +7BE0 +8480 +F880 +27E0 +F800 +23E0 +2A20 +33E0 +2220 +ENDCHAR +STARTCHAR U_9507 +ENCODING 38151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +46C0 +7AA0 +87E0 +FA80 +23A0 +FEA0 +22C0 +2A80 +3360 +2620 +ENDCHAR +STARTCHAR U_9508 +ENCODING 38152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +7100 +8FE0 +F540 +2920 +F7C0 +2280 +22E0 +2A20 +3420 +28C0 +ENDCHAR +STARTCHAR U_9509 +ENCODING 38153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4540 +7D40 +8540 +FBA0 +2120 +F900 +27C0 +2900 +3100 +2FE0 +ENDCHAR +STARTCHAR U_950A +ENCODING 38154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +47A0 +7D20 +82C0 +F840 +27E0 +F840 +2240 +2940 +3040 +20C0 +ENDCHAR +STARTCHAR U_950B +ENCODING 38155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4640 +7980 +8660 +F900 +27E0 +F900 +23C0 +2900 +37E0 +2100 +ENDCHAR +STARTCHAR U_950C +ENCODING 38156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +37E0 +4220 +F940 +27E0 +F880 +2080 +23E0 +2880 +3080 +2080 +ENDCHAR +STARTCHAR U_950D +ENCODING 38157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7900 +8240 +FFA0 +2000 +FD40 +2540 +2D40 +3540 +2960 +ENDCHAR +STARTCHAR U_950E +ENCODING 38158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +4220 +7820 +8FE0 +FAA0 +4FE0 +FAA0 +4AA0 +5AA0 +6CA0 +4860 +ENDCHAR +STARTCHAR U_950F +ENCODING 38159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +4220 +7820 +8BA0 +FAA0 +4BA0 +FAA0 +4BA0 +5820 +6820 +4860 +ENDCHAR +STARTCHAR U_9510 +ENCODING 38160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4280 +77C0 +8440 +F440 +27C0 +F280 +2280 +2AA0 +34A0 +28E0 +ENDCHAR +STARTCHAR U_9511 +ENCODING 38161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4280 +7FE0 +8120 +FFE0 +2500 +FFE0 +2120 +2B20 +3560 +2900 +ENDCHAR +STARTCHAR U_9512 +ENCODING 38162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +7C40 +87C0 +FC40 +27C0 +FD20 +2540 +2C80 +3540 +2620 +ENDCHAR +STARTCHAR U_9513 +ENCODING 38163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4040 +7BC0 +8040 +FFE0 +2420 +FBC0 +2240 +2980 +3180 +2660 +ENDCHAR +STARTCHAR U_9514 +ENCODING 38164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4420 +7FE0 +8400 +FFE0 +2420 +FFA0 +26A0 +2FA0 +3420 +28C0 +ENDCHAR +STARTCHAR U_9515 +ENCODING 38165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +5440 +7440 +99C0 +F540 +5540 +F5C0 +5C40 +5040 +7040 +50C0 +ENDCHAR +STARTCHAR U_9516 +ENCODING 38166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4100 +77C0 +8100 +FFE0 +2240 +FBC0 +2240 +2BC0 +3240 +22C0 +ENDCHAR +STARTCHAR U_9517 +ENCODING 38167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47A0 +7940 +87E0 +F900 +23C0 +FE40 +23C0 +2A40 +33C0 +2240 +ENDCHAR +STARTCHAR U_9518 +ENCODING 38168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +47E0 +7A40 +8100 +FFE0 +2100 +FBE0 +2620 +2A20 +33E0 +2220 +ENDCHAR +STARTCHAR U_9519 +ENCODING 38169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4FE0 +7280 +8280 +EFE0 +4000 +F7C0 +4440 +47C0 +5440 +67C0 +ENDCHAR +STARTCHAR U_951A +ENCODING 38170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +47E0 +7A40 +8000 +FFE0 +24A0 +FCA0 +27E0 +2CA0 +37E0 +2420 +ENDCHAR +STARTCHAR U_951B +ENCODING 38171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7280 +8540 +FFE0 +2100 +F240 +2FE0 +2240 +3440 +2840 +ENDCHAR +STARTCHAR U_951C +ENCODING 38172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +77C0 +4280 +F440 +2FE0 +F040 +2F40 +2540 +3740 +2140 +0080 +ENDCHAR +STARTCHAR U_951D +ENCODING 38173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4240 +7BC0 +8240 +FBC0 +2000 +FBE0 +2040 +2FE0 +3240 +21C0 +ENDCHAR +STARTCHAR U_951E +ENCODING 38174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4540 +7FC0 +8540 +FFC0 +2100 +FFE0 +2180 +2B40 +3520 +2920 +ENDCHAR +STARTCHAR U_951F +ENCODING 38175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4420 +7FE0 +8420 +FFE0 +2480 +FCA0 +27C0 +2C80 +35A0 +2660 +ENDCHAR +STARTCHAR U_9520 +ENCODING 38176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +3BC0 +4240 +FBC0 +2000 +FFE0 +2420 +27E0 +3420 +27E0 +ENDCHAR +STARTCHAR U_9521 +ENCODING 38177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +77C0 +8440 +FFC0 +2400 +F7E0 +2AA0 +22A0 +3520 +22C0 +ENDCHAR +STARTCHAR U_9522 +ENCODING 38178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4820 +7920 +8FE0 +F920 +4BA0 +FAA0 +4BA0 +5820 +6FE0 +4820 +ENDCHAR +STARTCHAR U_9523 +ENCODING 38179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +7AA0 +8FE0 +F900 +21E0 +F220 +2540 +2880 +3300 +2C00 +ENDCHAR +STARTCHAR U_9524 +ENCODING 38180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4700 +7100 +8FE0 +F540 +2FE0 +F540 +2540 +2FE0 +3100 +27C0 +ENDCHAR +STARTCHAR U_9525 +ENCODING 38181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +4480 +7FE0 +8480 +FFE0 +2480 +FFE0 +2480 +2C80 +37E0 +2400 +ENDCHAR +STARTCHAR U_9526 +ENCODING 38182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +7C40 +87C0 +FC40 +27C0 +F900 +2FE0 +2920 +3960 +2100 +ENDCHAR +STARTCHAR U_9527 +ENCODING 38183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +6880 +8FE0 +E880 +4BE0 +EA20 +4AA0 +4AA0 +6AA0 +5140 +2220 +ENDCHAR +STARTCHAR U_9528 +ENCODING 38184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4C80 +78E0 +8920 +FE80 +4A80 +FA80 +4A80 +5A80 +6B40 +5220 +ENDCHAR +STARTCHAR U_9529 +ENCODING 38185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +4540 +7FE0 +8100 +FFE0 +2240 +FFE0 +2240 +2AC0 +3220 +21E0 +ENDCHAR +STARTCHAR U_952A +ENCODING 38186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +47E0 +7AA0 +84A0 +F920 +22C0 +F900 +22C0 +2A20 +3660 +29C0 +ENDCHAR +STARTCHAR U_952B +ENCODING 38187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7A20 +8140 +FFE0 +2000 +FBE0 +2220 +2A20 +33E0 +2220 +ENDCHAR +STARTCHAR U_952C +ENCODING 38188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40A0 +42C0 +7A80 +8540 +FAA0 +2080 +FAA0 +22C0 +2C80 +3140 +2620 +ENDCHAR +STARTCHAR U_952D +ENCODING 38189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7C20 +8000 +FFE0 +2080 +FAE0 +2280 +2A80 +3580 +28E0 +ENDCHAR +STARTCHAR U_952E +ENCODING 38190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C80 +47E0 +68A0 +8BE0 +FCA0 +47E0 +E480 +57E0 +4880 +6C80 +53E0 +ENDCHAR +STARTCHAR U_952F +ENCODING 38191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4420 +7C20 +87E0 +FC80 +27E0 +FC80 +27E0 +2A20 +33E0 +2220 +ENDCHAR +STARTCHAR U_9530 +ENCODING 38192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4080 +7100 +8FE0 +F100 +4300 +F000 +4FE0 +5AA0 +6AA0 +5FE0 +ENDCHAR +STARTCHAR U_9531 +ENCODING 38193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +42A0 +7D40 +82A0 +FAA0 +27E0 +FCA0 +27E0 +2CA0 +37E0 +2420 +ENDCHAR +STARTCHAR U_9532 +ENCODING 38194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +4FE0 +74A0 +8EA0 +F4A0 +4EA0 +F540 +4FE0 +5100 +6280 +4C60 +ENDCHAR +STARTCHAR U_9533 +ENCODING 38195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +7280 +4100 +F7C0 +2540 +F540 +2FE0 +2280 +3440 +2820 +ENDCHAR +STARTCHAR U_9534 +ENCODING 38196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +44A0 +7FC0 +84A0 +FEE0 +2080 +FBE0 +2220 +2BE0 +3220 +23E0 +ENDCHAR +STARTCHAR U_9535 +ENCODING 38197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +42E0 +7B20 +86A0 +FA40 +22C0 +FBE0 +2740 +2AC0 +3240 +22C0 +ENDCHAR +STARTCHAR U_9536 +ENCODING 38198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +44A0 +7CA0 +87E0 +FCA0 +27E0 +F900 +22C0 +2A20 +3640 +29C0 +ENDCHAR +STARTCHAR U_9537 +ENCODING 38199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +7EE0 +8000 +F7C0 +2000 +FFE0 +2200 +27C0 +3040 +2180 +ENDCHAR +STARTCHAR U_9538 +ENCODING 38200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +4380 +7080 +87E0 +F880 +22E0 +FCA0 +27E0 +2CA0 +37E0 +2420 +ENDCHAR +STARTCHAR U_9539 +ENCODING 38201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +4C40 +7540 +8F60 +F540 +2640 +F540 +2C40 +2CA0 +3520 +2620 +ENDCHAR +STARTCHAR U_953A +ENCODING 38202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4100 +7FE0 +8540 +FFC0 +2540 +FFC0 +2100 +2FC0 +3100 +2FE0 +ENDCHAR +STARTCHAR U_953B +ENCODING 38203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7D40 +4940 +8E60 +F800 +4FE0 +F940 +4F40 +5880 +6940 +4A20 +ENDCHAR +STARTCHAR U_953C +ENCODING 38204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +4D60 +7920 +8FE0 +F920 +4FE0 +F100 +47E0 +5240 +6180 +4E60 +ENDCHAR +STARTCHAR U_953D +ENCODING 38205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +47C0 +7440 +87C0 +7440 +27C0 +F900 +2100 +27C0 +3100 +2FE0 +ENDCHAR +STARTCHAR U_953E +ENCODING 38206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4520 +7AC0 +87E0 +F900 +27E0 +FA00 +23E0 +2D40 +3880 +2360 +ENDCHAR +STARTCHAR U_953F +ENCODING 38207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7800 +83C0 +FA40 +23C0 +F900 +22A0 +2E40 +3320 +2220 +ENDCHAR +STARTCHAR U_9540 +ENCODING 38208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +47E0 +7D40 +87E0 +FD40 +25C0 +FC00 +27E0 +2D40 +3480 +2B60 +ENDCHAR +STARTCHAR U_9541 +ENCODING 38209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +4FE0 +7100 +87C0 +F900 +27E0 +F900 +27E0 +2980 +3240 +2C20 +ENDCHAR +STARTCHAR U_9542 +ENCODING 38210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44A0 +42C0 +77E0 +8080 +F9C0 +26A0 +F900 +27E0 +2A40 +3180 +2660 +ENDCHAR +STARTCHAR U_9543 +ENCODING 38211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +4480 +7FE0 +8440 +E880 +4AA0 +FFE0 +4440 +4AA0 +7FE0 +4220 +ENDCHAR +STARTCHAR U_9544 +ENCODING 38212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +47E0 +72A0 +87C0 +FAA0 +24A0 +FFE0 +2540 +2D40 +3280 +2460 +ENDCHAR +STARTCHAR U_9545 +ENCODING 38213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +44A0 +77E0 +8400 +FDE0 +2520 +FDE0 +2520 +2DE0 +3520 +29E0 +ENDCHAR +STARTCHAR U_9546 +ENCODING 38214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4FE0 +7280 +87C0 +FC40 +27C0 +FC40 +27E0 +2900 +3280 +2C60 +ENDCHAR +STARTCHAR U_9547 +ENCODING 38215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7100 +87C0 +FC40 +2740 +FDC0 +2440 +2FE0 +3280 +2C60 +ENDCHAR +STARTCHAR U_9548 +ENCODING 38216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7FE0 +8540 +F7C0 +4540 +F7C0 +4540 +5FE0 +6240 +4340 +0080 +ENDCHAR +STARTCHAR U_9549 +ENCODING 38217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4000 +73C0 +8240 +FA40 +27E0 +FD60 +24A0 +2FE0 +34A0 +24E0 +ENDCHAR +STARTCHAR U_954A +ENCODING 38218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4240 +73C0 +8240 +FFE0 +4040 +FEE0 +4AA0 +5440 +6AA0 +5120 +ENDCHAR +STARTCHAR U_954B +ENCODING 38219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4540 +7FE0 +9020 +E780 +4480 +E780 +4300 +5520 +6520 +48E0 +ENDCHAR +STARTCHAR U_954C +ENCODING 38220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +4480 +7FE0 +8480 +FFE0 +2480 +FFE0 +2280 +2AE0 +3420 +28E0 +ENDCHAR +STARTCHAR U_954D +ENCODING 38221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +7C40 +87C0 +FC40 +27C0 +F900 +27E0 +2B80 +3540 +2920 +ENDCHAR +STARTCHAR U_954E +ENCODING 38222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +46C0 +79A0 +87C0 +F440 +27C0 +F900 +27C0 +2900 +37E0 +2300 +ENDCHAR +STARTCHAR U_954F +ENCODING 38223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +45E0 +74A0 +86A0 +FDE0 +2240 +FFE0 +2520 +2FE0 +3520 +27E0 +ENDCHAR +STARTCHAR U_9550 +ENCODING 38224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +4FE0 +7240 +83C0 +F000 +4FE0 +F820 +4BA0 +5AA0 +6BA0 +4860 +ENDCHAR +STARTCHAR U_9551 +ENCODING 38225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7280 +8FE0 +F920 +2FE0 +FA00 +23C0 +2A40 +3440 +2980 +ENDCHAR +STARTCHAR U_9552 +ENCODING 38226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4A80 +77E0 +8800 +F280 +4440 +F820 +4FE0 +5AA0 +6AA0 +4FE0 +ENDCHAR +STARTCHAR U_9553 +ENCODING 38227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7820 +8FE0 +F220 +4D40 +F280 +4D40 +52A0 +6CA0 +4300 +ENDCHAR +STARTCHAR U_9554 +ENCODING 38228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +47E0 +7420 +81C0 +FA00 +23E0 +FA40 +27E0 +2A80 +3440 +2820 +ENDCHAR +STARTCHAR U_9555 +ENCODING 38229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7820 +8440 +7920 +2280 +F440 +2FE0 +2440 +37C0 +2440 +ENDCHAR +STARTCHAR U_9556 +ENCODING 38230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4280 +7FE0 +8AA0 +FFE0 +4000 +F7C0 +4000 +5FE0 +6940 +5320 +ENDCHAR +STARTCHAR U_9557 +ENCODING 38231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4920 +4540 +7FE0 +8820 +F7C0 +4440 +F7C0 +4100 +57C0 +6100 +4FE0 +ENDCHAR +STARTCHAR U_9558 +ENCODING 38232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +77C0 +8440 +FFE0 +4AA0 +FFE0 +4440 +5280 +6100 +4EE0 +ENDCHAR +STARTCHAR U_9559 +ENCODING 38233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4520 +77E0 +8520 +F7E0 +4240 +F780 +4240 +5FE0 +6540 +4B20 +ENDCHAR +STARTCHAR U_955A +ENCODING 38234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4920 +6FE0 +8000 +EEE0 +4AA0 +EEE0 +4AA0 +4EE0 +6AA0 +5360 +ENDCHAR +STARTCHAR U_955B +ENCODING 38235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7940 +8FE0 +F940 +4FE0 +F920 +4FE0 +5920 +6FE0 +4920 +ENDCHAR +STARTCHAR U_955C +ENCODING 38236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7280 +8FE0 +F440 +27C0 +F440 +27C0 +2A80 +32A0 +2C60 +ENDCHAR +STARTCHAR U_955D +ENCODING 38237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7280 +8FE0 +F920 +4FE0 +F920 +4BA0 +5AA0 +6BA0 +4AE0 +ENDCHAR +STARTCHAR U_955E +ENCODING 38238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +44E0 +7F00 +8880 +FEE0 +4B40 +FBE0 +4A40 +5A40 +6EA0 +5520 +ENDCHAR +STARTCHAR U_955F +ENCODING 38239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +44E0 +7F00 +89E0 +FC60 +5540 +F560 +5540 +5540 +76C0 +5C60 +ENDCHAR +STARTCHAR U_9560 +ENCODING 38240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +4AA0 +7660 +8AA0 +7100 +2280 +FD60 +2280 +2140 +3080 +2700 +ENDCHAR +STARTCHAR U_9561 +ENCODING 38241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4280 +7FE0 +8AA0 +FFE0 +4440 +F7C0 +4440 +5FE0 +6100 +4100 +ENDCHAR +STARTCHAR U_9562 +ENCODING 38242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4D40 +7A40 +8FE0 +FAA0 +4AC0 +FFC0 +4A40 +5A40 +6CA0 +4920 +ENDCHAR +STARTCHAR U_9563 +ENCODING 38243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7B40 +8480 +FFE0 +2440 +FFC0 +2440 +2FC0 +3540 +2B20 +ENDCHAR +STARTCHAR U_9564 +ENCODING 38244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AA0 +46C0 +7FE0 +8280 +FFE0 +2100 +F7C0 +2100 +2FE0 +3280 +2C60 +ENDCHAR +STARTCHAR U_9565 +ENCODING 38245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4480 +7FC0 +8540 +FFC0 +2540 +FFE0 +2440 +27C0 +2C40 +37C0 +ENDCHAR +STARTCHAR U_9566 +ENCODING 38246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +4F80 +7AE0 +8EA0 +F0A0 +4FA0 +F2A0 +44A0 +5E40 +64A0 +4D20 +ENDCHAR +STARTCHAR U_9567 +ENCODING 38247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +4420 +7920 +8FE0 +F920 +4FE0 +FAA0 +4FE0 +5920 +6BA0 +4D60 +ENDCHAR +STARTCHAR U_9568 +ENCODING 38248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4FE0 +7AA0 +86C0 +FFE0 +2000 +F7C0 +2440 +2FC0 +3440 +27C0 +ENDCHAR +STARTCHAR U_9569 +ENCODING 38249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7AA0 +8540 +F7C0 +4540 +FFE0 +4920 +5FE0 +6100 +4100 +ENDCHAR +STARTCHAR U_956A +ENCODING 38250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4DE0 +4520 +7DE0 +8880 +FBE0 +2EA0 +F2A0 +23E0 +2A80 +32A0 +2DE0 +ENDCHAR +STARTCHAR U_956B +ENCODING 38251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F40 +4AA0 +7440 +87A0 +F800 +47C0 +F440 +47C0 +5440 +6280 +4FE0 +ENDCHAR +STARTCHAR U_956C +ENCODING 38252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +4FE0 +7240 +87E0 +FC80 +27E0 +FC80 +27E0 +2A40 +3180 +2660 +ENDCHAR +STARTCHAR U_956D +ENCODING 38253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4100 +7FE0 +8920 +FBA0 +2540 +FFE0 +2520 +2FE0 +3520 +27E0 +ENDCHAR +STARTCHAR U_956E +ENCODING 38254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4540 +77C0 +8000 +FFE0 +4000 +F7C0 +4440 +47C0 +6C80 +5660 +ENDCHAR +STARTCHAR U_956F +ENCODING 38255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4AA0 +7FE0 +8400 +FBE0 +4220 +FFA0 +4AA0 +5FA0 +62A0 +4FC0 +ENDCHAR +STARTCHAR U_9570 +ENCODING 38256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7A80 +8FE0 +FAA0 +4FE0 +FAA0 +4FE0 +5A80 +66C0 +4AA0 +ENDCHAR +STARTCHAR U_9571 +ENCODING 38257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7280 +8FE0 +F440 +47C0 +F440 +47C0 +52A0 +6660 +49C0 +ENDCHAR +STARTCHAR U_9572 +ENCODING 38258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7820 +87E0 +FAA0 +4A40 +F7E0 +4800 +5FE0 +6540 +4B20 +ENDCHAR +STARTCHAR U_9573 +ENCODING 38259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7A80 +8FE0 +FAA0 +4FE0 +FA80 +4BA0 +5BE0 +6D40 +4AA0 +ENDCHAR +STARTCHAR U_9574 +ENCODING 38260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +4A80 +7540 +8FC0 +FAC0 +4F40 +FAC0 +4F40 +4AC0 +6F60 +4A20 +ENDCHAR +STARTCHAR U_9575 +ENCODING 38261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +4FC0 +7440 +87C0 +F6C0 +44A0 +F7E0 +4D40 +47C0 +62A0 +4CE0 +ENDCHAR +STARTCHAR U_9576 +ENCODING 38262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7AA0 +8EE0 +F280 +4FE0 +F280 +4FE0 +54A0 +6D40 +4620 +ENDCHAR +STARTCHAR U_9577 +ENCODING 38263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F80 +2000 +3F00 +2000 +3F00 +2000 +FFC0 +2480 +2300 +2900 +30C0 +ENDCHAR +STARTCHAR U_9578 +ENCODING 38264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FC0 +1000 +1F80 +1000 +1FC0 +1000 +FFE0 +0800 +1080 +3FC0 +0040 +ENDCHAR +STARTCHAR U_9579 +ENCODING 38265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +4100 +79C0 +4240 +7C40 +4080 +FC80 +2140 +4940 +FE20 +0420 +ENDCHAR +STARTCHAR U_957A +ENCODING 38266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4380 +7880 +4080 +7BE0 +4080 +FC80 +2880 +4540 +FA20 +0420 +ENDCHAR +STARTCHAR U_957B +ENCODING 38267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +4280 +7BE0 +4480 +7880 +43E0 +FC80 +2880 +4540 +FA20 +0420 +ENDCHAR +STARTCHAR U_957C +ENCODING 38268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +F7E0 +8480 +F6A0 +86A0 +FFE0 +4480 +96A0 +FFE0 +0A20 +ENDCHAR +STARTCHAR U_957D +ENCODING 38269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +47E0 +7CA0 +43C0 +7E60 +43C0 +FA40 +23C0 +4B40 +F520 +0B20 +ENDCHAR +STARTCHAR U_957E +ENCODING 38270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +4540 +7920 +4FE0 +7BA0 +4D60 +FBA0 +2D60 +5BA0 +F920 +0840 +ENDCHAR +STARTCHAR U_957F +ENCODING 38271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2100 +2200 +2400 +2800 +3000 +FFC0 +2800 +2400 +2200 +2900 +30C0 +ENDCHAR +STARTCHAR U_9580 +ENCODING 38272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F3C0 +9240 +F3C0 +9240 +F3C0 +8040 +8040 +8040 +8040 +8040 +81C0 +ENDCHAR +STARTCHAR U_9581 +ENCODING 38273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9E0 +8920 +F9E0 +8920 +F9E0 +8020 +8220 +8220 +8420 +88A0 +8040 +ENDCHAR +STARTCHAR U_9582 +ENCODING 38274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F3C0 +9240 +F3C0 +9240 +F3C0 +8040 +8040 +BF40 +8040 +8040 +81C0 +ENDCHAR +STARTCHAR U_9583 +ENCODING 38275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F3C0 +9240 +F3C0 +9240 +F3C0 +8840 +8840 +8840 +9440 +A340 +80C0 +ENDCHAR +STARTCHAR U_9584 +ENCODING 38276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE80 +AA80 +EE80 +AA80 +EE80 +8280 +8280 +8280 +8340 +8240 +8620 +ENDCHAR +STARTCHAR U_9585 +ENCODING 38277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9E0 +8920 +F9E0 +8920 +F9E0 +8020 +BFA0 +8420 +9420 +88A0 +8040 +ENDCHAR +STARTCHAR U_9586 +ENCODING 38278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8020 +BF20 +8020 +9E20 +8020 +BF60 +ENDCHAR +STARTCHAR U_9587 +ENCODING 38279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8020 +BFA0 +8820 +8A20 +8920 +8860 +ENDCHAR +STARTCHAR U_9588 +ENCODING 38280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8020 +9F20 +8420 +BFA0 +8420 +8460 +ENDCHAR +STARTCHAR U_9589 +ENCODING 38281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8220 +BFA0 +8A20 +9220 +A220 +86E0 +ENDCHAR +STARTCHAR U_958A +ENCODING 38282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +9520 +9520 +9F20 +80A0 +8040 +ENDCHAR +STARTCHAR U_958B +ENCODING 38283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8020 +9F20 +8A20 +BFA0 +8A20 +92E0 +ENDCHAR +STARTCHAR U_958C +ENCODING 38284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +BFA0 +8020 +9E20 +92A0 +A3E0 +ENDCHAR +STARTCHAR U_958D +ENCODING 38285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +BFA0 +8820 +8F20 +9120 +A660 +ENDCHAR +STARTCHAR U_958E +ENCODING 38286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +BFA0 +8A20 +9420 +A920 +8EE0 +ENDCHAR +STARTCHAR U_958F +ENCODING 38287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8020 +BFA0 +8420 +9F20 +8420 +BFE0 +ENDCHAR +STARTCHAR U_9590 +ENCODING 38288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +8820 +BF20 +8820 +BF20 +88A0 +8FA0 +ENDCHAR +STARTCHAR U_9591 +ENCODING 38289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +BFA0 +8420 +8E20 +9520 +A4E0 +ENDCHAR +STARTCHAR U_9592 +ENCODING 38290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9120 +9F20 +9120 +9F20 +9120 +A360 +ENDCHAR +STARTCHAR U_9593 +ENCODING 38291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9F20 +9120 +9F20 +9120 +9F20 +80E0 +ENDCHAR +STARTCHAR U_9594 +ENCODING 38292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +BFA0 +8A20 +8420 +8A20 +B160 +ENDCHAR +STARTCHAR U_9595 +ENCODING 38293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8F20 +9220 +9F20 +8620 +8A20 +9640 +ENDCHAR +STARTCHAR U_9596 +ENCODING 38294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +84A0 +B520 +9620 +9520 +A4A0 +8860 +ENDCHAR +STARTCHAR U_9597 +ENCODING 38295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8A20 +9620 +8A20 +BFA0 +8220 +8240 +ENDCHAR +STARTCHAR U_9598 +ENCODING 38296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9520 +9F20 +9520 +9F20 +8420 +8460 +ENDCHAR +STARTCHAR U_9599 +ENCODING 38297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8420 +BFE0 +8420 +BFA0 +A4A0 +A4A0 +A5A0 +8460 +ENDCHAR +STARTCHAR U_959A +ENCODING 38298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +FBC0 +8A40 +FBC0 +8A40 +FBC0 +8440 +BF40 +9140 +8A40 +BF40 +80C0 +ENDCHAR +STARTCHAR U_959B +ENCODING 38299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +BFA0 +A4A0 +9520 +BFA0 +8420 +8460 +ENDCHAR +STARTCHAR U_959C +ENCODING 38300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +BFA0 +8120 +9D20 +9520 +9D20 +8360 +ENDCHAR +STARTCHAR U_959D +ENCODING 38301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +F5E0 +8A20 +9520 +EEE0 +8220 +8C20 +8440 +ENDCHAR +STARTCHAR U_959E +ENCODING 38302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +8A20 +9F20 +9220 +BFA0 +9220 +A260 +ENDCHAR +STARTCHAR U_959F +ENCODING 38303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8D20 +AAA0 +AC60 +8920 +B720 +8060 +ENDCHAR +STARTCHAR U_95A0 +ENCODING 38304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9F20 +8420 +9F20 +8520 +BFA0 +8040 +ENDCHAR +STARTCHAR U_95A1 +ENCODING 38305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +BFA0 +9520 +8A20 +9520 +8960 +ENDCHAR +STARTCHAR U_95A2 +ENCODING 38306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +FBE0 +8A20 +FBE0 +9120 +BFA0 +8420 +BFA0 +8A20 +B1A0 +8040 +ENDCHAR +STARTCHAR U_95A3 +ENCODING 38307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F3C0 +9240 +F3C0 +9240 +F3C0 +9E40 +9440 +8A40 +BF40 +9240 +9EC0 +ENDCHAR +STARTCHAR U_95A4 +ENCODING 38308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8E20 +9520 +E0E0 +9F20 +9120 +9F60 +ENDCHAR +STARTCHAR U_95A5 +ENCODING 38309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9520 +BFA0 +D520 +92A0 +95A0 +98E0 +ENDCHAR +STARTCHAR U_95A6 +ENCODING 38310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +BBA0 +9220 +9220 +ADA0 +8040 +ENDCHAR +STARTCHAR U_95A7 +ENCODING 38311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +F1E0 +8A20 +9F20 +8A20 +BFA0 +9120 +A0E0 +ENDCHAR +STARTCHAR U_95A8 +ENCODING 38312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +8420 +BFA0 +8420 +9F20 +8420 +BFE0 +ENDCHAR +STARTCHAR U_95A9 +ENCODING 38313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +BFA0 +A4A0 +BFA0 +8520 +BEE0 +ENDCHAR +STARTCHAR U_95AA +ENCODING 38314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +F1E0 +9F20 +8A20 +BFA0 +AAA0 +BFA0 +8040 +ENDCHAR +STARTCHAR U_95AB +ENCODING 38315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +A4A0 +BFA0 +A4A0 +AEA0 +B5A0 +BFE0 +ENDCHAR +STARTCHAR U_95AC +ENCODING 38316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9120 +9F20 +9120 +9F20 +92A0 +99E0 +ENDCHAR +STARTCHAR U_95AD +ENCODING 38317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9F20 +9120 +BFA0 +A0A0 +BFA0 +8060 +ENDCHAR +STARTCHAR U_95AE +ENCODING 38318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9120 +9BA0 +A920 +97A0 +A820 +C7E0 +ENDCHAR +STARTCHAR U_95AF +ENCODING 38319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +A220 +DAA0 +AA60 +9120 +E220 +AC40 +ENDCHAR +STARTCHAR U_95B0 +ENCODING 38320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8820 +B3A0 +A0A0 +BBA0 +A0A0 +BFE0 +ENDCHAR +STARTCHAR U_95B1 +ENCODING 38321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9120 +BFA0 +9120 +9F20 +8AA0 +B3E0 +ENDCHAR +STARTCHAR U_95B2 +ENCODING 38322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9F20 +9120 +9F20 +8AA0 +B3A0 +8060 +ENDCHAR +STARTCHAR U_95B3 +ENCODING 38323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +F5E0 +BFA0 +9520 +9F20 +9520 +BFA0 +8440 +ENDCHAR +STARTCHAR U_95B4 +ENCODING 38324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9120 +9F20 +9120 +9F20 +8A20 +9140 +ENDCHAR +STARTCHAR U_95B5 +ENCODING 38325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9220 +BFA0 +D220 +9FA0 +9220 +9FE0 +ENDCHAR +STARTCHAR U_95B6 +ENCODING 38326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9120 +9F20 +9120 +BFA0 +A4A0 +BFA0 +ENDCHAR +STARTCHAR U_95B7 +ENCODING 38327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AEE0 +4AA0 +AEE0 +5AA0 +4EE0 +F920 +4920 +E9A0 +5A60 +4C20 +4860 +ENDCHAR +STARTCHAR U_95B8 +ENCODING 38328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +F1E0 +BFA0 +8A20 +9120 +8A20 +BFA0 +8040 +ENDCHAR +STARTCHAR U_95B9 +ENCODING 38329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9520 +BFA0 +D560 +9F20 +84A0 +83A0 +ENDCHAR +STARTCHAR U_95BA +ENCODING 38330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +9F20 +F1E0 +9F20 +9120 +FFA0 +9220 +8C20 +B360 +ENDCHAR +STARTCHAR U_95BB +ENCODING 38331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +8A20 +BB20 +9120 +9B20 +9120 +9F60 +ENDCHAR +STARTCHAR U_95BC +ENCODING 38332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9120 +FEA0 +9160 +9CA0 +A520 +CCE0 +ENDCHAR +STARTCHAR U_95BD +ENCODING 38333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9220 +9FA0 +9120 +9FA0 +9120 +9F60 +ENDCHAR +STARTCHAR U_95BE +ENCODING 38334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8520 +BFA0 +AB20 +BAA0 +83A0 +BCE0 +ENDCHAR +STARTCHAR U_95BF +ENCODING 38335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +94A0 +8B20 +BFA0 +AAA0 +8620 +B9A0 +ENDCHAR +STARTCHAR U_95C0 +ENCODING 38336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +8A20 +FFA0 +AAA0 +CE60 +88A0 +87E0 +ENDCHAR +STARTCHAR U_95C1 +ENCODING 38337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8020 +BBA0 +AAA0 +BBA0 +A0A0 +8060 +ENDCHAR +STARTCHAR U_95C2 +ENCODING 38338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9520 +BFA0 +8420 +FFE0 +99A0 +AF60 +ENDCHAR +STARTCHAR U_95C3 +ENCODING 38339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9120 +9F20 +9120 +BFA0 +8A20 +B1E0 +ENDCHAR +STARTCHAR U_95C4 +ENCODING 38340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9F20 +9520 +BFA0 +8A20 +8420 +9B60 +ENDCHAR +STARTCHAR U_95C5 +ENCODING 38341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +9F20 +9520 +9FA0 +8420 +BFA0 +8920 +8620 +B9A0 +ENDCHAR +STARTCHAR U_95C6 +ENCODING 38342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9120 +9F20 +8020 +BBA0 +AAA0 +BBE0 +ENDCHAR +STARTCHAR U_95C7 +ENCODING 38343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +8A20 +BFA0 +9120 +9F20 +9120 +9F60 +ENDCHAR +STARTCHAR U_95C8 +ENCODING 38344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +9F20 +8920 +BFA0 +9120 +BFA0 +9420 +BFA0 +8460 +ENDCHAR +STARTCHAR U_95C9 +ENCODING 38345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +BFA0 +AAA0 +B1A0 +BFA0 +8420 +9F20 +8420 +BFA0 +ENDCHAR +STARTCHAR U_95CA +ENCODING 38346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9220 +AFA0 +9220 +B7A0 +94A0 +97E0 +ENDCHAR +STARTCHAR U_95CB +ENCODING 38347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +AAA0 +AF20 +94A0 +BFA0 +8A20 +B1E0 +ENDCHAR +STARTCHAR U_95CC +ENCODING 38348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +8420 +FFE0 +AAA0 +BFA0 +9520 +E4E0 +ENDCHAR +STARTCHAR U_95CD +ENCODING 38349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +8A20 +BFA0 +9920 +AF20 +8920 +8F60 +ENDCHAR +STARTCHAR U_95CE +ENCODING 38350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +F780 +9480 +F780 +9480 +FF80 +AA80 +BE80 +8B80 +EC80 +AA80 +D900 +ENDCHAR +STARTCHAR U_95CF +ENCODING 38351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8020 +BFA0 +A4A0 +BFA0 +B5A0 +BFA0 +A4A0 +DF60 +ENDCHAR +STARTCHAR U_95D0 +ENCODING 38352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +BFA0 +9120 +9D20 +9720 +9120 +BFA0 +8A20 +B1A0 +ENDCHAR +STARTCHAR U_95D1 +ENCODING 38353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9120 +9F20 +9120 +BFA0 +9520 +E4E0 +ENDCHAR +STARTCHAR U_95D2 +ENCODING 38354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +9F20 +F1E0 +9F20 +9120 +BFA0 +AAA0 +99A0 +AAE0 +ENDCHAR +STARTCHAR U_95D3 +ENCODING 38355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +A4A0 +BFA0 +9120 +9F20 +8A20 +BFA0 +ENDCHAR +STARTCHAR U_95D4 +ENCODING 38356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +8420 +BFA0 +9120 +BFA0 +AAA0 +BFA0 +ENDCHAR +STARTCHAR U_95D5 +ENCODING 38357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +AA20 +FFE0 +9560 +FD20 +92A0 +A460 +ENDCHAR +STARTCHAR U_95D6 +ENCODING 38358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +9420 +9F20 +9420 +9FA0 +AAA0 +D560 +ENDCHAR +STARTCHAR U_95D7 +ENCODING 38359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +88A0 +9120 +BBE0 +9120 +A260 +BBA0 +AAA0 +D560 +ENDCHAR +STARTCHAR U_95D8 +ENCODING 38360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8020 +BCA0 +83E0 +BCA0 +A7A0 +BCA0 +95A0 +BE60 +ENDCHAR +STARTCHAR U_95D9 +ENCODING 38361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +9220 +BBA0 +AEA0 +B920 +A2A0 +DF60 +9120 +9F60 +ENDCHAR +STARTCHAR U_95DA +ENCODING 38362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FFE0 +94A0 +BFA0 +94A0 +FFA0 +AAA0 +C4E0 +ENDCHAR +STARTCHAR U_95DB +ENCODING 38363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +9520 +BFA0 +A0A0 +9F20 +9120 +BFA0 +8420 +FFE0 +ENDCHAR +STARTCHAR U_95DC +ENCODING 38364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +F5E0 +AAA0 +BBA0 +AAA0 +BBA0 +8A20 +B260 +ENDCHAR +STARTCHAR U_95DD +ENCODING 38365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +AA20 +BBA0 +AEA0 +B920 +92A0 +AC60 +ENDCHAR +STARTCHAR U_95DE +ENCODING 38366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9220 +FFA0 +AAA0 +B920 +AAA0 +FC60 +ENDCHAR +STARTCHAR U_95DF +ENCODING 38367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FFE0 +9120 +BFA0 +D160 +9F20 +BFA0 +AAA0 +99A0 +AAE0 +ENDCHAR +STARTCHAR U_95E0 +ENCODING 38368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +9F20 +9520 +BFA0 +9120 +9F20 +9120 +9F20 +F1E0 +ENDCHAR +STARTCHAR U_95E1 +ENCODING 38369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +BBA0 +AAA0 +BFA0 +A4A0 +BFA0 +A4A0 +FFE0 +8420 +ENDCHAR +STARTCHAR U_95E2 +ENCODING 38370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8120 +BBA0 +AAA0 +B920 +EFE0 +A920 +ABA0 +B960 +ENDCHAR +STARTCHAR U_95E3 +ENCODING 38371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +A4A0 +9520 +BFA0 +AAA0 +8A20 +9F20 +9520 +9F60 +ENDCHAR +STARTCHAR U_95E4 +ENCODING 38372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +BFA0 +AAA0 +BFA0 +9120 +9F20 +8AA0 +B920 +8CE0 +ENDCHAR +STARTCHAR U_95E5 +ENCODING 38373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8220 +AFA0 +9520 +FFA0 +9220 +9FA0 +9220 +AFA0 +ENDCHAR +STARTCHAR U_95E6 +ENCODING 38374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +BFA0 +AAA0 +FFE0 +9120 +9F20 +8A20 +BF60 +ENDCHAR +STARTCHAR U_95E7 +ENCODING 38375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8720 +A220 +9FA0 +B2A0 +9720 +9AA0 +AFA0 +8060 +ENDCHAR +STARTCHAR U_95E8 +ENCODING 38376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4FC0 +2040 +8040 +8040 +8040 +8040 +8040 +8040 +8040 +8040 +81C0 +ENDCHAR +STARTCHAR U_95E9 +ENCODING 38377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4FC0 +2040 +8040 +8040 +8040 +BF40 +8040 +8040 +8040 +8040 +81C0 +ENDCHAR +STARTCHAR U_95EA +ENCODING 38378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4FC0 +2040 +8840 +8840 +8840 +8C40 +9240 +A140 +C040 +8040 +81C0 +ENDCHAR +STARTCHAR U_95EB +ENCODING 38379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +5FC0 +2040 +8040 +BF40 +8040 +8040 +9E40 +8040 +8040 +BF40 +80C0 +ENDCHAR +STARTCHAR U_95EC +ENCODING 38380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +4000 +2F80 +8080 +BE80 +8880 +8880 +BE80 +8880 +8880 +8880 +8180 +ENDCHAR +STARTCHAR U_95ED +ENCODING 38381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2020 +8220 +8220 +BFA0 +8620 +8A20 +9220 +A220 +8620 +80E0 +ENDCHAR +STARTCHAR U_95EE +ENCODING 38382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4FC0 +2040 +8040 +9E40 +9240 +9240 +9240 +9E40 +8040 +8040 +81C0 +ENDCHAR +STARTCHAR U_95EF +ENCODING 38383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8FC0 +4040 +BE40 +9240 +9240 +9F40 +8140 +BD40 +8140 +8640 +80C0 +ENDCHAR +STARTCHAR U_95F0 +ENCODING 38384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +9020 +8020 +9F20 +8420 +8420 +9F20 +8420 +8420 +BFA0 +80E0 +ENDCHAR +STARTCHAR U_95F1 +ENCODING 38385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +8420 +BFA0 +8420 +9F20 +8420 +BFA0 +84A0 +85A0 +80E0 +ENDCHAR +STARTCHAR U_95F2 +ENCODING 38386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +8420 +8420 +BFA0 +8420 +8E20 +9520 +A4A0 +8420 +80E0 +ENDCHAR +STARTCHAR U_95F3 +ENCODING 38387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +8420 +8420 +BFA0 +8A20 +9220 +A520 +8FA0 +80A0 +8060 +ENDCHAR +STARTCHAR U_95F4 +ENCODING 38388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4FC0 +2040 +8040 +9E40 +9240 +9E40 +9240 +9240 +9E40 +8040 +81C0 +ENDCHAR +STARTCHAR U_95F5 +ENCODING 38389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +9020 +8420 +BFA0 +8220 +8A20 +8420 +8A20 +9120 +A120 +8060 +ENDCHAR +STARTCHAR U_95F6 +ENCODING 38390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +8420 +BFA0 +8020 +8E20 +8A20 +8AA0 +92A0 +A1A0 +8060 +ENDCHAR +STARTCHAR U_95F7 +ENCODING 38391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +1020 +8420 +8A20 +8820 +A920 +A8A0 +C920 +8720 +8020 +80E0 +ENDCHAR +STARTCHAR U_95F8 +ENCODING 38392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4FC0 +2040 +BF40 +A940 +BF40 +A940 +BF40 +A940 +8840 +8840 +80C0 +ENDCHAR +STARTCHAR U_95F9 +ENCODING 38393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +8420 +BFA0 +8420 +BFA0 +A4A0 +A4A0 +A5A0 +8420 +8060 +ENDCHAR +STARTCHAR U_95FA +ENCODING 38394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +8420 +9F20 +8420 +BFA0 +8420 +9F20 +8420 +BFA0 +8060 +ENDCHAR +STARTCHAR U_95FB +ENCODING 38395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4FC0 +2040 +BF40 +9240 +9E40 +9240 +9E40 +9340 +BE40 +8240 +80C0 +ENDCHAR +STARTCHAR U_95FC +ENCODING 38396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4FC0 +2040 +C240 +AF40 +8240 +F240 +9540 +98C0 +A840 +C740 +80C0 +ENDCHAR +STARTCHAR U_95FD +ENCODING 38397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4FC0 +2040 +8840 +BF40 +A940 +A940 +BF40 +8840 +8940 +BF40 +80C0 +ENDCHAR +STARTCHAR U_95FE +ENCODING 38398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4FC0 +2040 +9E40 +9240 +9E40 +8040 +BF40 +A140 +BF40 +8040 +80C0 +ENDCHAR +STARTCHAR U_95FF +ENCODING 38399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +BF80 +0080 +AA80 +BE80 +8080 +BC80 +8480 +BC80 +A280 +9E80 +8180 +ENDCHAR +STARTCHAR U_9600 +ENCODING 38400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +8D20 +94A0 +9FE0 +B420 +D520 +92A0 +95A0 +98A0 +8060 +ENDCHAR +STARTCHAR U_9601 +ENCODING 38401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +4820 +0F20 +9920 +A620 +8920 +BFA0 +9120 +9F20 +9120 +8060 +ENDCHAR +STARTCHAR U_9602 +ENCODING 38402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8420 +BFA0 +8920 +9E20 +84A0 +9920 +8620 +99A0 +8060 +ENDCHAR +STARTCHAR U_9603 +ENCODING 38403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +BFA0 +A4A0 +BFA0 +A4A0 +AEA0 +B5A0 +A4A0 +BFA0 +8060 +ENDCHAR +STARTCHAR U_9604 +ENCODING 38404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4FC0 +A040 +9C40 +A440 +FE40 +AA40 +BE40 +AA40 +BE40 +8940 +87C0 +ENDCHAR +STARTCHAR U_9605 +ENCODING 38405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +9020 +9120 +8A20 +9F20 +9120 +9F20 +8A20 +8AA0 +B1A0 +8060 +ENDCHAR +STARTCHAR U_9606 +ENCODING 38406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +5FC0 +2040 +8840 +BE40 +A240 +BE40 +A240 +BE40 +A940 +B640 +81C0 +ENDCHAR +STARTCHAR U_9607 +ENCODING 38407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +44A0 +9FA0 +8520 +BFE0 +8820 +9F20 +A920 +8F20 +8920 +8F60 +ENDCHAR +STARTCHAR U_9608 +ENCODING 38408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +1120 +82A0 +BFE0 +8220 +BAA0 +AAA0 +B920 +8120 +BAA0 +8460 +ENDCHAR +STARTCHAR U_9609 +ENCODING 38409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +1420 +FFA0 +8920 +BFA0 +D560 +9F20 +9520 +9F20 +84A0 +83E0 +ENDCHAR +STARTCHAR U_960A +ENCODING 38410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +9F20 +9120 +9F20 +9120 +BFA0 +A0A0 +BFA0 +A0A0 +BFE0 +ENDCHAR +STARTCHAR U_960B +ENCODING 38411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +8820 +B3A0 +A0A0 +BBA0 +A0A0 +BFA0 +8A20 +8AA0 +B1E0 +ENDCHAR +STARTCHAR U_960C +ENCODING 38412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +9FA0 +A4A0 +9520 +BFA0 +A0A0 +9F20 +9220 +8C20 +B360 +ENDCHAR +STARTCHAR U_960D +ENCODING 38413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +20A0 +9F20 +9220 +9FA0 +9120 +9FA0 +9120 +9F20 +9120 +9F60 +ENDCHAR +STARTCHAR U_960E +ENCODING 38414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +9020 +8820 +9F20 +A220 +9BA0 +A0A0 +BBA0 +A0A0 +BFA0 +8060 +ENDCHAR +STARTCHAR U_960F +ENCODING 38415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +1020 +8920 +BDA0 +9260 +9D20 +94A0 +9420 +9520 +A4A0 +C860 +ENDCHAR +STARTCHAR U_9610 +ENCODING 38416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +9120 +BFA0 +A4A0 +BFA0 +A4A0 +BFA0 +8420 +BFA0 +8420 +8060 +ENDCHAR +STARTCHAR U_9611 +ENCODING 38417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2420 +BFA0 +8420 +BFA0 +AAA0 +BFA0 +8E20 +9520 +A4A0 +8060 +ENDCHAR +STARTCHAR U_9612 +ENCODING 38418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +9F20 +9120 +9F20 +9120 +9F20 +8520 +BFA0 +8A20 +B1E0 +ENDCHAR +STARTCHAR U_9613 +ENCODING 38419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +4420 +1F20 +9520 +FFE0 +8020 +9F20 +9520 +9520 +8A20 +B160 +ENDCHAR +STARTCHAR U_9614 +ENCODING 38420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +A1A0 +9620 +C220 +AFA0 +9220 +AFA0 +E8A0 +AFA0 +A060 +ENDCHAR +STARTCHAR U_9615 +ENCODING 38421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +9F20 +AAA0 +9120 +9EA0 +A460 +BFA0 +8420 +8A20 +9160 +ENDCHAR +STARTCHAR U_9616 +ENCODING 38422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +9420 +9F20 +8420 +BFA0 +8920 +9FA0 +8020 +BFA0 +AAA0 +BFE0 +ENDCHAR +STARTCHAR U_9617 +ENCODING 38423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +9420 +BFA0 +8420 +9F20 +9120 +9F20 +9120 +BFA0 +8A20 +B1E0 +ENDCHAR +STARTCHAR U_9618 +ENCODING 38424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +9F20 +9520 +9F20 +8020 +BFA0 +96A0 +8DA0 +96A0 +ADE0 +ENDCHAR +STARTCHAR U_9619 +ENCODING 38425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +AA20 +9220 +FFE0 +9560 +D520 +FD20 +92A0 +A4A0 +C060 +ENDCHAR +STARTCHAR U_961A +ENCODING 38426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2020 +BA20 +8A20 +BFE0 +AAA0 +BAA0 +AAA0 +B920 +AAA0 +FC60 +ENDCHAR +STARTCHAR U_961B +ENCODING 38427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9FE0 +4020 +BFA0 +AAA0 +FFE0 +9120 +9F20 +8D20 +9A20 +EDA0 +8860 +ENDCHAR +STARTCHAR U_961C +ENCODING 38428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7F80 +4080 +7F80 +4000 +7FC0 +4040 +7FC0 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_961D +ENCODING 38429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 0 -1 +BITMAP +F8 +88 +90 +A0 +90 +88 +88 +C8 +B0 +80 +80 +ENDCHAR +STARTCHAR U_961E +ENCODING 38430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9100 +AFE0 +C120 +A120 +9120 +9120 +D220 +A220 +84A0 +9840 +ENDCHAR +STARTCHAR U_961F +ENCODING 38431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9100 +A100 +C100 +A100 +9100 +9100 +D280 +A280 +8440 +9820 +ENDCHAR +STARTCHAR U_9620 +ENCODING 38432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF80 +9280 +A280 +C280 +A280 +9F80 +9280 +F2A0 +A2A0 +8260 +8220 +ENDCHAR +STARTCHAR U_9621 +ENCODING 38433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0C0 +9700 +A100 +C100 +AFE0 +9100 +9100 +F100 +A100 +8100 +8100 +ENDCHAR +STARTCHAR U_9622 +ENCODING 38434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9280 +A280 +C280 +A280 +9280 +9280 +F280 +A4A0 +88A0 +9060 +ENDCHAR +STARTCHAR U_9623 +ENCODING 38435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +9400 +A7E0 +C800 +A780 +9080 +9100 +F200 +A420 +8420 +83E0 +ENDCHAR +STARTCHAR U_9624 +ENCODING 38436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9520 +A560 +C5A0 +A720 +9D20 +9560 +F500 +A420 +8420 +83E0 +ENDCHAR +STARTCHAR U_9625 +ENCODING 38437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +A200 +A240 +DB80 +AB00 +AA80 +AA80 +CA40 +9220 +A200 +8600 +ENDCHAR +STARTCHAR U_9626 +ENCODING 38438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9200 +A240 +CA80 +AB00 +9200 +D200 +A500 +8500 +8880 +9060 +ENDCHAR +STARTCHAR U_9627 +ENCODING 38439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +9480 +A280 +C880 +A480 +94E0 +D380 +AC80 +8080 +8080 +8080 +ENDCHAR +STARTCHAR U_9628 +ENCODING 38440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9400 +A5E0 +C520 +A520 +9520 +9560 +F500 +A520 +8920 +90E0 +ENDCHAR +STARTCHAR U_9629 +ENCODING 38441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9C80 +A480 +C480 +AFE0 +9480 +D480 +A480 +8480 +8880 +9080 +ENDCHAR +STARTCHAR U_962A +ENCODING 38442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F060 +9780 +A400 +C7E0 +A540 +9540 +9540 +F540 +A480 +8940 +9220 +ENDCHAR +STARTCHAR U_962B +ENCODING 38443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F000 +9FE0 +A080 +A100 +9300 +D580 +A960 +9120 +8100 +8100 +8100 +ENDCHAR +STARTCHAR U_962C +ENCODING 38444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9100 +AFE0 +C000 +A780 +9480 +9480 +F480 +A4A0 +88A0 +9060 +ENDCHAR +STARTCHAR U_962D +ENCODING 38445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9200 +A440 +CFA0 +A020 +9480 +9480 +F480 +A4A0 +88A0 +9060 +ENDCHAR +STARTCHAR U_962E +ENCODING 38446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9000 +A000 +CFE0 +A280 +9280 +9280 +F280 +A2A0 +84A0 +9860 +ENDCHAR +STARTCHAR U_962F +ENCODING 38447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +9080 +A080 +C480 +A4E0 +9480 +9480 +F480 +A480 +8480 +9FE0 +ENDCHAR +STARTCHAR U_9630 +ENCODING 38448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F480 +9480 +A480 +C4A0 +A7C0 +9480 +9480 +F480 +A5A0 +86A0 +8C60 +ENDCHAR +STARTCHAR U_9631 +ENCODING 38449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +9240 +A7E0 +C240 +A240 +9240 +9FE0 +F240 +A240 +8440 +8840 +ENDCHAR +STARTCHAR U_9632 +ENCODING 38450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9100 +AFE0 +C200 +A3C0 +9240 +9240 +D240 +A440 +8840 +9180 +ENDCHAR +STARTCHAR U_9633 +ENCODING 38451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +A420 +C420 +A7E0 +9420 +9420 +D420 +A420 +87E0 +8420 +ENDCHAR +STARTCHAR U_9634 +ENCODING 38452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3E0 +9220 +A220 +C3E0 +A220 +9220 +93E0 +D220 +A220 +8420 +88E0 +ENDCHAR +STARTCHAR U_9635 +ENCODING 38453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9FE0 +A400 +C500 +AFC0 +9100 +9100 +DFE0 +A100 +8100 +8100 +ENDCHAR +STARTCHAR U_9636 +ENCODING 38454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9100 +A280 +C440 +A820 +9240 +9240 +D240 +A240 +8440 +8840 +ENDCHAR +STARTCHAR U_9637 +ENCODING 38455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A100 +A100 +C100 +A9C0 +A900 +A900 +C900 +8900 +BFE0 +8000 +ENDCHAR +STARTCHAR U_9638 +ENCODING 38456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +AFC0 +A840 +CFC0 +A800 +AFC0 +A880 +C900 +9220 +9420 +A3E0 +ENDCHAR +STARTCHAR U_9639 +ENCODING 38457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9100 +A7C0 +C100 +A100 +9FE0 +9200 +F200 +A440 +8FA0 +8420 +ENDCHAR +STARTCHAR U_963A +ENCODING 38458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F060 +9780 +A480 +C480 +A7E0 +9480 +9480 +F4A0 +A560 +8EA0 +84A0 +ENDCHAR +STARTCHAR U_963B +ENCODING 38459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +A440 +C7C0 +A440 +9440 +9440 +D7C0 +A440 +8440 +9FE0 +ENDCHAR +STARTCHAR U_963C +ENCODING 38460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9200 +A3E0 +C500 +A9E0 +9100 +9100 +F1E0 +A100 +8100 +8100 +ENDCHAR +STARTCHAR U_963D +ENCODING 38461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9100 +A1E0 +C100 +A100 +97E0 +9420 +F420 +A420 +87E0 +8420 +ENDCHAR +STARTCHAR U_963E +ENCODING 38462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +A200 +A500 +C880 +B260 +A200 +AFC0 +C080 +8500 +8200 +8100 +ENDCHAR +STARTCHAR U_963F +ENCODING 38463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9040 +A040 +A740 +A540 +9540 +9540 +D740 +A040 +8040 +80C0 +ENDCHAR +STARTCHAR U_9640 +ENCODING 38464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9100 +AFE0 +C820 +A200 +9240 +9280 +D300 +A220 +8220 +81E0 +ENDCHAR +STARTCHAR U_9641 +ENCODING 38465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E800 +AFE0 +B000 +C240 +ABC0 +AE40 +BB40 +AA80 +CA20 +8820 +87E0 +ENDCHAR +STARTCHAR U_9642 +ENCODING 38466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9100 +A7E0 +C520 +A500 +97C0 +9540 +F540 +A480 +8940 +9620 +ENDCHAR +STARTCHAR U_9643 +ENCODING 38467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9100 +A100 +C7E0 +A520 +95A0 +9560 +F620 +A420 +8420 +84E0 +ENDCHAR +STARTCHAR U_9644 +ENCODING 38468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +9240 +A440 +C7E0 +AC40 +9540 +94C0 +D440 +A440 +8440 +84C0 +ENDCHAR +STARTCHAR U_9645 +ENCODING 38469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9000 +A000 +CFE0 +A100 +9540 +9540 +D520 +A920 +8100 +8300 +ENDCHAR +STARTCHAR U_9646 +ENCODING 38470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +A100 +C100 +AFE0 +9100 +9520 +F520 +A520 +87E0 +8420 +ENDCHAR +STARTCHAR U_9647 +ENCODING 38471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9240 +AFE0 +C200 +A300 +9540 +9540 +D580 +A920 +8B20 +94E0 +ENDCHAR +STARTCHAR U_9648 +ENCODING 38472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9FE0 +A400 +C500 +AFE0 +9100 +9580 +F540 +A920 +9520 +8200 +ENDCHAR +STARTCHAR U_9649 +ENCODING 38473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9040 +A080 +C140 +A620 +9000 +97C0 +F100 +A100 +8100 +8FE0 +ENDCHAR +STARTCHAR U_964A +ENCODING 38474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +93E0 +A440 +CA80 +A100 +9700 +91E0 +F640 +A180 +8100 +8E00 +ENDCHAR +STARTCHAR U_964B +ENCODING 38475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7E0 +A080 +A3E0 +AAA0 +CAA0 +AB60 +AA20 +AA20 +EA60 +8800 +8FE0 +ENDCHAR +STARTCHAR U_964C +ENCODING 38476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9080 +A100 +C7E0 +A420 +9420 +97E0 +F420 +A420 +87E0 +8420 +ENDCHAR +STARTCHAR U_964D +ENCODING 38477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +93E0 +A640 +C180 +A660 +9100 +97E0 +D500 +AFE0 +8100 +8100 +ENDCHAR +STARTCHAR U_964E +ENCODING 38478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F500 +9500 +A7C0 +C900 +A100 +9FE0 +9100 +F380 +A540 +8920 +9120 +ENDCHAR +STARTCHAR U_964F +ENCODING 38479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +A200 +C3E0 +A620 +9BE0 +9220 +F3E0 +A220 +8220 +8260 +ENDCHAR +STARTCHAR U_9650 +ENCODING 38480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +A7C0 +C440 +A7C0 +9500 +9520 +D540 +A480 +8540 +8620 +ENDCHAR +STARTCHAR U_9651 +ENCODING 38481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9100 +A200 +CFE0 +AAA0 +9AA0 +9AA0 +FAA0 +AAA0 +8A20 +8860 +ENDCHAR +STARTCHAR U_9652 +ENCODING 38482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +A3C0 +C480 +BFE0 +A800 +AFC0 +EA40 +8AC0 +8A00 +9220 +A1E0 +ENDCHAR +STARTCHAR U_9653 +ENCODING 38483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9FE0 +A480 +CB40 +A020 +9FE0 +9200 +F7C0 +A040 +8240 +8180 +ENDCHAR +STARTCHAR U_9654 +ENCODING 38484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F300 +9100 +AFE0 +C200 +A440 +9780 +9120 +F240 +AC80 +8160 +8E20 +ENDCHAR +STARTCHAR U_9655 +ENCODING 38485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +A920 +C540 +A580 +9FE0 +D100 +A280 +8280 +8440 +8820 +ENDCHAR +STARTCHAR U_9656 +ENCODING 38486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +A480 +CFC0 +A480 +AA40 +B3A0 +E480 +8A80 +8100 +8280 +8C60 +ENDCHAR +STARTCHAR U_9657 +ENCODING 38487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F220 +AA40 +A680 +CFC0 +A840 +AFC0 +A840 +EFC0 +8840 +8940 +8880 +ENDCHAR +STARTCHAR U_9658 +ENCODING 38488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9540 +A540 +CA80 +A540 +9540 +97C0 +F100 +A100 +8100 +8FE0 +ENDCHAR +STARTCHAR U_9659 +ENCODING 38489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A800 +ABC0 +C800 +AFE0 +AA80 +AAA0 +EA40 +8A40 +9340 +A220 +ENDCHAR +STARTCHAR U_965A +ENCODING 38490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E080 +AEC0 +C0A0 +BFE0 +A280 +AB80 +AA80 +EA80 +8BA0 +9C60 +8020 +ENDCHAR +STARTCHAR U_965B +ENCODING 38491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F480 +94A0 +A7C0 +C480 +A5A0 +96E0 +9100 +F7C0 +A100 +8100 +9FE0 +ENDCHAR +STARTCHAR U_965C +ENCODING 38492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +A100 +C540 +A540 +9BA0 +9100 +F100 +A280 +8440 +8820 +ENDCHAR +STARTCHAR U_965D +ENCODING 38493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +A100 +C980 +A540 +9BA0 +9100 +F100 +A280 +8440 +8820 +ENDCHAR +STARTCHAR U_965E +ENCODING 38494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F140 +9640 +A240 +CFE0 +A240 +9440 +9100 +F7C0 +A100 +8100 +9FE0 +ENDCHAR +STARTCHAR U_965F +ENCODING 38495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +95E0 +A500 +C500 +AFE0 +9100 +9520 +F540 +A880 +8300 +8C00 +ENDCHAR +STARTCHAR U_9660 +ENCODING 38496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E280 +BFE0 +C200 +AFC0 +AA40 +AFC0 +AA40 +EFC0 +8A40 +8A40 +8AC0 +ENDCHAR +STARTCHAR U_9661 +ENCODING 38497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9100 +A7C0 +C100 +AFE0 +9100 +95E0 +F500 +A500 +8B00 +91E0 +ENDCHAR +STARTCHAR U_9662 +ENCODING 38498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9100 +AFE0 +C820 +A7C0 +9000 +9FE0 +D480 +A4A0 +88A0 +9060 +ENDCHAR +STARTCHAR U_9663 +ENCODING 38499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +A100 +C7E0 +A520 +97E0 +9520 +F7E0 +A100 +8FE0 +8100 +ENDCHAR +STARTCHAR U_9664 +ENCODING 38500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9280 +A440 +CBA0 +A100 +9FE0 +9100 +E540 +8920 +9120 +8300 +ENDCHAR +STARTCHAR U_9665 +ENCODING 38501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +91E0 +A240 +C480 +A000 +95E0 +D520 +A5E0 +8520 +85E0 +8520 +ENDCHAR +STARTCHAR U_9666 +ENCODING 38502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +AFE0 +C200 +A7C0 +A200 +BFE0 +C440 +8FE0 +9240 +A140 +8080 +ENDCHAR +STARTCHAR U_9667 +ENCODING 38503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +A7E0 +C420 +A7E0 +9420 +9100 +F7E0 +A100 +8100 +9FE0 +ENDCHAR +STARTCHAR U_9668 +ENCODING 38504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +A7C0 +C000 +A7E0 +9420 +9520 +D520 +A520 +8280 +8C60 +ENDCHAR +STARTCHAR U_9669 +ENCODING 38505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9280 +A440 +C820 +A7C0 +9000 +9A40 +D540 +A540 +8080 +8FE0 +ENDCHAR +STARTCHAR U_966A +ENCODING 38506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A440 +C280 +AFE0 +A000 +A7C0 +C440 +8440 +87C0 +8440 +ENDCHAR +STARTCHAR U_966B +ENCODING 38507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +9EE0 +A280 +C280 +AEE0 +9280 +9280 +FEE0 +A280 +8280 +8280 +ENDCHAR +STARTCHAR U_966C +ENCODING 38508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF00 +ABE0 +AEA0 +AAA0 +CAA0 +AEA0 +AAA0 +AAA0 +EF40 +9AA0 +8320 +ENDCHAR +STARTCHAR U_966D +ENCODING 38509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +A280 +C440 +AFE0 +9040 +9740 +F540 +A740 +8040 +81C0 +ENDCHAR +STARTCHAR U_966E +ENCODING 38510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E500 +A480 +AFE0 +C900 +BFC0 +A900 +AFC0 +E900 +8900 +8FE0 +8800 +ENDCHAR +STARTCHAR U_966F +ENCODING 38511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E300 +A480 +A840 +B7A0 +C000 +AFE0 +AAA0 +AFE0 +EAA0 +8AA0 +8860 +ENDCHAR +STARTCHAR U_9670 +ENCODING 38512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F300 +9480 +AA40 +D120 +A780 +9100 +9FE0 +F000 +AFE0 +8440 +8FA0 +ENDCHAR +STARTCHAR U_9671 +ENCODING 38513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +97E0 +A920 +C560 +A3A0 +97E0 +9320 +F5A0 +A960 +9120 +80C0 +ENDCHAR +STARTCHAR U_9672 +ENCODING 38514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9100 +AFE0 +C540 +A540 +9FE0 +9540 +F540 +AFE0 +8100 +87C0 +ENDCHAR +STARTCHAR U_9673 +ENCODING 38515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +A100 +CFE0 +A920 +9FE0 +9920 +FFE0 +A540 +8920 +9120 +ENDCHAR +STARTCHAR U_9674 +ENCODING 38516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +97E0 +A520 +C7E0 +A520 +97E0 +9280 +F480 +AFE0 +8080 +8080 +ENDCHAR +STARTCHAR U_9675 +ENCODING 38517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +A100 +CFE0 +A440 +9A20 +9380 +D480 +AB00 +8280 +8C60 +ENDCHAR +STARTCHAR U_9676 +ENCODING 38518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E400 +A7E0 +A820 +D7A0 +AA20 +AFA0 +A220 +EAA0 +8FA0 +8020 +80C0 +ENDCHAR +STARTCHAR U_9677 +ENCODING 38519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +93E0 +A440 +C880 +A200 +94E0 +9420 +D6E0 +A420 +87E0 +8420 +ENDCHAR +STARTCHAR U_9678 +ENCODING 38520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +A100 +CFE0 +A240 +9420 +9900 +F7C0 +A100 +8100 +9FE0 +ENDCHAR +STARTCHAR U_9679 +ENCODING 38521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE80 +A480 +DFE0 +A480 +A480 +A880 +EFC0 +8840 +8FC0 +8840 +8FC0 +ENDCHAR +STARTCHAR U_967A +ENCODING 38522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +A500 +A880 +DFE0 +A200 +AF80 +AA80 +CF80 +8200 +8500 +98C0 +ENDCHAR +STARTCHAR U_967B +ENCODING 38523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A280 +AFE0 +CAA0 +AAA0 +AFE0 +A100 +E7C0 +8100 +8100 +9FE0 +ENDCHAR +STARTCHAR U_967C +ENCODING 38524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97A0 +9120 +A140 +AFE0 +9100 +93E0 +F620 +ABE0 +8220 +83E0 +ENDCHAR +STARTCHAR U_967D +ENCODING 38525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +A7C0 +C440 +AFE0 +9400 +97E0 +FAA0 +A4A0 +8920 +86C0 +ENDCHAR +STARTCHAR U_967E +ENCODING 38526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9200 +AFE0 +CAA0 +AAA0 +9860 +9100 +FFE0 +A100 +8280 +8C60 +ENDCHAR +STARTCHAR U_967F +ENCODING 38527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +B100 +BFE0 +D540 +B540 +BBA0 +B100 +D280 +9440 +9820 +9FE0 +ENDCHAR +STARTCHAR U_9680 +ENCODING 38528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9100 +AFE0 +C540 +A7C0 +9540 +97C0 +F100 +A7C0 +8100 +8FE0 +ENDCHAR +STARTCHAR U_9681 +ENCODING 38529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9440 +B7C0 +D440 +B7C0 +9100 +9FC0 +F280 +9100 +9280 +9FE0 +ENDCHAR +STARTCHAR U_9682 +ENCODING 38530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E300 +A480 +AFE0 +D400 +A780 +A400 +A780 +E400 +9FE0 +8480 +8FC0 +ENDCHAR +STARTCHAR U_9683 +ENCODING 38531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F380 +9440 +ABA0 +C000 +AE20 +9AA0 +9EA0 +FAA0 +AEA0 +8A20 +8AE0 +ENDCHAR +STARTCHAR U_9684 +ENCODING 38532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +A7C0 +C440 +A7C0 +9000 +9FE0 +F500 +A5E0 +8B00 +91E0 +ENDCHAR +STARTCHAR U_9685 +ENCODING 38533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9540 +A7C0 +C540 +A7C0 +9100 +9FE0 +D960 +AFE0 +8820 +8860 +ENDCHAR +STARTCHAR U_9686 +ENCODING 38534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +97C0 +AC40 +C380 +AC60 +9500 +97E0 +F900 +A7C0 +8100 +9FE0 +ENDCHAR +STARTCHAR U_9687 +ENCODING 38535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0A0 +9FE0 +A880 +CF80 +AAA0 +AFA0 +ADA0 +ADC0 +EAA0 +9560 +A920 +ENDCHAR +STARTCHAR U_9688 +ENCODING 38536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9540 +A7C0 +C540 +A7C0 +9000 +9FE0 +F520 +A4C0 +8540 +8E20 +ENDCHAR +STARTCHAR U_9689 +ENCODING 38537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9CE0 +A820 +CEE0 +A820 +9FE0 +9000 +D7C0 +A100 +8100 +8FE0 +ENDCHAR +STARTCHAR U_968A +ENCODING 38538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9280 +AFE0 +C620 +A940 +9380 +9580 +FB40 +A540 +8920 +8620 +ENDCHAR +STARTCHAR U_968B +ENCODING 38539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97E0 +A200 +C3E0 +A480 +9BE0 +9220 +D3E0 +A220 +83E0 +8220 +ENDCHAR +STARTCHAR U_968C +ENCODING 38540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A440 +C280 +BFE0 +A000 +A7C0 +E440 +87C0 +8440 +87C0 +ENDCHAR +STARTCHAR U_968D +ENCODING 38541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +97C0 +A440 +A7C0 +C440 +AFE0 +9100 +97C0 +E100 +8100 +8FE0 +ENDCHAR +STARTCHAR U_968E +ENCODING 38542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +98A0 +AEC0 +C8A0 +AEE0 +9200 +97C0 +F440 +A7C0 +8440 +87C0 +ENDCHAR +STARTCHAR U_968F +ENCODING 38543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +B7E0 +AA00 +C7C0 +A240 +BBC0 +AA40 +CBC0 +8A40 +8C00 +93E0 +ENDCHAR +STARTCHAR U_9690 +ENCODING 38544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F780 +9480 +AFC0 +D040 +A7C0 +9040 +97C0 +D200 +AD40 +94A0 +8780 +ENDCHAR +STARTCHAR U_9691 +ENCODING 38545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F520 +9520 +A7E0 +C000 +AFE0 +9000 +97C0 +F440 +A7C0 +8280 +9FE0 +ENDCHAR +STARTCHAR U_9692 +ENCODING 38546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9FE0 +A280 +CFE0 +A2A0 +9FE0 +92A0 +FFE0 +A680 +8AC0 +92A0 +ENDCHAR +STARTCHAR U_9693 +ENCODING 38547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9200 +A5C0 +C880 +A7E0 +9200 +9FE0 +F200 +A7C0 +8880 +97E0 +ENDCHAR +STARTCHAR U_9694 +ENCODING 38548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A440 +A7C0 +C000 +AFE0 +AAA0 +A920 +AFE0 +E920 +8920 +8860 +ENDCHAR +STARTCHAR U_9695 +ENCODING 38549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9440 +A7C0 +C000 +A7C0 +9440 +9740 +F5C0 +A440 +87C0 +8C60 +ENDCHAR +STARTCHAR U_9696 +ENCODING 38550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E400 +AFC0 +A840 +CFC0 +A800 +AFE0 +A800 +EFE0 +8AA0 +9560 +8060 +ENDCHAR +STARTCHAR U_9697 +ENCODING 38551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +A540 +C7C0 +A540 +97C0 +9140 +F1A0 +A3E0 +8520 +98E0 +ENDCHAR +STARTCHAR U_9698 +ENCODING 38552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E880 +A500 +BFE0 +C500 +A880 +9040 +BFE0 +D540 +9540 +9540 +BFE0 +ENDCHAR +STARTCHAR U_9699 +ENCODING 38553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9540 +A920 +D7C0 +A440 +97C0 +9440 +F7C0 +A540 +8920 +9320 +ENDCHAR +STARTCHAR U_969A +ENCODING 38554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EA80 +A700 +DFE0 +D020 +AF80 +A880 +AF80 +C200 +9FC0 +8200 +BFE0 +ENDCHAR +STARTCHAR U_969B +ENCODING 38555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +95A0 +AAC0 +C440 +ABA0 +9000 +9FE0 +D100 +A540 +8920 +9320 +ENDCHAR +STARTCHAR U_969C +ENCODING 38556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +A480 +CFE0 +A440 +97C0 +9440 +F7C0 +A100 +8FE0 +8100 +ENDCHAR +STARTCHAR U_969D +ENCODING 38557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +EF80 +A880 +CF80 +A880 +AFE0 +E800 +8FC0 +8040 +9540 +8080 +ENDCHAR +STARTCHAR U_969E +ENCODING 38558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E480 +BF80 +A4E0 +CEA0 +A4A0 +BFA0 +A8A0 +EEA0 +8A40 +92A0 +A520 +ENDCHAR +STARTCHAR U_969F +ENCODING 38559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E540 +AA80 +A540 +CFC0 +AA40 +AFC0 +AA40 +DFE0 +8700 +8A80 +B260 +ENDCHAR +STARTCHAR U_96A0 +ENCODING 38560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E1C0 +AE40 +AA80 +CFC0 +A040 +AFC0 +A040 +DFC0 +8540 +94A0 +9380 +ENDCHAR +STARTCHAR U_96A1 +ENCODING 38561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9FE0 +A240 +C180 +AFE0 +9A80 +9BE0 +FC80 +ABE0 +9080 +A7E0 +ENDCHAR +STARTCHAR U_96A2 +ENCODING 38562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +A100 +CFE0 +A440 +9EE0 +9440 +FFE0 +A280 +84A0 +9860 +ENDCHAR +STARTCHAR U_96A3 +ENCODING 38563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A80 +E700 +BFE0 +C700 +AAC0 +B240 +DFE0 +9540 +B5E0 +8840 +B040 +ENDCHAR +STARTCHAR U_96A4 +ENCODING 38564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +A540 +CFE0 +A440 +97C0 +9440 +F7C0 +A440 +87C0 +8C60 +ENDCHAR +STARTCHAR U_96A5 +ENCODING 38565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +B540 +A880 +D740 +A020 +AF80 +A880 +CF80 +8880 +8500 +BFE0 +ENDCHAR +STARTCHAR U_96A6 +ENCODING 38566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE40 +ABE0 +AA20 +CEA0 +A840 +AFE0 +BA40 +DBE0 +AA40 +8E40 +8040 +ENDCHAR +STARTCHAR U_96A7 +ENCODING 38567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +9FE0 +A500 +C2A0 +ADC0 +96C0 +95A0 +F6A0 +A580 +8A00 +91E0 +ENDCHAR +STARTCHAR U_96A8 +ENCODING 38568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +9BE0 +A480 +C7E0 +A140 +9DC0 +9540 +F5C0 +A540 +8A40 +91E0 +ENDCHAR +STARTCHAR U_96A9 +ENCODING 38569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +9FE0 +AD60 +CBA0 +AFE0 +9920 +9BA0 +F560 +AFE0 +8280 +8C60 +ENDCHAR +STARTCHAR U_96AA +ENCODING 38570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F300 +9480 +A840 +C7A0 +A000 +9EE0 +9AA0 +FEE0 +A440 +8AA0 +9120 +ENDCHAR +STARTCHAR U_96AB +ENCODING 38571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A540 +DFE0 +A440 +A7C0 +A540 +C6C0 +8540 +87C0 +8820 +ENDCHAR +STARTCHAR U_96AC +ENCODING 38572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +A540 +A920 +BFE0 +C920 +ADA0 +AB60 +ADA0 +EB60 +8DA0 +8960 +ENDCHAR +STARTCHAR U_96AD +ENCODING 38573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFC0 +A200 +DFE0 +D2A0 +AB00 +B280 +AFC0 +C400 +9FC0 +9540 +95C0 +ENDCHAR +STARTCHAR U_96AE +ENCODING 38574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +AFE0 +A2A0 +AD40 +D560 +A540 +A440 +A7C0 +E440 +87C0 +9840 +ENDCHAR +STARTCHAR U_96AF +ENCODING 38575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +EFC0 +A200 +DFE0 +A220 +BFE0 +A040 +DFE0 +9540 +9D40 +80C0 +ENDCHAR +STARTCHAR U_96B0 +ENCODING 38576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9420 +A7E0 +C420 +A7E0 +9240 +95A0 +F2A0 +A7E0 +8540 +8AA0 +ENDCHAR +STARTCHAR U_96B1 +ENCODING 38577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9540 +9FE0 +A100 +CFE0 +A040 +9FC0 +9200 +F540 +ACA0 +93A0 +ENDCHAR +STARTCHAR U_96B2 +ENCODING 38578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +AAC0 +B300 +CFE0 +B900 +AFC0 +A900 +CFE0 +8020 +95A0 +8060 +ENDCHAR +STARTCHAR U_96B3 +ENCODING 38579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +AFE0 +A500 +CFE0 +A440 +E7C0 +8C40 +BB00 +C8E0 +2A80 +5940 +ENDCHAR +STARTCHAR U_96B4 +ENCODING 38580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E4E0 +BF80 +AAE0 +C420 +BFE0 +AA80 +AEE0 +EA80 +8EE0 +8AA0 +8AE0 +ENDCHAR +STARTCHAR U_96B5 +ENCODING 38581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E780 +A4C0 +DFA0 +D4E0 +BF80 +B4A0 +DFA0 +9AA0 +9E40 +AAC0 +DF20 +ENDCHAR +STARTCHAR U_96B6 +ENCODING 38582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0480 +7FE0 +0480 +7F80 +2640 +1D80 +1480 +E460 +0C20 +ENDCHAR +STARTCHAR U_96B7 +ENCODING 38583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +2140 +77E0 +0140 +77C0 +2540 +FB80 +7540 +A960 +6300 +ENDCHAR +STARTCHAR U_96B8 +ENCODING 38584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2140 +77E0 +A940 +77C0 +0120 +FDC0 +2B40 +A520 +6320 +ENDCHAR +STARTCHAR U_96B9 +ENCODING 38585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1100 +3FE0 +2200 +7FC0 +A200 +2200 +3FC0 +2200 +3FE0 +2000 +ENDCHAR +STARTCHAR U_96BA +ENCODING 38586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4840 +1200 +3FC0 +E200 +3F80 +2200 +3F80 +2200 +3FC0 +ENDCHAR +STARTCHAR U_96BB +ENCODING 38587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +3FE0 +2200 +7FE0 +A200 +3FE0 +2200 +7FE0 +10C0 +0F00 +F1E0 +ENDCHAR +STARTCHAR U_96BC +ENCODING 38588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +6200 +BFC0 +2200 +3FC0 +2200 +3FE0 +0200 +FFE0 +0200 +ENDCHAR +STARTCHAR U_96BD +ENCODING 38589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +2200 +3FE0 +6200 +BFC0 +2200 +7FE0 +0880 +09E0 +3020 +C0C0 +ENDCHAR +STARTCHAR U_96BE +ENCODING 38590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +F280 +17E0 +9C80 +5480 +27E0 +2480 +57E0 +5480 +8480 +07E0 +ENDCHAR +STARTCHAR U_96BF +ENCODING 38591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6300 +5480 +47E0 +7C80 +C480 +47E0 +4480 +57E0 +5480 +37E0 +1400 +ENDCHAR +STARTCHAR U_96C0 +ENCODING 38592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +2560 +4620 +8500 +1FE0 +3200 +DFC0 +1200 +1FC0 +1200 +1FE0 +ENDCHAR +STARTCHAR U_96C1 +ENCODING 38593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4A00 +4A80 +53E0 +5680 +7BC0 +5280 +53C0 +5280 +93E0 +9200 +ENDCHAR +STARTCHAR U_96C2 +ENCODING 38594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +3280 +6BE0 +9680 +03E0 +FA80 +0BE0 +1280 +13E0 +2200 +ENDCHAR +STARTCHAR U_96C3 +ENCODING 38595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FB00 +5280 +53E0 +5680 +53E0 +FE80 +53E0 +5280 +5280 +53E0 +9200 +ENDCHAR +STARTCHAR U_96C4 +ENCODING 38596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1280 +FFE0 +2280 +2680 +53E0 +5280 +93E0 +A280 +2A80 +7BE0 +ENDCHAR +STARTCHAR U_96C5 +ENCODING 38597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FB00 +1280 +53E0 +5680 +FBE0 +1280 +3280 +53E0 +9280 +1280 +73E0 +ENDCHAR +STARTCHAR U_96C6 +ENCODING 38598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +2200 +7FE0 +A400 +3FC0 +2400 +3FC0 +2400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_96C7 +ENCODING 38599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +4040 +7FC0 +4A00 +4900 +5FE0 +6900 +4FC0 +4900 +8FE0 +ENDCHAR +STARTCHAR U_96C8 +ENCODING 38600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +F9E0 +0900 +1200 +3FE0 +6200 +BFC0 +2200 +3FC0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_96C9 +ENCODING 38601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +4280 +7BE0 +A680 +2280 +FBE0 +2280 +23E0 +3280 +4A80 +83E0 +ENDCHAR +STARTCHAR U_96CA +ENCODING 38602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +4280 +7BE0 +8E80 +EA80 +ABE0 +AA80 +EBE0 +0A80 +0BE0 +3200 +ENDCHAR +STARTCHAR U_96CB +ENCODING 38603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +3FE0 +2200 +7FC0 +A200 +3FE0 +2000 +79E0 +4920 +4F20 +4060 +ENDCHAR +STARTCHAR U_96CC +ENCODING 38604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2A80 +2BE0 +BE80 +ABE0 +AA80 +ABE0 +AA80 +BE80 +CBE0 +0200 +ENDCHAR +STARTCHAR U_96CD +ENCODING 38605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +57E0 +E480 +2FC0 +4C80 +F7C0 +1480 +27E0 +C400 +ENDCHAR +STARTCHAR U_96CE +ENCODING 38606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7B00 +4A80 +4BE0 +7E80 +4BE0 +4A80 +7BE0 +4E80 +FA80 +43E0 +0200 +ENDCHAR +STARTCHAR U_96CF +ENCODING 38607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +7A80 +4BE0 +9680 +FA80 +0BE0 +0A80 +7BE0 +0A80 +FBE0 +0A00 +ENDCHAR +STARTCHAR U_96D0 +ENCODING 38608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +0400 +7FE0 +4420 +5F00 +5440 +5FC0 +7200 +5FC0 +9200 +9FC0 +ENDCHAR +STARTCHAR U_96D1 +ENCODING 38609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +7A80 +2BE0 +2A80 +4E80 +13C0 +FE80 +13C0 +5A80 +97E0 +3200 +ENDCHAR +STARTCHAR U_96D2 +ENCODING 38610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +7280 +93E0 +6680 +2BE0 +5280 +F280 +53E0 +5280 +73E0 +5200 +ENDCHAR +STARTCHAR U_96D3 +ENCODING 38611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +5480 +8FE0 +7480 +2480 +FFE0 +2480 +77E0 +AC80 +27E0 +6400 +ENDCHAR +STARTCHAR U_96D4 +ENCODING 38612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6100 +9280 +FFE0 +9280 +9280 +FFE0 +9280 +FFE0 +9280 +FFE0 +8200 +ENDCHAR +STARTCHAR U_96D5 +ENCODING 38613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F980 +AA40 +FBE0 +AE40 +FBE0 +8A40 +FA40 +DBE0 +FA40 +8A40 +9BE0 +ENDCHAR +STARTCHAR U_96D6 +ENCODING 38614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8A80 +FBE0 +2680 +FBE0 +AA80 +AA80 +FBE0 +2A80 +3A80 +C7E0 +ENDCHAR +STARTCHAR U_96D7 +ENCODING 38615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +2480 +FA40 +8BE0 +FE80 +8BE0 +FA80 +23E0 +FA80 +23E0 +ENDCHAR +STARTCHAR U_96D8 +ENCODING 38616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A40 +4FE0 +6A40 +5FE0 +4A80 +FBE0 +4A80 +4FE0 +4A40 +8980 +9E60 +ENDCHAR +STARTCHAR U_96D9 +ENCODING 38617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +3FE0 +6A80 +BFC0 +2A80 +3FE0 +0000 +3FC0 +0880 +0700 +78E0 +ENDCHAR +STARTCHAR U_96DA +ENCODING 38618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0900 +7BC0 +4A40 +7BC0 +2200 +3FE0 +6200 +BFC0 +2200 +3FE0 +ENDCHAR +STARTCHAR U_96DB +ENCODING 38619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FA80 +ABE0 +FE80 +2A80 +CBE0 +7A80 +ABE0 +FA80 +2BE0 +D200 +ENDCHAR +STARTCHAR U_96DC +ENCODING 38620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FE80 +4BE0 +4A80 +B7E0 +1280 +FE80 +13E0 +3A80 +5680 +93E0 +ENDCHAR +STARTCHAR U_96DD +ENCODING 38621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5580 +AA80 +57E0 +FE80 +8BE0 +FA80 +AA80 +ABE0 +FA80 +87E0 +7E00 +ENDCHAR +STARTCHAR U_96DE +ENCODING 38622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1980 +EA80 +A7E0 +5280 +23E0 +CA80 +7280 +23E0 +FA80 +5280 +8BE0 +ENDCHAR +STARTCHAR U_96DF +ENCODING 38623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7FE0 +1200 +3FC0 +6200 +BFC0 +2200 +7FE0 +59A0 +6F60 +4060 +ENDCHAR +STARTCHAR U_96E0 +ENCODING 38624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A940 +F5E0 +A140 +AD40 +F5E0 +A540 +A540 +F5E0 +A740 +A540 +F1E0 +ENDCHAR +STARTCHAR U_96E1 +ENCODING 38625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +B540 +6FE0 +B540 +25E0 +3940 +4540 +93E0 +6940 +1140 +61E0 +ENDCHAR +STARTCHAR U_96E2 +ENCODING 38626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1180 +FD40 +55E0 +6F40 +55E0 +7D40 +2140 +FDE0 +AD40 +B540 +8DE0 +ENDCHAR +STARTCHAR U_96E3 +ENCODING 38627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5180 +FE80 +53E0 +2680 +FBC0 +AA80 +FA80 +23C0 +FE80 +5280 +8BE0 +ENDCHAR +STARTCHAR U_96E4 +ENCODING 38628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AC0 +4440 +7BC0 +4440 +FFE0 +A420 +7FC0 +C400 +7FC0 +4400 +7FC0 +ENDCHAR +STARTCHAR U_96E5 +ENCODING 38629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +6200 +BFC0 +2200 +3FE0 +5280 +7FE0 +D280 +7BC0 +5280 +7FE0 +ENDCHAR +STARTCHAR U_96E6 +ENCODING 38630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +CCC0 +AAA0 +FFE0 +AAA0 +FFE0 +AAA0 +FFE0 +AAA0 +AAA0 +FFE0 +8880 +ENDCHAR +STARTCHAR U_96E7 +ENCODING 38631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +3F80 +1200 +7FC0 +5280 +FFC0 +5280 +FFE0 +0E00 +1500 +64C0 +ENDCHAR +STARTCHAR U_96E8 +ENCODING 38632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +0400 +7FC0 +4440 +5540 +4CC0 +6640 +5540 +4440 +44C0 +ENDCHAR +STARTCHAR U_96E9 +ENCODING 38633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +7FC0 +0000 +FFE0 +1000 +3F80 +0080 +0300 +ENDCHAR +STARTCHAR U_96EA +ENCODING 38634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +8420 +B5A0 +0000 +7FC0 +0040 +3FC0 +0040 +7FC0 +ENDCHAR +STARTCHAR U_96EB +ENCODING 38635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +1500 +2480 +FFE0 +0600 +0580 +0480 +0400 +ENDCHAR +STARTCHAR U_96EC +ENCODING 38636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +1500 +2080 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_96ED +ENCODING 38637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +1500 +7F80 +1100 +1380 +2900 +4600 +99C0 +ENDCHAR +STARTCHAR U_96EE +ENCODING 38638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +1500 +2480 +0780 +7C00 +07C0 +7C20 +03E0 +ENDCHAR +STARTCHAR U_96EF +ENCODING 38639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +8420 +B5A0 +0400 +FFE0 +1100 +0A00 +1F00 +E0E0 +ENDCHAR +STARTCHAR U_96F0 +ENCODING 38640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +1100 +2080 +7FC0 +88A0 +1080 +6300 +ENDCHAR +STARTCHAR U_96F1 +ENCODING 38641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +0400 +FFE0 +0800 +0FC0 +3040 +C380 +ENDCHAR +STARTCHAR U_96F2 +ENCODING 38642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +7F80 +0000 +FFE0 +1100 +FF80 +6040 +ENDCHAR +STARTCHAR U_96F3 +ENCODING 38643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +7FC0 +4200 +5FC0 +4440 +4840 +B180 +ENDCHAR +STARTCHAR U_96F4 +ENCODING 38644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0400 +FFE0 +A4A0 +1500 +2880 +0400 +7FC0 +1100 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_96F5 +ENCODING 38645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +7FC0 +4440 +FFE0 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_96F6 +ENCODING 38646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +0E00 +3180 +C460 +3F80 +0100 +0E00 +0300 +ENDCHAR +STARTCHAR U_96F7 +ENCODING 38647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +8420 +B5A0 +0400 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_96F8 +ENCODING 38648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +1080 +FFE0 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_96F9 +ENCODING 38649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +3FC0 +4040 +BE40 +2240 +3EA0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_96FA +ENCODING 38650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +7F80 +0900 +FFE0 +0A40 +1200 +6E00 +ENDCHAR +STARTCHAR U_96FB +ENCODING 38651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +7FC0 +4440 +7FC0 +4440 +7FC0 +0420 +07E0 +ENDCHAR +STARTCHAR U_96FC +ENCODING 38652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +1500 +2080 +FFE0 +0800 +1F80 +F080 +1F80 +ENDCHAR +STARTCHAR U_96FD +ENCODING 38653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +01C0 +7E80 +2500 +FFE0 +0400 +1C00 +ENDCHAR +STARTCHAR U_96FE +ENCODING 38654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +3F80 +5200 +1F00 +E4E0 +3F80 +0880 +7300 +ENDCHAR +STARTCHAR U_96FF +ENCODING 38655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +2A40 +1A80 +3B00 +CAA0 +1220 +E1E0 +ENDCHAR +STARTCHAR U_9700 +ENCODING 38656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +B5A0 +0400 +FFE0 +0800 +7FC0 +4A40 +4A40 +4AC0 +ENDCHAR +STARTCHAR U_9701 +ENCODING 38657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +7FC0 +1100 +0E00 +F1E0 +1100 +6100 +ENDCHAR +STARTCHAR U_9702 +ENCODING 38658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +9100 +6FC0 +2300 +C580 +4940 +5120 +ENDCHAR +STARTCHAR U_9703 +ENCODING 38659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +0400 +FFE0 +9520 +2480 +0200 +2FC0 +4A40 +1200 +6540 +29C0 +ENDCHAR +STARTCHAR U_9704 +ENCODING 38660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +1500 +3F80 +2080 +3F80 +2080 +3F80 +2180 +ENDCHAR +STARTCHAR U_9705 +ENCODING 38661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +FFE0 +0000 +3F80 +0000 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_9706 +ENCODING 38662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +F7C0 +2100 +77C0 +1100 +5FE0 +2000 +DFE0 +ENDCHAR +STARTCHAR U_9707 +ENCODING 38663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A520 +94A0 +7FC0 +4000 +7FC0 +5280 +9100 +98E0 +ENDCHAR +STARTCHAR U_9708 +ENCODING 38664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +4200 +BFE0 +6200 +2FC0 +CA40 +4AC0 +4200 +ENDCHAR +STARTCHAR U_9709 +ENCODING 38665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +9520 +7FE0 +2880 +FFE0 +2480 +3FE0 +0100 +ENDCHAR +STARTCHAR U_970A +ENCODING 38666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +2480 +7FC0 +0000 +7FC0 +4A40 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_970B +ENCODING 38667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FFC0 +0480 +7FC0 +0480 +FFE0 +1200 +FDC0 +ENDCHAR +STARTCHAR U_970C +ENCODING 38668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +5540 +7FC0 +4440 +5F40 +4E40 +4A40 +8EC0 +ENDCHAR +STARTCHAR U_970D +ENCODING 38669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +3FE0 +1200 +3FC0 +5200 +9FC0 +1200 +1FE0 +ENDCHAR +STARTCHAR U_970E +ENCODING 38670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +7FC0 +0900 +FFE0 +0400 +7FC0 +1200 +FDC0 +ENDCHAR +STARTCHAR U_970F +ENCODING 38671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +0A00 +FBE0 +0A00 +7BC0 +0A00 +FBE0 +0A00 +ENDCHAR +STARTCHAR U_9710 +ENCODING 38672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +94A0 +AE40 +4280 +BE80 +5080 +DD00 +4520 +4DE0 +ENDCHAR +STARTCHAR U_9711 +ENCODING 38673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +4100 +A9E0 +5100 +E7C0 +4440 +47C0 +ENDCHAR +STARTCHAR U_9712 +ENCODING 38674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +1080 +FF40 +9220 +6C80 +3840 +03E0 +FC20 +2840 +FC40 +4480 +ENDCHAR +STARTCHAR U_9713 +ENCODING 38675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +73C0 +4040 +7BC0 +4040 +7FC0 +1220 +E3E0 +ENDCHAR +STARTCHAR U_9714 +ENCODING 38676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +0400 +FFE0 +A4A0 +5540 +4100 +2FE0 +8100 +2FC0 +4100 +5FE0 +ENDCHAR +STARTCHAR U_9715 +ENCODING 38677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +2100 +FFE0 +A900 +7540 +AD40 +FD40 +07C0 +F920 +5120 +F8E0 +ENDCHAR +STARTCHAR U_9716 +ENCODING 38678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +1100 +FBE0 +1100 +3B80 +5540 +9120 +ENDCHAR +STARTCHAR U_9717 +ENCODING 38679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +0400 +FFE0 +94A0 +2500 +4280 +2D40 +87E0 +2080 +4300 +4100 +ENDCHAR +STARTCHAR U_9718 +ENCODING 38680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +4FE0 +2820 +ABA0 +4820 +CBA0 +4AA0 +4BA0 +ENDCHAR +STARTCHAR U_9719 +ENCODING 38681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FFE0 +1100 +3F80 +2480 +FFE0 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_971A +ENCODING 38682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +0400 +FFE0 +9520 +2480 +7A00 +13E0 +7A40 +3580 +5180 +B660 +ENDCHAR +STARTCHAR U_971B +ENCODING 38683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +2480 +6EC0 +2240 +4480 +66C0 +2240 +66C0 +ENDCHAR +STARTCHAR U_971C +ENCODING 38684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +23C0 +FA40 +23C0 +3240 +6BC0 +AA40 +23C0 +ENDCHAR +STARTCHAR U_971D +ENCODING 38685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A0A0 +0000 +EEE0 +AAA0 +AAA0 +EEE0 +AAA0 +ENDCHAR +STARTCHAR U_971E +ENCODING 38686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FBC0 +4840 +7FC0 +4240 +7A40 +4180 +4E60 +ENDCHAR +STARTCHAR U_971F +ENCODING 38687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +4480 +2FC0 +A480 +4480 +DFE0 +4480 +5860 +ENDCHAR +STARTCHAR U_9720 +ENCODING 38688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +2500 +1280 +FD40 +9120 +57C0 +2080 +F100 +ENDCHAR +STARTCHAR U_9721 +ENCODING 38689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +94A0 +2540 +7300 +5140 +7D80 +5580 +7960 +9340 +ENDCHAR +STARTCHAR U_9722 +ENCODING 38690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +F7C0 +9440 +F580 +9540 +F580 +9540 +B920 +ENDCHAR +STARTCHAR U_9723 +ENCODING 38691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +3F80 +2080 +7FC0 +4040 +7FC0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_9724 +ENCODING 38692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +73C0 +4940 +7540 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_9725 +ENCODING 38693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FFE0 +8020 +7FC0 +1480 +6F00 +1500 +6CE0 +ENDCHAR +STARTCHAR U_9726 +ENCODING 38694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +2440 +FE80 +2520 +6E40 +B5A0 +2440 +2580 +ENDCHAR +STARTCHAR U_9727 +ENCODING 38695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FBE0 +5540 +FC80 +2940 +6FE0 +A120 +6260 +ENDCHAR +STARTCHAR U_9728 +ENCODING 38696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +7C40 +47E0 +7C40 +4240 +7D40 +5840 +B4C0 +ENDCHAR +STARTCHAR U_9729 +ENCODING 38697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FDE0 +4920 +7D40 +0940 +FD20 +11A0 +7140 +ENDCHAR +STARTCHAR U_972A +ENCODING 38698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +4FE0 +AA40 +47C0 +6100 +DFE0 +4100 +4FE0 +ENDCHAR +STARTCHAR U_972B +ENCODING 38699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +7FC0 +1540 +0CC0 +7540 +3FC0 +2240 +3FC0 +ENDCHAR +STARTCHAR U_972C +ENCODING 38700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +7FC0 +4440 +7FC0 +1100 +7FC0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_972D +ENCODING 38701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +27C0 +1540 +E440 +27E0 +2D20 +36A0 +27C0 +ENDCHAR +STARTCHAR U_972E +ENCODING 38702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +9FE0 +4480 +A780 +4480 +DFE0 +4A80 +4FE0 +ENDCHAR +STARTCHAR U_972F +ENCODING 38703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +7A80 +5120 +3FC0 +60A0 +BF80 +1200 +FFC0 +ENDCHAR +STARTCHAR U_9730 +ENCODING 38704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FDE0 +5140 +FF40 +4940 +7880 +4940 +5A20 +ENDCHAR +STARTCHAR U_9731 +ENCODING 38705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +2480 +FFC0 +1480 +FFC0 +5B40 +6EC0 +40C0 +ENDCHAR +STARTCHAR U_9732 +ENCODING 38706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +F3C0 +9640 +F180 +2660 +BBC0 +A240 +F3C0 +ENDCHAR +STARTCHAR U_9733 +ENCODING 38707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +7380 +5280 +6D60 +5500 +67C0 +4900 +4FE0 +ENDCHAR +STARTCHAR U_9734 +ENCODING 38708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +23C0 +FD40 +AFE0 +7140 +AFE0 +F540 +0380 +FD60 +5140 +FB00 +ENDCHAR +STARTCHAR U_9735 +ENCODING 38709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FCA0 +4940 +FD20 +8BE0 +F940 +88A0 +FD60 +ENDCHAR +STARTCHAR U_9736 +ENCODING 38710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +1500 +4FE0 +8280 +2FE0 +CA20 +43C0 +4C40 +ENDCHAR +STARTCHAR U_9737 +ENCODING 38711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +94A0 +2500 +77C0 +5540 +7FE0 +5400 +57E0 +7AA0 +ENDCHAR +STARTCHAR U_9738 +ENCODING 38712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FFC0 +4A40 +FBC0 +AA40 +FFC0 +2240 +24C0 +ENDCHAR +STARTCHAR U_9739 +ENCODING 38713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +7BE0 +4940 +7880 +47E0 +7880 +ABE0 +3880 +ENDCHAR +STARTCHAR U_973A +ENCODING 38714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +6AE0 +BFA0 +40A0 +FEA0 +5440 +54A0 +6720 +ENDCHAR +STARTCHAR U_973B +ENCODING 38715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +7FC0 +4A40 +FFE0 +2080 +3F80 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_973C +ENCODING 38716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +23E0 +FC00 +ABC0 +7000 +AFC0 +7AC0 +0740 +FFC0 +5720 +FAA0 +ENDCHAR +STARTCHAR U_973D +ENCODING 38717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FFE0 +5A80 +94C0 +3FA0 +2080 +3F80 +4080 +ENDCHAR +STARTCHAR U_973E +ENCODING 38718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +57C0 +A540 +57C0 +B540 +57C0 +9100 +2FE0 +ENDCHAR +STARTCHAR U_973F +ENCODING 38719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +F9C0 +5280 +FFE0 +6A40 +A3C0 +2240 +63C0 +ENDCHAR +STARTCHAR U_9740 +ENCODING 38720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +5540 +7FC0 +1100 +FFE0 +2D00 +D600 +2DC0 +ENDCHAR +STARTCHAR U_9741 +ENCODING 38721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +3F80 +2480 +3F80 +2480 +FFE0 +AAA0 +FBE0 +ENDCHAR +STARTCHAR U_9742 +ENCODING 38722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FFE0 +9080 +FBC0 +D4A0 +97C0 +A400 +FFE0 +ENDCHAR +STARTCHAR U_9743 +ENCODING 38723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +A280 +FFE0 +A280 +FBC0 +A280 +FBE0 +ENDCHAR +STARTCHAR U_9744 +ENCODING 38724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +F7C0 +0440 +F3E0 +0CA0 +F560 +9720 +F0C0 +ENDCHAR +STARTCHAR U_9745 +ENCODING 38725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A80 +27E0 +FAA0 +AFE0 +72A0 +ACE0 +77C0 +0340 +FAC0 +53C0 +FE60 +ENDCHAR +STARTCHAR U_9746 +ENCODING 38726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +23E0 +F8A0 +ABE0 +FCA0 +AFE0 +76A0 +05C0 +FEA0 +4D80 +FBE0 +ENDCHAR +STARTCHAR U_9747 +ENCODING 38727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FBE0 +5200 +FBC0 +8840 +FBC0 +8A20 +9BE0 +ENDCHAR +STARTCHAR U_9748 +ENCODING 38728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +2480 +EEE0 +AAA0 +FFE0 +2480 +5540 +FFE0 +ENDCHAR +STARTCHAR U_9749 +ENCODING 38729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +22A0 +FFE0 +AAA0 +FAC0 +8D20 +73C0 +0640 +F980 +5240 +FC20 +ENDCHAR +STARTCHAR U_974A +ENCODING 38730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +7FC0 +5540 +FFE0 +2040 +3FC0 +0900 +FFE0 +ENDCHAR +STARTCHAR U_974B +ENCODING 38731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +9FC0 +5480 +BFE0 +54A0 +D5C0 +6900 +9FE0 +ENDCHAR +STARTCHAR U_974C +ENCODING 38732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A4A0 +7FC0 +5540 +1540 +3F80 +2A80 +3F80 +1100 +ENDCHAR +STARTCHAR U_974D +ENCODING 38733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +A520 +3BE0 +52A0 +FBE0 +5200 +7BE0 +52A0 +7D60 +ENDCHAR +STARTCHAR U_974E +ENCODING 38734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +0400 +FFE0 +9520 +2BE0 +7EA0 +93E0 +7E00 +57E0 +3AA0 +F960 +ENDCHAR +STARTCHAR U_974F +ENCODING 38735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +FFE0 +A6A0 +7BE0 +D200 +7BE0 +52A0 +7D60 +ENDCHAR +STARTCHAR U_9750 +ENCODING 38736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +8420 +3F80 +2480 +FFE0 +2080 +FBE0 +AAA0 +FBE0 +ENDCHAR +STARTCHAR U_9751 +ENCODING 38737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +7FC0 +0400 +FFE0 +2480 +3F80 +2080 +2280 +2100 +ENDCHAR +STARTCHAR U_9752 +ENCODING 38738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +3F80 +0400 +FFE0 +1080 +1F80 +1080 +1F80 +1080 +ENDCHAR +STARTCHAR U_9753 +ENCODING 38739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC40 +2540 +FD40 +2540 +FD40 +5540 +7280 +52A0 +74A0 +58E0 +ENDCHAR +STARTCHAR U_9754 +ENCODING 38740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +2400 +FBC0 +2000 +FFC0 +4840 +7840 +4840 +7820 +4820 +ENDCHAR +STARTCHAR U_9755 +ENCODING 38741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +2100 +27C0 +2100 +BFE0 +A440 +A7C0 +B440 +C7C0 +0440 +ENDCHAR +STARTCHAR U_9756 +ENCODING 38742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F900 +07C0 +9100 +5FE0 +5440 +27C0 +3440 +C7C0 +0440 +ENDCHAR +STARTCHAR U_9757 +ENCODING 38743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F140 +2540 +F380 +27E0 +FA80 +5280 +7280 +52A0 +74A0 +5860 +ENDCHAR +STARTCHAR U_9758 +ENCODING 38744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F9C0 +2280 +FBE0 +26A0 +FAA0 +8BE0 +FA00 +8A20 +FA20 +99E0 +ENDCHAR +STARTCHAR U_9759 +ENCODING 38745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FDC0 +2280 +7BC0 +2140 +FFE0 +4940 +6BC0 +5900 +4900 +5B00 +ENDCHAR +STARTCHAR U_975A +ENCODING 38746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2220 +FBE0 +2220 +FFE0 +4A20 +7BE0 +4940 +7940 +4A40 +5C60 +ENDCHAR +STARTCHAR U_975B +ENCODING 38747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBE0 +2220 +7800 +23E0 +FC80 +4A80 +7AE0 +4A80 +7B80 +4CE0 +ENDCHAR +STARTCHAR U_975C +ENCODING 38748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +2520 +FAC0 +27C0 +F940 +97E0 +F140 +97C0 +F100 +9500 +B200 +ENDCHAR +STARTCHAR U_975D +ENCODING 38749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +F7E0 +2800 +F780 +2000 +FFC0 +5AC0 +7740 +5FC0 +7760 +5AA0 +ENDCHAR +STARTCHAR U_975E +ENCODING 38750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +0A00 +FBE0 +0A00 +0A00 +7BC0 +0A00 +0A00 +FBE0 +0A00 +0A00 +ENDCHAR +STARTCHAR U_975F +ENCODING 38751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0A00 +FBE0 +0A00 +7BE0 +0A00 +03C0 +7C00 +0400 +7FA0 +0420 +03E0 +ENDCHAR +STARTCHAR U_9760 +ENCODING 38752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +3FC0 +4400 +FFE0 +2080 +3F80 +0A00 +FBE0 +0A00 +FBE0 +0A00 +ENDCHAR +STARTCHAR U_9761 +ENCODING 38753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +9080 +FFE0 +B9C0 +D6A0 +FBE0 +8A00 +BBC0 +8A00 +FBE0 +ENDCHAR +STARTCHAR U_9762 +ENCODING 38754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +0800 +1000 +FFC0 +9240 +9E40 +9240 +9E40 +9240 +FFC0 +8040 +ENDCHAR +STARTCHAR U_9763 +ENCODING 38755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +FFE0 +0400 +0800 +7FC0 +4040 +5F40 +5140 +5F40 +4040 +7FC0 +ENDCHAR +STARTCHAR U_9764 +ENCODING 38756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FDE0 +2220 +FDA0 +A6A0 +B5A0 +A520 +B560 +A500 +A520 +FDE0 +ENDCHAR +STARTCHAR U_9765 +ENCODING 38757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4280 +7FE0 +4500 +7FE0 +4200 +5FE0 +5520 +5720 +9520 +9FE0 +ENDCHAR +STARTCHAR U_9766 +ENCODING 38758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2120 +FFE0 +AB20 +BBE0 +AB20 +BBE0 +AA40 +AAC0 +FF40 +8260 +ENDCHAR +STARTCHAR U_9767 +ENCODING 38759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +4540 +FFE0 +A800 +BBC0 +AB40 +BAC0 +AB40 +FBC0 +0660 +ENDCHAR +STARTCHAR U_9768 +ENCODING 38760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A4C0 +BCA0 +A7E0 +BC80 +A540 +FFE0 +2940 +2F40 +2940 +3FC0 +ENDCHAR +STARTCHAR U_9769 +ENCODING 38761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F00 +0400 +3F80 +2480 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_976A +ENCODING 38762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +FC40 +2840 +3840 +1040 +7C40 +5440 +7C40 +1240 +FD40 +1080 +ENDCHAR +STARTCHAR U_976B +ENCODING 38763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +FFC0 +5440 +7640 +2540 +FA80 +AA80 +F900 +2280 +FC60 +2840 +ENDCHAR +STARTCHAR U_976C +ENCODING 38764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +FC80 +2880 +3880 +1080 +7FE0 +5480 +7C80 +1080 +FC80 +1080 +ENDCHAR +STARTCHAR U_976D +ENCODING 38765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2800 +FDE0 +28A0 +38A0 +11A0 +7EA0 +54A0 +7D20 +1120 +FEA0 +1440 +ENDCHAR +STARTCHAR U_976E +ENCODING 38766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F900 +53E0 +7420 +2120 +F8A0 +A8A0 +F820 +2020 +F920 +20C0 +ENDCHAR +STARTCHAR U_976F +ENCODING 38767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F900 +5100 +7100 +27C0 +F900 +A900 +F900 +2100 +F900 +27E0 +ENDCHAR +STARTCHAR U_9770 +ENCODING 38768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +FA80 +5280 +7280 +2280 +FA80 +AA80 +FA80 +22A0 +FAA0 +24E0 +ENDCHAR +STARTCHAR U_9771 +ENCODING 38769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +FBC0 +5140 +7140 +2540 +FB40 +A940 +FAC0 +2260 +FD40 +2080 +ENDCHAR +STARTCHAR U_9772 +ENCODING 38770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F980 +5240 +7520 +2080 +F800 +ABE0 +F840 +2040 +F880 +2080 +ENDCHAR +STARTCHAR U_9773 +ENCODING 38771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2860 +FF80 +2900 +3900 +11E0 +7D40 +5540 +7D40 +1140 +FE40 +1440 +ENDCHAR +STARTCHAR U_9774 +ENCODING 38772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5180 +FA80 +5280 +76A0 +22C0 +FA80 +AB80 +FA80 +26A0 +FAA0 +2260 +ENDCHAR +STARTCHAR U_9775 +ENCODING 38773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +FBC0 +5140 +7140 +23C0 +F940 +A940 +F940 +2140 +FFE0 +2000 +ENDCHAR +STARTCHAR U_9776 +ENCODING 38774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +FFE0 +52A0 +72A0 +22A0 +FBE0 +AA00 +FA00 +2220 +FE20 +23E0 +ENDCHAR +STARTCHAR U_9777 +ENCODING 38775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53A0 +F8A0 +50A0 +73A0 +2220 +FBA0 +A8A0 +F8A0 +20A0 +FCA0 +2320 +ENDCHAR +STARTCHAR U_9778 +ENCODING 38776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57C0 +FA40 +5240 +7280 +22E0 +FA20 +AA40 +FB40 +2480 +F940 +2A20 +ENDCHAR +STARTCHAR U_9779 +ENCODING 38777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F880 +5080 +73E0 +22A0 +FAA0 +AB60 +FA20 +2220 +FA20 +2260 +ENDCHAR +STARTCHAR U_977A +ENCODING 38778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FBE0 +5080 +7080 +23E0 +F880 +A880 +F9C0 +22A0 +FCA0 +2080 +ENDCHAR +STARTCHAR U_977B +ENCODING 38779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53C0 +FA40 +5240 +7240 +23C0 +FA40 +AA40 +FBC0 +2240 +FA40 +27E0 +ENDCHAR +STARTCHAR U_977C +ENCODING 38780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +FBC0 +5240 +7240 +23C0 +FA40 +AA40 +FBC0 +2240 +F800 +27E0 +ENDCHAR +STARTCHAR U_977D +ENCODING 38781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FEA0 +51C0 +7080 +23E0 +F880 +A880 +FFE0 +2080 +FC80 +2080 +ENDCHAR +STARTCHAR U_977E +ENCODING 38782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +52A0 +FAA0 +52A0 +77E0 +22A0 +FAA0 +AAA0 +FAE0 +2200 +FA00 +23E0 +ENDCHAR +STARTCHAR U_977F +ENCODING 38783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +FA80 +5480 +75E0 +22A0 +FAA0 +AAA0 +FDA0 +26A0 +F920 +2240 +ENDCHAR +STARTCHAR U_9780 +ENCODING 38784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +F920 +5120 +7120 +22E0 +FC40 +ABE0 +FA20 +2220 +FBE0 +2220 +ENDCHAR +STARTCHAR U_9781 +ENCODING 38785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FBE0 +52A0 +7280 +23E0 +FA40 +AA40 +FB40 +2280 +FD40 +2A20 +ENDCHAR +STARTCHAR U_9782 +ENCODING 38786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5060 +FB80 +5080 +77E0 +2080 +F880 +A9C0 +FAA0 +24A0 +F880 +2080 +ENDCHAR +STARTCHAR U_9783 +ENCODING 38787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5740 +F940 +5140 +7740 +2440 +FE40 +AA80 +FAA0 +22A0 +FAA0 +25E0 +ENDCHAR +STARTCHAR U_9784 +ENCODING 38788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5200 +FBE0 +5420 +73A0 +22A0 +FAA0 +ABA0 +FA60 +2200 +FA20 +21E0 +ENDCHAR +STARTCHAR U_9785 +ENCODING 38789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F880 +53E0 +72A0 +22A0 +FAA0 +AFE0 +F880 +2140 +FA20 +2420 +ENDCHAR +STARTCHAR U_9786 +ENCODING 38790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +FFE0 +5100 +77C0 +2540 +FD40 +AEC0 +FC40 +2440 +FC40 +24C0 +ENDCHAR +STARTCHAR U_9787 +ENCODING 38791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5000 +FFE0 +5520 +77E0 +2520 +FD20 +ADA0 +FE60 +2420 +FFE0 +2420 +ENDCHAR +STARTCHAR U_9788 +ENCODING 38792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F980 +5240 +7420 +23C0 +F800 +ABC0 +FA40 +2240 +FBC0 +2240 +ENDCHAR +STARTCHAR U_9789 +ENCODING 38793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +FA80 +52A0 +7AC0 +2680 +FAC0 +AAA0 +FE80 +22A0 +FCA0 +2860 +ENDCHAR +STARTCHAR U_978A +ENCODING 38794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F880 +57E0 +7080 +23E0 +F800 +ABE0 +FA20 +2220 +FBE0 +2220 +ENDCHAR +STARTCHAR U_978B +ENCODING 38795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F880 +53E0 +7080 +27E0 +F880 +A880 +FBE0 +2080 +F880 +27E0 +ENDCHAR +STARTCHAR U_978C +ENCODING 38796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +1F00 +6A80 +3FC0 +0A00 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_978D +ENCODING 38797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FFE0 +5420 +7100 +2100 +FFE0 +A940 +FA40 +2180 +F940 +2620 +ENDCHAR +STARTCHAR U_978E +ENCODING 38798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FA20 +53E0 +7220 +23E0 +FA80 +AAA0 +FAC0 +2240 +FAA0 +2320 +ENDCHAR +STARTCHAR U_978F +ENCODING 38799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF80 +24A0 +3EA0 +E5E0 +1100 +FFE0 +1100 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_9790 +ENCODING 38800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FDC0 +5100 +77E0 +2000 +FFE0 +A900 +F940 +2120 +F900 +2100 +ENDCHAR +STARTCHAR U_9791 +ENCODING 38801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FC80 +5280 +71E0 +2E80 +FA80 +AAC0 +FB20 +2200 +FD00 +28E0 +ENDCHAR +STARTCHAR U_9792 +ENCODING 38802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5040 +FB80 +5100 +77E0 +2140 +FE20 +AA40 +FA40 +2240 +FA40 +2440 +ENDCHAR +STARTCHAR U_9793 +ENCODING 38803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53C0 +FA40 +53C0 +7000 +27C0 +F900 +A900 +FFC0 +2100 +F900 +27E0 +ENDCHAR +STARTCHAR U_9794 +ENCODING 38804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F9C0 +5240 +77E0 +22A0 +FAA0 +ABE0 +F880 +21A0 +FAA0 +2460 +ENDCHAR +STARTCHAR U_9795 +ENCODING 38805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +F900 +57C0 +7540 +27C0 +FD40 +AFC0 +FD00 +2300 +FA80 +2460 +ENDCHAR +STARTCHAR U_9796 +ENCODING 38806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +50E0 +FF40 +5540 +7280 +2100 +FFE0 +A940 +FA40 +2180 +FA40 +2420 +ENDCHAR +STARTCHAR U_9797 +ENCODING 38807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +5A40 +5180 +D240 +5FE0 +5280 +57C0 +5540 +4FE0 +4100 +ENDCHAR +STARTCHAR U_9798 +ENCODING 38808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FAA0 +51C0 +7080 +23E0 +FA20 +ABE0 +FA20 +23E0 +FA20 +2260 +ENDCHAR +STARTCHAR U_9799 +ENCODING 38809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FA20 +53E0 +7000 +23E0 +FA20 +ABE0 +FA20 +23E0 +FA20 +2260 +ENDCHAR +STARTCHAR U_979A +ENCODING 38810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FFE0 +5420 +7140 +2220 +F800 +ABC0 +F880 +2080 +F880 +27E0 +ENDCHAR +STARTCHAR U_979B +ENCODING 38811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FFE0 +5040 +7240 +2180 +FFE0 +A800 +FBC0 +2240 +FBC0 +2240 +ENDCHAR +STARTCHAR U_979C +ENCODING 38812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F8A0 +57C0 +72A0 +24A0 +F980 +ABE0 +FA20 +23E0 +FA20 +23E0 +ENDCHAR +STARTCHAR U_979D +ENCODING 38813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5520 +FB40 +5100 +7FE0 +2820 +FBA0 +AAA0 +FAA0 +2BA0 +F820 +2860 +ENDCHAR +STARTCHAR U_979E +ENCODING 38814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FFE0 +5520 +77E0 +2520 +FFE0 +A980 +FA80 +27E0 +F880 +2080 +ENDCHAR +STARTCHAR U_979F +ENCODING 38815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FFE0 +5000 +73C0 +2240 +FBC0 +A880 +FBE0 +2080 +FA80 +2100 +ENDCHAR +STARTCHAR U_97A0 +ENCODING 38816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5200 +FBE0 +5560 +75A0 +2320 +FFE0 +A920 +FBA0 +2560 +F920 +21C0 +ENDCHAR +STARTCHAR U_97A1 +ENCODING 38817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +FA40 +57E0 +7200 +2220 +FBA0 +AEA0 +FAA0 +2240 +FA40 +27E0 +ENDCHAR +STARTCHAR U_97A2 +ENCODING 38818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +FFE0 +5540 +75C0 +2400 +FFE0 +A900 +FFE0 +2380 +FD40 +2920 +ENDCHAR +STARTCHAR U_97A3 +ENCODING 38819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +F940 +57E0 +72A0 +2580 +F900 +AFE0 +F900 +2380 +FD40 +2920 +ENDCHAR +STARTCHAR U_97A4 +ENCODING 38820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FBE0 +2140 +F8C0 +2900 +FFC0 +0900 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_97A5 +ENCODING 38821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5180 +FA40 +55A0 +7000 +23C0 +FA40 +ABC0 +FA40 +27E0 +FA40 +2440 +ENDCHAR +STARTCHAR U_97A6 +ENCODING 38822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5140 +FE40 +5240 +72C0 +2F60 +FA40 +AB40 +FEC0 +2240 +FAA0 +2320 +ENDCHAR +STARTCHAR U_97A7 +ENCODING 38823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +FFE0 +5280 +77E0 +26A0 +FEE0 +AC20 +FFE0 +2420 +FFE0 +2420 +ENDCHAR +STARTCHAR U_97A8 +ENCODING 38824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FA20 +53E0 +7220 +23E0 +F900 +AFE0 +FAA0 +2360 +FFA0 +2040 +ENDCHAR +STARTCHAR U_97A9 +ENCODING 38825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5220 +FAA0 +5720 +7F60 +2960 +FF60 +A960 +FF60 +2920 +F920 +2B60 +ENDCHAR +STARTCHAR U_97AA +ENCODING 38826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +53E0 +F940 +6880 +A940 +FFE0 +0900 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_97AB +ENCODING 38827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5200 +FBE0 +5520 +77E0 +2020 +FBA0 +A820 +FBA0 +22A0 +FBA0 +2040 +ENDCHAR +STARTCHAR U_97AC +ENCODING 38828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +FAA0 +53E0 +74A0 +27E0 +FA80 +ABE0 +FA80 +27E0 +FA80 +29E0 +ENDCHAR +STARTCHAR U_97AD +ENCODING 38829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FA80 +53E0 +76A0 +27E0 +FEA0 +AFE0 +FC80 +2580 +FD40 +2620 +ENDCHAR +STARTCHAR U_97AE +ENCODING 38830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FA20 +53E0 +7220 +23E0 +F800 +AFE0 +FA80 +22E0 +FD80 +24E0 +ENDCHAR +STARTCHAR U_97AF +ENCODING 38831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5140 +FFE0 +5140 +77E0 +2100 +FAE0 +AE40 +FBE0 +2240 +FA40 +22C0 +ENDCHAR +STARTCHAR U_97B0 +ENCODING 38832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53C0 +FA40 +53C0 +7240 +23C0 +F800 +AFE0 +FAA0 +2AA0 +FAA0 +2FE0 +ENDCHAR +STARTCHAR U_97B1 +ENCODING 38833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +50E0 +FF20 +52A0 +7140 +2100 +FA60 +AA20 +FB60 +2220 +FFE0 +2220 +ENDCHAR +STARTCHAR U_97B2 +ENCODING 38834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +FFE0 +5280 +77C0 +2280 +FFE0 +AD40 +FFC0 +2540 +FFE0 +24C0 +ENDCHAR +STARTCHAR U_97B3 +ENCODING 38835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +FBE0 +5240 +7180 +2240 +FDA0 +A800 +FBC0 +2240 +FBC0 +2240 +ENDCHAR +STARTCHAR U_97B4 +ENCODING 38836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5140 +FBE0 +5140 +77E0 +2200 +FBE0 +AEA0 +FBE0 +22A0 +FBE0 +22A0 +ENDCHAR +STARTCHAR U_97B5 +ENCODING 38837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +51C0 +FE40 +5540 +7280 +2780 +F940 +AFC0 +F900 +27E0 +FA80 +2460 +ENDCHAR +STARTCHAR U_97B6 +ENCODING 38838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FE60 +AB80 +F900 +AA80 +7FE0 +0900 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_97B7 +ENCODING 38839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2080 +7FC0 +4A40 +4440 +FFE0 +1100 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_97B8 +ENCODING 38840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FAA0 +53E0 +72A0 +23E0 +FAA0 +AFE0 +FAA0 +27E0 +F880 +2080 +ENDCHAR +STARTCHAR U_97B9 +ENCODING 38841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +52E0 +FFA0 +55A0 +77C0 +20A0 +FFA0 +AAA0 +FAA0 +27E0 +FA80 +2680 +ENDCHAR +STARTCHAR U_97BA +ENCODING 38842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +FB80 +57E0 +7820 +2380 +FA80 +AB80 +F900 +27C0 +F900 +27E0 +ENDCHAR +STARTCHAR U_97BB +ENCODING 38843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FFC0 +5540 +77E0 +2540 +FFE0 +A920 +FFE0 +2240 +F980 +2660 +ENDCHAR +STARTCHAR U_97BC +ENCODING 38844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FFC0 +5540 +77E0 +2000 +FBC0 +AB40 +FAC0 +2340 +FBC0 +2660 +ENDCHAR +STARTCHAR U_97BD +ENCODING 38845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53C0 +F900 +5FE0 +7280 +27E0 +FA80 +AFE0 +FEA0 +27A0 +FC20 +2460 +ENDCHAR +STARTCHAR U_97BE +ENCODING 38846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +FFE0 +5240 +77E0 +2540 +FFE0 +AD40 +FFE0 +2100 +FFE0 +2100 +ENDCHAR +STARTCHAR U_97BF +ENCODING 38847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5540 +F5A0 +5FC0 +7540 +2FE0 +F920 +AFE0 +FB40 +22A0 +FD60 +2220 +ENDCHAR +STARTCHAR U_97C0 +ENCODING 38848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FFE0 +5540 +77E0 +2560 +FFE0 +AD00 +FDE0 +2500 +FDE0 +2AA0 +ENDCHAR +STARTCHAR U_97C1 +ENCODING 38849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +FAA0 +53E0 +72A0 +27E0 +F800 +ABE0 +FAA0 +23E0 +FAA0 +27E0 +ENDCHAR +STARTCHAR U_97C2 +ENCODING 38850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5200 +FBC0 +5480 +77E0 +2540 +FEA0 +ADC0 +FC00 +25C0 +F940 +29C0 +ENDCHAR +STARTCHAR U_97C3 +ENCODING 38851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FDC0 +5280 +71E0 +2740 +FBE0 +AA80 +FBE0 +2280 +FA80 +25E0 +ENDCHAR +STARTCHAR U_97C4 +ENCODING 38852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5140 +FFE0 +5140 +73E0 +2680 +FBE0 +AA80 +FBE0 +2240 +F980 +2660 +ENDCHAR +STARTCHAR U_97C5 +ENCODING 38853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +FC20 +57E0 +7420 +27E0 +FA40 +ADA0 +FA40 +27E0 +F540 +2AA0 +ENDCHAR +STARTCHAR U_97C6 +ENCODING 38854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +FA80 +57E0 +7EA0 +27E0 +F940 +AFE0 +FD40 +2520 +FDE0 +2BE0 +ENDCHAR +STARTCHAR U_97C7 +ENCODING 38855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FFE0 +5080 +7FE0 +2AA0 +FFE0 +AA40 +FBC0 +2240 +FBC0 +2660 +ENDCHAR +STARTCHAR U_97C8 +ENCODING 38856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5240 +FFE0 +5280 +FFE0 +AAA0 +FFE0 +24A0 +FEA0 +24C0 +2760 +2820 +ENDCHAR +STARTCHAR U_97C9 +ENCODING 38857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +FA40 +5FE0 +7AA0 +2FE0 +FA00 +ABE0 +FA00 +2BE0 +FAA0 +2D60 +ENDCHAR +STARTCHAR U_97CA +ENCODING 38858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5280 +FFE0 +5AA0 +7EE0 +2AA0 +FFE0 +A920 +FFE0 +2D60 +FBA0 +2D60 +ENDCHAR +STARTCHAR U_97CB +ENCODING 38859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +3F80 +0880 +FFE0 +2080 +3F80 +0400 +7FC0 +2400 +7FE0 +0400 +ENDCHAR +STARTCHAR U_97CC +ENCODING 38860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +F7E0 +50A0 +FAA0 +52A0 +74A0 +20A0 +F920 +A120 +FA20 +24C0 +ENDCHAR +STARTCHAR U_97CD +ENCODING 38861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +F140 +57E0 +F900 +91C0 +F240 +2340 +FAC0 +A280 +FD40 +2A20 +ENDCHAR +STARTCHAR U_97CE +ENCODING 38862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7880 +2BE0 +FC80 +4880 +7BE0 +1080 +FDC0 +52A0 +FCA0 +1080 +ENDCHAR +STARTCHAR U_97CF +ENCODING 38863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +7FE0 +0800 +FFE0 +4940 +BFA0 +1100 +7FC0 +2200 +7FC0 +0200 +ENDCHAR +STARTCHAR U_97D0 +ENCODING 38864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7940 +2A20 +FE20 +49C0 +7800 +13E0 +FE20 +5220 +FFE0 +1220 +ENDCHAR +STARTCHAR U_97D1 +ENCODING 38865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +A940 +77E0 +FA40 +53C0 +5FE0 +5280 +53C0 +50A0 +8FE0 +ENDCHAR +STARTCHAR U_97D2 +ENCODING 38866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7AA0 +29C0 +FFE0 +4A20 +7BE0 +1220 +FBE0 +5220 +7E20 +1260 +ENDCHAR +STARTCHAR U_97D3 +ENCODING 38867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +2140 +FFE0 +8A40 +FBC0 +8880 +FFE0 +2280 +FFE0 +2080 +ENDCHAR +STARTCHAR U_97D4 +ENCODING 38868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +7A00 +2BC0 +FE00 +4BC0 +7A00 +13E0 +FE80 +52A0 +FE40 +1320 +ENDCHAR +STARTCHAR U_97D5 +ENCODING 38869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7FE0 +2A40 +FFC0 +4800 +7BE0 +1040 +FC80 +53E0 +FC80 +1180 +ENDCHAR +STARTCHAR U_97D6 +ENCODING 38870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F140 +57E0 +FAA0 +9480 +F100 +27E0 +F900 +A380 +FD40 +2920 +ENDCHAR +STARTCHAR U_97D7 +ENCODING 38871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F420 +5080 +FFE0 +92A0 +F3E0 +22A0 +FBE0 +A080 +FFE0 +2080 +ENDCHAR +STARTCHAR U_97D8 +ENCODING 38872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +FFE0 +5540 +FDC0 +9400 +F7E0 +2100 +FFE0 +A380 +FD40 +2920 +ENDCHAR +STARTCHAR U_97D9 +ENCODING 38873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4940 +7FE0 +4A40 +7BC0 +0080 +FFE0 +5280 +5FE0 +B080 +9FE0 +ENDCHAR +STARTCHAR U_97DA +ENCODING 38874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +7BE0 +2940 +F9C0 +4880 +7BE0 +12A0 +FBE0 +5080 +7FE0 +1080 +ENDCHAR +STARTCHAR U_97DB +ENCODING 38875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +7BE0 +2940 +FFE0 +4900 +7BE0 +16A0 +FFE0 +52A0 +7BE0 +12A0 +ENDCHAR +STARTCHAR U_97DC +ENCODING 38876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +F7A0 +5520 +FAC0 +9000 +F660 +2420 +FF60 +A420 +FFE0 +2420 +ENDCHAR +STARTCHAR U_97DD +ENCODING 38877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +F7E0 +5280 +FFE0 +9280 +FFE0 +2540 +FFC0 +A540 +FFE0 +24C0 +ENDCHAR +STARTCHAR U_97DE +ENCODING 38878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +7A40 +2BC0 +FE40 +4BC0 +7800 +13E0 +FEA0 +52A0 +FEA0 +17E0 +ENDCHAR +STARTCHAR U_97DF +ENCODING 38879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7C0 +5440 +FFC0 +9440 +F7C0 +2100 +FFE0 +A540 +FBA0 +2100 +ENDCHAR +STARTCHAR U_97E0 +ENCODING 38880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F540 +57C0 +FD40 +97C0 +F540 +2FE0 +F540 +AFE0 +F100 +2100 +ENDCHAR +STARTCHAR U_97E1 +ENCODING 38881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +FFE0 +5280 +FFE0 +9540 +FFE0 +2540 +FFE0 +A100 +FFC0 +2100 +ENDCHAR +STARTCHAR U_97E2 +ENCODING 38882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7E0 +5100 +FFC0 +9540 +F7C0 +2560 +FFE0 +A540 +FA60 +23C0 +ENDCHAR +STARTCHAR U_97E3 +ENCODING 38883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +FAA0 +4FE0 +F200 +93E0 +F520 +27E0 +FD60 +A7E0 +F920 +27C0 +ENDCHAR +STARTCHAR U_97E4 +ENCODING 38884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +FFE0 +5240 +FFE0 +9AA0 +FFE0 +2140 +F7E0 +A540 +F6A0 +2960 +ENDCHAR +STARTCHAR U_97E5 +ENCODING 38885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7E0 +5100 +FFE0 +9AA0 +FFE0 +2240 +FBC0 +A240 +FBC0 +2E60 +ENDCHAR +STARTCHAR U_97E6 +ENCODING 38886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +0800 +7F80 +0800 +0800 +FFC0 +0840 +0840 +0980 +0800 +ENDCHAR +STARTCHAR U_97E7 +ENCODING 38887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBE0 +20A0 +FAA0 +22A0 +FCA0 +28A0 +2920 +3920 +2220 +24C0 +ENDCHAR +STARTCHAR U_97E8 +ENCODING 38888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +FA40 +27E0 +7A00 +23C0 +FA40 +2A40 +2D80 +3980 +2260 +2440 +ENDCHAR +STARTCHAR U_97E9 +ENCODING 38889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2100 +FFC0 +8900 +F900 +8FE0 +F920 +2120 +F960 +2100 +ENDCHAR +STARTCHAR U_97EA +ENCODING 38890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +7880 +4BE0 +7880 +03E0 +FCA0 +50E0 +5C80 +7000 +9FE0 +ENDCHAR +STARTCHAR U_97EB +ENCODING 38891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F440 +47C0 +F440 +47C0 +F000 +5FE0 +5AA0 +7AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_97EC +ENCODING 38892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +FF20 +4520 +F2C0 +4000 +F760 +5420 +5760 +7420 +47E0 +4420 +ENDCHAR +STARTCHAR U_97ED +ENCODING 38893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1200 +1200 +F3C0 +1200 +1200 +7380 +1200 +F3C0 +1200 +1200 +FFC0 +ENDCHAR +STARTCHAR U_97EE +ENCODING 38894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0A00 +7BC0 +0A00 +7BC0 +0A00 +7BC0 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_97EF +ENCODING 38895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D40 +1120 +FFE0 +2900 +6D20 +2920 +6CC0 +28A0 +3D60 +E220 +ENDCHAR +STARTCHAR U_97F0 +ENCODING 38896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1FE0 +1140 +3C80 +E940 +3220 +EA00 +7BC0 +0A00 +7BE0 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_97F1 +ENCODING 38897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +7520 +9500 +FFE0 +2900 +EF20 +2940 +EE80 +28A0 +FD60 +0220 +ENDCHAR +STARTCHAR U_97F2 +ENCODING 38898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +0A40 +F580 +5540 +9520 +7BC0 +0A00 +7BC0 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_97F3 +ENCODING 38899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +1100 +0A00 +FFE0 +0000 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_97F4 +ENCODING 38900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +4880 +33E0 +FEA0 +02A0 +7AA0 +4AE0 +7880 +4880 +7880 +ENDCHAR +STARTCHAR U_97F5 +ENCODING 38901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FA00 +8BE0 +5420 +FA20 +0120 +F820 +89A0 +FE20 +8820 +F8C0 +ENDCHAR +STARTCHAR U_97F6 +ENCODING 38902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F920 +8920 +51E0 +FA40 +0400 +FBE0 +8A20 +FA20 +8BE0 +FA20 +ENDCHAR +STARTCHAR U_97F7 +ENCODING 38903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +5520 +2520 +FD20 +07E0 +7100 +5520 +7520 +57E0 +7420 +ENDCHAR +STARTCHAR U_97F8 +ENCODING 38904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +8E40 +5180 +FB40 +07E0 +F900 +8FC0 +F900 +8FE0 +F900 +ENDCHAR +STARTCHAR U_97F9 +ENCODING 38905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FDE0 +4520 +29E0 +FD20 +03E0 +7880 +4880 +7BE0 +4880 +7FE0 +ENDCHAR +STARTCHAR U_97FA +ENCODING 38906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +8A40 +5080 +FFE0 +02A0 +7FE0 +4880 +7940 +4A20 +7C20 +ENDCHAR +STARTCHAR U_97FB +ENCODING 38907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +8BC0 +5000 +F7C0 +0440 +F7C0 +9440 +F7C0 +9280 +FC60 +ENDCHAR +STARTCHAR U_97FC +ENCODING 38908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F9E0 +5740 +2480 +FB60 +0C80 +75C0 +5480 +77E0 +5480 +7BE0 +ENDCHAR +STARTCHAR U_97FD +ENCODING 38909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +ABE0 +7540 +1080 +FFE0 +5000 +FDE0 +9520 +FDE0 +8520 +FDE0 +ENDCHAR +STARTCHAR U_97FE +ENCODING 38910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DC0 +1220 +FDC0 +5540 +7FE0 +8900 +FFE0 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_97FF +ENCODING 38911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +AEA0 +4AC0 +EEA0 +2AC0 +FFE0 +0900 +FFE0 +1480 +1280 +1F80 +ENDCHAR +STARTCHAR U_9800 +ENCODING 38912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +FFE0 +5280 +27C0 +FC80 +07C0 +7480 +57C0 +7280 +5100 +76C0 +ENDCHAR +STARTCHAR U_9801 +ENCODING 38913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +3F80 +2080 +3F80 +2080 +3F80 +2080 +3F80 +0900 +70E0 +ENDCHAR +STARTCHAR U_9802 +ENCODING 38914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +27E0 +2420 +27E0 +2420 +27E0 +2420 +27E0 +A280 +4C60 +ENDCHAR +STARTCHAR U_9803 +ENCODING 38915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4100 +47C0 +7440 +47C0 +4440 +47C0 +5440 +67C0 +C280 +0C60 +ENDCHAR +STARTCHAR U_9804 +ENCODING 38916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4100 +F3E0 +5220 +53E0 +5220 +53E0 +5620 +5BE0 +5140 +8620 +ENDCHAR +STARTCHAR U_9805 +ENCODING 38917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +27E0 +2420 +27E0 +2420 +3FE0 +C420 +07E0 +0240 +0C20 +ENDCHAR +STARTCHAR U_9806 +ENCODING 38918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +5480 +55E0 +5520 +55E0 +5520 +55E0 +5520 +45E0 +8540 +8620 +ENDCHAR +STARTCHAR U_9807 +ENCODING 38919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +23E0 +2220 +FBE0 +2220 +23E0 +2220 +23E0 +2140 +2620 +ENDCHAR +STARTCHAR U_9808 +ENCODING 38920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +2100 +47C0 +9440 +27C0 +4440 +97C0 +1440 +27C0 +4280 +9C60 +ENDCHAR +STARTCHAR U_9809 +ENCODING 38921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1100 +53C0 +5E40 +53C0 +5240 +53C0 +5E40 +E3C0 +0240 +0420 +ENDCHAR +STARTCHAR U_980A +ENCODING 38922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +27E0 +2420 +77E0 +2420 +27E0 +3C20 +E7E0 +4240 +0420 +ENDCHAR +STARTCHAR U_980B +ENCODING 38923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8100 +FBC0 +AA40 +ABC0 +BA40 +ABC0 +A240 +B3C0 +A240 +0420 +ENDCHAR +STARTCHAR U_980C +ENCODING 38924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +5100 +4BE0 +8A20 +23E0 +2220 +43E0 +4A20 +FBE0 +0240 +0C20 +ENDCHAR +STARTCHAR U_980D +ENCODING 38925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1080 +FFE0 +1220 +FFE0 +4A20 +2BE0 +1220 +33E0 +4940 +8620 +ENDCHAR +STARTCHAR U_980E +ENCODING 38926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +7080 +43E0 +7A20 +53E0 +5220 +53E0 +5220 +53E0 +5140 +9620 +ENDCHAR +STARTCHAR U_980F +ENCODING 38927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2100 +FFE0 +0220 +73E0 +5220 +53E0 +5620 +5BE0 +5240 +8C20 +ENDCHAR +STARTCHAR U_9810 +ENCODING 38928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9100 +67C0 +2440 +FFC0 +2440 +27C0 +2440 +27C0 +2280 +EC60 +ENDCHAR +STARTCHAR U_9811 +ENCODING 38929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +0080 +03E0 +FA20 +53E0 +5220 +53E0 +5620 +5BE0 +9240 +8C20 +ENDCHAR +STARTCHAR U_9812 +ENCODING 38930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +5080 +8BE0 +8A20 +03E0 +F220 +53E0 +5220 +53E0 +9240 +2C20 +ENDCHAR +STARTCHAR U_9813 +ENCODING 38931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F880 +23E0 +AA20 +ABE0 +AA20 +FBE0 +2220 +2BE0 +3240 +2420 +ENDCHAR +STARTCHAR U_9814 +ENCODING 38932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FBC0 +AA40 +ABC0 +FA40 +ABC0 +AA40 +FBC0 +8A40 +0420 +ENDCHAR +STARTCHAR U_9815 +ENCODING 38933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4200 +77C0 +4440 +47C0 +F440 +97C0 +9440 +F7C0 +9440 +0820 +ENDCHAR +STARTCHAR U_9816 +ENCODING 38934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +A880 +73E0 +2220 +FBE0 +2220 +23E0 +FA20 +23E0 +4240 +8420 +ENDCHAR +STARTCHAR U_9817 +ENCODING 38935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +FBE0 +AA20 +A3E0 +FA20 +ABE0 +AA20 +93E0 +AA40 +C420 +ENDCHAR +STARTCHAR U_9818 +ENCODING 38936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +3080 +4BE0 +A620 +13E0 +FA20 +0BE0 +5220 +23E0 +1240 +1420 +ENDCHAR +STARTCHAR U_9819 +ENCODING 38937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +13C0 +1240 +5BC0 +5240 +53C0 +5E40 +E3C0 +0240 +0420 +ENDCHAR +STARTCHAR U_981A +ENCODING 38938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4900 +33C0 +4A40 +87C0 +2240 +7BC0 +2240 +3BC0 +C240 +0420 +ENDCHAR +STARTCHAR U_981B +ENCODING 38939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2080 +FBE0 +2220 +FBE0 +2220 +FBE0 +2220 +73E0 +AA40 +2420 +ENDCHAR +STARTCHAR U_981C +ENCODING 38940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5080 +8BE0 +7220 +03E0 +7A20 +4BE0 +4A20 +7BE0 +4A40 +0420 +ENDCHAR +STARTCHAR U_981D +ENCODING 38941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +1080 +FFE0 +4A20 +87E0 +2A20 +2BE0 +1220 +33E0 +4A40 +8420 +ENDCHAR +STARTCHAR U_981E +ENCODING 38942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +FC80 +87E0 +2220 +FFE0 +2A20 +4BE0 +4A20 +33E0 +4A40 +8420 +ENDCHAR +STARTCHAR U_981F +ENCODING 38943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3900 +4BC0 +B240 +33C0 +4A40 +FFC0 +4A40 +4BC0 +7A40 +4C20 +ENDCHAR +STARTCHAR U_9820 +ENCODING 38944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7880 +93E0 +FE20 +83E0 +BA20 +ABE0 +BA20 +A3E0 +BA40 +A420 +ENDCHAR +STARTCHAR U_9821 +ENCODING 38945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F880 +23E0 +2220 +FBE0 +0220 +7BE0 +4A20 +7BE0 +4A40 +0420 +ENDCHAR +STARTCHAR U_9822 +ENCODING 38946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37E0 +E100 +23C0 +FA40 +23C0 +2240 +FBC0 +8A40 +8BC0 +F940 +8A20 +ENDCHAR +STARTCHAR U_9823 +ENCODING 38947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A100 +A7C0 +F440 +97C0 +F440 +A7C0 +A440 +A7C0 +FC40 +0820 +ENDCHAR +STARTCHAR U_9824 +ENCODING 38948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9080 +93E0 +BA20 +ABE0 +AA20 +BBE0 +9220 +93E0 +FA40 +0420 +ENDCHAR +STARTCHAR U_9825 +ENCODING 38949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +87E0 +BD00 +ABC0 +AA40 +BFC0 +A640 +BFC0 +AA40 +ABC0 +BA40 +8420 +ENDCHAR +STARTCHAR U_9826 +ENCODING 38950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +1080 +FFE0 +2620 +7BE0 +1220 +27E0 +4A20 +1BE0 +2940 +C620 +ENDCHAR +STARTCHAR U_9827 +ENCODING 38951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +4FC0 +F100 +97C0 +9440 +F7C0 +8440 +F7C0 +9440 +97C0 +F480 +8840 +ENDCHAR +STARTCHAR U_9828 +ENCODING 38952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2480 +B5E0 +6D20 +25E0 +2520 +6DE0 +B520 +25E0 +2540 +4E20 +ENDCHAR +STARTCHAR U_9829 +ENCODING 38953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8FE0 +5080 +FFE0 +2A20 +2BE0 +FE20 +2BE0 +2A20 +4BE0 +4940 +8E20 +ENDCHAR +STARTCHAR U_982A +ENCODING 38954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +A900 +6BC0 +3240 +FBC0 +2240 +73C0 +6A40 +A3C0 +2240 +2420 +ENDCHAR +STARTCHAR U_982B +ENCODING 38955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2880 +ABE0 +6E20 +2BE0 +6E20 +ABE0 +2A20 +2FE0 +4A40 +8420 +ENDCHAR +STARTCHAR U_982C +ENCODING 38956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2100 +FBC0 +AA40 +73C0 +FE40 +23C0 +3240 +4BC0 +8240 +0420 +ENDCHAR +STARTCHAR U_982D +ENCODING 38957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0080 +7BE0 +4A20 +4BE0 +7A20 +8BE0 +5220 +3BE0 +C140 +0220 +ENDCHAR +STARTCHAR U_982E +ENCODING 38958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +D500 +5BC0 +9640 +33C0 +4A40 +4BC0 +FE40 +4BC0 +4A40 +8C20 +ENDCHAR +STARTCHAR U_982F +ENCODING 38959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +3880 +EBE0 +5A20 +23E0 +EA20 +2BE0 +FE20 +2BE0 +4940 +8A20 +ENDCHAR +STARTCHAR U_9830 +ENCODING 38960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FC80 +13E0 +5620 +5BE0 +B620 +93E0 +2A20 +27E0 +4140 +8620 +ENDCHAR +STARTCHAR U_9831 +ENCODING 38961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BE0 +E900 +ABC0 +5240 +13C0 +FA40 +93C0 +5240 +13C0 +5240 +2420 +ENDCHAR +STARTCHAR U_9832 +ENCODING 38962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E5E0 +3880 +29E0 +4920 +FFE0 +2920 +A9E0 +7F20 +41E0 +A140 +9E20 +ENDCHAR +STARTCHAR U_9833 +ENCODING 38963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +7900 +13C0 +FE40 +2BC0 +AA40 +AFC0 +2A40 +4BC0 +AA40 +1420 +ENDCHAR +STARTCHAR U_9834 +ENCODING 38964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7100 +43C0 +3A40 +03C0 +7A40 +03C0 +FE40 +23C0 +AA40 +A420 +ENDCHAR +STARTCHAR U_9835 +ENCODING 38965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +2880 +FFE0 +2A20 +7BE0 +2220 +7BE0 +AA20 +2BE0 +3940 +2E20 +ENDCHAR +STARTCHAR U_9836 +ENCODING 38966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +5100 +7BC0 +9240 +FFC0 +0240 +7BC0 +4A40 +4BC0 +7A40 +0420 +ENDCHAR +STARTCHAR U_9837 +ENCODING 38967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5080 +ABE0 +1220 +FBE0 +1220 +7BE0 +4A20 +4BE0 +7A40 +4C20 +ENDCHAR +STARTCHAR U_9838 +ENCODING 38968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5480 +ABE0 +AA20 +57E0 +5220 +FBE0 +2220 +3FE0 +E240 +4420 +ENDCHAR +STARTCHAR U_9839 +ENCODING 38969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +F080 +13E0 +FE20 +5BE0 +9620 +2BE0 +2A20 +2FE0 +4A40 +8420 +ENDCHAR +STARTCHAR U_983A +ENCODING 38970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +2100 +FBC0 +7240 +AFC0 +FA40 +53C0 +5A40 +4BC0 +6A40 +9420 +ENDCHAR +STARTCHAR U_983B +ENCODING 38971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +5080 +5FE0 +5220 +FFE0 +1220 +57E0 +5A20 +93E0 +2140 +C620 +ENDCHAR +STARTCHAR U_983C +ENCODING 38972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F900 +23C0 +FA40 +ABC0 +FA40 +63C0 +7240 +ABC0 +A240 +2420 +ENDCHAR +STARTCHAR U_983D +ENCODING 38973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +1100 +FFC0 +3A40 +57C0 +9240 +3BC0 +2A40 +2FC0 +4A40 +8420 +ENDCHAR +STARTCHAR U_983E +ENCODING 38974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37C0 +C200 +37C0 +C540 +37C0 +C280 +1640 +5A40 +5380 +5A20 +E1E0 +ENDCHAR +STARTCHAR U_983F +ENCODING 38975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BE0 +E100 +1BC0 +E240 +1BC0 +EA40 +2FC0 +BA40 +AFC0 +BA40 +E420 +ENDCHAR +STARTCHAR U_9840 +ENCODING 38976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +5100 +7BC0 +D240 +7BC0 +5240 +7BC0 +5240 +53C0 +7A40 +0420 +ENDCHAR +STARTCHAR U_9841 +ENCODING 38977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FC80 +87E0 +0220 +FFE0 +1220 +5FE0 +5220 +53E0 +B140 +8E20 +ENDCHAR +STARTCHAR U_9842 +ENCODING 38978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F900 +23C0 +6A40 +6BC0 +B640 +23C0 +7240 +AFC0 +2240 +2420 +ENDCHAR +STARTCHAR U_9843 +ENCODING 38979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +5880 +53E0 +AA20 +47E0 +9220 +57E0 +5A20 +93E0 +2940 +C620 +ENDCHAR +STARTCHAR U_9844 +ENCODING 38980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +0880 +11E0 +9520 +DDE0 +B520 +DDE0 +9520 +A5E0 +FD40 +0220 +ENDCHAR +STARTCHAR U_9845 +ENCODING 38981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FC80 +85E0 +FD20 +81E0 +BD20 +A5E0 +BD20 +A5E0 +BD40 +A620 +ENDCHAR +STARTCHAR U_9846 +ENCODING 38982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A880 +FBE0 +AA20 +FBE0 +2220 +FBE0 +2220 +73E0 +A940 +A620 +ENDCHAR +STARTCHAR U_9847 +ENCODING 38983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F900 +53C0 +5240 +ABC0 +2240 +FFC0 +2240 +23C0 +2240 +2420 +ENDCHAR +STARTCHAR U_9848 +ENCODING 38984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +83E0 +F080 +83E0 +FA20 +4BE0 +F220 +4BE0 +FA20 +27E0 +7140 +AA20 +ENDCHAR +STARTCHAR U_9849 +ENCODING 38985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +5080 +8BE0 +FA20 +23E0 +FA20 +ABE0 +7220 +3BE0 +E140 +4620 +ENDCHAR +STARTCHAR U_984A +ENCODING 38986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F080 +93E0 +FA20 +8BE0 +FA20 +23E0 +FE20 +23E0 +2140 +2620 +ENDCHAR +STARTCHAR U_984B +ENCODING 38987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A900 +FBC0 +AA40 +FBC0 +4240 +2BC0 +D640 +CBC0 +4A40 +7420 +ENDCHAR +STARTCHAR U_984C +ENCODING 38988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4880 +7BE0 +4A20 +7BE0 +0220 +FFE0 +5220 +5FE0 +B140 +8FE0 +ENDCHAR +STARTCHAR U_984D +ENCODING 38989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FC80 +A7E0 +3A20 +4BE0 +B220 +4BE0 +FE20 +4BE0 +7940 +4E20 +ENDCHAR +STARTCHAR U_984E +ENCODING 38990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A880 +FBE0 +0220 +7BE0 +0220 +FBE0 +2220 +7BE0 +0940 +3620 +ENDCHAR +STARTCHAR U_984F +ENCODING 38991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F880 +53E0 +2220 +FBE0 +9220 +EBE0 +9220 +EBE0 +9140 +E620 +ENDCHAR +STARTCHAR U_9850 +ENCODING 38992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A480 +FFE0 +AA20 +FBE0 +AA20 +FBE0 +2220 +FFE0 +2140 +2620 +ENDCHAR +STARTCHAR U_9851 +ENCODING 38993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1BE0 +1480 +FFE0 +9220 +F3E0 +9620 +EBE0 +AA20 +EFE0 +9140 +A620 +ENDCHAR +STARTCHAR U_9852 +ENCODING 38994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A880 +FBE0 +AA20 +FBE0 +2220 +FBE0 +AA20 +BBE0 +C940 +8E20 +ENDCHAR +STARTCHAR U_9853 +ENCODING 38995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABE0 +A880 +FBE0 +0220 +FBE0 +2220 +FBE0 +AA20 +ABE0 +A940 +8E20 +ENDCHAR +STARTCHAR U_9854 +ENCODING 38996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +7900 +4BC0 +3240 +7FC0 +5240 +6BC0 +5240 +6BC0 +9240 +E420 +ENDCHAR +STARTCHAR U_9855 +ENCODING 38997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8900 +FBC0 +8A40 +FBC0 +5240 +DBC0 +5240 +7FC0 +C240 +0420 +ENDCHAR +STARTCHAR U_9856 +ENCODING 38998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F900 +DBC0 +AA40 +DBC0 +FA40 +03C0 +2A40 +47C0 +CA40 +3C20 +ENDCHAR +STARTCHAR U_9857 +ENCODING 38999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABE0 +A880 +FBE0 +0220 +FBE0 +4A20 +7BE0 +0A20 +53E0 +3940 +E620 +ENDCHAR +STARTCHAR U_9858 +ENCODING 39000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +9080 +BDE0 +A520 +BDE0 +A520 +BDE0 +8920 +ADE0 +CB40 +9A20 +ENDCHAR +STARTCHAR U_9859 +ENCODING 39001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5080 +23E0 +DA20 +4BE0 +DA20 +A7E0 +FA20 +23E0 +7140 +AE20 +ENDCHAR +STARTCHAR U_985A +ENCODING 39002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +4100 +7BC0 +0240 +BBC0 +AA40 +BBC0 +AA40 +FFC0 +5240 +8C20 +ENDCHAR +STARTCHAR U_985B +ENCODING 39003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F880 +23E0 +FA20 +8BE0 +EA20 +BBE0 +8A20 +FFE0 +5140 +8E20 +ENDCHAR +STARTCHAR U_985C +ENCODING 39004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +FC80 +53E0 +FA20 +53E0 +FE20 +ABE0 +FA20 +ABE0 +FD40 +9A20 +ENDCHAR +STARTCHAR U_985D +ENCODING 39005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4880 +6BE0 +FE20 +87E0 +7A20 +4BE0 +7A20 +4BE0 +7940 +5E20 +ENDCHAR +STARTCHAR U_985E +ENCODING 39006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABE0 +7080 +23E0 +FA20 +73E0 +AA20 +23E0 +FA20 +23E0 +5140 +8E20 +ENDCHAR +STARTCHAR U_985F +ENCODING 39007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +B480 +6DE0 +B520 +35E0 +4920 +A5E0 +5120 +29E0 +1140 +E220 +ENDCHAR +STARTCHAR U_9860 +ENCODING 39008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2880 +FFE0 +AB20 +FFE0 +0120 +79E0 +0120 +FDE0 +5540 +B220 +ENDCHAR +STARTCHAR U_9861 +ENCODING 39009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F900 +53C0 +FE40 +23C0 +5A40 +B3C0 +5A40 +B7C0 +5240 +B420 +ENDCHAR +STARTCHAR U_9862 +ENCODING 39010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +49E0 +FC80 +49E0 +7920 +21E0 +FD20 +A5E0 +F520 +ADE0 +F540 +AE20 +ENDCHAR +STARTCHAR U_9863 +ENCODING 39011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +05E0 +FE80 +A5E0 +BD20 +A5E0 +FD20 +A5E0 +B720 +EDE0 +A540 +BA20 +ENDCHAR +STARTCHAR U_9864 +ENCODING 39012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +7C80 +13E0 +FE20 +4BE0 +FE20 +4BE0 +FE20 +2BE0 +4940 +8E20 +ENDCHAR +STARTCHAR U_9865 +ENCODING 39013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4480 +7DE0 +4520 +7DE0 +1120 +FFE0 +4520 +7DE0 +5540 +B220 +ENDCHAR +STARTCHAR U_9866 +ENCODING 39014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +5100 +7FC0 +D240 +7FC0 +5240 +7FC0 +5240 +7FC0 +AA40 +D420 +ENDCHAR +STARTCHAR U_9867 +ENCODING 39015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FC80 +87E0 +FE20 +ABE0 +AA20 +FFE0 +AA20 +BFE0 +A940 +BE20 +ENDCHAR +STARTCHAR U_9868 +ENCODING 39016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +2100 +7BC0 +6B40 +5AC0 +7BC0 +4A40 +FFE0 +1100 +2100 +4100 +ENDCHAR +STARTCHAR U_9869 +ENCODING 39017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +4480 +B9E0 +0120 +EFE0 +AB20 +EFE0 +4520 +45E0 +AD40 +9220 +ENDCHAR +STARTCHAR U_986A +ENCODING 39018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5080 +FFE0 +1220 +FFE0 +8A20 +FBE0 +AE20 +FBE0 +AD40 +D620 +ENDCHAR +STARTCHAR U_986B +ENCODING 39019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FC80 +B5E0 +8520 +FDE0 +4920 +79E0 +4920 +79E0 +0140 +FE20 +ENDCHAR +STARTCHAR U_986C +ENCODING 39020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +1100 +FFC0 +D640 +3BC0 +5640 +FFC0 +2240 +FFC0 +AA40 +AA20 +ENDCHAR +STARTCHAR U_986D +ENCODING 39021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BE0 +FD00 +4BC0 +FE40 +ABC0 +FE40 +A7C0 +3A40 +6BC0 +1240 +6420 +ENDCHAR +STARTCHAR U_986E +ENCODING 39022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FD00 +87C0 +7A40 +ABC0 +7A40 +EBC0 +5A40 +6BC0 +7A40 +8C20 +ENDCHAR +STARTCHAR U_986F +ENCODING 39023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4480 +7DE0 +4520 +7DE0 +4B20 +35E0 +5520 +6FE0 +5540 +AA20 +ENDCHAR +STARTCHAR U_9870 +ENCODING 39024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5240 +FE40 +57C0 +AA40 +7FE0 +2440 +3FC0 +0A00 +FFE0 +0200 +ENDCHAR +STARTCHAR U_9871 +ENCODING 39025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +2080 +FBE0 +AA20 +FFE0 +AA20 +FBE0 +AA20 +FFE0 +9540 +FE20 +ENDCHAR +STARTCHAR U_9872 +ENCODING 39026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DE0 +9080 +29E0 +DF20 +51E0 +A920 +45E0 +FF20 +BBE0 +82C0 +FF20 +ENDCHAR +STARTCHAR U_9873 +ENCODING 39027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +4880 +79E0 +4920 +FDE0 +0920 +FFE0 +A520 +FDE0 +A540 +FE20 +ENDCHAR +STARTCHAR U_9874 +ENCODING 39028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2880 +EFE0 +AB20 +EFE0 +4920 +FFE0 +4920 +7DE0 +4940 +7E20 +ENDCHAR +STARTCHAR U_9875 +ENCODING 39029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0400 +3F80 +2080 +2480 +2480 +2480 +2680 +0900 +10C0 +6040 +ENDCHAR +STARTCHAR U_9876 +ENCODING 39030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +27E0 +2420 +2520 +2520 +2520 +2520 +2180 +6240 +0C20 +ENDCHAR +STARTCHAR U_9877 +ENCODING 39031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +9FC0 +8200 +8F80 +E880 +8A80 +8A80 +8A80 +AA80 +C200 +8580 +1840 +ENDCHAR +STARTCHAR U_9878 +ENCODING 39032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2080 +23E0 +2220 +FEA0 +22A0 +22A0 +22A0 +2180 +2240 +2C20 +ENDCHAR +STARTCHAR U_9879 +ENCODING 39033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +27E0 +2420 +2520 +2520 +2520 +3D20 +C180 +0240 +0C20 +ENDCHAR +STARTCHAR U_987A +ENCODING 39034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8BE0 +A880 +ABE0 +AA20 +AAA0 +AAA0 +AAA0 +AAA0 +A880 +8940 +8A20 +ENDCHAR +STARTCHAR U_987B +ENCODING 39035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +4100 +87C0 +1440 +2540 +4540 +8540 +1540 +2180 +4240 +8C20 +ENDCHAR +STARTCHAR U_987C +ENCODING 39036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F900 +27E0 +2420 +74A0 +24A0 +24A0 +3CA0 +E180 +4240 +0C20 +ENDCHAR +STARTCHAR U_987D +ENCODING 39037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77E0 +0080 +0100 +FFE0 +5220 +52A0 +52A0 +56A0 +5AA0 +5140 +8620 +ENDCHAR +STARTCHAR U_987E +ENCODING 39038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8100 +BBE0 +AA20 +AAA0 +AAA0 +BAA0 +A2A0 +A880 +B360 +AC20 +ENDCHAR +STARTCHAR U_987F +ENCODING 39039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2080 +FBE0 +2220 +AAA0 +AAA0 +FAA0 +22A0 +2880 +3140 +0620 +ENDCHAR +STARTCHAR U_9880 +ENCODING 39040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0BE0 +7080 +43E0 +7E20 +52A0 +52A0 +52A0 +52A0 +52A0 +5140 +8620 +ENDCHAR +STARTCHAR U_9881 +ENCODING 39041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +5080 +4BE0 +8620 +7AA0 +2AA0 +2AA0 +2AA0 +2AA0 +4940 +9620 +ENDCHAR +STARTCHAR U_9882 +ENCODING 39042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +5080 +4900 +8BE0 +A220 +22A0 +42A0 +52A0 +FAA0 +0940 +0620 +ENDCHAR +STARTCHAR U_9883 +ENCODING 39043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FC80 +03E0 +7220 +52A0 +52A0 +52A0 +52A0 +56A0 +9940 +8620 +ENDCHAR +STARTCHAR U_9884 +ENCODING 39044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +1080 +63E0 +2220 +FAA0 +2AA0 +22A0 +22A0 +22A0 +2140 +6620 +ENDCHAR +STARTCHAR U_9885 +ENCODING 39045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +3880 +23E0 +7E20 +46A0 +7EA0 +42A0 +42A0 +42A0 +8140 +8620 +ENDCHAR +STARTCHAR U_9886 +ENCODING 39046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +1080 +2900 +67E0 +9220 +02A0 +7AA0 +0AA0 +1080 +2140 +1220 +ENDCHAR +STARTCHAR U_9887 +ENCODING 39047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +7C80 +57E0 +5220 +7AA0 +4AA0 +6AA0 +52A0 +5880 +6540 +8220 +ENDCHAR +STARTCHAR U_9888 +ENCODING 39048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +1080 +3100 +4BE0 +8620 +FAA0 +22A0 +22A0 +3A80 +E140 +4620 +ENDCHAR +STARTCHAR U_9889 +ENCODING 39049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +2080 +FBE0 +2220 +7AA0 +02A0 +7AA0 +4AA0 +4AA0 +7940 +4E20 +ENDCHAR +STARTCHAR U_988A +ENCODING 39050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FC80 +13E0 +9620 +5AA0 +FEA0 +12A0 +12A0 +2AA0 +4540 +8220 +ENDCHAR +STARTCHAR U_988B +ENCODING 39051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F880 +2BE0 +4A20 +FEA0 +2AA0 +AAA0 +7EA0 +22A0 +5140 +8E20 +ENDCHAR +STARTCHAR U_988C +ENCODING 39052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +2880 +47E0 +8220 +7AA0 +02A0 +7AA0 +4AA0 +4AA0 +7940 +4E20 +ENDCHAR +STARTCHAR U_988D +ENCODING 39053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4BE0 +5080 +67E0 +4220 +7EA0 +12A0 +F6A0 +3AA0 +5EA0 +9140 +3220 +ENDCHAR +STARTCHAR U_988E +ENCODING 39054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +97E0 +E100 +97C0 +7440 +0540 +2540 +AD40 +B540 +2100 +5280 +8C40 +ENDCHAR +STARTCHAR U_988F +ENCODING 39055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +2080 +FBE0 +4220 +92A0 +E2A0 +2AA0 +4AA0 +9280 +2940 +C620 +ENDCHAR +STARTCHAR U_9890 +ENCODING 39056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9080 +93E0 +BA20 +AAA0 +AAA0 +BAA0 +92A0 +92A0 +FD40 +0220 +ENDCHAR +STARTCHAR U_9891 +ENCODING 39057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +5080 +5FE0 +5220 +FEA0 +12A0 +56A0 +5AA0 +92A0 +2140 +C620 +ENDCHAR +STARTCHAR U_9892 +ENCODING 39058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +D7E0 +5880 +97E0 +3220 +4AA0 +4AA0 +FEA0 +4AA0 +4940 +8A20 +ENDCHAR +STARTCHAR U_9893 +ENCODING 39059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +2080 +FBE0 +3220 +6AA0 +A2A0 +72A0 +52A0 +56A0 +5940 +8620 +ENDCHAR +STARTCHAR U_9894 +ENCODING 39060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +37E0 +4900 +A7E0 +1220 +7AA0 +0AA0 +12A0 +7AA0 +4AA0 +7940 +4A20 +ENDCHAR +STARTCHAR U_9895 +ENCODING 39061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +6100 +47C0 +7440 +0540 +7540 +0540 +FD40 +7100 +AAC0 +2440 +ENDCHAR +STARTCHAR U_9896 +ENCODING 39062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +93E0 +E080 +8BE0 +FA20 +0AA0 +F2A0 +22A0 +FEA0 +32A0 +6940 +A620 +ENDCHAR +STARTCHAR U_9897 +ENCODING 39063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A880 +FBE0 +AA20 +FAA0 +22A0 +FAA0 +22A0 +72A0 +A940 +2620 +ENDCHAR +STARTCHAR U_9898 +ENCODING 39064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4880 +7BE0 +4A20 +7AA0 +02A0 +FEA0 +5280 +5D40 +B220 +8FE0 +ENDCHAR +STARTCHAR U_9899 +ENCODING 39065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A880 +FBE0 +AA20 +FA20 +22A0 +FEA0 +A6A0 +FEA0 +8540 +8E20 +ENDCHAR +STARTCHAR U_989A +ENCODING 39066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A880 +FBE0 +0220 +7AA0 +02A0 +FAA0 +22A0 +7AA0 +0940 +3220 +ENDCHAR +STARTCHAR U_989B +ENCODING 39067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABE0 +A880 +FBE0 +0220 +FAA0 +22A0 +FAA0 +AAA0 +AAA0 +A940 +8A20 +ENDCHAR +STARTCHAR U_989C +ENCODING 39068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F880 +53E0 +FA20 +8AA0 +92A0 +EAA0 +92A0 +EAA0 +9140 +E620 +ENDCHAR +STARTCHAR U_989D +ENCODING 39069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FC80 +87E0 +7A20 +CAA0 +32A0 +4AA0 +FEA0 +4AA0 +7940 +4E20 +ENDCHAR +STARTCHAR U_989E +ENCODING 39070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4880 +7BE0 +4A20 +FEA0 +0AA0 +FEA0 +B6A0 +6AA0 +9540 +2620 +ENDCHAR +STARTCHAR U_989F +ENCODING 39071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +FC80 +2BE0 +FE20 +52A0 +FAA0 +BAA0 +AAA0 +D880 +A940 +8A20 +ENDCHAR +STARTCHAR U_98A0 +ENCODING 39072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FC80 +23E0 +FA20 +8AA0 +EAA0 +BAA0 +8AA0 +FE80 +4940 +8620 +ENDCHAR +STARTCHAR U_98A1 +ENCODING 39073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +5080 +23E0 +FE20 +4AA0 +B6A0 +FAA0 +22A0 +72A0 +A940 +2620 +ENDCHAR +STARTCHAR U_98A2 +ENCODING 39074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4880 +7BE0 +4A20 +7AA0 +22A0 +FEA0 +4AA0 +7AA0 +5540 +B620 +ENDCHAR +STARTCHAR U_98A3 +ENCODING 39075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +3880 +FFE0 +3A20 +56A0 +2AA0 +16A0 +7EA0 +52A0 +9540 +3220 +ENDCHAR +STARTCHAR U_98A4 +ENCODING 39076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FD00 +BBE0 +8A20 +FAA0 +4AA0 +7AA0 +4AA0 +7A80 +0140 +FE20 +ENDCHAR +STARTCHAR U_98A5 +ENCODING 39077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +FBE0 +AA20 +FAA0 +AAA0 +FEA0 +22A0 +FA80 +A940 +AE20 +ENDCHAR +STARTCHAR U_98A6 +ENCODING 39078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +5080 +FFE0 +6AA0 +A940 +7FE0 +2440 +3FC0 +2A40 +FFE0 +0200 +ENDCHAR +STARTCHAR U_98A7 +ENCODING 39079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDE0 +2900 +EFE0 +AA20 +EEA0 +52A0 +FEA0 +52A0 +7EA0 +5140 +7E20 +ENDCHAR +STARTCHAR U_98A8 +ENCODING 39080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2140 +2E40 +2440 +3F40 +3540 +3F40 +2540 +2760 +5CA0 +8820 +ENDCHAR +STARTCHAR U_98A9 +ENCODING 39081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +4C80 +7520 +5440 +7C80 +5520 +7C40 +5480 +5520 +5620 +B9E0 +ENDCHAR +STARTCHAR U_98AA +ENCODING 39082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0500 +0480 +7FC0 +4040 +7FC0 +5540 +5F40 +4560 +7F60 +80A0 +ENDCHAR +STARTCHAR U_98AB +ENCODING 39083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +4480 +7FC0 +5480 +7FE0 +5480 +7D40 +5620 +5400 +7A20 +81E0 +ENDCHAR +STARTCHAR U_98AC +ENCODING 39084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +4C40 +7540 +57E0 +7C40 +54C0 +7D40 +5640 +54C0 +5220 +BDE0 +ENDCHAR +STARTCHAR U_98AD +ENCODING 39085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +4C80 +74E0 +5480 +7DE0 +5520 +7D20 +55E0 +5520 +5220 +BDE0 +ENDCHAR +STARTCHAR U_98AE +ENCODING 39086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +9BE0 +EC20 +ABA0 +FAA0 +ABC0 +FA20 +ABE0 +A800 +A420 +FBE0 +ENDCHAR +STARTCHAR U_98AF +ENCODING 39087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +24C0 +FF40 +1540 +97C0 +5540 +57C0 +2940 +F940 +57A0 +2020 +ENDCHAR +STARTCHAR U_98B0 +ENCODING 39088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D40 +4520 +7FE0 +5500 +7DC0 +5540 +7E80 +5540 +5620 +7E20 +81E0 +ENDCHAR +STARTCHAR U_98B1 +ENCODING 39089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +9880 +E920 +ABE0 +F800 +A9E0 +F920 +A920 +A9E0 +A420 +FBE0 +ENDCHAR +STARTCHAR U_98B2 +ENCODING 39090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFA0 +9A20 +EBA0 +AAA0 +FDA0 +A8A0 +F920 +AA60 +A800 +A420 +FBE0 +ENDCHAR +STARTCHAR U_98B3 +ENCODING 39091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C20 +4DC0 +7480 +55E0 +7C80 +55E0 +7D20 +55E0 +5400 +5220 +BDE0 +ENDCHAR +STARTCHAR U_98B4 +ENCODING 39092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +45E0 +7E00 +57E0 +7CA0 +54C0 +7E80 +5780 +7C60 +4200 +81E0 +ENDCHAR +STARTCHAR U_98B5 +ENCODING 39093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FAA0 +89C0 +FBE0 +AA20 +FBE0 +AA20 +FBE0 +AA20 +AA60 +F400 +8BE0 +ENDCHAR +STARTCHAR U_98B6 +ENCODING 39094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +9A40 +EB40 +AAC0 +FA40 +ABC0 +FA40 +AFE0 +A940 +A620 +FBE0 +ENDCHAR +STARTCHAR U_98B7 +ENCODING 39095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7EA0 +45C0 +7D40 +5620 +7EA0 +55C0 +7C80 +5540 +5620 +7A20 +81E0 +ENDCHAR +STARTCHAR U_98B8 +ENCODING 39096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +9AA0 +EBE0 +AAA0 +FBE0 +A940 +FB20 +AD40 +A9C0 +A420 +FBE0 +ENDCHAR +STARTCHAR U_98B9 +ENCODING 39097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8BC0 +F940 +AFE0 +FA40 +ABC0 +FFE0 +AA80 +ABE0 +F880 +87E0 +ENDCHAR +STARTCHAR U_98BA +ENCODING 39098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +9A40 +EBC0 +AA40 +FFE0 +A900 +FFE0 +AAA0 +AD40 +A420 +FBE0 +ENDCHAR +STARTCHAR U_98BB +ENCODING 39099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BE0 +C260 +ABA0 +52A0 +43E0 +7AA0 +A3E0 +FAA0 +22A0 +ABE0 +FC20 +ENDCHAR +STARTCHAR U_98BC +ENCODING 39100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9E0 +9AA0 +EBE0 +AAA0 +FBE0 +A880 +FBE0 +A940 +A880 +F660 +83E0 +ENDCHAR +STARTCHAR U_98BD +ENCODING 39101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABE0 +FA60 +03A0 +FAA0 +03E0 +FAA0 +8BE0 +FAA0 +8CA0 +57E0 +F420 +ENDCHAR +STARTCHAR U_98BE +ENCODING 39102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +9AA0 +E9C0 +AAA0 +FBE0 +AAA0 +FBE0 +A880 +ABE0 +B420 +EBE0 +ENDCHAR +STARTCHAR U_98BF +ENCODING 39103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A460 +F7A0 +A4A0 +F7E0 +A6A0 +FFE0 +5CA0 +ACA0 +AFE0 +1020 +ENDCHAR +STARTCHAR U_98C0 +ENCODING 39104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FB00 +9AE0 +EBA0 +AAA0 +FBE0 +AAA0 +FBE0 +AAA0 +ABE0 +A420 +FBE0 +ENDCHAR +STARTCHAR U_98C1 +ENCODING 39105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +AA60 +67A0 +AAA0 +13E0 +7AA0 +4BE0 +7AA0 +4AA0 +7BE0 +4C20 +ENDCHAR +STARTCHAR U_98C2 +ENCODING 39106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9DA0 +EB60 +ADA0 +F940 +AAA0 +FD20 +AA40 +A880 +A520 +FBE0 +ENDCHAR +STARTCHAR U_98C3 +ENCODING 39107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8940 +FBE0 +AAA0 +FBE0 +A800 +FBE0 +A8C0 +AAA0 +F4A0 +83E0 +ENDCHAR +STARTCHAR U_98C4 +ENCODING 39108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2A60 +FFA0 +AAA0 +FFE0 +02A0 +7BE0 +02A0 +FEA0 +57E0 +B420 +ENDCHAR +STARTCHAR U_98C5 +ENCODING 39109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8940 +FB60 +AA20 +FBE0 +AAA0 +FBE0 +AAA0 +ABE0 +FC00 +83E0 +ENDCHAR +STARTCHAR U_98C6 +ENCODING 39110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2BE0 +2660 +FFA0 +32A0 +CBE0 +6EA0 +4BE0 +FEA0 +4AA0 +B7E0 +A420 +ENDCHAR +STARTCHAR U_98C7 +ENCODING 39111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +8FE0 +F980 +AE60 +FA40 +AFE0 +FA40 +ADA0 +A800 +FC20 +83E0 +ENDCHAR +STARTCHAR U_98C8 +ENCODING 39112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7EA0 +45C0 +7C80 +5540 +7E20 +5540 +7FE0 +5540 +56A0 +BE00 +81E0 +ENDCHAR +STARTCHAR U_98C9 +ENCODING 39113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +9BE0 +ED40 +ABE0 +FE40 +ABC0 +F880 +AAC0 +ADA0 +A420 +FBE0 +ENDCHAR +STARTCHAR U_98CA +ENCODING 39114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +B440 +27C0 +5540 +8FC0 +5540 +FFC0 +5540 +AFC0 +4860 +1020 +ENDCHAR +STARTCHAR U_98CB +ENCODING 39115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9A40 +EFE0 +AA40 +FFE0 +AB40 +FDA0 +A920 +ABC0 +A420 +FBE0 +ENDCHAR +STARTCHAR U_98CC +ENCODING 39116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5260 +EFA0 +AAA0 +EFE0 +52A0 +FFE0 +52A0 +7EA0 +53E0 +7C20 +ENDCHAR +STARTCHAR U_98CD +ENCODING 39117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5540 +5F40 +84A0 +7FC0 +4440 +7FC0 +5540 +7FC0 +D520 +7BE0 +ENDCHAR +STARTCHAR U_98CE +ENCODING 39118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +4080 +4280 +5280 +4C80 +4480 +4C80 +5280 +62A0 +8060 +8020 +ENDCHAR +STARTCHAR U_98CF +ENCODING 39119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4880 +4900 +4BC0 +6940 +5AC0 +6D40 +4A40 +48C0 +4420 +83E0 +ENDCHAR +STARTCHAR U_98D0 +ENCODING 39120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +7C80 +44E0 +4480 +6C80 +55C0 +5540 +6D40 +45C0 +4420 +83E0 +ENDCHAR +STARTCHAR U_98D1 +ENCODING 39121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +8BE0 +DC20 +ABA0 +AAA0 +ABC0 +DA20 +8BE0 +8800 +8420 +83E0 +ENDCHAR +STARTCHAR U_98D2 +ENCODING 39122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FC40 +16C0 +9540 +5540 +66C0 +3C40 +C440 +0820 +1020 +ENDCHAR +STARTCHAR U_98D3 +ENCODING 39123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +8A40 +DB40 +AAC0 +AA40 +ABC0 +DA40 +8FE0 +8940 +8620 +83E0 +ENDCHAR +STARTCHAR U_98D4 +ENCODING 39124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8AA0 +8BE0 +DAA0 +ABE0 +A940 +DAA0 +8E40 +89C0 +8420 +83E0 +ENDCHAR +STARTCHAR U_98D5 +ENCODING 39125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F960 +8AA0 +DBE0 +AAA0 +ABE0 +A880 +DBE0 +8940 +8880 +8560 +83E0 +ENDCHAR +STARTCHAR U_98D6 +ENCODING 39126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1800 +E7C0 +A440 +5C40 +FEC0 +2540 +FD40 +26C0 +AC40 +AC60 +F820 +ENDCHAR +STARTCHAR U_98D7 +ENCODING 39127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8AE0 +FBA0 +AAA0 +FBE0 +AAA0 +FBE0 +AAA0 +ABE0 +F420 +8BE0 +ENDCHAR +STARTCHAR U_98D8 +ENCODING 39128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +2A20 +FE20 +AB60 +FEA0 +02A0 +7BA0 +0260 +FE20 +5420 +B420 +ENDCHAR +STARTCHAR U_98D9 +ENCODING 39129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +FC40 +2440 +56C0 +8D40 +5540 +FD40 +56C0 +5440 +6C40 +A860 +ENDCHAR +STARTCHAR U_98DA +ENCODING 39130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FAA0 +8AC0 +9940 +EE20 +AA40 +AFE0 +DA40 +8A40 +8DA0 +8420 +83E0 +ENDCHAR +STARTCHAR U_98DB +ENCODING 39131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF00 +0140 +1580 +6540 +24A0 +FF60 +2540 +2580 +2540 +44A0 +8460 +ENDCHAR +STARTCHAR U_98DC +ENCODING 39132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +AA60 +7540 +FD60 +7540 +AFC0 +FD60 +AD40 +FD60 +AD40 +F920 +ENDCHAR +STARTCHAR U_98DD +ENCODING 39133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F40 +1580 +FF60 +2540 +44C0 +FFE0 +AB40 +FFE0 +AB40 +AB40 +2520 +ENDCHAR +STARTCHAR U_98DE +ENCODING 39134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC00 +0440 +0480 +0500 +0700 +0480 +0440 +0200 +0220 +0120 +00E0 +ENDCHAR +STARTCHAR U_98DF +ENCODING 39135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1500 +3FE0 +D080 +1F80 +1080 +1F80 +1240 +1580 +1860 +ENDCHAR +STARTCHAR U_98E0 +ENCODING 39136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 0 -1 +BITMAP +10 +30 +48 +A0 +78 +48 +78 +48 +78 +50 +78 +ENDCHAR +STARTCHAR U_98E1 +ENCODING 39137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +8280 +4540 +2FE0 +2440 +17C0 +2440 +C7C0 +4520 +44C0 +0760 +ENDCHAR +STARTCHAR U_98E2 +ENCODING 39138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +5280 +AA80 +FA80 +8A80 +FA80 +8A80 +FA80 +92A0 +ACA0 +C860 +ENDCHAR +STARTCHAR U_98E3 +ENCODING 39139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +53E0 +A880 +F880 +8880 +F880 +8880 +F880 +9480 +AA80 +C900 +ENDCHAR +STARTCHAR U_98E4 +ENCODING 39140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2900 +5500 +F900 +4900 +7900 +4A80 +7A80 +5240 +6C60 +4440 +ENDCHAR +STARTCHAR U_98E5 +ENCODING 39141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +5780 +A900 +F900 +8960 +FF80 +8900 +F900 +9120 +A920 +C8E0 +ENDCHAR +STARTCHAR U_98E6 +ENCODING 39142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +2BC0 +5500 +F900 +4900 +7FE0 +4900 +7900 +5100 +6900 +4100 +ENDCHAR +STARTCHAR U_98E7 +ENCODING 39143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +4440 +7920 +57C0 +5440 +B7C0 +1440 +27C0 +24A0 +4540 +8620 +ENDCHAR +STARTCHAR U_98E8 +ENCODING 39144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2440 +5920 +E7C0 +2440 +57C0 +F440 +17C0 +24A0 +4640 +8420 +ENDCHAR +STARTCHAR U_98E9 +ENCODING 39145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +57E0 +A880 +FAA0 +8AA0 +FAA0 +8BE0 +F880 +90A0 +A8A0 +C860 +ENDCHAR +STARTCHAR U_98EA +ENCODING 39146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +53C0 +A880 +F880 +8880 +FFE0 +8880 +F880 +9080 +A880 +CBE0 +ENDCHAR +STARTCHAR U_98EB +ENCODING 39147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +53C0 +A880 +F880 +8BE0 +F880 +8880 +F880 +9140 +AA20 +CC20 +ENDCHAR +STARTCHAR U_98EC +ENCODING 39148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +7FC0 +0800 +FFE0 +1100 +3F80 +D160 +1F00 +1480 +1300 +18C0 +ENDCHAR +STARTCHAR U_98ED +ENCODING 39149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +51E0 +AA00 +FD00 +8900 +FBE0 +8920 +F920 +9220 +ACA0 +C840 +ENDCHAR +STARTCHAR U_98EE +ENCODING 39150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2900 +53E0 +FA40 +4D00 +7900 +4900 +7A80 +4280 +7A40 +4420 +ENDCHAR +STARTCHAR U_98EF +ENCODING 39151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2060 +3380 +4A00 +FFE0 +4A20 +7A20 +4B40 +7AC0 +5280 +6D40 +4620 +ENDCHAR +STARTCHAR U_98F0 +ENCODING 39152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2900 +57E0 +F900 +4900 +7980 +4960 +7920 +5100 +5900 +6900 +ENDCHAR +STARTCHAR U_98F1 +ENCODING 39153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +4540 +4FE0 +7440 +97C0 +5440 +27C0 +2540 +4680 +8460 +ENDCHAR +STARTCHAR U_98F2 +ENCODING 39154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5100 +ABE0 +FC20 +88A0 +F880 +8880 +F880 +9140 +AA20 +CC20 +ENDCHAR +STARTCHAR U_98F3 +ENCODING 39155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2900 +57E0 +F900 +4900 +7900 +4BC0 +7900 +5100 +5900 +6FE0 +ENDCHAR +STARTCHAR U_98F4 +ENCODING 39156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5080 +A900 +F940 +8BA0 +F800 +8BE0 +FA20 +9220 +ABE0 +CA20 +ENDCHAR +STARTCHAR U_98F5 +ENCODING 39157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2A00 +53E0 +FD00 +4900 +79E0 +4900 +79E0 +5100 +5900 +6900 +ENDCHAR +STARTCHAR U_98F6 +ENCODING 39158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +50A0 +AA20 +FA40 +8A40 +FEA0 +8AA0 +FB00 +9220 +AE20 +C9E0 +ENDCHAR +STARTCHAR U_98F7 +ENCODING 39159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +2BC0 +5640 +FA40 +4BC0 +7A40 +4A40 +7BC0 +5240 +5A40 +6FE0 +ENDCHAR +STARTCHAR U_98F8 +ENCODING 39160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7A80 +4D40 +7BE0 +0240 +FFC0 +2240 +7BE0 +0B40 +2A80 +1360 +ENDCHAR +STARTCHAR U_98F9 +ENCODING 39161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +5CE0 +AAA0 +7AA0 +4AA0 +7AA0 +4AA0 +7EA0 +52E0 +7480 +4880 +ENDCHAR +STARTCHAR U_98FA +ENCODING 39162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5DC0 +5120 +FDE0 +0400 +3B80 +E4E0 +3F80 +2080 +3FA0 +2240 +39E0 +ENDCHAR +STARTCHAR U_98FB +ENCODING 39163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2900 +5280 +FC60 +4900 +7A80 +4900 +7A40 +5080 +5900 +6E00 +ENDCHAR +STARTCHAR U_98FC +ENCODING 39164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5020 +ABA0 +F820 +8BA0 +FAA0 +8AA0 +FBA0 +92A0 +A820 +C8E0 +ENDCHAR +STARTCHAR U_98FD +ENCODING 39165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +5200 +ABE0 +FC20 +8BA0 +FAA0 +8BA0 +FA40 +9220 +AA20 +C9E0 +ENDCHAR +STARTCHAR U_98FE +ENCODING 39166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +5200 +ABE0 +FC80 +8BE0 +FAA0 +8AA0 +FAA0 +92A0 +AAE0 +C880 +ENDCHAR +STARTCHAR U_98FF +ENCODING 39167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +2AA0 +56A0 +FAA0 +4BE0 +7880 +4AA0 +7AA0 +52A0 +5AA0 +6BE0 +ENDCHAR +STARTCHAR U_9900 +ENCODING 39168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +2A80 +57E0 +FA80 +4800 +7C40 +4A40 +7A80 +5100 +5A80 +6C60 +ENDCHAR +STARTCHAR U_9901 +ENCODING 39169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2A60 +5780 +FA80 +4E80 +7BE0 +4A80 +7A80 +5280 +5BE0 +6A00 +ENDCHAR +STARTCHAR U_9902 +ENCODING 39170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +53C0 +A880 +FBE0 +8880 +F880 +8BE0 +FA20 +9220 +ABE0 +CA20 +ENDCHAR +STARTCHAR U_9903 +ENCODING 39171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5080 +AFE0 +FA40 +8C20 +FA40 +8940 +F880 +9180 +AA40 +CC20 +ENDCHAR +STARTCHAR U_9904 +ENCODING 39172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2980 +5640 +FC20 +4BC0 +7800 +4BC0 +7A40 +5240 +5BC0 +6A40 +ENDCHAR +STARTCHAR U_9905 +ENCODING 39173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5280 +AFE0 +FA40 +8A40 +FFE0 +8A40 +FA40 +9240 +AC40 +C840 +ENDCHAR +STARTCHAR U_9906 +ENCODING 39174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +2A80 +56A0 +FAC0 +4E80 +7AC0 +4EA0 +7A80 +5280 +5AA0 +6C60 +ENDCHAR +STARTCHAR U_9907 +ENCODING 39175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5420 +ADE0 +F420 +95E0 +F560 +9560 +F5E0 +8420 +A420 +D460 +ENDCHAR +STARTCHAR U_9908 +ENCODING 39176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +37E0 +E940 +46E0 +1F00 +E4E0 +3F80 +2080 +3FA0 +2140 +38E0 +ENDCHAR +STARTCHAR U_9909 +ENCODING 39177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5200 +AFE0 +F820 +8BA0 +FAA0 +8AA0 +FBA0 +9820 +A820 +C860 +ENDCHAR +STARTCHAR U_990A +ENCODING 39178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +0400 +FFE0 +1500 +62C0 +BFA0 +2080 +3FA0 +2240 +39E0 +ENDCHAR +STARTCHAR U_990B +ENCODING 39179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +7FC0 +0400 +FFE0 +2A80 +D560 +3F80 +D160 +1F40 +1280 +19E0 +ENDCHAR +STARTCHAR U_990C +ENCODING 39180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5240 +AA40 +FBC0 +8A40 +FBC0 +8A40 +FA60 +97C0 +A840 +C840 +ENDCHAR +STARTCHAR U_990D +ENCODING 39181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8500 +BFE0 +9280 +AF40 +90E0 +FF80 +9080 +9FA0 +9140 +9CE0 +ENDCHAR +STARTCHAR U_990E +ENCODING 39182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2900 +55E0 +FE20 +4940 +7880 +4940 +7FE0 +5240 +5A40 +6BC0 +ENDCHAR +STARTCHAR U_990F +ENCODING 39183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2880 +57E0 +F900 +4A00 +7EA0 +4AC0 +7A80 +5240 +5B40 +6A20 +ENDCHAR +STARTCHAR U_9910 +ENCODING 39184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2240 +7580 +AA40 +5FC0 +B0A0 +5F80 +1080 +1FA0 +1540 +18E0 +ENDCHAR +STARTCHAR U_9911 +ENCODING 39185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +57E0 +A880 +FFE0 +8C20 +FBE0 +8840 +FFE0 +9080 +A880 +C980 +ENDCHAR +STARTCHAR U_9912 +ENCODING 39186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +5720 +ACA0 +FA40 +8900 +FFE0 +8940 +FA40 +9180 +A940 +CE20 +ENDCHAR +STARTCHAR U_9913 +ENCODING 39187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +56C0 +AAA0 +FA80 +8FE0 +FA80 +8BA0 +FEA0 +9240 +AAE0 +CF20 +ENDCHAR +STARTCHAR U_9914 +ENCODING 39188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +50A0 +AFE0 +F880 +8BE0 +FAA0 +8BE0 +FAA0 +93E0 +AAA0 +CA60 +ENDCHAR +STARTCHAR U_9915 +ENCODING 39189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5240 +AFA0 +F940 +8A20 +F900 +8BC0 +FD40 +9080 +A940 +CE20 +ENDCHAR +STARTCHAR U_9916 +ENCODING 39190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5000 +ABC0 +FA40 +8A40 +FBC0 +8A40 +FC20 +9240 +AA80 +CFE0 +ENDCHAR +STARTCHAR U_9917 +ENCODING 39191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +57E0 +A880 +FBE0 +8AA0 +FBE0 +8880 +F9C0 +92A0 +ACA0 +C880 +ENDCHAR +STARTCHAR U_9918 +ENCODING 39192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5280 +AC40 +F820 +8FC0 +F900 +8FE0 +F900 +9540 +B920 +CB00 +ENDCHAR +STARTCHAR U_9919 +ENCODING 39193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +2980 +5660 +F880 +4FE0 +7980 +4BE0 +7EA0 +52A0 +5AE0 +6880 +ENDCHAR +STARTCHAR U_991A +ENCODING 39194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2360 +5080 +AB60 +F900 +8FE0 +FA20 +8BE0 +FE20 +93E0 +AA20 +CA60 +ENDCHAR +STARTCHAR U_991B +ENCODING 39195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5440 +AFC0 +FC40 +8FC0 +FC80 +8CA0 +FFC0 +94A0 +ADA0 +CEE0 +ENDCHAR +STARTCHAR U_991C +ENCODING 39196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +2AA0 +57E0 +FAA0 +4BE0 +7880 +4FE0 +7980 +52C0 +5CA0 +6880 +ENDCHAR +STARTCHAR U_991D +ENCODING 39197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +2FE0 +5280 +F900 +4880 +7FE0 +4900 +79C0 +5240 +5A40 +6CC0 +ENDCHAR +STARTCHAR U_991E +ENCODING 39198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5240 +AFE0 +FA40 +89A0 +FE60 +8A40 +FFE0 +9280 +AB20 +CCE0 +ENDCHAR +STARTCHAR U_991F +ENCODING 39199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5520 +AAA0 +FB40 +8CA0 +F900 +8FE0 +FD20 +92A0 +AD40 +C9A0 +ENDCHAR +STARTCHAR U_9920 +ENCODING 39200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1120 +2A40 +57E0 +FA40 +4A40 +7FE0 +4A40 +7A40 +5240 +5A40 +6C40 +ENDCHAR +STARTCHAR U_9921 +ENCODING 39201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +51E0 +AA40 +FC00 +8960 +FA20 +8A20 +FB60 +9220 +ABE0 +CA20 +ENDCHAR +STARTCHAR U_9922 +ENCODING 39202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +2900 +57E0 +FA40 +4A80 +7FE0 +4800 +7BC0 +5240 +5A40 +6BC0 +ENDCHAR +STARTCHAR U_9923 +ENCODING 39203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +2FE0 +5140 +FEA0 +4BE0 +7AA0 +4BE0 +7AA0 +53E0 +5880 +68E0 +ENDCHAR +STARTCHAR U_9924 +ENCODING 39204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +52A0 +AAC0 +FC80 +8940 +FEA0 +8AA0 +FAC0 +9080 +A940 +CA20 +ENDCHAR +STARTCHAR U_9925 +ENCODING 39205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0A00 +7BC0 +0A00 +FFE0 +1580 +7F60 +A100 +3F40 +2280 +79C0 +ENDCHAR +STARTCHAR U_9926 +ENCODING 39206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +2A00 +57C0 +FA00 +4BC0 +7A00 +4FE0 +7B40 +5280 +5A40 +6B20 +ENDCHAR +STARTCHAR U_9927 +ENCODING 39207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5080 +AFE0 +FAC0 +8CA0 +F900 +8FE0 +FA40 +9180 +A940 +CE20 +ENDCHAR +STARTCHAR U_9928 +ENCODING 39208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +AC20 +FBC0 +8A40 +FBC0 +8A00 +FBC0 +9240 +ABC0 +CA40 +ENDCHAR +STARTCHAR U_9929 +ENCODING 39209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +5220 +AC80 +FBE0 +8900 +FA40 +8B80 +F920 +9240 +A8A0 +CB20 +ENDCHAR +STARTCHAR U_992A +ENCODING 39210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5100 +AFE0 +FAA0 +8AA0 +FAA0 +8900 +FFE0 +9100 +AA80 +CC60 +ENDCHAR +STARTCHAR U_992B +ENCODING 39211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +54A0 +AFE0 +FAA0 +8BE0 +FAA0 +8BE0 +F880 +97E0 +A880 +C880 +ENDCHAR +STARTCHAR U_992C +ENCODING 39212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +52A0 +AFA0 +F2E0 +92A0 +F7A0 +95E0 +F7A0 +94A0 +A920 +CA60 +ENDCHAR +STARTCHAR U_992D +ENCODING 39213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +53C0 +AA40 +FBC0 +8A40 +FFE0 +8880 +F880 +93E0 +A880 +CFE0 +ENDCHAR +STARTCHAR U_992E +ENCODING 39214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FB80 +4540 +72A0 +9540 +3B00 +6480 +FF60 +2100 +3F40 +2280 +79C0 +ENDCHAR +STARTCHAR U_992F +ENCODING 39215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +ABC0 +F880 +8FE0 +FA00 +8DA0 +FAC0 +95A0 +AEA0 +C900 +ENDCHAR +STARTCHAR U_9930 +ENCODING 39216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +74E0 +8800 +2200 +F6E0 +9D20 +F520 +9520 +F720 +A520 +F5E0 +9540 +ENDCHAR +STARTCHAR U_9931 +ENCODING 39217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +AFE0 +FA00 +8BE0 +FA40 +8BE0 +FA40 +9240 +AAA0 +CB20 +ENDCHAR +STARTCHAR U_9932 +ENCODING 39218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +ABC0 +FA40 +8BC0 +F900 +8BE0 +FCA0 +9560 +AFA0 +C840 +ENDCHAR +STARTCHAR U_9933 +ENCODING 39219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +ABC0 +FA40 +8FE0 +FC00 +8FE0 +FAA0 +92A0 +AD20 +CA40 +ENDCHAR +STARTCHAR U_9934 +ENCODING 39220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +2BE0 +5540 +FAA0 +4BC0 +7880 +4AA0 +7FE0 +5220 +5A20 +6C20 +ENDCHAR +STARTCHAR U_9935 +ENCODING 39221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +5540 +AFC0 +F540 +97C0 +F000 +9FE0 +F500 +8540 +A480 +D660 +ENDCHAR +STARTCHAR U_9936 +ENCODING 39222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +2A40 +53C0 +FAC0 +4FE0 +7C20 +4BC0 +7A40 +53C0 +5A40 +6EC0 +ENDCHAR +STARTCHAR U_9937 +ENCODING 39223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2FE0 +5380 +FD40 +4BE0 +7A40 +4BC0 +7A40 +53C0 +5800 +6FE0 +ENDCHAR +STARTCHAR U_9938 +ENCODING 39224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1220 +2940 +5600 +FBE0 +4880 +7FE0 +4A80 +7A80 +5340 +5A20 +6DE0 +ENDCHAR +STARTCHAR U_9939 +ENCODING 39225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +2BE0 +5680 +FBE0 +4AA0 +7BE0 +4BE0 +7A80 +53E0 +5D20 +69E0 +ENDCHAR +STARTCHAR U_993A +ENCODING 39226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20A0 +57E0 +AAA0 +FBE0 +8AA0 +FBE0 +8AA0 +F840 +97E0 +AA40 +C9C0 +ENDCHAR +STARTCHAR U_993B +ENCODING 39227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +2A80 +57E0 +F900 +4BC0 +7900 +4FE0 +7800 +5540 +5AA0 +6AA0 +ENDCHAR +STARTCHAR U_993C +ENCODING 39228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +53E0 +AC00 +FBE0 +8D60 +FBA0 +8920 +FFE0 +93A0 +AD60 +C920 +ENDCHAR +STARTCHAR U_993D +ENCODING 39229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +AD20 +FFE0 +8D20 +FFE0 +8940 +F980 +93E0 +AD20 +C8E0 +ENDCHAR +STARTCHAR U_993E +ENCODING 39230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22E0 +54A0 +ACA0 +FDA0 +8E40 +FBE0 +8AA0 +FBE0 +92A0 +ABE0 +CA20 +ENDCHAR +STARTCHAR U_993F +ENCODING 39231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +51E0 +AAA0 +FBE0 +8AA0 +FBE0 +8880 +FFE0 +9240 +A980 +CE60 +ENDCHAR +STARTCHAR U_9940 +ENCODING 39232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +2B00 +54A0 +FAA0 +4940 +7AE0 +4A20 +7B60 +5220 +5A20 +6BE0 +ENDCHAR +STARTCHAR U_9941 +ENCODING 39233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +A900 +F7E0 +9240 +F7A0 +9000 +FFE0 +AAA0 +BAA0 +DFE0 +ENDCHAR +STARTCHAR U_9942 +ENCODING 39234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +2A40 +57C0 +FA40 +4BC0 +7800 +4BE0 +7AA0 +52A0 +5AA0 +6FE0 +ENDCHAR +STARTCHAR U_9943 +ENCODING 39235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +57E0 +AA40 +F7C0 +9440 +F7C0 +9440 +FFE0 +9100 +B280 +CC60 +ENDCHAR +STARTCHAR U_9944 +ENCODING 39236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1520 +2B40 +57E0 +FC20 +4BC0 +7A40 +4BC0 +7880 +53C0 +5880 +6FE0 +ENDCHAR +STARTCHAR U_9945 +ENCODING 39237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +ABC0 +F240 +9FE0 +FAA0 +9FE0 +F440 +A280 +F100 +8EE0 +ENDCHAR +STARTCHAR U_9946 +ENCODING 39238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +2AA0 +57E0 +FAA0 +4BE0 +7AA0 +4FE0 +7AA0 +57E0 +5880 +6880 +ENDCHAR +STARTCHAR U_9947 +ENCODING 39239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5800 +ABC0 +FA40 +8BC0 +F800 +8BE0 +FAA0 +ABE0 +A800 +DFE0 +ENDCHAR +STARTCHAR U_9948 +ENCODING 39240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +5280 +AFE0 +F880 +8FE0 +FA00 +8BE0 +FCA0 +93E0 +A8A0 +CFE0 +ENDCHAR +STARTCHAR U_9949 +ENCODING 39241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +57E0 +A940 +F880 +8BE0 +FAA0 +8FE0 +F880 +93E0 +A880 +CFE0 +ENDCHAR +STARTCHAR U_994A +ENCODING 39242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +5FC0 +A540 +FFE0 +9020 +F7A0 +9540 +F740 +A540 +B7A0 +D520 +ENDCHAR +STARTCHAR U_994B +ENCODING 39243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +AD40 +FFE0 +8A40 +FBC0 +8A40 +FBC0 +9240 +ABC0 +CE60 +ENDCHAR +STARTCHAR U_994C +ENCODING 39244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +5AA0 +AEE0 +F880 +9EE0 +F280 +97C0 +F280 +97E0 +BA80 +CC60 +ENDCHAR +STARTCHAR U_994D +ENCODING 39245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +2FE0 +5100 +FFC0 +4900 +7FE0 +4D40 +7B80 +57E0 +5A40 +6BC0 +ENDCHAR +STARTCHAR U_994E +ENCODING 39246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +57E0 +A880 +FFE0 +8A40 +FBC0 +8A80 +FFE0 +9240 +ABC0 +CA40 +ENDCHAR +STARTCHAR U_994F +ENCODING 39247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +0900 +FFE0 +2A40 +FD80 +0A60 +3F80 +D560 +1F00 +1200 +1980 +ENDCHAR +STARTCHAR U_9950 +ENCODING 39248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +A900 +FFE0 +8C20 +FFE0 +8A40 +FBC0 +9140 +A880 +CFE0 +ENDCHAR +STARTCHAR U_9951 +ENCODING 39249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +5BA0 +AD40 +F520 +9FE0 +F140 +9FE0 +F4A0 +A4C0 +FAA0 +9360 +ENDCHAR +STARTCHAR U_9952 +ENCODING 39250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57C0 +A900 +FFE0 +8A40 +FFE0 +8A40 +FFE0 +9280 +ACA0 +C860 +ENDCHAR +STARTCHAR U_9953 +ENCODING 39251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +57E0 +AC20 +FBC0 +8A40 +FBC0 +8900 +FFE0 +9380 +AD40 +C920 +ENDCHAR +STARTCHAR U_9954 +ENCODING 39252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +5500 +5FC0 +F500 +2FE0 +D200 +3FE0 +E100 +3F00 +2480 +7BC0 +ENDCHAR +STARTCHAR U_9955 +ENCODING 39253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F1C0 +9100 +FFE0 +4520 +7DC0 +1560 +7FC0 +A100 +3F40 +2280 +39E0 +ENDCHAR +STARTCHAR U_9956 +ENCODING 39254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +5500 +AFE0 +F8A0 +8FE0 +F880 +8FA0 +FAA0 +9F40 +AAA0 +CD20 +ENDCHAR +STARTCHAR U_9957 +ENCODING 39255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +48E0 +BEA0 +52C0 +BEA0 +54E0 +8E80 +3F80 +E160 +3F40 +2680 +39C0 +ENDCHAR +STARTCHAR U_9958 +ENCODING 39256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +ABA0 +F820 +9FE0 +F440 +97C0 +F440 +97C0 +B000 +CFE0 +ENDCHAR +STARTCHAR U_9959 +ENCODING 39257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +57E0 +AAA0 +FFE0 +8A20 +FBC0 +8A40 +FBC0 +9240 +ABC0 +CE60 +ENDCHAR +STARTCHAR U_995A +ENCODING 39258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +2FE0 +5540 +FFE0 +4900 +7FE0 +4A40 +7BE0 +52A0 +5AA0 +6FE0 +ENDCHAR +STARTCHAR U_995B +ENCODING 39259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +5FE0 +A280 +FFE0 +9820 +F7E0 +9540 +FB80 +A5C0 +FAA0 +9520 +ENDCHAR +STARTCHAR U_995C +ENCODING 39260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A4C0 +BCA0 +A7E0 +BC80 +AB40 +9FC0 +F0A0 +9FA0 +9240 +99E0 +ENDCHAR +STARTCHAR U_995D +ENCODING 39261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +AFE0 +DA40 +EFE0 +AAC0 +EF60 +AFE0 +EA00 +CFC0 +AA40 +D3C0 +ENDCHAR +STARTCHAR U_995E +ENCODING 39262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +5480 +AFE0 +F420 +97E0 +F480 +9FE0 +F540 +A7C0 +F2A0 +8CE0 +ENDCHAR +STARTCHAR U_995F +ENCODING 39263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +AAA0 +FEE0 +9240 +FFE0 +9240 +FFE0 +A2A0 +F640 +8B20 +ENDCHAR +STARTCHAR U_9960 +ENCODING 39264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +5AA0 +AFE0 +7480 +55E0 +7B40 +55E0 +7940 +6FE0 +5540 +6BE0 +ENDCHAR +STARTCHAR U_9961 +ENCODING 39265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +5FE0 +A540 +FFE0 +9540 +FFE0 +9440 +F7C0 +A440 +B7C0 +CC60 +ENDCHAR +STARTCHAR U_9962 +ENCODING 39266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +5FE0 +A540 +7FE0 +5560 +7FC0 +5540 +7FE0 +6540 +5D80 +6660 +ENDCHAR +STARTCHAR U_9963 +ENCODING 39267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 0 -1 +BITMAP +40 +40 +7C +48 +80 +20 +20 +20 +28 +30 +20 +ENDCHAR +STARTCHAR U_9964 +ENCODING 39268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +47E0 +7880 +4880 +B080 +2080 +2080 +2080 +2880 +3280 +2100 +ENDCHAR +STARTCHAR U_9965 +ENCODING 39269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +4480 +7C80 +4C80 +A480 +2480 +2480 +2C80 +34A0 +28A0 +1060 +ENDCHAR +STARTCHAR U_9966 +ENCODING 39270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +4600 +7A00 +5200 +83E0 +2E00 +2200 +2200 +2A00 +3220 +21E0 +ENDCHAR +STARTCHAR U_9967 +ENCODING 39271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F80 +4100 +7A00 +9400 +87E0 +22A0 +22A0 +24A0 +2920 +3220 +04C0 +ENDCHAR +STARTCHAR U_9968 +ENCODING 39272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7FE0 +8900 +A520 +2520 +27E0 +2900 +3120 +2120 +00E0 +ENDCHAR +STARTCHAR U_9969 +ENCODING 39273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +43E0 +7C00 +93C0 +8000 +2780 +2080 +2880 +30A0 +2060 +0020 +ENDCHAR +STARTCHAR U_996A +ENCODING 39274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4700 +7900 +5100 +8100 +27E0 +2100 +2100 +2900 +3100 +27E0 +ENDCHAR +STARTCHAR U_996B +ENCODING 39275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4700 +7900 +9100 +A7E0 +2100 +2100 +2900 +3280 +2440 +0820 +ENDCHAR +STARTCHAR U_996C +ENCODING 39276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +7BE0 +4D00 +A100 +27E0 +2120 +2120 +3220 +2420 +08C0 +ENDCHAR +STARTCHAR U_996D +ENCODING 39277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +4700 +7C00 +4FC0 +A440 +2640 +2540 +2D40 +3480 +2940 +1620 +ENDCHAR +STARTCHAR U_996E +ENCODING 39278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4200 +7BE0 +4A20 +A540 +2100 +2100 +2100 +2280 +3440 +2820 +ENDCHAR +STARTCHAR U_996F +ENCODING 39279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +4240 +7BE0 +4E00 +A2E0 +2F00 +2120 +2940 +30A0 +2360 +0C20 +ENDCHAR +STARTCHAR U_9970 +ENCODING 39280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +43E0 +7C80 +4880 +A7E0 +24A0 +24A0 +2CA0 +34A0 +24E0 +0080 +ENDCHAR +STARTCHAR U_9971 +ENCODING 39281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +47C0 +7C40 +9740 +AD40 +2540 +2740 +24C0 +2C20 +3420 +23E0 +ENDCHAR +STARTCHAR U_9972 +ENCODING 39282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4020 +7BA0 +8820 +A3A0 +22A0 +22A0 +23A0 +2AA0 +3020 +2060 +ENDCHAR +STARTCHAR U_9973 +ENCODING 39283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7540 +9540 +6540 +47C0 +4100 +4920 +5920 +6FE0 +4820 +ENDCHAR +STARTCHAR U_9974 +ENCODING 39284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7A40 +97A0 +8020 +2000 +23E0 +2A20 +3220 +23E0 +0220 +ENDCHAR +STARTCHAR U_9975 +ENCODING 39285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4240 +7A40 +8BC0 +A240 +23C0 +2240 +2A60 +37C0 +2040 +0040 +ENDCHAR +STARTCHAR U_9976 +ENCODING 39286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +47E0 +7A80 +9120 +AEE0 +2000 +27E0 +2A80 +32A0 +24A0 +0860 +ENDCHAR +STARTCHAR U_9977 +ENCODING 39287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4200 +7FE0 +9820 +0BA0 +4AA0 +4BA0 +4AA0 +6820 +4820 +08E0 +ENDCHAR +STARTCHAR U_9978 +ENCODING 39288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7A80 +5440 +A820 +2780 +2000 +27C0 +2C40 +3440 +27C0 +ENDCHAR +STARTCHAR U_9979 +ENCODING 39289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +43C0 +7C40 +9280 +6900 +4280 +4C60 +47C0 +5440 +6440 +47C0 +ENDCHAR +STARTCHAR U_997A +ENCODING 39290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4080 +7FE0 +4A40 +A420 +2A80 +2280 +2900 +3280 +2440 +0820 +ENDCHAR +STARTCHAR U_997B +ENCODING 39291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4100 +7FE0 +9200 +4600 +4540 +4D40 +5480 +4480 +6640 +4420 +ENDCHAR +STARTCHAR U_997C +ENCODING 39292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +4140 +7FE0 +8940 +A140 +27E0 +2140 +2940 +3240 +2440 +0840 +ENDCHAR +STARTCHAR U_997D +ENCODING 39293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7900 +8FE0 +A420 +23C0 +2080 +2FE0 +3100 +2500 +0200 +ENDCHAR +STARTCHAR U_997E +ENCODING 39294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +4FE0 +7000 +97C0 +6440 +4440 +47C0 +4440 +5240 +6280 +4FE0 +ENDCHAR +STARTCHAR U_997F +ENCODING 39295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4180 +46C0 +7AA0 +8FE0 +A280 +22A0 +27A0 +2AC0 +22A0 +3360 +2620 +ENDCHAR +STARTCHAR U_9980 +ENCODING 39296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4280 +7440 +5820 +A7C0 +2100 +2FE0 +2900 +3540 +2920 +1320 +ENDCHAR +STARTCHAR U_9981 +ENCODING 39297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +4780 +7D20 +4AA0 +A140 +2FE0 +2140 +2A40 +3180 +2340 +0C20 +ENDCHAR +STARTCHAR U_9982 +ENCODING 39298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4100 +7240 +97E0 +6440 +4A20 +47C0 +4A40 +4180 +6180 +4660 +ENDCHAR +STARTCHAR U_9983 +ENCODING 39299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4540 +7FC0 +9540 +67C0 +4100 +4FE0 +4380 +6540 +4920 +0100 +ENDCHAR +STARTCHAR U_9984 +ENCODING 39300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +4420 +7FE0 +9420 +A7E0 +2480 +24A0 +2FC0 +34A0 +25A0 +0660 +ENDCHAR +STARTCHAR U_9985 +ENCODING 39301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +43E0 +7A40 +9480 +A200 +24E0 +2420 +2760 +2C20 +37E0 +2420 +ENDCHAR +STARTCHAR U_9986 +ENCODING 39302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47E0 +7C20 +53C0 +A240 +23C0 +2200 +2BE0 +3220 +23E0 +0220 +ENDCHAR +STARTCHAR U_9987 +ENCODING 39303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4FE0 +7540 +5920 +87C0 +2440 +27C0 +2C40 +37C0 +2000 +0FE0 +ENDCHAR +STARTCHAR U_9988 +ENCODING 39304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +7540 +9FE0 +A000 +27C0 +2440 +2D40 +3540 +2280 +0C60 +ENDCHAR +STARTCHAR U_9989 +ENCODING 39305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +7740 +9540 +6FE0 +4820 +47C0 +4440 +57C0 +6440 +44C0 +ENDCHAR +STARTCHAR U_998A +ENCODING 39306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +4760 +7D20 +4F60 +A520 +27E0 +2100 +2FE0 +3240 +2180 +0E60 +ENDCHAR +STARTCHAR U_998B +ENCODING 39307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +4480 +7FE0 +5520 +A7E0 +2280 +24E0 +2900 +2080 +3300 +20C0 +ENDCHAR +STARTCHAR U_998C +ENCODING 39308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +7100 +9FE0 +6240 +4FE0 +4000 +47C0 +5540 +6540 +4FE0 +ENDCHAR +STARTCHAR U_998D +ENCODING 39309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +47E0 +7A80 +57C0 +A440 +27C0 +2440 +2FE0 +3100 +2280 +0C60 +ENDCHAR +STARTCHAR U_998E +ENCODING 39310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +4FE0 +7540 +57C0 +A540 +47C0 +4540 +5FE0 +4440 +6240 +40C0 +ENDCHAR +STARTCHAR U_998F +ENCODING 39311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +4DE0 +7AA0 +5AA0 +8D20 +4240 +47E0 +4520 +57E0 +6520 +47E0 +ENDCHAR +STARTCHAR U_9990 +ENCODING 39312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +4140 +7FE0 +5100 +8FE0 +2100 +27E0 +2D40 +33C0 +2140 +0FE0 +ENDCHAR +STARTCHAR U_9991 +ENCODING 39313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +47E0 +7A40 +4BC0 +A7E0 +2520 +27E0 +2900 +37C0 +2100 +0FE0 +ENDCHAR +STARTCHAR U_9992 +ENCODING 39314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +4440 +77C0 +5440 +AFE0 +2AA0 +2FE0 +2C40 +3280 +2100 +0EE0 +ENDCHAR +STARTCHAR U_9993 +ENCODING 39315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8A80 +9F80 +EAE0 +BFA0 +8AA0 +4EA0 +4AA0 +5EA0 +6A40 +4AA0 +0D20 +ENDCHAR +STARTCHAR U_9994 +ENCODING 39316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4920 +7FE0 +5880 +AFE0 +2240 +27E0 +2240 +3FE0 +2440 +0820 +ENDCHAR +STARTCHAR U_9995 +ENCODING 39317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +4540 +7FE0 +AB40 +4FC0 +4280 +4FE0 +5280 +6FE0 +4D40 +06E0 +ENDCHAR +STARTCHAR U_9996 +ENCODING 39318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +FFE0 +0800 +3F80 +2080 +3F80 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_9997 +ENCODING 39319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +4FE0 +4100 +F7C0 +5440 +5740 +55C0 +5440 +57E0 +5020 +8FE0 +ENDCHAR +STARTCHAR U_9998 +ENCODING 39320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +88C0 +50A0 +FFE0 +2080 +FEA0 +9AA0 +FEA0 +90C0 +FEA0 +9160 +F220 +ENDCHAR +STARTCHAR U_9999 +ENCODING 39321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0180 +7E00 +0400 +FFE0 +1500 +2480 +FFE0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_999A +ENCODING 39322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +2280 +FA40 +7440 +A820 +27C0 +7A40 +4A40 +7A40 +4B40 +7C80 +ENDCHAR +STARTCHAR U_999B +ENCODING 39323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +2120 +FFE0 +7100 +A900 +21C0 +7240 +5340 +7480 +5540 +7A20 +ENDCHAR +STARTCHAR U_999C +ENCODING 39324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0BE0 +F220 +1220 +FFE0 +5A80 +96A0 +7AC0 +4A80 +7AA0 +4AA0 +7CE0 +ENDCHAR +STARTCHAR U_999D +ENCODING 39325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7240 +2140 +FE80 +2A80 +66C0 +A2A0 +7AA0 +4A80 +7B40 +4A40 +7DC0 +ENDCHAR +STARTCHAR U_999E +ENCODING 39326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +67E0 +2080 +FFE0 +3420 +6BC0 +F840 +4FE0 +7880 +4880 +7980 +ENDCHAR +STARTCHAR U_999F +ENCODING 39327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +2720 +FAA0 +7140 +ABC0 +2080 +7080 +57E0 +7080 +5280 +7100 +ENDCHAR +STARTCHAR U_99A0 +ENCODING 39328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +2280 +FA40 +7520 +ABC0 +2080 +7100 +57C0 +7440 +57C0 +7440 +ENDCHAR +STARTCHAR U_99A1 +ENCODING 39329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +6280 +26E0 +FA80 +3280 +6EE0 +FA80 +4A80 +7EE0 +4A80 +7A80 +ENDCHAR +STARTCHAR U_99A2 +ENCODING 39330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7280 +2240 +FFC0 +7140 +A8A0 +2360 +7A80 +4FC0 +7940 +48A0 +7B60 +ENDCHAR +STARTCHAR U_99A3 +ENCODING 39331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +67E0 +2280 +FD40 +37E0 +6D40 +FFC0 +4D40 +7FC0 +4920 +78E0 +ENDCHAR +STARTCHAR U_99A4 +ENCODING 39332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +77C0 +2540 +FCC0 +77C0 +AC00 +77E0 +5920 +7520 +56A0 +77A0 +0060 +ENDCHAR +STARTCHAR U_99A5 +ENCODING 39333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +63E0 +2620 +FBE0 +3220 +6BE0 +F900 +4BE0 +7D40 +4880 +7B60 +ENDCHAR +STARTCHAR U_99A6 +ENCODING 39334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +6280 +27E0 +FAA0 +37E0 +6AA0 +FFE0 +4A80 +7EC0 +4AA0 +7AA0 +ENDCHAR +STARTCHAR U_99A7 +ENCODING 39335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +6240 +23C0 +FA40 +33C0 +6800 +FFE0 +4AA0 +7AA0 +4AA0 +7FE0 +ENDCHAR +STARTCHAR U_99A8 +ENCODING 39336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DC0 +1140 +7FE0 +5540 +7C80 +8540 +FFE0 +1480 +7FE0 +1080 +1F80 +ENDCHAR +STARTCHAR U_99A9 +ENCODING 39337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +27E0 +FA40 +77E0 +AA40 +7BC0 +4B40 +7AC0 +4B40 +7BC0 +0660 +ENDCHAR +STARTCHAR U_99AA +ENCODING 39338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +27E0 +F820 +77E0 +AD40 +7BC0 +4E40 +7BC0 +4A40 +7BC0 +4E60 +ENDCHAR +STARTCHAR U_99AB +ENCODING 39339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +FFE0 +2480 +FFE0 +2080 +3F80 +FBE0 +2AC0 +FFE0 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_99AC +ENCODING 39340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2400 +3F80 +2400 +3F80 +2400 +3FE0 +0020 +5520 +4AA0 +8AC0 +ENDCHAR +STARTCHAR U_99AD +ENCODING 39341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5120 +7D20 +5120 +7D40 +5140 +7CC0 +5480 +AC80 +A540 +1A20 +ENDCHAR +STARTCHAR U_99AE +ENCODING 39342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2500 +17C0 +1500 +27C0 +2500 +C7E0 +4020 +4560 +4AA0 +0AC0 +ENDCHAR +STARTCHAR U_99AF +ENCODING 39343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +5080 +7880 +5080 +7BE0 +5080 +7C80 +5480 +AC80 +A480 +1880 +ENDCHAR +STARTCHAR U_99B0 +ENCODING 39344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +5100 +7FE0 +5220 +7C20 +5120 +7CA0 +54A0 +AC20 +A520 +18C0 +ENDCHAR +STARTCHAR U_99B1 +ENCODING 39345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +5080 +7880 +53E0 +7880 +5080 +7C80 +5480 +AD40 +A620 +1820 +ENDCHAR +STARTCHAR U_99B2 +ENCODING 39346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +5380 +7900 +5100 +7960 +5380 +7D00 +5500 +AD20 +A520 +18E0 +ENDCHAR +STARTCHAR U_99B3 +ENCODING 39347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A2A0 +FAE0 +A3A0 +FEA0 +A2A0 +FAE0 +5A80 +AA20 +AA20 +11E0 +ENDCHAR +STARTCHAR U_99B4 +ENCODING 39348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA20 +A2A0 +F2A0 +A2A0 +F2A0 +A2A0 +FAA0 +5AA0 +AAA0 +AA20 +1420 +ENDCHAR +STARTCHAR U_99B5 +ENCODING 39349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2400 +3FC0 +2400 +3FE0 +2A20 +5540 +1100 +FFE0 +1100 +6100 +ENDCHAR +STARTCHAR U_99B6 +ENCODING 39350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +5100 +7FE0 +5100 +7BC0 +5240 +7A40 +0980 +D900 +AAE0 +1C40 +ENDCHAR +STARTCHAR U_99B7 +ENCODING 39351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +53E0 +7880 +53E0 +7AA0 +52A0 +7AA0 +0AA0 +DAE0 +A880 +1880 +ENDCHAR +STARTCHAR U_99B8 +ENCODING 39352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +5380 +7A00 +5200 +7BE0 +5240 +7A40 +0A40 +DA40 +AC40 +1440 +ENDCHAR +STARTCHAR U_99B9 +ENCODING 39353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5220 +7A20 +5220 +7BE0 +5220 +7E20 +5620 +AE20 +A7E0 +1A20 +ENDCHAR +STARTCHAR U_99BA +ENCODING 39354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +5120 +7920 +5140 +7960 +5120 +7D20 +5540 +AE80 +A540 +1A20 +ENDCHAR +STARTCHAR U_99BB +ENCODING 39355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A100 +F240 +A420 +F7E0 +A280 +FA80 +5A80 +AAA0 +AAA0 +3460 +ENDCHAR +STARTCHAR U_99BC +ENCODING 39356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +5080 +7FE0 +5040 +7A40 +5240 +7980 +0980 +D980 +AA40 +1420 +ENDCHAR +STARTCHAR U_99BD +ENCODING 39357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +7FC0 +4400 +7F80 +4400 +7FC0 +4A40 +A540 +7FC0 +4440 +7FC0 +0400 +ENDCHAR +STARTCHAR U_99BE +ENCODING 39358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +5100 +7FE0 +5520 +7940 +5100 +7980 +0A80 +5AA0 +ACA0 +1860 +ENDCHAR +STARTCHAR U_99BF +ENCODING 39359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +5080 +7BE0 +5220 +7BE0 +5200 +7A00 +0A00 +DA00 +AC00 +1400 +ENDCHAR +STARTCHAR U_99C0 +ENCODING 39360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A80 +5240 +7A00 +57E0 +7A80 +5280 +7A80 +0A80 +DAA0 +ACA0 +1860 +ENDCHAR +STARTCHAR U_99C1 +ENCODING 39361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E20 +5140 +7C80 +5140 +7E20 +5040 +7E40 +5580 +AC80 +A540 +1A20 +ENDCHAR +STARTCHAR U_99C2 +ENCODING 39362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +83E0 +9280 +E280 +8BE0 +7A80 +23E0 +FE80 +23E0 +22A0 +2560 +2940 +ENDCHAR +STARTCHAR U_99C3 +ENCODING 39363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A100 +FBC0 +A140 +F940 +A140 +FFE0 +5900 +AA80 +AC40 +1020 +ENDCHAR +STARTCHAR U_99C4 +ENCODING 39364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +5100 +7900 +57E0 +7900 +5100 +7A80 +0A80 +DD40 +A960 +1000 +ENDCHAR +STARTCHAR U_99C5 +ENCODING 39365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +5240 +7A40 +5240 +7BC0 +5300 +7B00 +0A80 +DA80 +AC60 +1840 +ENDCHAR +STARTCHAR U_99C6 +ENCODING 39366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +5200 +7A00 +5320 +7AC0 +5240 +7EA0 +0720 +AE00 +D7E0 +0800 +ENDCHAR +STARTCHAR U_99C7 +ENCODING 39367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +5100 +79E0 +5140 +7B40 +5140 +7D40 +5540 +AC80 +A540 +1A20 +ENDCHAR +STARTCHAR U_99C8 +ENCODING 39368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +5380 +7A00 +5200 +7BE0 +5240 +7A40 +0A40 +DA40 +AFE0 +1000 +ENDCHAR +STARTCHAR U_99C9 +ENCODING 39369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A420 +F420 +A7A0 +F6A0 +A6A0 +FFA0 +5EA0 +AC20 +AC20 +3460 +ENDCHAR +STARTCHAR U_99CA +ENCODING 39370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +5100 +7FE0 +5540 +7D00 +57C0 +7E40 +0580 +AD80 +D640 +0820 +ENDCHAR +STARTCHAR U_99CB +ENCODING 39371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +5120 +7920 +5120 +7AE0 +5440 +7DE0 +5520 +AD20 +A5E0 +1920 +ENDCHAR +STARTCHAR U_99CC +ENCODING 39372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +7E40 +CAC0 +3220 +3FE0 +C400 +7F80 +4400 +7FE0 +5520 +8AC0 +ENDCHAR +STARTCHAR U_99CD +ENCODING 39373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5080 +7AA0 +51C0 +7880 +5080 +7FE0 +5480 +AC80 +A480 +1880 +ENDCHAR +STARTCHAR U_99CE +ENCODING 39374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A080 +FBE0 +A2A0 +FAA0 +A3E0 +FAA0 +5AA0 +AAA0 +ABE0 +1220 +ENDCHAR +STARTCHAR U_99CF +ENCODING 39375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +5100 +7D00 +51E0 +7D20 +5120 +7DE0 +5500 +AD00 +A500 +19E0 +ENDCHAR +STARTCHAR U_99D0 +ENCODING 39376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +5080 +7BE0 +5080 +7880 +5080 +7FE0 +5480 +AC80 +A480 +1BE0 +ENDCHAR +STARTCHAR U_99D1 +ENCODING 39377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFC0 +4A40 +3180 +3FE0 +E400 +3F80 +2400 +3FE0 +6A20 +95C0 +ENDCHAR +STARTCHAR U_99D2 +ENCODING 39378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +A3E0 +FC20 +A3A0 +FAA0 +A2A0 +FBA0 +5AA0 +A820 +A920 +30C0 +ENDCHAR +STARTCHAR U_99D3 +ENCODING 39379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5080 +7880 +5080 +79C0 +52A0 +7CA0 +0480 +5480 +AC00 +1BE0 +ENDCHAR +STARTCHAR U_99D4 +ENCODING 39380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +A240 +F240 +A240 +F3C0 +A240 +FA40 +2BC0 +5A40 +AA40 +B7E0 +ENDCHAR +STARTCHAR U_99D5 +ENCODING 39381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2BC0 +5000 +BFC0 +2400 +3F80 +2400 +3FE0 +6A20 +95C0 +ENDCHAR +STARTCHAR U_99D6 +ENCODING 39382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +5180 +7A40 +5520 +7880 +53E0 +7C40 +0480 +5500 +AC80 +1840 +ENDCHAR +STARTCHAR U_99D7 +ENCODING 39383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +5140 +7E20 +5080 +7D20 +5040 +7C80 +0520 +5440 +AC80 +BB00 +ENDCHAR +STARTCHAR U_99D8 +ENCODING 39384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +5100 +7940 +5220 +7BE0 +5000 +7DE0 +0520 +5520 +ADE0 +AD20 +ENDCHAR +STARTCHAR U_99D9 +ENCODING 39385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +A240 +F240 +A7E0 +FA40 +A340 +FAC0 +5A40 +AA40 +AA40 +32C0 +ENDCHAR +STARTCHAR U_99DA +ENCODING 39386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +5100 +7FC0 +5540 +7D40 +5540 +7FE0 +0900 +DA80 +AA40 +1420 +ENDCHAR +STARTCHAR U_99DB +ENCODING 39387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A080 +FBE0 +A2A0 +FAA0 +A3E0 +F880 +5A80 +A900 +AA80 +3460 +ENDCHAR +STARTCHAR U_99DC +ENCODING 39388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +A0A0 +FA40 +A240 +FAA0 +A6A0 +FA80 +5B00 +AA20 +AA20 +35E0 +ENDCHAR +STARTCHAR U_99DD +ENCODING 39389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +5080 +7BE0 +5220 +7900 +5140 +7D80 +5500 +AD20 +A520 +18E0 +ENDCHAR +STARTCHAR U_99DE +ENCODING 39390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +53E0 +7A00 +5480 +7A80 +57E0 +7AA0 +0AE0 +DA80 +AA20 +11E0 +ENDCHAR +STARTCHAR U_99DF +ENCODING 39391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F000 +AFE0 +FAA0 +AAA0 +FAA0 +AAA0 +FAE0 +5C20 +A820 +AFE0 +3820 +ENDCHAR +STARTCHAR U_99E0 +ENCODING 39392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F300 +ACE0 +FAA0 +AAA0 +FAA0 +AEA0 +FAE0 +1280 +B280 +D280 +3480 +ENDCHAR +STARTCHAR U_99E1 +ENCODING 39393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +0000 +3FC0 +2400 +3F80 +2400 +3FE0 +5520 +8AE0 +ENDCHAR +STARTCHAR U_99E2 +ENCODING 39394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A20 +5140 +7FE0 +5140 +7940 +53E0 +7D40 +5540 +AD40 +A540 +1A40 +ENDCHAR +STARTCHAR U_99E3 +ENCODING 39395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +A2A0 +FAC0 +A680 +FA80 +A6C0 +FAA0 +5A80 +AAA0 +AAA0 +3460 +ENDCHAR +STARTCHAR U_99E4 +ENCODING 39396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5080 +7940 +53E0 +7820 +5080 +7C80 +57E0 +AC80 +A480 +1BE0 +ENDCHAR +STARTCHAR U_99E5 +ENCODING 39397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +A0A0 +FFE0 +A080 +FAA0 +A7A0 +FAA0 +5AC0 +AAA0 +AD60 +3220 +ENDCHAR +STARTCHAR U_99E6 +ENCODING 39398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1500 +3F80 +0800 +FFE0 +2080 +FF60 +2400 +3F00 +2400 +3FC0 +5540 +ENDCHAR +STARTCHAR U_99E7 +ENCODING 39399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A820 +F820 +ABA0 +F820 +ABA0 +FAA0 +4AA0 +ABA0 +A820 +1860 +ENDCHAR +STARTCHAR U_99E8 +ENCODING 39400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +53E0 +7C20 +53A0 +7AA0 +53A0 +7EA0 +07A0 +AC20 +D4A0 +0840 +ENDCHAR +STARTCHAR U_99E9 +ENCODING 39401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D80 +5240 +7C20 +53C0 +7C80 +5080 +7FE0 +5480 +AC80 +A480 +1BE0 +ENDCHAR +STARTCHAR U_99EA +ENCODING 39402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A500 +FFC0 +A500 +F900 +AFE0 +FA80 +5A80 +AAA0 +ACA0 +3060 +ENDCHAR +STARTCHAR U_99EB +ENCODING 39403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +5140 +7D40 +5380 +7FE0 +5280 +7A80 +0A80 +DAA0 +ACA0 +1860 +ENDCHAR +STARTCHAR U_99EC +ENCODING 39404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A240 +F240 +A3C0 +F240 +A3C0 +FA40 +5A60 +AFC0 +A840 +3040 +ENDCHAR +STARTCHAR U_99ED +ENCODING 39405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +53E0 +7880 +5120 +7BC0 +5040 +7CA0 +5540 +AEC0 +A520 +1A20 +ENDCHAR +STARTCHAR U_99EE +ENCODING 39406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +53E0 +7D40 +5220 +7D40 +5140 +7D40 +5540 +AC80 +A540 +1A20 +ENDCHAR +STARTCHAR U_99EF +ENCODING 39407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +5500 +7FC0 +5100 +7FE0 +5100 +7B80 +0B40 +DD60 +A900 +1100 +ENDCHAR +STARTCHAR U_99F0 +ENCODING 39408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A520 +F520 +A7E0 +F520 +A520 +FDA0 +5660 +AC20 +A7E0 +0C20 +ENDCHAR +STARTCHAR U_99F1 +ENCODING 39409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +53E0 +7E20 +5140 +7C80 +5340 +7DE0 +5520 +AD20 +A5E0 +1920 +ENDCHAR +STARTCHAR U_99F2 +ENCODING 39410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7AA0 +52A0 +7AA0 +52A0 +7FA0 +52E0 +7AA0 +0AA0 +DAA0 +ACA0 +1820 +ENDCHAR +STARTCHAR U_99F3 +ENCODING 39411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F060 +ADC0 +F440 +A440 +F960 +AD40 +F540 +1540 +BDE0 +D600 +29E0 +ENDCHAR +STARTCHAR U_99F4 +ENCODING 39412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F860 +A040 +FFE0 +A040 +FD40 +A7C0 +FD60 +5540 +A540 +A4A0 +3920 +ENDCHAR +STARTCHAR U_99F5 +ENCODING 39413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +A280 +FEE0 +AAA0 +FAA0 +AAA0 +FEE0 +0A80 +DA80 +AA80 +1480 +ENDCHAR +STARTCHAR U_99F6 +ENCODING 39414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A420 +F7E0 +A400 +F7E0 +A420 +FFA0 +56A0 +ABA0 +A820 +30C0 +ENDCHAR +STARTCHAR U_99F7 +ENCODING 39415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +53E0 +7880 +53E0 +7AA0 +53E0 +7C80 +55C0 +AEA0 +A4A0 +1880 +ENDCHAR +STARTCHAR U_99F8 +ENCODING 39416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5040 +7BC0 +5040 +7FE0 +5220 +7DC0 +5540 +AC80 +A540 +1A20 +ENDCHAR +STARTCHAR U_99F9 +ENCODING 39417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +A120 +FFE0 +A2A0 +FAC0 +A2A0 +FAC0 +4AA0 +AAC0 +ABA0 +34E0 +ENDCHAR +STARTCHAR U_99FA +ENCODING 39418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +53E0 +7A20 +53E0 +7A20 +53E0 +7AA0 +5AC0 +AA80 +AA40 +3320 +ENDCHAR +STARTCHAR U_99FB +ENCODING 39419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A220 +FBE0 +A220 +FBE0 +A000 +FBE0 +5880 +AFE0 +A880 +3080 +ENDCHAR +STARTCHAR U_99FC +ENCODING 39420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F980 +A240 +FC20 +A7C0 +F900 +A7E0 +F900 +5B40 +AD20 +A920 +3300 +ENDCHAR +STARTCHAR U_99FD +ENCODING 39421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +5120 +79E0 +5000 +79E0 +5120 +7DE0 +5520 +ADE0 +A520 +1960 +ENDCHAR +STARTCHAR U_99FE +ENCODING 39422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC40 +A280 +FFC0 +A440 +FC40 +A7C0 +FA80 +5A80 +AAA0 +AAA0 +3460 +ENDCHAR +STARTCHAR U_99FF +ENCODING 39423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +5240 +7FE0 +5240 +7C20 +5200 +7BC0 +4E80 +A980 +A940 +1620 +ENDCHAR +STARTCHAR U_9A00 +ENCODING 39424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F180 +A6C0 +F2A0 +AFE0 +F280 +A3A0 +FEC0 +0A80 +ABA0 +5E60 +2220 +ENDCHAR +STARTCHAR U_9A01 +ENCODING 39425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +53E0 +7AA0 +53E0 +7AA0 +53E0 +7D00 +55E0 +AC20 +A520 +18C0 +ENDCHAR +STARTCHAR U_9A02 +ENCODING 39426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +5080 +7BE0 +5220 +7940 +53E0 +7C80 +57E0 +AC80 +A480 +1880 +ENDCHAR +STARTCHAR U_9A03 +ENCODING 39427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +5240 +7FE0 +5020 +7A00 +53C0 +7C80 +57E0 +AC80 +A540 +1A20 +ENDCHAR +STARTCHAR U_9A04 +ENCODING 39428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DC0 +5040 +7BC0 +5040 +7BE0 +50A0 +7EC0 +55C0 +AEA0 +A4A0 +1980 +ENDCHAR +STARTCHAR U_9A05 +ENCODING 39429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A280 +F3E0 +A680 +F3E0 +A280 +FA80 +5BE0 +AA80 +AA80 +33E0 +ENDCHAR +STARTCHAR U_9A06 +ENCODING 39430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A520 +F7E0 +A520 +F7E0 +A420 +FFA0 +5EA0 +AAA0 +ABA0 +3060 +ENDCHAR +STARTCHAR U_9A07 +ENCODING 39431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +5140 +7A20 +57E0 +7880 +53E0 +7C80 +55E0 +AD20 +A5E0 +1920 +ENDCHAR +STARTCHAR U_9A08 +ENCODING 39432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F120 +A240 +F7E0 +A240 +F240 +A240 +FFE0 +0A40 +DA40 +AA40 +1440 +ENDCHAR +STARTCHAR U_9A09 +ENCODING 39433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A220 +F3E0 +A220 +F3E0 +A280 +FAA0 +5BC0 +AA80 +ABA0 +36E0 +ENDCHAR +STARTCHAR U_9A0A +ENCODING 39434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +53E0 +7D20 +55E0 +7AA0 +53E0 +78A0 +5AA0 +ABE0 +A820 +10C0 +ENDCHAR +STARTCHAR U_9A0B +ENCODING 39435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A7E0 +F100 +A540 +F740 +A9A0 +F980 +4B40 +AD20 +A920 +3100 +ENDCHAR +STARTCHAR U_9A0C +ENCODING 39436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +A7E0 +F420 +A3C0 +F000 +A7E0 +F880 +0AC0 +DAA0 +ACA0 +1100 +ENDCHAR +STARTCHAR U_9A0D +ENCODING 39437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A520 +F7E0 +A520 +F7E0 +A100 +FFE0 +5980 +AB40 +AD20 +1120 +ENDCHAR +STARTCHAR U_9A0E +ENCODING 39438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +57E0 +7980 +5240 +7FE0 +5020 +7BA0 +5AA0 +ABA0 +A820 +10E0 +ENDCHAR +STARTCHAR U_9A0F +ENCODING 39439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A40 +5240 +7FE0 +5240 +7BC0 +5240 +7BC0 +5A40 +AFE0 +AA40 +1420 +ENDCHAR +STARTCHAR U_9A10 +ENCODING 39440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +A100 +F280 +AD60 +F3C0 +A080 +F900 +0940 +DEA0 +AA40 +11C0 +ENDCHAR +STARTCHAR U_9A11 +ENCODING 39441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A80 +56E0 +7A80 +5280 +7EE0 +5280 +7A80 +5EE0 +AA80 +AA80 +1280 +ENDCHAR +STARTCHAR U_9A12 +ENCODING 39442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +A240 +F180 +A280 +FD60 +A7C0 +FD40 +0FC0 +D940 +A9E0 +1620 +ENDCHAR +STARTCHAR U_9A13 +ENCODING 39443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +A280 +F440 +ABA0 +F100 +A7C0 +FD40 +0FC0 +D900 +AA80 +1440 +ENDCHAR +STARTCHAR U_9A14 +ENCODING 39444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +5240 +7BC0 +5240 +7BC0 +5100 +7BE0 +5EA0 +AB60 +ABA0 +1040 +ENDCHAR +STARTCHAR U_9A15 +ENCODING 39445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5280 +7FE0 +52A0 +7FE0 +5100 +7FE0 +5A40 +AA80 +A940 +1620 +ENDCHAR +STARTCHAR U_9A16 +ENCODING 39446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +53E0 +FD40 +5480 +9160 +7FC0 +4400 +7F80 +4400 +7FC0 +AAC0 +ENDCHAR +STARTCHAR U_9A17 +ENCODING 39447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +7A80 +4BC0 +7A80 +43C0 +7E80 +57E0 +7C20 +5560 +D6A0 +4C40 +ENDCHAR +STARTCHAR U_9A18 +ENCODING 39448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +A3E0 +F560 +A3A0 +FDA0 +A260 +F800 +0B40 +DCA0 +AA40 +11C0 +ENDCHAR +STARTCHAR U_9A19 +ENCODING 39449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A7E0 +F420 +A7E0 +F400 +A7E0 +FAA0 +5BE0 +AAA0 +AAA0 +1260 +ENDCHAR +STARTCHAR U_9A1A +ENCODING 39450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +A280 +F7E0 +A020 +FEA0 +AAA0 +FEA0 +5AA0 +AEA0 +AA20 +3A60 +ENDCHAR +STARTCHAR U_9A1B +ENCODING 39451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F780 +A0A0 +FEC0 +A5A0 +F540 +AFE0 +F560 +5540 +B560 +9540 +2920 +ENDCHAR +STARTCHAR U_9A1C +ENCODING 39452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +53C0 +7A40 +53C0 +7A40 +57E0 +7880 +5880 +ABE0 +A880 +17E0 +ENDCHAR +STARTCHAR U_9A1D +ENCODING 39453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +52A0 +7BE0 +54A0 +7FE0 +5280 +7BE0 +5A80 +AFE0 +AA80 +15E0 +ENDCHAR +STARTCHAR U_9A1E +ENCODING 39454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A080 +F3E0 +A080 +F7E0 +A080 +FFE0 +5A00 +AFE0 +AA20 +13E0 +ENDCHAR +STARTCHAR U_9A1F +ENCODING 39455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +A280 +F440 +ABA0 +F000 +A720 +F5A0 +17A0 +B5A0 +D7A0 +2560 +ENDCHAR +STARTCHAR U_9A20 +ENCODING 39456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +5240 +7BC0 +5240 +7BC0 +5000 +7FE0 +5A80 +AAE0 +AD80 +14E0 +ENDCHAR +STARTCHAR U_9A21 +ENCODING 39457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +A7C0 +F440 +A7C0 +F440 +A7C0 +F900 +0F40 +DB80 +AD40 +1A20 +ENDCHAR +STARTCHAR U_9A22 +ENCODING 39458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F760 +A520 +F520 +A760 +F400 +A4E0 +F720 +54A0 +B740 +94A0 +2520 +ENDCHAR +STARTCHAR U_9A23 +ENCODING 39459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7B60 +52A0 +7B60 +53E0 +7940 +5620 +79E0 +5B40 +A880 +A940 +1620 +ENDCHAR +STARTCHAR U_9A24 +ENCODING 39460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F40 +5580 +7AA0 +5440 +7BE0 +5080 +7FE0 +5880 +A940 +AA20 +1420 +ENDCHAR +STARTCHAR U_9A25 +ENCODING 39461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5140 +7FE0 +52A0 +7CC0 +5180 +7900 +5FE0 +AB80 +AD40 +1120 +ENDCHAR +STARTCHAR U_9A26 +ENCODING 39462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +52A0 +7BE0 +52A0 +7AA0 +53E0 +7880 +0AA0 +DD20 +A940 +19C0 +ENDCHAR +STARTCHAR U_9A27 +ENCODING 39463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +A440 +F740 +A540 +FFE0 +A820 +FBA0 +5AA0 +ABA0 +8AA0 +3060 +ENDCHAR +STARTCHAR U_9A28 +ENCODING 39464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D20 +52C0 +7BE0 +52A0 +7BE0 +52A0 +7BE0 +0880 +DFE0 +A880 +1080 +ENDCHAR +STARTCHAR U_9A29 +ENCODING 39465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +57E0 +7D20 +57E0 +7D20 +57E0 +7940 +59A0 +ABE0 +AD20 +11E0 +ENDCHAR +STARTCHAR U_9A2A +ENCODING 39466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7980 +52E0 +7AA0 +53E0 +7AA0 +53E0 +7880 +5BE0 +A940 +A880 +1760 +ENDCHAR +STARTCHAR U_9A2B +ENCODING 39467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9220 +7F80 +1200 +7FE0 +2480 +7F40 +A420 +3FC0 +5540 +ENDCHAR +STARTCHAR U_9A2C +ENCODING 39468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +A100 +FFE0 +A540 +FD60 +A540 +FD60 +5100 +B380 +9540 +2920 +ENDCHAR +STARTCHAR U_9A2D +ENCODING 39469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F5C0 +A500 +DFE0 +A540 +A980 +FFC0 +4400 +7F80 +4400 +7FE0 +92A0 +ENDCHAR +STARTCHAR U_9A2E +ENCODING 39470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A8A0 +FAA0 +AEA0 +F140 +A7E0 +F520 +57E0 +B520 +97E0 +2420 +ENDCHAR +STARTCHAR U_9A2F +ENCODING 39471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +A7E0 +F240 +A280 +FFE0 +A920 +F7C0 +1200 +B3C0 +9240 +34C0 +ENDCHAR +STARTCHAR U_9A30 +ENCODING 39472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E540 +AFE0 +A200 +EFE0 +A540 +AFE0 +F500 +A7C0 +A500 +A7E0 +AAA0 +ENDCHAR +STARTCHAR U_9A31 +ENCODING 39473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7840 +57A0 +7AA0 +5340 +7AA0 +53E0 +7880 +5FE0 +A880 +A940 +1620 +ENDCHAR +STARTCHAR U_9A32 +ENCODING 39474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +53E0 +7940 +53E0 +7A20 +53E0 +7A20 +5BE0 +A880 +ABE0 +1080 +ENDCHAR +STARTCHAR U_9A33 +ENCODING 39475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A280 +FBE0 +A280 +FBE0 +A280 +FBE0 +0820 +AAE0 +8A20 +30C0 +ENDCHAR +STARTCHAR U_9A34 +ENCODING 39476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +5220 +7BE0 +5220 +7FE0 +5420 +7900 +5FE0 +A940 +A880 +1760 +ENDCHAR +STARTCHAR U_9A35 +ENCODING 39477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A480 +F5E0 +A520 +F5E0 +A520 +FDE0 +5480 +ADC0 +AEA0 +11A0 +ENDCHAR +STARTCHAR U_9A36 +ENCODING 39478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A00 +53E0 +7EA0 +53E0 +78A0 +5140 +7FE0 +5AA0 +ABE0 +A920 +1640 +ENDCHAR +STARTCHAR U_9A37 +ENCODING 39479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +52A0 +7940 +5180 +7A40 +54A0 +7BE0 +5AA0 +ABE0 +A8A0 +17E0 +ENDCHAR +STARTCHAR U_9A38 +ENCODING 39480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +53E0 +7A20 +53E0 +7A00 +53E0 +7AA0 +5BE0 +AAA0 +ABE0 +14A0 +ENDCHAR +STARTCHAR U_9A39 +ENCODING 39481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +57E0 +7940 +53E0 +7AA0 +52A0 +7BE0 +5880 +ABE0 +A880 +17E0 +ENDCHAR +STARTCHAR U_9A3A +ENCODING 39482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +5140 +FBC0 +2240 +FFE0 +4400 +7F80 +4400 +7FE0 +94A0 +ENDCHAR +STARTCHAR U_9A3B +ENCODING 39483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +57E0 +7BA0 +5540 +7BA0 +53A0 +7D40 +0BA0 +5980 +AA60 +1C40 +ENDCHAR +STARTCHAR U_9A3C +ENCODING 39484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +AFE0 +FA80 +AFE0 +FAA0 +AFE0 +FA80 +0BE0 +DA80 +ABA0 +1260 +ENDCHAR +STARTCHAR U_9A3D +ENCODING 39485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5120 +7DA0 +5360 +7DA0 +5080 +7BE0 +5A20 +ABE0 +AA20 +13E0 +ENDCHAR +STARTCHAR U_9A3E +ENCODING 39486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +52A0 +7BE0 +52A0 +7BE0 +5120 +7BC0 +5A20 +AFE0 +AAC0 +15A0 +ENDCHAR +STARTCHAR U_9A3F +ENCODING 39487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +53E0 +7940 +57E0 +7A20 +53E0 +7A20 +5BE0 +A880 +ABE0 +1080 +ENDCHAR +STARTCHAR U_9A40 +ENCODING 39488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +3F80 +2080 +FFE0 +2480 +7FC0 +A420 +3FE0 +4AA0 +ENDCHAR +STARTCHAR U_9A41 +ENCODING 39489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +2140 +FC80 +4940 +FFC0 +4400 +7F80 +4400 +7FE0 +94A0 +ENDCHAR +STARTCHAR U_9A42 +ENCODING 39490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +A7C0 +F440 +AAA0 +FFE0 +A240 +F520 +5280 +B340 +9080 +2700 +ENDCHAR +STARTCHAR U_9A43 +ENCODING 39491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A280 +FFE0 +AAA0 +FFE0 +A000 +F7C0 +5000 +BFE0 +92C0 +2DA0 +ENDCHAR +STARTCHAR U_9A44 +ENCODING 39492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A7E0 +F560 +A6A0 +F5A0 +A660 +F7E0 +5340 +B6A0 +9A40 +21C0 +ENDCHAR +STARTCHAR U_9A45 +ENCODING 39493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5400 +7DC0 +5540 +7DC0 +5400 +7FE0 +5EA0 +AFE0 +AC00 +17E0 +ENDCHAR +STARTCHAR U_9A46 +ENCODING 39494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +A540 +F7C0 +A540 +F7C0 +A540 +FFE0 +5540 +BFE0 +9100 +2100 +ENDCHAR +STARTCHAR U_9A47 +ENCODING 39495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +A940 +F760 +22A0 +FFE0 +2400 +3FC0 +2400 +3FE0 +52A0 +ENDCHAR +STARTCHAR U_9A48 +ENCODING 39496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +A280 +F7E0 +A2A0 +F480 +AFE0 +FAA0 +5FE0 +AAA0 +ABA0 +3820 +ENDCHAR +STARTCHAR U_9A49 +ENCODING 39497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +A100 +F7E0 +A520 +F7C0 +A520 +F5E0 +5540 +B760 +9540 +2BE0 +ENDCHAR +STARTCHAR U_9A4A +ENCODING 39498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +A7E0 +FA80 +A7E0 +FD40 +A7E0 +FD40 +57E0 +B100 +97C0 +2100 +ENDCHAR +STARTCHAR U_9A4B +ENCODING 39499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F6A0 +A2C0 +F6A0 +A440 +F820 +A6E0 +FAA0 +0C00 +DAE0 +AA40 +16A0 +ENDCHAR +STARTCHAR U_9A4C +ENCODING 39500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +A7C0 +F140 +A7E0 +F140 +A7E0 +F9A0 +5FE0 +A920 +AFE0 +39A0 +ENDCHAR +STARTCHAR U_9A4D +ENCODING 39501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +53E0 +7880 +53E0 +7A40 +57E0 +7A40 +5FE0 +AA80 +AAA0 +1460 +ENDCHAR +STARTCHAR U_9A4E +ENCODING 39502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CA0 +52C0 +7FE0 +52C0 +7CA0 +5240 +7BE0 +5D40 +ABE0 +AA40 +1440 +ENDCHAR +STARTCHAR U_9A4F +ENCODING 39503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +A420 +F7E0 +A480 +F7E0 +A480 +FFE0 +5A40 +AFE0 +AA40 +36C0 +ENDCHAR +STARTCHAR U_9A50 +ENCODING 39504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F480 +AF80 +FAE0 +AEA0 +F0A0 +AEA0 +F2A0 +54A0 +BE40 +94A0 +2520 +ENDCHAR +STARTCHAR U_9A51 +ENCODING 39505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +A280 +FEE0 +AAA0 +FEE0 +A280 +F7E0 +1520 +B7E0 +5520 +27E0 +ENDCHAR +STARTCHAR U_9A52 +ENCODING 39506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +52A0 +7BE0 +5000 +7BE0 +52A0 +7BE0 +5AA0 +AFE0 +A880 +1080 +ENDCHAR +STARTCHAR U_9A53 +ENCODING 39507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F280 +AFE0 +F920 +ABA0 +FFE0 +A000 +FBC0 +0A40 +ABC0 +8A40 +33C0 +ENDCHAR +STARTCHAR U_9A54 +ENCODING 39508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +A280 +FFE0 +AAA0 +FFE0 +A440 +F7C0 +5440 +BFE0 +9100 +2100 +ENDCHAR +STARTCHAR U_9A55 +ENCODING 39509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +A100 +F7E0 +A240 +FFE0 +A240 +FFE0 +5820 +ABA0 +AAA0 +3BE0 +ENDCHAR +STARTCHAR U_9A56 +ENCODING 39510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +52A0 +7FE0 +5580 +7FA0 +50A0 +7FA0 +5AC0 +AF40 +AAA0 +1720 +ENDCHAR +STARTCHAR U_9A57 +ENCODING 39511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +5280 +7C40 +53A0 +7800 +57E0 +7D20 +5FE0 +AA40 +ADA0 +1120 +ENDCHAR +STARTCHAR U_9A58 +ENCODING 39512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1000 +3FC0 +2040 +7FC0 +5540 +7F40 +55C0 +7F40 +9560 +ENDCHAR +STARTCHAR U_9A59 +ENCODING 39513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +AFE0 +FBA0 +A820 +FFE0 +A440 +F7C0 +5440 +B7C0 +9000 +2FE0 +ENDCHAR +STARTCHAR U_9A5A +ENCODING 39514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +53E0 +FD40 +56A0 +7FE0 +2400 +3FC0 +2400 +3FE0 +4A20 +9540 +ENDCHAR +STARTCHAR U_9A5B +ENCODING 39515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +AAA0 +FFE0 +A100 +F7E0 +A100 +FFE0 +4A80 +AFE0 +A900 +1100 +ENDCHAR +STARTCHAR U_9A5C +ENCODING 39516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D40 +5360 +7FE0 +5140 +7FE0 +5080 +7BE0 +0880 +DFE0 +AAC0 +14A0 +ENDCHAR +STARTCHAR U_9A5D +ENCODING 39517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +57C0 +7900 +57E0 +7A20 +57C0 +7A40 +0FE0 +DB80 +AD40 +1120 +ENDCHAR +STARTCHAR U_9A5E +ENCODING 39518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +57E0 +7C20 +53E0 +7AA0 +53C0 +7E40 +5BC0 +AA40 +ABC0 +1660 +ENDCHAR +STARTCHAR U_9A5F +ENCODING 39519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A520 +F740 +A5A0 +F740 +A1A0 +F340 +5580 +BB40 +9520 +2920 +ENDCHAR +STARTCHAR U_9A60 +ENCODING 39520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +AFE0 +F240 +A3C0 +F440 +ADE0 +F540 +1DE0 +B000 +9540 +3AA0 +ENDCHAR +STARTCHAR U_9A61 +ENCODING 39521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +7E00 +2BC0 +FC40 +57C0 +6EA0 +55E0 +3F80 +2400 +3FE0 +D2A0 +ENDCHAR +STARTCHAR U_9A62 +ENCODING 39522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F1C0 +A100 +F7E0 +A540 +F7E0 +A540 +F7C0 +5540 +B7E0 +9AA0 +27E0 +ENDCHAR +STARTCHAR U_9A63 +ENCODING 39523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F540 +A7C0 +F200 +AFE0 +F440 +AFE0 +FA80 +0BC0 +DA80 +ABE0 +1520 +ENDCHAR +STARTCHAR U_9A64 +ENCODING 39524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +57E0 +7DA0 +57E0 +7940 +53E0 +7940 +5BE0 +AEA0 +AA40 +1320 +ENDCHAR +STARTCHAR U_9A65 +ENCODING 39525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F2A0 +AEC0 +F280 +AFE0 +F540 +A7C0 +F540 +5FE0 +B280 +9FE0 +2440 +ENDCHAR +STARTCHAR U_9A66 +ENCODING 39526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +A100 +FFE0 +A920 +F2E0 +AFA0 +F2E0 +53A0 +B6E0 +9AA0 +22E0 +ENDCHAR +STARTCHAR U_9A67 +ENCODING 39527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +AF80 +FAE0 +AEA0 +F5E0 +AEA0 +FBE0 +5EA0 +B5E0 +9EA0 +2440 +ENDCHAR +STARTCHAR U_9A68 +ENCODING 39528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F520 +A7E0 +F280 +A7E0 +FC80 +A7E0 +FC80 +5FE0 +ABA0 +AEE0 +1BA0 +ENDCHAR +STARTCHAR U_9A69 +ENCODING 39529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5240 +7FE0 +55A0 +7FE0 +5280 +7BE0 +5E80 +ABE0 +AA80 +13E0 +ENDCHAR +STARTCHAR U_9A6A +ENCODING 39530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +A000 +FEE0 +AAA0 +FFE0 +AAA0 +FFE0 +5AA0 +ABC0 +AAA0 +13E0 +ENDCHAR +STARTCHAR U_9A6B +ENCODING 39531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2400 +3F80 +2400 +3FC0 +5540 +FBE0 +A280 +FBE0 +5520 +AAE0 +ENDCHAR +STARTCHAR U_9A6C +ENCODING 39532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +0080 +1080 +1100 +2100 +3FE0 +0020 +0020 +FF20 +0020 +00C0 +ENDCHAR +STARTCHAR U_9A6D +ENCODING 39533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +1220 +5220 +5220 +5240 +7940 +0940 +E880 +0980 +0A40 +3420 +ENDCHAR +STARTCHAR U_9A6E +ENCODING 39534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1100 +5100 +57E0 +5100 +7900 +0900 +E900 +0A80 +0A40 +3420 +ENDCHAR +STARTCHAR U_9A6F +ENCODING 39535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F220 +12A0 +52A0 +52A0 +52A0 +7AA0 +0AA0 +EAA0 +0AA0 +0A20 +3420 +ENDCHAR +STARTCHAR U_9A70 +ENCODING 39536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +12A0 +52E0 +53A0 +56A0 +7AA0 +0AC0 +EA80 +0A20 +0A20 +31E0 +ENDCHAR +STARTCHAR U_9A71 +ENCODING 39537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3E0 +1200 +5220 +5320 +52A0 +7A40 +0A40 +EAA0 +0B20 +0A00 +33E0 +ENDCHAR +STARTCHAR U_9A72 +ENCODING 39538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3E0 +1220 +5220 +5220 +5220 +7BE0 +0A20 +EA20 +0A20 +0BE0 +3220 +ENDCHAR +STARTCHAR U_9A73 +ENCODING 39539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +1280 +5100 +5280 +5440 +7820 +0C40 +EA80 +0980 +0A40 +3420 +ENDCHAR +STARTCHAR U_9A74 +ENCODING 39540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1080 +53E0 +5220 +5220 +7BE0 +0A00 +EA00 +0A00 +0C00 +3000 +ENDCHAR +STARTCHAR U_9A75 +ENCODING 39541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +1240 +5240 +53C0 +5240 +7A40 +0A40 +EBC0 +0A40 +0A40 +37E0 +ENDCHAR +STARTCHAR U_9A76 +ENCODING 39542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +1080 +57E0 +54A0 +54A0 +7FE0 +08A0 +EA80 +0900 +0A80 +3460 +ENDCHAR +STARTCHAR U_9A77 +ENCODING 39543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E000 +27E0 +A520 +A520 +A520 +F520 +16E0 +F420 +1420 +17E0 +6020 +ENDCHAR +STARTCHAR U_9A78 +ENCODING 39544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +1240 +5240 +57E0 +5240 +7B40 +0AC0 +EA40 +0A40 +0A40 +32C0 +ENDCHAR +STARTCHAR U_9A79 +ENCODING 39545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +1200 +53E0 +5420 +53A0 +7AA0 +0AA0 +EBA0 +0AA0 +0820 +30C0 +ENDCHAR +STARTCHAR U_9A7A +ENCODING 39546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +11E0 +5240 +5480 +57E0 +7820 +0820 +EBE0 +0820 +0BE0 +3020 +ENDCHAR +STARTCHAR U_9A7B +ENCODING 39547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1080 +57E0 +5080 +5080 +7880 +0BE0 +E880 +0880 +0880 +37E0 +ENDCHAR +STARTCHAR U_9A7C +ENCODING 39548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +17E0 +5420 +5000 +5220 +7A40 +0B80 +EA00 +0A20 +0A20 +31E0 +ENDCHAR +STARTCHAR U_9A7D +ENCODING 39549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FE40 +5180 +3140 +4A20 +FF80 +1100 +3FC0 +0040 +7E40 +0080 +ENDCHAR +STARTCHAR U_9A7E +ENCODING 39550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FDE0 +2520 +5DE0 +8000 +7F80 +1080 +1FE0 +0020 +FF20 +00C0 +ENDCHAR +STARTCHAR U_9A7F +ENCODING 39551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +1280 +5100 +5280 +5560 +7900 +0BC0 +2900 +CFE0 +0900 +3100 +ENDCHAR +STARTCHAR U_9A80 +ENCODING 39552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1140 +5220 +57E0 +5000 +7BE0 +0A20 +EA20 +0A20 +0BE0 +3220 +ENDCHAR +STARTCHAR U_9A81 +ENCODING 39553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +17E0 +5240 +51A0 +5660 +7820 +0FE0 +EA80 +0AA0 +0CA0 +3060 +ENDCHAR +STARTCHAR U_9A82 +ENCODING 39554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +0000 +7F80 +1080 +1FE0 +0020 +FFA0 +0020 +00C0 +ENDCHAR +STARTCHAR U_9A83 +ENCODING 39555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3E0 +52A0 +52A0 +53E0 +52A0 +7AA0 +0AA0 +2B60 +CA20 +2BE0 +1220 +ENDCHAR +STARTCHAR U_9A84 +ENCODING 39556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F0C0 +1700 +5100 +57E0 +5240 +7C20 +0A40 +EA40 +0A40 +0A40 +3440 +ENDCHAR +STARTCHAR U_9A85 +ENCODING 39557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F180 +12A0 +56C0 +53A0 +52A0 +7A60 +0880 +EFE0 +0880 +0880 +3080 +ENDCHAR +STARTCHAR U_9A86 +ENCODING 39558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +13C0 +5640 +5180 +5240 +7C20 +0BC0 +EA40 +0A40 +0BC0 +3240 +ENDCHAR +STARTCHAR U_9A87 +ENCODING 39559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +17E0 +5100 +5240 +5780 +78A0 +0920 +EA40 +0C80 +0940 +3220 +ENDCHAR +STARTCHAR U_9A88 +ENCODING 39560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F220 +1140 +57E0 +5140 +5140 +7FE0 +0940 +E940 +0940 +0A40 +3440 +ENDCHAR +STARTCHAR U_9A89 +ENCODING 39561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +1080 +1FC0 +0040 +FE80 +73C0 +5240 +7BE0 +0820 +EBA0 +1860 +ENDCHAR +STARTCHAR U_9A8A +ENCODING 39562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +2000 +AEE0 +AAA0 +AAA0 +EAA0 +2EE0 +6AA0 +AAA0 +2AA0 +6AA0 +ENDCHAR +STARTCHAR U_9A8B +ENCODING 39563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +13E0 +52A0 +53E0 +52A0 +7FE0 +0900 +EBE0 +0820 +0920 +30C0 +ENDCHAR +STARTCHAR U_9A8C +ENCODING 39564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1100 +5280 +5C60 +5380 +7800 +0A40 +3D40 +CA80 +0900 +37E0 +ENDCHAR +STARTCHAR U_9A8D +ENCODING 39565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1FE0 +5440 +5280 +57E0 +7900 +0900 +EFC0 +0900 +0900 +3100 +ENDCHAR +STARTCHAR U_9A8E +ENCODING 39566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +5040 +53C0 +5040 +57E0 +7C20 +0BC0 +2A40 +C980 +2980 +1660 +ENDCHAR +STARTCHAR U_9A8F +ENCODING 39567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1240 +57E0 +5240 +5420 +7900 +0BE0 +ED40 +0880 +0940 +3620 +ENDCHAR +STARTCHAR U_9A90 +ENCODING 39568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +17E0 +5240 +53C0 +5240 +7BC0 +0A40 +EFE0 +0A80 +0C40 +3020 +ENDCHAR +STARTCHAR U_9A91 +ENCODING 39569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +17E0 +5140 +5220 +57E0 +7820 +0BA0 +EAA0 +0BA0 +0820 +3060 +ENDCHAR +STARTCHAR U_9A92 +ENCODING 39570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +1540 +57C0 +5540 +57C0 +7900 +0FE0 +E900 +0B80 +0D40 +3120 +ENDCHAR +STARTCHAR U_9A93 +ENCODING 39571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F300 +1280 +53E0 +5680 +53C0 +7A80 +0A80 +EBC0 +0A80 +0A80 +33E0 +ENDCHAR +STARTCHAR U_9A94 +ENCODING 39572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +1FE0 +5820 +57C0 +5000 +7FC0 +0900 +E940 +0D20 +0920 +3300 +ENDCHAR +STARTCHAR U_9A95 +ENCODING 39573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E100 +A7C0 +A140 +AFE0 +A140 +F7C0 +1540 +57C0 +9540 +5540 +2940 +ENDCHAR +STARTCHAR U_9A96 +ENCODING 39574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F240 +17A0 +5100 +57E0 +5140 +7AA0 +0D40 +EA80 +0920 +0840 +3180 +ENDCHAR +STARTCHAR U_9A97 +ENCODING 39575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +17E0 +5420 +57E0 +5400 +7FE0 +0AA0 +EFE0 +0AA0 +0AA0 +3060 +ENDCHAR +STARTCHAR U_9A98 +ENCODING 39576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +75C0 +5500 +6FE0 +5540 +7980 +7F80 +2100 +3FC0 +0040 +FF40 +0180 +ENDCHAR +STARTCHAR U_9A99 +ENCODING 39577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF40 +15A0 +5240 +5420 +5BC0 +7900 +0FE0 +2900 +CA80 +2C40 +1020 +ENDCHAR +STARTCHAR U_9A9A +ENCODING 39578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +1540 +5280 +5180 +5760 +7900 +0FE0 +E920 +0FE0 +0940 +37E0 +ENDCHAR +STARTCHAR U_9A9B +ENCODING 39579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +57E0 +FA40 +6980 +A660 +7F80 +1100 +3FC0 +0040 +FE40 +0180 +ENDCHAR +STARTCHAR U_9A9C +ENCODING 39580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7DE0 +1340 +FC80 +4940 +BFA0 +1100 +3FE0 +0020 +7F20 +00C0 +ENDCHAR +STARTCHAR U_9A9D +ENCODING 39581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E200 +2DE0 +A8A0 +AAA0 +ACA0 +F140 +17E0 +3520 +D7E0 +1520 +67E0 +ENDCHAR +STARTCHAR U_9A9E +ENCODING 39582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7FC0 +1100 +FFE0 +3080 +DFE0 +0040 +7E40 +0180 +ENDCHAR +STARTCHAR U_9A9F +ENCODING 39583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E080 +27E0 +A420 +A7E0 +A400 +F7E0 +14A0 +F6E0 +15A0 +1AE0 +61A0 +ENDCHAR +STARTCHAR U_9AA0 +ENCODING 39584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EFE0 +2280 +AFE0 +AAA0 +AFE0 +F000 +17C0 +F000 +1FE0 +1540 +6B20 +ENDCHAR +STARTCHAR U_9AA1 +ENCODING 39585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +14A0 +57E0 +54A0 +57E0 +7900 +0FC0 +EA20 +0FE0 +0940 +3320 +ENDCHAR +STARTCHAR U_9AA2 +ENCODING 39586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +17E0 +5520 +56A0 +5560 +7E20 +0FE0 +EB40 +0EA0 +0A40 +31C0 +ENDCHAR +STARTCHAR U_9AA3 +ENCODING 39587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +1420 +57E0 +5480 +57E0 +7C80 +0FE0 +EA40 +0FE0 +0A40 +36C0 +ENDCHAR +STARTCHAR U_9AA4 +ENCODING 39588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +1520 +57A0 +5540 +57A0 +79C0 +0B20 +ED40 +0B80 +0D40 +3120 +ENDCHAR +STARTCHAR U_9AA5 +ENCODING 39589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F760 +1140 +5760 +5000 +53E0 +7AA0 +0BE0 +E940 +0FE0 +0940 +3220 +ENDCHAR +STARTCHAR U_9AA6 +ENCODING 39590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +1100 +5FE0 +5D60 +5380 +7D40 +0AE0 +2FA0 +CAE0 +57A0 +2AE0 +ENDCHAR +STARTCHAR U_9AA7 +ENCODING 39591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F080 +17E0 +55A0 +57E0 +5140 +7FE0 +0940 +EFE0 +0AA0 +0E40 +3320 +ENDCHAR +STARTCHAR U_9AA8 +ENCODING 39592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3C80 +2480 +FFE0 +A0A0 +BFA0 +2080 +3F80 +2080 +2380 +ENDCHAR +STARTCHAR U_9AA9 +ENCODING 39593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +6900 +5900 +FFC0 +8540 +7940 +4940 +7940 +4940 +7A60 +4C60 +ENDCHAR +STARTCHAR U_9AAA +ENCODING 39594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7B80 +6A80 +5A80 +FE80 +8680 +7B80 +4A80 +7A80 +4AA0 +7CA0 +48E0 +ENDCHAR +STARTCHAR U_9AAB +ENCODING 39595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +6BC0 +FD40 +8540 +7B40 +49C0 +7940 +4940 +7A20 +4C20 +ENDCHAR +STARTCHAR U_9AAC +ENCODING 39596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7800 +6BC0 +5880 +FC80 +87E0 +7880 +4880 +7880 +4880 +7A80 +4900 +ENDCHAR +STARTCHAR U_9AAD +ENCODING 39597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4880 +6880 +FC80 +87E0 +7880 +4880 +7880 +4880 +7880 +4880 +ENDCHAR +STARTCHAR U_9AAE +ENCODING 39598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +6980 +5940 +FDE0 +8700 +7900 +4900 +7880 +48A0 +7860 +4820 +ENDCHAR +STARTCHAR U_9AAF +ENCODING 39599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4880 +6BE0 +FC00 +85C0 +7940 +4940 +7940 +4940 +7A40 +4C60 +ENDCHAR +STARTCHAR U_9AB0 +ENCODING 39600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79C0 +4940 +6940 +FD60 +8600 +79C0 +4940 +7940 +4880 +7940 +4A20 +ENDCHAR +STARTCHAR U_9AB1 +ENCODING 39601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4940 +6A20 +FC00 +8540 +7940 +4940 +7940 +4940 +7A40 +4840 +ENDCHAR +STARTCHAR U_9AB2 +ENCODING 39602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +6900 +5BE0 +FC20 +87A0 +7AA0 +4BA0 +7A40 +4A00 +7A20 +49E0 +ENDCHAR +STARTCHAR U_9AB3 +ENCODING 39603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +6AA0 +FEA0 +8680 +7BE0 +4A40 +7B40 +4A80 +7D40 +4A20 +ENDCHAR +STARTCHAR U_9AB4 +ENCODING 39604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +4940 +6940 +FD60 +85C0 +7D40 +4D40 +7D40 +4D40 +7FC0 +4860 +ENDCHAR +STARTCHAR U_9AB5 +ENCODING 39605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +6880 +5BE0 +FC80 +81C0 +79C0 +4AA0 +7FE0 +4880 +7880 +4880 +ENDCHAR +STARTCHAR U_9AB6 +ENCODING 39606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +4B80 +6A80 +FE80 +87E0 +7A80 +4A80 +7A80 +4AA0 +7B60 +4AA0 +ENDCHAR +STARTCHAR U_9AB7 +ENCODING 39607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4880 +6BE0 +FC80 +8480 +7BE0 +4A20 +7A20 +4A20 +7BE0 +4A20 +ENDCHAR +STARTCHAR U_9AB8 +ENCODING 39608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +6900 +FD40 +8780 +7920 +4A40 +7C80 +4940 +7A20 +4820 +ENDCHAR +STARTCHAR U_9AB9 +ENCODING 39609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +6940 +FE20 +8540 +7940 +4940 +7940 +4880 +7940 +4A20 +ENDCHAR +STARTCHAR U_9ABA +ENCODING 39610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +4B80 +6A00 +FFE0 +8600 +7AE0 +4AA0 +7AA0 +4AA0 +7AE0 +4CA0 +ENDCHAR +STARTCHAR U_9ABB +ENCODING 39611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +6940 +FE20 +85C0 +7800 +4FE0 +7900 +4BE0 +7820 +49C0 +ENDCHAR +STARTCHAR U_9ABC +ENCODING 39612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +49C0 +6B40 +FC80 +8540 +7A20 +4FC0 +7A40 +4A40 +7BC0 +4A40 +ENDCHAR +STARTCHAR U_9ABD +ENCODING 39613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +6B20 +5940 +FE80 +8500 +7900 +4FE0 +7940 +4A80 +7940 +4E20 +ENDCHAR +STARTCHAR U_9ABE +ENCODING 39614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4880 +6BE0 +FEA0 +87E0 +7AA0 +4BE0 +7A80 +4900 +7A80 +4C60 +ENDCHAR +STARTCHAR U_9ABF +ENCODING 39615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A20 +4940 +6BE0 +FD40 +8540 +7BE0 +4940 +7940 +4940 +7A40 +4C40 +ENDCHAR +STARTCHAR U_9AC0 +ENCODING 39616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +6AA0 +FFE0 +86A0 +7BE0 +4AA0 +7940 +4FE0 +7840 +4840 +ENDCHAR +STARTCHAR U_9AC1 +ENCODING 39617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4AA0 +6BE0 +FEA0 +87E0 +7880 +4BE0 +7880 +49C0 +7AA0 +4CA0 +ENDCHAR +STARTCHAR U_9AC2 +ENCODING 39618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +6B20 +FDE0 +8640 +7980 +4A60 +7FC0 +4A40 +7BC0 +4A40 +ENDCHAR +STARTCHAR U_9AC3 +ENCODING 39619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +6AA0 +5BE0 +FEA0 +87E0 +7880 +4BE0 +7AA0 +4BE0 +7A20 +4A60 +ENDCHAR +STARTCHAR U_9AC4 +ENCODING 39620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +6BE0 +5900 +FFC0 +8540 +71C0 +5D40 +75C0 +5540 +7600 +59E0 +ENDCHAR +STARTCHAR U_9AC5 +ENCODING 39621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7AA0 +49C0 +6BE0 +FC80 +85C0 +7AA0 +4FE0 +7940 +4940 +7880 +4B60 +ENDCHAR +STARTCHAR U_9AC6 +ENCODING 39622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78A0 +4FE0 +6AA0 +FFE0 +86A0 +7BE0 +4AA0 +7FE0 +4A40 +7940 +4880 +ENDCHAR +STARTCHAR U_9AC7 +ENCODING 39623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4FE0 +6940 +FDC0 +8400 +77E0 +5420 +75A0 +55A0 +7420 +5460 +ENDCHAR +STARTCHAR U_9AC8 +ENCODING 39624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +6BE0 +5A40 +FD80 +87E0 +7CA0 +4FC0 +7900 +49C0 +7A40 +4C80 +ENDCHAR +STARTCHAR U_9AC9 +ENCODING 39625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +6BE0 +5D20 +FA80 +87E0 +7A80 +4BC0 +7A80 +4BC0 +7A80 +4BE0 +ENDCHAR +STARTCHAR U_9ACA +ENCODING 39626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A20 +4940 +6BE0 +FC80 +85E0 +7880 +4FE0 +7A00 +4FC0 +7880 +4FE0 +ENDCHAR +STARTCHAR U_9ACB +ENCODING 39627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +6AA0 +FFE0 +8540 +7BE0 +4A20 +7AA0 +4A80 +79A0 +4AE0 +ENDCHAR +STARTCHAR U_9ACC +ENCODING 39628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4FE0 +6820 +FFC0 +8600 +7BE0 +4A40 +7FE0 +4800 +7A40 +4C20 +ENDCHAR +STARTCHAR U_9ACD +ENCODING 39629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4FE0 +6A40 +FFE0 +8640 +7A40 +4F60 +7AE0 +4A40 +7A40 +4A40 +ENDCHAR +STARTCHAR U_9ACE +ENCODING 39630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +6DA0 +5B60 +FDA0 +8580 +7A40 +4D20 +7A80 +4940 +7880 +4B00 +ENDCHAR +STARTCHAR U_9ACF +ENCODING 39631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +6AA0 +FFE0 +86A0 +7BE0 +4AA0 +7FE0 +4940 +78C0 +4B20 +ENDCHAR +STARTCHAR U_9AD0 +ENCODING 39632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +6880 +FFE0 +8640 +7BE0 +4A40 +7FE0 +4A80 +7AA0 +4C60 +ENDCHAR +STARTCHAR U_9AD1 +ENCODING 39633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4AA0 +6BE0 +FE00 +87E0 +78A0 +4BE0 +7AA0 +4BE0 +78A0 +4FC0 +ENDCHAR +STARTCHAR U_9AD2 +ENCODING 39634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +4FE0 +6940 +FBE0 +86C0 +7D60 +4A60 +7940 +4FE0 +7940 +4A40 +ENDCHAR +STARTCHAR U_9AD3 +ENCODING 39635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +6A40 +FDE0 +80A0 +7EE0 +4AA0 +7AE0 +4AA0 +7AA0 +4DE0 +ENDCHAR +STARTCHAR U_9AD4 +ENCODING 39636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7940 +6BE0 +5AA0 +FFE0 +86A0 +7FE0 +4A40 +7BC0 +4A40 +7980 +4FE0 +ENDCHAR +STARTCHAR U_9AD5 +ENCODING 39637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +4BE0 +6A20 +FFE0 +82A0 +7FC0 +4A40 +7BC0 +4A40 +7BC0 +4E60 +ENDCHAR +STARTCHAR U_9AD6 +ENCODING 39638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4EA0 +6BC0 +FE80 +87E0 +7A40 +4BC0 +7A40 +4BC0 +7AA0 +4CE0 +ENDCHAR +STARTCHAR U_9AD7 +ENCODING 39639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +79C0 +6900 +5FE0 +FD20 +87E0 +7D20 +4EC0 +7D40 +4FE0 +7AA0 +4FE0 +ENDCHAR +STARTCHAR U_9AD8 +ENCODING 39640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0000 +1F00 +1100 +7FC0 +4040 +5F40 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_9AD9 +ENCODING 39641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +1F00 +1100 +7FC0 +4040 +5F40 +5140 +5F40 +40C0 +ENDCHAR +STARTCHAR U_9ADA +ENCODING 39642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +F900 +57E0 +5000 +FB80 +8A80 +EA80 +AA80 +EAA0 +8AA0 +9C60 +ENDCHAR +STARTCHAR U_9ADB +ENCODING 39643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC40 +0440 +77C0 +5500 +FD00 +8FC0 +ED40 +A940 +EA40 +9C60 +ENDCHAR +STARTCHAR U_9ADC +ENCODING 39644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA20 +53E0 +7220 +03E0 +F940 +8E40 +EA40 +AFE0 +EA40 +9C40 +ENDCHAR +STARTCHAR U_9ADD +ENCODING 39645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FAE0 +0740 +7340 +54A0 +FFE0 +8920 +EFC0 +A940 +EA40 +9CC0 +ENDCHAR +STARTCHAR U_9ADE +ENCODING 39646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +03C0 +77E0 +55A0 +FFE0 +8900 +EFE0 +AB80 +ED40 +9920 +ENDCHAR +STARTCHAR U_9ADF +ENCODING 39647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7E40 +4080 +7D00 +4020 +7C40 +4080 +FF00 +2820 +4840 +F480 +0300 +ENDCHAR +STARTCHAR U_9AE0 +ENCODING 39648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +5300 +60C0 +FB00 +48C0 +FF00 +1000 +7F00 +1100 +2120 +C0E0 +ENDCHAR +STARTCHAR U_9AE1 +ENCODING 39649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +4980 +FFE0 +0900 +0920 +3120 +C0E0 +ENDCHAR +STARTCHAR U_9AE2 +ENCODING 39650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +5300 +68C0 +FF00 +48C0 +FF00 +25C0 +FE40 +24C0 +2420 +1FE0 +ENDCHAR +STARTCHAR U_9AE3 +ENCODING 39651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2980 +FFE0 +0800 +0FC0 +3040 +C380 +ENDCHAR +STARTCHAR U_9AE4 +ENCODING 39652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +5300 +68C0 +FF00 +48C0 +FF00 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_9AE5 +ENCODING 39653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +78C0 +5300 +68C0 +FB00 +48C0 +7F80 +2080 +7FC0 +2080 +7FC0 +2080 +ENDCHAR +STARTCHAR U_9AE6 +ENCODING 39654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2B80 +7C00 +07C0 +7C20 +0420 +03E0 +ENDCHAR +STARTCHAR U_9AE7 +ENCODING 39655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2980 +FFE0 +8A20 +0A00 +1220 +E1E0 +ENDCHAR +STARTCHAR U_9AE8 +ENCODING 39656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +5300 +68C0 +FB00 +4CC0 +FB00 +0000 +7FC0 +1100 +2120 +40E0 +ENDCHAR +STARTCHAR U_9AE9 +ENCODING 39657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +78C0 +5300 +68C0 +FB00 +48C0 +FFE0 +0400 +27C0 +2440 +3FC0 +0040 +ENDCHAR +STARTCHAR U_9AEA +ENCODING 39658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +5300 +68C0 +FF00 +48C0 +FFE0 +0800 +1F80 +2900 +C600 +39C0 +ENDCHAR +STARTCHAR U_9AEB +ENCODING 39659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7CC0 +4300 +78C0 +4300 +FCC0 +2900 +FF80 +2100 +FF80 +2080 +3F80 +ENDCHAR +STARTCHAR U_9AEC +ENCODING 39660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2980 +4400 +FFE0 +1500 +2480 +FFE0 +ENDCHAR +STARTCHAR U_9AED +ENCODING 39661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +4980 +F240 +5E80 +5320 +5E20 +E1E0 +ENDCHAR +STARTCHAR U_9AEE +ENCODING 39662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +4A80 +FFE0 +1000 +2F80 +4500 +BAE0 +ENDCHAR +STARTCHAR U_9AEF +ENCODING 39663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4980 +5060 +FD80 +4860 +3F80 +2480 +3F80 +2480 +FFE0 +2080 +ENDCHAR +STARTCHAR U_9AF0 +ENCODING 39664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +5340 +6880 +FB40 +5080 +FB00 +2500 +FFE0 +2500 +2700 +3FC0 +ENDCHAR +STARTCHAR U_9AF1 +ENCODING 39665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +78C0 +4300 +FCC0 +2900 +7FC0 +A240 +3EA0 +2020 +1FE0 +ENDCHAR +STARTCHAR U_9AF2 +ENCODING 39666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3C60 +2180 +FC60 +29A0 +4440 +3FE0 +2220 +3FC0 +2480 +2300 +5CE0 +ENDCHAR +STARTCHAR U_9AF3 +ENCODING 39667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2980 +7FC0 +0500 +FFE0 +1240 +E600 +ENDCHAR +STARTCHAR U_9AF4 +ENCODING 39668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +5340 +6880 +FB40 +4A80 +7FC0 +0A40 +7FE0 +0A20 +1260 +2200 +ENDCHAR +STARTCHAR U_9AF5 +ENCODING 39669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +5180 +6820 +FDC0 +2800 +FFE0 +0400 +7FC0 +4A40 +4A40 +4AC0 +ENDCHAR +STARTCHAR U_9AF6 +ENCODING 39670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2980 +FFE0 +1100 +1F00 +1100 +FFE0 +ENDCHAR +STARTCHAR U_9AF7 +ENCODING 39671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2980 +7FC0 +4A40 +7FC0 +4A40 +7FC0 +ENDCHAR +STARTCHAR U_9AF8 +ENCODING 39672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +5180 +6840 +FDA0 +4840 +FD80 +1100 +7FC0 +1100 +FFE0 +2080 +ENDCHAR +STARTCHAR U_9AF9 +ENCODING 39673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2980 +7900 +6FE0 +A380 +2540 +2920 +ENDCHAR +STARTCHAR U_9AFA +ENCODING 39674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +4980 +FFE0 +0400 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_9AFB +ENCODING 39675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +4580 +FFE0 +0400 +7FC0 +2080 +3F80 +ENDCHAR +STARTCHAR U_9AFC +ENCODING 39676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +FC60 +2980 +4660 +3D00 +E4E0 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_9AFD +ENCODING 39677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +4980 +FC80 +5540 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_9AFE +ENCODING 39678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2980 +7FC0 +4040 +7FC0 +4040 +41C0 +ENDCHAR +STARTCHAR U_9AFF +ENCODING 39679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +5180 +6840 +FDA0 +4840 +F980 +2540 +8920 +2160 +C180 +4E00 +ENDCHAR +STARTCHAR U_9B00 +ENCODING 39680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +5180 +FC40 +4980 +FFC0 +0440 +7FC0 +4400 +7FE0 +14A0 +6440 +ENDCHAR +STARTCHAR U_9B01 +ENCODING 39681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2980 +7C40 +1140 +FF40 +5540 +92C0 +ENDCHAR +STARTCHAR U_9B02 +ENCODING 39682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7840 +51A0 +6840 +FDA0 +4840 +FF80 +1000 +1F80 +1100 +FFE0 +2080 +ENDCHAR +STARTCHAR U_9B03 +ENCODING 39683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2980 +7FE0 +4020 +3FC0 +2480 +CC60 +ENDCHAR +STARTCHAR U_9B04 +ENCODING 39684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FFE0 +4080 +FF80 +1080 +7FC0 +1240 +6CC0 +ENDCHAR +STARTCHAR U_9B05 +ENCODING 39685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FFE0 +4A40 +7BC0 +4A40 +7BC0 +4A40 +9CC0 +ENDCHAR +STARTCHAR U_9B06 +ENCODING 39686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +4980 +FA80 +2440 +F920 +7240 +ABC0 +ENDCHAR +STARTCHAR U_9B07 +ENCODING 39687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +51A0 +6840 +FDA0 +4840 +FF80 +1100 +3F80 +44E0 +3F80 +0400 +ENDCHAR +STARTCHAR U_9B08 +ENCODING 39688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +4980 +7FC0 +1000 +FFE0 +52C0 +9FA0 +ENDCHAR +STARTCHAR U_9B09 +ENCODING 39689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +5380 +6840 +FF80 +4840 +FF80 +4A40 +7FC0 +5140 +AE20 +3180 +ENDCHAR +STARTCHAR U_9B0A +ENCODING 39690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +FC60 +2980 +4460 +FF80 +1100 +FFE0 +5F40 +9120 +1F00 +ENDCHAR +STARTCHAR U_9B0B +ENCODING 39691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +FC60 +29A0 +4440 +FFE0 +4440 +7D40 +4540 +7D40 +4CC0 +ENDCHAR +STARTCHAR U_9B0C +ENCODING 39692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4980 +F460 +3FC0 +4400 +BFE0 +9040 +1FC0 +10C0 +ENDCHAR +STARTCHAR U_9B0D +ENCODING 39693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +41A0 +FC40 +4BE0 +FE20 +13E0 +7A20 +4BE0 +7A60 +ENDCHAR +STARTCHAR U_9B0E +ENCODING 39694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2980 +FE20 +54A0 +7CA0 +3820 +D6E0 +ENDCHAR +STARTCHAR U_9B0F +ENCODING 39695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +4980 +72A0 +FAC0 +2080 +7140 +AE20 +ENDCHAR +STARTCHAR U_9B10 +ENCODING 39696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4180 +FC60 +2980 +FFE0 +2420 +7FE0 +A080 +3F80 +ENDCHAR +STARTCHAR U_9B11 +ENCODING 39697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +C980 +3FC0 +0A80 +FFE0 +0A80 +7F80 +2A80 +CA60 +ENDCHAR +STARTCHAR U_9B12 +ENCODING 39698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +FC60 +2980 +4460 +FFC0 +2100 +3F00 +2100 +FFE0 +6180 +ENDCHAR +STARTCHAR U_9B13 +ENCODING 39699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +4180 +7860 +4980 +FC60 +4580 +FFE0 +A120 +FFE0 +1100 +60C0 +ENDCHAR +STARTCHAR U_9B14 +ENCODING 39700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +5340 +6880 +FB40 +4480 +2FC0 +7380 +2D60 +27C0 +3100 +4FE0 +ENDCHAR +STARTCHAR U_9B15 +ENCODING 39701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +FCE0 +4B00 +FFE0 +0A00 +3F80 +2080 +FFE0 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_9B16 +ENCODING 39702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +FCE0 +4B00 +7F80 +2940 +7FE0 +1500 +6AE0 +0500 +7E00 +ENDCHAR +STARTCHAR U_9B17 +ENCODING 39703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +FCC0 +2B20 +4840 +FFE0 +1100 +7FC0 +5540 +6EC0 +45C0 +ENDCHAR +STARTCHAR U_9B18 +ENCODING 39704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +FCE0 +2B00 +7F80 +2080 +7FC0 +5240 +3F80 +0900 +76E0 +ENDCHAR +STARTCHAR U_9B19 +ENCODING 39705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +FCE0 +2B00 +7FC0 +5540 +7FC0 +2080 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_9B1A +ENCODING 39706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +FCC0 +2B20 +4840 +7FE0 +2440 +57C0 +2440 +17C0 +EC60 +ENDCHAR +STARTCHAR U_9B1B +ENCODING 39707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C40 +5580 +6840 +FDA0 +4840 +FF80 +2A80 +3F80 +3680 +2DA0 +3760 +ENDCHAR +STARTCHAR U_9B1C +ENCODING 39708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C60 +5180 +FC60 +4980 +FFE0 +AAA0 +FFE0 +9520 +9B20 +95A0 +A340 +ENDCHAR +STARTCHAR U_9B1D +ENCODING 39709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7880 +5340 +FCA0 +4B40 +FBE0 +AAA0 +FFE0 +9920 +9520 +9FA0 +8040 +ENDCHAR +STARTCHAR U_9B1E +ENCODING 39710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +FCC0 +4B20 +7FC0 +4A40 +7FE0 +4000 +7FE0 +5140 +98E0 +ENDCHAR +STARTCHAR U_9B1F +ENCODING 39711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +FCC0 +2B20 +7FC0 +4A40 +FFE0 +2080 +3F80 +E280 +39E0 +ENDCHAR +STARTCHAR U_9B20 +ENCODING 39712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +FCC0 +2B20 +7CC0 +1B00 +FFE0 +5540 +7FC0 +2080 +3F80 +ENDCHAR +STARTCHAR U_9B21 +ENCODING 39713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7860 +5380 +FC60 +4B80 +FA00 +FFE0 +AAA0 +3F80 +2A80 +FFE0 +0400 +ENDCHAR +STARTCHAR U_9B22 +ENCODING 39714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +FCC0 +2B20 +4840 +FFE0 +9520 +7F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_9B23 +ENCODING 39715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +FCE0 +2B00 +7FC0 +5240 +7FC0 +4480 +7680 +45A0 +7E60 +ENDCHAR +STARTCHAR U_9B24 +ENCODING 39716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7CC0 +4300 +FCE0 +4700 +FFE0 +4A40 +FFE0 +1100 +FFE0 +5140 +B8E0 +ENDCHAR +STARTCHAR U_9B25 +ENCODING 39717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BBA0 +9120 +BBA0 +9120 +BBA0 +8020 +8020 +8020 +8020 +8020 +8060 +ENDCHAR +STARTCHAR U_9B26 +ENCODING 39718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BBA0 +9120 +BBA0 +9120 +BBA0 +8A20 +A620 +9220 +BFA0 +82A0 +8240 +ENDCHAR +STARTCHAR U_9B27 +ENCODING 39719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BBA0 +9120 +BBA0 +9120 +BFA0 +8420 +BFA0 +8420 +BFA0 +A5A0 +8460 +ENDCHAR +STARTCHAR U_9B28 +ENCODING 39720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BBA0 +9120 +BBA0 +9120 +BBA0 +8A20 +BFA0 +8A20 +BFA0 +8A20 +9160 +ENDCHAR +STARTCHAR U_9B29 +ENCODING 39721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BBA0 +9120 +BBA0 +9120 +BBA0 +9120 +9B20 +9120 +9F20 +8AA0 +B3E0 +ENDCHAR +STARTCHAR U_9B2A +ENCODING 39722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BBA0 +9120 +BBA0 +9120 +BBA0 +80A0 +FFE0 +A8A0 +BAA0 +A8A0 +FDE0 +ENDCHAR +STARTCHAR U_9B2B +ENCODING 39723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BBA0 +9120 +BBA0 +9120 +BBA0 +8A20 +FFA0 +AAA0 +B920 +AAA0 +FCE0 +ENDCHAR +STARTCHAR U_9B2C +ENCODING 39724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BBA0 +9120 +BBA0 +9120 +BBA0 +AA20 +93E0 +AAA0 +AAA0 +92A0 +BCE0 +ENDCHAR +STARTCHAR U_9B2D +ENCODING 39725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BBA0 +9120 +BBA0 +9120 +FFA0 +AA20 +EFE0 +AAA0 +EEA0 +AAA0 +FCE0 +ENDCHAR +STARTCHAR U_9B2E +ENCODING 39726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BBA0 +9120 +BBA0 +9220 +BFA0 +AAA0 +BBA0 +BAA0 +8BA0 +B8A0 +8FE0 +ENDCHAR +STARTCHAR U_9B2F +ENCODING 39727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +AA80 +D480 +AD80 +BA80 +C480 +FF80 +4000 +4700 +7880 +4080 +3F80 +ENDCHAR +STARTCHAR U_9B30 +ENCODING 39728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +F5E0 +6AC0 +A4A0 +FFE0 +A840 +5580 +7C40 +21A0 +2C40 +3380 +ENDCHAR +STARTCHAR U_9B31 +ENCODING 39729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4E40 +F5E0 +6EC0 +D540 +FFE0 +A820 +5640 +6AA0 +7F40 +40A0 +7E40 +ENDCHAR +STARTCHAR U_9B32 +ENCODING 39730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0000 +3F80 +2080 +3F80 +0000 +7FC0 +4A40 +5F40 +4440 +44C0 +ENDCHAR +STARTCHAR U_9B33 +ENCODING 39731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4240 +7FE0 +4840 +7FE0 +6520 +6FA0 +A220 +A260 +ENDCHAR +STARTCHAR U_9B34 +ENCODING 39732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8A0 +03E0 +7080 +53E0 +72A0 +03E0 +FAA0 +DBE0 +FAA0 +AAA0 +AAE0 +ENDCHAR +STARTCHAR U_9B35 +ENCODING 39733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FF80 +A500 +FFC0 +6340 +B540 +FFC0 +4100 +FF80 +A280 +FF80 +8B80 +ENDCHAR +STARTCHAR U_9B36 +ENCODING 39734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +7540 +2540 +F2A0 +54E0 +FFE0 +1080 +7FE0 +4920 +7FA0 +4460 +ENDCHAR +STARTCHAR U_9B37 +ENCODING 39735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF60 +02A0 +7B60 +4A20 +79E0 +0140 +FEA0 +D5E0 +FF40 +A480 +A760 +ENDCHAR +STARTCHAR U_9B38 +ENCODING 39736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +76A0 +55A0 +76A0 +0560 +F800 +DBE0 +FAA0 +ABE0 +AAA0 +9BE0 +ENDCHAR +STARTCHAR U_9B39 +ENCODING 39737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FAC0 +2340 +FBE0 +5260 +FFC0 +1100 +7FC0 +4A40 +5F40 +44C0 +ENDCHAR +STARTCHAR U_9B3A +ENCODING 39738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +07E0 +7A40 +4BC0 +7A40 +03E0 +FEA0 +D520 +FE60 +A4A0 +AD40 +ENDCHAR +STARTCHAR U_9B3B +ENCODING 39739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D560 +4E20 +DF60 +6E20 +D560 +FFE0 +2080 +7FC0 +4A40 +7FC0 +4440 +ENDCHAR +STARTCHAR U_9B3C +ENCODING 39740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7F80 +4880 +7F80 +4880 +7F80 +1480 +1540 +25C0 +4420 +83E0 +ENDCHAR +STARTCHAR U_9B3D +ENCODING 39741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7C40 +5480 +7F20 +5440 +7D80 +2420 +2A40 +5F80 +5020 +8FE0 +ENDCHAR +STARTCHAR U_9B3E +ENCODING 39742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +ABE0 +F880 +ABE0 +A940 +F940 +2880 +3D60 +5220 +9FE0 +ENDCHAR +STARTCHAR U_9B3F +ENCODING 39743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +F9C0 +A900 +F9E0 +A940 +F940 +2940 +3540 +2D60 +5220 +9FE0 +ENDCHAR +STARTCHAR U_9B40 +ENCODING 39744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +A980 +FA40 +AC20 +F940 +2540 +2B40 +5D40 +5260 +8FE0 +ENDCHAR +STARTCHAR U_9B41 +ENCODING 39745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +FA40 +A940 +FA40 +A940 +F860 +2BC0 +3440 +2C60 +5020 +9FE0 +ENDCHAR +STARTCHAR U_9B42 +ENCODING 39746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +77C0 +0540 +07C0 +FD40 +27C0 +5200 +7B40 +C5E0 +0520 +09E0 +ENDCHAR +STARTCHAR U_9B43 +ENCODING 39747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +F920 +ABE0 +F900 +A9E0 +F920 +2AA0 +3440 +3CA0 +5120 +9FE0 +ENDCHAR +STARTCHAR U_9B44 +ENCODING 39748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +47C0 +F540 +97C0 +9540 +F7C0 +9200 +9340 +F5E0 +0520 +09E0 +ENDCHAR +STARTCHAR U_9B45 +ENCODING 39749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F880 +ABE0 +F880 +ABE0 +F880 +29C0 +36A0 +2C80 +50A0 +9FE0 +ENDCHAR +STARTCHAR U_9B46 +ENCODING 39750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +F8A0 +ABE0 +FAA0 +AAA0 +FA40 +2A40 +36A0 +2F20 +5020 +9FE0 +ENDCHAR +STARTCHAR U_9B47 +ENCODING 39751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8500 +FFE0 +9480 +FFE0 +9480 +9F80 +9480 +9FA0 +8AA0 +F3E0 +ENDCHAR +STARTCHAR U_9B48 +ENCODING 39752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +F9C0 +A880 +FBE0 +AA20 +FBE0 +2A20 +37E0 +2A20 +5060 +9FE0 +ENDCHAR +STARTCHAR U_9B49 +ENCODING 39753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F940 +AFE0 +FD60 +AD60 +FEA0 +2D60 +3620 +2840 +5020 +9FE0 +ENDCHAR +STARTCHAR U_9B4A +ENCODING 39754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +F8A0 +AFE0 +F880 +AEA0 +FAA0 +3640 +28A0 +3B20 +6020 +BFE0 +ENDCHAR +STARTCHAR U_9B4B +ENCODING 39755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2300 +FA80 +ABE0 +FE80 +ABC0 +FA80 +2BC0 +3680 +2FE0 +5020 +9FE0 +ENDCHAR +STARTCHAR U_9B4C +ENCODING 39756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +AA40 +FBC0 +AA40 +FBC0 +2A40 +37E0 +2940 +5220 +9FE0 +ENDCHAR +STARTCHAR U_9B4D +ENCODING 39757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FEA0 +AD20 +FFE0 +AD20 +FFE0 +2D20 +35A0 +2C60 +5420 +9FE0 +ENDCHAR +STARTCHAR U_9B4E +ENCODING 39758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +F880 +AFE0 +FCA0 +AEE0 +FDA0 +2EE0 +34A0 +2CA0 +5020 +9FE0 +ENDCHAR +STARTCHAR U_9B4F +ENCODING 39759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +27C0 +FD40 +67C0 +B540 +27C0 +F900 +4940 +53C0 +2520 +49E0 +ENDCHAR +STARTCHAR U_9B50 +ENCODING 39760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +FFE0 +AA80 +FFE0 +AAA0 +FFE0 +2AA0 +37E0 +7EC0 +6AA0 +9FE0 +ENDCHAR +STARTCHAR U_9B51 +ENCODING 39761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +AAA0 +FB60 +ABE0 +F880 +2FE0 +3560 +2FE0 +5420 +9FE0 +ENDCHAR +STARTCHAR U_9B52 +ENCODING 39762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +FA80 +AFE0 +FAA0 +AFE0 +F800 +2FE0 +35C0 +2AA0 +50A0 +9FE0 +ENDCHAR +STARTCHAR U_9B53 +ENCODING 39763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FAA0 +ABE0 +FAA0 +AFE0 +FAA0 +27E0 +2A80 +5FE0 +5080 +8FE0 +ENDCHAR +STARTCHAR U_9B54 +ENCODING 39764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +5DC0 +6AA0 +5FC0 +5240 +5FC0 +8AA0 +B3E0 +ENDCHAR +STARTCHAR U_9B55 +ENCODING 39765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +FBA0 +AD40 +FBA0 +AD40 +FFE0 +2D20 +34C0 +2EC0 +5520 +9FE0 +ENDCHAR +STARTCHAR U_9B56 +ENCODING 39766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +F100 +D7E0 +B520 +D7C0 +F540 +5760 +6D40 +57E0 +A820 +9FE0 +ENDCHAR +STARTCHAR U_9B57 +ENCODING 39767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FFC0 +2540 +FFC0 +2540 +FFC0 +0940 +FDA0 +AAE0 +EA80 +1C60 +ENDCHAR +STARTCHAR U_9B58 +ENCODING 39768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A4C0 +BCA0 +A7E0 +BD40 +A620 +9FC0 +9240 +9FC0 +8AA0 +F3E0 +ENDCHAR +STARTCHAR U_9B59 +ENCODING 39769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +BF00 +55E0 +3F40 +C540 +7F80 +2A80 +2480 +3F80 +1540 +E7E0 +ENDCHAR +STARTCHAR U_9B5A +ENCODING 39770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1F00 +2200 +7FC0 +A440 +3FC0 +2440 +3FC0 +5240 +4920 +8920 +ENDCHAR +STARTCHAR U_9B5B +ENCODING 39771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7BE0 +9120 +F920 +A920 +F920 +A920 +F920 +0220 +AAA0 +AC40 +ENDCHAR +STARTCHAR U_9B5C +ENCODING 39772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +9100 +F900 +A900 +FA80 +AA80 +FA80 +0240 +AA60 +AC40 +ENDCHAR +STARTCHAR U_9B5D +ENCODING 39773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +3C20 +48A0 +FCA0 +54A0 +7CA0 +54A0 +7CA0 +0020 +AAA0 +AA40 +ENDCHAR +STARTCHAR U_9B5E +ENCODING 39774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7B00 +9080 +F880 +A880 +F880 +A880 +F940 +0140 +AA20 +AC20 +ENDCHAR +STARTCHAR U_9B5F +ENCODING 39775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +9080 +F880 +A880 +F880 +A880 +F880 +0080 +A880 +AFE0 +ENDCHAR +STARTCHAR U_9B60 +ENCODING 39776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +7F00 +9100 +F900 +A9E0 +FF00 +A900 +F900 +0100 +A920 +A8E0 +ENDCHAR +STARTCHAR U_9B61 +ENCODING 39777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7A00 +93E0 +FC20 +A820 +FA20 +A920 +F920 +0020 +A8A0 +A840 +ENDCHAR +STARTCHAR U_9B62 +ENCODING 39778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BC0 +9040 +F840 +A840 +FBC0 +AA00 +FA00 +0220 +AA20 +A9E0 +ENDCHAR +STARTCHAR U_9B63 +ENCODING 39779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FC0 +9280 +F900 +AFE0 +F920 +A940 +F900 +0100 +A900 +AB00 +ENDCHAR +STARTCHAR U_9B64 +ENCODING 39780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7A80 +92A0 +FAA0 +AEC0 +FA80 +AB80 +FA80 +02A0 +AAA0 +AA60 +ENDCHAR +STARTCHAR U_9B65 +ENCODING 39781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FC0 +9240 +FA80 +AB00 +FAC0 +AA40 +FB40 +0280 +A540 +AA20 +ENDCHAR +STARTCHAR U_9B66 +ENCODING 39782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +90C0 +FAA0 +AAA0 +FC80 +A8A0 +F840 +0080 +A900 +AE00 +ENDCHAR +STARTCHAR U_9B67 +ENCODING 39783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7880 +97E0 +F800 +AB80 +FA80 +AA80 +FA80 +02A0 +AAA0 +AC60 +ENDCHAR +STARTCHAR U_9B68 +ENCODING 39784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +93E0 +F880 +AAA0 +FAA0 +ABE0 +F880 +00A0 +A8A0 +A860 +ENDCHAR +STARTCHAR U_9B69 +ENCODING 39785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7A00 +93E0 +FD20 +A960 +FAA0 +A8A0 +F920 +0120 +AAA0 +A840 +ENDCHAR +STARTCHAR U_9B6A +ENCODING 39786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +9280 +FC40 +AAA0 +FA80 +AA80 +FA80 +0280 +AA80 +AC80 +ENDCHAR +STARTCHAR U_9B6B +ENCODING 39787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +97E0 +FD20 +A940 +F980 +A980 +FA80 +02A0 +AAA0 +AC60 +ENDCHAR +STARTCHAR U_9B6C +ENCODING 39788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +7B80 +9200 +FA00 +ABE0 +FA20 +AB20 +FAC0 +0280 +AD40 +AA20 +ENDCHAR +STARTCHAR U_9B6D +ENCODING 39789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BC0 +9000 +F800 +AFE0 +FA80 +AA80 +FA80 +0280 +AAA0 +AC60 +ENDCHAR +STARTCHAR U_9B6E +ENCODING 39790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7A80 +9280 +FA80 +ABA0 +FAC0 +AA80 +FA80 +02A0 +ABA0 +AA60 +ENDCHAR +STARTCHAR U_9B6F +ENCODING 39791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2200 +7FC0 +C440 +7FC0 +4440 +7FC0 +A0A0 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_9B70 +ENCODING 39792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7880 +97E0 +FA40 +AA40 +FA40 +A980 +F900 +0180 +AA40 +AC20 +ENDCHAR +STARTCHAR U_9B71 +ENCODING 39793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7900 +9100 +FBC0 +AA40 +FA40 +AA40 +FBC0 +0040 +A840 +AFE0 +ENDCHAR +STARTCHAR U_9B72 +ENCODING 39794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7880 +93E0 +FA20 +AA20 +FBE0 +AA00 +FA00 +0200 +AA00 +AC00 +ENDCHAR +STARTCHAR U_9B73 +ENCODING 39795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +9080 +FBE0 +AAA0 +FAA0 +AAA0 +FAA0 +02E0 +A880 +A880 +ENDCHAR +STARTCHAR U_9B74 +ENCODING 39796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7880 +97E0 +F900 +A9E0 +F920 +A920 +F920 +0220 +AAA0 +AC40 +ENDCHAR +STARTCHAR U_9B75 +ENCODING 39797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7A80 +9240 +FC40 +A820 +FFC0 +A940 +F940 +0140 +AA40 +AC80 +ENDCHAR +STARTCHAR U_9B76 +ENCODING 39798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +93E0 +FAA0 +AAA0 +FAA0 +AB60 +FA20 +0220 +AA20 +AA60 +ENDCHAR +STARTCHAR U_9B77 +ENCODING 39799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7940 +9120 +FFE0 +A900 +F980 +A980 +FA80 +02A0 +AAA0 +AC60 +ENDCHAR +STARTCHAR U_9B78 +ENCODING 39800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +7A40 +9240 +FBE0 +AA00 +FA00 +ABC0 +FA40 +0240 +AA40 +AC40 +ENDCHAR +STARTCHAR U_9B79 +ENCODING 39801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +78C0 +9700 +F900 +A9E0 +FF00 +A9E0 +FF00 +0120 +A920 +A8E0 +ENDCHAR +STARTCHAR U_9B7A +ENCODING 39802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +77E0 +9020 +FBA0 +AAA0 +FAA0 +ABA0 +F820 +0020 +A820 +A8E0 +ENDCHAR +STARTCHAR U_9B7B +ENCODING 39803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7AA0 +92A0 +FBE0 +AAA0 +FAA0 +ABE0 +F880 +0080 +A880 +A880 +ENDCHAR +STARTCHAR U_9B7C +ENCODING 39804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +93E0 +F880 +A880 +FFE0 +A880 +F900 +0140 +AA20 +AFE0 +ENDCHAR +STARTCHAR U_9B7D +ENCODING 39805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7A40 +9240 +FFE0 +AA40 +FA40 +ABC0 +FA40 +0240 +ABC0 +AA40 +ENDCHAR +STARTCHAR U_9B7E +ENCODING 39806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7880 +9080 +F980 +AAC0 +FCA0 +A8A0 +F880 +0080 +A800 +AFE0 +ENDCHAR +STARTCHAR U_9B7F +ENCODING 39807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +9280 +FC40 +AA20 +F900 +AFE0 +F840 +0280 +A900 +A880 +ENDCHAR +STARTCHAR U_9B80 +ENCODING 39808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7880 +97E0 +FC20 +AA00 +FA40 +AA80 +FB00 +0220 +AA20 +A9E0 +ENDCHAR +STARTCHAR U_9B81 +ENCODING 39809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7A40 +9200 +FFE0 +AA00 +FBC0 +AA40 +FD40 +0480 +A940 +AA20 +ENDCHAR +STARTCHAR U_9B82 +ENCODING 39810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +9220 +FAA0 +AAA0 +FAA0 +AAA0 +FB60 +0220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_9B83 +ENCODING 39811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +77E0 +9100 +FD40 +AB80 +F900 +AFE0 +F900 +0100 +AD00 +A900 +ENDCHAR +STARTCHAR U_9B84 +ENCODING 39812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7A80 +97E0 +FAA0 +AFE0 +FA80 +AFE0 +FAA0 +02E0 +AC80 +A880 +ENDCHAR +STARTCHAR U_9B85 +ENCODING 39813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4120 +78C0 +9240 +FA40 +AE80 +FAA0 +AB20 +FA00 +0620 +AA20 +A9E0 +ENDCHAR +STARTCHAR U_9B86 +ENCODING 39814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +5F80 +5220 +FFE0 +1200 +3F80 +E480 +3F80 +2480 +7FC0 +8920 +ENDCHAR +STARTCHAR U_9B87 +ENCODING 39815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +93E0 +F880 +A880 +FFE0 +A880 +F9C0 +02A0 +ACA0 +A880 +ENDCHAR +STARTCHAR U_9B88 +ENCODING 39816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7A00 +93E0 +FC20 +ABA0 +FAA0 +AAA0 +FBA0 +0020 +A8A0 +A840 +ENDCHAR +STARTCHAR U_9B89 +ENCODING 39817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +9120 +F920 +AAA0 +FC40 +ABE0 +FA20 +0220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_9B8A +ENCODING 39818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7900 +93E0 +FA20 +AA20 +FBE0 +AA20 +FA20 +0220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_9B8B +ENCODING 39819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +9080 +FBE0 +AAA0 +FAA0 +ABE0 +FAA0 +02A0 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_9B8C +ENCODING 39820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7900 +97E0 +F900 +AA40 +FFC0 +A880 +F900 +0240 +AFE0 +AA20 +ENDCHAR +STARTCHAR U_9B8D +ENCODING 39821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +93E0 +FAA0 +AAC0 +FA80 +ABE0 +FA20 +0540 +A480 +AB60 +ENDCHAR +STARTCHAR U_9B8E +ENCODING 39822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +9100 +F9E0 +A900 +F900 +ABC0 +FA40 +0240 +AA40 +ABC0 +ENDCHAR +STARTCHAR U_9B8F +ENCODING 39823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +9280 +FBE0 +AC80 +F880 +ABE0 +F880 +0080 +A880 +AFE0 +ENDCHAR +STARTCHAR U_9B90 +ENCODING 39824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +9200 +FA40 +AFE0 +F800 +ABC0 +FA40 +0240 +AA40 +ABC0 +ENDCHAR +STARTCHAR U_9B91 +ENCODING 39825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7A00 +93E0 +FC20 +ABA0 +FAA0 +ABA0 +FA40 +0220 +AA20 +A9E0 +ENDCHAR +STARTCHAR U_9B92 +ENCODING 39826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7940 +9240 +FFE0 +AA40 +FB40 +AAC0 +FA40 +0240 +AA40 +AAC0 +ENDCHAR +STARTCHAR U_9B93 +ENCODING 39827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7A00 +93E0 +FD00 +A9C0 +F900 +A900 +F9C0 +0100 +A900 +A900 +ENDCHAR +STARTCHAR U_9B94 +ENCODING 39828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +9200 +FA00 +ABC0 +FA40 +AA40 +FBC0 +0200 +AA00 +ABE0 +ENDCHAR +STARTCHAR U_9B95 +ENCODING 39829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +97E0 +F880 +A880 +FBE0 +AA20 +FA20 +0220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_9B96 +ENCODING 39830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +77E0 +9100 +F900 +AA00 +FBC0 +AE40 +FA40 +0240 +ABC0 +AA40 +ENDCHAR +STARTCHAR U_9B97 +ENCODING 39831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BC0 +9440 +FA80 +A900 +FA80 +AC60 +F900 +0080 +A900 +A880 +ENDCHAR +STARTCHAR U_9B98 +ENCODING 39832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7AC0 +92A0 +FA80 +ABE0 +FE80 +AA80 +FA80 +02A0 +AA60 +AA20 +ENDCHAR +STARTCHAR U_9B99 +ENCODING 39833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7F60 +9120 +FDA0 +AB60 +F920 +AB60 +FDA0 +0120 +AD20 +AB60 +ENDCHAR +STARTCHAR U_9B9A +ENCODING 39834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +97E0 +F880 +ABE0 +F800 +ABE0 +FA20 +0220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_9B9B +ENCODING 39835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +90E0 +F880 +AFE0 +F880 +AAC0 +FAA0 +04A0 +A880 +A980 +ENDCHAR +STARTCHAR U_9B9C +ENCODING 39836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +7B80 +9200 +FBE0 +AA00 +FA00 +ABE0 +FD20 +0520 +A5E0 +A920 +ENDCHAR +STARTCHAR U_9B9D +ENCODING 39837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1480 +7FC0 +0400 +FFE0 +2080 +DF60 +2200 +7F80 +2480 +7FC0 +8920 +ENDCHAR +STARTCHAR U_9B9E +ENCODING 39838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7880 +9100 +FFE0 +AAA0 +FAA0 +AAA0 +FAA0 +0AA0 +DA20 +A860 +ENDCHAR +STARTCHAR U_9B9F +ENCODING 39839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7900 +97E0 +FC20 +A900 +FFE0 +AA40 +FE80 +0100 +AA80 +AC60 +ENDCHAR +STARTCHAR U_9BA0 +ENCODING 39840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9240 +FBE0 +AA00 +FAE0 +AAA0 +FAE0 +0280 +ACA0 +A8E0 +ENDCHAR +STARTCHAR U_9BA1 +ENCODING 39841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7AA0 +96A0 +FAC0 +AA80 +FEC0 +AAA0 +FA80 +02A0 +ACA0 +A860 +ENDCHAR +STARTCHAR U_9BA2 +ENCODING 39842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7A80 +93E0 +FC80 +A880 +FFE0 +A880 +F9C0 +02A0 +ACA0 +A880 +ENDCHAR +STARTCHAR U_9BA3 +ENCODING 39843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7AE0 +92A0 +FAA0 +ABA0 +FAA0 +AAA0 +FBA0 +06E0 +A880 +A880 +ENDCHAR +STARTCHAR U_9BA4 +ENCODING 39844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F20 +10A0 +1EA0 +64A0 +1820 +EF60 +1200 +7FC0 +2440 +3FC0 +D220 +ENDCHAR +STARTCHAR U_9BA5 +ENCODING 39845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9240 +FD40 +A980 +FA40 +AFE0 +FA40 +0240 +ABC0 +AA40 +ENDCHAR +STARTCHAR U_9BA6 +ENCODING 39846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7820 +ABA0 +F820 +ABA0 +FAA0 +AAA0 +FBA0 +0820 +D820 +A860 +ENDCHAR +STARTCHAR U_9BA7 +ENCODING 39847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BE0 +9080 +FBE0 +A8A0 +FBE0 +AA80 +FBE0 +00A0 +A940 +AA20 +ENDCHAR +STARTCHAR U_9BA8 +ENCODING 39848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7A60 +9380 +FA20 +A9E0 +F800 +ABE0 +FA20 +03E0 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_9BA9 +ENCODING 39849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4420 +7A40 +97E0 +FA40 +AA40 +FFE0 +AA40 +FA40 +0240 +A440 +A840 +ENDCHAR +STARTCHAR U_9BAA +ENCODING 39850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +97E0 +FA00 +ABC0 +FE40 +ABC0 +FA40 +03C0 +AA40 +AAC0 +ENDCHAR +STARTCHAR U_9BAB +ENCODING 39851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7880 +97E0 +FA40 +AC20 +FA40 +AA40 +F980 +0180 +AA40 +AC20 +ENDCHAR +STARTCHAR U_9BAC +ENCODING 39852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +77E0 +9240 +FDA0 +A800 +FFE0 +A900 +FBC0 +0040 +A940 +A880 +ENDCHAR +STARTCHAR U_9BAD +ENCODING 39853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +93E0 +F880 +ABE0 +F880 +A880 +FBE0 +0080 +A880 +AFE0 +ENDCHAR +STARTCHAR U_9BAE +ENCODING 39854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7940 +93E0 +F880 +ABE0 +F880 +A880 +FBE0 +0080 +A880 +A880 +ENDCHAR +STARTCHAR U_9BAF +ENCODING 39855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7980 +9240 +FC20 +ABC0 +F800 +ABC0 +FA40 +0240 +ABC0 +AA40 +ENDCHAR +STARTCHAR U_9BB0 +ENCODING 39856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +9220 +FA20 +ABA0 +FAA0 +AAA0 +FBA0 +0220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_9BB1 +ENCODING 39857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +77C0 +9120 +F940 +AFE0 +F900 +AA40 +FF80 +0220 +AA20 +A9E0 +ENDCHAR +STARTCHAR U_9BB2 +ENCODING 39858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7AC0 +92A0 +FA80 +ABE0 +FE80 +AA80 +FA80 +0340 +AB40 +AA20 +ENDCHAR +STARTCHAR U_9BB3 +ENCODING 39859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BC0 +9140 +FFE0 +A900 +FBC0 +AE00 +FBC0 +0040 +A940 +A880 +ENDCHAR +STARTCHAR U_9BB4 +ENCODING 39860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7A80 +9280 +FBE0 +AA80 +FEC0 +AAA0 +FBA0 +0280 +AA80 +AA80 +ENDCHAR +STARTCHAR U_9BB5 +ENCODING 39861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7940 +93E0 +FA20 +AA20 +FBE0 +A940 +F940 +0140 +AA40 +AC60 +ENDCHAR +STARTCHAR U_9BB6 +ENCODING 39862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7940 +97E0 +F940 +ABC0 +F900 +ABE0 +FE20 +0220 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_9BB7 +ENCODING 39863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +77C0 +9140 +FFC0 +AD00 +FFE0 +A920 +FB20 +05A0 +A940 +A900 +ENDCHAR +STARTCHAR U_9BB8 +ENCODING 39864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +39E0 +5240 +FC80 +ABE0 +FAA0 +ABE0 +F980 +0180 +AAA0 +A4E0 +ENDCHAR +STARTCHAR U_9BB9 +ENCODING 39865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7AA0 +91C0 +FBE0 +AA20 +FBE0 +AA20 +FBE0 +0220 +AA20 +AA60 +ENDCHAR +STARTCHAR U_9BBA +ENCODING 39866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +3F80 +0400 +FFE0 +1800 +2F00 +D200 +3FC0 +5240 +1FC0 +6520 +ENDCHAR +STARTCHAR U_9BBB +ENCODING 39867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7A40 +97E0 +FA40 +AD20 +FBE0 +AA40 +FD40 +0080 +A940 +AE20 +ENDCHAR +STARTCHAR U_9BBC +ENCODING 39868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7840 +93C0 +F840 +AFE0 +FC20 +ABC0 +F940 +0140 +A880 +AB60 +ENDCHAR +STARTCHAR U_9BBD +ENCODING 39869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7940 +9220 +FFE0 +A880 +FBE0 +A880 +F9C0 +02A0 +ACA0 +A980 +ENDCHAR +STARTCHAR U_9BBE +ENCODING 39870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +7E00 +94A0 +FAA0 +A940 +FFE0 +AA40 +FA80 +0100 +AA80 +AC60 +ENDCHAR +STARTCHAR U_9BBF +ENCODING 39871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7540 +9540 +FF40 +AD40 +FF40 +AD40 +FD40 +07C0 +A940 +A960 +ENDCHAR +STARTCHAR U_9BC0 +ENCODING 39872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +7F80 +9100 +FA40 +AB80 +F920 +AFE0 +F880 +02C0 +ACA0 +A9A0 +ENDCHAR +STARTCHAR U_9BC1 +ENCODING 39873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7880 +93E0 +FAA0 +ABE0 +FAA0 +ABE0 +FA80 +0180 +A980 +AE60 +ENDCHAR +STARTCHAR U_9BC2 +ENCODING 39874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7880 +9080 +FBE0 +AAA0 +FB60 +AA20 +FBE0 +0220 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_9BC3 +ENCODING 39875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7900 +97C0 +FA40 +AA40 +FFE0 +A800 +FBC0 +0240 +AA40 +ABC0 +ENDCHAR +STARTCHAR U_9BC4 +ENCODING 39876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7920 +97E0 +F900 +AD20 +FB40 +A980 +FB40 +0520 +A920 +AB00 +ENDCHAR +STARTCHAR U_9BC5 +ENCODING 39877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4660 +7BC0 +9240 +FA40 +AC60 +FB40 +AB40 +FB40 +05E0 +A400 +ABE0 +ENDCHAR +STARTCHAR U_9BC6 +ENCODING 39878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +70A0 +97E0 +F880 +ABE0 +FAA0 +ABE0 +FAA0 +03E0 +AAA0 +AA60 +ENDCHAR +STARTCHAR U_9BC7 +ENCODING 39879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9420 +FBC0 +A800 +FFE0 +AA80 +FA80 +02A0 +ACA0 +A860 +ENDCHAR +STARTCHAR U_9BC8 +ENCODING 39880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +4640 +5980 +D660 +53C0 +5480 +5FE0 +5520 +47E0 +4AA0 +ENDCHAR +STARTCHAR U_9BC9 +ENCODING 39881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7AA0 +92A0 +FBE0 +AAA0 +FBE0 +A880 +FBE0 +0080 +A880 +AFE0 +ENDCHAR +STARTCHAR U_9BCA +ENCODING 39882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +A920 +4180 +DE00 +5100 +3FC0 +6440 +3FC0 +2440 +3FC0 +C920 +ENDCHAR +STARTCHAR U_9BCB +ENCODING 39883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +7480 +90C0 +F9A0 +ADA0 +FA80 +AAA0 +FC40 +0480 +A900 +AA00 +ENDCHAR +STARTCHAR U_9BCC +ENCODING 39884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7A80 +93E0 +FC80 +A880 +FFE0 +A800 +FBE0 +0220 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_9BCD +ENCODING 39885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7900 +97E0 +F900 +AA40 +FFE0 +A800 +FD40 +0540 +A540 +A960 +ENDCHAR +STARTCHAR U_9BCE +ENCODING 39886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +78C0 +90A0 +FFE0 +A880 +FEA0 +AAA0 +FAC0 +0EA0 +A960 +B220 +ENDCHAR +STARTCHAR U_9BCF +ENCODING 39887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4320 +7620 +92A0 +FFA0 +AAA0 +FBA0 +AEA0 +FAA0 +0220 +AAA0 +AA40 +ENDCHAR +STARTCHAR U_9BD0 +ENCODING 39888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +93C0 +F900 +A900 +FFE0 +A900 +F9C0 +0500 +A700 +A8E0 +ENDCHAR +STARTCHAR U_9BD1 +ENCODING 39889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7880 +9360 +F880 +AFE0 +F900 +ABE0 +FEA0 +02A0 +AAE0 +A880 +ENDCHAR +STARTCHAR U_9BD2 +ENCODING 39890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7940 +9080 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +02A0 +AAA0 +AAE0 +ENDCHAR +STARTCHAR U_9BD3 +ENCODING 39891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BC0 +9240 +FBC0 +AA40 +FBC0 +AA60 +FFC0 +0140 +AA40 +ACC0 +ENDCHAR +STARTCHAR U_9BD4 +ENCODING 39892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +7AA0 +9540 +FAA0 +AAA0 +F800 +ABE0 +FAA0 +03E0 +AAA0 +ABE0 +ENDCHAR +STARTCHAR U_9BD5 +ENCODING 39893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7A40 +97E0 +FA40 +ABC0 +FA40 +ABC0 +FA40 +07E0 +AA40 +AC20 +ENDCHAR +STARTCHAR U_9BD6 +ENCODING 39894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BC0 +9100 +FBC0 +A900 +FFE0 +AA40 +FBC0 +0240 +ABC0 +AA40 +ENDCHAR +STARTCHAR U_9BD7 +ENCODING 39895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +0400 +FFE0 +2880 +4F40 +9220 +7FC0 +2440 +3FC0 +C920 +ENDCHAR +STARTCHAR U_9BD8 +ENCODING 39896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +7B00 +9100 +FFE0 +AB80 +FD40 +A920 +FFE0 +0240 +A980 +AE60 +ENDCHAR +STARTCHAR U_9BD9 +ENCODING 39897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7FE0 +9240 +FBC0 +A800 +FBE0 +A840 +F880 +07E0 +A880 +A980 +ENDCHAR +STARTCHAR U_9BDA +ENCODING 39898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7880 +97E0 +F9C0 +AAA0 +FC80 +ABE0 +F880 +07E0 +A880 +A980 +ENDCHAR +STARTCHAR U_9BDB +ENCODING 39899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7920 +ABA0 +F920 +AFE0 +F820 +ABA0 +FAA0 +0BA0 +A820 +B060 +ENDCHAR +STARTCHAR U_9BDC +ENCODING 39900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7FE0 +9220 +F940 +AFE0 +F880 +AFE0 +F940 +0240 +A980 +AE60 +ENDCHAR +STARTCHAR U_9BDD +ENCODING 39901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FE0 +94A0 +FFE0 +ACA0 +FDE0 +AD60 +FDE0 +0420 +AFE0 +AC20 +ENDCHAR +STARTCHAR U_9BDE +ENCODING 39902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7840 +93C0 +F840 +AFE0 +FCA0 +ABE0 +FAA0 +02A0 +AAE0 +A880 +ENDCHAR +STARTCHAR U_9BDF +ENCODING 39903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BE0 +9080 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +01C0 +AAA0 +ACA0 +ENDCHAR +STARTCHAR U_9BE0 +ENCODING 39904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +97E0 +FAA0 +AAC0 +FDA0 +A8A0 +F980 +02C0 +ACA0 +A8A0 +ENDCHAR +STARTCHAR U_9BE1 +ENCODING 39905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7A80 +96E0 +FA80 +AA80 +FEE0 +AA80 +FA80 +06E0 +AA80 +AA80 +ENDCHAR +STARTCHAR U_9BE2 +ENCODING 39906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7EE0 +9420 +FC20 +AEE0 +FC20 +AFE0 +FA80 +02A0 +ACA0 +A860 +ENDCHAR +STARTCHAR U_9BE3 +ENCODING 39907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +7C40 +97C0 +FC40 +AFC0 +FA00 +AFE0 +FAA0 +0520 +AAA0 +AC40 +ENDCHAR +STARTCHAR U_9BE4 +ENCODING 39908 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7A20 +93E0 +FA20 +ABE0 +F800 +AAA0 +FBC0 +02A0 +ABA0 +AAE0 +ENDCHAR +STARTCHAR U_9BE5 +ENCODING 39909 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BE0 +9080 +FFE0 +A940 +FA20 +AC80 +FBE0 +0080 +A880 +AFE0 +ENDCHAR +STARTCHAR U_9BE6 +ENCODING 39910 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7740 +9560 +FD40 +AA40 +FDE0 +A800 +FFC0 +0440 +AC40 +AFC0 +ENDCHAR +STARTCHAR U_9BE7 +ENCODING 39911 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +93C0 +FA40 +ABC0 +F800 +AFE0 +FC20 +07E0 +AC20 +A7E0 +ENDCHAR +STARTCHAR U_9BE8 +ENCODING 39912 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7FE0 +9000 +FBE0 +AA20 +FBE0 +A880 +FAC0 +02A0 +ACA0 +A980 +ENDCHAR +STARTCHAR U_9BE9 +ENCODING 39913 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +9140 +FA20 +ADC0 +F800 +ABE0 +FAA0 +03E0 +AAA0 +AAA0 +ENDCHAR +STARTCHAR U_9BEA +ENCODING 39914 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FC0 +9100 +FFE0 +AA40 +FD20 +A9C0 +FB40 +0480 +A940 +AE20 +ENDCHAR +STARTCHAR U_9BEB +ENCODING 39915 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F00 +6A00 +ABE0 +FEA0 +AAA0 +FAA0 +AEA0 +FB40 +0E40 +AAA0 +AB20 +ENDCHAR +STARTCHAR U_9BEC +ENCODING 39916 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +21E0 +FEA0 +6920 +A440 +1F80 +2100 +FFC0 +2440 +7FC0 +8920 +ENDCHAR +STARTCHAR U_9BED +ENCODING 39917 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7840 +9080 +FFE0 +A880 +FA80 +A900 +FBE0 +02A0 +AAA0 +AFE0 +ENDCHAR +STARTCHAR U_9BEE +ENCODING 39918 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +77E0 +9420 +FBC0 +A800 +FFE0 +A880 +FAC0 +02A0 +ACA0 +A980 +ENDCHAR +STARTCHAR U_9BEF +ENCODING 39919 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7220 +97A0 +FA20 +AFA0 +FA20 +AFA0 +FAA0 +0AA0 +ABA0 +AA60 +ENDCHAR +STARTCHAR U_9BF0 +ENCODING 39920 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7980 +9340 +FCA0 +AFE0 +F840 +A980 +FA80 +0620 +AA60 +A9C0 +ENDCHAR +STARTCHAR U_9BF1 +ENCODING 39921 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +7900 +97E0 +FD20 +AFC0 +FD20 +ACE0 +FC00 +05C0 +A940 +AA60 +ENDCHAR +STARTCHAR U_9BF2 +ENCODING 39922 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7A40 +90A0 +FF00 +AA40 +FA20 +AB80 +FA80 +02C0 +AAA0 +AD20 +ENDCHAR +STARTCHAR U_9BF3 +ENCODING 39923 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BE0 +9200 +FA60 +AB80 +FA80 +ABE0 +FA80 +02A0 +AB60 +ACA0 +ENDCHAR +STARTCHAR U_9BF4 +ENCODING 39924 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +77C0 +9040 +FFC0 +A940 +FFC0 +A940 +FFC0 +0140 +A9E0 +AE20 +ENDCHAR +STARTCHAR U_9BF5 +ENCODING 39925 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +77C0 +9100 +FFE0 +AA80 +FD60 +AA80 +FD40 +0280 +A900 +AE00 +ENDCHAR +STARTCHAR U_9BF6 +ENCODING 39926 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7CA0 +97E0 +F880 +ABE0 +FAA0 +ABE0 +FAA0 +07E0 +A880 +A880 +ENDCHAR +STARTCHAR U_9BF7 +ENCODING 39927 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +93C0 +FA40 +ABC0 +F800 +AFE0 +FA80 +02E0 +AD80 +A8E0 +ENDCHAR +STARTCHAR U_9BF8 +ENCODING 39928 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +97E0 +FD00 +ADE0 +FE80 +AC80 +FFE0 +0480 +AD40 +A620 +ENDCHAR +STARTCHAR U_9BF9 +ENCODING 39929 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7A20 +93E0 +FA20 +ABE0 +FA80 +ABE0 +FC80 +03E0 +A880 +AFE0 +ENDCHAR +STARTCHAR U_9BFA +ENCODING 39930 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +93E0 +F940 +AFE0 +F900 +ABE0 +FE20 +03E0 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_9BFB +ENCODING 39931 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7FA0 +9220 +FFA0 +AAA0 +FFA0 +AAA0 +FBA0 +06A0 +AA20 +AA60 +ENDCHAR +STARTCHAR U_9BFC +ENCODING 39932 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +74A0 +9760 +FC20 +AFE0 +FA80 +AD60 +FBC0 +0540 +A880 +AB60 +ENDCHAR +STARTCHAR U_9BFD +ENCODING 39933 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +7AA0 +AAA0 +FEA0 +AAA0 +FEA0 +A8A0 +FCA0 +0AC0 +AD80 +A880 +ENDCHAR +STARTCHAR U_9BFE +ENCODING 39934 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +7A80 +93E0 +FAA0 +AFE0 +FAA0 +ABE0 +FA80 +0380 +AA80 +AB60 +ENDCHAR +STARTCHAR U_9BFF +ENCODING 39935 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9820 +FFE0 +A800 +FFE0 +AAA0 +FFE0 +0AA0 +AAA0 +B260 +ENDCHAR +STARTCHAR U_9C00 +ENCODING 39936 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +7F20 +9540 +FBE0 +A880 +FFE0 +A900 +F9E0 +02A0 +AA40 +ADA0 +ENDCHAR +STARTCHAR U_9C01 +ENCODING 39937 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9220 +FBE0 +AA20 +FBE0 +A880 +FBA0 +01C0 +AAA0 +ADA0 +ENDCHAR +STARTCHAR U_9C02 +ENCODING 39938 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +7E20 +9AA0 +FEA0 +AAA0 +FEA0 +AAA0 +FAA0 +0E20 +A420 +AA60 +ENDCHAR +STARTCHAR U_9C03 +ENCODING 39939 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7AA0 +93E0 +FAA0 +ABE0 +F800 +AFE0 +FAA0 +0240 +AAA0 +AB20 +ENDCHAR +STARTCHAR U_9C04 +ENCODING 39940 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +70A0 +AFE0 +F880 +AA80 +FFA0 +AAA0 +FD40 +0A40 +AD60 +B0A0 +ENDCHAR +STARTCHAR U_9C05 +ENCODING 39941 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7AA0 +93E0 +FAA0 +ABE0 +F880 +AFE0 +FCA0 +07E0 +AC20 +A460 +ENDCHAR +STARTCHAR U_9C06 +ENCODING 39942 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7900 +93C0 +F900 +AFE0 +FA40 +AFE0 +FA40 +03C0 +AA40 +ABC0 +ENDCHAR +STARTCHAR U_9C07 +ENCODING 39943 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +7A80 +97E0 +FAA0 +AC80 +F900 +AFE0 +F900 +0380 +AD40 +A920 +ENDCHAR +STARTCHAR U_9C08 +ENCODING 39944 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +7FE0 +92A0 +FAE0 +AA00 +FBE0 +A880 +FFE0 +01C0 +AAA0 +ACA0 +ENDCHAR +STARTCHAR U_9C09 +ENCODING 39945 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9220 +FBE0 +AA20 +FFE0 +A880 +F880 +03E0 +A880 +AFE0 +ENDCHAR +STARTCHAR U_9C0A +ENCODING 39946 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9100 +FFE0 +AD60 +FBA0 +AFE0 +F980 +0340 +AD20 +A900 +ENDCHAR +STARTCHAR U_9C0B +ENCODING 39947 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7D40 +95C0 +FD40 +ADC0 +FC80 +AFE0 +FD40 +0480 +AD40 +A7E0 +ENDCHAR +STARTCHAR U_9C0C +ENCODING 39948 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7940 +97E0 +F880 +ABE0 +FAA0 +AB60 +FA20 +03E0 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_9C0D +ENCODING 39949 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7E40 +9240 +FF40 +AAE0 +FB40 +AEC0 +FA40 +0240 +AAA0 +AB20 +ENDCHAR +STARTCHAR U_9C0E +ENCODING 39950 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4680 +7BE0 +92A0 +FDE0 +AEA0 +FBE0 +AA80 +FFE0 +0280 +AE00 +A9E0 +ENDCHAR +STARTCHAR U_9C0F +ENCODING 39951 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7800 +91C0 +F940 +A9C0 +F800 +ABE0 +FAA0 +03E0 +AAA0 +ABE0 +ENDCHAR +STARTCHAR U_9C10 +ENCODING 39952 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +75A0 +97E0 +F800 +ABC0 +F800 +AFE0 +F900 +03C0 +A840 +A980 +ENDCHAR +STARTCHAR U_9C11 +ENCODING 39953 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +93C0 +FA40 +AFE0 +FA00 +ABE0 +FAA0 +0520 +AAA0 +AC40 +ENDCHAR +STARTCHAR U_9C12 +ENCODING 39954 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9640 +FBC0 +AA40 +FBC0 +A900 +FBE0 +0640 +A980 +AE60 +ENDCHAR +STARTCHAR U_9C13 +ENCODING 39955 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7AA0 +93E0 +FAA0 +ABE0 +F800 +A940 +FAA0 +5620 +AA40 +A9C0 +ENDCHAR +STARTCHAR U_9C14 +ENCODING 39956 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +78A0 +97E0 +FC80 +AF80 +FCA0 +AFA0 +FD40 +07A0 +AD60 +AA20 +ENDCHAR +STARTCHAR U_9C15 +ENCODING 39957 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +7A20 +AA20 +FEE0 +A800 +FEE0 +A8A0 +F8A0 +0E40 +A8A0 +A920 +ENDCHAR +STARTCHAR U_9C16 +ENCODING 39958 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9200 +FBC0 +AC80 +FFE0 +AA40 +FBC0 +0240 +ABC0 +AA40 +ENDCHAR +STARTCHAR U_9C17 +ENCODING 39959 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42E0 +7AA0 +97A0 +FAE0 +AFA0 +FDA0 +ADE0 +FFA0 +00A0 +A8A0 +A960 +ENDCHAR +STARTCHAR U_9C18 +ENCODING 39960 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9420 +FBC0 +A900 +FA40 +ABC0 +F900 +03C0 +A900 +AFE0 +ENDCHAR +STARTCHAR U_9C19 +ENCODING 39961 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7A80 +97E0 +FA80 +A900 +FFE0 +AA00 +FBC0 +0640 +AA40 +ABC0 +ENDCHAR +STARTCHAR U_9C1A +ENCODING 39962 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9420 +FBC0 +A800 +FBC0 +AA40 +FBC0 +0240 +ABC0 +AFE0 +ENDCHAR +STARTCHAR U_9C1B +ENCODING 39963 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +93C0 +FA40 +ABC0 +F800 +ABE0 +FAA0 +02A0 +AAA0 +AFE0 +ENDCHAR +STARTCHAR U_9C1C +ENCODING 39964 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FE0 +9280 +FFE0 +AAA0 +FFE0 +AAA0 +FFE0 +0280 +AEC0 +AAA0 +ENDCHAR +STARTCHAR U_9C1D +ENCODING 39965 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9240 +FBC0 +A800 +FFE0 +A820 +FBA0 +5AA0 +ABA0 +A860 +ENDCHAR +STARTCHAR U_9C1E +ENCODING 39966 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BC0 +9240 +FBC0 +AA00 +FBE0 +AA00 +FBE0 +02A0 +AD60 +A860 +ENDCHAR +STARTCHAR U_9C1F +ENCODING 39967 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9280 +FFE0 +A920 +FFC0 +AA00 +FBC0 +0240 +A540 +A880 +ENDCHAR +STARTCHAR U_9C20 +ENCODING 39968 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +7D40 +9280 +F900 +AEE0 +F900 +AFC0 +FD40 +07C0 +A920 +AFE0 +ENDCHAR +STARTCHAR U_9C21 +ENCODING 39969 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7AE0 +93A0 +FAA0 +AB60 +F800 +ABE0 +FAA0 +53E0 +AAA0 +ABE0 +ENDCHAR +STARTCHAR U_9C22 +ENCODING 39970 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7A80 +93C0 +FA80 +ABC0 +FA80 +ABE0 +FAA0 +0560 +A8A0 +A840 +ENDCHAR +STARTCHAR U_9C23 +ENCODING 39971 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7FE0 +9A80 +FBE0 +AE40 +FBE0 +AA40 +FB40 +0EC0 +5040 +A8C0 +ENDCHAR +STARTCHAR U_9C24 +ENCODING 39972 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +7E80 +9A80 +FBE0 +AEA0 +FAA0 +AEA0 +FAA0 +5AE0 +AE80 +A080 +ENDCHAR +STARTCHAR U_9C25 +ENCODING 39973 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7AA0 +9FE0 +F900 +AB40 +FD20 +A900 +FB40 +5520 +A920 +A900 +ENDCHAR +STARTCHAR U_9C26 +ENCODING 39974 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7A80 +9000 +FFE0 +AA40 +FC80 +AFE0 +FA40 +04A0 +AFE0 +A920 +ENDCHAR +STARTCHAR U_9C27 +ENCODING 39975 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EA80 +AFC0 +A200 +FFE0 +A880 +B760 +E900 +AF80 +AA80 +AF80 +B540 +ENDCHAR +STARTCHAR U_9C28 +ENCODING 39976 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +93C0 +FA40 +ABC0 +F800 +AFE0 +FDA0 +5360 +ADA0 +AA60 +ENDCHAR +STARTCHAR U_9C29 +ENCODING 39977 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +7BA0 +92A0 +F940 +AA00 +FBE0 +AC80 +FFE0 +5080 +AAA0 +ABE0 +ENDCHAR +STARTCHAR U_9C2A +ENCODING 39978 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +77C0 +9100 +FFE0 +AA40 +FFE0 +A820 +FBE0 +02A0 +AAA0 +AFE0 +ENDCHAR +STARTCHAR U_9C2B +ENCODING 39979 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9420 +FA40 +ADA0 +FA40 +AC20 +FBC0 +5240 +ABC0 +AA40 +ENDCHAR +STARTCHAR U_9C2C +ENCODING 39980 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +7880 +93E0 +FAA0 +ABE0 +FA80 +ABE0 +FB40 +5540 +AC80 +AB60 +ENDCHAR +STARTCHAR U_9C2D +ENCODING 39981 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FA0 +9140 +FFE0 +AA80 +FF20 +ABE0 +FA20 +53E0 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_9C2E +ENCODING 39982 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7AA0 +9360 +FA20 +ABE0 +F800 +ABE0 +FAA0 +02A0 +AAA0 +AFE0 +ENDCHAR +STARTCHAR U_9C2F +ENCODING 39983 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FE0 +9120 +FBE0 +AA80 +FBE0 +A920 +FDA0 +0360 +ADA0 +AB60 +ENDCHAR +STARTCHAR U_9C30 +ENCODING 39984 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +7280 +9FE0 +FAA0 +ABE0 +FEA0 +ABE0 +FA80 +0280 +AA80 +AA80 +ENDCHAR +STARTCHAR U_9C31 +ENCODING 39985 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BE0 +96A0 +FBE0 +AEA0 +FBE0 +AA80 +FBE0 +5280 +AA80 +ADE0 +ENDCHAR +STARTCHAR U_9C32 +ENCODING 39986 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +21E0 +FF40 +4880 +9340 +3FE0 +6240 +BFC0 +2440 +7FC0 +8920 +ENDCHAR +STARTCHAR U_9C33 +ENCODING 39987 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +7F80 +9480 +FFE0 +AAA0 +FFA0 +AAA0 +FFA0 +52A0 +AF20 +AA60 +ENDCHAR +STARTCHAR U_9C34 +ENCODING 39988 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6A80 +BE80 +00E0 +7EA0 +D2A0 +7EA0 +6AA0 +7EA0 +6A40 +7EA0 +5520 +ENDCHAR +STARTCHAR U_9C35 +ENCODING 39989 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3D00 +55E0 +FE40 +5580 +7E60 +1700 +0A00 +3F80 +1480 +1F80 +6AC0 +ENDCHAR +STARTCHAR U_9C36 +ENCODING 39990 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +96A0 +FD40 +AA20 +FDC0 +A800 +FFE0 +5080 +AAC0 +ADA0 +ENDCHAR +STARTCHAR U_9C37 +ENCODING 39991 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +75E0 +9B40 +FAC0 +AB20 +FA80 +ABE0 +FA80 +59C0 +AAA0 +ADA0 +ENDCHAR +STARTCHAR U_9C38 +ENCODING 39992 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7400 +95C0 +FD40 +ADC0 +FC00 +AFE0 +FEA0 +07E0 +A400 +A7E0 +ENDCHAR +STARTCHAR U_9C39 +ENCODING 39993 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6FE0 +AAA0 +FFA0 +A9A0 +FF40 +AA40 +FFA0 +0920 +57C0 +A900 +AFE0 +ENDCHAR +STARTCHAR U_9C3A +ENCODING 39994 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7FC0 +9240 +FCA0 +AFE0 +FA40 +AD20 +FA80 +0140 +A880 +AF00 +ENDCHAR +STARTCHAR U_9C3B +ENCODING 39995 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +93C0 +FA40 +AFE0 +FAA0 +AFE0 +FA40 +5180 +A980 +AE60 +ENDCHAR +STARTCHAR U_9C3C +ENCODING 39996 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7920 +95A0 +FB60 +ADA0 +F900 +ABE0 +FA20 +53E0 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_9C3D +ENCODING 39997 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +77E0 +9280 +FFE0 +AAA0 +FFE0 +AA40 +FBC0 +5240 +ABC0 +AA40 +ENDCHAR +STARTCHAR U_9C3E +ENCODING 39998 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7280 +9FE0 +FAA0 +AFE0 +F800 +AFC0 +F800 +57E0 +AD40 +AB20 +ENDCHAR +STARTCHAR U_9C3F +ENCODING 39999 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7FE0 +9080 +FBE0 +A880 +FFE0 +AA40 +FBC0 +5240 +ABC0 +AE60 +ENDCHAR +STARTCHAR U_9C40 +ENCODING 40000 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +9100 +F7E0 +9120 +EDE0 +1FC0 +6440 +BFC0 +2440 +7FC0 +9120 +ENDCHAR +STARTCHAR U_9C41 +ENCODING 40001 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +45E0 +7A80 +92A0 +F940 +AEC0 +FB40 +AAE0 +FB40 +5240 +AA80 +ADE0 +ENDCHAR +STARTCHAR U_9C42 +ENCODING 40002 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +72E0 +AB20 +FAC0 +AE80 +FB40 +AFE0 +FA40 +0B40 +AA40 +B2C0 +ENDCHAR +STARTCHAR U_9C43 +ENCODING 40003 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7FE0 +9100 +FFC0 +A900 +FFE0 +ABC0 +FD40 +07C0 +A940 +A7E0 +ENDCHAR +STARTCHAR U_9C44 +ENCODING 40004 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +77E0 +9540 +FFC0 +AD40 +FFC0 +A920 +FFE0 +5440 +AA40 +A9C0 +ENDCHAR +STARTCHAR U_9C45 +ENCODING 40005 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BE0 +92A0 +FBE0 +AAA0 +FBE0 +AA80 +FBE0 +06A0 +A7E0 +AAA0 +ENDCHAR +STARTCHAR U_9C46 +ENCODING 40006 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7FE0 +9140 +FFE0 +AA40 +FBC0 +AA40 +FBC0 +5080 +AFE0 +A880 +ENDCHAR +STARTCHAR U_9C47 +ENCODING 40007 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BE0 +9280 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +02A0 +A5C0 +AAA0 +ENDCHAR +STARTCHAR U_9C48 +ENCODING 40008 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7900 +97E0 +FD20 +AB40 +FD20 +AFE0 +F820 +53E0 +A820 +ABE0 +ENDCHAR +STARTCHAR U_9C49 +ENCODING 40009 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5500 +FDE0 +B740 +DC80 +8960 +1FC0 +6240 +BFC0 +2240 +3FC0 +4920 +ENDCHAR +STARTCHAR U_9C4A +ENCODING 40010 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7140 +97E0 +FAA0 +AC80 +FFE0 +AAA0 +FC60 +5BA0 +AAA0 +ABE0 +ENDCHAR +STARTCHAR U_9C4B +ENCODING 40011 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +7900 +97E0 +FD20 +AFC0 +FD20 +ADE0 +FD40 +5760 +A940 +AFE0 +ENDCHAR +STARTCHAR U_9C4C +ENCODING 40012 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41C0 +7240 +97E0 +FAA0 +ABE0 +F900 +AAA0 +FD40 +52E0 +A960 +AAC0 +ENDCHAR +STARTCHAR U_9C4D +ENCODING 40013 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4740 +75A0 +9240 +FFE0 +A940 +FB60 +AA80 +FBE0 +51A0 +A940 +AEA0 +ENDCHAR +STARTCHAR U_9C4E +ENCODING 40014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7900 +97E0 +FA40 +AFA0 +FA80 +AFE0 +F820 +5BA0 +AAA0 +ABE0 +ENDCHAR +STARTCHAR U_9C4F +ENCODING 40015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7280 +AFE0 +F2A0 +BFE0 +D640 +B540 +F7C0 +0100 +DFE0 +A100 +ENDCHAR +STARTCHAR U_9C50 +ENCODING 40016 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +7940 +97E0 +F940 +AFE0 +F920 +AFE0 +F920 +57E0 +A920 +A920 +ENDCHAR +STARTCHAR U_9C51 +ENCODING 40017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7BE0 +9140 +FFE0 +A880 +FBE0 +AAA0 +FBE0 +02A0 +ABE0 +AA20 +ENDCHAR +STARTCHAR U_9C52 +ENCODING 40018 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +77E0 +9140 +FBE0 +AAA0 +FB60 +ABE0 +F840 +57E0 +AA40 +A9C0 +ENDCHAR +STARTCHAR U_9C53 +ENCODING 40019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7AA0 +93E0 +F800 +ABE0 +FAA0 +ABE0 +FAA0 +07E0 +A880 +A880 +ENDCHAR +STARTCHAR U_9C54 +ENCODING 40020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7FE0 +9080 +FBE0 +A880 +FFE0 +A940 +FFE0 +5240 +AA40 +ABC0 +ENDCHAR +STARTCHAR U_9C55 +ENCODING 40021 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7AA0 +91C0 +FFE0 +AAC0 +FCA0 +ABE0 +FAA0 +53E0 +AAA0 +ABE0 +ENDCHAR +STARTCHAR U_9C56 +ENCODING 40022 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +6D40 +AA40 +FFE0 +AAA0 +FAC0 +AFC0 +FA40 +5A40 +AAA0 +B520 +ENDCHAR +STARTCHAR U_9C57 +ENCODING 40023 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4520 +7340 +97E0 +FB40 +AD20 +FA40 +ABE0 +FD40 +53E0 +AA40 +AC40 +ENDCHAR +STARTCHAR U_9C58 +ENCODING 40024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7840 +93C0 +F840 +AFE0 +FAA0 +AFE0 +F840 +57E0 +A940 +A8C0 +ENDCHAR +STARTCHAR U_9C59 +ENCODING 40025 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +77C0 +9100 +FFE0 +AA40 +FFE0 +AA40 +FFE0 +5280 +AAA0 +ACE0 +ENDCHAR +STARTCHAR U_9C5A +ENCODING 40026 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7FE0 +9080 +FFE0 +AA20 +FBE0 +AA20 +F940 +07E0 +AA20 +ABE0 +ENDCHAR +STARTCHAR U_9C5B +ENCODING 40027 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +77E0 +96A0 +FDA0 +AFE0 +F800 +ABC0 +FA40 +03C0 +AA40 +ABC0 +ENDCHAR +STARTCHAR U_9C5C +ENCODING 40028 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +7780 +AAE0 +FBA0 +AEA0 +FBC0 +AAA0 +FEA0 +07E0 +AA80 +B080 +ENDCHAR +STARTCHAR U_9C5D +ENCODING 40029 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9540 +FFE0 +AA40 +FBC0 +AA40 +FBC0 +0240 +ABC0 +AE60 +ENDCHAR +STARTCHAR U_9C5E +ENCODING 40030 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +6AA0 +BFE0 +F800 +AFE0 +FA40 +ABC0 +F920 +56C0 +AA40 +AB20 +ENDCHAR +STARTCHAR U_9C5F +ENCODING 40031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6AC0 +4440 +6AC0 +FFE0 +9220 +3FC0 +6440 +3FC0 +2440 +7FC0 +8920 +ENDCHAR +STARTCHAR U_9C60 +ENCODING 40032 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4380 +7440 +9BA0 +F800 +AFE0 +FAA0 +AFE0 +FC40 +57C0 +AC40 +A7C0 +ENDCHAR +STARTCHAR U_9C61 +ENCODING 40033 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +6E60 +AA40 +FFE0 +AA40 +FF40 +ABE0 +FF40 +0540 +AAA0 +A120 +ENDCHAR +STARTCHAR U_9C62 +ENCODING 40034 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7240 +9240 +FFE0 +AAA0 +FEE0 +A900 +FFE0 +5380 +AD40 +A920 +ENDCHAR +STARTCHAR U_9C63 +ENCODING 40035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +77E0 +95A0 +FC20 +AFE0 +FA40 +ABC0 +FA40 +53C0 +A800 +AFE0 +ENDCHAR +STARTCHAR U_9C64 +ENCODING 40036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +7BE0 +9240 +FBC0 +AA60 +FBC0 +AAC0 +FBA0 +0280 +A560 +AAC0 +ENDCHAR +STARTCHAR U_9C65 +ENCODING 40037 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7AE0 +9280 +FFE0 +A880 +FFE0 +ACA0 +FF40 +0540 +ABA0 +AD20 +ENDCHAR +STARTCHAR U_9C66 +ENCODING 40038 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7AA0 +9FE0 +F280 +AEE0 +FAA0 +AEE0 +FAA0 +56E0 +AAA0 +ABE0 +ENDCHAR +STARTCHAR U_9C67 +ENCODING 40039 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +6FE0 +AAA0 +FFE0 +AAA0 +FFE0 +AA40 +FBC0 +5240 +A980 +AFE0 +ENDCHAR +STARTCHAR U_9C68 +ENCODING 40040 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4540 +6FE0 +AAA0 +FBA0 +AA80 +FB20 +ABE0 +FA40 +53C0 +AA40 +ABC0 +ENDCHAR +STARTCHAR U_9C69 +ENCODING 40041 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7880 +97E0 +FCA0 +AAC0 +FCA0 +ABE0 +FAA0 +03E0 +AAA0 +ABE0 +ENDCHAR +STARTCHAR U_9C6A +ENCODING 40042 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +93C0 +F900 +AFE0 +F940 +AFE0 +FA40 +07C0 +AA40 +ABC0 +ENDCHAR +STARTCHAR U_9C6B +ENCODING 40043 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40E0 +7F20 +9540 +FFE0 +ACA0 +FBC0 +AD20 +FBC0 +0680 +A900 +AEE0 +ENDCHAR +STARTCHAR U_9C6C +ENCODING 40044 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +7100 +AFE0 +F920 +AB80 +FD40 +AFE0 +F900 +0FE0 +AAA0 +AAE0 +ENDCHAR +STARTCHAR U_9C6D +ENCODING 40045 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +92A0 +FD40 +AB60 +FD40 +A940 +FFC0 +5440 +A7C0 +A840 +ENDCHAR +STARTCHAR U_9C6E +ENCODING 40046 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4D60 +69A0 +AD60 +F9A0 +AAA0 +FEE0 +AAA0 +FFE0 +5280 +AC40 +A820 +ENDCHAR +STARTCHAR U_9C6F +ENCODING 40047 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7FE0 +9240 +FBE0 +AA80 +FFE0 +AA80 +FBE0 +0140 +A880 +AB60 +ENDCHAR +STARTCHAR U_9C70 +ENCODING 40048 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7CA0 +97E0 +F900 +AFE0 +F940 +AFE0 +FA40 +07C0 +AE40 +ABC0 +ENDCHAR +STARTCHAR U_9C71 +ENCODING 40049 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +6A80 +AFE0 +FA80 +AFC0 +F940 +AFE0 +F920 +59E0 +AF20 +A860 +ENDCHAR +STARTCHAR U_9C72 +ENCODING 40050 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +7D40 +92A0 +F800 +ABE0 +FAA0 +ABE0 +FAC0 +03A0 +AAE0 +ABA0 +ENDCHAR +STARTCHAR U_9C73 +ENCODING 40051 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4520 +6BC0 +AEA0 +FBE0 +AAC0 +FFE0 +A900 +FFE0 +5380 +AD40 +A920 +ENDCHAR +STARTCHAR U_9C74 +ENCODING 40052 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7FE0 +9240 +FFE0 +AAA0 +FFE0 +A8A0 +FFE0 +54C0 +AEA0 +A960 +ENDCHAR +STARTCHAR U_9C75 +ENCODING 40053 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +77E0 +9AA0 +FFE0 +A880 +FFA0 +A8A0 +FEA0 +5A40 +AEC0 +B120 +ENDCHAR +STARTCHAR U_9C76 +ENCODING 40054 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +77E0 +9100 +FBE0 +A900 +FFE0 +AA40 +FFE0 +0640 +ABC0 +AA60 +ENDCHAR +STARTCHAR U_9C77 +ENCODING 40055 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7880 +93E0 +FAA0 +AFE0 +F880 +ABE0 +FAA0 +53E0 +A880 +AFE0 +ENDCHAR +STARTCHAR U_9C78 +ENCODING 40056 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +41E0 +7100 +97E0 +FD20 +AFE0 +FD40 +AFC0 +FD40 +57E0 +AAA0 +AFE0 +ENDCHAR +STARTCHAR U_9C79 +ENCODING 40057 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7940 +97E0 +FD20 +AFE0 +FA80 +AFE0 +FA80 +53E0 +AA80 +ABE0 +ENDCHAR +STARTCHAR U_9C7A +ENCODING 40058 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4EE0 +6000 +AFE0 +FAA0 +AFE0 +FAA0 +AFE0 +FCA0 +5FC0 +A4A0 +A7E0 +ENDCHAR +STARTCHAR U_9C7B +ENCODING 40059 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F00 +1200 +3F80 +5480 +1FC0 +65A0 +A280 +FBE0 +AAA0 +FBE0 +A520 +ENDCHAR +STARTCHAR U_9C7C +ENCODING 40060 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1F00 +2200 +7FC0 +A240 +3FC0 +2240 +3FC0 +2040 +0000 +FFE0 +ENDCHAR +STARTCHAR U_9C7D +ENCODING 40061 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +9120 +F920 +A920 +F920 +A920 +F920 +0220 +1AA0 +E440 +ENDCHAR +STARTCHAR U_9C7E +ENCODING 40062 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BC0 +9040 +F840 +ABC0 +FA00 +AA00 +FA00 +0220 +1A20 +E1E0 +ENDCHAR +STARTCHAR U_9C7F +ENCODING 40063 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7920 +9100 +FFE0 +A900 +F900 +A980 +F980 +02A0 +34A0 +C860 +ENDCHAR +STARTCHAR U_9C80 +ENCODING 40064 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +93E0 +F880 +AAA0 +FAA0 +ABE0 +F880 +00A0 +18A0 +E060 +ENDCHAR +STARTCHAR U_9C81 +ENCODING 40065 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2200 +7FC0 +A440 +3FC0 +2440 +FFE0 +1080 +1F80 +1080 +1F80 +ENDCHAR +STARTCHAR U_9C82 +ENCODING 40066 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7880 +97E0 +F900 +A9E0 +F920 +A920 +F920 +0220 +3A20 +C4C0 +ENDCHAR +STARTCHAR U_9C83 +ENCODING 40067 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +92A0 +FAA0 +AAA0 +FBE0 +AA00 +FA00 +0220 +1A20 +E1E0 +ENDCHAR +STARTCHAR U_9C84 +ENCODING 40068 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7BE0 +9040 +F840 +AF40 +FD40 +AF40 +F840 +0040 +3940 +C080 +ENDCHAR +STARTCHAR U_9C85 +ENCODING 40069 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7A40 +9200 +FFE0 +AA00 +FBC0 +AA40 +FB40 +0480 +3940 +CA20 +ENDCHAR +STARTCHAR U_9C86 +ENCODING 40070 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7880 +94A0 +FAA0 +AAC0 +F880 +AFE0 +F880 +0080 +3880 +C080 +ENDCHAR +STARTCHAR U_9C87 +ENCODING 40071 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +90E0 +F880 +A880 +FBE0 +AA20 +FA20 +0220 +3A20 +C3E0 +ENDCHAR +STARTCHAR U_9C88 +ENCODING 40072 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +79E0 +9100 +FBE0 +AA20 +FA20 +ABE0 +FA00 +0200 +3400 +C800 +ENDCHAR +STARTCHAR U_9C89 +ENCODING 40073 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +9080 +FBE0 +AAA0 +FAA0 +ABE0 +FAA0 +02A0 +3AA0 +C3E0 +ENDCHAR +STARTCHAR U_9C8A +ENCODING 40074 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +93E0 +FD00 +A900 +F9E0 +A900 +F9E0 +0100 +1900 +E100 +ENDCHAR +STARTCHAR U_9C8B +ENCODING 40075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7940 +9240 +FBE0 +AE40 +FB40 +AAC0 +FA40 +0240 +3A40 +C2C0 +ENDCHAR +STARTCHAR U_9C8C +ENCODING 40076 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7900 +93E0 +FA20 +AA20 +FA20 +ABE0 +FA20 +0220 +3A20 +C3E0 +ENDCHAR +STARTCHAR U_9C8D +ENCODING 40077 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9420 +FBA0 +AAA0 +FAA0 +ABA0 +FA60 +0200 +1A20 +E1E0 +ENDCHAR +STARTCHAR U_9C8E +ENCODING 40078 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +1280 +FFE0 +9120 +3F80 +6480 +BF80 +2480 +3F80 +0000 +FFE0 +ENDCHAR +STARTCHAR U_9C8F +ENCODING 40079 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +93E0 +FAA0 +AA80 +FBE0 +AA20 +FB40 +0280 +3AC0 +C520 +ENDCHAR +STARTCHAR U_9C90 +ENCODING 40080 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +9240 +FA20 +AFE0 +F800 +ABE0 +FA20 +0220 +3A20 +C3E0 +ENDCHAR +STARTCHAR U_9C91 +ENCODING 40081 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +93E0 +F880 +AFE0 +F880 +A880 +FBE0 +0080 +3880 +C7E0 +ENDCHAR +STARTCHAR U_9C92 +ENCODING 40082 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7880 +97E0 +F880 +ABE0 +F800 +ABE0 +FA20 +0220 +3A20 +C3E0 +ENDCHAR +STARTCHAR U_9C93 +ENCODING 40083 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9140 +FFE0 +A900 +FBE0 +AD00 +F9E0 +0020 +38A0 +C040 +ENDCHAR +STARTCHAR U_9C94 +ENCODING 40084 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7900 +97E0 +FA00 +AFC0 +FA40 +ABC0 +FA40 +03C0 +3A40 +C2C0 +ENDCHAR +STARTCHAR U_9C95 +ENCODING 40085 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7900 +9200 +FFE0 +AAA0 +FAA0 +AAA0 +FAA0 +0AA0 +3AA0 +C860 +ENDCHAR +STARTCHAR U_9C96 +ENCODING 40086 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7A20 +93A0 +FA20 +ABA0 +FAA0 +ABA0 +FA20 +0220 +3A20 +C260 +ENDCHAR +STARTCHAR U_9C97 +ENCODING 40087 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4020 +7FA0 +98A0 +FAA0 +AAA0 +FAA0 +AAA0 +FA20 +0220 +3520 +C860 +ENDCHAR +STARTCHAR U_9C98 +ENCODING 40088 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +7B00 +9400 +FC00 +AFE0 +FC00 +AFE0 +FE20 +0620 +3A20 +CBE0 +ENDCHAR +STARTCHAR U_9C99 +ENCODING 40089 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7980 +9240 +FC20 +ABC0 +F800 +AFE0 +F900 +0200 +1C40 +E7E0 +ENDCHAR +STARTCHAR U_9C9A +ENCODING 40090 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9240 +F980 +A980 +FE60 +AA40 +FA40 +0240 +3A40 +C440 +ENDCHAR +STARTCHAR U_9C9B +ENCODING 40091 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7880 +97E0 +FA40 +AC20 +FA40 +AA40 +F980 +0180 +1A40 +E420 +ENDCHAR +STARTCHAR U_9C9C +ENCODING 40092 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +7940 +97E0 +F880 +ABE0 +F880 +A880 +FFE0 +0080 +3880 +C080 +ENDCHAR +STARTCHAR U_9C9D +ENCODING 40093 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +0400 +3F00 +0800 +FFE0 +2900 +5200 +BF80 +2480 +FFE0 +ENDCHAR +STARTCHAR U_9C9E +ENCODING 40094 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +7FC0 +0800 +FFE0 +2A80 +52C0 +BFA0 +2480 +3F80 +0000 +FFE0 +ENDCHAR +STARTCHAR U_9C9F +ENCODING 40095 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7820 +93E0 +F820 +ABE0 +F840 +AFE0 +FA40 +0140 +3840 +C0C0 +ENDCHAR +STARTCHAR U_9CA0 +ENCODING 40096 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7880 +93E0 +FAA0 +ABE0 +FAA0 +ABE0 +FA80 +0180 +3A40 +C420 +ENDCHAR +STARTCHAR U_9CA1 +ENCODING 40097 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7800 +93E0 +FAA0 +AAA0 +FBA0 +AAE0 +FAA0 +02A0 +3AA0 +C2A0 +ENDCHAR +STARTCHAR U_9CA2 +ENCODING 40098 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7DE0 +9280 +F940 +AFE0 +FA40 +ABE0 +FA40 +0240 +3B40 +C4E0 +ENDCHAR +STARTCHAR U_9CA3 +ENCODING 40099 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7AE0 +AAA0 +FAA0 +AA40 +FAA0 +A900 +F7C0 +0100 +3100 +CFE0 +ENDCHAR +STARTCHAR U_9CA4 +ENCODING 40100 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7AA0 +92A0 +FBE0 +AAA0 +FBE0 +A880 +FBE0 +0080 +3880 +C7E0 +ENDCHAR +STARTCHAR U_9CA5 +ENCODING 40101 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4040 +7E40 +9A40 +FBE0 +AE40 +FB40 +AAC0 +FA40 +0E40 +3040 +C0C0 +ENDCHAR +STARTCHAR U_9CA6 +ENCODING 40102 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9540 +F880 +AB60 +F880 +AFE0 +F880 +02C0 +3CA0 +C180 +ENDCHAR +STARTCHAR U_9CA7 +ENCODING 40103 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +7F80 +9100 +FA40 +AF80 +F940 +AFA0 +F880 +02C0 +34A0 +C9A0 +ENDCHAR +STARTCHAR U_9CA8 +ENCODING 40104 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A540 +5920 +2FC0 +D200 +7FC0 +2440 +7FC0 +2440 +3FC0 +0000 +FFE0 +ENDCHAR +STARTCHAR U_9CA9 +ENCODING 40105 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9420 +FBC0 +A800 +FFE0 +AA80 +FA80 +0280 +34A0 +C860 +ENDCHAR +STARTCHAR U_9CAA +ENCODING 40106 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FC0 +9140 +FFE0 +A940 +FFC0 +AA00 +FFC0 +0240 +1A40 +E3C0 +ENDCHAR +STARTCHAR U_9CAB +ENCODING 40107 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +6EE0 +AAA0 +FEA0 +AAA0 +FEA0 +A8A0 +FAA0 +0DE0 +3880 +C080 +ENDCHAR +STARTCHAR U_9CAC +ENCODING 40108 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7940 +9080 +FBE0 +AAA0 +FBE0 +AAA0 +FBE0 +02A0 +1AA0 +E260 +ENDCHAR +STARTCHAR U_9CAD +ENCODING 40109 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9100 +FFC0 +A900 +FFE0 +AA40 +FBC0 +0240 +3BC0 +C240 +ENDCHAR +STARTCHAR U_9CAE +ENCODING 40110 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FC0 +9100 +FFE0 +AA40 +FC20 +ABC0 +FE40 +0180 +3980 +C660 +ENDCHAR +STARTCHAR U_9CAF +ENCODING 40111 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7FE0 +9240 +FBC0 +AA40 +FBC0 +AA40 +FFE0 +0000 +3A40 +C420 +ENDCHAR +STARTCHAR U_9CB0 +ENCODING 40112 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F00 +6A00 +ABE0 +FEA0 +AAA0 +FAA0 +AEA0 +FA40 +0F40 +32A0 +C320 +ENDCHAR +STARTCHAR U_9CB1 +ENCODING 40113 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7A80 +96E0 +FA80 +AA80 +FEE0 +AA80 +FA80 +06E0 +3A80 +C280 +ENDCHAR +STARTCHAR U_9CB2 +ENCODING 40114 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7A20 +93E0 +FA20 +ABE0 +FA80 +AAA0 +FBC0 +02A0 +3BA0 +C2E0 +ENDCHAR +STARTCHAR U_9CB3 +ENCODING 40115 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +93C0 +FA40 +ABC0 +F800 +AFE0 +FC20 +07E0 +3C20 +C7E0 +ENDCHAR +STARTCHAR U_9CB4 +ENCODING 40116 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7920 +A920 +FFE0 +A920 +FBA0 +AAA0 +FAA0 +0BA0 +3820 +CFE0 +ENDCHAR +STARTCHAR U_9CB5 +ENCODING 40117 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7EE0 +9420 +FEE0 +AC20 +FFE0 +AA80 +FA80 +0480 +34A0 +C860 +ENDCHAR +STARTCHAR U_9CB6 +ENCODING 40118 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7940 +9320 +FC80 +ABE0 +F840 +A880 +FB40 +06A0 +3A40 +C1C0 +ENDCHAR +STARTCHAR U_9CB7 +ENCODING 40119 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7920 +ABA0 +F920 +AFE0 +F820 +ABA0 +FAA0 +0BA0 +3820 +C860 +ENDCHAR +STARTCHAR U_9CB8 +ENCODING 40120 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7FE0 +9000 +FBE0 +AA20 +FBE0 +A880 +FAC0 +02A0 +3CA0 +C180 +ENDCHAR +STARTCHAR U_9CB9 +ENCODING 40121 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7A40 +97C0 +F900 +AFE0 +FA40 +AD20 +FA80 +0140 +3880 +C700 +ENDCHAR +STARTCHAR U_9CBA +ENCODING 40122 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +7840 +97C0 +F940 +AFC0 +FD40 +AFC0 +F940 +0140 +39A0 +C620 +ENDCHAR +STARTCHAR U_9CBB +ENCODING 40123 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +7AA0 +9540 +FD40 +AAA0 +F800 +AFE0 +FD20 +07E0 +3D20 +C7E0 +ENDCHAR +STARTCHAR U_9CBC +ENCODING 40124 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BE0 +9140 +FFE0 +A940 +FBE0 +AAA0 +FAA0 +02A0 +3940 +C620 +ENDCHAR +STARTCHAR U_9CBD +ENCODING 40125 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +42A0 +7FE0 +92A0 +FAE0 +AA00 +FBE0 +A880 +FFE0 +01C0 +3AA0 +C4A0 +ENDCHAR +STARTCHAR U_9CBE +ENCODING 40126 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7800 +93C0 +FA40 +ABC0 +F800 +AFE0 +FD20 +07E0 +1D20 +E7E0 +ENDCHAR +STARTCHAR U_9CBF +ENCODING 40127 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7D20 +9340 +FFE0 +AC20 +FBC0 +A800 +FFE0 +0100 +1A40 +E7E0 +ENDCHAR +STARTCHAR U_9CC0 +ENCODING 40128 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +93C0 +FA40 +ABC0 +F800 +AFE0 +F900 +05C0 +3500 +CBE0 +ENDCHAR +STARTCHAR U_9CC1 +ENCODING 40129 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +93C0 +FA40 +ABC0 +F800 +AFE0 +FAA0 +0AA0 +3AA0 +CFE0 +ENDCHAR +STARTCHAR U_9CC2 +ENCODING 40130 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7AA0 +93E0 +FAA0 +ABE0 +F800 +AFE0 +FAA0 +0240 +1B40 +E220 +ENDCHAR +STARTCHAR U_9CC3 +ENCODING 40131 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +7AA0 +93E0 +FAA0 +ABE0 +F800 +A900 +FAC0 +0620 +3A40 +C1C0 +ENDCHAR +STARTCHAR U_9CC4 +ENCODING 40132 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7DA0 +97E0 +F800 +ABC0 +F800 +AFE0 +F900 +03E0 +3820 +C1C0 +ENDCHAR +STARTCHAR U_9CC5 +ENCODING 40133 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +7E40 +9240 +FFE0 +AA40 +FF40 +AAC0 +FA40 +0240 +3AA0 +C320 +ENDCHAR +STARTCHAR U_9CC6 +ENCODING 40134 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +9640 +FBC0 +AA40 +FBC0 +AA00 +FBC0 +0640 +3980 +C660 +ENDCHAR +STARTCHAR U_9CC7 +ENCODING 40135 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9220 +FBE0 +AA20 +FFE0 +A880 +FBE0 +0080 +3880 +C7E0 +ENDCHAR +STARTCHAR U_9CC8 +ENCODING 40136 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BE0 +9220 +FBE0 +AA20 +FBE0 +A880 +FEA0 +02C0 +3AA0 +C5A0 +ENDCHAR +STARTCHAR U_9CC9 +ENCODING 40137 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7AE0 +93A0 +FF40 +AAA0 +FBE0 +AE20 +FAA0 +02A0 +1A20 +E260 +ENDCHAR +STARTCHAR U_9CCA +ENCODING 40138 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +9820 +FFE0 +A800 +FFE0 +AAA0 +FFE0 +0AA0 +3AA0 +D060 +ENDCHAR +STARTCHAR U_9CCB +ENCODING 40139 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7D40 +9280 +F980 +AE60 +F900 +AFC0 +FD40 +07C0 +3120 +CFE0 +ENDCHAR +STARTCHAR U_9CCC +ENCODING 40140 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +21E0 +FA40 +2180 +7940 +8A20 +3F80 +6480 +3F80 +2480 +FFE0 +ENDCHAR +STARTCHAR U_9CCD +ENCODING 40141 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4120 +7FA0 +9140 +FFE0 +AA40 +FEA0 +ABE0 +FA20 +03E0 +3A20 +C3E0 +ENDCHAR +STARTCHAR U_9CCE +ENCODING 40142 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +93C0 +FA40 +ABC0 +F800 +AFE0 +FDA0 +0360 +3DA0 +C360 +ENDCHAR +STARTCHAR U_9CCF +ENCODING 40143 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7AA0 +97E0 +F800 +A900 +FB40 +AD20 +FB40 +0520 +3920 +C100 +ENDCHAR +STARTCHAR U_9CD0 +ENCODING 40144 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40C0 +7F20 +9520 +FAC0 +AA00 +FBE0 +AC80 +FFE0 +0080 +3CA0 +C7E0 +ENDCHAR +STARTCHAR U_9CD1 +ENCODING 40145 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +77E0 +9240 +FFE0 +A920 +F880 +AFE0 +F900 +01E0 +3A20 +C460 +ENDCHAR +STARTCHAR U_9CD2 +ENCODING 40146 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FE0 +9280 +FFE0 +AAA0 +FFE0 +AAA0 +FFE0 +0280 +36C0 +CAA0 +ENDCHAR +STARTCHAR U_9CD3 +ENCODING 40147 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A80 +7F80 +AA80 +EFE0 +A4A0 +FFA0 +A4A0 +FFA0 +04A0 +3FA0 +C540 +ENDCHAR +STARTCHAR U_9CD4 +ENCODING 40148 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7280 +AFE0 +FAA0 +AFE0 +F800 +ABC0 +F800 +07E0 +3940 +CB20 +ENDCHAR +STARTCHAR U_9CD5 +ENCODING 40149 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7100 +9FE0 +F920 +ABA0 +FD40 +AFE0 +F820 +03E0 +3020 +C7E0 +ENDCHAR +STARTCHAR U_9CD6 +ENCODING 40150 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A500 +69E0 +FF40 +B540 +EC80 +A560 +7F80 +A480 +3F80 +2480 +FFE0 +ENDCHAR +STARTCHAR U_9CD7 +ENCODING 40151 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +7A40 +93C0 +FA40 +AFE0 +FAA0 +AFE0 +FC20 +0240 +3980 +C660 +ENDCHAR +STARTCHAR U_9CD8 +ENCODING 40152 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7DE0 +AB40 +FC80 +A940 +FE20 +7F80 +A480 +3F80 +2480 +FFE0 +ENDCHAR +STARTCHAR U_9CD9 +ENCODING 40153 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +77E0 +9540 +FFE0 +AD40 +FFE0 +AD20 +FFE0 +0D20 +37E0 +D520 +ENDCHAR +STARTCHAR U_9CDA +ENCODING 40154 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4F20 +7920 +9F20 +F8E0 +AF20 +F8A0 +AF60 +FA20 +0F20 +3AA0 +D660 +ENDCHAR +STARTCHAR U_9CDB +ENCODING 40155 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +7DA0 +9360 +FDA0 +A920 +FA00 +AFE0 +FC20 +07E0 +1C20 +E7E0 +ENDCHAR +STARTCHAR U_9CDC +ENCODING 40156 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +7AC0 +9940 +FFE0 +A920 +F940 +AD40 +FFC0 +0940 +32A0 +C520 +ENDCHAR +STARTCHAR U_9CDD +ENCODING 40157 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7FE0 +9100 +FFE0 +A900 +FFE0 +AD40 +FFE0 +0440 +3C40 +C7C0 +ENDCHAR +STARTCHAR U_9CDE +ENCODING 40158 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4520 +7B40 +97E0 +FB40 +AD20 +FA40 +ABE0 +FD40 +0BE0 +3240 +C440 +ENDCHAR +STARTCHAR U_9CDF +ENCODING 40159 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7FE0 +9280 +FFE0 +AAA0 +FCE0 +AFE0 +F840 +07E0 +1A40 +E1C0 +ENDCHAR +STARTCHAR U_9CE0 +ENCODING 40160 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7FE0 +9240 +FBE0 +AE40 +FBE0 +AA40 +FBE0 +0240 +1980 +E660 +ENDCHAR +STARTCHAR U_9CE1 +ENCODING 40161 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +40A0 +7FE0 +9480 +FF80 +ACA0 +FFA0 +AD40 +FAA0 +0540 +3A60 +CBC0 +ENDCHAR +STARTCHAR U_9CE2 +ENCODING 40162 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +7FE0 +9AA0 +FFE0 +AAA0 +FFE0 +AA40 +FBC0 +0440 +3280 +CFE0 +ENDCHAR +STARTCHAR U_9CE3 +ENCODING 40163 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FE0 +92A0 +FAA0 +ABA0 +F820 +AFE0 +FA40 +03C0 +3A40 +C7E0 +ENDCHAR +STARTCHAR U_9CE4 +ENCODING 40164 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +7BE0 +96C0 +F920 +AFE0 +FC20 +ABC0 +FA40 +03E0 +1A20 +E3E0 +ENDCHAR +STARTCHAR U_9CE5 +ENCODING 40165 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +3FE0 +2000 +3FE0 +5520 +4AA0 +8040 +ENDCHAR +STARTCHAR U_9CE6 +ENCODING 40166 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +8840 +F840 +8880 +FC80 +8100 +FD00 +0620 +AE20 +A9E0 +ENDCHAR +STARTCHAR U_9CE7 +ENCODING 40167 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3F80 +2080 +3FE0 +52A0 +9F40 +1100 +2120 +C0E0 +ENDCHAR +STARTCHAR U_9CE8 +ENCODING 40168 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7900 +4900 +7BE0 +4920 +7D20 +4120 +7D20 +0520 +D6A0 +AA40 +ENDCHAR +STARTCHAR U_9CE9 +ENCODING 40169 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +F440 +57C0 +5440 +57E0 +5400 +5FE0 +5560 +8AA0 +0040 +ENDCHAR +STARTCHAR U_9CEA +ENCODING 40170 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +8200 +8F80 +8880 +CF80 +A880 +8FC0 +8800 +8FC0 +9540 +AAC0 +8080 +ENDCHAR +STARTCHAR U_9CEB +ENCODING 40171 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2200 +2FC0 +2840 +2FC0 +2840 +2FE0 +2800 +4FE0 +4AA0 +9560 +ENDCHAR +STARTCHAR U_9CEC +ENCODING 40172 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +7F00 +4100 +7F00 +4100 +7F80 +4000 +7F80 +2480 +2440 +C3C0 +ENDCHAR +STARTCHAR U_9CED +ENCODING 40173 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +4A40 +4BC0 +4A40 +4BE0 +4A00 +4BE0 +4AA0 +6D60 +9040 +ENDCHAR +STARTCHAR U_9CEE +ENCODING 40174 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +F7C0 +1440 +97C0 +5440 +27E0 +2400 +57E0 +9020 +0AA0 +0D40 +ENDCHAR +STARTCHAR U_9CEF +ENCODING 40175 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4840 +5E40 +5240 +5E40 +5240 +5F40 +5040 +5F40 +5560 +AB20 +ENDCHAR +STARTCHAR U_9CF0 +ENCODING 40176 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +47C0 +2440 +27C0 +2440 +57E0 +5400 +4FE0 +8820 +82A0 +0540 +ENDCHAR +STARTCHAR U_9CF1 +ENCODING 40177 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +2440 +27C0 +FC40 +27E0 +2400 +27E0 +2AA0 +2DA0 +2040 +ENDCHAR +STARTCHAR U_9CF2 +ENCODING 40178 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7BC0 +4A40 +4BC0 +7A40 +43E0 +4200 +43E0 +42A0 +8560 +8040 +ENDCHAR +STARTCHAR U_9CF3 +ENCODING 40179 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FF80 +8880 +BE80 +A280 +BE80 +A280 +BF80 +A0A0 +BFA0 +D560 +AB20 +ENDCHAR +STARTCHAR U_9CF4 +ENCODING 40180 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9440 +97C0 +9440 +97E0 +F400 +07E0 +0AA0 +1560 +0040 +ENDCHAR +STARTCHAR U_9CF5 +ENCODING 40181 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +53C0 +5240 +53C0 +F240 +53E0 +5600 +53E0 +52A0 +4D60 +4840 +ENDCHAR +STARTCHAR U_9CF6 +ENCODING 40182 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0400 +0A20 +3FE0 +2100 +3F00 +2100 +3FC0 +5540 +8AC0 +ENDCHAR +STARTCHAR U_9CF7 +ENCODING 40183 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +1240 +13C0 +FE40 +4BE0 +4A00 +2BE0 +12A0 +2D60 +C540 +ENDCHAR +STARTCHAR U_9CF8 +ENCODING 40184 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4020 +7FE0 +4400 +5FC0 +5240 +5FE0 +5000 +9FE0 +AAA0 +ENDCHAR +STARTCHAR U_9CF9 +ENCODING 40185 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +5240 +8BC0 +2640 +13E0 +FA00 +0BE0 +12A0 +1560 +2040 +ENDCHAR +STARTCHAR U_9CFA +ENCODING 40186 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +FA40 +23C0 +2240 +FFE0 +2200 +33E0 +2AA0 +4D60 +8040 +ENDCHAR +STARTCHAR U_9CFB +ENCODING 40187 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +53C0 +4A40 +8BC0 +0640 +FBE0 +2A00 +2BE0 +2AA0 +6D60 +9040 +ENDCHAR +STARTCHAR U_9CFC +ENCODING 40188 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +23C0 +FE40 +0BC0 +4A40 +2BE0 +1200 +13E0 +2AA0 +4D60 +8040 +ENDCHAR +STARTCHAR U_9CFD +ENCODING 40189 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +5240 +53C0 +5240 +FBE0 +5200 +53E0 +5AA0 +5560 +9040 +ENDCHAR +STARTCHAR U_9CFE +ENCODING 40190 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +2240 +FBC0 +AA40 +ABE0 +AA00 +ABE0 +B820 +26A0 +2540 +ENDCHAR +STARTCHAR U_9CFF +ENCODING 40191 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +2240 +23C0 +2240 +FBE0 +2200 +23E0 +3AA0 +C560 +0040 +ENDCHAR +STARTCHAR U_9D00 +ENCODING 40192 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFC0 +1440 +27C0 +2440 +77E0 +6C00 +A7E0 +2520 +2AA0 +2040 +ENDCHAR +STARTCHAR U_9D01 +ENCODING 40193 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7BC0 +2240 +23C0 +FA40 +23E0 +2200 +53E0 +4820 +82A0 +0540 +ENDCHAR +STARTCHAR U_9D02 +ENCODING 40194 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +FA40 +2BC0 +2A40 +FFE0 +2200 +33E0 +4820 +46A0 +8540 +ENDCHAR +STARTCHAR U_9D03 +ENCODING 40195 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F100 +93C0 +F140 +9140 +FFE0 +8100 +F900 +5A80 +AA40 +9420 +ENDCHAR +STARTCHAR U_9D04 +ENCODING 40196 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +ABC0 +AA40 +ABC0 +AA40 +ABE0 +AA00 +CFE0 +82A0 +FD60 +0040 +ENDCHAR +STARTCHAR U_9D05 +ENCODING 40197 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +6A40 +5BC0 +4A40 +FFE0 +4A00 +4BE0 +4AA0 +4D60 +9840 +ENDCHAR +STARTCHAR U_9D06 +ENCODING 40198 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +FA40 +ABC0 +2240 +33E0 +3200 +37E0 +3AA0 +5560 +8040 +ENDCHAR +STARTCHAR U_9D07 +ENCODING 40199 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +53C0 +6240 +4BC0 +7A40 +23E0 +FA00 +23E0 +22A0 +2560 +2040 +ENDCHAR +STARTCHAR U_9D08 +ENCODING 40200 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4900 +4BC0 +5240 +53C0 +7240 +53E0 +5200 +53E0 +92A0 +9560 +ENDCHAR +STARTCHAR U_9D09 +ENCODING 40201 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +5240 +93C0 +FE40 +33E0 +3200 +53E0 +92A0 +5560 +2040 +ENDCHAR +STARTCHAR U_9D0A +ENCODING 40202 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FC0 +1440 +57C0 +5C40 +57E0 +5400 +57E0 +5820 +E6A0 +0540 +ENDCHAR +STARTCHAR U_9D0B +ENCODING 40203 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +FC40 +47C0 +7440 +57E0 +5400 +57E0 +5020 +9AA0 +3540 +ENDCHAR +STARTCHAR U_9D0C +ENCODING 40204 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +1100 +2880 +FFE0 +2880 +2480 +3FE0 +5520 +8AE0 +ENDCHAR +STARTCHAR U_9D0D +ENCODING 40205 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1100 +0E00 +F1E0 +0800 +3F80 +2480 +2280 +3FE0 +D520 +ENDCHAR +STARTCHAR U_9D0E +ENCODING 40206 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +8A40 +CBC0 +B240 +93E0 +AA00 +CBE0 +F820 +06A0 +0540 +ENDCHAR +STARTCHAR U_9D0F +ENCODING 40207 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22C0 +7AA0 +4A80 +7FE0 +4A80 +7E80 +4280 +7AA0 +0AA0 +AA60 +5A20 +ENDCHAR +STARTCHAR U_9D10 +ENCODING 40208 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7DE0 +2520 +49E0 +BF80 +2080 +3F80 +2080 +3FE0 +5520 +92A0 +ENDCHAR +STARTCHAR U_9D11 +ENCODING 40209 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FBC0 +5240 +3180 +CA60 +3F80 +2480 +3FE0 +2000 +3FE0 +D560 +ENDCHAR +STARTCHAR U_9D12 +ENCODING 40210 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +5240 +4BC0 +A640 +13E0 +FE00 +0BE0 +52A0 +2560 +1040 +ENDCHAR +STARTCHAR U_9D13 +ENCODING 40211 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2BC0 +4A40 +4BC0 +5240 +D7E0 +E600 +63E0 +4820 +BAA0 +0560 +ENDCHAR +STARTCHAR U_9D14 +ENCODING 40212 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +F3C0 +2240 +13C0 +FA40 +0BE0 +1200 +23E0 +4020 +A2A0 +1D60 +ENDCHAR +STARTCHAR U_9D15 +ENCODING 40213 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7BE0 +4A20 +7800 +4900 +7D20 +4140 +7D80 +5520 +AD20 +08E0 +ENDCHAR +STARTCHAR U_9D16 +ENCODING 40214 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +8A40 +FBC0 +A240 +FBE0 +A200 +A3E0 +A820 +DAA0 +8D40 +ENDCHAR +STARTCHAR U_9D17 +ENCODING 40215 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +23C0 +FA40 +03C0 +4A40 +4BE0 +3200 +23E0 +1AA0 +E560 +0060 +ENDCHAR +STARTCHAR U_9D18 +ENCODING 40216 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +4A40 +FFC0 +5240 +53E0 +FE00 +53E0 +52A0 +5560 +9040 +ENDCHAR +STARTCHAR U_9D19 +ENCODING 40217 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +43C0 +7A40 +A3C0 +2240 +FBE0 +2200 +23E0 +32A0 +4D60 +8040 +ENDCHAR +STARTCHAR U_9D1A +ENCODING 40218 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +7BE0 +4820 +7BA0 +4AA0 +7EA0 +43A0 +7C20 +0420 +D420 +AC60 +ENDCHAR +STARTCHAR U_9D1B +ENCODING 40219 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +D2A0 +2A60 +7F80 +A080 +3F80 +2080 +3FE0 +5520 +8AC0 +ENDCHAR +STARTCHAR U_9D1C +ENCODING 40220 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5BC0 +5220 +F9E0 +0800 +3F80 +2480 +3FC0 +2000 +3FC0 +5540 +ENDCHAR +STARTCHAR U_9D1D +ENCODING 40221 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +43C0 +FA40 +0BC0 +EA40 +ABE0 +AA00 +EBE0 +0AA0 +2D60 +1040 +ENDCHAR +STARTCHAR U_9D1E +ENCODING 40222 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +93C0 +9240 +F3C0 +0240 +FBE0 +4200 +73E0 +12A0 +5560 +2040 +ENDCHAR +STARTCHAR U_9D1F +ENCODING 40223 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +F3C0 +9240 +93C0 +FE40 +93E0 +9200 +93E0 +AAA0 +ED60 +9440 +ENDCHAR +STARTCHAR U_9D20 +ENCODING 40224 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7BC0 +4A40 +4BC0 +7A40 +4BE0 +7A00 +03E0 +1AA0 +E560 +0040 +ENDCHAR +STARTCHAR U_9D21 +ENCODING 40225 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7BC0 +4A40 +7BC0 +4A40 +7BE0 +4A00 +4BE0 +5C20 +E2A0 +0560 +ENDCHAR +STARTCHAR U_9D22 +ENCODING 40226 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +57C0 +7C40 +97C0 +B440 +F7E0 +5400 +97E0 +F420 +26A0 +4D60 +ENDCHAR +STARTCHAR U_9D23 +ENCODING 40227 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +FA40 +23C0 +2240 +FBE0 +8A00 +8BE0 +FAA0 +0560 +0060 +ENDCHAR +STARTCHAR U_9D24 +ENCODING 40228 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +79E0 +4A20 +7D40 +4880 +7D40 +4220 +7C80 +0440 +5480 +AC40 +ENDCHAR +STARTCHAR U_9D25 +ENCODING 40229 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +FBE0 +8A20 +F800 +8940 +FD40 +8140 +F940 +5A20 +AA20 +1C20 +ENDCHAR +STARTCHAR U_9D26 +ENCODING 40230 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +FFE0 +2880 +7FC0 +A0A0 +3F80 +2080 +3FE0 +5520 +8AE0 +ENDCHAR +STARTCHAR U_9D27 +ENCODING 40231 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +8A40 +03C0 +7240 +53E0 +5200 +57E0 +5820 +92A0 +0560 +ENDCHAR +STARTCHAR U_9D28 +ENCODING 40232 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +AA40 +FBC0 +AA40 +FBE0 +2200 +23E0 +22A0 +2560 +2040 +ENDCHAR +STARTCHAR U_9D29 +ENCODING 40233 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A3C0 +A240 +FBC0 +2240 +23E0 +FE00 +23E0 +32A0 +4D60 +8040 +ENDCHAR +STARTCHAR U_9D2A +ENCODING 40234 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +23C0 +FA40 +8BC0 +0240 +53E0 +4A00 +4BE0 +8020 +8AA0 +0540 +ENDCHAR +STARTCHAR U_9D2B +ENCODING 40235 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +AA40 +ABC0 +FA40 +ABE0 +AA00 +FBE0 +0020 +06A0 +0540 +ENDCHAR +STARTCHAR U_9D2C +ENCODING 40236 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2500 +FFE0 +8840 +3F80 +2480 +3FC0 +2000 +3FC0 +5540 +8AC0 +ENDCHAR +STARTCHAR U_9D2D +ENCODING 40237 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7C0 +9440 +97C0 +F440 +87E0 +F400 +97E0 +9020 +FAA0 +0540 +ENDCHAR +STARTCHAR U_9D2E +ENCODING 40238 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +4A40 +FFC0 +0240 +FFE0 +2200 +7BE0 +0AA0 +2D60 +1040 +ENDCHAR +STARTCHAR U_9D2F +ENCODING 40239 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +2240 +FFC0 +AA40 +ABE0 +AA00 +ABE0 +AAA0 +AD60 +9840 +ENDCHAR +STARTCHAR U_9D30 +ENCODING 40240 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E3C0 +2240 +FFC0 +2240 +23E0 +FA00 +8BE0 +8AA0 +FD60 +8840 +ENDCHAR +STARTCHAR U_9D31 +ENCODING 40241 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +FFC0 +2A40 +03C0 +0240 +4BE0 +2A00 +13E0 +2AA0 +4560 +8040 +ENDCHAR +STARTCHAR U_9D32 +ENCODING 40242 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +B7C0 +C440 +97C0 +7440 +07E0 +F400 +97E0 +F020 +92A0 +F540 +ENDCHAR +STARTCHAR U_9D33 +ENCODING 40243 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +13C0 +FE40 +ABC0 +2240 +FBE0 +4A00 +4BE0 +32A0 +2D60 +C040 +ENDCHAR +STARTCHAR U_9D34 +ENCODING 40244 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5BC0 +8240 +7FC0 +4A40 +CBE0 +4A00 +4BE0 +4820 +6AA0 +5540 +ENDCHAR +STARTCHAR U_9D35 +ENCODING 40245 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2BC0 +AE40 +6BC0 +2A40 +6FE0 +AA00 +2BE0 +2820 +4EA0 +8540 +ENDCHAR +STARTCHAR U_9D36 +ENCODING 40246 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +13C0 +FE40 +13C0 +7E40 +03E0 +7A00 +4BE0 +4AA0 +7D60 +4840 +ENDCHAR +STARTCHAR U_9D37 +ENCODING 40247 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC40 +2140 +3D40 +C940 +3440 +FFC0 +2080 +3F80 +2080 +3FE0 +D2A0 +ENDCHAR +STARTCHAR U_9D38 +ENCODING 40248 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +53C0 +7A40 +93C0 +1240 +FFE0 +1200 +3BE0 +56A0 +9560 +1040 +ENDCHAR +STARTCHAR U_9D39 +ENCODING 40249 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +FBC0 +2240 +7BC0 +2240 +FBE0 +2200 +23E0 +42A0 +4560 +8040 +ENDCHAR +STARTCHAR U_9D3A +ENCODING 40250 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2240 +FBC0 +2A40 +FBE0 +A200 +FBE0 +2820 +52A0 +8D60 +ENDCHAR +STARTCHAR U_9D3B +ENCODING 40251 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +5FC0 +0A40 +ABC0 +6A40 +2BE0 +2E00 +DBE0 +42A0 +4560 +4040 +ENDCHAR +STARTCHAR U_9D3C +ENCODING 40252 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +79C0 +4E40 +7980 +4A40 +7C20 +43C0 +7A40 +0A40 +AA40 +5BC0 +ENDCHAR +STARTCHAR U_9D3D +ENCODING 40253 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFC0 +4A40 +33C0 +CC00 +3F80 +2080 +3F80 +2080 +3FE0 +CAA0 +ENDCHAR +STARTCHAR U_9D3E +ENCODING 40254 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4BC0 +FE40 +13C0 +5240 +7FE0 +9200 +FFE0 +12A0 +1560 +1040 +ENDCHAR +STARTCHAR U_9D3F +ENCODING 40255 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +23C0 +5240 +8BC0 +7240 +03E0 +7A00 +4BE0 +4AA0 +7D60 +4840 +ENDCHAR +STARTCHAR U_9D40 +ENCODING 40256 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FC0 +4200 +DFE0 +4200 +4FC0 +1000 +3F80 +2480 +2280 +3FE0 +D4A0 +ENDCHAR +STARTCHAR U_9D41 +ENCODING 40257 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +13C0 +FE40 +2BC0 +4640 +ABE0 +2A00 +13E0 +2AA0 +4560 +8040 +ENDCHAR +STARTCHAR U_9D42 +ENCODING 40258 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +2BC0 +4A40 +5FC0 +CA40 +4FE0 +5A00 +6BE0 +4AA0 +4D60 +4D40 +ENDCHAR +STARTCHAR U_9D43 +ENCODING 40259 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7BC0 +4A40 +6BC0 +5A40 +FBE0 +4A00 +6BE0 +5AA0 +4D60 +5D40 +ENDCHAR +STARTCHAR U_9D44 +ENCODING 40260 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +2240 +53C0 +FA40 +23E0 +FA00 +23E0 +3820 +C6A0 +0540 +ENDCHAR +STARTCHAR U_9D45 +ENCODING 40261 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BC0 +4A40 +ABC0 +3240 +4BE0 +FA00 +4BE0 +4AA0 +7D60 +4D40 +ENDCHAR +STARTCHAR U_9D46 +ENCODING 40262 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +2EC0 +4A00 +AFE0 +2A40 +4F40 +C840 +4F40 +4140 +5540 +6BC0 +ENDCHAR +STARTCHAR U_9D47 +ENCODING 40263 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BC0 +5240 +93C0 +7A40 +53E0 +5200 +FBE0 +1020 +12A0 +1540 +ENDCHAR +STARTCHAR U_9D48 +ENCODING 40264 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FFC0 +4A40 +7BC0 +4A40 +7BE0 +4A00 +4FE0 +F820 +0AA0 +0D40 +ENDCHAR +STARTCHAR U_9D49 +ENCODING 40265 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +5280 +9A40 +7F80 +4480 +7FC0 +4000 +7FC0 +AA40 +9540 +ENDCHAR +STARTCHAR U_9D4A +ENCODING 40266 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +1240 +57C0 +5A40 +B7E0 +1200 +13E0 +2AA0 +4560 +8040 +ENDCHAR +STARTCHAR U_9D4B +ENCODING 40267 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7BC0 +0A40 +7BC0 +4640 +7FE0 +1200 +2BE0 +6420 +AAA0 +1D40 +ENDCHAR +STARTCHAR U_9D4C +ENCODING 40268 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +F940 +8A20 +FDC0 +8880 +FFE0 +8080 +FDC0 +56A0 +ACA0 +A980 +ENDCHAR +STARTCHAR U_9D4D +ENCODING 40269 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +8A40 +73C0 +0240 +FFE0 +5200 +53E0 +5820 +5560 +82A0 +ENDCHAR +STARTCHAR U_9D4E +ENCODING 40270 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D00 +E7C0 +AA40 +53C0 +1240 +FFE0 +2A00 +6BE0 +1020 +2D60 +C2A0 +ENDCHAR +STARTCHAR U_9D4F +ENCODING 40271 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +2BC0 +FA40 +23C0 +FA40 +ABE0 +FA00 +ABE0 +FAA0 +AD60 +B940 +ENDCHAR +STARTCHAR U_9D50 +ENCODING 40272 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +2240 +6BC0 +6A40 +6BE0 +B600 +23E0 +3820 +E560 +02A0 +ENDCHAR +STARTCHAR U_9D51 +ENCODING 40273 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8BC0 +FA40 +03C0 +FA40 +8BE0 +FA00 +8BE0 +FAA0 +8D60 +9840 +ENDCHAR +STARTCHAR U_9D52 +ENCODING 40274 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4BC0 +8640 +23C0 +4A40 +87E0 +7A00 +4BE0 +4AA0 +7D60 +4D40 +ENDCHAR +STARTCHAR U_9D53 +ENCODING 40275 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +2240 +FBC0 +8A40 +FBE0 +1200 +23E0 +FAA0 +2560 +6060 +ENDCHAR +STARTCHAR U_9D54 +ENCODING 40276 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7A40 +4FA0 +7940 +4A20 +7D00 +43C0 +7D40 +5480 +AD40 +AA20 +ENDCHAR +STARTCHAR U_9D55 +ENCODING 40277 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4BC0 +FE40 +4BC0 +A640 +7BE0 +4A00 +ABE0 +1020 +2D60 +CAA0 +ENDCHAR +STARTCHAR U_9D56 +ENCODING 40278 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9440 +F7C0 +9440 +F7E0 +8400 +A7E0 +B2A0 +D5A0 +8060 +ENDCHAR +STARTCHAR U_9D57 +ENCODING 40279 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +33C0 +4A40 +23C0 +FE40 +53E0 +7E00 +D7E0 +5420 +5EA0 +1560 +ENDCHAR +STARTCHAR U_9D58 +ENCODING 40280 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +2BC0 +FE40 +2BC0 +7A40 +23E0 +7A00 +CBE0 +4AA0 +7D60 +4840 +ENDCHAR +STARTCHAR U_9D59 +ENCODING 40281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +4A40 +7BC0 +4A40 +7BE0 +4A00 +7BE0 +22A0 +5560 +8D40 +ENDCHAR +STARTCHAR U_9D5A +ENCODING 40282 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +13C0 +FE40 +33C0 +5A40 +97E0 +7A00 +4BE0 +4AA0 +4D60 +8540 +ENDCHAR +STARTCHAR U_9D5B +ENCODING 40283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +57C0 +AA40 +ABC0 +5640 +03E0 +FA00 +23E0 +22A0 +3D60 +C040 +ENDCHAR +STARTCHAR U_9D5C +ENCODING 40284 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +53C0 +FA40 +2BC0 +FA40 +A3E0 +FA00 +2BE0 +6AA0 +BD60 +2540 +ENDCHAR +STARTCHAR U_9D5D +ENCODING 40285 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +DBC0 +5640 +FFC0 +5240 +73E0 +D600 +5BE0 +52A0 +6D60 +C540 +ENDCHAR +STARTCHAR U_9D5E +ENCODING 40286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7A80 +1240 +FFE0 +1140 +F4A0 +3FA0 +2080 +3F80 +2080 +3FE0 +D520 +ENDCHAR +STARTCHAR U_9D5F +ENCODING 40287 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +57E0 +3100 +5FC0 +3100 +D5E0 +3F80 +2080 +3F80 +2080 +3FE0 +D4A0 +ENDCHAR +STARTCHAR U_9D60 +ENCODING 40288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +53C0 +7A40 +93C0 +FE40 +03E0 +7A00 +4BE0 +4AA0 +7D60 +0040 +ENDCHAR +STARTCHAR U_9D61 +ENCODING 40289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +EFC0 +0A40 +FFC0 +2A40 +2BE0 +BA00 +ABE0 +AAA0 +A560 +F540 +ENDCHAR +STARTCHAR U_9D62 +ENCODING 40290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BC0 +4A40 +7BC0 +4A40 +7FE0 +4A00 +FBE0 +2820 +CD60 +1AA0 +ENDCHAR +STARTCHAR U_9D63 +ENCODING 40291 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +1240 +7FC0 +5640 +7FE0 +1200 +3BE0 +5420 +9560 +12A0 +ENDCHAR +STARTCHAR U_9D64 +ENCODING 40292 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BC0 +9240 +FBC0 +AA40 +FBE0 +AA00 +FBE0 +A820 +AD60 +9AA0 +ENDCHAR +STARTCHAR U_9D65 +ENCODING 40293 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5420 +FEA0 +10A0 +FE20 +2860 +7F80 +2080 +3F80 +2080 +3FE0 +D520 +ENDCHAR +STARTCHAR U_9D66 +ENCODING 40294 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4780 +F080 +9780 +F080 +9FE0 +F100 +8540 +FB80 +0D40 +D920 +AB00 +ENDCHAR +STARTCHAR U_9D67 +ENCODING 40295 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +53C0 +FE40 +53C0 +5240 +FFE0 +5200 +53E0 +52A0 +5560 +9040 +ENDCHAR +STARTCHAR U_9D68 +ENCODING 40296 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +4BC0 +8640 +7BC0 +1240 +FFE0 +1200 +7BE0 +4AA0 +7D60 +4840 +ENDCHAR +STARTCHAR U_9D69 +ENCODING 40297 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +ABC0 +AA40 +FBC0 +A240 +BFE0 +E600 +BBE0 +AAA0 +B560 +A440 +ENDCHAR +STARTCHAR U_9D6A +ENCODING 40298 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +2A40 +47C0 +FA40 +ABE0 +FA00 +ABE0 +FAA0 +2D60 +3040 +ENDCHAR +STARTCHAR U_9D6B +ENCODING 40299 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BC0 +2240 +FBC0 +8A40 +FBE0 +8A00 +FBE0 +22A0 +FD60 +2040 +ENDCHAR +STARTCHAR U_9D6C +ENCODING 40300 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +ABC0 +AA40 +FBC0 +AA40 +FBE0 +AA00 +ABE0 +AAA0 +AD60 +5840 +ENDCHAR +STARTCHAR U_9D6D +ENCODING 40301 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +13C0 +2A40 +7FC0 +9240 +7FE0 +1600 +5BE0 +3020 +1D60 +E2A0 +ENDCHAR +STARTCHAR U_9D6E +ENCODING 40302 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BC0 +9240 +43C0 +9A40 +8BE0 +DA00 +8BE0 +8820 +FD60 +02A0 +ENDCHAR +STARTCHAR U_9D6F +ENCODING 40303 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +AA40 +FBC0 +AA40 +FBE0 +2200 +53E0 +FEA0 +1560 +1040 +ENDCHAR +STARTCHAR U_9D70 +ENCODING 40304 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +ABC0 +FA40 +ABC0 +FA40 +8BE0 +BA00 +ABE0 +BAA0 +8D60 +9840 +ENDCHAR +STARTCHAR U_9D71 +ENCODING 40305 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1240 +FFC0 +2A40 +47E0 +9200 +7BE0 +12A0 +1D60 +E040 +ENDCHAR +STARTCHAR U_9D72 +ENCODING 40306 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FFC0 +5240 +FFC0 +0240 +7BE0 +4A00 +7BE0 +4AA0 +7D60 +4840 +ENDCHAR +STARTCHAR U_9D73 +ENCODING 40307 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +8A40 +FBC0 +8240 +BBE0 +AA00 +BBE0 +AAA0 +BD60 +A840 +ENDCHAR +STARTCHAR U_9D74 +ENCODING 40308 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BC0 +AA40 +7BC0 +2A40 +FBE0 +2A00 +7BE0 +AAA0 +2D60 +1040 +ENDCHAR +STARTCHAR U_9D75 +ENCODING 40309 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BC0 +9240 +FBC0 +AA40 +FBE0 +3200 +3BE0 +36A0 +5D60 +9040 +ENDCHAR +STARTCHAR U_9D76 +ENCODING 40310 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +5240 +53C0 +DA40 +8BE0 +DA00 +53E0 +5820 +E560 +02A0 +ENDCHAR +STARTCHAR U_9D77 +ENCODING 40311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +8640 +43C0 +7E40 +97E0 +5600 +3FE0 +32A0 +5D60 +9040 +ENDCHAR +STARTCHAR U_9D78 +ENCODING 40312 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +3240 +4BC0 +FE40 +0BE0 +EA00 +ABE0 +EAA0 +0D60 +1840 +ENDCHAR +STARTCHAR U_9D79 +ENCODING 40313 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +21E0 +FEA0 +6920 +BFC0 +2080 +3F80 +2080 +3FE0 +5520 +94C0 +ENDCHAR +STARTCHAR U_9D7A +ENCODING 40314 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +13C0 +FE40 +53C0 +5E40 +67E0 +DE00 +4BE0 +5420 +6560 +42A0 +ENDCHAR +STARTCHAR U_9D7B +ENCODING 40315 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +7940 +49E0 +7B40 +49E0 +7D40 +4140 +7DE0 +5540 +AD40 +A9E0 +ENDCHAR +STARTCHAR U_9D7C +ENCODING 40316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +23C0 +FA40 +8BC0 +5240 +8BE0 +7200 +23E0 +2820 +3560 +E2A0 +ENDCHAR +STARTCHAR U_9D7D +ENCODING 40317 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +A7C0 +5640 +ABC0 +9640 +03E0 +FE00 +27E0 +B820 +4AA0 +B560 +ENDCHAR +STARTCHAR U_9D7E +ENCODING 40318 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8BC0 +FA40 +8BC0 +FA40 +93E0 +FE00 +93E0 +B020 +DD60 +92A0 +ENDCHAR +STARTCHAR U_9D7F +ENCODING 40319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +7A20 +4BE0 +7A20 +4BE0 +7F40 +4140 +7FE0 +5540 +AD40 +AA40 +ENDCHAR +STARTCHAR U_9D80 +ENCODING 40320 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +F240 +97E0 +F240 +93C0 +FA40 +83C0 +FA40 +0FE0 +AA40 +5C20 +ENDCHAR +STARTCHAR U_9D81 +ENCODING 40321 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +0240 +73C0 +5240 +73E0 +2200 +73E0 +AAA0 +2560 +6040 +ENDCHAR +STARTCHAR U_9D82 +ENCODING 40322 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +DBC0 +8A40 +8BC0 +DA40 +8BE0 +FA00 +53E0 +5560 +5AA0 +92C0 +ENDCHAR +STARTCHAR U_9D83 +ENCODING 40323 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F660 +9420 +F6E0 +9420 +F7E0 +8280 +FA80 +0AA0 +DAA0 +AC60 +ENDCHAR +STARTCHAR U_9D84 +ENCODING 40324 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +23C0 +FA40 +23C0 +FE40 +4BE0 +7A00 +4BE0 +7D60 +4AA0 +5840 +ENDCHAR +STARTCHAR U_9D85 +ENCODING 40325 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +57C0 +AA40 +ABC0 +5640 +03E0 +FA00 +ABE0 +F960 +AAA0 +F840 +ENDCHAR +STARTCHAR U_9D86 +ENCODING 40326 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFC0 +1240 +57C0 +5A40 +B7E0 +1200 +3BE0 +5560 +92A0 +1060 +ENDCHAR +STARTCHAR U_9D87 +ENCODING 40327 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFC0 +2240 +FBC0 +AA40 +FBE0 +AA00 +FBE0 +2160 +72A0 +AAC0 +ENDCHAR +STARTCHAR U_9D88 +ENCODING 40328 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFC0 +2A40 +FFC0 +2A40 +FBE0 +2A00 +FFE0 +5160 +32A0 +CAC0 +ENDCHAR +STARTCHAR U_9D89 +ENCODING 40329 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFC0 +4A40 +7BC0 +0240 +7BE0 +0A00 +13E0 +FAA0 +1560 +7540 +ENDCHAR +STARTCHAR U_9D8A +ENCODING 40330 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFC0 +A240 +FBC0 +AE40 +FBE0 +AA00 +FBE0 +A2A0 +B560 +CD40 +ENDCHAR +STARTCHAR U_9D8B +ENCODING 40331 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8BC0 +FA40 +93C0 +FE40 +93E0 +9200 +BBE0 +AAA0 +AD60 +B860 +ENDCHAR +STARTCHAR U_9D8C +ENCODING 40332 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +8BC0 +FA40 +A3C0 +AA40 +ABE0 +FA00 +A3E0 +AAA0 +AD60 +F840 +ENDCHAR +STARTCHAR U_9D8D +ENCODING 40333 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8BC0 +FA40 +8BC0 +FA40 +43E0 +FA00 +5BE0 +A820 +4D60 +12A0 +ENDCHAR +STARTCHAR U_9D8E +ENCODING 40334 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +8A40 +73C0 +0240 +FFE0 +2200 +73E0 +A820 +2D60 +62A0 +ENDCHAR +STARTCHAR U_9D8F +ENCODING 40335 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D00 +EBC0 +AA40 +53C0 +FA40 +23E0 +FE00 +23E0 +2020 +5560 +8AA0 +ENDCHAR +STARTCHAR U_9D90 +ENCODING 40336 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8C80 +4BC0 +3F40 +09C0 +C940 +5FE0 +6B00 +49E0 +4820 +4AA0 +BD40 +ENDCHAR +STARTCHAR U_9D91 +ENCODING 40337 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +14A0 +5AC0 +5280 +2940 +C620 +3F80 +2080 +3F80 +2080 +3FE0 +D520 +ENDCHAR +STARTCHAR U_9D92 +ENCODING 40338 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2BC0 +FE40 +2BC0 +FA40 +ABE0 +FA00 +2BE0 +7AA0 +AB60 +3660 +ENDCHAR +STARTCHAR U_9D93 +ENCODING 40339 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +53C0 +FA40 +53C0 +FA40 +ABE0 +AA00 +FBE0 +A820 +AD60 +FAA0 +ENDCHAR +STARTCHAR U_9D94 +ENCODING 40340 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +2BC0 +FE40 +37C0 +5240 +B3E0 +1200 +FFE0 +3AA0 +5560 +9260 +ENDCHAR +STARTCHAR U_9D95 +ENCODING 40341 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +4640 +2BC0 +FE40 +03E0 +7A00 +4BE0 +7820 +4D60 +7AA0 +ENDCHAR +STARTCHAR U_9D96 +ENCODING 40342 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7100 +2540 +FD80 +7280 +AC60 +3F80 +2080 +3F80 +2080 +3FE0 +D4A0 +ENDCHAR +STARTCHAR U_9D97 +ENCODING 40343 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +7A40 +4BC0 +7A40 +03E0 +FA00 +A3E0 +BAA0 +E540 +BFE0 +ENDCHAR +STARTCHAR U_9D98 +ENCODING 40344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5C80 +55C0 +F540 +5DC0 +5540 +F5E0 +9500 +9DE0 +F560 +16A0 +2C60 +ENDCHAR +STARTCHAR U_9D99 +ENCODING 40345 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBC0 +5240 +FFC0 +A640 +FBE0 +AA00 +ABE0 +AAA0 +BD60 +2060 +ENDCHAR +STARTCHAR U_9D9A +ENCODING 40346 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +ABC0 +FA40 +03C0 +FA40 +03E0 +FE00 +23E0 +7AA0 +0D60 +3040 +ENDCHAR +STARTCHAR U_9D9B +ENCODING 40347 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +9480 +FBC0 +9240 +DFC0 +2240 +FBE0 +8A00 +FBE0 +8AA0 +FD60 +0040 +ENDCHAR +STARTCHAR U_9D9C +ENCODING 40348 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +FFC0 +2A40 +FFC0 +2A40 +13E0 +FE00 +37E0 +52A0 +95A0 +3060 +ENDCHAR +STARTCHAR U_9D9D +ENCODING 40349 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +03C0 +7A40 +4BC0 +7A40 +03E0 +FA00 +ABE0 +FAA0 +AD60 +F940 +ENDCHAR +STARTCHAR U_9D9E +ENCODING 40350 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +93C0 +FA40 +93C0 +BA40 +ABE0 +BA00 +ABE0 +BAA0 +AD60 +B840 +ENDCHAR +STARTCHAR U_9D9F +ENCODING 40351 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +8640 +2BC0 +4640 +ABE0 +2600 +FFE0 +22A0 +5560 +8D20 +ENDCHAR +STARTCHAR U_9DA0 +ENCODING 40352 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +ABC0 +BA40 +ABC0 +BA40 +93E0 +FE00 +ABE0 +9AA0 +A560 +FD20 +ENDCHAR +STARTCHAR U_9DA1 +ENCODING 40353 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +7A40 +4BC0 +7A40 +23E0 +7E00 +D7E0 +6EA0 +7560 +0860 +ENDCHAR +STARTCHAR U_9DA2 +ENCODING 40354 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E7C0 +AA40 +FBC0 +2240 +FFE0 +2200 +7BE0 +CAA0 +3560 +CC60 +ENDCHAR +STARTCHAR U_9DA3 +ENCODING 40355 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +8A40 +8BC0 +FA40 +83E0 +FE00 +ABE0 +FEA0 +AB60 +8460 +ENDCHAR +STARTCHAR U_9DA4 +ENCODING 40356 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +A7C0 +FE40 +ABC0 +FA40 +ABE0 +FA00 +23E0 +FAA0 +2560 +2060 +ENDCHAR +STARTCHAR U_9DA5 +ENCODING 40357 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +57C0 +7E40 +43C0 +7A40 +6BE0 +7A00 +ABE0 +B820 +AD60 +BAA0 +ENDCHAR +STARTCHAR U_9DA6 +ENCODING 40358 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FE40 +23C0 +7A40 +4CC0 +7F00 +2100 +3F00 +2100 +3FE0 +D520 +ENDCHAR +STARTCHAR U_9DA7 +ENCODING 40359 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FBC0 +5240 +23C0 +FA40 +ABE0 +FE00 +23E0 +32A0 +4D60 +8520 +ENDCHAR +STARTCHAR U_9DA8 +ENCODING 40360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +7A40 +0BC0 +FE40 +53E0 +B600 +5BE0 +B6A0 +5560 +A520 +ENDCHAR +STARTCHAR U_9DA9 +ENCODING 40361 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +29E0 +FF40 +5480 +9140 +3FA0 +2080 +3F80 +2080 +3FE0 +D4A0 +ENDCHAR +STARTCHAR U_9DAA +ENCODING 40362 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +7A40 +4BC0 +7A40 +4BE0 +7A00 +2BE0 +FC20 +52A0 +8D60 +ENDCHAR +STARTCHAR U_9DAB +ENCODING 40363 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2240 +FBC0 +AA40 +ABE0 +FA00 +23E0 +7020 +AD60 +22A0 +ENDCHAR +STARTCHAR U_9DAC +ENCODING 40364 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +6BC0 +9640 +7BC0 +4A40 +7BE0 +4A00 +7BE0 +6AA0 +AD60 +3860 +ENDCHAR +STARTCHAR U_9DAD +ENCODING 40365 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +DFE0 +2100 +FBE0 +5420 +BFC0 +2080 +3F80 +2080 +3FE0 +D4A0 +ENDCHAR +STARTCHAR U_9DAE +ENCODING 40366 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +0240 +73C0 +5240 +FBE0 +8A00 +EBE0 +A820 +ED60 +9AA0 +ENDCHAR +STARTCHAR U_9DAF +ENCODING 40367 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AD40 +2100 +5280 +7FE0 +8840 +BF80 +2080 +3F80 +2080 +3FE0 +D2A0 +ENDCHAR +STARTCHAR U_9DB0 +ENCODING 40368 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8BC0 +FA40 +03C0 +FA40 +8BE0 +FA00 +8BE0 +F820 +5560 +8AA0 +ENDCHAR +STARTCHAR U_9DB1 +ENCODING 40369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7FC0 +1100 +FFE0 +2840 +7FA0 +A480 +3FE0 +D520 +ENDCHAR +STARTCHAR U_9DB2 +ENCODING 40370 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2900 +47C0 +AA40 +7FC0 +0240 +EFE0 +2600 +B7E0 +6C20 +B6A0 +6D60 +ENDCHAR +STARTCHAR U_9DB3 +ENCODING 40371 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4800 +FFE0 +9480 +F7E0 +96A0 +FEA0 +92A0 +FEA0 +56E0 +B480 +3C80 +ENDCHAR +STARTCHAR U_9DB4 +ENCODING 40372 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBC0 +AA40 +53C0 +FA40 +53E0 +7A00 +53E0 +7C20 +52A0 +7D60 +ENDCHAR +STARTCHAR U_9DB5 +ENCODING 40373 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +7BC0 +AA40 +FBC0 +2A40 +53E0 +FA00 +ABE0 +FAA0 +2D60 +D540 +ENDCHAR +STARTCHAR U_9DB6 +ENCODING 40374 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFC0 +AA40 +FFC0 +AA40 +FBE0 +A200 +FBE0 +CAA0 +FD60 +8D40 +ENDCHAR +STARTCHAR U_9DB7 +ENCODING 40375 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBC0 +AA40 +FBC0 +2240 +FBE0 +2200 +FFE0 +8820 +8AA0 +FD60 +ENDCHAR +STARTCHAR U_9DB8 +ENCODING 40376 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EC80 +25C0 +ED40 +89C0 +ED40 +25E0 +B500 +6DE0 +B420 +26A0 +6D60 +ENDCHAR +STARTCHAR U_9DB9 +ENCODING 40377 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +BBC0 +AA40 +EBC0 +AA40 +53E0 +FA00 +ABE0 +F820 +AAA0 +FD40 +ENDCHAR +STARTCHAR U_9DBA +ENCODING 40378 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +73C0 +AA40 +53C0 +FE40 +4BE0 +7A00 +4BE0 +7AA0 +4D60 +5D40 +ENDCHAR +STARTCHAR U_9DBB +ENCODING 40379 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +6A40 +FFC0 +CA40 +7BE0 +4A00 +7BE0 +4D20 +4AA0 +5840 +ENDCHAR +STARTCHAR U_9DBC +ENCODING 40380 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +FFC0 +5240 +FBC0 +5A40 +FFE0 +5A00 +FBE0 +52A0 +DD60 +5540 +ENDCHAR +STARTCHAR U_9DBD +ENCODING 40381 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +7BC0 +D240 +7BC0 +5240 +7BE0 +1200 +FFE0 +1020 +12A0 +1560 +ENDCHAR +STARTCHAR U_9DBE +ENCODING 40382 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBE0 +2500 +FBC0 +9240 +F3E0 +9240 +F3E0 +22A0 +FD60 +2520 +ENDCHAR +STARTCHAR U_9DBF +ENCODING 40383 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +2940 +7380 +2940 +FFE0 +2080 +3F80 +2080 +7FE0 +94A0 +ENDCHAR +STARTCHAR U_9DC0 +ENCODING 40384 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2BC0 +FE40 +4BC0 +9240 +FFE0 +4A00 +4BE0 +B420 +FEA0 +0560 +ENDCHAR +STARTCHAR U_9DC1 +ENCODING 40385 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2BC0 +FE40 +2BC0 +4640 +83E0 +7E00 +57E0 +5420 +56A0 +FD60 +ENDCHAR +STARTCHAR U_9DC2 +ENCODING 40386 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D00 +EBC0 +AA40 +53C0 +7A40 +A3E0 +FA00 +23E0 +AAA0 +AD60 +F840 +ENDCHAR +STARTCHAR U_9DC3 +ENCODING 40387 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +7A40 +4BC0 +FE40 +8BE0 +2200 +FFE0 +5020 +22A0 +DD40 +ENDCHAR +STARTCHAR U_9DC4 +ENCODING 40388 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1D00 +EBC0 +5A40 +23C0 +5240 +2BE0 +7E00 +13E0 +FC20 +2AA0 +C540 +ENDCHAR +STARTCHAR U_9DC5 +ENCODING 40389 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +2BC0 +FE40 +ABC0 +FE40 +13E0 +FE00 +33E0 +5820 +56A0 +9560 +ENDCHAR +STARTCHAR U_9DC6 +ENCODING 40390 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +63C0 +4A40 +7BC0 +AA40 +BBE0 +AA00 +BBE0 +A820 +FAA0 +4D60 +ENDCHAR +STARTCHAR U_9DC7 +ENCODING 40391 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +7D40 +1140 +FF60 +9200 +7DC0 +4540 +7D40 +4480 +7F40 +AA20 +ENDCHAR +STARTCHAR U_9DC8 +ENCODING 40392 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F480 +94E0 +F480 +97E0 +FCA0 +87C0 +FCA0 +0DE0 +A940 +5A60 +ENDCHAR +STARTCHAR U_9DC9 +ENCODING 40393 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1C80 +F3C0 +9E40 +93C0 +FE40 +93E0 +FE00 +93E0 +9420 +BAA0 +AD40 +ENDCHAR +STARTCHAR U_9DCA +ENCODING 40394 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +03C0 +7240 +53C0 +7240 +03E0 +FA00 +DBE0 +AAA0 +FD60 +A940 +ENDCHAR +STARTCHAR U_9DCB +ENCODING 40395 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +FFC0 +4A40 +33C0 +4A40 +FFE0 +1200 +FFE0 +1020 +5AA0 +B540 +ENDCHAR +STARTCHAR U_9DCC +ENCODING 40396 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43E0 +F280 +93C0 +F280 +93C0 +FA80 +83E0 +F820 +5AA0 +AD60 +A940 +ENDCHAR +STARTCHAR U_9DCD +ENCODING 40397 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BC0 +4A40 +7BC0 +4A40 +7BE0 +1200 +FFE0 +3820 +56A0 +9560 +ENDCHAR +STARTCHAR U_9DCE +ENCODING 40398 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +CA40 +ABC0 +FA40 +23E0 +FA00 +53E0 +A820 +76A0 +2560 +ENDCHAR +STARTCHAR U_9DCF +ENCODING 40399 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2240 +7BC0 +4A40 +6BE0 +5A00 +4BE0 +FC20 +4AA0 +8560 +ENDCHAR +STARTCHAR U_9DD0 +ENCODING 40400 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +7A40 +4BC0 +FE40 +83E0 +FE00 +83E0 +FC20 +AAA0 +B560 +ENDCHAR +STARTCHAR U_9DD1 +ENCODING 40401 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +4BC0 +7E40 +ABC0 +2640 +13E0 +FE00 +4BE0 +2820 +12A0 +FD40 +ENDCHAR +STARTCHAR U_9DD2 +ENCODING 40402 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +AA40 +FBC0 +AA40 +FFE0 +1200 +FFE0 +5020 +12A0 +3540 +ENDCHAR +STARTCHAR U_9DD3 +ENCODING 40403 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +AA40 +ABC0 +FE40 +ABE0 +BA00 +83E0 +AAA0 +D560 +9540 +ENDCHAR +STARTCHAR U_9DD4 +ENCODING 40404 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FBE0 +2640 +F980 +5260 +BF80 +2080 +3F80 +2080 +3FE0 +5520 +ENDCHAR +STARTCHAR U_9DD5 +ENCODING 40405 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0500 +EFE0 +B900 +EFC0 +0900 +3FE0 +2480 +3FC0 +2000 +3FC0 +D540 +ENDCHAR +STARTCHAR U_9DD6 +ENCODING 40406 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +9240 +FFE0 +9240 +A980 +FE60 +0800 +3F80 +2480 +3FE0 +D2A0 +ENDCHAR +STARTCHAR U_9DD7 +ENCODING 40407 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +83C0 +BA40 +ABC0 +BA40 +83E0 +FA00 +ABE0 +FAA0 +8560 +FD40 +ENDCHAR +STARTCHAR U_9DD8 +ENCODING 40408 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FDE0 +AB40 +F880 +6940 +BFA0 +2080 +3F80 +2080 +3FE0 +D520 +ENDCHAR +STARTCHAR U_9DD9 +ENCODING 40409 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +5540 +FA40 +2520 +3F80 +2080 +3F80 +2080 +3FE0 +D4A0 +ENDCHAR +STARTCHAR U_9DDA +ENCODING 40410 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +B7C0 +6E40 +B7C0 +3240 +4BE0 +A600 +53E0 +2820 +12A0 +6540 +ENDCHAR +STARTCHAR U_9DDB +ENCODING 40411 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +7FC0 +5540 +7FC0 +5540 +7DE0 +5500 +7DE0 +5420 +7EA0 +9560 +ENDCHAR +STARTCHAR U_9DDC +ENCODING 40412 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +AA40 +FFC0 +AA40 +FBE0 +AA00 +FFE0 +4820 +32A0 +CD40 +ENDCHAR +STARTCHAR U_9DDD +ENCODING 40413 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +ABC0 +FA40 +ABC0 +FA40 +ABE0 +FE00 +ABE0 +FC20 +22A0 +2540 +ENDCHAR +STARTCHAR U_9DDE +ENCODING 40414 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FDC0 +1140 +BBC0 +5540 +BBE0 +5500 +BBE0 +3020 +4AA0 +8560 +ENDCHAR +STARTCHAR U_9DDF +ENCODING 40415 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FD00 +43E0 +7480 +57E0 +9240 +3FA0 +2480 +2280 +3FE0 +D2A0 +ENDCHAR +STARTCHAR U_9DE0 +ENCODING 40416 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BC0 +9240 +FBC0 +AA40 +FBE0 +AA00 +FBE0 +0020 +AAA0 +AD40 +ENDCHAR +STARTCHAR U_9DE1 +ENCODING 40417 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7FC0 +AA40 +ABC0 +FE40 +ABE0 +AA00 +FFE0 +0020 +56A0 +AD40 +ENDCHAR +STARTCHAR U_9DE2 +ENCODING 40418 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4900 +7DE0 +56A0 +FD40 +A220 +3F80 +2880 +2480 +3FE0 +D4A0 +ENDCHAR +STARTCHAR U_9DE3 +ENCODING 40419 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +2BC0 +FE40 +ABC0 +FE40 +4BE0 +7A00 +4BE0 +FC20 +12A0 +1540 +ENDCHAR +STARTCHAR U_9DE4 +ENCODING 40420 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +ABC0 +FA40 +03C0 +FA40 +ABE0 +FA00 +ABE0 +FC20 +22A0 +2560 +ENDCHAR +STARTCHAR U_9DE5 +ENCODING 40421 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +75C0 +2940 +FBE0 +AAA0 +3F80 +2080 +3F80 +2080 +3FE0 +D520 +ENDCHAR +STARTCHAR U_9DE6 +ENCODING 40422 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +7FC0 +D240 +7FC0 +5240 +7FE0 +5200 +7FE0 +5020 +AAA0 +AD40 +ENDCHAR +STARTCHAR U_9DE7 +ENCODING 40423 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +2240 +FFC0 +8640 +7BE0 +4A00 +7BE0 +5020 +3D60 +C2A0 +ENDCHAR +STARTCHAR U_9DE8 +ENCODING 40424 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +FFC0 +2940 +FFC0 +5540 +FFE0 +5500 +FFE0 +1160 +FEA0 +12A0 +ENDCHAR +STARTCHAR U_9DE9 +ENCODING 40425 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A500 +69E0 +FF40 +A480 +ED40 +BF20 +2100 +3F00 +2100 +3FE0 +D4A0 +ENDCHAR +STARTCHAR U_9DEA +ENCODING 40426 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +0400 +FFE0 +8820 +3F80 +2480 +3FE0 +6A40 +95C0 +ENDCHAR +STARTCHAR U_9DEB +ENCODING 40427 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FDC0 +1540 +FFC0 +9540 +FDE0 +9500 +FDE0 +9560 +DEA0 +D4A0 +ENDCHAR +STARTCHAR U_9DEC +ENCODING 40428 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FBC0 +5240 +FFC0 +2240 +FBE0 +AA00 +FBE0 +AAA0 +FD60 +8860 +ENDCHAR +STARTCHAR U_9DED +ENCODING 40429 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A7C0 +6A40 +FFC0 +6A40 +A7E0 +FA00 +ABE0 +F820 +AAA0 +FD60 +ENDCHAR +STARTCHAR U_9DEE +ENCODING 40430 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +23C0 +FE40 +4BC0 +BE40 +2BE0 +FE00 +87E0 +BEA0 +A560 +BD20 +ENDCHAR +STARTCHAR U_9DEF +ENCODING 40431 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFC0 +AB40 +7DC0 +C740 +7DE0 +4500 +7DE0 +5820 +96A0 +3540 +ENDCHAR +STARTCHAR U_9DF0 +ENCODING 40432 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +1100 +1F00 +EAE0 +2E80 +E8E0 +1000 +3F80 +2480 +3FE0 +D4A0 +ENDCHAR +STARTCHAR U_9DF1 +ENCODING 40433 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BC0 +4A40 +7BC0 +4A40 +7BE0 +3A00 +57E0 +FC20 +12A0 +1560 +ENDCHAR +STARTCHAR U_9DF2 +ENCODING 40434 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +FD20 +4BE0 +7A80 +54E0 +BF00 +2100 +3F00 +2100 +3FE0 +D4A0 +ENDCHAR +STARTCHAR U_9DF3 +ENCODING 40435 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE80 +ABC0 +EE40 +ABC0 +EE40 +BBE0 +AA00 +BBE0 +AA20 +BAA0 +CB60 +ENDCHAR +STARTCHAR U_9DF4 +ENCODING 40436 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ED00 +ABC0 +EE40 +ABC0 +EE40 +93E0 +FE00 +93E0 +BA20 +D6A0 +9360 +ENDCHAR +STARTCHAR U_9DF5 +ENCODING 40437 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8BC0 +FA40 +97C0 +FE40 +93E0 +FE00 +ABE0 +F820 +AAA0 +BD40 +ENDCHAR +STARTCHAR U_9DF6 +ENCODING 40438 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +ABC0 +FE40 +4BC0 +7A40 +4BE0 +7A00 +4BE0 +7820 +4AA0 +8560 +ENDCHAR +STARTCHAR U_9DF7 +ENCODING 40439 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FFC0 +5240 +FBC0 +AA40 +DBE0 +8A00 +FBE0 +9020 +52A0 +3540 +ENDCHAR +STARTCHAR U_9DF8 +ENCODING 40440 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +29C0 +FD40 +55C0 +9140 +FFE0 +AB00 +FFE0 +AA20 +BAA0 +8760 +ENDCHAR +STARTCHAR U_9DF9 +ENCODING 40441 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5500 +5FE0 +7500 +5FE0 +5040 +5FC0 +5040 +9FE0 +6AA0 +ENDCHAR +STARTCHAR U_9DFA +ENCODING 40442 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +9680 +F140 +27E0 +AA40 +FFC0 +4480 +7FE0 +4000 +7FE0 +94A0 +ENDCHAR +STARTCHAR U_9DFB +ENCODING 40443 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +EF80 +AAE0 +EEA0 +A0A0 +FFA0 +82A0 +FBA0 +4E40 +BAA0 +AF20 +ENDCHAR +STARTCHAR U_9DFC +ENCODING 40444 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +ABC0 +FA40 +ABC0 +FA40 +ABE0 +BA00 +ABE0 +B820 +8AA0 +8D60 +ENDCHAR +STARTCHAR U_9DFD +ENCODING 40445 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +75C0 +4A40 +75C0 +4A40 +FFE0 +A520 +3FC0 +2000 +3FE0 +5520 +94C0 +ENDCHAR +STARTCHAR U_9DFE +ENCODING 40446 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +5240 +FFC0 +4A40 +7BE0 +4A00 +7BE0 +3020 +6AA0 +BD40 +ENDCHAR +STARTCHAR U_9DFF +ENCODING 40447 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +47E0 +7D40 +67E0 +A480 +3FC0 +2040 +3FC0 +2040 +3FE0 +CAA0 +ENDCHAR +STARTCHAR U_9E00 +ENCODING 40448 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +ABC0 +FA40 +43C0 +FA40 +2BE0 +FA00 +ABE0 +F820 +2AA0 +D560 +ENDCHAR +STARTCHAR U_9E01 +ENCODING 40449 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +4000 +7FC0 +2080 +FF80 +95E0 +FEA0 +90E0 +FFA0 +95A0 +BAA0 +ENDCHAR +STARTCHAR U_9E02 +ENCODING 40450 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4C80 +35C0 +8940 +4FC0 +2540 +3FE0 +2900 +FFE0 +4960 +56A0 +6440 +ENDCHAR +STARTCHAR U_9E03 +ENCODING 40451 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +F7E0 +9080 +F7E0 +9100 +FAA0 +87E0 +FAA0 +0FC0 +5AA0 +AF60 +ENDCHAR +STARTCHAR U_9E04 +ENCODING 40452 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +79E0 +4B40 +FC80 +4940 +9FA0 +2480 +3FE0 +2000 +3FE0 +D2A0 +ENDCHAR +STARTCHAR U_9E05 +ENCODING 40453 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +ABC0 +FA40 +23C0 +FE40 +23E0 +FA00 +53E0 +FC20 +22A0 +2560 +ENDCHAR +STARTCHAR U_9E06 +ENCODING 40454 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3900 +23C0 +FE40 +A7C0 +FA40 +A7E0 +BE00 +93E0 +FEA0 +A960 +C420 +ENDCHAR +STARTCHAR U_9E07 +ENCODING 40455 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FDC0 +A540 +95C0 +FD40 +49E0 +7900 +49E0 +7AA0 +0560 +FC20 +ENDCHAR +STARTCHAR U_9E08 +ENCODING 40456 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AD00 +6BC0 +FE40 +2BC0 +7A40 +13E0 +7A00 +13E0 +FC20 +3AA0 +5560 +ENDCHAR +STARTCHAR U_9E09 +ENCODING 40457 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FC40 +37E0 +6AA0 +BFC0 +2080 +3F80 +2080 +3FE0 +5520 +92C0 +ENDCHAR +STARTCHAR U_9E0A +ENCODING 40458 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0880 +FFC0 +A240 +B7C0 +EA40 +9FE0 +EA00 +BFE0 +A820 +EAA0 +8D40 +ENDCHAR +STARTCHAR U_9E0B +ENCODING 40459 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +AA40 +57C0 +FE40 +ABE0 +FE00 +03E0 +FAA0 +1560 +3520 +ENDCHAR +STARTCHAR U_9E0C +ENCODING 40460 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4240 +FFE0 +9280 +F7E0 +9480 +FFC0 +8480 +FFE0 +0A40 +D980 +AE60 +ENDCHAR +STARTCHAR U_9E0D +ENCODING 40461 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +57C0 +9240 +FFC0 +DA40 +B7E0 +DA00 +B7E0 +DA20 +92A0 +8760 +ENDCHAR +STARTCHAR U_9E0E +ENCODING 40462 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7BC0 +4A40 +BFA0 +2080 +3F80 +2080 +3FE0 +5520 +8AE0 +ENDCHAR +STARTCHAR U_9E0F +ENCODING 40463 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FBC0 +5240 +FBC0 +8A40 +FBE0 +5600 +BBE0 +5AA0 +9560 +2520 +ENDCHAR +STARTCHAR U_9E10 +ENCODING 40464 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +4BC0 +EA40 +5BC0 +EA40 +93E0 +FA00 +93E0 +FAA0 +9560 +FD20 +ENDCHAR +STARTCHAR U_9E11 +ENCODING 40465 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A4C0 +5EA0 +A1E0 +3E80 +6340 +BFA0 +2080 +3FE0 +2080 +3FE0 +D520 +ENDCHAR +STARTCHAR U_9E12 +ENCODING 40466 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6EC0 +4840 +6EC0 +4A40 +FFE0 +4840 +BFA0 +2480 +2280 +7FE0 +92A0 +ENDCHAR +STARTCHAR U_9E13 +ENCODING 40467 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +55C0 +7D40 +55C0 +7D40 +01E0 +FF00 +ABE0 +FE20 +AAA0 +FF60 +ENDCHAR +STARTCHAR U_9E14 +ENCODING 40468 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +F420 +97E0 +F240 +97E0 +FA40 +87E0 +FD40 +5BA0 +AD40 +AB20 +ENDCHAR +STARTCHAR U_9E15 +ENCODING 40469 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3900 +23C0 +FE40 +A7C0 +FA40 +ABE0 +FA00 +ABE0 +FEA0 +9560 +FD20 +ENDCHAR +STARTCHAR U_9E16 +ENCODING 40470 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +13C0 +FE40 +D7C0 +3A40 +57E0 +7A00 +D3E0 +7820 +52A0 +7D60 +ENDCHAR +STARTCHAR U_9E17 +ENCODING 40471 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE00 +53C0 +FC40 +4BC0 +4A20 +3FE0 +2080 +3F80 +2080 +3FE0 +4AA0 +ENDCHAR +STARTCHAR U_9E18 +ENCODING 40472 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +23C0 +FE40 +ABC0 +7240 +ABE0 +5E00 +F7E0 +5C20 +F560 +5EA0 +ENDCHAR +STARTCHAR U_9E19 +ENCODING 40473 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +4BC0 +B640 +FFC0 +AA40 +FFE0 +0200 +FFE0 +AB60 +FEA0 +AA40 +ENDCHAR +STARTCHAR U_9E1A +ENCODING 40474 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +ABC0 +FA40 +ABC0 +FA40 +53E0 +AA00 +FBE0 +5020 +26A0 +D960 +ENDCHAR +STARTCHAR U_9E1B +ENCODING 40475 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +4BC0 +FA40 +ABC0 +FA40 +53E0 +7E00 +D3E0 +7C20 +52A0 +7D60 +ENDCHAR +STARTCHAR U_9E1C +ENCODING 40476 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +ABC0 +FA40 +ABC0 +FA40 +53E0 +FA00 +53E0 +7820 +52A0 +7D60 +ENDCHAR +STARTCHAR U_9E1D +ENCODING 40477 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +01C0 +EF40 +ABC0 +FD40 +95E0 +FF00 +95E0 +FE20 +A960 +BEA0 +ENDCHAR +STARTCHAR U_9E1E +ENCODING 40478 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +AEA0 +50E0 +EE40 +4AE0 +BFA0 +2080 +3FE0 +2080 +3FE0 +D4A0 +ENDCHAR +STARTCHAR U_9E1F +ENCODING 40479 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +7F00 +4100 +5100 +4900 +4200 +7FC0 +0040 +FF40 +0040 +0380 +ENDCHAR +STARTCHAR U_9E20 +ENCODING 40480 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +47C0 +F440 +5540 +5540 +5480 +57E0 +5020 +5FA0 +9020 +80C0 +ENDCHAR +STARTCHAR U_9E21 +ENCODING 40481 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +1440 +9540 +5540 +2480 +27E0 +5020 +4FA0 +8020 +00C0 +ENDCHAR +STARTCHAR U_9E22 +ENCODING 40482 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0480 +FFE0 +1200 +3FA0 +2960 +2500 +2200 +3FC0 +0040 +FF40 +00C0 +ENDCHAR +STARTCHAR U_9E23 +ENCODING 40483 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7C0 +9440 +9540 +9540 +9480 +F7E0 +0020 +0FA0 +0020 +00C0 +ENDCHAR +STARTCHAR U_9E24 +ENCODING 40484 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7BC0 +4A40 +4B40 +7AC0 +4200 +43E0 +4020 +47A0 +80A0 +8040 +ENDCHAR +STARTCHAR U_9E25 +ENCODING 40485 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +87C0 +9440 +D540 +A540 +A480 +D7E0 +9020 +87A0 +F820 +00C0 +ENDCHAR +STARTCHAR U_9E26 +ENCODING 40486 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +5440 +9540 +FD40 +3480 +37E0 +5020 +57A0 +9020 +3060 +ENDCHAR +STARTCHAR U_9E27 +ENCODING 40487 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +13C0 +2A40 +46C0 +FA40 +4BE0 +5820 +47A0 +4820 +38A0 +0040 +ENDCHAR +STARTCHAR U_9E28 +ENCODING 40488 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +77C0 +4440 +5540 +7540 +2480 +FFE0 +2020 +27A0 +2020 +20C0 +ENDCHAR +STARTCHAR U_9E29 +ENCODING 40489 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +FC40 +AD40 +2540 +3480 +37E0 +3020 +5FA0 +5020 +80C0 +ENDCHAR +STARTCHAR U_9E2A +ENCODING 40490 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2440 +FD40 +2540 +2480 +FFE0 +8820 +8FA0 +F820 +00C0 +ENDCHAR +STARTCHAR U_9E2B +ENCODING 40491 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2440 +5540 +9540 +FC80 +17E0 +5820 +97A0 +1020 +30C0 +ENDCHAR +STARTCHAR U_9E2C +ENCODING 40492 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3BC0 +2240 +FB40 +8AC0 +8A00 +FBE0 +8020 +87A0 +8020 +80C0 +ENDCHAR +STARTCHAR U_9E2D +ENCODING 40493 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +AA40 +FB40 +AAC0 +AA00 +FBE0 +2020 +2FA0 +2020 +20C0 +ENDCHAR +STARTCHAR U_9E2E +ENCODING 40494 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +7BC0 +4A40 +7AC0 +0240 +FBE0 +2020 +3BA0 +0820 +28A0 +1040 +ENDCHAR +STARTCHAR U_9E2F +ENCODING 40495 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +FFE0 +2480 +DF60 +1900 +1500 +1FC0 +0040 +7F40 +0080 +ENDCHAR +STARTCHAR U_9E30 +ENCODING 40496 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +13C0 +2A40 +5740 +92C0 +7A00 +0BE0 +5020 +27A0 +10A0 +0040 +ENDCHAR +STARTCHAR U_9E31 +ENCODING 40497 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C80 +F3C0 +9240 +9340 +FAC0 +9200 +93E0 +9020 +8FA0 +A8A0 +D440 +ENDCHAR +STARTCHAR U_9E32 +ENCODING 40498 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BC0 +8A40 +0B40 +EAC0 +AA00 +ABE0 +E820 +0FA0 +2820 +10C0 +ENDCHAR +STARTCHAR U_9E33 +ENCODING 40499 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3BC0 +4A40 +B2A0 +25E0 +7F80 +A880 +2480 +3FE0 +0020 +FF20 +00C0 +ENDCHAR +STARTCHAR U_9E34 +ENCODING 40500 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4840 +2480 +FFE0 +9040 +3F80 +2880 +2480 +3FC0 +0040 +FF40 +0080 +ENDCHAR +STARTCHAR U_9E35 +ENCODING 40501 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F7E0 +9420 +D000 +B200 +8240 +FA80 +0B00 +EA20 +0A20 +31E0 +ENDCHAR +STARTCHAR U_9E36 +ENCODING 40502 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2940 +5280 +FBE0 +0000 +FFE0 +2900 +2500 +3FC0 +0040 +FF40 +00C0 +ENDCHAR +STARTCHAR U_9E37 +ENCODING 40503 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +F780 +2A80 +F4A0 +2A60 +7F80 +2480 +3FE0 +0020 +FF20 +00C0 +ENDCHAR +STARTCHAR U_9E38 +ENCODING 40504 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +23C0 +4240 +FB40 +AAC0 +AA00 +ABE0 +A820 +AFA0 +A820 +98C0 +ENDCHAR +STARTCHAR U_9E39 +ENCODING 40505 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1900 +E7C0 +2440 +FD40 +2540 +2480 +FFE0 +8820 +8FA0 +F820 +88C0 +ENDCHAR +STARTCHAR U_9E3A +ENCODING 40506 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +2BE0 +4A20 +5EA0 +CAA0 +4E40 +5BE0 +6820 +4BA0 +4820 +48C0 +ENDCHAR +STARTCHAR U_9E3B +ENCODING 40507 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +5BC0 +8240 +4340 +7EC0 +CA00 +4BE0 +4820 +4FA0 +48A0 +5840 +ENDCHAR +STARTCHAR U_9E3C +ENCODING 40508 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7BC0 +4A40 +6B40 +5A40 +FFE0 +4820 +6FE0 +5820 +48A0 +9840 +ENDCHAR +STARTCHAR U_9E3D +ENCODING 40509 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +5440 +8D40 +F540 +0480 +F7E0 +9020 +97A0 +F020 +00C0 +ENDCHAR +STARTCHAR U_9E3E +ENCODING 40510 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +4940 +8920 +3F80 +2880 +2480 +3FE0 +0020 +FF20 +00C0 +ENDCHAR +STARTCHAR U_9E3F +ENCODING 40511 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FC0 +8A40 +4B40 +2AC0 +2A80 +2FE0 +D820 +47A0 +4020 +40C0 +ENDCHAR +STARTCHAR U_9E40 +ENCODING 40512 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +2240 +2B40 +6AC0 +6BE0 +B420 +27E0 +2020 +F8A0 +0040 +ENDCHAR +STARTCHAR U_9E41 +ENCODING 40513 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBC0 +2240 +FB40 +8AC0 +FA00 +13E0 +2020 +FFA0 +2020 +6060 +ENDCHAR +STARTCHAR U_9E42 +ENCODING 40514 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FBC0 +0240 +FB40 +AAC0 +AA00 +FBE0 +A820 +AFA0 +A820 +A8C0 +ENDCHAR +STARTCHAR U_9E43 +ENCODING 40515 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +F440 +0540 +F540 +9480 +F7E0 +9020 +FFA0 +9020 +B0C0 +ENDCHAR +STARTCHAR U_9E44 +ENCODING 40516 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +53C0 +7E40 +9340 +12C0 +FE00 +03E0 +7C20 +47A0 +7C20 +44C0 +ENDCHAR +STARTCHAR U_9E45 +ENCODING 40517 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3100 +DBC0 +5640 +FF40 +52C0 +7200 +D7E0 +5420 +4BA0 +5620 +E2C0 +ENDCHAR +STARTCHAR U_9E46 +ENCODING 40518 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +4BC0 +8640 +3340 +4AC0 +8600 +7BE0 +4820 +4FA0 +7820 +48C0 +ENDCHAR +STARTCHAR U_9E47 +ENCODING 40519 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +5BC0 +8A40 +AB40 +FAC0 +AA00 +BBE0 +E820 +AFA0 +A820 +98C0 +ENDCHAR +STARTCHAR U_9E48 +ENCODING 40520 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +23C0 +FA40 +2B40 +FAC0 +A200 +FBE0 +6820 +6FA0 +B820 +A0C0 +ENDCHAR +STARTCHAR U_9E49 +ENCODING 40521 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +EFC0 +0A40 +FF40 +2AC0 +BA00 +ABE0 +A820 +ABA0 +B420 +C260 +ENDCHAR +STARTCHAR U_9E4A +ENCODING 40522 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +53C0 +FA40 +5340 +FAC0 +0200 +7BE0 +4820 +7FA0 +4820 +78C0 +ENDCHAR +STARTCHAR U_9E4B +ENCODING 40523 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +FBC0 +5240 +0340 +FAC0 +AA00 +FBE0 +A820 +AFA0 +F820 +88C0 +ENDCHAR +STARTCHAR U_9E4C +ENCODING 40524 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +5240 +AB40 +FEC0 +AA80 +FBE0 +A820 +FFA0 +2020 +30C0 +ENDCHAR +STARTCHAR U_9E4D +ENCODING 40525 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +8BC0 +FA40 +8B40 +FAC0 +9200 +FFE0 +9020 +97A0 +D820 +9060 +ENDCHAR +STARTCHAR U_9E4E +ENCODING 40526 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FBC0 +AA40 +FB40 +AAC0 +FA80 +23E0 +5020 +FFA0 +1020 +10C0 +ENDCHAR +STARTCHAR U_9E4F +ENCODING 40527 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +EFC0 +AA40 +EF40 +AAC0 +AA00 +EFE0 +AA20 +ABA0 +AA20 +B6C0 +ENDCHAR +STARTCHAR U_9E50 +ENCODING 40528 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7BC0 +4A40 +9340 +42C0 +9A00 +8BE0 +D820 +8BA0 +F820 +0060 +ENDCHAR +STARTCHAR U_9E51 +ENCODING 40529 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +4A40 +7B40 +02C0 +7A00 +13E0 +1020 +FBA0 +1020 +30C0 +ENDCHAR +STARTCHAR U_9E52 +ENCODING 40530 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +A240 +FB40 +AAC0 +FE00 +ABE0 +F820 +A7A0 +D020 +8860 +ENDCHAR +STARTCHAR U_9E53 +ENCODING 40531 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +8640 +7F40 +5AC0 +9A00 +6FE0 +2820 +4BA0 +4C20 +8860 +ENDCHAR +STARTCHAR U_9E54 +ENCODING 40532 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +2A40 +FF40 +2AC0 +FA00 +ABE0 +F820 +AFA0 +A820 +A860 +ENDCHAR +STARTCHAR U_9E55 +ENCODING 40533 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +5DC0 +5540 +F5C0 +5D40 +F500 +9DE0 +9420 +F7A0 +2420 +4C60 +ENDCHAR +STARTCHAR U_9E56 +ENCODING 40534 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +7A40 +4B40 +7A40 +23E0 +7C20 +D7E0 +6C20 +74A0 +0840 +ENDCHAR +STARTCHAR U_9E57 +ENCODING 40535 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE80 +ABC0 +EE40 +0340 +7AC0 +0200 +FFE0 +2020 +7BA0 +0820 +30C0 +ENDCHAR +STARTCHAR U_9E58 +ENCODING 40536 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4BC0 +6A40 +5B40 +FEC0 +8600 +7BE0 +4820 +7FA0 +4820 +58C0 +ENDCHAR +STARTCHAR U_9E59 +ENCODING 40537 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7080 +22A0 +FC80 +7140 +AA20 +3F80 +2480 +3FE0 +0020 +FF20 +0060 +ENDCHAR +STARTCHAR U_9E5A +ENCODING 40538 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4500 +2BC0 +FE40 +4B40 +4AC0 +B600 +4BE0 +4820 +B7A0 +FC20 +00C0 +ENDCHAR +STARTCHAR U_9E5B +ENCODING 40539 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +97C0 +FE40 +8340 +BEC0 +A600 +BFE0 +A420 +BFA0 +A420 +BCC0 +ENDCHAR +STARTCHAR U_9E5C +ENCODING 40540 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +2BE0 +FC80 +3540 +5FA0 +9480 +1280 +1FE0 +0020 +7F20 +00C0 +ENDCHAR +STARTCHAR U_9E5D +ENCODING 40541 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFC0 +5240 +7340 +02C0 +FA00 +DBE0 +F820 +AFA0 +A820 +A860 +ENDCHAR +STARTCHAR U_9E5E +ENCODING 40542 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C80 +F5E0 +A520 +59A0 +7D60 +9100 +FDE0 +1020 +57A0 +5420 +7C60 +ENDCHAR +STARTCHAR U_9E5F +ENCODING 40543 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +AFC0 +5240 +FB40 +02C0 +FFE0 +2420 +B7A0 +6C20 +B4A0 +6C40 +ENDCHAR +STARTCHAR U_9E60 +ENCODING 40544 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +DDC0 +9540 +D5C0 +AD40 +01E0 +FC20 +A7A0 +FC20 +A4A0 +FC40 +ENDCHAR +STARTCHAR U_9E61 +ENCODING 40545 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5500 +3BC0 +D640 +2B40 +4680 +FBE0 +4820 +7FA0 +4820 +78A0 +4840 +ENDCHAR +STARTCHAR U_9E62 +ENCODING 40546 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +4BC0 +3240 +FF40 +4AC0 +8600 +7FE0 +5420 +5FA0 +F020 +0060 +ENDCHAR +STARTCHAR U_9E63 +ENCODING 40547 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8880 +51C0 +FF40 +55C0 +FF40 +5500 +FDE0 +5020 +DBE0 +5420 +5060 +ENDCHAR +STARTCHAR U_9E64 +ENCODING 40548 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +A640 +5340 +7EC0 +D280 +7BE0 +5020 +7BE0 +5020 +7C60 +ENDCHAR +STARTCHAR U_9E65 +ENCODING 40549 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FDC0 +8140 +FBE0 +A880 +FF60 +0800 +3F80 +2480 +3FC0 +0040 +FF40 +ENDCHAR +STARTCHAR U_9E66 +ENCODING 40550 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +EE80 +ABC0 +AA40 +AB40 +44C0 +AA00 +13E0 +FC20 +2BA0 +1020 +6C60 +ENDCHAR +STARTCHAR U_9E67 +ENCODING 40551 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +8120 +A9A0 +FF60 +A900 +B9E0 +8020 +ABA0 +D420 +8060 +ENDCHAR +STARTCHAR U_9E68 +ENCODING 40552 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC80 +25E0 +B520 +6DA0 +9560 +2900 +D5E0 +2020 +4BE0 +1020 +60C0 +ENDCHAR +STARTCHAR U_9E69 +ENCODING 40553 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFC0 +5640 +7B40 +CEC0 +7A00 +4BE0 +7820 +5BA0 +9420 +3060 +ENDCHAR +STARTCHAR U_9E6A +ENCODING 40554 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +7DC0 +5140 +FDC0 +5140 +7D00 +51E0 +7C20 +55E0 +AA20 +AA60 +ENDCHAR +STARTCHAR U_9E6B +ENCODING 40555 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +FFE0 +4900 +79A0 +56E0 +BF00 +2500 +3FC0 +0040 +FF40 +0080 +ENDCHAR +STARTCHAR U_9E6C +ENCODING 40556 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +29C0 +FD40 +35C0 +5140 +FF00 +ABE0 +C620 +BBE0 +AA20 +BA60 +ENDCHAR +STARTCHAR U_9E6D +ENCODING 40557 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4D40 +7BC0 +A660 +BBC0 +FF00 +2900 +3FE0 +0020 +FF20 +00C0 +ENDCHAR +STARTCHAR U_9E6E +ENCODING 40558 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +ABC0 +FE40 +0340 +FE80 +4BE0 +7820 +67E0 +D820 +48A0 +6440 +ENDCHAR +STARTCHAR U_9E6F +ENCODING 40559 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFC0 +AB40 +BAC0 +8240 +FFE0 +4820 +7BE0 +4820 +FCA0 +0040 +ENDCHAR +STARTCHAR U_9E70 +ENCODING 40560 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +5500 +7FC0 +5500 +5FE0 +5280 +5FE0 +4020 +BF20 +80C0 +ENDCHAR +STARTCHAR U_9E71 +ENCODING 40561 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +F7E0 +9140 +D7E0 +B280 +83E0 +FA80 +0BE0 +E940 +0880 +3360 +ENDCHAR +STARTCHAR U_9E72 +ENCODING 40562 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4900 +FFC0 +4A40 +FF40 +86C0 +7A40 +67E0 +B820 +5BA0 +9420 +30C0 +ENDCHAR +STARTCHAR U_9E73 +ENCODING 40563 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +4BC0 +EE40 +AB40 +EEC0 +5200 +7FE0 +D020 +7FA0 +5020 +7E60 +ENDCHAR +STARTCHAR U_9E74 +ENCODING 40564 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +13C0 +FF40 +D6C0 +3A40 +57E0 +FC20 +57E0 +7C20 +D4A0 +5C40 +ENDCHAR +STARTCHAR U_9E75 +ENCODING 40565 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0FC0 +0800 +FF80 +C980 +A280 +D480 +AD80 +8C80 +9A80 +A580 +FF80 +ENDCHAR +STARTCHAR U_9E76 +ENCODING 40566 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3D00 +2280 +FC40 +A920 +D880 +ABC0 +A840 +D880 +A880 +F900 +ENDCHAR +STARTCHAR U_9E77 +ENCODING 40567 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3C80 +2140 +FF20 +AC80 +D400 +BFE0 +D440 +AD80 +D480 +FC40 +ENDCHAR +STARTCHAR U_9E78 +ENCODING 40568 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3940 +2220 +FDC0 +A880 +DBE0 +AAA0 +DBE0 +A880 +F940 +0620 +ENDCHAR +STARTCHAR U_9E79 +ENCODING 40569 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +20C0 +30A0 +2FE0 +F880 +AE80 +D8A0 +AEA0 +DAC0 +AEA0 +D960 +FA20 +ENDCHAR +STARTCHAR U_9E7A +ENCODING 40570 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +3FE0 +2080 +FBE0 +A880 +DFE0 +A900 +DBE0 +AC80 +8880 +FBE0 +ENDCHAR +STARTCHAR U_9E7B +ENCODING 40571 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2440 +3FE0 +2280 +FFE0 +AAA0 +DFE0 +AAA0 +FFE0 +AAC0 +DEA0 +FA80 +ENDCHAR +STARTCHAR U_9E7C +ENCODING 40572 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2180 +3A40 +25A0 +F800 +ABE0 +DAA0 +ABE0 +D940 +A940 +8AA0 +FCA0 +ENDCHAR +STARTCHAR U_9E7D +ENCODING 40573 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7E0 +AD00 +F7E0 +9540 +F6C0 +A540 +F7C0 +0000 +7FC0 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_9E7E +ENCODING 40574 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +3940 +23E0 +F880 +89C0 +D880 +AFE0 +A900 +DBC0 +8C80 +FBE0 +ENDCHAR +STARTCHAR U_9E7F +ENCODING 40575 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4900 +7FE0 +4920 +7FE0 +5120 +5D40 +51A0 +9D20 +90E0 +ENDCHAR +STARTCHAR U_9E80 +ENCODING 40576 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4920 +7FE0 +5540 +59A0 +5DE0 +5000 +5F20 +5020 +8FE0 +ENDCHAR +STARTCHAR U_9E81 +ENCODING 40577 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0F00 +3200 +0C00 +7FE0 +4A40 +7FC0 +5200 +5AC0 +5300 +5A20 +91E0 +ENDCHAR +STARTCHAR U_9E82 +ENCODING 40578 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4940 +7FC0 +5100 +5DC0 +5120 +5FE0 +5100 +9120 +A0E0 +ENDCHAR +STARTCHAR U_9E83 +ENCODING 40579 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4900 +7FE0 +4920 +7FE0 +5140 +5DA0 +5120 +9DE0 +A940 +ENDCHAR +STARTCHAR U_9E84 +ENCODING 40580 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +3E80 +CA60 +1200 +7FE0 +5240 +7FC0 +5240 +5B80 +5220 +99E0 +ENDCHAR +STARTCHAR U_9E85 +ENCODING 40581 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4A40 +7FC0 +5280 +5B20 +51E0 +5F80 +7280 +5220 +8FE0 +ENDCHAR +STARTCHAR U_9E86 +ENCODING 40582 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4940 +7FC0 +5500 +5920 +5FE0 +5080 +5F80 +9080 +7FE0 +ENDCHAR +STARTCHAR U_9E87 +ENCODING 40583 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4940 +7FC0 +5540 +59A0 +5FE0 +4200 +7FE0 +8A80 +B260 +ENDCHAR +STARTCHAR U_9E88 +ENCODING 40584 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4940 +7FC0 +5540 +59A0 +7FE0 +4200 +5FC0 +8200 +FFE0 +ENDCHAR +STARTCHAR U_9E89 +ENCODING 40585 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +FBE0 +2480 +7FE0 +4A40 +7FC0 +6240 +7BA0 +A220 +B9E0 +ENDCHAR +STARTCHAR U_9E8A +ENCODING 40586 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +7FE0 +1500 +2480 +7FE0 +4A40 +7FC0 +5140 +5D80 +9120 +9CE0 +ENDCHAR +STARTCHAR U_9E8B +ENCODING 40587 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4A40 +7FC0 +5120 +5DE0 +6480 +5500 +7FE0 +9500 +A4C0 +ENDCHAR +STARTCHAR U_9E8C +ENCODING 40588 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4940 +7FC0 +4920 +7FE0 +5100 +7FC0 +4400 +BFE0 +9080 +ENDCHAR +STARTCHAR U_9E8D +ENCODING 40589 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4940 +7FC0 +5100 +5520 +7FE0 +4840 +7F80 +9520 +A5E0 +ENDCHAR +STARTCHAR U_9E8E +ENCODING 40590 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4A40 +7FC0 +4920 +5FE0 +5000 +5FE0 +5940 +A880 +AC60 +ENDCHAR +STARTCHAR U_9E8F +ENCODING 40591 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4A40 +7FC0 +4440 +7FE0 +4440 +7FC0 +5880 +A880 +CF80 +ENDCHAR +STARTCHAR U_9E90 +ENCODING 40592 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5240 +7FC0 +5220 +5BE0 +4200 +5FC0 +4700 +B8E0 +8F80 +ENDCHAR +STARTCHAR U_9E91 +ENCODING 40593 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9240 +FFC0 +AA40 +B2A0 +BBE0 +A040 +BFC0 +8A20 +33E0 +ENDCHAR +STARTCHAR U_9E92 +ENCODING 40594 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +FD40 +ABE0 +FD40 +A9C0 +FD40 +A9C0 +BD40 +ABE0 +B940 +AE20 +ENDCHAR +STARTCHAR U_9E93 +ENCODING 40595 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +6AC0 +A4A0 +7FE0 +4A40 +7FC0 +6240 +7FA0 +A220 +BBE0 +ENDCHAR +STARTCHAR U_9E94 +ENCODING 40596 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9920 +FFE0 +AA80 +B320 +FFE0 +AA80 +D240 +BFE0 +A080 +BF80 +ENDCHAR +STARTCHAR U_9E95 +ENCODING 40597 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4A40 +7FC0 +4920 +5FE0 +5240 +5FC0 +5740 +9AC0 +1FC0 +ENDCHAR +STARTCHAR U_9E96 +ENCODING 40598 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4940 +7FC0 +4920 +4DE0 +7FC0 +4880 +4F80 +8A80 +1240 +ENDCHAR +STARTCHAR U_9E97 +ENCODING 40599 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +4A40 +6B40 +5AC0 +7FE0 +4A40 +7FC0 +6240 +BFA0 +A220 +BBE0 +ENDCHAR +STARTCHAR U_9E98 +ENCODING 40600 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4940 +7FC0 +4920 +5FE0 +4200 +7FE0 +4F80 +7AE0 +8F80 +ENDCHAR +STARTCHAR U_9E99 +ENCODING 40601 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9240 +FFC0 +A220 +BBE0 +A280 +FFE0 +8240 +BD80 +A520 +BEE0 +ENDCHAR +STARTCHAR U_9E9A +ENCODING 40602 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9240 +FFC0 +A280 +BB20 +A3E0 +B840 +ABC0 +BA40 +A180 +BE60 +ENDCHAR +STARTCHAR U_9E9B +ENCODING 40603 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9240 +FFC0 +AA80 +B320 +FFE0 +8A40 +FBC0 +8A40 +B7E0 +ENDCHAR +STARTCHAR U_9E9C +ENCODING 40604 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +9240 +FFC0 +A200 +BBC0 +A200 +FFE0 +AA40 +FFE0 +8E00 +F5C0 +ENDCHAR +STARTCHAR U_9E9D +ENCODING 40605 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4A40 +7FC0 +5220 +5FE0 +5440 +57E0 +7E40 +9540 +ACC0 +ENDCHAR +STARTCHAR U_9E9E +ENCODING 40606 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4940 +7FC0 +5220 +5FE0 +4880 +4F80 +4880 +7FE0 +8200 +ENDCHAR +STARTCHAR U_9E9F +ENCODING 40607 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +12A0 +FDC0 +ABE0 +FCC0 +ADA0 +FD40 +ABE0 +BD40 +ABE0 +BA40 +2C40 +ENDCHAR +STARTCHAR U_9EA0 +ENCODING 40608 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4920 +7FE0 +5540 +5980 +7FE0 +5240 +7FE0 +9240 +FFE0 +ENDCHAR +STARTCHAR U_9EA1 +ENCODING 40609 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4A40 +7FC0 +5680 +5B20 +7FE0 +4A80 +5540 +5480 +9F80 +A080 +ENDCHAR +STARTCHAR U_9EA2 +ENCODING 40610 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4A40 +7FC0 +5220 +5FE0 +6AA0 +5740 +5FC0 +5540 +9FC0 +ENDCHAR +STARTCHAR U_9EA3 +ENCODING 40611 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FD40 +AFE0 +F840 +AF40 +FA60 +AFA0 +BD20 +EB40 +BFA0 +0920 +ENDCHAR +STARTCHAR U_9EA4 +ENCODING 40612 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4A80 +7FC0 +5200 +5F80 +9220 +FBE0 +AAA0 +FBE0 +AB40 +BD60 +ENDCHAR +STARTCHAR U_9EA5 +ENCODING 40613 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +5F40 +9520 +2880 +CF60 +1100 +6E00 +0500 +78C0 +ENDCHAR +STARTCHAR U_9EA6 +ENCODING 40614 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +3F80 +0400 +FFE0 +0800 +1F80 +6900 +0600 +79E0 +ENDCHAR +STARTCHAR U_9EA7 +ENCODING 40615 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +55E0 +BA00 +3BE0 +5440 +BA80 +2900 +5220 +2A20 +C1E0 +ENDCHAR +STARTCHAR U_9EA8 +ENCODING 40616 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +5500 +5540 +AB20 +4520 +B940 +4880 +B100 +3200 +CC00 +ENDCHAR +STARTCHAR U_9EA9 +ENCODING 40617 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FE80 +55E0 +7A80 +9080 +3BE0 +5480 +BC80 +6940 +1240 +6C20 +ENDCHAR +STARTCHAR U_9EAA +ENCODING 40618 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FFE0 +5480 +5480 +AAE0 +46A0 +BBE0 +6820 +9020 +28A0 +C040 +ENDCHAR +STARTCHAR U_9EAB +ENCODING 40619 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +FFE0 +5480 +56E0 +AA80 +47E0 +B820 +6820 +9020 +28A0 +C040 +ENDCHAR +STARTCHAR U_9EAC +ENCODING 40620 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FC80 +57E0 +56A0 +BA80 +4BC0 +A740 +3A80 +5480 +2540 +DA20 +ENDCHAR +STARTCHAR U_9EAD +ENCODING 40621 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FFE0 +5420 +BBA0 +12A0 +3AA0 +57A0 +BE60 +6A00 +1220 +69E0 +ENDCHAR +STARTCHAR U_9EAE +ENCODING 40622 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FC80 +55E0 +5480 +BA80 +3BE0 +5480 +BC80 +6900 +1220 +6BE0 +ENDCHAR +STARTCHAR U_9EAF +ENCODING 40623 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FC80 +5480 +57E0 +BAA0 +4AA0 +A7E0 +7AA0 +D2A0 +22A0 +D3E0 +ENDCHAR +STARTCHAR U_9EB0 +ENCODING 40624 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FC80 +5520 +7BE0 +9280 +3BE0 +5480 +BFE0 +6880 +1080 +6880 +ENDCHAR +STARTCHAR U_9EB1 +ENCODING 40625 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +10C0 +FCA0 +57E0 +5480 +BBE0 +4AA0 +A7E0 +3AA0 +6BE0 +12A0 +EA60 +ENDCHAR +STARTCHAR U_9EB2 +ENCODING 40626 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +FA40 +57C0 +5640 +BBC0 +4A40 +A7C0 +7A80 +D280 +24A0 +D860 +ENDCHAR +STARTCHAR U_9EB3 +ENCODING 40627 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFE0 +AD40 +AD40 +73A0 +5100 +8B80 +7340 +D560 +2900 +D100 +ENDCHAR +STARTCHAR U_9EB4 +ENCODING 40628 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +FBE0 +5520 +7D60 +93A0 +2FE0 +D5A0 +3B60 +6D20 +1120 +6860 +ENDCHAR +STARTCHAR U_9EB5 +ENCODING 40629 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +FD00 +57E0 +7AA0 +92A0 +3BA0 +56A0 +BFA0 +6AA0 +12A0 +6BE0 +ENDCHAR +STARTCHAR U_9EB6 +ENCODING 40630 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FFE0 +AB60 +FAA0 +27E0 +7080 +AFE0 +7CA0 +D560 +27E0 +D420 +ENDCHAR +STARTCHAR U_9EB7 +ENCODING 40631 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2AA0 +FFE0 +AAA0 +FFE0 +2AA0 +7AA0 +AFE0 +7A60 +D3E0 +3140 +CFE0 +ENDCHAR +STARTCHAR U_9EB8 +ENCODING 40632 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +27E0 +F900 +2100 +FFE0 +2100 +3A80 +D280 +2440 +D820 +ENDCHAR +STARTCHAR U_9EB9 +ENCODING 40633 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +FE00 +23E0 +7D20 +2560 +FBA0 +27E0 +7BA0 +D560 +21A0 +D040 +ENDCHAR +STARTCHAR U_9EBA +ENCODING 40634 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +FFE0 +2100 +7200 +2FE0 +FAA0 +4BA0 +7AA0 +DBA0 +2AA0 +DFE0 +ENDCHAR +STARTCHAR U_9EBB +ENCODING 40635 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +4880 +7FE0 +4880 +5DC0 +6AC0 +4CA0 +8880 +8880 +ENDCHAR +STARTCHAR U_9EBC +ENCODING 40636 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4880 +7FE0 +4DC0 +5AA0 +6AA0 +4480 +4F00 +8240 +9FE0 +ENDCHAR +STARTCHAR U_9EBD +ENCODING 40637 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +5080 +7FE0 +5180 +7AC0 +54A0 +4A00 +5400 +A880 +9FC0 +ENDCHAR +STARTCHAR U_9EBE +ENCODING 40638 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4880 +7FE0 +5DC0 +6AA0 +5F80 +4400 +7FC0 +8420 +83E0 +ENDCHAR +STARTCHAR U_9EBF +ENCODING 40639 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +5DC0 +6AA0 +4F80 +4880 +5FC0 +9040 +9FC0 +ENDCHAR +STARTCHAR U_9EC0 +ENCODING 40640 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8880 +FFE0 +ADC0 +CAA0 +FFE0 +A540 +BC80 +A540 +FE20 +ENDCHAR +STARTCHAR U_9EC1 +ENCODING 40641 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4880 +7FC0 +5DC0 +6AA0 +5FC0 +4A80 +7FE0 +8880 +8F80 +ENDCHAR +STARTCHAR U_9EC2 +ENCODING 40642 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4880 +7FE0 +4A80 +7FE0 +5080 +5F80 +5080 +9F80 +B0C0 +ENDCHAR +STARTCHAR U_9EC3 +ENCODING 40643 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1F00 +0000 +FFE0 +2480 +3F80 +2480 +3F80 +C060 +ENDCHAR +STARTCHAR U_9EC4 +ENCODING 40644 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +1100 +FFE0 +0400 +3F80 +2480 +3F80 +2480 +3F80 +60C0 +ENDCHAR +STARTCHAR U_9EC5 +ENCODING 40645 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F900 +5280 +FA40 +2520 +F880 +ABC0 +F840 +A880 +F880 +8500 +ENDCHAR +STARTCHAR U_9EC6 +ENCODING 40646 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F900 +57E0 +FD20 +2140 +F900 +A980 +F980 +AA80 +FAA0 +8C60 +ENDCHAR +STARTCHAR U_9EC7 +ENCODING 40647 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F900 +51E0 +FD00 +2100 +FBC0 +AA40 +FA40 +AA40 +FA40 +8FC0 +ENDCHAR +STARTCHAR U_9EC8 +ENCODING 40648 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F880 +53E0 +F880 +2080 +F880 +ABE0 +F880 +A880 +F880 +8FE0 +ENDCHAR +STARTCHAR U_9EC9 +ENCODING 40649 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FFE0 +9220 +7F80 +1200 +FFE0 +2480 +3F80 +2480 +3F80 +C060 +ENDCHAR +STARTCHAR U_9ECA +ENCODING 40650 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5080 +F880 +53E0 +F880 +27E0 +F880 +A880 +FBE0 +A880 +F880 +8FE0 +ENDCHAR +STARTCHAR U_9ECB +ENCODING 40651 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +AFC0 +7280 +27E0 +FD40 +57C0 +5540 +57C0 +5440 +5820 +8FE0 +ENDCHAR +STARTCHAR U_9ECC +ENCODING 40652 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +6AC0 +75C0 +4A40 +FFE0 +9120 +FFE0 +4440 +7FC0 +4440 +7FC0 +C060 +ENDCHAR +STARTCHAR U_9ECD +ENCODING 40653 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +1500 +2480 +CE60 +1500 +74E0 +0F00 +3480 +CC60 +ENDCHAR +STARTCHAR U_9ECE +ENCODING 40654 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +23E0 +FCA0 +70A0 +AD20 +2AC0 +1500 +F5E0 +0E00 +75C0 +0C00 +ENDCHAR +STARTCHAR U_9ECF +ENCODING 40655 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7C80 +1080 +FEE0 +5480 +9280 +29E0 +D720 +5520 +3920 +5520 +B3E0 +ENDCHAR +STARTCHAR U_9ED0 +ENCODING 40656 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +27E0 +FEA0 +7520 +AEA0 +77E0 +A900 +AFE0 +7560 +AFA0 +6460 +ENDCHAR +STARTCHAR U_9ED1 +ENCODING 40657 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +5540 +4E40 +7FC0 +0400 +7FC0 +0400 +FFE0 +5240 +8920 +ENDCHAR +STARTCHAR U_9ED2 +ENCODING 40658 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +7FC0 +0400 +7FC0 +0400 +FFE0 +5240 +8920 +ENDCHAR +STARTCHAR U_9ED3 +ENCODING 40659 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F940 +A920 +F900 +AFE0 +F900 +2100 +F900 +20A0 +F8A0 +D460 +A820 +ENDCHAR +STARTCHAR U_9ED4 +ENCODING 40660 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A900 +FA80 +AC40 +F920 +2080 +FBE0 +2040 +FC80 +6880 +9500 +ENDCHAR +STARTCHAR U_9ED5 +ENCODING 40661 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A880 +FBE0 +AAA0 +FAA0 +2080 +F880 +2080 +F9A0 +56A0 +9460 +ENDCHAR +STARTCHAR U_9ED6 +ENCODING 40662 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A880 +FA80 +AA80 +FFE0 +2080 +F880 +2180 +FAA0 +54A0 +9460 +ENDCHAR +STARTCHAR U_9ED7 +ENCODING 40663 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A900 +FFE0 +A900 +FD40 +2540 +F7C0 +2100 +F900 +5120 +A8E0 +ENDCHAR +STARTCHAR U_9ED8 +ENCODING 40664 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A980 +F940 +AFE0 +F900 +2100 +F900 +2280 +FA80 +5440 +A820 +ENDCHAR +STARTCHAR U_9ED9 +ENCODING 40665 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A940 +F920 +AFE0 +F900 +2280 +F280 +2460 +F800 +5240 +8920 +ENDCHAR +STARTCHAR U_9EDA +ENCODING 40666 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +AA40 +FFE0 +AA40 +FA40 +23C0 +FA40 +2240 +FA40 +6A40 +97C0 +ENDCHAR +STARTCHAR U_9EDB +ENCODING 40667 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +5FE0 +C120 +7FE0 +2A80 +3F80 +0400 +3F80 +0400 +FFE0 +4A40 +ENDCHAR +STARTCHAR U_9EDC +ENCODING 40668 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +AAA0 +FAA0 +AAA0 +FBE0 +2080 +F880 +22A0 +FAA0 +52A0 +ABE0 +ENDCHAR +STARTCHAR U_9EDD +ENCODING 40669 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +AA80 +FC80 +ADE0 +FAA0 +22A0 +FDA0 +27A0 +F8A0 +5120 +AAC0 +ENDCHAR +STARTCHAR U_9EDE +ENCODING 40670 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A880 +F8E0 +A880 +F880 +23E0 +FA20 +2220 +FA20 +5220 +ABE0 +ENDCHAR +STARTCHAR U_9EDF +ENCODING 40671 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +A9E0 +FA20 +A940 +F880 +23E0 +F920 +22A0 +F840 +5080 +AB00 +ENDCHAR +STARTCHAR U_9EE0 +ENCODING 40672 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A880 +FFE0 +A880 +FBE0 +2000 +FBE0 +2220 +FA20 +5220 +ABE0 +ENDCHAR +STARTCHAR U_9EE1 +ENCODING 40673 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4240 +7FE0 +4880 +7FE0 +5AC0 +5740 +5FC0 +4200 +BFE0 +94A0 +ENDCHAR +STARTCHAR U_9EE2 +ENCODING 40674 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +AA40 +FFE0 +A940 +FA20 +2500 +F9E0 +2340 +FC80 +5140 +AE20 +ENDCHAR +STARTCHAR U_9EE3 +ENCODING 40675 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +ABE0 +FC00 +AFC0 +FD40 +27E0 +FC40 +2540 +FFE0 +A940 +A880 +ENDCHAR +STARTCHAR U_9EE4 +ENCODING 40676 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +AFE0 +F940 +AAA0 +FFE0 +22A0 +FBE0 +22A0 +FBE0 +50A0 +A8E0 +ENDCHAR +STARTCHAR U_9EE5 +ENCODING 40677 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +AFE0 +F800 +ABE0 +FA20 +23E0 +F880 +22C0 +FAA0 +54A0 +A980 +ENDCHAR +STARTCHAR U_9EE6 +ENCODING 40678 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +AFE0 +FC20 +AA00 +FBE0 +22A0 +FCA0 +22E0 +F980 +52A0 +ACE0 +ENDCHAR +STARTCHAR U_9EE7 +ENCODING 40679 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +23E0 +FD20 +6A20 +A440 +7FC0 +5540 +7FC0 +0400 +FFC0 +8920 +ENDCHAR +STARTCHAR U_9EE8 +ENCODING 40680 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +FFE0 +A0A0 +7FC0 +4A40 +7FC0 +0400 +7FC0 +0400 +FFE0 +9220 +ENDCHAR +STARTCHAR U_9EE9 +ENCODING 40681 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +ABE0 +F880 +AFE0 +FA20 +2580 +FA80 +27E0 +F880 +5140 +AE20 +ENDCHAR +STARTCHAR U_9EEA +ENCODING 40682 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +AA40 +FFE0 +A880 +FFE0 +2280 +FD40 +22A0 +FD40 +5280 +A900 +ENDCHAR +STARTCHAR U_9EEB +ENCODING 40683 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +AA80 +FFE0 +AAA0 +FAA0 +22A0 +FFE0 +2080 +FBE0 +5080 +AFE0 +ENDCHAR +STARTCHAR U_9EEC +ENCODING 40684 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F8C0 +A8A0 +FFE0 +AC80 +FF80 +24A0 +FFA0 +2540 +FFC0 +D560 +AA20 +ENDCHAR +STARTCHAR U_9EED +ENCODING 40685 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A940 +FBE0 +AC00 +FBE0 +2220 +FBE0 +2240 +FFE0 +5240 +AC40 +ENDCHAR +STARTCHAR U_9EEE +ENCODING 40686 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA40 +AFE0 +FA40 +ABC0 +FA40 +23C0 +FA40 +27E0 +FD40 +5620 +AFE0 +ENDCHAR +STARTCHAR U_9EEF +ENCODING 40687 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +AFE0 +FA20 +A940 +FFE0 +2000 +FBE0 +2220 +FBE0 +0220 +ABE0 +ENDCHAR +STARTCHAR U_9EF0 +ENCODING 40688 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +AFE0 +F900 +ABC0 +FA40 +23C0 +FA40 +23C0 +FA40 +57E0 +AA40 +ENDCHAR +STARTCHAR U_9EF1 +ENCODING 40689 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0540 +77C0 +5100 +5FE0 +7440 +5FE0 +7540 +57C0 +5100 +9FE0 +2AA0 +ENDCHAR +STARTCHAR U_9EF2 +ENCODING 40690 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +A940 +FBE0 +AAA0 +FFE0 +2240 +FD20 +22A0 +F940 +5080 +AB00 +ENDCHAR +STARTCHAR U_9EF3 +ENCODING 40691 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9260 +FFC0 +A940 +FFE0 +5540 +7FC0 +0400 +FFE0 +5240 +8920 +ENDCHAR +STARTCHAR U_9EF4 +ENCODING 40692 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3580 +5F80 +80E0 +3FA0 +55A0 +DFA0 +44A0 +5FA0 +4440 +5FA0 +5520 +ENDCHAR +STARTCHAR U_9EF5 +ENCODING 40693 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +ABE0 +FEA0 +AB40 +FBE0 +2200 +FBE0 +2200 +FDE0 +5120 +A9E0 +ENDCHAR +STARTCHAR U_9EF6 +ENCODING 40694 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +A4A0 +BFE0 +B480 +AD40 +BFE0 +AAA0 +BFE0 +8200 +FFE0 +A920 +ENDCHAR +STARTCHAR U_9EF7 +ENCODING 40695 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F880 +AFE0 +F880 +AFE0 +FAA0 +2FE0 +FA40 +23C0 +FA40 +53C0 +AC20 +ENDCHAR +STARTCHAR U_9EF8 +ENCODING 40696 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F9C0 +A900 +FFE0 +AD40 +FF80 +2520 +FCE0 +26A0 +FFE0 +AAA0 +B7E0 +ENDCHAR +STARTCHAR U_9EF9 +ENCODING 40697 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4A40 +2A80 +FFE0 +2480 +1500 +7FC0 +4640 +4D40 +54C0 +6440 +44C0 +ENDCHAR +STARTCHAR U_9EFA +ENCODING 40698 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AA40 +6D40 +2920 +FE20 +5400 +FFE0 +9520 +B520 +DD20 +95A0 +9640 +ENDCHAR +STARTCHAR U_9EFB +ENCODING 40699 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A940 +6D20 +2BE0 +FD00 +5500 +FDC0 +9540 +B740 +DE80 +9540 +9620 +ENDCHAR +STARTCHAR U_9EFC +ENCODING 40700 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +AAC0 +6CA0 +29E0 +FE80 +55E0 +FEA0 +93E0 +BAA0 +D7E0 +92A0 +96E0 +ENDCHAR +STARTCHAR U_9EFD +ENCODING 40701 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFC0 +9240 +F3C0 +1200 +F3C0 +9240 +F3C0 +9240 +F3C0 +1220 +0FE0 +ENDCHAR +STARTCHAR U_9EFE +ENCODING 40702 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F00 +4100 +7F00 +0800 +FF80 +8880 +FF80 +8880 +FF80 +0840 +07C0 +ENDCHAR +STARTCHAR U_9EFF +ENCODING 40703 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0000 +FFC0 +1220 +FFE0 +4A40 +FBC0 +8A40 +FBC0 +0A20 +07E0 +ENDCHAR +STARTCHAR U_9F00 +ENCODING 40704 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +4040 +BFA0 +2A80 +7BC0 +4A40 +7BC0 +0A20 +07E0 +ENDCHAR +STARTCHAR U_9F01 +ENCODING 40705 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +1100 +7FC0 +4A40 +FBC0 +8A40 +FBC0 +0A20 +0FE0 +ENDCHAR +STARTCHAR U_9F02 +ENCODING 40706 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +FFE0 +0000 +3F80 +2A80 +FBE0 +AAA0 +FBE0 +0A20 +07E0 +ENDCHAR +STARTCHAR U_9F03 +ENCODING 40707 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0400 +FFE0 +0000 +FFE0 +4A40 +FBE0 +AAA0 +FBE0 +0A20 +07E0 +ENDCHAR +STARTCHAR U_9F04 +ENCODING 40708 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +4400 +FFE0 +2480 +7FC0 +AAA0 +7BC0 +4A40 +7BC0 +0A20 +07E0 +ENDCHAR +STARTCHAR U_9F05 +ENCODING 40709 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +9120 +FFE0 +4400 +BF80 +2A80 +7BC0 +4A40 +7BC0 +0A20 +0FE0 +ENDCHAR +STARTCHAR U_9F06 +ENCODING 40710 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +86A0 +7BE0 +4880 +7BE0 +4AA0 +7BE0 +12A0 +FFE0 +28A0 +44E0 +ENDCHAR +STARTCHAR U_9F07 +ENCODING 40711 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA00 +23E0 +FD40 +4880 +FFE0 +4A80 +FBC0 +8A40 +FBC0 +0A20 +0FE0 +ENDCHAR +STARTCHAR U_9F08 +ENCODING 40712 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +A900 +73E0 +FD40 +A880 +A960 +3F80 +2A80 +7BC0 +4A40 +7BA0 +07E0 +ENDCHAR +STARTCHAR U_9F09 +ENCODING 40713 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FFE0 +4440 +FFE0 +4A40 +FFC0 +8A40 +8BC0 +FA20 +0FE0 +ENDCHAR +STARTCHAR U_9F0A +ENCODING 40714 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4940 +7FE0 +A480 +7FC0 +4A40 +FBE0 +8A20 +FBE0 +0A20 +07E0 +ENDCHAR +STARTCHAR U_9F0B +ENCODING 40715 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +0000 +7FC0 +2220 +FFE0 +2080 +7FC0 +4440 +7FC0 +0420 +03E0 +ENDCHAR +STARTCHAR U_9F0C +ENCODING 40716 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +2500 +FFE0 +2080 +7FC0 +4440 +7FC0 +4440 +7FC0 +0420 +03E0 +ENDCHAR +STARTCHAR U_9F0D +ENCODING 40717 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +7FC0 +2480 +FFE0 +2100 +7FC0 +4440 +7FC0 +0420 +03E0 +ENDCHAR +STARTCHAR U_9F0E +ENCODING 40718 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +1080 +1F80 +50A0 +5FA0 +50A0 +7FE0 +0900 +F9E0 +4920 +8920 +ENDCHAR +STARTCHAR U_9F0F +ENCODING 40719 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8020 +1F00 +5140 +5F40 +5140 +7FC0 +0A00 +FBE0 +4A40 +8A40 +ENDCHAR +STARTCHAR U_9F10 +ENCODING 40720 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7F80 +11E0 +2020 +DF60 +1100 +5F40 +5140 +7FC0 +0A00 +7BE0 +8A20 +ENDCHAR +STARTCHAR U_9F11 +ENCODING 40721 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0780 +0400 +5F40 +5540 +5B40 +5540 +7FC0 +0900 +F9E0 +4920 +8920 +ENDCHAR +STARTCHAR U_9F12 +ENCODING 40722 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +0A00 +7F00 +1100 +5F40 +5140 +7FC0 +0A00 +7BE0 +8A40 +ENDCHAR +STARTCHAR U_9F13 +ENCODING 40723 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FC80 +23E0 +7880 +03E0 +7A20 +4940 +7940 +4880 +3D40 +C620 +ENDCHAR +STARTCHAR U_9F14 +ENCODING 40724 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FD00 +11E0 +7900 +07E0 +7C40 +4A40 +7980 +2980 +3260 +CC40 +ENDCHAR +STARTCHAR U_9F15 +ENCODING 40725 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +FBC0 +8940 +FE80 +5140 +FE20 +1100 +E4E0 +0A00 +0400 +ENDCHAR +STARTCHAR U_9F16 +ENCODING 40726 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +1500 +FFE0 +2080 +FFE0 +2080 +FBE0 +8940 +F880 +5140 +FA20 +ENDCHAR +STARTCHAR U_9F17 +ENCODING 40727 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2A80 +5B40 +F9E0 +2080 +FFE0 +2080 +FBE0 +8940 +F880 +5140 +FA20 +ENDCHAR +STARTCHAR U_9F18 +ENCODING 40728 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +FBE0 +8940 +F880 +5360 +FA40 +7FC0 +4040 +7BC0 +8A40 +ENDCHAR +STARTCHAR U_9F19 +ENCODING 40729 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +FBE0 +8940 +F8C0 +FFA0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_9F1A +ENCODING 40730 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +FBE0 +8940 +F880 +5160 +FF80 +2000 +FFE0 +2280 +39E0 +ENDCHAR +STARTCHAR U_9F1B +ENCODING 40731 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +FBE0 +8940 +F880 +5760 +F980 +5140 +3FE0 +E080 +3F80 +ENDCHAR +STARTCHAR U_9F1C +ENCODING 40732 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +FBE0 +8940 +F880 +5360 +FF80 +2A00 +7FC0 +A4A0 +FFC0 +ENDCHAR +STARTCHAR U_9F1D +ENCODING 40733 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4AA0 +AEE0 +4820 +CEE0 +52A0 +FFE0 +2900 +3BC0 +2A40 +1980 +E660 +ENDCHAR +STARTCHAR U_9F1E +ENCODING 40734 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +FBE0 +8940 +FC80 +5540 +FFE0 +9120 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_9F1F +ENCODING 40735 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +2A80 +3900 +2A80 +FE80 +2940 +3F80 +D160 +0E00 +7FC0 +ENDCHAR +STARTCHAR U_9F20 +ENCODING 40736 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F780 +8080 +F780 +8080 +FF80 +0000 +CD00 +AB00 +CD40 +AAC0 +EE40 +ENDCHAR +STARTCHAR U_9F21 +ENCODING 40737 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2480 +0100 +3FC0 +2440 +3FC0 +2440 +3FC0 +2440 +4440 +8420 +ENDCHAR +STARTCHAR U_9F22 +ENCODING 40738 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5880 +8940 +D940 +8A20 +FC20 +ABE0 +F920 +A920 +FA20 +A4A0 +F240 +ENDCHAR +STARTCHAR U_9F23 +ENCODING 40739 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5880 +88C0 +D8A0 +8880 +FFE0 +A880 +F880 +A940 +F940 +A620 +F220 +ENDCHAR +STARTCHAR U_9F24 +ENCODING 40740 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5900 +8880 +DFE0 +8A40 +FA40 +AA40 +F980 +A880 +F940 +A640 +F220 +ENDCHAR +STARTCHAR U_9F25 +ENCODING 40741 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5940 +8920 +DFE0 +8900 +F900 +A9E0 +FA20 +AD40 +F880 +A540 +F220 +ENDCHAR +STARTCHAR U_9F26 +ENCODING 40742 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BE0 +8920 +D920 +8920 +FAC0 +AC00 +F9E0 +A920 +F920 +AD20 +E5E0 +ENDCHAR +STARTCHAR U_9F27 +ENCODING 40743 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5900 +8880 +DFE0 +8C20 +FA00 +AA40 +FB80 +AA00 +FA20 +AE20 +F5E0 +ENDCHAR +STARTCHAR U_9F28 +ENCODING 40744 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5900 +8900 +D9E0 +8A20 +FD40 +A880 +F940 +AEA0 +F840 +A480 +F240 +ENDCHAR +STARTCHAR U_9F29 +ENCODING 40745 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5A00 +8A00 +DBE0 +8C20 +FBA0 +AAA0 +FBA0 +A820 +F820 +AAA0 +F640 +ENDCHAR +STARTCHAR U_9F2A +ENCODING 40746 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5880 +8A80 +DBE0 +8C80 +F880 +A880 +FBE0 +A880 +F880 +A880 +F7E0 +ENDCHAR +STARTCHAR U_9F2B +ENCODING 40747 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BE0 +8880 +D880 +8900 +F9E0 +AB20 +FD20 +A920 +FD20 +AD20 +F5E0 +ENDCHAR +STARTCHAR U_9F2C +ENCODING 40748 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5880 +8880 +DBE0 +8AA0 +FAA0 +AAA0 +FBE0 +AAA0 +FEA0 +AEA0 +F7E0 +ENDCHAR +STARTCHAR U_9F2D +ENCODING 40749 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5880 +8BE0 +D880 +8FE0 +F840 +AFE0 +F840 +AA40 +F940 +AC40 +F4C0 +ENDCHAR +STARTCHAR U_9F2E +ENCODING 40750 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5E00 +8AE0 +DA40 +8A40 +FCE0 +AA40 +FA40 +AE40 +FAE0 +AB00 +F4E0 +ENDCHAR +STARTCHAR U_9F2F +ENCODING 40751 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +8900 +DBC0 +8940 +F940 +AFE0 +F800 +ABC0 +FA40 +AA40 +F7C0 +ENDCHAR +STARTCHAR U_9F30 +ENCODING 40752 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BE0 +8A20 +DA20 +8BE0 +FA20 +ABE0 +FA20 +AA20 +FBE0 +A940 +F620 +ENDCHAR +STARTCHAR U_9F31 +ENCODING 40753 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5880 +8BE0 +D880 +8BE0 +F880 +AFE0 +FA20 +ABE0 +FA20 +ABE0 +F620 +ENDCHAR +STARTCHAR U_9F32 +ENCODING 40754 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BE0 +8CA0 +DBE0 +8AA0 +FBE0 +AAA0 +FBE0 +A880 +FFE0 +A880 +F480 +ENDCHAR +STARTCHAR U_9F33 +ENCODING 40755 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BE0 +8A20 +DBE0 +8A20 +FBE0 +A940 +F920 +AFE0 +F900 +AA80 +F460 +ENDCHAR +STARTCHAR U_9F34 +ENCODING 40756 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BE0 +8AA0 +DAE0 +8AA0 +FAE0 +AA40 +FBE0 +AAA0 +FA40 +AAA0 +F7E0 +ENDCHAR +STARTCHAR U_9F35 +ENCODING 40757 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5880 +8FE0 +DC20 +8A40 +FD20 +A940 +FFE0 +A900 +F980 +AA40 +F420 +ENDCHAR +STARTCHAR U_9F36 +ENCODING 40758 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BE0 +8A80 +DAE0 +8A80 +FBE0 +AAA0 +FBE0 +AA80 +FBE0 +AB40 +F560 +ENDCHAR +STARTCHAR U_9F37 +ENCODING 40759 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +58C0 +8F20 +DAA0 +8940 +FB80 +A940 +FFE0 +A880 +FBE0 +A940 +F620 +ENDCHAR +STARTCHAR U_9F38 +ENCODING 40760 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5A40 +8FE0 +DA80 +8FE0 +FAA0 +AFE0 +FAA0 +AFE0 +FE80 +AAC0 +F6A0 +ENDCHAR +STARTCHAR U_9F39 +ENCODING 40761 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BC0 +8A40 +DBC0 +8A40 +FFE0 +AD20 +FBE0 +A940 +FA40 +A980 +F660 +ENDCHAR +STARTCHAR U_9F3A +ENCODING 40762 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5BE0 +8AA0 +DBE0 +8AA0 +FBE0 +A800 +FFE0 +AAA0 +FFE0 +AAA0 +E7E0 +ENDCHAR +STARTCHAR U_9F3B +ENCODING 40763 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2480 +2280 +7FC0 +4440 +7FC0 +4440 +FFE0 +1100 +6100 +ENDCHAR +STARTCHAR U_9F3C +ENCODING 40764 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +3C20 +24A0 +7EA0 +52A0 +7EA0 +52E0 +FEA0 +2420 +2420 +4420 +ENDCHAR +STARTCHAR U_9F3D +ENCODING 40765 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7900 +4900 +7BC0 +4940 +F940 +A940 +D940 +FE40 +5240 +9460 +ENDCHAR +STARTCHAR U_9F3E +ENCODING 40766 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7BE0 +4880 +7880 +4880 +FFE0 +D480 +AC80 +FE80 +4880 +8880 +ENDCHAR +STARTCHAR U_9F3F +ENCODING 40767 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +77E0 +5280 +5280 +FA80 +AA80 +FA80 +AAA0 +FAA0 +54A0 +98E0 +ENDCHAR +STARTCHAR U_9F40 +ENCODING 40768 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +7100 +5100 +5380 +FA80 +AB80 +FA80 +AA80 +FEA0 +52A0 +9360 +ENDCHAR +STARTCHAR U_9F41 +ENCODING 40769 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +7200 +53E0 +5420 +FBA0 +AAA0 +FAA0 +ABA0 +F820 +50A0 +9040 +ENDCHAR +STARTCHAR U_9F42 +ENCODING 40770 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +77C0 +5140 +57E0 +F940 +AFC0 +F900 +AD40 +FB80 +5560 +9300 +ENDCHAR +STARTCHAR U_9F43 +ENCODING 40771 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +7240 +53C0 +5240 +FBC0 +A900 +FBE0 +ADA0 +FA60 +53A0 +9060 +ENDCHAR +STARTCHAR U_9F44 +ENCODING 40772 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +73E0 +51C0 +52A0 +FFE0 +AA20 +FBE0 +AA20 +FBE0 +5000 +93E0 +ENDCHAR +STARTCHAR U_9F45 +ENCODING 40773 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7BE0 +4A20 +7BE0 +4A20 +FFE0 +A4A0 +97E0 +FC80 +4940 +8A20 +ENDCHAR +STARTCHAR U_9F46 +ENCODING 40774 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +7D40 +4AA0 +7BC0 +4A40 +FBE0 +AAA0 +DBE0 +FE00 +4A20 +89E0 +ENDCHAR +STARTCHAR U_9F47 +ENCODING 40775 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +7100 +57E0 +7520 +57C0 +FD20 +DFE0 +AA40 +FBC0 +5240 +97E0 +ENDCHAR +STARTCHAR U_9F48 +ENCODING 40776 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +7FE0 +4AA0 +7FE0 +4AA0 +FFE0 +A800 +DFE0 +FAA0 +4A40 +8B20 +ENDCHAR +STARTCHAR U_9F49 +ENCODING 40777 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +7240 +57E0 +75A0 +5240 +FFE0 +DA40 +AFE0 +FAA0 +5640 +9B20 +ENDCHAR +STARTCHAR U_9F4A +ENCODING 40778 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A40 +F580 +5540 +95A0 +2080 +3F80 +2080 +3F80 +C080 +ENDCHAR +STARTCHAR U_9F4B +ENCODING 40779 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A20 +F5C0 +5540 +A020 +3FC0 +2040 +3FC0 +5540 +A4C0 +ENDCHAR +STARTCHAR U_9F4C +ENCODING 40780 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A20 +F5C0 +5540 +B5A0 +4040 +7FC0 +5540 +4A40 +9140 +ENDCHAR +STARTCHAR U_9F4D +ENCODING 40781 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A20 +F5C0 +5540 +A520 +7FC0 +4040 +FFC0 +5540 +FFE0 +ENDCHAR +STARTCHAR U_9F4E +ENCODING 40782 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A20 +F5C0 +5540 +FFE0 +4040 +7FC0 +5540 +5F40 +B1C0 +ENDCHAR +STARTCHAR U_9F4F +ENCODING 40783 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0A20 +F5C0 +5540 +B5A0 +7FC0 +4A40 +7BC0 +4A40 +BFC0 +ENDCHAR +STARTCHAR U_9F50 +ENCODING 40784 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1080 +0900 +0600 +1980 +E060 +0900 +0900 +1100 +6100 +ENDCHAR +STARTCHAR U_9F51 +ENCODING 40785 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0900 +0600 +F9E0 +4A40 +7BC0 +4A40 +7BC0 +4A40 +BFC0 +ENDCHAR +STARTCHAR U_9F52 +ENCODING 40786 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +27C0 +2400 +FFE0 +5140 +6AC0 +4440 +7FC0 +5140 +6AC0 +7FC0 +ENDCHAR +STARTCHAR U_9F53 +ENCODING 40787 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5D00 +5100 +FF00 +0100 +AD00 +D500 +FD00 +AD00 +D520 +FCE0 +ENDCHAR +STARTCHAR U_9F54 +ENCODING 40788 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5D00 +5100 +FD20 +D540 +AD80 +FD00 +8500 +D520 +AD20 +FCE0 +ENDCHAR +STARTCHAR U_9F55 +ENCODING 40789 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +BD00 +A1E0 +FE00 +85E0 +D440 +AC80 +FD00 +D520 +AE20 +FDE0 +ENDCHAR +STARTCHAR U_9F56 +ENCODING 40790 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +BC40 +A140 +FD40 +87E0 +D440 +ACC0 +FD40 +D640 +AC40 +FCC0 +ENDCHAR +STARTCHAR U_9F57 +ENCODING 40791 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1060 +5D80 +5100 +FD00 +85E0 +D540 +AD40 +FD40 +D540 +AE40 +FE40 +ENDCHAR +STARTCHAR U_9F58 +ENCODING 40792 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5C80 +5140 +FE20 +8540 +D540 +AD40 +FD40 +D540 +AD40 +FE40 +ENDCHAR +STARTCHAR U_9F59 +ENCODING 40793 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5FE0 +5420 +FFA0 +84A0 +D4A0 +AFA0 +FC20 +D4C0 +AC20 +FFE0 +ENDCHAR +STARTCHAR U_9F5A +ENCODING 40794 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5900 +53E0 +FD00 +0100 +ADE0 +D500 +FDE0 +AD00 +D500 +FD00 +ENDCHAR +STARTCHAR U_9F5B +ENCODING 40795 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +5D40 +5540 +FFE0 +8540 +D540 +AD40 +FD40 +D5C0 +AC00 +FFE0 +ENDCHAR +STARTCHAR U_9F5C +ENCODING 40796 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +5D40 +5140 +FD60 +85C0 +D540 +AD40 +FD40 +D540 +ADC0 +FE60 +ENDCHAR +STARTCHAR U_9F5D +ENCODING 40797 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5C80 +5080 +FD20 +87E0 +AC00 +D5E0 +FD20 +D520 +AD20 +FDE0 +ENDCHAR +STARTCHAR U_9F5E +ENCODING 40798 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +5D20 +5120 +FD20 +8520 +ADE0 +D400 +FC00 +D540 +AD20 +FE20 +ENDCHAR +STARTCHAR U_9F5F +ENCODING 40799 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +5D40 +5140 +FF40 +85C0 +AD40 +D540 +FDC0 +D540 +AD40 +FFE0 +ENDCHAR +STARTCHAR U_9F60 +ENCODING 40800 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +5D20 +5120 +FD20 +86C0 +AC00 +D5E0 +FD20 +D520 +AD20 +FDE0 +ENDCHAR +STARTCHAR U_9F61 +ENCODING 40801 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5C80 +5140 +FE20 +8500 +D480 +AFE0 +FC40 +D580 +AC40 +FC40 +ENDCHAR +STARTCHAR U_9F62 +ENCODING 40802 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5980 +5240 +FD20 +0080 +D800 +AFE0 +F840 +AA80 +D900 +F880 +ENDCHAR +STARTCHAR U_9F63 +ENCODING 40803 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5D00 +51E0 +FE20 +8420 +AFA0 +D6A0 +FEA0 +D7A0 +AC20 +FCC0 +ENDCHAR +STARTCHAR U_9F64 +ENCODING 40804 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2500 +7FC0 +0800 +FFE0 +5240 +FFA0 +5540 +7FC0 +4A40 +5540 +7FC0 +ENDCHAR +STARTCHAR U_9F65 +ENCODING 40805 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +BFE0 +A2A0 +FFE0 +D6A0 +AFE0 +A480 +FCA0 +D440 +ACA0 +FD20 +ENDCHAR +STARTCHAR U_9F66 +ENCODING 40806 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +BD20 +A120 +FDE0 +D520 +ADE0 +A5A0 +FD40 +D540 +ADA0 +FD20 +ENDCHAR +STARTCHAR U_9F67 +ENCODING 40807 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2120 +FE40 +2400 +FFE0 +0A00 +5540 +7FC0 +4A40 +5540 +7FC0 +ENDCHAR +STARTCHAR U_9F68 +ENCODING 40808 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5A60 +5220 +FE20 +0220 +AB60 +DA20 +FA20 +AA20 +DBE0 +FA20 +ENDCHAR +STARTCHAR U_9F69 +ENCODING 40809 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5BE0 +5140 +FE20 +0140 +AD40 +D540 +FC80 +AC80 +D540 +FE20 +ENDCHAR +STARTCHAR U_9F6A +ENCODING 40810 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +BD20 +A120 +FFE0 +D440 +AD40 +A560 +FD40 +D540 +AD40 +FEE0 +ENDCHAR +STARTCHAR U_9F6B +ENCODING 40811 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +BC20 +A4A0 +FFE0 +84A0 +D5E0 +AEA0 +FCA0 +D4A0 +AC20 +FFE0 +ENDCHAR +STARTCHAR U_9F6C +ENCODING 40812 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +BC80 +A3E0 +FD20 +87E0 +D400 +ADE0 +FD20 +D520 +ADE0 +FD20 +ENDCHAR +STARTCHAR U_9F6D +ENCODING 40813 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1120 +5AC0 +5280 +FBE0 +02A0 +ABA0 +DAA0 +FAA0 +AAA0 +DAA0 +FD20 +ENDCHAR +STARTCHAR U_9F6E +ENCODING 40814 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +BBE0 +A080 +FD40 +87E0 +D420 +AFA0 +FEA0 +D7A0 +AC20 +FC60 +ENDCHAR +STARTCHAR U_9F6F +ENCODING 40815 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +BB60 +A220 +FF60 +D620 +AE20 +A7E0 +FD40 +D540 +AD40 +FE60 +ENDCHAR +STARTCHAR U_9F70 +ENCODING 40816 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1140 +5BE0 +5140 +FFE0 +8400 +D5E0 +AD20 +FDE0 +D520 +ADE0 +FD20 +ENDCHAR +STARTCHAR U_9F71 +ENCODING 40817 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2780 +BD00 +A5E0 +FF20 +8520 +D5A0 +AFA0 +FD40 +D740 +ADA0 +FD20 +ENDCHAR +STARTCHAR U_9F72 +ENCODING 40818 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +B880 +A3E0 +FAA0 +03E0 +A880 +DBE0 +FAA0 +ABE0 +DA20 +FA60 +ENDCHAR +STARTCHAR U_9F73 +ENCODING 40819 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +5CA0 +57E0 +F880 +03E0 +AAA0 +DBE0 +FAA0 +AFE0 +D880 +F880 +ENDCHAR +STARTCHAR U_9F74 +ENCODING 40820 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +BBE0 +A140 +FBE0 +8A20 +AA40 +DAA0 +FA40 +AAA0 +DA40 +FD80 +ENDCHAR +STARTCHAR U_9F75 +ENCODING 40821 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +BAA0 +A3E0 +FEA0 +03E0 +A880 +DBE0 +FAA0 +ABE0 +DA20 +FA60 +ENDCHAR +STARTCHAR U_9F76 +ENCODING 40822 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +BAA0 +A3E0 +FC00 +01E0 +D400 +AFE0 +FC80 +D5E0 +AC20 +FCC0 +ENDCHAR +STARTCHAR U_9F77 +ENCODING 40823 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +BC20 +A7E0 +FC00 +07E0 +D540 +AFE0 +FC80 +D7E0 +AC80 +FFE0 +ENDCHAR +STARTCHAR U_9F78 +ENCODING 40824 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2220 +B940 +A3E0 +FC00 +0140 +D620 +AFE0 +FCA0 +D4A0 +ACA0 +FFE0 +ENDCHAR +STARTCHAR U_9F79 +ENCODING 40825 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7FC0 +0400 +FFE0 +1200 +FFC0 +2400 +FFE0 +5140 +6AC0 +7FC0 +ENDCHAR +STARTCHAR U_9F7A +ENCODING 40826 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5BE0 +52A0 +FFE0 +84A0 +D740 +ADE0 +FEA0 +D7E0 +ACA0 +FD40 +ENDCHAR +STARTCHAR U_9F7B +ENCODING 40827 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5DE0 +5080 +FDE0 +D520 +ADE0 +8520 +FDE0 +D520 +AFE0 +FD20 +ENDCHAR +STARTCHAR U_9F7C +ENCODING 40828 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1280 +5FE0 +5280 +FFC0 +02A0 +AFE0 +D880 +FAC0 +AA80 +DB80 +FCE0 +ENDCHAR +STARTCHAR U_9F7D +ENCODING 40829 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2240 +B7E0 +A2C0 +FF60 +0240 +ABE0 +D800 +FFE0 +A9C0 +DAA0 +F980 +ENDCHAR +STARTCHAR U_9F7E +ENCODING 40830 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +38C0 +FCA0 +A7E0 +FC80 +AD40 +9620 +FFE0 +4940 +7FC0 +5240 +7FC0 +ENDCHAR +STARTCHAR U_9F7F +ENCODING 40831 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +27C0 +2400 +FFE0 +0000 +4440 +4440 +4A40 +5140 +4040 +7FC0 +ENDCHAR +STARTCHAR U_9F80 +ENCODING 40832 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5D00 +5120 +FD40 +0180 +9500 +9700 +AD00 +C520 +8520 +FCE0 +ENDCHAR +STARTCHAR U_9F81 +ENCODING 40833 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +5DE0 +5200 +FC00 +01C0 +A440 +A480 +B500 +CD20 +8620 +FDE0 +ENDCHAR +STARTCHAR U_9F82 +ENCODING 40834 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +5D80 +5100 +FDE0 +0140 +5540 +5540 +6D40 +4540 +7D40 +0240 +ENDCHAR +STARTCHAR U_9F83 +ENCODING 40835 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +5D40 +5140 +FFC0 +0140 +9540 +95C0 +AD40 +C540 +8540 +FFE0 +ENDCHAR +STARTCHAR U_9F84 +ENCODING 40836 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +5C80 +5140 +FD20 +02A0 +9480 +97E0 +AC40 +C580 +9C80 +E440 +ENDCHAR +STARTCHAR U_9F85 +ENCODING 40837 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +5A00 +53E0 +FC20 +03A0 +AAA0 +ABA0 +DA60 +8A00 +8A20 +F9E0 +ENDCHAR +STARTCHAR U_9F86 +ENCODING 40838 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +5920 +5120 +FA20 +04C0 +A800 +ABE0 +AA20 +DA20 +8A20 +FBE0 +ENDCHAR +STARTCHAR U_9F87 +ENCODING 40839 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +5940 +5540 +FD40 +05E0 +A540 +A540 +DD40 +85C0 +FF40 +8460 +ENDCHAR +STARTCHAR U_9F88 +ENCODING 40840 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +5A20 +53E0 +FA20 +03E0 +AA80 +AAA0 +AAC0 +DA40 +8AA0 +FB20 +ENDCHAR +STARTCHAR U_9F89 +ENCODING 40841 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +B900 +A3C0 +F940 +07E0 +A800 +ABE0 +DA20 +8A20 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_9F8A +ENCODING 40842 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +5A20 +5220 +FFE0 +0080 +AA80 +AAE0 +AA80 +DA80 +8D80 +F8E0 +ENDCHAR +STARTCHAR U_9F8B +ENCODING 40843 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +5880 +53E0 +FAA0 +03E0 +A880 +ABE0 +AAA0 +DBE0 +8A20 +FA60 +ENDCHAR +STARTCHAR U_9F8C +ENCODING 40844 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +BA20 +A3E0 +FA00 +03E0 +AB40 +ABE0 +DA80 +8DE0 +8880 +FBE0 +ENDCHAR +STARTCHAR U_9F8D +ENCODING 40845 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FD00 +29E0 +FE20 +01E0 +7D00 +45E0 +7D00 +45E0 +7D20 +45E0 +ENDCHAR +STARTCHAR U_9F8E +ENCODING 40846 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4900 +7FC0 +5500 +7FC0 +5440 +5DC0 +5500 +5DC0 +5520 +95E0 +ENDCHAR +STARTCHAR U_9F8F +ENCODING 40847 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +7FC0 +2A00 +FFC0 +2840 +3BC0 +2A20 +2BE0 +1100 +FFE0 +2100 +ENDCHAR +STARTCHAR U_9F90 +ENCODING 40848 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9100 +FFE0 +A900 +FFE0 +A420 +BDE0 +A500 +BD20 +A5E0 +ENDCHAR +STARTCHAR U_9F91 +ENCODING 40849 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FE00 +53C0 +FC40 +53C0 +5220 +7FE0 +0400 +FFE0 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_9F92 +ENCODING 40850 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13C0 +FE00 +4BC0 +FC40 +6BC0 +5A20 +7FE0 +0000 +FFE0 +2480 +CC60 +ENDCHAR +STARTCHAR U_9F93 +ENCODING 40851 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +44E0 +FF80 +8AE0 +FF20 +AAE0 +EE80 +AAE0 +EE80 +AAA0 +AAE0 +ENDCHAR +STARTCHAR U_9F94 +ENCODING 40852 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FE00 +53C0 +FC40 +5BC0 +6A20 +7FE0 +1100 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_9F95 +ENCODING 40853 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +D160 +1F00 +2200 +FBE0 +5200 +FFC0 +4840 +7BC0 +4A20 +5BE0 +ENDCHAR +STARTCHAR U_9F96 +ENCODING 40854 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4940 +EFE0 +AAC0 +EFE0 +0420 +FF60 +B540 +FF60 +B540 +FF40 +AD60 +ENDCHAR +STARTCHAR U_9F97 +ENCODING 40855 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F80 +0400 +FFE0 +AAA0 +3BC0 +1100 +7DC0 +2840 +FDC0 +6920 +59E0 +ENDCHAR +STARTCHAR U_9F98 +ENCODING 40856 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBC0 +5040 +FFC0 +6A20 +5BE0 +E780 +BAE0 +E780 +BAE0 +E380 +BAE0 +ENDCHAR +STARTCHAR U_9F99 +ENCODING 40857 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +0880 +0800 +FFE0 +0A00 +0A40 +1280 +1300 +2220 +4620 +99E0 +ENDCHAR +STARTCHAR U_9F9A +ENCODING 40858 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +0A80 +3320 +CDE0 +0900 +7FC0 +0900 +FFE0 +0900 +70E0 +ENDCHAR +STARTCHAR U_9F9B +ENCODING 40859 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1B00 +E0E0 +3F80 +2080 +3F80 +0900 +FFE0 +1280 +2320 +DDE0 +ENDCHAR +STARTCHAR U_9F9C +ENCODING 40860 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7FC0 +4040 +7FC0 +2A40 +FB40 +2AC0 +FB40 +2BC0 +6A20 +07E0 +ENDCHAR +STARTCHAR U_9F9D +ENCODING 40861 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3200 +CFC0 +4840 +FEC0 +4280 +FAE0 +CEE0 +5AA0 +4AE0 +4EA0 +59E0 +ENDCHAR +STARTCHAR U_9F9E +ENCODING 40862 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5500 +3BE0 +FE40 +B580 +D640 +1FE0 +7540 +1540 +FDE0 +1520 +73E0 +ENDCHAR +STARTCHAR U_9F9F +ENCODING 40863 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +1F00 +2200 +7FC0 +A440 +3FC0 +2440 +3FC0 +0400 +0420 +03E0 +ENDCHAR +STARTCHAR U_9FA0 +ENCODING 40864 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +3180 +DF60 +EEE0 +AAA0 +EEE0 +0000 +FFE0 +9120 +FFE0 +9120 +ENDCHAR +STARTCHAR U_9FA1 +ENCODING 40865 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +2900 +45E0 +FE20 +AAC0 +FE80 +0080 +FE80 +AA80 +FF40 +AA20 +ENDCHAR +STARTCHAR U_9FA2 +ENCODING 40866 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3840 +4580 +BA80 +01E0 +FE80 +AA80 +FFC0 +AAA0 +FEA0 +AA80 +AE80 +ENDCHAR +STARTCHAR U_9FA3 +ENCODING 40867 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +3040 +4BC0 +FC40 +ABE0 +F8A0 +02C0 +F980 +AAC0 +FCA0 +A900 +ENDCHAR +STARTCHAR U_9FA4 +ENCODING 40868 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +32A0 +4BC0 +B6A0 +FBE0 +A880 +F900 +03E0 +FA20 +ABE0 +FA20 +ABE0 +ENDCHAR +STARTCHAR U_9FA5 +ENCODING 40869 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5080 +8BC0 +FE40 +ABC0 +FA40 +03C0 +FA40 +ABC0 +F980 +AE60 +ENDCHAR +STARTCHAR U_9FA6 +ENCODING 40870 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +2820 +B7C0 +A440 +27C0 +2100 +27E0 +5520 +5560 +8100 +ENDCHAR +STARTCHAR U_9FA7 +ENCODING 40871 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E940 +AFC0 +A240 +EFE0 +A280 +BFE0 +A440 +EFC0 +1440 +07C0 +ENDCHAR +STARTCHAR U_9FA8 +ENCODING 40872 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9400 +BF80 +A400 +FF80 +A400 +BF80 +A400 +BF80 +A000 +FFC0 +ENDCHAR +STARTCHAR U_9FA9 +ENCODING 40873 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1080 +FFE0 +5080 +FC60 +5380 +FA00 +ABE0 +FA40 +2240 +FC40 +2440 +ENDCHAR +STARTCHAR U_9FAA +ENCODING 40874 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +F900 +2100 +F900 +2280 +3A80 +A440 +A820 +E000 +9FE0 +ENDCHAR +STARTCHAR U_9FAB +ENCODING 40875 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +F900 +2280 +FC40 +ABA0 +F900 +A900 +FFE0 +2100 +F900 +2100 +ENDCHAR +STARTCHAR U_9FAC +ENCODING 40876 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +2FE0 +5AA0 +F920 +2FE0 +F920 +2FE0 +BA20 +6BA0 +3820 +C860 +ENDCHAR +STARTCHAR U_9FAD +ENCODING 40877 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +A2A0 +F3E0 +A2A0 +F3E0 +A140 +FBE0 +0940 +ABE0 +8940 +3220 +ENDCHAR +STARTCHAR U_9FAE +ENCODING 40878 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +AAA0 +F660 +AAA0 +F7C0 +A540 +FFC0 +0A80 +AFE0 +8A80 +3440 +ENDCHAR +STARTCHAR U_9FAF +ENCODING 40879 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2140 +3120 +4FE0 +F500 +2520 +FD20 +2CC0 +B480 +64A0 +3560 +CA20 +ENDCHAR +STARTCHAR U_9FB0 +ENCODING 40880 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 9 0 -1 +BITMAP +0400 +0400 +0400 +0780 +2400 +2400 +3400 +4C00 +83E0 +ENDCHAR +STARTCHAR U_9FB1 +ENCODING 40881 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 0 -1 +BITMAP +FFC0 +8040 +A140 +9140 +8A40 +8440 +8A40 +9140 +A140 +8040 +FFC0 +ENDCHAR +STARTCHAR U_9FB2 +ENCODING 40882 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5880 +FFE0 +2AA0 +FBE0 +2AA0 +BBE0 +6880 +3FE0 +D080 +ENDCHAR +STARTCHAR U_9FB3 +ENCODING 40883 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +7BC0 +2080 +FBE0 +5140 +AAA0 +2080 +FBE0 +2080 +2080 +FBE0 +ENDCHAR +STARTCHAR U_9FB4 +ENCODING 40884 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 6 1 1 +BITMAP +FF80 +0100 +0A00 +0400 +0200 +0200 +ENDCHAR +STARTCHAR U_9FB5 +ENCODING 40885 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 9 0 1 +BITMAP +0380 +3C00 +0400 +7FC0 +0800 +FFE0 +1000 +2000 +C000 +ENDCHAR +STARTCHAR U_9FB6 +ENCODING 40886 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 7 0 3 +BITMAP +0400 +0400 +7FC0 +0400 +3F80 +0400 +FFE0 +ENDCHAR +STARTCHAR U_9FB7 +ENCODING 40887 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 4 0 6 +BITMAP +1100 +7FC0 +1100 +FFE0 +ENDCHAR +STARTCHAR U_9FB8 +ENCODING 40888 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 6 0 4 +BITMAP +0400 +2480 +1500 +7FE0 +4040 +8000 +ENDCHAR +STARTCHAR U_9FB9 +ENCODING 40889 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 9 0 1 +BITMAP +2480 +1500 +7FC0 +0400 +0800 +FFE0 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_9FBA +ENCODING 40890 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 5 11 0 -1 +BITMAP +20 +F8 +20 +F8 +88 +F8 +88 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR U_9FBB +ENCODING 40891 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 8 0 2 +BITMAP +2440 +4E80 +F1E0 +4E80 +F1E0 +0E00 +AAA0 +AEA0 +ENDCHAR +STARTCHAR U_9FBC +ENCODING 40892 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +2FE0 +F540 +2AA0 +2440 +2FE0 +3440 +C7C0 +0440 +07C0 +ENDCHAR +STARTCHAR U_9FBD +ENCODING 40893 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23C0 +2480 +AFE0 +B4A0 +A7E0 +24A0 +37E0 +4800 +46A0 +8AA0 +ENDCHAR +STARTCHAR U_9FBE +ENCODING 40894 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1200 +1200 +7FE0 +5520 +5360 +79A0 +4FE0 +6BA0 +5560 +A920 +C060 +ENDCHAR +STARTCHAR U_9FBF +ENCODING 40895 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +1100 +27C0 +6100 +AFE0 +2100 +27C0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_9FC0 +ENCODING 40896 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7EC0 +4960 +7E80 +5540 +FFE0 +4A40 +5140 +7FC0 +ENDCHAR +STARTCHAR U_9FC1 +ENCODING 40897 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2280 +FFE0 +0280 +F280 +0280 +FFE0 +0000 +F440 +9420 +F820 +ENDCHAR +STARTCHAR U_9FC2 +ENCODING 40898 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FBC0 +2240 +FBC0 +AA40 +FBE0 +AA00 +FBE0 +2020 +FAA0 +2560 +ENDCHAR +STARTCHAR U_9FC3 +ENCODING 40899 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F100 +9FE0 +9100 +F980 +9540 +FBA0 +9100 +9280 +F440 +0820 +ENDCHAR +STARTCHAR U_9FC4 +ENCODING 40900 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +A240 +4E40 +2340 +C440 +4980 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_9FC5 +ENCODING 40901 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2100 +FFE0 +1120 +27C0 +7100 +A280 +2FE0 +2080 +2300 +2080 +ENDCHAR +STARTCHAR U_9FC6 +ENCODING 40902 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F7E0 +1100 +2200 +73C0 +A240 +2540 +2480 +2940 +3220 +ENDCHAR +STARTCHAR U_9FC7 +ENCODING 40903 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +1780 +2900 +6FC0 +A240 +3FE0 +2240 +2FC0 +2200 +2200 +2600 +ENDCHAR +STARTCHAR U_9FC8 +ENCODING 40904 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17C0 +2440 +4440 +9440 +27C0 +6500 +A500 +2480 +2880 +2840 +3020 +ENDCHAR +STARTCHAR U_9FC9 +ENCODING 40905 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +2FE0 +4100 +9100 +2100 +67C0 +A240 +2240 +2240 +2240 +2FE0 +ENDCHAR +STARTCHAR U_9FCA +ENCODING 40906 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +4000 +2100 +8500 +55E0 +2500 +C500 +4500 +4FE0 +ENDCHAR +STARTCHAR U_9FCB +ENCODING 40907 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +F100 +2FE0 +3440 +67C0 +B280 +2FE0 +2440 +2440 +27C0 +ENDCHAR +STARTCHAR U_EEFF +ENCODING 61183 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 4 5 2 +BITMAP +C0 +C0 +40 +80 +ENDCHAR +STARTCHAR U_F6B1 +ENCODING 63153 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4440 +8C20 +8420 +8420 +8420 +8420 +4E40 +2080 +1F00 +ENDCHAR +STARTCHAR U_F6B2 +ENCODING 63154 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4640 +8920 +8120 +8220 +8420 +8920 +4F40 +2080 +1F00 +ENDCHAR +STARTCHAR U_F6B3 +ENCODING 63155 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4640 +8920 +8120 +8220 +8120 +8920 +4640 +2080 +1F00 +ENDCHAR +STARTCHAR U_F6B4 +ENCODING 63156 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4240 +8620 +8A20 +9220 +9F20 +8220 +4740 +2080 +1F00 +ENDCHAR +STARTCHAR U_F6B5 +ENCODING 63157 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4E40 +8820 +8820 +8620 +8120 +8920 +4640 +2080 +1F00 +ENDCHAR +STARTCHAR U_F6B6 +ENCODING 63158 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4640 +8920 +8820 +8E20 +8920 +8920 +4640 +2080 +1F00 +ENDCHAR +STARTCHAR U_F6B7 +ENCODING 63159 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4F40 +8920 +8220 +8220 +8420 +8420 +4440 +2080 +1F00 +ENDCHAR +STARTCHAR U_F6B8 +ENCODING 63160 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4640 +8920 +8920 +8620 +8920 +8920 +4640 +2080 +1F00 +ENDCHAR +STARTCHAR U_F6B9 +ENCODING 63161 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +4640 +8920 +8920 +8720 +8120 +8920 +4640 +2080 +1F00 +ENDCHAR +STARTCHAR U_F6BA +ENCODING 63162 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2080 +5140 +B2A0 +92A0 +92A0 +92A0 +92A0 +7140 +2080 +1F00 +ENDCHAR +STARTCHAR U_F6BB +ENCODING 63163 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4440 +8C20 +8420 +8420 +8420 +8420 +8420 +8420 +4E40 +2080 +ENDCHAR +STARTCHAR U_F6BC +ENCODING 63164 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4E40 +9120 +9120 +8120 +8220 +8420 +8820 +9120 +5F40 +2080 +ENDCHAR +STARTCHAR U_F6BD +ENCODING 63165 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4E40 +9120 +8120 +8220 +8620 +8120 +8120 +9120 +4E40 +2080 +ENDCHAR +STARTCHAR U_F6BE +ENCODING 63166 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4240 +8620 +8620 +8A20 +8A20 +9220 +9F20 +8220 +4740 +2080 +ENDCHAR +STARTCHAR U_F6BF +ENCODING 63167 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5F40 +9020 +9020 +9020 +9E20 +8120 +8120 +9120 +4E40 +2080 +ENDCHAR +STARTCHAR U_F6C0 +ENCODING 63168 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4E40 +9120 +9020 +9020 +9620 +9920 +9120 +9120 +4E40 +2080 +ENDCHAR +STARTCHAR U_F6C1 +ENCODING 63169 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5F40 +9120 +8120 +8220 +8220 +8420 +8420 +8420 +4440 +2080 +ENDCHAR +STARTCHAR U_F6C2 +ENCODING 63170 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4E40 +9120 +9120 +9120 +8E20 +9120 +9120 +9120 +4E40 +2080 +ENDCHAR +STARTCHAR U_F6C3 +ENCODING 63171 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +4E40 +9120 +9120 +9120 +8F20 +8120 +8120 +9120 +4E40 +2080 +ENDCHAR +STARTCHAR U_F6C4 +ENCODING 63172 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5240 +B520 +9520 +9520 +9520 +9520 +9520 +9520 +7A40 +2080 +ENDCHAR +STARTCHAR U_F6C5 +ENCODING 63173 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 10 5 0 +BITMAP +40 +00 +00 +40 +C0 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR U_F6C6 +ENCODING 63174 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +44 +00 +00 +44 +CC +44 +44 +44 +44 +EE +ENDCHAR +STARTCHAR U_F6C7 +ENCODING 63175 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +4900 +0000 +0000 +4900 +DB00 +4900 +4900 +4900 +4900 +FF80 +ENDCHAR +STARTCHAR U_F6C8 +ENCODING 63176 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +4000 +0000 +0000 +5DC0 +C880 +4880 +4500 +4500 +4200 +E200 +ENDCHAR +STARTCHAR U_F6C9 +ENCODING 63177 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 2 0 +BITMAP +EE +44 +44 +28 +28 +10 +10 +ENDCHAR +STARTCHAR U_F6CA +ENCODING 63178 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +0080 +0000 +0000 +EE80 +4580 +4480 +2880 +2880 +1080 +11C0 +ENDCHAR +STARTCHAR U_F6CB +ENCODING 63179 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +0480 +0000 +0000 +A480 +AD80 +A480 +A480 +4480 +4480 +4FC0 +ENDCHAR +STARTCHAR U_F6CC +ENCODING 63180 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +0540 +0000 +0000 +A540 +AFC0 +A540 +A540 +4540 +4540 +4FE0 +ENDCHAR +STARTCHAR U_F6CD +ENCODING 63181 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +4000 +0000 +0000 +4EE0 +C440 +4280 +4100 +4280 +4440 +EEE0 +ENDCHAR +STARTCHAR U_F6CE +ENCODING 63182 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 2 0 +BITMAP +EE +44 +28 +10 +28 +44 +EE +ENDCHAR +STARTCHAR U_F6CF +ENCODING 63183 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 4 4 3 +BITMAP +80 +40 +20 +20 +ENDCHAR +STARTCHAR U_F6D0 +ENCODING 63184 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 4 11 3 -1 +BITMAP +10 +10 +10 +10 +10 +10 +10 +20 +20 +40 +80 +ENDCHAR +STARTCHAR U_F6D1 +ENCODING 63185 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 11 4 -1 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +E0 +40 +ENDCHAR +STARTCHAR U_F6D2 +ENCODING 63186 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 4 0 4 +BITMAP +0400 +0200 +0040 +FFE0 +ENDCHAR +STARTCHAR U_F6D3 +ENCODING 63187 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0080 +FFC0 +8080 +8080 +8080 +8080 +8080 +8080 +8080 +8380 +8100 +ENDCHAR +STARTCHAR U_F6D4 +ENCODING 63188 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 3 0 5 +BITMAP +7FE0 +4040 +8080 +ENDCHAR +STARTCHAR U_F6D5 +ENCODING 63189 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 4 10 1 0 +BITMAP +80 +40 +40 +10 +20 +20 +C0 +40 +40 +40 +ENDCHAR +STARTCHAR U_F6D6 +ENCODING 63190 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +3FC0 +4040 +8040 +0040 +0040 +0040 +0040 +0440 +0380 +0100 +ENDCHAR +STARTCHAR U_F6D7 +ENCODING 63191 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 12 0 -1 +BITMAP +0040 +FFE0 +4000 +4000 +4000 +4000 +4000 +4000 +4000 +4000 +4040 +7FE0 +ENDCHAR +STARTCHAR U_F6D8 +ENCODING 63192 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 3 -1 +BITMAP +84 +FE +84 +84 +84 +84 +9C +88 +80 +80 +80 +ENDCHAR +STARTCHAR U_F6D9 +ENCODING 63193 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0400 +0800 +0800 +1000 +1000 +2100 +2080 +47C0 +F820 +4020 +ENDCHAR +STARTCHAR U_F6DA +ENCODING 63194 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +2900 +2F80 +1100 +3100 +5200 +8C00 +0C00 +1200 +21C0 +C080 +ENDCHAR +STARTCHAR U_F6DB +ENCODING 63195 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 5 0 5 +BITMAP +0800 +0400 +7FE0 +4040 +8080 +ENDCHAR +STARTCHAR U_F6DC +ENCODING 63196 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +2220 +2220 +4440 +4440 +8880 +8880 +4440 +4440 +2220 +2220 +ENDCHAR +STARTCHAR U_F6DD +ENCODING 63197 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +1100 +1200 +2400 +7C00 +0800 +1100 +2780 +F840 +4040 +ENDCHAR +STARTCHAR U_F6DE +ENCODING 63198 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +7FE0 +4000 +4000 +4000 +4000 +4000 +4000 +8000 +8000 +ENDCHAR +STARTCHAR U_F6DF +ENCODING 63199 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F000 +1000 +2000 +2000 +7800 +0800 +4800 +5000 +2000 +5060 +8FC0 +ENDCHAR +STARTCHAR U_F6E0 +ENCODING 63200 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +0040 +7FE0 +0040 +0040 +0040 +3FC0 +0040 +0040 +0040 +FFE0 +ENDCHAR +STARTCHAR U_F6E1 +ENCODING 63201 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +18 +10 +26 +44 +88 +13 +22 +44 +08 +10 +60 +ENDCHAR +STARTCHAR U_F6E2 +ENCODING 63202 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0FC0 +0800 +0800 +7F80 +2100 +1100 +0E00 +0400 +1B00 +E0C0 +ENDCHAR +STARTCHAR U_F6E3 +ENCODING 63203 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +0400 +0400 +FFE0 +0A00 +0A00 +1200 +2220 +4220 +81E0 +ENDCHAR +STARTCHAR U_F6E4 +ENCODING 63204 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0200 +3FE0 +A000 +6000 +2000 +6000 +A000 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_F6E5 +ENCODING 63205 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 6 0 4 +BITMAP +FC80 +4B20 +3140 +2080 +4040 +8020 +ENDCHAR +STARTCHAR U_F6E6 +ENCODING 63206 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0600 +1980 +6600 +18C0 +0700 +7A00 +2200 +23C0 +3200 +4E00 +83E0 +ENDCHAR +STARTCHAR U_F6E7 +ENCODING 63207 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7F80 +0480 +FFE0 +0480 +7F80 +2680 +1D00 +1480 +E440 +5C20 +ENDCHAR +STARTCHAR U_F6E8 +ENCODING 63208 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 4 1 4 7 +BITMAP +90 +ENDCHAR +STARTCHAR U_F6E9 +ENCODING 63209 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 2 3 8 +BITMAP +70 +88 +ENDCHAR +STARTCHAR U_F6EA +ENCODING 63210 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 7 3 1 +BITMAP +80 +40 +20 +10 +10 +08 +08 +ENDCHAR +STARTCHAR U_F6EB +ENCODING 63211 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +02 +89 +44 +20 +10 +10 +08 +08 +ENDCHAR +STARTCHAR U_F6EC +ENCODING 63212 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 0 +BITMAP +80 +40 +20 +10 +08 +04 +03 +1C +ENDCHAR +STARTCHAR U_F6ED +ENCODING 63213 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +0500 +8280 +4000 +2000 +1000 +0800 +0400 +0300 +0C00 +ENDCHAR +STARTCHAR U_F6EE +ENCODING 63214 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 2 2 +BITMAP +22 +22 +22 +22 +22 +44 +88 +ENDCHAR +STARTCHAR U_F6EF +ENCODING 63215 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 1 1 +BITMAP +0800 +1400 +2200 +C180 +3E00 +0800 +0800 +FF80 +ENDCHAR +STARTCHAR U_F6F0 +ENCODING 63216 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +10 +20 +7F +82 +04 +18 +04 +04 +ENDCHAR +STARTCHAR U_F6F1 +ENCODING 63217 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +01 +01 +32 +4A +84 +8C +92 +61 +ENDCHAR +STARTCHAR U_F6F2 +ENCODING 63218 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +3C +42 +81 +81 +81 +81 +42 +3C +ENDCHAR +STARTCHAR U_F6F3 +ENCODING 63219 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 1 1 4 +BITMAP +FFC0 +ENDCHAR +STARTCHAR U_F6F4 +ENCODING 63220 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 10 5 0 +BITMAP +E0 +80 +80 +80 +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR U_F6F5 +ENCODING 63221 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 10 5 0 +BITMAP +E0 +20 +20 +20 +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR U_F6F6 +ENCODING 63222 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 3 1 +BITMAP +10 +92 +54 +38 +54 +92 +10 +ENDCHAR +STARTCHAR U_F6F7 +ENCODING 63223 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +10 +A8 +70 +3C +6A +B2 +A4 +D8 +ENDCHAR +STARTCHAR U_F6F8 +ENCODING 63224 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 12 2 -1 +BITMAP +1000 +0800 +0A00 +7C00 +1000 +1E00 +3580 +5880 +9880 +9880 +E100 +0E00 +ENDCHAR +STARTCHAR U_F6F9 +ENCODING 63225 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 6 3 2 +BITMAP +88 +84 +82 +86 +C0 +40 +ENDCHAR +STARTCHAR U_F6FA +ENCODING 63226 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +8000 +8200 +8100 +8080 +8080 +C180 +C000 +4000 +ENDCHAR +STARTCHAR U_F6FB +ENCODING 63227 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 4 6 4 2 +BITMAP +60 +20 +D0 +10 +10 +20 +ENDCHAR +STARTCHAR U_F6FC +ENCODING 63228 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 11 3 0 +BITMAP +40 +38 +20 +00 +B8 +C4 +04 +04 +08 +08 +10 +ENDCHAR +STARTCHAR U_F6FD +ENCODING 63229 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 6 3 2 +BITMAP +38 +10 +70 +30 +50 +9C +ENDCHAR +STARTCHAR U_F6FE +ENCODING 63230 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +40 +38 +00 +18 +F0 +20 +30 +D0 +90 +0E +ENDCHAR +STARTCHAR U_F6FF +ENCODING 63231 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 7 3 2 +BITMAP +40 +44 +E8 +48 +74 +D4 +58 +ENDCHAR +STARTCHAR U_F700 +ENCODING 63232 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 1 +BITMAP +2000 +2000 +2980 +F000 +2700 +3880 +6880 +A880 +E700 +ENDCHAR +STARTCHAR U_F701 +ENCODING 63233 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +1000 +1000 +FD00 +2480 +6580 +4400 +8800 +9800 +ENDCHAR +STARTCHAR U_F702 +ENCODING 63234 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 1 +BITMAP +0180 +1100 +1000 +1900 +E480 +2480 +4400 +8800 +9800 +ENDCHAR +STARTCHAR U_F703 +ENCODING 63235 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 3 0 +BITMAP +20 +14 +F8 +14 +F8 +08 +7C +80 +80 +7C +ENDCHAR +STARTCHAR U_F704 +ENCODING 63236 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 11 2 0 +BITMAP +0100 +3280 +1500 +F800 +0E00 +F800 +0400 +7C00 +8000 +8000 +7C00 +ENDCHAR +STARTCHAR U_F705 +ENCODING 63237 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 10 3 0 +BITMAP +08 +08 +10 +20 +C0 +80 +60 +10 +08 +08 +ENDCHAR +STARTCHAR U_F706 +ENCODING 63238 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +08 +09 +12 +21 +C0 +40 +20 +10 +08 +08 +ENDCHAR +STARTCHAR U_F707 +ENCODING 63239 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +8200 +4200 +4380 +8E00 +8200 +8200 +C200 +C200 +4400 +0400 +ENDCHAR +STARTCHAR U_F708 +ENCODING 63240 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 11 2 0 +BITMAP +0080 +8300 +4280 +4280 +9F00 +8200 +8200 +C200 +C200 +4400 +0400 +ENDCHAR +STARTCHAR U_F709 +ENCODING 63241 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 2 1 +BITMAP +7E +08 +00 +00 +00 +80 +80 +7E +ENDCHAR +STARTCHAR U_F70A +ENCODING 63242 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +01 +7F +08 +10 +00 +00 +80 +80 +80 +7E +ENDCHAR +STARTCHAR U_F70B +ENCODING 63243 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 3 0 +BITMAP +20 +24 +18 +F0 +08 +3C +C0 +80 +80 +7C +ENDCHAR +STARTCHAR U_F70C +ENCODING 63244 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 3 0 +BITMAP +02 +06 +20 +2C +10 +F0 +08 +7C +80 +80 +78 +ENDCHAR +STARTCHAR U_F70D +ENCODING 63245 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 9 3 1 +BITMAP +80 +80 +80 +80 +80 +80 +84 +8C +70 +ENDCHAR +STARTCHAR U_F70E +ENCODING 63246 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +04 +8C +82 +80 +80 +80 +80 +84 +8C +70 +ENDCHAR +STARTCHAR U_F70F +ENCODING 63247 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +0400 +0FC0 +F400 +0C00 +1400 +1400 +0C00 +0400 +0800 +1000 +ENDCHAR +STARTCHAR U_F710 +ENCODING 63248 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 12 1 -1 +BITMAP +00C0 +0480 +0400 +07C0 +FC00 +0C00 +1400 +1400 +0C00 +0400 +0800 +1000 +ENDCHAR +STARTCHAR U_F711 +ENCODING 63249 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 9 2 0 +BITMAP +0200 +2200 +23C0 +3E00 +E200 +2600 +2000 +2000 +1F00 +ENDCHAR +STARTCHAR U_F712 +ENCODING 63250 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 1 0 +BITMAP +0040 +00A0 +0140 +1100 +11C0 +1F00 +F100 +1300 +1000 +1000 +0F80 +ENDCHAR +STARTCHAR U_F713 +ENCODING 63251 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +04 +3C +08 +33 +7C +88 +10 +10 +10 +0E +ENDCHAR +STARTCHAR U_F714 +ENCODING 63252 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +0680 +3D40 +0800 +1100 +3E00 +C800 +1000 +1000 +1000 +0E00 +ENDCHAR +STARTCHAR U_F715 +ENCODING 63253 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +1000 +1000 +2C00 +F700 +2980 +4000 +4000 +5000 +9000 +8F80 +ENDCHAR +STARTCHAR U_F716 +ENCODING 63254 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 2 0 +BITMAP +2080 +1140 +1080 +1800 +EF80 +4200 +4000 +4000 +9000 +8F00 +ENDCHAR +STARTCHAR U_F717 +ENCODING 63255 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +20 +2C +38 +C0 +4C +72 +C2 +02 +04 +18 +ENDCHAR +STARTCHAR U_F718 +ENCODING 63256 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 12 2 -1 +BITMAP +0100 +0080 +1000 +1400 +E800 +2000 +2E00 +7100 +0100 +0100 +0600 +3800 +ENDCHAR +STARTCHAR U_F719 +ENCODING 63257 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 6 2 2 +BITMAP +0E +71 +81 +01 +02 +0C +ENDCHAR +STARTCHAR U_F71A +ENCODING 63258 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 7 1 1 +BITMAP +0F80 +B040 +4040 +0040 +0040 +0080 +0700 +ENDCHAR +STARTCHAR U_F71B +ENCODING 63259 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 10 1 0 +BITMAP +0020 +0040 +0720 +1880 +E040 +0040 +0040 +0080 +0300 +0400 +ENDCHAR +STARTCHAR U_F71C +ENCODING 63260 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +1F80 +E400 +0800 +1000 +1000 +1000 +1800 +0E00 +ENDCHAR +STARTCHAR U_F71D +ENCODING 63261 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +1F80 +E480 +0900 +1080 +1000 +1000 +1800 +0E00 +ENDCHAR +STARTCHAR U_F71E +ENCODING 63262 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +40 +20 +20 +20 +2E +30 +C0 +80 +80 +7E +ENDCHAR +STARTCHAR U_F71F +ENCODING 63263 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0100 +2280 +2100 +2000 +2600 +3800 +4000 +8000 +8000 +7E00 +ENDCHAR +STARTCHAR U_F720 +ENCODING 63264 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +10 +10 +78 +21 +26 +44 +44 +9C +27 +1C +ENDCHAR +STARTCHAR U_F721 +ENCODING 63265 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +4000 +4E00 +8000 +8000 +8000 +C000 +9000 +8F80 +ENDCHAR +STARTCHAR U_F722 +ENCODING 63266 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +8800 +4E00 +7900 +5080 +5080 +A080 +B780 +C780 +ENDCHAR +STARTCHAR U_F723 +ENCODING 63267 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 2 0 +BITMAP +2000 +2000 +3300 +FC80 +3080 +2080 +6080 +AF80 +A980 +2640 +ENDCHAR +STARTCHAR U_F724 +ENCODING 63268 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +3F00 +4880 +9080 +9080 +9080 +A080 +4100 +0600 +ENDCHAR +STARTCHAR U_F725 +ENCODING 63269 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 0 +BITMAP +4200 +4280 +4F00 +8200 +8200 +C200 +8F00 +9280 +8C00 +ENDCHAR +STARTCHAR U_F726 +ENCODING 63270 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 0 +BITMAP +0080 +0040 +4200 +4200 +4380 +8E00 +8200 +8200 +CE00 +9380 +0E00 +ENDCHAR +STARTCHAR U_F727 +ENCODING 63271 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 1 0 +BITMAP +0040 +00A0 +42C0 +4200 +4380 +8E00 +8200 +8200 +CE00 +9380 +8E00 +ENDCHAR +STARTCHAR U_F728 +ENCODING 63272 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 9 2 1 +BITMAP +1300 +F100 +2100 +4180 +4140 +4100 +4200 +6200 +3C00 +ENDCHAR +STARTCHAR U_F729 +ENCODING 63273 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 1 0 +BITMAP +0040 +00A0 +3240 +D100 +2100 +4180 +4140 +4100 +4200 +6200 +3C00 +ENDCHAR +STARTCHAR U_F72A +ENCODING 63274 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 10 1 0 +BITMAP +00C0 +10A0 +F340 +2100 +4180 +4140 +4100 +4200 +6200 +3C00 +ENDCHAR +STARTCHAR U_F72B +ENCODING 63275 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +0800 +0400 +1800 +1000 +0F00 +3480 +C480 +BC00 +ENDCHAR +STARTCHAR U_F72C +ENCODING 63276 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 10 1 0 +BITMAP +0080 +0960 +0CA0 +1000 +1000 +0E00 +3980 +C480 +C580 +3C00 +ENDCHAR +STARTCHAR U_F72D +ENCODING 63277 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 9 1 0 +BITMAP +0880 +0D40 +10C0 +1000 +0F00 +3880 +C480 +C500 +3C00 +ENDCHAR +STARTCHAR U_F72E +ENCODING 63278 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 6 1 2 +BITMAP +1800 +2400 +4200 +C100 +0080 +0040 +ENDCHAR +STARTCHAR U_F72F +ENCODING 63279 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 8 1 2 +BITMAP +0180 +0140 +1880 +2400 +4200 +C100 +0080 +0040 +ENDCHAR +STARTCHAR U_F730 +ENCODING 63280 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 8 2 1 +BITMAP +0180 +0280 +1100 +6800 +4400 +8200 +0180 +00C0 +ENDCHAR +STARTCHAR U_F731 +ENCODING 63281 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +4F00 +4200 +8F80 +8200 +8200 +CE00 +9380 +9E00 +ENDCHAR +STARTCHAR U_F732 +ENCODING 63282 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 8 1 1 +BITMAP +4FE0 +4240 +8F80 +8200 +8200 +CE00 +9380 +9E40 +ENDCHAR +STARTCHAR U_F733 +ENCODING 63283 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 10 1 1 +BITMAP +0020 +0040 +4F60 +4200 +9F80 +8200 +8200 +CE00 +9380 +8C00 +ENDCHAR +STARTCHAR U_F734 +ENCODING 63284 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +10 +10 +16 +F8 +14 +78 +10 +78 +96 +60 +ENDCHAR +STARTCHAR U_F735 +ENCODING 63285 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 2 0 +BITMAP +0400 +3C00 +0800 +0900 +1100 +7D00 +A300 +C2C0 +8400 +1800 +ENDCHAR +STARTCHAR U_F736 +ENCODING 63286 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +2000 +1000 +9880 +6140 +31C0 +E100 +6100 +6100 +4100 +3E00 +ENDCHAR +STARTCHAR U_F737 +ENCODING 63287 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0400 +4400 +4E00 +7900 +4880 +B080 +B080 +B080 +C100 +0E00 +ENDCHAR +STARTCHAR U_F738 +ENCODING 63288 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +10 +10 +20 +78 +A0 +C0 +78 +42 +42 +3C +ENDCHAR +STARTCHAR U_F739 +ENCODING 63289 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 6 3 2 +BITMAP +7E +21 +EE +10 +10 +10 +ENDCHAR +STARTCHAR U_F73A +ENCODING 63290 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0800 +6B00 +5C80 +3080 +E880 +1700 +1000 +0800 +0800 +0800 +ENDCHAR +STARTCHAR U_F73B +ENCODING 63291 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +18 +5E +96 +B5 +D5 +56 +0C +10 +ENDCHAR +STARTCHAR U_F73C +ENCODING 63292 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0C00 +5200 +5F00 +B280 +D280 +D280 +D280 +4F00 +0800 +1000 +ENDCHAR +STARTCHAR U_F73D +ENCODING 63293 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 8 3 1 +BITMAP +20 +10 +1C +10 +10 +78 +94 +60 +ENDCHAR +STARTCHAR U_F73E +ENCODING 63294 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +08 +08 +08 +0E +08 +08 +08 +7E +8B +78 +ENDCHAR +STARTCHAR U_F73F +ENCODING 63295 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +38 +38 +40 +40 +9C +A2 +C2 +02 +04 +78 +ENDCHAR +STARTCHAR U_F740 +ENCODING 63296 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 3 0 +BITMAP +40 +58 +64 +C4 +C4 +C4 +C4 +44 +08 +10 +ENDCHAR +STARTCHAR U_F741 +ENCODING 63297 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +08 +78 +10 +20 +5C +E2 +82 +32 +4C +38 +ENDCHAR +STARTCHAR U_F742 +ENCODING 63298 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 2 0 +BITMAP +2000 +4000 +5000 +7600 +FA00 +4200 +4200 +C240 +4380 +4000 +ENDCHAR +STARTCHAR U_F743 +ENCODING 63299 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +04 +3C +08 +10 +2E +71 +C1 +81 +02 +0C +ENDCHAR +STARTCHAR U_F744 +ENCODING 63300 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 3 1 +BITMAP +20 +20 +FC +22 +62 +E2 +2C +ENDCHAR +STARTCHAR U_F745 +ENCODING 63301 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +2000 +2000 +2000 +3600 +F980 +2080 +6080 +A080 +A100 +6300 +2C00 +ENDCHAR +STARTCHAR U_F746 +ENCODING 63302 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0C00 +3800 +0800 +1600 +1980 +6080 +A080 +A480 +CB00 +4600 +ENDCHAR +STARTCHAR U_F747 +ENCODING 63303 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0400 +3C00 +1E00 +3100 +5900 +2A00 +1C00 +3700 +C880 +8980 +ENDCHAR +STARTCHAR U_F748 +ENCODING 63304 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 3 0 +BITMAP +10 +2C +F0 +40 +79 +8E +98 +68 +40 +3E +ENDCHAR +STARTCHAR U_F749 +ENCODING 63305 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +1000 +0800 +1000 +1000 +2000 +5C00 +6400 +4480 +8480 +8700 +ENDCHAR +STARTCHAR U_F74A +ENCODING 63306 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 5 4 3 +BITMAP +F8 +30 +20 +40 +40 +ENDCHAR +STARTCHAR U_F74B +ENCODING 63307 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 9 2 0 +BITMAP +9F +61 +0E +08 +08 +10 +10 +20 +40 +ENDCHAR +STARTCHAR U_F74C +ENCODING 63308 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 4 6 4 2 +BITMAP +10 +20 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR U_F74D +ENCODING 63309 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 10 3 0 +BITMAP +08 +08 +10 +30 +30 +D0 +10 +10 +10 +10 +ENDCHAR +STARTCHAR U_F74E +ENCODING 63310 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 7 4 1 +BITMAP +20 +F8 +88 +90 +10 +20 +40 +ENDCHAR +STARTCHAR U_F74F +ENCODING 63311 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +10 +10 +1E +E2 +82 +84 +04 +08 +10 +20 +ENDCHAR +STARTCHAR U_F750 +ENCODING 63312 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 5 3 3 +BITMAP +0C +30 +10 +10 +FE +ENDCHAR +STARTCHAR U_F751 +ENCODING 63313 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 6 2 2 +BITMAP +7F00 +0800 +0800 +0800 +0800 +FF80 +ENDCHAR +STARTCHAR U_F752 +ENCODING 63314 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 6 2 2 +BITMAP +08 +7E +08 +18 +28 +D8 +ENDCHAR +STARTCHAR U_F753 +ENCODING 63315 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0800 +0400 +0400 +7F80 +0C00 +1400 +2400 +4400 +8C00 +0400 +ENDCHAR +STARTCHAR U_F754 +ENCODING 63316 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 8 4 1 +BITMAP +10 +20 +FC +24 +24 +44 +48 +88 +ENDCHAR +STARTCHAR U_F755 +ENCODING 63317 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 9 3 1 +BITMAP +03 +12 +20 +FC +24 +24 +44 +48 +88 +ENDCHAR +STARTCHAR U_F756 +ENCODING 63318 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 1 +BITMAP +1000 +0800 +0F00 +7800 +0F80 +F800 +0800 +0400 +0400 +ENDCHAR +STARTCHAR U_F757 +ENCODING 63319 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +2380 +1000 +1600 +F800 +1000 +1F00 +E800 +0800 +0800 +0800 +ENDCHAR +STARTCHAR U_F758 +ENCODING 63320 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 9 3 0 +BITMAP +10 +12 +3E +44 +04 +08 +10 +20 +C0 +ENDCHAR +STARTCHAR U_F759 +ENCODING 63321 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0080 +0180 +1200 +3E00 +4400 +0400 +0800 +1800 +2000 +C000 +ENDCHAR +STARTCHAR U_F75A +ENCODING 63322 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 3 1 +BITMAP +20 +7F +88 +88 +10 +10 +20 +40 +ENDCHAR +STARTCHAR U_F75B +ENCODING 63323 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 11 3 0 +BITMAP +02 +05 +22 +20 +7F +88 +88 +10 +10 +20 +40 +ENDCHAR +STARTCHAR U_F75C +ENCODING 63324 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 6 3 2 +BITMAP +FE +02 +02 +04 +04 +FE +ENDCHAR +STARTCHAR U_F75D +ENCODING 63325 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 2 +BITMAP +0080 +0100 +0080 +FF00 +0200 +0200 +0200 +0200 +FE00 +ENDCHAR +STARTCHAR U_F75E +ENCODING 63326 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 1 +BITMAP +0400 +2400 +2400 +FF80 +2400 +2400 +0400 +0800 +1000 +ENDCHAR +STARTCHAR U_F75F +ENCODING 63327 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 11 2 0 +BITMAP +0100 +0A80 +2500 +2400 +3F00 +E400 +2400 +2400 +0800 +0800 +1000 +ENDCHAR +STARTCHAR U_F760 +ENCODING 63328 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +20 +00 +C1 +01 +02 +04 +18 +60 +ENDCHAR +STARTCHAR U_F761 +ENCODING 63329 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 1 +BITMAP +0180 +6100 +0000 +8100 +4100 +0200 +0C00 +1000 +6000 +ENDCHAR +STARTCHAR U_F762 +ENCODING 63330 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +04 +7C +08 +08 +10 +3C +42 +82 +ENDCHAR +STARTCHAR U_F763 +ENCODING 63331 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +01 +02 +05 +7C +04 +08 +08 +14 +22 +C0 +ENDCHAR +STARTCHAR U_F764 +ENCODING 63332 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 3 1 +BITMAP +20 +20 +23 +3E +E4 +20 +20 +1E +ENDCHAR +STARTCHAR U_F765 +ENCODING 63333 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0180 +0100 +1000 +1100 +1F00 +F200 +1000 +1000 +1000 +0F00 +ENDCHAR +STARTCHAR U_F766 +ENCODING 63334 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 9 3 0 +BITMAP +04 +82 +44 +04 +04 +08 +10 +20 +C0 +ENDCHAR +STARTCHAR U_F767 +ENCODING 63335 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0180 +0140 +0080 +C100 +2100 +2200 +0200 +0400 +0400 +0800 +3000 +ENDCHAR +STARTCHAR U_F768 +ENCODING 63336 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 9 3 0 +BITMAP +10 +2E +44 +74 +08 +18 +20 +40 +80 +ENDCHAR +STARTCHAR U_F769 +ENCODING 63337 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0080 +1100 +1E80 +2200 +3400 +4C00 +0C00 +1400 +2000 +C000 +ENDCHAR +STARTCHAR U_F76A +ENCODING 63338 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 1 +BITMAP +0200 +0C00 +7400 +0780 +FC00 +0400 +0800 +0800 +1000 +ENDCHAR +STARTCHAR U_F76B +ENCODING 63339 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 8 1 1 +BITMAP +03E0 +7C40 +0400 +FF80 +0400 +0400 +0800 +1000 +ENDCHAR +STARTCHAR U_F76C +ENCODING 63340 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 5 4 2 +BITMAP +A4 +08 +08 +10 +20 +ENDCHAR +STARTCHAR U_F76D +ENCODING 63341 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 7 2 1 +BITMAP +91 +49 +42 +02 +04 +08 +10 +ENDCHAR +STARTCHAR U_F76E +ENCODING 63342 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 0 +BITMAP +0180 +2100 +9100 +4200 +0200 +0400 +0400 +1800 +2000 +ENDCHAR +STARTCHAR U_F76F +ENCODING 63343 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 9 3 0 +BITMAP +7C +00 +3F +D0 +10 +10 +20 +20 +C0 +ENDCHAR +STARTCHAR U_F770 +ENCODING 63344 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0080 +7F00 +0000 +0F00 +F800 +0800 +0800 +1000 +2000 +4000 +ENDCHAR +STARTCHAR U_F771 +ENCODING 63345 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 4 9 5 0 +BITMAP +80 +80 +80 +E0 +90 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_F772 +ENCODING 63346 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 10 4 0 +BITMAP +08 +90 +88 +80 +E0 +90 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_F773 +ENCODING 63347 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +1000 +0800 +0800 +FF80 +0800 +0800 +1000 +1000 +2000 +4000 +ENDCHAR +STARTCHAR U_F774 +ENCODING 63348 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 6 2 2 +BITMAP +4E00 +3000 +0000 +0000 +0000 +FF80 +ENDCHAR +STARTCHAR U_F775 +ENCODING 63349 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 8 4 1 +BITMAP +0C +7C +08 +48 +30 +28 +44 +80 +ENDCHAR +STARTCHAR U_F776 +ENCODING 63350 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +18 +00 +5E +24 +08 +1A +29 +C9 +08 +08 +ENDCHAR +STARTCHAR U_F777 +ENCODING 63351 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 8 4 1 +BITMAP +08 +04 +08 +08 +10 +30 +60 +80 +ENDCHAR +STARTCHAR U_F778 +ENCODING 63352 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 6 2 2 +BITMAP +1200 +1100 +2080 +2040 +4040 +8000 +ENDCHAR +STARTCHAR U_F779 +ENCODING 63353 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 8 1 2 +BITMAP +00C0 +0080 +1200 +1100 +2080 +2040 +4040 +8000 +ENDCHAR +STARTCHAR U_F77A +ENCODING 63354 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 8 2 2 +BITMAP +0080 +0140 +4080 +2200 +4100 +4080 +8080 +0080 +ENDCHAR +STARTCHAR U_F77B +ENCODING 63355 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +80 +84 +8C +B0 +C0 +80 +80 +7E +ENDCHAR +STARTCHAR U_F77C +ENCODING 63356 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 3 0 +BITMAP +03 +06 +80 +84 +98 +E0 +80 +80 +80 +7C +ENDCHAR +STARTCHAR U_F77D +ENCODING 63357 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 1 +BITMAP +0180 +8280 +4100 +4600 +4800 +7000 +4000 +4000 +3E00 +ENDCHAR +STARTCHAR U_F77E +ENCODING 63358 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 0 +BITMAP +FE +04 +04 +04 +08 +10 +20 +40 +ENDCHAR +STARTCHAR U_F77F +ENCODING 63359 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0080 +0100 +FE80 +0200 +0400 +0400 +0800 +1800 +2000 +4000 +ENDCHAR +STARTCHAR U_F780 +ENCODING 63360 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 2 0 +BITMAP +0180 +0140 +FE80 +0600 +0400 +0400 +0800 +1000 +2000 +4000 +ENDCHAR +STARTCHAR U_F781 +ENCODING 63361 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 6 1 2 +BITMAP +1800 +2400 +4200 +C100 +0080 +0040 +ENDCHAR +STARTCHAR U_F782 +ENCODING 63362 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 8 1 2 +BITMAP +0180 +0140 +1880 +2400 +4200 +C100 +0080 +0040 +ENDCHAR +STARTCHAR U_F783 +ENCODING 63363 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 8 1 2 +BITMAP +0080 +0140 +1880 +2400 +4200 +C100 +0080 +0060 +ENDCHAR +STARTCHAR U_F784 +ENCODING 63364 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 9 2 1 +BITMAP +08 +08 +08 +FF +08 +0A +49 +88 +08 +ENDCHAR +STARTCHAR U_F785 +ENCODING 63365 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0180 +0900 +0800 +1F00 +E800 +0800 +4A00 +C900 +9800 +0800 +ENDCHAR +STARTCHAR U_F786 +ENCODING 63366 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 2 0 +BITMAP +0080 +1140 +0980 +0800 +1F00 +E800 +0800 +4A00 +8900 +9800 +0800 +ENDCHAR +STARTCHAR U_F787 +ENCODING 63367 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 6 2 2 +BITMAP +0F80 +F100 +0200 +1400 +0800 +0800 +ENDCHAR +STARTCHAR U_F788 +ENCODING 63368 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 8 4 1 +BITMAP +70 +00 +00 +F0 +00 +00 +E0 +18 +ENDCHAR +STARTCHAR U_F789 +ENCODING 63369 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +08 +08 +10 +20 +22 +41 +FF +81 +ENDCHAR +STARTCHAR U_F78A +ENCODING 63370 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +04 +06 +24 +18 +0C +14 +20 +C0 +ENDCHAR +STARTCHAR U_F78B +ENCODING 63371 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +0300 +3C00 +0800 +0F80 +F800 +0800 +0800 +0F80 +ENDCHAR +STARTCHAR U_F78C +ENCODING 63372 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 6 3 2 +BITMAP +20 +2E +F4 +20 +10 +10 +ENDCHAR +STARTCHAR U_F78D +ENCODING 63373 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +1000 +1000 +1F80 +F100 +1200 +0800 +0800 +0800 +ENDCHAR +STARTCHAR U_F78E +ENCODING 63374 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 4 3 3 +BITMAP +38 +08 +08 +FE +ENDCHAR +STARTCHAR U_F78F +ENCODING 63375 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 6 2 2 +BITMAP +3E00 +0200 +0200 +0400 +0400 +FF80 +ENDCHAR +STARTCHAR U_F790 +ENCODING 63376 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 4 6 4 2 +BITMAP +30 +D0 +30 +D0 +10 +F0 +ENDCHAR +STARTCHAR U_F791 +ENCODING 63377 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 7 3 1 +BITMAP +FC +04 +04 +FC +04 +08 +FC +ENDCHAR +STARTCHAR U_F792 +ENCODING 63378 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 3 0 +BITMAP +9C +60 +00 +FE +02 +04 +04 +08 +10 +20 +40 +ENDCHAR +STARTCHAR U_F793 +ENCODING 63379 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 10 4 0 +BITMAP +10 +88 +88 +88 +88 +88 +10 +10 +20 +40 +ENDCHAR +STARTCHAR U_F794 +ENCODING 63380 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +4000 +2800 +2800 +2800 +2800 +4980 +4E00 +8000 +ENDCHAR +STARTCHAR U_F795 +ENCODING 63381 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +80 +80 +80 +82 +84 +98 +E0 +80 +ENDCHAR +STARTCHAR U_F796 +ENCODING 63382 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 3 1 +BITMAP +0E +F2 +84 +84 +84 +FC +C0 +ENDCHAR +STARTCHAR U_F797 +ENCODING 63383 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 6 3 2 +BITMAP +80 +7C +48 +48 +08 +10 +ENDCHAR +STARTCHAR U_F798 +ENCODING 63384 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 9 2 0 +BITMAP +80 +7F +42 +42 +02 +04 +04 +08 +30 +ENDCHAR +STARTCHAR U_F799 +ENCODING 63385 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +0400 +0400 +0400 +7F00 +2400 +3F80 +C400 +0400 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_F79A +ENCODING 63386 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 6 2 2 +BITMAP +3F00 +0200 +0C00 +0800 +0800 +FF80 +ENDCHAR +STARTCHAR U_F79B +ENCODING 63387 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 3 1 +BITMAP +FA +04 +FE +04 +08 +10 +20 +ENDCHAR +STARTCHAR U_F79C +ENCODING 63388 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +80 +40 +02 +04 +04 +08 +30 +C0 +ENDCHAR +STARTCHAR U_F79D +ENCODING 63389 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +0100 +1280 +1100 +FE00 +8200 +8400 +0400 +0800 +1000 +2000 +ENDCHAR +STARTCHAR U_F79E +ENCODING 63390 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 7 4 1 +BITMAP +10 +9C +64 +24 +24 +58 +88 +ENDCHAR +STARTCHAR U_F79F +ENCODING 63391 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 3 1 +BITMAP +20 +7E +88 +90 +10 +20 +40 +ENDCHAR +STARTCHAR U_F7A0 +ENCODING 63392 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +0800 +0800 +1400 +1400 +2200 +3E00 +2200 +4100 +4100 +E380 +ENDCHAR +STARTCHAR U_F7A1 +ENCODING 63393 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +FC +44 +40 +40 +78 +44 +42 +42 +44 +F8 +ENDCHAR +STARTCHAR U_F7A2 +ENCODING 63394 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 9 2 0 +BITMAP +FC +42 +42 +44 +7C +42 +42 +42 +FC +ENDCHAR +STARTCHAR U_F7A3 +ENCODING 63395 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +FE +42 +42 +40 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR U_F7A4 +ENCODING 63396 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +7F +22 +22 +22 +22 +42 +42 +42 +42 +FF +81 +ENDCHAR +STARTCHAR U_F7A5 +ENCODING 63397 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +FE +42 +40 +48 +78 +48 +40 +40 +42 +FE +ENDCHAR +STARTCHAR U_F7A6 +ENCODING 63398 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +44 +00 +FE +42 +40 +48 +78 +48 +40 +42 +FE +ENDCHAR +STARTCHAR U_F7A7 +ENCODING 63399 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8E20 +4440 +4440 +2480 +2480 +1F00 +2480 +2480 +4440 +4440 +8E20 +ENDCHAR +STARTCHAR U_F7A8 +ENCODING 63400 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 3 0 +BITMAP +B8 +C4 +84 +04 +38 +04 +84 +84 +48 +30 +ENDCHAR +STARTCHAR U_F7A9 +ENCODING 63401 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +E7 +43 +45 +45 +49 +51 +51 +61 +41 +E7 +ENDCHAR +STARTCHAR U_F7AA +ENCODING 63402 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 11 2 0 +BITMAP +3C +E7 +43 +45 +45 +49 +51 +51 +61 +41 +E7 +ENDCHAR +STARTCHAR U_F7AB +ENCODING 63403 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 11 2 0 +BITMAP +02 +E5 +44 +44 +48 +78 +44 +44 +44 +44 +E2 +ENDCHAR +STARTCHAR U_F7AC +ENCODING 63404 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +7F00 +2100 +2100 +2100 +2100 +2100 +2100 +2100 +A100 +4380 +ENDCHAR +STARTCHAR U_F7AD +ENCODING 63405 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +C0C0 +4180 +6280 +6280 +5280 +5480 +5480 +4C80 +4880 +E1C0 +ENDCHAR +STARTCHAR U_F7AE +ENCODING 63406 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +E380 +4100 +4100 +4100 +7F00 +4100 +4100 +4100 +4100 +E380 +ENDCHAR +STARTCHAR U_F7AF +ENCODING 63407 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +18 +24 +42 +81 +81 +81 +81 +42 +24 +18 +ENDCHAR +STARTCHAR U_F7B0 +ENCODING 63408 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +FE +44 +44 +44 +44 +44 +44 +44 +44 +EE +ENDCHAR +STARTCHAR U_F7B1 +ENCODING 63409 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 9 3 1 +BITMAP +FC +42 +42 +42 +7C +40 +40 +40 +E0 +ENDCHAR +STARTCHAR U_F7B2 +ENCODING 63410 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +38 +46 +82 +80 +80 +80 +80 +82 +64 +18 +ENDCHAR +STARTCHAR U_F7B3 +ENCODING 63411 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 1 +BITMAP +FF00 +8880 +0800 +0800 +0800 +0800 +0800 +0800 +1C00 +ENDCHAR +STARTCHAR U_F7B4 +ENCODING 63412 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 1 +BITMAP +E380 +4200 +2200 +2400 +1400 +1800 +1000 +1000 +6000 +ENDCHAR +STARTCHAR U_F7B5 +ENCODING 63413 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 1 0 +BITMAP +1C00 +0800 +3E00 +4900 +8880 +8880 +4900 +3E00 +0800 +1C00 +ENDCHAR +STARTCHAR U_F7B6 +ENCODING 63414 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +E700 +6200 +2400 +1800 +1800 +1800 +2400 +2400 +4200 +E780 +ENDCHAR +STARTCHAR U_F7B7 +ENCODING 63415 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +EE +44 +44 +44 +44 +44 +44 +44 +44 +FE +ENDCHAR +STARTCHAR U_F7B8 +ENCODING 63416 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 3 0 +BITMAP +CC +84 +84 +84 +8C +74 +04 +04 +04 +0C +ENDCHAR +STARTCHAR U_F7B9 +ENCODING 63417 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +EDC0 +4480 +4480 +4480 +4480 +4480 +4480 +4480 +4480 +FFC0 +ENDCHAR +STARTCHAR U_F7BA +ENCODING 63418 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 1 -1 +BITMAP +EDC0 +4480 +4480 +4480 +4480 +4480 +4480 +4480 +4480 +FFE0 +0020 +ENDCHAR +STARTCHAR U_F7BB +ENCODING 63419 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 2 0 +BITMAP +7800 +9000 +9000 +1000 +1E00 +1100 +1080 +1080 +1100 +3E00 +ENDCHAR +STARTCHAR U_F7BC +ENCODING 63420 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +61C0 +4080 +4080 +4080 +7880 +4480 +4280 +4280 +4480 +F9C0 +ENDCHAR +STARTCHAR U_F7BD +ENCODING 63421 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +E0 +40 +40 +40 +78 +44 +42 +42 +44 +F8 +ENDCHAR +STARTCHAR U_F7BE +ENCODING 63422 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +38 +C4 +04 +02 +3E +02 +82 +84 +44 +38 +ENDCHAR +STARTCHAR U_F7BF +ENCODING 63423 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 0 +BITMAP +0200 +E580 +4880 +5040 +5040 +7040 +5040 +5040 +4880 +4880 +E700 +ENDCHAR +STARTCHAR U_F7C0 +ENCODING 63424 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 3 0 +BITMAP +7E +84 +84 +44 +3C +44 +44 +44 +44 +8E +ENDCHAR +STARTCHAR U_F7C1 +ENCODING 63425 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 8 3 0 +BITMAP +30 +48 +08 +18 +68 +88 +88 +70 +ENDCHAR +STARTCHAR U_F7C2 +ENCODING 63426 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 10 4 0 +BITMAP +08 +30 +60 +D0 +88 +88 +88 +88 +50 +20 +ENDCHAR +STARTCHAR U_F7C3 +ENCODING 63427 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +F8 +44 +44 +78 +44 +42 +42 +FC +ENDCHAR +STARTCHAR U_F7C4 +ENCODING 63428 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 8 3 1 +BITMAP +FC +40 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR U_F7C5 +ENCODING 63429 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 9 3 0 +BITMAP +7E +44 +44 +44 +44 +44 +84 +7E +82 +ENDCHAR +STARTCHAR U_F7C6 +ENCODING 63430 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 8 4 0 +BITMAP +20 +50 +88 +F8 +80 +80 +C8 +30 +ENDCHAR +STARTCHAR U_F7C7 +ENCODING 63431 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 9 4 0 +BITMAP +48 +20 +50 +88 +F8 +80 +80 +C8 +30 +ENDCHAR +STARTCHAR U_F7C8 +ENCODING 63432 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +9C80 +4900 +4900 +3E00 +4900 +4900 +4900 +9C80 +ENDCHAR +STARTCHAR U_F7C9 +ENCODING 63433 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 8 3 1 +BITMAP +78 +44 +04 +18 +04 +C4 +84 +78 +ENDCHAR +STARTCHAR U_F7CA +ENCODING 63434 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +E7 +43 +45 +49 +51 +61 +41 +E7 +ENDCHAR +STARTCHAR U_F7CB +ENCODING 63435 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 9 2 1 +BITMAP +3C +E7 +43 +45 +49 +51 +61 +41 +E7 +ENDCHAR +STARTCHAR U_F7CC +ENCODING 63436 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 8 3 1 +BITMAP +CC +48 +50 +70 +48 +48 +48 +CC +ENDCHAR +STARTCHAR U_F7CD +ENCODING 63437 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 3 1 +BITMAP +7E +22 +22 +22 +22 +22 +A2 +C7 +ENDCHAR +STARTCHAR U_F7CE +ENCODING 63438 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +C180 +C100 +A700 +A500 +B500 +9900 +9900 +C380 +ENDCHAR +STARTCHAR U_F7CF +ENCODING 63439 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +E7 +42 +42 +7E +42 +42 +42 +E7 +ENDCHAR +STARTCHAR U_F7D0 +ENCODING 63440 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +38 +44 +82 +82 +82 +82 +44 +38 +ENDCHAR +STARTCHAR U_F7D1 +ENCODING 63441 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +FE +44 +44 +44 +44 +44 +44 +EE +ENDCHAR +STARTCHAR U_F7D2 +ENCODING 63442 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 9 3 0 +BITMAP +70 +4C +44 +44 +78 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR U_F7D3 +ENCODING 63443 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 8 3 0 +BITMAP +28 +58 +80 +80 +80 +80 +48 +30 +ENDCHAR +STARTCHAR U_F7D4 +ENCODING 63444 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +FE +10 +10 +10 +10 +10 +10 +38 +ENDCHAR +STARTCHAR U_F7D5 +ENCODING 63445 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 3 1 +BITMAP +E7 +44 +24 +28 +18 +10 +20 +60 +ENDCHAR +STARTCHAR U_F7D6 +ENCODING 63446 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 12 2 -1 +BITMAP +08 +18 +08 +6E +99 +89 +89 +89 +89 +7E +08 +1C +ENDCHAR +STARTCHAR U_F7D7 +ENCODING 63447 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +E7 +24 +28 +10 +18 +24 +44 +E7 +ENDCHAR +STARTCHAR U_F7D8 +ENCODING 63448 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 8 3 1 +BITMAP +EC +44 +44 +44 +44 +44 +44 +FC +ENDCHAR +STARTCHAR U_F7D9 +ENCODING 63449 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 8 4 1 +BITMAP +8C +88 +88 +88 +F8 +08 +08 +1C +ENDCHAR +STARTCHAR U_F7DA +ENCODING 63450 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +ED80 +4900 +4900 +4900 +4900 +4900 +4900 +FF80 +ENDCHAR +STARTCHAR U_F7DB +ENCODING 63451 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 9 2 0 +BITMAP +ED80 +4880 +4880 +4880 +4880 +4880 +4880 +C880 +3740 +ENDCHAR +STARTCHAR U_F7DC +ENCODING 63452 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +F0 +20 +20 +38 +26 +22 +22 +7C +ENDCHAR +STARTCHAR U_F7DD +ENCODING 63453 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +E380 +4100 +4100 +7100 +4D00 +4500 +4500 +FB80 +ENDCHAR +STARTCHAR U_F7DE +ENCODING 63454 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 8 3 1 +BITMAP +E0 +40 +40 +70 +4C +44 +44 +F8 +ENDCHAR +STARTCHAR U_F7DF +ENCODING 63455 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 8 4 1 +BITMAP +B0 +C8 +04 +3C +04 +84 +88 +70 +ENDCHAR +STARTCHAR U_F7E0 +ENCODING 63456 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +E600 +5900 +5080 +7080 +5080 +5080 +4900 +E600 +ENDCHAR +STARTCHAR U_F7E1 +ENCODING 63457 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +3E +44 +44 +3C +44 +44 +44 +CE +ENDCHAR +STARTCHAR U_F7E2 +ENCODING 63458 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 1 0 +BITMAP +0400 +0A00 +1100 +2080 +4040 +F9E0 +0900 +0900 +0900 +0900 +0F00 +ENDCHAR +STARTCHAR U_F7E3 +ENCODING 63459 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 9 1 1 +BITMAP +FFE0 +0000 +7000 +6000 +5000 +0800 +0400 +0200 +0100 +ENDCHAR +STARTCHAR U_F7E4 +ENCODING 63460 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 10 1 0 +BITMAP +9000 +B000 +FFC0 +B000 +9000 +0120 +01A0 +7FE0 +01A0 +0120 +ENDCHAR +STARTCHAR U_F7E5 +ENCODING 63461 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 4 0 +BITMAP +80 +80 +80 +40 +40 +40 +20 +20 +10 +0C +ENDCHAR +STARTCHAR U_F7E6 +ENCODING 63462 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 -1 +BITMAP +FF +01 +01 +01 +01 +01 +01 +01 +01 +06 +ENDCHAR +STARTCHAR U_F7E7 +ENCODING 63463 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 11 4 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +88 +88 +78 +ENDCHAR +STARTCHAR U_F7E8 +ENCODING 63464 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +1000 +1000 +1F80 +2100 +4100 +8200 +0200 +0400 +0800 +1000 +6000 +ENDCHAR +STARTCHAR U_F7E9 +ENCODING 63465 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 4 11 4 -1 +BITMAP +10 +90 +90 +90 +90 +90 +90 +90 +90 +10 +70 +ENDCHAR +STARTCHAR U_F7EA +ENCODING 63466 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 4 1 6 +BITMAP +2100 +2200 +1400 +FFC0 +ENDCHAR +STARTCHAR U_F7EB +ENCODING 63467 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 8 1 -1 +BITMAP +0400 +0400 +2400 +2780 +2400 +2400 +5400 +8FC0 +ENDCHAR +STARTCHAR U_F7EC +ENCODING 63468 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 11 2 -1 +BITMAP +FF80 +8080 +8280 +A480 +A480 +9880 +8880 +9480 +A380 +8080 +8180 +ENDCHAR +STARTCHAR U_F7ED +ENCODING 63469 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 +A240 +A240 +9440 +8840 +9440 +A240 +8140 +FFC0 +8040 +ENDCHAR +STARTCHAR U_F7EE +ENCODING 63470 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 8 0 -1 +BITMAP +0400 +0C00 +1240 +2280 +E100 +2080 +2840 +3020 +ENDCHAR +STARTCHAR U_F7EF +ENCODING 63471 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +40 +C0 +40 +40 +4F +40 +40 +E0 +ENDCHAR +STARTCHAR U_F7F0 +ENCODING 63472 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 9 2 0 +BITMAP +E0 +82 +85 +E5 +12 +15 +15 +92 +60 +ENDCHAR +STARTCHAR U_F7F1 +ENCODING 63473 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 0 +BITMAP +04 +6A +A6 +22 +4E +24 +2A +A4 +4A +04 +ENDCHAR +STARTCHAR U_F7F2 +ENCODING 63474 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +6000 +9000 +1000 +6000 +1780 +1000 +9000 +6000 +ENDCHAR +STARTCHAR U_F7F3 +ENCODING 63475 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +46 +A2 +14 +24 +66 +14 +14 +94 +64 +04 +06 +ENDCHAR +STARTCHAR U_F7F4 +ENCODING 63476 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 9 1 0 +BITMAP +1000 +1000 +3000 +3000 +53C0 +5000 +F800 +1000 +3800 +ENDCHAR +STARTCHAR U_F7F5 +ENCODING 63477 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +E000 +8000 +8000 +E000 +9780 +1000 +9000 +6000 +ENDCHAR +STARTCHAR U_F7F6 +ENCODING 63478 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 1 +BITMAP +2000 +5000 +8000 +8000 +E000 +9780 +9000 +9000 +6000 +ENDCHAR +STARTCHAR U_F7F7 +ENCODING 63479 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 9 2 1 +BITMAP +20 +D6 +92 +92 +62 +D2 +92 +96 +60 +ENDCHAR +STARTCHAR U_F7F8 +ENCODING 63480 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +F000 +A000 +2000 +4000 +4780 +4000 +4000 +4000 +ENDCHAR +STARTCHAR U_F7F9 +ENCODING 63481 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 1 +BITMAP +2000 +D000 +9000 +9000 +6000 +7780 +9000 +9000 +6000 +ENDCHAR +STARTCHAR U_F7FA +ENCODING 63482 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +E000 +9000 +9000 +9000 +7780 +1000 +A000 +E000 +ENDCHAR +STARTCHAR U_F7FB +ENCODING 63483 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 0 +BITMAP +06 +F6 +A6 +26 +40 +42 +46 +46 +46 +06 +ENDCHAR +STARTCHAR U_F7FC +ENCODING 63484 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +22 +55 +85 +85 +E2 +97 +96 +92 +62 +02 +ENDCHAR +STARTCHAR U_F7FD +ENCODING 63485 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +06 +E2 +94 +94 +96 +74 +14 +A4 +E4 +04 +06 +ENDCHAR +STARTCHAR U_F7FE +ENCODING 63486 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 3 1 +BITMAP +EC +A4 +94 +94 +94 +94 +A6 +60 +ENDCHAR +STARTCHAR U_F7FF +ENCODING 63487 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 3 -1 +BITMAP +0E +CA +44 +48 +4E +44 +44 +44 +E4 +04 +04 +ENDCHAR +STARTCHAR U_F800 +ENCODING 63488 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 9 2 1 +BITMAP +10 +16 +32 +52 +52 +92 +72 +13 +30 +ENDCHAR +STARTCHAR U_F801 +ENCODING 63489 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 1 +BITMAP +2000 +D000 +9000 +9000 +2000 +4780 +4000 +8000 +F000 +ENDCHAR +STARTCHAR U_F802 +ENCODING 63490 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +06 +E6 +84 +84 +E6 +12 +12 +92 +62 +02 +06 +ENDCHAR +STARTCHAR U_F803 +ENCODING 63491 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 2 1 +BITMAP +F2 +A6 +22 +42 +42 +42 +46 +40 +ENDCHAR +STARTCHAR U_F804 +ENCODING 63492 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 12 2 -1 +BITMAP +02 +15 +15 +33 +51 +56 +90 +76 +12 +36 +06 +02 +ENDCHAR +STARTCHAR U_F805 +ENCODING 63493 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +26 +D2 +94 +14 +26 +42 +42 +82 +F2 +02 +06 +ENDCHAR +STARTCHAR U_F806 +ENCODING 63494 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 12 2 -1 +BITMAP +02 +25 +D5 +93 +11 +26 +42 +46 +84 +F6 +06 +02 +ENDCHAR +STARTCHAR U_F807 +ENCODING 63495 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +26 +52 +84 +84 +E6 +92 +92 +92 +62 +02 +06 +ENDCHAR +STARTCHAR U_F808 +ENCODING 63496 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 3 -1 +BITMAP +04 +CA +4A +4A +44 +44 +4A +44 +EA +0A +04 +ENDCHAR +STARTCHAR U_F809 +ENCODING 63497 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 12 3 -1 +BITMAP +04 +0A +C8 +4E +4A +44 +44 +4A +44 +E2 +0A +04 +ENDCHAR +STARTCHAR U_F80A +ENCODING 63498 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 0 +BITMAP +26 +D4 +92 +16 +26 +46 +46 +84 +F2 +06 +ENDCHAR +STARTCHAR U_F80B +ENCODING 63499 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 2 0 +BITMAP +02 +44 +B4 +96 +26 +60 +10 +16 +92 +62 +06 +ENDCHAR +STARTCHAR U_F80C +ENCODING 63500 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 12 2 -1 +BITMAP +02 +14 +16 +35 +55 +52 +96 +72 +14 +33 +05 +02 +ENDCHAR +STARTCHAR U_F80D +ENCODING 63501 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 0 +BITMAP +02 +E4 +86 +86 +E6 +10 +16 +92 +62 +06 +ENDCHAR +STARTCHAR U_F80E +ENCODING 63502 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 0 +BITMAP +24 +54 +86 +86 +E6 +90 +96 +92 +62 +06 +ENDCHAR +STARTCHAR U_F80F +ENCODING 63503 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 0 +BITMAP +06 +F4 +A6 +26 +42 +44 +46 +44 +42 +06 +ENDCHAR +STARTCHAR U_F810 +ENCODING 63504 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 9 2 1 +BITMAP +20 +D3 +95 +94 +67 +75 +95 +93 +60 +ENDCHAR +STARTCHAR U_F811 +ENCODING 63505 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 2 0 +BITMAP +02 +04 +E4 +96 +96 +96 +76 +14 +24 +E2 +06 +ENDCHAR +STARTCHAR U_F812 +ENCODING 63506 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 3 -1 +BITMAP +0C +E8 +AE +9A +94 +94 +96 +A4 +62 +0A +04 +ENDCHAR +STARTCHAR U_F813 +ENCODING 63507 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 9 2 1 +BITMAP +20 +D3 +95 +95 +62 +D5 +95 +93 +60 +ENDCHAR +STARTCHAR U_F814 +ENCODING 63508 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 11 2 -1 +BITMAP +06 +6A +9A +96 +92 +74 +16 +94 +6A +0A +04 +ENDCHAR +STARTCHAR U_F815 +ENCODING 63509 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 8 2 1 +BITMAP +60 +92 +95 +92 +95 +95 +92 +60 +ENDCHAR +STARTCHAR U_F816 +ENCODING 63510 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 8 2 1 +BITMAP +6000 +9000 +9000 +9000 +9780 +9000 +9000 +6000 +ENDCHAR +STARTCHAR U_F817 +ENCODING 63511 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 3 2 6 +BITMAP +FF +01 +01 +ENDCHAR +STARTCHAR U_F818 +ENCODING 63512 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 1 10 6 -1 +BITMAP +80 +80 +80 +80 +00 +00 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_F819 +ENCODING 63513 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 4 5 6 +BITMAP +C0 +C0 +40 +80 +ENDCHAR +STARTCHAR U_F81A +ENCODING 63514 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 4 4 7 +BITMAP +D8 +D8 +48 +90 +ENDCHAR +STARTCHAR U_F81B +ENCODING 63515 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4140 +5540 +9520 +FFE0 +9120 +BFE0 +D120 +93A0 +9560 +5940 +4140 +ENDCHAR +STARTCHAR U_F81C +ENCODING 63516 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 12 9 0 0 +BITMAP +CE00 +4400 +6400 +54C0 +5520 +4D20 +4520 +E6C0 +0010 +ENDCHAR +STARTCHAR U_F81D +ENCODING 63517 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 10 0 0 +BITMAP +F820 +A860 +2020 +2320 +24A0 +24A0 +27A0 +2420 +24A0 +7320 +ENDCHAR +STARTCHAR U_F900 +ENCODING 63744 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +0000 +FFE0 +0000 +3F80 +2080 +3F80 +1100 +FFE0 +ENDCHAR +STARTCHAR U_F901 +ENCODING 63745 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +0200 +3FC0 +2240 +3FC0 +2240 +3FC0 +0A00 +0400 +1B00 +E0E0 +ENDCHAR +STARTCHAR U_F902 +ENCODING 63746 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +3F80 +2480 +3F80 +2480 +3F80 +0400 +FFE0 +0400 +ENDCHAR +STARTCHAR U_F903 +ENCODING 63747 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +2080 +3C80 +2780 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_F904 +ENCODING 63748 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +05C0 +8540 +5FE0 +3460 +27C0 +C440 +47C0 +4440 +44C0 +ENDCHAR +STARTCHAR U_F905 +ENCODING 63749 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +4440 +7FC0 +0400 +FFE0 +8420 +FFE0 +8420 +0400 +0400 +ENDCHAR +STARTCHAR U_F906 +ENCODING 63750 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +3FC0 +4040 +8040 +7C40 +4440 +4440 +7C40 +4440 +0040 +0180 +ENDCHAR +STARTCHAR U_F907 +ENCODING 63751 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +2100 +FFC0 +4A40 +7BC0 +FAC0 +2B40 +FAC0 +2BE0 +FA20 +07E0 +ENDCHAR +STARTCHAR U_F908 +ENCODING 63752 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F00 +2100 +FFC0 +4A40 +7BC0 +FAC0 +2B40 +FAC0 +2BE0 +FA20 +07E0 +ENDCHAR +STARTCHAR U_F909 +ENCODING 63753 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1000 +7FE0 +1120 +7D20 +1220 +7CC0 +1400 +FFE0 +0A00 +1100 +E0E0 +ENDCHAR +STARTCHAR U_F90A +ENCODING 63754 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +0A00 +1100 +20E0 +DF40 +0400 +7FC0 +2480 +1480 +1500 +FFE0 +ENDCHAR +STARTCHAR U_F90B +ENCODING 63755 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0420 +FF20 +A4A0 +BFA0 +B5A0 +B5A0 +FFA0 +A4A0 +0E20 +1520 +24E0 +ENDCHAR +STARTCHAR U_F90C +ENCODING 63756 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +0A00 +3180 +CE60 +0000 +7FC0 +0400 +2480 +4460 +8C20 +ENDCHAR +STARTCHAR U_F90D +ENCODING 63757 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +28E0 +3F40 +A9E0 +BEA0 +AAE0 +AAA0 +3EE0 +28A0 +3CE0 +2AC0 +2920 +ENDCHAR +STARTCHAR U_F90E +ENCODING 63758 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A140 +7FE0 +2520 +7FE0 +B520 +3FE0 +2D20 +57E0 +A620 +ENDCHAR +STARTCHAR U_F90F +ENCODING 63759 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +2480 +4FE0 +F480 +47C0 +9480 +F7C0 +5480 +AFE0 +ENDCHAR +STARTCHAR U_F910 +ENCODING 63760 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0900 +7FE0 +4920 +7FE0 +2A80 +57E0 +FA80 +43E0 +FA80 +ABE0 +ENDCHAR +STARTCHAR U_F911 +ENCODING 63761 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +24A0 +FFE0 +ACA0 +AFE0 +A940 +FF80 +2120 +2FE0 +3AC0 +EDA0 +ENDCHAR +STARTCHAR U_F912 +ENCODING 63762 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +FFC0 +1540 +2FC0 +7100 +AFE0 +2900 +2380 +2540 +2920 +ENDCHAR +STARTCHAR U_F913 +ENCODING 63763 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2AA0 +2FE0 +0440 +EBE0 +3D40 +25E0 +2940 +2FE0 +5500 +8FE0 +ENDCHAR +STARTCHAR U_F914 +ENCODING 63764 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5E40 +92A0 +FFE0 +5240 +FFE0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_F915 +ENCODING 63765 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27C0 +8440 +5A80 +1100 +2280 +2FE0 +C440 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_F916 +ENCODING 63766 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +23E0 +2A40 +B580 +A240 +AC20 +27C0 +3440 +4C40 +47C0 +8440 +ENDCHAR +STARTCHAR U_F917 +ENCODING 63767 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBC0 +2640 +2980 +7240 +2420 +27C0 +3C40 +E440 +47C0 +0440 +ENDCHAR +STARTCHAR U_F918 +ENCODING 63768 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4900 +27C0 +8480 +5B80 +1440 +2FE0 +E440 +27C0 +2440 +ENDCHAR +STARTCHAR U_F919 +ENCODING 63769 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +51E0 +5340 +FC80 +A940 +DA20 +8FE0 +FA20 +8A20 +FBE0 +8A20 +ENDCHAR +STARTCHAR U_F91A +ENCODING 63770 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7D00 +53E0 +7E20 +5140 +7C80 +5340 +7DE0 +5520 +AD20 +A5E0 +1920 +ENDCHAR +STARTCHAR U_F91B +ENCODING 63771 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD00 +5500 +FD00 +2900 +FD00 +A500 +FD00 +AD00 +9520 +AD20 +84E0 +ENDCHAR +STARTCHAR U_F91C +ENCODING 63772 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1800 +E7C0 +9440 +D440 +B540 +94C0 +9440 +F440 +1540 +2480 +C400 +ENDCHAR +STARTCHAR U_F91D +ENCODING 63773 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +FEE0 +2AA0 +3FE0 +6920 +AFE0 +AAA0 +2FE0 +2AA0 +2D60 +ENDCHAR +STARTCHAR U_F91E +ENCODING 63774 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2EE0 +2AA0 +AEE0 +BAA0 +AEE0 +A920 +2FE0 +2AA0 +5FE0 +4BA0 +8D60 +ENDCHAR +STARTCHAR U_F91F +ENCODING 63775 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBE0 +8A20 +FBE0 +FFE0 +AAA0 +BFA0 +9520 +A4E0 +ENDCHAR +STARTCHAR U_F920 +ENCODING 63776 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +AEA0 +50E0 +EE40 +4AE0 +BFA0 +2080 +3FE0 +2080 +3FE0 +D4A0 +ENDCHAR +STARTCHAR U_F921 +ENCODING 63777 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +4440 +7FC0 +4140 +5E40 +4440 +5F40 +5540 +5F40 +4560 +BEA0 +ENDCHAR +STARTCHAR U_F922 +ENCODING 63778 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F80 +3480 +1EE0 +9300 +5E40 +3420 +5F00 +C000 +4FE0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_F923 +ENCODING 63779 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +9100 +F9E0 +8A80 +FC40 +9000 +FFC0 +4A40 +4A40 +FFE0 +ENDCHAR +STARTCHAR U_F924 +ENCODING 63780 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8F80 +4A80 +FFE0 +2900 +4F40 +5A20 +EF00 +5FE0 +4AA0 +4AA0 +5FE0 +ENDCHAR +STARTCHAR U_F925 +ENCODING 63781 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2100 +F800 +27E0 +2C40 +3440 +E280 +2280 +2280 +A100 +6FE0 +ENDCHAR +STARTCHAR U_F926 +ENCODING 63782 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7540 +5A80 +5540 +7FE0 +5AA0 +5FE0 +77C0 +5540 +57C0 +9540 +B7A0 +ENDCHAR +STARTCHAR U_F927 +ENCODING 63783 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +22A0 +2540 +FAA0 +AFE0 +AAA0 +AFE0 +FD20 +2BA0 +2D60 +3BA0 +ED20 +ENDCHAR +STARTCHAR U_F928 +ENCODING 63784 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4800 +5EE0 +52A0 +5EA0 +52C0 +5EA0 +54E0 +9A80 +8080 +ENDCHAR +STARTCHAR U_F929 +ENCODING 63785 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21E0 +1120 +7D20 +45E0 +7D20 +4520 +7DE0 +5120 +4920 +F620 +4460 +ENDCHAR +STARTCHAR U_F92A +ENCODING 63786 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27C0 +8440 +57C0 +1440 +27C0 +2520 +C540 +4580 +4640 +4420 +ENDCHAR +STARTCHAR U_F92B +ENCODING 63787 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +57C0 +2440 +57C0 +9440 +37C0 +5520 +9540 +1480 +7540 +2620 +ENDCHAR +STARTCHAR U_F92C +ENCODING 63788 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +7D20 +4540 +7D40 +4580 +7D40 +4120 +4920 +55E0 +E540 +4100 +ENDCHAR +STARTCHAR U_F92D +ENCODING 63789 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +0400 +2480 +2480 +5540 +8E20 +1500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_F92E +ENCODING 63790 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8300 +4480 +0840 +3220 +2100 +4FC0 +C040 +4080 +4700 +4100 +0080 +ENDCHAR +STARTCHAR U_F92F +ENCODING 63791 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2100 +B580 +A500 +5280 +8C40 +FFC0 +8840 +7F80 +1080 +2480 +C300 +ENDCHAR +STARTCHAR U_F930 +ENCODING 63792 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2200 +FFE0 +2A20 +2FE0 +3AA0 +EBE0 +2AA0 +37E0 +A220 +6CC0 +ENDCHAR +STARTCHAR U_F931 +ENCODING 63793 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2380 +2480 +FFE0 +2920 +2FE0 +3920 +6FE0 +A440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_F932 +ENCODING 63794 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +21C0 +2100 +AFE0 +B920 +AFE0 +AD40 +2FC0 +2D40 +4FE0 +5AA0 +AFE0 +ENDCHAR +STARTCHAR U_F933 +ENCODING 63795 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4420 +5FC0 +5460 +5FC0 +5240 +5FC0 +9540 +FFE0 +ENDCHAR +STARTCHAR U_F934 +ENCODING 63796 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +0880 +7E80 +0900 +FFC0 +0800 +1180 +3600 +D840 +1040 +0FC0 +ENDCHAR +STARTCHAR U_F935 +ENCODING 63797 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FE0 +4420 +5FE0 +4A80 +5FC0 +5540 +9540 +FFE0 +ENDCHAR +STARTCHAR U_F936 +ENCODING 63798 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +0400 +7FE0 +4420 +5FE0 +5240 +7FE0 +5240 +7FE0 +4420 +B9C0 +ENDCHAR +STARTCHAR U_F937 +ENCODING 63799 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +93C0 +9240 +9640 +F180 +2240 +BFE0 +A240 +A240 +BBC0 +E240 +ENDCHAR +STARTCHAR U_F938 +ENCODING 63800 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +F3C0 +9640 +F180 +2660 +BA40 +A3C0 +F240 +ENDCHAR +STARTCHAR U_F939 +ENCODING 63801 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1F00 +2200 +7FC0 +C440 +7FC0 +4440 +7FC0 +A0A0 +3F80 +2080 +3F80 +ENDCHAR +STARTCHAR U_F93A +ENCODING 63802 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F3C0 +9680 +F140 +27E0 +AA40 +FFC0 +4080 +7FC0 +4080 +7FE0 +94A0 +ENDCHAR +STARTCHAR U_F93B +ENCODING 63803 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +03C0 +F280 +2780 +2080 +7FE0 +D520 +51C0 +5340 +7520 +5920 +0300 +ENDCHAR +STARTCHAR U_F93C +ENCODING 63804 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2240 +F7C0 +1080 +27E0 +7120 +AD40 +2380 +2540 +2920 +2300 +ENDCHAR +STARTCHAR U_F93D +ENCODING 63805 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +2240 +5780 +F080 +2FE0 +5120 +ED40 +0380 +5540 +A920 +AF20 +ENDCHAR +STARTCHAR U_F93E +ENCODING 63806 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0F00 +1100 +FFE0 +2440 +1680 +1D00 +2480 +CC60 +ENDCHAR +STARTCHAR U_F93F +ENCODING 63807 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +5240 +8BC0 +7840 +27E0 +F880 +22A0 +A9C0 +72A0 +3CA0 +E180 +ENDCHAR +STARTCHAR U_F940 +ENCODING 63808 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4900 +7FE0 +4920 +7FE0 +5120 +5D40 +51A0 +9D20 +90E0 +ENDCHAR +STARTCHAR U_F941 +ENCODING 63809 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +F280 +0440 +FBA0 +0000 +FFE0 +0AA0 +FFE0 +9AA0 +FAA0 +9860 +ENDCHAR +STARTCHAR U_F942 +ENCODING 63810 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FA00 +53E0 +FC20 +8BE0 +EA00 +BBE0 +8A20 +7FE0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_F943 +ENCODING 63811 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +3F80 +0400 +FFE0 +1100 +FFE0 +1100 +1100 +2100 +C100 +ENDCHAR +STARTCHAR U_F944 +ENCODING 63812 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +9340 +FDE0 +2900 +FFE0 +4820 +7BE0 +4A00 +7BC0 +4A20 +5BE0 +ENDCHAR +STARTCHAR U_F945 +ENCODING 63813 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7DE0 +2900 +FFE0 +4500 +7DC0 +4520 +FFE0 +1080 +1F80 +1080 +7FE0 +ENDCHAR +STARTCHAR U_F946 +ENCODING 63814 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +FFC0 +8440 +2400 +3F80 +4400 +8400 +FFC0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_F947 +ENCODING 63815 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0800 +1F80 +3080 +DF80 +0000 +FBE0 +4100 +FBE0 +4920 +79E0 +ENDCHAR +STARTCHAR U_F948 +ENCODING 63816 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +93C0 +9680 +F100 +9280 +F460 +9FC0 +F440 +0440 +67C0 +9440 +ENDCHAR +STARTCHAR U_F949 +ENCODING 63817 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +A4A0 +0400 +7FC0 +4440 +7FC0 +4440 +7FC0 +ENDCHAR +STARTCHAR U_F94A +ENCODING 63818 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2480 +3F80 +2480 +FFE0 +AAA0 +FBE0 +AAA0 +FFE0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_F94B +ENCODING 63819 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4A80 +7FE0 +4A40 +7FE0 +4480 +4880 +8700 +BCE0 +ENDCHAR +STARTCHAR U_F94C +ENCODING 63820 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +2540 +FFE0 +2540 +3FE0 +6520 +AFE0 +2240 +2180 +2E60 +ENDCHAR +STARTCHAR U_F94D +ENCODING 63821 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +0820 +8FE0 +5940 +2920 +2FE0 +C900 +4980 +5260 +6C20 +ENDCHAR +STARTCHAR U_F94E +ENCODING 63822 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +0FE0 +9800 +5FE0 +2900 +2FE0 +CDA0 +4B60 +5DA0 +4960 +ENDCHAR +STARTCHAR U_F94F +ENCODING 63823 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +7FC0 +0900 +3E00 +1080 +7F40 +1500 +ECE0 +ENDCHAR +STARTCHAR U_F950 +ENCODING 63824 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +4540 +FFE0 +2540 +5FE0 +F920 +0FE0 +5480 +AB80 +AE60 +ENDCHAR +STARTCHAR U_F951 +ENCODING 63825 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +E7E0 +A080 +A3E0 +AAA0 +CAA0 +AB60 +AA20 +AA20 +EA60 +8800 +8FE0 +ENDCHAR +STARTCHAR U_F952 +ENCODING 63826 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +F900 +5100 +73E0 +2120 +F920 +A920 +F920 +2220 +FCA0 +2440 +ENDCHAR +STARTCHAR U_F953 +ENCODING 63827 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7900 +4900 +4900 +7FE0 +4920 +4920 +7920 +4920 +4A20 +8D20 +98C0 +ENDCHAR +STARTCHAR U_F954 +ENCODING 63828 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +7FE0 +5540 +1740 +1040 +3FC0 +C200 +7FE0 +4A80 +5240 +6220 +ENDCHAR +STARTCHAR U_F955 +ENCODING 63829 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8200 +5FC0 +4200 +1FE0 +2880 +5440 +CFA0 +5480 +4300 +4480 +7860 +ENDCHAR +STARTCHAR U_F956 +ENCODING 63830 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +E7C0 +2100 +FFE0 +2240 +3520 +2BC0 +6540 +A880 +2340 +2C20 +ENDCHAR +STARTCHAR U_F957 +ENCODING 63831 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +27C0 +5100 +FFE0 +2440 +5A20 +EBC0 +0680 +5900 +AA80 +AC60 +ENDCHAR +STARTCHAR U_F958 +ENCODING 63832 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1500 +7FC0 +0400 +FFE0 +2880 +DF60 +2900 +0600 +F9E0 +ENDCHAR +STARTCHAR U_F959 +ENCODING 63833 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +A100 +CFE0 +A440 +9A20 +97C0 +FC80 +A300 +8480 +9860 +ENDCHAR +STARTCHAR U_F95A +ENCODING 63834 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0100 +FFE0 +0AA0 +FFE0 +0440 +F7C0 +9440 +F7C0 +9C60 +ENDCHAR +STARTCHAR U_F95B +ENCODING 63835 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +FE40 +4980 +2A60 +DF80 +0200 +3FC0 +0200 +FFE0 +0200 +0E00 +ENDCHAR +STARTCHAR U_F95C +ENCODING 63836 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5E40 +92A0 +FFE0 +5240 +FFE0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_F95D +ENCODING 63837 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +FFE0 +0480 +F200 +0FE0 +F200 +07C0 +FC40 +9440 +F7C0 +9440 +ENDCHAR +STARTCHAR U_F95E +ENCODING 63838 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F00 +2100 +2900 +2500 +2100 +FFC0 +2100 +2100 +2100 +4700 +8200 +ENDCHAR +STARTCHAR U_F95F +ENCODING 63839 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +8AA0 +AA60 +5F80 +0000 +3F80 +2A80 +FFE0 +0200 +1E00 +ENDCHAR +STARTCHAR U_F960 +ENCODING 63840 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +FA40 +4A40 +4A80 +3180 +2E60 +C000 +1440 +5220 +50A0 +8F80 +ENDCHAR +STARTCHAR U_F961 +ENCODING 63841 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8840 +5280 +0C00 +2A80 +DF40 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_F962 +ENCODING 63842 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +4440 +7FC0 +4440 +7FC0 +1100 +FFC0 +1100 +FFE0 +1100 +E0E0 +ENDCHAR +STARTCHAR U_F963 +ENCODING 63843 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +0900 +0920 +7940 +0980 +0900 +0900 +0900 +1920 +E920 +48E0 +ENDCHAR +STARTCHAR U_F964 +ENCODING 63844 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07C0 +F520 +2340 +2FE0 +7340 +D520 +5FE0 +5520 +77E0 +5520 +07E0 +ENDCHAR +STARTCHAR U_F965 +ENCODING 63845 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2100 +2FE0 +2920 +6FE0 +A920 +2FE0 +2500 +2200 +2500 +28E0 +ENDCHAR +STARTCHAR U_F966 +ENCODING 63846 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1400 +27E0 +4C40 +97C0 +2440 +67C0 +A200 +27E0 +2A40 +2180 +2660 +ENDCHAR +STARTCHAR U_F967 +ENCODING 63847 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0040 +FFE0 +0200 +0400 +0D00 +1480 +2460 +4420 +8400 +0400 +0400 +ENDCHAR +STARTCHAR U_F968 +ENCODING 63848 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +20A0 +8220 +5240 +1240 +2AA0 +2AA0 +D300 +4240 +4640 +49C0 +ENDCHAR +STARTCHAR U_F969 +ENCODING 63849 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +7D00 +55E0 +FF40 +5540 +FD40 +9540 +FF40 +2880 +1940 +E620 +ENDCHAR +STARTCHAR U_F96A +ENCODING 63850 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FC0 +0400 +FFE0 +8920 +3E00 +0840 +7FC0 +1520 +2480 +CC60 +ENDCHAR +STARTCHAR U_F96B +ENCODING 63851 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1100 +3E80 +5140 +FFC0 +2080 +CC60 +3300 +0C80 +0300 +7C00 +ENDCHAR +STARTCHAR U_F96C +ENCODING 63852 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +9120 +7FC0 +1100 +FFE0 +1100 +2480 +5F40 +0400 +FFE0 +ENDCHAR +STARTCHAR U_F96D +ENCODING 63853 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +1480 +2560 +C620 +1FC0 +3040 +DFC0 +1040 +1FC0 +1040 +1FC0 +ENDCHAR +STARTCHAR U_F96E +ENCODING 63854 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +2900 +FFE0 +2900 +2F00 +3FC0 +0400 +FFE0 +1500 +E4E0 +ENDCHAR +STARTCHAR U_F96F +ENCODING 63855 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +F280 +07C0 +F440 +0440 +F7C0 +0280 +F280 +92A0 +F4A0 +9860 +ENDCHAR +STARTCHAR U_F970 +ENCODING 63856 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +D9C0 +2140 +D940 +3260 +2800 +FBE0 +2140 +3140 +6880 +A540 +2220 +ENDCHAR +STARTCHAR U_F971 +ENCODING 63857 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2000 +2FC0 +2000 +3FE0 +2A20 +2A40 +2980 +4880 +4A40 +8C20 +ENDCHAR +STARTCHAR U_F972 +ENCODING 63858 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +8FE0 +5920 +1140 +2100 +2100 +C100 +4320 +4520 +58E0 +ENDCHAR +STARTCHAR U_F973 +ENCODING 63859 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2100 +FA80 +2440 +2BA0 +3000 +E7C0 +2440 +2440 +A7C0 +6440 +ENDCHAR +STARTCHAR U_F974 +ENCODING 63860 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1100 +FFC0 +1100 +0000 +FFC0 +1000 +3F80 +5080 +9080 +1F80 +1080 +ENDCHAR +STARTCHAR U_F975 +ENCODING 63861 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +F000 +27C0 +2440 +37C0 +E540 +2100 +2540 +A920 +7320 +ENDCHAR +STARTCHAR U_F976 +ENCODING 63862 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FBC0 +AE40 +A980 +FA40 +AC20 +ABC0 +AA40 +FA40 +8BC0 +0240 +ENDCHAR +STARTCHAR U_F977 +ENCODING 63863 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2080 +3F80 +0000 +FFE0 +8020 +1F00 +1120 +2120 +C0E0 +ENDCHAR +STARTCHAR U_F978 +ENCODING 63864 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +0400 +7FC0 +4440 +5540 +5540 +5540 +6EC0 +4440 +4440 +40C0 +ENDCHAR +STARTCHAR U_F979 +ENCODING 63865 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8100 +4FE0 +4000 +07C0 +2440 +2440 +27C0 +C100 +4540 +4920 +5320 +ENDCHAR +STARTCHAR U_F97A +ENCODING 63866 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5F80 +A280 +4AC0 +2AA0 +D4A0 +4980 +5400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_F97B +ENCODING 63867 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +AC40 +77C0 +2440 +FFE0 +2540 +37C0 +6D40 +AFE0 +2100 +2FE0 +ENDCHAR +STARTCHAR U_F97C +ENCODING 63868 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +7F80 +4080 +7F80 +4080 +7FA0 +4440 +4280 +4100 +4C80 +F060 +ENDCHAR +STARTCHAR U_F97D +ENCODING 63869 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +FFE0 +0000 +F7C0 +0440 +F7C0 +0100 +F540 +9540 +F920 +9320 +ENDCHAR +STARTCHAR U_F97E +ENCODING 63870 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +FFE0 +2480 +3F80 +2480 +7FC0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_F97F +ENCODING 63871 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE80 +9480 +BE80 +ABE0 +BEA0 +AAA0 +FEA0 +CAA0 +FEA0 +C320 +C640 +ENDCHAR +STARTCHAR U_F980 +ENCODING 63872 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +7F00 +4100 +4100 +7F00 +4900 +1000 +FF80 +8080 +8080 +FF80 +8080 +ENDCHAR +STARTCHAR U_F981 +ENCODING 63873 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1000 +1000 +1000 +FFC0 +1200 +2200 +2200 +1400 +0E00 +1100 +6080 +ENDCHAR +STARTCHAR U_F982 +ENCODING 63874 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4200 +5FE0 +5240 +52A0 +57E0 +5540 +6FE0 +AAA0 +9FE0 +ENDCHAR +STARTCHAR U_F983 +ENCODING 63875 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +1200 +FBE0 +4440 +7B80 +4AA0 +4AC0 +4A80 +4A80 +6B40 +9220 +ENDCHAR +STARTCHAR U_F984 +ENCODING 63876 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +43C0 +2200 +0FE0 +8A20 +4FE0 +2920 +2FE0 +C920 +57E0 +6D40 +47A0 +ENDCHAR +STARTCHAR U_F985 +ENCODING 63877 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +FA80 +4FE0 +4A80 +EFC0 +A940 +AFC0 +A940 +EFE0 +A960 +17A0 +ENDCHAR +STARTCHAR U_F986 +ENCODING 63878 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +8A20 +FBE0 +8A20 +FBE0 +9F20 +9120 +BFA0 +A0A0 +BFA0 +8060 +ENDCHAR +STARTCHAR U_F987 +ENCODING 63879 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FEE0 +A000 +FEE0 +AAA0 +FFE0 +AAA0 +FFE0 +5AA0 +ABC0 +AAA0 +13E0 +ENDCHAR +STARTCHAR U_F988 +ENCODING 63880 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +4A40 +6B40 +5AC0 +7FE0 +4A40 +7FC0 +6240 +BFA0 +A220 +BBE0 +ENDCHAR +STARTCHAR U_F989 +ENCODING 63881 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +23E0 +FCA0 +20A0 +7520 +AAC0 +1500 +E5E0 +1E00 +3580 +CC60 +ENDCHAR +STARTCHAR U_F98A +ENCODING 63882 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +0800 +0800 +0800 +FF80 +0880 +0880 +1080 +1080 +2080 +4480 +8300 +ENDCHAR +STARTCHAR U_F98B +ENCODING 63883 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +5DC0 +4880 +7FE0 +5DC0 +6AA0 +5FC0 +5040 +5FC0 +9040 +9FC0 +ENDCHAR +STARTCHAR U_F98C +ENCODING 63884 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4440 +5980 +4880 +7FE0 +4880 +5DC0 +6AA0 +53C0 +9200 +BFE0 +ENDCHAR +STARTCHAR U_F98D +ENCODING 63885 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2520 +FBA0 +26C0 +FBA0 +AAC0 +FFE0 +A900 +FFE0 +2380 +F540 +2920 +ENDCHAR +STARTCHAR U_F98E +ENCODING 63886 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +7FE0 +4200 +8200 +3FC0 +2200 +2200 +FFE0 +0200 +0200 +0200 +ENDCHAR +STARTCHAR U_F98F +ENCODING 63887 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3240 +2A80 +BFE0 +AA80 +B260 +A840 +2FE0 +3140 +2BE0 +2440 +3840 +ENDCHAR +STARTCHAR U_F990 +ENCODING 63888 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +AEA0 +E0C0 +4FA0 +E0C0 +4F40 +AAA0 +0E00 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_F991 +ENCODING 63889 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2480 +26C0 +FAA0 +2FE0 +2A80 +3540 +E540 +2A20 +2540 +AAA0 +6AA0 +ENDCHAR +STARTCHAR U_F992 +ENCODING 63890 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +53E0 +2880 +0BE0 +82A0 +5BE0 +2AA0 +2BE0 +C880 +4BE0 +5480 +63E0 +ENDCHAR +STARTCHAR U_F993 +ENCODING 63891 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +2100 +BFE0 +AAA0 +A920 +2FE0 +2300 +5580 +4940 +9120 +ENDCHAR +STARTCHAR U_F994 +ENCODING 63892 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0080 +FFE0 +2AA0 +23E0 +7AA0 +2BE0 +2880 +3BE0 +E880 +5480 +23E0 +ENDCHAR +STARTCHAR U_F995 +ENCODING 63893 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +01C0 +7E00 +0400 +FFE0 +2480 +C560 +1E00 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_F996 +ENCODING 63894 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5100 +F7E0 +26A0 +5520 +EFE0 +0180 +5340 +AD20 +A920 +ENDCHAR +STARTCHAR U_F997 +ENCODING 63895 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +A440 +AAA0 +E440 +AAA0 +A660 +EAA0 +AAA0 +AEE0 +F280 +2C80 +ENDCHAR +STARTCHAR U_F998 +ENCODING 63896 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +2080 +FBE0 +5540 +8420 +7FC0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_F999 +ENCODING 63897 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +9FE0 +4940 +EFC0 +2940 +3FE0 +2100 +5100 +8FE0 +ENDCHAR +STARTCHAR U_F99A +ENCODING 63898 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +2540 +07C0 +E540 +27C0 +2100 +2FE0 +2100 +5000 +8FE0 +ENDCHAR +STARTCHAR U_F99B +ENCODING 63899 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +8900 +7FE0 +2AA0 +FFE0 +2100 +AB80 +7540 +3920 +E100 +ENDCHAR +STARTCHAR U_F99C +ENCODING 63900 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FC40 +2140 +2140 +3D40 +4540 +C540 +2940 +1140 +2040 +4040 +81C0 +ENDCHAR +STARTCHAR U_F99D +ENCODING 63901 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +2500 +4480 +8140 +1E00 +E400 +3FC0 +0440 +0840 +1240 +E180 +ENDCHAR +STARTCHAR U_F99E +ENCODING 63902 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FE0 +E820 +A920 +AFE0 +A920 +A920 +A9A0 +EA60 +AC20 +0FE0 +0820 +ENDCHAR +STARTCHAR U_F99F +ENCODING 63903 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FE20 +2120 +3D20 +4920 +A920 +1120 +20E0 +C040 +1240 +4920 +8920 +ENDCHAR +STARTCHAR U_F9A0 +ENCODING 63904 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FC20 +2120 +7D20 +A920 +10E0 +2400 +FFE0 +1220 +3140 +D480 +1860 +ENDCHAR +STARTCHAR U_F9A1 +ENCODING 63905 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +F280 +07C0 +F440 +0440 +F7C0 +0280 +F280 +92A0 +F4A0 +9860 +ENDCHAR +STARTCHAR U_F9A2 +ENCODING 63906 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4500 +5FE0 +4540 +7FE0 +4540 +5FC0 +4D80 +9540 +A520 +ENDCHAR +STARTCHAR U_F9A3 +ENCODING 63907 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0E00 +1100 +2480 +C260 +3F80 +0100 +0200 +1440 +52A0 +50A0 +8F80 +ENDCHAR +STARTCHAR U_F9A4 +ENCODING 63908 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +FC40 +2120 +2FC0 +3080 +E100 +2240 +2AA0 +AA60 +71C0 +ENDCHAR +STARTCHAR U_F9A5 +ENCODING 63909 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F900 +4280 +4440 +7FE0 +5000 +5EE0 +B2A0 +1EE0 +2440 +4AA0 +9120 +ENDCHAR +STARTCHAR U_F9A6 +ENCODING 63910 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +9480 +7FE0 +4A00 +7FC0 +4A40 +7FE0 +4A40 +BFC0 +2A80 +CA60 +ENDCHAR +STARTCHAR U_F9A7 +ENCODING 63911 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8520 +5A40 +2520 +6FE0 +AAA0 +2FE0 +6DC0 +AB40 +2DC0 +EB40 +4D20 +ENDCHAR +STARTCHAR U_F9A8 +ENCODING 63912 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0C00 +1200 +2100 +4880 +8440 +7F80 +0100 +0200 +1C00 +0400 +0200 +ENDCHAR +STARTCHAR U_F9A9 +ENCODING 63913 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +8420 +8A20 +9520 +E4E0 +9FA0 +8920 +8620 +8220 +FFE0 +8020 +ENDCHAR +STARTCHAR U_F9AA +ENCODING 63914 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +FFE0 +8AA0 +AA60 +5F80 +0000 +3F80 +2A80 +FFE0 +0200 +1E00 +ENDCHAR +STARTCHAR U_F9AB +ENCODING 63915 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8420 +FFE0 +2100 +57C0 +AC40 +27C0 +FC40 +17C0 +A440 +47C0 +2820 +ENDCHAR +STARTCHAR U_F9AC +ENCODING 63916 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2280 +A440 +B920 +A080 +AFE0 +2040 +2280 +2100 +2080 +2080 +ENDCHAR +STARTCHAR U_F9AD +ENCODING 63917 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FA80 +2440 +2A20 +7100 +2000 +27E0 +3840 +E280 +4100 +0080 +ENDCHAR +STARTCHAR U_F9AE +ENCODING 63918 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +56A0 +5AC0 +3180 +4A40 +FFE0 +8020 +7FC0 +0400 +3FC0 +0480 +FFE0 +ENDCHAR +STARTCHAR U_F9AF +ENCODING 63919 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8900 +5100 +FA80 +2440 +2120 +F880 +27E0 +F840 +2380 +4080 +8040 +ENDCHAR +STARTCHAR U_F9B0 +ENCODING 63920 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD80 +4A40 +4A40 +7D20 +48A0 +7800 +4FE0 +4840 +F980 +0880 +0840 +ENDCHAR +STARTCHAR U_F9B1 +ENCODING 63921 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +5140 +8A20 +7D00 +2080 +F800 +23E0 +A820 +7140 +3880 +E040 +ENDCHAR +STARTCHAR U_F9B2 +ENCODING 63922 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +0E00 +3180 +C460 +3F80 +0100 +0E00 +0300 +ENDCHAR +STARTCHAR U_F9B3 +ENCODING 63923 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +0400 +FFE0 +9520 +2480 +EEE0 +AAA0 +FFE0 +2480 +5540 +FFE0 +ENDCHAR +STARTCHAR U_F9B4 +ENCODING 63924 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +3080 +4BE0 +A620 +13E0 +FA20 +0BE0 +5220 +23E0 +1240 +1420 +ENDCHAR +STARTCHAR U_F9B5 +ENCODING 63925 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F20 +2420 +24A0 +2EA0 +72A0 +AAA0 +26A0 +22A0 +2420 +2820 +30E0 +ENDCHAR +STARTCHAR U_F9B6 +ENCODING 63926 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +2FE0 +FAA0 +1FE0 +2AA0 +7FE0 +A440 +27C0 +2280 +2100 +2FE0 +ENDCHAR +STARTCHAR U_F9B7 +ENCODING 63927 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FA80 +57E0 +52A0 +FFE0 +AAA0 +DFE0 +8A40 +FBC0 +8A40 +F980 +8FE0 +ENDCHAR +STARTCHAR U_F9B8 +ENCODING 63928 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FFC0 +2140 +77E0 +A940 +77C0 +0120 +FDC0 +2B40 +A520 +6320 +ENDCHAR +STARTCHAR U_F9B9 +ENCODING 63929 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7BC0 +4040 +7BC0 +0A00 +FFE0 +1400 +5240 +50A0 +8FA0 +ENDCHAR +STARTCHAR U_F9BA +ENCODING 63930 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FF80 +0100 +0200 +0400 +0400 +0400 +0400 +0400 +2400 +1C00 +0800 +ENDCHAR +STARTCHAR U_F9BB +ENCODING 63931 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +3FE0 +5540 +4F80 +D8C0 +6F80 +4880 +4F80 +4A80 +5240 +6620 +ENDCHAR +STARTCHAR U_F9BC +ENCODING 63932 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8420 +FFE0 +5240 +3F80 +E0E0 +3F80 +1500 +2480 +CC60 +ENDCHAR +STARTCHAR U_F9BD +ENCODING 63933 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FC0 +2040 +3FC0 +2200 +2260 +3F40 +2680 +2A80 +5240 +AE20 +0400 +ENDCHAR +STARTCHAR U_F9BE +ENCODING 63934 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2040 +AA40 +7140 +2040 +FA40 +2140 +3060 +6BC0 +A040 +2040 +2040 +ENDCHAR +STARTCHAR U_F9BF +ENCODING 63935 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +5E40 +92A0 +FFE0 +5240 +FFE0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_F9C0 +ENCODING 63936 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +AAA0 +B7C0 +AC60 +37C0 +2440 +27C0 +5540 +4920 +9320 +ENDCHAR +STARTCHAR U_F9C1 +ENCODING 63937 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A200 +7FE0 +34A0 +6FC0 +B8A0 +2F80 +2580 +4940 +B320 +ENDCHAR +STARTCHAR U_F9C2 +ENCODING 63938 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +FBC0 +2940 +18C0 +2E40 +F1E0 +1E00 +00C0 +1F00 +ENDCHAR +STARTCHAR U_F9C3 +ENCODING 63939 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +3FE0 +2AA0 +07C0 +EC60 +37C0 +2440 +27C0 +2940 +5320 +8FE0 +ENDCHAR +STARTCHAR U_F9C4 +ENCODING 63940 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11E0 +FF00 +45E0 +2820 +FFE0 +4500 +7DE0 +4500 +7DE0 +4520 +4DE0 +ENDCHAR +STARTCHAR U_F9C5 +ENCODING 63941 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2880 +2680 +FFE0 +8420 +7FC0 +2480 +3F80 +2480 +FFE0 +0400 +ENDCHAR +STARTCHAR U_F9C6 +ENCODING 63942 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F7C0 +9000 +A000 +CFE0 +A280 +9280 +9280 +F280 +A2A0 +84A0 +9860 +ENDCHAR +STARTCHAR U_F9C7 +ENCODING 63943 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +DE20 +8A20 +AAA0 +D6A0 +28A0 +FEA0 +10A0 +FEA0 +9220 +5420 +FEE0 +ENDCHAR +STARTCHAR U_F9C8 +ENCODING 63944 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2140 +F940 +2140 +2140 +37C0 +6A40 +A240 +2240 +2240 +2FE0 +ENDCHAR +STARTCHAR U_F9C9 +ENCODING 63945 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +2CE0 +FAA0 +2AA0 +2AA0 +3AA0 +6EA0 +AAA0 +22E0 +2480 +2880 +ENDCHAR +STARTCHAR U_F9CA +ENCODING 63946 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2FE0 +8200 +5440 +1FA0 +2000 +2540 +C540 +4540 +4940 +5160 +ENDCHAR +STARTCHAR U_F9CB +ENCODING 63947 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2DE0 +08A0 +9AA0 +5F20 +2140 +2FE0 +C920 +4FE0 +4920 +4FE0 +ENDCHAR +STARTCHAR U_F9CC +ENCODING 63948 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2900 +2240 +77A0 +2020 +2540 +3D40 +E540 +4540 +1960 +ENDCHAR +STARTCHAR U_F9CD +ENCODING 63949 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +F7C0 +8240 +9240 +EDC0 +0880 +7F80 +4880 +7F80 +4880 +7F80 +4080 +ENDCHAR +STARTCHAR U_F9CE +ENCODING 63950 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2240 +27C0 +7020 +D540 +5540 +5540 +7540 +5940 +1060 +ENDCHAR +STARTCHAR U_F9CF +ENCODING 63951 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +2240 +5240 +F240 +2240 +57C0 +EA40 +0240 +5240 +AA40 +AFE0 +ENDCHAR +STARTCHAR U_F9D0 +ENCODING 63952 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +ABE0 +7080 +23E0 +FA20 +73E0 +AA20 +23E0 +FA20 +23E0 +5140 +8E20 +ENDCHAR +STARTCHAR U_F9D1 +ENCODING 63953 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +0800 +0400 +0400 +FFC0 +0000 +1200 +1100 +2080 +4040 +8040 +ENDCHAR +STARTCHAR U_F9D2 +ENCODING 63954 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FD40 +B520 +6D00 +B7E0 +3100 +4D20 +A140 +5480 +29A0 +1260 +EC20 +ENDCHAR +STARTCHAR U_F9D3 +ENCODING 63955 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F100 +97C0 +A100 +CFE0 +A240 +9420 +9900 +F7C0 +A100 +8100 +9FE0 +ENDCHAR +STARTCHAR U_F9D4 +ENCODING 63956 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1380 +1440 +2BA0 +2000 +6FE0 +AAA0 +2AA0 +2FE0 +2AA0 +2AA0 +2860 +ENDCHAR +STARTCHAR U_F9D5 +ENCODING 63957 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +7FC0 +0400 +1B00 +EEE0 +0000 +7FC0 +4A40 +7FC0 +4A40 +40C0 +ENDCHAR +STARTCHAR U_F9D6 +ENCODING 63958 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4300 +2480 +0840 +97A0 +5000 +2FE0 +2AA0 +CFE0 +4AA0 +4AA0 +4860 +ENDCHAR +STARTCHAR U_F9D7 +ENCODING 63959 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +FA80 +2440 +FBA0 +A800 +FFE0 +AAA0 +FFE0 +2AA0 +FAA0 +2860 +ENDCHAR +STARTCHAR U_F9D8 +ENCODING 63960 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2200 +4FC0 +8240 +3FE0 +4240 +CFC0 +4200 +4FC0 +4200 +7FE0 +4200 +ENDCHAR +STARTCHAR U_F9D9 +ENCODING 63961 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2280 +AFE0 +BAA0 +AFE0 +A100 +2FE0 +2100 +2380 +2560 +3920 +ENDCHAR +STARTCHAR U_F9DA +ENCODING 63962 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FFE0 +0A00 +7FC0 +4A40 +7FC0 +0400 +FFE0 +1500 +2480 +4440 +8420 +ENDCHAR +STARTCHAR U_F9DB +ENCODING 63963 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8840 +5280 +0C00 +2A80 +DF40 +0400 +FFE0 +0400 +0400 +ENDCHAR +STARTCHAR U_F9DC +ENCODING 63964 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +97C0 +AC40 +C380 +AC60 +9500 +97E0 +F900 +A7C0 +8100 +9FE0 +ENDCHAR +STARTCHAR U_F9DD +ENCODING 63965 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C20 +F0A0 +10A0 +FEA0 +10A0 +38A0 +54A0 +92A0 +1020 +1020 +10E0 +ENDCHAR +STARTCHAR U_F9DE +ENCODING 63966 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +FFC0 +0400 +7F80 +4480 +7F80 +4480 +1400 +0800 +3600 +C1C0 +ENDCHAR +STARTCHAR U_F9DF +ENCODING 63967 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3FE0 +2020 +3FE0 +2520 +29E0 +3520 +2BE0 +3A40 +4D80 +4940 +8E20 +ENDCHAR +STARTCHAR U_F9E0 +ENCODING 63968 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +2000 +3FC0 +D240 +2240 +C440 +1980 +ENDCHAR +STARTCHAR U_F9E1 +ENCODING 63969 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +1500 +2480 +C460 +1F80 +0100 +0240 +7FE0 +0200 +0E00 +ENDCHAR +STARTCHAR U_F9E2 +ENCODING 63970 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +F940 +1140 +FF40 +5540 +92C0 +0400 +FFE0 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_F9E3 +ENCODING 63971 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47E0 +2420 +8420 +57E0 +1400 +2520 +2540 +C580 +4520 +4920 +50E0 +ENDCHAR +STARTCHAR U_F9E4 +ENCODING 63972 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +FD20 +2520 +27E0 +7520 +27E0 +2520 +3900 +E7C0 +4100 +0FE0 +ENDCHAR +STARTCHAR U_F9E5 +ENCODING 63973 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +3FE0 +A100 +6E20 +24A0 +7FA0 +A4A0 +2EA0 +35A0 +4420 +84E0 +ENDCHAR +STARTCHAR U_F9E6 +ENCODING 63974 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +2280 +A7E0 +BC80 +A7E0 +2480 +27E0 +2480 +27E0 +ENDCHAR +STARTCHAR U_F9E7 +ENCODING 63975 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +2480 +3F80 +2480 +7FC0 +0400 +FFE0 +3280 +D500 +18E0 +ENDCHAR +STARTCHAR U_F9E8 +ENCODING 63976 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2540 +FD40 +17C0 +2D40 +77C0 +A900 +2FC0 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_F9E9 +ENCODING 63977 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +7F80 +4480 +4480 +7F80 +4480 +7F80 +4480 +0400 +7F80 +0400 +FFC0 +ENDCHAR +STARTCHAR U_F9EA +ENCODING 63978 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1180 +FD40 +55E0 +6F40 +55E0 +7D40 +2140 +FDE0 +AD40 +B540 +8DE0 +ENDCHAR +STARTCHAR U_F9EB +ENCODING 63979 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9200 +FF80 +9200 +FFC0 +8800 +9F00 +B100 +DF00 +8000 +FFC0 +ENDCHAR +STARTCHAR U_F9EC +ENCODING 63980 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5EE0 +2220 +1EE0 +9080 +5EE0 +3220 +2AA0 +C660 +5BA0 +4220 +4CC0 +ENDCHAR +STARTCHAR U_F9ED +ENCODING 63981 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +2100 +1200 +0C00 +1200 +FFC0 +2100 +2100 +3F00 +2100 +ENDCHAR +STARTCHAR U_F9EE +ENCODING 63982 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2920 +2540 +AFE0 +B940 +A520 +2F40 +2940 +25E0 +5340 +45E0 +8840 +ENDCHAR +STARTCHAR U_F9EF +ENCODING 63983 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0920 +F540 +2FE0 +2540 +7920 +2540 +2FE0 +3B40 +E7E0 +4440 +1840 +ENDCHAR +STARTCHAR U_F9F0 +ENCODING 63984 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0900 +FFE0 +4920 +79E0 +4920 +7BE0 +5FA0 +5220 +5FA0 +5220 +5FE0 +ENDCHAR +STARTCHAR U_F9F1 +ENCODING 63985 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F920 +9540 +AFE0 +C540 +A920 +9440 +97E0 +F940 +ABE0 +8440 +9840 +ENDCHAR +STARTCHAR U_F9F2 +ENCODING 63986 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4520 +7340 +97E0 +FB40 +AD20 +FA40 +ABE0 +FD40 +53E0 +AA40 +AC40 +ENDCHAR +STARTCHAR U_F9F3 +ENCODING 63987 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +12A0 +FDC0 +ABE0 +FCC0 +ADA0 +FD40 +ABE0 +BD40 +ABE0 +BA40 +2C40 +ENDCHAR +STARTCHAR U_F9F4 +ENCODING 63988 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +FBE0 +1100 +1100 +3B80 +5540 +9520 +1920 +1100 +1100 +ENDCHAR +STARTCHAR U_F9F5 +ENCODING 63989 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4880 +2880 +9FE0 +4880 +2D80 +3AC0 +2AA0 +CAA0 +4880 +4880 +4880 +ENDCHAR +STARTCHAR U_F9F6 +ENCODING 63990 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F400 +A7E0 +A800 +F3C0 +9240 +93C0 +F000 +AEE0 +AAA0 +AAA0 +FEE0 +ENDCHAR +STARTCHAR U_F9F7 +ENCODING 63991 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0C00 +0400 +7FC0 +0000 +2080 +2080 +1100 +1100 +1200 +0200 +FFE0 +ENDCHAR +STARTCHAR U_F9F8 +ENCODING 63992 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +7BE0 +A500 +9480 +0400 +7FC0 +0100 +1100 +0A00 +0A00 +FFE0 +ENDCHAR +STARTCHAR U_F9F9 +ENCODING 63993 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +A880 +77E0 +2000 +FA40 +2240 +7140 +A980 +A880 +2080 +2FE0 +ENDCHAR +STARTCHAR U_F9FA +ENCODING 63994 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5100 +5180 +5140 +5FE0 +7100 +1100 +F100 +5100 +5280 +5440 +9820 +ENDCHAR +STARTCHAR U_F9FB +ENCODING 63995 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +1F80 +3100 +4A00 +2C00 +F480 +1500 +2A00 +1100 +2080 +C060 +ENDCHAR +STARTCHAR U_F9FC +ENCODING 63996 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4480 +EFC0 +0AA0 +E480 +0FE0 +E080 +0EA0 +EAC0 +AEA0 +EB60 +AE20 +ENDCHAR +STARTCHAR U_F9FD +ENCODING 63997 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +1100 +2100 +2100 +6FE0 +A100 +2100 +2100 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_F9FE +ENCODING 63998 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +0400 +0A00 +3580 +C460 +3F80 +1500 +2480 +C460 +ENDCHAR +STARTCHAR U_F9FF +ENCODING 63999 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1020 +FEA0 +10A0 +FEA0 +92A0 +92A0 +96A0 +10A0 +3420 +5220 +9160 +ENDCHAR +STARTCHAR U_FA00 +ENCODING 64000 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +2120 +3920 +E120 +2120 +2920 +3220 +2220 +04A0 +0840 +ENDCHAR +STARTCHAR U_FA01 +ENCODING 64001 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4880 +7FE0 +4880 +4F80 +4000 +5FC0 +4880 +8700 +B8E0 +ENDCHAR +STARTCHAR U_FA02 +ENCODING 64002 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2000 +27E0 +F900 +2100 +2A00 +37E0 +EA20 +2220 +2220 +A3E0 +6220 +ENDCHAR +STARTCHAR U_FA03 +ENCODING 64003 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7540 +27E0 +FD40 +27C0 +7500 +AFE0 +A620 +2BE0 +3220 +ENDCHAR +STARTCHAR U_FA04 +ENCODING 64004 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4020 +8340 +3C00 +04C0 +0700 +7C00 +0420 +0420 +03E0 +ENDCHAR +STARTCHAR U_FA05 +ENCODING 64005 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2820 +8820 +5BA0 +1820 +2BA0 +2AA0 +CBA0 +4AA0 +4820 +48E0 +ENDCHAR +STARTCHAR U_FA06 +ENCODING 64006 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +7FC0 +1100 +FFE0 +5540 +8E20 +1500 +6CC0 +ENDCHAR +STARTCHAR U_FA07 +ENCODING 64007 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23E0 +F800 +21C0 +F940 +A9C0 +F800 +ABE0 +FAA0 +23E0 +FAA0 +23E0 +ENDCHAR +STARTCHAR U_FA08 +ENCODING 64008 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +4000 +8000 +1000 +2FE0 +6080 +A080 +2080 +2480 +2380 +2100 +ENDCHAR +STARTCHAR U_FA09 +ENCODING 64009 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F200 +93E0 +A640 +C180 +A660 +9080 +97E0 +F480 +AFE0 +8080 +8080 +ENDCHAR +STARTCHAR U_FA0A +ENCODING 64010 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +3F80 +2080 +3F80 +2A80 +0A20 +1220 +E1E0 +ENDCHAR +STARTCHAR U_FA0B +ENCODING 64011 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0200 +7FE0 +4800 +7FE0 +52A0 +52C0 +7EA0 +48A0 +7EE0 +8880 +9880 +ENDCHAR +STARTCHAR U_FA0C +ENCODING 64012 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0080 +FFC0 +1200 +1200 +1200 +1200 +1200 +2200 +2240 +4240 +81C0 +ENDCHAR +STARTCHAR U_FA0D +ENCODING 64013 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +11C0 +7D40 +1140 +FD40 +8660 +FFC0 +0140 +7940 +4880 +7940 +4A20 +ENDCHAR +STARTCHAR U_FA0E +ENCODING 64014 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1240 +FBE0 +4A40 +37E0 +2A40 +C3E0 +0000 +7FC0 +1080 +0F00 +70E0 +ENDCHAR +STARTCHAR U_FA0F +ENCODING 64015 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2440 +2100 +F280 +2440 +2820 +27C0 +3440 +C440 +07C0 +0440 +ENDCHAR +STARTCHAR U_FA10 +ENCODING 64016 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2820 +27C0 +F200 +2520 +2EC0 +3480 +CBC0 +06A0 +1880 +0300 +ENDCHAR +STARTCHAR U_FA11 +ENCODING 64017 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +2FE0 +2440 +AA80 +AFE0 +A840 +AF40 +BD40 +C740 +0040 +00C0 +ENDCHAR +STARTCHAR U_FA12 +ENCODING 64018 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +FFE0 +9100 +97C0 +F100 +9FE0 +9440 +F7C0 +9440 +07C0 +04C0 +ENDCHAR +STARTCHAR U_FA13 +ENCODING 64019 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +F280 +2240 +75E0 +6C40 +A540 +24C0 +2440 +2440 +24C0 +ENDCHAR +STARTCHAR U_FA14 +ENCODING 64020 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2540 +2FE0 +F280 +2440 +6BA0 +7100 +A7C0 +2100 +2FE0 +2100 +2300 +ENDCHAR +STARTCHAR U_FA15 +ENCODING 64021 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +BEE0 +64A0 +24A0 +6EA0 +AAE0 +AE80 +A480 +A4A0 +BEE0 +4A40 +9120 +ENDCHAR +STARTCHAR U_FA16 +ENCODING 64022 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +8920 +57A0 +2140 +57E0 +9100 +33E0 +5620 +9BE0 +1220 +73E0 +2220 +ENDCHAR +STARTCHAR U_FA17 +ENCODING 64023 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +1100 +FFE0 +1100 +2080 +4040 +BFA0 +2A80 +2A80 +2A80 +FFE0 +ENDCHAR +STARTCHAR U_FA18 +ENCODING 64024 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7200 +0200 +FA00 +2200 +2A00 +6A00 +6A00 +AA00 +2220 +2220 +21E0 +ENDCHAR +STARTCHAR U_FA19 +ENCODING 64025 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4080 +2080 +FFE0 +14A0 +27E0 +34A0 +6FE0 +A4A0 +2080 +2080 +2080 +ENDCHAR +STARTCHAR U_FA1A +ENCODING 64026 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4440 +2280 +FFE0 +1100 +27C0 +7100 +A900 +2FE0 +2100 +2100 +2100 +ENDCHAR +STARTCHAR U_FA1B +ENCODING 64027 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FE0 +2000 +07C0 +F440 +17C0 +2000 +3FE0 +6920 +AFE0 +2920 +2FE0 +ENDCHAR +STARTCHAR U_FA1C +ENCODING 64028 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +27E0 +F900 +07C0 +9100 +5FE0 +5440 +3FC0 +E440 +47C0 +04C0 +ENDCHAR +STARTCHAR U_FA1D +ENCODING 64029 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +AFE0 +7100 +23C0 +F900 +27E0 +3440 +6FC0 +A440 +27C0 +24C0 +ENDCHAR +STARTCHAR U_FA1E +ENCODING 64030 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +FBE0 +0820 +4920 +28A0 +0860 +18A0 +EB20 +4920 +0820 +79E0 +1040 +ENDCHAR +STARTCHAR U_FA1F +ENCODING 64031 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1100 +7BC0 +4A40 +7BC0 +4A40 +7BE0 +4E20 +8BA0 +9860 +ENDCHAR +STARTCHAR U_FA22 +ENCODING 64034 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4220 +F7A0 +0240 +FFE0 +0100 +F3C0 +0640 +FBC0 +9240 +F3C0 +9240 +ENDCHAR +STARTCHAR U_FA23 +ENCODING 64035 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1040 +1140 +7CC0 +1240 +FD40 +1040 +5CE0 +5340 +5040 +7040 +8FE0 +ENDCHAR +STARTCHAR U_FA24 +ENCODING 64036 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4FC0 +2440 +2480 +05E0 +E420 +2540 +2480 +2940 +2A20 +5000 +8FE0 +ENDCHAR +STARTCHAR U_FA25 +ENCODING 64037 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2780 +2900 +1FC0 +EA40 +2FC0 +2340 +2520 +28E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_FA26 +ENCODING 64038 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +25E0 +FD20 +2940 +FF40 +2180 +7D40 +C520 +7D20 +45E0 +7D40 +4500 +ENDCHAR +STARTCHAR U_FA2A +ENCODING 64042 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2020 +53C0 +AA00 +FBE0 +8A20 +FA20 +8B20 +FAC0 +9240 +ACA0 +CD20 +ENDCHAR +STARTCHAR U_FA2B +ENCODING 64043 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +5020 +ABA0 +F820 +8BA0 +FAA0 +8AA0 +FBA0 +92A0 +A820 +C8E0 +ENDCHAR +STARTCHAR U_FA2C +ENCODING 64044 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +57E0 +AC20 +FBC0 +8A40 +FBC0 +8A00 +FBC0 +9240 +ABC0 +CA40 +ENDCHAR +STARTCHAR U_FA2D +ENCODING 64045 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +FBC0 +AA40 +53C0 +FA40 +53E0 +7A00 +53E0 +7AA0 +5560 +7D40 +ENDCHAR +STARTCHAR U_FA30 +ENCODING 64048 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +17E0 +1800 +27E0 +2520 +64A0 +AFE0 +2520 +24A0 +2FE0 +2020 +20C0 +ENDCHAR +STARTCHAR U_FA31 +ENCODING 64049 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1440 +1280 +2FE0 +2AA0 +6920 +AFE0 +2440 +27C0 +2440 +27C0 +2440 +ENDCHAR +STARTCHAR U_FA32 +ENCODING 64050 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +2000 +3E00 +4400 +7F80 +C880 +4880 +7F80 +0C00 +1440 +2440 +C3C0 +ENDCHAR +STARTCHAR U_FA33 +ENCODING 64051 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2080 +3880 +4BE0 +7CA0 +D4A0 +54A0 +7D20 +2A20 +2CC0 +4820 +87E0 +ENDCHAR +STARTCHAR U_FA34 +ENCODING 64052 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2880 +FE80 +2880 +7FE0 +54A0 +54A0 +FEA0 +10A0 +7D20 +12A0 +FC40 +ENDCHAR +STARTCHAR U_FA35 +ENCODING 64053 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0800 +7F80 +4480 +7F80 +4480 +7F80 +1400 +FFC0 +0400 +0400 +0400 +ENDCHAR +STARTCHAR U_FA36 +ENCODING 64054 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0FC0 +E840 +AFC0 +A840 +AFC0 +A400 +EFE0 +1920 +0AA0 +0F20 +00C0 +ENDCHAR +STARTCHAR U_FA37 +ENCODING 64055 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0280 +FFE0 +A280 +A7C0 +A540 +AFE0 +E100 +AFE0 +0100 +0680 +1860 +ENDCHAR +STARTCHAR U_FA38 +ENCODING 64056 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BC0 +4A40 +4A40 +7BC0 +0880 +FFE0 +4080 +FBE0 +4A40 +4A40 +7BC0 +ENDCHAR +STARTCHAR U_FA39 +ENCODING 64057 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27E0 +2420 +27E0 +FE20 +2540 +27E0 +2540 +3FE0 +E940 +4A40 +1440 +ENDCHAR +STARTCHAR U_FA3A +ENCODING 64058 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FC0 +5540 +7FC0 +0400 +3F80 +0400 +FFE0 +5540 +BFA0 +0400 +FFE0 +ENDCHAR +STARTCHAR U_FA3B +ENCODING 64059 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4020 +7FE0 +4480 +5FC0 +5540 +5FC0 +4880 +4F80 +4880 +8F80 +ENDCHAR +STARTCHAR U_FA3C +ENCODING 64060 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +0400 +0400 +4440 +4440 +4440 +7FC0 +4440 +0400 +0800 +3000 +C000 +ENDCHAR +STARTCHAR U_FA3D +ENCODING 64061 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +B000 +AFC0 +A540 +A540 +3FE0 +2940 +2FE0 +2040 +2180 +ENDCHAR +STARTCHAR U_FA3E +ENCODING 64062 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2A40 +AA40 +BF40 +ABE0 +AA40 +2E40 +2AC0 +2D40 +2A40 +2460 +ENDCHAR +STARTCHAR U_FA3F +ENCODING 64063 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2280 +2FE0 +A920 +BAA0 +AFE0 +A000 +27C0 +2440 +27C0 +2440 +27C0 +ENDCHAR +STARTCHAR U_FA40 +ENCODING 64064 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3500 +5FE0 +84A0 +3FA0 +64A0 +BE40 +24A0 +3F00 +5440 +52A0 +8FA0 +ENDCHAR +STARTCHAR U_FA41 +ENCODING 64065 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +7D00 +81E0 +7F40 +5540 +FF40 +5540 +5540 +FE80 +0540 +1A20 +ENDCHAR +STARTCHAR U_FA42 +ENCODING 64066 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7BE0 +4880 +4A80 +7A80 +4FE0 +7880 +5080 +4980 +56A0 +E4A0 +4860 +ENDCHAR +STARTCHAR U_FA43 +ENCODING 64067 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +3F80 +2080 +3F80 +2080 +7FC0 +0500 +FFE0 +0880 +3F80 +D080 +1F80 +ENDCHAR +STARTCHAR U_FA44 +ENCODING 64068 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2400 +27E0 +F800 +27C0 +2540 +3540 +6FE0 +A540 +2540 +2FE0 +20C0 +ENDCHAR +STARTCHAR U_FA45 +ENCODING 64069 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4400 +27E0 +8800 +5FC0 +1940 +2FE0 +2A40 +C940 +4FE0 +4040 +4180 +ENDCHAR +STARTCHAR U_FA46 +ENCODING 64070 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2FA0 +0240 +9FE0 +5200 +27C0 +2C40 +D7C0 +4440 +47C0 +4440 +ENDCHAR +STARTCHAR U_FA47 +ENCODING 64071 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5FE0 +2480 +0FC0 +8A40 +5FC0 +2200 +2FC0 +C200 +5FE0 +4480 +5860 +ENDCHAR +STARTCHAR U_FA48 +ENCODING 64072 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0440 +3F80 +0500 +FFE0 +1080 +3F80 +D080 +1F80 +4240 +4920 +8920 +ENDCHAR +STARTCHAR U_FA49 +ENCODING 64073 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 5 1 5 +BITMAP +0380 +FC00 +4980 +2500 +2200 +ENDCHAR +STARTCHAR U_FA4A +ENCODING 64074 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +07E0 +F100 +2220 +2640 +FB80 +2480 +2BC0 +22C0 +F4A0 +4CA0 +1320 +ENDCHAR +STARTCHAR U_FA4B +ENCODING 64075 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0100 +F7E0 +2520 +27E0 +7520 +D7E0 +5280 +5FE0 +7080 +5080 +0080 +ENDCHAR +STARTCHAR U_FA4C +ENCODING 64076 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F900 +0900 +17C0 +3100 +6900 +A900 +2100 +2100 +2FE0 +ENDCHAR +STARTCHAR U_FA4D +ENCODING 64077 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +F500 +1500 +25E0 +3500 +6D00 +A500 +2500 +2500 +3FE0 +ENDCHAR +STARTCHAR U_FA4E +ENCODING 64078 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4060 +2380 +FA00 +0A00 +13E0 +3240 +6A40 +AA40 +2440 +2440 +2840 +ENDCHAR +STARTCHAR U_FA4F +ENCODING 64079 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +2100 +FFE0 +0900 +1200 +33E0 +6E20 +AA20 +2220 +23E0 +2220 +ENDCHAR +STARTCHAR U_FA50 +ENCODING 64080 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +27C0 +1440 +FC40 +1440 +27C0 +3440 +6C40 +A7C0 +2440 +2440 +2FE0 +ENDCHAR +STARTCHAR U_FA51 +ENCODING 64081 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FC40 +0C40 +17C0 +3280 +6A80 +AA80 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_FA52 +ENCODING 64082 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +F5C0 +1540 +2FE0 +2820 +7BA0 +AAA0 +2BA0 +2820 +2860 +ENDCHAR +STARTCHAR U_FA53 +ENCODING 64083 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4100 +21E0 +F100 +17C0 +2440 +77C0 +AC40 +27C0 +2440 +27C0 +2C60 +ENDCHAR +STARTCHAR U_FA54 +ENCODING 64084 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +23C0 +FA40 +2240 +FA60 +8C00 +73E0 +2220 +F940 +2080 +7140 +AE20 +ENDCHAR +STARTCHAR U_FA55 +ENCODING 64085 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +7FE0 +4920 +9080 +2540 +0480 +7FE0 +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_FA56 +ENCODING 64086 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +3DE0 +5280 +FDE0 +4520 +7D20 +4520 +7D20 +4920 +5560 +6500 +ENDCHAR +STARTCHAR U_FA57 +ENCODING 64087 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +2FE0 +5100 +F7E0 +26A0 +5520 +EFE0 +0180 +5340 +AD20 +A920 +ENDCHAR +STARTCHAR U_FA58 +ENCODING 64088 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2FE0 +2000 +5440 +FAA0 +2EE0 +5000 +EFE0 +0420 +57E0 +AC20 +AFE0 +ENDCHAR +STARTCHAR U_FA59 +ENCODING 64089 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +2100 +7FE0 +D540 +7E80 +5540 +7A20 +1F00 +0880 +7F40 +2480 +CC60 +ENDCHAR +STARTCHAR U_FA5A +ENCODING 64090 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +7FE0 +4920 +7FE0 +0440 +3F80 +0500 +FFE0 +3040 +DFC0 +1040 +1FC0 +ENDCHAR +STARTCHAR U_FA5B +ENCODING 64091 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0420 +7F40 +0480 +FFE0 +0400 +1FC0 +3040 +DFC0 +1040 +1FC0 +1040 +ENDCHAR +STARTCHAR U_FA5C +ENCODING 64092 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0800 +3F80 +2080 +3E80 +2F80 +2080 +3F80 +0480 +FFE0 +0A00 +F1E0 +ENDCHAR +STARTCHAR U_FA5D +ENCODING 64093 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 4 1 3 +BITMAP +1200 +FFC0 +1200 +1200 +ENDCHAR +STARTCHAR U_FA5E +ENCODING 64094 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 4 1 3 +BITMAP +1200 +FFC0 +1200 +1200 +ENDCHAR +STARTCHAR U_FA5F +ENCODING 64095 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +1100 +FFE0 +1540 +7F80 +0500 +FFE0 +0880 +1F80 +7080 +1F80 +1080 +ENDCHAR +STARTCHAR U_FA60 +ENCODING 64096 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FFC0 +1440 +2FC0 +7200 +AFE0 +2CA0 +2560 +27A0 +2040 +ENDCHAR +STARTCHAR U_FA61 +ENCODING 64097 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +2440 +FFC0 +1440 +27C0 +7440 +AFC0 +2280 +22A0 +24A0 +2860 +ENDCHAR +STARTCHAR U_FA62 +ENCODING 64098 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +47C0 +F440 +07C0 +F440 +07C0 +F200 +07E0 +FCA0 +9560 +F7A0 +90C0 +ENDCHAR +STARTCHAR U_FA63 +ENCODING 64099 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4280 +FFE0 +0280 +F100 +07C0 +F540 +0FE0 +F100 +97C0 +F100 +9FE0 +ENDCHAR +STARTCHAR U_FA64 +ENCODING 64100 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0400 +FFE0 +8020 +3F80 +2500 +FF80 +2080 +3F80 +2080 +3F80 +E0E0 +ENDCHAR +STARTCHAR U_FA65 +ENCODING 64101 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +F440 +9280 +FFE0 +9AA0 +9FE0 +F000 +97C0 +F440 +27C0 +5440 +8FC0 +ENDCHAR +STARTCHAR U_FA66 +ENCODING 64102 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4000 +2000 +2000 +0000 +E000 +2000 +2000 +2000 +2000 +5020 +8FC0 +ENDCHAR +STARTCHAR U_FA67 +ENCODING 64103 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +4200 +2780 +2900 +1FC0 +EA40 +2FC0 +2340 +2520 +28E0 +5000 +8FE0 +ENDCHAR +STARTCHAR U_FA68 +ENCODING 64104 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +5180 +FE80 +53E0 +2680 +FBC0 +AA80 +FA80 +23C0 +FE80 +5280 +8BE0 +ENDCHAR +STARTCHAR U_FA69 +ENCODING 64105 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +44E0 +AEA0 +4AC0 +EEA0 +2AC0 +FFE0 +0900 +FFE0 +1480 +1280 +1F80 +ENDCHAR +STARTCHAR U_FA6A +ENCODING 64106 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +13E0 +5080 +5FE0 +5220 +FFE0 +1220 +57E0 +5A20 +93E0 +2140 +C620 +ENDCHAR + + +STARTCHAR ff +ENCODING 64256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +50 +50 +F8 +50 +50 +50 +ENDCHAR +STARTCHAR fi +ENCODING 64257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +48 +40 +F8 +48 +48 +48 +ENDCHAR +STARTCHAR fl +ENCODING 64258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +38 +48 +48 +F8 +48 +48 +48 +ENDCHAR +STARTCHAR ffi +ENCODING 64259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +A8 +A0 +F8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR ffl +ENCODING 64260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +78 +A8 +A8 +F8 +A8 +A8 +A8 +ENDCHAR +STARTCHAR uniFB05 +ENCODING 64261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +78 +D0 +50 +50 +48 +ENDCHAR +STARTCHAR uniFB06 +ENCODING 64262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +30 +50 +78 +90 +50 +50 +88 +ENDCHAR +STARTCHAR uniFE20 +ENCODING 65056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 8 +BITMAP +38 +C0 +ENDCHAR +STARTCHAR uniFE21 +ENCODING 65057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +E0 +18 +ENDCHAR +STARTCHAR uniFE22 +ENCODING 65058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 +BITMAP +7C +80 +ENDCHAR +STARTCHAR uniFE23 +ENCODING 65059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +08 +F0 +ENDCHAR + + +STARTCHAR U_FE30 +ENCODING 65072 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 7 5 1 +BITMAP +C0 +C0 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR U_FE31 +ENCODING 65073 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 1 10 6 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_FE33 +ENCODING 65075 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 1 11 5 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_FE34 +ENCODING 65076 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 12 10 -1 +BITMAP +80 +40 +40 +80 +80 +40 +40 +80 +80 +40 +40 +80 +ENDCHAR +STARTCHAR U_FE35 +ENCODING 65077 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 3 0 1 +BITMAP +1F00 +60C0 +8020 +ENDCHAR +STARTCHAR U_FE36 +ENCODING 65078 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 3 0 6 +BITMAP +8020 +60C0 +1F00 +ENDCHAR +STARTCHAR U_FE37 +ENCODING 65079 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 4 0 1 +BITMAP +0400 +0A00 +71C0 +8020 +ENDCHAR +STARTCHAR U_FE38 +ENCODING 65080 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 4 0 5 +BITMAP +8020 +71C0 +0A00 +0400 +ENDCHAR +STARTCHAR U_FE39 +ENCODING 65081 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 3 0 1 +BITMAP +3F80 +4040 +8020 +ENDCHAR +STARTCHAR U_FE3A +ENCODING 65082 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 3 0 6 +BITMAP +8020 +4040 +3F80 +ENDCHAR +STARTCHAR U_FE3B +ENCODING 65083 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 4 0 0 +BITMAP +FFE0 +E0E0 +C060 +8020 +ENDCHAR +STARTCHAR U_FE3C +ENCODING 65084 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 4 0 6 +BITMAP +8020 +C060 +E0E0 +FFE0 +ENDCHAR +STARTCHAR U_FE3D +ENCODING 65085 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 7 0 -1 +BITMAP +0400 +0A00 +3180 +C460 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_FE3E +ENCODING 65086 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 7 0 3 +BITMAP +C060 +3180 +0A00 +C460 +3180 +0A00 +0400 +ENDCHAR +STARTCHAR U_FE3F +ENCODING 65087 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 3 0 1 +BITMAP +0E00 +3180 +C060 +ENDCHAR +STARTCHAR U_FE40 +ENCODING 65088 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 3 0 6 +BITMAP +C060 +3180 +0E00 +ENDCHAR +STARTCHAR U_FE41 +ENCODING 65089 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 5 2 -1 +BITMAP +FF80 +0080 +0080 +0080 +0080 +ENDCHAR +STARTCHAR U_FE42 +ENCODING 65090 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 5 1 5 +BITMAP +8000 +8000 +8000 +8000 +FF80 +ENDCHAR +STARTCHAR U_FE43 +ENCODING 65091 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 6 2 -1 +BITMAP +FF80 +8080 +FE80 +0280 +0280 +0380 +ENDCHAR +STARTCHAR U_FE44 +ENCODING 65092 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 6 1 4 +BITMAP +E000 +A000 +A000 +BF80 +8080 +FF80 +ENDCHAR +STARTCHAR U_FE49 +ENCODING 65097 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 1 1 9 +BITMAP +CCC0 +ENDCHAR +STARTCHAR U_FE4A +ENCODING 65098 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 1 0 9 +BITMAP +E4E0 +ENDCHAR +STARTCHAR U_FE4B +ENCODING 65099 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 3 0 7 +BITMAP +3180 +4A40 +8420 +ENDCHAR +STARTCHAR U_FE4C +ENCODING 65100 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 3 0 7 +BITMAP +3180 +4A40 +8420 +ENDCHAR +STARTCHAR U_FE4D +ENCODING 65101 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 1 1 -1 +BITMAP +CCC0 +ENDCHAR +STARTCHAR U_FE4E +ENCODING 65102 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 1 0 -1 +BITMAP +E4E0 +ENDCHAR +STARTCHAR U_FE4F +ENCODING 65103 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 2 0 8 +BITMAP +6640 +99A0 +ENDCHAR +STARTCHAR U_FE50 +ENCODING 65104 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 4 8 0 +BITMAP +C0 +C0 +40 +80 +ENDCHAR +STARTCHAR U_FE51 +ENCODING 65105 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 3 7 0 +BITMAP +80 +60 +20 +ENDCHAR +STARTCHAR U_FE52 +ENCODING 65106 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 2 8 1 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR U_FE54 +ENCODING 65108 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 8 5 0 +BITMAP +C0 +C0 +00 +00 +C0 +C0 +40 +80 +ENDCHAR +STARTCHAR U_FE55 +ENCODING 65109 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 7 5 1 +BITMAP +C0 +C0 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR U_FE56 +ENCODING 65110 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 10 4 0 +BITMAP +70 +88 +88 +08 +10 +10 +20 +00 +20 +20 +ENDCHAR +STARTCHAR U_FE57 +ENCODING 65111 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 1 10 6 0 +BITMAP +80 +80 +80 +80 +80 +80 +80 +00 +80 +80 +ENDCHAR +STARTCHAR U_FE59 +ENCODING 65113 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 8 7 1 +BITMAP +20 +40 +80 +80 +80 +80 +40 +20 +ENDCHAR +STARTCHAR U_FE5A +ENCODING 65114 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 8 3 1 +BITMAP +80 +40 +20 +20 +20 +20 +40 +80 +ENDCHAR +STARTCHAR U_FE5B +ENCODING 65115 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 9 7 0 +BITMAP +20 +40 +40 +40 +80 +40 +40 +40 +20 +ENDCHAR +STARTCHAR U_FE5C +ENCODING 65116 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 9 3 0 +BITMAP +80 +40 +40 +40 +20 +40 +40 +40 +80 +ENDCHAR +STARTCHAR U_FE5D +ENCODING 65117 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 10 8 0 +BITMAP +20 +40 +80 +80 +80 +80 +80 +80 +40 +20 +ENDCHAR +STARTCHAR U_FE5E +ENCODING 65118 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 10 3 0 +BITMAP +80 +40 +20 +20 +20 +20 +20 +20 +40 +80 +ENDCHAR +STARTCHAR U_FE5F +ENCODING 65119 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 11 3 -1 +BITMAP +50 +50 +50 +F8 +50 +50 +50 +F8 +50 +50 +50 +ENDCHAR +STARTCHAR U_FE60 +ENCODING 65120 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 3 0 +BITMAP +20 +50 +50 +20 +5C +A8 +A8 +90 +48 +34 +ENDCHAR +STARTCHAR U_FE61 +ENCODING 65121 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 5 3 2 +BITMAP +A8 +70 +20 +70 +A8 +ENDCHAR +STARTCHAR U_FE62 +ENCODING 65122 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 5 3 2 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR U_FE63 +ENCODING 65123 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 4 1 4 4 +BITMAP +F0 +ENDCHAR +STARTCHAR U_FE64 +ENCODING 65124 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 5 4 2 +BITMAP +18 +60 +80 +60 +18 +ENDCHAR +STARTCHAR U_FE65 +ENCODING 65125 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 5 4 2 +BITMAP +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR U_FE66 +ENCODING 65126 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 4 4 3 +BITMAP +F8 +00 +00 +F8 +ENDCHAR +STARTCHAR U_FE68 +ENCODING 65128 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 12 3 -1 +BITMAP +80 +40 +40 +20 +20 +10 +10 +08 +08 +04 +04 +02 +ENDCHAR +STARTCHAR U_FE69 +ENCODING 65129 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 11 4 0 +BITMAP +20 +70 +A8 +A8 +A0 +70 +28 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR U_FE6A +ENCODING 65130 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 9 3 1 +BITMAP +42 +A4 +A8 +A8 +54 +2A +2A +4A +44 +ENDCHAR +STARTCHAR U_FE6B +ENCODING 65131 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 0 +BITMAP +3C +42 +42 +95 +AD +A5 +AA +54 +42 +3C +ENDCHAR +STARTCHAR U_FF01 +ENCODING 65281 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 11 3 -1 +BITMAP +40 +E0 +E0 +E0 +E0 +40 +40 +40 +00 +40 +40 +ENDCHAR +STARTCHAR U_FF02 +ENCODING 65282 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 4 1 7 +BITMAP +D8 +D8 +48 +90 +ENDCHAR +STARTCHAR U_FF03 +ENCODING 65283 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 11 2 -1 +BITMAP +12 +12 +12 +7F +24 +24 +24 +FF +48 +48 +48 +ENDCHAR +STARTCHAR U_FF04 +ENCODING 65284 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 11 3 -1 +BITMAP +7C +D2 +92 +90 +50 +3E +11 +D1 +93 +7C +10 +ENDCHAR +STARTCHAR U_FF05 +ENCODING 65285 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 12 1 -1 +BITMAP +7000 +8820 +8840 +8880 +7100 +0200 +0400 +09C0 +1220 +2220 +4220 +81C0 +ENDCHAR +STARTCHAR U_FF06 +ENCODING 65286 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +3800 +4400 +4400 +4400 +2800 +3380 +5100 +8A00 +8440 +8A40 +7180 +ENDCHAR +STARTCHAR U_FF07 +ENCODING 65287 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 4 2 7 +BITMAP +C0 +C0 +40 +80 +ENDCHAR +STARTCHAR U_FF08 +ENCODING 65288 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 12 7 -1 +BITMAP +20 +40 +40 +80 +80 +80 +80 +80 +80 +40 +40 +20 +ENDCHAR +STARTCHAR U_FF09 +ENCODING 65289 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 3 12 3 -1 +BITMAP +80 +40 +40 +20 +20 +20 +20 +20 +20 +40 +40 +80 +ENDCHAR +STARTCHAR U_FF0A +ENCODING 65290 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 7 0 1 +BITMAP +10 +10 +D6 +38 +28 +44 +44 +ENDCHAR +STARTCHAR U_FF0B +ENCODING 65291 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 2 0 +BITMAP +0800 +0800 +0800 +0800 +FF80 +0800 +0800 +0800 +0800 +ENDCHAR +STARTCHAR U_FF0C +ENCODING 65292 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 4 3 0 +BITMAP +C0 +C0 +40 +80 +ENDCHAR +STARTCHAR U_FF0D +ENCODING 65293 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 1 2 4 +BITMAP +FF80 +ENDCHAR +STARTCHAR U_FF0E +ENCODING 65294 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 2 3 0 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR U_FF0F +ENCODING 65295 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 11 0 -1 +BITMAP +0020 +0040 +0080 +0100 +0200 +0400 +0800 +1000 +2000 +4000 +8000 +ENDCHAR +STARTCHAR U_FF10 +ENCODING 65296 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +38 +44 +82 +82 +82 +82 +82 +82 +44 +38 +ENDCHAR +STARTCHAR U_FF11 +ENCODING 65297 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 4 10 3 -1 +BITMAP +20 +20 +E0 +20 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR U_FF12 +ENCODING 65298 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 3 -1 +BITMAP +78 +84 +84 +04 +08 +10 +20 +40 +80 +FC +ENDCHAR +STARTCHAR U_FF13 +ENCODING 65299 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 3 -1 +BITMAP +70 +88 +04 +08 +30 +08 +04 +04 +88 +70 +ENDCHAR +STARTCHAR U_FF14 +ENCODING 65300 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +08 +18 +28 +28 +48 +48 +88 +FE +08 +1C +ENDCHAR +STARTCHAR U_FF15 +ENCODING 65301 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 3 -1 +BITMAP +FC +80 +80 +B0 +C8 +84 +04 +04 +88 +70 +ENDCHAR +STARTCHAR U_FF16 +ENCODING 65302 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +38 +44 +80 +80 +B8 +C4 +82 +82 +44 +38 +ENDCHAR +STARTCHAR U_FF17 +ENCODING 65303 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 3 -1 +BITMAP +FC +84 +84 +08 +08 +10 +10 +20 +20 +20 +ENDCHAR +STARTCHAR U_FF18 +ENCODING 65304 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +38 +44 +82 +44 +38 +44 +82 +82 +44 +38 +ENDCHAR +STARTCHAR U_FF19 +ENCODING 65305 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +38 +44 +82 +82 +46 +3A +02 +82 +44 +38 +ENDCHAR +STARTCHAR U_FF1A +ENCODING 65306 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 7 6 1 +BITMAP +C0 +C0 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR U_FF1B +ENCODING 65307 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 2 8 6 0 +BITMAP +C0 +C0 +00 +00 +C0 +C0 +40 +80 +ENDCHAR +STARTCHAR U_FF1C +ENCODING 65308 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +0180 +0600 +1800 +6000 +8000 +6000 +1800 +0600 +0180 +ENDCHAR +STARTCHAR U_FF1D +ENCODING 65309 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 4 1 2 +BITMAP +FF80 +0000 +0000 +FF80 +ENDCHAR +STARTCHAR U_FF1E +ENCODING 65310 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 9 1 0 +BITMAP +C000 +3000 +0C00 +0300 +0080 +0300 +0C00 +3000 +C000 +ENDCHAR +STARTCHAR U_FF1F +ENCODING 65311 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 11 4 -1 +BITMAP +78 +CC +CC +0C +18 +30 +30 +30 +00 +30 +30 +ENDCHAR +STARTCHAR U_FF20 +ENCODING 65312 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 2 0 +BITMAP +1E00 +2100 +4C80 +9240 +A240 +A240 +A680 +5B00 +2080 +1F00 +ENDCHAR +STARTCHAR U_FF21 +ENCODING 65313 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +0800 +0800 +1400 +1400 +2200 +2200 +3E00 +4100 +4100 +E380 +ENDCHAR +STARTCHAR U_FF22 +ENCODING 65314 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +F8 +44 +42 +44 +78 +44 +42 +42 +44 +F8 +ENDCHAR +STARTCHAR U_FF23 +ENCODING 65315 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 -1 +BITMAP +1D +23 +41 +80 +80 +80 +80 +41 +22 +1C +ENDCHAR +STARTCHAR U_FF24 +ENCODING 65316 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 8 10 2 -1 +BITMAP +FC +42 +41 +41 +41 +41 +41 +41 +42 +FC +ENDCHAR +STARTCHAR U_FF25 +ENCODING 65317 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 -1 +BITMAP +FE +41 +40 +44 +7C +44 +40 +41 +41 +FE +ENDCHAR +STARTCHAR U_FF26 +ENCODING 65318 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 -1 +BITMAP +FE +41 +40 +44 +7C +44 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR U_FF27 +ENCODING 65319 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +3D00 +4300 +8100 +8000 +8000 +8F80 +8100 +8100 +4300 +3D00 +ENDCHAR +STARTCHAR U_FF28 +ENCODING 65320 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +E380 +4100 +4100 +4100 +7F00 +4100 +4100 +4100 +4100 +E380 +ENDCHAR +STARTCHAR U_FF29 +ENCODING 65321 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 10 4 -1 +BITMAP +E0 +40 +40 +40 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR U_FF2A +ENCODING 65322 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 11 2 -1 +BITMAP +1C +08 +08 +08 +08 +08 +08 +08 +08 +90 +60 +ENDCHAR +STARTCHAR U_FF2B +ENCODING 65323 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 -1 +BITMAP +EE +44 +48 +50 +60 +50 +48 +44 +42 +E7 +ENDCHAR +STARTCHAR U_FF2C +ENCODING 65324 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 -1 +BITMAP +E0 +40 +40 +40 +40 +40 +40 +41 +42 +FE +ENDCHAR +STARTCHAR U_FF2D +ENCODING 65325 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +C060 +4040 +60C0 +60C0 +5140 +5140 +4A40 +4A40 +4440 +E4E0 +ENDCHAR +STARTCHAR U_FF2E +ENCODING 65326 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 10 2 -1 +BITMAP +C7 +62 +52 +52 +4A +4A +46 +46 +42 +E2 +ENDCHAR +STARTCHAR U_FF2F +ENCODING 65327 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +1C00 +2200 +4100 +8080 +8080 +8080 +8080 +4100 +2200 +1C00 +ENDCHAR +STARTCHAR U_FF30 +ENCODING 65328 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +F8 +44 +42 +42 +44 +78 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR U_FF31 +ENCODING 65329 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 11 1 -1 +BITMAP +1C00 +2200 +4100 +8080 +8080 +8080 +9880 +4500 +2200 +1D40 +00C0 +ENDCHAR +STARTCHAR U_FF32 +ENCODING 65330 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 11 1 -1 +BITMAP +FC00 +4200 +4100 +4200 +7C00 +4400 +4200 +4200 +4200 +E280 +0100 +ENDCHAR +STARTCHAR U_FF33 +ENCODING 65331 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +7A +86 +82 +40 +30 +08 +04 +82 +C2 +BC +ENDCHAR +STARTCHAR U_FF34 +ENCODING 65332 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +FF80 +8880 +8880 +0800 +0800 +0800 +0800 +0800 +0800 +1C00 +ENDCHAR +STARTCHAR U_FF35 +ENCODING 65333 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +E380 +4100 +4100 +4100 +4100 +4100 +4100 +4100 +2200 +1C00 +ENDCHAR +STARTCHAR U_FF36 +ENCODING 65334 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +E380 +4100 +4100 +2200 +2200 +2200 +1400 +1400 +0800 +0800 +ENDCHAR +STARTCHAR U_FF37 +ENCODING 65335 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP +EEE0 +4440 +4440 +4440 +2A80 +2A80 +2A80 +1100 +1100 +1100 +ENDCHAR +STARTCHAR U_FF38 +ENCODING 65336 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +E380 +4100 +2200 +1400 +0800 +0800 +1400 +2200 +4100 +E380 +ENDCHAR +STARTCHAR U_FF39 +ENCODING 65337 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +E380 +4100 +2200 +1400 +0800 +0800 +0800 +0800 +0800 +1C00 +ENDCHAR +STARTCHAR U_FF3A +ENCODING 65338 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 1 -1 +BITMAP +3F80 +2100 +4200 +0400 +0800 +0800 +1000 +2080 +4080 +FF80 +ENDCHAR +STARTCHAR U_FF3B +ENCODING 65339 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 4 12 6 -1 +BITMAP +F0 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +F0 +ENDCHAR +STARTCHAR U_FF3C +ENCODING 65340 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 12 12 0 -1 +BITMAP +8000 +4000 +2000 +1000 +0800 +0400 +0200 +0100 +0080 +0040 +0020 +0010 +ENDCHAR +STARTCHAR U_FF3D +ENCODING 65341 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 4 12 2 -1 +BITMAP +F0 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +F0 +ENDCHAR +STARTCHAR U_FF3E +ENCODING 65342 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 4 0 0 +BITMAP +0400 +0A00 +3180 +C060 +ENDCHAR +STARTCHAR U_FF3F +ENCODING 65343 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 12 1 0 -1 +BITMAP +FFF0 +ENDCHAR +STARTCHAR U_FF40 +ENCODING 65344 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 2 4 8 7 +BITMAP +40 +80 +C0 +C0 +ENDCHAR +STARTCHAR U_FF41 +ENCODING 65345 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 3 0 +BITMAP +70 +88 +38 +48 +88 +9A +64 +ENDCHAR +STARTCHAR U_FF42 +ENCODING 65346 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +C0 +40 +40 +58 +64 +42 +42 +42 +64 +58 +ENDCHAR +STARTCHAR U_FF43 +ENCODING 65347 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 7 2 -1 +BITMAP +38 +44 +80 +80 +80 +44 +38 +ENDCHAR +STARTCHAR U_FF44 +ENCODING 65348 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +0C +04 +04 +34 +4C +84 +84 +84 +4C +36 +ENDCHAR +STARTCHAR U_FF45 +ENCODING 65349 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 7 2 -1 +BITMAP +30 +48 +84 +FC +80 +44 +38 +ENDCHAR +STARTCHAR U_FF46 +ENCODING 65350 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 2 -1 +BITMAP +18 +24 +20 +F8 +20 +20 +20 +20 +20 +70 +ENDCHAR +STARTCHAR U_FF47 +ENCODING 65351 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 2 -1 +BITMAP +3A +44 +44 +38 +20 +7C +82 +7C +ENDCHAR +STARTCHAR U_FF48 +ENCODING 65352 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +C0 +40 +40 +58 +64 +44 +44 +44 +44 +EE +ENDCHAR +STARTCHAR U_FF49 +ENCODING 65353 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 10 4 -1 +BITMAP +C0 +C0 +00 +C0 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR U_FF4A +ENCODING 65354 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 11 2 -1 +BITMAP +18 +08 +00 +18 +08 +08 +08 +08 +08 +88 +70 +ENDCHAR +STARTCHAR U_FF4B +ENCODING 65355 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 10 2 -1 +BITMAP +C0 +40 +40 +5C +48 +50 +70 +48 +44 +EE +ENDCHAR +STARTCHAR U_FF4C +ENCODING 65356 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 10 4 -1 +BITMAP +C0 +40 +40 +40 +40 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR U_FF4D +ENCODING 65357 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 7 1 -1 +BITMAP +B300 +4C80 +4880 +4880 +4880 +4880 +DDC0 +ENDCHAR +STARTCHAR U_FF4E +ENCODING 65358 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 2 -1 +BITMAP +D8 +64 +44 +44 +44 +44 +EE +ENDCHAR +STARTCHAR U_FF4F +ENCODING 65359 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 2 -1 +BITMAP +38 +44 +82 +82 +82 +44 +38 +ENDCHAR +STARTCHAR U_FF50 +ENCODING 65360 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 6 8 2 -1 +BITMAP +F8 +44 +44 +44 +44 +78 +40 +E0 +ENDCHAR +STARTCHAR U_FF51 +ENCODING 65361 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 8 2 -1 +BITMAP +36 +4C +84 +84 +4C +34 +04 +0E +ENDCHAR +STARTCHAR U_FF52 +ENCODING 65362 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 7 3 -1 +BITMAP +D8 +64 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR U_FF53 +ENCODING 65363 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 5 7 3 -1 +BITMAP +70 +88 +80 +70 +08 +88 +70 +ENDCHAR +STARTCHAR U_FF54 +ENCODING 65364 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 6 10 2 -1 +BITMAP +20 +20 +20 +F8 +20 +20 +20 +20 +24 +18 +ENDCHAR +STARTCHAR U_FF55 +ENCODING 65365 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 2 -1 +BITMAP +EE +44 +44 +44 +44 +44 +3A +ENDCHAR +STARTCHAR U_FF56 +ENCODING 65366 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 8 7 1 -1 +BITMAP +E7 +42 +22 +24 +14 +18 +08 +ENDCHAR +STARTCHAR U_FF57 +ENCODING 65367 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 11 7 0 -1 +BITMAP +EEE0 +4440 +4440 +2A80 +2A80 +1100 +1100 +ENDCHAR +STARTCHAR U_FF58 +ENCODING 65368 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 2 -1 +BITMAP +EE +44 +28 +10 +28 +44 +EE +ENDCHAR +STARTCHAR U_FF59 +ENCODING 65369 +SWIDTH 1000 0 +DWIDTH 12 0 +BBX 7 8 2 -1 +BITMAP +EE +44 +28 +28 +10 +10 +10 +60 +ENDCHAR +STARTCHAR U_FF5A +ENCODING 65370 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 7 2 -1 +BITMAP +7C +88 +10 +10 +22 +44 +FC +ENDCHAR +STARTCHAR U_FF5B +ENCODING 65371 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 12 7 -1 +BITMAP +20 +40 +40 +40 +40 +80 +40 +40 +40 +40 +40 +20 +ENDCHAR +STARTCHAR U_FF5C +ENCODING 65372 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 1 11 6 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR U_FF5D +ENCODING 65373 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 3 12 2 -1 +BITMAP +80 +40 +40 +40 +40 +20 +40 +40 +40 +40 +40 +80 +ENDCHAR +STARTCHAR U_FF5E +ENCODING 65374 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 12 3 0 3 +BITMAP +1C00 +6310 +80E0 +ENDCHAR +STARTCHAR U_FFE0 +ENCODING 65504 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 7 9 2 0 +BITMAP +04 +3C +4A +88 +90 +90 +A2 +64 +58 +ENDCHAR +STARTCHAR U_FFE1 +ENCODING 65505 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 10 10 1 0 +BITMAP +0600 +0900 +0800 +0800 +0800 +FE00 +0800 +7040 +9C80 +6300 +ENDCHAR +STARTCHAR U_FFE3 +ENCODING 65507 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 12 1 0 10 +BITMAP +FFF0 +ENDCHAR +STARTCHAR U_FFE5 +ENCODING 65509 +SWIDTH 0 0 +DWIDTH 12 0 +BBX 9 10 1 0 +BITMAP +E380 +4100 +2200 +7F00 +1400 +7F00 +0800 +0800 +0800 +1C00 +ENDCHAR + +STARTCHAR uniFFFD +ENCODING 65533 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 +BITMAP +70 +D8 +A8 +E8 +D8 +D8 +F8 +D8 +70 +ENDCHAR +ENDFONT diff --git a/buildroot/share/fonts/u8glib-bdf2u8g.patch b/buildroot/share/fonts/u8glib-bdf2u8g.patch new file mode 100644 index 000000000000..1201e99800e8 --- /dev/null +++ b/buildroot/share/fonts/u8glib-bdf2u8g.patch @@ -0,0 +1,32 @@ +178c178 +< fprintf(out_fp, "%d", data_buf[i]); +--- +> fprintf(out_fp, "0x%02x", data_buf[i]); +180c180 +< fprintf(out_fp, "%3d", data_buf[i]); +--- +> fprintf(out_fp, "0x%02x", data_buf[i]); +487c487,488 +< int bdf_delta_x; /* DWIDTH arg 1 */ +--- +> int bdf_delta_x_default = -1; +> int bdf_delta_x = -1; /* DWIDTH arg 1 */ +1097a1099,1114 +> 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; +> } +1293d1309 +< fprintf(out_fp, "#include \"u8g.h\"\n"); diff --git a/buildroot/share/fonts/uxggenpages.md b/buildroot/share/fonts/uxggenpages.md new file mode 100644 index 000000000000..314b5d5c06c3 --- /dev/null +++ b/buildroot/share/fonts/uxggenpages.md @@ -0,0 +1,110 @@ +## Language engine and tools + +### Supported hardware + +Marlin supports HD44780 character LCD and 128x64 graphical LCD via U8GLIB. Because of the limitation of HD44780 hardwares, 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 when saved 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`, replacing xx with the language/country code. (e.g., "en" for English). You can start with a existing language file by copying it to a new location: + +```bash +cp language_zh_CN.h language_zh_TW.h +``` + +Then simply replace the strings inside the `_UxGT()` macros. + +Make sure the file is saved as UTF-8 encoded. + +2. Generate the font data file + +This step gathers the glyphs used in the language file from a 9pt bitmap font and saves 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. + +Download from [here](http://wenq.org/daily/wqy-bitmapfont-bdf-gb18030-nightly_build.tar.gz), or to install in a Debian/Ubuntu system: + +``` +sudo apt-get install xfonts-wqy +``` + +You also need to compile the `bdf2u8g` binary to convert BDF font files into U8glib data structures: + +```bash +cd marlin-git/buildroot/share/fonts/ +./get-bdf2u8g.sh +``` + +The `genallfont.sh` script generates font data for all language translation files. + +You may specify a list of languages to process. For example: + +```bash +MARLIN_LANGS="zh_CN zh_TW" +``` + +and run the script to generate the font data (`language_data_xx.h`): + +```bash +cd marlin-git/Marlin/ +MARLIN_LANGS="zh_CN zh_TW" ../buildroot/share/fonts/genallfont.sh +``` + +3. Change the language settings + +To compile Marlin with your language, 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. Once the build succeeds, upload it to your board. + +### Update the language translation + +Whenever language files are changed, 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, if your font is named `newfont.bdf` run the following command: + +```bash +cd Marlin/ +../buildroot/share/fonts/genallfont.sh ./newfont.bdf +``` + +...or to regenerate the language font data for a specific language: + +```bash +MARLIN_LANGS="zh_TW" ../buildroot/share/fonts/genallfont.sh ./newfont.bdf +``` + +### Suggestions for Maintainers + +The tool and the language engine can be easily updated. Since it uses common bitmap font files and UTF-8 text, the maintainer needs to confirm that the font contains the glyphs in the language files. + +At this time, the font file `marlin-6x12-3.bdf` is used to generate the font data. It combines all of Marlin's ISO10646-1 fonts and the 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](http://marlinfw.org/docs/development/lcd_language.html) +- [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) diff --git a/buildroot/share/fonts/uxggenpages.sh b/buildroot/share/fonts/uxggenpages.sh new file mode 100755 index 000000000000..6cf6c4976959 --- /dev/null +++ b/buildroot/share/fonts/uxggenpages.sh @@ -0,0 +1,174 @@ +#!/usr/bin/env bash + +##################################################################### +# genpages.sh for u8g +# +# This script will generate u8g c files for specified fonts +# +# Copyright 2015-2018 Yunhui Fu +# License: GPL/BSD +##################################################################### + +my_getpath() { + local PARAM_DN="$1" + shift + + #readlink -f + local DN="${PARAM_DN}" + local 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 -n "${DN}" + [[ -z "$FN" ]] || echo -n "/${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") ) + +##################################################################### + +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 u8glib/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="marlin-6x12-3" +#FN_FONT_BASE=unifont +#FN_FONT_BASE=wenquanyi_12pt +#FN_FONT_BASE=wenquanyi_9pt + +FN_FONT="${1:-}" +DN_FONT0=`dirname ${FN_FONT}` +DN_FONT="$(my_getpath ${DN_FONT0})" +FN_FONT="$(my_getpath "${DN_FONT}")/"`basename ${FN_FONT}` +[ -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" +[ -f "${FN_FONT}" ] || FN_FONT="$FONTHOME/misc/${FN_FONT_BASE}.bdf" +#echo "uxggenpages.sh: FN_FONT=${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 +touch tmpa tmpb +#rm -f ${DN_EXEC}/fontpage_*.h +rm -f fontpage_*.h + +cat << EOF >"proc.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 "proc.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 ; + 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 + +TMPA=$(cat tmpa) +TMPB=$(cat tmpb) + +EOL=$'\n' +[[ ! "$TMPA" == "" ]] && TMPA="$EOL$TMPA$EOL" +[[ ! "$TMPB" == "" ]] && TMPB="$EOL$TMPB$EOL" + +rm -f tmpa tmpb "proc.awk" + +cat <fontutf8-data.h +/** + * Generated automatically by buildroot/share/fonts/uxggenpages.sh + * Contents will be REPLACED by future processing! + * Use genallfont.sh to generate font data for updated languages. + */ +#include +$TMPA +#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data} +static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {$TMPB}; +EOF diff --git a/buildroot/share/sublime/MarlinFirmware.sublime-project b/buildroot/share/sublime/MarlinFirmware.sublime-project index 50747949b542..e4e362cd1670 100644 --- a/buildroot/share/sublime/MarlinFirmware.sublime-project +++ b/buildroot/share/sublime/MarlinFirmware.sublime-project @@ -14,7 +14,9 @@ "folder_exclude_patterns": [ ".pio*", + "MarlinFirmware/lib", "Marlin/lib", + "src/lib", "datatmp", "Marlin/*/src", ".vscode" diff --git a/buildroot/share/sublime/RepRapTools/G-Code.sublime-syntax b/buildroot/share/sublime/RepRapTools/G-Code.sublime-syntax new file mode 100644 index 000000000000..ab1b49971057 --- /dev/null +++ b/buildroot/share/sublime/RepRapTools/G-Code.sublime-syntax @@ -0,0 +1,149 @@ +%YAML 1.2 +--- +# +# G-Code (RepRap, not ISO-6983) +# +# RapRap G-Code is very simple. +# +# TODO: Lines that start with N get a different context, accepting a checksum. +# +name: G-Code (RepRap) +file_extensions: + - [ gco, gcode ] +scope: source.gcode +variables: + decimal: '[+-]?\d+(\.(\d+)?)?' + +contexts: + prototype: + - match: \s+ + + - include: mixin_comment + + - match: $ + pop: true + + main: + - meta_content_scope: ctx.line.gcode + + - match: '([Nn]\s*(\d+))' + captures: + 1: ctx.gcode_line_num + 2: constant.numeric.line-number.gcode + + - match: () + set: gcode_command + + # G, M, or T command + gcode_command: + - meta_content_scope: ctx.command.gcode + + # M20 S2 P/path/to/file/name.gco + - match: ([Mm](20))(\s*(S)(2)\s*(P)) + captures: + 1: entity.command.gcode markup.bold.gcode + 2: constant.numeric.command.gcode + 3: ctx.params.gcode + 4: keyword.param.gcode + 5: constant.numeric.param.gcode + 6: keyword.param.gcode + set: gcode_string_arg + + # command followed by data + - match: ([Mm]\s*(11[78]))\b + captures: + 1: entity.command.gcode markup.bold.gcode + 2: constant.numeric.command.gcode + set: gcode_string_arg + + # command followed by data + - match: '([GMTgmt]\s*(\d+)((\.)(\d+))?)' + captures: + 1: entity.command.gcode markup.bold.gcode + 2: constant.numeric.command.gcode + 4: entity.separator.subcode + 5: constant.numeric.subcode + set: gcode_params + + - match: () + set: syntax_error + + # Parameters of a command + gcode_params: + - meta_content_scope: ctx.params.gcode + + # M32 [S] [P] !/path/file.gco# + - match: '!' + scope: entity.string.filename.open + push: gcode_path_arg + + # asterisk starts a checksum + - match: \* + scope: entity.checksum.gcode + set: gcode_checksum + + # parameter and value + - match: ([A-Za-z])\s*({{decimal}}) + captures: + 1: keyword.param.gcode + 2: constant.numeric.param.gcode + + # parameter with no value + - match: '[A-Za-z]' + scope: keyword.param.gcode + set: gcode_params + + - match: () + set: syntax_error + + gcode_string_arg: + - meta_content_scope: ctx.string.gcode + + - match: ([^;]+) + scope: string.unquoted.gcode + + gcode_path_arg: + - meta_content_scope: ctx.path.gcode + + - match: ([^#]+) + scope: string.unquoted.path.gcode + + - match: (#) + scope: entity.string.path.close.gcode + pop: true + + gcode_checksum: + - meta_content_scope: ctx.checksum.gcode + + - match: \d+ + scope: constant.numeric.checksum.gcode + + - match: () + set: syntax_error + + # Done interpreting to the end of the line + gcode_line_done: + - match: \s*$ + pop: true + + # Comments begin with a ';' and finish at the end of the line. + mixin_comment: + - match: ^\s*; + scope: punctuation.definition.comment.line.start + set: gcode_comment + - match: \s*; + scope: punctuation.definition.comment.eol.start + set: gcode_comment + + # Comment to end of line. + gcode_comment: + - meta_scope: comment.gcode + - match: \s*$ + pop: true + + # Everything after this point is broken by a syntax error + syntax_error: + - meta_scope: invalid.error.syntax.gcode + + - match: .*$ + pop: true diff --git a/buildroot/share/sublime/auto_build_sublime_menu/000_read_me.txt b/buildroot/share/sublime/auto_build_sublime_menu/000_read_me.txt new file mode 100644 index 000000000000..58539779116f --- /dev/null +++ b/buildroot/share/sublime/auto_build_sublime_menu/000_read_me.txt @@ -0,0 +1,40 @@ +Overview: +1) Install Sublime +2) Install Deviot (?optional?) +3) Install WebDevShell (this will execute the auto-build script) +4) Copy the menu configuration to the proper Sublime directory +5) Add platformio to your path (usually not needed) + + +Sublime with autobuild + Tools + Install Package Control + Tools + Command Palette + Package Control: Install Package + type in deviot and click on it + Tools + Command Palette + Package Control: Install Package + type in WebDevShell and click on it + + in Sublime, open Marlin directory with "platformio.ini" in it + + starting in the top level directory, go to the folder "Buildroot/shared/Sublime" + copy the folder "auto_build_sublime_menu" and contents to: + Windows + \Users\your_user_name\AppData\Roaming\Sublime Text 3\Packages + Linux + /home/your_user_name/.config/sublime-text-3/Packages/User + macOS (Click on the Finder's 'Go' menu and hold down Option to open...) + ~/Library/Application Support/Sublime Text 3/Packages/User + +The menu should now be visible + +If you get an error message that says "file not found" and "subprocess.Popen(['platformio' ... " +then you'll need to add platformio to your path. + macOS + sudo nano /etc/paths + add these to the bottom + /Users/bob/.platformio + /Users/bob/.platformio/penv/bin diff --git a/buildroot/share/sublime/auto_build_sublime_menu/Main.sublime-menu b/buildroot/share/sublime/auto_build_sublime_menu/Main.sublime-menu new file mode 100644 index 000000000000..b1c34930b435 --- /dev/null +++ b/buildroot/share/sublime/auto_build_sublime_menu/Main.sublime-menu @@ -0,0 +1,66 @@ +[ + + { + "caption": "Auto Build", + "children": [ + { + "caption": "PIO Build", + "command": "webdevshell", + "args": { + "command": "python buildroot/share/atom/auto_build.py build" + } + }, + { + "caption": "PIO Clean", + "command": "webdevshell", + "args": { + "command": "python buildroot/share/atom/auto_build.py clean" + } + }, + { + "caption": "PIO Upload", + "command": "webdevshell", + "args": { + "command": "python buildroot/share/atom/auto_build.py upload" + } + }, + { + "caption": "PIO Upload (traceback)", + "command": "webdevshell", + "args": { + "command": "python buildroot/share/atom/auto_build.py traceback" + } + }, + { + "caption": "PIO Upload using Programmer", + "command": "webdevshell", + "args": { + "command": "python buildroot/share/atom/auto_build.py program" + } + }, + { + "caption": "PIO Test", + "command": "webdevshell", + "args": { + "command": "python buildroot/share/atom/auto_build.py test" + } + }, + { + "caption": "PIO Debug", + "command": "webdevshell", + "args": { + "command": "python buildroot/share/atom/auto_build.py debug" + } + }, + { + "caption": "PIO Remote", + "command": "webdevshell", + "args": { + "command": "python buildroot/share/atom/auto_build.py remote" + } + } + ], + "id": "AutoBuild", + "mnemonic": "A" + } +] \ No newline at end of file diff --git a/buildroot/share/tests/DUE_tests b/buildroot/share/tests/DUE_tests new file mode 100755 index 000000000000..7b172fe6abc5 --- /dev/null +++ b/buildroot/share/tests/DUE_tests @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +# exit on first failure +set -e + +restore_configs +opt_set MOTHERBOARD BOARD_RAMPS4DUE_EFB +opt_enable S_CURVE_ACCELERATION +opt_set E0_AUTO_FAN_PIN 8 +opt_set EXTRUDER_AUTO_FAN_SPEED 100 +exec_test $1 $2 "RAMPS4DUE_EFB S_CURVE_ACCELERATION" diff --git a/buildroot/share/tests/LPC1768_tests b/buildroot/share/tests/LPC1768_tests new file mode 100755 index 000000000000..07d891c61aa0 --- /dev/null +++ b/buildroot/share/tests/LPC1768_tests @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +# exit on first failure +set -e + +restore_configs +opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EFB +exec_test $1 $2 "Build Re-ARM Default Configuration" + +restore_configs +opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EFB +opt_enable VIKI2 SDSUPPORT +exec_test $1 $2 "VIKI2 and SDSUPPORT" + +restore_configs +opt_set MOTHERBOARD BOARD_MKS_SBASE +opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT +exec_test $1 $2 "MKS SBASE RRDFG SDSUPPORT" + +#clean up +restore_configs diff --git a/buildroot/share/tests/STM32F1_tests b/buildroot/share/tests/STM32F1_tests new file mode 100755 index 000000000000..0d1fd9099145 --- /dev/null +++ b/buildroot/share/tests/STM32F1_tests @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# exit on first failure +set -e + +restore_configs +opt_set MOTHERBOARD BOARD_STM32F1R +opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT +exec_test $1 $2 "STM32F1R EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT" + +#cleanup +restore_configs diff --git a/buildroot/share/tests/megaatmega2560_tests b/buildroot/share/tests/megaatmega2560_tests new file mode 100755 index 000000000000..faf7cd0af0f4 --- /dev/null +++ b/buildroot/share/tests/megaatmega2560_tests @@ -0,0 +1,315 @@ +#!/usr/bin/env bash + +# exit on first failure +set -e + +# +# Backup pins_RAMPS.h +# +cp Marlin/src/pins/pins_RAMPS.h Marlin/src/pins/pins_RAMPS.h.backup +# +# Build with the default configurations +# +restore_configs +exec_test $1 $2 "Default Configuration" +# +# Test 2 extruders (one MAX6675) and heated bed on basic RAMPS 1.4 +# Test a "Fix Mounted" Probe with Safe Homing, some arc options, +# linear bed leveling, M48, leveling debug, and firmware retraction. +# +opt_set MOTHERBOARD BOARD_RAMPS_14_EEB +opt_set EXTRUDERS 2 +opt_set TEMP_SENSOR_0 -2 +opt_set TEMP_SENSOR_1 1 +opt_set TEMP_SENSOR_BED 1 +opt_set POWER_SUPPLY 1 +opt_enable PIDTEMPBED FIX_MOUNTED_PROBE Z_SAFE_HOMING +opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS PINS_DEBUGGING +opt_enable BLINKM PCA9632 RGB_LED NEOPIXEL_LED AUTO_POWER_CONTROL NOZZLE_PARK_FEATURE FILAMENT_RUNOUT_SENSOR +opt_enable AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE +opt_enable_adv ARC_P_CIRCLES ADVANCED_PAUSE_FEATURE CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS POWER_LOSS_RECOVERY POWER_LOSS_PIN POWER_LOSS_STATE +opt_enable_adv FWRETRACT MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CODEPENDENT_XY_HOMING +opt_set GRID_MAX_POINTS_X 16 +opt_set_adv FANMUX0_PIN 53 +exec_test $1 $2 "Extruders(2) MAX6675 Fixed Probe etc" +# +# Test a probeless build of AUTO_BED_LEVELING_UBL, with lots of extruders +# +restore_configs +opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO +opt_set EXTRUDERS 5 +opt_set TEMP_SENSOR_1 1 +opt_set TEMP_SENSOR_2 5 +opt_set TEMP_SENSOR_3 20 +opt_set TEMP_SENSOR_4 999 +opt_set TEMP_SENSOR_BED 1 +opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 DEBUG_LEVELING_FEATURE G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT SKEW_CORRECTION +opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT +opt_enable_adv SDCARD_SORT_ALPHA STATUS_MESSAGE_SCROLLING SCROLL_LONG_FILENAMES LIGHTWEIGHT_UI +opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING BABYSTEP_XY LIN_ADVANCE NANODLP_Z_SYNC QUICK_HOME JUNCTION_DEVIATION +exec_test $1 $2 "Probeless build of AUTO_BED_LEVELING_UBL, with lots of extruders" +# +# Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language +# +opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE +opt_set LCD_LANGUAGE jp-kana +opt_disable SEGMENT_LEVELED_MOVES +opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING +exec_test $1 $2 "Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language" +# +# Test a Servo Probe +# ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES +# +restore_configs +opt_enable NUM_SERVOS Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE +opt_set NUM_SERVOS 1 +opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS EEPROM_CHITCHAT +opt_enable_adv NO_VOLUMETRICS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES AUTOTEMP G38_PROBE_TARGET +exec_test $1 $2 "Servo Probe with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS etc" +# +# Test MESH_BED_LEVELING feature, with LCD +# +restore_configs +opt_enable MESH_BED_LEVELING G26_MESH_EDITING MESH_G28_REST_ORIGIN LCD_BED_LEVELING ULTIMAKERCONTROLLER +exec_test $1 $2 "MESH_BED_LEVELING feature, with LCD" +# +# Test MINIRAMBO for PWM_MOTOR_CURRENT +# PROBE_MANUALLY feature, with LCD support, +# ULTIMAKERCONTROLLER, FILAMENT_LCD_DISPLAY, FILAMENT_WIDTH_SENSOR, +# PRINTCOUNTER, NOZZLE_PARK_FEATURE, NOZZLE_CLEAN_FEATURE, PCA9632, +# Z_DUAL_ENDSTOPS, BEZIER_CURVE_SUPPORT, EXPERIMENTAL_I2CBUS, +# ADVANCED_PAUSE_FEATURE, ADVANCED_PAUSE_CONTINUOUS_PURGE, PARK_HEAD_ON_PAUSE, LCD_INFO_MENU, +# EEPROM_SETTINGS, EEPROM_CHITCHAT, M100_FREE_MEMORY_WATCHER, +# INCH_MODE_SUPPORT, TEMPERATURE_UNITS_SUPPORT +# +restore_configs +opt_set MOTHERBOARD BOARD_MINIRAMBO +opt_enable PROBE_MANUALLY AUTO_BED_LEVELING_BILINEAR G26_MESH_EDITING LCD_BED_LEVELING ULTIMAKERCONTROLLER +opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT M100_FREE_MEMORY_WATCHER M100_FREE_MEMORY_DUMPER M100_FREE_MEMORY_CORRUPTOR INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT +opt_enable ULTIMAKERCONTROLLER SDSUPPORT +opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PCA9632 +opt_enable_adv BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS +opt_enable_adv ADVANCED_PAUSE_FEATURE ADVANCED_PAUSE_CONTINUOUS_PURGE FILAMENT_LOAD_UNLOAD_GCODES PARK_HEAD_ON_PAUSE LCD_INFO_MENU M114_DETAIL +opt_set_adv PWM_MOTOR_CURRENT {1300,1300,1250} +opt_set_adv I2C_SLAVE_ADDRESS 63 +exec_test $1 $2 "MINIRAMBO for PWM_MOTOR_CURRENT etc" +# +# Mixing Extruder with 5 steppers, Cyrillic +# +restore_configs +opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO +opt_enable MIXING_EXTRUDER CR10_STOCKDISPLAY +opt_set MIXING_STEPPERS 5 +opt_set LCD_LANGUAGE ru +exec_test $1 $2 "Mixing Extruder with 5 steppers, Cyrillic" +# +# Test DUAL_X_CARRIAGE +# +restore_configs +opt_set MOTHERBOARD BOARD_RUMBA +opt_set EXTRUDERS 2 +opt_set TEMP_SENSOR_1 1 +opt_enable USE_XMAX_PLUG +opt_enable_adv DUAL_X_CARRIAGE +exec_test $1 $2 "DUAL_X_CARRIAGE" +# +# Test SPEAKER with BOARD_BQ_ZUM_MEGA_3D and BQ_LCD_SMART_CONTROLLER +# +#restore_configs +#opt_set MOTHERBOARD BOARD_BQ_ZUM_MEGA_3D +#opt_set LCD_FEEDBACK_FREQUENCY_DURATION_MS 10 +#opt_set LCD_FEEDBACK_FREQUENCY_HZ 100 +#opt_enable BQ_LCD_SMART_CONTROLLER SPEAKER +# +# Test SWITCHING_EXTRUDER +# +restore_configs +opt_set MOTHERBOARD BOARD_RUMBA +opt_set EXTRUDERS 2 +opt_enable NUM_SERVOS +opt_set NUM_SERVOS 1 +opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER +exec_test $1 $2 "SWITCHING_EXTRUDER" +# +# Enable COREXY +# +#restore_configs +#opt_enable COREXY +#exec_test $1 $2 "Stuff" +# +# Test many less common options +# +restore_configs +opt_enable COREYX +opt_set_adv FAN_MIN_PWM 50 +opt_set_adv FAN_KICKSTART_TIME 100 +opt_set_adv XY_FREQUENCY_LIMIT 15 +opt_enable_adv SHOW_TEMP_ADC_VALUES HOME_Y_BEFORE_X EMERGENCY_PARSER FAN_KICKSTART_TIME +opt_enable_adv ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED ADVANCED_OK +opt_enable_adv VOLUMETRIC_DEFAULT_ON NO_WORKSPACE_OFFSETS ACTION_ON_KILL +opt_enable_adv EXTRA_FAN_SPEED FWERETRACT Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS +opt_enable_adv MENU_ADDAUTOSTART SDCARD_SORT_ALPHA +opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER BABYSTEPPING DAC_MOTOR_CURRENT_DEFAULT +opt_enable FILAMENT_LCD_DISPLAY FILAMENT_WIDTH_SENSOR +opt_enable ENDSTOP_INTERRUPTS_FEATURE FAN_SOFT_PWM SDSUPPORT +opt_enable USE_XMAX_PLUG +exec_test $1 $2 "Many less common options" +# +######## Other Standard LCD/Panels ############## +# +# ULTRA_LCD +# +#restore_configs +#opt_enable ULTRA_LCD +#exec_test $1 $2 "Stuff" +# +# DOGLCD +# +#restore_configs +#opt_enable DOGLCD +#exec_test $1 $2 "Stuff" +# +# MAKRPANEL +# Needs to use Melzi and Sanguino hardware +# +#restore_configs +#opt_enable MAKRPANEL +#exec_test $1 $2 "Stuff" +# +# REPRAP_DISCOUNT_SMART_CONTROLLER, SDSUPPORT, BABYSTEPPING, RIGIDBOARD_V2, and DAC_MOTOR_CURRENT_DEFAULT +# +#restore_configs +#opt_set MOTHERBOARD BOARD_RIGIDBOARD_V2 +#opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT BABYSTEPPING DAC_MOTOR_CURRENT_DEFAULT +#exec_test $1 $2 "Stuff" +# # +# G3D_PANEL with SDCARD_SORT_ALPHA and STATUS_MESSAGE_SCROLLING +# +#restore_configs +#opt_enable G3D_PANEL SDSUPPORT +#opt_enable_adv SDCARD_SORT_ALPHA STATUS_MESSAGE_SCROLLING SCROLL_LONG_FILENAMES +#opt_set_adv SDSORT_GCODE true +#opt_set_adv SDSORT_USES_RAM true +#opt_set_adv SDSORT_USES_STACK true +#opt_set_adv SDSORT_CACHE_NAMES true +#exec_test $1 $2 "Stuff" +# +# Test a full-featured CR-10S config +# +use_example_configs Creality/CR-10S +opt_enable SHOW_CUSTOM_BOOTSCREEN +exec_test $1 $2 "Full-featured CR-10S config" +# +# REPRAPWORLD_KEYPAD +# +# Cant find configuration details to get it to compile +#restore_configs +#opt_enable ULTRA_LCD REPRAPWORLD_KEYPAD REPRAPWORLD_KEYPAD_MOVE_STEP +#exec_test $1 $2 "Stuff" +# +# RA_CONTROL_PANEL +# +#restore_configs +#opt_enable RA_CONTROL_PANEL PINS_DEBUGGING +#exec_test $1 $2 "Stuff" +# +######## I2C LCD/PANELS ############## +# +# !!!ATTENTION!!! +# Most I2C configurations are failing at the moment because they require +# a different Liquid Crystal library "LiquidTWI2". +# +# LCD_SAINSMART_I2C_1602 +# +#restore_configs +#opt_enable LCD_SAINSMART_I2C_1602 +#exec_test $1 $2 "Stuff" +# +# LCD_I2C_PANELOLU2 +# +#restore_configs +#opt_enable LCD_I2C_PANELOLU2 +#exec_test $1 $2 "Stuff" +# +# LCD_I2C_VIKI +# +#restore_configs +#opt_enable LCD_I2C_VIKI +#exec_test $1 $2 "Stuff" +# +# LCM1602 +# +#restore_configs +#opt_enable LCM1602 +#exec_test $1 $2 "Stuff" +# +# 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 ..."; exec_test $1 $2 "Stuff"; 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 ..."; exec_test $1 $2 "Stuff"; done +# +# +######## Example Configurations ############## +# +# BQ Hephestos 2 +#restore_configs +#use_example_configs Hephestos_2 +#exec_test $1 $2 "Stuff" +# +# Delta Config (generic) + ABL bilinear + PROBE_MANUALLY +use_example_configs delta/generic +opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER DELTA_CALIBRATION_MENU AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY +exec_test $1 $2 "Delta Config (generic) + ABL bilinear + PROBE_MANUALLY" +# +# Delta Config (generic) + UBL + ALLEN_KEY + OLED_PANEL_TINYBOY2 + EEPROM_SETTINGS +# +use_example_configs delta/generic +opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 Z_PROBE_ALLEN_KEY EEPROM_SETTINGS EEPROM_CHITCHAT +opt_enable OLED_PANEL_TINYBOY2 MESH_EDIT_GFX_OVERLAY +exec_test $1 $2 "Delta Config (generic) + UBL + ALLEN_KEY + OLED_PANEL_TINYBOY2 + EEPROM_SETTINGS" +# +# Delta Config (FLSUN AC because it's complex) +# +use_example_configs delta/FLSUN/auto_calibrate +exec_test $1 $2 "Delta Config (FLSUN AC because it's complex)" +# +# Makibox Config need to check board type for Teensy++ 2.0 +# +#use_example_configs makibox +#exec_test $1 $2 "Stuff" +# +# SCARA with TMC2130 +# +use_example_configs SCARA +opt_enable AUTO_BED_LEVELING_BILINEAR FIX_MOUNTED_PROBE USE_ZMIN_PLUG EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER +opt_set X_DRIVER_TYPE TMC2130 +opt_set Y_DRIVER_TYPE TMC2130 +opt_set Z_DRIVER_TYPE TMC2130 +opt_set E0_DRIVER_TYPE TMC2130 +opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD SENSORLESS_HOMING +exec_test $1 $2 "SCARA with TMC2130" +# +# TMC2208 Config +# +restore_configs +opt_set X_DRIVER_TYPE TMC2208 +opt_set Y_DRIVER_TYPE TMC2208 +opt_set Z_DRIVER_TYPE TMC2208 +opt_set E0_DRIVER_TYPE TMC2208 +opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD TMC_DEBUG +exec_test $1 $2 "TMC2208 Config" +# +# tvrrug Config need to check board type for sanguino atmega644p +# +#use_example_configs tvrrug/Round2 +#exec_test $1 $2 "Stuff" +# +# + +#clean up +restore_configs diff --git a/buildroot/share/tests/start_tests b/buildroot/share/tests/start_tests new file mode 100755 index 000000000000..83d33f91c7fb --- /dev/null +++ b/buildroot/share/tests/start_tests @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +export PATH="$PATH:$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )" +export PATH="$PATH:./buildroot/bin" + +# exit on first failure +set -e + +exec_test () { + printf "\033[0;32m[Test $2] \033[0m$3... " + if build_marlin_pio $1 "-e $2"; then + printf "\033[0;32mPassed\033[0m\n" + return 0 + else + env_restore + printf "\033[0;31mFailed!\033[0m\n" + return 1 + fi +} +export -f exec_test + +env_backup +printf "Running \033[0;32m$2\033[0m Tests\n" +if [ $2 = "ALL" ]; then + dir_list=("$(dirname "${BASH_SOURCE[0]}")"/*) + declare -a tests=(${dir_list[@]/*start_tests/}) + for f in "${tests[@]}"; do + testenv=$(basename $f | cut -d"_" -f1) + printf "Running \033[0;32m$f\033[0m Tests\n" + exec_test $1 "$testenv --target clean" "Setup Build Environment" + $f $1 $testenv + done +else + exec_test $1 "$2 --target clean" "Setup Build Environment" + $2_tests $1 $2 +fi +printf "\033[0;32mAll tests completed successfully\033[0m\n" +env_restore diff --git a/buildroot/share/tests/teensy35_tests b/buildroot/share/tests/teensy35_tests new file mode 100755 index 000000000000..51930dd84040 --- /dev/null +++ b/buildroot/share/tests/teensy35_tests @@ -0,0 +1,96 @@ +#!/usr/bin/env bash + +# exit on first failure +set -e + +restore_configs +opt_set MOTHERBOARD BOARD_TEENSY35_36 +cp Marlin/src/pins/pins_RAMPS.h Marlin/src/pins/pins_RAMPS.h.backup +# +# Test Teensy3.5 with default config +# +exec_test $1 $2 "Teensy3.5 with default config" +# +# Test as many features together as possible +# +restore_configs +opt_set EXTRUDERS 2 +opt_set TEMP_SENSOR_0 1 +opt_set TEMP_SENSOR_1 5 +opt_set TEMP_SENSOR_BED 1 +opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT +opt_enable FILAMENT_WIDTH_SENSOR FILAMENT_LCD_DISPLAY +opt_enable FIX_MOUNTED_PROBE Z_SAFE_HOMING AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE +opt_enable BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET BABYSTEP_ZPROBE_GFX_OVERLAY +opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT M100_FREE_MEMORY_WATCHER +opt_enable_adv ADVANCED_PAUSE_FEATURE LCD_INFO_MENU ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES SDCARD_SORT_ALPHA PARK_HEAD_ON_PAUSE +opt_set_adv I2C_SLAVE_ADDRESS 63 +opt_set GRID_MAX_POINTS_X 16 +exec_test $1 $2 "As many features together as possible" +# +# Test a Sled Z Probe with Linear leveling +# +restore_configs +opt_enable Z_PROBE_SLED +opt_enable AUTO_BED_LEVELING_LINEAR DEBUG_LEVELING_FEATURE EEPROM_SETTINGS +exec_test $1 $2 "Sled Z Probe with Linear leveling" +# +# Test a Servo Probe +# +restore_configs +opt_enable NUM_SERVOS Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE +opt_set NUM_SERVOS 1 +opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS +exec_test $1 $2 "Servo Probe" +# +# ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES +# +opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS +opt_enable_adv EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES +exec_test $1 $2 "...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES" +# +# Test MESH_BED_LEVELING feature, with LCD +# +restore_configs +opt_enable MESH_BED_LEVELING MESH_G28_REST_ORIGIN MANUAL_BED_LEVELING ULTIMAKERCONTROLLER +exec_test $1 $2 "MESH_BED_LEVELING feature, with LCD" +# +# Mixing Extruder +# +restore_configs +opt_enable MIXING_EXTRUDER DIRECT_MIXING_IN_G1 +opt_set MIXING_STEPPERS 2 +exec_test $1 $2 "Mixing Extruder" +# +# Test SWITCHING_EXTRUDER +# +restore_configs +opt_set EXTRUDERS 2 +opt_enable NUM_SERVOS +opt_set NUM_SERVOS 1 +opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER +exec_test $1 $2 "SWITCHING_EXTRUDER" +# +# Enable COREXY +# +restore_configs +opt_enable COREXY +exec_test $1 $2 "COREXY" +# +# Enable COREXZ +# +restore_configs +opt_enable COREXZ +exec_test $1 $2 "COREXZ" +# +# Enable Z_DUAL_STEPPER_DRIVERS, Z_DUAL_ENDSTOPS +# +restore_configs +opt_enable_adv Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS +pins_set RAMPS X_MAX_PIN -1 +opt_add_adv Z2_MAX_PIN 2 +opt_enable USE_XMAX_PLUG +exec_test $1 $2 "Z_DUAL_STEPPER_DRIVERS, Z_DUAL_ENDSTOPS" + +#cleanup +restore_configs diff --git a/buildroot/share/vscode/AutoBuildMarlin/.gitignore b/buildroot/share/vscode/AutoBuildMarlin/.gitignore new file mode 100644 index 000000000000..5df8049bff2c --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/.gitignore @@ -0,0 +1,2 @@ +out +node_modules diff --git a/buildroot/share/vscode/AutoBuildMarlin/.vscodeignore b/buildroot/share/vscode/AutoBuildMarlin/.vscodeignore new file mode 100644 index 000000000000..5ff3c19320f6 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/.vscodeignore @@ -0,0 +1,9 @@ +.vscode/** +.vscode-test/** +out/test/** +test/** +src/** +**/*.map +.gitignore +tsconfig.json +vsc-extension-quickstart.md diff --git a/buildroot/share/vscode/AutoBuildMarlin/README.md b/buildroot/share/vscode/AutoBuildMarlin/README.md new file mode 100644 index 000000000000..e3e9323f527a --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/README.md @@ -0,0 +1,52 @@ +# Auto Build support for Visual Studio Code +This `Visual Studio Code` extension provides access to the `Auto Build` script. + +## Installation + +Get the MarlinFirmware repository from GitHub. Open the directory `buildroot/share/vscode` and copy the `AutoBuildMarlin` folder to the `Visual Studio Code` extension directory. Relaunch `Visual Studio Code` to complete the installation. + +To find the `Visual Studio Code` extension directory: + +- Windows - Use Windows Explorer's address bar to open `C:/Users/USERNAME/.vscode/extensions`. +- Mac - Use the Finder's `Go` menu to open `~/.vscode/extensions`. +- Linux - In the Terminal type `open ~/.vscode/extensions`. + +### 3. Install the PlatformIO extension +Click on `View` > `Command Palette...` + +![](./resources/view_command_palette.png) + +Find and click on `Extensions: Install Extensions` + +![](./resources/install_extensions.png) + +Type `platformio` into the search box and click on `Install` under `PlatformIO IDE`. + +![](./resources/platformio_install.png) + +## Usage + +This extension adds the Auto Build icon ![](./media/AB.svg) to the Activities bar. + +### 1. Open the Marlin folder +Click on `File` > `Open Folder...` + +![](./resources/Open_Folder.png) + +This brings up the `Open Folder` dialog. Select the folder that has the `platformio.ini` file in it. + +![](./resources/Open_Marlin.png) + +You should see something like the following. If not, click on the Explorer icon in the Activities bar. + +![](./resources/Activity_bar.png) + +### 2. Click on the Auto Build Icon ![](./media/AB.svg) +This brings up the Auto Build menu icon bar. +![](./resources/AB_menu.png) + +### 3. Click on one of the four icons +- ![](./resources/B_small.svg) - Clicking on it starts `PIO Build` +- ![](./resources/C_small.svg) - Clicking on it starts `PIO Clean` +- ![](./resources/U_small.svg) - Clicking on it starts `PIO Upload` +- ![](./resources/Ut_small.svg) - Clicking on it starts `PIO Upload (traceback)` diff --git a/buildroot/share/vscode/AutoBuildMarlin/extension.js b/buildroot/share/vscode/AutoBuildMarlin/extension.js new file mode 100644 index 000000000000..8277517955e6 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/extension.js @@ -0,0 +1,37 @@ +'use strict'; + +var vscode = require('vscode'); + +function activate(context) { + + console.log('Extension "AutoBuildMarlin" is now active!'); + + var NEXT_TERM_ID = 1; + var pio_build = vscode.commands.registerCommand('piobuild', function () { + const terminal = vscode.window.createTerminal(`#${NEXT_TERM_ID++}`); + terminal.sendText("python buildroot/share/atom/auto_build.py build"); + }); + var pio_clean = vscode.commands.registerCommand('pioclean', function () { + const terminal = vscode.window.createTerminal(`#${NEXT_TERM_ID++}`); + terminal.sendText("python buildroot/share/atom/auto_build.py clean"); + }); + var pio_upload = vscode.commands.registerCommand('pioupload', function () { + const terminal = vscode.window.createTerminal(`#${NEXT_TERM_ID++}`); + terminal.sendText("python buildroot/share/atom/auto_build.py upload"); + }); + var pio_traceback = vscode.commands.registerCommand('piotraceback', function () { + const terminal = vscode.window.createTerminal(`#${NEXT_TERM_ID++}`); + terminal.sendText("python buildroot/share/atom/auto_build.py traceback"); + }); + + context.subscriptions.push(pio_build); + context.subscriptions.push(pio_clean); + context.subscriptions.push(pio_upload); + context.subscriptions.push(pio_traceback); +} +exports.activate = activate; + +// this method is called when your extension is deactivated +function deactivate() { +} +exports.deactivate = deactivate; diff --git a/buildroot/share/vscode/AutoBuildMarlin/media/AB.svg b/buildroot/share/vscode/AutoBuildMarlin/media/AB.svg new file mode 100644 index 000000000000..ac6dbb8a9af4 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/media/AB.svg @@ -0,0 +1,12 @@ + + + VScode view icon + + Layer 2 + AB + + + Layer 1 + + + \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/package-lock.json b/buildroot/share/vscode/AutoBuildMarlin/package-lock.json new file mode 100644 index 000000000000..69338349843a --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/package-lock.json @@ -0,0 +1,3323 @@ +{ + "name": "auto-build", + "version": "0.1.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/mocha": { + "version": "2.2.48", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.48.tgz", + "integrity": "sha512-nlK/iyETgafGli8Zh9zJVCTicvU3iajSkRwOh3Hhiva598CMqNJ4NcVCGMTGKpGpTYj/9R8RLzS9NAykSSCqGw==", + "dev": true + }, + "@types/node": { + "version": "7.0.65", + "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.65.tgz", + "integrity": "sha512-iUdyWWikcQnGvIZnYh5ZxnxeREykndA9+iGdo068NGNutibWknDjmmNMq/8cnS1eaTCcgqJsPsFppw3XJWNlUg==", + "dev": true + }, + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "block-stream": { + "version": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "gulp-remote-src-vscode": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/gulp-remote-src-vscode/-/gulp-remote-src-vscode-0.5.0.tgz", + "integrity": "sha512-/9vtSk9eI9DEWCqzGieglPqmx0WUQ9pwPHyHFpKmfxqdgqGJC2l0vFMdYs54hLdDsMDEZFLDL2J4ikjc4hQ5HQ==", + "dev": true, + "requires": { + "event-stream": "3.3.4", + "node.extend": "1.1.6", + "request": "2.85.0", + "through2": "2.0.3", + "vinyl": "2.1.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", + "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "process-nextick-args": "2.0.0", + "readable-stream": "2.3.6" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "dev": true, + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "event-stream": { + "version": "3.3.4", + "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "requires": { + "duplexer": "0.1.1", + "from": "0.1.7", + "map-stream": "0.1.0", + "pause-stream": "0.0.11", + "split": "0.3.3", + "stream-combiner": "0.0.4", + "through": "2.3.8" + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "is": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz", + "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "node.extend": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/node.extend/-/node.extend-1.1.6.tgz", + "integrity": "sha1-p7iCyC1sk6SGOlUEvV3o7IYli5Y=", + "dev": true, + "requires": { + "is": "3.2.1" + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "2.3.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "request": { + "version": "2.85.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", + "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "stringstream": "0.0.5", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2.3.8" + } + }, + "sshpk": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + } + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "0.1.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "vinyl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz", + "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=", + "dev": true, + "requires": { + "clone": "2.1.1", + "clone-buffer": "1.0.0", + "clone-stats": "1.0.0", + "cloneable-readable": "1.1.2", + "remove-trailing-separator": "1.1.0", + "replace-ext": "1.0.0" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + }, + "dependencies": { + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "inherits": { + "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.0" + } + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "requires": { + "ansi-cyan": "0.1.1", + "ansi-red": "0.1.1", + "arr-diff": "1.1.0", + "arr-union": "2.1.0", + "extend-shallow": "1.1.4" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-slice": "0.2.3" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "requires": { + "kind-of": "1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true + } + } + }, + "querystringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", + "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "tslib": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.2.tgz", + "integrity": "sha512-AVP5Xol3WivEr7hnssHDsaM+lVrVXWUvd1cfXTRkTj80b//6g2wIFEH6hZG0muGZRnHGrfttpdzRk3YlBkWjKw==", + "dev": true + }, + "tslint": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.10.0.tgz", + "integrity": "sha1-EeJrzLiK+gLdDZlWyuPUVAtfVMM=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "builtin-modules": "1.1.1", + "chalk": "2.4.1", + "commander": "2.15.1", + "diff": "3.5.0", + "glob": "7.1.2", + "js-yaml": "3.12.0", + "minimatch": "3.0.4", + "resolve": "1.7.1", + "semver": "5.5.0", + "tslib": "1.9.2", + "tsutils": "2.27.1" + } + }, + "tsutils": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.27.1.tgz", + "integrity": "sha512-AE/7uzp32MmaHvNNFES85hhUDHFdFZp6OAiZcd6y4ZKKIg6orJTm8keYWBhIhrJQH3a4LzNKat7ZPXZt5aTf6w==", + "dev": true, + "requires": { + "tslib": "1.9.2" + } + }, + "typescript": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.8.3.tgz", + "integrity": "sha512-K7g15Bb6Ra4lKf7Iq2l/I5/En+hLIHmxWZGq3D4DIRNFxMNV6j2SHSvDOqs2tGd4UvD/fJvrwopzQXjLrT7Itw==", + "dev": true + }, + "url-parse": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.0.tgz", + "integrity": "sha512-ERuGxDiQ6Xw/agN4tuoCRbmwRuZP0cJ1lJxJubXr5Q/5cDa78+Dc4wfvtxzhzhkm5VvmW6Mf8EVj9SPGN4l8Lg==", + "dev": true, + "requires": { + "querystringify": "2.0.0", + "requires-port": "1.0.0" + } + }, + "vscode": { + "version": "1.1.17", + "resolved": "https://registry.npmjs.org/vscode/-/vscode-1.1.17.tgz", + "integrity": "sha512-yNMyrgEua2qyW7+trNNYhA6PeldRrBcwtLtlazkdtzcmkHMKECM/08bPF8HF2ZFuwHgD+8FQsdqd/DvJYQYjJg==", + "dev": true, + "requires": { + "glob": "7.1.2", + "gulp-chmod": "2.0.0", + "gulp-filter": "5.1.0", + "gulp-gunzip": "1.0.0", + "gulp-remote-src-vscode": "0.5.0", + "gulp-symdest": "1.1.0", + "gulp-untar": "0.0.6", + "gulp-vinyl-zip": "2.1.0", + "mocha": "4.1.0", + "request": "2.85.0", + "semver": "5.5.0", + "source-map-support": "0.5.5", + "url-parse": "1.4.0", + "vinyl-source-stream": "1.1.2" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", + "dev": true + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", + "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "process-nextick-args": "2.0.0", + "readable-stream": "2.3.6" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "dev": true, + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "dateformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", + "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-assign": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-1.0.0.tgz", + "integrity": "sha1-sJJ0O+hCfcYh6gBnzex+cN0Z83s=", + "dev": true, + "requires": { + "is-obj": "1.0.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "diff": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", + "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", + "dev": true + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "1.1.14" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "duplexify": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz", + "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "event-stream": { + "version": "3.3.4", + "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "requires": { + "duplexer": "0.1.1", + "from": "0.1.7", + "map-stream": "0.1.0", + "pause-stream": "0.0.11", + "split": "0.3.3", + "stream-combiner": "0.0.4", + "through": "2.3.8" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fancy-log": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", + "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", + "dev": true, + "requires": { + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "time-stamp": "1.1.0" + } + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "1.2.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "first-chunk-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + } + }, + "glob-stream": { + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", + "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", + "dev": true, + "requires": { + "extend": "3.0.1", + "glob": "5.0.15", + "glob-parent": "3.1.0", + "micromatch": "2.3.11", + "ordered-read-streams": "0.3.0", + "through2": "0.6.5", + "to-absolute-glob": "0.1.1", + "unique-stream": "2.2.1" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + } + } + } + }, + "glogg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", + "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", + "dev": true, + "requires": { + "sparkles": "1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "growl": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", + "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "dev": true + }, + "gulp-chmod": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gulp-chmod/-/gulp-chmod-2.0.0.tgz", + "integrity": "sha1-AMOQuSigeZslGsz2MaoJ4BzGKZw=", + "dev": true, + "requires": { + "deep-assign": "1.0.0", + "stat-mode": "0.2.2", + "through2": "2.0.3" + } + }, + "gulp-filter": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/gulp-filter/-/gulp-filter-5.1.0.tgz", + "integrity": "sha1-oF4Rr/sHz33PQafeHLe2OsN4PnM=", + "dev": true, + "requires": { + "multimatch": "2.1.0", + "plugin-error": "0.1.2", + "streamfilter": "1.0.7" + } + }, + "gulp-gunzip": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulp-gunzip/-/gulp-gunzip-1.0.0.tgz", + "integrity": "sha1-FbdBFF6Dqcb1CIYkG1fMWHHxUak=", + "dev": true, + "requires": { + "through2": "0.6.5", + "vinyl": "0.4.6" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + } + } + } + }, + "gulp-sourcemaps": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", + "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", + "dev": true, + "requires": { + "convert-source-map": "1.5.1", + "graceful-fs": "4.1.11", + "strip-bom": "2.0.0", + "through2": "2.0.3", + "vinyl": "1.2.0" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "dev": true, + "requires": { + "clone": "1.0.4", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulp-symdest": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/gulp-symdest/-/gulp-symdest-1.1.0.tgz", + "integrity": "sha1-wWUyBzLRks5W/ZQnH/oSMjS/KuA=", + "dev": true, + "requires": { + "event-stream": "3.3.4", + "mkdirp": "0.5.1", + "queue": "3.1.0", + "vinyl-fs": "2.4.4" + } + }, + "gulp-untar": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/gulp-untar/-/gulp-untar-0.0.6.tgz", + "integrity": "sha1-1r3v3n6ajgVMnxYjhaB4LEvnQAA=", + "dev": true, + "requires": { + "event-stream": "3.3.4", + "gulp-util": "3.0.8", + "streamifier": "0.1.1", + "tar": "2.2.1", + "through2": "2.0.3" + } + }, + "gulp-util": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", + "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-uniq": "1.0.3", + "beeper": "1.1.1", + "chalk": "1.1.3", + "dateformat": "2.2.0", + "fancy-log": "1.3.2", + "gulplog": "1.0.0", + "has-gulplog": "0.1.0", + "lodash._reescape": "3.0.0", + "lodash._reevaluate": "3.0.0", + "lodash._reinterpolate": "3.0.0", + "lodash.template": "3.6.2", + "minimist": "1.2.0", + "multipipe": "0.1.2", + "object-assign": "3.0.0", + "replace-ext": "0.0.1", + "through2": "2.0.3", + "vinyl": "0.5.3" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "1.0.4", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulp-vinyl-zip": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/gulp-vinyl-zip/-/gulp-vinyl-zip-2.1.0.tgz", + "integrity": "sha1-JOQGhdwFtxSZlSRQmeBZAmO+ja0=", + "dev": true, + "requires": { + "event-stream": "3.3.4", + "queue": "4.4.2", + "through2": "2.0.3", + "vinyl": "2.1.0", + "vinyl-fs": "2.4.4", + "yauzl": "2.9.1", + "yazl": "2.4.3" + }, + "dependencies": { + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "queue": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-4.4.2.tgz", + "integrity": "sha512-fSMRXbwhMwipcDZ08enW2vl+YDmAmhcNcr43sCJL8DIg+CFOsoRLG23ctxA+fwNk1w55SePSiS7oqQQSgQoVJQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "vinyl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz", + "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=", + "dev": true, + "requires": { + "clone": "2.1.1", + "clone-buffer": "1.0.0", + "clone-stats": "1.0.0", + "cloneable-readable": "1.1.2", + "remove-trailing-separator": "1.1.0", + "replace-ext": "1.0.0" + } + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "1.0.1" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "1.0.0" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-valid-glob": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", + "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "2.3.6" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "3.0.1" + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "3.0.1", + "lodash._basetostring": "3.0.1", + "lodash._basevalues": "3.0.0", + "lodash._isiterateecall": "3.0.9", + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0", + "lodash.keys": "3.1.2", + "lodash.restparam": "3.6.1", + "lodash.templatesettings": "3.1.1" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0" + } + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "dev": true, + "requires": { + "readable-stream": "2.3.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz", + "integrity": "sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==", + "dev": true, + "requires": { + "browser-stdout": "1.3.0", + "commander": "2.11.0", + "debug": "3.1.0", + "diff": "3.3.1", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.3", + "he": "1.1.1", + "mkdirp": "0.5.1", + "supports-color": "4.4.0" + }, + "dependencies": { + "supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" + } + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "ordered-read-streams": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", + "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", + "dev": true, + "requires": { + "is-stream": "1.1.0", + "readable-stream": "2.3.6" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "2.3.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "queue": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/queue/-/queue-3.1.0.tgz", + "integrity": "sha1-bEnQHwCeIlZ4h4nyv/rGuLmZBYU=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "request": { + "version": "2.85.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", + "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "stringstream": "0.0.5", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.5.tgz", + "integrity": "sha512-mR7/Nd5l1z6g99010shcXJiNEaf3fEtmLhRB/sBcQVJGodcHCULPp2y4Sfa43Kv2zq7T+Izmfp/WHCR6dYkQCA==", + "dev": true, + "requires": { + "buffer-from": "1.0.0", + "source-map": "0.6.1" + } + }, + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2.3.8" + } + }, + "sshpk": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + } + }, + "stat-mode": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", + "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", + "dev": true + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "0.1.1" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "streamfilter": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/streamfilter/-/streamfilter-1.0.7.tgz", + "integrity": "sha512-Gk6KZM+yNA1JpW0KzlZIhjo3EaBJDkYfXtYSbOwNIQ7Zd6006E6+sCFlW1NDvFG/vnXhKmw6TJJgiEQg/8lXfQ==", + "dev": true, + "requires": { + "readable-stream": "2.3.6" + } + }, + "streamifier": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/streamifier/-/streamifier-0.1.1.tgz", + "integrity": "sha1-l+mNj6TRBdYqJpHR3AfoINuN/E8=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-bom-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", + "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", + "dev": true, + "requires": { + "first-chunk-stream": "1.0.0", + "strip-bom": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + }, + "through2-filter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", + "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", + "dev": true, + "requires": { + "through2": "2.0.3", + "xtend": "4.0.1" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "to-absolute-glob": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", + "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1" + } + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "unique-stream": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", + "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", + "dev": true, + "requires": { + "json-stable-stringify": "1.0.1", + "through2-filter": "2.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true + }, + "vali-date": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", + "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "0.2.0", + "clone-stats": "0.0.1" + } + }, + "vinyl-fs": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", + "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", + "dev": true, + "requires": { + "duplexify": "3.5.4", + "glob-stream": "5.3.5", + "graceful-fs": "4.1.11", + "gulp-sourcemaps": "1.6.0", + "is-valid-glob": "0.3.0", + "lazystream": "1.0.0", + "lodash.isequal": "4.5.0", + "merge-stream": "1.0.1", + "mkdirp": "0.5.1", + "object-assign": "4.1.1", + "readable-stream": "2.3.6", + "strip-bom": "2.0.0", + "strip-bom-stream": "1.0.0", + "through2": "2.0.3", + "through2-filter": "2.0.0", + "vali-date": "1.0.0", + "vinyl": "1.2.0" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "dev": true, + "requires": { + "clone": "1.0.4", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "vinyl-source-stream": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vinyl-source-stream/-/vinyl-source-stream-1.1.2.tgz", + "integrity": "sha1-YrU6E1YQqJbpjKlr7jqH8Aio54A=", + "dev": true, + "requires": { + "through2": "2.0.3", + "vinyl": "0.4.6" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha1-qBmB6nCleUYTOIPwKcWCGok1mn8=", + "dev": true, + "requires": { + "buffer-crc32": "0.2.13", + "fd-slicer": "1.0.1" + } + }, + "yazl": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.4.3.tgz", + "integrity": "sha1-7CblzIfVYBud+EMtvdPNLlFzoHE=", + "dev": true, + "requires": { + "buffer-crc32": "0.2.13" + } + } + } + } + } +} diff --git a/buildroot/share/vscode/AutoBuildMarlin/package.json b/buildroot/share/vscode/AutoBuildMarlin/package.json new file mode 100644 index 000000000000..3bff1098d798 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/package.json @@ -0,0 +1,96 @@ +{ + "name": "auto-build", + "displayName": "Auto Build Marlin", + "description": "Auto Build Marlin for VS code", + "version": "0.1.0", + "publisher": "marlinfirmware", + "engines": { + "vscode": "^1.23.0" + }, + "enableProposedApi": true, + "categories": [ + "Other" + ], + "activationEvents": [ + "onCommand:piobuild", + "onCommand:pioclean", + "onCommand:pioupload", + "onCommand:piotraceback" + ], + "main": "./extension", + "contributes": { + "viewsContainers": { + "activitybar": [ + { + "id": "auto-build", + "title": "Auto Build Marlin", + "icon": "media/AB.svg" + } + ] + }, + "views": { + "auto-build": [ + { + "id": "autobuild", + "name": " " + } + ] + }, + "commands": [ + { + "command": "piobuild", + "title": "PIO Build", + "icon": "resources/B32x32_white.svg" + }, + { + "command": "pioclean", + "title": "PIO Clean", + "icon": "resources/C32x32_white.svg" + }, + { + "command": "pioupload", + "title": "PIO Upload", + "icon": "resources/U32x32_white.svg" + }, + { + "command": "piotraceback", + "title": "PIO Upload (traceback)", + "icon": "resources/Ut32x32_white.svg" + } + ], + "menus": { + "view/title": [ + { + "command": "piobuild", + "group": "navigation@1" + }, + { + "command": "pioclean", + "group": "navigation@2" + }, + { + "command": "pioupload", + "group": "navigation@3" + }, + { + "command": "piotraceback", + "group": "navigation@4" + } + ] + } + }, + "scripts": { + "vscode:prepublish": "npm run compile", + "compile": "tsc -p ./", + "watch": "tsc -watch -p ./", + "postinstall": "node ./node_modules/vscode/bin/install", + "test": "npm run compile && node ./node_modules/vscode/bin/test" + }, + "devDependencies": { + "vscode": "^1.1.17", + "typescript": "^2.6.1", + "tslint": "^5.8.0", + "@types/node": "^7.0.43", + "@types/mocha": "^2.2.42" + } +} diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/AB_menu.png b/buildroot/share/vscode/AutoBuildMarlin/resources/AB_menu.png new file mode 100644 index 000000000000..2cb282c918c6 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/resources/AB_menu.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Activity_bar.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Activity_bar.png new file mode 100644 index 000000000000..d78e2c82f4c8 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/resources/Activity_bar.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/B24x24_white.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/B24x24_white.svg new file mode 100644 index 000000000000..1d6c6672337c --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/B24x24_white.svg @@ -0,0 +1 @@ +B \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/B32x32_white.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/B32x32_white.svg new file mode 100644 index 000000000000..375b6f5f03a9 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/B32x32_white.svg @@ -0,0 +1 @@ +B \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/B_small.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/B_small.svg new file mode 100644 index 000000000000..c830b2713a91 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/B_small.svg @@ -0,0 +1 @@ +B \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Build.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Build.png new file mode 100644 index 000000000000..86ed4782bed6 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/resources/Build.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/C32x32_white.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/C32x32_white.svg new file mode 100644 index 000000000000..43f93ce040b6 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/C32x32_white.svg @@ -0,0 +1 @@ +C \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/C_small.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/C_small.svg new file mode 100644 index 000000000000..f8ee33d7ade6 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/C_small.svg @@ -0,0 +1 @@ +C \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Clean.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Clean.png new file mode 100644 index 000000000000..6ce41877a66c Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/resources/Clean.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Open_Folder.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Open_Folder.png new file mode 100644 index 000000000000..b8ae9ac90267 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/resources/Open_Folder.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Open_Marlin.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Open_Marlin.png new file mode 100644 index 000000000000..aa22232a8e5d Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/resources/Open_Marlin.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/T32x32_white.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/T32x32_white.svg new file mode 100644 index 000000000000..fb3e249e8d40 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/T32x32_white.svg @@ -0,0 +1 @@ +T \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Traceback.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Traceback.png new file mode 100644 index 000000000000..4ee9f976fb6a Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/resources/Traceback.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/U32x32_white.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/U32x32_white.svg new file mode 100644 index 000000000000..028c9e54743e --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/U32x32_white.svg @@ -0,0 +1 @@ +U \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/U_small.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/U_small.svg new file mode 100644 index 000000000000..eb3a431b9d36 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/U_small.svg @@ -0,0 +1 @@ +U \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Upload.png b/buildroot/share/vscode/AutoBuildMarlin/resources/Upload.png new file mode 100644 index 000000000000..8de383e5d104 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/resources/Upload.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Ut32x32_white.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/Ut32x32_white.svg new file mode 100644 index 000000000000..fc8858ea182a --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/Ut32x32_white.svg @@ -0,0 +1 @@ +Ut \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/Ut_small.svg b/buildroot/share/vscode/AutoBuildMarlin/resources/Ut_small.svg new file mode 100644 index 000000000000..accc458a4255 --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/resources/Ut_small.svg @@ -0,0 +1 @@ +Ut \ No newline at end of file diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/install_extensions.png b/buildroot/share/vscode/AutoBuildMarlin/resources/install_extensions.png new file mode 100644 index 000000000000..4904c1d758b8 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/resources/install_extensions.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/platformio_install.png b/buildroot/share/vscode/AutoBuildMarlin/resources/platformio_install.png new file mode 100644 index 000000000000..e1ff7fd3b352 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/resources/platformio_install.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/resources/view_command_palette.png b/buildroot/share/vscode/AutoBuildMarlin/resources/view_command_palette.png new file mode 100644 index 000000000000..6fa3e9b01629 Binary files /dev/null and b/buildroot/share/vscode/AutoBuildMarlin/resources/view_command_palette.png differ diff --git a/buildroot/share/vscode/AutoBuildMarlin/tsconfig.json b/buildroot/share/vscode/AutoBuildMarlin/tsconfig.json new file mode 100644 index 000000000000..58c698568f0b --- /dev/null +++ b/buildroot/share/vscode/AutoBuildMarlin/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "outDir": "out", + "lib": [ + "es6" + ], + "sourceMap": true, + "rootDir": "." + } +} diff --git a/docs/Bresenham.md b/docs/Bresenham.md new file mode 100644 index 000000000000..59a215096490 --- /dev/null +++ b/docs/Bresenham.md @@ -0,0 +1,269 @@ +On the Bresenham algorithm as implemented by Marlin: +(Taken from (https://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html) + +The basic Bresenham algorithm: + +Consider drawing a line on a raster grid where we restrict the allowable slopes of the line to the range 0 <= m <= 1 + +If we further restrict the line-drawing routine so that it always increments x as it plots, it becomes clear that, having plotted a point at (x,y), the routine has a severely limited range of options as to where it may put the next point on the line: + +- It may plot the point (x+1,y), or: +- It may plot the point (x+1,y+1). + +So, working in the first positive octant of the plane, line drawing becomes a matter of deciding between two possibilities at each step. + +We can draw a diagram of the situation which the plotting program finds itself in having plotted (x,y). + +``` + y+1 +--------------* + | / + | / + | / + | / + | y+e+m*--------+- + | /| ^ | + | / | |m | + | / | | | + | / | v | + | y+e*----|----- |m+ε + | /| | ^ | + | / | | |ε | + | / | | | | + |/ | | v v + y *----+----+----------+-- + x x+1 +``` + +In plotting (x,y) the line drawing routine will, in general, be making a compromise between what it would like to draw and what the resolution of the stepper motors actually allows it to draw. Usually the plotted point (x,y) will be in error, the actual, mathematical point on the line will not be addressable on the pixel grid. So we associate an error, ε, with each y ordinate, the real value of y should be y+ε . This error will range from -0.5 to just under +0.5. + +In moving from x to x+1 we increase the value of the true (mathematical) y-ordinate by an amount equal to the slope of the line, m. We will choose to plot (x+1,y) if the difference between this new value and y is less than 0.5 + +``` +y + ε + m < y + 0.5 +``` + +Otherwise we will plot (x+1,y+1). It should be clear that by so doing we minimize the total error between the mathematical line segment and what actually gets drawn on the display. + +The error resulting from this new point can now be written back into ε, this will allow us to repeat the whole process for the next point along the line, at x+2. + +The new value of error can adopt one of two possible values, depending on what new point is plotted. If (x+1,y) is chosen, the new value of error is given by: + +``` +ε[new] = (y + ε + m) - y +``` + +Otherwise, it is: + +``` +ε[new] = (y + ε + m) - (y + 1) +``` + +This gives an algorithm for a DDA which avoids rounding operations, instead using the error variable ε to control plotting: + +``` + ε = 0, y = y[1] + for x = x1 to x2 do + Plot point at (x,y) + if (ε + m < 0.5) + ε = ε + m + else + y = y + 1, ε = ε + m - 1 + endif + endfor +``` + +This still employs floating point values. Consider, however, what happens if we multiply across both sides of the plotting test by Δx and then by 2: + +``` + ε + m < 0.5 + ε + Δy/Δx < 0.5 +2.ε.Δx + 2.Δy < Δx +``` + +All quantities in this inequality are now integral. + +Substitute ε' for ε.Δx . The test becomes: + +``` +2.(ε' + Δy) < Δx +``` + +This gives an integer-only test for deciding which point to plot. + +The update rules for the error on each step may also be cast into ε' form. Consider the floating-point versions of the update rules: + +``` +ε = ε + m +ε = ε + m - 1 +``` + + Multiplying through by Δx yields: + +``` +ε.Δx = ε.Δx + Δy +ε.Δx = ε.Δx + Δy - Δx +``` + +Which is in ε' form: + +``` +ε' = ε' + Δy +ε' = ε' + Δy - Δx +``` + +Using this new ``error'' value, ε' with the new test and update equations gives Bresenham's integer-only line drawing algorithm: + +``` +ε' = 0, y = y[1] +for x = x1 to x2 do + Plot point at (x,y) + if (2.(ε' + Δy) < Δx) + ε' = ε' + Δy + else + y = y + 1, ε' = ε' + Δy - Δx + endif +endfor +``` + +It is a Integer only algorithm - hence efficient (fast). And the Multiplication by 2 can be implemented by left-shift. 0 <= m <= 1 + +### Oversampling Bresenham algorithm: + +Even if Bresenham does NOT lose steps at all, and also does NOT accumulate error, there is a concept i would call "time resolution" - If the quotient between major axis and minor axis (major axis means, in this context, the axis that must create more step pulses compared with the other ones, including the extruder) + +Well, if the quotient result is not an integer, then Bresenham, at some points in the movement of the major axis, must decide that it has to move the minor axis. It is done in such way that after the full major axis movement has executed, it also has executed the full movements of the minor axis. And the minor axis steps were properly distributed evenly along the major axis movement. So good so far. + +But, as said, Bresenham has "discrete" decision points: It can only decide to move (or not to move) minor axis exactly at the moment the major axis moves. And that is not the ideal point (in time) usually. + +With slow movements that are composed of a similar, but not equal number of steps in all axes, the problem worsens, as the decision points are distributed very sparsely, and there are large delays between those decision points. + +It is nearly trivial to extend Bresenham to "oversample" in that situation: Let's do it: + +Assume that we want to use Bresenham to calculate when to step (move in Y direction), but we want to do it, not for integer increments of the X axis, rather than, for fractional increments. + +Let's call 'r' the count of subdivisions we want to split an integer increment of the X axis: + +``` +m = Δy/Δx = increment of y due to the increment of x1 +``` + +Every time we move `1/r` in the X axis, then the Y axis should move `m.1/r` + +But, as stated previously, due to the resolution of the screen, there are 2 choices: + +- It may plot the point `(x+(1/r),y)`, or: +- It may plot the point `(x+(1/r),y+1)`. + +That decision must be made keeping the error as small as possible: + +``` +-0.5 < ε < 0.5 +``` + +So, the proper condition for that decision is (`m/r` is the increment of y due to the fractional `1/r` increment of `x`): + +``` +y + ε + m/r < y + 0.5 +ε + m/r < 0.5 [1] +``` + +Once we did the decision, then the error update conditions are: + +Decision A: +``` +ε[new] = y + ε + m/r - y +ε[new] = ε + m/r [2] +``` + +Decision B: +``` +ε[new] = y + ε + m/r - (y+1) +ε[new] = ε + m/r - 1 [3] +``` + +We replace m in the decision inequality [1] by its definition: + +``` +ε + m/r < 0.5 +ε + ΔY/(ΔX*r) < 0.5 +``` + +Then, we multiply it by `2.Δx.r`: + +``` +ε + ΔY/(ΔX*r) < 0.5 +2.ΔX.ε.r + 2.ΔY < ΔX.r +``` + +If we define `ε' = 2.ε.ΔX.r` then it becomes: + +``` +ε' + 2.ΔY < ΔX.r [4] +``` + +Now, for the update rules, we multiply by 2.r.ΔX + +``` +ε[new] = ε + m/r +2.r.ΔX.ε[new] = 2.r.ΔX.ε + 2.r.ΔX.ΔY/ΔX/r +2.r.ΔX.ε[new] = 2.r.ΔX.ε + 2.ΔY +ε'[new] = ε' + 2.ΔY [6] +``` + +``` +ε[new] = ε + m/r - 1 +2.r.ΔX.ε[new] = 2.r.ΔX.ε + 2.r.ΔX.ΔY/ΔX/r - 1 . 2.r.ΔX +2.r.ΔX.ε[new] = 2.r.ΔX.ε + 2.ΔY - 2.ΔX.r +ε'[new] = ε' + 2.ΔY - 2.ΔX.r [7] +``` + +All expressions, the decision inequality [4], and the update equations [5] and [6] are integer valued. There is no need for floating point arithmetic at all. + +Summarizing: + +``` +Condition equation: + + ε' + 2.ΔY < ΔX.r [4] + +Error update equations: + + ε'[new] = ε' + 2.ΔY [6] + + ε'[new] = ε' + 2.ΔY - 2.ΔX.r [7] +``` + +This can be implemented in C as: + +```cpp + class OversampledBresenham { + private: + long divisor, // stepsX + dividend, // stepsY + advanceDivisor, // advanceX + advanceDividend; // advanceY + int errorAccumulator; // Error accumulator + + public: + unsigned int ticker; + + OversampledBresenhan(const long& inDividend, const long& inDivisor, int rate) { + ticker = 0; + divisor = inDivisor; + dividend = inDividend; + advanceDivisor = divisor * 2 * rate; + advanceDividend = dividend * 2; + errorAccumulator = -divisor * rate; + } + + bool tick() { + errorAccumulator += advanceDividend; + const bool over = errorAccumulator >= 0; + if (over) { + ticker++; + errorAccumulator -= advanceDivisor; + } + return over; + } + }; +``` diff --git a/frameworks/CMSIS/LPC1768/lib/Print.h b/frameworks/CMSIS/LPC1768/lib/Print.h index 501cce612fa1..283ed6d472d7 100644 --- a/frameworks/CMSIS/LPC1768/lib/Print.h +++ b/frameworks/CMSIS/LPC1768/lib/Print.h @@ -40,7 +40,8 @@ class Print { void setWriteError(const int err = 1) { write_error = err; } public: Print() : write_error(0) {} - + virtual ~Print() {} + int getWriteError() { return write_error; } void clearWriteError() { setWriteError(0); } @@ -74,7 +75,7 @@ class Print { size_t println(double, int = 2); size_t println(const Printable&); size_t println(void); - size_t printf(const char *argList, ...); + virtual size_t printf(const char *argList, ...); }; #endif // _CMSIS_PRINT_H_ diff --git a/frameworks/CMSIS/LPC1768/lib/Stream.h b/frameworks/CMSIS/LPC1768/lib/Stream.h index a0be7a9e6056..680f584da84c 100644 --- a/frameworks/CMSIS/LPC1768/lib/Stream.h +++ b/frameworks/CMSIS/LPC1768/lib/Stream.h @@ -47,9 +47,9 @@ class Stream : public Print int peekNextDigit(); // returns the next numeric digit in the stream or -1 if timeout public: - virtual int available() = 0; - virtual int read() = 0; - virtual int peek() = 0; + virtual size_t available() = 0; + virtual int16_t read() = 0; // signed int required for error (empty buffer) value + virtual int16_t peek() = 0; virtual void flush() = 0; Stream() {_timeout=1000;} diff --git a/frameworks/CMSIS/LPC1768/lib/usb/cdcuser.cpp b/frameworks/CMSIS/LPC1768/lib/usb/cdcuser.cpp index a5b96c6f08a1..4f6f0a337a4a 100644 --- a/frameworks/CMSIS/LPC1768/lib/usb/cdcuser.cpp +++ b/frameworks/CMSIS/LPC1768/lib/usb/cdcuser.cpp @@ -39,7 +39,6 @@ unsigned short CDC_DepInEmpty = 1; // Data IN EP is empty unsigned short CDC_LineState = 0; unsigned short CDC_SerialState = 0; - extern HalSerial usb_serial; /*---------------------------------------------------------------------------- write data to CDC_OutBuf @@ -52,6 +51,9 @@ uint32_t CDC_WrOutBuf(const char *buffer, uint32_t *length) { bytesWritten = bytesToWrite; while (bytesToWrite) { + #if ENABLED(EMERGENCY_PARSER) + emergency_parser.update(usb_serial.emergency_state, *buffer); + #endif usb_serial.receive_buffer.write(*buffer++); // Copy Data to buffer bytesToWrite--; } @@ -209,7 +211,7 @@ void CDC_BulkIn(void) { if (numBytesAvail > 0) { numBytesAvail = numBytesAvail > (USB_CDC_BUFSIZE - 1) ? (USB_CDC_BUFSIZE - 1) : numBytesAvail; for(uint32_t i = 0; i < numBytesAvail; ++i) { - BulkBufIn[i] = usb_serial.transmit_buffer.read(); //todo: optimise + usb_serial.transmit_buffer.read(&BulkBufIn[i]); } USB_WriteEP(CDC_DEP_IN, &BulkBufIn[0], numBytesAvail); } else { diff --git a/frameworks/CMSIS/LPC1768/lib/usb/usbhw.cpp b/frameworks/CMSIS/LPC1768/lib/usb/usbhw.cpp index 8fa8f829e9e1..379baca15cb0 100644 --- a/frameworks/CMSIS/LPC1768/lib/usb/usbhw.cpp +++ b/frameworks/CMSIS/LPC1768/lib/usb/usbhw.cpp @@ -563,8 +563,7 @@ uint32_t USB_DMA_Status (uint32_t EPNum) { uint32_t ptr, val; ptr = UDCA[EPAdr(EPNum)]; /* Current Descriptor */ - if (ptr == 0) - return (USB_DMA_INVALID); + if (ptr == 0) return (USB_DMA_INVALID); val = *((uint32_t *)(ptr + 3*4)); /* Status Information */ switch ((val >> 1) & 0x0F) { @@ -596,13 +595,8 @@ uint32_t USB_DMA_Status (uint32_t EPNum) { uint32_t USB_DMA_BufAdr (uint32_t EPNum) { uint32_t ptr, val; - ptr = UDCA[EPAdr(EPNum)]; /* Current Descriptor */ - if (ptr == 0) - { - return ((uint32_t)(-1)); /* DMA Invalid */ - } - + if (ptr == 0) return ((uint32_t)(-1)); /* DMA Invalid */ val = *((uint32_t *)(ptr + 2*4)); /* Buffer Address */ return (val); /* Current Address */ } @@ -619,12 +613,8 @@ uint32_t USB_DMA_BufAdr (uint32_t EPNum) { uint32_t USB_DMA_BufCnt (uint32_t EPNum) { uint32_t ptr, val; - ptr = UDCA[EPAdr(EPNum)]; /* Current Descriptor */ - if (ptr == 0) - { - return ((uint32_t)(-1)); /* DMA Invalid */ - } + if (ptr == 0) return ((uint32_t)(-1)); /* DMA Invalid */ val = *((uint32_t *)(ptr + 3*4)); /* Status Information */ return (val >> 16); /* Current Count */ } @@ -695,7 +685,7 @@ void USB_IRQHandler (void) { #if USB_SOF_EVENT /* Start of Frame Interrupt */ if (disr & FRAME_INT) { - LPC_USB->USBDevIntClr = FRAME_INT; + LPC_USB->USBDevIntClr = FRAME_INT; USB_SOF_Event(); } #endif @@ -703,7 +693,7 @@ void USB_IRQHandler (void) { #if USB_ERROR_EVENT /* Error Interrupt */ if (disr & ERR_INT) { - LPC_USB->USBDevIntClr = ERR_INT; + LPC_USB->USBDevIntClr = ERR_INT; WrCmd(CMD_RD_ERR_STAT); val = RdCmdDat(DAT_RD_ERR_STAT); USB_Error_Event(val); diff --git a/frameworks/CMSIS/LPC1768/Re-ARM/LPC1768.ld b/frameworks/CMSIS/LPC1768/system/LPC1768.ld similarity index 100% rename from frameworks/CMSIS/LPC1768/Re-ARM/LPC1768.ld rename to frameworks/CMSIS/LPC1768/system/LPC1768.ld diff --git a/frameworks/CMSIS/LPC1768/Re-ARM/startup_LPC17xx.S b/frameworks/CMSIS/LPC1768/system/startup_LPC17xx.S similarity index 100% rename from frameworks/CMSIS/LPC1768/Re-ARM/startup_LPC17xx.S rename to frameworks/CMSIS/LPC1768/system/startup_LPC17xx.S diff --git a/frameworks/CMSIS/LPC1768/Re-ARM/system_LPC17xx.c b/frameworks/CMSIS/LPC1768/system/system_LPC17xx.c similarity index 99% rename from frameworks/CMSIS/LPC1768/Re-ARM/system_LPC17xx.c rename to frameworks/CMSIS/LPC1768/system/system_LPC17xx.c index a4ab913a426b..dd3163ed0808 100644 --- a/frameworks/CMSIS/LPC1768/Re-ARM/system_LPC17xx.c +++ b/frameworks/CMSIS/LPC1768/system/system_LPC17xx.c @@ -499,7 +499,7 @@ void SystemCoreClockUpdate (void) /* Get Core Clock Frequency */ } // detect 17x[4-8] (100MHz) or 17x9 (120MHz) -static int can_120MHz() { +int isLPC1769() { #define IAP_LOCATION 0x1FFF1FF1 uint32_t command[1]; uint32_t result[5]; @@ -558,7 +558,7 @@ void SystemInit (void) LPC_SC->CCLKCFG = 0x00000002; /* Setup CPU Clock Divider */ - if(can_120MHz()) { + if(isLPC1769()) { LPC_SC->PLL0CFG = 0x0000000E; /* configure PLL0 */ LPC_SC->PLL0FEED = 0xAA; LPC_SC->PLL0FEED = 0x55; diff --git a/frameworks/CMSIS/library.json b/frameworks/CMSIS/library.json index 7b30a2f2037d..3af411e290bb 100644 --- a/frameworks/CMSIS/library.json +++ b/frameworks/CMSIS/library.json @@ -11,8 +11,7 @@ "src_filter": "+", "flags": [ "-ILPC1768/include", - "-ILPC1768/lib", - "-Wl,-Tframeworks/CMSIS/LPC1768/Re-ARM/LPC1768.ld,--gc-sections" + "-ILPC1768/lib" ] } } diff --git a/platformio.ini b/platformio.ini index 2ef554daa2ae..ba543e4f6056 100644 --- a/platformio.ini +++ b/platformio.ini @@ -16,10 +16,11 @@ # [platformio] -src_dir = Marlin -build_dir = .pioenvs -lib_dir = .piolib +src_dir = Marlin +build_dir = .pioenvs +lib_dir = .piolib libdeps_dir = .piolibdeps +boards_dir = buildroot/share/PlatformIO/boards env_default = megaatmega2560 [common] @@ -29,12 +30,12 @@ build_flags = -fmax-errors=5 -ggdb lib_deps = https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip - LiquidCrystal_I2C@1.1.2 + LiquidCrystal@1.3.4 TMC2130Stepper https://github.com/teemuatlut/TMC2208Stepper/archive/v0.1.1.zip Adafruit NeoPixel@1.1.3 https://github.com/lincomatic/LiquidTWI2/archive/30aa480.zip - https://github.com/ameyer/Arduino-L6470/archive/0c5e5de.zip + https://github.com/ameyer/Arduino-L6470/archive/master.zip https://github.com/trinamic/TMC26XStepper/archive/c1921b4.zip ################################# @@ -51,27 +52,62 @@ lib_deps = # ATmega2560 # [env:megaatmega2560] -platform = atmelavr -framework = arduino -board = megaatmega2560 -build_flags = ${common.build_flags} -board_f_cpu = 16000000L -lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} -monitor_baud = 250000 +platform = atmelavr +framework = arduino +board = megaatmega2560 +build_flags = ${common.build_flags} +board_build.f_cpu = 16000000L +lib_deps = ${common.lib_deps} +src_filter = ${common.default_src_filter} +monitor_speed = 250000 # # ATmega1280 # [env:megaatmega1280] -platform = atmelavr -framework = arduino -board = megaatmega1280 -build_flags = ${common.build_flags} -board_f_cpu = 16000000L -lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} -monitor_baud = 250000 +platform = atmelavr +framework = arduino +board = megaatmega1280 +build_flags = ${common.build_flags} +board_build.f_cpu = 16000000L +lib_deps = ${common.lib_deps} +src_filter = ${common.default_src_filter} +monitor_speed = 250000 + +# +# AT90USB1286 boards using CDC bootloader +# - BRAINWAVE +# - BRAINWAVE_PRO +# - SAV_MKI +# - TEENSYLU +# +[env:at90usb1286_cdc] +platform = teensy +framework = arduino +board = at90usb1286 +build_flags = ${common.build_flags} +lib_deps = ${common.lib_deps} +lib_ldf_mode = deep+ +src_filter = ${common.default_src_filter} +extra_scripts = pre:buildroot/share/atom/create_custom_upload_command_CDC.py +monitor_speed = 250000 + +# +# AT90USB1286 boards using DFU bootloader +# - PrintrBoard +# - PrintrBoard Rev.F +# - ? 5DPRINT ? +# +[env:at90usb1286_dfu] +platform = teensy +framework = arduino +board = at90usb1286 +build_flags = ${common.build_flags} +lib_deps = ${common.lib_deps} +lib_ldf_mode = deep+ +src_filter = ${common.default_src_filter} +extra_scripts = pre:buildroot/share/atom/create_custom_upload_command_DFU.py +monitor_speed = 250000 # # Due (Atmel SAM3X8E ARM Cortex-M3) @@ -80,78 +116,58 @@ monitor_baud = 250000 # - RADDS # [env:DUE] -platform = atmelsam -framework = arduino -board = due -build_flags = ${common.build_flags} -lib_deps = ${common.lib_deps} -lib_ignore = c1921b4 -src_filter = ${common.default_src_filter} -monitor_baud = 250000 +platform = atmelsam +framework = arduino +board = due +build_flags = ${common.build_flags} +lib_deps = ${common.lib_deps} +lib_ignore = c1921b4 +src_filter = ${common.default_src_filter} +monitor_speed = 250000 [env:DUE_USB] -platform = atmelsam -framework = arduino -board = dueUSB -build_flags = ${common.build_flags} -lib_deps = ${common.lib_deps} -lib_ignore = c1921b4 -src_filter = ${common.default_src_filter} -monitor_baud = 250000 +platform = atmelsam +framework = arduino +board = dueUSB +build_flags = ${common.build_flags} +lib_deps = ${common.lib_deps} +lib_ignore = c1921b4 +src_filter = ${common.default_src_filter} +monitor_speed = 250000 [env:DUE_debug] # Used when WATCHDOG_RESET_MANUAL is enabled -platform = atmelsam -framework = arduino -board = due -build_flags = ${common.build_flags} - -funwind-tables +platform = atmelsam +framework = arduino +board = due +build_flags = ${common.build_flags} + -funwind-tables -mpoke-function-name -lib_deps = ${common.lib_deps} -lib_ignore = c1921b4 -src_filter = ${common.default_src_filter} -monitor_baud = 250000 +lib_deps = ${common.lib_deps} +lib_ignore = c1921b4 +src_filter = ${common.default_src_filter} +monitor_speed = 250000 # # NXP LPC1768 ARM Cortex-M3 # [env:LPC1768] -platform = nxplpc -board = lpc1768 -board_f_cpu = 100000000L -build_flags = !python Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py - ${common.build_flags} - -DU8G_HAL_LINKS -src_build_flags = -Wall -build_unflags = -Wall -lib_ldf_mode = off -lib_extra_dirs = frameworks -lib_deps = CMSIS-LPC1768 +platform = nxplpc +board = lpc1768 +board_build.f_cpu = 100000000L +# Override default maximum RAM. LPC1768/9 do have 64k, but in 3 blocks (32K, 16K, 16K). +# The first 32k block is used by default, while the others must be specifically targeted. +board_upload.maximum_ram_size = 32768 +build_flags = !python Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py ${common.build_flags} +build_unflags = -Wall +lib_ldf_mode = off +lib_extra_dirs = frameworks +lib_deps = CMSIS-LPC1768 https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip TMC2130Stepper@>=2.2.1 -extra_scripts = Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py -src_filter = ${common.default_src_filter} -monitor_baud = 250000 - -# -# LPC1768 (for debugging and development) -# -[env:LPC1768_debug_and_upload] -# Segger JLink -platform = nxplpc -#framework = mbed -board = lpc1768 -board_f_cpu = 100000000L -build_flags = !python Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py - ${common.build_flags} - -DU8G_HAL_LINKS -lib_ldf_mode = off -lib_extra_dirs = frameworks -lib_deps = CMSIS-LPC1768 - https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip -src_filter = ${common.default_src_filter} -extra_scripts = Marlin/src/HAL/HAL_LPC1768/debug_extra_script.py, Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py -monitor_baud = 250000 -debug_tool = custom -debug_server = +extra_scripts = Marlin/src/HAL/HAL_LPC1768/debug_extra_script.py, Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py, Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py +src_filter = ${common.default_src_filter} +monitor_speed = 250000 +debug_tool = custom +debug_server = C:\Program Files (x86)\SEGGER\JLink_V618d\JLinkGDBServerCL.exe -select USB -port 2331 @@ -164,73 +180,76 @@ debug_server = # Melzi and clones (ATmega1284p) # [env:melzi] -platform = atmelavr -framework = arduino -board = sanguino_atmega1284p -build_flags = ${common.build_flags} -upload_speed = 57600 -lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} -monitor_baud = 250000 +platform = atmelavr +framework = arduino +board = sanguino_atmega1284p +build_flags = ${common.build_flags} +upload_speed = 57600 +lib_deps = ${common.lib_deps} +src_filter = ${common.default_src_filter} +monitor_speed = 250000 # # Melzi and clones (Optiboot bootloader) # [env:melzi_optiboot] -platform = atmelavr -framework = arduino -board = sanguino_atmega1284p -build_flags = ${common.build_flags} -upload_speed = 115200 -lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} -monitor_baud = 250000 +platform = atmelavr +framework = arduino +board = sanguino_atmega1284p +build_flags = ${common.build_flags} +upload_speed = 115200 +lib_deps = ${common.lib_deps} +src_filter = ${common.default_src_filter} +monitor_speed = 250000 # # RAMBo # [env:rambo] -platform = atmelavr -framework = arduino -board = reprap_rambo -build_flags = ${common.build_flags} -board_f_cpu = 16000000L -lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} -monitor_baud = 250000 +platform = atmelavr +framework = arduino +board = reprap_rambo +build_flags = ${common.build_flags} +board_build.f_cpu = 16000000L +lib_deps = ${common.lib_deps} +src_filter = ${common.default_src_filter} +monitor_speed = 250000 # # Sanguinololu (ATmega644p) # [env:sanguino_atmega644p] -platform = atmelavr -framework = arduino -board = sanguino_atmega644p -build_flags = ${common.build_flags} -lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} -monitor_baud = 250000 +platform = atmelavr +framework = arduino +board = sanguino_atmega644p +build_flags = ${common.build_flags} +lib_deps = ${common.lib_deps} +src_filter = ${common.default_src_filter} +monitor_speed = 250000 # # Sanguinololu (ATmega1284p) # [env:sanguino_atmega1284p] -platform = atmelavr -framework = arduino -board = sanguino_atmega1284p -build_flags = ${common.build_flags} -lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} -monitor_baud = 250000 +platform = atmelavr +framework = arduino +board = sanguino_atmega1284p +build_flags = ${common.build_flags} +lib_deps = ${common.lib_deps} +src_filter = ${common.default_src_filter} +monitor_speed = 250000 +# +# STM32F103RE +# [env:STM32F1] -platform = ststm32 -framework = arduino -board = genericSTM32F103RE -build_flags = !python Marlin/src/HAL/HAL_STM32F1/stm32f1_flag_script.py +platform = ststm32 +framework = arduino +board = genericSTM32F103RE +build_flags = !python Marlin/src/HAL/HAL_STM32F1/stm32f1_flag_script.py ${common.build_flags} -lib_deps = ${common.lib_deps} -lib_ignore = U8glib-HAL +lib_deps = ${common.lib_deps} +lib_ignore = U8glib-HAL c1921b4 libf3c lib066 @@ -238,37 +257,69 @@ lib_ignore = U8glib-HAL Adafruit NeoPixel libf3e TMC26XStepper -lib_ldf_mode = 1 -src_filter = ${common.default_src_filter} -monitor_baud = 250000 +lib_ldf_mode = 1 +src_filter = ${common.default_src_filter} +monitor_speed = 250000 # -# Teensy++ 2.0 +# STM32F4 # -# - PrintrBoard -# - PrintrBoard Rev.F -# - Brainwave Pro -# -[env:teensy20] -platform = teensy +[env:STM32F4] +platform = ststm32 framework = arduino -board = teensy20pp -build_flags = ${common.build_flags} -#board_f_cpu = 20000000L ; Bug in Arduino framework disallows boards running at 20Mhz +board = disco_f407vg +build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB lib_deps = ${common.lib_deps} -lib_ldf_mode = deep+ +lib_ignore = Adafruit NeoPixel, c1921b4, TMC2130Stepper src_filter = ${common.default_src_filter} -monitor_baud = 250000 +monitor_speed = 250000 # # Teensy 3.5 / 3.6 (ARM Cortex-M4) # [env:teensy35] -platform = teensy -framework = arduino -board = teensy35 -build_flags = ${common.build_flags} -lib_deps = ${common.lib_deps} -lib_ignore = Adafruit NeoPixel -src_filter = ${common.default_src_filter} -monitor_baud = 250000 +platform = teensy +framework = arduino +board = teensy35 +build_flags = ${common.build_flags} +lib_deps = ${common.lib_deps} +lib_ignore = Adafruit NeoPixel +src_filter = ${common.default_src_filter} +monitor_speed = 250000 + +[env:malyanm200] +platform = ststm32 +framework = arduino +board = malyanM200 +build_flags = !python Marlin/src/HAL/HAL_STM32F1/stm32f1_flag_script.py -DMCU_STM32F103CB -D __STM32F1__=1 -std=c++1y -D MOTHERBOARD="BOARD_MALYAN_M200" -DSERIAL_USB -ffunction-sections -fdata-sections -Wl,--gc-sections +src_filter = ${common.default_src_filter} +#- +lib_ignore = + U8glib + LiquidCrystal_I2C + LiquidCrystal + NewliquidCrystal + LiquidTWI2 + Adafruit NeoPixel + TMC2130Stepper + Servo(STM32F1) + TMC26XStepper + U8glib-HAL + TMC2208Stepper + c1921b4 + +# +# Espressif ESP32 +# +[env:esp32] +platform = https://github.com/platformio/platform-espressif32.git#feature/stage +board = esp32dev +framework = arduino +upload_port = COM3 +lib_ignore = + LiquidCrystal_I2C + LiquidCrystal + NewliquidCrystal + LiquidTWI2 + TMC26XStepper + c1921b4 diff --git a/process-palette.json b/process-palette.json new file mode 100644 index 000000000000..8b68981584ae --- /dev/null +++ b/process-palette.json @@ -0,0 +1,357 @@ +{ + "patterns": { + "P1": { + "expression": "(path):(line)" + }, + "P2": { + "expression": "(path)\\s+(line)", + "path": "(?:\\/[\\w\\.\\-]+)+" + } + }, + "commands": [ + { + "namespace": "process-palette", + "action": "PIO Build", + "command": "python buildroot/share/atom/auto_build.py build", + "arguments": [], + "cwd": "{projectPath}", + "inputDialogs": [], + "env": {}, + "keystroke": null, + "stream": true, + "outputTarget": "panel", + "outputBufferSize": 80000, + "maxCompleted": 3, + "autoShowOutput": true, + "autoHideOutput": false, + "scrollLockEnabled": false, + "singular": true, + "promptToSave": true, + "saveOption": "none", + "patterns": [ + "default" + ], + "successOutput": "{stdout}", + "errorOutput": "{stdout}\n{stderr}", + "fatalOutput": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "startMessage": "", + "successMessage": "Executed : {fullCommand}", + "errorMessage": "Executed : {fullCommand}\nReturned with code {exitStatus}\n{stderr}", + "fatalMessage": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "menus": [ + "Auto Build" + ], + "startScript": null, + "successScript": null, + "errorScript": null, + "scriptOnStart": false, + "scriptOnSuccess": false, + "scriptOnError": false, + "notifyOnStart": false, + "notifyOnSuccess": true, + "notifyOnError": true, + "input": null + }, + { + "namespace": "process-palette", + "action": "PIO Clean", + "command": "python buildroot/share/atom/auto_build.py clean", + "arguments": [], + "cwd": "{projectPath}", + "inputDialogs": [], + "env": {}, + "keystroke": null, + "stream": true, + "outputTarget": "panel", + "outputBufferSize": 80000, + "maxCompleted": 3, + "autoShowOutput": true, + "autoHideOutput": false, + "scrollLockEnabled": false, + "singular": false, + "promptToSave": true, + "saveOption": "none", + "patterns": [ + "default" + ], + "successOutput": "{stdout}", + "errorOutput": "{stdout}\n{stderr}", + "fatalOutput": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "startMessage": null, + "successMessage": "Executed : {fullCommand}", + "errorMessage": "Executed : {fullCommand}\nReturned with code {exitStatus}\n{stderr}", + "fatalMessage": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "menus": [ + "Auto Build" + ], + "startScript": null, + "successScript": null, + "errorScript": null, + "scriptOnStart": false, + "scriptOnSuccess": false, + "scriptOnError": false, + "notifyOnStart": false, + "notifyOnSuccess": true, + "notifyOnError": true, + "input": null + }, + { + "namespace": "process-palette", + "action": "PIO Upload", + "command": "python buildroot/share/atom/auto_build.py upload", + "arguments": [], + "cwd": "{projectPath}", + "inputDialogs": [], + "env": {}, + "keystroke": null, + "stream": true, + "outputTarget": "panel", + "outputBufferSize": 80000, + "maxCompleted": 3, + "autoShowOutput": true, + "autoHideOutput": false, + "scrollLockEnabled": false, + "singular": false, + "promptToSave": true, + "saveOption": "none", + "patterns": [ + "default" + ], + "successOutput": "{stdout}", + "errorOutput": "{stdout}\n{stderr}", + "fatalOutput": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "startMessage": null, + "successMessage": "Executed : {fullCommand}", + "errorMessage": "Executed : {fullCommand}\nReturned with code {exitStatus}\n{stderr}", + "fatalMessage": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "menus": [ + "Auto Build" + ], + "startScript": null, + "successScript": null, + "errorScript": null, + "scriptOnStart": false, + "scriptOnSuccess": false, + "scriptOnError": false, + "notifyOnStart": false, + "notifyOnSuccess": true, + "notifyOnError": true, + "input": null + }, + { + "namespace": "process-palette", + "action": "PIO Upload (traceback)", + "command": "python buildroot/share/atom/auto_build.py traceback", + "arguments": [], + "cwd": "{projectPath}", + "inputDialogs": [], + "env": {}, + "keystroke": null, + "stream": true, + "outputTarget": "panel", + "outputBufferSize": 80000, + "maxCompleted": 3, + "autoShowOutput": true, + "autoHideOutput": false, + "scrollLockEnabled": false, + "singular": false, + "promptToSave": true, + "saveOption": "none", + "patterns": [ + "default" + ], + "successOutput": "{stdout}", + "errorOutput": "{stdout}\n{stderr}", + "fatalOutput": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "startMessage": null, + "successMessage": "Executed : {fullCommand}", + "errorMessage": "Executed : {fullCommand}\nReturned with code {exitStatus}\n{stderr}", + "fatalMessage": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "menus": [ + "Auto Build" + ], + "startScript": null, + "successScript": null, + "errorScript": null, + "scriptOnStart": false, + "scriptOnSuccess": false, + "scriptOnError": false, + "notifyOnStart": false, + "notifyOnSuccess": true, + "notifyOnError": true, + "input": null + }, + { + "namespace": "process-palette", + "action": "PIO Upload using Programmer", + "command": "python buildroot/share/atom/auto_build.py program", + "arguments": [], + "cwd": "{projectPath}", + "inputDialogs": [], + "env": {}, + "keystroke": null, + "stream": true, + "outputTarget": "panel", + "outputBufferSize": 80000, + "maxCompleted": 3, + "autoShowOutput": true, + "autoHideOutput": false, + "scrollLockEnabled": false, + "singular": false, + "promptToSave": true, + "saveOption": "none", + "patterns": [ + "default" + ], + "successOutput": "{stdout}", + "errorOutput": "{stdout}\n{stderr}", + "fatalOutput": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "startMessage": null, + "successMessage": "Executed : {fullCommand}", + "errorMessage": "Executed : {fullCommand}\nReturned with code {exitStatus}\n{stderr}", + "fatalMessage": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "menus": [ + "Auto Build" + ], + "startScript": null, + "successScript": null, + "errorScript": null, + "scriptOnStart": false, + "scriptOnSuccess": false, + "scriptOnError": false, + "notifyOnStart": false, + "notifyOnSuccess": true, + "notifyOnError": true, + "input": null + }, + { + "namespace": "process-palette", + "action": "PIO Test", + "command": "python buildroot/share/atom/auto_build.py test", + "arguments": [], + "cwd": "{projectPath}", + "inputDialogs": [], + "env": {}, + "keystroke": null, + "stream": true, + "outputTarget": "panel", + "outputBufferSize": 80000, + "maxCompleted": 3, + "autoShowOutput": true, + "autoHideOutput": false, + "scrollLockEnabled": false, + "singular": false, + "promptToSave": true, + "saveOption": "none", + "patterns": [ + "default" + ], + "successOutput": "{stdout}", + "errorOutput": "{stdout}\n{stderr}", + "fatalOutput": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "startMessage": null, + "successMessage": "Executed : {fullCommand}", + "errorMessage": "Executed : {fullCommand}\nReturned with code {exitStatus}\n{stderr}", + "fatalMessage": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "menus": [ + "Auto Build" + ], + "startScript": null, + "successScript": null, + "errorScript": null, + "scriptOnStart": false, + "scriptOnSuccess": false, + "scriptOnError": false, + "notifyOnStart": false, + "notifyOnSuccess": true, + "notifyOnError": true, + "input": null + }, + { + "namespace": "process-palette", + "action": "PIO Debug", + "command": "python buildroot/share/atom/auto_build.py debug", + "arguments": [], + "cwd": "{projectPath}", + "inputDialogs": [], + "env": {}, + "keystroke": null, + "stream": true, + "outputTarget": "panel", + "outputBufferSize": 80000, + "maxCompleted": 3, + "autoShowOutput": true, + "autoHideOutput": false, + "scrollLockEnabled": false, + "singular": false, + "promptToSave": true, + "saveOption": "none", + "patterns": [ + "default" + ], + "successOutput": "{stdout}", + "errorOutput": "{stdout}\n{stderr}", + "fatalOutput": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "startMessage": null, + "successMessage": "Executed : {fullCommand}", + "errorMessage": "Executed : {fullCommand}\nReturned with code {exitStatus}\n{stderr}", + "fatalMessage": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "menus": [ + "Auto Build" + ], + "startScript": null, + "successScript": null, + "errorScript": null, + "scriptOnStart": false, + "scriptOnSuccess": false, + "scriptOnError": false, + "notifyOnStart": false, + "notifyOnSuccess": true, + "notifyOnError": true, + "input": null + }, + { + "namespace": "process-palette", + "action": "PIO Remote", + "command": "python buildroot/share/atom/auto_build.py remote", + "arguments": [], + "cwd": "{projectPath}", + "inputDialogs": [], + "env": {}, + "keystroke": null, + "stream": true, + "outputTarget": "panel", + "outputBufferSize": 80000, + "maxCompleted": 3, + "autoShowOutput": true, + "autoHideOutput": false, + "scrollLockEnabled": false, + "singular": false, + "promptToSave": true, + "saveOption": "none", + "patterns": [ + "default" + ], + "successOutput": "{stdout}", + "errorOutput": "{stdout}\n{stderr}", + "fatalOutput": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "startMessage": null, + "successMessage": "Executed : {fullCommand}", + "errorMessage": "Executed : {fullCommand}\nReturned with code {exitStatus}\n{stderr}", + "fatalMessage": "Failed to execute : {fullCommand}\n{stdout}\n{stderr}", + "menus": [ + "Auto Build" + ], + "startScript": null, + "successScript": null, + "errorScript": null, + "scriptOnStart": false, + "scriptOnSuccess": false, + "scriptOnError": false, + "notifyOnStart": false, + "notifyOnSuccess": true, + "notifyOnError": true, + "input": null + } + ] +}